Files
build_notes_simengweb/assets/chunk-7SRKK4IT-Rwt-CZEY.js

339 lines
458 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import{m as l}from"./mermaid.esm.min-C3PPQ_C2.js";function Ia(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}l(Ia,"_arrayLikeToArray");function Dc(e){if(Array.isArray(e))return e}l(Dc,"_arrayWithHoles");function kc(e){if(Array.isArray(e))return Ia(e)}l(kc,"_arrayWithoutHoles");function Zt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}l(Zt,"_classCallCheck");function _c(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,ys(r.key),r)}}l(_c,"_defineProperties");function $t(e,t,n){return t&&_c(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}l($t,"_createClass");function xt(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=Ga(e))||t){n&&(e=n);var r=0,a=l(function(){},"F");return{s:a,n:l(function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},"n"),e:l(function(u){throw u},"e"),f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i,o=!0,c=!1;return{s:l(function(){n=n.call(e)},"s"),n:l(function(){var u=n.next();return o=u.done,u},"n"),e:l(function(u){c=!0,i=u},"e"),f:l(function(){try{o||n.return==null||n.return()}finally{if(c)throw i}},"f")}}l(xt,"_createForOfIteratorHelper");function vs(e,t,n){return(t=ys(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}l(vs,"_defineProperty$1");function Bc(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}l(Bc,"_iterableToArray");function Ac(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,a,i,o,c=[],u=!0,s=!1;try{if(i=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);u=!0);}catch(d){s=!0,a=d}finally{try{if(!u&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw a}}return c}}l(Ac,"_iterableToArrayLimit");function Mc(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}l(Mc,"_nonIterableRest");function Ic(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}l(Ic,"_nonIterableSpread");function Ue(e,t){return Dc(e)||Ac(e,t)||Ga(e,t)||Mc()}l(Ue,"_slicedToArray");function Dr(e){return kc(e)||Bc(e)||Ga(e)||Ic()}l(Dr,"_toConsumableArray");function Rc(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}l(Rc,"_toPrimitive");function ys(e){var t=Rc(e,"string");return typeof t=="symbol"?t:t+""}l(ys,"_toPropertyKey");function et(e){"@babel/helpers - typeof";return et=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},et(e)}l(et,"_typeof");function Ga(e,t){if(e){if(typeof e=="string")return Ia(e,t);var n={}.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ia(e,t):void 0}}l(Ga,"_unsupportedIterableToArray");var tt=typeof window>"u"?null:window,dl=tt?tt.navigator:null;tt&&tt.document;var Kf=et(""),Nc=et({}),Gf=et(function(){}),Uf=typeof HTMLElement>"u"?"undefined":et(HTMLElement),zr=l(function(e){return e&&e.instanceString&&He(e.instanceString)?e.instanceString():null},"instanceStr"),pe=l(function(e){return e!=null&&et(e)==Kf},"string"),He=l(function(e){return e!=null&&et(e)===Gf},"fn"),Ve=l(function(e){return!Dt(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},"array"),Be=l(function(e){return e!=null&&et(e)===Nc&&!Ve(e)&&e.constructor===Object},"plainObject"),Zf=l(function(e){return e!=null&&et(e)===Nc},"object"),re=l(function(e){return e!=null&&et(e)===et(1)&&!isNaN(e)},"number"),$f=l(function(e){return re(e)&&Math.floor(e)===e},"integer"),Ra=l(function(e){if(Uf!=="undefined")return e!=null&&e instanceof HTMLElement},"htmlElement"),Dt=l(function(e){return Fr(e)||Lc(e)},"elementOrCollection"),Fr=l(function(e){return zr(e)==="collection"&&e._private.single},"element"),Lc=l(function(e){return zr(e)==="collection"&&!e._private.single},"collection"),ms=l(function(e){return zr(e)==="core"},"core"),Oc=l(function(e){return zr(e)==="stylesheet"},"stylesheet"),Jf=l(function(e){return zr(e)==="event"},"event"),dn=l(function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},"emptyString"),Qf=l(function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},"domElement"),ep=l(function(e){return Be(e)&&re(e.x1)&&re(e.x2)&&re(e.y1)&&re(e.y2)},"boundingBox"),tp=l(function(e){return Zf(e)&&He(e.then)},"promise"),np=l(function(){return dl&&dl.userAgent.match(/msie|trident|edge/i)},"ms"),er=l(function(e,t){t||(t=l(function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var r=[],a=0;a<arguments.length;a++)r.push(arguments[a]);return r.join("$")},"keyFn"));var n=l(function(){var r=this,a=arguments,i,o=t.apply(r,a),c=n.cache;return(i=c[o])||(i=c[o]=e.apply(r,a)),i},"memoizedFn");return n.cache={},n},"memoize"),bs=er(function(e){return e.replace(/([A-Z])/g,function(t){return"-"+t.toLowerCase()})}),Ua=er(function(e){return e.replace(/(-\w)/g,function(t){return t[1].toUpperCase()})}),zc=er(function(e,t){return e+t[0].toUpperCase()+t.substring(1)},function(e,t){return e+"$"+t}),hl=l(function(e){return dn(e)?e:e.charAt(0).toUpperCase()+e.substring(1)},"capitalize"),on=l(function(e,t){return e.slice(-1*t.length)===t},"endsWith"),nt="(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))",rp="rgb[a]?\\(("+nt+"[%]?)\\s*,\\s*("+nt+"[%]?)\\s*,\\s*("+nt+"[%]?)(?:\\s*,\\s*("+nt+"))?\\)",ap="rgb[a]?\\((?:"+nt+"[%]?)\\s*,\\s*(?:"+nt+"[%]?)\\s*,\\s*(?:"+nt+"[%]?)(?:\\s*,\\s*(?:"+nt+"))?\\)",ip="hsl[a]?\\(("+nt+")\\s*,\\s*("+nt+"[%])\\s*,\\s*("+nt+"[%])(?:\\s*,\\s*("+nt+"))?\\)",op="hsl[a]?\\((?:"+nt+")\\s*,\\s*(?:"+nt+"[%])\\s*,\\s*(?:"+nt+"[%])(?:\\s*,\\s*(?:"+nt+"))?\\)",sp="\\#[0-9a-fA-F]{3}",lp="\\#[0-9a-fA-F]{6}",Fc=l(function(e,t){return e<t?-1:e>t?1:0},"ascending"),up=l(function(e,t){return-1*Fc(e,t)},"descending"),ve=Object.assign!=null?Object.assign.bind(Object):function(e){for(var t=arguments,n=1;n<t.length;n++){var r=t[n];if(r!=null)for(var a=Object.keys(r),i=0;i<a.length;i++){var o=a[i];e[o]=r[o]}}return e},cp=l(function(e){if(!(!(e.length===4||e.length===7)||e[0]!=="#")){var t=e.length===4,n,r,a,i=16;return t?(n=parseInt(e[1]+e[1],i),r=parseInt(e[2]+e[2],i),a=parseInt(e[3]+e[3],i)):(n=parseInt(e[1]+e[2],i),r=parseInt(e[3]+e[4],i),a=parseInt(e[5]+e[6],i)),[n,r,a]}},"hex2tuple"),dp=l(function(e){var t,n,r,a,i,o,c,u;function s(p,g,y){return y<0&&(y+=1),y>1&&(y-=1),y<1/6?p+(g-p)*6*y:y<1/2?g:y<2/3?p+(g-p)*(2/3-y)*6:p}l(s,"hue2rgb");var d=new RegExp("^"+ip+"$").exec(e);if(d){if(n=parseInt(d[1]),n<0?n=(360- -1*n%360)%360:n>360&&(n=n%360),n/=360,r=parseFloat(d[2]),r<0||r>100||(r=r/100,a=parseFloat(d[3]),a<0||a>100)||(a=a/100,i=d[4],i!==void 0&&(i=parseFloat(i),i<0||i>1)))return;if(r===0)o=c=u=Math.round(a*255);else{var h=a<.5?a*(1+r):a+r-a*r,f=2*a-h;o=Math.round(255*s(f,h,n+1/3)),c=Math.round(255*s(f,h,n)),u=Math.round(255*s(f,h,n-1/3))}t=[o,c,u,i]}return t},"hsl2tuple"),hp=l(function(e){var t,n=new RegExp("^"+rp+"$").exec(e);if(n){t=[];for(var r=[],a=1;a<=3;a++){var i=n[a];if(i[i.length-1]==="%"&&(r[a]=!0),i=parseFloat(i),r[a]&&(i=i/100*255),i<0||i>255)return;t.push(Math.floor(i))}var o=r[1]||r[2]||r[3],c=r[1]&&r[2]&&r[3];if(o&&!c)return;var u=n[4];if(u!==void 0){if(u=parseFloat(u),u<0||u>1)return;t.push(u)}}return t},"rgb2tuple"),fp=l(function(e){return pp[e.toLowerCase()]},"colorname2tuple"),Vc=l(function(e){return(Ve(e)?e:null)||fp(e)||cp(e)||hp(e)||dp(e)},"color2tuple"),pp={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]},qc=l(function(e){for(var t=e.map,n=e.keys,r=n.length,a=0;a<r;a++){var i=n[a];if(Be(i))throw Error("Tried to set map with object key");a<n.length-1?(t[i]==null&&(t[i]={}),t=t[i]):t[i]=e.value}},"setMap"),jc=l(function(e){for(var t=e.map,n=e.keys,r=n.length,a=0;a<r;a++){var i=n[a];if(Be(i))throw Error("Tried to get map with object key");if(t=t[i],t==null)return t}return t},"getMap"),sa=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ar(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}l(ar,"getDefaultExportFromCjs");var fi,fl;function ir(){if(fl)return fi;fl=1;function e(t){var n=typeof t;return t!=null&&(n=="object"||n=="function")}return l(e,"isObject"),fi=e,fi}l(ir,"requireIsObject");var pi,pl;function Xc(){if(pl)return pi;pl=1;var e=typeof sa=="object"&&sa&&sa.Object===Object&&sa;return pi=e,pi}l(Xc,"require_freeGlobal");var gi,gl;function Vr(){if(gl)return gi;gl=1;var e=Xc(),t=typeof self=="object"&&self&&self.Object===Object&&self,n=e||t||Function("return this")();return gi=n,gi}l(Vr,"require_root");var vi,vl;function Yc(){if(vl)return vi;vl=1;var e=Vr(),t=l(function(){return e.Date.now()},"now");return vi=t,vi}l(Yc,"requireNow");var yi,yl;function Wc(){if(yl)return yi;yl=1;var e=/\s/;function t(n){for(var r=n.length;r--&&e.test(n.charAt(r)););return r}return l(t,"trimmedEndIndex"),yi=t,yi}l(Wc,"require_trimmedEndIndex");var mi,ml;function Hc(){if(ml)return mi;ml=1;var e=Wc(),t=/^\s+/;function n(r){return r&&r.slice(0,e(r)+1).replace(t,"")}return l(n,"baseTrim"),mi=n,mi}l(Hc,"require_baseTrim");var bi,bl;function Za(){if(bl)return bi;bl=1;var e=Vr(),t=e.Symbol;return bi=t,bi}l(Za,"require_Symbol");var xi,xl;function Kc(){if(xl)return xi;xl=1;var e=Za(),t=Object.prototype,n=t.hasOwnProperty,r=t.toString,a=e?e.toStringTag:void 0;function i(o){var c=n.call(o,a),u=o[a];try{o[a]=void 0;var s=!0}catch{}var d=r.call(o);return s&&(c?o[a]=u:delete o[a]),d}return l(i,"getRawTag"),xi=i,xi}l(Kc,"require_getRawTag");var wi,wl;function Gc(){if(wl)return wi;wl=1;var e=Object.prototype,t=e.toString;function n(r){return t.call(r)}return l(n,"objectToString"),wi=n,wi}l(Gc,"require_objectToString");var Ei,El;function xs(){if(El)return Ei;El=1;var e=Za(),t=Kc(),n=Gc(),r="[object Null]",a="[object Undefined]",i=e?e.toStringTag:void 0;function o(c){return c==null?c===void 0?a:r:i&&i in Object(c)?t(c):n(c)}return l(o,"baseGetTag"),Ei=o,Ei}l(xs,"require_baseGetTag");var Ci,Cl;function Uc(){if(Cl)return Ci;Cl=1;function e(t){return t!=null&&typeof t=="object"}return l(e,"isObjectLike"),Ci=e,Ci}l(Uc,"requireIsObjectLike");var Ti,Tl;function or(){if(Tl)return Ti;Tl=1;var e=xs(),t=Uc(),n="[object Symbol]";function r(a){return typeof a=="symbol"||t(a)&&e(a)==n}return l(r,"isSymbol"),Ti=r,Ti}l(or,"requireIsSymbol");var Si,Sl;function Zc(){if(Sl)return Si;Sl=1;var e=Hc(),t=ir(),n=or(),r=NaN,a=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,o=/^0o[0-7]+$/i,c=parseInt;function u(s){if(typeof s=="number")return s;if(n(s))return r;if(t(s)){var d=typeof s.valueOf=="function"?s.valueOf():s;s=t(d)?d+"":d}if(typeof s!="string")return s===0?s:+s;s=e(s);var h=i.test(s);return h||o.test(s)?c(s.slice(2),h?2:8):a.test(s)?r:+s}return l(u,"toNumber"),Si=u,Si}l(Zc,"requireToNumber");var Pi,Pl;function $c(){if(Pl)return Pi;Pl=1;var e=ir(),t=Yc(),n=Zc(),r="Expected a function",a=Math.max,i=Math.min;function o(c,u,s){var d,h,f,p,g,y,b=0,v=!1,m=!1,x=!0;if(typeof c!="function")throw new TypeError(r);u=n(u)||0,e(s)&&(v=!!s.leading,m="maxWait"in s,f=m?a(n(s.maxWait)||0,u):f,x="trailing"in s?!!s.trailing:x);function w(M){var A=d,O=h;return d=h=void 0,b=M,p=c.apply(O,A),p}l(w,"invokeFunc");function T(M){return b=M,g=setTimeout(k,u),v?w(M):p}l(T,"leadingEdge");function P(M){var A=M-y,O=M-b,R=u-A;return m?i(R,f-O):R}l(P,"remainingWait");function E(M){var A=M-y,O=M-b;return y===void 0||A>=u||A<0||m&&O>=f}l(E,"shouldInvoke");function k(){var M=t();if(E(M))return _(M);g=setTimeout(k,P(M))}l(k,"timerExpired");function _(M){return g=void 0,x&&d?w(M):(d=h=void 0,p)}l(_,"trailingEdge");function B(){g!==void 0&&clearTimeout(g),b=0,d=y=h=g=void 0}l(B,"cancel");function D(){return g===void 0?p:_(t())}l(D,"flush");function S(){var M=t(),A=E(M);if(d=arguments,h=this,y=M,A){if(g===void 0)return T(y);if(m)return clearTimeout(g),g=setTimeout(k,u),w(y)}return g===void 0&&(g=setTimeout(k,u)),p}return l(S,"debounced"),S.cancel=B,S.flush=D,S}return l(o,"debounce"),Pi=o,Pi}l($c,"requireDebounce");var gp=$c(),qr=ar(gp),Di=tt?tt.performance:null,Jc=Di&&Di.now?function(){return Di.now()}:function(){return Date.now()},vp=(function(){if(tt){if(tt.requestAnimationFrame)return function(e){tt.requestAnimationFrame(e)};if(tt.mozRequestAnimationFrame)return function(e){tt.mozRequestAnimationFrame(e)};if(tt.webkitRequestAnimationFrame)return function(e){tt.webkitRequestAnimationFrame(e)};if(tt.msRequestAnimationFrame)return function(e){tt.msRequestAnimationFrame(e)}}return function(e){e&&setTimeout(function(){e(Jc())},1e3/60)}})(),Na=l(function(e){return vp(e)},"requestAnimationFrame"),Gt=Jc,kn=9261,Qc=65599,Yn=5381,ed=l(function(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:kn,n=t,r;r=e.next(),!r.done;)n=n*Qc+r.value|0;return n},"hashIterableInts"),kr=l(function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:kn;return t*Qc+e|0},"hashInt"),_r=l(function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Yn;return(t<<5)+t+e|0},"hashIntAlt"),yp=l(function(e,t){return e*2097152+t},"combineHashes"),tn=l(function(e){return e[0]*2097152+e[1]},"combineHashesArray"),la=l(function(e,t){return[kr(e[0],t[0]),_r(e[1],t[1])]},"hashArrays"),Dl=l(function(e,t){var n={value:0,done:!1},r=0,a=e.length,i={next:l(function(){return r<a?n.value=e[r++]:n.done=!0,n},"next")};return ed(i,t)},"hashIntsArray"),An=l(function(e,t){var n={value:0,done:!1},r=0,a=e.length,i={next:l(function(){return r<a?n.value=e.charCodeAt(r++):n.done=!0,n},"next")};return ed(i,t)},"hashString"),td=l(function(){return mp(arguments)},"hashStrings"),mp=l(function(e){for(var t,n=0;n<e.length;n++){var r=e[n];n===0?t=An(r):t=An(r,t)}return t},"hashStringsArray");function nd(e,t,n,r,a){var i=a*Math.PI/180,o=Math.cos(i)*(e-n)-Math.sin(i)*(t-r)+n,c=Math.sin(i)*(e-n)+Math.cos(i)*(t-r)+r;return{x:o,y:c}}l(nd,"rotatePoint");var bp=l(function(e,t,n,r,a,i){return{x:(e-n)*a+n,y:(t-r)*i+r}},"movePointByBoxAspect");function rd(e,t,n){if(n===0)return e;var r=(t.x1+t.x2)/2,a=(t.y1+t.y2)/2,i=t.w/t.h,o=1/i,c=nd(e.x,e.y,r,a,n),u=bp(c.x,c.y,r,a,i,o);return{x:u.x,y:u.y}}l(rd,"rotatePosAndSkewByBox");var kl=!0,xp=console.warn!=null,wp=console.trace!=null,ws=Number.MAX_SAFE_INTEGER||9007199254740991,ad=l(function(){return!0},"trueify"),La=l(function(){return!1},"falsify"),_l=l(function(){return 0},"zeroify"),Es=l(function(){},"noop"),We=l(function(e){throw new Error(e)},"error"),id=l(function(e){if(e!==void 0)kl=!!e;else return kl},"warnings"),Oe=l(function(e){id()&&(xp?console.warn(e):(console.log(e),wp&&console.trace()))},"warn"),Ep=l(function(e){return ve({},e)},"clone"),qt=l(function(e){return e==null?e:Ve(e)?e.slice():Be(e)?Ep(e):e},"copy"),Cp=l(function(e){return e.slice()},"copyArray"),od=l(function(e,t){for(t=e="";e++<36;t+=e*51&52?(e^15?8^Math.random()*(e^20?16:4):4).toString(16):"-");return t},"uuid"),Tp={},sd=l(function(){return Tp},"staticEmptyObject"),dt=l(function(e){var t=Object.keys(e);return function(n){for(var r={},a=0;a<t.length;a++){var i=t[a],o=n?.[i];r[i]=o===void 0?e[i]:o}return r}},"defaults"),hn=l(function(e,t,n){for(var r=e.length-1;r>=0;r--)e[r]===t&&e.splice(r,1)},"removeFromArray"),Cs=l(function(e){e.splice(0,e.length)},"clearArray"),Sp=l(function(e,t){for(var n=0;n<t.length;n++){var r=t[n];e.push(r)}},"push"),St=l(function(e,t,n){return n&&(t=zc(n,t)),e[t]},"getPrefixedProperty"),Ht=l(function(e,t,n,r){n&&(t=zc(n,t)),e[t]=r},"setPrefixedProperty"),Pp=(function(){function e(){Zt(this,e),this._obj={}}return l(e,"ObjectMap"),$t(e,[{key:"set",value:l(function(t,n){return this._obj[t]=n,this},"set")},{key:"delete",value:l(function(t){return this._obj[t]=void 0,this},"_delete")},{key:"clear",value:l(function(){this._obj={}},"clear")},{key:"has",value:l(function(t){return this._obj[t]!==void 0},"has")},{key:"get",value:l(function(t){return this._obj[t]},"get")}])})(),Kt=typeof Map<"u"?Map:Pp,Dp="undefined",kp=(function(){function e(t){if(Zt(this,e),this._obj=Object.create(null),this.size=0,t!=null){var n;t.instanceString!=null&&t.instanceString()===this.instanceString()?n=t.toArray():n=t;for(var r=0;r<n.length;r++)this.add(n[r])}}return l(e,"ObjectSet"),$t(e,[{key:"instanceString",value:l(function(){return"set"},"instanceString")},{key:"add",value:l(function(t){var n=this._obj;n[t]!==1&&(n[t]=1,this.size++)},"add")},{key:"delete",value:l(function(t){var n=this._obj;n[t]===1&&(n[t]=0,this.size--)},"_delete")},{key:"clear",value:l(function(){this._obj=Object.create(null)},"clear")},{key:"has",value:l(function(t){return this._obj[t]===1},"has")},{key:"toArray",value:l(function(){var t=this;return Object.keys(this._obj).filter(function(n){return t.has(n)})},"toArray")},{key:"forEach",value:l(function(t,n){return this.toArray().forEach(t,n)},"forEach")}])})(),sr=(typeof Set>"u"?"undefined":et(Set))!==Dp?Set:kp,$a=l(function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||t===void 0||!ms(e)){We("An element must have a core reference and parameters set");return}var r=t.group;if(r==null&&(t.data&&t.data.source!=null&&t.data.target!=null?r="edges":r="nodes"),r!=="nodes"&&r!=="edges"){We("An element must be of type `nodes` or `edges`; you specified `"+r+"`");return}this.length=1,this[0]=this;var a=this._private={cy:e,single:!0,data:t.data||{},position:t.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:r,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!t.selected,selectable:t.selectable===void 0?!0:!!t.selectable,locked:!!t.locked,grabbed:!1,grabbable:t.grabbable===void 0?!0:!!t.grabbable,pannable:t.pannable===void 0?r==="edges":!!t.pannable,active:!1,classes:new sr,animation:{current:[],queue:[]},rscratch:{},scratch:t.scratch||{},edges:[],children:[],parent:t.parent&&t.parent.isNode()?t.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(a.position.x==null&&(a.position.x=0),a.position.y==null&&(a.position.y=0),t.renderedPosition){var i=t.renderedPosition,o=e.pan(),c=e.zoom();a.position={x:(i.x-o.x)/c,y:(i.y-o.y)/c}}var u=[];Ve(t.classes)?u=t.classes:pe(t.classes)&&(u=t.classes.split(/\s+/));for(var s=0,d=u.length;s<d;s++){var h=u[s];!h||h===""||a.classes.add(h)}this.createEmitter(),(n===void 0||n)&&this.restore();var f=t.style||t.css;f&&(Oe("Setting a `style` bypass at element creation should be done only when absolutely necessary. Try to use the stylesheet instead."),this.style(f))},"Element"),Bl=l(function(e){return e={bfs:e.bfs||!e.dfs,dfs:e.dfs||!e.bfs},l(function(t,n,r){var a;Be(t)&&!Dt(t)&&(a=t,t=a.roots||a.root,n=a.visit,r=a.directed),r=arguments.length===2&&!He(n)?n:r,n=He(n)?n:function(){};for(var i=this._private.cy,o=t=pe(t)?this.filter(t):t,c=[],u=[],s={},d={},h={},f=0,p,g=this.byGroup(),y=g.nodes,b=g.edges,v=0;v<o.length;v++){var m=o[v],x=m.id();m.isNode()&&(c.unshift(m),e.bfs&&(h[x]=!0,u.push(m)),d[x]=0)}for(var w=l(function(){var B=e.bfs?c.shift():c.pop(),D=B.id();if(e.dfs){if(h[D])return 0;h[D]=!0,u.push(B)}var S=d[D],M=s[D],A=M!=null?M.source():null,O=M!=null?M.target():null,R=M==null?void 0:B.same(A)?O[0]:A[0],I;if(I=n(B,M,R,f++,S),I===!0)return p=B,1;if(I===!1)return 1;for(var L=B.connectedEdges().filter(function(K){return(!r||K.source().same(B))&&b.has(K)}),N=0;N<L.length;N++){var Y=L[N],q=Y.connectedNodes().filter(function(K){return!K.same(B)&&y.has(K)}),X=q.id();q.length!==0&&!h[X]&&(q=q[0],c.push(q),e.bfs&&(h[X]=!0,u.push(q)),s[X]=Y,d[X]=d[D]+1)}},"_loop"),T;c.length!==0&&(T=w(),!(T!==0&&T===1)););for(var P=i.collection(),E=0;E<u.length;E++){var k=u[E],_=s[k.id()];_!=null&&P.push(_),P.push(k)}return{path:i.collection(P),found:i.collection(p)}},"searchFn")},"defineSearch"),Br={breadthFirstSearch:Bl({bfs:!0}),depthFirstSearch:Bl({dfs:!0})};Br.bfs=Br.breadthFirstSearch;Br.dfs=Br.depthFirstSearch;var zo={exports:{}},_p=zo.exports,Al;function ld(){return Al||(Al=1,(function(e,t){(function(){var n,r,a,i,o,c,u,s,d,h,f,p,g,y,b;a=Math.floor,h=Math.min,r=l(function(v,m){return v<m?-1:v>m?1:0},"defaultCmp"),d=l(function(v,m,x,w,T){var P;if(x==null&&(x=0),T==null&&(T=r),x<0)throw new Error("lo must be non-negative");for(w==null&&(w=v.length);x<w;)P=a((x+w)/2),T(m,v[P])<0?w=P:x=P+1;return[].splice.apply(v,[x,x-x].concat(m)),m},"insort"),c=l(function(v,m,x){return x==null&&(x=r),v.push(m),y(v,0,v.length-1,x)},"heappush"),o=l(function(v,m){var x,w;return m==null&&(m=r),x=v.pop(),v.length?(w=v[0],v[0]=x,b(v,0,m)):w=x,w},"heappop"),s=l(function(v,m,x){var w;return x==null&&(x=r),w=v[0],v[0]=m,b(v,0,x),w},"heapreplace"),u=l(function(v,m,x){var w;return x==null&&(x=r),v.length&&x(v[0],m)<0&&(w=[v[0],m],m=w[0],v[0]=w[1],b(v,0,x)),m},"heappushpop"),i=l(function(v,m){var x,w,T,P,E,k;for(m==null&&(m=r),P=(function(){k=[];for(var _=0,B=a(v.length/2);0<=B?_<B:_>B;0<=B?_++:_--)k.push(_);return k}).apply(this).reverse(),E=[],w=0,T=P.length;w<T;w++)x=P[w],E.push(b(v,x,m));return E},"heapify"),g=l(function(v,m,x){var w;if(x==null&&(x=r),w=v.indexOf(m),w!==-1)return y(v,0,w,x),b(v,w,x)},"updateItem"),f=l(function(v,m,x){var w,T,P,E,k;if(x==null&&(x=r),T=v.slice(0,m),!T.length)return T;for(i(T,x),k=v.slice(m),P=0,E=k.length;P<E;P++)w=k[P],u(T,w,x);return T.sort(x).reverse()},"nlargest"),p=l(function(v,m,x){var w,T,P,E,k,_,B,D,S;if(x==null&&(x=r),m*10<=v.length){if(P=v.slice(0,m).sort(x),!P.length)return P;for(T=P[P.length-1],B=v.slice(m),E=0,_=B.length;E<_;E++)w=B[E],x(w,T)<0&&(d(P,w,0,null,x),P.pop(),T=P[P.length-1]);return P}for(i(v,x),S=[],k=0,D=h(m,v.length);0<=D?k<D:k>D;0<=D?++k:--k)S.push(o(v,x));return S},"nsmallest"),y=l(function(v,m,x,w){var T,P,E;for(w==null&&(w=r),T=v[x];x>m;){if(E=x-1>>1,P=v[E],w(T,P)<0){v[x]=P,x=E;continue}break}return v[x]=T},"_siftdown"),b=l(function(v,m,x){var w,T,P,E,k;for(x==null&&(x=r),T=v.length,k=m,P=v[m],w=2*m+1;w<T;)E=w+1,E<T&&!(x(v[w],v[E])<0)&&(w=E),v[m]=v[w],m=w,w=2*m+1;return v[m]=P,y(v,k,m,x)},"_siftup"),n=(function(){v.push=c,v.pop=o,v.replace=s,v.pushpop=u,v.heapify=i,v.updateItem=g,v.nlargest=f,v.nsmallest=p;function v(m){this.cmp=m??r,this.nodes=[]}return l(v,"Heap"),v.prototype.push=function(m){return c(this.nodes,m,this.cmp)},v.prototype.pop=function(){return o(this.nodes,this.cmp)},v.prototype.peek=function(){return this.nodes[0]},v.prototype.contains=function(m){return this.nodes.indexOf(m)!==-1},v.prototype.replace=function(m){return s(this.nodes,m,this.cmp)},v.prototype.pushpop=function(m){return u(this.nodes,m,this.cmp)},v.prototype.heapify=function(){return i(this.nodes,this.cmp)},v.prototype.updateItem=function(m){return g(this.nodes,m,this.cmp)},v.prototype.clear=function(){return this.nodes=[]},v.prototype.empty=function(){return this.nodes.length===0},v.prototype.size=function(){return this.nodes.length},v.prototype.clone=function(){var m;return m=new v,m.nodes=this.nodes.slice(0),m},v.prototype.toArray=function(){return this.nodes.slice(0)},v.prototype.insert=v.prototype.push,v.prototype.top=v.prototype.peek,v.prototype.front=v.prototype.peek,v.prototype.has=v.prototype.contains,v.prototype.copy=v.prototype.clone,v})(),(function(v,m){return e.exports=m()})(this,function(){return n})}).call(_p)})(zo)),zo.exports}l(ld,"requireHeap$1");var Ml,Il;function ud(){return Il||(Il=1,Ml=ld()),Ml}l(ud,"requireHeap");var Bp=ud(),jr=ar(Bp),Ap=dt({root:null,weight:l(function(e){return 1},"weight"),directed:!1}),Mp={dijkstra:l(function(e){if(!Be(e)){var t=arguments;e={root:t[0],weight:t[1],directed:t[2]}}var n=Ap(e),r=n.root,a=n.weight,i=n.directed,o=this,c=a,u=pe(r)?this.filter(r)[0]:r[0],s={},d={},h={},f=this.byGroup(),p=f.nodes,g=f.edges;g.unmergeBy(function(A){return A.isLoop()});for(var y=l(function(A){return s[A.id()]},"getDist"),b=l(function(A,O){s[A.id()]=O,v.updateItem(A)},"setDist"),v=new jr(function(A,O){return y(A)-y(O)}),m=0;m<p.length;m++){var x=p[m];s[x.id()]=x.same(u)?0:1/0,v.push(x)}for(var w=l(function(A,O){for(var R=(i?A.edgesTo(O):A.edgesWith(O)).intersect(g),I=1/0,L,N=0;N<R.length;N++){var Y=R[N],q=c(Y);(q<I||!L)&&(I=q,L=Y)}return{edge:L,dist:I}},"distBetween");v.size()>0;){var T=v.pop(),P=y(T),E=T.id();if(h[E]=P,P!==1/0)for(var k=T.neighborhood().intersect(p),_=0;_<k.length;_++){var B=k[_],D=B.id(),S=w(T,B),M=P+S.dist;M<y(B)&&(b(B,M),d[D]={node:T,edge:S.edge})}}return{distanceTo:l(function(A){var O=pe(A)?p.filter(A)[0]:A[0];return h[O.id()]},"distanceTo"),pathTo:l(function(A){var O=pe(A)?p.filter(A)[0]:A[0],R=[],I=O,L=I.id();if(O.length>0)for(R.unshift(O);d[L];){var N=d[L];R.unshift(N.edge),R.unshift(N.node),I=N.node,L=I.id()}return o.spawn(R)},"pathTo")}},"dijkstra")},Ip={kruskal:l(function(e){e=e||function(m){return 1};for(var t=this.byGroup(),n=t.nodes,r=t.edges,a=n.length,i=new Array(a),o=n,c=l(function(m){for(var x=0;x<i.length;x++){var w=i[x];if(w.has(m))return x}},"findSetIndex"),u=0;u<a;u++)i[u]=this.spawn(n[u]);for(var s=r.sort(function(m,x){return e(m)-e(x)}),d=0;d<s.length;d++){var h=s[d],f=h.source()[0],p=h.target()[0],g=c(f),y=c(p),b=i[g],v=i[y];g!==y&&(o.merge(h),b.merge(v),i.splice(y,1))}return o},"kruskal")},Rp=dt({root:null,goal:null,weight:l(function(e){return 1},"weight"),heuristic:l(function(e){return 0},"heuristic"),directed:!1}),Np={aStar:l(function(e){var t=this.cy(),n=Rp(e),r=n.root,a=n.goal,i=n.heuristic,o=n.directed,c=n.weight;r=t.collection(r)[0],a=t.collection(a)[0];var u=r.id(),s=a.id(),d={},h={},f={},p=new jr(function(N,Y){return h[N.id()]-h[Y.id()]}),g=new sr,y={},b={},v=l(function(N,Y){p.push(N),g.add(Y)},"addToOpenSet"),m,x,w=l(function(){m=p.pop(),x=m.id(),g.delete(x)},"popFromOpenSet"),T=l(function(N){return g.has(N)},"isInOpenSet");v(r,u),d[u]=0,h[u]=i(r);for(var P=0;p.size()>0;){if(w(),P++,x===s){for(var E=[],k=a,_=s,B=b[_];E.unshift(k),B!=null&&E.unshift(B),k=y[_],k!=null;)_=k.id(),B=b[_];return{found:!0,distance:d[x],path:this.spawn(E),steps:P}}f[x]=!0;for(var D=m._private.edges,S=0;S<D.length;S++){var M=D[S];if(this.hasElementWithId(M.id())&&!(o&&M.data("source")!==x)){var A=M.source(),O=M.target(),R=A.id()!==x?A:O,I=R.id();if(this.hasElementWithId(I)&&!f[I]){var L=d[x]+c(M);if(!T(I)){d[I]=L,h[I]=L+i(R),v(R,I),y[I]=m,b[I]=M;continue}L<d[I]&&(d[I]=L,h[I]=L+i(R),y[I]=m,b[I]=M)}}}}return{found:!1,distance:void 0,path:void 0,steps:P}},"aStar")},Lp=dt({weight:l(function(e){return 1},"weight"),directed:!1}),Op={floydWarshall:l(function(e){for(var t=this.cy(),n=Lp(e),r=n.weight,a=n.directed,i=r,o=this.byGroup(),c=o.nodes,u=o.edges,s=c.length,d=s*s,h=l(function(q){return c.indexOf(q)},"indexOf"),f=l(function(q){return c[q]},"atIndex"),p=new Array(d),g=0;g<d;g++){var y=g%s,b=(g-y)/s;b===y?p[g]=0:p[g]=1/0}for(var v=new Array(d),m=new Array(d),x=0;x<u.length;x++){var w=u[x],T=w.source()[0],P=w.target()[0];if(T!==P){var E=h(T),k=h(P),_=E*s+k,B=i(w);if(p[_]>B&&(p[_]=B,v[_]=k,m[_]=w),!a){var D=k*s+E;!a&&p[D]>B&&(p[D]=B,v[D]=E,m[D]=w)}}}for(var S=0;S<s;S++)for(var M=0;M<s;M++)for(var A=M*s+S,O=0;O<s;O++){var R=M*s+O,I=S*s+O;p[A]+p[I]<p[R]&&(p[R]=p[A]+p[I],v[R]=v[A])}var L=l(function(q){return(pe(q)?t.filter(q):q)[0]},"getArgEle"),N=l(function(q){return h(L(q))},"indexOfArgEle"),Y={distance:l(function(q,X){var K=N(q),J=N(X);return p[K*s+J]},"distance"),path:l(function(q,X){var K=N(q),J=N(X),Q=f(K);if(K===J)return Q.collection();if(v[K*s+J]==null)return t.collection();var $=t.collection(),ee=K,ae;for($.merge(Q);K!==J;)ee=K,K=v[K*s+J],ae=m[ee*s+K],$.merge(ae),$.merge(f(K));return $},"path")};return Y},"floydWarshall")},zp=dt({weight:l(function(e){return 1},"weight"),directed:!1,root:null}),Fp={bellmanFord:l(function(e){var t=this,n=zp(e),r=n.weight,a=n.directed,i=n.root,o=r,c=this,u=this.cy(),s=this.byGroup(),d=s.edges,h=s.nodes,f=h.length,p=new Kt,g=!1,y=[];i=u.collection(i)[0],d.unmergeBy(function(me){return me.isLoop()});for(var b=d.length,v=l(function(me){var xe=p.get(me.id());return xe||(xe={},p.set(me.id(),xe)),xe},"getInfo"),m=l(function(me){return(pe(me)?u.$(me):me)[0]},"getNodeFromTo"),x=l(function(me){return v(m(me)).dist},"distanceTo"),w=l(function(me){for(var xe=arguments.length>1&&arguments[1]!==void 0?arguments[1]:i,Ae=m(me),te=[],ce=Ae;;){if(ce==null)return t.spawn();var de=v(ce),be=de.edge,we=de.pred;if(te.unshift(ce[0]),ce.same(xe)&&te.length>0)break;be!=null&&te.unshift(be),ce=we}return c.spawn(te)},"pathTo"),T=0;T<f;T++){var P=h[T],E=v(P);P.same(i)?E.dist=0:E.dist=1/0,E.pred=null,E.edge=null}for(var k=!1,_=l(function(me,xe,Ae,te,ce,de){var be=te.dist+de;be<ce.dist&&!Ae.same(te.edge)&&(ce.dist=be,ce.pred=me,ce.edge=Ae,k=!0)},"checkForEdgeReplacement"),B=1;B<f;B++){k=!1;for(var D=0;D<b;D++){var S=d[D],M=S.source(),A=S.target(),O=o(S),R=v(M),I=v(A);_(M,A,S,R,I,O),a||_(A,M,S,I,R,O)}if(!k)break}if(k)for(var L=[],N=0;N<b;N++){var Y=d[N],q=Y.source(),X=Y.target(),K=o(Y),J=v(q).dist,Q=v(X).dist;if(J+K<Q||!a&&Q+K<J)if(g||(Oe("Graph contains a negative weight cycle for Bellman-Ford"),g=!0),e.findNegativeWeightCycles!==!1){var $=[];J+K<Q&&$.push(q),!a&&Q+K<J&&$.push(X);for(var ee=$.length,ae=0;ae<ee;ae++){var V=$[ae],z=[V];z.push(v(V).edge);for(var F=v(V).pred;z.indexOf(F)===-1;)z.push(F),z.push(v(F).edge),F=v(F).pred;z=z.slice(z.indexOf(F));for(var U=z[0].id(),ne=0,ie=2;ie<z.length;ie+=2)z[ie].id()<U&&(U=z[ie].id(),ne=ie);z=z.slice(ne).concat(z.slice(0,ne)),z.push(z[0]);var Ee=z.map(function(me){return me.id()}).join(",");L.indexOf(Ee)===-1&&(y.push(c.spawn(z)),L.push(Ee))}}else break}return{distanceTo:x,pathTo:w,hasNegativeWeightCycle:g,negativeWeightCycles:y}},"bellmanFord")},Vp=Math.sqrt(2),qp=l(function(e,t,n){n.length===0&&We("Karger-Stein must be run on a connected (sub)graph");for(var r=n[e],a=r[1],i=r[2],o=t[a],c=t[i],u=n,s=u.length-1;s>=0;s--){var d=u[s],h=d[1],f=d[2];(t[h]===o&&t[f]===c||t[h]===c&&t[f]===o)&&u.splice(s,1)}for(var p=0;p<u.length;p++){var g=u[p];g[1]===c?(u[p]=g.slice(),u[p][1]=o):g[2]===c&&(u[p]=g.slice(),u[p][2]=o)}for(var y=0;y<t.length;y++)t[y]===c&&(t[y]=o);return u},"collapse"),ki=l(function(e,t,n,r){for(;n>r;){var a=Math.floor(Math.random()*t.length);t=qp(a,e,t),n--}return t},"contractUntil"),jp={kargerStein:l(function(){var e=this,t=this.byGroup(),n=t.nodes,r=t.edges;r.unmergeBy(function(I){return I.isLoop()});var a=n.length,i=r.length,o=Math.ceil(Math.pow(Math.log(a)/Math.LN2,2)),c=Math.floor(a/Vp);if(a<2){We("At least 2 nodes are required for Karger-Stein algorithm");return}for(var u=[],s=0;s<i;s++){var d=r[s];u.push([s,n.indexOf(d.source()),n.indexOf(d.target())])}for(var h=1/0,f=[],p=new Array(a),g=new Array(a),y=new Array(a),b=l(function(I,L){for(var N=0;N<a;N++)L[N]=I[N]},"copyNodesMap"),v=0;v<=o;v++){for(var m=0;m<a;m++)g[m]=m;var x=ki(g,u.slice(),a,c),w=x.slice();b(g,y);var T=ki(g,x,c,2),P=ki(y,w,c,2);T.length<=P.length&&T.length<h?(h=T.length,f=T,b(g,p)):P.length<=T.length&&P.length<h&&(h=P.length,f=P,b(y,p))}for(var E=this.spawn(f.map(function(I){return r[I[0]]})),k=this.spawn(),_=this.spawn(),B=p[0],D=0;D<p.length;D++){var S=p[D],M=n[D];S===B?k.merge(M):_.merge(M)}var A=l(function(I){var L=e.spawn();return I.forEach(function(N){L.merge(N),N.connectedEdges().forEach(function(Y){e.contains(Y)&&!E.contains(Y)&&L.merge(Y)})}),L},"constructComponent"),O=[A(k),A(_)],R={cut:E,components:O,partition1:k,partition2:_};return R},"kargerStein")},_i,Xp=l(function(e){return{x:e.x,y:e.y}},"copyPosition"),Ja=l(function(e,t,n){return{x:e.x*t+n.x,y:e.y*t+n.y}},"modelToRenderedPosition"),cd=l(function(e,t,n){return{x:(e.x-n.x)/t,y:(e.y-n.y)/t}},"renderedToModelPosition"),Kn=l(function(e){return{x:e[0],y:e[1]}},"array2point"),Yp=l(function(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,r=1/0,a=t;a<n;a++){var i=e[a];isFinite(i)&&(r=Math.min(i,r))}return r},"min"),Wp=l(function(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,r=-1/0,a=t;a<n;a++){var i=e[a];isFinite(i)&&(r=Math.max(i,r))}return r},"max"),Hp=l(function(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,r=0,a=0,i=t;i<n;i++){var o=e[i];isFinite(o)&&(r+=o,a++)}return r/a},"mean"),Kp=l(function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,r=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;r?e=e.slice(t,n):(n<e.length&&e.splice(n,e.length-n),t>0&&e.splice(0,t));for(var o=0,c=e.length-1;c>=0;c--){var u=e[c];i?isFinite(u)||(e[c]=-1/0,o++):e.splice(c,1)}a&&e.sort(function(h,f){return h-f});var s=e.length,d=Math.floor(s/2);return s%2!==0?e[d+1+o]:(e[d-1+o]+e[d+o])/2},"median"),Gp=l(function(e){return Math.PI*e/180},"deg2rad"),ua=l(function(e,t){return Math.atan2(t,e)-Math.PI/2},"getAngleFromDisp"),Ts=Math.log2||function(e){return Math.log(e)/Math.log(2)},Ss=l(function(e){return e>0?1:e<0?-1:0},"signum"),Mn=l(function(e,t){return Math.sqrt(Cn(e,t))},"dist"),Cn=l(function(e,t){var n=t.x-e.x,r=t.y-e.y;return n*n+r*r},"sqdist"),Up=l(function(e){for(var t=e.length,n=0,r=0;r<t;r++)n+=e[r];for(var a=0;a<t;a++)e[a]=e[a]/n;return e},"inPlaceSumNormalize"),it=l(function(e,t,n,r){return(1-r)*(1-r)*e+2*(1-r)*r*t+r*r*n},"qbezierAt"),Zn=l(function(e,t,n,r){return{x:it(e.x,t.x,n.x,r),y:it(e.y,t.y,n.y,r)}},"qbezierPtAt"),Zp=l(function(e,t,n,r){var a={x:t.x-e.x,y:t.y-e.y},i=Mn(e,t),o={x:a.x/i,y:a.y/i};return n=n??0,r=r??n*i,{x:e.x+o.x*r,y:e.y+o.y*r}},"lineAt"),Ar=l(function(e,t,n){return Math.max(e,Math.min(n,t))},"bound"),wt=l(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}}},"makeBoundingBox"),$p=l(function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},"copyBoundingBox"),Jp=l(function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},"clearBoundingBox"),Qp=l(function(e,t){e.x1=Math.min(e.x1,t.x1),e.x2=Math.max(e.x2,t.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,t.y1),e.y2=Math.max(e.y2,t.y2),e.h=e.y2-e.y1},"updateBoundingBox"),dd=l(function(e,t,n){e.x1=Math.min(e.x1,t),e.x2=Math.max(e.x2,t),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},"expandBoundingBoxByPoint"),ba=l(function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=t,e.x2+=t,e.y1-=t,e.y2+=t,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},"expandBoundingBox"),xa=l(function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],n,r,a,i;if(t.length===1)n=r=a=i=t[0];else if(t.length===2)n=a=t[0],i=r=t[1];else if(t.length===4){var o=Ue(t,4);n=o[0],r=o[1],a=o[2],i=o[3]}return e.x1-=i,e.x2+=r,e.y1-=n,e.y2+=a,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},"expandBoundingBoxSides"),Rl=l(function(e,t){e.x1=t.x1,e.y1=t.y1,e.x2=t.x2,e.y2=t.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},"assignBoundingBox"),Ps=l(function(e,t){return!(e.x1>t.x2||t.x1>e.x2||e.x2<t.x1||t.x2<e.x1||e.y2<t.y1||t.y2<e.y1||e.y1>t.y2||t.y1>e.y2)},"boundingBoxesIntersect"),sn=l(function(e,t,n){return e.x1<=t&&t<=e.x2&&e.y1<=n&&n<=e.y2},"inBoundingBox"),Nl=l(function(e,t){return sn(e,t.x,t.y)},"pointInBoundingBox"),hd=l(function(e,t){return sn(e,t.x1,t.y1)&&sn(e,t.x2,t.y2)},"boundingBoxInBoundingBox"),eg=(_i=Math.hypot)!==null&&_i!==void 0?_i:function(e,t){return Math.sqrt(e*e+t*t)};function fd(e,t){if(e.length<3)throw new Error("Need at least 3 vertices");var n=l(function(E,k){return{x:E.x+k.x,y:E.y+k.y}},"add"),r=l(function(E,k){return{x:E.x-k.x,y:E.y-k.y}},"sub"),a=l(function(E,k){return{x:E.x*k,y:E.y*k}},"scale"),i=l(function(E,k){return E.x*k.y-E.y*k.x},"cross"),o=l(function(E){var k=eg(E.x,E.y);return k===0?{x:0,y:0}:{x:E.x/k,y:E.y/k}},"normalize"),c=l(function(E){for(var k=0,_=0;_<E.length;_++){var B=E[_],D=E[(_+1)%E.length];k+=B.x*D.y-D.x*B.y}return k/2},"signedArea"),u=l(function(E,k,_,B){var D=r(k,E),S=r(B,_),M=i(D,S);if(Math.abs(M)<1e-9)return n(E,a(D,.5));var A=i(r(_,E),S)/M;return n(E,a(D,A))},"intersectLines"),s=e.map(function(E){return{x:E.x,y:E.y}});c(s)<0&&s.reverse();for(var d=s.length,h=[],f=0;f<d;f++){var p=s[f],g=s[(f+1)%d],y=r(g,p),b=o({x:y.y,y:-y.x});h.push(b)}for(var v=h.map(function(E,k){var _=n(s[k],a(E,t)),B=n(s[(k+1)%d],a(E,t));return{p1:_,p2:B}}),m=[],x=0;x<d;x++){var w=v[(x-1+d)%d],T=v[x],P=u(w.p1,w.p2,T.p1,T.p2);m.push(P)}return m}l(fd,"inflatePolygon");function pd(e,t,n,r,a,i){var o=ug(e,t,n,r,a),c=fd(o,i),u=wt();return c.forEach(function(s){return dd(u,s.x,s.y)}),u}l(pd,"miterBox");var gd=l(function(e,t,n,r,a,i,o){var c=arguments.length>7&&arguments[7]!==void 0?arguments[7]:"auto",u=c==="auto"?fn(a,i):c,s=a/2,d=i/2;u=Math.min(u,s,d);var h=u!==s,f=u!==d,p;if(h){var g=n-s+u-o,y=r-d-o,b=n+s-u+o,v=y;if(p=ln(e,t,n,r,g,y,b,v,!1),p.length>0)return p}if(f){var m=n+s+o,x=r-d+u-o,w=m,T=r+d-u+o;if(p=ln(e,t,n,r,m,x,w,T,!1),p.length>0)return p}if(h){var P=n-s+u-o,E=r+d+o,k=n+s-u+o,_=E;if(p=ln(e,t,n,r,P,E,k,_,!1),p.length>0)return p}if(f){var B=n-s-o,D=r-d+u-o,S=B,M=r+d-u+o;if(p=ln(e,t,n,r,B,D,S,M,!1),p.length>0)return p}var A;{var O=n-s+u,R=r-d+u;if(A=br(e,t,n,r,O,R,u+o),A.length>0&&A[0]<=O&&A[1]<=R)return[A[0],A[1]]}{var I=n+s-u,L=r-d+u;if(A=br(e,t,n,r,I,L,u+o),A.length>0&&A[0]>=I&&A[1]<=L)return[A[0],A[1]]}{var N=n+s-u,Y=r+d-u;if(A=br(e,t,n,r,N,Y,u+o),A.length>0&&A[0]>=N&&A[1]>=Y)return[A[0],A[1]]}{var q=n-s+u,X=r+d-u;if(A=br(e,t,n,r,q,X,u+o),A.length>0&&A[0]<=q&&A[1]>=X)return[A[0],A[1]]}return[]},"roundRectangleIntersectLine"),tg=l(function(e,t,n,r,a,i,o){var c=o,u=Math.min(n,a),s=Math.max(n,a),d=Math.min(r,i),h=Math.max(r,i);return u-c<=e&&e<=s+c&&d-c<=t&&t<=h+c},"inLineVicinity"),ng=l(function(e,t,n,r,a,i,o,c,u){var s={x1:Math.min(n,o,a)-u,x2:Math.max(n,o,a)+u,y1:Math.min(r,c,i)-u,y2:Math.max(r,c,i)+u};return!(e<s.x1||e>s.x2||t<s.y1||t>s.y2)},"inBezierVicinity"),rg=l(function(e,t,n,r){n-=r;var a=t*t-4*e*n;if(a<0)return[];var i=Math.sqrt(a),o=2*e,c=(-t+i)/o,u=(-t-i)/o;return[c,u]},"solveQuadratic"),ag=l(function(e,t,n,r,a){var i=1e-5;e===0&&(e=i),t/=e,n/=e,r/=e;var o,c,u,s,d,h,f,p;if(c=(3*n-t*t)/9,u=-(27*r)+t*(9*n-2*(t*t)),u/=54,o=c*c*c+u*u,a[1]=0,f=t/3,o>0){d=u+Math.sqrt(o),d=d<0?-Math.pow(-d,1/3):Math.pow(d,1/3),h=u-Math.sqrt(o),h=h<0?-Math.pow(-h,1/3):Math.pow(h,1/3),a[0]=-f+d+h,f+=(d+h)/2,a[4]=a[2]=-f,f=Math.sqrt(3)*(-h+d)/2,a[3]=f,a[5]=-f;return}if(a[5]=a[3]=0,o===0){p=u<0?-Math.pow(-u,1/3):Math.pow(u,1/3),a[0]=-f+2*p,a[4]=a[2]=-(p+f);return}c=-c,s=c*c*c,s=Math.acos(u/Math.sqrt(s)),p=2*Math.sqrt(c),a[0]=-f+p*Math.cos(s/3),a[2]=-f+p*Math.cos((s+2*Math.PI)/3),a[4]=-f+p*Math.cos((s+4*Math.PI)/3)},"solveCubic"),ig=l(function(e,t,n,r,a,i,o,c){var u=1*n*n-4*n*a+2*n*o+4*a*a-4*a*o+o*o+r*r-4*r*i+2*r*c+4*i*i-4*i*c+c*c,s=9*n*a-3*n*n-3*n*o-6*a*a+3*a*o+9*r*i-3*r*r-3*r*c-6*i*i+3*i*c,d=3*n*n-6*n*a+n*o-n*e+2*a*a+2*a*e-o*e+3*r*r-6*r*i+r*c-r*t+2*i*i+2*i*t-c*t,h=1*n*a-n*n+n*e-a*e+r*i-r*r+r*t-i*t,f=[];ag(u,s,d,h,f);for(var p=1e-7,g=[],y=0;y<6;y+=2)Math.abs(f[y+1])<p&&f[y]>=0&&f[y]<=1&&g.push(f[y]);g.push(1),g.push(0);for(var b=-1,v,m,x,w=0;w<g.length;w++)v=Math.pow(1-g[w],2)*n+2*(1-g[w])*g[w]*a+g[w]*g[w]*o,m=Math.pow(1-g[w],2)*r+2*(1-g[w])*g[w]*i+g[w]*g[w]*c,x=Math.pow(v-e,2)+Math.pow(m-t,2),b>=0?x<b&&(b=x):b=x;return b},"sqdistToQuadraticBezier"),og=l(function(e,t,n,r,a,i){var o=[e-n,t-r],c=[a-n,i-r],u=c[0]*c[0]+c[1]*c[1],s=o[0]*o[0]+o[1]*o[1],d=o[0]*c[0]+o[1]*c[1],h=d*d/u;return d<0?s:h>u?(e-a)*(e-a)+(t-i)*(t-i):s-h},"sqdistToFiniteLine"),Pt=l(function(e,t,n){for(var r,a,i,o,c,u=0,s=0;s<n.length/2;s++)if(r=n[s*2],a=n[s*2+1],s+1<n.length/2?(i=n[(s+1)*2],o=n[(s+1)*2+1]):(i=n[(s+1-n.length/2)*2],o=n[(s+1-n.length/2)*2+1]),!(r==e&&i==e))if(r>=e&&e>=i||r<=e&&e<=i)c=(e-r)/(i-r)*(o-a)+a,c>t&&u++;else continue;return u%2!==0},"pointInsidePolygonPoints"),Ut=l(function(e,t,n,r,a,i,o,c,u){var s=new Array(n.length),d;c[0]!=null?(d=Math.atan(c[1]/c[0]),c[0]<0?d=d+Math.PI/2:d=-d-Math.PI/2):d=c;for(var h=Math.cos(-d),f=Math.sin(-d),p=0;p<s.length/2;p++)s[p*2]=i/2*(n[p*2]*h-n[p*2+1]*f),s[p*2+1]=o/2*(n[p*2+1]*h+n[p*2]*f),s[p*2]+=r,s[p*2+1]+=a;var g;if(u>0){var y=za(s,-u);g=Oa(y)}else g=s;return Pt(e,t,g)},"pointInsidePolygon"),sg=l(function(e,t,n,r,a,i,o,c){for(var u=new Array(n.length*2),s=0;s<c.length;s++){var d=c[s];u[s*4+0]=d.startX,u[s*4+1]=d.startY,u[s*4+2]=d.stopX,u[s*4+3]=d.stopY;var h=Math.pow(d.cx-e,2)+Math.pow(d.cy-t,2);if(h<=Math.pow(d.radius,2))return!0}return Pt(e,t,u)},"pointInsideRoundPolygon"),Oa=l(function(e){for(var t=new Array(e.length/2),n,r,a,i,o,c,u,s,d=0;d<e.length/4;d++){n=e[d*4],r=e[d*4+1],a=e[d*4+2],i=e[d*4+3],d<e.length/4-1?(o=e[(d+1)*4],c=e[(d+1)*4+1],u=e[(d+1)*4+2],s=e[(d+1)*4+3]):(o=e[0],c=e[1],u=e[2],s=e[3]);var h=ln(n,r,a,i,o,c,u,s,!0);t[d*2]=h[0],t[d*2+1]=h[1]}return t},"joinLines"),za=l(function(e,t){for(var n=new Array(e.length*2),r,a,i,o,c=0;c<e.length/2;c++){r=e[c*2],a=e[c*2+1],c<e.length/2-1?(i=e[(c+1)*2],o=e[(c+1)*2+1]):(i=e[0],o=e[1]);var u=o-a,s=-(i-r),d=Math.sqrt(u*u+s*s),h=u/d,f=s/d;n[c*4]=r+h*t,n[c*4+1]=a+f*t,n[c*4+2]=i+h*t,n[c*4+3]=o+f*t}return n},"expandPolygon"),lg=l(function(e,t,n,r,a,i){var o=n-e,c=r-t;o/=a,c/=i;var u=Math.sqrt(o*o+c*c),s=u-1;if(s<0)return[];var d=s/u;return[(n-e)*d+e,(r-t)*d+t]},"intersectLineEllipse"),Bn=l(function(e,t,n,r,a,i,o){return e-=a,t-=i,e/=n/2+o,t/=r/2+o,e*e+t*t<=1},"checkInEllipse"),br=l(function(e,t,n,r,a,i,o){var c=[n-e,r-t],u=[e-a,t-i],s=c[0]*c[0]+c[1]*c[1],d=2*(u[0]*c[0]+u[1]*c[1]),h=u[0]*u[0]+u[1]*u[1]-o*o,f=d*d-4*s*h;if(f<0)return[];var p=(-d+Math.sqrt(f))/(2*s),g=(-d-Math.sqrt(f))/(2*s),y=Math.min(p,g),b=Math.max(p,g),v=[];if(y>=0&&y<=1&&v.push(y),b>=0&&b<=1&&v.push(b),v.length===0)return[];var m=v[0]*c[0]+e,x=v[0]*c[1]+t;if(v.length>1){if(v[0]==v[1])return[m,x];var w=v[1]*c[0]+e,T=v[1]*c[1]+t;return[m,x,w,T]}else return[m,x]},"intersectLineCircle"),Bi=l(function(e,t,n){return t<=e&&e<=n||n<=e&&e<=t?e:e<=t&&t<=n||n<=t&&t<=e?t:n},"midOfThree"),ln=l(function(e,t,n,r,a,i,o,c,u){var s=e-a,d=n-e,h=o-a,f=t-i,p=r-t,g=c-i,y=h*f-g*s,b=d*f-p*s,v=g*d-h*p;if(v!==0){var m=y/v,x=b/v,w=.001,T=0-w,P=1+w;return T<=m&&m<=P&&T<=x&&x<=P?[e+m*d,t+m*p]:u?[e+m*d,t+m*p]:[]}else return y===0||b===0?Bi(e,n,o)===o?[o,c]:Bi(e,n,a)===a?[a,i]:Bi(a,o,n)===n?[n,r]:[]:[]},"finiteLinesIntersect"),ug=l(function(e,t,n,r,a){var i=[],o=r/2,c=a/2,u=t,s=n;i.push({x:u+o*e[0],y:s+c*e[1]});for(var d=1;d<e.length/2;d++)i.push({x:u+o*e[d*2],y:s+c*e[d*2+1]});return i},"transformPoints"),Mr=l(function(e,t,n,r,a,i,o,c){var u=[],s,d=new Array(n.length),h=!0;i==null&&(h=!1);var f;if(h){for(var p=0;p<d.length/2;p++)d[p*2]=n[p*2]*i+r,d[p*2+1]=n[p*2+1]*o+a;if(c>0){var g=za(d,-c);f=Oa(g)}else f=d}else f=n;for(var y,b,v,m,x=0;x<f.length/2;x++)y=f[x*2],b=f[x*2+1],x<f.length/2-1?(v=f[(x+1)*2],m=f[(x+1)*2+1]):(v=f[0],m=f[1]),s=ln(e,t,r,a,y,b,v,m),s.length!==0&&u.push(s[0],s[1]);return u},"polygonIntersectLine"),cg=l(function(e,t,n,r,a,i,o,c,u){var s=[],d,h=new Array(n.length*2);u.forEach(function(v,m){m===0?(h[h.length-2]=v.startX,h[h.length-1]=v.startY):(h[m*4-2]=v.startX,h[m*4-1]=v.startY),h[m*4]=v.stopX,h[m*4+1]=v.stopY,d=br(e,t,r,a,v.cx,v.cy,v.radius),d.length!==0&&s.push(d[0],d[1])});for(var f=0;f<h.length/4;f++)d=ln(e,t,r,a,h[f*4],h[f*4+1],h[f*4+2],h[f*4+3],!1),d.length!==0&&s.push(d[0],d[1]);if(s.length>2){for(var p=[s[0],s[1]],g=Math.pow(p[0]-e,2)+Math.pow(p[1]-t,2),y=1;y<s.length/2;y++){var b=Math.pow(s[y*2]-e,2)+Math.pow(s[y*2+1]-t,2);b<=g&&(p[0]=s[y*2],p[1]=s[y*2+1],g=b)}return p}return s},"roundPolygonIntersectLine"),ca=l(function(e,t,n){var r=[e[0]-t[0],e[1]-t[1]],a=Math.sqrt(r[0]*r[0]+r[1]*r[1]),i=(a-n)/a;return i<0&&(i=1e-5),[t[0]+i*r[0],t[1]+i*r[1]]},"shortenIntersection"),bt=l(function(e,t){var n=Fo(e,t);return n=vd(n),n},"generateUnitNgonPointsFitToSquare"),vd=l(function(e){for(var t,n,r=e.length/2,a=1/0,i=1/0,o=-1/0,c=-1/0,u=0;u<r;u++)t=e[2*u],n=e[2*u+1],a=Math.min(a,t),o=Math.max(o,t),i=Math.min(i,n),c=Math.max(c,n);for(var s=2/(o-a),d=2/(c-i),h=0;h<r;h++)t=e[2*h]=e[2*h]*s,n=e[2*h+1]=e[2*h+1]*d,a=Math.min(a,t),o=Math.max(o,t),i=Math.min(i,n),c=Math.max(c,n);if(i<-1)for(var f=0;f<r;f++)n=e[2*f+1]=e[2*f+1]+(-1-i);return e},"fitPolygonToSquare"),Fo=l(function(e,t){var n=1/e*2*Math.PI,r=e%2===0?Math.PI/2+n/2:Math.PI/2;r+=t;for(var a=new Array(e*2),i,o=0;o<e;o++)i=o*n+r,a[2*o]=Math.cos(i),a[2*o+1]=Math.sin(-i);return a},"generateUnitNgonPoints"),fn=l(function(e,t){return Math.min(e/4,t/4,8)},"getRoundRectangleRadius"),yd=l(function(e,t){return Math.min(e/10,t/10,8)},"getRoundPolygonRadius"),Ds=l(function(){return 8},"getCutRectangleCornerLength"),dg=l(function(e,t,n){return[e-2*t+n,2*(t-e),e]},"bezierPtsToQuadCoeff"),Vo=l(function(e,t){return{heightOffset:Math.min(15,.05*t),widthOffset:Math.min(100,.25*e),ctrlPtOffsetPct:.05}},"getBarrelCurveConstants");function wa(e,t){function n(h){for(var f=[],p=0;p<h.length;p++){var g=h[p],y=h[(p+1)%h.length],b={x:y.x-g.x,y:y.y-g.y},v={x:-b.y,y:b.x},m=Math.sqrt(v.x*v.x+v.y*v.y);f.push({x:v.x/m,y:v.y/m})}return f}l(n,"getAxes");function r(h,f){var p=1/0,g=-1/0,y=xt(h),b;try{for(y.s();!(b=y.n()).done;){var v=b.value,m=v.x*f.x+v.y*f.y;p=Math.min(p,m),g=Math.max(g,m)}}catch(x){y.e(x)}finally{y.f()}return{min:p,max:g}}l(r,"project");function a(h,f){return!(h.max<f.min||f.max<h.min)}l(a,"overlaps");var i=[].concat(Dr(n(e)),Dr(n(t))),o=xt(i),c;try{for(o.s();!(c=o.n()).done;){var u=c.value,s=r(e,u),d=r(t,u);if(!a(s,d))return!1}}catch(h){o.e(h)}finally{o.f()}return!0}l(wa,"satPolygonIntersection");var hg=dt({dampingFactor:.8,precision:1e-6,iterations:200,weight:l(function(e){return 1},"weight")}),fg={pageRank:l(function(e){for(var t=hg(e),n=t.dampingFactor,r=t.precision,a=t.iterations,i=t.weight,o=this._private.cy,c=this.byGroup(),u=c.nodes,s=c.edges,d=u.length,h=d*d,f=s.length,p=new Array(h),g=new Array(d),y=(1-n)/d,b=0;b<d;b++){for(var v=0;v<d;v++){var m=b*d+v;p[m]=0}g[b]=0}for(var x=0;x<f;x++){var w=s[x],T=w.data("source"),P=w.data("target");if(T!==P){var E=u.indexOfId(T),k=u.indexOfId(P),_=i(w),B=k*d+E;p[B]+=_,g[E]+=_}}for(var D=1/d+y,S=0;S<d;S++)if(g[S]===0)for(var M=0;M<d;M++){var A=M*d+S;p[A]=D}else for(var O=0;O<d;O++){var R=O*d+S;p[R]=p[R]/g[S]+y}for(var I=new Array(d),L=new Array(d),N,Y=0;Y<d;Y++)I[Y]=1;for(var q=0;q<a;q++){for(var X=0;X<d;X++)L[X]=0;for(var K=0;K<d;K++)for(var J=0;J<d;J++){var Q=K*d+J;L[K]+=p[Q]*I[J]}Up(L),N=I,I=L,L=N;for(var $=0,ee=0;ee<d;ee++){var ae=N[ee]-I[ee];$+=ae*ae}if($<r)break}var V={rank:l(function(z){return z=o.collection(z)[0],I[u.indexOf(z)]},"rank")};return V},"pageRank")},Ll=dt({root:null,weight:l(function(e){return 1},"weight"),directed:!1,alpha:0}),$n={degreeCentralityNormalized:l(function(e){e=Ll(e);var t=this.cy(),n=this.nodes(),r=n.length;if(e.directed){for(var a={},i={},o=0,c=0,u=0;u<r;u++){var s=n[u],d=s.id();e.root=s;var h=this.degreeCentrality(e);o<h.indegree&&(o=h.indegree),c<h.outdegree&&(c=h.outdegree),a[d]=h.indegree,i[d]=h.outdegree}return{indegree:l(function(v){return o==0?0:(pe(v)&&(v=t.filter(v)),a[v.id()]/o)},"indegree"),outdegree:l(function(v){return c===0?0:(pe(v)&&(v=t.filter(v)),i[v.id()]/c)},"outdegree")}}else{for(var f={},p=0,g=0;g<r;g++){var y=n[g];e.root=y;var b=this.degreeCentrality(e);p<b.degree&&(p=b.degree),f[y.id()]=b.degree}return{degree:l(function(v){return p===0?0:(pe(v)&&(v=t.filter(v)),f[v.id()]/p)},"degree")}}},"degreeCentralityNormalized"),degreeCentrality:l(function(e){e=Ll(e);var t=this.cy(),n=this,r=e,a=r.root,i=r.weight,o=r.directed,c=r.alpha;if(a=t.collection(a)[0],o){for(var u=a.connectedEdges(),s=u.filter(function(T){return T.target().same(a)&&n.has(T)}),d=u.filter(function(T){return T.source().same(a)&&n.has(T)}),h=s.length,f=d.length,p=0,g=0,y=0;y<s.length;y++)p+=i(s[y]);for(var b=0;b<d.length;b++)g+=i(d[b]);return{indegree:Math.pow(h,1-c)*Math.pow(p,c),outdegree:Math.pow(f,1-c)*Math.pow(g,c)}}else{for(var v=a.connectedEdges().intersection(n),m=v.length,x=0,w=0;w<v.length;w++)x+=i(v[w]);return{degree:Math.pow(m,1-c)*Math.pow(x,c)}}},"degreeCentrality")};$n.dc=$n.degreeCentrality;$n.dcn=$n.degreeCentralityNormalised=$n.degreeCentralityNormalized;var Ol=dt({harmonic:!0,weight:l(function(){return 1},"weight"),directed:!1,root:null}),Jn={closenessCentralityNormalized:l(function(e){for(var t=Ol(e),n=t.harmonic,r=t.weight,a=t.directed,i=this.cy(),o={},c=0,u=this.nodes(),s=this.floydWarshall({weight:r,directed:a}),d=0;d<u.length;d++){for(var h=0,f=u[d],p=0;p<u.length;p++)if(d!==p){var g=s.distance(f,u[p]);n?h+=1/g:h+=g}n||(h=1/h),c<h&&(c=h),o[f.id()]=h}return{closeness:l(function(y){return c==0?0:(pe(y)?y=i.filter(y)[0].id():y=y.id(),o[y]/c)},"closeness")}},"closenessCentralityNormalized"),closenessCentrality:l(function(e){var t=Ol(e),n=t.root,r=t.weight,a=t.directed,i=t.harmonic;n=this.filter(n)[0];for(var o=this.dijkstra({root:n,weight:r,directed:a}),c=0,u=this.nodes(),s=0;s<u.length;s++){var d=u[s];if(!d.same(n)){var h=o.distanceTo(d);i?c+=1/h:c+=h}}return i?c:1/c},"closenessCentrality")};Jn.cc=Jn.closenessCentrality;Jn.ccn=Jn.closenessCentralityNormalised=Jn.closenessCentralityNormalized;var pg=dt({weight:null,directed:!1}),qo={betweennessCentrality:l(function(e){for(var t=pg(e),n=t.directed,r=t.weight,a=r!=null,i=this.cy(),o=this.nodes(),c={},u={},s=0,d={set:l(function(v,m){u[v]=m,m>s&&(s=m)},"set"),get:l(function(v){return u[v]},"get")},h=0;h<o.length;h++){var f=o[h],p=f.id();n?c[p]=f.outgoers().nodes():c[p]=f.openNeighborhood().nodes(),d.set(p,0)}for(var g=l(function(){for(var v=o[y].id(),m=[],x={},w={},T={},P=new jr(function(X,K){return T[X]-T[K]}),E=0;E<o.length;E++){var k=o[E].id();x[k]=[],w[k]=0,T[k]=1/0}for(w[v]=1,T[v]=0,P.push(v);!P.empty();){var _=P.pop();if(m.push(_),a)for(var B=0;B<c[_].length;B++){var D=c[_][B],S=i.getElementById(_),M=void 0;S.edgesTo(D).length>0?M=S.edgesTo(D)[0]:M=D.edgesTo(S)[0];var A=r(M);D=D.id(),T[D]>T[_]+A&&(T[D]=T[_]+A,P.nodes.indexOf(D)<0?P.push(D):P.updateItem(D),w[D]=0,x[D]=[]),T[D]==T[_]+A&&(w[D]=w[D]+w[_],x[D].push(_))}else for(var O=0;O<c[_].length;O++){var R=c[_][O].id();T[R]==1/0&&(P.push(R),T[R]=T[_]+1),T[R]==T[_]+1&&(w[R]=w[R]+w[_],x[R].push(_))}}for(var I={},L=0;L<o.length;L++)I[o[L].id()]=0;for(;m.length>0;){for(var N=m.pop(),Y=0;Y<x[N].length;Y++){var q=x[N][Y];I[q]=I[q]+w[q]/w[N]*(1+I[N])}N!=o[y].id()&&d.set(N,d.get(N)+I[N])}},"_loop"),y=0;y<o.length;y++)g();var b={betweenness:l(function(v){var m=i.collection(v).id();return d.get(m)},"betweenness"),betweennessNormalized:l(function(v){if(s==0)return 0;var m=i.collection(v).id();return d.get(m)/s},"betweennessNormalized")};return b.betweennessNormalised=b.betweennessNormalized,b},"betweennessCentrality")};qo.bc=qo.betweennessCentrality;var gg=dt({expandFactor:2,inflateFactor:2,multFactor:1,maxIterations:20,attributes:[function(e){return 1}]}),vg=l(function(e){return gg(e)},"setOptions"),yg=l(function(e,t){for(var n=0,r=0;r<t.length;r++)n+=t[r](e);return n},"getSimilarity"),mg=l(function(e,t,n){for(var r=0;r<t;r++)e[r*t+r]=n},"addLoops"),md=l(function(e,t){for(var n,r=0;r<t;r++){n=0;for(var a=0;a<t;a++)n+=e[a*t+r];for(var i=0;i<t;i++)e[i*t+r]=e[i*t+r]/n}},"normalize"),bg=l(function(e,t,n){for(var r=new Array(n*n),a=0;a<n;a++){for(var i=0;i<n;i++)r[a*n+i]=0;for(var o=0;o<n;o++)for(var c=0;c<n;c++)r[a*n+c]+=e[a*n+o]*t[o*n+c]}return r},"mmult"),xg=l(function(e,t,n){for(var r=e.slice(0),a=1;a<n;a++)e=bg(e,r,t);return e},"expand"),wg=l(function(e,t,n){for(var r=new Array(t*t),a=0;a<t*t;a++)r[a]=Math.pow(e[a],n);return md(r,t),r},"inflate"),Eg=l(function(e,t,n,r){for(var a=0;a<n;a++){var i=Math.round(e[a]*Math.pow(10,r))/Math.pow(10,r),o=Math.round(t[a]*Math.pow(10,r))/Math.pow(10,r);if(i!==o)return!1}return!0},"hasConverged"),Cg=l(function(e,t,n,r){for(var a=[],i=0;i<t;i++){for(var o=[],c=0;c<t;c++)Math.round(e[i*t+c]*1e3)/1e3>0&&o.push(n[c]);o.length!==0&&a.push(r.collection(o))}return a},"assign"),Tg=l(function(e,t){for(var n=0;n<e.length;n++)if(!t[n]||e[n].id()!==t[n].id())return!1;return!0},"isDuplicate"),Sg=l(function(e){for(var t=0;t<e.length;t++)for(var n=0;n<e.length;n++)t!=n&&Tg(e[t],e[n])&&e.splice(n,1);return e},"removeDuplicates"),zl=l(function(e){for(var t=this.nodes(),n=this.edges(),r=this.cy(),a=vg(e),i={},o=0;o<t.length;o++)i[t[o].id()]=o;for(var c=t.length,u=c*c,s=new Array(u),d,h=0;h<u;h++)s[h]=0;for(var f=0;f<n.length;f++){var p=n[f],g=i[p.source().id()],y=i[p.target().id()],b=yg(p,a.attributes);s[g*c+y]+=b,s[y*c+g]+=b}mg(s,c,a.multFactor),md(s,c);for(var v=!0,m=0;v&&m<a.maxIterations;)v=!1,d=xg(s,c,a.expandFactor),s=wg(d,c,a.inflateFactor),Eg(s,d,u,4)||(v=!0),m++;var x=Cg(s,c,t,r);return x=Sg(x),x},"markovClustering"),Pg={markovClustering:zl,mcl:zl},Dg=l(function(e){return e},"identity"),bd=l(function(e,t){return Math.abs(t-e)},"absDiff"),Fl=l(function(e,t,n){return e+bd(t,n)},"addAbsDiff"),Vl=l(function(e,t,n){return e+Math.pow(n-t,2)},"addSquaredDiff"),kg=l(function(e){return Math.sqrt(e)},"sqrt"),_g=l(function(e,t,n){return Math.max(e,bd(t,n))},"maxAbsDiff"),pr=l(function(e,t,n,r,a){for(var i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:Dg,o=r,c,u,s=0;s<e;s++)c=t(s),u=n(s),o=a(o,c,u);return i(o)},"getDistance"),tr={euclidean:l(function(e,t,n){return e>=2?pr(e,t,n,0,Vl,kg):pr(e,t,n,0,Fl)},"euclidean"),squaredEuclidean:l(function(e,t,n){return pr(e,t,n,0,Vl)},"squaredEuclidean"),manhattan:l(function(e,t,n){return pr(e,t,n,0,Fl)},"manhattan"),max:l(function(e,t,n){return pr(e,t,n,-1/0,_g)},"max")};tr["squared-euclidean"]=tr.squaredEuclidean;tr.squaredeuclidean=tr.squaredEuclidean;function Xr(e,t,n,r,a,i){var o;return He(e)?o=e:o=tr[e]||tr.euclidean,t===0&&He(e)?o(a,i):o(t,n,r,a,i)}l(Xr,"clusteringDistance");var Bg=dt({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),ks=l(function(e){return Bg(e)},"setOptions"),Fa=l(function(e,t,n,r,a){var i=a!=="kMedoids",o=i?function(d){return n[d]}:function(d){return r[d](n)},c=l(function(d){return r[d](t)},"getQ"),u=n,s=t;return Xr(e,r.length,o,c,u,s)},"getDist"),Ai=l(function(e,t,n){for(var r=n.length,a=new Array(r),i=new Array(r),o=new Array(t),c=null,u=0;u<r;u++)a[u]=e.min(n[u]).value,i[u]=e.max(n[u]).value;for(var s=0;s<t;s++){c=[];for(var d=0;d<r;d++)c[d]=Math.random()*(i[d]-a[d])+a[d];o[s]=c}return o},"randomCentroids"),xd=l(function(e,t,n,r,a){for(var i=1/0,o=0,c=0;c<t.length;c++){var u=Fa(n,e,t[c],r,a);u<i&&(i=u,o=c)}return o},"classify"),wd=l(function(e,t,n){for(var r=[],a=null,i=0;i<t.length;i++)a=t[i],n[a.id()]===e&&r.push(a);return r},"buildCluster"),Ag=l(function(e,t,n){return Math.abs(t-e)<=n},"haveValuesConverged"),Mg=l(function(e,t,n){for(var r=0;r<e.length;r++)for(var a=0;a<e[r].length;a++){var i=Math.abs(e[r][a]-t[r][a]);if(i>n)return!1}return!0},"haveMatricesConverged"),Ig=l(function(e,t,n){for(var r=0;r<n;r++)if(e===t[r])return!0;return!1},"seenBefore"),ql=l(function(e,t){var n=new Array(t);if(e.length<50)for(var r=0;r<t;r++){for(var a=e[Math.floor(Math.random()*e.length)];Ig(a,n,r);)a=e[Math.floor(Math.random()*e.length)];n[r]=a}else for(var i=0;i<t;i++)n[i]=e[Math.floor(Math.random()*e.length)];return n},"randomMedoids"),jl=l(function(e,t,n){for(var r=0,a=0;a<t.length;a++)r+=Fa("manhattan",t[a],e,n,"kMedoids");return r},"findCost"),Rg=l(function(e){var t=this.cy(),n=this.nodes(),r=null,a=ks(e),i=new Array(a.k),o={},c;a.testMode?typeof a.testCentroids=="number"?(a.testCentroids,c=Ai(n,a.k,a.attributes)):et(a.testCentroids)==="object"?c=a.testCentroids:c=Ai(n,a.k,a.attributes):c=Ai(n,a.k,a.attributes);for(var u=!0,s=0;u&&s<a.maxIterations;){for(var d=0;d<n.length;d++)r=n[d],o[r.id()]=xd(r,c,a.distance,a.attributes,"kMeans");u=!1;for(var h=0;h<a.k;h++){var f=wd(h,n,o);if(f.length!==0){for(var p=a.attributes.length,g=c[h],y=new Array(p),b=new Array(p),v=0;v<p;v++){b[v]=0;for(var m=0;m<f.length;m++)r=f[m],b[v]+=a.attributes[v](r);y[v]=b[v]/f.length,Ag(y[v],g[v],a.sensitivityThreshold)||(u=!0)}c[h]=y,i[h]=t.collection(f)}}s++}return i},"kMeans"),Ng=l(function(e){var t=this.cy(),n=this.nodes(),r=null,a=ks(e),i=new Array(a.k),o,c={},u,s=new Array(a.k);a.testMode?typeof a.testCentroids=="number"||(et(a.testCentroids)==="object"?o=a.testCentroids:o=ql(n,a.k)):o=ql(n,a.k);for(var d=!0,h=0;d&&h<a.maxIterations;){for(var f=0;f<n.length;f++)r=n[f],c[r.id()]=xd(r,o,a.distance,a.attributes,"kMedoids");d=!1;for(var p=0;p<o.length;p++){var g=wd(p,n,c);if(g.length!==0){s[p]=jl(o[p],g,a.attributes);for(var y=0;y<g.length;y++)u=jl(g[y],g,a.attributes),u<s[p]&&(s[p]=u,o[p]=g[y],d=!0);i[p]=t.collection(g)}}h++}return i},"kMedoids"),Lg=l(function(e,t,n,r,a){for(var i,o,c=0;c<t.length;c++)for(var u=0;u<e.length;u++)r[c][u]=Math.pow(n[c][u],a.m);for(var s=0;s<e.length;s++)for(var d=0;d<a.attributes.length;d++){i=0,o=0;for(var h=0;h<t.length;h++)i+=r[h][s]*a.attributes[d](t[h]),o+=r[h][s];e[s][d]=i/o}},"updateCentroids"),Og=l(function(e,t,n,r,a){for(var i=0;i<e.length;i++)t[i]=e[i].slice();for(var o,c,u,s=2/(a.m-1),d=0;d<n.length;d++)for(var h=0;h<r.length;h++){o=0;for(var f=0;f<n.length;f++)c=Fa(a.distance,r[h],n[d],a.attributes,"cmeans"),u=Fa(a.distance,r[h],n[f],a.attributes,"cmeans"),o+=Math.pow(c/u,s);e[h][d]=1/o}},"updateMembership"),zg=l(function(e,t,n,r){for(var a=new Array(n.k),i=0;i<a.length;i++)a[i]=[];for(var o,c,u=0;u<t.length;u++){o=-1/0,c=-1;for(var s=0;s<t[0].length;s++)t[u][s]>o&&(o=t[u][s],c=s);a[c].push(e[u])}for(var d=0;d<a.length;d++)a[d]=r.collection(a[d]);return a},"assign"),Xl=l(function(e){var t=this.cy(),n=this.nodes(),r=ks(e),a,i,o,c,u;c=new Array(n.length);for(var s=0;s<n.length;s++)c[s]=new Array(r.k);o=new Array(n.length);for(var d=0;d<n.length;d++)o[d]=new Array(r.k);for(var h=0;h<n.length;h++){for(var f=0,p=0;p<r.k;p++)o[h][p]=Math.random(),f+=o[h][p];for(var g=0;g<r.k;g++)o[h][g]=o[h][g]/f}i=new Array(r.k);for(var y=0;y<r.k;y++)i[y]=new Array(r.attributes.length);u=new Array(n.length);for(var b=0;b<n.length;b++)u[b]=new Array(r.k);for(var v=!0,m=0;v&&m<r.maxIterations;)v=!1,Lg(i,n,o,u,r),Og(o,c,i,n,r),Mg(o,c,r.sensitivityThreshold)||(v=!0),m++;return a=zg(n,o,r,t),{clusters:a,degreeOfMembership:o}},"fuzzyCMeans"),Fg={kMeans:Rg,kMedoids:Ng,fuzzyCMeans:Xl,fcm:Xl},Vg=dt({distance:"euclidean",linkage:"min",mode:"threshold",threshold:1/0,addDendrogram:!1,dendrogramDepth:0,attributes:[]}),qg={single:"min",complete:"max"},jg=l(function(e){var t=Vg(e),n=qg[t.linkage];return n!=null&&(t.linkage=n),t},"setOptions"),Yl=l(function(e,t,n,r,a){for(var i=0,o=1/0,c,u=a.attributes,s=l(function(E,k){return Xr(a.distance,u.length,function(_){return u[_](E)},function(_){return u[_](k)},E,k)},"getDist"),d=0;d<e.length;d++){var h=e[d].key,f=n[h][r[h]];f<o&&(i=h,o=f)}if(a.mode==="threshold"&&o>=a.threshold||a.mode==="dendrogram"&&e.length===1)return!1;var p=t[i],g=t[r[i]],y;a.mode==="dendrogram"?y={left:p,right:g,key:p.key}:y={value:p.value.concat(g.value),key:p.key},e[p.index]=y,e.splice(g.index,1),t[p.key]=y;for(var b=0;b<e.length;b++){var v=e[b];p.key===v.key?c=1/0:a.linkage==="min"?(c=n[p.key][v.key],n[p.key][v.key]>n[g.key][v.key]&&(c=n[g.key][v.key])):a.linkage==="max"?(c=n[p.key][v.key],n[p.key][v.key]<n[g.key][v.key]&&(c=n[g.key][v.key])):a.linkage==="mean"?c=(n[p.key][v.key]*p.size+n[g.key][v.key]*g.size)/(p.size+g.size):a.mode==="dendrogram"?c=s(v.value,p.value):c=s(v.value[0],p.value[0]),n[p.key][v.key]=n[v.key][p.key]=c}for(var m=0;m<e.length;m++){var x=e[m].key;if(r[x]===p.key||r[x]===g.key){for(var w=x,T=0;T<e.length;T++){var P=e[T].key;n[x][P]<n[x][w]&&(w=P)}r[x]=w}e[m].index=m}return p.key=g.key=p.index=g.index=null,!0},"mergeClosest"),Gn=l(function(e,t,n){e&&(e.value?t.push(e.value):(e.left&&Gn(e.left,t),e.right&&Gn(e.right,t)))},"getAllChildren"),jo=l(function(e,t){if(!e)return"";if(e.left&&e.right){var n=jo(e.left,t),r=jo(e.right,t),a=t.add({group:"nodes",data:{id:n+","+r}});return t.add({group:"edges",data:{source:n,target:a.id()}}),t.add({group:"edges",data:{source:r,target:a.id()}}),a.id()}else if(e.value)return e.value.id()},"buildDendrogram"),Xo=l(function(e,t,n){if(!e)return[];var r=[],a=[],i=[];return t===0?(e.left&&Gn(e.left,r),e.right&&Gn(e.right,a),i=r.concat(a),[n.collection(i)]):t===1?e.value?[n.collection(e.value)]:(e.left&&Gn(e.left,r),e.right&&Gn(e.right,a),[n.collection(r),n.collection(a)]):e.value?[n.collection(e.value)]:(e.left&&(r=Xo(e.left,t-1,n)),e.right&&(a=Xo(e.right,t-1,n)),r.concat(a))},"buildClustersFromTree"),Wl=l(function(e){for(var t=this.cy(),n=this.nodes(),r=jg(e),a=r.attributes,i=l(function(v,m){return Xr(r.distance,a.length,function(x){return a[x](v)},function(x){return a[x](m)},v,m)},"getDist"),o=[],c=[],u=[],s=[],d=0;d<n.length;d++){var h={value:r.mode==="dendrogram"?n[d]:[n[d]],key:d,index:d};o[d]=h,s[d]=h,c[d]=[],u[d]=0}for(var f=0;f<o.length;f++)for(var p=0;p<=f;p++){var g=void 0;r.mode==="dendrogram"?g=f===p?1/0:i(o[f].value,o[p].value):g=f===p?1/0:i(o[f].value[0],o[p].value[0]),c[f][p]=g,c[p][f]=g,g<c[f][u[f]]&&(u[f]=p)}for(var y=Yl(o,s,c,u,r);y;)y=Yl(o,s,c,u,r);var b;return r.mode==="dendrogram"?(b=Xo(o[0],r.dendrogramDepth,t),r.addDendrogram&&jo(o[0],t)):(b=new Array(o.length),o.forEach(function(v,m){v.key=v.index=null,b[m]=t.collection(v.value)})),b},"hierarchicalClustering"),Xg={hierarchicalClustering:Wl,hca:Wl},Yg=dt({distance:"euclidean",preference:"median",damping:.8,maxIterations:1e3,minIterations:100,attributes:[]}),Wg=l(function(e){var t=e.damping,n=e.preference;.5<=t&&t<1||We("Damping must range on [0.5, 1). Got: ".concat(t));var r=["median","mean","min","max"];return r.some(function(a){return a===n})||re(n)||We("Preference must be one of [".concat(r.map(function(a){return"'".concat(a,"'")}).join(", "),"] or a number. Got: ").concat(n)),Yg(e)},"setOptions"),Hg=l(function(e,t,n,r){var a=l(function(i,o){return r[o](i)},"attr");return-Xr(e,r.length,function(i){return a(t,i)},function(i){return a(n,i)},t,n)},"getSimilarity"),Kg=l(function(e,t){var n=null;return t==="median"?n=Kp(e):t==="mean"?n=Hp(e):t==="min"?n=Yp(e):t==="max"?n=Wp(e):n=t,n},"getPreference"),Gg=l(function(e,t,n){for(var r=[],a=0;a<e;a++)t[a*e+a]+n[a*e+a]>0&&r.push(a);return r},"findExemplars"),Hl=l(function(e,t,n){for(var r=[],a=0;a<e;a++){for(var i=-1,o=-1/0,c=0;c<n.length;c++){var u=n[c];t[a*e+u]>o&&(i=u,o=t[a*e+u])}i>0&&r.push(i)}for(var s=0;s<n.length;s++)r[n[s]]=n[s];return r},"assignClusters"),Ug=l(function(e,t,n){for(var r=Hl(e,t,n),a=0;a<n.length;a++){for(var i=[],o=0;o<r.length;o++)r[o]===n[a]&&i.push(o);for(var c=-1,u=-1/0,s=0;s<i.length;s++){for(var d=0,h=0;h<i.length;h++)d+=t[i[h]*e+i[s]];d>u&&(c=s,u=d)}n[a]=i[c]}return r=Hl(e,t,n),r},"assign"),Kl=l(function(e){for(var t=this.cy(),n=this.nodes(),r=Wg(e),a={},i=0;i<n.length;i++)a[n[i].id()]=i;var o,c,u,s,d,h;o=n.length,c=o*o,u=new Array(c);for(var f=0;f<c;f++)u[f]=-1/0;for(var p=0;p<o;p++)for(var g=0;g<o;g++)p!==g&&(u[p*o+g]=Hg(r.distance,n[p],n[g],r.attributes));s=Kg(u,r.preference);for(var y=0;y<o;y++)u[y*o+y]=s;d=new Array(c);for(var b=0;b<c;b++)d[b]=0;h=new Array(c);for(var v=0;v<c;v++)h[v]=0;for(var m=new Array(o),x=new Array(o),w=new Array(o),T=0;T<o;T++)m[T]=0,x[T]=0,w[T]=0;for(var P=new Array(o*r.minIterations),E=0;E<P.length;E++)P[E]=0;var k;for(k=0;k<r.maxIterations;k++){for(var _=0;_<o;_++){for(var B=-1/0,D=-1/0,S=-1,M=0,A=0;A<o;A++)m[A]=d[_*o+A],M=h[_*o+A]+u[_*o+A],M>=B?(D=B,B=M,S=A):M>D&&(D=M);for(var O=0;O<o;O++)d[_*o+O]=(1-r.damping)*(u[_*o+O]-B)+r.damping*m[O];d[_*o+S]=(1-r.damping)*(u[_*o+S]-D)+r.damping*m[S]}for(var R=0;R<o;R++){for(var I=0,L=0;L<o;L++)m[L]=h[L*o+R],x[L]=Math.max(0,d[L*o+R]),I+=x[L];I-=x[R],x[R]=d[R*o+R],I+=x[R];for(var N=0;N<o;N++)h[N*o+R]=(1-r.damping)*Math.min(0,I-x[N])+r.damping*m[N];h[R*o+R]=(1-r.damping)*(I-x[R])+r.damping*m[R]}for(var Y=0,q=0;q<o;q++){var X=h[q*o+q]+d[q*o+q]>0?1:0;P[k%r.minIterations*o+q]=X,Y+=X}if(Y>0&&(k>=r.minIterations-1||k==r.maxIterations-1)){for(var K=0,J=0;J<o;J++){w[J]=0;for(var Q=0;Q<r.minIterations;Q++)w[J]+=P[Q*o+J];(w[J]===0||w[J]===r.minIterations)&&K++}if(K===o)break}}for(var $=Gg(o,d,h),ee=Ug(o,u,$),ae={},V=0;V<$.length;V++)ae[$[V]]=[];for(var z=0;z<n.length;z++){var F=a[n[z].id()],U=ee[F];U!=null&&ae[U].push(n[z])}for(var ne=new Array($.length),ie=0;ie<$.length;ie++)ne[ie]=t.collection(ae[$[ie]]);return ne},"affinityPropagation"),Zg={affinityPropagation:Kl,ap:Kl},$g=dt({root:void 0,directed:!1}),Jg={hierholzer:l(function(e){if(!Be(e)){var t=arguments;e={root:t[0],directed:t[1]}}var n=$g(e),r=n.root,a=n.directed,i=this,o=!1,c,u,s;r&&(s=pe(r)?this.filter(r)[0].id():r[0].id());var d={},h={};a?i.forEach(function(v){var m=v.id();if(v.isNode()){var x=v.indegree(!0),w=v.outdegree(!0),T=x-w,P=w-x;T==1?c?o=!0:c=m:P==1?u?o=!0:u=m:(P>1||T>1)&&(o=!0),d[m]=[],v.outgoers().forEach(function(E){E.isEdge()&&d[m].push(E.id())})}else h[m]=[void 0,v.target().id()]}):i.forEach(function(v){var m=v.id();if(v.isNode()){var x=v.degree(!0);x%2&&(c?u?o=!0:u=m:c=m),d[m]=[],v.connectedEdges().forEach(function(w){return d[m].push(w.id())})}else h[m]=[v.source().id(),v.target().id()]});var f={found:!1,trail:void 0};if(o)return f;if(u&&c)if(a){if(s&&u!=s)return f;s=u}else{if(s&&u!=s&&c!=s)return f;s||(s=u)}else s||(s=i[0].id());var p=l(function(v){for(var m=v,x=[v],w,T,P;d[m].length;)w=d[m].shift(),T=h[w][0],P=h[w][1],m!=P?(d[P]=d[P].filter(function(E){return E!=w}),m=P):!a&&m!=T&&(d[T]=d[T].filter(function(E){return E!=w}),m=T),x.unshift(w),x.unshift(m);return x},"walk"),g=[],y=[];for(y=p(s);y.length!=1;)d[y[0]].length==0?(g.unshift(i.getElementById(y.shift())),g.unshift(i.getElementById(y.shift()))):y=p(y.shift()).concat(y);g.unshift(i.getElementById(y.shift()));for(var b in d)if(d[b].length)return f;return f.found=!0,f.trail=this.spawn(g,!0),f},"hierholzer")},da=l(function(){var e=this,t={},n=0,r=0,a=[],i=[],o={},c=l(function(d,h){for(var f=i.length-1,p=[],g=e.spawn();i[f].x!=d||i[f].y!=h;)p.push(i.pop().edge),f--;p.push(i.pop().edge),p.forEach(function(y){var b=y.connectedNodes().intersection(e);g.merge(y),b.forEach(function(v){var m=v.id(),x=v.connectedEdges().intersection(e);g.merge(v),t[m].cutVertex?g.merge(x.filter(function(w){return w.isLoop()})):g.merge(x)})}),a.push(g)},"buildComponent"),u=l(function(d,h,f){d===f&&(r+=1),t[h]={id:n,low:n++,cutVertex:!1};var p=e.getElementById(h).connectedEdges().intersection(e);if(p.size()===0)a.push(e.spawn(e.getElementById(h)));else{var g,y,b,v;p.forEach(function(m){g=m.source().id(),y=m.target().id(),b=g===h?y:g,b!==f&&(v=m.id(),o[v]||(o[v]=!0,i.push({x:h,y:b,edge:m})),b in t?t[h].low=Math.min(t[h].low,t[b].id):(u(d,b,h),t[h].low=Math.min(t[h].low,t[b].low),t[h].id<=t[b].low&&(t[h].cutVertex=!0,c(h,b))))})}},"biconnectedSearch");e.forEach(function(d){if(d.isNode()){var h=d.id();h in t||(r=0,u(h,h),t[h].cutVertex=r>1)}});var s=Object.keys(t).filter(function(d){return t[d].cutVertex}).map(function(d){return e.getElementById(d)});return{cut:e.spawn(s),components:a}},"hopcroftTarjanBiconnected"),Qg={hopcroftTarjanBiconnected:da,htbc:da,htb:da,hopcroftTarjanBiconnectedComponents:da},ha=l(function(){var e=this,t={},n=0,r=[],a=[],i=e.spawn(e),o=l(function(c){a.push(c),t[c]={index:n,low:n++,explored:!1};var u=e.getElementById(c).connectedEdges().intersection(e);if(u.forEach(function(p){var g=p.target().id();g!==c&&(g in t||o(g),t[g].explored||(t[c].low=Math.min(t[c].low,t[g].low)))}),t[c].index===t[c].low){for(var s=e.spawn();;){var d=a.pop();if(s.merge(e.getElementById(d)),t[d].low=t[c].index,t[d].explored=!0,d===c)break}var h=s.edgesWith(s),f=s.merge(h);r.push(f),i=i.difference(f)}},"stronglyConnectedSearch");return e.forEach(function(c){if(c.isNode()){var u=c.id();u in t||o(u)}}),{cut:i,components:r}},"tarjanStronglyConnected"),ev={tarjanStronglyConnected:ha,tsc:ha,tscc:ha,tarjanStronglyConnectedComponents:ha},Ed={};[Br,Mp,Ip,Np,Op,Fp,jp,fg,$n,Jn,qo,Pg,Fg,Xg,Zg,Jg,Qg,ev].forEach(function(e){ve(Ed,e)});var Cd=0,Td=1,Sd=2,Ot=l(function(e){if(!(this instanceof Ot))return new Ot(e);this.id="Thenable/1.0.7",this.state=Cd,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof e=="function"&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))},"api");Ot.prototype={fulfill:l(function(e){return Gl(this,Td,"fulfillValue",e)},"fulfill"),reject:l(function(e){return Gl(this,Sd,"rejectReason",e)},"reject"),then:l(function(e,t){var n=this,r=new Ot;return n.onFulfilled.push(Zl(e,r,"fulfill")),n.onRejected.push(Zl(t,r,"reject")),Pd(n),r.proxy},"then")};var Gl=l(function(e,t,n,r){return e.state===Cd&&(e.state=t,e[n]=r,Pd(e)),e},"deliver"),Pd=l(function(e){e.state===Td?Ul(e,"onFulfilled",e.fulfillValue):e.state===Sd&&Ul(e,"onRejected",e.rejectReason)},"execute"),Ul=l(function(e,t,n){if(e[t].length!==0){var r=e[t];e[t]=[];var a=l(function(){for(var i=0;i<r.length;i++)r[i](n)},"func");typeof setImmediate=="function"?setImmediate(a):setTimeout(a,0)}},"execute_handlers"),Zl=l(function(e,t,n){return function(r){if(typeof e!="function")t[n].call(t,r);else{var a;try{a=e(r)}catch(i){t.reject(i);return}Dd(t,a)}}},"resolver"),Dd=l(function(e,t){if(e===t||e.proxy===t){e.reject(new TypeError("cannot resolve promise with itself"));return}var n;if(et(t)==="object"&&t!==null||typeof t=="function")try{n=t.then}catch(a){e.reject(a);return}if(typeof n=="function"){var r=!1;try{n.call(t,function(a){r||(r=!0,a===t?e.reject(new TypeError("circular thenable chain")):Dd(e,a))},function(a){r||(r=!0,e.reject(a))})}catch(a){r||e.reject(a)}return}e.fulfill(t)},"resolve");Ot.all=function(e){return new Ot(function(t,n){for(var r=new Array(e.length),a=0,i=l(function(c,u){r[c]=u,a++,a===e.length&&t(r)},"fulfill"),o=0;o<e.length;o++)(function(c){var u=e[c],s=u!=null&&u.then!=null;if(s)u.then(function(h){i(c,h)},function(h){n(h)});else{var d=u;i(c,d)}})(o)})};Ot.resolve=function(e){return new Ot(function(t,n){t(e)})};Ot.reject=function(e){return new Ot(function(t,n){n(e)})};var lr=typeof Promise<"u"?Promise:Ot,Yo=l(function(e,t,n){var r=ms(e),a=!r,i=this._private=ve({duration:1e3},t,n);if(i.target=e,i.style=i.style||i.css,i.started=!1,i.playing=!1,i.hooked=!1,i.applying=!1,i.progress=0,i.completes=[],i.frames=[],i.complete&&He(i.complete)&&i.completes.push(i.complete),a){var o=e.position();i.startPosition=i.startPosition||{x:o.x,y:o.y},i.startStyle=i.startStyle||e.cy().style().getAnimationStartStyle(e,i.style)}if(r){var c=e.pan();i.startPan={x:c.x,y:c.y},i.startZoom=e.zoom()}this.length=1,this[0]=this},"Animation"),In=Yo.prototype;ve(In,{instanceString:l(function(){return"animation"},"instanceString"),hook:l(function(){var e=this._private;if(!e.hooked){var t,n=e.target._private.animation;e.queue?t=n.queue:t=n.current,t.push(this),Dt(e.target)&&e.target.cy().addToAnimationPool(e.target),e.hooked=!0}return this},"hook"),play:l(function(){var e=this._private;return e.progress===1&&(e.progress=0),e.playing=!0,e.started=!1,e.stopped=!1,this.hook(),this},"play"),playing:l(function(){return this._private.playing},"playing"),apply:l(function(){var e=this._private;return e.applying=!0,e.started=!1,e.stopped=!1,this.hook(),this},"apply"),applying:l(function(){return this._private.applying},"applying"),pause:l(function(){var e=this._private;return e.playing=!1,e.started=!1,this},"pause"),stop:l(function(){var e=this._private;return e.playing=!1,e.started=!1,e.stopped=!0,this},"stop"),rewind:l(function(){return this.progress(0)},"rewind"),fastforward:l(function(){return this.progress(1)},"fastforward"),time:l(function(e){var t=this._private;return e===void 0?t.progress*t.duration:this.progress(e/t.duration)},"time"),progress:l(function(e){var t=this._private,n=t.playing;return e===void 0?t.progress:(n&&this.pause(),t.progress=e,t.started=!1,n&&this.play(),this)},"progress"),completed:l(function(){return this._private.progress===1},"completed"),reverse:l(function(){var e=this._private,t=e.playing;t&&this.pause(),e.progress=1-e.progress,e.started=!1;var n=l(function(c,u){var s=e[c];s!=null&&(e[c]=e[u],e[u]=s)},"swap");if(n("zoom","startZoom"),n("pan","startPan"),n("position","startPosition"),e.style)for(var r=0;r<e.style.length;r++){var a=e.style[r],i=a.name,o=e.startStyle[i];e.startStyle[i]=a,e.style[r]=o}return t&&this.play(),this},"reverse"),promise:l(function(e){var t=this._private,n;switch(e){case"frame":n=t.frames;break;default:case"complete":case"completed":n=t.completes}return new lr(function(r,a){n.push(function(){r()})})},"promise")});In.complete=In.completed;In.run=In.play;In.running=In.playing;var tv={animated:l(function(){return l(function(){var e=this,t=e.length!==void 0,n=t?e:[e],r=this._private.cy||this;if(!r.styleEnabled())return!1;var a=n[0];if(a)return a._private.animation.current.length>0},"animatedImpl")},"animated"),clearQueue:l(function(){return l(function(){var e=this,t=e.length!==void 0,n=t?e:[e],r=this._private.cy||this;if(!r.styleEnabled())return this;for(var a=0;a<n.length;a++){var i=n[a];i._private.animation.queue=[]}return this},"clearQueueImpl")},"clearQueue"),delay:l(function(){return l(function(e,t){var n=this._private.cy||this;return n.styleEnabled()?this.animate({delay:e,duration:e,complete:t}):this},"delayImpl")},"delay"),delayAnimation:l(function(){return l(function(e,t){var n=this._private.cy||this;return n.styleEnabled()?this.animation({delay:e,duration:e,complete:t}):this},"delayAnimationImpl")},"delayAnimation"),animation:l(function(){return l(function(e,t){var n=this,r=n.length!==void 0,a=r?n:[n],i=this._private.cy||this,o=!r,c=!o;if(!i.styleEnabled())return this;var u=i.style();e=ve({},e,t);var s=Object.keys(e).length===0;if(s)return new Yo(a[0],e);switch(e.duration===void 0&&(e.duration=400),e.duration){case"slow":e.duration=600;break;case"fast":e.duration=200;break}if(c&&(e.style=u.getPropsList(e.style||e.css),e.css=void 0),c&&e.renderedPosition!=null){var d=e.renderedPosition,h=i.pan(),f=i.zoom();e.position=cd(d,f,h)}if(o&&e.panBy!=null){var p=e.panBy,g=i.pan();e.pan={x:g.x+p.x,y:g.y+p.y}}var y=e.center||e.centre;if(o&&y!=null){var b=i.getCenterPan(y.eles,e.zoom);b!=null&&(e.pan=b)}if(o&&e.fit!=null){var v=e.fit,m=i.getFitViewport(v.eles||v.boundingBox,v.padding);m!=null&&(e.pan=m.pan,e.zoom=m.zoom)}if(o&&Be(e.zoom)){var x=i.getZoomedViewport(e.zoom);x!=null?(x.zoomed&&(e.zoom=x.zoom),x.panned&&(e.pan=x.pan)):e.zoom=null}return new Yo(a[0],e)},"animationImpl")},"animation"),animate:l(function(){return l(function(e,t){var n=this,r=n.length!==void 0,a=r?n:[n],i=this._private.cy||this;if(!i.styleEnabled())return this;t&&(e=ve({},e,t));for(var o=0;o<a.length;o++){var c=a[o],u=c.animated()&&(e.queue===void 0||e.queue),s=c.animation(e,u?{queue:!0}:void 0);s.play()}return this},"animateImpl")},"animate"),stop:l(function(){return l(function(e,t){var n=this,r=n.length!==void 0,a=r?n:[n],i=this._private.cy||this;if(!i.styleEnabled())return this;for(var o=0;o<a.length;o++){for(var c=a[o],u=c._private,s=u.animation.current,d=0;d<s.length;d++){var h=s[d],f=h._private;t&&(f.duration=0)}e&&(u.animation.queue=[]),t||(u.animation.current=[])}return i.notify("draw"),this},"stopImpl")},"stop")},Mi,$l;function Yr(){if($l)return Mi;$l=1;var e=Array.isArray;return Mi=e,Mi}l(Yr,"requireIsArray");var Ii,Jl;function kd(){if(Jl)return Ii;Jl=1;var e=Yr(),t=or(),n=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,r=/^\w*$/;function a(i,o){if(e(i))return!1;var c=typeof i;return c=="number"||c=="symbol"||c=="boolean"||i==null||t(i)?!0:r.test(i)||!n.test(i)||o!=null&&i in Object(o)}return l(a,"isKey"),Ii=a,Ii}l(kd,"require_isKey");var Ri,Ql;function _d(){if(Ql)return Ri;Ql=1;var e=xs(),t=ir(),n="[object AsyncFunction]",r="[object Function]",a="[object GeneratorFunction]",i="[object Proxy]";function o(c){if(!t(c))return!1;var u=e(c);return u==r||u==a||u==n||u==i}return l(o,"isFunction"),Ri=o,Ri}l(_d,"requireIsFunction");var Ni,eu;function Bd(){if(eu)return Ni;eu=1;var e=Vr(),t=e["__core-js_shared__"];return Ni=t,Ni}l(Bd,"require_coreJsData");var Li,tu;function Ad(){if(tu)return Li;tu=1;var e=Bd(),t=(function(){var r=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""})();function n(r){return!!t&&t in r}return l(n,"isMasked"),Li=n,Li}l(Ad,"require_isMasked");var Oi,nu;function Md(){if(nu)return Oi;nu=1;var e=Function.prototype,t=e.toString;function n(r){if(r!=null){try{return t.call(r)}catch{}try{return r+""}catch{}}return""}return l(n,"toSource"),Oi=n,Oi}l(Md,"require_toSource");var zi,ru;function Id(){if(ru)return zi;ru=1;var e=_d(),t=Ad(),n=ir(),r=Md(),a=/[\\^$.*+?()[\]{}|]/g,i=/^\[object .+?Constructor\]$/,o=Function.prototype,c=Object.prototype,u=o.toString,s=c.hasOwnProperty,d=RegExp("^"+u.call(s).replace(a,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function h(f){if(!n(f)||t(f))return!1;var p=e(f)?d:i;return p.test(r(f))}return l(h,"baseIsNative"),zi=h,zi}l(Id,"require_baseIsNative");var Fi,au;function Rd(){if(au)return Fi;au=1;function e(t,n){return t?.[n]}return l(e,"getValue"),Fi=e,Fi}l(Rd,"require_getValue");var Vi,iu;function Qa(){if(iu)return Vi;iu=1;var e=Id(),t=Rd();function n(r,a){var i=t(r,a);return e(i)?i:void 0}return l(n,"getNative"),Vi=n,Vi}l(Qa,"require_getNative");var qi,ou;function Wr(){if(ou)return qi;ou=1;var e=Qa(),t=e(Object,"create");return qi=t,qi}l(Wr,"require_nativeCreate");var ji,su;function Nd(){if(su)return ji;su=1;var e=Wr();function t(){this.__data__=e?e(null):{},this.size=0}return l(t,"hashClear"),ji=t,ji}l(Nd,"require_hashClear");var Xi,lu;function Ld(){if(lu)return Xi;lu=1;function e(t){var n=this.has(t)&&delete this.__data__[t];return this.size-=n?1:0,n}return l(e,"hashDelete"),Xi=e,Xi}l(Ld,"require_hashDelete");var Yi,uu;function Od(){if(uu)return Yi;uu=1;var e=Wr(),t="__lodash_hash_undefined__",n=Object.prototype,r=n.hasOwnProperty;function a(i){var o=this.__data__;if(e){var c=o[i];return c===t?void 0:c}return r.call(o,i)?o[i]:void 0}return l(a,"hashGet"),Yi=a,Yi}l(Od,"require_hashGet");var Wi,cu;function zd(){if(cu)return Wi;cu=1;var e=Wr(),t=Object.prototype,n=t.hasOwnProperty;function r(a){var i=this.__data__;return e?i[a]!==void 0:n.call(i,a)}return l(r,"hashHas"),Wi=r,Wi}l(zd,"require_hashHas");var Hi,du;function Fd(){if(du)return Hi;du=1;var e=Wr(),t="__lodash_hash_undefined__";function n(r,a){var i=this.__data__;return this.size+=this.has(r)?0:1,i[r]=e&&a===void 0?t:a,this}return l(n,"hashSet"),Hi=n,Hi}l(Fd,"require_hashSet");var Ki,hu;function Vd(){if(hu)return Ki;hu=1;var e=Nd(),t=Ld(),n=Od(),r=zd(),a=Fd();function i(o){var c=-1,u=o==null?0:o.length;for(this.clear();++c<u;){var s=o[c];this.set(s[0],s[1])}}return l(i,"Hash"),i.prototype.clear=e,i.prototype.delete=t,i.prototype.get=n,i.prototype.has=r,i.prototype.set=a,Ki=i,Ki}l(Vd,"require_Hash");var Gi,fu;function qd(){if(fu)return Gi;fu=1;function e(){this.__data__=[],this.size=0}return l(e,"listCacheClear"),Gi=e,Gi}l(qd,"require_listCacheClear");var Ui,pu;function _s(){if(pu)return Ui;pu=1;function e(t,n){return t===n||t!==t&&n!==n}return l(e,"eq"),Ui=e,Ui}l(_s,"requireEq");var Zi,gu;function Hr(){if(gu)return Zi;gu=1;var e=_s();function t(n,r){for(var a=n.length;a--;)if(e(n[a][0],r))return a;return-1}return l(t,"assocIndexOf"),Zi=t,Zi}l(Hr,"require_assocIndexOf");var $i,vu;function jd(){if(vu)return $i;vu=1;var e=Hr(),t=Array.prototype,n=t.splice;function r(a){var i=this.__data__,o=e(i,a);if(o<0)return!1;var c=i.length-1;return o==c?i.pop():n.call(i,o,1),--this.size,!0}return l(r,"listCacheDelete"),$i=r,$i}l(jd,"require_listCacheDelete");var Ji,yu;function Xd(){if(yu)return Ji;yu=1;var e=Hr();function t(n){var r=this.__data__,a=e(r,n);return a<0?void 0:r[a][1]}return l(t,"listCacheGet"),Ji=t,Ji}l(Xd,"require_listCacheGet");var Qi,mu;function Yd(){if(mu)return Qi;mu=1;var e=Hr();function t(n){return e(this.__data__,n)>-1}return l(t,"listCacheHas"),Qi=t,Qi}l(Yd,"require_listCacheHas");var eo,bu;function Wd(){if(bu)return eo;bu=1;var e=Hr();function t(n,r){var a=this.__data__,i=e(a,n);return i<0?(++this.size,a.push([n,r])):a[i][1]=r,this}return l(t,"listCacheSet"),eo=t,eo}l(Wd,"require_listCacheSet");var to,xu;function Hd(){if(xu)return to;xu=1;var e=qd(),t=jd(),n=Xd(),r=Yd(),a=Wd();function i(o){var c=-1,u=o==null?0:o.length;for(this.clear();++c<u;){var s=o[c];this.set(s[0],s[1])}}return l(i,"ListCache"),i.prototype.clear=e,i.prototype.delete=t,i.prototype.get=n,i.prototype.has=r,i.prototype.set=a,to=i,to}l(Hd,"require_ListCache");var no,wu;function Kd(){if(wu)return no;wu=1;var e=Qa(),t=Vr(),n=e(t,"Map");return no=n,no}l(Kd,"require_Map");var ro,Eu;function Gd(){if(Eu)return ro;Eu=1;var e=Vd(),t=Hd(),n=Kd();function r(){this.size=0,this.__data__={hash:new e,map:new(n||t),string:new e}}return l(r,"mapCacheClear"),ro=r,ro}l(Gd,"require_mapCacheClear");var ao,Cu;function Ud(){if(Cu)return ao;Cu=1;function e(t){var n=typeof t;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?t!=="__proto__":t===null}return l(e,"isKeyable"),ao=e,ao}l(Ud,"require_isKeyable");var io,Tu;function Kr(){if(Tu)return io;Tu=1;var e=Ud();function t(n,r){var a=n.__data__;return e(r)?a[typeof r=="string"?"string":"hash"]:a.map}return l(t,"getMapData"),io=t,io}l(Kr,"require_getMapData");var oo,Su;function Zd(){if(Su)return oo;Su=1;var e=Kr();function t(n){var r=e(this,n).delete(n);return this.size-=r?1:0,r}return l(t,"mapCacheDelete"),oo=t,oo}l(Zd,"require_mapCacheDelete");var so,Pu;function $d(){if(Pu)return so;Pu=1;var e=Kr();function t(n){return e(this,n).get(n)}return l(t,"mapCacheGet"),so=t,so}l($d,"require_mapCacheGet");var lo,Du;function Jd(){if(Du)return lo;Du=1;var e=Kr();function t(n){return e(this,n).has(n)}return l(t,"mapCacheHas"),lo=t,lo}l(Jd,"require_mapCacheHas");var uo,ku;function Qd(){if(ku)return uo;ku=1;var e=Kr();function t(n,r){var a=e(this,n),i=a.size;return a.set(n,r),this.size+=a.size==i?0:1,this}return l(t,"mapCacheSet"),uo=t,uo}l(Qd,"require_mapCacheSet");var co,_u;function eh(){if(_u)return co;_u=1;var e=Gd(),t=Zd(),n=$d(),r=Jd(),a=Qd();function i(o){var c=-1,u=o==null?0:o.length;for(this.clear();++c<u;){var s=o[c];this.set(s[0],s[1])}}return l(i,"MapCache"),i.prototype.clear=e,i.prototype.delete=t,i.prototype.get=n,i.prototype.has=r,i.prototype.set=a,co=i,co}l(eh,"require_MapCache");var ho,Bu;function th(){if(Bu)return ho;Bu=1;var e=eh(),t="Expected a function";function n(r,a){if(typeof r!="function"||a!=null&&typeof a!="function")throw new TypeError(t);var i=l(function(){var o=arguments,c=a?a.apply(this,o):o[0],u=i.cache;if(u.has(c))return u.get(c);var s=r.apply(this,o);return i.cache=u.set(c,s)||u,s},"memoized");return i.cache=new(n.Cache||e),i}return l(n,"memoize"),n.Cache=e,ho=n,ho}l(th,"requireMemoize");var fo,Au;function nh(){if(Au)return fo;Au=1;var e=th(),t=500;function n(r){var a=e(r,function(o){return i.size===t&&i.clear(),o}),i=a.cache;return a}return l(n,"memoizeCapped"),fo=n,fo}l(nh,"require_memoizeCapped");var po,Mu;function Bs(){if(Mu)return po;Mu=1;var e=nh(),t=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,n=/\\(\\)?/g,r=e(function(a){var i=[];return a.charCodeAt(0)===46&&i.push(""),a.replace(t,function(o,c,u,s){i.push(u?s.replace(n,"$1"):c||o)}),i});return po=r,po}l(Bs,"require_stringToPath");var go,Iu;function As(){if(Iu)return go;Iu=1;function e(t,n){for(var r=-1,a=t==null?0:t.length,i=Array(a);++r<a;)i[r]=n(t[r],r,t);return i}return l(e,"arrayMap"),go=e,go}l(As,"require_arrayMap");var vo,Ru;function rh(){if(Ru)return vo;Ru=1;var e=Za(),t=As(),n=Yr(),r=or(),a=e?e.prototype:void 0,i=a?a.toString:void 0;function o(c){if(typeof c=="string")return c;if(n(c))return t(c,o)+"";if(r(c))return i?i.call(c):"";var u=c+"";return u=="0"&&1/c==-1/0?"-0":u}return l(o,"baseToString"),vo=o,vo}l(rh,"require_baseToString");var yo,Nu;function Ms(){if(Nu)return yo;Nu=1;var e=rh();function t(n){return n==null?"":e(n)}return l(t,"toString"),yo=t,yo}l(Ms,"requireToString");var mo,Lu;function Is(){if(Lu)return mo;Lu=1;var e=Yr(),t=kd(),n=Bs(),r=Ms();function a(i,o){return e(i)?i:t(i,o)?[i]:n(r(i))}return l(a,"castPath"),mo=a,mo}l(Is,"require_castPath");var bo,Ou;function ei(){if(Ou)return bo;Ou=1;var e=or();function t(n){if(typeof n=="string"||e(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}return l(t,"toKey"),bo=t,bo}l(ei,"require_toKey");var xo,zu;function ah(){if(zu)return xo;zu=1;var e=Is(),t=ei();function n(r,a){a=e(a,r);for(var i=0,o=a.length;r!=null&&i<o;)r=r[t(a[i++])];return i&&i==o?r:void 0}return l(n,"baseGet"),xo=n,xo}l(ah,"require_baseGet");var wo,Fu;function ih(){if(Fu)return wo;Fu=1;var e=ah();function t(n,r,a){var i=n==null?void 0:e(n,r);return i===void 0?a:i}return l(t,"get"),wo=t,wo}l(ih,"requireGet");var nv=ih(),rv=ar(nv),Eo,Vu;function oh(){if(Vu)return Eo;Vu=1;var e=Qa(),t=(function(){try{var n=e(Object,"defineProperty");return n({},"",{}),n}catch{}})();return Eo=t,Eo}l(oh,"require_defineProperty");var Co,qu;function sh(){if(qu)return Co;qu=1;var e=oh();function t(n,r,a){r=="__proto__"&&e?e(n,r,{configurable:!0,enumerable:!0,value:a,writable:!0}):n[r]=a}return l(t,"baseAssignValue"),Co=t,Co}l(sh,"require_baseAssignValue");var To,ju;function lh(){if(ju)return To;ju=1;var e=sh(),t=_s(),n=Object.prototype,r=n.hasOwnProperty;function a(i,o,c){var u=i[o];(!(r.call(i,o)&&t(u,c))||c===void 0&&!(o in i))&&e(i,o,c)}return l(a,"assignValue"),To=a,To}l(lh,"require_assignValue");var So,Xu;function uh(){if(Xu)return So;Xu=1;var e=9007199254740991,t=/^(?:0|[1-9]\d*)$/;function n(r,a){var i=typeof r;return a=a??e,!!a&&(i=="number"||i!="symbol"&&t.test(r))&&r>-1&&r%1==0&&r<a}return l(n,"isIndex"),So=n,So}l(uh,"require_isIndex");var Po,Yu;function ch(){if(Yu)return Po;Yu=1;var e=lh(),t=Is(),n=uh(),r=ir(),a=ei();function i(o,c,u,s){if(!r(o))return o;c=t(c,o);for(var d=-1,h=c.length,f=h-1,p=o;p!=null&&++d<h;){var g=a(c[d]),y=u;if(g==="__proto__"||g==="constructor"||g==="prototype")return o;if(d!=f){var b=p[g];y=s?s(b,g,p):void 0,y===void 0&&(y=r(b)?b:n(c[d+1])?[]:{})}e(p,g,y),p=p[g]}return o}return l(i,"baseSet"),Po=i,Po}l(ch,"require_baseSet");var Do,Wu;function dh(){if(Wu)return Do;Wu=1;var e=ch();function t(n,r,a){return n==null?n:e(n,r,a)}return l(t,"set"),Do=t,Do}l(dh,"requireSet");var av=dh(),iv=ar(av),ko,Hu;function hh(){if(Hu)return ko;Hu=1;function e(t,n){var r=-1,a=t.length;for(n||(n=Array(a));++r<a;)n[r]=t[r];return n}return l(e,"copyArray"),ko=e,ko}l(hh,"require_copyArray");var _o,Ku;function fh(){if(Ku)return _o;Ku=1;var e=As(),t=hh(),n=Yr(),r=or(),a=Bs(),i=ei(),o=Ms();function c(u){return n(u)?e(u,i):r(u)?[u]:t(a(o(u)))}return l(c,"toPath"),_o=c,_o}l(fh,"requireToPath");var ov=fh(),sv=ar(ov),lv={data:l(function(e){var t={field:"data",bindingEvent:"data",allowBinding:!1,allowSetting:!1,allowGetting:!1,settingEvent:"data",settingTriggersEvent:!1,triggerFnName:"trigger",immutableKeys:{},updateStyle:!1,beforeGet:l(function(n){},"beforeGet"),beforeSet:l(function(n,r){},"beforeSet"),onSet:l(function(n){},"onSet"),canSet:l(function(n){return!0},"canSet")};return e=ve({},t,e),l(function(n,r){var a=e,i=this,o=i.length!==void 0,c=o?i:[i],u=o?i[0]:i;if(pe(n)){var s=n.indexOf(".")!==-1,d=s&&sv(n);if(a.allowGetting&&r===void 0){var h;return u&&(a.beforeGet(u),d&&u._private[a.field][n]===void 0?h=rv(u._private[a.field],d):h=u._private[a.field][n]),h}else if(a.allowSetting&&r!==void 0){var f=!a.immutableKeys[n];if(f){var p=vs({},n,r);a.beforeSet(i,p);for(var g=0,y=c.length;g<y;g++){var b=c[g];a.canSet(b)&&(d&&u._private[a.field][n]===void 0?iv(b._private[a.field],d,r):b._private[a.field][n]=r)}a.updateStyle&&i.updateStyle(),a.onSet(i),a.settingTriggersEvent&&i[a.triggerFnName](a.settingEvent)}}}else if(a.allowSetting&&Be(n)){var v=n,m,x,w=Object.keys(v);a.beforeSet(i,v);for(var T=0;T<w.length;T++){m=w[T],x=v[m];var P=!a.immutableKeys[m];if(P)for(var E=0;E<c.length;E++){var k=c[E];a.canSet(k)&&(k._private[a.field][m]=x)}}a.updateStyle&&i.updateStyle(),a.onSet(i),a.settingTriggersEvent&&i[a.triggerFnName](a.settingEvent)}else if(a.allowBinding&&He(n)){var _=n;i.on(a.bindingEvent,_)}else if(a.allowGetting&&n===void 0){var B;return u&&(a.beforeGet(u),B=u._private[a.field]),B}return i},"dataImpl")},"data"),removeData:l(function(e){var t={field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!1,immutableKeys:{}};return e=ve({},t,e),l(function(n){var r=e,a=this,i=a.length!==void 0,o=i?a:[a];if(pe(n)){for(var c=n.split(/\s+/),u=c.length,s=0;s<u;s++){var d=c[s];if(!dn(d)){var h=!r.immutableKeys[d];if(h)for(var f=0,p=o.length;f<p;f++)o[f]._private[r.field][d]=void 0}}r.triggerEvent&&a[r.triggerFnName](r.event)}else if(n===void 0){for(var g=0,y=o.length;g<y;g++)for(var b=o[g]._private[r.field],v=Object.keys(b),m=0;m<v.length;m++){var x=v[m],w=!r.immutableKeys[x];w&&(b[x]=void 0)}r.triggerEvent&&a[r.triggerFnName](r.event)}return a},"removeDataImpl")},"removeData")},uv={eventAliasesOn:l(function(e){var t=e;t.addListener=t.listen=t.bind=t.on,t.unlisten=t.unbind=t.off=t.removeListener,t.trigger=t.emit,t.pon=t.promiseOn=function(n,r){var a=this,i=Array.prototype.slice.call(arguments,0);return new lr(function(o,c){var u=l(function(h){a.off.apply(a,d),o(h)},"callback"),s=i.concat([u]),d=s.concat([]);a.on.apply(a,s)})}},"eventAliasesOn")},Le={};[tv,lv,uv].forEach(function(e){ve(Le,e)});var cv={animate:Le.animate(),animation:Le.animation(),animated:Le.animated(),clearQueue:Le.clearQueue(),delay:Le.delay(),delayAnimation:Le.delayAnimation(),stop:Le.stop()},Ea={classes:l(function(e){var t=this;if(e===void 0){var n=[];return t[0]._private.classes.forEach(function(p){return n.push(p)}),n}else Ve(e)||(e=(e||"").match(/\S+/g)||[]);for(var r=[],a=new sr(e),i=0;i<t.length;i++){for(var o=t[i],c=o._private,u=c.classes,s=!1,d=0;d<e.length;d++){var h=e[d],f=u.has(h);if(!f){s=!0;break}}s||(s=u.size!==e.length),s&&(c.classes=a,r.push(o))}return r.length>0&&this.spawn(r).updateStyle().emit("class"),t},"classes"),addClass:l(function(e){return this.toggleClass(e,!0)},"addClass"),hasClass:l(function(e){var t=this[0];return t!=null&&t._private.classes.has(e)},"hasClass"),toggleClass:l(function(e,t){Ve(e)||(e=e.match(/\S+/g)||[]);for(var n=this,r=t===void 0,a=[],i=0,o=n.length;i<o;i++)for(var c=n[i],u=c._private.classes,s=!1,d=0;d<e.length;d++){var h=e[d],f=u.has(h),p=!1;t||r&&!f?(u.add(h),p=!0):(!t||r&&f)&&(u.delete(h),p=!0),!s&&p&&(a.push(c),s=!0)}return a.length>0&&this.spawn(a).updateStyle().emit("class"),n},"toggleClass"),removeClass:l(function(e){return this.toggleClass(e,!1)},"removeClass"),flashClass:l(function(e,t){var n=this;if(t==null)t=250;else if(t===0)return n;return n.addClass(e),setTimeout(function(){n.removeClass(e)},t),n},"flashClass")};Ea.className=Ea.classNames=Ea.classes;var _e={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:nt,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};_e.variable="(?:[\\w-.]|(?:\\\\"+_e.metaChar+"))+";_e.className="(?:[\\w-]|(?:\\\\"+_e.metaChar+"))+";_e.value=_e.string+"|"+_e.number;_e.id=_e.variable;(function(){var e,t,n;for(e=_e.comparatorOp.split("|"),n=0;n<e.length;n++)t=e[n],_e.comparatorOp+="|@"+t;for(e=_e.comparatorOp.split("|"),n=0;n<e.length;n++)t=e[n],!(t.indexOf("!")>=0)&&t!=="="&&(_e.comparatorOp+="|\\!"+t)})();var Fe=l(function(){return{checks:[]}},"newQuery"),le={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},Wo=[{selector:":selected",matches:l(function(e){return e.selected()},"matches")},{selector:":unselected",matches:l(function(e){return!e.selected()},"matches")},{selector:":selectable",matches:l(function(e){return e.selectable()},"matches")},{selector:":unselectable",matches:l(function(e){return!e.selectable()},"matches")},{selector:":locked",matches:l(function(e){return e.locked()},"matches")},{selector:":unlocked",matches:l(function(e){return!e.locked()},"matches")},{selector:":visible",matches:l(function(e){return e.visible()},"matches")},{selector:":hidden",matches:l(function(e){return!e.visible()},"matches")},{selector:":transparent",matches:l(function(e){return e.transparent()},"matches")},{selector:":grabbed",matches:l(function(e){return e.grabbed()},"matches")},{selector:":free",matches:l(function(e){return!e.grabbed()},"matches")},{selector:":removed",matches:l(function(e){return e.removed()},"matches")},{selector:":inside",matches:l(function(e){return!e.removed()},"matches")},{selector:":grabbable",matches:l(function(e){return e.grabbable()},"matches")},{selector:":ungrabbable",matches:l(function(e){return!e.grabbable()},"matches")},{selector:":animated",matches:l(function(e){return e.animated()},"matches")},{selector:":unanimated",matches:l(function(e){return!e.animated()},"matches")},{selector:":parent",matches:l(function(e){return e.isParent()},"matches")},{selector:":childless",matches:l(function(e){return e.isChildless()},"matches")},{selector:":child",matches:l(function(e){return e.isChild()},"matches")},{selector:":orphan",matches:l(function(e){return e.isOrphan()},"matches")},{selector:":nonorphan",matches:l(function(e){return e.isChild()},"matches")},{selector:":compound",matches:l(function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()},"matches")},{selector:":loop",matches:l(function(e){return e.isLoop()},"matches")},{selector:":simple",matches:l(function(e){return e.isSimple()},"matches")},{selector:":active",matches:l(function(e){return e.active()},"matches")},{selector:":inactive",matches:l(function(e){return!e.active()},"matches")},{selector:":backgrounding",matches:l(function(e){return e.backgrounding()},"matches")},{selector:":nonbackgrounding",matches:l(function(e){return!e.backgrounding()},"matches")}].sort(function(e,t){return up(e.selector,t.selector)}),dv=(function(){for(var e={},t,n=0;n<Wo.length;n++)t=Wo[n],e[t.selector]=t.matches;return e})(),hv=l(function(e,t){return dv[e](t)},"stateSelectorMatches"),fv="("+Wo.map(function(e){return e.selector}).join("|")+")",Vn=l(function(e){return e.replace(new RegExp("\\\\("+_e.metaChar+")","g"),function(t,n){return n})},"cleanMetaChars"),nn=l(function(e,t,n){e[e.length-1]=n},"replaceLastQuery"),Ho=[{name:"group",query:!0,regex:"("+_e.group+")",populate:l(function(e,t,n){var r=Ue(n,1),a=r[0];t.checks.push({type:le.GROUP,value:a==="*"?a:a+"s"})},"populate")},{name:"state",query:!0,regex:fv,populate:l(function(e,t,n){var r=Ue(n,1),a=r[0];t.checks.push({type:le.STATE,value:a})},"populate")},{name:"id",query:!0,regex:"\\#("+_e.id+")",populate:l(function(e,t,n){var r=Ue(n,1),a=r[0];t.checks.push({type:le.ID,value:Vn(a)})},"populate")},{name:"className",query:!0,regex:"\\.("+_e.className+")",populate:l(function(e,t,n){var r=Ue(n,1),a=r[0];t.checks.push({type:le.CLASS,value:Vn(a)})},"populate")},{name:"dataExists",query:!0,regex:"\\[\\s*("+_e.variable+")\\s*\\]",populate:l(function(e,t,n){var r=Ue(n,1),a=r[0];t.checks.push({type:le.DATA_EXIST,field:Vn(a)})},"populate")},{name:"dataCompare",query:!0,regex:"\\[\\s*("+_e.variable+")\\s*("+_e.comparatorOp+")\\s*("+_e.value+")\\s*\\]",populate:l(function(e,t,n){var r=Ue(n,3),a=r[0],i=r[1],o=r[2],c=new RegExp("^"+_e.string+"$").exec(o)!=null;c?o=o.substring(1,o.length-1):o=parseFloat(o),t.checks.push({type:le.DATA_COMPARE,field:Vn(a),operator:i,value:o})},"populate")},{name:"dataBool",query:!0,regex:"\\[\\s*("+_e.boolOp+")\\s*("+_e.variable+")\\s*\\]",populate:l(function(e,t,n){var r=Ue(n,2),a=r[0],i=r[1];t.checks.push({type:le.DATA_BOOL,field:Vn(i),operator:a})},"populate")},{name:"metaCompare",query:!0,regex:"\\[\\[\\s*("+_e.meta+")\\s*("+_e.comparatorOp+")\\s*("+_e.number+")\\s*\\]\\]",populate:l(function(e,t,n){var r=Ue(n,3),a=r[0],i=r[1],o=r[2];t.checks.push({type:le.META_COMPARE,field:Vn(a),operator:i,value:parseFloat(o)})},"populate")},{name:"nextQuery",separator:!0,regex:_e.separator,populate:l(function(e,t){var n=e.currentSubject,r=e.edgeCount,a=e.compoundCount,i=e[e.length-1];n!=null&&(i.subject=n,e.currentSubject=null),i.edgeCount=r,i.compoundCount=a,e.edgeCount=0,e.compoundCount=0;var o=e[e.length++]=Fe();return o},"populate")},{name:"directedEdge",separator:!0,regex:_e.directedEdge,populate:l(function(e,t){if(e.currentSubject==null){var n=Fe(),r=t,a=Fe();return n.checks.push({type:le.DIRECTED_EDGE,source:r,target:a}),nn(e,t,n),e.edgeCount++,a}else{var i=Fe(),o=t,c=Fe();return i.checks.push({type:le.NODE_SOURCE,source:o,target:c}),nn(e,t,i),e.edgeCount++,c}},"populate")},{name:"undirectedEdge",separator:!0,regex:_e.undirectedEdge,populate:l(function(e,t){if(e.currentSubject==null){var n=Fe(),r=t,a=Fe();return n.checks.push({type:le.UNDIRECTED_EDGE,nodes:[r,a]}),nn(e,t,n),e.edgeCount++,a}else{var i=Fe(),o=t,c=Fe();return i.checks.push({type:le.NODE_NEIGHBOR,node:o,neighbor:c}),nn(e,t,i),c}},"populate")},{name:"child",separator:!0,regex:_e.child,populate:l(function(e,t){if(e.currentSubject==null){var n=Fe(),r=Fe(),a=e[e.length-1];return n.checks.push({type:le.CHILD,parent:a,child:r}),nn(e,t,n),e.compoundCount++,r}else if(e.currentSubject===t){var i=Fe(),o=e[e.length-1],c=Fe(),u=Fe(),s=Fe(),d=Fe();return i.checks.push({type:le.COMPOUND_SPLIT,left:o,right:c,subject:u}),u.checks=t.checks,t.checks=[{type:le.TRUE}],d.checks.push({type:le.TRUE}),c.checks.push({type:le.PARENT,parent:d,child:s}),nn(e,o,i),e.currentSubject=u,e.compoundCount++,s}else{var h=Fe(),f=Fe(),p=[{type:le.PARENT,parent:h,child:f}];return h.checks=t.checks,t.checks=p,e.compoundCount++,f}},"populate")},{name:"descendant",separator:!0,regex:_e.descendant,populate:l(function(e,t){if(e.currentSubject==null){var n=Fe(),r=Fe(),a=e[e.length-1];return n.checks.push({type:le.DESCENDANT,ancestor:a,descendant:r}),nn(e,t,n),e.compoundCount++,r}else if(e.currentSubject===t){var i=Fe(),o=e[e.length-1],c=Fe(),u=Fe(),s=Fe(),d=Fe();return i.checks.push({type:le.COMPOUND_SPLIT,left:o,right:c,subject:u}),u.checks=t.checks,t.checks=[{type:le.TRUE}],d.checks.push({type:le.TRUE}),c.checks.push({type:le.ANCESTOR,ancestor:d,descendant:s}),nn(e,o,i),e.currentSubject=u,e.compoundCount++,s}else{var h=Fe(),f=Fe(),p=[{type:le.ANCESTOR,ancestor:h,descendant:f}];return h.checks=t.checks,t.checks=p,e.compoundCount++,f}},"populate")},{name:"subject",modifier:!0,regex:_e.subject,populate:l(function(e,t){if(e.currentSubject!=null&&e.currentSubject!==t)return Oe("Redefinition of subject in selector `"+e.toString()+"`"),!1;e.currentSubject=t;var n=e[e.length-1],r=n.checks[0],a=r==null?null:r.type;a===le.DIRECTED_EDGE?r.type=le.NODE_TARGET:a===le.UNDIRECTED_EDGE&&(r.type=le.NODE_NEIGHBOR,r.node=r.nodes[1],r.neighbor=r.nodes[0],r.nodes=null)},"populate")}];Ho.forEach(function(e){return e.regexObj=new RegExp("^"+e.regex)});var pv=l(function(e){for(var t,n,r,a=0;a<Ho.length;a++){var i=Ho[a],o=i.name,c=e.match(i.regexObj);if(c!=null){n=c,t=i,r=o;var u=c[0];e=e.substring(u.length);break}}return{expr:t,match:n,name:r,remaining:e}},"consumeExpr"),gv=l(function(e){var t=e.match(/^\s+/);if(t){var n=t[0];e=e.substring(n.length)}return e},"consumeWhitespace"),vv=l(function(e){var t=this,n=t.inputText=e,r=t[0]=Fe();for(t.length=1,n=gv(n);;){var a=pv(n);if(a.expr==null)return Oe("The selector `"+e+"`is invalid"),!1;var i=a.match.slice(1),o=a.expr.populate(t,r,i);if(o===!1)return!1;if(o!=null&&(r=o),n=a.remaining,n.match(/^\s*$/))break}var c=t[t.length-1];t.currentSubject!=null&&(c.subject=t.currentSubject),c.edgeCount=t.edgeCount,c.compoundCount=t.compoundCount;for(var u=0;u<t.length;u++){var s=t[u];if(s.compoundCount>0&&s.edgeCount>0)return Oe("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(s.edgeCount>1)return Oe("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;s.edgeCount===1&&Oe("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},"parse"),yv=l(function(){if(this.toStringCache!=null)return this.toStringCache;for(var e=l(function(u){return u??""},"clean"),t=l(function(u){return pe(u)?'"'+u+'"':e(u)},"cleanVal"),n=l(function(u){return" "+u+" "},"space"),r=l(function(u,s){var d=u.type,h=u.value;switch(d){case le.GROUP:{var f=e(h);return f.substring(0,f.length-1)}case le.DATA_COMPARE:{var p=u.field,g=u.operator;return"["+p+n(e(g))+t(h)+"]"}case le.DATA_BOOL:{var y=u.operator,b=u.field;return"["+e(y)+b+"]"}case le.DATA_EXIST:{var v=u.field;return"["+v+"]"}case le.META_COMPARE:{var m=u.operator,x=u.field;return"[["+x+n(e(m))+t(h)+"]]"}case le.STATE:return h;case le.ID:return"#"+h;case le.CLASS:return"."+h;case le.PARENT:case le.CHILD:return a(u.parent,s)+n(">")+a(u.child,s);case le.ANCESTOR:case le.DESCENDANT:return a(u.ancestor,s)+" "+a(u.descendant,s);case le.COMPOUND_SPLIT:{var w=a(u.left,s),T=a(u.subject,s),P=a(u.right,s);return w+(w.length>0?" ":"")+T+P}case le.TRUE:return""}},"checkToString"),a=l(function(u,s){return u.checks.reduce(function(d,h,f){return d+(s===u&&f===0?"$":"")+r(h,s)},"")},"queryToString"),i="",o=0;o<this.length;o++){var c=this[o];i+=a(c,c.subject),this.length>1&&o<this.length-1&&(i+=", ")}return this.toStringCache=i,i},"toString"),mv={parse:vv,toString:yv},ph=l(function(e,t,n){var r,a=pe(e),i=re(e),o=pe(n),c,u,s=!1,d=!1,h=!1;switch(t.indexOf("!")>=0&&(t=t.replace("!",""),d=!0),t.indexOf("@")>=0&&(t=t.replace("@",""),s=!0),(a||o||s)&&(c=!a&&!i?"":""+e,u=""+n),s&&(e=c=c.toLowerCase(),n=u=u.toLowerCase()),t){case"*=":r=c.indexOf(u)>=0;break;case"$=":r=c.indexOf(u,c.length-u.length)>=0;break;case"^=":r=c.indexOf(u)===0;break;case"=":r=e===n;break;case">":h=!0,r=e>n;break;case">=":h=!0,r=e>=n;break;case"<":h=!0,r=e<n;break;case"<=":h=!0,r=e<=n;break;default:r=!1;break}return d&&(e!=null||!h)&&(r=!r),r},"valCmp"),bv=l(function(e,t){switch(t){case"?":return!!e;case"!":return!e;case"^":return e===void 0}},"boolCmp"),xv=l(function(e){return e!==void 0},"existCmp"),Rs=l(function(e,t){return e.data(t)},"data"),wv=l(function(e,t){return e[t]()},"meta"),Ge=[],Ye=l(function(e,t){return e.checks.every(function(n){return Ge[n.type](n,t)})},"matches");Ge[le.GROUP]=function(e,t){var n=e.value;return n==="*"||n===t.group()};Ge[le.STATE]=function(e,t){var n=e.value;return hv(n,t)};Ge[le.ID]=function(e,t){var n=e.value;return t.id()===n};Ge[le.CLASS]=function(e,t){var n=e.value;return t.hasClass(n)};Ge[le.META_COMPARE]=function(e,t){var n=e.field,r=e.operator,a=e.value;return ph(wv(t,n),r,a)};Ge[le.DATA_COMPARE]=function(e,t){var n=e.field,r=e.operator,a=e.value;return ph(Rs(t,n),r,a)};Ge[le.DATA_BOOL]=function(e,t){var n=e.field,r=e.operator;return bv(Rs(t,n),r)};Ge[le.DATA_EXIST]=function(e,t){var n=e.field;return e.operator,xv(Rs(t,n))};Ge[le.UNDIRECTED_EDGE]=function(e,t){var n=e.nodes[0],r=e.nodes[1],a=t.source(),i=t.target();return Ye(n,a)&&Ye(r,i)||Ye(r,a)&&Ye(n,i)};Ge[le.NODE_NEIGHBOR]=function(e,t){return Ye(e.node,t)&&t.neighborhood().some(function(n){return n.isNode()&&Ye(e.neighbor,n)})};Ge[le.DIRECTED_EDGE]=function(e,t){return Ye(e.source,t.source())&&Ye(e.target,t.target())};Ge[le.NODE_SOURCE]=function(e,t){return Ye(e.source,t)&&t.outgoers().some(function(n){return n.isNode()&&Ye(e.target,n)})};Ge[le.NODE_TARGET]=function(e,t){return Ye(e.target,t)&&t.incomers().some(function(n){return n.isNode()&&Ye(e.source,n)})};Ge[le.CHILD]=function(e,t){return Ye(e.child,t)&&Ye(e.parent,t.parent())};Ge[le.PARENT]=function(e,t){return Ye(e.parent,t)&&t.children().some(function(n){return Ye(e.child,n)})};Ge[le.DESCENDANT]=function(e,t){return Ye(e.descendant,t)&&t.ancestors().some(function(n){return Ye(e.ancestor,n)})};Ge[le.ANCESTOR]=function(e,t){return Ye(e.ancestor,t)&&t.descendants().some(function(n){return Ye(e.descendant,n)})};Ge[le.COMPOUND_SPLIT]=function(e,t){return Ye(e.subject,t)&&Ye(e.left,t)&&Ye(e.right,t)};Ge[le.TRUE]=function(){return!0};Ge[le.COLLECTION]=function(e,t){var n=e.value;return n.has(t)};Ge[le.FILTER]=function(e,t){var n=e.value;return n(t)};var Ev=l(function(e){var t=this;if(t.length===1&&t[0].checks.length===1&&t[0].checks[0].type===le.ID)return e.getElementById(t[0].checks[0].value).collection();var n=l(function(r){for(var a=0;a<t.length;a++){var i=t[a];if(Ye(i,r))return!0}return!1},"selectorFunction");return t.text()==null&&(n=l(function(){return!0},"selectorFunction")),e.filter(n)},"filter"),Cv=l(function(e){for(var t=this,n=0;n<t.length;n++){var r=t[n];if(Ye(r,e))return!0}return!1},"matches"),Tv={matches:Cv,filter:Ev},pn=l(function(e){this.inputText=e,this.currentSubject=null,this.compoundCount=0,this.edgeCount=0,this.length=0,e==null||pe(e)&&e.match(/^\s*$/)||(Dt(e)?this.addQuery({checks:[{type:le.COLLECTION,value:e.collection()}]}):He(e)?this.addQuery({checks:[{type:le.FILTER,value:e}]}):pe(e)?this.parse(e)||(this.invalid=!0):We("A selector must be created from a string; found "))},"Selector"),gn=pn.prototype;[mv,Tv].forEach(function(e){return ve(gn,e)});gn.text=function(){return this.inputText};gn.size=function(){return this.length};gn.eq=function(e){return this[e]};gn.sameText=function(e){return!this.invalid&&!e.invalid&&this.text()===e.text()};gn.addQuery=function(e){this[this.length++]=e};gn.selector=gn.toString;var un={allAre:l(function(e){var t=new pn(e);return this.every(function(n){return t.matches(n)})},"allAre"),is:l(function(e){var t=new pn(e);return this.some(function(n){return t.matches(n)})},"is"),some:l(function(e,t){for(var n=0;n<this.length;n++){var r=t?e.apply(t,[this[n],n,this]):e(this[n],n,this);if(r)return!0}return!1},"some"),every:l(function(e,t){for(var n=0;n<this.length;n++){var r=t?e.apply(t,[this[n],n,this]):e(this[n],n,this);if(!r)return!1}return!0},"every"),same:l(function(e){if(this===e)return!0;e=this.cy().collection(e);var t=this.length,n=e.length;return t!==n?!1:t===1?this[0]===e[0]:this.every(function(r){return e.hasElementWithId(r.id())})},"same"),anySame:l(function(e){return e=this.cy().collection(e),this.some(function(t){return e.hasElementWithId(t.id())})},"anySame"),allAreNeighbors:l(function(e){e=this.cy().collection(e);var t=this.neighborhood();return e.every(function(n){return t.hasElementWithId(n.id())})},"allAreNeighbors"),contains:l(function(e){e=this.cy().collection(e);var t=this;return e.every(function(n){return t.hasElementWithId(n.id())})},"contains")};un.allAreNeighbours=un.allAreNeighbors;un.has=un.contains;un.equal=un.equals=un.same;var At=l(function(e,t){return l(function(n,r,a,i){var o=n,c=this,u;if(o==null?u="":Dt(o)&&o.length===1&&(u=o.id()),c.length===1&&u){var s=c[0]._private,d=s.traversalCache=s.traversalCache||{},h=d[t]=d[t]||[],f=An(u),p=h[f];return p||(h[f]=e.call(c,n,r,a,i))}else return e.call(c,n,r,a,i)},"traversalCache")},"cache"),nr={parent:l(function(e){var t=[];if(this.length===1){var n=this[0]._private.parent;if(n)return n}for(var r=0;r<this.length;r++){var a=this[r],i=a._private.parent;i&&t.push(i)}return this.spawn(t,!0).filter(e)},"parent"),parents:l(function(e){for(var t=[],n=this.parent();n.nonempty();){for(var r=0;r<n.length;r++){var a=n[r];t.push(a)}n=n.parent()}return this.spawn(t,!0).filter(e)},"parents"),commonAncestors:l(function(e){for(var t,n=0;n<this.length;n++){var r=this[n],a=r.parents();t=t||a,t=t.intersect(a)}return t.filter(e)},"commonAncestors"),orphans:l(function(e){return this.stdFilter(function(t){return t.isOrphan()}).filter(e)},"orphans"),nonorphans:l(function(e){return this.stdFilter(function(t){return t.isChild()}).filter(e)},"nonorphans"),children:At(function(e){for(var t=[],n=0;n<this.length;n++)for(var r=this[n],a=r._private.children,i=0;i<a.length;i++)t.push(a[i]);return this.spawn(t,!0).filter(e)},"children"),siblings:l(function(e){return this.parent().children().not(this).filter(e)},"siblings"),isParent:l(function(){var e=this[0];if(e)return e.isNode()&&e._private.children.length!==0},"isParent"),isChildless:l(function(){var e=this[0];if(e)return e.isNode()&&e._private.children.length===0},"isChildless"),isChild:l(function(){var e=this[0];if(e)return e.isNode()&&e._private.parent!=null},"isChild"),isOrphan:l(function(){var e=this[0];if(e)return e.isNode()&&e._private.parent==null},"isOrphan"),descendants:l(function(e){var t=[];function n(r){for(var a=0;a<r.length;a++){var i=r[a];t.push(i),i.children().nonempty()&&n(i.children())}}return l(n,"add"),n(this.children()),this.spawn(t,!0).filter(e)},"descendants")};function ti(e,t,n,r){for(var a=[],i=new sr,o=e.cy(),c=o.hasCompoundNodes(),u=0;u<e.length;u++){var s=e[u];n?a.push(s):c&&r(a,i,s)}for(;a.length>0;){var d=a.shift();t(d),i.add(d.id()),c&&r(a,i,d)}return e}l(ti,"forEachCompound");function Ns(e,t,n){if(n.isParent())for(var r=n._private.children,a=0;a<r.length;a++){var i=r[a];t.has(i.id())||e.push(i)}}l(Ns,"addChildren");nr.forEachDown=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return ti(this,e,t,Ns)};function Ls(e,t,n){if(n.isChild()){var r=n._private.parent;t.has(r.id())||e.push(r)}}l(Ls,"addParent");nr.forEachUp=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return ti(this,e,t,Ls)};function gh(e,t,n){Ls(e,t,n),Ns(e,t,n)}l(gh,"addParentAndChildren");nr.forEachUpAndDown=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return ti(this,e,t,gh)};nr.ancestors=nr.parents;var Ir,vh;Ir=vh={data:Le.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:Le.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:Le.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Le.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:Le.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:Le.removeData({field:"rscratch",triggerEvent:!1}),id:l(function(){var e=this[0];if(e)return e._private.data.id},"id")};Ir.attr=Ir.data;Ir.removeAttr=Ir.removeData;var Sv=vh,ni={};function Ca(e){return function(t){var n=this;if(t===void 0&&(t=!0),n.length!==0)if(n.isNode()&&!n.removed()){for(var r=0,a=n[0],i=a._private.edges,o=0;o<i.length;o++){var c=i[o];!t&&c.isLoop()||(r+=e(a,c))}return r}else return}}l(Ca,"defineDegreeFunction");ve(ni,{degree:Ca(function(e,t){return t.source().same(t.target())?2:1}),indegree:Ca(function(e,t){return t.target().same(e)?1:0}),outdegree:Ca(function(e,t){return t.source().same(e)?1:0})});function Tn(e,t){return function(n){for(var r,a=this.nodes(),i=0;i<a.length;i++){var o=a[i],c=o[e](n);c!==void 0&&(r===void 0||t(c,r))&&(r=c)}return r}}l(Tn,"defineDegreeBoundsFunction");ve(ni,{minDegree:Tn("degree",function(e,t){return e<t}),maxDegree:Tn("degree",function(e,t){return e>t}),minIndegree:Tn("indegree",function(e,t){return e<t}),maxIndegree:Tn("indegree",function(e,t){return e>t}),minOutdegree:Tn("outdegree",function(e,t){return e<t}),maxOutdegree:Tn("outdegree",function(e,t){return e>t})});ve(ni,{totalDegree:l(function(e){for(var t=0,n=this.nodes(),r=0;r<n.length;r++)t+=n[r].degree(e);return t},"totalDegree")});var Lt,yh,mh=l(function(e,t,n){for(var r=0;r<e.length;r++){var a=e[r];if(!a.locked()){var i=a._private.position,o={x:t.x!=null?t.x-i.x:0,y:t.y!=null?t.y-i.y:0};a.isParent()&&!(o.x===0&&o.y===0)&&a.children().shift(o,n),a.dirtyBoundingBoxCache()}}},"beforePositionSet"),Gu={field:"position",bindingEvent:"position",allowBinding:!0,allowSetting:!0,settingEvent:"position",settingTriggersEvent:!0,triggerFnName:"emitAndNotify",allowGetting:!0,validKeys:["x","y"],beforeGet:l(function(e){e.updateCompoundBounds()},"beforeGet"),beforeSet:l(function(e,t){mh(e,t,!1)},"beforeSet"),onSet:l(function(e){e.dirtyCompoundBoundsCache()},"onSet"),canSet:l(function(e){return!e.locked()},"canSet")};Lt=yh={position:Le.data(Gu),silentPosition:Le.data(ve({},Gu,{allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!1,beforeSet:l(function(e,t){mh(e,t,!0)},"beforeSet"),onSet:l(function(e){e.dirtyCompoundBoundsCache()},"onSet")})),positions:l(function(e,t){if(Be(e))t?this.silentPosition(e):this.position(e);else if(He(e)){var n=e,r=this.cy();r.startBatch();for(var a=0;a<this.length;a++){var i=this[a],o=void 0;(o=n(i,a))&&(t?i.silentPosition(o):i.position(o))}r.endBatch()}return this},"positions"),silentPositions:l(function(e){return this.positions(e,!0)},"silentPositions"),shift:l(function(e,t,n){var r;if(Be(e)?(r={x:re(e.x)?e.x:0,y:re(e.y)?e.y:0},n=t):pe(e)&&re(t)&&(r={x:0,y:0},r[e]=t),r!=null){var a=this.cy();a.startBatch();for(var i=0;i<this.length;i++){var o=this[i];if(!(a.hasCompoundNodes()&&o.isChild()&&o.ancestors().anySame(this))){var c=o.position(),u={x:c.x+r.x,y:c.y+r.y};n?o.silentPosition(u):o.position(u)}}a.endBatch()}return this},"shift"),silentShift:l(function(e,t){return Be(e)?this.shift(e,!0):pe(e)&&re(t)&&this.shift(e,t,!0),this},"silentShift"),renderedPosition:l(function(e,t){var n=this[0],r=this.cy(),a=r.zoom(),i=r.pan(),o=Be(e)?e:void 0,c=o!==void 0||t!==void 0&&pe(e);if(n&&n.isNode())if(c)for(var u=0;u<this.length;u++){var s=this[u];t!==void 0?s.position(e,(t-i[e])/a):o!==void 0&&s.position(cd(o,a,i))}else{var d=n.position();return o=Ja(d,a,i),e===void 0?o:o[e]}else if(!c)return;return this},"renderedPosition"),relativePosition:l(function(e,t){var n=this[0],r=this.cy(),a=Be(e)?e:void 0,i=a!==void 0||t!==void 0&&pe(e),o=r.hasCompoundNodes();if(n&&n.isNode())if(i)for(var c=0;c<this.length;c++){var u=this[c],s=o?u.parent():null,d=s&&s.length>0,h=d;d&&(s=s[0]);var f=h?s.position():{x:0,y:0};t!==void 0?u.position(e,t+f[e]):a!==void 0&&u.position({x:a.x+f.x,y:a.y+f.y})}else{var p=n.position(),g=o?n.parent():null,y=g&&g.length>0,b=y;y&&(g=g[0]);var v=b?g.position():{x:0,y:0};return a={x:p.x-v.x,y:p.y-v.y},e===void 0?a:a[e]}else if(!i)return;return this},"relativePosition")};Lt.modelPosition=Lt.point=Lt.position;Lt.modelPositions=Lt.points=Lt.positions;Lt.renderedPoint=Lt.renderedPosition;Lt.relativePoint=Lt.relativePosition;var Pv=yh,Qn,yn;Qn=yn={};yn.renderedBoundingBox=function(e){var t=this.boundingBox(e),n=this.cy(),r=n.zoom(),a=n.pan(),i=t.x1*r+a.x,o=t.x2*r+a.x,c=t.y1*r+a.y,u=t.y2*r+a.y;return{x1:i,x2:o,y1:c,y2:u,w:o-i,h:u-c}};yn.dirtyCompoundBoundsCache=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,t=this.cy();return!t.styleEnabled()||!t.hasCompoundNodes()?this:(this.forEachUp(function(n){if(n.isParent()){var r=n._private;r.compoundBoundsClean=!1,r.bbCache=null,e||n.emitAndNotify("bounds")}}),this)};yn.updateCompoundBounds=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,t=this.cy();if(!t.styleEnabled()||!t.hasCompoundNodes())return this;if(!e&&t.batching())return this;function n(o){if(!o.isParent())return;var c=o._private,u=o.children(),s=o.pstyle("compound-sizing-wrt-labels").value==="include",d={width:{val:o.pstyle("min-width").pfValue,left:o.pstyle("min-width-bias-left"),right:o.pstyle("min-width-bias-right")},height:{val:o.pstyle("min-height").pfValue,top:o.pstyle("min-height-bias-top"),bottom:o.pstyle("min-height-bias-bottom")}},h=u.boundingBox({includeLabels:s,includeOverlays:!1,useCache:!1}),f=c.position;(h.w===0||h.h===0)&&(h={w:o.pstyle("width").pfValue,h:o.pstyle("height").pfValue},h.x1=f.x-h.w/2,h.x2=f.x+h.w/2,h.y1=f.y-h.h/2,h.y2=f.y+h.h/2);function p(_,B,D){var S=0,M=0,A=B+D;return _>0&&A>0&&(S=B/A*_,M=D/A*_),{biasDiff:S,biasComplementDiff:M}}l(p,"computeBiasValues");function g(_,B,D,S){if(D.units==="%")switch(S){case"width":return _>0?D.pfValue*_:0;case"height":return B>0?D.pfValue*B:0;case"average":return _>0&&B>0?D.pfValue*(_+B)/2:0;case"min":return _>0&&B>0?_>B?D.pfValue*B:D.pfValue*_:0;case"max":return _>0&&B>0?_>B?D.pfValue*_:D.pfValue*B:0;default:return 0}else return D.units==="px"?D.pfValue:0}l(g,"computePaddingValues");var y=d.width.left.value;d.width.left.units==="px"&&d.width.val>0&&(y=y*100/d.width.val);var b=d.width.right.value;d.width.right.units==="px"&&d.width.val>0&&(b=b*100/d.width.val);var v=d.height.top.value;d.height.top.units==="px"&&d.height.val>0&&(v=v*100/d.height.val);var m=d.height.bottom.value;d.height.bottom.units==="px"&&d.height.val>0&&(m=m*100/d.height.val);var x=p(d.width.val-h.w,y,b),w=x.biasDiff,T=x.biasComplementDiff,P=p(d.height.val-h.h,v,m),E=P.biasDiff,k=P.biasComplementDiff;c.autoPadding=g(h.w,h.h,o.pstyle("padding"),o.pstyle("padding-relative-to").value),c.autoWidth=Math.max(h.w,d.width.val),f.x=(-w+h.x1+h.x2+T)/2,c.autoHeight=Math.max(h.h,d.height.val),f.y=(-E+h.y1+h.y2+k)/2}l(n,"update");for(var r=0;r<this.length;r++){var a=this[r],i=a._private;(!i.compoundBoundsClean||e)&&(n(a),t.batching()||(i.compoundBoundsClean=!0))}return this};var Bt=l(function(e){return e===1/0||e===-1/0?0:e},"noninf"),Nt=l(function(e,t,n,r,a){r-t===0||a-n===0||t==null||n==null||r==null||a==null||(e.x1=t<e.x1?t:e.x1,e.x2=r>e.x2?r:e.x2,e.y1=n<e.y1?n:e.y1,e.y2=a>e.y2?a:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},"updateBounds"),an=l(function(e,t){return t==null?e:Nt(e,t.x1,t.y1,t.x2,t.y2)},"updateBoundsFromBox"),gr=l(function(e,t,n){return St(e,t,n)},"prefixedProperty"),fa=l(function(e,t,n){if(!t.cy().headless()){var r=t._private,a=r.rstyle,i=a.arrowWidth/2,o=t.pstyle(n+"-arrow-shape").value,c,u;if(o!=="none"){n==="source"?(c=a.srcX,u=a.srcY):n==="target"?(c=a.tgtX,u=a.tgtY):(c=a.midX,u=a.midY);var s=r.arrowBounds=r.arrowBounds||{},d=s[n]=s[n]||{};d.x1=c-i,d.y1=u-i,d.x2=c+i,d.y2=u+i,d.w=d.x2-d.x1,d.h=d.y2-d.y1,ba(d,1),Nt(e,d.x1,d.y1,d.x2,d.y2)}}},"updateBoundsFromArrow"),Bo=l(function(e,t,n){if(!t.cy().headless()){var r;n?r=n+"-":r="";var a=t._private,i=a.rstyle,o=t.pstyle(r+"label").strValue;if(o){var c=t.pstyle("text-halign"),u=t.pstyle("text-valign"),s=gr(i,"labelWidth",n),d=gr(i,"labelHeight",n),h=gr(i,"labelX",n),f=gr(i,"labelY",n),p=t.pstyle(r+"text-margin-x").pfValue,g=t.pstyle(r+"text-margin-y").pfValue,y=t.isEdge(),b=t.pstyle(r+"text-rotation"),v=t.pstyle("text-outline-width").pfValue,m=t.pstyle("text-border-width").pfValue,x=m/2,w=t.pstyle("text-background-padding").pfValue,T=2,P=d,E=s,k=E/2,_=P/2,B,D,S,M;if(y)B=h-k,D=h+k,S=f-_,M=f+_;else{switch(c.value){case"left":B=h-E,D=h;break;case"center":B=h-k,D=h+k;break;case"right":B=h,D=h+E;break}switch(u.value){case"top":S=f-P,M=f;break;case"center":S=f-_,M=f+_;break;case"bottom":S=f,M=f+P;break}}var A=p-Math.max(v,x)-w-T,O=p+Math.max(v,x)+w+T,R=g-Math.max(v,x)-w-T,I=g+Math.max(v,x)+w+T;B+=A,D+=O,S+=R,M+=I;var L=n||"main",N=a.labelBounds,Y=N[L]=N[L]||{};Y.x1=B,Y.y1=S,Y.x2=D,Y.y2=M,Y.w=D-B,Y.h=M-S,Y.leftPad=A,Y.rightPad=O,Y.topPad=R,Y.botPad=I;var q=y&&b.strValue==="autorotate",X=b.pfValue!=null&&b.pfValue!==0;if(q||X){var K=q?gr(a.rstyle,"labelAngle",n):b.pfValue,J=Math.cos(K),Q=Math.sin(K),$=(B+D)/2,ee=(S+M)/2;if(!y){switch(c.value){case"left":$=D;break;case"right":$=B;break}switch(u.value){case"top":ee=M;break;case"bottom":ee=S;break}}var ae=l(function(Ee,me){return Ee=Ee-$,me=me-ee,{x:Ee*J-me*Q+$,y:Ee*Q+me*J+ee}},"rotate"),V=ae(B,S),z=ae(B,M),F=ae(D,S),U=ae(D,M);B=Math.min(V.x,z.x,F.x,U.x),D=Math.max(V.x,z.x,F.x,U.x),S=Math.min(V.y,z.y,F.y,U.y),M=Math.max(V.y,z.y,F.y,U.y)}var ne=L+"Rot",ie=N[ne]=N[ne]||{};ie.x1=B,ie.y1=S,ie.x2=D,ie.y2=M,ie.w=D-B,ie.h=M-S,Nt(e,B,S,D,M),Nt(a.labelBounds.all,B,S,D,M)}return e}},"updateBoundsFromLabel"),Uu=l(function(e,t){if(!t.cy().headless()){var n=t.pstyle("outline-opacity").value,r=t.pstyle("outline-width").value,a=t.pstyle("outline-offset").value,i=r+a;bh(e,t,n,i,"outside",i/2)}},"updateBoundsFromOutline"),bh=l(function(e,t,n,r,a,i){if(!(n===0||r<=0||a==="inside")){var o=t.cy(),c=t.pstyle("shape").value,u=o.renderer().nodeShapes[c],s=t.position(),d=s.x,h=s.y,f=t.width(),p=t.height();if(u.hasMiterBounds){a==="center"&&(r/=2);var g=u.miterBounds(d,h,f,p,r);an(e,g)}else i!=null&&i>0&&xa(e,[i,i,i,i])}},"updateBoundsFromMiter"),Dv=l(function(e,t){if(!t.cy().headless()){var n=t.pstyle("border-opacity").value,r=t.pstyle("border-width").pfValue,a=t.pstyle("border-position").value;bh(e,t,n,r,a)}},"updateBoundsFromMiterBorder"),kv=l(function(e,t){var n=e._private.cy,r=n.styleEnabled(),a=n.headless(),i=wt(),o=e._private,c=e.isNode(),u=e.isEdge(),s,d,h,f,p,g,y=o.rstyle,b=c&&r?e.pstyle("bounds-expansion").pfValue:[0],v=l(function(ie){return ie.pstyle("display").value!=="none"},"isDisplayed"),m=!r||v(e)&&(!u||v(e.source())&&v(e.target()));if(m){var x=0,w=0;r&&t.includeOverlays&&(x=e.pstyle("overlay-opacity").value,x!==0&&(w=e.pstyle("overlay-padding").value));var T=0,P=0;r&&t.includeUnderlays&&(T=e.pstyle("underlay-opacity").value,T!==0&&(P=e.pstyle("underlay-padding").value));var E=Math.max(w,P),k=0,_=0;if(r&&(k=e.pstyle("width").pfValue,_=k/2),c&&t.includeNodes){var B=e.position();p=B.x,g=B.y;var D=e.outerWidth(),S=D/2,M=e.outerHeight(),A=M/2;s=p-S,d=p+S,h=g-A,f=g+A,Nt(i,s,h,d,f),r&&Uu(i,e),r&&t.includeOutlines&&!a&&Uu(i,e),r&&Dv(i,e)}else if(u&&t.includeEdges)if(r&&!a){var O=e.pstyle("curve-style").strValue;if(s=Math.min(y.srcX,y.midX,y.tgtX),d=Math.max(y.srcX,y.midX,y.tgtX),h=Math.min(y.srcY,y.midY,y.tgtY),f=Math.max(y.srcY,y.midY,y.tgtY),s-=_,d+=_,h-=_,f+=_,Nt(i,s,h,d,f),O==="haystack"){var R=y.haystackPts;if(R&&R.length===2){if(s=R[0].x,h=R[0].y,d=R[1].x,f=R[1].y,s>d){var I=s;s=d,d=I}if(h>f){var L=h;h=f,f=L}Nt(i,s-_,h-_,d+_,f+_)}}else if(O==="bezier"||O==="unbundled-bezier"||on(O,"segments")||on(O,"taxi")){var N;switch(O){case"bezier":case"unbundled-bezier":N=y.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":N=y.linePts;break}if(N!=null)for(var Y=0;Y<N.length;Y++){var q=N[Y];s=q.x-_,d=q.x+_,h=q.y-_,f=q.y+_,Nt(i,s,h,d,f)}}}else{var X=e.source(),K=X.position(),J=e.target(),Q=J.position();if(s=K.x,d=Q.x,h=K.y,f=Q.y,s>d){var $=s;s=d,d=$}if(h>f){var ee=h;h=f,f=ee}s-=_,d+=_,h-=_,f+=_,Nt(i,s,h,d,f)}if(r&&t.includeEdges&&u&&(fa(i,e,"mid-source"),fa(i,e,"mid-target"),fa(i,e,"source"),fa(i,e,"target")),r){var ae=e.pstyle("ghost").value==="yes";if(ae){var V=e.pstyle("ghost-offset-x").pfValue,z=e.pstyle("ghost-offset-y").pfValue;Nt(i,i.x1+V,i.y1+z,i.x2+V,i.y2+z)}}var F=o.bodyBounds=o.bodyBounds||{};Rl(F,i),xa(F,b),ba(F,1),r&&(s=i.x1,d=i.x2,h=i.y1,f=i.y2,Nt(i,s-E,h-E,d+E,f+E));var U=o.overlayBounds=o.overlayBounds||{};Rl(U,i),xa(U,b),ba(U,1);var ne=o.labelBounds=o.labelBounds||{};ne.all!=null?Jp(ne.all):ne.all=wt(),r&&t.includeLabels&&(t.includeMainLabels&&Bo(i,e,null),u&&(t.includeSourceLabels&&Bo(i,e,"source"),t.includeTargetLabels&&Bo(i,e,"target")))}return i.x1=Bt(i.x1),i.y1=Bt(i.y1),i.x2=Bt(i.x2),i.y2=Bt(i.y2),i.w=Bt(i.x2-i.x1),i.h=Bt(i.y2-i.y1),i.w>0&&i.h>0&&m&&(xa(i,b),ba(i,1)),i},"boundingBoxImpl"),xh=l(function(e){var t=0,n=l(function(a){return(a?1:0)<<t++},"tf"),r=0;return r+=n(e.incudeNodes),r+=n(e.includeEdges),r+=n(e.includeLabels),r+=n(e.includeMainLabels),r+=n(e.includeSourceLabels),r+=n(e.includeTargetLabels),r+=n(e.includeOverlays),r+=n(e.includeOutlines),r},"getKey"),wh=l(function(e){var t=l(function(i){return Math.round(i)},"r");if(e.isEdge()){var n=e.source().position(),r=e.target().position();return Dl([t(n.x),t(n.y),t(r.x),t(r.y)])}else{var a=e.position();return Dl([t(a.x),t(a.y)])}},"getBoundingBoxPosKey"),Zu=l(function(e,t){var n=e._private,r,a=e.isEdge(),i=t==null?$u:xh(t),o=i===$u;if(n.bbCache==null?(r=kv(e,Rr),n.bbCache=r,n.bbCachePosKey=wh(e)):r=n.bbCache,!o){var c=e.isNode();r=wt(),(t.includeNodes&&c||t.includeEdges&&!c)&&(t.includeOverlays?an(r,n.overlayBounds):an(r,n.bodyBounds)),t.includeLabels&&(t.includeMainLabels&&(!a||t.includeSourceLabels&&t.includeTargetLabels)?an(r,n.labelBounds.all):(t.includeMainLabels&&an(r,n.labelBounds.mainRot),t.includeSourceLabels&&an(r,n.labelBounds.sourceRot),t.includeTargetLabels&&an(r,n.labelBounds.targetRot))),r.w=r.x2-r.x1,r.h=r.y2-r.y1}return r},"cachedBoundingBoxImpl"),Rr={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeMainLabels:!0,includeSourceLabels:!0,includeTargetLabels:!0,includeOverlays:!0,includeUnderlays:!0,includeOutlines:!0,useCache:!0},$u=xh(Rr),Ju=dt(Rr);yn.boundingBox=function(e){var t,n=e===void 0||e.useCache===void 0||e.useCache===!0,r=er(function(d){var h=d._private;return h.bbCache==null||h.styleDirty||h.bbCachePosKey!==wh(d)},function(d){return d.id()});if(n&&this.length===1&&!r(this[0]))e===void 0?e=Rr:e=Ju(e),t=Zu(this[0],e);else{t=wt(),e=e||Rr;var a=Ju(e),i=this,o=i.cy(),c=o.styleEnabled();this.edges().forEach(r),this.nodes().forEach(r),c&&this.recalculateRenderedStyle(n),this.updateCompoundBounds(!n);for(var u=0;u<i.length;u++){var s=i[u];r(s)&&s.dirtyBoundingBoxCache(),an(t,Zu(s,a))}}return t.x1=Bt(t.x1),t.y1=Bt(t.y1),t.x2=Bt(t.x2),t.y2=Bt(t.y2),t.w=Bt(t.x2-t.x1),t.h=Bt(t.y2-t.y1),t};yn.dirtyBoundingBoxCache=function(){for(var e=0;e<this.length;e++){var t=this[e]._private;t.bbCache=null,t.bbCachePosKey=null,t.bodyBounds=null,t.overlayBounds=null,t.labelBounds.all=null,t.labelBounds.source=null,t.labelBounds.target=null,t.labelBounds.main=null,t.labelBounds.sourceRot=null,t.labelBounds.targetRot=null,t.labelBounds.mainRot=null,t.arrowBounds.source=null,t.arrowBounds.target=null,t.arrowBounds["mid-source"]=null,t.arrowBounds["mid-target"]=null}return this.emitAndNotify("bounds"),this};yn.boundingBoxAt=function(e){var t=this.nodes(),n=this.cy(),r=n.hasCompoundNodes(),a=n.collection();if(r&&(a=t.filter(function(s){return s.isParent()}),t=t.not(a)),Be(e)){var i=e;e=l(function(){return i},"fn")}var o=l(function(s,d){return s._private.bbAtOldPos=e(s,d)},"storeOldPos"),c=l(function(s){return s._private.bbAtOldPos},"getOldPos");n.startBatch(),t.forEach(o).silentPositions(e),r&&(a.dirtyCompoundBoundsCache(),a.dirtyBoundingBoxCache(),a.updateCompoundBounds(!0));var u=$p(this.boundingBox({useCache:!1}));return t.silentPositions(c),r&&(a.dirtyCompoundBoundsCache(),a.dirtyBoundingBoxCache(),a.updateCompoundBounds(!0)),n.endBatch(),u};Qn.boundingbox=Qn.bb=Qn.boundingBox;Qn.renderedBoundingbox=Qn.renderedBoundingBox;var _v=yn,xr,Gr;xr=Gr={};var Eh=l(function(e){e.uppercaseName=hl(e.name),e.autoName="auto"+e.uppercaseName,e.labelName="label"+e.uppercaseName,e.outerName="outer"+e.uppercaseName,e.uppercaseOuterName=hl(e.outerName),xr[e.name]=l(function(){var t=this[0],n=t._private,r=n.cy,a=r._private.styleEnabled;if(t)if(a){if(t.isParent())return t.updateCompoundBounds(),n[e.autoName]||0;var i=t.pstyle(e.name);switch(i.strValue){case"label":return t.recalculateRenderedStyle(),n.rstyle[e.labelName]||0;default:return i.pfValue}}else return 1},"dimImpl"),xr["outer"+e.uppercaseName]=l(function(){var t=this[0],n=t._private,r=n.cy,a=r._private.styleEnabled;if(t)if(a){var i=t[e.name](),o=t.pstyle("border-position").value,c;o==="center"?c=t.pstyle("border-width").pfValue:o==="outside"?c=2*t.pstyle("border-width").pfValue:c=0;var u=2*t.padding();return i+c+u}else return 1},"outerDimImpl"),xr["rendered"+e.uppercaseName]=l(function(){var t=this[0];if(t){var n=t[e.name]();return n*this.cy().zoom()}},"renderedDimImpl"),xr["rendered"+e.uppercaseOuterName]=l(function(){var t=this[0];if(t){var n=t[e.outerName]();return n*this.cy().zoom()}},"renderedOuterDimImpl")},"defineDimFns");Eh({name:"width"});Eh({name:"height"});Gr.padding=function(){var e=this[0],t=e._private;return e.isParent()?(e.updateCompoundBounds(),t.autoPadding!==void 0?t.autoPadding:e.pstyle("padding").pfValue):e.pstyle("padding").pfValue};Gr.paddedHeight=function(){var e=this[0];return e.height()+2*e.padding()};Gr.paddedWidth=function(){var e=this[0];return e.width()+2*e.padding()};var Bv=Gr,Av=l(function(e,t){if(e.isEdge()&&e.takesUpSpace())return t(e)},"ifEdge"),Mv=l(function(e,t){if(e.isEdge()&&e.takesUpSpace()){var n=e.cy();return Ja(t(e),n.zoom(),n.pan())}},"ifEdgeRenderedPosition"),Iv=l(function(e,t){if(e.isEdge()&&e.takesUpSpace()){var n=e.cy(),r=n.pan(),a=n.zoom();return t(e).map(function(i){return Ja(i,a,r)})}},"ifEdgeRenderedPositions"),Rv=l(function(e){return e.renderer().getControlPoints(e)},"controlPoints"),Nv=l(function(e){return e.renderer().getSegmentPoints(e)},"segmentPoints"),Lv=l(function(e){return e.renderer().getSourceEndpoint(e)},"sourceEndpoint"),Ov=l(function(e){return e.renderer().getTargetEndpoint(e)},"targetEndpoint"),zv=l(function(e){return e.renderer().getEdgeMidpoint(e)},"midpoint"),Qu={controlPoints:{get:Rv,mult:!0},segmentPoints:{get:Nv,mult:!0},sourceEndpoint:{get:Lv},targetEndpoint:{get:Ov},midpoint:{get:zv}},Fv=l(function(e){return"rendered"+e[0].toUpperCase()+e.substr(1)},"renderedName"),Vv=Object.keys(Qu).reduce(function(e,t){var n=Qu[t],r=Fv(t);return e[t]=function(){return Av(this,n.get)},n.mult?e[r]=function(){return Iv(this,n.get)}:e[r]=function(){return Mv(this,n.get)},e},{}),qv=ve({},Pv,_v,Bv,Vv),Ch=l(function(e,t){this.recycle(e,t)},"Event");function Wn(){return!1}l(Wn,"returnFalse");function wr(){return!0}l(wr,"returnTrue");Ch.prototype={instanceString:l(function(){return"event"},"instanceString"),recycle:l(function(e,t){if(this.isImmediatePropagationStopped=this.isPropagationStopped=this.isDefaultPrevented=Wn,e!=null&&e.preventDefault?(this.type=e.type,this.isDefaultPrevented=e.defaultPrevented?wr:Wn):e!=null&&e.type?t=e:this.type=e,t!=null&&(this.originalEvent=t.originalEvent,this.type=t.type!=null?t.type:this.type,this.cy=t.cy,this.target=t.target,this.position=t.position,this.renderedPosition=t.renderedPosition,this.namespace=t.namespace,this.layout=t.layout),this.cy!=null&&this.position!=null&&this.renderedPosition==null){var n=this.position,r=this.cy.zoom(),a=this.cy.pan();this.renderedPosition={x:n.x*r+a.x,y:n.y*r+a.y}}this.timeStamp=e&&e.timeStamp||Date.now()},"recycle"),preventDefault:l(function(){this.isDefaultPrevented=wr;var e=this.originalEvent;e&&e.preventDefault&&e.preventDefault()},"preventDefault"),stopPropagation:l(function(){this.isPropagationStopped=wr;var e=this.originalEvent;e&&e.stopPropagation&&e.stopPropagation()},"stopPropagation"),stopImmediatePropagation:l(function(){this.isImmediatePropagationStopped=wr,this.stopPropagation()},"stopImmediatePropagation"),isDefaultPrevented:Wn,isPropagationStopped:Wn,isImmediatePropagationStopped:Wn};var Th=/^([^.]+)(\.(?:[^.]+))?$/,jv=".*",Sh={qualifierCompare:l(function(e,t){return e===t},"qualifierCompare"),eventMatches:l(function(){return!0},"eventMatches"),addEventFields:l(function(){},"addEventFields"),callbackContext:l(function(e){return e},"callbackContext"),beforeEmit:l(function(){},"beforeEmit"),afterEmit:l(function(){},"afterEmit"),bubble:l(function(){return!1},"bubble"),parent:l(function(){return null},"parent"),context:null},ec=Object.keys(Sh),Xv={};function Ur(){for(var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Xv,t=arguments.length>1?arguments[1]:void 0,n=0;n<ec.length;n++){var r=ec[n];this[r]=e[r]||Sh[r]}this.context=t||this.context,this.listeners=[],this.emitting=0}l(Ur,"Emitter");var vn=Ur.prototype,Ph=l(function(e,t,n,r,a,i,o){He(r)&&(a=r,r=null),o&&(i==null?i=o:i=ve({},i,o));for(var c=Ve(n)?n:n.split(/\s+/),u=0;u<c.length;u++){var s=c[u];if(!dn(s)){var d=s.match(Th);if(d){var h=d[1],f=d[2]?d[2]:null,p=t(e,s,h,f,r,a,i);if(p===!1)break}}}},"forEachEvent"),tc=l(function(e,t){return e.addEventFields(e.context,t),new Ch(t.type,t)},"makeEventObj"),Yv=l(function(e,t,n){if(Jf(n)){t(e,n);return}else if(Be(n)){t(e,tc(e,n));return}for(var r=Ve(n)?n:n.split(/\s+/),a=0;a<r.length;a++){var i=r[a];if(!dn(i)){var o=i.match(Th);if(o){var c=o[1],u=o[2]?o[2]:null,s=tc(e,{type:c,namespace:u,target:e.context});t(e,s)}}}},"forEachEventObj");vn.on=vn.addListener=function(e,t,n,r,a){return Ph(this,function(i,o,c,u,s,d,h){He(d)&&i.listeners.push({event:o,callback:d,type:c,namespace:u,qualifier:s,conf:h})},e,t,n,r,a),this};vn.one=function(e,t,n,r){return this.on(e,t,n,r,{one:!0})};vn.removeListener=vn.off=function(e,t,n,r){var a=this;this.emitting!==0&&(this.listeners=Cp(this.listeners));for(var i=this.listeners,o=l(function(u){var s=i[u];Ph(a,function(d,h,f,p,g,y){if((s.type===f||e==="*")&&(!p&&s.namespace!==".*"||s.namespace===p)&&(!g||d.qualifierCompare(s.qualifier,g))&&(!y||s.callback===y))return i.splice(u,1),!1},e,t,n,r)},"_loop"),c=i.length-1;c>=0;c--)o(c);return this};vn.removeAllListeners=function(){return this.removeListener("*")};vn.emit=vn.trigger=function(e,t,n){var r=this.listeners,a=r.length;return this.emitting++,Ve(t)||(t=[t]),Yv(this,function(i,o){n!=null&&(r=[{event:o.event,type:o.type,namespace:o.namespace,callback:n}],a=r.length);for(var c=l(function(){var s=r[u];if(s.type===o.type&&(!s.namespace||s.namespace===o.namespace||s.namespace===jv)&&i.eventMatches(i.context,s,o)){var d=[o];t!=null&&Sp(d,t),i.beforeEmit(i.context,s,o),s.conf&&s.conf.one&&(i.listeners=i.listeners.filter(function(p){return p!==s}));var h=i.callbackContext(i.context,s,o),f=s.callback.apply(h,d);i.afterEmit(i.context,s,o),f===!1&&(o.stopPropagation(),o.preventDefault())}},"_loop2"),u=0;u<a;u++)c();i.bubble(i.context)&&!o.isPropagationStopped()&&i.parent(i.context).emit(o,t)},e),this.emitting--,this};var Wv={qualifierCompare:l(function(e,t){return e==null||t==null?e==null&&t==null:e.sameText(t)},"qualifierCompare"),eventMatches:l(function(e,t,n){var r=t.qualifier;return r!=null?e!==n.target&&Fr(n.target)&&r.matches(n.target):!0},"eventMatches"),addEventFields:l(function(e,t){t.cy=e.cy(),t.target=e},"addEventFields"),callbackContext:l(function(e,t,n){return t.qualifier!=null?n.target:e},"callbackContext"),beforeEmit:l(function(e,t){t.conf&&t.conf.once&&t.conf.onceCollection.removeListener(t.event,t.qualifier,t.callback)},"beforeEmit"),bubble:l(function(){return!0},"bubble"),parent:l(function(e){return e.isChild()?e.parent():e.cy()},"parent")},pa=l(function(e){return pe(e)?new pn(e):e},"argSelector"),Dh={createEmitter:l(function(){for(var e=0;e<this.length;e++){var t=this[e],n=t._private;n.emitter||(n.emitter=new Ur(Wv,t))}return this},"createEmitter"),emitter:l(function(){return this._private.emitter},"emitter"),on:l(function(e,t,n){for(var r=pa(t),a=0;a<this.length;a++){var i=this[a];i.emitter().on(e,r,n)}return this},"on"),removeListener:l(function(e,t,n){for(var r=pa(t),a=0;a<this.length;a++){var i=this[a];i.emitter().removeListener(e,r,n)}return this},"removeListener"),removeAllListeners:l(function(){for(var e=0;e<this.length;e++){var t=this[e];t.emitter().removeAllListeners()}return this},"removeAllListeners"),one:l(function(e,t,n){for(var r=pa(t),a=0;a<this.length;a++){var i=this[a];i.emitter().one(e,r,n)}return this},"one"),once:l(function(e,t,n){for(var r=pa(t),a=0;a<this.length;a++){var i=this[a];i.emitter().on(e,r,n,{once:!0,onceCollection:this})}},"once"),emit:l(function(e,t){for(var n=0;n<this.length;n++){var r=this[n];r.emitter().emit(e,t)}return this},"emit"),emitAndNotify:l(function(e,t){if(this.length!==0)return this.cy().notify(e,this),this.emit(e,t),this},"emitAndNotify")};Le.eventAliasesOn(Dh);var kh={nodes:l(function(e){return this.filter(function(t){return t.isNode()}).filter(e)},"nodes"),edges:l(function(e){return this.filter(function(t){return t.isEdge()}).filter(e)},"edges"),byGroup:l(function(){for(var e=this.spawn(),t=this.spawn(),n=0;n<this.length;n++){var r=this[n];r.isNode()?e.push(r):t.push(r)}return{nodes:e,edges:t}},"byGroup"),filter:l(function(e,t){if(e===void 0)return this;if(pe(e)||Dt(e))return new pn(e).filter(this);if(He(e)){for(var n=this.spawn(),r=this,a=0;a<r.length;a++){var i=r[a],o=t?e.apply(t,[i,a,r]):e(i,a,r);o&&n.push(i)}return n}return this.spawn()},"filter"),not:l(function(e){if(e){pe(e)&&(e=this.filter(e));for(var t=this.spawn(),n=0;n<this.length;n++){var r=this[n],a=e.has(r);a||t.push(r)}return t}else return this},"not"),absoluteComplement:l(function(){var e=this.cy();return e.mutableElements().not(this)},"absoluteComplement"),intersect:l(function(e){if(pe(e)){var t=e;return this.filter(t)}for(var n=this.spawn(),r=this,a=e,i=this.length<e.length,o=i?r:a,c=i?a:r,u=0;u<o.length;u++){var s=o[u];c.has(s)&&n.push(s)}return n},"intersect"),xor:l(function(e){var t=this._private.cy;pe(e)&&(e=t.$(e));var n=this.spawn(),r=this,a=e,i=l(function(o,c){for(var u=0;u<o.length;u++){var s=o[u],d=s._private.data.id,h=c.hasElementWithId(d);h||n.push(s)}},"add");return i(r,a),i(a,r),n},"xor"),diff:l(function(e){var t=this._private.cy;pe(e)&&(e=t.$(e));var n=this.spawn(),r=this.spawn(),a=this.spawn(),i=this,o=e,c=l(function(u,s,d){for(var h=0;h<u.length;h++){var f=u[h],p=f._private.data.id,g=s.hasElementWithId(p);g?a.merge(f):d.push(f)}},"add");return c(i,o,n),c(o,i,r),{left:n,right:r,both:a}},"diff"),add:l(function(e){var t=this._private.cy;if(!e)return this;if(pe(e)){var n=e;e=t.mutableElements().filter(n)}for(var r=this.spawnSelf(),a=0;a<e.length;a++){var i=e[a],o=!this.has(i);o&&r.push(i)}return r},"add"),merge:l(function(e){var t=this._private,n=t.cy;if(!e)return this;if(e&&pe(e)){var r=e;e=n.mutableElements().filter(r)}for(var a=t.map,i=0;i<e.length;i++){var o=e[i],c=o._private.data.id,u=!a.has(c);if(u){var s=this.length++;this[s]=o,a.set(c,{ele:o,index:s})}}return this},"merge"),unmergeAt:l(function(e){var t=this[e],n=t.id(),r=this._private,a=r.map;this[e]=void 0,a.delete(n);var i=e===this.length-1;if(this.length>1&&!i){var o=this.length-1,c=this[o],u=c._private.data.id;this[o]=void 0,this[e]=c,a.set(u,{ele:c,index:e})}return this.length--,this},"unmergeAt"),unmergeOne:l(function(e){e=e[0];var t=this._private,n=e._private.data.id,r=t.map,a=r.get(n);if(!a)return this;var i=a.index;return this.unmergeAt(i),this},"unmergeOne"),unmerge:l(function(e){var t=this._private.cy;if(!e)return this;if(e&&pe(e)){var n=e;e=t.mutableElements().filter(n)}for(var r=0;r<e.length;r++)this.unmergeOne(e[r]);return this},"unmerge"),unmergeBy:l(function(e){for(var t=this.length-1;t>=0;t--){var n=this[t];e(n)&&this.unmergeAt(t)}return this},"unmergeBy"),map:l(function(e,t){for(var n=[],r=this,a=0;a<r.length;a++){var i=r[a],o=t?e.apply(t,[i,a,r]):e(i,a,r);n.push(o)}return n},"map"),reduce:l(function(e,t){for(var n=t,r=this,a=0;a<r.length;a++)n=e(n,r[a],a,r);return n},"reduce"),max:l(function(e,t){for(var n=-1/0,r,a=this,i=0;i<a.length;i++){var o=a[i],c=t?e.apply(t,[o,i,a]):e(o,i,a);c>n&&(n=c,r=o)}return{value:n,ele:r}},"max"),min:l(function(e,t){for(var n=1/0,r,a=this,i=0;i<a.length;i++){var o=a[i],c=t?e.apply(t,[o,i,a]):e(o,i,a);c<n&&(n=c,r=o)}return{value:n,ele:r}},"min")},Ie=kh;Ie.u=Ie["|"]=Ie["+"]=Ie.union=Ie.or=Ie.add;Ie["\\"]=Ie["!"]=Ie["-"]=Ie.difference=Ie.relativeComplement=Ie.subtract=Ie.not;Ie.n=Ie["&"]=Ie["."]=Ie.and=Ie.intersection=Ie.intersect;Ie["^"]=Ie["(+)"]=Ie["(-)"]=Ie.symmetricDifference=Ie.symdiff=Ie.xor;Ie.fnFilter=Ie.filterFn=Ie.stdFilter=Ie.filter;Ie.complement=Ie.abscomp=Ie.absoluteComplement;var Hv={isNode:l(function(){return this.group()==="nodes"},"isNode"),isEdge:l(function(){return this.group()==="edges"},"isEdge"),isLoop:l(function(){return this.isEdge()&&this.source()[0]===this.target()[0]},"isLoop"),isSimple:l(function(){return this.isEdge()&&this.source()[0]!==this.target()[0]},"isSimple"),group:l(function(){var e=this[0];if(e)return e._private.group},"group")},_h=l(function(e,t){var n=e.cy(),r=n.hasCompoundNodes();function a(s){var d=s.pstyle("z-compound-depth");return d.value==="auto"?r?s.zDepth():0:d.value==="bottom"?-1:d.value==="top"?ws:0}l(a,"getDepth");var i=a(e)-a(t);if(i!==0)return i;function o(s){var d=s.pstyle("z-index-compare");return d.value==="auto"&&s.isNode()?1:0}l(o,"getEleDepth");var c=o(e)-o(t);if(c!==0)return c;var u=e.pstyle("z-index").value-t.pstyle("z-index").value;return u!==0?u:e.poolIndex()-t.poolIndex()},"zIndexSort"),Va={forEach:l(function(e,t){if(He(e))for(var n=this.length,r=0;r<n;r++){var a=this[r],i=t?e.apply(t,[a,r,this]):e(a,r,this);if(i===!1)break}return this},"forEach"),toArray:l(function(){for(var e=[],t=0;t<this.length;t++)e.push(this[t]);return e},"toArray"),slice:l(function(e,t){var n=[],r=this.length;t==null&&(t=r),e==null&&(e=0),e<0&&(e=r+e),t<0&&(t=r+t);for(var a=e;a>=0&&a<t&&a<r;a++)n.push(this[a]);return this.spawn(n)},"slice"),size:l(function(){return this.length},"size"),eq:l(function(e){return this[e]||this.spawn()},"eq"),first:l(function(){return this[0]||this.spawn()},"first"),last:l(function(){return this[this.length-1]||this.spawn()},"last"),empty:l(function(){return this.length===0},"empty"),nonempty:l(function(){return!this.empty()},"nonempty"),sort:l(function(e){if(!He(e))return this;var t=this.toArray().sort(e);return this.spawn(t)},"sort"),sortByZIndex:l(function(){return this.sort(_h)},"sortByZIndex"),zDepth:l(function(){var e=this[0];if(e){var t=e._private,n=t.group;if(n==="nodes"){var r=t.data.parent?e.parents().size():0;return e.isParent()?r:ws-1}else{var a=t.source,i=t.target,o=a.zDepth(),c=i.zDepth();return Math.max(o,c,0)}}},"zDepth")};Va.each=Va.forEach;var Kv=l(function(){var e="undefined",t=(typeof Symbol>"u"?"undefined":et(Symbol))!=e&&et(Symbol.iterator)!=e;t&&(Va[Symbol.iterator]=function(){var n=this,r={value:void 0,done:!1},a=0,i=this.length;return vs({next:l(function(){return a<i?r.value=n[a++]:(r.value=void 0,r.done=!0),r},"next")},Symbol.iterator,function(){return this})})},"defineSymbolIterator");Kv();var Gv=dt({nodeDimensionsIncludeLabels:!1}),Ta={layoutDimensions:l(function(e){e=Gv(e);var t;if(!this.takesUpSpace())t={w:0,h:0};else if(e.nodeDimensionsIncludeLabels){var n=this.boundingBox();t={w:n.w,h:n.h}}else t={w:this.outerWidth(),h:this.outerHeight()};return(t.w===0||t.h===0)&&(t.w=t.h=1),t},"layoutDimensions"),layoutPositions:l(function(e,t,n){var r=this.nodes().filter(function(w){return!w.isParent()}),a=this.cy(),i=t.eles,o=l(function(w){return w.id()},"getMemoizeKey"),c=er(n,o);e.emit({type:"layoutstart",layout:e}),e.animations=[];var u=l(function(w,T,P){var E={x:T.x1+T.w/2,y:T.y1+T.h/2},k={x:(P.x-E.x)*w,y:(P.y-E.y)*w};return{x:E.x+k.x,y:E.y+k.y}},"calculateSpacing"),s=t.spacingFactor&&t.spacingFactor!==1,d=l(function(){if(!s)return null;for(var w=wt(),T=0;T<r.length;T++){var P=r[T],E=c(P,T);dd(w,E.x,E.y)}return w},"spacingBb"),h=d(),f=er(function(w,T){var P=c(w,T);if(s){var E=Math.abs(t.spacingFactor);P=u(E,h,P)}return t.transform!=null&&(P=t.transform(w,P)),P},o);if(t.animate){for(var p=0;p<r.length;p++){var g=r[p],y=f(g,p),b=t.animateFilter==null||t.animateFilter(g,p);if(b){var v=g.animation({position:y,duration:t.animationDuration,easing:t.animationEasing});e.animations.push(v)}else g.position(y)}if(t.fit){var m=a.animation({fit:{boundingBox:i.boundingBoxAt(f),padding:t.padding},duration:t.animationDuration,easing:t.animationEasing});e.animations.push(m)}else if(t.zoom!==void 0&&t.pan!==void 0){var x=a.animation({zoom:t.zoom,pan:t.pan,duration:t.animationDuration,easing:t.animationEasing});e.animations.push(x)}e.animations.forEach(function(w){return w.play()}),e.one("layoutready",t.ready),e.emit({type:"layoutready",layout:e}),lr.all(e.animations.map(function(w){return w.promise()})).then(function(){e.one("layoutstop",t.stop),e.emit({type:"layoutstop",layout:e})})}else r.positions(f),t.fit&&a.fit(t.eles,t.padding),t.zoom!=null&&a.zoom(t.zoom),t.pan&&a.pan(t.pan),e.one("layoutready",t.ready),e.emit({type:"layoutready",layout:e}),e.one("layoutstop",t.stop),e.emit({type:"layoutstop",layout:e});return this},"layoutPositions"),layout:l(function(e){var t=this.cy();return t.makeLayout(ve({},e,{eles:this}))},"layout")};Ta.createLayout=Ta.makeLayout=Ta.layout;function Os(e,t,n){var r=n._private,a=r.styleCache=r.styleCache||[],i;return(i=a[e])!=null||(i=a[e]=t(n)),i}l(Os,"styleCache");function Zr(e,t){return e=An(e),l(function(n){return Os(e,t,n)},"cachedStyleFunction")}l(Zr,"cacheStyleFunction");function $r(e,t){e=An(e);var n=l(function(r){return t.call(r)},"selfFn");return l(function(){var r=this[0];if(r)return Os(e,n,r)},"cachedPrototypeStyleFunction")}l($r,"cachePrototypeStyleFunction");var ut={recalculateRenderedStyle:l(function(e){var t=this.cy(),n=t.renderer(),r=t.styleEnabled();return n&&r&&n.recalculateRenderedStyle(this,e),this},"recalculateRenderedStyle"),dirtyStyleCache:l(function(){var e=this.cy(),t=l(function(r){return r._private.styleCache=null},"dirty");if(e.hasCompoundNodes()){var n;n=this.spawnSelf().merge(this.descendants()).merge(this.parents()),n.merge(n.connectedEdges()),n.forEach(t)}else this.forEach(function(r){t(r),r.connectedEdges().forEach(t)});return this},"dirtyStyleCache"),updateStyle:l(function(e){var t=this._private.cy;if(!t.styleEnabled())return this;if(t.batching()){var n=t._private.batchStyleEles;return n.merge(this),this}var r=t.hasCompoundNodes(),a=this;e=!!(e||e===void 0),r&&(a=this.spawnSelf().merge(this.descendants()).merge(this.parents()));var i=a;return e?i.emitAndNotify("style"):i.emit("style"),a.forEach(function(o){return o._private.styleDirty=!0}),this},"updateStyle"),cleanStyle:l(function(){var e=this.cy();if(e.styleEnabled())for(var t=0;t<this.length;t++){var n=this[t];n._private.styleDirty&&(n._private.styleDirty=!1,e.style().apply(n))}},"cleanStyle"),parsedStyle:l(function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n=this[0],r=n.cy();if(r.styleEnabled()&&n){n._private.styleDirty&&(n._private.styleDirty=!1,r.style().apply(n));var a=n._private.style[e];return a??(t?r.style().getDefaultProperty(e):null)}},"parsedStyle"),numericStyle:l(function(e){var t=this[0];if(t.cy().styleEnabled()&&t){var n=t.pstyle(e);return n.pfValue!==void 0?n.pfValue:n.value}},"numericStyle"),numericStyleUnits:l(function(e){var t=this[0];if(t.cy().styleEnabled()&&t)return t.pstyle(e).units},"numericStyleUnits"),renderedStyle:l(function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=this[0];if(n)return t.style().getRenderedStyle(n,e)},"renderedStyle"),style:l(function(e,t){var n=this.cy();if(!n.styleEnabled())return this;var r=!1,a=n.style();if(Be(e)){var i=e;a.applyBypass(this,i,r),this.emitAndNotify("style")}else if(pe(e))if(t===void 0){var o=this[0];return o?a.getStylePropertyValue(o,e):void 0}else a.applyBypass(this,e,t,r),this.emitAndNotify("style");else if(e===void 0){var c=this[0];return c?a.getRawStyle(c):void 0}return this},"style"),removeStyle:l(function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=!1,r=t.style(),a=this;if(e===void 0)for(var i=0;i<a.length;i++){var o=a[i];r.removeAllBypasses(o,n)}else{e=e.split(/\s+/);for(var c=0;c<a.length;c++){var u=a[c];r.removeBypasses(u,e,n)}}return this.emitAndNotify("style"),this},"removeStyle"),show:l(function(){return this.css("display","element"),this},"show"),hide:l(function(){return this.css("display","none"),this},"hide"),effectiveOpacity:l(function(){var e=this.cy();if(!e.styleEnabled())return 1;var t=e.hasCompoundNodes(),n=this[0];if(n){var r=n._private,a=n.pstyle("opacity").value;if(!t)return a;var i=r.data.parent?n.parents():null;if(i)for(var o=0;o<i.length;o++){var c=i[o],u=c.pstyle("opacity").value;a=u*a}return a}},"effectiveOpacity"),transparent:l(function(){var e=this.cy();if(!e.styleEnabled())return!1;var t=this[0],n=t.cy().hasCompoundNodes();if(t)return n?t.effectiveOpacity()===0:t.pstyle("opacity").value===0},"transparent"),backgrounding:l(function(){var e=this.cy();if(!e.styleEnabled())return!1;var t=this[0];return!!t._private.backgrounding},"backgrounding")};function Sa(e,t){var n=e._private,r=n.data.parent?e.parents():null;if(r)for(var a=0;a<r.length;a++){var i=r[a];if(!t(i))return!1}return!0}l(Sa,"checkCompound");function ri(e){var t=e.ok,n=e.edgeOkViaNode||e.ok,r=e.parentOk||e.ok;return function(){var a=this.cy();if(!a.styleEnabled())return!0;var i=this[0],o=a.hasCompoundNodes();if(i){var c=i._private;if(!t(i))return!1;if(i.isNode())return!o||Sa(i,r);var u=c.source,s=c.target;return n(u)&&(!o||Sa(u,n))&&(u===s||n(s)&&(!o||Sa(s,n)))}}}l(ri,"defineDerivedStateFunction");var ur=Zr("eleTakesUpSpace",function(e){return e.pstyle("display").value==="element"&&e.width()!==0&&(e.isNode()?e.height()!==0:!0)});ut.takesUpSpace=$r("takesUpSpace",ri({ok:ur}));var Uv=Zr("eleInteractive",function(e){return e.pstyle("events").value==="yes"&&e.pstyle("visibility").value==="visible"&&ur(e)}),Zv=Zr("parentInteractive",function(e){return e.pstyle("visibility").value==="visible"&&ur(e)});ut.interactive=$r("interactive",ri({ok:Uv,parentOk:Zv,edgeOkViaNode:ur}));ut.noninteractive=function(){var e=this[0];if(e)return!e.interactive()};var $v=Zr("eleVisible",function(e){return e.pstyle("visibility").value==="visible"&&e.pstyle("opacity").pfValue!==0&&ur(e)}),Jv=ur;ut.visible=$r("visible",ri({ok:$v,edgeOkViaNode:Jv}));ut.hidden=function(){var e=this[0];if(e)return!e.visible()};ut.isBundledBezier=$r("isBundledBezier",function(){return this.cy().styleEnabled()?!this.removed()&&this.pstyle("curve-style").value==="bezier"&&this.takesUpSpace():!1});ut.bypass=ut.css=ut.style;ut.renderedCss=ut.renderedStyle;ut.removeBypass=ut.removeCss=ut.removeStyle;ut.pstyle=ut.parsedStyle;var cn={};function Ko(e){return function(){var t=arguments,n=[];if(t.length===2){var r=t[0],a=t[1];this.on(e.event,r,a)}else if(t.length===1&&He(t[0])){var i=t[0];this.on(e.event,i)}else if(t.length===0||t.length===1&&Ve(t[0])){for(var o=t.length===1?t[0]:null,c=0;c<this.length;c++){var u=this[c],s=!e.ableField||u._private[e.ableField],d=u._private[e.field]!=e.value;if(e.overrideAble){var h=e.overrideAble(u);if(h!==void 0&&(s=h,!h))return this}s&&(u._private[e.field]=e.value,d&&n.push(u))}var f=this.spawn(n);f.updateStyle(),f.emit(e.event),o&&f.emit(o)}return this}}l(Ko,"defineSwitchFunction");function Ln(e){cn[e.field]=function(){var t=this[0];if(t){if(e.overrideField){var n=e.overrideField(t);if(n!==void 0)return n}return t._private[e.field]}},cn[e.on]=Ko({event:e.on,field:e.field,ableField:e.ableField,overrideAble:e.overrideAble,value:!0}),cn[e.off]=Ko({event:e.off,field:e.field,ableField:e.ableField,overrideAble:e.overrideAble,value:!1})}l(Ln,"defineSwitchSet");Ln({field:"locked",overrideField:l(function(e){return e.cy().autolock()?!0:void 0},"overrideField"),on:"lock",off:"unlock"});Ln({field:"grabbable",overrideField:l(function(e){return e.cy().autoungrabify()||e.pannable()?!1:void 0},"overrideField"),on:"grabify",off:"ungrabify"});Ln({field:"selected",ableField:"selectable",overrideAble:l(function(e){return e.cy().autounselectify()?!1:void 0},"overrideAble"),on:"select",off:"unselect"});Ln({field:"selectable",overrideField:l(function(e){return e.cy().autounselectify()?!1:void 0},"overrideField"),on:"selectify",off:"unselectify"});cn.deselect=cn.unselect;cn.grabbed=function(){var e=this[0];if(e)return e._private.grabbed};Ln({field:"active",on:"activate",off:"unactivate"});Ln({field:"pannable",on:"panify",off:"unpanify"});cn.inactive=function(){var e=this[0];if(e)return!e._private.active};var pt={},nc=l(function(e){return l(function(t){for(var n=this,r=[],a=0;a<n.length;a++){var i=n[a];if(i.isNode()){for(var o=!1,c=i.connectedEdges(),u=0;u<c.length;u++){var s=c[u],d=s.source(),h=s.target();if(e.noIncomingEdges&&h===i&&d!==i||e.noOutgoingEdges&&d===i&&h!==i){o=!0;break}}o||r.push(i)}}return this.spawn(r,!0).filter(t)},"dagExtremityImpl")},"defineDagExtremity"),rc=l(function(e){return function(t){for(var n=this,r=[],a=0;a<n.length;a++){var i=n[a];if(i.isNode())for(var o=i.connectedEdges(),c=0;c<o.length;c++){var u=o[c],s=u.source(),d=u.target();e.outgoing&&s===i?(r.push(u),r.push(d)):e.incoming&&d===i&&(r.push(u),r.push(s))}}return this.spawn(r,!0).filter(t)}},"defineDagOneHop"),ac=l(function(e){return function(t){for(var n=this,r=[],a={};;){var i=e.outgoing?n.outgoers():n.incomers();if(i.length===0)break;for(var o=!1,c=0;c<i.length;c++){var u=i[c],s=u.id();a[s]||(a[s]=!0,r.push(u),o=!0)}if(!o)break;n=i}return this.spawn(r,!0).filter(t)}},"defineDagAllHops");pt.clearTraversalCache=function(){for(var e=0;e<this.length;e++)this[e]._private.traversalCache=null};ve(pt,{roots:nc({noIncomingEdges:!0}),leaves:nc({noOutgoingEdges:!0}),outgoers:At(rc({outgoing:!0}),"outgoers"),successors:ac({outgoing:!0}),incomers:At(rc({incoming:!0}),"incomers"),predecessors:ac({})});ve(pt,{neighborhood:At(function(e){for(var t=[],n=this.nodes(),r=0;r<n.length;r++)for(var a=n[r],i=a.connectedEdges(),o=0;o<i.length;o++){var c=i[o],u=c.source(),s=c.target(),d=a===u?s:u;d.length>0&&t.push(d[0]),t.push(c[0])}return this.spawn(t,!0).filter(e)},"neighborhood"),closedNeighborhood:l(function(e){return this.neighborhood().add(this).filter(e)},"closedNeighborhood"),openNeighborhood:l(function(e){return this.neighborhood(e)},"openNeighborhood")});pt.neighbourhood=pt.neighborhood;pt.closedNeighbourhood=pt.closedNeighborhood;pt.openNeighbourhood=pt.openNeighborhood;ve(pt,{source:At(l(function(e){var t=this[0],n;return t&&(n=t._private.source||t.cy().collection()),n&&e?n.filter(e):n},"sourceImpl"),"source"),target:At(l(function(e){var t=this[0],n;return t&&(n=t._private.target||t.cy().collection()),n&&e?n.filter(e):n},"targetImpl"),"target"),sources:Go({attr:"source"}),targets:Go({attr:"target"})});function Go(e){return l(function(t){for(var n=[],r=0;r<this.length;r++){var a=this[r],i=a._private[e.attr];i&&n.push(i)}return this.spawn(n,!0).filter(t)},"sourceImpl")}l(Go,"defineSourceFunction");ve(pt,{edgesWith:At(Uo(),"edgesWith"),edgesTo:At(Uo({thisIsSrc:!0}),"edgesTo")});function Uo(e){return l(function(t){var n=[],r=this._private.cy,a=e||{};pe(t)&&(t=r.$(t));for(var i=0;i<t.length;i++)for(var o=t[i]._private.edges,c=0;c<o.length;c++){var u=o[c],s=u._private.data,d=this.hasElementWithId(s.source)&&t.hasElementWithId(s.target),h=t.hasElementWithId(s.source)&&this.hasElementWithId(s.target),f=d||h;f&&((a.thisIsSrc||a.thisIsTgt)&&(a.thisIsSrc&&!d||a.thisIsTgt&&!h)||n.push(u))}return this.spawn(n,!0)},"edgesWithImpl")}l(Uo,"defineEdgesWithFunction");ve(pt,{connectedEdges:At(function(e){for(var t=[],n=this,r=0;r<n.length;r++){var a=n[r];if(a.isNode())for(var i=a._private.edges,o=0;o<i.length;o++){var c=i[o];t.push(c)}}return this.spawn(t,!0).filter(e)},"connectedEdges"),connectedNodes:At(function(e){for(var t=[],n=this,r=0;r<n.length;r++){var a=n[r];a.isEdge()&&(t.push(a.source()[0]),t.push(a.target()[0]))}return this.spawn(t,!0).filter(e)},"connectedNodes"),parallelEdges:At(Zo(),"parallelEdges"),codirectedEdges:At(Zo({codirected:!0}),"codirectedEdges")});function Zo(e){var t={codirected:!1};return e=ve({},t,e),l(function(n){for(var r=[],a=this.edges(),i=e,o=0;o<a.length;o++)for(var c=a[o],u=c._private,s=u.source,d=s._private.data.id,h=u.data.target,f=s._private.edges,p=0;p<f.length;p++){var g=f[p],y=g._private.data,b=y.target,v=y.source,m=b===h&&v===d,x=d===b&&h===v;(i.codirected&&m||!i.codirected&&(m||x))&&r.push(g)}return this.spawn(r,!0).filter(n)},"parallelEdgesImpl")}l(Zo,"defineParallelEdgesFunction");ve(pt,{components:l(function(e){var t=this,n=t.cy(),r=n.collection(),a=e==null?t.nodes():e.nodes(),i=[];e!=null&&a.empty()&&(a=e.sources());var o=l(function(u,s){r.merge(u),a.unmerge(u),s.merge(u)},"visitInComponent");if(a.empty())return t.spawn();var c=l(function(){var u=n.collection();i.push(u);var s=a[0];o(s,u),t.bfs({directed:!1,roots:s,visit:l(function(d){return o(d,u)},"visit")}),u.forEach(function(d){d.connectedEdges().forEach(function(h){t.has(h)&&u.has(h.source())&&u.has(h.target())&&u.merge(h)})})},"_loop");do c();while(a.length>0);return i},"components"),component:l(function(){var e=this[0];return e.cy().mutableElements().components(e)[0]},"component")});pt.componentsOf=pt.components;var ct=l(function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){We("A collection must have a reference to the core");return}var a=new Kt,i=!1;if(!t)t=[];else if(t.length>0&&Be(t[0])&&!Fr(t[0])){i=!0;for(var o=[],c=new sr,u=0,s=t.length;u<s;u++){var d=t[u];d.data==null&&(d.data={});var h=d.data;if(h.id==null)h.id=od();else if(e.hasElementWithId(h.id)||c.has(h.id))continue;var f=new $a(e,d,!1);o.push(f),c.add(h.id)}t=o}this.length=0;for(var p=0,g=t.length;p<g;p++){var y=t[p][0];if(y!=null){var b=y._private.data.id;(!n||!a.has(b))&&(n&&a.set(b,{index:this.length,ele:y}),this[this.length]=y,this.length++)}}this._private={eles:this,cy:e,get map(){return this.lazyMap==null&&this.rebuildMap(),this.lazyMap},set map(v){this.lazyMap=v},rebuildMap:l(function(){for(var v=this.lazyMap=new Kt,m=this.eles,x=0;x<m.length;x++){var w=m[x];v.set(w.id(),{index:x,ele:w})}},"rebuildMap")},n&&(this._private.map=a),i&&!r&&this.restore()},"Collection"),Xe=$a.prototype=ct.prototype=Object.create(Array.prototype);Xe.instanceString=function(){return"collection"};Xe.spawn=function(e,t){return new ct(this.cy(),e,t)};Xe.spawnSelf=function(){return this.spawn(this)};Xe.cy=function(){return this._private.cy};Xe.renderer=function(){return this._private.cy.renderer()};Xe.element=function(){return this[0]};Xe.collection=function(){return Lc(this)?this:new ct(this._private.cy,[this])};Xe.unique=function(){return new ct(this._private.cy,this,!0)};Xe.hasElementWithId=function(e){return e=""+e,this._private.map.has(e)};Xe.getElementById=function(e){e=""+e;var t=this._private.cy,n=this._private.map.get(e);return n?n.ele:new ct(t)};Xe.$id=Xe.getElementById;Xe.poolIndex=function(){var e=this._private.cy,t=e._private.elements,n=this[0]._private.data.id;return t._private.map.get(n).index};Xe.indexOf=function(e){var t=e[0]._private.data.id;return this._private.map.get(t).index};Xe.indexOfId=function(e){return e=""+e,this._private.map.get(e).index};Xe.json=function(e){var t=this.element(),n=this.cy();if(t==null&&e)return this;if(t!=null){var r=t._private;if(Be(e)){if(n.startBatch(),e.data){t.data(e.data);var a=r.data;if(t.isEdge()){var i=!1,o={},c=e.data.source,u=e.data.target;c!=null&&c!=a.source&&(o.source=""+c,i=!0),u!=null&&u!=a.target&&(o.target=""+u,i=!0),i&&(t=t.move(o))}else{var s="parent"in e.data,d=e.data.parent;s&&(d!=null||a.parent!=null)&&d!=a.parent&&(d===void 0&&(d=null),d!=null&&(d=""+d),t=t.move({parent:d}))}}e.position&&t.position(e.position);var h=l(function(g,y,b){var v=e[g];v!=null&&v!==r[g]&&(v?t[y]():t[b]())},"checkSwitch");return h("removed","remove","restore"),h("selected","select","unselect"),h("selectable","selectify","unselectify"),h("locked","lock","unlock"),h("grabbable","grabify","ungrabify"),h("pannable","panify","unpanify"),e.classes!=null&&t.classes(e.classes),n.endBatch(),this}else if(e===void 0){var f={data:qt(r.data),position:qt(r.position),group:r.group,removed:r.removed,selected:r.selected,selectable:r.selectable,locked:r.locked,grabbable:r.grabbable,pannable:r.pannable,classes:null};f.classes="";var p=0;return r.classes.forEach(function(g){return f.classes+=p++===0?g:" "+g}),f}}};Xe.jsons=function(){for(var e=[],t=0;t<this.length;t++){var n=this[t],r=n.json();e.push(r)}return e};Xe.clone=function(){for(var e=this.cy(),t=[],n=0;n<this.length;n++){var r=this[n],a=r.json(),i=new $a(e,a,!1);t.push(i)}return new ct(e,t)};Xe.copy=Xe.clone;Xe.restore=function(){for(var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n=this,r=n.cy(),a=r._private,i=[],o=[],c,u=0,s=n.length;u<s;u++){var d=n[u];t&&!d.removed()||(d.isNode()?i.push(d):o.push(d))}c=i.concat(o);var h,f=l(function(){c.splice(h,1),h--},"removeFromElements");for(h=0;h<c.length;h++){var p=c[h],g=p._private,y=g.data;if(p.clearTraversalCache(),!(!t&&!g.removed)){if(y.id===void 0)y.id=od();else if(re(y.id))y.id=""+y.id;else if(dn(y.id)||!pe(y.id)){We("Can not create element with invalid string ID `"+y.id+"`"),f();continue}else if(r.hasElementWithId(y.id)){We("Can not create second element with ID `"+y.id+"`"),f();continue}}var b=y.id;if(p.isNode()){var v=g.position;v.x==null&&(v.x=0),v.y==null&&(v.y=0)}if(p.isEdge()){for(var m=p,x=["source","target"],w=x.length,T=!1,P=0;P<w;P++){var E=x[P],k=y[E];re(k)&&(k=y[E]=""+y[E]),k==null||k===""?(We("Can not create edge `"+b+"` with unspecified "+E),T=!0):r.hasElementWithId(k)||(We("Can not create edge `"+b+"` with nonexistant "+E+" `"+k+"`"),T=!0)}if(T){f();continue}var _=r.getElementById(y.source),B=r.getElementById(y.target);_.same(B)?_._private.edges.push(m):(_._private.edges.push(m),B._private.edges.push(m)),m._private.source=_,m._private.target=B}g.map=new Kt,g.map.set(b,{ele:p,index:0}),g.removed=!1,t&&r.addToPool(p)}for(var D=0;D<i.length;D++){var S=i[D],M=S._private.data;re(M.parent)&&(M.parent=""+M.parent);var A=M.parent,O=A!=null;if(O||S._private.parent){var R=S._private.parent?r.collection().merge(S._private.parent):r.getElementById(A);if(R.empty())M.parent=void 0;else if(R[0].removed())Oe("Node added with missing parent, reference to parent removed"),M.parent=void 0,S._private.parent=null;else{for(var I=!1,L=R;!L.empty();){if(S.same(L)){I=!0,M.parent=void 0;break}L=L.parent()}I||(R[0]._private.children.push(S),S._private.parent=R[0],a.hasCompoundNodes=!0)}}}if(c.length>0){for(var N=c.length===n.length?n:new ct(r,c),Y=0;Y<N.length;Y++){var q=N[Y];q.isNode()||(q.parallelEdges().clearTraversalCache(),q.source().clearTraversalCache(),q.target().clearTraversalCache())}var X;a.hasCompoundNodes?X=r.collection().merge(N).merge(N.connectedNodes()).merge(N.parent()):X=N,X.dirtyCompoundBoundsCache().dirtyBoundingBoxCache().updateStyle(e),e?N.emitAndNotify("add"):t&&N.emit("add")}return n};Xe.removed=function(){var e=this[0];return e&&e._private.removed};Xe.inside=function(){var e=this[0];return e&&!e._private.removed};Xe.remove=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n=this,r=[],a={},i=n._private.cy;function o(A){for(var O=A._private.edges,R=0;R<O.length;R++)u(O[R])}l(o,"addConnectedEdges");function c(A){for(var O=A._private.children,R=0;R<O.length;R++)u(O[R])}l(c,"addChildren");function u(A){var O=a[A.id()];t&&A.removed()||O||(a[A.id()]=!0,A.isNode()?(r.push(A),o(A),c(A)):r.unshift(A))}l(u,"add");for(var s=0,d=n.length;s<d;s++){var h=n[s];u(h)}function f(A,O){var R=A._private.edges;hn(R,O),A.clearTraversalCache()}l(f,"removeEdgeRef");function p(A){A.clearTraversalCache()}l(p,"removeParallelRef");var g=[];g.ids={};function y(A,O){O=O[0],A=A[0];var R=A._private.children,I=A.id();hn(R,O),O._private.parent=null,g.ids[I]||(g.ids[I]=!0,g.push(A))}l(y,"removeChildRef"),n.dirtyCompoundBoundsCache(),t&&i.removeFromPool(r);for(var b=0;b<r.length;b++){var v=r[b];if(v.isEdge()){var m=v.source()[0],x=v.target()[0];f(m,v),f(x,v);for(var w=v.parallelEdges(),T=0;T<w.length;T++){var P=w[T];p(P),P.isBundledBezier()&&P.dirtyBoundingBoxCache()}}else{var E=v.parent();E.length!==0&&y(E,v)}t&&(v._private.removed=!0)}var k=i._private.elements;i._private.hasCompoundNodes=!1;for(var _=0;_<k.length;_++){var B=k[_];if(B.isParent()){i._private.hasCompoundNodes=!0;break}}var D=new ct(this.cy(),r);D.size()>0&&(e?D.emitAndNotify("remove"):t&&D.emit("remove"));for(var S=0;S<g.length;S++){var M=g[S];(!t||!M.removed())&&M.updateStyle()}return D};Xe.move=function(e){var t=this._private.cy,n=this,r=!1,a=!1,i=l(function(p){return p==null?p:""+p},"toString");if(e.source!==void 0||e.target!==void 0){var o=i(e.source),c=i(e.target),u=o!=null&&t.hasElementWithId(o),s=c!=null&&t.hasElementWithId(c);(u||s)&&(t.batch(function(){n.remove(r,a),n.emitAndNotify("moveout");for(var p=0;p<n.length;p++){var g=n[p],y=g._private.data;g.isEdge()&&(u&&(y.source=o),s&&(y.target=c))}n.restore(r,a)}),n.emitAndNotify("move"))}else if(e.parent!==void 0){var d=i(e.parent),h=d===null||t.hasElementWithId(d);if(h){var f=d===null?void 0:d;t.batch(function(){var p=n.remove(r,a);p.emitAndNotify("moveout");for(var g=0;g<n.length;g++){var y=n[g],b=y._private.data;y.isNode()&&(b.parent=f)}p.restore(r,a)}),n.emitAndNotify("move")}}return this};[Ed,cv,Ea,un,nr,Sv,ni,qv,Dh,kh,Hv,Va,Ta,ut,cn,pt].forEach(function(e){ve(Xe,e)});var Qv={add:l(function(e){var t,n=this;if(Dt(e)){var r=e;if(r._private.cy===n)t=r.restore();else{for(var a=[],i=0;i<r.length;i++){var o=r[i];a.push(o.json())}t=new ct(n,a)}}else if(Ve(e)){var c=e;t=new ct(n,c)}else if(Be(e)&&(Ve(e.nodes)||Ve(e.edges))){for(var u=e,s=[],d=["nodes","edges"],h=0,f=d.length;h<f;h++){var p=d[h],g=u[p];if(Ve(g))for(var y=0,b=g.length;y<b;y++){var v=ve({group:p},g[y]);s.push(v)}}t=new ct(n,s)}else{var m=e;t=new $a(n,m).collection()}return t},"add"),remove:l(function(e){if(!Dt(e)&&pe(e)){var t=e;e=this.$(t)}return e.remove()},"remove")};function Bh(e,t,n,r){var a=4,i=.001,o=1e-7,c=10,u=11,s=1/(u-1),d=typeof Float32Array<"u";if(arguments.length!==4)return!1;for(var h=0;h<4;++h)if(typeof arguments[h]!="number"||isNaN(arguments[h])||!isFinite(arguments[h]))return!1;e=Math.min(e,1),n=Math.min(n,1),e=Math.max(e,0),n=Math.max(n,0);var f=d?new Float32Array(u):new Array(u);function p(B,D){return 1-3*D+3*B}l(p,"A");function g(B,D){return 3*D-6*B}l(g,"B");function y(B){return 3*B}l(y,"C");function b(B,D,S){return((p(D,S)*B+g(D,S))*B+y(D))*B}l(b,"calcBezier");function v(B,D,S){return 3*p(D,S)*B*B+2*g(D,S)*B+y(D)}l(v,"getSlope");function m(B,D){for(var S=0;S<a;++S){var M=v(D,e,n);if(M===0)return D;var A=b(D,e,n)-B;D-=A/M}return D}l(m,"newtonRaphsonIterate");function x(){for(var B=0;B<u;++B)f[B]=b(B*s,e,n)}l(x,"calcSampleValues");function w(B,D,S){var M,A,O=0;do A=D+(S-D)/2,M=b(A,e,n)-B,M>0?S=A:D=A;while(Math.abs(M)>o&&++O<c);return A}l(w,"binarySubdivide");function T(B){for(var D=0,S=1,M=u-1;S!==M&&f[S]<=B;++S)D+=s;--S;var A=(B-f[S])/(f[S+1]-f[S]),O=D+A*s,R=v(O,e,n);return R>=i?m(B,O):R===0?O:w(B,D,D+s)}l(T,"getTForX");var P=!1;function E(){P=!0,(e!==t||n!==r)&&x()}l(E,"precompute");var k=l(function(B){return P||E(),e===t&&n===r?B:B===0?0:B===1?1:b(T(B),t,r)},"f");k.getControlPoints=function(){return[{x:e,y:t},{x:n,y:r}]};var _="generateBezier("+[e,t,n,r]+")";return k.toString=function(){return _},k}l(Bh,"generateCubicBezier");var ey=(function(){function e(r){return-r.tension*r.x-r.friction*r.v}l(e,"springAccelerationForState");function t(r,a,i){var o={x:r.x+i.dx*a,v:r.v+i.dv*a,tension:r.tension,friction:r.friction};return{dx:o.v,dv:e(o)}}l(t,"springEvaluateStateWithDerivative");function n(r,a){var i={dx:r.v,dv:e(r)},o=t(r,a*.5,i),c=t(r,a*.5,o),u=t(r,a,c),s=1/6*(i.dx+2*(o.dx+c.dx)+u.dx),d=1/6*(i.dv+2*(o.dv+c.dv)+u.dv);return r.x=r.x+s*a,r.v=r.v+d*a,r}return l(n,"springIntegrateState"),l(function r(a,i,o){var c={x:-1,v:0,tension:null,friction:null},u=[0],s=0,d=1/1e4,h=16/1e3,f,p,g;for(a=parseFloat(a)||500,i=parseFloat(i)||20,o=o||null,c.tension=a,c.friction=i,f=o!==null,f?(s=r(a,i),p=s/o*h):p=h;g=n(g||c,p),u.push(1+g.x),s+=16,Math.abs(g.x)>d&&Math.abs(g.v)>d;);return f?function(y){return u[y*(u.length-1)|0]}:s},"springRK4Factory")})(),je=l(function(e,t,n,r){var a=Bh(e,t,n,r);return function(i,o,c){return i+(o-i)*a(c)}},"cubicBezier"),Pa={linear:l(function(e,t,n){return e+(t-e)*n},"linear"),ease:je(.25,.1,.25,1),"ease-in":je(.42,0,1,1),"ease-out":je(0,0,.58,1),"ease-in-out":je(.42,0,.58,1),"ease-in-sine":je(.47,0,.745,.715),"ease-out-sine":je(.39,.575,.565,1),"ease-in-out-sine":je(.445,.05,.55,.95),"ease-in-quad":je(.55,.085,.68,.53),"ease-out-quad":je(.25,.46,.45,.94),"ease-in-out-quad":je(.455,.03,.515,.955),"ease-in-cubic":je(.55,.055,.675,.19),"ease-out-cubic":je(.215,.61,.355,1),"ease-in-out-cubic":je(.645,.045,.355,1),"ease-in-quart":je(.895,.03,.685,.22),"ease-out-quart":je(.165,.84,.44,1),"ease-in-out-quart":je(.77,0,.175,1),"ease-in-quint":je(.755,.05,.855,.06),"ease-out-quint":je(.23,1,.32,1),"ease-in-out-quint":je(.86,0,.07,1),"ease-in-expo":je(.95,.05,.795,.035),"ease-out-expo":je(.19,1,.22,1),"ease-in-out-expo":je(1,0,0,1),"ease-in-circ":je(.6,.04,.98,.335),"ease-out-circ":je(.075,.82,.165,1),"ease-in-out-circ":je(.785,.135,.15,.86),spring:l(function(e,t,n){if(n===0)return Pa.linear;var r=ey(e,t,n);return function(a,i,o){return a+(i-a)*r(o)}},"spring"),"cubic-bezier":je};function $o(e,t,n,r,a){if(r===1||t===n)return n;var i=a(t,n,r);return e==null||((e.roundValue||e.color)&&(i=Math.round(i)),e.min!==void 0&&(i=Math.max(i,e.min)),e.max!==void 0&&(i=Math.min(i,e.max))),i}l($o,"getEasedValue");function Jo(e,t){return e.pfValue!=null||e.value!=null?e.pfValue!=null&&(t==null||t.type.units!=="%")?e.pfValue:e.value:e}l(Jo,"getValue");function Sn(e,t,n,r,a){var i=a!=null?a.type:null;n<0?n=0:n>1&&(n=1);var o=Jo(e,a),c=Jo(t,a);if(re(o)&&re(c))return $o(i,o,c,n,r);if(Ve(o)&&Ve(c)){for(var u=[],s=0;s<c.length;s++){var d=o[s],h=c[s];if(d!=null&&h!=null){var f=$o(i,d,h,n,r);u.push(f)}else u.push(h)}return u}}l(Sn,"ease");function Ah(e,t,n,r){var a=!r,i=e._private,o=t._private,c=o.easing,u=o.startTime,s=r?e:e.cy(),d=s.style();if(!o.easingImpl)if(c==null)o.easingImpl=Pa.linear;else{var h;if(pe(c)){var f=d.parse("transition-timing-function",c);h=f.value}else h=c;var p,g;pe(h)?(p=h,g=[]):(p=h[1],g=h.slice(2).map(function(N){return+N})),g.length>0?(p==="spring"&&g.push(o.duration),o.easingImpl=Pa[p].apply(null,g)):o.easingImpl=Pa[p]}var y=o.easingImpl,b;if(o.duration===0?b=1:b=(n-u)/o.duration,o.applying&&(b=o.progress),b<0?b=0:b>1&&(b=1),o.delay==null){var v=o.startPosition,m=o.position;if(m&&a&&!e.locked()){var x={};Hn(v.x,m.x)&&(x.x=Sn(v.x,m.x,b,y)),Hn(v.y,m.y)&&(x.y=Sn(v.y,m.y,b,y)),e.position(x)}var w=o.startPan,T=o.pan,P=i.pan,E=T!=null&&r;E&&(Hn(w.x,T.x)&&(P.x=Sn(w.x,T.x,b,y)),Hn(w.y,T.y)&&(P.y=Sn(w.y,T.y,b,y)),e.emit("pan"));var k=o.startZoom,_=o.zoom,B=_!=null&&r;B&&(Hn(k,_)&&(i.zoom=Ar(i.minZoom,Sn(k,_,b,y),i.maxZoom)),e.emit("zoom")),(E||B)&&e.emit("viewport");var D=o.style;if(D&&D.length>0&&a){for(var S=0;S<D.length;S++){var M=D[S],A=M.name,O=M,R=o.startStyle[A],I=d.properties[R.name],L=Sn(R,O,b,y,I);d.overrideBypass(e,A,L)}e.emit("style")}}return o.progress=b,b}l(Ah,"step$1");function Hn(e,t){return e==null||t==null?!1:re(e)&&re(t)?!0:!!(e&&t)}l(Hn,"valid");function Mh(e,t,n,r){var a=t._private;a.started=!0,a.startTime=n-a.progress*a.duration}l(Mh,"startAnimation");function Qo(e,t){var n=t._private.aniEles,r=[];function a(d,h){var f=d._private,p=f.animation.current,g=f.animation.queue,y=!1;if(p.length===0){var b=g.shift();b&&p.push(b)}for(var v=l(function(T){for(var P=T.length-1;P>=0;P--){var E=T[P];E()}T.splice(0,T.length)},"callbacks"),m=p.length-1;m>=0;m--){var x=p[m],w=x._private;if(w.stopped){p.splice(m,1),w.hooked=!1,w.playing=!1,w.started=!1,v(w.frames);continue}!w.playing&&!w.applying||(w.playing&&w.applying&&(w.applying=!1),w.started||Mh(d,x,e),Ah(d,x,e,h),w.applying&&(w.applying=!1),v(w.frames),w.step!=null&&w.step(e),x.completed()&&(p.splice(m,1),w.hooked=!1,w.playing=!1,w.started=!1,v(w.completes)),y=!0)}return!h&&p.length===0&&g.length===0&&r.push(d),y}l(a,"stepOne");for(var i=!1,o=0;o<n.length;o++){var c=n[o],u=a(c);i=i||u}var s=a(t,!0);(i||s)&&(n.length>0?t.notify("draw",n):t.notify("draw")),n.unmerge(r),t.emit("step")}l(Qo,"stepAll");var ty={animate:Le.animate(),animation:Le.animation(),animated:Le.animated(),clearQueue:Le.clearQueue(),delay:Le.delay(),delayAnimation:Le.delayAnimation(),stop:Le.stop(),addToAnimationPool:l(function(e){var t=this;t.styleEnabled()&&t._private.aniEles.merge(e)},"addToAnimationPool"),stopAnimationLoop:l(function(){this._private.animationsRunning=!1},"stopAnimationLoop"),startAnimationLoop:l(function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function t(){e._private.animationsRunning&&Na(l(function(r){Qo(r,e),t()},"animationStep"))}l(t,"headlessStep");var n=e.renderer();n&&n.beforeRender?n.beforeRender(l(function(r,a){Qo(a,e)},"rendererAnimationStep"),n.beforeRenderPriorities.animations):t()},"startAnimationLoop")},ny={qualifierCompare:l(function(e,t){return e==null||t==null?e==null&&t==null:e.sameText(t)},"qualifierCompare"),eventMatches:l(function(e,t,n){var r=t.qualifier;return r!=null?e!==n.target&&Fr(n.target)&&r.matches(n.target):!0},"eventMatches"),addEventFields:l(function(e,t){t.cy=e,t.target=e},"addEventFields"),callbackContext:l(function(e,t,n){return t.qualifier!=null?n.target:e},"callbackContext")},ga=l(function(e){return pe(e)?new pn(e):e},"argSelector"),Ih={createEmitter:l(function(){var e=this._private;return e.emitter||(e.emitter=new Ur(ny,this)),this},"createEmitter"),emitter:l(function(){return this._private.emitter},"emitter"),on:l(function(e,t,n){return this.emitter().on(e,ga(t),n),this},"on"),removeListener:l(function(e,t,n){return this.emitter().removeListener(e,ga(t),n),this},"removeListener"),removeAllListeners:l(function(){return this.emitter().removeAllListeners(),this},"removeAllListeners"),one:l(function(e,t,n){return this.emitter().one(e,ga(t),n),this},"one"),once:l(function(e,t,n){return this.emitter().one(e,ga(t),n),this},"once"),emit:l(function(e,t){return this.emitter().emit(e,t),this},"emit"),emitAndNotify:l(function(e,t){return this.emit(e),this.notify(e,t),this},"emitAndNotify")};Le.eventAliasesOn(Ih);var es={png:l(function(e){var t=this._private.renderer;return e=e||{},t.png(e)},"png"),jpg:l(function(e){var t=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",t.jpg(e)},"jpg")};es.jpeg=es.jpg;var Da={layout:l(function(e){var t=this;if(e==null){We("Layout options must be specified to make a layout");return}if(e.name==null){We("A `name` must be specified to make a layout");return}var n=e.name,r=t.extension("layout",n);if(r==null){We("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var a;pe(e.eles)?a=t.$(e.eles):a=e.eles!=null?e.eles:t.$();var i=new r(ve({},e,{cy:t,eles:a}));return i},"layout")};Da.createLayout=Da.makeLayout=Da.layout;var ry={notify:l(function(e,t){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var r=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();t!=null&&r.merge(t);return}if(n.notificationsEnabled){var a=this.renderer();this.destroyed()||!a||a.notify(e,t)}},"notify"),notifications:l(function(e){var t=this._private;return e===void 0?t.notificationsEnabled:(t.notificationsEnabled=!!e,this)},"notifications"),noNotifications:l(function(e){this.notifications(!1),e(),this.notifications(!0)},"noNotifications"),batching:l(function(){return this._private.batchCount>0},"batching"),startBatch:l(function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},"startBatch"),endBatch:l(function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var t=this.renderer();Object.keys(e.batchNotifications).forEach(function(n){var r=e.batchNotifications[n];r.empty()?t.notify(n):t.notify(n,r)})}return this},"endBatch"),batch:l(function(e){return this.startBatch(),e(),this.endBatch(),this},"batch"),batchData:l(function(e){var t=this;return this.batch(function(){for(var n=Object.keys(e),r=0;r<n.length;r++){var a=n[r],i=e[a],o=t.getElementById(a);o.data(i)}})},"batchData")},ay=dt({hideEdgesOnViewport:!1,textureOnViewport:!1,motionBlur:!1,motionBlurOpacity:.05,pixelRatio:void 0,desktopTapThreshold:4,touchTapThreshold:8,wheelSensitivity:1,debug:!1,showFps:!1,webgl:!1,webglDebug:!1,webglDebugShowAtlases:!1,webglTexSize:2048,webglTexRows:36,webglTexRowsNodes:18,webglBatchSize:2048,webglTexPerBatch:14,webglBgColor:[255,255,255]}),ts={renderTo:l(function(e,t,n,r){var a=this._private.renderer;return a.renderTo(e,t,n,r),this},"renderTo"),renderer:l(function(){return this._private.renderer},"renderer"),forceRender:l(function(){return this.notify("draw"),this},"forceRender"),resize:l(function(){return this.invalidateSize(),this.emitAndNotify("resize"),this},"resize"),initRenderer:l(function(e){var t=this,n=t.extension("renderer",e.name);if(n==null){We("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&&Oe("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 r=ay(e);r.cy=t,t._private.renderer=new n(r),this.notify("init")},"initRenderer"),destroyRenderer:l(function(){var e=this;e.notify("destroy");var t=e.container();if(t)for(t._cyreg=null;t.childNodes.length>0;)t.removeChild(t.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(n){var r=n._private;r.rscratch={},r.rstyle={},r.animation.current=[],r.animation.queue=[]})},"destroyRenderer"),onRender:l(function(e){return this.on("render",e)},"onRender"),offRender:l(function(e){return this.off("render",e)},"offRender")};ts.invalidateDimensions=ts.resize;var ka={collection:l(function(e,t){return pe(e)?this.$(e):Dt(e)?e.collection():Ve(e)?(t||(t={}),new ct(this,e,t.unique,t.removed)):new ct(this)},"collection"),nodes:l(function(e){var t=this.$(function(n){return n.isNode()});return e?t.filter(e):t},"nodes"),edges:l(function(e){var t=this.$(function(n){return n.isEdge()});return e?t.filter(e):t},"edges"),$:l(function(e){var t=this._private.elements;return e?t.filter(e):t.spawnSelf()},"$"),mutableElements:l(function(){return this._private.elements},"mutableElements")};ka.elements=ka.filter=ka.$;var st={},Cr="t",iy="f";st.apply=function(e){for(var t=this,n=t._private,r=n.cy,a=r.collection(),i=0;i<e.length;i++){var o=e[i],c=t.getContextMeta(o);if(!c.empty){var u=t.getContextStyle(c),s=t.applyContextStyle(c,u,o);o._private.appliedInitStyle?t.updateTransitions(o,s.diffProps):o._private.appliedInitStyle=!0;var d=t.updateStyleHints(o);d&&a.push(o)}}return a};st.getPropertiesDiff=function(e,t){var n=this,r=n._private.propDiffs=n._private.propDiffs||{},a=e+"-"+t,i=r[a];if(i)return i;for(var o=[],c={},u=0;u<n.length;u++){var s=n[u],d=e[u]===Cr,h=t[u]===Cr,f=d!==h,p=s.mappedProperties.length>0;if(f||h&&p){var g=void 0;f&&p||f?g=s.properties:p&&(g=s.mappedProperties);for(var y=0;y<g.length;y++){for(var b=g[y],v=b.name,m=!1,x=u+1;x<n.length;x++){var w=n[x],T=t[x]===Cr;if(T&&(m=w.properties[b.name]!=null,m))break}!c[v]&&!m&&(c[v]=!0,o.push(v))}}}return r[a]=o,o};st.getContextMeta=function(e){for(var t=this,n="",r,a=e._private.styleCxtKey||"",i=0;i<t.length;i++){var o=t[i],c=o.selector&&o.selector.matches(e);c?n+=Cr:n+=iy}return r=t.getPropertiesDiff(a,n),e._private.styleCxtKey=n,{key:n,diffPropNames:r,empty:r.length===0}};st.getContextStyle=function(e){var t=e.key,n=this,r=this._private.contextStyles=this._private.contextStyles||{};if(r[t])return r[t];for(var a={_private:{key:t}},i=0;i<n.length;i++){var o=n[i],c=t[i]===Cr;if(c)for(var u=0;u<o.properties.length;u++){var s=o.properties[u];a[s.name]=s}}return r[t]=a,a};st.applyContextStyle=function(e,t,n){for(var r=this,a=e.diffPropNames,i={},o=r.types,c=0;c<a.length;c++){var u=a[c],s=t[u],d=n.pstyle(u);if(!s)if(d)d.bypass?s={name:u,deleteBypassed:!0}:s={name:u,delete:!0};else continue;if(d!==s){if(s.mapped===o.fn&&d!=null&&d.mapping!=null&&d.mapping.value===s.value){var h=d.mapping,f=h.fnValue=s.value(n);if(f===h.prevFnValue)continue}var p=i[u]={prev:d};r.applyParsedProperty(n,s),p.next=n.pstyle(u),p.next&&p.next.bypass&&(p.next=p.next.bypassed)}}return{diffProps:i}};st.updateStyleHints=function(e){var t=e._private,n=this,r=n.propertyGroupNames,a=n.propertyGroupKeys,i=l(function(F,U,ne){return n.getPropertiesHash(F,U,ne)},"propHash"),o=t.styleKey;if(e.removed())return!1;var c=t.group==="nodes",u=e._private.style;r=Object.keys(u);for(var s=0;s<a.length;s++){var d=a[s];t.styleKeys[d]=[kn,Yn]}for(var h=l(function(F,U){return t.styleKeys[U][0]=kr(F,t.styleKeys[U][0])},"updateGrKey1"),f=l(function(F,U){return t.styleKeys[U][1]=_r(F,t.styleKeys[U][1])},"updateGrKey2"),p=l(function(F,U){h(F,U),f(F,U)},"updateGrKey"),g=l(function(F,U){for(var ne=0;ne<F.length;ne++){var ie=F.charCodeAt(ne);h(ie,U),f(ie,U)}},"updateGrKeyWStr"),y=2e9,b=l(function(F){return-128<F&&F<128&&Math.floor(F)!==F?y-(F*1024|0):F},"cleanNum"),v=0;v<r.length;v++){var m=r[v],x=u[m];if(x!=null){var w=this.properties[m],T=w.type,P=w.groupKey,E=void 0;w.hashOverride!=null?E=w.hashOverride(e,x):x.pfValue!=null&&(E=x.pfValue);var k=w.enums==null?x.value:null,_=E!=null,B=k!=null,D=_||B,S=x.units;if(T.number&&D&&!T.multiple){var M=_?E:k;p(b(M),P),!_&&S!=null&&g(S,P)}else g(x.strValue,P)}}for(var A=[kn,Yn],O=0;O<a.length;O++){var R=a[O],I=t.styleKeys[R];A[0]=kr(I[0],A[0]),A[1]=_r(I[1],A[1])}t.styleKey=yp(A[0],A[1]);var L=t.styleKeys;t.labelDimsKey=tn(L.labelDimensions);var N=i(e,["label"],L.labelDimensions);if(t.labelKey=tn(N),t.labelStyleKey=tn(la(L.commonLabel,N)),!c){var Y=i(e,["source-label"],L.labelDimensions);t.sourceLabelKey=tn(Y),t.sourceLabelStyleKey=tn(la(L.commonLabel,Y));var q=i(e,["target-label"],L.labelDimensions);t.targetLabelKey=tn(q),t.targetLabelStyleKey=tn(la(L.commonLabel,q))}if(c){var X=t.styleKeys,K=X.nodeBody,J=X.nodeBorder,Q=X.nodeOutline,$=X.backgroundImage,ee=X.compound,ae=X.pie,V=X.stripe,z=[K,J,Q,$,ee,ae,V].filter(function(F){return F!=null}).reduce(la,[kn,Yn]);t.nodeKey=tn(z),t.hasPie=ae!=null&&ae[0]!==kn&&ae[1]!==Yn,t.hasStripe=V!=null&&V[0]!==kn&&V[1]!==Yn}return o!==t.styleKey};st.clearStyleHints=function(e){var t=e._private;t.styleCxtKey="",t.styleKeys={},t.styleKey=null,t.labelKey=null,t.labelStyleKey=null,t.sourceLabelKey=null,t.sourceLabelStyleKey=null,t.targetLabelKey=null,t.targetLabelStyleKey=null,t.nodeKey=null,t.hasPie=null,t.hasStripe=null};st.applyParsedProperty=function(e,t){var n=this,r=t,a=e._private.style,i,o=n.types,c=n.properties[r.name].type,u=r.bypass,s=a[r.name],d=s&&s.bypass,h=e._private,f="mapping",p=l(function(X){return X==null?null:X.pfValue!=null?X.pfValue:X.value},"getVal"),g=l(function(){var X=p(s),K=p(r);n.checkTriggers(e,r.name,X,K)},"checkTriggers");if(t.name==="curve-style"&&e.isEdge()&&(t.value!=="bezier"&&e.isLoop()||t.value==="haystack"&&(e.source().isParent()||e.target().isParent()))&&(r=t=this.parse(t.name,"bezier",u)),r.delete)return a[r.name]=void 0,g(),!0;if(r.deleteBypassed)return s?s.bypass?(s.bypassed=void 0,g(),!0):!1:(g(),!0);if(r.deleteBypass)return s?s.bypass?(a[r.name]=s.bypassed,g(),!0):!1:(g(),!0);var y=l(function(){Oe("Do not assign mappings to elements without corresponding data (i.e. ele `"+e.id()+"` has no mapping for property `"+r.name+"` with data field `"+r.field+"`); try a `["+r.field+"]` selector to limit scope to elements with `"+r.field+"` defined")},"printMappingErr");switch(r.mapped){case o.mapData:{for(var b=r.field.split("."),v=h.data,m=0;m<b.length&&v;m++){var x=b[m];v=v[x]}if(v==null)return y(),!1;var w;if(re(v)){var T=r.fieldMax-r.fieldMin;T===0?w=0:w=(v-r.fieldMin)/T}else return Oe("Do not use continuous mappers without specifying numeric data (i.e. `"+r.field+": "+v+"` for `"+e.id()+"` is non-numeric)"),!1;if(w<0?w=0:w>1&&(w=1),c.color){var P=r.valueMin[0],E=r.valueMax[0],k=r.valueMin[1],_=r.valueMax[1],B=r.valueMin[2],D=r.valueMax[2],S=r.valueMin[3]==null?1:r.valueMin[3],M=r.valueMax[3]==null?1:r.valueMax[3],A=[Math.round(P+(E-P)*w),Math.round(k+(_-k)*w),Math.round(B+(D-B)*w),Math.round(S+(M-S)*w)];i={bypass:r.bypass,name:r.name,value:A,strValue:"rgb("+A[0]+", "+A[1]+", "+A[2]+")"}}else if(c.number){var O=r.valueMin+(r.valueMax-r.valueMin)*w;i=this.parse(r.name,O,r.bypass,f)}else return!1;if(!i)return y(),!1;i.mapping=r,r=i;break}case o.data:{for(var R=r.field.split("."),I=h.data,L=0;L<R.length&&I;L++){var N=R[L];I=I[N]}if(I!=null&&(i=this.parse(r.name,I,r.bypass,f)),!i)return y(),!1;i.mapping=r,r=i;break}case o.fn:{var Y=r.value,q=r.fnValue!=null?r.fnValue:Y(e);if(r.prevFnValue=q,q==null)return Oe("Custom function mappers may not return null (i.e. `"+r.name+"` for ele `"+e.id()+"` is null)"),!1;if(i=this.parse(r.name,q,r.bypass,f),!i)return Oe("Custom function mappers may not return invalid values for the property type (i.e. `"+r.name+"` for ele `"+e.id()+"` is invalid)"),!1;i.mapping=qt(r),r=i;break}case void 0:break;default:return!1}return u?(d?r.bypassed=s.bypassed:r.bypassed=s,a[r.name]=r):d?s.bypassed=r:a[r.name]=r,g(),!0};st.cleanElements=function(e,t){for(var n=0;n<e.length;n++){var r=e[n];if(this.clearStyleHints(r),r.dirtyCompoundBoundsCache(),r.dirtyBoundingBoxCache(),!t)r._private.style={};else for(var a=r._private.style,i=Object.keys(a),o=0;o<i.length;o++){var c=i[o],u=a[c];u!=null&&(u.bypass?u.bypassed=null:a[c]=null)}}};st.update=function(){var e=this._private.cy,t=e.mutableElements();t.updateStyle()};st.updateTransitions=function(e,t){var n=this,r=e._private,a=e.pstyle("transition-property").value,i=e.pstyle("transition-duration").pfValue,o=e.pstyle("transition-delay").pfValue;if(a.length>0&&i>0){for(var c={},u=!1,s=0;s<a.length;s++){var d=a[s],h=e.pstyle(d),f=t[d];if(f){var p=f.prev,g=p,y=f.next!=null?f.next:h,b=!1,v=void 0,m=1e-6;g&&(re(g.pfValue)&&re(y.pfValue)?(b=y.pfValue-g.pfValue,v=g.pfValue+m*b):re(g.value)&&re(y.value)?(b=y.value-g.value,v=g.value+m*b):Ve(g.value)&&Ve(y.value)&&(b=g.value[0]!==y.value[0]||g.value[1]!==y.value[1]||g.value[2]!==y.value[2],v=g.strValue),b&&(c[d]=y.strValue,this.applyBypass(e,d,v),u=!0))}}if(!u)return;r.transitioning=!0,new lr(function(x){o>0?e.delayAnimation(o).play().promise().then(x):x()}).then(function(){return e.animation({style:c,duration:i,easing:e.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){n.removeBypasses(e,a),e.emitAndNotify("style"),r.transitioning=!1})}else r.transitioning&&(this.removeBypasses(e,a),e.emitAndNotify("style"),r.transitioning=!1)};st.checkTrigger=function(e,t,n,r,a,i){var o=this.properties[t],c=a(o);e.removed()||c!=null&&c(n,r,e)&&i(o)};st.checkZOrderTrigger=function(e,t,n,r){var a=this;this.checkTrigger(e,t,n,r,function(i){return i.triggersZOrder},function(){a._private.cy.notify("zorder",e)})};st.checkBoundsTrigger=function(e,t,n,r){this.checkTrigger(e,t,n,r,function(a){return a.triggersBounds},function(a){e.dirtyCompoundBoundsCache(),e.dirtyBoundingBoxCache()})};st.checkConnectedEdgesBoundsTrigger=function(e,t,n,r){this.checkTrigger(e,t,n,r,function(a){return a.triggersBoundsOfConnectedEdges},function(a){e.connectedEdges().forEach(function(i){i.dirtyBoundingBoxCache()})})};st.checkParallelEdgesBoundsTrigger=function(e,t,n,r){this.checkTrigger(e,t,n,r,function(a){return a.triggersBoundsOfParallelEdges},function(a){e.parallelEdges().forEach(function(i){i.dirtyBoundingBoxCache()})})};st.checkTriggers=function(e,t,n,r){e.dirtyStyleCache(),this.checkZOrderTrigger(e,t,n,r),this.checkBoundsTrigger(e,t,n,r),this.checkConnectedEdgesBoundsTrigger(e,t,n,r),this.checkParallelEdgesBoundsTrigger(e,t,n,r)};var Jr={};Jr.applyBypass=function(e,t,n,r){var a=this,i=[],o=!0;if(t==="*"||t==="**"){if(n!==void 0)for(var c=0;c<a.properties.length;c++){var u=a.properties[c],s=u.name,d=this.parse(s,n,!0);d&&i.push(d)}}else if(pe(t)){var h=this.parse(t,n,!0);h&&i.push(h)}else if(Be(t)){var f=t;r=n;for(var p=Object.keys(f),g=0;g<p.length;g++){var y=p[g],b=f[y];if(b===void 0&&(b=f[Ua(y)]),b!==void 0){var v=this.parse(y,b,!0);v&&i.push(v)}}}else return!1;if(i.length===0)return!1;for(var m=!1,x=0;x<e.length;x++){for(var w=e[x],T={},P=void 0,E=0;E<i.length;E++){var k=i[E];if(r){var _=w.pstyle(k.name);P=T[k.name]={prev:_}}m=this.applyParsedProperty(w,qt(k))||m,r&&(P.next=w.pstyle(k.name))}m&&this.updateStyleHints(w),r&&this.updateTransitions(w,T,o)}return m};Jr.overrideBypass=function(e,t,n){t=bs(t);for(var r=0;r<e.length;r++){var a=e[r],i=a._private.style[t],o=this.properties[t].type,c=o.color,u=o.mutiple,s=i?i.pfValue!=null?i.pfValue:i.value:null;!i||!i.bypass?this.applyBypass(a,t,n):(i.value=n,i.pfValue!=null&&(i.pfValue=n),c?i.strValue="rgb("+n.join(",")+")":u?i.strValue=n.join(" "):i.strValue=""+n,this.updateStyleHints(a)),this.checkTriggers(a,t,s,n)}};Jr.removeAllBypasses=function(e,t){return this.removeBypasses(e,this.propertyNames,t)};Jr.removeBypasses=function(e,t,n){for(var r=!0,a=0;a<e.length;a++){for(var i=e[a],o={},c=0;c<t.length;c++){var u=t[c],s=this.properties[u],d=i.pstyle(s.name);if(!(!d||!d.bypass)){var h="",f=this.parse(u,h,!0),p=o[s.name]={prev:d};this.applyParsedProperty(i,f),p.next=i.pstyle(s.name)}}this.updateStyleHints(i),n&&this.updateTransitions(i,o,r)}};var zs={};zs.getEmSizeInPixels=function(){var e=this.containerCss("font-size");return e!=null?parseFloat(e):1};zs.containerCss=function(e){var t=this._private.cy,n=t.container(),r=t.window();if(r&&n&&r.getComputedStyle)return r.getComputedStyle(n).getPropertyValue(e)};var jt={};jt.getRenderedStyle=function(e,t){return t?this.getStylePropertyValue(e,t,!0):this.getRawStyle(e,!0)};jt.getRawStyle=function(e,t){var n=this;if(e=e[0],e){for(var r={},a=0;a<n.properties.length;a++){var i=n.properties[a],o=n.getStylePropertyValue(e,i.name,t);o!=null&&(r[i.name]=o,r[Ua(i.name)]=o)}return r}};jt.getIndexedStyle=function(e,t,n,r){var a=e.pstyle(t)[n][r];return a??e.cy().style().getDefaultProperty(t)[n][0]};jt.getStylePropertyValue=function(e,t,n){var r=this;if(e=e[0],e){var a=r.properties[t];a.alias&&(a=a.pointsTo);var i=a.type,o=e.pstyle(a.name);if(o){var c=o.value,u=o.units,s=o.strValue;if(n&&i.number&&c!=null&&re(c)){var d=e.cy().zoom(),h=l(function(y){return y*d},"getRenderedValue"),f=l(function(y,b){return h(y)+b},"getValueStringWithUnits"),p=Ve(c),g=p?u.every(function(y){return y!=null}):u!=null;return g?p?c.map(function(y,b){return f(y,u[b])}).join(" "):f(c,u):p?c.map(function(y){return pe(y)?y:""+h(y)}).join(" "):""+h(c)}else if(s!=null)return s}return null}};jt.getAnimationStartStyle=function(e,t){for(var n={},r=0;r<t.length;r++){var a=t[r],i=a.name,o=e.pstyle(i);o!==void 0&&(Be(o)?o=this.parse(i,o.strValue):o=this.parse(i,o)),o&&(n[i]=o)}return n};jt.getPropsList=function(e){var t=this,n=[],r=e,a=t.properties;if(r)for(var i=Object.keys(r),o=0;o<i.length;o++){var c=i[o],u=r[c],s=a[c]||a[bs(c)],d=this.parse(s.name,u);d&&n.push(d)}return n};jt.getNonDefaultPropertiesHash=function(e,t,n){var r=n.slice(),a,i,o,c,u,s;for(u=0;u<t.length;u++)if(a=t[u],i=e.pstyle(a,!1),i!=null)if(i.pfValue!=null)r[0]=kr(c,r[0]),r[1]=_r(c,r[1]);else for(o=i.strValue,s=0;s<o.length;s++)c=o.charCodeAt(s),r[0]=kr(c,r[0]),r[1]=_r(c,r[1]);return r};jt.getPropertiesHash=jt.getNonDefaultPropertiesHash;var ai={};ai.appendFromJson=function(e){for(var t=this,n=0;n<e.length;n++){var r=e[n],a=r.selector,i=r.style||r.css,o=Object.keys(i);t.selector(a);for(var c=0;c<o.length;c++){var u=o[c],s=i[u];t.css(u,s)}}return t};ai.fromJson=function(e){var t=this;return t.resetToDefault(),t.appendFromJson(e),t};ai.json=function(){for(var e=[],t=this.defaultLength;t<this.length;t++){for(var n=this[t],r=n.selector,a=n.properties,i={},o=0;o<a.length;o++){var c=a[o];i[c.name]=c.strValue}e.push({selector:r?r.toString():"core",style:i})}return e};var Fs={};Fs.appendFromString=function(e){var t=this,n=this,r=""+e,a,i,o;r=r.replace(/[/][*](\s|.)+?[*][/]/g,"");function c(){r.length>a.length?r=r.substr(a.length):r=""}l(c,"removeSelAndBlockFromRemaining");function u(){i.length>o.length?i=i.substr(o.length):i=""}for(l(u,"removePropAndValFromRem");;){var s=r.match(/^\s*$/);if(s)break;var d=r.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!d){Oe("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+r);break}a=d[0];var h=d[1];if(h!=="core"){var f=new pn(h);if(f.invalid){Oe("Skipping parsing of block: Invalid selector found in string stylesheet: "+h),c();continue}}var p=d[2],g=!1;i=p;for(var y=[];;){var b=i.match(/^\s*$/);if(b)break;var v=i.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!v){Oe("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+p),g=!0;break}o=v[0];var m=v[1],x=v[2],w=t.properties[m];if(!w){Oe("Skipping property: Invalid property name in: "+o),u();continue}var T=n.parse(m,x);if(!T){Oe("Skipping property: Invalid property definition in: "+o),u();continue}y.push({name:m,val:x}),u()}if(g){c();break}n.selector(h);for(var P=0;P<y.length;P++){var E=y[P];n.css(E.name,E.val)}c()}return n};Fs.fromString=function(e){var t=this;return t.resetToDefault(),t.appendFromString(e),t};var Qe={};(function(){var e=nt,t=ap,n=op,r=sp,a=lp,i=l(function(z){return"^"+z+"\\s*\\(\\s*([\\w\\.]+)\\s*\\)$"},"data"),o=l(function(z){var F=e+"|\\w+|"+t+"|"+n+"|"+r+"|"+a;return"^"+z+"\\s*\\(([\\w\\.]+)\\s*\\,\\s*("+e+")\\s*\\,\\s*("+e+")\\s*,\\s*("+F+")\\s*\\,\\s*("+F+")\\)$"},"mapData"),c=[`^url\\s*\\(\\s*['"]?(.+?)['"]?\\s*\\)$`,"^(none)$","^(.+)$"];Qe.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"]},axisDirectionExplicit:{enums:["leftward","rightward","upward","downward"]},axisDirectionPrimary:{enums:["horizontal","vertical"]},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},boxSelection:{enums:["contain","overlap","none"]},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","circle"]},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:c,singleRegexMatchValue:!0},urls:{regexes:c,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:l(function(z,F){switch(z.length){case 2:return F[0]!=="deg"&&F[0]!=="rad"&&F[1]!=="deg"&&F[1]!=="rad";case 1:return pe(z[0])||F[0]==="deg"||F[0]==="rad";default:return!1}},"validate")},easing:{regexes:["^(spring)\\s*\\(\\s*("+e+")\\s*,\\s*("+e+")\\s*\\)$","^(cubic-bezier)\\s*\\(\\s*("+e+")\\s*,\\s*("+e+")\\s*,\\s*("+e+")\\s*,\\s*("+e+")\\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:l(function(z){var F=z.length;return F===1||F===2||F===4},"validate")}};var u={zeroNonZero:l(function(z,F){return(z==null||F==null)&&z!==F||z==0&&F!=0?!0:z!=0&&F==0},"zeroNonZero"),any:l(function(z,F){return z!=F},"any"),emptyNonEmpty:l(function(z,F){var U=dn(z),ne=dn(F);return U&&!ne||!U&&ne},"emptyNonEmpty")},s=Qe.types,d=[{name:"label",type:s.text,triggersBounds:u.any,triggersZOrder:u.emptyNonEmpty},{name:"text-rotation",type:s.textRotation,triggersBounds:u.any},{name:"text-margin-x",type:s.bidirectionalSize,triggersBounds:u.any},{name:"text-margin-y",type:s.bidirectionalSize,triggersBounds:u.any}],h=[{name:"source-label",type:s.text,triggersBounds:u.any},{name:"source-text-rotation",type:s.textRotation,triggersBounds:u.any},{name:"source-text-margin-x",type:s.bidirectionalSize,triggersBounds:u.any},{name:"source-text-margin-y",type:s.bidirectionalSize,triggersBounds:u.any},{name:"source-text-offset",type:s.size,triggersBounds:u.any}],f=[{name:"target-label",type:s.text,triggersBounds:u.any},{name:"target-text-rotation",type:s.textRotation,triggersBounds:u.any},{name:"target-text-margin-x",type:s.bidirectionalSize,triggersBounds:u.any},{name:"target-text-margin-y",type:s.bidirectionalSize,triggersBounds:u.any},{name:"target-text-offset",type:s.size,triggersBounds:u.any}],p=[{name:"font-family",type:s.fontFamily,triggersBounds:u.any},{name:"font-style",type:s.fontStyle,triggersBounds:u.any},{name:"font-weight",type:s.fontWeight,triggersBounds:u.any},{name:"font-size",type:s.size,triggersBounds:u.any},{name:"text-transform",type:s.textTransform,triggersBounds:u.any},{name:"text-wrap",type:s.textWrap,triggersBounds:u.any},{name:"text-overflow-wrap",type:s.textOverflowWrap,triggersBounds:u.any},{name:"text-max-width",type:s.size,triggersBounds:u.any},{name:"text-outline-width",type:s.size,triggersBounds:u.any},{name:"line-height",type:s.positiveNumber,triggersBounds:u.any}],g=[{name:"text-valign",type:s.valign,triggersBounds:u.any},{name:"text-halign",type:s.halign,triggersBounds:u.any},{name:"color",type:s.color},{name:"text-outline-color",type:s.color},{name:"text-outline-opacity",type:s.zeroOneNumber},{name:"text-background-color",type:s.color},{name:"text-background-opacity",type:s.zeroOneNumber},{name:"text-background-padding",type:s.size,triggersBounds:u.any},{name:"text-border-opacity",type:s.zeroOneNumber},{name:"text-border-color",type:s.color},{name:"text-border-width",type:s.size,triggersBounds:u.any},{name:"text-border-style",type:s.borderStyle,triggersBounds:u.any},{name:"text-background-shape",type:s.textBackgroundShape,triggersBounds:u.any},{name:"text-justification",type:s.justification},{name:"box-select-labels",type:s.bool,triggersBounds:u.any}],y=[{name:"events",type:s.bool,triggersZOrder:u.any},{name:"text-events",type:s.bool,triggersZOrder:u.any},{name:"box-selection",type:s.boxSelection,triggersZOrder:u.any}],b=[{name:"display",type:s.display,triggersZOrder:u.any,triggersBounds:u.any,triggersBoundsOfConnectedEdges:u.any,triggersBoundsOfParallelEdges:l(function(z,F,U){return z===F?!1:U.pstyle("curve-style").value==="bezier"},"triggersBoundsOfParallelEdges")},{name:"visibility",type:s.visibility,triggersZOrder:u.any},{name:"opacity",type:s.zeroOneNumber,triggersZOrder:u.zeroNonZero},{name:"text-opacity",type:s.zeroOneNumber},{name:"min-zoomed-font-size",type:s.size},{name:"z-compound-depth",type:s.zCompoundDepth,triggersZOrder:u.any},{name:"z-index-compare",type:s.zIndexCompare,triggersZOrder:u.any},{name:"z-index",type:s.number,triggersZOrder:u.any}],v=[{name:"overlay-padding",type:s.size,triggersBounds:u.any},{name:"overlay-color",type:s.color},{name:"overlay-opacity",type:s.zeroOneNumber,triggersBounds:u.zeroNonZero},{name:"overlay-shape",type:s.overlayShape,triggersBounds:u.any},{name:"overlay-corner-radius",type:s.cornerRadius}],m=[{name:"underlay-padding",type:s.size,triggersBounds:u.any},{name:"underlay-color",type:s.color},{name:"underlay-opacity",type:s.zeroOneNumber,triggersBounds:u.zeroNonZero},{name:"underlay-shape",type:s.overlayShape,triggersBounds:u.any},{name:"underlay-corner-radius",type:s.cornerRadius}],x=[{name:"transition-property",type:s.propList},{name:"transition-duration",type:s.time},{name:"transition-delay",type:s.time},{name:"transition-timing-function",type:s.easing}],w=l(function(z,F){return F.value==="label"?-z.poolIndex():F.pfValue},"nodeSizeHashOverride"),T=[{name:"height",type:s.nodeSize,triggersBounds:u.any,hashOverride:w},{name:"width",type:s.nodeSize,triggersBounds:u.any,hashOverride:w},{name:"shape",type:s.nodeShape,triggersBounds:u.any},{name:"shape-polygon-points",type:s.polygonPointList,triggersBounds:u.any},{name:"corner-radius",type:s.cornerRadius},{name:"background-color",type:s.color},{name:"background-fill",type:s.fill},{name:"background-opacity",type:s.zeroOneNumber},{name:"background-blacken",type:s.nOneOneNumber},{name:"background-gradient-stop-colors",type:s.colors},{name:"background-gradient-stop-positions",type:s.percentages},{name:"background-gradient-direction",type:s.gradientDirection},{name:"padding",type:s.sizeMaybePercent,triggersBounds:u.any},{name:"padding-relative-to",type:s.paddingRelativeTo,triggersBounds:u.any},{name:"bounds-expansion",type:s.boundsExpansion,triggersBounds:u.any}],P=[{name:"border-color",type:s.color},{name:"border-opacity",type:s.zeroOneNumber},{name:"border-width",type:s.size,triggersBounds:u.any},{name:"border-style",type:s.borderStyle},{name:"border-cap",type:s.lineCap},{name:"border-join",type:s.lineJoin},{name:"border-dash-pattern",type:s.numbers},{name:"border-dash-offset",type:s.number},{name:"border-position",type:s.linePosition}],E=[{name:"outline-color",type:s.color},{name:"outline-opacity",type:s.zeroOneNumber},{name:"outline-width",type:s.size,triggersBounds:u.any},{name:"outline-style",type:s.borderStyle},{name:"outline-offset",type:s.size,triggersBounds:u.any}],k=[{name:"background-image",type:s.urls},{name:"background-image-crossorigin",type:s.bgCrossOrigin},{name:"background-image-opacity",type:s.zeroOneNumbers},{name:"background-image-containment",type:s.bgContainment},{name:"background-image-smoothing",type:s.bools},{name:"background-position-x",type:s.bgPos},{name:"background-position-y",type:s.bgPos},{name:"background-width-relative-to",type:s.bgRelativeTo},{name:"background-height-relative-to",type:s.bgRelativeTo},{name:"background-repeat",type:s.bgRepeat},{name:"background-fit",type:s.bgFit},{name:"background-clip",type:s.bgClip},{name:"background-width",type:s.bgWH},{name:"background-height",type:s.bgWH},{name:"background-offset-x",type:s.bgPos},{name:"background-offset-y",type:s.bgPos}],_=[{name:"position",type:s.position,triggersBounds:u.any},{name:"compound-sizing-wrt-labels",type:s.compoundIncludeLabels,triggersBounds:u.any},{name:"min-width",type:s.size,triggersBounds:u.any},{name:"min-width-bias-left",type:s.sizeMaybePercent,triggersBounds:u.any},{name:"min-width-bias-right",type:s.sizeMaybePercent,triggersBounds:u.any},{name:"min-height",type:s.size,triggersBounds:u.any},{name:"min-height-bias-top",type:s.sizeMaybePercent,triggersBounds:u.any},{name:"min-height-bias-bottom",type:s.sizeMaybePercent,triggersBounds:u.any}],B=[{name:"line-style",type:s.lineStyle},{name:"line-color",type:s.color},{name:"line-fill",type:s.fill},{name:"line-cap",type:s.lineCap},{name:"line-opacity",type:s.zeroOneNumber},{name:"line-dash-pattern",type:s.numbers},{name:"line-dash-offset",type:s.number},{name:"line-outline-width",type:s.size},{name:"line-outline-color",type:s.color},{name:"line-gradient-stop-colors",type:s.colors},{name:"line-gradient-stop-positions",type:s.percentages},{name:"curve-style",type:s.curveStyle,triggersBounds:u.any,triggersBoundsOfParallelEdges:l(function(z,F){return z===F?!1:z==="bezier"||F==="bezier"},"triggersBoundsOfParallelEdges")},{name:"haystack-radius",type:s.zeroOneNumber,triggersBounds:u.any},{name:"source-endpoint",type:s.edgeEndpoint,triggersBounds:u.any},{name:"target-endpoint",type:s.edgeEndpoint,triggersBounds:u.any},{name:"control-point-step-size",type:s.size,triggersBounds:u.any},{name:"control-point-distances",type:s.bidirectionalSizes,triggersBounds:u.any},{name:"control-point-weights",type:s.numbers,triggersBounds:u.any},{name:"segment-distances",type:s.bidirectionalSizes,triggersBounds:u.any},{name:"segment-weights",type:s.numbers,triggersBounds:u.any},{name:"segment-radii",type:s.numbers,triggersBounds:u.any},{name:"radius-type",type:s.radiusType,triggersBounds:u.any},{name:"taxi-turn",type:s.bidirectionalSizeMaybePercent,triggersBounds:u.any},{name:"taxi-turn-min-distance",type:s.size,triggersBounds:u.any},{name:"taxi-direction",type:s.axisDirection,triggersBounds:u.any},{name:"taxi-radius",type:s.number,triggersBounds:u.any},{name:"edge-distances",type:s.edgeDistances,triggersBounds:u.any},{name:"arrow-scale",type:s.positiveNumber,triggersBounds:u.any},{name:"loop-direction",type:s.angle,triggersBounds:u.any},{name:"loop-sweep",type:s.angle,triggersBounds:u.any},{name:"source-distance-from-node",type:s.size,triggersBounds:u.any},{name:"target-distance-from-node",type:s.size,triggersBounds:u.any}],D=[{name:"ghost",type:s.bool,triggersBounds:u.any},{name:"ghost-offset-x",type:s.bidirectionalSize,triggersBounds:u.any},{name:"ghost-offset-y",type:s.bidirectionalSize,triggersBounds:u.any},{name:"ghost-opacity",type:s.zeroOneNumber}],S=[{name:"selection-box-color",type:s.color},{name:"selection-box-opacity",type:s.zeroOneNumber},{name:"selection-box-border-color",type:s.color},{name:"selection-box-border-width",type:s.size},{name:"active-bg-color",type:s.color},{name:"active-bg-opacity",type:s.zeroOneNumber},{name:"active-bg-size",type:s.size},{name:"outside-texture-bg-color",type:s.color},{name:"outside-texture-bg-opacity",type:s.zeroOneNumber}],M=[];Qe.pieBackgroundN=16,M.push({name:"pie-size",type:s.sizeMaybePercent}),M.push({name:"pie-hole",type:s.sizeMaybePercent}),M.push({name:"pie-start-angle",type:s.angle});for(var A=1;A<=Qe.pieBackgroundN;A++)M.push({name:"pie-"+A+"-background-color",type:s.color}),M.push({name:"pie-"+A+"-background-size",type:s.percent}),M.push({name:"pie-"+A+"-background-opacity",type:s.zeroOneNumber});var O=[];Qe.stripeBackgroundN=16,O.push({name:"stripe-size",type:s.sizeMaybePercent}),O.push({name:"stripe-direction",type:s.axisDirectionPrimary});for(var R=1;R<=Qe.stripeBackgroundN;R++)O.push({name:"stripe-"+R+"-background-color",type:s.color}),O.push({name:"stripe-"+R+"-background-size",type:s.percent}),O.push({name:"stripe-"+R+"-background-opacity",type:s.zeroOneNumber});var I=[],L=Qe.arrowPrefixes=["source","mid-source","target","mid-target"];[{name:"arrow-shape",type:s.arrowShape,triggersBounds:u.any},{name:"arrow-color",type:s.color},{name:"arrow-fill",type:s.arrowFill},{name:"arrow-width",type:s.arrowWidth}].forEach(function(z){L.forEach(function(F){var U=F+"-"+z.name,ne=z.type,ie=z.triggersBounds;I.push({name:U,type:ne,triggersBounds:ie})})},{});var N=Qe.properties=[].concat(y,x,b,v,m,D,g,p,d,h,f,T,P,E,k,M,O,_,B,I,S),Y=Qe.propertyGroups={behavior:y,transition:x,visibility:b,overlay:v,underlay:m,ghost:D,commonLabel:g,labelDimensions:p,mainLabel:d,sourceLabel:h,targetLabel:f,nodeBody:T,nodeBorder:P,nodeOutline:E,backgroundImage:k,pie:M,stripe:O,compound:_,edgeLine:B,edgeArrow:I,core:S},q=Qe.propertyGroupNames={},X=Qe.propertyGroupKeys=Object.keys(Y);X.forEach(function(z){q[z]=Y[z].map(function(F){return F.name}),Y[z].forEach(function(F){return F.groupKey=z})});var K=Qe.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"}];Qe.propertyNames=N.map(function(z){return z.name});for(var J=0;J<N.length;J++){var Q=N[J];N[Q.name]=Q}for(var $=0;$<K.length;$++){var ee=K[$],ae=N[ee.pointsTo],V={name:ee.name,alias:!0,pointsTo:ae};N.push(V),N[ee.name]=V}})();Qe.getDefaultProperty=function(e){return this.getDefaultProperties()[e]};Qe.getDefaultProperties=function(){var e=this._private;if(e.defaultProperties!=null)return e.defaultProperties;for(var t=ve({"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","box-selection":"contain","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","box-select-labels":"no","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%","pie-hole":0,"pie-start-angle":"0deg"},[{name:"pie-{{i}}-background-color",value:"black"},{name:"pie-{{i}}-background-size",value:"0%"},{name:"pie-{{i}}-background-opacity",value:1}].reduce(function(u,s){for(var d=1;d<=Qe.pieBackgroundN;d++){var h=s.name.replace("{{i}}",d),f=s.value;u[h]=f}return u},{}),{"stripe-size":"100%","stripe-direction":"horizontal"},[{name:"stripe-{{i}}-background-color",value:"black"},{name:"stripe-{{i}}-background-size",value:"0%"},{name:"stripe-{{i}}-background-opacity",value:1}].reduce(function(u,s){for(var d=1;d<=Qe.stripeBackgroundN;d++){var h=s.name.replace("{{i}}",d),f=s.value;u[h]=f}return u},{}),{"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(u,s){return Qe.arrowPrefixes.forEach(function(d){var h=d+"-"+s.name,f=s.value;u[h]=f}),u},{})),n={},r=0;r<this.properties.length;r++){var a=this.properties[r];if(!a.pointsTo){var i=a.name,o=t[i],c=this.parse(i,o);n[i]=c}}return e.defaultProperties=n,e.defaultProperties};Qe.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 ii={};ii.parse=function(e,t,n,r){var a=this;if(He(t))return a.parseImplWarn(e,t,n,r);var i=r==="mapping"||r===!0||r===!1||r==null?"dontcare":r,o=n?"t":"f",c=""+t,u=td(e,c,o,i),s=a.propCache=a.propCache||[],d;return(d=s[u])||(d=s[u]=a.parseImplWarn(e,t,n,r)),(n||r==="mapping")&&(d=qt(d),d&&(d.value=qt(d.value))),d};ii.parseImplWarn=function(e,t,n,r){var a=this.parseImpl(e,t,n,r);return!a&&t!=null&&Oe("The style property `".concat(e,": ").concat(t,"` is invalid")),a&&(a.name==="width"||a.name==="height")&&t==="label"&&Oe("The style value of `label` is deprecated for `"+a.name+"`"),a};ii.parseImpl=function(e,t,n,r){var a=this;e=bs(e);var i=a.properties[e],o=t,c=a.types;if(!i||t===void 0)return null;i.alias&&(i=i.pointsTo,e=i.name);var u=pe(t);u&&(t=t.trim());var s=i.type;if(!s)return null;if(n&&(t===""||t===null))return{name:e,value:t,bypass:!0,deleteBypass:!0};if(He(t))return{name:e,value:t,strValue:"fn",mapped:c.fn,bypass:n};var d,h;if(!(!u||r||t.length<7||t[1]!=="a")){if(t.length>=7&&t[0]==="d"&&(d=new RegExp(c.data.regex).exec(t))){if(n)return!1;var f=c.data;return{name:e,value:d,strValue:""+t,mapped:f,field:d[1],bypass:n}}else if(t.length>=10&&t[0]==="m"&&(h=new RegExp(c.mapData.regex).exec(t))){if(n||s.multiple)return!1;var p=c.mapData;if(!(s.color||s.number))return!1;var g=this.parse(e,h[4]);if(!g||g.mapped)return!1;var y=this.parse(e,h[5]);if(!y||y.mapped)return!1;if(g.pfValue===y.pfValue||g.strValue===y.strValue)return Oe("`"+e+": "+t+"` is not a valid mapper because the output range is zero; converting to `"+e+": "+g.strValue+"`"),this.parse(e,g.strValue);if(s.color){var b=g.value,v=y.value,m=b[0]===v[0]&&b[1]===v[1]&&b[2]===v[2]&&(b[3]===v[3]||(b[3]==null||b[3]===1)&&(v[3]==null||v[3]===1));if(m)return!1}return{name:e,value:h,strValue:""+t,mapped:p,field:h[1],fieldMin:parseFloat(h[2]),fieldMax:parseFloat(h[3]),valueMin:g.value,valueMax:y.value,bypass:n}}}if(s.multiple&&r!=="multiple"){var x;if(u?x=t.split(/\s+/):Ve(t)?x=t:x=[t],s.evenMultiple&&x.length%2!==0)return null;for(var w=[],T=[],P=[],E="",k=!1,_=0;_<x.length;_++){var B=a.parse(e,x[_],n,"multiple");k=k||pe(B.value),w.push(B.value),P.push(B.pfValue!=null?B.pfValue:B.value),T.push(B.units),E+=(_>0?" ":"")+B.strValue}return s.validate&&!s.validate(w,T)?null:s.singleEnum&&k?w.length===1&&pe(w[0])?{name:e,value:w[0],strValue:w[0],bypass:n}:null:{name:e,value:w,pfValue:P,strValue:E,bypass:n,units:T}}var D=l(function(){for(var ae=0;ae<s.enums.length;ae++){var V=s.enums[ae];if(V===t)return{name:e,value:t,strValue:""+t,bypass:n}}return null},"checkEnums");if(s.number){var S,M="px";if(s.units&&(S=s.units),s.implicitUnits&&(M=s.implicitUnits),!s.unitless)if(u){var A="px|em"+(s.allowPercent?"|\\%":"");S&&(A=S);var O=t.match("^("+nt+")("+A+")?$");O&&(t=O[1],S=O[2]||M)}else(!S||s.implicitUnits)&&(S=M);if(t=parseFloat(t),isNaN(t)&&s.enums===void 0)return null;if(isNaN(t)&&s.enums!==void 0)return t=o,D();if(s.integer&&!$f(t)||s.min!==void 0&&(t<s.min||s.strictMin&&t===s.min)||s.max!==void 0&&(t>s.max||s.strictMax&&t===s.max))return null;var R={name:e,value:t,strValue:""+t+(S||""),units:S,bypass:n};return s.unitless||S!=="px"&&S!=="em"?R.pfValue=t:R.pfValue=S==="px"||!S?t:this.getEmSizeInPixels()*t,(S==="ms"||S==="s")&&(R.pfValue=S==="ms"?t:1e3*t),(S==="deg"||S==="rad")&&(R.pfValue=S==="rad"?t:Gp(t)),S==="%"&&(R.pfValue=t/100),R}else if(s.propList){var I=[],L=""+t;if(L!=="none"){for(var N=L.split(/\s*,\s*|\s+/),Y=0;Y<N.length;Y++){var q=N[Y].trim();a.properties[q]?I.push(q):Oe("`"+q+"` is not a valid property name")}if(I.length===0)return null}return{name:e,value:I,strValue:I.length===0?"none":I.join(" "),bypass:n}}else if(s.color){var X=Vc(t);return X?{name:e,value:X,pfValue:X,strValue:"rgb("+X[0]+","+X[1]+","+X[2]+")",bypass:n}:null}else if(s.regex||s.regexes){if(s.enums){var K=D();if(K)return K}for(var J=s.regexes?s.regexes:[s.regex],Q=0;Q<J.length;Q++){var $=new RegExp(J[Q]),ee=$.exec(t);if(ee)return{name:e,value:s.singleRegexMatchValue?ee[1]:ee,strValue:""+t,bypass:n}}return null}else return s.string?{name:e,value:""+t,strValue:""+t,bypass:n}:s.enums?D():null};var ot=l(function(e){if(!(this instanceof ot))return new ot(e);if(!ms(e)){We("A style must have a core reference");return}this._private={cy:e,coreStyle:{}},this.length=0,this.resetToDefault()},"Style"),gt=ot.prototype;gt.instanceString=function(){return"style"};gt.clear=function(){for(var e=this._private,t=e.cy,n=t.elements(),r=0;r<this.length;r++)this[r]=void 0;return this.length=0,e.contextStyles={},e.propDiffs={},this.cleanElements(n,!0),n.forEach(function(a){var i=a[0]._private;i.styleDirty=!0,i.appliedInitStyle=!1}),this};gt.resetToDefault=function(){return this.clear(),this.addDefaultStylesheet(),this};gt.core=function(e){return this._private.coreStyle[e]||this.getDefaultProperty(e)};gt.selector=function(e){var t=e==="core"?null:new pn(e),n=this.length++;return this[n]={selector:t,properties:[],mappedProperties:[],index:n},this};gt.css=function(){var e=this,t=arguments;if(t.length===1)for(var n=t[0],r=0;r<e.properties.length;r++){var a=e.properties[r],i=n[a.name];i===void 0&&(i=n[Ua(a.name)]),i!==void 0&&this.cssRule(a.name,i)}else t.length===2&&this.cssRule(t[0],t[1]);return this};gt.style=gt.css;gt.cssRule=function(e,t){var n=this.parse(e,t);if(n){var r=this.length-1;this[r].properties.push(n),this[r].properties[n.name]=n,n.name.match(/pie-(\d+)-background-size/)&&n.value&&(this._private.hasPie=!0),n.name.match(/stripe-(\d+)-background-size/)&&n.value&&(this._private.hasStripe=!0),n.mapped&&this[r].mappedProperties.push(n);var a=!this[r].selector;a&&(this._private.coreStyle[n.name]=n)}return this};gt.append=function(e){return Oc(e)?e.appendToStyle(this):Ve(e)?this.appendFromJson(e):pe(e)&&this.appendFromString(e),this};ot.fromJson=function(e,t){var n=new ot(e);return n.fromJson(t),n};ot.fromString=function(e,t){return new ot(e).fromString(t)};[st,Jr,zs,jt,ai,Fs,Qe,ii].forEach(function(e){ve(gt,e)});ot.types=gt.types;ot.properties=gt.properties;ot.propertyGroups=gt.propertyGroups;ot.propertyGroupNames=gt.propertyGroupNames;ot.propertyGroupKeys=gt.propertyGroupKeys;var oy={style:l(function(e){if(e){var t=this.setStyle(e);t.update()}return this._private.style},"style"),setStyle:l(function(e){var t=this._private;return Oc(e)?t.style=e.generateStyle(this):Ve(e)?t.style=ot.fromJson(this,e):pe(e)?t.style=ot.fromString(this,e):t.style=ot(this),t.style},"setStyle"),updateStyle:l(function(){this.mutableElements().updateStyle()},"updateStyle")},sy="single",Rn={autolock:l(function(e){if(e!==void 0)this._private.autolock=!!e;else return this._private.autolock;return this},"autolock"),autoungrabify:l(function(e){if(e!==void 0)this._private.autoungrabify=!!e;else return this._private.autoungrabify;return this},"autoungrabify"),autounselectify:l(function(e){if(e!==void 0)this._private.autounselectify=!!e;else return this._private.autounselectify;return this},"autounselectify"),selectionType:l(function(e){var t=this._private;if(t.selectionType==null&&(t.selectionType=sy),e!==void 0)(e==="additive"||e==="single")&&(t.selectionType=e);else return t.selectionType;return this},"selectionType"),panningEnabled:l(function(e){if(e!==void 0)this._private.panningEnabled=!!e;else return this._private.panningEnabled;return this},"panningEnabled"),userPanningEnabled:l(function(e){if(e!==void 0)this._private.userPanningEnabled=!!e;else return this._private.userPanningEnabled;return this},"userPanningEnabled"),zoomingEnabled:l(function(e){if(e!==void 0)this._private.zoomingEnabled=!!e;else return this._private.zoomingEnabled;return this},"zoomingEnabled"),userZoomingEnabled:l(function(e){if(e!==void 0)this._private.userZoomingEnabled=!!e;else return this._private.userZoomingEnabled;return this},"userZoomingEnabled"),boxSelectionEnabled:l(function(e){if(e!==void 0)this._private.boxSelectionEnabled=!!e;else return this._private.boxSelectionEnabled;return this},"boxSelectionEnabled"),pan:l(function(){var e=arguments,t=this._private.pan,n,r,a,i,o;switch(e.length){case 0:return t;case 1:if(pe(e[0]))return n=e[0],t[n];if(Be(e[0])){if(!this._private.panningEnabled)return this;a=e[0],i=a.x,o=a.y,re(i)&&(t.x=i),re(o)&&(t.y=o),this.emit("pan viewport")}break;case 2:if(!this._private.panningEnabled)return this;n=e[0],r=e[1],(n==="x"||n==="y")&&re(r)&&(t[n]=r),this.emit("pan viewport");break}return this.notify("viewport"),this},"pan"),panBy:l(function(e,t){var n=arguments,r=this._private.pan,a,i,o,c,u;if(!this._private.panningEnabled)return this;switch(n.length){case 1:Be(e)&&(o=n[0],c=o.x,u=o.y,re(c)&&(r.x+=c),re(u)&&(r.y+=u),this.emit("pan viewport"));break;case 2:a=e,i=t,(a==="x"||a==="y")&&re(i)&&(r[a]+=i),this.emit("pan viewport");break}return this.notify("viewport"),this},"panBy"),gc:l(function(){this.notify("gc")},"gc"),fit:l(function(e,t){var n=this.getFitViewport(e,t);if(n){var r=this._private;r.zoom=n.zoom,r.pan=n.pan,this.emit("pan zoom viewport"),this.notify("viewport")}return this},"fit"),getFitViewport:l(function(e,t){if(re(e)&&t===void 0&&(t=e,e=void 0),!(!this._private.panningEnabled||!this._private.zoomingEnabled)){var n;if(pe(e)){var r=e;e=this.$(r)}else if(ep(e)){var a=e;n={x1:a.x1,y1:a.y1,x2:a.x2,y2:a.y2},n.w=n.x2-n.x1,n.h=n.y2-n.y1}else Dt(e)||(e=this.mutableElements());if(!(Dt(e)&&e.empty())){n=n||e.boundingBox();var i=this.width(),o=this.height(),c;if(t=re(t)?t:0,!isNaN(i)&&!isNaN(o)&&i>0&&o>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0){c=Math.min((i-2*t)/n.w,(o-2*t)/n.h),c=c>this._private.maxZoom?this._private.maxZoom:c,c=c<this._private.minZoom?this._private.minZoom:c;var u={x:(i-c*(n.x1+n.x2))/2,y:(o-c*(n.y1+n.y2))/2};return{zoom:c,pan:u}}}}},"getFitViewport"),zoomRange:l(function(e,t){var n=this._private;if(t==null){var r=e;e=r.min,t=r.max}return re(e)&&re(t)&&e<=t?(n.minZoom=e,n.maxZoom=t):re(e)&&t===void 0&&e<=n.maxZoom?n.minZoom=e:re(t)&&e===void 0&&t>=n.minZoom&&(n.maxZoom=t),this},"zoomRange"),minZoom:l(function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},"minZoom"),maxZoom:l(function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},"maxZoom"),getZoomedViewport:l(function(e){var t=this._private,n=t.pan,r=t.zoom,a,i,o=!1;if(t.zoomingEnabled||(o=!0),re(e)?i=e:Be(e)&&(i=e.level,e.position!=null?a=Ja(e.position,r,n):e.renderedPosition!=null&&(a=e.renderedPosition),a!=null&&!t.panningEnabled&&(o=!0)),i=i>t.maxZoom?t.maxZoom:i,i=i<t.minZoom?t.minZoom:i,o||!re(i)||i===r||a!=null&&(!re(a.x)||!re(a.y)))return null;if(a!=null){var c=n,u=r,s=i,d={x:-s/u*(a.x-c.x)+a.x,y:-s/u*(a.y-c.y)+a.y};return{zoomed:!0,panned:!0,zoom:s,pan:d}}else return{zoomed:!0,panned:!1,zoom:i,pan:n}},"getZoomedViewport"),zoom:l(function(e){if(e===void 0)return this._private.zoom;var t=this.getZoomedViewport(e),n=this._private;return t==null||!t.zoomed?this:(n.zoom=t.zoom,t.panned&&(n.pan.x=t.pan.x,n.pan.y=t.pan.y),this.emit("zoom"+(t.panned?" pan":"")+" viewport"),this.notify("viewport"),this)},"zoom"),viewport:l(function(e){var t=this._private,n=!0,r=!0,a=[],i=!1,o=!1;if(!e)return this;if(re(e.zoom)||(n=!1),Be(e.pan)||(r=!1),!n&&!r)return this;if(n){var c=e.zoom;c<t.minZoom||c>t.maxZoom||!t.zoomingEnabled?i=!0:(t.zoom=c,a.push("zoom"))}if(r&&(!i||!e.cancelOnFailedZoom)&&t.panningEnabled){var u=e.pan;re(u.x)&&(t.pan.x=u.x,o=!1),re(u.y)&&(t.pan.y=u.y,o=!1),o||a.push("pan")}return a.length>0&&(a.push("viewport"),this.emit(a.join(" ")),this.notify("viewport")),this},"viewport"),center:l(function(e){var t=this.getCenterPan(e);return t&&(this._private.pan=t,this.emit("pan viewport"),this.notify("viewport")),this},"center"),getCenterPan:l(function(e,t){if(this._private.panningEnabled){if(pe(e)){var n=e;e=this.mutableElements().filter(n)}else Dt(e)||(e=this.mutableElements());if(e.length!==0){var r=e.boundingBox(),a=this.width(),i=this.height();t=t===void 0?this._private.zoom:t;var o={x:(a-t*(r.x1+r.x2))/2,y:(i-t*(r.y1+r.y2))/2};return o}}},"getCenterPan"),reset:l(function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},"reset"),invalidateSize:l(function(){this._private.sizeCache=null},"invalidateSize"),size:l(function(){var e=this._private,t=e.container,n=this;return e.sizeCache=e.sizeCache||(t?(function(){var r=n.window().getComputedStyle(t),a=l(function(i){return parseFloat(r.getPropertyValue(i))},"val");return{width:t.clientWidth-a("padding-left")-a("padding-right"),height:t.clientHeight-a("padding-top")-a("padding-bottom")}})():{width:1,height:1})},"size"),width:l(function(){return this.size().width},"width"),height:l(function(){return this.size().height},"height"),extent:l(function(){var e=this._private.pan,t=this._private.zoom,n=this.renderedExtent(),r={x1:(n.x1-e.x)/t,x2:(n.x2-e.x)/t,y1:(n.y1-e.y)/t,y2:(n.y2-e.y)/t};return r.w=r.x2-r.x1,r.h=r.y2-r.y1,r},"extent"),renderedExtent:l(function(){var e=this.width(),t=this.height();return{x1:0,y1:0,x2:e,y2:t,w:e,h:t}},"renderedExtent"),multiClickDebounceTime:l(function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this},"multiClickDebounceTime")};Rn.centre=Rn.center;Rn.autolockNodes=Rn.autolock;Rn.autoungrabifyNodes=Rn.autoungrabify;var Nr={data:Le.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:Le.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:Le.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Le.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Nr.attr=Nr.data;Nr.removeAttr=Nr.removeData;var Lr=l(function(e){var t=this;e=ve({},e);var n=e.container;n&&!Ra(n)&&Ra(n[0])&&(n=n[0]);var r=n?n._cyreg:null;r=r||{},r&&r.cy&&(r.cy.destroy(),r={});var a=r.readies=r.readies||[];n&&(n._cyreg=r),r.cy=t;var i=tt!==void 0&&n!==void 0&&!e.headless,o=e;o.layout=ve({name:i?"grid":"null"},o.layout),o.renderer=ve({name:i?"canvas":"null"},o.renderer);var c=l(function(f,p,g){return p!==void 0?p:g!==void 0?g:f},"defVal"),u=this._private={container:n,ready:!1,options:o,elements:new ct(this),listeners:[],aniEles:new ct(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:c(!0,o.zoomingEnabled),userZoomingEnabled:c(!0,o.userZoomingEnabled),panningEnabled:c(!0,o.panningEnabled),userPanningEnabled:c(!0,o.userPanningEnabled),boxSelectionEnabled:c(!0,o.boxSelectionEnabled),autolock:c(!1,o.autolock,o.autolockNodes),autoungrabify:c(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:c(!1,o.autounselectify),styleEnabled:o.styleEnabled===void 0?i:o.styleEnabled,zoom:re(o.zoom)?o.zoom:1,pan:{x:Be(o.pan)&&re(o.pan.x)?o.pan.x:0,y:Be(o.pan)&&re(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:c(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom});var s=l(function(f,p){var g=f.some(tp);if(g)return lr.all(f).then(p);p(f)},"loadExtData");u.styleEnabled&&t.setStyle([]);var d=ve({},o,o.renderer);t.initRenderer(d);var h=l(function(f,p,g){t.notifications(!1);var y=t.mutableElements();y.length>0&&y.remove(),f!=null&&(Be(f)||Ve(f))&&t.add(f),t.one("layoutready",function(v){t.notifications(!0),t.emit(v),t.one("load",p),t.emitAndNotify("load")}).one("layoutstop",function(){t.one("done",g),t.emit("done")});var b=ve({},t._private.options.layout);b.eles=t.elements(),t.layout(b).run()},"setElesAndLayout");s([o.style,o.elements],function(f){var p=f[0],g=f[1];u.styleEnabled&&t.style().append(p),h(g,function(){t.startAnimationLoop(),u.ready=!0,He(o.ready)&&t.on("ready",o.ready);for(var y=0;y<a.length;y++){var b=a[y];t.on("ready",b)}r&&(r.readies=[]),t.emit("ready")},o.done)})},"Core"),qa=Lr.prototype;ve(qa,{instanceString:l(function(){return"core"},"instanceString"),isReady:l(function(){return this._private.ready},"isReady"),destroyed:l(function(){return this._private.destroyed},"destroyed"),ready:l(function(e){return this.isReady()?this.emitter().emit("ready",[],e):this.on("ready",e),this},"ready"),destroy:l(function(){var e=this;if(!e.destroyed())return e.stopAnimationLoop(),e.destroyRenderer(),this.emit("destroy"),e._private.destroyed=!0,e},"destroy"),hasElementWithId:l(function(e){return this._private.elements.hasElementWithId(e)},"hasElementWithId"),getElementById:l(function(e){return this._private.elements.getElementById(e)},"getElementById"),hasCompoundNodes:l(function(){return this._private.hasCompoundNodes},"hasCompoundNodes"),headless:l(function(){return this._private.renderer.isHeadless()},"headless"),styleEnabled:l(function(){return this._private.styleEnabled},"styleEnabled"),addToPool:l(function(e){return this._private.elements.merge(e),this},"addToPool"),removeFromPool:l(function(e){return this._private.elements.unmerge(e),this},"removeFromPool"),container:l(function(){return this._private.container||null},"container"),window:l(function(){var e=this._private.container;if(e==null)return tt;var t=this._private.container.ownerDocument;return t===void 0||t==null?tt:t.defaultView||tt},"window"),mount:l(function(e){if(e!=null){var t=this,n=t._private,r=n.options;return!Ra(e)&&Ra(e[0])&&(e=e[0]),t.stopAnimationLoop(),t.destroyRenderer(),n.container=e,n.styleEnabled=!0,t.invalidateSize(),t.initRenderer(ve({},r,r.renderer,{name:r.renderer.name==="null"?"canvas":r.renderer.name})),t.startAnimationLoop(),t.style(r.style),t.emit("mount"),t}},"mount"),unmount:l(function(){var e=this;return e.stopAnimationLoop(),e.destroyRenderer(),e.initRenderer({name:"null"}),e.emit("unmount"),e},"unmount"),options:l(function(){return qt(this._private.options)},"options"),json:l(function(e){var t=this,n=t._private,r=t.mutableElements(),a=l(function(m){return t.getElementById(m.id())},"getFreshRef");if(Be(e)){if(t.startBatch(),e.elements){var i={},o=l(function(m,x){for(var w=[],T=[],P=0;P<m.length;P++){var E=m[P];if(!E.data.id){Oe("cy.json() cannot handle elements without an ID attribute");continue}var k=""+E.data.id,_=t.getElementById(k);i[k]=!0,_.length!==0?T.push({ele:_,json:E}):(x&&(E.group=x),w.push(E))}t.add(w);for(var B=0;B<T.length;B++){var D=T[B],S=D.ele,M=D.json;S.json(M)}},"updateEles");if(Ve(e.elements))o(e.elements);else for(var c=["nodes","edges"],u=0;u<c.length;u++){var s=c[u],d=e.elements[s];Ve(d)&&o(d,s)}var h=t.collection();r.filter(function(m){return!i[m.id()]}).forEach(function(m){m.isParent()?h.merge(m):m.remove()}),h.forEach(function(m){return m.children().move({parent:null})}),h.forEach(function(m){return a(m).remove()})}e.style&&t.style(e.style),e.zoom!=null&&e.zoom!==n.zoom&&t.zoom(e.zoom),e.pan&&(e.pan.x!==n.pan.x||e.pan.y!==n.pan.y)&&t.pan(e.pan),e.data&&t.data(e.data);for(var f=["minZoom","maxZoom","zoomingEnabled","userZoomingEnabled","panningEnabled","userPanningEnabled","boxSelectionEnabled","autolock","autoungrabify","autounselectify","multiClickDebounceTime"],p=0;p<f.length;p++){var g=f[p];e[g]!=null&&t[g](e[g])}return t.endBatch(),this}else{var y=!!e,b={};y?b.elements=this.elements().map(function(m){return m.json()}):(b.elements={},r.forEach(function(m){var x=m.group();b.elements[x]||(b.elements[x]=[]),b.elements[x].push(m.json())})),this._private.styleEnabled&&(b.style=t.style().json()),b.data=qt(t.data());var v=n.options;return b.zoomingEnabled=n.zoomingEnabled,b.userZoomingEnabled=n.userZoomingEnabled,b.zoom=n.zoom,b.minZoom=n.minZoom,b.maxZoom=n.maxZoom,b.panningEnabled=n.panningEnabled,b.userPanningEnabled=n.userPanningEnabled,b.pan=qt(n.pan),b.boxSelectionEnabled=n.boxSelectionEnabled,b.renderer=qt(v.renderer),b.hideEdgesOnViewport=v.hideEdgesOnViewport,b.textureOnViewport=v.textureOnViewport,b.wheelSensitivity=v.wheelSensitivity,b.motionBlur=v.motionBlur,b.multiClickDebounceTime=v.multiClickDebounceTime,b}},"json")});qa.$id=qa.getElementById;[Qv,ty,Ih,es,Da,ry,ts,ka,oy,Rn,Nr].forEach(function(e){ve(qa,e)});var ly={fit:!0,directed:!1,direction:"downward",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:l(function(e,t){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:l(function(e,t){return t},"transform")},uy={maximal:!1,acyclic:!1},qn=l(function(e){return e.scratch("breadthfirst")},"getInfo"),ic=l(function(e,t){return e.scratch("breadthfirst",t)},"setInfo");function Vs(e){this.options=ve({},ly,uy,e)}l(Vs,"BreadthFirstLayout");Vs.prototype.run=function(){var e=this.options,t=e.cy,n=e.eles,r=n.nodes().filter(function(te){return te.isChildless()}),a=n,i=e.directed,o=e.acyclic||e.maximal||e.maximalAdjustments>0,c=!!e.boundingBox,u=wt(c?e.boundingBox:structuredClone(t.extent())),s;if(Dt(e.roots))s=e.roots;else if(Ve(e.roots)){for(var d=[],h=0;h<e.roots.length;h++){var f=e.roots[h],p=t.getElementById(f);d.push(p)}s=t.collection(d)}else if(pe(e.roots))s=t.$(e.roots);else if(i)s=r.roots();else{var g=n.components();s=t.collection();for(var y=l(function(){var te=g[b],ce=te.maxDegree(!1),de=te.filter(function(be){return be.degree(!1)===ce});s=s.add(de)},"_loop"),b=0;b<g.length;b++)y()}var v=[],m={},x=l(function(te,ce){v[ce]==null&&(v[ce]=[]);var de=v[ce].length;v[ce].push(te),ic(te,{index:de,depth:ce})},"addToDepth"),w=l(function(te,ce){var de=qn(te),be=de.depth,we=de.index;v[be][we]=null,te.isChildless()&&x(te,ce)},"changeDepth");a.bfs({roots:s,directed:e.directed,visit:l(function(te,ce,de,be,we){var Ce=te[0],ke=Ce.id();Ce.isChildless()&&x(Ce,we),m[ke]=!0},"visit")});for(var T=[],P=0;P<r.length;P++){var E=r[P];m[E.id()]||T.push(E)}var k=l(function(te){for(var ce=v[te],de=0;de<ce.length;de++){var be=ce[de];if(be==null){ce.splice(de,1),de--;continue}ic(be,{depth:te,index:de})}},"assignDepthsAt"),_=l(function(te,ce){for(var de=qn(te),be=te.incomers().filter(function(Me){return Me.isNode()&&n.has(Me)}),we=-1,Ce=te.id(),ke=0;ke<be.length;ke++){var ze=be[ke],qe=qn(ze);we=Math.max(we,qe.depth)}if(de.depth<=we){if(!e.acyclic&&ce[Ce])return null;var Re=we+1;return w(te,Re),ce[Ce]=Re,!0}return!1},"adjustMaximally");if(i&&o){var B=[],D={},S=l(function(te){return B.push(te)},"enqueue"),M=l(function(){return B.shift()},"dequeue");for(r.forEach(function(te){return B.push(te)});B.length>0;){var A=M(),O=_(A,D);if(O)A.outgoers().filter(function(te){return te.isNode()&&n.has(te)}).forEach(S);else if(O===null){Oe("Detected double maximal shift for node `"+A.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}var R=0;if(e.avoidOverlap)for(var I=0;I<r.length;I++){var L=r[I],N=L.layoutDimensions(e),Y=N.w,q=N.h;R=Math.max(R,Y,q)}var X={},K=l(function(te){if(X[te.id()])return X[te.id()];for(var ce=qn(te).depth,de=te.neighborhood(),be=0,we=0,Ce=0;Ce<de.length;Ce++){var ke=de[Ce];if(!(ke.isEdge()||ke.isParent()||!r.has(ke))){var ze=qn(ke);if(ze!=null){var qe=ze.index,Re=ze.depth;if(!(qe==null||Re==null)){var Me=v[Re].length;Re<ce&&(be+=qe/Me,we++)}}}}return we=Math.max(1,we),be=be/we,we===0&&(be=0),X[te.id()]=be,be},"getWeightedPercent"),J=l(function(te,ce){var de=K(te),be=K(ce),we=de-be;return we===0?Fc(te.id(),ce.id()):we},"sortFn");e.depthSort!==void 0&&(J=e.depthSort);for(var Q=v.length,$=0;$<Q;$++)v[$].sort(J),k($);for(var ee=[],ae=0;ae<T.length;ae++)ee.push(T[ae]);var V=l(function(){for(var te=0;te<Q;te++)k(te)},"assignDepths");ee.length&&(v.unshift(ee),Q=v.length,V());for(var z=0,F=0;F<Q;F++)z=Math.max(v[F].length,z);var U={x:u.x1+u.w/2,y:u.y1+u.h/2},ne=r.reduce(function(te,ce){return(function(de){return{w:te.w===-1?de.w:(te.w+de.w)/2,h:te.h===-1?de.h:(te.h+de.h)/2}})(ce.boundingBox({includeLabels:e.nodeDimensionsIncludeLabels}))},{w:-1,h:-1}),ie=Math.max(Q===1?0:c?(u.h-e.padding*2-ne.h)/(Q-1):(u.h-e.padding*2-ne.h)/(Q+1),R),Ee=v.reduce(function(te,ce){return Math.max(te,ce.length)},0),me=l(function(te){var ce=qn(te),de=ce.depth,be=ce.index;if(e.circle){var we=Math.min(u.w/2/Q,u.h/2/Q);we=Math.max(we,R);var Ce=we*de+we-(Q>0&&v[0].length<=3?we/2:0),ke=2*Math.PI/v[de].length*be;return de===0&&v[0].length===1&&(Ce=1),{x:U.x+Ce*Math.cos(ke),y:U.y+Ce*Math.sin(ke)}}else{var ze=v[de].length,qe=Math.max(ze===1?0:c?(u.w-e.padding*2-ne.w)/((e.grid?Ee:ze)-1):(u.w-e.padding*2-ne.w)/((e.grid?Ee:ze)+1),R),Re={x:U.x+(be+1-(ze+1)/2)*qe,y:U.y+(de+1-(Q+1)/2)*ie};return Re}},"getPositionTopBottom"),xe={downward:0,leftward:90,upward:180,rightward:-90};Object.keys(xe).indexOf(e.direction)===-1&&We("Invalid direction '".concat(e.direction,"' specified for breadthfirst layout. Valid values are: ").concat(Object.keys(xe).join(", ")));var Ae=l(function(te){return rd(me(te),u,xe[e.direction])},"getPosition");return n.nodes().layoutPositions(this,e,Ae),this};var cy={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:l(function(e,t){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:l(function(e,t){return t},"transform")};function qs(e){this.options=ve({},cy,e)}l(qs,"CircleLayout");qs.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles,a=t.counterclockwise!==void 0?!t.counterclockwise:t.clockwise,i=r.nodes().not(":parent");t.sort&&(i=i.sort(t.sort));for(var o=wt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),c={x:o.x1+o.w/2,y:o.y1+o.h/2},u=t.sweep===void 0?2*Math.PI-2*Math.PI/i.length:t.sweep,s=u/Math.max(1,i.length-1),d,h=0,f=0;f<i.length;f++){var p=i[f],g=p.layoutDimensions(t),y=g.w,b=g.h;h=Math.max(h,y,b)}if(re(t.radius)?d=t.radius:i.length<=1?d=0:d=Math.min(o.h,o.w)/2-h,i.length>1&&t.avoidOverlap){h*=1.75;var v=Math.cos(s)-Math.cos(0),m=Math.sin(s)-Math.sin(0),x=Math.sqrt(h*h/(v*v+m*m));d=Math.max(x,d)}var w=l(function(T,P){var E=t.startAngle+P*s*(a?1:-1),k=d*Math.cos(E),_=d*Math.sin(E),B={x:c.x+k,y:c.y+_};return B},"getPos");return r.nodes().layoutPositions(this,t,w),this};var dy={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:l(function(e){return e.degree()},"concentric"),levelWidth:l(function(e){return e.maxDegree()/4},"levelWidth"),animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:l(function(e,t){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:l(function(e,t){return t},"transform")};function js(e){this.options=ve({},dy,e)}l(js,"ConcentricLayout");js.prototype.run=function(){for(var e=this.options,t=e,n=t.counterclockwise!==void 0?!t.counterclockwise:t.clockwise,r=e.cy,a=t.eles,i=a.nodes().not(":parent"),o=wt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),c={x:o.x1+o.w/2,y:o.y1+o.h/2},u=[],s=0,d=0;d<i.length;d++){var h=i[d],f=void 0;f=t.concentric(h),u.push({value:f,node:h}),h._private.scratch.concentric=f}i.updateStyle();for(var p=0;p<i.length;p++){var g=i[p],y=g.layoutDimensions(t);s=Math.max(s,y.w,y.h)}u.sort(function(ie,Ee){return Ee.value-ie.value});for(var b=t.levelWidth(i),v=[[]],m=v[0],x=0;x<u.length;x++){var w=u[x];if(m.length>0){var T=Math.abs(m[0].value-w.value);T>=b&&(m=[],v.push(m))}m.push(w)}var P=s+t.minNodeSpacing;if(!t.avoidOverlap){var E=v.length>0&&v[0].length>1,k=Math.min(o.w,o.h)/2-P,_=k/(v.length+E?1:0);P=Math.min(P,_)}for(var B=0,D=0;D<v.length;D++){var S=v[D],M=t.sweep===void 0?2*Math.PI-2*Math.PI/S.length:t.sweep,A=S.dTheta=M/Math.max(1,S.length-1);if(S.length>1&&t.avoidOverlap){var O=Math.cos(A)-Math.cos(0),R=Math.sin(A)-Math.sin(0),I=Math.sqrt(P*P/(O*O+R*R));B=Math.max(I,B)}S.r=B,B+=P}if(t.equidistant){for(var L=0,N=0,Y=0;Y<v.length;Y++){var q=v[Y],X=q.r-N;L=Math.max(L,X)}N=0;for(var K=0;K<v.length;K++){var J=v[K];K===0&&(N=J.r),J.r=N,N+=L}}for(var Q={},$=0;$<v.length;$++)for(var ee=v[$],ae=ee.dTheta,V=ee.r,z=0;z<ee.length;z++){var F=ee[z],U=t.startAngle+(n?1:-1)*ae*z,ne={x:c.x+V*Math.cos(U),y:c.y+V*Math.sin(U)};Q[F.node.id()]=ne}return a.nodes().layoutPositions(this,t,function(ie){var Ee=ie.id();return Q[Ee]}),this};var Ao,hy={ready:l(function(){},"ready"),stop:l(function(){},"stop"),animate:!0,animationEasing:void 0,animationDuration:void 0,animateFilter:l(function(e,t){return!0},"animateFilter"),animationThreshold:250,refresh:20,fit:!0,padding:30,boundingBox:void 0,nodeDimensionsIncludeLabels:!1,randomize:!1,componentSpacing:40,nodeRepulsion:l(function(e){return 2048},"nodeRepulsion"),nodeOverlap:4,idealEdgeLength:l(function(e){return 32},"idealEdgeLength"),edgeElasticity:l(function(e){return 32},"edgeElasticity"),nestingFactor:1.2,gravity:1,numIter:1e3,initialTemp:1e3,coolingFactor:.99,minTemp:1};function Qr(e){this.options=ve({},hy,e),this.options.layout=this;var t=this.options.eles.nodes(),n=this.options.eles.edges(),r=n.filter(function(a){var i=a.source().data("id"),o=a.target().data("id"),c=t.some(function(s){return s.data("id")===i}),u=t.some(function(s){return s.data("id")===o});return!c||!u});this.options.eles=this.options.eles.not(r)}l(Qr,"CoseLayout");Qr.prototype.run=function(){var e=this.options,t=e.cy,n=this;n.stopped=!1,(e.animate===!0||e.animate===!1)&&n.emit({type:"layoutstart",layout:n}),e.debug===!0?Ao=!0:Ao=!1;var r=fy(t,n,e);Ao&&gy(r),e.randomize&&vy(r);var a=Gt(),i=l(function(){yy(r,t,e),e.fit===!0&&t.fit(e.padding)},"refresh"),o=l(function(h){return!(n.stopped||h>=e.numIter||(my(r,e),r.temperature=r.temperature*e.coolingFactor,r.temperature<e.minTemp))},"mainLoop"),c=l(function(){if(e.animate===!0||e.animate===!1)i(),n.one("layoutstop",e.stop),n.emit({type:"layoutstop",layout:n});else{var h=e.eles.nodes(),f=Nh(r,e,h);h.layoutPositions(n,e,f)}},"done"),u=0,s=!0;if(e.animate===!0){var d=l(function(){for(var h=0;s&&h<e.refresh;)s=o(u),u++,h++;if(!s)sc(r,e),c();else{var f=Gt();f-a>=e.animationThreshold&&i(),Na(d)}},"frame");d()}else{for(;s;)s=o(u),u++;sc(r,e),c()}return this};Qr.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};Qr.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var fy=l(function(e,t,n){for(var r=n.eles.edges(),a=n.eles.nodes(),i=wt(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:a.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:r.size(),temperature:n.initialTemp,clientWidth:i.w,clientHeight:i.h,boundingBox:i},c=n.eles.components(),u={},s=0;s<c.length;s++)for(var d=c[s],h=0;h<d.length;h++){var f=d[h];u[f.id()]=s}for(var s=0;s<o.nodeSize;s++){var p=a[s],g=p.layoutDimensions(n),y={};y.isLocked=p.locked(),y.id=p.data("id"),y.parentId=p.data("parent"),y.cmptId=u[p.id()],y.children=[],y.positionX=p.position("x"),y.positionY=p.position("y"),y.offsetX=0,y.offsetY=0,y.height=g.w,y.width=g.h,y.maxX=y.positionX+y.width/2,y.minX=y.positionX-y.width/2,y.maxY=y.positionY+y.height/2,y.minY=y.positionY-y.height/2,y.padLeft=parseFloat(p.style("padding")),y.padRight=parseFloat(p.style("padding")),y.padTop=parseFloat(p.style("padding")),y.padBottom=parseFloat(p.style("padding")),y.nodeRepulsion=He(n.nodeRepulsion)?n.nodeRepulsion(p):n.nodeRepulsion,o.layoutNodes.push(y),o.idToIndex[y.id]=s}for(var b=[],v=0,m=-1,x=[],s=0;s<o.nodeSize;s++){var p=o.layoutNodes[s],w=p.parentId;w!=null?o.layoutNodes[o.idToIndex[w]].children.push(p.id):(b[++m]=p.id,x.push(p.id))}for(o.graphSet.push(x);v<=m;){var T=b[v++],P=o.idToIndex[T],f=o.layoutNodes[P],E=f.children;if(E.length>0){o.graphSet.push(E);for(var s=0;s<E.length;s++)b[++m]=E[s]}}for(var s=0;s<o.graphSet.length;s++)for(var k=o.graphSet[s],h=0;h<k.length;h++){var _=o.idToIndex[k[h]];o.indexToGraph[_]=s}for(var s=0;s<o.edgeSize;s++){var B=r[s],D={};D.id=B.data("id"),D.sourceId=B.data("source"),D.targetId=B.data("target");var S=He(n.idealEdgeLength)?n.idealEdgeLength(B):n.idealEdgeLength,M=He(n.edgeElasticity)?n.edgeElasticity(B):n.edgeElasticity,A=o.idToIndex[D.sourceId],O=o.idToIndex[D.targetId],R=o.indexToGraph[A],I=o.indexToGraph[O];if(R!=I){for(var L=py(D.sourceId,D.targetId,o),N=o.graphSet[L],Y=0,y=o.layoutNodes[A];N.indexOf(y.id)===-1;)y=o.layoutNodes[o.idToIndex[y.parentId]],Y++;for(y=o.layoutNodes[O];N.indexOf(y.id)===-1;)y=o.layoutNodes[o.idToIndex[y.parentId]],Y++;S*=Y*n.nestingFactor}D.idealLength=S,D.elasticity=M,o.layoutEdges.push(D)}return o},"createLayoutInfo"),py=l(function(e,t,n){var r=Rh(e,t,0,n);return 2>r.count?0:r.graph},"findLCA"),Rh=l(function(e,t,n,r){var a=r.graphSet[n];if(-1<a.indexOf(e)&&-1<a.indexOf(t))return{count:2,graph:n};for(var i=0,o=0;o<a.length;o++){var c=a[o],u=r.idToIndex[c],s=r.layoutNodes[u].children;if(s.length!==0){var d=r.indexToGraph[r.idToIndex[s[0]]],h=Rh(e,t,d,r);if(h.count!==0)if(h.count===1){if(i++,i===2)break}else return h}}return{count:i,graph:n}},"findLCA_aux"),gy,vy=l(function(e,t){for(var n=e.clientWidth,r=e.clientHeight,a=0;a<e.nodeSize;a++){var i=e.layoutNodes[a];i.children.length===0&&!i.isLocked&&(i.positionX=Math.random()*n,i.positionY=Math.random()*r)}},"randomizePositions"),Nh=l(function(e,t,n){var r=e.boundingBox,a={x1:1/0,x2:-1/0,y1:1/0,y2:-1/0};return t.boundingBox&&(n.forEach(function(i){var o=e.layoutNodes[e.idToIndex[i.data("id")]];a.x1=Math.min(a.x1,o.positionX),a.x2=Math.max(a.x2,o.positionX),a.y1=Math.min(a.y1,o.positionY),a.y2=Math.max(a.y2,o.positionY)}),a.w=a.x2-a.x1,a.h=a.y2-a.y1),function(i,o){var c=e.layoutNodes[e.idToIndex[i.data("id")]];if(t.boundingBox){var u=a.w===0?.5:(c.positionX-a.x1)/a.w,s=a.h===0?.5:(c.positionY-a.y1)/a.h;return{x:r.x1+u*r.w,y:r.y1+s*r.h}}else return{x:c.positionX,y:c.positionY}}},"getScaleInBoundsFn"),yy=l(function(e,t,n){var r=n.layout,a=n.eles.nodes(),i=Nh(e,n,a);a.positions(i),e.ready!==!0&&(e.ready=!0,r.one("layoutready",n.ready),r.emit({type:"layoutready",layout:this}))},"refreshPositions"),my=l(function(e,t,n){by(e,t),Ey(e),Cy(e,t),Ty(e),Sy(e)},"step"),by=l(function(e,t){for(var n=0;n<e.graphSet.length;n++)for(var r=e.graphSet[n],a=r.length,i=0;i<a;i++)for(var o=e.layoutNodes[e.idToIndex[r[i]]],c=i+1;c<a;c++){var u=e.layoutNodes[e.idToIndex[r[c]]];xy(o,u,e,t)}},"calculateNodeForces"),oc=l(function(e){return-1+2*e*Math.random()},"randomDistance"),xy=l(function(e,t,n,r){var a=e.cmptId,i=t.cmptId;if(!(a!==i&&!n.isCompound)){var o=t.positionX-e.positionX,c=t.positionY-e.positionY,u=1;o===0&&c===0&&(o=oc(u),c=oc(u));var s=wy(e,t,o,c);if(s>0)var b=r.nodeOverlap*s,y=Math.sqrt(o*o+c*c),v=b*o/y,m=b*c/y;else var d=ja(e,o,c),h=ja(t,-1*o,-1*c),f=h.x-d.x,p=h.y-d.y,g=f*f+p*p,y=Math.sqrt(g),b=(e.nodeRepulsion+t.nodeRepulsion)/g,v=b*f/y,m=b*p/y;e.isLocked||(e.offsetX-=v,e.offsetY-=m),t.isLocked||(t.offsetX+=v,t.offsetY+=m)}},"nodeRepulsion"),wy=l(function(e,t,n,r){if(n>0)var a=e.maxX-t.minX;else var a=t.maxX-e.minX;if(r>0)var i=e.maxY-t.minY;else var i=t.maxY-e.minY;return a>=0&&i>=0?Math.sqrt(a*a+i*i):0},"nodesOverlap"),ja=l(function(e,t,n){var r=e.positionX,a=e.positionY,i=e.height||1,o=e.width||1,c=n/t,u=i/o,s={};return t===0&&0<n||t===0&&0>n?(s.x=r,s.y=a+i/2,s):0<t&&-1*u<=c&&c<=u?(s.x=r+o/2,s.y=a+o*n/2/t,s):0>t&&-1*u<=c&&c<=u?(s.x=r-o/2,s.y=a-o*n/2/t,s):0<n&&(c<=-1*u||c>=u)?(s.x=r+i*t/2/n,s.y=a+i/2,s):(0>n&&(c<=-1*u||c>=u)&&(s.x=r-i*t/2/n,s.y=a-i/2),s)},"findClippingPoint"),Ey=l(function(e,t){for(var n=0;n<e.edgeSize;n++){var r=e.layoutEdges[n],a=e.idToIndex[r.sourceId],i=e.layoutNodes[a],o=e.idToIndex[r.targetId],c=e.layoutNodes[o],u=c.positionX-i.positionX,s=c.positionY-i.positionY;if(!(u===0&&s===0)){var d=ja(i,u,s),h=ja(c,-1*u,-1*s),f=h.x-d.x,p=h.y-d.y,g=Math.sqrt(f*f+p*p),y=Math.pow(r.idealLength-g,2)/r.elasticity;if(g!==0)var b=y*f/g,v=y*p/g;else var b=0,v=0;i.isLocked||(i.offsetX+=b,i.offsetY+=v),c.isLocked||(c.offsetX-=b,c.offsetY-=v)}}},"calculateEdgeForces"),Cy=l(function(e,t){if(t.gravity!==0)for(var n=1,r=0;r<e.graphSet.length;r++){var a=e.graphSet[r],i=a.length;if(r===0)var u=e.clientHeight/2,s=e.clientWidth/2;else var o=e.layoutNodes[e.idToIndex[a[0]]],c=e.layoutNodes[e.idToIndex[o.parentId]],u=c.positionX,s=c.positionY;for(var d=0;d<i;d++){var h=e.layoutNodes[e.idToIndex[a[d]]];if(!h.isLocked){var f=u-h.positionX,p=s-h.positionY,g=Math.sqrt(f*f+p*p);if(g>n){var y=t.gravity*f/g,b=t.gravity*p/g;h.offsetX+=y,h.offsetY+=b}}}}},"calculateGravityForces"),Ty=l(function(e,t){var n=[],r=0,a=-1;for(n.push.apply(n,e.graphSet[0]),a+=e.graphSet[0].length;r<=a;){var i=n[r++],o=e.idToIndex[i],c=e.layoutNodes[o],u=c.children;if(0<u.length&&!c.isLocked){for(var s=c.offsetX,d=c.offsetY,h=0;h<u.length;h++){var f=e.layoutNodes[e.idToIndex[u[h]]];f.offsetX+=s,f.offsetY+=d,n[++a]=u[h]}c.offsetX=0,c.offsetY=0}}},"propagateForces"),Sy=l(function(e,t){for(var n=0;n<e.nodeSize;n++){var r=e.layoutNodes[n];0<r.children.length&&(r.maxX=void 0,r.minX=void 0,r.maxY=void 0,r.minY=void 0)}for(var n=0;n<e.nodeSize;n++){var r=e.layoutNodes[n];if(!(0<r.children.length||r.isLocked)){var a=Py(r.offsetX,r.offsetY,e.temperature);r.positionX+=a.x,r.positionY+=a.y,r.offsetX=0,r.offsetY=0,r.minX=r.positionX-r.width,r.maxX=r.positionX+r.width,r.minY=r.positionY-r.height,r.maxY=r.positionY+r.height,Lh(r,e)}}for(var n=0;n<e.nodeSize;n++){var r=e.layoutNodes[n];0<r.children.length&&!r.isLocked&&(r.positionX=(r.maxX+r.minX)/2,r.positionY=(r.maxY+r.minY)/2,r.width=r.maxX-r.minX,r.height=r.maxY-r.minY)}},"updatePositions"),Py=l(function(e,t,n){var r=Math.sqrt(e*e+t*t);if(r>n)var a={x:n*e/r,y:n*t/r};else var a={x:e,y:t};return a},"limitForce"),Lh=l(function(e,t){var n=e.parentId;if(n!=null){var r=t.layoutNodes[t.idToIndex[n]],a=!1;if((r.maxX==null||e.maxX+r.padRight>r.maxX)&&(r.maxX=e.maxX+r.padRight,a=!0),(r.minX==null||e.minX-r.padLeft<r.minX)&&(r.minX=e.minX-r.padLeft,a=!0),(r.maxY==null||e.maxY+r.padBottom>r.maxY)&&(r.maxY=e.maxY+r.padBottom,a=!0),(r.minY==null||e.minY-r.padTop<r.minY)&&(r.minY=e.minY-r.padTop,a=!0),a)return Lh(r,t)}},"updateAncestryBoundaries"),sc=l(function(e,t){for(var n=e.layoutNodes,r=[],a=0;a<n.length;a++){var i=n[a],o=i.cmptId,c=r[o]=r[o]||[];c.push(i)}for(var u=0,a=0;a<r.length;a++){var s=r[a];if(s){s.x1=1/0,s.x2=-1/0,s.y1=1/0,s.y2=-1/0;for(var d=0;d<s.length;d++){var h=s[d];s.x1=Math.min(s.x1,h.positionX-h.width/2),s.x2=Math.max(s.x2,h.positionX+h.width/2),s.y1=Math.min(s.y1,h.positionY-h.height/2),s.y2=Math.max(s.y2,h.positionY+h.height/2)}s.w=s.x2-s.x1,s.h=s.y2-s.y1,u+=s.w*s.h}}r.sort(function(v,m){return m.w*m.h-v.w*v.h});for(var f=0,p=0,g=0,y=0,b=Math.sqrt(u)*e.clientWidth/e.clientHeight,a=0;a<r.length;a++){var s=r[a];if(s){for(var d=0;d<s.length;d++){var h=s[d];h.isLocked||(h.positionX+=f-s.x1,h.positionY+=p-s.y1)}f+=s.w+t.componentSpacing,g+=s.w+t.componentSpacing,y=Math.max(y,s.h),g>b&&(p+=y+t.componentSpacing,f=0,g=0,y=0)}}},"separateComponents"),Dy={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:l(function(e){},"position"),sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:l(function(e,t){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:l(function(e,t){return t},"transform")};function Xs(e){this.options=ve({},Dy,e)}l(Xs,"GridLayout");Xs.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles,a=r.nodes().not(":parent");t.sort&&(a=a.sort(t.sort));var i=wt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()});if(i.h===0||i.w===0)r.nodes().layoutPositions(this,t,function(K){return{x:i.x1,y:i.y1}});else{var o=a.size(),c=Math.sqrt(o*i.h/i.w),u=Math.round(c),s=Math.round(i.w/i.h*c),d=l(function(K){if(K==null)return Math.min(u,s);var J=Math.min(u,s);J==u?u=K:s=K},"small"),h=l(function(K){if(K==null)return Math.max(u,s);var J=Math.max(u,s);J==u?u=K:s=K},"large"),f=t.rows,p=t.cols!=null?t.cols:t.columns;if(f!=null&&p!=null)u=f,s=p;else if(f!=null&&p==null)u=f,s=Math.ceil(o/u);else if(f==null&&p!=null)s=p,u=Math.ceil(o/s);else if(s*u>o){var g=d(),y=h();(g-1)*y>=o?d(g-1):(y-1)*g>=o&&h(y-1)}else for(;s*u<o;){var b=d(),v=h();(v+1)*b>=o?h(v+1):d(b+1)}var m=i.w/s,x=i.h/u;if(t.condense&&(m=0,x=0),t.avoidOverlap)for(var w=0;w<a.length;w++){var T=a[w],P=T._private.position;(P.x==null||P.y==null)&&(P.x=0,P.y=0);var E=T.layoutDimensions(t),k=t.avoidOverlapPadding,_=E.w+k,B=E.h+k;m=Math.max(m,_),x=Math.max(x,B)}for(var D={},S=l(function(K,J){return!!D["c-"+K+"-"+J]},"used"),M=l(function(K,J){D["c-"+K+"-"+J]=!0},"use"),A=0,O=0,R=l(function(){O++,O>=s&&(O=0,A++)},"moveToNextCell"),I={},L=0;L<a.length;L++){var N=a[L],Y=t.position(N);if(Y&&(Y.row!==void 0||Y.col!==void 0)){var q={row:Y.row,col:Y.col};if(q.col===void 0)for(q.col=0;S(q.row,q.col);)q.col++;else if(q.row===void 0)for(q.row=0;S(q.row,q.col);)q.row++;I[N.id()]=q,M(q.row,q.col)}}var X=l(function(K,J){var Q,$;if(K.locked()||K.isParent())return!1;var ee=I[K.id()];if(ee)Q=ee.col*m+m/2+i.x1,$=ee.row*x+x/2+i.y1;else{for(;S(A,O);)R();Q=O*m+m/2+i.x1,$=A*x+x/2+i.y1,M(A,O),R()}return{x:Q,y:$}},"getPos");a.layoutPositions(this,t,X)}return this};var ky={ready:l(function(){},"ready"),stop:l(function(){},"stop")};function oi(e){this.options=ve({},ky,e)}l(oi,"NullLayout");oi.prototype.run=function(){var e=this.options,t=e.eles,n=this;return e.cy,n.emit("layoutstart"),t.nodes().positions(function(){return{x:0,y:0}}),n.one("layoutready",e.ready),n.emit("layoutready"),n.one("layoutstop",e.stop),n.emit("layoutstop"),this};oi.prototype.stop=function(){return this};var _y={positions:void 0,zoom:void 0,pan:void 0,fit:!0,padding:30,spacingFactor:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:l(function(e,t){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:l(function(e,t){return t},"transform")};function Ys(e){this.options=ve({},_y,e)}l(Ys,"PresetLayout");Ys.prototype.run=function(){var e=this.options,t=e.eles,n=t.nodes(),r=He(e.positions);function a(i){if(e.positions==null)return Xp(i.position());if(r)return e.positions(i);var o=e.positions[i._private.data.id];return o??null}return l(a,"getPosition"),n.layoutPositions(this,e,function(i,o){var c=a(i);return i.locked()||c==null?!1:c}),this};var By={fit:!0,padding:30,boundingBox:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:l(function(e,t){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:l(function(e,t){return t},"transform")};function Ws(e){this.options=ve({},By,e)}l(Ws,"RandomLayout");Ws.prototype.run=function(){var e=this.options,t=e.cy,n=e.eles,r=wt(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()}),a=l(function(i,o){return{x:r.x1+Math.round(Math.random()*r.w),y:r.y1+Math.round(Math.random()*r.h)}},"getPos");return n.nodes().layoutPositions(this,e,a),this};var Ay=[{name:"breadthfirst",impl:Vs},{name:"circle",impl:qs},{name:"concentric",impl:js},{name:"cose",impl:Qr},{name:"grid",impl:Xs},{name:"null",impl:oi},{name:"preset",impl:Ys},{name:"random",impl:Ws}];function Hs(e){this.options=e,this.notifications=0}l(Hs,"NullRenderer");var lc=l(function(){},"noop"),uc=l(function(){throw new Error("A headless instance can not render images")},"throwImgErr");Hs.prototype={recalculateRenderedStyle:lc,notify:l(function(){this.notifications++},"notify"),init:lc,isHeadless:l(function(){return!0},"isHeadless"),png:uc,jpg:uc};var Ks={};Ks.arrowShapeWidth=.3;Ks.registerArrowShapes=function(){var e=this.arrowShapes={},t=this,n=l(function(u,s,d,h,f,p,g){var y=f.x-d/2-g,b=f.x+d/2+g,v=f.y-d/2-g,m=f.y+d/2+g,x=y<=u&&u<=b&&v<=s&&s<=m;return x},"bbCollide"),r=l(function(u,s,d,h,f){var p=u*Math.cos(h)-s*Math.sin(h),g=u*Math.sin(h)+s*Math.cos(h),y=p*d,b=g*d,v=y+f.x,m=b+f.y;return{x:v,y:m}},"transform"),a=l(function(u,s,d,h){for(var f=[],p=0;p<u.length;p+=2){var g=u[p],y=u[p+1];f.push(r(g,y,s,d,h))}return f},"transformPoints"),i=l(function(u){for(var s=[],d=0;d<u.length;d++){var h=u[d];s.push(h.x,h.y)}return s},"pointsToArr"),o=l(function(u){return u.pstyle("width").pfValue*u.pstyle("arrow-scale").pfValue*2},"standardGap"),c=l(function(u,s){pe(s)&&(s=e[s]),e[u]=ve({name:u,points:[-.15,-.3,.15,-.3,.15,.3,-.15,.3],collide:l(function(d,h,f,p,g,y){var b=i(a(this.points,f+2*y,p,g)),v=Pt(d,h,b);return v},"collide"),roughCollide:n,draw:l(function(d,h,f,p){var g=a(this.points,h,f,p);t.arrowShapeImpl("polygon")(d,g)},"draw"),spacing:l(function(d){return 0},"spacing"),gap:o},s)},"defineArrowShape");c("none",{collide:La,roughCollide:La,draw:Es,spacing:_l,gap:_l}),c("triangle",{points:[-.15,-.3,0,0,.15,-.3]}),c("arrow","triangle"),c("triangle-backcurve",{points:e.triangle.points,controlPoint:[0,-.15],roughCollide:n,draw:l(function(u,s,d,h,f){var p=a(this.points,s,d,h),g=this.controlPoint,y=r(g[0],g[1],s,d,h);t.arrowShapeImpl(this.name)(u,p,y)},"draw"),gap:l(function(u){return o(u)*.8},"gap")}),c("triangle-tee",{points:[0,0,.15,-.3,-.15,-.3,0,0],pointsTee:[-.15,-.4,-.15,-.5,.15,-.5,.15,-.4],collide:l(function(u,s,d,h,f,p,g){var y=i(a(this.points,d+2*g,h,f)),b=i(a(this.pointsTee,d+2*g,h,f)),v=Pt(u,s,y)||Pt(u,s,b);return v},"collide"),draw:l(function(u,s,d,h,f){var p=a(this.points,s,d,h),g=a(this.pointsTee,s,d,h);t.arrowShapeImpl(this.name)(u,p,g)},"draw")}),c("circle-triangle",{radius:.15,pointsTr:[0,-.15,.15,-.45,-.15,-.45,0,-.15],collide:l(function(u,s,d,h,f,p,g){var y=f,b=Math.pow(y.x-u,2)+Math.pow(y.y-s,2)<=Math.pow((d+2*g)*this.radius,2),v=i(a(this.points,d+2*g,h,f));return Pt(u,s,v)||b},"collide"),draw:l(function(u,s,d,h,f){var p=a(this.pointsTr,s,d,h);t.arrowShapeImpl(this.name)(u,p,h.x,h.y,this.radius*s)},"draw"),spacing:l(function(u){return t.getArrowWidth(u.pstyle("width").pfValue,u.pstyle("arrow-scale").value)*this.radius},"spacing")}),c("triangle-cross",{points:[0,0,.15,-.3,-.15,-.3,0,0],baseCrossLinePts:[-.15,-.4,-.15,-.4,.15,-.4,.15,-.4],crossLinePts:l(function(u,s){var d=this.baseCrossLinePts.slice(),h=s/u,f=3,p=5;return d[f]=d[f]-h,d[p]=d[p]-h,d},"crossLinePts"),collide:l(function(u,s,d,h,f,p,g){var y=i(a(this.points,d+2*g,h,f)),b=i(a(this.crossLinePts(d,p),d+2*g,h,f)),v=Pt(u,s,y)||Pt(u,s,b);return v},"collide"),draw:l(function(u,s,d,h,f){var p=a(this.points,s,d,h),g=a(this.crossLinePts(s,f),s,d,h);t.arrowShapeImpl(this.name)(u,p,g)},"draw")}),c("vee",{points:[-.15,-.3,0,0,.15,-.3,0,-.15],gap:l(function(u){return o(u)*.525},"gap")}),c("circle",{radius:.15,collide:l(function(u,s,d,h,f,p,g){var y=f,b=Math.pow(y.x-u,2)+Math.pow(y.y-s,2)<=Math.pow((d+2*g)*this.radius,2);return b},"collide"),draw:l(function(u,s,d,h,f){t.arrowShapeImpl(this.name)(u,h.x,h.y,this.radius*s)},"draw"),spacing:l(function(u){return t.getArrowWidth(u.pstyle("width").pfValue,u.pstyle("arrow-scale").value)*this.radius},"spacing")}),c("tee",{points:[-.15,0,-.15,-.1,.15,-.1,.15,0],spacing:l(function(u){return 1},"spacing"),gap:l(function(u){return 1},"gap")}),c("square",{points:[-.15,0,.15,0,.15,-.3,-.15,-.3]}),c("diamond",{points:[-.15,-.15,0,-.3,.15,-.15,0,0],gap:l(function(u){return u.pstyle("width").pfValue*u.pstyle("arrow-scale").value},"gap")}),c("chevron",{points:[0,0,-.15,-.15,-.1,-.2,0,-.1,.1,-.2,.15,-.15],gap:l(function(u){return .95*u.pstyle("width").pfValue*u.pstyle("arrow-scale").value},"gap")})};var On={};On.projectIntoViewport=function(e,t){var n=this.cy,r=this.findContainerClientCoords(),a=r[0],i=r[1],o=r[4],c=n.pan(),u=n.zoom(),s=((e-a)/o-c.x)/u,d=((t-i)/o-c.y)/u;return[s,d]};On.findContainerClientCoords=function(){if(this.containerBB)return this.containerBB;var e=this.container,t=e.getBoundingClientRect(),n=this.cy.window().getComputedStyle(e),r=l(function(b){return parseFloat(n.getPropertyValue(b))},"styleValue"),a={left:r("padding-left"),right:r("padding-right"),top:r("padding-top"),bottom:r("padding-bottom")},i={left:r("border-left-width"),right:r("border-right-width"),top:r("border-top-width"),bottom:r("border-bottom-width")},o=e.clientWidth,c=e.clientHeight,u=a.left+a.right,s=a.top+a.bottom,d=i.left+i.right,h=t.width/(o+d),f=o-u,p=c-s,g=t.left+a.left+i.left,y=t.top+a.top+i.top;return this.containerBB=[g,y,f,p,h]};On.invalidateContainerClientCoordsCache=function(){this.containerBB=null};On.findNearestElement=function(e,t,n,r){return this.findNearestElements(e,t,n,r)[0]};On.findNearestElements=function(e,t,n,r){var a=this,i=this,o=i.getCachedZSortedEles(),c=[],u=i.cy.zoom(),s=i.cy.hasCompoundNodes(),d=(r?24:8)/u,h=(r?8:2)/u,f=(r?8:2)/u,p=1/0,g,y;n&&(o=o.interactive);function b(E,k){if(E.isNode()){if(y)return;y=E,c.push(E)}if(E.isEdge()&&(k==null||k<p))if(g){if(g.pstyle("z-compound-depth").value===E.pstyle("z-compound-depth").value&&g.pstyle("z-compound-depth").value===E.pstyle("z-compound-depth").value){for(var _=0;_<c.length;_++)if(c[_].isEdge()){c[_]=E,g=E,p=k??p;break}}}else c.push(E),g=E,p=k??p}l(b,"addEle");function v(E){var k=E.outerWidth()+2*h,_=E.outerHeight()+2*h,B=k/2,D=_/2,S=E.position(),M=E.pstyle("corner-radius").value==="auto"?"auto":E.pstyle("corner-radius").pfValue,A=E._private.rscratch;if(S.x-B<=e&&e<=S.x+B&&S.y-D<=t&&t<=S.y+D){var O=i.nodeShapes[a.getNodeShape(E)];if(O.checkPoint(e,t,0,k,_,S.x,S.y,M,A))return b(E,0),!0}}l(v,"checkNode");function m(E){var k=E._private,_=k.rscratch,B=E.pstyle("width").pfValue,D=E.pstyle("arrow-scale").value,S=B/2+d,M=S*S,A=S*2,O=k.source,R=k.target,I;if(_.edgeType==="segments"||_.edgeType==="straight"||_.edgeType==="haystack"){for(var L=_.allpts,N=0;N+3<L.length;N+=2)if(tg(e,t,L[N],L[N+1],L[N+2],L[N+3],A)&&M>(I=og(e,t,L[N],L[N+1],L[N+2],L[N+3])))return b(E,I),!0}else if(_.edgeType==="bezier"||_.edgeType==="multibezier"||_.edgeType==="self"||_.edgeType==="compound"){for(var L=_.allpts,N=0;N+5<_.allpts.length;N+=4)if(ng(e,t,L[N],L[N+1],L[N+2],L[N+3],L[N+4],L[N+5],A)&&M>(I=ig(e,t,L[N],L[N+1],L[N+2],L[N+3],L[N+4],L[N+5])))return b(E,I),!0}for(var O=O||k.source,R=R||k.target,Y=a.getArrowWidth(B,D),q=[{name:"source",x:_.arrowStartX,y:_.arrowStartY,angle:_.srcArrowAngle},{name:"target",x:_.arrowEndX,y:_.arrowEndY,angle:_.tgtArrowAngle},{name:"mid-source",x:_.midX,y:_.midY,angle:_.midsrcArrowAngle},{name:"mid-target",x:_.midX,y:_.midY,angle:_.midtgtArrowAngle}],N=0;N<q.length;N++){var X=q[N],K=i.arrowShapes[E.pstyle(X.name+"-arrow-shape").value],J=E.pstyle("width").pfValue;if(K.roughCollide(e,t,Y,X.angle,{x:X.x,y:X.y},J,d)&&K.collide(e,t,Y,X.angle,{x:X.x,y:X.y},J,d))return b(E),!0}s&&c.length>0&&(v(O),v(R))}l(m,"checkEdge");function x(E,k,_){return St(E,k,_)}l(x,"preprop");function w(E,k){var _=E._private,B=f,D;k?D=k+"-":D="",E.boundingBox();var S=_.labelBounds[k||"main"],M=E.pstyle(D+"label").value,A=E.pstyle("text-events").strValue==="yes";if(!(!A||!M)){var O=x(_.rscratch,"labelX",k),R=x(_.rscratch,"labelY",k),I=x(_.rscratch,"labelAngle",k),L=E.pstyle(D+"text-margin-x").pfValue,N=E.pstyle(D+"text-margin-y").pfValue,Y=S.x1-B-L,q=S.x2+B-L,X=S.y1-B-N,K=S.y2+B-N;if(I){var J=Math.cos(I),Q=Math.sin(I),$=l(function(U,ne){return U=U-O,ne=ne-R,{x:U*J-ne*Q+O,y:U*Q+ne*J+R}},"rotate"),ee=$(Y,X),ae=$(Y,K),V=$(q,X),z=$(q,K),F=[ee.x+L,ee.y+N,V.x+L,V.y+N,z.x+L,z.y+N,ae.x+L,ae.y+N];if(Pt(e,t,F))return b(E),!0}else if(sn(S,e,t))return b(E),!0}}l(w,"checkLabel");for(var T=o.length-1;T>=0;T--){var P=o[T];P.isNode()?v(P)||w(P):m(P)||w(P)||w(P,"source")||w(P,"target")}return c};On.getAllInBox=function(e,t,n,r){var a=this.getCachedZSortedEles().interactive,i=this.cy.zoom(),o=2/i,c=[],u=Math.min(e,n),s=Math.max(e,n),d=Math.min(t,r),h=Math.max(t,r);e=u,n=s,t=d,r=h;var f=wt({x1:e,y1:t,x2:n,y2:r}),p=[{x:f.x1,y:f.y1},{x:f.x2,y:f.y1},{x:f.x2,y:f.y2},{x:f.x1,y:f.y2}],g=[[p[0],p[1]],[p[1],p[2]],[p[2],p[3]],[p[3],p[0]]];function y(ne,ie,Ee){return St(ne,ie,Ee)}l(y,"preprop");function b(ne,ie){var Ee=ne._private,me=o,xe="";ne.boundingBox();var Ae=Ee.labelBounds.main;if(!Ae)return null;var te=y(Ee.rscratch,"labelX",ie),ce=y(Ee.rscratch,"labelY",ie),de=y(Ee.rscratch,"labelAngle",ie),be=ne.pstyle(xe+"text-margin-x").pfValue,we=ne.pstyle(xe+"text-margin-y").pfValue,Ce=Ae.x1-me-be,ke=Ae.x2+me-be,ze=Ae.y1-me-we,qe=Ae.y2+me-we;if(de){var Re=Math.cos(de),Me=Math.sin(de),oe=l(function(ye,C){return ye=ye-te,C=C-ce,{x:ye*Re-C*Me+te,y:ye*Me+C*Re+ce}},"rotate");return[oe(Ce,ze),oe(ke,ze),oe(ke,qe),oe(Ce,qe)]}else return[{x:Ce,y:ze},{x:ke,y:ze},{x:ke,y:qe},{x:Ce,y:qe}]}l(b,"getRotatedLabelBox");function v(ne,ie,Ee,me){function xe(Ae,te,ce){return(ce.y-Ae.y)*(te.x-Ae.x)>(te.y-Ae.y)*(ce.x-Ae.x)}return l(xe,"ccw"),xe(ne,Ee,me)!==xe(ie,Ee,me)&&xe(ne,ie,Ee)!==xe(ne,ie,me)}l(v,"doLinesIntersect");for(var m=0;m<a.length;m++){var x=a[m];if(x.isNode()){var w=x,T=w.pstyle("text-events").strValue==="yes",P=w.pstyle("box-selection").strValue,E=w.pstyle("box-select-labels").strValue==="yes";if(P==="none")continue;var k=(P==="overlap"||E)&&T,_=w.boundingBox({includeNodes:!0,includeEdges:!1,includeLabels:k});if(P==="contain"){var B=!1;if(E&&T){var D=b(w);D&&wa(D,p)&&(c.push(w),B=!0)}!B&&hd(f,_)&&c.push(w)}else if(P==="overlap"&&Ps(f,_)){var S=w.boundingBox({includeNodes:!0,includeEdges:!0,includeLabels:!1,includeMainLabels:!1,includeSourceLabels:!1,includeTargetLabels:!1}),M=[{x:S.x1,y:S.y1},{x:S.x2,y:S.y1},{x:S.x2,y:S.y2},{x:S.x1,y:S.y2}];if(wa(M,p))c.push(w);else{var A=b(w);A&&wa(A,p)&&c.push(w)}}}else{var O=x,R=O._private,I=R.rscratch,L=O.pstyle("box-selection").strValue;if(L==="none")continue;if(L==="contain"){if(I.startX!=null&&I.startY!=null&&!sn(f,I.startX,I.startY)||I.endX!=null&&I.endY!=null&&!sn(f,I.endX,I.endY))continue;if(I.edgeType==="bezier"||I.edgeType==="multibezier"||I.edgeType==="self"||I.edgeType==="compound"||I.edgeType==="segments"||I.edgeType==="haystack"){for(var N=R.rstyle.bezierPts||R.rstyle.linePts||R.rstyle.haystackPts,Y=!0,q=0;q<N.length;q++)if(!Nl(f,N[q])){Y=!1;break}Y&&c.push(O)}else I.edgeType==="straight"&&c.push(O)}else if(L==="overlap"){var X=!1;if(I.startX!=null&&I.startY!=null&&I.endX!=null&&I.endY!=null&&(sn(f,I.startX,I.startY)||sn(f,I.endX,I.endY)))c.push(O),X=!0;else if(!X&&I.edgeType==="haystack"){for(var K=R.rstyle.haystackPts,J=0;J<K.length;J++)if(Nl(f,K[J])){c.push(O),X=!0;break}}if(!X){var Q=R.rstyle.bezierPts||R.rstyle.linePts||R.rstyle.haystackPts;if((!Q||Q.length<2)&&I.edgeType==="straight"&&I.startX!=null&&I.startY!=null&&I.endX!=null&&I.endY!=null&&(Q=[{x:I.startX,y:I.startY},{x:I.endX,y:I.endY}]),!Q||Q.length<2)continue;for(var $=0;$<Q.length-1;$++){for(var ee=Q[$],ae=Q[$+1],V=0;V<g.length;V++){var z=Ue(g[V],2),F=z[0],U=z[1];if(v(ee,ae,F,U)){c.push(O),X=!0;break}}if(X)break}}}}}return c};var Xa={};Xa.calculateArrowAngles=function(e){var t=e._private.rscratch,n=t.edgeType==="haystack",r=t.edgeType==="bezier",a=t.edgeType==="multibezier",i=t.edgeType==="segments",o=t.edgeType==="compound",c=t.edgeType==="self",u,s,d,h,f,p,v,m;if(n?(d=t.haystackPts[0],h=t.haystackPts[1],f=t.haystackPts[2],p=t.haystackPts[3]):(d=t.arrowStartX,h=t.arrowStartY,f=t.arrowEndX,p=t.arrowEndY),v=t.midX,m=t.midY,i)u=d-t.segpts[0],s=h-t.segpts[1];else if(a||o||c||r){var g=t.allpts,y=it(g[0],g[2],g[4],.1),b=it(g[1],g[3],g[5],.1);u=d-y,s=h-b}else u=d-v,s=h-m;t.srcArrowAngle=ua(u,s);var v=t.midX,m=t.midY;if(n&&(v=(d+f)/2,m=(h+p)/2),u=f-d,s=p-h,i){var g=t.allpts;if(g.length/2%2===0){var x=g.length/2,w=x-2;u=g[x]-g[w],s=g[x+1]-g[w+1]}else if(t.isRound)u=t.midVector[1],s=-t.midVector[0];else{var x=g.length/2-1,w=x-2;u=g[x]-g[w],s=g[x+1]-g[w+1]}}else if(a||o||c){var g=t.allpts,T=t.ctrlpts,P,E,k,_;if(T.length/2%2===0){var B=g.length/2-1,D=B+2,S=D+2;P=it(g[B],g[D],g[S],0),E=it(g[B+1],g[D+1],g[S+1],0),k=it(g[B],g[D],g[S],1e-4),_=it(g[B+1],g[D+1],g[S+1],1e-4)}else{var D=g.length/2-1,B=D-2,S=D+2;P=it(g[B],g[D],g[S],.4999),E=it(g[B+1],g[D+1],g[S+1],.4999),k=it(g[B],g[D],g[S],.5),_=it(g[B+1],g[D+1],g[S+1],.5)}u=k-P,s=_-E}if(t.midtgtArrowAngle=ua(u,s),t.midDispX=u,t.midDispY=s,u*=-1,s*=-1,i){var g=t.allpts;if(g.length/2%2!==0&&!t.isRound){var x=g.length/2-1,M=x+2;u=-(g[M]-g[x]),s=-(g[M+1]-g[x+1])}}if(t.midsrcArrowAngle=ua(u,s),i)u=f-t.segpts[t.segpts.length-2],s=p-t.segpts[t.segpts.length-1];else if(a||o||c||r){var g=t.allpts,A=g.length,y=it(g[A-6],g[A-4],g[A-2],.9),b=it(g[A-5],g[A-3],g[A-1],.9);u=f-y,s=p-b}else u=f-v,s=p-m;t.tgtArrowAngle=ua(u,s)};Xa.getArrowWidth=Xa.getArrowHeight=function(e,t){var n=this.arrowWidthCache=this.arrowWidthCache||{},r=n[e+", "+t];return r||(r=Math.max(Math.pow(e*13.37,.9),29)*t,n[e+", "+t]=r,r)};var ns,rs,Vt={},_t={},cc,dc,_n,_a,Wt,wn,Pn,Ft,jn,va,Oh,zh,as,is,hc,fc=l(function(e,t,n){n.x=t.x-e.x,n.y=t.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)},"asVec"),My=l(function(e,t){t.x=e.x*-1,t.y=e.y*-1,t.nx=e.nx*-1,t.ny=e.ny*-1,t.ang=e.ang>0?-(Math.PI-e.ang):Math.PI+e.ang},"invertVec"),Iy=l(function(e,t,n,r,a){if(e!==hc?fc(t,e,Vt):My(_t,Vt),fc(t,n,_t),cc=Vt.nx*_t.ny-Vt.ny*_t.nx,dc=Vt.nx*_t.nx-Vt.ny*-_t.ny,Wt=Math.asin(Math.max(-1,Math.min(1,cc))),Math.abs(Wt)<1e-6){ns=t.x,rs=t.y,Pn=jn=0;return}_n=1,_a=!1,dc<0?Wt<0?Wt=Math.PI+Wt:(Wt=Math.PI-Wt,_n=-1,_a=!0):Wt>0&&(_n=-1,_a=!0),t.radius!==void 0?jn=t.radius:jn=r,wn=Wt/2,va=Math.min(Vt.len/2,_t.len/2),a?(Ft=Math.abs(Math.cos(wn)*jn/Math.sin(wn)),Ft>va?(Ft=va,Pn=Math.abs(Ft*Math.sin(wn)/Math.cos(wn))):Pn=jn):(Ft=Math.min(va,jn),Pn=Math.abs(Ft*Math.sin(wn)/Math.cos(wn))),as=t.x+_t.nx*Ft,is=t.y+_t.ny*Ft,ns=as-_t.ny*Pn*_n,rs=is+_t.nx*Pn*_n,Oh=t.x+Vt.nx*Ft,zh=t.y+Vt.ny*Ft,hc=t},"calcCornerArc");function Gs(e,t){t.radius===0?e.lineTo(t.cx,t.cy):e.arc(t.cx,t.cy,t.radius,t.startAngle,t.endAngle,t.counterClockwise)}l(Gs,"drawPreparedRoundCorner");function si(e,t,n,r){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return r===0||t.radius===0?{cx:t.x,cy:t.y,radius:0,startX:t.x,startY:t.y,stopX:t.x,stopY:t.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(Iy(e,t,n,r,a),{cx:ns,cy:rs,radius:Pn,startX:Oh,startY:zh,stopX:as,stopY:is,startAngle:Vt.ang+Math.PI/2*_n,endAngle:_t.ang-Math.PI/2*_n,counterClockwise:_a})}l(si,"getRoundCorner");var Or=.01,Ry=Math.sqrt(2*Or),vt={};vt.findMidptPtsEtc=function(e,t){var n=t.posPts,r=t.intersectionPts,a=t.vectorNormInverse,i,o=e.pstyle("source-endpoint"),c=e.pstyle("target-endpoint"),u=o.units!=null&&c.units!=null,s=l(function(w,T,P,E){var k=E-T,_=P-w,B=Math.sqrt(_*_+k*k);return{x:-k/B,y:_/B}},"recalcVectorNormInverse"),d=e.pstyle("edge-distances").value;switch(d){case"node-position":i=n;break;case"intersection":i=r;break;case"endpoints":{if(u){var h=this.manualEndptToPx(e.source()[0],o),f=Ue(h,2),p=f[0],g=f[1],y=this.manualEndptToPx(e.target()[0],c),b=Ue(y,2),v=b[0],m=b[1],x={x1:p,y1:g,x2:v,y2:m};a=s(p,g,v,m),i=x}else Oe("Edge ".concat(e.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),i=r;break}}return{midptPts:i,vectorNormInverse:a}};vt.findHaystackPoints=function(e){for(var t=0;t<e.length;t++){var n=e[t],r=n._private,a=r.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=r.source,c=r.target,u=o.position(),s=c.position(),d=o.width(),h=c.width(),f=o.height(),p=c.height(),g=n.pstyle("haystack-radius").value,y=g/2;a.haystackPts=a.allpts=[a.source.x*d*y+u.x,a.source.y*f*y+u.y,a.target.x*h*y+s.x,a.target.y*p*y+s.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(n),this.calculateArrowAngles(n),this.recalculateEdgeLabelProjections(n),this.calculateLabelAngles(n)}};vt.findSegmentsPoints=function(e,t){var n=e._private.rscratch,r=e.pstyle("segment-weights"),a=e.pstyle("segment-distances"),i=e.pstyle("segment-radii"),o=e.pstyle("radius-type"),c=Math.min(r.pfValue.length,a.pfValue.length),u=i.pfValue[i.pfValue.length-1],s=o.pfValue[o.pfValue.length-1];n.edgeType="segments",n.segpts=[],n.radii=[],n.isArcRadius=[];for(var d=0;d<c;d++){var h=r.pfValue[d],f=a.pfValue[d],p=1-h,g=h,y=this.findMidptPtsEtc(e,t),b=y.midptPts,v=y.vectorNormInverse,m={x:b.x1*p+b.x2*g,y:b.y1*p+b.y2*g};n.segpts.push(m.x+v.x*f,m.y+v.y*f),n.radii.push(i.pfValue[d]!==void 0?i.pfValue[d]:u),n.isArcRadius.push((o.pfValue[d]!==void 0?o.pfValue[d]:s)==="arc-radius")}};vt.findLoopPoints=function(e,t,n,r){var a=e._private.rscratch,i=t.dirCounts,o=t.srcPos,c=e.pstyle("control-point-distances"),u=c?c.pfValue[0]:void 0,s=e.pstyle("loop-direction").pfValue,d=e.pstyle("loop-sweep").pfValue,h=e.pstyle("control-point-step-size").pfValue;a.edgeType="self";var f=n,p=h;r&&(f=0,p=u);var g=s-Math.PI/2,y=g-d/2,b=g+d/2,v=s+"_"+d;f=i[v]===void 0?i[v]=0:++i[v],a.ctrlpts=[o.x+Math.cos(y)*1.4*p*(f/3+1),o.y+Math.sin(y)*1.4*p*(f/3+1),o.x+Math.cos(b)*1.4*p*(f/3+1),o.y+Math.sin(b)*1.4*p*(f/3+1)]};vt.findCompoundLoopPoints=function(e,t,n,r){var a=e._private.rscratch;a.edgeType="compound";var i=t.srcPos,o=t.tgtPos,c=t.srcW,u=t.srcH,s=t.tgtW,d=t.tgtH,h=e.pstyle("control-point-step-size").pfValue,f=e.pstyle("control-point-distances"),p=f?f.pfValue[0]:void 0,g=n,y=h;r&&(g=0,y=p);var b=50,v={x:i.x-c/2,y:i.y-u/2},m={x:o.x-s/2,y:o.y-d/2},x={x:Math.min(v.x,m.x),y:Math.min(v.y,m.y)},w=.5,T=Math.max(w,Math.log(c*Or)),P=Math.max(w,Math.log(s*Or));a.ctrlpts=[x.x,x.y-(1+Math.pow(b,1.12)/100)*y*(g/3+1)*T,x.x-(1+Math.pow(b,1.12)/100)*y*(g/3+1)*P,x.y]};vt.findStraightEdgePoints=function(e){e._private.rscratch.edgeType="straight"};vt.findBezierPoints=function(e,t,n,r,a){var i=e._private.rscratch,o=e.pstyle("control-point-step-size").pfValue,c=e.pstyle("control-point-distances"),u=e.pstyle("control-point-weights"),s=c&&u?Math.min(c.value.length,u.value.length):1,d=c?c.pfValue[0]:void 0,h=u.value[0],f=r;i.edgeType=f?"multibezier":"bezier",i.ctrlpts=[];for(var p=0;p<s;p++){var g=(.5-t.eles.length/2+n)*o*(a?-1:1),y=void 0,b=Ss(g);f&&(d=c?c.pfValue[p]:o,h=u.value[p]),r?y=d:y=d!==void 0?b*d:void 0;var v=y!==void 0?y:g,m=1-h,x=h,w=this.findMidptPtsEtc(e,t),T=w.midptPts,P=w.vectorNormInverse,E={x:T.x1*m+T.x2*x,y:T.y1*m+T.y2*x};i.ctrlpts.push(E.x+P.x*v,E.y+P.y*v)}};vt.findTaxiPoints=function(e,t){var n=e._private.rscratch;n.edgeType="segments";var r="vertical",a="horizontal",i="leftward",o="rightward",c="downward",u="upward",s="auto",d=t.posPts,h=t.srcW,f=t.srcH,p=t.tgtW,g=t.tgtH,y=e.pstyle("edge-distances").value,b=y!=="node-position",v=e.pstyle("taxi-direction").value,m=v,x=e.pstyle("taxi-turn"),w=x.units==="%",T=x.pfValue,P=T<0,E=e.pstyle("taxi-turn-min-distance").pfValue,k=b?(h+p)/2:0,_=b?(f+g)/2:0,B=d.x2-d.x1,D=d.y2-d.y1,S=l(function(C,j){return C>0?Math.max(C-j,0):Math.min(C+j,0)},"subDWH"),M=S(B,k),A=S(D,_),O=!1;m===s?v=Math.abs(M)>Math.abs(A)?a:r:m===u||m===c?(v=r,O=!0):(m===i||m===o)&&(v=a,O=!0);var R=v===r,I=R?A:M,L=R?D:B,N=Ss(L),Y=!1;!(O&&(w||P))&&(m===c&&L<0||m===u&&L>0||m===i&&L>0||m===o&&L<0)&&(N*=-1,I=N*Math.abs(I),Y=!0);var q;if(w){var X=T<0?1+T:T;q=X*I}else{var K=T<0?I:0;q=K+T*N}var J=l(function(C){return Math.abs(C)<E||Math.abs(C)>=Math.abs(I)},"getIsTooClose"),Q=J(q),$=J(Math.abs(I)-Math.abs(q)),ee=Q||$;if(ee&&!Y)if(R){var ae=Math.abs(L)<=f/2,V=Math.abs(B)<=p/2;if(ae){var z=(d.x1+d.x2)/2,F=d.y1,U=d.y2;n.segpts=[z,F,z,U]}else if(V){var ne=(d.y1+d.y2)/2,ie=d.x1,Ee=d.x2;n.segpts=[ie,ne,Ee,ne]}else n.segpts=[d.x1,d.y2]}else{var me=Math.abs(L)<=h/2,xe=Math.abs(D)<=g/2;if(me){var Ae=(d.y1+d.y2)/2,te=d.x1,ce=d.x2;n.segpts=[te,Ae,ce,Ae]}else if(xe){var de=(d.x1+d.x2)/2,be=d.y1,we=d.y2;n.segpts=[de,be,de,we]}else n.segpts=[d.x2,d.y1]}else if(R){var Ce=d.y1+q+(b?f/2*N:0),ke=d.x1,ze=d.x2;n.segpts=[ke,Ce,ze,Ce]}else{var qe=d.x1+q+(b?h/2*N:0),Re=d.y1,Me=d.y2;n.segpts=[qe,Re,qe,Me]}if(n.isRound){var oe=e.pstyle("taxi-radius").value,ye=e.pstyle("radius-type").value[0]==="arc-radius";n.radii=new Array(n.segpts.length/2).fill(oe),n.isArcRadius=new Array(n.segpts.length/2).fill(ye)}};vt.tryToCorrectInvalidPoints=function(e,t){var n=e._private.rscratch;if(n.edgeType==="bezier"){var r=t.srcPos,a=t.tgtPos,i=t.srcW,o=t.srcH,c=t.tgtW,u=t.tgtH,s=t.srcShape,d=t.tgtShape,h=t.srcCornerRadius,f=t.tgtCornerRadius,p=t.srcRs,g=t.tgtRs,y=!re(n.startX)||!re(n.startY),b=!re(n.arrowStartX)||!re(n.arrowStartY),v=!re(n.endX)||!re(n.endY),m=!re(n.arrowEndX)||!re(n.arrowEndY),x=3,w=this.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.arrowShapeWidth,T=x*w,P=Mn({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.startX,y:n.startY}),E=P<T,k=Mn({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.endX,y:n.endY}),_=k<T,B=!1;if(y||b||E){B=!0;var D={x:n.ctrlpts[0]-r.x,y:n.ctrlpts[1]-r.y},S=Math.sqrt(D.x*D.x+D.y*D.y),M={x:D.x/S,y:D.y/S},A=Math.max(i,o),O={x:n.ctrlpts[0]+M.x*2*A,y:n.ctrlpts[1]+M.y*2*A},R=s.intersectLine(r.x,r.y,i,o,O.x,O.y,0,h,p);E?(n.ctrlpts[0]=n.ctrlpts[0]+M.x*(T-P),n.ctrlpts[1]=n.ctrlpts[1]+M.y*(T-P)):(n.ctrlpts[0]=R[0]+M.x*T,n.ctrlpts[1]=R[1]+M.y*T)}if(v||m||_){B=!0;var I={x:n.ctrlpts[0]-a.x,y:n.ctrlpts[1]-a.y},L=Math.sqrt(I.x*I.x+I.y*I.y),N={x:I.x/L,y:I.y/L},Y=Math.max(i,o),q={x:n.ctrlpts[0]+N.x*2*Y,y:n.ctrlpts[1]+N.y*2*Y},X=d.intersectLine(a.x,a.y,c,u,q.x,q.y,0,f,g);_?(n.ctrlpts[0]=n.ctrlpts[0]+N.x*(T-k),n.ctrlpts[1]=n.ctrlpts[1]+N.y*(T-k)):(n.ctrlpts[0]=X[0]+N.x*T,n.ctrlpts[1]=X[1]+N.y*T)}B&&this.findEndpoints(e)}};vt.storeAllpts=function(e){var t=e._private.rscratch;if(t.edgeType==="multibezier"||t.edgeType==="bezier"||t.edgeType==="self"||t.edgeType==="compound"){t.allpts=[],t.allpts.push(t.startX,t.startY);for(var n=0;n+1<t.ctrlpts.length;n+=2)t.allpts.push(t.ctrlpts[n],t.ctrlpts[n+1]),n+3<t.ctrlpts.length&&t.allpts.push((t.ctrlpts[n]+t.ctrlpts[n+2])/2,(t.ctrlpts[n+1]+t.ctrlpts[n+3])/2);t.allpts.push(t.endX,t.endY);var r,a;t.ctrlpts.length/2%2===0?(r=t.allpts.length/2-1,t.midX=t.allpts[r],t.midY=t.allpts[r+1]):(r=t.allpts.length/2-3,a=.5,t.midX=it(t.allpts[r],t.allpts[r+2],t.allpts[r+4],a),t.midY=it(t.allpts[r+1],t.allpts[r+3],t.allpts[r+5],a))}else if(t.edgeType==="straight")t.allpts=[t.startX,t.startY,t.endX,t.endY],t.midX=(t.startX+t.endX+t.arrowStartX+t.arrowEndX)/4,t.midY=(t.startY+t.endY+t.arrowStartY+t.arrowEndY)/4;else if(t.edgeType==="segments"){if(t.allpts=[],t.allpts.push(t.startX,t.startY),t.allpts.push.apply(t.allpts,t.segpts),t.allpts.push(t.endX,t.endY),t.isRound){t.roundCorners=[];for(var i=2;i+3<t.allpts.length;i+=2){var o=t.radii[i/2-1],c=t.isArcRadius[i/2-1];t.roundCorners.push(si({x:t.allpts[i-2],y:t.allpts[i-1]},{x:t.allpts[i],y:t.allpts[i+1],radius:o},{x:t.allpts[i+2],y:t.allpts[i+3]},o,c))}}if(t.segpts.length%4===0){var u=t.segpts.length/2,s=u-2;t.midX=(t.segpts[s]+t.segpts[u])/2,t.midY=(t.segpts[s+1]+t.segpts[u+1])/2}else{var d=t.segpts.length/2-1;if(!t.isRound)t.midX=t.segpts[d],t.midY=t.segpts[d+1];else{var h={x:t.segpts[d],y:t.segpts[d+1]},f=t.roundCorners[d/2];if(f.radius===0){var p={x:t.segpts[d+2],y:t.segpts[d+3]};t.midX=h.x,t.midY=h.y,t.midVector=[h.y-p.y,p.x-h.x]}else{var g=[h.x-f.cx,h.y-f.cy],y=f.radius/Math.sqrt(Math.pow(g[0],2)+Math.pow(g[1],2));g=g.map(function(b){return b*y}),t.midX=f.cx+g[0],t.midY=f.cy+g[1],t.midVector=g}}}}};vt.checkForInvalidEdgeWarning=function(e){var t=e[0]._private.rscratch;t.nodesOverlap||re(t.startX)&&re(t.startY)&&re(t.endX)&&re(t.endY)?t.loggedErr=!1:t.loggedErr||(t.loggedErr=!0,Oe("Edge `"+e.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."))};vt.findEdgeControlPoints=function(e){var t=this;if(!(!e||e.length===0)){for(var n=this,r=n.cy,a=r.hasCompoundNodes(),i=new Kt,o=l(function(k,_){return[].concat(Dr(k),[_?1:0]).join("-")},"getKey"),c=[],u=[],s=0;s<e.length;s++){var d=e[s],h=d._private,f=d.pstyle("curve-style").value;if(!(d.removed()||!d.takesUpSpace())){if(f==="haystack"){u.push(d);continue}var p=f==="unbundled-bezier"||on(f,"segments")||f==="straight"||f==="straight-triangle"||on(f,"taxi"),g=f==="unbundled-bezier"||f==="bezier",y=h.source,b=h.target,v=y.poolIndex(),m=b.poolIndex(),x=[v,m].sort(),w=o(x,p),T=i.get(w);T==null&&(T={eles:[]},c.push({pairId:x,edgeIsUnbundled:p}),i.set(w,T)),T.eles.push(d),p&&(T.hasUnbundled=!0),g&&(T.hasBezier=!0)}}for(var P=l(function(){var k=c[E],_=k.pairId,B=k.edgeIsUnbundled,D=o(_,B),S=i.get(D),M;if(!S.hasUnbundled){var A=S.eles[0].parallelEdges().filter(function(oe){return oe.isBundledBezier()});Cs(S.eles),A.forEach(function(oe){return S.eles.push(oe)}),S.eles.sort(function(oe,ye){return oe.poolIndex()-ye.poolIndex()})}var O=S.eles[0],R=O.source(),I=O.target();if(R.poolIndex()>I.poolIndex()){var L=R;R=I,I=L}var N=S.srcPos=R.position(),Y=S.tgtPos=I.position(),q=S.srcW=R.outerWidth(),X=S.srcH=R.outerHeight(),K=S.tgtW=I.outerWidth(),J=S.tgtH=I.outerHeight(),Q=S.srcShape=n.nodeShapes[t.getNodeShape(R)],$=S.tgtShape=n.nodeShapes[t.getNodeShape(I)],ee=S.srcCornerRadius=R.pstyle("corner-radius").value==="auto"?"auto":R.pstyle("corner-radius").pfValue,ae=S.tgtCornerRadius=I.pstyle("corner-radius").value==="auto"?"auto":I.pstyle("corner-radius").pfValue,V=S.tgtRs=I._private.rscratch,z=S.srcRs=R._private.rscratch;S.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var F=0;F<S.eles.length;F++){var U=S.eles[F],ne=U[0]._private.rscratch,ie=U.pstyle("curve-style").value,Ee=ie==="unbundled-bezier"||on(ie,"segments")||on(ie,"taxi"),me=!R.same(U.source());if(!S.calculatedIntersection&&R!==I&&(S.hasBezier||S.hasUnbundled)){S.calculatedIntersection=!0;var xe=Q.intersectLine(N.x,N.y,q,X,Y.x,Y.y,0,ee,z),Ae=S.srcIntn=xe,te=$.intersectLine(Y.x,Y.y,K,J,N.x,N.y,0,ae,V),ce=S.tgtIntn=te,de=S.intersectionPts={x1:xe[0],x2:te[0],y1:xe[1],y2:te[1]},be=S.posPts={x1:N.x,x2:Y.x,y1:N.y,y2:Y.y},we=te[1]-xe[1],Ce=te[0]-xe[0],ke=Math.sqrt(Ce*Ce+we*we);re(ke)&&ke>=Ry||(ke=Math.sqrt(Math.max(Ce*Ce,Or)+Math.max(we*we,Or)));var ze=S.vector={x:Ce,y:we},qe=S.vectorNorm={x:ze.x/ke,y:ze.y/ke},Re={x:-qe.y,y:qe.x};S.nodesOverlap=!re(ke)||$.checkPoint(xe[0],xe[1],0,K,J,Y.x,Y.y,ae,V)||Q.checkPoint(te[0],te[1],0,q,X,N.x,N.y,ee,z),S.vectorNormInverse=Re,M={nodesOverlap:S.nodesOverlap,dirCounts:S.dirCounts,calculatedIntersection:!0,hasBezier:S.hasBezier,hasUnbundled:S.hasUnbundled,eles:S.eles,srcPos:Y,srcRs:V,tgtPos:N,tgtRs:z,srcW:K,srcH:J,tgtW:q,tgtH:X,srcIntn:ce,tgtIntn:Ae,srcShape:$,tgtShape:Q,posPts:{x1:be.x2,y1:be.y2,x2:be.x1,y2:be.y1},intersectionPts:{x1:de.x2,y1:de.y2,x2:de.x1,y2:de.y1},vector:{x:-ze.x,y:-ze.y},vectorNorm:{x:-qe.x,y:-qe.y},vectorNormInverse:{x:-Re.x,y:-Re.y}}}var Me=me?M:S;ne.nodesOverlap=Me.nodesOverlap,ne.srcIntn=Me.srcIntn,ne.tgtIntn=Me.tgtIntn,ne.isRound=ie.startsWith("round"),a&&(R.isParent()||R.isChild()||I.isParent()||I.isChild())&&(R.parents().anySame(I)||I.parents().anySame(R)||R.same(I)&&R.isParent())?t.findCompoundLoopPoints(U,Me,F,Ee):R===I?t.findLoopPoints(U,Me,F,Ee):ie.endsWith("segments")?t.findSegmentsPoints(U,Me):ie.endsWith("taxi")?t.findTaxiPoints(U,Me):ie==="straight"||!Ee&&S.eles.length%2===1&&F===Math.floor(S.eles.length/2)?t.findStraightEdgePoints(U):t.findBezierPoints(U,Me,F,Ee,me),t.findEndpoints(U),t.tryToCorrectInvalidPoints(U,Me),t.checkForInvalidEdgeWarning(U),t.storeAllpts(U),t.storeEdgeProjections(U),t.calculateArrowAngles(U),t.recalculateEdgeLabelProjections(U),t.calculateLabelAngles(U)}},"_loop"),E=0;E<c.length;E++)P();this.findHaystackPoints(u)}};function Us(e){var t=[];if(e!=null){for(var n=0;n<e.length;n+=2){var r=e[n],a=e[n+1];t.push({x:r,y:a})}return t}}l(Us,"getPts");vt.getSegmentPoints=function(e){var t=e[0]._private.rscratch;this.recalculateRenderedStyle(e);var n=t.edgeType;if(n==="segments")return Us(t.segpts)};vt.getControlPoints=function(e){var t=e[0]._private.rscratch;this.recalculateRenderedStyle(e);var n=t.edgeType;if(n==="bezier"||n==="multibezier"||n==="self"||n==="compound")return Us(t.ctrlpts)};vt.getEdgeMidpoint=function(e){var t=e[0]._private.rscratch;return this.recalculateRenderedStyle(e),{x:t.midX,y:t.midY}};var ea={};ea.manualEndptToPx=function(e,t){var n=this,r=e.position(),a=e.outerWidth(),i=e.outerHeight(),o=e._private.rscratch;if(t.value.length===2){var c=[t.pfValue[0],t.pfValue[1]];return t.units[0]==="%"&&(c[0]=c[0]*a),t.units[1]==="%"&&(c[1]=c[1]*i),c[0]+=r.x,c[1]+=r.y,c}else{var u=t.pfValue[0];u=-Math.PI/2+u;var s=2*Math.max(a,i),d=[r.x+Math.cos(u)*s,r.y+Math.sin(u)*s];return n.nodeShapes[this.getNodeShape(e)].intersectLine(r.x,r.y,a,i,d[0],d[1],0,e.pstyle("corner-radius").value==="auto"?"auto":e.pstyle("corner-radius").pfValue,o)}};ea.findEndpoints=function(e){var t,n,r,a,i=this,o,c=e.source()[0],u=e.target()[0],s=c.position(),d=u.position(),h=e.pstyle("target-arrow-shape").value,f=e.pstyle("source-arrow-shape").value,p=e.pstyle("target-distance-from-node").pfValue,g=e.pstyle("source-distance-from-node").pfValue,y=c._private.rscratch,b=u._private.rscratch,v=e.pstyle("curve-style").value,m=e._private.rscratch,x=m.edgeType,w=on(v,"taxi"),T=x==="self"||x==="compound",P=x==="bezier"||x==="multibezier"||T,E=x!=="bezier",k=x==="straight"||x==="segments",_=x==="segments",B=P||E||k,D=T||w,S=e.pstyle("source-endpoint"),M=D?"outside-to-node":S.value,A=c.pstyle("corner-radius").value==="auto"?"auto":c.pstyle("corner-radius").pfValue,O=e.pstyle("target-endpoint"),R=D?"outside-to-node":O.value,I=u.pstyle("corner-radius").value==="auto"?"auto":u.pstyle("corner-radius").pfValue;m.srcManEndpt=S,m.tgtManEndpt=O;var L,N,Y,q,X=(t=(O==null||(n=O.pfValue)===null||n===void 0?void 0:n.length)===2?O.pfValue:null)!==null&&t!==void 0?t:[0,0],K=(r=(S==null||(a=S.pfValue)===null||a===void 0?void 0:a.length)===2?S.pfValue:null)!==null&&r!==void 0?r:[0,0];if(P){var J=[m.ctrlpts[0],m.ctrlpts[1]],Q=E?[m.ctrlpts[m.ctrlpts.length-2],m.ctrlpts[m.ctrlpts.length-1]]:J;L=Q,N=J}else if(k){var $=_?m.segpts.slice(0,2):[d.x+X[0],d.y+X[1]],ee=_?m.segpts.slice(m.segpts.length-2):[s.x+K[0],s.y+K[1]];L=ee,N=$}if(R==="inside-to-node")o=[d.x,d.y];else if(O.units)o=this.manualEndptToPx(u,O);else if(R==="outside-to-line")o=m.tgtIntn;else if(R==="outside-to-node"||R==="outside-to-node-or-label"?Y=L:(R==="outside-to-line"||R==="outside-to-line-or-label")&&(Y=[s.x,s.y]),o=i.nodeShapes[this.getNodeShape(u)].intersectLine(d.x,d.y,u.outerWidth(),u.outerHeight(),Y[0],Y[1],0,I,b),R==="outside-to-node-or-label"||R==="outside-to-line-or-label"){var ae=u._private.rscratch,V=ae.labelWidth,z=ae.labelHeight,F=ae.labelX,U=ae.labelY,ne=V/2,ie=z/2,Ee=u.pstyle("text-valign").value;Ee==="top"?U-=ie:Ee==="bottom"&&(U+=ie);var me=u.pstyle("text-halign").value;me==="left"?F-=ne:me==="right"&&(F+=ne);var xe=Mr(Y[0],Y[1],[F-ne,U-ie,F+ne,U-ie,F+ne,U+ie,F-ne,U+ie],d.x,d.y);if(xe.length>0){var Ae=s,te=Cn(Ae,Kn(o)),ce=Cn(Ae,Kn(xe)),de=te;if(ce<te&&(o=xe,de=ce),xe.length>2){var be=Cn(Ae,{x:xe[2],y:xe[3]});be<de&&(o=[xe[2],xe[3]])}}}var we=ca(o,L,i.arrowShapes[h].spacing(e)+p),Ce=ca(o,L,i.arrowShapes[h].gap(e)+p);if(m.endX=Ce[0],m.endY=Ce[1],m.arrowEndX=we[0],m.arrowEndY=we[1],M==="inside-to-node")o=[s.x,s.y];else if(S.units)o=this.manualEndptToPx(c,S);else if(M==="outside-to-line")o=m.srcIntn;else if(M==="outside-to-node"||M==="outside-to-node-or-label"?q=N:(M==="outside-to-line"||M==="outside-to-line-or-label")&&(q=[d.x,d.y]),o=i.nodeShapes[this.getNodeShape(c)].intersectLine(s.x,s.y,c.outerWidth(),c.outerHeight(),q[0],q[1],0,A,y),M==="outside-to-node-or-label"||M==="outside-to-line-or-label"){var ke=c._private.rscratch,ze=ke.labelWidth,qe=ke.labelHeight,Re=ke.labelX,Me=ke.labelY,oe=ze/2,ye=qe/2,C=c.pstyle("text-valign").value;C==="top"?Me-=ye:C==="bottom"&&(Me+=ye);var j=c.pstyle("text-halign").value;j==="left"?Re-=oe:j==="right"&&(Re+=oe);var W=Mr(q[0],q[1],[Re-oe,Me-ye,Re+oe,Me-ye,Re+oe,Me+ye,Re-oe,Me+ye],s.x,s.y);if(W.length>0){var H=d,G=Cn(H,Kn(o)),se=Cn(H,Kn(W)),Z=G;if(se<G&&(o=[W[0],W[1]],Z=se),W.length>2){var he=Cn(H,{x:W[2],y:W[3]});he<Z&&(o=[W[2],W[3]])}}}var ue=ca(o,N,i.arrowShapes[f].spacing(e)+g),ge=ca(o,N,i.arrowShapes[f].gap(e)+g);m.startX=ge[0],m.startY=ge[1],m.arrowStartX=ue[0],m.arrowStartY=ue[1],B&&(!re(m.startX)||!re(m.startY)||!re(m.endX)||!re(m.endY)?m.badLine=!0:m.badLine=!1)};ea.getSourceEndpoint=function(e){var t=e[0]._private.rscratch;switch(this.recalculateRenderedStyle(e),t.edgeType){case"haystack":return{x:t.haystackPts[0],y:t.haystackPts[1]};default:return{x:t.arrowStartX,y:t.arrowStartY}}};ea.getTargetEndpoint=function(e){var t=e[0]._private.rscratch;switch(this.recalculateRenderedStyle(e),t.edgeType){case"haystack":return{x:t.haystackPts[2],y:t.haystackPts[3]};default:return{x:t.arrowEndX,y:t.arrowEndY}}};var Zs={};function Fh(e,t,n){for(var r=l(function(u,s,d,h){return it(u,s,d,h)},"qbezierAt$1"),a=t._private,i=a.rstyle.bezierPts,o=0;o<e.bezierProjPcts.length;o++){var c=e.bezierProjPcts[o];i.push({x:r(n[0],n[2],n[4],c),y:r(n[1],n[3],n[5],c)})}}l(Fh,"pushBezierPts");Zs.storeEdgeProjections=function(e){var t=e._private,n=t.rscratch,r=n.edgeType;if(t.rstyle.bezierPts=null,t.rstyle.linePts=null,t.rstyle.haystackPts=null,r==="multibezier"||r==="bezier"||r==="self"||r==="compound"){t.rstyle.bezierPts=[];for(var a=0;a+5<n.allpts.length;a+=4)Fh(this,e,n.allpts.slice(a,a+6))}else if(r==="segments")for(var i=t.rstyle.linePts=[],a=0;a+1<n.allpts.length;a+=2)i.push({x:n.allpts[a],y:n.allpts[a+1]});else if(r==="haystack"){var o=n.haystackPts;t.rstyle.haystackPts=[{x:o[0],y:o[1]},{x:o[2],y:o[3]}]}t.rstyle.arrowWidth=this.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.arrowShapeWidth};Zs.recalculateEdgeProjections=function(e){this.findEdgeControlPoints(e)};var Xt={};Xt.recalculateNodeLabelProjection=function(e){var t=e.pstyle("label").strValue;if(!dn(t)){var n,r,a=e._private,i=e.width(),o=e.height(),c=e.padding(),u=e.position(),s=e.pstyle("text-halign").strValue,d=e.pstyle("text-valign").strValue,h=a.rscratch,f=a.rstyle;switch(s){case"left":n=u.x-i/2-c;break;case"right":n=u.x+i/2+c;break;default:n=u.x}switch(d){case"top":r=u.y-o/2-c;break;case"bottom":r=u.y+o/2+c;break;default:r=u.y}h.labelX=n,h.labelY=r,f.labelX=n,f.labelY=r,this.calculateLabelAngles(e),this.applyLabelDimensions(e)}};var Vh=l(function(e,t){var n=Math.atan(t/e);return e===0&&n<0&&(n=n*-1),n},"lineAngleFromDelta"),qh=l(function(e,t){var n=t.x-e.x,r=t.y-e.y;return Vh(n,r)},"lineAngle"),Ny=l(function(e,t,n,r){var a=Ar(0,r-.001,1),i=Ar(0,r+.001,1),o=Zn(e,t,n,a),c=Zn(e,t,n,i);return qh(o,c)},"bezierAngle");Xt.recalculateEdgeLabelProjections=function(e){var t,n=e._private,r=n.rscratch,a=this,i={mid:e.pstyle("label").strValue,source:e.pstyle("source-label").strValue,target:e.pstyle("target-label").strValue};if(i.mid||i.source||i.target){t={x:r.midX,y:r.midY};var o=l(function(d,h,f){Ht(n.rscratch,d,h,f),Ht(n.rstyle,d,h,f)},"setRs");o("labelX",null,t.x),o("labelY",null,t.y);var c=Vh(r.midDispX,r.midDispY);o("labelAutoAngle",null,c);var u=l(function(){if(u.cache)return u.cache;for(var d=[],h=0;h+5<r.allpts.length;h+=4){var f={x:r.allpts[h],y:r.allpts[h+1]},p={x:r.allpts[h+2],y:r.allpts[h+3]},g={x:r.allpts[h+4],y:r.allpts[h+5]};d.push({p0:f,p1:p,p2:g,startDist:0,length:0,segments:[]})}var y=n.rstyle.bezierPts,b=a.bezierProjPcts.length;function v(P,E,k,_,B){var D=Mn(E,k),S=P.segments[P.segments.length-1],M={p0:E,p1:k,t0:_,t1:B,startDist:S?S.startDist+S.length:0,length:D};P.segments.push(M),P.length+=D}l(v,"addSegment");for(var m=0;m<d.length;m++){var x=d[m],w=d[m-1];w&&(x.startDist=w.startDist+w.length),v(x,x.p0,y[m*b],0,a.bezierProjPcts[0]);for(var T=0;T<b-1;T++)v(x,y[m*b+T],y[m*b+T+1],a.bezierProjPcts[T],a.bezierProjPcts[T+1]);v(x,y[m*b+b-1],x.p2,a.bezierProjPcts[b-1],1)}return u.cache=d},"createControlPointInfo"),s=l(function(d){var h,f=d==="source";if(i[d]){var p=e.pstyle(d+"-text-offset").pfValue;switch(r.edgeType){case"self":case"compound":case"bezier":case"multibezier":{for(var g=u(),y,b=0,v=0,m=0;m<g.length;m++){for(var x=g[f?m:g.length-1-m],w=0;w<x.segments.length;w++){var T=x.segments[f?w:x.segments.length-1-w],P=m===g.length-1&&w===x.segments.length-1;if(b=v,v+=T.length,v>=p||P){y={cp:x,segment:T};break}}if(y)break}var E=y.cp,k=y.segment,_=(p-b)/k.length,B=k.t1-k.t0,D=f?k.t0+B*_:k.t1-B*_;D=Ar(0,D,1),t=Zn(E.p0,E.p1,E.p2,D),h=Ny(E.p0,E.p1,E.p2,D);break}case"straight":case"segments":case"haystack":{for(var S=0,M,A,O,R,I=r.allpts.length,L=0;L+3<I&&(f?(O={x:r.allpts[L],y:r.allpts[L+1]},R={x:r.allpts[L+2],y:r.allpts[L+3]}):(O={x:r.allpts[I-2-L],y:r.allpts[I-1-L]},R={x:r.allpts[I-4-L],y:r.allpts[I-3-L]}),M=Mn(O,R),A=S,S+=M,!(S>=p));L+=2);var N=p-A,Y=N/M;Y=Ar(0,Y,1),t=Zp(O,R,Y),h=qh(O,R);break}}o("labelX",d,t.x),o("labelY",d,t.y),o("labelAutoAngle",d,h)}},"calculateEndProjection");s("source"),s("target"),this.applyLabelDimensions(e)}};Xt.applyLabelDimensions=function(e){this.applyPrefixedLabelDimensions(e),e.isEdge()&&(this.applyPrefixedLabelDimensions(e,"source"),this.applyPrefixedLabelDimensions(e,"target"))};Xt.applyPrefixedLabelDimensions=function(e,t){var n=e._private,r=this.getLabelText(e,t),a=An(r,e._private.labelDimsKey);if(St(n.rscratch,"prefixedLabelDimsKey",t)!==a){Ht(n.rscratch,"prefixedLabelDimsKey",t,a);var i=this.calculateLabelDimensions(e,r),o=e.pstyle("line-height").pfValue,c=e.pstyle("text-wrap").strValue,u=St(n.rscratch,"labelWrapCachedLines",t)||[],s=c!=="wrap"?1:Math.max(u.length,1),d=i.height/s,h=d*o,f=i.width,p=i.height+(s-1)*(o-1)*d;Ht(n.rstyle,"labelWidth",t,f),Ht(n.rscratch,"labelWidth",t,f),Ht(n.rstyle,"labelHeight",t,p),Ht(n.rscratch,"labelHeight",t,p),Ht(n.rscratch,"labelLineHeight",t,h)}};Xt.getLabelText=function(e,t){var n=e._private,r=t?t+"-":"",a=e.pstyle(r+"label").strValue,i=e.pstyle("text-transform").value,o=l(function(X,K){return K?(Ht(n.rscratch,X,t,K),K):St(n.rscratch,X,t)},"rscratch");if(!a)return"";i=="none"||(i=="uppercase"?a=a.toUpperCase():i=="lowercase"&&(a=a.toLowerCase()));var c=e.pstyle("text-wrap").value;if(c==="wrap"){var u=o("labelKey");if(u!=null&&o("labelWrapKey")===u)return o("labelWrapCachedText");for(var s="",d=a.split(`
`),h=e.pstyle("text-max-width").pfValue,f=e.pstyle("text-overflow-wrap").value,p=f==="anywhere",g=[],y=/[\s\u200b]+|$/g,b=0;b<d.length;b++){var v=d[b],m=this.calculateLabelDimensions(e,v),x=m.width;if(p){var w=v.split("").join(s);v=w}if(x>h){var T=v.matchAll(y),P="",E=0,k=xt(T),_;try{for(k.s();!(_=k.n()).done;){var B=_.value,D=B[0],S=v.substring(E,B.index);E=B.index+D.length;var M=P.length===0?S:P+S+D,A=this.calculateLabelDimensions(e,M),O=A.width;O<=h?P+=S+D:(P&&g.push(P),P=S+D)}}catch(X){k.e(X)}finally{k.f()}P.match(/^[\s\u200b]+$/)||g.push(P)}else g.push(v)}o("labelWrapCachedLines",g),a=o("labelWrapCachedText",g.join(`
`)),o("labelWrapKey",u)}else if(c==="ellipsis"){var R=e.pstyle("text-max-width").pfValue,I="",L="…",N=!1;if(this.calculateLabelDimensions(e,a).width<R)return a;for(var Y=0;Y<a.length;Y++){var q=this.calculateLabelDimensions(e,I+a[Y]+L).width;if(q>R)break;I+=a[Y],Y===a.length-1&&(N=!0)}return N||(I+=L),I}return a};Xt.getLabelJustification=function(e){var t=e.pstyle("text-justification").strValue,n=e.pstyle("text-halign").strValue;if(t==="auto")if(e.isNode())switch(n){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return t};Xt.calculateLabelDimensions=function(e,t){var n=this,r=n.cy.window(),a=r.document,i=0,o=e.pstyle("font-style").strValue,c=e.pstyle("font-size").pfValue,u=e.pstyle("font-family").strValue,s=e.pstyle("font-weight").strValue,d=this.labelCalcCanvas,h=this.labelCalcCanvasContext;if(!d){d=this.labelCalcCanvas=a.createElement("canvas"),h=this.labelCalcCanvasContext=d.getContext("2d");var f=d.style;f.position="absolute",f.left="-9999px",f.top="-9999px",f.zIndex="-1",f.visibility="hidden",f.pointerEvents="none"}h.font="".concat(o," ").concat(s," ").concat(c,"px ").concat(u);for(var p=0,g=0,y=t.split(`
`),b=0;b<y.length;b++){var v=y[b],m=h.measureText(v),x=Math.ceil(m.width),w=c;p=Math.max(x,p),g+=w}return p+=i,g+=i,{width:p,height:g}};Xt.calculateLabelAngle=function(e,t){var n=e._private,r=n.rscratch,a=e.isEdge(),i=t?t+"-":"",o=e.pstyle(i+"text-rotation"),c=o.strValue;return c==="none"?0:a&&c==="autorotate"?r.labelAutoAngle:c==="autorotate"?0:o.pfValue};Xt.calculateLabelAngles=function(e){var t=this,n=e.isEdge(),r=e._private,a=r.rscratch;a.labelAngle=t.calculateLabelAngle(e),n&&(a.sourceLabelAngle=t.calculateLabelAngle(e,"source"),a.targetLabelAngle=t.calculateLabelAngle(e,"target"))};var jh={},pc=28,gc=!1;jh.getNodeShape=function(e){var t=this,n=e.pstyle("shape").value;if(n==="cutrectangle"&&(e.width()<pc||e.height()<pc))return gc||(Oe("The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead"),gc=!0),"rectangle";if(e.isParent())return n==="rectangle"||n==="roundrectangle"||n==="round-rectangle"||n==="cutrectangle"||n==="cut-rectangle"||n==="barrel"?n:"rectangle";if(n==="polygon"){var r=e.pstyle("shape-polygon-points").value;return t.nodeShapes.makePolygon(r).name}return n};var li={};li.registerCalculationListeners=function(){var e=this.cy,t=e.collection(),n=this,r=l(function(i){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(t.merge(i),o)for(var c=0;c<i.length;c++){var u=i[c],s=u._private,d=s.rstyle;d.clean=!1,d.cleanConnected=!1}},"enqueue");n.binder(e).on("bounds.* dirty.*",l(function(i){var o=i.target;r(o)},"onDirtyBounds")).on("style.* background.*",l(function(i){var o=i.target;r(o,!1)},"onDirtyStyle"));var a=l(function(i){if(i){var o=n.onUpdateEleCalcsFns;t.cleanStyle();for(var c=0;c<t.length;c++){var u=t[c],s=u._private.rstyle;u.isNode()&&!s.cleanConnected&&(r(u.connectedEdges()),s.cleanConnected=!0)}if(o)for(var d=0;d<o.length;d++){var h=o[d];h(i,t)}n.recalculateRenderedStyle(t),t=e.collection()}},"updateEleCalcs");n.flushRenderedStyleQueue=function(){a(!0)},n.beforeRender(a,n.beforeRenderPriorities.eleCalcs)};li.onUpdateEleCalcs=function(e){var t=this.onUpdateEleCalcsFns=this.onUpdateEleCalcsFns||[];t.push(e)};li.recalculateRenderedStyle=function(e,t){var n=l(function(x){return x._private.rstyle.cleanConnected},"isCleanConnected");if(e.length!==0){var r=[],a=[];if(!this.destroyed){t===void 0&&(t=!0);for(var i=0;i<e.length;i++){var o=e[i],c=o._private,u=c.rstyle;o.isEdge()&&(!n(o.source())||!n(o.target()))&&(u.clean=!1),o.isEdge()&&o.isBundledBezier()&&o.parallelEdges().some(function(x){return!x._private.rstyle.clean&&x.isBundledBezier()})&&(u.clean=!1),!(t&&u.clean||o.removed())&&o.pstyle("display").value!=="none"&&(c.group==="nodes"?a.push(o):r.push(o),u.clean=!0)}for(var s=0;s<a.length;s++){var d=a[s],h=d._private,f=h.rstyle,p=d.position();this.recalculateNodeLabelProjection(d),f.nodeX=p.x,f.nodeY=p.y,f.nodeW=d.pstyle("width").pfValue,f.nodeH=d.pstyle("height").pfValue}this.recalculateEdgeProjections(r);for(var g=0;g<r.length;g++){var y=r[g],b=y._private,v=b.rstyle,m=b.rscratch;v.srcX=m.arrowStartX,v.srcY=m.arrowStartY,v.tgtX=m.arrowEndX,v.tgtY=m.arrowEndY,v.midX=m.midX,v.midY=m.midY,v.labelAngle=m.labelAngle,v.sourceLabelAngle=m.sourceLabelAngle,v.targetLabelAngle=m.targetLabelAngle}}}};var ui={};ui.updateCachedGrabbedEles=function(){var e=this.cachedZSortedEles;if(e){e.drag=[],e.nondrag=[];for(var t=[],n=0;n<e.length;n++){var r=e[n],a=r._private.rscratch;r.grabbed()&&!r.isParent()?t.push(r):a.inDragLayer?e.drag.push(r):e.nondrag.push(r)}for(var n=0;n<t.length;n++){var r=t[n];e.drag.push(r)}}};ui.invalidateCachedZSortedEles=function(){this.cachedZSortedEles=null};ui.getCachedZSortedEles=function(e){if(e||!this.cachedZSortedEles){var t=this.cy.mutableElements().toArray();t.sort(_h),t.interactive=t.filter(function(n){return n.interactive()}),this.cachedZSortedEles=t,this.updateCachedGrabbedEles()}else t=this.cachedZSortedEles;return t};var Xh={};[On,Xa,vt,ea,Zs,Xt,jh,li,ui].forEach(function(e){ve(Xh,e)});var Yh={};Yh.getCachedImage=function(e,t,n){var r=this,a=r.imageCache=r.imageCache||{},i=a[e];if(i)return i.image.complete||i.image.addEventListener("load",n),i.image;i=a[e]=a[e]||{};var o=i.image=new Image;o.addEventListener("load",n),o.addEventListener("error",function(){o.error=!0});var c="data:",u=e.substring(0,c.length).toLowerCase()===c;return u||(t=t==="null"?null:t,o.crossOrigin=t),o.src=e,o};var cr={};cr.registerBinding=function(e,t,n,r){var a=Array.prototype.slice.apply(arguments,[1]);if(Array.isArray(e)){for(var i=[],o=0;o<e.length;o++){var c=e[o];if(c!==void 0){var u=this.binder(c);i.push(u.on.apply(u,a))}}return i}var u=this.binder(e);return u.on.apply(u,a)};cr.binder=function(e){var t=this,n=t.cy.window(),r=e===n||e===n.document||e===n.document.body||Qf(e);if(t.supportsPassiveEvents==null){var a=!1;try{var i=Object.defineProperty({},"passive",{get:l(function(){return a=!0,!0},"get")});n.addEventListener("test",null,i)}catch{}t.supportsPassiveEvents=a}var o=l(function(c,u,s){var d=Array.prototype.slice.call(arguments);return r&&t.supportsPassiveEvents&&(d[2]={capture:s??!1,passive:!1,once:!1}),t.bindings.push({target:e,args:d}),(e.addEventListener||e.on).apply(e,d),this},"on");return{on:o,addEventListener:o,addListener:o,bind:o}};cr.nodeIsDraggable=function(e){return e&&e.isNode()&&!e.locked()&&e.grabbable()};cr.nodeIsGrabbable=function(e){return this.nodeIsDraggable(e)&&e.interactive()};cr.load=function(){var e=this,t=e.cy.window(),n=l(function(C){return C.selected()},"isSelected"),r=l(function(C){var j=C.getRootNode();if(j&&j.nodeType===11&&j.host!==void 0)return j},"getShadowRoot"),a=l(function(C,j,W,H){C==null&&(C=e.cy);for(var G=0;G<j.length;G++){var se=j[G];C.emit({originalEvent:W,type:se,position:H})}},"triggerEvents"),i=l(function(C){return C.shiftKey||C.metaKey||C.ctrlKey},"isMultSelKeyDown"),o=l(function(C,j){var W=!0;if(e.cy.hasCompoundNodes()&&C&&C.pannable())for(var H=0;j&&H<j.length;H++){var C=j[H];if(C.isNode()&&C.isParent()&&!C.pannable()){W=!1;break}}else W=!0;return W},"allowPanningPassthrough"),c=l(function(C){C[0]._private.grabbed=!0},"setGrabbed"),u=l(function(C){C[0]._private.grabbed=!1},"setFreed"),s=l(function(C){C[0]._private.rscratch.inDragLayer=!0},"setInDragLayer"),d=l(function(C){C[0]._private.rscratch.inDragLayer=!1},"setOutDragLayer"),h=l(function(C){C[0]._private.rscratch.isGrabTarget=!0},"setGrabTarget"),f=l(function(C){C[0]._private.rscratch.isGrabTarget=!1},"removeGrabTarget"),p=l(function(C,j){var W=j.addToList,H=W.has(C);!H&&C.grabbable()&&!C.locked()&&(W.merge(C),c(C))},"addToDragList"),g=l(function(C,j){if(C.cy().hasCompoundNodes()&&!(j.inDragLayer==null&&j.addToList==null)){var W=C.descendants();j.inDragLayer&&(W.forEach(s),W.connectedEdges().forEach(s)),j.addToList&&p(W,j)}},"addDescendantsToDrag"),y=l(function(C,j){j=j||{};var W=C.cy().hasCompoundNodes();j.inDragLayer&&(C.forEach(s),C.neighborhood().stdFilter(function(H){return!W||H.isEdge()}).forEach(s)),j.addToList&&C.forEach(function(H){p(H,j)}),g(C,j),m(C,{inDragLayer:j.inDragLayer}),e.updateCachedGrabbedEles()},"addNodesToDrag"),b=y,v=l(function(C){C&&(e.getCachedZSortedEles().forEach(function(j){u(j),d(j),f(j)}),e.updateCachedGrabbedEles())},"freeDraggedElements"),m=l(function(C,j){if(!(j.inDragLayer==null&&j.addToList==null)&&C.cy().hasCompoundNodes()){var W=C.ancestors().orphans();if(!W.same(C)){var H=W.descendants().spawnSelf().merge(W).unmerge(C).unmerge(C.descendants()),G=H.connectedEdges();j.inDragLayer&&(G.forEach(s),H.forEach(s)),j.addToList&&H.forEach(function(se){p(se,j)})}}},"updateAncestorsInDragLayer"),x=l(function(){document.activeElement!=null&&document.activeElement.blur!=null&&document.activeElement.blur()},"blurActiveDomElement"),w=typeof MutationObserver<"u",T=typeof ResizeObserver<"u";w?(e.removeObserver=new MutationObserver(function(C){for(var j=0;j<C.length;j++){var W=C[j],H=W.removedNodes;if(H)for(var G=0;G<H.length;G++){var se=H[G];if(se===e.container){e.destroy();break}}}}),e.container.parentNode&&e.removeObserver.observe(e.container.parentNode,{childList:!0})):e.registerBinding(e.container,"DOMNodeRemoved",function(C){e.destroy()});var P=qr(function(){e.cy.resize()},100);w&&(e.styleObserver=new MutationObserver(P),e.styleObserver.observe(e.container,{attributes:!0})),e.registerBinding(t,"resize",P),T&&(e.resizeObserver=new ResizeObserver(P),e.resizeObserver.observe(e.container));var E=l(function(C,j){for(;C!=null;)j(C),C=C.parentNode},"forEachUp"),k=l(function(){e.invalidateContainerClientCoordsCache()},"invalidateCoords");E(e.container,function(C){e.registerBinding(C,"transitionend",k),e.registerBinding(C,"animationend",k),e.registerBinding(C,"scroll",k)}),e.registerBinding(e.container,"contextmenu",function(C){C.preventDefault()});var _=l(function(){return e.selection[4]!==0},"inBoxSelection"),B=l(function(C){for(var j=e.findContainerClientCoords(),W=j[0],H=j[1],G=j[2],se=j[3],Z=C.touches?C.touches:[C],he=!1,ue=0;ue<Z.length;ue++){var ge=Z[ue];if(W<=ge.clientX&&ge.clientX<=W+G&&H<=ge.clientY&&ge.clientY<=H+se){he=!0;break}}if(!he)return!1;for(var De=e.container,Te=C.target,fe=Te.parentNode,Se=!1;fe;){if(fe===De){Se=!0;break}fe=fe.parentNode}return!!Se},"eventInContainer");e.registerBinding(e.container,"mousedown",l(function(C){if(B(C)&&!(e.hoverData.which===1&&C.which!==1)){C.preventDefault(),x(),e.hoverData.capture=!0,e.hoverData.which=C.which;var j=e.cy,W=[C.clientX,C.clientY],H=e.projectIntoViewport(W[0],W[1]),G=e.selection,se=e.findNearestElements(H[0],H[1],!0,!1),Z=se[0],he=e.dragData.possibleDragElements;e.hoverData.mdownPos=H,e.hoverData.mdownGPos=W;var ue=l(function(Se){return{originalEvent:C,type:Se,position:{x:H[0],y:H[1]}}},"makeEvent"),ge=l(function(){e.hoverData.tapholdCancelled=!1,clearTimeout(e.hoverData.tapholdTimeout),e.hoverData.tapholdTimeout=setTimeout(function(){if(!e.hoverData.tapholdCancelled){var Se=e.hoverData.down;Se?Se.emit(ue("taphold")):j.emit(ue("taphold"))}},e.tapholdDuration)},"checkForTaphold");if(C.which==3){e.hoverData.cxtStarted=!0;var De={originalEvent:C,type:"cxttapstart",position:{x:H[0],y:H[1]}};Z?(Z.activate(),Z.emit(De),e.hoverData.down=Z):j.emit(De),e.hoverData.downTime=new Date().getTime(),e.hoverData.cxtDragged=!1}else if(C.which==1){Z&&Z.activate();{if(Z!=null&&e.nodeIsGrabbable(Z)){var Te=l(function(Se){Se.emit(ue("grab"))},"triggerGrab");if(h(Z),!Z.selected())he=e.dragData.possibleDragElements=j.collection(),b(Z,{addToList:he}),Z.emit(ue("grabon")).emit(ue("grab"));else{he=e.dragData.possibleDragElements=j.collection();var fe=j.$(function(Se){return Se.isNode()&&Se.selected()&&e.nodeIsGrabbable(Se)});y(fe,{addToList:he}),Z.emit(ue("grabon")),fe.forEach(Te)}e.redrawHint("eles",!0),e.redrawHint("drag",!0)}e.hoverData.down=Z,e.hoverData.downs=se,e.hoverData.downTime=new Date().getTime()}a(Z,["mousedown","tapstart","vmousedown"],C,{x:H[0],y:H[1]}),Z==null?(G[4]=1,e.data.bgActivePosistion={x:H[0],y:H[1]},e.redrawHint("select",!0),e.redraw()):Z.pannable()&&(G[4]=1),ge()}G[0]=G[2]=H[0],G[1]=G[3]=H[1]}},"mousedownHandler"),!1);var D=r(e.container);e.registerBinding([t,D],"mousemove",l(function(C){var j=e.hoverData.capture;if(!(!j&&!B(C))){var W=!1,H=e.cy,G=H.zoom(),se=[C.clientX,C.clientY],Z=e.projectIntoViewport(se[0],se[1]),he=e.hoverData.mdownPos,ue=e.hoverData.mdownGPos,ge=e.selection,De=null;!e.hoverData.draggingEles&&!e.hoverData.dragging&&!e.hoverData.selecting&&(De=e.findNearestElement(Z[0],Z[1],!0,!1));var Te=e.hoverData.last,fe=e.hoverData.down,Se=[Z[0]-ge[2],Z[1]-ge[3]],Ne=e.dragData.possibleDragElements,Ke;if(ue){var lt=se[0]-ue[0],yt=lt*lt,Ze=se[1]-ue[1],at=Ze*Ze,$e=yt+at;e.hoverData.isOverThresholdDrag=Ke=$e>=e.desktopTapThreshold2}var mt=i(C);Ke&&(e.hoverData.tapholdCancelled=!0);var en=l(function(){var zt=e.hoverData.dragDelta=e.hoverData.dragDelta||[];zt.length===0?(zt.push(Se[0]),zt.push(Se[1])):(zt[0]+=Se[0],zt[1]+=Se[1])},"updateDragDelta");W=!0,a(De,["mousemove","vmousemove","tapdrag"],C,{x:Z[0],y:Z[1]});var Je=l(function(zt){return{originalEvent:C,type:zt,position:{x:Z[0],y:Z[1]}}},"makeEvent"),kt=l(function(){e.data.bgActivePosistion=void 0,e.hoverData.selecting||H.emit(Je("boxstart")),ge[4]=1,e.hoverData.selecting=!0,e.redrawHint("select",!0),e.redraw()},"goIntoBoxMode");if(e.hoverData.which===3){if(Ke){var ra=Je("cxtdrag");fe?fe.emit(ra):H.emit(ra),e.hoverData.cxtDragged=!0,(!e.hoverData.cxtOver||De!==e.hoverData.cxtOver)&&(e.hoverData.cxtOver&&e.hoverData.cxtOver.emit(Je("cxtdragout")),e.hoverData.cxtOver=De,De&&De.emit(Je("cxtdragover")))}}else if(e.hoverData.dragging){if(W=!0,H.panningEnabled()&&H.userPanningEnabled()){var Fn;if(e.hoverData.justStartedPan){var aa=e.hoverData.mdownPos;Fn={x:(Z[0]-aa[0])*G,y:(Z[1]-aa[1])*G},e.hoverData.justStartedPan=!1}else Fn={x:Se[0]*G,y:Se[1]*G};H.panBy(Fn),H.emit(Je("dragpan")),e.hoverData.dragged=!0}Z=e.projectIntoViewport(C.clientX,C.clientY)}else if(ge[4]==1&&(fe==null||fe.pannable())){if(Ke){if(!e.hoverData.dragging&&H.boxSelectionEnabled()&&(mt||!H.panningEnabled()||!H.userPanningEnabled()))kt();else if(!e.hoverData.selecting&&H.panningEnabled()&&H.userPanningEnabled()){var xn=o(fe,e.hoverData.downs);xn&&(e.hoverData.dragging=!0,e.hoverData.justStartedPan=!0,ge[4]=0,e.data.bgActivePosistion=Kn(he),e.redrawHint("select",!0),e.redraw())}fe&&fe.pannable()&&fe.active()&&fe.unactivate()}}else{if(fe&&fe.pannable()&&fe.active()&&fe.unactivate(),(!fe||!fe.grabbed())&&De!=Te&&(Te&&a(Te,["mouseout","tapdragout"],C,{x:Z[0],y:Z[1]}),De&&a(De,["mouseover","tapdragover"],C,{x:Z[0],y:Z[1]}),e.hoverData.last=De),fe)if(Ke){if(H.boxSelectionEnabled()&&mt)fe&&fe.grabbed()&&(v(Ne),fe.emit(Je("freeon")),Ne.emit(Je("free")),e.dragData.didDrag&&(fe.emit(Je("dragfreeon")),Ne.emit(Je("dragfree")))),kt();else if(fe&&fe.grabbed()&&e.nodeIsDraggable(fe)){var Ct=!e.dragData.didDrag;Ct&&e.redrawHint("eles",!0),e.dragData.didDrag=!0,e.hoverData.draggingEles||y(Ne,{inDragLayer:!0});var ft={x:0,y:0};if(re(Se[0])&&re(Se[1])&&(ft.x+=Se[0],ft.y+=Se[1],Ct)){var Tt=e.hoverData.dragDelta;Tt&&re(Tt[0])&&re(Tt[1])&&(ft.x+=Tt[0],ft.y+=Tt[1])}e.hoverData.draggingEles=!0,Ne.silentShift(ft).emit(Je("position")).emit(Je("drag")),e.redrawHint("drag",!0),e.redraw()}}else en();W=!0}if(ge[2]=Z[0],ge[3]=Z[1],W)return C.stopPropagation&&C.stopPropagation(),C.preventDefault&&C.preventDefault(),!1}},"mousemoveHandler"),!1);var S,M,A;e.registerBinding(t,"mouseup",l(function(C){if(!(e.hoverData.which===1&&C.which!==1&&e.hoverData.capture)){var j=e.hoverData.capture;if(j){e.hoverData.capture=!1;var W=e.cy,H=e.projectIntoViewport(C.clientX,C.clientY),G=e.selection,se=e.findNearestElement(H[0],H[1],!0,!1),Z=e.dragData.possibleDragElements,he=e.hoverData.down,ue=i(C);e.data.bgActivePosistion&&(e.redrawHint("select",!0),e.redraw()),e.hoverData.tapholdCancelled=!0,e.data.bgActivePosistion=void 0,he&&he.unactivate();var ge=l(function(Ke){return{originalEvent:C,type:Ke,position:{x:H[0],y:H[1]}}},"makeEvent");if(e.hoverData.which===3){var De=ge("cxttapend");if(he?he.emit(De):W.emit(De),!e.hoverData.cxtDragged){var Te=ge("cxttap");he?he.emit(Te):W.emit(Te)}e.hoverData.cxtDragged=!1,e.hoverData.which=null}else if(e.hoverData.which===1){if(a(se,["mouseup","tapend","vmouseup"],C,{x:H[0],y:H[1]}),!e.dragData.didDrag&&!e.hoverData.dragged&&!e.hoverData.selecting&&!e.hoverData.isOverThresholdDrag&&(a(he,["click","tap","vclick"],C,{x:H[0],y:H[1]}),M=!1,C.timeStamp-A<=W.multiClickDebounceTime()?(S&&clearTimeout(S),M=!0,A=null,a(he,["dblclick","dbltap","vdblclick"],C,{x:H[0],y:H[1]})):(S=setTimeout(function(){M||a(he,["oneclick","onetap","voneclick"],C,{x:H[0],y:H[1]})},W.multiClickDebounceTime()),A=C.timeStamp)),he==null&&!e.dragData.didDrag&&!e.hoverData.selecting&&!e.hoverData.dragged&&!i(C)&&(W.$(n).unselect(["tapunselect"]),Z.length>0&&e.redrawHint("eles",!0),e.dragData.possibleDragElements=Z=W.collection()),se==he&&!e.dragData.didDrag&&!e.hoverData.selecting&&se!=null&&se._private.selectable&&(e.hoverData.dragging||(W.selectionType()==="additive"||ue?se.selected()?se.unselect(["tapunselect"]):se.select(["tapselect"]):ue||(W.$(n).unmerge(se).unselect(["tapunselect"]),se.select(["tapselect"]))),e.redrawHint("eles",!0)),e.hoverData.selecting){var fe=W.collection(e.getAllInBox(G[0],G[1],G[2],G[3]));e.redrawHint("select",!0),fe.length>0&&e.redrawHint("eles",!0),W.emit(ge("boxend"));var Se=l(function(Ke){return Ke.selectable()&&!Ke.selected()},"eleWouldBeSelected");W.selectionType()==="additive"||ue||W.$(n).unmerge(fe).unselect(),fe.emit(ge("box")).stdFilter(Se).select().emit(ge("boxselect")),e.redraw()}if(e.hoverData.dragging&&(e.hoverData.dragging=!1,e.redrawHint("select",!0),e.redrawHint("eles",!0),e.redraw()),!G[4]){e.redrawHint("drag",!0),e.redrawHint("eles",!0);var Ne=he&&he.grabbed();v(Z),Ne&&(he.emit(ge("freeon")),Z.emit(ge("free")),e.dragData.didDrag&&(he.emit(ge("dragfreeon")),Z.emit(ge("dragfree"))))}}G[4]=0,e.hoverData.down=null,e.hoverData.cxtStarted=!1,e.hoverData.draggingEles=!1,e.hoverData.selecting=!1,e.hoverData.isOverThresholdDrag=!1,e.dragData.didDrag=!1,e.hoverData.dragged=!1,e.hoverData.dragDelta=[],e.hoverData.mdownPos=null,e.hoverData.mdownGPos=null,e.hoverData.which=null}}},"mouseupHandler"),!1);var O=[],R=4,I,L=1e5,N=l(function(C,j){for(var W=0;W<C.length;W++)if(C[W]%j!==0)return!1;return!0},"allAreDivisibleBy"),Y=l(function(C){for(var j=Math.abs(C[0]),W=1;W<C.length;W++)if(Math.abs(C[W])!==j)return!1;return!0},"allAreSameMagnitude"),q=l(function(C){var j=!1,W=C.deltaY;if(W==null&&(C.wheelDeltaY!=null?W=C.wheelDeltaY/4:C.wheelDelta!=null&&(W=C.wheelDelta/4)),W!==0){if(I==null)if(O.length>=R){var H=O;if(I=N(H,5),!I){var G=Math.abs(H[0]);I=Y(H)&&G>5}if(I)for(var se=0;se<H.length;se++)L=Math.min(Math.abs(H[se]),L)}else O.push(W),j=!0;else I&&(L=Math.min(Math.abs(W),L));if(!e.scrollingPage){var Z=e.cy,he=Z.zoom(),ue=Z.pan(),ge=e.projectIntoViewport(C.clientX,C.clientY),De=[ge[0]*he+ue.x,ge[1]*he+ue.y];if(e.hoverData.draggingEles||e.hoverData.dragging||e.hoverData.cxtStarted||_()){C.preventDefault();return}if(Z.panningEnabled()&&Z.userPanningEnabled()&&Z.zoomingEnabled()&&Z.userZoomingEnabled()){C.preventDefault(),e.data.wheelZooming=!0,clearTimeout(e.data.wheelTimeout),e.data.wheelTimeout=setTimeout(function(){e.data.wheelZooming=!1,e.redrawHint("eles",!0),e.redraw()},150);var Te;j&&Math.abs(W)>5&&(W=Ss(W)*5),Te=W/-250,I&&(Te/=L,Te*=3),Te=Te*e.wheelSensitivity;var fe=C.deltaMode===1;fe&&(Te*=33);var Se=Z.zoom()*Math.pow(10,Te);C.type==="gesturechange"&&(Se=e.gestureStartZoom*C.scale),Z.zoom({level:Se,renderedPosition:{x:De[0],y:De[1]}}),Z.emit({type:C.type==="gesturechange"?"pinchzoom":"scrollzoom",originalEvent:C,position:{x:ge[0],y:ge[1]}})}}}},"wheelHandler");e.registerBinding(e.container,"wheel",q,!0),e.registerBinding(t,"scroll",l(function(C){e.scrollingPage=!0,clearTimeout(e.scrollingPageTimeout),e.scrollingPageTimeout=setTimeout(function(){e.scrollingPage=!1},250)},"scrollHandler"),!0),e.registerBinding(e.container,"gesturestart",l(function(C){e.gestureStartZoom=e.cy.zoom(),e.hasTouchStarted||C.preventDefault()},"gestureStartHandler"),!0),e.registerBinding(e.container,"gesturechange",function(C){e.hasTouchStarted||q(C)},!0),e.registerBinding(e.container,"mouseout",l(function(C){var j=e.projectIntoViewport(C.clientX,C.clientY);e.cy.emit({originalEvent:C,type:"mouseout",position:{x:j[0],y:j[1]}})},"mouseOutHandler"),!1),e.registerBinding(e.container,"mouseover",l(function(C){var j=e.projectIntoViewport(C.clientX,C.clientY);e.cy.emit({originalEvent:C,type:"mouseover",position:{x:j[0],y:j[1]}})},"mouseOverHandler"),!1);var X,K,J,Q,$,ee,ae,V,z,F,U,ne,ie,Ee=l(function(C,j,W,H){return Math.sqrt((W-C)*(W-C)+(H-j)*(H-j))},"distance"),me=l(function(C,j,W,H){return(W-C)*(W-C)+(H-j)*(H-j)},"distanceSq"),xe;e.registerBinding(e.container,"touchstart",xe=l(function(C){if(e.hasTouchStarted=!0,!!B(C)){x(),e.touchData.capture=!0,e.data.bgActivePosistion=void 0;var j=e.cy,W=e.touchData.now,H=e.touchData.earlier;if(C.touches[0]){var G=e.projectIntoViewport(C.touches[0].clientX,C.touches[0].clientY);W[0]=G[0],W[1]=G[1]}if(C.touches[1]){var G=e.projectIntoViewport(C.touches[1].clientX,C.touches[1].clientY);W[2]=G[0],W[3]=G[1]}if(C.touches[2]){var G=e.projectIntoViewport(C.touches[2].clientX,C.touches[2].clientY);W[4]=G[0],W[5]=G[1]}var se=l(function($e){return{originalEvent:C,type:$e,position:{x:W[0],y:W[1]}}},"makeEvent");if(C.touches[1]){e.touchData.singleTouchMoved=!0,v(e.dragData.touchDragEles);var Z=e.findContainerClientCoords();z=Z[0],F=Z[1],U=Z[2],ne=Z[3],X=C.touches[0].clientX-z,K=C.touches[0].clientY-F,J=C.touches[1].clientX-z,Q=C.touches[1].clientY-F,ie=0<=X&&X<=U&&0<=J&&J<=U&&0<=K&&K<=ne&&0<=Q&&Q<=ne;var he=j.pan(),ue=j.zoom();$=Ee(X,K,J,Q),ee=me(X,K,J,Q),ae=[(X+J)/2,(K+Q)/2],V=[(ae[0]-he.x)/ue,(ae[1]-he.y)/ue];var ge=200,De=ge*ge;if(ee<De&&!C.touches[2]){var Te=e.findNearestElement(W[0],W[1],!0,!0),fe=e.findNearestElement(W[2],W[3],!0,!0);Te&&Te.isNode()?(Te.activate().emit(se("cxttapstart")),e.touchData.start=Te):fe&&fe.isNode()?(fe.activate().emit(se("cxttapstart")),e.touchData.start=fe):j.emit(se("cxttapstart")),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!0,e.touchData.cxtDragged=!1,e.data.bgActivePosistion=void 0,e.redraw();return}}if(C.touches[2])j.boxSelectionEnabled()&&C.preventDefault();else if(!C.touches[1]&&C.touches[0]){var Se=e.findNearestElements(W[0],W[1],!0,!0),Ne=Se[0];if(Ne!=null&&(Ne.activate(),e.touchData.start=Ne,e.touchData.starts=Se,e.nodeIsGrabbable(Ne))){var Ke=e.dragData.touchDragEles=j.collection(),lt=null;e.redrawHint("eles",!0),e.redrawHint("drag",!0),Ne.selected()?(lt=j.$(function($e){return $e.selected()&&e.nodeIsGrabbable($e)}),y(lt,{addToList:Ke})):b(Ne,{addToList:Ke}),h(Ne),Ne.emit(se("grabon")),lt?lt.forEach(function($e){$e.emit(se("grab"))}):Ne.emit(se("grab"))}a(Ne,["touchstart","tapstart","vmousedown"],C,{x:W[0],y:W[1]}),Ne==null&&(e.data.bgActivePosistion={x:G[0],y:G[1]},e.redrawHint("select",!0),e.redraw()),e.touchData.singleTouchMoved=!1,e.touchData.singleTouchStartTime=+new Date,clearTimeout(e.touchData.tapholdTimeout),e.touchData.tapholdTimeout=setTimeout(function(){e.touchData.singleTouchMoved===!1&&!e.pinching&&!e.touchData.selecting&&a(e.touchData.start,["taphold"],C,{x:W[0],y:W[1]})},e.tapholdDuration)}if(C.touches.length>=1){for(var yt=e.touchData.startPosition=[null,null,null,null,null,null],Ze=0;Ze<W.length;Ze++)yt[Ze]=H[Ze]=W[Ze];var at=C.touches[0];e.touchData.startGPosition=[at.clientX,at.clientY]}}},"touchstartHandler"),!1);var Ae;e.registerBinding(t,"touchmove",Ae=l(function(C){var j=e.touchData.capture;if(!(!j&&!B(C))){var W=e.selection,H=e.cy,G=e.touchData.now,se=e.touchData.earlier,Z=H.zoom();if(C.touches[0]){var he=e.projectIntoViewport(C.touches[0].clientX,C.touches[0].clientY);G[0]=he[0],G[1]=he[1]}if(C.touches[1]){var he=e.projectIntoViewport(C.touches[1].clientX,C.touches[1].clientY);G[2]=he[0],G[3]=he[1]}if(C.touches[2]){var he=e.projectIntoViewport(C.touches[2].clientX,C.touches[2].clientY);G[4]=he[0],G[5]=he[1]}var ue=l(function(Hf){return{originalEvent:C,type:Hf,position:{x:G[0],y:G[1]}}},"makeEvent"),ge=e.touchData.startGPosition,De;if(j&&C.touches[0]&&ge){for(var Te=[],fe=0;fe<G.length;fe++)Te[fe]=G[fe]-se[fe];var Se=C.touches[0].clientX-ge[0],Ne=Se*Se,Ke=C.touches[0].clientY-ge[1],lt=Ke*Ke,yt=Ne+lt;De=yt>=e.touchTapThreshold2}if(j&&e.touchData.cxt){C.preventDefault();var Ze=C.touches[0].clientX-z,at=C.touches[0].clientY-F,$e=C.touches[1].clientX-z,mt=C.touches[1].clientY-F,en=me(Ze,at,$e,mt),Je=en/ee,kt=150,ra=kt*kt,Fn=1.5,aa=Fn*Fn;if(Je>=aa||en>=ra){e.touchData.cxt=!1,e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var xn=ue("cxttapend");e.touchData.start?(e.touchData.start.unactivate().emit(xn),e.touchData.start=null):H.emit(xn)}}if(j&&e.touchData.cxt){var xn=ue("cxtdrag");e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.touchData.start?e.touchData.start.emit(xn):H.emit(xn),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxtDragged=!0;var Ct=e.findNearestElement(G[0],G[1],!0,!0);(!e.touchData.cxtOver||Ct!==e.touchData.cxtOver)&&(e.touchData.cxtOver&&e.touchData.cxtOver.emit(ue("cxtdragout")),e.touchData.cxtOver=Ct,Ct&&Ct.emit(ue("cxtdragover")))}else if(j&&C.touches[2]&&H.boxSelectionEnabled())C.preventDefault(),e.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,e.touchData.selecting||H.emit(ue("boxstart")),e.touchData.selecting=!0,e.touchData.didSelect=!0,W[4]=1,!W||W.length===0||W[0]===void 0?(W[0]=(G[0]+G[2]+G[4])/3,W[1]=(G[1]+G[3]+G[5])/3,W[2]=(G[0]+G[2]+G[4])/3+1,W[3]=(G[1]+G[3]+G[5])/3+1):(W[2]=(G[0]+G[2]+G[4])/3,W[3]=(G[1]+G[3]+G[5])/3),e.redrawHint("select",!0),e.redraw();else if(j&&C.touches[1]&&!e.touchData.didSelect&&H.zoomingEnabled()&&H.panningEnabled()&&H.userZoomingEnabled()&&H.userPanningEnabled()){C.preventDefault(),e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var ft=e.dragData.touchDragEles;if(ft){e.redrawHint("drag",!0);for(var Tt=0;Tt<ft.length;Tt++){var zt=ft[Tt]._private;zt.grabbed=!1,zt.rscratch.inDragLayer=!1}}var ia=e.touchData.start,Ze=C.touches[0].clientX-z,at=C.touches[0].clientY-F,$e=C.touches[1].clientX-z,mt=C.touches[1].clientY-F,sl=Ee(Ze,at,$e,mt),Of=sl/$;if(ie){var zf=Ze-X,Ff=at-K,Vf=$e-J,qf=mt-Q,jf=(zf+Vf)/2,Xf=(Ff+qf)/2,hr=H.zoom(),di=hr*Of,oa=H.pan(),ll=V[0]*hr+oa.x,ul=V[1]*hr+oa.y,Yf={x:-di/hr*(ll-oa.x-jf)+ll,y:-di/hr*(ul-oa.y-Xf)+ul};if(ia&&ia.active()){var ft=e.dragData.touchDragEles;v(ft),e.redrawHint("drag",!0),e.redrawHint("eles",!0),ia.unactivate().emit(ue("freeon")),ft.emit(ue("free")),e.dragData.didDrag&&(ia.emit(ue("dragfreeon")),ft.emit(ue("dragfree")))}H.viewport({zoom:di,pan:Yf,cancelOnFailedZoom:!0}),H.emit(ue("pinchzoom")),$=sl,X=Ze,K=at,J=$e,Q=mt,e.pinching=!0}if(C.touches[0]){var he=e.projectIntoViewport(C.touches[0].clientX,C.touches[0].clientY);G[0]=he[0],G[1]=he[1]}if(C.touches[1]){var he=e.projectIntoViewport(C.touches[1].clientX,C.touches[1].clientY);G[2]=he[0],G[3]=he[1]}if(C.touches[2]){var he=e.projectIntoViewport(C.touches[2].clientX,C.touches[2].clientY);G[4]=he[0],G[5]=he[1]}}else if(C.touches[0]&&!e.touchData.didSelect){var Mt=e.touchData.start,hi=e.touchData.last,Ct;if(!e.hoverData.draggingEles&&!e.swipePanning&&(Ct=e.findNearestElement(G[0],G[1],!0,!0)),j&&Mt!=null&&C.preventDefault(),j&&Mt!=null&&e.nodeIsDraggable(Mt))if(De){var ft=e.dragData.touchDragEles,cl=!e.dragData.didDrag;cl&&y(ft,{inDragLayer:!0}),e.dragData.didDrag=!0;var fr={x:0,y:0};if(re(Te[0])&&re(Te[1])&&(fr.x+=Te[0],fr.y+=Te[1],cl)){e.redrawHint("eles",!0);var It=e.touchData.dragDelta;It&&re(It[0])&&re(It[1])&&(fr.x+=It[0],fr.y+=It[1])}e.hoverData.draggingEles=!0,ft.silentShift(fr).emit(ue("position")).emit(ue("drag")),e.redrawHint("drag",!0),e.touchData.startPosition[0]==se[0]&&e.touchData.startPosition[1]==se[1]&&e.redrawHint("eles",!0),e.redraw()}else{var It=e.touchData.dragDelta=e.touchData.dragDelta||[];It.length===0?(It.push(Te[0]),It.push(Te[1])):(It[0]+=Te[0],It[1]+=Te[1])}if(a(Mt||Ct,["touchmove","tapdrag","vmousemove"],C,{x:G[0],y:G[1]}),(!Mt||!Mt.grabbed())&&Ct!=hi&&(hi&&hi.emit(ue("tapdragout")),Ct&&Ct.emit(ue("tapdragover"))),e.touchData.last=Ct,j)for(var Tt=0;Tt<G.length;Tt++)G[Tt]&&e.touchData.startPosition[Tt]&&De&&(e.touchData.singleTouchMoved=!0);if(j&&(Mt==null||Mt.pannable())&&H.panningEnabled()&&H.userPanningEnabled()){var Wf=o(Mt,e.touchData.starts);Wf&&(C.preventDefault(),e.data.bgActivePosistion||(e.data.bgActivePosistion=Kn(e.touchData.startPosition)),e.swipePanning?(H.panBy({x:Te[0]*Z,y:Te[1]*Z}),H.emit(ue("dragpan"))):De&&(e.swipePanning=!0,H.panBy({x:Se*Z,y:Ke*Z}),H.emit(ue("dragpan")),Mt&&(Mt.unactivate(),e.redrawHint("select",!0),e.touchData.start=null)));var he=e.projectIntoViewport(C.touches[0].clientX,C.touches[0].clientY);G[0]=he[0],G[1]=he[1]}}for(var fe=0;fe<G.length;fe++)se[fe]=G[fe];j&&C.touches.length>0&&!e.hoverData.draggingEles&&!e.swipePanning&&e.data.bgActivePosistion!=null&&(e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.redraw())}},"touchmoveHandler"),!1);var te;e.registerBinding(t,"touchcancel",te=l(function(C){var j=e.touchData.start;e.touchData.capture=!1,j&&j.unactivate()},"touchcancelHandler"));var ce,de,be,we;if(e.registerBinding(t,"touchend",ce=l(function(C){var j=e.touchData.start,W=e.touchData.capture;if(W)C.touches.length===0&&(e.touchData.capture=!1),C.preventDefault();else return;var H=e.selection;e.swipePanning=!1,e.hoverData.draggingEles=!1;var G=e.cy,se=G.zoom(),Z=e.touchData.now,he=e.touchData.earlier;if(C.touches[0]){var ue=e.projectIntoViewport(C.touches[0].clientX,C.touches[0].clientY);Z[0]=ue[0],Z[1]=ue[1]}if(C.touches[1]){var ue=e.projectIntoViewport(C.touches[1].clientX,C.touches[1].clientY);Z[2]=ue[0],Z[3]=ue[1]}if(C.touches[2]){var ue=e.projectIntoViewport(C.touches[2].clientX,C.touches[2].clientY);Z[4]=ue[0],Z[5]=ue[1]}var ge=l(function(kt){return{originalEvent:C,type:kt,position:{x:Z[0],y:Z[1]}}},"makeEvent");j&&j.unactivate();var De;if(e.touchData.cxt){if(De=ge("cxttapend"),j?j.emit(De):G.emit(De),!e.touchData.cxtDragged){var Te=ge("cxttap");j?j.emit(Te):G.emit(Te)}e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!1,e.touchData.start=null,e.redraw();return}if(!C.touches[2]&&G.boxSelectionEnabled()&&e.touchData.selecting){e.touchData.selecting=!1;var fe=G.collection(e.getAllInBox(H[0],H[1],H[2],H[3]));H[0]=void 0,H[1]=void 0,H[2]=void 0,H[3]=void 0,H[4]=0,e.redrawHint("select",!0),G.emit(ge("boxend"));var Se=l(function(kt){return kt.selectable()&&!kt.selected()},"eleWouldBeSelected");fe.emit(ge("box")).stdFilter(Se).select().emit(ge("boxselect")),fe.nonempty()&&e.redrawHint("eles",!0),e.redraw()}if(j?.unactivate(),C.touches[2])e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);else if(!C.touches[1]&&!C.touches[0]&&!C.touches[0]){e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var Ne=e.dragData.touchDragEles;if(j!=null){var Ke=j._private.grabbed;v(Ne),e.redrawHint("drag",!0),e.redrawHint("eles",!0),Ke&&(j.emit(ge("freeon")),Ne.emit(ge("free")),e.dragData.didDrag&&(j.emit(ge("dragfreeon")),Ne.emit(ge("dragfree")))),a(j,["touchend","tapend","vmouseup","tapdragout"],C,{x:Z[0],y:Z[1]}),j.unactivate(),e.touchData.start=null}else{var lt=e.findNearestElement(Z[0],Z[1],!0,!0);a(lt,["touchend","tapend","vmouseup","tapdragout"],C,{x:Z[0],y:Z[1]})}var yt=e.touchData.startPosition[0]-Z[0],Ze=yt*yt,at=e.touchData.startPosition[1]-Z[1],$e=at*at,mt=Ze+$e,en=mt*se*se;e.touchData.singleTouchMoved||(j||G.$(":selected").unselect(["tapunselect"]),a(j,["tap","vclick"],C,{x:Z[0],y:Z[1]}),de=!1,C.timeStamp-we<=G.multiClickDebounceTime()?(be&&clearTimeout(be),de=!0,we=null,a(j,["dbltap","vdblclick"],C,{x:Z[0],y:Z[1]})):(be=setTimeout(function(){de||a(j,["onetap","voneclick"],C,{x:Z[0],y:Z[1]})},G.multiClickDebounceTime()),we=C.timeStamp)),j!=null&&!e.dragData.didDrag&&j._private.selectable&&en<e.touchTapThreshold2&&!e.pinching&&(G.selectionType()==="single"?(G.$(n).unmerge(j).unselect(["tapunselect"]),j.select(["tapselect"])):j.selected()?j.unselect(["tapunselect"]):j.select(["tapselect"]),e.redrawHint("eles",!0)),e.touchData.singleTouchMoved=!0}for(var Je=0;Je<Z.length;Je++)he[Je]=Z[Je];e.dragData.didDrag=!1,C.touches.length===0&&(e.touchData.dragDelta=[],e.touchData.startPosition=[null,null,null,null,null,null],e.touchData.startGPosition=null,e.touchData.didSelect=!1),C.touches.length<2&&(C.touches.length===1&&(e.touchData.startGPosition=[C.touches[0].clientX,C.touches[0].clientY]),e.pinching=!1,e.redrawHint("eles",!0),e.redraw())},"touchendHandler"),!1),typeof TouchEvent>"u"){var Ce=[],ke=l(function(C){return{clientX:C.clientX,clientY:C.clientY,force:1,identifier:C.pointerId,pageX:C.pageX,pageY:C.pageY,radiusX:C.width/2,radiusY:C.height/2,screenX:C.screenX,screenY:C.screenY,target:C.target}},"makeTouch"),ze=l(function(C){return{event:C,touch:ke(C)}},"makePointer"),qe=l(function(C){Ce.push(ze(C))},"addPointer"),Re=l(function(C){for(var j=0;j<Ce.length;j++){var W=Ce[j];if(W.event.pointerId===C.pointerId){Ce.splice(j,1);return}}},"removePointer"),Me=l(function(C){var j=Ce.filter(function(W){return W.event.pointerId===C.pointerId})[0];j.event=C,j.touch=ke(C)},"updatePointer"),oe=l(function(C){C.touches=Ce.map(function(j){return j.touch})},"addTouchesToEvent"),ye=l(function(C){return C.pointerType==="mouse"||C.pointerType===4},"pointerIsMouse");e.registerBinding(e.container,"pointerdown",function(C){ye(C)||(C.preventDefault(),qe(C),oe(C),xe(C))}),e.registerBinding(e.container,"pointerup",function(C){ye(C)||(Re(C),oe(C),ce(C))}),e.registerBinding(e.container,"pointercancel",function(C){ye(C)||(Re(C),oe(C),te(C))}),e.registerBinding(e.container,"pointermove",function(C){ye(C)||(C.preventDefault(),Me(C),oe(C),Ae(C))})}};var Jt={};Jt.generatePolygon=function(e,t){return this.nodeShapes[e]={renderer:this,name:e,points:t,draw:l(function(n,r,a,i,o,c){this.renderer.nodeShapeImpl("polygon",n,r,a,i,o,this.points)},"draw"),intersectLine:l(function(n,r,a,i,o,c,u,s){return Mr(o,c,this.points,n,r,a/2,i/2,u)},"intersectLine"),checkPoint:l(function(n,r,a,i,o,c,u,s){return Ut(n,r,this.points,c,u,i,o,[0,-1],a)},"checkPoint"),hasMiterBounds:e!=="rectangle",miterBounds:l(function(n,r,a,i,o,c){return pd(this.points,n,r,a,i,o)},"miterBounds")}};Jt.generateEllipse=function(){return this.nodeShapes.ellipse={renderer:this,name:"ellipse",draw:l(function(e,t,n,r,a,i){this.renderer.nodeShapeImpl(this.name,e,t,n,r,a)},"draw"),intersectLine:l(function(e,t,n,r,a,i,o,c){return lg(a,i,e,t,n/2+o,r/2+o)},"intersectLine"),checkPoint:l(function(e,t,n,r,a,i,o,c){return Bn(e,t,r,a,i,o,n)},"checkPoint")}};Jt.generateRoundPolygon=function(e,t){return this.nodeShapes[e]={renderer:this,name:e,points:t,getOrCreateCorners:l(function(n,r,a,i,o,c,u){if(c[u]!==void 0&&c[u+"-cx"]===n&&c[u+"-cy"]===r)return c[u];c[u]=new Array(t.length/2),c[u+"-cx"]=n,c[u+"-cy"]=r;var s=a/2,d=i/2;o=o==="auto"?yd(a,i):o;for(var h=new Array(t.length/2),f=0;f<t.length/2;f++)h[f]={x:n+s*t[f*2],y:r+d*t[f*2+1]};var p,g,y,b,v=h.length;for(g=h[v-1],p=0;p<v;p++)y=h[p%v],b=h[(p+1)%v],c[u][p]=si(g,y,b,o),g=y,y=b;return c[u]},"getOrCreateCorners"),draw:l(function(n,r,a,i,o,c,u){this.renderer.nodeShapeImpl("round-polygon",n,r,a,i,o,this.points,this.getOrCreateCorners(r,a,i,o,c,u,"drawCorners"))},"draw"),intersectLine:l(function(n,r,a,i,o,c,u,s,d){return cg(o,c,this.points,n,r,a,i,u,this.getOrCreateCorners(n,r,a,i,s,d,"corners"))},"intersectLine"),checkPoint:l(function(n,r,a,i,o,c,u,s,d){return sg(n,r,this.points,c,u,i,o,this.getOrCreateCorners(c,u,i,o,s,d,"corners"))},"checkPoint")}};Jt.generateRoundRectangle=function(){return this.nodeShapes["round-rectangle"]=this.nodeShapes.roundrectangle={renderer:this,name:"round-rectangle",points:bt(4,0),draw:l(function(e,t,n,r,a,i){this.renderer.nodeShapeImpl(this.name,e,t,n,r,a,this.points,i)},"draw"),intersectLine:l(function(e,t,n,r,a,i,o,c){return gd(a,i,e,t,n,r,o,c)},"intersectLine"),checkPoint:l(function(e,t,n,r,a,i,o,c){var u=r/2,s=a/2;c=c==="auto"?fn(r,a):c,c=Math.min(u,s,c);var d=c*2;return!!(Ut(e,t,this.points,i,o,r,a-d,[0,-1],n)||Ut(e,t,this.points,i,o,r-d,a,[0,-1],n)||Bn(e,t,d,d,i-u+c,o-s+c,n)||Bn(e,t,d,d,i+u-c,o-s+c,n)||Bn(e,t,d,d,i+u-c,o+s-c,n)||Bn(e,t,d,d,i-u+c,o+s-c,n))},"checkPoint")}};Jt.generateCutRectangle=function(){return this.nodeShapes["cut-rectangle"]=this.nodeShapes.cutrectangle={renderer:this,name:"cut-rectangle",cornerLength:Ds(),points:bt(4,0),draw:l(function(e,t,n,r,a,i){this.renderer.nodeShapeImpl(this.name,e,t,n,r,a,null,i)},"draw"),generateCutTrianglePts:l(function(e,t,n,r,a){var i=a==="auto"?this.cornerLength:a,o=t/2,c=e/2,u=n-c,s=n+c,d=r-o,h=r+o;return{topLeft:[u,d+i,u+i,d,u+i,d+i],topRight:[s-i,d,s,d+i,s-i,d+i],bottomRight:[s,h-i,s-i,h,s-i,h-i],bottomLeft:[u+i,h,u,h-i,u+i,h-i]}},"generateCutTrianglePts"),intersectLine:l(function(e,t,n,r,a,i,o,c){var u=this.generateCutTrianglePts(n+2*o,r+2*o,e,t,c),s=[].concat.apply([],[u.topLeft.splice(0,4),u.topRight.splice(0,4),u.bottomRight.splice(0,4),u.bottomLeft.splice(0,4)]);return Mr(a,i,s,e,t)},"intersectLine"),checkPoint:l(function(e,t,n,r,a,i,o,c){var u=c==="auto"?this.cornerLength:c;if(Ut(e,t,this.points,i,o,r,a-2*u,[0,-1],n)||Ut(e,t,this.points,i,o,r-2*u,a,[0,-1],n))return!0;var s=this.generateCutTrianglePts(r,a,i,o);return Pt(e,t,s.topLeft)||Pt(e,t,s.topRight)||Pt(e,t,s.bottomRight)||Pt(e,t,s.bottomLeft)},"checkPoint")}};Jt.generateBarrel=function(){return this.nodeShapes.barrel={renderer:this,name:"barrel",points:bt(4,0),draw:l(function(e,t,n,r,a,i){this.renderer.nodeShapeImpl(this.name,e,t,n,r,a)},"draw"),intersectLine:l(function(e,t,n,r,a,i,o,c){var u=.15,s=.5,d=.85,h=this.generateBarrelBezierPts(n+2*o,r+2*o,e,t),f=l(function(g){var y=Zn({x:g[0],y:g[1]},{x:g[2],y:g[3]},{x:g[4],y:g[5]},u),b=Zn({x:g[0],y:g[1]},{x:g[2],y:g[3]},{x:g[4],y:g[5]},s),v=Zn({x:g[0],y:g[1]},{x:g[2],y:g[3]},{x:g[4],y:g[5]},d);return[g[0],g[1],y.x,y.y,b.x,b.y,v.x,v.y,g[4],g[5]]},"approximateBarrelCurvePts"),p=[].concat(f(h.topLeft),f(h.topRight),f(h.bottomRight),f(h.bottomLeft));return Mr(a,i,p,e,t)},"intersectLine"),generateBarrelBezierPts:l(function(e,t,n,r){var a=t/2,i=e/2,o=n-i,c=n+i,u=r-a,s=r+a,d=Vo(e,t),h=d.heightOffset,f=d.widthOffset,p=d.ctrlPtOffsetPct*e,g={topLeft:[o,u+h,o+p,u,o+f,u],topRight:[c-f,u,c-p,u,c,u+h],bottomRight:[c,s-h,c-p,s,c-f,s],bottomLeft:[o+f,s,o+p,s,o,s-h]};return g.topLeft.isTop=!0,g.topRight.isTop=!0,g.bottomLeft.isBottom=!0,g.bottomRight.isBottom=!0,g},"generateBarrelBezierPts"),checkPoint:l(function(e,t,n,r,a,i,o,c){var u=Vo(r,a),s=u.heightOffset,d=u.widthOffset;if(Ut(e,t,this.points,i,o,r,a-2*s,[0,-1],n)||Ut(e,t,this.points,i,o,r-2*d,a,[0,-1],n))return!0;for(var h=this.generateBarrelBezierPts(r,a,i,o),f=l(function(P,E,k){var _=k[4],B=k[2],D=k[0],S=k[5],M=k[1],A=Math.min(_,D),O=Math.max(_,D),R=Math.min(S,M),I=Math.max(S,M);if(A<=P&&P<=O&&R<=E&&E<=I){var L=dg(_,B,D),N=rg(L[0],L[1],L[2],P),Y=N.filter(function(q){return 0<=q&&q<=1});if(Y.length>0)return Y[0]}return null},"getCurveT"),p=Object.keys(h),g=0;g<p.length;g++){var y=p[g],b=h[y],v=f(e,t,b);if(v!=null){var m=b[5],x=b[3],w=b[1],T=it(m,x,w,v);if(b.isTop&&T<=t||b.isBottom&&t<=T)return!0}}return!1},"checkPoint")}};Jt.generateBottomRoundrectangle=function(){return this.nodeShapes["bottom-round-rectangle"]=this.nodeShapes.bottomroundrectangle={renderer:this,name:"bottom-round-rectangle",points:bt(4,0),draw:l(function(e,t,n,r,a,i){this.renderer.nodeShapeImpl(this.name,e,t,n,r,a,this.points,i)},"draw"),intersectLine:l(function(e,t,n,r,a,i,o,c){var u=e-(n/2+o),s=t-(r/2+o),d=s,h=e+(n/2+o),f=ln(a,i,e,t,u,s,h,d,!1);return f.length>0?f:gd(a,i,e,t,n,r,o,c)},"intersectLine"),checkPoint:l(function(e,t,n,r,a,i,o,c){c=c==="auto"?fn(r,a):c;var u=2*c;if(Ut(e,t,this.points,i,o,r,a-u,[0,-1],n)||Ut(e,t,this.points,i,o,r-u,a,[0,-1],n))return!0;var s=r/2+2*n,d=a/2+2*n,h=[i-s,o-d,i-s,o,i+s,o,i+s,o-d];return!!(Pt(e,t,h)||Bn(e,t,u,u,i+r/2-c,o+a/2-c,n)||Bn(e,t,u,u,i-r/2+c,o+a/2-c,n))},"checkPoint")}};Jt.registerNodeShapes=function(){var e=this.nodeShapes={},t=this;this.generateEllipse(),this.generatePolygon("triangle",bt(3,0)),this.generateRoundPolygon("round-triangle",bt(3,0)),this.generatePolygon("rectangle",bt(4,0)),e.square=e.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var n=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",n),this.generateRoundPolygon("round-diamond",n)}this.generatePolygon("pentagon",bt(5,0)),this.generateRoundPolygon("round-pentagon",bt(5,0)),this.generatePolygon("hexagon",bt(6,0)),this.generateRoundPolygon("round-hexagon",bt(6,0)),this.generatePolygon("heptagon",bt(7,0)),this.generateRoundPolygon("round-heptagon",bt(7,0)),this.generatePolygon("octagon",bt(8,0)),this.generateRoundPolygon("round-octagon",bt(8,0));var r=new Array(20);{var a=Fo(5,0),i=Fo(5,Math.PI/5),o=.5*(3-Math.sqrt(5));o*=1.57;for(var c=0;c<i.length/2;c++)i[c*2]*=o,i[c*2+1]*=o;for(var c=0;c<20/4;c++)r[c*4]=a[c*2],r[c*4+1]=a[c*2+1],r[c*4+2]=i[c*2],r[c*4+3]=i[c*2+1]}r=vd(r),this.generatePolygon("star",r),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 u=[-1,-1,.25,-1,1,0,.25,1,-1,1];this.generatePolygon("tag",u),this.generateRoundPolygon("round-tag",u)}e.makePolygon=function(s){var d=s.join("$"),h="polygon-"+d,f;return(f=this[h])?f:t.generatePolygon(h,s)}};var ta={};ta.timeToRender=function(){return this.redrawTotalTime/this.redrawCount};ta.redraw=function(e){e=e||sd();var t=this;t.averageRedrawTime===void 0&&(t.averageRedrawTime=0),t.lastRedrawTime===void 0&&(t.lastRedrawTime=0),t.lastDrawTime===void 0&&(t.lastDrawTime=0),t.requestedFrame=!0,t.renderOptions=e};ta.beforeRender=function(e,t){if(!this.destroyed){t==null&&We("Priority is not optional for beforeRender");var n=this.beforeRenderCallbacks;n.push({fn:e,priority:t}),n.sort(function(r,a){return a.priority-r.priority})}};var vc=l(function(e,t,n){for(var r=e.beforeRenderCallbacks,a=0;a<r.length;a++)r[a].fn(t,n)},"beforeRenderCallbacks");ta.startRenderLoop=function(){var e=this,t=e.cy;if(!e.renderLoopStarted){e.renderLoopStarted=!0;var n=l(function(r){if(!e.destroyed){if(!t.batching())if(e.requestedFrame&&!e.skipFrame){vc(e,!0,r);var a=Gt();e.render(e.renderOptions);var i=e.lastDrawTime=Gt();e.averageRedrawTime===void 0&&(e.averageRedrawTime=i-a),e.redrawCount===void 0&&(e.redrawCount=0),e.redrawCount++,e.redrawTotalTime===void 0&&(e.redrawTotalTime=0);var o=i-a;e.redrawTotalTime+=o,e.lastRedrawTime=o,e.averageRedrawTime=e.averageRedrawTime/2+o/2,e.requestedFrame=!1}else vc(e,!1,r);e.skipFrame=!1,Na(n)}},"renderFn");Na(n)}};var Ly=l(function(e){this.init(e)},"BaseRenderer"),Wh=Ly,dr=Wh.prototype;dr.clientFunctions=["redrawHint","render","renderTo","matchCanvasSize","nodeShapeImpl","arrowShapeImpl"];dr.init=function(e){var t=this;t.options=e,t.cy=e.cy;var n=t.container=e.cy.container(),r=t.cy.window();if(r){var a=r.document,i=a.head,o="__________cytoscape_stylesheet",c="__________cytoscape_container",u=a.getElementById(o)!=null;if(n.className.indexOf(c)<0&&(n.className=(n.className||"")+" "+c),!u){var s=a.createElement("style");s.id=o,s.textContent="."+c+" { position: relative; }",i.insertBefore(s,i.children[0])}var d=r.getComputedStyle(n),h=d.getPropertyValue("position");h==="static"&&Oe("A Cytoscape container has style position:static and so can not use UI extensions properly")}t.selection=[void 0,void 0,void 0,void 0,0],t.bezierProjPcts=[.05,.225,.4,.5,.6,.775,.95],t.hoverData={down:null,last:null,downTime:null,triggerMode:null,dragging:!1,initialPan:[null,null],capture:!1},t.dragData={possibleDragElements:[]},t.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]},t.redraws=0,t.showFps=e.showFps,t.debug=e.debug,t.webgl=e.webgl,t.hideEdgesOnViewport=e.hideEdgesOnViewport,t.textureOnViewport=e.textureOnViewport,t.wheelSensitivity=e.wheelSensitivity,t.motionBlurEnabled=e.motionBlur,t.forcedPixelRatio=re(e.pixelRatio)?e.pixelRatio:null,t.motionBlur=e.motionBlur,t.motionBlurOpacity=e.motionBlurOpacity,t.motionBlurTransparency=1-t.motionBlurOpacity,t.motionBlurPxRatio=1,t.mbPxRBlurry=1,t.minMbLowQualFrames=4,t.fullQualityMb=!1,t.clearedForMotionBlur=[],t.desktopTapThreshold=e.desktopTapThreshold,t.desktopTapThreshold2=e.desktopTapThreshold*e.desktopTapThreshold,t.touchTapThreshold=e.touchTapThreshold,t.touchTapThreshold2=e.touchTapThreshold*e.touchTapThreshold,t.tapholdDuration=500,t.bindings=[],t.beforeRenderCallbacks=[],t.beforeRenderPriorities={animations:400,eleCalcs:300,eleTxrDeq:200,lyrTxrDeq:150,lyrTxrSkip:100},t.registerNodeShapes(),t.registerArrowShapes(),t.registerCalculationListeners()};dr.notify=function(e,t){var n=this,r=n.cy;if(!this.destroyed){if(e==="init"){n.load();return}if(e==="destroy"){n.destroy();return}(e==="add"||e==="remove"||e==="move"&&r.hasCompoundNodes()||e==="load"||e==="zorder"||e==="mount")&&n.invalidateCachedZSortedEles(),e==="viewport"&&n.redrawHint("select",!0),e==="gc"&&n.redrawHint("gc",!0),(e==="load"||e==="resize"||e==="mount")&&(n.invalidateContainerClientCoordsCache(),n.matchCanvasSize(n.container)),n.redrawHint("eles",!0),n.redrawHint("drag",!0),this.startRenderLoop(),this.redraw()}};dr.destroy=function(){var e=this;e.destroyed=!0,e.cy.stopAnimationLoop();for(var t=0;t<e.bindings.length;t++){var n=e.bindings[t],r=n,a=r.target;(a.off||a.removeEventListener).apply(a,r.args)}if(e.bindings=[],e.beforeRenderCallbacks=[],e.onUpdateEleCalcsFns=[],e.removeObserver&&e.removeObserver.disconnect(),e.styleObserver&&e.styleObserver.disconnect(),e.resizeObserver&&e.resizeObserver.disconnect(),e.labelCalcDiv)try{document.body.removeChild(e.labelCalcDiv)}catch{}};dr.isHeadless=function(){return!1};[Ks,Xh,Yh,cr,Jt,ta].forEach(function(e){ve(dr,e)});var Mo=1e3/60,Hh={setupDequeueing:l(function(e){return l(function(){var t=this,n=this.renderer;if(!t.dequeueingSetup){t.dequeueingSetup=!0;var r=qr(function(){n.redrawHint("eles",!0),n.redrawHint("drag",!0),n.redraw()},e.deqRedrawThreshold),a=l(function(o,c){var u=Gt(),s=n.averageRedrawTime,d=n.lastRedrawTime,h=[],f=n.cy.extent(),p=n.getPixelRatio();for(o||n.flushRenderedStyleQueue();;){var g=Gt(),y=g-u,b=g-c;if(d<Mo){var v=Mo-(o?s:0);if(b>=e.deqFastCost*v)break}else if(o){if(y>=e.deqCost*d||y>=e.deqAvgCost*s)break}else if(b>=e.deqNoDrawCost*Mo)break;var m=e.deq(t,p,f);if(m.length>0)for(var x=0;x<m.length;x++)h.push(m[x]);else break}h.length>0&&(e.onDeqd(t,h),!o&&e.shouldRedraw(t,h,p,f)&&r())},"dequeue"),i=e.priority||Es;n.beforeRender(a,i(t))}},"setupDequeueingImpl")},"setupDequeueing")},Oy=(function(){function e(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:La;Zt(this,e),this.idsByKey=new Kt,this.keyForId=new Kt,this.cachesByLvl=new Kt,this.lvls=[],this.getKey=t,this.doesEleInvalidateKey=n}return l(e,"ElementTextureCacheLookup"),$t(e,[{key:"getIdsFor",value:l(function(t){t==null&&We("Can not get id list for null key");var n=this.idsByKey,r=this.idsByKey.get(t);return r||(r=new sr,n.set(t,r)),r},"getIdsFor")},{key:"addIdForKey",value:l(function(t,n){t!=null&&this.getIdsFor(t).add(n)},"addIdForKey")},{key:"deleteIdForKey",value:l(function(t,n){t!=null&&this.getIdsFor(t).delete(n)},"deleteIdForKey")},{key:"getNumberOfIdsForKey",value:l(function(t){return t==null?0:this.getIdsFor(t).size},"getNumberOfIdsForKey")},{key:"updateKeyMappingFor",value:l(function(t){var n=t.id(),r=this.keyForId.get(n),a=this.getKey(t);this.deleteIdForKey(r,n),this.addIdForKey(a,n),this.keyForId.set(n,a)},"updateKeyMappingFor")},{key:"deleteKeyMappingFor",value:l(function(t){var n=t.id(),r=this.keyForId.get(n);this.deleteIdForKey(r,n),this.keyForId.delete(n)},"deleteKeyMappingFor")},{key:"keyHasChangedFor",value:l(function(t){var n=t.id(),r=this.keyForId.get(n),a=this.getKey(t);return r!==a},"keyHasChangedFor")},{key:"isInvalid",value:l(function(t){return this.keyHasChangedFor(t)||this.doesEleInvalidateKey(t)},"isInvalid")},{key:"getCachesAt",value:l(function(t){var n=this.cachesByLvl,r=this.lvls,a=n.get(t);return a||(a=new Kt,n.set(t,a),r.push(t)),a},"getCachesAt")},{key:"getCache",value:l(function(t,n){return this.getCachesAt(n).get(t)},"getCache")},{key:"get",value:l(function(t,n){var r=this.getKey(t),a=this.getCache(r,n);return a!=null&&this.updateKeyMappingFor(t),a},"get")},{key:"getForCachedKey",value:l(function(t,n){var r=this.keyForId.get(t.id()),a=this.getCache(r,n);return a},"getForCachedKey")},{key:"hasCache",value:l(function(t,n){return this.getCachesAt(n).has(t)},"hasCache")},{key:"has",value:l(function(t,n){var r=this.getKey(t);return this.hasCache(r,n)},"has")},{key:"setCache",value:l(function(t,n,r){r.key=t,this.getCachesAt(n).set(t,r)},"setCache")},{key:"set",value:l(function(t,n,r){var a=this.getKey(t);this.setCache(a,n,r),this.updateKeyMappingFor(t)},"set")},{key:"deleteCache",value:l(function(t,n){this.getCachesAt(n).delete(t)},"deleteCache")},{key:"delete",value:l(function(t,n){var r=this.getKey(t);this.deleteCache(r,n)},"_delete")},{key:"invalidateKey",value:l(function(t){var n=this;this.lvls.forEach(function(r){return n.deleteCache(t,r)})},"invalidateKey")},{key:"invalidate",value:l(function(t){var n=t.id(),r=this.keyForId.get(n);this.deleteKeyMappingFor(t);var a=this.doesEleInvalidateKey(t);return a&&this.invalidateKey(r),a||this.getNumberOfIdsForKey(r)===0},"invalidate")}])})(),yc=25,ya=50,Ba=-4,os=3,Kh=7.99,zy=8,Fy=1024,Vy=1024,qy=1024,jy=.2,Xy=.8,Yy=10,Wy=.15,Hy=.1,Ky=.9,Gy=.9,Uy=100,Zy=1,Un={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},$y=dt({getKey:null,doesEleInvalidateKey:La,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:ad,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),Er=l(function(e,t){var n=this;n.renderer=e,n.onDequeues=[];var r=$y(t);ve(n,r),n.lookup=new Oy(r.getKey,r.doesEleInvalidateKey),n.setupDequeueing()},"ElementTextureCache"),rt=Er.prototype;rt.reasons=Un;rt.getTextureQueue=function(e){var t=this;return t.eleImgCaches=t.eleImgCaches||{},t.eleImgCaches[e]=t.eleImgCaches[e]||[]};rt.getRetiredTextureQueue=function(e){var t=this,n=t.eleImgCaches.retired=t.eleImgCaches.retired||{},r=n[e]=n[e]||[];return r};rt.getElementQueue=function(){var e=this,t=e.eleCacheQueue=e.eleCacheQueue||new jr(function(n,r){return r.reqs-n.reqs});return t};rt.getElementKeyToQueue=function(){var e=this,t=e.eleKeyToCacheQueue=e.eleKeyToCacheQueue||{};return t};rt.getElement=function(e,t,n,r,a){var i=this,o=this.renderer,c=o.cy.zoom(),u=this.lookup;if(!t||t.w===0||t.h===0||isNaN(t.w)||isNaN(t.h)||!e.visible()||e.removed()||!i.allowEdgeTxrCaching&&e.isEdge()||!i.allowParentTxrCaching&&e.isParent())return null;if(r==null&&(r=Math.ceil(Ts(c*n))),r<Ba)r=Ba;else if(c>=Kh||r>os)return null;var s=Math.pow(2,r),d=t.h*s,h=t.w*s,f=o.eleTextBiggerThanMin(e,s);if(!this.isVisible(e,f))return null;var p=u.get(e,r);if(p&&p.invalidated&&(p.invalidated=!1,p.texture.invalidatedWidth-=p.width),p)return p;var g;if(d<=yc?g=yc:d<=ya?g=ya:g=Math.ceil(d/ya)*ya,d>qy||h>Vy)return null;var y=i.getTextureQueue(g),b=y[y.length-2],v=l(function(){return i.recycleTexture(g,h)||i.addTexture(g,h)},"addNewTxr");b||(b=y[y.length-1]),b||(b=v()),b.width-b.usedWidth<h&&(b=v());for(var m=l(function(O){return O&&O.scaledLabelShown===f},"scalableFrom"),x=a&&a===Un.dequeue,w=a&&a===Un.highQuality,T=a&&a===Un.downscale,P,E=r+1;E<=os;E++){var k=u.get(e,E);if(k){P=k;break}}var _=P&&P.level===r+1?P:null,B=l(function(){b.context.drawImage(_.texture.canvas,_.x,0,_.width,_.height,b.usedWidth,0,h,d)},"downscale");if(b.context.setTransform(1,0,0,1,0,0),b.context.clearRect(b.usedWidth,0,h,g),m(_))B();else if(m(P))if(w){for(var D=P.level;D>r;D--)_=i.getElement(e,t,n,D,Un.downscale);B()}else return i.queueElement(e,P.level-1),P;else{var S;if(!x&&!w&&!T)for(var M=r-1;M>=Ba;M--){var A=u.get(e,M);if(A){S=A;break}}if(m(S))return i.queueElement(e,r),S;b.context.translate(b.usedWidth,0),b.context.scale(s,s),this.drawElement(b.context,e,t,f,!1),b.context.scale(1/s,1/s),b.context.translate(-b.usedWidth,0)}return p={x:b.usedWidth,texture:b,level:r,scale:s,width:h,height:d,scaledLabelShown:f},b.usedWidth+=Math.ceil(h+zy),b.eleCaches.push(p),u.set(e,r,p),i.checkTextureFullness(b),p};rt.invalidateElements=function(e){for(var t=0;t<e.length;t++)this.invalidateElement(e[t])};rt.invalidateElement=function(e){var t=this,n=t.lookup,r=[],a=n.isInvalid(e);if(a){for(var i=Ba;i<=os;i++){var o=n.getForCachedKey(e,i);o&&r.push(o)}var c=n.invalidate(e);if(c)for(var u=0;u<r.length;u++){var s=r[u],d=s.texture;d.invalidatedWidth+=s.width,s.invalidated=!0,t.checkTextureUtility(d)}t.removeFromQueue(e)}};rt.checkTextureUtility=function(e){e.invalidatedWidth>=jy*e.width&&this.retireTexture(e)};rt.checkTextureFullness=function(e){var t=this,n=t.getTextureQueue(e.height);e.usedWidth/e.width>Xy&&e.fullnessChecks>=Yy?hn(n,e):e.fullnessChecks++};rt.retireTexture=function(e){var t=this,n=e.height,r=t.getTextureQueue(n),a=this.lookup;hn(r,e),e.retired=!0;for(var i=e.eleCaches,o=0;o<i.length;o++){var c=i[o];a.deleteCache(c.key,c.level)}Cs(i);var u=t.getRetiredTextureQueue(n);u.push(e)};rt.addTexture=function(e,t){var n=this,r=n.getTextureQueue(e),a={};return r.push(a),a.eleCaches=[],a.height=e,a.width=Math.max(Fy,t),a.usedWidth=0,a.invalidatedWidth=0,a.fullnessChecks=0,a.canvas=n.renderer.makeOffscreenCanvas(a.width,a.height),a.context=a.canvas.getContext("2d"),a};rt.recycleTexture=function(e,t){for(var n=this,r=n.getTextureQueue(e),a=n.getRetiredTextureQueue(e),i=0;i<a.length;i++){var o=a[i];if(o.width>=t)return o.retired=!1,o.usedWidth=0,o.invalidatedWidth=0,o.fullnessChecks=0,Cs(o.eleCaches),o.context.setTransform(1,0,0,1,0,0),o.context.clearRect(0,0,o.width,o.height),hn(a,o),r.push(o),o}};rt.queueElement=function(e,t){var n=this,r=n.getElementQueue(),a=n.getElementKeyToQueue(),i=this.getKey(e),o=a[i];if(o)o.level=Math.max(o.level,t),o.eles.merge(e),o.reqs++,r.updateItem(o);else{var c={eles:e.spawn().merge(e),level:t,reqs:1,key:i};r.push(c),a[i]=c}};rt.dequeue=function(e){for(var t=this,n=t.getElementQueue(),r=t.getElementKeyToQueue(),a=[],i=t.lookup,o=0;o<Zy&&n.size()>0;o++){var c=n.pop(),u=c.key,s=c.eles[0],d=i.hasCache(s,c.level);if(r[u]=null,!d){a.push(c);var h=t.getBoundingBox(s);t.getElement(s,h,e,c.level,Un.dequeue)}}return a};rt.removeFromQueue=function(e){var t=this,n=t.getElementQueue(),r=t.getElementKeyToQueue(),a=this.getKey(e),i=r[a];i!=null&&(i.eles.length===1?(i.reqs=ws,n.updateItem(i),n.pop(),r[a]=null):i.eles.unmerge(e))};rt.onDequeue=function(e){this.onDequeues.push(e)};rt.offDequeue=function(e){hn(this.onDequeues,e)};rt.setupDequeueing=Hh.setupDequeueing({deqRedrawThreshold:Uy,deqCost:Wy,deqAvgCost:Hy,deqNoDrawCost:Ky,deqFastCost:Gy,deq:l(function(e,t,n){return e.dequeue(t,n)},"deq"),onDeqd:l(function(e,t){for(var n=0;n<e.onDequeues.length;n++){var r=e.onDequeues[n];r(t)}},"onDeqd"),shouldRedraw:l(function(e,t,n,r){for(var a=0;a<t.length;a++)for(var i=t[a].eles,o=0;o<i.length;o++){var c=i[o].boundingBox();if(Ps(c,r))return!0}return!1},"shouldRedraw"),priority:l(function(e){return e.renderer.beforeRenderPriorities.eleTxrDeq},"priority")});var Jy=1,Tr=-4,Ya=2,Qy=3.99,em=50,tm=50,nm=.15,rm=.1,am=.9,im=.9,om=1,mc=250,sm=4e3*4e3,bc=32767,lm=!0,Gh=l(function(e){var t=this,n=t.renderer=e,r=n.cy;t.layersByLevel={},t.firstGet=!0,t.lastInvalidationTime=Gt()-2*mc,t.skipping=!1,t.eleTxrDeqs=r.collection(),t.scheduleElementRefinement=qr(function(){t.refineElementTextures(t.eleTxrDeqs),t.eleTxrDeqs.unmerge(t.eleTxrDeqs)},tm),n.beforeRender(function(i,o){o-t.lastInvalidationTime<=mc?t.skipping=!0:t.skipping=!1},n.beforeRenderPriorities.lyrTxrSkip);var a=l(function(i,o){return o.reqs-i.reqs},"qSort");t.layersQueue=new jr(a),t.setupDequeueing()},"LayeredTextureCache"),ht=Gh.prototype,xc=0,um=Math.pow(2,53)-1;ht.makeLayer=function(e,t){var n=Math.pow(2,t),r=Math.ceil(e.w*n),a=Math.ceil(e.h*n),i=this.renderer.makeOffscreenCanvas(r,a),o={id:xc=++xc%um,bb:e,level:t,width:r,height:a,canvas:i,context:i.getContext("2d"),eles:[],elesQueue:[],reqs:0},c=o.context,u=-o.bb.x1,s=-o.bb.y1;return c.scale(n,n),c.translate(u,s),o};ht.getLayers=function(e,t,n){var r=this,a=r.renderer,i=a.cy,o=i.zoom(),c=r.firstGet;if(r.firstGet=!1,n==null){if(n=Math.ceil(Ts(o*t)),n<Tr)n=Tr;else if(o>=Qy||n>Ya)return null}r.validateLayersElesOrdering(n,e);var u=r.layersByLevel,s=Math.pow(2,n),d=u[n]=u[n]||[],h,f=r.levelIsComplete(n,e),p,g=l(function(){var _=l(function(M){if(r.validateLayersElesOrdering(M,e),r.levelIsComplete(M,e))return p=u[M],!0},"canUseAsTmpLvl"),B=l(function(M){if(!p)for(var A=n+M;Tr<=A&&A<=Ya&&!_(A);A+=M);},"checkLvls");B(1),B(-1);for(var D=d.length-1;D>=0;D--){var S=d[D];S.invalid&&hn(d,S)}},"checkTempLevels");if(!f)g();else return d;var y=l(function(){if(!h){h=wt();for(var _=0;_<e.length;_++)Qp(h,e[_].boundingBox())}return h},"getBb"),b=l(function(_){_=_||{};var B=_.after;y();var D=Math.ceil(h.w*s),S=Math.ceil(h.h*s);if(D>bc||S>bc)return null;var M=D*S;if(M>sm)return null;var A=r.makeLayer(h,n);if(B!=null){var O=d.indexOf(B)+1;d.splice(O,0,A)}else(_.insert===void 0||_.insert)&&d.unshift(A);return A},"makeLayer");if(r.skipping&&!c)return null;for(var v=null,m=e.length/Jy,x=!c,w=0;w<e.length;w++){var T=e[w],P=T._private.rscratch,E=P.imgLayerCaches=P.imgLayerCaches||{},k=E[n];if(k){v=k;continue}if((!v||v.eles.length>=m||!hd(v.bb,T.boundingBox()))&&(v=b({insert:!0,after:v}),!v))return null;p||x?r.queueLayer(v,T):r.drawEleInLayer(v,T,n,t),v.eles.push(T),E[n]=v}return p||(x?null:d)};ht.getEleLevelForLayerLevel=function(e,t){return e};ht.drawEleInLayer=function(e,t,n,r){var a=this,i=this.renderer,o=e.context,c=t.boundingBox();c.w===0||c.h===0||!t.visible()||(n=a.getEleLevelForLayerLevel(n,r),i.setImgSmoothing(o,!1),i.drawCachedElement(o,t,null,null,n,lm),i.setImgSmoothing(o,!0))};ht.levelIsComplete=function(e,t){var n=this,r=n.layersByLevel[e];if(!r||r.length===0)return!1;for(var a=0,i=0;i<r.length;i++){var o=r[i];if(o.reqs>0||o.invalid)return!1;a+=o.eles.length}return a===t.length};ht.validateLayersElesOrdering=function(e,t){var n=this.layersByLevel[e];if(n)for(var r=0;r<n.length;r++){for(var a=n[r],i=-1,o=0;o<t.length;o++)if(a.eles[0]===t[o]){i=o;break}if(i<0){this.invalidateLayer(a);continue}for(var c=i,o=0;o<a.eles.length;o++)if(a.eles[o]!==t[c+o]){this.invalidateLayer(a);break}}};ht.updateElementsInLayers=function(e,t){for(var n=this,r=Fr(e[0]),a=0;a<e.length;a++)for(var i=r?null:e[a],o=r?e[a]:e[a].ele,c=o._private.rscratch,u=c.imgLayerCaches=c.imgLayerCaches||{},s=Tr;s<=Ya;s++){var d=u[s];d&&(i&&n.getEleLevelForLayerLevel(d.level)!==i.level||t(d,o,i))}};ht.haveLayers=function(){for(var e=this,t=!1,n=Tr;n<=Ya;n++){var r=e.layersByLevel[n];if(r&&r.length>0){t=!0;break}}return t};ht.invalidateElements=function(e){var t=this;e.length!==0&&(t.lastInvalidationTime=Gt(),!(e.length===0||!t.haveLayers())&&t.updateElementsInLayers(e,l(function(n,r,a){t.invalidateLayer(n)},"invalAssocLayers")))};ht.invalidateLayer=function(e){if(this.lastInvalidationTime=Gt(),!e.invalid){var t=e.level,n=e.eles,r=this.layersByLevel[t];hn(r,e),e.elesQueue=[],e.invalid=!0,e.replacement&&(e.replacement.invalid=!0);for(var a=0;a<n.length;a++){var i=n[a]._private.rscratch.imgLayerCaches;i&&(i[t]=null)}}};ht.refineElementTextures=function(e){var t=this;t.updateElementsInLayers(e,l(function(n,r,a){var i=n.replacement;if(i||(i=n.replacement=t.makeLayer(n.bb,n.level),i.replaces=n,i.eles=n.eles),!i.reqs)for(var o=0;o<i.eles.length;o++)t.queueLayer(i,i.eles[o])},"refineEachEle"))};ht.enqueueElementRefinement=function(e){this.eleTxrDeqs.merge(e),this.scheduleElementRefinement()};ht.queueLayer=function(e,t){var n=this,r=n.layersQueue,a=e.elesQueue,i=a.hasId=a.hasId||{};if(!e.replacement){if(t){if(i[t.id()])return;a.push(t),i[t.id()]=!0}e.reqs?(e.reqs++,r.updateItem(e)):(e.reqs=1,r.push(e))}};ht.dequeue=function(e){for(var t=this,n=t.layersQueue,r=[],a=0;a<om&&n.size()!==0;){var i=n.peek();if(i.replacement){n.pop();continue}if(i.replaces&&i!==i.replaces.replacement){n.pop();continue}if(i.invalid){n.pop();continue}var o=i.elesQueue.shift();o&&(t.drawEleInLayer(i,o,i.level,e),a++),r.length===0&&r.push(!0),i.elesQueue.length===0&&(n.pop(),i.reqs=0,i.replaces&&t.applyLayerReplacement(i),t.requestRedraw())}return r};ht.applyLayerReplacement=function(e){var t=this,n=t.layersByLevel[e.level],r=e.replaces,a=n.indexOf(r);if(!(a<0||r.invalid)){n[a]=e;for(var i=0;i<e.eles.length;i++){var o=e.eles[i]._private,c=o.imgLayerCaches=o.imgLayerCaches||{};c&&(c[e.level]=e)}t.requestRedraw()}};ht.requestRedraw=qr(function(){var e=this.renderer;e.redrawHint("eles",!0),e.redrawHint("drag",!0),e.redraw()},100);ht.setupDequeueing=Hh.setupDequeueing({deqRedrawThreshold:em,deqCost:nm,deqAvgCost:rm,deqNoDrawCost:am,deqFastCost:im,deq:l(function(e,t){return e.dequeue(t)},"deq"),onDeqd:Es,shouldRedraw:ad,priority:l(function(e){return e.renderer.beforeRenderPriorities.lyrTxrDeq},"priority")});var Uh={},wc;function Zh(e,t){for(var n=0;n<t.length;n++){var r=t[n];e.lineTo(r.x,r.y)}}l(Zh,"polygon");function $h(e,t,n){for(var r,a=0;a<t.length;a++){var i=t[a];a===0&&(r=i),e.lineTo(i.x,i.y)}e.quadraticCurveTo(n.x,n.y,r.x,r.y)}l($h,"triangleBackcurve");function ss(e,t,n){e.beginPath&&e.beginPath();for(var r=t,a=0;a<r.length;a++){var i=r[a];e.lineTo(i.x,i.y)}var o=n,c=n[0];e.moveTo(c.x,c.y);for(var a=1;a<o.length;a++){var i=o[a];e.lineTo(i.x,i.y)}e.closePath&&e.closePath()}l(ss,"triangleTee");function Jh(e,t,n,r,a){e.beginPath&&e.beginPath(),e.arc(n,r,a,0,Math.PI*2,!1);var i=t,o=i[0];e.moveTo(o.x,o.y);for(var c=0;c<i.length;c++){var u=i[c];e.lineTo(u.x,u.y)}e.closePath&&e.closePath()}l(Jh,"circleTriangle");function Qh(e,t,n,r){e.arc(t,n,r,0,Math.PI*2,!1)}l(Qh,"circle$1");Uh.arrowShapeImpl=function(e){return(wc||(wc={polygon:Zh,"triangle-backcurve":$h,"triangle-tee":ss,"circle-triangle":Jh,"triangle-cross":ss,circle:Qh}))[e]};var Yt={};Yt.drawElement=function(e,t,n,r,a,i){var o=this;t.isNode()?o.drawNode(e,t,n,r,a,i):o.drawEdge(e,t,n,r,a,i)};Yt.drawElementOverlay=function(e,t){var n=this;t.isNode()?n.drawNodeOverlay(e,t):n.drawEdgeOverlay(e,t)};Yt.drawElementUnderlay=function(e,t){var n=this;t.isNode()?n.drawNodeUnderlay(e,t):n.drawEdgeUnderlay(e,t)};Yt.drawCachedElementPortion=function(e,t,n,r,a,i,o,c){var u=this,s=n.getBoundingBox(t);if(!(s.w===0||s.h===0)){var d=n.getElement(t,s,r,a,i);if(d!=null){var h=c(u,t);if(h===0)return;var f=o(u,t),p=s.x1,g=s.y1,y=s.w,b=s.h,v,m,x,w,T;if(f!==0){var P=n.getRotationPoint(t);x=P.x,w=P.y,e.translate(x,w),e.rotate(f),T=u.getImgSmoothing(e),T||u.setImgSmoothing(e,!0);var E=n.getRotationOffset(t);v=E.x,m=E.y}else v=p,m=g;var k;h!==1&&(k=e.globalAlpha,e.globalAlpha=k*h),e.drawImage(d.texture.canvas,d.x,0,d.width,d.height,v,m,y,b),h!==1&&(e.globalAlpha=k),f!==0&&(e.rotate(-f),e.translate(-x,-w),T||u.setImgSmoothing(e,!1))}else n.drawElement(e,t)}};var cm=l(function(){return 0},"getZeroRotation"),dm=l(function(e,t){return e.getTextAngle(t,null)},"getLabelRotation"),hm=l(function(e,t){return e.getTextAngle(t,"source")},"getSourceLabelRotation"),fm=l(function(e,t){return e.getTextAngle(t,"target")},"getTargetLabelRotation"),pm=l(function(e,t){return t.effectiveOpacity()},"getOpacity"),Io=l(function(e,t){return t.pstyle("text-opacity").pfValue*t.effectiveOpacity()},"getTextOpacity");Yt.drawCachedElement=function(e,t,n,r,a,i){var o=this,c=o.data,u=c.eleTxrCache,s=c.lblTxrCache,d=c.slbTxrCache,h=c.tlbTxrCache,f=t.boundingBox(),p=i===!0?u.reasons.highQuality:null;if(!(f.w===0||f.h===0||!t.visible())&&(!r||Ps(f,r))){var g=t.isEdge(),y=t.element()._private.rscratch.badLine;o.drawElementUnderlay(e,t),o.drawCachedElementPortion(e,t,u,n,a,p,cm,pm),(!g||!y)&&o.drawCachedElementPortion(e,t,s,n,a,p,dm,Io),g&&!y&&(o.drawCachedElementPortion(e,t,d,n,a,p,hm,Io),o.drawCachedElementPortion(e,t,h,n,a,p,fm,Io)),o.drawElementOverlay(e,t)}};Yt.drawElements=function(e,t){for(var n=this,r=0;r<t.length;r++){var a=t[r];n.drawElement(e,a)}};Yt.drawCachedElements=function(e,t,n,r){for(var a=this,i=0;i<t.length;i++){var o=t[i];a.drawCachedElement(e,o,n,r)}};Yt.drawCachedNodes=function(e,t,n,r){for(var a=this,i=0;i<t.length;i++){var o=t[i];o.isNode()&&a.drawCachedElement(e,o,n,r)}};Yt.drawLayeredElements=function(e,t,n,r){var a=this,i=a.data.lyrTxrCache.getLayers(t,n);if(i)for(var o=0;o<i.length;o++){var c=i[o],u=c.bb;u.w===0||u.h===0||e.drawImage(c.canvas,u.x1,u.y1,u.w,u.h)}else a.drawCachedElements(e,t,n,r)};var Qt={};Qt.drawEdge=function(e,t,n){var r=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,c=t._private.rscratch;if(!(i&&!t.visible())&&!(c.badLine||c.allpts==null||isNaN(c.allpts[0]))){var u;n&&(u=n,e.translate(-u.x1,-u.y1));var s=i?t.pstyle("opacity").value:1,d=i?t.pstyle("line-opacity").value:1,h=t.pstyle("curve-style").value,f=t.pstyle("line-style").value,p=t.pstyle("width").pfValue,g=t.pstyle("line-cap").value,y=t.pstyle("line-outline-width").value,b=t.pstyle("line-outline-color").value,v=s*d,m=s*d,x=l(function(){var A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:v;h==="straight-triangle"?(o.eleStrokeStyle(e,t,A),o.drawEdgeTrianglePath(t,e,c.allpts)):(e.lineWidth=p,e.lineCap=g,o.eleStrokeStyle(e,t,A),o.drawEdgePath(t,e,c.allpts,f),e.lineCap="butt")},"drawLine"),w=l(function(){var A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:v;if(e.lineWidth=p+y,e.lineCap=g,y>0)o.colorStrokeStyle(e,b[0],b[1],b[2],A);else{e.lineCap="butt";return}h==="straight-triangle"?o.drawEdgeTrianglePath(t,e,c.allpts):(o.drawEdgePath(t,e,c.allpts,f),e.lineCap="butt")},"drawLineOutline"),T=l(function(){a&&o.drawEdgeOverlay(e,t)},"drawOverlay"),P=l(function(){a&&o.drawEdgeUnderlay(e,t)},"drawUnderlay"),E=l(function(){var A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:m;o.drawArrowheads(e,t,A)},"drawArrows"),k=l(function(){o.drawElementText(e,t,null,r)},"drawText");e.lineJoin="round";var _=t.pstyle("ghost").value==="yes";if(_){var B=t.pstyle("ghost-offset-x").pfValue,D=t.pstyle("ghost-offset-y").pfValue,S=t.pstyle("ghost-opacity").value,M=v*S;e.translate(B,D),x(M),E(M),e.translate(-B,-D)}else w();P(),x(),E(),T(),k(),n&&e.translate(u.x1,u.y1)}};var ef=l(function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(t,n){if(n.visible()){var r=n.pstyle("".concat(e,"-opacity")).value;if(r!==0){var a=this,i=a.usePaths(),o=n._private.rscratch,c=n.pstyle("".concat(e,"-padding")).pfValue,u=2*c,s=n.pstyle("".concat(e,"-color")).value;t.lineWidth=u,o.edgeType==="self"&&!i?t.lineCap="butt":t.lineCap="round",a.colorStrokeStyle(t,s[0],s[1],s[2],r),a.drawEdgePath(n,t,o.allpts,"solid")}}}},"drawEdgeOverlayUnderlay");Qt.drawEdgeOverlay=ef("overlay");Qt.drawEdgeUnderlay=ef("underlay");Qt.drawEdgePath=function(e,t,n,r){var a=e._private.rscratch,i=t,o,c=!1,u=this.usePaths(),s=e.pstyle("line-dash-pattern").pfValue,d=e.pstyle("line-dash-offset").pfValue;if(u){var h=n.join("$"),f=a.pathCacheKey&&a.pathCacheKey===h;f?(o=t=a.pathCache,c=!0):(o=t=new Path2D,a.pathCacheKey=h,a.pathCache=o)}if(i.setLineDash)switch(r){case"dotted":i.setLineDash([1,1]);break;case"dashed":i.setLineDash(s),i.lineDashOffset=d;break;case"solid":i.setLineDash([]);break}if(!c&&!a.badLine)switch(t.beginPath&&t.beginPath(),t.moveTo(n[0],n[1]),a.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var p=2;p+3<n.length;p+=4)t.quadraticCurveTo(n[p],n[p+1],n[p+2],n[p+3]);break;case"straight":case"haystack":for(var g=2;g+1<n.length;g+=2)t.lineTo(n[g],n[g+1]);break;case"segments":if(a.isRound){var y=xt(a.roundCorners),b;try{for(y.s();!(b=y.n()).done;){var v=b.value;Gs(t,v)}}catch(x){y.e(x)}finally{y.f()}t.lineTo(n[n.length-2],n[n.length-1])}else for(var m=2;m+1<n.length;m+=2)t.lineTo(n[m],n[m+1]);break}t=i,u?t.stroke(o):t.stroke(),t.setLineDash&&t.setLineDash([])};Qt.drawEdgeTrianglePath=function(e,t,n){t.fillStyle=t.strokeStyle;for(var r=e.pstyle("width").pfValue,a=0;a+1<n.length;a+=2){var i=[n[a+2]-n[a],n[a+3]-n[a+1]],o=Math.sqrt(i[0]*i[0]+i[1]*i[1]),c=[i[1]/o,-i[0]/o],u=[c[0]*r/2,c[1]*r/2];t.beginPath(),t.moveTo(n[a]-u[0],n[a+1]-u[1]),t.lineTo(n[a]+u[0],n[a+1]+u[1]),t.lineTo(n[a+2],n[a+3]),t.closePath(),t.fill()}};Qt.drawArrowheads=function(e,t,n){var r=t._private.rscratch,a=r.edgeType==="haystack";a||this.drawArrowhead(e,t,"source",r.arrowStartX,r.arrowStartY,r.srcArrowAngle,n),this.drawArrowhead(e,t,"mid-target",r.midX,r.midY,r.midtgtArrowAngle,n),this.drawArrowhead(e,t,"mid-source",r.midX,r.midY,r.midsrcArrowAngle,n),a||this.drawArrowhead(e,t,"target",r.arrowEndX,r.arrowEndY,r.tgtArrowAngle,n)};Qt.drawArrowhead=function(e,t,n,r,a,i,o){if(!(isNaN(r)||r==null||isNaN(a)||a==null||isNaN(i)||i==null)){var c=this,u=t.pstyle(n+"-arrow-shape").value;if(u!=="none"){var s=t.pstyle(n+"-arrow-fill").value==="hollow"?"both":"filled",d=t.pstyle(n+"-arrow-fill").value,h=t.pstyle("width").pfValue,f=t.pstyle(n+"-arrow-width"),p=f.value==="match-line"?h:f.pfValue;f.units==="%"&&(p*=h);var g=t.pstyle("opacity").value;o===void 0&&(o=g);var y=e.globalCompositeOperation;(o!==1||d==="hollow")&&(e.globalCompositeOperation="destination-out",c.colorFillStyle(e,255,255,255,1),c.colorStrokeStyle(e,255,255,255,1),c.drawArrowShape(t,e,s,h,u,p,r,a,i),e.globalCompositeOperation=y);var b=t.pstyle(n+"-arrow-color").value;c.colorFillStyle(e,b[0],b[1],b[2],o),c.colorStrokeStyle(e,b[0],b[1],b[2],o),c.drawArrowShape(t,e,d,h,u,p,r,a,i)}}};Qt.drawArrowShape=function(e,t,n,r,a,i,o,c,u){var s=this,d=this.usePaths()&&a!=="triangle-cross",h=!1,f,p=t,g={x:o,y:c},y=e.pstyle("arrow-scale").value,b=this.getArrowWidth(r,y),v=s.arrowShapes[a];if(d){var m=s.arrowPathCache=s.arrowPathCache||[],x=An(a),w=m[x];w!=null?(f=t=w,h=!0):(f=t=new Path2D,m[x]=f)}h||(t.beginPath&&t.beginPath(),d?v.draw(t,1,0,{x:0,y:0},1):v.draw(t,b,u,g,r),t.closePath&&t.closePath()),t=p,d&&(t.translate(o,c),t.rotate(u),t.scale(b,b)),(n==="filled"||n==="both")&&(d?t.fill(f):t.fill()),(n==="hollow"||n==="both")&&(t.lineWidth=i/(d?b:1),t.lineJoin="miter",d?t.stroke(f):t.stroke()),d&&(t.scale(1/b,1/b),t.rotate(-u),t.translate(-o,-c))};var $s={};$s.safeDrawImage=function(e,t,n,r,a,i,o,c,u,s){if(!(a<=0||i<=0||u<=0||s<=0))try{e.drawImage(t,n,r,a,i,o,c,u,s)}catch(d){Oe(d)}};$s.drawInscribedImage=function(e,t,n,r,a){var i=this,o=n.position(),c=o.x,u=o.y,s=n.cy().style(),d=s.getIndexedStyle.bind(s),h=d(n,"background-fit","value",r),f=d(n,"background-repeat","value",r),p=n.width(),g=n.height(),y=n.padding()*2,b=p+(d(n,"background-width-relative-to","value",r)==="inner"?0:y),v=g+(d(n,"background-height-relative-to","value",r)==="inner"?0:y),m=n._private.rscratch,x=d(n,"background-clip","value",r),w=x==="node",T=d(n,"background-image-opacity","value",r)*a,P=d(n,"background-image-smoothing","value",r),E=n.pstyle("corner-radius").value;E!=="auto"&&(E=n.pstyle("corner-radius").pfValue);var k=t.width||t.cachedW,_=t.height||t.cachedH;(k==null||_==null)&&(document.body.appendChild(t),k=t.cachedW=t.width||t.offsetWidth,_=t.cachedH=t.height||t.offsetHeight,document.body.removeChild(t));var B=k,D=_;if(d(n,"background-width","value",r)!=="auto"&&(d(n,"background-width","units",r)==="%"?B=d(n,"background-width","pfValue",r)*b:B=d(n,"background-width","pfValue",r)),d(n,"background-height","value",r)!=="auto"&&(d(n,"background-height","units",r)==="%"?D=d(n,"background-height","pfValue",r)*v:D=d(n,"background-height","pfValue",r)),!(B===0||D===0)){if(h==="contain"){var S=Math.min(b/B,v/D);B*=S,D*=S}else if(h==="cover"){var S=Math.max(b/B,v/D);B*=S,D*=S}var M=c-b/2,A=d(n,"background-position-x","units",r),O=d(n,"background-position-x","pfValue",r);A==="%"?M+=(b-B)*O:M+=O;var R=d(n,"background-offset-x","units",r),I=d(n,"background-offset-x","pfValue",r);R==="%"?M+=(b-B)*I:M+=I;var L=u-v/2,N=d(n,"background-position-y","units",r),Y=d(n,"background-position-y","pfValue",r);N==="%"?L+=(v-D)*Y:L+=Y;var q=d(n,"background-offset-y","units",r),X=d(n,"background-offset-y","pfValue",r);q==="%"?L+=(v-D)*X:L+=X,m.pathCache&&(M-=c,L-=u,c=0,u=0);var K=e.globalAlpha;e.globalAlpha=T;var J=i.getImgSmoothing(e),Q=!1;if(P==="no"&&J?(i.setImgSmoothing(e,!1),Q=!0):P==="yes"&&!J&&(i.setImgSmoothing(e,!0),Q=!0),f==="no-repeat")w&&(e.save(),m.pathCache?e.clip(m.pathCache):(i.nodeShapes[i.getNodeShape(n)].draw(e,c,u,b,v,E,m),e.clip())),i.safeDrawImage(e,t,0,0,k,_,M,L,B,D),w&&e.restore();else{var $=e.createPattern(t,f);e.fillStyle=$,i.nodeShapes[i.getNodeShape(n)].draw(e,c,u,b,v,E,m),e.translate(M,L),e.fill(),e.translate(-M,-L)}e.globalAlpha=K,Q&&i.setImgSmoothing(e,J)}};var zn={};zn.eleTextBiggerThanMin=function(e,t){if(!t){var n=e.cy().zoom(),r=this.getPixelRatio(),a=Math.ceil(Ts(n*r));t=Math.pow(2,a)}var i=e.pstyle("font-size").pfValue*t,o=e.pstyle("min-zoomed-font-size").pfValue;return!(i<o)};zn.drawElementText=function(e,t,n,r,a){var i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,o=this;if(r==null){if(i&&!o.eleTextBiggerThanMin(t))return}else if(r===!1)return;if(t.isNode()){var c=t.pstyle("label");if(!c||!c.value)return;var u=o.getLabelJustification(t);e.textAlign=u,e.textBaseline="bottom"}else{var s=t.element()._private.rscratch.badLine,d=t.pstyle("label"),h=t.pstyle("source-label"),f=t.pstyle("target-label");if(s||(!d||!d.value)&&(!h||!h.value)&&(!f||!f.value))return;e.textAlign="center",e.textBaseline="bottom"}var p=!n,g;n&&(g=n,e.translate(-g.x1,-g.y1)),a==null?(o.drawText(e,t,null,p,i),t.isEdge()&&(o.drawText(e,t,"source",p,i),o.drawText(e,t,"target",p,i))):o.drawText(e,t,a,p,i),n&&e.translate(g.x1,g.y1)};zn.getFontCache=function(e){var t;this.fontCaches=this.fontCaches||[];for(var n=0;n<this.fontCaches.length;n++)if(t=this.fontCaches[n],t.context===e)return t;return t={context:e},this.fontCaches.push(t),t};zn.setupTextStyle=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,r=t.pstyle("font-style").strValue,a=t.pstyle("font-size").pfValue+"px",i=t.pstyle("font-family").strValue,o=t.pstyle("font-weight").strValue,c=n?t.effectiveOpacity()*t.pstyle("text-opacity").value:1,u=t.pstyle("text-outline-opacity").value*c,s=t.pstyle("color").value,d=t.pstyle("text-outline-color").value;e.font=r+" "+o+" "+a+" "+i,e.lineJoin="round",this.colorFillStyle(e,s[0],s[1],s[2],c),this.colorStrokeStyle(e,d[0],d[1],d[2],u)};function tf(e,t,n,r,a){var i=Math.min(r,a),o=i/2,c=t+r/2,u=n+a/2;e.beginPath(),e.arc(c,u,o,0,Math.PI*2),e.closePath()}l(tf,"circle");function ls(e,t,n,r,a){var i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,o=Math.min(i,r/2,a/2);e.beginPath(),e.moveTo(t+o,n),e.lineTo(t+r-o,n),e.quadraticCurveTo(t+r,n,t+r,n+o),e.lineTo(t+r,n+a-o),e.quadraticCurveTo(t+r,n+a,t+r-o,n+a),e.lineTo(t+o,n+a),e.quadraticCurveTo(t,n+a,t,n+a-o),e.lineTo(t,n+o),e.quadraticCurveTo(t,n,t+o,n),e.closePath()}l(ls,"roundRect");zn.getTextAngle=function(e,t){var n,r=e._private,a=r.rscratch,i=t?t+"-":"",o=e.pstyle(i+"text-rotation");if(o.strValue==="autorotate"){var c=St(a,"labelAngle",t);n=e.isEdge()?c:0}else o.strValue==="none"?n=0:n=o.pfValue;return n};zn.drawText=function(e,t,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=t._private,o=i.rscratch,c=a?t.effectiveOpacity():1;if(!(a&&(c===0||t.pstyle("text-opacity").value===0))){n==="main"&&(n=null);var u=St(o,"labelX",n),s=St(o,"labelY",n),d,h,f=this.getLabelText(t,n);if(f!=null&&f!==""&&!isNaN(u)&&!isNaN(s)){this.setupTextStyle(e,t,a);var p=n?n+"-":"",g=St(o,"labelWidth",n),y=St(o,"labelHeight",n),b=t.pstyle(p+"text-margin-x").pfValue,v=t.pstyle(p+"text-margin-y").pfValue,m=t.isEdge(),x=t.pstyle("text-halign").value,w=t.pstyle("text-valign").value;m&&(x="center",w="center"),u+=b,s+=v;var T;switch(r?T=this.getTextAngle(t,n):T=0,T!==0&&(d=u,h=s,e.translate(d,h),e.rotate(T),u=0,s=0),w){case"top":break;case"center":s+=y/2;break;case"bottom":s+=y;break}var P=t.pstyle("text-background-opacity").value,E=t.pstyle("text-border-opacity").value,k=t.pstyle("text-border-width").pfValue,_=t.pstyle("text-background-padding").pfValue,B=t.pstyle("text-background-shape").strValue,D=B==="round-rectangle"||B==="roundrectangle",S=B==="circle",M=2;if(P>0||k>0&&E>0){var A=e.fillStyle,O=e.strokeStyle,R=e.lineWidth,I=t.pstyle("text-background-color").value,L=t.pstyle("text-border-color").value,N=t.pstyle("text-border-style").value,Y=P>0,q=k>0&&E>0,X=u-_;switch(x){case"left":X-=g;break;case"center":X-=g/2;break}var K=s-y-_,J=g+2*_,Q=y+2*_;if(Y&&(e.fillStyle="rgba(".concat(I[0],",").concat(I[1],",").concat(I[2],",").concat(P*c,")")),q&&(e.strokeStyle="rgba(".concat(L[0],",").concat(L[1],",").concat(L[2],",").concat(E*c,")"),e.lineWidth=k,e.setLineDash))switch(N){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"double":e.lineWidth=k/4,e.setLineDash([]);break;case"solid":default:e.setLineDash([]);break}if(D?(e.beginPath(),ls(e,X,K,J,Q,M)):S?(e.beginPath(),tf(e,X,K,J,Q)):(e.beginPath(),e.rect(X,K,J,Q)),Y&&e.fill(),q&&e.stroke(),q&&N==="double"){var $=k/2;e.beginPath(),D?ls(e,X+$,K+$,J-2*$,Q-2*$,M):e.rect(X+$,K+$,J-2*$,Q-2*$),e.stroke()}e.fillStyle=A,e.strokeStyle=O,e.lineWidth=R,e.setLineDash&&e.setLineDash([])}var ee=2*t.pstyle("text-outline-width").pfValue;if(ee>0&&(e.lineWidth=ee),t.pstyle("text-wrap").value==="wrap"){var ae=St(o,"labelWrapCachedLines",n),V=St(o,"labelLineHeight",n),z=g/2,F=this.getLabelJustification(t);switch(F==="auto"||(x==="left"?F==="left"?u+=-g:F==="center"&&(u+=-z):x==="center"?F==="left"?u+=-z:F==="right"&&(u+=z):x==="right"&&(F==="center"?u+=z:F==="right"&&(u+=g))),w){case"top":s-=(ae.length-1)*V;break;case"center":case"bottom":s-=(ae.length-1)*V;break}for(var U=0;U<ae.length;U++)ee>0&&e.strokeText(ae[U],u,s),e.fillText(ae[U],u,s),s+=V}else ee>0&&e.strokeText(f,u,s),e.fillText(f,u,s);T!==0&&(e.rotate(-T),e.translate(-d,-h))}}};var mn={};mn.drawNode=function(e,t,n){var r=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,c,u,s=t._private,d=s.rscratch,h=t.position();if(!(!re(h.x)||!re(h.y))&&!(i&&!t.visible())){var f=i?t.effectiveOpacity():1,p=o.usePaths(),g,y=!1,b=t.padding();c=t.width()+2*b,u=t.height()+2*b;var v;n&&(v=n,e.translate(-v.x1,-v.y1));for(var m=t.pstyle("background-image"),x=m.value,w=new Array(x.length),T=new Array(x.length),P=0,E=0;E<x.length;E++){var k=x[E],_=w[E]=k!=null&&k!=="none";if(_){var B=t.cy().style().getIndexedStyle(t,"background-image-crossorigin","value",E);P++,T[E]=o.getCachedImage(k,B,function(){s.backgroundTimestamp=Date.now(),t.emitAndNotify("background")})}}var D=t.pstyle("background-blacken").value,S=t.pstyle("border-width").pfValue,M=t.pstyle("background-opacity").value*f,A=t.pstyle("border-color").value,O=t.pstyle("border-style").value,R=t.pstyle("border-join").value,I=t.pstyle("border-cap").value,L=t.pstyle("border-position").value,N=t.pstyle("border-dash-pattern").pfValue,Y=t.pstyle("border-dash-offset").pfValue,q=t.pstyle("border-opacity").value*f,X=t.pstyle("outline-width").pfValue,K=t.pstyle("outline-color").value,J=t.pstyle("outline-style").value,Q=t.pstyle("outline-opacity").value*f,$=t.pstyle("outline-offset").value,ee=t.pstyle("corner-radius").value;ee!=="auto"&&(ee=t.pstyle("corner-radius").pfValue);var ae=l(function(){var oe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:M;o.eleFillStyle(e,t,oe)},"setupShapeColor"),V=l(function(){var oe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:q;o.colorStrokeStyle(e,A[0],A[1],A[2],oe)},"setupBorderColor"),z=l(function(){var oe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Q;o.colorStrokeStyle(e,K[0],K[1],K[2],oe)},"setupOutlineColor"),F=l(function(oe,ye,C,j){var W=o.nodePathCache=o.nodePathCache||[],H=td(C==="polygon"?C+","+j.join(","):C,""+ye,""+oe,""+ee),G=W[H],se,Z=!1;return G!=null?(se=G,Z=!0,d.pathCache=se):(se=new Path2D,W[H]=d.pathCache=se),{path:se,cacheHit:Z}},"getPath"),U=t.pstyle("shape").strValue,ne=t.pstyle("shape-polygon-points").pfValue;if(p){e.translate(h.x,h.y);var ie=F(c,u,U,ne);g=ie.path,y=ie.cacheHit}var Ee=l(function(){if(!y){var oe=h;p&&(oe={x:0,y:0}),o.nodeShapes[o.getNodeShape(t)].draw(g||e,oe.x,oe.y,c,u,ee,d)}p?e.fill(g):e.fill()},"drawShape"),me=l(function(){for(var oe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f,ye=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,C=s.backgrounding,j=0,W=0;W<T.length;W++){var H=t.cy().style().getIndexedStyle(t,"background-image-containment","value",W);if(ye&&H==="over"||!ye&&H==="inside"){j++;continue}w[W]&&T[W].complete&&!T[W].error&&(j++,o.drawInscribedImage(e,T[W],t,W,oe))}s.backgrounding=j!==P,C!==s.backgrounding&&t.updateStyle(!1)},"drawImages"),xe=l(function(){var oe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,ye=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f;o.hasPie(t)&&(o.drawPie(e,t,ye),oe&&(p||o.nodeShapes[o.getNodeShape(t)].draw(e,h.x,h.y,c,u,ee,d)))},"drawPie"),Ae=l(function(){var oe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,ye=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f;o.hasStripe(t)&&(e.save(),p?e.clip(d.pathCache):(o.nodeShapes[o.getNodeShape(t)].draw(e,h.x,h.y,c,u,ee,d),e.clip()),o.drawStripe(e,t,ye),e.restore(),oe&&(p||o.nodeShapes[o.getNodeShape(t)].draw(e,h.x,h.y,c,u,ee,d)))},"drawStripe"),te=l(function(){var oe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f,ye=(D>0?D:-D)*oe,C=D>0?0:255;D!==0&&(o.colorFillStyle(e,C,C,C,ye),p?e.fill(g):e.fill())},"darken"),ce=l(function(){if(S>0){if(e.lineWidth=S,e.lineCap=I,e.lineJoin=R,e.setLineDash)switch(O){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash(N),e.lineDashOffset=Y;break;case"solid":case"double":e.setLineDash([]);break}if(L!=="center"){if(e.save(),e.lineWidth*=2,L==="inside")p?e.clip(g):e.clip();else{var oe=new Path2D;oe.rect(-c/2-S,-u/2-S,c+2*S,u+2*S),oe.addPath(g),e.clip(oe,"evenodd")}p?e.stroke(g):e.stroke(),e.restore()}else p?e.stroke(g):e.stroke();if(O==="double"){e.lineWidth=S/3;var ye=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",p?e.stroke(g):e.stroke(),e.globalCompositeOperation=ye}e.setLineDash&&e.setLineDash([])}},"drawBorder"),de=l(function(){if(X>0){if(e.lineWidth=X,e.lineCap="butt",e.setLineDash)switch(J){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"solid":case"double":e.setLineDash([]);break}var oe=h;p&&(oe={x:0,y:0});var ye=o.getNodeShape(t),C=S;L==="inside"&&(C=0),L==="outside"&&(C*=2);var j=(c+C+(X+$))/c,W=(u+C+(X+$))/u,H=c*j,G=u*W,se=o.nodeShapes[ye].points,Z;if(p){var he=F(H,G,ye,se);Z=he.path}if(ye==="ellipse")o.drawEllipsePath(Z||e,oe.x,oe.y,H,G);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(ye)){var ue=0,ge=0,De=0;ye==="round-diamond"?ue=(C+$+X)*1.4:ye==="round-heptagon"?(ue=(C+$+X)*1.075,De=-(C/2+$+X)/35):ye==="round-hexagon"?ue=(C+$+X)*1.12:ye==="round-pentagon"?(ue=(C+$+X)*1.13,De=-(C/2+$+X)/15):ye==="round-tag"?(ue=(C+$+X)*1.12,ge=(C/2+X+$)*.07):ye==="round-triangle"&&(ue=(C+$+X)*(Math.PI/2),De=-(C+$/2+X)/Math.PI),ue!==0&&(j=(c+ue)/c,H=c*j,["round-hexagon","round-tag"].includes(ye)||(W=(u+ue)/u,G=u*W)),ee=ee==="auto"?yd(H,G):ee;for(var Te=H/2,fe=G/2,Se=ee+(C+X+$)/2,Ne=new Array(se.length/2),Ke=new Array(se.length/2),lt=0;lt<se.length/2;lt++)Ne[lt]={x:oe.x+ge+Te*se[lt*2],y:oe.y+De+fe*se[lt*2+1]};var yt,Ze,at,$e,mt=Ne.length;for(Ze=Ne[mt-1],yt=0;yt<mt;yt++)at=Ne[yt%mt],$e=Ne[(yt+1)%mt],Ke[yt]=si(Ze,at,$e,Se),Ze=at,at=$e;o.drawRoundPolygonPath(Z||e,oe.x+ge,oe.y+De,c*j,u*W,se,Ke)}else if(["roundrectangle","round-rectangle"].includes(ye))ee=ee==="auto"?fn(H,G):ee,o.drawRoundRectanglePath(Z||e,oe.x,oe.y,H,G,ee+(C+X+$)/2);else if(["cutrectangle","cut-rectangle"].includes(ye))ee=ee==="auto"?Ds():ee,o.drawCutRectanglePath(Z||e,oe.x,oe.y,H,G,null,ee+(C+X+$)/4);else if(["bottomroundrectangle","bottom-round-rectangle"].includes(ye))ee=ee==="auto"?fn(H,G):ee,o.drawBottomRoundRectanglePath(Z||e,oe.x,oe.y,H,G,ee+(C+X+$)/2);else if(ye==="barrel")o.drawBarrelPath(Z||e,oe.x,oe.y,H,G);else if(ye.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(ye)){var en=(C+X+$)/c;se=Oa(za(se,en)),o.drawPolygonPath(Z||e,oe.x,oe.y,c,u,se)}else{var Je=(C+X+$)/c;se=Oa(za(se,-Je)),o.drawPolygonPath(Z||e,oe.x,oe.y,c,u,se)}if(p?e.stroke(Z):e.stroke(),J==="double"){e.lineWidth=C/3;var kt=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",p?e.stroke(Z):e.stroke(),e.globalCompositeOperation=kt}e.setLineDash&&e.setLineDash([])}},"drawOutline"),be=l(function(){a&&o.drawNodeOverlay(e,t,h,c,u)},"drawOverlay"),we=l(function(){a&&o.drawNodeUnderlay(e,t,h,c,u)},"drawUnderlay"),Ce=l(function(){o.drawElementText(e,t,null,r)},"drawText"),ke=t.pstyle("ghost").value==="yes";if(ke){var ze=t.pstyle("ghost-offset-x").pfValue,qe=t.pstyle("ghost-offset-y").pfValue,Re=t.pstyle("ghost-opacity").value,Me=Re*f;e.translate(ze,qe),z(),de(),ae(Re*M),Ee(),me(Me,!0),V(Re*q),ce(),xe(D!==0||S!==0),Ae(D!==0||S!==0),me(Me,!1),te(Me),e.translate(-ze,-qe)}p&&e.translate(-h.x,-h.y),we(),p&&e.translate(h.x,h.y),z(),de(),ae(),Ee(),me(f,!0),V(),ce(),xe(D!==0||S!==0),Ae(D!==0||S!==0),me(f,!1),te(),p&&e.translate(-h.x,-h.y),Ce(),be(),n&&e.translate(v.x1,v.y1)}};var nf=l(function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(t,n,r,a,i){var o=this;if(n.visible()){var c=n.pstyle("".concat(e,"-padding")).pfValue,u=n.pstyle("".concat(e,"-opacity")).value,s=n.pstyle("".concat(e,"-color")).value,d=n.pstyle("".concat(e,"-shape")).value,h=n.pstyle("".concat(e,"-corner-radius")).value;if(u>0){if(r=r||n.position(),a==null||i==null){var f=n.padding();a=n.width()+2*f,i=n.height()+2*f}o.colorFillStyle(t,s[0],s[1],s[2],u),o.nodeShapes[d].draw(t,r.x,r.y,a+c*2,i+c*2,h),t.fill()}}}},"drawNodeOverlayUnderlay");mn.drawNodeOverlay=nf("overlay");mn.drawNodeUnderlay=nf("underlay");mn.hasPie=function(e){return e=e[0],e._private.hasPie};mn.hasStripe=function(e){return e=e[0],e._private.hasStripe};mn.drawPie=function(e,t,n,r){t=t[0],r=r||t.position();var a=t.cy().style(),i=t.pstyle("pie-size"),o=t.pstyle("pie-hole"),c=t.pstyle("pie-start-angle").pfValue,u=r.x,s=r.y,d=t.width(),h=t.height(),f=Math.min(d,h)/2,p,g=0,y=this.usePaths();if(y&&(u=0,s=0),i.units==="%"?f=f*i.pfValue:i.pfValue!==void 0&&(f=i.pfValue/2),o.units==="%"?p=f*o.pfValue:o.pfValue!==void 0&&(p=o.pfValue/2),!(p>=f))for(var b=1;b<=a.pieBackgroundN;b++){var v=t.pstyle("pie-"+b+"-background-size").value,m=t.pstyle("pie-"+b+"-background-color").value,x=t.pstyle("pie-"+b+"-background-opacity").value*n,w=v/100;w+g>1&&(w=1-g);var T=1.5*Math.PI+2*Math.PI*g;T+=c;var P=2*Math.PI*w,E=T+P;v===0||g>=1||g+w>1||(p===0?(e.beginPath(),e.moveTo(u,s),e.arc(u,s,f,T,E),e.closePath()):(e.beginPath(),e.arc(u,s,f,T,E),e.arc(u,s,p,E,T,!0),e.closePath()),this.colorFillStyle(e,m[0],m[1],m[2],x),e.fill(),g+=w)}};mn.drawStripe=function(e,t,n,r){t=t[0],r=r||t.position();var a=t.cy().style(),i=r.x,o=r.y,c=t.width(),u=t.height(),s=0,d=this.usePaths();e.save();var h=t.pstyle("stripe-direction").value,f=t.pstyle("stripe-size");switch(h){case"vertical":break;case"righward":e.rotate(-Math.PI/2);break}var p=c,g=u;f.units==="%"?(p=p*f.pfValue,g=g*f.pfValue):f.pfValue!==void 0&&(p=f.pfValue,g=f.pfValue),d&&(i=0,o=0),o-=p/2,i-=g/2;for(var y=1;y<=a.stripeBackgroundN;y++){var b=t.pstyle("stripe-"+y+"-background-size").value,v=t.pstyle("stripe-"+y+"-background-color").value,m=t.pstyle("stripe-"+y+"-background-opacity").value*n,x=b/100;x+s>1&&(x=1-s),!(b===0||s>=1||s+x>1)&&(e.beginPath(),e.rect(i,o+g*s,p,g*x),e.closePath(),this.colorFillStyle(e,v[0],v[1],v[2],m),e.fill(),s+=x)}e.restore()};var Et={},gm=100;Et.getPixelRatio=function(){var e=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var t=this.cy.window(),n=e.backingStorePixelRatio||e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return(t.devicePixelRatio||1)/n};Et.paintCache=function(e){for(var t=this.paintCaches=this.paintCaches||[],n=!0,r,a=0;a<t.length;a++)if(r=t[a],r.context===e){n=!1;break}return n&&(r={context:e},t.push(r)),r};Et.createGradientStyleFor=function(e,t,n,r,a){var i,o=this.usePaths(),c=n.pstyle(t+"-gradient-stop-colors").value,u=n.pstyle(t+"-gradient-stop-positions").pfValue;if(r==="radial-gradient")if(n.isEdge()){var s=n.sourceEndpoint(),d=n.targetEndpoint(),h=n.midpoint(),f=Mn(s,h),p=Mn(d,h);i=e.createRadialGradient(h.x,h.y,0,h.x,h.y,Math.max(f,p))}else{var g=o?{x:0,y:0}:n.position(),y=n.paddedWidth(),b=n.paddedHeight();i=e.createRadialGradient(g.x,g.y,0,g.x,g.y,Math.max(y,b))}else if(n.isEdge()){var v=n.sourceEndpoint(),m=n.targetEndpoint();i=e.createLinearGradient(v.x,v.y,m.x,m.y)}else{var x=o?{x:0,y:0}:n.position(),w=n.paddedWidth(),T=n.paddedHeight(),P=w/2,E=T/2,k=n.pstyle("background-gradient-direction").value;switch(k){case"to-bottom":i=e.createLinearGradient(x.x,x.y-E,x.x,x.y+E);break;case"to-top":i=e.createLinearGradient(x.x,x.y+E,x.x,x.y-E);break;case"to-left":i=e.createLinearGradient(x.x+P,x.y,x.x-P,x.y);break;case"to-right":i=e.createLinearGradient(x.x-P,x.y,x.x+P,x.y);break;case"to-bottom-right":case"to-right-bottom":i=e.createLinearGradient(x.x-P,x.y-E,x.x+P,x.y+E);break;case"to-top-right":case"to-right-top":i=e.createLinearGradient(x.x-P,x.y+E,x.x+P,x.y-E);break;case"to-bottom-left":case"to-left-bottom":i=e.createLinearGradient(x.x+P,x.y-E,x.x-P,x.y+E);break;case"to-top-left":case"to-left-top":i=e.createLinearGradient(x.x+P,x.y+E,x.x-P,x.y-E);break}}if(!i)return null;for(var _=u.length===c.length,B=c.length,D=0;D<B;D++)i.addColorStop(_?u[D]:D/(B-1),"rgba("+c[D][0]+","+c[D][1]+","+c[D][2]+","+a+")");return i};Et.gradientFillStyle=function(e,t,n,r){var a=this.createGradientStyleFor(e,"background",t,n,r);if(!a)return null;e.fillStyle=a};Et.colorFillStyle=function(e,t,n,r,a){e.fillStyle="rgba("+t+","+n+","+r+","+a+")"};Et.eleFillStyle=function(e,t,n){var r=t.pstyle("background-fill").value;if(r==="linear-gradient"||r==="radial-gradient")this.gradientFillStyle(e,t,r,n);else{var a=t.pstyle("background-color").value;this.colorFillStyle(e,a[0],a[1],a[2],n)}};Et.gradientStrokeStyle=function(e,t,n,r){var a=this.createGradientStyleFor(e,"line",t,n,r);if(!a)return null;e.strokeStyle=a};Et.colorStrokeStyle=function(e,t,n,r,a){e.strokeStyle="rgba("+t+","+n+","+r+","+a+")"};Et.eleStrokeStyle=function(e,t,n){var r=t.pstyle("line-fill").value;if(r==="linear-gradient"||r==="radial-gradient")this.gradientStrokeStyle(e,t,r,n);else{var a=t.pstyle("line-color").value;this.colorStrokeStyle(e,a[0],a[1],a[2],n)}};Et.matchCanvasSize=function(e){var t=this,n=t.data,r=t.findContainerClientCoords(),a=r[2],i=r[3],o=t.getPixelRatio(),c=t.motionBlurPxRatio;(e===t.data.bufferCanvases[t.MOTIONBLUR_BUFFER_NODE]||e===t.data.bufferCanvases[t.MOTIONBLUR_BUFFER_DRAG])&&(o=c);var u=a*o,s=i*o,d;if(!(u===t.canvasWidth&&s===t.canvasHeight)){t.fontCaches=null;var h=n.canvasContainer;h.style.width=a+"px",h.style.height=i+"px";for(var f=0;f<t.CANVAS_LAYERS;f++)d=n.canvases[f],d.width=u,d.height=s,d.style.width=a+"px",d.style.height=i+"px";for(var f=0;f<t.BUFFER_COUNT;f++)d=n.bufferCanvases[f],d.width=u,d.height=s,d.style.width=a+"px",d.style.height=i+"px";t.textureMult=1,o<=1&&(d=n.bufferCanvases[t.TEXTURE_BUFFER],t.textureMult=2,d.width=u*t.textureMult,d.height=s*t.textureMult),t.canvasWidth=u,t.canvasHeight=s,t.pixelRatio=o}};Et.renderTo=function(e,t,n,r){this.render({forcedContext:e,forcedZoom:t,forcedPan:n,drawAllLayers:!0,forcedPxRatio:r})};Et.clearCanvas=function(){var e=this,t=e.data;function n(r){r.clearRect(0,0,e.canvasWidth,e.canvasHeight)}l(n,"clear"),n(t.contexts[e.NODE]),n(t.contexts[e.DRAG])};Et.render=function(e){var t=this;e=e||sd();var n=t.cy,r=e.forcedContext,a=e.drawAllLayers,i=e.drawOnlyNodeLayer,o=e.forcedZoom,c=e.forcedPan,u=e.forcedPxRatio===void 0?this.getPixelRatio():e.forcedPxRatio,s=t.data,d=s.canvasNeedsRedraw,h=t.textureOnViewport&&!r&&(t.pinching||t.hoverData.dragging||t.swipePanning||t.data.wheelZooming),f=e.motionBlur!==void 0?e.motionBlur:t.motionBlur,p=t.motionBlurPxRatio,g=n.hasCompoundNodes(),y=t.hoverData.draggingEles,b=!!(t.hoverData.selecting||t.touchData.selecting);f=f&&!r&&t.motionBlurEnabled&&!b;var v=f;r||(t.prevPxRatio!==u&&(t.invalidateContainerClientCoordsCache(),t.matchCanvasSize(t.container),t.redrawHint("eles",!0),t.redrawHint("drag",!0)),t.prevPxRatio=u),!r&&t.motionBlurTimeout&&clearTimeout(t.motionBlurTimeout),f&&(t.mbFrames==null&&(t.mbFrames=0),t.mbFrames++,t.mbFrames<3&&(v=!1),t.mbFrames>t.minMbLowQualFrames&&(t.motionBlurPxRatio=t.mbPxRBlurry)),t.clearingMotionBlur&&(t.motionBlurPxRatio=1),t.textureDrawLastFrame&&!h&&(d[t.NODE]=!0,d[t.SELECT_BOX]=!0);var m=n.style(),x=n.zoom(),w=o!==void 0?o:x,T=n.pan(),P={x:T.x,y:T.y},E={zoom:x,pan:{x:T.x,y:T.y}},k=t.prevViewport,_=k===void 0||E.zoom!==k.zoom||E.pan.x!==k.pan.x||E.pan.y!==k.pan.y;!_&&!(y&&!g)&&(t.motionBlurPxRatio=1),c&&(P=c),w*=u,P.x*=u,P.y*=u;var B=t.getCachedZSortedEles();function D(V,z,F,U,ne){var ie=V.globalCompositeOperation;V.globalCompositeOperation="destination-out",t.colorFillStyle(V,255,255,255,t.motionBlurTransparency),V.fillRect(z,F,U,ne),V.globalCompositeOperation=ie}l(D,"mbclear");function S(V,z){var F,U,ne,ie;!t.clearingMotionBlur&&(V===s.bufferContexts[t.MOTIONBLUR_BUFFER_NODE]||V===s.bufferContexts[t.MOTIONBLUR_BUFFER_DRAG])?(F={x:T.x*p,y:T.y*p},U=x*p,ne=t.canvasWidth*p,ie=t.canvasHeight*p):(F=P,U=w,ne=t.canvasWidth,ie=t.canvasHeight),V.setTransform(1,0,0,1,0,0),z==="motionBlur"?D(V,0,0,ne,ie):!r&&(z===void 0||z)&&V.clearRect(0,0,ne,ie),a||(V.translate(F.x,F.y),V.scale(U,U)),c&&V.translate(c.x,c.y),o&&V.scale(o,o)}if(l(S,"setContextTransform"),h||(t.textureDrawLastFrame=!1),h){if(t.textureDrawLastFrame=!0,!t.textureCache){t.textureCache={},t.textureCache.bb=n.mutableElements().boundingBox(),t.textureCache.texture=t.data.bufferCanvases[t.TEXTURE_BUFFER];var M=t.data.bufferContexts[t.TEXTURE_BUFFER];M.setTransform(1,0,0,1,0,0),M.clearRect(0,0,t.canvasWidth*t.textureMult,t.canvasHeight*t.textureMult),t.render({forcedContext:M,drawOnlyNodeLayer:!0,forcedPxRatio:u*t.textureMult});var E=t.textureCache.viewport={zoom:n.zoom(),pan:n.pan(),width:t.canvasWidth,height:t.canvasHeight};E.mpan={x:(0-E.pan.x)/E.zoom,y:(0-E.pan.y)/E.zoom}}d[t.DRAG]=!1,d[t.NODE]=!1;var A=s.contexts[t.NODE],O=t.textureCache.texture,E=t.textureCache.viewport;A.setTransform(1,0,0,1,0,0),f?D(A,0,0,E.width,E.height):A.clearRect(0,0,E.width,E.height);var R=m.core("outside-texture-bg-color").value,I=m.core("outside-texture-bg-opacity").value;t.colorFillStyle(A,R[0],R[1],R[2],I),A.fillRect(0,0,E.width,E.height);var x=n.zoom();S(A,!1),A.clearRect(E.mpan.x,E.mpan.y,E.width/E.zoom/u,E.height/E.zoom/u),A.drawImage(O,E.mpan.x,E.mpan.y,E.width/E.zoom/u,E.height/E.zoom/u)}else t.textureOnViewport&&!r&&(t.textureCache=null);var L=n.extent(),N=t.pinching||t.hoverData.dragging||t.swipePanning||t.data.wheelZooming||t.hoverData.draggingEles||t.cy.animated(),Y=t.hideEdgesOnViewport&&N,q=[];if(q[t.NODE]=!d[t.NODE]&&f&&!t.clearedForMotionBlur[t.NODE]||t.clearingMotionBlur,q[t.NODE]&&(t.clearedForMotionBlur[t.NODE]=!0),q[t.DRAG]=!d[t.DRAG]&&f&&!t.clearedForMotionBlur[t.DRAG]||t.clearingMotionBlur,q[t.DRAG]&&(t.clearedForMotionBlur[t.DRAG]=!0),d[t.NODE]||a||i||q[t.NODE]){var X=f&&!q[t.NODE]&&p!==1,A=r||(X?t.data.bufferContexts[t.MOTIONBLUR_BUFFER_NODE]:s.contexts[t.NODE]),K=f&&!X?"motionBlur":void 0;S(A,K),Y?t.drawCachedNodes(A,B.nondrag,u,L):t.drawLayeredElements(A,B.nondrag,u,L),t.debug&&t.drawDebugPoints(A,B.nondrag),!a&&!f&&(d[t.NODE]=!1)}if(!i&&(d[t.DRAG]||a||q[t.DRAG])){var X=f&&!q[t.DRAG]&&p!==1,A=r||(X?t.data.bufferContexts[t.MOTIONBLUR_BUFFER_DRAG]:s.contexts[t.DRAG]);S(A,f&&!X?"motionBlur":void 0),Y?t.drawCachedNodes(A,B.drag,u,L):t.drawCachedElements(A,B.drag,u,L),t.debug&&t.drawDebugPoints(A,B.drag),!a&&!f&&(d[t.DRAG]=!1)}if(this.drawSelectionRectangle(e,S),f&&p!==1){var J=s.contexts[t.NODE],Q=t.data.bufferCanvases[t.MOTIONBLUR_BUFFER_NODE],$=s.contexts[t.DRAG],ee=t.data.bufferCanvases[t.MOTIONBLUR_BUFFER_DRAG],ae=l(function(V,z,F){V.setTransform(1,0,0,1,0,0),F||!v?V.clearRect(0,0,t.canvasWidth,t.canvasHeight):D(V,0,0,t.canvasWidth,t.canvasHeight);var U=p;V.drawImage(z,0,0,t.canvasWidth*U,t.canvasHeight*U,0,0,t.canvasWidth,t.canvasHeight)},"drawMotionBlur");(d[t.NODE]||q[t.NODE])&&(ae(J,Q,q[t.NODE]),d[t.NODE]=!1),(d[t.DRAG]||q[t.DRAG])&&(ae($,ee,q[t.DRAG]),d[t.DRAG]=!1)}t.prevViewport=E,t.clearingMotionBlur&&(t.clearingMotionBlur=!1,t.motionBlurCleared=!0,t.motionBlur=!0),f&&(t.motionBlurTimeout=setTimeout(function(){t.motionBlurTimeout=null,t.clearedForMotionBlur[t.NODE]=!1,t.clearedForMotionBlur[t.DRAG]=!1,t.motionBlur=!1,t.clearingMotionBlur=!h,t.mbFrames=0,d[t.NODE]=!0,d[t.DRAG]=!0,t.redraw()},gm)),r||n.emit("render")};var vr;Et.drawSelectionRectangle=function(e,t){var n=this,r=n.cy,a=n.data,i=r.style(),o=e.drawOnlyNodeLayer,c=e.drawAllLayers,u=a.canvasNeedsRedraw,s=e.forcedContext;if(n.showFps||!o&&u[n.SELECT_BOX]&&!c){var d=s||a.contexts[n.SELECT_BOX];if(t(d),n.selection[4]==1&&(n.hoverData.selecting||n.touchData.selecting)){var h=n.cy.zoom(),f=i.core("selection-box-border-width").value/h;d.lineWidth=f,d.fillStyle="rgba("+i.core("selection-box-color").value[0]+","+i.core("selection-box-color").value[1]+","+i.core("selection-box-color").value[2]+","+i.core("selection-box-opacity").value+")",d.fillRect(n.selection[0],n.selection[1],n.selection[2]-n.selection[0],n.selection[3]-n.selection[1]),f>0&&(d.strokeStyle="rgba("+i.core("selection-box-border-color").value[0]+","+i.core("selection-box-border-color").value[1]+","+i.core("selection-box-border-color").value[2]+","+i.core("selection-box-opacity").value+")",d.strokeRect(n.selection[0],n.selection[1],n.selection[2]-n.selection[0],n.selection[3]-n.selection[1]))}if(a.bgActivePosistion&&!n.hoverData.selecting){var h=n.cy.zoom(),p=a.bgActivePosistion;d.fillStyle="rgba("+i.core("active-bg-color").value[0]+","+i.core("active-bg-color").value[1]+","+i.core("active-bg-color").value[2]+","+i.core("active-bg-opacity").value+")",d.beginPath(),d.arc(p.x,p.y,i.core("active-bg-size").pfValue/h,0,2*Math.PI),d.fill()}var g=n.lastRedrawTime;if(n.showFps&&g){g=Math.round(g);var y=Math.round(1e3/g),b="1 frame = "+g+" ms = "+y+" fps";if(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.font="30px Arial",!vr){var v=d.measureText(b);vr=v.actualBoundingBoxAscent}d.fillText(b,0,vr);var m=60;d.strokeRect(0,vr+10,250,20),d.fillRect(0,vr+10,250*Math.min(y/m,1),20)}c||(u[n.SELECT_BOX]=!1)}};function us(e,t,n){var r=e.createShader(t);if(e.shaderSource(r,n),e.compileShader(r),!e.getShaderParameter(r,e.COMPILE_STATUS))throw new Error(e.getShaderInfoLog(r));return r}l(us,"compileShader");function rf(e,t,n){var r=us(e,e.VERTEX_SHADER,t),a=us(e,e.FRAGMENT_SHADER,n),i=e.createProgram();if(e.attachShader(i,r),e.attachShader(i,a),e.linkProgram(i),!e.getProgramParameter(i,e.LINK_STATUS))throw new Error("Could not initialize shaders");return i}l(rf,"createProgram");function af(e,t,n){n===void 0&&(n=t);var r=e.makeOffscreenCanvas(t,n),a=r.context=r.getContext("2d");return r.clear=function(){return a.clearRect(0,0,r.width,r.height)},r.clear(),r}l(af,"createTextureCanvas");function ci(e){var t=e.pixelRatio,n=e.cy.zoom(),r=e.cy.pan();return{zoom:n*t,pan:{x:r.x*t,y:r.y*t}}}l(ci,"getEffectivePanZoom");function of(e){var t=e.pixelRatio,n=e.cy.zoom();return n*t}l(of,"getEffectiveZoom");function sf(e,t,n,r,a){var i=r*n+t.x,o=a*n+t.y;return o=Math.round(e.canvasHeight-o),[i,o]}l(sf,"modelToRenderedPosition");function lf(e){return e.pstyle("background-fill").value!=="solid"||e.pstyle("background-image").strValue!=="none"?!1:e.pstyle("border-width").value===0||e.pstyle("border-opacity").value===0?!0:e.pstyle("border-style").value==="solid"}l(lf,"isSimpleShape");function uf(e,t){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}l(uf,"arrayEqual");function rn(e,t,n){var r=e[0]/255,a=e[1]/255,i=e[2]/255,o=t,c=n||new Array(4);return c[0]=r*o,c[1]=a*o,c[2]=i*o,c[3]=o,c}l(rn,"toWebGLColor");function Dn(e,t){var n=t||new Array(4);return n[0]=(e>>0&255)/255,n[1]=(e>>8&255)/255,n[2]=(e>>16&255)/255,n[3]=(e>>24&255)/255,n}l(Dn,"indexToVec4");function cf(e){return e[0]+(e[1]<<8)+(e[2]<<16)+(e[3]<<24)}l(cf,"vec4ToIndex");function df(e,t){var n=e.createTexture();return n.buffer=function(r){e.bindTexture(e.TEXTURE_2D,n),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR_MIPMAP_NEAREST),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,r),e.generateMipmap(e.TEXTURE_2D),e.bindTexture(e.TEXTURE_2D,null)},n.deleteTexture=function(){e.deleteTexture(n)},n}l(df,"createTexture");function Js(e,t){switch(t){case"float":return[1,e.FLOAT,4];case"vec2":return[2,e.FLOAT,4];case"vec3":return[3,e.FLOAT,4];case"vec4":return[4,e.FLOAT,4];case"int":return[1,e.INT,4];case"ivec2":return[2,e.INT,4]}}l(Js,"getTypeInfo");function Qs(e,t,n){switch(t){case e.FLOAT:return new Float32Array(n);case e.INT:return new Int32Array(n)}}l(Qs,"createTypedArray");function hf(e,t,n,r,a,i){switch(t){case e.FLOAT:return new Float32Array(n.buffer,i*r,a);case e.INT:return new Int32Array(n.buffer,i*r,a)}}l(hf,"createTypedArrayView");function ff(e,t,n,r){var a=Js(e,t),i=Ue(a,2),o=i[0],c=i[1],u=Qs(e,c,r),s=e.createBuffer();return e.bindBuffer(e.ARRAY_BUFFER,s),e.bufferData(e.ARRAY_BUFFER,u,e.STATIC_DRAW),c===e.FLOAT?e.vertexAttribPointer(n,o,c,!1,0,0):c===e.INT&&e.vertexAttribIPointer(n,o,c,0,0),e.enableVertexAttribArray(n),e.bindBuffer(e.ARRAY_BUFFER,null),s}l(ff,"createBufferStaticDraw");function Rt(e,t,n,r){var a=Js(e,n),i=Ue(a,3),o=i[0],c=i[1],u=i[2],s=Qs(e,c,t*o),d=o*u,h=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,h),e.bufferData(e.ARRAY_BUFFER,t*d,e.DYNAMIC_DRAW),e.enableVertexAttribArray(r),c===e.FLOAT?e.vertexAttribPointer(r,o,c,!1,d,0):c===e.INT&&e.vertexAttribIPointer(r,o,c,d,0),e.vertexAttribDivisor(r,1),e.bindBuffer(e.ARRAY_BUFFER,null);for(var f=new Array(t),p=0;p<t;p++)f[p]=hf(e,c,s,d,o,p);return h.dataArray=s,h.stride=d,h.size=o,h.getView=function(g){return f[g]},h.setPoint=function(g,y,b){var v=f[g];v[0]=y,v[1]=b},h.bufferSubData=function(g){e.bindBuffer(e.ARRAY_BUFFER,h),g?e.bufferSubData(e.ARRAY_BUFFER,0,s,0,g*o):e.bufferSubData(e.ARRAY_BUFFER,0,s)},h}l(Rt,"createBufferDynamicDraw");function pf(e,t,n){for(var r=9,a=new Float32Array(t*r),i=new Array(t),o=0;o<t;o++){var c=o*r*4;i[o]=new Float32Array(a.buffer,c,r)}var u=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,u),e.bufferData(e.ARRAY_BUFFER,a.byteLength,e.DYNAMIC_DRAW);for(var s=0;s<3;s++){var d=n+s;e.enableVertexAttribArray(d),e.vertexAttribPointer(d,3,e.FLOAT,!1,36,s*12),e.vertexAttribDivisor(d,1)}return e.bindBuffer(e.ARRAY_BUFFER,null),u.getMatrixView=function(h){return i[h]},u.setData=function(h,f){i[f].set(h,0)},u.bufferSubData=function(){e.bindBuffer(e.ARRAY_BUFFER,u),e.bufferSubData(e.ARRAY_BUFFER,0,a)},u}l(pf,"create3x3MatrixBufferDynamicDraw");function gf(e){var t=e.createFramebuffer();e.bindFramebuffer(e.FRAMEBUFFER,t);var n=e.createTexture();return e.bindTexture(e.TEXTURE_2D,n),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,n,0),e.bindFramebuffer(e.FRAMEBUFFER,null),t.setFramebufferAttachmentSizes=function(r,a){e.bindTexture(e.TEXTURE_2D,n),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,r,a,0,e.RGBA,e.UNSIGNED_BYTE,null)},t}l(gf,"createPickingFrameBuffer");var Ec=typeof Float32Array<"u"?Float32Array:Array;Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)});function Aa(){var e=new Ec(9);return Ec!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}l(Aa,"create");function cs(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e}l(cs,"identity");function vf(e,t,n){var r=t[0],a=t[1],i=t[2],o=t[3],c=t[4],u=t[5],s=t[6],d=t[7],h=t[8],f=n[0],p=n[1],g=n[2],y=n[3],b=n[4],v=n[5],m=n[6],x=n[7],w=n[8];return e[0]=f*r+p*o+g*s,e[1]=f*a+p*c+g*d,e[2]=f*i+p*u+g*h,e[3]=y*r+b*o+v*s,e[4]=y*a+b*c+v*d,e[5]=y*i+b*u+v*h,e[6]=m*r+x*o+w*s,e[7]=m*a+x*c+w*d,e[8]=m*i+x*u+w*h,e}l(vf,"multiply");function Sr(e,t,n){var r=t[0],a=t[1],i=t[2],o=t[3],c=t[4],u=t[5],s=t[6],d=t[7],h=t[8],f=n[0],p=n[1];return e[0]=r,e[1]=a,e[2]=i,e[3]=o,e[4]=c,e[5]=u,e[6]=f*r+p*o+s,e[7]=f*a+p*c+d,e[8]=f*i+p*u+h,e}l(Sr,"translate");function ds(e,t,n){var r=t[0],a=t[1],i=t[2],o=t[3],c=t[4],u=t[5],s=t[6],d=t[7],h=t[8],f=Math.sin(n),p=Math.cos(n);return e[0]=p*r+f*o,e[1]=p*a+f*c,e[2]=p*i+f*u,e[3]=p*o-f*r,e[4]=p*c-f*a,e[5]=p*u-f*i,e[6]=s,e[7]=d,e[8]=h,e}l(ds,"rotate");function Wa(e,t,n){var r=n[0],a=n[1];return e[0]=r*t[0],e[1]=r*t[1],e[2]=r*t[2],e[3]=a*t[3],e[4]=a*t[4],e[5]=a*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}l(Wa,"scale");function yf(e,t,n){return e[0]=2/t,e[1]=0,e[2]=0,e[3]=0,e[4]=-2/n,e[5]=0,e[6]=-1,e[7]=1,e[8]=1,e}l(yf,"projection");var vm=(function(){function e(t,n,r,a){Zt(this,e),this.debugID=Math.floor(Math.random()*1e4),this.r=t,this.texSize=n,this.texRows=r,this.texHeight=Math.floor(n/r),this.enableWrapping=!0,this.locked=!1,this.texture=null,this.needsBuffer=!0,this.freePointer={x:0,row:0},this.keyToLocation=new Map,this.canvas=a(t,n,n),this.scratch=a(t,n,this.texHeight,"scratch")}return l(e,"Atlas"),$t(e,[{key:"lock",value:l(function(){this.locked=!0},"lock")},{key:"getKeys",value:l(function(){return new Set(this.keyToLocation.keys())},"getKeys")},{key:"getScale",value:l(function(t){var n=t.w,r=t.h,a=this.texHeight,i=this.texSize,o=a/r,c=n*o,u=r*o;return c>i&&(o=i/n,c=n*o,u=r*o),{scale:o,texW:c,texH:u}},"getScale")},{key:"draw",value:l(function(t,n,r){var a=this;if(this.locked)throw new Error("can't draw, atlas is locked");var i=this.texSize,o=this.texRows,c=this.texHeight,u=this.getScale(n),s=u.scale,d=u.texW,h=u.texH,f=l(function(v,m){if(r&&m){var x=m.context,w=v.x,T=v.row,P=w,E=c*T;x.save(),x.translate(P,E),x.scale(s,s),r(x,n),x.restore()}},"drawAt"),p=[null,null],g=l(function(){f(a.freePointer,a.canvas),p[0]={x:a.freePointer.x,y:a.freePointer.row*c,w:d,h},p[1]={x:a.freePointer.x+d,y:a.freePointer.row*c,w:0,h},a.freePointer.x+=d,a.freePointer.x==i&&(a.freePointer.x=0,a.freePointer.row++)},"drawNormal"),y=l(function(){var v=a.scratch,m=a.canvas;v.clear(),f({x:0,row:0},v);var x=i-a.freePointer.x,w=d-x,T=c;{var P=a.freePointer.x,E=a.freePointer.row*c,k=x;m.context.drawImage(v,0,0,k,T,P,E,k,T),p[0]={x:P,y:E,w:k,h}}{var _=x,B=(a.freePointer.row+1)*c,D=w;m&&m.context.drawImage(v,_,0,D,T,0,B,D,T),p[1]={x:0,y:B,w:D,h}}a.freePointer.x=w,a.freePointer.row++},"drawWrapped"),b=l(function(){a.freePointer.x=0,a.freePointer.row++},"moveToStartOfNextRow");if(this.freePointer.x+d<=i)g();else{if(this.freePointer.row>=o-1)return!1;this.freePointer.x===i?(b(),g()):this.enableWrapping?y():(b(),g())}return this.keyToLocation.set(t,p),this.needsBuffer=!0,p},"draw")},{key:"getOffsets",value:l(function(t){return this.keyToLocation.get(t)},"getOffsets")},{key:"isEmpty",value:l(function(){return this.freePointer.x===0&&this.freePointer.row===0},"isEmpty")},{key:"canFit",value:l(function(t){if(this.locked)return!1;var n=this.texSize,r=this.texRows,a=this.getScale(t),i=a.texW;return this.freePointer.x+i>n?this.freePointer.row<r-1:!0},"canFit")},{key:"bufferIfNeeded",value:l(function(t){this.texture||(this.texture=df(t,this.debugID)),this.needsBuffer&&(this.texture.buffer(this.canvas),this.needsBuffer=!1,this.locked&&(this.canvas=null,this.scratch=null))},"bufferIfNeeded")},{key:"dispose",value:l(function(){this.texture&&(this.texture.deleteTexture(),this.texture=null),this.canvas=null,this.scratch=null,this.locked=!0},"dispose")}])})(),ym=(function(){function e(t,n,r,a){Zt(this,e),this.r=t,this.texSize=n,this.texRows=r,this.createTextureCanvas=a,this.atlases=[],this.styleKeyToAtlas=new Map,this.markedKeys=new Set}return l(e,"AtlasCollection"),$t(e,[{key:"getKeys",value:l(function(){return new Set(this.styleKeyToAtlas.keys())},"getKeys")},{key:"_createAtlas",value:l(function(){var t=this.r,n=this.texSize,r=this.texRows,a=this.createTextureCanvas;return new vm(t,n,r,a)},"_createAtlas")},{key:"_getScratchCanvas",value:l(function(){if(!this.scratch){var t=this.r,n=this.texSize,r=this.texRows,a=this.createTextureCanvas,i=Math.floor(n/r);this.scratch=a(t,n,i,"scratch")}return this.scratch},"_getScratchCanvas")},{key:"draw",value:l(function(t,n,r){var a=this.styleKeyToAtlas.get(t);return a||(a=this.atlases[this.atlases.length-1],(!a||!a.canFit(n))&&(a&&a.lock(),a=this._createAtlas(),this.atlases.push(a)),a.draw(t,n,r),this.styleKeyToAtlas.set(t,a)),a},"draw")},{key:"getAtlas",value:l(function(t){return this.styleKeyToAtlas.get(t)},"getAtlas")},{key:"hasAtlas",value:l(function(t){return this.styleKeyToAtlas.has(t)},"hasAtlas")},{key:"markKeyForGC",value:l(function(t){this.markedKeys.add(t)},"markKeyForGC")},{key:"gc",value:l(function(){var t=this,n=this.markedKeys;if(n.size===0){console.log("nothing to garbage collect");return}var r=[],a=new Map,i=null,o=xt(this.atlases),c;try{var u=l(function(){var s=c.value,d=s.getKeys(),h=mf(n,d);if(h.size===0)return r.push(s),d.forEach(function(x){return a.set(x,s)}),1;i||(i=t._createAtlas(),r.push(i));var f=xt(d),p;try{for(f.s();!(p=f.n()).done;){var g=p.value;if(!h.has(g)){var y=s.getOffsets(g),b=Ue(y,2),v=b[0],m=b[1];i.canFit({w:v.w+m.w,h:v.h})||(i.lock(),i=t._createAtlas(),r.push(i)),s.canvas&&(t._copyTextureToNewAtlas(g,s,i),a.set(g,i))}}}catch(x){f.e(x)}finally{f.f()}s.dispose()},"_loop");for(o.s();!(c=o.n()).done;)u()}catch(s){o.e(s)}finally{o.f()}this.atlases=r,this.styleKeyToAtlas=a,this.markedKeys=new Set},"gc")},{key:"_copyTextureToNewAtlas",value:l(function(t,n,r){var a=n.getOffsets(t),i=Ue(a,2),o=i[0],c=i[1];if(c.w===0)r.draw(t,o,function(h){h.drawImage(n.canvas,o.x,o.y,o.w,o.h,0,0,o.w,o.h)});else{var u=this._getScratchCanvas();u.clear(),u.context.drawImage(n.canvas,o.x,o.y,o.w,o.h,0,0,o.w,o.h),u.context.drawImage(n.canvas,c.x,c.y,c.w,c.h,o.w,0,c.w,c.h);var s=o.w+c.w,d=o.h;r.draw(t,{w:s,h:d},function(h){h.drawImage(u,0,0,s,d,0,0,s,d)})}},"_copyTextureToNewAtlas")},{key:"getCounts",value:l(function(){return{keyCount:this.styleKeyToAtlas.size,atlasCount:new Set(this.styleKeyToAtlas.values()).size}},"getCounts")}])})();function mf(e,t){return e.intersection?e.intersection(t):new Set(Dr(e).filter(function(n){return t.has(n)}))}l(mf,"intersection");var mm=(function(){function e(t,n){Zt(this,e),this.r=t,this.globalOptions=n,this.atlasSize=n.webglTexSize,this.maxAtlasesPerBatch=n.webglTexPerBatch,this.renderTypes=new Map,this.collections=new Map,this.typeAndIdToKey=new Map}return l(e,"AtlasManager"),$t(e,[{key:"getAtlasSize",value:l(function(){return this.atlasSize},"getAtlasSize")},{key:"addAtlasCollection",value:l(function(t,n){var r=this.globalOptions,a=r.webglTexSize,i=r.createTextureCanvas,o=n.texRows,c=this._cacheScratchCanvas(i),u=new ym(this.r,a,o,c);this.collections.set(t,u)},"addAtlasCollection")},{key:"addRenderType",value:l(function(t,n){var r=n.collection;if(!this.collections.has(r))throw new Error("invalid atlas collection name '".concat(r,"'"));var a=this.collections.get(r),i=ve({type:t,atlasCollection:a},n);this.renderTypes.set(t,i)},"addRenderType")},{key:"getRenderTypeOpts",value:l(function(t){return this.renderTypes.get(t)},"getRenderTypeOpts")},{key:"getAtlasCollection",value:l(function(t){return this.collections.get(t)},"getAtlasCollection")},{key:"_cacheScratchCanvas",value:l(function(t){var n=-1,r=-1,a=null;return function(i,o,c,u){return u?((!a||o!=n||c!=r)&&(n=o,r=c,a=t(i,o,c)),a):t(i,o,c)}},"_cacheScratchCanvas")},{key:"_key",value:l(function(t,n){return"".concat(t,"-").concat(n)},"_key")},{key:"invalidate",value:l(function(t){var n=this,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=r.forceRedraw,i=a===void 0?!1:a,o=r.filterEle,c=o===void 0?function(){return!0}:o,u=r.filterType,s=u===void 0?function(){return!0}:u,d=!1,h=!1,f=xt(t),p;try{for(f.s();!(p=f.n()).done;){var g=p.value;if(c(g)){var y=xt(this.renderTypes.values()),b;try{var v=l(function(){var m=b.value,x=m.type;if(s(x)){var w=n.collections.get(m.collection),T=m.getKey(g),P=Array.isArray(T)?T:[T];if(i)P.forEach(function(B){return w.markKeyForGC(B)}),h=!0;else{var E=m.getID?m.getID(g):g.id(),k=n._key(x,E),_=n.typeAndIdToKey.get(k);_!==void 0&&!uf(P,_)&&(d=!0,n.typeAndIdToKey.delete(k),_.forEach(function(B){return w.markKeyForGC(B)}))}}},"_loop2");for(y.s();!(b=y.n()).done;)v()}catch(m){y.e(m)}finally{y.f()}}}}catch(m){f.e(m)}finally{f.f()}return h&&(this.gc(),d=!1),d},"invalidate")},{key:"gc",value:l(function(){var t=xt(this.collections.values()),n;try{for(t.s();!(n=t.n()).done;){var r=n.value;r.gc()}}catch(a){t.e(a)}finally{t.f()}},"gc")},{key:"getOrCreateAtlas",value:l(function(t,n,r,a){var i=this.renderTypes.get(n),o=this.collections.get(i.collection),c=!1,u=o.draw(a,r,function(h){i.drawClipped?(h.save(),h.beginPath(),h.rect(0,0,r.w,r.h),h.clip(),i.drawElement(h,t,r,!0,!0),h.restore()):i.drawElement(h,t,r,!0,!0),c=!0});if(c){var s=i.getID?i.getID(t):t.id(),d=this._key(n,s);this.typeAndIdToKey.has(d)?this.typeAndIdToKey.get(d).push(a):this.typeAndIdToKey.set(d,[a])}return u},"getOrCreateAtlas")},{key:"getAtlasInfo",value:l(function(t,n){var r=this,a=this.renderTypes.get(n),i=a.getKey(t),o=Array.isArray(i)?i:[i];return o.map(function(c){var u=a.getBoundingBox(t,c),s=r.getOrCreateAtlas(t,n,u,c),d=s.getOffsets(c),h=Ue(d,2),f=h[0],p=h[1];return{atlas:s,tex:f,tex1:f,tex2:p,bb:u}})},"getAtlasInfo")},{key:"getDebugInfo",value:l(function(){var t=[],n=xt(this.collections),r;try{for(n.s();!(r=n.n()).done;){var a=Ue(r.value,2),i=a[0],o=a[1],c=o.getCounts(),u=c.keyCount,s=c.atlasCount;t.push({type:i,keyCount:u,atlasCount:s})}}catch(d){n.e(d)}finally{n.f()}return t},"getDebugInfo")}])})(),bm=(function(){function e(t){Zt(this,e),this.globalOptions=t,this.atlasSize=t.webglTexSize,this.maxAtlasesPerBatch=t.webglTexPerBatch,this.batchAtlases=[]}return l(e,"AtlasBatchManager"),$t(e,[{key:"getMaxAtlasesPerBatch",value:l(function(){return this.maxAtlasesPerBatch},"getMaxAtlasesPerBatch")},{key:"getAtlasSize",value:l(function(){return this.atlasSize},"getAtlasSize")},{key:"getIndexArray",value:l(function(){return Array.from({length:this.maxAtlasesPerBatch},function(t,n){return n})},"getIndexArray")},{key:"startBatch",value:l(function(){this.batchAtlases=[]},"startBatch")},{key:"getAtlasCount",value:l(function(){return this.batchAtlases.length},"getAtlasCount")},{key:"getAtlases",value:l(function(){return this.batchAtlases},"getAtlases")},{key:"canAddToCurrentBatch",value:l(function(t){return this.batchAtlases.length===this.maxAtlasesPerBatch?this.batchAtlases.includes(t):!0},"canAddToCurrentBatch")},{key:"getAtlasIndexForBatch",value:l(function(t){var n=this.batchAtlases.indexOf(t);if(n<0){if(this.batchAtlases.length===this.maxAtlasesPerBatch)throw new Error("cannot add more atlases to batch");this.batchAtlases.push(t),n=this.batchAtlases.length-1}return n},"getAtlasIndexForBatch")}])})(),xm=`
float circleSD(vec2 p, float r) {
return distance(vec2(0), p) - r; // signed distance
}
`,wm=`
float rectangleSD(vec2 p, vec2 b) {
vec2 d = abs(p)-b;
return distance(vec2(0),max(d,0.0)) + min(max(d.x,d.y),0.0);
}
`,Em=`
float roundRectangleSD(vec2 p, vec2 b, vec4 cr) {
cr.xy = (p.x > 0.0) ? cr.xy : cr.zw;
cr.x = (p.y > 0.0) ? cr.x : cr.y;
vec2 q = abs(p) - b + cr.x;
return min(max(q.x, q.y), 0.0) + distance(vec2(0), max(q, 0.0)) - cr.x;
}
`,Cm=`
float ellipseSD(vec2 p, vec2 ab) {
p = abs( p ); // symmetry
// find root with Newton solver
vec2 q = ab*(p-ab);
float w = (q.x<q.y)? 1.570796327 : 0.0;
for( int i=0; i<5; i++ ) {
vec2 cs = vec2(cos(w),sin(w));
vec2 u = ab*vec2( cs.x,cs.y);
vec2 v = ab*vec2(-cs.y,cs.x);
w = w + dot(p-u,v)/(dot(p-u,u)+dot(v,v));
}
// compute final point and distance
float d = length(p-ab*vec2(cos(w),sin(w)));
// return signed distance
return (dot(p/ab,p/ab)>1.0) ? d : -d;
}
`,Pr={SCREEN:{name:"screen",screen:!0},PICKING:{name:"picking",picking:!0}},Ha={IGNORE:1,USE_BB:2},Ro=0,Cc=1,Tc=2,No=3,Xn=4,ma=5,yr=6,mr=7,Tm=(function(){function e(t,n,r){Zt(this,e),this.r=t,this.gl=n,this.maxInstances=r.webglBatchSize,this.atlasSize=r.webglTexSize,this.bgColor=r.bgColor,this.debug=r.webglDebug,this.batchDebugInfo=[],r.enableWrapping=!0,r.createTextureCanvas=af,this.atlasManager=new mm(t,r),this.batchManager=new bm(r),this.simpleShapeOptions=new Map,this.program=this._createShaderProgram(Pr.SCREEN),this.pickingProgram=this._createShaderProgram(Pr.PICKING),this.vao=this._createVAO()}return l(e,"ElementDrawingWebGL"),$t(e,[{key:"addAtlasCollection",value:l(function(t,n){this.atlasManager.addAtlasCollection(t,n)},"addAtlasCollection")},{key:"addTextureAtlasRenderType",value:l(function(t,n){this.atlasManager.addRenderType(t,n)},"addTextureAtlasRenderType")},{key:"addSimpleShapeRenderType",value:l(function(t,n){this.simpleShapeOptions.set(t,n)},"addSimpleShapeRenderType")},{key:"invalidate",value:l(function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=n.type,a=this.atlasManager;return r?a.invalidate(t,{filterType:l(function(i){return i===r},"filterType"),forceRedraw:!0}):a.invalidate(t)},"invalidate")},{key:"gc",value:l(function(){this.atlasManager.gc()},"gc")},{key:"_createShaderProgram",value:l(function(t){var n=this.gl,r=`#version 300 es
precision highp float;
uniform mat3 uPanZoomMatrix;
uniform int uAtlasSize;
// instanced
in vec2 aPosition; // a vertex from the unit square
in mat3 aTransform; // used to transform verticies, eg into a bounding box
in int aVertType; // the type of thing we are rendering
// the z-index that is output when using picking mode
in vec4 aIndex;
// For textures
in int aAtlasId; // which shader unit/atlas to use
in vec4 aTex; // x/y/w/h of texture in atlas
// for edges
in vec4 aPointAPointB;
in vec4 aPointCPointD;
in vec2 aLineWidth; // also used for node border width
// simple shapes
in vec4 aCornerRadius; // for round-rectangle [top-right, bottom-right, top-left, bottom-left]
in vec4 aColor; // also used for edges
in vec4 aBorderColor; // aLineWidth is used for border width
// output values passed to the fragment shader
out vec2 vTexCoord;
out vec4 vColor;
out vec2 vPosition;
// flat values are not interpolated
flat out int vAtlasId;
flat out int vVertType;
flat out vec2 vTopRight;
flat out vec2 vBotLeft;
flat out vec4 vCornerRadius;
flat out vec4 vBorderColor;
flat out vec2 vBorderWidth;
flat out vec4 vIndex;
void main(void) {
int vid = gl_VertexID;
vec2 position = aPosition; // TODO make this a vec3, simplifies some code below
if(aVertType == `.concat(Ro,`) {
float texX = aTex.x; // texture coordinates
float texY = aTex.y;
float texW = aTex.z;
float texH = aTex.w;
if(vid == 1 || vid == 2 || vid == 4) {
texX += texW;
}
if(vid == 2 || vid == 4 || vid == 5) {
texY += texH;
}
float d = float(uAtlasSize);
vTexCoord = vec2(texX / d, texY / d); // tex coords must be between 0 and 1
gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);
}
else if(aVertType == `).concat(Xn," || aVertType == ").concat(mr,`
|| aVertType == `).concat(ma," || aVertType == ").concat(yr,`) { // simple shapes
// the bounding box is needed by the fragment shader
vBotLeft = (aTransform * vec3(0, 0, 1)).xy; // flat
vTopRight = (aTransform * vec3(1, 1, 1)).xy; // flat
vPosition = (aTransform * vec3(position, 1)).xy; // will be interpolated
// calculations are done in the fragment shader, just pass these along
vColor = aColor;
vCornerRadius = aCornerRadius;
vBorderColor = aBorderColor;
vBorderWidth = aLineWidth;
gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);
}
else if(aVertType == `).concat(Cc,`) {
vec2 source = aPointAPointB.xy;
vec2 target = aPointAPointB.zw;
// adjust the geometry so that the line is centered on the edge
position.y = position.y - 0.5;
// stretch the unit square into a long skinny rectangle
vec2 xBasis = target - source;
vec2 yBasis = normalize(vec2(-xBasis.y, xBasis.x));
vec2 point = source + xBasis * position.x + yBasis * aLineWidth[0] * position.y;
gl_Position = vec4(uPanZoomMatrix * vec3(point, 1.0), 1.0);
vColor = aColor;
}
else if(aVertType == `).concat(Tc,`) {
vec2 pointA = aPointAPointB.xy;
vec2 pointB = aPointAPointB.zw;
vec2 pointC = aPointCPointD.xy;
vec2 pointD = aPointCPointD.zw;
// adjust the geometry so that the line is centered on the edge
position.y = position.y - 0.5;
vec2 p0, p1, p2, pos;
if(position.x == 0.0) { // The left side of the unit square
p0 = pointA;
p1 = pointB;
p2 = pointC;
pos = position;
} else { // The right side of the unit square, use same approach but flip the geometry upside down
p0 = pointD;
p1 = pointC;
p2 = pointB;
pos = vec2(0.0, -position.y);
}
vec2 p01 = p1 - p0;
vec2 p12 = p2 - p1;
vec2 p21 = p1 - p2;
// Find the normal vector.
vec2 tangent = normalize(normalize(p12) + normalize(p01));
vec2 normal = vec2(-tangent.y, tangent.x);
// Find the vector perpendicular to p0 -> p1.
vec2 p01Norm = normalize(vec2(-p01.y, p01.x));
// Determine the bend direction.
float sigma = sign(dot(p01 + p21, normal));
float width = aLineWidth[0];
if(sign(pos.y) == -sigma) {
// This is an intersecting vertex. Adjust the position so that there's no overlap.
vec2 point = 0.5 * width * normal * -sigma / dot(normal, p01Norm);
gl_Position = vec4(uPanZoomMatrix * vec3(p1 + point, 1.0), 1.0);
} else {
// This is a non-intersecting vertex. Treat it like a mitre join.
vec2 point = 0.5 * width * normal * sigma * dot(normal, p01Norm);
gl_Position = vec4(uPanZoomMatrix * vec3(p1 + point, 1.0), 1.0);
}
vColor = aColor;
}
else if(aVertType == `).concat(No,` && vid < 3) {
// massage the first triangle into an edge arrow
if(vid == 0)
position = vec2(-0.15, -0.3);
if(vid == 1)
position = vec2( 0.0, 0.0);
if(vid == 2)
position = vec2( 0.15, -0.3);
gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);
vColor = aColor;
}
else {
gl_Position = vec4(2.0, 0.0, 0.0, 1.0); // discard vertex by putting it outside webgl clip space
}
vAtlasId = aAtlasId;
vVertType = aVertType;
vIndex = aIndex;
}
`),a=this.batchManager.getIndexArray(),i=`#version 300 es
precision highp float;
// declare texture unit for each texture atlas in the batch
`.concat(a.map(function(u){return"uniform sampler2D uTexture".concat(u,";")}).join(`
`),`
uniform vec4 uBGColor;
uniform float uZoom;
in vec2 vTexCoord;
in vec4 vColor;
in vec2 vPosition; // model coordinates
flat in int vAtlasId;
flat in vec4 vIndex;
flat in int vVertType;
flat in vec2 vTopRight;
flat in vec2 vBotLeft;
flat in vec4 vCornerRadius;
flat in vec4 vBorderColor;
flat in vec2 vBorderWidth;
out vec4 outColor;
`).concat(xm,`
`).concat(wm,`
`).concat(Em,`
`).concat(Cm,`
vec4 blend(vec4 top, vec4 bot) { // blend colors with premultiplied alpha
return vec4(
top.rgb + (bot.rgb * (1.0 - top.a)),
top.a + (bot.a * (1.0 - top.a))
);
}
vec4 distInterp(vec4 cA, vec4 cB, float d) { // interpolate color using Signed Distance
// scale to the zoom level so that borders don't look blurry when zoomed in
// note 1.5 is an aribitrary value chosen because it looks good
return mix(cA, cB, 1.0 - smoothstep(0.0, 1.5 / uZoom, abs(d)));
}
void main(void) {
if(vVertType == `).concat(Ro,`) {
// look up the texel from the texture unit
`).concat(a.map(function(u){return"if(vAtlasId == ".concat(u,") outColor = texture(uTexture").concat(u,", vTexCoord);")}).join(`
else `),`
}
else if(vVertType == `).concat(No,`) {
// mimics how canvas renderer uses context.globalCompositeOperation = 'destination-out';
outColor = blend(vColor, uBGColor);
outColor.a = 1.0; // make opaque, masks out line under arrow
}
else if(vVertType == `).concat(Xn,` && vBorderWidth == vec2(0.0)) { // simple rectangle with no border
outColor = vColor; // unit square is already transformed to the rectangle, nothing else needs to be done
}
else if(vVertType == `).concat(Xn," || vVertType == ").concat(mr,`
|| vVertType == `).concat(ma," || vVertType == ").concat(yr,`) { // use SDF
float outerBorder = vBorderWidth[0];
float innerBorder = vBorderWidth[1];
float borderPadding = outerBorder * 2.0;
float w = vTopRight.x - vBotLeft.x - borderPadding;
float h = vTopRight.y - vBotLeft.y - borderPadding;
vec2 b = vec2(w/2.0, h/2.0); // half width, half height
vec2 p = vPosition - vec2(vTopRight.x - b[0] - outerBorder, vTopRight.y - b[1] - outerBorder); // translate to center
float d; // signed distance
if(vVertType == `).concat(Xn,`) {
d = rectangleSD(p, b);
} else if(vVertType == `).concat(mr,` && w == h) {
d = circleSD(p, b.x); // faster than ellipse
} else if(vVertType == `).concat(mr,`) {
d = ellipseSD(p, b);
} else {
d = roundRectangleSD(p, b, vCornerRadius.wzyx);
}
// use the distance to interpolate a color to smooth the edges of the shape, doesn't need multisampling
// we must smooth colors inwards, because we can't change pixels outside the shape's bounding box
if(d > 0.0) {
if(d > outerBorder) {
discard;
} else {
outColor = distInterp(vBorderColor, vec4(0), d - outerBorder);
}
} else {
if(d > innerBorder) {
vec4 outerColor = outerBorder == 0.0 ? vec4(0) : vBorderColor;
vec4 innerBorderColor = blend(vBorderColor, vColor);
outColor = distInterp(innerBorderColor, outerColor, d);
}
else {
vec4 outerColor;
if(innerBorder == 0.0 && outerBorder == 0.0) {
outerColor = vec4(0);
} else if(innerBorder == 0.0) {
outerColor = vBorderColor;
} else {
outerColor = blend(vBorderColor, vColor);
}
outColor = distInterp(vColor, outerColor, d - innerBorder);
}
}
}
else {
outColor = vColor;
}
`).concat(t.picking?`if(outColor.a == 0.0) discard;
else outColor = vIndex;`:"",`
}
`),o=rf(n,r,i);o.aPosition=n.getAttribLocation(o,"aPosition"),o.aIndex=n.getAttribLocation(o,"aIndex"),o.aVertType=n.getAttribLocation(o,"aVertType"),o.aTransform=n.getAttribLocation(o,"aTransform"),o.aAtlasId=n.getAttribLocation(o,"aAtlasId"),o.aTex=n.getAttribLocation(o,"aTex"),o.aPointAPointB=n.getAttribLocation(o,"aPointAPointB"),o.aPointCPointD=n.getAttribLocation(o,"aPointCPointD"),o.aLineWidth=n.getAttribLocation(o,"aLineWidth"),o.aColor=n.getAttribLocation(o,"aColor"),o.aCornerRadius=n.getAttribLocation(o,"aCornerRadius"),o.aBorderColor=n.getAttribLocation(o,"aBorderColor"),o.uPanZoomMatrix=n.getUniformLocation(o,"uPanZoomMatrix"),o.uAtlasSize=n.getUniformLocation(o,"uAtlasSize"),o.uBGColor=n.getUniformLocation(o,"uBGColor"),o.uZoom=n.getUniformLocation(o,"uZoom"),o.uTextures=[];for(var c=0;c<this.batchManager.getMaxAtlasesPerBatch();c++)o.uTextures.push(n.getUniformLocation(o,"uTexture".concat(c)));return o},"_createShaderProgram")},{key:"_createVAO",value:l(function(){var t=[0,0,1,0,1,1,0,0,1,1,0,1];this.vertexCount=t.length/2;var n=this.maxInstances,r=this.gl,a=this.program,i=r.createVertexArray();return r.bindVertexArray(i),ff(r,"vec2",a.aPosition,t),this.transformBuffer=pf(r,n,a.aTransform),this.indexBuffer=Rt(r,n,"vec4",a.aIndex),this.vertTypeBuffer=Rt(r,n,"int",a.aVertType),this.atlasIdBuffer=Rt(r,n,"int",a.aAtlasId),this.texBuffer=Rt(r,n,"vec4",a.aTex),this.pointAPointBBuffer=Rt(r,n,"vec4",a.aPointAPointB),this.pointCPointDBuffer=Rt(r,n,"vec4",a.aPointCPointD),this.lineWidthBuffer=Rt(r,n,"vec2",a.aLineWidth),this.colorBuffer=Rt(r,n,"vec4",a.aColor),this.cornerRadiusBuffer=Rt(r,n,"vec4",a.aCornerRadius),this.borderColorBuffer=Rt(r,n,"vec4",a.aBorderColor),r.bindVertexArray(null),i},"_createVAO")},{key:"buffers",get:l(function(){var t=this;return this._buffers||(this._buffers=Object.keys(this).filter(function(n){return on(n,"Buffer")}).map(function(n){return t[n]})),this._buffers},"get")},{key:"startFrame",value:l(function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Pr.SCREEN;this.panZoomMatrix=t,this.renderTarget=n,this.batchDebugInfo=[],this.wrappedCount=0,this.simpleCount=0,this.startBatch()},"startFrame")},{key:"startBatch",value:l(function(){this.instanceCount=0,this.batchManager.startBatch()},"startBatch")},{key:"endFrame",value:l(function(){this.endBatch()},"endFrame")},{key:"_isVisible",value:l(function(t,n){return t.visible()?n&&n.isVisible?n.isVisible(t):!0:!1},"_isVisible")},{key:"drawTexture",value:l(function(t,n,r){var a=this.atlasManager,i=this.batchManager,o=a.getRenderTypeOpts(r);if(this._isVisible(t,o)&&!(t.isEdge()&&!this._isValidEdge(t))){if(this.renderTarget.picking&&o.getTexPickingMode){var c=o.getTexPickingMode(t);if(c===Ha.IGNORE)return;if(c==Ha.USE_BB){this.drawPickingRectangle(t,n,r);return}}var u=a.getAtlasInfo(t,r),s=xt(u),d;try{for(s.s();!(d=s.n()).done;){var h=d.value,f=h.atlas,p=h.tex1,g=h.tex2;i.canAddToCurrentBatch(f)||this.endBatch();for(var y=i.getAtlasIndexForBatch(f),b=0,v=[[p,!0],[g,!1]];b<v.length;b++){var m=Ue(v[b],2),x=m[0],w=m[1];if(x.w!=0){var T=this.instanceCount;this.vertTypeBuffer.getView(T)[0]=Ro;var P=this.indexBuffer.getView(T);Dn(n,P);var E=this.atlasIdBuffer.getView(T);E[0]=y;var k=this.texBuffer.getView(T);k[0]=x.x,k[1]=x.y,k[2]=x.w,k[3]=x.h;var _=this.transformBuffer.getMatrixView(T);this.setTransformMatrix(t,_,o,h,w),this.instanceCount++,w||this.wrappedCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}}catch(B){s.e(B)}finally{s.f()}}},"drawTexture")},{key:"setTransformMatrix",value:l(function(t,n,r,a){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=0;if(r.shapeProps&&r.shapeProps.padding&&(o=t.pstyle(r.shapeProps.padding).pfValue),a){var c=a.bb,u=a.tex1,s=a.tex2,d=u.w/(u.w+s.w);i||(d=1-d);var h=this._getAdjustedBB(c,o,i,d);this._applyTransformMatrix(n,h,r,t)}else{var f=r.getBoundingBox(t),p=this._getAdjustedBB(f,o,!0,1);this._applyTransformMatrix(n,p,r,t)}},"setTransformMatrix")},{key:"_applyTransformMatrix",value:l(function(t,n,r,a){var i,o;cs(t);var c=r.getRotation?r.getRotation(a):0;if(c!==0){var u=r.getRotationPoint(a),s=u.x,d=u.y;Sr(t,t,[s,d]),ds(t,t,c);var h=r.getRotationOffset(a);i=h.x+(n.xOffset||0),o=h.y+(n.yOffset||0)}else i=n.x1,o=n.y1;Sr(t,t,[i,o]),Wa(t,t,[n.w,n.h])},"_applyTransformMatrix")},{key:"_getAdjustedBB",value:l(function(t,n,r,a){var i=t.x1,o=t.y1,c=t.w,u=t.h,s=t.yOffset;n&&(i-=n,o-=n,c+=2*n,u+=2*n);var d=0,h=c*a;return r&&a<1?c=h:!r&&a<1&&(d=c-h,i+=d,c=h),{x1:i,y1:o,w:c,h:u,xOffset:d,yOffset:s}},"_getAdjustedBB")},{key:"drawPickingRectangle",value:l(function(t,n,r){var a=this.atlasManager.getRenderTypeOpts(r),i=this.instanceCount;this.vertTypeBuffer.getView(i)[0]=Xn;var o=this.indexBuffer.getView(i);Dn(n,o);var c=this.colorBuffer.getView(i);rn([0,0,0],1,c);var u=this.transformBuffer.getMatrixView(i);this.setTransformMatrix(t,u,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()},"drawPickingRectangle")},{key:"drawNode",value:l(function(t,n,r){var a=this.simpleShapeOptions.get(r);if(this._isVisible(t,a)){var i=a.shapeProps,o=this._getVertTypeForShape(t,i.shape);if(o===void 0||a.isSimple&&!a.isSimple(t)){this.drawTexture(t,n,r);return}var c=this.instanceCount;if(this.vertTypeBuffer.getView(c)[0]=o,o===ma||o===yr){var u=a.getBoundingBox(t),s=this._getCornerRadius(t,i.radius,u),d=this.cornerRadiusBuffer.getView(c);d[0]=s,d[1]=s,d[2]=s,d[3]=s,o===yr&&(d[0]=0,d[2]=0)}var h=this.indexBuffer.getView(c);Dn(n,h);var f=t.pstyle(i.color).value,p=t.pstyle(i.opacity).value,g=this.colorBuffer.getView(c);rn(f,p,g);var y=this.lineWidthBuffer.getView(c);if(y[0]=0,y[1]=0,i.border){var b=t.pstyle("border-width").value;if(b>0){var v=t.pstyle("border-color").value,m=t.pstyle("border-opacity").value,x=this.borderColorBuffer.getView(c);rn(v,m,x);var w=t.pstyle("border-position").value;if(w==="inside")y[0]=0,y[1]=-b;else if(w==="outside")y[0]=b,y[1]=0;else{var T=b/2;y[0]=T,y[1]=-T}}}var P=this.transformBuffer.getMatrixView(c);this.setTransformMatrix(t,P,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}},"drawNode")},{key:"_getVertTypeForShape",value:l(function(t,n){var r=t.pstyle(n).value;switch(r){case"rectangle":return Xn;case"ellipse":return mr;case"roundrectangle":case"round-rectangle":return ma;case"bottom-round-rectangle":return yr;default:return}},"_getVertTypeForShape")},{key:"_getCornerRadius",value:l(function(t,n,r){var a=r.w,i=r.h;if(t.pstyle(n).value==="auto")return fn(a,i);var o=t.pstyle(n).pfValue,c=a/2,u=i/2;return Math.min(o,u,c)},"_getCornerRadius")},{key:"drawEdgeArrow",value:l(function(t,n,r){if(t.visible()){var a=t._private.rscratch,i,o,c;if(r==="source"?(i=a.arrowStartX,o=a.arrowStartY,c=a.srcArrowAngle):(i=a.arrowEndX,o=a.arrowEndY,c=a.tgtArrowAngle),!(isNaN(i)||i==null||isNaN(o)||o==null||isNaN(c)||c==null)){var u=t.pstyle(r+"-arrow-shape").value;if(u!=="none"){var s=t.pstyle(r+"-arrow-color").value,d=t.pstyle("opacity").value,h=t.pstyle("line-opacity").value,f=d*h,p=t.pstyle("width").pfValue,g=t.pstyle("arrow-scale").value,y=this.r.getArrowWidth(p,g),b=this.instanceCount,v=this.transformBuffer.getMatrixView(b);cs(v),Sr(v,v,[i,o]),Wa(v,v,[y,y]),ds(v,v,c),this.vertTypeBuffer.getView(b)[0]=No;var m=this.indexBuffer.getView(b);Dn(n,m);var x=this.colorBuffer.getView(b);rn(s,f,x),this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}},"drawEdgeArrow")},{key:"drawEdgeLine",value:l(function(t,n){if(t.visible()){var r=this._getEdgePoints(t);if(r){var a=t.pstyle("opacity").value,i=t.pstyle("line-opacity").value,o=t.pstyle("width").pfValue,c=t.pstyle("line-color").value,u=a*i;if(r.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),r.length==4){var s=this.instanceCount;this.vertTypeBuffer.getView(s)[0]=Cc;var d=this.indexBuffer.getView(s);Dn(n,d);var h=this.colorBuffer.getView(s);rn(c,u,h);var f=this.lineWidthBuffer.getView(s);f[0]=o;var p=this.pointAPointBBuffer.getView(s);p[0]=r[0],p[1]=r[1],p[2]=r[2],p[3]=r[3],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}else for(var g=0;g<r.length-2;g+=2){var y=this.instanceCount;this.vertTypeBuffer.getView(y)[0]=Tc;var b=this.indexBuffer.getView(y);Dn(n,b);var v=this.colorBuffer.getView(y);rn(c,u,v);var m=this.lineWidthBuffer.getView(y);m[0]=o;var x=r[g-2],w=r[g-1],T=r[g],P=r[g+1],E=r[g+2],k=r[g+3],_=r[g+4],B=r[g+5];g==0&&(x=2*T-E+.001,w=2*P-k+.001),g==r.length-4&&(_=2*E-T+.001,B=2*k-P+.001);var D=this.pointAPointBBuffer.getView(y);D[0]=x,D[1]=w,D[2]=T,D[3]=P;var S=this.pointCPointDBuffer.getView(y);S[0]=E,S[1]=k,S[2]=_,S[3]=B,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}},"drawEdgeLine")},{key:"_isValidEdge",value:l(function(t){var n=t._private.rscratch;return!(n.badLine||n.allpts==null||isNaN(n.allpts[0]))},"_isValidEdge")},{key:"_getEdgePoints",value:l(function(t){var n=t._private.rscratch;if(this._isValidEdge(t)){var r=n.allpts;if(r.length==4)return r;var a=this._getNumSegments(t);return this._getCurveSegmentPoints(r,a)}},"_getEdgePoints")},{key:"_getNumSegments",value:l(function(t){var n=15;return Math.min(Math.max(n,5),this.maxInstances)},"_getNumSegments")},{key:"_getCurveSegmentPoints",value:l(function(t,n){if(t.length==4)return t;for(var r=Array((n+1)*2),a=0;a<=n;a++)if(a==0)r[0]=t[0],r[1]=t[1];else if(a==n)r[a*2]=t[t.length-2],r[a*2+1]=t[t.length-1];else{var i=a/n;this._setCurvePoint(t,i,r,a*2)}return r},"_getCurveSegmentPoints")},{key:"_setCurvePoint",value:l(function(t,n,r,a){if(t.length<=2)r[a]=t[0],r[a+1]=t[1];else{for(var i=Array(t.length-2),o=0;o<i.length;o+=2){var c=(1-n)*t[o]+n*t[o+2],u=(1-n)*t[o+1]+n*t[o+3];i[o]=c,i[o+1]=u}return this._setCurvePoint(i,n,r,a)}},"_setCurvePoint")},{key:"endBatch",value:l(function(){var t=this.gl,n=this.vao,r=this.vertexCount,a=this.instanceCount;if(a!==0){var i=this.renderTarget.picking?this.pickingProgram:this.program;t.useProgram(i),t.bindVertexArray(n);var o=xt(this.buffers),c;try{for(o.s();!(c=o.n()).done;){var u=c.value;u.bufferSubData(a)}}catch(p){o.e(p)}finally{o.f()}for(var s=this.batchManager.getAtlases(),d=0;d<s.length;d++)s[d].bufferIfNeeded(t);for(var h=0;h<s.length;h++)t.activeTexture(t.TEXTURE0+h),t.bindTexture(t.TEXTURE_2D,s[h].texture),t.uniform1i(i.uTextures[h],h);t.uniform1f(i.uZoom,of(this.r)),t.uniformMatrix3fv(i.uPanZoomMatrix,!1,this.panZoomMatrix),t.uniform1i(i.uAtlasSize,this.batchManager.getAtlasSize());var f=rn(this.bgColor,1);t.uniform4fv(i.uBGColor,f),t.drawArraysInstanced(t.TRIANGLES,0,r,a),t.bindVertexArray(null),t.bindTexture(t.TEXTURE_2D,null),this.debug&&this.batchDebugInfo.push({count:a,atlasCount:s.length}),this.startBatch()}},"endBatch")},{key:"getDebugInfo",value:l(function(){var t=this.atlasManager.getDebugInfo(),n=t.reduce(function(i,o){return i+o.atlasCount},0),r=this.batchDebugInfo,a=r.reduce(function(i,o){return i+o.count},0);return{atlasInfo:t,totalAtlases:n,wrappedCount:this.wrappedCount,simpleCount:this.simpleCount,batchCount:r.length,batchInfo:r,totalInstances:a}},"getDebugInfo")}])})(),bf={};bf.initWebgl=function(e,t){var n=this,r=n.data.contexts[n.WEBGL];e.bgColor=xf(n),e.webglTexSize=Math.min(e.webglTexSize,r.getParameter(r.MAX_TEXTURE_SIZE)),e.webglTexRows=Math.min(e.webglTexRows,54),e.webglTexRowsNodes=Math.min(e.webglTexRowsNodes,54),e.webglBatchSize=Math.min(e.webglBatchSize,16384),e.webglTexPerBatch=Math.min(e.webglTexPerBatch,r.getParameter(r.MAX_TEXTURE_IMAGE_UNITS)),n.webglDebug=e.webglDebug,n.webglDebugShowAtlases=e.webglDebugShowAtlases,n.pickingFrameBuffer=gf(r),n.pickingFrameBuffer.needsDraw=!0,n.drawing=new Tm(n,r,e);var a=l(function(d){return function(h){return n.getTextAngle(h,d)}},"getLabelRotation"),i=l(function(d){return function(h){var f=h.pstyle(d);return f&&f.value}},"isLabelVisible"),o=l(function(d){return function(h){return h.pstyle("".concat(d,"-opacity")).value>0}},"isLayerVisible"),c=l(function(d){var h=d.pstyle("text-events").strValue==="yes";return h?Ha.USE_BB:Ha.IGNORE},"getTexPickingMode"),u=l(function(d){var h=d.position(),f=h.x,p=h.y,g=d.outerWidth(),y=d.outerHeight();return{w:g,h:y,x1:f-g/2,y1:p-y/2}},"getBBForSimpleShape");n.drawing.addAtlasCollection("node",{texRows:e.webglTexRowsNodes}),n.drawing.addAtlasCollection("label",{texRows:e.webglTexRows}),n.drawing.addTextureAtlasRenderType("node-body",{collection:"node",getKey:t.getStyleKey,getBoundingBox:t.getElementBox,drawElement:t.drawElement}),n.drawing.addSimpleShapeRenderType("node-body",{getBoundingBox:u,isSimple:lf,shapeProps:{shape:"shape",color:"background-color",opacity:"background-opacity",radius:"corner-radius",border:!0}}),n.drawing.addSimpleShapeRenderType("node-overlay",{getBoundingBox:u,isVisible:o("overlay"),shapeProps:{shape:"overlay-shape",color:"overlay-color",opacity:"overlay-opacity",padding:"overlay-padding",radius:"overlay-corner-radius"}}),n.drawing.addSimpleShapeRenderType("node-underlay",{getBoundingBox:u,isVisible:o("underlay"),shapeProps:{shape:"underlay-shape",color:"underlay-color",opacity:"underlay-opacity",padding:"underlay-padding",radius:"underlay-corner-radius"}}),n.drawing.addTextureAtlasRenderType("label",{collection:"label",getTexPickingMode:c,getKey:Lo(t.getLabelKey,null),getBoundingBox:Oo(t.getLabelBox,null),drawClipped:!0,drawElement:t.drawLabel,getRotation:a(null),getRotationPoint:t.getLabelRotationPoint,getRotationOffset:t.getLabelRotationOffset,isVisible:i("label")}),n.drawing.addTextureAtlasRenderType("edge-source-label",{collection:"label",getTexPickingMode:c,getKey:Lo(t.getSourceLabelKey,"source"),getBoundingBox:Oo(t.getSourceLabelBox,"source"),drawClipped:!0,drawElement:t.drawSourceLabel,getRotation:a("source"),getRotationPoint:t.getSourceLabelRotationPoint,getRotationOffset:t.getSourceLabelRotationOffset,isVisible:i("source-label")}),n.drawing.addTextureAtlasRenderType("edge-target-label",{collection:"label",getTexPickingMode:c,getKey:Lo(t.getTargetLabelKey,"target"),getBoundingBox:Oo(t.getTargetLabelBox,"target"),drawClipped:!0,drawElement:t.drawTargetLabel,getRotation:a("target"),getRotationPoint:t.getTargetLabelRotationPoint,getRotationOffset:t.getTargetLabelRotationOffset,isVisible:i("target-label")});var s=qr(function(){console.log("garbage collect flag set"),n.data.gc=!0},1e4);n.onUpdateEleCalcs(function(d,h){var f=!1;h&&h.length>0&&(f|=n.drawing.invalidate(h)),f&&s()}),wf(n)};function xf(e){var t=e.cy.container(),n=t&&t.style&&t.style.backgroundColor||"white";return Vc(n)}l(xf,"getBGColor");function el(e,t){var n=e._private.rscratch;return St(n,"labelWrapCachedLines",t)||[]}l(el,"getLabelLines");var Lo=l(function(e,t){return function(n){var r=e(n),a=el(n,t);return a.length>1?a.map(function(i,o){return"".concat(r,"_").concat(o)}):r}},"getStyleKeysForLabel"),Oo=l(function(e,t){return function(n,r){var a=e(n);if(typeof r=="string"){var i=r.indexOf("_");if(i>0){var o=Number(r.substring(i+1)),c=el(n,t),u=a.h/c.length,s=u*o,d=a.y1+s;return{x1:a.x1,w:a.w,y1:d,h:u,yOffset:s}}}return a}},"getBoundingBoxForLabel");function wf(e){{var t=e.render;e.render=function(i){i=i||{};var o=e.cy;e.webgl&&(o.zoom()>Kh?(Ef(e),t.call(e,i)):(Cf(e),nl(e,i,Pr.SCREEN)))}}{var n=e.matchCanvasSize;e.matchCanvasSize=function(i){n.call(e,i),e.pickingFrameBuffer.setFramebufferAttachmentSizes(e.canvasWidth,e.canvasHeight),e.pickingFrameBuffer.needsDraw=!0}}e.findNearestElements=function(i,o,c,u){return _f(e,i,o)};{var r=e.invalidateCachedZSortedEles;e.invalidateCachedZSortedEles=function(){r.call(e),e.pickingFrameBuffer.needsDraw=!0}}{var a=e.notify;e.notify=function(i,o){a.call(e,i,o),i==="viewport"||i==="bounds"?e.pickingFrameBuffer.needsDraw=!0:i==="background"&&e.drawing.invalidate(o,{type:"node-body"})}}}l(wf,"overrideCanvasRendererFunctions");function Ef(e){var t=e.data.contexts[e.WEBGL];t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)}l(Ef,"clearWebgl");function Cf(e){var t=l(function(n){n.save(),n.setTransform(1,0,0,1,0,0),n.clearRect(0,0,e.canvasWidth,e.canvasHeight),n.restore()},"clear");t(e.data.contexts[e.NODE]),t(e.data.contexts[e.DRAG])}l(Cf,"clearCanvas");function Tf(e){var t=e.canvasWidth,n=e.canvasHeight,r=ci(e),a=r.pan,i=r.zoom,o=Aa();Sr(o,o,[a.x,a.y]),Wa(o,o,[i,i]);var c=Aa();yf(c,t,n);var u=Aa();return vf(u,c,o),u}l(Tf,"createPanZoomMatrix");function tl(e,t){var n=e.canvasWidth,r=e.canvasHeight,a=ci(e),i=a.pan,o=a.zoom;t.setTransform(1,0,0,1,0,0),t.clearRect(0,0,n,r),t.translate(i.x,i.y),t.scale(o,o)}l(tl,"setContextTransform");function Sf(e,t){e.drawSelectionRectangle(t,function(n){return tl(e,n)})}l(Sf,"drawSelectionRectangle");function Pf(e){var t=e.data.contexts[e.NODE];t.save(),tl(e,t),t.strokeStyle="rgba(0, 0, 0, 0.3)",t.beginPath(),t.moveTo(-1e3,0),t.lineTo(1e3,0),t.stroke(),t.beginPath(),t.moveTo(0,-1e3),t.lineTo(0,1e3),t.stroke(),t.restore()}l(Pf,"drawAxes");function Df(e){var t=l(function(r,a,i){for(var o=r.atlasManager.getAtlasCollection(a),c=e.data.contexts[e.NODE],u=o.atlases,s=0;s<u.length;s++){var d=u[s],h=d.canvas;if(h){var f=h.width,p=h.height,g=f*s,y=h.height*i,b=.4;c.save(),c.scale(b,b),c.drawImage(h,g,y),c.strokeStyle="black",c.rect(g,y,f,p),c.stroke(),c.restore()}}},"draw"),n=0;t(e.drawing,"node",n++),t(e.drawing,"label",n++)}l(Df,"drawAtlases");function kf(e,t,n,r,a){var i,o,c,u,s=ci(e),d=s.pan,h=s.zoom;{var f=sf(e,d,h,t,n),p=Ue(f,2),g=p[0],y=p[1],b=6;i=g-b/2,o=y-b/2,c=b,u=b}if(c===0||u===0)return[];var v=e.data.contexts[e.WEBGL];v.bindFramebuffer(v.FRAMEBUFFER,e.pickingFrameBuffer),e.pickingFrameBuffer.needsDraw&&(v.viewport(0,0,v.canvas.width,v.canvas.height),nl(e,null,Pr.PICKING),e.pickingFrameBuffer.needsDraw=!1);var m=c*u,x=new Uint8Array(m*4);v.readPixels(i,o,c,u,v.RGBA,v.UNSIGNED_BYTE,x),v.bindFramebuffer(v.FRAMEBUFFER,null);for(var w=new Set,T=0;T<m;T++){var P=x.slice(T*4,T*4+4),E=cf(P)-1;E>=0&&w.add(E)}return w}l(kf,"getPickingIndexes");function _f(e,t,n){var r=kf(e,t,n),a=e.getCachedZSortedEles(),i,o,c=xt(r),u;try{for(c.s();!(u=c.n()).done;){var s=u.value,d=a[s];if(!i&&d.isNode()&&(i=d),!o&&d.isEdge()&&(o=d),i&&o)break}}catch(h){c.e(h)}finally{c.f()}return[i,o].filter(Boolean)}l(_f,"findNearestElementsWebgl");function Ma(e,t,n){var r=e.drawing;t+=1,n.isNode()?(r.drawNode(n,t,"node-underlay"),r.drawNode(n,t,"node-body"),r.drawTexture(n,t,"label"),r.drawNode(n,t,"node-overlay")):(r.drawEdgeLine(n,t),r.drawEdgeArrow(n,t,"source"),r.drawEdgeArrow(n,t,"target"),r.drawTexture(n,t,"label"),r.drawTexture(n,t,"edge-source-label"),r.drawTexture(n,t,"edge-target-label"))}l(Ma,"drawEle");function nl(e,t,n){var r;e.webglDebug&&(r=performance.now());var a=e.drawing,i=0;if(n.screen&&e.data.canvasNeedsRedraw[e.SELECT_BOX]&&Sf(e,t),e.data.canvasNeedsRedraw[e.NODE]||n.picking){var o=e.data.contexts[e.WEBGL];n.screen?(o.clearColor(0,0,0,0),o.enable(o.BLEND),o.blendFunc(o.ONE,o.ONE_MINUS_SRC_ALPHA)):o.disable(o.BLEND),o.clear(o.COLOR_BUFFER_BIT|o.DEPTH_BUFFER_BIT),o.viewport(0,0,o.canvas.width,o.canvas.height);var c=Tf(e),u=e.getCachedZSortedEles();if(i=u.length,a.startFrame(c,n),n.screen){for(var s=0;s<u.nondrag.length;s++)Ma(e,s,u.nondrag[s]);for(var d=0;d<u.drag.length;d++)Ma(e,d,u.drag[d])}else if(n.picking)for(var h=0;h<u.length;h++)Ma(e,h,u[h]);a.endFrame(),n.screen&&e.webglDebugShowAtlases&&(Pf(e),Df(e)),e.data.canvasNeedsRedraw[e.NODE]=!1,e.data.canvasNeedsRedraw[e.DRAG]=!1}if(e.webglDebug){var f=performance.now(),p=!1,g=Math.ceil(f-r),y=a.getDebugInfo(),b=["".concat(i," elements"),"".concat(y.totalInstances," instances"),"".concat(y.batchCount," batches"),"".concat(y.totalAtlases," atlases"),"".concat(y.wrappedCount," wrapped textures"),"".concat(y.simpleCount," simple shapes")].join(", ");if(p)console.log("WebGL (".concat(n.name,") - time ").concat(g,"ms, ").concat(b));else{console.log("WebGL (".concat(n.name,") - frame time ").concat(g,"ms")),console.log("Totals:"),console.log(" ".concat(b)),console.log("Texture Atlases Used:");var v=y.atlasInfo,m=xt(v),x;try{for(m.s();!(x=m.n()).done;){var w=x.value;console.log(" ".concat(w.type,": ").concat(w.keyCount," keys, ").concat(w.atlasCount," atlases"))}}catch(T){m.e(T)}finally{m.f()}console.log("")}}e.data.gc&&(console.log("Garbage Collect!"),e.data.gc=!1,a.gc())}l(nl,"renderWebgl");var bn={};bn.drawPolygonPath=function(e,t,n,r,a,i){var o=r/2,c=a/2;e.beginPath&&e.beginPath(),e.moveTo(t+o*i[0],n+c*i[1]);for(var u=1;u<i.length/2;u++)e.lineTo(t+o*i[u*2],n+c*i[u*2+1]);e.closePath()};bn.drawRoundPolygonPath=function(e,t,n,r,a,i,o){o.forEach(function(c){return Gs(e,c)}),e.closePath()};bn.drawRoundRectanglePath=function(e,t,n,r,a,i){var o=r/2,c=a/2,u=i==="auto"?fn(r,a):Math.min(i,c,o);e.beginPath&&e.beginPath(),e.moveTo(t,n-c),e.arcTo(t+o,n-c,t+o,n,u),e.arcTo(t+o,n+c,t,n+c,u),e.arcTo(t-o,n+c,t-o,n,u),e.arcTo(t-o,n-c,t,n-c,u),e.lineTo(t,n-c),e.closePath()};bn.drawBottomRoundRectanglePath=function(e,t,n,r,a,i){var o=r/2,c=a/2,u=i==="auto"?fn(r,a):i;e.beginPath&&e.beginPath(),e.moveTo(t,n-c),e.lineTo(t+o,n-c),e.lineTo(t+o,n),e.arcTo(t+o,n+c,t,n+c,u),e.arcTo(t-o,n+c,t-o,n,u),e.lineTo(t-o,n-c),e.lineTo(t,n-c),e.closePath()};bn.drawCutRectanglePath=function(e,t,n,r,a,i,o){var c=r/2,u=a/2,s=o==="auto"?Ds():o;e.beginPath&&e.beginPath(),e.moveTo(t-c+s,n-u),e.lineTo(t+c-s,n-u),e.lineTo(t+c,n-u+s),e.lineTo(t+c,n+u-s),e.lineTo(t+c-s,n+u),e.lineTo(t-c+s,n+u),e.lineTo(t-c,n+u-s),e.lineTo(t-c,n-u+s),e.closePath()};bn.drawBarrelPath=function(e,t,n,r,a){var i=r/2,o=a/2,c=t-i,u=t+i,s=n-o,d=n+o,h=Vo(r,a),f=h.widthOffset,p=h.heightOffset,g=h.ctrlPtOffsetPct*f;e.beginPath&&e.beginPath(),e.moveTo(c,s+p),e.lineTo(c,d-p),e.quadraticCurveTo(c+g,d,c+f,d),e.lineTo(u-f,d),e.quadraticCurveTo(u-g,d,u,d-p),e.lineTo(u,s+p),e.quadraticCurveTo(u-g,s,u-f,s),e.lineTo(c+f,s),e.quadraticCurveTo(c+g,s,c,s+p),e.closePath()};var Sc=Math.sin(0),Pc=Math.cos(0),hs={},fs={},Bf=Math.PI/40;for(En=0*Math.PI;En<2*Math.PI;En+=Bf)hs[En]=Math.sin(En),fs[En]=Math.cos(En);var En;bn.drawEllipsePath=function(e,t,n,r,a){if(e.beginPath&&e.beginPath(),e.ellipse)e.ellipse(t,n,r/2,a/2,0,0,2*Math.PI);else for(var i,o,c=r/2,u=a/2,s=0*Math.PI;s<2*Math.PI;s+=Bf)i=t-c*hs[s]*Sc+c*fs[s]*Pc,o=n+u*fs[s]*Sc+u*hs[s]*Pc,s===0?e.moveTo(i,o):e.lineTo(i,o);e.closePath()};var na={};na.createBuffer=function(e,t){var n=document.createElement("canvas");return n.width=e,n.height=t,[n,n.getContext("2d")]};na.bufferCanvasImage=function(e){var t=this.cy,n=t.mutableElements(),r=n.boundingBox(),a=this.findContainerClientCoords(),i=e.full?Math.ceil(r.w):a[2],o=e.full?Math.ceil(r.h):a[3],c=re(e.maxWidth)||re(e.maxHeight),u=this.getPixelRatio(),s=1;if(e.scale!==void 0)i*=e.scale,o*=e.scale,s=e.scale;else if(c){var d=1/0,h=1/0;re(e.maxWidth)&&(d=s*e.maxWidth/i),re(e.maxHeight)&&(h=s*e.maxHeight/o),s=Math.min(d,h),i*=s,o*=s}c||(i*=u,o*=u,s*=u);var f=document.createElement("canvas");f.width=i,f.height=o,f.style.width=i+"px",f.style.height=o+"px";var p=f.getContext("2d");if(i>0&&o>0){p.clearRect(0,0,i,o),p.globalCompositeOperation="source-over";var g=this.getCachedZSortedEles();if(e.full)p.translate(-r.x1*s,-r.y1*s),p.scale(s,s),this.drawElements(p,g),p.scale(1/s,1/s),p.translate(r.x1*s,r.y1*s);else{var y=t.pan(),b={x:y.x*s,y:y.y*s};s*=t.zoom(),p.translate(b.x,b.y),p.scale(s,s),this.drawElements(p,g),p.scale(1/s,1/s),p.translate(-b.x,-b.y)}e.bg&&(p.globalCompositeOperation="destination-over",p.fillStyle=e.bg,p.rect(0,0,i,o),p.fill())}return f};function Af(e,t){for(var n=atob(e),r=new ArrayBuffer(n.length),a=new Uint8Array(r),i=0;i<n.length;i++)a[i]=n.charCodeAt(i);return new Blob([r],{type:t})}l(Af,"b64ToBlob");function ps(e){var t=e.indexOf(",");return e.substr(t+1)}l(ps,"b64UriToB64");function rl(e,t,n){var r=l(function(){return t.toDataURL(n,e.quality)},"getB64Uri");switch(e.output){case"blob-promise":return new lr(function(a,i){try{t.toBlob(function(o){o!=null?a(o):i(new Error("`canvas.toBlob()` sent a null value in its callback"))},n,e.quality)}catch(o){i(o)}});case"blob":return Af(ps(r()),n);case"base64":return ps(r());case"base64uri":default:return r()}}l(rl,"output");na.png=function(e){return rl(e,this.bufferCanvasImage(e),"image/png")};na.jpg=function(e){return rl(e,this.bufferCanvasImage(e),"image/jpeg")};var Mf={};Mf.nodeShapeImpl=function(e,t,n,r,a,i,o,c){switch(e){case"ellipse":return this.drawEllipsePath(t,n,r,a,i);case"polygon":return this.drawPolygonPath(t,n,r,a,i,o);case"round-polygon":return this.drawRoundPolygonPath(t,n,r,a,i,o,c);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(t,n,r,a,i,c);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(t,n,r,a,i,o,c);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(t,n,r,a,i,c);case"barrel":return this.drawBarrelPath(t,n,r,a,i)}};var Sm=al,Pe=al.prototype;Pe.CANVAS_LAYERS=3;Pe.SELECT_BOX=0;Pe.DRAG=1;Pe.NODE=2;Pe.WEBGL=3;Pe.CANVAS_TYPES=["2d","2d","2d","webgl2"];Pe.BUFFER_COUNT=3;Pe.TEXTURE_BUFFER=0;Pe.MOTIONBLUR_BUFFER_NODE=1;Pe.MOTIONBLUR_BUFFER_DRAG=2;function al(e){var t=this,n=t.cy.window(),r=n.document;e.webgl&&(Pe.CANVAS_LAYERS=t.CANVAS_LAYERS=4,console.log("webgl rendering enabled")),t.data={canvases:new Array(Pe.CANVAS_LAYERS),contexts:new Array(Pe.CANVAS_LAYERS),canvasNeedsRedraw:new Array(Pe.CANVAS_LAYERS),bufferCanvases:new Array(Pe.BUFFER_COUNT),bufferContexts:new Array(Pe.CANVAS_LAYERS)};var a="-webkit-tap-highlight-color",i="rgba(0,0,0,0)";t.data.canvasContainer=r.createElement("div");var o=t.data.canvasContainer.style;t.data.canvasContainer.style[a]=i,o.position="relative",o.zIndex="0",o.overflow="hidden";var c=e.cy.container();c.appendChild(t.data.canvasContainer),c.style[a]=i;var u={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};np()&&(u["-ms-touch-action"]="none",u["touch-action"]="none");for(var s=0;s<Pe.CANVAS_LAYERS;s++){var d=t.data.canvases[s]=r.createElement("canvas"),h=Pe.CANVAS_TYPES[s];t.data.contexts[s]=d.getContext(h),t.data.contexts[s]||We("Could not create canvas of type "+h),Object.keys(u).forEach(function(V){d.style[V]=u[V]}),d.style.position="absolute",d.setAttribute("data-id","layer"+s),d.style.zIndex=String(Pe.CANVAS_LAYERS-s),t.data.canvasContainer.appendChild(d),t.data.canvasNeedsRedraw[s]=!1}t.data.topCanvas=t.data.canvases[0],t.data.canvases[Pe.NODE].setAttribute("data-id","layer"+Pe.NODE+"-node"),t.data.canvases[Pe.SELECT_BOX].setAttribute("data-id","layer"+Pe.SELECT_BOX+"-selectbox"),t.data.canvases[Pe.DRAG].setAttribute("data-id","layer"+Pe.DRAG+"-drag"),t.data.canvases[Pe.WEBGL]&&t.data.canvases[Pe.WEBGL].setAttribute("data-id","layer"+Pe.WEBGL+"-webgl");for(var s=0;s<Pe.BUFFER_COUNT;s++)t.data.bufferCanvases[s]=r.createElement("canvas"),t.data.bufferContexts[s]=t.data.bufferCanvases[s].getContext("2d"),t.data.bufferCanvases[s].style.position="absolute",t.data.bufferCanvases[s].setAttribute("data-id","buffer"+s),t.data.bufferCanvases[s].style.zIndex=String(-s-1),t.data.bufferCanvases[s].style.visibility="hidden";t.pathsEnabled=!0;var f=wt(),p=l(function(V){return{x:(V.x1+V.x2)/2,y:(V.y1+V.y2)/2}},"getBoxCenter"),g=l(function(V){return{x:-V.w/2,y:-V.h/2}},"getCenterOffset"),y=l(function(V){var z=V[0]._private,F=z.oldBackgroundTimestamp===z.backgroundTimestamp;return!F},"backgroundTimestampHasChanged"),b=l(function(V){return V[0]._private.nodeKey},"getStyleKey"),v=l(function(V){return V[0]._private.labelStyleKey},"getLabelKey"),m=l(function(V){return V[0]._private.sourceLabelStyleKey},"getSourceLabelKey"),x=l(function(V){return V[0]._private.targetLabelStyleKey},"getTargetLabelKey"),w=l(function(V,z,F,U,ne){return t.drawElement(V,z,F,!1,!1,ne)},"drawElement"),T=l(function(V,z,F,U,ne){return t.drawElementText(V,z,F,U,"main",ne)},"drawLabel"),P=l(function(V,z,F,U,ne){return t.drawElementText(V,z,F,U,"source",ne)},"drawSourceLabel"),E=l(function(V,z,F,U,ne){return t.drawElementText(V,z,F,U,"target",ne)},"drawTargetLabel"),k=l(function(V){return V.boundingBox(),V[0]._private.bodyBounds},"getElementBox"),_=l(function(V){return V.boundingBox(),V[0]._private.labelBounds.main||f},"getLabelBox"),B=l(function(V){return V.boundingBox(),V[0]._private.labelBounds.source||f},"getSourceLabelBox"),D=l(function(V){return V.boundingBox(),V[0]._private.labelBounds.target||f},"getTargetLabelBox"),S=l(function(V,z){return z},"isLabelVisibleAtScale"),M=l(function(V){return p(k(V))},"getElementRotationPoint"),A=l(function(V,z,F){var U=V?V+"-":"";return{x:z.x+F.pstyle(U+"text-margin-x").pfValue,y:z.y+F.pstyle(U+"text-margin-y").pfValue}},"addTextMargin"),O=l(function(V,z,F){var U=V[0]._private.rscratch;return{x:U[z],y:U[F]}},"getRsPt"),R=l(function(V){return A("",O(V,"labelX","labelY"),V)},"getLabelRotationPoint"),I=l(function(V){return A("source",O(V,"sourceLabelX","sourceLabelY"),V)},"getSourceLabelRotationPoint"),L=l(function(V){return A("target",O(V,"targetLabelX","targetLabelY"),V)},"getTargetLabelRotationPoint"),N=l(function(V){return g(k(V))},"getElementRotationOffset"),Y=l(function(V){return g(B(V))},"getSourceLabelRotationOffset"),q=l(function(V){return g(D(V))},"getTargetLabelRotationOffset"),X=l(function(V){var z=_(V),F=g(_(V));if(V.isNode()){switch(V.pstyle("text-halign").value){case"left":F.x=-z.w-(z.leftPad||0);break;case"right":F.x=-(z.rightPad||0);break}switch(V.pstyle("text-valign").value){case"top":F.y=-z.h-(z.topPad||0);break;case"bottom":F.y=-(z.botPad||0);break}}return F},"getLabelRotationOffset"),K=t.data.eleTxrCache=new Er(t,{getKey:b,doesEleInvalidateKey:y,drawElement:w,getBoundingBox:k,getRotationPoint:M,getRotationOffset:N,allowEdgeTxrCaching:!1,allowParentTxrCaching:!1}),J=t.data.lblTxrCache=new Er(t,{getKey:v,drawElement:T,getBoundingBox:_,getRotationPoint:R,getRotationOffset:X,isVisible:S}),Q=t.data.slbTxrCache=new Er(t,{getKey:m,drawElement:P,getBoundingBox:B,getRotationPoint:I,getRotationOffset:Y,isVisible:S}),$=t.data.tlbTxrCache=new Er(t,{getKey:x,drawElement:E,getBoundingBox:D,getRotationPoint:L,getRotationOffset:q,isVisible:S}),ee=t.data.lyrTxrCache=new Gh(t);t.onUpdateEleCalcs(l(function(V,z){K.invalidateElements(z),J.invalidateElements(z),Q.invalidateElements(z),$.invalidateElements(z),ee.invalidateElements(z);for(var F=0;F<z.length;F++){var U=z[F]._private;U.oldBackgroundTimestamp=U.backgroundTimestamp}},"invalidateTextureCaches"));var ae=l(function(V){for(var z=0;z<V.length;z++)ee.enqueueElementRefinement(V[z].ele)},"refineInLayers");K.onDequeue(ae),J.onDequeue(ae),Q.onDequeue(ae),$.onDequeue(ae),e.webgl&&t.initWebgl(e,{getStyleKey:b,getLabelKey:v,getSourceLabelKey:m,getTargetLabelKey:x,drawElement:w,drawLabel:T,drawSourceLabel:P,drawTargetLabel:E,getElementBox:k,getLabelBox:_,getSourceLabelBox:B,getTargetLabelBox:D,getElementRotationPoint:M,getElementRotationOffset:N,getLabelRotationPoint:R,getSourceLabelRotationPoint:I,getTargetLabelRotationPoint:L,getLabelRotationOffset:X,getSourceLabelRotationOffset:Y,getTargetLabelRotationOffset:q})}l(al,"CanvasRenderer");Pe.redrawHint=function(e,t){var n=this;switch(e){case"eles":n.data.canvasNeedsRedraw[Pe.NODE]=t;break;case"drag":n.data.canvasNeedsRedraw[Pe.DRAG]=t;break;case"select":n.data.canvasNeedsRedraw[Pe.SELECT_BOX]=t;break;case"gc":n.data.gc=!0;break}};var Pm=typeof Path2D<"u";Pe.path2dEnabled=function(e){if(e===void 0)return this.pathsEnabled;this.pathsEnabled=!!e};Pe.usePaths=function(){return Pm&&this.pathsEnabled};Pe.setImgSmoothing=function(e,t){e.imageSmoothingEnabled!=null?e.imageSmoothingEnabled=t:(e.webkitImageSmoothingEnabled=t,e.mozImageSmoothingEnabled=t,e.msImageSmoothingEnabled=t)};Pe.getImgSmoothing=function(e){return e.imageSmoothingEnabled!=null?e.imageSmoothingEnabled:e.webkitImageSmoothingEnabled||e.mozImageSmoothingEnabled||e.msImageSmoothingEnabled};Pe.makeOffscreenCanvas=function(e,t){var n;if((typeof OffscreenCanvas>"u"?"undefined":et(OffscreenCanvas))!=="undefined")n=new OffscreenCanvas(e,t);else{var r=this.cy.window(),a=r.document;n=a.createElement("canvas"),n.width=e,n.height=t}return n};[Uh,Yt,Qt,$s,zn,mn,Et,bf,bn,na,Mf].forEach(function(e){ve(Pe,e)});var Dm=[{name:"null",impl:Hs},{name:"base",impl:Wh},{name:"canvas",impl:Sm}],km=[{type:"layout",extensions:Ay},{type:"renderer",extensions:Dm}],If={},Rf={};function il(e,t,n){var r=n,a=l(function(E){Oe("Can not register `"+t+"` for `"+e+"` since `"+E+"` already exists in the prototype and can not be overridden")},"overrideErr");if(e==="core"){if(Lr.prototype[t])return a(t);Lr.prototype[t]=n}else if(e==="collection"){if(ct.prototype[t])return a(t);ct.prototype[t]=n}else if(e==="layout"){for(var i=l(function(E){this.options=E,n.call(this,E),Be(this._private)||(this._private={}),this._private.cy=E.cy,this._private.listeners=[],this.createEmitter()},"Layout"),o=i.prototype=Object.create(n.prototype),c=[],u=0;u<c.length;u++){var s=c[u];o[s]=o[s]||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=n.prototype.stop;o.stop=function(){var E=this.options;if(E&&E.animate){var k=this.animations;if(k)for(var _=0;_<k.length;_++)k[_].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 h=l(function(E){return E._private.cy},"getCy"),f={addEventFields:l(function(E,k){k.layout=E,k.cy=h(E),k.target=E},"addEventFields"),bubble:l(function(){return!0},"bubble"),parent:l(function(E){return h(E)},"parent")};ve(o,{createEmitter:l(function(){return this._private.emitter=new Ur(f,this),this},"createEmitter"),emitter:l(function(){return this._private.emitter},"emitter"),on:l(function(E,k){return this.emitter().on(E,k),this},"on"),one:l(function(E,k){return this.emitter().one(E,k),this},"one"),once:l(function(E,k){return this.emitter().one(E,k),this},"once"),removeListener:l(function(E,k){return this.emitter().removeListener(E,k),this},"removeListener"),removeAllListeners:l(function(){return this.emitter().removeAllListeners(),this},"removeAllListeners"),emit:l(function(E,k){return this.emitter().emit(E,k),this},"emit")}),Le.eventAliasesOn(o),r=i}else if(e==="renderer"&&t!=="null"&&t!=="base"){var p=ol("renderer","base"),g=p.prototype,y=n,b=n.prototype,v=l(function(){p.apply(this,arguments),y.apply(this,arguments)},"Renderer"),m=v.prototype;for(var x in g){var w=g[x],T=b[x]!=null;if(T)return a(x);m[x]=w}for(var P in b)m[P]=b[P];g.clientFunctions.forEach(function(E){m[E]=m[E]||function(){We("Renderer does not implement `renderer."+E+"()` on its prototype")}}),r=v}else if(e==="__proto__"||e==="constructor"||e==="prototype")return We(e+" is an illegal type to be registered, possibly lead to prototype pollutions");return qc({map:If,keys:[e,t],value:r})}l(il,"setExtension");function ol(e,t){return jc({map:If,keys:[e,t]})}l(ol,"getExtension");function Nf(e,t,n,r,a){return qc({map:Rf,keys:[e,t,n,r],value:a})}l(Nf,"setModule");function Lf(e,t,n,r){return jc({map:Rf,keys:[e,t,n,r]})}l(Lf,"getModule");var gs=l(function(){if(arguments.length===2)return ol.apply(null,arguments);if(arguments.length===3)return il.apply(null,arguments);if(arguments.length===4)return Lf.apply(null,arguments);if(arguments.length===5)return Nf.apply(null,arguments);We("Invalid extension access syntax")},"extension");Lr.prototype.extension=gs;km.forEach(function(e){e.extensions.forEach(function(t){il(e.type,t.name,t.impl)})});var Ka=l(function(){if(!(this instanceof Ka))return new Ka;this.length=0},"Stylesheet"),Nn=Ka.prototype;Nn.instanceString=function(){return"stylesheet"};Nn.selector=function(e){var t=this.length++;return this[t]={selector:e,properties:[]},this};Nn.css=function(e,t){var n=this.length-1;if(pe(e))this[n].properties.push({name:e,value:t});else if(Be(e))for(var r=e,a=Object.keys(r),i=0;i<a.length;i++){var o=a[i],c=r[o];if(c!=null){var u=ot.properties[o]||ot.properties[Ua(o)];if(u!=null){var s=u.name,d=c;this[n].properties.push({name:s,value:d})}}}return this};Nn.style=Nn.css;Nn.generateStyle=function(e){var t=new ot(e);return this.appendToStyle(t)};Nn.appendToStyle=function(e){for(var t=0;t<this.length;t++){var n=this[t],r=n.selector,a=n.properties;e.selector(r);for(var i=0;i<a.length;i++){var o=a[i];e.css(o.name,o.value)}}return e};var _m="3.33.1",rr=l(function(e){if(e===void 0&&(e={}),Be(e))return new Lr(e);if(pe(e))return gs.apply(gs,arguments)},"cytoscape");rr.use=function(e){var t=Array.prototype.slice.call(arguments,1);return t.unshift(rr),e.apply(null,t),this};rr.warnings=function(e){return id(e)};rr.version=_m;rr.stylesheet=rr.Stylesheet=Ka;/*! Bundled license information:
cytoscape/dist/cytoscape.esm.mjs:
(*!
Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable
Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com)
Licensed under The MIT License (http://opensource.org/licenses/MIT)
*)
(*!
Event object based on jQuery events, MIT license
https://jquery.org/license/
https://tldrlegal.com/license/mit-license
https://github.com/jquery/jquery/blob/master/src/event.js
*)
(*! Bezier curve function generator. Copyright Gaetan Renaudeau. MIT License: http://en.wikipedia.org/wiki/MIT_License *)
(*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License *)
*/export{rr as r};