@chamn/engine 0.5.0 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -137,7 +137,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
137
137
  data struct format is invalidate`);return o.message||n?console.warn(`${o.message||n}
138
138
  originData: ${JSON.stringify(t)}`):console.warn(`${JSON.stringify(t)}
139
139
  data struct format is invalidate`),o},Fw=e=>{const{data:t,message:n,throwError:r,dataStruct:o}=e;return Iie(({data:i})=>{try{return CL(i,o),{isValidate:!0}}catch(a){let s=a;return a instanceof SL&&(s=a.failures().map(l=>`【${l.path.join(".")}】: ${l.message}
140
- `)),{isValidate:!1,message:s,error:a}}})({data:t,message:n,throwError:r})};var Cs=(e=>(e.ROOT_CONTAINER="RootContainer",e))(Cs||{});const Lie=Xe({type:Dn(_n.FUNCTION),value:ce()}),$ie=Lw(_L(Ya,["componentName"]),Xe({componentName:Dn("RootContainer")}));function Die(e){return{all:e=e||new Map,on:function(t,n){var r=e.get(t);r?r.push(n):e.set(t,[n])},off:function(t,n){var r=e.get(t);r&&(n?r.splice(r.indexOf(n)>>>0,1):e.set(t,[]))},emit:function(t,n){var r=e.get(t);r&&r.slice().map(function(o){o(n)}),(r=e.get("*"))&&r.slice().map(function(o){o(t,n)})}}}const Sc=Die(),zie=(e,t)=>{const n={...e,value:[]},r=e.value;let o=new Qa([]);return t&&(o=t.materialsMode||new Qa([])),r&&(Tt(r)?n.value=r.map(i=>new Rt(i,{parent:t,materials:o})):On(r)&&n.value.push(new Rt(r,{parent:t,materials:o}))),n};class Ja{constructor(t,n){Ne(this,"nodeType","SLOT"),Ne(this,"rawData"),Ne(this,"parent"),Ne(this,"emitter",Sc),Ne(this,"data"),Ne(this,"id"),Ne(this,"materialsMode"),this.parent=(n==null?void 0:n.parent)||null,this.rawData=t;const r=(n==null?void 0:n.materials)||new Qa([]);this.materialsMode=r,this.id=ro(),this.data=zie(t,this)}get value(){return this.data}export(t){const n=this.data,r=o=>{if(o instanceof Rt)return o.export(t);if(On(o)){const i={};return Object.keys(o||{}).forEach(a=>{i[a]=r(o[a])}),i}return Tt(o)?o.map(i=>r(i)):(t==="design"&&delete o.id,o)};return r(n)}}const RL=e=>{let t=[];return e.forEach(n=>{const r=n;r.type?r.type===fb.SINGLE?t.push(r.content):r.type===fb.GROUP&&(t=[...t,...RL(r.content)]):t.push(n)}),t},hb=(e,t,n)=>{if(e.type)return e.type===_n.SLOT?new Ja(e,{parent:t,materials:n}):e;if(On(e)){const r={};return Object.keys(e).forEach(o=>{r[o]=pb(e[o],t,n)}),r}else return Array.isArray(e)?e.map(r=>hb(r,t,n)):e},pb=(e,t,n)=>On(e)?hb(e,t,n):Tt(e)?e.map(r=>hb(r,t,n)):e;class ti{constructor(t,n,r){Ne(this,"nodeType","PROP"),Ne(this,"rawData"),Ne(this,"parent"),Ne(this,"emitter",Sc),Ne(this,"data"),Ne(this,"name"),Ne(this,"materialsMode");const o=(r==null?void 0:r.materials)||new Qa([]);this.materialsMode=o,this.parent=r==null?void 0:r.parent,this.rawData=n,this.name=t,this.data=pb(n,this,o)}isIncludeSlot(){return!1}isIncludeExpression(){return!1}get value(){return this.data}updateValue(t){const n=this.data;this.data=pb(t??n,this,this.materialsMode),this.emitter.emit("onPropChange",{value:this.data,preValue:n,node:this}),this.parent&&!(this.parent instanceof Ja)&&this.emitter.emit("onNodeChange",{value:this.parent.value,preValue:this.parent.value,node:this.parent})}get material(){const t=this.parent;if(t instanceof Rt){const n=t.material;return RL((n==null?void 0:n.value.props)||[]).find(r=>r.name===this.name)}else return null}export(t){const n=this.data,r=o=>{if(o instanceof ti||o instanceof Ja||o instanceof Rt)return o.export(t);if(Tt(o))return o.map(i=>r(i));if(On(o)){const i={};return Object.keys(o||{}).forEach(a=>{i[a]=r(o[a])}),i}return o};return r(n)}}const Fie=e=>{if(typeof e=="string")return!0;Fw({data:e,dataStruct:Ya,throwError:!1})},ME=(e,t,n)=>{if(typeof e=="string")return e;const r={...e,id:e.id??ro(),children:[],props:{},methods:e.methods||[],configure:xL(e.configure||{},{propsSetter:{},advanceSetter:{}})},o=Object.keys(e.props||{});return o.length&&o.forEach(i=>{var a;const s=(a=e.props)==null?void 0:a[i];if(s instanceof ti){r.props[i]=s;return}r.props[i]=new ti(i,s||"",{parent:t,materials:n})}),e.children&&(Array.isArray(e.children)?r.children=e.children.map(i=>{if(i instanceof Rt)return i;if(On(i)){const a=i;return new Rt(a,{parent:t,materials:n})}else return i}):(e.children instanceof Rt&&(r.children=[e.children]),r.children=[new Rt(e.children,{parent:t,materials:n})])),r};let Rt=class gb{constructor(t,n){Ne(this,"nodeType","NODE"),Ne(this,"rawData"),Ne(this,"data"),Ne(this,"emitter",Sc),Ne(this,"parent"),Ne(this,"materialsModel"),Ne(this,"listenerHandle"),Ne(this,"onChangeCbQueue"),this.rawData=JSON.parse(JSON.stringify(t)),Fie(t);const r=(n==null?void 0:n.materials)||new Qa([]);this.parent=(n==null?void 0:n.parent)||null,this.materialsModel=r,this.data=ME(t,this,r),this.listenerHandle=[],this.onChangeCbQueue=[],this.registerListener()}registerListener(){const t=n=>{const{node:r}=n;r===this&&r.id===this.id&&this.onChangeCbQueue.forEach(o=>o(n))};this.emitter.on("onNodeChange",t),this.listenerHandle.push(()=>{this.emitter.off("onNodeChange",t)})}onChange(t){return this.onChangeCbQueue.push(t),()=>{this.onChangeCbQueue=this.onChangeCbQueue.filter(n=>n!==t)}}destroy(){this.listenerHandle.forEach(t=>t())}get id(){return this.data.id}get value(){return this.data}clone(t){const n={...this.export("design"),id:t||ro()};return new gb(n,{materials:this.materialsModel})}updateWithPlainObj(t){const n={...this.data,...t};return this.data=ME(n,this,this.materialsModel),n}updateValue(t){const n=this.data,r=this.updateWithPlainObj(t);this.emitter.emit("onNodeChange",{value:r,preValue:n,node:this})}contains(t){return Vw(this,t)}get props(){return this.data.props}get material(){const t=this.materialsModel;return t==null?void 0:t.findByComponentName(this.data.componentName)}getPlainProps(){const t=this.data,n={};return Object.keys(t.props||{}).forEach(r=>{n[r]=t.props[r].export("design")}),n}getMaterialConfig(t){var n;return this.data.configure[t]!==void 0?this.data.configure.isContainer:(n=this.material)==null?void 0:n.value.isContainer}isContainer(){return this.getMaterialConfig("isContainer")}export(t){var n;const r=this.data;if(typeof r=="string")return r;const o={};Object.keys(r.props||{}).forEach(d=>{o[d]=r.props[d].export(t)});const i=(n=r.children)==null?void 0:n.map(d=>d instanceof gb?d.export(t):d),a=r.configure||{},s=a.propsSetter||{},l={};Object.keys(s).forEach(d=>{const f=eL(s,d,!1);f&&(l[d]=f)}),a.propsSetter=l;const c=this.materialsModel.usedMaterials.find(d=>{var f;return d.componentName===((f=this.material)==null?void 0:f.componentName)});this.material&&!c&&this.materialsModel.usedMaterials.push(this.material);let u={...r,configure:a,props:o,children:i,condition:r.condition};return t==="design"&&delete u.id,u=Bw(u),u}};const PE=(e,t,n)=>{const r={...e,id:ro(),props:{},componentName:Cs.ROOT_CONTAINER,children:[],methods:e.methods||[],configure:xL(e.configure||{},{propsSetter:{},advanceSetter:{}}),injectEnvList:e.injectEnvList};let o=[];Tt(e.children)?o=e.children.map(a=>a instanceof Rt?a:On(a)?new Rt(a,{parent:t,materials:n}):a):e.children instanceof Rt?o.push(e.children):e.children&&On(e.children)&&o.push(new Rt(e.children,{parent:t,materials:n}));const i=Object.keys(e.props||{});return i.length&&i.forEach(a=>{var s;const l=(s=e.props)==null?void 0:s[a];l instanceof ti?r.props[a]=l:r.props[a]=new ti(a,l||"",{parent:t,materials:n})}),r.children=o,r};class Kl{constructor(t,{parent:n,materials:r}){Ne(this,"rawData"),Ne(this,"data"),Ne(this,"nodeType",Cs.ROOT_CONTAINER),Ne(this,"emitter",Sc),Ne(this,"materialsModel"),Ne(this,"listenerHandle"),Ne(this,"onChangeCbQueue"),Ne(this,"parent"),this.materialsModel=r,this.rawData=JSON.parse(JSON.stringify(t)),this.data=PE(t,this,r),this.listenerHandle=[],this.onChangeCbQueue=[],this.registerListener(),this.parent=n}registerListener(){const t=n=>{const{node:r}=n;r===this&&r.id===this.id&&this.onChangeCbQueue.forEach(o=>o(n))};this.emitter.on("onNodeChange",t),this.listenerHandle.push(()=>{this.emitter.off("onNodeChange",t)})}onChange(t){return this.onChangeCbQueue.push(t),()=>{this.onChangeCbQueue=this.onChangeCbQueue.filter(n=>n!==t)}}get id(){return this.data.id}get value(){return this.data}get props(){return this.data.props}get material(){const t=this.materialsModel;return t==null?void 0:t.findByComponentName(this.data.componentName)}updateWithPlainObj(t){const n={...this.data,...t};return this.data=PE(n,this,this.materialsModel),n}updateValue(t){const n=this.data;this.updateWithPlainObj(t),this.emitter.emit("onNodeChange",{value:this.data,preValue:n,node:this})}contains(t){return Vw(this,t)}getMaterialConfig(t){var n;return this.data.configure[t]!==void 0?this.data.configure.isContainer:(n=this.material)==null?void 0:n.value.isContainer}isContainer(){return this.getMaterialConfig("isContainer")}export(t=Dw.SAVE){var n;const r=this.data,o={};Object.keys(r.props||{}).forEach(l=>{o[l]=r.props[l].export(t)});const i=((n=r.children)==null?void 0:n.map(l=>{var c;return(c=l==null?void 0:l.export)==null?void 0:c.call(l,t)}))||[],a={...r,props:o,children:i.filter(l=>l),condition:r.condition};let s=wL(a,["id"]);return s=Bw(s),s}getPlainProps(){const t=this.data,n={};return Object.keys(t.props||{}).forEach(r=>{n[r]=t.props[r].export("design")}),n}destroy(){this.listenerHandle.forEach(t=>t())}clone(t){const n={...this.export("design"),id:t||ro()};return new Kl(n,{materials:this.materialsModel,parent:null})}}const pi=e=>(e==null?void 0:e.type)===_n.EXPRESSION,TL=e=>(e==null?void 0:e.type)===_n.FUNCTION,Bie=e=>(e==null?void 0:e.type)===_n.ACTION,ro=()=>Math.random().toString(32).slice(3,9),Vie=e=>(e==null?void 0:e.nodeType)==="NODE",mb=e=>(e==null?void 0:e.nodeType)==="PROP",Hie=e=>(e==null?void 0:e.nodeType)==="SLOT",Bw=e=>fie(e,t=>On(t)?!Object.keys(t).length:Tt(t)?!t.length:!t);function qie(e,t){const n=[e];for(;n.length;){const r=n.shift();if(r&&t(r))return r;const o=(r==null?void 0:r.props)||{},i=s=>{if(s instanceof Rt){n.push(s);return}if(s instanceof Ja&&i(s.value.value),s instanceof ti){i(s.value);return}if(On(s)){const l=s;Object.keys(l).forEach(c=>{i(l[c])});return}if(Tt(s)){s.forEach(l=>{i(l)});return}};i(o);const a=(r==null?void 0:r.value.children.filter(s=>s instanceof Rt))||[];n.push(...a)}}function Vw(e,t){return qie(e,n=>n.id===t)}const Uie=e=>{const t=hL(e),n=t.snippets;return delete t.snippets,t.snippets=n.map(r=>({...t,...r,id:r.id||`${e.componentName}-${ro()}`,title:r.title||e.title,category:r.category||e.category,tags:[...r.tags||[],...e.tags||[]],groupName:r.groupName||e.groupName,snapshot:r.snapshot||e.icon,snapshotText:r.snapshotText,schema:{...r.schema,componentName:r.schema.componentName||e.componentName}})),t};class Gie{constructor(t){Ne(this,"rawData"),Ne(this,"data"),this.rawData=t,this.data=Uie(t)}get value(){return this.data}get rawValue(){return this.rawData}get componentName(){return this.data.componentName}get snippets(){return this.data.snippets}getSnippetById(t){return this.data.snippets.find(n=>n.id===t)}}const _p=e=>{if(!Tt(e))throw new Error("Materials must be a array");return e.map(t=>new Gie(t))},Wie=e=>{e==null||e.forEach(t=>{Fw({data:t,dataStruct:jie,throwError:!1})})};class Qa{constructor(t){Ne(this,"rawData"),Ne(this,"data"),Ne(this,"usedMaterials",[]),this.rawData=t,Wie(t),this.data=_p(t)}addMaterials(t){const n=_p(t),r=[],o=this.data.map(a=>{const s=n.findIndex(l=>l.componentName===a.componentName);return s>=0?(r.push(s),n[s]):a}),i=n.filter((a,s)=>!r.includes(s));this.data=[...o,...i]}replaceMaterials(t){const n=_p(t);this.data=[...n]}removeMaterial(t){const n=this.data.filter(r=>!t.includes(r.componentName));this.data=n}findByComponentName(t){return this.data.find(n=>n.componentName===t)}findSnippetById(t){const n=[...this.data];let r=null;for(;!r&&n.length;){const o=n.pop();r=o==null?void 0:o.getSnippetById(t)}return r}getAllSnippets(){const t=this.data.reduce((i,a)=>(i.push(...a.snippets),i),[]),n=[],r={default:[]};t.forEach(i=>{const a=i.groupName||"default";n.includes(a)||(n.push(a),r[a]=[]),r[a].push(i)});let o=[];return n.forEach(i=>{const a=["default"],s={default:[]},l=r[i];if(l.length!==0){l.forEach(d=>{const f=d.category||"default";a.includes(f)||(a.push(f),s[f]=[]),s[f].push(d)});const c=[];a.forEach(d=>{s[d].length&&c.push({name:d,list:s[d]})});const u={name:i,list:c};o.push(u)}}),o=o.sort((i,a)=>(i.name||"")>(a.name||"")?1:-1),o}get value(){return this.data}get rawValue(){return this.rawData}}const Kie=Xe({version:se(ce()),name:se(ce()),css:se(ce()),lifecycle:se(Ye()),props:se(Ye()),methods:se(ft(Lie)),componentsMeta:ft(Lw(Xe({componentName:ce()}),$w)),thirdLibs:se(kie),componentsTree:$ie,assets:se(ft(Ye())),extra:se(Ye())}),AL=e=>(Fw({data:e,dataStruct:Kie,throwError:!1}),e),Ep=(e,t,n)=>({...e,componentsTree:new Kl(e.componentsTree,{parent:t,materials:n})});let jE=class ML{constructor(t,n){Ne(this,"nodeType","PAGE"),Ne(this,"rawData"),Ne(this,"emitter",Sc),Ne(this,"data"),Ne(this,"parent"),Ne(this,"materialsModel"),Ne(this,"assetPackagesList"),AL(t),this.rawData=JSON.parse(JSON.stringify(t)),this.materialsModel=new Qa((n==null?void 0:n.materials)||[]),this.data=Ep(t,this,this.materialsModel),this.assetPackagesList=[...(n==null?void 0:n.assetPackagesList)||[],...this.data.assets||[]]}updatePage(t){const n=this.data;this.rawData=JSON.parse(JSON.stringify(t)),this.data=Ep(t,this,this.materialsModel),this.emitter.emit("onPageChange",{value:this.data,preValue:n,node:this})}reloadPage(t){const n=this.data;t&&(this.rawData=JSON.parse(JSON.stringify(t)),this.data=Ep(t,this,this.materialsModel)),this.emitter.emit("onReloadPage",{value:this.data,preValue:n,node:this})}get value(){return this.data}getNode(t){if(!t)return;const n=this.data.componentsTree;return Vw(n,t)}addNode(t,n,r="AFTER"){var o;if(r==="AFTER"||r==="BEFORE"){const i=n.parent;if(i===null&&n instanceof Kl)return console.warn("Not found parent node"),!1;if(i instanceof ti)return console.warn("CProp can not add node"),!1;if(i instanceof Ja){const s=i.value.value,l=s.findIndex(c=>c===n)??-1;return l>=0?(r==="BEFORE"?s.splice(l,0,t):s.splice(l+1,0,t),t.parent=i,(o=i.parent)==null||o.updateValue(),!0):!1}if(i instanceof ML)return!1;const a=(i==null?void 0:i.value.children.findIndex(s=>s===n))??-1;return a>=0?(r==="BEFORE"?i==null||i.value.children.splice(a,0,t):i==null||i.value.children.splice(a+1,0,t),t.parent=i,i==null||i.updateValue(),!0):(console.warn("Not found target node"),!1)}if(r==="CHILD_START")return n.value.children.unshift(t),t.parent=n,n.updateValue(),!0;if(r==="CHILD_END")return n.value.children.push(t),t.parent=n,n.updateValue(),!0;if(On(r)){const i=r;if(i.type==="CHILD"){const a=i.pos,s=i.index||0;return a==="BEFORE"?n==null||n.value.children.splice(s,0,t):n==null||n.value.children.splice(s+1,0,t),t.parent=n,n.updateValue(),!0}else console.warn("Can not parse pos obj")}return!1}createNode(t){return delete t.id,new Rt(t,{parent:null,materials:this.materialsModel})}addNodeById(t,n,r="AFTER"){const o=this.getNode(n);return o?this.addNode(t,o,r):(console.warn(`Not find a node by ${n}, pls check it`),!1)}copyNode(t){const n=t.export("design");n.id=ro();const r=new Rt(n,{parent:t.parent,materials:this.materialsModel});return this.addNode(r,t,"AFTER"),r}copyNodeById(t){const n=this.getNode(t);return n&&n instanceof Rt?this.copyNode(n):!1}moveNode(t,n,r){this.deleteNode(t);let o=n;return["AFTER","BEFORE"].includes(r)&&(o=n.parent),t.parent=o,this.addNode(t,n,r)}moveNodeById(t,n,r){const o=this.getNode(t),i=this.getNode(n);return o&&i&&o instanceof Rt&&i instanceof Rt?this.moveNode(o,i,r):!1}deleteNode(t){var n;const r=t.parent;if(!r)throw new Error("parent node is null or undefined, pls check it");if(r instanceof Ja){const o=r.value.value,i=o.findIndex(s=>s===t),a=o[i];return o.splice(i,1),(n=r.parent)==null||n.updateValue(),a}if(r instanceof Rt||r instanceof Kl){const o=r.value.children,i=o.findIndex(s=>s===t),a=o[i];return o.splice(i,1),r.updateValue(),a}}deleteNodeById(t){const n=this.getNode(t);if(n)return this.deleteNode(n)}export(t=Dw.SAVE){var n;const r=this.data.componentsTree.export(t),o=this.assetPackagesList,i=[],a=this.materialsModel.usedMaterials.map(l=>{const c=o.find(u=>{var d;return u.package===((d=l.value.npm)==null?void 0:d.package)});return c&&i.push(c),{componentName:l.componentName,...hL(l.value.npm||{})}}).filter(l=>l.componentName&&l.package&&l.version?!0:(console.warn(`${JSON.stringify(l,null,2)} not a valid material info`),!1));this.materialsModel.usedMaterials=[];let s={...this.data,componentsTree:Bw(r),componentsMeta:a,thirdLibs:this.data.thirdLibs,assets:[]};return(n=this.data.thirdLibs)==null||n.forEach(l=>{const c=o.find(u=>l.package===u.package);c&&i.push(c)}),s.assets=vie(i,l=>l.package),s=wL(s,["id"]),JSON.parse(JSON.stringify(s))}getRootNode(){return this.data.componentsTree}};Cs.ROOT_CONTAINER;const Df="DYNAMIC",Xie=["$$context","$$nodeModel"],Hw="ON_DID_RENDER",qw="ON_WILL_DESTROY",Yie=[Hw,qw],vb=(e,t)=>{let n=e;return t&&(n={...e},n.__proto__=t||null),n},Xl=(e,t={},...n)=>typeof e=="string"||typeof e=="number"?String(e):(Xie.forEach(r=>{r in t&&e.__CP_TYPE__!==Df&&delete t[r]}),v.createElement(e,t,...n)),IE=(e={},t)=>{const n=[],r=(o,i)=>{let a=i;mb(i)&&(a=i.value),t(a)?n.push({keyPath:o,val:a}):Wa(a)?a.forEach((s,l)=>{r([...o,String(l)],s)}):vs(a)&&Object.keys(a).forEach(s=>{r([...o,s],a[s])})};return r(["$root"],e),n},Da=(e,t)=>{const n=e.handler,{context:r,storeManager:o}=t;return t.actionVariableSpace||(t.actionVariableSpace={}),async function(...i){const a={},s=async u=>{const d=u;if(d.type==="RUN_CODE"){const f=Tf({funcName:"",funcBody:`function() {
140
+ `)),{isValidate:!1,message:s,error:a}}})({data:t,message:n,throwError:r})};var Cs=(e=>(e.ROOT_CONTAINER="RootContainer",e))(Cs||{});const Lie=Xe({type:Dn(_n.FUNCTION),value:ce()}),$ie=Lw(_L(Ya,["componentName"]),Xe({componentName:Dn("RootContainer")}));function Die(e){return{all:e=e||new Map,on:function(t,n){var r=e.get(t);r?r.push(n):e.set(t,[n])},off:function(t,n){var r=e.get(t);r&&(n?r.splice(r.indexOf(n)>>>0,1):e.set(t,[]))},emit:function(t,n){var r=e.get(t);r&&r.slice().map(function(o){o(n)}),(r=e.get("*"))&&r.slice().map(function(o){o(t,n)})}}}const Sc=Die(),zie=(e,t)=>{const n={...e,value:[]},r=e.value;let o=new Qa([]);return t&&(o=t.materialsMode||new Qa([])),r&&(Tt(r)?n.value=r.map(i=>new Rt(i,{parent:t,materials:o})):On(r)&&n.value.push(new Rt(r,{parent:t,materials:o}))),n};class Ja{constructor(t,n){Ne(this,"nodeType","SLOT"),Ne(this,"rawData"),Ne(this,"parent"),Ne(this,"emitter",Sc),Ne(this,"data"),Ne(this,"id"),Ne(this,"materialsMode"),this.parent=(n==null?void 0:n.parent)||null,this.rawData=t;const r=(n==null?void 0:n.materials)||new Qa([]);this.materialsMode=r,this.id=ro(),this.data=zie(t,this)}get value(){return this.data}export(t){const n=this.data,r=o=>{if(o instanceof Rt)return o.export(t);if(On(o)){const i={};return Object.keys(o||{}).forEach(a=>{i[a]=r(o[a])}),i}return Tt(o)?o.map(i=>r(i)):(t==="design"&&delete o.id,o)};return r(n)}}const RL=e=>{let t=[];return e.forEach(n=>{const r=n;r.type?r.type===fb.SINGLE?t.push(r.content):r.type===fb.GROUP&&(t=[...t,...RL(r.content)]):t.push(n)}),t},hb=(e,t,n)=>{if(e.type)return e.type===_n.SLOT?new Ja(e,{parent:t,materials:n}):e;if(On(e)){const r={};return Object.keys(e).forEach(o=>{r[o]=pb(e[o],t,n)}),r}else return Array.isArray(e)?e.map(r=>hb(r,t,n)):e},pb=(e,t,n)=>On(e)?hb(e,t,n):Tt(e)?e.map(r=>hb(r,t,n)):e;class ti{constructor(t,n,r){Ne(this,"nodeType","PROP"),Ne(this,"rawData"),Ne(this,"parent"),Ne(this,"emitter",Sc),Ne(this,"data"),Ne(this,"name"),Ne(this,"materialsMode");const o=(r==null?void 0:r.materials)||new Qa([]);this.materialsMode=o,this.parent=r==null?void 0:r.parent,this.rawData=n,this.name=t,this.data=pb(n,this,o)}isIncludeSlot(){return!1}isIncludeExpression(){return!1}get value(){return this.data}updateValue(t){const n=this.data;this.data=pb(t??n,this,this.materialsMode),this.emitter.emit("onPropChange",{value:this.data,preValue:n,node:this}),this.parent&&!(this.parent instanceof Ja)&&this.emitter.emit("onNodeChange",{value:this.parent.value,preValue:this.parent.value,node:this.parent})}get material(){const t=this.parent;if(t instanceof Rt){const n=t.material;return RL((n==null?void 0:n.value.props)||[]).find(r=>r.name===this.name)}else return null}export(t){const n=this.data,r=o=>{if(o instanceof ti||o instanceof Ja||o instanceof Rt)return o.export(t);if(Tt(o))return o.map(i=>r(i));if(On(o)){const i={};return Object.keys(o||{}).forEach(a=>{i[a]=r(o[a])}),i}return o};return r(n)}}const Fie=e=>{if(typeof e=="string")return!0;Fw({data:e,dataStruct:Ya,throwError:!1})},ME=(e,t,n)=>{if(typeof e=="string")return e;const r={...e,id:e.id??ro(),children:[],props:{},methods:e.methods||[],configure:xL(e.configure||{},{propsSetter:{},advanceSetter:{}})},o=Object.keys(e.props||{});return o.length&&o.forEach(i=>{var a;const s=(a=e.props)==null?void 0:a[i];if(s instanceof ti){r.props[i]=s;return}r.props[i]=new ti(i,s||"",{parent:t,materials:n})}),e.children&&(Array.isArray(e.children)?r.children=e.children.map(i=>{if(i instanceof Rt)return i;if(On(i)){const a=i;return new Rt(a,{parent:t,materials:n})}else return i}):(e.children instanceof Rt&&(r.children=[e.children]),r.children=[new Rt(e.children,{parent:t,materials:n})])),r};let Rt=class gb{constructor(t,n){Ne(this,"nodeType","NODE"),Ne(this,"rawData"),Ne(this,"data"),Ne(this,"emitter",Sc),Ne(this,"parent"),Ne(this,"materialsModel"),Ne(this,"listenerHandle"),Ne(this,"onChangeCbQueue"),this.rawData=JSON.parse(JSON.stringify(t)),Fie(t);const r=(n==null?void 0:n.materials)||new Qa([]);this.parent=(n==null?void 0:n.parent)||null,this.materialsModel=r,this.data=ME(t,this,r),this.listenerHandle=[],this.onChangeCbQueue=[],this.registerListener()}registerListener(){const t=n=>{const{node:r}=n;r===this&&r.id===this.id&&this.onChangeCbQueue.forEach(o=>o(n))};this.emitter.on("onNodeChange",t),this.listenerHandle.push(()=>{this.emitter.off("onNodeChange",t)})}onChange(t){return this.onChangeCbQueue.push(t),()=>{this.onChangeCbQueue=this.onChangeCbQueue.filter(n=>n!==t)}}destroy(){this.listenerHandle.forEach(t=>t())}get id(){return this.data.id}get value(){return this.data}clone(t){const n={...this.export("design"),id:t||ro()};return new gb(n,{materials:this.materialsModel})}updateWithPlainObj(t){const n={...this.data,...t};return this.data=ME(n,this,this.materialsModel),n}updateValue(t){const n=this.data,r=this.updateWithPlainObj(t);this.emitter.emit("onNodeChange",{value:r,preValue:n,node:this})}contains(t){return Vw(this,t)}get props(){return this.data.props}get material(){const t=this.materialsModel;return t==null?void 0:t.findByComponentName(this.data.componentName)}getPlainProps(){const t=this.data,n={};return Object.keys(t.props||{}).forEach(r=>{n[r]=t.props[r].export("design")}),n}getMaterialConfig(t){var n;return this.data.configure[t]!==void 0?this.data.configure.isContainer:(n=this.material)==null?void 0:n.value.isContainer}isContainer(){return this.getMaterialConfig("isContainer")}export(t){var n;const r=this.data;if(typeof r=="string")return r;const o={};Object.keys(r.props||{}).forEach(d=>{o[d]=r.props[d].export(t)});const i=(n=r.children)==null?void 0:n.map(d=>d instanceof gb?d.export(t):d),a=r.configure||{},s=a.propsSetter||{},l={};Object.keys(s).forEach(d=>{const f=eL(s,d,!1);f&&(l[d]=f)}),a.propsSetter=l;const c=this.materialsModel.usedMaterials.find(d=>{var f;return d.componentName===((f=this.material)==null?void 0:f.componentName)});this.material&&!c&&this.materialsModel.usedMaterials.push(this.material);let u={...r,configure:a,props:o,children:i,condition:r.condition,extra:this.data.extra};return t==="design"&&delete u.id,u=Bw(u),u}};const PE=(e,t,n)=>{const r={...e,id:ro(),props:{},componentName:Cs.ROOT_CONTAINER,children:[],methods:e.methods||[],configure:xL(e.configure||{},{propsSetter:{},advanceSetter:{}}),injectEnvList:e.injectEnvList};let o=[];Tt(e.children)?o=e.children.map(a=>a instanceof Rt?a:On(a)?new Rt(a,{parent:t,materials:n}):a):e.children instanceof Rt?o.push(e.children):e.children&&On(e.children)&&o.push(new Rt(e.children,{parent:t,materials:n}));const i=Object.keys(e.props||{});return i.length&&i.forEach(a=>{var s;const l=(s=e.props)==null?void 0:s[a];l instanceof ti?r.props[a]=l:r.props[a]=new ti(a,l||"",{parent:t,materials:n})}),r.children=o,r};class Kl{constructor(t,{parent:n,materials:r}){Ne(this,"rawData"),Ne(this,"data"),Ne(this,"nodeType",Cs.ROOT_CONTAINER),Ne(this,"emitter",Sc),Ne(this,"materialsModel"),Ne(this,"listenerHandle"),Ne(this,"onChangeCbQueue"),Ne(this,"parent"),this.materialsModel=r,this.rawData=JSON.parse(JSON.stringify(t)),this.data=PE(t,this,r),this.listenerHandle=[],this.onChangeCbQueue=[],this.registerListener(),this.parent=n}registerListener(){const t=n=>{const{node:r}=n;r===this&&r.id===this.id&&this.onChangeCbQueue.forEach(o=>o(n))};this.emitter.on("onNodeChange",t),this.listenerHandle.push(()=>{this.emitter.off("onNodeChange",t)})}onChange(t){return this.onChangeCbQueue.push(t),()=>{this.onChangeCbQueue=this.onChangeCbQueue.filter(n=>n!==t)}}get id(){return this.data.id}get value(){return this.data}get props(){return this.data.props}get material(){const t=this.materialsModel;return t==null?void 0:t.findByComponentName(this.data.componentName)}updateWithPlainObj(t){const n={...this.data,...t};return this.data=PE(n,this,this.materialsModel),n}updateValue(t){const n=this.data;this.updateWithPlainObj(t),this.emitter.emit("onNodeChange",{value:this.data,preValue:n,node:this})}contains(t){return Vw(this,t)}getMaterialConfig(t){var n;return this.data.configure[t]!==void 0?this.data.configure.isContainer:(n=this.material)==null?void 0:n.value.isContainer}isContainer(){return this.getMaterialConfig("isContainer")}export(t=Dw.SAVE){var n;const r=this.data,o={};Object.keys(r.props||{}).forEach(l=>{o[l]=r.props[l].export(t)});const i=((n=r.children)==null?void 0:n.map(l=>{var c;return(c=l==null?void 0:l.export)==null?void 0:c.call(l,t)}))||[],a={...r,props:o,children:i.filter(l=>l),condition:r.condition,extra:this.data.extra};let s=wL(a,["id"]);return s=Bw(s),s}getPlainProps(){const t=this.data,n={};return Object.keys(t.props||{}).forEach(r=>{n[r]=t.props[r].export("design")}),n}destroy(){this.listenerHandle.forEach(t=>t())}clone(t){const n={...this.export("design"),id:t||ro()};return new Kl(n,{materials:this.materialsModel,parent:null})}}const pi=e=>(e==null?void 0:e.type)===_n.EXPRESSION,TL=e=>(e==null?void 0:e.type)===_n.FUNCTION,Bie=e=>(e==null?void 0:e.type)===_n.ACTION,ro=()=>Math.random().toString(32).slice(3,9),Vie=e=>(e==null?void 0:e.nodeType)==="NODE",mb=e=>(e==null?void 0:e.nodeType)==="PROP",Hie=e=>(e==null?void 0:e.nodeType)==="SLOT",Bw=e=>fie(e,t=>On(t)?!Object.keys(t).length:Tt(t)?!t.length:!t);function qie(e,t){const n=[e];for(;n.length;){const r=n.shift();if(r&&t(r))return r;const o=(r==null?void 0:r.props)||{},i=s=>{if(s instanceof Rt){n.push(s);return}if(s instanceof Ja&&i(s.value.value),s instanceof ti){i(s.value);return}if(On(s)){const l=s;Object.keys(l).forEach(c=>{i(l[c])});return}if(Tt(s)){s.forEach(l=>{i(l)});return}};i(o);const a=(r==null?void 0:r.value.children.filter(s=>s instanceof Rt))||[];n.push(...a)}}function Vw(e,t){return qie(e,n=>n.id===t)}const Uie=e=>{const t=hL(e),n=t.snippets;return delete t.snippets,t.snippets=n.map(r=>({...t,...r,id:r.id||`${e.componentName}-${ro()}`,title:r.title||e.title,category:r.category||e.category,tags:[...r.tags||[],...e.tags||[]],groupName:r.groupName||e.groupName,snapshot:r.snapshot||e.icon,snapshotText:r.snapshotText,schema:{...r.schema,componentName:r.schema.componentName||e.componentName}})),t};class Gie{constructor(t){Ne(this,"rawData"),Ne(this,"data"),this.rawData=t,this.data=Uie(t)}get value(){return this.data}get rawValue(){return this.rawData}get componentName(){return this.data.componentName}get snippets(){return this.data.snippets}getSnippetById(t){return this.data.snippets.find(n=>n.id===t)}}const _p=e=>{if(!Tt(e))throw new Error("Materials must be a array");return e.map(t=>new Gie(t))},Wie=e=>{e==null||e.forEach(t=>{Fw({data:t,dataStruct:jie,throwError:!1})})};class Qa{constructor(t){Ne(this,"rawData"),Ne(this,"data"),Ne(this,"usedMaterials",[]),this.rawData=t,Wie(t),this.data=_p(t)}addMaterials(t){const n=_p(t),r=[],o=this.data.map(a=>{const s=n.findIndex(l=>l.componentName===a.componentName);return s>=0?(r.push(s),n[s]):a}),i=n.filter((a,s)=>!r.includes(s));this.data=[...o,...i]}replaceMaterials(t){const n=_p(t);this.data=[...n]}removeMaterial(t){const n=this.data.filter(r=>!t.includes(r.componentName));this.data=n}findByComponentName(t){return this.data.find(n=>n.componentName===t)}findSnippetById(t){const n=[...this.data];let r=null;for(;!r&&n.length;){const o=n.pop();r=o==null?void 0:o.getSnippetById(t)}return r}getAllSnippets(){const t=this.data.reduce((i,a)=>(i.push(...a.snippets),i),[]),n=[],r={default:[]};t.forEach(i=>{const a=i.groupName||"default";n.includes(a)||(n.push(a),r[a]=[]),r[a].push(i)});let o=[];return n.forEach(i=>{const a=["default"],s={default:[]},l=r[i];if(l.length!==0){l.forEach(d=>{const f=d.category||"default";a.includes(f)||(a.push(f),s[f]=[]),s[f].push(d)});const c=[];a.forEach(d=>{s[d].length&&c.push({name:d,list:s[d]})});const u={name:i,list:c};o.push(u)}}),o=o.sort((i,a)=>(i.name||"")>(a.name||"")?1:-1),o}get value(){return this.data}get rawValue(){return this.rawData}}const Kie=Xe({version:se(ce()),name:se(ce()),css:se(ce()),lifecycle:se(Ye()),props:se(Ye()),methods:se(ft(Lie)),componentsMeta:ft(Lw(Xe({componentName:ce()}),$w)),thirdLibs:se(kie),componentsTree:$ie,assets:se(ft(Ye())),extra:se(Ye())}),AL=e=>(Fw({data:e,dataStruct:Kie,throwError:!1}),e),Ep=(e,t,n)=>({...e,componentsTree:new Kl(e.componentsTree,{parent:t,materials:n})});let jE=class ML{constructor(t,n){Ne(this,"nodeType","PAGE"),Ne(this,"rawData"),Ne(this,"emitter",Sc),Ne(this,"data"),Ne(this,"parent"),Ne(this,"materialsModel"),Ne(this,"assetPackagesList"),AL(t),this.rawData=JSON.parse(JSON.stringify(t)),this.materialsModel=new Qa((n==null?void 0:n.materials)||[]),this.data=Ep(t,this,this.materialsModel),this.assetPackagesList=[...(n==null?void 0:n.assetPackagesList)||[],...this.data.assets||[]]}updatePage(t){const n=this.data;this.rawData=JSON.parse(JSON.stringify(t)),this.data=Ep(t,this,this.materialsModel),this.emitter.emit("onPageChange",{value:this.data,preValue:n,node:this})}reloadPage(t){const n=this.data;t&&(this.rawData=JSON.parse(JSON.stringify(t)),this.data=Ep(t,this,this.materialsModel)),this.emitter.emit("onReloadPage",{value:this.data,preValue:n,node:this})}get value(){return this.data}getNode(t){if(!t)return;const n=this.data.componentsTree;return Vw(n,t)}addNode(t,n,r="AFTER"){var o;if(r==="AFTER"||r==="BEFORE"){const i=n.parent;if(i===null&&n instanceof Kl)return console.warn("Not found parent node"),!1;if(i instanceof ti)return console.warn("CProp can not add node"),!1;if(i instanceof Ja){const s=i.value.value,l=s.findIndex(c=>c===n)??-1;return l>=0?(r==="BEFORE"?s.splice(l,0,t):s.splice(l+1,0,t),t.parent=i,(o=i.parent)==null||o.updateValue(),!0):!1}if(i instanceof ML)return!1;const a=(i==null?void 0:i.value.children.findIndex(s=>s===n))??-1;return a>=0?(r==="BEFORE"?i==null||i.value.children.splice(a,0,t):i==null||i.value.children.splice(a+1,0,t),t.parent=i,i==null||i.updateValue(),!0):(console.warn("Not found target node"),!1)}if(r==="CHILD_START")return n.value.children.unshift(t),t.parent=n,n.updateValue(),!0;if(r==="CHILD_END")return n.value.children.push(t),t.parent=n,n.updateValue(),!0;if(On(r)){const i=r;if(i.type==="CHILD"){const a=i.pos,s=i.index||0;return a==="BEFORE"?n==null||n.value.children.splice(s,0,t):n==null||n.value.children.splice(s+1,0,t),t.parent=n,n.updateValue(),!0}else console.warn("Can not parse pos obj")}return!1}createNode(t){return delete t.id,new Rt(t,{parent:null,materials:this.materialsModel})}addNodeById(t,n,r="AFTER"){const o=this.getNode(n);return o?this.addNode(t,o,r):(console.warn(`Not find a node by ${n}, pls check it`),!1)}copyNode(t){const n=t.export("design");n.id=ro();const r=new Rt(n,{parent:t.parent,materials:this.materialsModel});return this.addNode(r,t,"AFTER"),r}copyNodeById(t){const n=this.getNode(t);return n&&n instanceof Rt?this.copyNode(n):!1}moveNode(t,n,r){this.deleteNode(t);let o=n;return["AFTER","BEFORE"].includes(r)&&(o=n.parent),t.parent=o,this.addNode(t,n,r)}moveNodeById(t,n,r){const o=this.getNode(t),i=this.getNode(n);return o&&i&&o instanceof Rt&&i instanceof Rt?this.moveNode(o,i,r):!1}deleteNode(t){var n;const r=t.parent;if(!r)throw new Error("parent node is null or undefined, pls check it");if(r instanceof Ja){const o=r.value.value,i=o.findIndex(s=>s===t),a=o[i];return o.splice(i,1),(n=r.parent)==null||n.updateValue(),a}if(r instanceof Rt||r instanceof Kl){const o=r.value.children,i=o.findIndex(s=>s===t),a=o[i];return o.splice(i,1),r.updateValue(),a}}deleteNodeById(t){const n=this.getNode(t);if(n)return this.deleteNode(n)}export(t=Dw.SAVE){var n;const r=this.data.componentsTree.export(t),o=this.assetPackagesList,i=[],a=this.materialsModel.usedMaterials.map(l=>{const c=o.find(u=>{var d;return u.package===((d=l.value.npm)==null?void 0:d.package)});return c&&i.push(c),{componentName:l.componentName,...hL(l.value.npm||{})}}).filter(l=>l.componentName&&l.package&&l.version?!0:(console.warn(`${JSON.stringify(l,null,2)} not a valid material info`),!1));this.materialsModel.usedMaterials=[];let s={...this.data,componentsTree:Bw(r),componentsMeta:a,thirdLibs:this.data.thirdLibs,assets:[],extra:this.data.extra};return(n=this.data.thirdLibs)==null||n.forEach(l=>{const c=o.find(u=>l.package===u.package);c&&i.push(c)}),s.assets=vie(i,l=>l.package),s=wL(s,["id"]),JSON.parse(JSON.stringify(s))}getRootNode(){return this.data.componentsTree}};Cs.ROOT_CONTAINER;const Df="DYNAMIC",Xie=["$$context","$$nodeModel"],Hw="ON_DID_RENDER",qw="ON_WILL_DESTROY",Yie=[Hw,qw],vb=(e,t)=>{let n=e;return t&&(n={...e},n.__proto__=t||null),n},Xl=(e,t={},...n)=>typeof e=="string"||typeof e=="number"?String(e):(Xie.forEach(r=>{r in t&&e.__CP_TYPE__!==Df&&delete t[r]}),v.createElement(e,t,...n)),IE=(e={},t)=>{const n=[],r=(o,i)=>{let a=i;mb(i)&&(a=i.value),t(a)?n.push({keyPath:o,val:a}):Wa(a)?a.forEach((s,l)=>{r([...o,String(l)],s)}):vs(a)&&Object.keys(a).forEach(s=>{r([...o,s],a[s])})};return r(["$root"],e),n},Da=(e,t)=>{const n=e.handler,{context:r,storeManager:o}=t;return t.actionVariableSpace||(t.actionVariableSpace={}),async function(...i){const a={},s=async u=>{const d=u;if(d.type==="RUN_CODE"){const f=Tf({funcName:"",funcBody:`function() {
141
141
  ${d.value} }`,nodeContext:r,storeManager:o,$$response:t.$$response,actionVariableSpace:t.actionVariableSpace});let h;t.$$response!==void 0?h=f(t.$$response,...i):h=f(...i),h!=null&&h.then?a[d.id]=await h:a[d.id]=h}if(d.type==="JUMP_LINK"){const f=Jie(d,t)(...i);f!=null&&f.then?a[d.id]=await f:a[d.id]=f}if(d.type==="REQUEST_API"){const{run:f,afterFailedResponse:h,afterSuccessResponse:p}=Qie(d,t);try{const m=f(...i);m!=null&&m.then?a[d.id]=await m:a[d.id]=m,d.responseVarName&&(t.actionVariableSpace[d.responseVarName]=a[d.id]);const g=p(a[d.id],...i);return g!=null&&g.then?await g:g}catch(m){const g=await h(m);return g!=null&&g.then?await g:g}}if(d.type==="CALL_NODE_METHOD"){const f=Zie(d,t)(...i);f!=null&&f.then?a[d.id]=await f:a[d.id]=f,d.returnVarName&&(t.actionVariableSpace[d.returnVarName]=a[d.id])}if(d.type==="ASSIGN_VALUE"){const f=eae(d,t);let h=[...i];t.$$response!==void 0&&(h=[t.$$response,h]);const p=f(...h);a[d.id]=await p}};let l=n[0];const c=new Set;for(;l;){if(c.has(l.id))return;await s(l),c.add(l.id),l=n.find(u=>(l==null?void 0:l.next)&&u.id===(l==null?void 0:l.next))}}};function Jie(e,t){return mi(e.link,t)}const mi=(e,t)=>function(...n){return pi(e)?Na(e.value,{...t.context,nodeContext:t.context,storeManager:t.storeManager,$$response:t.$$response,actionVariableSpace:t.actionVariableSpace}):TL(e)?Tf({funcName:e.name||"",funcBody:e.value,nodeContext:t.context,storeManager:t.storeManager,$$response:t.$$response,actionVariableSpace:t.actionVariableSpace})(...n):e},Qie=(e,t)=>({run:function(...n){var r,o;let i="";e.apiPath&&(i=mi(e.apiPath,t)(...n));const a=e.body||{};Object.keys(a).forEach(u=>{a[u]=mi(a[u],t)(...n)});const s=e.query||{};Object.keys(s).forEach(u=>{s[u]=mi(s[u],t)(...n)});const l=e.header||{};Object.keys(l).forEach(u=>{l[u]=mi(l[u],t)(...n)});const c=e.method||"GET";return(o=(r=t.context).requestAPI)==null?void 0:o.call(r,{url:i,method:c,header:l,body:a,query:s})},afterSuccessResponse:async(n,...r)=>{if(!e.afterSuccessResponse)return n;const o=[...e.afterSuccessResponse||[],...e.afterFailedResponse||[]];return Da({handler:o},{...t,$$response:n})(...r)},afterFailedResponse:async(n,...r)=>{if(!e.afterFailedResponse)return n;const o=[...e.afterFailedResponse||[],...e.afterSuccessResponse||[]];return Da({handler:o},{...t,$$response:n})(...r)}}),Zie=(e,t)=>(...n)=>{const r=Tf({funcName:"",funcBody:`
142
142
  function () {
143
143
  var args = arguments;
@@ -173,7 +173,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
173
173
  color: white;
174
174
  font-weight: bold;
175
175
  padding: 2px 0.5em;
176
- `,s=`%c${[o,r].filter(Boolean).join(":")}`;typeof t.args[0]=="string"?n(`${s}%c ${t.args[0]}`,a,"",...t.args.slice(1)):n(s,a,...t.args)}}function zae(e={}){return $ae({reporters:e.reporters||[new Dae({})],prompt(n,r={}){return r.type==="confirm"?Promise.resolve(confirm(n)):Promise.resolve(prompt(n))},...e})}const Fae=zae(),ur=Fae.create({level:1}),Zr=({time:e=1e3/60*2,cb:t}={})=>new Promise(n=>{setTimeout(()=>{n("ok"),t==null||t()},e)}),Cc=(e,t,n)=>{e[t]===void 0&&(e[t]=n)},$L=function(e,t){try{return JSON.parse(e)}catch{return t??null}};class DL extends v.Component{constructor(n){super(n);Y(this,"emitter");Y(this,"leftPanelContentRef");Y(this,"addLeftPanel",n=>{this.state.leftPanels.push(n),this.setState({leftPanels:[...this.state.leftPanels]})});Y(this,"replaceLeftPanel",(n,r)=>{const o=this.state.leftPanels.findIndex(i=>i.name===n);if(o>-1){const i=[...this.state.leftPanels];i[o]=r,this.setState({leftPanels:i})}});Y(this,"openLeftPanel",async n=>{const r=n||this.state.currentActiveLeftPanel;this.setState({leftBoxVisible:!0,leftBoxSize:{width:350,height:"100%"},currentActiveLeftPanel:r}),await Zr(),this.emitter.emit("leftPanelVisible",{visible:!0,panelName:r})});Y(this,"closeLeftPanel",async()=>{this.setState({leftBoxVisible:!1,leftBoxSize:{width:0,height:"100%"}}),await Zr(),this.emitter.emit("leftPanelVisible",{visible:!1,panelName:this.state.currentActiveLeftPanel})});Y(this,"toggleLeftPanel",()=>{const{leftBoxVisible:n}=this.state;!n?this.openLeftPanel():this.closeLeftPanel()});Y(this,"onPluginIconClick",n=>{const{currentActiveLeftPanel:r}=this.state;r===n.name&&this.state.leftBoxVisible?this.closeLeftPanel():this.openLeftPanel(n.name)});Y(this,"openRightPanel",()=>{const{rightBoxSize:n}=this.state;this.setState({rightBoxVisible:!0,rightBoxSize:{width:400,height:n.height}})});Y(this,"closeRightPanel",()=>{const{rightBoxSize:n}=this.state;this.setState({rightBoxVisible:!1,rightBoxSize:{width:0,height:n.height}})});Y(this,"replaceBodyView",n=>{this.setState({bodyView:n})});Y(this,"replaceRightView",n=>{this.setState({rightView:n})});Y(this,"replaceTopBarView",n=>{this.setState({topToolBarView:n})});Y(this,"replaceSubTopBarView",n=>{this.setState({subTopToolBarView:n})});Y(this,"toggleRightPanel",()=>{const{rightBoxVisible:n,rightBoxSize:r}=this.state,o=!n;this.setState({rightBoxVisible:o,rightBoxSize:{width:o?400:0,height:r.height}})});Y(this,"onLeftBoxResizeStop",(n,r,o,i)=>{const a=this.state.leftBoxSize.width+i.width;this.setState({leftBoxSize:{width:a,height:this.state.leftBoxSize.height}})});Y(this,"onGlobalClick",n=>{var r;n.target&&((r=this.leftPanelContentRef.current)!=null&&r.contains(n.target))||!this.state.leftBoxFixed&&this.state.leftBoxVisible&&this.closeLeftPanel()});this.emitter=n.emitter||xd(),this.leftPanelContentRef=v.createRef(),this.state={leftBoxVisible:!0,leftBoxSize:{width:300,height:"100%"},leftBoxFixed:!0,rightBoxVisible:!0,rightBoxSize:{width:350,height:"100%"},currentActiveLeftPanel:"ComponentLib",leftPanels:[],bodyView:null,rightView:null,topToolBarView:null,subTopToolBarView:null,customViewList:[],hiddenTopBar:n.hiddenTopBar??!1,hiddenLeftPanel:n.hiddenLeftPanel??!1,hiddenRightPanel:n.hiddenRightPanel??!1,canvasFull:n.canvasFull??!1}}getHiddenWidgetConfig(){return{hiddenTopBar:this.state.hiddenTopBar,hiddenLeftPanel:this.state.hiddenLeftPanel,hiddenRightPanel:this.state.hiddenRightPanel}}hiddenWidget(n){this.setState({...n||{}})}addCustomView(n){const r=this.state.customViewList;return r.push(n),this.setState({customViewList:[...r]}),()=>{const o=this.state.customViewList.filter(i=>i!==n);this.setState({customViewList:[...o]})}}componentDidMount(){document.addEventListener("click",this.onGlobalClick)}render(){const{leftBoxVisible:n,leftBoxSize:r,leftBoxFixed:o,rightBoxSize:i,rightBoxVisible:a,leftPanels:s,currentActiveLeftPanel:l,bodyView:c,rightView:u,topToolBarView:d,subTopToolBarView:f,customViewList:h,hiddenTopBar:p,hiddenLeftPanel:m,hiddenRightPanel:g}=this.state,y={};o||(y.position="absolute",y.left="50px",y.top=0);const b=s.find(_=>_.name===l),S=(b==null?void 0:b.render)||null,{onPluginIconClick:x,toggleRightPanel:C,toggleLeftPanel:E,onLeftBoxResizeStop:O}=this;return w.jsxs("div",{className:Ze.workbenchContainer,children:[!p&&w.jsx("div",{className:Ze.topToolBarBox,children:w.jsx("div",{className:Ze.topToolBarView,children:d})}),w.jsxs("div",{className:Ze.bodyContent,children:[!m&&w.jsxs("div",{className:De([Ze.leftBox,m??Ze.hiddenLeftPanel]),ref:this.leftPanelContentRef,children:[w.jsx("div",{className:Ze.pluginIconBar,children:s.map(_=>w.jsx("div",{onClick:()=>x(_),className:De([Ze.pluginIconItem,(b==null?void 0:b.name)===_.name&&Ze.active]),children:_.icon},_.name))}),n&&w.jsxs(OS,{className:Ze.pluginPanelBoxResizeBox,size:r,style:y,minWidth:300,maxWidth:600,enable:{right:n},onResizeStop:O,children:[w.jsxs("div",{className:Ze.pluginHeader,children:[w.jsx("span",{className:Ze.pluginNameText,children:(b==null?void 0:b.title)||(b==null?void 0:b.name)}),w.jsx(W.Button,{className:De([Ze.fixedBtn]),type:"text",size:"small",onClick:()=>{this.setState({leftBoxFixed:!this.state.leftBoxFixed})},children:w.jsx(PM,{className:De([o&&Ze.active])})}),w.jsx(W.Button,{className:Ze.closeBtn,type:"text",size:"small",onClick:E,children:w.jsx(kM,{})})]}),w.jsx("div",{className:Ze.pluginPanelBox,children:S})]})]}),w.jsxs("div",{className:Ze.centerBox,children:[f&&w.jsx("div",{className:Ze.subTopToolbarBox,children:f}),w.jsx("div",{className:De([Ze.canvasBox,this.state.canvasFull!==!0&&Ze.canvasBoxPadding]),children:w.jsx("div",{className:Ze.scrollBox,children:c})})]}),w.jsxs("div",{className:De([Ze.rightResizeBox,g&&Ze.hiddenRightPanel]),children:[w.jsx("div",{className:Ze.arrowCursor,onClick:C,children:w.jsx(NM,{className:De([!a&&Ze.active])})}),w.jsx("div",{style:{display:a?"block":"none",height:"100%"},children:w.jsx(OS,{minWidth:400,maxWidth:600,enable:{left:a},size:i,onResizeStop:(_,k,N,R)=>{this.setState({rightBoxSize:{width:this.state.rightBoxSize.width+R.width,height:this.state.rightBoxSize.height}})},children:w.jsx("div",{className:Ze.rightBox,children:u})})})]})]}),Gr.createPortal(w.jsx("div",{className:Ze.customViewBox,children:h.map(_=>w.jsx("div",{style:{pointerEvents:"auto",display:"inline-block"},children:_.view},_.key))}),document.body)]})}}const Bae="_engineContainer_f3ly9_2",Vae={engineContainer:Bae};function Dt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function GE(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,uM(r.key),r)}}function zt(e,t,n){return t&&GE(e.prototype,t),n&&GE(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function kn(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function xb(e,t){return xb=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},xb(e,t)}function ai(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&xb(e,t)}function _s(e,t){if(t&&($e(t)=="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return kn(e)}function rr(e){return rr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},rr(e)}function zL(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function FL(e){return lM(e)||zL(e)||Ex(e)||cM()}function WE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function KE(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?WE(Object(n),!0).forEach(function(r){ue(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):WE(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var Hae={type:"logger",log:function(t){this.output("log",t)},warn:function(t){this.output("warn",t)},error:function(t){this.output("error",t)},output:function(t,n){console&&console[t]&&console[t].apply(console,n)}},qae=function(){function e(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Dt(this,e),this.init(t,n)}return zt(e,[{key:"init",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=r.prefix||"i18next:",this.logger=n||Hae,this.options=r,this.debug=r.debug}},{key:"setDebug",value:function(n){this.debug=n}},{key:"log",value:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return this.forward(r,"log","",!0)}},{key:"warn",value:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return this.forward(r,"warn","",!0)}},{key:"error",value:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return this.forward(r,"error","")}},{key:"deprecate",value:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return this.forward(r,"warn","WARNING DEPRECATED: ",!0)}},{key:"forward",value:function(n,r,o,i){return i&&!this.debug?null:(typeof n[0]=="string"&&(n[0]="".concat(o).concat(this.prefix," ").concat(n[0])),this.logger[r](n))}},{key:"create",value:function(n){return new e(this.logger,KE(KE({},{prefix:"".concat(this.prefix,":").concat(n,":")}),this.options))}},{key:"clone",value:function(n){return n=n||this.options,n.prefix=n.prefix||this.prefix,new e(this.logger,n)}}]),e}(),Kr=new qae,ni=function(){function e(){Dt(this,e),this.observers={}}return zt(e,[{key:"on",value:function(n,r){var o=this;return n.split(" ").forEach(function(i){o.observers[i]=o.observers[i]||[],o.observers[i].push(r)}),this}},{key:"off",value:function(n,r){if(this.observers[n]){if(!r){delete this.observers[n];return}this.observers[n]=this.observers[n].filter(function(o){return o!==r})}}},{key:"emit",value:function(n){for(var r=arguments.length,o=new Array(r>1?r-1:0),i=1;i<r;i++)o[i-1]=arguments[i];if(this.observers[n]){var a=[].concat(this.observers[n]);a.forEach(function(l){l.apply(void 0,o)})}if(this.observers["*"]){var s=[].concat(this.observers["*"]);s.forEach(function(l){l.apply(l,[n].concat(o))})}}}]),e}();function Us(){var e,t,n=new Promise(function(r,o){e=r,t=o});return n.resolve=e,n.reject=t,n}function XE(e){return e==null?"":""+e}function Uae(e,t,n){e.forEach(function(r){t[r]&&(n[r]=t[r])})}function Gw(e,t,n){function r(s){return s&&s.indexOf("###")>-1?s.replace(/###/g,"."):s}function o(){return!e||typeof e=="string"}for(var i=typeof t!="string"?[].concat(t):t.split(".");i.length>1;){if(o())return{};var a=r(i.shift());!e[a]&&n&&(e[a]=new n),Object.prototype.hasOwnProperty.call(e,a)?e=e[a]:e={}}return o()?{}:{obj:e,k:r(i.shift())}}function YE(e,t,n){var r=Gw(e,t,Object),o=r.obj,i=r.k;o[i]=n}function Gae(e,t,n,r){var o=Gw(e,t,Object),i=o.obj,a=o.k;i[a]=i[a]||[],i[a].push(n)}function Id(e,t){var n=Gw(e,t),r=n.obj,o=n.k;if(r)return r[o]}function Wae(e,t,n){var r=Id(e,n);return r!==void 0?r:Id(t,n)}function BL(e,t,n){for(var r in t)r!=="__proto__"&&r!=="constructor"&&(r in e?typeof e[r]=="string"||e[r]instanceof String||typeof t[r]=="string"||t[r]instanceof String?n&&(e[r]=t[r]):BL(e[r],t[r],n):e[r]=t[r]);return e}function Qi(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var Kae={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};function Xae(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,function(t){return Kae[t]}):e}var zf=typeof window<"u"&&window.navigator&&typeof window.navigator.userAgentData>"u"&&window.navigator.userAgent&&window.navigator.userAgent.indexOf("MSIE")>-1,Yae=[" ",",","?","!",";"];function Jae(e,t,n){t=t||"",n=n||"";var r=Yae.filter(function(s){return t.indexOf(s)<0&&n.indexOf(s)<0});if(r.length===0)return!0;var o=new RegExp("(".concat(r.map(function(s){return s==="?"?"\\?":s}).join("|"),")")),i=!o.test(e);if(!i){var a=e.indexOf(n);a>0&&!o.test(e.substring(0,a))&&(i=!0)}return i}function Ld(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(e){if(e[t])return e[t];for(var r=t.split(n),o=e,i=0;i<r.length;++i){if(!o||typeof o[r[i]]=="string"&&i+1<r.length)return;if(o[r[i]]===void 0){for(var a=2,s=r.slice(i,i+a).join(n),l=o[s];l===void 0&&r.length>i+a;)a++,s=r.slice(i,i+a).join(n),l=o[s];if(l===void 0)return;if(l===null)return null;if(t.endsWith(s)){if(typeof l=="string")return l;if(s&&typeof l[s]=="string")return l[s]}var c=r.slice(i+a).join(n);return c?Ld(l,c,n):void 0}o=o[r[i]]}return o}}function JE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function mu(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?JE(Object(n),!0).forEach(function(r){ue(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):JE(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Qae(e){var t=Zae();return function(){var r=rr(e),o;if(t){var i=rr(this).constructor;o=Reflect.construct(r,arguments,i)}else o=r.apply(this,arguments);return _s(this,o)}}function Zae(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var ese=function(e){ai(n,e);var t=Qae(n);function n(r){var o,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};return Dt(this,n),o=t.call(this),zf&&ni.call(kn(o)),o.data=r||{},o.options=i,o.options.keySeparator===void 0&&(o.options.keySeparator="."),o.options.ignoreJSONStructure===void 0&&(o.options.ignoreJSONStructure=!0),o}return zt(n,[{key:"addNamespaces",value:function(o){this.options.ns.indexOf(o)<0&&this.options.ns.push(o)}},{key:"removeNamespaces",value:function(o){var i=this.options.ns.indexOf(o);i>-1&&this.options.ns.splice(i,1)}},{key:"getResource",value:function(o,i,a){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},l=s.keySeparator!==void 0?s.keySeparator:this.options.keySeparator,c=s.ignoreJSONStructure!==void 0?s.ignoreJSONStructure:this.options.ignoreJSONStructure,u=[o,i];a&&typeof a!="string"&&(u=u.concat(a)),a&&typeof a=="string"&&(u=u.concat(l?a.split(l):a)),o.indexOf(".")>-1&&(u=o.split("."));var d=Id(this.data,u);return d||!c||typeof a!="string"?d:Ld(this.data&&this.data[o]&&this.data[o][i],a,l)}},{key:"addResource",value:function(o,i,a,s){var l=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1},c=l.keySeparator!==void 0?l.keySeparator:this.options.keySeparator,u=[o,i];a&&(u=u.concat(c?a.split(c):a)),o.indexOf(".")>-1&&(u=o.split("."),s=i,i=u[1]),this.addNamespaces(i),YE(this.data,u,s),l.silent||this.emit("added",o,i,a,s)}},{key:"addResources",value:function(o,i,a){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(var l in a)(typeof a[l]=="string"||Object.prototype.toString.apply(a[l])==="[object Array]")&&this.addResource(o,i,l,a[l],{silent:!0});s.silent||this.emit("added",o,i,a)}},{key:"addResourceBundle",value:function(o,i,a,s,l){var c=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},u=[o,i];o.indexOf(".")>-1&&(u=o.split("."),s=a,a=i,i=u[1]),this.addNamespaces(i);var d=Id(this.data,u)||{};s?BL(d,a,l):d=mu(mu({},d),a),YE(this.data,u,d),c.silent||this.emit("added",o,i,a)}},{key:"removeResourceBundle",value:function(o,i){this.hasResourceBundle(o,i)&&delete this.data[o][i],this.removeNamespaces(i),this.emit("removed",o,i)}},{key:"hasResourceBundle",value:function(o,i){return this.getResource(o,i)!==void 0}},{key:"getResourceBundle",value:function(o,i){return i||(i=this.options.defaultNS),this.options.compatibilityAPI==="v1"?mu(mu({},{}),this.getResource(o,i)):this.getResource(o,i)}},{key:"getDataByLanguage",value:function(o){return this.data[o]}},{key:"hasLanguageSomeTranslations",value:function(o){var i=this.getDataByLanguage(o),a=i&&Object.keys(i)||[];return!!a.find(function(s){return i[s]&&Object.keys(i[s]).length>0})}},{key:"toJSON",value:function(){return this.data}}]),n}(ni),VL={processors:{},addPostProcessor:function(t){this.processors[t.name]=t},handle:function(t,n,r,o,i){var a=this;return t.forEach(function(s){a.processors[s]&&(n=a.processors[s].process(n,r,o,i))}),n}};function QE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function un(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?QE(Object(n),!0).forEach(function(r){ue(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):QE(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function tse(e){var t=nse();return function(){var r=rr(e),o;if(t){var i=rr(this).constructor;o=Reflect.construct(r,arguments,i)}else o=r.apply(this,arguments);return _s(this,o)}}function nse(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var ZE={},ek=function(e){ai(n,e);var t=tse(n);function n(r){var o,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Dt(this,n),o=t.call(this),zf&&ni.call(kn(o)),Uae(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],r,kn(o)),o.options=i,o.options.keySeparator===void 0&&(o.options.keySeparator="."),o.logger=Kr.create("translator"),o}return zt(n,[{key:"changeLanguage",value:function(o){o&&(this.language=o)}},{key:"exists",value:function(o){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(o==null)return!1;var a=this.resolve(o,i);return a&&a.res!==void 0}},{key:"extractFromKey",value:function(o,i){var a=i.nsSeparator!==void 0?i.nsSeparator:this.options.nsSeparator;a===void 0&&(a=":");var s=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,l=i.ns||this.options.defaultNS||[],c=a&&o.indexOf(a)>-1,u=!this.options.userDefinedKeySeparator&&!i.keySeparator&&!this.options.userDefinedNsSeparator&&!i.nsSeparator&&!Jae(o,a,s);if(c&&!u){var d=o.match(this.interpolator.nestingRegexp);if(d&&d.length>0)return{key:o,namespaces:l};var f=o.split(a);(a!==s||a===s&&this.options.ns.indexOf(f[0])>-1)&&(l=f.shift()),o=f.join(s)}return typeof l=="string"&&(l=[l]),{key:o,namespaces:l}}},{key:"translate",value:function(o,i,a){var s=this;if($e(i)!=="object"&&this.options.overloadTranslationOptionHandler&&(i=this.options.overloadTranslationOptionHandler(arguments)),$e(i)==="object"&&(i=un({},i)),i||(i={}),o==null)return"";Array.isArray(o)||(o=[String(o)]);var l=i.returnDetails!==void 0?i.returnDetails:this.options.returnDetails,c=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,u=this.extractFromKey(o[o.length-1],i),d=u.key,f=u.namespaces,h=f[f.length-1],p=i.lng||this.language,m=i.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(p&&p.toLowerCase()==="cimode"){if(m){var g=i.nsSeparator||this.options.nsSeparator;return l?{res:"".concat(h).concat(g).concat(d),usedKey:d,exactUsedKey:d,usedLng:p,usedNS:h}:"".concat(h).concat(g).concat(d)}return l?{res:d,usedKey:d,exactUsedKey:d,usedLng:p,usedNS:h}:d}var y=this.resolve(o,i),b=y&&y.res,S=y&&y.usedKey||d,x=y&&y.exactUsedKey||d,C=Object.prototype.toString.apply(b),E=["[object Number]","[object Function]","[object RegExp]"],O=i.joinArrays!==void 0?i.joinArrays:this.options.joinArrays,_=!this.i18nFormat||this.i18nFormat.handleAsObject,k=typeof b!="string"&&typeof b!="boolean"&&typeof b!="number";if(_&&b&&k&&E.indexOf(C)<0&&!(typeof O=="string"&&C==="[object Array]")){if(!i.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");var N=this.options.returnedObjectHandler?this.options.returnedObjectHandler(S,b,un(un({},i),{},{ns:f})):"key '".concat(d," (").concat(this.language,")' returned an object instead of string.");return l?(y.res=N,y):N}if(c){var R=C==="[object Array]",M=R?[]:{},L=R?x:S;for(var T in b)if(Object.prototype.hasOwnProperty.call(b,T)){var P="".concat(L).concat(c).concat(T);M[T]=this.translate(P,un(un({},i),{joinArrays:!1,ns:f})),M[T]===P&&(M[T]=b[T])}b=M}}else if(_&&typeof O=="string"&&C==="[object Array]")b=b.join(O),b&&(b=this.extendTranslation(b,o,i,a));else{var A=!1,F=!1,q=i.count!==void 0&&typeof i.count!="string",B=n.hasDefaultValue(i),z=q?this.pluralResolver.getSuffix(p,i.count,i):"",I=i["defaultValue".concat(z)]||i.defaultValue;!this.isValidLookup(b)&&B&&(A=!0,b=I),this.isValidLookup(b)||(F=!0,b=d);var V=i.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey,j=V&&F?void 0:b,D=B&&I!==b&&this.options.updateMissing;if(F||A||D){if(this.logger.log(D?"updateKey":"missingKey",p,h,d,D?I:b),c){var H=this.resolve(d,un(un({},i),{},{keySeparator:!1}));H&&H.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}var U=[],G=this.languageUtils.getFallbackCodes(this.options.fallbackLng,i.lng||this.language);if(this.options.saveMissingTo==="fallback"&&G&&G[0])for(var X=0;X<G.length;X++)U.push(G[X]);else this.options.saveMissingTo==="all"?U=this.languageUtils.toResolveHierarchy(i.lng||this.language):U.push(i.lng||this.language);var Q=function(ne,K,ie){var te=B&&ie!==b?ie:j;s.options.missingKeyHandler?s.options.missingKeyHandler(ne,h,K,te,D,i):s.backendConnector&&s.backendConnector.saveMissing&&s.backendConnector.saveMissing(ne,h,K,te,D,i),s.emit("missingKey",ne,h,K,b)};this.options.saveMissing&&(this.options.saveMissingPlurals&&q?U.forEach(function(Z){s.pluralResolver.getSuffixes(Z,i).forEach(function(ne){Q([Z],d+ne,i["defaultValue".concat(ne)]||I)})}):Q(U,d,I))}b=this.extendTranslation(b,o,i,y,a),F&&b===d&&this.options.appendNamespaceToMissingKey&&(b="".concat(h,":").concat(d)),(F||A)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?b=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?"".concat(h,":").concat(d):d,A?b:void 0):b=this.options.parseMissingKeyHandler(b))}return l?(y.res=b,y):b}},{key:"extendTranslation",value:function(o,i,a,s,l){var c=this;if(this.i18nFormat&&this.i18nFormat.parse)o=this.i18nFormat.parse(o,un(un({},this.options.interpolation.defaultVariables),a),s.usedLng,s.usedNS,s.usedKey,{resolved:s});else if(!a.skipInterpolation){a.interpolation&&this.interpolator.init(un(un({},a),{interpolation:un(un({},this.options.interpolation),a.interpolation)}));var u=typeof o=="string"&&(a&&a.interpolation&&a.interpolation.skipOnVariables!==void 0?a.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables),d;if(u){var f=o.match(this.interpolator.nestingRegexp);d=f&&f.length}var h=a.replace&&typeof a.replace!="string"?a.replace:a;if(this.options.interpolation.defaultVariables&&(h=un(un({},this.options.interpolation.defaultVariables),h)),o=this.interpolator.interpolate(o,h,a.lng||this.language,a),u){var p=o.match(this.interpolator.nestingRegexp),m=p&&p.length;d<m&&(a.nest=!1)}!a.lng&&this.options.compatibilityAPI!=="v1"&&s&&s.res&&(a.lng=s.usedLng),a.nest!==!1&&(o=this.interpolator.nest(o,function(){for(var b=arguments.length,S=new Array(b),x=0;x<b;x++)S[x]=arguments[x];return l&&l[0]===S[0]&&!a.context?(c.logger.warn("It seems you are nesting recursively key: ".concat(S[0]," in key: ").concat(i[0])),null):c.translate.apply(c,S.concat([i]))},a)),a.interpolation&&this.interpolator.reset()}var g=a.postProcess||this.options.postProcess,y=typeof g=="string"?[g]:g;return o!=null&&y&&y.length&&a.applyPostProcessor!==!1&&(o=VL.handle(y,o,i,this.options&&this.options.postProcessPassResolved?un({i18nResolved:s},a):a,this)),o}},{key:"resolve",value:function(o){var i=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s,l,c,u,d;return typeof o=="string"&&(o=[o]),o.forEach(function(f){if(!i.isValidLookup(s)){var h=i.extractFromKey(f,a),p=h.key;l=p;var m=h.namespaces;i.options.fallbackNS&&(m=m.concat(i.options.fallbackNS));var g=a.count!==void 0&&typeof a.count!="string",y=g&&!a.ordinal&&a.count===0&&i.pluralResolver.shouldUseIntlApi(),b=a.context!==void 0&&(typeof a.context=="string"||typeof a.context=="number")&&a.context!=="",S=a.lngs?a.lngs:i.languageUtils.toResolveHierarchy(a.lng||i.language,a.fallbackLng);m.forEach(function(x){i.isValidLookup(s)||(d=x,!ZE["".concat(S[0],"-").concat(x)]&&i.utils&&i.utils.hasLoadedNamespace&&!i.utils.hasLoadedNamespace(d)&&(ZE["".concat(S[0],"-").concat(x)]=!0,i.logger.warn('key "'.concat(l,'" for languages "').concat(S.join(", "),`" won't get resolved as namespace "`).concat(d,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),S.forEach(function(C){if(!i.isValidLookup(s)){u=C;var E=[p];if(i.i18nFormat&&i.i18nFormat.addLookupKeys)i.i18nFormat.addLookupKeys(E,p,C,x,a);else{var O;g&&(O=i.pluralResolver.getSuffix(C,a.count,a));var _="".concat(i.options.pluralSeparator,"zero");if(g&&(E.push(p+O),y&&E.push(p+_)),b){var k="".concat(p).concat(i.options.contextSeparator).concat(a.context);E.push(k),g&&(E.push(k+O),y&&E.push(k+_))}}for(var N;N=E.pop();)i.isValidLookup(s)||(c=N,s=i.getResource(C,x,N,a))}}))})}}),{res:s,usedKey:l,exactUsedKey:c,usedLng:u,usedNS:d}}},{key:"isValidLookup",value:function(o){return o!==void 0&&!(!this.options.returnNull&&o===null)&&!(!this.options.returnEmptyString&&o==="")}},{key:"getResource",value:function(o,i,a){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(o,i,a,s):this.resourceStore.getResource(o,i,a,s)}}],[{key:"hasDefaultValue",value:function(o){var i="defaultValue";for(var a in o)if(Object.prototype.hasOwnProperty.call(o,a)&&i===a.substring(0,i.length)&&o[a]!==void 0)return!0;return!1}}]),n}(ni);function Rp(e){return e.charAt(0).toUpperCase()+e.slice(1)}var tk=function(){function e(t){Dt(this,e),this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Kr.create("languageUtils")}return zt(e,[{key:"getScriptPartFromCode",value:function(n){if(!n||n.indexOf("-")<0)return null;var r=n.split("-");return r.length===2||(r.pop(),r[r.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(r.join("-"))}},{key:"getLanguagePartFromCode",value:function(n){if(!n||n.indexOf("-")<0)return n;var r=n.split("-");return this.formatLanguageCode(r[0])}},{key:"formatLanguageCode",value:function(n){if(typeof n=="string"&&n.indexOf("-")>-1){var r=["hans","hant","latn","cyrl","cans","mong","arab"],o=n.split("-");return this.options.lowerCaseLng?o=o.map(function(i){return i.toLowerCase()}):o.length===2?(o[0]=o[0].toLowerCase(),o[1]=o[1].toUpperCase(),r.indexOf(o[1].toLowerCase())>-1&&(o[1]=Rp(o[1].toLowerCase()))):o.length===3&&(o[0]=o[0].toLowerCase(),o[1].length===2&&(o[1]=o[1].toUpperCase()),o[0]!=="sgn"&&o[2].length===2&&(o[2]=o[2].toUpperCase()),r.indexOf(o[1].toLowerCase())>-1&&(o[1]=Rp(o[1].toLowerCase())),r.indexOf(o[2].toLowerCase())>-1&&(o[2]=Rp(o[2].toLowerCase()))),o.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?n.toLowerCase():n}},{key:"isSupportedCode",value:function(n){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(n=this.getLanguagePartFromCode(n)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(n)>-1}},{key:"getBestMatchFromCodes",value:function(n){var r=this;if(!n)return null;var o;return n.forEach(function(i){if(!o){var a=r.formatLanguageCode(i);(!r.options.supportedLngs||r.isSupportedCode(a))&&(o=a)}}),!o&&this.options.supportedLngs&&n.forEach(function(i){if(!o){var a=r.getLanguagePartFromCode(i);if(r.isSupportedCode(a))return o=a;o=r.options.supportedLngs.find(function(s){if(s===a)return s;if(!(s.indexOf("-")<0&&a.indexOf("-")<0)&&s.indexOf(a)===0)return s})}}),o||(o=this.getFallbackCodes(this.options.fallbackLng)[0]),o}},{key:"getFallbackCodes",value:function(n,r){if(!n)return[];if(typeof n=="function"&&(n=n(r)),typeof n=="string"&&(n=[n]),Object.prototype.toString.apply(n)==="[object Array]")return n;if(!r)return n.default||[];var o=n[r];return o||(o=n[this.getScriptPartFromCode(r)]),o||(o=n[this.formatLanguageCode(r)]),o||(o=n[this.getLanguagePartFromCode(r)]),o||(o=n.default),o||[]}},{key:"toResolveHierarchy",value:function(n,r){var o=this,i=this.getFallbackCodes(r||this.options.fallbackLng||[],n),a=[],s=function(c){c&&(o.isSupportedCode(c)?a.push(c):o.logger.warn("rejecting language code not found in supportedLngs: ".concat(c)))};return typeof n=="string"&&n.indexOf("-")>-1?(this.options.load!=="languageOnly"&&s(this.formatLanguageCode(n)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&s(this.getScriptPartFromCode(n)),this.options.load!=="currentOnly"&&s(this.getLanguagePartFromCode(n))):typeof n=="string"&&s(this.formatLanguageCode(n)),i.forEach(function(l){a.indexOf(l)<0&&s(o.formatLanguageCode(l))}),a}}]),e}(),rse=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],ose={1:function(t){return+(t>1)},2:function(t){return+(t!=1)},3:function(t){return 0},4:function(t){return t%10==1&&t%100!=11?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2},5:function(t){return t==0?0:t==1?1:t==2?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},6:function(t){return t==1?0:t>=2&&t<=4?1:2},7:function(t){return t==1?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2},8:function(t){return t==1?0:t==2?1:t!=8&&t!=11?2:3},9:function(t){return+(t>=2)},10:function(t){return t==1?0:t==2?1:t<7?2:t<11?3:4},11:function(t){return t==1||t==11?0:t==2||t==12?1:t>2&&t<20?2:3},12:function(t){return+(t%10!=1||t%100==11)},13:function(t){return+(t!==0)},14:function(t){return t==1?0:t==2?1:t==3?2:3},15:function(t){return t%10==1&&t%100!=11?0:t%10>=2&&(t%100<10||t%100>=20)?1:2},16:function(t){return t%10==1&&t%100!=11?0:t!==0?1:2},17:function(t){return t==1||t%10==1&&t%100!=11?0:1},18:function(t){return t==0?0:t==1?1:2},19:function(t){return t==1?0:t==0||t%100>1&&t%100<11?1:t%100>10&&t%100<20?2:3},20:function(t){return t==1?0:t==0||t%100>0&&t%100<20?1:2},21:function(t){return t%100==1?1:t%100==2?2:t%100==3||t%100==4?3:0},22:function(t){return t==1?0:t==2?1:(t<0||t>10)&&t%10==0?2:3}},ise=["v1","v2","v3"],nk={zero:0,one:1,two:2,few:3,many:4,other:5};function ase(){var e={};return rse.forEach(function(t){t.lngs.forEach(function(n){e[n]={numbers:t.nr,plurals:ose[t.fc]}})}),e}var sse=function(){function e(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Dt(this,e),this.languageUtils=t,this.options=n,this.logger=Kr.create("pluralResolver"),(!this.options.compatibilityJSON||this.options.compatibilityJSON==="v4")&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=ase()}return zt(e,[{key:"addRule",value:function(n,r){this.rules[n]=r}},{key:"getRule",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(n,{type:r.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[n]||this.rules[this.languageUtils.getLanguagePartFromCode(n)]}},{key:"needsPlural",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=this.getRule(n,r);return this.shouldUseIntlApi()?o&&o.resolvedOptions().pluralCategories.length>1:o&&o.numbers.length>1}},{key:"getPluralFormsOfKey",value:function(n,r){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(n,o).map(function(i){return"".concat(r).concat(i)})}},{key:"getSuffixes",value:function(n){var r=this,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=this.getRule(n,o);return i?this.shouldUseIntlApi()?i.resolvedOptions().pluralCategories.sort(function(a,s){return nk[a]-nk[s]}).map(function(a){return"".concat(r.options.prepend).concat(a)}):i.numbers.map(function(a){return r.getSuffix(n,a,o)}):[]}},{key:"getSuffix",value:function(n,r){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=this.getRule(n,o);return i?this.shouldUseIntlApi()?"".concat(this.options.prepend).concat(i.select(r)):this.getSuffixRetroCompatible(i,r):(this.logger.warn("no plural rule found for: ".concat(n)),"")}},{key:"getSuffixRetroCompatible",value:function(n,r){var o=this,i=n.noAbs?n.plurals(r):n.plurals(Math.abs(r)),a=n.numbers[i];this.options.simplifyPluralSuffix&&n.numbers.length===2&&n.numbers[0]===1&&(a===2?a="plural":a===1&&(a=""));var s=function(){return o.options.prepend&&a.toString()?o.options.prepend+a.toString():a.toString()};return this.options.compatibilityJSON==="v1"?a===1?"":typeof a=="number"?"_plural_".concat(a.toString()):s():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&n.numbers.length===2&&n.numbers[0]===1?s():this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString()}},{key:"shouldUseIntlApi",value:function(){return!ise.includes(this.options.compatibilityJSON)}}]),e}();function rk(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function cr(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?rk(Object(n),!0).forEach(function(r){ue(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):rk(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function ok(e,t,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=Wae(e,t,n);return!i&&o&&typeof n=="string"&&(i=Ld(e,n,r),i===void 0&&(i=Ld(t,n,r))),i}var lse=function(){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Dt(this,e),this.logger=Kr.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||function(n){return n},this.init(t)}return zt(e,[{key:"init",value:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};n.interpolation||(n.interpolation={escapeValue:!0});var r=n.interpolation;this.escape=r.escape!==void 0?r.escape:Xae,this.escapeValue=r.escapeValue!==void 0?r.escapeValue:!0,this.useRawValueToEscape=r.useRawValueToEscape!==void 0?r.useRawValueToEscape:!1,this.prefix=r.prefix?Qi(r.prefix):r.prefixEscaped||"{{",this.suffix=r.suffix?Qi(r.suffix):r.suffixEscaped||"}}",this.formatSeparator=r.formatSeparator?r.formatSeparator:r.formatSeparator||",",this.unescapePrefix=r.unescapeSuffix?"":r.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":r.unescapeSuffix||"",this.nestingPrefix=r.nestingPrefix?Qi(r.nestingPrefix):r.nestingPrefixEscaped||Qi("$t("),this.nestingSuffix=r.nestingSuffix?Qi(r.nestingSuffix):r.nestingSuffixEscaped||Qi(")"),this.nestingOptionsSeparator=r.nestingOptionsSeparator?r.nestingOptionsSeparator:r.nestingOptionsSeparator||",",this.maxReplaces=r.maxReplaces?r.maxReplaces:1e3,this.alwaysFormat=r.alwaysFormat!==void 0?r.alwaysFormat:!1,this.resetRegExp()}},{key:"reset",value:function(){this.options&&this.init(this.options)}},{key:"resetRegExp",value:function(){var n="".concat(this.prefix,"(.+?)").concat(this.suffix);this.regexp=new RegExp(n,"g");var r="".concat(this.prefix).concat(this.unescapePrefix,"(.+?)").concat(this.unescapeSuffix).concat(this.suffix);this.regexpUnescape=new RegExp(r,"g");var o="".concat(this.nestingPrefix,"(.+?)").concat(this.nestingSuffix);this.nestingRegexp=new RegExp(o,"g")}},{key:"interpolate",value:function(n,r,o,i){var a=this,s,l,c,u=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function d(g){return g.replace(/\$/g,"$$$$")}var f=function(y){if(y.indexOf(a.formatSeparator)<0){var b=ok(r,u,y,a.options.keySeparator,a.options.ignoreJSONStructure);return a.alwaysFormat?a.format(b,void 0,o,cr(cr(cr({},i),r),{},{interpolationkey:y})):b}var S=y.split(a.formatSeparator),x=S.shift().trim(),C=S.join(a.formatSeparator).trim();return a.format(ok(r,u,x,a.options.keySeparator,a.options.ignoreJSONStructure),C,o,cr(cr(cr({},i),r),{},{interpolationkey:x}))};this.resetRegExp();var h=i&&i.missingInterpolationHandler||this.options.missingInterpolationHandler,p=i&&i.interpolation&&i.interpolation.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables,m=[{regex:this.regexpUnescape,safeValue:function(y){return d(y)}},{regex:this.regexp,safeValue:function(y){return a.escapeValue?d(a.escape(y)):d(y)}}];return m.forEach(function(g){for(c=0;s=g.regex.exec(n);){var y=s[1].trim();if(l=f(y),l===void 0)if(typeof h=="function"){var b=h(n,s,i);l=typeof b=="string"?b:""}else if(i&&Object.prototype.hasOwnProperty.call(i,y))l="";else if(p){l=s[0];continue}else a.logger.warn("missed to pass in variable ".concat(y," for interpolating ").concat(n)),l="";else typeof l!="string"&&!a.useRawValueToEscape&&(l=XE(l));var S=g.safeValue(l);if(n=n.replace(s[0],S),p?(g.regex.lastIndex+=l.length,g.regex.lastIndex-=s[0].length):g.regex.lastIndex=0,c++,c>=a.maxReplaces)break}}),n}},{key:"nest",value:function(n,r){var o=this,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a,s,l;function c(h,p){var m=this.nestingOptionsSeparator;if(h.indexOf(m)<0)return h;var g=h.split(new RegExp("".concat(m,"[ ]*{"))),y="{".concat(g[1]);h=g[0],y=this.interpolate(y,l);var b=y.match(/'/g),S=y.match(/"/g);(b&&b.length%2===0&&!S||S.length%2!==0)&&(y=y.replace(/'/g,'"'));try{l=JSON.parse(y),p&&(l=cr(cr({},p),l))}catch(x){return this.logger.warn("failed parsing options string in nesting for key ".concat(h),x),"".concat(h).concat(m).concat(y)}return delete l.defaultValue,h}for(;a=this.nestingRegexp.exec(n);){var u=[];l=cr({},i),l=l.replace&&typeof l.replace!="string"?l.replace:l,l.applyPostProcessor=!1,delete l.defaultValue;var d=!1;if(a[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(a[1])){var f=a[1].split(this.formatSeparator).map(function(h){return h.trim()});a[1]=f.shift(),u=f,d=!0}if(s=r(c.call(this,a[1].trim(),l),l),s&&a[0]===n&&typeof s!="string")return s;typeof s!="string"&&(s=XE(s)),s||(this.logger.warn("missed to resolve ".concat(a[1]," for nesting ").concat(n)),s=""),d&&(s=u.reduce(function(h,p){return o.format(h,p,i.lng,cr(cr({},i),{},{interpolationkey:a[1].trim()}))},s.trim())),n=n.replace(a[0],s),this.regexp.lastIndex=0}return n}}]),e}();function ik(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function uo(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?ik(Object(n),!0).forEach(function(r){ue(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ik(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function cse(e){var t=e.toLowerCase().trim(),n={};if(e.indexOf("(")>-1){var r=e.split("(");t=r[0].toLowerCase().trim();var o=r[1].substring(0,r[1].length-1);if(t==="currency"&&o.indexOf(":")<0)n.currency||(n.currency=o.trim());else if(t==="relativetime"&&o.indexOf(":")<0)n.range||(n.range=o.trim());else{var i=o.split(";");i.forEach(function(a){if(a){var s=a.split(":"),l=FL(s),c=l[0],u=l.slice(1),d=u.join(":").trim().replace(/^'+|'+$/g,"");n[c.trim()]||(n[c.trim()]=d),d==="false"&&(n[c.trim()]=!1),d==="true"&&(n[c.trim()]=!0),isNaN(d)||(n[c.trim()]=parseInt(d,10))}})}}return{formatName:t,formatOptions:n}}function Zi(e){var t={};return function(r,o,i){var a=o+JSON.stringify(i),s=t[a];return s||(s=e(o,i),t[a]=s),s(r)}}var use=function(){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Dt(this,e),this.logger=Kr.create("formatter"),this.options=t,this.formats={number:Zi(function(n,r){var o=new Intl.NumberFormat(n,uo({},r));return function(i){return o.format(i)}}),currency:Zi(function(n,r){var o=new Intl.NumberFormat(n,uo(uo({},r),{},{style:"currency"}));return function(i){return o.format(i)}}),datetime:Zi(function(n,r){var o=new Intl.DateTimeFormat(n,uo({},r));return function(i){return o.format(i)}}),relativetime:Zi(function(n,r){var o=new Intl.RelativeTimeFormat(n,uo({},r));return function(i){return o.format(i,r.range||"day")}}),list:Zi(function(n,r){var o=new Intl.ListFormat(n,uo({},r));return function(i){return o.format(i)}})},this.init(t)}return zt(e,[{key:"init",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}},o=r.interpolation;this.formatSeparator=o.formatSeparator?o.formatSeparator:o.formatSeparator||","}},{key:"add",value:function(n,r){this.formats[n.toLowerCase().trim()]=r}},{key:"addCached",value:function(n,r){this.formats[n.toLowerCase().trim()]=Zi(r)}},{key:"format",value:function(n,r,o){var i=this,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},s=r.split(this.formatSeparator),l=s.reduce(function(c,u){var d=cse(u),f=d.formatName,h=d.formatOptions;if(i.formats[f]){var p=c;try{var m=a&&a.formatParams&&a.formatParams[a.interpolationkey]||{},g=m.locale||m.lng||a.locale||a.lng||o;p=i.formats[f](c,g,uo(uo(uo({},h),a),m))}catch(y){i.logger.warn(y)}return p}else i.logger.warn("there was no format function for ".concat(f));return c},n);return l}}]),e}();function ak(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function sk(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?ak(Object(n),!0).forEach(function(r){ue(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ak(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function dse(e){var t=fse();return function(){var r=rr(e),o;if(t){var i=rr(this).constructor;o=Reflect.construct(r,arguments,i)}else o=r.apply(this,arguments);return _s(this,o)}}function fse(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function hse(e,t){e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)}var pse=function(e){ai(n,e);var t=dse(n);function n(r,o,i){var a,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return Dt(this,n),a=t.call(this),zf&&ni.call(kn(a)),a.backend=r,a.store=o,a.services=i,a.languageUtils=i.languageUtils,a.options=s,a.logger=Kr.create("backendConnector"),a.waitingReads=[],a.maxParallelReads=s.maxParallelReads||10,a.readingCalls=0,a.maxRetries=s.maxRetries>=0?s.maxRetries:5,a.retryTimeout=s.retryTimeout>=1?s.retryTimeout:350,a.state={},a.queue=[],a.backend&&a.backend.init&&a.backend.init(i,s.backend,s),a}return zt(n,[{key:"queueLoad",value:function(o,i,a,s){var l=this,c={},u={},d={},f={};return o.forEach(function(h){var p=!0;i.forEach(function(m){var g="".concat(h,"|").concat(m);!a.reload&&l.store.hasResourceBundle(h,m)?l.state[g]=2:l.state[g]<0||(l.state[g]===1?u[g]===void 0&&(u[g]=!0):(l.state[g]=1,p=!1,u[g]===void 0&&(u[g]=!0),c[g]===void 0&&(c[g]=!0),f[m]===void 0&&(f[m]=!0)))}),p||(d[h]=!0)}),(Object.keys(c).length||Object.keys(u).length)&&this.queue.push({pending:u,pendingCount:Object.keys(u).length,loaded:{},errors:[],callback:s}),{toLoad:Object.keys(c),pending:Object.keys(u),toLoadLanguages:Object.keys(d),toLoadNamespaces:Object.keys(f)}}},{key:"loaded",value:function(o,i,a){var s=o.split("|"),l=s[0],c=s[1];i&&this.emit("failedLoading",l,c,i),a&&this.store.addResourceBundle(l,c,a),this.state[o]=i?-1:2;var u={};this.queue.forEach(function(d){Gae(d.loaded,[l],c),hse(d,o),i&&d.errors.push(i),d.pendingCount===0&&!d.done&&(Object.keys(d.loaded).forEach(function(f){u[f]||(u[f]={});var h=d.loaded[f];h.length&&h.forEach(function(p){u[f][p]===void 0&&(u[f][p]=!0)})}),d.done=!0,d.errors.length?d.callback(d.errors):d.callback())}),this.emit("loaded",u),this.queue=this.queue.filter(function(d){return!d.done})}},{key:"read",value:function(o,i,a){var s=this,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,c=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,u=arguments.length>5?arguments[5]:void 0;if(!o.length)return u(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:o,ns:i,fcName:a,tried:l,wait:c,callback:u});return}this.readingCalls++;var d=function(m,g){if(s.readingCalls--,s.waitingReads.length>0){var y=s.waitingReads.shift();s.read(y.lng,y.ns,y.fcName,y.tried,y.wait,y.callback)}if(m&&g&&l<s.maxRetries){setTimeout(function(){s.read.call(s,o,i,a,l+1,c*2,u)},c);return}u(m,g)},f=this.backend[a].bind(this.backend);if(f.length===2){try{var h=f(o,i);h&&typeof h.then=="function"?h.then(function(p){return d(null,p)}).catch(d):d(null,h)}catch(p){d(p)}return}return f(o,i,d)}},{key:"prepareLoading",value:function(o,i){var a=this,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},l=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),l&&l();typeof o=="string"&&(o=this.languageUtils.toResolveHierarchy(o)),typeof i=="string"&&(i=[i]);var c=this.queueLoad(o,i,s,l);if(!c.toLoad.length)return c.pending.length||l(),null;c.toLoad.forEach(function(u){a.loadOne(u)})}},{key:"load",value:function(o,i,a){this.prepareLoading(o,i,{},a)}},{key:"reload",value:function(o,i,a){this.prepareLoading(o,i,{reload:!0},a)}},{key:"loadOne",value:function(o){var i=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",s=o.split("|"),l=s[0],c=s[1];this.read(l,c,"read",void 0,void 0,function(u,d){u&&i.logger.warn("".concat(a,"loading namespace ").concat(c," for language ").concat(l," failed"),u),!u&&d&&i.logger.log("".concat(a,"loaded namespace ").concat(c," for language ").concat(l),d),i.loaded(o,u,d)})}},{key:"saveMissing",value:function(o,i,a,s,l){var c=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},u=arguments.length>6&&arguments[6]!==void 0?arguments[6]:function(){};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(i)){this.logger.warn('did not save key "'.concat(a,'" as the namespace "').concat(i,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(a==null||a==="")){if(this.backend&&this.backend.create){var d=sk(sk({},c),{},{isUpdate:l}),f=this.backend.create.bind(this.backend);if(f.length<6)try{var h;f.length===5?h=f(o,i,a,s,d):h=f(o,i,a,s),h&&typeof h.then=="function"?h.then(function(p){return u(null,p)}).catch(u):u(null,h)}catch(p){u(p)}else f(o,i,a,s,u,d)}!o||!o[0]||this.store.addResource(o[0],i,a,s)}}}]),n}(ni);function lk(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!0,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){var n={};if($e(t[1])==="object"&&(n=t[1]),typeof t[1]=="string"&&(n.defaultValue=t[1]),typeof t[2]=="string"&&(n.tDescription=t[2]),$e(t[2])==="object"||$e(t[3])==="object"){var r=t[3]||t[2];Object.keys(r).forEach(function(o){n[o]=r[o]})}return n},interpolation:{escapeValue:!0,format:function(t,n,r,o){return t},prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function ck(e){return typeof e.ns=="string"&&(e.ns=[e.ns]),typeof e.fallbackLng=="string"&&(e.fallbackLng=[e.fallbackLng]),typeof e.fallbackNS=="string"&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function uk(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function Fr(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?uk(Object(n),!0).forEach(function(r){ue(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):uk(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function gse(e){var t=mse();return function(){var r=rr(e),o;if(t){var i=rr(this).constructor;o=Reflect.construct(r,arguments,i)}else o=r.apply(this,arguments);return _s(this,o)}}function mse(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function vu(){}function vse(e){var t=Object.getOwnPropertyNames(Object.getPrototypeOf(e));t.forEach(function(n){typeof e[n]=="function"&&(e[n]=e[n].bind(e))})}var $d=function(e){ai(n,e);var t=gse(n);function n(){var r,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=arguments.length>1?arguments[1]:void 0;if(Dt(this,n),r=t.call(this),zf&&ni.call(kn(r)),r.options=ck(o),r.services={},r.logger=Kr,r.modules={external:[]},vse(kn(r)),i&&!r.isInitialized&&!o.isClone){if(!r.options.initImmediate)return r.init(o,i),_s(r,kn(r));setTimeout(function(){r.init(o,i)},0)}return r}return zt(n,[{key:"init",value:function(){var o=this,i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=arguments.length>1?arguments[1]:void 0;typeof i=="function"&&(a=i,i={}),!i.defaultNS&&i.defaultNS!==!1&&i.ns&&(typeof i.ns=="string"?i.defaultNS=i.ns:i.ns.indexOf("translation")<0&&(i.defaultNS=i.ns[0]));var s=lk();this.options=Fr(Fr(Fr({},s),this.options),ck(i)),this.options.compatibilityAPI!=="v1"&&(this.options.interpolation=Fr(Fr({},s.interpolation),this.options.interpolation)),i.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=i.keySeparator),i.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=i.nsSeparator);function l(y){return y?typeof y=="function"?new y:y:null}if(!this.options.isClone){this.modules.logger?Kr.init(l(this.modules.logger),this.options):Kr.init(null,this.options);var c;this.modules.formatter?c=this.modules.formatter:typeof Intl<"u"&&(c=use);var u=new tk(this.options);this.store=new ese(this.options.resources,this.options);var d=this.services;d.logger=Kr,d.resourceStore=this.store,d.languageUtils=u,d.pluralResolver=new sse(u,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),c&&(!this.options.interpolation.format||this.options.interpolation.format===s.interpolation.format)&&(d.formatter=l(c),d.formatter.init(d,this.options),this.options.interpolation.format=d.formatter.format.bind(d.formatter)),d.interpolator=new lse(this.options),d.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},d.backendConnector=new pse(l(this.modules.backend),d.resourceStore,d,this.options),d.backendConnector.on("*",function(y){for(var b=arguments.length,S=new Array(b>1?b-1:0),x=1;x<b;x++)S[x-1]=arguments[x];o.emit.apply(o,[y].concat(S))}),this.modules.languageDetector&&(d.languageDetector=l(this.modules.languageDetector),d.languageDetector.init&&d.languageDetector.init(d,this.options.detection,this.options)),this.modules.i18nFormat&&(d.i18nFormat=l(this.modules.i18nFormat),d.i18nFormat.init&&d.i18nFormat.init(this)),this.translator=new ek(this.services,this.options),this.translator.on("*",function(y){for(var b=arguments.length,S=new Array(b>1?b-1:0),x=1;x<b;x++)S[x-1]=arguments[x];o.emit.apply(o,[y].concat(S))}),this.modules.external.forEach(function(y){y.init&&y.init(o)})}if(this.format=this.options.interpolation.format,a||(a=vu),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){var f=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);f.length>0&&f[0]!=="dev"&&(this.options.lng=f[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined");var h=["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"];h.forEach(function(y){o[y]=function(){var b;return(b=o.store)[y].apply(b,arguments)}});var p=["addResource","addResources","addResourceBundle","removeResourceBundle"];p.forEach(function(y){o[y]=function(){var b;return(b=o.store)[y].apply(b,arguments),o}});var m=Us(),g=function(){var b=function(x,C){o.isInitialized&&!o.initializedStoreOnce&&o.logger.warn("init: i18next is already initialized. You should call init just once!"),o.isInitialized=!0,o.options.isClone||o.logger.log("initialized",o.options),o.emit("initialized",o.options),m.resolve(C),a(x,C)};if(o.languages&&o.options.compatibilityAPI!=="v1"&&!o.isInitialized)return b(null,o.t.bind(o));o.changeLanguage(o.options.lng,b)};return this.options.resources||!this.options.initImmediate?g():setTimeout(g,0),m}},{key:"loadResources",value:function(o){var i=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:vu,s=a,l=typeof o=="string"?o:this.language;if(typeof o=="function"&&(s=o),!this.options.resources||this.options.partialBundledLanguages){if(l&&l.toLowerCase()==="cimode")return s();var c=[],u=function(h){if(h){var p=i.services.languageUtils.toResolveHierarchy(h);p.forEach(function(m){c.indexOf(m)<0&&c.push(m)})}};if(l)u(l);else{var d=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);d.forEach(function(f){return u(f)})}this.options.preload&&this.options.preload.forEach(function(f){return u(f)}),this.services.backendConnector.load(c,this.options.ns,function(f){!f&&!i.resolvedLanguage&&i.language&&i.setResolvedLanguage(i.language),s(f)})}else s(null)}},{key:"reloadResources",value:function(o,i,a){var s=Us();return o||(o=this.languages),i||(i=this.options.ns),a||(a=vu),this.services.backendConnector.reload(o,i,function(l){s.resolve(),a(l)}),s}},{key:"use",value:function(o){if(!o)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!o.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return o.type==="backend"&&(this.modules.backend=o),(o.type==="logger"||o.log&&o.warn&&o.error)&&(this.modules.logger=o),o.type==="languageDetector"&&(this.modules.languageDetector=o),o.type==="i18nFormat"&&(this.modules.i18nFormat=o),o.type==="postProcessor"&&VL.addPostProcessor(o),o.type==="formatter"&&(this.modules.formatter=o),o.type==="3rdParty"&&this.modules.external.push(o),this}},{key:"setResolvedLanguage",value:function(o){if(!(!o||!this.languages)&&!(["cimode","dev"].indexOf(o)>-1))for(var i=0;i<this.languages.length;i++){var a=this.languages[i];if(!(["cimode","dev"].indexOf(a)>-1)&&this.store.hasLanguageSomeTranslations(a)){this.resolvedLanguage=a;break}}}},{key:"changeLanguage",value:function(o,i){var a=this;this.isLanguageChangingTo=o;var s=Us();this.emit("languageChanging",o);var l=function(f){a.language=f,a.languages=a.services.languageUtils.toResolveHierarchy(f),a.resolvedLanguage=void 0,a.setResolvedLanguage(f)},c=function(f,h){h?(l(h),a.translator.changeLanguage(h),a.isLanguageChangingTo=void 0,a.emit("languageChanged",h),a.logger.log("languageChanged",h)):a.isLanguageChangingTo=void 0,s.resolve(function(){return a.t.apply(a,arguments)}),i&&i(f,function(){return a.t.apply(a,arguments)})},u=function(f){!o&&!f&&a.services.languageDetector&&(f=[]);var h=typeof f=="string"?f:a.services.languageUtils.getBestMatchFromCodes(f);h&&(a.language||l(h),a.translator.language||a.translator.changeLanguage(h),a.services.languageDetector&&a.services.languageDetector.cacheUserLanguage&&a.services.languageDetector.cacheUserLanguage(h)),a.loadResources(h,function(p){c(p,h)})};return!o&&this.services.languageDetector&&!this.services.languageDetector.async?u(this.services.languageDetector.detect()):!o&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(u):this.services.languageDetector.detect(u):u(o),s}},{key:"getFixedT",value:function(o,i,a){var s=this,l=function c(u,d){var f;if($e(d)!=="object"){for(var h=arguments.length,p=new Array(h>2?h-2:0),m=2;m<h;m++)p[m-2]=arguments[m];f=s.options.overloadTranslationOptionHandler([u,d].concat(p))}else f=Fr({},d);f.lng=f.lng||c.lng,f.lngs=f.lngs||c.lngs,f.ns=f.ns||c.ns,f.keyPrefix=f.keyPrefix||a||c.keyPrefix;var g=s.options.keySeparator||".",y;return f.keyPrefix&&Array.isArray(u)?y=u.map(function(b){return"".concat(f.keyPrefix).concat(g).concat(b)}):y=f.keyPrefix?"".concat(f.keyPrefix).concat(g).concat(u):u,s.t(y,f)};return typeof o=="string"?l.lng=o:l.lngs=o,l.ns=i,l.keyPrefix=a,l}},{key:"t",value:function(){var o;return this.translator&&(o=this.translator).translate.apply(o,arguments)}},{key:"exists",value:function(){var o;return this.translator&&(o=this.translator).exists.apply(o,arguments)}},{key:"setDefaultNamespace",value:function(o){this.options.defaultNS=o}},{key:"hasLoadedNamespace",value:function(o){var i=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;var s=a.lng||this.resolvedLanguage||this.languages[0],l=this.options?this.options.fallbackLng:!1,c=this.languages[this.languages.length-1];if(s.toLowerCase()==="cimode")return!0;var u=function(h,p){var m=i.services.backendConnector.state["".concat(h,"|").concat(p)];return m===-1||m===2};if(a.precheck){var d=a.precheck(this,u);if(d!==void 0)return d}return!!(this.hasResourceBundle(s,o)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||u(s,o)&&(!l||u(c,o)))}},{key:"loadNamespaces",value:function(o,i){var a=this,s=Us();return this.options.ns?(typeof o=="string"&&(o=[o]),o.forEach(function(l){a.options.ns.indexOf(l)<0&&a.options.ns.push(l)}),this.loadResources(function(l){s.resolve(),i&&i(l)}),s):(i&&i(),Promise.resolve())}},{key:"loadLanguages",value:function(o,i){var a=Us();typeof o=="string"&&(o=[o]);var s=this.options.preload||[],l=o.filter(function(c){return s.indexOf(c)<0});return l.length?(this.options.preload=s.concat(l),this.loadResources(function(c){a.resolve(),i&&i(c)}),a):(i&&i(),Promise.resolve())}},{key:"dir",value:function(o){if(o||(o=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!o)return"rtl";var i=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],a=this.services&&this.services.languageUtils||new tk(lk());return i.indexOf(a.getLanguagePartFromCode(o))>-1||o.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}},{key:"cloneInstance",value:function(){var o=this,i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:vu,s=Fr(Fr(Fr({},this.options),i),{isClone:!0}),l=new n(s);(i.debug!==void 0||i.prefix!==void 0)&&(l.logger=l.logger.clone(i));var c=["store","services","language"];return c.forEach(function(u){l[u]=o[u]}),l.services=Fr({},this.services),l.services.utils={hasLoadedNamespace:l.hasLoadedNamespace.bind(l)},l.translator=new ek(l.services,l.options),l.translator.on("*",function(u){for(var d=arguments.length,f=new Array(d>1?d-1:0),h=1;h<d;h++)f[h-1]=arguments[h];l.emit.apply(l,[u].concat(f))}),l.init(s,a),l.translator.options=l.options,l.translator.backendConnector.services.utils={hasLoadedNamespace:l.hasLoadedNamespace.bind(l)},l}},{key:"toJSON",value:function(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}]),n}(ni);ue($d,"createInstance",function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return new $d(e,t)});var Jt=$d.createInstance();Jt.createInstance=$d.createInstance;Jt.createInstance;Jt.dir;Jt.init;Jt.loadResources;Jt.reloadResources;Jt.use;Jt.changeLanguage;Jt.getFixedT;Jt.t;Jt.exists;Jt.setDefaultNamespace;Jt.hasLoadedNamespace;Jt.loadNamespaces;Jt.loadLanguages;function yse(){if(console&&console.warn){for(var e,t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];typeof n[0]=="string"&&(n[0]="react-i18next:: ".concat(n[0])),(e=console).warn.apply(e,n)}}var dk={};function wb(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];typeof t[0]=="string"&&dk[t[0]]||(typeof t[0]=="string"&&(dk[t[0]]=new Date),yse.apply(void 0,t))}var HL=function(t,n){return function(){if(t.isInitialized)n();else{var r=function o(){setTimeout(function(){t.off("initialized",o)},0),n()};t.on("initialized",r)}}};function fk(e,t,n){e.loadNamespaces(t,HL(e,n))}function hk(e,t,n,r){typeof n=="string"&&(n=[n]),n.forEach(function(o){e.options.ns.indexOf(o)<0&&e.options.ns.push(o)}),e.loadLanguages(t,HL(e,r))}function bse(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=t.languages[0],o=t.options?t.options.fallbackLng:!1,i=t.languages[t.languages.length-1];if(r.toLowerCase()==="cimode")return!0;var a=function(l,c){var u=t.services.backendConnector.state["".concat(l,"|").concat(c)];return u===-1||u===2};return n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!a(t.isLanguageChangingTo,e)?!1:!!(t.hasResourceBundle(r,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||a(r,e)&&(!o||a(i,e)))}function xse(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!t.languages||!t.languages.length)return wb("i18n.languages were undefined or empty",t.languages),!0;var r=t.options.ignoreJSONStructure!==void 0;return r?t.hasLoadedNamespace(e,{lng:n.lng,precheck:function(i,a){if(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&i.services.backendConnector.backend&&i.isLanguageChangingTo&&!a(i.isLanguageChangingTo,e))return!1}}):bse(e,t,n)}function wse(e){return e.displayName||e.name||(typeof e=="string"&&e.length>0?e:"Unknown")}var Sse=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,Cse={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"',"&nbsp;":" ","&#160;":" ","&copy;":"©","&#169;":"©","&reg;":"®","&#174;":"®","&hellip;":"…","&#8230;":"…","&#x2F;":"/","&#47;":"/"},_se=function(t){return Cse[t]},Ese=function(t){return t.replace(Sse,_se)};function pk(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function gk(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?pk(Object(n),!0).forEach(function(r){ue(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):pk(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var Sb={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:Ese};function kse(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Sb=gk(gk({},Sb),e)}function Ose(){return Sb}var qL;function Nse(e){qL=e}function Rse(){return qL}var Tse={type:"3rdParty",init:function(t){kse(t.options.react),Nse(t)}},Ase=v.createContext(),Mse=function(){function e(){Dt(this,e),this.usedNamespaces={}}return zt(e,[{key:"addUsedNamespaces",value:function(n){var r=this;n.forEach(function(o){r.usedNamespaces[o]||(r.usedNamespaces[o]=!0)})}},{key:"getUsedNamespaces",value:function(){return Object.keys(this.usedNamespaces)}}]),e}();function mk(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function Tp(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?mk(Object(n),!0).forEach(function(r){ue(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):mk(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var Pse=function(t,n){var r=v.useRef();return v.useEffect(function(){r.current=t},[t,n]),r.current};function jse(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.i18n,r=v.useContext(Ase)||{},o=r.i18n,i=r.defaultNS,a=n||o||Rse();if(a&&!a.reportNamespaces&&(a.reportNamespaces=new Mse),!a){wb("You will need to pass in an i18next instance by using initReactI18next");var s=function(k,N){return typeof N=="string"?N:N&&$e(N)==="object"&&typeof N.defaultValue=="string"?N.defaultValue:Array.isArray(k)?k[k.length-1]:k},l=[s,{},!1];return l.t=s,l.i18n={},l.ready=!1,l}a.options.react&&a.options.react.wait!==void 0&&wb("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");var c=Tp(Tp(Tp({},Ose()),a.options.react),t),u=c.useSuspense,d=c.keyPrefix,f=e||i||a.options&&a.options.defaultNS;f=typeof f=="string"?[f]:f||["translation"],a.reportNamespaces.addUsedNamespaces&&a.reportNamespaces.addUsedNamespaces(f);var h=(a.isInitialized||a.initializedStoreOnce)&&f.every(function(_){return xse(_,a,c)});function p(){return a.getFixedT(t.lng||null,c.nsMode==="fallback"?f:f[0],d)}var m=v.useState(p),g=Re(m,2),y=g[0],b=g[1],S=f.join();t.lng&&(S="".concat(t.lng).concat(S));var x=Pse(S),C=v.useRef(!0);v.useEffect(function(){var _=c.bindI18n,k=c.bindI18nStore;C.current=!0,!h&&!u&&(t.lng?hk(a,t.lng,f,function(){C.current&&b(p)}):fk(a,f,function(){C.current&&b(p)})),h&&x&&x!==S&&C.current&&b(p);function N(){C.current&&b(p)}return _&&a&&a.on(_,N),k&&a&&a.store.on(k,N),function(){C.current=!1,_&&a&&_.split(" ").forEach(function(R){return a.off(R,N)}),k&&a&&k.split(" ").forEach(function(R){return a.store.off(R,N)})}},[a,S]);var E=v.useRef(!0);v.useEffect(function(){C.current&&!E.current&&b(p),E.current=!1},[a,d]);var O=[y,a,h];if(O.t=y,O.i18n=a,O.ready=h,h||!h&&!u)return O;throw new Promise(function(_){t.lng?hk(a,t.lng,f,function(){return _()}):fk(a,f,function(){return _()})})}var Ise=["forwardedRef"];function vk(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function yu(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?vk(Object(n),!0).forEach(function(r){ue(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):vk(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Za(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return function(r){function o(a){var s=a.forwardedRef,l=Ha(a,Ise),c=jse(e,yu(yu({},l),{},{keyPrefix:t.keyPrefix})),u=Re(c,3),d=u[0],f=u[1],h=u[2],p=yu(yu({},l),{},{t:d,i18n:f,tReady:h});return t.withRef&&s?p.ref=s:!t.withRef&&s&&(p.forwardedRef=s),v.createElement(r,p)}o.displayName="withI18nextTranslation(".concat(wse(r),")"),o.WrappedComponent=r;var i=function(s,l){return v.createElement(o,Object.assign({},s,{forwardedRef:l}))};return t.withRef?v.forwardRef(i):o}}const Lse={translation:{"Welcome to React":"欢迎使用 React"}},$se={translation:{"Welcome to React":"Welcome to React and react-i18next"}},Dse={zh_CN:Lse,en_US:$se};Jt.use(Tse).init({resources:Dse,lng:"zh_CN",react:{bindI18n:"added languageChanged",bindI18nStore:"added"}});const Dd=Jt;Dd.update=()=>{setTimeout(()=>{Jt.emit("added")},0)};Dd.changeLanguage("en_US");class UL{constructor({getWorkbench:t,emitter:n,pageModel:r,i18n:o,assetsPackageListManager:i,engine:a}){Y(this,"plugins",new Map);Y(this,"emitter",xd());Y(this,"getWorkbench");Y(this,"pageModel");Y(this,"i18n");Y(this,"assetsPackageListManager");Y(this,"engine");Y(this,"customPluginHooks",{});Y(this,"customPlugin",(t,n)=>{const r=this.customPluginHooks,o=r[t]||[];o.push(n),r[t]=o,this.customPluginHooks=r});Y(this,"createPluginCtx",()=>({globalEmitter:this.emitter,emitter:xd(),config:{},getWorkbench:this.getWorkbench,pluginManager:this,pageModel:this.pageModel,i18n:this.i18n,assetsPackageListManager:this.assetsPackageListManager,engine:this.engine,pluginReadyOk:()=>{}}));this.getWorkbench=t,this.emitter=n,this.pageModel=r,this.i18n=o,this.assetsPackageListManager=i,this.engine=a}async add(t){var a;const n=this.createPluginCtx();let r;typeof t=="function"?r=t(n):r=t;let o={source:r,ctx:n,export:((a=r.export)==null?void 0:a.call(r,n))||{},ready:!1};(this.customPluginHooks[r.name]||[]).forEach(s=>{o=s(o)}),n.pluginReadyOk=()=>{this.emitter.emit(`${r.name}:ready`),o.ready=!0},this.plugins.set(r.name,o),await r.init(n)}async get(t){const n=this.plugins.get(t);return n!=null&&n.ready||await this.onPluginReadyOk(t),n}async remove(t){const n=this.plugins.get(t);await(n==null?void 0:n.source.destroy(n.ctx)),this.plugins.delete(t)}onPluginReadyOk(t,n){return new Promise(r=>{const o=this.plugins.get(t);o!=null&&o.ready?r(o):o===void 0&&console.warn(`plugin: ${t} not found.`),this.emitter.on(`${t}:ready`,()=>{const i=this.plugins.get(t);i&&(i.ready=!0,n==null||n(i),r(i))})})}}const zse={pluginName:"组件库"},Fse={pluginName:"Components"},yk={zh_CN:zse,en_US:Fse},Bse="_container_e0jz7_2",Vse="_header_e0jz7_8",Hse="_tabTitle_e0jz7_25",qse="_notFoundComponent_e0jz7_37",od={container:Bse,header:Vse,tabTitle:Hse,notFoundComponent:qse},Use="_square_1b87f_2",Gse="_componentItem_1b87f_18",Wse="_iconImg_1b87f_41",Kse="_iconBox_1b87f_45",Xse="_iconText_1b87f_54",Gs={square:Use,componentItem:Gse,iconImg:Wse,iconBox:Kse,iconText:Xse},Yse=e=>{const t={[GL]:e.id},n=v.useMemo(()=>e.iconText?w.jsx("div",{className:Gs.iconText,children:String(e.iconText).toUpperCase()}):typeof e.icon=="string"?w.jsx("img",{className:Gs.iconImg,src:e.icon,draggable:!1}):e.icon,[e.icon,e.iconText]),r=w.jsx("div",{className:De([Gs.square,e.containerClassName]),children:w.jsxs("div",{...t,className:Gs.componentItem,style:e.style,children:[w.jsx("div",{className:Gs.iconBox,children:n}),w.jsx("span",{children:e.name})]})});return e.description?w.jsx(W.Popover,{overlayInnerStyle:{maxWidth:"300px",maxHeight:"200px",overflow:"auto"},content:e.description||"",zIndex:1e3,placement:"right",children:r}):r},GL="data-drag-key",Jse="_ListBox_1mtsn_2",Qse="_collapsePanel_1mtsn_24",bk={ListBox:Jse,collapsePanel:Qse},xk=e=>{const{dataSource:t}=e,n=t.map(o=>o.name||""),r=v.useMemo(()=>t.map(o=>{const i=o.name||"",a=w.jsx("div",{className:bk.collapsePanel,children:o.list.map(s=>w.jsx(Yse,{id:s.id,name:s.title,icon:s.snapshot||s.snapshotText,iconText:s.snapshotText,description:s.description||""},s.id))});return{key:i,label:i,children:a}}),[t]);return t.length?w.jsx("div",{className:bk.ListBox,children:w.jsx(W.Collapse,{style:{width:"100%"},defaultActiveKey:n,items:r})}):null},WL=(e,t)=>{if(!e)return null;const n=e.getAttribute(t);return n||WL(e.parentElement,t)},Zse=(e,t)=>{const n=[],r=t==null?void 0:t.toLowerCase();return e.forEach(o=>{[...o.list].forEach(a=>{const s=a.list.filter(l=>{var u,d,f,h;let c=!1;return typeof l.description=="string"&&(c=(u=l.description)==null?void 0:u.includes(r)),c=c||((d=l.title)==null?void 0:d.toLowerCase().includes(r)),c=c||((f=l.snapshotText)==null?void 0:f.toLowerCase().includes(r)),c=c||((h=l.category)==null?void 0:h.toLowerCase().includes(r)),c});s.length&&n.push({name:a.name,list:s})})}),n},Yo="ComponentLib",Cb=`plugin:${Yo}`,ele=({children:e})=>w.jsx("div",{className:od.tabTitle,children:e});class tle extends v.Component{constructor(n){super(n);Y(this,"containerRef");Y(this,"disposeList",[]);Y(this,"boxSensor");Y(this,"leftPanelVisibleCb",async({visible:n,panelName:r})=>{await this.props.pluginCtx.pluginManager.onPluginReadyOk("Designer"),r===Yo&&n&&this.registerDragEvent()});Y(this,"getNewNode",n=>{const{pluginCtx:r}=this.props,o=r.pageModel;if(!n)return;const i=WL(n,GL);if(!i)return;const a=o.materialsModel.findSnippetById(i);if(a)return o==null?void 0:o.createNode(a.schema)});Y(this,"registerDragEvent",async()=>{const{containerRef:n}=this,{pluginCtx:r}=this.props,o=await r.pluginManager.get("Designer");if(!o||!n.current)return;const a=o.export.getDnd(),s=new Xr.Sensor({name:"ComponentListBox",container:n.current,mainDocument:document});this.boxSensor=s,s.setCanDrag(async c=>{const u=this.getNewNode(c.event.target);return this.props.pluginCtx.pluginManager.get("Designer").then(d=>{const f=d==null?void 0:d.export;f==null||f.selectNode("")}),{...c,extraData:{dropType:"NEW_ADD",dragNode:u}}}),a.registerSensor(s);const l=()=>{const{getWorkbench:c}=this.props.pluginCtx,u=c();u.state.leftBoxFixed||u.closeLeftPanel()};this.disposeList.push(()=>{a.emitter.off("dragStart",l)}),a.emitter.on("dragStart",l)});Y(this,"toAddNewNode",async n=>{const r=this.getNewNode(n.nativeEvent.target);if(!r)return;const{pageModel:o}=this.props.pluginCtx;return this.props.pluginCtx.pluginManager.get("Designer").then(async i=>{var m;const a=i==null?void 0:i.export,s=a==null?void 0:a.getSelectedNodeId(),l=o.getNode(s),c=he.findContainerNode(l);let u="CHILD_END",d=l??null;if(l)c===l.parent?l.isContainer()?(u="CHILD_END",d=l):(u="AFTER",d=l):c&&!he.isPageModel(c)&&(u="CHILD_END",d=c);else{const g=o.getRootNode();g&&(u="CHILD_END",d=g)}const f=a==null?void 0:a.getInstance(),h=await(f==null?void 0:f.customAdvanceHook.onNewAdd({dragNode:r,dropNode:d,eventObj:{from:n.nativeEvent,fromSensor:this.boxSensor,pointer:null,fromPointer:null,extraData:{}}}));if(h===!1)return;let p={dragNode:r,dropNode:d,pos:u};typeof h=="object"&&(p={...p,dragNode:h.addNode??p.dragNode,dropNode:h.dropNode??p.dropNode,pos:((m=h.dropPosInfo)==null?void 0:m.pos)??p.pos}),o.addNode(p.dragNode,p.dropNode,p.pos),setTimeout(()=>{a==null||a.selectNode(p.dragNode.id)},200)})});Y(this,"onSearch",()=>{this.state.searchString.length||this.setState({searchResultList:[],searchMode:!1});const n=Zse(this.state.componentsList,this.state.searchString);this.setState({searchResultList:n,searchMode:!0})});this.containerRef=v.createRef(),this.state={componentsList:[],searchString:"",searchMode:!1,searchResultList:[]}}updateComponentsList(){const{pluginCtx:n}=this.props,{pageModel:r}=n,{materialsModel:o}=r,i=o.getAllSnippets();if(i.length&&i[0].name==="default"){const a=i.shift();a&&i.push(a)}this.setState({componentsList:i})}async componentDidMount(){await this.props.pluginCtx.pluginManager.onPluginReadyOk("Designer"),this.registerDragEvent();const{pluginCtx:n}=this.props,{i18n:r}=n;Object.keys(yk).forEach(o=>{r.addResourceBundle(o,Cb,yk[o],!0,!0)}),r.update(),this.updateComponentsList(),n.globalEmitter.on("updateMaterials",()=>{this.updateComponentsList()})}componentWillUnmount(){this.disposeList.map(n=>n())}render(){const{componentsList:n,searchString:r,searchResultList:o,searchMode:i}=this.state,{toAddNewNode:a}=this,s=this.props.pluginCtx.config.customSearchBar,l=n.map(u=>({label:w.jsx(ele,{children:dP(u.name)}),key:u.name,children:w.jsx(xk,{dataSource:u.list})})),c=w.jsx(W.Input,{value:r,placeholder:"input search text",suffix:w.jsx(LM,{style:{color:"rgba(0,0,0,.25)"}}),onPressEnter:this.onSearch,allowClear:!0,onClear:()=>{this.setState({searchMode:!1,searchResultList:[]})},onChange:u=>{this.setState({searchString:u.target.value})}});return w.jsxs("div",{ref:this.containerRef,className:od.container,onClick:a,children:[w.jsx("div",{className:od.header,children:s?w.jsx(s,{defaultInputView:c,updateState:this.setState.bind(this)}):c}),i&&w.jsxs("div",{children:[!o.length&&w.jsx("div",{className:od.notFoundComponent,children:"暂无相关组件"}),w.jsx(xk,{dataSource:o})]}),!o.length&&!i&&w.jsx(W.Tabs,{defaultActiveKey:"BaseComponent",items:l,style:{width:"100%"}})]})}}const _c={name:Yo,PLUGIN_NAME:Yo,async init(e){const t=Za(Cb)(tle),n=Za(Cb)(({t:o})=>w.jsx(w.Fragment,{children:o("pluginName")}));e.getWorkbench().addLeftPanel({title:w.jsx(n,{}),name:"ComponentLib",icon:w.jsx(_M,{}),render:w.jsx(t,{pluginCtx:e})}),e.pluginReadyOk()},reload:async()=>{console.log(Yo,"not suooprt reload")},async destroy(e){console.log("destroy",e)},export:()=>({}),meta:{engine:{version:"1.0.0"}}};_c.PLUGIN_NAME=Yo;const Sl="Designer",nle={pluginName:"组件库"},rle={pluginName:"Designer Canvas"},wk={zh_CN:nle,en_US:rle},ole="_toolBarBox_h5ljb_2",ile="_item_h5ljb_10",ale="_layoutSelectBox_h5ljb_20",sle="_hoverBox_h5ljb_25",lle="_hoverBoxActive_h5ljb_35",cle="_hoverItem_h5ljb_39",ule="_placeholder_h5ljb_47",vo={toolBarBox:ole,item:ile,layoutSelectBox:ale,hoverBox:sle,hoverBoxActive:lle,hoverItem:cle,placeholder:ule},dle=({dataSource:e,children:t,onSelect:n})=>{const[r,o]=v.useState(!1);return w.jsxs("div",{className:vo.layoutSelectBox,children:[w.jsx("div",{className:De([vo.hoverBox,r&&vo.hoverBoxActive]),children:e.map(i=>w.jsx("div",{className:vo.hoverItem,onClick:()=>n(i.key),children:i.label},i.key))}),w.jsx("div",{className:vo.placeholder,onMouseOver:()=>o(!0),onMouseOut:()=>o(!1),children:t})]})},KL=e=>{var h;const{nodeList:t,toSelectNode:n,toDelete:r,toCopy:o,toHidden:i}=e,a=[...t],s=a.shift(),l=a.map(p=>{var b;const m=p,g=(b=m.materialsModel.findByComponentName(m.value.componentName))==null?void 0:b.value.title,y=m.value.title||g||m.value.componentName||"";return{key:p.id,label:y||"Empty"}}),c=w.jsx("div",{className:vo.item,onClick:()=>o((s==null?void 0:s.id)||""),children:w.jsx(Ax,{})},"CopyOutlined"),u=w.jsx("div",{className:vo.item,onClick:()=>r((s==null?void 0:s.id)||""),children:w.jsx(pc,{})},"DeleteOutlined"),d=w.jsx("div",{className:vo.item,onClick:()=>i((s==null?void 0:s.id)||""),children:w.jsx(Mx,{})},"EyeInvisibleOutlined"),f=w.jsx(dle,{dataSource:l.reverse(),onSelect:n,children:w.jsx("div",{children:(s==null?void 0:s.value.title)||((h=s==null?void 0:s.material)==null?void 0:h.value.title)||"Empty"})},"LayoutSelect");return{map:{copyItem:c,deleteItem:u,visibleItem:d,nodeLayout:f},list:[f,d,c,u]}},fle=e=>{const{copyItem:t,deleteItem:n,visibleItem:r,nodeLayout:o}=v.useMemo(()=>KL(e).map,[e]);return w.jsxs("div",{className:vo.toolBarBox,children:[o,r,t,n]})},hle=(e,t=5)=>{const n=[];let r=0,o=e;for(;r<t&&o;)he.isNodeModel(o)&&(n.push(o),r++),o=o.parent||null;return n},ple=({node:e})=>w.jsx("div",{style:{backgroundColor:"rgba(100,100,100)",padding:"3px 10px 3px 15px",borderRadius:"2px",opacity:.9,color:"rgba(220,220,220)"},children:e.value.componentName}),gle="_hoverTips_k3vn7_2",mle={hoverTips:gle};class vle{constructor(t){Y(this,"getPortalViewCtx");Y(this,"ctx");Y(this,"layoutRef");this.getPortalViewCtx=t.getPortalViewCtx,this.ctx=t.ctx,this.layoutRef=t.layoutRef}async canDrag({dragNode:t,eventObj:n}){var o;const r=(o=t==null?void 0:t.material)==null?void 0:o.value.advanceCustom;return r!=null&&r.canDragNode?r==null?void 0:r.canDragNode(t,{context:this.ctx,viewPortal:this.getPortalViewCtx(),event:n,extra:n.extraData}):!0}async canDrop({dragNode:t,dropNode:n,eventObj:r}){var l,c;const o=(l=t==null?void 0:t.material)==null?void 0:l.value.advanceCustom,i=(c=n.material)==null?void 0:c.value.advanceCustom;let a={};const s={dropNode:n,context:this.ctx,viewPortal:this.getPortalViewCtx(),event:r,extra:r.extraData};if(o!=null&&o.canDropNode)if(a=await o.canDropNode(t,s),i!=null&&i.canAcceptNode){let u;return typeof a=="object"?u=await(i==null?void 0:i.canAcceptNode(a.dragNode,{...s,...a})):u=await(i==null?void 0:i.canAcceptNode(t,{...s})),u}else return a;else if(i!=null&&i.canAcceptNode)return await(i==null?void 0:i.canAcceptNode(t,{...s}));return!0}async onNewAdd({dragNode:t,dropNode:n,eventObj:r}){var i,a,s;const o=await((s=(a=(i=t.material)==null?void 0:i.value.advanceCustom)==null?void 0:a.onNewAdd)==null?void 0:s.call(a,t,{dropNode:n,context:this.ctx,viewPortal:this.getPortalViewCtx(),event:r,extra:r.extraData}));return o===!1?!1:o}getSelectRectViewRender(t){var r;const n=t.material;return(r=n==null?void 0:n.value.advanceCustom)==null?void 0:r.selectRectViewRender}getHoverRectViewRender(t){var r;if(!t)return null;const n=t.material;return(r=n==null?void 0:n.value.advanceCustom)==null?void 0:r.hoverRectViewRender}getDropViewRender(t){var r;if(!t)return null;const n=t.material;return(r=n==null?void 0:n.value.advanceCustom)==null?void 0:r.dropViewRender}getGhostViewRender(t){var r;if(!t)return null;const n=t.material;return(r=n==null?void 0:n.value.advanceCustom)==null?void 0:r.ghostViewRender}getToolbarViewRender(t){var r;if(!t)return null;const n=t.material;return(r=n==null?void 0:n.value.advanceCustom)==null?void 0:r.toolbarViewRender}async onCopy(t){var a;let n=t;const r=this.ctx,o=t.material,i=(a=o==null?void 0:o.value.advanceCustom)==null?void 0:a.onCopy;if(i){const s=await i(t,{viewPortal:this.getPortalViewCtx(),context:r,extra:{}});if(s===!1)return!1;typeof s=="object"&&(n=s.copyNode??n)}return n&&r.pageModel.copyNode(n)&&await Zr(),n}async onDelete(t){var a;let n=t;const r=this.ctx,o=t.material,i=(a=o==null?void 0:o.value.advanceCustom)==null?void 0:a.onDelete;if(i){const s=await i(t,{viewPortal:this.getPortalViewCtx(),context:r,extra:{}});if(s===!1)return!1;typeof s=="object"&&(n=s.deleteNode??n)}return n&&r.pageModel.deleteNode(n)&&await Zr(),n}}class yle extends v.Component{constructor(n){super(n);Y(this,"layoutRef");Y(this,"customAdvanceHook");Y(this,"getPortalViewCtx",()=>({setView:n=>{this.setState({portalView:n})},clearView:()=>{this.setState({portalView:null})}}));Y(this,"onNodeDragging",async n=>{var i,a,s;const r=n.extraData,o=r==null?void 0:r.dragNode;if(o)return(s=(a=(i=o.material)==null?void 0:i.value.advanceCustom)==null?void 0:a.onDragging)==null?void 0:s.call(a,o,{context:this.props.pluginCtx,viewPortal:this.getPortalViewCtx(),event:n,extra:r})});Y(this,"onNodeDragEnd",async()=>{this.setState({...this.state,dropViewRender:this.props.pluginCtx.config.dropViewRender})});Y(this,"onNodeDrop",async n=>{var c,u,d,f,h,p,m,g,y,b,S;const{layoutRef:r}=this,o=this.props.pluginCtx.pageModel,i=n.extraData,a=i==null?void 0:i.dropPosInfo,s={before:"BEFORE",after:"AFTER",current:"CHILD_START"}[(a==null?void 0:a.pos)||"after"],l=i==null?void 0:i.dragNode;if(l&&await((d=(u=(c=l.material)==null?void 0:c.value.advanceCustom)==null?void 0:u.onDrop)==null?void 0:d.call(u,l,{context:this.props.pluginCtx,viewPortal:this.getPortalViewCtx(),event:n,extra:i}))===!1)return!1;if(!(i!=null&&i.dropNode))return console.warn("cancel drop, because drop node is null"),!1;if(i.dropType==="NEW_ADD"){if(l&&await((p=(h=(f=l.material)==null?void 0:f.value.advanceCustom)==null?void 0:h.onNewAdd)==null?void 0:p.call(h,l,{dropNode:i.dropNode,context:this.props.pluginCtx,viewPortal:this.getPortalViewCtx(),event:n,extra:i}))===!1)return!1;((m=i.dropNode)==null?void 0:m.nodeType)!=="NODE"?o==null||o.addNode(i.dragNode,i.dropNode,"CHILD_START"):o==null||o.addNode(i.dragNode,i.dropNode,s)}else{if(((g=i.dropNode)==null?void 0:g.id)===((y=i.dragNode)==null?void 0:y.id))return console.warn("dragNode and dropNode id is the same"),!1;if(!o.moveNodeById(((b=i.dragNode)==null?void 0:b.id)||"",((S=i==null?void 0:i.dropNode)==null?void 0:S.id)||"",s))return console.warn("drop failed"),!1}return this.props.pluginCtx.emitter.emit("onDrop",n),new Promise(x=>{setTimeout(async()=>{var C,E,O;if(l&&await this.onSelectNode(l,null)===!1)return(C=r.current)==null||C.selectNode(""),x(!1);(O=r.current)==null||O.selectNode(((E=i.dragNode)==null?void 0:E.id)||""),x(!0)},150)})});Y(this,"onSelectNode",async(n,r)=>{var l,c,u,d;const{pluginCtx:o}=this.props,{layoutRef:i}=this;if(!n)return o.engine.updateCurrentSelectNode(null),(l=i.current)==null||l.selectNode(""),this.setState({selectToolbarView:null}),!1;const a=await((d=(u=(c=n.material)==null?void 0:c.value.advanceCustom)==null?void 0:u.onSelect)==null?void 0:d.call(u,n,{context:this.props.pluginCtx,viewPortal:this.getPortalViewCtx(),event:r,extra:{}}));if(a===!1)return a;o.engine.updateCurrentSelectNode(n);const s=this.getToolbarView(n);return this.setState({selectToolbarView:s,selectRectViewRender:this.customAdvanceHook.getSelectRectViewRender(n)||this.props.pluginCtx.config.selectRectViewRender}),!0});Y(this,"onDragStart",async n=>{var c,u,d,f,h,p;const r=n.extraData,o=r==null?void 0:r.dragNode;if(!o)return!1;const i={context:this.props.pluginCtx,viewPortal:this.getPortalViewCtx(),event:n,extra:r},a=await((d=(u=(c=o.material)==null?void 0:c.value.advanceCustom)==null?void 0:u.canDragNode)==null?void 0:d.call(u,o,{context:this.props.pluginCtx,viewPortal:this.getPortalViewCtx(),event:n,extra:{}}));if(a===!1)return a;const s=await((p=(h=(f=o.material)==null?void 0:f.value.advanceCustom)==null?void 0:h.onDragStart)==null?void 0:p.call(h,o,{...i}));if(s===!1)return s;const l=this.getGhostView(o,i);return this.setState({...this.state,ghostView:l,dropViewRender:this.customAdvanceHook.getDropViewRender(o)||this.props.pluginCtx.config.dropViewRender}),!0});Y(this,"getGhostView",(n,r)=>{let o=w.jsx(ple,{node:n});const a=this.customAdvanceHook.getGhostViewRender(n)||this.props.pluginCtx.config.ghostViewRender;return a&&(o=w.jsx(a,{node:n,params:r})),o});Y(this,"toSelectNode",async n=>{var a;const o=this.props.pluginCtx.pageModel.getNode(n);return await this.onSelectNode(o||null,null)===!1?!1:((a=this.layoutRef.current)==null||a.selectNode(n),!0)});Y(this,"toCopyNode",async n=>{const o=this.props.pluginCtx.pageModel.getNode(n),i=await this.customAdvanceHook.onCopy(o);if(i)return this.toSelectNode(i.id),!0});Y(this,"toDeleteNode",async n=>{const o=this.props.pluginCtx.pageModel.getNode(n);return o?await this.customAdvanceHook.onDelete(o)===!1?!1:(this.toSelectNode(""),!0):void 0});Y(this,"toHidden",n=>{const r=this.props.pluginCtx.pageModel.getNode(n);if(!r)return;const o=r.value.configure.devState??{};return o.condition=!1,r.value.configure.devState=o,r.updateValue(),!0});Y(this,"getToolbarView",n=>{const o={nodeList:hle(n,5),toSelectNode:this.toSelectNode,toCopy:this.toCopyNode,toDelete:this.toDeleteNode,toHidden:this.toHidden},i=KL(o);let a=w.jsx(fle,{...o});const s=this.customAdvanceHook.getToolbarViewRender(n)||this.props.pluginCtx.config.toolbarViewRender;return s&&(a=w.jsx(s,{node:n,context:this.props.pluginCtx,toolBarItems:i.map,toolBarItemList:i.list})),a});Y(this,"onHoverNode",(n,r,o)=>{this.props.pluginCtx.emitter.emit("onHover",n);const i=n==null?void 0:n.material;i||console.warn("material not found",n);const a={context:this.props.pluginCtx,viewPortal:this.getPortalViewCtx(),event:o,extra:{}},s=this.getGhostView(r,a),l={hoverToolbarView:w.jsx("div",{className:mle.hoverTips,children:(i==null?void 0:i.value.title)||(i==null?void 0:i.componentName)}),ghostView:s,hoverRectViewRender:this.customAdvanceHook.getHoverRectViewRender(n)||this.props.pluginCtx.config.hoverRectViewRender};r||(l.ghostView=null),this.setState({...l})});Y(this,"nodeCanDrag",async n=>{const r=n.extraData,o=r==null?void 0:r.dragNode;return await this.customAdvanceHook.canDrag({dragNode:o,eventObj:n})});Y(this,"nodeCanDrop",async n=>{const r=n.extraData,o=r==null?void 0:r.dragNode;return await this.customAdvanceHook.canDrop({dragNode:o,eventObj:n,...r})});Y(this,"innerSelectRectViewRender",n=>{const{selectRectViewRender:r}=this.state,{pluginCtx:o}=this.props,i=r,a=o.engine.getActiveNode();return!i||!a?w.jsx(w.Fragment,{}):w.jsx(i,{node:a,componentInstance:n.instance,componentInstanceIndex:n.index,params:{viewPortal:this.getPortalViewCtx(),context:this.props.pluginCtx,extra:{}}})});Y(this,"innerHoverRectViewRender",n=>{const{hoverRectViewRender:r}=this.state,o=r;return o?w.jsx(o,{node:n.instance._NODE_MODEL,componentInstance:n.instance,componentInstanceIndex:n.index,params:{viewPortal:this.getPortalViewCtx(),context:this.props.pluginCtx,extra:{}}}):w.jsx(w.Fragment,{})});Y(this,"innerDropViewRender",n=>{const{dropViewRender:r}=this.state,o=r;return o?w.jsx(o,{...n,node:n.instance._NODE_MODEL,componentInstance:n.instance,componentInstanceIndex:n.index,params:{viewPortal:this.getPortalViewCtx(),context:this.props.pluginCtx,extra:{}}}):w.jsx(w.Fragment,{})});this.state={pageModel:n.pluginCtx.pageModel,hoverToolbarView:null,selectToolbarView:null,ghostView:null,portalView:null,selectRectViewRender:null,hoverRectViewRender:null,dropViewRender:null},this.layoutRef=v.createRef(),this.customAdvanceHook=new vle({getPortalViewCtx:this.getPortalViewCtx,ctx:this.props.pluginCtx,layoutRef:this.layoutRef})}async updateRenderComponents(n={}){var s,l;const o={...this.props.pluginCtx.config.components||{},...n};this.props.pluginCtx.config.components=o;const{layoutRef:i}=this;if(!i.current){console.warn("layout not ready ok");return}await i.current.ready();const a=i.current;(l=(s=a==null?void 0:a.designRenderRef)==null?void 0:s.current)==null||l.updateComponents(o)}componentDidMount(){const{i18n:n}=this.props.pluginCtx;Object.keys(wk).forEach(r=>{n.addResourceBundle(r,`plugin:${Sl}`,wk[r],!0,!0)}),this.init()}getIframeDom(){var n;return(n=this.layoutRef.current)==null?void 0:n.iframeContainer}reloadRender(){var n;(n=this.layoutRef.current)==null||n.reload(),this.props.pluginCtx.pageModel.reloadPage()}async init(){const{layoutRef:n}=this,{pluginCtx:r}=this.props;if(!n.current){console.warn("layout not ready ok");return}await n.current.ready();const o=n.current;r.emitter.emit("ready",{UIInstance:this}),o.dnd.emitter.on("click",({event:i})=>{r.getWorkbench().onGlobalClick(i)}),this.props.pluginCtx.pageModel.emitter.on("onPageChange",({node:i})=>{var a,s,l;(l=(s=(a=n.current)==null?void 0:a.designRenderRef)==null?void 0:s.current)==null||l.rerender(i)}),this.props.pluginCtx.pageModel.emitter.on("onReloadPage",({node:i})=>{var a,s,l;(l=(s=(a=n.current)==null?void 0:a.designRenderRef)==null?void 0:s.current)==null||l.rerender(i)}),r.pluginReadyOk()}render(){const{layoutRef:n,props:r,onSelectNode:o,onDragStart:i,onHoverNode:a,onNodeDrop:s,onNodeDragging:l,onNodeDragEnd:c}=this,{pageModel:u,hoverToolbarView:d,selectToolbarView:f,ghostView:h,portalView:p,selectRectViewRender:m,hoverRectViewRender:g,dropViewRender:y}=this.state,{pluginCtx:b}=r,S=b.assetsPackageListManager.getList()||[],x=b.engine.props.renderJSUrl||"./render.umd.js",C={};return m&&(C.selectRectViewRender=this.innerSelectRectViewRender),g&&(C.hoverRectViewRender=this.innerHoverRectViewRender),y&&(C.dropViewRender=this.innerDropViewRender),f&&(C.selectToolbarView=this.state.selectToolbarView),w.jsxs(w.Fragment,{children:[w.jsx(Xr.Layout,{beforeInitRender:r.pluginCtx.config.beforeInitRender,customRender:r.pluginCtx.config.customRender,ref:n,pageModel:u,renderJSUrl:x,...r,hoverToolBarView:d,selectBoxStyle:{},hoverBoxStyle:{},nodeCanDrag:this.nodeCanDrag,nodeCanDrop:this.nodeCanDrop,onSelectNode:o,onNodeDragStart:i,onHoverNode:a,onNodeDrop:s,onNodeDragging:l,onNodeDraEnd:c,...C,ghostView:h,assets:S,pluginCtx:this.props.pluginCtx}),p&&Gr.createPortal(p,document.body)]})}}const Ec=()=>{const e=v.createRef();return{name:Sl,PLUGIN_NAME:Sl,async init(t){t.name=Sl,t.getWorkbench().replaceBodyView(w.jsx(yle,{ref:e,pluginCtx:t}))},async destroy(t){console.log("destroy",t)},export:()=>({setMode(t){var n,r;return(r=(n=e.current)==null?void 0:n.layoutRef.current)==null?void 0:r.setMode(t)},setPreviewMode(){var t,n;return(n=(t=e.current)==null?void 0:t.layoutRef.current)==null?void 0:n.setMode(Xr.LayoutMode.PREVIEW)},setEditMode(){var t,n;return(n=(t=e.current)==null?void 0:t.layoutRef.current)==null?void 0:n.setMode(Xr.LayoutMode.EDIT)},setCanvasWidth(t){var r;const n=(r=e.current)==null?void 0:r.getIframeDom();if(n!=null&&n.containerDom){let o=t;typeof t=="number"&&(o=`${t}px`),n.containerDom.style.width=String(o),n.containerDom.style.margin="0 auto"}},getIframeDom(){var t;return(t=e.current)==null?void 0:t.getIframeDom()},getInstance:()=>e.current,getDnd:()=>{var t,n;return(n=(t=e.current)==null?void 0:t.layoutRef.current)==null?void 0:n.dnd},selectNode:async t=>{var n;return await((n=e.current)==null?void 0:n.toSelectNode(t))},copyNode:async t=>{var n;return await((n=e.current)==null?void 0:n.toCopyNode(t))},deleteNode:async t=>{var n;return await((n=e.current)==null?void 0:n.toDeleteNode(t))},getSelectedNodeId:()=>{var t,n;return(n=(t=e.current)==null?void 0:t.layoutRef.current)==null?void 0:n.state.currentSelectId},updatePage:t=>{var n,r,o,i;(i=(o=(r=(n=e.current)==null?void 0:n.layoutRef.current)==null?void 0:r.designRenderRef)==null?void 0:o.current)==null||i.rerender(t)},reload:()=>{var t;(t=e.current)==null||t.reloadRender()},getComponentInstances:t=>{var n,r,o;return((o=(r=(n=e.current)==null?void 0:n.layoutRef.current)==null?void 0:r.designRenderRef.current)==null?void 0:o.getInstancesById(t))||[]},getDynamicComponentInstances:t=>{var r,o,i,a;const n=(a=(i=(o=(r=e.current)==null?void 0:r.layoutRef.current)==null?void 0:o.designRenderRef.current)==null?void 0:i.renderRef.current)==null?void 0:a.dynamicComponentInstanceMap;return(n==null?void 0:n.get(t))||[]},getLayoutRef:()=>{var t;return(t=e.current)==null?void 0:t.layoutRef},getDesignerWindow:()=>{var t,n;return(n=(t=e.current)==null?void 0:t.layoutRef.current)==null?void 0:n.iframeContainer.getWindow()},updateRenderComponents:t=>{var n;return(n=e.current)==null?void 0:n.updateRenderComponents(t)}}),meta:{engine:{version:"1.0.0"}}}};Ec.PLUGIN_NAME=Sl;const _b=(e,t)=>{if(!e)return null;const n=e.getAttribute(t);return n||_b(e.parentElement,t)},XL=(e,t,n)=>{const r=(o,i)=>{var m,g,y;let a=o.children||[];Array.isArray(a)||(a=[]),a=a.filter(b=>typeof b!="string");const s=(m=n.materialsModel.findByComponentName(o.componentName))==null?void 0:m.value.title,l={title:o.title||s||o.componentName,key:o.id,children:[],parent:i,canDropPos:(g=n.getNode(o.id||""))!=null&&g.isContainer()?void 0:["after","before"]},c=[],u={title:"SLOT",key:`${o.id}-SLOT`,children:c,canBeSelected:!1,canDropPos:!1,parent:null,containerRender:({treeNodeView:b})=>w.jsx("div",{style:{border:"1px solid #a97cf8",borderTopWidth:"6px",marginRight:"2px",marginTop:"5px"},children:b})},d=o.props||{},f=(b,S,x)=>{if(he.isJSSlotPropNode(b)){const E=b,O=n.getNode(o.id);let _="";if(O){const M=h(O,[...x,S]);_=he.getMTitle(M)}let k=S;_&&(k=he.getMTitle(_)||S);const N={title:k,key:`${o.id}-${x.join("_")}`,children:[],canBeSelected:!1,canDrag:!1,canDropPos:["current"],parent:u};let R=[];E.value&&!Array.isArray(E.value)?R=[E.value]:R=E.value,N.children=XL(R,N,n),c.push(N);return}if(hs(b)){const E=b;Object.keys(E).forEach(O=>{f(E[O],O,[...x,S])})}Array.isArray(b)&&b.forEach((O,_)=>{f(O,String(_),[...x,S])})},h=(b,S)=>{const x=xle(b),C=S.map(E=>String(parseInt(E,10))===E?"$NUM":E);return x[C.join(".")]||""};Object.keys(d).forEach(b=>{f(d[b],b,[])}),c.length>0&&((y=l.children)==null||y.push(u),u.parent=l);const p=a.map(b=>r(b,l))||[];return l.children=[...l.children,...p],l};return Array.isArray(e)?e.map(o=>r(o,t)):r(e,t)},YL=(e,t)=>{const n=e.componentsTree;let r=n.children||[];Array.isArray(r)||(r=[]);const o={title:"Page",key:n.id||"Page",rootNode:!0,children:[]};return o.children=XL(r,o,t),[o]},id=(e,t)=>{let n=[];Array.isArray(e)?n=e:n=[e];let r=!1;const o=(i,a)=>{var l;if(r)return;a(i)?r=!0:(l=i.children)==null||l.forEach(c=>{o(c,a)})};n.forEach(i=>{o(i,t)})};function ble(e){const{point:t,dom:n}=e;let r;const o=t,i=n.getBoundingClientRect(),a=i.height,s=i.x+50,l=i.y+Math.round(a/2);return o.y>l?r="after":r="before",o.x>s&&r==="after"&&(r="current"),{pos:r,direction:"vertical"}}const xle=e=>{var o;const t={},n=(o=e.material)==null?void 0:o.value.props;if(!n)return t;const r=(i,a)=>{var s,l;if(hs(i)){const c=[...a],u=i,d=u.componentName;if(d==="ArraySetter"){const h=((s=u.props)==null?void 0:s.item.setters)||[],p=t[a.join(".")];let m="";typeof p=="string"?m=p:m=p.label,c.push("$NUM"),h.forEach(g=>{m=`${m}`,t[c.join(".")]=m,r(g,c)})}else d==="ShapeSetter"&&(((l=u.props)==null?void 0:l.elements)||[]).forEach(p=>{const m=[...c];m.push(p.name),t[m.join(".")]=p.title,(p.setters||[]).forEach(y=>{r(y,[...m])})})}};return n.forEach(i=>{let a=null;he.isSpecialMaterialPropType(i)?a=i.content:a=i;let s=[];Array.isArray(a)?s=a:s=[a],s.forEach(l=>{var u;const c=[l.name];t[c.join(".")]=l.title,(u=l.setters)==null||u.forEach(d=>{r(d,c)})})}),t};var Ra=(e=>(e.DRAGGING="DRAGGING",e.NORMAL="NORMAL",e))(Ra||{});const JL=v.createContext({state:{treeData:[],currentSelectNodeKeys:[],expandKeys:[],multiSelect:!1,dragState:"NORMAL",pageModel:null},updateState:()=>{},onSelectNode:async()=>!0,onDeleteNode:async()=>!0,onCopyNode:async()=>!0}),wle="_contentBox_1tkrj_2",Sle="_nodeBox_1tkrj_13",Cle="_toolbarBox_1tkrj_17",_le="_iconItem_1tkrj_21",Ele="_nodeContent_1tkrj_25",kle="_selected_1tkrj_35",Ole="_nodeArrow_1tkrj_38",Nle="_expanded_1tkrj_41",Rle="_nodeRenderView_1tkrj_45",Tle="_nodeChildren_1tkrj_56",Ale="_dropAnchorLine_1tkrj_73",Mle="_arrowSpan_1tkrj_82",mn={contentBox:wle,nodeBox:Sle,toolbarBox:Cle,iconItem:_le,nodeContent:Ele,selected:kle,nodeArrow:Ole,expanded:Nle,nodeRenderView:Rle,nodeChildren:Tle,dropAnchorLine:Ale,arrowSpan:Mle},la="data-drag-key",QL=e=>{var F,q,B,z;const t=v.useRef({titleEditable:!1}),{level:n=0,item:r,paths:o=["0"]}=e,[i,a]=v.useState(!0),{state:s,updateState:l,onSelectNode:c,onDeleteNode:u,getDesignerHandler:d,onCopyNode:f}=v.useContext(JL),[h,p]=v.useState((F=t.current)==null?void 0:F.titleEditable),[m,g]=v.useState("");t.current.titleEditable=h;const y=s.expandKeys.find(I=>I===r.key),b=I=>{let V=s.expandKeys;I!==void 0?I===!0?y||V.push(r.key||""):y&&(V=V.filter(j=>j!==r.key)):y?V=V.filter(j=>j!==r.key):V.push(r.key||""),l({expandKeys:V})},S=s.currentSelectNodeKeys.find(I=>I===r.key),x=v.useRef(null),C=async()=>{var V;if(b(!0),h){(V=x==null?void 0:x.current)==null||V.focus();return}if(r.canBeSelected!==void 0&&r.canBeSelected===!1)return;let I=s.currentSelectNodeKeys;if(!s.multiSelect){r.key?await(c==null?void 0:c({keys:[r.key],node:r}))&&l({currentSelectNodeKeys:[String(r.key)]}):c==null||c({keys:[],node:r});return}S?I=I.filter(j=>j!==r.key):I.push(String(r.key)),c==null||c({keys:I,node:r}),l({currentSelectNodeKeys:I})},E=20,O=E*n,_=r.canBeSelected??!0,k={[la]:r.key},N=v.useRef(),R=v.useRef();R.current=s,N.current=I=>{const V=s.expandKeys,j=Array.from(new Set([...V,I]));l({expandKeys:j})};const M=v.useRef(null);v.useEffect(()=>{var H,U;let I=0;(H=M.current)==null||H.addEventListener("mouseenter",()=>{I=window.setTimeout(()=>{var G,X;((G=R.current)==null?void 0:G.dragState)===Ra.DRAGGING&&((X=N.current)==null||X.call(N,r.key||""))},.8*1e3)}),(U=M.current)==null||U.addEventListener("mouseleave",()=>{clearTimeout(I)});const V=G=>{var X;if(t.current.titleEditable){if(G.target===((X=x.current)==null?void 0:X.input))return;p(!1),L.updateValue()}};let j;return(async()=>{const G=await e.pluginCtx.pluginManager.get("Designer"),X=G==null?void 0:G.export,Q=X==null?void 0:X.getDesignerWindow();Q==null||Q.addEventListener("click",V),j=Q||null})(),document.addEventListener("click",V),()=>{I&&clearTimeout(I),document.removeEventListener("click",V),j==null||j.removeEventListener("click",V)}},[]);const L=(q=s.pageModel)==null?void 0:q.getNode(r.key||""),T=()=>{const I=!i;if(!L)return;const V=L.value.configure.devState??{};V.condition=I,L.value.configure.devState=V,L.updateValue(),a(I)};let P=r.title;r.titleViewRender&&(P=r.titleViewRender({item:r,titleView:r.title}));const A=w.jsxs("div",{className:mn.nodeBox,children:[w.jsxs("div",{className:De([mn.nodeContent,S&&_&&mn.selected]),style:{marginLeft:`${-O}px`,paddingLeft:`${O+8}px`},onMouseMove:async()=>{if(!r.key)return;const I=await(d==null?void 0:d()),V=I==null?void 0:I.getDynamicComponentInstances(r.key);typeof(V==null?void 0:V._CONDITION)<"u"&&a(V==null?void 0:V._CONDITION)},children:[(B=r.children)!=null&&B.length?w.jsx("span",{style:{paddingRight:"5px"},className:mn.arrowSpan,onClickCapture:()=>b(),children:w.jsx(IM,{className:De([mn.nodeArrow,y&&mn.expanded])})}):null,w.jsxs("div",{className:mn.nodeRenderView,...k,ref:M,onClick:C,onDoubleClick:()=>{var D;if(!L)return;const I=L,V=(D=I.materialsModel.findByComponentName(I.value.componentName))==null?void 0:D.value.title,j=I.value.title||V||I.value.componentName||"";g(j),p(!0),setTimeout(()=>{var H;(H=x.current)==null||H.focus()},16.66)},children:[!h&&P,h&&w.jsx("div",{style:{paddingRight:"10px"},children:w.jsx(W.Input,{size:"small",maxLength:20,style:{},ref:x,value:m,onPressEnter:()=>{p(!1),L.updateValue()},onChange:I=>{L.value.title=I.target.value,g(I.target.value)}})})]}),!h&&!r.rootNode&&w.jsxs("div",{className:mn.toolbarBox,children:[w.jsxs("div",{className:mn.iconItem,children:[!i&&w.jsx(RM,{onClick:T}),i&&w.jsx(Mx,{onClick:T})]}),w.jsx("div",{className:mn.iconItem,onClick:()=>{f(r.key||"")},children:w.jsx(Ax,{})}),w.jsx("div",{className:mn.iconItem,onClick:()=>{u(r.key||"")},children:w.jsx(pc,{})})]})]}),w.jsx("div",{className:De([mn.nodeChildren,S&&mn.selected]),style:{paddingLeft:`${E}px`,height:y?"auto":"0"},children:y&&((z=r.children)==null?void 0:z.map((I,V)=>{const j=`${I.key}-${V}`;return w.jsx(QL,{item:I,paths:[...o,V],level:n+1,pluginCtx:e.pluginCtx},j)}))})]});return r.containerRender?r.containerRender({item:r,treeNodeView:A}):A};class Ple extends v.Component{constructor(n){super(n);Y(this,"domRef");Y(this,"disposeCbList",[]);Y(this,"sensor");Y(this,"getDesignerHandler",async()=>{const n=await this.props.pluginCtx.pluginManager.get("Designer");return n==null?void 0:n.export});Y(this,"updateTreeDataFromNode",()=>{const{pluginCtx:n}=this.props,{pageModel:r}=n,o=r.export(),i=YL(o,r);this.setState({treeData:i})});Y(this,"getParentKeyPaths",n=>{const{treeData:r}=this.state;let o=null;if(id(r,i=>i.key===n?(o=i,!0):!1),o){let i=o==null?void 0:o.parent;const a=[];for(;i;)i.key&&a.push(i.key),i=i.parent;return a}else return[]});Y(this,"scrollNodeToView",n=>{var o;const r=document.querySelector(`[${la}="${n}"]`);(o=r==null?void 0:r.scrollIntoView)==null||o.call(r,{behavior:"smooth",block:"center"})});Y(this,"toSelectTreeNode",n=>{if(!n){this.setState({currentSelectNodeKeys:[]});return}const r=this.getParentKeyPaths(n.id);ur.debug("onSelectNodeChange parent path",r,n);const o=Array.from(new Set([...this.state.expandKeys,...r]));ur.debug("onSelectNodeChange newExpandKeys",o,n),this.setState({currentSelectNodeKeys:[n.id],expandKeys:o}),setTimeout(()=>{this.scrollNodeToView(n.id)},100)});Y(this,"containNode",(n,r)=>{let o=null;return id(n,i=>i.key===r.key?(o=i,!0):!1),o});Y(this,"getTreeNodeByKey",n=>{const{treeData:r}=this.state;let o=null;return id(r,i=>i.key===n?(o=i,!0):!1),o});Y(this,"registerDragEvent",async()=>{if(!this.domRef.current)return;const n=new Xr.Sensor({container:this.domRef.current,name:"OutlineTree",eventPriority:999,mainDocument:document}),{pluginCtx:r}=this.props,o=r.pageModel,i=await this.getDesignerHandler(),a=i.getDnd();n.setCanDrag(async s=>{var m;const l=s.event.target;if(!l)return;const c=_b(l,la);if(!c)return;const u=o.getNode(c),d=this.getTreeNodeByKey(c);if((d==null?void 0:d.canDrag)!==void 0&&(d==null?void 0:d.canDrag)===!1)return;const f=i.getInstance(),h=await(f==null?void 0:f.customAdvanceHook.canDrag({dragNode:u,eventObj:{extraData:{},...s,from:s.event,fromSensor:n,fromPointer:s.pointer}}));if(h===!1)return!1;if(!u){console.log("targetNode not found");return}const p={...s,extraData:{dragNode:u,dragNodeUID:u.id}};return typeof h=="object"&&(p.extraData.dragNode=h.dragNode,p.extraData.dragNodeUID=((m=h.dragNode)==null?void 0:m.id)||""),p}),n.setCanDrop(async s=>{var b;const l=s.event.target;if(!l)return ur.debug("drop dom not found"),s;const c=_b(l,la);if(!c)return ur.debug("targetNodeId dom not found",s,l,la),s;const u=this.getTreeNodeByKey(c);if((u==null?void 0:u.canDropPos)!==void 0&&u.canDropPos===!1)return ur.debug("node can not be drop by tree node config"),s;const d=o.getNode(c);if(!d)return ur.debug("targetNode not found"),s;const f=(b=s.extraData)==null?void 0:b.dragNode;if(!f)return ur.debug("startNode not found"),s;if((f==null?void 0:f.id)===d.id)return ur.debug("startNode and dropNode is the same"),s;if(f.contains(d.id))return ur.debug("startNode contain dropNode"),s;const p=ble({point:s.pointer,dom:l});if(Array.isArray(u==null?void 0:u.canDropPos)&&!(u!=null&&u.canDropPos.includes(p.pos)))return!1;ur.info("can dropNode",d);const m={...s,extraData:{...s.extraData,dropPosInfo:p,dropNode:d,dropNodeUID:d.id}},g=i.getInstance(),y=await(g==null?void 0:g.customAdvanceHook.canDrop({dragNode:m.extraData.dragNode,dropNode:d,eventObj:{...m,from:m.event,fromSensor:n,fromPointer:m.pointer}}));return y===!1?!1:(typeof y=="object"&&(m.extraData={...m.extraData,...y}),m)}),a.registerSensor(n),n.emitter.on("dragging",s=>{var h,p;const l=s.extraData.dropNode;if(this.setState({dragState:Ra.DRAGGING}),!l){this.setState({dropPosInfo:null});return}const c=(h=document.querySelectorAll(`[${la}="${l.id}"]`))==null?void 0:h[0];if(!c)return;const u=((p=s.extraData)==null?void 0:p.dropPosInfo)||{},d=c.getBoundingClientRect(),f={x:0,y:0};f.x=d.x,u.pos==="before"?f.y=d.y:u.pos==="after"?f.y=d.y+d.height:(f.y=d.y+d.height,f.x=d.x+20),this.setState({dropPosInfo:f})}),n.emitter.on("dragEnd",()=>{this.setState({dragState:Ra.NORMAL})}),this.sensor=n});this.domRef=v.createRef(),this.state={treeData:[],currentSelectNodeKeys:[],expandKeys:[],multiSelect:n.multiSelect||!1,dropPosInfo:{x:0,y:0},pageModel:n.pluginCtx.pageModel,dragState:Ra.NORMAL}}async componentDidMount(){this.updateTreeDataFromNode();const{pluginCtx:n}=this.props,{pageModel:r}=n;r.emitter.on("*",()=>{this.updateTreeDataFromNode()}),n.globalEmitter.on("onSelectNodeChange",({node:a})=>{this.toSelectTreeNode(a)}),n.getWorkbench().emitter.on("leftPanelVisible",({visible:a,panelName:s})=>{if(a&&s==="OutlineTree"){console.log("visible, panelName",a,s);const l=n.engine.getActiveNode();l&&this.toSelectTreeNode(l)}});const i=n.engine.getActiveNode();i&&this.toSelectTreeNode(i),await this.props.pluginCtx.pluginManager.onPluginReadyOk("Designer"),this.registerDragEvent(),this.props.pluginCtx.engine.pageModel.emitter.on("onReloadPage",()=>{this.registerDragEvent()})}render(){const{treeData:n,dragState:r,dropPosInfo:o}=this.state,{pluginCtx:i}=this.props;return w.jsx(JL.Provider,{value:{sensor:this.sensor,state:this.state,getDesignerHandler:this.getDesignerHandler,onSelectNode:async({keys:a})=>{const s=await i.pluginManager.get("Designer");if(!s)return console.warn("Designer is empty"),!1;const l=(a==null?void 0:a[0])||"";return i.pageModel.getNode(l)?await s.export.selectNode(l):!1},updateState:a=>{this.setState(a)},onDeleteNode:async a=>{const s=await i.pluginManager.get("Designer");if(!s)return console.warn("Designer is empty"),!1;const l=s.export,c=a;if(!i.pageModel.getNode(c))return W.message.error("该节点不能删除"),!1;const d=await l.deleteNode(a);return d||W.message.error("该节点不能删除"),d},onCopyNode:async a=>{const s=await i.pluginManager.get("Designer");return s?await s.export.copyNode(a):(console.warn("Designer is empty"),!1)}},children:w.jsxs("div",{className:mn.contentBox,ref:this.domRef,children:[n.map((a,s)=>w.jsx(QL,{item:a,pluginCtx:this.props.pluginCtx},a.key+`${s}`)),r===Ra.DRAGGING&&o&&w.jsx("div",{className:mn.dropAnchorLine,style:{left:`${o.x}px`,top:`${o.y}px`}})]})})}}const jle={pluginName:"大纲树"},Ile={pluginName:"Layout Tree"},Sk={zh_CN:jle,en_US:Ile},Cl="OutlineTree",Ap=`plugin:${Cl}`,kc={name:Cl,PLUGIN_NAME:Cl,async init(e){const{i18n:t}=e;Object.keys(Sk).forEach(i=>{t.addResourceBundle(i,Ap,Sk[i],!0,!0)});const n=Za(Ap)(Ple),r=Za(Ap)(({t:i})=>w.jsx(w.Fragment,{children:i("pluginName")}));e.getWorkbench().addLeftPanel({title:w.jsx(r,{}),name:Cl,icon:w.jsx(CM,{}),render:w.jsx(n,{pluginCtx:e})}),e.pluginReadyOk()},async destroy(e){console.log("destroy",e)},export:()=>({}),meta:{engine:{version:"1.0.0"}}};kc.PLUGIN_NAME=Cl;function Ft(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n<e.length;n++)(r=Ft(e[n]))!==""&&(t+=(t&&" ")+r);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var Lle={value:()=>{}};function Ff(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new ad(n)}function ad(e){this._=e}function $le(e,t){return e.trim().split(/^|\s+/).map(function(n){var r="",o=n.indexOf(".");if(o>=0&&(r=n.slice(o+1),n=n.slice(0,o)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}ad.prototype=Ff.prototype={constructor:ad,on:function(e,t){var n=this._,r=$le(e+"",n),o,i=-1,a=r.length;if(arguments.length<2){for(;++i<a;)if((o=(e=r[i]).type)&&(o=Dle(n[o],e.name)))return o;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++i<a;)if(o=(e=r[i]).type)n[o]=Ck(n[o],e.name,t);else if(t==null)for(o in n)n[o]=Ck(n[o],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new ad(e)},call:function(e,t){if((o=arguments.length-2)>0)for(var n=new Array(o),r=0,o,i;r<o;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(i=this._[e],r=0,o=i.length;r<o;++r)i[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var r=this._[e],o=0,i=r.length;o<i;++o)r[o].value.apply(t,n)}};function Dle(e,t){for(var n=0,r=e.length,o;n<r;++n)if((o=e[n]).name===t)return o.value}function Ck(e,t,n){for(var r=0,o=e.length;r<o;++r)if(e[r].name===t){e[r]=Lle,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var Eb="http://www.w3.org/1999/xhtml";const _k={svg:"http://www.w3.org/2000/svg",xhtml:Eb,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Bf(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),_k.hasOwnProperty(t)?{space:_k[t],local:e}:e}function zle(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===Eb&&t.documentElement.namespaceURI===Eb?t.createElement(e):t.createElementNS(n,e)}}function Fle(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function ZL(e){var t=Bf(e);return(t.local?Fle:zle)(t)}function Ble(){}function Ww(e){return e==null?Ble:function(){return this.querySelector(e)}}function Vle(e){typeof e!="function"&&(e=Ww(e));for(var t=this._groups,n=t.length,r=new Array(n),o=0;o<n;++o)for(var i=t[o],a=i.length,s=r[o]=new Array(a),l,c,u=0;u<a;++u)(l=i[u])&&(c=e.call(l,l.__data__,u,i))&&("__data__"in l&&(c.__data__=l.__data__),s[u]=c);return new Vn(r,this._parents)}function Hle(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function qle(){return[]}function e$(e){return e==null?qle:function(){return this.querySelectorAll(e)}}function Ule(e){return function(){return Hle(e.apply(this,arguments))}}function Gle(e){typeof e=="function"?e=Ule(e):e=e$(e);for(var t=this._groups,n=t.length,r=[],o=[],i=0;i<n;++i)for(var a=t[i],s=a.length,l,c=0;c<s;++c)(l=a[c])&&(r.push(e.call(l,l.__data__,c,a)),o.push(l));return new Vn(r,o)}function t$(e){return function(){return this.matches(e)}}function n$(e){return function(t){return t.matches(e)}}var Wle=Array.prototype.find;function Kle(e){return function(){return Wle.call(this.children,e)}}function Xle(){return this.firstElementChild}function Yle(e){return this.select(e==null?Xle:Kle(typeof e=="function"?e:n$(e)))}var Jle=Array.prototype.filter;function Qle(){return Array.from(this.children)}function Zle(e){return function(){return Jle.call(this.children,e)}}function ece(e){return this.selectAll(e==null?Qle:Zle(typeof e=="function"?e:n$(e)))}function tce(e){typeof e!="function"&&(e=t$(e));for(var t=this._groups,n=t.length,r=new Array(n),o=0;o<n;++o)for(var i=t[o],a=i.length,s=r[o]=[],l,c=0;c<a;++c)(l=i[c])&&e.call(l,l.__data__,c,i)&&s.push(l);return new Vn(r,this._parents)}function r$(e){return new Array(e.length)}function nce(){return new Vn(this._enter||this._groups.map(r$),this._parents)}function zd(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}zd.prototype={constructor:zd,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function rce(e){return function(){return e}}function oce(e,t,n,r,o,i){for(var a=0,s,l=t.length,c=i.length;a<c;++a)(s=t[a])?(s.__data__=i[a],r[a]=s):n[a]=new zd(e,i[a]);for(;a<l;++a)(s=t[a])&&(o[a]=s)}function ice(e,t,n,r,o,i,a){var s,l,c=new Map,u=t.length,d=i.length,f=new Array(u),h;for(s=0;s<u;++s)(l=t[s])&&(f[s]=h=a.call(l,l.__data__,s,t)+"",c.has(h)?o[s]=l:c.set(h,l));for(s=0;s<d;++s)h=a.call(e,i[s],s,i)+"",(l=c.get(h))?(r[s]=l,l.__data__=i[s],c.delete(h)):n[s]=new zd(e,i[s]);for(s=0;s<u;++s)(l=t[s])&&c.get(f[s])===l&&(o[s]=l)}function ace(e){return e.__data__}function sce(e,t){if(!arguments.length)return Array.from(this,ace);var n=t?ice:oce,r=this._parents,o=this._groups;typeof e!="function"&&(e=rce(e));for(var i=o.length,a=new Array(i),s=new Array(i),l=new Array(i),c=0;c<i;++c){var u=r[c],d=o[c],f=d.length,h=lce(e.call(u,u&&u.__data__,c,r)),p=h.length,m=s[c]=new Array(p),g=a[c]=new Array(p),y=l[c]=new Array(f);n(u,d,m,g,y,h,t);for(var b=0,S=0,x,C;b<p;++b)if(x=m[b]){for(b>=S&&(S=b+1);!(C=g[S])&&++S<p;);x._next=C||null}}return a=new Vn(a,r),a._enter=s,a._exit=l,a}function lce(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function cce(){return new Vn(this._exit||this._groups.map(r$),this._parents)}function uce(e,t,n){var r=this.enter(),o=this,i=this.exit();return typeof e=="function"?(r=e(r),r&&(r=r.selection())):r=r.append(e+""),t!=null&&(o=t(o),o&&(o=o.selection())),n==null?i.remove():n(i),r&&o?r.merge(o).order():o}function dce(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,o=n.length,i=r.length,a=Math.min(o,i),s=new Array(o),l=0;l<a;++l)for(var c=n[l],u=r[l],d=c.length,f=s[l]=new Array(d),h,p=0;p<d;++p)(h=c[p]||u[p])&&(f[p]=h);for(;l<o;++l)s[l]=n[l];return new Vn(s,this._parents)}function fce(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],o=r.length-1,i=r[o],a;--o>=0;)(a=r[o])&&(i&&a.compareDocumentPosition(i)^4&&i.parentNode.insertBefore(a,i),i=a);return this}function hce(e){e||(e=pce);function t(d,f){return d&&f?e(d.__data__,f.__data__):!d-!f}for(var n=this._groups,r=n.length,o=new Array(r),i=0;i<r;++i){for(var a=n[i],s=a.length,l=o[i]=new Array(s),c,u=0;u<s;++u)(c=a[u])&&(l[u]=c);l.sort(t)}return new Vn(o,this._parents).order()}function pce(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function gce(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function mce(){return Array.from(this)}function vce(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],o=0,i=r.length;o<i;++o){var a=r[o];if(a)return a}return null}function yce(){let e=0;for(const t of this)++e;return e}function bce(){return!this.node()}function xce(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var o=t[n],i=0,a=o.length,s;i<a;++i)(s=o[i])&&e.call(s,s.__data__,i,o);return this}function wce(e){return function(){this.removeAttribute(e)}}function Sce(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Cce(e,t){return function(){this.setAttribute(e,t)}}function _ce(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function Ece(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function kce(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function Oce(e,t){var n=Bf(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?Sce:wce:typeof t=="function"?n.local?kce:Ece:n.local?_ce:Cce)(n,t))}function o$(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Nce(e){return function(){this.style.removeProperty(e)}}function Rce(e,t,n){return function(){this.style.setProperty(e,t,n)}}function Tce(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function Ace(e,t,n){return arguments.length>1?this.each((t==null?Nce:typeof t=="function"?Tce:Rce)(e,t,n??"")):es(this.node(),e)}function es(e,t){return e.style.getPropertyValue(t)||o$(e).getComputedStyle(e,null).getPropertyValue(t)}function Mce(e){return function(){delete this[e]}}function Pce(e,t){return function(){this[e]=t}}function jce(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function Ice(e,t){return arguments.length>1?this.each((t==null?Mce:typeof t=="function"?jce:Pce)(e,t)):this.node()[e]}function i$(e){return e.trim().split(/^|\s+/)}function Kw(e){return e.classList||new a$(e)}function a$(e){this._node=e,this._names=i$(e.getAttribute("class")||"")}a$.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function s$(e,t){for(var n=Kw(e),r=-1,o=t.length;++r<o;)n.add(t[r])}function l$(e,t){for(var n=Kw(e),r=-1,o=t.length;++r<o;)n.remove(t[r])}function Lce(e){return function(){s$(this,e)}}function $ce(e){return function(){l$(this,e)}}function Dce(e,t){return function(){(t.apply(this,arguments)?s$:l$)(this,e)}}function zce(e,t){var n=i$(e+"");if(arguments.length<2){for(var r=Kw(this.node()),o=-1,i=n.length;++o<i;)if(!r.contains(n[o]))return!1;return!0}return this.each((typeof t=="function"?Dce:t?Lce:$ce)(n,t))}function Fce(){this.textContent=""}function Bce(e){return function(){this.textContent=e}}function Vce(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function Hce(e){return arguments.length?this.each(e==null?Fce:(typeof e=="function"?Vce:Bce)(e)):this.node().textContent}function qce(){this.innerHTML=""}function Uce(e){return function(){this.innerHTML=e}}function Gce(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function Wce(e){return arguments.length?this.each(e==null?qce:(typeof e=="function"?Gce:Uce)(e)):this.node().innerHTML}function Kce(){this.nextSibling&&this.parentNode.appendChild(this)}function Xce(){return this.each(Kce)}function Yce(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Jce(){return this.each(Yce)}function Qce(e){var t=typeof e=="function"?e:ZL(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function Zce(){return null}function eue(e,t){var n=typeof e=="function"?e:ZL(e),r=t==null?Zce:typeof t=="function"?t:Ww(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function tue(){var e=this.parentNode;e&&e.removeChild(this)}function nue(){return this.each(tue)}function rue(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function oue(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function iue(e){return this.select(e?oue:rue)}function aue(e){return arguments.length?this.property("__data__",e):this.node().__data__}function sue(e){return function(t){e.call(this,t,this.__data__)}}function lue(e){return e.trim().split(/^|\s+/).map(function(t){var n="",r=t.indexOf(".");return r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function cue(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,o=t.length,i;n<o;++n)i=t[n],(!e.type||i.type===e.type)&&i.name===e.name?this.removeEventListener(i.type,i.listener,i.options):t[++r]=i;++r?t.length=r:delete this.__on}}}function uue(e,t,n){return function(){var r=this.__on,o,i=sue(t);if(r){for(var a=0,s=r.length;a<s;++a)if((o=r[a]).type===e.type&&o.name===e.name){this.removeEventListener(o.type,o.listener,o.options),this.addEventListener(o.type,o.listener=i,o.options=n),o.value=t;return}}this.addEventListener(e.type,i,n),o={type:e.type,name:e.name,value:t,listener:i,options:n},r?r.push(o):this.__on=[o]}}function due(e,t,n){var r=lue(e+""),o,i=r.length,a;if(arguments.length<2){var s=this.node().__on;if(s){for(var l=0,c=s.length,u;l<c;++l)for(o=0,u=s[l];o<i;++o)if((a=r[o]).type===u.type&&a.name===u.name)return u.value}return}for(s=t?uue:cue,o=0;o<i;++o)this.each(s(r[o],t,n));return this}function c$(e,t,n){var r=o$(e),o=r.CustomEvent;typeof o=="function"?o=new o(t,n):(o=r.document.createEvent("Event"),n?(o.initEvent(t,n.bubbles,n.cancelable),o.detail=n.detail):o.initEvent(t,!1,!1)),e.dispatchEvent(o)}function fue(e,t){return function(){return c$(this,e,t)}}function hue(e,t){return function(){return c$(this,e,t.apply(this,arguments))}}function pue(e,t){return this.each((typeof t=="function"?hue:fue)(e,t))}function*gue(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],o=0,i=r.length,a;o<i;++o)(a=r[o])&&(yield a)}var u$=[null];function Vn(e,t){this._groups=e,this._parents=t}function Oc(){return new Vn([[document.documentElement]],u$)}function mue(){return this}Vn.prototype=Oc.prototype={constructor:Vn,select:Vle,selectAll:Gle,selectChild:Yle,selectChildren:ece,filter:tce,data:sce,enter:nce,exit:cce,join:uce,merge:dce,selection:mue,order:fce,sort:hce,call:gce,nodes:mce,node:vce,size:yce,empty:bce,each:xce,attr:Oce,style:Ace,property:Ice,classed:zce,text:Hce,html:Wce,raise:Xce,lower:Jce,append:Qce,insert:eue,remove:nue,clone:iue,datum:aue,on:due,dispatch:pue,[Symbol.iterator]:gue};function $n(e){return typeof e=="string"?new Vn([[document.querySelector(e)]],[document.documentElement]):new Vn([[e]],u$)}function vue(e){let t;for(;t=e.sourceEvent;)e=t;return e}function hr(e,t){if(e=vue(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var o=t.getBoundingClientRect();return[e.clientX-o.left-t.clientLeft,e.clientY-o.top-t.clientTop]}}return[e.pageX,e.pageY]}const yue={passive:!1},Yl={capture:!0,passive:!1};function Mp(e){e.stopImmediatePropagation()}function za(e){e.preventDefault(),e.stopImmediatePropagation()}function d$(e){var t=e.document.documentElement,n=$n(e).on("dragstart.drag",za,Yl);"onselectstart"in t?n.on("selectstart.drag",za,Yl):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function f$(e,t){var n=e.document.documentElement,r=$n(e).on("dragstart.drag",null);t&&(r.on("click.drag",za,Yl),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const bu=e=>()=>e;function kb(e,{sourceEvent:t,subject:n,target:r,identifier:o,active:i,x:a,y:s,dx:l,dy:c,dispatch:u}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:i,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:u}})}kb.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function bue(e){return!e.ctrlKey&&!e.button}function xue(){return this.parentNode}function wue(e,t){return t??{x:e.x,y:e.y}}function Sue(){return navigator.maxTouchPoints||"ontouchstart"in this}function h$(){var e=bue,t=xue,n=wue,r=Sue,o={},i=Ff("start","drag","end"),a=0,s,l,c,u,d=0;function f(x){x.on("mousedown.drag",h).filter(r).on("touchstart.drag",g).on("touchmove.drag",y,yue).on("touchend.drag touchcancel.drag",b).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(x,C){if(!(u||!e.call(this,x,C))){var E=S(this,t.call(this,x,C),x,C,"mouse");E&&($n(x.view).on("mousemove.drag",p,Yl).on("mouseup.drag",m,Yl),d$(x.view),Mp(x),c=!1,s=x.clientX,l=x.clientY,E("start",x))}}function p(x){if(za(x),!c){var C=x.clientX-s,E=x.clientY-l;c=C*C+E*E>d}o.mouse("drag",x)}function m(x){$n(x.view).on("mousemove.drag mouseup.drag",null),f$(x.view,c),za(x),o.mouse("end",x)}function g(x,C){if(e.call(this,x,C)){var E=x.changedTouches,O=t.call(this,x,C),_=E.length,k,N;for(k=0;k<_;++k)(N=S(this,O,x,C,E[k].identifier,E[k]))&&(Mp(x),N("start",x,E[k]))}}function y(x){var C=x.changedTouches,E=C.length,O,_;for(O=0;O<E;++O)(_=o[C[O].identifier])&&(za(x),_("drag",x,C[O]))}function b(x){var C=x.changedTouches,E=C.length,O,_;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),O=0;O<E;++O)(_=o[C[O].identifier])&&(Mp(x),_("end",x,C[O]))}function S(x,C,E,O,_,k){var N=i.copy(),R=hr(k||E,C),M,L,T;if((T=n.call(x,new kb("beforestart",{sourceEvent:E,target:f,identifier:_,active:a,x:R[0],y:R[1],dx:0,dy:0,dispatch:N}),O))!=null)return M=T.x-R[0]||0,L=T.y-R[1]||0,function P(A,F,q){var B=R,z;switch(A){case"start":o[_]=P,z=a++;break;case"end":delete o[_],--a;case"drag":R=hr(q||F,C),z=a;break}N.call(A,x,new kb(A,{sourceEvent:F,subject:T,target:f,identifier:_,active:z,x:R[0]+M,y:R[1]+L,dx:R[0]-B[0],dy:R[1]-B[1],dispatch:N}),O)}}return f.filter=function(x){return arguments.length?(e=typeof x=="function"?x:bu(!!x),f):e},f.container=function(x){return arguments.length?(t=typeof x=="function"?x:bu(x),f):t},f.subject=function(x){return arguments.length?(n=typeof x=="function"?x:bu(x),f):n},f.touchable=function(x){return arguments.length?(r=typeof x=="function"?x:bu(!!x),f):r},f.on=function(){var x=i.on.apply(i,arguments);return x===i?f:x},f.clickDistance=function(x){return arguments.length?(d=(x=+x)*x,f):Math.sqrt(d)},f}function Xw(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function p$(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Nc(){}var Jl=.7,Fd=1/Jl,Fa="\\s*([+-]?\\d+)\\s*",Ql="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Yr="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Cue=/^#([0-9a-f]{3,8})$/,_ue=new RegExp(`^rgb\\(${Fa},${Fa},${Fa}\\)$`),Eue=new RegExp(`^rgb\\(${Yr},${Yr},${Yr}\\)$`),kue=new RegExp(`^rgba\\(${Fa},${Fa},${Fa},${Ql}\\)$`),Oue=new RegExp(`^rgba\\(${Yr},${Yr},${Yr},${Ql}\\)$`),Nue=new RegExp(`^hsl\\(${Ql},${Yr},${Yr}\\)$`),Rue=new RegExp(`^hsla\\(${Ql},${Yr},${Yr},${Ql}\\)$`),Ek={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Xw(Nc,Zl,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:kk,formatHex:kk,formatHex8:Tue,formatHsl:Aue,formatRgb:Ok,toString:Ok});function kk(){return this.rgb().formatHex()}function Tue(){return this.rgb().formatHex8()}function Aue(){return g$(this).formatHsl()}function Ok(){return this.rgb().formatRgb()}function Zl(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=Cue.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?Nk(t):n===3?new En(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?xu(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?xu(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=_ue.exec(e))?new En(t[1],t[2],t[3],1):(t=Eue.exec(e))?new En(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=kue.exec(e))?xu(t[1],t[2],t[3],t[4]):(t=Oue.exec(e))?xu(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Nue.exec(e))?Ak(t[1],t[2]/100,t[3]/100,1):(t=Rue.exec(e))?Ak(t[1],t[2]/100,t[3]/100,t[4]):Ek.hasOwnProperty(e)?Nk(Ek[e]):e==="transparent"?new En(NaN,NaN,NaN,0):null}function Nk(e){return new En(e>>16&255,e>>8&255,e&255,1)}function xu(e,t,n,r){return r<=0&&(e=t=n=NaN),new En(e,t,n,r)}function Mue(e){return e instanceof Nc||(e=Zl(e)),e?(e=e.rgb(),new En(e.r,e.g,e.b,e.opacity)):new En}function Ob(e,t,n,r){return arguments.length===1?Mue(e):new En(e,t,n,r??1)}function En(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Xw(En,Ob,p$(Nc,{brighter(e){return e=e==null?Fd:Math.pow(Fd,e),new En(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Jl:Math.pow(Jl,e),new En(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new En(bi(this.r),bi(this.g),bi(this.b),Bd(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Rk,formatHex:Rk,formatHex8:Pue,formatRgb:Tk,toString:Tk}));function Rk(){return`#${vi(this.r)}${vi(this.g)}${vi(this.b)}`}function Pue(){return`#${vi(this.r)}${vi(this.g)}${vi(this.b)}${vi((isNaN(this.opacity)?1:this.opacity)*255)}`}function Tk(){const e=Bd(this.opacity);return`${e===1?"rgb(":"rgba("}${bi(this.r)}, ${bi(this.g)}, ${bi(this.b)}${e===1?")":`, ${e})`}`}function Bd(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function bi(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function vi(e){return e=bi(e),(e<16?"0":"")+e.toString(16)}function Ak(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new vr(e,t,n,r)}function g$(e){if(e instanceof vr)return new vr(e.h,e.s,e.l,e.opacity);if(e instanceof Nc||(e=Zl(e)),!e)return new vr;if(e instanceof vr)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,o=Math.min(t,n,r),i=Math.max(t,n,r),a=NaN,s=i-o,l=(i+o)/2;return s?(t===i?a=(n-r)/s+(n<r)*6:n===i?a=(r-t)/s+2:a=(t-n)/s+4,s/=l<.5?i+o:2-i-o,a*=60):s=l>0&&l<1?0:a,new vr(a,s,l,e.opacity)}function jue(e,t,n,r){return arguments.length===1?g$(e):new vr(e,t,n,r??1)}function vr(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Xw(vr,jue,p$(Nc,{brighter(e){return e=e==null?Fd:Math.pow(Fd,e),new vr(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Jl:Math.pow(Jl,e),new vr(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,o=2*n-r;return new En(Pp(e>=240?e-240:e+120,o,r),Pp(e,o,r),Pp(e<120?e+240:e-120,o,r),this.opacity)},clamp(){return new vr(Mk(this.h),wu(this.s),wu(this.l),Bd(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Bd(this.opacity);return`${e===1?"hsl(":"hsla("}${Mk(this.h)}, ${wu(this.s)*100}%, ${wu(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Mk(e){return e=(e||0)%360,e<0?e+360:e}function wu(e){return Math.max(0,Math.min(1,e||0))}function Pp(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const m$=e=>()=>e;function Iue(e,t){return function(n){return e+n*t}}function Lue(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function $ue(e){return(e=+e)==1?v$:function(t,n){return n-t?Lue(t,n,e):m$(isNaN(t)?n:t)}}function v$(e,t){var n=t-e;return n?Iue(e,n):m$(isNaN(e)?t:e)}const Pk=function e(t){var n=$ue(t);function r(o,i){var a=n((o=Ob(o)).r,(i=Ob(i)).r),s=n(o.g,i.g),l=n(o.b,i.b),c=v$(o.opacity,i.opacity);return function(u){return o.r=a(u),o.g=s(u),o.b=l(u),o.opacity=c(u),o+""}}return r.gamma=e,r}(1);function qo(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var Nb=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,jp=new RegExp(Nb.source,"g");function Due(e){return function(){return e}}function zue(e){return function(t){return e(t)+""}}function Fue(e,t){var n=Nb.lastIndex=jp.lastIndex=0,r,o,i,a=-1,s=[],l=[];for(e=e+"",t=t+"";(r=Nb.exec(e))&&(o=jp.exec(t));)(i=o.index)>n&&(i=t.slice(n,i),s[a]?s[a]+=i:s[++a]=i),(r=r[0])===(o=o[0])?s[a]?s[a]+=o:s[++a]=o:(s[++a]=null,l.push({i:a,x:qo(r,o)})),n=jp.lastIndex;return n<t.length&&(i=t.slice(n),s[a]?s[a]+=i:s[++a]=i),s.length<2?l[0]?zue(l[0].x):Due(t):(t=l.length,function(c){for(var u=0,d;u<t;++u)s[(d=l[u]).i]=d.x(c);return s.join("")})}var jk=180/Math.PI,Rb={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function y$(e,t,n,r,o,i){var a,s,l;return(a=Math.sqrt(e*e+t*t))&&(e/=a,t/=a),(l=e*n+t*r)&&(n-=e*l,r-=t*l),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,l/=s),e*r<t*n&&(e=-e,t=-t,l=-l,a=-a),{translateX:o,translateY:i,rotate:Math.atan2(t,e)*jk,skewX:Math.atan(l)*jk,scaleX:a,scaleY:s}}var Su;function Bue(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?Rb:y$(t.a,t.b,t.c,t.d,t.e,t.f)}function Vue(e){return e==null||(Su||(Su=document.createElementNS("http://www.w3.org/2000/svg","g")),Su.setAttribute("transform",e),!(e=Su.transform.baseVal.consolidate()))?Rb:(e=e.matrix,y$(e.a,e.b,e.c,e.d,e.e,e.f))}function b$(e,t,n,r){function o(c){return c.length?c.pop()+" ":""}function i(c,u,d,f,h,p){if(c!==d||u!==f){var m=h.push("translate(",null,t,null,n);p.push({i:m-4,x:qo(c,d)},{i:m-2,x:qo(u,f)})}else(d||f)&&h.push("translate("+d+t+f+n)}function a(c,u,d,f){c!==u?(c-u>180?u+=360:u-c>180&&(c+=360),f.push({i:d.push(o(d)+"rotate(",null,r)-2,x:qo(c,u)})):u&&d.push(o(d)+"rotate("+u+r)}function s(c,u,d,f){c!==u?f.push({i:d.push(o(d)+"skewX(",null,r)-2,x:qo(c,u)}):u&&d.push(o(d)+"skewX("+u+r)}function l(c,u,d,f,h,p){if(c!==d||u!==f){var m=h.push(o(h)+"scale(",null,",",null,")");p.push({i:m-4,x:qo(c,d)},{i:m-2,x:qo(u,f)})}else(d!==1||f!==1)&&h.push(o(h)+"scale("+d+","+f+")")}return function(c,u){var d=[],f=[];return c=e(c),u=e(u),i(c.translateX,c.translateY,u.translateX,u.translateY,d,f),a(c.rotate,u.rotate,d,f),s(c.skewX,u.skewX,d,f),l(c.scaleX,c.scaleY,u.scaleX,u.scaleY,d,f),c=u=null,function(h){for(var p=-1,m=f.length,g;++p<m;)d[(g=f[p]).i]=g.x(h);return d.join("")}}}var Hue=b$(Bue,"px, ","px)","deg)"),que=b$(Vue,", ",")",")"),Uue=1e-12;function Ik(e){return((e=Math.exp(e))+1/e)/2}function Gue(e){return((e=Math.exp(e))-1/e)/2}function Wue(e){return((e=Math.exp(2*e))-1)/(e+1)}const Kue=function e(t,n,r){function o(i,a){var s=i[0],l=i[1],c=i[2],u=a[0],d=a[1],f=a[2],h=u-s,p=d-l,m=h*h+p*p,g,y;if(m<Uue)y=Math.log(f/c)/t,g=function(O){return[s+O*h,l+O*p,c*Math.exp(t*O*y)]};else{var b=Math.sqrt(m),S=(f*f-c*c+r*m)/(2*c*n*b),x=(f*f-c*c-r*m)/(2*f*n*b),C=Math.log(Math.sqrt(S*S+1)-S),E=Math.log(Math.sqrt(x*x+1)-x);y=(E-C)/t,g=function(O){var _=O*y,k=Ik(C),N=c/(n*b)*(k*Wue(t*_+C)-Gue(C));return[s+N*h,l+N*p,c*k/Ik(t*_+C)]}}return g.duration=y*1e3*t/Math.SQRT2,g}return o.rho=function(i){var a=Math.max(.001,+i),s=a*a,l=s*s;return e(a,s,l)},o}(Math.SQRT2,2,4);var ts=0,ol=0,Ws=0,x$=1e3,Vd,il,Hd=0,Ni=0,Vf=0,ec=typeof performance=="object"&&performance.now?performance:Date,w$=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function Yw(){return Ni||(w$(Xue),Ni=ec.now()+Vf)}function Xue(){Ni=0}function qd(){this._call=this._time=this._next=null}qd.prototype=S$.prototype={constructor:qd,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?Yw():+n)+(t==null?0:+t),!this._next&&il!==this&&(il?il._next=this:Vd=this,il=this),this._call=e,this._time=n,Tb()},stop:function(){this._call&&(this._call=null,this._time=1/0,Tb())}};function S$(e,t,n){var r=new qd;return r.restart(e,t,n),r}function Yue(){Yw(),++ts;for(var e=Vd,t;e;)(t=Ni-e._time)>=0&&e._call.call(void 0,t),e=e._next;--ts}function Lk(){Ni=(Hd=ec.now())+Vf,ts=ol=0;try{Yue()}finally{ts=0,Que(),Ni=0}}function Jue(){var e=ec.now(),t=e-Hd;t>x$&&(Vf-=t,Hd=e)}function Que(){for(var e,t=Vd,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:Vd=n);il=e,Tb(r)}function Tb(e){if(!ts){ol&&(ol=clearTimeout(ol));var t=e-Ni;t>24?(e<1/0&&(ol=setTimeout(Lk,e-ec.now()-Vf)),Ws&&(Ws=clearInterval(Ws))):(Ws||(Hd=ec.now(),Ws=setInterval(Jue,x$)),ts=1,w$(Lk))}}function $k(e,t,n){var r=new qd;return t=t==null?0:+t,r.restart(o=>{r.stop(),e(o+t)},t,n),r}var Zue=Ff("start","end","cancel","interrupt"),ede=[],C$=0,Dk=1,Ab=2,sd=3,zk=4,Mb=5,ld=6;function Hf(e,t,n,r,o,i){var a=e.__transition;if(!a)e.__transition={};else if(n in a)return;tde(e,n,{name:t,index:r,group:o,on:Zue,tween:ede,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:C$})}function Jw(e,t){var n=Ir(e,t);if(n.state>C$)throw new Error("too late; already scheduled");return n}function oo(e,t){var n=Ir(e,t);if(n.state>sd)throw new Error("too late; already running");return n}function Ir(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function tde(e,t,n){var r=e.__transition,o;r[t]=n,n.timer=S$(i,0,n.time);function i(c){n.state=Dk,n.timer.restart(a,n.delay,n.time),n.delay<=c&&a(c-n.delay)}function a(c){var u,d,f,h;if(n.state!==Dk)return l();for(u in r)if(h=r[u],h.name===n.name){if(h.state===sd)return $k(a);h.state===zk?(h.state=ld,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete r[u]):+u<t&&(h.state=ld,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete r[u])}if($k(function(){n.state===sd&&(n.state=zk,n.timer.restart(s,n.delay,n.time),s(c))}),n.state=Ab,n.on.call("start",e,e.__data__,n.index,n.group),n.state===Ab){for(n.state=sd,o=new Array(f=n.tween.length),u=0,d=-1;u<f;++u)(h=n.tween[u].value.call(e,e.__data__,n.index,n.group))&&(o[++d]=h);o.length=d+1}}function s(c){for(var u=c<n.duration?n.ease.call(null,c/n.duration):(n.timer.restart(l),n.state=Mb,1),d=-1,f=o.length;++d<f;)o[d].call(e,u);n.state===Mb&&(n.on.call("end",e,e.__data__,n.index,n.group),l())}function l(){n.state=ld,n.timer.stop(),delete r[t];for(var c in r)return;delete e.__transition}}function cd(e,t){var n=e.__transition,r,o,i=!0,a;if(n){t=t==null?null:t+"";for(a in n){if((r=n[a]).name!==t){i=!1;continue}o=r.state>Ab&&r.state<Mb,r.state=ld,r.timer.stop(),r.on.call(o?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete n[a]}i&&delete e.__transition}}function nde(e){return this.each(function(){cd(this,e)})}function rde(e,t){var n,r;return function(){var o=oo(this,e),i=o.tween;if(i!==n){r=n=i;for(var a=0,s=r.length;a<s;++a)if(r[a].name===t){r=r.slice(),r.splice(a,1);break}}o.tween=r}}function ode(e,t,n){var r,o;if(typeof n!="function")throw new Error;return function(){var i=oo(this,e),a=i.tween;if(a!==r){o=(r=a).slice();for(var s={name:t,value:n},l=0,c=o.length;l<c;++l)if(o[l].name===t){o[l]=s;break}l===c&&o.push(s)}i.tween=o}}function ide(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r=Ir(this.node(),n).tween,o=0,i=r.length,a;o<i;++o)if((a=r[o]).name===e)return a.value;return null}return this.each((t==null?rde:ode)(n,e,t))}function Qw(e,t,n){var r=e._id;return e.each(function(){var o=oo(this,r);(o.value||(o.value={}))[t]=n.apply(this,arguments)}),function(o){return Ir(o,r).value[t]}}function _$(e,t){var n;return(typeof t=="number"?qo:t instanceof Zl?Pk:(n=Zl(t))?(t=n,Pk):Fue)(e,t)}function ade(e){return function(){this.removeAttribute(e)}}function sde(e){return function(){this.removeAttributeNS(e.space,e.local)}}function lde(e,t,n){var r,o=n+"",i;return function(){var a=this.getAttribute(e);return a===o?null:a===r?i:i=t(r=a,n)}}function cde(e,t,n){var r,o=n+"",i;return function(){var a=this.getAttributeNS(e.space,e.local);return a===o?null:a===r?i:i=t(r=a,n)}}function ude(e,t,n){var r,o,i;return function(){var a,s=n(this),l;return s==null?void this.removeAttribute(e):(a=this.getAttribute(e),l=s+"",a===l?null:a===r&&l===o?i:(o=l,i=t(r=a,s)))}}function dde(e,t,n){var r,o,i;return function(){var a,s=n(this),l;return s==null?void this.removeAttributeNS(e.space,e.local):(a=this.getAttributeNS(e.space,e.local),l=s+"",a===l?null:a===r&&l===o?i:(o=l,i=t(r=a,s)))}}function fde(e,t){var n=Bf(e),r=n==="transform"?que:_$;return this.attrTween(e,typeof t=="function"?(n.local?dde:ude)(n,r,Qw(this,"attr."+e,t)):t==null?(n.local?sde:ade)(n):(n.local?cde:lde)(n,r,t))}function hde(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function pde(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function gde(e,t){var n,r;function o(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&pde(e,i)),n}return o._value=t,o}function mde(e,t){var n,r;function o(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&hde(e,i)),n}return o._value=t,o}function vde(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;var r=Bf(e);return this.tween(n,(r.local?gde:mde)(r,t))}function yde(e,t){return function(){Jw(this,e).delay=+t.apply(this,arguments)}}function bde(e,t){return t=+t,function(){Jw(this,e).delay=t}}function xde(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?yde:bde)(t,e)):Ir(this.node(),t).delay}function wde(e,t){return function(){oo(this,e).duration=+t.apply(this,arguments)}}function Sde(e,t){return t=+t,function(){oo(this,e).duration=t}}function Cde(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?wde:Sde)(t,e)):Ir(this.node(),t).duration}function _de(e,t){if(typeof t!="function")throw new Error;return function(){oo(this,e).ease=t}}function Ede(e){var t=this._id;return arguments.length?this.each(_de(t,e)):Ir(this.node(),t).ease}function kde(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;oo(this,e).ease=n}}function Ode(e){if(typeof e!="function")throw new Error;return this.each(kde(this._id,e))}function Nde(e){typeof e!="function"&&(e=t$(e));for(var t=this._groups,n=t.length,r=new Array(n),o=0;o<n;++o)for(var i=t[o],a=i.length,s=r[o]=[],l,c=0;c<a;++c)(l=i[c])&&e.call(l,l.__data__,c,i)&&s.push(l);return new So(r,this._parents,this._name,this._id)}function Rde(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,r=t.length,o=n.length,i=Math.min(r,o),a=new Array(r),s=0;s<i;++s)for(var l=t[s],c=n[s],u=l.length,d=a[s]=new Array(u),f,h=0;h<u;++h)(f=l[h]||c[h])&&(d[h]=f);for(;s<r;++s)a[s]=t[s];return new So(a,this._parents,this._name,this._id)}function Tde(e){return(e+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||t==="start"})}function Ade(e,t,n){var r,o,i=Tde(t)?Jw:oo;return function(){var a=i(this,e),s=a.on;s!==r&&(o=(r=s).copy()).on(t,n),a.on=o}}function Mde(e,t){var n=this._id;return arguments.length<2?Ir(this.node(),n).on.on(e):this.each(Ade(n,e,t))}function Pde(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function jde(){return this.on("end.remove",Pde(this._id))}function Ide(e){var t=this._name,n=this._id;typeof e!="function"&&(e=Ww(e));for(var r=this._groups,o=r.length,i=new Array(o),a=0;a<o;++a)for(var s=r[a],l=s.length,c=i[a]=new Array(l),u,d,f=0;f<l;++f)(u=s[f])&&(d=e.call(u,u.__data__,f,s))&&("__data__"in u&&(d.__data__=u.__data__),c[f]=d,Hf(c[f],t,n,f,c,Ir(u,n)));return new So(i,this._parents,t,n)}function Lde(e){var t=this._name,n=this._id;typeof e!="function"&&(e=e$(e));for(var r=this._groups,o=r.length,i=[],a=[],s=0;s<o;++s)for(var l=r[s],c=l.length,u,d=0;d<c;++d)if(u=l[d]){for(var f=e.call(u,u.__data__,d,l),h,p=Ir(u,n),m=0,g=f.length;m<g;++m)(h=f[m])&&Hf(h,t,n,m,f,p);i.push(f),a.push(u)}return new So(i,a,t,n)}var $de=Oc.prototype.constructor;function Dde(){return new $de(this._groups,this._parents)}function zde(e,t){var n,r,o;return function(){var i=es(this,e),a=(this.style.removeProperty(e),es(this,e));return i===a?null:i===n&&a===r?o:o=t(n=i,r=a)}}function E$(e){return function(){this.style.removeProperty(e)}}function Fde(e,t,n){var r,o=n+"",i;return function(){var a=es(this,e);return a===o?null:a===r?i:i=t(r=a,n)}}function Bde(e,t,n){var r,o,i;return function(){var a=es(this,e),s=n(this),l=s+"";return s==null&&(l=s=(this.style.removeProperty(e),es(this,e))),a===l?null:a===r&&l===o?i:(o=l,i=t(r=a,s))}}function Vde(e,t){var n,r,o,i="style."+t,a="end."+i,s;return function(){var l=oo(this,e),c=l.on,u=l.value[i]==null?s||(s=E$(t)):void 0;(c!==n||o!==u)&&(r=(n=c).copy()).on(a,o=u),l.on=r}}function Hde(e,t,n){var r=(e+="")=="transform"?Hue:_$;return t==null?this.styleTween(e,zde(e,r)).on("end.style."+e,E$(e)):typeof t=="function"?this.styleTween(e,Bde(e,r,Qw(this,"style."+e,t))).each(Vde(this._id,e)):this.styleTween(e,Fde(e,r,t),n).on("end.style."+e,null)}function qde(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function Ude(e,t,n){var r,o;function i(){var a=t.apply(this,arguments);return a!==o&&(r=(o=a)&&qde(e,a,n)),r}return i._value=t,i}function Gde(e,t,n){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!="function")throw new Error;return this.tween(r,Ude(e,t,n??""))}function Wde(e){return function(){this.textContent=e}}function Kde(e){return function(){var t=e(this);this.textContent=t??""}}function Xde(e){return this.tween("text",typeof e=="function"?Kde(Qw(this,"text",e)):Wde(e==null?"":e+""))}function Yde(e){return function(t){this.textContent=e.call(this,t)}}function Jde(e){var t,n;function r(){var o=e.apply(this,arguments);return o!==n&&(t=(n=o)&&Yde(o)),t}return r._value=e,r}function Qde(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,Jde(e))}function Zde(){for(var e=this._name,t=this._id,n=k$(),r=this._groups,o=r.length,i=0;i<o;++i)for(var a=r[i],s=a.length,l,c=0;c<s;++c)if(l=a[c]){var u=Ir(l,t);Hf(l,e,n,c,a,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new So(r,this._parents,e,n)}function efe(){var e,t,n=this,r=n._id,o=n.size();return new Promise(function(i,a){var s={value:a},l={value:function(){--o===0&&i()}};n.each(function(){var c=oo(this,r),u=c.on;u!==e&&(t=(e=u).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(l)),c.on=t}),o===0&&i()})}var tfe=0;function So(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function k$(){return++tfe}var fo=Oc.prototype;So.prototype={constructor:So,select:Ide,selectAll:Lde,selectChild:fo.selectChild,selectChildren:fo.selectChildren,filter:Nde,merge:Rde,selection:Dde,transition:Zde,call:fo.call,nodes:fo.nodes,node:fo.node,size:fo.size,empty:fo.empty,each:fo.each,on:Mde,attr:fde,attrTween:vde,style:Hde,styleTween:Gde,text:Xde,textTween:Qde,remove:jde,tween:ide,delay:xde,duration:Cde,ease:Ede,easeVarying:Ode,end:efe,[Symbol.iterator]:fo[Symbol.iterator]};function nfe(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var rfe={time:null,delay:0,duration:250,ease:nfe};function ofe(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function ife(e){var t,n;e instanceof So?(t=e._id,e=e._name):(t=k$(),(n=rfe).time=Yw(),e=e==null?null:e+"");for(var r=this._groups,o=r.length,i=0;i<o;++i)for(var a=r[i],s=a.length,l,c=0;c<s;++c)(l=a[c])&&Hf(l,e,t,c,a,n||ofe(l,t));return new So(r,this._parents,e,t)}Oc.prototype.interrupt=nde;Oc.prototype.transition=ife;const Cu=e=>()=>e;function afe(e,{sourceEvent:t,target:n,transform:r,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:o}})}function bo(e,t,n){this.k=e,this.x=t,this.y=n}bo.prototype={constructor:bo,scale:function(e){return e===1?this:new bo(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new bo(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var qf=new bo(1,0,0);O$.prototype=bo.prototype;function O$(e){for(;!e.__zoom;)if(!(e=e.parentNode))return qf;return e.__zoom}function Ip(e){e.stopImmediatePropagation()}function Ks(e){e.preventDefault(),e.stopImmediatePropagation()}function sfe(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function lfe(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function Fk(){return this.__zoom||qf}function cfe(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function ufe(){return navigator.maxTouchPoints||"ontouchstart"in this}function dfe(e,t,n){var r=e.invertX(t[0][0])-n[0][0],o=e.invertX(t[1][0])-n[1][0],i=e.invertY(t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e.translate(o>r?(r+o)/2:Math.min(0,r)||Math.max(0,o),a>i?(i+a)/2:Math.min(0,i)||Math.max(0,a))}function N$(){var e=sfe,t=lfe,n=dfe,r=cfe,o=ufe,i=[0,1/0],a=[[-1/0,-1/0],[1/0,1/0]],s=250,l=Kue,c=Ff("start","zoom","end"),u,d,f,h=500,p=150,m=0,g=10;function y(T){T.property("__zoom",Fk).on("wheel.zoom",_,{passive:!1}).on("mousedown.zoom",k).on("dblclick.zoom",N).filter(o).on("touchstart.zoom",R).on("touchmove.zoom",M).on("touchend.zoom touchcancel.zoom",L).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}y.transform=function(T,P,A,F){var q=T.selection?T.selection():T;q.property("__zoom",Fk),T!==q?C(T,P,A,F):q.interrupt().each(function(){E(this,arguments).event(F).start().zoom(null,typeof P=="function"?P.apply(this,arguments):P).end()})},y.scaleBy=function(T,P,A,F){y.scaleTo(T,function(){var q=this.__zoom.k,B=typeof P=="function"?P.apply(this,arguments):P;return q*B},A,F)},y.scaleTo=function(T,P,A,F){y.transform(T,function(){var q=t.apply(this,arguments),B=this.__zoom,z=A==null?x(q):typeof A=="function"?A.apply(this,arguments):A,I=B.invert(z),V=typeof P=="function"?P.apply(this,arguments):P;return n(S(b(B,V),z,I),q,a)},A,F)},y.translateBy=function(T,P,A,F){y.transform(T,function(){return n(this.__zoom.translate(typeof P=="function"?P.apply(this,arguments):P,typeof A=="function"?A.apply(this,arguments):A),t.apply(this,arguments),a)},null,F)},y.translateTo=function(T,P,A,F,q){y.transform(T,function(){var B=t.apply(this,arguments),z=this.__zoom,I=F==null?x(B):typeof F=="function"?F.apply(this,arguments):F;return n(qf.translate(I[0],I[1]).scale(z.k).translate(typeof P=="function"?-P.apply(this,arguments):-P,typeof A=="function"?-A.apply(this,arguments):-A),B,a)},F,q)};function b(T,P){return P=Math.max(i[0],Math.min(i[1],P)),P===T.k?T:new bo(P,T.x,T.y)}function S(T,P,A){var F=P[0]-A[0]*T.k,q=P[1]-A[1]*T.k;return F===T.x&&q===T.y?T:new bo(T.k,F,q)}function x(T){return[(+T[0][0]+ +T[1][0])/2,(+T[0][1]+ +T[1][1])/2]}function C(T,P,A,F){T.on("start.zoom",function(){E(this,arguments).event(F).start()}).on("interrupt.zoom end.zoom",function(){E(this,arguments).event(F).end()}).tween("zoom",function(){var q=this,B=arguments,z=E(q,B).event(F),I=t.apply(q,B),V=A==null?x(I):typeof A=="function"?A.apply(q,B):A,j=Math.max(I[1][0]-I[0][0],I[1][1]-I[0][1]),D=q.__zoom,H=typeof P=="function"?P.apply(q,B):P,U=l(D.invert(V).concat(j/D.k),H.invert(V).concat(j/H.k));return function(G){if(G===1)G=H;else{var X=U(G),Q=j/X[2];G=new bo(Q,V[0]-X[0]*Q,V[1]-X[1]*Q)}z.zoom(null,G)}})}function E(T,P,A){return!A&&T.__zooming||new O(T,P)}function O(T,P){this.that=T,this.args=P,this.active=0,this.sourceEvent=null,this.extent=t.apply(T,P),this.taps=0}O.prototype={event:function(T){return T&&(this.sourceEvent=T),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(T,P){return this.mouse&&T!=="mouse"&&(this.mouse[1]=P.invert(this.mouse[0])),this.touch0&&T!=="touch"&&(this.touch0[1]=P.invert(this.touch0[0])),this.touch1&&T!=="touch"&&(this.touch1[1]=P.invert(this.touch1[0])),this.that.__zoom=P,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(T){var P=$n(this.that).datum();c.call(T,this.that,new afe(T,{sourceEvent:this.sourceEvent,target:y,transform:this.that.__zoom,dispatch:c}),P)}};function _(T,...P){if(!e.apply(this,arguments))return;var A=E(this,P).event(T),F=this.__zoom,q=Math.max(i[0],Math.min(i[1],F.k*Math.pow(2,r.apply(this,arguments)))),B=hr(T);if(A.wheel)(A.mouse[0][0]!==B[0]||A.mouse[0][1]!==B[1])&&(A.mouse[1]=F.invert(A.mouse[0]=B)),clearTimeout(A.wheel);else{if(F.k===q)return;A.mouse=[B,F.invert(B)],cd(this),A.start()}Ks(T),A.wheel=setTimeout(z,p),A.zoom("mouse",n(S(b(F,q),A.mouse[0],A.mouse[1]),A.extent,a));function z(){A.wheel=null,A.end()}}function k(T,...P){if(f||!e.apply(this,arguments))return;var A=T.currentTarget,F=E(this,P,!0).event(T),q=$n(T.view).on("mousemove.zoom",V,!0).on("mouseup.zoom",j,!0),B=hr(T,A),z=T.clientX,I=T.clientY;d$(T.view),Ip(T),F.mouse=[B,this.__zoom.invert(B)],cd(this),F.start();function V(D){if(Ks(D),!F.moved){var H=D.clientX-z,U=D.clientY-I;F.moved=H*H+U*U>m}F.event(D).zoom("mouse",n(S(F.that.__zoom,F.mouse[0]=hr(D,A),F.mouse[1]),F.extent,a))}function j(D){q.on("mousemove.zoom mouseup.zoom",null),f$(D.view,F.moved),Ks(D),F.event(D).end()}}function N(T,...P){if(e.apply(this,arguments)){var A=this.__zoom,F=hr(T.changedTouches?T.changedTouches[0]:T,this),q=A.invert(F),B=A.k*(T.shiftKey?.5:2),z=n(S(b(A,B),F,q),t.apply(this,P),a);Ks(T),s>0?$n(this).transition().duration(s).call(C,z,F,T):$n(this).call(y.transform,z,F,T)}}function R(T,...P){if(e.apply(this,arguments)){var A=T.touches,F=A.length,q=E(this,P,T.changedTouches.length===F).event(T),B,z,I,V;for(Ip(T),z=0;z<F;++z)I=A[z],V=hr(I,this),V=[V,this.__zoom.invert(V),I.identifier],q.touch0?!q.touch1&&q.touch0[2]!==V[2]&&(q.touch1=V,q.taps=0):(q.touch0=V,B=!0,q.taps=1+!!u);u&&(u=clearTimeout(u)),B&&(q.taps<2&&(d=V[0],u=setTimeout(function(){u=null},h)),cd(this),q.start())}}function M(T,...P){if(this.__zooming){var A=E(this,P).event(T),F=T.changedTouches,q=F.length,B,z,I,V;for(Ks(T),B=0;B<q;++B)z=F[B],I=hr(z,this),A.touch0&&A.touch0[2]===z.identifier?A.touch0[0]=I:A.touch1&&A.touch1[2]===z.identifier&&(A.touch1[0]=I);if(z=A.that.__zoom,A.touch1){var j=A.touch0[0],D=A.touch0[1],H=A.touch1[0],U=A.touch1[1],G=(G=H[0]-j[0])*G+(G=H[1]-j[1])*G,X=(X=U[0]-D[0])*X+(X=U[1]-D[1])*X;z=b(z,Math.sqrt(G/X)),I=[(j[0]+H[0])/2,(j[1]+H[1])/2],V=[(D[0]+U[0])/2,(D[1]+U[1])/2]}else if(A.touch0)I=A.touch0[0],V=A.touch0[1];else return;A.zoom("touch",n(S(z,I,V),A.extent,a))}}function L(T,...P){if(this.__zooming){var A=E(this,P).event(T),F=T.changedTouches,q=F.length,B,z;for(Ip(T),f&&clearTimeout(f),f=setTimeout(function(){f=null},h),B=0;B<q;++B)z=F[B],A.touch0&&A.touch0[2]===z.identifier?delete A.touch0:A.touch1&&A.touch1[2]===z.identifier&&delete A.touch1;if(A.touch1&&!A.touch0&&(A.touch0=A.touch1,delete A.touch1),A.touch0)A.touch0[1]=this.__zoom.invert(A.touch0[0]);else if(A.end(),A.taps===2&&(z=hr(z,this),Math.hypot(d[0]-z[0],d[1]-z[1])<g)){var I=$n(this).on("dblclick.zoom");I&&I.apply(this,arguments)}}}return y.wheelDelta=function(T){return arguments.length?(r=typeof T=="function"?T:Cu(+T),y):r},y.filter=function(T){return arguments.length?(e=typeof T=="function"?T:Cu(!!T),y):e},y.touchable=function(T){return arguments.length?(o=typeof T=="function"?T:Cu(!!T),y):o},y.extent=function(T){return arguments.length?(t=typeof T=="function"?T:Cu([[+T[0][0],+T[0][1]],[+T[1][0],+T[1][1]]]),y):t},y.scaleExtent=function(T){return arguments.length?(i[0]=+T[0],i[1]=+T[1],y):[i[0],i[1]]},y.translateExtent=function(T){return arguments.length?(a[0][0]=+T[0][0],a[1][0]=+T[1][0],a[0][1]=+T[0][1],a[1][1]=+T[1][1],y):[[a[0][0],a[0][1]],[a[1][0],a[1][1]]]},y.constrain=function(T){return arguments.length?(n=T,y):n},y.duration=function(T){return arguments.length?(s=+T,y):s},y.interpolate=function(T){return arguments.length?(l=T,y):l},y.on=function(){var T=c.on.apply(c,arguments);return T===c?y:T},y.clickDistance=function(T){return arguments.length?(m=(T=+T)*T,y):Math.sqrt(m)},y.tapDistance=function(T){return arguments.length?(g=+T,y):g},y}const Hn={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:r})=>`Couldn't create edge for ${e} handle id: "${e==="source"?n:r}", edge id: ${t}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},tc=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],R$=["Enter"," ","Escape"];var ns;(function(e){e.Strict="strict",e.Loose="loose"})(ns||(ns={}));var xi;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(xi||(xi={}));var nc;(function(e){e.Partial="partial",e.Full="full"})(nc||(nc={}));const T$={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null};var Wo;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(Wo||(Wo={}));var Ud;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Ud||(Ud={}));var be;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(be||(be={}));const Bk={[be.Left]:be.Right,[be.Right]:be.Left,[be.Top]:be.Bottom,[be.Bottom]:be.Top};function A$(e){return e===null?null:e?"valid":"invalid"}const M$=e=>"id"in e&&"source"in e&&"target"in e,ffe=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),Zw=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Rc=(e,t=[0,0])=>{const{width:n,height:r}=Mo(e),o=e.origin??t,i=n*o[0],a=r*o[1];return{x:e.position.x-i,y:e.position.y-a}},hfe=(e,t={nodeOrigin:[0,0],nodeLookup:void 0})=>{if("{}".NODE_ENV==="development"&&!t.nodeLookup&&console.warn("Please use `getNodesBounds` from `useReactFlow`/`useSvelteFlow` hook to ensure correct values for sub flows. If not possible, you have to provide a nodeLookup to support sub flows."),e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((r,o)=>{const i=typeof o=="string";let a=!t.nodeLookup&&!i?o:void 0;t.nodeLookup&&(a=i?t.nodeLookup.get(o):Zw(o)?o:t.nodeLookup.get(o.id));const s=a?Gd(a,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return Uf(r,s)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return Gf(n)},Tc=(e,t={})=>{if(e.size===0)return{x:0,y:0,width:0,height:0};let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0};return e.forEach(r=>{if(t.filter===void 0||t.filter(r)){const o=Gd(r);n=Uf(n,o)}}),Gf(n)},P$=(e,t,[n,r,o]=[0,0,1],i=!1,a=!1)=>{const s={...Ac(t,[n,r,o]),width:t.width/o,height:t.height/o},l=[];for(const c of e.values()){const{measured:u,selectable:d=!0,hidden:f=!1}=c;if(a&&!d||f)continue;const h=u.width??c.width??c.initialWidth??null,p=u.height??c.height??c.initialHeight??null,m=rc(s,os(c)),g=(h??0)*(p??0),y=i&&m>0;(!c.internals.handleBounds||y||m>=g||c.dragging)&&l.push(c)}return l},pfe=(e,t)=>{const n=new Set;return e.forEach(r=>{n.add(r.id)}),t.filter(r=>n.has(r.source)||n.has(r.target))};function Pb(e,t){const n=new Map,r=t!=null&&t.nodes?new Set(t.nodes.map(o=>o.id)):null;return e.forEach(o=>{o.measured.width&&o.measured.height&&((t==null?void 0:t.includeHiddenNodes)||!o.hidden)&&(!r||r.has(o.id))&&n.set(o.id,o)}),n}async function jb({nodes:e,width:t,height:n,panZoom:r,minZoom:o,maxZoom:i},a){if(e.size===0)return Promise.resolve(!1);const s=Tc(e),l=e1(s,t,n,(a==null?void 0:a.minZoom)??o,(a==null?void 0:a.maxZoom)??i,(a==null?void 0:a.padding)??.1);return await r.setViewport(l,{duration:a==null?void 0:a.duration}),Promise.resolve(!0)}function j$({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:o,onError:i}){const a=n.get(e),s=a.parentId?n.get(a.parentId):void 0,{x:l,y:c}=s?s.internals.positionAbsolute:{x:0,y:0},u=a.origin??r;let d=o;if(a.extent==="parent"&&!a.expandParent)if(!s)i==null||i("005",Hn.error005());else{const h=s.measured.width,p=s.measured.height;h&&p&&(d=[[l,c],[l+h,c+p]])}else s&&is(a.extent)&&(d=[[a.extent[0][0]+l,a.extent[0][1]+c],[a.extent[1][0]+l,a.extent[1][1]+c]]);const f=is(d)?Ri(t,d,a.measured):t;return(a.measured.width===void 0||a.measured.height===void 0)&&(i==null||i("015",Hn.error015())),{position:{x:f.x-l+(a.measured.width??0)*u[0],y:f.y-c+(a.measured.height??0)*u[1]},positionAbsolute:f}}async function gfe({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:r,onBeforeDelete:o}){const i=new Set(e.map(f=>f.id)),a=[];for(const f of n){if(f.deletable===!1)continue;const h=i.has(f.id),p=!h&&f.parentId&&a.find(m=>m.id===f.parentId);(h||p)&&a.push(f)}const s=new Set(t.map(f=>f.id)),l=r.filter(f=>f.deletable!==!1),u=pfe(a,l);for(const f of l)s.has(f.id)&&!u.find(p=>p.id===f.id)&&u.push(f);if(!o)return{edges:u,nodes:a};const d=await o({nodes:a,edges:u});return typeof d=="boolean"?d?{edges:u,nodes:a}:{edges:[],nodes:[]}:d}const rs=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),Ri=(e={x:0,y:0},t,n)=>({x:rs(e.x,t[0][0],t[1][0]-((n==null?void 0:n.width)??0)),y:rs(e.y,t[0][1],t[1][1]-((n==null?void 0:n.height)??0))});function I$(e,t,n){const{width:r,height:o}=Mo(n),{x:i,y:a}=n.internals.positionAbsolute;return Ri(e,[[i,a],[i+r,a+o]],t)}const Vk=(e,t,n)=>e<t?rs(Math.abs(e-t),1,t)/t:e>n?-rs(Math.abs(e-n),1,t)/t:0,L$=(e,t,n=15,r=40)=>{const o=Vk(e.x,r,t.width-r)*n,i=Vk(e.y,r,t.height-r)*n;return[o,i]},Uf=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),Ib=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),Gf=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),os=(e,t=[0,0])=>{var o,i;const{x:n,y:r}=Zw(e)?e.internals.positionAbsolute:Rc(e,t);return{x:n,y:r,width:((o=e.measured)==null?void 0:o.width)??e.width??e.initialWidth??0,height:((i=e.measured)==null?void 0:i.height)??e.height??e.initialHeight??0}},Gd=(e,t=[0,0])=>{var o,i;const{x:n,y:r}=Zw(e)?e.internals.positionAbsolute:Rc(e,t);return{x:n,y:r,x2:n+(((o=e.measured)==null?void 0:o.width)??e.width??e.initialWidth??0),y2:r+(((i=e.measured)==null?void 0:i.height)??e.height??e.initialHeight??0)}},$$=(e,t)=>Gf(Uf(Ib(e),Ib(t))),rc=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},Hk=e=>yr(e.width)&&yr(e.height)&&yr(e.x)&&yr(e.y),yr=e=>!isNaN(e)&&isFinite(e),D$=(e,t)=>{"{}".NODE_ENV==="development"&&console.warn(`[React Flow]: ${t} Help: https://reactflow.dev/error#${e}`)},Wf=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),Ac=({x:e,y:t},[n,r,o],i=!1,a=[1,1])=>{const s={x:(e-n)/o,y:(t-r)/o};return i?Wf(s,a):s},z$=({x:e,y:t},[n,r,o])=>({x:e*o+n,y:t*o+r}),e1=(e,t,n,r,o,i)=>{const a=t/(e.width*(1+i)),s=n/(e.height*(1+i)),l=Math.min(a,s),c=rs(l,r,o),u=e.x+e.width/2,d=e.y+e.height/2,f=t/2-u*c,h=n/2-d*c;return{x:f,y:h,zoom:c}},Wd=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function is(e){return e!==void 0&&e!=="parent"}function Mo(e){var t,n;return{width:((t=e.measured)==null?void 0:t.width)??e.width??e.initialWidth??0,height:((n=e.measured)==null?void 0:n.height)??e.height??e.initialHeight??0}}function F$(e){var t,n;return(((t=e.measured)==null?void 0:t.width)??e.width??e.initialWidth)!==void 0&&(((n=e.measured)==null?void 0:n.height)??e.height??e.initialHeight)!==void 0}function B$(e,t={width:0,height:0},n,r,o){const i={...e},a=r.get(n);if(a){const s=a.origin||o;i.x+=a.internals.positionAbsolute.x-(t.width??0)*s[0],i.y+=a.internals.positionAbsolute.y-(t.height??0)*s[1]}return i}function qk(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function _l(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:o}){const{x:i,y:a}=wo(e),s=Ac({x:i-((o==null?void 0:o.left)??0),y:a-((o==null?void 0:o.top)??0)},r),{x:l,y:c}=n?Wf(s,t):s;return{xSnapped:l,ySnapped:c,...s}}const Kf=e=>({width:e.offsetWidth,height:e.offsetHeight}),V$=e=>{var t;return((t=e==null?void 0:e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},mfe=["INPUT","SELECT","TEXTAREA"];function Lb(e){var r,o;const t=((o=(r=e.composedPath)==null?void 0:r.call(e))==null?void 0:o[0])||e.target;return(t==null?void 0:t.nodeType)!==1?!1:mfe.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const H$=e=>"clientX"in e,wo=(e,t)=>{var i,a;const n=H$(e),r=n?e.clientX:(i=e.touches)==null?void 0:i[0].clientX,o=n?e.clientY:(a=e.touches)==null?void 0:a[0].clientY;return{x:r-((t==null?void 0:t.left)??0),y:o-((t==null?void 0:t.top)??0)}},Uk=(e,t,n,r,o)=>{const i=t.querySelectorAll(`.${e}`);return!i||!i.length?null:Array.from(i).map(a=>{const s=a.getBoundingClientRect();return{id:a.getAttribute("data-handleid"),type:e,nodeId:o,position:a.getAttribute("data-handlepos"),x:(s.left-n.left)/r,y:(s.top-n.top)/r,...Kf(a)}})};function q$({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:o,sourceControlY:i,targetControlX:a,targetControlY:s}){const l=e*.125+o*.375+a*.375+n*.125,c=t*.125+i*.375+s*.375+r*.125,u=Math.abs(l-e),d=Math.abs(c-t);return[l,c,u,d]}function _u(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function Gk({pos:e,x1:t,y1:n,x2:r,y2:o,c:i}){switch(e){case be.Left:return[t-_u(t-r,i),n];case be.Right:return[t+_u(r-t,i),n];case be.Top:return[t,n-_u(n-o,i)];case be.Bottom:return[t,n+_u(o-n,i)]}}function U$({sourceX:e,sourceY:t,sourcePosition:n=be.Bottom,targetX:r,targetY:o,targetPosition:i=be.Top,curvature:a=.25}){const[s,l]=Gk({pos:n,x1:e,y1:t,x2:r,y2:o,c:a}),[c,u]=Gk({pos:i,x1:r,y1:o,x2:e,y2:t,c:a}),[d,f,h,p]=q$({sourceX:e,sourceY:t,targetX:r,targetY:o,sourceControlX:s,sourceControlY:l,targetControlX:c,targetControlY:u});return[`M${e},${t} C${s},${l} ${c},${u} ${r},${o}`,d,f,h,p]}function G$({sourceX:e,sourceY:t,targetX:n,targetY:r}){const o=Math.abs(n-e)/2,i=n<e?n+o:n-o,a=Math.abs(r-t)/2,s=r<t?r+a:r-a;return[i,s,o,a]}function vfe({sourceNode:e,targetNode:t,selected:n=!1,zIndex:r=0,elevateOnSelect:o=!1}){if(!o)return r;const i=n||t.selected||e.selected,a=Math.max(e.internals.z||0,t.internals.z||0,1e3);return r+(i?a:0)}function yfe({sourceNode:e,targetNode:t,width:n,height:r,transform:o}){const i=Uf(Gd(e),Gd(t));i.x===i.x2&&(i.x2+=1),i.y===i.y2&&(i.y2+=1);const a={x:-o[0]/o[2],y:-o[1]/o[2],width:n/o[2],height:r/o[2]};return rc(a,Gf(i))>0}const bfe=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||""}-${n}${r||""}`,xfe=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),W$=(e,t)=>{if(!e.source||!e.target)return D$("006",Hn.error006()),t;let n;return M$(e)?n={...e}:n={...e,id:bfe(e)},xfe(n,t)?t:(n.sourceHandle===null&&delete n.sourceHandle,n.targetHandle===null&&delete n.targetHandle,t.concat(n))};function K$({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[o,i,a,s]=G$({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,o,i,a,s]}const Wk={[be.Left]:{x:-1,y:0},[be.Right]:{x:1,y:0},[be.Top]:{x:0,y:-1},[be.Bottom]:{x:0,y:1}},wfe=({source:e,sourcePosition:t=be.Bottom,target:n})=>t===be.Left||t===be.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},Kk=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function Sfe({source:e,sourcePosition:t=be.Bottom,target:n,targetPosition:r=be.Top,center:o,offset:i}){const a=Wk[t],s=Wk[r],l={x:e.x+a.x*i,y:e.y+a.y*i},c={x:n.x+s.x*i,y:n.y+s.y*i},u=wfe({source:l,sourcePosition:t,target:c}),d=u.x!==0?"x":"y",f=u[d];let h=[],p,m;const g={x:0,y:0},y={x:0,y:0},[b,S,x,C]=G$({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(a[d]*s[d]===-1){p=o.x??b,m=o.y??S;const O=[{x:p,y:l.y},{x:p,y:c.y}],_=[{x:l.x,y:m},{x:c.x,y:m}];a[d]===f?h=d==="x"?O:_:h=d==="x"?_:O}else{const O=[{x:l.x,y:c.y}],_=[{x:c.x,y:l.y}];if(d==="x"?h=a.x===f?_:O:h=a.y===f?O:_,t===r){const L=Math.abs(e[d]-n[d]);if(L<=i){const T=Math.min(i-1,i-L);a[d]===f?g[d]=(l[d]>e[d]?-1:1)*T:y[d]=(c[d]>n[d]?-1:1)*T}}if(t!==r){const L=d==="x"?"y":"x",T=a[d]===s[L],P=l[L]>c[L],A=l[L]<c[L];(a[d]===1&&(!T&&P||T&&A)||a[d]!==1&&(!T&&A||T&&P))&&(h=d==="x"?O:_)}const k={x:l.x+g.x,y:l.y+g.y},N={x:c.x+y.x,y:c.y+y.y},R=Math.max(Math.abs(k.x-h[0].x),Math.abs(N.x-h[0].x)),M=Math.max(Math.abs(k.y-h[0].y),Math.abs(N.y-h[0].y));R>=M?(p=(k.x+N.x)/2,m=h[0].y):(p=h[0].x,m=(k.y+N.y)/2)}return[[e,{x:l.x+g.x,y:l.y+g.y},...h,{x:c.x+y.x,y:c.y+y.y},n],p,m,x,C]}function Cfe(e,t,n,r){const o=Math.min(Kk(e,t)/2,Kk(t,n)/2,r),{x:i,y:a}=t;if(e.x===i&&i===n.x||e.y===a&&a===n.y)return`L${i} ${a}`;if(e.y===a){const c=e.x<n.x?-1:1,u=e.y<n.y?1:-1;return`L ${i+o*c},${a}Q ${i},${a} ${i},${a+o*u}`}const s=e.x<n.x?1:-1,l=e.y<n.y?-1:1;return`L ${i},${a+o*l}Q ${i},${a} ${i+o*s},${a}`}function $b({sourceX:e,sourceY:t,sourcePosition:n=be.Bottom,targetX:r,targetY:o,targetPosition:i=be.Top,borderRadius:a=5,centerX:s,centerY:l,offset:c=20}){const[u,d,f,h,p]=Sfe({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:o},targetPosition:i,center:{x:s,y:l},offset:c});return[u.reduce((g,y,b)=>{let S="";return b>0&&b<u.length-1?S=Cfe(u[b-1],y,u[b+1],a):S=`${b===0?"M":"L"}${y.x} ${y.y}`,g+=S,g},""),d,f,h,p]}function Xk(e){var t;return e&&!!(e.internals.handleBounds||(t=e.handles)!=null&&t.length)&&!!(e.measured.width||e.width||e.initialWidth)}function _fe(e){var d;const{sourceNode:t,targetNode:n}=e;if(!Xk(t)||!Xk(n))return null;const r=t.internals.handleBounds||Yk(t.handles),o=n.internals.handleBounds||Yk(n.handles),i=Jk((r==null?void 0:r.source)??[],e.sourceHandle),a=Jk(e.connectionMode===ns.Strict?(o==null?void 0:o.target)??[]:((o==null?void 0:o.target)??[]).concat((o==null?void 0:o.source)??[]),e.targetHandle);if(!i||!a)return(d=e.onError)==null||d.call(e,"008",Hn.error008(i?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const s=(i==null?void 0:i.position)||be.Bottom,l=(a==null?void 0:a.position)||be.Top,c=oc(t,i,s),u=oc(n,a,l);return{sourceX:c.x,sourceY:c.y,targetX:u.x,targetY:u.y,sourcePosition:s,targetPosition:l}}function Yk(e){if(!e)return null;const t=[],n=[];for(const r of e)r.width=r.width??1,r.height=r.height??1,r.type==="source"?t.push(r):r.type==="target"&&n.push(r);return{source:t,target:n}}function oc(e,t,n=be.Left,r=!1){const o=((t==null?void 0:t.x)??0)+e.internals.positionAbsolute.x,i=((t==null?void 0:t.y)??0)+e.internals.positionAbsolute.y,{width:a,height:s}=t??Mo(e);if(r)return{x:o+a/2,y:i+s/2};switch((t==null?void 0:t.position)??n){case be.Top:return{x:o+a/2,y:i};case be.Right:return{x:o+a,y:i+s/2};case be.Bottom:return{x:o+a/2,y:i+s};case be.Left:return{x:o,y:i+s/2}}}function Jk(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}function Db(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`:""}function Efe(e,{id:t,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:o}){const i=new Set;return e.reduce((a,s)=>([s.markerStart||r,s.markerEnd||o].forEach(l=>{if(l&&typeof l=="object"){const c=Db(l,t);i.has(c)||(a.push({id:c,color:l.color||n,...l}),i.add(c))}}),a),[]).sort((a,s)=>a.id.localeCompare(s.id))}const t1={nodeOrigin:[0,0],nodeExtent:tc,elevateNodesOnSelect:!0,defaults:{}},kfe={...t1,checkEquality:!0};function n1(e,t){const n={...e};for(const r in t)t[r]!==void 0&&(n[r]=t[r]);return n}function Ofe(e,t,n){const r=n1(t1,n);for(const o of e.values())if(o.parentId)r1(o,e,t,r);else{const i=Rc(o,r.nodeOrigin),a=is(o.extent)?o.extent:r.nodeExtent,s=Ri(i,a,Mo(o));o.internals.positionAbsolute=s}}function zb(e,t,n,r){var s,l;const o=n1(kfe,r),i=new Map(t),a=o!=null&&o.elevateNodesOnSelect?1e3:0;t.clear(),n.clear();for(const c of e){let u=i.get(c.id);if(o.checkEquality&&c===(u==null?void 0:u.internals.userNode))t.set(c.id,u);else{const d=Rc(c,o.nodeOrigin),f=is(c.extent)?c.extent:o.nodeExtent,h=Ri(d,f,Mo(c));u={...o.defaults,...c,measured:{width:(s=c.measured)==null?void 0:s.width,height:(l=c.measured)==null?void 0:l.height},internals:{positionAbsolute:h,handleBounds:c.measured?u==null?void 0:u.internals.handleBounds:void 0,z:X$(c,a),userNode:c}},t.set(c.id,u)}c.parentId&&r1(u,t,n,r)}}function Nfe(e,t){if(!e.parentId)return;const n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function r1(e,t,n,r){const{elevateNodesOnSelect:o,nodeOrigin:i,nodeExtent:a}=n1(t1,r),s=e.parentId,l=t.get(s);if(!l){console.warn(`Parent node ${s} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}Nfe(e,n);const c=o?1e3:0,{x:u,y:d,z:f}=Rfe(e,l,i,a,c),{positionAbsolute:h}=e.internals,p=u!==h.x||d!==h.y;(p||f!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:p?{x:u,y:d}:h,z:f}})}function X$(e,t){return(yr(e.zIndex)?e.zIndex:0)+(e.selected?t:0)}function Rfe(e,t,n,r,o){const{x:i,y:a}=t.internals.positionAbsolute,s=Mo(e),l=Rc(e,n),c=is(e.extent)?Ri(l,e.extent,s):l;let u=Ri({x:i+c.x,y:a+c.y},r,s);e.extent==="parent"&&(u=I$(u,s,t));const d=X$(e,o),f=t.internals.z??0;return{x:u.x,y:u.y,z:f>d?f:d}}function o1(e,t,n,r=[0,0]){var a;const o=[],i=new Map;for(const s of e){const l=t.get(s.parentId);if(!l)continue;const c=((a=i.get(s.parentId))==null?void 0:a.expandedRect)??os(l),u=$$(c,s.rect);i.set(s.parentId,{expandedRect:u,parent:l})}return i.size>0&&i.forEach(({expandedRect:s,parent:l},c)=>{var S;const u=l.internals.positionAbsolute,d=Mo(l),f=l.origin??r,h=s.x<u.x?Math.round(Math.abs(u.x-s.x)):0,p=s.y<u.y?Math.round(Math.abs(u.y-s.y)):0,m=Math.max(d.width,Math.round(s.width)),g=Math.max(d.height,Math.round(s.height)),y=(m-d.width)*f[0],b=(g-d.height)*f[1];(h>0||p>0||y||b)&&(o.push({id:c,type:"position",position:{x:l.position.x-h+y,y:l.position.y-p+b}}),(S=n.get(c))==null||S.forEach(x=>{e.some(C=>C.id===x.id)||o.push({id:x.id,type:"position",position:{x:x.position.x+h,y:x.position.y+p}})})),(d.width<s.width||d.height<s.height||h||p)&&o.push({id:c,type:"dimensions",setAttributes:!0,dimensions:{width:m+(h?f[0]*h-y:0),height:g+(p?f[1]*p-b:0)}})}),o}function Tfe(e,t,n,r,o,i){const a=r==null?void 0:r.querySelector(".xyflow__viewport");let s=!1;if(!a)return{changes:[],updatedInternals:s};const l=[],c=window.getComputedStyle(a),{m22:u}=new window.DOMMatrixReadOnly(c.transform),d=[];for(const f of e.values()){const h=t.get(f.id);if(!h)continue;if(h.hidden){t.set(h.id,{...h,internals:{...h.internals,handleBounds:void 0}}),s=!0;continue}const p=Kf(f.nodeElement),m=h.measured.width!==p.width||h.measured.height!==p.height;if(!!(p.width&&p.height&&(m||!h.internals.handleBounds||f.force))){const y=f.nodeElement.getBoundingClientRect(),b=is(h.extent)?h.extent:i;let{positionAbsolute:S}=h.internals;h.parentId&&h.extent==="parent"?S=I$(S,p,t.get(h.parentId)):b&&(S=Ri(S,b,p));const x={...h,measured:p,internals:{...h.internals,positionAbsolute:S,handleBounds:{source:Uk("source",f.nodeElement,y,u,h.id),target:Uk("target",f.nodeElement,y,u,h.id)}}};t.set(h.id,x),h.parentId&&r1(x,t,n,{nodeOrigin:o}),s=!0,m&&(l.push({id:h.id,type:"dimensions",dimensions:p}),h.expandParent&&h.parentId&&d.push({id:h.id,parentId:h.parentId,rect:os(x,o)}))}}if(d.length>0){const f=o1(d,t,n,o);l.push(...f)}return{changes:l,updatedInternals:s}}async function Afe({delta:e,panZoom:t,transform:n,translateExtent:r,width:o,height:i}){if(!t||!e.x&&!e.y)return Promise.resolve(!1);const a=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[o,i]],r),s=!!a&&(a.x!==n[0]||a.y!==n[1]||a.k!==n[2]);return Promise.resolve(s)}function Qk(e,t,n,r,o,i){let a=o;const s=r.get(a)||new Map;r.set(a,s.set(n,t)),a=`${o}-${e}`;const l=r.get(a)||new Map;if(r.set(a,l.set(n,t)),i){a=`${o}-${e}-${i}`;const c=r.get(a)||new Map;r.set(a,c.set(n,t))}}function Y$(e,t,n){e.clear(),t.clear();for(const r of n){const{source:o,target:i,sourceHandle:a=null,targetHandle:s=null}=r,l={edgeId:r.id,source:o,target:i,sourceHandle:a,targetHandle:s},c=`${o}-${a}--${i}-${s}`,u=`${i}-${s}--${o}-${a}`;Qk("source",l,u,e,o,a),Qk("target",l,c,e,i,s),t.set(r.id,r)}}function J$(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:J$(n,t):!1}function Zk(e,t,n){var o;let r=e;do{if((o=r==null?void 0:r.matches)!=null&&o.call(r,t))return!0;if(r===n)return!1;r=r==null?void 0:r.parentElement}while(r);return!1}function Mfe(e,t,n,r){const o=new Map;for(const[i,a]of e)if((a.selected||a.id===r)&&(!a.parentId||!J$(a,e))&&(a.draggable||t&&typeof a.draggable>"u")){const s=e.get(i);s&&o.set(i,{id:i,position:s.position||{x:0,y:0},distance:{x:n.x-s.internals.positionAbsolute.x,y:n.y-s.internals.positionAbsolute.y},extent:s.extent,parentId:s.parentId,origin:s.origin,expandParent:s.expandParent,internals:{positionAbsolute:s.internals.positionAbsolute||{x:0,y:0}},measured:{width:s.measured.width??0,height:s.measured.height??0}})}return o}function Lp({nodeId:e,dragItems:t,nodeLookup:n,dragging:r=!0}){var a,s,l;const o=[];for(const[c,u]of t){const d=(a=n.get(c))==null?void 0:a.internals.userNode;d&&o.push({...d,position:u.position,dragging:r})}if(!e)return[o[0],o];const i=(s=n.get(e))==null?void 0:s.internals.userNode;return[i?{...i,position:((l=t.get(e))==null?void 0:l.position)||i.position,dragging:r}:o[0],o]}function Pfe({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:r,onDragStop:o}){let i={x:null,y:null},a=0,s=new Map,l=!1,c={x:0,y:0},u=null,d=!1,f=null,h=!1;function p({noDragClassName:g,handleSelector:y,domNode:b,isSelectable:S,nodeId:x,nodeClickDistance:C=0}){f=$n(b);function E({x:N,y:R},M){const{nodeLookup:L,nodeExtent:T,snapGrid:P,snapToGrid:A,nodeOrigin:F,onNodeDrag:q,onSelectionDrag:B,onError:z,updateNodePositions:I}=t();i={x:N,y:R};let V=!1,j={x:0,y:0,x2:0,y2:0};if(s.size>1&&T){const D=Tc(s);j=Ib(D)}for(const[D,H]of s){if(!L.has(D))continue;let U={x:N-H.distance.x,y:R-H.distance.y};A&&(U=Wf(U,P));let G=[[T[0][0],T[0][1]],[T[1][0],T[1][1]]];if(s.size>1&&T&&!H.extent){const{positionAbsolute:Z}=H.internals,ne=Z.x-j.x+T[0][0],K=Z.x+H.measured.width-j.x2+T[1][0],ie=Z.y-j.y+T[0][1],te=Z.y+H.measured.height-j.y2+T[1][1];G=[[ne,ie],[K,te]]}const{position:X,positionAbsolute:Q}=j$({nodeId:D,nextPosition:U,nodeLookup:L,nodeExtent:G,nodeOrigin:F,onError:z});V=V||H.position.x!==X.x||H.position.y!==X.y,H.position=X,H.internals.positionAbsolute=Q}if(V&&(I(s,!0),M&&(r||q||!x&&B))){const[D,H]=Lp({nodeId:x,dragItems:s,nodeLookup:L});r==null||r(M,s,D,H),q==null||q(M,D,H),x||B==null||B(M,H)}}async function O(){if(!u)return;const{transform:N,panBy:R,autoPanSpeed:M,autoPanOnNodeDrag:L}=t();if(!L){l=!1,cancelAnimationFrame(a);return}const[T,P]=L$(c,u,M);(T!==0||P!==0)&&(i.x=(i.x??0)-T/N[2],i.y=(i.y??0)-P/N[2],await R({x:T,y:P})&&E(i,null)),a=requestAnimationFrame(O)}function _(N){var V;const{nodeLookup:R,multiSelectionActive:M,nodesDraggable:L,transform:T,snapGrid:P,snapToGrid:A,selectNodesOnDrag:F,onNodeDragStart:q,onSelectionDragStart:B,unselectNodesAndEdges:z}=t();d=!0,(!F||!S)&&!M&&x&&((V=R.get(x))!=null&&V.selected||z()),S&&F&&x&&(e==null||e(x));const I=_l(N.sourceEvent,{transform:T,snapGrid:P,snapToGrid:A,containerBounds:u});if(i=I,s=Mfe(R,L,I,x),s.size>0&&(n||q||!x&&B)){const[j,D]=Lp({nodeId:x,dragItems:s,nodeLookup:R});n==null||n(N.sourceEvent,s,j,D),q==null||q(N.sourceEvent,j,D),x||B==null||B(N.sourceEvent,D)}}const k=h$().clickDistance(C).on("start",N=>{const{domNode:R,nodeDragThreshold:M,transform:L,snapGrid:T,snapToGrid:P}=t();u=(R==null?void 0:R.getBoundingClientRect())||null,h=!1,M===0&&_(N),i=_l(N.sourceEvent,{transform:L,snapGrid:T,snapToGrid:P,containerBounds:u}),c=wo(N.sourceEvent,u)}).on("drag",N=>{const{autoPanOnNodeDrag:R,transform:M,snapGrid:L,snapToGrid:T,nodeDragThreshold:P,nodeLookup:A}=t(),F=_l(N.sourceEvent,{transform:M,snapGrid:L,snapToGrid:T,containerBounds:u});if((N.sourceEvent.type==="touchmove"&&N.sourceEvent.touches.length>1||x&&!A.has(x))&&(h=!0),!h){if(!l&&R&&d&&(l=!0,O()),!d){const q=F.xSnapped-(i.x??0),B=F.ySnapped-(i.y??0);Math.sqrt(q*q+B*B)>P&&_(N)}(i.x!==F.xSnapped||i.y!==F.ySnapped)&&s&&d&&(c=wo(N.sourceEvent,u),E(F,N.sourceEvent))}}).on("end",N=>{if(!(!d||h)&&(l=!1,d=!1,cancelAnimationFrame(a),s.size>0)){const{nodeLookup:R,updateNodePositions:M,onNodeDragStop:L,onSelectionDragStop:T}=t();if(M(s,!1),o||L||!x&&T){const[P,A]=Lp({nodeId:x,dragItems:s,nodeLookup:R,dragging:!1});o==null||o(N.sourceEvent,s,P,A),L==null||L(N.sourceEvent,P,A),x||T==null||T(N.sourceEvent,A)}}}).filter(N=>{const R=N.target;return!N.button&&(!g||!Zk(R,`.${g}`,b))&&(!y||Zk(R,y,b))});f.call(k)}function m(){f==null||f.on(".drag",null)}return{update:p,destroy:m}}function jfe(e,t,n){const r=[],o={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const i of t.values())rc(o,os(i))>0&&r.push(i);return r}const Ife=250;function Lfe(e,t,n,r){var s,l;let o=[],i=1/0;const a=jfe(e,n,t+Ife);for(const c of a){const u=[...((s=c.internals.handleBounds)==null?void 0:s.source)??[],...((l=c.internals.handleBounds)==null?void 0:l.target)??[]];for(const d of u){if(r.nodeId===d.nodeId&&r.type===d.type&&r.id===d.id)continue;const{x:f,y:h}=oc(c,d,d.position,!0),p=Math.sqrt(Math.pow(f-e.x,2)+Math.pow(h-e.y,2));p>t||(p<i?(o=[{...d,x:f,y:h}],i=p):p===i&&o.push({...d,x:f,y:h}))}}if(!o.length)return null;if(o.length>1){const c=r.type==="source"?"target":"source";return o.find(u=>u.type===c)??o[0]}return o[0]}function Q$(e,t,n,r,o,i=!1){var c,u,d;const a=r.get(e);if(!a)return null;const s=o==="strict"?(c=a.internals.handleBounds)==null?void 0:c[t]:[...((u=a.internals.handleBounds)==null?void 0:u.source)??[],...((d=a.internals.handleBounds)==null?void 0:d.target)??[]],l=(n?s==null?void 0:s.find(f=>f.id===n):s==null?void 0:s[0])??null;return l&&i?{...l,...oc(a,l,l.position,!0)}:l}function Z$(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function $fe(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const e5=()=>!0;function Dfe(e,{connectionMode:t,connectionRadius:n,handleId:r,nodeId:o,edgeUpdaterType:i,isTarget:a,domNode:s,nodeLookup:l,lib:c,autoPanOnConnect:u,flowId:d,panBy:f,cancelConnection:h,onConnectStart:p,onConnect:m,onConnectEnd:g,isValidConnection:y=e5,onReconnectEnd:b,updateConnection:S,getTransform:x,getFromHandle:C,autoPanSpeed:E}){const O=V$(e.target);let _=0,k;const{x:N,y:R}=wo(e),M=O==null?void 0:O.elementFromPoint(N,R),L=Z$(i,M),T=s==null?void 0:s.getBoundingClientRect();if(!T||!L)return;const P=Q$(o,L,r,l,t);if(!P)return;let A=wo(e,T),F=!1,q=null,B=!1,z=null;function I(){if(!u||!T)return;const[Q,Z]=L$(A,T,E);f({x:Q,y:Z}),_=requestAnimationFrame(I)}const V={...P,nodeId:o,type:L,position:P.position},j=l.get(o),H={inProgress:!0,isValid:null,from:oc(j,V,be.Left,!0),fromHandle:V,fromPosition:V.position,fromNode:j,to:A,toHandle:null,toPosition:Bk[V.position],toNode:null};S(H);let U=H;p==null||p(e,{nodeId:o,handleId:r,handleType:L});function G(Q){if(!C()||!V){X(Q);return}const Z=x();A=wo(Q,T),k=Lfe(Ac(A,Z,!1,[1,1]),n,l,V),F||(I(),F=!0);const ne=t5(Q,{handle:k,connectionMode:t,fromNodeId:o,fromHandleId:r,fromType:a?"target":"source",isValidConnection:y,doc:O,lib:c,flowId:d,nodeLookup:l});z=ne.handleDomNode,q=ne.connection,B=$fe(!!k,ne.isValid);const K={...U,isValid:B,to:k&&B?z$({x:k.x,y:k.y},Z):A,toHandle:ne.toHandle,toPosition:B&&ne.toHandle?ne.toHandle.position:Bk[V.position],toNode:ne.toHandle?l.get(ne.toHandle.nodeId):null};B&&k&&U.toHandle&&K.toHandle&&U.toHandle.type===K.toHandle.type&&U.toHandle.nodeId===K.toHandle.nodeId&&U.toHandle.id===K.toHandle.id&&U.to.x===K.to.x&&U.to.y===K.to.y||(S(K),U=K)}function X(Q){(k||z)&&q&&B&&(m==null||m(q));const{inProgress:Z,...ne}=U,K={...ne,toPosition:U.toHandle?U.toPosition:null};g==null||g(Q,K),i&&(b==null||b(Q,K)),h(),cancelAnimationFrame(_),F=!1,B=!1,q=null,z=null,O.removeEventListener("mousemove",G),O.removeEventListener("mouseup",X),O.removeEventListener("touchmove",G),O.removeEventListener("touchend",X)}O.addEventListener("mousemove",G),O.addEventListener("mouseup",X),O.addEventListener("touchmove",G),O.addEventListener("touchend",X)}function t5(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:o,fromType:i,doc:a,lib:s,flowId:l,isValidConnection:c=e5,nodeLookup:u}){const d=i==="target",f=t?a.querySelector(`.${s}-flow__handle[data-id="${l}-${t==null?void 0:t.nodeId}-${t==null?void 0:t.id}-${t==null?void 0:t.type}"]`):null,{x:h,y:p}=wo(e),m=a.elementFromPoint(h,p),g=m!=null&&m.classList.contains(`${s}-flow__handle`)?m:f,y={handleDomNode:g,isValid:!1,connection:null,toHandle:null};if(g){const b=Z$(void 0,g),S=g.getAttribute("data-nodeid"),x=g.getAttribute("data-handleid"),C=g.classList.contains("connectable"),E=g.classList.contains("connectableend");if(!S||!b)return y;const O={source:d?S:r,sourceHandle:d?x:o,target:d?r:S,targetHandle:d?o:x};y.connection=O;const k=C&&E&&(n===ns.Strict?d&&b==="source"||!d&&b==="target":S!==r||x!==o);y.isValid=k&&c(O),y.toHandle=Q$(S,b,x,u,n,!1)}return y}const Fb={onPointerDown:Dfe,isValid:t5};function zfe({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){const o=$n(e);function i({translateExtent:s,width:l,height:c,zoomStep:u=10,pannable:d=!0,zoomable:f=!0,inversePan:h=!1}){const p=S=>{const x=n();if(S.sourceEvent.type!=="wheel"||!t)return;const C=-S.sourceEvent.deltaY*(S.sourceEvent.deltaMode===1?.05:S.sourceEvent.deltaMode?1:.002)*u,E=x[2]*Math.pow(2,C);t.scaleTo(E)};let m=[0,0];const g=S=>{(S.sourceEvent.type==="mousedown"||S.sourceEvent.type==="touchstart")&&(m=[S.sourceEvent.clientX??S.sourceEvent.touches[0].clientX,S.sourceEvent.clientY??S.sourceEvent.touches[0].clientY])},y=S=>{const x=n();if(S.sourceEvent.type!=="mousemove"&&S.sourceEvent.type!=="touchmove"||!t)return;const C=[S.sourceEvent.clientX??S.sourceEvent.touches[0].clientX,S.sourceEvent.clientY??S.sourceEvent.touches[0].clientY],E=[C[0]-m[0],C[1]-m[1]];m=C;const O=r()*Math.max(x[2],Math.log(x[2]))*(h?-1:1),_={x:x[0]-E[0]*O,y:x[1]-E[1]*O},k=[[0,0],[l,c]];t.setViewportConstrained({x:_.x,y:_.y,zoom:x[2]},k,s)},b=N$().on("start",g).on("zoom",d?y:null).on("zoom.wheel",f?p:null);o.call(b,{})}function a(){o.on("zoom",null)}return{update:i,destroy:a,pointer:hr}}const Ffe=(e,t)=>e.x!==t.x||e.y!==t.y||e.zoom!==t.k,Xf=e=>({x:e.x,y:e.y,zoom:e.k}),$p=({x:e,y:t,zoom:n})=>qf.translate(e,t).scale(n),Ta=(e,t)=>e.target.closest(`.${t}`),n5=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),Dp=(e,t=0,n=()=>{})=>{const r=typeof t=="number"&&t>0;return r||n(),r?e.transition().duration(t).on("end",n):e},r5=e=>{const t=e.ctrlKey&&Wd()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function Bfe({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:o,panOnScrollSpeed:i,zoomOnPinch:a,onPanZoomStart:s,onPanZoom:l,onPanZoomEnd:c}){return u=>{if(Ta(u,t))return!1;u.preventDefault(),u.stopImmediatePropagation();const d=n.property("__zoom").k||1;if(u.ctrlKey&&a){const g=hr(u),y=r5(u),b=d*Math.pow(2,y);r.scaleTo(n,b,g,u);return}const f=u.deltaMode===1?20:1;let h=o===xi.Vertical?0:u.deltaX*f,p=o===xi.Horizontal?0:u.deltaY*f;!Wd()&&u.shiftKey&&o!==xi.Vertical&&(h=u.deltaY*f,p=0),r.translateBy(n,-(h/d)*i,-(p/d)*i,{internal:!0});const m=Xf(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling||(e.isPanScrolling=!0,s==null||s(u,m)),e.isPanScrolling&&(l==null||l(u,m),e.panScrollTimeout=setTimeout(()=>{c==null||c(u,m),e.isPanScrolling=!1},150))}}function Vfe({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,o){if(!t&&r.type==="wheel"&&!r.ctrlKey||Ta(r,e))return null;r.preventDefault(),n.call(this,r,o)}}function Hfe({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{var i,a,s;if((i=r.sourceEvent)!=null&&i.internal)return;const o=Xf(r.transform);e.mouseButton=((a=r.sourceEvent)==null?void 0:a.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=o,((s=r.sourceEvent)==null?void 0:s.type)==="mousedown"&&t(!0),n&&(n==null||n(r.sourceEvent,o))}}function qfe({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:o}){return i=>{var a,s;e.usedRightMouseButton=!!(n&&n5(t,e.mouseButton??0)),(a=i.sourceEvent)!=null&&a.sync||r([i.transform.x,i.transform.y,i.transform.k]),o&&!((s=i.sourceEvent)!=null&&s.internal)&&(o==null||o(i.sourceEvent,Xf(i.transform)))}}function Ufe({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:o,onPaneContextMenu:i}){return a=>{var s;if(!((s=a.sourceEvent)!=null&&s.internal)&&(e.isZoomingOrPanning=!1,i&&n5(t,e.mouseButton??0)&&!e.usedRightMouseButton&&a.sourceEvent&&i(a.sourceEvent),e.usedRightMouseButton=!1,r(!1),o&&Ffe(e.prevViewport,a.transform))){const l=Xf(a.transform);e.prevViewport=l,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{o==null||o(a.sourceEvent,l)},n?150:0)}}}function Gfe({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:r,panOnScroll:o,zoomOnDoubleClick:i,userSelectionActive:a,noWheelClassName:s,noPanClassName:l,lib:c}){return u=>{var p;const d=e||t,f=n&&u.ctrlKey;if(u.button===1&&u.type==="mousedown"&&(Ta(u,`${c}-flow__node`)||Ta(u,`${c}-flow__edge`)))return!0;if(!r&&!d&&!o&&!i&&!n||a||Ta(u,s)&&u.type==="wheel"||Ta(u,l)&&(u.type!=="wheel"||o&&u.type==="wheel"&&!e)||!n&&u.ctrlKey&&u.type==="wheel")return!1;if(!n&&u.type==="touchstart"&&((p=u.touches)==null?void 0:p.length)>1)return u.preventDefault(),!1;if(!d&&!o&&!f&&u.type==="wheel"||!r&&(u.type==="mousedown"||u.type==="touchstart")||Array.isArray(r)&&!r.includes(u.button)&&u.type==="mousedown")return!1;const h=Array.isArray(r)&&r.includes(u.button)||!u.button||u.button<=1;return(!u.ctrlKey||u.type==="wheel")&&h}}function Wfe({domNode:e,minZoom:t,maxZoom:n,paneClickDistance:r,translateExtent:o,viewport:i,onPanZoom:a,onPanZoomStart:s,onPanZoomEnd:l,onDraggingChange:c}){const u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{x:0,y:0,zoom:0},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=e.getBoundingClientRect(),f=N$().clickDistance(!yr(r)||r<0?0:r).scaleExtent([t,n]).translateExtent(o),h=$n(e).call(f);S({x:i.x,y:i.y,zoom:rs(i.zoom,t,n)},[[0,0],[d.width,d.height]],o);const p=h.on("wheel.zoom"),m=h.on("dblclick.zoom");f.wheelDelta(r5);function g(M,L){return h?new Promise(T=>{f==null||f.transform(Dp(h,L==null?void 0:L.duration,()=>T(!0)),M)}):Promise.resolve(!1)}function y({noWheelClassName:M,noPanClassName:L,onPaneContextMenu:T,userSelectionActive:P,panOnScroll:A,panOnDrag:F,panOnScrollMode:q,panOnScrollSpeed:B,preventScrolling:z,zoomOnPinch:I,zoomOnScroll:V,zoomOnDoubleClick:j,zoomActivationKeyPressed:D,lib:H,onTransformChange:U}){P&&!u.isZoomingOrPanning&&b();const X=A&&!D&&!P?Bfe({zoomPanValues:u,noWheelClassName:M,d3Selection:h,d3Zoom:f,panOnScrollMode:q,panOnScrollSpeed:B,zoomOnPinch:I,onPanZoomStart:s,onPanZoom:a,onPanZoomEnd:l}):Vfe({noWheelClassName:M,preventScrolling:z,d3ZoomHandler:p});if(h.on("wheel.zoom",X,{passive:!1}),!P){const Z=Hfe({zoomPanValues:u,onDraggingChange:c,onPanZoomStart:s});f.on("start",Z);const ne=qfe({zoomPanValues:u,panOnDrag:F,onPaneContextMenu:!!T,onPanZoom:a,onTransformChange:U});f.on("zoom",ne);const K=Ufe({zoomPanValues:u,panOnDrag:F,panOnScroll:A,onPaneContextMenu:T,onPanZoomEnd:l,onDraggingChange:c});f.on("end",K)}const Q=Gfe({zoomActivationKeyPressed:D,panOnDrag:F,zoomOnScroll:V,panOnScroll:A,zoomOnDoubleClick:j,zoomOnPinch:I,userSelectionActive:P,noPanClassName:L,noWheelClassName:M,lib:H});f.filter(Q),j?h.on("dblclick.zoom",m):h.on("dblclick.zoom",null)}function b(){f.on("zoom",null)}async function S(M,L,T){const P=$p(M),A=f==null?void 0:f.constrain()(P,L,T);return A&&await g(A),new Promise(F=>F(A))}async function x(M,L){const T=$p(M);return await g(T,L),new Promise(P=>P(T))}function C(M){if(h){const L=$p(M),T=h.property("__zoom");(T.k!==M.zoom||T.x!==M.x||T.y!==M.y)&&(f==null||f.transform(h,L,null,{sync:!0}))}}function E(){const M=h?O$(h.node()):{x:0,y:0,k:1};return{x:M.x,y:M.y,zoom:M.k}}function O(M,L){return h?new Promise(T=>{f==null||f.scaleTo(Dp(h,L==null?void 0:L.duration,()=>T(!0)),M)}):Promise.resolve(!1)}function _(M,L){return h?new Promise(T=>{f==null||f.scaleBy(Dp(h,L==null?void 0:L.duration,()=>T(!0)),M)}):Promise.resolve(!1)}function k(M){f==null||f.scaleExtent(M)}function N(M){f==null||f.translateExtent(M)}function R(M){const L=!yr(M)||M<0?0:M;f==null||f.clickDistance(L)}return{update:y,destroy:b,setViewport:x,setViewportConstrained:S,getViewport:E,scaleTo:O,scaleBy:_,setScaleExtent:k,setTranslateExtent:N,syncViewport:C,setClickDistance:R}}var El;(function(e){e.Line="line",e.Handle="handle"})(El||(El={}));function Kfe({width:e,prevWidth:t,height:n,prevHeight:r,affectsX:o,affectsY:i}){const a=e-t,s=n-r,l=[a>0?1:a<0?-1:0,s>0?1:s<0?-1:0];return a&&o&&(l[0]=l[0]*-1),s&&i&&(l[1]=l[1]*-1),l}function Xfe(e){const t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top"),r=e.includes("left"),o=e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:r,affectsY:o}}function Do(e,t){return Math.max(0,t-e)}function zo(e,t){return Math.max(0,e-t)}function Eu(e,t,n){return Math.max(0,t-e,e-n)}function e2(e,t){return e?!t:t}function Yfe(e,t,n,r,o,i,a,s){let{affectsX:l,affectsY:c}=t;const{isHorizontal:u,isVertical:d}=t,f=u&&d,{xSnapped:h,ySnapped:p}=n,{minWidth:m,maxWidth:g,minHeight:y,maxHeight:b}=r,{x:S,y:x,width:C,height:E,aspectRatio:O}=e;let _=Math.floor(u?h-e.pointerX:0),k=Math.floor(d?p-e.pointerY:0);const N=C+(l?-_:_),R=E+(c?-k:k),M=-i[0]*C,L=-i[1]*E;let T=Eu(N,m,g),P=Eu(R,y,b);if(a){let q=0,B=0;l&&_<0?q=Do(S+_+M,a[0][0]):!l&&_>0&&(q=zo(S+N+M,a[1][0])),c&&k<0?B=Do(x+k+L,a[0][1]):!c&&k>0&&(B=zo(x+R+L,a[1][1])),T=Math.max(T,q),P=Math.max(P,B)}if(s){let q=0,B=0;l&&_>0?q=zo(S+_,s[0][0]):!l&&_<0&&(q=Do(S+N,s[1][0])),c&&k>0?B=zo(x+k,s[0][1]):!c&&k<0&&(B=Do(x+R,s[1][1])),T=Math.max(T,q),P=Math.max(P,B)}if(o){if(u){const q=Eu(N/O,y,b)*O;if(T=Math.max(T,q),a){let B=0;!l&&!c||l&&!c&&f?B=zo(x+L+N/O,a[1][1])*O:B=Do(x+L+(l?_:-_)/O,a[0][1])*O,T=Math.max(T,B)}if(s){let B=0;!l&&!c||l&&!c&&f?B=Do(x+N/O,s[1][1])*O:B=zo(x+(l?_:-_)/O,s[0][1])*O,T=Math.max(T,B)}}if(d){const q=Eu(R*O,m,g)/O;if(P=Math.max(P,q),a){let B=0;!l&&!c||c&&!l&&f?B=zo(S+R*O+M,a[1][0])/O:B=Do(S+(c?k:-k)*O+M,a[0][0])/O,P=Math.max(P,B)}if(s){let B=0;!l&&!c||c&&!l&&f?B=Do(S+R*O,s[1][0])/O:B=zo(S+(c?k:-k)*O,s[0][0])/O,P=Math.max(P,B)}}}k=k+(k<0?P:-P),_=_+(_<0?T:-T),o&&(f?N>R*O?k=(e2(l,c)?-_:_)/O:_=(e2(l,c)?-k:k)*O:u?(k=_/O,c=l):(_=k*O,l=c));const A=l?S+_:S,F=c?x+k:x;return{width:C+(l?-_:_),height:E+(c?-k:k),x:i[0]*_*(l?-1:1)+A,y:i[1]*k*(c?-1:1)+F}}const o5={width:0,height:0,x:0,y:0},Jfe={...o5,pointerX:0,pointerY:0,aspectRatio:1};function Qfe(e){return[[0,0],[e.measured.width,e.measured.height]]}function Zfe(e,t,n){const r=t.position.x+e.position.x,o=t.position.y+e.position.y,i=e.measured.width??0,a=e.measured.height??0,s=n[0]*i,l=n[1]*a;return[[r-s,o-l],[r+i-s,o+a-l]]}function ehe({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:o}){const i=$n(e);function a({controlPosition:l,boundaries:c,keepAspectRatio:u,onResizeStart:d,onResize:f,onResizeEnd:h,shouldResize:p}){let m={...o5},g={...Jfe};const y=Xfe(l);let b,S=null,x=[],C,E,O;const _=h$().on("start",k=>{const{nodeLookup:N,transform:R,snapGrid:M,snapToGrid:L,nodeOrigin:T,paneDomNode:P}=n();if(b=N.get(t),!b)return;S=(P==null?void 0:P.getBoundingClientRect())??null;const{xSnapped:A,ySnapped:F}=_l(k.sourceEvent,{transform:R,snapGrid:M,snapToGrid:L,containerBounds:S});m={width:b.measured.width??0,height:b.measured.height??0,x:b.position.x??0,y:b.position.y??0},g={...m,pointerX:A,pointerY:F,aspectRatio:m.width/m.height},C=void 0,b.parentId&&(b.extent==="parent"||b.expandParent)&&(C=N.get(b.parentId),E=C&&b.extent==="parent"?Qfe(C):void 0),x=[],O=void 0;for(const[q,B]of N)if(B.parentId===t&&(x.push({id:q,position:{...B.position},extent:B.extent}),B.extent==="parent"||B.expandParent)){const z=Zfe(B,b,B.origin??T);O?O=[[Math.min(z[0][0],O[0][0]),Math.min(z[0][1],O[0][1])],[Math.max(z[1][0],O[1][0]),Math.max(z[1][1],O[1][1])]]:O=z}d==null||d(k,{...m})}).on("drag",k=>{const{transform:N,snapGrid:R,snapToGrid:M,nodeOrigin:L}=n(),T=_l(k.sourceEvent,{transform:N,snapGrid:R,snapToGrid:M,containerBounds:S}),P=[];if(!b)return;const{x:A,y:F,width:q,height:B}=m,z={},I=b.origin??L,{width:V,height:j,x:D,y:H}=Yfe(g,y,T,c,u,I,E,O),U=V!==q,G=j!==B,X=D!==A&&U,Q=H!==F&&G;if(!X&&!Q&&!U&&!G)return;if((X||Q||I[0]===1||I[1]===1)&&(z.x=X?D:m.x,z.y=Q?H:m.y,m.x=z.x,m.y=z.y,x.length>0)){const ie=D-A,te=H-F;for(const le of x)le.position={x:le.position.x-ie+I[0]*(V-q),y:le.position.y-te+I[1]*(j-B)},P.push(le)}if((U||G)&&(z.width=U?V:m.width,z.height=G?j:m.height,m.width=z.width,m.height=z.height),C&&b.expandParent){const ie=I[0]*(z.width??0);z.x&&z.x<ie&&(m.x=ie,g.x=g.x-(z.x-ie));const te=I[1]*(z.height??0);z.y&&z.y<te&&(m.y=te,g.y=g.y-(z.y-te))}const Z=Kfe({width:m.width,prevWidth:q,height:m.height,prevHeight:B,affectsX:y.affectsX,affectsY:y.affectsY}),ne={...m,direction:Z};(p==null?void 0:p(k,ne))!==!1&&(f==null||f(k,ne),r(z,P))}).on("end",k=>{h==null||h(k,{...m}),o==null||o()});i.call(_)}function s(){i.on(".drag",null)}return{update:a,destroy:s}}var ku={exports:{}},zp={},Ou={exports:{}},Fp={};/**
176
+ `,s=`%c${[o,r].filter(Boolean).join(":")}`;typeof t.args[0]=="string"?n(`${s}%c ${t.args[0]}`,a,"",...t.args.slice(1)):n(s,a,...t.args)}}function zae(e={}){return $ae({reporters:e.reporters||[new Dae({})],prompt(n,r={}){return r.type==="confirm"?Promise.resolve(confirm(n)):Promise.resolve(prompt(n))},...e})}const Fae=zae(),ur=Fae.create({level:1}),Zr=({time:e=1e3/60*2,cb:t}={})=>new Promise(n=>{setTimeout(()=>{n("ok"),t==null||t()},e)}),Cc=(e,t,n)=>{e[t]===void 0&&(e[t]=n)},$L=function(e,t){try{return JSON.parse(e)}catch{return t??null}};class DL extends v.Component{constructor(n){super(n);Y(this,"emitter");Y(this,"leftPanelContentRef");Y(this,"addLeftPanel",n=>{this.state.leftPanels.push(n),this.setState({leftPanels:[...this.state.leftPanels]})});Y(this,"replaceLeftPanel",(n,r)=>{const o=this.state.leftPanels.findIndex(i=>i.name===n);if(o>-1){const i=[...this.state.leftPanels];i[o]=r,this.setState({leftPanels:i})}});Y(this,"openLeftPanel",async n=>{const r=n||this.state.currentActiveLeftPanel;this.setState({leftBoxVisible:!0,leftBoxSize:{width:350,height:"100%"},currentActiveLeftPanel:r}),await Zr(),this.emitter.emit("leftPanelVisible",{visible:!0,panelName:r})});Y(this,"closeLeftPanel",async()=>{this.setState({leftBoxVisible:!1,leftBoxSize:{width:0,height:"100%"}}),await Zr(),this.emitter.emit("leftPanelVisible",{visible:!1,panelName:this.state.currentActiveLeftPanel})});Y(this,"toggleLeftPanel",()=>{const{leftBoxVisible:n}=this.state;!n?this.openLeftPanel():this.closeLeftPanel()});Y(this,"onPluginIconClick",n=>{const{currentActiveLeftPanel:r}=this.state;r===n.name&&this.state.leftBoxVisible?this.closeLeftPanel():this.openLeftPanel(n.name)});Y(this,"openRightPanel",()=>{const{rightBoxSize:n}=this.state;this.setState({rightBoxVisible:!0,rightBoxSize:{width:400,height:n.height}})});Y(this,"closeRightPanel",()=>{const{rightBoxSize:n}=this.state;this.setState({rightBoxVisible:!1,rightBoxSize:{width:0,height:n.height}})});Y(this,"replaceBodyView",n=>{this.setState({bodyView:n})});Y(this,"replaceRightView",n=>{this.setState({rightView:n})});Y(this,"replaceTopBarView",n=>{this.setState({topToolBarView:n})});Y(this,"replaceSubTopBarView",n=>{this.setState({subTopToolBarView:n})});Y(this,"toggleRightPanel",()=>{const{rightBoxVisible:n,rightBoxSize:r}=this.state,o=!n;this.setState({rightBoxVisible:o,rightBoxSize:{width:o?400:0,height:r.height}})});Y(this,"onLeftBoxResizeStop",(n,r,o,i)=>{const a=this.state.leftBoxSize.width+i.width;this.setState({leftBoxSize:{width:a,height:this.state.leftBoxSize.height}})});Y(this,"onGlobalClick",n=>{var r;n.target&&((r=this.leftPanelContentRef.current)!=null&&r.contains(n.target))||!this.state.leftBoxFixed&&this.state.leftBoxVisible&&this.closeLeftPanel()});this.emitter=n.emitter||xd(),this.leftPanelContentRef=v.createRef(),this.state={leftBoxVisible:!0,leftBoxSize:{width:300,height:"100%"},leftBoxFixed:!0,rightBoxVisible:!0,rightBoxSize:{width:350,height:"100%"},currentActiveLeftPanel:"ComponentLib",leftPanels:[],bodyView:null,rightView:null,topToolBarView:null,subTopToolBarView:null,customViewList:[],hiddenTopBar:n.hiddenTopBar??!1,hiddenLeftPanel:n.hiddenLeftPanel??!1,hiddenRightPanel:n.hiddenRightPanel??!1,canvasFull:n.canvasFull??!1}}getHiddenWidgetConfig(){return{hiddenTopBar:this.state.hiddenTopBar,hiddenLeftPanel:this.state.hiddenLeftPanel,hiddenRightPanel:this.state.hiddenRightPanel}}hiddenWidget(n){this.setState({...n||{}})}addCustomView(n){const r=this.state.customViewList;return r.push(n),this.setState({customViewList:[...r]}),()=>{const o=this.state.customViewList.filter(i=>i!==n);this.setState({customViewList:[...o]})}}componentDidMount(){document.addEventListener("click",this.onGlobalClick)}render(){const{leftBoxVisible:n,leftBoxSize:r,leftBoxFixed:o,rightBoxSize:i,rightBoxVisible:a,leftPanels:s,currentActiveLeftPanel:l,bodyView:c,rightView:u,topToolBarView:d,subTopToolBarView:f,customViewList:h,hiddenTopBar:p,hiddenLeftPanel:m,hiddenRightPanel:g}=this.state,y={};o||(y.position="absolute",y.left="50px",y.top=0);const b=s.find(_=>_.name===l),S=(b==null?void 0:b.render)||null,{onPluginIconClick:x,toggleRightPanel:C,toggleLeftPanel:E,onLeftBoxResizeStop:O}=this;return w.jsxs("div",{className:Ze.workbenchContainer,children:[!p&&w.jsx("div",{className:Ze.topToolBarBox,children:w.jsx("div",{className:Ze.topToolBarView,children:d})}),w.jsxs("div",{className:Ze.bodyContent,children:[!m&&w.jsxs("div",{className:De([Ze.leftBox,m??Ze.hiddenLeftPanel]),ref:this.leftPanelContentRef,children:[w.jsx("div",{className:Ze.pluginIconBar,children:s.map(_=>w.jsx("div",{onClick:()=>x(_),className:De([Ze.pluginIconItem,(b==null?void 0:b.name)===_.name&&Ze.active]),children:_.icon},_.name))}),n&&w.jsxs(OS,{className:Ze.pluginPanelBoxResizeBox,size:r,style:y,minWidth:300,maxWidth:600,enable:{right:n},onResizeStop:O,children:[w.jsxs("div",{className:Ze.pluginHeader,children:[w.jsx("span",{className:Ze.pluginNameText,children:(b==null?void 0:b.title)||(b==null?void 0:b.name)}),w.jsx(W.Button,{className:De([Ze.fixedBtn]),type:"text",size:"small",onClick:()=>{this.setState({leftBoxFixed:!this.state.leftBoxFixed})},children:w.jsx(PM,{className:De([o&&Ze.active])})}),w.jsx(W.Button,{className:Ze.closeBtn,type:"text",size:"small",onClick:E,children:w.jsx(kM,{})})]}),w.jsx("div",{className:Ze.pluginPanelBox,children:S})]})]}),w.jsxs("div",{className:Ze.centerBox,children:[f&&w.jsx("div",{className:Ze.subTopToolbarBox,children:f}),w.jsx("div",{className:De([Ze.canvasBox,this.state.canvasFull!==!0&&Ze.canvasBoxPadding]),children:w.jsx("div",{className:Ze.scrollBox,children:c})})]}),w.jsxs("div",{className:De([Ze.rightResizeBox,g&&Ze.hiddenRightPanel]),children:[w.jsx("div",{className:Ze.arrowCursor,onClick:C,children:w.jsx(NM,{className:De([!a&&Ze.active])})}),w.jsx("div",{style:{display:a?"block":"none",height:"100%"},children:w.jsx(OS,{minWidth:400,maxWidth:600,enable:{left:a},size:i,onResizeStop:(_,k,N,R)=>{this.setState({rightBoxSize:{width:this.state.rightBoxSize.width+R.width,height:this.state.rightBoxSize.height}})},children:w.jsx("div",{className:Ze.rightBox,children:u})})})]})]}),Gr.createPortal(w.jsx("div",{className:Ze.customViewBox,children:h.map(_=>w.jsx("div",{style:{pointerEvents:"auto",display:"inline-block"},children:_.view},_.key))}),document.body)]})}}const Bae="_engineContainer_f3ly9_2",Vae={engineContainer:Bae};function Dt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function GE(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,uM(r.key),r)}}function zt(e,t,n){return t&&GE(e.prototype,t),n&&GE(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function kn(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function xb(e,t){return xb=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},xb(e,t)}function ai(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&xb(e,t)}function _s(e,t){if(t&&($e(t)=="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return kn(e)}function rr(e){return rr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},rr(e)}function zL(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function FL(e){return lM(e)||zL(e)||Ex(e)||cM()}function WE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function KE(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?WE(Object(n),!0).forEach(function(r){ue(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):WE(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var Hae={type:"logger",log:function(t){this.output("log",t)},warn:function(t){this.output("warn",t)},error:function(t){this.output("error",t)},output:function(t,n){console&&console[t]&&console[t].apply(console,n)}},qae=function(){function e(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Dt(this,e),this.init(t,n)}return zt(e,[{key:"init",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=r.prefix||"i18next:",this.logger=n||Hae,this.options=r,this.debug=r.debug}},{key:"setDebug",value:function(n){this.debug=n}},{key:"log",value:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return this.forward(r,"log","",!0)}},{key:"warn",value:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return this.forward(r,"warn","",!0)}},{key:"error",value:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return this.forward(r,"error","")}},{key:"deprecate",value:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return this.forward(r,"warn","WARNING DEPRECATED: ",!0)}},{key:"forward",value:function(n,r,o,i){return i&&!this.debug?null:(typeof n[0]=="string"&&(n[0]="".concat(o).concat(this.prefix," ").concat(n[0])),this.logger[r](n))}},{key:"create",value:function(n){return new e(this.logger,KE(KE({},{prefix:"".concat(this.prefix,":").concat(n,":")}),this.options))}},{key:"clone",value:function(n){return n=n||this.options,n.prefix=n.prefix||this.prefix,new e(this.logger,n)}}]),e}(),Kr=new qae,ni=function(){function e(){Dt(this,e),this.observers={}}return zt(e,[{key:"on",value:function(n,r){var o=this;return n.split(" ").forEach(function(i){o.observers[i]=o.observers[i]||[],o.observers[i].push(r)}),this}},{key:"off",value:function(n,r){if(this.observers[n]){if(!r){delete this.observers[n];return}this.observers[n]=this.observers[n].filter(function(o){return o!==r})}}},{key:"emit",value:function(n){for(var r=arguments.length,o=new Array(r>1?r-1:0),i=1;i<r;i++)o[i-1]=arguments[i];if(this.observers[n]){var a=[].concat(this.observers[n]);a.forEach(function(l){l.apply(void 0,o)})}if(this.observers["*"]){var s=[].concat(this.observers["*"]);s.forEach(function(l){l.apply(l,[n].concat(o))})}}}]),e}();function Us(){var e,t,n=new Promise(function(r,o){e=r,t=o});return n.resolve=e,n.reject=t,n}function XE(e){return e==null?"":""+e}function Uae(e,t,n){e.forEach(function(r){t[r]&&(n[r]=t[r])})}function Gw(e,t,n){function r(s){return s&&s.indexOf("###")>-1?s.replace(/###/g,"."):s}function o(){return!e||typeof e=="string"}for(var i=typeof t!="string"?[].concat(t):t.split(".");i.length>1;){if(o())return{};var a=r(i.shift());!e[a]&&n&&(e[a]=new n),Object.prototype.hasOwnProperty.call(e,a)?e=e[a]:e={}}return o()?{}:{obj:e,k:r(i.shift())}}function YE(e,t,n){var r=Gw(e,t,Object),o=r.obj,i=r.k;o[i]=n}function Gae(e,t,n,r){var o=Gw(e,t,Object),i=o.obj,a=o.k;i[a]=i[a]||[],i[a].push(n)}function Id(e,t){var n=Gw(e,t),r=n.obj,o=n.k;if(r)return r[o]}function Wae(e,t,n){var r=Id(e,n);return r!==void 0?r:Id(t,n)}function BL(e,t,n){for(var r in t)r!=="__proto__"&&r!=="constructor"&&(r in e?typeof e[r]=="string"||e[r]instanceof String||typeof t[r]=="string"||t[r]instanceof String?n&&(e[r]=t[r]):BL(e[r],t[r],n):e[r]=t[r]);return e}function Qi(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var Kae={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};function Xae(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,function(t){return Kae[t]}):e}var zf=typeof window<"u"&&window.navigator&&typeof window.navigator.userAgentData>"u"&&window.navigator.userAgent&&window.navigator.userAgent.indexOf("MSIE")>-1,Yae=[" ",",","?","!",";"];function Jae(e,t,n){t=t||"",n=n||"";var r=Yae.filter(function(s){return t.indexOf(s)<0&&n.indexOf(s)<0});if(r.length===0)return!0;var o=new RegExp("(".concat(r.map(function(s){return s==="?"?"\\?":s}).join("|"),")")),i=!o.test(e);if(!i){var a=e.indexOf(n);a>0&&!o.test(e.substring(0,a))&&(i=!0)}return i}function Ld(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(e){if(e[t])return e[t];for(var r=t.split(n),o=e,i=0;i<r.length;++i){if(!o||typeof o[r[i]]=="string"&&i+1<r.length)return;if(o[r[i]]===void 0){for(var a=2,s=r.slice(i,i+a).join(n),l=o[s];l===void 0&&r.length>i+a;)a++,s=r.slice(i,i+a).join(n),l=o[s];if(l===void 0)return;if(l===null)return null;if(t.endsWith(s)){if(typeof l=="string")return l;if(s&&typeof l[s]=="string")return l[s]}var c=r.slice(i+a).join(n);return c?Ld(l,c,n):void 0}o=o[r[i]]}return o}}function JE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function mu(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?JE(Object(n),!0).forEach(function(r){ue(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):JE(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Qae(e){var t=Zae();return function(){var r=rr(e),o;if(t){var i=rr(this).constructor;o=Reflect.construct(r,arguments,i)}else o=r.apply(this,arguments);return _s(this,o)}}function Zae(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var ese=function(e){ai(n,e);var t=Qae(n);function n(r){var o,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};return Dt(this,n),o=t.call(this),zf&&ni.call(kn(o)),o.data=r||{},o.options=i,o.options.keySeparator===void 0&&(o.options.keySeparator="."),o.options.ignoreJSONStructure===void 0&&(o.options.ignoreJSONStructure=!0),o}return zt(n,[{key:"addNamespaces",value:function(o){this.options.ns.indexOf(o)<0&&this.options.ns.push(o)}},{key:"removeNamespaces",value:function(o){var i=this.options.ns.indexOf(o);i>-1&&this.options.ns.splice(i,1)}},{key:"getResource",value:function(o,i,a){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},l=s.keySeparator!==void 0?s.keySeparator:this.options.keySeparator,c=s.ignoreJSONStructure!==void 0?s.ignoreJSONStructure:this.options.ignoreJSONStructure,u=[o,i];a&&typeof a!="string"&&(u=u.concat(a)),a&&typeof a=="string"&&(u=u.concat(l?a.split(l):a)),o.indexOf(".")>-1&&(u=o.split("."));var d=Id(this.data,u);return d||!c||typeof a!="string"?d:Ld(this.data&&this.data[o]&&this.data[o][i],a,l)}},{key:"addResource",value:function(o,i,a,s){var l=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1},c=l.keySeparator!==void 0?l.keySeparator:this.options.keySeparator,u=[o,i];a&&(u=u.concat(c?a.split(c):a)),o.indexOf(".")>-1&&(u=o.split("."),s=i,i=u[1]),this.addNamespaces(i),YE(this.data,u,s),l.silent||this.emit("added",o,i,a,s)}},{key:"addResources",value:function(o,i,a){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(var l in a)(typeof a[l]=="string"||Object.prototype.toString.apply(a[l])==="[object Array]")&&this.addResource(o,i,l,a[l],{silent:!0});s.silent||this.emit("added",o,i,a)}},{key:"addResourceBundle",value:function(o,i,a,s,l){var c=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},u=[o,i];o.indexOf(".")>-1&&(u=o.split("."),s=a,a=i,i=u[1]),this.addNamespaces(i);var d=Id(this.data,u)||{};s?BL(d,a,l):d=mu(mu({},d),a),YE(this.data,u,d),c.silent||this.emit("added",o,i,a)}},{key:"removeResourceBundle",value:function(o,i){this.hasResourceBundle(o,i)&&delete this.data[o][i],this.removeNamespaces(i),this.emit("removed",o,i)}},{key:"hasResourceBundle",value:function(o,i){return this.getResource(o,i)!==void 0}},{key:"getResourceBundle",value:function(o,i){return i||(i=this.options.defaultNS),this.options.compatibilityAPI==="v1"?mu(mu({},{}),this.getResource(o,i)):this.getResource(o,i)}},{key:"getDataByLanguage",value:function(o){return this.data[o]}},{key:"hasLanguageSomeTranslations",value:function(o){var i=this.getDataByLanguage(o),a=i&&Object.keys(i)||[];return!!a.find(function(s){return i[s]&&Object.keys(i[s]).length>0})}},{key:"toJSON",value:function(){return this.data}}]),n}(ni),VL={processors:{},addPostProcessor:function(t){this.processors[t.name]=t},handle:function(t,n,r,o,i){var a=this;return t.forEach(function(s){a.processors[s]&&(n=a.processors[s].process(n,r,o,i))}),n}};function QE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function un(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?QE(Object(n),!0).forEach(function(r){ue(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):QE(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function tse(e){var t=nse();return function(){var r=rr(e),o;if(t){var i=rr(this).constructor;o=Reflect.construct(r,arguments,i)}else o=r.apply(this,arguments);return _s(this,o)}}function nse(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var ZE={},ek=function(e){ai(n,e);var t=tse(n);function n(r){var o,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Dt(this,n),o=t.call(this),zf&&ni.call(kn(o)),Uae(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],r,kn(o)),o.options=i,o.options.keySeparator===void 0&&(o.options.keySeparator="."),o.logger=Kr.create("translator"),o}return zt(n,[{key:"changeLanguage",value:function(o){o&&(this.language=o)}},{key:"exists",value:function(o){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(o==null)return!1;var a=this.resolve(o,i);return a&&a.res!==void 0}},{key:"extractFromKey",value:function(o,i){var a=i.nsSeparator!==void 0?i.nsSeparator:this.options.nsSeparator;a===void 0&&(a=":");var s=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,l=i.ns||this.options.defaultNS||[],c=a&&o.indexOf(a)>-1,u=!this.options.userDefinedKeySeparator&&!i.keySeparator&&!this.options.userDefinedNsSeparator&&!i.nsSeparator&&!Jae(o,a,s);if(c&&!u){var d=o.match(this.interpolator.nestingRegexp);if(d&&d.length>0)return{key:o,namespaces:l};var f=o.split(a);(a!==s||a===s&&this.options.ns.indexOf(f[0])>-1)&&(l=f.shift()),o=f.join(s)}return typeof l=="string"&&(l=[l]),{key:o,namespaces:l}}},{key:"translate",value:function(o,i,a){var s=this;if($e(i)!=="object"&&this.options.overloadTranslationOptionHandler&&(i=this.options.overloadTranslationOptionHandler(arguments)),$e(i)==="object"&&(i=un({},i)),i||(i={}),o==null)return"";Array.isArray(o)||(o=[String(o)]);var l=i.returnDetails!==void 0?i.returnDetails:this.options.returnDetails,c=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,u=this.extractFromKey(o[o.length-1],i),d=u.key,f=u.namespaces,h=f[f.length-1],p=i.lng||this.language,m=i.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(p&&p.toLowerCase()==="cimode"){if(m){var g=i.nsSeparator||this.options.nsSeparator;return l?{res:"".concat(h).concat(g).concat(d),usedKey:d,exactUsedKey:d,usedLng:p,usedNS:h}:"".concat(h).concat(g).concat(d)}return l?{res:d,usedKey:d,exactUsedKey:d,usedLng:p,usedNS:h}:d}var y=this.resolve(o,i),b=y&&y.res,S=y&&y.usedKey||d,x=y&&y.exactUsedKey||d,C=Object.prototype.toString.apply(b),E=["[object Number]","[object Function]","[object RegExp]"],O=i.joinArrays!==void 0?i.joinArrays:this.options.joinArrays,_=!this.i18nFormat||this.i18nFormat.handleAsObject,k=typeof b!="string"&&typeof b!="boolean"&&typeof b!="number";if(_&&b&&k&&E.indexOf(C)<0&&!(typeof O=="string"&&C==="[object Array]")){if(!i.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");var N=this.options.returnedObjectHandler?this.options.returnedObjectHandler(S,b,un(un({},i),{},{ns:f})):"key '".concat(d," (").concat(this.language,")' returned an object instead of string.");return l?(y.res=N,y):N}if(c){var R=C==="[object Array]",M=R?[]:{},L=R?x:S;for(var T in b)if(Object.prototype.hasOwnProperty.call(b,T)){var P="".concat(L).concat(c).concat(T);M[T]=this.translate(P,un(un({},i),{joinArrays:!1,ns:f})),M[T]===P&&(M[T]=b[T])}b=M}}else if(_&&typeof O=="string"&&C==="[object Array]")b=b.join(O),b&&(b=this.extendTranslation(b,o,i,a));else{var A=!1,F=!1,q=i.count!==void 0&&typeof i.count!="string",B=n.hasDefaultValue(i),z=q?this.pluralResolver.getSuffix(p,i.count,i):"",I=i["defaultValue".concat(z)]||i.defaultValue;!this.isValidLookup(b)&&B&&(A=!0,b=I),this.isValidLookup(b)||(F=!0,b=d);var V=i.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey,j=V&&F?void 0:b,D=B&&I!==b&&this.options.updateMissing;if(F||A||D){if(this.logger.log(D?"updateKey":"missingKey",p,h,d,D?I:b),c){var H=this.resolve(d,un(un({},i),{},{keySeparator:!1}));H&&H.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}var U=[],G=this.languageUtils.getFallbackCodes(this.options.fallbackLng,i.lng||this.language);if(this.options.saveMissingTo==="fallback"&&G&&G[0])for(var X=0;X<G.length;X++)U.push(G[X]);else this.options.saveMissingTo==="all"?U=this.languageUtils.toResolveHierarchy(i.lng||this.language):U.push(i.lng||this.language);var Q=function(ne,K,ie){var te=B&&ie!==b?ie:j;s.options.missingKeyHandler?s.options.missingKeyHandler(ne,h,K,te,D,i):s.backendConnector&&s.backendConnector.saveMissing&&s.backendConnector.saveMissing(ne,h,K,te,D,i),s.emit("missingKey",ne,h,K,b)};this.options.saveMissing&&(this.options.saveMissingPlurals&&q?U.forEach(function(Z){s.pluralResolver.getSuffixes(Z,i).forEach(function(ne){Q([Z],d+ne,i["defaultValue".concat(ne)]||I)})}):Q(U,d,I))}b=this.extendTranslation(b,o,i,y,a),F&&b===d&&this.options.appendNamespaceToMissingKey&&(b="".concat(h,":").concat(d)),(F||A)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?b=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?"".concat(h,":").concat(d):d,A?b:void 0):b=this.options.parseMissingKeyHandler(b))}return l?(y.res=b,y):b}},{key:"extendTranslation",value:function(o,i,a,s,l){var c=this;if(this.i18nFormat&&this.i18nFormat.parse)o=this.i18nFormat.parse(o,un(un({},this.options.interpolation.defaultVariables),a),s.usedLng,s.usedNS,s.usedKey,{resolved:s});else if(!a.skipInterpolation){a.interpolation&&this.interpolator.init(un(un({},a),{interpolation:un(un({},this.options.interpolation),a.interpolation)}));var u=typeof o=="string"&&(a&&a.interpolation&&a.interpolation.skipOnVariables!==void 0?a.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables),d;if(u){var f=o.match(this.interpolator.nestingRegexp);d=f&&f.length}var h=a.replace&&typeof a.replace!="string"?a.replace:a;if(this.options.interpolation.defaultVariables&&(h=un(un({},this.options.interpolation.defaultVariables),h)),o=this.interpolator.interpolate(o,h,a.lng||this.language,a),u){var p=o.match(this.interpolator.nestingRegexp),m=p&&p.length;d<m&&(a.nest=!1)}!a.lng&&this.options.compatibilityAPI!=="v1"&&s&&s.res&&(a.lng=s.usedLng),a.nest!==!1&&(o=this.interpolator.nest(o,function(){for(var b=arguments.length,S=new Array(b),x=0;x<b;x++)S[x]=arguments[x];return l&&l[0]===S[0]&&!a.context?(c.logger.warn("It seems you are nesting recursively key: ".concat(S[0]," in key: ").concat(i[0])),null):c.translate.apply(c,S.concat([i]))},a)),a.interpolation&&this.interpolator.reset()}var g=a.postProcess||this.options.postProcess,y=typeof g=="string"?[g]:g;return o!=null&&y&&y.length&&a.applyPostProcessor!==!1&&(o=VL.handle(y,o,i,this.options&&this.options.postProcessPassResolved?un({i18nResolved:s},a):a,this)),o}},{key:"resolve",value:function(o){var i=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s,l,c,u,d;return typeof o=="string"&&(o=[o]),o.forEach(function(f){if(!i.isValidLookup(s)){var h=i.extractFromKey(f,a),p=h.key;l=p;var m=h.namespaces;i.options.fallbackNS&&(m=m.concat(i.options.fallbackNS));var g=a.count!==void 0&&typeof a.count!="string",y=g&&!a.ordinal&&a.count===0&&i.pluralResolver.shouldUseIntlApi(),b=a.context!==void 0&&(typeof a.context=="string"||typeof a.context=="number")&&a.context!=="",S=a.lngs?a.lngs:i.languageUtils.toResolveHierarchy(a.lng||i.language,a.fallbackLng);m.forEach(function(x){i.isValidLookup(s)||(d=x,!ZE["".concat(S[0],"-").concat(x)]&&i.utils&&i.utils.hasLoadedNamespace&&!i.utils.hasLoadedNamespace(d)&&(ZE["".concat(S[0],"-").concat(x)]=!0,i.logger.warn('key "'.concat(l,'" for languages "').concat(S.join(", "),`" won't get resolved as namespace "`).concat(d,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),S.forEach(function(C){if(!i.isValidLookup(s)){u=C;var E=[p];if(i.i18nFormat&&i.i18nFormat.addLookupKeys)i.i18nFormat.addLookupKeys(E,p,C,x,a);else{var O;g&&(O=i.pluralResolver.getSuffix(C,a.count,a));var _="".concat(i.options.pluralSeparator,"zero");if(g&&(E.push(p+O),y&&E.push(p+_)),b){var k="".concat(p).concat(i.options.contextSeparator).concat(a.context);E.push(k),g&&(E.push(k+O),y&&E.push(k+_))}}for(var N;N=E.pop();)i.isValidLookup(s)||(c=N,s=i.getResource(C,x,N,a))}}))})}}),{res:s,usedKey:l,exactUsedKey:c,usedLng:u,usedNS:d}}},{key:"isValidLookup",value:function(o){return o!==void 0&&!(!this.options.returnNull&&o===null)&&!(!this.options.returnEmptyString&&o==="")}},{key:"getResource",value:function(o,i,a){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(o,i,a,s):this.resourceStore.getResource(o,i,a,s)}}],[{key:"hasDefaultValue",value:function(o){var i="defaultValue";for(var a in o)if(Object.prototype.hasOwnProperty.call(o,a)&&i===a.substring(0,i.length)&&o[a]!==void 0)return!0;return!1}}]),n}(ni);function Rp(e){return e.charAt(0).toUpperCase()+e.slice(1)}var tk=function(){function e(t){Dt(this,e),this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Kr.create("languageUtils")}return zt(e,[{key:"getScriptPartFromCode",value:function(n){if(!n||n.indexOf("-")<0)return null;var r=n.split("-");return r.length===2||(r.pop(),r[r.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(r.join("-"))}},{key:"getLanguagePartFromCode",value:function(n){if(!n||n.indexOf("-")<0)return n;var r=n.split("-");return this.formatLanguageCode(r[0])}},{key:"formatLanguageCode",value:function(n){if(typeof n=="string"&&n.indexOf("-")>-1){var r=["hans","hant","latn","cyrl","cans","mong","arab"],o=n.split("-");return this.options.lowerCaseLng?o=o.map(function(i){return i.toLowerCase()}):o.length===2?(o[0]=o[0].toLowerCase(),o[1]=o[1].toUpperCase(),r.indexOf(o[1].toLowerCase())>-1&&(o[1]=Rp(o[1].toLowerCase()))):o.length===3&&(o[0]=o[0].toLowerCase(),o[1].length===2&&(o[1]=o[1].toUpperCase()),o[0]!=="sgn"&&o[2].length===2&&(o[2]=o[2].toUpperCase()),r.indexOf(o[1].toLowerCase())>-1&&(o[1]=Rp(o[1].toLowerCase())),r.indexOf(o[2].toLowerCase())>-1&&(o[2]=Rp(o[2].toLowerCase()))),o.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?n.toLowerCase():n}},{key:"isSupportedCode",value:function(n){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(n=this.getLanguagePartFromCode(n)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(n)>-1}},{key:"getBestMatchFromCodes",value:function(n){var r=this;if(!n)return null;var o;return n.forEach(function(i){if(!o){var a=r.formatLanguageCode(i);(!r.options.supportedLngs||r.isSupportedCode(a))&&(o=a)}}),!o&&this.options.supportedLngs&&n.forEach(function(i){if(!o){var a=r.getLanguagePartFromCode(i);if(r.isSupportedCode(a))return o=a;o=r.options.supportedLngs.find(function(s){if(s===a)return s;if(!(s.indexOf("-")<0&&a.indexOf("-")<0)&&s.indexOf(a)===0)return s})}}),o||(o=this.getFallbackCodes(this.options.fallbackLng)[0]),o}},{key:"getFallbackCodes",value:function(n,r){if(!n)return[];if(typeof n=="function"&&(n=n(r)),typeof n=="string"&&(n=[n]),Object.prototype.toString.apply(n)==="[object Array]")return n;if(!r)return n.default||[];var o=n[r];return o||(o=n[this.getScriptPartFromCode(r)]),o||(o=n[this.formatLanguageCode(r)]),o||(o=n[this.getLanguagePartFromCode(r)]),o||(o=n.default),o||[]}},{key:"toResolveHierarchy",value:function(n,r){var o=this,i=this.getFallbackCodes(r||this.options.fallbackLng||[],n),a=[],s=function(c){c&&(o.isSupportedCode(c)?a.push(c):o.logger.warn("rejecting language code not found in supportedLngs: ".concat(c)))};return typeof n=="string"&&n.indexOf("-")>-1?(this.options.load!=="languageOnly"&&s(this.formatLanguageCode(n)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&s(this.getScriptPartFromCode(n)),this.options.load!=="currentOnly"&&s(this.getLanguagePartFromCode(n))):typeof n=="string"&&s(this.formatLanguageCode(n)),i.forEach(function(l){a.indexOf(l)<0&&s(o.formatLanguageCode(l))}),a}}]),e}(),rse=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],ose={1:function(t){return+(t>1)},2:function(t){return+(t!=1)},3:function(t){return 0},4:function(t){return t%10==1&&t%100!=11?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2},5:function(t){return t==0?0:t==1?1:t==2?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},6:function(t){return t==1?0:t>=2&&t<=4?1:2},7:function(t){return t==1?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2},8:function(t){return t==1?0:t==2?1:t!=8&&t!=11?2:3},9:function(t){return+(t>=2)},10:function(t){return t==1?0:t==2?1:t<7?2:t<11?3:4},11:function(t){return t==1||t==11?0:t==2||t==12?1:t>2&&t<20?2:3},12:function(t){return+(t%10!=1||t%100==11)},13:function(t){return+(t!==0)},14:function(t){return t==1?0:t==2?1:t==3?2:3},15:function(t){return t%10==1&&t%100!=11?0:t%10>=2&&(t%100<10||t%100>=20)?1:2},16:function(t){return t%10==1&&t%100!=11?0:t!==0?1:2},17:function(t){return t==1||t%10==1&&t%100!=11?0:1},18:function(t){return t==0?0:t==1?1:2},19:function(t){return t==1?0:t==0||t%100>1&&t%100<11?1:t%100>10&&t%100<20?2:3},20:function(t){return t==1?0:t==0||t%100>0&&t%100<20?1:2},21:function(t){return t%100==1?1:t%100==2?2:t%100==3||t%100==4?3:0},22:function(t){return t==1?0:t==2?1:(t<0||t>10)&&t%10==0?2:3}},ise=["v1","v2","v3"],nk={zero:0,one:1,two:2,few:3,many:4,other:5};function ase(){var e={};return rse.forEach(function(t){t.lngs.forEach(function(n){e[n]={numbers:t.nr,plurals:ose[t.fc]}})}),e}var sse=function(){function e(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Dt(this,e),this.languageUtils=t,this.options=n,this.logger=Kr.create("pluralResolver"),(!this.options.compatibilityJSON||this.options.compatibilityJSON==="v4")&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=ase()}return zt(e,[{key:"addRule",value:function(n,r){this.rules[n]=r}},{key:"getRule",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(n,{type:r.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[n]||this.rules[this.languageUtils.getLanguagePartFromCode(n)]}},{key:"needsPlural",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=this.getRule(n,r);return this.shouldUseIntlApi()?o&&o.resolvedOptions().pluralCategories.length>1:o&&o.numbers.length>1}},{key:"getPluralFormsOfKey",value:function(n,r){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(n,o).map(function(i){return"".concat(r).concat(i)})}},{key:"getSuffixes",value:function(n){var r=this,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=this.getRule(n,o);return i?this.shouldUseIntlApi()?i.resolvedOptions().pluralCategories.sort(function(a,s){return nk[a]-nk[s]}).map(function(a){return"".concat(r.options.prepend).concat(a)}):i.numbers.map(function(a){return r.getSuffix(n,a,o)}):[]}},{key:"getSuffix",value:function(n,r){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=this.getRule(n,o);return i?this.shouldUseIntlApi()?"".concat(this.options.prepend).concat(i.select(r)):this.getSuffixRetroCompatible(i,r):(this.logger.warn("no plural rule found for: ".concat(n)),"")}},{key:"getSuffixRetroCompatible",value:function(n,r){var o=this,i=n.noAbs?n.plurals(r):n.plurals(Math.abs(r)),a=n.numbers[i];this.options.simplifyPluralSuffix&&n.numbers.length===2&&n.numbers[0]===1&&(a===2?a="plural":a===1&&(a=""));var s=function(){return o.options.prepend&&a.toString()?o.options.prepend+a.toString():a.toString()};return this.options.compatibilityJSON==="v1"?a===1?"":typeof a=="number"?"_plural_".concat(a.toString()):s():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&n.numbers.length===2&&n.numbers[0]===1?s():this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString()}},{key:"shouldUseIntlApi",value:function(){return!ise.includes(this.options.compatibilityJSON)}}]),e}();function rk(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function cr(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?rk(Object(n),!0).forEach(function(r){ue(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):rk(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function ok(e,t,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=Wae(e,t,n);return!i&&o&&typeof n=="string"&&(i=Ld(e,n,r),i===void 0&&(i=Ld(t,n,r))),i}var lse=function(){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Dt(this,e),this.logger=Kr.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||function(n){return n},this.init(t)}return zt(e,[{key:"init",value:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};n.interpolation||(n.interpolation={escapeValue:!0});var r=n.interpolation;this.escape=r.escape!==void 0?r.escape:Xae,this.escapeValue=r.escapeValue!==void 0?r.escapeValue:!0,this.useRawValueToEscape=r.useRawValueToEscape!==void 0?r.useRawValueToEscape:!1,this.prefix=r.prefix?Qi(r.prefix):r.prefixEscaped||"{{",this.suffix=r.suffix?Qi(r.suffix):r.suffixEscaped||"}}",this.formatSeparator=r.formatSeparator?r.formatSeparator:r.formatSeparator||",",this.unescapePrefix=r.unescapeSuffix?"":r.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":r.unescapeSuffix||"",this.nestingPrefix=r.nestingPrefix?Qi(r.nestingPrefix):r.nestingPrefixEscaped||Qi("$t("),this.nestingSuffix=r.nestingSuffix?Qi(r.nestingSuffix):r.nestingSuffixEscaped||Qi(")"),this.nestingOptionsSeparator=r.nestingOptionsSeparator?r.nestingOptionsSeparator:r.nestingOptionsSeparator||",",this.maxReplaces=r.maxReplaces?r.maxReplaces:1e3,this.alwaysFormat=r.alwaysFormat!==void 0?r.alwaysFormat:!1,this.resetRegExp()}},{key:"reset",value:function(){this.options&&this.init(this.options)}},{key:"resetRegExp",value:function(){var n="".concat(this.prefix,"(.+?)").concat(this.suffix);this.regexp=new RegExp(n,"g");var r="".concat(this.prefix).concat(this.unescapePrefix,"(.+?)").concat(this.unescapeSuffix).concat(this.suffix);this.regexpUnescape=new RegExp(r,"g");var o="".concat(this.nestingPrefix,"(.+?)").concat(this.nestingSuffix);this.nestingRegexp=new RegExp(o,"g")}},{key:"interpolate",value:function(n,r,o,i){var a=this,s,l,c,u=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function d(g){return g.replace(/\$/g,"$$$$")}var f=function(y){if(y.indexOf(a.formatSeparator)<0){var b=ok(r,u,y,a.options.keySeparator,a.options.ignoreJSONStructure);return a.alwaysFormat?a.format(b,void 0,o,cr(cr(cr({},i),r),{},{interpolationkey:y})):b}var S=y.split(a.formatSeparator),x=S.shift().trim(),C=S.join(a.formatSeparator).trim();return a.format(ok(r,u,x,a.options.keySeparator,a.options.ignoreJSONStructure),C,o,cr(cr(cr({},i),r),{},{interpolationkey:x}))};this.resetRegExp();var h=i&&i.missingInterpolationHandler||this.options.missingInterpolationHandler,p=i&&i.interpolation&&i.interpolation.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables,m=[{regex:this.regexpUnescape,safeValue:function(y){return d(y)}},{regex:this.regexp,safeValue:function(y){return a.escapeValue?d(a.escape(y)):d(y)}}];return m.forEach(function(g){for(c=0;s=g.regex.exec(n);){var y=s[1].trim();if(l=f(y),l===void 0)if(typeof h=="function"){var b=h(n,s,i);l=typeof b=="string"?b:""}else if(i&&Object.prototype.hasOwnProperty.call(i,y))l="";else if(p){l=s[0];continue}else a.logger.warn("missed to pass in variable ".concat(y," for interpolating ").concat(n)),l="";else typeof l!="string"&&!a.useRawValueToEscape&&(l=XE(l));var S=g.safeValue(l);if(n=n.replace(s[0],S),p?(g.regex.lastIndex+=l.length,g.regex.lastIndex-=s[0].length):g.regex.lastIndex=0,c++,c>=a.maxReplaces)break}}),n}},{key:"nest",value:function(n,r){var o=this,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a,s,l;function c(h,p){var m=this.nestingOptionsSeparator;if(h.indexOf(m)<0)return h;var g=h.split(new RegExp("".concat(m,"[ ]*{"))),y="{".concat(g[1]);h=g[0],y=this.interpolate(y,l);var b=y.match(/'/g),S=y.match(/"/g);(b&&b.length%2===0&&!S||S.length%2!==0)&&(y=y.replace(/'/g,'"'));try{l=JSON.parse(y),p&&(l=cr(cr({},p),l))}catch(x){return this.logger.warn("failed parsing options string in nesting for key ".concat(h),x),"".concat(h).concat(m).concat(y)}return delete l.defaultValue,h}for(;a=this.nestingRegexp.exec(n);){var u=[];l=cr({},i),l=l.replace&&typeof l.replace!="string"?l.replace:l,l.applyPostProcessor=!1,delete l.defaultValue;var d=!1;if(a[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(a[1])){var f=a[1].split(this.formatSeparator).map(function(h){return h.trim()});a[1]=f.shift(),u=f,d=!0}if(s=r(c.call(this,a[1].trim(),l),l),s&&a[0]===n&&typeof s!="string")return s;typeof s!="string"&&(s=XE(s)),s||(this.logger.warn("missed to resolve ".concat(a[1]," for nesting ").concat(n)),s=""),d&&(s=u.reduce(function(h,p){return o.format(h,p,i.lng,cr(cr({},i),{},{interpolationkey:a[1].trim()}))},s.trim())),n=n.replace(a[0],s),this.regexp.lastIndex=0}return n}}]),e}();function ik(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function uo(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?ik(Object(n),!0).forEach(function(r){ue(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ik(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function cse(e){var t=e.toLowerCase().trim(),n={};if(e.indexOf("(")>-1){var r=e.split("(");t=r[0].toLowerCase().trim();var o=r[1].substring(0,r[1].length-1);if(t==="currency"&&o.indexOf(":")<0)n.currency||(n.currency=o.trim());else if(t==="relativetime"&&o.indexOf(":")<0)n.range||(n.range=o.trim());else{var i=o.split(";");i.forEach(function(a){if(a){var s=a.split(":"),l=FL(s),c=l[0],u=l.slice(1),d=u.join(":").trim().replace(/^'+|'+$/g,"");n[c.trim()]||(n[c.trim()]=d),d==="false"&&(n[c.trim()]=!1),d==="true"&&(n[c.trim()]=!0),isNaN(d)||(n[c.trim()]=parseInt(d,10))}})}}return{formatName:t,formatOptions:n}}function Zi(e){var t={};return function(r,o,i){var a=o+JSON.stringify(i),s=t[a];return s||(s=e(o,i),t[a]=s),s(r)}}var use=function(){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Dt(this,e),this.logger=Kr.create("formatter"),this.options=t,this.formats={number:Zi(function(n,r){var o=new Intl.NumberFormat(n,uo({},r));return function(i){return o.format(i)}}),currency:Zi(function(n,r){var o=new Intl.NumberFormat(n,uo(uo({},r),{},{style:"currency"}));return function(i){return o.format(i)}}),datetime:Zi(function(n,r){var o=new Intl.DateTimeFormat(n,uo({},r));return function(i){return o.format(i)}}),relativetime:Zi(function(n,r){var o=new Intl.RelativeTimeFormat(n,uo({},r));return function(i){return o.format(i,r.range||"day")}}),list:Zi(function(n,r){var o=new Intl.ListFormat(n,uo({},r));return function(i){return o.format(i)}})},this.init(t)}return zt(e,[{key:"init",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}},o=r.interpolation;this.formatSeparator=o.formatSeparator?o.formatSeparator:o.formatSeparator||","}},{key:"add",value:function(n,r){this.formats[n.toLowerCase().trim()]=r}},{key:"addCached",value:function(n,r){this.formats[n.toLowerCase().trim()]=Zi(r)}},{key:"format",value:function(n,r,o){var i=this,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},s=r.split(this.formatSeparator),l=s.reduce(function(c,u){var d=cse(u),f=d.formatName,h=d.formatOptions;if(i.formats[f]){var p=c;try{var m=a&&a.formatParams&&a.formatParams[a.interpolationkey]||{},g=m.locale||m.lng||a.locale||a.lng||o;p=i.formats[f](c,g,uo(uo(uo({},h),a),m))}catch(y){i.logger.warn(y)}return p}else i.logger.warn("there was no format function for ".concat(f));return c},n);return l}}]),e}();function ak(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function sk(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?ak(Object(n),!0).forEach(function(r){ue(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ak(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function dse(e){var t=fse();return function(){var r=rr(e),o;if(t){var i=rr(this).constructor;o=Reflect.construct(r,arguments,i)}else o=r.apply(this,arguments);return _s(this,o)}}function fse(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function hse(e,t){e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)}var pse=function(e){ai(n,e);var t=dse(n);function n(r,o,i){var a,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return Dt(this,n),a=t.call(this),zf&&ni.call(kn(a)),a.backend=r,a.store=o,a.services=i,a.languageUtils=i.languageUtils,a.options=s,a.logger=Kr.create("backendConnector"),a.waitingReads=[],a.maxParallelReads=s.maxParallelReads||10,a.readingCalls=0,a.maxRetries=s.maxRetries>=0?s.maxRetries:5,a.retryTimeout=s.retryTimeout>=1?s.retryTimeout:350,a.state={},a.queue=[],a.backend&&a.backend.init&&a.backend.init(i,s.backend,s),a}return zt(n,[{key:"queueLoad",value:function(o,i,a,s){var l=this,c={},u={},d={},f={};return o.forEach(function(h){var p=!0;i.forEach(function(m){var g="".concat(h,"|").concat(m);!a.reload&&l.store.hasResourceBundle(h,m)?l.state[g]=2:l.state[g]<0||(l.state[g]===1?u[g]===void 0&&(u[g]=!0):(l.state[g]=1,p=!1,u[g]===void 0&&(u[g]=!0),c[g]===void 0&&(c[g]=!0),f[m]===void 0&&(f[m]=!0)))}),p||(d[h]=!0)}),(Object.keys(c).length||Object.keys(u).length)&&this.queue.push({pending:u,pendingCount:Object.keys(u).length,loaded:{},errors:[],callback:s}),{toLoad:Object.keys(c),pending:Object.keys(u),toLoadLanguages:Object.keys(d),toLoadNamespaces:Object.keys(f)}}},{key:"loaded",value:function(o,i,a){var s=o.split("|"),l=s[0],c=s[1];i&&this.emit("failedLoading",l,c,i),a&&this.store.addResourceBundle(l,c,a),this.state[o]=i?-1:2;var u={};this.queue.forEach(function(d){Gae(d.loaded,[l],c),hse(d,o),i&&d.errors.push(i),d.pendingCount===0&&!d.done&&(Object.keys(d.loaded).forEach(function(f){u[f]||(u[f]={});var h=d.loaded[f];h.length&&h.forEach(function(p){u[f][p]===void 0&&(u[f][p]=!0)})}),d.done=!0,d.errors.length?d.callback(d.errors):d.callback())}),this.emit("loaded",u),this.queue=this.queue.filter(function(d){return!d.done})}},{key:"read",value:function(o,i,a){var s=this,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,c=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,u=arguments.length>5?arguments[5]:void 0;if(!o.length)return u(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:o,ns:i,fcName:a,tried:l,wait:c,callback:u});return}this.readingCalls++;var d=function(m,g){if(s.readingCalls--,s.waitingReads.length>0){var y=s.waitingReads.shift();s.read(y.lng,y.ns,y.fcName,y.tried,y.wait,y.callback)}if(m&&g&&l<s.maxRetries){setTimeout(function(){s.read.call(s,o,i,a,l+1,c*2,u)},c);return}u(m,g)},f=this.backend[a].bind(this.backend);if(f.length===2){try{var h=f(o,i);h&&typeof h.then=="function"?h.then(function(p){return d(null,p)}).catch(d):d(null,h)}catch(p){d(p)}return}return f(o,i,d)}},{key:"prepareLoading",value:function(o,i){var a=this,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},l=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),l&&l();typeof o=="string"&&(o=this.languageUtils.toResolveHierarchy(o)),typeof i=="string"&&(i=[i]);var c=this.queueLoad(o,i,s,l);if(!c.toLoad.length)return c.pending.length||l(),null;c.toLoad.forEach(function(u){a.loadOne(u)})}},{key:"load",value:function(o,i,a){this.prepareLoading(o,i,{},a)}},{key:"reload",value:function(o,i,a){this.prepareLoading(o,i,{reload:!0},a)}},{key:"loadOne",value:function(o){var i=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",s=o.split("|"),l=s[0],c=s[1];this.read(l,c,"read",void 0,void 0,function(u,d){u&&i.logger.warn("".concat(a,"loading namespace ").concat(c," for language ").concat(l," failed"),u),!u&&d&&i.logger.log("".concat(a,"loaded namespace ").concat(c," for language ").concat(l),d),i.loaded(o,u,d)})}},{key:"saveMissing",value:function(o,i,a,s,l){var c=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},u=arguments.length>6&&arguments[6]!==void 0?arguments[6]:function(){};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(i)){this.logger.warn('did not save key "'.concat(a,'" as the namespace "').concat(i,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(a==null||a==="")){if(this.backend&&this.backend.create){var d=sk(sk({},c),{},{isUpdate:l}),f=this.backend.create.bind(this.backend);if(f.length<6)try{var h;f.length===5?h=f(o,i,a,s,d):h=f(o,i,a,s),h&&typeof h.then=="function"?h.then(function(p){return u(null,p)}).catch(u):u(null,h)}catch(p){u(p)}else f(o,i,a,s,u,d)}!o||!o[0]||this.store.addResource(o[0],i,a,s)}}}]),n}(ni);function lk(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!0,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){var n={};if($e(t[1])==="object"&&(n=t[1]),typeof t[1]=="string"&&(n.defaultValue=t[1]),typeof t[2]=="string"&&(n.tDescription=t[2]),$e(t[2])==="object"||$e(t[3])==="object"){var r=t[3]||t[2];Object.keys(r).forEach(function(o){n[o]=r[o]})}return n},interpolation:{escapeValue:!0,format:function(t,n,r,o){return t},prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function ck(e){return typeof e.ns=="string"&&(e.ns=[e.ns]),typeof e.fallbackLng=="string"&&(e.fallbackLng=[e.fallbackLng]),typeof e.fallbackNS=="string"&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function uk(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function Fr(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?uk(Object(n),!0).forEach(function(r){ue(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):uk(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function gse(e){var t=mse();return function(){var r=rr(e),o;if(t){var i=rr(this).constructor;o=Reflect.construct(r,arguments,i)}else o=r.apply(this,arguments);return _s(this,o)}}function mse(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function vu(){}function vse(e){var t=Object.getOwnPropertyNames(Object.getPrototypeOf(e));t.forEach(function(n){typeof e[n]=="function"&&(e[n]=e[n].bind(e))})}var $d=function(e){ai(n,e);var t=gse(n);function n(){var r,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=arguments.length>1?arguments[1]:void 0;if(Dt(this,n),r=t.call(this),zf&&ni.call(kn(r)),r.options=ck(o),r.services={},r.logger=Kr,r.modules={external:[]},vse(kn(r)),i&&!r.isInitialized&&!o.isClone){if(!r.options.initImmediate)return r.init(o,i),_s(r,kn(r));setTimeout(function(){r.init(o,i)},0)}return r}return zt(n,[{key:"init",value:function(){var o=this,i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=arguments.length>1?arguments[1]:void 0;typeof i=="function"&&(a=i,i={}),!i.defaultNS&&i.defaultNS!==!1&&i.ns&&(typeof i.ns=="string"?i.defaultNS=i.ns:i.ns.indexOf("translation")<0&&(i.defaultNS=i.ns[0]));var s=lk();this.options=Fr(Fr(Fr({},s),this.options),ck(i)),this.options.compatibilityAPI!=="v1"&&(this.options.interpolation=Fr(Fr({},s.interpolation),this.options.interpolation)),i.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=i.keySeparator),i.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=i.nsSeparator);function l(y){return y?typeof y=="function"?new y:y:null}if(!this.options.isClone){this.modules.logger?Kr.init(l(this.modules.logger),this.options):Kr.init(null,this.options);var c;this.modules.formatter?c=this.modules.formatter:typeof Intl<"u"&&(c=use);var u=new tk(this.options);this.store=new ese(this.options.resources,this.options);var d=this.services;d.logger=Kr,d.resourceStore=this.store,d.languageUtils=u,d.pluralResolver=new sse(u,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),c&&(!this.options.interpolation.format||this.options.interpolation.format===s.interpolation.format)&&(d.formatter=l(c),d.formatter.init(d,this.options),this.options.interpolation.format=d.formatter.format.bind(d.formatter)),d.interpolator=new lse(this.options),d.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},d.backendConnector=new pse(l(this.modules.backend),d.resourceStore,d,this.options),d.backendConnector.on("*",function(y){for(var b=arguments.length,S=new Array(b>1?b-1:0),x=1;x<b;x++)S[x-1]=arguments[x];o.emit.apply(o,[y].concat(S))}),this.modules.languageDetector&&(d.languageDetector=l(this.modules.languageDetector),d.languageDetector.init&&d.languageDetector.init(d,this.options.detection,this.options)),this.modules.i18nFormat&&(d.i18nFormat=l(this.modules.i18nFormat),d.i18nFormat.init&&d.i18nFormat.init(this)),this.translator=new ek(this.services,this.options),this.translator.on("*",function(y){for(var b=arguments.length,S=new Array(b>1?b-1:0),x=1;x<b;x++)S[x-1]=arguments[x];o.emit.apply(o,[y].concat(S))}),this.modules.external.forEach(function(y){y.init&&y.init(o)})}if(this.format=this.options.interpolation.format,a||(a=vu),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){var f=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);f.length>0&&f[0]!=="dev"&&(this.options.lng=f[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined");var h=["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"];h.forEach(function(y){o[y]=function(){var b;return(b=o.store)[y].apply(b,arguments)}});var p=["addResource","addResources","addResourceBundle","removeResourceBundle"];p.forEach(function(y){o[y]=function(){var b;return(b=o.store)[y].apply(b,arguments),o}});var m=Us(),g=function(){var b=function(x,C){o.isInitialized&&!o.initializedStoreOnce&&o.logger.warn("init: i18next is already initialized. You should call init just once!"),o.isInitialized=!0,o.options.isClone||o.logger.log("initialized",o.options),o.emit("initialized",o.options),m.resolve(C),a(x,C)};if(o.languages&&o.options.compatibilityAPI!=="v1"&&!o.isInitialized)return b(null,o.t.bind(o));o.changeLanguage(o.options.lng,b)};return this.options.resources||!this.options.initImmediate?g():setTimeout(g,0),m}},{key:"loadResources",value:function(o){var i=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:vu,s=a,l=typeof o=="string"?o:this.language;if(typeof o=="function"&&(s=o),!this.options.resources||this.options.partialBundledLanguages){if(l&&l.toLowerCase()==="cimode")return s();var c=[],u=function(h){if(h){var p=i.services.languageUtils.toResolveHierarchy(h);p.forEach(function(m){c.indexOf(m)<0&&c.push(m)})}};if(l)u(l);else{var d=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);d.forEach(function(f){return u(f)})}this.options.preload&&this.options.preload.forEach(function(f){return u(f)}),this.services.backendConnector.load(c,this.options.ns,function(f){!f&&!i.resolvedLanguage&&i.language&&i.setResolvedLanguage(i.language),s(f)})}else s(null)}},{key:"reloadResources",value:function(o,i,a){var s=Us();return o||(o=this.languages),i||(i=this.options.ns),a||(a=vu),this.services.backendConnector.reload(o,i,function(l){s.resolve(),a(l)}),s}},{key:"use",value:function(o){if(!o)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!o.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return o.type==="backend"&&(this.modules.backend=o),(o.type==="logger"||o.log&&o.warn&&o.error)&&(this.modules.logger=o),o.type==="languageDetector"&&(this.modules.languageDetector=o),o.type==="i18nFormat"&&(this.modules.i18nFormat=o),o.type==="postProcessor"&&VL.addPostProcessor(o),o.type==="formatter"&&(this.modules.formatter=o),o.type==="3rdParty"&&this.modules.external.push(o),this}},{key:"setResolvedLanguage",value:function(o){if(!(!o||!this.languages)&&!(["cimode","dev"].indexOf(o)>-1))for(var i=0;i<this.languages.length;i++){var a=this.languages[i];if(!(["cimode","dev"].indexOf(a)>-1)&&this.store.hasLanguageSomeTranslations(a)){this.resolvedLanguage=a;break}}}},{key:"changeLanguage",value:function(o,i){var a=this;this.isLanguageChangingTo=o;var s=Us();this.emit("languageChanging",o);var l=function(f){a.language=f,a.languages=a.services.languageUtils.toResolveHierarchy(f),a.resolvedLanguage=void 0,a.setResolvedLanguage(f)},c=function(f,h){h?(l(h),a.translator.changeLanguage(h),a.isLanguageChangingTo=void 0,a.emit("languageChanged",h),a.logger.log("languageChanged",h)):a.isLanguageChangingTo=void 0,s.resolve(function(){return a.t.apply(a,arguments)}),i&&i(f,function(){return a.t.apply(a,arguments)})},u=function(f){!o&&!f&&a.services.languageDetector&&(f=[]);var h=typeof f=="string"?f:a.services.languageUtils.getBestMatchFromCodes(f);h&&(a.language||l(h),a.translator.language||a.translator.changeLanguage(h),a.services.languageDetector&&a.services.languageDetector.cacheUserLanguage&&a.services.languageDetector.cacheUserLanguage(h)),a.loadResources(h,function(p){c(p,h)})};return!o&&this.services.languageDetector&&!this.services.languageDetector.async?u(this.services.languageDetector.detect()):!o&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(u):this.services.languageDetector.detect(u):u(o),s}},{key:"getFixedT",value:function(o,i,a){var s=this,l=function c(u,d){var f;if($e(d)!=="object"){for(var h=arguments.length,p=new Array(h>2?h-2:0),m=2;m<h;m++)p[m-2]=arguments[m];f=s.options.overloadTranslationOptionHandler([u,d].concat(p))}else f=Fr({},d);f.lng=f.lng||c.lng,f.lngs=f.lngs||c.lngs,f.ns=f.ns||c.ns,f.keyPrefix=f.keyPrefix||a||c.keyPrefix;var g=s.options.keySeparator||".",y;return f.keyPrefix&&Array.isArray(u)?y=u.map(function(b){return"".concat(f.keyPrefix).concat(g).concat(b)}):y=f.keyPrefix?"".concat(f.keyPrefix).concat(g).concat(u):u,s.t(y,f)};return typeof o=="string"?l.lng=o:l.lngs=o,l.ns=i,l.keyPrefix=a,l}},{key:"t",value:function(){var o;return this.translator&&(o=this.translator).translate.apply(o,arguments)}},{key:"exists",value:function(){var o;return this.translator&&(o=this.translator).exists.apply(o,arguments)}},{key:"setDefaultNamespace",value:function(o){this.options.defaultNS=o}},{key:"hasLoadedNamespace",value:function(o){var i=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;var s=a.lng||this.resolvedLanguage||this.languages[0],l=this.options?this.options.fallbackLng:!1,c=this.languages[this.languages.length-1];if(s.toLowerCase()==="cimode")return!0;var u=function(h,p){var m=i.services.backendConnector.state["".concat(h,"|").concat(p)];return m===-1||m===2};if(a.precheck){var d=a.precheck(this,u);if(d!==void 0)return d}return!!(this.hasResourceBundle(s,o)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||u(s,o)&&(!l||u(c,o)))}},{key:"loadNamespaces",value:function(o,i){var a=this,s=Us();return this.options.ns?(typeof o=="string"&&(o=[o]),o.forEach(function(l){a.options.ns.indexOf(l)<0&&a.options.ns.push(l)}),this.loadResources(function(l){s.resolve(),i&&i(l)}),s):(i&&i(),Promise.resolve())}},{key:"loadLanguages",value:function(o,i){var a=Us();typeof o=="string"&&(o=[o]);var s=this.options.preload||[],l=o.filter(function(c){return s.indexOf(c)<0});return l.length?(this.options.preload=s.concat(l),this.loadResources(function(c){a.resolve(),i&&i(c)}),a):(i&&i(),Promise.resolve())}},{key:"dir",value:function(o){if(o||(o=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!o)return"rtl";var i=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],a=this.services&&this.services.languageUtils||new tk(lk());return i.indexOf(a.getLanguagePartFromCode(o))>-1||o.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}},{key:"cloneInstance",value:function(){var o=this,i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:vu,s=Fr(Fr(Fr({},this.options),i),{isClone:!0}),l=new n(s);(i.debug!==void 0||i.prefix!==void 0)&&(l.logger=l.logger.clone(i));var c=["store","services","language"];return c.forEach(function(u){l[u]=o[u]}),l.services=Fr({},this.services),l.services.utils={hasLoadedNamespace:l.hasLoadedNamespace.bind(l)},l.translator=new ek(l.services,l.options),l.translator.on("*",function(u){for(var d=arguments.length,f=new Array(d>1?d-1:0),h=1;h<d;h++)f[h-1]=arguments[h];l.emit.apply(l,[u].concat(f))}),l.init(s,a),l.translator.options=l.options,l.translator.backendConnector.services.utils={hasLoadedNamespace:l.hasLoadedNamespace.bind(l)},l}},{key:"toJSON",value:function(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}]),n}(ni);ue($d,"createInstance",function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return new $d(e,t)});var Jt=$d.createInstance();Jt.createInstance=$d.createInstance;Jt.createInstance;Jt.dir;Jt.init;Jt.loadResources;Jt.reloadResources;Jt.use;Jt.changeLanguage;Jt.getFixedT;Jt.t;Jt.exists;Jt.setDefaultNamespace;Jt.hasLoadedNamespace;Jt.loadNamespaces;Jt.loadLanguages;function yse(){if(console&&console.warn){for(var e,t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];typeof n[0]=="string"&&(n[0]="react-i18next:: ".concat(n[0])),(e=console).warn.apply(e,n)}}var dk={};function wb(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];typeof t[0]=="string"&&dk[t[0]]||(typeof t[0]=="string"&&(dk[t[0]]=new Date),yse.apply(void 0,t))}var HL=function(t,n){return function(){if(t.isInitialized)n();else{var r=function o(){setTimeout(function(){t.off("initialized",o)},0),n()};t.on("initialized",r)}}};function fk(e,t,n){e.loadNamespaces(t,HL(e,n))}function hk(e,t,n,r){typeof n=="string"&&(n=[n]),n.forEach(function(o){e.options.ns.indexOf(o)<0&&e.options.ns.push(o)}),e.loadLanguages(t,HL(e,r))}function bse(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=t.languages[0],o=t.options?t.options.fallbackLng:!1,i=t.languages[t.languages.length-1];if(r.toLowerCase()==="cimode")return!0;var a=function(l,c){var u=t.services.backendConnector.state["".concat(l,"|").concat(c)];return u===-1||u===2};return n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!a(t.isLanguageChangingTo,e)?!1:!!(t.hasResourceBundle(r,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||a(r,e)&&(!o||a(i,e)))}function xse(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!t.languages||!t.languages.length)return wb("i18n.languages were undefined or empty",t.languages),!0;var r=t.options.ignoreJSONStructure!==void 0;return r?t.hasLoadedNamespace(e,{lng:n.lng,precheck:function(i,a){if(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&i.services.backendConnector.backend&&i.isLanguageChangingTo&&!a(i.isLanguageChangingTo,e))return!1}}):bse(e,t,n)}function wse(e){return e.displayName||e.name||(typeof e=="string"&&e.length>0?e:"Unknown")}var Sse=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,Cse={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"',"&nbsp;":" ","&#160;":" ","&copy;":"©","&#169;":"©","&reg;":"®","&#174;":"®","&hellip;":"…","&#8230;":"…","&#x2F;":"/","&#47;":"/"},_se=function(t){return Cse[t]},Ese=function(t){return t.replace(Sse,_se)};function pk(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function gk(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?pk(Object(n),!0).forEach(function(r){ue(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):pk(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var Sb={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:Ese};function kse(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Sb=gk(gk({},Sb),e)}function Ose(){return Sb}var qL;function Nse(e){qL=e}function Rse(){return qL}var Tse={type:"3rdParty",init:function(t){kse(t.options.react),Nse(t)}},Ase=v.createContext(),Mse=function(){function e(){Dt(this,e),this.usedNamespaces={}}return zt(e,[{key:"addUsedNamespaces",value:function(n){var r=this;n.forEach(function(o){r.usedNamespaces[o]||(r.usedNamespaces[o]=!0)})}},{key:"getUsedNamespaces",value:function(){return Object.keys(this.usedNamespaces)}}]),e}();function mk(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function Tp(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?mk(Object(n),!0).forEach(function(r){ue(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):mk(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var Pse=function(t,n){var r=v.useRef();return v.useEffect(function(){r.current=t},[t,n]),r.current};function jse(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.i18n,r=v.useContext(Ase)||{},o=r.i18n,i=r.defaultNS,a=n||o||Rse();if(a&&!a.reportNamespaces&&(a.reportNamespaces=new Mse),!a){wb("You will need to pass in an i18next instance by using initReactI18next");var s=function(k,N){return typeof N=="string"?N:N&&$e(N)==="object"&&typeof N.defaultValue=="string"?N.defaultValue:Array.isArray(k)?k[k.length-1]:k},l=[s,{},!1];return l.t=s,l.i18n={},l.ready=!1,l}a.options.react&&a.options.react.wait!==void 0&&wb("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");var c=Tp(Tp(Tp({},Ose()),a.options.react),t),u=c.useSuspense,d=c.keyPrefix,f=e||i||a.options&&a.options.defaultNS;f=typeof f=="string"?[f]:f||["translation"],a.reportNamespaces.addUsedNamespaces&&a.reportNamespaces.addUsedNamespaces(f);var h=(a.isInitialized||a.initializedStoreOnce)&&f.every(function(_){return xse(_,a,c)});function p(){return a.getFixedT(t.lng||null,c.nsMode==="fallback"?f:f[0],d)}var m=v.useState(p),g=Re(m,2),y=g[0],b=g[1],S=f.join();t.lng&&(S="".concat(t.lng).concat(S));var x=Pse(S),C=v.useRef(!0);v.useEffect(function(){var _=c.bindI18n,k=c.bindI18nStore;C.current=!0,!h&&!u&&(t.lng?hk(a,t.lng,f,function(){C.current&&b(p)}):fk(a,f,function(){C.current&&b(p)})),h&&x&&x!==S&&C.current&&b(p);function N(){C.current&&b(p)}return _&&a&&a.on(_,N),k&&a&&a.store.on(k,N),function(){C.current=!1,_&&a&&_.split(" ").forEach(function(R){return a.off(R,N)}),k&&a&&k.split(" ").forEach(function(R){return a.store.off(R,N)})}},[a,S]);var E=v.useRef(!0);v.useEffect(function(){C.current&&!E.current&&b(p),E.current=!1},[a,d]);var O=[y,a,h];if(O.t=y,O.i18n=a,O.ready=h,h||!h&&!u)return O;throw new Promise(function(_){t.lng?hk(a,t.lng,f,function(){return _()}):fk(a,f,function(){return _()})})}var Ise=["forwardedRef"];function vk(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function yu(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?vk(Object(n),!0).forEach(function(r){ue(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):vk(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Za(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return function(r){function o(a){var s=a.forwardedRef,l=Ha(a,Ise),c=jse(e,yu(yu({},l),{},{keyPrefix:t.keyPrefix})),u=Re(c,3),d=u[0],f=u[1],h=u[2],p=yu(yu({},l),{},{t:d,i18n:f,tReady:h});return t.withRef&&s?p.ref=s:!t.withRef&&s&&(p.forwardedRef=s),v.createElement(r,p)}o.displayName="withI18nextTranslation(".concat(wse(r),")"),o.WrappedComponent=r;var i=function(s,l){return v.createElement(o,Object.assign({},s,{forwardedRef:l}))};return t.withRef?v.forwardRef(i):o}}const Lse={translation:{"Welcome to React":"欢迎使用 React"}},$se={translation:{"Welcome to React":"Welcome to React and react-i18next"}},Dse={zh_CN:Lse,en_US:$se};Jt.use(Tse).init({resources:Dse,lng:"zh_CN",react:{bindI18n:"added languageChanged",bindI18nStore:"added"}});const Dd=Jt;Dd.update=()=>{setTimeout(()=>{Jt.emit("added")},0)};Dd.changeLanguage("en_US");class UL{constructor({getWorkbench:t,emitter:n,pageModel:r,i18n:o,assetsPackageListManager:i,engine:a}){Y(this,"plugins",new Map);Y(this,"emitter",xd());Y(this,"getWorkbench");Y(this,"pageModel");Y(this,"i18n");Y(this,"assetsPackageListManager");Y(this,"engine");Y(this,"customPluginHooks",{});Y(this,"customPlugin",(t,n)=>{const r=this.customPluginHooks,o=r[t]||[];o.push(n),r[t]=o,this.customPluginHooks=r});Y(this,"createPluginCtx",()=>({globalEmitter:this.emitter,emitter:xd(),config:{},getWorkbench:this.getWorkbench,pluginManager:this,pageModel:this.pageModel,i18n:this.i18n,assetsPackageListManager:this.assetsPackageListManager,engine:this.engine,pluginReadyOk:()=>{}}));this.getWorkbench=t,this.emitter=n,this.pageModel=r,this.i18n=o,this.assetsPackageListManager=i,this.engine=a}async add(t){var a;const n=this.createPluginCtx();let r;typeof t=="function"?r=t(n):r=t;let o={source:r,ctx:n,export:((a=r.export)==null?void 0:a.call(r,n))||{},ready:!1};(this.customPluginHooks[r.name]||[]).forEach(s=>{o=s(o)}),n.pluginReadyOk=()=>{this.emitter.emit(`${r.name}:ready`),o.ready=!0},this.plugins.set(r.name,o),await r.init(n)}async get(t){const n=this.plugins.get(t);return n!=null&&n.ready||await this.onPluginReadyOk(t),n}async remove(t){const n=this.plugins.get(t);await(n==null?void 0:n.source.destroy(n.ctx)),this.plugins.delete(t)}onPluginReadyOk(t,n){return new Promise(r=>{const o=this.plugins.get(t);o!=null&&o.ready?r(o):o===void 0&&console.warn(`plugin: ${t} not found.`),this.emitter.on(`${t}:ready`,()=>{const i=this.plugins.get(t);i&&(i.ready=!0,n==null||n(i),r(i))})})}}const zse={pluginName:"组件库"},Fse={pluginName:"Components"},yk={zh_CN:zse,en_US:Fse},Bse="_container_e0jz7_2",Vse="_header_e0jz7_8",Hse="_tabTitle_e0jz7_25",qse="_notFoundComponent_e0jz7_37",od={container:Bse,header:Vse,tabTitle:Hse,notFoundComponent:qse},Use="_square_1b87f_2",Gse="_componentItem_1b87f_18",Wse="_iconImg_1b87f_41",Kse="_iconBox_1b87f_45",Xse="_iconText_1b87f_54",Gs={square:Use,componentItem:Gse,iconImg:Wse,iconBox:Kse,iconText:Xse},Yse=e=>{const t={[GL]:e.id},n=v.useMemo(()=>e.iconText?w.jsx("div",{className:Gs.iconText,children:String(e.iconText).toUpperCase()}):typeof e.icon=="string"?w.jsx("img",{className:Gs.iconImg,src:e.icon,draggable:!1}):e.icon,[e.icon,e.iconText]),r=w.jsx("div",{className:De([Gs.square,e.containerClassName]),children:w.jsxs("div",{...t,className:Gs.componentItem,style:e.style,children:[w.jsx("div",{className:Gs.iconBox,children:n}),w.jsx("span",{children:e.name})]})});return e.description?w.jsx(W.Popover,{overlayInnerStyle:{maxWidth:"300px",maxHeight:"200px",overflow:"auto"},content:e.description||"",zIndex:1e3,placement:"right",children:r}):r},GL="data-drag-key",Jse="_ListBox_1mtsn_2",Qse="_collapsePanel_1mtsn_24",bk={ListBox:Jse,collapsePanel:Qse},xk=e=>{const{dataSource:t}=e,n=t.map(o=>o.name||""),r=v.useMemo(()=>t.map(o=>{const i=o.name||"",a=w.jsx("div",{className:bk.collapsePanel,children:o.list.map(s=>w.jsx(Yse,{id:s.id,name:s.title,icon:s.snapshot||s.snapshotText,iconText:s.snapshotText,description:s.description||""},s.id))});return{key:i,label:i,children:a}}),[t]);return t.length?w.jsx("div",{className:bk.ListBox,children:w.jsx(W.Collapse,{style:{width:"100%"},defaultActiveKey:n,items:r})}):null},WL=(e,t)=>{if(!e)return null;const n=e.getAttribute(t);return n||WL(e.parentElement,t)},Zse=(e,t)=>{const n=[],r=t==null?void 0:t.toLowerCase();return e.forEach(o=>{[...o.list].forEach(a=>{const s=a.list.filter(l=>{var u,d,f,h;let c=!1;return typeof l.description=="string"&&(c=(u=l.description)==null?void 0:u.includes(r)),c=c||((d=l.title)==null?void 0:d.toLowerCase().includes(r)),c=c||((f=l.snapshotText)==null?void 0:f.toLowerCase().includes(r)),c=c||((h=l.category)==null?void 0:h.toLowerCase().includes(r)),c});s.length&&n.push({name:a.name,list:s})})}),n},Yo="ComponentLib",Cb=`plugin:${Yo}`,ele=({children:e})=>w.jsx("div",{className:od.tabTitle,children:e});class tle extends v.Component{constructor(n){super(n);Y(this,"containerRef");Y(this,"disposeList",[]);Y(this,"boxSensor");Y(this,"leftPanelVisibleCb",async({visible:n,panelName:r})=>{await this.props.pluginCtx.pluginManager.onPluginReadyOk("Designer"),r===Yo&&n&&this.registerDragEvent()});Y(this,"getNewNode",n=>{const{pluginCtx:r}=this.props,o=r.pageModel;if(!n)return;const i=WL(n,GL);if(!i)return;const a=o.materialsModel.findSnippetById(i);if(a)return o==null?void 0:o.createNode(a.schema)});Y(this,"registerDragEvent",async()=>{const{containerRef:n}=this,{pluginCtx:r}=this.props,o=await r.pluginManager.get("Designer");if(!o||!n.current)return;const a=o.export.getDnd(),s=new Xr.Sensor({name:"ComponentListBox",container:n.current,mainDocument:document});this.boxSensor=s,s.setCanDrag(async c=>{const u=this.getNewNode(c.event.target);return this.props.pluginCtx.pluginManager.get("Designer").then(d=>{const f=d==null?void 0:d.export;f==null||f.selectNode("")}),{...c,extraData:{dropType:"NEW_ADD",dragNode:u}}}),a.registerSensor(s);const l=()=>{const{getWorkbench:c}=this.props.pluginCtx,u=c();u.state.leftBoxFixed||u.closeLeftPanel()};this.disposeList.push(()=>{a.emitter.off("dragStart",l)}),a.emitter.on("dragStart",l)});Y(this,"toAddNewNode",async n=>{const r=this.getNewNode(n.nativeEvent.target);if(!r)return;const{pageModel:o}=this.props.pluginCtx;return this.props.pluginCtx.pluginManager.get("Designer").then(async i=>{var m;const a=i==null?void 0:i.export,s=a==null?void 0:a.getSelectedNodeId(),l=o.getNode(s),c=he.findContainerNode(l);let u="CHILD_END",d=l??null;if(l)c===l.parent?l.isContainer()?(u="CHILD_END",d=l):(u="AFTER",d=l):c&&!he.isPageModel(c)&&(u="CHILD_END",d=c);else{const g=o.getRootNode();g&&(u="CHILD_END",d=g)}const f=a==null?void 0:a.getInstance(),h=await(f==null?void 0:f.customAdvanceHook.onNewAdd({dragNode:r,dropNode:d,eventObj:{from:n.nativeEvent,fromSensor:this.boxSensor,pointer:null,fromPointer:null,extraData:{}}}));if(h===!1)return;let p={dragNode:r,dropNode:d,pos:u};typeof h=="object"&&(p={...p,dragNode:h.addNode??p.dragNode,dropNode:h.dropNode??p.dropNode,pos:((m=h.dropPosInfo)==null?void 0:m.pos)??p.pos}),o.addNode(p.dragNode,p.dropNode,p.pos),setTimeout(()=>{a==null||a.selectNode(p.dragNode.id)},200)})});Y(this,"onSearch",()=>{if(!this.state.searchString.length){this.setState({searchResultList:[],searchMode:!1});return}const n=Zse(this.state.componentsList,this.state.searchString);this.setState({searchResultList:n,searchMode:!0})});this.containerRef=v.createRef(),this.state={componentsList:[],searchString:"",searchMode:!1,searchResultList:[]}}updateComponentsList(){const{pluginCtx:n}=this.props,{pageModel:r}=n,{materialsModel:o}=r,i=o.getAllSnippets();if(i.length&&i[0].name==="default"){const a=i.shift();a&&i.push(a)}this.setState({componentsList:i})}async componentDidMount(){await this.props.pluginCtx.pluginManager.onPluginReadyOk("Designer"),this.registerDragEvent();const{pluginCtx:n}=this.props,{i18n:r}=n;Object.keys(yk).forEach(o=>{r.addResourceBundle(o,Cb,yk[o],!0,!0)}),r.update(),this.updateComponentsList(),n.globalEmitter.on("updateMaterials",()=>{this.updateComponentsList()})}componentWillUnmount(){this.disposeList.map(n=>n())}render(){const{componentsList:n,searchString:r,searchResultList:o,searchMode:i}=this.state,{toAddNewNode:a}=this,s=this.props.pluginCtx.config.customSearchBar,l=n.map(u=>({label:w.jsx(ele,{children:dP(u.name)}),key:u.name,children:w.jsx(xk,{dataSource:u.list})})),c=w.jsx(W.Input,{value:r,placeholder:"input search text",suffix:w.jsx(LM,{style:{color:"rgba(0,0,0,.25)"}}),onPressEnter:this.onSearch,allowClear:!0,onClear:()=>{this.setState({searchMode:!1,searchResultList:[]})},onChange:u=>{this.setState({searchString:u.target.value})}});return w.jsxs("div",{ref:this.containerRef,className:od.container,onClick:a,children:[w.jsx("div",{className:od.header,children:s?w.jsx(s,{defaultInputView:c,updateState:this.setState.bind(this)}):c}),i&&w.jsxs("div",{children:[!o.length&&w.jsx("div",{className:od.notFoundComponent,children:"暂无相关组件"}),w.jsx(xk,{dataSource:o})]}),!o.length&&!i&&w.jsx(W.Tabs,{defaultActiveKey:"BaseComponent",items:l,style:{width:"100%"}})]})}}const _c={name:Yo,PLUGIN_NAME:Yo,async init(e){const t=Za(Cb)(tle),n=Za(Cb)(({t:o})=>w.jsx(w.Fragment,{children:o("pluginName")}));e.getWorkbench().addLeftPanel({title:w.jsx(n,{}),name:"ComponentLib",icon:w.jsx(_M,{}),render:w.jsx(t,{pluginCtx:e})}),e.pluginReadyOk()},reload:async()=>{console.log(Yo,"not suooprt reload")},async destroy(e){console.log("destroy",e)},export:()=>({}),meta:{engine:{version:"1.0.0"}}};_c.PLUGIN_NAME=Yo;const Sl="Designer",nle={pluginName:"组件库"},rle={pluginName:"Designer Canvas"},wk={zh_CN:nle,en_US:rle},ole="_toolBarBox_h5ljb_2",ile="_item_h5ljb_10",ale="_layoutSelectBox_h5ljb_20",sle="_hoverBox_h5ljb_25",lle="_hoverBoxActive_h5ljb_35",cle="_hoverItem_h5ljb_39",ule="_placeholder_h5ljb_47",vo={toolBarBox:ole,item:ile,layoutSelectBox:ale,hoverBox:sle,hoverBoxActive:lle,hoverItem:cle,placeholder:ule},dle=({dataSource:e,children:t,onSelect:n})=>{const[r,o]=v.useState(!1);return w.jsxs("div",{className:vo.layoutSelectBox,children:[w.jsx("div",{className:De([vo.hoverBox,r&&vo.hoverBoxActive]),children:e.map(i=>w.jsx("div",{className:vo.hoverItem,onClick:()=>n(i.key),children:i.label},i.key))}),w.jsx("div",{className:vo.placeholder,onMouseOver:()=>o(!0),onMouseOut:()=>o(!1),children:t})]})},KL=e=>{var h;const{nodeList:t,toSelectNode:n,toDelete:r,toCopy:o,toHidden:i}=e,a=[...t],s=a.shift(),l=a.map(p=>{var b;const m=p,g=(b=m.materialsModel.findByComponentName(m.value.componentName))==null?void 0:b.value.title,y=m.value.title||g||m.value.componentName||"";return{key:p.id,label:y||"Empty"}}),c=w.jsx("div",{className:vo.item,onClick:()=>o((s==null?void 0:s.id)||""),children:w.jsx(Ax,{})},"CopyOutlined"),u=w.jsx("div",{className:vo.item,onClick:()=>r((s==null?void 0:s.id)||""),children:w.jsx(pc,{})},"DeleteOutlined"),d=w.jsx("div",{className:vo.item,onClick:()=>i((s==null?void 0:s.id)||""),children:w.jsx(Mx,{})},"EyeInvisibleOutlined"),f=w.jsx(dle,{dataSource:l.reverse(),onSelect:n,children:w.jsx("div",{children:(s==null?void 0:s.value.title)||((h=s==null?void 0:s.material)==null?void 0:h.value.title)||"Empty"})},"LayoutSelect");return{map:{copyItem:c,deleteItem:u,visibleItem:d,nodeLayout:f},list:[f,d,c,u]}},fle=e=>{const{copyItem:t,deleteItem:n,visibleItem:r,nodeLayout:o}=v.useMemo(()=>KL(e).map,[e]);return w.jsxs("div",{className:vo.toolBarBox,children:[o,r,t,n]})},hle=(e,t=5)=>{const n=[];let r=0,o=e;for(;r<t&&o;)he.isNodeModel(o)&&(n.push(o),r++),o=o.parent||null;return n},ple=({node:e})=>w.jsx("div",{style:{backgroundColor:"rgba(100,100,100)",padding:"3px 10px 3px 15px",borderRadius:"2px",opacity:.9,color:"rgba(220,220,220)"},children:e.value.componentName}),gle="_hoverTips_k3vn7_2",mle={hoverTips:gle};class vle{constructor(t){Y(this,"getPortalViewCtx");Y(this,"ctx");Y(this,"layoutRef");this.getPortalViewCtx=t.getPortalViewCtx,this.ctx=t.ctx,this.layoutRef=t.layoutRef}async canDrag({dragNode:t,eventObj:n}){var o;const r=(o=t==null?void 0:t.material)==null?void 0:o.value.advanceCustom;return r!=null&&r.canDragNode?r==null?void 0:r.canDragNode(t,{context:this.ctx,viewPortal:this.getPortalViewCtx(),event:n,extra:n.extraData}):!0}async canDrop({dragNode:t,dropNode:n,eventObj:r}){var l,c;const o=(l=t==null?void 0:t.material)==null?void 0:l.value.advanceCustom,i=(c=n.material)==null?void 0:c.value.advanceCustom;let a={};const s={dropNode:n,context:this.ctx,viewPortal:this.getPortalViewCtx(),event:r,extra:r.extraData};if(o!=null&&o.canDropNode)if(a=await o.canDropNode(t,s),i!=null&&i.canAcceptNode){let u;return typeof a=="object"?u=await(i==null?void 0:i.canAcceptNode(a.dragNode,{...s,...a})):u=await(i==null?void 0:i.canAcceptNode(t,{...s})),u}else return a;else if(i!=null&&i.canAcceptNode)return await(i==null?void 0:i.canAcceptNode(t,{...s}));return!0}async onNewAdd({dragNode:t,dropNode:n,eventObj:r}){var i,a,s;const o=await((s=(a=(i=t.material)==null?void 0:i.value.advanceCustom)==null?void 0:a.onNewAdd)==null?void 0:s.call(a,t,{dropNode:n,context:this.ctx,viewPortal:this.getPortalViewCtx(),event:r,extra:r.extraData}));return o===!1?!1:o}getSelectRectViewRender(t){var r;const n=t.material;return(r=n==null?void 0:n.value.advanceCustom)==null?void 0:r.selectRectViewRender}getHoverRectViewRender(t){var r;if(!t)return null;const n=t.material;return(r=n==null?void 0:n.value.advanceCustom)==null?void 0:r.hoverRectViewRender}getDropViewRender(t){var r;if(!t)return null;const n=t.material;return(r=n==null?void 0:n.value.advanceCustom)==null?void 0:r.dropViewRender}getGhostViewRender(t){var r;if(!t)return null;const n=t.material;return(r=n==null?void 0:n.value.advanceCustom)==null?void 0:r.ghostViewRender}getToolbarViewRender(t){var r;if(!t)return null;const n=t.material;return(r=n==null?void 0:n.value.advanceCustom)==null?void 0:r.toolbarViewRender}async onCopy(t){var a;let n=t;const r=this.ctx,o=t.material,i=(a=o==null?void 0:o.value.advanceCustom)==null?void 0:a.onCopy;if(i){const s=await i(t,{viewPortal:this.getPortalViewCtx(),context:r,extra:{}});if(s===!1)return!1;typeof s=="object"&&(n=s.copyNode??n)}return n&&r.pageModel.copyNode(n)&&await Zr(),n}async onDelete(t){var a;let n=t;const r=this.ctx,o=t.material,i=(a=o==null?void 0:o.value.advanceCustom)==null?void 0:a.onDelete;if(i){const s=await i(t,{viewPortal:this.getPortalViewCtx(),context:r,extra:{}});if(s===!1)return!1;typeof s=="object"&&(n=s.deleteNode??n)}return n&&r.pageModel.deleteNode(n)&&await Zr(),n}}class yle extends v.Component{constructor(n){super(n);Y(this,"layoutRef");Y(this,"customAdvanceHook");Y(this,"getPortalViewCtx",()=>({setView:n=>{this.setState({portalView:n})},clearView:()=>{this.setState({portalView:null})}}));Y(this,"onNodeDragging",async n=>{var i,a,s;const r=n.extraData,o=r==null?void 0:r.dragNode;if(o)return(s=(a=(i=o.material)==null?void 0:i.value.advanceCustom)==null?void 0:a.onDragging)==null?void 0:s.call(a,o,{context:this.props.pluginCtx,viewPortal:this.getPortalViewCtx(),event:n,extra:r})});Y(this,"onNodeDragEnd",async()=>{this.setState({...this.state,dropViewRender:this.props.pluginCtx.config.dropViewRender})});Y(this,"onNodeDrop",async n=>{var c,u,d,f,h,p,m,g,y,b,S;const{layoutRef:r}=this,o=this.props.pluginCtx.pageModel,i=n.extraData,a=i==null?void 0:i.dropPosInfo,s={before:"BEFORE",after:"AFTER",current:"CHILD_START"}[(a==null?void 0:a.pos)||"after"],l=i==null?void 0:i.dragNode;if(l&&await((d=(u=(c=l.material)==null?void 0:c.value.advanceCustom)==null?void 0:u.onDrop)==null?void 0:d.call(u,l,{context:this.props.pluginCtx,viewPortal:this.getPortalViewCtx(),event:n,extra:i}))===!1)return!1;if(!(i!=null&&i.dropNode))return console.warn("cancel drop, because drop node is null"),!1;if(i.dropType==="NEW_ADD"){if(l&&await((p=(h=(f=l.material)==null?void 0:f.value.advanceCustom)==null?void 0:h.onNewAdd)==null?void 0:p.call(h,l,{dropNode:i.dropNode,context:this.props.pluginCtx,viewPortal:this.getPortalViewCtx(),event:n,extra:i}))===!1)return!1;((m=i.dropNode)==null?void 0:m.nodeType)!=="NODE"?o==null||o.addNode(i.dragNode,i.dropNode,"CHILD_START"):o==null||o.addNode(i.dragNode,i.dropNode,s)}else{if(((g=i.dropNode)==null?void 0:g.id)===((y=i.dragNode)==null?void 0:y.id))return console.warn("dragNode and dropNode id is the same"),!1;if(!o.moveNodeById(((b=i.dragNode)==null?void 0:b.id)||"",((S=i==null?void 0:i.dropNode)==null?void 0:S.id)||"",s))return console.warn("drop failed"),!1}return this.props.pluginCtx.emitter.emit("onDrop",n),new Promise(x=>{setTimeout(async()=>{var C,E,O;if(l&&await this.onSelectNode(l,null)===!1)return(C=r.current)==null||C.selectNode(""),x(!1);(O=r.current)==null||O.selectNode(((E=i.dragNode)==null?void 0:E.id)||""),x(!0)},150)})});Y(this,"onSelectNode",async(n,r)=>{var l,c,u,d;const{pluginCtx:o}=this.props,{layoutRef:i}=this;if(!n)return o.engine.updateCurrentSelectNode(null),(l=i.current)==null||l.selectNode(""),this.setState({selectToolbarView:null}),!1;const a=await((d=(u=(c=n.material)==null?void 0:c.value.advanceCustom)==null?void 0:u.onSelect)==null?void 0:d.call(u,n,{context:this.props.pluginCtx,viewPortal:this.getPortalViewCtx(),event:r,extra:{}}));if(a===!1)return a;o.engine.updateCurrentSelectNode(n);const s=this.getToolbarView(n);return this.setState({selectToolbarView:s,selectRectViewRender:this.customAdvanceHook.getSelectRectViewRender(n)||this.props.pluginCtx.config.selectRectViewRender}),!0});Y(this,"onDragStart",async n=>{var c,u,d,f,h,p;const r=n.extraData,o=r==null?void 0:r.dragNode;if(!o)return!1;const i={context:this.props.pluginCtx,viewPortal:this.getPortalViewCtx(),event:n,extra:r},a=await((d=(u=(c=o.material)==null?void 0:c.value.advanceCustom)==null?void 0:u.canDragNode)==null?void 0:d.call(u,o,{context:this.props.pluginCtx,viewPortal:this.getPortalViewCtx(),event:n,extra:{}}));if(a===!1)return a;const s=await((p=(h=(f=o.material)==null?void 0:f.value.advanceCustom)==null?void 0:h.onDragStart)==null?void 0:p.call(h,o,{...i}));if(s===!1)return s;const l=this.getGhostView(o,i);return this.setState({...this.state,ghostView:l,dropViewRender:this.customAdvanceHook.getDropViewRender(o)||this.props.pluginCtx.config.dropViewRender}),!0});Y(this,"getGhostView",(n,r)=>{let o=w.jsx(ple,{node:n});const a=this.customAdvanceHook.getGhostViewRender(n)||this.props.pluginCtx.config.ghostViewRender;return a&&(o=w.jsx(a,{node:n,params:r})),o});Y(this,"toSelectNode",async n=>{var a;const o=this.props.pluginCtx.pageModel.getNode(n);return await this.onSelectNode(o||null,null)===!1?!1:((a=this.layoutRef.current)==null||a.selectNode(n),!0)});Y(this,"toCopyNode",async n=>{const o=this.props.pluginCtx.pageModel.getNode(n),i=await this.customAdvanceHook.onCopy(o);if(i)return this.toSelectNode(i.id),!0});Y(this,"toDeleteNode",async n=>{const o=this.props.pluginCtx.pageModel.getNode(n);return o?await this.customAdvanceHook.onDelete(o)===!1?!1:(this.toSelectNode(""),!0):void 0});Y(this,"toHidden",n=>{const r=this.props.pluginCtx.pageModel.getNode(n);if(!r)return;const o=r.value.configure.devState??{};return o.condition=!1,r.value.configure.devState=o,r.updateValue(),!0});Y(this,"getToolbarView",n=>{const o={nodeList:hle(n,5),toSelectNode:this.toSelectNode,toCopy:this.toCopyNode,toDelete:this.toDeleteNode,toHidden:this.toHidden},i=KL(o);let a=w.jsx(fle,{...o});const s=this.customAdvanceHook.getToolbarViewRender(n)||this.props.pluginCtx.config.toolbarViewRender;return s&&(a=w.jsx(s,{node:n,context:this.props.pluginCtx,toolBarItems:i.map,toolBarItemList:i.list})),a});Y(this,"onHoverNode",(n,r,o)=>{this.props.pluginCtx.emitter.emit("onHover",n);const i=n==null?void 0:n.material;i||console.warn("material not found",n);const a={context:this.props.pluginCtx,viewPortal:this.getPortalViewCtx(),event:o,extra:{}},s=this.getGhostView(r,a),l={hoverToolbarView:w.jsx("div",{className:mle.hoverTips,children:(i==null?void 0:i.value.title)||(i==null?void 0:i.componentName)}),ghostView:s,hoverRectViewRender:this.customAdvanceHook.getHoverRectViewRender(n)||this.props.pluginCtx.config.hoverRectViewRender};r||(l.ghostView=null),this.setState({...l})});Y(this,"nodeCanDrag",async n=>{const r=n.extraData,o=r==null?void 0:r.dragNode;return await this.customAdvanceHook.canDrag({dragNode:o,eventObj:n})});Y(this,"nodeCanDrop",async n=>{const r=n.extraData,o=r==null?void 0:r.dragNode;return await this.customAdvanceHook.canDrop({dragNode:o,eventObj:n,...r})});Y(this,"innerSelectRectViewRender",n=>{const{selectRectViewRender:r}=this.state,{pluginCtx:o}=this.props,i=r,a=o.engine.getActiveNode();return!i||!a?w.jsx(w.Fragment,{}):w.jsx(i,{node:a,componentInstance:n.instance,componentInstanceIndex:n.index,params:{viewPortal:this.getPortalViewCtx(),context:this.props.pluginCtx,extra:{}}})});Y(this,"innerHoverRectViewRender",n=>{const{hoverRectViewRender:r}=this.state,o=r;return o?w.jsx(o,{node:n.instance._NODE_MODEL,componentInstance:n.instance,componentInstanceIndex:n.index,params:{viewPortal:this.getPortalViewCtx(),context:this.props.pluginCtx,extra:{}}}):w.jsx(w.Fragment,{})});Y(this,"innerDropViewRender",n=>{const{dropViewRender:r}=this.state,o=r;return o?w.jsx(o,{...n,node:n.instance._NODE_MODEL,componentInstance:n.instance,componentInstanceIndex:n.index,params:{viewPortal:this.getPortalViewCtx(),context:this.props.pluginCtx,extra:{}}}):w.jsx(w.Fragment,{})});this.state={pageModel:n.pluginCtx.pageModel,hoverToolbarView:null,selectToolbarView:null,ghostView:null,portalView:null,selectRectViewRender:null,hoverRectViewRender:null,dropViewRender:null},this.layoutRef=v.createRef(),this.customAdvanceHook=new vle({getPortalViewCtx:this.getPortalViewCtx,ctx:this.props.pluginCtx,layoutRef:this.layoutRef})}async updateRenderComponents(n={}){var s,l;const o={...this.props.pluginCtx.config.components||{},...n};this.props.pluginCtx.config.components=o;const{layoutRef:i}=this;if(!i.current){console.warn("layout not ready ok");return}await i.current.ready();const a=i.current;(l=(s=a==null?void 0:a.designRenderRef)==null?void 0:s.current)==null||l.updateComponents(o)}componentDidMount(){const{i18n:n}=this.props.pluginCtx;Object.keys(wk).forEach(r=>{n.addResourceBundle(r,`plugin:${Sl}`,wk[r],!0,!0)}),this.init()}getIframeDom(){var n;return(n=this.layoutRef.current)==null?void 0:n.iframeContainer}reloadRender(){var n;(n=this.layoutRef.current)==null||n.reload(),this.props.pluginCtx.pageModel.reloadPage()}async init(){const{layoutRef:n}=this,{pluginCtx:r}=this.props;if(!n.current){console.warn("layout not ready ok");return}await n.current.ready();const o=n.current;r.emitter.emit("ready",{UIInstance:this}),o.dnd.emitter.on("click",({event:i})=>{r.getWorkbench().onGlobalClick(i)}),this.props.pluginCtx.pageModel.emitter.on("onPageChange",({node:i})=>{var a,s,l;(l=(s=(a=n.current)==null?void 0:a.designRenderRef)==null?void 0:s.current)==null||l.rerender(i)}),this.props.pluginCtx.pageModel.emitter.on("onReloadPage",({node:i})=>{var a,s,l;(l=(s=(a=n.current)==null?void 0:a.designRenderRef)==null?void 0:s.current)==null||l.rerender(i)}),r.pluginReadyOk()}render(){const{layoutRef:n,props:r,onSelectNode:o,onDragStart:i,onHoverNode:a,onNodeDrop:s,onNodeDragging:l,onNodeDragEnd:c}=this,{pageModel:u,hoverToolbarView:d,selectToolbarView:f,ghostView:h,portalView:p,selectRectViewRender:m,hoverRectViewRender:g,dropViewRender:y}=this.state,{pluginCtx:b}=r,S=b.assetsPackageListManager.getList()||[],x=b.engine.props.renderJSUrl||"./render.umd.js",C={};return m&&(C.selectRectViewRender=this.innerSelectRectViewRender),g&&(C.hoverRectViewRender=this.innerHoverRectViewRender),y&&(C.dropViewRender=this.innerDropViewRender),f&&(C.selectToolbarView=this.state.selectToolbarView),w.jsxs(w.Fragment,{children:[w.jsx(Xr.Layout,{beforeInitRender:r.pluginCtx.config.beforeInitRender,customRender:r.pluginCtx.config.customRender,ref:n,pageModel:u,renderJSUrl:x,...r,hoverToolBarView:d,selectBoxStyle:{},hoverBoxStyle:{},nodeCanDrag:this.nodeCanDrag,nodeCanDrop:this.nodeCanDrop,onSelectNode:o,onNodeDragStart:i,onHoverNode:a,onNodeDrop:s,onNodeDragging:l,onNodeDraEnd:c,...C,ghostView:h,assets:S,pluginCtx:this.props.pluginCtx}),p&&Gr.createPortal(p,document.body)]})}}const Ec=()=>{const e=v.createRef();return{name:Sl,PLUGIN_NAME:Sl,async init(t){t.name=Sl,t.getWorkbench().replaceBodyView(w.jsx(yle,{ref:e,pluginCtx:t}))},async destroy(t){console.log("destroy",t)},export:()=>({setMode(t){var n,r;return(r=(n=e.current)==null?void 0:n.layoutRef.current)==null?void 0:r.setMode(t)},setPreviewMode(){var t,n;return(n=(t=e.current)==null?void 0:t.layoutRef.current)==null?void 0:n.setMode(Xr.LayoutMode.PREVIEW)},setEditMode(){var t,n;return(n=(t=e.current)==null?void 0:t.layoutRef.current)==null?void 0:n.setMode(Xr.LayoutMode.EDIT)},setCanvasWidth(t){var r;const n=(r=e.current)==null?void 0:r.getIframeDom();if(n!=null&&n.containerDom){let o=t;typeof t=="number"&&(o=`${t}px`),n.containerDom.style.width=String(o),n.containerDom.style.margin="0 auto"}},getIframeDom(){var t;return(t=e.current)==null?void 0:t.getIframeDom()},getInstance:()=>e.current,getDnd:()=>{var t,n;return(n=(t=e.current)==null?void 0:t.layoutRef.current)==null?void 0:n.dnd},selectNode:async t=>{var n;return await((n=e.current)==null?void 0:n.toSelectNode(t))},copyNode:async t=>{var n;return await((n=e.current)==null?void 0:n.toCopyNode(t))},deleteNode:async t=>{var n;return await((n=e.current)==null?void 0:n.toDeleteNode(t))},getSelectedNodeId:()=>{var t,n;return(n=(t=e.current)==null?void 0:t.layoutRef.current)==null?void 0:n.state.currentSelectId},updatePage:t=>{var n,r,o,i;(i=(o=(r=(n=e.current)==null?void 0:n.layoutRef.current)==null?void 0:r.designRenderRef)==null?void 0:o.current)==null||i.rerender(t)},reload:()=>{var t;(t=e.current)==null||t.reloadRender()},getComponentInstances:t=>{var n,r,o;return((o=(r=(n=e.current)==null?void 0:n.layoutRef.current)==null?void 0:r.designRenderRef.current)==null?void 0:o.getInstancesById(t))||[]},getDynamicComponentInstances:t=>{var r,o,i,a;const n=(a=(i=(o=(r=e.current)==null?void 0:r.layoutRef.current)==null?void 0:o.designRenderRef.current)==null?void 0:i.renderRef.current)==null?void 0:a.dynamicComponentInstanceMap;return(n==null?void 0:n.get(t))||[]},getLayoutRef:()=>{var t;return(t=e.current)==null?void 0:t.layoutRef},getDesignerWindow:()=>{var t,n;return(n=(t=e.current)==null?void 0:t.layoutRef.current)==null?void 0:n.iframeContainer.getWindow()},updateRenderComponents:t=>{var n;return(n=e.current)==null?void 0:n.updateRenderComponents(t)}}),meta:{engine:{version:"1.0.0"}}}};Ec.PLUGIN_NAME=Sl;const _b=(e,t)=>{if(!e)return null;const n=e.getAttribute(t);return n||_b(e.parentElement,t)},XL=(e,t,n)=>{const r=(o,i)=>{var m,g,y;let a=o.children||[];Array.isArray(a)||(a=[]),a=a.filter(b=>typeof b!="string");const s=(m=n.materialsModel.findByComponentName(o.componentName))==null?void 0:m.value.title,l={title:o.title||s||o.componentName,key:o.id,children:[],parent:i,canDropPos:(g=n.getNode(o.id||""))!=null&&g.isContainer()?void 0:["after","before"]},c=[],u={title:"SLOT",key:`${o.id}-SLOT`,children:c,canBeSelected:!1,canDropPos:!1,parent:null,containerRender:({treeNodeView:b})=>w.jsx("div",{style:{border:"1px solid #a97cf8",borderTopWidth:"6px",marginRight:"2px",marginTop:"5px"},children:b})},d=o.props||{},f=(b,S,x)=>{if(he.isJSSlotPropNode(b)){const E=b,O=n.getNode(o.id);let _="";if(O){const M=h(O,[...x,S]);_=he.getMTitle(M)}let k=S;_&&(k=he.getMTitle(_)||S);const N={title:k,key:`${o.id}-${x.join("_")}`,children:[],canBeSelected:!1,canDrag:!1,canDropPos:["current"],parent:u};let R=[];E.value&&!Array.isArray(E.value)?R=[E.value]:R=E.value,N.children=XL(R,N,n),c.push(N);return}if(hs(b)){const E=b;Object.keys(E).forEach(O=>{f(E[O],O,[...x,S])})}Array.isArray(b)&&b.forEach((O,_)=>{f(O,String(_),[...x,S])})},h=(b,S)=>{const x=xle(b),C=S.map(E=>String(parseInt(E,10))===E?"$NUM":E);return x[C.join(".")]||""};Object.keys(d).forEach(b=>{f(d[b],b,[])}),c.length>0&&((y=l.children)==null||y.push(u),u.parent=l);const p=a.map(b=>r(b,l))||[];return l.children=[...l.children,...p],l};return Array.isArray(e)?e.map(o=>r(o,t)):r(e,t)},YL=(e,t)=>{const n=e.componentsTree;let r=n.children||[];Array.isArray(r)||(r=[]);const o={title:"Page",key:n.id||"Page",rootNode:!0,children:[]};return o.children=XL(r,o,t),[o]},id=(e,t)=>{let n=[];Array.isArray(e)?n=e:n=[e];let r=!1;const o=(i,a)=>{var l;if(r)return;a(i)?r=!0:(l=i.children)==null||l.forEach(c=>{o(c,a)})};n.forEach(i=>{o(i,t)})};function ble(e){const{point:t,dom:n}=e;let r;const o=t,i=n.getBoundingClientRect(),a=i.height,s=i.x+50,l=i.y+Math.round(a/2);return o.y>l?r="after":r="before",o.x>s&&r==="after"&&(r="current"),{pos:r,direction:"vertical"}}const xle=e=>{var o;const t={},n=(o=e.material)==null?void 0:o.value.props;if(!n)return t;const r=(i,a)=>{var s,l;if(hs(i)){const c=[...a],u=i,d=u.componentName;if(d==="ArraySetter"){const h=((s=u.props)==null?void 0:s.item.setters)||[],p=t[a.join(".")];let m="";typeof p=="string"?m=p:m=p.label,c.push("$NUM"),h.forEach(g=>{m=`${m}`,t[c.join(".")]=m,r(g,c)})}else d==="ShapeSetter"&&(((l=u.props)==null?void 0:l.elements)||[]).forEach(p=>{const m=[...c];m.push(p.name),t[m.join(".")]=p.title,(p.setters||[]).forEach(y=>{r(y,[...m])})})}};return n.forEach(i=>{let a=null;he.isSpecialMaterialPropType(i)?a=i.content:a=i;let s=[];Array.isArray(a)?s=a:s=[a],s.forEach(l=>{var u;const c=[l.name];t[c.join(".")]=l.title,(u=l.setters)==null||u.forEach(d=>{r(d,c)})})}),t};var Ra=(e=>(e.DRAGGING="DRAGGING",e.NORMAL="NORMAL",e))(Ra||{});const JL=v.createContext({state:{treeData:[],currentSelectNodeKeys:[],expandKeys:[],multiSelect:!1,dragState:"NORMAL",pageModel:null},updateState:()=>{},onSelectNode:async()=>!0,onDeleteNode:async()=>!0,onCopyNode:async()=>!0}),wle="_contentBox_1tkrj_2",Sle="_nodeBox_1tkrj_13",Cle="_toolbarBox_1tkrj_17",_le="_iconItem_1tkrj_21",Ele="_nodeContent_1tkrj_25",kle="_selected_1tkrj_35",Ole="_nodeArrow_1tkrj_38",Nle="_expanded_1tkrj_41",Rle="_nodeRenderView_1tkrj_45",Tle="_nodeChildren_1tkrj_56",Ale="_dropAnchorLine_1tkrj_73",Mle="_arrowSpan_1tkrj_82",mn={contentBox:wle,nodeBox:Sle,toolbarBox:Cle,iconItem:_le,nodeContent:Ele,selected:kle,nodeArrow:Ole,expanded:Nle,nodeRenderView:Rle,nodeChildren:Tle,dropAnchorLine:Ale,arrowSpan:Mle},la="data-drag-key",QL=e=>{var F,q,B,z;const t=v.useRef({titleEditable:!1}),{level:n=0,item:r,paths:o=["0"]}=e,[i,a]=v.useState(!0),{state:s,updateState:l,onSelectNode:c,onDeleteNode:u,getDesignerHandler:d,onCopyNode:f}=v.useContext(JL),[h,p]=v.useState((F=t.current)==null?void 0:F.titleEditable),[m,g]=v.useState("");t.current.titleEditable=h;const y=s.expandKeys.find(I=>I===r.key),b=I=>{let V=s.expandKeys;I!==void 0?I===!0?y||V.push(r.key||""):y&&(V=V.filter(j=>j!==r.key)):y?V=V.filter(j=>j!==r.key):V.push(r.key||""),l({expandKeys:V})},S=s.currentSelectNodeKeys.find(I=>I===r.key),x=v.useRef(null),C=async()=>{var V;if(b(!0),h){(V=x==null?void 0:x.current)==null||V.focus();return}if(r.canBeSelected!==void 0&&r.canBeSelected===!1)return;let I=s.currentSelectNodeKeys;if(!s.multiSelect){r.key?await(c==null?void 0:c({keys:[r.key],node:r}))&&l({currentSelectNodeKeys:[String(r.key)]}):c==null||c({keys:[],node:r});return}S?I=I.filter(j=>j!==r.key):I.push(String(r.key)),c==null||c({keys:I,node:r}),l({currentSelectNodeKeys:I})},E=20,O=E*n,_=r.canBeSelected??!0,k={[la]:r.key},N=v.useRef(),R=v.useRef();R.current=s,N.current=I=>{const V=s.expandKeys,j=Array.from(new Set([...V,I]));l({expandKeys:j})};const M=v.useRef(null);v.useEffect(()=>{var H,U;let I=0;(H=M.current)==null||H.addEventListener("mouseenter",()=>{I=window.setTimeout(()=>{var G,X;((G=R.current)==null?void 0:G.dragState)===Ra.DRAGGING&&((X=N.current)==null||X.call(N,r.key||""))},.8*1e3)}),(U=M.current)==null||U.addEventListener("mouseleave",()=>{clearTimeout(I)});const V=G=>{var X;if(t.current.titleEditable){if(G.target===((X=x.current)==null?void 0:X.input))return;p(!1),L.updateValue()}};let j;return(async()=>{const G=await e.pluginCtx.pluginManager.get("Designer"),X=G==null?void 0:G.export,Q=X==null?void 0:X.getDesignerWindow();Q==null||Q.addEventListener("click",V),j=Q||null})(),document.addEventListener("click",V),()=>{I&&clearTimeout(I),document.removeEventListener("click",V),j==null||j.removeEventListener("click",V)}},[]);const L=(q=s.pageModel)==null?void 0:q.getNode(r.key||""),T=()=>{const I=!i;if(!L)return;const V=L.value.configure.devState??{};V.condition=I,L.value.configure.devState=V,L.updateValue(),a(I)};let P=r.title;r.titleViewRender&&(P=r.titleViewRender({item:r,titleView:r.title}));const A=w.jsxs("div",{className:mn.nodeBox,children:[w.jsxs("div",{className:De([mn.nodeContent,S&&_&&mn.selected]),style:{marginLeft:`${-O}px`,paddingLeft:`${O+8}px`},onMouseMove:async()=>{if(!r.key)return;const I=await(d==null?void 0:d()),V=I==null?void 0:I.getDynamicComponentInstances(r.key);typeof(V==null?void 0:V._CONDITION)<"u"&&a(V==null?void 0:V._CONDITION)},children:[(B=r.children)!=null&&B.length?w.jsx("span",{style:{paddingRight:"5px"},className:mn.arrowSpan,onClickCapture:()=>b(),children:w.jsx(IM,{className:De([mn.nodeArrow,y&&mn.expanded])})}):null,w.jsxs("div",{className:mn.nodeRenderView,...k,ref:M,onClick:C,onDoubleClick:()=>{var D;if(!L)return;const I=L,V=(D=I.materialsModel.findByComponentName(I.value.componentName))==null?void 0:D.value.title,j=I.value.title||V||I.value.componentName||"";g(j),p(!0),setTimeout(()=>{var H;(H=x.current)==null||H.focus()},16.66)},children:[!h&&P,h&&w.jsx("div",{style:{paddingRight:"10px"},children:w.jsx(W.Input,{size:"small",maxLength:20,style:{},ref:x,value:m,onPressEnter:()=>{p(!1),L.updateValue()},onChange:I=>{L.value.title=I.target.value,g(I.target.value)}})})]}),!h&&!r.rootNode&&w.jsxs("div",{className:mn.toolbarBox,children:[w.jsxs("div",{className:mn.iconItem,children:[!i&&w.jsx(RM,{onClick:T}),i&&w.jsx(Mx,{onClick:T})]}),w.jsx("div",{className:mn.iconItem,onClick:()=>{f(r.key||"")},children:w.jsx(Ax,{})}),w.jsx("div",{className:mn.iconItem,onClick:()=>{u(r.key||"")},children:w.jsx(pc,{})})]})]}),w.jsx("div",{className:De([mn.nodeChildren,S&&mn.selected]),style:{paddingLeft:`${E}px`,height:y?"auto":"0"},children:y&&((z=r.children)==null?void 0:z.map((I,V)=>{const j=`${I.key}-${V}`;return w.jsx(QL,{item:I,paths:[...o,V],level:n+1,pluginCtx:e.pluginCtx},j)}))})]});return r.containerRender?r.containerRender({item:r,treeNodeView:A}):A};class Ple extends v.Component{constructor(n){super(n);Y(this,"domRef");Y(this,"disposeCbList",[]);Y(this,"sensor");Y(this,"getDesignerHandler",async()=>{const n=await this.props.pluginCtx.pluginManager.get("Designer");return n==null?void 0:n.export});Y(this,"updateTreeDataFromNode",()=>{const{pluginCtx:n}=this.props,{pageModel:r}=n,o=r.export(),i=YL(o,r);this.setState({treeData:i})});Y(this,"getParentKeyPaths",n=>{const{treeData:r}=this.state;let o=null;if(id(r,i=>i.key===n?(o=i,!0):!1),o){let i=o==null?void 0:o.parent;const a=[];for(;i;)i.key&&a.push(i.key),i=i.parent;return a}else return[]});Y(this,"scrollNodeToView",n=>{var o;const r=document.querySelector(`[${la}="${n}"]`);(o=r==null?void 0:r.scrollIntoView)==null||o.call(r,{behavior:"smooth",block:"center"})});Y(this,"toSelectTreeNode",n=>{if(!n){this.setState({currentSelectNodeKeys:[]});return}const r=this.getParentKeyPaths(n.id);ur.debug("onSelectNodeChange parent path",r,n);const o=Array.from(new Set([...this.state.expandKeys,...r]));ur.debug("onSelectNodeChange newExpandKeys",o,n),this.setState({currentSelectNodeKeys:[n.id],expandKeys:o}),setTimeout(()=>{this.scrollNodeToView(n.id)},100)});Y(this,"containNode",(n,r)=>{let o=null;return id(n,i=>i.key===r.key?(o=i,!0):!1),o});Y(this,"getTreeNodeByKey",n=>{const{treeData:r}=this.state;let o=null;return id(r,i=>i.key===n?(o=i,!0):!1),o});Y(this,"registerDragEvent",async()=>{if(!this.domRef.current)return;const n=new Xr.Sensor({container:this.domRef.current,name:"OutlineTree",eventPriority:999,mainDocument:document}),{pluginCtx:r}=this.props,o=r.pageModel,i=await this.getDesignerHandler(),a=i.getDnd();n.setCanDrag(async s=>{var m;const l=s.event.target;if(!l)return;const c=_b(l,la);if(!c)return;const u=o.getNode(c),d=this.getTreeNodeByKey(c);if((d==null?void 0:d.canDrag)!==void 0&&(d==null?void 0:d.canDrag)===!1)return;const f=i.getInstance(),h=await(f==null?void 0:f.customAdvanceHook.canDrag({dragNode:u,eventObj:{extraData:{},...s,from:s.event,fromSensor:n,fromPointer:s.pointer}}));if(h===!1)return!1;if(!u){console.log("targetNode not found");return}const p={...s,extraData:{dragNode:u,dragNodeUID:u.id}};return typeof h=="object"&&(p.extraData.dragNode=h.dragNode,p.extraData.dragNodeUID=((m=h.dragNode)==null?void 0:m.id)||""),p}),n.setCanDrop(async s=>{var b;const l=s.event.target;if(!l)return ur.debug("drop dom not found"),s;const c=_b(l,la);if(!c)return ur.debug("targetNodeId dom not found",s,l,la),s;const u=this.getTreeNodeByKey(c);if((u==null?void 0:u.canDropPos)!==void 0&&u.canDropPos===!1)return ur.debug("node can not be drop by tree node config"),s;const d=o.getNode(c);if(!d)return ur.debug("targetNode not found"),s;const f=(b=s.extraData)==null?void 0:b.dragNode;if(!f)return ur.debug("startNode not found"),s;if((f==null?void 0:f.id)===d.id)return ur.debug("startNode and dropNode is the same"),s;if(f.contains(d.id))return ur.debug("startNode contain dropNode"),s;const p=ble({point:s.pointer,dom:l});if(Array.isArray(u==null?void 0:u.canDropPos)&&!(u!=null&&u.canDropPos.includes(p.pos)))return!1;ur.info("can dropNode",d);const m={...s,extraData:{...s.extraData,dropPosInfo:p,dropNode:d,dropNodeUID:d.id}},g=i.getInstance(),y=await(g==null?void 0:g.customAdvanceHook.canDrop({dragNode:m.extraData.dragNode,dropNode:d,eventObj:{...m,from:m.event,fromSensor:n,fromPointer:m.pointer}}));return y===!1?!1:(typeof y=="object"&&(m.extraData={...m.extraData,...y}),m)}),a.registerSensor(n),n.emitter.on("dragging",s=>{var h,p;const l=s.extraData.dropNode;if(this.setState({dragState:Ra.DRAGGING}),!l){this.setState({dropPosInfo:null});return}const c=(h=document.querySelectorAll(`[${la}="${l.id}"]`))==null?void 0:h[0];if(!c)return;const u=((p=s.extraData)==null?void 0:p.dropPosInfo)||{},d=c.getBoundingClientRect(),f={x:0,y:0};f.x=d.x,u.pos==="before"?f.y=d.y:u.pos==="after"?f.y=d.y+d.height:(f.y=d.y+d.height,f.x=d.x+20),this.setState({dropPosInfo:f})}),n.emitter.on("dragEnd",()=>{this.setState({dragState:Ra.NORMAL})}),this.sensor=n});this.domRef=v.createRef(),this.state={treeData:[],currentSelectNodeKeys:[],expandKeys:[],multiSelect:n.multiSelect||!1,dropPosInfo:{x:0,y:0},pageModel:n.pluginCtx.pageModel,dragState:Ra.NORMAL}}async componentDidMount(){this.updateTreeDataFromNode();const{pluginCtx:n}=this.props,{pageModel:r}=n;r.emitter.on("*",()=>{this.updateTreeDataFromNode()}),n.globalEmitter.on("onSelectNodeChange",({node:a})=>{this.toSelectTreeNode(a)}),n.getWorkbench().emitter.on("leftPanelVisible",({visible:a,panelName:s})=>{if(a&&s==="OutlineTree"){console.log("visible, panelName",a,s);const l=n.engine.getActiveNode();l&&this.toSelectTreeNode(l)}});const i=n.engine.getActiveNode();i&&this.toSelectTreeNode(i),await this.props.pluginCtx.pluginManager.onPluginReadyOk("Designer"),this.registerDragEvent(),this.props.pluginCtx.engine.pageModel.emitter.on("onReloadPage",()=>{this.registerDragEvent()})}render(){const{treeData:n,dragState:r,dropPosInfo:o}=this.state,{pluginCtx:i}=this.props;return w.jsx(JL.Provider,{value:{sensor:this.sensor,state:this.state,getDesignerHandler:this.getDesignerHandler,onSelectNode:async({keys:a})=>{const s=await i.pluginManager.get("Designer");if(!s)return console.warn("Designer is empty"),!1;const l=(a==null?void 0:a[0])||"";return i.pageModel.getNode(l)?await s.export.selectNode(l):!1},updateState:a=>{this.setState(a)},onDeleteNode:async a=>{const s=await i.pluginManager.get("Designer");if(!s)return console.warn("Designer is empty"),!1;const l=s.export,c=a;if(!i.pageModel.getNode(c))return W.message.error("该节点不能删除"),!1;const d=await l.deleteNode(a);return d||W.message.error("该节点不能删除"),d},onCopyNode:async a=>{const s=await i.pluginManager.get("Designer");return s?await s.export.copyNode(a):(console.warn("Designer is empty"),!1)}},children:w.jsxs("div",{className:mn.contentBox,ref:this.domRef,children:[n.map((a,s)=>w.jsx(QL,{item:a,pluginCtx:this.props.pluginCtx},a.key+`${s}`)),r===Ra.DRAGGING&&o&&w.jsx("div",{className:mn.dropAnchorLine,style:{left:`${o.x}px`,top:`${o.y}px`}})]})})}}const jle={pluginName:"大纲树"},Ile={pluginName:"Layout Tree"},Sk={zh_CN:jle,en_US:Ile},Cl="OutlineTree",Ap=`plugin:${Cl}`,kc={name:Cl,PLUGIN_NAME:Cl,async init(e){const{i18n:t}=e;Object.keys(Sk).forEach(i=>{t.addResourceBundle(i,Ap,Sk[i],!0,!0)});const n=Za(Ap)(Ple),r=Za(Ap)(({t:i})=>w.jsx(w.Fragment,{children:i("pluginName")}));e.getWorkbench().addLeftPanel({title:w.jsx(r,{}),name:Cl,icon:w.jsx(CM,{}),render:w.jsx(n,{pluginCtx:e})}),e.pluginReadyOk()},async destroy(e){console.log("destroy",e)},export:()=>({}),meta:{engine:{version:"1.0.0"}}};kc.PLUGIN_NAME=Cl;function Ft(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n<e.length;n++)(r=Ft(e[n]))!==""&&(t+=(t&&" ")+r);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var Lle={value:()=>{}};function Ff(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new ad(n)}function ad(e){this._=e}function $le(e,t){return e.trim().split(/^|\s+/).map(function(n){var r="",o=n.indexOf(".");if(o>=0&&(r=n.slice(o+1),n=n.slice(0,o)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}ad.prototype=Ff.prototype={constructor:ad,on:function(e,t){var n=this._,r=$le(e+"",n),o,i=-1,a=r.length;if(arguments.length<2){for(;++i<a;)if((o=(e=r[i]).type)&&(o=Dle(n[o],e.name)))return o;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++i<a;)if(o=(e=r[i]).type)n[o]=Ck(n[o],e.name,t);else if(t==null)for(o in n)n[o]=Ck(n[o],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new ad(e)},call:function(e,t){if((o=arguments.length-2)>0)for(var n=new Array(o),r=0,o,i;r<o;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(i=this._[e],r=0,o=i.length;r<o;++r)i[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var r=this._[e],o=0,i=r.length;o<i;++o)r[o].value.apply(t,n)}};function Dle(e,t){for(var n=0,r=e.length,o;n<r;++n)if((o=e[n]).name===t)return o.value}function Ck(e,t,n){for(var r=0,o=e.length;r<o;++r)if(e[r].name===t){e[r]=Lle,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var Eb="http://www.w3.org/1999/xhtml";const _k={svg:"http://www.w3.org/2000/svg",xhtml:Eb,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Bf(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),_k.hasOwnProperty(t)?{space:_k[t],local:e}:e}function zle(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===Eb&&t.documentElement.namespaceURI===Eb?t.createElement(e):t.createElementNS(n,e)}}function Fle(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function ZL(e){var t=Bf(e);return(t.local?Fle:zle)(t)}function Ble(){}function Ww(e){return e==null?Ble:function(){return this.querySelector(e)}}function Vle(e){typeof e!="function"&&(e=Ww(e));for(var t=this._groups,n=t.length,r=new Array(n),o=0;o<n;++o)for(var i=t[o],a=i.length,s=r[o]=new Array(a),l,c,u=0;u<a;++u)(l=i[u])&&(c=e.call(l,l.__data__,u,i))&&("__data__"in l&&(c.__data__=l.__data__),s[u]=c);return new Vn(r,this._parents)}function Hle(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function qle(){return[]}function e$(e){return e==null?qle:function(){return this.querySelectorAll(e)}}function Ule(e){return function(){return Hle(e.apply(this,arguments))}}function Gle(e){typeof e=="function"?e=Ule(e):e=e$(e);for(var t=this._groups,n=t.length,r=[],o=[],i=0;i<n;++i)for(var a=t[i],s=a.length,l,c=0;c<s;++c)(l=a[c])&&(r.push(e.call(l,l.__data__,c,a)),o.push(l));return new Vn(r,o)}function t$(e){return function(){return this.matches(e)}}function n$(e){return function(t){return t.matches(e)}}var Wle=Array.prototype.find;function Kle(e){return function(){return Wle.call(this.children,e)}}function Xle(){return this.firstElementChild}function Yle(e){return this.select(e==null?Xle:Kle(typeof e=="function"?e:n$(e)))}var Jle=Array.prototype.filter;function Qle(){return Array.from(this.children)}function Zle(e){return function(){return Jle.call(this.children,e)}}function ece(e){return this.selectAll(e==null?Qle:Zle(typeof e=="function"?e:n$(e)))}function tce(e){typeof e!="function"&&(e=t$(e));for(var t=this._groups,n=t.length,r=new Array(n),o=0;o<n;++o)for(var i=t[o],a=i.length,s=r[o]=[],l,c=0;c<a;++c)(l=i[c])&&e.call(l,l.__data__,c,i)&&s.push(l);return new Vn(r,this._parents)}function r$(e){return new Array(e.length)}function nce(){return new Vn(this._enter||this._groups.map(r$),this._parents)}function zd(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}zd.prototype={constructor:zd,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function rce(e){return function(){return e}}function oce(e,t,n,r,o,i){for(var a=0,s,l=t.length,c=i.length;a<c;++a)(s=t[a])?(s.__data__=i[a],r[a]=s):n[a]=new zd(e,i[a]);for(;a<l;++a)(s=t[a])&&(o[a]=s)}function ice(e,t,n,r,o,i,a){var s,l,c=new Map,u=t.length,d=i.length,f=new Array(u),h;for(s=0;s<u;++s)(l=t[s])&&(f[s]=h=a.call(l,l.__data__,s,t)+"",c.has(h)?o[s]=l:c.set(h,l));for(s=0;s<d;++s)h=a.call(e,i[s],s,i)+"",(l=c.get(h))?(r[s]=l,l.__data__=i[s],c.delete(h)):n[s]=new zd(e,i[s]);for(s=0;s<u;++s)(l=t[s])&&c.get(f[s])===l&&(o[s]=l)}function ace(e){return e.__data__}function sce(e,t){if(!arguments.length)return Array.from(this,ace);var n=t?ice:oce,r=this._parents,o=this._groups;typeof e!="function"&&(e=rce(e));for(var i=o.length,a=new Array(i),s=new Array(i),l=new Array(i),c=0;c<i;++c){var u=r[c],d=o[c],f=d.length,h=lce(e.call(u,u&&u.__data__,c,r)),p=h.length,m=s[c]=new Array(p),g=a[c]=new Array(p),y=l[c]=new Array(f);n(u,d,m,g,y,h,t);for(var b=0,S=0,x,C;b<p;++b)if(x=m[b]){for(b>=S&&(S=b+1);!(C=g[S])&&++S<p;);x._next=C||null}}return a=new Vn(a,r),a._enter=s,a._exit=l,a}function lce(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function cce(){return new Vn(this._exit||this._groups.map(r$),this._parents)}function uce(e,t,n){var r=this.enter(),o=this,i=this.exit();return typeof e=="function"?(r=e(r),r&&(r=r.selection())):r=r.append(e+""),t!=null&&(o=t(o),o&&(o=o.selection())),n==null?i.remove():n(i),r&&o?r.merge(o).order():o}function dce(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,o=n.length,i=r.length,a=Math.min(o,i),s=new Array(o),l=0;l<a;++l)for(var c=n[l],u=r[l],d=c.length,f=s[l]=new Array(d),h,p=0;p<d;++p)(h=c[p]||u[p])&&(f[p]=h);for(;l<o;++l)s[l]=n[l];return new Vn(s,this._parents)}function fce(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],o=r.length-1,i=r[o],a;--o>=0;)(a=r[o])&&(i&&a.compareDocumentPosition(i)^4&&i.parentNode.insertBefore(a,i),i=a);return this}function hce(e){e||(e=pce);function t(d,f){return d&&f?e(d.__data__,f.__data__):!d-!f}for(var n=this._groups,r=n.length,o=new Array(r),i=0;i<r;++i){for(var a=n[i],s=a.length,l=o[i]=new Array(s),c,u=0;u<s;++u)(c=a[u])&&(l[u]=c);l.sort(t)}return new Vn(o,this._parents).order()}function pce(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function gce(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function mce(){return Array.from(this)}function vce(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],o=0,i=r.length;o<i;++o){var a=r[o];if(a)return a}return null}function yce(){let e=0;for(const t of this)++e;return e}function bce(){return!this.node()}function xce(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var o=t[n],i=0,a=o.length,s;i<a;++i)(s=o[i])&&e.call(s,s.__data__,i,o);return this}function wce(e){return function(){this.removeAttribute(e)}}function Sce(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Cce(e,t){return function(){this.setAttribute(e,t)}}function _ce(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function Ece(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function kce(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function Oce(e,t){var n=Bf(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?Sce:wce:typeof t=="function"?n.local?kce:Ece:n.local?_ce:Cce)(n,t))}function o$(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Nce(e){return function(){this.style.removeProperty(e)}}function Rce(e,t,n){return function(){this.style.setProperty(e,t,n)}}function Tce(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function Ace(e,t,n){return arguments.length>1?this.each((t==null?Nce:typeof t=="function"?Tce:Rce)(e,t,n??"")):es(this.node(),e)}function es(e,t){return e.style.getPropertyValue(t)||o$(e).getComputedStyle(e,null).getPropertyValue(t)}function Mce(e){return function(){delete this[e]}}function Pce(e,t){return function(){this[e]=t}}function jce(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function Ice(e,t){return arguments.length>1?this.each((t==null?Mce:typeof t=="function"?jce:Pce)(e,t)):this.node()[e]}function i$(e){return e.trim().split(/^|\s+/)}function Kw(e){return e.classList||new a$(e)}function a$(e){this._node=e,this._names=i$(e.getAttribute("class")||"")}a$.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function s$(e,t){for(var n=Kw(e),r=-1,o=t.length;++r<o;)n.add(t[r])}function l$(e,t){for(var n=Kw(e),r=-1,o=t.length;++r<o;)n.remove(t[r])}function Lce(e){return function(){s$(this,e)}}function $ce(e){return function(){l$(this,e)}}function Dce(e,t){return function(){(t.apply(this,arguments)?s$:l$)(this,e)}}function zce(e,t){var n=i$(e+"");if(arguments.length<2){for(var r=Kw(this.node()),o=-1,i=n.length;++o<i;)if(!r.contains(n[o]))return!1;return!0}return this.each((typeof t=="function"?Dce:t?Lce:$ce)(n,t))}function Fce(){this.textContent=""}function Bce(e){return function(){this.textContent=e}}function Vce(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function Hce(e){return arguments.length?this.each(e==null?Fce:(typeof e=="function"?Vce:Bce)(e)):this.node().textContent}function qce(){this.innerHTML=""}function Uce(e){return function(){this.innerHTML=e}}function Gce(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function Wce(e){return arguments.length?this.each(e==null?qce:(typeof e=="function"?Gce:Uce)(e)):this.node().innerHTML}function Kce(){this.nextSibling&&this.parentNode.appendChild(this)}function Xce(){return this.each(Kce)}function Yce(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Jce(){return this.each(Yce)}function Qce(e){var t=typeof e=="function"?e:ZL(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function Zce(){return null}function eue(e,t){var n=typeof e=="function"?e:ZL(e),r=t==null?Zce:typeof t=="function"?t:Ww(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function tue(){var e=this.parentNode;e&&e.removeChild(this)}function nue(){return this.each(tue)}function rue(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function oue(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function iue(e){return this.select(e?oue:rue)}function aue(e){return arguments.length?this.property("__data__",e):this.node().__data__}function sue(e){return function(t){e.call(this,t,this.__data__)}}function lue(e){return e.trim().split(/^|\s+/).map(function(t){var n="",r=t.indexOf(".");return r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function cue(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,o=t.length,i;n<o;++n)i=t[n],(!e.type||i.type===e.type)&&i.name===e.name?this.removeEventListener(i.type,i.listener,i.options):t[++r]=i;++r?t.length=r:delete this.__on}}}function uue(e,t,n){return function(){var r=this.__on,o,i=sue(t);if(r){for(var a=0,s=r.length;a<s;++a)if((o=r[a]).type===e.type&&o.name===e.name){this.removeEventListener(o.type,o.listener,o.options),this.addEventListener(o.type,o.listener=i,o.options=n),o.value=t;return}}this.addEventListener(e.type,i,n),o={type:e.type,name:e.name,value:t,listener:i,options:n},r?r.push(o):this.__on=[o]}}function due(e,t,n){var r=lue(e+""),o,i=r.length,a;if(arguments.length<2){var s=this.node().__on;if(s){for(var l=0,c=s.length,u;l<c;++l)for(o=0,u=s[l];o<i;++o)if((a=r[o]).type===u.type&&a.name===u.name)return u.value}return}for(s=t?uue:cue,o=0;o<i;++o)this.each(s(r[o],t,n));return this}function c$(e,t,n){var r=o$(e),o=r.CustomEvent;typeof o=="function"?o=new o(t,n):(o=r.document.createEvent("Event"),n?(o.initEvent(t,n.bubbles,n.cancelable),o.detail=n.detail):o.initEvent(t,!1,!1)),e.dispatchEvent(o)}function fue(e,t){return function(){return c$(this,e,t)}}function hue(e,t){return function(){return c$(this,e,t.apply(this,arguments))}}function pue(e,t){return this.each((typeof t=="function"?hue:fue)(e,t))}function*gue(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],o=0,i=r.length,a;o<i;++o)(a=r[o])&&(yield a)}var u$=[null];function Vn(e,t){this._groups=e,this._parents=t}function Oc(){return new Vn([[document.documentElement]],u$)}function mue(){return this}Vn.prototype=Oc.prototype={constructor:Vn,select:Vle,selectAll:Gle,selectChild:Yle,selectChildren:ece,filter:tce,data:sce,enter:nce,exit:cce,join:uce,merge:dce,selection:mue,order:fce,sort:hce,call:gce,nodes:mce,node:vce,size:yce,empty:bce,each:xce,attr:Oce,style:Ace,property:Ice,classed:zce,text:Hce,html:Wce,raise:Xce,lower:Jce,append:Qce,insert:eue,remove:nue,clone:iue,datum:aue,on:due,dispatch:pue,[Symbol.iterator]:gue};function $n(e){return typeof e=="string"?new Vn([[document.querySelector(e)]],[document.documentElement]):new Vn([[e]],u$)}function vue(e){let t;for(;t=e.sourceEvent;)e=t;return e}function hr(e,t){if(e=vue(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var o=t.getBoundingClientRect();return[e.clientX-o.left-t.clientLeft,e.clientY-o.top-t.clientTop]}}return[e.pageX,e.pageY]}const yue={passive:!1},Yl={capture:!0,passive:!1};function Mp(e){e.stopImmediatePropagation()}function za(e){e.preventDefault(),e.stopImmediatePropagation()}function d$(e){var t=e.document.documentElement,n=$n(e).on("dragstart.drag",za,Yl);"onselectstart"in t?n.on("selectstart.drag",za,Yl):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function f$(e,t){var n=e.document.documentElement,r=$n(e).on("dragstart.drag",null);t&&(r.on("click.drag",za,Yl),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const bu=e=>()=>e;function kb(e,{sourceEvent:t,subject:n,target:r,identifier:o,active:i,x:a,y:s,dx:l,dy:c,dispatch:u}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:i,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:u}})}kb.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function bue(e){return!e.ctrlKey&&!e.button}function xue(){return this.parentNode}function wue(e,t){return t??{x:e.x,y:e.y}}function Sue(){return navigator.maxTouchPoints||"ontouchstart"in this}function h$(){var e=bue,t=xue,n=wue,r=Sue,o={},i=Ff("start","drag","end"),a=0,s,l,c,u,d=0;function f(x){x.on("mousedown.drag",h).filter(r).on("touchstart.drag",g).on("touchmove.drag",y,yue).on("touchend.drag touchcancel.drag",b).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(x,C){if(!(u||!e.call(this,x,C))){var E=S(this,t.call(this,x,C),x,C,"mouse");E&&($n(x.view).on("mousemove.drag",p,Yl).on("mouseup.drag",m,Yl),d$(x.view),Mp(x),c=!1,s=x.clientX,l=x.clientY,E("start",x))}}function p(x){if(za(x),!c){var C=x.clientX-s,E=x.clientY-l;c=C*C+E*E>d}o.mouse("drag",x)}function m(x){$n(x.view).on("mousemove.drag mouseup.drag",null),f$(x.view,c),za(x),o.mouse("end",x)}function g(x,C){if(e.call(this,x,C)){var E=x.changedTouches,O=t.call(this,x,C),_=E.length,k,N;for(k=0;k<_;++k)(N=S(this,O,x,C,E[k].identifier,E[k]))&&(Mp(x),N("start",x,E[k]))}}function y(x){var C=x.changedTouches,E=C.length,O,_;for(O=0;O<E;++O)(_=o[C[O].identifier])&&(za(x),_("drag",x,C[O]))}function b(x){var C=x.changedTouches,E=C.length,O,_;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),O=0;O<E;++O)(_=o[C[O].identifier])&&(Mp(x),_("end",x,C[O]))}function S(x,C,E,O,_,k){var N=i.copy(),R=hr(k||E,C),M,L,T;if((T=n.call(x,new kb("beforestart",{sourceEvent:E,target:f,identifier:_,active:a,x:R[0],y:R[1],dx:0,dy:0,dispatch:N}),O))!=null)return M=T.x-R[0]||0,L=T.y-R[1]||0,function P(A,F,q){var B=R,z;switch(A){case"start":o[_]=P,z=a++;break;case"end":delete o[_],--a;case"drag":R=hr(q||F,C),z=a;break}N.call(A,x,new kb(A,{sourceEvent:F,subject:T,target:f,identifier:_,active:z,x:R[0]+M,y:R[1]+L,dx:R[0]-B[0],dy:R[1]-B[1],dispatch:N}),O)}}return f.filter=function(x){return arguments.length?(e=typeof x=="function"?x:bu(!!x),f):e},f.container=function(x){return arguments.length?(t=typeof x=="function"?x:bu(x),f):t},f.subject=function(x){return arguments.length?(n=typeof x=="function"?x:bu(x),f):n},f.touchable=function(x){return arguments.length?(r=typeof x=="function"?x:bu(!!x),f):r},f.on=function(){var x=i.on.apply(i,arguments);return x===i?f:x},f.clickDistance=function(x){return arguments.length?(d=(x=+x)*x,f):Math.sqrt(d)},f}function Xw(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function p$(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Nc(){}var Jl=.7,Fd=1/Jl,Fa="\\s*([+-]?\\d+)\\s*",Ql="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Yr="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Cue=/^#([0-9a-f]{3,8})$/,_ue=new RegExp(`^rgb\\(${Fa},${Fa},${Fa}\\)$`),Eue=new RegExp(`^rgb\\(${Yr},${Yr},${Yr}\\)$`),kue=new RegExp(`^rgba\\(${Fa},${Fa},${Fa},${Ql}\\)$`),Oue=new RegExp(`^rgba\\(${Yr},${Yr},${Yr},${Ql}\\)$`),Nue=new RegExp(`^hsl\\(${Ql},${Yr},${Yr}\\)$`),Rue=new RegExp(`^hsla\\(${Ql},${Yr},${Yr},${Ql}\\)$`),Ek={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Xw(Nc,Zl,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:kk,formatHex:kk,formatHex8:Tue,formatHsl:Aue,formatRgb:Ok,toString:Ok});function kk(){return this.rgb().formatHex()}function Tue(){return this.rgb().formatHex8()}function Aue(){return g$(this).formatHsl()}function Ok(){return this.rgb().formatRgb()}function Zl(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=Cue.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?Nk(t):n===3?new En(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?xu(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?xu(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=_ue.exec(e))?new En(t[1],t[2],t[3],1):(t=Eue.exec(e))?new En(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=kue.exec(e))?xu(t[1],t[2],t[3],t[4]):(t=Oue.exec(e))?xu(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Nue.exec(e))?Ak(t[1],t[2]/100,t[3]/100,1):(t=Rue.exec(e))?Ak(t[1],t[2]/100,t[3]/100,t[4]):Ek.hasOwnProperty(e)?Nk(Ek[e]):e==="transparent"?new En(NaN,NaN,NaN,0):null}function Nk(e){return new En(e>>16&255,e>>8&255,e&255,1)}function xu(e,t,n,r){return r<=0&&(e=t=n=NaN),new En(e,t,n,r)}function Mue(e){return e instanceof Nc||(e=Zl(e)),e?(e=e.rgb(),new En(e.r,e.g,e.b,e.opacity)):new En}function Ob(e,t,n,r){return arguments.length===1?Mue(e):new En(e,t,n,r??1)}function En(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Xw(En,Ob,p$(Nc,{brighter(e){return e=e==null?Fd:Math.pow(Fd,e),new En(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Jl:Math.pow(Jl,e),new En(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new En(bi(this.r),bi(this.g),bi(this.b),Bd(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Rk,formatHex:Rk,formatHex8:Pue,formatRgb:Tk,toString:Tk}));function Rk(){return`#${vi(this.r)}${vi(this.g)}${vi(this.b)}`}function Pue(){return`#${vi(this.r)}${vi(this.g)}${vi(this.b)}${vi((isNaN(this.opacity)?1:this.opacity)*255)}`}function Tk(){const e=Bd(this.opacity);return`${e===1?"rgb(":"rgba("}${bi(this.r)}, ${bi(this.g)}, ${bi(this.b)}${e===1?")":`, ${e})`}`}function Bd(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function bi(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function vi(e){return e=bi(e),(e<16?"0":"")+e.toString(16)}function Ak(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new vr(e,t,n,r)}function g$(e){if(e instanceof vr)return new vr(e.h,e.s,e.l,e.opacity);if(e instanceof Nc||(e=Zl(e)),!e)return new vr;if(e instanceof vr)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,o=Math.min(t,n,r),i=Math.max(t,n,r),a=NaN,s=i-o,l=(i+o)/2;return s?(t===i?a=(n-r)/s+(n<r)*6:n===i?a=(r-t)/s+2:a=(t-n)/s+4,s/=l<.5?i+o:2-i-o,a*=60):s=l>0&&l<1?0:a,new vr(a,s,l,e.opacity)}function jue(e,t,n,r){return arguments.length===1?g$(e):new vr(e,t,n,r??1)}function vr(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Xw(vr,jue,p$(Nc,{brighter(e){return e=e==null?Fd:Math.pow(Fd,e),new vr(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Jl:Math.pow(Jl,e),new vr(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,o=2*n-r;return new En(Pp(e>=240?e-240:e+120,o,r),Pp(e,o,r),Pp(e<120?e+240:e-120,o,r),this.opacity)},clamp(){return new vr(Mk(this.h),wu(this.s),wu(this.l),Bd(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Bd(this.opacity);return`${e===1?"hsl(":"hsla("}${Mk(this.h)}, ${wu(this.s)*100}%, ${wu(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Mk(e){return e=(e||0)%360,e<0?e+360:e}function wu(e){return Math.max(0,Math.min(1,e||0))}function Pp(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const m$=e=>()=>e;function Iue(e,t){return function(n){return e+n*t}}function Lue(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function $ue(e){return(e=+e)==1?v$:function(t,n){return n-t?Lue(t,n,e):m$(isNaN(t)?n:t)}}function v$(e,t){var n=t-e;return n?Iue(e,n):m$(isNaN(e)?t:e)}const Pk=function e(t){var n=$ue(t);function r(o,i){var a=n((o=Ob(o)).r,(i=Ob(i)).r),s=n(o.g,i.g),l=n(o.b,i.b),c=v$(o.opacity,i.opacity);return function(u){return o.r=a(u),o.g=s(u),o.b=l(u),o.opacity=c(u),o+""}}return r.gamma=e,r}(1);function qo(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var Nb=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,jp=new RegExp(Nb.source,"g");function Due(e){return function(){return e}}function zue(e){return function(t){return e(t)+""}}function Fue(e,t){var n=Nb.lastIndex=jp.lastIndex=0,r,o,i,a=-1,s=[],l=[];for(e=e+"",t=t+"";(r=Nb.exec(e))&&(o=jp.exec(t));)(i=o.index)>n&&(i=t.slice(n,i),s[a]?s[a]+=i:s[++a]=i),(r=r[0])===(o=o[0])?s[a]?s[a]+=o:s[++a]=o:(s[++a]=null,l.push({i:a,x:qo(r,o)})),n=jp.lastIndex;return n<t.length&&(i=t.slice(n),s[a]?s[a]+=i:s[++a]=i),s.length<2?l[0]?zue(l[0].x):Due(t):(t=l.length,function(c){for(var u=0,d;u<t;++u)s[(d=l[u]).i]=d.x(c);return s.join("")})}var jk=180/Math.PI,Rb={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function y$(e,t,n,r,o,i){var a,s,l;return(a=Math.sqrt(e*e+t*t))&&(e/=a,t/=a),(l=e*n+t*r)&&(n-=e*l,r-=t*l),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,l/=s),e*r<t*n&&(e=-e,t=-t,l=-l,a=-a),{translateX:o,translateY:i,rotate:Math.atan2(t,e)*jk,skewX:Math.atan(l)*jk,scaleX:a,scaleY:s}}var Su;function Bue(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?Rb:y$(t.a,t.b,t.c,t.d,t.e,t.f)}function Vue(e){return e==null||(Su||(Su=document.createElementNS("http://www.w3.org/2000/svg","g")),Su.setAttribute("transform",e),!(e=Su.transform.baseVal.consolidate()))?Rb:(e=e.matrix,y$(e.a,e.b,e.c,e.d,e.e,e.f))}function b$(e,t,n,r){function o(c){return c.length?c.pop()+" ":""}function i(c,u,d,f,h,p){if(c!==d||u!==f){var m=h.push("translate(",null,t,null,n);p.push({i:m-4,x:qo(c,d)},{i:m-2,x:qo(u,f)})}else(d||f)&&h.push("translate("+d+t+f+n)}function a(c,u,d,f){c!==u?(c-u>180?u+=360:u-c>180&&(c+=360),f.push({i:d.push(o(d)+"rotate(",null,r)-2,x:qo(c,u)})):u&&d.push(o(d)+"rotate("+u+r)}function s(c,u,d,f){c!==u?f.push({i:d.push(o(d)+"skewX(",null,r)-2,x:qo(c,u)}):u&&d.push(o(d)+"skewX("+u+r)}function l(c,u,d,f,h,p){if(c!==d||u!==f){var m=h.push(o(h)+"scale(",null,",",null,")");p.push({i:m-4,x:qo(c,d)},{i:m-2,x:qo(u,f)})}else(d!==1||f!==1)&&h.push(o(h)+"scale("+d+","+f+")")}return function(c,u){var d=[],f=[];return c=e(c),u=e(u),i(c.translateX,c.translateY,u.translateX,u.translateY,d,f),a(c.rotate,u.rotate,d,f),s(c.skewX,u.skewX,d,f),l(c.scaleX,c.scaleY,u.scaleX,u.scaleY,d,f),c=u=null,function(h){for(var p=-1,m=f.length,g;++p<m;)d[(g=f[p]).i]=g.x(h);return d.join("")}}}var Hue=b$(Bue,"px, ","px)","deg)"),que=b$(Vue,", ",")",")"),Uue=1e-12;function Ik(e){return((e=Math.exp(e))+1/e)/2}function Gue(e){return((e=Math.exp(e))-1/e)/2}function Wue(e){return((e=Math.exp(2*e))-1)/(e+1)}const Kue=function e(t,n,r){function o(i,a){var s=i[0],l=i[1],c=i[2],u=a[0],d=a[1],f=a[2],h=u-s,p=d-l,m=h*h+p*p,g,y;if(m<Uue)y=Math.log(f/c)/t,g=function(O){return[s+O*h,l+O*p,c*Math.exp(t*O*y)]};else{var b=Math.sqrt(m),S=(f*f-c*c+r*m)/(2*c*n*b),x=(f*f-c*c-r*m)/(2*f*n*b),C=Math.log(Math.sqrt(S*S+1)-S),E=Math.log(Math.sqrt(x*x+1)-x);y=(E-C)/t,g=function(O){var _=O*y,k=Ik(C),N=c/(n*b)*(k*Wue(t*_+C)-Gue(C));return[s+N*h,l+N*p,c*k/Ik(t*_+C)]}}return g.duration=y*1e3*t/Math.SQRT2,g}return o.rho=function(i){var a=Math.max(.001,+i),s=a*a,l=s*s;return e(a,s,l)},o}(Math.SQRT2,2,4);var ts=0,ol=0,Ws=0,x$=1e3,Vd,il,Hd=0,Ni=0,Vf=0,ec=typeof performance=="object"&&performance.now?performance:Date,w$=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function Yw(){return Ni||(w$(Xue),Ni=ec.now()+Vf)}function Xue(){Ni=0}function qd(){this._call=this._time=this._next=null}qd.prototype=S$.prototype={constructor:qd,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?Yw():+n)+(t==null?0:+t),!this._next&&il!==this&&(il?il._next=this:Vd=this,il=this),this._call=e,this._time=n,Tb()},stop:function(){this._call&&(this._call=null,this._time=1/0,Tb())}};function S$(e,t,n){var r=new qd;return r.restart(e,t,n),r}function Yue(){Yw(),++ts;for(var e=Vd,t;e;)(t=Ni-e._time)>=0&&e._call.call(void 0,t),e=e._next;--ts}function Lk(){Ni=(Hd=ec.now())+Vf,ts=ol=0;try{Yue()}finally{ts=0,Que(),Ni=0}}function Jue(){var e=ec.now(),t=e-Hd;t>x$&&(Vf-=t,Hd=e)}function Que(){for(var e,t=Vd,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:Vd=n);il=e,Tb(r)}function Tb(e){if(!ts){ol&&(ol=clearTimeout(ol));var t=e-Ni;t>24?(e<1/0&&(ol=setTimeout(Lk,e-ec.now()-Vf)),Ws&&(Ws=clearInterval(Ws))):(Ws||(Hd=ec.now(),Ws=setInterval(Jue,x$)),ts=1,w$(Lk))}}function $k(e,t,n){var r=new qd;return t=t==null?0:+t,r.restart(o=>{r.stop(),e(o+t)},t,n),r}var Zue=Ff("start","end","cancel","interrupt"),ede=[],C$=0,Dk=1,Ab=2,sd=3,zk=4,Mb=5,ld=6;function Hf(e,t,n,r,o,i){var a=e.__transition;if(!a)e.__transition={};else if(n in a)return;tde(e,n,{name:t,index:r,group:o,on:Zue,tween:ede,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:C$})}function Jw(e,t){var n=Ir(e,t);if(n.state>C$)throw new Error("too late; already scheduled");return n}function oo(e,t){var n=Ir(e,t);if(n.state>sd)throw new Error("too late; already running");return n}function Ir(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function tde(e,t,n){var r=e.__transition,o;r[t]=n,n.timer=S$(i,0,n.time);function i(c){n.state=Dk,n.timer.restart(a,n.delay,n.time),n.delay<=c&&a(c-n.delay)}function a(c){var u,d,f,h;if(n.state!==Dk)return l();for(u in r)if(h=r[u],h.name===n.name){if(h.state===sd)return $k(a);h.state===zk?(h.state=ld,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete r[u]):+u<t&&(h.state=ld,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete r[u])}if($k(function(){n.state===sd&&(n.state=zk,n.timer.restart(s,n.delay,n.time),s(c))}),n.state=Ab,n.on.call("start",e,e.__data__,n.index,n.group),n.state===Ab){for(n.state=sd,o=new Array(f=n.tween.length),u=0,d=-1;u<f;++u)(h=n.tween[u].value.call(e,e.__data__,n.index,n.group))&&(o[++d]=h);o.length=d+1}}function s(c){for(var u=c<n.duration?n.ease.call(null,c/n.duration):(n.timer.restart(l),n.state=Mb,1),d=-1,f=o.length;++d<f;)o[d].call(e,u);n.state===Mb&&(n.on.call("end",e,e.__data__,n.index,n.group),l())}function l(){n.state=ld,n.timer.stop(),delete r[t];for(var c in r)return;delete e.__transition}}function cd(e,t){var n=e.__transition,r,o,i=!0,a;if(n){t=t==null?null:t+"";for(a in n){if((r=n[a]).name!==t){i=!1;continue}o=r.state>Ab&&r.state<Mb,r.state=ld,r.timer.stop(),r.on.call(o?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete n[a]}i&&delete e.__transition}}function nde(e){return this.each(function(){cd(this,e)})}function rde(e,t){var n,r;return function(){var o=oo(this,e),i=o.tween;if(i!==n){r=n=i;for(var a=0,s=r.length;a<s;++a)if(r[a].name===t){r=r.slice(),r.splice(a,1);break}}o.tween=r}}function ode(e,t,n){var r,o;if(typeof n!="function")throw new Error;return function(){var i=oo(this,e),a=i.tween;if(a!==r){o=(r=a).slice();for(var s={name:t,value:n},l=0,c=o.length;l<c;++l)if(o[l].name===t){o[l]=s;break}l===c&&o.push(s)}i.tween=o}}function ide(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r=Ir(this.node(),n).tween,o=0,i=r.length,a;o<i;++o)if((a=r[o]).name===e)return a.value;return null}return this.each((t==null?rde:ode)(n,e,t))}function Qw(e,t,n){var r=e._id;return e.each(function(){var o=oo(this,r);(o.value||(o.value={}))[t]=n.apply(this,arguments)}),function(o){return Ir(o,r).value[t]}}function _$(e,t){var n;return(typeof t=="number"?qo:t instanceof Zl?Pk:(n=Zl(t))?(t=n,Pk):Fue)(e,t)}function ade(e){return function(){this.removeAttribute(e)}}function sde(e){return function(){this.removeAttributeNS(e.space,e.local)}}function lde(e,t,n){var r,o=n+"",i;return function(){var a=this.getAttribute(e);return a===o?null:a===r?i:i=t(r=a,n)}}function cde(e,t,n){var r,o=n+"",i;return function(){var a=this.getAttributeNS(e.space,e.local);return a===o?null:a===r?i:i=t(r=a,n)}}function ude(e,t,n){var r,o,i;return function(){var a,s=n(this),l;return s==null?void this.removeAttribute(e):(a=this.getAttribute(e),l=s+"",a===l?null:a===r&&l===o?i:(o=l,i=t(r=a,s)))}}function dde(e,t,n){var r,o,i;return function(){var a,s=n(this),l;return s==null?void this.removeAttributeNS(e.space,e.local):(a=this.getAttributeNS(e.space,e.local),l=s+"",a===l?null:a===r&&l===o?i:(o=l,i=t(r=a,s)))}}function fde(e,t){var n=Bf(e),r=n==="transform"?que:_$;return this.attrTween(e,typeof t=="function"?(n.local?dde:ude)(n,r,Qw(this,"attr."+e,t)):t==null?(n.local?sde:ade)(n):(n.local?cde:lde)(n,r,t))}function hde(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function pde(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function gde(e,t){var n,r;function o(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&pde(e,i)),n}return o._value=t,o}function mde(e,t){var n,r;function o(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&hde(e,i)),n}return o._value=t,o}function vde(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;var r=Bf(e);return this.tween(n,(r.local?gde:mde)(r,t))}function yde(e,t){return function(){Jw(this,e).delay=+t.apply(this,arguments)}}function bde(e,t){return t=+t,function(){Jw(this,e).delay=t}}function xde(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?yde:bde)(t,e)):Ir(this.node(),t).delay}function wde(e,t){return function(){oo(this,e).duration=+t.apply(this,arguments)}}function Sde(e,t){return t=+t,function(){oo(this,e).duration=t}}function Cde(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?wde:Sde)(t,e)):Ir(this.node(),t).duration}function _de(e,t){if(typeof t!="function")throw new Error;return function(){oo(this,e).ease=t}}function Ede(e){var t=this._id;return arguments.length?this.each(_de(t,e)):Ir(this.node(),t).ease}function kde(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;oo(this,e).ease=n}}function Ode(e){if(typeof e!="function")throw new Error;return this.each(kde(this._id,e))}function Nde(e){typeof e!="function"&&(e=t$(e));for(var t=this._groups,n=t.length,r=new Array(n),o=0;o<n;++o)for(var i=t[o],a=i.length,s=r[o]=[],l,c=0;c<a;++c)(l=i[c])&&e.call(l,l.__data__,c,i)&&s.push(l);return new So(r,this._parents,this._name,this._id)}function Rde(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,r=t.length,o=n.length,i=Math.min(r,o),a=new Array(r),s=0;s<i;++s)for(var l=t[s],c=n[s],u=l.length,d=a[s]=new Array(u),f,h=0;h<u;++h)(f=l[h]||c[h])&&(d[h]=f);for(;s<r;++s)a[s]=t[s];return new So(a,this._parents,this._name,this._id)}function Tde(e){return(e+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||t==="start"})}function Ade(e,t,n){var r,o,i=Tde(t)?Jw:oo;return function(){var a=i(this,e),s=a.on;s!==r&&(o=(r=s).copy()).on(t,n),a.on=o}}function Mde(e,t){var n=this._id;return arguments.length<2?Ir(this.node(),n).on.on(e):this.each(Ade(n,e,t))}function Pde(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function jde(){return this.on("end.remove",Pde(this._id))}function Ide(e){var t=this._name,n=this._id;typeof e!="function"&&(e=Ww(e));for(var r=this._groups,o=r.length,i=new Array(o),a=0;a<o;++a)for(var s=r[a],l=s.length,c=i[a]=new Array(l),u,d,f=0;f<l;++f)(u=s[f])&&(d=e.call(u,u.__data__,f,s))&&("__data__"in u&&(d.__data__=u.__data__),c[f]=d,Hf(c[f],t,n,f,c,Ir(u,n)));return new So(i,this._parents,t,n)}function Lde(e){var t=this._name,n=this._id;typeof e!="function"&&(e=e$(e));for(var r=this._groups,o=r.length,i=[],a=[],s=0;s<o;++s)for(var l=r[s],c=l.length,u,d=0;d<c;++d)if(u=l[d]){for(var f=e.call(u,u.__data__,d,l),h,p=Ir(u,n),m=0,g=f.length;m<g;++m)(h=f[m])&&Hf(h,t,n,m,f,p);i.push(f),a.push(u)}return new So(i,a,t,n)}var $de=Oc.prototype.constructor;function Dde(){return new $de(this._groups,this._parents)}function zde(e,t){var n,r,o;return function(){var i=es(this,e),a=(this.style.removeProperty(e),es(this,e));return i===a?null:i===n&&a===r?o:o=t(n=i,r=a)}}function E$(e){return function(){this.style.removeProperty(e)}}function Fde(e,t,n){var r,o=n+"",i;return function(){var a=es(this,e);return a===o?null:a===r?i:i=t(r=a,n)}}function Bde(e,t,n){var r,o,i;return function(){var a=es(this,e),s=n(this),l=s+"";return s==null&&(l=s=(this.style.removeProperty(e),es(this,e))),a===l?null:a===r&&l===o?i:(o=l,i=t(r=a,s))}}function Vde(e,t){var n,r,o,i="style."+t,a="end."+i,s;return function(){var l=oo(this,e),c=l.on,u=l.value[i]==null?s||(s=E$(t)):void 0;(c!==n||o!==u)&&(r=(n=c).copy()).on(a,o=u),l.on=r}}function Hde(e,t,n){var r=(e+="")=="transform"?Hue:_$;return t==null?this.styleTween(e,zde(e,r)).on("end.style."+e,E$(e)):typeof t=="function"?this.styleTween(e,Bde(e,r,Qw(this,"style."+e,t))).each(Vde(this._id,e)):this.styleTween(e,Fde(e,r,t),n).on("end.style."+e,null)}function qde(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function Ude(e,t,n){var r,o;function i(){var a=t.apply(this,arguments);return a!==o&&(r=(o=a)&&qde(e,a,n)),r}return i._value=t,i}function Gde(e,t,n){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!="function")throw new Error;return this.tween(r,Ude(e,t,n??""))}function Wde(e){return function(){this.textContent=e}}function Kde(e){return function(){var t=e(this);this.textContent=t??""}}function Xde(e){return this.tween("text",typeof e=="function"?Kde(Qw(this,"text",e)):Wde(e==null?"":e+""))}function Yde(e){return function(t){this.textContent=e.call(this,t)}}function Jde(e){var t,n;function r(){var o=e.apply(this,arguments);return o!==n&&(t=(n=o)&&Yde(o)),t}return r._value=e,r}function Qde(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,Jde(e))}function Zde(){for(var e=this._name,t=this._id,n=k$(),r=this._groups,o=r.length,i=0;i<o;++i)for(var a=r[i],s=a.length,l,c=0;c<s;++c)if(l=a[c]){var u=Ir(l,t);Hf(l,e,n,c,a,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new So(r,this._parents,e,n)}function efe(){var e,t,n=this,r=n._id,o=n.size();return new Promise(function(i,a){var s={value:a},l={value:function(){--o===0&&i()}};n.each(function(){var c=oo(this,r),u=c.on;u!==e&&(t=(e=u).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(l)),c.on=t}),o===0&&i()})}var tfe=0;function So(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function k$(){return++tfe}var fo=Oc.prototype;So.prototype={constructor:So,select:Ide,selectAll:Lde,selectChild:fo.selectChild,selectChildren:fo.selectChildren,filter:Nde,merge:Rde,selection:Dde,transition:Zde,call:fo.call,nodes:fo.nodes,node:fo.node,size:fo.size,empty:fo.empty,each:fo.each,on:Mde,attr:fde,attrTween:vde,style:Hde,styleTween:Gde,text:Xde,textTween:Qde,remove:jde,tween:ide,delay:xde,duration:Cde,ease:Ede,easeVarying:Ode,end:efe,[Symbol.iterator]:fo[Symbol.iterator]};function nfe(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var rfe={time:null,delay:0,duration:250,ease:nfe};function ofe(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function ife(e){var t,n;e instanceof So?(t=e._id,e=e._name):(t=k$(),(n=rfe).time=Yw(),e=e==null?null:e+"");for(var r=this._groups,o=r.length,i=0;i<o;++i)for(var a=r[i],s=a.length,l,c=0;c<s;++c)(l=a[c])&&Hf(l,e,t,c,a,n||ofe(l,t));return new So(r,this._parents,e,t)}Oc.prototype.interrupt=nde;Oc.prototype.transition=ife;const Cu=e=>()=>e;function afe(e,{sourceEvent:t,target:n,transform:r,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:o}})}function bo(e,t,n){this.k=e,this.x=t,this.y=n}bo.prototype={constructor:bo,scale:function(e){return e===1?this:new bo(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new bo(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var qf=new bo(1,0,0);O$.prototype=bo.prototype;function O$(e){for(;!e.__zoom;)if(!(e=e.parentNode))return qf;return e.__zoom}function Ip(e){e.stopImmediatePropagation()}function Ks(e){e.preventDefault(),e.stopImmediatePropagation()}function sfe(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function lfe(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function Fk(){return this.__zoom||qf}function cfe(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function ufe(){return navigator.maxTouchPoints||"ontouchstart"in this}function dfe(e,t,n){var r=e.invertX(t[0][0])-n[0][0],o=e.invertX(t[1][0])-n[1][0],i=e.invertY(t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e.translate(o>r?(r+o)/2:Math.min(0,r)||Math.max(0,o),a>i?(i+a)/2:Math.min(0,i)||Math.max(0,a))}function N$(){var e=sfe,t=lfe,n=dfe,r=cfe,o=ufe,i=[0,1/0],a=[[-1/0,-1/0],[1/0,1/0]],s=250,l=Kue,c=Ff("start","zoom","end"),u,d,f,h=500,p=150,m=0,g=10;function y(T){T.property("__zoom",Fk).on("wheel.zoom",_,{passive:!1}).on("mousedown.zoom",k).on("dblclick.zoom",N).filter(o).on("touchstart.zoom",R).on("touchmove.zoom",M).on("touchend.zoom touchcancel.zoom",L).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}y.transform=function(T,P,A,F){var q=T.selection?T.selection():T;q.property("__zoom",Fk),T!==q?C(T,P,A,F):q.interrupt().each(function(){E(this,arguments).event(F).start().zoom(null,typeof P=="function"?P.apply(this,arguments):P).end()})},y.scaleBy=function(T,P,A,F){y.scaleTo(T,function(){var q=this.__zoom.k,B=typeof P=="function"?P.apply(this,arguments):P;return q*B},A,F)},y.scaleTo=function(T,P,A,F){y.transform(T,function(){var q=t.apply(this,arguments),B=this.__zoom,z=A==null?x(q):typeof A=="function"?A.apply(this,arguments):A,I=B.invert(z),V=typeof P=="function"?P.apply(this,arguments):P;return n(S(b(B,V),z,I),q,a)},A,F)},y.translateBy=function(T,P,A,F){y.transform(T,function(){return n(this.__zoom.translate(typeof P=="function"?P.apply(this,arguments):P,typeof A=="function"?A.apply(this,arguments):A),t.apply(this,arguments),a)},null,F)},y.translateTo=function(T,P,A,F,q){y.transform(T,function(){var B=t.apply(this,arguments),z=this.__zoom,I=F==null?x(B):typeof F=="function"?F.apply(this,arguments):F;return n(qf.translate(I[0],I[1]).scale(z.k).translate(typeof P=="function"?-P.apply(this,arguments):-P,typeof A=="function"?-A.apply(this,arguments):-A),B,a)},F,q)};function b(T,P){return P=Math.max(i[0],Math.min(i[1],P)),P===T.k?T:new bo(P,T.x,T.y)}function S(T,P,A){var F=P[0]-A[0]*T.k,q=P[1]-A[1]*T.k;return F===T.x&&q===T.y?T:new bo(T.k,F,q)}function x(T){return[(+T[0][0]+ +T[1][0])/2,(+T[0][1]+ +T[1][1])/2]}function C(T,P,A,F){T.on("start.zoom",function(){E(this,arguments).event(F).start()}).on("interrupt.zoom end.zoom",function(){E(this,arguments).event(F).end()}).tween("zoom",function(){var q=this,B=arguments,z=E(q,B).event(F),I=t.apply(q,B),V=A==null?x(I):typeof A=="function"?A.apply(q,B):A,j=Math.max(I[1][0]-I[0][0],I[1][1]-I[0][1]),D=q.__zoom,H=typeof P=="function"?P.apply(q,B):P,U=l(D.invert(V).concat(j/D.k),H.invert(V).concat(j/H.k));return function(G){if(G===1)G=H;else{var X=U(G),Q=j/X[2];G=new bo(Q,V[0]-X[0]*Q,V[1]-X[1]*Q)}z.zoom(null,G)}})}function E(T,P,A){return!A&&T.__zooming||new O(T,P)}function O(T,P){this.that=T,this.args=P,this.active=0,this.sourceEvent=null,this.extent=t.apply(T,P),this.taps=0}O.prototype={event:function(T){return T&&(this.sourceEvent=T),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(T,P){return this.mouse&&T!=="mouse"&&(this.mouse[1]=P.invert(this.mouse[0])),this.touch0&&T!=="touch"&&(this.touch0[1]=P.invert(this.touch0[0])),this.touch1&&T!=="touch"&&(this.touch1[1]=P.invert(this.touch1[0])),this.that.__zoom=P,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(T){var P=$n(this.that).datum();c.call(T,this.that,new afe(T,{sourceEvent:this.sourceEvent,target:y,transform:this.that.__zoom,dispatch:c}),P)}};function _(T,...P){if(!e.apply(this,arguments))return;var A=E(this,P).event(T),F=this.__zoom,q=Math.max(i[0],Math.min(i[1],F.k*Math.pow(2,r.apply(this,arguments)))),B=hr(T);if(A.wheel)(A.mouse[0][0]!==B[0]||A.mouse[0][1]!==B[1])&&(A.mouse[1]=F.invert(A.mouse[0]=B)),clearTimeout(A.wheel);else{if(F.k===q)return;A.mouse=[B,F.invert(B)],cd(this),A.start()}Ks(T),A.wheel=setTimeout(z,p),A.zoom("mouse",n(S(b(F,q),A.mouse[0],A.mouse[1]),A.extent,a));function z(){A.wheel=null,A.end()}}function k(T,...P){if(f||!e.apply(this,arguments))return;var A=T.currentTarget,F=E(this,P,!0).event(T),q=$n(T.view).on("mousemove.zoom",V,!0).on("mouseup.zoom",j,!0),B=hr(T,A),z=T.clientX,I=T.clientY;d$(T.view),Ip(T),F.mouse=[B,this.__zoom.invert(B)],cd(this),F.start();function V(D){if(Ks(D),!F.moved){var H=D.clientX-z,U=D.clientY-I;F.moved=H*H+U*U>m}F.event(D).zoom("mouse",n(S(F.that.__zoom,F.mouse[0]=hr(D,A),F.mouse[1]),F.extent,a))}function j(D){q.on("mousemove.zoom mouseup.zoom",null),f$(D.view,F.moved),Ks(D),F.event(D).end()}}function N(T,...P){if(e.apply(this,arguments)){var A=this.__zoom,F=hr(T.changedTouches?T.changedTouches[0]:T,this),q=A.invert(F),B=A.k*(T.shiftKey?.5:2),z=n(S(b(A,B),F,q),t.apply(this,P),a);Ks(T),s>0?$n(this).transition().duration(s).call(C,z,F,T):$n(this).call(y.transform,z,F,T)}}function R(T,...P){if(e.apply(this,arguments)){var A=T.touches,F=A.length,q=E(this,P,T.changedTouches.length===F).event(T),B,z,I,V;for(Ip(T),z=0;z<F;++z)I=A[z],V=hr(I,this),V=[V,this.__zoom.invert(V),I.identifier],q.touch0?!q.touch1&&q.touch0[2]!==V[2]&&(q.touch1=V,q.taps=0):(q.touch0=V,B=!0,q.taps=1+!!u);u&&(u=clearTimeout(u)),B&&(q.taps<2&&(d=V[0],u=setTimeout(function(){u=null},h)),cd(this),q.start())}}function M(T,...P){if(this.__zooming){var A=E(this,P).event(T),F=T.changedTouches,q=F.length,B,z,I,V;for(Ks(T),B=0;B<q;++B)z=F[B],I=hr(z,this),A.touch0&&A.touch0[2]===z.identifier?A.touch0[0]=I:A.touch1&&A.touch1[2]===z.identifier&&(A.touch1[0]=I);if(z=A.that.__zoom,A.touch1){var j=A.touch0[0],D=A.touch0[1],H=A.touch1[0],U=A.touch1[1],G=(G=H[0]-j[0])*G+(G=H[1]-j[1])*G,X=(X=U[0]-D[0])*X+(X=U[1]-D[1])*X;z=b(z,Math.sqrt(G/X)),I=[(j[0]+H[0])/2,(j[1]+H[1])/2],V=[(D[0]+U[0])/2,(D[1]+U[1])/2]}else if(A.touch0)I=A.touch0[0],V=A.touch0[1];else return;A.zoom("touch",n(S(z,I,V),A.extent,a))}}function L(T,...P){if(this.__zooming){var A=E(this,P).event(T),F=T.changedTouches,q=F.length,B,z;for(Ip(T),f&&clearTimeout(f),f=setTimeout(function(){f=null},h),B=0;B<q;++B)z=F[B],A.touch0&&A.touch0[2]===z.identifier?delete A.touch0:A.touch1&&A.touch1[2]===z.identifier&&delete A.touch1;if(A.touch1&&!A.touch0&&(A.touch0=A.touch1,delete A.touch1),A.touch0)A.touch0[1]=this.__zoom.invert(A.touch0[0]);else if(A.end(),A.taps===2&&(z=hr(z,this),Math.hypot(d[0]-z[0],d[1]-z[1])<g)){var I=$n(this).on("dblclick.zoom");I&&I.apply(this,arguments)}}}return y.wheelDelta=function(T){return arguments.length?(r=typeof T=="function"?T:Cu(+T),y):r},y.filter=function(T){return arguments.length?(e=typeof T=="function"?T:Cu(!!T),y):e},y.touchable=function(T){return arguments.length?(o=typeof T=="function"?T:Cu(!!T),y):o},y.extent=function(T){return arguments.length?(t=typeof T=="function"?T:Cu([[+T[0][0],+T[0][1]],[+T[1][0],+T[1][1]]]),y):t},y.scaleExtent=function(T){return arguments.length?(i[0]=+T[0],i[1]=+T[1],y):[i[0],i[1]]},y.translateExtent=function(T){return arguments.length?(a[0][0]=+T[0][0],a[1][0]=+T[1][0],a[0][1]=+T[0][1],a[1][1]=+T[1][1],y):[[a[0][0],a[0][1]],[a[1][0],a[1][1]]]},y.constrain=function(T){return arguments.length?(n=T,y):n},y.duration=function(T){return arguments.length?(s=+T,y):s},y.interpolate=function(T){return arguments.length?(l=T,y):l},y.on=function(){var T=c.on.apply(c,arguments);return T===c?y:T},y.clickDistance=function(T){return arguments.length?(m=(T=+T)*T,y):Math.sqrt(m)},y.tapDistance=function(T){return arguments.length?(g=+T,y):g},y}const Hn={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:r})=>`Couldn't create edge for ${e} handle id: "${e==="source"?n:r}", edge id: ${t}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},tc=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],R$=["Enter"," ","Escape"];var ns;(function(e){e.Strict="strict",e.Loose="loose"})(ns||(ns={}));var xi;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(xi||(xi={}));var nc;(function(e){e.Partial="partial",e.Full="full"})(nc||(nc={}));const T$={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null};var Wo;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(Wo||(Wo={}));var Ud;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Ud||(Ud={}));var be;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(be||(be={}));const Bk={[be.Left]:be.Right,[be.Right]:be.Left,[be.Top]:be.Bottom,[be.Bottom]:be.Top};function A$(e){return e===null?null:e?"valid":"invalid"}const M$=e=>"id"in e&&"source"in e&&"target"in e,ffe=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),Zw=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Rc=(e,t=[0,0])=>{const{width:n,height:r}=Mo(e),o=e.origin??t,i=n*o[0],a=r*o[1];return{x:e.position.x-i,y:e.position.y-a}},hfe=(e,t={nodeOrigin:[0,0],nodeLookup:void 0})=>{if("{}".NODE_ENV==="development"&&!t.nodeLookup&&console.warn("Please use `getNodesBounds` from `useReactFlow`/`useSvelteFlow` hook to ensure correct values for sub flows. If not possible, you have to provide a nodeLookup to support sub flows."),e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((r,o)=>{const i=typeof o=="string";let a=!t.nodeLookup&&!i?o:void 0;t.nodeLookup&&(a=i?t.nodeLookup.get(o):Zw(o)?o:t.nodeLookup.get(o.id));const s=a?Gd(a,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return Uf(r,s)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return Gf(n)},Tc=(e,t={})=>{if(e.size===0)return{x:0,y:0,width:0,height:0};let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0};return e.forEach(r=>{if(t.filter===void 0||t.filter(r)){const o=Gd(r);n=Uf(n,o)}}),Gf(n)},P$=(e,t,[n,r,o]=[0,0,1],i=!1,a=!1)=>{const s={...Ac(t,[n,r,o]),width:t.width/o,height:t.height/o},l=[];for(const c of e.values()){const{measured:u,selectable:d=!0,hidden:f=!1}=c;if(a&&!d||f)continue;const h=u.width??c.width??c.initialWidth??null,p=u.height??c.height??c.initialHeight??null,m=rc(s,os(c)),g=(h??0)*(p??0),y=i&&m>0;(!c.internals.handleBounds||y||m>=g||c.dragging)&&l.push(c)}return l},pfe=(e,t)=>{const n=new Set;return e.forEach(r=>{n.add(r.id)}),t.filter(r=>n.has(r.source)||n.has(r.target))};function Pb(e,t){const n=new Map,r=t!=null&&t.nodes?new Set(t.nodes.map(o=>o.id)):null;return e.forEach(o=>{o.measured.width&&o.measured.height&&((t==null?void 0:t.includeHiddenNodes)||!o.hidden)&&(!r||r.has(o.id))&&n.set(o.id,o)}),n}async function jb({nodes:e,width:t,height:n,panZoom:r,minZoom:o,maxZoom:i},a){if(e.size===0)return Promise.resolve(!1);const s=Tc(e),l=e1(s,t,n,(a==null?void 0:a.minZoom)??o,(a==null?void 0:a.maxZoom)??i,(a==null?void 0:a.padding)??.1);return await r.setViewport(l,{duration:a==null?void 0:a.duration}),Promise.resolve(!0)}function j$({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:o,onError:i}){const a=n.get(e),s=a.parentId?n.get(a.parentId):void 0,{x:l,y:c}=s?s.internals.positionAbsolute:{x:0,y:0},u=a.origin??r;let d=o;if(a.extent==="parent"&&!a.expandParent)if(!s)i==null||i("005",Hn.error005());else{const h=s.measured.width,p=s.measured.height;h&&p&&(d=[[l,c],[l+h,c+p]])}else s&&is(a.extent)&&(d=[[a.extent[0][0]+l,a.extent[0][1]+c],[a.extent[1][0]+l,a.extent[1][1]+c]]);const f=is(d)?Ri(t,d,a.measured):t;return(a.measured.width===void 0||a.measured.height===void 0)&&(i==null||i("015",Hn.error015())),{position:{x:f.x-l+(a.measured.width??0)*u[0],y:f.y-c+(a.measured.height??0)*u[1]},positionAbsolute:f}}async function gfe({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:r,onBeforeDelete:o}){const i=new Set(e.map(f=>f.id)),a=[];for(const f of n){if(f.deletable===!1)continue;const h=i.has(f.id),p=!h&&f.parentId&&a.find(m=>m.id===f.parentId);(h||p)&&a.push(f)}const s=new Set(t.map(f=>f.id)),l=r.filter(f=>f.deletable!==!1),u=pfe(a,l);for(const f of l)s.has(f.id)&&!u.find(p=>p.id===f.id)&&u.push(f);if(!o)return{edges:u,nodes:a};const d=await o({nodes:a,edges:u});return typeof d=="boolean"?d?{edges:u,nodes:a}:{edges:[],nodes:[]}:d}const rs=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),Ri=(e={x:0,y:0},t,n)=>({x:rs(e.x,t[0][0],t[1][0]-((n==null?void 0:n.width)??0)),y:rs(e.y,t[0][1],t[1][1]-((n==null?void 0:n.height)??0))});function I$(e,t,n){const{width:r,height:o}=Mo(n),{x:i,y:a}=n.internals.positionAbsolute;return Ri(e,[[i,a],[i+r,a+o]],t)}const Vk=(e,t,n)=>e<t?rs(Math.abs(e-t),1,t)/t:e>n?-rs(Math.abs(e-n),1,t)/t:0,L$=(e,t,n=15,r=40)=>{const o=Vk(e.x,r,t.width-r)*n,i=Vk(e.y,r,t.height-r)*n;return[o,i]},Uf=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),Ib=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),Gf=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),os=(e,t=[0,0])=>{var o,i;const{x:n,y:r}=Zw(e)?e.internals.positionAbsolute:Rc(e,t);return{x:n,y:r,width:((o=e.measured)==null?void 0:o.width)??e.width??e.initialWidth??0,height:((i=e.measured)==null?void 0:i.height)??e.height??e.initialHeight??0}},Gd=(e,t=[0,0])=>{var o,i;const{x:n,y:r}=Zw(e)?e.internals.positionAbsolute:Rc(e,t);return{x:n,y:r,x2:n+(((o=e.measured)==null?void 0:o.width)??e.width??e.initialWidth??0),y2:r+(((i=e.measured)==null?void 0:i.height)??e.height??e.initialHeight??0)}},$$=(e,t)=>Gf(Uf(Ib(e),Ib(t))),rc=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},Hk=e=>yr(e.width)&&yr(e.height)&&yr(e.x)&&yr(e.y),yr=e=>!isNaN(e)&&isFinite(e),D$=(e,t)=>{"{}".NODE_ENV==="development"&&console.warn(`[React Flow]: ${t} Help: https://reactflow.dev/error#${e}`)},Wf=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),Ac=({x:e,y:t},[n,r,o],i=!1,a=[1,1])=>{const s={x:(e-n)/o,y:(t-r)/o};return i?Wf(s,a):s},z$=({x:e,y:t},[n,r,o])=>({x:e*o+n,y:t*o+r}),e1=(e,t,n,r,o,i)=>{const a=t/(e.width*(1+i)),s=n/(e.height*(1+i)),l=Math.min(a,s),c=rs(l,r,o),u=e.x+e.width/2,d=e.y+e.height/2,f=t/2-u*c,h=n/2-d*c;return{x:f,y:h,zoom:c}},Wd=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function is(e){return e!==void 0&&e!=="parent"}function Mo(e){var t,n;return{width:((t=e.measured)==null?void 0:t.width)??e.width??e.initialWidth??0,height:((n=e.measured)==null?void 0:n.height)??e.height??e.initialHeight??0}}function F$(e){var t,n;return(((t=e.measured)==null?void 0:t.width)??e.width??e.initialWidth)!==void 0&&(((n=e.measured)==null?void 0:n.height)??e.height??e.initialHeight)!==void 0}function B$(e,t={width:0,height:0},n,r,o){const i={...e},a=r.get(n);if(a){const s=a.origin||o;i.x+=a.internals.positionAbsolute.x-(t.width??0)*s[0],i.y+=a.internals.positionAbsolute.y-(t.height??0)*s[1]}return i}function qk(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function _l(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:o}){const{x:i,y:a}=wo(e),s=Ac({x:i-((o==null?void 0:o.left)??0),y:a-((o==null?void 0:o.top)??0)},r),{x:l,y:c}=n?Wf(s,t):s;return{xSnapped:l,ySnapped:c,...s}}const Kf=e=>({width:e.offsetWidth,height:e.offsetHeight}),V$=e=>{var t;return((t=e==null?void 0:e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},mfe=["INPUT","SELECT","TEXTAREA"];function Lb(e){var r,o;const t=((o=(r=e.composedPath)==null?void 0:r.call(e))==null?void 0:o[0])||e.target;return(t==null?void 0:t.nodeType)!==1?!1:mfe.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const H$=e=>"clientX"in e,wo=(e,t)=>{var i,a;const n=H$(e),r=n?e.clientX:(i=e.touches)==null?void 0:i[0].clientX,o=n?e.clientY:(a=e.touches)==null?void 0:a[0].clientY;return{x:r-((t==null?void 0:t.left)??0),y:o-((t==null?void 0:t.top)??0)}},Uk=(e,t,n,r,o)=>{const i=t.querySelectorAll(`.${e}`);return!i||!i.length?null:Array.from(i).map(a=>{const s=a.getBoundingClientRect();return{id:a.getAttribute("data-handleid"),type:e,nodeId:o,position:a.getAttribute("data-handlepos"),x:(s.left-n.left)/r,y:(s.top-n.top)/r,...Kf(a)}})};function q$({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:o,sourceControlY:i,targetControlX:a,targetControlY:s}){const l=e*.125+o*.375+a*.375+n*.125,c=t*.125+i*.375+s*.375+r*.125,u=Math.abs(l-e),d=Math.abs(c-t);return[l,c,u,d]}function _u(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function Gk({pos:e,x1:t,y1:n,x2:r,y2:o,c:i}){switch(e){case be.Left:return[t-_u(t-r,i),n];case be.Right:return[t+_u(r-t,i),n];case be.Top:return[t,n-_u(n-o,i)];case be.Bottom:return[t,n+_u(o-n,i)]}}function U$({sourceX:e,sourceY:t,sourcePosition:n=be.Bottom,targetX:r,targetY:o,targetPosition:i=be.Top,curvature:a=.25}){const[s,l]=Gk({pos:n,x1:e,y1:t,x2:r,y2:o,c:a}),[c,u]=Gk({pos:i,x1:r,y1:o,x2:e,y2:t,c:a}),[d,f,h,p]=q$({sourceX:e,sourceY:t,targetX:r,targetY:o,sourceControlX:s,sourceControlY:l,targetControlX:c,targetControlY:u});return[`M${e},${t} C${s},${l} ${c},${u} ${r},${o}`,d,f,h,p]}function G$({sourceX:e,sourceY:t,targetX:n,targetY:r}){const o=Math.abs(n-e)/2,i=n<e?n+o:n-o,a=Math.abs(r-t)/2,s=r<t?r+a:r-a;return[i,s,o,a]}function vfe({sourceNode:e,targetNode:t,selected:n=!1,zIndex:r=0,elevateOnSelect:o=!1}){if(!o)return r;const i=n||t.selected||e.selected,a=Math.max(e.internals.z||0,t.internals.z||0,1e3);return r+(i?a:0)}function yfe({sourceNode:e,targetNode:t,width:n,height:r,transform:o}){const i=Uf(Gd(e),Gd(t));i.x===i.x2&&(i.x2+=1),i.y===i.y2&&(i.y2+=1);const a={x:-o[0]/o[2],y:-o[1]/o[2],width:n/o[2],height:r/o[2]};return rc(a,Gf(i))>0}const bfe=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||""}-${n}${r||""}`,xfe=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),W$=(e,t)=>{if(!e.source||!e.target)return D$("006",Hn.error006()),t;let n;return M$(e)?n={...e}:n={...e,id:bfe(e)},xfe(n,t)?t:(n.sourceHandle===null&&delete n.sourceHandle,n.targetHandle===null&&delete n.targetHandle,t.concat(n))};function K$({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[o,i,a,s]=G$({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,o,i,a,s]}const Wk={[be.Left]:{x:-1,y:0},[be.Right]:{x:1,y:0},[be.Top]:{x:0,y:-1},[be.Bottom]:{x:0,y:1}},wfe=({source:e,sourcePosition:t=be.Bottom,target:n})=>t===be.Left||t===be.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},Kk=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function Sfe({source:e,sourcePosition:t=be.Bottom,target:n,targetPosition:r=be.Top,center:o,offset:i}){const a=Wk[t],s=Wk[r],l={x:e.x+a.x*i,y:e.y+a.y*i},c={x:n.x+s.x*i,y:n.y+s.y*i},u=wfe({source:l,sourcePosition:t,target:c}),d=u.x!==0?"x":"y",f=u[d];let h=[],p,m;const g={x:0,y:0},y={x:0,y:0},[b,S,x,C]=G$({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(a[d]*s[d]===-1){p=o.x??b,m=o.y??S;const O=[{x:p,y:l.y},{x:p,y:c.y}],_=[{x:l.x,y:m},{x:c.x,y:m}];a[d]===f?h=d==="x"?O:_:h=d==="x"?_:O}else{const O=[{x:l.x,y:c.y}],_=[{x:c.x,y:l.y}];if(d==="x"?h=a.x===f?_:O:h=a.y===f?O:_,t===r){const L=Math.abs(e[d]-n[d]);if(L<=i){const T=Math.min(i-1,i-L);a[d]===f?g[d]=(l[d]>e[d]?-1:1)*T:y[d]=(c[d]>n[d]?-1:1)*T}}if(t!==r){const L=d==="x"?"y":"x",T=a[d]===s[L],P=l[L]>c[L],A=l[L]<c[L];(a[d]===1&&(!T&&P||T&&A)||a[d]!==1&&(!T&&A||T&&P))&&(h=d==="x"?O:_)}const k={x:l.x+g.x,y:l.y+g.y},N={x:c.x+y.x,y:c.y+y.y},R=Math.max(Math.abs(k.x-h[0].x),Math.abs(N.x-h[0].x)),M=Math.max(Math.abs(k.y-h[0].y),Math.abs(N.y-h[0].y));R>=M?(p=(k.x+N.x)/2,m=h[0].y):(p=h[0].x,m=(k.y+N.y)/2)}return[[e,{x:l.x+g.x,y:l.y+g.y},...h,{x:c.x+y.x,y:c.y+y.y},n],p,m,x,C]}function Cfe(e,t,n,r){const o=Math.min(Kk(e,t)/2,Kk(t,n)/2,r),{x:i,y:a}=t;if(e.x===i&&i===n.x||e.y===a&&a===n.y)return`L${i} ${a}`;if(e.y===a){const c=e.x<n.x?-1:1,u=e.y<n.y?1:-1;return`L ${i+o*c},${a}Q ${i},${a} ${i},${a+o*u}`}const s=e.x<n.x?1:-1,l=e.y<n.y?-1:1;return`L ${i},${a+o*l}Q ${i},${a} ${i+o*s},${a}`}function $b({sourceX:e,sourceY:t,sourcePosition:n=be.Bottom,targetX:r,targetY:o,targetPosition:i=be.Top,borderRadius:a=5,centerX:s,centerY:l,offset:c=20}){const[u,d,f,h,p]=Sfe({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:o},targetPosition:i,center:{x:s,y:l},offset:c});return[u.reduce((g,y,b)=>{let S="";return b>0&&b<u.length-1?S=Cfe(u[b-1],y,u[b+1],a):S=`${b===0?"M":"L"}${y.x} ${y.y}`,g+=S,g},""),d,f,h,p]}function Xk(e){var t;return e&&!!(e.internals.handleBounds||(t=e.handles)!=null&&t.length)&&!!(e.measured.width||e.width||e.initialWidth)}function _fe(e){var d;const{sourceNode:t,targetNode:n}=e;if(!Xk(t)||!Xk(n))return null;const r=t.internals.handleBounds||Yk(t.handles),o=n.internals.handleBounds||Yk(n.handles),i=Jk((r==null?void 0:r.source)??[],e.sourceHandle),a=Jk(e.connectionMode===ns.Strict?(o==null?void 0:o.target)??[]:((o==null?void 0:o.target)??[]).concat((o==null?void 0:o.source)??[]),e.targetHandle);if(!i||!a)return(d=e.onError)==null||d.call(e,"008",Hn.error008(i?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const s=(i==null?void 0:i.position)||be.Bottom,l=(a==null?void 0:a.position)||be.Top,c=oc(t,i,s),u=oc(n,a,l);return{sourceX:c.x,sourceY:c.y,targetX:u.x,targetY:u.y,sourcePosition:s,targetPosition:l}}function Yk(e){if(!e)return null;const t=[],n=[];for(const r of e)r.width=r.width??1,r.height=r.height??1,r.type==="source"?t.push(r):r.type==="target"&&n.push(r);return{source:t,target:n}}function oc(e,t,n=be.Left,r=!1){const o=((t==null?void 0:t.x)??0)+e.internals.positionAbsolute.x,i=((t==null?void 0:t.y)??0)+e.internals.positionAbsolute.y,{width:a,height:s}=t??Mo(e);if(r)return{x:o+a/2,y:i+s/2};switch((t==null?void 0:t.position)??n){case be.Top:return{x:o+a/2,y:i};case be.Right:return{x:o+a,y:i+s/2};case be.Bottom:return{x:o+a/2,y:i+s};case be.Left:return{x:o,y:i+s/2}}}function Jk(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}function Db(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`:""}function Efe(e,{id:t,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:o}){const i=new Set;return e.reduce((a,s)=>([s.markerStart||r,s.markerEnd||o].forEach(l=>{if(l&&typeof l=="object"){const c=Db(l,t);i.has(c)||(a.push({id:c,color:l.color||n,...l}),i.add(c))}}),a),[]).sort((a,s)=>a.id.localeCompare(s.id))}const t1={nodeOrigin:[0,0],nodeExtent:tc,elevateNodesOnSelect:!0,defaults:{}},kfe={...t1,checkEquality:!0};function n1(e,t){const n={...e};for(const r in t)t[r]!==void 0&&(n[r]=t[r]);return n}function Ofe(e,t,n){const r=n1(t1,n);for(const o of e.values())if(o.parentId)r1(o,e,t,r);else{const i=Rc(o,r.nodeOrigin),a=is(o.extent)?o.extent:r.nodeExtent,s=Ri(i,a,Mo(o));o.internals.positionAbsolute=s}}function zb(e,t,n,r){var s,l;const o=n1(kfe,r),i=new Map(t),a=o!=null&&o.elevateNodesOnSelect?1e3:0;t.clear(),n.clear();for(const c of e){let u=i.get(c.id);if(o.checkEquality&&c===(u==null?void 0:u.internals.userNode))t.set(c.id,u);else{const d=Rc(c,o.nodeOrigin),f=is(c.extent)?c.extent:o.nodeExtent,h=Ri(d,f,Mo(c));u={...o.defaults,...c,measured:{width:(s=c.measured)==null?void 0:s.width,height:(l=c.measured)==null?void 0:l.height},internals:{positionAbsolute:h,handleBounds:c.measured?u==null?void 0:u.internals.handleBounds:void 0,z:X$(c,a),userNode:c}},t.set(c.id,u)}c.parentId&&r1(u,t,n,r)}}function Nfe(e,t){if(!e.parentId)return;const n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function r1(e,t,n,r){const{elevateNodesOnSelect:o,nodeOrigin:i,nodeExtent:a}=n1(t1,r),s=e.parentId,l=t.get(s);if(!l){console.warn(`Parent node ${s} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}Nfe(e,n);const c=o?1e3:0,{x:u,y:d,z:f}=Rfe(e,l,i,a,c),{positionAbsolute:h}=e.internals,p=u!==h.x||d!==h.y;(p||f!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:p?{x:u,y:d}:h,z:f}})}function X$(e,t){return(yr(e.zIndex)?e.zIndex:0)+(e.selected?t:0)}function Rfe(e,t,n,r,o){const{x:i,y:a}=t.internals.positionAbsolute,s=Mo(e),l=Rc(e,n),c=is(e.extent)?Ri(l,e.extent,s):l;let u=Ri({x:i+c.x,y:a+c.y},r,s);e.extent==="parent"&&(u=I$(u,s,t));const d=X$(e,o),f=t.internals.z??0;return{x:u.x,y:u.y,z:f>d?f:d}}function o1(e,t,n,r=[0,0]){var a;const o=[],i=new Map;for(const s of e){const l=t.get(s.parentId);if(!l)continue;const c=((a=i.get(s.parentId))==null?void 0:a.expandedRect)??os(l),u=$$(c,s.rect);i.set(s.parentId,{expandedRect:u,parent:l})}return i.size>0&&i.forEach(({expandedRect:s,parent:l},c)=>{var S;const u=l.internals.positionAbsolute,d=Mo(l),f=l.origin??r,h=s.x<u.x?Math.round(Math.abs(u.x-s.x)):0,p=s.y<u.y?Math.round(Math.abs(u.y-s.y)):0,m=Math.max(d.width,Math.round(s.width)),g=Math.max(d.height,Math.round(s.height)),y=(m-d.width)*f[0],b=(g-d.height)*f[1];(h>0||p>0||y||b)&&(o.push({id:c,type:"position",position:{x:l.position.x-h+y,y:l.position.y-p+b}}),(S=n.get(c))==null||S.forEach(x=>{e.some(C=>C.id===x.id)||o.push({id:x.id,type:"position",position:{x:x.position.x+h,y:x.position.y+p}})})),(d.width<s.width||d.height<s.height||h||p)&&o.push({id:c,type:"dimensions",setAttributes:!0,dimensions:{width:m+(h?f[0]*h-y:0),height:g+(p?f[1]*p-b:0)}})}),o}function Tfe(e,t,n,r,o,i){const a=r==null?void 0:r.querySelector(".xyflow__viewport");let s=!1;if(!a)return{changes:[],updatedInternals:s};const l=[],c=window.getComputedStyle(a),{m22:u}=new window.DOMMatrixReadOnly(c.transform),d=[];for(const f of e.values()){const h=t.get(f.id);if(!h)continue;if(h.hidden){t.set(h.id,{...h,internals:{...h.internals,handleBounds:void 0}}),s=!0;continue}const p=Kf(f.nodeElement),m=h.measured.width!==p.width||h.measured.height!==p.height;if(!!(p.width&&p.height&&(m||!h.internals.handleBounds||f.force))){const y=f.nodeElement.getBoundingClientRect(),b=is(h.extent)?h.extent:i;let{positionAbsolute:S}=h.internals;h.parentId&&h.extent==="parent"?S=I$(S,p,t.get(h.parentId)):b&&(S=Ri(S,b,p));const x={...h,measured:p,internals:{...h.internals,positionAbsolute:S,handleBounds:{source:Uk("source",f.nodeElement,y,u,h.id),target:Uk("target",f.nodeElement,y,u,h.id)}}};t.set(h.id,x),h.parentId&&r1(x,t,n,{nodeOrigin:o}),s=!0,m&&(l.push({id:h.id,type:"dimensions",dimensions:p}),h.expandParent&&h.parentId&&d.push({id:h.id,parentId:h.parentId,rect:os(x,o)}))}}if(d.length>0){const f=o1(d,t,n,o);l.push(...f)}return{changes:l,updatedInternals:s}}async function Afe({delta:e,panZoom:t,transform:n,translateExtent:r,width:o,height:i}){if(!t||!e.x&&!e.y)return Promise.resolve(!1);const a=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[o,i]],r),s=!!a&&(a.x!==n[0]||a.y!==n[1]||a.k!==n[2]);return Promise.resolve(s)}function Qk(e,t,n,r,o,i){let a=o;const s=r.get(a)||new Map;r.set(a,s.set(n,t)),a=`${o}-${e}`;const l=r.get(a)||new Map;if(r.set(a,l.set(n,t)),i){a=`${o}-${e}-${i}`;const c=r.get(a)||new Map;r.set(a,c.set(n,t))}}function Y$(e,t,n){e.clear(),t.clear();for(const r of n){const{source:o,target:i,sourceHandle:a=null,targetHandle:s=null}=r,l={edgeId:r.id,source:o,target:i,sourceHandle:a,targetHandle:s},c=`${o}-${a}--${i}-${s}`,u=`${i}-${s}--${o}-${a}`;Qk("source",l,u,e,o,a),Qk("target",l,c,e,i,s),t.set(r.id,r)}}function J$(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:J$(n,t):!1}function Zk(e,t,n){var o;let r=e;do{if((o=r==null?void 0:r.matches)!=null&&o.call(r,t))return!0;if(r===n)return!1;r=r==null?void 0:r.parentElement}while(r);return!1}function Mfe(e,t,n,r){const o=new Map;for(const[i,a]of e)if((a.selected||a.id===r)&&(!a.parentId||!J$(a,e))&&(a.draggable||t&&typeof a.draggable>"u")){const s=e.get(i);s&&o.set(i,{id:i,position:s.position||{x:0,y:0},distance:{x:n.x-s.internals.positionAbsolute.x,y:n.y-s.internals.positionAbsolute.y},extent:s.extent,parentId:s.parentId,origin:s.origin,expandParent:s.expandParent,internals:{positionAbsolute:s.internals.positionAbsolute||{x:0,y:0}},measured:{width:s.measured.width??0,height:s.measured.height??0}})}return o}function Lp({nodeId:e,dragItems:t,nodeLookup:n,dragging:r=!0}){var a,s,l;const o=[];for(const[c,u]of t){const d=(a=n.get(c))==null?void 0:a.internals.userNode;d&&o.push({...d,position:u.position,dragging:r})}if(!e)return[o[0],o];const i=(s=n.get(e))==null?void 0:s.internals.userNode;return[i?{...i,position:((l=t.get(e))==null?void 0:l.position)||i.position,dragging:r}:o[0],o]}function Pfe({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:r,onDragStop:o}){let i={x:null,y:null},a=0,s=new Map,l=!1,c={x:0,y:0},u=null,d=!1,f=null,h=!1;function p({noDragClassName:g,handleSelector:y,domNode:b,isSelectable:S,nodeId:x,nodeClickDistance:C=0}){f=$n(b);function E({x:N,y:R},M){const{nodeLookup:L,nodeExtent:T,snapGrid:P,snapToGrid:A,nodeOrigin:F,onNodeDrag:q,onSelectionDrag:B,onError:z,updateNodePositions:I}=t();i={x:N,y:R};let V=!1,j={x:0,y:0,x2:0,y2:0};if(s.size>1&&T){const D=Tc(s);j=Ib(D)}for(const[D,H]of s){if(!L.has(D))continue;let U={x:N-H.distance.x,y:R-H.distance.y};A&&(U=Wf(U,P));let G=[[T[0][0],T[0][1]],[T[1][0],T[1][1]]];if(s.size>1&&T&&!H.extent){const{positionAbsolute:Z}=H.internals,ne=Z.x-j.x+T[0][0],K=Z.x+H.measured.width-j.x2+T[1][0],ie=Z.y-j.y+T[0][1],te=Z.y+H.measured.height-j.y2+T[1][1];G=[[ne,ie],[K,te]]}const{position:X,positionAbsolute:Q}=j$({nodeId:D,nextPosition:U,nodeLookup:L,nodeExtent:G,nodeOrigin:F,onError:z});V=V||H.position.x!==X.x||H.position.y!==X.y,H.position=X,H.internals.positionAbsolute=Q}if(V&&(I(s,!0),M&&(r||q||!x&&B))){const[D,H]=Lp({nodeId:x,dragItems:s,nodeLookup:L});r==null||r(M,s,D,H),q==null||q(M,D,H),x||B==null||B(M,H)}}async function O(){if(!u)return;const{transform:N,panBy:R,autoPanSpeed:M,autoPanOnNodeDrag:L}=t();if(!L){l=!1,cancelAnimationFrame(a);return}const[T,P]=L$(c,u,M);(T!==0||P!==0)&&(i.x=(i.x??0)-T/N[2],i.y=(i.y??0)-P/N[2],await R({x:T,y:P})&&E(i,null)),a=requestAnimationFrame(O)}function _(N){var V;const{nodeLookup:R,multiSelectionActive:M,nodesDraggable:L,transform:T,snapGrid:P,snapToGrid:A,selectNodesOnDrag:F,onNodeDragStart:q,onSelectionDragStart:B,unselectNodesAndEdges:z}=t();d=!0,(!F||!S)&&!M&&x&&((V=R.get(x))!=null&&V.selected||z()),S&&F&&x&&(e==null||e(x));const I=_l(N.sourceEvent,{transform:T,snapGrid:P,snapToGrid:A,containerBounds:u});if(i=I,s=Mfe(R,L,I,x),s.size>0&&(n||q||!x&&B)){const[j,D]=Lp({nodeId:x,dragItems:s,nodeLookup:R});n==null||n(N.sourceEvent,s,j,D),q==null||q(N.sourceEvent,j,D),x||B==null||B(N.sourceEvent,D)}}const k=h$().clickDistance(C).on("start",N=>{const{domNode:R,nodeDragThreshold:M,transform:L,snapGrid:T,snapToGrid:P}=t();u=(R==null?void 0:R.getBoundingClientRect())||null,h=!1,M===0&&_(N),i=_l(N.sourceEvent,{transform:L,snapGrid:T,snapToGrid:P,containerBounds:u}),c=wo(N.sourceEvent,u)}).on("drag",N=>{const{autoPanOnNodeDrag:R,transform:M,snapGrid:L,snapToGrid:T,nodeDragThreshold:P,nodeLookup:A}=t(),F=_l(N.sourceEvent,{transform:M,snapGrid:L,snapToGrid:T,containerBounds:u});if((N.sourceEvent.type==="touchmove"&&N.sourceEvent.touches.length>1||x&&!A.has(x))&&(h=!0),!h){if(!l&&R&&d&&(l=!0,O()),!d){const q=F.xSnapped-(i.x??0),B=F.ySnapped-(i.y??0);Math.sqrt(q*q+B*B)>P&&_(N)}(i.x!==F.xSnapped||i.y!==F.ySnapped)&&s&&d&&(c=wo(N.sourceEvent,u),E(F,N.sourceEvent))}}).on("end",N=>{if(!(!d||h)&&(l=!1,d=!1,cancelAnimationFrame(a),s.size>0)){const{nodeLookup:R,updateNodePositions:M,onNodeDragStop:L,onSelectionDragStop:T}=t();if(M(s,!1),o||L||!x&&T){const[P,A]=Lp({nodeId:x,dragItems:s,nodeLookup:R,dragging:!1});o==null||o(N.sourceEvent,s,P,A),L==null||L(N.sourceEvent,P,A),x||T==null||T(N.sourceEvent,A)}}}).filter(N=>{const R=N.target;return!N.button&&(!g||!Zk(R,`.${g}`,b))&&(!y||Zk(R,y,b))});f.call(k)}function m(){f==null||f.on(".drag",null)}return{update:p,destroy:m}}function jfe(e,t,n){const r=[],o={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const i of t.values())rc(o,os(i))>0&&r.push(i);return r}const Ife=250;function Lfe(e,t,n,r){var s,l;let o=[],i=1/0;const a=jfe(e,n,t+Ife);for(const c of a){const u=[...((s=c.internals.handleBounds)==null?void 0:s.source)??[],...((l=c.internals.handleBounds)==null?void 0:l.target)??[]];for(const d of u){if(r.nodeId===d.nodeId&&r.type===d.type&&r.id===d.id)continue;const{x:f,y:h}=oc(c,d,d.position,!0),p=Math.sqrt(Math.pow(f-e.x,2)+Math.pow(h-e.y,2));p>t||(p<i?(o=[{...d,x:f,y:h}],i=p):p===i&&o.push({...d,x:f,y:h}))}}if(!o.length)return null;if(o.length>1){const c=r.type==="source"?"target":"source";return o.find(u=>u.type===c)??o[0]}return o[0]}function Q$(e,t,n,r,o,i=!1){var c,u,d;const a=r.get(e);if(!a)return null;const s=o==="strict"?(c=a.internals.handleBounds)==null?void 0:c[t]:[...((u=a.internals.handleBounds)==null?void 0:u.source)??[],...((d=a.internals.handleBounds)==null?void 0:d.target)??[]],l=(n?s==null?void 0:s.find(f=>f.id===n):s==null?void 0:s[0])??null;return l&&i?{...l,...oc(a,l,l.position,!0)}:l}function Z$(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function $fe(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const e5=()=>!0;function Dfe(e,{connectionMode:t,connectionRadius:n,handleId:r,nodeId:o,edgeUpdaterType:i,isTarget:a,domNode:s,nodeLookup:l,lib:c,autoPanOnConnect:u,flowId:d,panBy:f,cancelConnection:h,onConnectStart:p,onConnect:m,onConnectEnd:g,isValidConnection:y=e5,onReconnectEnd:b,updateConnection:S,getTransform:x,getFromHandle:C,autoPanSpeed:E}){const O=V$(e.target);let _=0,k;const{x:N,y:R}=wo(e),M=O==null?void 0:O.elementFromPoint(N,R),L=Z$(i,M),T=s==null?void 0:s.getBoundingClientRect();if(!T||!L)return;const P=Q$(o,L,r,l,t);if(!P)return;let A=wo(e,T),F=!1,q=null,B=!1,z=null;function I(){if(!u||!T)return;const[Q,Z]=L$(A,T,E);f({x:Q,y:Z}),_=requestAnimationFrame(I)}const V={...P,nodeId:o,type:L,position:P.position},j=l.get(o),H={inProgress:!0,isValid:null,from:oc(j,V,be.Left,!0),fromHandle:V,fromPosition:V.position,fromNode:j,to:A,toHandle:null,toPosition:Bk[V.position],toNode:null};S(H);let U=H;p==null||p(e,{nodeId:o,handleId:r,handleType:L});function G(Q){if(!C()||!V){X(Q);return}const Z=x();A=wo(Q,T),k=Lfe(Ac(A,Z,!1,[1,1]),n,l,V),F||(I(),F=!0);const ne=t5(Q,{handle:k,connectionMode:t,fromNodeId:o,fromHandleId:r,fromType:a?"target":"source",isValidConnection:y,doc:O,lib:c,flowId:d,nodeLookup:l});z=ne.handleDomNode,q=ne.connection,B=$fe(!!k,ne.isValid);const K={...U,isValid:B,to:k&&B?z$({x:k.x,y:k.y},Z):A,toHandle:ne.toHandle,toPosition:B&&ne.toHandle?ne.toHandle.position:Bk[V.position],toNode:ne.toHandle?l.get(ne.toHandle.nodeId):null};B&&k&&U.toHandle&&K.toHandle&&U.toHandle.type===K.toHandle.type&&U.toHandle.nodeId===K.toHandle.nodeId&&U.toHandle.id===K.toHandle.id&&U.to.x===K.to.x&&U.to.y===K.to.y||(S(K),U=K)}function X(Q){(k||z)&&q&&B&&(m==null||m(q));const{inProgress:Z,...ne}=U,K={...ne,toPosition:U.toHandle?U.toPosition:null};g==null||g(Q,K),i&&(b==null||b(Q,K)),h(),cancelAnimationFrame(_),F=!1,B=!1,q=null,z=null,O.removeEventListener("mousemove",G),O.removeEventListener("mouseup",X),O.removeEventListener("touchmove",G),O.removeEventListener("touchend",X)}O.addEventListener("mousemove",G),O.addEventListener("mouseup",X),O.addEventListener("touchmove",G),O.addEventListener("touchend",X)}function t5(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:o,fromType:i,doc:a,lib:s,flowId:l,isValidConnection:c=e5,nodeLookup:u}){const d=i==="target",f=t?a.querySelector(`.${s}-flow__handle[data-id="${l}-${t==null?void 0:t.nodeId}-${t==null?void 0:t.id}-${t==null?void 0:t.type}"]`):null,{x:h,y:p}=wo(e),m=a.elementFromPoint(h,p),g=m!=null&&m.classList.contains(`${s}-flow__handle`)?m:f,y={handleDomNode:g,isValid:!1,connection:null,toHandle:null};if(g){const b=Z$(void 0,g),S=g.getAttribute("data-nodeid"),x=g.getAttribute("data-handleid"),C=g.classList.contains("connectable"),E=g.classList.contains("connectableend");if(!S||!b)return y;const O={source:d?S:r,sourceHandle:d?x:o,target:d?r:S,targetHandle:d?o:x};y.connection=O;const k=C&&E&&(n===ns.Strict?d&&b==="source"||!d&&b==="target":S!==r||x!==o);y.isValid=k&&c(O),y.toHandle=Q$(S,b,x,u,n,!1)}return y}const Fb={onPointerDown:Dfe,isValid:t5};function zfe({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){const o=$n(e);function i({translateExtent:s,width:l,height:c,zoomStep:u=10,pannable:d=!0,zoomable:f=!0,inversePan:h=!1}){const p=S=>{const x=n();if(S.sourceEvent.type!=="wheel"||!t)return;const C=-S.sourceEvent.deltaY*(S.sourceEvent.deltaMode===1?.05:S.sourceEvent.deltaMode?1:.002)*u,E=x[2]*Math.pow(2,C);t.scaleTo(E)};let m=[0,0];const g=S=>{(S.sourceEvent.type==="mousedown"||S.sourceEvent.type==="touchstart")&&(m=[S.sourceEvent.clientX??S.sourceEvent.touches[0].clientX,S.sourceEvent.clientY??S.sourceEvent.touches[0].clientY])},y=S=>{const x=n();if(S.sourceEvent.type!=="mousemove"&&S.sourceEvent.type!=="touchmove"||!t)return;const C=[S.sourceEvent.clientX??S.sourceEvent.touches[0].clientX,S.sourceEvent.clientY??S.sourceEvent.touches[0].clientY],E=[C[0]-m[0],C[1]-m[1]];m=C;const O=r()*Math.max(x[2],Math.log(x[2]))*(h?-1:1),_={x:x[0]-E[0]*O,y:x[1]-E[1]*O},k=[[0,0],[l,c]];t.setViewportConstrained({x:_.x,y:_.y,zoom:x[2]},k,s)},b=N$().on("start",g).on("zoom",d?y:null).on("zoom.wheel",f?p:null);o.call(b,{})}function a(){o.on("zoom",null)}return{update:i,destroy:a,pointer:hr}}const Ffe=(e,t)=>e.x!==t.x||e.y!==t.y||e.zoom!==t.k,Xf=e=>({x:e.x,y:e.y,zoom:e.k}),$p=({x:e,y:t,zoom:n})=>qf.translate(e,t).scale(n),Ta=(e,t)=>e.target.closest(`.${t}`),n5=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),Dp=(e,t=0,n=()=>{})=>{const r=typeof t=="number"&&t>0;return r||n(),r?e.transition().duration(t).on("end",n):e},r5=e=>{const t=e.ctrlKey&&Wd()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function Bfe({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:o,panOnScrollSpeed:i,zoomOnPinch:a,onPanZoomStart:s,onPanZoom:l,onPanZoomEnd:c}){return u=>{if(Ta(u,t))return!1;u.preventDefault(),u.stopImmediatePropagation();const d=n.property("__zoom").k||1;if(u.ctrlKey&&a){const g=hr(u),y=r5(u),b=d*Math.pow(2,y);r.scaleTo(n,b,g,u);return}const f=u.deltaMode===1?20:1;let h=o===xi.Vertical?0:u.deltaX*f,p=o===xi.Horizontal?0:u.deltaY*f;!Wd()&&u.shiftKey&&o!==xi.Vertical&&(h=u.deltaY*f,p=0),r.translateBy(n,-(h/d)*i,-(p/d)*i,{internal:!0});const m=Xf(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling||(e.isPanScrolling=!0,s==null||s(u,m)),e.isPanScrolling&&(l==null||l(u,m),e.panScrollTimeout=setTimeout(()=>{c==null||c(u,m),e.isPanScrolling=!1},150))}}function Vfe({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,o){if(!t&&r.type==="wheel"&&!r.ctrlKey||Ta(r,e))return null;r.preventDefault(),n.call(this,r,o)}}function Hfe({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{var i,a,s;if((i=r.sourceEvent)!=null&&i.internal)return;const o=Xf(r.transform);e.mouseButton=((a=r.sourceEvent)==null?void 0:a.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=o,((s=r.sourceEvent)==null?void 0:s.type)==="mousedown"&&t(!0),n&&(n==null||n(r.sourceEvent,o))}}function qfe({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:o}){return i=>{var a,s;e.usedRightMouseButton=!!(n&&n5(t,e.mouseButton??0)),(a=i.sourceEvent)!=null&&a.sync||r([i.transform.x,i.transform.y,i.transform.k]),o&&!((s=i.sourceEvent)!=null&&s.internal)&&(o==null||o(i.sourceEvent,Xf(i.transform)))}}function Ufe({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:o,onPaneContextMenu:i}){return a=>{var s;if(!((s=a.sourceEvent)!=null&&s.internal)&&(e.isZoomingOrPanning=!1,i&&n5(t,e.mouseButton??0)&&!e.usedRightMouseButton&&a.sourceEvent&&i(a.sourceEvent),e.usedRightMouseButton=!1,r(!1),o&&Ffe(e.prevViewport,a.transform))){const l=Xf(a.transform);e.prevViewport=l,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{o==null||o(a.sourceEvent,l)},n?150:0)}}}function Gfe({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:r,panOnScroll:o,zoomOnDoubleClick:i,userSelectionActive:a,noWheelClassName:s,noPanClassName:l,lib:c}){return u=>{var p;const d=e||t,f=n&&u.ctrlKey;if(u.button===1&&u.type==="mousedown"&&(Ta(u,`${c}-flow__node`)||Ta(u,`${c}-flow__edge`)))return!0;if(!r&&!d&&!o&&!i&&!n||a||Ta(u,s)&&u.type==="wheel"||Ta(u,l)&&(u.type!=="wheel"||o&&u.type==="wheel"&&!e)||!n&&u.ctrlKey&&u.type==="wheel")return!1;if(!n&&u.type==="touchstart"&&((p=u.touches)==null?void 0:p.length)>1)return u.preventDefault(),!1;if(!d&&!o&&!f&&u.type==="wheel"||!r&&(u.type==="mousedown"||u.type==="touchstart")||Array.isArray(r)&&!r.includes(u.button)&&u.type==="mousedown")return!1;const h=Array.isArray(r)&&r.includes(u.button)||!u.button||u.button<=1;return(!u.ctrlKey||u.type==="wheel")&&h}}function Wfe({domNode:e,minZoom:t,maxZoom:n,paneClickDistance:r,translateExtent:o,viewport:i,onPanZoom:a,onPanZoomStart:s,onPanZoomEnd:l,onDraggingChange:c}){const u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{x:0,y:0,zoom:0},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=e.getBoundingClientRect(),f=N$().clickDistance(!yr(r)||r<0?0:r).scaleExtent([t,n]).translateExtent(o),h=$n(e).call(f);S({x:i.x,y:i.y,zoom:rs(i.zoom,t,n)},[[0,0],[d.width,d.height]],o);const p=h.on("wheel.zoom"),m=h.on("dblclick.zoom");f.wheelDelta(r5);function g(M,L){return h?new Promise(T=>{f==null||f.transform(Dp(h,L==null?void 0:L.duration,()=>T(!0)),M)}):Promise.resolve(!1)}function y({noWheelClassName:M,noPanClassName:L,onPaneContextMenu:T,userSelectionActive:P,panOnScroll:A,panOnDrag:F,panOnScrollMode:q,panOnScrollSpeed:B,preventScrolling:z,zoomOnPinch:I,zoomOnScroll:V,zoomOnDoubleClick:j,zoomActivationKeyPressed:D,lib:H,onTransformChange:U}){P&&!u.isZoomingOrPanning&&b();const X=A&&!D&&!P?Bfe({zoomPanValues:u,noWheelClassName:M,d3Selection:h,d3Zoom:f,panOnScrollMode:q,panOnScrollSpeed:B,zoomOnPinch:I,onPanZoomStart:s,onPanZoom:a,onPanZoomEnd:l}):Vfe({noWheelClassName:M,preventScrolling:z,d3ZoomHandler:p});if(h.on("wheel.zoom",X,{passive:!1}),!P){const Z=Hfe({zoomPanValues:u,onDraggingChange:c,onPanZoomStart:s});f.on("start",Z);const ne=qfe({zoomPanValues:u,panOnDrag:F,onPaneContextMenu:!!T,onPanZoom:a,onTransformChange:U});f.on("zoom",ne);const K=Ufe({zoomPanValues:u,panOnDrag:F,panOnScroll:A,onPaneContextMenu:T,onPanZoomEnd:l,onDraggingChange:c});f.on("end",K)}const Q=Gfe({zoomActivationKeyPressed:D,panOnDrag:F,zoomOnScroll:V,panOnScroll:A,zoomOnDoubleClick:j,zoomOnPinch:I,userSelectionActive:P,noPanClassName:L,noWheelClassName:M,lib:H});f.filter(Q),j?h.on("dblclick.zoom",m):h.on("dblclick.zoom",null)}function b(){f.on("zoom",null)}async function S(M,L,T){const P=$p(M),A=f==null?void 0:f.constrain()(P,L,T);return A&&await g(A),new Promise(F=>F(A))}async function x(M,L){const T=$p(M);return await g(T,L),new Promise(P=>P(T))}function C(M){if(h){const L=$p(M),T=h.property("__zoom");(T.k!==M.zoom||T.x!==M.x||T.y!==M.y)&&(f==null||f.transform(h,L,null,{sync:!0}))}}function E(){const M=h?O$(h.node()):{x:0,y:0,k:1};return{x:M.x,y:M.y,zoom:M.k}}function O(M,L){return h?new Promise(T=>{f==null||f.scaleTo(Dp(h,L==null?void 0:L.duration,()=>T(!0)),M)}):Promise.resolve(!1)}function _(M,L){return h?new Promise(T=>{f==null||f.scaleBy(Dp(h,L==null?void 0:L.duration,()=>T(!0)),M)}):Promise.resolve(!1)}function k(M){f==null||f.scaleExtent(M)}function N(M){f==null||f.translateExtent(M)}function R(M){const L=!yr(M)||M<0?0:M;f==null||f.clickDistance(L)}return{update:y,destroy:b,setViewport:x,setViewportConstrained:S,getViewport:E,scaleTo:O,scaleBy:_,setScaleExtent:k,setTranslateExtent:N,syncViewport:C,setClickDistance:R}}var El;(function(e){e.Line="line",e.Handle="handle"})(El||(El={}));function Kfe({width:e,prevWidth:t,height:n,prevHeight:r,affectsX:o,affectsY:i}){const a=e-t,s=n-r,l=[a>0?1:a<0?-1:0,s>0?1:s<0?-1:0];return a&&o&&(l[0]=l[0]*-1),s&&i&&(l[1]=l[1]*-1),l}function Xfe(e){const t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top"),r=e.includes("left"),o=e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:r,affectsY:o}}function Do(e,t){return Math.max(0,t-e)}function zo(e,t){return Math.max(0,e-t)}function Eu(e,t,n){return Math.max(0,t-e,e-n)}function e2(e,t){return e?!t:t}function Yfe(e,t,n,r,o,i,a,s){let{affectsX:l,affectsY:c}=t;const{isHorizontal:u,isVertical:d}=t,f=u&&d,{xSnapped:h,ySnapped:p}=n,{minWidth:m,maxWidth:g,minHeight:y,maxHeight:b}=r,{x:S,y:x,width:C,height:E,aspectRatio:O}=e;let _=Math.floor(u?h-e.pointerX:0),k=Math.floor(d?p-e.pointerY:0);const N=C+(l?-_:_),R=E+(c?-k:k),M=-i[0]*C,L=-i[1]*E;let T=Eu(N,m,g),P=Eu(R,y,b);if(a){let q=0,B=0;l&&_<0?q=Do(S+_+M,a[0][0]):!l&&_>0&&(q=zo(S+N+M,a[1][0])),c&&k<0?B=Do(x+k+L,a[0][1]):!c&&k>0&&(B=zo(x+R+L,a[1][1])),T=Math.max(T,q),P=Math.max(P,B)}if(s){let q=0,B=0;l&&_>0?q=zo(S+_,s[0][0]):!l&&_<0&&(q=Do(S+N,s[1][0])),c&&k>0?B=zo(x+k,s[0][1]):!c&&k<0&&(B=Do(x+R,s[1][1])),T=Math.max(T,q),P=Math.max(P,B)}if(o){if(u){const q=Eu(N/O,y,b)*O;if(T=Math.max(T,q),a){let B=0;!l&&!c||l&&!c&&f?B=zo(x+L+N/O,a[1][1])*O:B=Do(x+L+(l?_:-_)/O,a[0][1])*O,T=Math.max(T,B)}if(s){let B=0;!l&&!c||l&&!c&&f?B=Do(x+N/O,s[1][1])*O:B=zo(x+(l?_:-_)/O,s[0][1])*O,T=Math.max(T,B)}}if(d){const q=Eu(R*O,m,g)/O;if(P=Math.max(P,q),a){let B=0;!l&&!c||c&&!l&&f?B=zo(S+R*O+M,a[1][0])/O:B=Do(S+(c?k:-k)*O+M,a[0][0])/O,P=Math.max(P,B)}if(s){let B=0;!l&&!c||c&&!l&&f?B=Do(S+R*O,s[1][0])/O:B=zo(S+(c?k:-k)*O,s[0][0])/O,P=Math.max(P,B)}}}k=k+(k<0?P:-P),_=_+(_<0?T:-T),o&&(f?N>R*O?k=(e2(l,c)?-_:_)/O:_=(e2(l,c)?-k:k)*O:u?(k=_/O,c=l):(_=k*O,l=c));const A=l?S+_:S,F=c?x+k:x;return{width:C+(l?-_:_),height:E+(c?-k:k),x:i[0]*_*(l?-1:1)+A,y:i[1]*k*(c?-1:1)+F}}const o5={width:0,height:0,x:0,y:0},Jfe={...o5,pointerX:0,pointerY:0,aspectRatio:1};function Qfe(e){return[[0,0],[e.measured.width,e.measured.height]]}function Zfe(e,t,n){const r=t.position.x+e.position.x,o=t.position.y+e.position.y,i=e.measured.width??0,a=e.measured.height??0,s=n[0]*i,l=n[1]*a;return[[r-s,o-l],[r+i-s,o+a-l]]}function ehe({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:o}){const i=$n(e);function a({controlPosition:l,boundaries:c,keepAspectRatio:u,onResizeStart:d,onResize:f,onResizeEnd:h,shouldResize:p}){let m={...o5},g={...Jfe};const y=Xfe(l);let b,S=null,x=[],C,E,O;const _=h$().on("start",k=>{const{nodeLookup:N,transform:R,snapGrid:M,snapToGrid:L,nodeOrigin:T,paneDomNode:P}=n();if(b=N.get(t),!b)return;S=(P==null?void 0:P.getBoundingClientRect())??null;const{xSnapped:A,ySnapped:F}=_l(k.sourceEvent,{transform:R,snapGrid:M,snapToGrid:L,containerBounds:S});m={width:b.measured.width??0,height:b.measured.height??0,x:b.position.x??0,y:b.position.y??0},g={...m,pointerX:A,pointerY:F,aspectRatio:m.width/m.height},C=void 0,b.parentId&&(b.extent==="parent"||b.expandParent)&&(C=N.get(b.parentId),E=C&&b.extent==="parent"?Qfe(C):void 0),x=[],O=void 0;for(const[q,B]of N)if(B.parentId===t&&(x.push({id:q,position:{...B.position},extent:B.extent}),B.extent==="parent"||B.expandParent)){const z=Zfe(B,b,B.origin??T);O?O=[[Math.min(z[0][0],O[0][0]),Math.min(z[0][1],O[0][1])],[Math.max(z[1][0],O[1][0]),Math.max(z[1][1],O[1][1])]]:O=z}d==null||d(k,{...m})}).on("drag",k=>{const{transform:N,snapGrid:R,snapToGrid:M,nodeOrigin:L}=n(),T=_l(k.sourceEvent,{transform:N,snapGrid:R,snapToGrid:M,containerBounds:S}),P=[];if(!b)return;const{x:A,y:F,width:q,height:B}=m,z={},I=b.origin??L,{width:V,height:j,x:D,y:H}=Yfe(g,y,T,c,u,I,E,O),U=V!==q,G=j!==B,X=D!==A&&U,Q=H!==F&&G;if(!X&&!Q&&!U&&!G)return;if((X||Q||I[0]===1||I[1]===1)&&(z.x=X?D:m.x,z.y=Q?H:m.y,m.x=z.x,m.y=z.y,x.length>0)){const ie=D-A,te=H-F;for(const le of x)le.position={x:le.position.x-ie+I[0]*(V-q),y:le.position.y-te+I[1]*(j-B)},P.push(le)}if((U||G)&&(z.width=U?V:m.width,z.height=G?j:m.height,m.width=z.width,m.height=z.height),C&&b.expandParent){const ie=I[0]*(z.width??0);z.x&&z.x<ie&&(m.x=ie,g.x=g.x-(z.x-ie));const te=I[1]*(z.height??0);z.y&&z.y<te&&(m.y=te,g.y=g.y-(z.y-te))}const Z=Kfe({width:m.width,prevWidth:q,height:m.height,prevHeight:B,affectsX:y.affectsX,affectsY:y.affectsY}),ne={...m,direction:Z};(p==null?void 0:p(k,ne))!==!1&&(f==null||f(k,ne),r(z,P))}).on("end",k=>{h==null||h(k,{...m}),o==null||o()});i.call(_)}function s(){i.on(".drag",null)}return{update:a,destroy:s}}var ku={exports:{}},zp={},Ou={exports:{}},Fp={};/**
177
177
  * @license React
178
178
  * use-sync-external-store-shim.production.js
179
179
  *
@@ -407,5 +407,5 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
407
407
  ctx.font = "48px serif";
408
408
  ctx.fillText("Hello Canvas", 10, 50);
409
409
  }
410
- `}}}}]},{title:"HTML 标签",componentName:"CNativeTag",props:[{name:"htmlTag",title:"标签名",valueType:"string",setters:[{componentName:"SelectSetter",props:{options:he.HTMl_TAGS.map(e=>({name:e,value:e}))}}]},mo],isContainer:!0,groupName:Fo,snippets:[{title:"HTML",snapshotText:"HTML",category:Bo,schema:{props:{htmlTag:"div"}}}]}];P6.forEach(e=>{e.events=$ke});const zke=P6.map(e=>({...e,npm:{name:e.componentName,package:M6,version:A6}})),Fke=[...zke,...Dke];class j6 extends v.Component{constructor(n){super(n);Y(this,"currentSelectNode");Y(this,"pluginManager");Y(this,"workbenchRef",v.createRef());Y(this,"pageSchema");Y(this,"pageModel");Y(this,"material");Y(this,"emitter");Y(this,"assetsPackageListManager");Y(this,"workbenchConfig",{});Y(this,"_oldHiddenWidgetConfig");Y(this,"updatePage",n=>{this.pageModel.updatePage(n)});Y(this,"updateMaterials",async(n,r,o)=>{const i=await this.pluginManager.get("Designer"),a=i==null?void 0:i.export;this.pluginManager.assetsPackageListManager.setList(r),this.pageModel.assetPackagesList=this.pluginManager.assetsPackageListManager.getList();const s=a==null?void 0:a.getDesignerWindow();if(!s){console.warn("subWin not exits");return}await new Mae(r,s).load();const c=zI(r,s);let u=FI(c);o!=null&&o.formatComponents&&(u=o.formatComponents(u)),a==null||a.updateRenderComponents(u),this.pageModel.materialsModel.addMaterials(n),this.emitter.emit("updateMaterials")});Y(this,"refresh",async()=>{this.pageModel.reloadPage(this.pageModel.export("design"))});Y(this,"getWorkbench",()=>this.workbenchRef.current);this.pageSchema=n.schema,this.material=n.material,this.currentSelectNode=null,window.__CHAMELEON_ENG__=this,this.assetsPackageListManager=new dI(n.assetPackagesList||[]),this.workbenchConfig=n.workbenchConfig||{};try{this.pageModel=new he.CPage(this.pageSchema,{materials:this.material||[],assetPackagesList:n.assetPackagesList||[]})}catch(r){console.error(r),this.pageModel=new he.CPage(he.EmptyPage)}this.emitter=xd()}updateCurrentSelectNode(n){this.currentSelectNode=n,this.emitter.emit("onSelectNodeChange",{node:n})}async componentDidMount(){var i,a,s,l,c,u;window.__C_ENGINE__=this;const n=this.props.plugins,r=new UL({engine:this,getWorkbench:()=>this.workbenchRef.current,emitter:this.emitter,pageModel:this.pageModel,i18n:Dd,assetsPackageListManager:this.assetsPackageListManager});this.pluginManager=r,r.customPlugin("Designer",d=>(d.ctx.config.beforeInitRender=IL,d.ctx.config.customRender=LL({components:this.props.components||{},renderProps:this.props.renderProps||{}}),d.ctx.config.components=this.props.components,d)),(a=(i=this.props).beforePluginRun)==null||a.call(i,{pluginManager:this.pluginManager});const o=n.map(d=>this.pluginManager.add(d));(l=(s=this.props).onMount)==null||l.call(s,{pluginManager:this.pluginManager,engine:this}),await Promise.all(o),this.pageModel.emitter.on("onReloadPage",()=>{var f;if(console.log("🚀 ~ Engine ~ this.pageModel.emitter.on ~ onReloadPage:"),!this.currentSelectNode)return;const d=this.pageModel.getNode((f=this.currentSelectNode)==null?void 0:f.id);d&&this.updateCurrentSelectNode(d)}),(u=(c=this.props).onReady)==null||u.call(c,{pluginManager:this.pluginManager,engine:this})}getActiveNode(){var r;if(!((r=this.currentSelectNode)!=null&&r.id))return null;const n=this.pageModel.getNode(this.currentSelectNode.id)??null;return this.currentSelectNode=n,n}getI18n(){return Dd}async preview(){var i,a;const n=(i=this.workbenchRef.current)==null?void 0:i.getHiddenWidgetConfig();this._oldHiddenWidgetConfig=n,(a=this.workbenchRef.current)==null||a.hiddenWidget({hiddenLeftPanel:!0,hiddenRightPanel:!0,hiddenTopBar:!0,canvasFull:!0});const r=await this.pluginManager.get("Designer"),o=r==null?void 0:r.export;o==null||o.setPreviewMode()}async existPreview(){var o;(o=this.workbenchRef.current)==null||o.hiddenWidget({...this._oldHiddenWidgetConfig||{},canvasFull:!1});const n=await this.pluginManager.get("Designer"),r=n==null?void 0:n.export;r==null||r.setEditMode()}hiddenWidget(n){var r;(r=this.workbenchRef.current)==null||r.hiddenWidget(n||{})}render(){return w.jsx("div",{className:De([Vae.engineContainer,this.props.className]),style:this.props.style,children:w.jsx(DL,{ref:this.workbenchRef,emitter:this.emitter,...this.workbenchConfig})})}}Y(j6,"version","0.5.0");exports.AdvancePanel=iS;exports.AdvancePanelConfig=aS;exports.AssetsPackageListManager=dI;exports.BUILD_IN_SETTER_MAP=Co;exports.CSSEditor=O6;exports.CSSPropertiesEditor=wx;exports.CSSPropertiesVariableBindEditor=T3;exports.ClassNameEditor=A3;exports.ComponentLibPlugin=_c;exports.ComponentStatePanel=rS;exports.ComponentStatePanelConfig=oS;exports.CustomSchemaForm=Fc;exports.DEFAULT_PLUGIN_LIST=R6;exports.DEFAULT_PLUGIN_NAME_MAP=T6;exports.DesignerPlugin=Ec;exports.DesignerSizer=Lke;exports.DisplaySourceSchema=N6;exports.Engine=j6;exports.GlobalStatePanelPlugin=Uc;exports.HistoryPlugin=Gc;exports.HotkeysPlugin=Wc;exports.InnerComponentMeta=Fke;exports.LOGGER=ur;exports.MonacoEditor=Rs;exports.OutlineTreePlugin=kc;exports.PLUGIN_NAME=Yo;exports.PluginManager=UL;exports.PropertyPanelConfig=nS;exports.RightPanelPlugin=qc;exports.SetterSwitcher=xh;exports.VisualPanelPlus=gS;exports.VisualPanelPlusConfig=mS;exports.Workbench=DL;exports.beforeInitRender=IL;exports.defaultPropertyOptions=yd;exports.ensureKeyExist=Cc;exports.formatCSSTextProperty=lI;exports.formatCssToNodeVal=cI;exports.formatNodeValToEditor=uI;exports.formatStyleProperty=Yy;exports.getColorFromStr=Jy;exports.getDefaultRender=LL;exports.getUniqueAssetsList=uw;exports.parseBoxShadowString=rd;exports.plugins=Ike;exports.registerCustomSetter=K5;exports.sageJSONParse=$L;exports.styleArr2Obj=iI;exports.styleList2Text=sI;exports.styleObjToArr=aI;exports.waitReactUpdate=Zr;Object.keys(Xr).forEach(e=>{e!=="default"&&!Object.prototype.hasOwnProperty.call(exports,e)&&Object.defineProperty(exports,e,{enumerable:!0,get:()=>Xr[e]})});
410
+ `}}}}]},{title:"HTML 标签",componentName:"CNativeTag",props:[{name:"htmlTag",title:"标签名",valueType:"string",setters:[{componentName:"SelectSetter",props:{options:he.HTMl_TAGS.map(e=>({name:e,value:e}))}}]},mo],isContainer:!0,groupName:Fo,snippets:[{title:"HTML",snapshotText:"HTML",category:Bo,schema:{props:{htmlTag:"div"}}}]}];P6.forEach(e=>{e.events=$ke});const zke=P6.map(e=>({...e,npm:{name:e.componentName,package:M6,version:A6}})),Fke=[...zke,...Dke];class j6 extends v.Component{constructor(n){super(n);Y(this,"currentSelectNode");Y(this,"pluginManager");Y(this,"workbenchRef",v.createRef());Y(this,"pageSchema");Y(this,"pageModel");Y(this,"material");Y(this,"emitter");Y(this,"assetsPackageListManager");Y(this,"workbenchConfig",{});Y(this,"_oldHiddenWidgetConfig");Y(this,"updatePage",n=>{this.pageModel.updatePage(n)});Y(this,"updateMaterials",async(n,r,o)=>{const i=await this.pluginManager.get("Designer"),a=i==null?void 0:i.export;this.pluginManager.assetsPackageListManager.setList(r),this.pageModel.assetPackagesList=this.pluginManager.assetsPackageListManager.getList();const s=a==null?void 0:a.getDesignerWindow();if(!s){console.warn("subWin not exits");return}await new Mae(r,s).load();const c=zI(r,s);let u=FI(c);o!=null&&o.formatComponents&&(u=o.formatComponents(u)),a==null||a.updateRenderComponents(u),this.pageModel.materialsModel.addMaterials(n),this.emitter.emit("updateMaterials")});Y(this,"refresh",async()=>{this.pageModel.reloadPage(this.pageModel.export("design"))});Y(this,"getWorkbench",()=>this.workbenchRef.current);this.pageSchema=n.schema,this.material=n.material,this.currentSelectNode=null,window.__CHAMELEON_ENG__=this,this.assetsPackageListManager=new dI(n.assetPackagesList||[]),this.workbenchConfig=n.workbenchConfig||{};try{this.pageModel=new he.CPage(this.pageSchema,{materials:this.material||[],assetPackagesList:n.assetPackagesList||[]})}catch(r){console.error(r),this.pageModel=new he.CPage(he.EmptyPage)}this.emitter=xd()}updateCurrentSelectNode(n){this.currentSelectNode=n,this.emitter.emit("onSelectNodeChange",{node:n})}async componentDidMount(){var i,a,s,l,c,u;window.__C_ENGINE__=this;const n=this.props.plugins,r=new UL({engine:this,getWorkbench:()=>this.workbenchRef.current,emitter:this.emitter,pageModel:this.pageModel,i18n:Dd,assetsPackageListManager:this.assetsPackageListManager});this.pluginManager=r,r.customPlugin("Designer",d=>(d.ctx.config.beforeInitRender=IL,d.ctx.config.customRender=LL({components:this.props.components||{},renderProps:this.props.renderProps||{}}),d.ctx.config.components=this.props.components,d)),(a=(i=this.props).beforePluginRun)==null||a.call(i,{pluginManager:this.pluginManager});const o=n.map(d=>this.pluginManager.add(d));(l=(s=this.props).onMount)==null||l.call(s,{pluginManager:this.pluginManager,engine:this}),await Promise.all(o),this.pageModel.emitter.on("onReloadPage",()=>{var f;if(console.log("🚀 ~ Engine ~ this.pageModel.emitter.on ~ onReloadPage:"),!this.currentSelectNode)return;const d=this.pageModel.getNode((f=this.currentSelectNode)==null?void 0:f.id);d&&this.updateCurrentSelectNode(d)}),(u=(c=this.props).onReady)==null||u.call(c,{pluginManager:this.pluginManager,engine:this})}getActiveNode(){var r;if(!((r=this.currentSelectNode)!=null&&r.id))return null;const n=this.pageModel.getNode(this.currentSelectNode.id)??null;return this.currentSelectNode=n,n}getI18n(){return Dd}async preview(){var i,a;const n=(i=this.workbenchRef.current)==null?void 0:i.getHiddenWidgetConfig();this._oldHiddenWidgetConfig=n,(a=this.workbenchRef.current)==null||a.hiddenWidget({hiddenLeftPanel:!0,hiddenRightPanel:!0,hiddenTopBar:!0,canvasFull:!0});const r=await this.pluginManager.get("Designer"),o=r==null?void 0:r.export;o==null||o.setPreviewMode()}async existPreview(){var o;(o=this.workbenchRef.current)==null||o.hiddenWidget({...this._oldHiddenWidgetConfig||{},canvasFull:!1});const n=await this.pluginManager.get("Designer"),r=n==null?void 0:n.export;r==null||r.setEditMode()}hiddenWidget(n){var r;(r=this.workbenchRef.current)==null||r.hiddenWidget(n||{})}render(){return w.jsx("div",{className:De([Vae.engineContainer,this.props.className]),style:this.props.style,children:w.jsx(DL,{ref:this.workbenchRef,emitter:this.emitter,...this.workbenchConfig})})}}Y(j6,"version","0.5.2");exports.AdvancePanel=iS;exports.AdvancePanelConfig=aS;exports.AssetsPackageListManager=dI;exports.BUILD_IN_SETTER_MAP=Co;exports.CSSEditor=O6;exports.CSSPropertiesEditor=wx;exports.CSSPropertiesVariableBindEditor=T3;exports.ClassNameEditor=A3;exports.ComponentLibPlugin=_c;exports.ComponentStatePanel=rS;exports.ComponentStatePanelConfig=oS;exports.CustomSchemaForm=Fc;exports.DEFAULT_PLUGIN_LIST=R6;exports.DEFAULT_PLUGIN_NAME_MAP=T6;exports.DesignerPlugin=Ec;exports.DesignerSizer=Lke;exports.DisplaySourceSchema=N6;exports.Engine=j6;exports.GlobalStatePanelPlugin=Uc;exports.HistoryPlugin=Gc;exports.HotkeysPlugin=Wc;exports.InnerComponentMeta=Fke;exports.LOGGER=ur;exports.MonacoEditor=Rs;exports.OutlineTreePlugin=kc;exports.PLUGIN_NAME=Yo;exports.PluginManager=UL;exports.PropertyPanelConfig=nS;exports.RightPanelPlugin=qc;exports.SetterSwitcher=xh;exports.VisualPanelPlus=gS;exports.VisualPanelPlusConfig=mS;exports.Workbench=DL;exports.beforeInitRender=IL;exports.defaultPropertyOptions=yd;exports.ensureKeyExist=Cc;exports.formatCSSTextProperty=lI;exports.formatCssToNodeVal=cI;exports.formatNodeValToEditor=uI;exports.formatStyleProperty=Yy;exports.getColorFromStr=Jy;exports.getDefaultRender=LL;exports.getUniqueAssetsList=uw;exports.parseBoxShadowString=rd;exports.plugins=Ike;exports.registerCustomSetter=K5;exports.sageJSONParse=$L;exports.styleArr2Obj=iI;exports.styleList2Text=sI;exports.styleObjToArr=aI;exports.waitReactUpdate=Zr;Object.keys(Xr).forEach(e=>{e!=="default"&&!Object.prototype.hasOwnProperty.call(exports,e)&&Object.defineProperty(exports,e,{enumerable:!0,get:()=>Xr[e]})});
411
411
  //# sourceMappingURL=index.cjs.map