@abi-software/map-utilities 1.7.7-demo.0 → 1.7.8-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -26,7 +26,7 @@ usage: app.provide(ZINDEX_INJECTION_KEY, { current: 0 })`),{initialZIndex:n,curr
26
26
  <br>`}e+=`<div><strong>Comment:</strong>${r.body.comment}</div>
27
27
  <br>`}),t.push(`<div>${e}</div>`)}return t.join(`
28
28
 
29
- <br>`)},onCopied:function(){const t=this.annotationEntry[this.entryIndex],e={event_name:"portal_maps_annotation_copy_content",category:String((t==null?void 0:t.featureId)||"")};this.trackEvent(e)},trackEvent:function(t){const e={event:"interaction_event",location:"map_annotation",...t};this.$emit("trackEvent",e)}},watch:{annotationEntry:{deep:!0,immediate:!0,handler:function(t,e){t!==e&&(this.entryIndex=0,t!=null&&t.length&&this.emitActiveItemChange())}},entry:{deep:!0,immediate:!0,handler:function(t,e){t&&t!==e&&(this.resetSubmission(),this.updatePrevSubmissions())}}},mounted:function(){var t;(t=this.$annotator)==null||t.authenticate(this.userApiKey).then(e=>{e.name&&e.email&&e.canUpdate?(this.creator=e,e.orcid||(this.creator.orcid="0000-0000-0000-0000"),this.authenticated=!0):this.errorMessage="",this.updatePrevSubmissions()})}},Yn=t=>(s.pushScopeId("data-v-2a2f8754"),t=t(),s.popScopeId(),t),ZL={key:0,class:"toggle-button"},XL={class:"block"},JL=Yn(()=>s.createElementVNode("div",{class:"title"},"Feature Annotations",-1)),QL={class:"title-buttons"},eM={key:0},tM=["href"],rM=Yn(()=>s.createElementVNode("strong",{class:"sub-title"},"Previous submissions:",-1)),nM=Yn(()=>s.createElementVNode("strong",null,"Evidence:  ",-1)),aM=["href"],iM={key:1},oM={key:2},sM=Yn(()=>s.createElementVNode("strong",null,"Comment:  ",-1)),lM=Yn(()=>s.createElementVNode("strong",{class:"sub-title"},"Suggest changes:",-1)),uM=Yn(()=>s.createElementVNode("strong",null,"Evidence:",-1)),cM=Yn(()=>s.createElementVNode("strong",null,"Comment:",-1)),dM={class:"sub-title"};function fM(t,e,r,n,a,i){const o=Ht,l=Oa,c=us,u=as,d=Ne.ArrowUp,f=ut,h=Ne.ArrowDown,v=Ne.Edit,p=Ne.Delete,g=Ne.Finished,m=Ri,y=Ne.Close,b=mL,w=gL,C=Di,x=ku;return s.openBlock(),s.createBlock(x,{class:"main"},{default:s.withCtx(()=>[r.annotationEntry.length>1?(s.openBlock(),s.createElementBlock("div",ZL,[s.createVNode(l,{width:"auto",trigger:"hover",teleported:!1},{reference:s.withCtx(()=>[s.createVNode(o,{class:"button",onClick:i.previous,disabled:this.entryIndex===0},{default:s.withCtx(()=>[s.createTextVNode(" Previous ")]),_:1},8,["onClick","disabled"])]),default:s.withCtx(()=>[s.createElementVNode("span",null,s.toDisplayString(i.previousLabel),1)]),_:1}),s.createVNode(l,{width:"auto",trigger:"hover",teleported:!1},{reference:s.withCtx(()=>[s.createVNode(o,{class:"button",onClick:i.next,disabled:this.entryIndex===this.annotationEntry.length-1},{default:s.withCtx(()=>[s.createTextVNode(" Next ")]),_:1},8,["onClick","disabled"])]),default:s.withCtx(()=>[s.createElementVNode("span",null,s.toDisplayString(i.nextLabel),1)]),_:1})])):s.createCommentVNode("",!0),s.createElementVNode("div",XL,[s.createVNode(u,{class:"info-field"},{default:s.withCtx(()=>[JL,s.createElementVNode("div",QL,[s.createVNode(c,{onCopied:i.onCopied,content:i.updatedCopyContent},null,8,["onCopied","content"])])]),_:1}),i.entry?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(t.displayPair,(k,E)=>s.withDirectives((s.openBlock(),s.createBlock(u,{class:"dialog-text",key:k},{default:s.withCtx(()=>[s.createElementVNode("strong",null,s.toDisplayString(E)+": ",1),s.createTextVNode("  "),E!=="Ontology"?(s.openBlock(),s.createElementBlock("span",eM,s.toDisplayString(i.entry[k]),1)):(s.openBlock(),s.createElementBlock("a",{key:1,href:i.ontologyLink,target:"_blank"},s.toDisplayString(i.entry[k]),9,tM))]),_:2},1024)),[[s.vShow,i.entry[k]]])),128)),t.prevSubs.length>0?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[s.withDirectives(s.createElementVNode("div",{class:"hide",onClick:e[0]||(e[0]=k=>t.showSubmissions=!1)},[s.createTextVNode(" Hide previous submissions "),s.createVNode(f,null,{default:s.withCtx(()=>[s.createVNode(d)]),_:1})],512),[[s.vShow,t.showSubmissions]]),s.withDirectives(s.createElementVNode("div",{class:"hide",onClick:e[1]||(e[1]=k=>t.showSubmissions=!0)},[s.createTextVNode(" Show previous "+s.toDisplayString(t.prevSubs.length)+" submission(s) ",1),s.createVNode(f,null,{default:s.withCtx(()=>[s.createVNode(h)]),_:1})],512),[[s.vShow,!t.showSubmissions]]),t.showSubmissions?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[s.createVNode(u,{class:"dialog-spacer"}),s.createVNode(u,{class:"dialog-text"},{default:s.withCtx(()=>[rM]),_:1}),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(t.prevSubs,(k,E)=>(s.openBlock(),s.createElementBlock("div",{class:"entry",key:E},[k.creator?(s.openBlock(),s.createBlock(u,{key:0,class:"dialog-text"},{default:s.withCtx(()=>[s.createElementVNode("strong",null,s.toDisplayString(i.formatTime(k.created)),1),s.createTextVNode(" "+s.toDisplayString(k.creator.name),1)]),_:2},1024)):s.createCommentVNode("",!0),s.createVNode(u,{class:"dialog-text"},{default:s.withCtx(()=>[nM,(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(i.processEvidences(k),(_,S)=>(s.openBlock(),s.createBlock(u,{key:_,class:"dialog-text"},{default:s.withCtx(()=>[typeof _=="object"?(s.openBlock(),s.createElementBlock("a",{key:0,href:Object.values(_)[0],target:"_blank"},s.toDisplayString(Object.keys(_)[0]),9,aM)):(s.openBlock(),s.createElementBlock("span",iM,s.toDisplayString(_),1)),S!==k.body.evidence.length-1?(s.openBlock(),s.createElementBlock("span",oM,", ")):s.createCommentVNode("",!0)]),_:2},1024))),128))]),_:2},1024),s.createVNode(u,{class:"dialog-text"},{default:s.withCtx(()=>[sM,s.createTextVNode(" "+s.toDisplayString(k.body.comment),1)]),_:2},1024)]))),128))],64)):s.createCommentVNode("",!0)],64)):s.createCommentVNode("",!0),t.authenticated||i.offlineAnnotationEnabled?(s.openBlock(),s.createElementBlock(s.Fragment,{key:1},[i.isEditable?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[s.createVNode(u,{class:"dialog-spacer"}),t.editing?(s.openBlock(),s.createElementBlock(s.Fragment,{key:1},[s.createVNode(u,{class:"dialog-text"},{default:s.withCtx(()=>[lM]),_:1}),i.isDeleted?s.createCommentVNode("",!0):(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[s.createVNode(u,{class:"dialog-text"},{default:s.withCtx(()=>[uM]),_:1}),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(t.evidence,(k,E)=>(s.openBlock(),s.createBlock(u,{key:k},{default:s.withCtx(()=>[s.createVNode(m,{span:20},{default:s.withCtx(()=>[s.createTextVNode(s.toDisplayString(t.evidence[E]),1)]),_:2},1024),s.createVNode(m,{span:4},{default:s.withCtx(()=>[s.createVNode(f,{class:"standard-icon"},{default:s.withCtx(()=>[s.createVNode(y,{onClick:_=>i.removeEvidence(E)},null,8,["onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128)),s.createVNode(u,null,{default:s.withCtx(()=>[s.createVNode(C,{size:"small",placeholder:"Enter",modelValue:t.newEvidence,"onUpdate:modelValue":e[4]||(e[4]=k=>t.newEvidence=k),onChange:e[5]||(e[5]=k=>i.evidenceEntered(k))},{prepend:s.withCtx(()=>[s.createVNode(w,{teleported:!1,modelValue:t.evidencePrefix,"onUpdate:modelValue":e[3]||(e[3]=k=>t.evidencePrefix=k),placeholder:"Other:",class:"select-box","popper-class":"flatmap_dropdown"},{default:s.withCtx(()=>[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(t.evidencePrefixes,k=>(s.openBlock(),s.createBlock(b,{key:k.label,value:k.value},{default:s.withCtx(()=>[s.createVNode(u,null,{default:s.withCtx(()=>[s.createVNode(m,{span:12},{default:s.withCtx(()=>[s.createTextVNode(s.toDisplayString(k.label),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])]),_:1})],64)),s.createVNode(u,null,{default:s.withCtx(()=>[cM]),_:1}),s.createVNode(u,{class:"dialog-text"},{default:s.withCtx(()=>[s.createVNode(C,{type:"textarea",autosize:{minRows:2,maxRows:4},placeholder:"Enter",modelValue:t.comment,"onUpdate:modelValue":e[6]||(e[6]=k=>t.comment=k)},null,8,["modelValue"])]),_:1}),s.createVNode(u,{class:"dialog-text"},{default:s.withCtx(()=>[s.createVNode(o,{class:"button",type:"primary",plain:"",onClick:i.submit},{default:s.withCtx(()=>[s.createTextVNode(" Submit ")]),_:1},8,["onClick"])]),_:1})],64)):(s.openBlock(),s.createBlock(u,{key:0},{default:s.withCtx(()=>[s.createVNode(f,{class:"standard-icon"},{default:s.withCtx(()=>[s.createVNode(v,{onClick:e[2]||(e[2]=k=>t.editing=!0)})]),_:1}),i.isDeleted?(s.openBlock(),s.createBlock(f,{key:0,class:"standard-icon"},{default:s.withCtx(()=>[s.createVNode(p,{onClick:i.submit},null,8,["onClick"])]),_:1})):i.isPositionUpdated?(s.openBlock(),s.createBlock(f,{key:1,class:"standard-icon"},{default:s.withCtx(()=>[s.createVNode(g,{onClick:i.submit},null,8,["onClick"])]),_:1})):s.createCommentVNode("",!0)]),_:1})),t.errorMessage?(s.openBlock(),s.createBlock(u,{key:2,class:"dialog-text"},{default:s.withCtx(()=>[s.createElementVNode("strong",dM,s.toDisplayString(t.errorMessage),1)]),_:1})):s.createCommentVNode("",!0)],64)):s.createCommentVNode("",!0)],64)):s.createCommentVNode("",!0)],64)):s.createCommentVNode("",!0)])]),_:1})}const g0=Yt(YL,[["render",fM],["__scopeId","data-v-2a2f8754"]]),hM={name:"CreateTooltipContent",components:{Button:Ht,Col:Ri,Container:xu,Header:o0,Input:Di,Main:ku},props:{createData:{type:Object}},watch:{"createData.shape":{handler:function(t,e){this.group=t,e!==void 0&&this.$emit("cancel-create")},immediate:!0}},computed:{confirmText:function(){return this.createData.editingIndex>-1?"Edit":"Confirm"}},data:function(){return{group:"default",region:"",showPoint:!1}},methods:{confirm:function(){this.$emit("confirm-create",{region:"__annotation/"+this.region,group:this.group,shape:this.createData.shape,editingIndex:this.createData.editingIndex}),this.group=this.createData.shape},cancel:function(){this.$emit("cancel-create")}}},pM=(t=>(s.pushScopeId("data-v-d61c5879"),t=t(),s.popScopeId(),t))(()=>s.createElementVNode("span",{class:"create-text"}," Primitives will be created in the __annotation region ",-1));function vM(t,e,r,n,a,i){const o=o0,l=Ri,c=as,u=Di,d=Ht,f=ku,h=xu;return s.openBlock(),s.createBlock(h,{class:"create-container"},{default:s.withCtx(()=>[s.createVNode(o,{height:"30px",class:"header"},{default:s.withCtx(()=>[s.createElementVNode("div",null,"Create "+s.toDisplayString(r.createData.shape),1)]),_:1}),s.createVNode(f,{class:"slides-block"},{default:s.withCtx(()=>[pM,s.withDirectives(s.createVNode(c,{class:"row"},{default:s.withCtx(()=>[s.createVNode(l,{offset:0,span:8},{default:s.withCtx(()=>[s.createTextVNode(" Position: ")]),_:1}),s.createVNode(l,{offset:0,span:16},{default:s.withCtx(()=>[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(r.createData.points,({value:v,i:p})=>(s.openBlock(),s.createBlock(c,{key:p,class:"value"},{default:s.withCtx(()=>[s.createTextVNode(s.toDisplayString(p),1)]),_:2},1024))),128))]),_:1})]),_:1},512),[[s.vShow,t.showPoint]]),s.createVNode(c,{class:"row"},{default:s.withCtx(()=>[s.createVNode(l,{offset:0,span:8},{default:s.withCtx(()=>[s.createTextVNode(" Region: ")]),_:1}),s.createVNode(l,{offset:0,span:16},{default:s.withCtx(()=>[s.createVNode(u,{modelValue:t.region,"onUpdate:modelValue":e[0]||(e[0]=v=>t.region=v),placeholder:"__annotation",size:"small"},null,8,["modelValue"])]),_:1})]),_:1}),s.createVNode(c,{class:"row"},{default:s.withCtx(()=>[s.createVNode(l,{offset:0,span:8},{default:s.withCtx(()=>[s.createTextVNode(" Group: ")]),_:1}),s.createVNode(l,{offset:0,span:16},{default:s.withCtx(()=>[s.createVNode(u,{modelValue:t.group,"onUpdate:modelValue":e[1]||(e[1]=v=>t.group=v),placeholder:r.createData.shape,size:"small"},null,8,["modelValue","placeholder"])]),_:1})]),_:1}),s.createVNode(c,null,{default:s.withCtx(()=>[s.createVNode(l,{offset:0,span:12},{default:s.withCtx(()=>[s.createVNode(d,{type:"primary",plain:"",onClick:i.confirm},{default:s.withCtx(()=>[s.createTextVNode(s.toDisplayString(i.confirmText),1)]),_:1},8,["onClick"])]),_:1}),s.createVNode(l,{offset:0,span:12},{default:s.withCtx(()=>[s.createVNode(d,{type:"primary",plain:"",onClick:i.cancel},{default:s.withCtx(()=>[s.createTextVNode(" Cancel ")]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1})]),_:1})}const gM=Yt(hM,[["render",vM],["__scopeId","data-v-d61c5879"]]);function ct(t){"@babel/helpers - typeof";return ct=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ct(t)}function Du(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function mM(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function Ou(t,e,r){return e&&mM(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t}function m0(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function vr(t,e){return yM(t)||bM(t,e)||y0(t,e)||wM()}function yM(t){if(Array.isArray(t))return t}function bM(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],a=!0,i=!1,o,l;try{for(r=r.call(t);!(a=(o=r.next()).done)&&(n.push(o.value),!(e&&n.length===e));a=!0);}catch(c){i=!0,l=c}finally{try{!a&&r.return!=null&&r.return()}finally{if(i)throw l}}return n}}function y0(t,e){if(t){if(typeof t=="string")return b0(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return b0(t,e)}}function b0(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function wM(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
29
+ <br>`)},onCopied:function(){const t=this.annotationEntry[this.entryIndex],e={event_name:"portal_maps_annotation_copy_content",category:String((t==null?void 0:t.featureId)||"")};this.trackEvent(e)},trackEvent:function(t){const e={event:"interaction_event",location:"map_annotation",...t};this.$emit("trackEvent",e)}},watch:{annotationEntry:{deep:!0,immediate:!0,handler:function(t,e){t!==e&&(this.entryIndex=0,t!=null&&t.length&&this.emitActiveItemChange())}},entry:{deep:!0,immediate:!0,handler:function(t,e){t&&t!==e&&(this.resetSubmission(),this.updatePrevSubmissions())}}},mounted:function(){var t;(t=this.$annotator)==null||t.authenticate(this.userApiKey).then(e=>{e.name&&e.email&&e.canUpdate?(this.creator=e,e.orcid||(this.creator.orcid="0000-0000-0000-0000"),this.authenticated=!0):this.errorMessage="",this.updatePrevSubmissions()})}},Yn=t=>(s.pushScopeId("data-v-2a2f8754"),t=t(),s.popScopeId(),t),ZL={key:0,class:"toggle-button"},XL={class:"block"},JL=Yn(()=>s.createElementVNode("div",{class:"title"},"Feature Annotations",-1)),QL={class:"title-buttons"},eM={key:0},tM=["href"],rM=Yn(()=>s.createElementVNode("strong",{class:"sub-title"},"Previous submissions:",-1)),nM=Yn(()=>s.createElementVNode("strong",null,"Evidence:  ",-1)),aM=["href"],iM={key:1},oM={key:2},sM=Yn(()=>s.createElementVNode("strong",null,"Comment:  ",-1)),lM=Yn(()=>s.createElementVNode("strong",{class:"sub-title"},"Suggest changes:",-1)),uM=Yn(()=>s.createElementVNode("strong",null,"Evidence:",-1)),cM=Yn(()=>s.createElementVNode("strong",null,"Comment:",-1)),dM={class:"sub-title"};function fM(t,e,r,n,a,i){const o=Ht,l=Oa,c=us,u=as,d=Ne.ArrowUp,f=ut,h=Ne.ArrowDown,v=Ne.Edit,p=Ne.Delete,g=Ne.Finished,m=Ri,y=Ne.Close,b=mL,w=gL,C=Di,x=ku;return s.openBlock(),s.createBlock(x,{class:"main"},{default:s.withCtx(()=>[r.annotationEntry.length>1?(s.openBlock(),s.createElementBlock("div",ZL,[s.createVNode(l,{width:"auto",trigger:"hover",teleported:!1},{reference:s.withCtx(()=>[s.createVNode(o,{class:"button",onClick:i.previous,disabled:this.entryIndex===0},{default:s.withCtx(()=>[s.createTextVNode(" Previous ")]),_:1},8,["onClick","disabled"])]),default:s.withCtx(()=>[s.createElementVNode("span",null,s.toDisplayString(i.previousLabel),1)]),_:1}),s.createVNode(l,{width:"auto",trigger:"hover",teleported:!1},{reference:s.withCtx(()=>[s.createVNode(o,{class:"button",onClick:i.next,disabled:this.entryIndex===this.annotationEntry.length-1},{default:s.withCtx(()=>[s.createTextVNode(" Next ")]),_:1},8,["onClick","disabled"])]),default:s.withCtx(()=>[s.createElementVNode("span",null,s.toDisplayString(i.nextLabel),1)]),_:1})])):s.createCommentVNode("",!0),s.createElementVNode("div",XL,[s.createVNode(u,{class:"info-field"},{default:s.withCtx(()=>[JL,s.createElementVNode("div",QL,[s.createVNode(c,{onCopied:i.onCopied,content:i.updatedCopyContent},null,8,["onCopied","content"])])]),_:1}),i.entry?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(t.displayPair,(k,E)=>s.withDirectives((s.openBlock(),s.createBlock(u,{class:"dialog-text",key:k},{default:s.withCtx(()=>[s.createElementVNode("strong",null,s.toDisplayString(E)+": ",1),s.createTextVNode("  "),E!=="Ontology"?(s.openBlock(),s.createElementBlock("span",eM,s.toDisplayString(i.entry[k]),1)):(s.openBlock(),s.createElementBlock("a",{key:1,href:i.ontologyLink,target:"_blank"},s.toDisplayString(i.entry[k]),9,tM))]),_:2},1024)),[[s.vShow,i.entry[k]]])),128)),t.prevSubs.length>0?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[s.withDirectives(s.createElementVNode("div",{class:"hide",onClick:e[0]||(e[0]=k=>t.showSubmissions=!1)},[s.createTextVNode(" Hide previous submissions "),s.createVNode(f,null,{default:s.withCtx(()=>[s.createVNode(d)]),_:1})],512),[[s.vShow,t.showSubmissions]]),s.withDirectives(s.createElementVNode("div",{class:"hide",onClick:e[1]||(e[1]=k=>t.showSubmissions=!0)},[s.createTextVNode(" Show previous "+s.toDisplayString(t.prevSubs.length)+" submission(s) ",1),s.createVNode(f,null,{default:s.withCtx(()=>[s.createVNode(h)]),_:1})],512),[[s.vShow,!t.showSubmissions]]),t.showSubmissions?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[s.createVNode(u,{class:"dialog-spacer"}),s.createVNode(u,{class:"dialog-text"},{default:s.withCtx(()=>[rM]),_:1}),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(t.prevSubs,(k,E)=>(s.openBlock(),s.createElementBlock("div",{class:"entry",key:E},[k.creator?(s.openBlock(),s.createBlock(u,{key:0,class:"dialog-text"},{default:s.withCtx(()=>[s.createElementVNode("strong",null,s.toDisplayString(i.formatTime(k.created)),1),s.createTextVNode(" "+s.toDisplayString(k.creator.name),1)]),_:2},1024)):s.createCommentVNode("",!0),s.createVNode(u,{class:"dialog-text"},{default:s.withCtx(()=>[nM,(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(i.processEvidences(k),(_,S)=>(s.openBlock(),s.createBlock(u,{key:_,class:"dialog-text"},{default:s.withCtx(()=>[typeof _=="object"?(s.openBlock(),s.createElementBlock("a",{key:0,href:Object.values(_)[0],target:"_blank"},s.toDisplayString(Object.keys(_)[0]),9,aM)):(s.openBlock(),s.createElementBlock("span",iM,s.toDisplayString(_),1)),S!==k.body.evidence.length-1?(s.openBlock(),s.createElementBlock("span",oM,", ")):s.createCommentVNode("",!0)]),_:2},1024))),128))]),_:2},1024),s.createVNode(u,{class:"dialog-text"},{default:s.withCtx(()=>[sM,s.createTextVNode(" "+s.toDisplayString(k.body.comment),1)]),_:2},1024)]))),128))],64)):s.createCommentVNode("",!0)],64)):s.createCommentVNode("",!0),t.authenticated||i.offlineAnnotationEnabled?(s.openBlock(),s.createElementBlock(s.Fragment,{key:1},[i.isEditable?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[s.createVNode(u,{class:"dialog-spacer"}),t.editing?(s.openBlock(),s.createElementBlock(s.Fragment,{key:1},[s.createVNode(u,{class:"dialog-text"},{default:s.withCtx(()=>[lM]),_:1}),i.isDeleted?s.createCommentVNode("",!0):(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[s.createVNode(u,{class:"dialog-text"},{default:s.withCtx(()=>[uM]),_:1}),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(t.evidence,(k,E)=>(s.openBlock(),s.createBlock(u,{key:k},{default:s.withCtx(()=>[s.createVNode(m,{span:20},{default:s.withCtx(()=>[s.createTextVNode(s.toDisplayString(t.evidence[E]),1)]),_:2},1024),s.createVNode(m,{span:4},{default:s.withCtx(()=>[s.createVNode(f,{class:"standard-icon"},{default:s.withCtx(()=>[s.createVNode(y,{onClick:_=>i.removeEvidence(E)},null,8,["onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128)),s.createVNode(u,null,{default:s.withCtx(()=>[s.createVNode(C,{size:"small",placeholder:"Enter",modelValue:t.newEvidence,"onUpdate:modelValue":e[4]||(e[4]=k=>t.newEvidence=k),onChange:e[5]||(e[5]=k=>i.evidenceEntered(k))},{prepend:s.withCtx(()=>[s.createVNode(w,{teleported:!1,modelValue:t.evidencePrefix,"onUpdate:modelValue":e[3]||(e[3]=k=>t.evidencePrefix=k),placeholder:"Other:",class:"select-box","popper-class":"flatmap_dropdown"},{default:s.withCtx(()=>[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(t.evidencePrefixes,k=>(s.openBlock(),s.createBlock(b,{key:k.label,value:k.value},{default:s.withCtx(()=>[s.createVNode(u,null,{default:s.withCtx(()=>[s.createVNode(m,{span:12},{default:s.withCtx(()=>[s.createTextVNode(s.toDisplayString(k.label),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])]),_:1})],64)),s.createVNode(u,null,{default:s.withCtx(()=>[cM]),_:1}),s.createVNode(u,{class:"dialog-text"},{default:s.withCtx(()=>[s.createVNode(C,{type:"textarea",autosize:{minRows:2,maxRows:4},placeholder:"Enter",modelValue:t.comment,"onUpdate:modelValue":e[6]||(e[6]=k=>t.comment=k)},null,8,["modelValue"])]),_:1}),s.createVNode(u,{class:"dialog-text"},{default:s.withCtx(()=>[s.createVNode(o,{class:"button",type:"primary",plain:"",onClick:i.submit},{default:s.withCtx(()=>[s.createTextVNode(" Submit ")]),_:1},8,["onClick"])]),_:1})],64)):(s.openBlock(),s.createBlock(u,{key:0},{default:s.withCtx(()=>[s.createVNode(f,{class:"standard-icon"},{default:s.withCtx(()=>[s.createVNode(v,{onClick:e[2]||(e[2]=k=>t.editing=!0)})]),_:1}),i.isDeleted?(s.openBlock(),s.createBlock(f,{key:0,class:"standard-icon"},{default:s.withCtx(()=>[s.createVNode(p,{onClick:i.submit},null,8,["onClick"])]),_:1})):i.isPositionUpdated?(s.openBlock(),s.createBlock(f,{key:1,class:"standard-icon"},{default:s.withCtx(()=>[s.createVNode(g,{onClick:i.submit},null,8,["onClick"])]),_:1})):s.createCommentVNode("",!0)]),_:1})),t.errorMessage?(s.openBlock(),s.createBlock(u,{key:2,class:"dialog-text"},{default:s.withCtx(()=>[s.createElementVNode("strong",dM,s.toDisplayString(t.errorMessage),1)]),_:1})):s.createCommentVNode("",!0)],64)):s.createCommentVNode("",!0)],64)):s.createCommentVNode("",!0)],64)):s.createCommentVNode("",!0)])]),_:1})}const g0=Yt(YL,[["render",fM],["__scopeId","data-v-2a2f8754"]]),hM={name:"CreateTooltipContent",components:{Button:Ht,Col:Ri,Container:xu,Header:o0,Input:Di,Main:ku},props:{createData:{type:Object}},watch:{"createData.shape":{handler:function(t,e){this.group=this.createData.tempGroupName?this.createData.tempGroupName:t,e!==void 0&&this.$emit("cancel-create")},immediate:!0},"createData.tempGroupName":{handler:function(t,e){this.group=t||this.createData.shape},immediate:!0}},computed:{confirmText:function(){return this.createData.editingIndex>-1?"Edit":"Confirm"},dialogTitle:function(){return this.createData.editingIndex>-1?`Edit ${this.createData.shape}`:`Create ${this.createData.shape}`}},data:function(){return{group:"default",region:"",showPoint:!1}},methods:{confirm:function(){this.$emit("confirm-create",{region:"__annotation/"+this.region,group:this.group,shape:this.createData.shape,editingIndex:this.createData.editingIndex}),this.group=this.createData.shape},cancel:function(){this.$emit("cancel-create")}}},pM={key:0,class:"create-text"};function vM(t,e,r,n,a,i){const o=o0,l=Ri,c=as,u=Di,d=Ht,f=ku,h=xu;return s.openBlock(),s.createBlock(h,{class:"create-container"},{default:s.withCtx(()=>[s.createVNode(o,{height:"30px",class:"header"},{default:s.withCtx(()=>[s.createElementVNode("div",null,s.toDisplayString(i.dialogTitle),1)]),_:1}),s.createVNode(f,{class:"slides-block"},{default:s.withCtx(()=>[r.createData.editingIndex===-1?(s.openBlock(),s.createElementBlock("span",pM," Primitives will be created in the __annotation region ")):s.createCommentVNode("",!0),s.withDirectives(s.createVNode(c,{class:"row"},{default:s.withCtx(()=>[s.createVNode(l,{offset:0,span:8},{default:s.withCtx(()=>[s.createTextVNode(" Position: ")]),_:1}),s.createVNode(l,{offset:0,span:16},{default:s.withCtx(()=>[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(r.createData.points,({value:v,i:p})=>(s.openBlock(),s.createBlock(c,{key:p,class:"value"},{default:s.withCtx(()=>[s.createTextVNode(s.toDisplayString(p),1)]),_:2},1024))),128))]),_:1})]),_:1},512),[[s.vShow,t.showPoint]]),s.createVNode(c,{class:"row"},{default:s.withCtx(()=>[s.createVNode(l,{offset:0,span:8},{default:s.withCtx(()=>[s.createTextVNode(" Region: ")]),_:1}),s.createVNode(l,{offset:0,span:16},{default:s.withCtx(()=>[s.createVNode(u,{modelValue:t.region,"onUpdate:modelValue":e[0]||(e[0]=v=>t.region=v),placeholder:"__annotation",size:"small"},null,8,["modelValue"])]),_:1})]),_:1}),s.createVNode(c,{class:"row"},{default:s.withCtx(()=>[s.createVNode(l,{offset:0,span:8},{default:s.withCtx(()=>[s.createTextVNode(" Group: ")]),_:1}),s.createVNode(l,{offset:0,span:16},{default:s.withCtx(()=>[s.createVNode(u,{modelValue:t.group,"onUpdate:modelValue":e[1]||(e[1]=v=>t.group=v),placeholder:r.createData.shape,size:"small"},null,8,["modelValue","placeholder"])]),_:1})]),_:1}),s.createVNode(c,null,{default:s.withCtx(()=>[s.createVNode(l,{offset:0,span:12},{default:s.withCtx(()=>[s.createVNode(d,{type:"primary",plain:"",onClick:i.confirm},{default:s.withCtx(()=>[s.createTextVNode(s.toDisplayString(i.confirmText),1)]),_:1},8,["onClick"])]),_:1}),s.createVNode(l,{offset:0,span:12},{default:s.withCtx(()=>[s.createVNode(d,{type:"primary",plain:"",onClick:i.cancel},{default:s.withCtx(()=>[s.createTextVNode(" Cancel ")]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1})]),_:1})}const gM=Yt(hM,[["render",vM],["__scopeId","data-v-e1fc3071"]]);function ct(t){"@babel/helpers - typeof";return ct=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ct(t)}function Du(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function mM(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function Ou(t,e,r){return e&&mM(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t}function m0(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function vr(t,e){return yM(t)||bM(t,e)||y0(t,e)||wM()}function yM(t){if(Array.isArray(t))return t}function bM(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],a=!0,i=!1,o,l;try{for(r=r.call(t);!(a=(o=r.next()).done)&&(n.push(o.value),!(e&&n.length===e));a=!0);}catch(c){i=!0,l=c}finally{try{!a&&r.return!=null&&r.return()}finally{if(i)throw l}}return n}}function y0(t,e){if(t){if(typeof t=="string")return b0(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return b0(t,e)}}function b0(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function wM(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
30
30
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function w0(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=y0(t))||e){r&&(t=r);var n=0,a=function(){};return{s:a,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(c){throw c},f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
31
31
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,o=!1,l;return{s:function(){r=r.call(t)},n:function(){var c=r.next();return i=c.done,c},e:function(c){o=!0,l=c},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(o)throw l}}}}var dt=typeof window>"u"?null:window,C0=dt?dt.navigator:null;dt&&dt.document;var CM=ct(""),E0=ct({}),EM=ct(function(){}),xM=typeof HTMLElement>"u"?"undefined":ct(HTMLElement),qi=function(e){return e&&e.instanceString&&Xe(e.instanceString)?e.instanceString():null},Ee=function(e){return e!=null&&ct(e)==CM},Xe=function(e){return e!=null&&ct(e)===EM},Ke=function(e){return!Zt(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},Ae=function(e){return e!=null&&ct(e)===E0&&!Ke(e)&&e.constructor===Object},kM=function(e){return e!=null&&ct(e)===E0},de=function(e){return e!=null&&ct(e)===ct(1)&&!isNaN(e)},SM=function(e){return de(e)&&Math.floor(e)===e},cs=function(e){if(xM!=="undefined")return e!=null&&e instanceof HTMLElement},Zt=function(e){return zi(e)||x0(e)},zi=function(e){return qi(e)==="collection"&&e._private.single},x0=function(e){return qi(e)==="collection"&&!e._private.single},Pu=function(e){return qi(e)==="core"},k0=function(e){return qi(e)==="stylesheet"},_M=function(e){return qi(e)==="event"},mn=function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},TM=function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},NM=function(e){return Ae(e)&&de(e.x1)&&de(e.x2)&&de(e.y1)&&de(e.y2)},IM=function(e){return kM(e)&&Xe(e.then)},BM=function(){return C0&&C0.userAgent.match(/msie|trident|edge/i)},Hi=function(e,r){r||(r=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var i=[],o=0;o<arguments.length;o++)i.push(arguments[o]);return i.join("$")});var n=function a(){var i=this,o=arguments,l,c=r.apply(i,o),u=a.cache;return(l=u[c])||(l=u[c]=e.apply(i,o)),l};return n.cache={},n},Au=Hi(function(t){return t.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}),ds=Hi(function(t){return t.replace(/(-\w)/g,function(e){return e[1].toUpperCase()})}),S0=Hi(function(t,e){return t+e[0].toUpperCase()+e.substring(1)},function(t,e){return t+"$"+e}),_0=function(e){return mn(e)?e:e.charAt(0).toUpperCase()+e.substring(1)},ft="(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))",DM="rgb[a]?\\(("+ft+"[%]?)\\s*,\\s*("+ft+"[%]?)\\s*,\\s*("+ft+"[%]?)(?:\\s*,\\s*("+ft+"))?\\)",OM="rgb[a]?\\((?:"+ft+"[%]?)\\s*,\\s*(?:"+ft+"[%]?)\\s*,\\s*(?:"+ft+"[%]?)(?:\\s*,\\s*(?:"+ft+"))?\\)",PM="hsl[a]?\\(("+ft+")\\s*,\\s*("+ft+"[%])\\s*,\\s*("+ft+"[%])(?:\\s*,\\s*("+ft+"))?\\)",AM="hsl[a]?\\((?:"+ft+")\\s*,\\s*(?:"+ft+"[%])\\s*,\\s*(?:"+ft+"[%])(?:\\s*,\\s*(?:"+ft+"))?\\)",RM="\\#[0-9a-fA-F]{3}",LM="\\#[0-9a-fA-F]{6}",T0=function(e,r){return e<r?-1:e>r?1:0},MM=function(e,r){return-1*T0(e,r)},Se=Object.assign!=null?Object.assign.bind(Object):function(t){for(var e=arguments,r=1;r<e.length;r++){var n=e[r];if(n!=null)for(var a=Object.keys(n),i=0;i<a.length;i++){var o=a[i];t[o]=n[o]}}return t},FM=function(e){if(!(!(e.length===4||e.length===7)||e[0]!=="#")){var r=e.length===4,n,a,i,o=16;return r?(n=parseInt(e[1]+e[1],o),a=parseInt(e[2]+e[2],o),i=parseInt(e[3]+e[3],o)):(n=parseInt(e[1]+e[2],o),a=parseInt(e[3]+e[4],o),i=parseInt(e[5]+e[6],o)),[n,a,i]}},$M=function(e){var r,n,a,i,o,l,c,u;function d(p,g,m){return m<0&&(m+=1),m>1&&(m-=1),m<1/6?p+(g-p)*6*m:m<1/2?g:m<2/3?p+(g-p)*(2/3-m)*6:p}var f=new RegExp("^"+PM+"$").exec(e);if(f){if(n=parseInt(f[1]),n<0?n=(360- -1*n%360)%360:n>360&&(n=n%360),n/=360,a=parseFloat(f[2]),a<0||a>100||(a=a/100,i=parseFloat(f[3]),i<0||i>100)||(i=i/100,o=f[4],o!==void 0&&(o=parseFloat(o),o<0||o>1)))return;if(a===0)l=c=u=Math.round(i*255);else{var h=i<.5?i*(1+a):i+a-i*a,v=2*i-h;l=Math.round(255*d(v,h,n+1/3)),c=Math.round(255*d(v,h,n)),u=Math.round(255*d(v,h,n-1/3))}r=[l,c,u,o]}return r},VM=function(e){var r,n=new RegExp("^"+DM+"$").exec(e);if(n){r=[];for(var a=[],i=1;i<=3;i++){var o=n[i];if(o[o.length-1]==="%"&&(a[i]=!0),o=parseFloat(o),a[i]&&(o=o/100*255),o<0||o>255)return;r.push(Math.floor(o))}var l=a[1]||a[2]||a[3],c=a[1]&&a[2]&&a[3];if(l&&!c)return;var u=n[4];if(u!==void 0){if(u=parseFloat(u),u<0||u>1)return;r.push(u)}}return r},qM=function(e){return HM[e.toLowerCase()]},zM=function(e){return(Ke(e)?e:null)||qM(e)||FM(e)||VM(e)||$M(e)},HM={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},N0=function(e){for(var r=e.map,n=e.keys,a=n.length,i=0;i<a;i++){var o=n[i];if(Ae(o))throw Error("Tried to set map with object key");i<n.length-1?(r[o]==null&&(r[o]={}),r=r[o]):r[o]=e.value}},I0=function(e){for(var r=e.map,n=e.keys,a=n.length,i=0;i<a;i++){var o=n[i];if(Ae(o))throw Error("Tried to get map with object key");if(r=r[o],r==null)return r}return r};function KM(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var Zn=KM,Ki=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function GM(t,e){return e={exports:{}},t(e,e.exports),e.exports}var UM=typeof Ki=="object"&&Ki&&Ki.Object===Object&&Ki,jM=UM,WM=typeof self=="object"&&self&&self.Object===Object&&self,YM=jM||WM||Function("return this")(),fs=YM,ZM=function(){return fs.Date.now()},Ru=ZM,XM=/\s/;function JM(t){for(var e=t.length;e--&&XM.test(t.charAt(e)););return e}var QM=JM,eF=/^\s+/;function tF(t){return t&&t.slice(0,QM(t)+1).replace(eF,"")}var rF=tF,nF=fs.Symbol,Aa=nF,B0=Object.prototype,aF=B0.hasOwnProperty,iF=B0.toString,Gi=Aa?Aa.toStringTag:void 0;function oF(t){var e=aF.call(t,Gi),r=t[Gi];try{t[Gi]=void 0;var n=!0}catch{}var a=iF.call(t);return n&&(e?t[Gi]=r:delete t[Gi]),a}var sF=oF,lF=Object.prototype,uF=lF.toString;function cF(t){return uF.call(t)}var dF=cF,fF="[object Null]",hF="[object Undefined]",D0=Aa?Aa.toStringTag:void 0;function pF(t){return t==null?t===void 0?hF:fF:D0&&D0 in Object(t)?sF(t):dF(t)}var O0=pF;function vF(t){return t!=null&&typeof t=="object"}var gF=vF,mF="[object Symbol]";function yF(t){return typeof t=="symbol"||gF(t)&&O0(t)==mF}var Ui=yF,P0=NaN,bF=/^[-+]0x[0-9a-f]+$/i,wF=/^0b[01]+$/i,CF=/^0o[0-7]+$/i,EF=parseInt;function xF(t){if(typeof t=="number")return t;if(Ui(t))return P0;if(Zn(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=Zn(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=rF(t);var r=wF.test(t);return r||CF.test(t)?EF(t.slice(2),r?2:8):bF.test(t)?P0:+t}var A0=xF,kF="Expected a function",SF=Math.max,_F=Math.min;function TF(t,e,r){var n,a,i,o,l,c,u=0,d=!1,f=!1,h=!0;if(typeof t!="function")throw new TypeError(kF);e=A0(e)||0,Zn(r)&&(d=!!r.leading,f="maxWait"in r,i=f?SF(A0(r.maxWait)||0,e):i,h="trailing"in r?!!r.trailing:h);function v(k){var E=n,_=a;return n=a=void 0,u=k,o=t.apply(_,E),o}function p(k){return u=k,l=setTimeout(y,e),d?v(k):o}function g(k){var E=k-c,_=k-u,S=e-E;return f?_F(S,i-_):S}function m(k){var E=k-c,_=k-u;return c===void 0||E>=e||E<0||f&&_>=i}function y(){var k=Ru();if(m(k))return b(k);l=setTimeout(y,g(k))}function b(k){return l=void 0,h&&n?v(k):(n=a=void 0,o)}function w(){l!==void 0&&clearTimeout(l),u=0,n=c=a=l=void 0}function C(){return l===void 0?o:b(Ru())}function x(){var k=Ru(),E=m(k);if(n=arguments,a=this,c=k,E){if(l===void 0)return p(c);if(f)return clearTimeout(l),l=setTimeout(y,e),v(c)}return l===void 0&&(l=setTimeout(y,e)),o}return x.cancel=w,x.flush=C,x}var hs=TF,Lu=dt?dt.performance:null,R0=Lu&&Lu.now?function(){return Lu.now()}:function(){return Date.now()},NF=function(){if(dt){if(dt.requestAnimationFrame)return function(t){dt.requestAnimationFrame(t)};if(dt.mozRequestAnimationFrame)return function(t){dt.mozRequestAnimationFrame(t)};if(dt.webkitRequestAnimationFrame)return function(t){dt.webkitRequestAnimationFrame(t)};if(dt.msRequestAnimationFrame)return function(t){dt.msRequestAnimationFrame(t)}}return function(t){t&&setTimeout(function(){t(R0())},1e3/60)}}(),ps=function(e){return NF(e)},Wr=R0,Ra=9261,L0=65599,ji=5381,M0=function(e){for(var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ra,n=r,a;a=e.next(),!a.done;)n=n*L0+a.value|0;return n},Wi=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ra;return r*L0+e|0},Yi=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ji;return(r<<5)+r+e|0},IF=function(e,r){return e*2097152+r},yn=function(e){return e[0]*2097152+e[1]},vs=function(e,r){return[Wi(e[0],r[0]),Yi(e[1],r[1])]},BF=function(e,r){var n={value:0,done:!1},a=0,i=e.length,o={next:function(){return a<i?n.value=e[a++]:n.done=!0,n}};return M0(o,r)},Xn=function(e,r){var n={value:0,done:!1},a=0,i=e.length,o={next:function(){return a<i?n.value=e.charCodeAt(a++):n.done=!0,n}};return M0(o,r)},F0=function(){return DF(arguments)},DF=function(e){for(var r,n=0;n<e.length;n++){var a=e[n];n===0?r=Xn(a):r=Xn(a,r)}return r},$0=!0,OF=console.warn!=null,PF=console.trace!=null,Mu=Number.MAX_SAFE_INTEGER||9007199254740991,V0=function(){return!0},gs=function(){return!1},q0=function(){return 0},Fu=function(){},Je=function(e){throw new Error(e)},z0=function(e){if(e!==void 0)$0=!!e;else return $0},$e=function(e){z0()&&(OF?console.warn(e):(console.log(e),PF&&console.trace()))},AF=function(e){return Se({},e)},Nr=function(e){return e==null?e:Ke(e)?e.slice():Ae(e)?AF(e):e},RF=function(e){return e.slice()},H0=function(e,r){for(r=e="";e++<36;r+=e*51&52?(e^15?8^Math.random()*(e^20?16:4):4).toString(16):"-");return r},LF={},K0=function(){return LF},xt=function(e){var r=Object.keys(e);return function(n){for(var a={},i=0;i<r.length;i++){var o=r[i],l=n==null?void 0:n[o];a[o]=l===void 0?e[o]:l}return a}},bn=function(e,r,n){for(var a=e.length-1;a>=0;a--)e[a]===r&&e.splice(a,1)},$u=function(e){e.splice(0,e.length)},MF=function(e,r){for(var n=0;n<r.length;n++){var a=r[n];e.push(a)}},gr=function(e,r,n){return n&&(r=S0(n,r)),e[r]},wn=function(e,r,n,a){n&&(r=S0(n,r)),e[r]=a},FF=function(){function t(){Du(this,t),this._obj={}}return Ou(t,[{key:"set",value:function(r,n){return this._obj[r]=n,this}},{key:"delete",value:function(r){return this._obj[r]=void 0,this}},{key:"clear",value:function(){this._obj={}}},{key:"has",value:function(r){return this._obj[r]!==void 0}},{key:"get",value:function(r){return this._obj[r]}}]),t}(),Ir=typeof Map<"u"?Map:FF,$F="undefined",VF=function(){function t(e){if(Du(this,t),this._obj=Object.create(null),this.size=0,e!=null){var r;e.instanceString!=null&&e.instanceString()===this.instanceString()?r=e.toArray():r=e;for(var n=0;n<r.length;n++)this.add(r[n])}}return Ou(t,[{key:"instanceString",value:function(){return"set"}},{key:"add",value:function(r){var n=this._obj;n[r]!==1&&(n[r]=1,this.size++)}},{key:"delete",value:function(r){var n=this._obj;n[r]===1&&(n[r]=0,this.size--)}},{key:"clear",value:function(){this._obj=Object.create(null)}},{key:"has",value:function(r){return this._obj[r]===1}},{key:"toArray",value:function(){var r=this;return Object.keys(this._obj).filter(function(n){return r.has(n)})}},{key:"forEach",value:function(r,n){return this.toArray().forEach(r,n)}}]),t}(),La=(typeof Set>"u"?"undefined":ct(Set))!==$F?Set:VF,ms=function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||r===void 0||!Pu(e)){Je("An element must have a core reference and parameters set");return}var a=r.group;if(a==null&&(r.data&&r.data.source!=null&&r.data.target!=null?a="edges":a="nodes"),a!=="nodes"&&a!=="edges"){Je("An element must be of type `nodes` or `edges`; you specified `"+a+"`");return}this.length=1,this[0]=this;var i=this._private={cy:e,single:!0,data:r.data||{},position:r.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:a,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!r.selected,selectable:r.selectable===void 0?!0:!!r.selectable,locked:!!r.locked,grabbed:!1,grabbable:r.grabbable===void 0?!0:!!r.grabbable,pannable:r.pannable===void 0?a==="edges":!!r.pannable,active:!1,classes:new La,animation:{current:[],queue:[]},rscratch:{},scratch:r.scratch||{},edges:[],children:[],parent:r.parent&&r.parent.isNode()?r.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(i.position.x==null&&(i.position.x=0),i.position.y==null&&(i.position.y=0),r.renderedPosition){var o=r.renderedPosition,l=e.pan(),c=e.zoom();i.position={x:(o.x-l.x)/c,y:(o.y-l.y)/c}}var u=[];Ke(r.classes)?u=r.classes:Ee(r.classes)&&(u=r.classes.split(/\s+/));for(var d=0,f=u.length;d<f;d++){var h=u[d];!h||h===""||i.classes.add(h)}this.createEmitter();var v=r.style||r.css;v&&($e("Setting a `style` bypass at element creation should be done only when absolutely necessary. Try to use the stylesheet instead."),this.style(v)),(n===void 0||n)&&this.restore()},G0=function(e){return e={bfs:e.bfs||!e.dfs,dfs:e.dfs||!e.bfs},function(n,a,i){var o;Ae(n)&&!Zt(n)&&(o=n,n=o.roots||o.root,a=o.visit,i=o.directed),i=arguments.length===2&&!Xe(a)?a:i,a=Xe(a)?a:function(){};for(var l=this._private.cy,c=n=Ee(n)?this.filter(n):n,u=[],d=[],f={},h={},v={},p=0,g,m=this.byGroup(),y=m.nodes,b=m.edges,w=0;w<c.length;w++){var C=c[w],x=C.id();C.isNode()&&(u.unshift(C),e.bfs&&(v[x]=!0,d.push(C)),h[x]=0)}for(var k=function(){var O=e.bfs?u.shift():u.pop(),D=O.id();if(e.dfs){if(v[D])return"continue";v[D]=!0,d.push(O)}var R=h[D],P=f[D],L=P!=null?P.source():null,A=P!=null?P.target():null,q=P==null?void 0:O.same(L)?A[0]:L[0],U=void 0;if(U=a(O,P,q,p++,R),U===!0)return g=O,"break";if(U===!1)return"break";for(var z=O.connectedEdges().filter(function(V){return(!i||V.source().same(O))&&b.has(V)}),H=0;H<z.length;H++){var Q=z[H],F=Q.connectedNodes().filter(function(V){return!V.same(O)&&y.has(V)}),$=F.id();F.length!==0&&!v[$]&&(F=F[0],u.push(F),e.bfs&&(v[$]=!0,d.push(F)),f[$]=Q,h[$]=h[D]+1)}};u.length!==0;){var E=k();if(E!=="continue"&&E==="break")break}for(var _=l.collection(),S=0;S<d.length;S++){var T=d[S],N=f[T.id()];N!=null&&_.push(N),_.push(T)}return{path:l.collection(_),found:l.collection(g)}}},Zi={breadthFirstSearch:G0({bfs:!0}),depthFirstSearch:G0({dfs:!0})};Zi.bfs=Zi.breadthFirstSearch,Zi.dfs=Zi.depthFirstSearch;var qF=GM(function(t,e){(function(){var r,n,a,i,o,l,c,u,d,f,h,v,p,g,m;a=Math.floor,f=Math.min,n=function(y,b){return y<b?-1:y>b?1:0},d=function(y,b,w,C,x){var k;if(w==null&&(w=0),x==null&&(x=n),w<0)throw new Error("lo must be non-negative");for(C==null&&(C=y.length);w<C;)k=a((w+C)/2),x(b,y[k])<0?C=k:w=k+1;return[].splice.apply(y,[w,w-w].concat(b)),b},l=function(y,b,w){return w==null&&(w=n),y.push(b),g(y,0,y.length-1,w)},o=function(y,b){var w,C;return b==null&&(b=n),w=y.pop(),y.length?(C=y[0],y[0]=w,m(y,0,b)):C=w,C},u=function(y,b,w){var C;return w==null&&(w=n),C=y[0],y[0]=b,m(y,0,w),C},c=function(y,b,w){var C;return w==null&&(w=n),y.length&&w(y[0],b)<0&&(C=[y[0],b],b=C[0],y[0]=C[1],m(y,0,w)),b},i=function(y,b){var w,C,x,k,E,_;for(b==null&&(b=n),k=(function(){_=[];for(var S=0,T=a(y.length/2);0<=T?S<T:S>T;0<=T?S++:S--)_.push(S);return _}).apply(this).reverse(),E=[],C=0,x=k.length;C<x;C++)w=k[C],E.push(m(y,w,b));return E},p=function(y,b,w){var C;if(w==null&&(w=n),C=y.indexOf(b),C!==-1)return g(y,0,C,w),m(y,C,w)},h=function(y,b,w){var C,x,k,E,_;if(w==null&&(w=n),x=y.slice(0,b),!x.length)return x;for(i(x,w),_=y.slice(b),k=0,E=_.length;k<E;k++)C=_[k],c(x,C,w);return x.sort(w).reverse()},v=function(y,b,w){var C,x,k,E,_,S,T,N,B;if(w==null&&(w=n),b*10<=y.length){if(k=y.slice(0,b).sort(w),!k.length)return k;for(x=k[k.length-1],T=y.slice(b),E=0,S=T.length;E<S;E++)C=T[E],w(C,x)<0&&(d(k,C,0,null,w),k.pop(),x=k[k.length-1]);return k}for(i(y,w),B=[],_=0,N=f(b,y.length);0<=N?_<N:_>N;0<=N?++_:--_)B.push(o(y,w));return B},g=function(y,b,w,C){var x,k,E;for(C==null&&(C=n),x=y[w];w>b;){if(E=w-1>>1,k=y[E],C(x,k)<0){y[w]=k,w=E;continue}break}return y[w]=x},m=function(y,b,w){var C,x,k,E,_;for(w==null&&(w=n),x=y.length,_=b,k=y[b],C=2*b+1;C<x;)E=C+1,E<x&&!(w(y[C],y[E])<0)&&(C=E),y[b]=y[C],b=C,C=2*b+1;return y[b]=k,g(y,_,b,w)},r=function(){y.push=l,y.pop=o,y.replace=u,y.pushpop=c,y.heapify=i,y.updateItem=p,y.nlargest=h,y.nsmallest=v;function y(b){this.cmp=b??n,this.nodes=[]}return y.prototype.push=function(b){return l(this.nodes,b,this.cmp)},y.prototype.pop=function(){return o(this.nodes,this.cmp)},y.prototype.peek=function(){return this.nodes[0]},y.prototype.contains=function(b){return this.nodes.indexOf(b)!==-1},y.prototype.replace=function(b){return u(this.nodes,b,this.cmp)},y.prototype.pushpop=function(b){return c(this.nodes,b,this.cmp)},y.prototype.heapify=function(){return i(this.nodes,this.cmp)},y.prototype.updateItem=function(b){return p(this.nodes,b,this.cmp)},y.prototype.clear=function(){return this.nodes=[]},y.prototype.empty=function(){return this.nodes.length===0},y.prototype.size=function(){return this.nodes.length},y.prototype.clone=function(){var b;return b=new y,b.nodes=this.nodes.slice(0),b},y.prototype.toArray=function(){return this.nodes.slice(0)},y.prototype.insert=y.prototype.push,y.prototype.top=y.prototype.peek,y.prototype.front=y.prototype.peek,y.prototype.has=y.prototype.contains,y.prototype.copy=y.prototype.clone,y}(),function(y,b){return t.exports=b()}(this,function(){return r})}).call(Ki)}),Xi=qF,zF=xt({root:null,weight:function(e){return 1},directed:!1}),HF={dijkstra:function(e){if(!Ae(e)){var r=arguments;e={root:r[0],weight:r[1],directed:r[2]}}var n=zF(e),a=n.root,i=n.weight,o=n.directed,l=this,c=i,u=Ee(a)?this.filter(a)[0]:a[0],d={},f={},h={},v=this.byGroup(),p=v.nodes,g=v.edges;g.unmergeBy(function(R){return R.isLoop()});for(var m=function(P){return d[P.id()]},y=function(P,L){d[P.id()]=L,b.updateItem(P)},b=new Xi(function(R,P){return m(R)-m(P)}),w=0;w<p.length;w++){var C=p[w];d[C.id()]=C.same(u)?0:1/0,b.push(C)}for(var x=function(P,L){for(var A=(o?P.edgesTo(L):P.edgesWith(L)).intersect(g),q=1/0,U,z=0;z<A.length;z++){var H=A[z],Q=c(H);(Q<q||!U)&&(q=Q,U=H)}return{edge:U,dist:q}};b.size()>0;){var k=b.pop(),E=m(k),_=k.id();if(h[_]=E,E!==1/0)for(var S=k.neighborhood().intersect(p),T=0;T<S.length;T++){var N=S[T],B=N.id(),O=x(k,N),D=E+O.dist;D<m(N)&&(y(N,D),f[B]={node:k,edge:O.edge})}}return{distanceTo:function(P){var L=Ee(P)?p.filter(P)[0]:P[0];return h[L.id()]},pathTo:function(P){var L=Ee(P)?p.filter(P)[0]:P[0],A=[],q=L,U=q.id();if(L.length>0)for(A.unshift(L);f[U];){var z=f[U];A.unshift(z.edge),A.unshift(z.node),q=z.node,U=q.id()}return l.spawn(A)}}}},KF={kruskal:function(e){e=e||function(w){return 1};for(var r=this.byGroup(),n=r.nodes,a=r.edges,i=n.length,o=new Array(i),l=n,c=function(C){for(var x=0;x<o.length;x++){var k=o[x];if(k.has(C))return x}},u=0;u<i;u++)o[u]=this.spawn(n[u]);for(var d=a.sort(function(w,C){return e(w)-e(C)}),f=0;f<d.length;f++){var h=d[f],v=h.source()[0],p=h.target()[0],g=c(v),m=c(p),y=o[g],b=o[m];g!==m&&(l.merge(h),y.merge(b),o.splice(m,1))}return l}},GF=xt({root:null,goal:null,weight:function(e){return 1},heuristic:function(e){return 0},directed:!1}),UF={aStar:function(e){var r=this.cy(),n=GF(e),a=n.root,i=n.goal,o=n.heuristic,l=n.directed,c=n.weight;a=r.collection(a)[0],i=r.collection(i)[0];var u=a.id(),d=i.id(),f={},h={},v={},p=new Xi(function(U,z){return h[U.id()]-h[z.id()]}),g=new La,m={},y={},b=function(z,H){p.push(z),g.add(H)},w,C,x=function(){w=p.pop(),C=w.id(),g.delete(C)},k=function(z){return g.has(z)};b(a,u),f[u]=0,h[u]=o(a);for(var E=0;p.size()>0;){if(x(),E++,C===d){for(var _=[],S=i,T=d,N=y[T];_.unshift(S),N!=null&&_.unshift(N),S=m[T],S!=null;)T=S.id(),N=y[T];return{found:!0,distance:f[C],path:this.spawn(_),steps:E}}v[C]=!0;for(var B=w._private.edges,O=0;O<B.length;O++){var D=B[O];if(this.hasElementWithId(D.id())&&!(l&&D.data("source")!==C)){var R=D.source(),P=D.target(),L=R.id()!==C?R:P,A=L.id();if(this.hasElementWithId(A)&&!v[A]){var q=f[C]+c(D);if(!k(A)){f[A]=q,h[A]=q+o(L),b(L,A),m[A]=w,y[A]=D;continue}q<f[A]&&(f[A]=q,h[A]=q+o(L),m[A]=w,y[A]=D)}}}}return{found:!1,distance:void 0,path:void 0,steps:E}}},jF=xt({weight:function(e){return 1},directed:!1}),WF={floydWarshall:function(e){for(var r=this.cy(),n=jF(e),a=n.weight,i=n.directed,o=a,l=this.byGroup(),c=l.nodes,u=l.edges,d=c.length,f=d*d,h=function(Q){return c.indexOf(Q)},v=function(Q){return c[Q]},p=new Array(f),g=0;g<f;g++){var m=g%d,y=(g-m)/d;y===m?p[g]=0:p[g]=1/0}for(var b=new Array(f),w=new Array(f),C=0;C<u.length;C++){var x=u[C],k=x.source()[0],E=x.target()[0];if(k!==E){var _=h(k),S=h(E),T=_*d+S,N=o(x);if(p[T]>N&&(p[T]=N,b[T]=S,w[T]=x),!i){var B=S*d+_;!i&&p[B]>N&&(p[B]=N,b[B]=_,w[B]=x)}}}for(var O=0;O<d;O++)for(var D=0;D<d;D++)for(var R=D*d+O,P=0;P<d;P++){var L=D*d+P,A=O*d+P;p[R]+p[A]<p[L]&&(p[L]=p[R]+p[A],b[L]=b[R])}var q=function(Q){return(Ee(Q)?r.filter(Q):Q)[0]},U=function(Q){return h(q(Q))},z={distance:function(Q,F){var $=U(Q),V=U(F);return p[$*d+V]},path:function(Q,F){var $=U(Q),V=U(F),G=v($);if($===V)return G.collection();if(b[$*d+V]==null)return r.collection();var j=r.collection(),M=$,W;for(j.merge(G);$!==V;)M=$,$=b[$*d+V],W=w[M*d+$],j.merge(W),j.merge(v($));return j}};return z}},YF=xt({weight:function(e){return 1},directed:!1,root:null}),ZF={bellmanFord:function(e){var r=this,n=YF(e),a=n.weight,i=n.directed,o=n.root,l=a,c=this,u=this.cy(),d=this.byGroup(),f=d.edges,h=d.nodes,v=h.length,p=new Ir,g=!1,m=[];o=u.collection(o)[0],f.unmergeBy(function(ie){return ie.isLoop()});for(var y=f.length,b=function(fe){var pe=p.get(fe.id());return pe||(pe={},p.set(fe.id(),pe)),pe},w=function(fe){return(Ee(fe)?u.$(fe):fe)[0]},C=function(fe){return b(w(fe)).dist},x=function(fe){for(var pe=arguments.length>1&&arguments[1]!==void 0?arguments[1]:o,De=w(fe),Ie=[],we=De;;){if(we==null)return r.spawn();var xe=b(we),re=xe.edge,I=xe.pred;if(Ie.unshift(we[0]),we.same(pe)&&Ie.length>0)break;re!=null&&Ie.unshift(re),we=I}return c.spawn(Ie)},k=0;k<v;k++){var E=h[k],_=b(E);E.same(o)?_.dist=0:_.dist=1/0,_.pred=null,_.edge=null}for(var S=!1,T=function(fe,pe,De,Ie,we,xe){var re=Ie.dist+xe;re<we.dist&&!De.same(Ie.edge)&&(we.dist=re,we.pred=fe,we.edge=De,S=!0)},N=1;N<v;N++){S=!1;for(var B=0;B<y;B++){var O=f[B],D=O.source(),R=O.target(),P=l(O),L=b(D),A=b(R);T(D,R,O,L,A,P),i||T(R,D,O,A,L,P)}if(!S)break}if(S)for(var q=[],U=0;U<y;U++){var z=f[U],H=z.source(),Q=z.target(),F=l(z),$=b(H).dist,V=b(Q).dist;if($+F<V||!i&&V+F<$)if(g||($e("Graph contains a negative weight cycle for Bellman-Ford"),g=!0),e.findNegativeWeightCycles!==!1){var G=[];$+F<V&&G.push(H),!i&&V+F<$&&G.push(Q);for(var j=G.length,M=0;M<j;M++){var W=G[M],Y=[W];Y.push(b(W).edge);for(var se=b(W).pred;Y.indexOf(se)===-1;)Y.push(se),Y.push(b(se).edge),se=b(se).pred;Y=Y.slice(Y.indexOf(se));for(var ce=Y[0].id(),ae=0,ne=2;ne<Y.length;ne+=2)Y[ne].id()<ce&&(ce=Y[ne].id(),ae=ne);Y=Y.slice(ae).concat(Y.slice(0,ae)),Y.push(Y[0]);var ue=Y.map(function(ie){return ie.id()}).join(",");q.indexOf(ue)===-1&&(m.push(c.spawn(Y)),q.push(ue))}}else break}return{distanceTo:C,pathTo:x,hasNegativeWeightCycle:g,negativeWeightCycles:m}}},XF=Math.sqrt(2),JF=function(e,r,n){n.length===0&&Je("Karger-Stein must be run on a connected (sub)graph");for(var a=n[e],i=a[1],o=a[2],l=r[i],c=r[o],u=n,d=u.length-1;d>=0;d--){var f=u[d],h=f[1],v=f[2];(r[h]===l&&r[v]===c||r[h]===c&&r[v]===l)&&u.splice(d,1)}for(var p=0;p<u.length;p++){var g=u[p];g[1]===c?(u[p]=g.slice(),u[p][1]=l):g[2]===c&&(u[p]=g.slice(),u[p][2]=l)}for(var m=0;m<r.length;m++)r[m]===c&&(r[m]=l);return u},Vu=function(e,r,n,a){for(;n>a;){var i=Math.floor(Math.random()*r.length);r=JF(i,e,r),n--}return r},QF={kargerStein:function(){var e=this,r=this.byGroup(),n=r.nodes,a=r.edges;a.unmergeBy(function(A){return A.isLoop()});var i=n.length,o=a.length,l=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),c=Math.floor(i/XF);if(i<2){Je("At least 2 nodes are required for Karger-Stein algorithm");return}for(var u=[],d=0;d<o;d++){var f=a[d];u.push([d,n.indexOf(f.source()),n.indexOf(f.target())])}for(var h=1/0,v=[],p=new Array(i),g=new Array(i),m=new Array(i),y=function(q,U){for(var z=0;z<i;z++)U[z]=q[z]},b=0;b<=l;b++){for(var w=0;w<i;w++)g[w]=w;var C=Vu(g,u.slice(),i,c),x=C.slice();y(g,m);var k=Vu(g,C,c,2),E=Vu(m,x,c,2);k.length<=E.length&&k.length<h?(h=k.length,v=k,y(g,p)):E.length<=k.length&&E.length<h&&(h=E.length,v=E,y(m,p))}for(var _=this.spawn(v.map(function(A){return a[A[0]]})),S=this.spawn(),T=this.spawn(),N=p[0],B=0;B<p.length;B++){var O=p[B],D=n[B];O===N?S.merge(D):T.merge(D)}var R=function(q){var U=e.spawn();return q.forEach(function(z){U.merge(z),z.connectedEdges().forEach(function(H){e.contains(H)&&!_.contains(H)&&U.merge(H)})}),U},P=[R(S),R(T)],L={cut:_,components:P,partition1:S,partition2:T};return L}},e5=function(e){return{x:e.x,y:e.y}},ys=function(e,r,n){return{x:e.x*r+n.x,y:e.y*r+n.y}},U0=function(e,r,n){return{x:(e.x-n.x)/r,y:(e.y-n.y)/r}},Ma=function(e){return{x:e[0],y:e[1]}},t5=function(e){for(var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,a=1/0,i=r;i<n;i++){var o=e[i];isFinite(o)&&(a=Math.min(o,a))}return a},r5=function(e){for(var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,a=-1/0,i=r;i<n;i++){var o=e[i];isFinite(o)&&(a=Math.max(o,a))}return a},n5=function(e){for(var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,a=0,i=0,o=r;o<n;o++){var l=e[o];isFinite(l)&&(a+=l,i++)}return a/i},a5=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;a?e=e.slice(r,n):(n<e.length&&e.splice(n,e.length-n),r>0&&e.splice(0,r));for(var l=0,c=e.length-1;c>=0;c--){var u=e[c];o?isFinite(u)||(e[c]=-1/0,l++):e.splice(c,1)}i&&e.sort(function(h,v){return h-v});var d=e.length,f=Math.floor(d/2);return d%2!==0?e[f+1+l]:(e[f-1+l]+e[f+l])/2},i5=function(e){return Math.PI*e/180},bs=function(e,r){return Math.atan2(r,e)-Math.PI/2},qu=Math.log2||function(t){return Math.log(t)/Math.log(2)},j0=function(e){return e>0?1:e<0?-1:0},Jn=function(e,r){return Math.sqrt(Qn(e,r))},Qn=function(e,r){var n=r.x-e.x,a=r.y-e.y;return n*n+a*a},o5=function(e){for(var r=e.length,n=0,a=0;a<r;a++)n+=e[a];for(var i=0;i<r;i++)e[i]=e[i]/n;return e},gt=function(e,r,n,a){return(1-a)*(1-a)*e+2*(1-a)*a*r+a*a*n},Fa=function(e,r,n,a){return{x:gt(e.x,r.x,n.x,a),y:gt(e.y,r.y,n.y,a)}},s5=function(e,r,n,a){var i={x:r.x-e.x,y:r.y-e.y},o=Jn(e,r),l={x:i.x/o,y:i.y/o};return n=n??0,a=a??n*o,{x:e.x+l.x*a,y:e.y+l.y*a}},Ji=function(e,r,n){return Math.max(e,Math.min(n,r))},Kt=function(e){if(e==null)return{x1:1/0,y1:1/0,x2:-1/0,y2:-1/0,w:0,h:0};if(e.x1!=null&&e.y1!=null){if(e.x2!=null&&e.y2!=null&&e.x2>=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},l5=function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},u5=function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},c5=function(e,r,n){return{x1:e.x1+r,x2:e.x2+r,y1:e.y1+n,y2:e.y2+n,w:e.w,h:e.h}},W0=function(e,r){e.x1=Math.min(e.x1,r.x1),e.x2=Math.max(e.x2,r.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,r.y1),e.y2=Math.max(e.y2,r.y2),e.h=e.y2-e.y1},d5=function(e,r,n){e.x1=Math.min(e.x1,r),e.x2=Math.max(e.x2,r),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},ws=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=r,e.x2+=r,e.y1-=r,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},Cs=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],n,a,i,o;if(r.length===1)n=a=i=o=r[0];else if(r.length===2)n=i=r[0],o=a=r[1];else if(r.length===4){var l=vr(r,4);n=l[0],a=l[1],i=l[2],o=l[3]}return e.x1-=o,e.x2+=a,e.y1-=n,e.y2+=i,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},Y0=function(e,r){e.x1=r.x1,e.y1=r.y1,e.x2=r.x2,e.y2=r.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},zu=function(e,r){return!(e.x1>r.x2||r.x1>e.x2||e.x2<r.x1||r.x2<e.x1||e.y2<r.y1||r.y2<e.y1||e.y1>r.y2||r.y1>e.y2)},$a=function(e,r,n){return e.x1<=r&&r<=e.x2&&e.y1<=n&&n<=e.y2},f5=function(e,r){return $a(e,r.x,r.y)},Z0=function(e,r){return $a(e,r.x1,r.y1)&&$a(e,r.x2,r.y2)},X0=function(e,r,n,a,i,o,l){var c=arguments.length>7&&arguments[7]!==void 0?arguments[7]:"auto",u=c==="auto"?ta(i,o):c,d=i/2,f=o/2;u=Math.min(u,d,f);var h=u!==d,v=u!==f,p;if(h){var g=n-d+u-l,m=a-f-l,y=n+d-u+l,b=m;if(p=Cn(e,r,n,a,g,m,y,b,!1),p.length>0)return p}if(v){var w=n+d+l,C=a-f+u-l,x=w,k=a+f-u+l;if(p=Cn(e,r,n,a,w,C,x,k,!1),p.length>0)return p}if(h){var E=n-d+u-l,_=a+f+l,S=n+d-u+l,T=_;if(p=Cn(e,r,n,a,E,_,S,T,!1),p.length>0)return p}if(v){var N=n-d-l,B=a-f+u-l,O=N,D=a+f-u+l;if(p=Cn(e,r,n,a,N,B,O,D,!1),p.length>0)return p}var R;{var P=n-d+u,L=a-f+u;if(R=Qi(e,r,n,a,P,L,u+l),R.length>0&&R[0]<=P&&R[1]<=L)return[R[0],R[1]]}{var A=n+d-u,q=a-f+u;if(R=Qi(e,r,n,a,A,q,u+l),R.length>0&&R[0]>=A&&R[1]<=q)return[R[0],R[1]]}{var U=n+d-u,z=a+f-u;if(R=Qi(e,r,n,a,U,z,u+l),R.length>0&&R[0]>=U&&R[1]>=z)return[R[0],R[1]]}{var H=n-d+u,Q=a+f-u;if(R=Qi(e,r,n,a,H,Q,u+l),R.length>0&&R[0]<=H&&R[1]>=Q)return[R[0],R[1]]}return[]},h5=function(e,r,n,a,i,o,l){var c=l,u=Math.min(n,i),d=Math.max(n,i),f=Math.min(a,o),h=Math.max(a,o);return u-c<=e&&e<=d+c&&f-c<=r&&r<=h+c},p5=function(e,r,n,a,i,o,l,c,u){var d={x1:Math.min(n,l,i)-u,x2:Math.max(n,l,i)+u,y1:Math.min(a,c,o)-u,y2:Math.max(a,c,o)+u};return!(e<d.x1||e>d.x2||r<d.y1||r>d.y2)},v5=function(e,r,n,a){n-=a;var i=r*r-4*e*n;if(i<0)return[];var o=Math.sqrt(i),l=2*e,c=(-r+o)/l,u=(-r-o)/l;return[c,u]},g5=function(e,r,n,a,i){var o=1e-5;e===0&&(e=o),r/=e,n/=e,a/=e;var l,c,u,d,f,h,v,p;if(c=(3*n-r*r)/9,u=-(27*a)+r*(9*n-2*(r*r)),u/=54,l=c*c*c+u*u,i[1]=0,v=r/3,l>0){f=u+Math.sqrt(l),f=f<0?-Math.pow(-f,1/3):Math.pow(f,1/3),h=u-Math.sqrt(l),h=h<0?-Math.pow(-h,1/3):Math.pow(h,1/3),i[0]=-v+f+h,v+=(f+h)/2,i[4]=i[2]=-v,v=Math.sqrt(3)*(-h+f)/2,i[3]=v,i[5]=-v;return}if(i[5]=i[3]=0,l===0){p=u<0?-Math.pow(-u,1/3):Math.pow(u,1/3),i[0]=-v+2*p,i[4]=i[2]=-(p+v);return}c=-c,d=c*c*c,d=Math.acos(u/Math.sqrt(d)),p=2*Math.sqrt(c),i[0]=-v+p*Math.cos(d/3),i[2]=-v+p*Math.cos((d+2*Math.PI)/3),i[4]=-v+p*Math.cos((d+4*Math.PI)/3)},m5=function(e,r,n,a,i,o,l,c){var u=1*n*n-4*n*i+2*n*l+4*i*i-4*i*l+l*l+a*a-4*a*o+2*a*c+4*o*o-4*o*c+c*c,d=1*9*n*i-3*n*n-3*n*l-6*i*i+3*i*l+9*a*o-3*a*a-3*a*c-6*o*o+3*o*c,f=1*3*n*n-6*n*i+n*l-n*e+2*i*i+2*i*e-l*e+3*a*a-6*a*o+a*c-a*r+2*o*o+2*o*r-c*r,h=1*n*i-n*n+n*e-i*e+a*o-a*a+a*r-o*r,v=[];g5(u,d,f,h,v);for(var p=1e-7,g=[],m=0;m<6;m+=2)Math.abs(v[m+1])<p&&v[m]>=0&&v[m]<=1&&g.push(v[m]);g.push(1),g.push(0);for(var y=-1,b,w,C,x=0;x<g.length;x++)b=Math.pow(1-g[x],2)*n+2*(1-g[x])*g[x]*i+g[x]*g[x]*l,w=Math.pow(1-g[x],2)*a+2*(1-g[x])*g[x]*o+g[x]*g[x]*c,C=Math.pow(b-e,2)+Math.pow(w-r,2),y>=0?C<y&&(y=C):y=C;return y},y5=function(e,r,n,a,i,o){var l=[e-n,r-a],c=[i-n,o-a],u=c[0]*c[0]+c[1]*c[1],d=l[0]*l[0]+l[1]*l[1],f=l[0]*c[0]+l[1]*c[1],h=f*f/u;return f<0?d:h>u?(e-i)*(e-i)+(r-o)*(r-o):d-h},Gt=function(e,r,n){for(var a,i,o,l,c,u=0,d=0;d<n.length/2;d++)if(a=n[d*2],i=n[d*2+1],d+1<n.length/2?(o=n[(d+1)*2],l=n[(d+1)*2+1]):(o=n[(d+1-n.length/2)*2],l=n[(d+1-n.length/2)*2+1]),!(a==e&&o==e))if(a>=e&&e>=o||a<=e&&e<=o)c=(e-a)/(o-a)*(l-i)+i,c>r&&u++;else continue;return u%2!==0},Yr=function(e,r,n,a,i,o,l,c,u){var d=new Array(n.length),f;c[0]!=null?(f=Math.atan(c[1]/c[0]),c[0]<0?f=f+Math.PI/2:f=-f-Math.PI/2):f=c;for(var h=Math.cos(-f),v=Math.sin(-f),p=0;p<d.length/2;p++)d[p*2]=o/2*(n[p*2]*h-n[p*2+1]*v),d[p*2+1]=l/2*(n[p*2+1]*h+n[p*2]*v),d[p*2]+=a,d[p*2+1]+=i;var g;if(u>0){var m=xs(d,-u);g=Es(m)}else g=d;return Gt(e,r,g)},b5=function(e,r,n,a,i,o,l,c){for(var u=new Array(n.length*2),d=0;d<c.length;d++){var f=c[d];u[d*4+0]=f.startX,u[d*4+1]=f.startY,u[d*4+2]=f.stopX,u[d*4+3]=f.stopY;var h=Math.pow(f.cx-e,2)+Math.pow(f.cy-r,2);if(h<=Math.pow(f.radius,2))return!0}return Gt(e,r,u)},Es=function(e){for(var r=new Array(e.length/2),n,a,i,o,l,c,u,d,f=0;f<e.length/4;f++){n=e[f*4],a=e[f*4+1],i=e[f*4+2],o=e[f*4+3],f<e.length/4-1?(l=e[(f+1)*4],c=e[(f+1)*4+1],u=e[(f+1)*4+2],d=e[(f+1)*4+3]):(l=e[0],c=e[1],u=e[2],d=e[3]);var h=Cn(n,a,i,o,l,c,u,d,!0);r[f*2]=h[0],r[f*2+1]=h[1]}return r},xs=function(e,r){for(var n=new Array(e.length*2),a,i,o,l,c=0;c<e.length/2;c++){a=e[c*2],i=e[c*2+1],c<e.length/2-1?(o=e[(c+1)*2],l=e[(c+1)*2+1]):(o=e[0],l=e[1]);var u=l-i,d=-(o-a),f=Math.sqrt(u*u+d*d),h=u/f,v=d/f;n[c*4]=a+h*r,n[c*4+1]=i+v*r,n[c*4+2]=o+h*r,n[c*4+3]=l+v*r}return n},w5=function(e,r,n,a,i,o){var l=n-e,c=a-r;l/=i,c/=o;var u=Math.sqrt(l*l+c*c),d=u-1;if(d<0)return[];var f=d/u;return[(n-e)*f+e,(a-r)*f+r]},ea=function(e,r,n,a,i,o,l){return e-=i,r-=o,e/=n/2+l,r/=a/2+l,e*e+r*r<=1},Qi=function(e,r,n,a,i,o,l){var c=[n-e,a-r],u=[e-i,r-o],d=c[0]*c[0]+c[1]*c[1],f=2*(u[0]*c[0]+u[1]*c[1]),h=u[0]*u[0]+u[1]*u[1]-l*l,v=f*f-4*d*h;if(v<0)return[];var p=(-f+Math.sqrt(v))/(2*d),g=(-f-Math.sqrt(v))/(2*d),m=Math.min(p,g),y=Math.max(p,g),b=[];if(m>=0&&m<=1&&b.push(m),y>=0&&y<=1&&b.push(y),b.length===0)return[];var w=b[0]*c[0]+e,C=b[0]*c[1]+r;if(b.length>1){if(b[0]==b[1])return[w,C];var x=b[1]*c[0]+e,k=b[1]*c[1]+r;return[w,C,x,k]}else return[w,C]},Hu=function(e,r,n){return r<=e&&e<=n||n<=e&&e<=r?e:e<=r&&r<=n||n<=r&&r<=e?r:n},Cn=function(e,r,n,a,i,o,l,c,u){var d=e-i,f=n-e,h=l-i,v=r-o,p=a-r,g=c-o,m=h*v-g*d,y=f*v-p*d,b=g*f-h*p;if(b!==0){var w=m/b,C=y/b,x=.001,k=0-x,E=1+x;return k<=w&&w<=E&&k<=C&&C<=E?[e+w*f,r+w*p]:u?[e+w*f,r+w*p]:[]}else return m===0||y===0?Hu(e,n,l)===l?[l,c]:Hu(e,n,i)===i?[i,o]:Hu(i,l,n)===n?[n,a]:[]:[]},eo=function(e,r,n,a,i,o,l,c){var u=[],d,f=new Array(n.length),h=!0;o==null&&(h=!1);var v;if(h){for(var p=0;p<f.length/2;p++)f[p*2]=n[p*2]*o+a,f[p*2+1]=n[p*2+1]*l+i;if(c>0){var g=xs(f,-c);v=Es(g)}else v=f}else v=n;for(var m,y,b,w,C=0;C<v.length/2;C++)m=v[C*2],y=v[C*2+1],C<v.length/2-1?(b=v[(C+1)*2],w=v[(C+1)*2+1]):(b=v[0],w=v[1]),d=Cn(e,r,a,i,m,y,b,w),d.length!==0&&u.push(d[0],d[1]);return u},C5=function(e,r,n,a,i,o,l,c,u){var d=[],f,h=new Array(n.length*2);u.forEach(function(b,w){w===0?(h[h.length-2]=b.startX,h[h.length-1]=b.startY):(h[w*4-2]=b.startX,h[w*4-1]=b.startY),h[w*4]=b.stopX,h[w*4+1]=b.stopY,f=Qi(e,r,a,i,b.cx,b.cy,b.radius),f.length!==0&&d.push(f[0],f[1])});for(var v=0;v<h.length/4;v++)f=Cn(e,r,a,i,h[v*4],h[v*4+1],h[v*4+2],h[v*4+3],!1),f.length!==0&&d.push(f[0],f[1]);if(d.length>2){for(var p=[d[0],d[1]],g=Math.pow(p[0]-e,2)+Math.pow(p[1]-r,2),m=1;m<d.length/2;m++){var y=Math.pow(d[m*2]-e,2)+Math.pow(d[m*2+1]-r,2);y<=g&&(p[0]=d[m*2],p[1]=d[m*2+1],g=y)}return p}return d},ks=function(e,r,n){var a=[e[0]-r[0],e[1]-r[1]],i=Math.sqrt(a[0]*a[0]+a[1]*a[1]),o=(i-n)/i;return o<0&&(o=1e-5),[r[0]+o*a[0],r[1]+o*a[1]]},Ft=function(e,r){var n=Ku(e,r);return n=J0(n),n},J0=function(e){for(var r,n,a=e.length/2,i=1/0,o=1/0,l=-1/0,c=-1/0,u=0;u<a;u++)r=e[2*u],n=e[2*u+1],i=Math.min(i,r),l=Math.max(l,r),o=Math.min(o,n),c=Math.max(c,n);for(var d=2/(l-i),f=2/(c-o),h=0;h<a;h++)r=e[2*h]=e[2*h]*d,n=e[2*h+1]=e[2*h+1]*f,i=Math.min(i,r),l=Math.max(l,r),o=Math.min(o,n),c=Math.max(c,n);if(o<-1)for(var v=0;v<a;v++)n=e[2*v+1]=e[2*v+1]+(-1-o);return e},Ku=function(e,r){var n=1/e*2*Math.PI,a=e%2===0?Math.PI/2+n/2:Math.PI/2;a+=r;for(var i=new Array(e*2),o,l=0;l<e;l++)o=l*n+a,i[2*l]=Math.cos(o),i[2*l+1]=Math.sin(-o);return i},ta=function(e,r){return Math.min(e/4,r/4,8)},Q0=function(e,r){return Math.min(e/10,r/10,8)},Gu=function(){return 8},E5=function(e,r,n){return[e-2*r+n,2*(r-e),e]},Uu=function(e,r){return{heightOffset:Math.min(15,.05*r),widthOffset:Math.min(100,.25*e),ctrlPtOffsetPct:.05}},x5=xt({dampingFactor:.8,precision:1e-6,iterations:200,weight:function(e){return 1}}),k5={pageRank:function(e){for(var r=x5(e),n=r.dampingFactor,a=r.precision,i=r.iterations,o=r.weight,l=this._private.cy,c=this.byGroup(),u=c.nodes,d=c.edges,f=u.length,h=f*f,v=d.length,p=new Array(h),g=new Array(f),m=(1-n)/f,y=0;y<f;y++){for(var b=0;b<f;b++){var w=y*f+b;p[w]=0}g[y]=0}for(var C=0;C<v;C++){var x=d[C],k=x.data("source"),E=x.data("target");if(k!==E){var _=u.indexOfId(k),S=u.indexOfId(E),T=o(x),N=S*f+_;p[N]+=T,g[_]+=T}}for(var B=1/f+m,O=0;O<f;O++)if(g[O]===0)for(var D=0;D<f;D++){var R=D*f+O;p[R]=B}else for(var P=0;P<f;P++){var L=P*f+O;p[L]=p[L]/g[O]+m}for(var A=new Array(f),q=new Array(f),U,z=0;z<f;z++)A[z]=1;for(var H=0;H<i;H++){for(var Q=0;Q<f;Q++)q[Q]=0;for(var F=0;F<f;F++)for(var $=0;$<f;$++){var V=F*f+$;q[F]+=p[V]*A[$]}o5(q),U=A,A=q,q=U;for(var G=0,j=0;j<f;j++){var M=U[j]-A[j];G+=M*M}if(G<a)break}var W={rank:function(se){return se=l.collection(se)[0],A[u.indexOf(se)]}};return W}},eb=xt({root:null,weight:function(e){return 1},directed:!1,alpha:0}),Va={degreeCentralityNormalized:function(e){e=eb(e);var r=this.cy(),n=this.nodes(),a=n.length;if(e.directed){for(var d={},f={},h=0,v=0,p=0;p<a;p++){var g=n[p],m=g.id();e.root=g;var y=this.degreeCentrality(e);h<y.indegree&&(h=y.indegree),v<y.outdegree&&(v=y.outdegree),d[m]=y.indegree,f[m]=y.outdegree}return{indegree:function(w){return h==0?0:(Ee(w)&&(w=r.filter(w)),d[w.id()]/h)},outdegree:function(w){return v===0?0:(Ee(w)&&(w=r.filter(w)),f[w.id()]/v)}}}else{for(var i={},o=0,l=0;l<a;l++){var c=n[l];e.root=c;var u=this.degreeCentrality(e);o<u.degree&&(o=u.degree),i[c.id()]=u.degree}return{degree:function(w){return o===0?0:(Ee(w)&&(w=r.filter(w)),i[w.id()]/o)}}}},degreeCentrality:function(e){e=eb(e);var r=this.cy(),n=this,a=e,i=a.root,o=a.weight,l=a.directed,c=a.alpha;if(i=r.collection(i)[0],l){for(var v=i.connectedEdges(),p=v.filter(function(k){return k.target().same(i)&&n.has(k)}),g=v.filter(function(k){return k.source().same(i)&&n.has(k)}),m=p.length,y=g.length,b=0,w=0,C=0;C<p.length;C++)b+=o(p[C]);for(var x=0;x<g.length;x++)w+=o(g[x]);return{indegree:Math.pow(m,1-c)*Math.pow(b,c),outdegree:Math.pow(y,1-c)*Math.pow(w,c)}}else{for(var u=i.connectedEdges().intersection(n),d=u.length,f=0,h=0;h<u.length;h++)f+=o(u[h]);return{degree:Math.pow(d,1-c)*Math.pow(f,c)}}}};Va.dc=Va.degreeCentrality,Va.dcn=Va.degreeCentralityNormalised=Va.degreeCentralityNormalized;var tb=xt({harmonic:!0,weight:function(){return 1},directed:!1,root:null}),qa={closenessCentralityNormalized:function(e){for(var r=tb(e),n=r.harmonic,a=r.weight,i=r.directed,o=this.cy(),l={},c=0,u=this.nodes(),d=this.floydWarshall({weight:a,directed:i}),f=0;f<u.length;f++){for(var h=0,v=u[f],p=0;p<u.length;p++)if(f!==p){var g=d.distance(v,u[p]);n?h+=1/g:h+=g}n||(h=1/h),c<h&&(c=h),l[v.id()]=h}return{closeness:function(y){return c==0?0:(Ee(y)?y=o.filter(y)[0].id():y=y.id(),l[y]/c)}}},closenessCentrality:function(e){var r=tb(e),n=r.root,a=r.weight,i=r.directed,o=r.harmonic;n=this.filter(n)[0];for(var l=this.dijkstra({root:n,weight:a,directed:i}),c=0,u=this.nodes(),d=0;d<u.length;d++){var f=u[d];if(!f.same(n)){var h=l.distanceTo(f);o?c+=1/h:c+=h}}return o?c:1/c}};qa.cc=qa.closenessCentrality,qa.ccn=qa.closenessCentralityNormalised=qa.closenessCentralityNormalized;var S5=xt({weight:null,directed:!1}),ju={betweennessCentrality:function(e){for(var r=S5(e),n=r.directed,a=r.weight,i=a!=null,o=this.cy(),l=this.nodes(),c={},u={},d=0,f={set:function(w,C){u[w]=C,C>d&&(d=C)},get:function(w){return u[w]}},h=0;h<l.length;h++){var v=l[h],p=v.id();n?c[p]=v.outgoers().nodes():c[p]=v.openNeighborhood().nodes(),f.set(p,0)}for(var g=function(w){for(var C=l[w].id(),x=[],k={},E={},_={},S=new Xi(function($,V){return _[$]-_[V]}),T=0;T<l.length;T++){var N=l[T].id();k[N]=[],E[N]=0,_[N]=1/0}for(E[C]=1,_[C]=0,S.push(C);!S.empty();){var B=S.pop();if(x.push(B),i)for(var O=0;O<c[B].length;O++){var D=c[B][O],R=o.getElementById(B),P=void 0;R.edgesTo(D).length>0?P=R.edgesTo(D)[0]:P=D.edgesTo(R)[0];var L=a(P);D=D.id(),_[D]>_[B]+L&&(_[D]=_[B]+L,S.nodes.indexOf(D)<0?S.push(D):S.updateItem(D),E[D]=0,k[D]=[]),_[D]==_[B]+L&&(E[D]=E[D]+E[B],k[D].push(B))}else for(var A=0;A<c[B].length;A++){var q=c[B][A].id();_[q]==1/0&&(S.push(q),_[q]=_[B]+1),_[q]==_[B]+1&&(E[q]=E[q]+E[B],k[q].push(B))}}for(var U={},z=0;z<l.length;z++)U[l[z].id()]=0;for(;x.length>0;){for(var H=x.pop(),Q=0;Q<k[H].length;Q++){var F=k[H][Q];U[F]=U[F]+E[F]/E[H]*(1+U[H])}H!=l[w].id()&&f.set(H,f.get(H)+U[H])}},m=0;m<l.length;m++)g(m);var y={betweenness:function(w){var C=o.collection(w).id();return f.get(C)},betweennessNormalized:function(w){if(d==0)return 0;var C=o.collection(w).id();return f.get(C)/d}};return y.betweennessNormalised=y.betweennessNormalized,y}};ju.bc=ju.betweennessCentrality;var _5=xt({expandFactor:2,inflateFactor:2,multFactor:1,maxIterations:20,attributes:[function(t){return 1}]}),T5=function(e){return _5(e)},N5=function(e,r){for(var n=0,a=0;a<r.length;a++)n+=r[a](e);return n},I5=function(e,r,n){for(var a=0;a<r;a++)e[a*r+a]=n},rb=function(e,r){for(var n,a=0;a<r;a++){n=0;for(var i=0;i<r;i++)n+=e[i*r+a];for(var o=0;o<r;o++)e[o*r+a]=e[o*r+a]/n}},B5=function(e,r,n){for(var a=new Array(n*n),i=0;i<n;i++){for(var o=0;o<n;o++)a[i*n+o]=0;for(var l=0;l<n;l++)for(var c=0;c<n;c++)a[i*n+c]+=e[i*n+l]*r[l*n+c]}return a},D5=function(e,r,n){for(var a=e.slice(0),i=1;i<n;i++)e=B5(e,a,r);return e},O5=function(e,r,n){for(var a=new Array(r*r),i=0;i<r*r;i++)a[i]=Math.pow(e[i],n);return rb(a,r),a},P5=function(e,r,n,a){for(var i=0;i<n;i++){var o=Math.round(e[i]*Math.pow(10,a))/Math.pow(10,a),l=Math.round(r[i]*Math.pow(10,a))/Math.pow(10,a);if(o!==l)return!1}return!0},A5=function(e,r,n,a){for(var i=[],o=0;o<r;o++){for(var l=[],c=0;c<r;c++)Math.round(e[o*r+c]*1e3)/1e3>0&&l.push(n[c]);l.length!==0&&i.push(a.collection(l))}return i},R5=function(e,r){for(var n=0;n<e.length;n++)if(!r[n]||e[n].id()!==r[n].id())return!1;return!0},L5=function(e){for(var r=0;r<e.length;r++)for(var n=0;n<e.length;n++)r!=n&&R5(e[r],e[n])&&e.splice(n,1);return e},nb=function(e){for(var r=this.nodes(),n=this.edges(),a=this.cy(),i=T5(e),o={},l=0;l<r.length;l++)o[r[l].id()]=l;for(var c=r.length,u=c*c,d=new Array(u),f,h=0;h<u;h++)d[h]=0;for(var v=0;v<n.length;v++){var p=n[v],g=o[p.source().id()],m=o[p.target().id()],y=N5(p,i.attributes);d[g*c+m]+=y,d[m*c+g]+=y}I5(d,c,i.multFactor),rb(d,c);for(var b=!0,w=0;b&&w<i.maxIterations;)b=!1,f=D5(d,c,i.expandFactor),d=O5(f,c,i.inflateFactor),P5(d,f,u,4)||(b=!0),w++;var C=A5(d,c,r,a);return C=L5(C),C},M5={markovClustering:nb,mcl:nb},F5=function(e){return e},ab=function(e,r){return Math.abs(r-e)},ib=function(e,r,n){return e+ab(r,n)},ob=function(e,r,n){return e+Math.pow(n-r,2)},$5=function(e){return Math.sqrt(e)},V5=function(e,r,n){return Math.max(e,ab(r,n))},to=function(e,r,n,a,i){for(var o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:F5,l=a,c,u,d=0;d<e;d++)c=r(d),u=n(d),l=i(l,c,u);return o(l)},za={euclidean:function(e,r,n){return e>=2?to(e,r,n,0,ob,$5):to(e,r,n,0,ib)},squaredEuclidean:function(e,r,n){return to(e,r,n,0,ob)},manhattan:function(e,r,n){return to(e,r,n,0,ib)},max:function(e,r,n){return to(e,r,n,-1/0,V5)}};za["squared-euclidean"]=za.squaredEuclidean,za.squaredeuclidean=za.squaredEuclidean;function Ss(t,e,r,n,a,i){var o;return Xe(t)?o=t:o=za[t]||za.euclidean,e===0&&Xe(t)?o(a,i):o(e,r,n,a,i)}var q5=xt({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),Wu=function(e){return q5(e)},_s=function(e,r,n,a,i){var o=i!=="kMedoids",l=o?function(f){return n[f]}:function(f){return a[f](n)},c=function(h){return a[h](r)},u=n,d=r;return Ss(e,a.length,l,c,u,d)},Yu=function(e,r,n){for(var a=n.length,i=new Array(a),o=new Array(a),l=new Array(r),c=null,u=0;u<a;u++)i[u]=e.min(n[u]).value,o[u]=e.max(n[u]).value;for(var d=0;d<r;d++){c=[];for(var f=0;f<a;f++)c[f]=Math.random()*(o[f]-i[f])+i[f];l[d]=c}return l},sb=function(e,r,n,a,i){for(var o=1/0,l=0,c=0;c<r.length;c++){var u=_s(n,e,r[c],a,i);u<o&&(o=u,l=c)}return l},lb=function(e,r,n){for(var a=[],i=null,o=0;o<r.length;o++)i=r[o],n[i.id()]===e&&a.push(i);return a},z5=function(e,r,n){return Math.abs(r-e)<=n},H5=function(e,r,n){for(var a=0;a<e.length;a++)for(var i=0;i<e[a].length;i++){var o=Math.abs(e[a][i]-r[a][i]);if(o>n)return!1}return!0},K5=function(e,r,n){for(var a=0;a<n;a++)if(e===r[a])return!0;return!1},ub=function(e,r){var n=new Array(r);if(e.length<50)for(var a=0;a<r;a++){for(var i=e[Math.floor(Math.random()*e.length)];K5(i,n,a);)i=e[Math.floor(Math.random()*e.length)];n[a]=i}else for(var o=0;o<r;o++)n[o]=e[Math.floor(Math.random()*e.length)];return n},cb=function(e,r,n){for(var a=0,i=0;i<r.length;i++)a+=_s("manhattan",r[i],e,n,"kMedoids");return a},G5=function(e){var r=this.cy(),n=this.nodes(),a=null,i=Wu(e),o=new Array(i.k),l={},c;i.testMode?typeof i.testCentroids=="number"?(i.testCentroids,c=Yu(n,i.k,i.attributes)):ct(i.testCentroids)==="object"?c=i.testCentroids:c=Yu(n,i.k,i.attributes):c=Yu(n,i.k,i.attributes);for(var u=!0,d=0;u&&d<i.maxIterations;){for(var f=0;f<n.length;f++)a=n[f],l[a.id()]=sb(a,c,i.distance,i.attributes,"kMeans");u=!1;for(var h=0;h<i.k;h++){var v=lb(h,n,l);if(v.length!==0){for(var p=i.attributes.length,g=c[h],m=new Array(p),y=new Array(p),b=0;b<p;b++){y[b]=0;for(var w=0;w<v.length;w++)a=v[w],y[b]+=i.attributes[b](a);m[b]=y[b]/v.length,z5(m[b],g[b],i.sensitivityThreshold)||(u=!0)}c[h]=m,o[h]=r.collection(v)}}d++}return o},U5=function(e){var r=this.cy(),n=this.nodes(),a=null,i=Wu(e),o=new Array(i.k),l,c={},u,d=new Array(i.k);i.testMode?typeof i.testCentroids=="number"||(ct(i.testCentroids)==="object"?l=i.testCentroids:l=ub(n,i.k)):l=ub(n,i.k);for(var f=!0,h=0;f&&h<i.maxIterations;){for(var v=0;v<n.length;v++)a=n[v],c[a.id()]=sb(a,l,i.distance,i.attributes,"kMedoids");f=!1;for(var p=0;p<l.length;p++){var g=lb(p,n,c);if(g.length!==0){d[p]=cb(l[p],g,i.attributes);for(var m=0;m<g.length;m++)u=cb(g[m],g,i.attributes),u<d[p]&&(d[p]=u,l[p]=g[m],f=!0);o[p]=r.collection(g)}}h++}return o},j5=function(e,r,n,a,i){for(var o,l,c=0;c<r.length;c++)for(var u=0;u<e.length;u++)a[c][u]=Math.pow(n[c][u],i.m);for(var d=0;d<e.length;d++)for(var f=0;f<i.attributes.length;f++){o=0,l=0;for(var h=0;h<r.length;h++)o+=a[h][d]*i.attributes[f](r[h]),l+=a[h][d];e[d][f]=o/l}},W5=function(e,r,n,a,i){for(var o=0;o<e.length;o++)r[o]=e[o].slice();for(var l,c,u,d=2/(i.m-1),f=0;f<n.length;f++)for(var h=0;h<a.length;h++){l=0;for(var v=0;v<n.length;v++)c=_s(i.distance,a[h],n[f],i.attributes,"cmeans"),u=_s(i.distance,a[h],n[v],i.attributes,"cmeans"),l+=Math.pow(c/u,d);e[h][f]=1/l}},Y5=function(e,r,n,a){for(var i=new Array(n.k),o=0;o<i.length;o++)i[o]=[];for(var l,c,u=0;u<r.length;u++){l=-1/0,c=-1;for(var d=0;d<r[0].length;d++)r[u][d]>l&&(l=r[u][d],c=d);i[c].push(e[u])}for(var f=0;f<i.length;f++)i[f]=a.collection(i[f]);return i},db=function(e){var r=this.cy(),n=this.nodes(),a=Wu(e),i,o,l,c,u;c=new Array(n.length);for(var d=0;d<n.length;d++)c[d]=new Array(a.k);l=new Array(n.length);for(var f=0;f<n.length;f++)l[f]=new Array(a.k);for(var h=0;h<n.length;h++){for(var v=0,p=0;p<a.k;p++)l[h][p]=Math.random(),v+=l[h][p];for(var g=0;g<a.k;g++)l[h][g]=l[h][g]/v}o=new Array(a.k);for(var m=0;m<a.k;m++)o[m]=new Array(a.attributes.length);u=new Array(n.length);for(var y=0;y<n.length;y++)u[y]=new Array(a.k);for(var b=!0,w=0;b&&w<a.maxIterations;)b=!1,j5(o,n,l,u,a),W5(l,c,o,n,a),H5(l,c,a.sensitivityThreshold)||(b=!0),w++;return i=Y5(n,l,a,r),{clusters:i,degreeOfMembership:l}},Z5={kMeans:G5,kMedoids:U5,fuzzyCMeans:db,fcm:db},X5=xt({distance:"euclidean",linkage:"min",mode:"threshold",threshold:1/0,addDendrogram:!1,dendrogramDepth:0,attributes:[]}),J5={single:"min",complete:"max"},Q5=function(e){var r=X5(e),n=J5[r.linkage];return n!=null&&(r.linkage=n),r},fb=function(e,r,n,a,i){for(var o=0,l=1/0,c,u=i.attributes,d=function(S,T){return Ss(i.distance,u.length,function(N){return u[N](S)},function(N){return u[N](T)},S,T)},f=0;f<e.length;f++){var h=e[f].key,v=n[h][a[h]];v<l&&(o=h,l=v)}if(i.mode==="threshold"&&l>=i.threshold||i.mode==="dendrogram"&&e.length===1)return!1;var p=r[o],g=r[a[o]],m;i.mode==="dendrogram"?m={left:p,right:g,key:p.key}:m={value:p.value.concat(g.value),key:p.key},e[p.index]=m,e.splice(g.index,1),r[p.key]=m;for(var y=0;y<e.length;y++){var b=e[y];p.key===b.key?c=1/0:i.linkage==="min"?(c=n[p.key][b.key],n[p.key][b.key]>n[g.key][b.key]&&(c=n[g.key][b.key])):i.linkage==="max"?(c=n[p.key][b.key],n[p.key][b.key]<n[g.key][b.key]&&(c=n[g.key][b.key])):i.linkage==="mean"?c=(n[p.key][b.key]*p.size+n[g.key][b.key]*g.size)/(p.size+g.size):i.mode==="dendrogram"?c=d(b.value,p.value):c=d(b.value[0],p.value[0]),n[p.key][b.key]=n[b.key][p.key]=c}for(var w=0;w<e.length;w++){var C=e[w].key;if(a[C]===p.key||a[C]===g.key){for(var x=C,k=0;k<e.length;k++){var E=e[k].key;n[C][E]<n[C][x]&&(x=E)}a[C]=x}e[w].index=w}return p.key=g.key=p.index=g.index=null,!0},Ts=function t(e,r,n){e&&(e.value?r.push(e.value):(e.left&&t(e.left,r),e.right&&t(e.right,r)))},e$=function t(e,r){if(!e)return"";if(e.left&&e.right){var n=t(e.left,r),a=t(e.right,r),i=r.add({group:"nodes",data:{id:n+","+a}});return r.add({group:"edges",data:{source:n,target:i.id()}}),r.add({group:"edges",data:{source:a,target:i.id()}}),i.id()}else if(e.value)return e.value.id()},t$=function t(e,r,n){if(!e)return[];var a=[],i=[],o=[];return r===0?(e.left&&Ts(e.left,a),e.right&&Ts(e.right,i),o=a.concat(i),[n.collection(o)]):r===1?e.value?[n.collection(e.value)]:(e.left&&Ts(e.left,a),e.right&&Ts(e.right,i),[n.collection(a),n.collection(i)]):e.value?[n.collection(e.value)]:(e.left&&(a=t(e.left,r-1,n)),e.right&&(i=t(e.right,r-1,n)),a.concat(i))},hb=function(e){for(var r=this.cy(),n=this.nodes(),a=Q5(e),i=a.attributes,o=function(w,C){return Ss(a.distance,i.length,function(x){return i[x](w)},function(x){return i[x](C)},w,C)},l=[],c=[],u=[],d=[],f=0;f<n.length;f++){var h={value:a.mode==="dendrogram"?n[f]:[n[f]],key:f,index:f};l[f]=h,d[f]=h,c[f]=[],u[f]=0}for(var v=0;v<l.length;v++)for(var p=0;p<=v;p++){var g=void 0;a.mode==="dendrogram"?g=v===p?1/0:o(l[v].value,l[p].value):g=v===p?1/0:o(l[v].value[0],l[p].value[0]),c[v][p]=g,c[p][v]=g,g<c[v][u[v]]&&(u[v]=p)}for(var m=fb(l,d,c,u,a);m;)m=fb(l,d,c,u,a);var y;return a.mode==="dendrogram"?(y=t$(l[0],a.dendrogramDepth,r),a.addDendrogram&&e$(l[0],r)):(y=new Array(l.length),l.forEach(function(b,w){b.key=b.index=null,y[w]=r.collection(b.value)})),y},r$={hierarchicalClustering:hb,hca:hb},n$=xt({distance:"euclidean",preference:"median",damping:.8,maxIterations:1e3,minIterations:100,attributes:[]}),a$=function(e){var r=e.damping,n=e.preference;.5<=r&&r<1||Je("Damping must range on [0.5, 1). Got: ".concat(r));var a=["median","mean","min","max"];return a.some(function(i){return i===n})||de(n)||Je("Preference must be one of [".concat(a.map(function(i){return"'".concat(i,"'")}).join(", "),"] or a number. Got: ").concat(n)),n$(e)},i$=function(e,r,n,a){var i=function(l,c){return a[c](l)};return-Ss(e,a.length,function(o){return i(r,o)},function(o){return i(n,o)},r,n)},o$=function(e,r){var n=null;return r==="median"?n=a5(e):r==="mean"?n=n5(e):r==="min"?n=t5(e):r==="max"?n=r5(e):n=r,n},s$=function(e,r,n){for(var a=[],i=0;i<e;i++)r[i*e+i]+n[i*e+i]>0&&a.push(i);return a},pb=function(e,r,n){for(var a=[],i=0;i<e;i++){for(var o=-1,l=-1/0,c=0;c<n.length;c++){var u=n[c];r[i*e+u]>l&&(o=u,l=r[i*e+u])}o>0&&a.push(o)}for(var d=0;d<n.length;d++)a[n[d]]=n[d];return a},l$=function(e,r,n){for(var a=pb(e,r,n),i=0;i<n.length;i++){for(var o=[],l=0;l<a.length;l++)a[l]===n[i]&&o.push(l);for(var c=-1,u=-1/0,d=0;d<o.length;d++){for(var f=0,h=0;h<o.length;h++)f+=r[o[h]*e+o[d]];f>u&&(c=d,u=f)}n[i]=o[c]}return a=pb(e,r,n),a},vb=function(e){for(var r=this.cy(),n=this.nodes(),a=a$(e),i={},o=0;o<n.length;o++)i[n[o].id()]=o;var l,c,u,d,f,h;l=n.length,c=l*l,u=new Array(c);for(var v=0;v<c;v++)u[v]=-1/0;for(var p=0;p<l;p++)for(var g=0;g<l;g++)p!==g&&(u[p*l+g]=i$(a.distance,n[p],n[g],a.attributes));d=o$(u,a.preference);for(var m=0;m<l;m++)u[m*l+m]=d;f=new Array(c);for(var y=0;y<c;y++)f[y]=0;h=new Array(c);for(var b=0;b<c;b++)h[b]=0;for(var w=new Array(l),C=new Array(l),x=new Array(l),k=0;k<l;k++)w[k]=0,C[k]=0,x[k]=0;for(var E=new Array(l*a.minIterations),_=0;_<E.length;_++)E[_]=0;var S;for(S=0;S<a.maxIterations;S++){for(var T=0;T<l;T++){for(var N=-1/0,B=-1/0,O=-1,D=0,R=0;R<l;R++)w[R]=f[T*l+R],D=h[T*l+R]+u[T*l+R],D>=N?(B=N,N=D,O=R):D>B&&(B=D);for(var P=0;P<l;P++)f[T*l+P]=(1-a.damping)*(u[T*l+P]-N)+a.damping*w[P];f[T*l+O]=(1-a.damping)*(u[T*l+O]-B)+a.damping*w[O]}for(var L=0;L<l;L++){for(var A=0,q=0;q<l;q++)w[q]=h[q*l+L],C[q]=Math.max(0,f[q*l+L]),A+=C[q];A-=C[L],C[L]=f[L*l+L],A+=C[L];for(var U=0;U<l;U++)h[U*l+L]=(1-a.damping)*Math.min(0,A-C[U])+a.damping*w[U];h[L*l+L]=(1-a.damping)*(A-C[L])+a.damping*w[L]}for(var z=0,H=0;H<l;H++){var Q=h[H*l+H]+f[H*l+H]>0?1:0;E[S%a.minIterations*l+H]=Q,z+=Q}if(z>0&&(S>=a.minIterations-1||S==a.maxIterations-1)){for(var F=0,$=0;$<l;$++){x[$]=0;for(var V=0;V<a.minIterations;V++)x[$]+=E[V*l+$];(x[$]===0||x[$]===a.minIterations)&&F++}if(F===l)break}}for(var G=s$(l,f,h),j=l$(l,u,G),M={},W=0;W<G.length;W++)M[G[W]]=[];for(var Y=0;Y<n.length;Y++){var se=i[n[Y].id()],ce=j[se];ce!=null&&M[ce].push(n[Y])}for(var ae=new Array(G.length),ne=0;ne<G.length;ne++)ae[ne]=r.collection(M[G[ne]]);return ae},u$={affinityPropagation:vb,ap:vb},c$=xt({root:void 0,directed:!1}),d$={hierholzer:function(e){if(!Ae(e)){var r=arguments;e={root:r[0],directed:r[1]}}var n=c$(e),a=n.root,i=n.directed,o=this,l=!1,c,u,d;a&&(d=Ee(a)?this.filter(a)[0].id():a[0].id());var f={},h={};i?o.forEach(function(b){var w=b.id();if(b.isNode()){var C=b.indegree(!0),x=b.outdegree(!0),k=C-x,E=x-C;k==1?c?l=!0:c=w:E==1?u?l=!0:u=w:(E>1||k>1)&&(l=!0),f[w]=[],b.outgoers().forEach(function(_){_.isEdge()&&f[w].push(_.id())})}else h[w]=[void 0,b.target().id()]}):o.forEach(function(b){var w=b.id();if(b.isNode()){var C=b.degree(!0);C%2&&(c?u?l=!0:u=w:c=w),f[w]=[],b.connectedEdges().forEach(function(x){return f[w].push(x.id())})}else h[w]=[b.source().id(),b.target().id()]});var v={found:!1,trail:void 0};if(l)return v;if(u&&c)if(i){if(d&&u!=d)return v;d=u}else{if(d&&u!=d&&c!=d)return v;d||(d=u)}else d||(d=o[0].id());var p=function(w){for(var C=w,x=[w],k,E,_;f[C].length;)k=f[C].shift(),E=h[k][0],_=h[k][1],C!=_?(f[_]=f[_].filter(function(S){return S!=k}),C=_):!i&&C!=E&&(f[E]=f[E].filter(function(S){return S!=k}),C=E),x.unshift(k),x.unshift(C);return x},g=[],m=[];for(m=p(d);m.length!=1;)f[m[0]].length==0?(g.unshift(o.getElementById(m.shift())),g.unshift(o.getElementById(m.shift()))):m=p(m.shift()).concat(m);g.unshift(o.getElementById(m.shift()));for(var y in f)if(f[y].length)return v;return v.found=!0,v.trail=this.spawn(g,!0),v}},Ns=function(){var e=this,r={},n=0,a=0,i=[],o=[],l={},c=function(h,v){for(var p=o.length-1,g=[],m=e.spawn();o[p].x!=h||o[p].y!=v;)g.push(o.pop().edge),p--;g.push(o.pop().edge),g.forEach(function(y){var b=y.connectedNodes().intersection(e);m.merge(y),b.forEach(function(w){var C=w.id(),x=w.connectedEdges().intersection(e);m.merge(w),r[C].cutVertex?m.merge(x.filter(function(k){return k.isLoop()})):m.merge(x)})}),i.push(m)},u=function f(h,v,p){h===p&&(a+=1),r[v]={id:n,low:n++,cutVertex:!1};var g=e.getElementById(v).connectedEdges().intersection(e);if(g.size()===0)i.push(e.spawn(e.getElementById(v)));else{var m,y,b,w;g.forEach(function(C){m=C.source().id(),y=C.target().id(),b=m===v?y:m,b!==p&&(w=C.id(),l[w]||(l[w]=!0,o.push({x:v,y:b,edge:C})),b in r?r[v].low=Math.min(r[v].low,r[b].id):(f(h,b,v),r[v].low=Math.min(r[v].low,r[b].low),r[v].id<=r[b].low&&(r[v].cutVertex=!0,c(v,b))))})}};e.forEach(function(f){if(f.isNode()){var h=f.id();h in r||(a=0,u(h,h),r[h].cutVertex=a>1)}});var d=Object.keys(r).filter(function(f){return r[f].cutVertex}).map(function(f){return e.getElementById(f)});return{cut:e.spawn(d),components:i}},f$={hopcroftTarjanBiconnected:Ns,htbc:Ns,htb:Ns,hopcroftTarjanBiconnectedComponents:Ns},Is=function(){var e=this,r={},n=0,a=[],i=[],o=e.spawn(e),l=function c(u){i.push(u),r[u]={index:n,low:n++,explored:!1};var d=e.getElementById(u).connectedEdges().intersection(e);if(d.forEach(function(g){var m=g.target().id();m!==u&&(m in r||c(m),r[m].explored||(r[u].low=Math.min(r[u].low,r[m].low)))}),r[u].index===r[u].low){for(var f=e.spawn();;){var h=i.pop();if(f.merge(e.getElementById(h)),r[h].low=r[u].index,r[h].explored=!0,h===u)break}var v=f.edgesWith(f),p=f.merge(v);a.push(p),o=o.difference(p)}};return e.forEach(function(c){if(c.isNode()){var u=c.id();u in r||l(u)}}),{cut:o,components:a}},h$={tarjanStronglyConnected:Is,tsc:Is,tscc:Is,tarjanStronglyConnectedComponents:Is},gb={};[Zi,HF,KF,UF,WF,ZF,QF,k5,Va,qa,ju,M5,Z5,r$,u$,d$,f$,h$].forEach(function(t){Se(gb,t)});/*!
32
32
  Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable
@@ -41,18 +41,18 @@ Licensed under The MIT License (http://opensource.org/licenses/MIT)
41
41
  */var Zb=function(e,r){this.recycle(e,r)};function lo(){return!1}function Ls(){return!0}Zb.prototype={instanceString:function(){return"event"},recycle:function(e,r){if(this.isImmediatePropagationStopped=this.isPropagationStopped=this.isDefaultPrevented=lo,e!=null&&e.preventDefault?(this.type=e.type,this.isDefaultPrevented=e.defaultPrevented?Ls:lo):e!=null&&e.type?r=e:this.type=e,r!=null&&(this.originalEvent=r.originalEvent,this.type=r.type!=null?r.type:this.type,this.cy=r.cy,this.target=r.target,this.position=r.position,this.renderedPosition=r.renderedPosition,this.namespace=r.namespace,this.layout=r.layout),this.cy!=null&&this.position!=null&&this.renderedPosition==null){var n=this.position,a=this.cy.zoom(),i=this.cy.pan();this.renderedPosition={x:n.x*a+i.x,y:n.y*a+i.y}}this.timeStamp=e&&e.timeStamp||Date.now()},preventDefault:function(){this.isDefaultPrevented=Ls;var e=this.originalEvent;e&&e.preventDefault&&e.preventDefault()},stopPropagation:function(){this.isPropagationStopped=Ls;var e=this.originalEvent;e&&e.stopPropagation&&e.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Ls,this.stopPropagation()},isDefaultPrevented:lo,isPropagationStopped:lo,isImmediatePropagationStopped:lo};var Xb=/^([^.]+)(\.(?:[^.]+))?$/,az=".*",Jb={qualifierCompare:function(e,r){return e===r},eventMatches:function(){return!0},addEventFields:function(){},callbackContext:function(e){return e},beforeEmit:function(){},afterEmit:function(){},bubble:function(){return!1},parent:function(){return null},context:null},Qb=Object.keys(Jb),iz={};function Ms(){for(var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:iz,e=arguments.length>1?arguments[1]:void 0,r=0;r<Qb.length;r++){var n=Qb[r];this[n]=t[n]||Jb[n]}this.context=e||this.context,this.listeners=[],this.emitting=0}var Tn=Ms.prototype,e1=function(e,r,n,a,i,o,l){Xe(a)&&(i=a,a=null),l&&(o==null?o=l:o=Se({},o,l));for(var c=Ke(n)?n:n.split(/\s+/),u=0;u<c.length;u++){var d=c[u];if(!mn(d)){var f=d.match(Xb);if(f){var h=f[1],v=f[2]?f[2]:null,p=r(e,d,h,v,a,i,o);if(p===!1)break}}}},t1=function(e,r){return e.addEventFields(e.context,r),new Zb(r.type,r)},oz=function(e,r,n){if(_M(n)){r(e,n);return}else if(Ae(n)){r(e,t1(e,n));return}for(var a=Ke(n)?n:n.split(/\s+/),i=0;i<a.length;i++){var o=a[i];if(!mn(o)){var l=o.match(Xb);if(l){var c=l[1],u=l[2]?l[2]:null,d=t1(e,{type:c,namespace:u,target:e.context});r(e,d)}}}};Tn.on=Tn.addListener=function(t,e,r,n,a){return e1(this,function(i,o,l,c,u,d,f){Xe(d)&&i.listeners.push({event:o,callback:d,type:l,namespace:c,qualifier:u,conf:f})},t,e,r,n,a),this},Tn.one=function(t,e,r,n){return this.on(t,e,r,n,{one:!0})},Tn.removeListener=Tn.off=function(t,e,r,n){var a=this;this.emitting!==0&&(this.listeners=RF(this.listeners));for(var i=this.listeners,o=function(u){var d=i[u];e1(a,function(f,h,v,p,g,m){if((d.type===v||t==="*")&&(!p&&d.namespace!==".*"||d.namespace===p)&&(!g||f.qualifierCompare(d.qualifier,g))&&(!m||d.callback===m))return i.splice(u,1),!1},t,e,r,n)},l=i.length-1;l>=0;l--)o(l);return this},Tn.removeAllListeners=function(){return this.removeListener("*")},Tn.emit=Tn.trigger=function(t,e,r){var n=this.listeners,a=n.length;return this.emitting++,Ke(e)||(e=[e]),oz(this,function(i,o){r!=null&&(n=[{event:o.event,type:o.type,namespace:o.namespace,callback:r}],a=n.length);for(var l=function(d){var f=n[d];if(f.type===o.type&&(!f.namespace||f.namespace===o.namespace||f.namespace===az)&&i.eventMatches(i.context,f,o)){var h=[o];e!=null&&MF(h,e),i.beforeEmit(i.context,f,o),f.conf&&f.conf.one&&(i.listeners=i.listeners.filter(function(g){return g!==f}));var v=i.callbackContext(i.context,f,o),p=f.callback.apply(v,h);i.afterEmit(i.context,f,o),p===!1&&(o.stopPropagation(),o.preventDefault())}},c=0;c<a;c++)l(c);i.bubble(i.context)&&!o.isPropagationStopped()&&i.parent(i.context).emit(o,e)},t),this.emitting--,this};var sz={qualifierCompare:function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},eventMatches:function(e,r,n){var a=r.qualifier;return a!=null?e!==n.target&&zi(n.target)&&a.matches(n.target):!0},addEventFields:function(e,r){r.cy=e.cy(),r.target=e},callbackContext:function(e,r,n){return r.qualifier!=null?n.target:e},beforeEmit:function(e,r){r.conf&&r.conf.once&&r.conf.onceCollection.removeListener(r.event,r.qualifier,r.callback)},bubble:function(){return!0},parent:function(e){return e.isChild()?e.parent():e.cy()}},Fs=function(e){return Ee(e)?new xn(e):e},r1={createEmitter:function(){for(var e=0;e<this.length;e++){var r=this[e],n=r._private;n.emitter||(n.emitter=new Ms(sz,r))}return this},emitter:function(){return this._private.emitter},on:function(e,r,n){for(var a=Fs(r),i=0;i<this.length;i++){var o=this[i];o.emitter().on(e,a,n)}return this},removeListener:function(e,r,n){for(var a=Fs(r),i=0;i<this.length;i++){var o=this[i];o.emitter().removeListener(e,a,n)}return this},removeAllListeners:function(){for(var e=0;e<this.length;e++){var r=this[e];r.emitter().removeAllListeners()}return this},one:function(e,r,n){for(var a=Fs(r),i=0;i<this.length;i++){var o=this[i];o.emitter().one(e,a,n)}return this},once:function(e,r,n){for(var a=Fs(r),i=0;i<this.length;i++){var o=this[i];o.emitter().on(e,a,n,{once:!0,onceCollection:this})}},emit:function(e,r){for(var n=0;n<this.length;n++){var a=this[n];a.emitter().emit(e,r)}return this},emitAndNotify:function(e,r){if(this.length!==0)return this.cy().notify(e,this),this.emit(e,r),this}};Ve.eventAliasesOn(r1);var n1={nodes:function(e){return this.filter(function(r){return r.isNode()}).filter(e)},edges:function(e){return this.filter(function(r){return r.isEdge()}).filter(e)},byGroup:function(){for(var e=this.spawn(),r=this.spawn(),n=0;n<this.length;n++){var a=this[n];a.isNode()?e.push(a):r.push(a)}return{nodes:e,edges:r}},filter:function(e,r){if(e===void 0)return this;if(Ee(e)||Zt(e))return new xn(e).filter(this);if(Xe(e)){for(var n=this.spawn(),a=this,i=0;i<a.length;i++){var o=a[i],l=r?e.apply(r,[o,i,a]):e(o,i,a);l&&n.push(o)}return n}return this.spawn()},not:function(e){if(e){Ee(e)&&(e=this.filter(e));for(var r=this.spawn(),n=0;n<this.length;n++){var a=this[n],i=e.has(a);i||r.push(a)}return r}else return this},absoluteComplement:function(){var e=this.cy();return e.mutableElements().not(this)},intersect:function(e){if(Ee(e)){var r=e;return this.filter(r)}for(var n=this.spawn(),a=this,i=e,o=this.length<e.length,l=o?a:i,c=o?i:a,u=0;u<l.length;u++){var d=l[u];c.has(d)&&n.push(d)}return n},xor:function(e){var r=this._private.cy;Ee(e)&&(e=r.$(e));var n=this.spawn(),a=this,i=e,o=function(c,u){for(var d=0;d<c.length;d++){var f=c[d],h=f._private.data.id,v=u.hasElementWithId(h);v||n.push(f)}};return o(a,i),o(i,a),n},diff:function(e){var r=this._private.cy;Ee(e)&&(e=r.$(e));var n=this.spawn(),a=this.spawn(),i=this.spawn(),o=this,l=e,c=function(d,f,h){for(var v=0;v<d.length;v++){var p=d[v],g=p._private.data.id,m=f.hasElementWithId(g);m?i.merge(p):h.push(p)}};return c(o,l,n),c(l,o,a),{left:n,right:a,both:i}},add:function(e){var r=this._private.cy;if(!e)return this;if(Ee(e)){var n=e;e=r.mutableElements().filter(n)}for(var a=this.spawnSelf(),i=0;i<e.length;i++){var o=e[i],l=!this.has(o);l&&a.push(o)}return a},merge:function(e){var r=this._private,n=r.cy;if(!e)return this;if(e&&Ee(e)){var a=e;e=n.mutableElements().filter(a)}for(var i=r.map,o=0;o<e.length;o++){var l=e[o],c=l._private.data.id,u=!i.has(c);if(u){var d=this.length++;this[d]=l,i.set(c,{ele:l,index:d})}}return this},unmergeAt:function(e){var r=this[e],n=r.id(),a=this._private,i=a.map;this[e]=void 0,i.delete(n);var o=e===this.length-1;if(this.length>1&&!o){var l=this.length-1,c=this[l],u=c._private.data.id;this[l]=void 0,this[e]=c,i.set(u,{ele:c,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var r=this._private,n=e._private.data.id,a=r.map,i=a.get(n);if(!i)return this;var o=i.index;return this.unmergeAt(o),this},unmerge:function(e){var r=this._private.cy;if(!e)return this;if(e&&Ee(e)){var n=e;e=r.mutableElements().filter(n)}for(var a=0;a<e.length;a++)this.unmergeOne(e[a]);return this},unmergeBy:function(e){for(var r=this.length-1;r>=0;r--){var n=this[r];e(n)&&this.unmergeAt(r)}return this},map:function(e,r){for(var n=[],a=this,i=0;i<a.length;i++){var o=a[i],l=r?e.apply(r,[o,i,a]):e(o,i,a);n.push(l)}return n},reduce:function(e,r){for(var n=r,a=this,i=0;i<a.length;i++)n=e(n,a[i],i,a);return n},max:function(e,r){for(var n=-1/0,a,i=this,o=0;o<i.length;o++){var l=i[o],c=r?e.apply(r,[l,o,i]):e(l,o,i);c>n&&(n=c,a=l)}return{value:n,ele:a}},min:function(e,r){for(var n=1/0,a,i=this,o=0;o<i.length;o++){var l=i[o],c=r?e.apply(r,[l,o,i]):e(l,o,i);c<n&&(n=c,a=l)}return{value:n,ele:a}}},Le=n1;Le.u=Le["|"]=Le["+"]=Le.union=Le.or=Le.add,Le["\\"]=Le["!"]=Le["-"]=Le.difference=Le.relativeComplement=Le.subtract=Le.not,Le.n=Le["&"]=Le["."]=Le.and=Le.intersection=Le.intersect,Le["^"]=Le["(+)"]=Le["(-)"]=Le.symmetricDifference=Le.symdiff=Le.xor,Le.fnFilter=Le.filterFn=Le.stdFilter=Le.filter,Le.complement=Le.abscomp=Le.absoluteComplement;var lz={isNode:function(){return this.group()==="nodes"},isEdge:function(){return this.group()==="edges"},isLoop:function(){return this.isEdge()&&this.source()[0]===this.target()[0]},isSimple:function(){return this.isEdge()&&this.source()[0]!==this.target()[0]},group:function(){var e=this[0];if(e)return e._private.group}},a1=function(e,r){var n=e.cy(),a=n.hasCompoundNodes();function i(d){var f=d.pstyle("z-compound-depth");return f.value==="auto"?a?d.zDepth():0:f.value==="bottom"?-1:f.value==="top"?Mu:0}var o=i(e)-i(r);if(o!==0)return o;function l(d){var f=d.pstyle("z-index-compare");return f.value==="auto"&&d.isNode()?1:0}var c=l(e)-l(r);if(c!==0)return c;var u=e.pstyle("z-index").value-r.pstyle("z-index").value;return u!==0?u:e.poolIndex()-r.poolIndex()},$s={forEach:function(e,r){if(Xe(e))for(var n=this.length,a=0;a<n;a++){var i=this[a],o=r?e.apply(r,[i,a,this]):e(i,a,this);if(o===!1)break}return this},toArray:function(){for(var e=[],r=0;r<this.length;r++)e.push(this[r]);return e},slice:function(e,r){var n=[],a=this.length;r==null&&(r=a),e==null&&(e=0),e<0&&(e=a+e),r<0&&(r=a+r);for(var i=e;i>=0&&i<r&&i<a;i++)n.push(this[i]);return this.spawn(n)},size:function(){return this.length},eq:function(e){return this[e]||this.spawn()},first:function(){return this[0]||this.spawn()},last:function(){return this[this.length-1]||this.spawn()},empty:function(){return this.length===0},nonempty:function(){return!this.empty()},sort:function(e){if(!Xe(e))return this;var r=this.toArray().sort(e);return this.spawn(r)},sortByZIndex:function(){return this.sort(a1)},zDepth:function(){var e=this[0];if(e){var r=e._private,n=r.group;if(n==="nodes"){var a=r.data.parent?e.parents().size():0;return e.isParent()?a:Mu-1}else{var i=r.source,o=r.target,l=i.zDepth(),c=o.zDepth();return Math.max(l,c,0)}}}};$s.each=$s.forEach;var uz=function(){var e="undefined",r=(typeof Symbol>"u"?"undefined":ct(Symbol))!=e&&ct(Symbol.iterator)!=e;r&&($s[Symbol.iterator]=function(){var n=this,a={value:void 0,done:!1},i=0,o=this.length;return m0({next:function(){return i<o?a.value=n[i++]:(a.value=void 0,a.done=!0),a}},Symbol.iterator,function(){return this})})};uz();var cz=xt({nodeDimensionsIncludeLabels:!1}),Vs={layoutDimensions:function(e){e=cz(e);var r;if(!this.takesUpSpace())r={w:0,h:0};else if(e.nodeDimensionsIncludeLabels){var n=this.boundingBox();r={w:n.w,h:n.h}}else r={w:this.outerWidth(),h:this.outerHeight()};return(r.w===0||r.h===0)&&(r.w=r.h=1),r},layoutPositions:function(e,r,n){var a=this.nodes().filter(function(x){return!x.isParent()}),i=this.cy(),o=r.eles,l=function(k){return k.id()},c=Hi(n,l);e.emit({type:"layoutstart",layout:e}),e.animations=[];var u=function(k,E,_){var S={x:E.x1+E.w/2,y:E.y1+E.h/2},T={x:(_.x-S.x)*k,y:(_.y-S.y)*k};return{x:S.x+T.x,y:S.y+T.y}},d=r.spacingFactor&&r.spacingFactor!==1,f=function(){if(!d)return null;for(var k=Kt(),E=0;E<a.length;E++){var _=a[E],S=c(_,E);d5(k,S.x,S.y)}return k},h=f(),v=Hi(function(x,k){var E=c(x,k);if(d){var _=Math.abs(r.spacingFactor);E=u(_,h,E)}return r.transform!=null&&(E=r.transform(x,E)),E},l);if(r.animate){for(var p=0;p<a.length;p++){var g=a[p],m=v(g,p),y=r.animateFilter==null||r.animateFilter(g,p);if(y){var b=g.animation({position:m,duration:r.animationDuration,easing:r.animationEasing});e.animations.push(b)}else g.position(m)}if(r.fit){var w=i.animation({fit:{boundingBox:o.boundingBoxAt(v),padding:r.padding},duration:r.animationDuration,easing:r.animationEasing});e.animations.push(w)}else if(r.zoom!==void 0&&r.pan!==void 0){var C=i.animation({zoom:r.zoom,pan:r.pan,duration:r.animationDuration,easing:r.animationEasing});e.animations.push(C)}e.animations.forEach(function(x){return x.play()}),e.one("layoutready",r.ready),e.emit({type:"layoutready",layout:e}),Ha.all(e.animations.map(function(x){return x.promise()})).then(function(){e.one("layoutstop",r.stop),e.emit({type:"layoutstop",layout:e})})}else a.positions(v),r.fit&&i.fit(r.eles,r.padding),r.zoom!=null&&i.zoom(r.zoom),r.pan&&i.pan(r.pan),e.one("layoutready",r.ready),e.emit({type:"layoutready",layout:e}),e.one("layoutstop",r.stop),e.emit({type:"layoutstop",layout:e});return this},layout:function(e){var r=this.cy();return r.makeLayout(Se({},e,{eles:this}))}};Vs.createLayout=Vs.makeLayout=Vs.layout;function i1(t,e,r){var n=r._private,a=n.styleCache=n.styleCache||[],i;return(i=a[t])!=null||(i=a[t]=e(r)),i}function qs(t,e){return t=Xn(t),function(n){return i1(t,e,n)}}function zs(t,e){t=Xn(t);var r=function(a){return e.call(a)};return function(){var a=this[0];if(a)return i1(t,r,a)}}var kt={recalculateRenderedStyle:function(e){var r=this.cy(),n=r.renderer(),a=r.styleEnabled();return n&&a&&n.recalculateRenderedStyle(this,e),this},dirtyStyleCache:function(){var e=this.cy(),r=function(i){return i._private.styleCache=null};if(e.hasCompoundNodes()){var n;n=this.spawnSelf().merge(this.descendants()).merge(this.parents()),n.merge(n.connectedEdges()),n.forEach(r)}else this.forEach(function(a){r(a),a.connectedEdges().forEach(r)});return this},updateStyle:function(e){var r=this._private.cy;if(!r.styleEnabled())return this;if(r.batching()){var n=r._private.batchStyleEles;return n.merge(this),this}var a=r.hasCompoundNodes(),i=this;e=!!(e||e===void 0),a&&(i=this.spawnSelf().merge(this.descendants()).merge(this.parents()));var o=i;return e?o.emitAndNotify("style"):o.emit("style"),i.forEach(function(l){return l._private.styleDirty=!0}),this},cleanStyle:function(){var e=this.cy();if(e.styleEnabled())for(var r=0;r<this.length;r++){var n=this[r];n._private.styleDirty&&(n._private.styleDirty=!1,e.style().apply(n))}},parsedStyle:function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n=this[0],a=n.cy();if(a.styleEnabled()&&n){this.cleanStyle();var i=n._private.style[e];return i??(r?a.style().getDefaultProperty(e):null)}},numericStyle:function(e){var r=this[0];if(r.cy().styleEnabled()&&r){var n=r.pstyle(e);return n.pfValue!==void 0?n.pfValue:n.value}},numericStyleUnits:function(e){var r=this[0];if(r.cy().styleEnabled()&&r)return r.pstyle(e).units},renderedStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=this[0];if(n)return r.style().getRenderedStyle(n,e)},style:function(e,r){var n=this.cy();if(!n.styleEnabled())return this;var a=!1,i=n.style();if(Ae(e)){var o=e;i.applyBypass(this,o,a),this.emitAndNotify("style")}else if(Ee(e))if(r===void 0){var l=this[0];return l?i.getStylePropertyValue(l,e):void 0}else i.applyBypass(this,e,r,a),this.emitAndNotify("style");else if(e===void 0){var c=this[0];return c?i.getRawStyle(c):void 0}return this},removeStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=!1,a=r.style(),i=this;if(e===void 0)for(var o=0;o<i.length;o++){var l=i[o];a.removeAllBypasses(l,n)}else{e=e.split(/\s+/);for(var c=0;c<i.length;c++){var u=i[c];a.removeBypasses(u,e,n)}}return this.emitAndNotify("style"),this},show:function(){return this.css("display","element"),this},hide:function(){return this.css("display","none"),this},effectiveOpacity:function(){var e=this.cy();if(!e.styleEnabled())return 1;var r=e.hasCompoundNodes(),n=this[0];if(n){var a=n._private,i=n.pstyle("opacity").value;if(!r)return i;var o=a.data.parent?n.parents():null;if(o)for(var l=0;l<o.length;l++){var c=o[l],u=c.pstyle("opacity").value;i=u*i}return i}},transparent:function(){var e=this.cy();if(!e.styleEnabled())return!1;var r=this[0],n=r.cy().hasCompoundNodes();if(r)return n?r.effectiveOpacity()===0:r.pstyle("opacity").value===0},backgrounding:function(){var e=this.cy();if(!e.styleEnabled())return!1;var r=this[0];return!!r._private.backgrounding}};function sc(t,e){var r=t._private,n=r.data.parent?t.parents():null;if(n)for(var a=0;a<n.length;a++){var i=n[a];if(!e(i))return!1}return!0}function lc(t){var e=t.ok,r=t.edgeOkViaNode||t.ok,n=t.parentOk||t.ok;return function(){var a=this.cy();if(!a.styleEnabled())return!0;var i=this[0],o=a.hasCompoundNodes();if(i){var l=i._private;if(!e(i))return!1;if(i.isNode())return!o||sc(i,n);var c=l.source,u=l.target;return r(c)&&(!o||sc(c,r))&&(c===u||r(u)&&(!o||sc(u,r)))}}}var Xa=qs("eleTakesUpSpace",function(t){return t.pstyle("display").value==="element"&&t.width()!==0&&(t.isNode()?t.height()!==0:!0)});kt.takesUpSpace=zs("takesUpSpace",lc({ok:Xa}));var dz=qs("eleInteractive",function(t){return t.pstyle("events").value==="yes"&&t.pstyle("visibility").value==="visible"&&Xa(t)}),fz=qs("parentInteractive",function(t){return t.pstyle("visibility").value==="visible"&&Xa(t)});kt.interactive=zs("interactive",lc({ok:dz,parentOk:fz,edgeOkViaNode:Xa})),kt.noninteractive=function(){var t=this[0];if(t)return!t.interactive()};var hz=qs("eleVisible",function(t){return t.pstyle("visibility").value==="visible"&&t.pstyle("opacity").pfValue!==0&&Xa(t)}),pz=Xa;kt.visible=zs("visible",lc({ok:hz,edgeOkViaNode:pz})),kt.hidden=function(){var t=this[0];if(t)return!t.visible()},kt.isBundledBezier=zs("isBundledBezier",function(){return this.cy().styleEnabled()?!this.removed()&&this.pstyle("curve-style").value==="bezier"&&this.takesUpSpace():!1}),kt.bypass=kt.css=kt.style,kt.renderedCss=kt.renderedStyle,kt.removeBypass=kt.removeCss=kt.removeStyle,kt.pstyle=kt.parsedStyle;var Nn={};function o1(t){return function(){var e=arguments,r=[];if(e.length===2){var n=e[0],a=e[1];this.on(t.event,n,a)}else if(e.length===1&&Xe(e[0])){var i=e[0];this.on(t.event,i)}else if(e.length===0||e.length===1&&Ke(e[0])){for(var o=e.length===1?e[0]:null,l=0;l<this.length;l++){var c=this[l],u=!t.ableField||c._private[t.ableField],d=c._private[t.field]!=t.value;if(t.overrideAble){var f=t.overrideAble(c);if(f!==void 0&&(u=f,!f))return this}u&&(c._private[t.field]=t.value,d&&r.push(c))}var h=this.spawn(r);h.updateStyle(),h.emit(t.event),o&&h.emit(o)}return this}}function Ja(t){Nn[t.field]=function(){var e=this[0];if(e){if(t.overrideField){var r=t.overrideField(e);if(r!==void 0)return r}return e._private[t.field]}},Nn[t.on]=o1({event:t.on,field:t.field,ableField:t.ableField,overrideAble:t.overrideAble,value:!0}),Nn[t.off]=o1({event:t.off,field:t.field,ableField:t.ableField,overrideAble:t.overrideAble,value:!1})}Ja({field:"locked",overrideField:function(e){return e.cy().autolock()?!0:void 0},on:"lock",off:"unlock"}),Ja({field:"grabbable",overrideField:function(e){return e.cy().autoungrabify()||e.pannable()?!1:void 0},on:"grabify",off:"ungrabify"}),Ja({field:"selected",ableField:"selectable",overrideAble:function(e){return e.cy().autounselectify()?!1:void 0},on:"select",off:"unselect"}),Ja({field:"selectable",overrideField:function(e){return e.cy().autounselectify()?!1:void 0},on:"selectify",off:"unselectify"}),Nn.deselect=Nn.unselect,Nn.grabbed=function(){var t=this[0];if(t)return t._private.grabbed},Ja({field:"active",on:"activate",off:"unactivate"}),Ja({field:"pannable",on:"panify",off:"unpanify"}),Nn.inactive=function(){var t=this[0];if(t)return!t._private.active};var It={},s1=function(e){return function(n){for(var a=this,i=[],o=0;o<a.length;o++){var l=a[o];if(l.isNode()){for(var c=!1,u=l.connectedEdges(),d=0;d<u.length;d++){var f=u[d],h=f.source(),v=f.target();if(e.noIncomingEdges&&v===l&&h!==l||e.noOutgoingEdges&&h===l&&v!==l){c=!0;break}}c||i.push(l)}}return this.spawn(i,!0).filter(n)}},l1=function(e){return function(r){for(var n=this,a=[],i=0;i<n.length;i++){var o=n[i];if(o.isNode())for(var l=o.connectedEdges(),c=0;c<l.length;c++){var u=l[c],d=u.source(),f=u.target();e.outgoing&&d===o?(a.push(u),a.push(f)):e.incoming&&f===o&&(a.push(u),a.push(d))}}return this.spawn(a,!0).filter(r)}},u1=function(e){return function(r){for(var n=this,a=[],i={};;){var o=e.outgoing?n.outgoers():n.incomers();if(o.length===0)break;for(var l=!1,c=0;c<o.length;c++){var u=o[c],d=u.id();i[d]||(i[d]=!0,a.push(u),l=!0)}if(!l)break;n=o}return this.spawn(a,!0).filter(r)}};It.clearTraversalCache=function(){for(var t=0;t<this.length;t++)this[t]._private.traversalCache=null},Se(It,{roots:s1({noIncomingEdges:!0}),leaves:s1({noOutgoingEdges:!0}),outgoers:nr(l1({outgoing:!0}),"outgoers"),successors:u1({outgoing:!0}),incomers:nr(l1({incoming:!0}),"incomers"),predecessors:u1({incoming:!0})}),Se(It,{neighborhood:nr(function(t){for(var e=[],r=this.nodes(),n=0;n<r.length;n++)for(var a=r[n],i=a.connectedEdges(),o=0;o<i.length;o++){var l=i[o],c=l.source(),u=l.target(),d=a===c?u:c;d.length>0&&e.push(d[0]),e.push(l[0])}return this.spawn(e,!0).filter(t)},"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}}),It.neighbourhood=It.neighborhood,It.closedNeighbourhood=It.closedNeighborhood,It.openNeighbourhood=It.openNeighborhood,Se(It,{source:nr(function(e){var r=this[0],n;return r&&(n=r._private.source||r.cy().collection()),n&&e?n.filter(e):n},"source"),target:nr(function(e){var r=this[0],n;return r&&(n=r._private.target||r.cy().collection()),n&&e?n.filter(e):n},"target"),sources:c1({attr:"source"}),targets:c1({attr:"target"})});function c1(t){return function(r){for(var n=[],a=0;a<this.length;a++){var i=this[a],o=i._private[t.attr];o&&n.push(o)}return this.spawn(n,!0).filter(r)}}Se(It,{edgesWith:nr(d1(),"edgesWith"),edgesTo:nr(d1({thisIsSrc:!0}),"edgesTo")});function d1(t){return function(r){var n=[],a=this._private.cy,i=t||{};Ee(r)&&(r=a.$(r));for(var o=0;o<r.length;o++)for(var l=r[o]._private.edges,c=0;c<l.length;c++){var u=l[c],d=u._private.data,f=this.hasElementWithId(d.source)&&r.hasElementWithId(d.target),h=r.hasElementWithId(d.source)&&this.hasElementWithId(d.target),v=f||h;v&&((i.thisIsSrc||i.thisIsTgt)&&(i.thisIsSrc&&!f||i.thisIsTgt&&!h)||n.push(u))}return this.spawn(n,!0)}}Se(It,{connectedEdges:nr(function(t){for(var e=[],r=this,n=0;n<r.length;n++){var a=r[n];if(a.isNode())for(var i=a._private.edges,o=0;o<i.length;o++){var l=i[o];e.push(l)}}return this.spawn(e,!0).filter(t)},"connectedEdges"),connectedNodes:nr(function(t){for(var e=[],r=this,n=0;n<r.length;n++){var a=r[n];a.isEdge()&&(e.push(a.source()[0]),e.push(a.target()[0]))}return this.spawn(e,!0).filter(t)},"connectedNodes"),parallelEdges:nr(f1(),"parallelEdges"),codirectedEdges:nr(f1({codirected:!0}),"codirectedEdges")});function f1(t){var e={codirected:!1};return t=Se({},e,t),function(n){for(var a=[],i=this.edges(),o=t,l=0;l<i.length;l++)for(var c=i[l],u=c._private,d=u.source,f=d._private.data.id,h=u.data.target,v=d._private.edges,p=0;p<v.length;p++){var g=v[p],m=g._private.data,y=m.target,b=m.source,w=y===h&&b===f,C=f===y&&h===b;(o.codirected&&w||!o.codirected&&(w||C))&&a.push(g)}return this.spawn(a,!0).filter(n)}}Se(It,{components:function(e){var r=this,n=r.cy(),a=n.collection(),i=e==null?r.nodes():e.nodes(),o=[];e!=null&&i.empty()&&(i=e.sources());var l=function(d,f){a.merge(d),i.unmerge(d),f.merge(d)};if(i.empty())return r.spawn();var c=function(){var d=n.collection();o.push(d);var f=i[0];l(f,d),r.bfs({directed:!1,roots:f,visit:function(v){return l(v,d)}}),d.forEach(function(h){h.connectedEdges().forEach(function(v){r.has(v)&&d.has(v.source())&&d.has(v.target())&&d.merge(v)})})};do c();while(i.length>0);return o},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}}),It.componentsOf=It.components;var St=function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){Je("A collection must have a reference to the core");return}var i=new Ir,o=!1;if(!r)r=[];else if(r.length>0&&Ae(r[0])&&!zi(r[0])){o=!0;for(var l=[],c=new La,u=0,d=r.length;u<d;u++){var f=r[u];f.data==null&&(f.data={});var h=f.data;if(h.id==null)h.id=H0();else if(e.hasElementWithId(h.id)||c.has(h.id))continue;var v=new ms(e,f,!1);l.push(v),c.add(h.id)}r=l}this.length=0;for(var p=0,g=r.length;p<g;p++){var m=r[p][0];if(m!=null){var y=m._private.data.id;(!n||!i.has(y))&&(n&&i.set(y,{index:this.length,ele:m}),this[this.length]=m,this.length++)}}this._private={eles:this,cy:e,get map(){return this.lazyMap==null&&this.rebuildMap(),this.lazyMap},set map(b){this.lazyMap=b},rebuildMap:function(){for(var w=this.lazyMap=new Ir,C=this.eles,x=0;x<C.length;x++){var k=C[x];w.set(k.id(),{index:x,ele:k})}}},n&&(this._private.map=i),o&&!a&&this.restore()},Ge=ms.prototype=St.prototype=Object.create(Array.prototype);Ge.instanceString=function(){return"collection"},Ge.spawn=function(t,e){return new St(this.cy(),t,e)},Ge.spawnSelf=function(){return this.spawn(this)},Ge.cy=function(){return this._private.cy},Ge.renderer=function(){return this._private.cy.renderer()},Ge.element=function(){return this[0]},Ge.collection=function(){return x0(this)?this:new St(this._private.cy,[this])},Ge.unique=function(){return new St(this._private.cy,this,!0)},Ge.hasElementWithId=function(t){return t=""+t,this._private.map.has(t)},Ge.getElementById=function(t){t=""+t;var e=this._private.cy,r=this._private.map.get(t);return r?r.ele:new St(e)},Ge.$id=Ge.getElementById,Ge.poolIndex=function(){var t=this._private.cy,e=t._private.elements,r=this[0]._private.data.id;return e._private.map.get(r).index},Ge.indexOf=function(t){var e=t[0]._private.data.id;return this._private.map.get(e).index},Ge.indexOfId=function(t){return t=""+t,this._private.map.get(t).index},Ge.json=function(t){var e=this.element(),r=this.cy();if(e==null&&t)return this;if(e!=null){var n=e._private;if(Ae(t)){if(r.startBatch(),t.data){e.data(t.data);var a=n.data;if(e.isEdge()){var i=!1,o={},l=t.data.source,c=t.data.target;l!=null&&l!=a.source&&(o.source=""+l,i=!0),c!=null&&c!=a.target&&(o.target=""+c,i=!0),i&&(e=e.move(o))}else{var u="parent"in t.data,d=t.data.parent;u&&(d!=null||a.parent!=null)&&d!=a.parent&&(d===void 0&&(d=null),d!=null&&(d=""+d),e=e.move({parent:d}))}}t.position&&e.position(t.position);var f=function(g,m,y){var b=t[g];b!=null&&b!==n[g]&&(b?e[m]():e[y]())};return f("removed","remove","restore"),f("selected","select","unselect"),f("selectable","selectify","unselectify"),f("locked","lock","unlock"),f("grabbable","grabify","ungrabify"),f("pannable","panify","unpanify"),t.classes!=null&&e.classes(t.classes),r.endBatch(),this}else if(t===void 0){var h={data:Nr(n.data),position:Nr(n.position),group:n.group,removed:n.removed,selected:n.selected,selectable:n.selectable,locked:n.locked,grabbable:n.grabbable,pannable:n.pannable,classes:null};h.classes="";var v=0;return n.classes.forEach(function(p){return h.classes+=v++===0?p:" "+p}),h}}},Ge.jsons=function(){for(var t=[],e=0;e<this.length;e++){var r=this[e],n=r.json();t.push(n)}return t},Ge.clone=function(){for(var t=this.cy(),e=[],r=0;r<this.length;r++){var n=this[r],a=n.json(),i=new ms(t,a,!1);e.push(i)}return new St(t,e)},Ge.copy=Ge.clone,Ge.restore=function(){for(var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=r.cy(),a=n._private,i=[],o=[],l,c=0,u=r.length;c<u;c++){var d=r[c];e&&!d.removed()||(d.isNode()?i.push(d):o.push(d))}l=i.concat(o);var f,h=function(){l.splice(f,1),f--};for(f=0;f<l.length;f++){var v=l[f],p=v._private,g=p.data;if(v.clearTraversalCache(),!(!e&&!p.removed)){if(g.id===void 0)g.id=H0();else if(de(g.id))g.id=""+g.id;else if(mn(g.id)||!Ee(g.id)){Je("Can not create element with invalid string ID `"+g.id+"`"),h();continue}else if(n.hasElementWithId(g.id)){Je("Can not create second element with ID `"+g.id+"`"),h();continue}}var m=g.id;if(v.isNode()){var y=p.position;y.x==null&&(y.x=0),y.y==null&&(y.y=0)}if(v.isEdge()){for(var b=v,w=["source","target"],C=w.length,x=!1,k=0;k<C;k++){var E=w[k],_=g[E];de(_)&&(_=g[E]=""+g[E]),_==null||_===""?(Je("Can not create edge `"+m+"` with unspecified "+E),x=!0):n.hasElementWithId(_)||(Je("Can not create edge `"+m+"` with nonexistant "+E+" `"+_+"`"),x=!0)}if(x){h();continue}var S=n.getElementById(g.source),T=n.getElementById(g.target);S.same(T)?S._private.edges.push(b):(S._private.edges.push(b),T._private.edges.push(b)),b._private.source=S,b._private.target=T}p.map=new Ir,p.map.set(m,{ele:v,index:0}),p.removed=!1,e&&n.addToPool(v)}for(var N=0;N<i.length;N++){var B=i[N],O=B._private.data;de(O.parent)&&(O.parent=""+O.parent);var D=O.parent,R=D!=null;if(R||B._private.parent){var P=B._private.parent?n.collection().merge(B._private.parent):n.getElementById(D);if(P.empty())O.parent=void 0;else if(P[0].removed())$e("Node added with missing parent, reference to parent removed"),O.parent=void 0,B._private.parent=null;else{for(var L=!1,A=P;!A.empty();){if(B.same(A)){L=!0,O.parent=void 0;break}A=A.parent()}L||(P[0]._private.children.push(B),B._private.parent=P[0],a.hasCompoundNodes=!0)}}}if(l.length>0){for(var q=l.length===r.length?r:new St(n,l),U=0;U<q.length;U++){var z=q[U];z.isNode()||(z.parallelEdges().clearTraversalCache(),z.source().clearTraversalCache(),z.target().clearTraversalCache())}var H;a.hasCompoundNodes?H=n.collection().merge(q).merge(q.connectedNodes()).merge(q.parent()):H=q,H.dirtyCompoundBoundsCache().dirtyBoundingBoxCache().updateStyle(t),t?q.emitAndNotify("add"):e&&q.emit("add")}return r},Ge.removed=function(){var t=this[0];return t&&t._private.removed},Ge.inside=function(){var t=this[0];return t&&!t._private.removed},Ge.remove=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=[],a={},i=r._private.cy;function o(D){for(var R=D._private.edges,P=0;P<R.length;P++)c(R[P])}function l(D){for(var R=D._private.children,P=0;P<R.length;P++)c(R[P])}function c(D){var R=a[D.id()];e&&D.removed()||R||(a[D.id()]=!0,D.isNode()?(n.push(D),o(D),l(D)):n.unshift(D))}for(var u=0,d=r.length;u<d;u++){var f=r[u];c(f)}function h(D,R){var P=D._private.edges;bn(P,R),D.clearTraversalCache()}function v(D){D.clearTraversalCache()}var p=[];p.ids={};function g(D,R){R=R[0],D=D[0];var P=D._private.children,L=D.id();bn(P,R),R._private.parent=null,p.ids[L]||(p.ids[L]=!0,p.push(D))}r.dirtyCompoundBoundsCache(),e&&i.removeFromPool(n);for(var m=0;m<n.length;m++){var y=n[m];if(y.isEdge()){var b=y.source()[0],w=y.target()[0];h(b,y),h(w,y);for(var C=y.parallelEdges(),x=0;x<C.length;x++){var k=C[x];v(k),k.isBundledBezier()&&k.dirtyBoundingBoxCache()}}else{var E=y.parent();E.length!==0&&g(E,y)}e&&(y._private.removed=!0)}var _=i._private.elements;i._private.hasCompoundNodes=!1;for(var S=0;S<_.length;S++){var T=_[S];if(T.isParent()){i._private.hasCompoundNodes=!0;break}}var N=new St(this.cy(),n);N.size()>0&&(t?N.emitAndNotify("remove"):e&&N.emit("remove"));for(var B=0;B<p.length;B++){var O=p[B];(!e||!O.removed())&&O.updateStyle()}return N},Ge.move=function(t){var e=this._private.cy,r=this,n=!1,a=!1,i=function(p){return p==null?p:""+p};if(t.source!==void 0||t.target!==void 0){var o=i(t.source),l=i(t.target),c=o!=null&&e.hasElementWithId(o),u=l!=null&&e.hasElementWithId(l);(c||u)&&(e.batch(function(){r.remove(n,a),r.emitAndNotify("moveout");for(var v=0;v<r.length;v++){var p=r[v],g=p._private.data;p.isEdge()&&(c&&(g.source=o),u&&(g.target=l))}r.restore(n,a)}),r.emitAndNotify("move"))}else if(t.parent!==void 0){var d=i(t.parent),f=d===null||e.hasElementWithId(d);if(f){var h=d===null?void 0:d;e.batch(function(){var v=r.remove(n,a);v.emitAndNotify("moveout");for(var p=0;p<r.length;p++){var g=r[p],m=g._private.data;g.isNode()&&(m.parent=h)}v.restore(n,a)}),r.emitAndNotify("move")}}return this},[gb,Sq,Ps,Sn,Wa,qq,As,nz,r1,n1,lz,$s,Vs,kt,Nn,It].forEach(function(t){Se(Ge,t)});var vz={add:function(e){var r,n=this;if(Zt(e)){var a=e;if(a._private.cy===n)r=a.restore();else{for(var i=[],o=0;o<a.length;o++){var l=a[o];i.push(l.json())}r=new St(n,i)}}else if(Ke(e)){var c=e;r=new St(n,c)}else if(Ae(e)&&(Ke(e.nodes)||Ke(e.edges))){for(var u=e,d=[],f=["nodes","edges"],h=0,v=f.length;h<v;h++){var p=f[h],g=u[p];if(Ke(g))for(var m=0,y=g.length;m<y;m++){var b=Se({group:p},g[m]);d.push(b)}}r=new St(n,d)}else{var w=e;r=new ms(n,w).collection()}return r},remove:function(e){if(!Zt(e)){if(Ee(e)){var r=e;e=this.$(r)}}return e.remove()}};/*! Bezier curve function generator. Copyright Gaetan Renaudeau. MIT License: http://en.wikipedia.org/wiki/MIT_License */function gz(t,e,r,n){var a=4,i=.001,o=1e-7,l=10,c=11,u=1/(c-1),d=typeof Float32Array<"u";if(arguments.length!==4)return!1;for(var f=0;f<4;++f)if(typeof arguments[f]!="number"||isNaN(arguments[f])||!isFinite(arguments[f]))return!1;t=Math.min(t,1),r=Math.min(r,1),t=Math.max(t,0),r=Math.max(r,0);var h=d?new Float32Array(c):new Array(c);function v(T,N){return 1-3*N+3*T}function p(T,N){return 3*N-6*T}function g(T){return 3*T}function m(T,N,B){return((v(N,B)*T+p(N,B))*T+g(N))*T}function y(T,N,B){return 3*v(N,B)*T*T+2*p(N,B)*T+g(N)}function b(T,N){for(var B=0;B<a;++B){var O=y(N,t,r);if(O===0)return N;var D=m(N,t,r)-T;N-=D/O}return N}function w(){for(var T=0;T<c;++T)h[T]=m(T*u,t,r)}function C(T,N,B){var O,D,R=0;do D=N+(B-N)/2,O=m(D,t,r)-T,O>0?B=D:N=D;while(Math.abs(O)>o&&++R<l);return D}function x(T){for(var N=0,B=1,O=c-1;B!==O&&h[B]<=T;++B)N+=u;--B;var D=(T-h[B])/(h[B+1]-h[B]),R=N+D*u,P=y(R,t,r);return P>=i?b(T,R):P===0?R:C(T,N,N+u)}var k=!1;function E(){k=!0,(t!==e||r!==n)&&w()}var _=function(N){return k||E(),t===e&&r===n?N:N===0?0:N===1?1:m(x(N),e,n)};_.getControlPoints=function(){return[{x:t,y:e},{x:r,y:n}]};var S="generateBezier("+[t,e,r,n]+")";return _.toString=function(){return S},_}/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var mz=function(){function t(n){return-n.tension*n.x-n.friction*n.v}function e(n,a,i){var o={x:n.x+i.dx*a,v:n.v+i.dv*a,tension:n.tension,friction:n.friction};return{dx:o.v,dv:t(o)}}function r(n,a){var i={dx:n.v,dv:t(n)},o=e(n,a*.5,i),l=e(n,a*.5,o),c=e(n,a,l),u=1/6*(i.dx+2*(o.dx+l.dx)+c.dx),d=1/6*(i.dv+2*(o.dv+l.dv)+c.dv);return n.x=n.x+u*a,n.v=n.v+d*a,n}return function n(a,i,o){var l={x:-1,v:0,tension:null,friction:null},c=[0],u=0,d=1/1e4,f=16/1e3,h,v,p;for(a=parseFloat(a)||500,i=parseFloat(i)||20,o=o||null,l.tension=a,l.friction=i,h=o!==null,h?(u=n(a,i),v=u/o*f):v=f;p=r(p||l,v),c.push(1+p.x),u+=16,Math.abs(p.x)>d&&Math.abs(p.v)>d;);return h?function(g){return c[g*(c.length-1)|0]}:u}}(),Ue=function(e,r,n,a){var i=gz(e,r,n,a);return function(o,l,c){return o+(l-o)*i(c)}},Hs={linear:function(e,r,n){return e+(r-e)*n},ease:Ue(.25,.1,.25,1),"ease-in":Ue(.42,0,1,1),"ease-out":Ue(0,0,.58,1),"ease-in-out":Ue(.42,0,.58,1),"ease-in-sine":Ue(.47,0,.745,.715),"ease-out-sine":Ue(.39,.575,.565,1),"ease-in-out-sine":Ue(.445,.05,.55,.95),"ease-in-quad":Ue(.55,.085,.68,.53),"ease-out-quad":Ue(.25,.46,.45,.94),"ease-in-out-quad":Ue(.455,.03,.515,.955),"ease-in-cubic":Ue(.55,.055,.675,.19),"ease-out-cubic":Ue(.215,.61,.355,1),"ease-in-out-cubic":Ue(.645,.045,.355,1),"ease-in-quart":Ue(.895,.03,.685,.22),"ease-out-quart":Ue(.165,.84,.44,1),"ease-in-out-quart":Ue(.77,0,.175,1),"ease-in-quint":Ue(.755,.05,.855,.06),"ease-out-quint":Ue(.23,1,.32,1),"ease-in-out-quint":Ue(.86,0,.07,1),"ease-in-expo":Ue(.95,.05,.795,.035),"ease-out-expo":Ue(.19,1,.22,1),"ease-in-out-expo":Ue(1,0,0,1),"ease-in-circ":Ue(.6,.04,.98,.335),"ease-out-circ":Ue(.075,.82,.165,1),"ease-in-out-circ":Ue(.785,.135,.15,.86),spring:function(e,r,n){if(n===0)return Hs.linear;var a=mz(e,r,n);return function(i,o,l){return i+(o-i)*a(l)}},"cubic-bezier":Ue};function h1(t,e,r,n,a){if(n===1||e===r)return r;var i=a(e,r,n);return t==null||((t.roundValue||t.color)&&(i=Math.round(i)),t.min!==void 0&&(i=Math.max(i,t.min)),t.max!==void 0&&(i=Math.min(i,t.max))),i}function p1(t,e){return t.pfValue!=null||t.value!=null?t.pfValue!=null&&(e==null||e.type.units!=="%")?t.pfValue:t.value:t}function Qa(t,e,r,n,a){var i=a!=null?a.type:null;r<0?r=0:r>1&&(r=1);var o=p1(t,a),l=p1(e,a);if(de(o)&&de(l))return h1(i,o,l,r,n);if(Ke(o)&&Ke(l)){for(var c=[],u=0;u<l.length;u++){var d=o[u],f=l[u];if(d!=null&&f!=null){var h=h1(i,d,f,r,n);c.push(h)}else c.push(f)}return c}}function yz(t,e,r,n){var a=!n,i=t._private,o=e._private,l=o.easing,c=o.startTime,u=n?t:t.cy(),d=u.style();if(!o.easingImpl)if(l==null)o.easingImpl=Hs.linear;else{var f;if(Ee(l)){var h=d.parse("transition-timing-function",l);f=h.value}else f=l;var v,p;Ee(f)?(v=f,p=[]):(v=f[1],p=f.slice(2).map(function(q){return+q})),p.length>0?(v==="spring"&&p.push(o.duration),o.easingImpl=Hs[v].apply(null,p)):o.easingImpl=Hs[v]}var g=o.easingImpl,m;if(o.duration===0?m=1:m=(r-c)/o.duration,o.applying&&(m=o.progress),m<0?m=0:m>1&&(m=1),o.delay==null){var y=o.startPosition,b=o.position;if(b&&a&&!t.locked()){var w={};uo(y.x,b.x)&&(w.x=Qa(y.x,b.x,m,g)),uo(y.y,b.y)&&(w.y=Qa(y.y,b.y,m,g)),t.position(w)}var C=o.startPan,x=o.pan,k=i.pan,E=x!=null&&n;E&&(uo(C.x,x.x)&&(k.x=Qa(C.x,x.x,m,g)),uo(C.y,x.y)&&(k.y=Qa(C.y,x.y,m,g)),t.emit("pan"));var _=o.startZoom,S=o.zoom,T=S!=null&&n;T&&(uo(_,S)&&(i.zoom=Ji(i.minZoom,Qa(_,S,m,g),i.maxZoom)),t.emit("zoom")),(E||T)&&t.emit("viewport");var N=o.style;if(N&&N.length>0&&a){for(var B=0;B<N.length;B++){var O=N[B],D=O.name,R=O,P=o.startStyle[D],L=d.properties[P.name],A=Qa(P,R,m,g,L);d.overrideBypass(t,D,A)}t.emit("style")}}return o.progress=m,m}function uo(t,e){return t==null||e==null?!1:de(t)&&de(e)?!0:!!(t&&e)}function bz(t,e,r,n){var a=e._private;a.started=!0,a.startTime=r-a.progress*a.duration}function v1(t,e){var r=e._private.aniEles,n=[];function a(d,f){var h=d._private,v=h.animation.current,p=h.animation.queue,g=!1;if(v.length===0){var m=p.shift();m&&v.push(m)}for(var y=function(k){for(var E=k.length-1;E>=0;E--){var _=k[E];_()}k.splice(0,k.length)},b=v.length-1;b>=0;b--){var w=v[b],C=w._private;if(C.stopped){v.splice(b,1),C.hooked=!1,C.playing=!1,C.started=!1,y(C.frames);continue}!C.playing&&!C.applying||(C.playing&&C.applying&&(C.applying=!1),C.started||bz(d,w,t),yz(d,w,t,f),C.applying&&(C.applying=!1),y(C.frames),C.step!=null&&C.step(t),w.completed()&&(v.splice(b,1),C.hooked=!1,C.playing=!1,C.started=!1,y(C.completes)),g=!0)}return!f&&v.length===0&&p.length===0&&n.push(d),g}for(var i=!1,o=0;o<r.length;o++){var l=r[o],c=a(l);i=i||c}var u=a(e,!0);(i||u)&&(r.length>0?e.notify("draw",r):e.notify("draw")),r.unmerge(n),e.emit("step")}var wz={animate:Ve.animate(),animation:Ve.animation(),animated:Ve.animated(),clearQueue:Ve.clearQueue(),delay:Ve.delay(),delayAnimation:Ve.delayAnimation(),stop:Ve.stop(),addToAnimationPool:function(e){var r=this;r.styleEnabled()&&r._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function r(){e._private.animationsRunning&&ps(function(i){v1(i,e),r()})}var n=e.renderer();n&&n.beforeRender?n.beforeRender(function(i,o){v1(o,e)},n.beforeRenderPriorities.animations):r()}},Cz={qualifierCompare:function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},eventMatches:function(e,r,n){var a=r.qualifier;return a!=null?e!==n.target&&zi(n.target)&&a.matches(n.target):!0},addEventFields:function(e,r){r.cy=e,r.target=e},callbackContext:function(e,r,n){return r.qualifier!=null?n.target:e}},Ks=function(e){return Ee(e)?new xn(e):e},g1={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new Ms(Cz,this)),this},emitter:function(){return this._private.emitter},on:function(e,r,n){return this.emitter().on(e,Ks(r),n),this},removeListener:function(e,r,n){return this.emitter().removeListener(e,Ks(r),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,r,n){return this.emitter().one(e,Ks(r),n),this},once:function(e,r,n){return this.emitter().one(e,Ks(r),n),this},emit:function(e,r){return this.emitter().emit(e,r),this},emitAndNotify:function(e,r){return this.emit(e),this.notify(e,r),this}};Ve.eventAliasesOn(g1);var uc={png:function(e){var r=this._private.renderer;return e=e||{},r.png(e)},jpg:function(e){var r=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",r.jpg(e)}};uc.jpeg=uc.jpg;var Gs={layout:function(e){var r=this;if(e==null){Je("Layout options must be specified to make a layout");return}if(e.name==null){Je("A `name` must be specified to make a layout");return}var n=e.name,a=r.extension("layout",n);if(a==null){Je("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var i;Ee(e.eles)?i=r.$(e.eles):i=e.eles!=null?e.eles:r.$();var o=new a(Se({},e,{cy:r,eles:i}));return o}};Gs.createLayout=Gs.makeLayout=Gs.layout;var Ez={notify:function(e,r){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var a=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();r!=null&&a.merge(r);return}if(n.notificationsEnabled){var i=this.renderer();this.destroyed()||!i||i.notify(e,r)}},notifications:function(e){var r=this._private;return e===void 0?r.notificationsEnabled:(r.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var r=this.renderer();Object.keys(e.batchNotifications).forEach(function(n){var a=e.batchNotifications[n];a.empty()?r.notify(n):r.notify(n,a)})}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var r=this;return this.batch(function(){for(var n=Object.keys(e),a=0;a<n.length;a++){var i=n[a],o=e[i],l=r.getElementById(i);l.data(o)}})}},xz=xt({hideEdgesOnViewport:!1,textureOnViewport:!1,motionBlur:!1,motionBlurOpacity:.05,pixelRatio:void 0,desktopTapThreshold:4,touchTapThreshold:8,wheelSensitivity:1,debug:!1,showFps:!1}),cc={renderTo:function(e,r,n,a){var i=this._private.renderer;return i.renderTo(e,r,n,a),this},renderer:function(){return this._private.renderer},forceRender:function(){return this.notify("draw"),this},resize:function(){return this.invalidateSize(),this.emitAndNotify("resize"),this},initRenderer:function(e){var r=this,n=r.extension("renderer",e.name);if(n==null){Je("Can not initialise: No such renderer `".concat(e.name,"` found. Did you forget to import it and `cytoscape.use()` it?"));return}e.wheelSensitivity!==void 0&&$e("You have set a custom wheel sensitivity. This will make your app zoom unnaturally when using mainstream mice. You should change this value from the default only if you can guarantee that all your users will use the same hardware and OS configuration as your current machine.");var a=xz(e);a.cy=r,r._private.renderer=new n(a),this.notify("init")},destroyRenderer:function(){var e=this;e.notify("destroy");var r=e.container();if(r)for(r._cyreg=null;r.childNodes.length>0;)r.removeChild(r.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(n){var a=n._private;a.rscratch={},a.rstyle={},a.animation.current=[],a.animation.queue=[]})},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};cc.invalidateDimensions=cc.resize;var Us={collection:function(e,r){return Ee(e)?this.$(e):Zt(e)?e.collection():Ke(e)?(r||(r={}),new St(this,e,r.unique,r.removed)):new St(this)},nodes:function(e){var r=this.$(function(n){return n.isNode()});return e?r.filter(e):r},edges:function(e){var r=this.$(function(n){return n.isEdge()});return e?r.filter(e):r},$:function(e){var r=this._private.elements;return e?r.filter(e):r.spawnSelf()},mutableElements:function(){return this._private.elements}};Us.elements=Us.filter=Us.$;var Bt={},co="t",kz="f";Bt.apply=function(t){for(var e=this,r=e._private,n=r.cy,a=n.collection(),i=0;i<t.length;i++){var o=t[i],l=e.getContextMeta(o);if(!l.empty){var c=e.getContextStyle(l),u=e.applyContextStyle(l,c,o);o._private.appliedInitStyle?e.updateTransitions(o,u.diffProps):o._private.appliedInitStyle=!0;var d=e.updateStyleHints(o);d&&a.push(o)}}return a},Bt.getPropertiesDiff=function(t,e){var r=this,n=r._private.propDiffs=r._private.propDiffs||{},a=t+"-"+e,i=n[a];if(i)return i;for(var o=[],l={},c=0;c<r.length;c++){var u=r[c],d=t[c]===co,f=e[c]===co,h=d!==f,v=u.mappedProperties.length>0;if(h||f&&v){var p=void 0;h&&v||h?p=u.properties:v&&(p=u.mappedProperties);for(var g=0;g<p.length;g++){for(var m=p[g],y=m.name,b=!1,w=c+1;w<r.length;w++){var C=r[w],x=e[w]===co;if(x&&(b=C.properties[m.name]!=null,b))break}!l[y]&&!b&&(l[y]=!0,o.push(y))}}}return n[a]=o,o},Bt.getContextMeta=function(t){for(var e=this,r="",n,a=t._private.styleCxtKey||"",i=0;i<e.length;i++){var o=e[i],l=o.selector&&o.selector.matches(t);l?r+=co:r+=kz}return n=e.getPropertiesDiff(a,r),t._private.styleCxtKey=r,{key:r,diffPropNames:n,empty:n.length===0}},Bt.getContextStyle=function(t){var e=t.key,r=this,n=this._private.contextStyles=this._private.contextStyles||{};if(n[e])return n[e];for(var a={_private:{key:e}},i=0;i<r.length;i++){var o=r[i],l=e[i]===co;if(l)for(var c=0;c<o.properties.length;c++){var u=o.properties[c];a[u.name]=u}}return n[e]=a,a},Bt.applyContextStyle=function(t,e,r){for(var n=this,a=t.diffPropNames,i={},o=n.types,l=0;l<a.length;l++){var c=a[l],u=e[c],d=r.pstyle(c);if(!u)if(d)d.bypass?u={name:c,deleteBypassed:!0}:u={name:c,delete:!0};else continue;if(d!==u){if(u.mapped===o.fn&&d!=null&&d.mapping!=null&&d.mapping.value===u.value){var f=d.mapping,h=f.fnValue=u.value(r);if(h===f.prevFnValue)continue}var v=i[c]={prev:d};n.applyParsedProperty(r,u),v.next=r.pstyle(c),v.next&&v.next.bypass&&(v.next=v.next.bypassed)}}return{diffProps:i}},Bt.updateStyleHints=function(t){var e=t._private,r=this,n=r.propertyGroupNames,a=r.propertyGroupKeys,i=function(Y,se,ce){return r.getPropertiesHash(Y,se,ce)},o=e.styleKey;if(t.removed())return!1;var l=e.group==="nodes",c=t._private.style;n=Object.keys(c);for(var u=0;u<a.length;u++){var d=a[u];e.styleKeys[d]=[Ra,ji]}for(var f=function(Y,se){return e.styleKeys[se][0]=Wi(Y,e.styleKeys[se][0])},h=function(Y,se){return e.styleKeys[se][1]=Yi(Y,e.styleKeys[se][1])},v=function(Y,se){f(Y,se),h(Y,se)},p=function(Y,se){for(var ce=0;ce<Y.length;ce++){var ae=Y.charCodeAt(ce);f(ae,se),h(ae,se)}},g=2e9,m=function(Y){return-128<Y&&Y<128&&Math.floor(Y)!==Y?g-(Y*1024|0):Y},y=0;y<n.length;y++){var b=n[y],w=c[b];if(w!=null){var C=this.properties[b],x=C.type,k=C.groupKey,E=void 0;C.hashOverride!=null?E=C.hashOverride(t,w):w.pfValue!=null&&(E=w.pfValue);var _=C.enums==null?w.value:null,S=E!=null,T=_!=null,N=S||T,B=w.units;if(x.number&&N&&!x.multiple){var O=S?E:_;v(m(O),k),!S&&B!=null&&p(B,k)}else p(w.strValue,k)}}for(var D=[Ra,ji],R=0;R<a.length;R++){var P=a[R],L=e.styleKeys[P];D[0]=Wi(L[0],D[0]),D[1]=Yi(L[1],D[1])}e.styleKey=IF(D[0],D[1]);var A=e.styleKeys;e.labelDimsKey=yn(A.labelDimensions);var q=i(t,["label"],A.labelDimensions);if(e.labelKey=yn(q),e.labelStyleKey=yn(vs(A.commonLabel,q)),!l){var U=i(t,["source-label"],A.labelDimensions);e.sourceLabelKey=yn(U),e.sourceLabelStyleKey=yn(vs(A.commonLabel,U));var z=i(t,["target-label"],A.labelDimensions);e.targetLabelKey=yn(z),e.targetLabelStyleKey=yn(vs(A.commonLabel,z))}if(l){var H=e.styleKeys,Q=H.nodeBody,F=H.nodeBorder,$=H.nodeOutline,V=H.backgroundImage,G=H.compound,j=H.pie,M=[Q,F,$,V,G,j].filter(function(W){return W!=null}).reduce(vs,[Ra,ji]);e.nodeKey=yn(M),e.hasPie=j!=null&&j[0]!==Ra&&j[1]!==ji}return o!==e.styleKey},Bt.clearStyleHints=function(t){var e=t._private;e.styleCxtKey="",e.styleKeys={},e.styleKey=null,e.labelKey=null,e.labelStyleKey=null,e.sourceLabelKey=null,e.sourceLabelStyleKey=null,e.targetLabelKey=null,e.targetLabelStyleKey=null,e.nodeKey=null,e.hasPie=null},Bt.applyParsedProperty=function(t,e){var r=this,n=e,a=t._private.style,i,o=r.types,l=r.properties[n.name].type,c=n.bypass,u=a[n.name],d=u&&u.bypass,f=t._private,h="mapping",v=function(Q){return Q==null?null:Q.pfValue!=null?Q.pfValue:Q.value},p=function(){var Q=v(u),F=v(n);r.checkTriggers(t,n.name,Q,F)};if(e.name==="curve-style"&&t.isEdge()&&(e.value!=="bezier"&&t.isLoop()||e.value==="haystack"&&(t.source().isParent()||t.target().isParent()))&&(n=e=this.parse(e.name,"bezier",c)),n.delete)return a[n.name]=void 0,p(),!0;if(n.deleteBypassed)return u?u.bypass?(u.bypassed=void 0,p(),!0):!1:(p(),!0);if(n.deleteBypass)return u?u.bypass?(a[n.name]=u.bypassed,p(),!0):!1:(p(),!0);var g=function(){$e("Do not assign mappings to elements without corresponding data (i.e. ele `"+t.id()+"` has no mapping for property `"+n.name+"` with data field `"+n.field+"`); try a `["+n.field+"]` selector to limit scope to elements with `"+n.field+"` defined")};switch(n.mapped){case o.mapData:{for(var m=n.field.split("."),y=f.data,b=0;b<m.length&&y;b++){var w=m[b];y=y[w]}if(y==null)return g(),!1;var C;if(de(y)){var x=n.fieldMax-n.fieldMin;x===0?C=0:C=(y-n.fieldMin)/x}else return $e("Do not use continuous mappers without specifying numeric data (i.e. `"+n.field+": "+y+"` for `"+t.id()+"` is non-numeric)"),!1;if(C<0?C=0:C>1&&(C=1),l.color){var k=n.valueMin[0],E=n.valueMax[0],_=n.valueMin[1],S=n.valueMax[1],T=n.valueMin[2],N=n.valueMax[2],B=n.valueMin[3]==null?1:n.valueMin[3],O=n.valueMax[3]==null?1:n.valueMax[3],D=[Math.round(k+(E-k)*C),Math.round(_+(S-_)*C),Math.round(T+(N-T)*C),Math.round(B+(O-B)*C)];i={bypass:n.bypass,name:n.name,value:D,strValue:"rgb("+D[0]+", "+D[1]+", "+D[2]+")"}}else if(l.number){var R=n.valueMin+(n.valueMax-n.valueMin)*C;i=this.parse(n.name,R,n.bypass,h)}else return!1;if(!i)return g(),!1;i.mapping=n,n=i;break}case o.data:{for(var P=n.field.split("."),L=f.data,A=0;A<P.length&&L;A++){var q=P[A];L=L[q]}if(L!=null&&(i=this.parse(n.name,L,n.bypass,h)),!i)return g(),!1;i.mapping=n,n=i;break}case o.fn:{var U=n.value,z=n.fnValue!=null?n.fnValue:U(t);if(n.prevFnValue=z,z==null)return $e("Custom function mappers may not return null (i.e. `"+n.name+"` for ele `"+t.id()+"` is null)"),!1;if(i=this.parse(n.name,z,n.bypass,h),!i)return $e("Custom function mappers may not return invalid values for the property type (i.e. `"+n.name+"` for ele `"+t.id()+"` is invalid)"),!1;i.mapping=Nr(n),n=i;break}case void 0:break;default:return!1}return c?(d?n.bypassed=u.bypassed:n.bypassed=u,a[n.name]=n):d?u.bypassed=n:a[n.name]=n,p(),!0},Bt.cleanElements=function(t,e){for(var r=0;r<t.length;r++){var n=t[r];if(this.clearStyleHints(n),n.dirtyCompoundBoundsCache(),n.dirtyBoundingBoxCache(),!e)n._private.style={};else for(var a=n._private.style,i=Object.keys(a),o=0;o<i.length;o++){var l=i[o],c=a[l];c!=null&&(c.bypass?c.bypassed=null:a[l]=null)}}},Bt.update=function(){var t=this._private.cy,e=t.mutableElements();e.updateStyle()},Bt.updateTransitions=function(t,e){var r=this,n=t._private,a=t.pstyle("transition-property").value,i=t.pstyle("transition-duration").pfValue,o=t.pstyle("transition-delay").pfValue;if(a.length>0&&i>0){for(var l={},c=!1,u=0;u<a.length;u++){var d=a[u],f=t.pstyle(d),h=e[d];if(h){var v=h.prev,p=v,g=h.next!=null?h.next:f,m=!1,y=void 0,b=1e-6;p&&(de(p.pfValue)&&de(g.pfValue)?(m=g.pfValue-p.pfValue,y=p.pfValue+b*m):de(p.value)&&de(g.value)?(m=g.value-p.value,y=p.value+b*m):Ke(p.value)&&Ke(g.value)&&(m=p.value[0]!==g.value[0]||p.value[1]!==g.value[1]||p.value[2]!==g.value[2],y=p.strValue),m&&(l[d]=g.strValue,this.applyBypass(t,d,y),c=!0))}}if(!c)return;n.transitioning=!0,new Ha(function(w){o>0?t.delayAnimation(o).play().promise().then(w):w()}).then(function(){return t.animation({style:l,duration:i,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){r.removeBypasses(t,a),t.emitAndNotify("style"),n.transitioning=!1})}else n.transitioning&&(this.removeBypasses(t,a),t.emitAndNotify("style"),n.transitioning=!1)},Bt.checkTrigger=function(t,e,r,n,a,i){var o=this.properties[e],l=a(o);l!=null&&l(r,n)&&i(o)},Bt.checkZOrderTrigger=function(t,e,r,n){var a=this;this.checkTrigger(t,e,r,n,function(i){return i.triggersZOrder},function(){a._private.cy.notify("zorder",t)})},Bt.checkBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(a){return a.triggersBounds},function(a){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache(),a.triggersBoundsOfParallelBeziers&&e==="curve-style"&&(r==="bezier"||n==="bezier")&&t.parallelEdges().forEach(function(i){i.isBundledBezier()&&i.dirtyBoundingBoxCache()}),a.triggersBoundsOfConnectedEdges&&e==="display"&&(r==="none"||n==="none")&&t.connectedEdges().forEach(function(i){i.dirtyBoundingBoxCache()})})},Bt.checkTriggers=function(t,e,r,n){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,r,n),this.checkBoundsTrigger(t,e,r,n)};var fo={};fo.applyBypass=function(t,e,r,n){var a=this,i=[],o=!0;if(e==="*"||e==="**"){if(r!==void 0)for(var l=0;l<a.properties.length;l++){var c=a.properties[l],u=c.name,d=this.parse(u,r,!0);d&&i.push(d)}}else if(Ee(e)){var f=this.parse(e,r,!0);f&&i.push(f)}else if(Ae(e)){var h=e;n=r;for(var v=Object.keys(h),p=0;p<v.length;p++){var g=v[p],m=h[g];if(m===void 0&&(m=h[ds(g)]),m!==void 0){var y=this.parse(g,m,!0);y&&i.push(y)}}}else return!1;if(i.length===0)return!1;for(var b=!1,w=0;w<t.length;w++){for(var C=t[w],x={},k=void 0,E=0;E<i.length;E++){var _=i[E];if(n){var S=C.pstyle(_.name);k=x[_.name]={prev:S}}b=this.applyParsedProperty(C,Nr(_))||b,n&&(k.next=C.pstyle(_.name))}b&&this.updateStyleHints(C),n&&this.updateTransitions(C,x,o)}return b},fo.overrideBypass=function(t,e,r){e=Au(e);for(var n=0;n<t.length;n++){var a=t[n],i=a._private.style[e],o=this.properties[e].type,l=o.color,c=o.mutiple,u=i?i.pfValue!=null?i.pfValue:i.value:null;!i||!i.bypass?this.applyBypass(a,e,r):(i.value=r,i.pfValue!=null&&(i.pfValue=r),l?i.strValue="rgb("+r.join(",")+")":c?i.strValue=r.join(" "):i.strValue=""+r,this.updateStyleHints(a)),this.checkTriggers(a,e,u,r)}},fo.removeAllBypasses=function(t,e){return this.removeBypasses(t,this.propertyNames,e)},fo.removeBypasses=function(t,e,r){for(var n=!0,a=0;a<t.length;a++){for(var i=t[a],o={},l=0;l<e.length;l++){var c=e[l],u=this.properties[c],d=i.pstyle(u.name);if(!(!d||!d.bypass)){var f="",h=this.parse(c,f,!0),v=o[u.name]={prev:d};this.applyParsedProperty(i,h),v.next=i.pstyle(u.name)}}this.updateStyleHints(i),r&&this.updateTransitions(i,o,n)}};var dc={};dc.getEmSizeInPixels=function(){var t=this.containerCss("font-size");return t!=null?parseFloat(t):1},dc.containerCss=function(t){var e=this._private.cy,r=e.container(),n=e.window();if(n&&r&&n.getComputedStyle)return n.getComputedStyle(r).getPropertyValue(t)};var Br={};Br.getRenderedStyle=function(t,e){return e?this.getStylePropertyValue(t,e,!0):this.getRawStyle(t,!0)},Br.getRawStyle=function(t,e){var r=this;if(t=t[0],t){for(var n={},a=0;a<r.properties.length;a++){var i=r.properties[a],o=r.getStylePropertyValue(t,i.name,e);o!=null&&(n[i.name]=o,n[ds(i.name)]=o)}return n}},Br.getIndexedStyle=function(t,e,r,n){var a=t.pstyle(e)[r][n];return a??t.cy().style().getDefaultProperty(e)[r][0]},Br.getStylePropertyValue=function(t,e,r){var n=this;if(t=t[0],t){var a=n.properties[e];a.alias&&(a=a.pointsTo);var i=a.type,o=t.pstyle(a.name);if(o){var l=o.value,c=o.units,u=o.strValue;if(r&&i.number&&l!=null&&de(l)){var d=t.cy().zoom(),f=function(m){return m*d},h=function(m,y){return f(m)+y},v=Ke(l),p=v?c.every(function(g){return g!=null}):c!=null;return p?v?l.map(function(g,m){return h(g,c[m])}).join(" "):h(l,c):v?l.map(function(g){return Ee(g)?g:""+f(g)}).join(" "):""+f(l)}else if(u!=null)return u}return null}},Br.getAnimationStartStyle=function(t,e){for(var r={},n=0;n<e.length;n++){var a=e[n],i=a.name,o=t.pstyle(i);o!==void 0&&(Ae(o)?o=this.parse(i,o.strValue):o=this.parse(i,o)),o&&(r[i]=o)}return r},Br.getPropsList=function(t){var e=this,r=[],n=t,a=e.properties;if(n)for(var i=Object.keys(n),o=0;o<i.length;o++){var l=i[o],c=n[l],u=a[l]||a[Au(l)],d=this.parse(u.name,c);d&&r.push(d)}return r},Br.getNonDefaultPropertiesHash=function(t,e,r){var n=r.slice(),a,i,o,l,c,u;for(c=0;c<e.length;c++)if(a=e[c],i=t.pstyle(a,!1),i!=null)if(i.pfValue!=null)n[0]=Wi(l,n[0]),n[1]=Yi(l,n[1]);else for(o=i.strValue,u=0;u<o.length;u++)l=o.charCodeAt(u),n[0]=Wi(l,n[0]),n[1]=Yi(l,n[1]);return n},Br.getPropertiesHash=Br.getNonDefaultPropertiesHash;var js={};js.appendFromJson=function(t){for(var e=this,r=0;r<t.length;r++){var n=t[r],a=n.selector,i=n.style||n.css,o=Object.keys(i);e.selector(a);for(var l=0;l<o.length;l++){var c=o[l],u=i[c];e.css(c,u)}}return e},js.fromJson=function(t){var e=this;return e.resetToDefault(),e.appendFromJson(t),e},js.json=function(){for(var t=[],e=this.defaultLength;e<this.length;e++){for(var r=this[e],n=r.selector,a=r.properties,i={},o=0;o<a.length;o++){var l=a[o];i[l.name]=l.strValue}t.push({selector:n?n.toString():"core",style:i})}return t};var fc={};fc.appendFromString=function(t){var e=this,r=this,n=""+t,a,i,o;n=n.replace(/[/][*](\s|.)+?[*][/]/g,"");function l(){n.length>a.length?n=n.substr(a.length):n=""}function c(){i.length>o.length?i=i.substr(o.length):i=""}for(;;){var u=n.match(/^\s*$/);if(u)break;var d=n.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!d){$e("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+n);break}a=d[0];var f=d[1];if(f!=="core"){var h=new xn(f);if(h.invalid){$e("Skipping parsing of block: Invalid selector found in string stylesheet: "+f),l();continue}}var v=d[2],p=!1;i=v;for(var g=[];;){var m=i.match(/^\s*$/);if(m)break;var y=i.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!y){$e("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+v),p=!0;break}o=y[0];var b=y[1],w=y[2],C=e.properties[b];if(!C){$e("Skipping property: Invalid property name in: "+o),c();continue}var x=r.parse(b,w);if(!x){$e("Skipping property: Invalid property definition in: "+o),c();continue}g.push({name:b,val:w}),c()}if(p){l();break}r.selector(f);for(var k=0;k<g.length;k++){var E=g[k];r.css(E.name,E.val)}l()}return r},fc.fromString=function(t){var e=this;return e.resetToDefault(),e.appendFromString(t),e};var _t={};(function(){var t=ft,e=OM,r=AM,n=RM,a=LM,i=function(M){return"^"+M+"\\s*\\(\\s*([\\w\\.]+)\\s*\\)$"},o=function(M){var W=t+"|\\w+|"+e+"|"+r+"|"+n+"|"+a;return"^"+M+"\\s*\\(([\\w\\.]+)\\s*\\,\\s*("+t+")\\s*\\,\\s*("+t+")\\s*,\\s*("+W+")\\s*\\,\\s*("+W+")\\)$"},l=[`^url\\s*\\(\\s*['"]?(.+?)['"]?\\s*\\)$`,"^(none)$","^(.+)$"];_t.types={time:{number:!0,min:0,units:"s|ms",implicitUnits:"ms"},percent:{number:!0,min:0,max:100,units:"%",implicitUnits:"%"},percentages:{number:!0,min:0,max:100,units:"%",implicitUnits:"%",multiple:!0},zeroOneNumber:{number:!0,min:0,max:1,unitless:!0},zeroOneNumbers:{number:!0,min:0,max:1,unitless:!0,multiple:!0},nOneOneNumber:{number:!0,min:-1,max:1,unitless:!0},nonNegativeInt:{number:!0,min:0,integer:!0,unitless:!0},nonNegativeNumber:{number:!0,min:0,unitless:!0},position:{enums:["parent","origin"]},nodeSize:{number:!0,min:0,enums:["label"]},number:{number:!0,unitless:!0},numbers:{number:!0,unitless:!0,multiple:!0},positiveNumber:{number:!0,unitless:!0,min:0,strictMin:!0},size:{number:!0,min:0},bidirectionalSize:{number:!0},bidirectionalSizeMaybePercent:{number:!0,allowPercent:!0},bidirectionalSizes:{number:!0,multiple:!0},sizeMaybePercent:{number:!0,min:0,allowPercent:!0},axisDirection:{enums:["horizontal","leftward","rightward","vertical","upward","downward","auto"]},paddingRelativeTo:{enums:["width","height","average","min","max"]},bgWH:{number:!0,min:0,allowPercent:!0,enums:["auto"],multiple:!0},bgPos:{number:!0,allowPercent:!0,multiple:!0},bgRelativeTo:{enums:["inner","include-padding"],multiple:!0},bgRepeat:{enums:["repeat","repeat-x","repeat-y","no-repeat"],multiple:!0},bgFit:{enums:["none","contain","cover"],multiple:!0},bgCrossOrigin:{enums:["anonymous","use-credentials","null"],multiple:!0},bgClip:{enums:["none","node"],multiple:!0},bgContainment:{enums:["inside","over"],multiple:!0},color:{color:!0},colors:{color:!0,multiple:!0},fill:{enums:["solid","linear-gradient","radial-gradient"]},bool:{enums:["yes","no"]},bools:{enums:["yes","no"],multiple:!0},lineStyle:{enums:["solid","dotted","dashed"]},lineCap:{enums:["butt","round","square"]},linePosition:{enums:["center","inside","outside"]},lineJoin:{enums:["round","bevel","miter"]},borderStyle:{enums:["solid","dotted","dashed","double"]},curveStyle:{enums:["bezier","unbundled-bezier","haystack","segments","straight","straight-triangle","taxi","round-segments","round-taxi"]},radiusType:{enums:["arc-radius","influence-radius"],multiple:!0},fontFamily:{regex:'^([\\w- \\"]+(?:\\s*,\\s*[\\w- \\"]+)*)$'},fontStyle:{enums:["italic","normal","oblique"]},fontWeight:{enums:["normal","bold","bolder","lighter","100","200","300","400","500","600","800","900",100,200,300,400,500,600,700,800,900]},textDecoration:{enums:["none","underline","overline","line-through"]},textTransform:{enums:["none","uppercase","lowercase"]},textWrap:{enums:["none","wrap","ellipsis"]},textOverflowWrap:{enums:["whitespace","anywhere"]},textBackgroundShape:{enums:["rectangle","roundrectangle","round-rectangle"]},nodeShape:{enums:["rectangle","roundrectangle","round-rectangle","cutrectangle","cut-rectangle","bottomroundrectangle","bottom-round-rectangle","barrel","ellipse","triangle","round-triangle","square","pentagon","round-pentagon","hexagon","round-hexagon","concavehexagon","concave-hexagon","heptagon","round-heptagon","octagon","round-octagon","tag","round-tag","star","diamond","round-diamond","vee","rhomboid","right-rhomboid","polygon"]},overlayShape:{enums:["roundrectangle","round-rectangle","ellipse"]},cornerRadius:{number:!0,min:0,units:"px|em",implicitUnits:"px",enums:["auto"]},compoundIncludeLabels:{enums:["include","exclude"]},arrowShape:{enums:["tee","triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","square","circle","diamond","chevron","none"]},arrowFill:{enums:["filled","hollow"]},arrowWidth:{number:!0,units:"%|px|em",implicitUnits:"px",enums:["match-line"]},display:{enums:["element","none"]},visibility:{enums:["hidden","visible"]},zCompoundDepth:{enums:["bottom","orphan","auto","top"]},zIndexCompare:{enums:["auto","manual"]},valign:{enums:["top","center","bottom"]},halign:{enums:["left","center","right"]},justification:{enums:["left","center","right","auto"]},text:{string:!0},data:{mapping:!0,regex:i("data")},layoutData:{mapping:!0,regex:i("layoutData")},scratch:{mapping:!0,regex:i("scratch")},mapData:{mapping:!0,regex:o("mapData")},mapLayoutData:{mapping:!0,regex:o("mapLayoutData")},mapScratch:{mapping:!0,regex:o("mapScratch")},fn:{mapping:!0,fn:!0},url:{regexes:l,singleRegexMatchValue:!0},urls:{regexes:l,singleRegexMatchValue:!0,multiple:!0},propList:{propList:!0},angle:{number:!0,units:"deg|rad",implicitUnits:"rad"},textRotation:{number:!0,units:"deg|rad",implicitUnits:"rad",enums:["none","autorotate"]},polygonPointList:{number:!0,multiple:!0,evenMultiple:!0,min:-1,max:1,unitless:!0},edgeDistances:{enums:["intersection","node-position","endpoints"]},edgeEndpoint:{number:!0,multiple:!0,units:"%|px|em|deg|rad",implicitUnits:"px",enums:["inside-to-node","outside-to-node","outside-to-node-or-label","outside-to-line","outside-to-line-or-label"],singleEnum:!0,validate:function(M,W){switch(M.length){case 2:return W[0]!=="deg"&&W[0]!=="rad"&&W[1]!=="deg"&&W[1]!=="rad";case 1:return Ee(M[0])||W[0]==="deg"||W[0]==="rad";default:return!1}}},easing:{regexes:["^(spring)\\s*\\(\\s*("+t+")\\s*,\\s*("+t+")\\s*\\)$","^(cubic-bezier)\\s*\\(\\s*("+t+")\\s*,\\s*("+t+")\\s*,\\s*("+t+")\\s*,\\s*("+t+")\\s*\\)$"],enums:["linear","ease","ease-in","ease-out","ease-in-out","ease-in-sine","ease-out-sine","ease-in-out-sine","ease-in-quad","ease-out-quad","ease-in-out-quad","ease-in-cubic","ease-out-cubic","ease-in-out-cubic","ease-in-quart","ease-out-quart","ease-in-out-quart","ease-in-quint","ease-out-quint","ease-in-out-quint","ease-in-expo","ease-out-expo","ease-in-out-expo","ease-in-circ","ease-out-circ","ease-in-out-circ"]},gradientDirection:{enums:["to-bottom","to-top","to-left","to-right","to-bottom-right","to-bottom-left","to-top-right","to-top-left","to-right-bottom","to-left-bottom","to-right-top","to-left-top"]},boundsExpansion:{number:!0,multiple:!0,min:0,validate:function(M){var W=M.length;return W===1||W===2||W===4}}};var c={zeroNonZero:function(M,W){return(M==null||W==null)&&M!==W||M==0&&W!=0?!0:M!=0&&W==0},any:function(M,W){return M!=W},emptyNonEmpty:function(M,W){var Y=mn(M),se=mn(W);return Y&&!se||!Y&&se}},u=_t.types,d=[{name:"label",type:u.text,triggersBounds:c.any,triggersZOrder:c.emptyNonEmpty},{name:"text-rotation",type:u.textRotation,triggersBounds:c.any},{name:"text-margin-x",type:u.bidirectionalSize,triggersBounds:c.any},{name:"text-margin-y",type:u.bidirectionalSize,triggersBounds:c.any}],f=[{name:"source-label",type:u.text,triggersBounds:c.any},{name:"source-text-rotation",type:u.textRotation,triggersBounds:c.any},{name:"source-text-margin-x",type:u.bidirectionalSize,triggersBounds:c.any},{name:"source-text-margin-y",type:u.bidirectionalSize,triggersBounds:c.any},{name:"source-text-offset",type:u.size,triggersBounds:c.any}],h=[{name:"target-label",type:u.text,triggersBounds:c.any},{name:"target-text-rotation",type:u.textRotation,triggersBounds:c.any},{name:"target-text-margin-x",type:u.bidirectionalSize,triggersBounds:c.any},{name:"target-text-margin-y",type:u.bidirectionalSize,triggersBounds:c.any},{name:"target-text-offset",type:u.size,triggersBounds:c.any}],v=[{name:"font-family",type:u.fontFamily,triggersBounds:c.any},{name:"font-style",type:u.fontStyle,triggersBounds:c.any},{name:"font-weight",type:u.fontWeight,triggersBounds:c.any},{name:"font-size",type:u.size,triggersBounds:c.any},{name:"text-transform",type:u.textTransform,triggersBounds:c.any},{name:"text-wrap",type:u.textWrap,triggersBounds:c.any},{name:"text-overflow-wrap",type:u.textOverflowWrap,triggersBounds:c.any},{name:"text-max-width",type:u.size,triggersBounds:c.any},{name:"text-outline-width",type:u.size,triggersBounds:c.any},{name:"line-height",type:u.positiveNumber,triggersBounds:c.any}],p=[{name:"text-valign",type:u.valign,triggersBounds:c.any},{name:"text-halign",type:u.halign,triggersBounds:c.any},{name:"color",type:u.color},{name:"text-outline-color",type:u.color},{name:"text-outline-opacity",type:u.zeroOneNumber},{name:"text-background-color",type:u.color},{name:"text-background-opacity",type:u.zeroOneNumber},{name:"text-background-padding",type:u.size,triggersBounds:c.any},{name:"text-border-opacity",type:u.zeroOneNumber},{name:"text-border-color",type:u.color},{name:"text-border-width",type:u.size,triggersBounds:c.any},{name:"text-border-style",type:u.borderStyle,triggersBounds:c.any},{name:"text-background-shape",type:u.textBackgroundShape,triggersBounds:c.any},{name:"text-justification",type:u.justification}],g=[{name:"events",type:u.bool,triggersZOrder:c.any},{name:"text-events",type:u.bool,triggersZOrder:c.any}],m=[{name:"display",type:u.display,triggersZOrder:c.any,triggersBounds:c.any,triggersBoundsOfConnectedEdges:!0},{name:"visibility",type:u.visibility,triggersZOrder:c.any},{name:"opacity",type:u.zeroOneNumber,triggersZOrder:c.zeroNonZero},{name:"text-opacity",type:u.zeroOneNumber},{name:"min-zoomed-font-size",type:u.size},{name:"z-compound-depth",type:u.zCompoundDepth,triggersZOrder:c.any},{name:"z-index-compare",type:u.zIndexCompare,triggersZOrder:c.any},{name:"z-index",type:u.number,triggersZOrder:c.any}],y=[{name:"overlay-padding",type:u.size,triggersBounds:c.any},{name:"overlay-color",type:u.color},{name:"overlay-opacity",type:u.zeroOneNumber,triggersBounds:c.zeroNonZero},{name:"overlay-shape",type:u.overlayShape,triggersBounds:c.any},{name:"overlay-corner-radius",type:u.cornerRadius}],b=[{name:"underlay-padding",type:u.size,triggersBounds:c.any},{name:"underlay-color",type:u.color},{name:"underlay-opacity",type:u.zeroOneNumber,triggersBounds:c.zeroNonZero},{name:"underlay-shape",type:u.overlayShape,triggersBounds:c.any},{name:"underlay-corner-radius",type:u.cornerRadius}],w=[{name:"transition-property",type:u.propList},{name:"transition-duration",type:u.time},{name:"transition-delay",type:u.time},{name:"transition-timing-function",type:u.easing}],C=function(M,W){return W.value==="label"?-M.poolIndex():W.pfValue},x=[{name:"height",type:u.nodeSize,triggersBounds:c.any,hashOverride:C},{name:"width",type:u.nodeSize,triggersBounds:c.any,hashOverride:C},{name:"shape",type:u.nodeShape,triggersBounds:c.any},{name:"shape-polygon-points",type:u.polygonPointList,triggersBounds:c.any},{name:"corner-radius",type:u.cornerRadius},{name:"background-color",type:u.color},{name:"background-fill",type:u.fill},{name:"background-opacity",type:u.zeroOneNumber},{name:"background-blacken",type:u.nOneOneNumber},{name:"background-gradient-stop-colors",type:u.colors},{name:"background-gradient-stop-positions",type:u.percentages},{name:"background-gradient-direction",type:u.gradientDirection},{name:"padding",type:u.sizeMaybePercent,triggersBounds:c.any},{name:"padding-relative-to",type:u.paddingRelativeTo,triggersBounds:c.any},{name:"bounds-expansion",type:u.boundsExpansion,triggersBounds:c.any}],k=[{name:"border-color",type:u.color},{name:"border-opacity",type:u.zeroOneNumber},{name:"border-width",type:u.size,triggersBounds:c.any},{name:"border-style",type:u.borderStyle},{name:"border-cap",type:u.lineCap},{name:"border-join",type:u.lineJoin},{name:"border-dash-pattern",type:u.numbers},{name:"border-dash-offset",type:u.number},{name:"border-position",type:u.linePosition}],E=[{name:"outline-color",type:u.color},{name:"outline-opacity",type:u.zeroOneNumber},{name:"outline-width",type:u.size,triggersBounds:c.any},{name:"outline-style",type:u.borderStyle},{name:"outline-offset",type:u.size,triggersBounds:c.any}],_=[{name:"background-image",type:u.urls},{name:"background-image-crossorigin",type:u.bgCrossOrigin},{name:"background-image-opacity",type:u.zeroOneNumbers},{name:"background-image-containment",type:u.bgContainment},{name:"background-image-smoothing",type:u.bools},{name:"background-position-x",type:u.bgPos},{name:"background-position-y",type:u.bgPos},{name:"background-width-relative-to",type:u.bgRelativeTo},{name:"background-height-relative-to",type:u.bgRelativeTo},{name:"background-repeat",type:u.bgRepeat},{name:"background-fit",type:u.bgFit},{name:"background-clip",type:u.bgClip},{name:"background-width",type:u.bgWH},{name:"background-height",type:u.bgWH},{name:"background-offset-x",type:u.bgPos},{name:"background-offset-y",type:u.bgPos}],S=[{name:"position",type:u.position,triggersBounds:c.any},{name:"compound-sizing-wrt-labels",type:u.compoundIncludeLabels,triggersBounds:c.any},{name:"min-width",type:u.size,triggersBounds:c.any},{name:"min-width-bias-left",type:u.sizeMaybePercent,triggersBounds:c.any},{name:"min-width-bias-right",type:u.sizeMaybePercent,triggersBounds:c.any},{name:"min-height",type:u.size,triggersBounds:c.any},{name:"min-height-bias-top",type:u.sizeMaybePercent,triggersBounds:c.any},{name:"min-height-bias-bottom",type:u.sizeMaybePercent,triggersBounds:c.any}],T=[{name:"line-style",type:u.lineStyle},{name:"line-color",type:u.color},{name:"line-fill",type:u.fill},{name:"line-cap",type:u.lineCap},{name:"line-opacity",type:u.zeroOneNumber},{name:"line-dash-pattern",type:u.numbers},{name:"line-dash-offset",type:u.number},{name:"line-outline-width",type:u.size},{name:"line-outline-color",type:u.color},{name:"line-gradient-stop-colors",type:u.colors},{name:"line-gradient-stop-positions",type:u.percentages},{name:"curve-style",type:u.curveStyle,triggersBounds:c.any,triggersBoundsOfParallelBeziers:!0},{name:"haystack-radius",type:u.zeroOneNumber,triggersBounds:c.any},{name:"source-endpoint",type:u.edgeEndpoint,triggersBounds:c.any},{name:"target-endpoint",type:u.edgeEndpoint,triggersBounds:c.any},{name:"control-point-step-size",type:u.size,triggersBounds:c.any},{name:"control-point-distances",type:u.bidirectionalSizes,triggersBounds:c.any},{name:"control-point-weights",type:u.numbers,triggersBounds:c.any},{name:"segment-distances",type:u.bidirectionalSizes,triggersBounds:c.any},{name:"segment-weights",type:u.numbers,triggersBounds:c.any},{name:"segment-radii",type:u.numbers,triggersBounds:c.any},{name:"radius-type",type:u.radiusType,triggersBounds:c.any},{name:"taxi-turn",type:u.bidirectionalSizeMaybePercent,triggersBounds:c.any},{name:"taxi-turn-min-distance",type:u.size,triggersBounds:c.any},{name:"taxi-direction",type:u.axisDirection,triggersBounds:c.any},{name:"taxi-radius",type:u.number,triggersBounds:c.any},{name:"edge-distances",type:u.edgeDistances,triggersBounds:c.any},{name:"arrow-scale",type:u.positiveNumber,triggersBounds:c.any},{name:"loop-direction",type:u.angle,triggersBounds:c.any},{name:"loop-sweep",type:u.angle,triggersBounds:c.any},{name:"source-distance-from-node",type:u.size,triggersBounds:c.any},{name:"target-distance-from-node",type:u.size,triggersBounds:c.any}],N=[{name:"ghost",type:u.bool,triggersBounds:c.any},{name:"ghost-offset-x",type:u.bidirectionalSize,triggersBounds:c.any},{name:"ghost-offset-y",type:u.bidirectionalSize,triggersBounds:c.any},{name:"ghost-opacity",type:u.zeroOneNumber}],B=[{name:"selection-box-color",type:u.color},{name:"selection-box-opacity",type:u.zeroOneNumber},{name:"selection-box-border-color",type:u.color},{name:"selection-box-border-width",type:u.size},{name:"active-bg-color",type:u.color},{name:"active-bg-opacity",type:u.zeroOneNumber},{name:"active-bg-size",type:u.size},{name:"outside-texture-bg-color",type:u.color},{name:"outside-texture-bg-opacity",type:u.zeroOneNumber}],O=[];_t.pieBackgroundN=16,O.push({name:"pie-size",type:u.sizeMaybePercent});for(var D=1;D<=_t.pieBackgroundN;D++)O.push({name:"pie-"+D+"-background-color",type:u.color}),O.push({name:"pie-"+D+"-background-size",type:u.percent}),O.push({name:"pie-"+D+"-background-opacity",type:u.zeroOneNumber});var R=[],P=_t.arrowPrefixes=["source","mid-source","target","mid-target"];[{name:"arrow-shape",type:u.arrowShape,triggersBounds:c.any},{name:"arrow-color",type:u.color},{name:"arrow-fill",type:u.arrowFill},{name:"arrow-width",type:u.arrowWidth}].forEach(function(j){P.forEach(function(M){var W=M+"-"+j.name,Y=j.type,se=j.triggersBounds;R.push({name:W,type:Y,triggersBounds:se})})},{});var L=_t.properties=[].concat(g,w,m,y,b,N,p,v,d,f,h,x,k,E,_,O,S,T,R,B),A=_t.propertyGroups={behavior:g,transition:w,visibility:m,overlay:y,underlay:b,ghost:N,commonLabel:p,labelDimensions:v,mainLabel:d,sourceLabel:f,targetLabel:h,nodeBody:x,nodeBorder:k,nodeOutline:E,backgroundImage:_,pie:O,compound:S,edgeLine:T,edgeArrow:R,core:B},q=_t.propertyGroupNames={},U=_t.propertyGroupKeys=Object.keys(A);U.forEach(function(j){q[j]=A[j].map(function(M){return M.name}),A[j].forEach(function(M){return M.groupKey=j})});var z=_t.aliases=[{name:"content",pointsTo:"label"},{name:"control-point-distance",pointsTo:"control-point-distances"},{name:"control-point-weight",pointsTo:"control-point-weights"},{name:"segment-distance",pointsTo:"segment-distances"},{name:"segment-weight",pointsTo:"segment-weights"},{name:"segment-radius",pointsTo:"segment-radii"},{name:"edge-text-rotation",pointsTo:"text-rotation"},{name:"padding-left",pointsTo:"padding"},{name:"padding-right",pointsTo:"padding"},{name:"padding-top",pointsTo:"padding"},{name:"padding-bottom",pointsTo:"padding"}];_t.propertyNames=L.map(function(j){return j.name});for(var H=0;H<L.length;H++){var Q=L[H];L[Q.name]=Q}for(var F=0;F<z.length;F++){var $=z[F],V=L[$.pointsTo],G={name:$.name,alias:!0,pointsTo:V};L.push(G),L[$.name]=G}})(),_t.getDefaultProperty=function(t){return this.getDefaultProperties()[t]},_t.getDefaultProperties=function(){var t=this._private;if(t.defaultProperties!=null)return t.defaultProperties;for(var e=Se({"selection-box-color":"#ddd","selection-box-opacity":.65,"selection-box-border-color":"#aaa","selection-box-border-width":1,"active-bg-color":"black","active-bg-opacity":.15,"active-bg-size":30,"outside-texture-bg-color":"#000","outside-texture-bg-opacity":.125,events:"yes","text-events":"no","text-valign":"top","text-halign":"center","text-justification":"auto","line-height":1,color:"#000","text-outline-color":"#000","text-outline-width":0,"text-outline-opacity":1,"text-opacity":1,"text-decoration":"none","text-transform":"none","text-wrap":"none","text-overflow-wrap":"whitespace","text-max-width":9999,"text-background-color":"#000","text-background-opacity":0,"text-background-shape":"rectangle","text-background-padding":0,"text-border-opacity":0,"text-border-width":0,"text-border-style":"solid","text-border-color":"#000","font-family":"Helvetica Neue, Helvetica, sans-serif","font-style":"normal","font-weight":"normal","font-size":16,"min-zoomed-font-size":0,"text-rotation":"none","source-text-rotation":"none","target-text-rotation":"none",visibility:"visible",display:"element",opacity:1,"z-compound-depth":"auto","z-index-compare":"auto","z-index":0,label:"","text-margin-x":0,"text-margin-y":0,"source-label":"","source-text-offset":0,"source-text-margin-x":0,"source-text-margin-y":0,"target-label":"","target-text-offset":0,"target-text-margin-x":0,"target-text-margin-y":0,"overlay-opacity":0,"overlay-color":"#000","overlay-padding":10,"overlay-shape":"round-rectangle","overlay-corner-radius":"auto","underlay-opacity":0,"underlay-color":"#000","underlay-padding":10,"underlay-shape":"round-rectangle","underlay-corner-radius":"auto","transition-property":"none","transition-duration":0,"transition-delay":0,"transition-timing-function":"linear","background-blacken":0,"background-color":"#999","background-fill":"solid","background-opacity":1,"background-image":"none","background-image-crossorigin":"anonymous","background-image-opacity":1,"background-image-containment":"inside","background-image-smoothing":"yes","background-position-x":"50%","background-position-y":"50%","background-offset-x":0,"background-offset-y":0,"background-width-relative-to":"include-padding","background-height-relative-to":"include-padding","background-repeat":"no-repeat","background-fit":"none","background-clip":"node","background-width":"auto","background-height":"auto","border-color":"#000","border-opacity":1,"border-width":0,"border-style":"solid","border-dash-pattern":[4,2],"border-dash-offset":0,"border-cap":"butt","border-join":"miter","border-position":"center","outline-color":"#999","outline-opacity":1,"outline-width":0,"outline-offset":0,"outline-style":"solid",height:30,width:30,shape:"ellipse","shape-polygon-points":"-1, -1, 1, -1, 1, 1, -1, 1","corner-radius":"auto","bounds-expansion":0,"background-gradient-direction":"to-bottom","background-gradient-stop-colors":"#999","background-gradient-stop-positions":"0%",ghost:"no","ghost-offset-y":0,"ghost-offset-x":0,"ghost-opacity":0,padding:0,"padding-relative-to":"width",position:"origin","compound-sizing-wrt-labels":"include","min-width":0,"min-width-bias-left":0,"min-width-bias-right":0,"min-height":0,"min-height-bias-top":0,"min-height-bias-bottom":0},{"pie-size":"100%"},[{name:"pie-{{i}}-background-color",value:"black"},{name:"pie-{{i}}-background-size",value:"0%"},{name:"pie-{{i}}-background-opacity",value:1}].reduce(function(c,u){for(var d=1;d<=_t.pieBackgroundN;d++){var f=u.name.replace("{{i}}",d),h=u.value;c[f]=h}return c},{}),{"line-style":"solid","line-color":"#999","line-fill":"solid","line-cap":"butt","line-opacity":1,"line-outline-width":0,"line-outline-color":"#000","line-gradient-stop-colors":"#999","line-gradient-stop-positions":"0%","control-point-step-size":40,"control-point-weights":.5,"segment-weights":.5,"segment-distances":20,"segment-radii":15,"radius-type":"arc-radius","taxi-turn":"50%","taxi-radius":15,"taxi-turn-min-distance":10,"taxi-direction":"auto","edge-distances":"intersection","curve-style":"haystack","haystack-radius":0,"arrow-scale":1,"loop-direction":"-45deg","loop-sweep":"-90deg","source-distance-from-node":0,"target-distance-from-node":0,"source-endpoint":"outside-to-node","target-endpoint":"outside-to-node","line-dash-pattern":[6,3],"line-dash-offset":0},[{name:"arrow-shape",value:"none"},{name:"arrow-color",value:"#999"},{name:"arrow-fill",value:"filled"},{name:"arrow-width",value:1}].reduce(function(c,u){return _t.arrowPrefixes.forEach(function(d){var f=d+"-"+u.name,h=u.value;c[f]=h}),c},{})),r={},n=0;n<this.properties.length;n++){var a=this.properties[n];if(!a.pointsTo){var i=a.name,o=e[i],l=this.parse(i,o);r[i]=l}}return t.defaultProperties=r,t.defaultProperties},_t.addDefaultStylesheet=function(){this.selector(":parent").css({shape:"rectangle",padding:10,"background-color":"#eee","border-color":"#ccc","border-width":1}).selector("edge").css({width:3}).selector(":loop").css({"curve-style":"bezier"}).selector("edge:compound").css({"curve-style":"bezier","source-endpoint":"outside-to-line","target-endpoint":"outside-to-line"}).selector(":selected").css({"background-color":"#0169D9","line-color":"#0169D9","source-arrow-color":"#0169D9","target-arrow-color":"#0169D9","mid-source-arrow-color":"#0169D9","mid-target-arrow-color":"#0169D9"}).selector(":parent:selected").css({"background-color":"#CCE1F9","border-color":"#aec8e5"}).selector(":active").css({"overlay-color":"black","overlay-padding":10,"overlay-opacity":.25}),this.defaultLength=this.length};var Ws={};Ws.parse=function(t,e,r,n){var a=this;if(Xe(e))return a.parseImplWarn(t,e,r,n);var i=n==="mapping"||n===!0||n===!1||n==null?"dontcare":n,o=r?"t":"f",l=""+e,c=F0(t,l,o,i),u=a.propCache=a.propCache||[],d;return(d=u[c])||(d=u[c]=a.parseImplWarn(t,e,r,n)),(r||n==="mapping")&&(d=Nr(d),d&&(d.value=Nr(d.value))),d},Ws.parseImplWarn=function(t,e,r,n){var a=this.parseImpl(t,e,r,n);return!a&&e!=null&&$e("The style property `".concat(t,": ").concat(e,"` is invalid")),a&&(a.name==="width"||a.name==="height")&&e==="label"&&$e("The style value of `label` is deprecated for `"+a.name+"`"),a},Ws.parseImpl=function(t,e,r,n){var a=this;t=Au(t);var i=a.properties[t],o=e,l=a.types;if(!i||e===void 0)return null;i.alias&&(i=i.pointsTo,t=i.name);var c=Ee(e);c&&(e=e.trim());var u=i.type;if(!u)return null;if(r&&(e===""||e===null))return{name:t,value:e,bypass:!0,deleteBypass:!0};if(Xe(e))return{name:t,value:e,strValue:"fn",mapped:l.fn,bypass:r};var d,f;if(!(!c||n||e.length<7||e[1]!=="a")){if(e.length>=7&&e[0]==="d"&&(d=new RegExp(l.data.regex).exec(e))){if(r)return!1;var h=l.data;return{name:t,value:d,strValue:""+e,mapped:h,field:d[1],bypass:r}}else if(e.length>=10&&e[0]==="m"&&(f=new RegExp(l.mapData.regex).exec(e))){if(r||u.multiple)return!1;var v=l.mapData;if(!(u.color||u.number))return!1;var p=this.parse(t,f[4]);if(!p||p.mapped)return!1;var g=this.parse(t,f[5]);if(!g||g.mapped)return!1;if(p.pfValue===g.pfValue||p.strValue===g.strValue)return $e("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+p.strValue+"`"),this.parse(t,p.strValue);if(u.color){var m=p.value,y=g.value,b=m[0]===y[0]&&m[1]===y[1]&&m[2]===y[2]&&(m[3]===y[3]||(m[3]==null||m[3]===1)&&(y[3]==null||y[3]===1));if(b)return!1}return{name:t,value:f,strValue:""+e,mapped:v,field:f[1],fieldMin:parseFloat(f[2]),fieldMax:parseFloat(f[3]),valueMin:p.value,valueMax:g.value,bypass:r}}}if(u.multiple&&n!=="multiple"){var w;if(c?w=e.split(/\s+/):Ke(e)?w=e:w=[e],u.evenMultiple&&w.length%2!==0)return null;for(var C=[],x=[],k=[],E="",_=!1,S=0;S<w.length;S++){var T=a.parse(t,w[S],r,"multiple");_=_||Ee(T.value),C.push(T.value),k.push(T.pfValue!=null?T.pfValue:T.value),x.push(T.units),E+=(S>0?" ":"")+T.strValue}return u.validate&&!u.validate(C,x)?null:u.singleEnum&&_?C.length===1&&Ee(C[0])?{name:t,value:C[0],strValue:C[0],bypass:r}:null:{name:t,value:C,pfValue:k,strValue:E,bypass:r,units:x}}var N=function(){for(var M=0;M<u.enums.length;M++){var W=u.enums[M];if(W===e)return{name:t,value:e,strValue:""+e,bypass:r}}return null};if(u.number){var B,O="px";if(u.units&&(B=u.units),u.implicitUnits&&(O=u.implicitUnits),!u.unitless)if(c){var D="px|em"+(u.allowPercent?"|\\%":"");B&&(D=B);var R=e.match("^("+ft+")("+D+")?$");R&&(e=R[1],B=R[2]||O)}else(!B||u.implicitUnits)&&(B=O);if(e=parseFloat(e),isNaN(e)&&u.enums===void 0)return null;if(isNaN(e)&&u.enums!==void 0)return e=o,N();if(u.integer&&!SM(e)||u.min!==void 0&&(e<u.min||u.strictMin&&e===u.min)||u.max!==void 0&&(e>u.max||u.strictMax&&e===u.max))return null;var P={name:t,value:e,strValue:""+e+(B||""),units:B,bypass:r};return u.unitless||B!=="px"&&B!=="em"?P.pfValue=e:P.pfValue=B==="px"||!B?e:this.getEmSizeInPixels()*e,(B==="ms"||B==="s")&&(P.pfValue=B==="ms"?e:1e3*e),(B==="deg"||B==="rad")&&(P.pfValue=B==="rad"?e:i5(e)),B==="%"&&(P.pfValue=e/100),P}else if(u.propList){var L=[],A=""+e;if(A!=="none"){for(var q=A.split(/\s*,\s*|\s+/),U=0;U<q.length;U++){var z=q[U].trim();a.properties[z]?L.push(z):$e("`"+z+"` is not a valid property name")}if(L.length===0)return null}return{name:t,value:L,strValue:L.length===0?"none":L.join(" "),bypass:r}}else if(u.color){var H=zM(e);return H?{name:t,value:H,pfValue:H,strValue:"rgb("+H[0]+","+H[1]+","+H[2]+")",bypass:r}:null}else if(u.regex||u.regexes){if(u.enums){var Q=N();if(Q)return Q}for(var F=u.regexes?u.regexes:[u.regex],$=0;$<F.length;$++){var V=new RegExp(F[$]),G=V.exec(e);if(G)return{name:t,value:u.singleRegexMatchValue?G[1]:G,strValue:""+e,bypass:r}}return null}else return u.string?{name:t,value:""+e,strValue:""+e,bypass:r}:u.enums?N():null};var Dt=function t(e){if(!(this instanceof t))return new t(e);if(!Pu(e)){Je("A style must have a core reference");return}this._private={cy:e,coreStyle:{}},this.length=0,this.resetToDefault()},Ot=Dt.prototype;Ot.instanceString=function(){return"style"},Ot.clear=function(){for(var t=this._private,e=t.cy,r=e.elements(),n=0;n<this.length;n++)this[n]=void 0;return this.length=0,t.contextStyles={},t.propDiffs={},this.cleanElements(r,!0),r.forEach(function(a){var i=a[0]._private;i.styleDirty=!0,i.appliedInitStyle=!1}),this},Ot.resetToDefault=function(){return this.clear(),this.addDefaultStylesheet(),this},Ot.core=function(t){return this._private.coreStyle[t]||this.getDefaultProperty(t)},Ot.selector=function(t){var e=t==="core"?null:new xn(t),r=this.length++;return this[r]={selector:e,properties:[],mappedProperties:[],index:r},this},Ot.css=function(){var t=this,e=arguments;if(e.length===1)for(var r=e[0],n=0;n<t.properties.length;n++){var a=t.properties[n],i=r[a.name];i===void 0&&(i=r[ds(a.name)]),i!==void 0&&this.cssRule(a.name,i)}else e.length===2&&this.cssRule(e[0],e[1]);return this},Ot.style=Ot.css,Ot.cssRule=function(t,e){var r=this.parse(t,e);if(r){var n=this.length-1;this[n].properties.push(r),this[n].properties[r.name]=r,r.name.match(/pie-(\d+)-background-size/)&&r.value&&(this._private.hasPie=!0),r.mapped&&this[n].mappedProperties.push(r);var a=!this[n].selector;a&&(this._private.coreStyle[r.name]=r)}return this},Ot.append=function(t){return k0(t)?t.appendToStyle(this):Ke(t)?this.appendFromJson(t):Ee(t)&&this.appendFromString(t),this},Dt.fromJson=function(t,e){var r=new Dt(t);return r.fromJson(e),r},Dt.fromString=function(t,e){return new Dt(t).fromString(e)},[Bt,fo,dc,Br,js,fc,_t,Ws].forEach(function(t){Se(Ot,t)}),Dt.types=Ot.types,Dt.properties=Ot.properties,Dt.propertyGroups=Ot.propertyGroups,Dt.propertyGroupNames=Ot.propertyGroupNames,Dt.propertyGroupKeys=Ot.propertyGroupKeys;var Sz={style:function(e){if(e){var r=this.setStyle(e);r.update()}return this._private.style},setStyle:function(e){var r=this._private;return k0(e)?r.style=e.generateStyle(this):Ke(e)?r.style=Dt.fromJson(this,e):Ee(e)?r.style=Dt.fromString(this,e):r.style=Dt(this),r.style},updateStyle:function(){this.mutableElements().updateStyle()}},_z="single",aa={autolock:function(e){if(e!==void 0)this._private.autolock=!!e;else return this._private.autolock;return this},autoungrabify:function(e){if(e!==void 0)this._private.autoungrabify=!!e;else return this._private.autoungrabify;return this},autounselectify:function(e){if(e!==void 0)this._private.autounselectify=!!e;else return this._private.autounselectify;return this},selectionType:function(e){var r=this._private;if(r.selectionType==null&&(r.selectionType=_z),e!==void 0)(e==="additive"||e==="single")&&(r.selectionType=e);else return r.selectionType;return this},panningEnabled:function(e){if(e!==void 0)this._private.panningEnabled=!!e;else return this._private.panningEnabled;return this},userPanningEnabled:function(e){if(e!==void 0)this._private.userPanningEnabled=!!e;else return this._private.userPanningEnabled;return this},zoomingEnabled:function(e){if(e!==void 0)this._private.zoomingEnabled=!!e;else return this._private.zoomingEnabled;return this},userZoomingEnabled:function(e){if(e!==void 0)this._private.userZoomingEnabled=!!e;else return this._private.userZoomingEnabled;return this},boxSelectionEnabled:function(e){if(e!==void 0)this._private.boxSelectionEnabled=!!e;else return this._private.boxSelectionEnabled;return this},pan:function(){var e=arguments,r=this._private.pan,n,a,i,o,l;switch(e.length){case 0:return r;case 1:if(Ee(e[0]))return n=e[0],r[n];if(Ae(e[0])){if(!this._private.panningEnabled)return this;i=e[0],o=i.x,l=i.y,de(o)&&(r.x=o),de(l)&&(r.y=l),this.emit("pan viewport")}break;case 2:if(!this._private.panningEnabled)return this;n=e[0],a=e[1],(n==="x"||n==="y")&&de(a)&&(r[n]=a),this.emit("pan viewport");break}return this.notify("viewport"),this},panBy:function(e,r){var n=arguments,a=this._private.pan,i,o,l,c,u;if(!this._private.panningEnabled)return this;switch(n.length){case 1:Ae(e)&&(l=n[0],c=l.x,u=l.y,de(c)&&(a.x+=c),de(u)&&(a.y+=u),this.emit("pan viewport"));break;case 2:i=e,o=r,(i==="x"||i==="y")&&de(o)&&(a[i]+=o),this.emit("pan viewport");break}return this.notify("viewport"),this},fit:function(e,r){var n=this.getFitViewport(e,r);if(n){var a=this._private;a.zoom=n.zoom,a.pan=n.pan,this.emit("pan zoom viewport"),this.notify("viewport")}return this},getFitViewport:function(e,r){if(de(e)&&r===void 0&&(r=e,e=void 0),!(!this._private.panningEnabled||!this._private.zoomingEnabled)){var n;if(Ee(e)){var a=e;e=this.$(a)}else if(NM(e)){var i=e;n={x1:i.x1,y1:i.y1,x2:i.x2,y2:i.y2},n.w=n.x2-n.x1,n.h=n.y2-n.y1}else Zt(e)||(e=this.mutableElements());if(!(Zt(e)&&e.empty())){n=n||e.boundingBox();var o=this.width(),l=this.height(),c;if(r=de(r)?r:0,!isNaN(o)&&!isNaN(l)&&o>0&&l>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0){c=Math.min((o-2*r)/n.w,(l-2*r)/n.h),c=c>this._private.maxZoom?this._private.maxZoom:c,c=c<this._private.minZoom?this._private.minZoom:c;var u={x:(o-c*(n.x1+n.x2))/2,y:(l-c*(n.y1+n.y2))/2};return{zoom:c,pan:u}}}}},zoomRange:function(e,r){var n=this._private;if(r==null){var a=e;e=a.min,r=a.max}return de(e)&&de(r)&&e<=r?(n.minZoom=e,n.maxZoom=r):de(e)&&r===void 0&&e<=n.maxZoom?n.minZoom=e:de(r)&&e===void 0&&r>=n.minZoom&&(n.maxZoom=r),this},minZoom:function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var r=this._private,n=r.pan,a=r.zoom,i,o,l=!1;if(r.zoomingEnabled||(l=!0),de(e)?o=e:Ae(e)&&(o=e.level,e.position!=null?i=ys(e.position,a,n):e.renderedPosition!=null&&(i=e.renderedPosition),i!=null&&!r.panningEnabled&&(l=!0)),o=o>r.maxZoom?r.maxZoom:o,o=o<r.minZoom?r.minZoom:o,l||!de(o)||o===a||i!=null&&(!de(i.x)||!de(i.y)))return null;if(i!=null){var c=n,u=a,d=o,f={x:-d/u*(i.x-c.x)+i.x,y:-d/u*(i.y-c.y)+i.y};return{zoomed:!0,panned:!0,zoom:d,pan:f}}else return{zoomed:!0,panned:!1,zoom:o,pan:n}},zoom:function(e){if(e===void 0)return this._private.zoom;var r=this.getZoomedViewport(e),n=this._private;return r==null||!r.zoomed?this:(n.zoom=r.zoom,r.panned&&(n.pan.x=r.pan.x,n.pan.y=r.pan.y),this.emit("zoom"+(r.panned?" pan":"")+" viewport"),this.notify("viewport"),this)},viewport:function(e){var r=this._private,n=!0,a=!0,i=[],o=!1,l=!1;if(!e)return this;if(de(e.zoom)||(n=!1),Ae(e.pan)||(a=!1),!n&&!a)return this;if(n){var c=e.zoom;c<r.minZoom||c>r.maxZoom||!r.zoomingEnabled?o=!0:(r.zoom=c,i.push("zoom"))}if(a&&(!o||!e.cancelOnFailedZoom)&&r.panningEnabled){var u=e.pan;de(u.x)&&(r.pan.x=u.x,l=!1),de(u.y)&&(r.pan.y=u.y,l=!1),l||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this},center:function(e){var r=this.getCenterPan(e);return r&&(this._private.pan=r,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,r){if(this._private.panningEnabled){if(Ee(e)){var n=e;e=this.mutableElements().filter(n)}else Zt(e)||(e=this.mutableElements());if(e.length!==0){var a=e.boundingBox(),i=this.width(),o=this.height();r=r===void 0?this._private.zoom:r;var l={x:(i-r*(a.x1+a.x2))/2,y:(o-r*(a.y1+a.y2))/2};return l}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e=this._private,r=e.container,n=this;return e.sizeCache=e.sizeCache||(r?function(){var a=n.window().getComputedStyle(r),i=function(l){return parseFloat(a.getPropertyValue(l))};return{width:r.clientWidth-i("padding-left")-i("padding-right"),height:r.clientHeight-i("padding-top")-i("padding-bottom")}}():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,r=this._private.zoom,n=this.renderedExtent(),a={x1:(n.x1-e.x)/r,x2:(n.x2-e.x)/r,y1:(n.y1-e.y)/r,y2:(n.y2-e.y)/r};return a.w=a.x2-a.x1,a.h=a.y2-a.y1,a},renderedExtent:function(){var e=this.width(),r=this.height();return{x1:0,y1:0,x2:e,y2:r,w:e,h:r}},multiClickDebounceTime:function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this}};aa.centre=aa.center,aa.autolockNodes=aa.autolock,aa.autoungrabifyNodes=aa.autoungrabify;var ho={data:Ve.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:Ve.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:Ve.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Ve.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};ho.attr=ho.data,ho.removeAttr=ho.removeData;var po=function(e){var r=this;e=Se({},e);var n=e.container;n&&!cs(n)&&cs(n[0])&&(n=n[0]);var a=n?n._cyreg:null;a=a||{},a&&a.cy&&(a.cy.destroy(),a={});var i=a.readies=a.readies||[];n&&(n._cyreg=a),a.cy=r;var o=dt!==void 0&&n!==void 0&&!e.headless,l=e;l.layout=Se({name:o?"grid":"null"},l.layout),l.renderer=Se({name:o?"canvas":"null"},l.renderer);var c=function(p,g,m){return g!==void 0?g:m!==void 0?m:p},u=this._private={container:n,ready:!1,options:l,elements:new St(this),listeners:[],aniEles:new St(this),data:l.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:c(!0,l.zoomingEnabled),userZoomingEnabled:c(!0,l.userZoomingEnabled),panningEnabled:c(!0,l.panningEnabled),userPanningEnabled:c(!0,l.userPanningEnabled),boxSelectionEnabled:c(!0,l.boxSelectionEnabled),autolock:c(!1,l.autolock,l.autolockNodes),autoungrabify:c(!1,l.autoungrabify,l.autoungrabifyNodes),autounselectify:c(!1,l.autounselectify),styleEnabled:l.styleEnabled===void 0?o:l.styleEnabled,zoom:de(l.zoom)?l.zoom:1,pan:{x:Ae(l.pan)&&de(l.pan.x)?l.pan.x:0,y:Ae(l.pan)&&de(l.pan.y)?l.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:c(250,l.multiClickDebounceTime)};this.createEmitter(),this.selectionType(l.selectionType),this.zoomRange({min:l.minZoom,max:l.maxZoom});var d=function(p,g){var m=p.some(IM);if(m)return Ha.all(p).then(g);g(p)};u.styleEnabled&&r.setStyle([]);var f=Se({},l,l.renderer);r.initRenderer(f);var h=function(p,g,m){r.notifications(!1);var y=r.mutableElements();y.length>0&&y.remove(),p!=null&&(Ae(p)||Ke(p))&&r.add(p),r.one("layoutready",function(w){r.notifications(!0),r.emit(w),r.one("load",g),r.emitAndNotify("load")}).one("layoutstop",function(){r.one("done",m),r.emit("done")});var b=Se({},r._private.options.layout);b.eles=r.elements(),r.layout(b).run()};d([l.style,l.elements],function(v){var p=v[0],g=v[1];u.styleEnabled&&r.style().append(p),h(g,function(){r.startAnimationLoop(),u.ready=!0,Xe(l.ready)&&r.on("ready",l.ready);for(var m=0;m<i.length;m++){var y=i[m];r.on("ready",y)}a&&(a.readies=[]),r.emit("ready")},l.done)})},Ys=po.prototype;Se(Ys,{instanceString:function(){return"core"},isReady:function(){return this._private.ready},destroyed:function(){return this._private.destroyed},ready:function(e){return this.isReady()?this.emitter().emit("ready",[],e):this.on("ready",e),this},destroy:function(){var e=this;if(!e.destroyed())return e.stopAnimationLoop(),e.destroyRenderer(),this.emit("destroy"),e._private.destroyed=!0,e},hasElementWithId:function(e){return this._private.elements.hasElementWithId(e)},getElementById:function(e){return this._private.elements.getElementById(e)},hasCompoundNodes:function(){return this._private.hasCompoundNodes},headless:function(){return this._private.renderer.isHeadless()},styleEnabled:function(){return this._private.styleEnabled},addToPool:function(e){return this._private.elements.merge(e),this},removeFromPool:function(e){return this._private.elements.unmerge(e),this},container:function(){return this._private.container||null},window:function(){var e=this._private.container;if(e==null)return dt;var r=this._private.container.ownerDocument;return r===void 0||r==null?dt:r.defaultView||dt},mount:function(e){if(e!=null){var r=this,n=r._private,a=n.options;return!cs(e)&&cs(e[0])&&(e=e[0]),r.stopAnimationLoop(),r.destroyRenderer(),n.container=e,n.styleEnabled=!0,r.invalidateSize(),r.initRenderer(Se({},a,a.renderer,{name:a.renderer.name==="null"?"canvas":a.renderer.name})),r.startAnimationLoop(),r.style(a.style),r.emit("mount"),r}},unmount:function(){var e=this;return e.stopAnimationLoop(),e.destroyRenderer(),e.initRenderer({name:"null"}),e.emit("unmount"),e},options:function(){return Nr(this._private.options)},json:function(e){var r=this,n=r._private,a=r.mutableElements(),i=function(C){return r.getElementById(C.id())};if(Ae(e)){if(r.startBatch(),e.elements){var o={},l=function(C,x){for(var k=[],E=[],_=0;_<C.length;_++){var S=C[_];if(!S.data.id){$e("cy.json() cannot handle elements without an ID attribute");continue}var T=""+S.data.id,N=r.getElementById(T);o[T]=!0,N.length!==0?E.push({ele:N,json:S}):(x&&(S.group=x),k.push(S))}r.add(k);for(var B=0;B<E.length;B++){var O=E[B],D=O.ele,R=O.json;D.json(R)}};if(Ke(e.elements))l(e.elements);else for(var c=["nodes","edges"],u=0;u<c.length;u++){var d=c[u],f=e.elements[d];Ke(f)&&l(f,d)}var h=r.collection();a.filter(function(w){return!o[w.id()]}).forEach(function(w){w.isParent()?h.merge(w):w.remove()}),h.forEach(function(w){return w.children().move({parent:null})}),h.forEach(function(w){return i(w).remove()})}e.style&&r.style(e.style),e.zoom!=null&&e.zoom!==n.zoom&&r.zoom(e.zoom),e.pan&&(e.pan.x!==n.pan.x||e.pan.y!==n.pan.y)&&r.pan(e.pan),e.data&&r.data(e.data);for(var v=["minZoom","maxZoom","zoomingEnabled","userZoomingEnabled","panningEnabled","userPanningEnabled","boxSelectionEnabled","autolock","autoungrabify","autounselectify","multiClickDebounceTime"],p=0;p<v.length;p++){var g=v[p];e[g]!=null&&r[g](e[g])}return r.endBatch(),this}else{var m=!!e,y={};m?y.elements=this.elements().map(function(w){return w.json()}):(y.elements={},a.forEach(function(w){var C=w.group();y.elements[C]||(y.elements[C]=[]),y.elements[C].push(w.json())})),this._private.styleEnabled&&(y.style=r.style().json()),y.data=Nr(r.data());var b=n.options;return y.zoomingEnabled=n.zoomingEnabled,y.userZoomingEnabled=n.userZoomingEnabled,y.zoom=n.zoom,y.minZoom=n.minZoom,y.maxZoom=n.maxZoom,y.panningEnabled=n.panningEnabled,y.userPanningEnabled=n.userPanningEnabled,y.pan=Nr(n.pan),y.boxSelectionEnabled=n.boxSelectionEnabled,y.renderer=Nr(b.renderer),y.hideEdgesOnViewport=b.hideEdgesOnViewport,y.textureOnViewport=b.textureOnViewport,y.wheelSensitivity=b.wheelSensitivity,y.motionBlur=b.motionBlur,y.multiClickDebounceTime=b.multiClickDebounceTime,y}}}),Ys.$id=Ys.getElementById,[vz,wz,g1,uc,Gs,Ez,cc,Us,Sz,aa,ho].forEach(function(t){Se(Ys,t)});var Tz={fit:!0,directed:!1,padding:30,circle:!1,grid:!1,spacingFactor:1.75,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,roots:void 0,depthSort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}},Nz={maximal:!1,acyclic:!1},ei=function(e){return e.scratch("breadthfirst")},m1=function(e,r){return e.scratch("breadthfirst",r)};function y1(t){this.options=Se({},Tz,Nz,t)}y1.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,a=n.nodes().filter(function(ae){return!ae.isParent()}),i=n,o=e.directed,l=e.acyclic||e.maximal||e.maximalAdjustments>0,c=Kt(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),u;if(Zt(e.roots))u=e.roots;else if(Ke(e.roots)){for(var d=[],f=0;f<e.roots.length;f++){var h=e.roots[f],v=r.getElementById(h);d.push(v)}u=r.collection(d)}else if(Ee(e.roots))u=r.$(e.roots);else if(o)u=a.roots();else{var p=n.components();u=r.collection();for(var g=function(ne){var ue=p[ne],ie=ue.maxDegree(!1),fe=ue.filter(function(pe){return pe.degree(!1)===ie});u=u.add(fe)},m=0;m<p.length;m++)g(m)}var y=[],b={},w=function(ne,ue){y[ue]==null&&(y[ue]=[]);var ie=y[ue].length;y[ue].push(ne),m1(ne,{index:ie,depth:ue})},C=function(ne,ue){var ie=ei(ne),fe=ie.depth,pe=ie.index;y[fe][pe]=null,w(ne,ue)};i.bfs({roots:u,directed:e.directed,visit:function(ne,ue,ie,fe,pe){var De=ne[0],Ie=De.id();w(De,pe),b[Ie]=!0}});for(var x=[],k=0;k<a.length;k++){var E=a[k];b[E.id()]||x.push(E)}var _=function(ne){for(var ue=y[ne],ie=0;ie<ue.length;ie++){var fe=ue[ie];if(fe==null){ue.splice(ie,1),ie--;continue}m1(fe,{depth:ne,index:ie})}},S=function(){for(var ne=0;ne<y.length;ne++)_(ne)},T=function(ne,ue){for(var ie=ei(ne),fe=ne.incomers().filter(function(I){return I.isNode()&&n.has(I)}),pe=-1,De=ne.id(),Ie=0;Ie<fe.length;Ie++){var we=fe[Ie],xe=ei(we);pe=Math.max(pe,xe.depth)}if(ie.depth<=pe){if(!e.acyclic&&ue[De])return null;var re=pe+1;return C(ne,re),ue[De]=re,!0}return!1};if(o&&l){var N=[],B={},O=function(ne){return N.push(ne)},D=function(){return N.shift()};for(a.forEach(function(ae){return N.push(ae)});N.length>0;){var R=D(),P=T(R,B);if(P)R.outgoers().filter(function(ae){return ae.isNode()&&n.has(ae)}).forEach(O);else if(P===null){$e("Detected double maximal shift for node `"+R.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}S();var L=0;if(e.avoidOverlap)for(var A=0;A<a.length;A++){var q=a[A],U=q.layoutDimensions(e),z=U.w,H=U.h;L=Math.max(L,z,H)}var Q={},F=function(ne){if(Q[ne.id()])return Q[ne.id()];for(var ue=ei(ne).depth,ie=ne.neighborhood(),fe=0,pe=0,De=0;De<ie.length;De++){var Ie=ie[De];if(!(Ie.isEdge()||Ie.isParent()||!a.has(Ie))){var we=ei(Ie);if(we!=null){var xe=we.index,re=we.depth;if(!(xe==null||re==null)){var I=y[re].length;re<ue&&(fe+=xe/I,pe++)}}}}return pe=Math.max(1,pe),fe=fe/pe,pe===0&&(fe=0),Q[ne.id()]=fe,fe},$=function(ne,ue){var ie=F(ne),fe=F(ue),pe=ie-fe;return pe===0?T0(ne.id(),ue.id()):pe};e.depthSort!==void 0&&($=e.depthSort);for(var V=0;V<y.length;V++)y[V].sort($),_(V);for(var G=[],j=0;j<x.length;j++)G.push(x[j]);y.unshift(G),S();for(var M=0,W=0;W<y.length;W++)M=Math.max(y[W].length,M);var Y={x:c.x1+c.w/2,y:c.x1+c.h/2},se=y.reduce(function(ae,ne){return Math.max(ae,ne.length)},0),ce=function(ne){var ue=ei(ne),ie=ue.depth,fe=ue.index,pe=y[ie].length,De=Math.max(c.w/((e.grid?se:pe)+1),L),Ie=Math.max(c.h/(y.length+1),L),we=Math.min(c.w/2/y.length,c.h/2/y.length);if(we=Math.max(we,L),e.circle){var re=we*ie+we-(y.length>0&&y[0].length<=3?we/2:0),I=2*Math.PI/y[ie].length*fe;return ie===0&&y[0].length===1&&(re=1),{x:Y.x+re*Math.cos(I),y:Y.y+re*Math.sin(I)}}else{var xe={x:Y.x+(fe+1-(pe+1)/2)*De,y:(ie+1)*Ie};return xe}};return n.nodes().layoutPositions(this,e,ce),this};var Iz={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function b1(t){this.options=Se({},Iz,t)}b1.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,a=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,i=n.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));for(var o=Kt(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),l={x:o.x1+o.w/2,y:o.y1+o.h/2},c=e.sweep===void 0?2*Math.PI-2*Math.PI/i.length:e.sweep,u=c/Math.max(1,i.length-1),d,f=0,h=0;h<i.length;h++){var v=i[h],p=v.layoutDimensions(e),g=p.w,m=p.h;f=Math.max(f,g,m)}if(de(e.radius)?d=e.radius:i.length<=1?d=0:d=Math.min(o.h,o.w)/2-f,i.length>1&&e.avoidOverlap){f*=1.75;var y=Math.cos(u)-Math.cos(0),b=Math.sin(u)-Math.sin(0),w=Math.sqrt(f*f/(y*y+b*b));d=Math.max(w,d)}var C=function(k,E){var _=e.startAngle+E*u*(a?1:-1),S=d*Math.cos(_),T=d*Math.sin(_),N={x:l.x+S,y:l.y+T};return N};return n.nodes().layoutPositions(this,e,C),this};var Bz={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function w1(t){this.options=Se({},Bz,t)}w1.prototype.run=function(){for(var t=this.options,e=t,r=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,n=t.cy,a=e.eles,i=a.nodes().not(":parent"),o=Kt(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),l={x:o.x1+o.w/2,y:o.y1+o.h/2},c=[],u=0,d=0;d<i.length;d++){var f=i[d],h=void 0;h=e.concentric(f),c.push({value:h,node:f}),f._private.scratch.concentric=h}i.updateStyle();for(var v=0;v<i.length;v++){var p=i[v],g=p.layoutDimensions(e);u=Math.max(u,g.w,g.h)}c.sort(function(ae,ne){return ne.value-ae.value});for(var m=e.levelWidth(i),y=[[]],b=y[0],w=0;w<c.length;w++){var C=c[w];if(b.length>0){var x=Math.abs(b[0].value-C.value);x>=m&&(b=[],y.push(b))}b.push(C)}var k=u+e.minNodeSpacing;if(!e.avoidOverlap){var E=y.length>0&&y[0].length>1,_=Math.min(o.w,o.h)/2-k,S=_/(y.length+E?1:0);k=Math.min(k,S)}for(var T=0,N=0;N<y.length;N++){var B=y[N],O=e.sweep===void 0?2*Math.PI-2*Math.PI/B.length:e.sweep,D=B.dTheta=O/Math.max(1,B.length-1);if(B.length>1&&e.avoidOverlap){var R=Math.cos(D)-Math.cos(0),P=Math.sin(D)-Math.sin(0),L=Math.sqrt(k*k/(R*R+P*P));T=Math.max(L,T)}B.r=T,T+=k}if(e.equidistant){for(var A=0,q=0,U=0;U<y.length;U++){var z=y[U],H=z.r-q;A=Math.max(A,H)}q=0;for(var Q=0;Q<y.length;Q++){var F=y[Q];Q===0&&(q=F.r),F.r=q,q+=A}}for(var $={},V=0;V<y.length;V++)for(var G=y[V],j=G.dTheta,M=G.r,W=0;W<G.length;W++){var Y=G[W],se=e.startAngle+(r?1:-1)*j*W,ce={x:l.x+M*Math.cos(se),y:l.y+M*Math.sin(se)};$[Y.node.id()]=ce}return a.nodes().layoutPositions(this,e,function(ae){var ne=ae.id();return $[ne]}),this};var hc,Dz={ready:function(){},stop:function(){},animate:!0,animationEasing:void 0,animationDuration:void 0,animateFilter:function(e,r){return!0},animationThreshold:250,refresh:20,fit:!0,padding:30,boundingBox:void 0,nodeDimensionsIncludeLabels:!1,randomize:!1,componentSpacing:40,nodeRepulsion:function(e){return 2048},nodeOverlap:4,idealEdgeLength:function(e){return 32},edgeElasticity:function(e){return 32},nestingFactor:1.2,gravity:1,numIter:1e3,initialTemp:1e3,coolingFactor:.99,minTemp:1};function Zs(t){this.options=Se({},Dz,t),this.options.layout=this;var e=this.options.eles.nodes(),r=this.options.eles.edges(),n=r.filter(function(a){var i=a.source().data("id"),o=a.target().data("id"),l=e.some(function(u){return u.data("id")===i}),c=e.some(function(u){return u.data("id")===o});return!l||!c});this.options.eles=this.options.eles.not(n)}Zs.prototype.run=function(){var t=this.options,e=t.cy,r=this;r.stopped=!1,(t.animate===!0||t.animate===!1)&&r.emit({type:"layoutstart",layout:r}),t.debug===!0?hc=!0:hc=!1;var n=Oz(e,r,t);hc&&Rz(n),t.randomize&&Lz(n);var a=Wr(),i=function(){Mz(n,e,t),t.fit===!0&&e.fit(t.padding)},o=function(h){return!(r.stopped||h>=t.numIter||(Fz(n,t),n.temperature=n.temperature*t.coolingFactor,n.temperature<t.minTemp))},l=function(){if(t.animate===!0||t.animate===!1)i(),r.one("layoutstop",t.stop),r.emit({type:"layoutstop",layout:r});else{var h=t.eles.nodes(),v=C1(n,t,h);h.layoutPositions(r,t,v)}},c=0,u=!0;if(t.animate===!0){var d=function f(){for(var h=0;u&&h<t.refresh;)u=o(c),c++,h++;if(!u)x1(n,t),l();else{var v=Wr();v-a>=t.animationThreshold&&i(),ps(f)}};d()}else{for(;u;)u=o(c),c++;x1(n,t),l()}return this},Zs.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},Zs.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var Oz=function(e,r,n){for(var a=n.eles.edges(),i=n.eles.nodes(),o=Kt(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),l={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:a.size(),temperature:n.initialTemp,clientWidth:o.w,clientHeight:o.h,boundingBox:o},c=n.eles.components(),u={},d=0;d<c.length;d++)for(var f=c[d],h=0;h<f.length;h++){var v=f[h];u[v.id()]=d}for(var d=0;d<l.nodeSize;d++){var p=i[d],g=p.layoutDimensions(n),m={};m.isLocked=p.locked(),m.id=p.data("id"),m.parentId=p.data("parent"),m.cmptId=u[p.id()],m.children=[],m.positionX=p.position("x"),m.positionY=p.position("y"),m.offsetX=0,m.offsetY=0,m.height=g.w,m.width=g.h,m.maxX=m.positionX+m.width/2,m.minX=m.positionX-m.width/2,m.maxY=m.positionY+m.height/2,m.minY=m.positionY-m.height/2,m.padLeft=parseFloat(p.style("padding")),m.padRight=parseFloat(p.style("padding")),m.padTop=parseFloat(p.style("padding")),m.padBottom=parseFloat(p.style("padding")),m.nodeRepulsion=Xe(n.nodeRepulsion)?n.nodeRepulsion(p):n.nodeRepulsion,l.layoutNodes.push(m),l.idToIndex[m.id]=d}for(var y=[],b=0,w=-1,C=[],d=0;d<l.nodeSize;d++){var p=l.layoutNodes[d],x=p.parentId;x!=null?l.layoutNodes[l.idToIndex[x]].children.push(p.id):(y[++w]=p.id,C.push(p.id))}for(l.graphSet.push(C);b<=w;){var k=y[b++],E=l.idToIndex[k],v=l.layoutNodes[E],_=v.children;if(_.length>0){l.graphSet.push(_);for(var d=0;d<_.length;d++)y[++w]=_[d]}}for(var d=0;d<l.graphSet.length;d++)for(var S=l.graphSet[d],h=0;h<S.length;h++){var T=l.idToIndex[S[h]];l.indexToGraph[T]=d}for(var d=0;d<l.edgeSize;d++){var N=a[d],B={};B.id=N.data("id"),B.sourceId=N.data("source"),B.targetId=N.data("target");var O=Xe(n.idealEdgeLength)?n.idealEdgeLength(N):n.idealEdgeLength,D=Xe(n.edgeElasticity)?n.edgeElasticity(N):n.edgeElasticity,R=l.idToIndex[B.sourceId],P=l.idToIndex[B.targetId],L=l.indexToGraph[R],A=l.indexToGraph[P];if(L!=A){for(var q=Pz(B.sourceId,B.targetId,l),U=l.graphSet[q],z=0,m=l.layoutNodes[R];U.indexOf(m.id)===-1;)m=l.layoutNodes[l.idToIndex[m.parentId]],z++;for(m=l.layoutNodes[P];U.indexOf(m.id)===-1;)m=l.layoutNodes[l.idToIndex[m.parentId]],z++;O*=z*n.nestingFactor}B.idealLength=O,B.elasticity=D,l.layoutEdges.push(B)}return l},Pz=function(e,r,n){var a=Az(e,r,0,n);return 2>a.count?0:a.graph},Az=function t(e,r,n,a){var i=a.graphSet[n];if(-1<i.indexOf(e)&&-1<i.indexOf(r))return{count:2,graph:n};for(var o=0,l=0;l<i.length;l++){var c=i[l],u=a.idToIndex[c],d=a.layoutNodes[u].children;if(d.length!==0){var f=a.indexToGraph[a.idToIndex[d[0]]],h=t(e,r,f,a);if(h.count!==0)if(h.count===1){if(o++,o===2)break}else return h}}return{count:o,graph:n}},Rz,Lz=function(e,r){for(var n=e.clientWidth,a=e.clientHeight,i=0;i<e.nodeSize;i++){var o=e.layoutNodes[i];o.children.length===0&&!o.isLocked&&(o.positionX=Math.random()*n,o.positionY=Math.random()*a)}},C1=function(e,r,n){var a=e.boundingBox,i={x1:1/0,x2:-1/0,y1:1/0,y2:-1/0};return r.boundingBox&&(n.forEach(function(o){var l=e.layoutNodes[e.idToIndex[o.data("id")]];i.x1=Math.min(i.x1,l.positionX),i.x2=Math.max(i.x2,l.positionX),i.y1=Math.min(i.y1,l.positionY),i.y2=Math.max(i.y2,l.positionY)}),i.w=i.x2-i.x1,i.h=i.y2-i.y1),function(o,l){var c=e.layoutNodes[e.idToIndex[o.data("id")]];if(r.boundingBox){var u=(c.positionX-i.x1)/i.w,d=(c.positionY-i.y1)/i.h;return{x:a.x1+u*a.w,y:a.y1+d*a.h}}else return{x:c.positionX,y:c.positionY}}},Mz=function(e,r,n){var a=n.layout,i=n.eles.nodes(),o=C1(e,n,i);i.positions(o),e.ready!==!0&&(e.ready=!0,a.one("layoutready",n.ready),a.emit({type:"layoutready",layout:this}))},Fz=function(e,r,n){$z(e,r),zz(e),Hz(e,r),Kz(e),Gz(e)},$z=function(e,r){for(var n=0;n<e.graphSet.length;n++)for(var a=e.graphSet[n],i=a.length,o=0;o<i;o++)for(var l=e.layoutNodes[e.idToIndex[a[o]]],c=o+1;c<i;c++){var u=e.layoutNodes[e.idToIndex[a[c]]];Vz(l,u,e,r)}},E1=function(e){return-e+2*e*Math.random()},Vz=function(e,r,n,a){var i=e.cmptId,o=r.cmptId;if(!(i!==o&&!n.isCompound)){var l=r.positionX-e.positionX,c=r.positionY-e.positionY,u=1;l===0&&c===0&&(l=E1(u),c=E1(u));var d=qz(e,r,l,c);if(d>0)var f=a.nodeOverlap*d,h=Math.sqrt(l*l+c*c),v=f*l/h,p=f*c/h;else var g=Xs(e,l,c),m=Xs(r,-1*l,-1*c),y=m.x-g.x,b=m.y-g.y,w=y*y+b*b,h=Math.sqrt(w),f=(e.nodeRepulsion+r.nodeRepulsion)/w,v=f*y/h,p=f*b/h;e.isLocked||(e.offsetX-=v,e.offsetY-=p),r.isLocked||(r.offsetX+=v,r.offsetY+=p)}},qz=function(e,r,n,a){if(n>0)var i=e.maxX-r.minX;else var i=r.maxX-e.minX;if(a>0)var o=e.maxY-r.minY;else var o=r.maxY-e.minY;return i>=0&&o>=0?Math.sqrt(i*i+o*o):0},Xs=function(e,r,n){var a=e.positionX,i=e.positionY,o=e.height||1,l=e.width||1,c=n/r,u=o/l,d={};return r===0&&0<n||r===0&&0>n?(d.x=a,d.y=i+o/2,d):0<r&&-1*u<=c&&c<=u?(d.x=a+l/2,d.y=i+l*n/2/r,d):0>r&&-1*u<=c&&c<=u?(d.x=a-l/2,d.y=i-l*n/2/r,d):0<n&&(c<=-1*u||c>=u)?(d.x=a+o*r/2/n,d.y=i+o/2,d):(0>n&&(c<=-1*u||c>=u)&&(d.x=a-o*r/2/n,d.y=i-o/2),d)},zz=function(e,r){for(var n=0;n<e.edgeSize;n++){var a=e.layoutEdges[n],i=e.idToIndex[a.sourceId],o=e.layoutNodes[i],l=e.idToIndex[a.targetId],c=e.layoutNodes[l],u=c.positionX-o.positionX,d=c.positionY-o.positionY;if(!(u===0&&d===0)){var f=Xs(o,u,d),h=Xs(c,-1*u,-1*d),v=h.x-f.x,p=h.y-f.y,g=Math.sqrt(v*v+p*p),m=Math.pow(a.idealLength-g,2)/a.elasticity;if(g!==0)var y=m*v/g,b=m*p/g;else var y=0,b=0;o.isLocked||(o.offsetX+=y,o.offsetY+=b),c.isLocked||(c.offsetX-=y,c.offsetY-=b)}}},Hz=function(e,r){if(r.gravity!==0)for(var n=1,a=0;a<e.graphSet.length;a++){var i=e.graphSet[a],o=i.length;if(a===0)var l=e.clientHeight/2,c=e.clientWidth/2;else var u=e.layoutNodes[e.idToIndex[i[0]]],d=e.layoutNodes[e.idToIndex[u.parentId]],l=d.positionX,c=d.positionY;for(var f=0;f<o;f++){var h=e.layoutNodes[e.idToIndex[i[f]]];if(!h.isLocked){var v=l-h.positionX,p=c-h.positionY,g=Math.sqrt(v*v+p*p);if(g>n){var m=r.gravity*v/g,y=r.gravity*p/g;h.offsetX+=m,h.offsetY+=y}}}}},Kz=function(e,r){var n=[],a=0,i=-1;for(n.push.apply(n,e.graphSet[0]),i+=e.graphSet[0].length;a<=i;){var o=n[a++],l=e.idToIndex[o],c=e.layoutNodes[l],u=c.children;if(0<u.length&&!c.isLocked){for(var d=c.offsetX,f=c.offsetY,h=0;h<u.length;h++){var v=e.layoutNodes[e.idToIndex[u[h]]];v.offsetX+=d,v.offsetY+=f,n[++i]=u[h]}c.offsetX=0,c.offsetY=0}}},Gz=function(e,r){for(var n=0;n<e.nodeSize;n++){var a=e.layoutNodes[n];0<a.children.length&&(a.maxX=void 0,a.minX=void 0,a.maxY=void 0,a.minY=void 0)}for(var n=0;n<e.nodeSize;n++){var a=e.layoutNodes[n];if(!(0<a.children.length||a.isLocked)){var i=Uz(a.offsetX,a.offsetY,e.temperature);a.positionX+=i.x,a.positionY+=i.y,a.offsetX=0,a.offsetY=0,a.minX=a.positionX-a.width,a.maxX=a.positionX+a.width,a.minY=a.positionY-a.height,a.maxY=a.positionY+a.height,jz(a,e)}}for(var n=0;n<e.nodeSize;n++){var a=e.layoutNodes[n];0<a.children.length&&!a.isLocked&&(a.positionX=(a.maxX+a.minX)/2,a.positionY=(a.maxY+a.minY)/2,a.width=a.maxX-a.minX,a.height=a.maxY-a.minY)}},Uz=function(e,r,n){var a=Math.sqrt(e*e+r*r);if(a>n)var i={x:n*e/a,y:n*r/a};else var i={x:e,y:r};return i},jz=function t(e,r){var n=e.parentId;if(n!=null){var a=r.layoutNodes[r.idToIndex[n]],i=!1;if((a.maxX==null||e.maxX+a.padRight>a.maxX)&&(a.maxX=e.maxX+a.padRight,i=!0),(a.minX==null||e.minX-a.padLeft<a.minX)&&(a.minX=e.minX-a.padLeft,i=!0),(a.maxY==null||e.maxY+a.padBottom>a.maxY)&&(a.maxY=e.maxY+a.padBottom,i=!0),(a.minY==null||e.minY-a.padTop<a.minY)&&(a.minY=e.minY-a.padTop,i=!0),i)return t(a,r)}},x1=function(e,r){for(var n=e.layoutNodes,a=[],i=0;i<n.length;i++){var o=n[i],l=o.cmptId,c=a[l]=a[l]||[];c.push(o)}for(var u=0,i=0;i<a.length;i++){var d=a[i];if(d){d.x1=1/0,d.x2=-1/0,d.y1=1/0,d.y2=-1/0;for(var f=0;f<d.length;f++){var h=d[f];d.x1=Math.min(d.x1,h.positionX-h.width/2),d.x2=Math.max(d.x2,h.positionX+h.width/2),d.y1=Math.min(d.y1,h.positionY-h.height/2),d.y2=Math.max(d.y2,h.positionY+h.height/2)}d.w=d.x2-d.x1,d.h=d.y2-d.y1,u+=d.w*d.h}}a.sort(function(b,w){return w.w*w.h-b.w*b.h});for(var v=0,p=0,g=0,m=0,y=Math.sqrt(u)*e.clientWidth/e.clientHeight,i=0;i<a.length;i++){var d=a[i];if(d){for(var f=0;f<d.length;f++){var h=d[f];h.isLocked||(h.positionX+=v-d.x1,h.positionY+=p-d.y1)}v+=d.w+r.componentSpacing,g+=d.w+r.componentSpacing,m=Math.max(m,d.h),g>y&&(p+=m+r.componentSpacing,v=0,g=0,m=0)}}},Wz={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function k1(t){this.options=Se({},Wz,t)}k1.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,a=n.nodes().not(":parent");e.sort&&(a=a.sort(e.sort));var i=Kt(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(i.h===0||i.w===0)n.nodes().layoutPositions(this,e,function(Q){return{x:i.x1,y:i.y1}});else{var o=a.size(),l=Math.sqrt(o*i.h/i.w),c=Math.round(l),u=Math.round(i.w/i.h*l),d=function(F){if(F==null)return Math.min(c,u);var $=Math.min(c,u);$==c?c=F:u=F},f=function(F){if(F==null)return Math.max(c,u);var $=Math.max(c,u);$==c?c=F:u=F},h=e.rows,v=e.cols!=null?e.cols:e.columns;if(h!=null&&v!=null)c=h,u=v;else if(h!=null&&v==null)c=h,u=Math.ceil(o/c);else if(h==null&&v!=null)u=v,c=Math.ceil(o/u);else if(u*c>o){var p=d(),g=f();(p-1)*g>=o?d(p-1):(g-1)*p>=o&&f(g-1)}else for(;u*c<o;){var m=d(),y=f();(y+1)*m>=o?f(y+1):d(m+1)}var b=i.w/u,w=i.h/c;if(e.condense&&(b=0,w=0),e.avoidOverlap)for(var C=0;C<a.length;C++){var x=a[C],k=x._private.position;(k.x==null||k.y==null)&&(k.x=0,k.y=0);var E=x.layoutDimensions(e),_=e.avoidOverlapPadding,S=E.w+_,T=E.h+_;b=Math.max(b,S),w=Math.max(w,T)}for(var N={},B=function(F,$){return!!N["c-"+F+"-"+$]},O=function(F,$){N["c-"+F+"-"+$]=!0},D=0,R=0,P=function(){R++,R>=u&&(R=0,D++)},L={},A=0;A<a.length;A++){var q=a[A],U=e.position(q);if(U&&(U.row!==void 0||U.col!==void 0)){var z={row:U.row,col:U.col};if(z.col===void 0)for(z.col=0;B(z.row,z.col);)z.col++;else if(z.row===void 0)for(z.row=0;B(z.row,z.col);)z.row++;L[q.id()]=z,O(z.row,z.col)}}var H=function(F,$){var V,G;if(F.locked()||F.isParent())return!1;var j=L[F.id()];if(j)V=j.col*b+b/2+i.x1,G=j.row*w+w/2+i.y1;else{for(;B(D,R);)P();V=R*b+b/2+i.x1,G=D*w+w/2+i.y1,O(D,R),P()}return{x:V,y:G}};a.layoutPositions(this,e,H)}return this};var Yz={ready:function(){},stop:function(){}};function pc(t){this.options=Se({},Yz,t)}pc.prototype.run=function(){var t=this.options,e=t.eles,r=this;return t.cy,r.emit("layoutstart"),e.nodes().positions(function(){return{x:0,y:0}}),r.one("layoutready",t.ready),r.emit("layoutready"),r.one("layoutstop",t.stop),r.emit("layoutstop"),this},pc.prototype.stop=function(){return this};var Zz={positions:void 0,zoom:void 0,pan:void 0,fit:!0,padding:30,spacingFactor:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function S1(t){this.options=Se({},Zz,t)}S1.prototype.run=function(){var t=this.options,e=t.eles,r=e.nodes(),n=Xe(t.positions);function a(i){if(t.positions==null)return e5(i.position());if(n)return t.positions(i);var o=t.positions[i._private.data.id];return o??null}return r.layoutPositions(this,t,function(i,o){var l=a(i);return i.locked()||l==null?!1:l}),this};var Xz={fit:!0,padding:30,boundingBox:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function _1(t){this.options=Se({},Xz,t)}_1.prototype.run=function(){var t=this.options,e=t.cy,r=t.eles,n=Kt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),a=function(o,l){return{x:n.x1+Math.round(Math.random()*n.w),y:n.y1+Math.round(Math.random()*n.h)}};return r.nodes().layoutPositions(this,t,a),this};var Jz=[{name:"breadthfirst",impl:y1},{name:"circle",impl:b1},{name:"concentric",impl:w1},{name:"cose",impl:Zs},{name:"grid",impl:k1},{name:"null",impl:pc},{name:"preset",impl:S1},{name:"random",impl:_1}];function T1(t){this.options=t,this.notifications=0}var N1=function(){},I1=function(){throw new Error("A headless instance can not render images")};T1.prototype={recalculateRenderedStyle:N1,notify:function(){this.notifications++},init:N1,isHeadless:function(){return!0},png:I1,jpg:I1};var vc={};vc.arrowShapeWidth=.3,vc.registerArrowShapes=function(){var t=this.arrowShapes={},e=this,r=function(u,d,f,h,v,p,g){var m=v.x-f/2-g,y=v.x+f/2+g,b=v.y-f/2-g,w=v.y+f/2+g,C=m<=u&&u<=y&&b<=d&&d<=w;return C},n=function(u,d,f,h,v){var p=u*Math.cos(h)-d*Math.sin(h),g=u*Math.sin(h)+d*Math.cos(h),m=p*f,y=g*f,b=m+v.x,w=y+v.y;return{x:b,y:w}},a=function(u,d,f,h){for(var v=[],p=0;p<u.length;p+=2){var g=u[p],m=u[p+1];v.push(n(g,m,d,f,h))}return v},i=function(u){for(var d=[],f=0;f<u.length;f++){var h=u[f];d.push(h.x,h.y)}return d},o=function(u){return u.pstyle("width").pfValue*u.pstyle("arrow-scale").pfValue*2},l=function(u,d){Ee(d)&&(d=t[d]),t[u]=Se({name:u,points:[-.15,-.3,.15,-.3,.15,.3,-.15,.3],collide:function(h,v,p,g,m,y){var b=i(a(this.points,p+2*y,g,m)),w=Gt(h,v,b);return w},roughCollide:r,draw:function(h,v,p,g){var m=a(this.points,v,p,g);e.arrowShapeImpl("polygon")(h,m)},spacing:function(h){return 0},gap:o},d)};l("none",{collide:gs,roughCollide:gs,draw:Fu,spacing:q0,gap:q0}),l("triangle",{points:[-.15,-.3,0,0,.15,-.3]}),l("arrow","triangle"),l("triangle-backcurve",{points:t.triangle.points,controlPoint:[0,-.15],roughCollide:r,draw:function(u,d,f,h,v){var p=a(this.points,d,f,h),g=this.controlPoint,m=n(g[0],g[1],d,f,h);e.arrowShapeImpl(this.name)(u,p,m)},gap:function(u){return o(u)*.8}}),l("triangle-tee",{points:[0,0,.15,-.3,-.15,-.3,0,0],pointsTee:[-.15,-.4,-.15,-.5,.15,-.5,.15,-.4],collide:function(u,d,f,h,v,p,g){var m=i(a(this.points,f+2*g,h,v)),y=i(a(this.pointsTee,f+2*g,h,v)),b=Gt(u,d,m)||Gt(u,d,y);return b},draw:function(u,d,f,h,v){var p=a(this.points,d,f,h),g=a(this.pointsTee,d,f,h);e.arrowShapeImpl(this.name)(u,p,g)}}),l("circle-triangle",{radius:.15,pointsTr:[0,-.15,.15,-.45,-.15,-.45,0,-.15],collide:function(u,d,f,h,v,p,g){var m=v,y=Math.pow(m.x-u,2)+Math.pow(m.y-d,2)<=Math.pow((f+2*g)*this.radius,2),b=i(a(this.points,f+2*g,h,v));return Gt(u,d,b)||y},draw:function(u,d,f,h,v){var p=a(this.pointsTr,d,f,h);e.arrowShapeImpl(this.name)(u,p,h.x,h.y,this.radius*d)},spacing:function(u){return e.getArrowWidth(u.pstyle("width").pfValue,u.pstyle("arrow-scale").value)*this.radius}}),l("triangle-cross",{points:[0,0,.15,-.3,-.15,-.3,0,0],baseCrossLinePts:[-.15,-.4,-.15,-.4,.15,-.4,.15,-.4],crossLinePts:function(u,d){var f=this.baseCrossLinePts.slice(),h=d/u,v=3,p=5;return f[v]=f[v]-h,f[p]=f[p]-h,f},collide:function(u,d,f,h,v,p,g){var m=i(a(this.points,f+2*g,h,v)),y=i(a(this.crossLinePts(f,p),f+2*g,h,v)),b=Gt(u,d,m)||Gt(u,d,y);return b},draw:function(u,d,f,h,v){var p=a(this.points,d,f,h),g=a(this.crossLinePts(d,v),d,f,h);e.arrowShapeImpl(this.name)(u,p,g)}}),l("vee",{points:[-.15,-.3,0,0,.15,-.3,0,-.15],gap:function(u){return o(u)*.525}}),l("circle",{radius:.15,collide:function(u,d,f,h,v,p,g){var m=v,y=Math.pow(m.x-u,2)+Math.pow(m.y-d,2)<=Math.pow((f+2*g)*this.radius,2);return y},draw:function(u,d,f,h,v){e.arrowShapeImpl(this.name)(u,h.x,h.y,this.radius*d)},spacing:function(u){return e.getArrowWidth(u.pstyle("width").pfValue,u.pstyle("arrow-scale").value)*this.radius}}),l("tee",{points:[-.15,0,-.15,-.1,.15,-.1,.15,0],spacing:function(u){return 1},gap:function(u){return 1}}),l("square",{points:[-.15,0,.15,0,.15,-.3,-.15,-.3]}),l("diamond",{points:[-.15,-.15,0,-.3,.15,-.15,0,0],gap:function(u){return u.pstyle("width").pfValue*u.pstyle("arrow-scale").value}}),l("chevron",{points:[0,0,-.15,-.15,-.1,-.2,0,-.1,.1,-.2,.15,-.15],gap:function(u){return .95*u.pstyle("width").pfValue*u.pstyle("arrow-scale").value}})};var ia={};ia.projectIntoViewport=function(t,e){var r=this.cy,n=this.findContainerClientCoords(),a=n[0],i=n[1],o=n[4],l=r.pan(),c=r.zoom(),u=((t-a)/o-l.x)/c,d=((e-i)/o-l.y)/c;return[u,d]},ia.findContainerClientCoords=function(){if(this.containerBB)return this.containerBB;var t=this.container,e=t.getBoundingClientRect(),r=this.cy.window().getComputedStyle(t),n=function(y){return parseFloat(r.getPropertyValue(y))},a={left:n("padding-left"),right:n("padding-right"),top:n("padding-top"),bottom:n("padding-bottom")},i={left:n("border-left-width"),right:n("border-right-width"),top:n("border-top-width"),bottom:n("border-bottom-width")},o=t.clientWidth,l=t.clientHeight,c=a.left+a.right,u=a.top+a.bottom,d=i.left+i.right,f=e.width/(o+d),h=o-c,v=l-u,p=e.left+a.left+i.left,g=e.top+a.top+i.top;return this.containerBB=[p,g,h,v,f]},ia.invalidateContainerClientCoordsCache=function(){this.containerBB=null},ia.findNearestElement=function(t,e,r,n){return this.findNearestElements(t,e,r,n)[0]},ia.findNearestElements=function(t,e,r,n){var a=this,i=this,o=i.getCachedZSortedEles(),l=[],c=i.cy.zoom(),u=i.cy.hasCompoundNodes(),d=(n?24:8)/c,f=(n?8:2)/c,h=(n?8:2)/c,v=1/0,p,g;r&&(o=o.interactive);function m(E,_){if(E.isNode()){if(g)return;g=E,l.push(E)}if(E.isEdge()&&(_==null||_<v))if(p){if(p.pstyle("z-compound-depth").value===E.pstyle("z-compound-depth").value&&p.pstyle("z-compound-depth").value===E.pstyle("z-compound-depth").value){for(var S=0;S<l.length;S++)if(l[S].isEdge()){l[S]=E,p=E,v=_??v;break}}}else l.push(E),p=E,v=_??v}function y(E){var _=E.outerWidth()+2*f,S=E.outerHeight()+2*f,T=_/2,N=S/2,B=E.position(),O=E.pstyle("corner-radius").value==="auto"?"auto":E.pstyle("corner-radius").pfValue,D=E._private.rscratch;if(B.x-T<=t&&t<=B.x+T&&B.y-N<=e&&e<=B.y+N){var R=i.nodeShapes[a.getNodeShape(E)];if(R.checkPoint(t,e,0,_,S,B.x,B.y,O,D))return m(E,0),!0}}function b(E){var _=E._private,S=_.rscratch,T=E.pstyle("width").pfValue,N=E.pstyle("arrow-scale").value,B=T/2+d,O=B*B,D=B*2,A=_.source,q=_.target,R;if(S.edgeType==="segments"||S.edgeType==="straight"||S.edgeType==="haystack"){for(var P=S.allpts,L=0;L+3<P.length;L+=2)if(h5(t,e,P[L],P[L+1],P[L+2],P[L+3],D)&&O>(R=y5(t,e,P[L],P[L+1],P[L+2],P[L+3])))return m(E,R),!0}else if(S.edgeType==="bezier"||S.edgeType==="multibezier"||S.edgeType==="self"||S.edgeType==="compound"){for(var P=S.allpts,L=0;L+5<S.allpts.length;L+=4)if(p5(t,e,P[L],P[L+1],P[L+2],P[L+3],P[L+4],P[L+5],D)&&O>(R=m5(t,e,P[L],P[L+1],P[L+2],P[L+3],P[L+4],P[L+5])))return m(E,R),!0}for(var A=A||_.source,q=q||_.target,U=a.getArrowWidth(T,N),z=[{name:"source",x:S.arrowStartX,y:S.arrowStartY,angle:S.srcArrowAngle},{name:"target",x:S.arrowEndX,y:S.arrowEndY,angle:S.tgtArrowAngle},{name:"mid-source",x:S.midX,y:S.midY,angle:S.midsrcArrowAngle},{name:"mid-target",x:S.midX,y:S.midY,angle:S.midtgtArrowAngle}],L=0;L<z.length;L++){var H=z[L],Q=i.arrowShapes[E.pstyle(H.name+"-arrow-shape").value],F=E.pstyle("width").pfValue;if(Q.roughCollide(t,e,U,H.angle,{x:H.x,y:H.y},F,d)&&Q.collide(t,e,U,H.angle,{x:H.x,y:H.y},F,d))return m(E),!0}u&&l.length>0&&(y(A),y(q))}function w(E,_,S){return gr(E,_,S)}function C(E,_){var S=E._private,T=h,N;_?N=_+"-":N="",E.boundingBox();var B=S.labelBounds[_||"main"],O=E.pstyle(N+"label").value,D=E.pstyle("text-events").strValue==="yes";if(!(!D||!O)){var R=w(S.rscratch,"labelX",_),P=w(S.rscratch,"labelY",_),L=w(S.rscratch,"labelAngle",_),A=E.pstyle(N+"text-margin-x").pfValue,q=E.pstyle(N+"text-margin-y").pfValue,U=B.x1-T-A,z=B.x2+T-A,H=B.y1-T-q,Q=B.y2+T-q;if(L){var F=Math.cos(L),$=Math.sin(L),V=function(ce,ae){return ce=ce-R,ae=ae-P,{x:ce*F-ae*$+R,y:ce*$+ae*F+P}},G=V(U,H),j=V(U,Q),M=V(z,H),W=V(z,Q),Y=[G.x+A,G.y+q,M.x+A,M.y+q,W.x+A,W.y+q,j.x+A,j.y+q];if(Gt(t,e,Y))return m(E),!0}else if($a(B,t,e))return m(E),!0}}for(var x=o.length-1;x>=0;x--){var k=o[x];k.isNode()?y(k)||C(k):b(k)||C(k)||C(k,"source")||C(k,"target")}return l},ia.getAllInBox=function(t,e,r,n){var a=this.getCachedZSortedEles().interactive,i=[],o=Math.min(t,r),l=Math.max(t,r),c=Math.min(e,n),u=Math.max(e,n);t=o,r=l,e=c,n=u;for(var d=Kt({x1:t,y1:e,x2:r,y2:n}),f=0;f<a.length;f++){var h=a[f];if(h.isNode()){var v=h,p=v.boundingBox({includeNodes:!0,includeEdges:!1,includeLabels:!1});zu(d,p)&&!Z0(p,d)&&i.push(v)}else{var g=h,m=g._private,y=m.rscratch;if(y.startX!=null&&y.startY!=null&&!$a(d,y.startX,y.startY)||y.endX!=null&&y.endY!=null&&!$a(d,y.endX,y.endY))continue;if(y.edgeType==="bezier"||y.edgeType==="multibezier"||y.edgeType==="self"||y.edgeType==="compound"||y.edgeType==="segments"||y.edgeType==="haystack"){for(var b=m.rstyle.bezierPts||m.rstyle.linePts||m.rstyle.haystackPts,w=!0,C=0;C<b.length;C++)if(!f5(d,b[C])){w=!1;break}w&&i.push(g)}else(y.edgeType==="haystack"||y.edgeType==="straight")&&i.push(g)}}return i};var Js={};Js.calculateArrowAngles=function(t){var e=t._private.rscratch,r=e.edgeType==="haystack",n=e.edgeType==="bezier",a=e.edgeType==="multibezier",i=e.edgeType==="segments",o=e.edgeType==="compound",l=e.edgeType==="self",c,u,d,f,h,v,y,b;if(r?(d=e.haystackPts[0],f=e.haystackPts[1],h=e.haystackPts[2],v=e.haystackPts[3]):(d=e.arrowStartX,f=e.arrowStartY,h=e.arrowEndX,v=e.arrowEndY),y=e.midX,b=e.midY,i)c=d-e.segpts[0],u=f-e.segpts[1];else if(a||o||l||n){var p=e.allpts,g=gt(p[0],p[2],p[4],.1),m=gt(p[1],p[3],p[5],.1);c=d-g,u=f-m}else c=d-y,u=f-b;e.srcArrowAngle=bs(c,u);var y=e.midX,b=e.midY;if(r&&(y=(d+h)/2,b=(f+v)/2),c=h-d,u=v-f,i){var p=e.allpts;if(p.length/2%2===0){var w=p.length/2,C=w-2;c=p[w]-p[C],u=p[w+1]-p[C+1]}else if(e.isRound)c=e.midVector[1],u=-e.midVector[0];else{var w=p.length/2-1,C=w-2;c=p[w]-p[C],u=p[w+1]-p[C+1]}}else if(a||o||l){var p=e.allpts,x=e.ctrlpts,k,E,_,S;if(x.length/2%2===0){var T=p.length/2-1,N=T+2,B=N+2;k=gt(p[T],p[N],p[B],0),E=gt(p[T+1],p[N+1],p[B+1],0),_=gt(p[T],p[N],p[B],1e-4),S=gt(p[T+1],p[N+1],p[B+1],1e-4)}else{var N=p.length/2-1,T=N-2,B=N+2;k=gt(p[T],p[N],p[B],.4999),E=gt(p[T+1],p[N+1],p[B+1],.4999),_=gt(p[T],p[N],p[B],.5),S=gt(p[T+1],p[N+1],p[B+1],.5)}c=_-k,u=S-E}if(e.midtgtArrowAngle=bs(c,u),e.midDispX=c,e.midDispY=u,c*=-1,u*=-1,i){var p=e.allpts;if(p.length/2%2!==0){if(!e.isRound){var w=p.length/2-1,O=w+2;c=-(p[O]-p[w]),u=-(p[O+1]-p[w+1])}}}if(e.midsrcArrowAngle=bs(c,u),i)c=h-e.segpts[e.segpts.length-2],u=v-e.segpts[e.segpts.length-1];else if(a||o||l||n){var p=e.allpts,D=p.length,g=gt(p[D-6],p[D-4],p[D-2],.9),m=gt(p[D-5],p[D-3],p[D-1],.9);c=h-g,u=v-m}else c=h-y,u=v-b;e.tgtArrowAngle=bs(c,u)},Js.getArrowWidth=Js.getArrowHeight=function(t,e){var r=this.arrowWidthCache=this.arrowWidthCache||{},n=r[t+", "+e];return n||(n=Math.max(Math.pow(t*13.37,.9),29)*e,r[t+", "+e]=n,n)};var gc,mc,Dr={},ir={},B1,D1,oa,Qs,Xr,sa,la,Or,ti,el,O1,P1,yc,bc,A1,R1=function(e,r,n){n.x=r.x-e.x,n.y=r.y-e.y,n.len=Math.sqrt(n.x*n.x+n.y*n.y),n.nx=n.x/n.len,n.ny=n.y/n.len,n.ang=Math.atan2(n.ny,n.nx)},Qz=function(e,r){r.x=e.x*-1,r.y=e.y*-1,r.nx=e.nx*-1,r.ny=e.ny*-1,r.ang=e.ang>0?-(Math.PI-e.ang):Math.PI+e.ang},e3=function(e,r,n,a,i){if(e!==A1?R1(r,e,Dr):Qz(ir,Dr),R1(r,n,ir),B1=Dr.nx*ir.ny-Dr.ny*ir.nx,D1=Dr.nx*ir.nx-Dr.ny*-ir.ny,Xr=Math.asin(Math.max(-1,Math.min(1,B1))),Math.abs(Xr)<1e-6){gc=r.x,mc=r.y,la=ti=0;return}oa=1,Qs=!1,D1<0?Xr<0?Xr=Math.PI+Xr:(Xr=Math.PI-Xr,oa=-1,Qs=!0):Xr>0&&(oa=-1,Qs=!0),r.radius!==void 0?ti=r.radius:ti=a,sa=Xr/2,el=Math.min(Dr.len/2,ir.len/2),i?(Or=Math.abs(Math.cos(sa)*ti/Math.sin(sa)),Or>el?(Or=el,la=Math.abs(Or*Math.sin(sa)/Math.cos(sa))):la=ti):(Or=Math.min(el,ti),la=Math.abs(Or*Math.sin(sa)/Math.cos(sa))),yc=r.x+ir.nx*Or,bc=r.y+ir.ny*Or,gc=yc-ir.ny*la*oa,mc=bc+ir.nx*la*oa,O1=r.x+Dr.nx*Or,P1=r.y+Dr.ny*Or,A1=r};function L1(t,e){e.radius===0?t.lineTo(e.cx,e.cy):t.arc(e.cx,e.cy,e.radius,e.startAngle,e.endAngle,e.counterClockwise)}function wc(t,e,r,n){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return n===0||e.radius===0?{cx:e.x,cy:e.y,radius:0,startX:e.x,startY:e.y,stopX:e.x,stopY:e.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(e3(t,e,r,n,a),{cx:gc,cy:mc,radius:la,startX:O1,startY:P1,stopX:yc,stopY:bc,startAngle:Dr.ang+Math.PI/2*oa,endAngle:ir.ang-Math.PI/2*oa,counterClockwise:Qs})}var Pt={};Pt.findMidptPtsEtc=function(t,e){var r=e.posPts,n=e.intersectionPts,a=e.vectorNormInverse,i,o=t.pstyle("source-endpoint"),l=t.pstyle("target-endpoint"),c=o.units!=null&&l.units!=null,u=function(x,k,E,_){var S=_-k,T=E-x,N=Math.sqrt(T*T+S*S);return{x:-S/N,y:T/N}},d=t.pstyle("edge-distances").value;switch(d){case"node-position":i=r;break;case"intersection":i=n;break;case"endpoints":{if(c){var f=this.manualEndptToPx(t.source()[0],o),h=vr(f,2),v=h[0],p=h[1],g=this.manualEndptToPx(t.target()[0],l),m=vr(g,2),y=m[0],b=m[1],w={x1:v,y1:p,x2:y,y2:b};a=u(v,p,y,b),i=w}else $e("Edge ".concat(t.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),i=n;break}}return{midptPts:i,vectorNormInverse:a}},Pt.findHaystackPoints=function(t){for(var e=0;e<t.length;e++){var r=t[e],n=r._private,a=n.rscratch;if(!a.haystack){var i=Math.random()*2*Math.PI;a.source={x:Math.cos(i),y:Math.sin(i)},i=Math.random()*2*Math.PI,a.target={x:Math.cos(i),y:Math.sin(i)}}var o=n.source,l=n.target,c=o.position(),u=l.position(),d=o.width(),f=l.width(),h=o.height(),v=l.height(),p=r.pstyle("haystack-radius").value,g=p/2;a.haystackPts=a.allpts=[a.source.x*d*g+c.x,a.source.y*h*g+c.y,a.target.x*f*g+u.x,a.target.y*v*g+u.y],a.midX=(a.allpts[0]+a.allpts[2])/2,a.midY=(a.allpts[1]+a.allpts[3])/2,a.edgeType="haystack",a.haystack=!0,this.storeEdgeProjections(r),this.calculateArrowAngles(r),this.recalculateEdgeLabelProjections(r),this.calculateLabelAngles(r)}},Pt.findSegmentsPoints=function(t,e){var r=t._private.rscratch,n=t.pstyle("segment-weights"),a=t.pstyle("segment-distances"),i=t.pstyle("segment-radii"),o=t.pstyle("radius-type"),l=Math.min(n.pfValue.length,a.pfValue.length),c=i.pfValue[i.pfValue.length-1],u=o.pfValue[o.pfValue.length-1];r.edgeType="segments",r.segpts=[],r.radii=[],r.isArcRadius=[];for(var d=0;d<l;d++){var f=n.pfValue[d],h=a.pfValue[d],v=1-f,p=f,g=this.findMidptPtsEtc(t,e),m=g.midptPts,y=g.vectorNormInverse,b={x:m.x1*v+m.x2*p,y:m.y1*v+m.y2*p};r.segpts.push(b.x+y.x*h,b.y+y.y*h),r.radii.push(i.pfValue[d]!==void 0?i.pfValue[d]:c),r.isArcRadius.push((o.pfValue[d]!==void 0?o.pfValue[d]:u)==="arc-radius")}},Pt.findLoopPoints=function(t,e,r,n){var a=t._private.rscratch,i=e.dirCounts,o=e.srcPos,l=t.pstyle("control-point-distances"),c=l?l.pfValue[0]:void 0,u=t.pstyle("loop-direction").pfValue,d=t.pstyle("loop-sweep").pfValue,f=t.pstyle("control-point-step-size").pfValue;a.edgeType="self";var h=r,v=f;n&&(h=0,v=c);var p=u-Math.PI/2,g=p-d/2,m=p+d/2,y=u+"_"+d;h=i[y]===void 0?i[y]=0:++i[y],a.ctrlpts=[o.x+Math.cos(g)*1.4*v*(h/3+1),o.y+Math.sin(g)*1.4*v*(h/3+1),o.x+Math.cos(m)*1.4*v*(h/3+1),o.y+Math.sin(m)*1.4*v*(h/3+1)]},Pt.findCompoundLoopPoints=function(t,e,r,n){var a=t._private.rscratch;a.edgeType="compound";var i=e.srcPos,o=e.tgtPos,l=e.srcW,c=e.srcH,u=e.tgtW,d=e.tgtH,f=t.pstyle("control-point-step-size").pfValue,h=t.pstyle("control-point-distances"),v=h?h.pfValue[0]:void 0,p=r,g=f;n&&(p=0,g=v);var m=50,y={x:i.x-l/2,y:i.y-c/2},b={x:o.x-u/2,y:o.y-d/2},w={x:Math.min(y.x,b.x),y:Math.min(y.y,b.y)},C=.5,x=Math.max(C,Math.log(l*.01)),k=Math.max(C,Math.log(u*.01));a.ctrlpts=[w.x,w.y-(1+Math.pow(m,1.12)/100)*g*(p/3+1)*x,w.x-(1+Math.pow(m,1.12)/100)*g*(p/3+1)*k,w.y]},Pt.findStraightEdgePoints=function(t){t._private.rscratch.edgeType="straight"},Pt.findBezierPoints=function(t,e,r,n,a){var i=t._private.rscratch,o=t.pstyle("control-point-step-size").pfValue,l=t.pstyle("control-point-distances"),c=t.pstyle("control-point-weights"),u=l&&c?Math.min(l.value.length,c.value.length):1,d=l?l.pfValue[0]:void 0,f=c.value[0],h=n;i.edgeType=h?"multibezier":"bezier",i.ctrlpts=[];for(var v=0;v<u;v++){var p=(.5-e.eles.length/2+r)*o*(a?-1:1),g=void 0,m=j0(p);h&&(d=l?l.pfValue[v]:o,f=c.value[v]),n?g=d:g=d!==void 0?m*d:void 0;var y=g!==void 0?g:p,b=1-f,w=f,C=this.findMidptPtsEtc(t,e),x=C.midptPts,k=C.vectorNormInverse,E={x:x.x1*b+x.x2*w,y:x.y1*b+x.y2*w};i.ctrlpts.push(E.x+k.x*y,E.y+k.y*y)}},Pt.findTaxiPoints=function(t,e){var r=t._private.rscratch;r.edgeType="segments";var n="vertical",a="horizontal",i="leftward",o="rightward",l="downward",c="upward",u="auto",d=e.posPts,f=e.srcW,h=e.srcH,v=e.tgtW,p=e.tgtH,g=t.pstyle("edge-distances").value,m=g!=="node-position",y=t.pstyle("taxi-direction").value,b=y,w=t.pstyle("taxi-turn"),C=w.units==="%",x=w.pfValue,k=x<0,E=t.pstyle("taxi-turn-min-distance").pfValue,_=m?(f+v)/2:0,S=m?(h+p)/2:0,T=d.x2-d.x1,N=d.y2-d.y1,B=function(me,be){return me>0?Math.max(me-be,0):Math.min(me+be,0)},O=B(T,_),D=B(N,S),R=!1;b===u?y=Math.abs(O)>Math.abs(D)?a:n:b===c||b===l?(y=n,R=!0):(b===i||b===o)&&(y=a,R=!0);var P=y===n,L=P?D:O,A=P?N:T,q=j0(A),U=!1;!(R&&(C||k))&&(b===l&&A<0||b===c&&A>0||b===i&&A>0||b===o&&A<0)&&(q*=-1,L=q*Math.abs(L),U=!0);var z;if(C){var H=x<0?1+x:x;z=H*L}else{var Q=x<0?L:0;z=Q+x*q}var F=function(me){return Math.abs(me)<E||Math.abs(me)>=Math.abs(L)},$=F(z),V=F(Math.abs(L)-Math.abs(z)),G=$||V;if(G&&!U)if(P){var j=Math.abs(A)<=h/2,M=Math.abs(T)<=v/2;if(j){var W=(d.x1+d.x2)/2,Y=d.y1,se=d.y2;r.segpts=[W,Y,W,se]}else if(M){var ce=(d.y1+d.y2)/2,ae=d.x1,ne=d.x2;r.segpts=[ae,ce,ne,ce]}else r.segpts=[d.x1,d.y2]}else{var ue=Math.abs(A)<=f/2,ie=Math.abs(N)<=p/2;if(ue){var fe=(d.y1+d.y2)/2,pe=d.x1,De=d.x2;r.segpts=[pe,fe,De,fe]}else if(ie){var Ie=(d.x1+d.x2)/2,we=d.y1,xe=d.y2;r.segpts=[Ie,we,Ie,xe]}else r.segpts=[d.x2,d.y1]}else if(P){var re=d.y1+z+(m?h/2*q:0),I=d.x1,K=d.x2;r.segpts=[I,re,K,re]}else{var te=d.x1+z+(m?f/2*q:0),Z=d.y1,X=d.y2;r.segpts=[te,Z,te,X]}if(r.isRound){var le=t.pstyle("taxi-radius").value,ee=t.pstyle("radius-type").value[0]==="arc-radius";r.radii=new Array(r.segpts.length/2).fill(le),r.isArcRadius=new Array(r.segpts.length/2).fill(ee)}},Pt.tryToCorrectInvalidPoints=function(t,e){var r=t._private.rscratch;if(r.edgeType==="bezier"){var n=e.srcPos,a=e.tgtPos,i=e.srcW,o=e.srcH,l=e.tgtW,c=e.tgtH,u=e.srcShape,d=e.tgtShape,f=e.srcCornerRadius,h=e.tgtCornerRadius,v=e.srcRs,p=e.tgtRs,g=!de(r.startX)||!de(r.startY),m=!de(r.arrowStartX)||!de(r.arrowStartY),y=!de(r.endX)||!de(r.endY),b=!de(r.arrowEndX)||!de(r.arrowEndY),w=3,C=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth,x=w*C,k=Jn({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),E=k<x,_=Jn({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.endX,y:r.endY}),S=_<x,T=!1;if(g||m||E){T=!0;var N={x:r.ctrlpts[0]-n.x,y:r.ctrlpts[1]-n.y},B=Math.sqrt(N.x*N.x+N.y*N.y),O={x:N.x/B,y:N.y/B},D=Math.max(i,o),R={x:r.ctrlpts[0]+O.x*2*D,y:r.ctrlpts[1]+O.y*2*D},P=u.intersectLine(n.x,n.y,i,o,R.x,R.y,0,f,v);E?(r.ctrlpts[0]=r.ctrlpts[0]+O.x*(x-k),r.ctrlpts[1]=r.ctrlpts[1]+O.y*(x-k)):(r.ctrlpts[0]=P[0]+O.x*x,r.ctrlpts[1]=P[1]+O.y*x)}if(y||b||S){T=!0;var L={x:r.ctrlpts[0]-a.x,y:r.ctrlpts[1]-a.y},A=Math.sqrt(L.x*L.x+L.y*L.y),q={x:L.x/A,y:L.y/A},U=Math.max(i,o),z={x:r.ctrlpts[0]+q.x*2*U,y:r.ctrlpts[1]+q.y*2*U},H=d.intersectLine(a.x,a.y,l,c,z.x,z.y,0,h,p);S?(r.ctrlpts[0]=r.ctrlpts[0]+q.x*(x-_),r.ctrlpts[1]=r.ctrlpts[1]+q.y*(x-_)):(r.ctrlpts[0]=H[0]+q.x*x,r.ctrlpts[1]=H[1]+q.y*x)}T&&this.findEndpoints(t)}},Pt.storeAllpts=function(t){var e=t._private.rscratch;if(e.edgeType==="multibezier"||e.edgeType==="bezier"||e.edgeType==="self"||e.edgeType==="compound"){e.allpts=[],e.allpts.push(e.startX,e.startY);for(var r=0;r+1<e.ctrlpts.length;r+=2)e.allpts.push(e.ctrlpts[r],e.ctrlpts[r+1]),r+3<e.ctrlpts.length&&e.allpts.push((e.ctrlpts[r]+e.ctrlpts[r+2])/2,(e.ctrlpts[r+1]+e.ctrlpts[r+3])/2);e.allpts.push(e.endX,e.endY);var n,a;e.ctrlpts.length/2%2===0?(n=e.allpts.length/2-1,e.midX=e.allpts[n],e.midY=e.allpts[n+1]):(n=e.allpts.length/2-3,a=.5,e.midX=gt(e.allpts[n],e.allpts[n+2],e.allpts[n+4],a),e.midY=gt(e.allpts[n+1],e.allpts[n+3],e.allpts[n+5],a))}else if(e.edgeType==="straight")e.allpts=[e.startX,e.startY,e.endX,e.endY],e.midX=(e.startX+e.endX+e.arrowStartX+e.arrowEndX)/4,e.midY=(e.startY+e.endY+e.arrowStartY+e.arrowEndY)/4;else if(e.edgeType==="segments"){if(e.allpts=[],e.allpts.push(e.startX,e.startY),e.allpts.push.apply(e.allpts,e.segpts),e.allpts.push(e.endX,e.endY),e.isRound){e.roundCorners=[];for(var i=2;i+3<e.allpts.length;i+=2){var o=e.radii[i/2-1],l=e.isArcRadius[i/2-1];e.roundCorners.push(wc({x:e.allpts[i-2],y:e.allpts[i-1]},{x:e.allpts[i],y:e.allpts[i+1],radius:o},{x:e.allpts[i+2],y:e.allpts[i+3]},o,l))}}if(e.segpts.length%4===0){var c=e.segpts.length/2,u=c-2;e.midX=(e.segpts[u]+e.segpts[c])/2,e.midY=(e.segpts[u+1]+e.segpts[c+1])/2}else{var d=e.segpts.length/2-1;if(!e.isRound)e.midX=e.segpts[d],e.midY=e.segpts[d+1];else{var f={x:e.segpts[d],y:e.segpts[d+1]},h=e.roundCorners[d/2],v=[f.x-h.cx,f.y-h.cy],p=h.radius/Math.sqrt(Math.pow(v[0],2)+Math.pow(v[1],2));v=v.map(function(g){return g*p}),e.midX=h.cx+v[0],e.midY=h.cy+v[1],e.midVector=v}}}},Pt.checkForInvalidEdgeWarning=function(t){var e=t[0]._private.rscratch;e.nodesOverlap||de(e.startX)&&de(e.startY)&&de(e.endX)&&de(e.endY)?e.loggedErr=!1:e.loggedErr||(e.loggedErr=!0,$e("Edge `"+t.id()+"` has invalid endpoints and so it is impossible to draw. Adjust your edge style (e.g. control points) accordingly or use an alternative edge type. This is expected behaviour when the source node and the target node overlap."))},Pt.findEdgeControlPoints=function(t){var e=this;if(!(!t||t.length===0)){for(var r=this,n=r.cy,a=n.hasCompoundNodes(),i={map:new Ir,get:function(E){var _=this.map.get(E[0]);return _!=null?_.get(E[1]):null},set:function(E,_){var S=this.map.get(E[0]);S==null&&(S=new Ir,this.map.set(E[0],S)),S.set(E[1],_)}},o=[],l=[],c=0;c<t.length;c++){var u=t[c],d=u._private,f=u.pstyle("curve-style").value;if(!(u.removed()||!u.takesUpSpace())){if(f==="haystack"){l.push(u);continue}var h=f==="unbundled-bezier"||f.endsWith("segments")||f==="straight"||f==="straight-triangle"||f.endsWith("taxi"),v=f==="unbundled-bezier"||f==="bezier",p=d.source,g=d.target,m=p.poolIndex(),y=g.poolIndex(),b=[m,y].sort(),w=i.get(b);w==null&&(w={eles:[]},i.set(b,w),o.push(b)),w.eles.push(u),h&&(w.hasUnbundled=!0),v&&(w.hasBezier=!0)}}for(var C=function(E){var _=o[E],S=i.get(_),T=void 0;if(!S.hasUnbundled){var N=S.eles[0].parallelEdges().filter(function(te){return te.isBundledBezier()});$u(S.eles),N.forEach(function(te){return S.eles.push(te)}),S.eles.sort(function(te,Z){return te.poolIndex()-Z.poolIndex()})}var B=S.eles[0],O=B.source(),D=B.target();if(O.poolIndex()>D.poolIndex()){var R=O;O=D,D=R}var P=S.srcPos=O.position(),L=S.tgtPos=D.position(),A=S.srcW=O.outerWidth(),q=S.srcH=O.outerHeight(),U=S.tgtW=D.outerWidth(),z=S.tgtH=D.outerHeight(),H=S.srcShape=r.nodeShapes[e.getNodeShape(O)],Q=S.tgtShape=r.nodeShapes[e.getNodeShape(D)],F=S.srcCornerRadius=O.pstyle("corner-radius").value==="auto"?"auto":O.pstyle("corner-radius").pfValue,$=S.tgtCornerRadius=D.pstyle("corner-radius").value==="auto"?"auto":D.pstyle("corner-radius").pfValue,V=S.tgtRs=D._private.rscratch,G=S.srcRs=O._private.rscratch;S.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var j=0;j<S.eles.length;j++){var M=S.eles[j],W=M[0]._private.rscratch,Y=M.pstyle("curve-style").value,se=Y==="unbundled-bezier"||Y.endsWith("segments")||Y.endsWith("taxi"),ce=!O.same(M.source());if(!S.calculatedIntersection&&O!==D&&(S.hasBezier||S.hasUnbundled)){S.calculatedIntersection=!0;var ae=H.intersectLine(P.x,P.y,A,q,L.x,L.y,0,F,G),ne=S.srcIntn=ae,ue=Q.intersectLine(L.x,L.y,U,z,P.x,P.y,0,$,V),ie=S.tgtIntn=ue,fe=S.intersectionPts={x1:ae[0],x2:ue[0],y1:ae[1],y2:ue[1]},pe=S.posPts={x1:P.x,x2:L.x,y1:P.y,y2:L.y},De=ue[1]-ae[1],Ie=ue[0]-ae[0],we=Math.sqrt(Ie*Ie+De*De),xe=S.vector={x:Ie,y:De},re=S.vectorNorm={x:xe.x/we,y:xe.y/we},I={x:-re.y,y:re.x};S.nodesOverlap=!de(we)||Q.checkPoint(ae[0],ae[1],0,U,z,L.x,L.y,$,V)||H.checkPoint(ue[0],ue[1],0,A,q,P.x,P.y,F,G),S.vectorNormInverse=I,T={nodesOverlap:S.nodesOverlap,dirCounts:S.dirCounts,calculatedIntersection:!0,hasBezier:S.hasBezier,hasUnbundled:S.hasUnbundled,eles:S.eles,srcPos:L,tgtPos:P,srcW:U,srcH:z,tgtW:A,tgtH:q,srcIntn:ie,tgtIntn:ne,srcShape:Q,tgtShape:H,posPts:{x1:pe.x2,y1:pe.y2,x2:pe.x1,y2:pe.y1},intersectionPts:{x1:fe.x2,y1:fe.y2,x2:fe.x1,y2:fe.y1},vector:{x:-xe.x,y:-xe.y},vectorNorm:{x:-re.x,y:-re.y},vectorNormInverse:{x:-I.x,y:-I.y}}}var K=ce?T:S;W.nodesOverlap=K.nodesOverlap,W.srcIntn=K.srcIntn,W.tgtIntn=K.tgtIntn,W.isRound=Y.startsWith("round"),a&&(O.isParent()||O.isChild()||D.isParent()||D.isChild())&&(O.parents().anySame(D)||D.parents().anySame(O)||O.same(D)&&O.isParent())?e.findCompoundLoopPoints(M,K,j,se):O===D?e.findLoopPoints(M,K,j,se):Y.endsWith("segments")?e.findSegmentsPoints(M,K):Y.endsWith("taxi")?e.findTaxiPoints(M,K):Y==="straight"||!se&&S.eles.length%2===1&&j===Math.floor(S.eles.length/2)?e.findStraightEdgePoints(M):e.findBezierPoints(M,K,j,se,ce),e.findEndpoints(M),e.tryToCorrectInvalidPoints(M,K),e.checkForInvalidEdgeWarning(M),e.storeAllpts(M),e.storeEdgeProjections(M),e.calculateArrowAngles(M),e.recalculateEdgeLabelProjections(M),e.calculateLabelAngles(M)}},x=0;x<o.length;x++)C(x);this.findHaystackPoints(l)}};function M1(t){var e=[];if(t!=null){for(var r=0;r<t.length;r+=2){var n=t[r],a=t[r+1];e.push({x:n,y:a})}return e}}Pt.getSegmentPoints=function(t){var e=t[0]._private.rscratch,r=e.edgeType;if(r==="segments")return this.recalculateRenderedStyle(t),M1(e.segpts)},Pt.getControlPoints=function(t){var e=t[0]._private.rscratch,r=e.edgeType;if(r==="bezier"||r==="multibezier"||r==="self"||r==="compound")return this.recalculateRenderedStyle(t),M1(e.ctrlpts)},Pt.getEdgeMidpoint=function(t){var e=t[0]._private.rscratch;return this.recalculateRenderedStyle(t),{x:e.midX,y:e.midY}};var vo={};vo.manualEndptToPx=function(t,e){var r=this,n=t.position(),a=t.outerWidth(),i=t.outerHeight(),o=t._private.rscratch;if(e.value.length===2){var l=[e.pfValue[0],e.pfValue[1]];return e.units[0]==="%"&&(l[0]=l[0]*a),e.units[1]==="%"&&(l[1]=l[1]*i),l[0]+=n.x,l[1]+=n.y,l}else{var c=e.pfValue[0];c=-Math.PI/2+c;var u=2*Math.max(a,i),d=[n.x+Math.cos(c)*u,n.y+Math.sin(c)*u];return r.nodeShapes[this.getNodeShape(t)].intersectLine(n.x,n.y,a,i,d[0],d[1],0,t.pstyle("corner-radius").value==="auto"?"auto":t.pstyle("corner-radius").pfValue,o)}},vo.findEndpoints=function(t){var e=this,r,n=t.source()[0],a=t.target()[0],i=n.position(),o=a.position(),l=t.pstyle("target-arrow-shape").value,c=t.pstyle("source-arrow-shape").value,u=t.pstyle("target-distance-from-node").pfValue,d=t.pstyle("source-distance-from-node").pfValue,f=n._private.rscratch,h=a._private.rscratch,v=t.pstyle("curve-style").value,p=t._private.rscratch,g=p.edgeType,m=v==="taxi",y=g==="self"||g==="compound",b=g==="bezier"||g==="multibezier"||y,w=g!=="bezier",C=g==="straight"||g==="segments",x=g==="segments",k=b||w||C,E=y||m,_=t.pstyle("source-endpoint"),S=E?"outside-to-node":_.value,T=n.pstyle("corner-radius").value==="auto"?"auto":n.pstyle("corner-radius").pfValue,N=t.pstyle("target-endpoint"),B=E?"outside-to-node":N.value,O=a.pstyle("corner-radius").value==="auto"?"auto":a.pstyle("corner-radius").pfValue;p.srcManEndpt=_,p.tgtManEndpt=N;var D,R,P,L;if(b){var A=[p.ctrlpts[0],p.ctrlpts[1]],q=w?[p.ctrlpts[p.ctrlpts.length-2],p.ctrlpts[p.ctrlpts.length-1]]:A;D=q,R=A}else if(C){var U=x?p.segpts.slice(0,2):[o.x,o.y],z=x?p.segpts.slice(p.segpts.length-2):[i.x,i.y];D=z,R=U}if(B==="inside-to-node")r=[o.x,o.y];else if(N.units)r=this.manualEndptToPx(a,N);else if(B==="outside-to-line")r=p.tgtIntn;else if(B==="outside-to-node"||B==="outside-to-node-or-label"?P=D:(B==="outside-to-line"||B==="outside-to-line-or-label")&&(P=[i.x,i.y]),r=e.nodeShapes[this.getNodeShape(a)].intersectLine(o.x,o.y,a.outerWidth(),a.outerHeight(),P[0],P[1],0,O,h),B==="outside-to-node-or-label"||B==="outside-to-line-or-label"){var H=a._private.rscratch,Q=H.labelWidth,F=H.labelHeight,$=H.labelX,V=H.labelY,G=Q/2,j=F/2,M=a.pstyle("text-valign").value;M==="top"?V-=j:M==="bottom"&&(V+=j);var W=a.pstyle("text-halign").value;W==="left"?$-=G:W==="right"&&($+=G);var Y=eo(P[0],P[1],[$-G,V-j,$+G,V-j,$+G,V+j,$-G,V+j],o.x,o.y);if(Y.length>0){var se=i,ce=Qn(se,Ma(r)),ae=Qn(se,Ma(Y)),ne=ce;if(ae<ce&&(r=Y,ne=ae),Y.length>2){var ue=Qn(se,{x:Y[2],y:Y[3]});ue<ne&&(r=[Y[2],Y[3]])}}}var ie=ks(r,D,e.arrowShapes[l].spacing(t)+u),fe=ks(r,D,e.arrowShapes[l].gap(t)+u);if(p.endX=fe[0],p.endY=fe[1],p.arrowEndX=ie[0],p.arrowEndY=ie[1],S==="inside-to-node")r=[i.x,i.y];else if(_.units)r=this.manualEndptToPx(n,_);else if(S==="outside-to-line")r=p.srcIntn;else if(S==="outside-to-node"||S==="outside-to-node-or-label"?L=R:(S==="outside-to-line"||S==="outside-to-line-or-label")&&(L=[o.x,o.y]),r=e.nodeShapes[this.getNodeShape(n)].intersectLine(i.x,i.y,n.outerWidth(),n.outerHeight(),L[0],L[1],0,T,f),S==="outside-to-node-or-label"||S==="outside-to-line-or-label"){var pe=n._private.rscratch,De=pe.labelWidth,Ie=pe.labelHeight,we=pe.labelX,xe=pe.labelY,re=De/2,I=Ie/2,K=n.pstyle("text-valign").value;K==="top"?xe-=I:K==="bottom"&&(xe+=I);var te=n.pstyle("text-halign").value;te==="left"?we-=re:te==="right"&&(we+=re);var Z=eo(L[0],L[1],[we-re,xe-I,we+re,xe-I,we+re,xe+I,we-re,xe+I],i.x,i.y);if(Z.length>0){var X=o,le=Qn(X,Ma(r)),ee=Qn(X,Ma(Z)),oe=le;if(ee<le&&(r=[Z[0],Z[1]],oe=ee),Z.length>2){var me=Qn(X,{x:Z[2],y:Z[3]});me<oe&&(r=[Z[2],Z[3]])}}}var be=ks(r,R,e.arrowShapes[c].spacing(t)+d),ye=ks(r,R,e.arrowShapes[c].gap(t)+d);p.startX=ye[0],p.startY=ye[1],p.arrowStartX=be[0],p.arrowStartY=be[1],k&&(!de(p.startX)||!de(p.startY)||!de(p.endX)||!de(p.endY)?p.badLine=!0:p.badLine=!1)},vo.getSourceEndpoint=function(t){var e=t[0]._private.rscratch;switch(this.recalculateRenderedStyle(t),e.edgeType){case"haystack":return{x:e.haystackPts[0],y:e.haystackPts[1]};default:return{x:e.arrowStartX,y:e.arrowStartY}}},vo.getTargetEndpoint=function(t){var e=t[0]._private.rscratch;switch(this.recalculateRenderedStyle(t),e.edgeType){case"haystack":return{x:e.haystackPts[2],y:e.haystackPts[3]};default:return{x:e.arrowEndX,y:e.arrowEndY}}};var Cc={};function t3(t,e,r){for(var n=function(u,d,f,h){return gt(u,d,f,h)},a=e._private,i=a.rstyle.bezierPts,o=0;o<t.bezierProjPcts.length;o++){var l=t.bezierProjPcts[o];i.push({x:n(r[0],r[2],r[4],l),y:n(r[1],r[3],r[5],l)})}}Cc.storeEdgeProjections=function(t){var e=t._private,r=e.rscratch,n=r.edgeType;if(e.rstyle.bezierPts=null,e.rstyle.linePts=null,e.rstyle.haystackPts=null,n==="multibezier"||n==="bezier"||n==="self"||n==="compound"){e.rstyle.bezierPts=[];for(var a=0;a+5<r.allpts.length;a+=4)t3(this,t,r.allpts.slice(a,a+6))}else if(n==="segments")for(var i=e.rstyle.linePts=[],a=0;a+1<r.allpts.length;a+=2)i.push({x:r.allpts[a],y:r.allpts[a+1]});else if(n==="haystack"){var o=r.haystackPts;e.rstyle.haystackPts=[{x:o[0],y:o[1]},{x:o[2],y:o[3]}]}e.rstyle.arrowWidth=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth},Cc.recalculateEdgeProjections=function(t){this.findEdgeControlPoints(t)};var Pr={};Pr.recalculateNodeLabelProjection=function(t){var e=t.pstyle("label").strValue;if(!mn(e)){var r,n,a=t._private,i=t.width(),o=t.height(),l=t.padding(),c=t.position(),u=t.pstyle("text-halign").strValue,d=t.pstyle("text-valign").strValue,f=a.rscratch,h=a.rstyle;switch(u){case"left":r=c.x-i/2-l;break;case"right":r=c.x+i/2+l;break;default:r=c.x}switch(d){case"top":n=c.y-o/2-l;break;case"bottom":n=c.y+o/2+l;break;default:n=c.y}f.labelX=r,f.labelY=n,h.labelX=r,h.labelY=n,this.calculateLabelAngles(t),this.applyLabelDimensions(t)}};var F1=function(e,r){var n=Math.atan(r/e);return e===0&&n<0&&(n=n*-1),n},$1=function(e,r){var n=r.x-e.x,a=r.y-e.y;return F1(n,a)},r3=function(e,r,n,a){var i=Ji(0,a-.001,1),o=Ji(0,a+.001,1),l=Fa(e,r,n,i),c=Fa(e,r,n,o);return $1(l,c)};Pr.recalculateEdgeLabelProjections=function(t){var e,r=t._private,n=r.rscratch,a=this,i={mid:t.pstyle("label").strValue,source:t.pstyle("source-label").strValue,target:t.pstyle("target-label").strValue};if(i.mid||i.source||i.target){e={x:n.midX,y:n.midY};var o=function(f,h,v){wn(r.rscratch,f,h,v),wn(r.rstyle,f,h,v)};o("labelX",null,e.x),o("labelY",null,e.y);var l=F1(n.midDispX,n.midDispY);o("labelAutoAngle",null,l);var c=function d(){if(d.cache)return d.cache;for(var f=[],h=0;h+5<n.allpts.length;h+=4){var v={x:n.allpts[h],y:n.allpts[h+1]},p={x:n.allpts[h+2],y:n.allpts[h+3]},g={x:n.allpts[h+4],y:n.allpts[h+5]};f.push({p0:v,p1:p,p2:g,startDist:0,length:0,segments:[]})}var m=r.rstyle.bezierPts,y=a.bezierProjPcts.length;function b(E,_,S,T,N){var B=Jn(_,S),O=E.segments[E.segments.length-1],D={p0:_,p1:S,t0:T,t1:N,startDist:O?O.startDist+O.length:0,length:B};E.segments.push(D),E.length+=B}for(var w=0;w<f.length;w++){var C=f[w],x=f[w-1];x&&(C.startDist=x.startDist+x.length),b(C,C.p0,m[w*y],0,a.bezierProjPcts[0]);for(var k=0;k<y-1;k++)b(C,m[w*y+k],m[w*y+k+1],a.bezierProjPcts[k],a.bezierProjPcts[k+1]);b(C,m[w*y+y-1],C.p2,a.bezierProjPcts[y-1],1)}return d.cache=f},u=function(f){var h,v=f==="source";if(i[f]){var p=t.pstyle(f+"-text-offset").pfValue;switch(n.edgeType){case"self":case"compound":case"bezier":case"multibezier":{for(var g=c(),m,y=0,b=0,w=0;w<g.length;w++){for(var C=g[v?w:g.length-1-w],x=0;x<C.segments.length;x++){var k=C.segments[v?x:C.segments.length-1-x],E=w===g.length-1&&x===C.segments.length-1;if(y=b,b+=k.length,b>=p||E){m={cp:C,segment:k};break}}if(m)break}var _=m.cp,S=m.segment,T=(p-y)/S.length,N=S.t1-S.t0,B=v?S.t0+N*T:S.t1-N*T;B=Ji(0,B,1),e=Fa(_.p0,_.p1,_.p2,B),h=r3(_.p0,_.p1,_.p2,B);break}case"straight":case"segments":case"haystack":{for(var O=0,D,R,P,L,A=n.allpts.length,q=0;q+3<A&&(v?(P={x:n.allpts[q],y:n.allpts[q+1]},L={x:n.allpts[q+2],y:n.allpts[q+3]}):(P={x:n.allpts[A-2-q],y:n.allpts[A-1-q]},L={x:n.allpts[A-4-q],y:n.allpts[A-3-q]}),D=Jn(P,L),R=O,O+=D,!(O>=p));q+=2);var U=p-R,z=U/D;z=Ji(0,z,1),e=s5(P,L,z),h=$1(P,L);break}}o("labelX",f,e.x),o("labelY",f,e.y),o("labelAutoAngle",f,h)}};u("source"),u("target"),this.applyLabelDimensions(t)}},Pr.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))},Pr.applyPrefixedLabelDimensions=function(t,e){var r=t._private,n=this.getLabelText(t,e),a=this.calculateLabelDimensions(t,n),i=t.pstyle("line-height").pfValue,o=t.pstyle("text-wrap").strValue,l=gr(r.rscratch,"labelWrapCachedLines",e)||[],c=o!=="wrap"?1:Math.max(l.length,1),u=a.height/c,d=u*i,f=a.width,h=a.height+(c-1)*(i-1)*u;wn(r.rstyle,"labelWidth",e,f),wn(r.rscratch,"labelWidth",e,f),wn(r.rstyle,"labelHeight",e,h),wn(r.rscratch,"labelHeight",e,h),wn(r.rscratch,"labelLineHeight",e,d)},Pr.getLabelText=function(t,e){var r=t._private,n=e?e+"-":"",a=t.pstyle(n+"label").strValue,i=t.pstyle("text-transform").value,o=function(Q,F){return F?(wn(r.rscratch,Q,e,F),F):gr(r.rscratch,Q,e)};if(!a)return"";i=="none"||(i=="uppercase"?a=a.toUpperCase():i=="lowercase"&&(a=a.toLowerCase()));var l=t.pstyle("text-wrap").value;if(l==="wrap"){var c=o("labelKey");if(c!=null&&o("labelWrapKey")===c)return o("labelWrapCachedText");for(var u="​",d=a.split(`
42
42
  `),f=t.pstyle("text-max-width").pfValue,h=t.pstyle("text-overflow-wrap").value,v=h==="anywhere",p=[],g=/[\s\u200b]+|$/g,m=0;m<d.length;m++){var y=d[m],b=this.calculateLabelDimensions(t,y),w=b.width;if(v){var C=y.split("").join(u);y=C}if(w>f){var x=y.matchAll(g),k="",E=0,_=w0(x),S;try{for(_.s();!(S=_.n()).done;){var T=S.value,N=T[0],B=y.substring(E,T.index);E=T.index+N.length;var O=k.length===0?B:k+B+N,D=this.calculateLabelDimensions(t,O),R=D.width;R<=f?k+=B+N:(k&&p.push(k),k=B+N)}}catch(H){_.e(H)}finally{_.f()}k.match(/^[\s\u200b]+$/)||p.push(k)}else p.push(y)}o("labelWrapCachedLines",p),a=o("labelWrapCachedText",p.join(`
43
43
  `)),o("labelWrapKey",c)}else if(l==="ellipsis"){var P=t.pstyle("text-max-width").pfValue,L="",A="…",q=!1;if(this.calculateLabelDimensions(t,a).width<P)return a;for(var U=0;U<a.length;U++){var z=this.calculateLabelDimensions(t,L+a[U]+A).width;if(z>P)break;L+=a[U],U===a.length-1&&(q=!0)}return q||(L+=A),L}return a},Pr.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,r=t.pstyle("text-halign").strValue;if(e==="auto")if(t.isNode())switch(r){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return e},Pr.calculateLabelDimensions=function(t,e){var r=this,n=r.cy.window(),a=n.document,i=Xn(e,t._private.labelDimsKey),o=r.labelDimCache||(r.labelDimCache=[]),l=o[i];if(l!=null)return l;var c=0,u=t.pstyle("font-style").strValue,d=t.pstyle("font-size").pfValue,f=t.pstyle("font-family").strValue,h=t.pstyle("font-weight").strValue,v=this.labelCalcCanvas,p=this.labelCalcCanvasContext;if(!v){v=this.labelCalcCanvas=a.createElement("canvas"),p=this.labelCalcCanvasContext=v.getContext("2d");var g=v.style;g.position="absolute",g.left="-9999px",g.top="-9999px",g.zIndex="-1",g.visibility="hidden",g.pointerEvents="none"}p.font="".concat(u," ").concat(h," ").concat(d,"px ").concat(f);for(var m=0,y=0,b=e.split(`
44
- `),w=0;w<b.length;w++){var C=b[w],x=p.measureText(C),k=Math.ceil(x.width),E=d;m=Math.max(k,m),y+=E}return m+=c,y+=c,o[i]={width:m,height:y}},Pr.calculateLabelAngle=function(t,e){var r=t._private,n=r.rscratch,a=t.isEdge(),i=e?e+"-":"",o=t.pstyle(i+"text-rotation"),l=o.strValue;return l==="none"?0:a&&l==="autorotate"?n.labelAutoAngle:l==="autorotate"?0:o.pfValue},Pr.calculateLabelAngles=function(t){var e=this,r=t.isEdge(),n=t._private,a=n.rscratch;a.labelAngle=e.calculateLabelAngle(t),r&&(a.sourceLabelAngle=e.calculateLabelAngle(t,"source"),a.targetLabelAngle=e.calculateLabelAngle(t,"target"))};var V1={},q1=28,z1=!1;V1.getNodeShape=function(t){var e=this,r=t.pstyle("shape").value;if(r==="cutrectangle"&&(t.width()<q1||t.height()<q1))return z1||($e("The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead"),z1=!0),"rectangle";if(t.isParent())return r==="rectangle"||r==="roundrectangle"||r==="round-rectangle"||r==="cutrectangle"||r==="cut-rectangle"||r==="barrel"?r:"rectangle";if(r==="polygon"){var n=t.pstyle("shape-polygon-points").value;return e.nodeShapes.makePolygon(n).name}return r};var tl={};tl.registerCalculationListeners=function(){var t=this.cy,e=t.collection(),r=this,n=function(o){var l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(o),l)for(var c=0;c<o.length;c++){var u=o[c],d=u._private,f=d.rstyle;f.clean=!1,f.cleanConnected=!1}};r.binder(t).on("bounds.* dirty.*",function(o){var l=o.target;n(l)}).on("style.* background.*",function(o){var l=o.target;n(l,!1)});var a=function(o){if(o){var l=r.onUpdateEleCalcsFns;e.cleanStyle();for(var c=0;c<e.length;c++){var u=e[c],d=u._private.rstyle;u.isNode()&&!d.cleanConnected&&(n(u.connectedEdges()),d.cleanConnected=!0)}if(l)for(var f=0;f<l.length;f++){var h=l[f];h(o,e)}r.recalculateRenderedStyle(e),e=t.collection()}};r.flushRenderedStyleQueue=function(){a(!0)},r.beforeRender(a,r.beforeRenderPriorities.eleCalcs)},tl.onUpdateEleCalcs=function(t){var e=this.onUpdateEleCalcsFns=this.onUpdateEleCalcsFns||[];e.push(t)},tl.recalculateRenderedStyle=function(t,e){var r=function(C){return C._private.rstyle.cleanConnected},n=[],a=[];if(!this.destroyed){e===void 0&&(e=!0);for(var i=0;i<t.length;i++){var o=t[i],l=o._private,c=l.rstyle;o.isEdge()&&(!r(o.source())||!r(o.target()))&&(c.clean=!1),!(e&&c.clean||o.removed())&&o.pstyle("display").value!=="none"&&(l.group==="nodes"?a.push(o):n.push(o),c.clean=!0)}for(var u=0;u<a.length;u++){var d=a[u],f=d._private,h=f.rstyle,v=d.position();this.recalculateNodeLabelProjection(d),h.nodeX=v.x,h.nodeY=v.y,h.nodeW=d.pstyle("width").pfValue,h.nodeH=d.pstyle("height").pfValue}this.recalculateEdgeProjections(n);for(var p=0;p<n.length;p++){var g=n[p],m=g._private,y=m.rstyle,b=m.rscratch;y.srcX=b.arrowStartX,y.srcY=b.arrowStartY,y.tgtX=b.arrowEndX,y.tgtY=b.arrowEndY,y.midX=b.midX,y.midY=b.midY,y.labelAngle=b.labelAngle,y.sourceLabelAngle=b.sourceLabelAngle,y.targetLabelAngle=b.targetLabelAngle}}};var rl={};rl.updateCachedGrabbedEles=function(){var t=this.cachedZSortedEles;if(t){t.drag=[],t.nondrag=[];for(var e=[],r=0;r<t.length;r++){var n=t[r],a=n._private.rscratch;n.grabbed()&&!n.isParent()?e.push(n):a.inDragLayer?t.drag.push(n):t.nondrag.push(n)}for(var r=0;r<e.length;r++){var n=e[r];t.drag.push(n)}}},rl.invalidateCachedZSortedEles=function(){this.cachedZSortedEles=null},rl.getCachedZSortedEles=function(t){if(t||!this.cachedZSortedEles){var e=this.cy.mutableElements().toArray();e.sort(a1),e.interactive=e.filter(function(r){return r.interactive()}),this.cachedZSortedEles=e,this.updateCachedGrabbedEles()}else e=this.cachedZSortedEles;return e};var H1={};[ia,Js,Pt,vo,Cc,Pr,V1,tl,rl].forEach(function(t){Se(H1,t)});var K1={};K1.getCachedImage=function(t,e,r){var n=this,a=n.imageCache=n.imageCache||{},i=a[t];if(i)return i.image.complete||i.image.addEventListener("load",r),i.image;i=a[t]=a[t]||{};var o=i.image=new Image;o.addEventListener("load",r),o.addEventListener("error",function(){o.error=!0});var l="data:",c=t.substring(0,l.length).toLowerCase()===l;return c||(e=e==="null"?null:e,o.crossOrigin=e),o.src=t,o};var ri={};ri.registerBinding=function(t,e,r,n){var a=Array.prototype.slice.apply(arguments,[1]),i=this.binder(t);return i.on.apply(i,a)},ri.binder=function(t){var e=this,r=e.cy.window(),n=t===r||t===r.document||t===r.document.body||TM(t);if(e.supportsPassiveEvents==null){var a=!1;try{var i=Object.defineProperty({},"passive",{get:function(){return a=!0,!0}});r.addEventListener("test",null,i)}catch{}e.supportsPassiveEvents=a}var o=function(c,u,d){var f=Array.prototype.slice.call(arguments);return n&&e.supportsPassiveEvents&&(f[2]={capture:d??!1,passive:!1,once:!1}),e.bindings.push({target:t,args:f}),(t.addEventListener||t.on).apply(t,f),this};return{on:o,addEventListener:o,addListener:o,bind:o}},ri.nodeIsDraggable=function(t){return t&&t.isNode()&&!t.locked()&&t.grabbable()},ri.nodeIsGrabbable=function(t){return this.nodeIsDraggable(t)&&t.interactive()},ri.load=function(){var t=this,e=t.cy.window(),r=function(I){return I.selected()},n=function(I,K,te,Z){I==null&&(I=t.cy);for(var X=0;X<K.length;X++){var le=K[X];I.emit({originalEvent:te,type:le,position:Z})}},a=function(I){return I.shiftKey||I.metaKey||I.ctrlKey},i=function(I,K){var te=!0;if(t.cy.hasCompoundNodes()&&I&&I.pannable())for(var Z=0;K&&Z<K.length;Z++){var I=K[Z];if(I.isNode()&&I.isParent()&&!I.pannable()){te=!1;break}}else te=!0;return te},o=function(I){I[0]._private.grabbed=!0},l=function(I){I[0]._private.grabbed=!1},c=function(I){I[0]._private.rscratch.inDragLayer=!0},u=function(I){I[0]._private.rscratch.inDragLayer=!1},d=function(I){I[0]._private.rscratch.isGrabTarget=!0},f=function(I){I[0]._private.rscratch.isGrabTarget=!1},h=function(I,K){var te=K.addToList,Z=te.has(I);!Z&&I.grabbable()&&!I.locked()&&(te.merge(I),o(I))},v=function(I,K){if(I.cy().hasCompoundNodes()&&!(K.inDragLayer==null&&K.addToList==null)){var te=I.descendants();K.inDragLayer&&(te.forEach(c),te.connectedEdges().forEach(c)),K.addToList&&h(te,K)}},p=function(I,K){K=K||{};var te=I.cy().hasCompoundNodes();K.inDragLayer&&(I.forEach(c),I.neighborhood().stdFilter(function(Z){return!te||Z.isEdge()}).forEach(c)),K.addToList&&I.forEach(function(Z){h(Z,K)}),v(I,K),y(I,{inDragLayer:K.inDragLayer}),t.updateCachedGrabbedEles()},g=p,m=function(I){I&&(t.getCachedZSortedEles().forEach(function(K){l(K),u(K),f(K)}),t.updateCachedGrabbedEles())},y=function(I,K){if(!(K.inDragLayer==null&&K.addToList==null)&&I.cy().hasCompoundNodes()){var te=I.ancestors().orphans();if(!te.same(I)){var Z=te.descendants().spawnSelf().merge(te).unmerge(I).unmerge(I.descendants()),X=Z.connectedEdges();K.inDragLayer&&(X.forEach(c),Z.forEach(c)),K.addToList&&Z.forEach(function(le){h(le,K)})}}},b=function(){document.activeElement!=null&&document.activeElement.blur!=null&&document.activeElement.blur()},w=typeof MutationObserver<"u",C=typeof ResizeObserver<"u";w?(t.removeObserver=new MutationObserver(function(re){for(var I=0;I<re.length;I++){var K=re[I],te=K.removedNodes;if(te)for(var Z=0;Z<te.length;Z++){var X=te[Z];if(X===t.container){t.destroy();break}}}}),t.container.parentNode&&t.removeObserver.observe(t.container.parentNode,{childList:!0})):t.registerBinding(t.container,"DOMNodeRemoved",function(re){t.destroy()});var x=hs(function(){t.cy.resize()},100);w&&(t.styleObserver=new MutationObserver(x),t.styleObserver.observe(t.container,{attributes:!0})),t.registerBinding(e,"resize",x),C&&(t.resizeObserver=new ResizeObserver(x),t.resizeObserver.observe(t.container));var k=function(I,K){for(;I!=null;)K(I),I=I.parentNode},E=function(){t.invalidateContainerClientCoordsCache()};k(t.container,function(re){t.registerBinding(re,"transitionend",E),t.registerBinding(re,"animationend",E),t.registerBinding(re,"scroll",E)}),t.registerBinding(t.container,"contextmenu",function(re){re.preventDefault()});var _=function(){return t.selection[4]!==0},S=function(I){for(var K=t.findContainerClientCoords(),te=K[0],Z=K[1],X=K[2],le=K[3],ee=I.touches?I.touches:[I],oe=!1,me=0;me<ee.length;me++){var be=ee[me];if(te<=be.clientX&&be.clientX<=te+X&&Z<=be.clientY&&be.clientY<=Z+le){oe=!0;break}}if(!oe)return!1;for(var ye=t.container,_e=I.target,ge=_e.parentNode,Ce=!1;ge;){if(ge===ye){Ce=!0;break}ge=ge.parentNode}return!!Ce};t.registerBinding(t.container,"mousedown",function(I){if(S(I)&&!(t.hoverData.which===1&&I.which!==1)){I.preventDefault(),b(),t.hoverData.capture=!0,t.hoverData.which=I.which;var K=t.cy,te=[I.clientX,I.clientY],Z=t.projectIntoViewport(te[0],te[1]),X=t.selection,le=t.findNearestElements(Z[0],Z[1],!0,!1),ee=le[0],oe=t.dragData.possibleDragElements;t.hoverData.mdownPos=Z,t.hoverData.mdownGPos=te;var me=function(){t.hoverData.tapholdCancelled=!1,clearTimeout(t.hoverData.tapholdTimeout),t.hoverData.tapholdTimeout=setTimeout(function(){if(!t.hoverData.tapholdCancelled){var je=t.hoverData.down;je?je.emit({originalEvent:I,type:"taphold",position:{x:Z[0],y:Z[1]}}):K.emit({originalEvent:I,type:"taphold",position:{x:Z[0],y:Z[1]}})}},t.tapholdDuration)};if(I.which==3){t.hoverData.cxtStarted=!0;var be={originalEvent:I,type:"cxttapstart",position:{x:Z[0],y:Z[1]}};ee?(ee.activate(),ee.emit(be),t.hoverData.down=ee):K.emit(be),t.hoverData.downTime=new Date().getTime(),t.hoverData.cxtDragged=!1}else if(I.which==1){ee&&ee.activate();{if(ee!=null&&t.nodeIsGrabbable(ee)){var ye=function(je){return{originalEvent:I,type:je,position:{x:Z[0],y:Z[1]}}},_e=function(je){je.emit(ye("grab"))};if(d(ee),!ee.selected())oe=t.dragData.possibleDragElements=K.collection(),g(ee,{addToList:oe}),ee.emit(ye("grabon")).emit(ye("grab"));else{oe=t.dragData.possibleDragElements=K.collection();var ge=K.$(function(Ce){return Ce.isNode()&&Ce.selected()&&t.nodeIsGrabbable(Ce)});p(ge,{addToList:oe}),ee.emit(ye("grabon")),ge.forEach(_e)}t.redrawHint("eles",!0),t.redrawHint("drag",!0)}t.hoverData.down=ee,t.hoverData.downs=le,t.hoverData.downTime=new Date().getTime()}n(ee,["mousedown","tapstart","vmousedown"],I,{x:Z[0],y:Z[1]}),ee==null?(X[4]=1,t.data.bgActivePosistion={x:Z[0],y:Z[1]},t.redrawHint("select",!0),t.redraw()):ee.pannable()&&(X[4]=1),me()}X[0]=X[2]=Z[0],X[1]=X[3]=Z[1]}},!1),t.registerBinding(e,"mousemove",function(I){var K=t.hoverData.capture;if(!(!K&&!S(I))){var te=!1,Z=t.cy,X=Z.zoom(),le=[I.clientX,I.clientY],ee=t.projectIntoViewport(le[0],le[1]),oe=t.hoverData.mdownPos,me=t.hoverData.mdownGPos,be=t.selection,ye=null;!t.hoverData.draggingEles&&!t.hoverData.dragging&&!t.hoverData.selecting&&(ye=t.findNearestElement(ee[0],ee[1],!0,!1));var _e=t.hoverData.last,ge=t.hoverData.down,Ce=[ee[0]-be[2],ee[1]-be[3]],je=t.dragData.possibleDragElements,qe;if(me){var it=le[0]-me[0],ot=it*it,et=le[1]-me[1],At=et*et,pt=ot+At;t.hoverData.isOverThresholdDrag=qe=pt>=t.desktopTapThreshold2}var mt=a(I);qe&&(t.hoverData.tapholdCancelled=!0);var Jt=function(){var J=t.hoverData.dragDelta=t.hoverData.dragDelta||[];J.length===0?(J.push(Ce[0]),J.push(Ce[1])):(J[0]+=Ce[0],J[1]+=Ce[1])};te=!0,n(ye,["mousemove","vmousemove","tapdrag"],I,{x:ee[0],y:ee[1]});var Rt=function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||Z.emit({originalEvent:I,type:"boxstart",position:{x:ee[0],y:ee[1]}}),be[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()};if(t.hoverData.which===3){if(qe){var Lt={originalEvent:I,type:"cxtdrag",position:{x:ee[0],y:ee[1]}};ge?ge.emit(Lt):Z.emit(Lt),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||ye!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit({originalEvent:I,type:"cxtdragout",position:{x:ee[0],y:ee[1]}}),t.hoverData.cxtOver=ye,ye&&ye.emit({originalEvent:I,type:"cxtdragover",position:{x:ee[0],y:ee[1]}}))}}else if(t.hoverData.dragging){if(te=!0,Z.panningEnabled()&&Z.userPanningEnabled()){var lr;if(t.hoverData.justStartedPan){var Cr=t.hoverData.mdownPos;lr={x:(ee[0]-Cr[0])*X,y:(ee[1]-Cr[1])*X},t.hoverData.justStartedPan=!1}else lr={x:Ce[0]*X,y:Ce[1]*X};Z.panBy(lr),Z.emit("dragpan"),t.hoverData.dragged=!0}ee=t.projectIntoViewport(I.clientX,I.clientY)}else if(be[4]==1&&(ge==null||ge.pannable())){if(qe){if(!t.hoverData.dragging&&Z.boxSelectionEnabled()&&(mt||!Z.panningEnabled()||!Z.userPanningEnabled()))Rt();else if(!t.hoverData.selecting&&Z.panningEnabled()&&Z.userPanningEnabled()){var jt=i(ge,t.hoverData.downs);jt&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,be[4]=0,t.data.bgActivePosistion=Ma(oe),t.redrawHint("select",!0),t.redraw())}ge&&ge.pannable()&&ge.active()&&ge.unactivate()}}else{if(ge&&ge.pannable()&&ge.active()&&ge.unactivate(),(!ge||!ge.grabbed())&&ye!=_e&&(_e&&n(_e,["mouseout","tapdragout"],I,{x:ee[0],y:ee[1]}),ye&&n(ye,["mouseover","tapdragover"],I,{x:ee[0],y:ee[1]}),t.hoverData.last=ye),ge)if(qe){if(Z.boxSelectionEnabled()&&mt)ge&&ge.grabbed()&&(m(je),ge.emit("freeon"),je.emit("free"),t.dragData.didDrag&&(ge.emit("dragfreeon"),je.emit("dragfree"))),Rt();else if(ge&&ge.grabbed()&&t.nodeIsDraggable(ge)){var tt=!t.dragData.didDrag;tt&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||p(je,{inDragLayer:!0});var st={x:0,y:0};if(de(Ce[0])&&de(Ce[1])&&(st.x+=Ce[0],st.y+=Ce[1],tt)){var yt=t.hoverData.dragDelta;yt&&de(yt[0])&&de(yt[1])&&(st.x+=yt[0],st.y+=yt[1])}t.hoverData.draggingEles=!0,je.silentShift(st).emit("position drag"),t.redrawHint("drag",!0),t.redraw()}}else Jt();te=!0}if(be[2]=ee[0],be[3]=ee[1],te)return I.stopPropagation&&I.stopPropagation(),I.preventDefault&&I.preventDefault(),!1}},!1);var T,N,B;t.registerBinding(e,"mouseup",function(I){if(!(t.hoverData.which===1&&I.which!==1&&t.hoverData.capture)){var K=t.hoverData.capture;if(K){t.hoverData.capture=!1;var te=t.cy,Z=t.projectIntoViewport(I.clientX,I.clientY),X=t.selection,le=t.findNearestElement(Z[0],Z[1],!0,!1),ee=t.dragData.possibleDragElements,oe=t.hoverData.down,me=a(I);if(t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,oe&&oe.unactivate(),t.hoverData.which===3){var be={originalEvent:I,type:"cxttapend",position:{x:Z[0],y:Z[1]}};if(oe?oe.emit(be):te.emit(be),!t.hoverData.cxtDragged){var ye={originalEvent:I,type:"cxttap",position:{x:Z[0],y:Z[1]}};oe?oe.emit(ye):te.emit(ye)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(t.hoverData.which===1){if(n(le,["mouseup","tapend","vmouseup"],I,{x:Z[0],y:Z[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(n(oe,["click","tap","vclick"],I,{x:Z[0],y:Z[1]}),N=!1,I.timeStamp-B<=te.multiClickDebounceTime()?(T&&clearTimeout(T),N=!0,B=null,n(oe,["dblclick","dbltap","vdblclick"],I,{x:Z[0],y:Z[1]})):(T=setTimeout(function(){N||n(oe,["oneclick","onetap","voneclick"],I,{x:Z[0],y:Z[1]})},te.multiClickDebounceTime()),B=I.timeStamp)),oe==null&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!a(I)&&(te.$(r).unselect(["tapunselect"]),ee.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=ee=te.collection()),le==oe&&!t.dragData.didDrag&&!t.hoverData.selecting&&le!=null&&le._private.selectable&&(t.hoverData.dragging||(te.selectionType()==="additive"||me?le.selected()?le.unselect(["tapunselect"]):le.select(["tapselect"]):me||(te.$(r).unmerge(le).unselect(["tapunselect"]),le.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var _e=te.collection(t.getAllInBox(X[0],X[1],X[2],X[3]));t.redrawHint("select",!0),_e.length>0&&t.redrawHint("eles",!0),te.emit({type:"boxend",originalEvent:I,position:{x:Z[0],y:Z[1]}});var ge=function(qe){return qe.selectable()&&!qe.selected()};te.selectionType()==="additive"||me||te.$(r).unmerge(_e).unselect(),_e.emit("box").stdFilter(ge).select().emit("boxselect"),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!X[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var Ce=oe&&oe.grabbed();m(ee),Ce&&(oe.emit("freeon"),ee.emit("free"),t.dragData.didDrag&&(oe.emit("dragfreeon"),ee.emit("dragfree")))}}X[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null,t.hoverData.which=null}}},!1);var O=function(I){if(!t.scrollingPage){var K=t.cy,te=K.zoom(),Z=K.pan(),X=t.projectIntoViewport(I.clientX,I.clientY),le=[X[0]*te+Z.x,X[1]*te+Z.y];if(t.hoverData.draggingEles||t.hoverData.dragging||t.hoverData.cxtStarted||_()){I.preventDefault();return}if(K.panningEnabled()&&K.userPanningEnabled()&&K.zoomingEnabled()&&K.userZoomingEnabled()){I.preventDefault(),t.data.wheelZooming=!0,clearTimeout(t.data.wheelTimeout),t.data.wheelTimeout=setTimeout(function(){t.data.wheelZooming=!1,t.redrawHint("eles",!0),t.redraw()},150);var ee;I.deltaY!=null?ee=I.deltaY/-250:I.wheelDeltaY!=null?ee=I.wheelDeltaY/1e3:ee=I.wheelDelta/1e3,ee=ee*t.wheelSensitivity;var oe=I.deltaMode===1;oe&&(ee*=33);var me=K.zoom()*Math.pow(10,ee);I.type==="gesturechange"&&(me=t.gestureStartZoom*I.scale),K.zoom({level:me,renderedPosition:{x:le[0],y:le[1]}}),K.emit(I.type==="gesturechange"?"pinchzoom":"scrollzoom")}}};t.registerBinding(t.container,"wheel",O,!0),t.registerBinding(e,"scroll",function(I){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},!0),t.registerBinding(t.container,"gesturestart",function(I){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||I.preventDefault()},!0),t.registerBinding(t.container,"gesturechange",function(re){t.hasTouchStarted||O(re)},!0),t.registerBinding(t.container,"mouseout",function(I){var K=t.projectIntoViewport(I.clientX,I.clientY);t.cy.emit({originalEvent:I,type:"mouseout",position:{x:K[0],y:K[1]}})},!1),t.registerBinding(t.container,"mouseover",function(I){var K=t.projectIntoViewport(I.clientX,I.clientY);t.cy.emit({originalEvent:I,type:"mouseover",position:{x:K[0],y:K[1]}})},!1);var D,R,P,L,A,q,U,z,H,Q,F,$,V,G=function(I,K,te,Z){return Math.sqrt((te-I)*(te-I)+(Z-K)*(Z-K))},j=function(I,K,te,Z){return(te-I)*(te-I)+(Z-K)*(Z-K)},M;t.registerBinding(t.container,"touchstart",M=function(I){if(t.hasTouchStarted=!0,!!S(I)){b(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var K=t.cy,te=t.touchData.now,Z=t.touchData.earlier;if(I.touches[0]){var X=t.projectIntoViewport(I.touches[0].clientX,I.touches[0].clientY);te[0]=X[0],te[1]=X[1]}if(I.touches[1]){var X=t.projectIntoViewport(I.touches[1].clientX,I.touches[1].clientY);te[2]=X[0],te[3]=X[1]}if(I.touches[2]){var X=t.projectIntoViewport(I.touches[2].clientX,I.touches[2].clientY);te[4]=X[0],te[5]=X[1]}if(I.touches[1]){t.touchData.singleTouchMoved=!0,m(t.dragData.touchDragEles);var le=t.findContainerClientCoords();H=le[0],Q=le[1],F=le[2],$=le[3],D=I.touches[0].clientX-H,R=I.touches[0].clientY-Q,P=I.touches[1].clientX-H,L=I.touches[1].clientY-Q,V=0<=D&&D<=F&&0<=P&&P<=F&&0<=R&&R<=$&&0<=L&&L<=$;var ee=K.pan(),oe=K.zoom();A=G(D,R,P,L),q=j(D,R,P,L),U=[(D+P)/2,(R+L)/2],z=[(U[0]-ee.x)/oe,(U[1]-ee.y)/oe];var me=200,be=me*me;if(q<be&&!I.touches[2]){var ye=t.findNearestElement(te[0],te[1],!0,!0),_e=t.findNearestElement(te[2],te[3],!0,!0);ye&&ye.isNode()?(ye.activate().emit({originalEvent:I,type:"cxttapstart",position:{x:te[0],y:te[1]}}),t.touchData.start=ye):_e&&_e.isNode()?(_e.activate().emit({originalEvent:I,type:"cxttapstart",position:{x:te[0],y:te[1]}}),t.touchData.start=_e):K.emit({originalEvent:I,type:"cxttapstart",position:{x:te[0],y:te[1]}}),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!0,t.touchData.cxtDragged=!1,t.data.bgActivePosistion=void 0,t.redraw();return}}if(I.touches[2])K.boxSelectionEnabled()&&I.preventDefault();else if(!I.touches[1]){if(I.touches[0]){var ge=t.findNearestElements(te[0],te[1],!0,!0),Ce=ge[0];if(Ce!=null&&(Ce.activate(),t.touchData.start=Ce,t.touchData.starts=ge,t.nodeIsGrabbable(Ce))){var je=t.dragData.touchDragEles=K.collection(),qe=null;t.redrawHint("eles",!0),t.redrawHint("drag",!0),Ce.selected()?(qe=K.$(function(pt){return pt.selected()&&t.nodeIsGrabbable(pt)}),p(qe,{addToList:je})):g(Ce,{addToList:je}),d(Ce);var it=function(mt){return{originalEvent:I,type:mt,position:{x:te[0],y:te[1]}}};Ce.emit(it("grabon")),qe?qe.forEach(function(pt){pt.emit(it("grab"))}):Ce.emit(it("grab"))}n(Ce,["touchstart","tapstart","vmousedown"],I,{x:te[0],y:te[1]}),Ce==null&&(t.data.bgActivePosistion={x:X[0],y:X[1]},t.redrawHint("select",!0),t.redraw()),t.touchData.singleTouchMoved=!1,t.touchData.singleTouchStartTime=+new Date,clearTimeout(t.touchData.tapholdTimeout),t.touchData.tapholdTimeout=setTimeout(function(){t.touchData.singleTouchMoved===!1&&!t.pinching&&!t.touchData.selecting&&n(t.touchData.start,["taphold"],I,{x:te[0],y:te[1]})},t.tapholdDuration)}}if(I.touches.length>=1){for(var ot=t.touchData.startPosition=[null,null,null,null,null,null],et=0;et<te.length;et++)ot[et]=Z[et]=te[et];var At=I.touches[0];t.touchData.startGPosition=[At.clientX,At.clientY]}}},!1);var W;t.registerBinding(e,"touchmove",W=function(I){var K=t.touchData.capture;if(!(!K&&!S(I))){var te=t.selection,Z=t.cy,X=t.touchData.now,le=t.touchData.earlier,ee=Z.zoom();if(I.touches[0]){var oe=t.projectIntoViewport(I.touches[0].clientX,I.touches[0].clientY);X[0]=oe[0],X[1]=oe[1]}if(I.touches[1]){var oe=t.projectIntoViewport(I.touches[1].clientX,I.touches[1].clientY);X[2]=oe[0],X[3]=oe[1]}if(I.touches[2]){var oe=t.projectIntoViewport(I.touches[2].clientX,I.touches[2].clientY);X[4]=oe[0],X[5]=oe[1]}var me=t.touchData.startGPosition,be;if(K&&I.touches[0]&&me){for(var ye=[],_e=0;_e<X.length;_e++)ye[_e]=X[_e]-le[_e];var ge=I.touches[0].clientX-me[0],Ce=ge*ge,je=I.touches[0].clientY-me[1],qe=je*je,it=Ce+qe;be=it>=t.touchTapThreshold2}if(K&&t.touchData.cxt){I.preventDefault();var ot=I.touches[0].clientX-H,et=I.touches[0].clientY-Q,At=I.touches[1].clientX-H,pt=I.touches[1].clientY-Q,mt=j(ot,et,At,pt),Jt=mt/q,Rt=150,Lt=Rt*Rt,lr=1.5,Cr=lr*lr;if(Jt>=Cr||mt>=Lt){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var jt={originalEvent:I,type:"cxttapend",position:{x:X[0],y:X[1]}};t.touchData.start?(t.touchData.start.unactivate().emit(jt),t.touchData.start=null):Z.emit(jt)}}if(K&&t.touchData.cxt){var jt={originalEvent:I,type:"cxtdrag",position:{x:X[0],y:X[1]}};t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(jt):Z.emit(jt),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var tt=t.findNearestElement(X[0],X[1],!0,!0);(!t.touchData.cxtOver||tt!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit({originalEvent:I,type:"cxtdragout",position:{x:X[0],y:X[1]}}),t.touchData.cxtOver=tt,tt&&tt.emit({originalEvent:I,type:"cxtdragover",position:{x:X[0],y:X[1]}}))}else if(K&&I.touches[2]&&Z.boxSelectionEnabled())I.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||Z.emit({originalEvent:I,type:"boxstart",position:{x:X[0],y:X[1]}}),t.touchData.selecting=!0,t.touchData.didSelect=!0,te[4]=1,!te||te.length===0||te[0]===void 0?(te[0]=(X[0]+X[2]+X[4])/3,te[1]=(X[1]+X[3]+X[5])/3,te[2]=(X[0]+X[2]+X[4])/3+1,te[3]=(X[1]+X[3]+X[5])/3+1):(te[2]=(X[0]+X[2]+X[4])/3,te[3]=(X[1]+X[3]+X[5])/3),t.redrawHint("select",!0),t.redraw();else if(K&&I.touches[1]&&!t.touchData.didSelect&&Z.zoomingEnabled()&&Z.panningEnabled()&&Z.userZoomingEnabled()&&Z.userPanningEnabled()){I.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var st=t.dragData.touchDragEles;if(st){t.redrawHint("drag",!0);for(var yt=0;yt<st.length;yt++){var Pn=st[yt]._private;Pn.grabbed=!1,Pn.rscratch.inDragLayer=!1}}var J=t.touchData.start,ot=I.touches[0].clientX-H,et=I.touches[0].clientY-Q,At=I.touches[1].clientX-H,pt=I.touches[1].clientY-Q,he=G(ot,et,At,pt),Pe=he/A;if(V){var He=ot-D,Mr=et-R,An=At-P,fi=pt-L,nn=(He+An)/2,ur=(Mr+fi)/2,Rn=Z.zoom(),Sg=Rn*Pe,kl=Z.pan(),D_=z[0]*Rn+kl.x,O_=z[1]*Rn+kl.y,rG={x:-Sg/Rn*(D_-kl.x-nn)+D_,y:-Sg/Rn*(O_-kl.y-ur)+O_};if(J&&J.active()){var st=t.dragData.touchDragEles;m(st),t.redrawHint("drag",!0),t.redrawHint("eles",!0),J.unactivate().emit("freeon"),st.emit("free"),t.dragData.didDrag&&(J.emit("dragfreeon"),st.emit("dragfree"))}Z.viewport({zoom:Sg,pan:rG,cancelOnFailedZoom:!0}),Z.emit("pinchzoom"),A=he,D=ot,R=et,P=At,L=pt,t.pinching=!0}if(I.touches[0]){var oe=t.projectIntoViewport(I.touches[0].clientX,I.touches[0].clientY);X[0]=oe[0],X[1]=oe[1]}if(I.touches[1]){var oe=t.projectIntoViewport(I.touches[1].clientX,I.touches[1].clientY);X[2]=oe[0],X[3]=oe[1]}if(I.touches[2]){var oe=t.projectIntoViewport(I.touches[2].clientX,I.touches[2].clientY);X[4]=oe[0],X[5]=oe[1]}}else if(I.touches[0]&&!t.touchData.didSelect){var Er=t.touchData.start,_g=t.touchData.last,tt;if(!t.hoverData.draggingEles&&!t.swipePanning&&(tt=t.findNearestElement(X[0],X[1],!0,!0)),K&&Er!=null&&I.preventDefault(),K&&Er!=null&&t.nodeIsDraggable(Er))if(be){var st=t.dragData.touchDragEles,P_=!t.dragData.didDrag;P_&&p(st,{inDragLayer:!0}),t.dragData.didDrag=!0;var No={x:0,y:0};if(de(ye[0])&&de(ye[1])&&(No.x+=ye[0],No.y+=ye[1],P_)){t.redrawHint("eles",!0);var xr=t.touchData.dragDelta;xr&&de(xr[0])&&de(xr[1])&&(No.x+=xr[0],No.y+=xr[1])}t.hoverData.draggingEles=!0,st.silentShift(No).emit("position drag"),t.redrawHint("drag",!0),t.touchData.startPosition[0]==le[0]&&t.touchData.startPosition[1]==le[1]&&t.redrawHint("eles",!0),t.redraw()}else{var xr=t.touchData.dragDelta=t.touchData.dragDelta||[];xr.length===0?(xr.push(ye[0]),xr.push(ye[1])):(xr[0]+=ye[0],xr[1]+=ye[1])}if(n(Er||tt,["touchmove","tapdrag","vmousemove"],I,{x:X[0],y:X[1]}),(!Er||!Er.grabbed())&&tt!=_g&&(_g&&_g.emit({originalEvent:I,type:"tapdragout",position:{x:X[0],y:X[1]}}),tt&&tt.emit({originalEvent:I,type:"tapdragover",position:{x:X[0],y:X[1]}})),t.touchData.last=tt,K)for(var yt=0;yt<X.length;yt++)X[yt]&&t.touchData.startPosition[yt]&&be&&(t.touchData.singleTouchMoved=!0);if(K&&(Er==null||Er.pannable())&&Z.panningEnabled()&&Z.userPanningEnabled()){var nG=i(Er,t.touchData.starts);nG&&(I.preventDefault(),t.data.bgActivePosistion||(t.data.bgActivePosistion=Ma(t.touchData.startPosition)),t.swipePanning?(Z.panBy({x:ye[0]*ee,y:ye[1]*ee}),Z.emit("dragpan")):be&&(t.swipePanning=!0,Z.panBy({x:ge*ee,y:je*ee}),Z.emit("dragpan"),Er&&(Er.unactivate(),t.redrawHint("select",!0),t.touchData.start=null)));var oe=t.projectIntoViewport(I.touches[0].clientX,I.touches[0].clientY);X[0]=oe[0],X[1]=oe[1]}}for(var _e=0;_e<X.length;_e++)le[_e]=X[_e];K&&I.touches.length>0&&!t.hoverData.draggingEles&&!t.swipePanning&&t.data.bgActivePosistion!=null&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},!1);var Y;t.registerBinding(e,"touchcancel",Y=function(I){var K=t.touchData.start;t.touchData.capture=!1,K&&K.unactivate()});var se,ce,ae,ne;if(t.registerBinding(e,"touchend",se=function(I){var K=t.touchData.start,te=t.touchData.capture;if(te)I.touches.length===0&&(t.touchData.capture=!1),I.preventDefault();else return;var Z=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var X=t.cy,le=X.zoom(),ee=t.touchData.now,oe=t.touchData.earlier;if(I.touches[0]){var me=t.projectIntoViewport(I.touches[0].clientX,I.touches[0].clientY);ee[0]=me[0],ee[1]=me[1]}if(I.touches[1]){var me=t.projectIntoViewport(I.touches[1].clientX,I.touches[1].clientY);ee[2]=me[0],ee[3]=me[1]}if(I.touches[2]){var me=t.projectIntoViewport(I.touches[2].clientX,I.touches[2].clientY);ee[4]=me[0],ee[5]=me[1]}K&&K.unactivate();var be;if(t.touchData.cxt){if(be={originalEvent:I,type:"cxttapend",position:{x:ee[0],y:ee[1]}},K?K.emit(be):X.emit(be),!t.touchData.cxtDragged){var ye={originalEvent:I,type:"cxttap",position:{x:ee[0],y:ee[1]}};K?K.emit(ye):X.emit(ye)}t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,t.redraw();return}if(!I.touches[2]&&X.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var _e=X.collection(t.getAllInBox(Z[0],Z[1],Z[2],Z[3]));Z[0]=void 0,Z[1]=void 0,Z[2]=void 0,Z[3]=void 0,Z[4]=0,t.redrawHint("select",!0),X.emit({type:"boxend",originalEvent:I,position:{x:ee[0],y:ee[1]}});var ge=function(Lt){return Lt.selectable()&&!Lt.selected()};_e.emit("box").stdFilter(ge).select().emit("boxselect"),_e.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(K!=null&&K.unactivate(),I.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!I.touches[1]){if(!I.touches[0]){if(!I.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Ce=t.dragData.touchDragEles;if(K!=null){var je=K._private.grabbed;m(Ce),t.redrawHint("drag",!0),t.redrawHint("eles",!0),je&&(K.emit("freeon"),Ce.emit("free"),t.dragData.didDrag&&(K.emit("dragfreeon"),Ce.emit("dragfree"))),n(K,["touchend","tapend","vmouseup","tapdragout"],I,{x:ee[0],y:ee[1]}),K.unactivate(),t.touchData.start=null}else{var qe=t.findNearestElement(ee[0],ee[1],!0,!0);n(qe,["touchend","tapend","vmouseup","tapdragout"],I,{x:ee[0],y:ee[1]})}var it=t.touchData.startPosition[0]-ee[0],ot=it*it,et=t.touchData.startPosition[1]-ee[1],At=et*et,pt=ot+At,mt=pt*le*le;t.touchData.singleTouchMoved||(K||X.$(":selected").unselect(["tapunselect"]),n(K,["tap","vclick"],I,{x:ee[0],y:ee[1]}),ce=!1,I.timeStamp-ne<=X.multiClickDebounceTime()?(ae&&clearTimeout(ae),ce=!0,ne=null,n(K,["dbltap","vdblclick"],I,{x:ee[0],y:ee[1]})):(ae=setTimeout(function(){ce||n(K,["onetap","voneclick"],I,{x:ee[0],y:ee[1]})},X.multiClickDebounceTime()),ne=I.timeStamp)),K!=null&&!t.dragData.didDrag&&K._private.selectable&&mt<t.touchTapThreshold2&&!t.pinching&&(X.selectionType()==="single"?(X.$(r).unmerge(K).unselect(["tapunselect"]),K.select(["tapselect"])):K.selected()?K.unselect(["tapunselect"]):K.select(["tapselect"]),t.redrawHint("eles",!0)),t.touchData.singleTouchMoved=!0}}}for(var Jt=0;Jt<ee.length;Jt++)oe[Jt]=ee[Jt];t.dragData.didDrag=!1,I.touches.length===0&&(t.touchData.dragDelta=[],t.touchData.startPosition=[null,null,null,null,null,null],t.touchData.startGPosition=null,t.touchData.didSelect=!1),I.touches.length<2&&(I.touches.length===1&&(t.touchData.startGPosition=[I.touches[0].clientX,I.touches[0].clientY]),t.pinching=!1,t.redrawHint("eles",!0),t.redraw())},!1),typeof TouchEvent>"u"){var ue=[],ie=function(I){return{clientX:I.clientX,clientY:I.clientY,force:1,identifier:I.pointerId,pageX:I.pageX,pageY:I.pageY,radiusX:I.width/2,radiusY:I.height/2,screenX:I.screenX,screenY:I.screenY,target:I.target}},fe=function(I){return{event:I,touch:ie(I)}},pe=function(I){ue.push(fe(I))},De=function(I){for(var K=0;K<ue.length;K++){var te=ue[K];if(te.event.pointerId===I.pointerId){ue.splice(K,1);return}}},Ie=function(I){var K=ue.filter(function(te){return te.event.pointerId===I.pointerId})[0];K.event=I,K.touch=ie(I)},we=function(I){I.touches=ue.map(function(K){return K.touch})},xe=function(I){return I.pointerType==="mouse"||I.pointerType===4};t.registerBinding(t.container,"pointerdown",function(re){xe(re)||(re.preventDefault(),pe(re),we(re),M(re))}),t.registerBinding(t.container,"pointerup",function(re){xe(re)||(De(re),we(re),se(re))}),t.registerBinding(t.container,"pointercancel",function(re){xe(re)||(De(re),we(re),Y(re))}),t.registerBinding(t.container,"pointermove",function(re){xe(re)||(re.preventDefault(),Ie(re),we(re),W(re))})}};var Jr={};Jr.generatePolygon=function(t,e){return this.nodeShapes[t]={renderer:this,name:t,points:e,draw:function(n,a,i,o,l,c){this.renderer.nodeShapeImpl("polygon",n,a,i,o,l,this.points)},intersectLine:function(n,a,i,o,l,c,u,d){return eo(l,c,this.points,n,a,i/2,o/2,u)},checkPoint:function(n,a,i,o,l,c,u,d){return Yr(n,a,this.points,c,u,o,l,[0,-1],i)}}},Jr.generateEllipse=function(){return this.nodeShapes.ellipse={renderer:this,name:"ellipse",draw:function(e,r,n,a,i,o){this.renderer.nodeShapeImpl(this.name,e,r,n,a,i)},intersectLine:function(e,r,n,a,i,o,l,c){return w5(i,o,e,r,n/2+l,a/2+l)},checkPoint:function(e,r,n,a,i,o,l,c){return ea(e,r,a,i,o,l,n)}}},Jr.generateRoundPolygon=function(t,e){return this.nodeShapes[t]={renderer:this,name:t,points:e,getOrCreateCorners:function(n,a,i,o,l,c,u){if(c[u]!==void 0&&c[u+"-cx"]===n&&c[u+"-cy"]===a)return c[u];c[u]=new Array(e.length/2),c[u+"-cx"]=n,c[u+"-cy"]=a;var d=i/2,f=o/2;l=l==="auto"?Q0(i,o):l;for(var h=new Array(e.length/2),v=0;v<e.length/2;v++)h[v]={x:n+d*e[v*2],y:a+f*e[v*2+1]};var p,g,m,y,b=h.length;for(g=h[b-1],p=0;p<b;p++)m=h[p%b],y=h[(p+1)%b],c[u][p]=wc(g,m,y,l),g=m,m=y;return c[u]},draw:function(n,a,i,o,l,c,u){this.renderer.nodeShapeImpl("round-polygon",n,a,i,o,l,this.points,this.getOrCreateCorners(a,i,o,l,c,u,"drawCorners"))},intersectLine:function(n,a,i,o,l,c,u,d,f){return C5(l,c,this.points,n,a,i,o,u,this.getOrCreateCorners(n,a,i,o,d,f,"corners"))},checkPoint:function(n,a,i,o,l,c,u,d,f){return b5(n,a,this.points,c,u,o,l,this.getOrCreateCorners(c,u,o,l,d,f,"corners"))}}},Jr.generateRoundRectangle=function(){return this.nodeShapes["round-rectangle"]=this.nodeShapes.roundrectangle={renderer:this,name:"round-rectangle",points:Ft(4,0),draw:function(e,r,n,a,i,o){this.renderer.nodeShapeImpl(this.name,e,r,n,a,i,this.points,o)},intersectLine:function(e,r,n,a,i,o,l,c){return X0(i,o,e,r,n,a,l,c)},checkPoint:function(e,r,n,a,i,o,l,c){var u=a/2,d=i/2;c=c==="auto"?ta(a,i):c,c=Math.min(u,d,c);var f=c*2;return!!(Yr(e,r,this.points,o,l,a,i-f,[0,-1],n)||Yr(e,r,this.points,o,l,a-f,i,[0,-1],n)||ea(e,r,f,f,o-u+c,l-d+c,n)||ea(e,r,f,f,o+u-c,l-d+c,n)||ea(e,r,f,f,o+u-c,l+d-c,n)||ea(e,r,f,f,o-u+c,l+d-c,n))}}},Jr.generateCutRectangle=function(){return this.nodeShapes["cut-rectangle"]=this.nodeShapes.cutrectangle={renderer:this,name:"cut-rectangle",cornerLength:Gu(),points:Ft(4,0),draw:function(e,r,n,a,i,o){this.renderer.nodeShapeImpl(this.name,e,r,n,a,i,null,o)},generateCutTrianglePts:function(e,r,n,a,i){var o=i==="auto"?this.cornerLength:i,l=r/2,c=e/2,u=n-c,d=n+c,f=a-l,h=a+l;return{topLeft:[u,f+o,u+o,f,u+o,f+o],topRight:[d-o,f,d,f+o,d-o,f+o],bottomRight:[d,h-o,d-o,h,d-o,h-o],bottomLeft:[u+o,h,u,h-o,u+o,h-o]}},intersectLine:function(e,r,n,a,i,o,l,c){var u=this.generateCutTrianglePts(n+2*l,a+2*l,e,r,c),d=[].concat.apply([],[u.topLeft.splice(0,4),u.topRight.splice(0,4),u.bottomRight.splice(0,4),u.bottomLeft.splice(0,4)]);return eo(i,o,d,e,r)},checkPoint:function(e,r,n,a,i,o,l,c){var u=c==="auto"?this.cornerLength:c;if(Yr(e,r,this.points,o,l,a,i-2*u,[0,-1],n)||Yr(e,r,this.points,o,l,a-2*u,i,[0,-1],n))return!0;var d=this.generateCutTrianglePts(a,i,o,l);return Gt(e,r,d.topLeft)||Gt(e,r,d.topRight)||Gt(e,r,d.bottomRight)||Gt(e,r,d.bottomLeft)}}},Jr.generateBarrel=function(){return this.nodeShapes.barrel={renderer:this,name:"barrel",points:Ft(4,0),draw:function(e,r,n,a,i,o){this.renderer.nodeShapeImpl(this.name,e,r,n,a,i)},intersectLine:function(e,r,n,a,i,o,l,c){var u=.15,d=.5,f=.85,h=this.generateBarrelBezierPts(n+2*l,a+2*l,e,r),v=function(m){var y=Fa({x:m[0],y:m[1]},{x:m[2],y:m[3]},{x:m[4],y:m[5]},u),b=Fa({x:m[0],y:m[1]},{x:m[2],y:m[3]},{x:m[4],y:m[5]},d),w=Fa({x:m[0],y:m[1]},{x:m[2],y:m[3]},{x:m[4],y:m[5]},f);return[m[0],m[1],y.x,y.y,b.x,b.y,w.x,w.y,m[4],m[5]]},p=[].concat(v(h.topLeft),v(h.topRight),v(h.bottomRight),v(h.bottomLeft));return eo(i,o,p,e,r)},generateBarrelBezierPts:function(e,r,n,a){var i=r/2,o=e/2,l=n-o,c=n+o,u=a-i,d=a+i,f=Uu(e,r),h=f.heightOffset,v=f.widthOffset,p=f.ctrlPtOffsetPct*e,g={topLeft:[l,u+h,l+p,u,l+v,u],topRight:[c-v,u,c-p,u,c,u+h],bottomRight:[c,d-h,c-p,d,c-v,d],bottomLeft:[l+v,d,l+p,d,l,d-h]};return g.topLeft.isTop=!0,g.topRight.isTop=!0,g.bottomLeft.isBottom=!0,g.bottomRight.isBottom=!0,g},checkPoint:function(e,r,n,a,i,o,l,c){var u=Uu(a,i),d=u.heightOffset,f=u.widthOffset;if(Yr(e,r,this.points,o,l,a,i-2*d,[0,-1],n)||Yr(e,r,this.points,o,l,a-2*f,i,[0,-1],n))return!0;for(var h=this.generateBarrelBezierPts(a,i,o,l),v=function(_,S,T){var N=T[4],B=T[2],O=T[0],D=T[5],R=T[1],P=Math.min(N,O),L=Math.max(N,O),A=Math.min(D,R),q=Math.max(D,R);if(P<=_&&_<=L&&A<=S&&S<=q){var U=E5(N,B,O),z=v5(U[0],U[1],U[2],_),H=z.filter(function(Q){return 0<=Q&&Q<=1});if(H.length>0)return H[0]}return null},p=Object.keys(h),g=0;g<p.length;g++){var m=p[g],y=h[m],b=v(e,r,y);if(b!=null){var w=y[5],C=y[3],x=y[1],k=gt(w,C,x,b);if(y.isTop&&k<=r||y.isBottom&&r<=k)return!0}}return!1}}},Jr.generateBottomRoundrectangle=function(){return this.nodeShapes["bottom-round-rectangle"]=this.nodeShapes.bottomroundrectangle={renderer:this,name:"bottom-round-rectangle",points:Ft(4,0),draw:function(e,r,n,a,i,o){this.renderer.nodeShapeImpl(this.name,e,r,n,a,i,this.points,o)},intersectLine:function(e,r,n,a,i,o,l,c){var u=e-(n/2+l),d=r-(a/2+l),f=d,h=e+(n/2+l),v=Cn(i,o,e,r,u,d,h,f,!1);return v.length>0?v:X0(i,o,e,r,n,a,l,c)},checkPoint:function(e,r,n,a,i,o,l,c){c=c==="auto"?ta(a,i):c;var u=2*c;if(Yr(e,r,this.points,o,l,a,i-u,[0,-1],n)||Yr(e,r,this.points,o,l,a-u,i,[0,-1],n))return!0;var d=a/2+2*n,f=i/2+2*n,h=[o-d,l-f,o-d,l,o+d,l,o+d,l-f];return!!(Gt(e,r,h)||ea(e,r,u,u,o+a/2-c,l+i/2-c,n)||ea(e,r,u,u,o-a/2+c,l+i/2-c,n))}}},Jr.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",Ft(3,0)),this.generateRoundPolygon("round-triangle",Ft(3,0)),this.generatePolygon("rectangle",Ft(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r)}this.generatePolygon("pentagon",Ft(5,0)),this.generateRoundPolygon("round-pentagon",Ft(5,0)),this.generatePolygon("hexagon",Ft(6,0)),this.generateRoundPolygon("round-hexagon",Ft(6,0)),this.generatePolygon("heptagon",Ft(7,0)),this.generateRoundPolygon("round-heptagon",Ft(7,0)),this.generatePolygon("octagon",Ft(8,0)),this.generateRoundPolygon("round-octagon",Ft(8,0));var n=new Array(20);{var a=Ku(5,0),i=Ku(5,Math.PI/5),o=.5*(3-Math.sqrt(5));o*=1.57;for(var l=0;l<i.length/2;l++)i[l*2]*=o,i[l*2+1]*=o;for(var l=0;l<20/4;l++)n[l*4]=a[l*2],n[l*4+1]=a[l*2+1],n[l*4+2]=i[l*2],n[l*4+3]=i[l*2+1]}n=J0(n),this.generatePolygon("star",n),this.generatePolygon("vee",[-1,-1,0,-.333,1,-1,0,1]),this.generatePolygon("rhomboid",[-1,-1,.333,-1,1,1,-.333,1]),this.generatePolygon("right-rhomboid",[-.333,-1,1,-1,.333,1,-1,1]),this.nodeShapes.concavehexagon=this.generatePolygon("concave-hexagon",[-1,-.95,-.75,0,-1,.95,1,.95,.75,0,1,-.95]);{var c=[-1,-1,.25,-1,1,0,.25,1,-1,1];this.generatePolygon("tag",c),this.generateRoundPolygon("round-tag",c)}t.makePolygon=function(u){var d=u.join("$"),f="polygon-"+d,h;return(h=this[f])?h:e.generatePolygon(f,u)}};var go={};go.timeToRender=function(){return this.redrawTotalTime/this.redrawCount},go.redraw=function(t){t=t||K0();var e=this;e.averageRedrawTime===void 0&&(e.averageRedrawTime=0),e.lastRedrawTime===void 0&&(e.lastRedrawTime=0),e.lastDrawTime===void 0&&(e.lastDrawTime=0),e.requestedFrame=!0,e.renderOptions=t},go.beforeRender=function(t,e){if(!this.destroyed){e==null&&Je("Priority is not optional for beforeRender");var r=this.beforeRenderCallbacks;r.push({fn:t,priority:e}),r.sort(function(n,a){return a.priority-n.priority})}};var G1=function(e,r,n){for(var a=e.beforeRenderCallbacks,i=0;i<a.length;i++)a[i].fn(r,n)};go.startRenderLoop=function(){var t=this,e=t.cy;if(!t.renderLoopStarted){t.renderLoopStarted=!0;var r=function n(a){if(!t.destroyed){if(!e.batching())if(t.requestedFrame&&!t.skipFrame){G1(t,!0,a);var i=Wr();t.render(t.renderOptions);var o=t.lastDrawTime=Wr();t.averageRedrawTime===void 0&&(t.averageRedrawTime=o-i),t.redrawCount===void 0&&(t.redrawCount=0),t.redrawCount++,t.redrawTotalTime===void 0&&(t.redrawTotalTime=0);var l=o-i;t.redrawTotalTime+=l,t.lastRedrawTime=l,t.averageRedrawTime=t.averageRedrawTime/2+l/2,t.requestedFrame=!1}else G1(t,!1,a);t.skipFrame=!1,ps(n)}};ps(r)}};var n3=function(e){this.init(e)},U1=n3,ni=U1.prototype;ni.clientFunctions=["redrawHint","render","renderTo","matchCanvasSize","nodeShapeImpl","arrowShapeImpl"],ni.init=function(t){var e=this;e.options=t,e.cy=t.cy;var r=e.container=t.cy.container(),n=e.cy.window();if(n){var a=n.document,i=a.head,o="__________cytoscape_stylesheet",l="__________cytoscape_container",c=a.getElementById(o)!=null;if(r.className.indexOf(l)<0&&(r.className=(r.className||"")+" "+l),!c){var u=a.createElement("style");u.id=o,u.textContent="."+l+" { position: relative; }",i.insertBefore(u,i.children[0])}var d=n.getComputedStyle(r),f=d.getPropertyValue("position");f==="static"&&$e("A Cytoscape container has style position:static and so can not use UI extensions properly")}e.selection=[void 0,void 0,void 0,void 0,0],e.bezierProjPcts=[.05,.225,.4,.5,.6,.775,.95],e.hoverData={down:null,last:null,downTime:null,triggerMode:null,dragging:!1,initialPan:[null,null],capture:!1},e.dragData={possibleDragElements:[]},e.touchData={start:null,capture:!1,startPosition:[null,null,null,null,null,null],singleTouchStartTime:null,singleTouchMoved:!0,now:[null,null,null,null,null,null],earlier:[null,null,null,null,null,null]},e.redraws=0,e.showFps=t.showFps,e.debug=t.debug,e.hideEdgesOnViewport=t.hideEdgesOnViewport,e.textureOnViewport=t.textureOnViewport,e.wheelSensitivity=t.wheelSensitivity,e.motionBlurEnabled=t.motionBlur,e.forcedPixelRatio=de(t.pixelRatio)?t.pixelRatio:null,e.motionBlur=t.motionBlur,e.motionBlurOpacity=t.motionBlurOpacity,e.motionBlurTransparency=1-e.motionBlurOpacity,e.motionBlurPxRatio=1,e.mbPxRBlurry=1,e.minMbLowQualFrames=4,e.fullQualityMb=!1,e.clearedForMotionBlur=[],e.desktopTapThreshold=t.desktopTapThreshold,e.desktopTapThreshold2=t.desktopTapThreshold*t.desktopTapThreshold,e.touchTapThreshold=t.touchTapThreshold,e.touchTapThreshold2=t.touchTapThreshold*t.touchTapThreshold,e.tapholdDuration=500,e.bindings=[],e.beforeRenderCallbacks=[],e.beforeRenderPriorities={animations:400,eleCalcs:300,eleTxrDeq:200,lyrTxrDeq:150,lyrTxrSkip:100},e.registerNodeShapes(),e.registerArrowShapes(),e.registerCalculationListeners()},ni.notify=function(t,e){var r=this,n=r.cy;if(!this.destroyed){if(t==="init"){r.load();return}if(t==="destroy"){r.destroy();return}(t==="add"||t==="remove"||t==="move"&&n.hasCompoundNodes()||t==="load"||t==="zorder"||t==="mount")&&r.invalidateCachedZSortedEles(),t==="viewport"&&r.redrawHint("select",!0),(t==="load"||t==="resize"||t==="mount")&&(r.invalidateContainerClientCoordsCache(),r.matchCanvasSize(r.container)),r.redrawHint("eles",!0),r.redrawHint("drag",!0),this.startRenderLoop(),this.redraw()}},ni.destroy=function(){var t=this;t.destroyed=!0,t.cy.stopAnimationLoop();for(var e=0;e<t.bindings.length;e++){var r=t.bindings[e],n=r,a=n.target;(a.off||a.removeEventListener).apply(a,n.args)}if(t.bindings=[],t.beforeRenderCallbacks=[],t.onUpdateEleCalcsFns=[],t.removeObserver&&t.removeObserver.disconnect(),t.styleObserver&&t.styleObserver.disconnect(),t.resizeObserver&&t.resizeObserver.disconnect(),t.labelCalcDiv)try{document.body.removeChild(t.labelCalcDiv)}catch{}},ni.isHeadless=function(){return!1},[vc,H1,K1,ri,Jr,go].forEach(function(t){Se(ni,t)});var Ec=1e3/60,j1={setupDequeueing:function(e){return function(){var n=this,a=this.renderer;if(!n.dequeueingSetup){n.dequeueingSetup=!0;var i=hs(function(){a.redrawHint("eles",!0),a.redrawHint("drag",!0),a.redraw()},e.deqRedrawThreshold),o=function(u,d){var f=Wr(),h=a.averageRedrawTime,v=a.lastRedrawTime,p=[],g=a.cy.extent(),m=a.getPixelRatio();for(u||a.flushRenderedStyleQueue();;){var y=Wr(),b=y-f,w=y-d;if(v<Ec){var C=Ec-(u?h:0);if(w>=e.deqFastCost*C)break}else if(u){if(b>=e.deqCost*v||b>=e.deqAvgCost*h)break}else if(w>=e.deqNoDrawCost*Ec)break;var x=e.deq(n,m,g);if(x.length>0)for(var k=0;k<x.length;k++)p.push(x[k]);else break}p.length>0&&(e.onDeqd(n,p),!u&&e.shouldRedraw(n,p,m,g)&&i())},l=e.priority||Fu;a.beforeRender(o,l(n))}}}},a3=function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:gs;Du(this,t),this.idsByKey=new Ir,this.keyForId=new Ir,this.cachesByLvl=new Ir,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return Ou(t,[{key:"getIdsFor",value:function(r){r==null&&Je("Can not get id list for null key");var n=this.idsByKey,a=this.idsByKey.get(r);return a||(a=new La,n.set(r,a)),a}},{key:"addIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).add(n)}},{key:"deleteIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).delete(n)}},{key:"getNumberOfIdsForKey",value:function(r){return r==null?0:this.getIdsFor(r).size}},{key:"updateKeyMappingFor",value:function(r){var n=r.id(),a=this.keyForId.get(n),i=this.getKey(r);this.deleteIdForKey(a,n),this.addIdForKey(i,n),this.keyForId.set(n,i)}},{key:"deleteKeyMappingFor",value:function(r){var n=r.id(),a=this.keyForId.get(n);this.deleteIdForKey(a,n),this.keyForId.delete(n)}},{key:"keyHasChangedFor",value:function(r){var n=r.id(),a=this.keyForId.get(n),i=this.getKey(r);return a!==i}},{key:"isInvalid",value:function(r){return this.keyHasChangedFor(r)||this.doesEleInvalidateKey(r)}},{key:"getCachesAt",value:function(r){var n=this.cachesByLvl,a=this.lvls,i=n.get(r);return i||(i=new Ir,n.set(r,i),a.push(r)),i}},{key:"getCache",value:function(r,n){return this.getCachesAt(n).get(r)}},{key:"get",value:function(r,n){var a=this.getKey(r),i=this.getCache(a,n);return i!=null&&this.updateKeyMappingFor(r),i}},{key:"getForCachedKey",value:function(r,n){var a=this.keyForId.get(r.id()),i=this.getCache(a,n);return i}},{key:"hasCache",value:function(r,n){return this.getCachesAt(n).has(r)}},{key:"has",value:function(r,n){var a=this.getKey(r);return this.hasCache(a,n)}},{key:"setCache",value:function(r,n,a){a.key=r,this.getCachesAt(n).set(r,a)}},{key:"set",value:function(r,n,a){var i=this.getKey(r);this.setCache(i,n,a),this.updateKeyMappingFor(r)}},{key:"deleteCache",value:function(r,n){this.getCachesAt(n).delete(r)}},{key:"delete",value:function(r,n){var a=this.getKey(r);this.deleteCache(a,n)}},{key:"invalidateKey",value:function(r){var n=this;this.lvls.forEach(function(a){return n.deleteCache(r,a)})}},{key:"invalidate",value:function(r){var n=r.id(),a=this.keyForId.get(n);this.deleteKeyMappingFor(r);var i=this.doesEleInvalidateKey(r);return i&&this.invalidateKey(a),i||this.getNumberOfIdsForKey(a)===0}}]),t}(),W1=25,nl=50,al=-4,xc=3,i3=7.99,o3=8,s3=1024,l3=1024,u3=1024,c3=.2,d3=.8,f3=10,h3=.15,p3=.1,v3=.9,g3=.9,m3=100,y3=1,ai={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},b3=xt({getKey:null,doesEleInvalidateKey:gs,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:V0,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),mo=function(e,r){var n=this;n.renderer=e,n.onDequeues=[];var a=b3(r);Se(n,a),n.lookup=new a3(a.getKey,a.doesEleInvalidateKey),n.setupDequeueing()},ht=mo.prototype;ht.reasons=ai,ht.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]},ht.getRetiredTextureQueue=function(t){var e=this,r=e.eleImgCaches.retired=e.eleImgCaches.retired||{},n=r[t]=r[t]||[];return n},ht.getElementQueue=function(){var t=this,e=t.eleCacheQueue=t.eleCacheQueue||new Xi(function(r,n){return n.reqs-r.reqs});return e},ht.getElementKeyToQueue=function(){var t=this,e=t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{};return e},ht.getElement=function(t,e,r,n,a){var i=this,o=this.renderer,l=o.cy.zoom(),c=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!i.allowEdgeTxrCaching&&t.isEdge()||!i.allowParentTxrCaching&&t.isParent())return null;if(n==null&&(n=Math.ceil(qu(l*r))),n<al)n=al;else if(l>=i3||n>xc)return null;var u=Math.pow(2,n),d=e.h*u,f=e.w*u,h=o.eleTextBiggerThanMin(t,u);if(!this.isVisible(t,h))return null;var v=c.get(t,n);if(v&&v.invalidated&&(v.invalidated=!1,v.texture.invalidatedWidth-=v.width),v)return v;var p;if(d<=W1?p=W1:d<=nl?p=nl:p=Math.ceil(d/nl)*nl,d>u3||f>l3)return null;var g=i.getTextureQueue(p),m=g[g.length-2],y=function(){return i.recycleTexture(p,f)||i.addTexture(p,f)};m||(m=g[g.length-1]),m||(m=y()),m.width-m.usedWidth<f&&(m=y());for(var b=function(P){return P&&P.scaledLabelShown===h},w=a&&a===ai.dequeue,C=a&&a===ai.highQuality,x=a&&a===ai.downscale,k,E=n+1;E<=xc;E++){var _=c.get(t,E);if(_){k=_;break}}var S=k&&k.level===n+1?k:null,T=function(){m.context.drawImage(S.texture.canvas,S.x,0,S.width,S.height,m.usedWidth,0,f,d)};if(m.context.setTransform(1,0,0,1,0,0),m.context.clearRect(m.usedWidth,0,f,p),b(S))T();else if(b(k))if(C){for(var N=k.level;N>n;N--)S=i.getElement(t,e,r,N,ai.downscale);T()}else return i.queueElement(t,k.level-1),k;else{var B;if(!w&&!C&&!x)for(var O=n-1;O>=al;O--){var D=c.get(t,O);if(D){B=D;break}}if(b(B))return i.queueElement(t,n),B;m.context.translate(m.usedWidth,0),m.context.scale(u,u),this.drawElement(m.context,t,e,h,!1),m.context.scale(1/u,1/u),m.context.translate(-m.usedWidth,0)}return v={x:m.usedWidth,texture:m,level:n,scale:u,width:f,height:d,scaledLabelShown:h},m.usedWidth+=Math.ceil(f+o3),m.eleCaches.push(v),c.set(t,n,v),i.checkTextureFullness(m),v},ht.invalidateElements=function(t){for(var e=0;e<t.length;e++)this.invalidateElement(t[e])},ht.invalidateElement=function(t){var e=this,r=e.lookup,n=[],a=r.isInvalid(t);if(a){for(var i=al;i<=xc;i++){var o=r.getForCachedKey(t,i);o&&n.push(o)}var l=r.invalidate(t);if(l)for(var c=0;c<n.length;c++){var u=n[c],d=u.texture;d.invalidatedWidth+=u.width,u.invalidated=!0,e.checkTextureUtility(d)}e.removeFromQueue(t)}},ht.checkTextureUtility=function(t){t.invalidatedWidth>=c3*t.width&&this.retireTexture(t)},ht.checkTextureFullness=function(t){var e=this,r=e.getTextureQueue(t.height);t.usedWidth/t.width>d3&&t.fullnessChecks>=f3?bn(r,t):t.fullnessChecks++},ht.retireTexture=function(t){var e=this,r=t.height,n=e.getTextureQueue(r),a=this.lookup;bn(n,t),t.retired=!0;for(var i=t.eleCaches,o=0;o<i.length;o++){var l=i[o];a.deleteCache(l.key,l.level)}$u(i);var c=e.getRetiredTextureQueue(r);c.push(t)},ht.addTexture=function(t,e){var r=this,n=r.getTextureQueue(t),a={};return n.push(a),a.eleCaches=[],a.height=t,a.width=Math.max(s3,e),a.usedWidth=0,a.invalidatedWidth=0,a.fullnessChecks=0,a.canvas=r.renderer.makeOffscreenCanvas(a.width,a.height),a.context=a.canvas.getContext("2d"),a},ht.recycleTexture=function(t,e){for(var r=this,n=r.getTextureQueue(t),a=r.getRetiredTextureQueue(t),i=0;i<a.length;i++){var o=a[i];if(o.width>=e)return o.retired=!1,o.usedWidth=0,o.invalidatedWidth=0,o.fullnessChecks=0,$u(o.eleCaches),o.context.setTransform(1,0,0,1,0,0),o.context.clearRect(0,0,o.width,o.height),bn(a,o),n.push(o),o}},ht.queueElement=function(t,e){var r=this,n=r.getElementQueue(),a=r.getElementKeyToQueue(),i=this.getKey(t),o=a[i];if(o)o.level=Math.max(o.level,e),o.eles.merge(t),o.reqs++,n.updateItem(o);else{var l={eles:t.spawn().merge(t),level:e,reqs:1,key:i};n.push(l),a[i]=l}},ht.dequeue=function(t){for(var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),a=[],i=e.lookup,o=0;o<y3&&r.size()>0;o++){var l=r.pop(),c=l.key,u=l.eles[0],d=i.hasCache(u,l.level);if(n[c]=null,d)continue;a.push(l);var f=e.getBoundingBox(u);e.getElement(u,f,t,l.level,ai.dequeue)}return a},ht.removeFromQueue=function(t){var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),a=this.getKey(t),i=n[a];i!=null&&(i.eles.length===1?(i.reqs=Mu,r.updateItem(i),r.pop(),n[a]=null):i.eles.unmerge(t))},ht.onDequeue=function(t){this.onDequeues.push(t)},ht.offDequeue=function(t){bn(this.onDequeues,t)},ht.setupDequeueing=j1.setupDequeueing({deqRedrawThreshold:m3,deqCost:h3,deqAvgCost:p3,deqNoDrawCost:v3,deqFastCost:g3,deq:function(e,r,n){return e.dequeue(r,n)},onDeqd:function(e,r){for(var n=0;n<e.onDequeues.length;n++){var a=e.onDequeues[n];a(r)}},shouldRedraw:function(e,r,n,a){for(var i=0;i<r.length;i++)for(var o=r[i].eles,l=0;l<o.length;l++){var c=o[l].boundingBox();if(zu(c,a))return!0}return!1},priority:function(e){return e.renderer.beforeRenderPriorities.eleTxrDeq}});var w3=1,yo=-4,il=2,C3=3.99,E3=50,x3=50,k3=.15,S3=.1,_3=.9,T3=.9,N3=1,Y1=250,I3=4e3*4e3,B3=!0,Z1=function(e){var r=this,n=r.renderer=e,a=n.cy;r.layersByLevel={},r.firstGet=!0,r.lastInvalidationTime=Wr()-2*Y1,r.skipping=!1,r.eleTxrDeqs=a.collection(),r.scheduleElementRefinement=hs(function(){r.refineElementTextures(r.eleTxrDeqs),r.eleTxrDeqs.unmerge(r.eleTxrDeqs)},x3),n.beforeRender(function(o,l){l-r.lastInvalidationTime<=Y1?r.skipping=!0:r.skipping=!1},n.beforeRenderPriorities.lyrTxrSkip);var i=function(l,c){return c.reqs-l.reqs};r.layersQueue=new Xi(i),r.setupDequeueing()},Tt=Z1.prototype,X1=0,D3=Math.pow(2,53)-1;Tt.makeLayer=function(t,e){var r=Math.pow(2,e),n=Math.ceil(t.w*r),a=Math.ceil(t.h*r),i=this.renderer.makeOffscreenCanvas(n,a),o={id:X1=++X1%D3,bb:t,level:e,width:n,height:a,canvas:i,context:i.getContext("2d"),eles:[],elesQueue:[],reqs:0},l=o.context,c=-o.bb.x1,u=-o.bb.y1;return l.scale(r,r),l.translate(c,u),o},Tt.getLayers=function(t,e,r){var n=this,a=n.renderer,i=a.cy,o=i.zoom(),l=n.firstGet;if(n.firstGet=!1,r==null){if(r=Math.ceil(qu(o*e)),r<yo)r=yo;else if(o>=C3||r>il)return null}n.validateLayersElesOrdering(r,t);var c=n.layersByLevel,u=Math.pow(2,r),d=c[r]=c[r]||[],f,h=n.levelIsComplete(r,t),v,p=function(){var T=function(R){if(n.validateLayersElesOrdering(R,t),n.levelIsComplete(R,t))return v=c[R],!0},N=function(R){if(!v)for(var P=r+R;yo<=P&&P<=il&&!T(P);P+=R);};N(1),N(-1);for(var B=d.length-1;B>=0;B--){var O=d[B];O.invalid&&bn(d,O)}};if(!h)p();else return d;var g=function(){if(!f){f=Kt();for(var T=0;T<t.length;T++)W0(f,t[T].boundingBox())}return f},m=function(T){T=T||{};var N=T.after;g();var B=f.w*u*(f.h*u);if(B>I3)return null;var O=n.makeLayer(f,r);if(N!=null){var D=d.indexOf(N)+1;d.splice(D,0,O)}else(T.insert===void 0||T.insert)&&d.unshift(O);return O};if(n.skipping&&!l)return null;for(var y=null,b=t.length/w3,w=!l,C=0;C<t.length;C++){var x=t[C],k=x._private.rscratch,E=k.imgLayerCaches=k.imgLayerCaches||{},_=E[r];if(_){y=_;continue}if((!y||y.eles.length>=b||!Z0(y.bb,x.boundingBox()))&&(y=m({insert:!0,after:y}),!y))return null;v||w?n.queueLayer(y,x):n.drawEleInLayer(y,x,r,e),y.eles.push(x),E[r]=y}return v||(w?null:d)},Tt.getEleLevelForLayerLevel=function(t,e){return t},Tt.drawEleInLayer=function(t,e,r,n){var a=this,i=this.renderer,o=t.context,l=e.boundingBox();l.w===0||l.h===0||!e.visible()||(r=a.getEleLevelForLayerLevel(r,n),i.setImgSmoothing(o,!1),i.drawCachedElement(o,e,null,null,r,B3),i.setImgSmoothing(o,!0))},Tt.levelIsComplete=function(t,e){var r=this,n=r.layersByLevel[t];if(!n||n.length===0)return!1;for(var a=0,i=0;i<n.length;i++){var o=n[i];if(o.reqs>0||o.invalid)return!1;a+=o.eles.length}return a===e.length},Tt.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var n=0;n<r.length;n++){for(var a=r[n],i=-1,o=0;o<e.length;o++)if(a.eles[0]===e[o]){i=o;break}if(i<0){this.invalidateLayer(a);continue}for(var l=i,o=0;o<a.eles.length;o++)if(a.eles[o]!==e[l+o]){this.invalidateLayer(a);break}}},Tt.updateElementsInLayers=function(t,e){for(var r=this,n=zi(t[0]),a=0;a<t.length;a++)for(var i=n?null:t[a],o=n?t[a]:t[a].ele,l=o._private.rscratch,c=l.imgLayerCaches=l.imgLayerCaches||{},u=yo;u<=il;u++){var d=c[u];d&&(i&&r.getEleLevelForLayerLevel(d.level)!==i.level||e(d,o,i))}},Tt.haveLayers=function(){for(var t=this,e=!1,r=yo;r<=il;r++){var n=t.layersByLevel[r];if(n&&n.length>0){e=!0;break}}return e},Tt.invalidateElements=function(t){var e=this;t.length!==0&&(e.lastInvalidationTime=Wr(),!(t.length===0||!e.haveLayers())&&e.updateElementsInLayers(t,function(n,a,i){e.invalidateLayer(n)}))},Tt.invalidateLayer=function(t){if(this.lastInvalidationTime=Wr(),!t.invalid){var e=t.level,r=t.eles,n=this.layersByLevel[e];bn(n,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var a=0;a<r.length;a++){var i=r[a]._private.rscratch.imgLayerCaches;i&&(i[e]=null)}}},Tt.refineElementTextures=function(t){var e=this;e.updateElementsInLayers(t,function(n,a,i){var o=n.replacement;if(o||(o=n.replacement=e.makeLayer(n.bb,n.level),o.replaces=n,o.eles=n.eles),!o.reqs)for(var l=0;l<o.eles.length;l++)e.queueLayer(o,o.eles[l])})},Tt.enqueueElementRefinement=function(t){this.eleTxrDeqs.merge(t),this.scheduleElementRefinement()},Tt.queueLayer=function(t,e){var r=this,n=r.layersQueue,a=t.elesQueue,i=a.hasId=a.hasId||{};if(!t.replacement){if(e){if(i[e.id()])return;a.push(e),i[e.id()]=!0}t.reqs?(t.reqs++,n.updateItem(t)):(t.reqs=1,n.push(t))}},Tt.dequeue=function(t){for(var e=this,r=e.layersQueue,n=[],a=0;a<N3&&r.size()!==0;){var i=r.peek();if(i.replacement){r.pop();continue}if(i.replaces&&i!==i.replaces.replacement){r.pop();continue}if(i.invalid){r.pop();continue}var o=i.elesQueue.shift();o&&(e.drawEleInLayer(i,o,i.level,t),a++),n.length===0&&n.push(!0),i.elesQueue.length===0&&(r.pop(),i.reqs=0,i.replaces&&e.applyLayerReplacement(i),e.requestRedraw())}return n},Tt.applyLayerReplacement=function(t){var e=this,r=e.layersByLevel[t.level],n=t.replaces,a=r.indexOf(n);if(!(a<0||n.invalid)){r[a]=t;for(var i=0;i<t.eles.length;i++){var o=t.eles[i]._private,l=o.imgLayerCaches=o.imgLayerCaches||{};l&&(l[t.level]=t)}e.requestRedraw()}},Tt.requestRedraw=hs(function(){var t=this.renderer;t.redrawHint("eles",!0),t.redrawHint("drag",!0),t.redraw()},100),Tt.setupDequeueing=j1.setupDequeueing({deqRedrawThreshold:E3,deqCost:k3,deqAvgCost:S3,deqNoDrawCost:_3,deqFastCost:T3,deq:function(e,r){return e.dequeue(r)},onDeqd:Fu,shouldRedraw:V0,priority:function(e){return e.renderer.beforeRenderPriorities.lyrTxrDeq}});var J1={},Q1;function O3(t,e){for(var r=0;r<e.length;r++){var n=e[r];t.lineTo(n.x,n.y)}}function P3(t,e,r){for(var n,a=0;a<e.length;a++){var i=e[a];a===0&&(n=i),t.lineTo(i.x,i.y)}t.quadraticCurveTo(r.x,r.y,n.x,n.y)}function ew(t,e,r){t.beginPath&&t.beginPath();for(var n=e,a=0;a<n.length;a++){var i=n[a];t.lineTo(i.x,i.y)}var o=r,l=r[0];t.moveTo(l.x,l.y);for(var a=1;a<o.length;a++){var i=o[a];t.lineTo(i.x,i.y)}t.closePath&&t.closePath()}function A3(t,e,r,n,a){t.beginPath&&t.beginPath(),t.arc(r,n,a,0,Math.PI*2,!1);var i=e,o=i[0];t.moveTo(o.x,o.y);for(var l=0;l<i.length;l++){var c=i[l];t.lineTo(c.x,c.y)}t.closePath&&t.closePath()}function R3(t,e,r,n){t.arc(e,r,n,0,Math.PI*2,!1)}J1.arrowShapeImpl=function(t){return(Q1||(Q1={polygon:O3,"triangle-backcurve":P3,"triangle-tee":ew,"circle-triangle":A3,"triangle-cross":ew,circle:R3}))[t]};var Ar={};Ar.drawElement=function(t,e,r,n,a,i){var o=this;e.isNode()?o.drawNode(t,e,r,n,a,i):o.drawEdge(t,e,r,n,a,i)},Ar.drawElementOverlay=function(t,e){var r=this;e.isNode()?r.drawNodeOverlay(t,e):r.drawEdgeOverlay(t,e)},Ar.drawElementUnderlay=function(t,e){var r=this;e.isNode()?r.drawNodeUnderlay(t,e):r.drawEdgeUnderlay(t,e)},Ar.drawCachedElementPortion=function(t,e,r,n,a,i,o,l){var c=this,u=r.getBoundingBox(e);if(!(u.w===0||u.h===0)){var d=r.getElement(e,u,n,a,i);if(d!=null){var f=l(c,e);if(f===0)return;var h=o(c,e),v=u.x1,p=u.y1,g=u.w,m=u.h,y,b,w,C,x;if(h!==0){var k=r.getRotationPoint(e);w=k.x,C=k.y,t.translate(w,C),t.rotate(h),x=c.getImgSmoothing(t),x||c.setImgSmoothing(t,!0);var E=r.getRotationOffset(e);y=E.x,b=E.y}else y=v,b=p;var _;f!==1&&(_=t.globalAlpha,t.globalAlpha=_*f),t.drawImage(d.texture.canvas,d.x,0,d.width,d.height,y,b,g,m),f!==1&&(t.globalAlpha=_),h!==0&&(t.rotate(-h),t.translate(-w,-C),x||c.setImgSmoothing(t,!1))}else r.drawElement(t,e)}};var L3=function(){return 0},M3=function(e,r){return e.getTextAngle(r,null)},F3=function(e,r){return e.getTextAngle(r,"source")},$3=function(e,r){return e.getTextAngle(r,"target")},V3=function(e,r){return r.effectiveOpacity()},kc=function(e,r){return r.pstyle("text-opacity").pfValue*r.effectiveOpacity()};Ar.drawCachedElement=function(t,e,r,n,a,i){var o=this,l=o.data,c=l.eleTxrCache,u=l.lblTxrCache,d=l.slbTxrCache,f=l.tlbTxrCache,h=e.boundingBox(),v=i===!0?c.reasons.highQuality:null;if(!(h.w===0||h.h===0||!e.visible())&&(!n||zu(h,n))){var p=e.isEdge(),g=e.element()._private.rscratch.badLine;o.drawElementUnderlay(t,e),o.drawCachedElementPortion(t,e,c,r,a,v,L3,V3),(!p||!g)&&o.drawCachedElementPortion(t,e,u,r,a,v,M3,kc),p&&!g&&(o.drawCachedElementPortion(t,e,d,r,a,v,F3,kc),o.drawCachedElementPortion(t,e,f,r,a,v,$3,kc)),o.drawElementOverlay(t,e)}},Ar.drawElements=function(t,e){for(var r=this,n=0;n<e.length;n++){var a=e[n];r.drawElement(t,a)}},Ar.drawCachedElements=function(t,e,r,n){for(var a=this,i=0;i<e.length;i++){var o=e[i];a.drawCachedElement(t,o,r,n)}},Ar.drawCachedNodes=function(t,e,r,n){for(var a=this,i=0;i<e.length;i++){var o=e[i];o.isNode()&&a.drawCachedElement(t,o,r,n)}},Ar.drawLayeredElements=function(t,e,r,n){var a=this,i=a.data.lyrTxrCache.getLayers(e,r);if(i)for(var o=0;o<i.length;o++){var l=i[o],c=l.bb;c.w===0||c.h===0||t.drawImage(l.canvas,c.x1,c.y1,c.w,c.h)}else a.drawCachedElements(t,e,r,n)};var Qr={};Qr.drawEdge=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,o=this,l=e._private.rscratch;if(!(i&&!e.visible())&&!(l.badLine||l.allpts==null||isNaN(l.allpts[0]))){var c;r&&(c=r,t.translate(-c.x1,-c.y1));var u=i?e.pstyle("opacity").value:1,d=i?e.pstyle("line-opacity").value:1,f=e.pstyle("curve-style").value,h=e.pstyle("line-style").value,v=e.pstyle("width").pfValue,p=e.pstyle("line-cap").value,g=e.pstyle("line-outline-width").value,m=e.pstyle("line-outline-color").value,y=u*d,b=u*d,w=function(){var R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:y;f==="straight-triangle"?(o.eleStrokeStyle(t,e,R),o.drawEdgeTrianglePath(e,t,l.allpts)):(t.lineWidth=v,t.lineCap=p,o.eleStrokeStyle(t,e,R),o.drawEdgePath(e,t,l.allpts,h),t.lineCap="butt")},C=function(){var R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:y;if(t.lineWidth=v+g,t.lineCap=p,g>0)o.colorStrokeStyle(t,m[0],m[1],m[2],R);else{t.lineCap="butt";return}f==="straight-triangle"?o.drawEdgeTrianglePath(e,t,l.allpts):(o.drawEdgePath(e,t,l.allpts,h),t.lineCap="butt")},x=function(){a&&o.drawEdgeOverlay(t,e)},k=function(){a&&o.drawEdgeUnderlay(t,e)},E=function(){var R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:b;o.drawArrowheads(t,e,R)},_=function(){o.drawElementText(t,e,null,n)};t.lineJoin="round";var S=e.pstyle("ghost").value==="yes";if(S){var T=e.pstyle("ghost-offset-x").pfValue,N=e.pstyle("ghost-offset-y").pfValue,B=e.pstyle("ghost-opacity").value,O=y*B;t.translate(T,N),w(O),E(O),t.translate(-T,-N)}else C();k(),w(),E(),x(),_(),r&&t.translate(c.x1,c.y1)}};var tw=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,n){if(n.visible()){var a=n.pstyle("".concat(e,"-opacity")).value;if(a!==0){var i=this,o=i.usePaths(),l=n._private.rscratch,c=n.pstyle("".concat(e,"-padding")).pfValue,u=2*c,d=n.pstyle("".concat(e,"-color")).value;r.lineWidth=u,l.edgeType==="self"&&!o?r.lineCap="butt":r.lineCap="round",i.colorStrokeStyle(r,d[0],d[1],d[2],a),i.drawEdgePath(n,r,l.allpts,"solid")}}}};Qr.drawEdgeOverlay=tw("overlay"),Qr.drawEdgeUnderlay=tw("underlay"),Qr.drawEdgePath=function(t,e,r,n){var a=t._private.rscratch,i=e,o,l=!1,c=this.usePaths(),u=t.pstyle("line-dash-pattern").pfValue,d=t.pstyle("line-dash-offset").pfValue;if(c){var f=r.join("$"),h=a.pathCacheKey&&a.pathCacheKey===f;h?(o=e=a.pathCache,l=!0):(o=e=new Path2D,a.pathCacheKey=f,a.pathCache=o)}if(i.setLineDash)switch(n){case"dotted":i.setLineDash([1,1]);break;case"dashed":i.setLineDash(u),i.lineDashOffset=d;break;case"solid":i.setLineDash([]);break}if(!l&&!a.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(r[0],r[1]),a.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var v=2;v+3<r.length;v+=4)e.quadraticCurveTo(r[v],r[v+1],r[v+2],r[v+3]);break;case"straight":case"haystack":for(var p=2;p+1<r.length;p+=2)e.lineTo(r[p],r[p+1]);break;case"segments":if(a.isRound){var g=w0(a.roundCorners),m;try{for(g.s();!(m=g.n()).done;){var y=m.value;L1(e,y)}}catch(w){g.e(w)}finally{g.f()}e.lineTo(r[r.length-2],r[r.length-1])}else for(var b=2;b+1<r.length;b+=2)e.lineTo(r[b],r[b+1]);break}e=i,c?e.stroke(o):e.stroke(),e.setLineDash&&e.setLineDash([])},Qr.drawEdgeTrianglePath=function(t,e,r){e.fillStyle=e.strokeStyle;for(var n=t.pstyle("width").pfValue,a=0;a+1<r.length;a+=2){var i=[r[a+2]-r[a],r[a+3]-r[a+1]],o=Math.sqrt(i[0]*i[0]+i[1]*i[1]),l=[i[1]/o,-i[0]/o],c=[l[0]*n/2,l[1]*n/2];e.beginPath(),e.moveTo(r[a]-c[0],r[a+1]-c[1]),e.lineTo(r[a]+c[0],r[a+1]+c[1]),e.lineTo(r[a+2],r[a+3]),e.closePath(),e.fill()}},Qr.drawArrowheads=function(t,e,r){var n=e._private.rscratch,a=n.edgeType==="haystack";a||this.drawArrowhead(t,e,"source",n.arrowStartX,n.arrowStartY,n.srcArrowAngle,r),this.drawArrowhead(t,e,"mid-target",n.midX,n.midY,n.midtgtArrowAngle,r),this.drawArrowhead(t,e,"mid-source",n.midX,n.midY,n.midsrcArrowAngle,r),a||this.drawArrowhead(t,e,"target",n.arrowEndX,n.arrowEndY,n.tgtArrowAngle,r)},Qr.drawArrowhead=function(t,e,r,n,a,i,o){if(!(isNaN(n)||n==null||isNaN(a)||a==null||isNaN(i)||i==null)){var l=this,c=e.pstyle(r+"-arrow-shape").value;if(c!=="none"){var u=e.pstyle(r+"-arrow-fill").value==="hollow"?"both":"filled",d=e.pstyle(r+"-arrow-fill").value,f=e.pstyle("width").pfValue,h=e.pstyle(r+"-arrow-width"),v=h.value==="match-line"?f:h.pfValue;h.units==="%"&&(v*=f);var p=e.pstyle("opacity").value;o===void 0&&(o=p);var g=t.globalCompositeOperation;(o!==1||d==="hollow")&&(t.globalCompositeOperation="destination-out",l.colorFillStyle(t,255,255,255,1),l.colorStrokeStyle(t,255,255,255,1),l.drawArrowShape(e,t,u,f,c,v,n,a,i),t.globalCompositeOperation=g);var m=e.pstyle(r+"-arrow-color").value;l.colorFillStyle(t,m[0],m[1],m[2],o),l.colorStrokeStyle(t,m[0],m[1],m[2],o),l.drawArrowShape(e,t,d,f,c,v,n,a,i)}}},Qr.drawArrowShape=function(t,e,r,n,a,i,o,l,c){var u=this,d=this.usePaths()&&a!=="triangle-cross",f=!1,h,v=e,p={x:o,y:l},g=t.pstyle("arrow-scale").value,m=this.getArrowWidth(n,g),y=u.arrowShapes[a];if(d){var b=u.arrowPathCache=u.arrowPathCache||[],w=Xn(a),C=b[w];C!=null?(h=e=C,f=!0):(h=e=new Path2D,b[w]=h)}f||(e.beginPath&&e.beginPath(),d?y.draw(e,1,0,{x:0,y:0},1):y.draw(e,m,c,p,n),e.closePath&&e.closePath()),e=v,d&&(e.translate(o,l),e.rotate(c),e.scale(m,m)),(r==="filled"||r==="both")&&(d?e.fill(h):e.fill()),(r==="hollow"||r==="both")&&(e.lineWidth=i/(d?m:1),e.lineJoin="miter",d?e.stroke(h):e.stroke()),d&&(e.scale(1/m,1/m),e.rotate(-c),e.translate(-o,-l))};var Sc={};Sc.safeDrawImage=function(t,e,r,n,a,i,o,l,c,u){if(!(a<=0||i<=0||c<=0||u<=0))try{t.drawImage(e,r,n,a,i,o,l,c,u)}catch(d){$e(d)}},Sc.drawInscribedImage=function(t,e,r,n,a){var i=this,o=r.position(),l=o.x,c=o.y,u=r.cy().style(),d=u.getIndexedStyle.bind(u),f=d(r,"background-fit","value",n),h=d(r,"background-repeat","value",n),v=r.width(),p=r.height(),g=r.padding()*2,m=v+(d(r,"background-width-relative-to","value",n)==="inner"?0:g),y=p+(d(r,"background-height-relative-to","value",n)==="inner"?0:g),b=r._private.rscratch,w=d(r,"background-clip","value",n),C=w==="node",x=d(r,"background-image-opacity","value",n)*a,k=d(r,"background-image-smoothing","value",n),E=r.pstyle("corner-radius").value;E!=="auto"&&(E=r.pstyle("corner-radius").pfValue);var _=e.width||e.cachedW,S=e.height||e.cachedH;(_==null||S==null)&&(document.body.appendChild(e),_=e.cachedW=e.width||e.offsetWidth,S=e.cachedH=e.height||e.offsetHeight,document.body.removeChild(e));var T=_,N=S;if(d(r,"background-width","value",n)!=="auto"&&(d(r,"background-width","units",n)==="%"?T=d(r,"background-width","pfValue",n)*m:T=d(r,"background-width","pfValue",n)),d(r,"background-height","value",n)!=="auto"&&(d(r,"background-height","units",n)==="%"?N=d(r,"background-height","pfValue",n)*y:N=d(r,"background-height","pfValue",n)),!(T===0||N===0)){if(f==="contain"){var B=Math.min(m/T,y/N);T*=B,N*=B}else if(f==="cover"){var B=Math.max(m/T,y/N);T*=B,N*=B}var O=l-m/2,D=d(r,"background-position-x","units",n),R=d(r,"background-position-x","pfValue",n);D==="%"?O+=(m-T)*R:O+=R;var P=d(r,"background-offset-x","units",n),L=d(r,"background-offset-x","pfValue",n);P==="%"?O+=(m-T)*L:O+=L;var A=c-y/2,q=d(r,"background-position-y","units",n),U=d(r,"background-position-y","pfValue",n);q==="%"?A+=(y-N)*U:A+=U;var z=d(r,"background-offset-y","units",n),H=d(r,"background-offset-y","pfValue",n);z==="%"?A+=(y-N)*H:A+=H,b.pathCache&&(O-=l,A-=c,l=0,c=0);var Q=t.globalAlpha;t.globalAlpha=x;var F=i.getImgSmoothing(t),$=!1;if(k==="no"&&F?(i.setImgSmoothing(t,!1),$=!0):k==="yes"&&!F&&(i.setImgSmoothing(t,!0),$=!0),h==="no-repeat")C&&(t.save(),b.pathCache?t.clip(b.pathCache):(i.nodeShapes[i.getNodeShape(r)].draw(t,l,c,m,y,E,b),t.clip())),i.safeDrawImage(t,e,0,0,_,S,O,A,T,N),C&&t.restore();else{var V=t.createPattern(e,h);t.fillStyle=V,i.nodeShapes[i.getNodeShape(r)].draw(t,l,c,m,y,E,b),t.translate(O,A),t.fill(),t.translate(-O,-A)}t.globalAlpha=Q,$&&i.setImgSmoothing(t,F)}};var ua={};ua.eleTextBiggerThanMin=function(t,e){if(!e){var r=t.cy().zoom(),n=this.getPixelRatio(),a=Math.ceil(qu(r*n));e=Math.pow(2,a)}var i=t.pstyle("font-size").pfValue*e,o=t.pstyle("min-zoomed-font-size").pfValue;return!(i<o)},ua.drawElementText=function(t,e,r,n,a){var i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,o=this;if(n==null){if(i&&!o.eleTextBiggerThanMin(e))return}else if(n===!1)return;if(e.isNode()){var l=e.pstyle("label");if(!l||!l.value)return;var c=o.getLabelJustification(e);t.textAlign=c,t.textBaseline="bottom"}else{var u=e.element()._private.rscratch.badLine,d=e.pstyle("label"),f=e.pstyle("source-label"),h=e.pstyle("target-label");if(u||(!d||!d.value)&&(!f||!f.value)&&(!h||!h.value))return;t.textAlign="center",t.textBaseline="bottom"}var v=!r,p;r&&(p=r,t.translate(-p.x1,-p.y1)),a==null?(o.drawText(t,e,null,v,i),e.isEdge()&&(o.drawText(t,e,"source",v,i),o.drawText(t,e,"target",v,i))):o.drawText(t,e,a,v,i),r&&t.translate(p.x1,p.y1)},ua.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r<this.fontCaches.length;r++)if(e=this.fontCaches[r],e.context===t)return e;return e={context:t},this.fontCaches.push(e),e},ua.setupTextStyle=function(t,e){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,n=e.pstyle("font-style").strValue,a=e.pstyle("font-size").pfValue+"px",i=e.pstyle("font-family").strValue,o=e.pstyle("font-weight").strValue,l=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,c=e.pstyle("text-outline-opacity").value*l,u=e.pstyle("color").value,d=e.pstyle("text-outline-color").value;t.font=n+" "+o+" "+a+" "+i,t.lineJoin="round",this.colorFillStyle(t,u[0],u[1],u[2],l),this.colorStrokeStyle(t,d[0],d[1],d[2],c)};function _c(t,e,r,n,a){var i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,o=arguments.length>6?arguments[6]:void 0;t.beginPath(),t.moveTo(e+i,r),t.lineTo(e+n-i,r),t.quadraticCurveTo(e+n,r,e+n,r+i),t.lineTo(e+n,r+a-i),t.quadraticCurveTo(e+n,r+a,e+n-i,r+a),t.lineTo(e+i,r+a),t.quadraticCurveTo(e,r+a,e,r+a-i),t.lineTo(e,r+i),t.quadraticCurveTo(e,r,e+i,r),t.closePath(),o?t.stroke():t.fill()}ua.getTextAngle=function(t,e){var r,n=t._private,a=n.rscratch,i=e?e+"-":"",o=t.pstyle(i+"text-rotation"),l=gr(a,"labelAngle",e);return o.strValue==="autorotate"?r=t.isEdge()?l:0:o.strValue==="none"?r=0:r=o.pfValue,r},ua.drawText=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=e._private,o=i.rscratch,l=a?e.effectiveOpacity():1;if(!(a&&(l===0||e.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var c=gr(o,"labelX",r),u=gr(o,"labelY",r),d,f,h=this.getLabelText(e,r);if(h!=null&&h!==""&&!isNaN(c)&&!isNaN(u)){this.setupTextStyle(t,e,a);var v=r?r+"-":"",p=gr(o,"labelWidth",r),g=gr(o,"labelHeight",r),m=e.pstyle(v+"text-margin-x").pfValue,y=e.pstyle(v+"text-margin-y").pfValue,b=e.isEdge(),w=e.pstyle("text-halign").value,C=e.pstyle("text-valign").value;b&&(w="center",C="center"),c+=m,u+=y;var x;switch(n?x=this.getTextAngle(e,r):x=0,x!==0&&(d=c,f=u,t.translate(d,f),t.rotate(x),c=0,u=0),C){case"top":break;case"center":u+=g/2;break;case"bottom":u+=g;break}var k=e.pstyle("text-background-opacity").value,E=e.pstyle("text-border-opacity").value,_=e.pstyle("text-border-width").pfValue,S=e.pstyle("text-background-padding").pfValue,T=e.pstyle("text-background-shape").strValue,N=T.indexOf("round")===0,B=2;if(k>0||_>0&&E>0){var O=c-S;switch(w){case"left":O-=p;break;case"center":O-=p/2;break}var D=u-g-S,R=p+2*S,P=g+2*S;if(k>0){var L=t.fillStyle,A=e.pstyle("text-background-color").value;t.fillStyle="rgba("+A[0]+","+A[1]+","+A[2]+","+k*l+")",N?_c(t,O,D,R,P,B):t.fillRect(O,D,R,P),t.fillStyle=L}if(_>0&&E>0){var q=t.strokeStyle,U=t.lineWidth,z=e.pstyle("text-border-color").value,H=e.pstyle("text-border-style").value;if(t.strokeStyle="rgba("+z[0]+","+z[1]+","+z[2]+","+E*l+")",t.lineWidth=_,t.setLineDash)switch(H){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=_/4,t.setLineDash([]);break;case"solid":t.setLineDash([]);break}if(N?_c(t,O,D,R,P,B,"stroke"):t.strokeRect(O,D,R,P),H==="double"){var Q=_/2;N?_c(t,O+Q,D+Q,R-Q*2,P-Q*2,B,"stroke"):t.strokeRect(O+Q,D+Q,R-Q*2,P-Q*2)}t.setLineDash&&t.setLineDash([]),t.lineWidth=U,t.strokeStyle=q}}var F=2*e.pstyle("text-outline-width").pfValue;if(F>0&&(t.lineWidth=F),e.pstyle("text-wrap").value==="wrap"){var $=gr(o,"labelWrapCachedLines",r),V=gr(o,"labelLineHeight",r),G=p/2,j=this.getLabelJustification(e);switch(j==="auto"||(w==="left"?j==="left"?c+=-p:j==="center"&&(c+=-G):w==="center"?j==="left"?c+=-G:j==="right"&&(c+=G):w==="right"&&(j==="center"?c+=G:j==="right"&&(c+=p))),C){case"top":u-=($.length-1)*V;break;case"center":case"bottom":u-=($.length-1)*V;break}for(var M=0;M<$.length;M++)F>0&&t.strokeText($[M],c,u),t.fillText($[M],c,u),u+=V}else F>0&&t.strokeText(h,c,u),t.fillText(h,c,u);x!==0&&(t.rotate(-x),t.translate(-d,-f))}}};var ii={};ii.drawNode=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,o=this,l,c,u=e._private,d=u.rscratch,f=e.position();if(!(!de(f.x)||!de(f.y))&&!(i&&!e.visible())){var h=i?e.effectiveOpacity():1,v=o.usePaths(),p,g=!1,m=e.padding();l=e.width()+2*m,c=e.height()+2*m;var y;r&&(y=r,t.translate(-y.x1,-y.y1));for(var b=e.pstyle("background-image"),w=b.value,C=new Array(w.length),x=new Array(w.length),k=0,E=0;E<w.length;E++){var _=w[E],S=C[E]=_!=null&&_!=="none";if(S){var T=e.cy().style().getIndexedStyle(e,"background-image-crossorigin","value",E);k++,x[E]=o.getCachedImage(_,T,function(){u.backgroundTimestamp=Date.now(),e.emitAndNotify("background")})}}var N=e.pstyle("background-blacken").value,B=e.pstyle("border-width").pfValue,O=e.pstyle("background-opacity").value*h,D=e.pstyle("border-color").value,R=e.pstyle("border-style").value,P=e.pstyle("border-join").value,L=e.pstyle("border-cap").value,A=e.pstyle("border-position").value,q=e.pstyle("border-dash-pattern").pfValue,U=e.pstyle("border-dash-offset").pfValue,z=e.pstyle("border-opacity").value*h,H=e.pstyle("outline-width").pfValue,Q=e.pstyle("outline-color").value,F=e.pstyle("outline-style").value,$=e.pstyle("outline-opacity").value*h,V=e.pstyle("outline-offset").value,G=e.pstyle("corner-radius").value;G!=="auto"&&(G=e.pstyle("corner-radius").pfValue);var j=function(){var le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:O;o.eleFillStyle(t,e,le)},M=function(){var le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:z;o.colorStrokeStyle(t,D[0],D[1],D[2],le)},W=function(){var le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:$;o.colorStrokeStyle(t,Q[0],Q[1],Q[2],le)},Y=function(le,ee,oe,me){var be=o.nodePathCache=o.nodePathCache||[],ye=F0(oe==="polygon"?oe+","+me.join(","):oe,""+ee,""+le,""+G),_e=be[ye],ge,Ce=!1;return _e!=null?(ge=_e,Ce=!0,d.pathCache=ge):(ge=new Path2D,be[ye]=d.pathCache=ge),{path:ge,cacheHit:Ce}},se=e.pstyle("shape").strValue,ce=e.pstyle("shape-polygon-points").pfValue;if(v){t.translate(f.x,f.y);var ae=Y(l,c,se,ce);p=ae.path,g=ae.cacheHit}var ne=function(){if(!g){var le=f;v&&(le={x:0,y:0}),o.nodeShapes[o.getNodeShape(e)].draw(p||t,le.x,le.y,l,c,G,d)}v?t.fill(p):t.fill()},ue=function(){for(var le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:h,ee=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,oe=u.backgrounding,me=0,be=0;be<x.length;be++){var ye=e.cy().style().getIndexedStyle(e,"background-image-containment","value",be);if(ee&&ye==="over"||!ee&&ye==="inside"){me++;continue}C[be]&&x[be].complete&&!x[be].error&&(me++,o.drawInscribedImage(t,x[be],e,be,le))}u.backgrounding=me!==k,oe!==u.backgrounding&&e.updateStyle(!1)},ie=function(){var le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,ee=arguments.length>1&&arguments[1]!==void 0?arguments[1]:h;o.hasPie(e)&&(o.drawPie(t,e,ee),le&&(v||o.nodeShapes[o.getNodeShape(e)].draw(t,f.x,f.y,l,c,G,d)))},fe=function(){var le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:h,ee=(N>0?N:-N)*le,oe=N>0?0:255;N!==0&&(o.colorFillStyle(t,oe,oe,oe,ee),v?t.fill(p):t.fill())},pe=function(){if(B>0){if(t.lineWidth=B,t.lineCap=L,t.lineJoin=P,t.setLineDash)switch(R){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(q),t.lineDashOffset=U;break;case"solid":case"double":t.setLineDash([]);break}if(A!=="center"){if(t.save(),t.lineWidth*=2,A==="inside")v?t.clip(p):t.clip();else{var le=new Path2D;le.rect(-l/2-B,-c/2-B,l+2*B,c+2*B),le.addPath(p),t.clip(le,"evenodd")}v?t.stroke(p):t.stroke(),t.restore()}else v?t.stroke(p):t.stroke();if(R==="double"){t.lineWidth=B/3;var ee=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",v?t.stroke(p):t.stroke(),t.globalCompositeOperation=ee}t.setLineDash&&t.setLineDash([])}},De=function(){if(H>0){if(t.lineWidth=H,t.lineCap="butt",t.setLineDash)switch(F){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}var le=f;v&&(le={x:0,y:0});var ee=o.getNodeShape(e),oe=B;A==="inside"&&(oe=0),A==="outside"&&(oe*=2);var me=(l+oe+(H+V))/l,be=(c+oe+(H+V))/c,ye=l*me,_e=c*be,ge=o.nodeShapes[ee].points,Ce;if(v){var je=Y(ye,_e,ee,ge);Ce=je.path}if(ee==="ellipse")o.drawEllipsePath(Ce||t,le.x,le.y,ye,_e);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(ee)){var qe=0,it=0,ot=0;ee==="round-diamond"?qe=(oe+V+H)*1.4:ee==="round-heptagon"?(qe=(oe+V+H)*1.075,ot=-(oe/2+V+H)/35):ee==="round-hexagon"?qe=(oe+V+H)*1.12:ee==="round-pentagon"?(qe=(oe+V+H)*1.13,ot=-(oe/2+V+H)/15):ee==="round-tag"?(qe=(oe+V+H)*1.12,it=(oe/2+H+V)*.07):ee==="round-triangle"&&(qe=(oe+V+H)*(Math.PI/2),ot=-(oe+V/2+H)/Math.PI),qe!==0&&(me=(l+qe)/l,ye=l*me,["round-hexagon","round-tag"].includes(ee)||(be=(c+qe)/c,_e=c*be)),G=G==="auto"?Q0(ye,_e):G;for(var et=ye/2,At=_e/2,pt=G+(oe+H+V)/2,mt=new Array(ge.length/2),Jt=new Array(ge.length/2),Rt=0;Rt<ge.length/2;Rt++)mt[Rt]={x:le.x+it+et*ge[Rt*2],y:le.y+ot+At*ge[Rt*2+1]};var Lt,lr,Cr,jt,tt=mt.length;for(lr=mt[tt-1],Lt=0;Lt<tt;Lt++)Cr=mt[Lt%tt],jt=mt[(Lt+1)%tt],Jt[Lt]=wc(lr,Cr,jt,pt),lr=Cr,Cr=jt;o.drawRoundPolygonPath(Ce||t,le.x+it,le.y+ot,l*me,c*be,ge,Jt)}else if(["roundrectangle","round-rectangle"].includes(ee))G=G==="auto"?ta(ye,_e):G,o.drawRoundRectanglePath(Ce||t,le.x,le.y,ye,_e,G+(oe+H+V)/2);else if(["cutrectangle","cut-rectangle"].includes(ee))G=G==="auto"?Gu():G,o.drawCutRectanglePath(Ce||t,le.x,le.y,ye,_e,null,G+(oe+H+V)/4);else if(["bottomroundrectangle","bottom-round-rectangle"].includes(ee))G=G==="auto"?ta(ye,_e):G,o.drawBottomRoundRectanglePath(Ce||t,le.x,le.y,ye,_e,G+(oe+H+V)/2);else if(ee==="barrel")o.drawBarrelPath(Ce||t,le.x,le.y,ye,_e);else if(ee.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(ee)){var st=(oe+H+V)/l;ge=Es(xs(ge,st)),o.drawPolygonPath(Ce||t,le.x,le.y,l,c,ge)}else{var yt=(oe+H+V)/l;ge=Es(xs(ge,-yt)),o.drawPolygonPath(Ce||t,le.x,le.y,l,c,ge)}if(v?t.stroke(Ce):t.stroke(),F==="double"){t.lineWidth=oe/3;var Pn=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",v?t.stroke(Ce):t.stroke(),t.globalCompositeOperation=Pn}t.setLineDash&&t.setLineDash([])}},Ie=function(){a&&o.drawNodeOverlay(t,e,f,l,c)},we=function(){a&&o.drawNodeUnderlay(t,e,f,l,c)},xe=function(){o.drawElementText(t,e,null,n)},re=e.pstyle("ghost").value==="yes";if(re){var I=e.pstyle("ghost-offset-x").pfValue,K=e.pstyle("ghost-offset-y").pfValue,te=e.pstyle("ghost-opacity").value,Z=te*h;t.translate(I,K),W(),De(),j(te*O),ne(),ue(Z,!0),M(te*z),pe(),ie(N!==0||B!==0),ue(Z,!1),fe(Z),t.translate(-I,-K)}v&&t.translate(-f.x,-f.y),we(),v&&t.translate(f.x,f.y),W(),De(),j(),ne(),ue(h,!0),M(),pe(),ie(N!==0||B!==0),ue(h,!1),fe(),v&&t.translate(-f.x,-f.y),xe(),Ie(),r&&t.translate(y.x1,y.y1)}};var rw=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,n,a,i,o){var l=this;if(n.visible()){var c=n.pstyle("".concat(e,"-padding")).pfValue,u=n.pstyle("".concat(e,"-opacity")).value,d=n.pstyle("".concat(e,"-color")).value,f=n.pstyle("".concat(e,"-shape")).value,h=n.pstyle("".concat(e,"-corner-radius")).value;if(u>0){if(a=a||n.position(),i==null||o==null){var v=n.padding();i=n.width()+2*v,o=n.height()+2*v}l.colorFillStyle(r,d[0],d[1],d[2],u),l.nodeShapes[f].draw(r,a.x,a.y,i+c*2,o+c*2,h),r.fill()}}}};ii.drawNodeOverlay=rw("overlay"),ii.drawNodeUnderlay=rw("underlay"),ii.hasPie=function(t){return t=t[0],t._private.hasPie},ii.drawPie=function(t,e,r,n){e=e[0],n=n||e.position();var a=e.cy().style(),i=e.pstyle("pie-size"),o=n.x,l=n.y,c=e.width(),u=e.height(),d=Math.min(c,u)/2,f=0,h=this.usePaths();h&&(o=0,l=0),i.units==="%"?d=d*i.pfValue:i.pfValue!==void 0&&(d=i.pfValue/2);for(var v=1;v<=a.pieBackgroundN;v++){var p=e.pstyle("pie-"+v+"-background-size").value,g=e.pstyle("pie-"+v+"-background-color").value,m=e.pstyle("pie-"+v+"-background-opacity").value*r,y=p/100;y+f>1&&(y=1-f);var b=1.5*Math.PI+2*Math.PI*f,w=2*Math.PI*y,C=b+w;p===0||f>=1||f+y>1||(t.beginPath(),t.moveTo(o,l),t.arc(o,l,d,b,C),t.closePath(),this.colorFillStyle(t,g[0],g[1],g[2],m),t.fill(),f+=y)}};var Xt={},q3=100;Xt.getPixelRatio=function(){var t=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=this.cy.window(),r=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(e.devicePixelRatio||1)/r},Xt.paintCache=function(t){for(var e=this.paintCaches=this.paintCaches||[],r=!0,n,a=0;a<e.length;a++)if(n=e[a],n.context===t){r=!1;break}return r&&(n={context:t},e.push(n)),n},Xt.createGradientStyleFor=function(t,e,r,n,a){var i,o=this.usePaths(),l=r.pstyle(e+"-gradient-stop-colors").value,c=r.pstyle(e+"-gradient-stop-positions").pfValue;if(n==="radial-gradient")if(r.isEdge()){var u=r.sourceEndpoint(),d=r.targetEndpoint(),f=r.midpoint(),h=Jn(u,f),v=Jn(d,f);i=t.createRadialGradient(f.x,f.y,0,f.x,f.y,Math.max(h,v))}else{var p=o?{x:0,y:0}:r.position(),g=r.paddedWidth(),m=r.paddedHeight();i=t.createRadialGradient(p.x,p.y,0,p.x,p.y,Math.max(g,m))}else if(r.isEdge()){var y=r.sourceEndpoint(),b=r.targetEndpoint();i=t.createLinearGradient(y.x,y.y,b.x,b.y)}else{var w=o?{x:0,y:0}:r.position(),C=r.paddedWidth(),x=r.paddedHeight(),k=C/2,E=x/2,_=r.pstyle("background-gradient-direction").value;switch(_){case"to-bottom":i=t.createLinearGradient(w.x,w.y-E,w.x,w.y+E);break;case"to-top":i=t.createLinearGradient(w.x,w.y+E,w.x,w.y-E);break;case"to-left":i=t.createLinearGradient(w.x+k,w.y,w.x-k,w.y);break;case"to-right":i=t.createLinearGradient(w.x-k,w.y,w.x+k,w.y);break;case"to-bottom-right":case"to-right-bottom":i=t.createLinearGradient(w.x-k,w.y-E,w.x+k,w.y+E);break;case"to-top-right":case"to-right-top":i=t.createLinearGradient(w.x-k,w.y+E,w.x+k,w.y-E);break;case"to-bottom-left":case"to-left-bottom":i=t.createLinearGradient(w.x+k,w.y-E,w.x-k,w.y+E);break;case"to-top-left":case"to-left-top":i=t.createLinearGradient(w.x+k,w.y+E,w.x-k,w.y-E);break}}if(!i)return null;for(var S=c.length===l.length,T=l.length,N=0;N<T;N++)i.addColorStop(S?c[N]:N/(T-1),"rgba("+l[N][0]+","+l[N][1]+","+l[N][2]+","+a+")");return i},Xt.gradientFillStyle=function(t,e,r,n){var a=this.createGradientStyleFor(t,"background",e,r,n);if(!a)return null;t.fillStyle=a},Xt.colorFillStyle=function(t,e,r,n,a){t.fillStyle="rgba("+e+","+r+","+n+","+a+")"},Xt.eleFillStyle=function(t,e,r){var n=e.pstyle("background-fill").value;if(n==="linear-gradient"||n==="radial-gradient")this.gradientFillStyle(t,e,n,r);else{var a=e.pstyle("background-color").value;this.colorFillStyle(t,a[0],a[1],a[2],r)}},Xt.gradientStrokeStyle=function(t,e,r,n){var a=this.createGradientStyleFor(t,"line",e,r,n);if(!a)return null;t.strokeStyle=a},Xt.colorStrokeStyle=function(t,e,r,n,a){t.strokeStyle="rgba("+e+","+r+","+n+","+a+")"},Xt.eleStrokeStyle=function(t,e,r){var n=e.pstyle("line-fill").value;if(n==="linear-gradient"||n==="radial-gradient")this.gradientStrokeStyle(t,e,n,r);else{var a=e.pstyle("line-color").value;this.colorStrokeStyle(t,a[0],a[1],a[2],r)}},Xt.matchCanvasSize=function(t){var e=this,r=e.data,n=e.findContainerClientCoords(),a=n[2],i=n[3],o=e.getPixelRatio(),l=e.motionBlurPxRatio;(t===e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE]||t===e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG])&&(o=l);var c=a*o,u=i*o,d;if(!(c===e.canvasWidth&&u===e.canvasHeight)){e.fontCaches=null;var f=r.canvasContainer;f.style.width=a+"px",f.style.height=i+"px";for(var h=0;h<e.CANVAS_LAYERS;h++)d=r.canvases[h],d.width=c,d.height=u,d.style.width=a+"px",d.style.height=i+"px";for(var h=0;h<e.BUFFER_COUNT;h++)d=r.bufferCanvases[h],d.width=c,d.height=u,d.style.width=a+"px",d.style.height=i+"px";e.textureMult=1,o<=1&&(d=r.bufferCanvases[e.TEXTURE_BUFFER],e.textureMult=2,d.width=c*e.textureMult,d.height=u*e.textureMult),e.canvasWidth=c,e.canvasHeight=u}},Xt.renderTo=function(t,e,r,n){this.render({forcedContext:t,forcedZoom:e,forcedPan:r,drawAllLayers:!0,forcedPxRatio:n})},Xt.render=function(t){t=t||K0();var e=t.forcedContext,r=t.drawAllLayers,n=t.drawOnlyNodeLayer,a=t.forcedZoom,i=t.forcedPan,o=this,l=t.forcedPxRatio===void 0?this.getPixelRatio():t.forcedPxRatio,c=o.cy,u=o.data,d=u.canvasNeedsRedraw,f=o.textureOnViewport&&!e&&(o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming),h=t.motionBlur!==void 0?t.motionBlur:o.motionBlur,v=o.motionBlurPxRatio,p=c.hasCompoundNodes(),g=o.hoverData.draggingEles,m=!!(o.hoverData.selecting||o.touchData.selecting);h=h&&!e&&o.motionBlurEnabled&&!m;var y=h;e||(o.prevPxRatio!==l&&(o.invalidateContainerClientCoordsCache(),o.matchCanvasSize(o.container),o.redrawHint("eles",!0),o.redrawHint("drag",!0)),o.prevPxRatio=l),!e&&o.motionBlurTimeout&&clearTimeout(o.motionBlurTimeout),h&&(o.mbFrames==null&&(o.mbFrames=0),o.mbFrames++,o.mbFrames<3&&(y=!1),o.mbFrames>o.minMbLowQualFrames&&(o.motionBlurPxRatio=o.mbPxRBlurry)),o.clearingMotionBlur&&(o.motionBlurPxRatio=1),o.textureDrawLastFrame&&!f&&(d[o.NODE]=!0,d[o.SELECT_BOX]=!0);var b=c.style(),w=c.zoom(),C=a!==void 0?a:w,x=c.pan(),k={x:x.x,y:x.y},E={zoom:w,pan:{x:x.x,y:x.y}},_=o.prevViewport,S=_===void 0||E.zoom!==_.zoom||E.pan.x!==_.pan.x||E.pan.y!==_.pan.y;!S&&!(g&&!p)&&(o.motionBlurPxRatio=1),i&&(k=i),C*=l,k.x*=l,k.y*=l;var T=o.getCachedZSortedEles();function N(ae,ne,ue,ie,fe){var pe=ae.globalCompositeOperation;ae.globalCompositeOperation="destination-out",o.colorFillStyle(ae,255,255,255,o.motionBlurTransparency),ae.fillRect(ne,ue,ie,fe),ae.globalCompositeOperation=pe}function B(ae,ne){var ue,ie,fe,pe;!o.clearingMotionBlur&&(ae===u.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]||ae===u.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG])?(ue={x:x.x*v,y:x.y*v},ie=w*v,fe=o.canvasWidth*v,pe=o.canvasHeight*v):(ue=k,ie=C,fe=o.canvasWidth,pe=o.canvasHeight),ae.setTransform(1,0,0,1,0,0),ne==="motionBlur"?N(ae,0,0,fe,pe):!e&&(ne===void 0||ne)&&ae.clearRect(0,0,fe,pe),r||(ae.translate(ue.x,ue.y),ae.scale(ie,ie)),i&&ae.translate(i.x,i.y),a&&ae.scale(a,a)}if(f||(o.textureDrawLastFrame=!1),f){if(o.textureDrawLastFrame=!0,!o.textureCache){o.textureCache={},o.textureCache.bb=c.mutableElements().boundingBox(),o.textureCache.texture=o.data.bufferCanvases[o.TEXTURE_BUFFER];var O=o.data.bufferContexts[o.TEXTURE_BUFFER];O.setTransform(1,0,0,1,0,0),O.clearRect(0,0,o.canvasWidth*o.textureMult,o.canvasHeight*o.textureMult),o.render({forcedContext:O,drawOnlyNodeLayer:!0,forcedPxRatio:l*o.textureMult});var E=o.textureCache.viewport={zoom:c.zoom(),pan:c.pan(),width:o.canvasWidth,height:o.canvasHeight};E.mpan={x:(0-E.pan.x)/E.zoom,y:(0-E.pan.y)/E.zoom}}d[o.DRAG]=!1,d[o.NODE]=!1;var D=u.contexts[o.NODE],R=o.textureCache.texture,E=o.textureCache.viewport;D.setTransform(1,0,0,1,0,0),h?N(D,0,0,E.width,E.height):D.clearRect(0,0,E.width,E.height);var P=b.core("outside-texture-bg-color").value,L=b.core("outside-texture-bg-opacity").value;o.colorFillStyle(D,P[0],P[1],P[2],L),D.fillRect(0,0,E.width,E.height);var w=c.zoom();B(D,!1),D.clearRect(E.mpan.x,E.mpan.y,E.width/E.zoom/l,E.height/E.zoom/l),D.drawImage(R,E.mpan.x,E.mpan.y,E.width/E.zoom/l,E.height/E.zoom/l)}else o.textureOnViewport&&!e&&(o.textureCache=null);var A=c.extent(),q=o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming||o.hoverData.draggingEles||o.cy.animated(),U=o.hideEdgesOnViewport&&q,z=[];if(z[o.NODE]=!d[o.NODE]&&h&&!o.clearedForMotionBlur[o.NODE]||o.clearingMotionBlur,z[o.NODE]&&(o.clearedForMotionBlur[o.NODE]=!0),z[o.DRAG]=!d[o.DRAG]&&h&&!o.clearedForMotionBlur[o.DRAG]||o.clearingMotionBlur,z[o.DRAG]&&(o.clearedForMotionBlur[o.DRAG]=!0),d[o.NODE]||r||n||z[o.NODE]){var H=h&&!z[o.NODE]&&v!==1,D=e||(H?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]:u.contexts[o.NODE]),Q=h&&!H?"motionBlur":void 0;B(D,Q),U?o.drawCachedNodes(D,T.nondrag,l,A):o.drawLayeredElements(D,T.nondrag,l,A),o.debug&&o.drawDebugPoints(D,T.nondrag),!r&&!h&&(d[o.NODE]=!1)}if(!n&&(d[o.DRAG]||r||z[o.DRAG])){var H=h&&!z[o.DRAG]&&v!==1,D=e||(H?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]:u.contexts[o.DRAG]);B(D,h&&!H?"motionBlur":void 0),U?o.drawCachedNodes(D,T.drag,l,A):o.drawCachedElements(D,T.drag,l,A),o.debug&&o.drawDebugPoints(D,T.drag),!r&&!h&&(d[o.DRAG]=!1)}if(o.showFps||!n&&d[o.SELECT_BOX]&&!r){var D=e||u.contexts[o.SELECT_BOX];if(B(D),o.selection[4]==1&&(o.hoverData.selecting||o.touchData.selecting)){var w=o.cy.zoom(),F=b.core("selection-box-border-width").value/w;D.lineWidth=F,D.fillStyle="rgba("+b.core("selection-box-color").value[0]+","+b.core("selection-box-color").value[1]+","+b.core("selection-box-color").value[2]+","+b.core("selection-box-opacity").value+")",D.fillRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]),F>0&&(D.strokeStyle="rgba("+b.core("selection-box-border-color").value[0]+","+b.core("selection-box-border-color").value[1]+","+b.core("selection-box-border-color").value[2]+","+b.core("selection-box-opacity").value+")",D.strokeRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]))}if(u.bgActivePosistion&&!o.hoverData.selecting){var w=o.cy.zoom(),$=u.bgActivePosistion;D.fillStyle="rgba("+b.core("active-bg-color").value[0]+","+b.core("active-bg-color").value[1]+","+b.core("active-bg-color").value[2]+","+b.core("active-bg-opacity").value+")",D.beginPath(),D.arc($.x,$.y,b.core("active-bg-size").pfValue/w,0,2*Math.PI),D.fill()}var V=o.lastRedrawTime;if(o.showFps&&V){V=Math.round(V);var G=Math.round(1e3/V);D.setTransform(1,0,0,1,0,0),D.fillStyle="rgba(255, 0, 0, 0.75)",D.strokeStyle="rgba(255, 0, 0, 0.75)",D.lineWidth=1,D.fillText("1 frame = "+V+" ms = "+G+" fps",0,20);var j=60;D.strokeRect(0,30,250,20),D.fillRect(0,30,250*Math.min(G/j,1),20)}r||(d[o.SELECT_BOX]=!1)}if(h&&v!==1){var M=u.contexts[o.NODE],W=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_NODE],Y=u.contexts[o.DRAG],se=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_DRAG],ce=function(ne,ue,ie){ne.setTransform(1,0,0,1,0,0),ie||!y?ne.clearRect(0,0,o.canvasWidth,o.canvasHeight):N(ne,0,0,o.canvasWidth,o.canvasHeight);var fe=v;ne.drawImage(ue,0,0,o.canvasWidth*fe,o.canvasHeight*fe,0,0,o.canvasWidth,o.canvasHeight)};(d[o.NODE]||z[o.NODE])&&(ce(M,W,z[o.NODE]),d[o.NODE]=!1),(d[o.DRAG]||z[o.DRAG])&&(ce(Y,se,z[o.DRAG]),d[o.DRAG]=!1)}o.prevViewport=E,o.clearingMotionBlur&&(o.clearingMotionBlur=!1,o.motionBlurCleared=!0,o.motionBlur=!0),h&&(o.motionBlurTimeout=setTimeout(function(){o.motionBlurTimeout=null,o.clearedForMotionBlur[o.NODE]=!1,o.clearedForMotionBlur[o.DRAG]=!1,o.motionBlur=!1,o.clearingMotionBlur=!f,o.mbFrames=0,d[o.NODE]=!0,d[o.DRAG]=!0,o.redraw()},q3)),e||c.emit("render")};var In={};In.drawPolygonPath=function(t,e,r,n,a,i){var o=n/2,l=a/2;t.beginPath&&t.beginPath(),t.moveTo(e+o*i[0],r+l*i[1]);for(var c=1;c<i.length/2;c++)t.lineTo(e+o*i[c*2],r+l*i[c*2+1]);t.closePath()},In.drawRoundPolygonPath=function(t,e,r,n,a,i,o){o.forEach(function(l){return L1(t,l)}),t.closePath()},In.drawRoundRectanglePath=function(t,e,r,n,a,i){var o=n/2,l=a/2,c=i==="auto"?ta(n,a):Math.min(i,l,o);t.beginPath&&t.beginPath(),t.moveTo(e,r-l),t.arcTo(e+o,r-l,e+o,r,c),t.arcTo(e+o,r+l,e,r+l,c),t.arcTo(e-o,r+l,e-o,r,c),t.arcTo(e-o,r-l,e,r-l,c),t.lineTo(e,r-l),t.closePath()},In.drawBottomRoundRectanglePath=function(t,e,r,n,a,i){var o=n/2,l=a/2,c=i==="auto"?ta(n,a):i;t.beginPath&&t.beginPath(),t.moveTo(e,r-l),t.lineTo(e+o,r-l),t.lineTo(e+o,r),t.arcTo(e+o,r+l,e,r+l,c),t.arcTo(e-o,r+l,e-o,r,c),t.lineTo(e-o,r-l),t.lineTo(e,r-l),t.closePath()},In.drawCutRectanglePath=function(t,e,r,n,a,i,o){var l=n/2,c=a/2,u=o==="auto"?Gu():o;t.beginPath&&t.beginPath(),t.moveTo(e-l+u,r-c),t.lineTo(e+l-u,r-c),t.lineTo(e+l,r-c+u),t.lineTo(e+l,r+c-u),t.lineTo(e+l-u,r+c),t.lineTo(e-l+u,r+c),t.lineTo(e-l,r+c-u),t.lineTo(e-l,r-c+u),t.closePath()},In.drawBarrelPath=function(t,e,r,n,a){var i=n/2,o=a/2,l=e-i,c=e+i,u=r-o,d=r+o,f=Uu(n,a),h=f.widthOffset,v=f.heightOffset,p=f.ctrlPtOffsetPct*h;t.beginPath&&t.beginPath(),t.moveTo(l,u+v),t.lineTo(l,d-v),t.quadraticCurveTo(l+p,d,l+h,d),t.lineTo(c-h,d),t.quadraticCurveTo(c-p,d,c,d-v),t.lineTo(c,u+v),t.quadraticCurveTo(c-p,u,c-h,u),t.lineTo(l+h,u),t.quadraticCurveTo(l+p,u,l,u+v),t.closePath()};for(var nw=Math.sin(0),aw=Math.cos(0),Tc={},Nc={},iw=Math.PI/40,oi=0*Math.PI;oi<2*Math.PI;oi+=iw)Tc[oi]=Math.sin(oi),Nc[oi]=Math.cos(oi);In.drawEllipsePath=function(t,e,r,n,a){if(t.beginPath&&t.beginPath(),t.ellipse)t.ellipse(e,r,n/2,a/2,0,0,2*Math.PI);else for(var i,o,l=n/2,c=a/2,u=0*Math.PI;u<2*Math.PI;u+=iw)i=e-l*Tc[u]*nw+l*Nc[u]*aw,o=r+c*Nc[u]*nw+c*Tc[u]*aw,u===0?t.moveTo(i,o):t.lineTo(i,o);t.closePath()};var bo={};bo.createBuffer=function(t,e){var r=document.createElement("canvas");return r.width=t,r.height=e,[r,r.getContext("2d")]},bo.bufferCanvasImage=function(t){var e=this.cy,r=e.mutableElements(),n=r.boundingBox(),a=this.findContainerClientCoords(),i=t.full?Math.ceil(n.w):a[2],o=t.full?Math.ceil(n.h):a[3],l=de(t.maxWidth)||de(t.maxHeight),c=this.getPixelRatio(),u=1;if(t.scale!==void 0)i*=t.scale,o*=t.scale,u=t.scale;else if(l){var d=1/0,f=1/0;de(t.maxWidth)&&(d=u*t.maxWidth/i),de(t.maxHeight)&&(f=u*t.maxHeight/o),u=Math.min(d,f),i*=u,o*=u}l||(i*=c,o*=c,u*=c);var h=document.createElement("canvas");h.width=i,h.height=o,h.style.width=i+"px",h.style.height=o+"px";var v=h.getContext("2d");if(i>0&&o>0){v.clearRect(0,0,i,o),v.globalCompositeOperation="source-over";var p=this.getCachedZSortedEles();if(t.full)v.translate(-n.x1*u,-n.y1*u),v.scale(u,u),this.drawElements(v,p),v.scale(1/u,1/u),v.translate(n.x1*u,n.y1*u);else{var g=e.pan(),m={x:g.x*u,y:g.y*u};u*=e.zoom(),v.translate(m.x,m.y),v.scale(u,u),this.drawElements(v,p),v.scale(1/u,1/u),v.translate(-m.x,-m.y)}t.bg&&(v.globalCompositeOperation="destination-over",v.fillStyle=t.bg,v.rect(0,0,i,o),v.fill())}return h};function z3(t,e){for(var r=atob(t),n=new ArrayBuffer(r.length),a=new Uint8Array(n),i=0;i<r.length;i++)a[i]=r.charCodeAt(i);return new Blob([n],{type:e})}function ow(t){var e=t.indexOf(",");return t.substr(e+1)}function sw(t,e,r){var n=function(){return e.toDataURL(r,t.quality)};switch(t.output){case"blob-promise":return new Ha(function(a,i){try{e.toBlob(function(o){o!=null?a(o):i(new Error("`canvas.toBlob()` sent a null value in its callback"))},r,t.quality)}catch(o){i(o)}});case"blob":return z3(ow(n()),r);case"base64":return ow(n());case"base64uri":default:return n()}}bo.png=function(t){return sw(t,this.bufferCanvasImage(t),"image/png")},bo.jpg=function(t){return sw(t,this.bufferCanvasImage(t),"image/jpeg")};var lw={};lw.nodeShapeImpl=function(t,e,r,n,a,i,o,l){switch(t){case"ellipse":return this.drawEllipsePath(e,r,n,a,i);case"polygon":return this.drawPolygonPath(e,r,n,a,i,o);case"round-polygon":return this.drawRoundPolygonPath(e,r,n,a,i,o,l);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(e,r,n,a,i,l);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(e,r,n,a,i,o,l);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(e,r,n,a,i,l);case"barrel":return this.drawBarrelPath(e,r,n,a,i)}};var H3=uw,Me=uw.prototype;Me.CANVAS_LAYERS=3,Me.SELECT_BOX=0,Me.DRAG=1,Me.NODE=2,Me.BUFFER_COUNT=3,Me.TEXTURE_BUFFER=0,Me.MOTIONBLUR_BUFFER_NODE=1,Me.MOTIONBLUR_BUFFER_DRAG=2;function uw(t){var e=this,r=e.cy.window(),n=r.document;e.data={canvases:new Array(Me.CANVAS_LAYERS),contexts:new Array(Me.CANVAS_LAYERS),canvasNeedsRedraw:new Array(Me.CANVAS_LAYERS),bufferCanvases:new Array(Me.BUFFER_COUNT),bufferContexts:new Array(Me.CANVAS_LAYERS)};var a="-webkit-tap-highlight-color",i="rgba(0,0,0,0)";e.data.canvasContainer=n.createElement("div");var o=e.data.canvasContainer.style;e.data.canvasContainer.style[a]=i,o.position="relative",o.zIndex="0",o.overflow="hidden";var l=t.cy.container();l.appendChild(e.data.canvasContainer),l.style[a]=i;var c={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};BM()&&(c["-ms-touch-action"]="none",c["touch-action"]="none");for(var u=0;u<Me.CANVAS_LAYERS;u++){var d=e.data.canvases[u]=n.createElement("canvas");e.data.contexts[u]=d.getContext("2d"),Object.keys(c).forEach(function(j){d.style[j]=c[j]}),d.style.position="absolute",d.setAttribute("data-id","layer"+u),d.style.zIndex=String(Me.CANVAS_LAYERS-u),e.data.canvasContainer.appendChild(d),e.data.canvasNeedsRedraw[u]=!1}e.data.topCanvas=e.data.canvases[0],e.data.canvases[Me.NODE].setAttribute("data-id","layer"+Me.NODE+"-node"),e.data.canvases[Me.SELECT_BOX].setAttribute("data-id","layer"+Me.SELECT_BOX+"-selectbox"),e.data.canvases[Me.DRAG].setAttribute("data-id","layer"+Me.DRAG+"-drag");for(var u=0;u<Me.BUFFER_COUNT;u++)e.data.bufferCanvases[u]=n.createElement("canvas"),e.data.bufferContexts[u]=e.data.bufferCanvases[u].getContext("2d"),e.data.bufferCanvases[u].style.position="absolute",e.data.bufferCanvases[u].setAttribute("data-id","buffer"+u),e.data.bufferCanvases[u].style.zIndex=String(-u-1),e.data.bufferCanvases[u].style.visibility="hidden";e.pathsEnabled=!0;var f=Kt(),h=function(M){return{x:(M.x1+M.x2)/2,y:(M.y1+M.y2)/2}},v=function(M){return{x:-M.w/2,y:-M.h/2}},p=function(M){var W=M[0]._private,Y=W.oldBackgroundTimestamp===W.backgroundTimestamp;return!Y},g=function(M){return M[0]._private.nodeKey},m=function(M){return M[0]._private.labelStyleKey},y=function(M){return M[0]._private.sourceLabelStyleKey},b=function(M){return M[0]._private.targetLabelStyleKey},w=function(M,W,Y,se,ce){return e.drawElement(M,W,Y,!1,!1,ce)},C=function(M,W,Y,se,ce){return e.drawElementText(M,W,Y,se,"main",ce)},x=function(M,W,Y,se,ce){return e.drawElementText(M,W,Y,se,"source",ce)},k=function(M,W,Y,se,ce){return e.drawElementText(M,W,Y,se,"target",ce)},E=function(M){return M.boundingBox(),M[0]._private.bodyBounds},_=function(M){return M.boundingBox(),M[0]._private.labelBounds.main||f},S=function(M){return M.boundingBox(),M[0]._private.labelBounds.source||f},T=function(M){return M.boundingBox(),M[0]._private.labelBounds.target||f},N=function(M,W){return W},B=function(M){return h(E(M))},O=function(M,W,Y){var se=M?M+"-":"";return{x:W.x+Y.pstyle(se+"text-margin-x").pfValue,y:W.y+Y.pstyle(se+"text-margin-y").pfValue}},D=function(M,W,Y){var se=M[0]._private.rscratch;return{x:se[W],y:se[Y]}},R=function(M){return O("",D(M,"labelX","labelY"),M)},P=function(M){return O("source",D(M,"sourceLabelX","sourceLabelY"),M)},L=function(M){return O("target",D(M,"targetLabelX","targetLabelY"),M)},A=function(M){return v(E(M))},q=function(M){return v(S(M))},U=function(M){return v(T(M))},z=function(M){var W=_(M),Y=v(_(M));if(M.isNode()){switch(M.pstyle("text-halign").value){case"left":Y.x=-W.w;break;case"right":Y.x=0;break}switch(M.pstyle("text-valign").value){case"top":Y.y=-W.h;break;case"bottom":Y.y=0;break}}return Y},H=e.data.eleTxrCache=new mo(e,{getKey:g,doesEleInvalidateKey:p,drawElement:w,getBoundingBox:E,getRotationPoint:B,getRotationOffset:A,allowEdgeTxrCaching:!1,allowParentTxrCaching:!1}),Q=e.data.lblTxrCache=new mo(e,{getKey:m,drawElement:C,getBoundingBox:_,getRotationPoint:R,getRotationOffset:z,isVisible:N}),F=e.data.slbTxrCache=new mo(e,{getKey:y,drawElement:x,getBoundingBox:S,getRotationPoint:P,getRotationOffset:q,isVisible:N}),$=e.data.tlbTxrCache=new mo(e,{getKey:b,drawElement:k,getBoundingBox:T,getRotationPoint:L,getRotationOffset:U,isVisible:N}),V=e.data.lyrTxrCache=new Z1(e);e.onUpdateEleCalcs(function(M,W){H.invalidateElements(W),Q.invalidateElements(W),F.invalidateElements(W),$.invalidateElements(W),V.invalidateElements(W);for(var Y=0;Y<W.length;Y++){var se=W[Y]._private;se.oldBackgroundTimestamp=se.backgroundTimestamp}});var G=function(M){for(var W=0;W<M.length;W++)V.enqueueElementRefinement(M[W].ele)};H.onDequeue(G),Q.onDequeue(G),F.onDequeue(G),$.onDequeue(G)}Me.redrawHint=function(t,e){var r=this;switch(t){case"eles":r.data.canvasNeedsRedraw[Me.NODE]=e;break;case"drag":r.data.canvasNeedsRedraw[Me.DRAG]=e;break;case"select":r.data.canvasNeedsRedraw[Me.SELECT_BOX]=e;break}};var K3=typeof Path2D<"u";Me.path2dEnabled=function(t){if(t===void 0)return this.pathsEnabled;this.pathsEnabled=!!t},Me.usePaths=function(){return K3&&this.pathsEnabled},Me.setImgSmoothing=function(t,e){t.imageSmoothingEnabled!=null?t.imageSmoothingEnabled=e:(t.webkitImageSmoothingEnabled=e,t.mozImageSmoothingEnabled=e,t.msImageSmoothingEnabled=e)},Me.getImgSmoothing=function(t){return t.imageSmoothingEnabled!=null?t.imageSmoothingEnabled:t.webkitImageSmoothingEnabled||t.mozImageSmoothingEnabled||t.msImageSmoothingEnabled},Me.makeOffscreenCanvas=function(t,e){var r;if((typeof OffscreenCanvas>"u"?"undefined":ct(OffscreenCanvas))!=="undefined")r=new OffscreenCanvas(t,e);else{var n=this.cy.window(),a=n.document;r=a.createElement("canvas"),r.width=t,r.height=e}return r},[J1,Ar,Qr,Sc,ua,ii,Xt,In,bo,lw].forEach(function(t){Se(Me,t)});var G3=[{name:"null",impl:T1},{name:"base",impl:U1},{name:"canvas",impl:H3}],U3=[{type:"layout",extensions:Jz},{type:"renderer",extensions:G3}],cw={},dw={};function fw(t,e,r){var n=r,a=function(_){$e("Can not register `"+e+"` for `"+t+"` since `"+_+"` already exists in the prototype and can not be overridden")};if(t==="core"){if(po.prototype[e])return a(e);po.prototype[e]=r}else if(t==="collection"){if(St.prototype[e])return a(e);St.prototype[e]=r}else if(t==="layout"){for(var i=function(_){this.options=_,r.call(this,_),Ae(this._private)||(this._private={}),this._private.cy=_.cy,this._private.listeners=[],this.createEmitter()},o=i.prototype=Object.create(r.prototype),l=[],c=0;c<l.length;c++){var u=l[c];o[u]=o[u]||function(){return this}}o.start&&!o.run?o.run=function(){return this.start(),this}:!o.start&&o.run&&(o.start=function(){return this.run(),this});var d=r.prototype.stop;o.stop=function(){var E=this.options;if(E&&E.animate){var _=this.animations;if(_)for(var S=0;S<_.length;S++)_[S].stop()}return d?d.call(this):this.emit("layoutstop"),this},o.destroy||(o.destroy=function(){return this}),o.cy=function(){return this._private.cy};var f=function(_){return _._private.cy},h={addEventFields:function(_,S){S.layout=_,S.cy=f(_),S.target=_},bubble:function(){return!0},parent:function(_){return f(_)}};Se(o,{createEmitter:function(){return this._private.emitter=new Ms(h,this),this},emitter:function(){return this._private.emitter},on:function(_,S){return this.emitter().on(_,S),this},one:function(_,S){return this.emitter().one(_,S),this},once:function(_,S){return this.emitter().one(_,S),this},removeListener:function(_,S){return this.emitter().removeListener(_,S),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},emit:function(_,S){return this.emitter().emit(_,S),this}}),Ve.eventAliasesOn(o),n=i}else if(t==="renderer"&&e!=="null"&&e!=="base"){var v=hw("renderer","base"),p=v.prototype,g=r,m=r.prototype,y=function(){v.apply(this,arguments),g.apply(this,arguments)},b=y.prototype;for(var w in p){var C=p[w],x=m[w]!=null;if(x)return a(w);b[w]=C}for(var k in m)b[k]=m[k];p.clientFunctions.forEach(function(E){b[E]=b[E]||function(){Je("Renderer does not implement `renderer."+E+"()` on its prototype")}}),n=y}else if(t==="__proto__"||t==="constructor"||t==="prototype")return Je(t+" is an illegal type to be registered, possibly lead to prototype pollutions");return N0({map:cw,keys:[t,e],value:n})}function hw(t,e){return I0({map:cw,keys:[t,e]})}function j3(t,e,r,n,a){return N0({map:dw,keys:[t,e,r,n],value:a})}function W3(t,e,r,n){return I0({map:dw,keys:[t,e,r,n]})}var Ic=function(){if(arguments.length===2)return hw.apply(null,arguments);if(arguments.length===3)return fw.apply(null,arguments);if(arguments.length===4)return W3.apply(null,arguments);if(arguments.length===5)return j3.apply(null,arguments);Je("Invalid extension access syntax")};po.prototype.extension=Ic,U3.forEach(function(t){t.extensions.forEach(function(e){fw(t.type,e.name,e.impl)})});var pw=function t(){if(!(this instanceof t))return new t;this.length=0},ca=pw.prototype;ca.instanceString=function(){return"stylesheet"},ca.selector=function(t){var e=this.length++;return this[e]={selector:t,properties:[]},this},ca.css=function(t,e){var r=this.length-1;if(Ee(t))this[r].properties.push({name:t,value:e});else if(Ae(t))for(var n=t,a=Object.keys(n),i=0;i<a.length;i++){var o=a[i],l=n[o];if(l!=null){var c=Dt.properties[o]||Dt.properties[ds(o)];if(c!=null){var u=c.name,d=l;this[r].properties.push({name:u,value:d})}}}return this},ca.style=ca.css,ca.generateStyle=function(t){var e=new Dt(t);return this.appendToStyle(e)},ca.appendToStyle=function(t){for(var e=0;e<this.length;e++){var r=this[e],n=r.selector,a=r.properties;t.selector(n);for(var i=0;i<a.length;i++){var o=a[i];t.css(o.name,o.value)}}return t};var Y3="3.30.2",Bn=function(e){if(e===void 0&&(e={}),Ae(e))return new po(e);if(Ee(e))return Ic.apply(Ic,arguments)};Bn.use=function(t){var e=Array.prototype.slice.call(arguments,1);return e.unshift(Bn),t.apply(null,e),this},Bn.warnings=function(t){return z0(t)},Bn.version=Y3,Bn.stylesheet=Bn.Stylesheet=pw;var vw={exports:{}};function Bc(t){throw new Error('Could not dynamically require "'+t+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Dc,gw;function Z3(){if(gw)return Dc;gw=1;function t(){this.__data__=[],this.size=0}return Dc=t,Dc}var Oc,mw;function si(){if(mw)return Oc;mw=1;function t(e,r){return e===r||e!==e&&r!==r}return Oc=t,Oc}var Pc,yw;function ol(){if(yw)return Pc;yw=1;var t=si();function e(r,n){for(var a=r.length;a--;)if(t(r[a][0],n))return a;return-1}return Pc=e,Pc}var Ac,bw;function X3(){if(bw)return Ac;bw=1;var t=ol(),e=Array.prototype,r=e.splice;function n(a){var i=this.__data__,o=t(i,a);if(o<0)return!1;var l=i.length-1;return o==l?i.pop():r.call(i,o,1),--this.size,!0}return Ac=n,Ac}var Rc,ww;function J3(){if(ww)return Rc;ww=1;var t=ol();function e(r){var n=this.__data__,a=t(n,r);return a<0?void 0:n[a][1]}return Rc=e,Rc}var Lc,Cw;function Q3(){if(Cw)return Lc;Cw=1;var t=ol();function e(r){return t(this.__data__,r)>-1}return Lc=e,Lc}var Mc,Ew;function e4(){if(Ew)return Mc;Ew=1;var t=ol();function e(r,n){var a=this.__data__,i=t(a,r);return i<0?(++this.size,a.push([r,n])):a[i][1]=n,this}return Mc=e,Mc}var Fc,xw;function sl(){if(xw)return Fc;xw=1;var t=Z3(),e=X3(),r=J3(),n=Q3(),a=e4();function i(o){var l=-1,c=o==null?0:o.length;for(this.clear();++l<c;){var u=o[l];this.set(u[0],u[1])}}return i.prototype.clear=t,i.prototype.delete=e,i.prototype.get=r,i.prototype.has=n,i.prototype.set=a,Fc=i,Fc}var $c,kw;function t4(){if(kw)return $c;kw=1;var t=sl();function e(){this.__data__=new t,this.size=0}return $c=e,$c}var Vc,Sw;function r4(){if(Sw)return Vc;Sw=1;function t(e){var r=this.__data__,n=r.delete(e);return this.size=r.size,n}return Vc=t,Vc}var qc,_w;function n4(){if(_w)return qc;_w=1;function t(e){return this.__data__.get(e)}return qc=t,qc}var zc,Tw;function a4(){if(Tw)return zc;Tw=1;function t(e){return this.__data__.has(e)}return zc=t,zc}var Hc,Nw;function Iw(){if(Nw)return Hc;Nw=1;var t=typeof Ai=="object"&&Ai&&Ai.Object===Object&&Ai;return Hc=t,Hc}var Kc,Bw;function br(){if(Bw)return Kc;Bw=1;var t=Iw(),e=typeof self=="object"&&self&&self.Object===Object&&self,r=t||e||Function("return this")();return Kc=r,Kc}var Gc,Dw;function li(){if(Dw)return Gc;Dw=1;var t=br(),e=t.Symbol;return Gc=e,Gc}var Uc,Ow;function i4(){if(Ow)return Uc;Ow=1;var t=li(),e=Object.prototype,r=e.hasOwnProperty,n=e.toString,a=t?t.toStringTag:void 0;function i(o){var l=r.call(o,a),c=o[a];try{o[a]=void 0;var u=!0}catch{}var d=n.call(o);return u&&(l?o[a]=c:delete o[a]),d}return Uc=i,Uc}var jc,Pw;function o4(){if(Pw)return jc;Pw=1;var t=Object.prototype,e=t.toString;function r(n){return e.call(n)}return jc=r,jc}var Wc,Aw;function da(){if(Aw)return Wc;Aw=1;var t=li(),e=i4(),r=o4(),n="[object Null]",a="[object Undefined]",i=t?t.toStringTag:void 0;function o(l){return l==null?l===void 0?a:n:i&&i in Object(l)?e(l):r(l)}return Wc=o,Wc}var Yc,Rw;function or(){if(Rw)return Yc;Rw=1;function t(e){var r=typeof e;return e!=null&&(r=="object"||r=="function")}return Yc=t,Yc}var Zc,Lw;function wo(){if(Lw)return Zc;Lw=1;var t=da(),e=or(),r="[object AsyncFunction]",n="[object Function]",a="[object GeneratorFunction]",i="[object Proxy]";function o(l){if(!e(l))return!1;var c=t(l);return c==n||c==a||c==r||c==i}return Zc=o,Zc}var Xc,Mw;function s4(){if(Mw)return Xc;Mw=1;var t=br(),e=t["__core-js_shared__"];return Xc=e,Xc}var Jc,Fw;function l4(){if(Fw)return Jc;Fw=1;var t=s4(),e=function(){var n=/[^.]+$/.exec(t&&t.keys&&t.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}();function r(n){return!!e&&e in n}return Jc=r,Jc}var Qc,$w;function Vw(){if($w)return Qc;$w=1;var t=Function.prototype,e=t.toString;function r(n){if(n!=null){try{return e.call(n)}catch{}try{return n+""}catch{}}return""}return Qc=r,Qc}var ed,qw;function u4(){if(qw)return ed;qw=1;var t=wo(),e=l4(),r=or(),n=Vw(),a=/[\\^$.*+?()[\]{}|]/g,i=/^\[object .+?Constructor\]$/,o=Function.prototype,l=Object.prototype,c=o.toString,u=l.hasOwnProperty,d=RegExp("^"+c.call(u).replace(a,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function f(h){if(!r(h)||e(h))return!1;var v=t(h)?d:i;return v.test(n(h))}return ed=f,ed}var td,zw;function c4(){if(zw)return td;zw=1;function t(e,r){return e==null?void 0:e[r]}return td=t,td}var rd,Hw;function fa(){if(Hw)return rd;Hw=1;var t=u4(),e=c4();function r(n,a){var i=e(n,a);return t(i)?i:void 0}return rd=r,rd}var nd,Kw;function ad(){if(Kw)return nd;Kw=1;var t=fa(),e=br(),r=t(e,"Map");return nd=r,nd}var id,Gw;function ll(){if(Gw)return id;Gw=1;var t=fa(),e=t(Object,"create");return id=e,id}var od,Uw;function d4(){if(Uw)return od;Uw=1;var t=ll();function e(){this.__data__=t?t(null):{},this.size=0}return od=e,od}var sd,jw;function f4(){if(jw)return sd;jw=1;function t(e){var r=this.has(e)&&delete this.__data__[e];return this.size-=r?1:0,r}return sd=t,sd}var ld,Ww;function h4(){if(Ww)return ld;Ww=1;var t=ll(),e="__lodash_hash_undefined__",r=Object.prototype,n=r.hasOwnProperty;function a(i){var o=this.__data__;if(t){var l=o[i];return l===e?void 0:l}return n.call(o,i)?o[i]:void 0}return ld=a,ld}var ud,Yw;function p4(){if(Yw)return ud;Yw=1;var t=ll(),e=Object.prototype,r=e.hasOwnProperty;function n(a){var i=this.__data__;return t?i[a]!==void 0:r.call(i,a)}return ud=n,ud}var cd,Zw;function v4(){if(Zw)return cd;Zw=1;var t=ll(),e="__lodash_hash_undefined__";function r(n,a){var i=this.__data__;return this.size+=this.has(n)?0:1,i[n]=t&&a===void 0?e:a,this}return cd=r,cd}var dd,Xw;function g4(){if(Xw)return dd;Xw=1;var t=d4(),e=f4(),r=h4(),n=p4(),a=v4();function i(o){var l=-1,c=o==null?0:o.length;for(this.clear();++l<c;){var u=o[l];this.set(u[0],u[1])}}return i.prototype.clear=t,i.prototype.delete=e,i.prototype.get=r,i.prototype.has=n,i.prototype.set=a,dd=i,dd}var fd,Jw;function m4(){if(Jw)return fd;Jw=1;var t=g4(),e=sl(),r=ad();function n(){this.size=0,this.__data__={hash:new t,map:new(r||e),string:new t}}return fd=n,fd}var hd,Qw;function y4(){if(Qw)return hd;Qw=1;function t(e){var r=typeof e;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?e!=="__proto__":e===null}return hd=t,hd}var pd,eC;function ul(){if(eC)return pd;eC=1;var t=y4();function e(r,n){var a=r.__data__;return t(n)?a[typeof n=="string"?"string":"hash"]:a.map}return pd=e,pd}var vd,tC;function b4(){if(tC)return vd;tC=1;var t=ul();function e(r){var n=t(this,r).delete(r);return this.size-=n?1:0,n}return vd=e,vd}var gd,rC;function w4(){if(rC)return gd;rC=1;var t=ul();function e(r){return t(this,r).get(r)}return gd=e,gd}var md,nC;function C4(){if(nC)return md;nC=1;var t=ul();function e(r){return t(this,r).has(r)}return md=e,md}var yd,aC;function E4(){if(aC)return yd;aC=1;var t=ul();function e(r,n){var a=t(this,r),i=a.size;return a.set(r,n),this.size+=a.size==i?0:1,this}return yd=e,yd}var bd,iC;function wd(){if(iC)return bd;iC=1;var t=m4(),e=b4(),r=w4(),n=C4(),a=E4();function i(o){var l=-1,c=o==null?0:o.length;for(this.clear();++l<c;){var u=o[l];this.set(u[0],u[1])}}return i.prototype.clear=t,i.prototype.delete=e,i.prototype.get=r,i.prototype.has=n,i.prototype.set=a,bd=i,bd}var Cd,oC;function x4(){if(oC)return Cd;oC=1;var t=sl(),e=ad(),r=wd(),n=200;function a(i,o){var l=this.__data__;if(l instanceof t){var c=l.__data__;if(!e||c.length<n-1)return c.push([i,o]),this.size=++l.size,this;l=this.__data__=new r(c)}return l.set(i,o),this.size=l.size,this}return Cd=a,Cd}var Ed,sC;function cl(){if(sC)return Ed;sC=1;var t=sl(),e=t4(),r=r4(),n=n4(),a=a4(),i=x4();function o(l){var c=this.__data__=new t(l);this.size=c.size}return o.prototype.clear=e,o.prototype.delete=r,o.prototype.get=n,o.prototype.has=a,o.prototype.set=i,Ed=o,Ed}var xd,lC;function kd(){if(lC)return xd;lC=1;function t(e,r){for(var n=-1,a=e==null?0:e.length;++n<a&&r(e[n],n,e)!==!1;);return e}return xd=t,xd}var Sd,uC;function cC(){if(uC)return Sd;uC=1;var t=fa(),e=function(){try{var r=t(Object,"defineProperty");return r({},"",{}),r}catch{}}();return Sd=e,Sd}var _d,dC;function dl(){if(dC)return _d;dC=1;var t=cC();function e(r,n,a){n=="__proto__"&&t?t(r,n,{configurable:!0,enumerable:!0,value:a,writable:!0}):r[n]=a}return _d=e,_d}var Td,fC;function fl(){if(fC)return Td;fC=1;var t=dl(),e=si(),r=Object.prototype,n=r.hasOwnProperty;function a(i,o,l){var c=i[o];(!(n.call(i,o)&&e(c,l))||l===void 0&&!(o in i))&&t(i,o,l)}return Td=a,Td}var Nd,hC;function Co(){if(hC)return Nd;hC=1;var t=fl(),e=dl();function r(n,a,i,o){var l=!i;i||(i={});for(var c=-1,u=a.length;++c<u;){var d=a[c],f=o?o(i[d],n[d],d,i,n):void 0;f===void 0&&(f=n[d]),l?e(i,d,f):t(i,d,f)}return i}return Nd=r,Nd}var Id,pC;function k4(){if(pC)return Id;pC=1;function t(e,r){for(var n=-1,a=Array(e);++n<e;)a[n]=r(n);return a}return Id=t,Id}var Bd,vC;function Rr(){if(vC)return Bd;vC=1;function t(e){return e!=null&&typeof e=="object"}return Bd=t,Bd}var Dd,gC;function S4(){if(gC)return Dd;gC=1;var t=da(),e=Rr(),r="[object Arguments]";function n(a){return e(a)&&t(a)==r}return Dd=n,Dd}var Od,mC;function Eo(){if(mC)return Od;mC=1;var t=S4(),e=Rr(),r=Object.prototype,n=r.hasOwnProperty,a=r.propertyIsEnumerable,i=t(function(){return arguments}())?t:function(o){return e(o)&&n.call(o,"callee")&&!a.call(o,"callee")};return Od=i,Od}var Pd,yC;function at(){if(yC)return Pd;yC=1;var t=Array.isArray;return Pd=t,Pd}var xo={exports:{}},Ad,bC;function _4(){if(bC)return Ad;bC=1;function t(){return!1}return Ad=t,Ad}xo.exports;var wC;function ui(){return wC||(wC=1,function(t,e){var r=br(),n=_4(),a=e&&!e.nodeType&&e,i=a&&!0&&t&&!t.nodeType&&t,o=i&&i.exports===a,l=o?r.Buffer:void 0,c=l?l.isBuffer:void 0,u=c||n;t.exports=u}(xo,xo.exports)),xo.exports}var Rd,CC;function hl(){if(CC)return Rd;CC=1;var t=9007199254740991,e=/^(?:0|[1-9]\d*)$/;function r(n,a){var i=typeof n;return a=a??t,!!a&&(i=="number"||i!="symbol"&&e.test(n))&&n>-1&&n%1==0&&n<a}return Rd=r,Rd}var Ld,EC;function Md(){if(EC)return Ld;EC=1;var t=9007199254740991;function e(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=t}return Ld=e,Ld}var Fd,xC;function T4(){if(xC)return Fd;xC=1;var t=da(),e=Md(),r=Rr(),n="[object Arguments]",a="[object Array]",i="[object Boolean]",o="[object Date]",l="[object Error]",c="[object Function]",u="[object Map]",d="[object Number]",f="[object Object]",h="[object RegExp]",v="[object Set]",p="[object String]",g="[object WeakMap]",m="[object ArrayBuffer]",y="[object DataView]",b="[object Float32Array]",w="[object Float64Array]",C="[object Int8Array]",x="[object Int16Array]",k="[object Int32Array]",E="[object Uint8Array]",_="[object Uint8ClampedArray]",S="[object Uint16Array]",T="[object Uint32Array]",N={};N[b]=N[w]=N[C]=N[x]=N[k]=N[E]=N[_]=N[S]=N[T]=!0,N[n]=N[a]=N[m]=N[i]=N[y]=N[o]=N[l]=N[c]=N[u]=N[d]=N[f]=N[h]=N[v]=N[p]=N[g]=!1;function B(O){return r(O)&&e(O.length)&&!!N[t(O)]}return Fd=B,Fd}var $d,kC;function pl(){if(kC)return $d;kC=1;function t(e){return function(r){return e(r)}}return $d=t,$d}var ko={exports:{}};ko.exports;var SC;function Vd(){return SC||(SC=1,function(t,e){var r=Iw(),n=e&&!e.nodeType&&e,a=n&&!0&&t&&!t.nodeType&&t,i=a&&a.exports===n,o=i&&r.process,l=function(){try{var c=a&&a.require&&a.require("util").types;return c||o&&o.binding&&o.binding("util")}catch{}}();t.exports=l}(ko,ko.exports)),ko.exports}var qd,_C;function So(){if(_C)return qd;_C=1;var t=T4(),e=pl(),r=Vd(),n=r&&r.isTypedArray,a=n?e(n):t;return qd=a,qd}var zd,TC;function NC(){if(TC)return zd;TC=1;var t=k4(),e=Eo(),r=at(),n=ui(),a=hl(),i=So(),o=Object.prototype,l=o.hasOwnProperty;function c(u,d){var f=r(u),h=!f&&e(u),v=!f&&!h&&n(u),p=!f&&!h&&!v&&i(u),g=f||h||v||p,m=g?t(u.length,String):[],y=m.length;for(var b in u)(d||l.call(u,b))&&!(g&&(b=="length"||v&&(b=="offset"||b=="parent")||p&&(b=="buffer"||b=="byteLength"||b=="byteOffset")||a(b,y)))&&m.push(b);return m}return zd=c,zd}var Hd,IC;function vl(){if(IC)return Hd;IC=1;var t=Object.prototype;function e(r){var n=r&&r.constructor,a=typeof n=="function"&&n.prototype||t;return r===a}return Hd=e,Hd}var Kd,BC;function DC(){if(BC)return Kd;BC=1;function t(e,r){return function(n){return e(r(n))}}return Kd=t,Kd}var Gd,OC;function N4(){if(OC)return Gd;OC=1;var t=DC(),e=t(Object.keys,Object);return Gd=e,Gd}var Ud,PC;function jd(){if(PC)return Ud;PC=1;var t=vl(),e=N4(),r=Object.prototype,n=r.hasOwnProperty;function a(i){if(!t(i))return e(i);var o=[];for(var l in Object(i))n.call(i,l)&&l!="constructor"&&o.push(l);return o}return Ud=a,Ud}var Wd,AC;function en(){if(AC)return Wd;AC=1;var t=wo(),e=Md();function r(n){return n!=null&&e(n.length)&&!t(n)}return Wd=r,Wd}var Yd,RC;function Dn(){if(RC)return Yd;RC=1;var t=NC(),e=jd(),r=en();function n(a){return r(a)?t(a):e(a)}return Yd=n,Yd}var Zd,LC;function I4(){if(LC)return Zd;LC=1;var t=Co(),e=Dn();function r(n,a){return n&&t(a,e(a),n)}return Zd=r,Zd}var Xd,MC;function B4(){if(MC)return Xd;MC=1;function t(e){var r=[];if(e!=null)for(var n in Object(e))r.push(n);return r}return Xd=t,Xd}var Jd,FC;function D4(){if(FC)return Jd;FC=1;var t=or(),e=vl(),r=B4(),n=Object.prototype,a=n.hasOwnProperty;function i(o){if(!t(o))return r(o);var l=e(o),c=[];for(var u in o)u=="constructor"&&(l||!a.call(o,u))||c.push(u);return c}return Jd=i,Jd}var Qd,$C;function ha(){if($C)return Qd;$C=1;var t=NC(),e=D4(),r=en();function n(a){return r(a)?t(a,!0):e(a)}return Qd=n,Qd}var ef,VC;function O4(){if(VC)return ef;VC=1;var t=Co(),e=ha();function r(n,a){return n&&t(a,e(a),n)}return ef=r,ef}var _o={exports:{}};_o.exports;var qC;function zC(){return qC||(qC=1,function(t,e){var r=br(),n=e&&!e.nodeType&&e,a=n&&!0&&t&&!t.nodeType&&t,i=a&&a.exports===n,o=i?r.Buffer:void 0,l=o?o.allocUnsafe:void 0;function c(u,d){if(d)return u.slice();var f=u.length,h=l?l(f):new u.constructor(f);return u.copy(h),h}t.exports=c}(_o,_o.exports)),_o.exports}var tf,HC;function KC(){if(HC)return tf;HC=1;function t(e,r){var n=-1,a=e.length;for(r||(r=Array(a));++n<a;)r[n]=e[n];return r}return tf=t,tf}var rf,GC;function UC(){if(GC)return rf;GC=1;function t(e,r){for(var n=-1,a=e==null?0:e.length,i=0,o=[];++n<a;){var l=e[n];r(l,n,e)&&(o[i++]=l)}return o}return rf=t,rf}var nf,jC;function WC(){if(jC)return nf;jC=1;function t(){return[]}return nf=t,nf}var af,YC;function of(){if(YC)return af;YC=1;var t=UC(),e=WC(),r=Object.prototype,n=r.propertyIsEnumerable,a=Object.getOwnPropertySymbols,i=a?function(o){return o==null?[]:(o=Object(o),t(a(o),function(l){return n.call(o,l)}))}:e;return af=i,af}var sf,ZC;function P4(){if(ZC)return sf;ZC=1;var t=Co(),e=of();function r(n,a){return t(n,e(n),a)}return sf=r,sf}var lf,XC;function uf(){if(XC)return lf;XC=1;function t(e,r){for(var n=-1,a=r.length,i=e.length;++n<a;)e[i+n]=r[n];return e}return lf=t,lf}var cf,JC;function gl(){if(JC)return cf;JC=1;var t=DC(),e=t(Object.getPrototypeOf,Object);return cf=e,cf}var df,QC;function eE(){if(QC)return df;QC=1;var t=uf(),e=gl(),r=of(),n=WC(),a=Object.getOwnPropertySymbols,i=a?function(o){for(var l=[];o;)t(l,r(o)),o=e(o);return l}:n;return df=i,df}var ff,tE;function A4(){if(tE)return ff;tE=1;var t=Co(),e=eE();function r(n,a){return t(n,e(n),a)}return ff=r,ff}var hf,rE;function nE(){if(rE)return hf;rE=1;var t=uf(),e=at();function r(n,a,i){var o=a(n);return e(n)?o:t(o,i(n))}return hf=r,hf}var pf,aE;function iE(){if(aE)return pf;aE=1;var t=nE(),e=of(),r=Dn();function n(a){return t(a,r,e)}return pf=n,pf}var vf,oE;function R4(){if(oE)return vf;oE=1;var t=nE(),e=eE(),r=ha();function n(a){return t(a,r,e)}return vf=n,vf}var gf,sE;function L4(){if(sE)return gf;sE=1;var t=fa(),e=br(),r=t(e,"DataView");return gf=r,gf}var mf,lE;function M4(){if(lE)return mf;lE=1;var t=fa(),e=br(),r=t(e,"Promise");return mf=r,mf}var yf,uE;function cE(){if(uE)return yf;uE=1;var t=fa(),e=br(),r=t(e,"Set");return yf=r,yf}var bf,dE;function F4(){if(dE)return bf;dE=1;var t=fa(),e=br(),r=t(e,"WeakMap");return bf=r,bf}var wf,fE;function ci(){if(fE)return wf;fE=1;var t=L4(),e=ad(),r=M4(),n=cE(),a=F4(),i=da(),o=Vw(),l="[object Map]",c="[object Object]",u="[object Promise]",d="[object Set]",f="[object WeakMap]",h="[object DataView]",v=o(t),p=o(e),g=o(r),m=o(n),y=o(a),b=i;return(t&&b(new t(new ArrayBuffer(1)))!=h||e&&b(new e)!=l||r&&b(r.resolve())!=u||n&&b(new n)!=d||a&&b(new a)!=f)&&(b=function(w){var C=i(w),x=C==c?w.constructor:void 0,k=x?o(x):"";if(k)switch(k){case v:return h;case p:return l;case g:return u;case m:return d;case y:return f}return C}),wf=b,wf}var Cf,hE;function $4(){if(hE)return Cf;hE=1;var t=Object.prototype,e=t.hasOwnProperty;function r(n){var a=n.length,i=new n.constructor(a);return a&&typeof n[0]=="string"&&e.call(n,"index")&&(i.index=n.index,i.input=n.input),i}return Cf=r,Cf}var Ef,pE;function vE(){if(pE)return Ef;pE=1;var t=br(),e=t.Uint8Array;return Ef=e,Ef}var xf,gE;function kf(){if(gE)return xf;gE=1;var t=vE();function e(r){var n=new r.constructor(r.byteLength);return new t(n).set(new t(r)),n}return xf=e,xf}var Sf,mE;function V4(){if(mE)return Sf;mE=1;var t=kf();function e(r,n){var a=n?t(r.buffer):r.buffer;return new r.constructor(a,r.byteOffset,r.byteLength)}return Sf=e,Sf}var _f,yE;function q4(){if(yE)return _f;yE=1;var t=/\w*$/;function e(r){var n=new r.constructor(r.source,t.exec(r));return n.lastIndex=r.lastIndex,n}return _f=e,_f}var Tf,bE;function z4(){if(bE)return Tf;bE=1;var t=li(),e=t?t.prototype:void 0,r=e?e.valueOf:void 0;function n(a){return r?Object(r.call(a)):{}}return Tf=n,Tf}var Nf,wE;function CE(){if(wE)return Nf;wE=1;var t=kf();function e(r,n){var a=n?t(r.buffer):r.buffer;return new r.constructor(a,r.byteOffset,r.length)}return Nf=e,Nf}var If,EE;function H4(){if(EE)return If;EE=1;var t=kf(),e=V4(),r=q4(),n=z4(),a=CE(),i="[object Boolean]",o="[object Date]",l="[object Map]",c="[object Number]",u="[object RegExp]",d="[object Set]",f="[object String]",h="[object Symbol]",v="[object ArrayBuffer]",p="[object DataView]",g="[object Float32Array]",m="[object Float64Array]",y="[object Int8Array]",b="[object Int16Array]",w="[object Int32Array]",C="[object Uint8Array]",x="[object Uint8ClampedArray]",k="[object Uint16Array]",E="[object Uint32Array]";function _(S,T,N){var B=S.constructor;switch(T){case v:return t(S);case i:case o:return new B(+S);case p:return e(S,N);case g:case m:case y:case b:case w:case C:case x:case k:case E:return a(S,N);case l:return new B;case c:case f:return new B(S);case u:return r(S);case d:return new B;case h:return n(S)}}return If=_,If}var Bf,xE;function kE(){if(xE)return Bf;xE=1;var t=or(),e=Object.create,r=function(){function n(){}return function(a){if(!t(a))return{};if(e)return e(a);n.prototype=a;var i=new n;return n.prototype=void 0,i}}();return Bf=r,Bf}var Df,SE;function _E(){if(SE)return Df;SE=1;var t=kE(),e=gl(),r=vl();function n(a){return typeof a.constructor=="function"&&!r(a)?t(e(a)):{}}return Df=n,Df}var Of,TE;function K4(){if(TE)return Of;TE=1;var t=ci(),e=Rr(),r="[object Map]";function n(a){return e(a)&&t(a)==r}return Of=n,Of}var Pf,NE;function G4(){if(NE)return Pf;NE=1;var t=K4(),e=pl(),r=Vd(),n=r&&r.isMap,a=n?e(n):t;return Pf=a,Pf}var Af,IE;function U4(){if(IE)return Af;IE=1;var t=ci(),e=Rr(),r="[object Set]";function n(a){return e(a)&&t(a)==r}return Af=n,Af}var Rf,BE;function j4(){if(BE)return Rf;BE=1;var t=U4(),e=pl(),r=Vd(),n=r&&r.isSet,a=n?e(n):t;return Rf=a,Rf}var Lf,DE;function OE(){if(DE)return Lf;DE=1;var t=cl(),e=kd(),r=fl(),n=I4(),a=O4(),i=zC(),o=KC(),l=P4(),c=A4(),u=iE(),d=R4(),f=ci(),h=$4(),v=H4(),p=_E(),g=at(),m=ui(),y=G4(),b=or(),w=j4(),C=Dn(),x=ha(),k=1,E=2,_=4,S="[object Arguments]",T="[object Array]",N="[object Boolean]",B="[object Date]",O="[object Error]",D="[object Function]",R="[object GeneratorFunction]",P="[object Map]",L="[object Number]",A="[object Object]",q="[object RegExp]",U="[object Set]",z="[object String]",H="[object Symbol]",Q="[object WeakMap]",F="[object ArrayBuffer]",$="[object DataView]",V="[object Float32Array]",G="[object Float64Array]",j="[object Int8Array]",M="[object Int16Array]",W="[object Int32Array]",Y="[object Uint8Array]",se="[object Uint8ClampedArray]",ce="[object Uint16Array]",ae="[object Uint32Array]",ne={};ne[S]=ne[T]=ne[F]=ne[$]=ne[N]=ne[B]=ne[V]=ne[G]=ne[j]=ne[M]=ne[W]=ne[P]=ne[L]=ne[A]=ne[q]=ne[U]=ne[z]=ne[H]=ne[Y]=ne[se]=ne[ce]=ne[ae]=!0,ne[O]=ne[D]=ne[Q]=!1;function ue(ie,fe,pe,De,Ie,we){var xe,re=fe&k,I=fe&E,K=fe&_;if(pe&&(xe=Ie?pe(ie,De,Ie,we):pe(ie)),xe!==void 0)return xe;if(!b(ie))return ie;var te=g(ie);if(te){if(xe=h(ie),!re)return o(ie,xe)}else{var Z=f(ie),X=Z==D||Z==R;if(m(ie))return i(ie,re);if(Z==A||Z==S||X&&!Ie){if(xe=I||X?{}:p(ie),!re)return I?c(ie,a(xe,ie)):l(ie,n(xe,ie))}else{if(!ne[Z])return Ie?ie:{};xe=v(ie,Z,re)}}we||(we=new t);var le=we.get(ie);if(le)return le;we.set(ie,xe),w(ie)?ie.forEach(function(me){xe.add(ue(me,fe,pe,me,ie,we))}):y(ie)&&ie.forEach(function(me,be){xe.set(be,ue(me,fe,pe,be,ie,we))});var ee=K?I?d:u:I?x:C,oe=te?void 0:ee(ie);return e(oe||ie,function(me,be){oe&&(be=me,me=ie[be]),r(xe,be,ue(me,fe,pe,be,ie,we))}),xe}return Lf=ue,Lf}var Mf,PE;function W4(){if(PE)return Mf;PE=1;var t=OE(),e=4;function r(n){return t(n,e)}return Mf=r,Mf}var Ff,AE;function $f(){if(AE)return Ff;AE=1;function t(e){return function(){return e}}return Ff=t,Ff}var Vf,RE;function Y4(){if(RE)return Vf;RE=1;function t(e){return function(r,n,a){for(var i=-1,o=Object(r),l=a(r),c=l.length;c--;){var u=l[e?c:++i];if(n(o[u],u,o)===!1)break}return r}}return Vf=t,Vf}var qf,LE;function zf(){if(LE)return qf;LE=1;var t=Y4(),e=t();return qf=e,qf}var Hf,ME;function Kf(){if(ME)return Hf;ME=1;var t=zf(),e=Dn();function r(n,a){return n&&t(n,a,e)}return Hf=r,Hf}var Gf,FE;function Z4(){if(FE)return Gf;FE=1;var t=en();function e(r,n){return function(a,i){if(a==null)return a;if(!t(a))return r(a,i);for(var o=a.length,l=n?o:-1,c=Object(a);(n?l--:++l<o)&&i(c[l],l,c)!==!1;);return a}}return Gf=e,Gf}var Uf,$E;function ml(){if($E)return Uf;$E=1;var t=Kf(),e=Z4(),r=e(t);return Uf=r,Uf}var jf,VE;function pa(){if(VE)return jf;VE=1;function t(e){return e}return jf=t,jf}var Wf,qE;function zE(){if(qE)return Wf;qE=1;var t=pa();function e(r){return typeof r=="function"?r:t}return Wf=e,Wf}var Yf,HE;function KE(){if(HE)return Yf;HE=1;var t=kd(),e=ml(),r=zE(),n=at();function a(i,o){var l=n(i)?t:e;return l(i,r(o))}return Yf=a,Yf}var Zf,GE;function UE(){return GE||(GE=1,Zf=KE()),Zf}var Xf,jE;function X4(){if(jE)return Xf;jE=1;var t=ml();function e(r,n){var a=[];return t(r,function(i,o,l){n(i,o,l)&&a.push(i)}),a}return Xf=e,Xf}var Jf,WE;function J4(){if(WE)return Jf;WE=1;var t="__lodash_hash_undefined__";function e(r){return this.__data__.set(r,t),this}return Jf=e,Jf}var Qf,YE;function Q4(){if(YE)return Qf;YE=1;function t(e){return this.__data__.has(e)}return Qf=t,Qf}var eh,ZE;function XE(){if(ZE)return eh;ZE=1;var t=wd(),e=J4(),r=Q4();function n(a){var i=-1,o=a==null?0:a.length;for(this.__data__=new t;++i<o;)this.add(a[i])}return n.prototype.add=n.prototype.push=e,n.prototype.has=r,eh=n,eh}var th,JE;function e8(){if(JE)return th;JE=1;function t(e,r){for(var n=-1,a=e==null?0:e.length;++n<a;)if(r(e[n],n,e))return!0;return!1}return th=t,th}var rh,QE;function ex(){if(QE)return rh;QE=1;function t(e,r){return e.has(r)}return rh=t,rh}var nh,tx;function rx(){if(tx)return nh;tx=1;var t=XE(),e=e8(),r=ex(),n=1,a=2;function i(o,l,c,u,d,f){var h=c&n,v=o.length,p=l.length;if(v!=p&&!(h&&p>v))return!1;var g=f.get(o),m=f.get(l);if(g&&m)return g==l&&m==o;var y=-1,b=!0,w=c&a?new t:void 0;for(f.set(o,l),f.set(l,o);++y<v;){var C=o[y],x=l[y];if(u)var k=h?u(x,C,y,l,o,f):u(C,x,y,o,l,f);if(k!==void 0){if(k)continue;b=!1;break}if(w){if(!e(l,function(E,_){if(!r(w,_)&&(C===E||d(C,E,c,u,f)))return w.push(_)})){b=!1;break}}else if(!(C===x||d(C,x,c,u,f))){b=!1;break}}return f.delete(o),f.delete(l),b}return nh=i,nh}var ah,nx;function t8(){if(nx)return ah;nx=1;function t(e){var r=-1,n=Array(e.size);return e.forEach(function(a,i){n[++r]=[i,a]}),n}return ah=t,ah}var ih,ax;function oh(){if(ax)return ih;ax=1;function t(e){var r=-1,n=Array(e.size);return e.forEach(function(a){n[++r]=a}),n}return ih=t,ih}var sh,ix;function r8(){if(ix)return sh;ix=1;var t=li(),e=vE(),r=si(),n=rx(),a=t8(),i=oh(),o=1,l=2,c="[object Boolean]",u="[object Date]",d="[object Error]",f="[object Map]",h="[object Number]",v="[object RegExp]",p="[object Set]",g="[object String]",m="[object Symbol]",y="[object ArrayBuffer]",b="[object DataView]",w=t?t.prototype:void 0,C=w?w.valueOf:void 0;function x(k,E,_,S,T,N,B){switch(_){case b:if(k.byteLength!=E.byteLength||k.byteOffset!=E.byteOffset)return!1;k=k.buffer,E=E.buffer;case y:return!(k.byteLength!=E.byteLength||!N(new e(k),new e(E)));case c:case u:case h:return r(+k,+E);case d:return k.name==E.name&&k.message==E.message;case v:case g:return k==E+"";case f:var O=a;case p:var D=S&o;if(O||(O=i),k.size!=E.size&&!D)return!1;var R=B.get(k);if(R)return R==E;S|=l,B.set(k,E);var P=n(O(k),O(E),S,T,N,B);return B.delete(k),P;case m:if(C)return C.call(k)==C.call(E)}return!1}return sh=x,sh}var lh,ox;function n8(){if(ox)return lh;ox=1;var t=iE(),e=1,r=Object.prototype,n=r.hasOwnProperty;function a(i,o,l,c,u,d){var f=l&e,h=t(i),v=h.length,p=t(o),g=p.length;if(v!=g&&!f)return!1;for(var m=v;m--;){var y=h[m];if(!(f?y in o:n.call(o,y)))return!1}var b=d.get(i),w=d.get(o);if(b&&w)return b==o&&w==i;var C=!0;d.set(i,o),d.set(o,i);for(var x=f;++m<v;){y=h[m];var k=i[y],E=o[y];if(c)var _=f?c(E,k,y,o,i,d):c(k,E,y,i,o,d);if(!(_===void 0?k===E||u(k,E,l,c,d):_)){C=!1;break}x||(x=y=="constructor")}if(C&&!x){var S=i.constructor,T=o.constructor;S!=T&&"constructor"in i&&"constructor"in o&&!(typeof S=="function"&&S instanceof S&&typeof T=="function"&&T instanceof T)&&(C=!1)}return d.delete(i),d.delete(o),C}return lh=a,lh}var uh,sx;function a8(){if(sx)return uh;sx=1;var t=cl(),e=rx(),r=r8(),n=n8(),a=ci(),i=at(),o=ui(),l=So(),c=1,u="[object Arguments]",d="[object Array]",f="[object Object]",h=Object.prototype,v=h.hasOwnProperty;function p(g,m,y,b,w,C){var x=i(g),k=i(m),E=x?d:a(g),_=k?d:a(m);E=E==u?f:E,_=_==u?f:_;var S=E==f,T=_==f,N=E==_;if(N&&o(g)){if(!o(m))return!1;x=!0,S=!1}if(N&&!S)return C||(C=new t),x||l(g)?e(g,m,y,b,w,C):r(g,m,E,y,b,w,C);if(!(y&c)){var B=S&&v.call(g,"__wrapped__"),O=T&&v.call(m,"__wrapped__");if(B||O){var D=B?g.value():g,R=O?m.value():m;return C||(C=new t),w(D,R,y,b,C)}}return N?(C||(C=new t),n(g,m,y,b,w,C)):!1}return uh=p,uh}var ch,lx;function ux(){if(lx)return ch;lx=1;var t=a8(),e=Rr();function r(n,a,i,o,l){return n===a?!0:n==null||a==null||!e(n)&&!e(a)?n!==n&&a!==a:t(n,a,i,o,r,l)}return ch=r,ch}var dh,cx;function i8(){if(cx)return dh;cx=1;var t=cl(),e=ux(),r=1,n=2;function a(i,o,l,c){var u=l.length,d=u,f=!c;if(i==null)return!d;for(i=Object(i);u--;){var h=l[u];if(f&&h[2]?h[1]!==i[h[0]]:!(h[0]in i))return!1}for(;++u<d;){h=l[u];var v=h[0],p=i[v],g=h[1];if(f&&h[2]){if(p===void 0&&!(v in i))return!1}else{var m=new t;if(c)var y=c(p,g,v,i,o,m);if(!(y===void 0?e(g,p,r|n,c,m):y))return!1}}return!0}return dh=a,dh}var fh,dx;function fx(){if(dx)return fh;dx=1;var t=or();function e(r){return r===r&&!t(r)}return fh=e,fh}var hh,hx;function o8(){if(hx)return hh;hx=1;var t=fx(),e=Dn();function r(n){for(var a=e(n),i=a.length;i--;){var o=a[i],l=n[o];a[i]=[o,l,t(l)]}return a}return hh=r,hh}var ph,px;function vx(){if(px)return ph;px=1;function t(e,r){return function(n){return n==null?!1:n[e]===r&&(r!==void 0||e in Object(n))}}return ph=t,ph}var vh,gx;function s8(){if(gx)return vh;gx=1;var t=i8(),e=o8(),r=vx();function n(a){var i=e(a);return i.length==1&&i[0][2]?r(i[0][0],i[0][1]):function(o){return o===a||t(o,a,i)}}return vh=n,vh}var gh,mx;function di(){if(mx)return gh;mx=1;var t=da(),e=Rr(),r="[object Symbol]";function n(a){return typeof a=="symbol"||e(a)&&t(a)==r}return gh=n,gh}var mh,yx;function yh(){if(yx)return mh;yx=1;var t=at(),e=di(),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,n=/^\w*$/;function a(i,o){if(t(i))return!1;var l=typeof i;return l=="number"||l=="symbol"||l=="boolean"||i==null||e(i)?!0:n.test(i)||!r.test(i)||o!=null&&i in Object(o)}return mh=a,mh}var bh,bx;function l8(){if(bx)return bh;bx=1;var t=wd(),e="Expected a function";function r(n,a){if(typeof n!="function"||a!=null&&typeof a!="function")throw new TypeError(e);var i=function(){var o=arguments,l=a?a.apply(this,o):o[0],c=i.cache;if(c.has(l))return c.get(l);var u=n.apply(this,o);return i.cache=c.set(l,u)||c,u};return i.cache=new(r.Cache||t),i}return r.Cache=t,bh=r,bh}var wh,wx;function u8(){if(wx)return wh;wx=1;var t=l8(),e=500;function r(n){var a=t(n,function(o){return i.size===e&&i.clear(),o}),i=a.cache;return a}return wh=r,wh}var Ch,Cx;function c8(){if(Cx)return Ch;Cx=1;var t=u8(),e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,r=/\\(\\)?/g,n=t(function(a){var i=[];return a.charCodeAt(0)===46&&i.push(""),a.replace(e,function(o,l,c,u){i.push(c?u.replace(r,"$1"):l||o)}),i});return Ch=n,Ch}var Eh,Ex;function yl(){if(Ex)return Eh;Ex=1;function t(e,r){for(var n=-1,a=e==null?0:e.length,i=Array(a);++n<a;)i[n]=r(e[n],n,e);return i}return Eh=t,Eh}var xh,xx;function d8(){if(xx)return xh;xx=1;var t=li(),e=yl(),r=at(),n=di(),a=1/0,i=t?t.prototype:void 0,o=i?i.toString:void 0;function l(c){if(typeof c=="string")return c;if(r(c))return e(c,l)+"";if(n(c))return o?o.call(c):"";var u=c+"";return u=="0"&&1/c==-a?"-0":u}return xh=l,xh}var kh,kx;function Sx(){if(kx)return kh;kx=1;var t=d8();function e(r){return r==null?"":t(r)}return kh=e,kh}var Sh,_x;function bl(){if(_x)return Sh;_x=1;var t=at(),e=yh(),r=c8(),n=Sx();function a(i,o){return t(i)?i:e(i,o)?[i]:r(n(i))}return Sh=a,Sh}var _h,Tx;function To(){if(Tx)return _h;Tx=1;var t=di(),e=1/0;function r(n){if(typeof n=="string"||t(n))return n;var a=n+"";return a=="0"&&1/n==-e?"-0":a}return _h=r,_h}var Th,Nx;function wl(){if(Nx)return Th;Nx=1;var t=bl(),e=To();function r(n,a){a=t(a,n);for(var i=0,o=a.length;n!=null&&i<o;)n=n[e(a[i++])];return i&&i==o?n:void 0}return Th=r,Th}var Nh,Ix;function f8(){if(Ix)return Nh;Ix=1;var t=wl();function e(r,n,a){var i=r==null?void 0:t(r,n);return i===void 0?a:i}return Nh=e,Nh}var Ih,Bx;function h8(){if(Bx)return Ih;Bx=1;function t(e,r){return e!=null&&r in Object(e)}return Ih=t,Ih}var Bh,Dx;function Ox(){if(Dx)return Bh;Dx=1;var t=bl(),e=Eo(),r=at(),n=hl(),a=Md(),i=To();function o(l,c,u){c=t(c,l);for(var d=-1,f=c.length,h=!1;++d<f;){var v=i(c[d]);if(!(h=l!=null&&u(l,v)))break;l=l[v]}return h||++d!=f?h:(f=l==null?0:l.length,!!f&&a(f)&&n(v,f)&&(r(l)||e(l)))}return Bh=o,Bh}var Dh,Px;function Ax(){if(Px)return Dh;Px=1;var t=h8(),e=Ox();function r(n,a){return n!=null&&e(n,a,t)}return Dh=r,Dh}var Oh,Rx;function p8(){if(Rx)return Oh;Rx=1;var t=ux(),e=f8(),r=Ax(),n=yh(),a=fx(),i=vx(),o=To(),l=1,c=2;function u(d,f){return n(d)&&a(f)?i(o(d),f):function(h){var v=e(h,d);return v===void 0&&v===f?r(h,d):t(f,v,l|c)}}return Oh=u,Oh}var Ph,Lx;function Mx(){if(Lx)return Ph;Lx=1;function t(e){return function(r){return r==null?void 0:r[e]}}return Ph=t,Ph}var Ah,Fx;function v8(){if(Fx)return Ah;Fx=1;var t=wl();function e(r){return function(n){return t(n,r)}}return Ah=e,Ah}var Rh,$x;function g8(){if($x)return Rh;$x=1;var t=Mx(),e=v8(),r=yh(),n=To();function a(i){return r(i)?t(n(i)):e(i)}return Rh=a,Rh}var Lh,Vx;function tn(){if(Vx)return Lh;Vx=1;var t=s8(),e=p8(),r=pa(),n=at(),a=g8();function i(o){return typeof o=="function"?o:o==null?r:typeof o=="object"?n(o)?e(o[0],o[1]):t(o):a(o)}return Lh=i,Lh}var Mh,qx;function zx(){if(qx)return Mh;qx=1;var t=UC(),e=X4(),r=tn(),n=at();function a(i,o){var l=n(i)?t:e;return l(i,r(o,3))}return Mh=a,Mh}var Fh,Hx;function m8(){if(Hx)return Fh;Hx=1;var t=Object.prototype,e=t.hasOwnProperty;function r(n,a){return n!=null&&e.call(n,a)}return Fh=r,Fh}var $h,Kx;function Gx(){if(Kx)return $h;Kx=1;var t=m8(),e=Ox();function r(n,a){return n!=null&&e(n,a,t)}return $h=r,$h}var Vh,Ux;function y8(){if(Ux)return Vh;Ux=1;var t=jd(),e=ci(),r=Eo(),n=at(),a=en(),i=ui(),o=vl(),l=So(),c="[object Map]",u="[object Set]",d=Object.prototype,f=d.hasOwnProperty;function h(v){if(v==null)return!0;if(a(v)&&(n(v)||typeof v=="string"||typeof v.splice=="function"||i(v)||l(v)||r(v)))return!v.length;var p=e(v);if(p==c||p==u)return!v.size;if(o(v))return!t(v).length;for(var g in v)if(f.call(v,g))return!1;return!0}return Vh=h,Vh}var qh,jx;function Wx(){if(jx)return qh;jx=1;function t(e){return e===void 0}return qh=t,qh}var zh,Yx;function Zx(){if(Yx)return zh;Yx=1;var t=ml(),e=en();function r(n,a){var i=-1,o=e(n)?Array(n.length):[];return t(n,function(l,c,u){o[++i]=a(l,c,u)}),o}return zh=r,zh}var Hh,Xx;function Jx(){if(Xx)return Hh;Xx=1;var t=yl(),e=tn(),r=Zx(),n=at();function a(i,o){var l=n(i)?t:r;return l(i,e(o,3))}return Hh=a,Hh}var Kh,Qx;function b8(){if(Qx)return Kh;Qx=1;function t(e,r,n,a){var i=-1,o=e==null?0:e.length;for(a&&o&&(n=e[++i]);++i<o;)n=r(n,e[i],i,e);return n}return Kh=t,Kh}var Gh,ek;function w8(){if(ek)return Gh;ek=1;function t(e,r,n,a,i){return i(e,function(o,l,c){n=a?(a=!1,o):r(n,o,l,c)}),n}return Gh=t,Gh}var Uh,tk;function rk(){if(tk)return Uh;tk=1;var t=b8(),e=ml(),r=tn(),n=w8(),a=at();function i(o,l,c){var u=a(o)?t:n,d=arguments.length<3;return u(o,r(l,4),c,d,e)}return Uh=i,Uh}var jh,nk;function C8(){if(nk)return jh;nk=1;var t=da(),e=at(),r=Rr(),n="[object String]";function a(i){return typeof i=="string"||!e(i)&&r(i)&&t(i)==n}return jh=a,jh}var Wh,ak;function E8(){if(ak)return Wh;ak=1;var t=Mx(),e=t("length");return Wh=e,Wh}var Yh,ik;function x8(){if(ik)return Yh;ik=1;var t="\\ud800-\\udfff",e="\\u0300-\\u036f",r="\\ufe20-\\ufe2f",n="\\u20d0-\\u20ff",a=e+r+n,i="\\ufe0e\\ufe0f",o="\\u200d",l=RegExp("["+o+t+a+i+"]");function c(u){return l.test(u)}return Yh=c,Yh}var Zh,ok;function k8(){if(ok)return Zh;ok=1;var t="\\ud800-\\udfff",e="\\u0300-\\u036f",r="\\ufe20-\\ufe2f",n="\\u20d0-\\u20ff",a=e+r+n,i="\\ufe0e\\ufe0f",o="["+t+"]",l="["+a+"]",c="\\ud83c[\\udffb-\\udfff]",u="(?:"+l+"|"+c+")",d="[^"+t+"]",f="(?:\\ud83c[\\udde6-\\uddff]){2}",h="[\\ud800-\\udbff][\\udc00-\\udfff]",v="\\u200d",p=u+"?",g="["+i+"]?",m="(?:"+v+"(?:"+[d,f,h].join("|")+")"+g+p+")*",y=g+p+m,b="(?:"+[d+l+"?",l,f,h,o].join("|")+")",w=RegExp(c+"(?="+c+")|"+b+y,"g");function C(x){for(var k=w.lastIndex=0;w.test(x);)++k;return k}return Zh=C,Zh}var Xh,sk;function S8(){if(sk)return Xh;sk=1;var t=E8(),e=x8(),r=k8();function n(a){return e(a)?r(a):t(a)}return Xh=n,Xh}var Jh,lk;function _8(){if(lk)return Jh;lk=1;var t=jd(),e=ci(),r=en(),n=C8(),a=S8(),i="[object Map]",o="[object Set]";function l(c){if(c==null)return 0;if(r(c))return n(c)?a(c):c.length;var u=e(c);return u==i||u==o?c.size:t(c).length}return Jh=l,Jh}var Qh,uk;function T8(){if(uk)return Qh;uk=1;var t=kd(),e=kE(),r=Kf(),n=tn(),a=gl(),i=at(),o=ui(),l=wo(),c=or(),u=So();function d(f,h,v){var p=i(f),g=p||o(f)||u(f);if(h=n(h,4),v==null){var m=f&&f.constructor;g?v=p?new m:[]:c(f)?v=l(m)?e(a(f)):{}:v={}}return(g?t:r)(f,function(y,b,w){return h(v,y,b,w)}),v}return Qh=d,Qh}var ep,ck;function N8(){if(ck)return ep;ck=1;var t=li(),e=Eo(),r=at(),n=t?t.isConcatSpreadable:void 0;function a(i){return r(i)||e(i)||!!(n&&i&&i[n])}return ep=a,ep}var tp,dk;function rp(){if(dk)return tp;dk=1;var t=uf(),e=N8();function r(n,a,i,o,l){var c=-1,u=n.length;for(i||(i=e),l||(l=[]);++c<u;){var d=n[c];a>0&&i(d)?a>1?r(d,a-1,i,o,l):t(l,d):o||(l[l.length]=d)}return l}return tp=r,tp}var np,fk;function I8(){if(fk)return np;fk=1;function t(e,r,n){switch(n.length){case 0:return e.call(r);case 1:return e.call(r,n[0]);case 2:return e.call(r,n[0],n[1]);case 3:return e.call(r,n[0],n[1],n[2])}return e.apply(r,n)}return np=t,np}var ap,hk;function pk(){if(hk)return ap;hk=1;var t=I8(),e=Math.max;function r(n,a,i){return a=e(a===void 0?n.length-1:a,0),function(){for(var o=arguments,l=-1,c=e(o.length-a,0),u=Array(c);++l<c;)u[l]=o[a+l];l=-1;for(var d=Array(a+1);++l<a;)d[l]=o[l];return d[a]=i(u),t(n,this,d)}}return ap=r,ap}var ip,vk;function B8(){if(vk)return ip;vk=1;var t=$f(),e=cC(),r=pa(),n=e?function(a,i){return e(a,"toString",{configurable:!0,enumerable:!1,value:t(i),writable:!0})}:r;return ip=n,ip}var op,gk;function D8(){if(gk)return op;gk=1;var t=800,e=16,r=Date.now;function n(a){var i=0,o=0;return function(){var l=r(),c=e-(l-o);if(o=l,c>0){if(++i>=t)return arguments[0]}else i=0;return a.apply(void 0,arguments)}}return op=n,op}var sp,mk;function yk(){if(mk)return sp;mk=1;var t=B8(),e=D8(),r=e(t);return sp=r,sp}var lp,bk;function Cl(){if(bk)return lp;bk=1;var t=pa(),e=pk(),r=yk();function n(a,i){return r(e(a,i,t),a+"")}return lp=n,lp}var up,wk;function Ck(){if(wk)return up;wk=1;function t(e,r,n,a){for(var i=e.length,o=n+(a?1:-1);a?o--:++o<i;)if(r(e[o],o,e))return o;return-1}return up=t,up}var cp,Ek;function O8(){if(Ek)return cp;Ek=1;function t(e){return e!==e}return cp=t,cp}var dp,xk;function P8(){if(xk)return dp;xk=1;function t(e,r,n){for(var a=n-1,i=e.length;++a<i;)if(e[a]===r)return a;return-1}return dp=t,dp}var fp,kk;function A8(){if(kk)return fp;kk=1;var t=Ck(),e=O8(),r=P8();function n(a,i,o){return i===i?r(a,i,o):t(a,e,o)}return fp=n,fp}var hp,Sk;function R8(){if(Sk)return hp;Sk=1;var t=A8();function e(r,n){var a=r==null?0:r.length;return!!a&&t(r,n,0)>-1}return hp=e,hp}var pp,_k;function L8(){if(_k)return pp;_k=1;function t(e,r,n){for(var a=-1,i=e==null?0:e.length;++a<i;)if(n(r,e[a]))return!0;return!1}return pp=t,pp}var vp,Tk;function M8(){if(Tk)return vp;Tk=1;function t(){}return vp=t,vp}var gp,Nk;function F8(){if(Nk)return gp;Nk=1;var t=cE(),e=M8(),r=oh(),n=1/0,a=t&&1/r(new t([,-0]))[1]==n?function(i){return new t(i)}:e;return gp=a,gp}var mp,Ik;function $8(){if(Ik)return mp;Ik=1;var t=XE(),e=R8(),r=L8(),n=ex(),a=F8(),i=oh(),o=200;function l(c,u,d){var f=-1,h=e,v=c.length,p=!0,g=[],m=g;if(d)p=!1,h=r;else if(v>=o){var y=u?null:a(c);if(y)return i(y);p=!1,h=n,m=new t}else m=u?[]:g;e:for(;++f<v;){var b=c[f],w=u?u(b):b;if(b=d||b!==0?b:0,p&&w===w){for(var C=m.length;C--;)if(m[C]===w)continue e;u&&m.push(w),g.push(b)}else h(m,w,d)||(m!==g&&m.push(w),g.push(b))}return g}return mp=l,mp}var yp,Bk;function Dk(){if(Bk)return yp;Bk=1;var t=en(),e=Rr();function r(n){return e(n)&&t(n)}return yp=r,yp}var bp,Ok;function V8(){if(Ok)return bp;Ok=1;var t=rp(),e=Cl(),r=$8(),n=Dk(),a=e(function(i){return r(t(i,1,n,!0))});return bp=a,bp}var wp,Pk;function q8(){if(Pk)return wp;Pk=1;var t=yl();function e(r,n){return t(n,function(a){return r[a]})}return wp=e,wp}var Cp,Ak;function Rk(){if(Ak)return Cp;Ak=1;var t=q8(),e=Dn();function r(n){return n==null?[]:t(n,e(n))}return Cp=r,Cp}var Ep,Lk;function sr(){if(Lk)return Ep;Lk=1;var t;if(typeof Bc=="function")try{t={clone:W4(),constant:$f(),each:UE(),filter:zx(),has:Gx(),isArray:at(),isEmpty:y8(),isFunction:wo(),isUndefined:Wx(),keys:Dn(),map:Jx(),reduce:rk(),size:_8(),transform:T8(),union:V8(),values:Rk()}}catch{}return t||(t=window._),Ep=t,Ep}var xp,Mk;function kp(){if(Mk)return xp;Mk=1;var t=sr();xp=a;var e="\0",r="\0",n="";function a(d){this._isDirected=t.has(d,"directed")?d.directed:!0,this._isMultigraph=t.has(d,"multigraph")?d.multigraph:!1,this._isCompound=t.has(d,"compound")?d.compound:!1,this._label=void 0,this._defaultNodeLabelFn=t.constant(void 0),this._defaultEdgeLabelFn=t.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[r]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}a.prototype._nodeCount=0,a.prototype._edgeCount=0,a.prototype.isDirected=function(){return this._isDirected},a.prototype.isMultigraph=function(){return this._isMultigraph},a.prototype.isCompound=function(){return this._isCompound},a.prototype.setGraph=function(d){return this._label=d,this},a.prototype.graph=function(){return this._label},a.prototype.setDefaultNodeLabel=function(d){return t.isFunction(d)||(d=t.constant(d)),this._defaultNodeLabelFn=d,this},a.prototype.nodeCount=function(){return this._nodeCount},a.prototype.nodes=function(){return t.keys(this._nodes)},a.prototype.sources=function(){var d=this;return t.filter(this.nodes(),function(f){return t.isEmpty(d._in[f])})},a.prototype.sinks=function(){var d=this;return t.filter(this.nodes(),function(f){return t.isEmpty(d._out[f])})},a.prototype.setNodes=function(d,f){var h=arguments,v=this;return t.each(d,function(p){h.length>1?v.setNode(p,f):v.setNode(p)}),this},a.prototype.setNode=function(d,f){return t.has(this._nodes,d)?(arguments.length>1&&(this._nodes[d]=f),this):(this._nodes[d]=arguments.length>1?f:this._defaultNodeLabelFn(d),this._isCompound&&(this._parent[d]=r,this._children[d]={},this._children[r][d]=!0),this._in[d]={},this._preds[d]={},this._out[d]={},this._sucs[d]={},++this._nodeCount,this)},a.prototype.node=function(d){return this._nodes[d]},a.prototype.hasNode=function(d){return t.has(this._nodes,d)},a.prototype.removeNode=function(d){var f=this;if(t.has(this._nodes,d)){var h=function(v){f.removeEdge(f._edgeObjs[v])};delete this._nodes[d],this._isCompound&&(this._removeFromParentsChildList(d),delete this._parent[d],t.each(this.children(d),function(v){f.setParent(v)}),delete this._children[d]),t.each(t.keys(this._in[d]),h),delete this._in[d],delete this._preds[d],t.each(t.keys(this._out[d]),h),delete this._out[d],delete this._sucs[d],--this._nodeCount}return this},a.prototype.setParent=function(d,f){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(t.isUndefined(f))f=r;else{f+="";for(var h=f;!t.isUndefined(h);h=this.parent(h))if(h===d)throw new Error("Setting "+f+" as parent of "+d+" would create a cycle");this.setNode(f)}return this.setNode(d),this._removeFromParentsChildList(d),this._parent[d]=f,this._children[f][d]=!0,this},a.prototype._removeFromParentsChildList=function(d){delete this._children[this._parent[d]][d]},a.prototype.parent=function(d){if(this._isCompound){var f=this._parent[d];if(f!==r)return f}},a.prototype.children=function(d){if(t.isUndefined(d)&&(d=r),this._isCompound){var f=this._children[d];if(f)return t.keys(f)}else{if(d===r)return this.nodes();if(this.hasNode(d))return[]}},a.prototype.predecessors=function(d){var f=this._preds[d];if(f)return t.keys(f)},a.prototype.successors=function(d){var f=this._sucs[d];if(f)return t.keys(f)},a.prototype.neighbors=function(d){var f=this.predecessors(d);if(f)return t.union(f,this.successors(d))},a.prototype.isLeaf=function(d){var f;return this.isDirected()?f=this.successors(d):f=this.neighbors(d),f.length===0},a.prototype.filterNodes=function(d){var f=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});f.setGraph(this.graph());var h=this;t.each(this._nodes,function(g,m){d(m)&&f.setNode(m,g)}),t.each(this._edgeObjs,function(g){f.hasNode(g.v)&&f.hasNode(g.w)&&f.setEdge(g,h.edge(g))});var v={};function p(g){var m=h.parent(g);return m===void 0||f.hasNode(m)?(v[g]=m,m):m in v?v[m]:p(m)}return this._isCompound&&t.each(f.nodes(),function(g){f.setParent(g,p(g))}),f},a.prototype.setDefaultEdgeLabel=function(d){return t.isFunction(d)||(d=t.constant(d)),this._defaultEdgeLabelFn=d,this},a.prototype.edgeCount=function(){return this._edgeCount},a.prototype.edges=function(){return t.values(this._edgeObjs)},a.prototype.setPath=function(d,f){var h=this,v=arguments;return t.reduce(d,function(p,g){return v.length>1?h.setEdge(p,g,f):h.setEdge(p,g),g}),this},a.prototype.setEdge=function(){var d,f,h,v,p=!1,g=arguments[0];typeof g=="object"&&g!==null&&"v"in g?(d=g.v,f=g.w,h=g.name,arguments.length===2&&(v=arguments[1],p=!0)):(d=g,f=arguments[1],h=arguments[3],arguments.length>2&&(v=arguments[2],p=!0)),d=""+d,f=""+f,t.isUndefined(h)||(h=""+h);var m=l(this._isDirected,d,f,h);if(t.has(this._edgeLabels,m))return p&&(this._edgeLabels[m]=v),this;if(!t.isUndefined(h)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(d),this.setNode(f),this._edgeLabels[m]=p?v:this._defaultEdgeLabelFn(d,f,h);var y=c(this._isDirected,d,f,h);return d=y.v,f=y.w,Object.freeze(y),this._edgeObjs[m]=y,i(this._preds[f],d),i(this._sucs[d],f),this._in[f][m]=y,this._out[d][m]=y,this._edgeCount++,this},a.prototype.edge=function(d,f,h){var v=arguments.length===1?u(this._isDirected,arguments[0]):l(this._isDirected,d,f,h);return this._edgeLabels[v]},a.prototype.hasEdge=function(d,f,h){var v=arguments.length===1?u(this._isDirected,arguments[0]):l(this._isDirected,d,f,h);return t.has(this._edgeLabels,v)},a.prototype.removeEdge=function(d,f,h){var v=arguments.length===1?u(this._isDirected,arguments[0]):l(this._isDirected,d,f,h),p=this._edgeObjs[v];return p&&(d=p.v,f=p.w,delete this._edgeLabels[v],delete this._edgeObjs[v],o(this._preds[f],d),o(this._sucs[d],f),delete this._in[f][v],delete this._out[d][v],this._edgeCount--),this},a.prototype.inEdges=function(d,f){var h=this._in[d];if(h){var v=t.values(h);return f?t.filter(v,function(p){return p.v===f}):v}},a.prototype.outEdges=function(d,f){var h=this._out[d];if(h){var v=t.values(h);return f?t.filter(v,function(p){return p.w===f}):v}},a.prototype.nodeEdges=function(d,f){var h=this.inEdges(d,f);if(h)return h.concat(this.outEdges(d,f))};function i(d,f){d[f]?d[f]++:d[f]=1}function o(d,f){--d[f]||delete d[f]}function l(d,f,h,v){var p=""+f,g=""+h;if(!d&&p>g){var m=p;p=g,g=m}return p+n+g+n+(t.isUndefined(v)?e:v)}function c(d,f,h,v){var p=""+f,g=""+h;if(!d&&p>g){var m=p;p=g,g=m}var y={v:p,w:g};return v&&(y.name=v),y}function u(d,f){return l(d,f.v,f.w,f.name)}return xp}var Sp,Fk;function z8(){return Fk||(Fk=1,Sp="2.1.8"),Sp}var _p,$k;function H8(){return $k||($k=1,_p={Graph:kp(),version:z8()}),_p}var Tp,Vk;function K8(){if(Vk)return Tp;Vk=1;var t=sr(),e=kp();Tp={write:r,read:i};function r(o){var l={options:{directed:o.isDirected(),multigraph:o.isMultigraph(),compound:o.isCompound()},nodes:n(o),edges:a(o)};return t.isUndefined(o.graph())||(l.value=t.clone(o.graph())),l}function n(o){return t.map(o.nodes(),function(l){var c=o.node(l),u=o.parent(l),d={v:l};return t.isUndefined(c)||(d.value=c),t.isUndefined(u)||(d.parent=u),d})}function a(o){return t.map(o.edges(),function(l){var c=o.edge(l),u={v:l.v,w:l.w};return t.isUndefined(l.name)||(u.name=l.name),t.isUndefined(c)||(u.value=c),u})}function i(o){var l=new e(o.options).setGraph(o.value);return t.each(o.nodes,function(c){l.setNode(c.v,c.value),c.parent&&l.setParent(c.v,c.parent)}),t.each(o.edges,function(c){l.setEdge({v:c.v,w:c.w,name:c.name},c.value)}),l}return Tp}var Np,qk;function G8(){if(qk)return Np;qk=1;var t=sr();Np=e;function e(r){var n={},a=[],i;function o(l){t.has(n,l)||(n[l]=!0,i.push(l),t.each(r.successors(l),o),t.each(r.predecessors(l),o))}return t.each(r.nodes(),function(l){i=[],o(l),i.length&&a.push(i)}),a}return Np}var Ip,zk;function Hk(){if(zk)return Ip;zk=1;var t=sr();Ip=e;function e(){this._arr=[],this._keyIndices={}}return e.prototype.size=function(){return this._arr.length},e.prototype.keys=function(){return this._arr.map(function(r){return r.key})},e.prototype.has=function(r){return t.has(this._keyIndices,r)},e.prototype.priority=function(r){var n=this._keyIndices[r];if(n!==void 0)return this._arr[n].priority},e.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},e.prototype.add=function(r,n){var a=this._keyIndices;if(r=String(r),!t.has(a,r)){var i=this._arr,o=i.length;return a[r]=o,i.push({key:r,priority:n}),this._decrease(o),!0}return!1},e.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var r=this._arr.pop();return delete this._keyIndices[r.key],this._heapify(0),r.key},e.prototype.decrease=function(r,n){var a=this._keyIndices[r];if(n>this._arr[a].priority)throw new Error("New priority is greater than current priority. Key: "+r+" Old: "+this._arr[a].priority+" New: "+n);this._arr[a].priority=n,this._decrease(a)},e.prototype._heapify=function(r){var n=this._arr,a=2*r,i=a+1,o=r;a<n.length&&(o=n[a].priority<n[o].priority?a:o,i<n.length&&(o=n[i].priority<n[o].priority?i:o),o!==r&&(this._swap(r,o),this._heapify(o)))},e.prototype._decrease=function(r){for(var n=this._arr,a=n[r].priority,i;r!==0&&(i=r>>1,!(n[i].priority<a));)this._swap(r,i),r=i},e.prototype._swap=function(r,n){var a=this._arr,i=this._keyIndices,o=a[r],l=a[n];a[r]=l,a[n]=o,i[l.key]=r,i[o.key]=n},Ip}var Bp,Kk;function Gk(){if(Kk)return Bp;Kk=1;var t=sr(),e=Hk();Bp=n;var r=t.constant(1);function n(i,o,l,c){return a(i,String(o),l||r,c||function(u){return i.outEdges(u)})}function a(i,o,l,c){var u={},d=new e,f,h,v=function(p){var g=p.v!==f?p.v:p.w,m=u[g],y=l(p),b=h.distance+y;if(y<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+p+" Weight: "+y);b<m.distance&&(m.distance=b,m.predecessor=f,d.decrease(g,b))};for(i.nodes().forEach(function(p){var g=p===o?0:Number.POSITIVE_INFINITY;u[p]={distance:g},d.add(p,g)});d.size()>0&&(f=d.removeMin(),h=u[f],h.distance!==Number.POSITIVE_INFINITY);)c(f).forEach(v);return u}return Bp}var Dp,Uk;function U8(){if(Uk)return Dp;Uk=1;var t=Gk(),e=sr();Dp=r;function r(n,a,i){return e.transform(n.nodes(),function(o,l){o[l]=t(n,l,a,i)},{})}return Dp}var Op,jk;function Wk(){if(jk)return Op;jk=1;var t=sr();Op=e;function e(r){var n=0,a=[],i={},o=[];function l(c){var u=i[c]={onStack:!0,lowlink:n,index:n++};if(a.push(c),r.successors(c).forEach(function(h){t.has(i,h)?i[h].onStack&&(u.lowlink=Math.min(u.lowlink,i[h].index)):(l(h),u.lowlink=Math.min(u.lowlink,i[h].lowlink))}),u.lowlink===u.index){var d=[],f;do f=a.pop(),i[f].onStack=!1,d.push(f);while(c!==f);o.push(d)}}return r.nodes().forEach(function(c){t.has(i,c)||l(c)}),o}return Op}var Pp,Yk;function j8(){if(Yk)return Pp;Yk=1;var t=sr(),e=Wk();Pp=r;function r(n){return t.filter(e(n),function(a){return a.length>1||a.length===1&&n.hasEdge(a[0],a[0])})}return Pp}var Ap,Zk;function W8(){if(Zk)return Ap;Zk=1;var t=sr();Ap=r;var e=t.constant(1);function r(a,i,o){return n(a,i||e,o||function(l){return a.outEdges(l)})}function n(a,i,o){var l={},c=a.nodes();return c.forEach(function(u){l[u]={},l[u][u]={distance:0},c.forEach(function(d){u!==d&&(l[u][d]={distance:Number.POSITIVE_INFINITY})}),o(u).forEach(function(d){var f=d.v===u?d.w:d.v,h=i(d);l[u][f]={distance:h,predecessor:u}})}),c.forEach(function(u){var d=l[u];c.forEach(function(f){var h=l[f];c.forEach(function(v){var p=h[u],g=d[v],m=h[v],y=p.distance+g.distance;y<m.distance&&(m.distance=y,m.predecessor=g.predecessor)})})}),l}return Ap}var Rp,Xk;function Jk(){if(Xk)return Rp;Xk=1;var t=sr();Rp=e,e.CycleException=r;function e(n){var a={},i={},o=[];function l(c){if(t.has(i,c))throw new r;t.has(a,c)||(i[c]=!0,a[c]=!0,t.each(n.predecessors(c),l),delete i[c],o.push(c))}if(t.each(n.sinks(),l),t.size(a)!==n.nodeCount())throw new r;return o}function r(){}return r.prototype=new Error,Rp}var Lp,Qk;function Y8(){if(Qk)return Lp;Qk=1;var t=Jk();Lp=e;function e(r){try{t(r)}catch(n){if(n instanceof t.CycleException)return!1;throw n}return!0}return Lp}var Mp,e2;function t2(){if(e2)return Mp;e2=1;var t=sr();Mp=e;function e(n,a,i){t.isArray(a)||(a=[a]);var o=(n.isDirected()?n.successors:n.neighbors).bind(n),l=[],c={};return t.each(a,function(u){if(!n.hasNode(u))throw new Error("Graph does not have node: "+u);r(n,u,i==="post",c,o,l)}),l}function r(n,a,i,o,l,c){t.has(o,a)||(o[a]=!0,i||c.push(a),t.each(l(a),function(u){r(n,u,i,o,l,c)}),i&&c.push(a))}return Mp}var Fp,r2;function Z8(){if(r2)return Fp;r2=1;var t=t2();Fp=e;function e(r,n){return t(r,n,"post")}return Fp}var $p,n2;function X8(){if(n2)return $p;n2=1;var t=t2();$p=e;function e(r,n){return t(r,n,"pre")}return $p}var Vp,a2;function J8(){if(a2)return Vp;a2=1;var t=sr(),e=kp(),r=Hk();Vp=n;function n(a,i){var o=new e,l={},c=new r,u;function d(h){var v=h.v===u?h.w:h.v,p=c.priority(v);if(p!==void 0){var g=i(h);g<p&&(l[v]=u,c.decrease(v,g))}}if(a.nodeCount()===0)return o;t.each(a.nodes(),function(h){c.add(h,Number.POSITIVE_INFINITY),o.setNode(h)}),c.decrease(a.nodes()[0],0);for(var f=!1;c.size()>0;){if(u=c.removeMin(),t.has(l,u))o.setEdge(u,l[u]);else{if(f)throw new Error("Input graph is not connected: "+a);f=!0}a.nodeEdges(u).forEach(d)}return o}return Vp}var qp,i2;function Q8(){return i2||(i2=1,qp={components:G8(),dijkstra:Gk(),dijkstraAll:U8(),findCycles:j8(),floydWarshall:W8(),isAcyclic:Y8(),postorder:Z8(),preorder:X8(),prim:J8(),tarjan:Wk(),topsort:Jk()}),qp}var zp,o2;function e6(){if(o2)return zp;o2=1;var t=H8();return zp={Graph:t.Graph,json:K8(),alg:Q8(),version:t.version},zp}var Hp,s2;function wr(){if(s2)return Hp;s2=1;var t;if(typeof Bc=="function")try{t=e6()}catch{}return t||(t=window.graphlib),Hp=t,Hp}var Kp,l2;function t6(){if(l2)return Kp;l2=1;var t=OE(),e=1,r=4;function n(a){return t(a,e|r)}return Kp=n,Kp}var Gp,u2;function El(){if(u2)return Gp;u2=1;var t=si(),e=en(),r=hl(),n=or();function a(i,o,l){if(!n(l))return!1;var c=typeof o;return(c=="number"?e(l)&&r(o,l.length):c=="string"&&o in l)?t(l[o],i):!1}return Gp=a,Gp}var Up,c2;function r6(){if(c2)return Up;c2=1;var t=Cl(),e=si(),r=El(),n=ha(),a=Object.prototype,i=a.hasOwnProperty,o=t(function(l,c){l=Object(l);var u=-1,d=c.length,f=d>2?c[2]:void 0;for(f&&r(c[0],c[1],f)&&(d=1);++u<d;)for(var h=c[u],v=n(h),p=-1,g=v.length;++p<g;){var m=v[p],y=l[m];(y===void 0||e(y,a[m])&&!i.call(l,m))&&(l[m]=h[m])}return l});return Up=o,Up}var jp,d2;function n6(){if(d2)return jp;d2=1;var t=tn(),e=en(),r=Dn();function n(a){return function(i,o,l){var c=Object(i);if(!e(i)){var u=t(o,3);i=r(i),o=function(f){return u(c[f],f,c)}}var d=a(i,o,l);return d>-1?c[u?i[d]:d]:void 0}}return jp=n,jp}var Wp,f2;function a6(){if(f2)return Wp;f2=1;var t=/\s/;function e(r){for(var n=r.length;n--&&t.test(r.charAt(n)););return n}return Wp=e,Wp}var Yp,h2;function i6(){if(h2)return Yp;h2=1;var t=a6(),e=/^\s+/;function r(n){return n&&n.slice(0,t(n)+1).replace(e,"")}return Yp=r,Yp}var Zp,p2;function o6(){if(p2)return Zp;p2=1;var t=i6(),e=or(),r=di(),n=NaN,a=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,o=/^0o[0-7]+$/i,l=parseInt;function c(u){if(typeof u=="number")return u;if(r(u))return n;if(e(u)){var d=typeof u.valueOf=="function"?u.valueOf():u;u=e(d)?d+"":d}if(typeof u!="string")return u===0?u:+u;u=t(u);var f=i.test(u);return f||o.test(u)?l(u.slice(2),f?2:8):a.test(u)?n:+u}return Zp=c,Zp}var Xp,v2;function g2(){if(v2)return Xp;v2=1;var t=o6(),e=1/0,r=17976931348623157e292;function n(a){if(!a)return a===0?a:0;if(a=t(a),a===e||a===-e){var i=a<0?-1:1;return i*r}return a===a?a:0}return Xp=n,Xp}var Jp,m2;function s6(){if(m2)return Jp;m2=1;var t=g2();function e(r){var n=t(r),a=n%1;return n===n?a?n-a:n:0}return Jp=e,Jp}var Qp,y2;function l6(){if(y2)return Qp;y2=1;var t=Ck(),e=tn(),r=s6(),n=Math.max;function a(i,o,l){var c=i==null?0:i.length;if(!c)return-1;var u=l==null?0:r(l);return u<0&&(u=n(c+u,0)),t(i,e(o,3),u)}return Qp=a,Qp}var ev,b2;function u6(){if(b2)return ev;b2=1;var t=n6(),e=l6(),r=t(e);return ev=r,ev}var tv,w2;function C2(){if(w2)return tv;w2=1;var t=rp();function e(r){var n=r==null?0:r.length;return n?t(r,1):[]}return tv=e,tv}var rv,E2;function c6(){if(E2)return rv;E2=1;var t=zf(),e=zE(),r=ha();function n(a,i){return a==null?a:t(a,e(i),r)}return rv=n,rv}var nv,x2;function d6(){if(x2)return nv;x2=1;function t(e){var r=e==null?0:e.length;return r?e[r-1]:void 0}return nv=t,nv}var av,k2;function f6(){if(k2)return av;k2=1;var t=dl(),e=Kf(),r=tn();function n(a,i){var o={};return i=r(i,3),e(a,function(l,c,u){t(o,c,i(l,c,u))}),o}return av=n,av}var iv,S2;function ov(){if(S2)return iv;S2=1;var t=di();function e(r,n,a){for(var i=-1,o=r.length;++i<o;){var l=r[i],c=n(l);if(c!=null&&(u===void 0?c===c&&!t(c):a(c,u)))var u=c,d=l}return d}return iv=e,iv}var sv,_2;function h6(){if(_2)return sv;_2=1;function t(e,r){return e>r}return sv=t,sv}var lv,T2;function p6(){if(T2)return lv;T2=1;var t=ov(),e=h6(),r=pa();function n(a){return a&&a.length?t(a,r,e):void 0}return lv=n,lv}var uv,N2;function I2(){if(N2)return uv;N2=1;var t=dl(),e=si();function r(n,a,i){(i!==void 0&&!e(n[a],i)||i===void 0&&!(a in n))&&t(n,a,i)}return uv=r,uv}var cv,B2;function v6(){if(B2)return cv;B2=1;var t=da(),e=gl(),r=Rr(),n="[object Object]",a=Function.prototype,i=Object.prototype,o=a.toString,l=i.hasOwnProperty,c=o.call(Object);function u(d){if(!r(d)||t(d)!=n)return!1;var f=e(d);if(f===null)return!0;var h=l.call(f,"constructor")&&f.constructor;return typeof h=="function"&&h instanceof h&&o.call(h)==c}return cv=u,cv}var dv,D2;function O2(){if(D2)return dv;D2=1;function t(e,r){if(!(r==="constructor"&&typeof e[r]=="function")&&r!="__proto__")return e[r]}return dv=t,dv}var fv,P2;function g6(){if(P2)return fv;P2=1;var t=Co(),e=ha();function r(n){return t(n,e(n))}return fv=r,fv}var hv,A2;function m6(){if(A2)return hv;A2=1;var t=I2(),e=zC(),r=CE(),n=KC(),a=_E(),i=Eo(),o=at(),l=Dk(),c=ui(),u=wo(),d=or(),f=v6(),h=So(),v=O2(),p=g6();function g(m,y,b,w,C,x,k){var E=v(m,b),_=v(y,b),S=k.get(_);if(S){t(m,b,S);return}var T=x?x(E,_,b+"",m,y,k):void 0,N=T===void 0;if(N){var B=o(_),O=!B&&c(_),D=!B&&!O&&h(_);T=_,B||O||D?o(E)?T=E:l(E)?T=n(E):O?(N=!1,T=e(_,!0)):D?(N=!1,T=r(_,!0)):T=[]:f(_)||i(_)?(T=E,i(E)?T=p(E):(!d(E)||u(E))&&(T=a(_))):N=!1}N&&(k.set(_,T),C(T,_,w,x,k),k.delete(_)),t(m,b,T)}return hv=g,hv}var pv,R2;function y6(){if(R2)return pv;R2=1;var t=cl(),e=I2(),r=zf(),n=m6(),a=or(),i=ha(),o=O2();function l(c,u,d,f,h){c!==u&&r(u,function(v,p){if(h||(h=new t),a(v))n(c,u,p,d,l,f,h);else{var g=f?f(o(c,p),v,p+"",c,u,h):void 0;g===void 0&&(g=v),e(c,p,g)}},i)}return pv=l,pv}var vv,L2;function b6(){if(L2)return vv;L2=1;var t=Cl(),e=El();function r(n){return t(function(a,i){var o=-1,l=i.length,c=l>1?i[l-1]:void 0,u=l>2?i[2]:void 0;for(c=n.length>3&&typeof c=="function"?(l--,c):void 0,u&&e(i[0],i[1],u)&&(c=l<3?void 0:c,l=1),a=Object(a);++o<l;){var d=i[o];d&&n(a,d,o,c)}return a})}return vv=r,vv}var gv,M2;function w6(){if(M2)return gv;M2=1;var t=y6(),e=b6(),r=e(function(n,a,i){t(n,a,i)});return gv=r,gv}var mv,F2;function $2(){if(F2)return mv;F2=1;function t(e,r){return e<r}return mv=t,mv}var yv,V2;function C6(){if(V2)return yv;V2=1;var t=ov(),e=$2(),r=pa();function n(a){return a&&a.length?t(a,r,e):void 0}return yv=n,yv}var bv,q2;function E6(){if(q2)return bv;q2=1;var t=ov(),e=tn(),r=$2();function n(a,i){return a&&a.length?t(a,e(i,2),r):void 0}return bv=n,bv}var wv,z2;function x6(){if(z2)return wv;z2=1;var t=br(),e=function(){return t.Date.now()};return wv=e,wv}var Cv,H2;function k6(){if(H2)return Cv;H2=1;var t=fl(),e=bl(),r=hl(),n=or(),a=To();function i(o,l,c,u){if(!n(o))return o;l=e(l,o);for(var d=-1,f=l.length,h=f-1,v=o;v!=null&&++d<f;){var p=a(l[d]),g=c;if(p==="__proto__"||p==="constructor"||p==="prototype")return o;if(d!=h){var m=v[p];g=u?u(m,p,v):void 0,g===void 0&&(g=n(m)?m:r(l[d+1])?[]:{})}t(v,p,g),v=v[p]}return o}return Cv=i,Cv}var Ev,K2;function S6(){if(K2)return Ev;K2=1;var t=wl(),e=k6(),r=bl();function n(a,i,o){for(var l=-1,c=i.length,u={};++l<c;){var d=i[l],f=t(a,d);o(f,d)&&e(u,r(d,a),f)}return u}return Ev=n,Ev}var xv,G2;function _6(){if(G2)return xv;G2=1;var t=S6(),e=Ax();function r(n,a){return t(n,a,function(i,o){return e(n,o)})}return xv=r,xv}var kv,U2;function T6(){if(U2)return kv;U2=1;var t=C2(),e=pk(),r=yk();function n(a){return r(e(a,void 0,t),a+"")}return kv=n,kv}var Sv,j2;function N6(){if(j2)return Sv;j2=1;var t=_6(),e=T6(),r=e(function(n,a){return n==null?{}:t(n,a)});return Sv=r,Sv}var _v,W2;function I6(){if(W2)return _v;W2=1;var t=Math.ceil,e=Math.max;function r(n,a,i,o){for(var l=-1,c=e(t((a-n)/(i||1)),0),u=Array(c);c--;)u[o?c:++l]=n,n+=i;return u}return _v=r,_v}var Tv,Y2;function B6(){if(Y2)return Tv;Y2=1;var t=I6(),e=El(),r=g2();function n(a){return function(i,o,l){return l&&typeof l!="number"&&e(i,o,l)&&(o=l=void 0),i=r(i),o===void 0?(o=i,i=0):o=r(o),l=l===void 0?i<o?1:-1:r(l),t(i,o,l,a)}}return Tv=n,Tv}var Nv,Z2;function D6(){if(Z2)return Nv;Z2=1;var t=B6(),e=t();return Nv=e,Nv}var Iv,X2;function O6(){if(X2)return Iv;X2=1;function t(e,r){var n=e.length;for(e.sort(r);n--;)e[n]=e[n].value;return e}return Iv=t,Iv}var Bv,J2;function P6(){if(J2)return Bv;J2=1;var t=di();function e(r,n){if(r!==n){var a=r!==void 0,i=r===null,o=r===r,l=t(r),c=n!==void 0,u=n===null,d=n===n,f=t(n);if(!u&&!f&&!l&&r>n||l&&c&&d&&!u&&!f||i&&c&&d||!a&&d||!o)return 1;if(!i&&!l&&!f&&r<n||f&&a&&o&&!i&&!l||u&&a&&o||!c&&o||!d)return-1}return 0}return Bv=e,Bv}var Dv,Q2;function A6(){if(Q2)return Dv;Q2=1;var t=P6();function e(r,n,a){for(var i=-1,o=r.criteria,l=n.criteria,c=o.length,u=a.length;++i<c;){var d=t(o[i],l[i]);if(d){if(i>=u)return d;var f=a[i];return d*(f=="desc"?-1:1)}}return r.index-n.index}return Dv=e,Dv}var Ov,eS;function R6(){if(eS)return Ov;eS=1;var t=yl(),e=wl(),r=tn(),n=Zx(),a=O6(),i=pl(),o=A6(),l=pa(),c=at();function u(d,f,h){f.length?f=t(f,function(g){return c(g)?function(m){return e(m,g.length===1?g[0]:g)}:g}):f=[l];var v=-1;f=t(f,i(r));var p=n(d,function(g,m,y){var b=t(f,function(w){return w(g)});return{criteria:b,index:++v,value:g}});return a(p,function(g,m){return o(g,m,h)})}return Ov=u,Ov}var Pv,tS;function L6(){if(tS)return Pv;tS=1;var t=rp(),e=R6(),r=Cl(),n=El(),a=r(function(i,o){if(i==null)return[];var l=o.length;return l>1&&n(i,o[0],o[1])?o=[]:l>2&&n(o[0],o[1],o[2])&&(o=[o[0]]),e(i,t(o,1),[])});return Pv=a,Pv}var Av,rS;function M6(){if(rS)return Av;rS=1;var t=Sx(),e=0;function r(n){var a=++e;return t(n)+a}return Av=r,Av}var Rv,nS;function F6(){if(nS)return Rv;nS=1;function t(e,r,n){for(var a=-1,i=e.length,o=r.length,l={};++a<i;){var c=a<o?r[a]:void 0;n(l,e[a],c)}return l}return Rv=t,Rv}var Lv,aS;function $6(){if(aS)return Lv;aS=1;var t=fl(),e=F6();function r(n,a){return e(n||[],a||[],t)}return Lv=r,Lv}var Mv,iS;function Ze(){if(iS)return Mv;iS=1;var t;if(typeof Bc=="function")try{t={cloneDeep:t6(),constant:$f(),defaults:r6(),each:UE(),filter:zx(),find:u6(),flatten:C2(),forEach:KE(),forIn:c6(),has:Gx(),isUndefined:Wx(),last:d6(),map:Jx(),mapValues:f6(),max:p6(),merge:w6(),min:C6(),minBy:E6(),now:x6(),pick:N6(),range:D6(),reduce:rk(),sortBy:L6(),uniqueId:M6(),values:Rk(),zipObject:$6()}}catch{}return t||(t=window._),Mv=t,Mv}var Fv,oS;function V6(){if(oS)return Fv;oS=1,Fv=t;function t(){var n={};n._next=n._prev=n,this._sentinel=n}t.prototype.dequeue=function(){var n=this._sentinel,a=n._prev;if(a!==n)return e(a),a},t.prototype.enqueue=function(n){var a=this._sentinel;n._prev&&n._next&&e(n),n._next=a._next,a._next._prev=n,a._next=n,n._prev=a},t.prototype.toString=function(){for(var n=[],a=this._sentinel,i=a._prev;i!==a;)n.push(JSON.stringify(i,r)),i=i._prev;return"["+n.join(", ")+"]"};function e(n){n._prev._next=n._next,n._next._prev=n._prev,delete n._next,delete n._prev}function r(n,a){if(n!=="_next"&&n!=="_prev")return a}return Fv}var $v,sS;function q6(){if(sS)return $v;sS=1;var t=Ze(),e=wr().Graph,r=V6();$v=a;var n=t.constant(1);function a(u,d){if(u.nodeCount()<=1)return[];var f=l(u,d||n),h=i(f.graph,f.buckets,f.zeroIdx);return t.flatten(t.map(h,function(v){return u.outEdges(v.v,v.w)}),!0)}function i(u,d,f){for(var h=[],v=d[d.length-1],p=d[0],g;u.nodeCount();){for(;g=p.dequeue();)o(u,d,f,g);for(;g=v.dequeue();)o(u,d,f,g);if(u.nodeCount()){for(var m=d.length-2;m>0;--m)if(g=d[m].dequeue(),g){h=h.concat(o(u,d,f,g,!0));break}}}return h}function o(u,d,f,h,v){var p=v?[]:void 0;return t.forEach(u.inEdges(h.v),function(g){var m=u.edge(g),y=u.node(g.v);v&&p.push({v:g.v,w:g.w}),y.out-=m,c(d,f,y)}),t.forEach(u.outEdges(h.v),function(g){var m=u.edge(g),y=g.w,b=u.node(y);b.in-=m,c(d,f,b)}),u.removeNode(h.v),p}function l(u,d){var f=new e,h=0,v=0;t.forEach(u.nodes(),function(m){f.setNode(m,{v:m,in:0,out:0})}),t.forEach(u.edges(),function(m){var y=f.edge(m.v,m.w)||0,b=d(m),w=y+b;f.setEdge(m.v,m.w,w),v=Math.max(v,f.node(m.v).out+=b),h=Math.max(h,f.node(m.w).in+=b)});var p=t.range(v+h+3).map(function(){return new r}),g=h+1;return t.forEach(f.nodes(),function(m){c(p,g,f.node(m))}),{graph:f,buckets:p,zeroIdx:g}}function c(u,d,f){f.out?f.in?u[f.out-f.in+d].enqueue(f):u[u.length-1].enqueue(f):u[0].enqueue(f)}return $v}var Vv,lS;function z6(){if(lS)return Vv;lS=1;var t=Ze(),e=q6();Vv={run:r,undo:a};function r(i){var o=i.graph().acyclicer==="greedy"?e(i,l(i)):n(i);t.forEach(o,function(c){var u=i.edge(c);i.removeEdge(c),u.forwardName=c.name,u.reversed=!0,i.setEdge(c.w,c.v,u,t.uniqueId("rev"))});function l(c){return function(u){return c.edge(u).weight}}}function n(i){var o=[],l={},c={};function u(d){t.has(c,d)||(c[d]=!0,l[d]=!0,t.forEach(i.outEdges(d),function(f){t.has(l,f.w)?o.push(f):u(f.w)}),delete l[d])}return t.forEach(i.nodes(),u),o}function a(i){t.forEach(i.edges(),function(o){var l=i.edge(o);if(l.reversed){i.removeEdge(o);var c=l.forwardName;delete l.reversed,delete l.forwardName,i.setEdge(o.w,o.v,l,c)}})}return Vv}var qv,uS;function Ut(){if(uS)return qv;uS=1;var t=Ze(),e=wr().Graph;qv={addDummyNode:r,simplify:n,asNonCompoundGraph:a,successorWeights:i,predecessorWeights:o,intersectRect:l,buildLayerMatrix:c,normalizeRanks:u,removeEmptyRanks:d,addBorderNode:f,maxRank:h,partition:v,time:p,notime:g};function r(m,y,b,w){var C;do C=t.uniqueId(w);while(m.hasNode(C));return b.dummy=y,m.setNode(C,b),C}function n(m){var y=new e().setGraph(m.graph());return t.forEach(m.nodes(),function(b){y.setNode(b,m.node(b))}),t.forEach(m.edges(),function(b){var w=y.edge(b.v,b.w)||{weight:0,minlen:1},C=m.edge(b);y.setEdge(b.v,b.w,{weight:w.weight+C.weight,minlen:Math.max(w.minlen,C.minlen)})}),y}function a(m){var y=new e({multigraph:m.isMultigraph()}).setGraph(m.graph());return t.forEach(m.nodes(),function(b){m.children(b).length||y.setNode(b,m.node(b))}),t.forEach(m.edges(),function(b){y.setEdge(b,m.edge(b))}),y}function i(m){var y=t.map(m.nodes(),function(b){var w={};return t.forEach(m.outEdges(b),function(C){w[C.w]=(w[C.w]||0)+m.edge(C).weight}),w});return t.zipObject(m.nodes(),y)}function o(m){var y=t.map(m.nodes(),function(b){var w={};return t.forEach(m.inEdges(b),function(C){w[C.v]=(w[C.v]||0)+m.edge(C).weight}),w});return t.zipObject(m.nodes(),y)}function l(m,y){var b=m.x,w=m.y,C=y.x-b,x=y.y-w,k=m.width/2,E=m.height/2;if(!C&&!x)throw new Error("Not possible to find intersection inside of the rectangle");var _,S;return Math.abs(x)*k>Math.abs(C)*E?(x<0&&(E=-E),_=E*C/x,S=E):(C<0&&(k=-k),_=k,S=k*x/C),{x:b+_,y:w+S}}function c(m){var y=t.map(t.range(h(m)+1),function(){return[]});return t.forEach(m.nodes(),function(b){var w=m.node(b),C=w.rank;t.isUndefined(C)||(y[C][w.order]=b)}),y}function u(m){var y=t.min(t.map(m.nodes(),function(b){return m.node(b).rank}));t.forEach(m.nodes(),function(b){var w=m.node(b);t.has(w,"rank")&&(w.rank-=y)})}function d(m){var y=t.min(t.map(m.nodes(),function(x){return m.node(x).rank})),b=[];t.forEach(m.nodes(),function(x){var k=m.node(x).rank-y;b[k]||(b[k]=[]),b[k].push(x)});var w=0,C=m.graph().nodeRankFactor;t.forEach(b,function(x,k){t.isUndefined(x)&&k%C!==0?--w:w&&t.forEach(x,function(E){m.node(E).rank+=w})})}function f(m,y,b,w){var C={width:0,height:0};return arguments.length>=4&&(C.rank=b,C.order=w),r(m,"border",C,y)}function h(m){return t.max(t.map(m.nodes(),function(y){var b=m.node(y).rank;if(!t.isUndefined(b))return b}))}function v(m,y){var b={lhs:[],rhs:[]};return t.forEach(m,function(w){y(w)?b.lhs.push(w):b.rhs.push(w)}),b}function p(m,y){var b=t.now();try{return y()}finally{console.log(m+" time: "+(t.now()-b)+"ms")}}function g(m,y){return y()}return qv}var zv,cS;function H6(){if(cS)return zv;cS=1;var t=Ze(),e=Ut();zv={run:r,undo:a};function r(i){i.graph().dummyChains=[],t.forEach(i.edges(),function(o){n(i,o)})}function n(i,o){var l=o.v,c=i.node(l).rank,u=o.w,d=i.node(u).rank,f=o.name,h=i.edge(o),v=h.labelRank;if(d!==c+1){i.removeEdge(o);var p,g,m;for(m=0,++c;c<d;++m,++c)h.points=[],g={width:0,height:0,edgeLabel:h,edgeObj:o,rank:c},p=e.addDummyNode(i,"edge",g,"_d"),c===v&&(g.width=h.width,g.height=h.height,g.dummy="edge-label",g.labelpos=h.labelpos),i.setEdge(l,p,{weight:h.weight},f),m===0&&i.graph().dummyChains.push(p),l=p;i.setEdge(l,u,{weight:h.weight},f)}}function a(i){t.forEach(i.graph().dummyChains,function(o){var l=i.node(o),c=l.edgeLabel,u;for(i.setEdge(l.edgeObj,c);l.dummy;)u=i.successors(o)[0],i.removeNode(o),c.points.push({x:l.x,y:l.y}),l.dummy==="edge-label"&&(c.x=l.x,c.y=l.y,c.width=l.width,c.height=l.height),o=u,l=i.node(o)})}return zv}var Hv,dS;function xl(){if(dS)return Hv;dS=1;var t=Ze();Hv={longestPath:e,slack:r};function e(n){var a={};function i(o){var l=n.node(o);if(t.has(a,o))return l.rank;a[o]=!0;var c=t.min(t.map(n.outEdges(o),function(u){return i(u.w)-n.edge(u).minlen}));return(c===Number.POSITIVE_INFINITY||c===void 0||c===null)&&(c=0),l.rank=c}t.forEach(n.sources(),i)}function r(n,a){return n.node(a.w).rank-n.node(a.v).rank-n.edge(a).minlen}return Hv}var Kv,fS;function hS(){if(fS)return Kv;fS=1;var t=Ze(),e=wr().Graph,r=xl().slack;Kv=n;function n(l){var c=new e({directed:!1}),u=l.nodes()[0],d=l.nodeCount();c.setNode(u,{});for(var f,h;a(c,l)<d;)f=i(c,l),h=c.hasNode(f.v)?r(l,f):-r(l,f),o(c,l,h);return c}function a(l,c){function u(d){t.forEach(c.nodeEdges(d),function(f){var h=f.v,v=d===h?f.w:h;!l.hasNode(v)&&!r(c,f)&&(l.setNode(v,{}),l.setEdge(d,v,{}),u(v))})}return t.forEach(l.nodes(),u),l.nodeCount()}function i(l,c){return t.minBy(c.edges(),function(u){if(l.hasNode(u.v)!==l.hasNode(u.w))return r(c,u)})}function o(l,c,u){t.forEach(l.nodes(),function(d){c.node(d).rank+=u})}return Kv}var Gv,pS;function K6(){if(pS)return Gv;pS=1;var t=Ze(),e=hS(),r=xl().slack,n=xl().longestPath,a=wr().alg.preorder,i=wr().alg.postorder,o=Ut().simplify;Gv=l,l.initLowLimValues=f,l.initCutValues=c,l.calcCutValue=d,l.leaveEdge=v,l.enterEdge=p,l.exchangeEdges=g;function l(w){w=o(w),n(w);var C=e(w);f(C),c(C,w);for(var x,k;x=v(C);)k=p(C,w,x),g(C,w,x,k)}function c(w,C){var x=i(w,w.nodes());x=x.slice(0,x.length-1),t.forEach(x,function(k){u(w,C,k)})}function u(w,C,x){var k=w.node(x),E=k.parent;w.edge(x,E).cutvalue=d(w,C,x)}function d(w,C,x){var k=w.node(x),E=k.parent,_=!0,S=C.edge(x,E),T=0;return S||(_=!1,S=C.edge(E,x)),T=S.weight,t.forEach(C.nodeEdges(x),function(N){var B=N.v===x,O=B?N.w:N.v;if(O!==E){var D=B===_,R=C.edge(N).weight;if(T+=D?R:-R,y(w,x,O)){var P=w.edge(x,O).cutvalue;T+=D?-P:P}}}),T}function f(w,C){arguments.length<2&&(C=w.nodes()[0]),h(w,{},1,C)}function h(w,C,x,k,E){var _=x,S=w.node(k);return C[k]=!0,t.forEach(w.neighbors(k),function(T){t.has(C,T)||(x=h(w,C,x,T,k))}),S.low=_,S.lim=x++,E?S.parent=E:delete S.parent,x}function v(w){return t.find(w.edges(),function(C){return w.edge(C).cutvalue<0})}function p(w,C,x){var k=x.v,E=x.w;C.hasEdge(k,E)||(k=x.w,E=x.v);var _=w.node(k),S=w.node(E),T=_,N=!1;_.lim>S.lim&&(T=S,N=!0);var B=t.filter(C.edges(),function(O){return N===b(w,w.node(O.v),T)&&N!==b(w,w.node(O.w),T)});return t.minBy(B,function(O){return r(C,O)})}function g(w,C,x,k){var E=x.v,_=x.w;w.removeEdge(E,_),w.setEdge(k.v,k.w,{}),f(w),c(w,C),m(w,C)}function m(w,C){var x=t.find(w.nodes(),function(E){return!C.node(E).parent}),k=a(w,x);k=k.slice(1),t.forEach(k,function(E){var _=w.node(E).parent,S=C.edge(E,_),T=!1;S||(S=C.edge(_,E),T=!0),C.node(E).rank=C.node(_).rank+(T?S.minlen:-S.minlen)})}function y(w,C,x){return w.hasEdge(C,x)}function b(w,C,x){return x.low<=C.lim&&C.lim<=x.lim}return Gv}var Uv,vS;function G6(){if(vS)return Uv;vS=1;var t=xl(),e=t.longestPath,r=hS(),n=K6();Uv=a;function a(c){switch(c.graph().ranker){case"network-simplex":l(c);break;case"tight-tree":o(c);break;case"longest-path":i(c);break;default:l(c)}}var i=e;function o(c){e(c),r(c)}function l(c){n(c)}return Uv}var jv,gS;function U6(){if(gS)return jv;gS=1;var t=Ze();jv=e;function e(a){var i=n(a);t.forEach(a.graph().dummyChains,function(o){for(var l=a.node(o),c=l.edgeObj,u=r(a,i,c.v,c.w),d=u.path,f=u.lca,h=0,v=d[h],p=!0;o!==c.w;){if(l=a.node(o),p){for(;(v=d[h])!==f&&a.node(v).maxRank<l.rank;)h++;v===f&&(p=!1)}if(!p){for(;h<d.length-1&&a.node(v=d[h+1]).minRank<=l.rank;)h++;v=d[h]}a.setParent(o,v),o=a.successors(o)[0]}})}function r(a,i,o,l){var c=[],u=[],d=Math.min(i[o].low,i[l].low),f=Math.max(i[o].lim,i[l].lim),h,v;h=o;do h=a.parent(h),c.push(h);while(h&&(i[h].low>d||f>i[h].lim));for(v=h,h=l;(h=a.parent(h))!==v;)u.push(h);return{path:c.concat(u.reverse()),lca:v}}function n(a){var i={},o=0;function l(c){var u=o;t.forEach(a.children(c),l),i[c]={low:u,lim:o++}}return t.forEach(a.children(),l),i}return jv}var Wv,mS;function j6(){if(mS)return Wv;mS=1;var t=Ze(),e=Ut();Wv={run:r,cleanup:o};function r(l){var c=e.addDummyNode(l,"root",{},"_root"),u=a(l),d=t.max(t.values(u))-1,f=2*d+1;l.graph().nestingRoot=c,t.forEach(l.edges(),function(v){l.edge(v).minlen*=f});var h=i(l)+1;t.forEach(l.children(),function(v){n(l,c,f,h,d,u,v)}),l.graph().nodeRankFactor=f}function n(l,c,u,d,f,h,v){var p=l.children(v);if(!p.length){v!==c&&l.setEdge(c,v,{weight:0,minlen:u});return}var g=e.addBorderNode(l,"_bt"),m=e.addBorderNode(l,"_bb"),y=l.node(v);l.setParent(g,v),y.borderTop=g,l.setParent(m,v),y.borderBottom=m,t.forEach(p,function(b){n(l,c,u,d,f,h,b);var w=l.node(b),C=w.borderTop?w.borderTop:b,x=w.borderBottom?w.borderBottom:b,k=w.borderTop?d:2*d,E=C!==x?1:f-h[v]+1;l.setEdge(g,C,{weight:k,minlen:E,nestingEdge:!0}),l.setEdge(x,m,{weight:k,minlen:E,nestingEdge:!0})}),l.parent(v)||l.setEdge(c,g,{weight:0,minlen:f+h[v]})}function a(l){var c={};function u(d,f){var h=l.children(d);h&&h.length&&t.forEach(h,function(v){u(v,f+1)}),c[d]=f}return t.forEach(l.children(),function(d){u(d,1)}),c}function i(l){return t.reduce(l.edges(),function(c,u){return c+l.edge(u).weight},0)}function o(l){var c=l.graph();l.removeNode(c.nestingRoot),delete c.nestingRoot,t.forEach(l.edges(),function(u){var d=l.edge(u);d.nestingEdge&&l.removeEdge(u)})}return Wv}var Yv,yS;function W6(){if(yS)return Yv;yS=1;var t=Ze(),e=Ut();Yv=r;function r(a){function i(o){var l=a.children(o),c=a.node(o);if(l.length&&t.forEach(l,i),t.has(c,"minRank")){c.borderLeft=[],c.borderRight=[];for(var u=c.minRank,d=c.maxRank+1;u<d;++u)n(a,"borderLeft","_bl",o,c,u),n(a,"borderRight","_br",o,c,u)}}t.forEach(a.children(),i)}function n(a,i,o,l,c,u){var d={width:0,height:0,rank:u,borderType:i},f=c[i][u-1],h=e.addDummyNode(a,"border",d,o);c[i][u]=h,a.setParent(h,l),f&&a.setEdge(f,h,{weight:1})}return Yv}var Zv,bS;function Y6(){if(bS)return Zv;bS=1;var t=Ze();Zv={adjust:e,undo:r};function e(u){var d=u.graph().rankdir.toLowerCase();(d==="lr"||d==="rl")&&n(u)}function r(u){var d=u.graph().rankdir.toLowerCase();(d==="bt"||d==="rl")&&i(u),(d==="lr"||d==="rl")&&(l(u),n(u))}function n(u){t.forEach(u.nodes(),function(d){a(u.node(d))}),t.forEach(u.edges(),function(d){a(u.edge(d))})}function a(u){var d=u.width;u.width=u.height,u.height=d}function i(u){t.forEach(u.nodes(),function(d){o(u.node(d))}),t.forEach(u.edges(),function(d){var f=u.edge(d);t.forEach(f.points,o),t.has(f,"y")&&o(f)})}function o(u){u.y=-u.y}function l(u){t.forEach(u.nodes(),function(d){c(u.node(d))}),t.forEach(u.edges(),function(d){var f=u.edge(d);t.forEach(f.points,c),t.has(f,"x")&&c(f)})}function c(u){var d=u.x;u.x=u.y,u.y=d}return Zv}var Xv,wS;function Z6(){if(wS)return Xv;wS=1;var t=Ze();Xv=e;function e(r){var n={},a=t.filter(r.nodes(),function(u){return!r.children(u).length}),i=t.max(t.map(a,function(u){return r.node(u).rank})),o=t.map(t.range(i+1),function(){return[]});function l(u){if(!t.has(n,u)){n[u]=!0;var d=r.node(u);o[d.rank].push(u),t.forEach(r.successors(u),l)}}var c=t.sortBy(a,function(u){return r.node(u).rank});return t.forEach(c,l),o}return Xv}var Jv,CS;function X6(){if(CS)return Jv;CS=1;var t=Ze();Jv=e;function e(n,a){for(var i=0,o=1;o<a.length;++o)i+=r(n,a[o-1],a[o]);return i}function r(n,a,i){for(var o=t.zipObject(i,t.map(i,function(h,v){return v})),l=t.flatten(t.map(a,function(h){return t.sortBy(t.map(n.outEdges(h),function(v){return{pos:o[v.w],weight:n.edge(v).weight}}),"pos")}),!0),c=1;c<i.length;)c<<=1;var u=2*c-1;c-=1;var d=t.map(new Array(u),function(){return 0}),f=0;return t.forEach(l.forEach(function(h){var v=h.pos+c;d[v]+=h.weight;for(var p=0;v>0;)v%2&&(p+=d[v+1]),v=v-1>>1,d[v]+=h.weight;f+=h.weight*p})),f}return Jv}var Qv,ES;function J6(){if(ES)return Qv;ES=1;var t=Ze();Qv=e;function e(r,n){return t.map(n,function(a){var i=r.inEdges(a);if(i.length){var o=t.reduce(i,function(l,c){var u=r.edge(c),d=r.node(c.v);return{sum:l.sum+u.weight*d.order,weight:l.weight+u.weight}},{sum:0,weight:0});return{v:a,barycenter:o.sum/o.weight,weight:o.weight}}else return{v:a}})}return Qv}var eg,xS;function Q6(){if(xS)return eg;xS=1;var t=Ze();eg=e;function e(a,i){var o={};t.forEach(a,function(c,u){var d=o[c.v]={indegree:0,in:[],out:[],vs:[c.v],i:u};t.isUndefined(c.barycenter)||(d.barycenter=c.barycenter,d.weight=c.weight)}),t.forEach(i.edges(),function(c){var u=o[c.v],d=o[c.w];!t.isUndefined(u)&&!t.isUndefined(d)&&(d.indegree++,u.out.push(o[c.w]))});var l=t.filter(o,function(c){return!c.indegree});return r(l)}function r(a){var i=[];function o(u){return function(d){d.merged||(t.isUndefined(d.barycenter)||t.isUndefined(u.barycenter)||d.barycenter>=u.barycenter)&&n(u,d)}}function l(u){return function(d){d.in.push(u),--d.indegree===0&&a.push(d)}}for(;a.length;){var c=a.pop();i.push(c),t.forEach(c.in.reverse(),o(c)),t.forEach(c.out,l(c))}return t.map(t.filter(i,function(u){return!u.merged}),function(u){return t.pick(u,["vs","i","barycenter","weight"])})}function n(a,i){var o=0,l=0;a.weight&&(o+=a.barycenter*a.weight,l+=a.weight),i.weight&&(o+=i.barycenter*i.weight,l+=i.weight),a.vs=i.vs.concat(a.vs),a.barycenter=o/l,a.weight=l,a.i=Math.min(i.i,a.i),i.merged=!0}return eg}var tg,kS;function e9(){if(kS)return tg;kS=1;var t=Ze(),e=Ut();tg=r;function r(i,o){var l=e.partition(i,function(g){return t.has(g,"barycenter")}),c=l.lhs,u=t.sortBy(l.rhs,function(g){return-g.i}),d=[],f=0,h=0,v=0;c.sort(a(!!o)),v=n(d,u,v),t.forEach(c,function(g){v+=g.vs.length,d.push(g.vs),f+=g.barycenter*g.weight,h+=g.weight,v=n(d,u,v)});var p={vs:t.flatten(d,!0)};return h&&(p.barycenter=f/h,p.weight=h),p}function n(i,o,l){for(var c;o.length&&(c=t.last(o)).i<=l;)o.pop(),i.push(c.vs),l++;return l}function a(i){return function(o,l){return o.barycenter<l.barycenter?-1:o.barycenter>l.barycenter?1:i?l.i-o.i:o.i-l.i}}return tg}var rg,SS;function t9(){if(SS)return rg;SS=1;var t=Ze(),e=J6(),r=Q6(),n=e9();rg=a;function a(l,c,u,d){var f=l.children(c),h=l.node(c),v=h?h.borderLeft:void 0,p=h?h.borderRight:void 0,g={};v&&(f=t.filter(f,function(x){return x!==v&&x!==p}));var m=e(l,f);t.forEach(m,function(x){if(l.children(x.v).length){var k=a(l,x.v,u,d);g[x.v]=k,t.has(k,"barycenter")&&o(x,k)}});var y=r(m,u);i(y,g);var b=n(y,d);if(v&&(b.vs=t.flatten([v,b.vs,p],!0),l.predecessors(v).length)){var w=l.node(l.predecessors(v)[0]),C=l.node(l.predecessors(p)[0]);t.has(b,"barycenter")||(b.barycenter=0,b.weight=0),b.barycenter=(b.barycenter*b.weight+w.order+C.order)/(b.weight+2),b.weight+=2}return b}function i(l,c){t.forEach(l,function(u){u.vs=t.flatten(u.vs.map(function(d){return c[d]?c[d].vs:d}),!0)})}function o(l,c){t.isUndefined(l.barycenter)?(l.barycenter=c.barycenter,l.weight=c.weight):(l.barycenter=(l.barycenter*l.weight+c.barycenter*c.weight)/(l.weight+c.weight),l.weight+=c.weight)}return rg}var ng,_S;function r9(){if(_S)return ng;_S=1;var t=Ze(),e=wr().Graph;ng=r;function r(a,i,o){var l=n(a),c=new e({compound:!0}).setGraph({root:l}).setDefaultNodeLabel(function(u){return a.node(u)});return t.forEach(a.nodes(),function(u){var d=a.node(u),f=a.parent(u);(d.rank===i||d.minRank<=i&&i<=d.maxRank)&&(c.setNode(u),c.setParent(u,f||l),t.forEach(a[o](u),function(h){var v=h.v===u?h.w:h.v,p=c.edge(v,u),g=t.isUndefined(p)?0:p.weight;c.setEdge(v,u,{weight:a.edge(h).weight+g})}),t.has(d,"minRank")&&c.setNode(u,{borderLeft:d.borderLeft[i],borderRight:d.borderRight[i]}))}),c}function n(a){for(var i;a.hasNode(i=t.uniqueId("_root")););return i}return ng}var ag,TS;function n9(){if(TS)return ag;TS=1;var t=Ze();ag=e;function e(r,n,a){var i={},o;t.forEach(a,function(l){for(var c=r.parent(l),u,d;c;){if(u=r.parent(c),u?(d=i[u],i[u]=c):(d=o,o=c),d&&d!==c){n.setEdge(d,c);return}c=u}})}return ag}var ig,NS;function a9(){if(NS)return ig;NS=1;var t=Ze(),e=Z6(),r=X6(),n=t9(),a=r9(),i=n9(),o=wr().Graph,l=Ut();ig=c;function c(h){var v=l.maxRank(h),p=u(h,t.range(1,v+1),"inEdges"),g=u(h,t.range(v-1,-1,-1),"outEdges"),m=e(h);f(h,m);for(var y=Number.POSITIVE_INFINITY,b,w=0,C=0;C<4;++w,++C){d(w%2?p:g,w%4>=2),m=l.buildLayerMatrix(h);var x=r(h,m);x<y&&(C=0,b=t.cloneDeep(m),y=x)}f(h,b)}function u(h,v,p){return t.map(v,function(g){return a(h,g,p)})}function d(h,v){var p=new o;t.forEach(h,function(g){var m=g.graph().root,y=n(g,m,p,v);t.forEach(y.vs,function(b,w){g.node(b).order=w}),i(g,p,y.vs)})}function f(h,v){t.forEach(v,function(p){t.forEach(p,function(g,m){h.node(g).order=m})})}return ig}var og,IS;function i9(){if(IS)return og;IS=1;var t=Ze(),e=wr().Graph,r=Ut();og={positionX:p,findType1Conflicts:n,findType2Conflicts:a,addConflict:o,hasConflict:l,verticalAlignment:c,horizontalCompaction:u,alignCoordinates:h,findSmallestWidthAlignment:f,balance:v};function n(y,b){var w={};function C(x,k){var E=0,_=0,S=x.length,T=t.last(k);return t.forEach(k,function(N,B){var O=i(y,N),D=O?y.node(O).order:S;(O||N===T)&&(t.forEach(k.slice(_,B+1),function(R){t.forEach(y.predecessors(R),function(P){var L=y.node(P),A=L.order;(A<E||D<A)&&!(L.dummy&&y.node(R).dummy)&&o(w,P,R)})}),_=B+1,E=D)}),k}return t.reduce(b,C),w}function a(y,b){var w={};function C(k,E,_,S,T){var N;t.forEach(t.range(E,_),function(B){N=k[B],y.node(N).dummy&&t.forEach(y.predecessors(N),function(O){var D=y.node(O);D.dummy&&(D.order<S||D.order>T)&&o(w,O,N)})})}function x(k,E){var _=-1,S,T=0;return t.forEach(E,function(N,B){if(y.node(N).dummy==="border"){var O=y.predecessors(N);O.length&&(S=y.node(O[0]).order,C(E,T,B,_,S),T=B,_=S)}C(E,T,E.length,S,k.length)}),E}return t.reduce(b,x),w}function i(y,b){if(y.node(b).dummy)return t.find(y.predecessors(b),function(w){return y.node(w).dummy})}function o(y,b,w){if(b>w){var C=b;b=w,w=C}var x=y[b];x||(y[b]=x={}),x[w]=!0}function l(y,b,w){if(b>w){var C=b;b=w,w=C}return t.has(y[b],w)}function c(y,b,w,C){var x={},k={},E={};return t.forEach(b,function(_){t.forEach(_,function(S,T){x[S]=S,k[S]=S,E[S]=T})}),t.forEach(b,function(_){var S=-1;t.forEach(_,function(T){var N=C(T);if(N.length){N=t.sortBy(N,function(P){return E[P]});for(var B=(N.length-1)/2,O=Math.floor(B),D=Math.ceil(B);O<=D;++O){var R=N[O];k[T]===T&&S<E[R]&&!l(w,T,R)&&(k[R]=T,k[T]=x[T]=x[R],S=E[R])}}})}),{root:x,align:k}}function u(y,b,w,C,x){var k={},E=d(y,b,w,x),_=x?"borderLeft":"borderRight";function S(B,O){for(var D=E.nodes(),R=D.pop(),P={};R;)P[R]?B(R):(P[R]=!0,D.push(R),D=D.concat(O(R))),R=D.pop()}function T(B){k[B]=E.inEdges(B).reduce(function(O,D){return Math.max(O,k[D.v]+E.edge(D))},0)}function N(B){var O=E.outEdges(B).reduce(function(R,P){return Math.min(R,k[P.w]-E.edge(P))},Number.POSITIVE_INFINITY),D=y.node(B);O!==Number.POSITIVE_INFINITY&&D.borderType!==_&&(k[B]=Math.max(k[B],O))}return S(T,E.predecessors.bind(E)),S(N,E.successors.bind(E)),t.forEach(C,function(B){k[B]=k[w[B]]}),k}function d(y,b,w,C){var x=new e,k=y.graph(),E=g(k.nodesep,k.edgesep,C);return t.forEach(b,function(_){var S;t.forEach(_,function(T){var N=w[T];if(x.setNode(N),S){var B=w[S],O=x.edge(B,N);x.setEdge(B,N,Math.max(E(y,T,S),O||0))}S=T})}),x}function f(y,b){return t.minBy(t.values(b),function(w){var C=Number.NEGATIVE_INFINITY,x=Number.POSITIVE_INFINITY;return t.forIn(w,function(k,E){var _=m(y,E)/2;C=Math.max(k+_,C),x=Math.min(k-_,x)}),C-x})}function h(y,b){var w=t.values(b),C=t.min(w),x=t.max(w);t.forEach(["u","d"],function(k){t.forEach(["l","r"],function(E){var _=k+E,S=y[_],T;if(S!==b){var N=t.values(S);T=E==="l"?C-t.min(N):x-t.max(N),T&&(y[_]=t.mapValues(S,function(B){return B+T}))}})})}function v(y,b){return t.mapValues(y.ul,function(w,C){if(b)return y[b.toLowerCase()][C];var x=t.sortBy(t.map(y,C));return(x[1]+x[2])/2})}function p(y){var b=r.buildLayerMatrix(y),w=t.merge(n(y,b),a(y,b)),C={},x;t.forEach(["u","d"],function(E){x=E==="u"?b:t.values(b).reverse(),t.forEach(["l","r"],function(_){_==="r"&&(x=t.map(x,function(B){return t.values(B).reverse()}));var S=(E==="u"?y.predecessors:y.successors).bind(y),T=c(y,x,w,S),N=u(y,x,T.root,T.align,_==="r");_==="r"&&(N=t.mapValues(N,function(B){return-B})),C[E+_]=N})});var k=f(y,C);return h(C,k),v(C,y.graph().align)}function g(y,b,w){return function(C,x,k){var E=C.node(x),_=C.node(k),S=0,T;if(S+=E.width/2,t.has(E,"labelpos"))switch(E.labelpos.toLowerCase()){case"l":T=-E.width/2;break;case"r":T=E.width/2;break}if(T&&(S+=w?T:-T),T=0,S+=(E.dummy?b:y)/2,S+=(_.dummy?b:y)/2,S+=_.width/2,t.has(_,"labelpos"))switch(_.labelpos.toLowerCase()){case"l":T=_.width/2;break;case"r":T=-_.width/2;break}return T&&(S+=w?T:-T),T=0,S}}function m(y,b){return y.node(b).width}return og}var sg,BS;function o9(){if(BS)return sg;BS=1;var t=Ze(),e=Ut(),r=i9().positionX;sg=n;function n(i){i=e.asNonCompoundGraph(i),a(i),t.forEach(r(i),function(o,l){i.node(l).x=o})}function a(i){var o=e.buildLayerMatrix(i),l=i.graph().ranksep,c=0;t.forEach(o,function(u){var d=t.max(t.map(u,function(f){return i.node(f).height}));t.forEach(u,function(f){i.node(f).y=c+d/2}),c+=d+l})}return sg}var lg,DS;function s9(){if(DS)return lg;DS=1;var t=Ze(),e=z6(),r=H6(),n=G6(),a=Ut().normalizeRanks,i=U6(),o=Ut().removeEmptyRanks,l=j6(),c=W6(),u=Y6(),d=a9(),f=o9(),h=Ut(),v=wr().Graph;lg=p;function p(F,$){var V=$&&$.debugTiming?h.time:h.notime;V("layout",function(){var G=V(" buildLayoutGraph",function(){return S(F)});V(" runLayout",function(){g(G,V)}),V(" updateInputGraph",function(){m(F,G)})})}function g(F,$){$(" makeSpaceForEdgeLabels",function(){T(F)}),$(" removeSelfEdges",function(){q(F)}),$(" acyclic",function(){e.run(F)}),$(" nestingGraph.run",function(){l.run(F)}),$(" rank",function(){n(h.asNonCompoundGraph(F))}),$(" injectEdgeLabelProxies",function(){N(F)}),$(" removeEmptyRanks",function(){o(F)}),$(" nestingGraph.cleanup",function(){l.cleanup(F)}),$(" normalizeRanks",function(){a(F)}),$(" assignRankMinMax",function(){B(F)}),$(" removeEdgeLabelProxies",function(){O(F)}),$(" normalize.run",function(){r.run(F)}),$(" parentDummyChains",function(){i(F)}),$(" addBorderSegments",function(){c(F)}),$(" order",function(){d(F)}),$(" insertSelfEdges",function(){U(F)}),$(" adjustCoordinateSystem",function(){u.adjust(F)}),$(" position",function(){f(F)}),$(" positionSelfEdges",function(){z(F)}),$(" removeBorderNodes",function(){A(F)}),$(" normalize.undo",function(){r.undo(F)}),$(" fixupEdgeLabelCoords",function(){P(F)}),$(" undoCoordinateSystem",function(){u.undo(F)}),$(" translateGraph",function(){D(F)}),$(" assignNodeIntersects",function(){R(F)}),$(" reversePoints",function(){L(F)}),$(" acyclic.undo",function(){e.undo(F)})}function m(F,$){t.forEach(F.nodes(),function(V){var G=F.node(V),j=$.node(V);G&&(G.x=j.x,G.y=j.y,$.children(V).length&&(G.width=j.width,G.height=j.height))}),t.forEach(F.edges(),function(V){var G=F.edge(V),j=$.edge(V);G.points=j.points,t.has(j,"x")&&(G.x=j.x,G.y=j.y)}),F.graph().width=$.graph().width,F.graph().height=$.graph().height}var y=["nodesep","edgesep","ranksep","marginx","marginy"],b={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},w=["acyclicer","ranker","rankdir","align"],C=["width","height"],x={width:0,height:0},k=["minlen","weight","width","height","labeloffset"],E={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},_=["labelpos"];function S(F){var $=new v({multigraph:!0,compound:!0}),V=Q(F.graph());return $.setGraph(t.merge({},b,H(V,y),t.pick(V,w))),t.forEach(F.nodes(),function(G){var j=Q(F.node(G));$.setNode(G,t.defaults(H(j,C),x)),$.setParent(G,F.parent(G))}),t.forEach(F.edges(),function(G){var j=Q(F.edge(G));$.setEdge(G,t.merge({},E,H(j,k),t.pick(j,_)))}),$}function T(F){var $=F.graph();$.ranksep/=2,t.forEach(F.edges(),function(V){var G=F.edge(V);G.minlen*=2,G.labelpos.toLowerCase()!=="c"&&($.rankdir==="TB"||$.rankdir==="BT"?G.width+=G.labeloffset:G.height+=G.labeloffset)})}function N(F){t.forEach(F.edges(),function($){var V=F.edge($);if(V.width&&V.height){var G=F.node($.v),j=F.node($.w),M={rank:(j.rank-G.rank)/2+G.rank,e:$};h.addDummyNode(F,"edge-proxy",M,"_ep")}})}function B(F){var $=0;t.forEach(F.nodes(),function(V){var G=F.node(V);G.borderTop&&(G.minRank=F.node(G.borderTop).rank,G.maxRank=F.node(G.borderBottom).rank,$=t.max($,G.maxRank))}),F.graph().maxRank=$}function O(F){t.forEach(F.nodes(),function($){var V=F.node($);V.dummy==="edge-proxy"&&(F.edge(V.e).labelRank=V.rank,F.removeNode($))})}function D(F){var $=Number.POSITIVE_INFINITY,V=0,G=Number.POSITIVE_INFINITY,j=0,M=F.graph(),W=M.marginx||0,Y=M.marginy||0;function se(ce){var ae=ce.x,ne=ce.y,ue=ce.width,ie=ce.height;$=Math.min($,ae-ue/2),V=Math.max(V,ae+ue/2),G=Math.min(G,ne-ie/2),j=Math.max(j,ne+ie/2)}t.forEach(F.nodes(),function(ce){se(F.node(ce))}),t.forEach(F.edges(),function(ce){var ae=F.edge(ce);t.has(ae,"x")&&se(ae)}),$-=W,G-=Y,t.forEach(F.nodes(),function(ce){var ae=F.node(ce);ae.x-=$,ae.y-=G}),t.forEach(F.edges(),function(ce){var ae=F.edge(ce);t.forEach(ae.points,function(ne){ne.x-=$,ne.y-=G}),t.has(ae,"x")&&(ae.x-=$),t.has(ae,"y")&&(ae.y-=G)}),M.width=V-$+W,M.height=j-G+Y}function R(F){t.forEach(F.edges(),function($){var V=F.edge($),G=F.node($.v),j=F.node($.w),M,W;V.points?(M=V.points[0],W=V.points[V.points.length-1]):(V.points=[],M=j,W=G),V.points.unshift(h.intersectRect(G,M)),V.points.push(h.intersectRect(j,W))})}function P(F){t.forEach(F.edges(),function($){var V=F.edge($);if(t.has(V,"x"))switch((V.labelpos==="l"||V.labelpos==="r")&&(V.width-=V.labeloffset),V.labelpos){case"l":V.x-=V.width/2+V.labeloffset;break;case"r":V.x+=V.width/2+V.labeloffset;break}})}function L(F){t.forEach(F.edges(),function($){var V=F.edge($);V.reversed&&V.points.reverse()})}function A(F){t.forEach(F.nodes(),function($){if(F.children($).length){var V=F.node($),G=F.node(V.borderTop),j=F.node(V.borderBottom),M=F.node(t.last(V.borderLeft)),W=F.node(t.last(V.borderRight));V.width=Math.abs(W.x-M.x),V.height=Math.abs(j.y-G.y),V.x=M.x+V.width/2,V.y=G.y+V.height/2}}),t.forEach(F.nodes(),function($){F.node($).dummy==="border"&&F.removeNode($)})}function q(F){t.forEach(F.edges(),function($){if($.v===$.w){var V=F.node($.v);V.selfEdges||(V.selfEdges=[]),V.selfEdges.push({e:$,label:F.edge($)}),F.removeEdge($)}})}function U(F){var $=h.buildLayerMatrix(F);t.forEach($,function(V){var G=0;t.forEach(V,function(j,M){var W=F.node(j);W.order=M+G,t.forEach(W.selfEdges,function(Y){h.addDummyNode(F,"selfedge",{width:Y.label.width,height:Y.label.height,rank:W.rank,order:M+ ++G,e:Y.e,label:Y.label},"_se")}),delete W.selfEdges})})}function z(F){t.forEach(F.nodes(),function($){var V=F.node($);if(V.dummy==="selfedge"){var G=F.node(V.e.v),j=G.x+G.width/2,M=G.y,W=V.x-j,Y=G.height/2;F.setEdge(V.e,V.label),F.removeNode($),V.label.points=[{x:j+2*W/3,y:M-Y},{x:j+5*W/6,y:M-Y},{x:j+W,y:M},{x:j+5*W/6,y:M+Y},{x:j+2*W/3,y:M+Y}],V.label.x=V.x,V.label.y=V.y}})}function H(F,$){return t.mapValues(t.pick(F,$),Number)}function Q(F){var $={};return t.forEach(F,function(V,G){$[G.toLowerCase()]=V}),$}return lg}var ug,OS;function l9(){if(OS)return ug;OS=1;var t=Ze(),e=Ut(),r=wr().Graph;ug={debugOrdering:n};function n(a){var i=e.buildLayerMatrix(a),o=new r({compound:!0,multigraph:!0}).setGraph({});return t.forEach(a.nodes(),function(l){o.setNode(l,{label:l}),o.setParent(l,"layer"+a.node(l).rank)}),t.forEach(a.edges(),function(l){o.setEdge(l.v,l.w,{},l.name)}),t.forEach(i,function(l,c){var u="layer"+c;o.setNode(u,{rank:"same"}),t.reduce(l,function(d,f){return o.setEdge(d,f,{style:"invis"}),f})}),o}return ug}var cg,PS;function u9(){return PS||(PS=1,cg="0.8.5"),cg}var dg,AS;function c9(){return AS||(AS=1,dg={graphlib:wr(),layout:s9(),debug:l9(),util:{time:Ut().time,notime:Ut().notime},version:u9()}),dg}(function(t,e){(function(n,a){t.exports=a(c9())})(Ai,function(r){return function(n){var a={};function i(o){if(a[o])return a[o].exports;var l=a[o]={i:o,l:!1,exports:{}};return n[o].call(l.exports,l,l.exports,i),l.l=!0,l.exports}return i.m=n,i.c=a,i.d=function(o,l,c){i.o(o,l)||Object.defineProperty(o,l,{enumerable:!0,get:c})},i.r=function(o){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})},i.t=function(o,l){if(l&1&&(o=i(o)),l&8||l&4&&typeof o=="object"&&o&&o.__esModule)return o;var c=Object.create(null);if(i.r(c),Object.defineProperty(c,"default",{enumerable:!0,value:o}),l&2&&typeof o!="string")for(var u in o)i.d(c,u,(function(d){return o[d]}).bind(null,u));return c},i.n=function(o){var l=o&&o.__esModule?function(){return o.default}:function(){return o};return i.d(l,"a",l),l},i.o=function(o,l){return Object.prototype.hasOwnProperty.call(o,l)},i.p="",i(i.s=0)}([function(n,a,i){var o=i(1),l=function(u){u&&u("layout","dagre",o)};typeof cytoscape<"u"&&l(cytoscape),n.exports=l},function(n,a,i){function o(h){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?o=function(p){return typeof p}:o=function(p){return p&&typeof Symbol=="function"&&p.constructor===Symbol&&p!==Symbol.prototype?"symbol":typeof p},o(h)}var l=function(v){return typeof v=="function"},c=i(2),u=i(3),d=i(4);function f(h){this.options=u({},c,h)}f.prototype.run=function(){var h=this.options,v=this,p=h.cy,g=h.eles,m=function(z,H){return l(H)?H.apply(z,[z]):H},y=h.boundingBox||{x1:0,y1:0,w:p.width(),h:p.height()};y.x2===void 0&&(y.x2=y.x1+y.w),y.w===void 0&&(y.w=y.x2-y.x1),y.y2===void 0&&(y.y2=y.y1+y.h),y.h===void 0&&(y.h=y.y2-y.y1);var b=new d.graphlib.Graph({multigraph:!0,compound:!0}),w={},C=function(z,H){H!=null&&(w[z]=H)};C("nodesep",h.nodeSep),C("edgesep",h.edgeSep),C("ranksep",h.rankSep),C("rankdir",h.rankDir),C("align",h.align),C("ranker",h.ranker),C("acyclicer",h.acyclicer),b.setGraph(w),b.setDefaultEdgeLabel(function(){return{}}),b.setDefaultNodeLabel(function(){return{}});var x=g.nodes();l(h.sort)&&(x=x.sort(h.sort));for(var k=0;k<x.length;k++){var E=x[k],_=E.layoutDimensions(h);b.setNode(E.id(),{width:_.w,height:_.h,name:E.id()})}for(var S=0;S<x.length;S++){var T=x[S];T.isChild()&&b.setParent(T.id(),T.parent().id())}var N=g.edges().stdFilter(function(U){return!U.source().isParent()&&!U.target().isParent()});l(h.sort)&&(N=N.sort(h.sort));for(var B=0;B<N.length;B++){var O=N[B];b.setEdge(O.source().id(),O.target().id(),{minlen:m(O,h.minLen),weight:m(O,h.edgeWeight),name:O.id()},O.id())}d.layout(b);for(var D=b.nodes(),R=0;R<D.length;R++){var P=D[R],L=b.node(P);p.getElementById(P).scratch().dagre=L}var A;h.boundingBox?(A={x1:1/0,x2:-1/0,y1:1/0,y2:-1/0},x.forEach(function(U){var z=U.scratch().dagre;A.x1=Math.min(A.x1,z.x),A.x2=Math.max(A.x2,z.x),A.y1=Math.min(A.y1,z.y),A.y2=Math.max(A.y2,z.y)}),A.w=A.x2-A.x1,A.h=A.y2-A.y1):A=y;var q=function(z){if(h.boundingBox){var H=A.w===0?0:(z.x-A.x1)/A.w,Q=A.h===0?0:(z.y-A.y1)/A.h;return{x:y.x1+H*y.w,y:y.y1+Q*y.h}}else return z};return x.layoutPositions(v,h,function(U){U=o(U)==="object"?U:this;var z=U.scratch().dagre;return q({x:z.x,y:z.y})}),this},n.exports=f},function(n,a){var i={nodeSep:void 0,edgeSep:void 0,rankSep:void 0,rankDir:void 0,align:void 0,acyclicer:void 0,ranker:void 0,minLen:function(l){return 1},edgeWeight:function(l){return 1},fit:!0,padding:30,spacingFactor:void 0,nodeDimensionsIncludeLabels:!1,animate:!1,animateFilter:function(l,c){return!0},animationDuration:500,animationEasing:void 0,boundingBox:void 0,transform:function(l,c){return c},ready:function(){},sort:void 0,stop:function(){}};n.exports=i},function(n,a){n.exports=Object.assign!=null?Object.assign.bind(Object):function(i){for(var o=arguments.length,l=new Array(o>1?o-1:0),c=1;c<o;c++)l[c-1]=arguments[c];return l.forEach(function(u){Object.keys(u).forEach(function(d){return i[d]=u[d]})}),i}},function(n,a){n.exports=r}])})})(vw);var d9=vw.exports;const f9=IA(d9);Bn.use(f9);const RS=function(t,e){if(!t||!e)return!1;let r=JSON.stringify(t),n=JSON.stringify(e);return r.indexOf(n)!==-1},h9=function(t){return t?[...new Set(t.map(e=>JSON.stringify(e)))].map(e=>JSON.parse(e)):[]},p9=function(t,e,r){let n=t.connectivity.flat(),a=h9(n),i=[],o=!1;return a.forEach(l=>{o=!1,RS(e,l)&&(o=!0),RS(r,l)&&(o=!0),o||i.push(l)}),i};let v9=class extends EventTarget{constructor(r,n){super();cr(this,"cyg",null);cr(this,"nodes",[]);cr(this,"edges",[]);cr(this,"axons",[]);cr(this,"dendrites",[]);cr(this,"somas",[]);cr(this,"labelCache",new Map);cr(this,"graphCanvas",null);cr(this,"hasPhenotypes",!1);this.labelCache=r,this.graphCanvas=n}async addConnectivity(r){var n;if(r&&r["node-phenotypes"]){const a=["ilxtr:hasSomaLocatedIn"],i=["ilxtr:hasAxonPresynapticElementIn","ilxtr:hasAxonSensorySubcellularElementIn"],o=[],l=[];a.forEach(u=>{o.push(...r["node-phenotypes"][u])}),i.forEach(u=>{l.push(...r["node-phenotypes"][u])});const c=p9(r,o,l);this.dendrites=o.map(u=>JSON.stringify(u)),this.axons=l.map(u=>JSON.stringify(u)),c!=null&&c.length&&(this.somas=c.map(u=>JSON.stringify(u))),this.hasPhenotypes=!0}else this.axons=r.axons.map(a=>JSON.stringify(a)),this.dendrites=r.dendrites.map(a=>JSON.stringify(a)),(n=r.somas)!=null&&n.length&&(this.somas=r.somas.map(a=>JSON.stringify(a))),this.hasPhenotypes=!1;if(r.connectivity.length)for(const a of r.connectivity){const i=await this.graphNode(a[0]),o=await this.graphNode(a[1]);this.nodes.push(i),this.nodes.push(o),this.edges.push({id:`${i.id}_${o.id}`,source:i.id,target:o.id})}else this.nodes.push({id:"MISSING",label:"NO PATHS"})}showConnectivity(r){this.cyg=new b9(this,r),this.cyg.on("tap-node",n=>{const a=new CustomEvent("tap-node",{detail:n.detail});this.dispatchEvent(a)})}selectConnectivity(r){var n;if((n=this.cyg)!=null&&n.cy){let a="";this.cyg.cy.elements().forEach(i=>{const o=i.data("label"),l=fg(o);y9(r,l)&&(a=i.id())}),a&&this.cyg.cy.$id(a).select()}}clearConnectivity(){var r;(r=this.cyg)!=null&&r.cy&&(this.cyg.cy.remove(),this.cyg.cy=null)}reset(){var r;(r=this.cyg)!=null&&r.cy&&this.cyg.cy.reset()}zoom(r){var n;if((n=this.cyg)!=null&&n.cy){const a=this.cyg.cy.zoom(),i=this.cyg.cy.width(),o=this.cyg.cy.height(),l={x:i/2,y:o/2};this.cyg.cy.zoom({level:a+r,renderedPosition:l})}}enableZoom(r){var n;(n=this.cyg)!=null&&n.cy&&this.cyg.cy.userZoomingEnabled(r)}get elements(){return[...this.nodes.map(r=>({data:r})),...this.edges.map(r=>({data:r}))]}get roots(){return this.hasPhenotypes?[...this.dendrites]:[...this.dendrites,...this.somas]}async graphNode(r){const n=JSON.stringify(r),a=[r[0],...r[1]],i=[];for(const l of a){const c=this.labelCache.has(l)?this.labelCache.get(l):"";i.push(c)}a.push(...i);const o={id:n,label:a.join(`
45
- `)};return this.hasPhenotypes?this.axons.includes(n)?o.axon=!0:this.dendrites.includes(n)?o.dendrite=!0:o.somas=!0:this.axons.includes(n)?this.dendrites.includes(n)||this.somas.includes(n)?o.somas=!0:o.axon=!0:(this.dendrites.includes(n)||this.somas.includes(n))&&(o.dendrite=!0),o}on(r,n){this.addEventListener(r,n)}};const g9=[{selector:"node",style:{label:function(t){return m9(t.data("label"))},"background-color":"transparent","background-opacity":"0","text-valign":"center","text-wrap":"wrap",width:"80px",height:"80px","text-max-width":"80px","font-size":"6px",shape:"round-rectangle","border-width":1,"border-style":"solid","border-color":"gray"}},{selector:"node[axon]",style:{shape:"round-diamond",width:"100px",height:"100px"}},{selector:"node[dendrite]",style:{shape:"ellipse"}},{selector:"node[somas]",style:{shape:"round-rectangle"}},{selector:"edge",style:{width:1,"line-color":"dimgray","curve-style":"bezier"}},{selector:"node.active",style:{"border-color":"#8300bf","background-color":"#f3ecf6","background-opacity":.75}}];function m9(t){const e=t.split(`
44
+ `),w=0;w<b.length;w++){var C=b[w],x=p.measureText(C),k=Math.ceil(x.width),E=d;m=Math.max(k,m),y+=E}return m+=c,y+=c,o[i]={width:m,height:y}},Pr.calculateLabelAngle=function(t,e){var r=t._private,n=r.rscratch,a=t.isEdge(),i=e?e+"-":"",o=t.pstyle(i+"text-rotation"),l=o.strValue;return l==="none"?0:a&&l==="autorotate"?n.labelAutoAngle:l==="autorotate"?0:o.pfValue},Pr.calculateLabelAngles=function(t){var e=this,r=t.isEdge(),n=t._private,a=n.rscratch;a.labelAngle=e.calculateLabelAngle(t),r&&(a.sourceLabelAngle=e.calculateLabelAngle(t,"source"),a.targetLabelAngle=e.calculateLabelAngle(t,"target"))};var V1={},q1=28,z1=!1;V1.getNodeShape=function(t){var e=this,r=t.pstyle("shape").value;if(r==="cutrectangle"&&(t.width()<q1||t.height()<q1))return z1||($e("The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead"),z1=!0),"rectangle";if(t.isParent())return r==="rectangle"||r==="roundrectangle"||r==="round-rectangle"||r==="cutrectangle"||r==="cut-rectangle"||r==="barrel"?r:"rectangle";if(r==="polygon"){var n=t.pstyle("shape-polygon-points").value;return e.nodeShapes.makePolygon(n).name}return r};var tl={};tl.registerCalculationListeners=function(){var t=this.cy,e=t.collection(),r=this,n=function(o){var l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(o),l)for(var c=0;c<o.length;c++){var u=o[c],d=u._private,f=d.rstyle;f.clean=!1,f.cleanConnected=!1}};r.binder(t).on("bounds.* dirty.*",function(o){var l=o.target;n(l)}).on("style.* background.*",function(o){var l=o.target;n(l,!1)});var a=function(o){if(o){var l=r.onUpdateEleCalcsFns;e.cleanStyle();for(var c=0;c<e.length;c++){var u=e[c],d=u._private.rstyle;u.isNode()&&!d.cleanConnected&&(n(u.connectedEdges()),d.cleanConnected=!0)}if(l)for(var f=0;f<l.length;f++){var h=l[f];h(o,e)}r.recalculateRenderedStyle(e),e=t.collection()}};r.flushRenderedStyleQueue=function(){a(!0)},r.beforeRender(a,r.beforeRenderPriorities.eleCalcs)},tl.onUpdateEleCalcs=function(t){var e=this.onUpdateEleCalcsFns=this.onUpdateEleCalcsFns||[];e.push(t)},tl.recalculateRenderedStyle=function(t,e){var r=function(C){return C._private.rstyle.cleanConnected},n=[],a=[];if(!this.destroyed){e===void 0&&(e=!0);for(var i=0;i<t.length;i++){var o=t[i],l=o._private,c=l.rstyle;o.isEdge()&&(!r(o.source())||!r(o.target()))&&(c.clean=!1),!(e&&c.clean||o.removed())&&o.pstyle("display").value!=="none"&&(l.group==="nodes"?a.push(o):n.push(o),c.clean=!0)}for(var u=0;u<a.length;u++){var d=a[u],f=d._private,h=f.rstyle,v=d.position();this.recalculateNodeLabelProjection(d),h.nodeX=v.x,h.nodeY=v.y,h.nodeW=d.pstyle("width").pfValue,h.nodeH=d.pstyle("height").pfValue}this.recalculateEdgeProjections(n);for(var p=0;p<n.length;p++){var g=n[p],m=g._private,y=m.rstyle,b=m.rscratch;y.srcX=b.arrowStartX,y.srcY=b.arrowStartY,y.tgtX=b.arrowEndX,y.tgtY=b.arrowEndY,y.midX=b.midX,y.midY=b.midY,y.labelAngle=b.labelAngle,y.sourceLabelAngle=b.sourceLabelAngle,y.targetLabelAngle=b.targetLabelAngle}}};var rl={};rl.updateCachedGrabbedEles=function(){var t=this.cachedZSortedEles;if(t){t.drag=[],t.nondrag=[];for(var e=[],r=0;r<t.length;r++){var n=t[r],a=n._private.rscratch;n.grabbed()&&!n.isParent()?e.push(n):a.inDragLayer?t.drag.push(n):t.nondrag.push(n)}for(var r=0;r<e.length;r++){var n=e[r];t.drag.push(n)}}},rl.invalidateCachedZSortedEles=function(){this.cachedZSortedEles=null},rl.getCachedZSortedEles=function(t){if(t||!this.cachedZSortedEles){var e=this.cy.mutableElements().toArray();e.sort(a1),e.interactive=e.filter(function(r){return r.interactive()}),this.cachedZSortedEles=e,this.updateCachedGrabbedEles()}else e=this.cachedZSortedEles;return e};var H1={};[ia,Js,Pt,vo,Cc,Pr,V1,tl,rl].forEach(function(t){Se(H1,t)});var K1={};K1.getCachedImage=function(t,e,r){var n=this,a=n.imageCache=n.imageCache||{},i=a[t];if(i)return i.image.complete||i.image.addEventListener("load",r),i.image;i=a[t]=a[t]||{};var o=i.image=new Image;o.addEventListener("load",r),o.addEventListener("error",function(){o.error=!0});var l="data:",c=t.substring(0,l.length).toLowerCase()===l;return c||(e=e==="null"?null:e,o.crossOrigin=e),o.src=t,o};var ri={};ri.registerBinding=function(t,e,r,n){var a=Array.prototype.slice.apply(arguments,[1]),i=this.binder(t);return i.on.apply(i,a)},ri.binder=function(t){var e=this,r=e.cy.window(),n=t===r||t===r.document||t===r.document.body||TM(t);if(e.supportsPassiveEvents==null){var a=!1;try{var i=Object.defineProperty({},"passive",{get:function(){return a=!0,!0}});r.addEventListener("test",null,i)}catch{}e.supportsPassiveEvents=a}var o=function(c,u,d){var f=Array.prototype.slice.call(arguments);return n&&e.supportsPassiveEvents&&(f[2]={capture:d??!1,passive:!1,once:!1}),e.bindings.push({target:t,args:f}),(t.addEventListener||t.on).apply(t,f),this};return{on:o,addEventListener:o,addListener:o,bind:o}},ri.nodeIsDraggable=function(t){return t&&t.isNode()&&!t.locked()&&t.grabbable()},ri.nodeIsGrabbable=function(t){return this.nodeIsDraggable(t)&&t.interactive()},ri.load=function(){var t=this,e=t.cy.window(),r=function(I){return I.selected()},n=function(I,K,te,Z){I==null&&(I=t.cy);for(var X=0;X<K.length;X++){var le=K[X];I.emit({originalEvent:te,type:le,position:Z})}},a=function(I){return I.shiftKey||I.metaKey||I.ctrlKey},i=function(I,K){var te=!0;if(t.cy.hasCompoundNodes()&&I&&I.pannable())for(var Z=0;K&&Z<K.length;Z++){var I=K[Z];if(I.isNode()&&I.isParent()&&!I.pannable()){te=!1;break}}else te=!0;return te},o=function(I){I[0]._private.grabbed=!0},l=function(I){I[0]._private.grabbed=!1},c=function(I){I[0]._private.rscratch.inDragLayer=!0},u=function(I){I[0]._private.rscratch.inDragLayer=!1},d=function(I){I[0]._private.rscratch.isGrabTarget=!0},f=function(I){I[0]._private.rscratch.isGrabTarget=!1},h=function(I,K){var te=K.addToList,Z=te.has(I);!Z&&I.grabbable()&&!I.locked()&&(te.merge(I),o(I))},v=function(I,K){if(I.cy().hasCompoundNodes()&&!(K.inDragLayer==null&&K.addToList==null)){var te=I.descendants();K.inDragLayer&&(te.forEach(c),te.connectedEdges().forEach(c)),K.addToList&&h(te,K)}},p=function(I,K){K=K||{};var te=I.cy().hasCompoundNodes();K.inDragLayer&&(I.forEach(c),I.neighborhood().stdFilter(function(Z){return!te||Z.isEdge()}).forEach(c)),K.addToList&&I.forEach(function(Z){h(Z,K)}),v(I,K),y(I,{inDragLayer:K.inDragLayer}),t.updateCachedGrabbedEles()},g=p,m=function(I){I&&(t.getCachedZSortedEles().forEach(function(K){l(K),u(K),f(K)}),t.updateCachedGrabbedEles())},y=function(I,K){if(!(K.inDragLayer==null&&K.addToList==null)&&I.cy().hasCompoundNodes()){var te=I.ancestors().orphans();if(!te.same(I)){var Z=te.descendants().spawnSelf().merge(te).unmerge(I).unmerge(I.descendants()),X=Z.connectedEdges();K.inDragLayer&&(X.forEach(c),Z.forEach(c)),K.addToList&&Z.forEach(function(le){h(le,K)})}}},b=function(){document.activeElement!=null&&document.activeElement.blur!=null&&document.activeElement.blur()},w=typeof MutationObserver<"u",C=typeof ResizeObserver<"u";w?(t.removeObserver=new MutationObserver(function(re){for(var I=0;I<re.length;I++){var K=re[I],te=K.removedNodes;if(te)for(var Z=0;Z<te.length;Z++){var X=te[Z];if(X===t.container){t.destroy();break}}}}),t.container.parentNode&&t.removeObserver.observe(t.container.parentNode,{childList:!0})):t.registerBinding(t.container,"DOMNodeRemoved",function(re){t.destroy()});var x=hs(function(){t.cy.resize()},100);w&&(t.styleObserver=new MutationObserver(x),t.styleObserver.observe(t.container,{attributes:!0})),t.registerBinding(e,"resize",x),C&&(t.resizeObserver=new ResizeObserver(x),t.resizeObserver.observe(t.container));var k=function(I,K){for(;I!=null;)K(I),I=I.parentNode},E=function(){t.invalidateContainerClientCoordsCache()};k(t.container,function(re){t.registerBinding(re,"transitionend",E),t.registerBinding(re,"animationend",E),t.registerBinding(re,"scroll",E)}),t.registerBinding(t.container,"contextmenu",function(re){re.preventDefault()});var _=function(){return t.selection[4]!==0},S=function(I){for(var K=t.findContainerClientCoords(),te=K[0],Z=K[1],X=K[2],le=K[3],ee=I.touches?I.touches:[I],oe=!1,me=0;me<ee.length;me++){var be=ee[me];if(te<=be.clientX&&be.clientX<=te+X&&Z<=be.clientY&&be.clientY<=Z+le){oe=!0;break}}if(!oe)return!1;for(var ye=t.container,_e=I.target,ge=_e.parentNode,Ce=!1;ge;){if(ge===ye){Ce=!0;break}ge=ge.parentNode}return!!Ce};t.registerBinding(t.container,"mousedown",function(I){if(S(I)&&!(t.hoverData.which===1&&I.which!==1)){I.preventDefault(),b(),t.hoverData.capture=!0,t.hoverData.which=I.which;var K=t.cy,te=[I.clientX,I.clientY],Z=t.projectIntoViewport(te[0],te[1]),X=t.selection,le=t.findNearestElements(Z[0],Z[1],!0,!1),ee=le[0],oe=t.dragData.possibleDragElements;t.hoverData.mdownPos=Z,t.hoverData.mdownGPos=te;var me=function(){t.hoverData.tapholdCancelled=!1,clearTimeout(t.hoverData.tapholdTimeout),t.hoverData.tapholdTimeout=setTimeout(function(){if(!t.hoverData.tapholdCancelled){var je=t.hoverData.down;je?je.emit({originalEvent:I,type:"taphold",position:{x:Z[0],y:Z[1]}}):K.emit({originalEvent:I,type:"taphold",position:{x:Z[0],y:Z[1]}})}},t.tapholdDuration)};if(I.which==3){t.hoverData.cxtStarted=!0;var be={originalEvent:I,type:"cxttapstart",position:{x:Z[0],y:Z[1]}};ee?(ee.activate(),ee.emit(be),t.hoverData.down=ee):K.emit(be),t.hoverData.downTime=new Date().getTime(),t.hoverData.cxtDragged=!1}else if(I.which==1){ee&&ee.activate();{if(ee!=null&&t.nodeIsGrabbable(ee)){var ye=function(je){return{originalEvent:I,type:je,position:{x:Z[0],y:Z[1]}}},_e=function(je){je.emit(ye("grab"))};if(d(ee),!ee.selected())oe=t.dragData.possibleDragElements=K.collection(),g(ee,{addToList:oe}),ee.emit(ye("grabon")).emit(ye("grab"));else{oe=t.dragData.possibleDragElements=K.collection();var ge=K.$(function(Ce){return Ce.isNode()&&Ce.selected()&&t.nodeIsGrabbable(Ce)});p(ge,{addToList:oe}),ee.emit(ye("grabon")),ge.forEach(_e)}t.redrawHint("eles",!0),t.redrawHint("drag",!0)}t.hoverData.down=ee,t.hoverData.downs=le,t.hoverData.downTime=new Date().getTime()}n(ee,["mousedown","tapstart","vmousedown"],I,{x:Z[0],y:Z[1]}),ee==null?(X[4]=1,t.data.bgActivePosistion={x:Z[0],y:Z[1]},t.redrawHint("select",!0),t.redraw()):ee.pannable()&&(X[4]=1),me()}X[0]=X[2]=Z[0],X[1]=X[3]=Z[1]}},!1),t.registerBinding(e,"mousemove",function(I){var K=t.hoverData.capture;if(!(!K&&!S(I))){var te=!1,Z=t.cy,X=Z.zoom(),le=[I.clientX,I.clientY],ee=t.projectIntoViewport(le[0],le[1]),oe=t.hoverData.mdownPos,me=t.hoverData.mdownGPos,be=t.selection,ye=null;!t.hoverData.draggingEles&&!t.hoverData.dragging&&!t.hoverData.selecting&&(ye=t.findNearestElement(ee[0],ee[1],!0,!1));var _e=t.hoverData.last,ge=t.hoverData.down,Ce=[ee[0]-be[2],ee[1]-be[3]],je=t.dragData.possibleDragElements,qe;if(me){var it=le[0]-me[0],ot=it*it,et=le[1]-me[1],At=et*et,pt=ot+At;t.hoverData.isOverThresholdDrag=qe=pt>=t.desktopTapThreshold2}var mt=a(I);qe&&(t.hoverData.tapholdCancelled=!0);var Jt=function(){var J=t.hoverData.dragDelta=t.hoverData.dragDelta||[];J.length===0?(J.push(Ce[0]),J.push(Ce[1])):(J[0]+=Ce[0],J[1]+=Ce[1])};te=!0,n(ye,["mousemove","vmousemove","tapdrag"],I,{x:ee[0],y:ee[1]});var Rt=function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||Z.emit({originalEvent:I,type:"boxstart",position:{x:ee[0],y:ee[1]}}),be[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()};if(t.hoverData.which===3){if(qe){var Lt={originalEvent:I,type:"cxtdrag",position:{x:ee[0],y:ee[1]}};ge?ge.emit(Lt):Z.emit(Lt),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||ye!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit({originalEvent:I,type:"cxtdragout",position:{x:ee[0],y:ee[1]}}),t.hoverData.cxtOver=ye,ye&&ye.emit({originalEvent:I,type:"cxtdragover",position:{x:ee[0],y:ee[1]}}))}}else if(t.hoverData.dragging){if(te=!0,Z.panningEnabled()&&Z.userPanningEnabled()){var lr;if(t.hoverData.justStartedPan){var Cr=t.hoverData.mdownPos;lr={x:(ee[0]-Cr[0])*X,y:(ee[1]-Cr[1])*X},t.hoverData.justStartedPan=!1}else lr={x:Ce[0]*X,y:Ce[1]*X};Z.panBy(lr),Z.emit("dragpan"),t.hoverData.dragged=!0}ee=t.projectIntoViewport(I.clientX,I.clientY)}else if(be[4]==1&&(ge==null||ge.pannable())){if(qe){if(!t.hoverData.dragging&&Z.boxSelectionEnabled()&&(mt||!Z.panningEnabled()||!Z.userPanningEnabled()))Rt();else if(!t.hoverData.selecting&&Z.panningEnabled()&&Z.userPanningEnabled()){var jt=i(ge,t.hoverData.downs);jt&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,be[4]=0,t.data.bgActivePosistion=Ma(oe),t.redrawHint("select",!0),t.redraw())}ge&&ge.pannable()&&ge.active()&&ge.unactivate()}}else{if(ge&&ge.pannable()&&ge.active()&&ge.unactivate(),(!ge||!ge.grabbed())&&ye!=_e&&(_e&&n(_e,["mouseout","tapdragout"],I,{x:ee[0],y:ee[1]}),ye&&n(ye,["mouseover","tapdragover"],I,{x:ee[0],y:ee[1]}),t.hoverData.last=ye),ge)if(qe){if(Z.boxSelectionEnabled()&&mt)ge&&ge.grabbed()&&(m(je),ge.emit("freeon"),je.emit("free"),t.dragData.didDrag&&(ge.emit("dragfreeon"),je.emit("dragfree"))),Rt();else if(ge&&ge.grabbed()&&t.nodeIsDraggable(ge)){var tt=!t.dragData.didDrag;tt&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||p(je,{inDragLayer:!0});var st={x:0,y:0};if(de(Ce[0])&&de(Ce[1])&&(st.x+=Ce[0],st.y+=Ce[1],tt)){var yt=t.hoverData.dragDelta;yt&&de(yt[0])&&de(yt[1])&&(st.x+=yt[0],st.y+=yt[1])}t.hoverData.draggingEles=!0,je.silentShift(st).emit("position drag"),t.redrawHint("drag",!0),t.redraw()}}else Jt();te=!0}if(be[2]=ee[0],be[3]=ee[1],te)return I.stopPropagation&&I.stopPropagation(),I.preventDefault&&I.preventDefault(),!1}},!1);var T,N,B;t.registerBinding(e,"mouseup",function(I){if(!(t.hoverData.which===1&&I.which!==1&&t.hoverData.capture)){var K=t.hoverData.capture;if(K){t.hoverData.capture=!1;var te=t.cy,Z=t.projectIntoViewport(I.clientX,I.clientY),X=t.selection,le=t.findNearestElement(Z[0],Z[1],!0,!1),ee=t.dragData.possibleDragElements,oe=t.hoverData.down,me=a(I);if(t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,oe&&oe.unactivate(),t.hoverData.which===3){var be={originalEvent:I,type:"cxttapend",position:{x:Z[0],y:Z[1]}};if(oe?oe.emit(be):te.emit(be),!t.hoverData.cxtDragged){var ye={originalEvent:I,type:"cxttap",position:{x:Z[0],y:Z[1]}};oe?oe.emit(ye):te.emit(ye)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(t.hoverData.which===1){if(n(le,["mouseup","tapend","vmouseup"],I,{x:Z[0],y:Z[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(n(oe,["click","tap","vclick"],I,{x:Z[0],y:Z[1]}),N=!1,I.timeStamp-B<=te.multiClickDebounceTime()?(T&&clearTimeout(T),N=!0,B=null,n(oe,["dblclick","dbltap","vdblclick"],I,{x:Z[0],y:Z[1]})):(T=setTimeout(function(){N||n(oe,["oneclick","onetap","voneclick"],I,{x:Z[0],y:Z[1]})},te.multiClickDebounceTime()),B=I.timeStamp)),oe==null&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!a(I)&&(te.$(r).unselect(["tapunselect"]),ee.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=ee=te.collection()),le==oe&&!t.dragData.didDrag&&!t.hoverData.selecting&&le!=null&&le._private.selectable&&(t.hoverData.dragging||(te.selectionType()==="additive"||me?le.selected()?le.unselect(["tapunselect"]):le.select(["tapselect"]):me||(te.$(r).unmerge(le).unselect(["tapunselect"]),le.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var _e=te.collection(t.getAllInBox(X[0],X[1],X[2],X[3]));t.redrawHint("select",!0),_e.length>0&&t.redrawHint("eles",!0),te.emit({type:"boxend",originalEvent:I,position:{x:Z[0],y:Z[1]}});var ge=function(qe){return qe.selectable()&&!qe.selected()};te.selectionType()==="additive"||me||te.$(r).unmerge(_e).unselect(),_e.emit("box").stdFilter(ge).select().emit("boxselect"),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!X[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var Ce=oe&&oe.grabbed();m(ee),Ce&&(oe.emit("freeon"),ee.emit("free"),t.dragData.didDrag&&(oe.emit("dragfreeon"),ee.emit("dragfree")))}}X[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null,t.hoverData.which=null}}},!1);var O=function(I){if(!t.scrollingPage){var K=t.cy,te=K.zoom(),Z=K.pan(),X=t.projectIntoViewport(I.clientX,I.clientY),le=[X[0]*te+Z.x,X[1]*te+Z.y];if(t.hoverData.draggingEles||t.hoverData.dragging||t.hoverData.cxtStarted||_()){I.preventDefault();return}if(K.panningEnabled()&&K.userPanningEnabled()&&K.zoomingEnabled()&&K.userZoomingEnabled()){I.preventDefault(),t.data.wheelZooming=!0,clearTimeout(t.data.wheelTimeout),t.data.wheelTimeout=setTimeout(function(){t.data.wheelZooming=!1,t.redrawHint("eles",!0),t.redraw()},150);var ee;I.deltaY!=null?ee=I.deltaY/-250:I.wheelDeltaY!=null?ee=I.wheelDeltaY/1e3:ee=I.wheelDelta/1e3,ee=ee*t.wheelSensitivity;var oe=I.deltaMode===1;oe&&(ee*=33);var me=K.zoom()*Math.pow(10,ee);I.type==="gesturechange"&&(me=t.gestureStartZoom*I.scale),K.zoom({level:me,renderedPosition:{x:le[0],y:le[1]}}),K.emit(I.type==="gesturechange"?"pinchzoom":"scrollzoom")}}};t.registerBinding(t.container,"wheel",O,!0),t.registerBinding(e,"scroll",function(I){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},!0),t.registerBinding(t.container,"gesturestart",function(I){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||I.preventDefault()},!0),t.registerBinding(t.container,"gesturechange",function(re){t.hasTouchStarted||O(re)},!0),t.registerBinding(t.container,"mouseout",function(I){var K=t.projectIntoViewport(I.clientX,I.clientY);t.cy.emit({originalEvent:I,type:"mouseout",position:{x:K[0],y:K[1]}})},!1),t.registerBinding(t.container,"mouseover",function(I){var K=t.projectIntoViewport(I.clientX,I.clientY);t.cy.emit({originalEvent:I,type:"mouseover",position:{x:K[0],y:K[1]}})},!1);var D,R,P,L,A,q,U,z,H,Q,F,$,V,G=function(I,K,te,Z){return Math.sqrt((te-I)*(te-I)+(Z-K)*(Z-K))},j=function(I,K,te,Z){return(te-I)*(te-I)+(Z-K)*(Z-K)},M;t.registerBinding(t.container,"touchstart",M=function(I){if(t.hasTouchStarted=!0,!!S(I)){b(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var K=t.cy,te=t.touchData.now,Z=t.touchData.earlier;if(I.touches[0]){var X=t.projectIntoViewport(I.touches[0].clientX,I.touches[0].clientY);te[0]=X[0],te[1]=X[1]}if(I.touches[1]){var X=t.projectIntoViewport(I.touches[1].clientX,I.touches[1].clientY);te[2]=X[0],te[3]=X[1]}if(I.touches[2]){var X=t.projectIntoViewport(I.touches[2].clientX,I.touches[2].clientY);te[4]=X[0],te[5]=X[1]}if(I.touches[1]){t.touchData.singleTouchMoved=!0,m(t.dragData.touchDragEles);var le=t.findContainerClientCoords();H=le[0],Q=le[1],F=le[2],$=le[3],D=I.touches[0].clientX-H,R=I.touches[0].clientY-Q,P=I.touches[1].clientX-H,L=I.touches[1].clientY-Q,V=0<=D&&D<=F&&0<=P&&P<=F&&0<=R&&R<=$&&0<=L&&L<=$;var ee=K.pan(),oe=K.zoom();A=G(D,R,P,L),q=j(D,R,P,L),U=[(D+P)/2,(R+L)/2],z=[(U[0]-ee.x)/oe,(U[1]-ee.y)/oe];var me=200,be=me*me;if(q<be&&!I.touches[2]){var ye=t.findNearestElement(te[0],te[1],!0,!0),_e=t.findNearestElement(te[2],te[3],!0,!0);ye&&ye.isNode()?(ye.activate().emit({originalEvent:I,type:"cxttapstart",position:{x:te[0],y:te[1]}}),t.touchData.start=ye):_e&&_e.isNode()?(_e.activate().emit({originalEvent:I,type:"cxttapstart",position:{x:te[0],y:te[1]}}),t.touchData.start=_e):K.emit({originalEvent:I,type:"cxttapstart",position:{x:te[0],y:te[1]}}),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!0,t.touchData.cxtDragged=!1,t.data.bgActivePosistion=void 0,t.redraw();return}}if(I.touches[2])K.boxSelectionEnabled()&&I.preventDefault();else if(!I.touches[1]){if(I.touches[0]){var ge=t.findNearestElements(te[0],te[1],!0,!0),Ce=ge[0];if(Ce!=null&&(Ce.activate(),t.touchData.start=Ce,t.touchData.starts=ge,t.nodeIsGrabbable(Ce))){var je=t.dragData.touchDragEles=K.collection(),qe=null;t.redrawHint("eles",!0),t.redrawHint("drag",!0),Ce.selected()?(qe=K.$(function(pt){return pt.selected()&&t.nodeIsGrabbable(pt)}),p(qe,{addToList:je})):g(Ce,{addToList:je}),d(Ce);var it=function(mt){return{originalEvent:I,type:mt,position:{x:te[0],y:te[1]}}};Ce.emit(it("grabon")),qe?qe.forEach(function(pt){pt.emit(it("grab"))}):Ce.emit(it("grab"))}n(Ce,["touchstart","tapstart","vmousedown"],I,{x:te[0],y:te[1]}),Ce==null&&(t.data.bgActivePosistion={x:X[0],y:X[1]},t.redrawHint("select",!0),t.redraw()),t.touchData.singleTouchMoved=!1,t.touchData.singleTouchStartTime=+new Date,clearTimeout(t.touchData.tapholdTimeout),t.touchData.tapholdTimeout=setTimeout(function(){t.touchData.singleTouchMoved===!1&&!t.pinching&&!t.touchData.selecting&&n(t.touchData.start,["taphold"],I,{x:te[0],y:te[1]})},t.tapholdDuration)}}if(I.touches.length>=1){for(var ot=t.touchData.startPosition=[null,null,null,null,null,null],et=0;et<te.length;et++)ot[et]=Z[et]=te[et];var At=I.touches[0];t.touchData.startGPosition=[At.clientX,At.clientY]}}},!1);var W;t.registerBinding(e,"touchmove",W=function(I){var K=t.touchData.capture;if(!(!K&&!S(I))){var te=t.selection,Z=t.cy,X=t.touchData.now,le=t.touchData.earlier,ee=Z.zoom();if(I.touches[0]){var oe=t.projectIntoViewport(I.touches[0].clientX,I.touches[0].clientY);X[0]=oe[0],X[1]=oe[1]}if(I.touches[1]){var oe=t.projectIntoViewport(I.touches[1].clientX,I.touches[1].clientY);X[2]=oe[0],X[3]=oe[1]}if(I.touches[2]){var oe=t.projectIntoViewport(I.touches[2].clientX,I.touches[2].clientY);X[4]=oe[0],X[5]=oe[1]}var me=t.touchData.startGPosition,be;if(K&&I.touches[0]&&me){for(var ye=[],_e=0;_e<X.length;_e++)ye[_e]=X[_e]-le[_e];var ge=I.touches[0].clientX-me[0],Ce=ge*ge,je=I.touches[0].clientY-me[1],qe=je*je,it=Ce+qe;be=it>=t.touchTapThreshold2}if(K&&t.touchData.cxt){I.preventDefault();var ot=I.touches[0].clientX-H,et=I.touches[0].clientY-Q,At=I.touches[1].clientX-H,pt=I.touches[1].clientY-Q,mt=j(ot,et,At,pt),Jt=mt/q,Rt=150,Lt=Rt*Rt,lr=1.5,Cr=lr*lr;if(Jt>=Cr||mt>=Lt){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var jt={originalEvent:I,type:"cxttapend",position:{x:X[0],y:X[1]}};t.touchData.start?(t.touchData.start.unactivate().emit(jt),t.touchData.start=null):Z.emit(jt)}}if(K&&t.touchData.cxt){var jt={originalEvent:I,type:"cxtdrag",position:{x:X[0],y:X[1]}};t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(jt):Z.emit(jt),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var tt=t.findNearestElement(X[0],X[1],!0,!0);(!t.touchData.cxtOver||tt!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit({originalEvent:I,type:"cxtdragout",position:{x:X[0],y:X[1]}}),t.touchData.cxtOver=tt,tt&&tt.emit({originalEvent:I,type:"cxtdragover",position:{x:X[0],y:X[1]}}))}else if(K&&I.touches[2]&&Z.boxSelectionEnabled())I.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||Z.emit({originalEvent:I,type:"boxstart",position:{x:X[0],y:X[1]}}),t.touchData.selecting=!0,t.touchData.didSelect=!0,te[4]=1,!te||te.length===0||te[0]===void 0?(te[0]=(X[0]+X[2]+X[4])/3,te[1]=(X[1]+X[3]+X[5])/3,te[2]=(X[0]+X[2]+X[4])/3+1,te[3]=(X[1]+X[3]+X[5])/3+1):(te[2]=(X[0]+X[2]+X[4])/3,te[3]=(X[1]+X[3]+X[5])/3),t.redrawHint("select",!0),t.redraw();else if(K&&I.touches[1]&&!t.touchData.didSelect&&Z.zoomingEnabled()&&Z.panningEnabled()&&Z.userZoomingEnabled()&&Z.userPanningEnabled()){I.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var st=t.dragData.touchDragEles;if(st){t.redrawHint("drag",!0);for(var yt=0;yt<st.length;yt++){var Pn=st[yt]._private;Pn.grabbed=!1,Pn.rscratch.inDragLayer=!1}}var J=t.touchData.start,ot=I.touches[0].clientX-H,et=I.touches[0].clientY-Q,At=I.touches[1].clientX-H,pt=I.touches[1].clientY-Q,he=G(ot,et,At,pt),Pe=he/A;if(V){var He=ot-D,Mr=et-R,An=At-P,fi=pt-L,nn=(He+An)/2,ur=(Mr+fi)/2,Rn=Z.zoom(),Sg=Rn*Pe,kl=Z.pan(),D_=z[0]*Rn+kl.x,O_=z[1]*Rn+kl.y,rG={x:-Sg/Rn*(D_-kl.x-nn)+D_,y:-Sg/Rn*(O_-kl.y-ur)+O_};if(J&&J.active()){var st=t.dragData.touchDragEles;m(st),t.redrawHint("drag",!0),t.redrawHint("eles",!0),J.unactivate().emit("freeon"),st.emit("free"),t.dragData.didDrag&&(J.emit("dragfreeon"),st.emit("dragfree"))}Z.viewport({zoom:Sg,pan:rG,cancelOnFailedZoom:!0}),Z.emit("pinchzoom"),A=he,D=ot,R=et,P=At,L=pt,t.pinching=!0}if(I.touches[0]){var oe=t.projectIntoViewport(I.touches[0].clientX,I.touches[0].clientY);X[0]=oe[0],X[1]=oe[1]}if(I.touches[1]){var oe=t.projectIntoViewport(I.touches[1].clientX,I.touches[1].clientY);X[2]=oe[0],X[3]=oe[1]}if(I.touches[2]){var oe=t.projectIntoViewport(I.touches[2].clientX,I.touches[2].clientY);X[4]=oe[0],X[5]=oe[1]}}else if(I.touches[0]&&!t.touchData.didSelect){var Er=t.touchData.start,_g=t.touchData.last,tt;if(!t.hoverData.draggingEles&&!t.swipePanning&&(tt=t.findNearestElement(X[0],X[1],!0,!0)),K&&Er!=null&&I.preventDefault(),K&&Er!=null&&t.nodeIsDraggable(Er))if(be){var st=t.dragData.touchDragEles,P_=!t.dragData.didDrag;P_&&p(st,{inDragLayer:!0}),t.dragData.didDrag=!0;var No={x:0,y:0};if(de(ye[0])&&de(ye[1])&&(No.x+=ye[0],No.y+=ye[1],P_)){t.redrawHint("eles",!0);var xr=t.touchData.dragDelta;xr&&de(xr[0])&&de(xr[1])&&(No.x+=xr[0],No.y+=xr[1])}t.hoverData.draggingEles=!0,st.silentShift(No).emit("position drag"),t.redrawHint("drag",!0),t.touchData.startPosition[0]==le[0]&&t.touchData.startPosition[1]==le[1]&&t.redrawHint("eles",!0),t.redraw()}else{var xr=t.touchData.dragDelta=t.touchData.dragDelta||[];xr.length===0?(xr.push(ye[0]),xr.push(ye[1])):(xr[0]+=ye[0],xr[1]+=ye[1])}if(n(Er||tt,["touchmove","tapdrag","vmousemove"],I,{x:X[0],y:X[1]}),(!Er||!Er.grabbed())&&tt!=_g&&(_g&&_g.emit({originalEvent:I,type:"tapdragout",position:{x:X[0],y:X[1]}}),tt&&tt.emit({originalEvent:I,type:"tapdragover",position:{x:X[0],y:X[1]}})),t.touchData.last=tt,K)for(var yt=0;yt<X.length;yt++)X[yt]&&t.touchData.startPosition[yt]&&be&&(t.touchData.singleTouchMoved=!0);if(K&&(Er==null||Er.pannable())&&Z.panningEnabled()&&Z.userPanningEnabled()){var nG=i(Er,t.touchData.starts);nG&&(I.preventDefault(),t.data.bgActivePosistion||(t.data.bgActivePosistion=Ma(t.touchData.startPosition)),t.swipePanning?(Z.panBy({x:ye[0]*ee,y:ye[1]*ee}),Z.emit("dragpan")):be&&(t.swipePanning=!0,Z.panBy({x:ge*ee,y:je*ee}),Z.emit("dragpan"),Er&&(Er.unactivate(),t.redrawHint("select",!0),t.touchData.start=null)));var oe=t.projectIntoViewport(I.touches[0].clientX,I.touches[0].clientY);X[0]=oe[0],X[1]=oe[1]}}for(var _e=0;_e<X.length;_e++)le[_e]=X[_e];K&&I.touches.length>0&&!t.hoverData.draggingEles&&!t.swipePanning&&t.data.bgActivePosistion!=null&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},!1);var Y;t.registerBinding(e,"touchcancel",Y=function(I){var K=t.touchData.start;t.touchData.capture=!1,K&&K.unactivate()});var se,ce,ae,ne;if(t.registerBinding(e,"touchend",se=function(I){var K=t.touchData.start,te=t.touchData.capture;if(te)I.touches.length===0&&(t.touchData.capture=!1),I.preventDefault();else return;var Z=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var X=t.cy,le=X.zoom(),ee=t.touchData.now,oe=t.touchData.earlier;if(I.touches[0]){var me=t.projectIntoViewport(I.touches[0].clientX,I.touches[0].clientY);ee[0]=me[0],ee[1]=me[1]}if(I.touches[1]){var me=t.projectIntoViewport(I.touches[1].clientX,I.touches[1].clientY);ee[2]=me[0],ee[3]=me[1]}if(I.touches[2]){var me=t.projectIntoViewport(I.touches[2].clientX,I.touches[2].clientY);ee[4]=me[0],ee[5]=me[1]}K&&K.unactivate();var be;if(t.touchData.cxt){if(be={originalEvent:I,type:"cxttapend",position:{x:ee[0],y:ee[1]}},K?K.emit(be):X.emit(be),!t.touchData.cxtDragged){var ye={originalEvent:I,type:"cxttap",position:{x:ee[0],y:ee[1]}};K?K.emit(ye):X.emit(ye)}t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,t.redraw();return}if(!I.touches[2]&&X.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var _e=X.collection(t.getAllInBox(Z[0],Z[1],Z[2],Z[3]));Z[0]=void 0,Z[1]=void 0,Z[2]=void 0,Z[3]=void 0,Z[4]=0,t.redrawHint("select",!0),X.emit({type:"boxend",originalEvent:I,position:{x:ee[0],y:ee[1]}});var ge=function(Lt){return Lt.selectable()&&!Lt.selected()};_e.emit("box").stdFilter(ge).select().emit("boxselect"),_e.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(K!=null&&K.unactivate(),I.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!I.touches[1]){if(!I.touches[0]){if(!I.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Ce=t.dragData.touchDragEles;if(K!=null){var je=K._private.grabbed;m(Ce),t.redrawHint("drag",!0),t.redrawHint("eles",!0),je&&(K.emit("freeon"),Ce.emit("free"),t.dragData.didDrag&&(K.emit("dragfreeon"),Ce.emit("dragfree"))),n(K,["touchend","tapend","vmouseup","tapdragout"],I,{x:ee[0],y:ee[1]}),K.unactivate(),t.touchData.start=null}else{var qe=t.findNearestElement(ee[0],ee[1],!0,!0);n(qe,["touchend","tapend","vmouseup","tapdragout"],I,{x:ee[0],y:ee[1]})}var it=t.touchData.startPosition[0]-ee[0],ot=it*it,et=t.touchData.startPosition[1]-ee[1],At=et*et,pt=ot+At,mt=pt*le*le;t.touchData.singleTouchMoved||(K||X.$(":selected").unselect(["tapunselect"]),n(K,["tap","vclick"],I,{x:ee[0],y:ee[1]}),ce=!1,I.timeStamp-ne<=X.multiClickDebounceTime()?(ae&&clearTimeout(ae),ce=!0,ne=null,n(K,["dbltap","vdblclick"],I,{x:ee[0],y:ee[1]})):(ae=setTimeout(function(){ce||n(K,["onetap","voneclick"],I,{x:ee[0],y:ee[1]})},X.multiClickDebounceTime()),ne=I.timeStamp)),K!=null&&!t.dragData.didDrag&&K._private.selectable&&mt<t.touchTapThreshold2&&!t.pinching&&(X.selectionType()==="single"?(X.$(r).unmerge(K).unselect(["tapunselect"]),K.select(["tapselect"])):K.selected()?K.unselect(["tapunselect"]):K.select(["tapselect"]),t.redrawHint("eles",!0)),t.touchData.singleTouchMoved=!0}}}for(var Jt=0;Jt<ee.length;Jt++)oe[Jt]=ee[Jt];t.dragData.didDrag=!1,I.touches.length===0&&(t.touchData.dragDelta=[],t.touchData.startPosition=[null,null,null,null,null,null],t.touchData.startGPosition=null,t.touchData.didSelect=!1),I.touches.length<2&&(I.touches.length===1&&(t.touchData.startGPosition=[I.touches[0].clientX,I.touches[0].clientY]),t.pinching=!1,t.redrawHint("eles",!0),t.redraw())},!1),typeof TouchEvent>"u"){var ue=[],ie=function(I){return{clientX:I.clientX,clientY:I.clientY,force:1,identifier:I.pointerId,pageX:I.pageX,pageY:I.pageY,radiusX:I.width/2,radiusY:I.height/2,screenX:I.screenX,screenY:I.screenY,target:I.target}},fe=function(I){return{event:I,touch:ie(I)}},pe=function(I){ue.push(fe(I))},De=function(I){for(var K=0;K<ue.length;K++){var te=ue[K];if(te.event.pointerId===I.pointerId){ue.splice(K,1);return}}},Ie=function(I){var K=ue.filter(function(te){return te.event.pointerId===I.pointerId})[0];K.event=I,K.touch=ie(I)},we=function(I){I.touches=ue.map(function(K){return K.touch})},xe=function(I){return I.pointerType==="mouse"||I.pointerType===4};t.registerBinding(t.container,"pointerdown",function(re){xe(re)||(re.preventDefault(),pe(re),we(re),M(re))}),t.registerBinding(t.container,"pointerup",function(re){xe(re)||(De(re),we(re),se(re))}),t.registerBinding(t.container,"pointercancel",function(re){xe(re)||(De(re),we(re),Y(re))}),t.registerBinding(t.container,"pointermove",function(re){xe(re)||(re.preventDefault(),Ie(re),we(re),W(re))})}};var Jr={};Jr.generatePolygon=function(t,e){return this.nodeShapes[t]={renderer:this,name:t,points:e,draw:function(n,a,i,o,l,c){this.renderer.nodeShapeImpl("polygon",n,a,i,o,l,this.points)},intersectLine:function(n,a,i,o,l,c,u,d){return eo(l,c,this.points,n,a,i/2,o/2,u)},checkPoint:function(n,a,i,o,l,c,u,d){return Yr(n,a,this.points,c,u,o,l,[0,-1],i)}}},Jr.generateEllipse=function(){return this.nodeShapes.ellipse={renderer:this,name:"ellipse",draw:function(e,r,n,a,i,o){this.renderer.nodeShapeImpl(this.name,e,r,n,a,i)},intersectLine:function(e,r,n,a,i,o,l,c){return w5(i,o,e,r,n/2+l,a/2+l)},checkPoint:function(e,r,n,a,i,o,l,c){return ea(e,r,a,i,o,l,n)}}},Jr.generateRoundPolygon=function(t,e){return this.nodeShapes[t]={renderer:this,name:t,points:e,getOrCreateCorners:function(n,a,i,o,l,c,u){if(c[u]!==void 0&&c[u+"-cx"]===n&&c[u+"-cy"]===a)return c[u];c[u]=new Array(e.length/2),c[u+"-cx"]=n,c[u+"-cy"]=a;var d=i/2,f=o/2;l=l==="auto"?Q0(i,o):l;for(var h=new Array(e.length/2),v=0;v<e.length/2;v++)h[v]={x:n+d*e[v*2],y:a+f*e[v*2+1]};var p,g,m,y,b=h.length;for(g=h[b-1],p=0;p<b;p++)m=h[p%b],y=h[(p+1)%b],c[u][p]=wc(g,m,y,l),g=m,m=y;return c[u]},draw:function(n,a,i,o,l,c,u){this.renderer.nodeShapeImpl("round-polygon",n,a,i,o,l,this.points,this.getOrCreateCorners(a,i,o,l,c,u,"drawCorners"))},intersectLine:function(n,a,i,o,l,c,u,d,f){return C5(l,c,this.points,n,a,i,o,u,this.getOrCreateCorners(n,a,i,o,d,f,"corners"))},checkPoint:function(n,a,i,o,l,c,u,d,f){return b5(n,a,this.points,c,u,o,l,this.getOrCreateCorners(c,u,o,l,d,f,"corners"))}}},Jr.generateRoundRectangle=function(){return this.nodeShapes["round-rectangle"]=this.nodeShapes.roundrectangle={renderer:this,name:"round-rectangle",points:Ft(4,0),draw:function(e,r,n,a,i,o){this.renderer.nodeShapeImpl(this.name,e,r,n,a,i,this.points,o)},intersectLine:function(e,r,n,a,i,o,l,c){return X0(i,o,e,r,n,a,l,c)},checkPoint:function(e,r,n,a,i,o,l,c){var u=a/2,d=i/2;c=c==="auto"?ta(a,i):c,c=Math.min(u,d,c);var f=c*2;return!!(Yr(e,r,this.points,o,l,a,i-f,[0,-1],n)||Yr(e,r,this.points,o,l,a-f,i,[0,-1],n)||ea(e,r,f,f,o-u+c,l-d+c,n)||ea(e,r,f,f,o+u-c,l-d+c,n)||ea(e,r,f,f,o+u-c,l+d-c,n)||ea(e,r,f,f,o-u+c,l+d-c,n))}}},Jr.generateCutRectangle=function(){return this.nodeShapes["cut-rectangle"]=this.nodeShapes.cutrectangle={renderer:this,name:"cut-rectangle",cornerLength:Gu(),points:Ft(4,0),draw:function(e,r,n,a,i,o){this.renderer.nodeShapeImpl(this.name,e,r,n,a,i,null,o)},generateCutTrianglePts:function(e,r,n,a,i){var o=i==="auto"?this.cornerLength:i,l=r/2,c=e/2,u=n-c,d=n+c,f=a-l,h=a+l;return{topLeft:[u,f+o,u+o,f,u+o,f+o],topRight:[d-o,f,d,f+o,d-o,f+o],bottomRight:[d,h-o,d-o,h,d-o,h-o],bottomLeft:[u+o,h,u,h-o,u+o,h-o]}},intersectLine:function(e,r,n,a,i,o,l,c){var u=this.generateCutTrianglePts(n+2*l,a+2*l,e,r,c),d=[].concat.apply([],[u.topLeft.splice(0,4),u.topRight.splice(0,4),u.bottomRight.splice(0,4),u.bottomLeft.splice(0,4)]);return eo(i,o,d,e,r)},checkPoint:function(e,r,n,a,i,o,l,c){var u=c==="auto"?this.cornerLength:c;if(Yr(e,r,this.points,o,l,a,i-2*u,[0,-1],n)||Yr(e,r,this.points,o,l,a-2*u,i,[0,-1],n))return!0;var d=this.generateCutTrianglePts(a,i,o,l);return Gt(e,r,d.topLeft)||Gt(e,r,d.topRight)||Gt(e,r,d.bottomRight)||Gt(e,r,d.bottomLeft)}}},Jr.generateBarrel=function(){return this.nodeShapes.barrel={renderer:this,name:"barrel",points:Ft(4,0),draw:function(e,r,n,a,i,o){this.renderer.nodeShapeImpl(this.name,e,r,n,a,i)},intersectLine:function(e,r,n,a,i,o,l,c){var u=.15,d=.5,f=.85,h=this.generateBarrelBezierPts(n+2*l,a+2*l,e,r),v=function(m){var y=Fa({x:m[0],y:m[1]},{x:m[2],y:m[3]},{x:m[4],y:m[5]},u),b=Fa({x:m[0],y:m[1]},{x:m[2],y:m[3]},{x:m[4],y:m[5]},d),w=Fa({x:m[0],y:m[1]},{x:m[2],y:m[3]},{x:m[4],y:m[5]},f);return[m[0],m[1],y.x,y.y,b.x,b.y,w.x,w.y,m[4],m[5]]},p=[].concat(v(h.topLeft),v(h.topRight),v(h.bottomRight),v(h.bottomLeft));return eo(i,o,p,e,r)},generateBarrelBezierPts:function(e,r,n,a){var i=r/2,o=e/2,l=n-o,c=n+o,u=a-i,d=a+i,f=Uu(e,r),h=f.heightOffset,v=f.widthOffset,p=f.ctrlPtOffsetPct*e,g={topLeft:[l,u+h,l+p,u,l+v,u],topRight:[c-v,u,c-p,u,c,u+h],bottomRight:[c,d-h,c-p,d,c-v,d],bottomLeft:[l+v,d,l+p,d,l,d-h]};return g.topLeft.isTop=!0,g.topRight.isTop=!0,g.bottomLeft.isBottom=!0,g.bottomRight.isBottom=!0,g},checkPoint:function(e,r,n,a,i,o,l,c){var u=Uu(a,i),d=u.heightOffset,f=u.widthOffset;if(Yr(e,r,this.points,o,l,a,i-2*d,[0,-1],n)||Yr(e,r,this.points,o,l,a-2*f,i,[0,-1],n))return!0;for(var h=this.generateBarrelBezierPts(a,i,o,l),v=function(_,S,T){var N=T[4],B=T[2],O=T[0],D=T[5],R=T[1],P=Math.min(N,O),L=Math.max(N,O),A=Math.min(D,R),q=Math.max(D,R);if(P<=_&&_<=L&&A<=S&&S<=q){var U=E5(N,B,O),z=v5(U[0],U[1],U[2],_),H=z.filter(function(Q){return 0<=Q&&Q<=1});if(H.length>0)return H[0]}return null},p=Object.keys(h),g=0;g<p.length;g++){var m=p[g],y=h[m],b=v(e,r,y);if(b!=null){var w=y[5],C=y[3],x=y[1],k=gt(w,C,x,b);if(y.isTop&&k<=r||y.isBottom&&r<=k)return!0}}return!1}}},Jr.generateBottomRoundrectangle=function(){return this.nodeShapes["bottom-round-rectangle"]=this.nodeShapes.bottomroundrectangle={renderer:this,name:"bottom-round-rectangle",points:Ft(4,0),draw:function(e,r,n,a,i,o){this.renderer.nodeShapeImpl(this.name,e,r,n,a,i,this.points,o)},intersectLine:function(e,r,n,a,i,o,l,c){var u=e-(n/2+l),d=r-(a/2+l),f=d,h=e+(n/2+l),v=Cn(i,o,e,r,u,d,h,f,!1);return v.length>0?v:X0(i,o,e,r,n,a,l,c)},checkPoint:function(e,r,n,a,i,o,l,c){c=c==="auto"?ta(a,i):c;var u=2*c;if(Yr(e,r,this.points,o,l,a,i-u,[0,-1],n)||Yr(e,r,this.points,o,l,a-u,i,[0,-1],n))return!0;var d=a/2+2*n,f=i/2+2*n,h=[o-d,l-f,o-d,l,o+d,l,o+d,l-f];return!!(Gt(e,r,h)||ea(e,r,u,u,o+a/2-c,l+i/2-c,n)||ea(e,r,u,u,o-a/2+c,l+i/2-c,n))}}},Jr.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",Ft(3,0)),this.generateRoundPolygon("round-triangle",Ft(3,0)),this.generatePolygon("rectangle",Ft(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r)}this.generatePolygon("pentagon",Ft(5,0)),this.generateRoundPolygon("round-pentagon",Ft(5,0)),this.generatePolygon("hexagon",Ft(6,0)),this.generateRoundPolygon("round-hexagon",Ft(6,0)),this.generatePolygon("heptagon",Ft(7,0)),this.generateRoundPolygon("round-heptagon",Ft(7,0)),this.generatePolygon("octagon",Ft(8,0)),this.generateRoundPolygon("round-octagon",Ft(8,0));var n=new Array(20);{var a=Ku(5,0),i=Ku(5,Math.PI/5),o=.5*(3-Math.sqrt(5));o*=1.57;for(var l=0;l<i.length/2;l++)i[l*2]*=o,i[l*2+1]*=o;for(var l=0;l<20/4;l++)n[l*4]=a[l*2],n[l*4+1]=a[l*2+1],n[l*4+2]=i[l*2],n[l*4+3]=i[l*2+1]}n=J0(n),this.generatePolygon("star",n),this.generatePolygon("vee",[-1,-1,0,-.333,1,-1,0,1]),this.generatePolygon("rhomboid",[-1,-1,.333,-1,1,1,-.333,1]),this.generatePolygon("right-rhomboid",[-.333,-1,1,-1,.333,1,-1,1]),this.nodeShapes.concavehexagon=this.generatePolygon("concave-hexagon",[-1,-.95,-.75,0,-1,.95,1,.95,.75,0,1,-.95]);{var c=[-1,-1,.25,-1,1,0,.25,1,-1,1];this.generatePolygon("tag",c),this.generateRoundPolygon("round-tag",c)}t.makePolygon=function(u){var d=u.join("$"),f="polygon-"+d,h;return(h=this[f])?h:e.generatePolygon(f,u)}};var go={};go.timeToRender=function(){return this.redrawTotalTime/this.redrawCount},go.redraw=function(t){t=t||K0();var e=this;e.averageRedrawTime===void 0&&(e.averageRedrawTime=0),e.lastRedrawTime===void 0&&(e.lastRedrawTime=0),e.lastDrawTime===void 0&&(e.lastDrawTime=0),e.requestedFrame=!0,e.renderOptions=t},go.beforeRender=function(t,e){if(!this.destroyed){e==null&&Je("Priority is not optional for beforeRender");var r=this.beforeRenderCallbacks;r.push({fn:t,priority:e}),r.sort(function(n,a){return a.priority-n.priority})}};var G1=function(e,r,n){for(var a=e.beforeRenderCallbacks,i=0;i<a.length;i++)a[i].fn(r,n)};go.startRenderLoop=function(){var t=this,e=t.cy;if(!t.renderLoopStarted){t.renderLoopStarted=!0;var r=function n(a){if(!t.destroyed){if(!e.batching())if(t.requestedFrame&&!t.skipFrame){G1(t,!0,a);var i=Wr();t.render(t.renderOptions);var o=t.lastDrawTime=Wr();t.averageRedrawTime===void 0&&(t.averageRedrawTime=o-i),t.redrawCount===void 0&&(t.redrawCount=0),t.redrawCount++,t.redrawTotalTime===void 0&&(t.redrawTotalTime=0);var l=o-i;t.redrawTotalTime+=l,t.lastRedrawTime=l,t.averageRedrawTime=t.averageRedrawTime/2+l/2,t.requestedFrame=!1}else G1(t,!1,a);t.skipFrame=!1,ps(n)}};ps(r)}};var n3=function(e){this.init(e)},U1=n3,ni=U1.prototype;ni.clientFunctions=["redrawHint","render","renderTo","matchCanvasSize","nodeShapeImpl","arrowShapeImpl"],ni.init=function(t){var e=this;e.options=t,e.cy=t.cy;var r=e.container=t.cy.container(),n=e.cy.window();if(n){var a=n.document,i=a.head,o="__________cytoscape_stylesheet",l="__________cytoscape_container",c=a.getElementById(o)!=null;if(r.className.indexOf(l)<0&&(r.className=(r.className||"")+" "+l),!c){var u=a.createElement("style");u.id=o,u.textContent="."+l+" { position: relative; }",i.insertBefore(u,i.children[0])}var d=n.getComputedStyle(r),f=d.getPropertyValue("position");f==="static"&&$e("A Cytoscape container has style position:static and so can not use UI extensions properly")}e.selection=[void 0,void 0,void 0,void 0,0],e.bezierProjPcts=[.05,.225,.4,.5,.6,.775,.95],e.hoverData={down:null,last:null,downTime:null,triggerMode:null,dragging:!1,initialPan:[null,null],capture:!1},e.dragData={possibleDragElements:[]},e.touchData={start:null,capture:!1,startPosition:[null,null,null,null,null,null],singleTouchStartTime:null,singleTouchMoved:!0,now:[null,null,null,null,null,null],earlier:[null,null,null,null,null,null]},e.redraws=0,e.showFps=t.showFps,e.debug=t.debug,e.hideEdgesOnViewport=t.hideEdgesOnViewport,e.textureOnViewport=t.textureOnViewport,e.wheelSensitivity=t.wheelSensitivity,e.motionBlurEnabled=t.motionBlur,e.forcedPixelRatio=de(t.pixelRatio)?t.pixelRatio:null,e.motionBlur=t.motionBlur,e.motionBlurOpacity=t.motionBlurOpacity,e.motionBlurTransparency=1-e.motionBlurOpacity,e.motionBlurPxRatio=1,e.mbPxRBlurry=1,e.minMbLowQualFrames=4,e.fullQualityMb=!1,e.clearedForMotionBlur=[],e.desktopTapThreshold=t.desktopTapThreshold,e.desktopTapThreshold2=t.desktopTapThreshold*t.desktopTapThreshold,e.touchTapThreshold=t.touchTapThreshold,e.touchTapThreshold2=t.touchTapThreshold*t.touchTapThreshold,e.tapholdDuration=500,e.bindings=[],e.beforeRenderCallbacks=[],e.beforeRenderPriorities={animations:400,eleCalcs:300,eleTxrDeq:200,lyrTxrDeq:150,lyrTxrSkip:100},e.registerNodeShapes(),e.registerArrowShapes(),e.registerCalculationListeners()},ni.notify=function(t,e){var r=this,n=r.cy;if(!this.destroyed){if(t==="init"){r.load();return}if(t==="destroy"){r.destroy();return}(t==="add"||t==="remove"||t==="move"&&n.hasCompoundNodes()||t==="load"||t==="zorder"||t==="mount")&&r.invalidateCachedZSortedEles(),t==="viewport"&&r.redrawHint("select",!0),(t==="load"||t==="resize"||t==="mount")&&(r.invalidateContainerClientCoordsCache(),r.matchCanvasSize(r.container)),r.redrawHint("eles",!0),r.redrawHint("drag",!0),this.startRenderLoop(),this.redraw()}},ni.destroy=function(){var t=this;t.destroyed=!0,t.cy.stopAnimationLoop();for(var e=0;e<t.bindings.length;e++){var r=t.bindings[e],n=r,a=n.target;(a.off||a.removeEventListener).apply(a,n.args)}if(t.bindings=[],t.beforeRenderCallbacks=[],t.onUpdateEleCalcsFns=[],t.removeObserver&&t.removeObserver.disconnect(),t.styleObserver&&t.styleObserver.disconnect(),t.resizeObserver&&t.resizeObserver.disconnect(),t.labelCalcDiv)try{document.body.removeChild(t.labelCalcDiv)}catch{}},ni.isHeadless=function(){return!1},[vc,H1,K1,ri,Jr,go].forEach(function(t){Se(ni,t)});var Ec=1e3/60,j1={setupDequeueing:function(e){return function(){var n=this,a=this.renderer;if(!n.dequeueingSetup){n.dequeueingSetup=!0;var i=hs(function(){a.redrawHint("eles",!0),a.redrawHint("drag",!0),a.redraw()},e.deqRedrawThreshold),o=function(u,d){var f=Wr(),h=a.averageRedrawTime,v=a.lastRedrawTime,p=[],g=a.cy.extent(),m=a.getPixelRatio();for(u||a.flushRenderedStyleQueue();;){var y=Wr(),b=y-f,w=y-d;if(v<Ec){var C=Ec-(u?h:0);if(w>=e.deqFastCost*C)break}else if(u){if(b>=e.deqCost*v||b>=e.deqAvgCost*h)break}else if(w>=e.deqNoDrawCost*Ec)break;var x=e.deq(n,m,g);if(x.length>0)for(var k=0;k<x.length;k++)p.push(x[k]);else break}p.length>0&&(e.onDeqd(n,p),!u&&e.shouldRedraw(n,p,m,g)&&i())},l=e.priority||Fu;a.beforeRender(o,l(n))}}}},a3=function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:gs;Du(this,t),this.idsByKey=new Ir,this.keyForId=new Ir,this.cachesByLvl=new Ir,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return Ou(t,[{key:"getIdsFor",value:function(r){r==null&&Je("Can not get id list for null key");var n=this.idsByKey,a=this.idsByKey.get(r);return a||(a=new La,n.set(r,a)),a}},{key:"addIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).add(n)}},{key:"deleteIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).delete(n)}},{key:"getNumberOfIdsForKey",value:function(r){return r==null?0:this.getIdsFor(r).size}},{key:"updateKeyMappingFor",value:function(r){var n=r.id(),a=this.keyForId.get(n),i=this.getKey(r);this.deleteIdForKey(a,n),this.addIdForKey(i,n),this.keyForId.set(n,i)}},{key:"deleteKeyMappingFor",value:function(r){var n=r.id(),a=this.keyForId.get(n);this.deleteIdForKey(a,n),this.keyForId.delete(n)}},{key:"keyHasChangedFor",value:function(r){var n=r.id(),a=this.keyForId.get(n),i=this.getKey(r);return a!==i}},{key:"isInvalid",value:function(r){return this.keyHasChangedFor(r)||this.doesEleInvalidateKey(r)}},{key:"getCachesAt",value:function(r){var n=this.cachesByLvl,a=this.lvls,i=n.get(r);return i||(i=new Ir,n.set(r,i),a.push(r)),i}},{key:"getCache",value:function(r,n){return this.getCachesAt(n).get(r)}},{key:"get",value:function(r,n){var a=this.getKey(r),i=this.getCache(a,n);return i!=null&&this.updateKeyMappingFor(r),i}},{key:"getForCachedKey",value:function(r,n){var a=this.keyForId.get(r.id()),i=this.getCache(a,n);return i}},{key:"hasCache",value:function(r,n){return this.getCachesAt(n).has(r)}},{key:"has",value:function(r,n){var a=this.getKey(r);return this.hasCache(a,n)}},{key:"setCache",value:function(r,n,a){a.key=r,this.getCachesAt(n).set(r,a)}},{key:"set",value:function(r,n,a){var i=this.getKey(r);this.setCache(i,n,a),this.updateKeyMappingFor(r)}},{key:"deleteCache",value:function(r,n){this.getCachesAt(n).delete(r)}},{key:"delete",value:function(r,n){var a=this.getKey(r);this.deleteCache(a,n)}},{key:"invalidateKey",value:function(r){var n=this;this.lvls.forEach(function(a){return n.deleteCache(r,a)})}},{key:"invalidate",value:function(r){var n=r.id(),a=this.keyForId.get(n);this.deleteKeyMappingFor(r);var i=this.doesEleInvalidateKey(r);return i&&this.invalidateKey(a),i||this.getNumberOfIdsForKey(a)===0}}]),t}(),W1=25,nl=50,al=-4,xc=3,i3=7.99,o3=8,s3=1024,l3=1024,u3=1024,c3=.2,d3=.8,f3=10,h3=.15,p3=.1,v3=.9,g3=.9,m3=100,y3=1,ai={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},b3=xt({getKey:null,doesEleInvalidateKey:gs,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:V0,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),mo=function(e,r){var n=this;n.renderer=e,n.onDequeues=[];var a=b3(r);Se(n,a),n.lookup=new a3(a.getKey,a.doesEleInvalidateKey),n.setupDequeueing()},ht=mo.prototype;ht.reasons=ai,ht.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]},ht.getRetiredTextureQueue=function(t){var e=this,r=e.eleImgCaches.retired=e.eleImgCaches.retired||{},n=r[t]=r[t]||[];return n},ht.getElementQueue=function(){var t=this,e=t.eleCacheQueue=t.eleCacheQueue||new Xi(function(r,n){return n.reqs-r.reqs});return e},ht.getElementKeyToQueue=function(){var t=this,e=t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{};return e},ht.getElement=function(t,e,r,n,a){var i=this,o=this.renderer,l=o.cy.zoom(),c=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!i.allowEdgeTxrCaching&&t.isEdge()||!i.allowParentTxrCaching&&t.isParent())return null;if(n==null&&(n=Math.ceil(qu(l*r))),n<al)n=al;else if(l>=i3||n>xc)return null;var u=Math.pow(2,n),d=e.h*u,f=e.w*u,h=o.eleTextBiggerThanMin(t,u);if(!this.isVisible(t,h))return null;var v=c.get(t,n);if(v&&v.invalidated&&(v.invalidated=!1,v.texture.invalidatedWidth-=v.width),v)return v;var p;if(d<=W1?p=W1:d<=nl?p=nl:p=Math.ceil(d/nl)*nl,d>u3||f>l3)return null;var g=i.getTextureQueue(p),m=g[g.length-2],y=function(){return i.recycleTexture(p,f)||i.addTexture(p,f)};m||(m=g[g.length-1]),m||(m=y()),m.width-m.usedWidth<f&&(m=y());for(var b=function(P){return P&&P.scaledLabelShown===h},w=a&&a===ai.dequeue,C=a&&a===ai.highQuality,x=a&&a===ai.downscale,k,E=n+1;E<=xc;E++){var _=c.get(t,E);if(_){k=_;break}}var S=k&&k.level===n+1?k:null,T=function(){m.context.drawImage(S.texture.canvas,S.x,0,S.width,S.height,m.usedWidth,0,f,d)};if(m.context.setTransform(1,0,0,1,0,0),m.context.clearRect(m.usedWidth,0,f,p),b(S))T();else if(b(k))if(C){for(var N=k.level;N>n;N--)S=i.getElement(t,e,r,N,ai.downscale);T()}else return i.queueElement(t,k.level-1),k;else{var B;if(!w&&!C&&!x)for(var O=n-1;O>=al;O--){var D=c.get(t,O);if(D){B=D;break}}if(b(B))return i.queueElement(t,n),B;m.context.translate(m.usedWidth,0),m.context.scale(u,u),this.drawElement(m.context,t,e,h,!1),m.context.scale(1/u,1/u),m.context.translate(-m.usedWidth,0)}return v={x:m.usedWidth,texture:m,level:n,scale:u,width:f,height:d,scaledLabelShown:h},m.usedWidth+=Math.ceil(f+o3),m.eleCaches.push(v),c.set(t,n,v),i.checkTextureFullness(m),v},ht.invalidateElements=function(t){for(var e=0;e<t.length;e++)this.invalidateElement(t[e])},ht.invalidateElement=function(t){var e=this,r=e.lookup,n=[],a=r.isInvalid(t);if(a){for(var i=al;i<=xc;i++){var o=r.getForCachedKey(t,i);o&&n.push(o)}var l=r.invalidate(t);if(l)for(var c=0;c<n.length;c++){var u=n[c],d=u.texture;d.invalidatedWidth+=u.width,u.invalidated=!0,e.checkTextureUtility(d)}e.removeFromQueue(t)}},ht.checkTextureUtility=function(t){t.invalidatedWidth>=c3*t.width&&this.retireTexture(t)},ht.checkTextureFullness=function(t){var e=this,r=e.getTextureQueue(t.height);t.usedWidth/t.width>d3&&t.fullnessChecks>=f3?bn(r,t):t.fullnessChecks++},ht.retireTexture=function(t){var e=this,r=t.height,n=e.getTextureQueue(r),a=this.lookup;bn(n,t),t.retired=!0;for(var i=t.eleCaches,o=0;o<i.length;o++){var l=i[o];a.deleteCache(l.key,l.level)}$u(i);var c=e.getRetiredTextureQueue(r);c.push(t)},ht.addTexture=function(t,e){var r=this,n=r.getTextureQueue(t),a={};return n.push(a),a.eleCaches=[],a.height=t,a.width=Math.max(s3,e),a.usedWidth=0,a.invalidatedWidth=0,a.fullnessChecks=0,a.canvas=r.renderer.makeOffscreenCanvas(a.width,a.height),a.context=a.canvas.getContext("2d"),a},ht.recycleTexture=function(t,e){for(var r=this,n=r.getTextureQueue(t),a=r.getRetiredTextureQueue(t),i=0;i<a.length;i++){var o=a[i];if(o.width>=e)return o.retired=!1,o.usedWidth=0,o.invalidatedWidth=0,o.fullnessChecks=0,$u(o.eleCaches),o.context.setTransform(1,0,0,1,0,0),o.context.clearRect(0,0,o.width,o.height),bn(a,o),n.push(o),o}},ht.queueElement=function(t,e){var r=this,n=r.getElementQueue(),a=r.getElementKeyToQueue(),i=this.getKey(t),o=a[i];if(o)o.level=Math.max(o.level,e),o.eles.merge(t),o.reqs++,n.updateItem(o);else{var l={eles:t.spawn().merge(t),level:e,reqs:1,key:i};n.push(l),a[i]=l}},ht.dequeue=function(t){for(var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),a=[],i=e.lookup,o=0;o<y3&&r.size()>0;o++){var l=r.pop(),c=l.key,u=l.eles[0],d=i.hasCache(u,l.level);if(n[c]=null,d)continue;a.push(l);var f=e.getBoundingBox(u);e.getElement(u,f,t,l.level,ai.dequeue)}return a},ht.removeFromQueue=function(t){var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),a=this.getKey(t),i=n[a];i!=null&&(i.eles.length===1?(i.reqs=Mu,r.updateItem(i),r.pop(),n[a]=null):i.eles.unmerge(t))},ht.onDequeue=function(t){this.onDequeues.push(t)},ht.offDequeue=function(t){bn(this.onDequeues,t)},ht.setupDequeueing=j1.setupDequeueing({deqRedrawThreshold:m3,deqCost:h3,deqAvgCost:p3,deqNoDrawCost:v3,deqFastCost:g3,deq:function(e,r,n){return e.dequeue(r,n)},onDeqd:function(e,r){for(var n=0;n<e.onDequeues.length;n++){var a=e.onDequeues[n];a(r)}},shouldRedraw:function(e,r,n,a){for(var i=0;i<r.length;i++)for(var o=r[i].eles,l=0;l<o.length;l++){var c=o[l].boundingBox();if(zu(c,a))return!0}return!1},priority:function(e){return e.renderer.beforeRenderPriorities.eleTxrDeq}});var w3=1,yo=-4,il=2,C3=3.99,E3=50,x3=50,k3=.15,S3=.1,_3=.9,T3=.9,N3=1,Y1=250,I3=4e3*4e3,B3=!0,Z1=function(e){var r=this,n=r.renderer=e,a=n.cy;r.layersByLevel={},r.firstGet=!0,r.lastInvalidationTime=Wr()-2*Y1,r.skipping=!1,r.eleTxrDeqs=a.collection(),r.scheduleElementRefinement=hs(function(){r.refineElementTextures(r.eleTxrDeqs),r.eleTxrDeqs.unmerge(r.eleTxrDeqs)},x3),n.beforeRender(function(o,l){l-r.lastInvalidationTime<=Y1?r.skipping=!0:r.skipping=!1},n.beforeRenderPriorities.lyrTxrSkip);var i=function(l,c){return c.reqs-l.reqs};r.layersQueue=new Xi(i),r.setupDequeueing()},Tt=Z1.prototype,X1=0,D3=Math.pow(2,53)-1;Tt.makeLayer=function(t,e){var r=Math.pow(2,e),n=Math.ceil(t.w*r),a=Math.ceil(t.h*r),i=this.renderer.makeOffscreenCanvas(n,a),o={id:X1=++X1%D3,bb:t,level:e,width:n,height:a,canvas:i,context:i.getContext("2d"),eles:[],elesQueue:[],reqs:0},l=o.context,c=-o.bb.x1,u=-o.bb.y1;return l.scale(r,r),l.translate(c,u),o},Tt.getLayers=function(t,e,r){var n=this,a=n.renderer,i=a.cy,o=i.zoom(),l=n.firstGet;if(n.firstGet=!1,r==null){if(r=Math.ceil(qu(o*e)),r<yo)r=yo;else if(o>=C3||r>il)return null}n.validateLayersElesOrdering(r,t);var c=n.layersByLevel,u=Math.pow(2,r),d=c[r]=c[r]||[],f,h=n.levelIsComplete(r,t),v,p=function(){var T=function(R){if(n.validateLayersElesOrdering(R,t),n.levelIsComplete(R,t))return v=c[R],!0},N=function(R){if(!v)for(var P=r+R;yo<=P&&P<=il&&!T(P);P+=R);};N(1),N(-1);for(var B=d.length-1;B>=0;B--){var O=d[B];O.invalid&&bn(d,O)}};if(!h)p();else return d;var g=function(){if(!f){f=Kt();for(var T=0;T<t.length;T++)W0(f,t[T].boundingBox())}return f},m=function(T){T=T||{};var N=T.after;g();var B=f.w*u*(f.h*u);if(B>I3)return null;var O=n.makeLayer(f,r);if(N!=null){var D=d.indexOf(N)+1;d.splice(D,0,O)}else(T.insert===void 0||T.insert)&&d.unshift(O);return O};if(n.skipping&&!l)return null;for(var y=null,b=t.length/w3,w=!l,C=0;C<t.length;C++){var x=t[C],k=x._private.rscratch,E=k.imgLayerCaches=k.imgLayerCaches||{},_=E[r];if(_){y=_;continue}if((!y||y.eles.length>=b||!Z0(y.bb,x.boundingBox()))&&(y=m({insert:!0,after:y}),!y))return null;v||w?n.queueLayer(y,x):n.drawEleInLayer(y,x,r,e),y.eles.push(x),E[r]=y}return v||(w?null:d)},Tt.getEleLevelForLayerLevel=function(t,e){return t},Tt.drawEleInLayer=function(t,e,r,n){var a=this,i=this.renderer,o=t.context,l=e.boundingBox();l.w===0||l.h===0||!e.visible()||(r=a.getEleLevelForLayerLevel(r,n),i.setImgSmoothing(o,!1),i.drawCachedElement(o,e,null,null,r,B3),i.setImgSmoothing(o,!0))},Tt.levelIsComplete=function(t,e){var r=this,n=r.layersByLevel[t];if(!n||n.length===0)return!1;for(var a=0,i=0;i<n.length;i++){var o=n[i];if(o.reqs>0||o.invalid)return!1;a+=o.eles.length}return a===e.length},Tt.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var n=0;n<r.length;n++){for(var a=r[n],i=-1,o=0;o<e.length;o++)if(a.eles[0]===e[o]){i=o;break}if(i<0){this.invalidateLayer(a);continue}for(var l=i,o=0;o<a.eles.length;o++)if(a.eles[o]!==e[l+o]){this.invalidateLayer(a);break}}},Tt.updateElementsInLayers=function(t,e){for(var r=this,n=zi(t[0]),a=0;a<t.length;a++)for(var i=n?null:t[a],o=n?t[a]:t[a].ele,l=o._private.rscratch,c=l.imgLayerCaches=l.imgLayerCaches||{},u=yo;u<=il;u++){var d=c[u];d&&(i&&r.getEleLevelForLayerLevel(d.level)!==i.level||e(d,o,i))}},Tt.haveLayers=function(){for(var t=this,e=!1,r=yo;r<=il;r++){var n=t.layersByLevel[r];if(n&&n.length>0){e=!0;break}}return e},Tt.invalidateElements=function(t){var e=this;t.length!==0&&(e.lastInvalidationTime=Wr(),!(t.length===0||!e.haveLayers())&&e.updateElementsInLayers(t,function(n,a,i){e.invalidateLayer(n)}))},Tt.invalidateLayer=function(t){if(this.lastInvalidationTime=Wr(),!t.invalid){var e=t.level,r=t.eles,n=this.layersByLevel[e];bn(n,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var a=0;a<r.length;a++){var i=r[a]._private.rscratch.imgLayerCaches;i&&(i[e]=null)}}},Tt.refineElementTextures=function(t){var e=this;e.updateElementsInLayers(t,function(n,a,i){var o=n.replacement;if(o||(o=n.replacement=e.makeLayer(n.bb,n.level),o.replaces=n,o.eles=n.eles),!o.reqs)for(var l=0;l<o.eles.length;l++)e.queueLayer(o,o.eles[l])})},Tt.enqueueElementRefinement=function(t){this.eleTxrDeqs.merge(t),this.scheduleElementRefinement()},Tt.queueLayer=function(t,e){var r=this,n=r.layersQueue,a=t.elesQueue,i=a.hasId=a.hasId||{};if(!t.replacement){if(e){if(i[e.id()])return;a.push(e),i[e.id()]=!0}t.reqs?(t.reqs++,n.updateItem(t)):(t.reqs=1,n.push(t))}},Tt.dequeue=function(t){for(var e=this,r=e.layersQueue,n=[],a=0;a<N3&&r.size()!==0;){var i=r.peek();if(i.replacement){r.pop();continue}if(i.replaces&&i!==i.replaces.replacement){r.pop();continue}if(i.invalid){r.pop();continue}var o=i.elesQueue.shift();o&&(e.drawEleInLayer(i,o,i.level,t),a++),n.length===0&&n.push(!0),i.elesQueue.length===0&&(r.pop(),i.reqs=0,i.replaces&&e.applyLayerReplacement(i),e.requestRedraw())}return n},Tt.applyLayerReplacement=function(t){var e=this,r=e.layersByLevel[t.level],n=t.replaces,a=r.indexOf(n);if(!(a<0||n.invalid)){r[a]=t;for(var i=0;i<t.eles.length;i++){var o=t.eles[i]._private,l=o.imgLayerCaches=o.imgLayerCaches||{};l&&(l[t.level]=t)}e.requestRedraw()}},Tt.requestRedraw=hs(function(){var t=this.renderer;t.redrawHint("eles",!0),t.redrawHint("drag",!0),t.redraw()},100),Tt.setupDequeueing=j1.setupDequeueing({deqRedrawThreshold:E3,deqCost:k3,deqAvgCost:S3,deqNoDrawCost:_3,deqFastCost:T3,deq:function(e,r){return e.dequeue(r)},onDeqd:Fu,shouldRedraw:V0,priority:function(e){return e.renderer.beforeRenderPriorities.lyrTxrDeq}});var J1={},Q1;function O3(t,e){for(var r=0;r<e.length;r++){var n=e[r];t.lineTo(n.x,n.y)}}function P3(t,e,r){for(var n,a=0;a<e.length;a++){var i=e[a];a===0&&(n=i),t.lineTo(i.x,i.y)}t.quadraticCurveTo(r.x,r.y,n.x,n.y)}function ew(t,e,r){t.beginPath&&t.beginPath();for(var n=e,a=0;a<n.length;a++){var i=n[a];t.lineTo(i.x,i.y)}var o=r,l=r[0];t.moveTo(l.x,l.y);for(var a=1;a<o.length;a++){var i=o[a];t.lineTo(i.x,i.y)}t.closePath&&t.closePath()}function A3(t,e,r,n,a){t.beginPath&&t.beginPath(),t.arc(r,n,a,0,Math.PI*2,!1);var i=e,o=i[0];t.moveTo(o.x,o.y);for(var l=0;l<i.length;l++){var c=i[l];t.lineTo(c.x,c.y)}t.closePath&&t.closePath()}function R3(t,e,r,n){t.arc(e,r,n,0,Math.PI*2,!1)}J1.arrowShapeImpl=function(t){return(Q1||(Q1={polygon:O3,"triangle-backcurve":P3,"triangle-tee":ew,"circle-triangle":A3,"triangle-cross":ew,circle:R3}))[t]};var Ar={};Ar.drawElement=function(t,e,r,n,a,i){var o=this;e.isNode()?o.drawNode(t,e,r,n,a,i):o.drawEdge(t,e,r,n,a,i)},Ar.drawElementOverlay=function(t,e){var r=this;e.isNode()?r.drawNodeOverlay(t,e):r.drawEdgeOverlay(t,e)},Ar.drawElementUnderlay=function(t,e){var r=this;e.isNode()?r.drawNodeUnderlay(t,e):r.drawEdgeUnderlay(t,e)},Ar.drawCachedElementPortion=function(t,e,r,n,a,i,o,l){var c=this,u=r.getBoundingBox(e);if(!(u.w===0||u.h===0)){var d=r.getElement(e,u,n,a,i);if(d!=null){var f=l(c,e);if(f===0)return;var h=o(c,e),v=u.x1,p=u.y1,g=u.w,m=u.h,y,b,w,C,x;if(h!==0){var k=r.getRotationPoint(e);w=k.x,C=k.y,t.translate(w,C),t.rotate(h),x=c.getImgSmoothing(t),x||c.setImgSmoothing(t,!0);var E=r.getRotationOffset(e);y=E.x,b=E.y}else y=v,b=p;var _;f!==1&&(_=t.globalAlpha,t.globalAlpha=_*f),t.drawImage(d.texture.canvas,d.x,0,d.width,d.height,y,b,g,m),f!==1&&(t.globalAlpha=_),h!==0&&(t.rotate(-h),t.translate(-w,-C),x||c.setImgSmoothing(t,!1))}else r.drawElement(t,e)}};var L3=function(){return 0},M3=function(e,r){return e.getTextAngle(r,null)},F3=function(e,r){return e.getTextAngle(r,"source")},$3=function(e,r){return e.getTextAngle(r,"target")},V3=function(e,r){return r.effectiveOpacity()},kc=function(e,r){return r.pstyle("text-opacity").pfValue*r.effectiveOpacity()};Ar.drawCachedElement=function(t,e,r,n,a,i){var o=this,l=o.data,c=l.eleTxrCache,u=l.lblTxrCache,d=l.slbTxrCache,f=l.tlbTxrCache,h=e.boundingBox(),v=i===!0?c.reasons.highQuality:null;if(!(h.w===0||h.h===0||!e.visible())&&(!n||zu(h,n))){var p=e.isEdge(),g=e.element()._private.rscratch.badLine;o.drawElementUnderlay(t,e),o.drawCachedElementPortion(t,e,c,r,a,v,L3,V3),(!p||!g)&&o.drawCachedElementPortion(t,e,u,r,a,v,M3,kc),p&&!g&&(o.drawCachedElementPortion(t,e,d,r,a,v,F3,kc),o.drawCachedElementPortion(t,e,f,r,a,v,$3,kc)),o.drawElementOverlay(t,e)}},Ar.drawElements=function(t,e){for(var r=this,n=0;n<e.length;n++){var a=e[n];r.drawElement(t,a)}},Ar.drawCachedElements=function(t,e,r,n){for(var a=this,i=0;i<e.length;i++){var o=e[i];a.drawCachedElement(t,o,r,n)}},Ar.drawCachedNodes=function(t,e,r,n){for(var a=this,i=0;i<e.length;i++){var o=e[i];o.isNode()&&a.drawCachedElement(t,o,r,n)}},Ar.drawLayeredElements=function(t,e,r,n){var a=this,i=a.data.lyrTxrCache.getLayers(e,r);if(i)for(var o=0;o<i.length;o++){var l=i[o],c=l.bb;c.w===0||c.h===0||t.drawImage(l.canvas,c.x1,c.y1,c.w,c.h)}else a.drawCachedElements(t,e,r,n)};var Qr={};Qr.drawEdge=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,o=this,l=e._private.rscratch;if(!(i&&!e.visible())&&!(l.badLine||l.allpts==null||isNaN(l.allpts[0]))){var c;r&&(c=r,t.translate(-c.x1,-c.y1));var u=i?e.pstyle("opacity").value:1,d=i?e.pstyle("line-opacity").value:1,f=e.pstyle("curve-style").value,h=e.pstyle("line-style").value,v=e.pstyle("width").pfValue,p=e.pstyle("line-cap").value,g=e.pstyle("line-outline-width").value,m=e.pstyle("line-outline-color").value,y=u*d,b=u*d,w=function(){var R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:y;f==="straight-triangle"?(o.eleStrokeStyle(t,e,R),o.drawEdgeTrianglePath(e,t,l.allpts)):(t.lineWidth=v,t.lineCap=p,o.eleStrokeStyle(t,e,R),o.drawEdgePath(e,t,l.allpts,h),t.lineCap="butt")},C=function(){var R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:y;if(t.lineWidth=v+g,t.lineCap=p,g>0)o.colorStrokeStyle(t,m[0],m[1],m[2],R);else{t.lineCap="butt";return}f==="straight-triangle"?o.drawEdgeTrianglePath(e,t,l.allpts):(o.drawEdgePath(e,t,l.allpts,h),t.lineCap="butt")},x=function(){a&&o.drawEdgeOverlay(t,e)},k=function(){a&&o.drawEdgeUnderlay(t,e)},E=function(){var R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:b;o.drawArrowheads(t,e,R)},_=function(){o.drawElementText(t,e,null,n)};t.lineJoin="round";var S=e.pstyle("ghost").value==="yes";if(S){var T=e.pstyle("ghost-offset-x").pfValue,N=e.pstyle("ghost-offset-y").pfValue,B=e.pstyle("ghost-opacity").value,O=y*B;t.translate(T,N),w(O),E(O),t.translate(-T,-N)}else C();k(),w(),E(),x(),_(),r&&t.translate(c.x1,c.y1)}};var tw=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,n){if(n.visible()){var a=n.pstyle("".concat(e,"-opacity")).value;if(a!==0){var i=this,o=i.usePaths(),l=n._private.rscratch,c=n.pstyle("".concat(e,"-padding")).pfValue,u=2*c,d=n.pstyle("".concat(e,"-color")).value;r.lineWidth=u,l.edgeType==="self"&&!o?r.lineCap="butt":r.lineCap="round",i.colorStrokeStyle(r,d[0],d[1],d[2],a),i.drawEdgePath(n,r,l.allpts,"solid")}}}};Qr.drawEdgeOverlay=tw("overlay"),Qr.drawEdgeUnderlay=tw("underlay"),Qr.drawEdgePath=function(t,e,r,n){var a=t._private.rscratch,i=e,o,l=!1,c=this.usePaths(),u=t.pstyle("line-dash-pattern").pfValue,d=t.pstyle("line-dash-offset").pfValue;if(c){var f=r.join("$"),h=a.pathCacheKey&&a.pathCacheKey===f;h?(o=e=a.pathCache,l=!0):(o=e=new Path2D,a.pathCacheKey=f,a.pathCache=o)}if(i.setLineDash)switch(n){case"dotted":i.setLineDash([1,1]);break;case"dashed":i.setLineDash(u),i.lineDashOffset=d;break;case"solid":i.setLineDash([]);break}if(!l&&!a.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(r[0],r[1]),a.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var v=2;v+3<r.length;v+=4)e.quadraticCurveTo(r[v],r[v+1],r[v+2],r[v+3]);break;case"straight":case"haystack":for(var p=2;p+1<r.length;p+=2)e.lineTo(r[p],r[p+1]);break;case"segments":if(a.isRound){var g=w0(a.roundCorners),m;try{for(g.s();!(m=g.n()).done;){var y=m.value;L1(e,y)}}catch(w){g.e(w)}finally{g.f()}e.lineTo(r[r.length-2],r[r.length-1])}else for(var b=2;b+1<r.length;b+=2)e.lineTo(r[b],r[b+1]);break}e=i,c?e.stroke(o):e.stroke(),e.setLineDash&&e.setLineDash([])},Qr.drawEdgeTrianglePath=function(t,e,r){e.fillStyle=e.strokeStyle;for(var n=t.pstyle("width").pfValue,a=0;a+1<r.length;a+=2){var i=[r[a+2]-r[a],r[a+3]-r[a+1]],o=Math.sqrt(i[0]*i[0]+i[1]*i[1]),l=[i[1]/o,-i[0]/o],c=[l[0]*n/2,l[1]*n/2];e.beginPath(),e.moveTo(r[a]-c[0],r[a+1]-c[1]),e.lineTo(r[a]+c[0],r[a+1]+c[1]),e.lineTo(r[a+2],r[a+3]),e.closePath(),e.fill()}},Qr.drawArrowheads=function(t,e,r){var n=e._private.rscratch,a=n.edgeType==="haystack";a||this.drawArrowhead(t,e,"source",n.arrowStartX,n.arrowStartY,n.srcArrowAngle,r),this.drawArrowhead(t,e,"mid-target",n.midX,n.midY,n.midtgtArrowAngle,r),this.drawArrowhead(t,e,"mid-source",n.midX,n.midY,n.midsrcArrowAngle,r),a||this.drawArrowhead(t,e,"target",n.arrowEndX,n.arrowEndY,n.tgtArrowAngle,r)},Qr.drawArrowhead=function(t,e,r,n,a,i,o){if(!(isNaN(n)||n==null||isNaN(a)||a==null||isNaN(i)||i==null)){var l=this,c=e.pstyle(r+"-arrow-shape").value;if(c!=="none"){var u=e.pstyle(r+"-arrow-fill").value==="hollow"?"both":"filled",d=e.pstyle(r+"-arrow-fill").value,f=e.pstyle("width").pfValue,h=e.pstyle(r+"-arrow-width"),v=h.value==="match-line"?f:h.pfValue;h.units==="%"&&(v*=f);var p=e.pstyle("opacity").value;o===void 0&&(o=p);var g=t.globalCompositeOperation;(o!==1||d==="hollow")&&(t.globalCompositeOperation="destination-out",l.colorFillStyle(t,255,255,255,1),l.colorStrokeStyle(t,255,255,255,1),l.drawArrowShape(e,t,u,f,c,v,n,a,i),t.globalCompositeOperation=g);var m=e.pstyle(r+"-arrow-color").value;l.colorFillStyle(t,m[0],m[1],m[2],o),l.colorStrokeStyle(t,m[0],m[1],m[2],o),l.drawArrowShape(e,t,d,f,c,v,n,a,i)}}},Qr.drawArrowShape=function(t,e,r,n,a,i,o,l,c){var u=this,d=this.usePaths()&&a!=="triangle-cross",f=!1,h,v=e,p={x:o,y:l},g=t.pstyle("arrow-scale").value,m=this.getArrowWidth(n,g),y=u.arrowShapes[a];if(d){var b=u.arrowPathCache=u.arrowPathCache||[],w=Xn(a),C=b[w];C!=null?(h=e=C,f=!0):(h=e=new Path2D,b[w]=h)}f||(e.beginPath&&e.beginPath(),d?y.draw(e,1,0,{x:0,y:0},1):y.draw(e,m,c,p,n),e.closePath&&e.closePath()),e=v,d&&(e.translate(o,l),e.rotate(c),e.scale(m,m)),(r==="filled"||r==="both")&&(d?e.fill(h):e.fill()),(r==="hollow"||r==="both")&&(e.lineWidth=i/(d?m:1),e.lineJoin="miter",d?e.stroke(h):e.stroke()),d&&(e.scale(1/m,1/m),e.rotate(-c),e.translate(-o,-l))};var Sc={};Sc.safeDrawImage=function(t,e,r,n,a,i,o,l,c,u){if(!(a<=0||i<=0||c<=0||u<=0))try{t.drawImage(e,r,n,a,i,o,l,c,u)}catch(d){$e(d)}},Sc.drawInscribedImage=function(t,e,r,n,a){var i=this,o=r.position(),l=o.x,c=o.y,u=r.cy().style(),d=u.getIndexedStyle.bind(u),f=d(r,"background-fit","value",n),h=d(r,"background-repeat","value",n),v=r.width(),p=r.height(),g=r.padding()*2,m=v+(d(r,"background-width-relative-to","value",n)==="inner"?0:g),y=p+(d(r,"background-height-relative-to","value",n)==="inner"?0:g),b=r._private.rscratch,w=d(r,"background-clip","value",n),C=w==="node",x=d(r,"background-image-opacity","value",n)*a,k=d(r,"background-image-smoothing","value",n),E=r.pstyle("corner-radius").value;E!=="auto"&&(E=r.pstyle("corner-radius").pfValue);var _=e.width||e.cachedW,S=e.height||e.cachedH;(_==null||S==null)&&(document.body.appendChild(e),_=e.cachedW=e.width||e.offsetWidth,S=e.cachedH=e.height||e.offsetHeight,document.body.removeChild(e));var T=_,N=S;if(d(r,"background-width","value",n)!=="auto"&&(d(r,"background-width","units",n)==="%"?T=d(r,"background-width","pfValue",n)*m:T=d(r,"background-width","pfValue",n)),d(r,"background-height","value",n)!=="auto"&&(d(r,"background-height","units",n)==="%"?N=d(r,"background-height","pfValue",n)*y:N=d(r,"background-height","pfValue",n)),!(T===0||N===0)){if(f==="contain"){var B=Math.min(m/T,y/N);T*=B,N*=B}else if(f==="cover"){var B=Math.max(m/T,y/N);T*=B,N*=B}var O=l-m/2,D=d(r,"background-position-x","units",n),R=d(r,"background-position-x","pfValue",n);D==="%"?O+=(m-T)*R:O+=R;var P=d(r,"background-offset-x","units",n),L=d(r,"background-offset-x","pfValue",n);P==="%"?O+=(m-T)*L:O+=L;var A=c-y/2,q=d(r,"background-position-y","units",n),U=d(r,"background-position-y","pfValue",n);q==="%"?A+=(y-N)*U:A+=U;var z=d(r,"background-offset-y","units",n),H=d(r,"background-offset-y","pfValue",n);z==="%"?A+=(y-N)*H:A+=H,b.pathCache&&(O-=l,A-=c,l=0,c=0);var Q=t.globalAlpha;t.globalAlpha=x;var F=i.getImgSmoothing(t),$=!1;if(k==="no"&&F?(i.setImgSmoothing(t,!1),$=!0):k==="yes"&&!F&&(i.setImgSmoothing(t,!0),$=!0),h==="no-repeat")C&&(t.save(),b.pathCache?t.clip(b.pathCache):(i.nodeShapes[i.getNodeShape(r)].draw(t,l,c,m,y,E,b),t.clip())),i.safeDrawImage(t,e,0,0,_,S,O,A,T,N),C&&t.restore();else{var V=t.createPattern(e,h);t.fillStyle=V,i.nodeShapes[i.getNodeShape(r)].draw(t,l,c,m,y,E,b),t.translate(O,A),t.fill(),t.translate(-O,-A)}t.globalAlpha=Q,$&&i.setImgSmoothing(t,F)}};var ua={};ua.eleTextBiggerThanMin=function(t,e){if(!e){var r=t.cy().zoom(),n=this.getPixelRatio(),a=Math.ceil(qu(r*n));e=Math.pow(2,a)}var i=t.pstyle("font-size").pfValue*e,o=t.pstyle("min-zoomed-font-size").pfValue;return!(i<o)},ua.drawElementText=function(t,e,r,n,a){var i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,o=this;if(n==null){if(i&&!o.eleTextBiggerThanMin(e))return}else if(n===!1)return;if(e.isNode()){var l=e.pstyle("label");if(!l||!l.value)return;var c=o.getLabelJustification(e);t.textAlign=c,t.textBaseline="bottom"}else{var u=e.element()._private.rscratch.badLine,d=e.pstyle("label"),f=e.pstyle("source-label"),h=e.pstyle("target-label");if(u||(!d||!d.value)&&(!f||!f.value)&&(!h||!h.value))return;t.textAlign="center",t.textBaseline="bottom"}var v=!r,p;r&&(p=r,t.translate(-p.x1,-p.y1)),a==null?(o.drawText(t,e,null,v,i),e.isEdge()&&(o.drawText(t,e,"source",v,i),o.drawText(t,e,"target",v,i))):o.drawText(t,e,a,v,i),r&&t.translate(p.x1,p.y1)},ua.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r<this.fontCaches.length;r++)if(e=this.fontCaches[r],e.context===t)return e;return e={context:t},this.fontCaches.push(e),e},ua.setupTextStyle=function(t,e){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,n=e.pstyle("font-style").strValue,a=e.pstyle("font-size").pfValue+"px",i=e.pstyle("font-family").strValue,o=e.pstyle("font-weight").strValue,l=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,c=e.pstyle("text-outline-opacity").value*l,u=e.pstyle("color").value,d=e.pstyle("text-outline-color").value;t.font=n+" "+o+" "+a+" "+i,t.lineJoin="round",this.colorFillStyle(t,u[0],u[1],u[2],l),this.colorStrokeStyle(t,d[0],d[1],d[2],c)};function _c(t,e,r,n,a){var i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,o=arguments.length>6?arguments[6]:void 0;t.beginPath(),t.moveTo(e+i,r),t.lineTo(e+n-i,r),t.quadraticCurveTo(e+n,r,e+n,r+i),t.lineTo(e+n,r+a-i),t.quadraticCurveTo(e+n,r+a,e+n-i,r+a),t.lineTo(e+i,r+a),t.quadraticCurveTo(e,r+a,e,r+a-i),t.lineTo(e,r+i),t.quadraticCurveTo(e,r,e+i,r),t.closePath(),o?t.stroke():t.fill()}ua.getTextAngle=function(t,e){var r,n=t._private,a=n.rscratch,i=e?e+"-":"",o=t.pstyle(i+"text-rotation"),l=gr(a,"labelAngle",e);return o.strValue==="autorotate"?r=t.isEdge()?l:0:o.strValue==="none"?r=0:r=o.pfValue,r},ua.drawText=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=e._private,o=i.rscratch,l=a?e.effectiveOpacity():1;if(!(a&&(l===0||e.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var c=gr(o,"labelX",r),u=gr(o,"labelY",r),d,f,h=this.getLabelText(e,r);if(h!=null&&h!==""&&!isNaN(c)&&!isNaN(u)){this.setupTextStyle(t,e,a);var v=r?r+"-":"",p=gr(o,"labelWidth",r),g=gr(o,"labelHeight",r),m=e.pstyle(v+"text-margin-x").pfValue,y=e.pstyle(v+"text-margin-y").pfValue,b=e.isEdge(),w=e.pstyle("text-halign").value,C=e.pstyle("text-valign").value;b&&(w="center",C="center"),c+=m,u+=y;var x;switch(n?x=this.getTextAngle(e,r):x=0,x!==0&&(d=c,f=u,t.translate(d,f),t.rotate(x),c=0,u=0),C){case"top":break;case"center":u+=g/2;break;case"bottom":u+=g;break}var k=e.pstyle("text-background-opacity").value,E=e.pstyle("text-border-opacity").value,_=e.pstyle("text-border-width").pfValue,S=e.pstyle("text-background-padding").pfValue,T=e.pstyle("text-background-shape").strValue,N=T.indexOf("round")===0,B=2;if(k>0||_>0&&E>0){var O=c-S;switch(w){case"left":O-=p;break;case"center":O-=p/2;break}var D=u-g-S,R=p+2*S,P=g+2*S;if(k>0){var L=t.fillStyle,A=e.pstyle("text-background-color").value;t.fillStyle="rgba("+A[0]+","+A[1]+","+A[2]+","+k*l+")",N?_c(t,O,D,R,P,B):t.fillRect(O,D,R,P),t.fillStyle=L}if(_>0&&E>0){var q=t.strokeStyle,U=t.lineWidth,z=e.pstyle("text-border-color").value,H=e.pstyle("text-border-style").value;if(t.strokeStyle="rgba("+z[0]+","+z[1]+","+z[2]+","+E*l+")",t.lineWidth=_,t.setLineDash)switch(H){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=_/4,t.setLineDash([]);break;case"solid":t.setLineDash([]);break}if(N?_c(t,O,D,R,P,B,"stroke"):t.strokeRect(O,D,R,P),H==="double"){var Q=_/2;N?_c(t,O+Q,D+Q,R-Q*2,P-Q*2,B,"stroke"):t.strokeRect(O+Q,D+Q,R-Q*2,P-Q*2)}t.setLineDash&&t.setLineDash([]),t.lineWidth=U,t.strokeStyle=q}}var F=2*e.pstyle("text-outline-width").pfValue;if(F>0&&(t.lineWidth=F),e.pstyle("text-wrap").value==="wrap"){var $=gr(o,"labelWrapCachedLines",r),V=gr(o,"labelLineHeight",r),G=p/2,j=this.getLabelJustification(e);switch(j==="auto"||(w==="left"?j==="left"?c+=-p:j==="center"&&(c+=-G):w==="center"?j==="left"?c+=-G:j==="right"&&(c+=G):w==="right"&&(j==="center"?c+=G:j==="right"&&(c+=p))),C){case"top":u-=($.length-1)*V;break;case"center":case"bottom":u-=($.length-1)*V;break}for(var M=0;M<$.length;M++)F>0&&t.strokeText($[M],c,u),t.fillText($[M],c,u),u+=V}else F>0&&t.strokeText(h,c,u),t.fillText(h,c,u);x!==0&&(t.rotate(-x),t.translate(-d,-f))}}};var ii={};ii.drawNode=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,o=this,l,c,u=e._private,d=u.rscratch,f=e.position();if(!(!de(f.x)||!de(f.y))&&!(i&&!e.visible())){var h=i?e.effectiveOpacity():1,v=o.usePaths(),p,g=!1,m=e.padding();l=e.width()+2*m,c=e.height()+2*m;var y;r&&(y=r,t.translate(-y.x1,-y.y1));for(var b=e.pstyle("background-image"),w=b.value,C=new Array(w.length),x=new Array(w.length),k=0,E=0;E<w.length;E++){var _=w[E],S=C[E]=_!=null&&_!=="none";if(S){var T=e.cy().style().getIndexedStyle(e,"background-image-crossorigin","value",E);k++,x[E]=o.getCachedImage(_,T,function(){u.backgroundTimestamp=Date.now(),e.emitAndNotify("background")})}}var N=e.pstyle("background-blacken").value,B=e.pstyle("border-width").pfValue,O=e.pstyle("background-opacity").value*h,D=e.pstyle("border-color").value,R=e.pstyle("border-style").value,P=e.pstyle("border-join").value,L=e.pstyle("border-cap").value,A=e.pstyle("border-position").value,q=e.pstyle("border-dash-pattern").pfValue,U=e.pstyle("border-dash-offset").pfValue,z=e.pstyle("border-opacity").value*h,H=e.pstyle("outline-width").pfValue,Q=e.pstyle("outline-color").value,F=e.pstyle("outline-style").value,$=e.pstyle("outline-opacity").value*h,V=e.pstyle("outline-offset").value,G=e.pstyle("corner-radius").value;G!=="auto"&&(G=e.pstyle("corner-radius").pfValue);var j=function(){var le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:O;o.eleFillStyle(t,e,le)},M=function(){var le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:z;o.colorStrokeStyle(t,D[0],D[1],D[2],le)},W=function(){var le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:$;o.colorStrokeStyle(t,Q[0],Q[1],Q[2],le)},Y=function(le,ee,oe,me){var be=o.nodePathCache=o.nodePathCache||[],ye=F0(oe==="polygon"?oe+","+me.join(","):oe,""+ee,""+le,""+G),_e=be[ye],ge,Ce=!1;return _e!=null?(ge=_e,Ce=!0,d.pathCache=ge):(ge=new Path2D,be[ye]=d.pathCache=ge),{path:ge,cacheHit:Ce}},se=e.pstyle("shape").strValue,ce=e.pstyle("shape-polygon-points").pfValue;if(v){t.translate(f.x,f.y);var ae=Y(l,c,se,ce);p=ae.path,g=ae.cacheHit}var ne=function(){if(!g){var le=f;v&&(le={x:0,y:0}),o.nodeShapes[o.getNodeShape(e)].draw(p||t,le.x,le.y,l,c,G,d)}v?t.fill(p):t.fill()},ue=function(){for(var le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:h,ee=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,oe=u.backgrounding,me=0,be=0;be<x.length;be++){var ye=e.cy().style().getIndexedStyle(e,"background-image-containment","value",be);if(ee&&ye==="over"||!ee&&ye==="inside"){me++;continue}C[be]&&x[be].complete&&!x[be].error&&(me++,o.drawInscribedImage(t,x[be],e,be,le))}u.backgrounding=me!==k,oe!==u.backgrounding&&e.updateStyle(!1)},ie=function(){var le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,ee=arguments.length>1&&arguments[1]!==void 0?arguments[1]:h;o.hasPie(e)&&(o.drawPie(t,e,ee),le&&(v||o.nodeShapes[o.getNodeShape(e)].draw(t,f.x,f.y,l,c,G,d)))},fe=function(){var le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:h,ee=(N>0?N:-N)*le,oe=N>0?0:255;N!==0&&(o.colorFillStyle(t,oe,oe,oe,ee),v?t.fill(p):t.fill())},pe=function(){if(B>0){if(t.lineWidth=B,t.lineCap=L,t.lineJoin=P,t.setLineDash)switch(R){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(q),t.lineDashOffset=U;break;case"solid":case"double":t.setLineDash([]);break}if(A!=="center"){if(t.save(),t.lineWidth*=2,A==="inside")v?t.clip(p):t.clip();else{var le=new Path2D;le.rect(-l/2-B,-c/2-B,l+2*B,c+2*B),le.addPath(p),t.clip(le,"evenodd")}v?t.stroke(p):t.stroke(),t.restore()}else v?t.stroke(p):t.stroke();if(R==="double"){t.lineWidth=B/3;var ee=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",v?t.stroke(p):t.stroke(),t.globalCompositeOperation=ee}t.setLineDash&&t.setLineDash([])}},De=function(){if(H>0){if(t.lineWidth=H,t.lineCap="butt",t.setLineDash)switch(F){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}var le=f;v&&(le={x:0,y:0});var ee=o.getNodeShape(e),oe=B;A==="inside"&&(oe=0),A==="outside"&&(oe*=2);var me=(l+oe+(H+V))/l,be=(c+oe+(H+V))/c,ye=l*me,_e=c*be,ge=o.nodeShapes[ee].points,Ce;if(v){var je=Y(ye,_e,ee,ge);Ce=je.path}if(ee==="ellipse")o.drawEllipsePath(Ce||t,le.x,le.y,ye,_e);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(ee)){var qe=0,it=0,ot=0;ee==="round-diamond"?qe=(oe+V+H)*1.4:ee==="round-heptagon"?(qe=(oe+V+H)*1.075,ot=-(oe/2+V+H)/35):ee==="round-hexagon"?qe=(oe+V+H)*1.12:ee==="round-pentagon"?(qe=(oe+V+H)*1.13,ot=-(oe/2+V+H)/15):ee==="round-tag"?(qe=(oe+V+H)*1.12,it=(oe/2+H+V)*.07):ee==="round-triangle"&&(qe=(oe+V+H)*(Math.PI/2),ot=-(oe+V/2+H)/Math.PI),qe!==0&&(me=(l+qe)/l,ye=l*me,["round-hexagon","round-tag"].includes(ee)||(be=(c+qe)/c,_e=c*be)),G=G==="auto"?Q0(ye,_e):G;for(var et=ye/2,At=_e/2,pt=G+(oe+H+V)/2,mt=new Array(ge.length/2),Jt=new Array(ge.length/2),Rt=0;Rt<ge.length/2;Rt++)mt[Rt]={x:le.x+it+et*ge[Rt*2],y:le.y+ot+At*ge[Rt*2+1]};var Lt,lr,Cr,jt,tt=mt.length;for(lr=mt[tt-1],Lt=0;Lt<tt;Lt++)Cr=mt[Lt%tt],jt=mt[(Lt+1)%tt],Jt[Lt]=wc(lr,Cr,jt,pt),lr=Cr,Cr=jt;o.drawRoundPolygonPath(Ce||t,le.x+it,le.y+ot,l*me,c*be,ge,Jt)}else if(["roundrectangle","round-rectangle"].includes(ee))G=G==="auto"?ta(ye,_e):G,o.drawRoundRectanglePath(Ce||t,le.x,le.y,ye,_e,G+(oe+H+V)/2);else if(["cutrectangle","cut-rectangle"].includes(ee))G=G==="auto"?Gu():G,o.drawCutRectanglePath(Ce||t,le.x,le.y,ye,_e,null,G+(oe+H+V)/4);else if(["bottomroundrectangle","bottom-round-rectangle"].includes(ee))G=G==="auto"?ta(ye,_e):G,o.drawBottomRoundRectanglePath(Ce||t,le.x,le.y,ye,_e,G+(oe+H+V)/2);else if(ee==="barrel")o.drawBarrelPath(Ce||t,le.x,le.y,ye,_e);else if(ee.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(ee)){var st=(oe+H+V)/l;ge=Es(xs(ge,st)),o.drawPolygonPath(Ce||t,le.x,le.y,l,c,ge)}else{var yt=(oe+H+V)/l;ge=Es(xs(ge,-yt)),o.drawPolygonPath(Ce||t,le.x,le.y,l,c,ge)}if(v?t.stroke(Ce):t.stroke(),F==="double"){t.lineWidth=oe/3;var Pn=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",v?t.stroke(Ce):t.stroke(),t.globalCompositeOperation=Pn}t.setLineDash&&t.setLineDash([])}},Ie=function(){a&&o.drawNodeOverlay(t,e,f,l,c)},we=function(){a&&o.drawNodeUnderlay(t,e,f,l,c)},xe=function(){o.drawElementText(t,e,null,n)},re=e.pstyle("ghost").value==="yes";if(re){var I=e.pstyle("ghost-offset-x").pfValue,K=e.pstyle("ghost-offset-y").pfValue,te=e.pstyle("ghost-opacity").value,Z=te*h;t.translate(I,K),W(),De(),j(te*O),ne(),ue(Z,!0),M(te*z),pe(),ie(N!==0||B!==0),ue(Z,!1),fe(Z),t.translate(-I,-K)}v&&t.translate(-f.x,-f.y),we(),v&&t.translate(f.x,f.y),W(),De(),j(),ne(),ue(h,!0),M(),pe(),ie(N!==0||B!==0),ue(h,!1),fe(),v&&t.translate(-f.x,-f.y),xe(),Ie(),r&&t.translate(y.x1,y.y1)}};var rw=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,n,a,i,o){var l=this;if(n.visible()){var c=n.pstyle("".concat(e,"-padding")).pfValue,u=n.pstyle("".concat(e,"-opacity")).value,d=n.pstyle("".concat(e,"-color")).value,f=n.pstyle("".concat(e,"-shape")).value,h=n.pstyle("".concat(e,"-corner-radius")).value;if(u>0){if(a=a||n.position(),i==null||o==null){var v=n.padding();i=n.width()+2*v,o=n.height()+2*v}l.colorFillStyle(r,d[0],d[1],d[2],u),l.nodeShapes[f].draw(r,a.x,a.y,i+c*2,o+c*2,h),r.fill()}}}};ii.drawNodeOverlay=rw("overlay"),ii.drawNodeUnderlay=rw("underlay"),ii.hasPie=function(t){return t=t[0],t._private.hasPie},ii.drawPie=function(t,e,r,n){e=e[0],n=n||e.position();var a=e.cy().style(),i=e.pstyle("pie-size"),o=n.x,l=n.y,c=e.width(),u=e.height(),d=Math.min(c,u)/2,f=0,h=this.usePaths();h&&(o=0,l=0),i.units==="%"?d=d*i.pfValue:i.pfValue!==void 0&&(d=i.pfValue/2);for(var v=1;v<=a.pieBackgroundN;v++){var p=e.pstyle("pie-"+v+"-background-size").value,g=e.pstyle("pie-"+v+"-background-color").value,m=e.pstyle("pie-"+v+"-background-opacity").value*r,y=p/100;y+f>1&&(y=1-f);var b=1.5*Math.PI+2*Math.PI*f,w=2*Math.PI*y,C=b+w;p===0||f>=1||f+y>1||(t.beginPath(),t.moveTo(o,l),t.arc(o,l,d,b,C),t.closePath(),this.colorFillStyle(t,g[0],g[1],g[2],m),t.fill(),f+=y)}};var Xt={},q3=100;Xt.getPixelRatio=function(){var t=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=this.cy.window(),r=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(e.devicePixelRatio||1)/r},Xt.paintCache=function(t){for(var e=this.paintCaches=this.paintCaches||[],r=!0,n,a=0;a<e.length;a++)if(n=e[a],n.context===t){r=!1;break}return r&&(n={context:t},e.push(n)),n},Xt.createGradientStyleFor=function(t,e,r,n,a){var i,o=this.usePaths(),l=r.pstyle(e+"-gradient-stop-colors").value,c=r.pstyle(e+"-gradient-stop-positions").pfValue;if(n==="radial-gradient")if(r.isEdge()){var u=r.sourceEndpoint(),d=r.targetEndpoint(),f=r.midpoint(),h=Jn(u,f),v=Jn(d,f);i=t.createRadialGradient(f.x,f.y,0,f.x,f.y,Math.max(h,v))}else{var p=o?{x:0,y:0}:r.position(),g=r.paddedWidth(),m=r.paddedHeight();i=t.createRadialGradient(p.x,p.y,0,p.x,p.y,Math.max(g,m))}else if(r.isEdge()){var y=r.sourceEndpoint(),b=r.targetEndpoint();i=t.createLinearGradient(y.x,y.y,b.x,b.y)}else{var w=o?{x:0,y:0}:r.position(),C=r.paddedWidth(),x=r.paddedHeight(),k=C/2,E=x/2,_=r.pstyle("background-gradient-direction").value;switch(_){case"to-bottom":i=t.createLinearGradient(w.x,w.y-E,w.x,w.y+E);break;case"to-top":i=t.createLinearGradient(w.x,w.y+E,w.x,w.y-E);break;case"to-left":i=t.createLinearGradient(w.x+k,w.y,w.x-k,w.y);break;case"to-right":i=t.createLinearGradient(w.x-k,w.y,w.x+k,w.y);break;case"to-bottom-right":case"to-right-bottom":i=t.createLinearGradient(w.x-k,w.y-E,w.x+k,w.y+E);break;case"to-top-right":case"to-right-top":i=t.createLinearGradient(w.x-k,w.y+E,w.x+k,w.y-E);break;case"to-bottom-left":case"to-left-bottom":i=t.createLinearGradient(w.x+k,w.y-E,w.x-k,w.y+E);break;case"to-top-left":case"to-left-top":i=t.createLinearGradient(w.x+k,w.y+E,w.x-k,w.y-E);break}}if(!i)return null;for(var S=c.length===l.length,T=l.length,N=0;N<T;N++)i.addColorStop(S?c[N]:N/(T-1),"rgba("+l[N][0]+","+l[N][1]+","+l[N][2]+","+a+")");return i},Xt.gradientFillStyle=function(t,e,r,n){var a=this.createGradientStyleFor(t,"background",e,r,n);if(!a)return null;t.fillStyle=a},Xt.colorFillStyle=function(t,e,r,n,a){t.fillStyle="rgba("+e+","+r+","+n+","+a+")"},Xt.eleFillStyle=function(t,e,r){var n=e.pstyle("background-fill").value;if(n==="linear-gradient"||n==="radial-gradient")this.gradientFillStyle(t,e,n,r);else{var a=e.pstyle("background-color").value;this.colorFillStyle(t,a[0],a[1],a[2],r)}},Xt.gradientStrokeStyle=function(t,e,r,n){var a=this.createGradientStyleFor(t,"line",e,r,n);if(!a)return null;t.strokeStyle=a},Xt.colorStrokeStyle=function(t,e,r,n,a){t.strokeStyle="rgba("+e+","+r+","+n+","+a+")"},Xt.eleStrokeStyle=function(t,e,r){var n=e.pstyle("line-fill").value;if(n==="linear-gradient"||n==="radial-gradient")this.gradientStrokeStyle(t,e,n,r);else{var a=e.pstyle("line-color").value;this.colorStrokeStyle(t,a[0],a[1],a[2],r)}},Xt.matchCanvasSize=function(t){var e=this,r=e.data,n=e.findContainerClientCoords(),a=n[2],i=n[3],o=e.getPixelRatio(),l=e.motionBlurPxRatio;(t===e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE]||t===e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG])&&(o=l);var c=a*o,u=i*o,d;if(!(c===e.canvasWidth&&u===e.canvasHeight)){e.fontCaches=null;var f=r.canvasContainer;f.style.width=a+"px",f.style.height=i+"px";for(var h=0;h<e.CANVAS_LAYERS;h++)d=r.canvases[h],d.width=c,d.height=u,d.style.width=a+"px",d.style.height=i+"px";for(var h=0;h<e.BUFFER_COUNT;h++)d=r.bufferCanvases[h],d.width=c,d.height=u,d.style.width=a+"px",d.style.height=i+"px";e.textureMult=1,o<=1&&(d=r.bufferCanvases[e.TEXTURE_BUFFER],e.textureMult=2,d.width=c*e.textureMult,d.height=u*e.textureMult),e.canvasWidth=c,e.canvasHeight=u}},Xt.renderTo=function(t,e,r,n){this.render({forcedContext:t,forcedZoom:e,forcedPan:r,drawAllLayers:!0,forcedPxRatio:n})},Xt.render=function(t){t=t||K0();var e=t.forcedContext,r=t.drawAllLayers,n=t.drawOnlyNodeLayer,a=t.forcedZoom,i=t.forcedPan,o=this,l=t.forcedPxRatio===void 0?this.getPixelRatio():t.forcedPxRatio,c=o.cy,u=o.data,d=u.canvasNeedsRedraw,f=o.textureOnViewport&&!e&&(o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming),h=t.motionBlur!==void 0?t.motionBlur:o.motionBlur,v=o.motionBlurPxRatio,p=c.hasCompoundNodes(),g=o.hoverData.draggingEles,m=!!(o.hoverData.selecting||o.touchData.selecting);h=h&&!e&&o.motionBlurEnabled&&!m;var y=h;e||(o.prevPxRatio!==l&&(o.invalidateContainerClientCoordsCache(),o.matchCanvasSize(o.container),o.redrawHint("eles",!0),o.redrawHint("drag",!0)),o.prevPxRatio=l),!e&&o.motionBlurTimeout&&clearTimeout(o.motionBlurTimeout),h&&(o.mbFrames==null&&(o.mbFrames=0),o.mbFrames++,o.mbFrames<3&&(y=!1),o.mbFrames>o.minMbLowQualFrames&&(o.motionBlurPxRatio=o.mbPxRBlurry)),o.clearingMotionBlur&&(o.motionBlurPxRatio=1),o.textureDrawLastFrame&&!f&&(d[o.NODE]=!0,d[o.SELECT_BOX]=!0);var b=c.style(),w=c.zoom(),C=a!==void 0?a:w,x=c.pan(),k={x:x.x,y:x.y},E={zoom:w,pan:{x:x.x,y:x.y}},_=o.prevViewport,S=_===void 0||E.zoom!==_.zoom||E.pan.x!==_.pan.x||E.pan.y!==_.pan.y;!S&&!(g&&!p)&&(o.motionBlurPxRatio=1),i&&(k=i),C*=l,k.x*=l,k.y*=l;var T=o.getCachedZSortedEles();function N(ae,ne,ue,ie,fe){var pe=ae.globalCompositeOperation;ae.globalCompositeOperation="destination-out",o.colorFillStyle(ae,255,255,255,o.motionBlurTransparency),ae.fillRect(ne,ue,ie,fe),ae.globalCompositeOperation=pe}function B(ae,ne){var ue,ie,fe,pe;!o.clearingMotionBlur&&(ae===u.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]||ae===u.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG])?(ue={x:x.x*v,y:x.y*v},ie=w*v,fe=o.canvasWidth*v,pe=o.canvasHeight*v):(ue=k,ie=C,fe=o.canvasWidth,pe=o.canvasHeight),ae.setTransform(1,0,0,1,0,0),ne==="motionBlur"?N(ae,0,0,fe,pe):!e&&(ne===void 0||ne)&&ae.clearRect(0,0,fe,pe),r||(ae.translate(ue.x,ue.y),ae.scale(ie,ie)),i&&ae.translate(i.x,i.y),a&&ae.scale(a,a)}if(f||(o.textureDrawLastFrame=!1),f){if(o.textureDrawLastFrame=!0,!o.textureCache){o.textureCache={},o.textureCache.bb=c.mutableElements().boundingBox(),o.textureCache.texture=o.data.bufferCanvases[o.TEXTURE_BUFFER];var O=o.data.bufferContexts[o.TEXTURE_BUFFER];O.setTransform(1,0,0,1,0,0),O.clearRect(0,0,o.canvasWidth*o.textureMult,o.canvasHeight*o.textureMult),o.render({forcedContext:O,drawOnlyNodeLayer:!0,forcedPxRatio:l*o.textureMult});var E=o.textureCache.viewport={zoom:c.zoom(),pan:c.pan(),width:o.canvasWidth,height:o.canvasHeight};E.mpan={x:(0-E.pan.x)/E.zoom,y:(0-E.pan.y)/E.zoom}}d[o.DRAG]=!1,d[o.NODE]=!1;var D=u.contexts[o.NODE],R=o.textureCache.texture,E=o.textureCache.viewport;D.setTransform(1,0,0,1,0,0),h?N(D,0,0,E.width,E.height):D.clearRect(0,0,E.width,E.height);var P=b.core("outside-texture-bg-color").value,L=b.core("outside-texture-bg-opacity").value;o.colorFillStyle(D,P[0],P[1],P[2],L),D.fillRect(0,0,E.width,E.height);var w=c.zoom();B(D,!1),D.clearRect(E.mpan.x,E.mpan.y,E.width/E.zoom/l,E.height/E.zoom/l),D.drawImage(R,E.mpan.x,E.mpan.y,E.width/E.zoom/l,E.height/E.zoom/l)}else o.textureOnViewport&&!e&&(o.textureCache=null);var A=c.extent(),q=o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming||o.hoverData.draggingEles||o.cy.animated(),U=o.hideEdgesOnViewport&&q,z=[];if(z[o.NODE]=!d[o.NODE]&&h&&!o.clearedForMotionBlur[o.NODE]||o.clearingMotionBlur,z[o.NODE]&&(o.clearedForMotionBlur[o.NODE]=!0),z[o.DRAG]=!d[o.DRAG]&&h&&!o.clearedForMotionBlur[o.DRAG]||o.clearingMotionBlur,z[o.DRAG]&&(o.clearedForMotionBlur[o.DRAG]=!0),d[o.NODE]||r||n||z[o.NODE]){var H=h&&!z[o.NODE]&&v!==1,D=e||(H?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]:u.contexts[o.NODE]),Q=h&&!H?"motionBlur":void 0;B(D,Q),U?o.drawCachedNodes(D,T.nondrag,l,A):o.drawLayeredElements(D,T.nondrag,l,A),o.debug&&o.drawDebugPoints(D,T.nondrag),!r&&!h&&(d[o.NODE]=!1)}if(!n&&(d[o.DRAG]||r||z[o.DRAG])){var H=h&&!z[o.DRAG]&&v!==1,D=e||(H?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]:u.contexts[o.DRAG]);B(D,h&&!H?"motionBlur":void 0),U?o.drawCachedNodes(D,T.drag,l,A):o.drawCachedElements(D,T.drag,l,A),o.debug&&o.drawDebugPoints(D,T.drag),!r&&!h&&(d[o.DRAG]=!1)}if(o.showFps||!n&&d[o.SELECT_BOX]&&!r){var D=e||u.contexts[o.SELECT_BOX];if(B(D),o.selection[4]==1&&(o.hoverData.selecting||o.touchData.selecting)){var w=o.cy.zoom(),F=b.core("selection-box-border-width").value/w;D.lineWidth=F,D.fillStyle="rgba("+b.core("selection-box-color").value[0]+","+b.core("selection-box-color").value[1]+","+b.core("selection-box-color").value[2]+","+b.core("selection-box-opacity").value+")",D.fillRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]),F>0&&(D.strokeStyle="rgba("+b.core("selection-box-border-color").value[0]+","+b.core("selection-box-border-color").value[1]+","+b.core("selection-box-border-color").value[2]+","+b.core("selection-box-opacity").value+")",D.strokeRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]))}if(u.bgActivePosistion&&!o.hoverData.selecting){var w=o.cy.zoom(),$=u.bgActivePosistion;D.fillStyle="rgba("+b.core("active-bg-color").value[0]+","+b.core("active-bg-color").value[1]+","+b.core("active-bg-color").value[2]+","+b.core("active-bg-opacity").value+")",D.beginPath(),D.arc($.x,$.y,b.core("active-bg-size").pfValue/w,0,2*Math.PI),D.fill()}var V=o.lastRedrawTime;if(o.showFps&&V){V=Math.round(V);var G=Math.round(1e3/V);D.setTransform(1,0,0,1,0,0),D.fillStyle="rgba(255, 0, 0, 0.75)",D.strokeStyle="rgba(255, 0, 0, 0.75)",D.lineWidth=1,D.fillText("1 frame = "+V+" ms = "+G+" fps",0,20);var j=60;D.strokeRect(0,30,250,20),D.fillRect(0,30,250*Math.min(G/j,1),20)}r||(d[o.SELECT_BOX]=!1)}if(h&&v!==1){var M=u.contexts[o.NODE],W=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_NODE],Y=u.contexts[o.DRAG],se=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_DRAG],ce=function(ne,ue,ie){ne.setTransform(1,0,0,1,0,0),ie||!y?ne.clearRect(0,0,o.canvasWidth,o.canvasHeight):N(ne,0,0,o.canvasWidth,o.canvasHeight);var fe=v;ne.drawImage(ue,0,0,o.canvasWidth*fe,o.canvasHeight*fe,0,0,o.canvasWidth,o.canvasHeight)};(d[o.NODE]||z[o.NODE])&&(ce(M,W,z[o.NODE]),d[o.NODE]=!1),(d[o.DRAG]||z[o.DRAG])&&(ce(Y,se,z[o.DRAG]),d[o.DRAG]=!1)}o.prevViewport=E,o.clearingMotionBlur&&(o.clearingMotionBlur=!1,o.motionBlurCleared=!0,o.motionBlur=!0),h&&(o.motionBlurTimeout=setTimeout(function(){o.motionBlurTimeout=null,o.clearedForMotionBlur[o.NODE]=!1,o.clearedForMotionBlur[o.DRAG]=!1,o.motionBlur=!1,o.clearingMotionBlur=!f,o.mbFrames=0,d[o.NODE]=!0,d[o.DRAG]=!0,o.redraw()},q3)),e||c.emit("render")};var In={};In.drawPolygonPath=function(t,e,r,n,a,i){var o=n/2,l=a/2;t.beginPath&&t.beginPath(),t.moveTo(e+o*i[0],r+l*i[1]);for(var c=1;c<i.length/2;c++)t.lineTo(e+o*i[c*2],r+l*i[c*2+1]);t.closePath()},In.drawRoundPolygonPath=function(t,e,r,n,a,i,o){o.forEach(function(l){return L1(t,l)}),t.closePath()},In.drawRoundRectanglePath=function(t,e,r,n,a,i){var o=n/2,l=a/2,c=i==="auto"?ta(n,a):Math.min(i,l,o);t.beginPath&&t.beginPath(),t.moveTo(e,r-l),t.arcTo(e+o,r-l,e+o,r,c),t.arcTo(e+o,r+l,e,r+l,c),t.arcTo(e-o,r+l,e-o,r,c),t.arcTo(e-o,r-l,e,r-l,c),t.lineTo(e,r-l),t.closePath()},In.drawBottomRoundRectanglePath=function(t,e,r,n,a,i){var o=n/2,l=a/2,c=i==="auto"?ta(n,a):i;t.beginPath&&t.beginPath(),t.moveTo(e,r-l),t.lineTo(e+o,r-l),t.lineTo(e+o,r),t.arcTo(e+o,r+l,e,r+l,c),t.arcTo(e-o,r+l,e-o,r,c),t.lineTo(e-o,r-l),t.lineTo(e,r-l),t.closePath()},In.drawCutRectanglePath=function(t,e,r,n,a,i,o){var l=n/2,c=a/2,u=o==="auto"?Gu():o;t.beginPath&&t.beginPath(),t.moveTo(e-l+u,r-c),t.lineTo(e+l-u,r-c),t.lineTo(e+l,r-c+u),t.lineTo(e+l,r+c-u),t.lineTo(e+l-u,r+c),t.lineTo(e-l+u,r+c),t.lineTo(e-l,r+c-u),t.lineTo(e-l,r-c+u),t.closePath()},In.drawBarrelPath=function(t,e,r,n,a){var i=n/2,o=a/2,l=e-i,c=e+i,u=r-o,d=r+o,f=Uu(n,a),h=f.widthOffset,v=f.heightOffset,p=f.ctrlPtOffsetPct*h;t.beginPath&&t.beginPath(),t.moveTo(l,u+v),t.lineTo(l,d-v),t.quadraticCurveTo(l+p,d,l+h,d),t.lineTo(c-h,d),t.quadraticCurveTo(c-p,d,c,d-v),t.lineTo(c,u+v),t.quadraticCurveTo(c-p,u,c-h,u),t.lineTo(l+h,u),t.quadraticCurveTo(l+p,u,l,u+v),t.closePath()};for(var nw=Math.sin(0),aw=Math.cos(0),Tc={},Nc={},iw=Math.PI/40,oi=0*Math.PI;oi<2*Math.PI;oi+=iw)Tc[oi]=Math.sin(oi),Nc[oi]=Math.cos(oi);In.drawEllipsePath=function(t,e,r,n,a){if(t.beginPath&&t.beginPath(),t.ellipse)t.ellipse(e,r,n/2,a/2,0,0,2*Math.PI);else for(var i,o,l=n/2,c=a/2,u=0*Math.PI;u<2*Math.PI;u+=iw)i=e-l*Tc[u]*nw+l*Nc[u]*aw,o=r+c*Nc[u]*nw+c*Tc[u]*aw,u===0?t.moveTo(i,o):t.lineTo(i,o);t.closePath()};var bo={};bo.createBuffer=function(t,e){var r=document.createElement("canvas");return r.width=t,r.height=e,[r,r.getContext("2d")]},bo.bufferCanvasImage=function(t){var e=this.cy,r=e.mutableElements(),n=r.boundingBox(),a=this.findContainerClientCoords(),i=t.full?Math.ceil(n.w):a[2],o=t.full?Math.ceil(n.h):a[3],l=de(t.maxWidth)||de(t.maxHeight),c=this.getPixelRatio(),u=1;if(t.scale!==void 0)i*=t.scale,o*=t.scale,u=t.scale;else if(l){var d=1/0,f=1/0;de(t.maxWidth)&&(d=u*t.maxWidth/i),de(t.maxHeight)&&(f=u*t.maxHeight/o),u=Math.min(d,f),i*=u,o*=u}l||(i*=c,o*=c,u*=c);var h=document.createElement("canvas");h.width=i,h.height=o,h.style.width=i+"px",h.style.height=o+"px";var v=h.getContext("2d");if(i>0&&o>0){v.clearRect(0,0,i,o),v.globalCompositeOperation="source-over";var p=this.getCachedZSortedEles();if(t.full)v.translate(-n.x1*u,-n.y1*u),v.scale(u,u),this.drawElements(v,p),v.scale(1/u,1/u),v.translate(n.x1*u,n.y1*u);else{var g=e.pan(),m={x:g.x*u,y:g.y*u};u*=e.zoom(),v.translate(m.x,m.y),v.scale(u,u),this.drawElements(v,p),v.scale(1/u,1/u),v.translate(-m.x,-m.y)}t.bg&&(v.globalCompositeOperation="destination-over",v.fillStyle=t.bg,v.rect(0,0,i,o),v.fill())}return h};function z3(t,e){for(var r=atob(t),n=new ArrayBuffer(r.length),a=new Uint8Array(n),i=0;i<r.length;i++)a[i]=r.charCodeAt(i);return new Blob([n],{type:e})}function ow(t){var e=t.indexOf(",");return t.substr(e+1)}function sw(t,e,r){var n=function(){return e.toDataURL(r,t.quality)};switch(t.output){case"blob-promise":return new Ha(function(a,i){try{e.toBlob(function(o){o!=null?a(o):i(new Error("`canvas.toBlob()` sent a null value in its callback"))},r,t.quality)}catch(o){i(o)}});case"blob":return z3(ow(n()),r);case"base64":return ow(n());case"base64uri":default:return n()}}bo.png=function(t){return sw(t,this.bufferCanvasImage(t),"image/png")},bo.jpg=function(t){return sw(t,this.bufferCanvasImage(t),"image/jpeg")};var lw={};lw.nodeShapeImpl=function(t,e,r,n,a,i,o,l){switch(t){case"ellipse":return this.drawEllipsePath(e,r,n,a,i);case"polygon":return this.drawPolygonPath(e,r,n,a,i,o);case"round-polygon":return this.drawRoundPolygonPath(e,r,n,a,i,o,l);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(e,r,n,a,i,l);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(e,r,n,a,i,o,l);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(e,r,n,a,i,l);case"barrel":return this.drawBarrelPath(e,r,n,a,i)}};var H3=uw,Me=uw.prototype;Me.CANVAS_LAYERS=3,Me.SELECT_BOX=0,Me.DRAG=1,Me.NODE=2,Me.BUFFER_COUNT=3,Me.TEXTURE_BUFFER=0,Me.MOTIONBLUR_BUFFER_NODE=1,Me.MOTIONBLUR_BUFFER_DRAG=2;function uw(t){var e=this,r=e.cy.window(),n=r.document;e.data={canvases:new Array(Me.CANVAS_LAYERS),contexts:new Array(Me.CANVAS_LAYERS),canvasNeedsRedraw:new Array(Me.CANVAS_LAYERS),bufferCanvases:new Array(Me.BUFFER_COUNT),bufferContexts:new Array(Me.CANVAS_LAYERS)};var a="-webkit-tap-highlight-color",i="rgba(0,0,0,0)";e.data.canvasContainer=n.createElement("div");var o=e.data.canvasContainer.style;e.data.canvasContainer.style[a]=i,o.position="relative",o.zIndex="0",o.overflow="hidden";var l=t.cy.container();l.appendChild(e.data.canvasContainer),l.style[a]=i;var c={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};BM()&&(c["-ms-touch-action"]="none",c["touch-action"]="none");for(var u=0;u<Me.CANVAS_LAYERS;u++){var d=e.data.canvases[u]=n.createElement("canvas");e.data.contexts[u]=d.getContext("2d"),Object.keys(c).forEach(function(j){d.style[j]=c[j]}),d.style.position="absolute",d.setAttribute("data-id","layer"+u),d.style.zIndex=String(Me.CANVAS_LAYERS-u),e.data.canvasContainer.appendChild(d),e.data.canvasNeedsRedraw[u]=!1}e.data.topCanvas=e.data.canvases[0],e.data.canvases[Me.NODE].setAttribute("data-id","layer"+Me.NODE+"-node"),e.data.canvases[Me.SELECT_BOX].setAttribute("data-id","layer"+Me.SELECT_BOX+"-selectbox"),e.data.canvases[Me.DRAG].setAttribute("data-id","layer"+Me.DRAG+"-drag");for(var u=0;u<Me.BUFFER_COUNT;u++)e.data.bufferCanvases[u]=n.createElement("canvas"),e.data.bufferContexts[u]=e.data.bufferCanvases[u].getContext("2d"),e.data.bufferCanvases[u].style.position="absolute",e.data.bufferCanvases[u].setAttribute("data-id","buffer"+u),e.data.bufferCanvases[u].style.zIndex=String(-u-1),e.data.bufferCanvases[u].style.visibility="hidden";e.pathsEnabled=!0;var f=Kt(),h=function(M){return{x:(M.x1+M.x2)/2,y:(M.y1+M.y2)/2}},v=function(M){return{x:-M.w/2,y:-M.h/2}},p=function(M){var W=M[0]._private,Y=W.oldBackgroundTimestamp===W.backgroundTimestamp;return!Y},g=function(M){return M[0]._private.nodeKey},m=function(M){return M[0]._private.labelStyleKey},y=function(M){return M[0]._private.sourceLabelStyleKey},b=function(M){return M[0]._private.targetLabelStyleKey},w=function(M,W,Y,se,ce){return e.drawElement(M,W,Y,!1,!1,ce)},C=function(M,W,Y,se,ce){return e.drawElementText(M,W,Y,se,"main",ce)},x=function(M,W,Y,se,ce){return e.drawElementText(M,W,Y,se,"source",ce)},k=function(M,W,Y,se,ce){return e.drawElementText(M,W,Y,se,"target",ce)},E=function(M){return M.boundingBox(),M[0]._private.bodyBounds},_=function(M){return M.boundingBox(),M[0]._private.labelBounds.main||f},S=function(M){return M.boundingBox(),M[0]._private.labelBounds.source||f},T=function(M){return M.boundingBox(),M[0]._private.labelBounds.target||f},N=function(M,W){return W},B=function(M){return h(E(M))},O=function(M,W,Y){var se=M?M+"-":"";return{x:W.x+Y.pstyle(se+"text-margin-x").pfValue,y:W.y+Y.pstyle(se+"text-margin-y").pfValue}},D=function(M,W,Y){var se=M[0]._private.rscratch;return{x:se[W],y:se[Y]}},R=function(M){return O("",D(M,"labelX","labelY"),M)},P=function(M){return O("source",D(M,"sourceLabelX","sourceLabelY"),M)},L=function(M){return O("target",D(M,"targetLabelX","targetLabelY"),M)},A=function(M){return v(E(M))},q=function(M){return v(S(M))},U=function(M){return v(T(M))},z=function(M){var W=_(M),Y=v(_(M));if(M.isNode()){switch(M.pstyle("text-halign").value){case"left":Y.x=-W.w;break;case"right":Y.x=0;break}switch(M.pstyle("text-valign").value){case"top":Y.y=-W.h;break;case"bottom":Y.y=0;break}}return Y},H=e.data.eleTxrCache=new mo(e,{getKey:g,doesEleInvalidateKey:p,drawElement:w,getBoundingBox:E,getRotationPoint:B,getRotationOffset:A,allowEdgeTxrCaching:!1,allowParentTxrCaching:!1}),Q=e.data.lblTxrCache=new mo(e,{getKey:m,drawElement:C,getBoundingBox:_,getRotationPoint:R,getRotationOffset:z,isVisible:N}),F=e.data.slbTxrCache=new mo(e,{getKey:y,drawElement:x,getBoundingBox:S,getRotationPoint:P,getRotationOffset:q,isVisible:N}),$=e.data.tlbTxrCache=new mo(e,{getKey:b,drawElement:k,getBoundingBox:T,getRotationPoint:L,getRotationOffset:U,isVisible:N}),V=e.data.lyrTxrCache=new Z1(e);e.onUpdateEleCalcs(function(M,W){H.invalidateElements(W),Q.invalidateElements(W),F.invalidateElements(W),$.invalidateElements(W),V.invalidateElements(W);for(var Y=0;Y<W.length;Y++){var se=W[Y]._private;se.oldBackgroundTimestamp=se.backgroundTimestamp}});var G=function(M){for(var W=0;W<M.length;W++)V.enqueueElementRefinement(M[W].ele)};H.onDequeue(G),Q.onDequeue(G),F.onDequeue(G),$.onDequeue(G)}Me.redrawHint=function(t,e){var r=this;switch(t){case"eles":r.data.canvasNeedsRedraw[Me.NODE]=e;break;case"drag":r.data.canvasNeedsRedraw[Me.DRAG]=e;break;case"select":r.data.canvasNeedsRedraw[Me.SELECT_BOX]=e;break}};var K3=typeof Path2D<"u";Me.path2dEnabled=function(t){if(t===void 0)return this.pathsEnabled;this.pathsEnabled=!!t},Me.usePaths=function(){return K3&&this.pathsEnabled},Me.setImgSmoothing=function(t,e){t.imageSmoothingEnabled!=null?t.imageSmoothingEnabled=e:(t.webkitImageSmoothingEnabled=e,t.mozImageSmoothingEnabled=e,t.msImageSmoothingEnabled=e)},Me.getImgSmoothing=function(t){return t.imageSmoothingEnabled!=null?t.imageSmoothingEnabled:t.webkitImageSmoothingEnabled||t.mozImageSmoothingEnabled||t.msImageSmoothingEnabled},Me.makeOffscreenCanvas=function(t,e){var r;if((typeof OffscreenCanvas>"u"?"undefined":ct(OffscreenCanvas))!=="undefined")r=new OffscreenCanvas(t,e);else{var n=this.cy.window(),a=n.document;r=a.createElement("canvas"),r.width=t,r.height=e}return r},[J1,Ar,Qr,Sc,ua,ii,Xt,In,bo,lw].forEach(function(t){Se(Me,t)});var G3=[{name:"null",impl:T1},{name:"base",impl:U1},{name:"canvas",impl:H3}],U3=[{type:"layout",extensions:Jz},{type:"renderer",extensions:G3}],cw={},dw={};function fw(t,e,r){var n=r,a=function(_){$e("Can not register `"+e+"` for `"+t+"` since `"+_+"` already exists in the prototype and can not be overridden")};if(t==="core"){if(po.prototype[e])return a(e);po.prototype[e]=r}else if(t==="collection"){if(St.prototype[e])return a(e);St.prototype[e]=r}else if(t==="layout"){for(var i=function(_){this.options=_,r.call(this,_),Ae(this._private)||(this._private={}),this._private.cy=_.cy,this._private.listeners=[],this.createEmitter()},o=i.prototype=Object.create(r.prototype),l=[],c=0;c<l.length;c++){var u=l[c];o[u]=o[u]||function(){return this}}o.start&&!o.run?o.run=function(){return this.start(),this}:!o.start&&o.run&&(o.start=function(){return this.run(),this});var d=r.prototype.stop;o.stop=function(){var E=this.options;if(E&&E.animate){var _=this.animations;if(_)for(var S=0;S<_.length;S++)_[S].stop()}return d?d.call(this):this.emit("layoutstop"),this},o.destroy||(o.destroy=function(){return this}),o.cy=function(){return this._private.cy};var f=function(_){return _._private.cy},h={addEventFields:function(_,S){S.layout=_,S.cy=f(_),S.target=_},bubble:function(){return!0},parent:function(_){return f(_)}};Se(o,{createEmitter:function(){return this._private.emitter=new Ms(h,this),this},emitter:function(){return this._private.emitter},on:function(_,S){return this.emitter().on(_,S),this},one:function(_,S){return this.emitter().one(_,S),this},once:function(_,S){return this.emitter().one(_,S),this},removeListener:function(_,S){return this.emitter().removeListener(_,S),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},emit:function(_,S){return this.emitter().emit(_,S),this}}),Ve.eventAliasesOn(o),n=i}else if(t==="renderer"&&e!=="null"&&e!=="base"){var v=hw("renderer","base"),p=v.prototype,g=r,m=r.prototype,y=function(){v.apply(this,arguments),g.apply(this,arguments)},b=y.prototype;for(var w in p){var C=p[w],x=m[w]!=null;if(x)return a(w);b[w]=C}for(var k in m)b[k]=m[k];p.clientFunctions.forEach(function(E){b[E]=b[E]||function(){Je("Renderer does not implement `renderer."+E+"()` on its prototype")}}),n=y}else if(t==="__proto__"||t==="constructor"||t==="prototype")return Je(t+" is an illegal type to be registered, possibly lead to prototype pollutions");return N0({map:cw,keys:[t,e],value:n})}function hw(t,e){return I0({map:cw,keys:[t,e]})}function j3(t,e,r,n,a){return N0({map:dw,keys:[t,e,r,n],value:a})}function W3(t,e,r,n){return I0({map:dw,keys:[t,e,r,n]})}var Ic=function(){if(arguments.length===2)return hw.apply(null,arguments);if(arguments.length===3)return fw.apply(null,arguments);if(arguments.length===4)return W3.apply(null,arguments);if(arguments.length===5)return j3.apply(null,arguments);Je("Invalid extension access syntax")};po.prototype.extension=Ic,U3.forEach(function(t){t.extensions.forEach(function(e){fw(t.type,e.name,e.impl)})});var pw=function t(){if(!(this instanceof t))return new t;this.length=0},ca=pw.prototype;ca.instanceString=function(){return"stylesheet"},ca.selector=function(t){var e=this.length++;return this[e]={selector:t,properties:[]},this},ca.css=function(t,e){var r=this.length-1;if(Ee(t))this[r].properties.push({name:t,value:e});else if(Ae(t))for(var n=t,a=Object.keys(n),i=0;i<a.length;i++){var o=a[i],l=n[o];if(l!=null){var c=Dt.properties[o]||Dt.properties[ds(o)];if(c!=null){var u=c.name,d=l;this[r].properties.push({name:u,value:d})}}}return this},ca.style=ca.css,ca.generateStyle=function(t){var e=new Dt(t);return this.appendToStyle(e)},ca.appendToStyle=function(t){for(var e=0;e<this.length;e++){var r=this[e],n=r.selector,a=r.properties;t.selector(n);for(var i=0;i<a.length;i++){var o=a[i];t.css(o.name,o.value)}}return t};var Y3="3.30.2",Bn=function(e){if(e===void 0&&(e={}),Ae(e))return new po(e);if(Ee(e))return Ic.apply(Ic,arguments)};Bn.use=function(t){var e=Array.prototype.slice.call(arguments,1);return e.unshift(Bn),t.apply(null,e),this},Bn.warnings=function(t){return z0(t)},Bn.version=Y3,Bn.stylesheet=Bn.Stylesheet=pw;var vw={exports:{}};function Bc(t){throw new Error('Could not dynamically require "'+t+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Dc,gw;function Z3(){if(gw)return Dc;gw=1;function t(){this.__data__=[],this.size=0}return Dc=t,Dc}var Oc,mw;function si(){if(mw)return Oc;mw=1;function t(e,r){return e===r||e!==e&&r!==r}return Oc=t,Oc}var Pc,yw;function ol(){if(yw)return Pc;yw=1;var t=si();function e(r,n){for(var a=r.length;a--;)if(t(r[a][0],n))return a;return-1}return Pc=e,Pc}var Ac,bw;function X3(){if(bw)return Ac;bw=1;var t=ol(),e=Array.prototype,r=e.splice;function n(a){var i=this.__data__,o=t(i,a);if(o<0)return!1;var l=i.length-1;return o==l?i.pop():r.call(i,o,1),--this.size,!0}return Ac=n,Ac}var Rc,ww;function J3(){if(ww)return Rc;ww=1;var t=ol();function e(r){var n=this.__data__,a=t(n,r);return a<0?void 0:n[a][1]}return Rc=e,Rc}var Lc,Cw;function Q3(){if(Cw)return Lc;Cw=1;var t=ol();function e(r){return t(this.__data__,r)>-1}return Lc=e,Lc}var Mc,Ew;function e4(){if(Ew)return Mc;Ew=1;var t=ol();function e(r,n){var a=this.__data__,i=t(a,r);return i<0?(++this.size,a.push([r,n])):a[i][1]=n,this}return Mc=e,Mc}var Fc,xw;function sl(){if(xw)return Fc;xw=1;var t=Z3(),e=X3(),r=J3(),n=Q3(),a=e4();function i(o){var l=-1,c=o==null?0:o.length;for(this.clear();++l<c;){var u=o[l];this.set(u[0],u[1])}}return i.prototype.clear=t,i.prototype.delete=e,i.prototype.get=r,i.prototype.has=n,i.prototype.set=a,Fc=i,Fc}var $c,kw;function t4(){if(kw)return $c;kw=1;var t=sl();function e(){this.__data__=new t,this.size=0}return $c=e,$c}var Vc,Sw;function r4(){if(Sw)return Vc;Sw=1;function t(e){var r=this.__data__,n=r.delete(e);return this.size=r.size,n}return Vc=t,Vc}var qc,_w;function n4(){if(_w)return qc;_w=1;function t(e){return this.__data__.get(e)}return qc=t,qc}var zc,Tw;function a4(){if(Tw)return zc;Tw=1;function t(e){return this.__data__.has(e)}return zc=t,zc}var Hc,Nw;function Iw(){if(Nw)return Hc;Nw=1;var t=typeof Ai=="object"&&Ai&&Ai.Object===Object&&Ai;return Hc=t,Hc}var Kc,Bw;function br(){if(Bw)return Kc;Bw=1;var t=Iw(),e=typeof self=="object"&&self&&self.Object===Object&&self,r=t||e||Function("return this")();return Kc=r,Kc}var Gc,Dw;function li(){if(Dw)return Gc;Dw=1;var t=br(),e=t.Symbol;return Gc=e,Gc}var Uc,Ow;function i4(){if(Ow)return Uc;Ow=1;var t=li(),e=Object.prototype,r=e.hasOwnProperty,n=e.toString,a=t?t.toStringTag:void 0;function i(o){var l=r.call(o,a),c=o[a];try{o[a]=void 0;var u=!0}catch{}var d=n.call(o);return u&&(l?o[a]=c:delete o[a]),d}return Uc=i,Uc}var jc,Pw;function o4(){if(Pw)return jc;Pw=1;var t=Object.prototype,e=t.toString;function r(n){return e.call(n)}return jc=r,jc}var Wc,Aw;function da(){if(Aw)return Wc;Aw=1;var t=li(),e=i4(),r=o4(),n="[object Null]",a="[object Undefined]",i=t?t.toStringTag:void 0;function o(l){return l==null?l===void 0?a:n:i&&i in Object(l)?e(l):r(l)}return Wc=o,Wc}var Yc,Rw;function or(){if(Rw)return Yc;Rw=1;function t(e){var r=typeof e;return e!=null&&(r=="object"||r=="function")}return Yc=t,Yc}var Zc,Lw;function wo(){if(Lw)return Zc;Lw=1;var t=da(),e=or(),r="[object AsyncFunction]",n="[object Function]",a="[object GeneratorFunction]",i="[object Proxy]";function o(l){if(!e(l))return!1;var c=t(l);return c==n||c==a||c==r||c==i}return Zc=o,Zc}var Xc,Mw;function s4(){if(Mw)return Xc;Mw=1;var t=br(),e=t["__core-js_shared__"];return Xc=e,Xc}var Jc,Fw;function l4(){if(Fw)return Jc;Fw=1;var t=s4(),e=function(){var n=/[^.]+$/.exec(t&&t.keys&&t.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}();function r(n){return!!e&&e in n}return Jc=r,Jc}var Qc,$w;function Vw(){if($w)return Qc;$w=1;var t=Function.prototype,e=t.toString;function r(n){if(n!=null){try{return e.call(n)}catch{}try{return n+""}catch{}}return""}return Qc=r,Qc}var ed,qw;function u4(){if(qw)return ed;qw=1;var t=wo(),e=l4(),r=or(),n=Vw(),a=/[\\^$.*+?()[\]{}|]/g,i=/^\[object .+?Constructor\]$/,o=Function.prototype,l=Object.prototype,c=o.toString,u=l.hasOwnProperty,d=RegExp("^"+c.call(u).replace(a,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function f(h){if(!r(h)||e(h))return!1;var v=t(h)?d:i;return v.test(n(h))}return ed=f,ed}var td,zw;function c4(){if(zw)return td;zw=1;function t(e,r){return e==null?void 0:e[r]}return td=t,td}var rd,Hw;function fa(){if(Hw)return rd;Hw=1;var t=u4(),e=c4();function r(n,a){var i=e(n,a);return t(i)?i:void 0}return rd=r,rd}var nd,Kw;function ad(){if(Kw)return nd;Kw=1;var t=fa(),e=br(),r=t(e,"Map");return nd=r,nd}var id,Gw;function ll(){if(Gw)return id;Gw=1;var t=fa(),e=t(Object,"create");return id=e,id}var od,Uw;function d4(){if(Uw)return od;Uw=1;var t=ll();function e(){this.__data__=t?t(null):{},this.size=0}return od=e,od}var sd,jw;function f4(){if(jw)return sd;jw=1;function t(e){var r=this.has(e)&&delete this.__data__[e];return this.size-=r?1:0,r}return sd=t,sd}var ld,Ww;function h4(){if(Ww)return ld;Ww=1;var t=ll(),e="__lodash_hash_undefined__",r=Object.prototype,n=r.hasOwnProperty;function a(i){var o=this.__data__;if(t){var l=o[i];return l===e?void 0:l}return n.call(o,i)?o[i]:void 0}return ld=a,ld}var ud,Yw;function p4(){if(Yw)return ud;Yw=1;var t=ll(),e=Object.prototype,r=e.hasOwnProperty;function n(a){var i=this.__data__;return t?i[a]!==void 0:r.call(i,a)}return ud=n,ud}var cd,Zw;function v4(){if(Zw)return cd;Zw=1;var t=ll(),e="__lodash_hash_undefined__";function r(n,a){var i=this.__data__;return this.size+=this.has(n)?0:1,i[n]=t&&a===void 0?e:a,this}return cd=r,cd}var dd,Xw;function g4(){if(Xw)return dd;Xw=1;var t=d4(),e=f4(),r=h4(),n=p4(),a=v4();function i(o){var l=-1,c=o==null?0:o.length;for(this.clear();++l<c;){var u=o[l];this.set(u[0],u[1])}}return i.prototype.clear=t,i.prototype.delete=e,i.prototype.get=r,i.prototype.has=n,i.prototype.set=a,dd=i,dd}var fd,Jw;function m4(){if(Jw)return fd;Jw=1;var t=g4(),e=sl(),r=ad();function n(){this.size=0,this.__data__={hash:new t,map:new(r||e),string:new t}}return fd=n,fd}var hd,Qw;function y4(){if(Qw)return hd;Qw=1;function t(e){var r=typeof e;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?e!=="__proto__":e===null}return hd=t,hd}var pd,eC;function ul(){if(eC)return pd;eC=1;var t=y4();function e(r,n){var a=r.__data__;return t(n)?a[typeof n=="string"?"string":"hash"]:a.map}return pd=e,pd}var vd,tC;function b4(){if(tC)return vd;tC=1;var t=ul();function e(r){var n=t(this,r).delete(r);return this.size-=n?1:0,n}return vd=e,vd}var gd,rC;function w4(){if(rC)return gd;rC=1;var t=ul();function e(r){return t(this,r).get(r)}return gd=e,gd}var md,nC;function C4(){if(nC)return md;nC=1;var t=ul();function e(r){return t(this,r).has(r)}return md=e,md}var yd,aC;function E4(){if(aC)return yd;aC=1;var t=ul();function e(r,n){var a=t(this,r),i=a.size;return a.set(r,n),this.size+=a.size==i?0:1,this}return yd=e,yd}var bd,iC;function wd(){if(iC)return bd;iC=1;var t=m4(),e=b4(),r=w4(),n=C4(),a=E4();function i(o){var l=-1,c=o==null?0:o.length;for(this.clear();++l<c;){var u=o[l];this.set(u[0],u[1])}}return i.prototype.clear=t,i.prototype.delete=e,i.prototype.get=r,i.prototype.has=n,i.prototype.set=a,bd=i,bd}var Cd,oC;function x4(){if(oC)return Cd;oC=1;var t=sl(),e=ad(),r=wd(),n=200;function a(i,o){var l=this.__data__;if(l instanceof t){var c=l.__data__;if(!e||c.length<n-1)return c.push([i,o]),this.size=++l.size,this;l=this.__data__=new r(c)}return l.set(i,o),this.size=l.size,this}return Cd=a,Cd}var Ed,sC;function cl(){if(sC)return Ed;sC=1;var t=sl(),e=t4(),r=r4(),n=n4(),a=a4(),i=x4();function o(l){var c=this.__data__=new t(l);this.size=c.size}return o.prototype.clear=e,o.prototype.delete=r,o.prototype.get=n,o.prototype.has=a,o.prototype.set=i,Ed=o,Ed}var xd,lC;function kd(){if(lC)return xd;lC=1;function t(e,r){for(var n=-1,a=e==null?0:e.length;++n<a&&r(e[n],n,e)!==!1;);return e}return xd=t,xd}var Sd,uC;function cC(){if(uC)return Sd;uC=1;var t=fa(),e=function(){try{var r=t(Object,"defineProperty");return r({},"",{}),r}catch{}}();return Sd=e,Sd}var _d,dC;function dl(){if(dC)return _d;dC=1;var t=cC();function e(r,n,a){n=="__proto__"&&t?t(r,n,{configurable:!0,enumerable:!0,value:a,writable:!0}):r[n]=a}return _d=e,_d}var Td,fC;function fl(){if(fC)return Td;fC=1;var t=dl(),e=si(),r=Object.prototype,n=r.hasOwnProperty;function a(i,o,l){var c=i[o];(!(n.call(i,o)&&e(c,l))||l===void 0&&!(o in i))&&t(i,o,l)}return Td=a,Td}var Nd,hC;function Co(){if(hC)return Nd;hC=1;var t=fl(),e=dl();function r(n,a,i,o){var l=!i;i||(i={});for(var c=-1,u=a.length;++c<u;){var d=a[c],f=o?o(i[d],n[d],d,i,n):void 0;f===void 0&&(f=n[d]),l?e(i,d,f):t(i,d,f)}return i}return Nd=r,Nd}var Id,pC;function k4(){if(pC)return Id;pC=1;function t(e,r){for(var n=-1,a=Array(e);++n<e;)a[n]=r(n);return a}return Id=t,Id}var Bd,vC;function Rr(){if(vC)return Bd;vC=1;function t(e){return e!=null&&typeof e=="object"}return Bd=t,Bd}var Dd,gC;function S4(){if(gC)return Dd;gC=1;var t=da(),e=Rr(),r="[object Arguments]";function n(a){return e(a)&&t(a)==r}return Dd=n,Dd}var Od,mC;function Eo(){if(mC)return Od;mC=1;var t=S4(),e=Rr(),r=Object.prototype,n=r.hasOwnProperty,a=r.propertyIsEnumerable,i=t(function(){return arguments}())?t:function(o){return e(o)&&n.call(o,"callee")&&!a.call(o,"callee")};return Od=i,Od}var Pd,yC;function at(){if(yC)return Pd;yC=1;var t=Array.isArray;return Pd=t,Pd}var xo={exports:{}},Ad,bC;function _4(){if(bC)return Ad;bC=1;function t(){return!1}return Ad=t,Ad}xo.exports;var wC;function ui(){return wC||(wC=1,function(t,e){var r=br(),n=_4(),a=e&&!e.nodeType&&e,i=a&&!0&&t&&!t.nodeType&&t,o=i&&i.exports===a,l=o?r.Buffer:void 0,c=l?l.isBuffer:void 0,u=c||n;t.exports=u}(xo,xo.exports)),xo.exports}var Rd,CC;function hl(){if(CC)return Rd;CC=1;var t=9007199254740991,e=/^(?:0|[1-9]\d*)$/;function r(n,a){var i=typeof n;return a=a??t,!!a&&(i=="number"||i!="symbol"&&e.test(n))&&n>-1&&n%1==0&&n<a}return Rd=r,Rd}var Ld,EC;function Md(){if(EC)return Ld;EC=1;var t=9007199254740991;function e(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=t}return Ld=e,Ld}var Fd,xC;function T4(){if(xC)return Fd;xC=1;var t=da(),e=Md(),r=Rr(),n="[object Arguments]",a="[object Array]",i="[object Boolean]",o="[object Date]",l="[object Error]",c="[object Function]",u="[object Map]",d="[object Number]",f="[object Object]",h="[object RegExp]",v="[object Set]",p="[object String]",g="[object WeakMap]",m="[object ArrayBuffer]",y="[object DataView]",b="[object Float32Array]",w="[object Float64Array]",C="[object Int8Array]",x="[object Int16Array]",k="[object Int32Array]",E="[object Uint8Array]",_="[object Uint8ClampedArray]",S="[object Uint16Array]",T="[object Uint32Array]",N={};N[b]=N[w]=N[C]=N[x]=N[k]=N[E]=N[_]=N[S]=N[T]=!0,N[n]=N[a]=N[m]=N[i]=N[y]=N[o]=N[l]=N[c]=N[u]=N[d]=N[f]=N[h]=N[v]=N[p]=N[g]=!1;function B(O){return r(O)&&e(O.length)&&!!N[t(O)]}return Fd=B,Fd}var $d,kC;function pl(){if(kC)return $d;kC=1;function t(e){return function(r){return e(r)}}return $d=t,$d}var ko={exports:{}};ko.exports;var SC;function Vd(){return SC||(SC=1,function(t,e){var r=Iw(),n=e&&!e.nodeType&&e,a=n&&!0&&t&&!t.nodeType&&t,i=a&&a.exports===n,o=i&&r.process,l=function(){try{var c=a&&a.require&&a.require("util").types;return c||o&&o.binding&&o.binding("util")}catch{}}();t.exports=l}(ko,ko.exports)),ko.exports}var qd,_C;function So(){if(_C)return qd;_C=1;var t=T4(),e=pl(),r=Vd(),n=r&&r.isTypedArray,a=n?e(n):t;return qd=a,qd}var zd,TC;function NC(){if(TC)return zd;TC=1;var t=k4(),e=Eo(),r=at(),n=ui(),a=hl(),i=So(),o=Object.prototype,l=o.hasOwnProperty;function c(u,d){var f=r(u),h=!f&&e(u),v=!f&&!h&&n(u),p=!f&&!h&&!v&&i(u),g=f||h||v||p,m=g?t(u.length,String):[],y=m.length;for(var b in u)(d||l.call(u,b))&&!(g&&(b=="length"||v&&(b=="offset"||b=="parent")||p&&(b=="buffer"||b=="byteLength"||b=="byteOffset")||a(b,y)))&&m.push(b);return m}return zd=c,zd}var Hd,IC;function vl(){if(IC)return Hd;IC=1;var t=Object.prototype;function e(r){var n=r&&r.constructor,a=typeof n=="function"&&n.prototype||t;return r===a}return Hd=e,Hd}var Kd,BC;function DC(){if(BC)return Kd;BC=1;function t(e,r){return function(n){return e(r(n))}}return Kd=t,Kd}var Gd,OC;function N4(){if(OC)return Gd;OC=1;var t=DC(),e=t(Object.keys,Object);return Gd=e,Gd}var Ud,PC;function jd(){if(PC)return Ud;PC=1;var t=vl(),e=N4(),r=Object.prototype,n=r.hasOwnProperty;function a(i){if(!t(i))return e(i);var o=[];for(var l in Object(i))n.call(i,l)&&l!="constructor"&&o.push(l);return o}return Ud=a,Ud}var Wd,AC;function en(){if(AC)return Wd;AC=1;var t=wo(),e=Md();function r(n){return n!=null&&e(n.length)&&!t(n)}return Wd=r,Wd}var Yd,RC;function Dn(){if(RC)return Yd;RC=1;var t=NC(),e=jd(),r=en();function n(a){return r(a)?t(a):e(a)}return Yd=n,Yd}var Zd,LC;function I4(){if(LC)return Zd;LC=1;var t=Co(),e=Dn();function r(n,a){return n&&t(a,e(a),n)}return Zd=r,Zd}var Xd,MC;function B4(){if(MC)return Xd;MC=1;function t(e){var r=[];if(e!=null)for(var n in Object(e))r.push(n);return r}return Xd=t,Xd}var Jd,FC;function D4(){if(FC)return Jd;FC=1;var t=or(),e=vl(),r=B4(),n=Object.prototype,a=n.hasOwnProperty;function i(o){if(!t(o))return r(o);var l=e(o),c=[];for(var u in o)u=="constructor"&&(l||!a.call(o,u))||c.push(u);return c}return Jd=i,Jd}var Qd,$C;function ha(){if($C)return Qd;$C=1;var t=NC(),e=D4(),r=en();function n(a){return r(a)?t(a,!0):e(a)}return Qd=n,Qd}var ef,VC;function O4(){if(VC)return ef;VC=1;var t=Co(),e=ha();function r(n,a){return n&&t(a,e(a),n)}return ef=r,ef}var _o={exports:{}};_o.exports;var qC;function zC(){return qC||(qC=1,function(t,e){var r=br(),n=e&&!e.nodeType&&e,a=n&&!0&&t&&!t.nodeType&&t,i=a&&a.exports===n,o=i?r.Buffer:void 0,l=o?o.allocUnsafe:void 0;function c(u,d){if(d)return u.slice();var f=u.length,h=l?l(f):new u.constructor(f);return u.copy(h),h}t.exports=c}(_o,_o.exports)),_o.exports}var tf,HC;function KC(){if(HC)return tf;HC=1;function t(e,r){var n=-1,a=e.length;for(r||(r=Array(a));++n<a;)r[n]=e[n];return r}return tf=t,tf}var rf,GC;function UC(){if(GC)return rf;GC=1;function t(e,r){for(var n=-1,a=e==null?0:e.length,i=0,o=[];++n<a;){var l=e[n];r(l,n,e)&&(o[i++]=l)}return o}return rf=t,rf}var nf,jC;function WC(){if(jC)return nf;jC=1;function t(){return[]}return nf=t,nf}var af,YC;function of(){if(YC)return af;YC=1;var t=UC(),e=WC(),r=Object.prototype,n=r.propertyIsEnumerable,a=Object.getOwnPropertySymbols,i=a?function(o){return o==null?[]:(o=Object(o),t(a(o),function(l){return n.call(o,l)}))}:e;return af=i,af}var sf,ZC;function P4(){if(ZC)return sf;ZC=1;var t=Co(),e=of();function r(n,a){return t(n,e(n),a)}return sf=r,sf}var lf,XC;function uf(){if(XC)return lf;XC=1;function t(e,r){for(var n=-1,a=r.length,i=e.length;++n<a;)e[i+n]=r[n];return e}return lf=t,lf}var cf,JC;function gl(){if(JC)return cf;JC=1;var t=DC(),e=t(Object.getPrototypeOf,Object);return cf=e,cf}var df,QC;function eE(){if(QC)return df;QC=1;var t=uf(),e=gl(),r=of(),n=WC(),a=Object.getOwnPropertySymbols,i=a?function(o){for(var l=[];o;)t(l,r(o)),o=e(o);return l}:n;return df=i,df}var ff,tE;function A4(){if(tE)return ff;tE=1;var t=Co(),e=eE();function r(n,a){return t(n,e(n),a)}return ff=r,ff}var hf,rE;function nE(){if(rE)return hf;rE=1;var t=uf(),e=at();function r(n,a,i){var o=a(n);return e(n)?o:t(o,i(n))}return hf=r,hf}var pf,aE;function iE(){if(aE)return pf;aE=1;var t=nE(),e=of(),r=Dn();function n(a){return t(a,r,e)}return pf=n,pf}var vf,oE;function R4(){if(oE)return vf;oE=1;var t=nE(),e=eE(),r=ha();function n(a){return t(a,r,e)}return vf=n,vf}var gf,sE;function L4(){if(sE)return gf;sE=1;var t=fa(),e=br(),r=t(e,"DataView");return gf=r,gf}var mf,lE;function M4(){if(lE)return mf;lE=1;var t=fa(),e=br(),r=t(e,"Promise");return mf=r,mf}var yf,uE;function cE(){if(uE)return yf;uE=1;var t=fa(),e=br(),r=t(e,"Set");return yf=r,yf}var bf,dE;function F4(){if(dE)return bf;dE=1;var t=fa(),e=br(),r=t(e,"WeakMap");return bf=r,bf}var wf,fE;function ci(){if(fE)return wf;fE=1;var t=L4(),e=ad(),r=M4(),n=cE(),a=F4(),i=da(),o=Vw(),l="[object Map]",c="[object Object]",u="[object Promise]",d="[object Set]",f="[object WeakMap]",h="[object DataView]",v=o(t),p=o(e),g=o(r),m=o(n),y=o(a),b=i;return(t&&b(new t(new ArrayBuffer(1)))!=h||e&&b(new e)!=l||r&&b(r.resolve())!=u||n&&b(new n)!=d||a&&b(new a)!=f)&&(b=function(w){var C=i(w),x=C==c?w.constructor:void 0,k=x?o(x):"";if(k)switch(k){case v:return h;case p:return l;case g:return u;case m:return d;case y:return f}return C}),wf=b,wf}var Cf,hE;function $4(){if(hE)return Cf;hE=1;var t=Object.prototype,e=t.hasOwnProperty;function r(n){var a=n.length,i=new n.constructor(a);return a&&typeof n[0]=="string"&&e.call(n,"index")&&(i.index=n.index,i.input=n.input),i}return Cf=r,Cf}var Ef,pE;function vE(){if(pE)return Ef;pE=1;var t=br(),e=t.Uint8Array;return Ef=e,Ef}var xf,gE;function kf(){if(gE)return xf;gE=1;var t=vE();function e(r){var n=new r.constructor(r.byteLength);return new t(n).set(new t(r)),n}return xf=e,xf}var Sf,mE;function V4(){if(mE)return Sf;mE=1;var t=kf();function e(r,n){var a=n?t(r.buffer):r.buffer;return new r.constructor(a,r.byteOffset,r.byteLength)}return Sf=e,Sf}var _f,yE;function q4(){if(yE)return _f;yE=1;var t=/\w*$/;function e(r){var n=new r.constructor(r.source,t.exec(r));return n.lastIndex=r.lastIndex,n}return _f=e,_f}var Tf,bE;function z4(){if(bE)return Tf;bE=1;var t=li(),e=t?t.prototype:void 0,r=e?e.valueOf:void 0;function n(a){return r?Object(r.call(a)):{}}return Tf=n,Tf}var Nf,wE;function CE(){if(wE)return Nf;wE=1;var t=kf();function e(r,n){var a=n?t(r.buffer):r.buffer;return new r.constructor(a,r.byteOffset,r.length)}return Nf=e,Nf}var If,EE;function H4(){if(EE)return If;EE=1;var t=kf(),e=V4(),r=q4(),n=z4(),a=CE(),i="[object Boolean]",o="[object Date]",l="[object Map]",c="[object Number]",u="[object RegExp]",d="[object Set]",f="[object String]",h="[object Symbol]",v="[object ArrayBuffer]",p="[object DataView]",g="[object Float32Array]",m="[object Float64Array]",y="[object Int8Array]",b="[object Int16Array]",w="[object Int32Array]",C="[object Uint8Array]",x="[object Uint8ClampedArray]",k="[object Uint16Array]",E="[object Uint32Array]";function _(S,T,N){var B=S.constructor;switch(T){case v:return t(S);case i:case o:return new B(+S);case p:return e(S,N);case g:case m:case y:case b:case w:case C:case x:case k:case E:return a(S,N);case l:return new B;case c:case f:return new B(S);case u:return r(S);case d:return new B;case h:return n(S)}}return If=_,If}var Bf,xE;function kE(){if(xE)return Bf;xE=1;var t=or(),e=Object.create,r=function(){function n(){}return function(a){if(!t(a))return{};if(e)return e(a);n.prototype=a;var i=new n;return n.prototype=void 0,i}}();return Bf=r,Bf}var Df,SE;function _E(){if(SE)return Df;SE=1;var t=kE(),e=gl(),r=vl();function n(a){return typeof a.constructor=="function"&&!r(a)?t(e(a)):{}}return Df=n,Df}var Of,TE;function K4(){if(TE)return Of;TE=1;var t=ci(),e=Rr(),r="[object Map]";function n(a){return e(a)&&t(a)==r}return Of=n,Of}var Pf,NE;function G4(){if(NE)return Pf;NE=1;var t=K4(),e=pl(),r=Vd(),n=r&&r.isMap,a=n?e(n):t;return Pf=a,Pf}var Af,IE;function U4(){if(IE)return Af;IE=1;var t=ci(),e=Rr(),r="[object Set]";function n(a){return e(a)&&t(a)==r}return Af=n,Af}var Rf,BE;function j4(){if(BE)return Rf;BE=1;var t=U4(),e=pl(),r=Vd(),n=r&&r.isSet,a=n?e(n):t;return Rf=a,Rf}var Lf,DE;function OE(){if(DE)return Lf;DE=1;var t=cl(),e=kd(),r=fl(),n=I4(),a=O4(),i=zC(),o=KC(),l=P4(),c=A4(),u=iE(),d=R4(),f=ci(),h=$4(),v=H4(),p=_E(),g=at(),m=ui(),y=G4(),b=or(),w=j4(),C=Dn(),x=ha(),k=1,E=2,_=4,S="[object Arguments]",T="[object Array]",N="[object Boolean]",B="[object Date]",O="[object Error]",D="[object Function]",R="[object GeneratorFunction]",P="[object Map]",L="[object Number]",A="[object Object]",q="[object RegExp]",U="[object Set]",z="[object String]",H="[object Symbol]",Q="[object WeakMap]",F="[object ArrayBuffer]",$="[object DataView]",V="[object Float32Array]",G="[object Float64Array]",j="[object Int8Array]",M="[object Int16Array]",W="[object Int32Array]",Y="[object Uint8Array]",se="[object Uint8ClampedArray]",ce="[object Uint16Array]",ae="[object Uint32Array]",ne={};ne[S]=ne[T]=ne[F]=ne[$]=ne[N]=ne[B]=ne[V]=ne[G]=ne[j]=ne[M]=ne[W]=ne[P]=ne[L]=ne[A]=ne[q]=ne[U]=ne[z]=ne[H]=ne[Y]=ne[se]=ne[ce]=ne[ae]=!0,ne[O]=ne[D]=ne[Q]=!1;function ue(ie,fe,pe,De,Ie,we){var xe,re=fe&k,I=fe&E,K=fe&_;if(pe&&(xe=Ie?pe(ie,De,Ie,we):pe(ie)),xe!==void 0)return xe;if(!b(ie))return ie;var te=g(ie);if(te){if(xe=h(ie),!re)return o(ie,xe)}else{var Z=f(ie),X=Z==D||Z==R;if(m(ie))return i(ie,re);if(Z==A||Z==S||X&&!Ie){if(xe=I||X?{}:p(ie),!re)return I?c(ie,a(xe,ie)):l(ie,n(xe,ie))}else{if(!ne[Z])return Ie?ie:{};xe=v(ie,Z,re)}}we||(we=new t);var le=we.get(ie);if(le)return le;we.set(ie,xe),w(ie)?ie.forEach(function(me){xe.add(ue(me,fe,pe,me,ie,we))}):y(ie)&&ie.forEach(function(me,be){xe.set(be,ue(me,fe,pe,be,ie,we))});var ee=K?I?d:u:I?x:C,oe=te?void 0:ee(ie);return e(oe||ie,function(me,be){oe&&(be=me,me=ie[be]),r(xe,be,ue(me,fe,pe,be,ie,we))}),xe}return Lf=ue,Lf}var Mf,PE;function W4(){if(PE)return Mf;PE=1;var t=OE(),e=4;function r(n){return t(n,e)}return Mf=r,Mf}var Ff,AE;function $f(){if(AE)return Ff;AE=1;function t(e){return function(){return e}}return Ff=t,Ff}var Vf,RE;function Y4(){if(RE)return Vf;RE=1;function t(e){return function(r,n,a){for(var i=-1,o=Object(r),l=a(r),c=l.length;c--;){var u=l[e?c:++i];if(n(o[u],u,o)===!1)break}return r}}return Vf=t,Vf}var qf,LE;function zf(){if(LE)return qf;LE=1;var t=Y4(),e=t();return qf=e,qf}var Hf,ME;function Kf(){if(ME)return Hf;ME=1;var t=zf(),e=Dn();function r(n,a){return n&&t(n,a,e)}return Hf=r,Hf}var Gf,FE;function Z4(){if(FE)return Gf;FE=1;var t=en();function e(r,n){return function(a,i){if(a==null)return a;if(!t(a))return r(a,i);for(var o=a.length,l=n?o:-1,c=Object(a);(n?l--:++l<o)&&i(c[l],l,c)!==!1;);return a}}return Gf=e,Gf}var Uf,$E;function ml(){if($E)return Uf;$E=1;var t=Kf(),e=Z4(),r=e(t);return Uf=r,Uf}var jf,VE;function pa(){if(VE)return jf;VE=1;function t(e){return e}return jf=t,jf}var Wf,qE;function zE(){if(qE)return Wf;qE=1;var t=pa();function e(r){return typeof r=="function"?r:t}return Wf=e,Wf}var Yf,HE;function KE(){if(HE)return Yf;HE=1;var t=kd(),e=ml(),r=zE(),n=at();function a(i,o){var l=n(i)?t:e;return l(i,r(o))}return Yf=a,Yf}var Zf,GE;function UE(){return GE||(GE=1,Zf=KE()),Zf}var Xf,jE;function X4(){if(jE)return Xf;jE=1;var t=ml();function e(r,n){var a=[];return t(r,function(i,o,l){n(i,o,l)&&a.push(i)}),a}return Xf=e,Xf}var Jf,WE;function J4(){if(WE)return Jf;WE=1;var t="__lodash_hash_undefined__";function e(r){return this.__data__.set(r,t),this}return Jf=e,Jf}var Qf,YE;function Q4(){if(YE)return Qf;YE=1;function t(e){return this.__data__.has(e)}return Qf=t,Qf}var eh,ZE;function XE(){if(ZE)return eh;ZE=1;var t=wd(),e=J4(),r=Q4();function n(a){var i=-1,o=a==null?0:a.length;for(this.__data__=new t;++i<o;)this.add(a[i])}return n.prototype.add=n.prototype.push=e,n.prototype.has=r,eh=n,eh}var th,JE;function e8(){if(JE)return th;JE=1;function t(e,r){for(var n=-1,a=e==null?0:e.length;++n<a;)if(r(e[n],n,e))return!0;return!1}return th=t,th}var rh,QE;function ex(){if(QE)return rh;QE=1;function t(e,r){return e.has(r)}return rh=t,rh}var nh,tx;function rx(){if(tx)return nh;tx=1;var t=XE(),e=e8(),r=ex(),n=1,a=2;function i(o,l,c,u,d,f){var h=c&n,v=o.length,p=l.length;if(v!=p&&!(h&&p>v))return!1;var g=f.get(o),m=f.get(l);if(g&&m)return g==l&&m==o;var y=-1,b=!0,w=c&a?new t:void 0;for(f.set(o,l),f.set(l,o);++y<v;){var C=o[y],x=l[y];if(u)var k=h?u(x,C,y,l,o,f):u(C,x,y,o,l,f);if(k!==void 0){if(k)continue;b=!1;break}if(w){if(!e(l,function(E,_){if(!r(w,_)&&(C===E||d(C,E,c,u,f)))return w.push(_)})){b=!1;break}}else if(!(C===x||d(C,x,c,u,f))){b=!1;break}}return f.delete(o),f.delete(l),b}return nh=i,nh}var ah,nx;function t8(){if(nx)return ah;nx=1;function t(e){var r=-1,n=Array(e.size);return e.forEach(function(a,i){n[++r]=[i,a]}),n}return ah=t,ah}var ih,ax;function oh(){if(ax)return ih;ax=1;function t(e){var r=-1,n=Array(e.size);return e.forEach(function(a){n[++r]=a}),n}return ih=t,ih}var sh,ix;function r8(){if(ix)return sh;ix=1;var t=li(),e=vE(),r=si(),n=rx(),a=t8(),i=oh(),o=1,l=2,c="[object Boolean]",u="[object Date]",d="[object Error]",f="[object Map]",h="[object Number]",v="[object RegExp]",p="[object Set]",g="[object String]",m="[object Symbol]",y="[object ArrayBuffer]",b="[object DataView]",w=t?t.prototype:void 0,C=w?w.valueOf:void 0;function x(k,E,_,S,T,N,B){switch(_){case b:if(k.byteLength!=E.byteLength||k.byteOffset!=E.byteOffset)return!1;k=k.buffer,E=E.buffer;case y:return!(k.byteLength!=E.byteLength||!N(new e(k),new e(E)));case c:case u:case h:return r(+k,+E);case d:return k.name==E.name&&k.message==E.message;case v:case g:return k==E+"";case f:var O=a;case p:var D=S&o;if(O||(O=i),k.size!=E.size&&!D)return!1;var R=B.get(k);if(R)return R==E;S|=l,B.set(k,E);var P=n(O(k),O(E),S,T,N,B);return B.delete(k),P;case m:if(C)return C.call(k)==C.call(E)}return!1}return sh=x,sh}var lh,ox;function n8(){if(ox)return lh;ox=1;var t=iE(),e=1,r=Object.prototype,n=r.hasOwnProperty;function a(i,o,l,c,u,d){var f=l&e,h=t(i),v=h.length,p=t(o),g=p.length;if(v!=g&&!f)return!1;for(var m=v;m--;){var y=h[m];if(!(f?y in o:n.call(o,y)))return!1}var b=d.get(i),w=d.get(o);if(b&&w)return b==o&&w==i;var C=!0;d.set(i,o),d.set(o,i);for(var x=f;++m<v;){y=h[m];var k=i[y],E=o[y];if(c)var _=f?c(E,k,y,o,i,d):c(k,E,y,i,o,d);if(!(_===void 0?k===E||u(k,E,l,c,d):_)){C=!1;break}x||(x=y=="constructor")}if(C&&!x){var S=i.constructor,T=o.constructor;S!=T&&"constructor"in i&&"constructor"in o&&!(typeof S=="function"&&S instanceof S&&typeof T=="function"&&T instanceof T)&&(C=!1)}return d.delete(i),d.delete(o),C}return lh=a,lh}var uh,sx;function a8(){if(sx)return uh;sx=1;var t=cl(),e=rx(),r=r8(),n=n8(),a=ci(),i=at(),o=ui(),l=So(),c=1,u="[object Arguments]",d="[object Array]",f="[object Object]",h=Object.prototype,v=h.hasOwnProperty;function p(g,m,y,b,w,C){var x=i(g),k=i(m),E=x?d:a(g),_=k?d:a(m);E=E==u?f:E,_=_==u?f:_;var S=E==f,T=_==f,N=E==_;if(N&&o(g)){if(!o(m))return!1;x=!0,S=!1}if(N&&!S)return C||(C=new t),x||l(g)?e(g,m,y,b,w,C):r(g,m,E,y,b,w,C);if(!(y&c)){var B=S&&v.call(g,"__wrapped__"),O=T&&v.call(m,"__wrapped__");if(B||O){var D=B?g.value():g,R=O?m.value():m;return C||(C=new t),w(D,R,y,b,C)}}return N?(C||(C=new t),n(g,m,y,b,w,C)):!1}return uh=p,uh}var ch,lx;function ux(){if(lx)return ch;lx=1;var t=a8(),e=Rr();function r(n,a,i,o,l){return n===a?!0:n==null||a==null||!e(n)&&!e(a)?n!==n&&a!==a:t(n,a,i,o,r,l)}return ch=r,ch}var dh,cx;function i8(){if(cx)return dh;cx=1;var t=cl(),e=ux(),r=1,n=2;function a(i,o,l,c){var u=l.length,d=u,f=!c;if(i==null)return!d;for(i=Object(i);u--;){var h=l[u];if(f&&h[2]?h[1]!==i[h[0]]:!(h[0]in i))return!1}for(;++u<d;){h=l[u];var v=h[0],p=i[v],g=h[1];if(f&&h[2]){if(p===void 0&&!(v in i))return!1}else{var m=new t;if(c)var y=c(p,g,v,i,o,m);if(!(y===void 0?e(g,p,r|n,c,m):y))return!1}}return!0}return dh=a,dh}var fh,dx;function fx(){if(dx)return fh;dx=1;var t=or();function e(r){return r===r&&!t(r)}return fh=e,fh}var hh,hx;function o8(){if(hx)return hh;hx=1;var t=fx(),e=Dn();function r(n){for(var a=e(n),i=a.length;i--;){var o=a[i],l=n[o];a[i]=[o,l,t(l)]}return a}return hh=r,hh}var ph,px;function vx(){if(px)return ph;px=1;function t(e,r){return function(n){return n==null?!1:n[e]===r&&(r!==void 0||e in Object(n))}}return ph=t,ph}var vh,gx;function s8(){if(gx)return vh;gx=1;var t=i8(),e=o8(),r=vx();function n(a){var i=e(a);return i.length==1&&i[0][2]?r(i[0][0],i[0][1]):function(o){return o===a||t(o,a,i)}}return vh=n,vh}var gh,mx;function di(){if(mx)return gh;mx=1;var t=da(),e=Rr(),r="[object Symbol]";function n(a){return typeof a=="symbol"||e(a)&&t(a)==r}return gh=n,gh}var mh,yx;function yh(){if(yx)return mh;yx=1;var t=at(),e=di(),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,n=/^\w*$/;function a(i,o){if(t(i))return!1;var l=typeof i;return l=="number"||l=="symbol"||l=="boolean"||i==null||e(i)?!0:n.test(i)||!r.test(i)||o!=null&&i in Object(o)}return mh=a,mh}var bh,bx;function l8(){if(bx)return bh;bx=1;var t=wd(),e="Expected a function";function r(n,a){if(typeof n!="function"||a!=null&&typeof a!="function")throw new TypeError(e);var i=function(){var o=arguments,l=a?a.apply(this,o):o[0],c=i.cache;if(c.has(l))return c.get(l);var u=n.apply(this,o);return i.cache=c.set(l,u)||c,u};return i.cache=new(r.Cache||t),i}return r.Cache=t,bh=r,bh}var wh,wx;function u8(){if(wx)return wh;wx=1;var t=l8(),e=500;function r(n){var a=t(n,function(o){return i.size===e&&i.clear(),o}),i=a.cache;return a}return wh=r,wh}var Ch,Cx;function c8(){if(Cx)return Ch;Cx=1;var t=u8(),e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,r=/\\(\\)?/g,n=t(function(a){var i=[];return a.charCodeAt(0)===46&&i.push(""),a.replace(e,function(o,l,c,u){i.push(c?u.replace(r,"$1"):l||o)}),i});return Ch=n,Ch}var Eh,Ex;function yl(){if(Ex)return Eh;Ex=1;function t(e,r){for(var n=-1,a=e==null?0:e.length,i=Array(a);++n<a;)i[n]=r(e[n],n,e);return i}return Eh=t,Eh}var xh,xx;function d8(){if(xx)return xh;xx=1;var t=li(),e=yl(),r=at(),n=di(),a=1/0,i=t?t.prototype:void 0,o=i?i.toString:void 0;function l(c){if(typeof c=="string")return c;if(r(c))return e(c,l)+"";if(n(c))return o?o.call(c):"";var u=c+"";return u=="0"&&1/c==-a?"-0":u}return xh=l,xh}var kh,kx;function Sx(){if(kx)return kh;kx=1;var t=d8();function e(r){return r==null?"":t(r)}return kh=e,kh}var Sh,_x;function bl(){if(_x)return Sh;_x=1;var t=at(),e=yh(),r=c8(),n=Sx();function a(i,o){return t(i)?i:e(i,o)?[i]:r(n(i))}return Sh=a,Sh}var _h,Tx;function To(){if(Tx)return _h;Tx=1;var t=di(),e=1/0;function r(n){if(typeof n=="string"||t(n))return n;var a=n+"";return a=="0"&&1/n==-e?"-0":a}return _h=r,_h}var Th,Nx;function wl(){if(Nx)return Th;Nx=1;var t=bl(),e=To();function r(n,a){a=t(a,n);for(var i=0,o=a.length;n!=null&&i<o;)n=n[e(a[i++])];return i&&i==o?n:void 0}return Th=r,Th}var Nh,Ix;function f8(){if(Ix)return Nh;Ix=1;var t=wl();function e(r,n,a){var i=r==null?void 0:t(r,n);return i===void 0?a:i}return Nh=e,Nh}var Ih,Bx;function h8(){if(Bx)return Ih;Bx=1;function t(e,r){return e!=null&&r in Object(e)}return Ih=t,Ih}var Bh,Dx;function Ox(){if(Dx)return Bh;Dx=1;var t=bl(),e=Eo(),r=at(),n=hl(),a=Md(),i=To();function o(l,c,u){c=t(c,l);for(var d=-1,f=c.length,h=!1;++d<f;){var v=i(c[d]);if(!(h=l!=null&&u(l,v)))break;l=l[v]}return h||++d!=f?h:(f=l==null?0:l.length,!!f&&a(f)&&n(v,f)&&(r(l)||e(l)))}return Bh=o,Bh}var Dh,Px;function Ax(){if(Px)return Dh;Px=1;var t=h8(),e=Ox();function r(n,a){return n!=null&&e(n,a,t)}return Dh=r,Dh}var Oh,Rx;function p8(){if(Rx)return Oh;Rx=1;var t=ux(),e=f8(),r=Ax(),n=yh(),a=fx(),i=vx(),o=To(),l=1,c=2;function u(d,f){return n(d)&&a(f)?i(o(d),f):function(h){var v=e(h,d);return v===void 0&&v===f?r(h,d):t(f,v,l|c)}}return Oh=u,Oh}var Ph,Lx;function Mx(){if(Lx)return Ph;Lx=1;function t(e){return function(r){return r==null?void 0:r[e]}}return Ph=t,Ph}var Ah,Fx;function v8(){if(Fx)return Ah;Fx=1;var t=wl();function e(r){return function(n){return t(n,r)}}return Ah=e,Ah}var Rh,$x;function g8(){if($x)return Rh;$x=1;var t=Mx(),e=v8(),r=yh(),n=To();function a(i){return r(i)?t(n(i)):e(i)}return Rh=a,Rh}var Lh,Vx;function tn(){if(Vx)return Lh;Vx=1;var t=s8(),e=p8(),r=pa(),n=at(),a=g8();function i(o){return typeof o=="function"?o:o==null?r:typeof o=="object"?n(o)?e(o[0],o[1]):t(o):a(o)}return Lh=i,Lh}var Mh,qx;function zx(){if(qx)return Mh;qx=1;var t=UC(),e=X4(),r=tn(),n=at();function a(i,o){var l=n(i)?t:e;return l(i,r(o,3))}return Mh=a,Mh}var Fh,Hx;function m8(){if(Hx)return Fh;Hx=1;var t=Object.prototype,e=t.hasOwnProperty;function r(n,a){return n!=null&&e.call(n,a)}return Fh=r,Fh}var $h,Kx;function Gx(){if(Kx)return $h;Kx=1;var t=m8(),e=Ox();function r(n,a){return n!=null&&e(n,a,t)}return $h=r,$h}var Vh,Ux;function y8(){if(Ux)return Vh;Ux=1;var t=jd(),e=ci(),r=Eo(),n=at(),a=en(),i=ui(),o=vl(),l=So(),c="[object Map]",u="[object Set]",d=Object.prototype,f=d.hasOwnProperty;function h(v){if(v==null)return!0;if(a(v)&&(n(v)||typeof v=="string"||typeof v.splice=="function"||i(v)||l(v)||r(v)))return!v.length;var p=e(v);if(p==c||p==u)return!v.size;if(o(v))return!t(v).length;for(var g in v)if(f.call(v,g))return!1;return!0}return Vh=h,Vh}var qh,jx;function Wx(){if(jx)return qh;jx=1;function t(e){return e===void 0}return qh=t,qh}var zh,Yx;function Zx(){if(Yx)return zh;Yx=1;var t=ml(),e=en();function r(n,a){var i=-1,o=e(n)?Array(n.length):[];return t(n,function(l,c,u){o[++i]=a(l,c,u)}),o}return zh=r,zh}var Hh,Xx;function Jx(){if(Xx)return Hh;Xx=1;var t=yl(),e=tn(),r=Zx(),n=at();function a(i,o){var l=n(i)?t:r;return l(i,e(o,3))}return Hh=a,Hh}var Kh,Qx;function b8(){if(Qx)return Kh;Qx=1;function t(e,r,n,a){var i=-1,o=e==null?0:e.length;for(a&&o&&(n=e[++i]);++i<o;)n=r(n,e[i],i,e);return n}return Kh=t,Kh}var Gh,ek;function w8(){if(ek)return Gh;ek=1;function t(e,r,n,a,i){return i(e,function(o,l,c){n=a?(a=!1,o):r(n,o,l,c)}),n}return Gh=t,Gh}var Uh,tk;function rk(){if(tk)return Uh;tk=1;var t=b8(),e=ml(),r=tn(),n=w8(),a=at();function i(o,l,c){var u=a(o)?t:n,d=arguments.length<3;return u(o,r(l,4),c,d,e)}return Uh=i,Uh}var jh,nk;function C8(){if(nk)return jh;nk=1;var t=da(),e=at(),r=Rr(),n="[object String]";function a(i){return typeof i=="string"||!e(i)&&r(i)&&t(i)==n}return jh=a,jh}var Wh,ak;function E8(){if(ak)return Wh;ak=1;var t=Mx(),e=t("length");return Wh=e,Wh}var Yh,ik;function x8(){if(ik)return Yh;ik=1;var t="\\ud800-\\udfff",e="\\u0300-\\u036f",r="\\ufe20-\\ufe2f",n="\\u20d0-\\u20ff",a=e+r+n,i="\\ufe0e\\ufe0f",o="\\u200d",l=RegExp("["+o+t+a+i+"]");function c(u){return l.test(u)}return Yh=c,Yh}var Zh,ok;function k8(){if(ok)return Zh;ok=1;var t="\\ud800-\\udfff",e="\\u0300-\\u036f",r="\\ufe20-\\ufe2f",n="\\u20d0-\\u20ff",a=e+r+n,i="\\ufe0e\\ufe0f",o="["+t+"]",l="["+a+"]",c="\\ud83c[\\udffb-\\udfff]",u="(?:"+l+"|"+c+")",d="[^"+t+"]",f="(?:\\ud83c[\\udde6-\\uddff]){2}",h="[\\ud800-\\udbff][\\udc00-\\udfff]",v="\\u200d",p=u+"?",g="["+i+"]?",m="(?:"+v+"(?:"+[d,f,h].join("|")+")"+g+p+")*",y=g+p+m,b="(?:"+[d+l+"?",l,f,h,o].join("|")+")",w=RegExp(c+"(?="+c+")|"+b+y,"g");function C(x){for(var k=w.lastIndex=0;w.test(x);)++k;return k}return Zh=C,Zh}var Xh,sk;function S8(){if(sk)return Xh;sk=1;var t=E8(),e=x8(),r=k8();function n(a){return e(a)?r(a):t(a)}return Xh=n,Xh}var Jh,lk;function _8(){if(lk)return Jh;lk=1;var t=jd(),e=ci(),r=en(),n=C8(),a=S8(),i="[object Map]",o="[object Set]";function l(c){if(c==null)return 0;if(r(c))return n(c)?a(c):c.length;var u=e(c);return u==i||u==o?c.size:t(c).length}return Jh=l,Jh}var Qh,uk;function T8(){if(uk)return Qh;uk=1;var t=kd(),e=kE(),r=Kf(),n=tn(),a=gl(),i=at(),o=ui(),l=wo(),c=or(),u=So();function d(f,h,v){var p=i(f),g=p||o(f)||u(f);if(h=n(h,4),v==null){var m=f&&f.constructor;g?v=p?new m:[]:c(f)?v=l(m)?e(a(f)):{}:v={}}return(g?t:r)(f,function(y,b,w){return h(v,y,b,w)}),v}return Qh=d,Qh}var ep,ck;function N8(){if(ck)return ep;ck=1;var t=li(),e=Eo(),r=at(),n=t?t.isConcatSpreadable:void 0;function a(i){return r(i)||e(i)||!!(n&&i&&i[n])}return ep=a,ep}var tp,dk;function rp(){if(dk)return tp;dk=1;var t=uf(),e=N8();function r(n,a,i,o,l){var c=-1,u=n.length;for(i||(i=e),l||(l=[]);++c<u;){var d=n[c];a>0&&i(d)?a>1?r(d,a-1,i,o,l):t(l,d):o||(l[l.length]=d)}return l}return tp=r,tp}var np,fk;function I8(){if(fk)return np;fk=1;function t(e,r,n){switch(n.length){case 0:return e.call(r);case 1:return e.call(r,n[0]);case 2:return e.call(r,n[0],n[1]);case 3:return e.call(r,n[0],n[1],n[2])}return e.apply(r,n)}return np=t,np}var ap,hk;function pk(){if(hk)return ap;hk=1;var t=I8(),e=Math.max;function r(n,a,i){return a=e(a===void 0?n.length-1:a,0),function(){for(var o=arguments,l=-1,c=e(o.length-a,0),u=Array(c);++l<c;)u[l]=o[a+l];l=-1;for(var d=Array(a+1);++l<a;)d[l]=o[l];return d[a]=i(u),t(n,this,d)}}return ap=r,ap}var ip,vk;function B8(){if(vk)return ip;vk=1;var t=$f(),e=cC(),r=pa(),n=e?function(a,i){return e(a,"toString",{configurable:!0,enumerable:!1,value:t(i),writable:!0})}:r;return ip=n,ip}var op,gk;function D8(){if(gk)return op;gk=1;var t=800,e=16,r=Date.now;function n(a){var i=0,o=0;return function(){var l=r(),c=e-(l-o);if(o=l,c>0){if(++i>=t)return arguments[0]}else i=0;return a.apply(void 0,arguments)}}return op=n,op}var sp,mk;function yk(){if(mk)return sp;mk=1;var t=B8(),e=D8(),r=e(t);return sp=r,sp}var lp,bk;function Cl(){if(bk)return lp;bk=1;var t=pa(),e=pk(),r=yk();function n(a,i){return r(e(a,i,t),a+"")}return lp=n,lp}var up,wk;function Ck(){if(wk)return up;wk=1;function t(e,r,n,a){for(var i=e.length,o=n+(a?1:-1);a?o--:++o<i;)if(r(e[o],o,e))return o;return-1}return up=t,up}var cp,Ek;function O8(){if(Ek)return cp;Ek=1;function t(e){return e!==e}return cp=t,cp}var dp,xk;function P8(){if(xk)return dp;xk=1;function t(e,r,n){for(var a=n-1,i=e.length;++a<i;)if(e[a]===r)return a;return-1}return dp=t,dp}var fp,kk;function A8(){if(kk)return fp;kk=1;var t=Ck(),e=O8(),r=P8();function n(a,i,o){return i===i?r(a,i,o):t(a,e,o)}return fp=n,fp}var hp,Sk;function R8(){if(Sk)return hp;Sk=1;var t=A8();function e(r,n){var a=r==null?0:r.length;return!!a&&t(r,n,0)>-1}return hp=e,hp}var pp,_k;function L8(){if(_k)return pp;_k=1;function t(e,r,n){for(var a=-1,i=e==null?0:e.length;++a<i;)if(n(r,e[a]))return!0;return!1}return pp=t,pp}var vp,Tk;function M8(){if(Tk)return vp;Tk=1;function t(){}return vp=t,vp}var gp,Nk;function F8(){if(Nk)return gp;Nk=1;var t=cE(),e=M8(),r=oh(),n=1/0,a=t&&1/r(new t([,-0]))[1]==n?function(i){return new t(i)}:e;return gp=a,gp}var mp,Ik;function $8(){if(Ik)return mp;Ik=1;var t=XE(),e=R8(),r=L8(),n=ex(),a=F8(),i=oh(),o=200;function l(c,u,d){var f=-1,h=e,v=c.length,p=!0,g=[],m=g;if(d)p=!1,h=r;else if(v>=o){var y=u?null:a(c);if(y)return i(y);p=!1,h=n,m=new t}else m=u?[]:g;e:for(;++f<v;){var b=c[f],w=u?u(b):b;if(b=d||b!==0?b:0,p&&w===w){for(var C=m.length;C--;)if(m[C]===w)continue e;u&&m.push(w),g.push(b)}else h(m,w,d)||(m!==g&&m.push(w),g.push(b))}return g}return mp=l,mp}var yp,Bk;function Dk(){if(Bk)return yp;Bk=1;var t=en(),e=Rr();function r(n){return e(n)&&t(n)}return yp=r,yp}var bp,Ok;function V8(){if(Ok)return bp;Ok=1;var t=rp(),e=Cl(),r=$8(),n=Dk(),a=e(function(i){return r(t(i,1,n,!0))});return bp=a,bp}var wp,Pk;function q8(){if(Pk)return wp;Pk=1;var t=yl();function e(r,n){return t(n,function(a){return r[a]})}return wp=e,wp}var Cp,Ak;function Rk(){if(Ak)return Cp;Ak=1;var t=q8(),e=Dn();function r(n){return n==null?[]:t(n,e(n))}return Cp=r,Cp}var Ep,Lk;function sr(){if(Lk)return Ep;Lk=1;var t;if(typeof Bc=="function")try{t={clone:W4(),constant:$f(),each:UE(),filter:zx(),has:Gx(),isArray:at(),isEmpty:y8(),isFunction:wo(),isUndefined:Wx(),keys:Dn(),map:Jx(),reduce:rk(),size:_8(),transform:T8(),union:V8(),values:Rk()}}catch{}return t||(t=window._),Ep=t,Ep}var xp,Mk;function kp(){if(Mk)return xp;Mk=1;var t=sr();xp=a;var e="\0",r="\0",n="";function a(d){this._isDirected=t.has(d,"directed")?d.directed:!0,this._isMultigraph=t.has(d,"multigraph")?d.multigraph:!1,this._isCompound=t.has(d,"compound")?d.compound:!1,this._label=void 0,this._defaultNodeLabelFn=t.constant(void 0),this._defaultEdgeLabelFn=t.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[r]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}a.prototype._nodeCount=0,a.prototype._edgeCount=0,a.prototype.isDirected=function(){return this._isDirected},a.prototype.isMultigraph=function(){return this._isMultigraph},a.prototype.isCompound=function(){return this._isCompound},a.prototype.setGraph=function(d){return this._label=d,this},a.prototype.graph=function(){return this._label},a.prototype.setDefaultNodeLabel=function(d){return t.isFunction(d)||(d=t.constant(d)),this._defaultNodeLabelFn=d,this},a.prototype.nodeCount=function(){return this._nodeCount},a.prototype.nodes=function(){return t.keys(this._nodes)},a.prototype.sources=function(){var d=this;return t.filter(this.nodes(),function(f){return t.isEmpty(d._in[f])})},a.prototype.sinks=function(){var d=this;return t.filter(this.nodes(),function(f){return t.isEmpty(d._out[f])})},a.prototype.setNodes=function(d,f){var h=arguments,v=this;return t.each(d,function(p){h.length>1?v.setNode(p,f):v.setNode(p)}),this},a.prototype.setNode=function(d,f){return t.has(this._nodes,d)?(arguments.length>1&&(this._nodes[d]=f),this):(this._nodes[d]=arguments.length>1?f:this._defaultNodeLabelFn(d),this._isCompound&&(this._parent[d]=r,this._children[d]={},this._children[r][d]=!0),this._in[d]={},this._preds[d]={},this._out[d]={},this._sucs[d]={},++this._nodeCount,this)},a.prototype.node=function(d){return this._nodes[d]},a.prototype.hasNode=function(d){return t.has(this._nodes,d)},a.prototype.removeNode=function(d){var f=this;if(t.has(this._nodes,d)){var h=function(v){f.removeEdge(f._edgeObjs[v])};delete this._nodes[d],this._isCompound&&(this._removeFromParentsChildList(d),delete this._parent[d],t.each(this.children(d),function(v){f.setParent(v)}),delete this._children[d]),t.each(t.keys(this._in[d]),h),delete this._in[d],delete this._preds[d],t.each(t.keys(this._out[d]),h),delete this._out[d],delete this._sucs[d],--this._nodeCount}return this},a.prototype.setParent=function(d,f){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(t.isUndefined(f))f=r;else{f+="";for(var h=f;!t.isUndefined(h);h=this.parent(h))if(h===d)throw new Error("Setting "+f+" as parent of "+d+" would create a cycle");this.setNode(f)}return this.setNode(d),this._removeFromParentsChildList(d),this._parent[d]=f,this._children[f][d]=!0,this},a.prototype._removeFromParentsChildList=function(d){delete this._children[this._parent[d]][d]},a.prototype.parent=function(d){if(this._isCompound){var f=this._parent[d];if(f!==r)return f}},a.prototype.children=function(d){if(t.isUndefined(d)&&(d=r),this._isCompound){var f=this._children[d];if(f)return t.keys(f)}else{if(d===r)return this.nodes();if(this.hasNode(d))return[]}},a.prototype.predecessors=function(d){var f=this._preds[d];if(f)return t.keys(f)},a.prototype.successors=function(d){var f=this._sucs[d];if(f)return t.keys(f)},a.prototype.neighbors=function(d){var f=this.predecessors(d);if(f)return t.union(f,this.successors(d))},a.prototype.isLeaf=function(d){var f;return this.isDirected()?f=this.successors(d):f=this.neighbors(d),f.length===0},a.prototype.filterNodes=function(d){var f=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});f.setGraph(this.graph());var h=this;t.each(this._nodes,function(g,m){d(m)&&f.setNode(m,g)}),t.each(this._edgeObjs,function(g){f.hasNode(g.v)&&f.hasNode(g.w)&&f.setEdge(g,h.edge(g))});var v={};function p(g){var m=h.parent(g);return m===void 0||f.hasNode(m)?(v[g]=m,m):m in v?v[m]:p(m)}return this._isCompound&&t.each(f.nodes(),function(g){f.setParent(g,p(g))}),f},a.prototype.setDefaultEdgeLabel=function(d){return t.isFunction(d)||(d=t.constant(d)),this._defaultEdgeLabelFn=d,this},a.prototype.edgeCount=function(){return this._edgeCount},a.prototype.edges=function(){return t.values(this._edgeObjs)},a.prototype.setPath=function(d,f){var h=this,v=arguments;return t.reduce(d,function(p,g){return v.length>1?h.setEdge(p,g,f):h.setEdge(p,g),g}),this},a.prototype.setEdge=function(){var d,f,h,v,p=!1,g=arguments[0];typeof g=="object"&&g!==null&&"v"in g?(d=g.v,f=g.w,h=g.name,arguments.length===2&&(v=arguments[1],p=!0)):(d=g,f=arguments[1],h=arguments[3],arguments.length>2&&(v=arguments[2],p=!0)),d=""+d,f=""+f,t.isUndefined(h)||(h=""+h);var m=l(this._isDirected,d,f,h);if(t.has(this._edgeLabels,m))return p&&(this._edgeLabels[m]=v),this;if(!t.isUndefined(h)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(d),this.setNode(f),this._edgeLabels[m]=p?v:this._defaultEdgeLabelFn(d,f,h);var y=c(this._isDirected,d,f,h);return d=y.v,f=y.w,Object.freeze(y),this._edgeObjs[m]=y,i(this._preds[f],d),i(this._sucs[d],f),this._in[f][m]=y,this._out[d][m]=y,this._edgeCount++,this},a.prototype.edge=function(d,f,h){var v=arguments.length===1?u(this._isDirected,arguments[0]):l(this._isDirected,d,f,h);return this._edgeLabels[v]},a.prototype.hasEdge=function(d,f,h){var v=arguments.length===1?u(this._isDirected,arguments[0]):l(this._isDirected,d,f,h);return t.has(this._edgeLabels,v)},a.prototype.removeEdge=function(d,f,h){var v=arguments.length===1?u(this._isDirected,arguments[0]):l(this._isDirected,d,f,h),p=this._edgeObjs[v];return p&&(d=p.v,f=p.w,delete this._edgeLabels[v],delete this._edgeObjs[v],o(this._preds[f],d),o(this._sucs[d],f),delete this._in[f][v],delete this._out[d][v],this._edgeCount--),this},a.prototype.inEdges=function(d,f){var h=this._in[d];if(h){var v=t.values(h);return f?t.filter(v,function(p){return p.v===f}):v}},a.prototype.outEdges=function(d,f){var h=this._out[d];if(h){var v=t.values(h);return f?t.filter(v,function(p){return p.w===f}):v}},a.prototype.nodeEdges=function(d,f){var h=this.inEdges(d,f);if(h)return h.concat(this.outEdges(d,f))};function i(d,f){d[f]?d[f]++:d[f]=1}function o(d,f){--d[f]||delete d[f]}function l(d,f,h,v){var p=""+f,g=""+h;if(!d&&p>g){var m=p;p=g,g=m}return p+n+g+n+(t.isUndefined(v)?e:v)}function c(d,f,h,v){var p=""+f,g=""+h;if(!d&&p>g){var m=p;p=g,g=m}var y={v:p,w:g};return v&&(y.name=v),y}function u(d,f){return l(d,f.v,f.w,f.name)}return xp}var Sp,Fk;function z8(){return Fk||(Fk=1,Sp="2.1.8"),Sp}var _p,$k;function H8(){return $k||($k=1,_p={Graph:kp(),version:z8()}),_p}var Tp,Vk;function K8(){if(Vk)return Tp;Vk=1;var t=sr(),e=kp();Tp={write:r,read:i};function r(o){var l={options:{directed:o.isDirected(),multigraph:o.isMultigraph(),compound:o.isCompound()},nodes:n(o),edges:a(o)};return t.isUndefined(o.graph())||(l.value=t.clone(o.graph())),l}function n(o){return t.map(o.nodes(),function(l){var c=o.node(l),u=o.parent(l),d={v:l};return t.isUndefined(c)||(d.value=c),t.isUndefined(u)||(d.parent=u),d})}function a(o){return t.map(o.edges(),function(l){var c=o.edge(l),u={v:l.v,w:l.w};return t.isUndefined(l.name)||(u.name=l.name),t.isUndefined(c)||(u.value=c),u})}function i(o){var l=new e(o.options).setGraph(o.value);return t.each(o.nodes,function(c){l.setNode(c.v,c.value),c.parent&&l.setParent(c.v,c.parent)}),t.each(o.edges,function(c){l.setEdge({v:c.v,w:c.w,name:c.name},c.value)}),l}return Tp}var Np,qk;function G8(){if(qk)return Np;qk=1;var t=sr();Np=e;function e(r){var n={},a=[],i;function o(l){t.has(n,l)||(n[l]=!0,i.push(l),t.each(r.successors(l),o),t.each(r.predecessors(l),o))}return t.each(r.nodes(),function(l){i=[],o(l),i.length&&a.push(i)}),a}return Np}var Ip,zk;function Hk(){if(zk)return Ip;zk=1;var t=sr();Ip=e;function e(){this._arr=[],this._keyIndices={}}return e.prototype.size=function(){return this._arr.length},e.prototype.keys=function(){return this._arr.map(function(r){return r.key})},e.prototype.has=function(r){return t.has(this._keyIndices,r)},e.prototype.priority=function(r){var n=this._keyIndices[r];if(n!==void 0)return this._arr[n].priority},e.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},e.prototype.add=function(r,n){var a=this._keyIndices;if(r=String(r),!t.has(a,r)){var i=this._arr,o=i.length;return a[r]=o,i.push({key:r,priority:n}),this._decrease(o),!0}return!1},e.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var r=this._arr.pop();return delete this._keyIndices[r.key],this._heapify(0),r.key},e.prototype.decrease=function(r,n){var a=this._keyIndices[r];if(n>this._arr[a].priority)throw new Error("New priority is greater than current priority. Key: "+r+" Old: "+this._arr[a].priority+" New: "+n);this._arr[a].priority=n,this._decrease(a)},e.prototype._heapify=function(r){var n=this._arr,a=2*r,i=a+1,o=r;a<n.length&&(o=n[a].priority<n[o].priority?a:o,i<n.length&&(o=n[i].priority<n[o].priority?i:o),o!==r&&(this._swap(r,o),this._heapify(o)))},e.prototype._decrease=function(r){for(var n=this._arr,a=n[r].priority,i;r!==0&&(i=r>>1,!(n[i].priority<a));)this._swap(r,i),r=i},e.prototype._swap=function(r,n){var a=this._arr,i=this._keyIndices,o=a[r],l=a[n];a[r]=l,a[n]=o,i[l.key]=r,i[o.key]=n},Ip}var Bp,Kk;function Gk(){if(Kk)return Bp;Kk=1;var t=sr(),e=Hk();Bp=n;var r=t.constant(1);function n(i,o,l,c){return a(i,String(o),l||r,c||function(u){return i.outEdges(u)})}function a(i,o,l,c){var u={},d=new e,f,h,v=function(p){var g=p.v!==f?p.v:p.w,m=u[g],y=l(p),b=h.distance+y;if(y<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+p+" Weight: "+y);b<m.distance&&(m.distance=b,m.predecessor=f,d.decrease(g,b))};for(i.nodes().forEach(function(p){var g=p===o?0:Number.POSITIVE_INFINITY;u[p]={distance:g},d.add(p,g)});d.size()>0&&(f=d.removeMin(),h=u[f],h.distance!==Number.POSITIVE_INFINITY);)c(f).forEach(v);return u}return Bp}var Dp,Uk;function U8(){if(Uk)return Dp;Uk=1;var t=Gk(),e=sr();Dp=r;function r(n,a,i){return e.transform(n.nodes(),function(o,l){o[l]=t(n,l,a,i)},{})}return Dp}var Op,jk;function Wk(){if(jk)return Op;jk=1;var t=sr();Op=e;function e(r){var n=0,a=[],i={},o=[];function l(c){var u=i[c]={onStack:!0,lowlink:n,index:n++};if(a.push(c),r.successors(c).forEach(function(h){t.has(i,h)?i[h].onStack&&(u.lowlink=Math.min(u.lowlink,i[h].index)):(l(h),u.lowlink=Math.min(u.lowlink,i[h].lowlink))}),u.lowlink===u.index){var d=[],f;do f=a.pop(),i[f].onStack=!1,d.push(f);while(c!==f);o.push(d)}}return r.nodes().forEach(function(c){t.has(i,c)||l(c)}),o}return Op}var Pp,Yk;function j8(){if(Yk)return Pp;Yk=1;var t=sr(),e=Wk();Pp=r;function r(n){return t.filter(e(n),function(a){return a.length>1||a.length===1&&n.hasEdge(a[0],a[0])})}return Pp}var Ap,Zk;function W8(){if(Zk)return Ap;Zk=1;var t=sr();Ap=r;var e=t.constant(1);function r(a,i,o){return n(a,i||e,o||function(l){return a.outEdges(l)})}function n(a,i,o){var l={},c=a.nodes();return c.forEach(function(u){l[u]={},l[u][u]={distance:0},c.forEach(function(d){u!==d&&(l[u][d]={distance:Number.POSITIVE_INFINITY})}),o(u).forEach(function(d){var f=d.v===u?d.w:d.v,h=i(d);l[u][f]={distance:h,predecessor:u}})}),c.forEach(function(u){var d=l[u];c.forEach(function(f){var h=l[f];c.forEach(function(v){var p=h[u],g=d[v],m=h[v],y=p.distance+g.distance;y<m.distance&&(m.distance=y,m.predecessor=g.predecessor)})})}),l}return Ap}var Rp,Xk;function Jk(){if(Xk)return Rp;Xk=1;var t=sr();Rp=e,e.CycleException=r;function e(n){var a={},i={},o=[];function l(c){if(t.has(i,c))throw new r;t.has(a,c)||(i[c]=!0,a[c]=!0,t.each(n.predecessors(c),l),delete i[c],o.push(c))}if(t.each(n.sinks(),l),t.size(a)!==n.nodeCount())throw new r;return o}function r(){}return r.prototype=new Error,Rp}var Lp,Qk;function Y8(){if(Qk)return Lp;Qk=1;var t=Jk();Lp=e;function e(r){try{t(r)}catch(n){if(n instanceof t.CycleException)return!1;throw n}return!0}return Lp}var Mp,e2;function t2(){if(e2)return Mp;e2=1;var t=sr();Mp=e;function e(n,a,i){t.isArray(a)||(a=[a]);var o=(n.isDirected()?n.successors:n.neighbors).bind(n),l=[],c={};return t.each(a,function(u){if(!n.hasNode(u))throw new Error("Graph does not have node: "+u);r(n,u,i==="post",c,o,l)}),l}function r(n,a,i,o,l,c){t.has(o,a)||(o[a]=!0,i||c.push(a),t.each(l(a),function(u){r(n,u,i,o,l,c)}),i&&c.push(a))}return Mp}var Fp,r2;function Z8(){if(r2)return Fp;r2=1;var t=t2();Fp=e;function e(r,n){return t(r,n,"post")}return Fp}var $p,n2;function X8(){if(n2)return $p;n2=1;var t=t2();$p=e;function e(r,n){return t(r,n,"pre")}return $p}var Vp,a2;function J8(){if(a2)return Vp;a2=1;var t=sr(),e=kp(),r=Hk();Vp=n;function n(a,i){var o=new e,l={},c=new r,u;function d(h){var v=h.v===u?h.w:h.v,p=c.priority(v);if(p!==void 0){var g=i(h);g<p&&(l[v]=u,c.decrease(v,g))}}if(a.nodeCount()===0)return o;t.each(a.nodes(),function(h){c.add(h,Number.POSITIVE_INFINITY),o.setNode(h)}),c.decrease(a.nodes()[0],0);for(var f=!1;c.size()>0;){if(u=c.removeMin(),t.has(l,u))o.setEdge(u,l[u]);else{if(f)throw new Error("Input graph is not connected: "+a);f=!0}a.nodeEdges(u).forEach(d)}return o}return Vp}var qp,i2;function Q8(){return i2||(i2=1,qp={components:G8(),dijkstra:Gk(),dijkstraAll:U8(),findCycles:j8(),floydWarshall:W8(),isAcyclic:Y8(),postorder:Z8(),preorder:X8(),prim:J8(),tarjan:Wk(),topsort:Jk()}),qp}var zp,o2;function e9(){if(o2)return zp;o2=1;var t=H8();return zp={Graph:t.Graph,json:K8(),alg:Q8(),version:t.version},zp}var Hp,s2;function wr(){if(s2)return Hp;s2=1;var t;if(typeof Bc=="function")try{t=e9()}catch{}return t||(t=window.graphlib),Hp=t,Hp}var Kp,l2;function t9(){if(l2)return Kp;l2=1;var t=OE(),e=1,r=4;function n(a){return t(a,e|r)}return Kp=n,Kp}var Gp,u2;function El(){if(u2)return Gp;u2=1;var t=si(),e=en(),r=hl(),n=or();function a(i,o,l){if(!n(l))return!1;var c=typeof o;return(c=="number"?e(l)&&r(o,l.length):c=="string"&&o in l)?t(l[o],i):!1}return Gp=a,Gp}var Up,c2;function r9(){if(c2)return Up;c2=1;var t=Cl(),e=si(),r=El(),n=ha(),a=Object.prototype,i=a.hasOwnProperty,o=t(function(l,c){l=Object(l);var u=-1,d=c.length,f=d>2?c[2]:void 0;for(f&&r(c[0],c[1],f)&&(d=1);++u<d;)for(var h=c[u],v=n(h),p=-1,g=v.length;++p<g;){var m=v[p],y=l[m];(y===void 0||e(y,a[m])&&!i.call(l,m))&&(l[m]=h[m])}return l});return Up=o,Up}var jp,d2;function n9(){if(d2)return jp;d2=1;var t=tn(),e=en(),r=Dn();function n(a){return function(i,o,l){var c=Object(i);if(!e(i)){var u=t(o,3);i=r(i),o=function(f){return u(c[f],f,c)}}var d=a(i,o,l);return d>-1?c[u?i[d]:d]:void 0}}return jp=n,jp}var Wp,f2;function a9(){if(f2)return Wp;f2=1;var t=/\s/;function e(r){for(var n=r.length;n--&&t.test(r.charAt(n)););return n}return Wp=e,Wp}var Yp,h2;function i9(){if(h2)return Yp;h2=1;var t=a9(),e=/^\s+/;function r(n){return n&&n.slice(0,t(n)+1).replace(e,"")}return Yp=r,Yp}var Zp,p2;function o9(){if(p2)return Zp;p2=1;var t=i9(),e=or(),r=di(),n=NaN,a=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,o=/^0o[0-7]+$/i,l=parseInt;function c(u){if(typeof u=="number")return u;if(r(u))return n;if(e(u)){var d=typeof u.valueOf=="function"?u.valueOf():u;u=e(d)?d+"":d}if(typeof u!="string")return u===0?u:+u;u=t(u);var f=i.test(u);return f||o.test(u)?l(u.slice(2),f?2:8):a.test(u)?n:+u}return Zp=c,Zp}var Xp,v2;function g2(){if(v2)return Xp;v2=1;var t=o9(),e=1/0,r=17976931348623157e292;function n(a){if(!a)return a===0?a:0;if(a=t(a),a===e||a===-e){var i=a<0?-1:1;return i*r}return a===a?a:0}return Xp=n,Xp}var Jp,m2;function s9(){if(m2)return Jp;m2=1;var t=g2();function e(r){var n=t(r),a=n%1;return n===n?a?n-a:n:0}return Jp=e,Jp}var Qp,y2;function l9(){if(y2)return Qp;y2=1;var t=Ck(),e=tn(),r=s9(),n=Math.max;function a(i,o,l){var c=i==null?0:i.length;if(!c)return-1;var u=l==null?0:r(l);return u<0&&(u=n(c+u,0)),t(i,e(o,3),u)}return Qp=a,Qp}var ev,b2;function u9(){if(b2)return ev;b2=1;var t=n9(),e=l9(),r=t(e);return ev=r,ev}var tv,w2;function C2(){if(w2)return tv;w2=1;var t=rp();function e(r){var n=r==null?0:r.length;return n?t(r,1):[]}return tv=e,tv}var rv,E2;function c9(){if(E2)return rv;E2=1;var t=zf(),e=zE(),r=ha();function n(a,i){return a==null?a:t(a,e(i),r)}return rv=n,rv}var nv,x2;function d9(){if(x2)return nv;x2=1;function t(e){var r=e==null?0:e.length;return r?e[r-1]:void 0}return nv=t,nv}var av,k2;function f9(){if(k2)return av;k2=1;var t=dl(),e=Kf(),r=tn();function n(a,i){var o={};return i=r(i,3),e(a,function(l,c,u){t(o,c,i(l,c,u))}),o}return av=n,av}var iv,S2;function ov(){if(S2)return iv;S2=1;var t=di();function e(r,n,a){for(var i=-1,o=r.length;++i<o;){var l=r[i],c=n(l);if(c!=null&&(u===void 0?c===c&&!t(c):a(c,u)))var u=c,d=l}return d}return iv=e,iv}var sv,_2;function h9(){if(_2)return sv;_2=1;function t(e,r){return e>r}return sv=t,sv}var lv,T2;function p9(){if(T2)return lv;T2=1;var t=ov(),e=h9(),r=pa();function n(a){return a&&a.length?t(a,r,e):void 0}return lv=n,lv}var uv,N2;function I2(){if(N2)return uv;N2=1;var t=dl(),e=si();function r(n,a,i){(i!==void 0&&!e(n[a],i)||i===void 0&&!(a in n))&&t(n,a,i)}return uv=r,uv}var cv,B2;function v9(){if(B2)return cv;B2=1;var t=da(),e=gl(),r=Rr(),n="[object Object]",a=Function.prototype,i=Object.prototype,o=a.toString,l=i.hasOwnProperty,c=o.call(Object);function u(d){if(!r(d)||t(d)!=n)return!1;var f=e(d);if(f===null)return!0;var h=l.call(f,"constructor")&&f.constructor;return typeof h=="function"&&h instanceof h&&o.call(h)==c}return cv=u,cv}var dv,D2;function O2(){if(D2)return dv;D2=1;function t(e,r){if(!(r==="constructor"&&typeof e[r]=="function")&&r!="__proto__")return e[r]}return dv=t,dv}var fv,P2;function g9(){if(P2)return fv;P2=1;var t=Co(),e=ha();function r(n){return t(n,e(n))}return fv=r,fv}var hv,A2;function m9(){if(A2)return hv;A2=1;var t=I2(),e=zC(),r=CE(),n=KC(),a=_E(),i=Eo(),o=at(),l=Dk(),c=ui(),u=wo(),d=or(),f=v9(),h=So(),v=O2(),p=g9();function g(m,y,b,w,C,x,k){var E=v(m,b),_=v(y,b),S=k.get(_);if(S){t(m,b,S);return}var T=x?x(E,_,b+"",m,y,k):void 0,N=T===void 0;if(N){var B=o(_),O=!B&&c(_),D=!B&&!O&&h(_);T=_,B||O||D?o(E)?T=E:l(E)?T=n(E):O?(N=!1,T=e(_,!0)):D?(N=!1,T=r(_,!0)):T=[]:f(_)||i(_)?(T=E,i(E)?T=p(E):(!d(E)||u(E))&&(T=a(_))):N=!1}N&&(k.set(_,T),C(T,_,w,x,k),k.delete(_)),t(m,b,T)}return hv=g,hv}var pv,R2;function y9(){if(R2)return pv;R2=1;var t=cl(),e=I2(),r=zf(),n=m9(),a=or(),i=ha(),o=O2();function l(c,u,d,f,h){c!==u&&r(u,function(v,p){if(h||(h=new t),a(v))n(c,u,p,d,l,f,h);else{var g=f?f(o(c,p),v,p+"",c,u,h):void 0;g===void 0&&(g=v),e(c,p,g)}},i)}return pv=l,pv}var vv,L2;function b9(){if(L2)return vv;L2=1;var t=Cl(),e=El();function r(n){return t(function(a,i){var o=-1,l=i.length,c=l>1?i[l-1]:void 0,u=l>2?i[2]:void 0;for(c=n.length>3&&typeof c=="function"?(l--,c):void 0,u&&e(i[0],i[1],u)&&(c=l<3?void 0:c,l=1),a=Object(a);++o<l;){var d=i[o];d&&n(a,d,o,c)}return a})}return vv=r,vv}var gv,M2;function w9(){if(M2)return gv;M2=1;var t=y9(),e=b9(),r=e(function(n,a,i){t(n,a,i)});return gv=r,gv}var mv,F2;function $2(){if(F2)return mv;F2=1;function t(e,r){return e<r}return mv=t,mv}var yv,V2;function C9(){if(V2)return yv;V2=1;var t=ov(),e=$2(),r=pa();function n(a){return a&&a.length?t(a,r,e):void 0}return yv=n,yv}var bv,q2;function E9(){if(q2)return bv;q2=1;var t=ov(),e=tn(),r=$2();function n(a,i){return a&&a.length?t(a,e(i,2),r):void 0}return bv=n,bv}var wv,z2;function x9(){if(z2)return wv;z2=1;var t=br(),e=function(){return t.Date.now()};return wv=e,wv}var Cv,H2;function k9(){if(H2)return Cv;H2=1;var t=fl(),e=bl(),r=hl(),n=or(),a=To();function i(o,l,c,u){if(!n(o))return o;l=e(l,o);for(var d=-1,f=l.length,h=f-1,v=o;v!=null&&++d<f;){var p=a(l[d]),g=c;if(p==="__proto__"||p==="constructor"||p==="prototype")return o;if(d!=h){var m=v[p];g=u?u(m,p,v):void 0,g===void 0&&(g=n(m)?m:r(l[d+1])?[]:{})}t(v,p,g),v=v[p]}return o}return Cv=i,Cv}var Ev,K2;function S9(){if(K2)return Ev;K2=1;var t=wl(),e=k9(),r=bl();function n(a,i,o){for(var l=-1,c=i.length,u={};++l<c;){var d=i[l],f=t(a,d);o(f,d)&&e(u,r(d,a),f)}return u}return Ev=n,Ev}var xv,G2;function _9(){if(G2)return xv;G2=1;var t=S9(),e=Ax();function r(n,a){return t(n,a,function(i,o){return e(n,o)})}return xv=r,xv}var kv,U2;function T9(){if(U2)return kv;U2=1;var t=C2(),e=pk(),r=yk();function n(a){return r(e(a,void 0,t),a+"")}return kv=n,kv}var Sv,j2;function N9(){if(j2)return Sv;j2=1;var t=_9(),e=T9(),r=e(function(n,a){return n==null?{}:t(n,a)});return Sv=r,Sv}var _v,W2;function I9(){if(W2)return _v;W2=1;var t=Math.ceil,e=Math.max;function r(n,a,i,o){for(var l=-1,c=e(t((a-n)/(i||1)),0),u=Array(c);c--;)u[o?c:++l]=n,n+=i;return u}return _v=r,_v}var Tv,Y2;function B9(){if(Y2)return Tv;Y2=1;var t=I9(),e=El(),r=g2();function n(a){return function(i,o,l){return l&&typeof l!="number"&&e(i,o,l)&&(o=l=void 0),i=r(i),o===void 0?(o=i,i=0):o=r(o),l=l===void 0?i<o?1:-1:r(l),t(i,o,l,a)}}return Tv=n,Tv}var Nv,Z2;function D9(){if(Z2)return Nv;Z2=1;var t=B9(),e=t();return Nv=e,Nv}var Iv,X2;function O9(){if(X2)return Iv;X2=1;function t(e,r){var n=e.length;for(e.sort(r);n--;)e[n]=e[n].value;return e}return Iv=t,Iv}var Bv,J2;function P9(){if(J2)return Bv;J2=1;var t=di();function e(r,n){if(r!==n){var a=r!==void 0,i=r===null,o=r===r,l=t(r),c=n!==void 0,u=n===null,d=n===n,f=t(n);if(!u&&!f&&!l&&r>n||l&&c&&d&&!u&&!f||i&&c&&d||!a&&d||!o)return 1;if(!i&&!l&&!f&&r<n||f&&a&&o&&!i&&!l||u&&a&&o||!c&&o||!d)return-1}return 0}return Bv=e,Bv}var Dv,Q2;function A9(){if(Q2)return Dv;Q2=1;var t=P9();function e(r,n,a){for(var i=-1,o=r.criteria,l=n.criteria,c=o.length,u=a.length;++i<c;){var d=t(o[i],l[i]);if(d){if(i>=u)return d;var f=a[i];return d*(f=="desc"?-1:1)}}return r.index-n.index}return Dv=e,Dv}var Ov,eS;function R9(){if(eS)return Ov;eS=1;var t=yl(),e=wl(),r=tn(),n=Zx(),a=O9(),i=pl(),o=A9(),l=pa(),c=at();function u(d,f,h){f.length?f=t(f,function(g){return c(g)?function(m){return e(m,g.length===1?g[0]:g)}:g}):f=[l];var v=-1;f=t(f,i(r));var p=n(d,function(g,m,y){var b=t(f,function(w){return w(g)});return{criteria:b,index:++v,value:g}});return a(p,function(g,m){return o(g,m,h)})}return Ov=u,Ov}var Pv,tS;function L9(){if(tS)return Pv;tS=1;var t=rp(),e=R9(),r=Cl(),n=El(),a=r(function(i,o){if(i==null)return[];var l=o.length;return l>1&&n(i,o[0],o[1])?o=[]:l>2&&n(o[0],o[1],o[2])&&(o=[o[0]]),e(i,t(o,1),[])});return Pv=a,Pv}var Av,rS;function M9(){if(rS)return Av;rS=1;var t=Sx(),e=0;function r(n){var a=++e;return t(n)+a}return Av=r,Av}var Rv,nS;function F9(){if(nS)return Rv;nS=1;function t(e,r,n){for(var a=-1,i=e.length,o=r.length,l={};++a<i;){var c=a<o?r[a]:void 0;n(l,e[a],c)}return l}return Rv=t,Rv}var Lv,aS;function $9(){if(aS)return Lv;aS=1;var t=fl(),e=F9();function r(n,a){return e(n||[],a||[],t)}return Lv=r,Lv}var Mv,iS;function Ze(){if(iS)return Mv;iS=1;var t;if(typeof Bc=="function")try{t={cloneDeep:t9(),constant:$f(),defaults:r9(),each:UE(),filter:zx(),find:u9(),flatten:C2(),forEach:KE(),forIn:c9(),has:Gx(),isUndefined:Wx(),last:d9(),map:Jx(),mapValues:f9(),max:p9(),merge:w9(),min:C9(),minBy:E9(),now:x9(),pick:N9(),range:D9(),reduce:rk(),sortBy:L9(),uniqueId:M9(),values:Rk(),zipObject:$9()}}catch{}return t||(t=window._),Mv=t,Mv}var Fv,oS;function V9(){if(oS)return Fv;oS=1,Fv=t;function t(){var n={};n._next=n._prev=n,this._sentinel=n}t.prototype.dequeue=function(){var n=this._sentinel,a=n._prev;if(a!==n)return e(a),a},t.prototype.enqueue=function(n){var a=this._sentinel;n._prev&&n._next&&e(n),n._next=a._next,a._next._prev=n,a._next=n,n._prev=a},t.prototype.toString=function(){for(var n=[],a=this._sentinel,i=a._prev;i!==a;)n.push(JSON.stringify(i,r)),i=i._prev;return"["+n.join(", ")+"]"};function e(n){n._prev._next=n._next,n._next._prev=n._prev,delete n._next,delete n._prev}function r(n,a){if(n!=="_next"&&n!=="_prev")return a}return Fv}var $v,sS;function q9(){if(sS)return $v;sS=1;var t=Ze(),e=wr().Graph,r=V9();$v=a;var n=t.constant(1);function a(u,d){if(u.nodeCount()<=1)return[];var f=l(u,d||n),h=i(f.graph,f.buckets,f.zeroIdx);return t.flatten(t.map(h,function(v){return u.outEdges(v.v,v.w)}),!0)}function i(u,d,f){for(var h=[],v=d[d.length-1],p=d[0],g;u.nodeCount();){for(;g=p.dequeue();)o(u,d,f,g);for(;g=v.dequeue();)o(u,d,f,g);if(u.nodeCount()){for(var m=d.length-2;m>0;--m)if(g=d[m].dequeue(),g){h=h.concat(o(u,d,f,g,!0));break}}}return h}function o(u,d,f,h,v){var p=v?[]:void 0;return t.forEach(u.inEdges(h.v),function(g){var m=u.edge(g),y=u.node(g.v);v&&p.push({v:g.v,w:g.w}),y.out-=m,c(d,f,y)}),t.forEach(u.outEdges(h.v),function(g){var m=u.edge(g),y=g.w,b=u.node(y);b.in-=m,c(d,f,b)}),u.removeNode(h.v),p}function l(u,d){var f=new e,h=0,v=0;t.forEach(u.nodes(),function(m){f.setNode(m,{v:m,in:0,out:0})}),t.forEach(u.edges(),function(m){var y=f.edge(m.v,m.w)||0,b=d(m),w=y+b;f.setEdge(m.v,m.w,w),v=Math.max(v,f.node(m.v).out+=b),h=Math.max(h,f.node(m.w).in+=b)});var p=t.range(v+h+3).map(function(){return new r}),g=h+1;return t.forEach(f.nodes(),function(m){c(p,g,f.node(m))}),{graph:f,buckets:p,zeroIdx:g}}function c(u,d,f){f.out?f.in?u[f.out-f.in+d].enqueue(f):u[u.length-1].enqueue(f):u[0].enqueue(f)}return $v}var Vv,lS;function z9(){if(lS)return Vv;lS=1;var t=Ze(),e=q9();Vv={run:r,undo:a};function r(i){var o=i.graph().acyclicer==="greedy"?e(i,l(i)):n(i);t.forEach(o,function(c){var u=i.edge(c);i.removeEdge(c),u.forwardName=c.name,u.reversed=!0,i.setEdge(c.w,c.v,u,t.uniqueId("rev"))});function l(c){return function(u){return c.edge(u).weight}}}function n(i){var o=[],l={},c={};function u(d){t.has(c,d)||(c[d]=!0,l[d]=!0,t.forEach(i.outEdges(d),function(f){t.has(l,f.w)?o.push(f):u(f.w)}),delete l[d])}return t.forEach(i.nodes(),u),o}function a(i){t.forEach(i.edges(),function(o){var l=i.edge(o);if(l.reversed){i.removeEdge(o);var c=l.forwardName;delete l.reversed,delete l.forwardName,i.setEdge(o.w,o.v,l,c)}})}return Vv}var qv,uS;function Ut(){if(uS)return qv;uS=1;var t=Ze(),e=wr().Graph;qv={addDummyNode:r,simplify:n,asNonCompoundGraph:a,successorWeights:i,predecessorWeights:o,intersectRect:l,buildLayerMatrix:c,normalizeRanks:u,removeEmptyRanks:d,addBorderNode:f,maxRank:h,partition:v,time:p,notime:g};function r(m,y,b,w){var C;do C=t.uniqueId(w);while(m.hasNode(C));return b.dummy=y,m.setNode(C,b),C}function n(m){var y=new e().setGraph(m.graph());return t.forEach(m.nodes(),function(b){y.setNode(b,m.node(b))}),t.forEach(m.edges(),function(b){var w=y.edge(b.v,b.w)||{weight:0,minlen:1},C=m.edge(b);y.setEdge(b.v,b.w,{weight:w.weight+C.weight,minlen:Math.max(w.minlen,C.minlen)})}),y}function a(m){var y=new e({multigraph:m.isMultigraph()}).setGraph(m.graph());return t.forEach(m.nodes(),function(b){m.children(b).length||y.setNode(b,m.node(b))}),t.forEach(m.edges(),function(b){y.setEdge(b,m.edge(b))}),y}function i(m){var y=t.map(m.nodes(),function(b){var w={};return t.forEach(m.outEdges(b),function(C){w[C.w]=(w[C.w]||0)+m.edge(C).weight}),w});return t.zipObject(m.nodes(),y)}function o(m){var y=t.map(m.nodes(),function(b){var w={};return t.forEach(m.inEdges(b),function(C){w[C.v]=(w[C.v]||0)+m.edge(C).weight}),w});return t.zipObject(m.nodes(),y)}function l(m,y){var b=m.x,w=m.y,C=y.x-b,x=y.y-w,k=m.width/2,E=m.height/2;if(!C&&!x)throw new Error("Not possible to find intersection inside of the rectangle");var _,S;return Math.abs(x)*k>Math.abs(C)*E?(x<0&&(E=-E),_=E*C/x,S=E):(C<0&&(k=-k),_=k,S=k*x/C),{x:b+_,y:w+S}}function c(m){var y=t.map(t.range(h(m)+1),function(){return[]});return t.forEach(m.nodes(),function(b){var w=m.node(b),C=w.rank;t.isUndefined(C)||(y[C][w.order]=b)}),y}function u(m){var y=t.min(t.map(m.nodes(),function(b){return m.node(b).rank}));t.forEach(m.nodes(),function(b){var w=m.node(b);t.has(w,"rank")&&(w.rank-=y)})}function d(m){var y=t.min(t.map(m.nodes(),function(x){return m.node(x).rank})),b=[];t.forEach(m.nodes(),function(x){var k=m.node(x).rank-y;b[k]||(b[k]=[]),b[k].push(x)});var w=0,C=m.graph().nodeRankFactor;t.forEach(b,function(x,k){t.isUndefined(x)&&k%C!==0?--w:w&&t.forEach(x,function(E){m.node(E).rank+=w})})}function f(m,y,b,w){var C={width:0,height:0};return arguments.length>=4&&(C.rank=b,C.order=w),r(m,"border",C,y)}function h(m){return t.max(t.map(m.nodes(),function(y){var b=m.node(y).rank;if(!t.isUndefined(b))return b}))}function v(m,y){var b={lhs:[],rhs:[]};return t.forEach(m,function(w){y(w)?b.lhs.push(w):b.rhs.push(w)}),b}function p(m,y){var b=t.now();try{return y()}finally{console.log(m+" time: "+(t.now()-b)+"ms")}}function g(m,y){return y()}return qv}var zv,cS;function H9(){if(cS)return zv;cS=1;var t=Ze(),e=Ut();zv={run:r,undo:a};function r(i){i.graph().dummyChains=[],t.forEach(i.edges(),function(o){n(i,o)})}function n(i,o){var l=o.v,c=i.node(l).rank,u=o.w,d=i.node(u).rank,f=o.name,h=i.edge(o),v=h.labelRank;if(d!==c+1){i.removeEdge(o);var p,g,m;for(m=0,++c;c<d;++m,++c)h.points=[],g={width:0,height:0,edgeLabel:h,edgeObj:o,rank:c},p=e.addDummyNode(i,"edge",g,"_d"),c===v&&(g.width=h.width,g.height=h.height,g.dummy="edge-label",g.labelpos=h.labelpos),i.setEdge(l,p,{weight:h.weight},f),m===0&&i.graph().dummyChains.push(p),l=p;i.setEdge(l,u,{weight:h.weight},f)}}function a(i){t.forEach(i.graph().dummyChains,function(o){var l=i.node(o),c=l.edgeLabel,u;for(i.setEdge(l.edgeObj,c);l.dummy;)u=i.successors(o)[0],i.removeNode(o),c.points.push({x:l.x,y:l.y}),l.dummy==="edge-label"&&(c.x=l.x,c.y=l.y,c.width=l.width,c.height=l.height),o=u,l=i.node(o)})}return zv}var Hv,dS;function xl(){if(dS)return Hv;dS=1;var t=Ze();Hv={longestPath:e,slack:r};function e(n){var a={};function i(o){var l=n.node(o);if(t.has(a,o))return l.rank;a[o]=!0;var c=t.min(t.map(n.outEdges(o),function(u){return i(u.w)-n.edge(u).minlen}));return(c===Number.POSITIVE_INFINITY||c===void 0||c===null)&&(c=0),l.rank=c}t.forEach(n.sources(),i)}function r(n,a){return n.node(a.w).rank-n.node(a.v).rank-n.edge(a).minlen}return Hv}var Kv,fS;function hS(){if(fS)return Kv;fS=1;var t=Ze(),e=wr().Graph,r=xl().slack;Kv=n;function n(l){var c=new e({directed:!1}),u=l.nodes()[0],d=l.nodeCount();c.setNode(u,{});for(var f,h;a(c,l)<d;)f=i(c,l),h=c.hasNode(f.v)?r(l,f):-r(l,f),o(c,l,h);return c}function a(l,c){function u(d){t.forEach(c.nodeEdges(d),function(f){var h=f.v,v=d===h?f.w:h;!l.hasNode(v)&&!r(c,f)&&(l.setNode(v,{}),l.setEdge(d,v,{}),u(v))})}return t.forEach(l.nodes(),u),l.nodeCount()}function i(l,c){return t.minBy(c.edges(),function(u){if(l.hasNode(u.v)!==l.hasNode(u.w))return r(c,u)})}function o(l,c,u){t.forEach(l.nodes(),function(d){c.node(d).rank+=u})}return Kv}var Gv,pS;function K9(){if(pS)return Gv;pS=1;var t=Ze(),e=hS(),r=xl().slack,n=xl().longestPath,a=wr().alg.preorder,i=wr().alg.postorder,o=Ut().simplify;Gv=l,l.initLowLimValues=f,l.initCutValues=c,l.calcCutValue=d,l.leaveEdge=v,l.enterEdge=p,l.exchangeEdges=g;function l(w){w=o(w),n(w);var C=e(w);f(C),c(C,w);for(var x,k;x=v(C);)k=p(C,w,x),g(C,w,x,k)}function c(w,C){var x=i(w,w.nodes());x=x.slice(0,x.length-1),t.forEach(x,function(k){u(w,C,k)})}function u(w,C,x){var k=w.node(x),E=k.parent;w.edge(x,E).cutvalue=d(w,C,x)}function d(w,C,x){var k=w.node(x),E=k.parent,_=!0,S=C.edge(x,E),T=0;return S||(_=!1,S=C.edge(E,x)),T=S.weight,t.forEach(C.nodeEdges(x),function(N){var B=N.v===x,O=B?N.w:N.v;if(O!==E){var D=B===_,R=C.edge(N).weight;if(T+=D?R:-R,y(w,x,O)){var P=w.edge(x,O).cutvalue;T+=D?-P:P}}}),T}function f(w,C){arguments.length<2&&(C=w.nodes()[0]),h(w,{},1,C)}function h(w,C,x,k,E){var _=x,S=w.node(k);return C[k]=!0,t.forEach(w.neighbors(k),function(T){t.has(C,T)||(x=h(w,C,x,T,k))}),S.low=_,S.lim=x++,E?S.parent=E:delete S.parent,x}function v(w){return t.find(w.edges(),function(C){return w.edge(C).cutvalue<0})}function p(w,C,x){var k=x.v,E=x.w;C.hasEdge(k,E)||(k=x.w,E=x.v);var _=w.node(k),S=w.node(E),T=_,N=!1;_.lim>S.lim&&(T=S,N=!0);var B=t.filter(C.edges(),function(O){return N===b(w,w.node(O.v),T)&&N!==b(w,w.node(O.w),T)});return t.minBy(B,function(O){return r(C,O)})}function g(w,C,x,k){var E=x.v,_=x.w;w.removeEdge(E,_),w.setEdge(k.v,k.w,{}),f(w),c(w,C),m(w,C)}function m(w,C){var x=t.find(w.nodes(),function(E){return!C.node(E).parent}),k=a(w,x);k=k.slice(1),t.forEach(k,function(E){var _=w.node(E).parent,S=C.edge(E,_),T=!1;S||(S=C.edge(_,E),T=!0),C.node(E).rank=C.node(_).rank+(T?S.minlen:-S.minlen)})}function y(w,C,x){return w.hasEdge(C,x)}function b(w,C,x){return x.low<=C.lim&&C.lim<=x.lim}return Gv}var Uv,vS;function G9(){if(vS)return Uv;vS=1;var t=xl(),e=t.longestPath,r=hS(),n=K9();Uv=a;function a(c){switch(c.graph().ranker){case"network-simplex":l(c);break;case"tight-tree":o(c);break;case"longest-path":i(c);break;default:l(c)}}var i=e;function o(c){e(c),r(c)}function l(c){n(c)}return Uv}var jv,gS;function U9(){if(gS)return jv;gS=1;var t=Ze();jv=e;function e(a){var i=n(a);t.forEach(a.graph().dummyChains,function(o){for(var l=a.node(o),c=l.edgeObj,u=r(a,i,c.v,c.w),d=u.path,f=u.lca,h=0,v=d[h],p=!0;o!==c.w;){if(l=a.node(o),p){for(;(v=d[h])!==f&&a.node(v).maxRank<l.rank;)h++;v===f&&(p=!1)}if(!p){for(;h<d.length-1&&a.node(v=d[h+1]).minRank<=l.rank;)h++;v=d[h]}a.setParent(o,v),o=a.successors(o)[0]}})}function r(a,i,o,l){var c=[],u=[],d=Math.min(i[o].low,i[l].low),f=Math.max(i[o].lim,i[l].lim),h,v;h=o;do h=a.parent(h),c.push(h);while(h&&(i[h].low>d||f>i[h].lim));for(v=h,h=l;(h=a.parent(h))!==v;)u.push(h);return{path:c.concat(u.reverse()),lca:v}}function n(a){var i={},o=0;function l(c){var u=o;t.forEach(a.children(c),l),i[c]={low:u,lim:o++}}return t.forEach(a.children(),l),i}return jv}var Wv,mS;function j9(){if(mS)return Wv;mS=1;var t=Ze(),e=Ut();Wv={run:r,cleanup:o};function r(l){var c=e.addDummyNode(l,"root",{},"_root"),u=a(l),d=t.max(t.values(u))-1,f=2*d+1;l.graph().nestingRoot=c,t.forEach(l.edges(),function(v){l.edge(v).minlen*=f});var h=i(l)+1;t.forEach(l.children(),function(v){n(l,c,f,h,d,u,v)}),l.graph().nodeRankFactor=f}function n(l,c,u,d,f,h,v){var p=l.children(v);if(!p.length){v!==c&&l.setEdge(c,v,{weight:0,minlen:u});return}var g=e.addBorderNode(l,"_bt"),m=e.addBorderNode(l,"_bb"),y=l.node(v);l.setParent(g,v),y.borderTop=g,l.setParent(m,v),y.borderBottom=m,t.forEach(p,function(b){n(l,c,u,d,f,h,b);var w=l.node(b),C=w.borderTop?w.borderTop:b,x=w.borderBottom?w.borderBottom:b,k=w.borderTop?d:2*d,E=C!==x?1:f-h[v]+1;l.setEdge(g,C,{weight:k,minlen:E,nestingEdge:!0}),l.setEdge(x,m,{weight:k,minlen:E,nestingEdge:!0})}),l.parent(v)||l.setEdge(c,g,{weight:0,minlen:f+h[v]})}function a(l){var c={};function u(d,f){var h=l.children(d);h&&h.length&&t.forEach(h,function(v){u(v,f+1)}),c[d]=f}return t.forEach(l.children(),function(d){u(d,1)}),c}function i(l){return t.reduce(l.edges(),function(c,u){return c+l.edge(u).weight},0)}function o(l){var c=l.graph();l.removeNode(c.nestingRoot),delete c.nestingRoot,t.forEach(l.edges(),function(u){var d=l.edge(u);d.nestingEdge&&l.removeEdge(u)})}return Wv}var Yv,yS;function W9(){if(yS)return Yv;yS=1;var t=Ze(),e=Ut();Yv=r;function r(a){function i(o){var l=a.children(o),c=a.node(o);if(l.length&&t.forEach(l,i),t.has(c,"minRank")){c.borderLeft=[],c.borderRight=[];for(var u=c.minRank,d=c.maxRank+1;u<d;++u)n(a,"borderLeft","_bl",o,c,u),n(a,"borderRight","_br",o,c,u)}}t.forEach(a.children(),i)}function n(a,i,o,l,c,u){var d={width:0,height:0,rank:u,borderType:i},f=c[i][u-1],h=e.addDummyNode(a,"border",d,o);c[i][u]=h,a.setParent(h,l),f&&a.setEdge(f,h,{weight:1})}return Yv}var Zv,bS;function Y9(){if(bS)return Zv;bS=1;var t=Ze();Zv={adjust:e,undo:r};function e(u){var d=u.graph().rankdir.toLowerCase();(d==="lr"||d==="rl")&&n(u)}function r(u){var d=u.graph().rankdir.toLowerCase();(d==="bt"||d==="rl")&&i(u),(d==="lr"||d==="rl")&&(l(u),n(u))}function n(u){t.forEach(u.nodes(),function(d){a(u.node(d))}),t.forEach(u.edges(),function(d){a(u.edge(d))})}function a(u){var d=u.width;u.width=u.height,u.height=d}function i(u){t.forEach(u.nodes(),function(d){o(u.node(d))}),t.forEach(u.edges(),function(d){var f=u.edge(d);t.forEach(f.points,o),t.has(f,"y")&&o(f)})}function o(u){u.y=-u.y}function l(u){t.forEach(u.nodes(),function(d){c(u.node(d))}),t.forEach(u.edges(),function(d){var f=u.edge(d);t.forEach(f.points,c),t.has(f,"x")&&c(f)})}function c(u){var d=u.x;u.x=u.y,u.y=d}return Zv}var Xv,wS;function Z9(){if(wS)return Xv;wS=1;var t=Ze();Xv=e;function e(r){var n={},a=t.filter(r.nodes(),function(u){return!r.children(u).length}),i=t.max(t.map(a,function(u){return r.node(u).rank})),o=t.map(t.range(i+1),function(){return[]});function l(u){if(!t.has(n,u)){n[u]=!0;var d=r.node(u);o[d.rank].push(u),t.forEach(r.successors(u),l)}}var c=t.sortBy(a,function(u){return r.node(u).rank});return t.forEach(c,l),o}return Xv}var Jv,CS;function X9(){if(CS)return Jv;CS=1;var t=Ze();Jv=e;function e(n,a){for(var i=0,o=1;o<a.length;++o)i+=r(n,a[o-1],a[o]);return i}function r(n,a,i){for(var o=t.zipObject(i,t.map(i,function(h,v){return v})),l=t.flatten(t.map(a,function(h){return t.sortBy(t.map(n.outEdges(h),function(v){return{pos:o[v.w],weight:n.edge(v).weight}}),"pos")}),!0),c=1;c<i.length;)c<<=1;var u=2*c-1;c-=1;var d=t.map(new Array(u),function(){return 0}),f=0;return t.forEach(l.forEach(function(h){var v=h.pos+c;d[v]+=h.weight;for(var p=0;v>0;)v%2&&(p+=d[v+1]),v=v-1>>1,d[v]+=h.weight;f+=h.weight*p})),f}return Jv}var Qv,ES;function J9(){if(ES)return Qv;ES=1;var t=Ze();Qv=e;function e(r,n){return t.map(n,function(a){var i=r.inEdges(a);if(i.length){var o=t.reduce(i,function(l,c){var u=r.edge(c),d=r.node(c.v);return{sum:l.sum+u.weight*d.order,weight:l.weight+u.weight}},{sum:0,weight:0});return{v:a,barycenter:o.sum/o.weight,weight:o.weight}}else return{v:a}})}return Qv}var eg,xS;function Q9(){if(xS)return eg;xS=1;var t=Ze();eg=e;function e(a,i){var o={};t.forEach(a,function(c,u){var d=o[c.v]={indegree:0,in:[],out:[],vs:[c.v],i:u};t.isUndefined(c.barycenter)||(d.barycenter=c.barycenter,d.weight=c.weight)}),t.forEach(i.edges(),function(c){var u=o[c.v],d=o[c.w];!t.isUndefined(u)&&!t.isUndefined(d)&&(d.indegree++,u.out.push(o[c.w]))});var l=t.filter(o,function(c){return!c.indegree});return r(l)}function r(a){var i=[];function o(u){return function(d){d.merged||(t.isUndefined(d.barycenter)||t.isUndefined(u.barycenter)||d.barycenter>=u.barycenter)&&n(u,d)}}function l(u){return function(d){d.in.push(u),--d.indegree===0&&a.push(d)}}for(;a.length;){var c=a.pop();i.push(c),t.forEach(c.in.reverse(),o(c)),t.forEach(c.out,l(c))}return t.map(t.filter(i,function(u){return!u.merged}),function(u){return t.pick(u,["vs","i","barycenter","weight"])})}function n(a,i){var o=0,l=0;a.weight&&(o+=a.barycenter*a.weight,l+=a.weight),i.weight&&(o+=i.barycenter*i.weight,l+=i.weight),a.vs=i.vs.concat(a.vs),a.barycenter=o/l,a.weight=l,a.i=Math.min(i.i,a.i),i.merged=!0}return eg}var tg,kS;function e6(){if(kS)return tg;kS=1;var t=Ze(),e=Ut();tg=r;function r(i,o){var l=e.partition(i,function(g){return t.has(g,"barycenter")}),c=l.lhs,u=t.sortBy(l.rhs,function(g){return-g.i}),d=[],f=0,h=0,v=0;c.sort(a(!!o)),v=n(d,u,v),t.forEach(c,function(g){v+=g.vs.length,d.push(g.vs),f+=g.barycenter*g.weight,h+=g.weight,v=n(d,u,v)});var p={vs:t.flatten(d,!0)};return h&&(p.barycenter=f/h,p.weight=h),p}function n(i,o,l){for(var c;o.length&&(c=t.last(o)).i<=l;)o.pop(),i.push(c.vs),l++;return l}function a(i){return function(o,l){return o.barycenter<l.barycenter?-1:o.barycenter>l.barycenter?1:i?l.i-o.i:o.i-l.i}}return tg}var rg,SS;function t6(){if(SS)return rg;SS=1;var t=Ze(),e=J9(),r=Q9(),n=e6();rg=a;function a(l,c,u,d){var f=l.children(c),h=l.node(c),v=h?h.borderLeft:void 0,p=h?h.borderRight:void 0,g={};v&&(f=t.filter(f,function(x){return x!==v&&x!==p}));var m=e(l,f);t.forEach(m,function(x){if(l.children(x.v).length){var k=a(l,x.v,u,d);g[x.v]=k,t.has(k,"barycenter")&&o(x,k)}});var y=r(m,u);i(y,g);var b=n(y,d);if(v&&(b.vs=t.flatten([v,b.vs,p],!0),l.predecessors(v).length)){var w=l.node(l.predecessors(v)[0]),C=l.node(l.predecessors(p)[0]);t.has(b,"barycenter")||(b.barycenter=0,b.weight=0),b.barycenter=(b.barycenter*b.weight+w.order+C.order)/(b.weight+2),b.weight+=2}return b}function i(l,c){t.forEach(l,function(u){u.vs=t.flatten(u.vs.map(function(d){return c[d]?c[d].vs:d}),!0)})}function o(l,c){t.isUndefined(l.barycenter)?(l.barycenter=c.barycenter,l.weight=c.weight):(l.barycenter=(l.barycenter*l.weight+c.barycenter*c.weight)/(l.weight+c.weight),l.weight+=c.weight)}return rg}var ng,_S;function r6(){if(_S)return ng;_S=1;var t=Ze(),e=wr().Graph;ng=r;function r(a,i,o){var l=n(a),c=new e({compound:!0}).setGraph({root:l}).setDefaultNodeLabel(function(u){return a.node(u)});return t.forEach(a.nodes(),function(u){var d=a.node(u),f=a.parent(u);(d.rank===i||d.minRank<=i&&i<=d.maxRank)&&(c.setNode(u),c.setParent(u,f||l),t.forEach(a[o](u),function(h){var v=h.v===u?h.w:h.v,p=c.edge(v,u),g=t.isUndefined(p)?0:p.weight;c.setEdge(v,u,{weight:a.edge(h).weight+g})}),t.has(d,"minRank")&&c.setNode(u,{borderLeft:d.borderLeft[i],borderRight:d.borderRight[i]}))}),c}function n(a){for(var i;a.hasNode(i=t.uniqueId("_root")););return i}return ng}var ag,TS;function n6(){if(TS)return ag;TS=1;var t=Ze();ag=e;function e(r,n,a){var i={},o;t.forEach(a,function(l){for(var c=r.parent(l),u,d;c;){if(u=r.parent(c),u?(d=i[u],i[u]=c):(d=o,o=c),d&&d!==c){n.setEdge(d,c);return}c=u}})}return ag}var ig,NS;function a6(){if(NS)return ig;NS=1;var t=Ze(),e=Z9(),r=X9(),n=t6(),a=r6(),i=n6(),o=wr().Graph,l=Ut();ig=c;function c(h){var v=l.maxRank(h),p=u(h,t.range(1,v+1),"inEdges"),g=u(h,t.range(v-1,-1,-1),"outEdges"),m=e(h);f(h,m);for(var y=Number.POSITIVE_INFINITY,b,w=0,C=0;C<4;++w,++C){d(w%2?p:g,w%4>=2),m=l.buildLayerMatrix(h);var x=r(h,m);x<y&&(C=0,b=t.cloneDeep(m),y=x)}f(h,b)}function u(h,v,p){return t.map(v,function(g){return a(h,g,p)})}function d(h,v){var p=new o;t.forEach(h,function(g){var m=g.graph().root,y=n(g,m,p,v);t.forEach(y.vs,function(b,w){g.node(b).order=w}),i(g,p,y.vs)})}function f(h,v){t.forEach(v,function(p){t.forEach(p,function(g,m){h.node(g).order=m})})}return ig}var og,IS;function i6(){if(IS)return og;IS=1;var t=Ze(),e=wr().Graph,r=Ut();og={positionX:p,findType1Conflicts:n,findType2Conflicts:a,addConflict:o,hasConflict:l,verticalAlignment:c,horizontalCompaction:u,alignCoordinates:h,findSmallestWidthAlignment:f,balance:v};function n(y,b){var w={};function C(x,k){var E=0,_=0,S=x.length,T=t.last(k);return t.forEach(k,function(N,B){var O=i(y,N),D=O?y.node(O).order:S;(O||N===T)&&(t.forEach(k.slice(_,B+1),function(R){t.forEach(y.predecessors(R),function(P){var L=y.node(P),A=L.order;(A<E||D<A)&&!(L.dummy&&y.node(R).dummy)&&o(w,P,R)})}),_=B+1,E=D)}),k}return t.reduce(b,C),w}function a(y,b){var w={};function C(k,E,_,S,T){var N;t.forEach(t.range(E,_),function(B){N=k[B],y.node(N).dummy&&t.forEach(y.predecessors(N),function(O){var D=y.node(O);D.dummy&&(D.order<S||D.order>T)&&o(w,O,N)})})}function x(k,E){var _=-1,S,T=0;return t.forEach(E,function(N,B){if(y.node(N).dummy==="border"){var O=y.predecessors(N);O.length&&(S=y.node(O[0]).order,C(E,T,B,_,S),T=B,_=S)}C(E,T,E.length,S,k.length)}),E}return t.reduce(b,x),w}function i(y,b){if(y.node(b).dummy)return t.find(y.predecessors(b),function(w){return y.node(w).dummy})}function o(y,b,w){if(b>w){var C=b;b=w,w=C}var x=y[b];x||(y[b]=x={}),x[w]=!0}function l(y,b,w){if(b>w){var C=b;b=w,w=C}return t.has(y[b],w)}function c(y,b,w,C){var x={},k={},E={};return t.forEach(b,function(_){t.forEach(_,function(S,T){x[S]=S,k[S]=S,E[S]=T})}),t.forEach(b,function(_){var S=-1;t.forEach(_,function(T){var N=C(T);if(N.length){N=t.sortBy(N,function(P){return E[P]});for(var B=(N.length-1)/2,O=Math.floor(B),D=Math.ceil(B);O<=D;++O){var R=N[O];k[T]===T&&S<E[R]&&!l(w,T,R)&&(k[R]=T,k[T]=x[T]=x[R],S=E[R])}}})}),{root:x,align:k}}function u(y,b,w,C,x){var k={},E=d(y,b,w,x),_=x?"borderLeft":"borderRight";function S(B,O){for(var D=E.nodes(),R=D.pop(),P={};R;)P[R]?B(R):(P[R]=!0,D.push(R),D=D.concat(O(R))),R=D.pop()}function T(B){k[B]=E.inEdges(B).reduce(function(O,D){return Math.max(O,k[D.v]+E.edge(D))},0)}function N(B){var O=E.outEdges(B).reduce(function(R,P){return Math.min(R,k[P.w]-E.edge(P))},Number.POSITIVE_INFINITY),D=y.node(B);O!==Number.POSITIVE_INFINITY&&D.borderType!==_&&(k[B]=Math.max(k[B],O))}return S(T,E.predecessors.bind(E)),S(N,E.successors.bind(E)),t.forEach(C,function(B){k[B]=k[w[B]]}),k}function d(y,b,w,C){var x=new e,k=y.graph(),E=g(k.nodesep,k.edgesep,C);return t.forEach(b,function(_){var S;t.forEach(_,function(T){var N=w[T];if(x.setNode(N),S){var B=w[S],O=x.edge(B,N);x.setEdge(B,N,Math.max(E(y,T,S),O||0))}S=T})}),x}function f(y,b){return t.minBy(t.values(b),function(w){var C=Number.NEGATIVE_INFINITY,x=Number.POSITIVE_INFINITY;return t.forIn(w,function(k,E){var _=m(y,E)/2;C=Math.max(k+_,C),x=Math.min(k-_,x)}),C-x})}function h(y,b){var w=t.values(b),C=t.min(w),x=t.max(w);t.forEach(["u","d"],function(k){t.forEach(["l","r"],function(E){var _=k+E,S=y[_],T;if(S!==b){var N=t.values(S);T=E==="l"?C-t.min(N):x-t.max(N),T&&(y[_]=t.mapValues(S,function(B){return B+T}))}})})}function v(y,b){return t.mapValues(y.ul,function(w,C){if(b)return y[b.toLowerCase()][C];var x=t.sortBy(t.map(y,C));return(x[1]+x[2])/2})}function p(y){var b=r.buildLayerMatrix(y),w=t.merge(n(y,b),a(y,b)),C={},x;t.forEach(["u","d"],function(E){x=E==="u"?b:t.values(b).reverse(),t.forEach(["l","r"],function(_){_==="r"&&(x=t.map(x,function(B){return t.values(B).reverse()}));var S=(E==="u"?y.predecessors:y.successors).bind(y),T=c(y,x,w,S),N=u(y,x,T.root,T.align,_==="r");_==="r"&&(N=t.mapValues(N,function(B){return-B})),C[E+_]=N})});var k=f(y,C);return h(C,k),v(C,y.graph().align)}function g(y,b,w){return function(C,x,k){var E=C.node(x),_=C.node(k),S=0,T;if(S+=E.width/2,t.has(E,"labelpos"))switch(E.labelpos.toLowerCase()){case"l":T=-E.width/2;break;case"r":T=E.width/2;break}if(T&&(S+=w?T:-T),T=0,S+=(E.dummy?b:y)/2,S+=(_.dummy?b:y)/2,S+=_.width/2,t.has(_,"labelpos"))switch(_.labelpos.toLowerCase()){case"l":T=_.width/2;break;case"r":T=-_.width/2;break}return T&&(S+=w?T:-T),T=0,S}}function m(y,b){return y.node(b).width}return og}var sg,BS;function o6(){if(BS)return sg;BS=1;var t=Ze(),e=Ut(),r=i6().positionX;sg=n;function n(i){i=e.asNonCompoundGraph(i),a(i),t.forEach(r(i),function(o,l){i.node(l).x=o})}function a(i){var o=e.buildLayerMatrix(i),l=i.graph().ranksep,c=0;t.forEach(o,function(u){var d=t.max(t.map(u,function(f){return i.node(f).height}));t.forEach(u,function(f){i.node(f).y=c+d/2}),c+=d+l})}return sg}var lg,DS;function s6(){if(DS)return lg;DS=1;var t=Ze(),e=z9(),r=H9(),n=G9(),a=Ut().normalizeRanks,i=U9(),o=Ut().removeEmptyRanks,l=j9(),c=W9(),u=Y9(),d=a6(),f=o6(),h=Ut(),v=wr().Graph;lg=p;function p(F,$){var V=$&&$.debugTiming?h.time:h.notime;V("layout",function(){var G=V(" buildLayoutGraph",function(){return S(F)});V(" runLayout",function(){g(G,V)}),V(" updateInputGraph",function(){m(F,G)})})}function g(F,$){$(" makeSpaceForEdgeLabels",function(){T(F)}),$(" removeSelfEdges",function(){q(F)}),$(" acyclic",function(){e.run(F)}),$(" nestingGraph.run",function(){l.run(F)}),$(" rank",function(){n(h.asNonCompoundGraph(F))}),$(" injectEdgeLabelProxies",function(){N(F)}),$(" removeEmptyRanks",function(){o(F)}),$(" nestingGraph.cleanup",function(){l.cleanup(F)}),$(" normalizeRanks",function(){a(F)}),$(" assignRankMinMax",function(){B(F)}),$(" removeEdgeLabelProxies",function(){O(F)}),$(" normalize.run",function(){r.run(F)}),$(" parentDummyChains",function(){i(F)}),$(" addBorderSegments",function(){c(F)}),$(" order",function(){d(F)}),$(" insertSelfEdges",function(){U(F)}),$(" adjustCoordinateSystem",function(){u.adjust(F)}),$(" position",function(){f(F)}),$(" positionSelfEdges",function(){z(F)}),$(" removeBorderNodes",function(){A(F)}),$(" normalize.undo",function(){r.undo(F)}),$(" fixupEdgeLabelCoords",function(){P(F)}),$(" undoCoordinateSystem",function(){u.undo(F)}),$(" translateGraph",function(){D(F)}),$(" assignNodeIntersects",function(){R(F)}),$(" reversePoints",function(){L(F)}),$(" acyclic.undo",function(){e.undo(F)})}function m(F,$){t.forEach(F.nodes(),function(V){var G=F.node(V),j=$.node(V);G&&(G.x=j.x,G.y=j.y,$.children(V).length&&(G.width=j.width,G.height=j.height))}),t.forEach(F.edges(),function(V){var G=F.edge(V),j=$.edge(V);G.points=j.points,t.has(j,"x")&&(G.x=j.x,G.y=j.y)}),F.graph().width=$.graph().width,F.graph().height=$.graph().height}var y=["nodesep","edgesep","ranksep","marginx","marginy"],b={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},w=["acyclicer","ranker","rankdir","align"],C=["width","height"],x={width:0,height:0},k=["minlen","weight","width","height","labeloffset"],E={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},_=["labelpos"];function S(F){var $=new v({multigraph:!0,compound:!0}),V=Q(F.graph());return $.setGraph(t.merge({},b,H(V,y),t.pick(V,w))),t.forEach(F.nodes(),function(G){var j=Q(F.node(G));$.setNode(G,t.defaults(H(j,C),x)),$.setParent(G,F.parent(G))}),t.forEach(F.edges(),function(G){var j=Q(F.edge(G));$.setEdge(G,t.merge({},E,H(j,k),t.pick(j,_)))}),$}function T(F){var $=F.graph();$.ranksep/=2,t.forEach(F.edges(),function(V){var G=F.edge(V);G.minlen*=2,G.labelpos.toLowerCase()!=="c"&&($.rankdir==="TB"||$.rankdir==="BT"?G.width+=G.labeloffset:G.height+=G.labeloffset)})}function N(F){t.forEach(F.edges(),function($){var V=F.edge($);if(V.width&&V.height){var G=F.node($.v),j=F.node($.w),M={rank:(j.rank-G.rank)/2+G.rank,e:$};h.addDummyNode(F,"edge-proxy",M,"_ep")}})}function B(F){var $=0;t.forEach(F.nodes(),function(V){var G=F.node(V);G.borderTop&&(G.minRank=F.node(G.borderTop).rank,G.maxRank=F.node(G.borderBottom).rank,$=t.max($,G.maxRank))}),F.graph().maxRank=$}function O(F){t.forEach(F.nodes(),function($){var V=F.node($);V.dummy==="edge-proxy"&&(F.edge(V.e).labelRank=V.rank,F.removeNode($))})}function D(F){var $=Number.POSITIVE_INFINITY,V=0,G=Number.POSITIVE_INFINITY,j=0,M=F.graph(),W=M.marginx||0,Y=M.marginy||0;function se(ce){var ae=ce.x,ne=ce.y,ue=ce.width,ie=ce.height;$=Math.min($,ae-ue/2),V=Math.max(V,ae+ue/2),G=Math.min(G,ne-ie/2),j=Math.max(j,ne+ie/2)}t.forEach(F.nodes(),function(ce){se(F.node(ce))}),t.forEach(F.edges(),function(ce){var ae=F.edge(ce);t.has(ae,"x")&&se(ae)}),$-=W,G-=Y,t.forEach(F.nodes(),function(ce){var ae=F.node(ce);ae.x-=$,ae.y-=G}),t.forEach(F.edges(),function(ce){var ae=F.edge(ce);t.forEach(ae.points,function(ne){ne.x-=$,ne.y-=G}),t.has(ae,"x")&&(ae.x-=$),t.has(ae,"y")&&(ae.y-=G)}),M.width=V-$+W,M.height=j-G+Y}function R(F){t.forEach(F.edges(),function($){var V=F.edge($),G=F.node($.v),j=F.node($.w),M,W;V.points?(M=V.points[0],W=V.points[V.points.length-1]):(V.points=[],M=j,W=G),V.points.unshift(h.intersectRect(G,M)),V.points.push(h.intersectRect(j,W))})}function P(F){t.forEach(F.edges(),function($){var V=F.edge($);if(t.has(V,"x"))switch((V.labelpos==="l"||V.labelpos==="r")&&(V.width-=V.labeloffset),V.labelpos){case"l":V.x-=V.width/2+V.labeloffset;break;case"r":V.x+=V.width/2+V.labeloffset;break}})}function L(F){t.forEach(F.edges(),function($){var V=F.edge($);V.reversed&&V.points.reverse()})}function A(F){t.forEach(F.nodes(),function($){if(F.children($).length){var V=F.node($),G=F.node(V.borderTop),j=F.node(V.borderBottom),M=F.node(t.last(V.borderLeft)),W=F.node(t.last(V.borderRight));V.width=Math.abs(W.x-M.x),V.height=Math.abs(j.y-G.y),V.x=M.x+V.width/2,V.y=G.y+V.height/2}}),t.forEach(F.nodes(),function($){F.node($).dummy==="border"&&F.removeNode($)})}function q(F){t.forEach(F.edges(),function($){if($.v===$.w){var V=F.node($.v);V.selfEdges||(V.selfEdges=[]),V.selfEdges.push({e:$,label:F.edge($)}),F.removeEdge($)}})}function U(F){var $=h.buildLayerMatrix(F);t.forEach($,function(V){var G=0;t.forEach(V,function(j,M){var W=F.node(j);W.order=M+G,t.forEach(W.selfEdges,function(Y){h.addDummyNode(F,"selfedge",{width:Y.label.width,height:Y.label.height,rank:W.rank,order:M+ ++G,e:Y.e,label:Y.label},"_se")}),delete W.selfEdges})})}function z(F){t.forEach(F.nodes(),function($){var V=F.node($);if(V.dummy==="selfedge"){var G=F.node(V.e.v),j=G.x+G.width/2,M=G.y,W=V.x-j,Y=G.height/2;F.setEdge(V.e,V.label),F.removeNode($),V.label.points=[{x:j+2*W/3,y:M-Y},{x:j+5*W/6,y:M-Y},{x:j+W,y:M},{x:j+5*W/6,y:M+Y},{x:j+2*W/3,y:M+Y}],V.label.x=V.x,V.label.y=V.y}})}function H(F,$){return t.mapValues(t.pick(F,$),Number)}function Q(F){var $={};return t.forEach(F,function(V,G){$[G.toLowerCase()]=V}),$}return lg}var ug,OS;function l6(){if(OS)return ug;OS=1;var t=Ze(),e=Ut(),r=wr().Graph;ug={debugOrdering:n};function n(a){var i=e.buildLayerMatrix(a),o=new r({compound:!0,multigraph:!0}).setGraph({});return t.forEach(a.nodes(),function(l){o.setNode(l,{label:l}),o.setParent(l,"layer"+a.node(l).rank)}),t.forEach(a.edges(),function(l){o.setEdge(l.v,l.w,{},l.name)}),t.forEach(i,function(l,c){var u="layer"+c;o.setNode(u,{rank:"same"}),t.reduce(l,function(d,f){return o.setEdge(d,f,{style:"invis"}),f})}),o}return ug}var cg,PS;function u6(){return PS||(PS=1,cg="0.8.5"),cg}var dg,AS;function c6(){return AS||(AS=1,dg={graphlib:wr(),layout:s6(),debug:l6(),util:{time:Ut().time,notime:Ut().notime},version:u6()}),dg}(function(t,e){(function(n,a){t.exports=a(c6())})(Ai,function(r){return function(n){var a={};function i(o){if(a[o])return a[o].exports;var l=a[o]={i:o,l:!1,exports:{}};return n[o].call(l.exports,l,l.exports,i),l.l=!0,l.exports}return i.m=n,i.c=a,i.d=function(o,l,c){i.o(o,l)||Object.defineProperty(o,l,{enumerable:!0,get:c})},i.r=function(o){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})},i.t=function(o,l){if(l&1&&(o=i(o)),l&8||l&4&&typeof o=="object"&&o&&o.__esModule)return o;var c=Object.create(null);if(i.r(c),Object.defineProperty(c,"default",{enumerable:!0,value:o}),l&2&&typeof o!="string")for(var u in o)i.d(c,u,(function(d){return o[d]}).bind(null,u));return c},i.n=function(o){var l=o&&o.__esModule?function(){return o.default}:function(){return o};return i.d(l,"a",l),l},i.o=function(o,l){return Object.prototype.hasOwnProperty.call(o,l)},i.p="",i(i.s=0)}([function(n,a,i){var o=i(1),l=function(u){u&&u("layout","dagre",o)};typeof cytoscape<"u"&&l(cytoscape),n.exports=l},function(n,a,i){function o(h){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?o=function(p){return typeof p}:o=function(p){return p&&typeof Symbol=="function"&&p.constructor===Symbol&&p!==Symbol.prototype?"symbol":typeof p},o(h)}var l=function(v){return typeof v=="function"},c=i(2),u=i(3),d=i(4);function f(h){this.options=u({},c,h)}f.prototype.run=function(){var h=this.options,v=this,p=h.cy,g=h.eles,m=function(z,H){return l(H)?H.apply(z,[z]):H},y=h.boundingBox||{x1:0,y1:0,w:p.width(),h:p.height()};y.x2===void 0&&(y.x2=y.x1+y.w),y.w===void 0&&(y.w=y.x2-y.x1),y.y2===void 0&&(y.y2=y.y1+y.h),y.h===void 0&&(y.h=y.y2-y.y1);var b=new d.graphlib.Graph({multigraph:!0,compound:!0}),w={},C=function(z,H){H!=null&&(w[z]=H)};C("nodesep",h.nodeSep),C("edgesep",h.edgeSep),C("ranksep",h.rankSep),C("rankdir",h.rankDir),C("align",h.align),C("ranker",h.ranker),C("acyclicer",h.acyclicer),b.setGraph(w),b.setDefaultEdgeLabel(function(){return{}}),b.setDefaultNodeLabel(function(){return{}});var x=g.nodes();l(h.sort)&&(x=x.sort(h.sort));for(var k=0;k<x.length;k++){var E=x[k],_=E.layoutDimensions(h);b.setNode(E.id(),{width:_.w,height:_.h,name:E.id()})}for(var S=0;S<x.length;S++){var T=x[S];T.isChild()&&b.setParent(T.id(),T.parent().id())}var N=g.edges().stdFilter(function(U){return!U.source().isParent()&&!U.target().isParent()});l(h.sort)&&(N=N.sort(h.sort));for(var B=0;B<N.length;B++){var O=N[B];b.setEdge(O.source().id(),O.target().id(),{minlen:m(O,h.minLen),weight:m(O,h.edgeWeight),name:O.id()},O.id())}d.layout(b);for(var D=b.nodes(),R=0;R<D.length;R++){var P=D[R],L=b.node(P);p.getElementById(P).scratch().dagre=L}var A;h.boundingBox?(A={x1:1/0,x2:-1/0,y1:1/0,y2:-1/0},x.forEach(function(U){var z=U.scratch().dagre;A.x1=Math.min(A.x1,z.x),A.x2=Math.max(A.x2,z.x),A.y1=Math.min(A.y1,z.y),A.y2=Math.max(A.y2,z.y)}),A.w=A.x2-A.x1,A.h=A.y2-A.y1):A=y;var q=function(z){if(h.boundingBox){var H=A.w===0?0:(z.x-A.x1)/A.w,Q=A.h===0?0:(z.y-A.y1)/A.h;return{x:y.x1+H*y.w,y:y.y1+Q*y.h}}else return z};return x.layoutPositions(v,h,function(U){U=o(U)==="object"?U:this;var z=U.scratch().dagre;return q({x:z.x,y:z.y})}),this},n.exports=f},function(n,a){var i={nodeSep:void 0,edgeSep:void 0,rankSep:void 0,rankDir:void 0,align:void 0,acyclicer:void 0,ranker:void 0,minLen:function(l){return 1},edgeWeight:function(l){return 1},fit:!0,padding:30,spacingFactor:void 0,nodeDimensionsIncludeLabels:!1,animate:!1,animateFilter:function(l,c){return!0},animationDuration:500,animationEasing:void 0,boundingBox:void 0,transform:function(l,c){return c},ready:function(){},sort:void 0,stop:function(){}};n.exports=i},function(n,a){n.exports=Object.assign!=null?Object.assign.bind(Object):function(i){for(var o=arguments.length,l=new Array(o>1?o-1:0),c=1;c<o;c++)l[c-1]=arguments[c];return l.forEach(function(u){Object.keys(u).forEach(function(d){return i[d]=u[d]})}),i}},function(n,a){n.exports=r}])})})(vw);var d6=vw.exports;const f6=IA(d6);Bn.use(f6);const RS=function(t,e){if(!t||!e)return!1;let r=JSON.stringify(t),n=JSON.stringify(e);return r.indexOf(n)!==-1},h6=function(t){return t?[...new Set(t.map(e=>JSON.stringify(e)))].map(e=>JSON.parse(e)):[]},p6=function(t,e,r){let n=t.connectivity.flat(),a=h6(n),i=[],o=!1;return a.forEach(l=>{o=!1,RS(e,l)&&(o=!0),RS(r,l)&&(o=!0),o||i.push(l)}),i};let v6=class extends EventTarget{constructor(r,n){super();cr(this,"cyg",null);cr(this,"nodes",[]);cr(this,"edges",[]);cr(this,"axons",[]);cr(this,"dendrites",[]);cr(this,"somas",[]);cr(this,"labelCache",new Map);cr(this,"graphCanvas",null);cr(this,"hasPhenotypes",!1);this.labelCache=r,this.graphCanvas=n}async addConnectivity(r){var n;if(r&&r["node-phenotypes"]){const a=["ilxtr:hasSomaLocatedIn"],i=["ilxtr:hasAxonPresynapticElementIn","ilxtr:hasAxonSensorySubcellularElementIn"],o=[],l=[];a.forEach(u=>{o.push(...r["node-phenotypes"][u])}),i.forEach(u=>{l.push(...r["node-phenotypes"][u])});const c=p6(r,o,l);this.dendrites=o.map(u=>JSON.stringify(u)),this.axons=l.map(u=>JSON.stringify(u)),c!=null&&c.length&&(this.somas=c.map(u=>JSON.stringify(u))),this.hasPhenotypes=!0}else this.axons=r.axons.map(a=>JSON.stringify(a)),this.dendrites=r.dendrites.map(a=>JSON.stringify(a)),(n=r.somas)!=null&&n.length&&(this.somas=r.somas.map(a=>JSON.stringify(a))),this.hasPhenotypes=!1;if(r.connectivity.length)for(const a of r.connectivity){const i=await this.graphNode(a[0]),o=await this.graphNode(a[1]);this.nodes.push(i),this.nodes.push(o),this.edges.push({id:`${i.id}_${o.id}`,source:i.id,target:o.id})}else this.nodes.push({id:"MISSING",label:"NO PATHS"})}showConnectivity(r){this.cyg=new b6(this,r),this.cyg.on("tap-node",n=>{const a=new CustomEvent("tap-node",{detail:n.detail});this.dispatchEvent(a)})}selectConnectivity(r){var n;if((n=this.cyg)!=null&&n.cy){let a="";this.cyg.cy.elements().forEach(i=>{const o=i.data("label"),l=fg(o);y6(r,l)&&(a=i.id())}),a&&this.cyg.cy.$id(a).select()}}clearConnectivity(){var r;(r=this.cyg)!=null&&r.cy&&(this.cyg.cy.remove(),this.cyg.cy=null)}reset(){var r;(r=this.cyg)!=null&&r.cy&&this.cyg.cy.reset()}zoom(r){var n;if((n=this.cyg)!=null&&n.cy){const a=this.cyg.cy.zoom(),i=this.cyg.cy.width(),o=this.cyg.cy.height(),l={x:i/2,y:o/2};this.cyg.cy.zoom({level:a+r,renderedPosition:l})}}enableZoom(r){var n;(n=this.cyg)!=null&&n.cy&&this.cyg.cy.userZoomingEnabled(r)}get elements(){return[...this.nodes.map(r=>({data:r})),...this.edges.map(r=>({data:r}))]}get roots(){return this.hasPhenotypes?[...this.dendrites]:[...this.dendrites,...this.somas]}async graphNode(r){const n=JSON.stringify(r),a=[r[0],...r[1]],i=[];for(const l of a){const c=this.labelCache.has(l)?this.labelCache.get(l):"";i.push(c)}a.push(...i);const o={id:n,label:a.join(`
45
+ `)};return this.hasPhenotypes?this.axons.includes(n)?o.axon=!0:this.dendrites.includes(n)?o.dendrite=!0:o.somas=!0:this.axons.includes(n)?this.dendrites.includes(n)||this.somas.includes(n)?o.somas=!0:o.axon=!0:(this.dendrites.includes(n)||this.somas.includes(n))&&(o.dendrite=!0),o}on(r,n){this.addEventListener(r,n)}};const g6=[{selector:"node",style:{label:function(t){return m6(t.data("label"))},"background-color":"transparent","background-opacity":"0","text-valign":"center","text-wrap":"wrap",width:"80px",height:"80px","text-max-width":"80px","font-size":"6px",shape:"round-rectangle","border-width":1,"border-style":"solid","border-color":"gray"}},{selector:"node[axon]",style:{shape:"round-diamond",width:"100px",height:"100px"}},{selector:"node[dendrite]",style:{shape:"ellipse"}},{selector:"node[somas]",style:{shape:"round-rectangle"}},{selector:"edge",style:{width:1,"line-color":"dimgray","curve-style":"bezier"}},{selector:"node.active",style:{"border-color":"#8300bf","background-color":"#f3ecf6","background-opacity":.75}}];function m6(t){const e=t.split(`
46
46
  `),r=e.length/2,n=e.slice(r);return LS(n.join(`
47
47
  `))}function LS(t){return t.split(`
48
48
  `).map(e=>e&&e[0]>="a"&&e[0]<="z"?e.charAt(0).toUpperCase()+e.slice(1):e).join(`
49
49
  `)}function fg(t){const e=t?t.split(`
50
- `):[],r=[];for(let n=0;n<e.length/2;n++)r.push({id:e[n],label:e[n+e.length/2]});return r}function y9(t,e){t.sort((r,n)=>r.id<n.id?-1:r.id>n.id?1:0),e.sort((r,n)=>r.id<n.id?-1:r.id>n.id?1:0);for(let r=0;r<t.length;r++)if(JSON.stringify(t[r])!==JSON.stringify(e[r]))return!1;return!0}class b9 extends EventTarget{constructor(r,n){var a;super();cr(this,"cy");cr(this,"tooltip");this.cy=Bn({container:n,elements:r.elements,layout:{name:"dagre",nodeSep:150,edgeSep:50,rankSep:100,rankDir:"TB",roots:r.roots.length?r.roots:void 0},style:g9,minZoom:.1,maxZoom:10,wheelSensitivity:.4}).on("mouseover","node",this.overNode.bind(this)).on("mouseout","node",this.exitNode.bind(this)).on("position","node",this.moveNode.bind(this)),this.tooltip=document.createElement("div"),this.tooltip.className="cy-graph-tooltip",this.tooltip.hidden=!0,(a=n==null?void 0:n.lastChild)==null||a.appendChild(this.tooltip)}remove(){this.cy&&this.cy.destroy()}checkRightBoundary(r){var n;r+this.tooltip.offsetWidth>=((n=this.tooltip.parentElement)==null?void 0:n.offsetWidth)&&(this.tooltip.style.left=`${r-this.tooltip.offsetWidth}px`)}overNode(r){const a=r.target.data(),{label:i}=a,l=fg(i).map(c=>c.label+" ("+c.id+")");this.tooltip.innerText=LS(l.join(`
51
- `)),this.tooltip.style.left=`${r.renderedPosition.x}px`,this.tooltip.style.top=`${r.renderedPosition.y}px`,this.tooltip.style.maxWidth="240px",this.tooltip.style.zIndex=2,this.tooltip.hidden=!1,this.checkRightBoundary(r.renderedPosition.x),this.tapNode(r,!0)}moveNode(r){const n=r.target;this.tooltip.style.left=`${n.renderedPosition().x}px`,this.tooltip.style.top=`${n.renderedPosition().y}px`,this.checkRightBoundary(n.renderedPosition().x)}exitNode(r){this.tooltip.hidden=!0,this.tapNode(r,!1)}tapNode(r,n){const a=r.target,i=a.data();let{label:o}=i;n?a.addClass("active"):(a.removeClass("active"),o="",setTimeout(()=>{a.unselect()}));const l=fg(o),c=new CustomEvent("tap-node",{detail:l});this.dispatchEvent(c)}on(r,n){this.addEventListener(r,n)}}const w9=1.3,C9=24*60*60*1e3,E9="Reset position",MS="Lock zoom",x9="Unlock zoom",k9="Zoom in",S9="Zoom out",FS=.25,_9="#8300bf",T9={name:"ConnectivityGraph",props:{entry:{type:String,default:""},mapServer:{type:String,default:""},sckanVersion:{type:String,default:""},selectedConnectivityData:{type:Array,default:[]},connectivityFromMap:{type:Object,default:()=>null},connectivityError:{type:Object,default:()=>{}}},data:function(){return{loading:!0,loadingError:"",connectivityGraph:null,selectedSource:"",availableSources:[],pathList:[],schemaVersion:"",knowledgeByPath:new Map,labelledTerms:new Set,labelCache:new Map,resetLabel:E9,zoomLockLabel:MS,zoomInLabel:k9,zoomOutLabel:S9,iconColor:_9,zoomEnabled:!1,connectivityGraphContainer:null}},watch:{connectivityFromMap:function(t,e){t!=e&&(this.showSpinner(),this.start())}},mounted(){this.showSpinner(),this.updateTooltipContainer(),this.refreshCache(),this.loadCacheData(),this.start()},methods:{updateTooltipContainer:function(){this.connectivityGraphContainer=this.$refs.connectivityGraphRef},loadCacheData:function(){const t=sessionStorage.getItem("connectivity-graph-sources"),e=sessionStorage.getItem("connectivity-graph-labels"),r=sessionStorage.getItem("connectivity-graph-pathlist"),n=sessionStorage.getItem("connectivity-graph-schema-version");if(this.sckanVersion&&(this.selectedSource=this.sckanVersion),sessionStorage.setItem("connectivity-graph-selected-source",this.selectedSource),this.updateCacheExpiry(),t&&(this.availableSources=JSON.parse(t)),r&&(this.pathList=JSON.parse(r)),e){const a=JSON.parse(e);this.labelCache=new Map(Object.entries(a))}n&&(this.schemaVersion=n)},isValidKnowledgeSource:function(){const t=sessionStorage.getItem("connectivity-graph-selected-source");return!(this.sckanVersion&&this.sckanVersion!==t)},removeAllCacheData:function(){["connectivity-graph-expiry","connectivity-graph-selected-source","connectivity-graph-source","connectivity-graph-sources","connectivity-graph-labels","connectivity-graph-pathlist","connectivity-graph-schema-version"].forEach(e=>{sessionStorage.removeItem(e)})},refreshCache:function(){const t=sessionStorage.getItem("connectivity-graph-expiry"),e=new Date,r=this.isValidKnowledgeSource();(e.getTime()>t||!r)&&this.removeAllCacheData()},updateCacheExpiry:function(){const e=new Date().getTime()+C9;sessionStorage.setItem("connectivity-graph-expiry",e)},start:function(){this.run().then(t=>{t!=null&&t.success?this.showGraph(this.entry):t!=null&&t.error?(this.loadingError=t.error,this.hideSpinner()):(this.loadingError="Loading error!",this.hideSpinner())}).catch(t=>{this.loadingError="Loading error!",this.hideSpinner()})},run:async function(){return this.schemaVersion||(this.schemaVersion=await this.getSchemaVersion(),sessionStorage.setItem("connectivity-graph-schema-version",this.schemaVersion),this.updateCacheExpiry()),this.schemaVersion<w9?{error:`No server available for schema-version ${this.schemaVersion}.`}:(this.availableSources.length||(this.availableSources=await this.loadAvailableSources()),!this.connectivityFromMap&&!this.isSCKANVersionAvailable()?{error:`No data available for SCKAN version ${this.selectedSource}.`}:(await this.setPathList(this.selectedSource),{success:!0}))},showGraph:async function(t){const e=this.$refs.graphCanvas;this.connectivityFromMap&&(this.cacheLabels(this.connectivityFromMap),await this.getCachedTermLabels()),this.connectivityGraph=new v9(this.labelCache,e);const r=this.knowledgeByPath.get(t);this.connectivityFromMap&&(r.axons=this.connectivityFromMap.axons,r.connectivity=this.connectivityFromMap.connectivity,r.dendrites=this.connectivityFromMap.dendrites,r.somas=this.connectivityFromMap.somas),await this.connectivityGraph.addConnectivity(r),this.connectivityGraph.showConnectivity(e),this.selectedConnectivityData.length&&this.connectivityGraph.selectConnectivity(this.selectedConnectivityData),this.connectivityGraph.on("tap-node",n=>{const a=n.detail;this.$emit("tap-node",a)}),this.hideSpinner()},query:async function(t,e){const r=`${this.mapServer}knowledge/query/`,n={sql:t,params:e};try{const a=await fetch(r,{method:"POST",headers:{Accept:"application/json; charset=utf-8","Cache-Control":"no-store","Content-Type":"application/json"},body:JSON.stringify(n)});if(!a.ok)throw new Error(`Cannot access ${r}`);return await a.json()}catch{return{values:[]}}},isSCKANVersionAvailable:function(){return this.availableSources.includes(this.selectedSource)},loadAvailableSources:async function(){const t=await this.getJsonData(`${this.mapServer}knowledge/sources`),r=(t?t.sources||[]:[]).filter(n=>n);return sessionStorage.setItem("connectivity-graph-sources",JSON.stringify(r)),this.updateCacheExpiry(),r},loadPathData:async function(t){const e=await this.query(`select entity, knowledge from knowledge
50
+ `):[],r=[];for(let n=0;n<e.length/2;n++)r.push({id:e[n],label:e[n+e.length/2]});return r}function y6(t,e){t.sort((r,n)=>r.id<n.id?-1:r.id>n.id?1:0),e.sort((r,n)=>r.id<n.id?-1:r.id>n.id?1:0);for(let r=0;r<t.length;r++)if(JSON.stringify(t[r])!==JSON.stringify(e[r]))return!1;return!0}class b6 extends EventTarget{constructor(r,n){var a;super();cr(this,"cy");cr(this,"tooltip");this.cy=Bn({container:n,elements:r.elements,layout:{name:"dagre",nodeSep:150,edgeSep:50,rankSep:100,rankDir:"TB",roots:r.roots.length?r.roots:void 0},style:g6,minZoom:.1,maxZoom:10,wheelSensitivity:.4}).on("mouseover","node",this.overNode.bind(this)).on("mouseout","node",this.exitNode.bind(this)).on("position","node",this.moveNode.bind(this)),this.tooltip=document.createElement("div"),this.tooltip.className="cy-graph-tooltip",this.tooltip.hidden=!0,(a=n==null?void 0:n.lastChild)==null||a.appendChild(this.tooltip)}remove(){this.cy&&this.cy.destroy()}checkRightBoundary(r){var n;r+this.tooltip.offsetWidth>=((n=this.tooltip.parentElement)==null?void 0:n.offsetWidth)&&(this.tooltip.style.left=`${r-this.tooltip.offsetWidth}px`)}overNode(r){const a=r.target.data(),{label:i}=a,l=fg(i).map(c=>c.label+" ("+c.id+")");this.tooltip.innerText=LS(l.join(`
51
+ `)),this.tooltip.style.left=`${r.renderedPosition.x}px`,this.tooltip.style.top=`${r.renderedPosition.y}px`,this.tooltip.style.maxWidth="240px",this.tooltip.style.zIndex=2,this.tooltip.hidden=!1,this.checkRightBoundary(r.renderedPosition.x),this.tapNode(r,!0)}moveNode(r){const n=r.target;this.tooltip.style.left=`${n.renderedPosition().x}px`,this.tooltip.style.top=`${n.renderedPosition().y}px`,this.checkRightBoundary(n.renderedPosition().x)}exitNode(r){this.tooltip.hidden=!0,this.tapNode(r,!1)}tapNode(r,n){const a=r.target,i=a.data();let{label:o}=i;n?a.addClass("active"):(a.removeClass("active"),o="",setTimeout(()=>{a.unselect()}));const l=fg(o),c=new CustomEvent("tap-node",{detail:l});this.dispatchEvent(c)}on(r,n){this.addEventListener(r,n)}}const w6=1.3,C6=24*60*60*1e3,E6="Reset position",MS="Lock zoom",x6="Unlock zoom",k6="Zoom in",S6="Zoom out",FS=.25,_6="#8300bf",T6={name:"ConnectivityGraph",props:{entry:{type:String,default:""},mapServer:{type:String,default:""},sckanVersion:{type:String,default:""},selectedConnectivityData:{type:Array,default:[]},connectivityFromMap:{type:Object,default:()=>null},connectivityError:{type:Object,default:()=>{}}},data:function(){return{loading:!0,loadingError:"",connectivityGraph:null,selectedSource:"",availableSources:[],pathList:[],schemaVersion:"",knowledgeByPath:new Map,labelledTerms:new Set,labelCache:new Map,resetLabel:E6,zoomLockLabel:MS,zoomInLabel:k6,zoomOutLabel:S6,iconColor:_6,zoomEnabled:!1,connectivityGraphContainer:null}},watch:{connectivityFromMap:function(t,e){t!=e&&(this.showSpinner(),this.start())}},mounted(){this.showSpinner(),this.updateTooltipContainer(),this.refreshCache(),this.loadCacheData(),this.start()},methods:{updateTooltipContainer:function(){this.connectivityGraphContainer=this.$refs.connectivityGraphRef},loadCacheData:function(){const t=sessionStorage.getItem("connectivity-graph-sources"),e=sessionStorage.getItem("connectivity-graph-labels"),r=sessionStorage.getItem("connectivity-graph-pathlist"),n=sessionStorage.getItem("connectivity-graph-schema-version");if(this.sckanVersion&&(this.selectedSource=this.sckanVersion),sessionStorage.setItem("connectivity-graph-selected-source",this.selectedSource),this.updateCacheExpiry(),t&&(this.availableSources=JSON.parse(t)),r&&(this.pathList=JSON.parse(r)),e){const a=JSON.parse(e);this.labelCache=new Map(Object.entries(a))}n&&(this.schemaVersion=n)},isValidKnowledgeSource:function(){const t=sessionStorage.getItem("connectivity-graph-selected-source");return!(this.sckanVersion&&this.sckanVersion!==t)},removeAllCacheData:function(){["connectivity-graph-expiry","connectivity-graph-selected-source","connectivity-graph-source","connectivity-graph-sources","connectivity-graph-labels","connectivity-graph-pathlist","connectivity-graph-schema-version"].forEach(e=>{sessionStorage.removeItem(e)})},refreshCache:function(){const t=sessionStorage.getItem("connectivity-graph-expiry"),e=new Date,r=this.isValidKnowledgeSource();(e.getTime()>t||!r)&&this.removeAllCacheData()},updateCacheExpiry:function(){const e=new Date().getTime()+C6;sessionStorage.setItem("connectivity-graph-expiry",e)},start:function(){this.run().then(t=>{t!=null&&t.success?this.showGraph(this.entry):t!=null&&t.error?(this.loadingError=t.error,this.hideSpinner()):(this.loadingError="Loading error!",this.hideSpinner())}).catch(t=>{this.loadingError="Loading error!",this.hideSpinner()})},run:async function(){return this.schemaVersion||(this.schemaVersion=await this.getSchemaVersion(),sessionStorage.setItem("connectivity-graph-schema-version",this.schemaVersion),this.updateCacheExpiry()),this.schemaVersion<w6?{error:`No server available for schema-version ${this.schemaVersion}.`}:(this.availableSources.length||(this.availableSources=await this.loadAvailableSources()),!this.connectivityFromMap&&!this.isSCKANVersionAvailable()?{error:`No data available for SCKAN version ${this.selectedSource}.`}:(await this.setPathList(this.selectedSource),{success:!0}))},showGraph:async function(t){const e=this.$refs.graphCanvas;this.connectivityFromMap&&(this.cacheLabels(this.connectivityFromMap),await this.getCachedTermLabels()),this.connectivityGraph=new v6(this.labelCache,e);const r=this.knowledgeByPath.get(t);this.connectivityFromMap&&(r.axons=this.connectivityFromMap.axons,r.connectivity=this.connectivityFromMap.connectivity,r.dendrites=this.connectivityFromMap.dendrites,r.somas=this.connectivityFromMap.somas),await this.connectivityGraph.addConnectivity(r),this.connectivityGraph.showConnectivity(e),this.selectedConnectivityData.length&&this.connectivityGraph.selectConnectivity(this.selectedConnectivityData),this.connectivityGraph.on("tap-node",n=>{const a=n.detail;this.$emit("tap-node",a)}),this.hideSpinner()},query:async function(t,e){const r=`${this.mapServer}knowledge/query/`,n={sql:t,params:e};try{const a=await fetch(r,{method:"POST",headers:{Accept:"application/json; charset=utf-8","Cache-Control":"no-store","Content-Type":"application/json"},body:JSON.stringify(n)});if(!a.ok)throw new Error(`Cannot access ${r}`);return await a.json()}catch{return{values:[]}}},isSCKANVersionAvailable:function(){return this.availableSources.includes(this.selectedSource)},loadAvailableSources:async function(){const t=await this.getJsonData(`${this.mapServer}knowledge/sources`),r=(t?t.sources||[]:[]).filter(n=>n);return sessionStorage.setItem("connectivity-graph-sources",JSON.stringify(r)),this.updateCacheExpiry(),r},loadPathData:async function(t){const e=await this.query(`select entity, knowledge from knowledge
52
52
  where entity like 'ilxtr:%' and source=?
53
53
  order by entity`,[t]);return e?e.values:[]},setPathList:async function(t){this.pathList.length||(this.pathList=await this.loadPathData(t),sessionStorage.setItem("connectivity-graph-pathlist",JSON.stringify(this.pathList)),this.updateCacheExpiry()),this.knowledgeByPath.clear(),this.labelledTerms=new Set;for(const[e,r]of this.pathList){const n=JSON.parse(r);"connectivity"in n&&(this.knowledgeByPath.set(e,n),this.cacheLabels(n))}return this.labelCache.size||await this.getCachedTermLabels(),""},getSchemaVersion:async function(){const t=await this.getJsonData(`${this.mapServer}knowledge/schema-version`);return t&&+t.version||0},getJsonData:async function(t){try{const e=await fetch(t,{method:"GET",headers:{Accept:"application/json; charset=utf-8","Cache-Control":"no-store","Content-Type":"application/json"}});return e.ok||console.error(`Cannot access ${t}`),await e.json()}catch{return null}},getCachedTermLabels:async function(){if(this.labelledTerms.size){const t=await this.query(`select entity, knowledge from knowledge
54
54
  where entity in (?${", ?".repeat(this.labelledTerms.size-1)})
55
- order by source desc`,[...this.labelledTerms.values()]);let e=null;for(const[n,a]of t.values)if(n!==e){const i=JSON.parse(a);this.labelCache.set(n,i.label||n),e=n}const r=Object.fromEntries(this.labelCache);sessionStorage.setItem("connectivity-graph-labels",JSON.stringify(r)),this.updateCacheExpiry()}},cacheNodeLabels:function(t){for(const e of[t[0],...t[1]])this.labelledTerms.add(e)},cacheLabels:async function(t){for(const e of t.connectivity)this.cacheNodeLabels(e[0]),this.cacheNodeLabels(e[1])},showSpinner:function(){this.loading=!0},hideSpinner:function(){this.loading=!1},reset:function(){this.connectivityGraph.reset()},zoomIn:function(){this.connectivityGraph.zoom(FS)},zoomOut:function(){this.connectivityGraph.zoom(-FS)},toggleZoom:function(){this.zoomEnabled=!this.zoomEnabled,this.zoomLockLabel=this.zoomEnabled?x9:MS,this.connectivityGraph.enableZoom(!this.zoomEnabled)}}},N9={class:"connectivity-graph",ref:"connectivityGraphRef"},I9={ref:"graphCanvas",class:"graph-canvas"},B9={class:"control-panel control-panel-tools"},D9={class:"visually-hidden"},O9={class:"visually-hidden"},P9={class:"visually-hidden"},A9={class:"visually-hidden"},R9=s.createStaticVNode('<div class="control-panel control-panel-nodes" data-v-95331209><div class="node-key" data-v-95331209><div class="key-box-container" data-v-95331209><div class="key-box key-box-dendrite" data-v-95331209> Origin </div><div class="key-box key-box-node" data-v-95331209> Components </div><div class="key-box key-box-axon" data-v-95331209> Destination </div></div></div></div>',1),L9={class:"connectivity-graph-error"},M9={key:0,class:"loading-error"};function F9(t,e,r,n,a,i){const o=Ne.Aim,l=ut,c=Ht,u=Pi,d=Ne.Lock,f=Ne.Unlock,h=Ne.ZoomIn,v=Ne.ZoomOut,p=Bu;return s.withDirectives((s.openBlock(),s.createElementBlock("div",N9,[s.createElementVNode("div",I9,null,512),s.createElementVNode("div",B9,[s.createElementVNode("div",{class:s.normalizeClass(["tools",{"zoom-locked":t.zoomEnabled}])},[s.createVNode(u,{content:t.resetLabel,placement:"top",effect:"control-tooltip",teleported:!0,"append-to":t.connectivityGraphContainer},{default:s.withCtx(()=>[s.createVNode(c,{class:"control-button",size:"small",onClick:i.reset},{default:s.withCtx(()=>[s.createVNode(l,{color:"white"},{default:s.withCtx(()=>[s.createVNode(o)]),_:1}),s.createElementVNode("span",D9,s.toDisplayString(t.resetLabel),1)]),_:1},8,["onClick"])]),_:1},8,["content","append-to"]),s.createVNode(u,{content:t.zoomLockLabel,placement:"top",effect:"control-tooltip",teleported:!0,"append-to":t.connectivityGraphContainer},{default:s.withCtx(()=>[s.createVNode(c,{class:"control-button",size:"small",onClick:i.toggleZoom},{default:s.withCtx(()=>[s.createVNode(l,{color:"white"},{default:s.withCtx(()=>[t.zoomEnabled?(s.openBlock(),s.createBlock(d,{key:0})):(s.openBlock(),s.createBlock(f,{key:1}))]),_:1}),s.createElementVNode("span",O9,s.toDisplayString(t.zoomLockLabel),1)]),_:1},8,["onClick"])]),_:1},8,["content","append-to"]),s.createVNode(u,{content:t.zoomInLabel,placement:"left",effect:"control-tooltip",teleported:!0,"append-to":t.connectivityGraphContainer},{default:s.withCtx(()=>[s.createVNode(c,{class:"control-button",size:"small",onClick:i.zoomIn},{default:s.withCtx(()=>[s.createVNode(l,{color:"white"},{default:s.withCtx(()=>[s.createVNode(h)]),_:1}),s.createElementVNode("span",P9,s.toDisplayString(t.zoomInLabel),1)]),_:1},8,["onClick"])]),_:1},8,["content","append-to"]),s.createVNode(u,{content:t.zoomOutLabel,placement:"left",effect:"control-tooltip",teleported:!0,"append-to":t.connectivityGraphContainer},{default:s.withCtx(()=>[s.createVNode(c,{class:"control-button",size:"small",onClick:i.zoomOut},{default:s.withCtx(()=>[s.createVNode(l,{color:"white"},{default:s.withCtx(()=>[s.createVNode(v)]),_:1}),s.createElementVNode("span",A9,s.toDisplayString(t.zoomOutLabel),1)]),_:1},8,["onClick"])]),_:1},8,["content","append-to"])],2)]),R9,s.withDirectives(s.createElementVNode("div",L9,[s.createElementVNode("strong",null,s.toDisplayString(r.connectivityError.errorConnectivities),1),s.createTextVNode(" "+s.toDisplayString(r.connectivityError.errorMessage),1)],512),[[s.vShow,r.connectivityError.errorConnectivities]]),t.loadingError?(s.openBlock(),s.createElementBlock("div",M9,s.toDisplayString(t.loadingError),1)):s.createCommentVNode("",!0)])),[[p,t.loading]])}const $9=Yt(T9,[["render",F9],["__scopeId","data-v-95331209"]]),$S=t=>t&&t.charAt(0).toUpperCase()+t.slice(1),V9=t=>t.replace(/\w\S*/g,e=>e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()),q9=t=>new Promise(e=>setTimeout(e,t)),z9={name:"ConnectivityList",components:{Button:Ht,Container:xu,Icon:ut,ElIconWarning:Ne.Warning,ElIconSearch:Ne.Search},props:{entry:{type:Object,default:()=>({destinations:[],origins:[],components:[],destinationsWithDatasets:[],originsWithDatasets:[],componentsWithDatasets:[],resource:void 0,featuresAlert:void 0})},origins:{type:Array,default:()=>[]},components:{type:Array,default:()=>[]},destinations:{type:Array,default:()=>[]},originsWithDatasets:{type:Array,default:()=>[]},componentsWithDatasets:{type:Array,default:()=>[]},destinationsWithDatasets:{type:Array,default:()=>[]},availableAnatomyFacets:{type:Array,default:()=>[]},connectivityError:{type:Object,default:()=>{}}},data:function(){return{alertTop:0,originDescriptions:{motor:"is the location of the initial cell body of the circuit",sensory:"is the location of the initial cell body in the PNS circuit"},facetList:[]}},watch:{availableAnatomyFacets:{handler:function(t){this.convertFacetsToList(t)},immediate:!0,deep:!0}},computed:{originDescription:function(){return this.entry&&this.entry.title&&this.entry.title.toLowerCase().includes("motor")?this.originDescriptions.motor:this.originDescriptions.sensory}},methods:{capitalise:function(t){return $S(t)},onConnectivityHovered:function(t,e){this.$emit("connectivity-hovered",t),e&&(this.alertTop=e.srcElement.offsetParent.offsetTop+e.srcElement.offsetTop)},onConnectivityClicked:function(t){const e=this.connectivityError.errorConnectivities,r=e?t.replace(new RegExp(`\\s*,?\\s*${e}\\s*,?\\s*`,"gi"),"").trim():t;this.$emit("connectivity-clicked",r)},shouldShowMagnifyGlass:function(t){const e=this.connectivityError.errorConnectivities;return(e==null?void 0:e.toLowerCase())!==t.toLowerCase()},shouldShowExploreButton:function(t){if(!this.facetList.length)return!0;for(let e=0;e<t.length;e++)if(this.facetList.includes(t[e].name.toLowerCase()))return!0;return!1},convertFacetsToList:function(t){t.forEach(e=>{e.children?this.convertFacetsToList(e.children):this.facetList.push(e.label.toLowerCase())})},openAll:function(){this.$emit("connectivity-action-click",{type:"Facets",labels:this.componentsWithDatasets.map(t=>t.name.toLowerCase())})},openAxons:function(){this.$emit("connectivity-action-click",{type:"Facets",labels:this.destinationsWithDatasets.map(t=>t.name.toLowerCase())})},openDendrites:function(){this.$emit("connectivity-action-click",{type:"Facets",labels:this.originsWithDatasets.map(t=>t.name.toLowerCase())})}}},On=t=>(s.pushScopeId("data-v-81bbd5ff"),t=t(),s.popScopeId(),t),H9={ref:"connectivityList",class:"connectivity-list"},K9={key:0,class:"block"},G9={class:"attribute-title-container"},U9=On(()=>s.createElementVNode("span",{class:"attribute-title"},"Origin",-1)),j9={style:{"word-break":"keep-all"}},W9=On(()=>s.createElementVNode("i",null,"Origin",-1)),Y9=["origin-item-label","onMouseenter"],Z9=On(()=>s.createElementVNode("span",null,"Search connectivity",-1)),X9={key:1,class:"block"},J9=On(()=>s.createElementVNode("div",{class:"attribute-title-container"},[s.createElementVNode("span",{class:"attribute-title"},"Components")],-1)),Q9=["component-item-label","onMouseenter"],eH=On(()=>s.createElementVNode("span",null,"Search connectivity",-1)),tH={key:2,class:"block"},rH={class:"attribute-title-container"},nH=On(()=>s.createElementVNode("span",{class:"attribute-title"},"Destination",-1)),aH=On(()=>s.createElementVNode("span",{style:{"word-break":"keep-all"}},[s.createElementVNode("i",null,"Destination"),s.createTextVNode(" is where the axons terminate ")],-1)),iH=["destination-item-label","onMouseenter"],oH=On(()=>s.createElementVNode("span",null,"Search connectivity",-1)),sH={class:"block"};function lH(t,e,r,n,a,i){const o=Oa,l=Ne.Warning,c=ut,u=Ne.Search,d=Ht;return s.openBlock(),s.createElementBlock("div",H9,[s.createVNode(o,{width:"250","show-arrow":!1,trigger:"manual",teleported:!1,placement:"left-start",visible:!!r.connectivityError.errorConnectivities,"popper-class":"connectivity-error-container"},{reference:s.withCtx(()=>[s.createElementVNode("div",{class:"connectivity-alert",style:s.normalizeStyle({top:t.alertTop+"px"})},null,4)]),default:s.withCtx(()=>[s.createElementVNode("strong",null,s.toDisplayString(r.connectivityError.errorConnectivities),1),s.createTextVNode(" "+s.toDisplayString(r.connectivityError.errorMessage),1)]),_:1},8,["visible"]),s.createTextVNode(" "+s.toDisplayString(r.entry.paths)+" ",1),r.origins&&r.origins.length>0?(s.openBlock(),s.createElementBlock("div",K9,[s.createElementVNode("div",G9,[U9,s.createVNode(o,{width:"250",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.createVNode(c,{class:"info"},{default:s.withCtx(()=>[s.createVNode(l)]),_:1})]),default:s.withCtx(()=>[s.createElementVNode("span",j9,[W9,s.createTextVNode(" "+s.toDisplayString(i.originDescription),1)])]),_:1})]),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(r.origins,(f,h)=>(s.openBlock(),s.createElementBlock("div",{class:"attribute-content","origin-item-label":f,key:f,onMouseenter:v=>i.onConnectivityHovered(f,v),onMouseleave:e[0]||(e[0]=v=>i.onConnectivityHovered())},[s.createVNode(o,{width:"150",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.withDirectives(s.createVNode(c,{class:"magnify-glass",onClick:v=>i.onConnectivityClicked(f)},{default:s.withCtx(()=>[s.createVNode(u)]),_:2},1032,["onClick"]),[[s.vShow,i.shouldShowMagnifyGlass(f)]])]),default:s.withCtx(()=>[Z9]),_:2},1024),s.createElementVNode("span",null,s.toDisplayString(i.capitalise(f)),1)],40,Y9))),128)),s.withDirectives(s.createVNode(d,{class:"button",id:"open-dendrites-button",onClick:i.openDendrites},{default:s.withCtx(()=>[s.createTextVNode(" Explore origin data ")]),_:1},8,["onClick"]),[[s.vShow,r.originsWithDatasets&&r.originsWithDatasets.length>0&&i.shouldShowExploreButton(r.originsWithDatasets)]])])):s.createCommentVNode("",!0),r.components&&r.components.length>0?(s.openBlock(),s.createElementBlock("div",X9,[J9,(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(r.components,(f,h)=>(s.openBlock(),s.createElementBlock("div",{class:"attribute-content","component-item-label":f,key:f,onMouseenter:v=>i.onConnectivityHovered(f,v),onMouseleave:e[1]||(e[1]=v=>i.onConnectivityHovered())},[s.createVNode(o,{width:"150",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.withDirectives(s.createVNode(c,{class:"magnify-glass",onClick:v=>i.onConnectivityClicked(f)},{default:s.withCtx(()=>[s.createVNode(u)]),_:2},1032,["onClick"]),[[s.vShow,i.shouldShowMagnifyGlass(f)]])]),default:s.withCtx(()=>[eH]),_:2},1024),s.createElementVNode("span",null,s.toDisplayString(i.capitalise(f)),1)],40,Q9))),128))])):s.createCommentVNode("",!0),r.destinations&&r.destinations.length>0?(s.openBlock(),s.createElementBlock("div",tH,[s.createElementVNode("div",rH,[nH,s.createVNode(o,{width:"250",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.createVNode(c,{class:"info"},{default:s.withCtx(()=>[s.createVNode(l)]),_:1})]),default:s.withCtx(()=>[aH]),_:1})]),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(r.destinations,(f,h)=>(s.openBlock(),s.createElementBlock("div",{class:"attribute-content","destination-item-label":f,key:f,onMouseenter:v=>i.onConnectivityHovered(f,v),onMouseleave:e[2]||(e[2]=v=>i.onConnectivityHovered())},[s.createVNode(o,{width:"150",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.withDirectives(s.createVNode(c,{class:"magnify-glass",onClick:v=>i.onConnectivityClicked(f)},{default:s.withCtx(()=>[s.createVNode(u)]),_:2},1032,["onClick"]),[[s.vShow,i.shouldShowMagnifyGlass(f)]])]),default:s.withCtx(()=>[oH]),_:2},1024),s.createElementVNode("span",null,s.toDisplayString(i.capitalise(f)),1)],40,iH))),128)),s.withDirectives(s.createVNode(d,{class:"button",onClick:i.openAxons},{default:s.withCtx(()=>[s.createTextVNode(" Explore destination data ")]),_:1},8,["onClick"]),[[s.vShow,r.destinationsWithDatasets&&r.destinationsWithDatasets.length>0&&i.shouldShowExploreButton(r.destinationsWithDatasets)]])])):s.createCommentVNode("",!0),s.withDirectives(s.createElementVNode("div",sH,[s.createVNode(d,{class:"button",onClick:i.openAll},{default:s.withCtx(()=>[s.createTextVNode(" Search for data on components ")]),_:1},8,["onClick"])],512),[[s.vShow,r.componentsWithDatasets&&r.componentsWithDatasets.length>0&&i.shouldShowExploreButton(r.componentsWithDatasets)]])],512)}const hg=Yt(z9,[["render",lH],["__scopeId","data-v-81bbd5ff"]]),uH=function(t){return t?t.charAt(0).toUpperCase()+t.slice(1):""},cH={name:"ConnectionDialog",props:{connectionEntry:{type:Object,default:{}},inDrawing:{type:Boolean,default:!1},connectionExist:{type:Boolean,default:!1}},data:function(){return{tooltipId:void 0}},methods:{shadowDisplay:function(t){return this.tooltipId===t?"always":"hover"},capitalize:function(t){return uH(t)},handleTooltip:function(t){this.tooltipId=this.tooltipId===t?void 0:t,this.$emit("featureTooltip",this.tooltipId)}}},pg=t=>(s.pushScopeId("data-v-1ddab772"),t=t(),s.popScopeId(),t),dH={class:"dialog-container"},fH=pg(()=>s.createElementVNode("span",{class:"dialog-title"},"Finalize drawing",-1)),hH=pg(()=>s.createElementVNode("span",{class:"dialog-title"},"Visualize connection",-1)),pH=pg(()=>s.createElementVNode("b",null,[s.createElementVNode("span",null,"Related Features")],-1)),vH={class:"connection-label"};function gH(t,e,r,n,a,i){const o=Ht,l=as,c=Ri,u=Oa,d=AA;return s.openBlock(),s.createElementBlock("div",dH,[s.createVNode(l,null,{default:s.withCtx(()=>[s.createVNode(c,null,{default:s.withCtx(()=>[r.inDrawing?(s.openBlock(),s.createBlock(l,{key:0},{default:s.withCtx(()=>[fH,s.createVNode(o,{type:"primary",plain:"",onClick:e[0]||(e[0]=f=>t.$emit("confirmDrawn",!0))},{default:s.withCtx(()=>[s.createTextVNode(" Confirm ")]),_:1}),s.createVNode(o,{type:"primary",plain:"",onClick:e[1]||(e[1]=f=>t.$emit("cancelDrawn",!0))},{default:s.withCtx(()=>[s.createTextVNode(" Cancel ")]),_:1})]),_:1})):(s.openBlock(),s.createBlock(l,{key:1},{default:s.withCtx(()=>[hH,s.createVNode(o,{type:"primary",plain:"",onClick:e[2]||(e[2]=f=>t.$emit("dialogDisplay",!1))},{default:s.withCtx(()=>[s.createTextVNode(" Close ")]),_:1})]),_:1}))]),_:1})]),_:1}),r.connectionExist?(s.openBlock(),s.createBlock(l,{key:0},{default:s.withCtx(()=>[s.createVNode(c,null,{default:s.withCtx(()=>[pH,(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(r.connectionEntry,(f,h)=>(s.openBlock(),s.createBlock(l,{key:h},{default:s.withCtx(()=>[s.createVNode(d,{shadow:i.shadowDisplay(h),onClick:v=>i.handleTooltip(h)},{default:s.withCtx(()=>[s.createVNode(u,{trigger:"hover",disabled:f.label.length<20,width:200,content:i.capitalize(f.label)},{reference:s.withCtx(()=>[s.createElementVNode("span",vH,s.toDisplayString(i.capitalize(f.label)),1)]),_:2},1032,["disabled","content"])]),_:2},1032,["shadow","onClick"])]),_:2},1024))),128))]),_:1})]),_:1})):s.createCommentVNode("",!0)])}const mH=Yt(cH,[["render",gH],["__scopeId","data-v-1ddab772"]]),VS=(t,e)=>{const r=t.__vccOpts||t;for(const[n,a]of e)r[n]=a;return r},yH=["xlink:href"],bH={__name:"SvgIcon",props:{icon:{type:String,required:!0},spin:{type:Boolean,default:!1}},setup(t){return(e,r)=>(s.openBlock(),s.createElementBlock("svg",{class:s.normalizeClass(["map-icon",{"map-icon-spin":t.spin}])},[s.createElementVNode("use",{"xlink:href":`#${t.icon}`},null,8,yH)],2))}},wH=VS(bH,[["__scopeId","data-v-e172d5ff"]]),qS=`<?xml version="1.0" encoding="UTF-8"?>
55
+ order by source desc`,[...this.labelledTerms.values()]);let e=null;for(const[n,a]of t.values)if(n!==e){const i=JSON.parse(a);this.labelCache.set(n,i.label||n),e=n}const r=Object.fromEntries(this.labelCache);sessionStorage.setItem("connectivity-graph-labels",JSON.stringify(r)),this.updateCacheExpiry()}},cacheNodeLabels:function(t){for(const e of[t[0],...t[1]])this.labelledTerms.add(e)},cacheLabels:async function(t){for(const e of t.connectivity)this.cacheNodeLabels(e[0]),this.cacheNodeLabels(e[1])},showSpinner:function(){this.loading=!0},hideSpinner:function(){this.loading=!1},reset:function(){this.connectivityGraph.reset()},zoomIn:function(){this.connectivityGraph.zoom(FS)},zoomOut:function(){this.connectivityGraph.zoom(-FS)},toggleZoom:function(){this.zoomEnabled=!this.zoomEnabled,this.zoomLockLabel=this.zoomEnabled?x6:MS,this.connectivityGraph.enableZoom(!this.zoomEnabled)}}},N6={class:"connectivity-graph",ref:"connectivityGraphRef"},I6={ref:"graphCanvas",class:"graph-canvas"},B6={class:"control-panel control-panel-tools"},D6={class:"visually-hidden"},O6={class:"visually-hidden"},P6={class:"visually-hidden"},A6={class:"visually-hidden"},R6=s.createStaticVNode('<div class="control-panel control-panel-nodes" data-v-95331209><div class="node-key" data-v-95331209><div class="key-box-container" data-v-95331209><div class="key-box key-box-dendrite" data-v-95331209> Origin </div><div class="key-box key-box-node" data-v-95331209> Components </div><div class="key-box key-box-axon" data-v-95331209> Destination </div></div></div></div>',1),L6={class:"connectivity-graph-error"},M6={key:0,class:"loading-error"};function F6(t,e,r,n,a,i){const o=Ne.Aim,l=ut,c=Ht,u=Pi,d=Ne.Lock,f=Ne.Unlock,h=Ne.ZoomIn,v=Ne.ZoomOut,p=Bu;return s.withDirectives((s.openBlock(),s.createElementBlock("div",N6,[s.createElementVNode("div",I6,null,512),s.createElementVNode("div",B6,[s.createElementVNode("div",{class:s.normalizeClass(["tools",{"zoom-locked":t.zoomEnabled}])},[s.createVNode(u,{content:t.resetLabel,placement:"top",effect:"control-tooltip",teleported:!0,"append-to":t.connectivityGraphContainer},{default:s.withCtx(()=>[s.createVNode(c,{class:"control-button",size:"small",onClick:i.reset},{default:s.withCtx(()=>[s.createVNode(l,{color:"white"},{default:s.withCtx(()=>[s.createVNode(o)]),_:1}),s.createElementVNode("span",D6,s.toDisplayString(t.resetLabel),1)]),_:1},8,["onClick"])]),_:1},8,["content","append-to"]),s.createVNode(u,{content:t.zoomLockLabel,placement:"top",effect:"control-tooltip",teleported:!0,"append-to":t.connectivityGraphContainer},{default:s.withCtx(()=>[s.createVNode(c,{class:"control-button",size:"small",onClick:i.toggleZoom},{default:s.withCtx(()=>[s.createVNode(l,{color:"white"},{default:s.withCtx(()=>[t.zoomEnabled?(s.openBlock(),s.createBlock(d,{key:0})):(s.openBlock(),s.createBlock(f,{key:1}))]),_:1}),s.createElementVNode("span",O6,s.toDisplayString(t.zoomLockLabel),1)]),_:1},8,["onClick"])]),_:1},8,["content","append-to"]),s.createVNode(u,{content:t.zoomInLabel,placement:"left",effect:"control-tooltip",teleported:!0,"append-to":t.connectivityGraphContainer},{default:s.withCtx(()=>[s.createVNode(c,{class:"control-button",size:"small",onClick:i.zoomIn},{default:s.withCtx(()=>[s.createVNode(l,{color:"white"},{default:s.withCtx(()=>[s.createVNode(h)]),_:1}),s.createElementVNode("span",P6,s.toDisplayString(t.zoomInLabel),1)]),_:1},8,["onClick"])]),_:1},8,["content","append-to"]),s.createVNode(u,{content:t.zoomOutLabel,placement:"left",effect:"control-tooltip",teleported:!0,"append-to":t.connectivityGraphContainer},{default:s.withCtx(()=>[s.createVNode(c,{class:"control-button",size:"small",onClick:i.zoomOut},{default:s.withCtx(()=>[s.createVNode(l,{color:"white"},{default:s.withCtx(()=>[s.createVNode(v)]),_:1}),s.createElementVNode("span",A6,s.toDisplayString(t.zoomOutLabel),1)]),_:1},8,["onClick"])]),_:1},8,["content","append-to"])],2)]),R6,s.withDirectives(s.createElementVNode("div",L6,[s.createElementVNode("strong",null,s.toDisplayString(r.connectivityError.errorConnectivities),1),s.createTextVNode(" "+s.toDisplayString(r.connectivityError.errorMessage),1)],512),[[s.vShow,r.connectivityError.errorConnectivities]]),t.loadingError?(s.openBlock(),s.createElementBlock("div",M6,s.toDisplayString(t.loadingError),1)):s.createCommentVNode("",!0)])),[[p,t.loading]])}const $6=Yt(T6,[["render",F6],["__scopeId","data-v-95331209"]]),$S=t=>t&&t.charAt(0).toUpperCase()+t.slice(1),V6=t=>t.replace(/\w\S*/g,e=>e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()),q6=t=>new Promise(e=>setTimeout(e,t)),z6={name:"ConnectivityList",components:{Button:Ht,Container:xu,Icon:ut,ElIconWarning:Ne.Warning,ElIconSearch:Ne.Search},props:{entry:{type:Object,default:()=>({destinations:[],origins:[],components:[],destinationsWithDatasets:[],originsWithDatasets:[],componentsWithDatasets:[],resource:void 0,featuresAlert:void 0})},origins:{type:Array,default:()=>[]},components:{type:Array,default:()=>[]},destinations:{type:Array,default:()=>[]},originsWithDatasets:{type:Array,default:()=>[]},componentsWithDatasets:{type:Array,default:()=>[]},destinationsWithDatasets:{type:Array,default:()=>[]},availableAnatomyFacets:{type:Array,default:()=>[]},connectivityError:{type:Object,default:()=>{}}},data:function(){return{alertTop:0,originDescriptions:{motor:"is the location of the initial cell body of the circuit",sensory:"is the location of the initial cell body in the PNS circuit"},facetList:[]}},watch:{availableAnatomyFacets:{handler:function(t){this.convertFacetsToList(t)},immediate:!0,deep:!0}},computed:{originDescription:function(){return this.entry&&this.entry.title&&this.entry.title.toLowerCase().includes("motor")?this.originDescriptions.motor:this.originDescriptions.sensory}},methods:{capitalise:function(t){return $S(t)},onConnectivityHovered:function(t,e){this.$emit("connectivity-hovered",t),e&&(this.alertTop=e.srcElement.offsetParent.offsetTop+e.srcElement.offsetTop)},onConnectivityClicked:function(t){const e=this.connectivityError.errorConnectivities,r=e?t.replace(new RegExp(`\\s*,?\\s*${e}\\s*,?\\s*`,"gi"),"").trim():t;this.$emit("connectivity-clicked",r)},shouldShowMagnifyGlass:function(t){const e=this.connectivityError.errorConnectivities;return(e==null?void 0:e.toLowerCase())!==t.toLowerCase()},shouldShowExploreButton:function(t){if(!this.facetList.length)return!0;for(let e=0;e<t.length;e++)if(this.facetList.includes(t[e].name.toLowerCase()))return!0;return!1},convertFacetsToList:function(t){t.forEach(e=>{e.children?this.convertFacetsToList(e.children):this.facetList.push(e.label.toLowerCase())})},openAll:function(){this.$emit("connectivity-action-click",{type:"Facets",labels:this.componentsWithDatasets.map(t=>t.name.toLowerCase())})},openAxons:function(){this.$emit("connectivity-action-click",{type:"Facets",labels:this.destinationsWithDatasets.map(t=>t.name.toLowerCase())})},openDendrites:function(){this.$emit("connectivity-action-click",{type:"Facets",labels:this.originsWithDatasets.map(t=>t.name.toLowerCase())})}}},On=t=>(s.pushScopeId("data-v-81bbd5ff"),t=t(),s.popScopeId(),t),H6={ref:"connectivityList",class:"connectivity-list"},K6={key:0,class:"block"},G6={class:"attribute-title-container"},U6=On(()=>s.createElementVNode("span",{class:"attribute-title"},"Origin",-1)),j6={style:{"word-break":"keep-all"}},W6=On(()=>s.createElementVNode("i",null,"Origin",-1)),Y6=["origin-item-label","onMouseenter"],Z6=On(()=>s.createElementVNode("span",null,"Search connectivity",-1)),X6={key:1,class:"block"},J6=On(()=>s.createElementVNode("div",{class:"attribute-title-container"},[s.createElementVNode("span",{class:"attribute-title"},"Components")],-1)),Q6=["component-item-label","onMouseenter"],eH=On(()=>s.createElementVNode("span",null,"Search connectivity",-1)),tH={key:2,class:"block"},rH={class:"attribute-title-container"},nH=On(()=>s.createElementVNode("span",{class:"attribute-title"},"Destination",-1)),aH=On(()=>s.createElementVNode("span",{style:{"word-break":"keep-all"}},[s.createElementVNode("i",null,"Destination"),s.createTextVNode(" is where the axons terminate ")],-1)),iH=["destination-item-label","onMouseenter"],oH=On(()=>s.createElementVNode("span",null,"Search connectivity",-1)),sH={class:"block"};function lH(t,e,r,n,a,i){const o=Oa,l=Ne.Warning,c=ut,u=Ne.Search,d=Ht;return s.openBlock(),s.createElementBlock("div",H6,[s.createVNode(o,{width:"250","show-arrow":!1,trigger:"manual",teleported:!1,placement:"left-start",visible:!!r.connectivityError.errorConnectivities,"popper-class":"connectivity-error-container"},{reference:s.withCtx(()=>[s.createElementVNode("div",{class:"connectivity-alert",style:s.normalizeStyle({top:t.alertTop+"px"})},null,4)]),default:s.withCtx(()=>[s.createElementVNode("strong",null,s.toDisplayString(r.connectivityError.errorConnectivities),1),s.createTextVNode(" "+s.toDisplayString(r.connectivityError.errorMessage),1)]),_:1},8,["visible"]),s.createTextVNode(" "+s.toDisplayString(r.entry.paths)+" ",1),r.origins&&r.origins.length>0?(s.openBlock(),s.createElementBlock("div",K6,[s.createElementVNode("div",G6,[U6,s.createVNode(o,{width:"250",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.createVNode(c,{class:"info"},{default:s.withCtx(()=>[s.createVNode(l)]),_:1})]),default:s.withCtx(()=>[s.createElementVNode("span",j6,[W6,s.createTextVNode(" "+s.toDisplayString(i.originDescription),1)])]),_:1})]),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(r.origins,(f,h)=>(s.openBlock(),s.createElementBlock("div",{class:"attribute-content","origin-item-label":f,key:f,onMouseenter:v=>i.onConnectivityHovered(f,v),onMouseleave:e[0]||(e[0]=v=>i.onConnectivityHovered())},[s.createVNode(o,{width:"150",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.withDirectives(s.createVNode(c,{class:"magnify-glass",onClick:v=>i.onConnectivityClicked(f)},{default:s.withCtx(()=>[s.createVNode(u)]),_:2},1032,["onClick"]),[[s.vShow,i.shouldShowMagnifyGlass(f)]])]),default:s.withCtx(()=>[Z6]),_:2},1024),s.createElementVNode("span",null,s.toDisplayString(i.capitalise(f)),1)],40,Y6))),128)),s.withDirectives(s.createVNode(d,{class:"button",id:"open-dendrites-button",onClick:i.openDendrites},{default:s.withCtx(()=>[s.createTextVNode(" Explore origin data ")]),_:1},8,["onClick"]),[[s.vShow,r.originsWithDatasets&&r.originsWithDatasets.length>0&&i.shouldShowExploreButton(r.originsWithDatasets)]])])):s.createCommentVNode("",!0),r.components&&r.components.length>0?(s.openBlock(),s.createElementBlock("div",X6,[J6,(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(r.components,(f,h)=>(s.openBlock(),s.createElementBlock("div",{class:"attribute-content","component-item-label":f,key:f,onMouseenter:v=>i.onConnectivityHovered(f,v),onMouseleave:e[1]||(e[1]=v=>i.onConnectivityHovered())},[s.createVNode(o,{width:"150",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.withDirectives(s.createVNode(c,{class:"magnify-glass",onClick:v=>i.onConnectivityClicked(f)},{default:s.withCtx(()=>[s.createVNode(u)]),_:2},1032,["onClick"]),[[s.vShow,i.shouldShowMagnifyGlass(f)]])]),default:s.withCtx(()=>[eH]),_:2},1024),s.createElementVNode("span",null,s.toDisplayString(i.capitalise(f)),1)],40,Q6))),128))])):s.createCommentVNode("",!0),r.destinations&&r.destinations.length>0?(s.openBlock(),s.createElementBlock("div",tH,[s.createElementVNode("div",rH,[nH,s.createVNode(o,{width:"250",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.createVNode(c,{class:"info"},{default:s.withCtx(()=>[s.createVNode(l)]),_:1})]),default:s.withCtx(()=>[aH]),_:1})]),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(r.destinations,(f,h)=>(s.openBlock(),s.createElementBlock("div",{class:"attribute-content","destination-item-label":f,key:f,onMouseenter:v=>i.onConnectivityHovered(f,v),onMouseleave:e[2]||(e[2]=v=>i.onConnectivityHovered())},[s.createVNode(o,{width:"150",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.withDirectives(s.createVNode(c,{class:"magnify-glass",onClick:v=>i.onConnectivityClicked(f)},{default:s.withCtx(()=>[s.createVNode(u)]),_:2},1032,["onClick"]),[[s.vShow,i.shouldShowMagnifyGlass(f)]])]),default:s.withCtx(()=>[oH]),_:2},1024),s.createElementVNode("span",null,s.toDisplayString(i.capitalise(f)),1)],40,iH))),128)),s.withDirectives(s.createVNode(d,{class:"button",onClick:i.openAxons},{default:s.withCtx(()=>[s.createTextVNode(" Explore destination data ")]),_:1},8,["onClick"]),[[s.vShow,r.destinationsWithDatasets&&r.destinationsWithDatasets.length>0&&i.shouldShowExploreButton(r.destinationsWithDatasets)]])])):s.createCommentVNode("",!0),s.withDirectives(s.createElementVNode("div",sH,[s.createVNode(d,{class:"button",onClick:i.openAll},{default:s.withCtx(()=>[s.createTextVNode(" Search for data on components ")]),_:1},8,["onClick"])],512),[[s.vShow,r.componentsWithDatasets&&r.componentsWithDatasets.length>0&&i.shouldShowExploreButton(r.componentsWithDatasets)]])],512)}const hg=Yt(z6,[["render",lH],["__scopeId","data-v-81bbd5ff"]]),uH=function(t){return t?t.charAt(0).toUpperCase()+t.slice(1):""},cH={name:"ConnectionDialog",props:{connectionEntry:{type:Object,default:{}},inDrawing:{type:Boolean,default:!1},connectionExist:{type:Boolean,default:!1}},data:function(){return{tooltipId:void 0}},methods:{shadowDisplay:function(t){return this.tooltipId===t?"always":"hover"},capitalize:function(t){return uH(t)},handleTooltip:function(t){this.tooltipId=this.tooltipId===t?void 0:t,this.$emit("featureTooltip",this.tooltipId)}}},pg=t=>(s.pushScopeId("data-v-1ddab772"),t=t(),s.popScopeId(),t),dH={class:"dialog-container"},fH=pg(()=>s.createElementVNode("span",{class:"dialog-title"},"Finalize drawing",-1)),hH=pg(()=>s.createElementVNode("span",{class:"dialog-title"},"Visualize connection",-1)),pH=pg(()=>s.createElementVNode("b",null,[s.createElementVNode("span",null,"Related Features")],-1)),vH={class:"connection-label"};function gH(t,e,r,n,a,i){const o=Ht,l=as,c=Ri,u=Oa,d=AA;return s.openBlock(),s.createElementBlock("div",dH,[s.createVNode(l,null,{default:s.withCtx(()=>[s.createVNode(c,null,{default:s.withCtx(()=>[r.inDrawing?(s.openBlock(),s.createBlock(l,{key:0},{default:s.withCtx(()=>[fH,s.createVNode(o,{type:"primary",plain:"",onClick:e[0]||(e[0]=f=>t.$emit("confirmDrawn",!0))},{default:s.withCtx(()=>[s.createTextVNode(" Confirm ")]),_:1}),s.createVNode(o,{type:"primary",plain:"",onClick:e[1]||(e[1]=f=>t.$emit("cancelDrawn",!0))},{default:s.withCtx(()=>[s.createTextVNode(" Cancel ")]),_:1})]),_:1})):(s.openBlock(),s.createBlock(l,{key:1},{default:s.withCtx(()=>[hH,s.createVNode(o,{type:"primary",plain:"",onClick:e[2]||(e[2]=f=>t.$emit("dialogDisplay",!1))},{default:s.withCtx(()=>[s.createTextVNode(" Close ")]),_:1})]),_:1}))]),_:1})]),_:1}),r.connectionExist?(s.openBlock(),s.createBlock(l,{key:0},{default:s.withCtx(()=>[s.createVNode(c,null,{default:s.withCtx(()=>[pH,(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(r.connectionEntry,(f,h)=>(s.openBlock(),s.createBlock(l,{key:h},{default:s.withCtx(()=>[s.createVNode(d,{shadow:i.shadowDisplay(h),onClick:v=>i.handleTooltip(h)},{default:s.withCtx(()=>[s.createVNode(u,{trigger:"hover",disabled:f.label.length<20,width:200,content:i.capitalize(f.label)},{reference:s.withCtx(()=>[s.createElementVNode("span",vH,s.toDisplayString(i.capitalize(f.label)),1)]),_:2},1032,["disabled","content"])]),_:2},1032,["shadow","onClick"])]),_:2},1024))),128))]),_:1})]),_:1})):s.createCommentVNode("",!0)])}const mH=Yt(cH,[["render",gH],["__scopeId","data-v-1ddab772"]]),VS=(t,e)=>{const r=t.__vccOpts||t;for(const[n,a]of e)r[n]=a;return r},yH=["xlink:href"],bH={__name:"SvgIcon",props:{icon:{type:String,required:!0},spin:{type:Boolean,default:!1}},setup(t){return(e,r)=>(s.openBlock(),s.createElementBlock("svg",{class:s.normalizeClass(["map-icon",{"map-icon-spin":t.spin}])},[s.createElementVNode("use",{"xlink:href":`#${t.icon}`},null,8,yH)],2))}},wH=VS(bH,[["__scopeId","data-v-e172d5ff"]]),qS=`<?xml version="1.0" encoding="UTF-8"?>
56
56
  <svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
57
57
  <title>2horpanel</title>
58
58
  <g id="2horpanel" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
@@ -463,8 +463,8 @@ Licensed under The MIT License (http://opensource.org/licenses/MIT)
463
463
  </g>
464
464
  </svg>`,w_=(t,e,r,n)=>{const a=["title","desc","defs","style"],i=["width","height"],o=n||[];let l=document.createElement("div");l.innerHTML=t,a.map(u=>{const d=l.querySelector(u);d&&d.remove()}),i.map(u=>{l.querySelector("svg").removeAttribute(u)}),n&&o.map(u=>{Object.values(l.querySelectorAll(`[${u}]`)).map(d=>{d.removeAttribute(u)})});const c=l.innerHTML;return l=null,c},C_=t=>[[/<\?xml[\s\S]*?>/gi,""],[/<!doctype[\s\S]*?>/gi,""],[/<!--.*-->/gi,""],[/\<([A-Za-z]+)([^\>]*)\/\>/g,"<$1$2></$1>"],[/\s+/g," "],[/\> \</g,"><"]].reduce((e,r)=>"".replace.apply(e,r),t).trim(),CH=!0,EH=!0,xH=["fill"],vg=Object.assign({"/assets/icons/2horpanel.svg":qS,"/assets/icons/2vertpanel.svg":zS,"/assets/icons/3panel.svg":HS,"/assets/icons/4panel.svg":KS,"/assets/icons/5panel.svg":GS,"/assets/icons/6panel.svg":US,"/assets/icons/6panelVertical.svg":jS,"/assets/icons/changeBckgd.svg":WS,"/assets/icons/close-no-bk.svg":YS,"/assets/icons/close.svg":ZS,"/assets/icons/closeFullScreen.svg":XS,"/assets/icons/comment.svg":JS,"/assets/icons/connection.svg":QS,"/assets/icons/dock.svg":e_,"/assets/icons/drawLine.svg":t_,"/assets/icons/drawPoint.svg":r_,"/assets/icons/drawPolygon.svg":n_,"/assets/icons/drawTrash.svg":a_,"/assets/icons/fitWindow.svg":i_,"/assets/icons/fullScreen.svg":o_,"/assets/icons/help.svg":s_,"/assets/icons/magnifyingGlass.svg":l_,"/assets/icons/noun-filter.svg":u_,"/assets/icons/openMap.svg":c_,"/assets/icons/pause.svg":d_,"/assets/icons/permalink.svg":f_,"/assets/icons/play.svg":h_,"/assets/icons/resetZoom.svg":p_,"/assets/icons/singlepanel.svg":v_,"/assets/icons/tooltips.svg":g_,"/assets/icons/undock.svg":m_,"/assets/icons/zoomIn.svg":y_,"/assets/icons/zoomOut.svg":b_});Object.keys(vg).map(t=>{const e=w_(vg[t],CH,EH,xH),r=t.replace(/^.+\/(\w+).svg$/,"$1");return C_(e).replace("<svg",`<symbol id="${r}"`).replace("svg>","symbol>")}).join(`
465
465
  `);const gg=Object.assign({"/assets/icons/2horpanel.svg":qS,"/assets/icons/2vertpanel.svg":zS,"/assets/icons/3panel.svg":HS,"/assets/icons/4panel.svg":KS,"/assets/icons/5panel.svg":GS,"/assets/icons/6panel.svg":US,"/assets/icons/6panelVertical.svg":jS,"/assets/icons/changeBckgd.svg":WS,"/assets/icons/close-no-bk.svg":YS,"/assets/icons/close.svg":ZS,"/assets/icons/closeFullScreen.svg":XS,"/assets/icons/comment.svg":JS,"/assets/icons/connection.svg":QS,"/assets/icons/dock.svg":e_,"/assets/icons/drawLine.svg":t_,"/assets/icons/drawPoint.svg":r_,"/assets/icons/drawPolygon.svg":n_,"/assets/icons/drawTrash.svg":a_,"/assets/icons/fitWindow.svg":i_,"/assets/icons/fullScreen.svg":o_,"/assets/icons/help.svg":s_,"/assets/icons/magnifyingGlass.svg":l_,"/assets/icons/noun-filter.svg":u_,"/assets/icons/openMap.svg":c_,"/assets/icons/pause.svg":d_,"/assets/icons/permalink.svg":f_,"/assets/icons/play.svg":h_,"/assets/icons/resetZoom.svg":p_,"/assets/icons/singlepanel.svg":v_,"/assets/icons/tooltips.svg":g_,"/assets/icons/undock.svg":m_,"/assets/icons/zoomIn.svg":y_,"/assets/icons/zoomOut.svg":b_}),kH=Object.keys(gg).map(t=>{const e=w_(gg[t]),r=t.replace(/^.+\/(\w+).svg$/,"$1");return C_(e).replace("<svg",`<symbol id="${r}"`).replace("svg>","symbol>")}),SH={name:"MapSvgSpriteColor",svgContext:gg,svgSprite:kH.join(`
466
- `)},_H=["innerHTML"];function TH(t,e,r,n,a,i){return s.openBlock(),s.createElementBlock("svg",{width:"0",height:"0",style:{display:"none"},innerHTML:t.$options.svgSprite},null,8,_H)}const NH=VS(SH,[["render",TH]]),IH=(t,e)=>{let r,n,a,i,o,l;e.style.left="",e.style.top="",e.addEventListener("mousedown",u=>{u.preventDefault(),r=e.offsetLeft,n=e.offsetTop,a=u.clientX,i=u.clientY,e.addEventListener("mousemove",c,!1),document.addEventListener("mouseup",()=>{e.removeEventListener("mousemove",c,!1)},!1)},!1);function c(u){u.preventDefault(),o=r-(a-u.clientX),l=n-(i-u.clientY),e.style.left=`${o}px`,e.style.top=`${l}px`}},BH={name:"DrawToolbar",components:{MapSvgIcon:wH,MapSvgSpriteColor:NH},props:{mapCanvas:{type:Object,default:void 0},toolbarOptions:{type:Array,default:["Edit","Delete","Point","LineString","Polygon","Connection"]},drawnType:{type:String,default:"All tools"},activeDrawTool:{required:!0},activeDrawMode:{required:!0},newlyDrawnEntry:{type:Object,default:{}},connectionEntry:{type:Object,default:{}},hoverVisibilities:{type:Array,required:!0,default:[{value:!1,ref:"editPopover"},{value:!1,ref:"deletePopover"},{value:!1,ref:"pointPopover"},{value:!1,ref:"lineStringPopover"},{value:!1,ref:"polygonPopover"},{value:!1,ref:"connectionPopover"}]}},data:function(){return{toolbarIcons:[{name:"Edit",active:!1,disabled:!1,type:"mode"},{name:"Delete",active:!1,disabled:!1,type:"mode"},{name:"Point",active:!1,disabled:!1,type:"tool"},{name:"LineString",active:!1,disabled:!1,type:"tool"},{name:"Polygon",active:!1,disabled:!1,type:"tool"},{name:"Connection",active:!1,disabled:!0,type:"conn"}],connectionDisplay:!1,dialogPosition:{offsetX:0,offsetY:0,x:void 0,y:void 0}}},computed:{showAllToolIcons:function(){return this.drawnType==="All tools"||this.drawnType==="None"},showEditModeIcon:function(){return this.toolbarOptions.includes("Edit")},showDeleteModeIcon:function(){return this.toolbarOptions.includes("Delete")},showDrawPointIcon:function(){return this.toolbarOptions.includes("Point")&&(this.showAllToolIcons||this.drawnType==="Point")},showDrawLineStringIcon:function(){return this.toolbarOptions.includes("LineString")&&(this.showAllToolIcons||this.drawnType==="LineString")},showDrawPolygonIcon:function(){return this.toolbarOptions.includes("Polygon")&&(this.showAllToolIcons||this.drawnType==="Polygon")},showConnectionIcon:function(){return this.toolbarOptions.includes("Connection")&&this.toolbarOptions.includes("LineString")&&(this.showAllToolIcons||this.drawnType==="LineString")},inDrawing:function(){return this.activeDrawTool!==void 0},newlyDrawnExist:function(){return Object.keys(this.newlyDrawnEntry).length>0},connectionExist:function(){return Object.keys(this.connectionEntry).length>0}},watch:{drawnType:function(){this.disabledToolbarConnectionIcon(!0)},activeDrawMode:function(t){this.updateToolbarIcons(t,"mode"),t==="Delete"&&(this.connectionDisplay=!1)},activeDrawTool:function(t){this.updateToolbarIcons(t,"tool"),t||(this.connectionDisplay=!1)},newlyDrawnExist:function(t){t&&(this.connectionDisplay=!0)},connectionExist:function(t){this.disabledToolbarConnectionIcon(!t),t||(this.connectionDisplay=!1)},connectionDisplay:function(t){this.activeToolbarConnectionIcon(t),t?this.dialogCssHacks():this.$emit("featureTooltip",void 0)},dialogPosition:{handler:function(){const t=this.$el.getBoundingClientRect();this.dialogPosition.offsetX=t.x,this.dialogPosition.offsetY=t.y},deep:!0,once:!0}},methods:{iconDisabled:function(t){return this.toolbarIcons.filter(e=>e.name===t)[0].disabled},modeClickEvent:function(t){if(!this.iconDisabled(t)){const e=this.activeDrawMode===t?void 0:t;this.$emit("clickToolbar","mode",e)}},toolClickEvent:function(t){if(!this.iconDisabled(t)){const e=this.activeDrawTool===t?void 0:t;this.$emit("clickToolbar","tool",e)}},connectionClickEvent:function(){!this.iconDisabled("Connection")&&!this.newlyDrawnExist&&(this.connectionDisplay=!this.connectionDisplay)},updateToolbarIcons:function(t,e){this.toolbarIcons.map(r=>{r.name===t?r.active=!0:r.active=!1}),this.toolbarIcons.filter(r=>r.type!=="conn").filter(r=>r.type!==e).map(r=>{t?r.disabled=!0:r.disabled=!1}),this.toolbarCssHacks()},disabledToolbarConnectionIcon:function(t){this.toolbarIcons.filter(e=>e.type==="conn").map(e=>{t?e.disabled=!0:e.disabled=!1,this.activeDrawMode==="Delete"&&(e.disabled=!0)}),this.toolbarCssHacks()},activeToolbarConnectionIcon:function(t){this.toolbarIcons.filter(e=>e.type==="conn").map(e=>{t?e.active=!0:e.active=!1}),this.toolbarCssHacks()},toolbarCssHacks:function(){this.$nextTick(()=>{this.toolbarIcons.map(t=>{const e=this.$el.querySelector(`.draw${t.name}`);e&&(t.active?e.classList.add("active"):e.classList.remove("active"),t.disabled?e.classList.add("disabled"):e.classList.remove("disabled"))})})},dialogCssHacks:function(){this.$nextTick(()=>{const t=this.$el.querySelector(".connection-dialog");IH(this.mapCanvas.containerHTML,t);let e,r;const n=this.mapCanvas.containerHTML.getBoundingClientRect(),a=t.getBoundingClientRect();this.dialogPosition.x>n.width/2?e=this.dialogPosition.x-a.width:e=this.dialogPosition.x,this.dialogPosition.y>n.height/2?r=this.dialogPosition.y-a.height:r=this.dialogPosition.y,t.style.transform=`translate(${e-this.dialogPosition.offsetX}px, ${r-this.dialogPosition.offsetY}px)`})},hoverIndex:function(t){return this.hoverVisibilities.findIndex(e=>e.ref===t)},showTooltip:function(t){this.$emit("showTooltip",t)},hideTooltip:function(t){this.$emit("hideTooltip",t)},dialogPopUpPositionHandler:function(t){t.preventDefault(),this.dialogPosition.x=t.clientX,this.dialogPosition.y=t.clientY,this.activeDrawTool==="Point"&&this.dialogCssHacks()}},mounted:function(){this.$nextTick(()=>{this.toolbarCssHacks(),this.mapCanvas&&this.mapCanvas.containerHTML.querySelector(this.mapCanvas.class).addEventListener("click",this.dialogPopUpPositionHandler,!1)})},destroyed:function(){this.mapCanvas&&this.mapCanvas.containerHTML.querySelector(this.mapCanvas.class).removeEventListener("click",this.dialogPopUpPositionHandler,!1)}},DH={class:"toolbar-container"},OH={class:"toolbar-icons"};function PH(t,e,r,n,a,i){const o=s.resolveComponent("map-svg-sprite-color"),l=s.resolveComponent("map-svg-icon"),c=Oa,u=mH;return s.openBlock(),s.createElementBlock("div",DH,[s.createVNode(o),s.createElementVNode("div",OH,[i.showEditModeIcon?(s.openBlock(),s.createBlock(c,{key:0,content:"Edit Mode",placement:"top",teleported:!1,trigger:"manual",width:"100","popper-class":"flatmap-popper",visible:r.hoverVisibilities[i.hoverIndex("editPopover")].value,ref:"editPopover"},{reference:s.withCtx(()=>[s.createVNode(l,{icon:"comment",class:"icon-button drawEdit",onClick:e[0]||(e[0]=d=>i.modeClickEvent("Edit")),onMouseover:e[1]||(e[1]=d=>i.showTooltip(i.hoverIndex("editPopover"))),onMouseout:e[2]||(e[2]=d=>i.hideTooltip(i.hoverIndex("editPopover")))})]),_:1},8,["visible"])):s.createCommentVNode("",!0),i.showDeleteModeIcon?(s.openBlock(),s.createBlock(c,{key:1,content:"Delete Mode",placement:"top",teleported:!1,trigger:"manual",width:"100","popper-class":"flatmap-popper",visible:r.hoverVisibilities[i.hoverIndex("deletePopover")].value,ref:"deletePopover"},{reference:s.withCtx(()=>[s.createVNode(l,{icon:"drawTrash",class:"icon-button drawDelete",onClick:e[3]||(e[3]=d=>i.modeClickEvent("Delete")),onMouseover:e[4]||(e[4]=d=>i.showTooltip(i.hoverIndex("deletePopover"))),onMouseout:e[5]||(e[5]=d=>i.hideTooltip(i.hoverIndex("deletePopover")))})]),_:1},8,["visible"])):s.createCommentVNode("",!0),i.showDrawPointIcon?(s.openBlock(),s.createBlock(c,{key:2,content:"Draw Point",placement:"top",teleported:!1,trigger:"manual",width:"100","popper-class":"flatmap-popper",visible:r.hoverVisibilities[i.hoverIndex("pointPopover")].value,ref:"pointPopover"},{reference:s.withCtx(()=>[s.createVNode(l,{icon:"drawPoint",class:"icon-button drawPoint",onClick:e[6]||(e[6]=d=>i.toolClickEvent("Point")),onMouseover:e[7]||(e[7]=d=>i.showTooltip(i.hoverIndex("pointPopover"))),onMouseout:e[8]||(e[8]=d=>i.hideTooltip(i.hoverIndex("pointPopover")))})]),_:1},8,["visible"])):s.createCommentVNode("",!0),i.showDrawLineStringIcon?(s.openBlock(),s.createBlock(c,{key:3,content:"Draw LineString",placement:"top",teleported:!1,trigger:"manual",width:"100","popper-class":"flatmap-popper",visible:r.hoverVisibilities[i.hoverIndex("lineStringPopover")].value,ref:"drawLinePopover"},{reference:s.withCtx(()=>[s.createVNode(l,{icon:"drawLine",class:"icon-button drawLineString",onClick:e[9]||(e[9]=d=>i.toolClickEvent("LineString")),onMouseover:e[10]||(e[10]=d=>i.showTooltip(i.hoverIndex("lineStringPopover"))),onMouseout:e[11]||(e[11]=d=>i.hideTooltip(i.hoverIndex("lineStringPopover")))})]),_:1},8,["visible"])):s.createCommentVNode("",!0),i.showDrawPolygonIcon?(s.openBlock(),s.createBlock(c,{key:4,content:"Draw Polygon",placement:"top",teleported:!1,trigger:"manual",width:"100","popper-class":"flatmap-popper",visible:r.hoverVisibilities[i.hoverIndex("polygonPopover")].value,ref:"polygonPopover"},{reference:s.withCtx(()=>[s.createVNode(l,{icon:"drawPolygon",class:"icon-button drawPolygon",onClick:e[12]||(e[12]=d=>i.toolClickEvent("Polygon")),onMouseover:e[13]||(e[13]=d=>i.showTooltip(i.hoverIndex("polygonPopover"))),onMouseout:e[14]||(e[14]=d=>i.hideTooltip(i.hoverIndex("polygonPopover")))})]),_:1},8,["visible"])):s.createCommentVNode("",!0),i.showConnectionIcon?(s.openBlock(),s.createBlock(c,{key:5,content:"Connectivity",placement:"top",teleported:!1,trigger:"manual",width:"100","popper-class":"flatmap-popper",visible:r.hoverVisibilities[i.hoverIndex("connectionPopover")].value,ref:"connectionPopover"},{reference:s.withCtx(()=>[s.createVNode(l,{icon:"connection",class:"icon-button drawConnection",onClick:e[15]||(e[15]=d=>i.connectionClickEvent()),onMouseover:e[16]||(e[16]=d=>i.showTooltip(i.hoverIndex("connectionPopover"))),onMouseout:e[17]||(e[17]=d=>i.hideTooltip(i.hoverIndex("connectionPopover")))})]),_:1},8,["visible"])):s.createCommentVNode("",!0)]),r.mapCanvas?s.withDirectives((s.openBlock(),s.createBlock(u,{key:0,class:"connection-dialog",connectionEntry:r.connectionEntry,inDrawing:i.inDrawing,connectionExist:i.connectionExist,onDialogDisplay:e[18]||(e[18]=d=>i.connectionClickEvent()),onConfirmDrawn:e[19]||(e[19]=d=>t.$emit("confirmDrawn",d)),onCancelDrawn:e[20]||(e[20]=d=>t.$emit("cancelDrawn",d)),onFeatureTooltip:e[21]||(e[21]=d=>t.$emit("featureTooltip",d))},null,8,["connectionEntry","inDrawing","connectionExist"])),[[s.vShow,t.connectionDisplay]]):s.createCommentVNode("",!0)])}const AH=Yt(BH,[["render",PH],["__scopeId","data-v-21e6f6bd"]]),RH={name:"HelpModeDialog",props:{multiflatmapRef:{type:Object,default:null},flatmapRef:{type:Object,default:null},scaffoldRef:{type:Object,default:null},lastItem:{type:Boolean,default:!1,required:!1}},mounted:function(){this.toggleHelpModeHighlight(!0),this.toggleTooltipHighlight()},unmounted:function(){this.toggleHelpModeHighlight(!1)},watch:{lastItem:function(t){t&&this.toggleTooltipHighlight()}},methods:{showNext:function(){this.$emit("show-next")},finishHelpMode:function(){this.$emit("finish-help-mode")},toggleTooltipPinHighlight:function(){const t=this.getCurrentFlatmap();this.resetHighlightedItems(),this.$nextTick(()=>{var i;const e=t.querySelectorAll(".maplibregl-marker"),r=t.querySelector(".flatmap-popup-popper"),n=((i=r==null?void 0:r.style)==null?void 0:i.transform)||"",a=this.extractMarkerPosition(n);e.forEach(o=>{const l=o.style.transform;this.extractMarkerPosition(l)===a&&o.classList.add("in-help-highlight")})})},toggleTooltipHighlight:function(){this.resetHighlightedItems(),this.$nextTick(()=>{document.querySelectorAll('.el-popper:not([style*="none"])').forEach(e=>{const r=e.classList.contains("flatmap-popper"),n=e.classList.contains("el-fade-in-linear-enter-active");(r||n)&&this.toggleHighlight(e)})})},toggleHighlight:function(t){const e=(t==null?void 0:t.id)||"",r=document.querySelector(`[aria-describedby="${e}"]`);r&&r.classList.add("in-help-highlight")},resetHighlightedItems:function(){document.querySelectorAll(".in-help-highlight").forEach(e=>{e.classList.remove("in-help-highlight")})},getCurrentScaffold:function(){var e;return((e=this.scaffoldRef)==null?void 0:e.$el)||null},getCurrentMultiflatmap:function(){var e;return((e=this.multiflatmapRef)==null?void 0:e.$el)||null},getCurrentFlatmap:function(){var r;const t=this.flatmapRef||((r=this.multiflatmapRef)==null?void 0:r.getCurrentFlatmap());return(t==null?void 0:t.$el)||null},toggleHelpModeHighlight:function(t){const e=this.getCurrentMultiflatmap(),r=this.getCurrentFlatmap(),n=this.getCurrentScaffold(),a=document.querySelectorAll(".in-help-highlight");e&&(t?e.classList.add("in-help"):e.classList.remove("in-help")),r&&(t?r.classList.add("in-help"):r.classList.remove("in-help")),n&&(t?n.classList.add("in-help"):n.classList.remove("in-help")),t||a.forEach(i=>{i.classList.remove("in-help-highlight")})},extractMarkerPosition:function(t){const e=/translate\((.*?)\)/g,r=t.match(e);return r?r[r.length-1].slice(10,-1):""}}},mg=t=>(s.pushScopeId("data-v-3efb89fb"),t=t(),s.popScopeId(),t),LH=mg(()=>s.createElementVNode("h4",null,"Help Mode",-1)),MH=mg(()=>s.createElementVNode("p",null,[s.createTextVNode(" All caught up! "),s.createElementVNode("br"),s.createTextVNode(" Click 'Help' to restart. ")],-1)),FH=mg(()=>s.createElementVNode("p",null,'Click "Next" to see the next item.',-1));function $H(t,e,r,n,a,i){const o=Ht;return s.openBlock(),s.createElementBlock("div",{class:s.normalizeClass(["help-mode-dialog",{finish:r.lastItem}])},[LH,r.lastItem?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[MH,s.createElementVNode("div",null,[s.createVNode(o,{class:"button",onClick:i.finishHelpMode},{default:s.withCtx(()=>[s.createTextVNode(" Finish ")]),_:1},8,["onClick"])])],64)):(s.openBlock(),s.createElementBlock(s.Fragment,{key:1},[FH,s.createElementVNode("div",null,[s.createVNode(o,{class:"button",onClick:i.showNext},{default:s.withCtx(()=>[s.createTextVNode(" Next ")]),_:1},8,["onClick"]),s.createVNode(o,{class:"button secondary",onClick:i.finishHelpMode},{default:s.withCtx(()=>[s.createTextVNode(" Exit Help Mode ")]),_:1},8,["onClick"])])],64))],2)}const VH=Yt(RH,[["render",$H],["__scopeId","data-v-3efb89fb"]]),qH={name:"RelatedConnectivitiesButton",props:{resource:{type:String,required:!0}}},zH={class:"reference-button-container"};function HH(t,e,r,n,a,i){const o=Ht;return s.openBlock(),s.createElementBlock("div",zH,[s.createVNode(o,{class:"reference-icon-button",size:"small",onClick:e[0]||(e[0]=l=>t.$emit("show-related-connectivities",r.resource))},{default:s.withCtx(()=>[s.createTextVNode(" Show related connectivities ")]),_:1})])}const E_=Yt(qH,[["render",HH],["__scopeId","data-v-2f3dd1db"]]),KH="https://citation.doi.org",GH=[{label:"APA",value:"apa"},{label:"Chicago",value:"chicago-author-date"},{label:"IEEE",value:"ieee"},{label:"Bibtex",value:"bibtex"}],yg="apa",UH=600,jH={name:"ExternalResourceCard",components:{CopyToClipboard:us,RelatedConnectivitiesButton:E_},props:{resources:{type:Array,default:()=>[]}},data:function(){return{pubMedReferences:[],openLibReferences:[],isbnDBReferences:[],referecesListContent:"",citationOptions:GH,citationType:yg,crosscite_host:KH}},watch:{resources:function(t){this.formatReferences([...t]),this.getCitationText(yg)}},computed:{referencesWithDOI:function(){return this.pubMedReferences.filter(e=>e.type==="doi"||e.doi).length}},mounted:function(){this.formatReferences([...this.resources]),this.getCitationText(yg)},methods:{showRelatedConnectivities:function(t){this.$emit("show-reference-connectivities",t);const e={event:"interaction_event",event_name:"portal_maps_show_related_connectivities",category:t,location:"map_connectivity_references"};this.$emit("trackEvent",e)},formatReferences:function(t){const e=this.extractNonPubMedReferences(t),r=t.filter(n=>!e.includes(n));this.pubMedReferences=r.map(n=>typeof n=="object"?this.extractPublicationIdFromURLString(n[0]):this.extractPublicationIdFromURLString(n)),this.pubMedReferences.forEach(n=>{if(n.type==="pmc"){const a=n.id;this.searchPMID(a).then(i=>{if(i&&i.esearchresult){const o=i.esearchresult.idlist||[];n.id=o[0],n.type="pmid"}})}}),this.formatNonPubMedReferences(e).then(n=>{this.openLibReferences=n.filter(a=>a.type==="openlib"),this.isbnDBReferences=n.filter(a=>a.type==="isbndb"),this.formatOpenLibReferences()})},extractNonPubMedReferences:function(t){const e=[],r=this.getPubMedDomains();return t.forEach(n=>{let a=0;r.forEach(i=>{n.includes(i)&&a++}),a||e.push(n)}),e},formatNonPubMedReferences:async function(t){const e=[],r=t.filter(u=>u.indexOf("isbn")!==-1),n=r.map(u=>"ISBN:"+u.split("/").pop()),a=n.join(","),i=n.slice(),o=u=>r.find(d=>d.includes(u)),l=`https://openlibrary.org/api/books?bibkeys=${a}&format=json`,c=await this.fetchData(l);for(const u in c){const d=i.indexOf(u);i.splice(d,1);const f=c[u].info_url,h=f.split("/"),v=h.indexOf("books"),p=h[v+1],g=u.split(":")[1],m=o(g);e.push({id:g,type:"openlib",url:f,bookId:p,resource:m})}return i.forEach(u=>{const d=u.split(":")[1],f=`https://isbndb.com/book/${d}`,h=o(d);e.push({id:d,url:f,type:"isbndb",resource:h})}),e},extractPublicationIdFromURLString:function(t){if(!t)return;const e=decodeURIComponent(t);let r={id:"",type:"",citation:{},resource:t};return this.getPubMedDomains().forEach(a=>{const i=e.lastIndexOf(a);i!==-1&&(r.id=e.slice(i+a.length),a==="doi.org/"?r.type="doi":a==="pmc/articles/"?r.type="pmc":r.type="pmid")}),r.id===""&&(t.includes("doi:")?(r.id=this.stripPMIDPrefix(t),r.type="doi"):t.includes("PMID:")&&(r.id=this.stripPMIDPrefix(t),r.type="pmid")),r.id.endsWith("/")&&(r.id=r.id.slice(0,-1)),r},getPubMedDomains:function(){return["doi.org/","nih.gov/pubmed/","pmc/articles/","pubmed.ncbi.nlm.nih.gov/"]},stripPMIDPrefix:function(t){return t.split(":")[1]},onCitationFormatChange:function(t){this.citationType=t,this.getCitationText(t)},generateCitationText:function(t,e){const{id:r,type:n,doi:a}=t;if(!(t.citation&&t.citation[e])&&r)if(t.citation[e]="",t.citation.error=null,n==="doi"||a){const i=n==="doi"?r:a;this.getCitationTextByDOI(i).then(o=>{const l=this.replaceLinkInText(o);t.citation[e]=l,this.updateCopyContents()}).catch(o=>{t.citation.error={type:e,ref:"doi"}})}else n==="pmid"&&this.getDOIFromPubMedID(r).then(i=>{if(i!=null&&i.result){const o=i.result[r],c=((o==null?void 0:o.articleids)||[]).find(d=>d.idtype==="doi"),u=c==null?void 0:c.value;if(u)t.doi=u,this.getCitationTextByDOI(u).then(d=>{const f=this.replaceLinkInText(d);t.citation[e]=f,this.updateCopyContents()}).catch(d=>{t.citation.error={type:e,ref:"doi"}});else{const{title:d,pubdate:f,authors:h}=o,v=h?h.map(g=>g.name):[],p=this.formatCopyReference({title:d||"",date:f||"",authors:v,url:`https://pubmed.ncbi.nlm.nih.gov/${r}`});t.citation[e]=p,this.updateCopyContents()}}}).catch(i=>{t.citation.error={type:e,ref:"pubmed"}})},getCitationText:function(t){async function e(r){for(let n=0;n<r.pubMedReferences.length;n++)r.generateCitationText(r.pubMedReferences[n],t),r.pubMedReferences.length>3&&n<r.pubMedReferences.length-1&&await q9(UH)}e(this)},reloadCitation:function(t){this.generateCitationText(t,this.citationType)},isCitationLoading:function(t){return t&&!t[this.citationType]&&!t.error},isCitationError:function(t){return t&&t.error&&t.error.type===this.citationType},updateCopyContents:function(){const t=this.citationOptions.find(n=>n.value===this.citationType);let e="";const r=[];if(this.referencesWithDOI&&(e=t==null?void 0:t.label),this.pubMedReferences.forEach(n=>{r.push(n.citation[this.citationType])}),this.openLibReferences.forEach(n=>{r.push(this.formatCopyReference(n))}),this.isbnDBReferences.forEach(n=>{r.push(n.url)}),r.length){const a=`<ul>${r.map(o=>`<li>${o}</li>`).join(`
466
+ `)},_H=["innerHTML"];function TH(t,e,r,n,a,i){return s.openBlock(),s.createElementBlock("svg",{width:"0",height:"0",style:{display:"none"},innerHTML:t.$options.svgSprite},null,8,_H)}const NH=VS(SH,[["render",TH]]),IH=(t,e)=>{let r,n,a,i,o,l;e.style.left="",e.style.top="",e.addEventListener("mousedown",u=>{u.preventDefault(),r=e.offsetLeft,n=e.offsetTop,a=u.clientX,i=u.clientY,e.addEventListener("mousemove",c,!1),document.addEventListener("mouseup",()=>{e.removeEventListener("mousemove",c,!1)},!1)},!1);function c(u){u.preventDefault(),o=r-(a-u.clientX),l=n-(i-u.clientY),e.style.left=`${o}px`,e.style.top=`${l}px`}},BH={name:"DrawToolbar",components:{MapSvgIcon:wH,MapSvgSpriteColor:NH},props:{mapCanvas:{type:Object,default:void 0},toolbarOptions:{type:Array,default:["Edit","Delete","Point","LineString","Polygon","Connection"]},drawnType:{type:String,default:"All tools"},activeDrawTool:{required:!0},activeDrawMode:{required:!0},newlyDrawnEntry:{type:Object,default:{}},connectionEntry:{type:Object,default:{}},hoverVisibilities:{type:Array,required:!0,default:[{value:!1,ref:"editPopover"},{value:!1,ref:"deletePopover"},{value:!1,ref:"pointPopover"},{value:!1,ref:"lineStringPopover"},{value:!1,ref:"polygonPopover"},{value:!1,ref:"connectionPopover"}]}},data:function(){return{toolbarIcons:[{name:"Edit",active:!1,disabled:!1,type:"mode"},{name:"Delete",active:!1,disabled:!1,type:"mode"},{name:"Point",active:!1,disabled:!1,type:"tool"},{name:"LineString",active:!1,disabled:!1,type:"tool"},{name:"Polygon",active:!1,disabled:!1,type:"tool"},{name:"Connection",active:!1,disabled:!0,type:"conn"}],connectionDisplay:!1,dialogPosition:{offsetX:0,offsetY:0,x:void 0,y:void 0}}},computed:{showAllToolIcons:function(){return this.drawnType==="All tools"||this.drawnType==="None"},showEditModeIcon:function(){return this.toolbarOptions.includes("Edit")},showDeleteModeIcon:function(){return this.toolbarOptions.includes("Delete")},showDrawPointIcon:function(){return this.toolbarOptions.includes("Point")&&(this.showAllToolIcons||this.drawnType==="Point")},showDrawLineStringIcon:function(){return this.toolbarOptions.includes("LineString")&&(this.showAllToolIcons||this.drawnType==="LineString")},showDrawPolygonIcon:function(){return this.toolbarOptions.includes("Polygon")&&(this.showAllToolIcons||this.drawnType==="Polygon")},showConnectionIcon:function(){return this.toolbarOptions.includes("Connection")&&this.toolbarOptions.includes("LineString")&&(this.showAllToolIcons||this.drawnType==="LineString")},inDrawing:function(){return this.activeDrawTool!==void 0},newlyDrawnExist:function(){return Object.keys(this.newlyDrawnEntry).length>0},connectionExist:function(){return Object.keys(this.connectionEntry).length>0}},watch:{drawnType:function(){this.disabledToolbarConnectionIcon(!0)},activeDrawMode:function(t){this.updateToolbarIcons(t,"mode"),t==="Delete"&&(this.connectionDisplay=!1)},activeDrawTool:function(t){this.updateToolbarIcons(t,"tool"),t||(this.connectionDisplay=!1)},newlyDrawnExist:function(t){t&&(this.connectionDisplay=!0)},connectionExist:function(t){this.disabledToolbarConnectionIcon(!t),t||(this.connectionDisplay=!1)},connectionDisplay:function(t){this.activeToolbarConnectionIcon(t),t?this.dialogCssHacks():this.$emit("featureTooltip",void 0)},dialogPosition:{handler:function(){const t=this.$el.getBoundingClientRect();this.dialogPosition.offsetX=t.x,this.dialogPosition.offsetY=t.y},deep:!0,once:!0}},methods:{iconDisabled:function(t){return this.toolbarIcons.filter(e=>e.name===t)[0].disabled},modeClickEvent:function(t){if(!this.iconDisabled(t)){const e=this.activeDrawMode===t?void 0:t;this.$emit("clickToolbar","mode",e)}},toolClickEvent:function(t){if(!this.iconDisabled(t)){const e=this.activeDrawTool===t?void 0:t;this.$emit("clickToolbar","tool",e)}},connectionClickEvent:function(){!this.iconDisabled("Connection")&&!this.newlyDrawnExist&&(this.connectionDisplay=!this.connectionDisplay)},updateToolbarIcons:function(t,e){this.toolbarIcons.map(r=>{r.name===t?r.active=!0:r.active=!1}),this.toolbarIcons.filter(r=>r.type!=="conn").filter(r=>r.type!==e).map(r=>{t?r.disabled=!0:r.disabled=!1}),this.toolbarCssHacks()},disabledToolbarConnectionIcon:function(t){this.toolbarIcons.filter(e=>e.type==="conn").map(e=>{t?e.disabled=!0:e.disabled=!1,this.activeDrawMode==="Delete"&&(e.disabled=!0)}),this.toolbarCssHacks()},activeToolbarConnectionIcon:function(t){this.toolbarIcons.filter(e=>e.type==="conn").map(e=>{t?e.active=!0:e.active=!1}),this.toolbarCssHacks()},toolbarCssHacks:function(){this.$nextTick(()=>{this.toolbarIcons.map(t=>{const e=this.$el.querySelector(`.draw${t.name}`);e&&(t.active?e.classList.add("active"):e.classList.remove("active"),t.disabled?e.classList.add("disabled"):e.classList.remove("disabled"))})})},dialogCssHacks:function(){this.$nextTick(()=>{const t=this.$el.querySelector(".connection-dialog");IH(this.mapCanvas.containerHTML,t);let e,r;const n=this.mapCanvas.containerHTML.getBoundingClientRect(),a=t.getBoundingClientRect();this.dialogPosition.x>n.width/2?e=this.dialogPosition.x-a.width:e=this.dialogPosition.x,this.dialogPosition.y>n.height/2?r=this.dialogPosition.y-a.height:r=this.dialogPosition.y,t.style.transform=`translate(${e-this.dialogPosition.offsetX}px, ${r-this.dialogPosition.offsetY}px)`})},hoverIndex:function(t){return this.hoverVisibilities.findIndex(e=>e.ref===t)},showTooltip:function(t){this.$emit("showTooltip",t)},hideTooltip:function(t){this.$emit("hideTooltip",t)},dialogPopUpPositionHandler:function(t){t.preventDefault(),this.dialogPosition.x=t.clientX,this.dialogPosition.y=t.clientY,this.activeDrawTool==="Point"&&this.dialogCssHacks()}},mounted:function(){this.$nextTick(()=>{this.toolbarCssHacks(),this.mapCanvas&&this.mapCanvas.containerHTML.querySelector(this.mapCanvas.class).addEventListener("click",this.dialogPopUpPositionHandler,!1)})},destroyed:function(){this.mapCanvas&&this.mapCanvas.containerHTML.querySelector(this.mapCanvas.class).removeEventListener("click",this.dialogPopUpPositionHandler,!1)}},DH={class:"toolbar-container"},OH={class:"toolbar-icons"};function PH(t,e,r,n,a,i){const o=s.resolveComponent("map-svg-sprite-color"),l=s.resolveComponent("map-svg-icon"),c=Oa,u=mH;return s.openBlock(),s.createElementBlock("div",DH,[s.createVNode(o),s.createElementVNode("div",OH,[i.showEditModeIcon?(s.openBlock(),s.createBlock(c,{key:0,content:"Edit Mode",placement:"top",teleported:!1,trigger:"manual",width:"100","popper-class":"flatmap-popper",visible:r.hoverVisibilities[i.hoverIndex("editPopover")].value,ref:"editPopover"},{reference:s.withCtx(()=>[s.createVNode(l,{icon:"comment",class:"icon-button drawEdit",onClick:e[0]||(e[0]=d=>i.modeClickEvent("Edit")),onMouseover:e[1]||(e[1]=d=>i.showTooltip(i.hoverIndex("editPopover"))),onMouseout:e[2]||(e[2]=d=>i.hideTooltip(i.hoverIndex("editPopover")))})]),_:1},8,["visible"])):s.createCommentVNode("",!0),i.showDeleteModeIcon?(s.openBlock(),s.createBlock(c,{key:1,content:"Delete Mode",placement:"top",teleported:!1,trigger:"manual",width:"100","popper-class":"flatmap-popper",visible:r.hoverVisibilities[i.hoverIndex("deletePopover")].value,ref:"deletePopover"},{reference:s.withCtx(()=>[s.createVNode(l,{icon:"drawTrash",class:"icon-button drawDelete",onClick:e[3]||(e[3]=d=>i.modeClickEvent("Delete")),onMouseover:e[4]||(e[4]=d=>i.showTooltip(i.hoverIndex("deletePopover"))),onMouseout:e[5]||(e[5]=d=>i.hideTooltip(i.hoverIndex("deletePopover")))})]),_:1},8,["visible"])):s.createCommentVNode("",!0),i.showDrawPointIcon?(s.openBlock(),s.createBlock(c,{key:2,content:"Draw Point",placement:"top",teleported:!1,trigger:"manual",width:"100","popper-class":"flatmap-popper",visible:r.hoverVisibilities[i.hoverIndex("pointPopover")].value,ref:"pointPopover"},{reference:s.withCtx(()=>[s.createVNode(l,{icon:"drawPoint",class:"icon-button drawPoint",onClick:e[6]||(e[6]=d=>i.toolClickEvent("Point")),onMouseover:e[7]||(e[7]=d=>i.showTooltip(i.hoverIndex("pointPopover"))),onMouseout:e[8]||(e[8]=d=>i.hideTooltip(i.hoverIndex("pointPopover")))})]),_:1},8,["visible"])):s.createCommentVNode("",!0),i.showDrawLineStringIcon?(s.openBlock(),s.createBlock(c,{key:3,content:"Draw LineString",placement:"top",teleported:!1,trigger:"manual",width:"100","popper-class":"flatmap-popper",visible:r.hoverVisibilities[i.hoverIndex("lineStringPopover")].value,ref:"drawLinePopover"},{reference:s.withCtx(()=>[s.createVNode(l,{icon:"drawLine",class:"icon-button drawLineString",onClick:e[9]||(e[9]=d=>i.toolClickEvent("LineString")),onMouseover:e[10]||(e[10]=d=>i.showTooltip(i.hoverIndex("lineStringPopover"))),onMouseout:e[11]||(e[11]=d=>i.hideTooltip(i.hoverIndex("lineStringPopover")))})]),_:1},8,["visible"])):s.createCommentVNode("",!0),i.showDrawPolygonIcon?(s.openBlock(),s.createBlock(c,{key:4,content:"Draw Polygon",placement:"top",teleported:!1,trigger:"manual",width:"100","popper-class":"flatmap-popper",visible:r.hoverVisibilities[i.hoverIndex("polygonPopover")].value,ref:"polygonPopover"},{reference:s.withCtx(()=>[s.createVNode(l,{icon:"drawPolygon",class:"icon-button drawPolygon",onClick:e[12]||(e[12]=d=>i.toolClickEvent("Polygon")),onMouseover:e[13]||(e[13]=d=>i.showTooltip(i.hoverIndex("polygonPopover"))),onMouseout:e[14]||(e[14]=d=>i.hideTooltip(i.hoverIndex("polygonPopover")))})]),_:1},8,["visible"])):s.createCommentVNode("",!0),i.showConnectionIcon?(s.openBlock(),s.createBlock(c,{key:5,content:"Connectivity",placement:"top",teleported:!1,trigger:"manual",width:"100","popper-class":"flatmap-popper",visible:r.hoverVisibilities[i.hoverIndex("connectionPopover")].value,ref:"connectionPopover"},{reference:s.withCtx(()=>[s.createVNode(l,{icon:"connection",class:"icon-button drawConnection",onClick:e[15]||(e[15]=d=>i.connectionClickEvent()),onMouseover:e[16]||(e[16]=d=>i.showTooltip(i.hoverIndex("connectionPopover"))),onMouseout:e[17]||(e[17]=d=>i.hideTooltip(i.hoverIndex("connectionPopover")))})]),_:1},8,["visible"])):s.createCommentVNode("",!0)]),r.mapCanvas?s.withDirectives((s.openBlock(),s.createBlock(u,{key:0,class:"connection-dialog",connectionEntry:r.connectionEntry,inDrawing:i.inDrawing,connectionExist:i.connectionExist,onDialogDisplay:e[18]||(e[18]=d=>i.connectionClickEvent()),onConfirmDrawn:e[19]||(e[19]=d=>t.$emit("confirmDrawn",d)),onCancelDrawn:e[20]||(e[20]=d=>t.$emit("cancelDrawn",d)),onFeatureTooltip:e[21]||(e[21]=d=>t.$emit("featureTooltip",d))},null,8,["connectionEntry","inDrawing","connectionExist"])),[[s.vShow,t.connectionDisplay]]):s.createCommentVNode("",!0)])}const AH=Yt(BH,[["render",PH],["__scopeId","data-v-21e6f6bd"]]),RH={name:"HelpModeDialog",props:{multiflatmapRef:{type:Object,default:null},flatmapRef:{type:Object,default:null},scaffoldRef:{type:Object,default:null},lastItem:{type:Boolean,default:!1,required:!1}},mounted:function(){this.toggleHelpModeHighlight(!0),this.toggleTooltipHighlight()},unmounted:function(){this.toggleHelpModeHighlight(!1)},watch:{lastItem:function(t){t&&this.toggleTooltipHighlight()}},methods:{showNext:function(){this.$emit("show-next")},finishHelpMode:function(){this.$emit("finish-help-mode")},toggleTooltipPinHighlight:function(){const t=this.getCurrentFlatmap();this.resetHighlightedItems(),this.$nextTick(()=>{var i;const e=t.querySelectorAll(".maplibregl-marker"),r=t.querySelector(".flatmap-popup-popper"),n=((i=r==null?void 0:r.style)==null?void 0:i.transform)||"",a=this.extractMarkerPosition(n);e.forEach(o=>{const l=o.style.transform;this.extractMarkerPosition(l)===a&&o.classList.add("in-help-highlight")})})},toggleTooltipHighlight:function(){this.resetHighlightedItems(),this.$nextTick(()=>{document.querySelectorAll('.el-popper:not([style*="none"])').forEach(e=>{const r=e.classList.contains("flatmap-popper"),n=e.classList.contains("el-fade-in-linear-enter-active");(r||n)&&this.toggleHighlight(e)})})},toggleHighlight:function(t){const e=(t==null?void 0:t.id)||"",r=document.querySelector(`[aria-describedby="${e}"]`);r&&r.classList.add("in-help-highlight")},resetHighlightedItems:function(){document.querySelectorAll(".in-help-highlight").forEach(e=>{e.classList.remove("in-help-highlight")})},getCurrentScaffold:function(){var e;return((e=this.scaffoldRef)==null?void 0:e.$el)||null},getCurrentMultiflatmap:function(){var e;return((e=this.multiflatmapRef)==null?void 0:e.$el)||null},getCurrentFlatmap:function(){var r;const t=this.flatmapRef||((r=this.multiflatmapRef)==null?void 0:r.getCurrentFlatmap());return(t==null?void 0:t.$el)||null},toggleHelpModeHighlight:function(t){const e=this.getCurrentMultiflatmap(),r=this.getCurrentFlatmap(),n=this.getCurrentScaffold(),a=document.querySelectorAll(".in-help-highlight");e&&(t?e.classList.add("in-help"):e.classList.remove("in-help")),r&&(t?r.classList.add("in-help"):r.classList.remove("in-help")),n&&(t?n.classList.add("in-help"):n.classList.remove("in-help")),t||a.forEach(i=>{i.classList.remove("in-help-highlight")})},extractMarkerPosition:function(t){const e=/translate\((.*?)\)/g,r=t.match(e);return r?r[r.length-1].slice(10,-1):""}}},mg=t=>(s.pushScopeId("data-v-3efb89fb"),t=t(),s.popScopeId(),t),LH=mg(()=>s.createElementVNode("h4",null,"Help Mode",-1)),MH=mg(()=>s.createElementVNode("p",null,[s.createTextVNode(" All caught up! "),s.createElementVNode("br"),s.createTextVNode(" Click 'Help' to restart. ")],-1)),FH=mg(()=>s.createElementVNode("p",null,'Click "Next" to see the next item.',-1));function $H(t,e,r,n,a,i){const o=Ht;return s.openBlock(),s.createElementBlock("div",{class:s.normalizeClass(["help-mode-dialog",{finish:r.lastItem}])},[LH,r.lastItem?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[MH,s.createElementVNode("div",null,[s.createVNode(o,{class:"button",onClick:i.finishHelpMode},{default:s.withCtx(()=>[s.createTextVNode(" Finish ")]),_:1},8,["onClick"])])],64)):(s.openBlock(),s.createElementBlock(s.Fragment,{key:1},[FH,s.createElementVNode("div",null,[s.createVNode(o,{class:"button",onClick:i.showNext},{default:s.withCtx(()=>[s.createTextVNode(" Next ")]),_:1},8,["onClick"]),s.createVNode(o,{class:"button secondary",onClick:i.finishHelpMode},{default:s.withCtx(()=>[s.createTextVNode(" Exit Help Mode ")]),_:1},8,["onClick"])])],64))],2)}const VH=Yt(RH,[["render",$H],["__scopeId","data-v-3efb89fb"]]),qH={name:"RelatedConnectivitiesButton",props:{resource:{type:String,required:!0}}},zH={class:"reference-button-container"};function HH(t,e,r,n,a,i){const o=Ht;return s.openBlock(),s.createElementBlock("div",zH,[s.createVNode(o,{class:"reference-icon-button",size:"small",onClick:e[0]||(e[0]=l=>t.$emit("show-related-connectivities",r.resource))},{default:s.withCtx(()=>[s.createTextVNode(" Show related connectivities ")]),_:1})])}const E_=Yt(qH,[["render",HH],["__scopeId","data-v-2f3dd1db"]]),KH="https://citation.doi.org",GH=[{label:"APA",value:"apa"},{label:"Chicago",value:"chicago-author-date"},{label:"IEEE",value:"ieee"},{label:"Bibtex",value:"bibtex"}],yg="apa",UH=600,jH={name:"ExternalResourceCard",components:{CopyToClipboard:us,RelatedConnectivitiesButton:E_},props:{resources:{type:Array,default:()=>[]}},data:function(){return{pubMedReferences:[],openLibReferences:[],isbnDBReferences:[],referecesListContent:"",citationOptions:GH,citationType:yg,crosscite_host:KH}},watch:{resources:function(t){this.formatReferences([...t]),this.getCitationText(yg)}},computed:{referencesWithDOI:function(){return this.pubMedReferences.filter(e=>e.type==="doi"||e.doi).length}},mounted:function(){this.formatReferences([...this.resources]),this.getCitationText(yg)},methods:{showRelatedConnectivities:function(t){this.$emit("show-reference-connectivities",t);const e={event:"interaction_event",event_name:"portal_maps_show_related_connectivities",category:t,location:"map_connectivity_references"};this.$emit("trackEvent",e)},formatReferences:function(t){const e=this.extractNonPubMedReferences(t),r=t.filter(n=>!e.includes(n));this.pubMedReferences=r.map(n=>typeof n=="object"?this.extractPublicationIdFromURLString(n[0]):this.extractPublicationIdFromURLString(n)),this.pubMedReferences.forEach(n=>{if(n.type==="pmc"){const a=n.id;this.searchPMID(a).then(i=>{if(i&&i.esearchresult){const o=i.esearchresult.idlist||[];n.id=o[0],n.type="pmid"}})}}),this.formatNonPubMedReferences(e).then(n=>{this.openLibReferences=n.filter(a=>a.type==="openlib"),this.isbnDBReferences=n.filter(a=>a.type==="isbndb"),this.formatOpenLibReferences()})},extractNonPubMedReferences:function(t){const e=[],r=this.getPubMedDomains();return t.forEach(n=>{let a=0;r.forEach(i=>{n.includes(i)&&a++}),a||e.push(n)}),e},formatNonPubMedReferences:async function(t){const e=[],r=t.filter(u=>u.indexOf("isbn")!==-1),n=r.map(u=>"ISBN:"+u.split("/").pop()),a=n.join(","),i=n.slice(),o=u=>r.find(d=>d.includes(u)),l=`https://openlibrary.org/api/books?bibkeys=${a}&format=json`,c=await this.fetchData(l);for(const u in c){const d=i.indexOf(u);i.splice(d,1);const f=c[u].info_url,h=f.split("/"),v=h.indexOf("books"),p=h[v+1],g=u.split(":")[1],m=o(g);e.push({id:g,type:"openlib",url:f,bookId:p,resource:m})}return i.forEach(u=>{const d=u.split(":")[1],f=`https://isbndb.com/book/${d}`,h=o(d);e.push({id:d,url:f,type:"isbndb",resource:h})}),e},extractPublicationIdFromURLString:function(t){if(!t)return;const e=decodeURIComponent(t);let r={id:"",type:"",citation:{},resource:t};return this.getPubMedDomains().forEach(a=>{const i=e.lastIndexOf(a);i!==-1&&(r.id=e.slice(i+a.length),a==="doi.org/"?r.type="doi":a==="pmc/articles/"?r.type="pmc":r.type="pmid")}),r.id===""&&(t.includes("doi:")?(r.id=this.stripPMIDPrefix(t),r.type="doi"):t.includes("PMID:")&&(r.id=this.stripPMIDPrefix(t),r.type="pmid")),r.id.endsWith("/")&&(r.id=r.id.slice(0,-1)),r},getPubMedDomains:function(){return["doi.org/","nih.gov/pubmed/","pmc/articles/","pubmed.ncbi.nlm.nih.gov/"]},stripPMIDPrefix:function(t){return t.split(":")[1]},onCitationFormatChange:function(t){this.citationType=t,this.getCitationText(t)},generateCitationText:function(t,e){const{id:r,type:n,doi:a}=t;if(!(t.citation&&t.citation[e])&&r)if(t.citation[e]="",t.citation.error=null,n==="doi"||a){const i=n==="doi"?r:a;this.getCitationTextByDOI(i).then(o=>{const l=this.replaceLinkInText(o);t.citation[e]=l,this.updateCopyContents()}).catch(o=>{t.citation.error={type:e,ref:"doi"}})}else n==="pmid"&&this.getDOIFromPubMedID(r).then(i=>{if(i!=null&&i.result){const o=i.result[r],c=((o==null?void 0:o.articleids)||[]).find(d=>d.idtype==="doi"),u=c==null?void 0:c.value;if(u)t.doi=u,this.getCitationTextByDOI(u).then(d=>{const f=this.replaceLinkInText(d);t.citation[e]=f,this.updateCopyContents()}).catch(d=>{t.citation.error={type:e,ref:"doi"}});else{const{title:d,pubdate:f,authors:h}=o,v=h?h.map(g=>g.name):[],p=this.formatCopyReference({title:d||"",date:f||"",authors:v,url:`https://pubmed.ncbi.nlm.nih.gov/${r}`});t.citation[e]=p,this.updateCopyContents()}}}).catch(i=>{t.citation.error={type:e,ref:"pubmed"}})},getCitationText:function(t){async function e(r){for(let n=0;n<r.pubMedReferences.length;n++)r.generateCitationText(r.pubMedReferences[n],t),r.pubMedReferences.length>3&&n<r.pubMedReferences.length-1&&await q6(UH)}e(this)},reloadCitation:function(t){this.generateCitationText(t,this.citationType)},isCitationLoading:function(t){return t&&!t[this.citationType]&&!t.error},isCitationError:function(t){return t&&t.error&&t.error.type===this.citationType},updateCopyContents:function(){const t=this.citationOptions.find(n=>n.value===this.citationType);let e="";const r=[];if(this.referencesWithDOI&&(e=t==null?void 0:t.label),this.pubMedReferences.forEach(n=>{r.push(n.citation[this.citationType])}),this.openLibReferences.forEach(n=>{r.push(this.formatCopyReference(n))}),this.isbnDBReferences.forEach(n=>{r.push(n.url)}),r.length){const a=`<ul>${r.map(o=>`<li>${o}</li>`).join(`
467
467
  `)}</ul>`,i="<div><strong>References</strong></div>";this.referecesListContent=i+`
468
- `+a}this.$emit("references-loaded",{style:e,list:r})},replaceLinkInText:function(t){const e="https://";let r=t.split(e)[1];if(r){r=r.split(" ")[0],r=r.trim(),r.endsWith(".")&&(r=r.substring(0,r.length-1));const n=e+r,a=`<a href="${n}" target="_blank">${n}</a>`;return t.replace(n,a)}return t},searchPMID:async function(t){const e=`https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pubmed&term=${t}&format=json`;return await this.fetchData(e)},getCitationTextByDOI:async function(t){const e=`${this.crosscite_host}/format?doi=${t}&style=${this.citationType}&lang=en-US`;return await this.fetchData(e,"text")},getDOIFromPubMedID:async function(t){const e=`https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi?db=pubmed&id=${t}&format=json`;return await this.fetchData(e)},formatOpenLibReferences:function(){this.openLibReferences.forEach(t=>{const{bookId:e}=t;this.getBookData(e).then(r=>{const{title:n,authors:a,publish_date:i}=r;n&&(t.title=n),i&&(t.date=i),a&&(t.authors=[],a.forEach(o=>{this.getBookAuthor(o.key).then(l=>{const{name:c}=l;c&&(t.authors.push(c),this.updateCopyContents())})})),this.updateCopyContents()})})},getBookData:async function(t){const e=`https://openlibrary.org/books/${t}.json`;return await this.fetchData(e)},getBookAuthor:async function(t){const e=`https://openlibrary.org${t}.json`;return await this.fetchData(e)},formatCopyReference:function(t){const e=[],{title:r,date:n,authors:a,url:i}=t;return r&&e.push(r),n&&e.push(`(${n})`),a&&e.push(`- ${a.join(", ")}`),e.push(`<div><a href="${i}" target="_blank">${i}</a></div>`),e.join(" ")},fetchData:async function(t,e){try{const r=await fetch(t);if(!r.ok)throw new Error(`Response status: ${r.status}`);return e==="text"?await r.text():await r.json()}catch(r){throw new Error(r)}},onCopied:function(t,e){let r="Reference List",n="",a=this.citationType;e?(r=e.resource,n=e.type==="doi"?e.id:""):r=[...this.pubMedReferences,...this.openLibReferences,...this.isbnDBReferences].map(c=>c.type==="doi"?c.id:c.resource).join(", ");const i={event:"interaction_event",event_name:"portal_maps_copy_citation",category:r,doi:n,citation_type:a,location:"map_connectivity_references"};this.$emit("trackEvent",i)}}},va=t=>(s.pushScopeId("data-v-e4259096"),t=t(),s.popScopeId(),t),WH={class:"resource-container"},YH={class:"attribute-title-container"},ZH=va(()=>s.createElementVNode("div",{class:"attribute-title"},"References",-1)),XH={class:"copy-button"},JH={key:0,class:"citation-tabs"},QH={class:"citation-list"},eK=va(()=>s.createElementVNode("span",null,"Internal Server Error",-1)),tK=va(()=>s.createElementVNode("br",null,null,-1)),rK=va(()=>s.createElementVNode("br",null,null,-1)),nK=["href"],aK=va(()=>s.createElementVNode("br",null,null,-1)),iK=va(()=>s.createElementVNode("span",null,"Sorry, something went wrong.",-1)),oK=va(()=>s.createElementVNode("br",null,null,-1)),sK=["onClick"],lK=["innerHTML"],uK=["innerHTML"],cK=["href"];function dK(t,e,r,n,a,i){const o=us,l=Ht,c=E_;return s.openBlock(),s.createElementBlock("div",WH,[s.createElementVNode("div",YH,[ZH,s.createElementVNode("div",XH,[s.createVNode(o,{onCopied:e[0]||(e[0]=u=>i.onCopied(u,"")),label:"Copy list to clipboard",content:t.referecesListContent},null,8,["content"])])]),i.referencesWithDOI?(s.openBlock(),s.createElementBlock("div",JH,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(t.citationOptions,u=>(s.openBlock(),s.createBlock(l,{link:"",key:u.value,type:t.citationType===u.value?"primary":"",onClick:d=>i.onCitationFormatChange(u.value)},{default:s.withCtx(()=>[s.createTextVNode(s.toDisplayString(u.label),1)]),_:2},1032,["type","onClick"]))),128))])):s.createCommentVNode("",!0),s.createElementVNode("ul",QH,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(t.pubMedReferences,u=>{var d,f,h,v;return s.openBlock(),s.createElementBlock("li",{key:u.id,class:s.normalizeClass({loading:i.isCitationLoading(u.citation),error:i.isCitationError(u.citation)})},[u.citation?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[((d=u.citation.error)==null?void 0:d.ref)==="doi"&&((f=u.citation.error)==null?void 0:f.type)===t.citationType?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[eK,tK,s.createTextVNode(" Sorry, something went wrong."),rK,s.createTextVNode(" The dataset citation generator ("),s.createElementVNode("a",{href:t.crosscite_host,target:"_blank"},s.toDisplayString(t.crosscite_host),9,nK),s.createTextVNode(") encountered an internal error and was unable to complete your request."),aK,s.createTextVNode(" Please come back later. ")],64)):((h=u.citation.error)==null?void 0:h.ref)==="pubmed"&&((v=u.citation.error)==null?void 0:v.type)===t.citationType?(s.openBlock(),s.createElementBlock(s.Fragment,{key:1},[iK,oK,s.createTextVNode(" Please try again. "),s.createElementVNode("span",{class:"reload-button",onClick:p=>i.reloadCitation(u)},"Reload",8,sK)],64)):(s.openBlock(),s.createElementBlock(s.Fragment,{key:2},[s.createElementVNode("span",{innerHTML:u.citation[t.citationType]},null,8,lK),s.createVNode(c,{resource:u.resource,onShowRelatedConnectivities:i.showRelatedConnectivities},null,8,["resource","onShowRelatedConnectivities"]),s.createVNode(o,{onCopied:p=>i.onCopied(p,u),content:u.citation[t.citationType]},null,8,["onCopied","content"])],64))],64)):s.createCommentVNode("",!0)],2)}),128)),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(t.openLibReferences,u=>(s.openBlock(),s.createElementBlock("li",{key:u.id},[s.createElementVNode("div",{innerHTML:i.formatCopyReference(u)},null,8,uK),s.createVNode(c,{resource:u.resource,onShowRelatedConnectivities:i.showRelatedConnectivities},null,8,["resource","onShowRelatedConnectivities"]),s.createVNode(o,{onCopied:d=>i.onCopied(d,u),content:i.formatCopyReference(u)},null,8,["onCopied","content"])]))),128)),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(t.isbnDBReferences,u=>(s.openBlock(),s.createElementBlock("li",{key:u.id},[s.createElementVNode("a",{href:u.url,target:"_blank"},s.toDisplayString(u.url),9,cK),s.createVNode(c,{resource:u.resource,onShowRelatedConnectivities:i.showRelatedConnectivities},null,8,["resource","onShowRelatedConnectivities"]),s.createVNode(o,{onCopied:d=>i.onCopied(d,u),content:u.url},null,8,["onCopied","content"])]))),128))])])}const bg=Yt(jH,[["render",dK],["__scopeId","data-v-e4259096"]]);function fK(t){return{all:t=t||new Map,on:function(e,r){var n=t.get(e);n?n.push(r):t.set(e,[r])},off:function(e,r){var n=t.get(e);n&&(r?n.splice(n.indexOf(r)>>>0,1):t.set(e,[]))},emit:function(e,r){var n=t.get(e);n&&n.slice().map(function(a){a(r)}),(n=t.get("*"))&&n.slice().map(function(a){a(e,r)})}}}const x_=new fK,hK={name:"ProvenancePopup",components:{ElIconArrowUp:Ne.ArrowUp,ElIconArrowDown:Ne.ArrowDown,ElIconWarning:Ne.Warning,ConnectivityList:hg,ExternalResourceCard:bg},props:{tooltipEntry:{type:Array,default:[]}},data:function(){return{loading:!1,showDetails:!1,originDescriptions:{motor:"is the location of the initial cell body of the circuit",sensory:"is the location of the initial cell body in the PNS circuit"},entryIndex:0,availableAnatomyFacets:[],connectivityError:{}}},computed:{entry:function(){return this.tooltipEntry[this.entryIndex]},previousLabel:function(){var t;return this.entryIndex===0?"This is the first item. Click 'Next' to see more information.":(t=this.tooltipEntry[this.entryIndex-1])==null?void 0:t.title},nextLabel:function(){var t;return this.entryIndex===this.tooltipEntry.length-1?"This is the last item. Click 'Previous' to see more information.":(t=this.tooltipEntry[this.entryIndex+1])==null?void 0:t.title},provSpeciesDescription:function(){let t="Studied in";return this.entry.provenanceTaxonomyLabel.forEach(e=>{t+=` ${e},`}),t=t.slice(0,-1),t+=" species",t},origins:function(){return this.entry.origins},components:function(){return this.entry.components},destinations:function(){return this.entry.destinations},originsWithDatasets:function(){return this.entry.originsWithDatasets},componentsWithDatasets:function(){return this.entry.componentsWithDatasets},destinationsWithDatasets:function(){return this.entry.destinationsWithDatasets},resources:function(){return this.entry.hyperlinks||[]}},watch:{tooltipEntry:{deep:!0,immediate:!0,handler:function(t,e){t!==e&&(this.entryIndex=0)}}},mounted:function(){this.loadAvailableAnatomyFacets()},methods:{previous:function(){this.entryIndex!==0&&(this.entryIndex=this.entryIndex-1)},next:function(){this.entryIndex!==this.tooltipEntry.length-1&&(this.entryIndex=this.entryIndex+1)},titleCase:function(t){return V9(t)},capitalise:function(t){return $S(t)},onConnectivityActionClick:function(t){x_.emit("onActionClick",t)},loadAvailableAnatomyFacets:function(){const t=localStorage.getItem("available-anatomy-facets");t&&(this.availableAnatomyFacets=JSON.parse(t))}}},pK=t=>(s.pushScopeId("data-v-dc8d1ad3"),t=t(),s.popScopeId(),t),vK={key:0,class:"main"},gK={key:0,class:"toggle-button"},mK={key:1,class:"block"},yK={class:"title"},bK={key:0,class:"subtitle"},wK={key:2,class:"block"},CK={class:"title"},EK={key:3,class:"attribute-title-container"},xK=pK(()=>s.createElementVNode("span",{class:"attribute-title"},"Alert",-1)),kK={style:{"word-break":"keep-all"}},SK={class:"content-container scrollbar"};function _K(t,e,r,n,a,i){const o=Ht,l=Oa,c=Ne.Warning,u=ut,d=Ne.ArrowUp,f=Ne.ArrowDown,h=hg,v=bg,p=Bu;return i.entry?s.withDirectives((s.openBlock(),s.createElementBlock("div",vK,[r.tooltipEntry.length>1?(s.openBlock(),s.createElementBlock("div",gK,[s.createVNode(l,{width:"auto",trigger:"hover",teleported:!1},{reference:s.withCtx(()=>[s.createVNode(o,{class:"button",onClick:i.previous,disabled:this.entryIndex===0},{default:s.withCtx(()=>[s.createTextVNode(" Previous ")]),_:1},8,["onClick","disabled"])]),default:s.withCtx(()=>[s.createElementVNode("span",null,s.toDisplayString(i.previousLabel),1)]),_:1}),s.createVNode(l,{width:"auto",trigger:"hover",teleported:!1},{reference:s.withCtx(()=>[s.createVNode(o,{class:"button",onClick:i.next,disabled:this.entryIndex===this.tooltipEntry.length-1},{default:s.withCtx(()=>[s.createTextVNode(" Next ")]),_:1},8,["onClick","disabled"])]),default:s.withCtx(()=>[s.createElementVNode("span",null,s.toDisplayString(i.nextLabel),1)]),_:1})])):s.createCommentVNode("",!0),i.entry.title?(s.openBlock(),s.createElementBlock("div",mK,[s.createElementVNode("div",yK,s.toDisplayString(i.capitalise(i.entry.title)),1),i.entry.provenanceTaxonomyLabel&&i.entry.provenanceTaxonomyLabel.length>0?(s.openBlock(),s.createElementBlock("div",bK,s.toDisplayString(i.provSpeciesDescription),1)):s.createCommentVNode("",!0)])):(s.openBlock(),s.createElementBlock("div",wK,[s.createElementVNode("div",CK,s.toDisplayString(i.entry.featureId),1)])),i.entry.featuresAlert?(s.openBlock(),s.createElementBlock("div",EK,[xK,s.createVNode(l,{width:"250",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.createVNode(u,{class:"info"},{default:s.withCtx(()=>[s.createVNode(c)]),_:1})]),default:s.withCtx(()=>[s.createElementVNode("span",kK,s.toDisplayString(i.entry.featuresAlert),1)]),_:1})])):s.createCommentVNode("",!0),s.withDirectives(s.createElementVNode("div",{class:"hide",id:"hide-path-info",onClick:e[0]||(e[0]=g=>t.showDetails=!1)},[s.createTextVNode(" Hide path information "),s.createVNode(u,null,{default:s.withCtx(()=>[s.createVNode(d)]),_:1})],512),[[s.vShow,t.showDetails]]),s.withDirectives(s.createElementVNode("div",{class:"hide",id:"show-path-info",onClick:e[1]||(e[1]=g=>t.showDetails=!0)},[s.createTextVNode(" Show path information "),s.createVNode(u,null,{default:s.withCtx(()=>[s.createVNode(f)]),_:1})],512),[[s.vShow,!t.showDetails]]),s.createVNode(s.Transition,{name:"slide-fade"},{default:s.withCtx(()=>[s.withDirectives(s.createElementVNode("div",SK,[(s.openBlock(),s.createBlock(h,{key:i.entry.featureId[0],entry:i.entry,origins:i.origins,components:i.components,destinations:i.destinations,originsWithDatasets:i.originsWithDatasets,componentsWithDatasets:i.componentsWithDatasets,destinationsWithDatasets:i.destinationsWithDatasets,availableAnatomyFacets:t.availableAnatomyFacets,connectivityError:t.connectivityError,onConnectivityActionClick:i.onConnectivityActionClick},null,8,["entry","origins","components","destinations","originsWithDatasets","componentsWithDatasets","destinationsWithDatasets","availableAnatomyFacets","connectivityError","onConnectivityActionClick"])),i.resources.length?(s.openBlock(),s.createBlock(v,{key:0,resources:i.resources},null,8,["resources"])):s.createCommentVNode("",!0)],512),[[s.vShow,t.showDetails]])]),_:1})])),[[p,t.loading]]):s.createCommentVNode("",!0)}const TK=Yt(hK,[["render",_K],["__scopeId","data-v-dc8d1ad3"]]),NK={name:"Tooltip",props:{tooltipEntry:{type:Array},annotationDisplay:{type:Boolean,default:!1},annotationEntry:{type:Array}},mounted:function(){x_.on("onActionClick",t=>{this.$emit("onActionClick",t)})}},IK={class:"tooltip-container",id:"tooltip-container"};function BK(t,e,r,n,a,i){const o=g0,l=TK;return s.openBlock(),s.createElementBlock("div",IK,[r.annotationDisplay?(s.openBlock(),s.createBlock(o,{key:0,annotationEntry:r.annotationEntry,onAnnotation:e[0]||(e[0]=c=>t.$emit("annotation",c))},null,8,["annotationEntry"])):(s.openBlock(),s.createBlock(l,{key:1,tooltipEntry:r.tooltipEntry},null,8,["tooltipEntry"]))])}const DK=Yt(NK,[["render",BK],["__scopeId","data-v-d1e37cc2"]]),OK={name:"TreeControls",props:{mapType:{type:String,required:!0},isReady:{type:Boolean,default:!0},title:{type:String},treeData:{type:Array,default:function(){return[]}},showColourPicker:{type:Boolean,default:!1},active:{type:[String,Array],required:!0},hover:{type:[String,Array],required:!0},enableFilter:{type:Boolean,default:!0}},data:function(){return{defaultExpandedKeys:["All"],filterText:"",tooltipVisible:!1,tooltipLabel:"",tooltipAtBottom:!1}},computed:{isFlatmap:function(){return this.mapType==="flatmap"},isScaffold:function(){return this.mapType==="scaffold"},nodeKey:function(){if(this.isFlatmap)return"key";if(this.isScaffold)return"id"},expandedKeys:function(){if(this.isFlatmap)return this.defaultExpandedKeys;if(this.isScaffold)return[]}},watch:{filterText:{handler:function(t){this.$refs.regionTree&&this.$refs.regionTree.filter(t)}}},methods:{filterNode:function(t,e){return t?e.label?e.label.toLowerCase().includes(t.toLowerCase()):!1:!0},setColour:function(t,e){this.$emit("setColour",t,e)},getBackgroundStyles:function(t){return"colour"in t?{background:t.colour}:{}},nodeIsActive:function(t){return this.active===t.models},nodeIsHover:function(t){return this.hover===t.models},changeActiveByNode:function(t,e=!1){this.isFlatmap?t.models&&this.$emit("changeActive",t.models):this.isScaffold&&(t.isPrimitives||t.isRegion)&&this.$emit("changeActive",t,e)},changeHoverByNode:function(t,e=!1){this.isFlatmap?t.models&&this.$emit("changeHover",t.models):this.isScaffold&&t.isPrimitives&&this.$emit("changeHover",t,e)},checkChanged:function(t,e){if(this.isFlatmap){const r=e.checkedKeys.includes(t.key);t.key==="All"?this.$emit("checkAll",r):this.$emit("checkChanged",{key:t.key,value:r})}else this.isScaffold&&this.$emit("checkChanged",t,e)},displayTooltip:function(t,e,r){const a=r.target.closest(".el-tree-node__content"),i=a.clientWidth,o=a.getBoundingClientRect().x,l=a.querySelector(".lastChildInItem");let c=0;if(l){const d=l.getBoundingClientRect();c=d.x+d.width-o}const u=c>i;this.tooltipVisible=u&&e,this.tooltipLabel=t,this.tooltipAtBottom=.5>r.layerY/this.$refs.treeContainer.clientHeight}},unmounted:function(){this.sortedPrimitiveGroups=void 0},mounted:function(){this.$refs.regionTree&&this.$refs.regionTree.filter(this.filterText)}},PK={class:"selections-container"},AK={class:"title-text"},RK={class:"tree-container",ref:"treeContainer"},LK={class:"tooltip-text"},MK=["onClick","onMouseover","onMouseenter"],FK=["onClick","onMouseover","onMouseenter"],$K={class:"lastChildInItem"},VK={key:0,class:"node-options"};function qK(t,e,r,n,a,i){const o=Ri,l=Di,c=as,u=Oa,d=RR,f=FL,h=Bu;return s.openBlock(),s.createElementBlock("div",PK,[r.title?(s.openBlock(),s.createBlock(c,{key:0},{default:s.withCtx(()=>[s.createVNode(o,{span:12},{default:s.withCtx(()=>[s.createElementVNode("div",AK,s.toDisplayString(r.title),1)]),_:1}),r.enableFilter?(s.openBlock(),s.createBlock(o,{key:0,span:12},{default:s.withCtx(()=>[s.createElementVNode("div",null,[s.createVNode(l,{class:"tree-filter-input",modelValue:t.filterText,"onUpdate:modelValue":e[0]||(e[0]=v=>t.filterText=v),placeholder:"Filter "+r.title},null,8,["modelValue","placeholder"])])]),_:1})):s.createCommentVNode("",!0)]),_:1})):s.createCommentVNode("",!0),s.createElementVNode("div",RK,[s.createElementVNode("div",{class:s.normalizeClass(["tree-tooltip",t.tooltipAtBottom?"bottom":""])},[s.createVNode(u,{ref:"tooltip",visible:t.tooltipVisible&&t.tooltipLabel!=="",placement:"top","show-arrow":!1,teleported:!1,trigger:"manual","popper-class":"tree-tooltip-popper","virtual-triggering":"",width:260},{default:s.withCtx(()=>[s.createElementVNode("div",LK,s.toDisplayString(t.tooltipLabel),1)]),_:1},8,["visible"])],2),s.withDirectives((s.openBlock(),s.createBlock(f,{ref:"regionTree","element-loading-background":"rgba(0, 0, 0, 0.3)","show-checkbox":"","node-key":i.nodeKey,data:r.treeData,"check-strictly":!1,"expand-on-click-node":!1,"render-after-expand":!1,"default-expanded-keys":i.expandedKeys,onCheck:i.checkChanged,indent:8,"filter-node-method":i.filterNode,class:s.normalizeClass([r.mapType==="flatmap"?"hide_grandchildren_checkbox":""])},{default:s.withCtx(({node:v,data:p})=>[r.mapType==="flatmap"?(s.openBlock(),s.createElementBlock("span",{key:0,class:s.normalizeClass(["region-tree-node",{activeItem:i.nodeIsActive(p),hoverItem:i.nodeIsHover(p)}]),onClick:g=>i.changeActiveByNode(p),onMouseover:g=>i.changeHoverByNode(p,!1),onMouseenter:g=>i.displayTooltip(v.label,!0,g),onMouseleave:e[1]||(e[1]=g=>i.displayTooltip("",!1,g))},[s.createElementVNode("div",{style:s.normalizeStyle(i.getBackgroundStyles(p)),class:"lastChildInItem"},s.toDisplayString(v.label),5)],42,MK)):r.mapType==="scaffold"?(s.openBlock(),s.createElementBlock("span",{key:1,class:s.normalizeClass(["region-tree-node",{activeItem:r.active.includes(p.id),hoverItem:r.hover.includes(p.id)}]),onClick:g=>i.changeActiveByNode(p,!0),onMouseover:g=>i.changeHoverByNode(p,!0,g),onMouseenter:g=>i.displayTooltip(v.label,!0,g),onMouseleave:e[2]||(e[2]=g=>i.displayTooltip("",!1,g))},[p.isPrimitives?(s.openBlock(),s.createBlock(d,{key:0,class:s.normalizeClass({"show-picker":r.showColourPicker}),modelValue:p.activeColour,"onUpdate:modelValue":g=>p.activeColour=g,size:"small",onChange:g=>i.setColour(p,g)},null,8,["class","modelValue","onUpdate:modelValue","onChange"])):s.createCommentVNode("",!0),s.createElementVNode("div",$K,[s.createElementVNode("span",null,s.toDisplayString(v.label),1),p.isTextureSlides?(s.openBlock(),s.createElementBlock("span",VK," (Texture) ")):s.createCommentVNode("",!0)])],42,FK)):s.createCommentVNode("",!0)]),_:1},8,["node-key","data","default-expanded-keys","onCheck","filter-node-method","class"])),[[h,!r.isReady]])],512)])}const zK=Yt(OK,[["render",qK],["__scopeId","data-v-e1dbd1e9"]]);async function HK(t,e){try{const r=await fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!r.ok)throw new Error(`API Error: ${r.status} ${r.statusText}`);return await r.json()}catch(r){throw console.error("Request failed:",r),r}}async function rn(t){const{flatmapAPI:e,knowledgeSource:r,queryId:n,parameters:a,orderId:i}=t,o=`${e}competency/query`,l=Array.isArray(a)?[...a]:[];l.push({column:"source_id",value:r});let c;if(typeof n=="number")c=n.toString();else if(typeof n=="string")c=n;else throw new TypeError("queryId must be a string or a number convertible to string.");const u={query_id:c,parameters:l};return i&&(u.order=[i]),HK(o,u)}async function KK(t,e,r){const n=Array.isArray(r)?r:[r],a=n.filter(h=>h.startsWith("ilxtr:")),i=n.filter(h=>!h.startsWith("ilxtr:")),o=[];a.length>0&&o.push(rn({flatmapAPI:t,knowledgeSource:e,queryId:23,parameters:[{column:"path_id",value:a}]})),i.length>0&&o.push(rn({flatmapAPI:t,knowledgeSource:e,queryId:1,parameters:[{column:"feature_id",value:i}]}));const l=await Promise.all(o);let c=[...a];l.forEach(h=>{var p,g;const v=((g=(p=h==null?void 0:h.results)==null?void 0:p.values)==null?void 0:g.map(m=>m[1]))||[];c.push(...v)});const u=[...new Set(c)];let d=[];return u.length&&(d=await Cg(t,e,u)),[...new Set([...u,...d])]}async function GK(t,e,r){var a;const n=await rn({flatmapAPI:t,knowledgeSource:e,queryId:1,parameters:[{column:"feature_id",value:r}]});if((a=n==null?void 0:n.results)!=null&&a.values){const i=n.results.values.map(o=>o[1]);return[...new Set(i)]}return[]}async function UK(t,e,r){var a;const n=await rn({flatmapAPI:t,knowledgeSource:e,queryId:1,parameters:[{column:"feature_id",value:r}]});if((a=n==null?void 0:n.results)!=null&&a.values){const i=n.results.values.map(o=>o[1]);return[...new Set(i)]}return[]}async function jK(t,e,r){var a;const n=await rn({flatmapAPI:t,knowledgeSource:e,queryId:2,parameters:[{column:"feature_id",value:r}]});if((a=n==null?void 0:n.results)!=null&&a.values){const i=n.results.values.map(o=>o[1]);return[...new Set(i)]}return[]}function wg(t){const e=[];for(const r of t){const n=JSON.parse(r);Array.isArray(n)&&n.length>=2&&Array.isArray(n[1])&&n[1].length===0&&e.push(n[0])}return e}async function Cg(t,e,r){var a;const n=await rn({flatmapAPI:t,knowledgeSource:e,queryId:26,parameters:[{column:"path_id",value:r}]});if((a=n==null?void 0:n.results)!=null&&a.values){const i=n.results.values.map(o=>o[2]);return[...new Set(i)]}return[]}async function WK({flatmapAPI:t,knowledgeSource:e,origins:r,destinations:n,vias:a}){var w,C,x,k;const i=wg(r),o=wg(n),l=wg(a),c=[{column:"source_feature_id",value:i},{column:"via_feature_id",value:l},{column:"dest_feature_id",value:o}],u=[{column:"source_node_id",value:r},{column:"via_node_id",value:a},{column:"dest_node_id",value:n}],d=c.some(E=>Array.isArray(E.value)&&E.value.length>0),f=[rn({flatmapAPI:t,knowledgeSource:e,queryId:24,parameters:u})];d&&f.push(rn({flatmapAPI:t,knowledgeSource:e,queryId:25,parameters:c}));const h=await Promise.all(f);let v=[],p;if(d){const E=h[0];p=h[1],v=((C=(w=E==null?void 0:E.results)==null?void 0:w.values)==null?void 0:C.map(_=>_[1]))||[]}else p=h[0];const g=((k=(x=p==null?void 0:p.results)==null?void 0:x.values)==null?void 0:k.map(E=>E[1]))||[],m=[...new Set([...v,...g])];let y=[];return m.length&&(y=await Cg(t,e,m)),[...new Set([...m,...y])]}const Eg=[];async function YK(t,e){const r=e.filter(i=>Eg.some(o=>o.taxon===i)),n=Eg.filter(i=>r.includes(i.taxon)),a=e.filter(i=>!r.includes(i));if(a.length){const i=await t.queryLabels(a);if(i.length)return i.forEach(o=>{let{entity:l,label:c}=o;c==="Mammalia"&&(c="Mammalia not otherwise specified");const u={taxon:l,label:c};n.push(u),Eg.push(u)}),n}else return n}async function ZK(t,e,r){const n=`${t}knowledge/query/`,a={sql:e,params:r};try{const i=await fetch(n,{method:"POST",headers:{Accept:"application/json; charset=utf-8","Content-Type":"application/json"},body:JSON.stringify(a)});if(!i.ok)throw new Error(`Cannot access ${n}`);return await i.json()}catch{return{values:[]}}}async function k_(t,e){return e.length?await(await ZK(t,`select entity, knowledge from knowledge
468
+ `+a}this.$emit("references-loaded",{style:e,list:r})},replaceLinkInText:function(t){const e="https://";let r=t.split(e)[1];if(r){r=r.split(" ")[0],r=r.trim(),r.endsWith(".")&&(r=r.substring(0,r.length-1));const n=e+r,a=`<a href="${n}" target="_blank">${n}</a>`;return t.replace(n,a)}return t},searchPMID:async function(t){const e=`https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pubmed&term=${t}&format=json`;return await this.fetchData(e)},getCitationTextByDOI:async function(t){const e=`${this.crosscite_host}/format?doi=${t}&style=${this.citationType}&lang=en-US`;return await this.fetchData(e,"text")},getDOIFromPubMedID:async function(t){const e=`https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi?db=pubmed&id=${t}&format=json`;return await this.fetchData(e)},formatOpenLibReferences:function(){this.openLibReferences.forEach(t=>{const{bookId:e}=t;this.getBookData(e).then(r=>{const{title:n,authors:a,publish_date:i}=r;n&&(t.title=n),i&&(t.date=i),a&&(t.authors=[],a.forEach(o=>{this.getBookAuthor(o.key).then(l=>{const{name:c}=l;c&&(t.authors.push(c),this.updateCopyContents())})})),this.updateCopyContents()})})},getBookData:async function(t){const e=`https://openlibrary.org/books/${t}.json`;return await this.fetchData(e)},getBookAuthor:async function(t){const e=`https://openlibrary.org${t}.json`;return await this.fetchData(e)},formatCopyReference:function(t){const e=[],{title:r,date:n,authors:a,url:i}=t;return r&&e.push(r),n&&e.push(`(${n})`),a&&e.push(`- ${a.join(", ")}`),e.push(`<div><a href="${i}" target="_blank">${i}</a></div>`),e.join(" ")},fetchData:async function(t,e){try{const r=await fetch(t);if(!r.ok)throw new Error(`Response status: ${r.status}`);return e==="text"?await r.text():await r.json()}catch(r){throw new Error(r)}},onCopied:function(t,e){let r="Reference List",n="",a=this.citationType;e?(r=e.resource,n=e.type==="doi"?e.id:""):r=[...this.pubMedReferences,...this.openLibReferences,...this.isbnDBReferences].map(c=>c.type==="doi"?c.id:c.resource).join(", ");const i={event:"interaction_event",event_name:"portal_maps_copy_citation",category:r,doi:n,citation_type:a,location:"map_connectivity_references"};this.$emit("trackEvent",i)}}},va=t=>(s.pushScopeId("data-v-e4259096"),t=t(),s.popScopeId(),t),WH={class:"resource-container"},YH={class:"attribute-title-container"},ZH=va(()=>s.createElementVNode("div",{class:"attribute-title"},"References",-1)),XH={class:"copy-button"},JH={key:0,class:"citation-tabs"},QH={class:"citation-list"},eK=va(()=>s.createElementVNode("span",null,"Internal Server Error",-1)),tK=va(()=>s.createElementVNode("br",null,null,-1)),rK=va(()=>s.createElementVNode("br",null,null,-1)),nK=["href"],aK=va(()=>s.createElementVNode("br",null,null,-1)),iK=va(()=>s.createElementVNode("span",null,"Sorry, something went wrong.",-1)),oK=va(()=>s.createElementVNode("br",null,null,-1)),sK=["onClick"],lK=["innerHTML"],uK=["innerHTML"],cK=["href"];function dK(t,e,r,n,a,i){const o=us,l=Ht,c=E_;return s.openBlock(),s.createElementBlock("div",WH,[s.createElementVNode("div",YH,[ZH,s.createElementVNode("div",XH,[s.createVNode(o,{onCopied:e[0]||(e[0]=u=>i.onCopied(u,"")),label:"Copy list to clipboard",content:t.referecesListContent},null,8,["content"])])]),i.referencesWithDOI?(s.openBlock(),s.createElementBlock("div",JH,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(t.citationOptions,u=>(s.openBlock(),s.createBlock(l,{link:"",key:u.value,type:t.citationType===u.value?"primary":"",onClick:d=>i.onCitationFormatChange(u.value)},{default:s.withCtx(()=>[s.createTextVNode(s.toDisplayString(u.label),1)]),_:2},1032,["type","onClick"]))),128))])):s.createCommentVNode("",!0),s.createElementVNode("ul",QH,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(t.pubMedReferences,u=>{var d,f,h,v;return s.openBlock(),s.createElementBlock("li",{key:u.id,class:s.normalizeClass({loading:i.isCitationLoading(u.citation),error:i.isCitationError(u.citation)})},[u.citation?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[((d=u.citation.error)==null?void 0:d.ref)==="doi"&&((f=u.citation.error)==null?void 0:f.type)===t.citationType?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[eK,tK,s.createTextVNode(" Sorry, something went wrong."),rK,s.createTextVNode(" The dataset citation generator ("),s.createElementVNode("a",{href:t.crosscite_host,target:"_blank"},s.toDisplayString(t.crosscite_host),9,nK),s.createTextVNode(") encountered an internal error and was unable to complete your request."),aK,s.createTextVNode(" Please come back later. ")],64)):((h=u.citation.error)==null?void 0:h.ref)==="pubmed"&&((v=u.citation.error)==null?void 0:v.type)===t.citationType?(s.openBlock(),s.createElementBlock(s.Fragment,{key:1},[iK,oK,s.createTextVNode(" Please try again. "),s.createElementVNode("span",{class:"reload-button",onClick:p=>i.reloadCitation(u)},"Reload",8,sK)],64)):(s.openBlock(),s.createElementBlock(s.Fragment,{key:2},[s.createElementVNode("span",{innerHTML:u.citation[t.citationType]},null,8,lK),s.createVNode(c,{resource:u.resource,onShowRelatedConnectivities:i.showRelatedConnectivities},null,8,["resource","onShowRelatedConnectivities"]),s.createVNode(o,{onCopied:p=>i.onCopied(p,u),content:u.citation[t.citationType]},null,8,["onCopied","content"])],64))],64)):s.createCommentVNode("",!0)],2)}),128)),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(t.openLibReferences,u=>(s.openBlock(),s.createElementBlock("li",{key:u.id},[s.createElementVNode("div",{innerHTML:i.formatCopyReference(u)},null,8,uK),s.createVNode(c,{resource:u.resource,onShowRelatedConnectivities:i.showRelatedConnectivities},null,8,["resource","onShowRelatedConnectivities"]),s.createVNode(o,{onCopied:d=>i.onCopied(d,u),content:i.formatCopyReference(u)},null,8,["onCopied","content"])]))),128)),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(t.isbnDBReferences,u=>(s.openBlock(),s.createElementBlock("li",{key:u.id},[s.createElementVNode("a",{href:u.url,target:"_blank"},s.toDisplayString(u.url),9,cK),s.createVNode(c,{resource:u.resource,onShowRelatedConnectivities:i.showRelatedConnectivities},null,8,["resource","onShowRelatedConnectivities"]),s.createVNode(o,{onCopied:d=>i.onCopied(d,u),content:u.url},null,8,["onCopied","content"])]))),128))])])}const bg=Yt(jH,[["render",dK],["__scopeId","data-v-e4259096"]]);function fK(t){return{all:t=t||new Map,on:function(e,r){var n=t.get(e);n?n.push(r):t.set(e,[r])},off:function(e,r){var n=t.get(e);n&&(r?n.splice(n.indexOf(r)>>>0,1):t.set(e,[]))},emit:function(e,r){var n=t.get(e);n&&n.slice().map(function(a){a(r)}),(n=t.get("*"))&&n.slice().map(function(a){a(e,r)})}}}const x_=new fK,hK={name:"ProvenancePopup",components:{ElIconArrowUp:Ne.ArrowUp,ElIconArrowDown:Ne.ArrowDown,ElIconWarning:Ne.Warning,ConnectivityList:hg,ExternalResourceCard:bg},props:{tooltipEntry:{type:Array,default:[]}},data:function(){return{loading:!1,showDetails:!1,originDescriptions:{motor:"is the location of the initial cell body of the circuit",sensory:"is the location of the initial cell body in the PNS circuit"},entryIndex:0,availableAnatomyFacets:[],connectivityError:{}}},computed:{entry:function(){return this.tooltipEntry[this.entryIndex]},previousLabel:function(){var t;return this.entryIndex===0?"This is the first item. Click 'Next' to see more information.":(t=this.tooltipEntry[this.entryIndex-1])==null?void 0:t.title},nextLabel:function(){var t;return this.entryIndex===this.tooltipEntry.length-1?"This is the last item. Click 'Previous' to see more information.":(t=this.tooltipEntry[this.entryIndex+1])==null?void 0:t.title},provSpeciesDescription:function(){let t="Studied in";return this.entry.provenanceTaxonomyLabel.forEach(e=>{t+=` ${e},`}),t=t.slice(0,-1),t+=" species",t},origins:function(){return this.entry.origins},components:function(){return this.entry.components},destinations:function(){return this.entry.destinations},originsWithDatasets:function(){return this.entry.originsWithDatasets},componentsWithDatasets:function(){return this.entry.componentsWithDatasets},destinationsWithDatasets:function(){return this.entry.destinationsWithDatasets},resources:function(){return this.entry.hyperlinks||[]}},watch:{tooltipEntry:{deep:!0,immediate:!0,handler:function(t,e){t!==e&&(this.entryIndex=0)}}},mounted:function(){this.loadAvailableAnatomyFacets()},methods:{previous:function(){this.entryIndex!==0&&(this.entryIndex=this.entryIndex-1)},next:function(){this.entryIndex!==this.tooltipEntry.length-1&&(this.entryIndex=this.entryIndex+1)},titleCase:function(t){return V6(t)},capitalise:function(t){return $S(t)},onConnectivityActionClick:function(t){x_.emit("onActionClick",t)},loadAvailableAnatomyFacets:function(){const t=localStorage.getItem("available-anatomy-facets");t&&(this.availableAnatomyFacets=JSON.parse(t))}}},pK=t=>(s.pushScopeId("data-v-dc8d1ad3"),t=t(),s.popScopeId(),t),vK={key:0,class:"main"},gK={key:0,class:"toggle-button"},mK={key:1,class:"block"},yK={class:"title"},bK={key:0,class:"subtitle"},wK={key:2,class:"block"},CK={class:"title"},EK={key:3,class:"attribute-title-container"},xK=pK(()=>s.createElementVNode("span",{class:"attribute-title"},"Alert",-1)),kK={style:{"word-break":"keep-all"}},SK={class:"content-container scrollbar"};function _K(t,e,r,n,a,i){const o=Ht,l=Oa,c=Ne.Warning,u=ut,d=Ne.ArrowUp,f=Ne.ArrowDown,h=hg,v=bg,p=Bu;return i.entry?s.withDirectives((s.openBlock(),s.createElementBlock("div",vK,[r.tooltipEntry.length>1?(s.openBlock(),s.createElementBlock("div",gK,[s.createVNode(l,{width:"auto",trigger:"hover",teleported:!1},{reference:s.withCtx(()=>[s.createVNode(o,{class:"button",onClick:i.previous,disabled:this.entryIndex===0},{default:s.withCtx(()=>[s.createTextVNode(" Previous ")]),_:1},8,["onClick","disabled"])]),default:s.withCtx(()=>[s.createElementVNode("span",null,s.toDisplayString(i.previousLabel),1)]),_:1}),s.createVNode(l,{width:"auto",trigger:"hover",teleported:!1},{reference:s.withCtx(()=>[s.createVNode(o,{class:"button",onClick:i.next,disabled:this.entryIndex===this.tooltipEntry.length-1},{default:s.withCtx(()=>[s.createTextVNode(" Next ")]),_:1},8,["onClick","disabled"])]),default:s.withCtx(()=>[s.createElementVNode("span",null,s.toDisplayString(i.nextLabel),1)]),_:1})])):s.createCommentVNode("",!0),i.entry.title?(s.openBlock(),s.createElementBlock("div",mK,[s.createElementVNode("div",yK,s.toDisplayString(i.capitalise(i.entry.title)),1),i.entry.provenanceTaxonomyLabel&&i.entry.provenanceTaxonomyLabel.length>0?(s.openBlock(),s.createElementBlock("div",bK,s.toDisplayString(i.provSpeciesDescription),1)):s.createCommentVNode("",!0)])):(s.openBlock(),s.createElementBlock("div",wK,[s.createElementVNode("div",CK,s.toDisplayString(i.entry.featureId),1)])),i.entry.featuresAlert?(s.openBlock(),s.createElementBlock("div",EK,[xK,s.createVNode(l,{width:"250",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.createVNode(u,{class:"info"},{default:s.withCtx(()=>[s.createVNode(c)]),_:1})]),default:s.withCtx(()=>[s.createElementVNode("span",kK,s.toDisplayString(i.entry.featuresAlert),1)]),_:1})])):s.createCommentVNode("",!0),s.withDirectives(s.createElementVNode("div",{class:"hide",id:"hide-path-info",onClick:e[0]||(e[0]=g=>t.showDetails=!1)},[s.createTextVNode(" Hide path information "),s.createVNode(u,null,{default:s.withCtx(()=>[s.createVNode(d)]),_:1})],512),[[s.vShow,t.showDetails]]),s.withDirectives(s.createElementVNode("div",{class:"hide",id:"show-path-info",onClick:e[1]||(e[1]=g=>t.showDetails=!0)},[s.createTextVNode(" Show path information "),s.createVNode(u,null,{default:s.withCtx(()=>[s.createVNode(f)]),_:1})],512),[[s.vShow,!t.showDetails]]),s.createVNode(s.Transition,{name:"slide-fade"},{default:s.withCtx(()=>[s.withDirectives(s.createElementVNode("div",SK,[(s.openBlock(),s.createBlock(h,{key:i.entry.featureId[0],entry:i.entry,origins:i.origins,components:i.components,destinations:i.destinations,originsWithDatasets:i.originsWithDatasets,componentsWithDatasets:i.componentsWithDatasets,destinationsWithDatasets:i.destinationsWithDatasets,availableAnatomyFacets:t.availableAnatomyFacets,connectivityError:t.connectivityError,onConnectivityActionClick:i.onConnectivityActionClick},null,8,["entry","origins","components","destinations","originsWithDatasets","componentsWithDatasets","destinationsWithDatasets","availableAnatomyFacets","connectivityError","onConnectivityActionClick"])),i.resources.length?(s.openBlock(),s.createBlock(v,{key:0,resources:i.resources},null,8,["resources"])):s.createCommentVNode("",!0)],512),[[s.vShow,t.showDetails]])]),_:1})])),[[p,t.loading]]):s.createCommentVNode("",!0)}const TK=Yt(hK,[["render",_K],["__scopeId","data-v-dc8d1ad3"]]),NK={name:"Tooltip",props:{tooltipEntry:{type:Array},annotationDisplay:{type:Boolean,default:!1},annotationEntry:{type:Array}},mounted:function(){x_.on("onActionClick",t=>{this.$emit("onActionClick",t)})}},IK={class:"tooltip-container",id:"tooltip-container"};function BK(t,e,r,n,a,i){const o=g0,l=TK;return s.openBlock(),s.createElementBlock("div",IK,[r.annotationDisplay?(s.openBlock(),s.createBlock(o,{key:0,annotationEntry:r.annotationEntry,onAnnotation:e[0]||(e[0]=c=>t.$emit("annotation",c))},null,8,["annotationEntry"])):(s.openBlock(),s.createBlock(l,{key:1,tooltipEntry:r.tooltipEntry},null,8,["tooltipEntry"]))])}const DK=Yt(NK,[["render",BK],["__scopeId","data-v-d1e37cc2"]]),OK={name:"TreeControls",props:{mapType:{type:String,required:!0},isReady:{type:Boolean,default:!0},title:{type:String},treeData:{type:Array,default:function(){return[]}},showColourPicker:{type:Boolean,default:!1},active:{type:[String,Array],required:!0},hover:{type:[String,Array],required:!0},enableFilter:{type:Boolean,default:!0}},data:function(){return{defaultExpandedKeys:["All"],filterText:"",tooltipVisible:!1,tooltipLabel:"",tooltipAtBottom:!1}},computed:{isFlatmap:function(){return this.mapType==="flatmap"},isScaffold:function(){return this.mapType==="scaffold"},nodeKey:function(){if(this.isFlatmap)return"key";if(this.isScaffold)return"id"},expandedKeys:function(){if(this.isFlatmap)return this.defaultExpandedKeys;if(this.isScaffold)return[]}},watch:{filterText:{handler:function(t){this.$refs.regionTree&&this.$refs.regionTree.filter(t)}}},methods:{filterNode:function(t,e){return t?e.label?e.label.toLowerCase().includes(t.toLowerCase()):!1:!0},setColour:function(t,e){this.$emit("setColour",t,e)},getBackgroundStyles:function(t){return"colour"in t?{background:t.colour}:{}},nodeIsActive:function(t){return this.active===t.models},nodeIsHover:function(t){return this.hover===t.models},changeActiveByNode:function(t,e=!1){this.isFlatmap?t.models&&this.$emit("changeActive",t.models):this.isScaffold&&(t.isPrimitives||t.isRegion)&&this.$emit("changeActive",t,e)},changeHoverByNode:function(t,e=!1){this.isFlatmap?t.models&&this.$emit("changeHover",t.models):this.isScaffold&&t.isPrimitives&&this.$emit("changeHover",t,e)},checkChanged:function(t,e){if(this.isFlatmap){const r=e.checkedKeys.includes(t.key);t.key==="All"?this.$emit("checkAll",r):this.$emit("checkChanged",{key:t.key,value:r})}else this.isScaffold&&this.$emit("checkChanged",t,e)},displayTooltip:function(t,e,r){const a=r.target.closest(".el-tree-node__content"),i=a.clientWidth,o=a.getBoundingClientRect().x,l=a.querySelector(".lastChildInItem");let c=0;if(l){const d=l.getBoundingClientRect();c=d.x+d.width-o}const u=c>i;this.tooltipVisible=u&&e,this.tooltipLabel=t,this.tooltipAtBottom=.5>r.layerY/this.$refs.treeContainer.clientHeight}},unmounted:function(){this.sortedPrimitiveGroups=void 0},mounted:function(){this.$refs.regionTree&&this.$refs.regionTree.filter(this.filterText)}},PK={class:"selections-container"},AK={class:"title-text"},RK={class:"tree-container",ref:"treeContainer"},LK={class:"tooltip-text"},MK=["onClick","onMouseover","onMouseenter"],FK=["onClick","onMouseover","onMouseenter"],$K={class:"lastChildInItem"},VK={key:0,class:"node-options"};function qK(t,e,r,n,a,i){const o=Ri,l=Di,c=as,u=Oa,d=RR,f=FL,h=Bu;return s.openBlock(),s.createElementBlock("div",PK,[r.title?(s.openBlock(),s.createBlock(c,{key:0},{default:s.withCtx(()=>[s.createVNode(o,{span:12},{default:s.withCtx(()=>[s.createElementVNode("div",AK,s.toDisplayString(r.title),1)]),_:1}),r.enableFilter?(s.openBlock(),s.createBlock(o,{key:0,span:12},{default:s.withCtx(()=>[s.createElementVNode("div",null,[s.createVNode(l,{class:"tree-filter-input",modelValue:t.filterText,"onUpdate:modelValue":e[0]||(e[0]=v=>t.filterText=v),placeholder:"Filter "+r.title},null,8,["modelValue","placeholder"])])]),_:1})):s.createCommentVNode("",!0)]),_:1})):s.createCommentVNode("",!0),s.createElementVNode("div",RK,[s.createElementVNode("div",{class:s.normalizeClass(["tree-tooltip",t.tooltipAtBottom?"bottom":""])},[s.createVNode(u,{ref:"tooltip",visible:t.tooltipVisible&&t.tooltipLabel!=="",placement:"top","show-arrow":!1,teleported:!1,trigger:"manual","popper-class":"tree-tooltip-popper","virtual-triggering":"",width:260},{default:s.withCtx(()=>[s.createElementVNode("div",LK,s.toDisplayString(t.tooltipLabel),1)]),_:1},8,["visible"])],2),s.withDirectives((s.openBlock(),s.createBlock(f,{ref:"regionTree","element-loading-background":"rgba(0, 0, 0, 0.3)","show-checkbox":"","node-key":i.nodeKey,data:r.treeData,"check-strictly":!1,"expand-on-click-node":!1,"render-after-expand":!1,"default-expanded-keys":i.expandedKeys,onCheck:i.checkChanged,indent:8,"filter-node-method":i.filterNode,class:s.normalizeClass([r.mapType==="flatmap"?"hide_grandchildren_checkbox":""])},{default:s.withCtx(({node:v,data:p})=>[r.mapType==="flatmap"?(s.openBlock(),s.createElementBlock("span",{key:0,class:s.normalizeClass(["region-tree-node",{activeItem:i.nodeIsActive(p),hoverItem:i.nodeIsHover(p)}]),onClick:g=>i.changeActiveByNode(p),onMouseover:g=>i.changeHoverByNode(p,!1),onMouseenter:g=>i.displayTooltip(v.label,!0,g),onMouseleave:e[1]||(e[1]=g=>i.displayTooltip("",!1,g))},[s.createElementVNode("div",{style:s.normalizeStyle(i.getBackgroundStyles(p)),class:"lastChildInItem"},s.toDisplayString(v.label),5)],42,MK)):r.mapType==="scaffold"?(s.openBlock(),s.createElementBlock("span",{key:1,class:s.normalizeClass(["region-tree-node",{activeItem:r.active.includes(p.id),hoverItem:r.hover.includes(p.id)}]),onClick:g=>i.changeActiveByNode(p,!0),onMouseover:g=>i.changeHoverByNode(p,!0,g),onMouseenter:g=>i.displayTooltip(v.label,!0,g),onMouseleave:e[2]||(e[2]=g=>i.displayTooltip("",!1,g))},[p.isPrimitives?(s.openBlock(),s.createBlock(d,{key:0,class:s.normalizeClass({"show-picker":r.showColourPicker}),modelValue:p.activeColour,"onUpdate:modelValue":g=>p.activeColour=g,size:"small",onChange:g=>i.setColour(p,g)},null,8,["class","modelValue","onUpdate:modelValue","onChange"])):s.createCommentVNode("",!0),s.createElementVNode("div",$K,[s.createElementVNode("span",null,s.toDisplayString(v.label),1),p.isTextureSlides?(s.openBlock(),s.createElementBlock("span",VK," (Texture) ")):s.createCommentVNode("",!0)])],42,FK)):s.createCommentVNode("",!0)]),_:1},8,["node-key","data","default-expanded-keys","onCheck","filter-node-method","class"])),[[h,!r.isReady]])],512)])}const zK=Yt(OK,[["render",qK],["__scopeId","data-v-e1dbd1e9"]]);async function HK(t,e){try{const r=await fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!r.ok)throw new Error(`API Error: ${r.status} ${r.statusText}`);return await r.json()}catch(r){throw console.error("Request failed:",r),r}}async function rn(t){const{flatmapAPI:e,knowledgeSource:r,queryId:n,parameters:a,orderId:i}=t,o=`${e}competency/query`,l=Array.isArray(a)?[...a]:[];l.push({column:"source_id",value:r});let c;if(typeof n=="number")c=n.toString();else if(typeof n=="string")c=n;else throw new TypeError("queryId must be a string or a number convertible to string.");const u={query_id:c,parameters:l};return i&&(u.order=[i]),HK(o,u)}async function KK(t,e,r){const n=Array.isArray(r)?r:[r],a=n.filter(h=>h.startsWith("ilxtr:")),i=n.filter(h=>!h.startsWith("ilxtr:")),o=[];a.length>0&&o.push(rn({flatmapAPI:t,knowledgeSource:e,queryId:23,parameters:[{column:"path_id",value:a}]})),i.length>0&&o.push(rn({flatmapAPI:t,knowledgeSource:e,queryId:1,parameters:[{column:"feature_id",value:i}]}));const l=await Promise.all(o);let c=[...a];l.forEach(h=>{var p,g;const v=((g=(p=h==null?void 0:h.results)==null?void 0:p.values)==null?void 0:g.map(m=>m[1]))||[];c.push(...v)});const u=[...new Set(c)];let d=[];return u.length&&(d=await Cg(t,e,u)),[...new Set([...u,...d])]}async function GK(t,e,r){var a;const n=await rn({flatmapAPI:t,knowledgeSource:e,queryId:1,parameters:[{column:"feature_id",value:r}]});if((a=n==null?void 0:n.results)!=null&&a.values){const i=n.results.values.map(o=>o[1]);return[...new Set(i)]}return[]}async function UK(t,e,r){var a;const n=await rn({flatmapAPI:t,knowledgeSource:e,queryId:1,parameters:[{column:"feature_id",value:r}]});if((a=n==null?void 0:n.results)!=null&&a.values){const i=n.results.values.map(o=>o[1]);return[...new Set(i)]}return[]}async function jK(t,e,r){var a;const n=await rn({flatmapAPI:t,knowledgeSource:e,queryId:2,parameters:[{column:"feature_id",value:r}]});if((a=n==null?void 0:n.results)!=null&&a.values){const i=n.results.values.map(o=>o[1]);return[...new Set(i)]}return[]}function wg(t){const e=[];for(const r of t){const n=JSON.parse(r);Array.isArray(n)&&n.length>=2&&Array.isArray(n[1])&&n[1].length===0&&e.push(n[0])}return e}async function Cg(t,e,r){var a;const n=await rn({flatmapAPI:t,knowledgeSource:e,queryId:26,parameters:[{column:"path_id",value:r}]});if((a=n==null?void 0:n.results)!=null&&a.values){const i=n.results.values.map(o=>o[2]);return[...new Set(i)]}return[]}async function WK({flatmapAPI:t,knowledgeSource:e,origins:r,destinations:n,vias:a}){var w,C,x,k;const i=wg(r),o=wg(n),l=wg(a),c=[{column:"source_feature_id",value:i},{column:"via_feature_id",value:l},{column:"dest_feature_id",value:o}],u=[{column:"source_node_id",value:r},{column:"via_node_id",value:a},{column:"dest_node_id",value:n}],d=c.some(E=>Array.isArray(E.value)&&E.value.length>0),f=[rn({flatmapAPI:t,knowledgeSource:e,queryId:24,parameters:u})];d&&f.push(rn({flatmapAPI:t,knowledgeSource:e,queryId:25,parameters:c}));const h=await Promise.all(f);let v=[],p;if(d){const E=h[0];p=h[1],v=((C=(w=E==null?void 0:E.results)==null?void 0:w.values)==null?void 0:C.map(_=>_[1]))||[]}else p=h[0];const g=((k=(x=p==null?void 0:p.results)==null?void 0:x.values)==null?void 0:k.map(E=>E[1]))||[],m=[...new Set([...v,...g])];let y=[];return m.length&&(y=await Cg(t,e,m)),[...new Set([...m,...y])]}const Eg=[];async function YK(t,e){const r=e.filter(i=>Eg.some(o=>o.taxon===i)),n=Eg.filter(i=>r.includes(i.taxon)),a=e.filter(i=>!r.includes(i));if(a.length){const i=await t.queryLabels(a);if(i.length)return i.forEach(o=>{let{entity:l,label:c}=o;c==="Mammalia"&&(c="Mammalia not otherwise specified");const u={taxon:l,label:c};n.push(u),Eg.push(u)}),n}else return n}async function ZK(t,e,r){const n=`${t}knowledge/query/`,a={sql:e,params:r};try{const i=await fetch(n,{method:"POST",headers:{Accept:"application/json; charset=utf-8","Content-Type":"application/json"},body:JSON.stringify(a)});if(!i.ok)throw new Error(`Cannot access ${n}`);return await i.json()}catch{return{values:[]}}}async function k_(t,e){return e.length?await(await ZK(t,`select entity, knowledge from knowledge
469
469
  where entity in (?${", ?".repeat(e.length-1)})
470
- order by source desc`,[...e])).values:[]}function XK(t){var r;const e=(r=t["node-phenotypes"])==null?void 0:r["ilxtr:hasSomaLocatedIn"];return Array.isArray(t.connectivity)&&t.connectivity.length>0&&Array.isArray(e)&&e.length>0}function JK(t){var a,i;const e=(a=t["node-phenotypes"])==null?void 0:a["ilxtr:hasAxonPresynapticElementIn"],r=(i=t["node-phenotypes"])==null?void 0:i["ilxtr:hasAxonSensorySubcellularElementIn"],n=Array.isArray(e)&&e.length>0||Array.isArray(r)&&r.length>0;return Array.isArray(t.connectivity)&&t.connectivity.length>0&&n}function QK(t){var n,a,i;if(!Array.isArray(t.connectivity)||t.connectivity.length===0)return!1;const e=new Set((((n=t["node-phenotypes"])==null?void 0:n["ilxtr:hasSomaLocatedIn"])||[]).map(o=>o[0])),r=new Set([...(((a=t["node-phenotypes"])==null?void 0:a["ilxtr:hasAxonPresynapticElementIn"])||[]).map(o=>o[0]),...(((i=t["node-phenotypes"])==null?void 0:i["ilxtr:hasAxonSensorySubcellularElementIn"])||[]).map(o=>o[0])]);return t.connectivity.some(o=>{const[l,c]=o,u=l[0],d=c[0];return!e.has(u)&&!r.has(d)})}function xg(t){if(!Array.isArray(t.connectivity))return[];const e=new Set;return t.connectivity.forEach(r=>{Array.isArray(r)&&r.length&&r.forEach(n=>{if(Array.isArray(n)&&typeof n[0]=="string"){const a=JSON.stringify(n);e.add(a)}})}),Array.from(e)}function Lr(t,e){var n;const r=(n=t["node-phenotypes"])==null?void 0:n[e];return Array.isArray(r)?r:[]}async function kg(t,e,r){const n=Array.from(new Map(r.map(f=>[JSON.stringify(f),f])).values()),a=n.flat(1/0),i=[...new Set(a)],l=(await k_(t,i)).reduce((f,h)=>{const v=h[0],p=JSON.parse(h[1]);return f.push({id:v,label:p.label,source:p.source}),f},[]);l.sort((f,h)=>f.id===h.id?f.source===e&&h.source!==e?-1:f.source!==e&&h.source===e?1:0:f.id.localeCompare(h.id));const c=[];return[...n.map(f=>{const h=f.flat(),v=[];for(let p=0;p<h.length;p++){const g=l.find(m=>m.id===h[p]);g&&(v.push(g.label),p>0&&c.push({key:[h[p],[]],label:g.label}))}return{key:f,label:v.join(", ")}}),...c].filter((f,h,v)=>h===v.findIndex(p=>p.label===f.label))}async function S_(t,e,r){const n=[];return r.forEach(a=>{if(!Array.isArray(a.connectivity)||a.connectivity.length===0)return;const i=new Set(xg(a));Lr(a,"ilxtr:hasSomaLocatedIn").forEach(o=>{const l=JSON.stringify(o);i.has(l)&&n.push(o)})}),await kg(t,e,n)}async function __(t,e,r){const n=[];return r.forEach(a=>{if(!Array.isArray(a.connectivity)||a.connectivity.length===0)return;const i=new Set(xg(a));[...Lr(a,"ilxtr:hasAxonPresynapticElementIn"),...Lr(a,"ilxtr:hasAxonSensorySubcellularElementIn")].forEach(o=>{const l=JSON.stringify(o);i.has(l)&&n.push(o)})}),await kg(t,e,n)}async function T_(t,e,r){const n=[];return r.forEach(a=>{if(!Array.isArray(a.connectivity)||a.connectivity.length===0)return;const i=new Set(xg(a));[...Lr(a,"ilxtr:hasAxonLeadingToSensorySubcellularElementIn"),...Lr(a,"ilxtr:hasAxonLocatedIn")].forEach(o=>{const l=JSON.stringify(o);i.has(l)&&n.push(o)})}),await kg(t,e,n)}function N_(t,e){return t.filter(r=>!Array.isArray(r.connectivity)||r.connectivity.length===0?!1:Lr(r,"ilxtr:hasSomaLocatedIn").some(a=>e.map(i=>JSON.stringify(i)).includes(JSON.stringify(a))))}function I_(t,e){return t.filter(r=>!Array.isArray(r.connectivity)||r.connectivity.length===0?!1:[...Lr(r,"ilxtr:hasAxonPresynapticElementIn"),...Lr(r,"ilxtr:hasAxonSensorySubcellularElementIn")].some(a=>e.map(i=>JSON.stringify(i)).includes(JSON.stringify(a))))}function B_(t,e){return t.filter(r=>!Array.isArray(r.connectivity)||r.connectivity.length===0?!1:[...Lr(r,"ilxtr:hasAxonLeadingToSensorySubcellularElementIn"),...Lr(r,"ilxtr:hasAxonLocatedIn")].some(a=>e.map(i=>JSON.stringify(i)).includes(JSON.stringify(a))))}async function eG({knowledge:t,origins:e,destinations:r,vias:n}){let a=t;return e.length&&(a=N_(a,e)),r.length&&(a=I_(a,r)),n.length&&(a=B_(a,n)),a}async function tG(t,e,r,n){let a=[];const i=[];if(e){if(e&&typeof e.featureFilterRanges=="function"){const v=e.featureFilterRanges();for(const[p,g]of Object.entries(v)){let m={key:`flatmap.connectivity.${p}`,label:"",children:[]},y=[];if(p==="kind"){m.label="Pathways";for(const b of g){const w=n.find(C=>C.type===b);w&&y.push({key:`${m.key}.${b}`,label:w.label,colour:w.colour,colourStyle:"line",dashed:w.dashed})}}else if(p==="taxons"){m.label="Studied in";const b=await YK(e,e.taxonIdentifiers);if(b.length)for(const w of g){const C=b.find(x=>x.taxon===w);C&&y.push({key:`${m.key}.${w}`,label:`${C.label} `})}}else if(p==="alert"){m.label="Alert";for(const b of["with","without"])y.push({key:`${m.key}.${b}`,label:`${b} alerts`})}m.children=y.sort((b,w)=>b.label.localeCompare(w.label)),m.label&&m.children.length&&a.push(m)}}const o=e.pathways.paths,l=[];for(const v of r){const p=v.id;if(p){const g=o[p];if(g&&g.connectivity&&g["node-phenotypes"]){const m=g.connectivity,y=g["node-phenotypes"],b={};for(let w in v["node-phenotypes"])y[w]&&(b[w]=[...y[w]]);l.push({...v,connectivity:[...m],"node-phenotypes":b})}}}const c=e.knowledgeSource,u=await S_(t,c,l),d=await T_(t,c,l),f=await __(t,c,l),h=(v,p)=>{const g=JSON.stringify(p.key);return{key:`flatmap.connectivity.source.${v}.${g}`,label:p.label||g}};for(const v of["origin","via","destination","all"]){let p=[];if(v==="origin")p=u.map(g=>h(v,g));else if(v==="via")p=d.map(g=>h(v,g));else if(v==="destination")p=f.map(g=>h(v,g));else{const g=[...u.map(y=>h(v,y)),...d.map(y=>h(v,y)),...f.map(y=>h(v,y))],m=new Set;p=g.filter(y=>m.has(y.key)?!1:(m.add(y.key),!0))}p=p.sort((g,m)=>{const y=C=>/^[a-zA-Z]/.test(C),b=y(g.label),w=y(m.label);return b&&!w?-1:!b&&w?1:g.label.localeCompare(m.label)}),p.length&&i.push({key:`flatmap.connectivity.source.${v}`,label:v,children:p})}i.length&&a.push(...i)}return a}Te.AnnotationPopup=g0,Te.ConnectivityGraph=$9,Te.ConnectivityList=hg,Te.CopyToClipboard=us,Te.CreateTooltipContent=gM,Te.DrawToolbar=AH,Te.ExternalResourceCard=bg,Te.HelpModeDialog=VH,Te.Tooltip=DK,Te.TreeControls=zK,Te.competencyQuery=rn,Te.extractDestinationItems=__,Te.extractOriginItems=S_,Te.extractViaItems=T_,Te.fetchLabels=k_,Te.filterDestinations=JK,Te.filterOrigins=XK,Te.filterViaLocations=QK,Te.findPathsByDestinationItem=I_,Te.findPathsByOriginItem=N_,Te.findPathsByViaItem=B_,Te.getFlatmapFilterOptions=tG,Te.queryAllConnectedPaths=KK,Te.queryForwardBackwardConnections=Cg,Te.queryPathsByDestination=jK,Te.queryPathsByOrigin=GK,Te.queryPathsByRoute=WK,Te.queryPathsByRouteFromKnowledge=eG,Te.queryPathsByViaLocation=UK,Object.defineProperty(Te,Symbol.toStringTag,{value:"Module"})});
470
+ order by source desc`,[...e])).values:[]}function XK(t){var r;const e=(r=t["node-phenotypes"])==null?void 0:r["ilxtr:hasSomaLocatedIn"];return Array.isArray(t.connectivity)&&t.connectivity.length>0&&Array.isArray(e)&&e.length>0}function JK(t){var a,i;const e=(a=t["node-phenotypes"])==null?void 0:a["ilxtr:hasAxonPresynapticElementIn"],r=(i=t["node-phenotypes"])==null?void 0:i["ilxtr:hasAxonSensorySubcellularElementIn"],n=Array.isArray(e)&&e.length>0||Array.isArray(r)&&r.length>0;return Array.isArray(t.connectivity)&&t.connectivity.length>0&&n}function QK(t){var n,a,i;if(!Array.isArray(t.connectivity)||t.connectivity.length===0)return!1;const e=new Set((((n=t["node-phenotypes"])==null?void 0:n["ilxtr:hasSomaLocatedIn"])||[]).map(o=>o[0])),r=new Set([...(((a=t["node-phenotypes"])==null?void 0:a["ilxtr:hasAxonPresynapticElementIn"])||[]).map(o=>o[0]),...(((i=t["node-phenotypes"])==null?void 0:i["ilxtr:hasAxonSensorySubcellularElementIn"])||[]).map(o=>o[0])]);return t.connectivity.some(o=>{const[l,c]=o,u=l[0],d=c[0];return!e.has(u)&&!r.has(d)})}function xg(t){if(!Array.isArray(t.connectivity))return[];const e=new Set;return t.connectivity.forEach(r=>{Array.isArray(r)&&r.length&&r.forEach(n=>{if(Array.isArray(n)&&typeof n[0]=="string"){const a=JSON.stringify(n);e.add(a)}})}),Array.from(e)}function Lr(t,e){var n;const r=(n=t["node-phenotypes"])==null?void 0:n[e];return Array.isArray(r)?r:[]}async function kg(t,e,r){const n=Array.from(new Map(r.map(f=>[JSON.stringify(f),f])).values()),a=n.flat(1/0),i=[...new Set(a)],l=(await k_(t,i)).reduce((f,h)=>{const v=h[0],p=JSON.parse(h[1]);return f.push({id:v,label:p.label,source:p.source}),f},[]);l.sort((f,h)=>f.id===h.id?f.source===e&&h.source!==e?-1:f.source!==e&&h.source===e?1:0:f.id.localeCompare(h.id));const c=[];return[...n.map(f=>{const h=f.flat(),v=[];for(let p=0;p<h.length;p++){const g=l.find(m=>m.id===h[p]);g&&(v.push(g.label),p>0&&c.push({key:[h[p],[]],label:g.label}))}return{key:f,label:v.join(", ")}}),...c].filter((f,h,v)=>h===v.findIndex(p=>p.label===f.label))}async function S_(t,e,r){const n=[];return r.forEach(a=>{if(!Array.isArray(a.connectivity)||a.connectivity.length===0)return;const i=new Set(xg(a));Lr(a,"ilxtr:hasSomaLocatedIn").forEach(o=>{const l=JSON.stringify(o);i.has(l)&&n.push(o)})}),await kg(t,e,n)}async function __(t,e,r){const n=[];return r.forEach(a=>{if(!Array.isArray(a.connectivity)||a.connectivity.length===0)return;const i=new Set(xg(a));[...Lr(a,"ilxtr:hasAxonPresynapticElementIn"),...Lr(a,"ilxtr:hasAxonSensorySubcellularElementIn")].forEach(o=>{const l=JSON.stringify(o);i.has(l)&&n.push(o)})}),await kg(t,e,n)}async function T_(t,e,r){const n=[];return r.forEach(a=>{if(!Array.isArray(a.connectivity)||a.connectivity.length===0)return;const i=new Set(xg(a));[...Lr(a,"ilxtr:hasAxonLeadingToSensorySubcellularElementIn"),...Lr(a,"ilxtr:hasAxonLocatedIn")].forEach(o=>{const l=JSON.stringify(o);i.has(l)&&n.push(o)})}),await kg(t,e,n)}function N_(t,e){return t.filter(r=>!Array.isArray(r.connectivity)||r.connectivity.length===0?!1:Lr(r,"ilxtr:hasSomaLocatedIn").some(a=>e.map(i=>JSON.stringify(i)).includes(JSON.stringify(a))))}function I_(t,e){return t.filter(r=>!Array.isArray(r.connectivity)||r.connectivity.length===0?!1:[...Lr(r,"ilxtr:hasAxonPresynapticElementIn"),...Lr(r,"ilxtr:hasAxonSensorySubcellularElementIn")].some(a=>e.map(i=>JSON.stringify(i)).includes(JSON.stringify(a))))}function B_(t,e){return t.filter(r=>!Array.isArray(r.connectivity)||r.connectivity.length===0?!1:[...Lr(r,"ilxtr:hasAxonLeadingToSensorySubcellularElementIn"),...Lr(r,"ilxtr:hasAxonLocatedIn")].some(a=>e.map(i=>JSON.stringify(i)).includes(JSON.stringify(a))))}async function eG({knowledge:t,origins:e,destinations:r,vias:n}){let a=t;return e.length&&(a=N_(a,e)),r.length&&(a=I_(a,r)),n.length&&(a=B_(a,n)),a}async function tG(t,e,r,n){let a=[];const i=[];if(e){if(e&&typeof e.featureFilterRanges=="function"){const v=e.featureFilterRanges();for(const[p,g]of Object.entries(v)){let m={key:`flatmap.connectivity.${p}`,label:"",children:[]},y=[];if(p==="kind"){m.label="Pathways";for(const b of g){const w=n.find(C=>C.type===b);w&&y.push({key:`${m.key}.${b}`,label:w.label,colour:w.colour,colourStyle:"line",dashed:w.dashed})}}else if(p==="taxons"){m.label="Studied in";const b=await YK(e,e.taxonIdentifiers);if(b.length)for(const w of g){const C=b.find(x=>x.taxon===w);C&&y.push({key:`${m.key}.${w}`,label:`${C.label} `})}}else if(p==="alert"){m.label="Alert";for(const b of["with","without"])y.push({key:`${m.key}.${b}`,label:`${b} alerts`})}m.children=y.sort((b,w)=>b.label.localeCompare(w.label)),m.label&&m.children.length&&a.push(m)}}const o=e.pathways.paths,l=[];for(const v of r){const p=v.id;if(p){const g=o[p];if(g&&g.connectivity&&g["node-phenotypes"]){const m=g.connectivity,y=g["node-phenotypes"],b={};for(let w in v["node-phenotypes"])y[w]&&(b[w]=[...y[w]]);l.push({...v,connectivity:[...m],"node-phenotypes":b})}}}const c=e.knowledgeSource,u=await S_(t,c,l),d=await T_(t,c,l),f=await __(t,c,l),h=(v,p)=>{const g=JSON.stringify(p.key);return{key:`flatmap.connectivity.source.${v}.${g}`,label:p.label||g}};for(const v of["origin","via","destination","all"]){let p=[];if(v==="origin")p=u.map(g=>h(v,g));else if(v==="via")p=d.map(g=>h(v,g));else if(v==="destination")p=f.map(g=>h(v,g));else{const g=[...u.map(y=>h(v,y)),...d.map(y=>h(v,y)),...f.map(y=>h(v,y))],m=new Set;p=g.filter(y=>m.has(y.key)?!1:(m.add(y.key),!0))}p=p.sort((g,m)=>{const y=C=>/^[a-zA-Z]/.test(C),b=y(g.label),w=y(m.label);return b&&!w?-1:!b&&w?1:g.label.localeCompare(m.label)}),p.length&&i.push({key:`flatmap.connectivity.source.${v}`,label:v,children:p})}i.length&&a.push(...i)}return a}Te.AnnotationPopup=g0,Te.ConnectivityGraph=$6,Te.ConnectivityList=hg,Te.CopyToClipboard=us,Te.CreateTooltipContent=gM,Te.DrawToolbar=AH,Te.ExternalResourceCard=bg,Te.HelpModeDialog=VH,Te.Tooltip=DK,Te.TreeControls=zK,Te.competencyQuery=rn,Te.extractDestinationItems=__,Te.extractOriginItems=S_,Te.extractViaItems=T_,Te.fetchLabels=k_,Te.filterDestinations=JK,Te.filterOrigins=XK,Te.filterViaLocations=QK,Te.findPathsByDestinationItem=I_,Te.findPathsByOriginItem=N_,Te.findPathsByViaItem=B_,Te.getFlatmapFilterOptions=tG,Te.queryAllConnectedPaths=KK,Te.queryForwardBackwardConnections=Cg,Te.queryPathsByDestination=jK,Te.queryPathsByOrigin=GK,Te.queryPathsByRoute=WK,Te.queryPathsByRouteFromKnowledge=eG,Te.queryPathsByViaLocation=UK,Object.defineProperty(Te,Symbol.toStringTag,{value:"Module"})});