22 lines
449 KiB
JavaScript
22 lines
449 KiB
JavaScript
import{m as e}from"./index-BDq3hoFe.js";function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function n(e){if(Array.isArray(e))return e}function r(e){if(Array.isArray(e))return t(e)}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(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,v(r.key),r)}}function o(e,t,n){return t&&i(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function s(t,n){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=m(t))||n){r&&(t=r);var a=0,i=e(function(){},"F");return{s:i,n:e(function(){return a>=t.length?{done:!0}:{done:!1,value:t[a++]}},"n"),e:e(function(e){throw e},"e"),f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,l=!1;return{s:e(function(){r=r.call(t)},"s"),n:e(function(){var e=r.next();return s=e.done,e},"n"),e:e(function(e){l=!0,o=e},"e"),f:e(function(){try{s||null==r.return||r.return()}finally{if(l)throw o}},"f")}}function l(e,t,n){return(t=v(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function u(e){if(typeof Symbol<"u"&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function c(e,t){var n=null==e?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,s=[],l=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw a}}return s}}function d(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function h(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function f(e,t){return n(e)||c(e,t)||m(e,t)||d()}function p(e){return r(e)||u(e)||m(e)||h()}function g(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t);if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function v(e){var t=g(e,"string");return"symbol"==typeof t?t:t+""}function y(e){return(y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function m(e,n){if(e){if("string"==typeof e)return t(e,n);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?t(e,n):void 0}}e(t,"_arrayLikeToArray"),e(n,"_arrayWithHoles"),e(r,"_arrayWithoutHoles"),e(a,"_classCallCheck"),e(i,"_defineProperties"),e(o,"_createClass"),e(s,"_createForOfIteratorHelper"),e(l,"_defineProperty$1"),e(u,"_iterableToArray"),e(c,"_iterableToArrayLimit"),e(d,"_nonIterableRest"),e(h,"_nonIterableSpread"),e(f,"_slicedToArray"),e(p,"_toConsumableArray"),e(g,"_toPrimitive"),e(v,"_toPropertyKey"),e(y,"_typeof"),e(m,"_unsupportedIterableToArray");var b=typeof window>"u"?null:window,x=b?b.navigator:null;b&&b.document;var w,E,C,T,k,S,P,B,_,D,A,M,R,I,L,N,z,O,F,V,q,j,X,Y,W,H,K,G,U=y(""),Z=y({}),$=y(function(){}),Q=typeof HTMLElement>"u"?"undefined":y(HTMLElement),J=e(function(e){return e&&e.instanceString&&te(e.instanceString)?e.instanceString():null},"instanceStr"),ee=e(function(e){return null!=e&&y(e)==U},"string"),te=e(function(e){return null!=e&&y(e)===$},"fn"),ne=e(function(e){return!le(e)&&(Array.isArray?Array.isArray(e):null!=e&&e instanceof Array)},"array"),re=e(function(e){return null!=e&&y(e)===Z&&!ne(e)&&e.constructor===Object},"plainObject"),ae=e(function(e){return null!=e&&y(e)===Z},"object"),ie=e(function(e){return null!=e&&y(e)===y(1)&&!isNaN(e)},"number"),oe=e(function(e){return ie(e)&&Math.floor(e)===e},"integer"),se=e(function(e){if("undefined"!==Q)return null!=e&&e instanceof HTMLElement},"htmlElement"),le=e(function(e){return ue(e)||ce(e)},"elementOrCollection"),ue=e(function(e){return"collection"===J(e)&&e._private.single},"element"),ce=e(function(e){return"collection"===J(e)&&!e._private.single},"collection"),de=e(function(e){return"core"===J(e)},"core"),he=e(function(e){return"stylesheet"===J(e)},"stylesheet"),fe=e(function(e){return"event"===J(e)},"event"),pe=e(function(e){return null==e||!(""!==e&&!e.match(/^\s+$/))},"emptyString"),ge=e(function(e){return!(typeof HTMLElement>"u")&&e instanceof HTMLElement},"domElement"),ve=e(function(e){return re(e)&&ie(e.x1)&&ie(e.x2)&&ie(e.y1)&&ie(e.y2)},"boundingBox"),ye=e(function(e){return ae(e)&&te(e.then)},"promise"),me=e(function(){return x&&x.userAgent.match(/msie|trident|edge/i)},"ms"),be=e(function(t,n){n||(n=e(function(){if(1===arguments.length)return arguments[0];if(0===arguments.length)return"undefined";for(var e=[],t=0;t<arguments.length;t++)e.push(arguments[t]);return e.join("$")},"keyFn"));var r=e(function(){var e,a=arguments,i=n.apply(this,a),o=r.cache;return(e=o[i])||(e=o[i]=t.apply(this,a)),e},"memoizedFn");return r.cache={},r},"memoize"),xe=be(function(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}),we=be(function(e){return e.replace(/(-\w)/g,function(e){return e[1].toUpperCase()})}),Ee=be(function(e,t){return e+t[0].toUpperCase()+t.substring(1)},function(e,t){return e+"$"+t}),Ce=e(function(e){return pe(e)?e:e.charAt(0).toUpperCase()+e.substring(1)},"capitalize"),Te=e(function(e,t){return e.slice(-1*t.length)===t},"endsWith"),ke="(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))",Se="rgb[a]?\\(("+ke+"[%]?)\\s*,\\s*("+ke+"[%]?)\\s*,\\s*("+ke+"[%]?)(?:\\s*,\\s*("+ke+"))?\\)",Pe="rgb[a]?\\((?:"+ke+"[%]?)\\s*,\\s*(?:"+ke+"[%]?)\\s*,\\s*(?:"+ke+"[%]?)(?:\\s*,\\s*(?:"+ke+"))?\\)",Be="hsl[a]?\\(("+ke+")\\s*,\\s*("+ke+"[%])\\s*,\\s*("+ke+"[%])(?:\\s*,\\s*("+ke+"))?\\)",_e="hsl[a]?\\((?:"+ke+")\\s*,\\s*(?:"+ke+"[%])\\s*,\\s*(?:"+ke+"[%])(?:\\s*,\\s*(?:"+ke+"))?\\)",De=e(function(e,t){return e<t?-1:e>t?1:0},"ascending"),Ae=e(function(e,t){return-1*De(e,t)},"descending"),Me=null!=Object.assign?Object.assign.bind(Object):function(e){for(var t=arguments,n=1;n<t.length;n++){var r=t[n];if(null!=r)for(var a=Object.keys(r),i=0;i<a.length;i++){var o=a[i];e[o]=r[o]}}return e},Re=e(function(e){if((4===e.length||7===e.length)&&"#"===e[0]){var t,n,r,a=16;return 4===e.length?(t=parseInt(e[1]+e[1],a),n=parseInt(e[2]+e[2],a),r=parseInt(e[3]+e[3],a)):(t=parseInt(e[1]+e[2],a),n=parseInt(e[3]+e[4],a),r=parseInt(e[5]+e[6],a)),[t,n,r]}},"hex2tuple"),Ie=e(function(t){var n,r,a,i,o,s,l,u;function c(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}e(c,"hue2rgb");var d=new RegExp("^"+Be+"$").exec(t);if(d){if((r=parseInt(d[1]))<0?r=(360- -1*r%360)%360:r>360&&(r%=360),r/=360,(a=parseFloat(d[2]))<0||a>100||(a/=100,(i=parseFloat(d[3]))<0||i>100)||(i/=100,void 0!==(o=d[4])&&((o=parseFloat(o))<0||o>1)))return;if(0===a)s=l=u=Math.round(255*i);else{var h=i<.5?i*(1+a):i+a-i*a,f=2*i-h;s=Math.round(255*c(f,h,r+1/3)),l=Math.round(255*c(f,h,r)),u=Math.round(255*c(f,h,r-1/3))}n=[s,l,u,o]}return n},"hsl2tuple"),Le=e(function(e){var t,n=new RegExp("^"+Se+"$").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],s=r[1]&&r[2]&&r[3];if(o&&!s)return;var l=n[4];if(void 0!==l){if((l=parseFloat(l))<0||l>1)return;t.push(l)}}return t},"rgb2tuple"),Ne=e(function(e){return Oe[e.toLowerCase()]},"colorname2tuple"),ze=e(function(e){return(ne(e)?e:null)||Ne(e)||Re(e)||Le(e)||Ie(e)},"color2tuple"),Oe={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]},Fe=e(function(e){for(var t=e.map,n=e.keys,r=n.length,a=0;a<r;a++){var i=n[a];if(re(i))throw Error("Tried to set map with object key");a<n.length-1?(null==t[i]&&(t[i]={}),t=t[i]):t[i]=e.value}},"setMap"),Ve=e(function(e){for(var t=e.map,n=e.keys,r=n.length,a=0;a<r;a++){var i=n[a];if(re(i))throw Error("Tried to get map with object key");if(null==(t=t[i]))return t}return t},"getMap"),qe=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function je(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Xe(){if(E)return w;function t(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}return E=1,e(t,"isObject"),w=t}function Ye(){if(T)return C;T=1;var e="object"==typeof qe&&qe&&qe.Object===Object&&qe;return C=e}function We(){if(S)return k;S=1;var e=Ye(),t="object"==typeof self&&self&&self.Object===Object&&self,n=e||t||Function("return this")();return k=n}function He(){if(B)return P;B=1;var t=We(),n=e(function(){return t.Date.now()},"now");return P=n}function Ke(){if(D)return _;D=1;var t=/\s/;function n(e){for(var n=e.length;n--&&t.test(e.charAt(n)););return n}return e(n,"trimmedEndIndex"),_=n}function Ge(){if(M)return A;M=1;var t=Ke(),n=/^\s+/;function r(e){return e&&e.slice(0,t(e)+1).replace(n,"")}return e(r,"baseTrim"),A=r}function Ue(){if(I)return R;I=1;var e=We().Symbol;return R=e}function Ze(){if(N)return L;N=1;var t=Ue(),n=Object.prototype,r=n.hasOwnProperty,a=n.toString,i=t?t.toStringTag:void 0;function o(e){var t=r.call(e,i),n=e[i];try{e[i]=void 0;var o=!0}catch{}var s=a.call(e);return o&&(t?e[i]=n:delete e[i]),s}return e(o,"getRawTag"),L=o}function $e(){if(O)return z;O=1;var t=Object.prototype.toString;function n(e){return t.call(e)}return e(n,"objectToString"),z=n}function Qe(){if(V)return F;V=1;var t=Ue(),n=Ze(),r=$e(),a=t?t.toStringTag:void 0;function i(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":a&&a in Object(e)?n(e):r(e)}return e(i,"baseGetTag"),F=i}function Je(){if(j)return q;function t(e){return null!=e&&"object"==typeof e}return j=1,e(t,"isObjectLike"),q=t}function et(){if(Y)return X;Y=1;var t=Qe(),n=Je();function r(e){return"symbol"==typeof e||n(e)&&"[object Symbol]"==t(e)}return e(r,"isSymbol"),X=r}function tt(){if(H)return W;H=1;var t=Ge(),n=Xe(),r=et(),a=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,o=/^0o[0-7]+$/i,s=parseInt;function l(e){if("number"==typeof e)return e;if(r(e))return NaN;if(n(e)){var l="function"==typeof e.valueOf?e.valueOf():e;e=n(l)?l+"":l}if("string"!=typeof e)return 0===e?e:+e;e=t(e);var u=i.test(e);return u||o.test(e)?s(e.slice(2),u?2:8):a.test(e)?NaN:+e}return e(l,"toNumber"),W=l}function nt(){if(G)return K;G=1;var t=Xe(),n=He(),r=tt(),a=Math.max,i=Math.min;function o(o,s,l){var u,c,d,h,f,p,g=0,v=!1,y=!1,m=!0;if("function"!=typeof o)throw new TypeError("Expected a function");function b(e){var t=u,n=c;return u=c=void 0,g=e,h=o.apply(n,t)}function x(e){return g=e,f=setTimeout(C,s),v?b(e):h}function w(e){var t=s-(e-p);return y?i(t,d-(e-g)):t}function E(e){var t=e-p;return void 0===p||t>=s||t<0||y&&e-g>=d}function C(){var e=n();if(E(e))return T(e);f=setTimeout(C,w(e))}function T(e){return f=void 0,m&&u?b(e):(u=c=void 0,h)}function k(){void 0!==f&&clearTimeout(f),g=0,u=p=c=f=void 0}function S(){return void 0===f?h:T(n())}function P(){var e=n(),t=E(e);if(u=arguments,c=this,p=e,t){if(void 0===f)return x(p);if(y)return clearTimeout(f),f=setTimeout(C,s),b(p)}return void 0===f&&(f=setTimeout(C,s)),h}return s=r(s)||0,t(l)&&(v=!!l.leading,d=(y="maxWait"in l)?a(r(l.maxWait)||0,s):d,m="trailing"in l?!!l.trailing:m),e(b,"invokeFunc"),e(x,"leadingEdge"),e(w,"remainingWait"),e(E,"shouldInvoke"),e(C,"timerExpired"),e(T,"trailingEdge"),e(k,"cancel"),e(S,"flush"),e(P,"debounced"),P.cancel=k,P.flush=S,P}return e(o,"debounce"),K=o}e(je,"getDefaultExportFromCjs"),e(Xe,"requireIsObject"),e(Ye,"require_freeGlobal"),e(We,"require_root"),e(He,"requireNow"),e(Ke,"require_trimmedEndIndex"),e(Ge,"require_baseTrim"),e(Ue,"require_Symbol"),e(Ze,"require_getRawTag"),e($e,"require_objectToString"),e(Qe,"require_baseGetTag"),e(Je,"requireIsObjectLike"),e(et,"requireIsSymbol"),e(tt,"requireToNumber"),e(nt,"requireDebounce");var rt=je(nt()),at=b?b.performance:null,it=at&&at.now?function(){return at.now()}:function(){return Date.now()},ot=function(){if(b){if(b.requestAnimationFrame)return function(e){b.requestAnimationFrame(e)};if(b.mozRequestAnimationFrame)return function(e){b.mozRequestAnimationFrame(e)};if(b.webkitRequestAnimationFrame)return function(e){b.webkitRequestAnimationFrame(e)};if(b.msRequestAnimationFrame)return function(e){b.msRequestAnimationFrame(e)}}return function(e){e&&setTimeout(function(){e(it())},1e3/60)}}(),st=e(function(e){return ot(e)},"requestAnimationFrame"),lt=it,ut=9261,ct=5381,dt=e(function(e){for(var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ut;!(t=e.next()).done;)n=65599*n+t.value|0;return n},"hashIterableInts"),ht=e(function(e){return 65599*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:ut)+e|0},"hashInt"),ft=e(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ct;return(t<<5)+t+e|0},"hashIntAlt"),pt=e(function(e,t){return 2097152*e+t},"combineHashes"),gt=e(function(e){return 2097152*e[0]+e[1]},"combineHashesArray"),vt=e(function(e,t){return[ht(e[0],t[0]),ft(e[1],t[1])]},"hashArrays"),yt=e(function(t,n){var r={value:0,done:!1},a=0,i=t.length,o={next:e(function(){return a<i?r.value=t[a++]:r.done=!0,r},"next")};return dt(o,n)},"hashIntsArray"),mt=e(function(t,n){var r={value:0,done:!1},a=0,i=t.length,o={next:e(function(){return a<i?r.value=t.charCodeAt(a++):r.done=!0,r},"next")};return dt(o,n)},"hashString"),bt=e(function(){return xt(arguments)},"hashStrings"),xt=e(function(e){for(var t,n=0;n<e.length;n++){var r=e[n];t=0===n?mt(r):mt(r,t)}return t},"hashStringsArray");function wt(e,t,n,r,a){var i=a*Math.PI/180;return{x:Math.cos(i)*(e-n)-Math.sin(i)*(t-r)+n,y:Math.sin(i)*(e-n)+Math.cos(i)*(t-r)+r}}e(wt,"rotatePoint");var Et=e(function(e,t,n,r,a,i){return{x:(e-n)*a+n,y:(t-r)*i+r}},"movePointByBoxAspect");function Ct(e,t,n){if(0===n)return e;var r=(t.x1+t.x2)/2,a=(t.y1+t.y2)/2,i=t.w/t.h,o=1/i,s=wt(e.x,e.y,r,a,n),l=Et(s.x,s.y,r,a,i,o);return{x:l.x,y:l.y}}e(Ct,"rotatePosAndSkewByBox");var Tt=!0,kt=null!=console.warn,St=null!=console.trace,Pt=Number.MAX_SAFE_INTEGER||9007199254740991,Bt=e(function(){return!0},"trueify"),_t=e(function(){return!1},"falsify"),Dt=e(function(){return 0},"zeroify"),At=e(function(){},"noop"),Mt=e(function(e){throw new Error(e)},"error"),Rt=e(function(e){if(void 0===e)return Tt;Tt=!!e},"warnings"),It=e(function(e){Rt()&&(kt?console.warn(e):(console.log(e),St&&console.trace()))},"warn"),Lt=e(function(e){return Me({},e)},"clone"),Nt=e(function(e){return null==e?e:ne(e)?e.slice():re(e)?Lt(e):e},"copy"),zt=e(function(e){return e.slice()},"copyArray"),Ot=e(function(e,t){for(t=e="";e++<36;t+=51*e&52?(15^e?8^Math.random()*(20^e?16:4):4).toString(16):"-");return t},"uuid"),Ft={},Vt=e(function(){return Ft},"staticEmptyObject"),qt=e(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]=void 0===o?e[i]:o}return r}},"defaults"),jt=e(function(e,t,n){for(var r=e.length-1;r>=0;r--)e[r]===t&&e.splice(r,1)},"removeFromArray"),Xt=e(function(e){e.splice(0,e.length)},"clearArray"),Yt=e(function(e,t){for(var n=0;n<t.length;n++){var r=t[n];e.push(r)}},"push"),Wt=e(function(e,t,n){return n&&(t=Ee(n,t)),e[t]},"getPrefixedProperty"),Ht=e(function(e,t,n,r){n&&(t=Ee(n,t)),e[t]=r},"setPrefixedProperty"),Kt=function(){function t(){a(this,t),this._obj={}}return e(t,"ObjectMap"),o(t,[{key:"set",value:e(function(e,t){return this._obj[e]=t,this},"set")},{key:"delete",value:e(function(e){return this._obj[e]=void 0,this},"_delete")},{key:"clear",value:e(function(){this._obj={}},"clear")},{key:"has",value:e(function(e){return void 0!==this._obj[e]},"has")},{key:"get",value:e(function(e){return this._obj[e]},"get")}])}(),Gt=typeof Map<"u"?Map:Kt,Ut=function(){function t(e){if(a(this,t),this._obj=Object.create(null),this.size=0,null!=e){var n;n=null!=e.instanceString&&e.instanceString()===this.instanceString()?e.toArray():e;for(var r=0;r<n.length;r++)this.add(n[r])}}return e(t,"ObjectSet"),o(t,[{key:"instanceString",value:e(function(){return"set"},"instanceString")},{key:"add",value:e(function(e){var t=this._obj;1!==t[e]&&(t[e]=1,this.size++)},"add")},{key:"delete",value:e(function(e){var t=this._obj;1===t[e]&&(t[e]=0,this.size--)},"_delete")},{key:"clear",value:e(function(){this._obj=Object.create(null)},"clear")},{key:"has",value:e(function(e){return 1===this._obj[e]},"has")},{key:"toArray",value:e(function(){var e=this;return Object.keys(this._obj).filter(function(t){return e.has(t)})},"toArray")},{key:"forEach",value:e(function(e,t){return this.toArray().forEach(e,t)},"forEach")}])}(),Zt="undefined"!==(typeof Set>"u"?"undefined":y(Set))?Set:Ut,$t=e(function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0!==e&&void 0!==t&&de(e)){var r=t.group;if(null==r&&(r=t.data&&null!=t.data.source&&null!=t.data.target?"edges":"nodes"),"nodes"===r||"edges"===r){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:void 0===t.selectable||!!t.selectable,locked:!!t.locked,grabbed:!1,grabbable:void 0===t.grabbable||!!t.grabbable,pannable:void 0===t.pannable?"edges"===r:!!t.pannable,active:!1,classes:new Zt,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(null==a.position.x&&(a.position.x=0),null==a.position.y&&(a.position.y=0),t.renderedPosition){var i=t.renderedPosition,o=e.pan(),s=e.zoom();a.position={x:(i.x-o.x)/s,y:(i.y-o.y)/s}}var l=[];ne(t.classes)?l=t.classes:ee(t.classes)&&(l=t.classes.split(/\s+/));for(var u=0,c=l.length;u<c;u++){var d=l[u];!d||""===d||a.classes.add(d)}this.createEmitter(),(void 0===n||n)&&this.restore();var h=t.style||t.css;h&&(It("Setting a `style` bypass at element creation should be done only when absolutely necessary. Try to use the stylesheet instead."),this.style(h))}else Mt("An element must be of type `nodes` or `edges`; you specified `"+r+"`")}else Mt("An element must have a core reference and parameters set")},"Element"),Qt=e(function(t){return t={bfs:t.bfs||!t.dfs,dfs:t.dfs||!t.bfs},e(function(n,r,a){var i;re(n)&&!le(n)&&(n=(i=n).roots||i.root,r=i.visit,a=i.directed),a=2!==arguments.length||te(r)?a:r,r=te(r)?r:function(){};for(var o,s=this._private.cy,l=n=ee(n)?this.filter(n):n,u=[],c=[],d={},h={},f={},p=0,g=this.byGroup(),v=g.nodes,y=g.edges,m=0;m<l.length;m++){var b=l[m],x=b.id();b.isNode()&&(u.unshift(b),t.bfs&&(f[x]=!0,c.push(b)),h[x]=0)}for(var w,E=e(function(){var e=t.bfs?u.shift():u.pop(),n=e.id();if(t.dfs){if(f[n])return 0;f[n]=!0,c.push(e)}var i,s=h[n],l=d[n],g=null!=l?l.source():null,m=null!=l?l.target():null,b=null==l?void 0:e.same(g)?m[0]:g[0];if(!0===(i=r(e,l,b,p++,s)))return o=e,1;if(!1===i)return 1;for(var x=e.connectedEdges().filter(function(t){return(!a||t.source().same(e))&&y.has(t)}),w=0;w<x.length;w++){var E=x[w],C=E.connectedNodes().filter(function(t){return!t.same(e)&&v.has(t)}),T=C.id();0!==C.length&&!f[T]&&(C=C[0],u.push(C),t.bfs&&(f[T]=!0,c.push(C)),d[T]=E,h[T]=h[n]+1)}},"_loop");0!==u.length&&(0===(w=E())||1!==w););for(var C=s.collection(),T=0;T<c.length;T++){var k=c[T],S=d[k.id()];null!=S&&C.push(S),C.push(k)}return{path:s.collection(C),found:s.collection(o)}},"searchFn")},"defineSearch"),Jt={breadthFirstSearch:Qt({bfs:!0}),depthFirstSearch:Qt({dfs:!0})};Jt.bfs=Jt.breadthFirstSearch,Jt.dfs=Jt.depthFirstSearch;var en,tn,nn,rn={exports:{}},an=rn.exports;function on(){return en||(en=1,t=rn,function(){var n,r,a,i,o,s,l,u,c,d,h,f,p,g,v;a=Math.floor,d=Math.min,r=e(function(e,t){return e<t?-1:e>t?1:0},"defaultCmp"),c=e(function(e,t,n,i,o){var s;if(null==n&&(n=0),null==o&&(o=r),n<0)throw new Error("lo must be non-negative");for(null==i&&(i=e.length);n<i;)o(t,e[s=a((n+i)/2)])<0?i=s:n=s+1;return[].splice.apply(e,[n,n-n].concat(t)),t},"insort"),s=e(function(e,t,n){return null==n&&(n=r),e.push(t),g(e,0,e.length-1,n)},"heappush"),o=e(function(e,t){var n,a;return null==t&&(t=r),n=e.pop(),e.length?(a=e[0],e[0]=n,v(e,0,t)):a=n,a},"heappop"),u=e(function(e,t,n){var a;return null==n&&(n=r),a=e[0],e[0]=t,v(e,0,n),a},"heapreplace"),l=e(function(e,t,n){var a;return null==n&&(n=r),e.length&&n(e[0],t)<0&&(t=(a=[e[0],t])[0],e[0]=a[1],v(e,0,n)),t},"heappushpop"),i=e(function(e,t){var n,i,o,s,l,u;for(null==t&&(t=r),l=[],i=0,o=(s=function(){u=[];for(var t=0,n=a(e.length/2);0<=n?t<n:t>n;0<=n?t++:t--)u.push(t);return u}.apply(this).reverse()).length;i<o;i++)n=s[i],l.push(v(e,n,t));return l},"heapify"),p=e(function(e,t,n){var a;if(null==n&&(n=r),-1!==(a=e.indexOf(t)))return g(e,0,a,n),v(e,a,n)},"updateItem"),h=e(function(e,t,n){var a,o,s,u,c;if(null==n&&(n=r),!(o=e.slice(0,t)).length)return o;for(i(o,n),s=0,u=(c=e.slice(t)).length;s<u;s++)a=c[s],l(o,a,n);return o.sort(n).reverse()},"nlargest"),f=e(function(e,t,n){var a,s,l,u,h,f,p,g,v;if(null==n&&(n=r),10*t<=e.length){if(!(l=e.slice(0,t).sort(n)).length)return l;for(s=l[l.length-1],u=0,f=(p=e.slice(t)).length;u<f;u++)n(a=p[u],s)<0&&(c(l,a,0,null,n),l.pop(),s=l[l.length-1]);return l}for(i(e,n),v=[],h=0,g=d(t,e.length);0<=g?h<g:h>g;0<=g?++h:--h)v.push(o(e,n));return v},"nsmallest"),g=e(function(e,t,n,a){var i,o,s;for(null==a&&(a=r),i=e[n];n>t&&a(i,o=e[s=n-1>>1])<0;)e[n]=o,n=s;return e[n]=i},"_siftdown"),v=e(function(e,t,n){var a,i,o,s,l;for(null==n&&(n=r),i=e.length,l=t,o=e[t],a=2*t+1;a<i;)(s=a+1)<i&&!(n(e[a],e[s])<0)&&(a=s),e[t]=e[a],a=2*(t=a)+1;return e[t]=o,g(e,l,t,n)},"_siftup"),n=function(){function t(e){this.cmp=e??r,this.nodes=[]}return t.push=s,t.pop=o,t.replace=u,t.pushpop=l,t.heapify=i,t.updateItem=p,t.nlargest=h,t.nsmallest=f,e(t,"Heap"),t.prototype.push=function(e){return s(this.nodes,e,this.cmp)},t.prototype.pop=function(){return o(this.nodes,this.cmp)},t.prototype.peek=function(){return this.nodes[0]},t.prototype.contains=function(e){return-1!==this.nodes.indexOf(e)},t.prototype.replace=function(e){return u(this.nodes,e,this.cmp)},t.prototype.pushpop=function(e){return l(this.nodes,e,this.cmp)},t.prototype.heapify=function(){return i(this.nodes,this.cmp)},t.prototype.updateItem=function(e){return p(this.nodes,e,this.cmp)},t.prototype.clear=function(){return this.nodes=[]},t.prototype.empty=function(){return 0===this.nodes.length},t.prototype.size=function(){return this.nodes.length},t.prototype.clone=function(){var e;return(e=new t).nodes=this.nodes.slice(0),e},t.prototype.toArray=function(){return this.nodes.slice(0)},t.prototype.insert=t.prototype.push,t.prototype.top=t.prototype.peek,t.prototype.front=t.prototype.peek,t.prototype.has=t.prototype.contains,t.prototype.copy=t.prototype.clone,t}(),t.exports=n}.call(an)),rn.exports;var t}function sn(){return nn||(nn=1,tn=on()),tn}e(on,"requireHeap$1"),e(sn,"requireHeap");var ln,un=je(sn()),cn=qt({root:null,weight:e(function(e){return 1},"weight"),directed:!1}),dn={dijkstra:e(function(t){if(!re(t)){var n=arguments;t={root:n[0],weight:n[1],directed:n[2]}}var r=cn(t),a=r.root,i=r.weight,o=r.directed,s=this,l=i,u=ee(a)?this.filter(a)[0]:a[0],c={},d={},h={},f=this.byGroup(),p=f.nodes,g=f.edges;g.unmergeBy(function(e){return e.isLoop()});for(var v=e(function(e){return c[e.id()]},"getDist"),y=e(function(e,t){c[e.id()]=t,m.updateItem(e)},"setDist"),m=new un(function(e,t){return v(e)-v(t)}),b=0;b<p.length;b++){var x=p[b];c[x.id()]=x.same(u)?0:1/0,m.push(x)}for(var w=e(function(e,t){for(var n,r=(o?e.edgesTo(t):e.edgesWith(t)).intersect(g),a=1/0,i=0;i<r.length;i++){var s=r[i],u=l(s);(u<a||!n)&&(a=u,n=s)}return{edge:n,dist:a}},"distBetween");m.size()>0;){var E=m.pop(),C=v(E),T=E.id();if(h[T]=C,C!==1/0)for(var k=E.neighborhood().intersect(p),S=0;S<k.length;S++){var P=k[S],B=P.id(),_=w(E,P),D=C+_.dist;D<v(P)&&(y(P,D),d[B]={node:E,edge:_.edge})}}return{distanceTo:e(function(e){var t=ee(e)?p.filter(e)[0]:e[0];return h[t.id()]},"distanceTo"),pathTo:e(function(e){var t=ee(e)?p.filter(e)[0]:e[0],n=[],r=t,a=r.id();if(t.length>0)for(n.unshift(t);d[a];){var i=d[a];n.unshift(i.edge),n.unshift(i.node),a=(r=i.node).id()}return s.spawn(n)},"pathTo")}},"dijkstra")},hn={kruskal:e(function(t){t=t||function(e){return 1};for(var n=this.byGroup(),r=n.nodes,a=n.edges,i=r.length,o=new Array(i),s=r,l=e(function(e){for(var t=0;t<o.length;t++){if(o[t].has(e))return t}},"findSetIndex"),u=0;u<i;u++)o[u]=this.spawn(r[u]);for(var c=a.sort(function(e,n){return t(e)-t(n)}),d=0;d<c.length;d++){var h=c[d],f=h.source()[0],p=h.target()[0],g=l(f),v=l(p),y=o[g],m=o[v];g!==v&&(s.merge(h),y.merge(m),o.splice(v,1))}return s},"kruskal")},fn=qt({root:null,goal:null,weight:e(function(e){return 1},"weight"),heuristic:e(function(e){return 0},"heuristic"),directed:!1}),pn={aStar:e(function(t){var n=this.cy(),r=fn(t),a=r.root,i=r.goal,o=r.heuristic,s=r.directed,l=r.weight;a=n.collection(a)[0],i=n.collection(i)[0];var u,c,d=a.id(),h=i.id(),f={},p={},g={},v=new un(function(e,t){return p[e.id()]-p[t.id()]}),y=new Zt,m={},b={},x=e(function(e,t){v.push(e),y.add(t)},"addToOpenSet"),w=e(function(){u=v.pop(),c=u.id(),y.delete(c)},"popFromOpenSet"),E=e(function(e){return y.has(e)},"isInOpenSet");x(a,d),f[d]=0,p[d]=o(a);for(var C=0;v.size()>0;){if(w(),C++,c===h){for(var T=[],k=i,S=h,P=b[S];T.unshift(k),null!=P&&T.unshift(P),null!=(k=m[S]);)P=b[S=k.id()];return{found:!0,distance:f[c],path:this.spawn(T),steps:C}}g[c]=!0;for(var B=u._private.edges,_=0;_<B.length;_++){var D=B[_];if(this.hasElementWithId(D.id())&&(!s||D.data("source")===c)){var A=D.source(),M=D.target(),R=A.id()!==c?A:M,I=R.id();if(this.hasElementWithId(I)&&!g[I]){var L=f[c]+l(D);if(!E(I)){f[I]=L,p[I]=L+o(R),x(R,I),m[I]=u,b[I]=D;continue}L<f[I]&&(f[I]=L,p[I]=L+o(R),m[I]=u,b[I]=D)}}}}return{found:!1,distance:void 0,path:void 0,steps:C}},"aStar")},gn=qt({weight:e(function(e){return 1},"weight"),directed:!1}),vn={floydWarshall:e(function(t){for(var n=this.cy(),r=gn(t),a=r.weight,i=r.directed,o=a,s=this.byGroup(),l=s.nodes,u=s.edges,c=l.length,d=c*c,h=e(function(e){return l.indexOf(e)},"indexOf"),f=e(function(e){return l[e]},"atIndex"),p=new Array(d),g=0;g<d;g++){var v=g%c,y=(g-v)/c;p[g]=y===v?0:1/0}for(var m=new Array(d),b=new Array(d),x=0;x<u.length;x++){var w=u[x],E=w.source()[0],C=w.target()[0];if(E!==C){var T=h(E),k=h(C),S=T*c+k,P=o(w);if(p[S]>P&&(p[S]=P,m[S]=k,b[S]=w),!i){var B=k*c+T;!i&&p[B]>P&&(p[B]=P,m[B]=T,b[B]=w)}}}for(var _=0;_<c;_++)for(var D=0;D<c;D++)for(var A=D*c+_,M=0;M<c;M++){var R=D*c+M,I=_*c+M;p[A]+p[I]<p[R]&&(p[R]=p[A]+p[I],m[R]=m[A])}var L=e(function(e){return(ee(e)?n.filter(e):e)[0]},"getArgEle"),N=e(function(e){return h(L(e))},"indexOfArgEle");return{distance:e(function(e,t){var n=N(e),r=N(t);return p[n*c+r]},"distance"),path:e(function(e,t){var r=N(e),a=N(t),i=f(r);if(r===a)return i.collection();if(null==m[r*c+a])return n.collection();var o,s=n.collection(),l=r;for(s.merge(i);r!==a;)l=r,r=m[r*c+a],o=b[l*c+r],s.merge(o),s.merge(f(r));return s},"path")}},"floydWarshall")},yn=qt({weight:e(function(e){return 1},"weight"),directed:!1,root:null}),mn={bellmanFord:e(function(t){var n=this,r=yn(t),a=r.weight,i=r.directed,o=r.root,s=a,l=this,u=this.cy(),c=this.byGroup(),d=c.edges,h=c.nodes,f=h.length,p=new Gt,g=!1,v=[];o=u.collection(o)[0],d.unmergeBy(function(e){return e.isLoop()});for(var y=d.length,m=e(function(e){var t=p.get(e.id());return t||(t={},p.set(e.id(),t)),t},"getInfo"),b=e(function(e){return(ee(e)?u.$(e):e)[0]},"getNodeFromTo"),x=e(function(e){return m(b(e)).dist},"distanceTo"),w=e(function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o,r=[],a=b(e);;){if(null==a)return n.spawn();var i=m(a),s=i.edge,u=i.pred;if(r.unshift(a[0]),a.same(t)&&r.length>0)break;null!=s&&r.unshift(s),a=u}return l.spawn(r)},"pathTo"),E=0;E<f;E++){var C=h[E],T=m(C);C.same(o)?T.dist=0:T.dist=1/0,T.pred=null,T.edge=null}for(var k=!1,S=e(function(e,t,n,r,a,i){var o=r.dist+i;o<a.dist&&!n.same(r.edge)&&(a.dist=o,a.pred=e,a.edge=n,k=!0)},"checkForEdgeReplacement"),P=1;P<f;P++){k=!1;for(var B=0;B<y;B++){var _=d[B],D=_.source(),A=_.target(),M=s(_),R=m(D),I=m(A);S(D,A,_,R,I,M),i||S(A,D,_,I,R,M)}if(!k)break}if(k)for(var L=[],N=0;N<y;N++){var z=d[N],O=z.source(),F=z.target(),V=s(z),q=m(O).dist,j=m(F).dist;if(q+V<j||!i&&j+V<q){if(g||(It("Graph contains a negative weight cycle for Bellman-Ford"),g=!0),!1===t.findNegativeWeightCycles)break;var X=[];q+V<j&&X.push(O),!i&&j+V<q&&X.push(F);for(var Y=X.length,W=0;W<Y;W++){var H=X[W],K=[H];K.push(m(H).edge);for(var G=m(H).pred;-1===K.indexOf(G);)K.push(G),K.push(m(G).edge),G=m(G).pred;for(var U=(K=K.slice(K.indexOf(G)))[0].id(),Z=0,$=2;$<K.length;$+=2)K[$].id()<U&&(U=K[$].id(),Z=$);(K=K.slice(Z).concat(K.slice(0,Z))).push(K[0]);var Q=K.map(function(e){return e.id()}).join(",");-1===L.indexOf(Q)&&(v.push(l.spawn(K)),L.push(Q))}}}return{distanceTo:x,pathTo:w,hasNegativeWeightCycle:g,negativeWeightCycles:v}},"bellmanFord")},bn=Math.sqrt(2),xn=e(function(e,t,n){0===n.length&&Mt("Karger-Stein must be run on a connected (sub)graph");for(var r=n[e],a=r[1],i=r[2],o=t[a],s=t[i],l=n,u=l.length-1;u>=0;u--){var c=l[u],d=c[1],h=c[2];(t[d]===o&&t[h]===s||t[d]===s&&t[h]===o)&&l.splice(u,1)}for(var f=0;f<l.length;f++){var p=l[f];p[1]===s?(l[f]=p.slice(),l[f][1]=o):p[2]===s&&(l[f]=p.slice(),l[f][2]=o)}for(var g=0;g<t.length;g++)t[g]===s&&(t[g]=o);return l},"collapse"),wn=e(function(e,t,n,r){for(;n>r;){var a=Math.floor(Math.random()*t.length);t=xn(a,e,t),n--}return t},"contractUntil"),En={kargerStein:e(function(){var t=this,n=this.byGroup(),r=n.nodes,a=n.edges;a.unmergeBy(function(e){return e.isLoop()});var i=r.length,o=a.length,s=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),l=Math.floor(i/bn);if(!(i<2)){for(var u=[],c=0;c<o;c++){var d=a[c];u.push([c,r.indexOf(d.source()),r.indexOf(d.target())])}for(var h=1/0,f=[],p=new Array(i),g=new Array(i),v=new Array(i),y=e(function(e,t){for(var n=0;n<i;n++)t[n]=e[n]},"copyNodesMap"),m=0;m<=s;m++){for(var b=0;b<i;b++)g[b]=b;var x=wn(g,u.slice(),i,l),w=x.slice();y(g,v);var E=wn(g,x,l,2),C=wn(v,w,l,2);E.length<=C.length&&E.length<h?(h=E.length,f=E,y(g,p)):C.length<=E.length&&C.length<h&&(h=C.length,f=C,y(v,p))}for(var T=this.spawn(f.map(function(e){return a[e[0]]})),k=this.spawn(),S=this.spawn(),P=p[0],B=0;B<p.length;B++){var _=p[B],D=r[B];_===P?k.merge(D):S.merge(D)}var A=e(function(e){var n=t.spawn();return e.forEach(function(e){n.merge(e),e.connectedEdges().forEach(function(e){t.contains(e)&&!T.contains(e)&&n.merge(e)})}),n},"constructComponent"),M=[A(k),A(S)];return{cut:T,components:M,partition1:k,partition2:S}}Mt("At least 2 nodes are required for Karger-Stein algorithm")},"kargerStein")},Cn=e(function(e){return{x:e.x,y:e.y}},"copyPosition"),Tn=e(function(e,t,n){return{x:e.x*t+n.x,y:e.y*t+n.y}},"modelToRenderedPosition"),kn=e(function(e,t,n){return{x:(e.x-n.x)/t,y:(e.y-n.y)/t}},"renderedToModelPosition"),Sn=e(function(e){return{x:e[0],y:e[1]}},"array2point"),Pn=e(function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?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"),Bn=e(function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?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"),_n=e(function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?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"),Dn=e(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];!(arguments.length>3&&void 0!==arguments[3])||arguments[3]?e=e.slice(t,n):(n<e.length&&e.splice(n,e.length-n),t>0&&e.splice(0,t));for(var i=0,o=e.length-1;o>=0;o--){var s=e[o];a?isFinite(s)||(e[o]=-1/0,i++):e.splice(o,1)}r&&e.sort(function(e,t){return e-t});var l=e.length,u=Math.floor(l/2);return l%2!=0?e[u+1+i]:(e[u-1+i]+e[u+i])/2},"median"),An=e(function(e){return Math.PI*e/180},"deg2rad"),Mn=e(function(e,t){return Math.atan2(t,e)-Math.PI/2},"getAngleFromDisp"),Rn=Math.log2||function(e){return Math.log(e)/Math.log(2)},In=e(function(e){return e>0?1:e<0?-1:0},"signum"),Ln=e(function(e,t){return Math.sqrt(Nn(e,t))},"dist"),Nn=e(function(e,t){var n=t.x-e.x,r=t.y-e.y;return n*n+r*r},"sqdist"),zn=e(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"),On=e(function(e,t,n,r){return(1-r)*(1-r)*e+2*(1-r)*r*t+r*r*n},"qbezierAt"),Fn=e(function(e,t,n,r){return{x:On(e.x,t.x,n.x,r),y:On(e.y,t.y,n.y,r)}},"qbezierPtAt"),Vn=e(function(e,t,n,r){var a=t.x-e.x,i=t.y-e.y,o=Ln(e,t),s=a/o,l=i/o;return n=n??0,r=r??n*o,{x:e.x+s*r,y:e.y+l*r}},"lineAt"),qn=e(function(e,t,n){return Math.max(e,Math.min(n,t))},"bound"),jn=e(function(e){if(null==e)return{x1:1/0,y1:1/0,x2:-1/0,y2:-1/0,w:0,h:0};if(null!=e.x1&&null!=e.y1){if(null!=e.x2&&null!=e.y2&&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(null!=e.w&&null!=e.h&&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"),Xn=e(function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},"copyBoundingBox"),Yn=e(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"),Wn=e(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"),Hn=e(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"),Kn=e(function(e){var t=arguments.length>1&&void 0!==arguments[1]?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"),Gn=e(function(e){var t,n,r,a,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0];if(1===i.length)t=n=r=a=i[0];else if(2===i.length)t=r=i[0],a=n=i[1];else if(4===i.length){var o=f(i,4);t=o[0],n=o[1],r=o[2],a=o[3]}return e.x1-=a,e.x2+=n,e.y1-=t,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},"expandBoundingBoxSides"),Un=e(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"),Zn=e(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"),$n=e(function(e,t,n){return e.x1<=t&&t<=e.x2&&e.y1<=n&&n<=e.y2},"inBoundingBox"),Qn=e(function(e,t){return $n(e,t.x,t.y)},"pointInBoundingBox"),Jn=e(function(e,t){return $n(e,t.x1,t.y1)&&$n(e,t.x2,t.y2)},"boundingBoxInBoundingBox"),er=null!==(ln=Math.hypot)&&void 0!==ln?ln:function(e,t){return Math.sqrt(e*e+t*t)};function tr(t,n){if(t.length<3)throw new Error("Need at least 3 vertices");var r=e(function(e,t){return{x:e.x+t.x,y:e.y+t.y}},"add"),a=e(function(e,t){return{x:e.x-t.x,y:e.y-t.y}},"sub"),i=e(function(e,t){return{x:e.x*t,y:e.y*t}},"scale"),o=e(function(e,t){return e.x*t.y-e.y*t.x},"cross"),s=e(function(e){var t=er(e.x,e.y);return 0===t?{x:0,y:0}:{x:e.x/t,y:e.y/t}},"normalize"),l=e(function(e){for(var t=0,n=0;n<e.length;n++){var r=e[n],a=e[(n+1)%e.length];t+=r.x*a.y-a.x*r.y}return t/2},"signedArea"),u=e(function(e,t,n,s){var l=a(t,e),u=a(s,n),c=o(l,u);if(Math.abs(c)<1e-9)return r(e,i(l,.5));var d=o(a(n,e),u)/c;return r(e,i(l,d))},"intersectLines"),c=t.map(function(e){return{x:e.x,y:e.y}});l(c)<0&&c.reverse();for(var d=c.length,h=[],f=0;f<d;f++){var p=c[f],g=c[(f+1)%d],v=a(g,p),y=s({x:v.y,y:-v.x});h.push(y)}for(var m=h.map(function(e,t){return{p1:r(c[t],i(e,n)),p2:r(c[(t+1)%d],i(e,n))}}),b=[],x=0;x<d;x++){var w=m[(x-1+d)%d],E=m[x],C=u(w.p1,w.p2,E.p1,E.p2);b.push(C)}return b}function nr(e,t,n,r,a,i){var o=tr(xr(e,t,n,r,a),i),s=jn();return o.forEach(function(e){return Hn(s,e.x,e.y)}),s}e(tr,"inflatePolygon"),e(nr,"miterBox");var rr=e(function(e,t,n,r,a,i,o){var s,l,u=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"auto",c="auto"===u?Pr(a,i):u,d=a/2,h=i/2,f=(c=Math.min(c,d,h))!==d,p=c!==h;if(f){var g=r-h-o;if((s=br(e,t,n,r,n-d+c-o,g,n+d-c+o,g,!1)).length>0)return s}if(p){var v=n+d+o;if((s=br(e,t,n,r,v,r-h+c-o,v,r+h-c+o,!1)).length>0)return s}if(f){var y=r+h+o;if((s=br(e,t,n,r,n-d+c-o,y,n+d-c+o,y,!1)).length>0)return s}if(p){var m=n-d-o;if((s=br(e,t,n,r,m,r-h+c-o,m,r+h-c+o,!1)).length>0)return s}var b=n-d+c,x=r-h+c;if((l=yr(e,t,n,r,b,x,c+o)).length>0&&l[0]<=b&&l[1]<=x)return[l[0],l[1]];var w=n+d-c,E=r-h+c;if((l=yr(e,t,n,r,w,E,c+o)).length>0&&l[0]>=w&&l[1]<=E)return[l[0],l[1]];var C=n+d-c,T=r+h-c;if((l=yr(e,t,n,r,C,T,c+o)).length>0&&l[0]>=C&&l[1]>=T)return[l[0],l[1]];var k=n-d+c,S=r+h-c;return(l=yr(e,t,n,r,k,S,c+o)).length>0&&l[0]<=k&&l[1]>=S?[l[0],l[1]]:[]},"roundRectangleIntersectLine"),ar=e(function(e,t,n,r,a,i,o){var s=o,l=Math.min(n,a),u=Math.max(n,a),c=Math.min(r,i),d=Math.max(r,i);return l-s<=e&&e<=u+s&&c-s<=t&&t<=d+s},"inLineVicinity"),ir=e(function(e,t,n,r,a,i,o,s,l){var u=Math.min(n,o,a)-l,c=Math.max(n,o,a)+l,d=Math.min(r,s,i)-l,h=Math.max(r,s,i)+l;return!(e<u||e>c||t<d||t>h)},"inBezierVicinity"),or=e(function(e,t,n,r){var a=t*t-4*e*(n-=r);if(a<0)return[];var i=Math.sqrt(a),o=2*e;return[(-t+i)/o,(-t-i)/o]},"solveQuadratic"),sr=e(function(e,t,n,r,a){var i,o,s,l,u,c,d,h;return 0===e&&(e=1e-5),s=-27*(r/=e)+(t/=e)*(9*(n/=e)-t*t*2),i=(o=(3*n-t*t)/9)*o*o+(s/=54)*s,a[1]=0,d=t/3,i>0?(u=(u=s+Math.sqrt(i))<0?-Math.pow(-u,1/3):Math.pow(u,1/3),c=(c=s-Math.sqrt(i))<0?-Math.pow(-c,1/3):Math.pow(c,1/3),a[0]=-d+u+c,d+=(u+c)/2,a[4]=a[2]=-d,d=Math.sqrt(3)*(-c+u)/2,a[3]=d,void(a[5]=-d)):(a[5]=a[3]=0,0===i?(h=s<0?-Math.pow(-s,1/3):Math.pow(s,1/3),a[0]=2*h-d,void(a[4]=a[2]=-(h+d))):(l=(o=-o)*o*o,l=Math.acos(s/Math.sqrt(l)),h=2*Math.sqrt(o),a[0]=-d+h*Math.cos(l/3),a[2]=-d+h*Math.cos((l+2*Math.PI)/3),void(a[4]=-d+h*Math.cos((l+4*Math.PI)/3))))},"solveCubic"),lr=e(function(e,t,n,r,a,i,o,s){var l=[];sr(1*n*n-4*n*a+2*n*o+4*a*a-4*a*o+o*o+r*r-4*r*i+2*r*s+4*i*i-4*i*s+s*s,9*n*a-3*n*n-3*n*o-6*a*a+3*a*o+9*r*i-3*r*r-3*r*s-6*i*i+3*i*s,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*s-r*t+2*i*i+2*i*t-s*t,1*n*a-n*n+n*e-a*e+r*i-r*r+r*t-i*t,l);for(var u=[],c=0;c<6;c+=2)Math.abs(l[c+1])<1e-7&&l[c]>=0&&l[c]<=1&&u.push(l[c]);u.push(1),u.push(0);for(var d,h,f,p=-1,g=0;g<u.length;g++)d=Math.pow(1-u[g],2)*n+2*(1-u[g])*u[g]*a+u[g]*u[g]*o,h=Math.pow(1-u[g],2)*r+2*(1-u[g])*u[g]*i+u[g]*u[g]*s,f=Math.pow(d-e,2)+Math.pow(h-t,2),p>=0?f<p&&(p=f):p=f;return p},"sqdistToQuadraticBezier"),ur=e(function(e,t,n,r,a,i){var o=[e-n,t-r],s=[a-n,i-r],l=s[0]*s[0]+s[1]*s[1],u=o[0]*o[0]+o[1]*o[1],c=o[0]*s[0]+o[1]*s[1],d=c*c/l;return c<0?u:d>l?(e-a)*(e-a)+(t-i)*(t-i):u-d},"sqdistToFiniteLine"),cr=e(function(e,t,n){for(var r,a,i,o,s=0,l=0;l<n.length/2;l++)if(r=n[2*l],a=n[2*l+1],l+1<n.length/2?(i=n[2*(l+1)],o=n[2*(l+1)+1]):(i=n[2*(l+1-n.length/2)],o=n[2*(l+1-n.length/2)+1]),r!=e||i!=e){if(!(r>=e&&e>=i||r<=e&&e<=i))continue;(e-r)/(i-r)*(o-a)+a>t&&s++}return s%2!=0},"pointInsidePolygonPoints"),dr=e(function(e,t,n,r,a,i,o,s,l){var u,c,d=new Array(n.length);null!=s[0]?(u=Math.atan(s[1]/s[0]),s[0]<0?u+=Math.PI/2:u=-u-Math.PI/2):u=s;for(var h=Math.cos(-u),f=Math.sin(-u),p=0;p<d.length/2;p++)d[2*p]=i/2*(n[2*p]*h-n[2*p+1]*f),d[2*p+1]=o/2*(n[2*p+1]*h+n[2*p]*f),d[2*p]+=r,d[2*p+1]+=a;if(l>0){var g=pr(d,-l);c=fr(g)}else c=d;return cr(e,t,c)},"pointInsidePolygon"),hr=e(function(e,t,n,r,a,i,o,s){for(var l=new Array(2*n.length),u=0;u<s.length;u++){var c=s[u];if(l[4*u+0]=c.startX,l[4*u+1]=c.startY,l[4*u+2]=c.stopX,l[4*u+3]=c.stopY,Math.pow(c.cx-e,2)+Math.pow(c.cy-t,2)<=Math.pow(c.radius,2))return!0}return cr(e,t,l)},"pointInsideRoundPolygon"),fr=e(function(e){for(var t,n,r,a,i,o,s,l,u=new Array(e.length/2),c=0;c<e.length/4;c++){t=e[4*c],n=e[4*c+1],r=e[4*c+2],a=e[4*c+3],c<e.length/4-1?(i=e[4*(c+1)],o=e[4*(c+1)+1],s=e[4*(c+1)+2],l=e[4*(c+1)+3]):(i=e[0],o=e[1],s=e[2],l=e[3]);var d=br(t,n,r,a,i,o,s,l,!0);u[2*c]=d[0],u[2*c+1]=d[1]}return u},"joinLines"),pr=e(function(e,t){for(var n,r,a,i,o=new Array(2*e.length),s=0;s<e.length/2;s++){n=e[2*s],r=e[2*s+1],s<e.length/2-1?(a=e[2*(s+1)],i=e[2*(s+1)+1]):(a=e[0],i=e[1]);var l=i-r,u=-(a-n),c=Math.sqrt(l*l+u*u),d=l/c,h=u/c;o[4*s]=n+d*t,o[4*s+1]=r+h*t,o[4*s+2]=a+d*t,o[4*s+3]=i+h*t}return o},"expandPolygon"),gr=e(function(e,t,n,r,a,i){var o=n-e,s=r-t;o/=a,s/=i;var l=Math.sqrt(o*o+s*s),u=l-1;if(u<0)return[];var c=u/l;return[(n-e)*c+e,(r-t)*c+t]},"intersectLineEllipse"),vr=e(function(e,t,n,r,a,i,o){return e-=a,t-=i,(e/=n/2+o)*e+(t/=r/2+o)*t<=1},"checkInEllipse"),yr=e(function(e,t,n,r,a,i,o){var s=[n-e,r-t],l=[e-a,t-i],u=s[0]*s[0]+s[1]*s[1],c=2*(l[0]*s[0]+l[1]*s[1]),d=c*c-4*u*(l[0]*l[0]+l[1]*l[1]-o*o);if(d<0)return[];var h=(-c+Math.sqrt(d))/(2*u),f=(-c-Math.sqrt(d))/(2*u),p=Math.min(h,f),g=Math.max(h,f),v=[];if(p>=0&&p<=1&&v.push(p),g>=0&&g<=1&&v.push(g),0===v.length)return[];var y=v[0]*s[0]+e,m=v[0]*s[1]+t;return v.length>1?v[0]==v[1]?[y,m]:[y,m,v[1]*s[0]+e,v[1]*s[1]+t]:[y,m]},"intersectLineCircle"),mr=e(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"),br=e(function(e,t,n,r,a,i,o,s,l){var u=e-a,c=n-e,d=o-a,h=t-i,f=r-t,p=s-i,g=d*h-p*u,v=c*h-f*u,y=p*c-d*f;if(0!==y){var m=g/y,b=v/y,x=-.001;return x<=m&&m<=1.001&&x<=b&&b<=1.001||l?[e+m*c,t+m*f]:[]}return 0===g||0===v?mr(e,n,o)===o?[o,s]:mr(e,n,a)===a?[a,i]:mr(a,o,n)===n?[n,r]:[]:[]},"finiteLinesIntersect"),xr=e(function(e,t,n,r,a){var i=[],o=r/2,s=a/2,l=t,u=n;i.push({x:l+o*e[0],y:u+s*e[1]});for(var c=1;c<e.length/2;c++)i.push({x:l+o*e[2*c],y:u+s*e[2*c+1]});return i},"transformPoints"),wr=e(function(e,t,n,r,a,i,o,s){var l,u,c=[],d=new Array(n.length),h=!0;if(null==i&&(h=!1),h){for(var f=0;f<d.length/2;f++)d[2*f]=n[2*f]*i+r,d[2*f+1]=n[2*f+1]*o+a;if(s>0){var p=pr(d,-s);u=fr(p)}else u=d}else u=n;for(var g,v,y,m,b=0;b<u.length/2;b++)g=u[2*b],v=u[2*b+1],b<u.length/2-1?(y=u[2*(b+1)],m=u[2*(b+1)+1]):(y=u[0],m=u[1]),0!==(l=br(e,t,r,a,g,v,y,m)).length&&c.push(l[0],l[1]);return c},"polygonIntersectLine"),Er=e(function(e,t,n,r,a,i,o,s,l){var u,c=[],d=new Array(2*n.length);l.forEach(function(n,i){0===i?(d[d.length-2]=n.startX,d[d.length-1]=n.startY):(d[4*i-2]=n.startX,d[4*i-1]=n.startY),d[4*i]=n.stopX,d[4*i+1]=n.stopY,0!==(u=yr(e,t,r,a,n.cx,n.cy,n.radius)).length&&c.push(u[0],u[1])});for(var h=0;h<d.length/4;h++)0!==(u=br(e,t,r,a,d[4*h],d[4*h+1],d[4*h+2],d[4*h+3],!1)).length&&c.push(u[0],u[1]);if(c.length>2){for(var f=[c[0],c[1]],p=Math.pow(f[0]-e,2)+Math.pow(f[1]-t,2),g=1;g<c.length/2;g++){var v=Math.pow(c[2*g]-e,2)+Math.pow(c[2*g+1]-t,2);v<=p&&(f[0]=c[2*g],f[1]=c[2*g+1],p=v)}return f}return c},"roundPolygonIntersectLine"),Cr=e(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"),Tr=e(function(e,t){var n=Sr(e,t);return n=kr(n)},"generateUnitNgonPointsFitToSquare"),kr=e(function(e){for(var t,n,r=e.length/2,a=1/0,i=1/0,o=-1/0,s=-1/0,l=0;l<r;l++)t=e[2*l],n=e[2*l+1],a=Math.min(a,t),o=Math.max(o,t),i=Math.min(i,n),s=Math.max(s,n);for(var u=2/(o-a),c=2/(s-i),d=0;d<r;d++)t=e[2*d]=e[2*d]*u,n=e[2*d+1]=e[2*d+1]*c,a=Math.min(a,t),o=Math.max(o,t),i=Math.min(i,n),s=Math.max(s,n);if(i<-1)for(var h=0;h<r;h++)n=e[2*h+1]=e[2*h+1]+(-1-i);return e},"fitPolygonToSquare"),Sr=e(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,i=new Array(2*e),o=0;o<e;o++)a=o*n+r,i[2*o]=Math.cos(a),i[2*o+1]=Math.sin(-a);return i},"generateUnitNgonPoints"),Pr=e(function(e,t){return Math.min(e/4,t/4,8)},"getRoundRectangleRadius"),Br=e(function(e,t){return Math.min(e/10,t/10,8)},"getRoundPolygonRadius"),_r=e(function(){return 8},"getCutRectangleCornerLength"),Dr=e(function(e,t,n){return[e-2*t+n,2*(t-e),e]},"bezierPtsToQuadCoeff"),Ar=e(function(e,t){return{heightOffset:Math.min(15,.05*t),widthOffset:Math.min(100,.25*e),ctrlPtOffsetPct:.05}},"getBarrelCurveConstants");function Mr(t,n){function r(e){for(var t=[],n=0;n<e.length;n++){var r=e[n],a=e[(n+1)%e.length],i={x:a.x-r.x,y:a.y-r.y},o={x:-i.y,y:i.x},s=Math.sqrt(o.x*o.x+o.y*o.y);t.push({x:o.x/s,y:o.y/s})}return t}function a(e,t){var n,r=1/0,a=-1/0,i=s(e);try{for(i.s();!(n=i.n()).done;){var o=n.value,l=o.x*t.x+o.y*t.y;r=Math.min(r,l),a=Math.max(a,l)}}catch(e){i.e(e)}finally{i.f()}return{min:r,max:a}}function i(e,t){return!(e.max<t.min||t.max<e.min)}e(r,"getAxes"),e(a,"project"),e(i,"overlaps");var o,l=s([].concat(p(r(t)),p(r(n))));try{for(l.s();!(o=l.n()).done;){var u=o.value;if(!i(a(t,u),a(n,u)))return!1}}catch(e){l.e(e)}finally{l.f()}return!0}e(Mr,"satPolygonIntersection");var Rr=qt({dampingFactor:.8,precision:1e-6,iterations:200,weight:e(function(e){return 1},"weight")}),Ir={pageRank:e(function(t){for(var n=Rr(t),r=n.dampingFactor,a=n.precision,i=n.iterations,o=n.weight,s=this._private.cy,l=this.byGroup(),u=l.nodes,c=l.edges,d=u.length,h=d*d,f=c.length,p=new Array(h),g=new Array(d),v=(1-r)/d,y=0;y<d;y++){for(var m=0;m<d;m++){p[y*d+m]=0}g[y]=0}for(var b=0;b<f;b++){var x=c[b],w=x.data("source"),E=x.data("target");if(w!==E){var C=u.indexOfId(w),T=u.indexOfId(E),k=o(x);p[T*d+C]+=k,g[C]+=k}}for(var S=1/d+v,P=0;P<d;P++)if(0===g[P])for(var B=0;B<d;B++){p[B*d+P]=S}else for(var _=0;_<d;_++){var D=_*d+P;p[D]=p[D]/g[P]+v}for(var A,M=new Array(d),R=new Array(d),I=0;I<d;I++)M[I]=1;for(var L=0;L<i;L++){for(var N=0;N<d;N++)R[N]=0;for(var z=0;z<d;z++)for(var O=0;O<d;O++){var F=z*d+O;R[z]+=p[F]*M[O]}zn(R),A=M,M=R,R=A;for(var V=0,q=0;q<d;q++){var j=A[q]-M[q];V+=j*j}if(V<a)break}return{rank:e(function(e){return e=s.collection(e)[0],M[u.indexOf(e)]},"rank")}},"pageRank")},Lr=qt({root:null,weight:e(function(e){return 1},"weight"),directed:!1,alpha:0}),Nr={degreeCentralityNormalized:e(function(t){t=Lr(t);var n=this.cy(),r=this.nodes(),a=r.length;if(t.directed){for(var i={},o={},s=0,l=0,u=0;u<a;u++){var c=r[u],d=c.id();t.root=c;var h=this.degreeCentrality(t);s<h.indegree&&(s=h.indegree),l<h.outdegree&&(l=h.outdegree),i[d]=h.indegree,o[d]=h.outdegree}return{indegree:e(function(e){return 0==s?0:(ee(e)&&(e=n.filter(e)),i[e.id()]/s)},"indegree"),outdegree:e(function(e){return 0===l?0:(ee(e)&&(e=n.filter(e)),o[e.id()]/l)},"outdegree")}}for(var f={},p=0,g=0;g<a;g++){var v=r[g];t.root=v;var y=this.degreeCentrality(t);p<y.degree&&(p=y.degree),f[v.id()]=y.degree}return{degree:e(function(e){return 0===p?0:(ee(e)&&(e=n.filter(e)),f[e.id()]/p)},"degree")}},"degreeCentralityNormalized"),degreeCentrality:e(function(e){e=Lr(e);var t=this.cy(),n=this,r=e,a=r.root,i=r.weight,o=r.directed,s=r.alpha;if(a=t.collection(a)[0],o){for(var l=a.connectedEdges(),u=l.filter(function(e){return e.target().same(a)&&n.has(e)}),c=l.filter(function(e){return e.source().same(a)&&n.has(e)}),d=u.length,h=c.length,f=0,p=0,g=0;g<u.length;g++)f+=i(u[g]);for(var v=0;v<c.length;v++)p+=i(c[v]);return{indegree:Math.pow(d,1-s)*Math.pow(f,s),outdegree:Math.pow(h,1-s)*Math.pow(p,s)}}for(var y=a.connectedEdges().intersection(n),m=y.length,b=0,x=0;x<y.length;x++)b+=i(y[x]);return{degree:Math.pow(m,1-s)*Math.pow(b,s)}},"degreeCentrality")};Nr.dc=Nr.degreeCentrality,Nr.dcn=Nr.degreeCentralityNormalised=Nr.degreeCentralityNormalized;var zr=qt({harmonic:!0,weight:e(function(){return 1},"weight"),directed:!1,root:null}),Or={closenessCentralityNormalized:e(function(t){for(var n=zr(t),r=n.harmonic,a=n.weight,i=n.directed,o=this.cy(),s={},l=0,u=this.nodes(),c=this.floydWarshall({weight:a,directed:i}),d=0;d<u.length;d++){for(var h=0,f=u[d],p=0;p<u.length;p++)if(d!==p){var g=c.distance(f,u[p]);h+=r?1/g:g}r||(h=1/h),l<h&&(l=h),s[f.id()]=h}return{closeness:e(function(e){return 0==l?0:(e=ee(e)?o.filter(e)[0].id():e.id(),s[e]/l)},"closeness")}},"closenessCentralityNormalized"),closenessCentrality:e(function(e){var t=zr(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}),s=0,l=this.nodes(),u=0;u<l.length;u++){var c=l[u];if(!c.same(n)){var d=o.distanceTo(c);s+=i?1/d:d}}return i?s:1/s},"closenessCentrality")};Or.cc=Or.closenessCentrality,Or.ccn=Or.closenessCentralityNormalised=Or.closenessCentralityNormalized;var Fr=qt({weight:null,directed:!1}),Vr={betweennessCentrality:e(function(t){for(var n=Fr(t),r=n.directed,a=n.weight,i=null!=a,o=this.cy(),s=this.nodes(),l={},u={},c=0,d={set:e(function(e,t){u[e]=t,t>c&&(c=t)},"set"),get:e(function(e){return u[e]},"get")},h=0;h<s.length;h++){var f=s[h],p=f.id();l[p]=r?f.outgoers().nodes():f.openNeighborhood().nodes(),d.set(p,0)}for(var g=e(function(){for(var e=s[v].id(),t=[],n={},r={},u={},c=new un(function(e,t){return u[e]-u[t]}),h=0;h<s.length;h++){var f=s[h].id();n[f]=[],r[f]=0,u[f]=1/0}for(r[e]=1,u[e]=0,c.push(e);!c.empty();){var p=c.pop();if(t.push(p),i)for(var g=0;g<l[p].length;g++){var y=l[p][g],m=o.getElementById(p),b=void 0;b=m.edgesTo(y).length>0?m.edgesTo(y)[0]:y.edgesTo(m)[0];var x=a(b);y=y.id(),u[y]>u[p]+x&&(u[y]=u[p]+x,c.nodes.indexOf(y)<0?c.push(y):c.updateItem(y),r[y]=0,n[y]=[]),u[y]==u[p]+x&&(r[y]=r[y]+r[p],n[y].push(p))}else for(var w=0;w<l[p].length;w++){var E=l[p][w].id();u[E]==1/0&&(c.push(E),u[E]=u[p]+1),u[E]==u[p]+1&&(r[E]=r[E]+r[p],n[E].push(p))}}for(var C={},T=0;T<s.length;T++)C[s[T].id()]=0;for(;t.length>0;){for(var k=t.pop(),S=0;S<n[k].length;S++){var P=n[k][S];C[P]=C[P]+r[P]/r[k]*(1+C[k])}k!=s[v].id()&&d.set(k,d.get(k)+C[k])}},"_loop"),v=0;v<s.length;v++)g();var y={betweenness:e(function(e){var t=o.collection(e).id();return d.get(t)},"betweenness"),betweennessNormalized:e(function(e){if(0==c)return 0;var t=o.collection(e).id();return d.get(t)/c},"betweennessNormalized")};return y.betweennessNormalised=y.betweennessNormalized,y},"betweennessCentrality")};Vr.bc=Vr.betweennessCentrality;var qr=qt({expandFactor:2,inflateFactor:2,multFactor:1,maxIterations:20,attributes:[function(e){return 1}]}),jr=e(function(e){return qr(e)},"setOptions"),Xr=e(function(e,t){for(var n=0,r=0;r<t.length;r++)n+=t[r](e);return n},"getSimilarity"),Yr=e(function(e,t,n){for(var r=0;r<t;r++)e[r*t+r]=n},"addLoops"),Wr=e(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"),Hr=e(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 s=0;s<n;s++)r[a*n+s]+=e[a*n+o]*t[o*n+s]}return r},"mmult"),Kr=e(function(e,t,n){for(var r=e.slice(0),a=1;a<n;a++)e=Hr(e,r,t);return e},"expand"),Gr=e(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 Wr(r,t),r},"inflate"),Ur=e(function(e,t,n,r){for(var a=0;a<n;a++){if(Math.round(e[a]*Math.pow(10,r))/Math.pow(10,r)!==Math.round(t[a]*Math.pow(10,r))/Math.pow(10,r))return!1}return!0},"hasConverged"),Zr=e(function(e,t,n,r){for(var a=[],i=0;i<t;i++){for(var o=[],s=0;s<t;s++)Math.round(1e3*e[i*t+s])/1e3>0&&o.push(n[s]);0!==o.length&&a.push(r.collection(o))}return a},"assign"),$r=e(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"),Qr=e(function(e){for(var t=0;t<e.length;t++)for(var n=0;n<e.length;n++)t!=n&&$r(e[t],e[n])&&e.splice(n,1);return e},"removeDuplicates"),Jr=e(function(e){for(var t=this.nodes(),n=this.edges(),r=this.cy(),a=jr(e),i={},o=0;o<t.length;o++)i[t[o].id()]=o;for(var s,l=t.length,u=l*l,c=new Array(u),d=0;d<u;d++)c[d]=0;for(var h=0;h<n.length;h++){var f=n[h],p=i[f.source().id()],g=i[f.target().id()],v=Xr(f,a.attributes);c[p*l+g]+=v,c[g*l+p]+=v}Yr(c,l,a.multFactor),Wr(c,l);for(var y=!0,m=0;y&&m<a.maxIterations;)y=!1,s=Kr(c,l,a.expandFactor),c=Gr(s,l,a.inflateFactor),Ur(c,s,u,4)||(y=!0),m++;var b=Zr(c,l,t,r);return b=Qr(b)},"markovClustering"),ea={markovClustering:Jr,mcl:Jr},ta=e(function(e){return e},"identity"),na=e(function(e,t){return Math.abs(t-e)},"absDiff"),ra=e(function(e,t,n){return e+na(t,n)},"addAbsDiff"),aa=e(function(e,t,n){return e+Math.pow(n-t,2)},"addSquaredDiff"),ia=e(function(e){return Math.sqrt(e)},"sqrt"),oa=e(function(e,t,n){return Math.max(e,na(t,n))},"maxAbsDiff"),sa=e(function(e,t,n,r,a){for(var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:ta,o=r,s=0;s<e;s++)o=a(o,t(s),n(s));return i(o)},"getDistance"),la={euclidean:e(function(e,t,n){return e>=2?sa(e,t,n,0,aa,ia):sa(e,t,n,0,ra)},"euclidean"),squaredEuclidean:e(function(e,t,n){return sa(e,t,n,0,aa)},"squaredEuclidean"),manhattan:e(function(e,t,n){return sa(e,t,n,0,ra)},"manhattan"),max:e(function(e,t,n){return sa(e,t,n,-1/0,oa)},"max")};function ua(e,t,n,r,a,i){var o;return o=te(e)?e:la[e]||la.euclidean,0===t&&te(e)?o(a,i):o(t,n,r,a,i)}la["squared-euclidean"]=la.squaredEuclidean,la.squaredeuclidean=la.squaredEuclidean,e(ua,"clusteringDistance");var ca=qt({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),da=e(function(e){return ca(e)},"setOptions"),ha=e(function(t,n,r,a,i){var o="kMedoids"!==i?function(e){return r[e]}:function(e){return a[e](r)},s=e(function(e){return a[e](n)},"getQ"),l=r,u=n;return ua(t,a.length,o,s,l,u)},"getDist"),fa=e(function(e,t,n){for(var r=n.length,a=new Array(r),i=new Array(r),o=new Array(t),s=null,l=0;l<r;l++)a[l]=e.min(n[l]).value,i[l]=e.max(n[l]).value;for(var u=0;u<t;u++){s=[];for(var c=0;c<r;c++)s[c]=Math.random()*(i[c]-a[c])+a[c];o[u]=s}return o},"randomCentroids"),pa=e(function(e,t,n,r,a){for(var i=1/0,o=0,s=0;s<t.length;s++){var l=ha(n,e,t[s],r,a);l<i&&(i=l,o=s)}return o},"classify"),ga=e(function(e,t,n){for(var r=[],a=null,i=0;i<t.length;i++)n[(a=t[i]).id()]===e&&r.push(a);return r},"buildCluster"),va=e(function(e,t,n){return Math.abs(t-e)<=n},"haveValuesConverged"),ya=e(function(e,t,n){for(var r=0;r<e.length;r++)for(var a=0;a<e[r].length;a++){if(Math.abs(e[r][a]-t[r][a])>n)return!1}return!0},"haveMatricesConverged"),ma=e(function(e,t,n){for(var r=0;r<n;r++)if(e===t[r])return!0;return!1},"seenBefore"),ba=e(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)];ma(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"),xa=e(function(e,t,n){for(var r=0,a=0;a<t.length;a++)r+=ha("manhattan",t[a],e,n,"kMedoids");return r},"findCost"),wa=e(function(e){var t,n=this.cy(),r=this.nodes(),a=null,i=da(e),o=new Array(i.k),s={};i.testMode?"number"==typeof i.testCentroids?(i.testCentroids,t=fa(r,i.k,i.attributes)):t="object"===y(i.testCentroids)?i.testCentroids:fa(r,i.k,i.attributes):t=fa(r,i.k,i.attributes);for(var l=!0,u=0;l&&u<i.maxIterations;){for(var c=0;c<r.length;c++)s[(a=r[c]).id()]=pa(a,t,i.distance,i.attributes,"kMeans");l=!1;for(var d=0;d<i.k;d++){var h=ga(d,r,s);if(0!==h.length){for(var f=i.attributes.length,p=t[d],g=new Array(f),v=new Array(f),m=0;m<f;m++){v[m]=0;for(var b=0;b<h.length;b++)a=h[b],v[m]+=i.attributes[m](a);g[m]=v[m]/h.length,va(g[m],p[m],i.sensitivityThreshold)||(l=!0)}t[d]=g,o[d]=n.collection(h)}}u++}return o},"kMeans"),Ea=e(function(e){var t,n,r=this.cy(),a=this.nodes(),i=null,o=da(e),s=new Array(o.k),l={},u=new Array(o.k);o.testMode?"number"==typeof o.testCentroids||(t="object"===y(o.testCentroids)?o.testCentroids:ba(a,o.k)):t=ba(a,o.k);for(var c=!0,d=0;c&&d<o.maxIterations;){for(var h=0;h<a.length;h++)l[(i=a[h]).id()]=pa(i,t,o.distance,o.attributes,"kMedoids");c=!1;for(var f=0;f<t.length;f++){var p=ga(f,a,l);if(0!==p.length){u[f]=xa(t[f],p,o.attributes);for(var g=0;g<p.length;g++)(n=xa(p[g],p,o.attributes))<u[f]&&(u[f]=n,t[f]=p[g],c=!0);s[f]=r.collection(p)}}d++}return s},"kMedoids"),Ca=e(function(e,t,n,r,a){for(var i,o,s=0;s<t.length;s++)for(var l=0;l<e.length;l++)r[s][l]=Math.pow(n[s][l],a.m);for(var u=0;u<e.length;u++)for(var c=0;c<a.attributes.length;c++){i=0,o=0;for(var d=0;d<t.length;d++)i+=r[d][u]*a.attributes[c](t[d]),o+=r[d][u];e[u][c]=i/o}},"updateCentroids"),Ta=e(function(e,t,n,r,a){for(var i=0;i<e.length;i++)t[i]=e[i].slice();for(var o,s,l,u=2/(a.m-1),c=0;c<n.length;c++)for(var d=0;d<r.length;d++){o=0;for(var h=0;h<n.length;h++)s=ha(a.distance,r[d],n[c],a.attributes,"cmeans"),l=ha(a.distance,r[d],n[h],a.attributes,"cmeans"),o+=Math.pow(s/l,u);e[d][c]=1/o}},"updateMembership"),ka=e(function(e,t,n,r){for(var a=new Array(n.k),i=0;i<a.length;i++)a[i]=[];for(var o,s,l=0;l<t.length;l++){o=-1/0,s=-1;for(var u=0;u<t[0].length;u++)t[l][u]>o&&(o=t[l][u],s=u);a[s].push(e[l])}for(var c=0;c<a.length;c++)a[c]=r.collection(a[c]);return a},"assign"),Sa=e(function(e){var t,n,r,a,i=this.cy(),o=this.nodes(),s=da(e);r=new Array(o.length);for(var l=0;l<o.length;l++)r[l]=new Array(s.k);n=new Array(o.length);for(var u=0;u<o.length;u++)n[u]=new Array(s.k);for(var c=0;c<o.length;c++){for(var d=0,h=0;h<s.k;h++)n[c][h]=Math.random(),d+=n[c][h];for(var f=0;f<s.k;f++)n[c][f]=n[c][f]/d}t=new Array(s.k);for(var p=0;p<s.k;p++)t[p]=new Array(s.attributes.length);a=new Array(o.length);for(var g=0;g<o.length;g++)a[g]=new Array(s.k);for(var v=!0,y=0;v&&y<s.maxIterations;)v=!1,Ca(t,o,n,a,s),Ta(n,r,t,o,s),ya(n,r,s.sensitivityThreshold)||(v=!0),y++;return{clusters:ka(o,n,s,i),degreeOfMembership:n}},"fuzzyCMeans"),Pa={kMeans:wa,kMedoids:Ea,fuzzyCMeans:Sa,fcm:Sa},Ba=qt({distance:"euclidean",linkage:"min",mode:"threshold",threshold:1/0,addDendrogram:!1,dendrogramDepth:0,attributes:[]}),_a={single:"min",complete:"max"},Da=e(function(e){var t=Ba(e),n=_a[t.linkage];return null!=n&&(t.linkage=n),t},"setOptions"),Aa=e(function(t,n,r,a,i){for(var o,s=0,l=1/0,u=i.attributes,c=e(function(e,t){return ua(i.distance,u.length,function(t){return u[t](e)},function(e){return u[e](t)},e,t)},"getDist"),d=0;d<t.length;d++){var h=t[d].key,f=r[h][a[h]];f<l&&(s=h,l=f)}if("threshold"===i.mode&&l>=i.threshold||"dendrogram"===i.mode&&1===t.length)return!1;var p,g=n[s],v=n[a[s]];p="dendrogram"===i.mode?{left:g,right:v,key:g.key}:{value:g.value.concat(v.value),key:g.key},t[g.index]=p,t.splice(v.index,1),n[g.key]=p;for(var y=0;y<t.length;y++){var m=t[y];g.key===m.key?o=1/0:"min"===i.linkage?(o=r[g.key][m.key],r[g.key][m.key]>r[v.key][m.key]&&(o=r[v.key][m.key])):"max"===i.linkage?(o=r[g.key][m.key],r[g.key][m.key]<r[v.key][m.key]&&(o=r[v.key][m.key])):o="mean"===i.linkage?(r[g.key][m.key]*g.size+r[v.key][m.key]*v.size)/(g.size+v.size):"dendrogram"===i.mode?c(m.value,g.value):c(m.value[0],g.value[0]),r[g.key][m.key]=r[m.key][g.key]=o}for(var b=0;b<t.length;b++){var x=t[b].key;if(a[x]===g.key||a[x]===v.key){for(var w=x,E=0;E<t.length;E++){var C=t[E].key;r[x][C]<r[x][w]&&(w=C)}a[x]=w}t[b].index=b}return g.key=v.key=g.index=v.index=null,!0},"mergeClosest"),Ma=e(function(e,t,n){e&&(e.value?t.push(e.value):(e.left&&Ma(e.left,t),e.right&&Ma(e.right,t)))},"getAllChildren"),Ra=e(function(e,t){if(!e)return"";if(e.left&&e.right){var n=Ra(e.left,t),r=Ra(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()}return e.value?e.value.id():void 0},"buildDendrogram"),Ia=e(function(e,t,n){if(!e)return[];var r=[],a=[],i=[];return 0===t?(e.left&&Ma(e.left,r),e.right&&Ma(e.right,a),i=r.concat(a),[n.collection(i)]):1===t?e.value?[n.collection(e.value)]:(e.left&&Ma(e.left,r),e.right&&Ma(e.right,a),[n.collection(r),n.collection(a)]):e.value?[n.collection(e.value)]:(e.left&&(r=Ia(e.left,t-1,n)),e.right&&(a=Ia(e.right,t-1,n)),r.concat(a))},"buildClustersFromTree"),La=e(function(t){for(var n=this.cy(),r=this.nodes(),a=Da(t),i=a.attributes,o=e(function(e,t){return ua(a.distance,i.length,function(t){return i[t](e)},function(e){return i[e](t)},e,t)},"getDist"),s=[],l=[],u=[],c=[],d=0;d<r.length;d++){var h={value:"dendrogram"===a.mode?r[d]:[r[d]],key:d,index:d};s[d]=h,c[d]=h,l[d]=[],u[d]=0}for(var f=0;f<s.length;f++)for(var p=0;p<=f;p++){var g=void 0;g="dendrogram"===a.mode?f===p?1/0:o(s[f].value,s[p].value):f===p?1/0:o(s[f].value[0],s[p].value[0]),l[f][p]=g,l[p][f]=g,g<l[f][u[f]]&&(u[f]=p)}for(var v=Aa(s,c,l,u,a);v;)v=Aa(s,c,l,u,a);var y;return"dendrogram"===a.mode?(y=Ia(s[0],a.dendrogramDepth,n),a.addDendrogram&&Ra(s[0],n)):(y=new Array(s.length),s.forEach(function(e,t){e.key=e.index=null,y[t]=n.collection(e.value)})),y},"hierarchicalClustering"),Na={hierarchicalClustering:La,hca:La},za=qt({distance:"euclidean",preference:"median",damping:.8,maxIterations:1e3,minIterations:100,attributes:[]}),Oa=e(function(e){var t=e.damping,n=e.preference;.5<=t&&t<1||Mt("Damping must range on [0.5, 1). Got: ".concat(t));var r=["median","mean","min","max"];return r.some(function(e){return e===n})||ie(n)||Mt("Preference must be one of [".concat(r.map(function(e){return"'".concat(e,"'")}).join(", "),"] or a number. Got: ").concat(n)),za(e)},"setOptions"),Fa=e(function(t,n,r,a){var i=e(function(e,t){return a[t](e)},"attr");return-ua(t,a.length,function(e){return i(n,e)},function(e){return i(r,e)},n,r)},"getSimilarity"),Va=e(function(e,t){return"median"===t?Dn(e):"mean"===t?_n(e):"min"===t?Pn(e):"max"===t?Bn(e):t},"getPreference"),qa=e(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"),ja=e(function(e,t,n){for(var r=[],a=0;a<e;a++){for(var i=-1,o=-1/0,s=0;s<n.length;s++){var l=n[s];t[a*e+l]>o&&(i=l,o=t[a*e+l])}i>0&&r.push(i)}for(var u=0;u<n.length;u++)r[n[u]]=n[u];return r},"assignClusters"),Xa=e(function(e,t,n){for(var r=ja(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 s=-1,l=-1/0,u=0;u<i.length;u++){for(var c=0,d=0;d<i.length;d++)c+=t[i[d]*e+i[u]];c>l&&(s=u,l=c)}n[a]=i[s]}return r=ja(e,t,n)},"assign"),Ya=e(function(e){for(var t=this.cy(),n=this.nodes(),r=Oa(e),a={},i=0;i<n.length;i++)a[n[i].id()]=i;var o,s,l,u,c,d,h;s=(o=n.length)*o,l=new Array(s);for(var f=0;f<s;f++)l[f]=-1/0;for(var p=0;p<o;p++)for(var g=0;g<o;g++)p!==g&&(l[p*o+g]=Fa(r.distance,n[p],n[g],r.attributes));u=Va(l,r.preference);for(var v=0;v<o;v++)l[v*o+v]=u;c=new Array(s);for(var y=0;y<s;y++)c[y]=0;d=new Array(s);for(var m=0;m<s;m++)d[m]=0;for(var b=new Array(o),x=new Array(o),w=new Array(o),E=0;E<o;E++)b[E]=0,x[E]=0,w[E]=0;for(var C=new Array(o*r.minIterations),T=0;T<C.length;T++)C[T]=0;for(h=0;h<r.maxIterations;h++){for(var k=0;k<o;k++){for(var S=-1/0,P=-1/0,B=-1,_=0,D=0;D<o;D++)b[D]=c[k*o+D],(_=d[k*o+D]+l[k*o+D])>=S?(P=S,S=_,B=D):_>P&&(P=_);for(var A=0;A<o;A++)c[k*o+A]=(1-r.damping)*(l[k*o+A]-S)+r.damping*b[A];c[k*o+B]=(1-r.damping)*(l[k*o+B]-P)+r.damping*b[B]}for(var M=0;M<o;M++){for(var R=0,I=0;I<o;I++)b[I]=d[I*o+M],x[I]=Math.max(0,c[I*o+M]),R+=x[I];R-=x[M],x[M]=c[M*o+M],R+=x[M];for(var L=0;L<o;L++)d[L*o+M]=(1-r.damping)*Math.min(0,R-x[L])+r.damping*b[L];d[M*o+M]=(1-r.damping)*(R-x[M])+r.damping*b[M]}for(var N=0,z=0;z<o;z++){var O=d[z*o+z]+c[z*o+z]>0?1:0;C[h%r.minIterations*o+z]=O,N+=O}if(N>0&&(h>=r.minIterations-1||h==r.maxIterations-1)){for(var F=0,V=0;V<o;V++){w[V]=0;for(var q=0;q<r.minIterations;q++)w[V]+=C[q*o+V];(0===w[V]||w[V]===r.minIterations)&&F++}if(F===o)break}}for(var j=qa(o,c,d),X=Xa(o,l,j),Y={},W=0;W<j.length;W++)Y[j[W]]=[];for(var H=0;H<n.length;H++){var K=X[a[n[H].id()]];null!=K&&Y[K].push(n[H])}for(var G=new Array(j.length),U=0;U<j.length;U++)G[U]=t.collection(Y[j[U]]);return G},"affinityPropagation"),Wa={affinityPropagation:Ya,ap:Ya},Ha=qt({root:void 0,directed:!1}),Ka={hierholzer:e(function(t){if(!re(t)){var n=arguments;t={root:n[0],directed:n[1]}}var r,a,i,o=Ha(t),s=o.root,l=o.directed,u=this,c=!1;s&&(i=ee(s)?this.filter(s)[0].id():s[0].id());var d={},h={};l?u.forEach(function(e){var t=e.id();if(e.isNode()){var n=e.indegree(!0),i=e.outdegree(!0),o=n-i,s=i-n;1==o?r?c=!0:r=t:1==s?a?c=!0:a=t:(s>1||o>1)&&(c=!0),d[t]=[],e.outgoers().forEach(function(e){e.isEdge()&&d[t].push(e.id())})}else h[t]=[void 0,e.target().id()]}):u.forEach(function(e){var t=e.id();e.isNode()?(e.degree(!0)%2&&(r?a?c=!0:a=t:r=t),d[t]=[],e.connectedEdges().forEach(function(e){return d[t].push(e.id())})):h[t]=[e.source().id(),e.target().id()]});var f={found:!1,trail:void 0};if(c)return f;if(a&&r)if(l){if(i&&a!=i)return f;i=a}else{if(i&&a!=i&&r!=i)return f;i||(i=a)}else i||(i=u[0].id());var p=e(function(e){for(var t,n,r,a=e,i=[e];d[a].length;)t=d[a].shift(),n=h[t][0],a!=(r=h[t][1])?(d[r]=d[r].filter(function(e){return e!=t}),a=r):!l&&a!=n&&(d[n]=d[n].filter(function(e){return e!=t}),a=n),i.unshift(t),i.unshift(a);return i},"walk"),g=[],v=[];for(v=p(i);1!=v.length;)0==d[v[0]].length?(g.unshift(u.getElementById(v.shift())),g.unshift(u.getElementById(v.shift()))):v=p(v.shift()).concat(v);for(var y in g.unshift(u.getElementById(v.shift())),d)if(d[y].length)return f;return f.found=!0,f.trail=this.spawn(g,!0),f},"hierholzer")},Ga=e(function(){var t=this,n={},r=0,a=0,i=[],o=[],s={},l=e(function(e,r){for(var a=o.length-1,s=[],l=t.spawn();o[a].x!=e||o[a].y!=r;)s.push(o.pop().edge),a--;s.push(o.pop().edge),s.forEach(function(e){var r=e.connectedNodes().intersection(t);l.merge(e),r.forEach(function(e){var r=e.id(),a=e.connectedEdges().intersection(t);l.merge(e),n[r].cutVertex?l.merge(a.filter(function(e){return e.isLoop()})):l.merge(a)})}),i.push(l)},"buildComponent"),u=e(function(e,c,d){e===d&&(a+=1),n[c]={id:r,low:r++,cutVertex:!1};var h,f,p,g,v=t.getElementById(c).connectedEdges().intersection(t);0===v.size()?i.push(t.spawn(t.getElementById(c))):v.forEach(function(t){h=t.source().id(),f=t.target().id(),(p=h===c?f:h)!==d&&(g=t.id(),s[g]||(s[g]=!0,o.push({x:c,y:p,edge:t})),p in n?n[c].low=Math.min(n[c].low,n[p].id):(u(e,p,c),n[c].low=Math.min(n[c].low,n[p].low),n[c].id<=n[p].low&&(n[c].cutVertex=!0,l(c,p))))})},"biconnectedSearch");t.forEach(function(e){if(e.isNode()){var t=e.id();t in n||(a=0,u(t,t),n[t].cutVertex=a>1)}});var c=Object.keys(n).filter(function(e){return n[e].cutVertex}).map(function(e){return t.getElementById(e)});return{cut:t.spawn(c),components:i}},"hopcroftTarjanBiconnected"),Ua={hopcroftTarjanBiconnected:Ga,htbc:Ga,htb:Ga,hopcroftTarjanBiconnectedComponents:Ga},Za=e(function(){var t=this,n={},r=0,a=[],i=[],o=t.spawn(t),s=e(function(e){if(i.push(e),n[e]={index:r,low:r++,explored:!1},t.getElementById(e).connectedEdges().intersection(t).forEach(function(t){var r=t.target().id();r!==e&&(r in n||s(r),n[r].explored||(n[e].low=Math.min(n[e].low,n[r].low)))}),n[e].index===n[e].low){for(var l=t.spawn();;){var u=i.pop();if(l.merge(t.getElementById(u)),n[u].low=n[e].index,n[u].explored=!0,u===e)break}var c=l.edgesWith(l),d=l.merge(c);a.push(d),o=o.difference(d)}},"stronglyConnectedSearch");return t.forEach(function(e){if(e.isNode()){var t=e.id();t in n||s(t)}}),{cut:o,components:a}},"tarjanStronglyConnected"),$a={};[Jt,dn,hn,pn,vn,mn,En,Ir,Nr,Or,Vr,ea,Pa,Na,Wa,Ka,Ua,{tarjanStronglyConnected:Za,tsc:Za,tscc:Za,tarjanStronglyConnectedComponents:Za}].forEach(function(e){Me($a,e)});var Qa=e(function(e){if(!(this instanceof Qa))return new Qa(e);this.id="Thenable/1.0.7",this.state=0,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},"function"==typeof e&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))},"api");Qa.prototype={fulfill:e(function(e){return Ja(this,1,"fulfillValue",e)},"fulfill"),reject:e(function(e){return Ja(this,2,"rejectReason",e)},"reject"),then:e(function(e,t){var n=this,r=new Qa;return n.onFulfilled.push(ni(e,r,"fulfill")),n.onRejected.push(ni(t,r,"reject")),ei(n),r.proxy},"then")};var Ja=e(function(e,t,n,r){return 0===e.state&&(e.state=t,e[n]=r,ei(e)),e},"deliver"),ei=e(function(e){1===e.state?ti(e,"onFulfilled",e.fulfillValue):2===e.state&&ti(e,"onRejected",e.rejectReason)},"execute"),ti=e(function(t,n,r){if(0!==t[n].length){var a=t[n];t[n]=[];var i=e(function(){for(var e=0;e<a.length;e++)a[e](r)},"func");"function"==typeof setImmediate?setImmediate(i):setTimeout(i,0)}},"execute_handlers"),ni=e(function(e,t,n){return function(r){if("function"!=typeof e)t[n].call(t,r);else{var a;try{a=e(r)}catch(e){return void t.reject(e)}ri(t,a)}}},"resolver"),ri=e(function(e,t){if(e!==t&&e.proxy!==t){var n;if("object"===y(t)&&null!==t||"function"==typeof t)try{n=t.then}catch(t){return void e.reject(t)}if("function"!=typeof n)e.fulfill(t);else{var r=!1;try{n.call(t,function(n){r||(r=!0,n===t?e.reject(new TypeError("circular thenable chain")):ri(e,n))},function(t){r||(r=!0,e.reject(t))})}catch(t){r||e.reject(t)}}}else e.reject(new TypeError("cannot resolve promise with itself"))},"resolve");Qa.all=function(t){return new Qa(function(n,r){for(var a=new Array(t.length),i=0,o=e(function(e,r){a[e]=r,++i===t.length&&n(a)},"fulfill"),s=0;s<t.length;s++)(function(e){var n=t[e];null!=n&&null!=n.then?n.then(function(t){o(e,t)},function(e){r(e)}):o(e,n)})(s)})},Qa.resolve=function(e){return new Qa(function(t,n){t(e)})},Qa.reject=function(e){return new Qa(function(t,n){n(e)})};var ai=typeof Promise<"u"?Promise:Qa,ii=e(function(e,t,n){var r=de(e),a=!r,i=this._private=Me({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&&te(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 s=e.pan();i.startPan={x:s.x,y:s.y},i.startZoom=e.zoom()}this.length=1,this[0]=this},"Animation"),oi=ii.prototype;Me(oi,{instanceString:e(function(){return"animation"},"instanceString"),hook:e(function(){var e=this._private;if(!e.hooked){var t=e.target._private.animation;(e.queue?t.queue:t.current).push(this),le(e.target)&&e.target.cy().addToAnimationPool(e.target),e.hooked=!0}return this},"hook"),play:e(function(){var e=this._private;return 1===e.progress&&(e.progress=0),e.playing=!0,e.started=!1,e.stopped=!1,this.hook(),this},"play"),playing:e(function(){return this._private.playing},"playing"),apply:e(function(){var e=this._private;return e.applying=!0,e.started=!1,e.stopped=!1,this.hook(),this},"apply"),applying:e(function(){return this._private.applying},"applying"),pause:e(function(){var e=this._private;return e.playing=!1,e.started=!1,this},"pause"),stop:e(function(){var e=this._private;return e.playing=!1,e.started=!1,e.stopped=!0,this},"stop"),rewind:e(function(){return this.progress(0)},"rewind"),fastforward:e(function(){return this.progress(1)},"fastforward"),time:e(function(e){var t=this._private;return void 0===e?t.progress*t.duration:this.progress(e/t.duration)},"time"),progress:e(function(e){var t=this._private,n=t.playing;return void 0===e?t.progress:(n&&this.pause(),t.progress=e,t.started=!1,n&&this.play(),this)},"progress"),completed:e(function(){return 1===this._private.progress},"completed"),reverse:e(function(){var t=this._private,n=t.playing;n&&this.pause(),t.progress=1-t.progress,t.started=!1;var r=e(function(e,n){var r=t[e];null!=r&&(t[e]=t[n],t[n]=r)},"swap");if(r("zoom","startZoom"),r("pan","startPan"),r("position","startPosition"),t.style)for(var a=0;a<t.style.length;a++){var i=t.style[a],o=i.name,s=t.startStyle[o];t.startStyle[o]=i,t.style[a]=s}return n&&this.play(),this},"reverse"),promise:e(function(e){var t,n=this._private;if("frame"===e)t=n.frames;else t=n.completes;return new ai(function(e,n){t.push(function(){e()})})},"promise")}),oi.complete=oi.completed,oi.run=oi.play,oi.running=oi.playing;var si,li,ui,ci,di,hi,fi,pi,gi,vi,yi,mi,bi,xi,wi,Ei,Ci,Ti,ki,Si,Pi,Bi,_i,Di,Ai,Mi,Ri,Ii,Li,Ni,zi,Oi,Fi,Vi,qi,ji,Xi,Yi,Wi,Hi,Ki,Gi,Ui,Zi,$i,Qi,Ji,eo,to,no,ro,ao,io,oo,so,lo,uo,co,ho,fo,po,go,vo,yo,mo,bo,xo,wo,Eo,Co,To,ko,So,Po,Bo,_o,Do,Ao,Mo,Ro,Io,Lo,No,zo,Oo,Fo,Vo={animated:e(function(){return e(function(){var e=this,t=void 0!==e.length?e:[e];if(!(this._private.cy||this).styleEnabled())return!1;var n=t[0];return n?n._private.animation.current.length>0:void 0},"animatedImpl")},"animated"),clearQueue:e(function(){return e(function(){var e=this,t=void 0!==e.length?e:[e];if(!(this._private.cy||this).styleEnabled())return this;for(var n=0;n<t.length;n++){t[n]._private.animation.queue=[]}return this},"clearQueueImpl")},"clearQueue"),delay:e(function(){return e(function(e,t){return(this._private.cy||this).styleEnabled()?this.animate({delay:e,duration:e,complete:t}):this},"delayImpl")},"delay"),delayAnimation:e(function(){return e(function(e,t){return(this._private.cy||this).styleEnabled()?this.animation({delay:e,duration:e,complete:t}):this},"delayAnimationImpl")},"delayAnimation"),animation:e(function(){return e(function(e,t){var n=this,r=void 0!==n.length,a=r?n:[n],i=this._private.cy||this,o=!r,s=!o;if(!i.styleEnabled())return this;var l=i.style();if(e=Me({},e,t),0===Object.keys(e).length)return new ii(a[0],e);switch(void 0===e.duration&&(e.duration=400),e.duration){case"slow":e.duration=600;break;case"fast":e.duration=200}if(s&&(e.style=l.getPropsList(e.style||e.css),e.css=void 0),s&&null!=e.renderedPosition){var u=e.renderedPosition,c=i.pan(),d=i.zoom();e.position=kn(u,d,c)}if(o&&null!=e.panBy){var h=e.panBy,f=i.pan();e.pan={x:f.x+h.x,y:f.y+h.y}}var p=e.center||e.centre;if(o&&null!=p){var g=i.getCenterPan(p.eles,e.zoom);null!=g&&(e.pan=g)}if(o&&null!=e.fit){var v=e.fit,y=i.getFitViewport(v.eles||v.boundingBox,v.padding);null!=y&&(e.pan=y.pan,e.zoom=y.zoom)}if(o&&re(e.zoom)){var m=i.getZoomedViewport(e.zoom);null!=m?(m.zoomed&&(e.zoom=m.zoom),m.panned&&(e.pan=m.pan)):e.zoom=null}return new ii(a[0],e)},"animationImpl")},"animation"),animate:e(function(){return e(function(e,t){var n=this,r=void 0!==n.length?n:[n];if(!(this._private.cy||this).styleEnabled())return this;t&&(e=Me({},e,t));for(var a=0;a<r.length;a++){var i=r[a],o=i.animated()&&(void 0===e.queue||e.queue);i.animation(e,o?{queue:!0}:void 0).play()}return this},"animateImpl")},"animate"),stop:e(function(){return e(function(e,t){var n=this,r=void 0!==n.length?n:[n],a=this._private.cy||this;if(!a.styleEnabled())return this;for(var i=0;i<r.length;i++){for(var o=r[i]._private,s=o.animation.current,l=0;l<s.length;l++){var u=s[l]._private;t&&(u.duration=0)}e&&(o.animation.queue=[]),t||(o.animation.current=[])}return a.notify("draw"),this},"stopImpl")},"stop")};function qo(){if(li)return si;li=1;var e=Array.isArray;return si=e}function jo(){if(ci)return ui;ci=1;var t=qo(),n=et(),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;function i(e,i){if(t(e))return!1;var o=typeof e;return!("number"!=o&&"symbol"!=o&&"boolean"!=o&&null!=e&&!n(e))||(a.test(e)||!r.test(e)||null!=i&&e in Object(i))}return e(i,"isKey"),ui=i}function Xo(){if(hi)return di;hi=1;var t=Qe(),n=Xe();function r(e){if(!n(e))return!1;var r=t(e);return"[object Function]"==r||"[object GeneratorFunction]"==r||"[object AsyncFunction]"==r||"[object Proxy]"==r}return e(r,"isFunction"),di=r}function Yo(){if(pi)return fi;pi=1;var e=We()["__core-js_shared__"];return fi=e}function Wo(){if(vi)return gi;vi=1;var t,n=Yo(),r=(t=/[^.]+$/.exec(n&&n.keys&&n.keys.IE_PROTO||""))?"Symbol(src)_1."+t:"";function a(e){return!!r&&r in e}return e(a,"isMasked"),gi=a}function Ho(){if(mi)return yi;mi=1;var t=Function.prototype.toString;function n(e){if(null!=e){try{return t.call(e)}catch{}try{return e+""}catch{}}return""}return e(n,"toSource"),yi=n}function Ko(){if(xi)return bi;xi=1;var t=Xo(),n=Wo(),r=Xe(),a=Ho(),i=/^\[object .+?Constructor\]$/,o=Function.prototype,s=Object.prototype,l=o.toString,u=s.hasOwnProperty,c=RegExp("^"+l.call(u).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function d(e){return!(!r(e)||n(e))&&(t(e)?c:i).test(a(e))}return e(d,"baseIsNative"),bi=d}function Go(){if(Ei)return wi;function t(e,t){return e?.[t]}return Ei=1,e(t,"getValue"),wi=t}function Uo(){if(Ti)return Ci;Ti=1;var t=Ko(),n=Go();function r(e,r){var a=n(e,r);return t(a)?a:void 0}return e(r,"getNative"),Ci=r}function Zo(){if(Si)return ki;Si=1;var e=Uo()(Object,"create");return ki=e}function $o(){if(Bi)return Pi;Bi=1;var t=Zo();function n(){this.__data__=t?t(null):{},this.size=0}return e(n,"hashClear"),Pi=n}function Qo(){if(Di)return _i;function t(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}return Di=1,e(t,"hashDelete"),_i=t}function Jo(){if(Mi)return Ai;Mi=1;var t=Zo(),n=Object.prototype.hasOwnProperty;function r(e){var r=this.__data__;if(t){var a=r[e];return"__lodash_hash_undefined__"===a?void 0:a}return n.call(r,e)?r[e]:void 0}return e(r,"hashGet"),Ai=r}function es(){if(Ii)return Ri;Ii=1;var t=Zo(),n=Object.prototype.hasOwnProperty;function r(e){var r=this.__data__;return t?void 0!==r[e]:n.call(r,e)}return e(r,"hashHas"),Ri=r}function ts(){if(Ni)return Li;Ni=1;var t=Zo();function n(e,n){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=t&&void 0===n?"__lodash_hash_undefined__":n,this}return e(n,"hashSet"),Li=n}function ns(){if(Oi)return zi;Oi=1;var t=$o(),n=Qo(),r=Jo(),a=es(),i=ts();function o(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}return e(o,"Hash"),o.prototype.clear=t,o.prototype.delete=n,o.prototype.get=r,o.prototype.has=a,o.prototype.set=i,zi=o}function rs(){if(Vi)return Fi;function t(){this.__data__=[],this.size=0}return Vi=1,e(t,"listCacheClear"),Fi=t}function as(){if(ji)return qi;function t(e,t){return e===t||e!=e&&t!=t}return ji=1,e(t,"eq"),qi=t}function is(){if(Yi)return Xi;Yi=1;var t=as();function n(e,n){for(var r=e.length;r--;)if(t(e[r][0],n))return r;return-1}return e(n,"assocIndexOf"),Xi=n}function os(){if(Hi)return Wi;Hi=1;var t=is(),n=Array.prototype.splice;function r(e){var r=this.__data__,a=t(r,e);return!(a<0)&&(a==r.length-1?r.pop():n.call(r,a,1),--this.size,!0)}return e(r,"listCacheDelete"),Wi=r}function ss(){if(Gi)return Ki;Gi=1;var t=is();function n(e){var n=this.__data__,r=t(n,e);return r<0?void 0:n[r][1]}return e(n,"listCacheGet"),Ki=n}function ls(){if(Zi)return Ui;Zi=1;var t=is();function n(e){return t(this.__data__,e)>-1}return e(n,"listCacheHas"),Ui=n}function us(){if(Qi)return $i;Qi=1;var t=is();function n(e,n){var r=this.__data__,a=t(r,e);return a<0?(++this.size,r.push([e,n])):r[a][1]=n,this}return e(n,"listCacheSet"),$i=n}function cs(){if(eo)return Ji;eo=1;var t=rs(),n=os(),r=ss(),a=ls(),i=us();function o(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}return e(o,"ListCache"),o.prototype.clear=t,o.prototype.delete=n,o.prototype.get=r,o.prototype.has=a,o.prototype.set=i,Ji=o}function ds(){if(no)return to;no=1;var e=Uo()(We(),"Map");return to=e}function hs(){if(ao)return ro;ao=1;var t=ns(),n=cs(),r=ds();function a(){this.size=0,this.__data__={hash:new t,map:new(r||n),string:new t}}return e(a,"mapCacheClear"),ro=a}function fs(){if(oo)return io;function t(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}return oo=1,e(t,"isKeyable"),io=t}function ps(){if(lo)return so;lo=1;var t=fs();function n(e,n){var r=e.__data__;return t(n)?r["string"==typeof n?"string":"hash"]:r.map}return e(n,"getMapData"),so=n}function gs(){if(co)return uo;co=1;var t=ps();function n(e){var n=t(this,e).delete(e);return this.size-=n?1:0,n}return e(n,"mapCacheDelete"),uo=n}function vs(){if(fo)return ho;fo=1;var t=ps();function n(e){return t(this,e).get(e)}return e(n,"mapCacheGet"),ho=n}function ys(){if(go)return po;go=1;var t=ps();function n(e){return t(this,e).has(e)}return e(n,"mapCacheHas"),po=n}function ms(){if(yo)return vo;yo=1;var t=ps();function n(e,n){var r=t(this,e),a=r.size;return r.set(e,n),this.size+=r.size==a?0:1,this}return e(n,"mapCacheSet"),vo=n}function bs(){if(bo)return mo;bo=1;var t=hs(),n=gs(),r=vs(),a=ys(),i=ms();function o(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}return e(o,"MapCache"),o.prototype.clear=t,o.prototype.delete=n,o.prototype.get=r,o.prototype.has=a,o.prototype.set=i,mo=o}function xs(){if(wo)return xo;wo=1;var t=bs();function n(r,a){if("function"!=typeof r||null!=a&&"function"!=typeof a)throw new TypeError("Expected a function");var i=e(function(){var e=arguments,t=a?a.apply(this,e):e[0],n=i.cache;if(n.has(t))return n.get(t);var o=r.apply(this,e);return i.cache=n.set(t,o)||n,o},"memoized");return i.cache=new(n.Cache||t),i}return e(n,"memoize"),n.Cache=t,xo=n}function ws(){if(Co)return Eo;Co=1;var t=xs();function n(e){var n=t(e,function(e){return 500===r.size&&r.clear(),e}),r=n.cache;return n}return e(n,"memoizeCapped"),Eo=n}function Es(){if(ko)return To;ko=1;var e=ws(),t=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,n=/\\(\\)?/g,r=e(function(e){var r=[];return 46===e.charCodeAt(0)&&r.push(""),e.replace(t,function(e,t,a,i){r.push(a?i.replace(n,"$1"):t||e)}),r});return To=r}function Cs(){if(Po)return So;function t(e,t){for(var n=-1,r=null==e?0:e.length,a=Array(r);++n<r;)a[n]=t(e[n],n,e);return a}return Po=1,e(t,"arrayMap"),So=t}function Ts(){if(_o)return Bo;_o=1;var t=Ue(),n=Cs(),r=qo(),a=et(),i=t?t.prototype:void 0,o=i?i.toString:void 0;function s(e){if("string"==typeof e)return e;if(r(e))return n(e,s)+"";if(a(e))return o?o.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}return e(s,"baseToString"),Bo=s}function ks(){if(Ao)return Do;Ao=1;var t=Ts();function n(e){return null==e?"":t(e)}return e(n,"toString"),Do=n}function Ss(){if(Ro)return Mo;Ro=1;var t=qo(),n=jo(),r=Es(),a=ks();function i(e,i){return t(e)?e:n(e,i)?[e]:r(a(e))}return e(i,"castPath"),Mo=i}function Ps(){if(Lo)return Io;Lo=1;var t=et();function n(e){if("string"==typeof e||t(e))return e;var n=e+"";return"0"==n&&1/e==-1/0?"-0":n}return e(n,"toKey"),Io=n}function Bs(){if(zo)return No;zo=1;var t=Ss(),n=Ps();function r(e,r){for(var a=0,i=(r=t(r,e)).length;null!=e&&a<i;)e=e[n(r[a++])];return a&&a==i?e:void 0}return e(r,"baseGet"),No=r}function _s(){if(Fo)return Oo;Fo=1;var t=Bs();function n(e,n,r){var a=null==e?void 0:t(e,n);return void 0===a?r:a}return e(n,"get"),Oo=n}e(qo,"requireIsArray"),e(jo,"require_isKey"),e(Xo,"requireIsFunction"),e(Yo,"require_coreJsData"),e(Wo,"require_isMasked"),e(Ho,"require_toSource"),e(Ko,"require_baseIsNative"),e(Go,"require_getValue"),e(Uo,"require_getNative"),e(Zo,"require_nativeCreate"),e($o,"require_hashClear"),e(Qo,"require_hashDelete"),e(Jo,"require_hashGet"),e(es,"require_hashHas"),e(ts,"require_hashSet"),e(ns,"require_Hash"),e(rs,"require_listCacheClear"),e(as,"requireEq"),e(is,"require_assocIndexOf"),e(os,"require_listCacheDelete"),e(ss,"require_listCacheGet"),e(ls,"require_listCacheHas"),e(us,"require_listCacheSet"),e(cs,"require_ListCache"),e(ds,"require_Map"),e(hs,"require_mapCacheClear"),e(fs,"require_isKeyable"),e(ps,"require_getMapData"),e(gs,"require_mapCacheDelete"),e(vs,"require_mapCacheGet"),e(ys,"require_mapCacheHas"),e(ms,"require_mapCacheSet"),e(bs,"require_MapCache"),e(xs,"requireMemoize"),e(ws,"require_memoizeCapped"),e(Es,"require_stringToPath"),e(Cs,"require_arrayMap"),e(Ts,"require_baseToString"),e(ks,"requireToString"),e(Ss,"require_castPath"),e(Ps,"require_toKey"),e(Bs,"require_baseGet"),e(_s,"requireGet");var Ds,As,Ms,Rs,Is,Ls,Ns,zs,Os,Fs,Vs,qs,js=je(_s());function Xs(){if(As)return Ds;As=1;var e=Uo(),t=function(){try{var t=e(Object,"defineProperty");return t({},"",{}),t}catch{}}();return Ds=t}function Ys(){if(Rs)return Ms;Rs=1;var t=Xs();function n(e,n,r){"__proto__"==n&&t?t(e,n,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[n]=r}return e(n,"baseAssignValue"),Ms=n}function Ws(){if(Ls)return Is;Ls=1;var t=Ys(),n=as(),r=Object.prototype.hasOwnProperty;function a(e,a,i){var o=e[a];(!r.call(e,a)||!n(o,i)||void 0===i&&!(a in e))&&t(e,a,i)}return e(a,"assignValue"),Is=a}function Hs(){if(zs)return Ns;zs=1;var t=/^(?:0|[1-9]\d*)$/;function n(e,n){var r=typeof e;return!!(n=n??9007199254740991)&&("number"==r||"symbol"!=r&&t.test(e))&&e>-1&&e%1==0&&e<n}return e(n,"isIndex"),Ns=n}function Ks(){if(Fs)return Os;Fs=1;var t=Ws(),n=Ss(),r=Hs(),a=Xe(),i=Ps();function o(e,o,s,l){if(!a(e))return e;for(var u=-1,c=(o=n(o,e)).length,d=c-1,h=e;null!=h&&++u<c;){var f=i(o[u]),p=s;if("__proto__"===f||"constructor"===f||"prototype"===f)return e;if(u!=d){var g=h[f];void 0===(p=l?l(g,f,h):void 0)&&(p=a(g)?g:r(o[u+1])?[]:{})}t(h,f,p),h=h[f]}return e}return e(o,"baseSet"),Os=o}function Gs(){if(qs)return Vs;qs=1;var t=Ks();function n(e,n,r){return null==e?e:t(e,n,r)}return e(n,"set"),Vs=n}e(Xs,"require_defineProperty"),e(Ys,"require_baseAssignValue"),e(Ws,"require_assignValue"),e(Hs,"require_isIndex"),e(Ks,"require_baseSet"),e(Gs,"requireSet");var Us,Zs,$s,Qs,Js=je(Gs());function el(){if(Zs)return Us;function t(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}return Zs=1,e(t,"copyArray"),Us=t}function tl(){if(Qs)return $s;Qs=1;var t=Cs(),n=el(),r=qo(),a=et(),i=Es(),o=Ps(),s=ks();function l(e){return r(e)?t(e,o):a(e)?[e]:n(i(s(e)))}return e(l,"toPath"),$s=l}e(el,"require_copyArray"),e(tl,"requireToPath");var nl=je(tl()),rl={data:e(function(t){var n={field:"data",bindingEvent:"data",allowBinding:!1,allowSetting:!1,allowGetting:!1,settingEvent:"data",settingTriggersEvent:!1,triggerFnName:"trigger",immutableKeys:{},updateStyle:!1,beforeGet:e(function(e){},"beforeGet"),beforeSet:e(function(e,t){},"beforeSet"),onSet:e(function(e){},"onSet"),canSet:e(function(e){return!0},"canSet")};return t=Me({},n,t),e(function(e,n){var r=t,a=this,i=void 0!==a.length,o=i?a:[a],s=i?a[0]:a;if(ee(e)){var u,c=-1!==e.indexOf(".")&&nl(e);if(r.allowGetting&&void 0===n)return s&&(r.beforeGet(s),u=c&&void 0===s._private[r.field][e]?js(s._private[r.field],c):s._private[r.field][e]),u;if(r.allowSetting&&void 0!==n&&!r.immutableKeys[e]){var d=l({},e,n);r.beforeSet(a,d);for(var h=0,f=o.length;h<f;h++){var p=o[h];r.canSet(p)&&(c&&void 0===s._private[r.field][e]?Js(p._private[r.field],c,n):p._private[r.field][e]=n)}r.updateStyle&&a.updateStyle(),r.onSet(a),r.settingTriggersEvent&&a[r.triggerFnName](r.settingEvent)}}else if(r.allowSetting&&re(e)){var g,v,y=e,m=Object.keys(y);r.beforeSet(a,y);for(var b=0;b<m.length;b++){if(v=y[g=m[b]],!r.immutableKeys[g])for(var x=0;x<o.length;x++){var w=o[x];r.canSet(w)&&(w._private[r.field][g]=v)}}r.updateStyle&&a.updateStyle(),r.onSet(a),r.settingTriggersEvent&&a[r.triggerFnName](r.settingEvent)}else if(r.allowBinding&&te(e)){var E=e;a.on(r.bindingEvent,E)}else if(r.allowGetting&&void 0===e){var C;return s&&(r.beforeGet(s),C=s._private[r.field]),C}return a},"dataImpl")},"data"),removeData:e(function(t){return t=Me({},{field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!1,immutableKeys:{}},t),e(function(e){var n=t,r=this,a=void 0!==r.length?r:[r];if(ee(e)){for(var i=e.split(/\s+/),o=i.length,s=0;s<o;s++){var l=i[s];if(!pe(l))if(!n.immutableKeys[l])for(var u=0,c=a.length;u<c;u++)a[u]._private[n.field][l]=void 0}n.triggerEvent&&r[n.triggerFnName](n.event)}else if(void 0===e){for(var d=0,h=a.length;d<h;d++)for(var f=a[d]._private[n.field],p=Object.keys(f),g=0;g<p.length;g++){var v=p[g];!n.immutableKeys[v]&&(f[v]=void 0)}n.triggerEvent&&r[n.triggerFnName](n.event)}return r},"removeDataImpl")},"removeData")},al={eventAliasesOn:e(function(t){var n=t;n.addListener=n.listen=n.bind=n.on,n.unlisten=n.unbind=n.off=n.removeListener,n.trigger=n.emit,n.pon=n.promiseOn=function(t,n){var r=this,a=Array.prototype.slice.call(arguments,0);return new ai(function(t,n){var i=e(function(e){r.off.apply(r,s),t(e)},"callback"),o=a.concat([i]),s=o.concat([]);r.on.apply(r,o)})}},"eventAliasesOn")},il={};[Vo,rl,al].forEach(function(e){Me(il,e)});var ol={animate:il.animate(),animation:il.animation(),animated:il.animated(),clearQueue:il.clearQueue(),delay:il.delay(),delayAnimation:il.delayAnimation(),stop:il.stop()},sl={classes:e(function(e){var t=this;if(void 0===e){var n=[];return t[0]._private.classes.forEach(function(e){return n.push(e)}),n}ne(e)||(e=(e||"").match(/\S+/g)||[]);for(var r=[],a=new Zt(e),i=0;i<t.length;i++){for(var o=t[i],s=o._private,l=s.classes,u=!1,c=0;c<e.length;c++){var d=e[c];if(!l.has(d)){u=!0;break}}u||(u=l.size!==e.length),u&&(s.classes=a,r.push(o))}return r.length>0&&this.spawn(r).updateStyle().emit("class"),t},"classes"),addClass:e(function(e){return this.toggleClass(e,!0)},"addClass"),hasClass:e(function(e){var t=this[0];return null!=t&&t._private.classes.has(e)},"hasClass"),toggleClass:e(function(e,t){ne(e)||(e=e.match(/\S+/g)||[]);for(var n=this,r=void 0===t,a=[],i=0,o=n.length;i<o;i++)for(var s=n[i],l=s._private.classes,u=!1,c=0;c<e.length;c++){var d=e[c],h=l.has(d),f=!1;t||r&&!h?(l.add(d),f=!0):(!t||r&&h)&&(l.delete(d),f=!0),!u&&f&&(a.push(s),u=!0)}return a.length>0&&this.spawn(a).updateStyle().emit("class"),n},"toggleClass"),removeClass:e(function(e){return this.toggleClass(e,!1)},"removeClass"),flashClass:e(function(e,t){var n=this;if(null==t)t=250;else if(0===t)return n;return n.addClass(e),setTimeout(function(){n.removeClass(e)},t),n},"flashClass")};sl.className=sl.classNames=sl.classes;var ll={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:ke,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};ll.variable="(?:[\\w-.]|(?:\\\\"+ll.metaChar+"))+",ll.className="(?:[\\w-]|(?:\\\\"+ll.metaChar+"))+",ll.value=ll.string+"|"+ll.number,ll.id=ll.variable,function(){var e,t,n;for(e=ll.comparatorOp.split("|"),n=0;n<e.length;n++)t=e[n],ll.comparatorOp+="|@"+t;for(e=ll.comparatorOp.split("|"),n=0;n<e.length;n++)!((t=e[n]).indexOf("!")>=0)&&"="!==t&&(ll.comparatorOp+="|\\!"+t)}();var ul=e(function(){return{checks:[]}},"newQuery"),cl=0,dl=1,hl=2,fl=3,pl=4,gl=5,vl=6,yl=7,ml=8,bl=9,xl=10,wl=11,El=12,Cl=13,Tl=14,kl=15,Sl=16,Pl=17,Bl=18,_l=19,Dl=20,Al=[{selector:":selected",matches:e(function(e){return e.selected()},"matches")},{selector:":unselected",matches:e(function(e){return!e.selected()},"matches")},{selector:":selectable",matches:e(function(e){return e.selectable()},"matches")},{selector:":unselectable",matches:e(function(e){return!e.selectable()},"matches")},{selector:":locked",matches:e(function(e){return e.locked()},"matches")},{selector:":unlocked",matches:e(function(e){return!e.locked()},"matches")},{selector:":visible",matches:e(function(e){return e.visible()},"matches")},{selector:":hidden",matches:e(function(e){return!e.visible()},"matches")},{selector:":transparent",matches:e(function(e){return e.transparent()},"matches")},{selector:":grabbed",matches:e(function(e){return e.grabbed()},"matches")},{selector:":free",matches:e(function(e){return!e.grabbed()},"matches")},{selector:":removed",matches:e(function(e){return e.removed()},"matches")},{selector:":inside",matches:e(function(e){return!e.removed()},"matches")},{selector:":grabbable",matches:e(function(e){return e.grabbable()},"matches")},{selector:":ungrabbable",matches:e(function(e){return!e.grabbable()},"matches")},{selector:":animated",matches:e(function(e){return e.animated()},"matches")},{selector:":unanimated",matches:e(function(e){return!e.animated()},"matches")},{selector:":parent",matches:e(function(e){return e.isParent()},"matches")},{selector:":childless",matches:e(function(e){return e.isChildless()},"matches")},{selector:":child",matches:e(function(e){return e.isChild()},"matches")},{selector:":orphan",matches:e(function(e){return e.isOrphan()},"matches")},{selector:":nonorphan",matches:e(function(e){return e.isChild()},"matches")},{selector:":compound",matches:e(function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()},"matches")},{selector:":loop",matches:e(function(e){return e.isLoop()},"matches")},{selector:":simple",matches:e(function(e){return e.isSimple()},"matches")},{selector:":active",matches:e(function(e){return e.active()},"matches")},{selector:":inactive",matches:e(function(e){return!e.active()},"matches")},{selector:":backgrounding",matches:e(function(e){return e.backgrounding()},"matches")},{selector:":nonbackgrounding",matches:e(function(e){return!e.backgrounding()},"matches")}].sort(function(e,t){return Ae(e.selector,t.selector)}),Ml=function(){for(var e,t={},n=0;n<Al.length;n++)t[(e=Al[n]).selector]=e.matches;return t}(),Rl=e(function(e,t){return Ml[e](t)},"stateSelectorMatches"),Il="("+Al.map(function(e){return e.selector}).join("|")+")",Ll=e(function(e){return e.replace(new RegExp("\\\\("+ll.metaChar+")","g"),function(e,t){return t})},"cleanMetaChars"),Nl=e(function(e,t,n){e[e.length-1]=n},"replaceLastQuery"),zl=[{name:"group",query:!0,regex:"("+ll.group+")",populate:e(function(e,t,n){var r=f(n,1)[0];t.checks.push({type:cl,value:"*"===r?r:r+"s"})},"populate")},{name:"state",query:!0,regex:Il,populate:e(function(e,t,n){var r=f(n,1)[0];t.checks.push({type:yl,value:r})},"populate")},{name:"id",query:!0,regex:"\\#("+ll.id+")",populate:e(function(e,t,n){var r=f(n,1)[0];t.checks.push({type:ml,value:Ll(r)})},"populate")},{name:"className",query:!0,regex:"\\.("+ll.className+")",populate:e(function(e,t,n){var r=f(n,1)[0];t.checks.push({type:bl,value:Ll(r)})},"populate")},{name:"dataExists",query:!0,regex:"\\[\\s*("+ll.variable+")\\s*\\]",populate:e(function(e,t,n){var r=f(n,1)[0];t.checks.push({type:pl,field:Ll(r)})},"populate")},{name:"dataCompare",query:!0,regex:"\\[\\s*("+ll.variable+")\\s*("+ll.comparatorOp+")\\s*("+ll.value+")\\s*\\]",populate:e(function(e,t,n){var r=f(n,3),a=r[0],i=r[1],o=r[2];o=null!=new RegExp("^"+ll.string+"$").exec(o)?o.substring(1,o.length-1):parseFloat(o),t.checks.push({type:fl,field:Ll(a),operator:i,value:o})},"populate")},{name:"dataBool",query:!0,regex:"\\[\\s*("+ll.boolOp+")\\s*("+ll.variable+")\\s*\\]",populate:e(function(e,t,n){var r=f(n,2),a=r[0],i=r[1];t.checks.push({type:gl,field:Ll(i),operator:a})},"populate")},{name:"metaCompare",query:!0,regex:"\\[\\[\\s*("+ll.meta+")\\s*("+ll.comparatorOp+")\\s*("+ll.number+")\\s*\\]\\]",populate:e(function(e,t,n){var r=f(n,3),a=r[0],i=r[1],o=r[2];t.checks.push({type:vl,field:Ll(a),operator:i,value:parseFloat(o)})},"populate")},{name:"nextQuery",separator:!0,regex:ll.separator,populate:e(function(e,t){var n=e.currentSubject,r=e.edgeCount,a=e.compoundCount,i=e[e.length-1];return null!=n&&(i.subject=n,e.currentSubject=null),i.edgeCount=r,i.compoundCount=a,e.edgeCount=0,e.compoundCount=0,e[e.length++]=ul()},"populate")},{name:"directedEdge",separator:!0,regex:ll.directedEdge,populate:e(function(e,t){if(null==e.currentSubject){var n=ul(),r=t,a=ul();return n.checks.push({type:wl,source:r,target:a}),Nl(e,t,n),e.edgeCount++,a}var i=ul(),o=t,s=ul();return i.checks.push({type:El,source:o,target:s}),Nl(e,t,i),e.edgeCount++,s},"populate")},{name:"undirectedEdge",separator:!0,regex:ll.undirectedEdge,populate:e(function(e,t){if(null==e.currentSubject){var n=ul(),r=t,a=ul();return n.checks.push({type:xl,nodes:[r,a]}),Nl(e,t,n),e.edgeCount++,a}var i=ul(),o=t,s=ul();return i.checks.push({type:Tl,node:o,neighbor:s}),Nl(e,t,i),s},"populate")},{name:"child",separator:!0,regex:ll.child,populate:e(function(e,t){if(null==e.currentSubject){var n=ul(),r=ul(),a=e[e.length-1];return n.checks.push({type:kl,parent:a,child:r}),Nl(e,t,n),e.compoundCount++,r}if(e.currentSubject===t){var i=ul(),o=e[e.length-1],s=ul(),l=ul(),u=ul(),c=ul();return i.checks.push({type:_l,left:o,right:s,subject:l}),l.checks=t.checks,t.checks=[{type:Dl}],c.checks.push({type:Dl}),s.checks.push({type:Pl,parent:c,child:u}),Nl(e,o,i),e.currentSubject=l,e.compoundCount++,u}var d=ul(),h=ul(),f=[{type:Pl,parent:d,child:h}];return d.checks=t.checks,t.checks=f,e.compoundCount++,h},"populate")},{name:"descendant",separator:!0,regex:ll.descendant,populate:e(function(e,t){if(null==e.currentSubject){var n=ul(),r=ul(),a=e[e.length-1];return n.checks.push({type:Sl,ancestor:a,descendant:r}),Nl(e,t,n),e.compoundCount++,r}if(e.currentSubject===t){var i=ul(),o=e[e.length-1],s=ul(),l=ul(),u=ul(),c=ul();return i.checks.push({type:_l,left:o,right:s,subject:l}),l.checks=t.checks,t.checks=[{type:Dl}],c.checks.push({type:Dl}),s.checks.push({type:Bl,ancestor:c,descendant:u}),Nl(e,o,i),e.currentSubject=l,e.compoundCount++,u}var d=ul(),h=ul(),f=[{type:Bl,ancestor:d,descendant:h}];return d.checks=t.checks,t.checks=f,e.compoundCount++,h},"populate")},{name:"subject",modifier:!0,regex:ll.subject,populate:e(function(e,t){if(null!=e.currentSubject&&e.currentSubject!==t)return It("Redefinition of subject in selector `"+e.toString()+"`"),!1;e.currentSubject=t;var n=e[e.length-1].checks[0],r=null==n?null:n.type;r===wl?n.type=Cl:r===xl&&(n.type=Tl,n.node=n.nodes[1],n.neighbor=n.nodes[0],n.nodes=null)},"populate")}];zl.forEach(function(e){return e.regexObj=new RegExp("^"+e.regex)});var Ol=e(function(e){for(var t,n,r,a=0;a<zl.length;a++){var i=zl[a],o=i.name,s=e.match(i.regexObj);if(null!=s){n=s,t=i,r=o;var l=s[0];e=e.substring(l.length);break}}return{expr:t,match:n,name:r,remaining:e}},"consumeExpr"),Fl=e(function(e){var t=e.match(/^\s+/);if(t){var n=t[0];e=e.substring(n.length)}return e},"consumeWhitespace"),Vl={parse:e(function(e){var t=this,n=t.inputText=e,r=t[0]=ul();for(t.length=1,n=Fl(n);;){var a=Ol(n);if(null==a.expr)return It("The selector `"+e+"`is invalid"),!1;var i=a.match.slice(1),o=a.expr.populate(t,r,i);if(!1===o)return!1;if(null!=o&&(r=o),(n=a.remaining).match(/^\s*$/))break}var s=t[t.length-1];null!=t.currentSubject&&(s.subject=t.currentSubject),s.edgeCount=t.edgeCount,s.compoundCount=t.compoundCount;for(var l=0;l<t.length;l++){var u=t[l];if(u.compoundCount>0&&u.edgeCount>0)return It("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(u.edgeCount>1)return It("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;1===u.edgeCount&&It("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"),toString:e(function(){if(null!=this.toStringCache)return this.toStringCache;for(var t=e(function(e){return e??""},"clean"),n=e(function(e){return ee(e)?'"'+e+'"':t(e)},"cleanVal"),r=e(function(e){return" "+e+" "},"space"),a=e(function(e,a){var o=e.type,s=e.value;switch(o){case cl:var l=t(s);return l.substring(0,l.length-1);case fl:var u=e.field,c=e.operator;return"["+u+r(t(c))+n(s)+"]";case gl:var d=e.operator,h=e.field;return"["+t(d)+h+"]";case pl:return"["+e.field+"]";case vl:var f=e.operator;return"[["+e.field+r(t(f))+n(s)+"]]";case yl:return s;case ml:return"#"+s;case bl:return"."+s;case Pl:case kl:return i(e.parent,a)+r(">")+i(e.child,a);case Bl:case Sl:return i(e.ancestor,a)+" "+i(e.descendant,a);case _l:var p=i(e.left,a),g=i(e.subject,a),v=i(e.right,a);return p+(p.length>0?" ":"")+g+v;case Dl:return""}},"checkToString"),i=e(function(e,t){return e.checks.reduce(function(n,r,i){return n+(t===e&&0===i?"$":"")+a(r,t)},"")},"queryToString"),o="",s=0;s<this.length;s++){var l=this[s];o+=i(l,l.subject),this.length>1&&s<this.length-1&&(o+=", ")}return this.toStringCache=o,o},"toString")},ql=e(function(e,t,n){var r,a,i,o=ee(e),s=ie(e),l=ee(n),u=!1,c=!1,d=!1;switch(t.indexOf("!")>=0&&(t=t.replace("!",""),c=!0),t.indexOf("@")>=0&&(t=t.replace("@",""),u=!0),(o||l||u)&&(a=o||s?""+e:"",i=""+n),u&&(e=a=a.toLowerCase(),n=i=i.toLowerCase()),t){case"*=":r=a.indexOf(i)>=0;break;case"$=":r=a.indexOf(i,a.length-i.length)>=0;break;case"^=":r=0===a.indexOf(i);break;case"=":r=e===n;break;case">":d=!0,r=e>n;break;case">=":d=!0,r=e>=n;break;case"<":d=!0,r=e<n;break;case"<=":d=!0,r=e<=n;break;default:r=!1}return c&&(null!=e||!d)&&(r=!r),r},"valCmp"),jl=e(function(e,t){switch(t){case"?":return!!e;case"!":return!e;case"^":return void 0===e}},"boolCmp"),Xl=e(function(e){return void 0!==e},"existCmp"),Yl=e(function(e,t){return e.data(t)},"data"),Wl=e(function(e,t){return e[t]()},"meta"),Hl=[],Kl=e(function(e,t){return e.checks.every(function(e){return Hl[e.type](e,t)})},"matches");Hl[cl]=function(e,t){var n=e.value;return"*"===n||n===t.group()},Hl[yl]=function(e,t){var n=e.value;return Rl(n,t)},Hl[ml]=function(e,t){var n=e.value;return t.id()===n},Hl[bl]=function(e,t){var n=e.value;return t.hasClass(n)},Hl[vl]=function(e,t){var n=e.field,r=e.operator,a=e.value;return ql(Wl(t,n),r,a)},Hl[fl]=function(e,t){var n=e.field,r=e.operator,a=e.value;return ql(Yl(t,n),r,a)},Hl[gl]=function(e,t){var n=e.field,r=e.operator;return jl(Yl(t,n),r)},Hl[pl]=function(e,t){var n=e.field;return e.operator,Xl(Yl(t,n))},Hl[xl]=function(e,t){var n=e.nodes[0],r=e.nodes[1],a=t.source(),i=t.target();return Kl(n,a)&&Kl(r,i)||Kl(r,a)&&Kl(n,i)},Hl[Tl]=function(e,t){return Kl(e.node,t)&&t.neighborhood().some(function(t){return t.isNode()&&Kl(e.neighbor,t)})},Hl[wl]=function(e,t){return Kl(e.source,t.source())&&Kl(e.target,t.target())},Hl[El]=function(e,t){return Kl(e.source,t)&&t.outgoers().some(function(t){return t.isNode()&&Kl(e.target,t)})},Hl[Cl]=function(e,t){return Kl(e.target,t)&&t.incomers().some(function(t){return t.isNode()&&Kl(e.source,t)})},Hl[kl]=function(e,t){return Kl(e.child,t)&&Kl(e.parent,t.parent())},Hl[Pl]=function(e,t){return Kl(e.parent,t)&&t.children().some(function(t){return Kl(e.child,t)})},Hl[Sl]=function(e,t){return Kl(e.descendant,t)&&t.ancestors().some(function(t){return Kl(e.ancestor,t)})},Hl[Bl]=function(e,t){return Kl(e.ancestor,t)&&t.descendants().some(function(t){return Kl(e.descendant,t)})},Hl[_l]=function(e,t){return Kl(e.subject,t)&&Kl(e.left,t)&&Kl(e.right,t)},Hl[Dl]=function(){return!0},Hl[dl]=function(e,t){return e.value.has(t)},Hl[hl]=function(e,t){return(0,e.value)(t)};var Gl=e(function(t){var n=this;if(1===n.length&&1===n[0].checks.length&&n[0].checks[0].type===ml)return t.getElementById(n[0].checks[0].value).collection();var r=e(function(e){for(var t=0;t<n.length;t++){var r=n[t];if(Kl(r,e))return!0}return!1},"selectorFunction");return null==n.text()&&(r=e(function(){return!0},"selectorFunction")),t.filter(r)},"filter"),Ul={matches:e(function(e){for(var t=0;t<this.length;t++){var n=this[t];if(Kl(n,e))return!0}return!1},"matches"),filter:Gl},Zl=e(function(e){this.inputText=e,this.currentSubject=null,this.compoundCount=0,this.edgeCount=0,this.length=0,null==e||ee(e)&&e.match(/^\s*$/)||(le(e)?this.addQuery({checks:[{type:dl,value:e.collection()}]}):te(e)?this.addQuery({checks:[{type:hl,value:e}]}):ee(e)?this.parse(e)||(this.invalid=!0):Mt("A selector must be created from a string; found "))},"Selector"),$l=Zl.prototype;[Vl,Ul].forEach(function(e){return Me($l,e)}),$l.text=function(){return this.inputText},$l.size=function(){return this.length},$l.eq=function(e){return this[e]},$l.sameText=function(e){return!this.invalid&&!e.invalid&&this.text()===e.text()},$l.addQuery=function(e){this[this.length++]=e},$l.selector=$l.toString;var Ql={allAre:e(function(e){var t=new Zl(e);return this.every(function(e){return t.matches(e)})},"allAre"),is:e(function(e){var t=new Zl(e);return this.some(function(e){return t.matches(e)})},"is"),some:e(function(e,t){for(var n=0;n<this.length;n++){if(t?e.apply(t,[this[n],n,this]):e(this[n],n,this))return!0}return!1},"some"),every:e(function(e,t){for(var n=0;n<this.length;n++){if(!(t?e.apply(t,[this[n],n,this]):e(this[n],n,this)))return!1}return!0},"every"),same:e(function(e){if(this===e)return!0;e=this.cy().collection(e);var t=this.length;return t===e.length&&(1===t?this[0]===e[0]:this.every(function(t){return e.hasElementWithId(t.id())}))},"same"),anySame:e(function(e){return e=this.cy().collection(e),this.some(function(t){return e.hasElementWithId(t.id())})},"anySame"),allAreNeighbors:e(function(e){e=this.cy().collection(e);var t=this.neighborhood();return e.every(function(e){return t.hasElementWithId(e.id())})},"allAreNeighbors"),contains:e(function(e){e=this.cy().collection(e);var t=this;return e.every(function(e){return t.hasElementWithId(e.id())})},"contains")};Ql.allAreNeighbours=Ql.allAreNeighbors,Ql.has=Ql.contains,Ql.equal=Ql.equals=Ql.same;var Jl,eu,tu=e(function(t,n){return e(function(e,r,a,i){var o,s=e,l=this;if(null==s?o="":le(s)&&1===s.length&&(o=s.id()),1===l.length&&o){var u=l[0]._private,c=u.traversalCache=u.traversalCache||{},d=c[n]=c[n]||[],h=mt(o);return d[h]||(d[h]=t.call(l,e,r,a,i))}return t.call(l,e,r,a,i)},"traversalCache")},"cache"),nu={parent:e(function(e){var t=[];if(1===this.length){var n=this[0]._private.parent;if(n)return n}for(var r=0;r<this.length;r++){var a=this[r]._private.parent;a&&t.push(a)}return this.spawn(t,!0).filter(e)},"parent"),parents:e(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:e(function(e){for(var t,n=0;n<this.length;n++){var r=this[n].parents();t=(t=t||r).intersect(r)}return t.filter(e)},"commonAncestors"),orphans:e(function(e){return this.stdFilter(function(e){return e.isOrphan()}).filter(e)},"orphans"),nonorphans:e(function(e){return this.stdFilter(function(e){return e.isChild()}).filter(e)},"nonorphans"),children:tu(function(e){for(var t=[],n=0;n<this.length;n++)for(var r=this[n]._private.children,a=0;a<r.length;a++)t.push(r[a]);return this.spawn(t,!0).filter(e)},"children"),siblings:e(function(e){return this.parent().children().not(this).filter(e)},"siblings"),isParent:e(function(){var e=this[0];if(e)return e.isNode()&&0!==e._private.children.length},"isParent"),isChildless:e(function(){var e=this[0];if(e)return e.isNode()&&0===e._private.children.length},"isChildless"),isChild:e(function(){var e=this[0];if(e)return e.isNode()&&null!=e._private.parent},"isChild"),isOrphan:e(function(){var e=this[0];if(e)return e.isNode()&&null==e._private.parent},"isOrphan"),descendants:e(function(t){var n=[];function r(e){for(var t=0;t<e.length;t++){var a=e[t];n.push(a),a.children().nonempty()&&r(a.children())}}return e(r,"add"),r(this.children()),this.spawn(n,!0).filter(t)},"descendants")};function ru(e,t,n,r){for(var a=[],i=new Zt,o=e.cy().hasCompoundNodes(),s=0;s<e.length;s++){var l=e[s];n?a.push(l):o&&r(a,i,l)}for(;a.length>0;){var u=a.shift();t(u),i.add(u.id()),o&&r(a,i,u)}return e}function au(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)}}function iu(e,t,n){if(n.isChild()){var r=n._private.parent;t.has(r.id())||e.push(r)}}function ou(e,t,n){iu(e,t,n),au(e,t,n)}e(ru,"forEachCompound"),e(au,"addChildren"),nu.forEachDown=function(e){return ru(this,e,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],au)},e(iu,"addParent"),nu.forEachUp=function(e){return ru(this,e,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],iu)},e(ou,"addParentAndChildren"),nu.forEachUpAndDown=function(e){return ru(this,e,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],ou)},nu.ancestors=nu.parents,(Jl=eu={data:il.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:il.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:il.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:il.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:il.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:il.removeData({field:"rscratch",triggerEvent:!1}),id:e(function(){var e=this[0];if(e)return e._private.data.id},"id")}).attr=Jl.data,Jl.removeAttr=Jl.removeData;var su=eu,lu={};function uu(e){return function(t){var n=this;if(void 0===t&&(t=!0),0===n.length);else if(n.isNode()&&!n.removed()){for(var r=0,a=n[0],i=a._private.edges,o=0;o<i.length;o++){var s=i[o];!t&&s.isLoop()||(r+=e(a,s))}return r}}}function cu(e,t){return function(n){for(var r,a=this.nodes(),i=0;i<a.length;i++){var o=a[i][e](n);void 0!==o&&(void 0===r||t(o,r))&&(r=o)}return r}}e(uu,"defineDegreeFunction"),Me(lu,{degree:uu(function(e,t){return t.source().same(t.target())?2:1}),indegree:uu(function(e,t){return t.target().same(e)?1:0}),outdegree:uu(function(e,t){return t.source().same(e)?1:0})}),e(cu,"defineDegreeBoundsFunction"),Me(lu,{minDegree:cu("degree",function(e,t){return e<t}),maxDegree:cu("degree",function(e,t){return e>t}),minIndegree:cu("indegree",function(e,t){return e<t}),maxIndegree:cu("indegree",function(e,t){return e>t}),minOutdegree:cu("outdegree",function(e,t){return e<t}),maxOutdegree:cu("outdegree",function(e,t){return e>t})}),Me(lu,{totalDegree:e(function(e){for(var t=0,n=this.nodes(),r=0;r<n.length;r++)t+=n[r].degree(e);return t},"totalDegree")});var du,hu,fu=e(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:null!=t.x?t.x-i.x:0,y:null!=t.y?t.y-i.y:0};a.isParent()&&!(0===o.x&&0===o.y)&&a.children().shift(o,n),a.dirtyBoundingBoxCache()}}},"beforePositionSet"),pu={field:"position",bindingEvent:"position",allowBinding:!0,allowSetting:!0,settingEvent:"position",settingTriggersEvent:!0,triggerFnName:"emitAndNotify",allowGetting:!0,validKeys:["x","y"],beforeGet:e(function(e){e.updateCompoundBounds()},"beforeGet"),beforeSet:e(function(e,t){fu(e,t,!1)},"beforeSet"),onSet:e(function(e){e.dirtyCompoundBoundsCache()},"onSet"),canSet:e(function(e){return!e.locked()},"canSet")};(du=hu={position:il.data(pu),silentPosition:il.data(Me({},pu,{allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!1,beforeSet:e(function(e,t){fu(e,t,!0)},"beforeSet"),onSet:e(function(e){e.dirtyCompoundBoundsCache()},"onSet")})),positions:e(function(e,t){if(re(e))t?this.silentPosition(e):this.position(e);else if(te(e)){var n=e,r=this.cy();r.startBatch();for(var a=0;a<this.length;a++){var i,o=this[a];(i=n(o,a))&&(t?o.silentPosition(i):o.position(i))}r.endBatch()}return this},"positions"),silentPositions:e(function(e){return this.positions(e,!0)},"silentPositions"),shift:e(function(e,t,n){var r;if(re(e)?(r={x:ie(e.x)?e.x:0,y:ie(e.y)?e.y:0},n=t):ee(e)&&ie(t)&&((r={x:0,y:0})[e]=t),null!=r){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 s=o.position(),l={x:s.x+r.x,y:s.y+r.y};n?o.silentPosition(l):o.position(l)}}a.endBatch()}return this},"shift"),silentShift:e(function(e,t){return re(e)?this.shift(e,!0):ee(e)&&ie(t)&&this.shift(e,t,!0),this},"silentShift"),renderedPosition:e(function(e,t){var n=this[0],r=this.cy(),a=r.zoom(),i=r.pan(),o=re(e)?e:void 0,s=void 0!==o||void 0!==t&&ee(e);if(n&&n.isNode()){if(!s){var l=n.position();return o=Tn(l,a,i),void 0===e?o:o[e]}for(var u=0;u<this.length;u++){var c=this[u];void 0!==t?c.position(e,(t-i[e])/a):void 0!==o&&c.position(kn(o,a,i))}}else if(!s)return;return this},"renderedPosition"),relativePosition:e(function(e,t){var n=this[0],r=this.cy(),a=re(e)?e:void 0,i=void 0!==a||void 0!==t&&ee(e),o=r.hasCompoundNodes();if(n&&n.isNode()){if(!i){var s=n.position(),l=o?n.parent():null,u=l&&l.length>0,c=u;u&&(l=l[0]);var d=c?l.position():{x:0,y:0};return a={x:s.x-d.x,y:s.y-d.y},void 0===e?a:a[e]}for(var h=0;h<this.length;h++){var f=this[h],p=o?f.parent():null,g=p&&p.length>0,v=g;g&&(p=p[0]);var y=v?p.position():{x:0,y:0};void 0!==t?f.position(e,t+y[e]):void 0!==a&&f.position({x:a.x+y.x,y:a.y+y.y})}}else if(!i)return;return this},"relativePosition")}).modelPosition=du.point=du.position,du.modelPositions=du.points=du.positions,du.renderedPoint=du.renderedPosition,du.relativePoint=du.relativePosition;var gu,vu,yu=hu;gu=vu={},vu.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,s=t.y1*r+a.y,l=t.y2*r+a.y;return{x1:i,x2:o,y1:s,y2:l,w:o-i,h:l-s}},vu.dirtyCompoundBoundsCache=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();return t.styleEnabled()&&t.hasCompoundNodes()?(this.forEachUp(function(t){if(t.isParent()){var n=t._private;n.compoundBoundsClean=!1,n.bbCache=null,e||t.emitAndNotify("bounds")}}),this):this},vu.updateCompoundBounds=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=this.cy();if(!n.styleEnabled()||!n.hasCompoundNodes())return this;if(!t&&n.batching())return this;function r(t){if(t.isParent()){var n=t._private,r=t.children(),a="include"===t.pstyle("compound-sizing-wrt-labels").value,i={width:{val:t.pstyle("min-width").pfValue,left:t.pstyle("min-width-bias-left"),right:t.pstyle("min-width-bias-right")},height:{val:t.pstyle("min-height").pfValue,top:t.pstyle("min-height-bias-top"),bottom:t.pstyle("min-height-bias-bottom")}},o=r.boundingBox({includeLabels:a,includeOverlays:!1,useCache:!1}),s=n.position;(0===o.w||0===o.h)&&((o={w:t.pstyle("width").pfValue,h:t.pstyle("height").pfValue}).x1=s.x-o.w/2,o.x2=s.x+o.w/2,o.y1=s.y-o.h/2,o.y2=s.y+o.h/2),e(m,"computeBiasValues"),e(b,"computePaddingValues");var l=i.width.left.value;"px"===i.width.left.units&&i.width.val>0&&(l=100*l/i.width.val);var u=i.width.right.value;"px"===i.width.right.units&&i.width.val>0&&(u=100*u/i.width.val);var c=i.height.top.value;"px"===i.height.top.units&&i.height.val>0&&(c=100*c/i.height.val);var d=i.height.bottom.value;"px"===i.height.bottom.units&&i.height.val>0&&(d=100*d/i.height.val);var h=m(i.width.val-o.w,l,u),f=h.biasDiff,p=h.biasComplementDiff,g=m(i.height.val-o.h,c,d),v=g.biasDiff,y=g.biasComplementDiff;n.autoPadding=b(o.w,o.h,t.pstyle("padding"),t.pstyle("padding-relative-to").value),n.autoWidth=Math.max(o.w,i.width.val),s.x=(-f+o.x1+o.x2+p)/2,n.autoHeight=Math.max(o.h,i.height.val),s.y=(-v+o.y1+o.y2+y)/2}function m(e,t,n){var r=0,a=0,i=t+n;return e>0&&i>0&&(r=t/i*e,a=n/i*e),{biasDiff:r,biasComplementDiff:a}}function b(e,t,n,r){if("%"!==n.units)return"px"===n.units?n.pfValue:0;switch(r){case"width":return e>0?n.pfValue*e:0;case"height":return t>0?n.pfValue*t:0;case"average":return e>0&&t>0?n.pfValue*(e+t)/2:0;case"min":return e>0&&t>0?e>t?n.pfValue*t:n.pfValue*e:0;case"max":return e>0&&t>0?e>t?n.pfValue*e:n.pfValue*t:0;default:return 0}}}e(r,"update");for(var a=0;a<this.length;a++){var i=this[a],o=i._private;(!o.compoundBoundsClean||t)&&(r(i),n.batching()||(o.compoundBoundsClean=!0))}return this};var mu=e(function(e){return e===1/0||e===-1/0?0:e},"noninf"),bu=e(function(e,t,n,r,a){r-t===0||a-n===0||null==t||null==n||null==r||null==a||(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"),xu=e(function(e,t){return null==t?e:bu(e,t.x1,t.y1,t.x2,t.y2)},"updateBoundsFromBox"),wu=e(function(e,t,n){return Wt(e,t,n)},"prefixedProperty"),Eu=e(function(e,t,n){if(!t.cy().headless()){var r,a,i=t._private,o=i.rstyle,s=o.arrowWidth/2;if("none"!==t.pstyle(n+"-arrow-shape").value){"source"===n?(r=o.srcX,a=o.srcY):"target"===n?(r=o.tgtX,a=o.tgtY):(r=o.midX,a=o.midY);var l=i.arrowBounds=i.arrowBounds||{},u=l[n]=l[n]||{};u.x1=r-s,u.y1=a-s,u.x2=r+s,u.y2=a+s,u.w=u.x2-u.x1,u.h=u.y2-u.y1,Kn(u,1),bu(e,u.x1,u.y1,u.x2,u.y2)}}},"updateBoundsFromArrow"),Cu=e(function(t,n,r){if(!n.cy().headless()){var a;a=r?r+"-":"";var i=n._private,o=i.rstyle;if(n.pstyle(a+"label").strValue){var s,l,u,c,d=n.pstyle("text-halign"),h=n.pstyle("text-valign"),f=wu(o,"labelWidth",r),p=wu(o,"labelHeight",r),g=wu(o,"labelX",r),v=wu(o,"labelY",r),y=n.pstyle(a+"text-margin-x").pfValue,m=n.pstyle(a+"text-margin-y").pfValue,b=n.isEdge(),x=n.pstyle(a+"text-rotation"),w=n.pstyle("text-outline-width").pfValue,E=n.pstyle("text-border-width").pfValue/2,C=n.pstyle("text-background-padding").pfValue,T=p,k=f,S=k/2,P=T/2;if(b)s=g-S,l=g+S,u=v-P,c=v+P;else{switch(d.value){case"left":s=g-k,l=g;break;case"center":s=g-S,l=g+S;break;case"right":s=g,l=g+k}switch(h.value){case"top":u=v-T,c=v;break;case"center":u=v-P,c=v+P;break;case"bottom":u=v,c=v+T}}var B=y-Math.max(w,E)-C-2,_=y+Math.max(w,E)+C+2,D=m-Math.max(w,E)-C-2,A=m+Math.max(w,E)+C+2;s+=B,l+=_,u+=D,c+=A;var M=r||"main",R=i.labelBounds,I=R[M]=R[M]||{};I.x1=s,I.y1=u,I.x2=l,I.y2=c,I.w=l-s,I.h=c-u,I.leftPad=B,I.rightPad=_,I.topPad=D,I.botPad=A;var L=b&&"autorotate"===x.strValue,N=null!=x.pfValue&&0!==x.pfValue;if(L||N){var z=L?wu(i.rstyle,"labelAngle",r):x.pfValue,O=Math.cos(z),F=Math.sin(z),V=(s+l)/2,q=(u+c)/2;if(!b){switch(d.value){case"left":V=l;break;case"right":V=s}switch(h.value){case"top":q=c;break;case"bottom":q=u}}var j=e(function(e,t){return{x:(e-=V)*O-(t-=q)*F+V,y:e*F+t*O+q}},"rotate"),X=j(s,u),Y=j(s,c),W=j(l,u),H=j(l,c);s=Math.min(X.x,Y.x,W.x,H.x),l=Math.max(X.x,Y.x,W.x,H.x),u=Math.min(X.y,Y.y,W.y,H.y),c=Math.max(X.y,Y.y,W.y,H.y)}var K=M+"Rot",G=R[K]=R[K]||{};G.x1=s,G.y1=u,G.x2=l,G.y2=c,G.w=l-s,G.h=c-u,bu(t,s,u,l,c),bu(i.labelBounds.all,s,u,l,c)}return t}},"updateBoundsFromLabel"),Tu=e(function(e,t){if(!t.cy().headless()){var n=t.pstyle("outline-opacity").value,r=t.pstyle("outline-width").value+t.pstyle("outline-offset").value;ku(e,t,n,r,"outside",r/2)}},"updateBoundsFromOutline"),ku=e(function(e,t,n,r,a,i){if(!(0===n||r<=0||"inside"===a)){var o=t.cy(),s=t.pstyle("shape").value,l=o.renderer().nodeShapes[s],u=t.position(),c=u.x,d=u.y,h=t.width(),f=t.height();if(l.hasMiterBounds){"center"===a&&(r/=2);var p=l.miterBounds(c,d,h,f,r);xu(e,p)}else null!=i&&i>0&&Gn(e,[i,i,i,i])}},"updateBoundsFromMiter"),Su=e(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;ku(e,t,n,r,a)}},"updateBoundsFromMiterBorder"),Pu=e(function(t,n){var r,a,i,o,s,l,u=t._private.cy,c=u.styleEnabled(),d=u.headless(),h=jn(),f=t._private,p=t.isNode(),g=t.isEdge(),v=f.rstyle,y=p&&c?t.pstyle("bounds-expansion").pfValue:[0],m=e(function(e){return"none"!==e.pstyle("display").value},"isDisplayed"),b=!c||m(t)&&(!g||m(t.source())&&m(t.target()));if(b){var x=0;c&&n.includeOverlays&&(0!==t.pstyle("overlay-opacity").value&&(x=t.pstyle("overlay-padding").value));var w=0;c&&n.includeUnderlays&&(0!==t.pstyle("underlay-opacity").value&&(w=t.pstyle("underlay-padding").value));var E=Math.max(x,w),C=0;if(c&&(C=t.pstyle("width").pfValue/2),p&&n.includeNodes){var T=t.position();s=T.x,l=T.y;var k=t.outerWidth()/2,S=t.outerHeight()/2;bu(h,r=s-k,i=l-S,a=s+k,o=l+S),c&&Tu(h,t),c&&n.includeOutlines&&!d&&Tu(h,t),c&&Su(h,t)}else if(g&&n.includeEdges)if(c&&!d){var P=t.pstyle("curve-style").strValue;if(r=Math.min(v.srcX,v.midX,v.tgtX),a=Math.max(v.srcX,v.midX,v.tgtX),i=Math.min(v.srcY,v.midY,v.tgtY),o=Math.max(v.srcY,v.midY,v.tgtY),bu(h,r-=C,i-=C,a+=C,o+=C),"haystack"===P){var B=v.haystackPts;if(B&&2===B.length){if(r=B[0].x,i=B[0].y,r>(a=B[1].x)){var _=r;r=a,a=_}if(i>(o=B[1].y)){var D=i;i=o,o=D}bu(h,r-C,i-C,a+C,o+C)}}else if("bezier"===P||"unbundled-bezier"===P||Te(P,"segments")||Te(P,"taxi")){var A;switch(P){case"bezier":case"unbundled-bezier":A=v.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":A=v.linePts}if(null!=A)for(var M=0;M<A.length;M++){var R=A[M];r=R.x-C,a=R.x+C,i=R.y-C,o=R.y+C,bu(h,r,i,a,o)}}}else{var I=t.source().position(),L=t.target().position();if((r=I.x)>(a=L.x)){var N=r;r=a,a=N}if((i=I.y)>(o=L.y)){var z=i;i=o,o=z}bu(h,r-=C,i-=C,a+=C,o+=C)}if(c&&n.includeEdges&&g&&(Eu(h,t,"mid-source"),Eu(h,t,"mid-target"),Eu(h,t,"source"),Eu(h,t,"target")),c)if("yes"===t.pstyle("ghost").value){var O=t.pstyle("ghost-offset-x").pfValue,F=t.pstyle("ghost-offset-y").pfValue;bu(h,h.x1+O,h.y1+F,h.x2+O,h.y2+F)}var V=f.bodyBounds=f.bodyBounds||{};Un(V,h),Gn(V,y),Kn(V,1),c&&(r=h.x1,a=h.x2,i=h.y1,o=h.y2,bu(h,r-E,i-E,a+E,o+E));var q=f.overlayBounds=f.overlayBounds||{};Un(q,h),Gn(q,y),Kn(q,1);var j=f.labelBounds=f.labelBounds||{};null!=j.all?Yn(j.all):j.all=jn(),c&&n.includeLabels&&(n.includeMainLabels&&Cu(h,t,null),g&&(n.includeSourceLabels&&Cu(h,t,"source"),n.includeTargetLabels&&Cu(h,t,"target")))}return h.x1=mu(h.x1),h.y1=mu(h.y1),h.x2=mu(h.x2),h.y2=mu(h.y2),h.w=mu(h.x2-h.x1),h.h=mu(h.y2-h.y1),h.w>0&&h.h>0&&b&&(Gn(h,y),Kn(h,1)),h},"boundingBoxImpl"),Bu=e(function(t){var n=0,r=e(function(e){return(e?1:0)<<n++},"tf"),a=0;return a+=r(t.incudeNodes),a+=r(t.includeEdges),a+=r(t.includeLabels),a+=r(t.includeMainLabels),a+=r(t.includeSourceLabels),a+=r(t.includeTargetLabels),a+=r(t.includeOverlays),a+=r(t.includeOutlines)},"getKey"),_u=e(function(t){var n=e(function(e){return Math.round(e)},"r");if(t.isEdge()){var r=t.source().position(),a=t.target().position();return yt([n(r.x),n(r.y),n(a.x),n(a.y)])}var i=t.position();return yt([n(i.x),n(i.y)])},"getBoundingBoxPosKey"),Du=e(function(e,t){var n,r=e._private,a=e.isEdge(),i=(null==t?Mu:Bu(t))===Mu;if(null==r.bbCache?(n=Pu(e,Au),r.bbCache=n,r.bbCachePosKey=_u(e)):n=r.bbCache,!i){var o=e.isNode();n=jn(),(t.includeNodes&&o||t.includeEdges&&!o)&&(t.includeOverlays?xu(n,r.overlayBounds):xu(n,r.bodyBounds)),t.includeLabels&&(t.includeMainLabels&&(!a||t.includeSourceLabels&&t.includeTargetLabels)?xu(n,r.labelBounds.all):(t.includeMainLabels&&xu(n,r.labelBounds.mainRot),t.includeSourceLabels&&xu(n,r.labelBounds.sourceRot),t.includeTargetLabels&&xu(n,r.labelBounds.targetRot))),n.w=n.x2-n.x1,n.h=n.y2-n.y1}return n},"cachedBoundingBoxImpl"),Au={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeMainLabels:!0,includeSourceLabels:!0,includeTargetLabels:!0,includeOverlays:!0,includeUnderlays:!0,includeOutlines:!0,useCache:!0},Mu=Bu(Au),Ru=qt(Au);vu.boundingBox=function(e){var t,n=void 0===e||void 0===e.useCache||!0===e.useCache,r=be(function(e){var t=e._private;return null==t.bbCache||t.styleDirty||t.bbCachePosKey!==_u(e)},function(e){return e.id()});if(n&&1===this.length&&!r(this[0]))e=void 0===e?Au:Ru(e),t=Du(this[0],e);else{t=jn();var a=Ru(e=e||Au),i=this,o=i.cy().styleEnabled();this.edges().forEach(r),this.nodes().forEach(r),o&&this.recalculateRenderedStyle(n),this.updateCompoundBounds(!n);for(var s=0;s<i.length;s++){var l=i[s];r(l)&&l.dirtyBoundingBoxCache(),xu(t,Du(l,a))}}return t.x1=mu(t.x1),t.y1=mu(t.y1),t.x2=mu(t.x2),t.y2=mu(t.y2),t.w=mu(t.x2-t.x1),t.h=mu(t.y2-t.y1),t},vu.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},vu.boundingBoxAt=function(t){var n=this.nodes(),r=this.cy(),a=r.hasCompoundNodes(),i=r.collection();if(a&&(i=n.filter(function(e){return e.isParent()}),n=n.not(i)),re(t)){var o=t;t=e(function(){return o},"fn")}var s=e(function(e,n){return e._private.bbAtOldPos=t(e,n)},"storeOldPos"),l=e(function(e){return e._private.bbAtOldPos},"getOldPos");r.startBatch(),n.forEach(s).silentPositions(t),a&&(i.dirtyCompoundBoundsCache(),i.dirtyBoundingBoxCache(),i.updateCompoundBounds(!0));var u=Xn(this.boundingBox({useCache:!1}));return n.silentPositions(l),a&&(i.dirtyCompoundBoundsCache(),i.dirtyBoundingBoxCache(),i.updateCompoundBounds(!0)),r.endBatch(),u},gu.boundingbox=gu.bb=gu.boundingBox,gu.renderedBoundingbox=gu.renderedBoundingBox;var Iu,Lu,Nu=vu;Iu=Lu={};var zu=e(function(t){t.uppercaseName=Ce(t.name),t.autoName="auto"+t.uppercaseName,t.labelName="label"+t.uppercaseName,t.outerName="outer"+t.uppercaseName,t.uppercaseOuterName=Ce(t.outerName),Iu[t.name]=e(function(){var e=this[0],n=e._private,r=n.cy._private.styleEnabled;if(e){if(r){if(e.isParent())return e.updateCompoundBounds(),n[t.autoName]||0;var a=e.pstyle(t.name);return"label"===a.strValue?(e.recalculateRenderedStyle(),n.rstyle[t.labelName]||0):a.pfValue}return 1}},"dimImpl"),Iu["outer"+t.uppercaseName]=e(function(){var e=this[0],n=e._private.cy._private.styleEnabled;if(e){if(n){var r=e[t.name](),a=e.pstyle("border-position").value;return r+("center"===a?e.pstyle("border-width").pfValue:"outside"===a?2*e.pstyle("border-width").pfValue:0)+2*e.padding()}return 1}},"outerDimImpl"),Iu["rendered"+t.uppercaseName]=e(function(){var e=this[0];if(e)return e[t.name]()*this.cy().zoom()},"renderedDimImpl"),Iu["rendered"+t.uppercaseOuterName]=e(function(){var e=this[0];if(e)return e[t.outerName]()*this.cy().zoom()},"renderedOuterDimImpl")},"defineDimFns");zu({name:"width"}),zu({name:"height"}),Lu.padding=function(){var e=this[0],t=e._private;return e.isParent()?(e.updateCompoundBounds(),void 0!==t.autoPadding?t.autoPadding:e.pstyle("padding").pfValue):e.pstyle("padding").pfValue},Lu.paddedHeight=function(){var e=this[0];return e.height()+2*e.padding()},Lu.paddedWidth=function(){var e=this[0];return e.width()+2*e.padding()};var Ou=Lu,Fu=e(function(e,t){if(e.isEdge()&&e.takesUpSpace())return t(e)},"ifEdge"),Vu=e(function(e,t){if(e.isEdge()&&e.takesUpSpace()){var n=e.cy();return Tn(t(e),n.zoom(),n.pan())}},"ifEdgeRenderedPosition"),qu=e(function(e,t){if(e.isEdge()&&e.takesUpSpace()){var n=e.cy(),r=n.pan(),a=n.zoom();return t(e).map(function(e){return Tn(e,a,r)})}},"ifEdgeRenderedPositions"),ju={controlPoints:{get:e(function(e){return e.renderer().getControlPoints(e)},"controlPoints"),mult:!0},segmentPoints:{get:e(function(e){return e.renderer().getSegmentPoints(e)},"segmentPoints"),mult:!0},sourceEndpoint:{get:e(function(e){return e.renderer().getSourceEndpoint(e)},"sourceEndpoint")},targetEndpoint:{get:e(function(e){return e.renderer().getTargetEndpoint(e)},"targetEndpoint")},midpoint:{get:e(function(e){return e.renderer().getEdgeMidpoint(e)},"midpoint")}},Xu=e(function(e){return"rendered"+e[0].toUpperCase()+e.substr(1)},"renderedName"),Yu=Object.keys(ju).reduce(function(e,t){var n=ju[t],r=Xu(t);return e[t]=function(){return Fu(this,n.get)},n.mult?e[r]=function(){return qu(this,n.get)}:e[r]=function(){return Vu(this,n.get)},e},{}),Wu=Me({},yu,Nu,Ou,Yu),Hu=e(function(e,t){this.recycle(e,t)},"Event");function Ku(){return!1}function Gu(){return!0}e(Ku,"returnFalse"),e(Gu,"returnTrue"),Hu.prototype={instanceString:e(function(){return"event"},"instanceString"),recycle:e(function(e,t){if(this.isImmediatePropagationStopped=this.isPropagationStopped=this.isDefaultPrevented=Ku,null!=e&&e.preventDefault?(this.type=e.type,this.isDefaultPrevented=e.defaultPrevented?Gu:Ku):null!=e&&e.type?t=e:this.type=e,null!=t&&(this.originalEvent=t.originalEvent,this.type=null!=t.type?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),null!=this.cy&&null!=this.position&&null==this.renderedPosition){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:e(function(){this.isDefaultPrevented=Gu;var e=this.originalEvent;e&&e.preventDefault&&e.preventDefault()},"preventDefault"),stopPropagation:e(function(){this.isPropagationStopped=Gu;var e=this.originalEvent;e&&e.stopPropagation&&e.stopPropagation()},"stopPropagation"),stopImmediatePropagation:e(function(){this.isImmediatePropagationStopped=Gu,this.stopPropagation()},"stopImmediatePropagation"),isDefaultPrevented:Ku,isPropagationStopped:Ku,isImmediatePropagationStopped:Ku};var Uu=/^([^.]+)(\.(?:[^.]+))?$/,Zu={qualifierCompare:e(function(e,t){return e===t},"qualifierCompare"),eventMatches:e(function(){return!0},"eventMatches"),addEventFields:e(function(){},"addEventFields"),callbackContext:e(function(e){return e},"callbackContext"),beforeEmit:e(function(){},"beforeEmit"),afterEmit:e(function(){},"afterEmit"),bubble:e(function(){return!1},"bubble"),parent:e(function(){return null},"parent"),context:null},$u=Object.keys(Zu),Qu={};function Ju(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Qu,t=arguments.length>1?arguments[1]:void 0,n=0;n<$u.length;n++){var r=$u[n];this[r]=e[r]||Zu[r]}this.context=t||this.context,this.listeners=[],this.emitting=0}e(Ju,"Emitter");var ec=Ju.prototype,tc=e(function(e,t,n,r,a,i,o){te(r)&&(a=r,r=null),o&&(i=null==i?o:Me({},i,o));for(var s=ne(n)?n:n.split(/\s+/),l=0;l<s.length;l++){var u=s[l];if(!pe(u)){var c=u.match(Uu);if(c)if(!1===t(e,u,c[1],c[2]?c[2]:null,r,a,i))break}}},"forEachEvent"),nc=e(function(e,t){return e.addEventFields(e.context,t),new Hu(t.type,t)},"makeEventObj"),rc=e(function(e,t,n){if(fe(n))t(e,n);else if(re(n))t(e,nc(e,n));else for(var r=ne(n)?n:n.split(/\s+/),a=0;a<r.length;a++){var i=r[a];if(!pe(i)){var o=i.match(Uu);if(o){var s=o[1],l=o[2]?o[2]:null;t(e,nc(e,{type:s,namespace:l,target:e.context}))}}}},"forEachEventObj");ec.on=ec.addListener=function(e,t,n,r,a){return tc(this,function(e,t,n,r,a,i,o){te(i)&&e.listeners.push({event:t,callback:i,type:n,namespace:r,qualifier:a,conf:o})},e,t,n,r,a),this},ec.one=function(e,t,n,r){return this.on(e,t,n,r,{one:!0})},ec.removeListener=ec.off=function(t,n,r,a){var i=this;0!==this.emitting&&(this.listeners=zt(this.listeners));for(var o=this.listeners,s=e(function(e){var s=o[e];tc(i,function(n,r,a,i,l,u){if((s.type===a||"*"===t)&&(!i&&".*"!==s.namespace||s.namespace===i)&&(!l||n.qualifierCompare(s.qualifier,l))&&(!u||s.callback===u))return o.splice(e,1),!1},t,n,r,a)},"_loop"),l=o.length-1;l>=0;l--)s(l);return this},ec.removeAllListeners=function(){return this.removeListener("*")},ec.emit=ec.trigger=function(t,n,r){var a=this.listeners,i=a.length;return this.emitting++,ne(n)||(n=[n]),rc(this,function(t,o){null!=r&&(a=[{event:o.event,type:o.type,namespace:o.namespace,callback:r}],i=a.length);for(var s=e(function(){var e=a[l];if(e.type===o.type&&(!e.namespace||e.namespace===o.namespace||".*"===e.namespace)&&t.eventMatches(t.context,e,o)){var r=[o];null!=n&&Yt(r,n),t.beforeEmit(t.context,e,o),e.conf&&e.conf.one&&(t.listeners=t.listeners.filter(function(t){return t!==e}));var i=t.callbackContext(t.context,e,o),s=e.callback.apply(i,r);t.afterEmit(t.context,e,o),!1===s&&(o.stopPropagation(),o.preventDefault())}},"_loop2"),l=0;l<i;l++)s();t.bubble(t.context)&&!o.isPropagationStopped()&&t.parent(t.context).emit(o,n)},t),this.emitting--,this};var ac={qualifierCompare:e(function(e,t){return null==e||null==t?null==e&&null==t:e.sameText(t)},"qualifierCompare"),eventMatches:e(function(e,t,n){var r=t.qualifier;return null==r||e!==n.target&&ue(n.target)&&r.matches(n.target)},"eventMatches"),addEventFields:e(function(e,t){t.cy=e.cy(),t.target=e},"addEventFields"),callbackContext:e(function(e,t,n){return null!=t.qualifier?n.target:e},"callbackContext"),beforeEmit:e(function(e,t){t.conf&&t.conf.once&&t.conf.onceCollection.removeListener(t.event,t.qualifier,t.callback)},"beforeEmit"),bubble:e(function(){return!0},"bubble"),parent:e(function(e){return e.isChild()?e.parent():e.cy()},"parent")},ic=e(function(e){return ee(e)?new Zl(e):e},"argSelector"),oc={createEmitter:e(function(){for(var e=0;e<this.length;e++){var t=this[e],n=t._private;n.emitter||(n.emitter=new Ju(ac,t))}return this},"createEmitter"),emitter:e(function(){return this._private.emitter},"emitter"),on:e(function(e,t,n){for(var r=ic(t),a=0;a<this.length;a++){this[a].emitter().on(e,r,n)}return this},"on"),removeListener:e(function(e,t,n){for(var r=ic(t),a=0;a<this.length;a++){this[a].emitter().removeListener(e,r,n)}return this},"removeListener"),removeAllListeners:e(function(){for(var e=0;e<this.length;e++){this[e].emitter().removeAllListeners()}return this},"removeAllListeners"),one:e(function(e,t,n){for(var r=ic(t),a=0;a<this.length;a++){this[a].emitter().one(e,r,n)}return this},"one"),once:e(function(e,t,n){for(var r=ic(t),a=0;a<this.length;a++){this[a].emitter().on(e,r,n,{once:!0,onceCollection:this})}},"once"),emit:e(function(e,t){for(var n=0;n<this.length;n++){this[n].emitter().emit(e,t)}return this},"emit"),emitAndNotify:e(function(e,t){if(0!==this.length)return this.cy().notify(e,this),this.emit(e,t),this},"emitAndNotify")};il.eventAliasesOn(oc);var sc={nodes:e(function(e){return this.filter(function(e){return e.isNode()}).filter(e)},"nodes"),edges:e(function(e){return this.filter(function(e){return e.isEdge()}).filter(e)},"edges"),byGroup:e(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:e(function(e,t){if(void 0===e)return this;if(ee(e)||le(e))return new Zl(e).filter(this);if(te(e)){for(var n=this.spawn(),r=this,a=0;a<r.length;a++){var i=r[a];(t?e.apply(t,[i,a,r]):e(i,a,r))&&n.push(i)}return n}return this.spawn()},"filter"),not:e(function(e){if(e){ee(e)&&(e=this.filter(e));for(var t=this.spawn(),n=0;n<this.length;n++){var r=this[n];e.has(r)||t.push(r)}return t}return this},"not"),absoluteComplement:e(function(){return this.cy().mutableElements().not(this)},"absoluteComplement"),intersect:e(function(e){if(ee(e)){var t=e;return this.filter(t)}for(var n=this.spawn(),r=e,a=this.length<e.length,i=a?this:r,o=a?r:this,s=0;s<i.length;s++){var l=i[s];o.has(l)&&n.push(l)}return n},"intersect"),xor:e(function(t){var n=this._private.cy;ee(t)&&(t=n.$(t));var r=this.spawn(),a=t,i=e(function(e,t){for(var n=0;n<e.length;n++){var a=e[n],i=a._private.data.id;t.hasElementWithId(i)||r.push(a)}},"add");return i(this,a),i(a,this),r},"xor"),diff:e(function(t){var n=this._private.cy;ee(t)&&(t=n.$(t));var r=this.spawn(),a=this.spawn(),i=this.spawn(),o=t,s=e(function(e,t,n){for(var r=0;r<e.length;r++){var a=e[r],o=a._private.data.id;t.hasElementWithId(o)?i.merge(a):n.push(a)}},"add");return s(this,o,r),s(o,this,a),{left:r,right:a,both:i}},"diff"),add:e(function(e){var t=this._private.cy;if(!e)return this;if(ee(e)){var n=e;e=t.mutableElements().filter(n)}for(var r=this.spawnSelf(),a=0;a<e.length;a++){var i=e[a];!this.has(i)&&r.push(i)}return r},"add"),merge:e(function(e){var t=this._private,n=t.cy;if(!e)return this;if(e&&ee(e)){var r=e;e=n.mutableElements().filter(r)}for(var a=t.map,i=0;i<e.length;i++){var o=e[i],s=o._private.data.id;if(!a.has(s)){var l=this.length++;this[l]=o,a.set(s,{ele:o,index:l})}}return this},"merge"),unmergeAt:e(function(e){var t=this[e].id(),n=this._private.map;this[e]=void 0,n.delete(t);var r=e===this.length-1;if(this.length>1&&!r){var a=this.length-1,i=this[a],o=i._private.data.id;this[a]=void 0,this[e]=i,n.set(o,{ele:i,index:e})}return this.length--,this},"unmergeAt"),unmergeOne:e(function(e){e=e[0];var t=this._private,n=e._private.data.id,r=t.map.get(n);if(!r)return this;var a=r.index;return this.unmergeAt(a),this},"unmergeOne"),unmerge:e(function(e){var t=this._private.cy;if(!e)return this;if(e&&ee(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:e(function(e){for(var t=this.length-1;t>=0;t--){e(this[t])&&this.unmergeAt(t)}return this},"unmergeBy"),map:e(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:e(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:e(function(e,t){for(var n,r=-1/0,a=this,i=0;i<a.length;i++){var o=a[i],s=t?e.apply(t,[o,i,a]):e(o,i,a);s>r&&(r=s,n=o)}return{value:r,ele:n}},"max"),min:e(function(e,t){for(var n,r=1/0,a=this,i=0;i<a.length;i++){var o=a[i],s=t?e.apply(t,[o,i,a]):e(o,i,a);s<r&&(r=s,n=o)}return{value:r,ele:n}},"min")},lc=sc;lc.u=lc["|"]=lc["+"]=lc.union=lc.or=lc.add,lc["\\"]=lc["!"]=lc["-"]=lc.difference=lc.relativeComplement=lc.subtract=lc.not,lc.n=lc["&"]=lc["."]=lc.and=lc.intersection=lc.intersect,lc["^"]=lc["(+)"]=lc["(-)"]=lc.symmetricDifference=lc.symdiff=lc.xor,lc.fnFilter=lc.filterFn=lc.stdFilter=lc.filter,lc.complement=lc.abscomp=lc.absoluteComplement;var uc={isNode:e(function(){return"nodes"===this.group()},"isNode"),isEdge:e(function(){return"edges"===this.group()},"isEdge"),isLoop:e(function(){return this.isEdge()&&this.source()[0]===this.target()[0]},"isLoop"),isSimple:e(function(){return this.isEdge()&&this.source()[0]!==this.target()[0]},"isSimple"),group:e(function(){var e=this[0];if(e)return e._private.group},"group")},cc=e(function(t,n){var r=t.cy().hasCompoundNodes();function a(e){var t=e.pstyle("z-compound-depth");return"auto"===t.value?r?e.zDepth():0:"bottom"===t.value?-1:"top"===t.value?Pt:0}e(a,"getDepth");var i=a(t)-a(n);if(0!==i)return i;function o(e){return"auto"===e.pstyle("z-index-compare").value&&e.isNode()?1:0}e(o,"getEleDepth");var s=o(t)-o(n);if(0!==s)return s;var l=t.pstyle("z-index").value-n.pstyle("z-index").value;return 0!==l?l:t.poolIndex()-n.poolIndex()},"zIndexSort"),dc={forEach:e(function(e,t){if(te(e))for(var n=this.length,r=0;r<n;r++){var a=this[r];if(!1===(t?e.apply(t,[a,r,this]):e(a,r,this)))break}return this},"forEach"),toArray:e(function(){for(var e=[],t=0;t<this.length;t++)e.push(this[t]);return e},"toArray"),slice:e(function(e,t){var n=[],r=this.length;null==t&&(t=r),null==e&&(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:e(function(){return this.length},"size"),eq:e(function(e){return this[e]||this.spawn()},"eq"),first:e(function(){return this[0]||this.spawn()},"first"),last:e(function(){return this[this.length-1]||this.spawn()},"last"),empty:e(function(){return 0===this.length},"empty"),nonempty:e(function(){return!this.empty()},"nonempty"),sort:e(function(e){if(!te(e))return this;var t=this.toArray().sort(e);return this.spawn(t)},"sort"),sortByZIndex:e(function(){return this.sort(cc)},"sortByZIndex"),zDepth:e(function(){var e=this[0];if(e){var t=e._private;if("nodes"===t.group){var n=t.data.parent?e.parents().size():0;return e.isParent()?n:Pt-1}var r=t.source,a=t.target,i=r.zDepth(),o=a.zDepth();return Math.max(i,o,0)}},"zDepth")};dc.each=dc.forEach,e(function(){var t="undefined";(typeof Symbol>"u"?"undefined":y(Symbol))!=t&&y(Symbol.iterator)!=t&&(dc[Symbol.iterator]=function(){var t=this,n={value:void 0,done:!1},r=0,a=this.length;return l({next:e(function(){return r<a?n.value=t[r++]:(n.value=void 0,n.done=!0),n},"next")},Symbol.iterator,function(){return this})})},"defineSymbolIterator")();var hc=qt({nodeDimensionsIncludeLabels:!1}),fc={layoutDimensions:e(function(e){var t;if(e=hc(e),this.takesUpSpace())if(e.nodeDimensionsIncludeLabels){var n=this.boundingBox();t={w:n.w,h:n.h}}else t={w:this.outerWidth(),h:this.outerHeight()};else t={w:0,h:0};return(0===t.w||0===t.h)&&(t.w=t.h=1),t},"layoutDimensions"),layoutPositions:e(function(t,n,r){var a=this.nodes().filter(function(e){return!e.isParent()}),i=this.cy(),o=n.eles,s=e(function(e){return e.id()},"getMemoizeKey"),l=be(r,s);t.emit({type:"layoutstart",layout:t}),t.animations=[];var u=e(function(e,t,n){var r=t.x1+t.w/2,a=t.y1+t.h/2;return{x:r+(n.x-r)*e,y:a+(n.y-a)*e}},"calculateSpacing"),c=n.spacingFactor&&1!==n.spacingFactor,d=e(function(){if(!c)return null;for(var e=jn(),t=0;t<a.length;t++){var n=a[t],r=l(n,t);Hn(e,r.x,r.y)}return e},"spacingBb")(),h=be(function(e,t){var r=l(e,t);if(c){var a=Math.abs(n.spacingFactor);r=u(a,d,r)}return null!=n.transform&&(r=n.transform(e,r)),r},s);if(n.animate){for(var f=0;f<a.length;f++){var p=a[f],g=h(p,f);if(null==n.animateFilter||n.animateFilter(p,f)){var v=p.animation({position:g,duration:n.animationDuration,easing:n.animationEasing});t.animations.push(v)}else p.position(g)}if(n.fit){var y=i.animation({fit:{boundingBox:o.boundingBoxAt(h),padding:n.padding},duration:n.animationDuration,easing:n.animationEasing});t.animations.push(y)}else if(void 0!==n.zoom&&void 0!==n.pan){var m=i.animation({zoom:n.zoom,pan:n.pan,duration:n.animationDuration,easing:n.animationEasing});t.animations.push(m)}t.animations.forEach(function(e){return e.play()}),t.one("layoutready",n.ready),t.emit({type:"layoutready",layout:t}),ai.all(t.animations.map(function(e){return e.promise()})).then(function(){t.one("layoutstop",n.stop),t.emit({type:"layoutstop",layout:t})})}else a.positions(h),n.fit&&i.fit(n.eles,n.padding),null!=n.zoom&&i.zoom(n.zoom),n.pan&&i.pan(n.pan),t.one("layoutready",n.ready),t.emit({type:"layoutready",layout:t}),t.one("layoutstop",n.stop),t.emit({type:"layoutstop",layout:t});return this},"layoutPositions"),layout:e(function(e){return this.cy().makeLayout(Me({},e,{eles:this}))},"layout")};function pc(e,t,n){var r,a=n._private,i=a.styleCache=a.styleCache||[];return null!=(r=i[e])||(r=i[e]=t(n)),r}function gc(t,n){return t=mt(t),e(function(e){return pc(t,n,e)},"cachedStyleFunction")}function vc(t,n){t=mt(t);var r=e(function(e){return n.call(e)},"selfFn");return e(function(){var e=this[0];if(e)return pc(t,r,e)},"cachedPrototypeStyleFunction")}fc.createLayout=fc.makeLayout=fc.layout,e(pc,"styleCache"),e(gc,"cacheStyleFunction"),e(vc,"cachePrototypeStyleFunction");var yc={recalculateRenderedStyle:e(function(e){var t=this.cy(),n=t.renderer(),r=t.styleEnabled();return n&&r&&n.recalculateRenderedStyle(this,e),this},"recalculateRenderedStyle"),dirtyStyleCache:e(function(){var t,n=this.cy(),r=e(function(e){return e._private.styleCache=null},"dirty");n.hasCompoundNodes()?((t=this.spawnSelf().merge(this.descendants()).merge(this.parents())).merge(t.connectedEdges()),t.forEach(r)):this.forEach(function(e){r(e),e.connectedEdges().forEach(r)});return this},"dirtyStyleCache"),updateStyle:e(function(e){var t=this._private.cy;if(!t.styleEnabled())return this;if(t.batching())return t._private.batchStyleEles.merge(this),this;var n=this;e=!(!e&&void 0!==e),t.hasCompoundNodes()&&(n=this.spawnSelf().merge(this.descendants()).merge(this.parents()));var r=n;return e?r.emitAndNotify("style"):r.emit("style"),n.forEach(function(e){return e._private.styleDirty=!0}),this},"updateStyle"),cleanStyle:e(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:e(function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this[0],r=n.cy();if(r.styleEnabled()&&n)return n._private.styleDirty&&(n._private.styleDirty=!1,r.style().apply(n)),n._private.style[e]??(t?r.style().getDefaultProperty(e):null)},"parsedStyle"),numericStyle:e(function(e){var t=this[0];if(t.cy().styleEnabled()&&t){var n=t.pstyle(e);return void 0!==n.pfValue?n.pfValue:n.value}},"numericStyle"),numericStyleUnits:e(function(e){var t=this[0];if(t.cy().styleEnabled()&&t)return t.pstyle(e).units},"numericStyleUnits"),renderedStyle:e(function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=this[0];return n?t.style().getRenderedStyle(n,e):void 0},"renderedStyle"),style:e(function(e,t){var n=this.cy();if(!n.styleEnabled())return this;var r=!1,a=n.style();if(re(e)){var i=e;a.applyBypass(this,i,r),this.emitAndNotify("style")}else if(ee(e)){if(void 0===t){var o=this[0];return o?a.getStylePropertyValue(o,e):void 0}a.applyBypass(this,e,t,r),this.emitAndNotify("style")}else if(void 0===e){var s=this[0];return s?a.getRawStyle(s):void 0}return this},"style"),removeStyle:e(function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=!1,r=t.style(),a=this;if(void 0===e)for(var i=0;i<a.length;i++){var o=a[i];r.removeAllBypasses(o,n)}else{e=e.split(/\s+/);for(var s=0;s<a.length;s++){var l=a[s];r.removeBypasses(l,e,n)}}return this.emitAndNotify("style"),this},"removeStyle"),show:e(function(){return this.css("display","element"),this},"show"),hide:e(function(){return this.css("display","none"),this},"hide"),effectiveOpacity:e(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++){a*=i[o].pstyle("opacity").value}return a}},"effectiveOpacity"),transparent:e(function(){if(!this.cy().styleEnabled())return!1;var e=this[0],t=e.cy().hasCompoundNodes();return e?t?0===e.effectiveOpacity():0===e.pstyle("opacity").value:void 0},"transparent"),backgrounding:e(function(){return!!this.cy().styleEnabled()&&!!this[0]._private.backgrounding},"backgrounding")};function mc(e,t){var n=e._private.data.parent?e.parents():null;if(n)for(var r=0;r<n.length;r++){if(!t(n[r]))return!1}return!0}function bc(e){var t=e.ok,n=e.edgeOkViaNode||e.ok,r=e.parentOk||e.ok;return function(){var e=this.cy();if(!e.styleEnabled())return!0;var a=this[0],i=e.hasCompoundNodes();if(a){var o=a._private;if(!t(a))return!1;if(a.isNode())return!i||mc(a,r);var s=o.source,l=o.target;return n(s)&&(!i||mc(s,n))&&(s===l||n(l)&&(!i||mc(l,n)))}}}e(mc,"checkCompound"),e(bc,"defineDerivedStateFunction");var xc=gc("eleTakesUpSpace",function(e){return"element"===e.pstyle("display").value&&0!==e.width()&&(!e.isNode()||0!==e.height())});yc.takesUpSpace=vc("takesUpSpace",bc({ok:xc}));var wc=gc("eleInteractive",function(e){return"yes"===e.pstyle("events").value&&"visible"===e.pstyle("visibility").value&&xc(e)}),Ec=gc("parentInteractive",function(e){return"visible"===e.pstyle("visibility").value&&xc(e)});yc.interactive=vc("interactive",bc({ok:wc,parentOk:Ec,edgeOkViaNode:xc})),yc.noninteractive=function(){var e=this[0];if(e)return!e.interactive()};var Cc=gc("eleVisible",function(e){return"visible"===e.pstyle("visibility").value&&0!==e.pstyle("opacity").pfValue&&xc(e)}),Tc=xc;yc.visible=vc("visible",bc({ok:Cc,edgeOkViaNode:Tc})),yc.hidden=function(){var e=this[0];if(e)return!e.visible()},yc.isBundledBezier=vc("isBundledBezier",function(){return!!this.cy().styleEnabled()&&(!this.removed()&&"bezier"===this.pstyle("curve-style").value&&this.takesUpSpace())}),yc.bypass=yc.css=yc.style,yc.renderedCss=yc.renderedStyle,yc.removeBypass=yc.removeCss=yc.removeStyle,yc.pstyle=yc.parsedStyle;var kc={};function Sc(e){return function(){var t=arguments,n=[];if(2===t.length){var r=t[0],a=t[1];this.on(e.event,r,a)}else if(1===t.length&&te(t[0])){var i=t[0];this.on(e.event,i)}else if(0===t.length||1===t.length&&ne(t[0])){for(var o=1===t.length?t[0]:null,s=0;s<this.length;s++){var l=this[s],u=!e.ableField||l._private[e.ableField],c=l._private[e.field]!=e.value;if(e.overrideAble){var d=e.overrideAble(l);if(void 0!==d&&(u=d,!d))return this}u&&(l._private[e.field]=e.value,c&&n.push(l))}var h=this.spawn(n);h.updateStyle(),h.emit(e.event),o&&h.emit(o)}return this}}function Pc(e){kc[e.field]=function(){var t=this[0];if(t){if(e.overrideField){var n=e.overrideField(t);if(void 0!==n)return n}return t._private[e.field]}},kc[e.on]=Sc({event:e.on,field:e.field,ableField:e.ableField,overrideAble:e.overrideAble,value:!0}),kc[e.off]=Sc({event:e.off,field:e.field,ableField:e.ableField,overrideAble:e.overrideAble,value:!1})}e(Sc,"defineSwitchFunction"),e(Pc,"defineSwitchSet"),Pc({field:"locked",overrideField:e(function(e){return!!e.cy().autolock()||void 0},"overrideField"),on:"lock",off:"unlock"}),Pc({field:"grabbable",overrideField:e(function(e){return!e.cy().autoungrabify()&&!e.pannable()&&void 0},"overrideField"),on:"grabify",off:"ungrabify"}),Pc({field:"selected",ableField:"selectable",overrideAble:e(function(e){return!e.cy().autounselectify()&&void 0},"overrideAble"),on:"select",off:"unselect"}),Pc({field:"selectable",overrideField:e(function(e){return!e.cy().autounselectify()&&void 0},"overrideField"),on:"selectify",off:"unselectify"}),kc.deselect=kc.unselect,kc.grabbed=function(){var e=this[0];if(e)return e._private.grabbed},Pc({field:"active",on:"activate",off:"unactivate"}),Pc({field:"pannable",on:"panify",off:"unpanify"}),kc.inactive=function(){var e=this[0];if(e)return!e._private.active};var Bc={},_c=e(function(t){return e(function(e){for(var n=[],r=0;r<this.length;r++){var a=this[r];if(a.isNode()){for(var i=!1,o=a.connectedEdges(),s=0;s<o.length;s++){var l=o[s],u=l.source(),c=l.target();if(t.noIncomingEdges&&c===a&&u!==a||t.noOutgoingEdges&&u===a&&c!==a){i=!0;break}}i||n.push(a)}}return this.spawn(n,!0).filter(e)},"dagExtremityImpl")},"defineDagExtremity"),Dc=e(function(e){return function(t){for(var n=[],r=0;r<this.length;r++){var a=this[r];if(a.isNode())for(var i=a.connectedEdges(),o=0;o<i.length;o++){var s=i[o],l=s.source(),u=s.target();e.outgoing&&l===a?(n.push(s),n.push(u)):e.incoming&&u===a&&(n.push(s),n.push(l))}}return this.spawn(n,!0).filter(t)}},"defineDagOneHop"),Ac=e(function(e){return function(t){for(var n=this,r=[],a={};;){var i=e.outgoing?n.outgoers():n.incomers();if(0===i.length)break;for(var o=!1,s=0;s<i.length;s++){var l=i[s],u=l.id();a[u]||(a[u]=!0,r.push(l),o=!0)}if(!o)break;n=i}return this.spawn(r,!0).filter(t)}},"defineDagAllHops");function Mc(t){return e(function(e){for(var n=[],r=0;r<this.length;r++){var a=this[r]._private[t.attr];a&&n.push(a)}return this.spawn(n,!0).filter(e)},"sourceImpl")}function Rc(t){return e(function(e){var n=[],r=this._private.cy,a=t||{};ee(e)&&(e=r.$(e));for(var i=0;i<e.length;i++)for(var o=e[i]._private.edges,s=0;s<o.length;s++){var l=o[s],u=l._private.data,c=this.hasElementWithId(u.source)&&e.hasElementWithId(u.target),d=e.hasElementWithId(u.source)&&this.hasElementWithId(u.target);(c||d)&&((a.thisIsSrc||a.thisIsTgt)&&(a.thisIsSrc&&!c||a.thisIsTgt&&!d)||n.push(l))}return this.spawn(n,!0)},"edgesWithImpl")}function Ic(t){return t=Me({},{codirected:!1},t),e(function(e){for(var n=[],r=this.edges(),a=t,i=0;i<r.length;i++)for(var o=r[i]._private,s=o.source,l=s._private.data.id,u=o.data.target,c=s._private.edges,d=0;d<c.length;d++){var h=c[d],f=h._private.data,p=f.target,g=f.source,v=p===u&&g===l,y=l===p&&u===g;(a.codirected&&v||!a.codirected&&(v||y))&&n.push(h)}return this.spawn(n,!0).filter(e)},"parallelEdgesImpl")}Bc.clearTraversalCache=function(){for(var e=0;e<this.length;e++)this[e]._private.traversalCache=null},Me(Bc,{roots:_c({noIncomingEdges:!0}),leaves:_c({noOutgoingEdges:!0}),outgoers:tu(Dc({outgoing:!0}),"outgoers"),successors:Ac({outgoing:!0}),incomers:tu(Dc({incoming:!0}),"incomers"),predecessors:Ac({})}),Me(Bc,{neighborhood:tu(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 s=i[o],l=s.source(),u=s.target(),c=a===l?u:l;c.length>0&&t.push(c[0]),t.push(s[0])}return this.spawn(t,!0).filter(e)},"neighborhood"),closedNeighborhood:e(function(e){return this.neighborhood().add(this).filter(e)},"closedNeighborhood"),openNeighborhood:e(function(e){return this.neighborhood(e)},"openNeighborhood")}),Bc.neighbourhood=Bc.neighborhood,Bc.closedNeighbourhood=Bc.closedNeighborhood,Bc.openNeighbourhood=Bc.openNeighborhood,Me(Bc,{source:tu(e(function(e){var t,n=this[0];return n&&(t=n._private.source||n.cy().collection()),t&&e?t.filter(e):t},"sourceImpl"),"source"),target:tu(e(function(e){var t,n=this[0];return n&&(t=n._private.target||n.cy().collection()),t&&e?t.filter(e):t},"targetImpl"),"target"),sources:Mc({attr:"source"}),targets:Mc({attr:"target"})}),e(Mc,"defineSourceFunction"),Me(Bc,{edgesWith:tu(Rc(),"edgesWith"),edgesTo:tu(Rc({thisIsSrc:!0}),"edgesTo")}),e(Rc,"defineEdgesWithFunction"),Me(Bc,{connectedEdges:tu(function(e){for(var t=[],n=0;n<this.length;n++){var r=this[n];if(r.isNode())for(var a=r._private.edges,i=0;i<a.length;i++){var o=a[i];t.push(o)}}return this.spawn(t,!0).filter(e)},"connectedEdges"),connectedNodes:tu(function(e){for(var t=[],n=0;n<this.length;n++){var r=this[n];r.isEdge()&&(t.push(r.source()[0]),t.push(r.target()[0]))}return this.spawn(t,!0).filter(e)},"connectedNodes"),parallelEdges:tu(Ic(),"parallelEdges"),codirectedEdges:tu(Ic({codirected:!0}),"codirectedEdges")}),e(Ic,"defineParallelEdgesFunction"),Me(Bc,{components:e(function(t){var n=this,r=n.cy(),a=r.collection(),i=null==t?n.nodes():t.nodes(),o=[];null!=t&&i.empty()&&(i=t.sources());var s=e(function(e,t){a.merge(e),i.unmerge(e),t.merge(e)},"visitInComponent");if(i.empty())return n.spawn();var l=e(function(){var t=r.collection();o.push(t);var a=i[0];s(a,t),n.bfs({directed:!1,roots:a,visit:e(function(e){return s(e,t)},"visit")}),t.forEach(function(e){e.connectedEdges().forEach(function(e){n.has(e)&&t.has(e.source())&&t.has(e.target())&&t.merge(e)})})},"_loop");do{l()}while(i.length>0);return o},"components"),component:e(function(){var e=this[0];return e.cy().mutableElements().components(e)[0]},"component")}),Bc.componentsOf=Bc.components;var Lc=e(function(t,n){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(void 0!==t){var i=new Gt,o=!1;if(n){if(n.length>0&&re(n[0])&&!ue(n[0])){o=!0;for(var s=[],l=new Zt,u=0,c=n.length;u<c;u++){var d=n[u];null==d.data&&(d.data={});var h=d.data;if(null==h.id)h.id=Ot();else if(t.hasElementWithId(h.id)||l.has(h.id))continue;var f=new $t(t,d,!1);s.push(f),l.add(h.id)}n=s}}else n=[];this.length=0;for(var p=0,g=n.length;p<g;p++){var v=n[p][0];if(null!=v){var y=v._private.data.id;(!r||!i.has(y))&&(r&&i.set(y,{index:this.length,ele:v}),this[this.length]=v,this.length++)}}this._private={eles:this,cy:t,get map(){return null==this.lazyMap&&this.rebuildMap(),this.lazyMap},set map(e){this.lazyMap=e},rebuildMap:e(function(){for(var e=this.lazyMap=new Gt,t=this.eles,n=0;n<t.length;n++){var r=t[n];e.set(r.id(),{index:n,ele:r})}},"rebuildMap")},r&&(this._private.map=i),o&&!a&&this.restore()}else Mt("A collection must have a reference to the core")},"Collection"),Nc=$t.prototype=Lc.prototype=Object.create(Array.prototype);Nc.instanceString=function(){return"collection"},Nc.spawn=function(e,t){return new Lc(this.cy(),e,t)},Nc.spawnSelf=function(){return this.spawn(this)},Nc.cy=function(){return this._private.cy},Nc.renderer=function(){return this._private.cy.renderer()},Nc.element=function(){return this[0]},Nc.collection=function(){return ce(this)?this:new Lc(this._private.cy,[this])},Nc.unique=function(){return new Lc(this._private.cy,this,!0)},Nc.hasElementWithId=function(e){return e=""+e,this._private.map.has(e)},Nc.getElementById=function(e){e=""+e;var t=this._private.cy,n=this._private.map.get(e);return n?n.ele:new Lc(t)},Nc.$id=Nc.getElementById,Nc.poolIndex=function(){var e=this._private.cy._private.elements,t=this[0]._private.data.id;return e._private.map.get(t).index},Nc.indexOf=function(e){var t=e[0]._private.data.id;return this._private.map.get(t).index},Nc.indexOfId=function(e){return e=""+e,this._private.map.get(e).index},Nc.json=function(t){var n=this.element(),r=this.cy();if(null==n&&t)return this;if(null!=n){var a=n._private;if(re(t)){if(r.startBatch(),t.data){n.data(t.data);var i=a.data;if(n.isEdge()){var o=!1,s={},l=t.data.source,u=t.data.target;null!=l&&l!=i.source&&(s.source=""+l,o=!0),null!=u&&u!=i.target&&(s.target=""+u,o=!0),o&&(n=n.move(s))}else{var c="parent"in t.data,d=t.data.parent;c&&(null!=d||null!=i.parent)&&d!=i.parent&&(void 0===d&&(d=null),null!=d&&(d=""+d),n=n.move({parent:d}))}}t.position&&n.position(t.position);var h=e(function(e,r,i){var o=t[e];null!=o&&o!==a[e]&&(o?n[r]():n[i]())},"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"),null!=t.classes&&n.classes(t.classes),r.endBatch(),this}if(void 0===t){var f={data:Nt(a.data),position:Nt(a.position),group:a.group,removed:a.removed,selected:a.selected,selectable:a.selectable,locked:a.locked,grabbable:a.grabbable,pannable:a.pannable,classes:null};f.classes="";var p=0;return a.classes.forEach(function(e){return f.classes+=0===p++?e:" "+e}),f}}},Nc.jsons=function(){for(var e=[],t=0;t<this.length;t++){var n=this[t].json();e.push(n)}return e},Nc.clone=function(){for(var e=this.cy(),t=[],n=0;n<this.length;n++){var r=this[n].json(),a=new $t(e,r,!1);t.push(a)}return new Lc(e,t)},Nc.copy=Nc.clone,Nc.restore=function(){for(var t,n=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a=this,i=a.cy(),o=i._private,s=[],l=[],u=0,c=a.length;u<c;u++){var d=a[u];r&&!d.removed()||(d.isNode()?s.push(d):l.push(d))}t=s.concat(l);var h,f=e(function(){t.splice(h,1),h--},"removeFromElements");for(h=0;h<t.length;h++){var p=t[h],g=p._private,v=g.data;if(p.clearTraversalCache(),r||g.removed)if(void 0===v.id)v.id=Ot();else if(ie(v.id))v.id=""+v.id;else{if(pe(v.id)||!ee(v.id)){Mt("Can not create element with invalid string ID `"+v.id+"`"),f();continue}if(i.hasElementWithId(v.id)){Mt("Can not create second element with ID `"+v.id+"`"),f();continue}}var y=v.id;if(p.isNode()){var m=g.position;null==m.x&&(m.x=0),null==m.y&&(m.y=0)}if(p.isEdge()){for(var b=p,x=["source","target"],w=x.length,E=!1,C=0;C<w;C++){var T=x[C],k=v[T];ie(k)&&(k=v[T]=""+v[T]),null==k||""===k?(Mt("Can not create edge `"+y+"` with unspecified "+T),E=!0):i.hasElementWithId(k)||(Mt("Can not create edge `"+y+"` with nonexistant "+T+" `"+k+"`"),E=!0)}if(E){f();continue}var S=i.getElementById(v.source),P=i.getElementById(v.target);S.same(P)?S._private.edges.push(b):(S._private.edges.push(b),P._private.edges.push(b)),b._private.source=S,b._private.target=P}g.map=new Gt,g.map.set(y,{ele:p,index:0}),g.removed=!1,r&&i.addToPool(p)}for(var B=0;B<s.length;B++){var _=s[B],D=_._private.data;ie(D.parent)&&(D.parent=""+D.parent);var A=D.parent;if(null!=A||_._private.parent){var M=_._private.parent?i.collection().merge(_._private.parent):i.getElementById(A);if(M.empty())D.parent=void 0;else if(M[0].removed())It("Node added with missing parent, reference to parent removed"),D.parent=void 0,_._private.parent=null;else{for(var R=!1,I=M;!I.empty();){if(_.same(I)){R=!0,D.parent=void 0;break}I=I.parent()}R||(M[0]._private.children.push(_),_._private.parent=M[0],o.hasCompoundNodes=!0)}}}if(t.length>0){for(var L=t.length===a.length?a:new Lc(i,t),N=0;N<L.length;N++){var z=L[N];z.isNode()||(z.parallelEdges().clearTraversalCache(),z.source().clearTraversalCache(),z.target().clearTraversalCache())}(o.hasCompoundNodes?i.collection().merge(L).merge(L.connectedNodes()).merge(L.parent()):L).dirtyCompoundBoundsCache().dirtyBoundingBoxCache().updateStyle(n),n?L.emitAndNotify("add"):r&&L.emit("add")}return a},Nc.removed=function(){var e=this[0];return e&&e._private.removed},Nc.inside=function(){var e=this[0];return e&&!e._private.removed},Nc.remove=function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=this,a=[],i={},o=r._private.cy;function s(e){for(var t=e._private.edges,n=0;n<t.length;n++)u(t[n])}function l(e){for(var t=e._private.children,n=0;n<t.length;n++)u(t[n])}function u(e){var t=i[e.id()];n&&e.removed()||t||(i[e.id()]=!0,e.isNode()?(a.push(e),s(e),l(e)):a.unshift(e))}e(s,"addConnectedEdges"),e(l,"addChildren"),e(u,"add");for(var c=0,d=r.length;c<d;c++){u(r[c])}function h(e,t){var n=e._private.edges;jt(n,t),e.clearTraversalCache()}function f(e){e.clearTraversalCache()}e(h,"removeEdgeRef"),e(f,"removeParallelRef");var p=[];function g(e,t){t=t[0];var n=(e=e[0])._private.children,r=e.id();jt(n,t),t._private.parent=null,p.ids[r]||(p.ids[r]=!0,p.push(e))}p.ids={},e(g,"removeChildRef"),r.dirtyCompoundBoundsCache(),n&&o.removeFromPool(a);for(var v=0;v<a.length;v++){var y=a[v];if(y.isEdge()){var m=y.source()[0],b=y.target()[0];h(m,y),h(b,y);for(var x=y.parallelEdges(),w=0;w<x.length;w++){var E=x[w];f(E),E.isBundledBezier()&&E.dirtyBoundingBoxCache()}}else{var C=y.parent();0!==C.length&&g(C,y)}n&&(y._private.removed=!0)}var T=o._private.elements;o._private.hasCompoundNodes=!1;for(var k=0;k<T.length;k++){if(T[k].isParent()){o._private.hasCompoundNodes=!0;break}}var S=new Lc(this.cy(),a);S.size()>0&&(t?S.emitAndNotify("remove"):n&&S.emit("remove"));for(var P=0;P<p.length;P++){var B=p[P];(!n||!B.removed())&&B.updateStyle()}return S},Nc.move=function(t){var n=this._private.cy,r=this,a=!1,i=!1,o=e(function(e){return null==e?e:""+e},"toString");if(void 0!==t.source||void 0!==t.target){var s=o(t.source),l=o(t.target),u=null!=s&&n.hasElementWithId(s),c=null!=l&&n.hasElementWithId(l);(u||c)&&(n.batch(function(){r.remove(a,i),r.emitAndNotify("moveout");for(var e=0;e<r.length;e++){var t=r[e],n=t._private.data;t.isEdge()&&(u&&(n.source=s),c&&(n.target=l))}r.restore(a,i)}),r.emitAndNotify("move"))}else if(void 0!==t.parent){var d=o(t.parent);if(null===d||n.hasElementWithId(d)){var h=null===d?void 0:d;n.batch(function(){var e=r.remove(a,i);e.emitAndNotify("moveout");for(var t=0;t<r.length;t++){var n=r[t],o=n._private.data;n.isNode()&&(o.parent=h)}e.restore(a,i)}),r.emitAndNotify("move")}}return this},[$a,ol,sl,Ql,nu,su,lu,Wu,oc,sc,uc,dc,fc,yc,kc,Bc].forEach(function(e){Me(Nc,e)});var zc={add:e(function(e){var t,n=this;if(le(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 Lc(n,a)}}else if(ne(e)){t=new Lc(n,e)}else if(re(e)&&(ne(e.nodes)||ne(e.edges))){for(var s=e,l=[],u=["nodes","edges"],c=0,d=u.length;c<d;c++){var h=u[c],f=s[h];if(ne(f))for(var p=0,g=f.length;p<g;p++){var v=Me({group:h},f[p]);l.push(v)}}t=new Lc(n,l)}else{t=new $t(n,e).collection()}return t},"add"),remove:e(function(e){if(!le(e)&&ee(e)){var t=e;e=this.$(t)}return e.remove()},"remove")};function Oc(t,n,r,a){var i=.1,o=typeof Float32Array<"u";if(4!==arguments.length)return!1;for(var s=0;s<4;++s)if("number"!=typeof arguments[s]||isNaN(arguments[s])||!isFinite(arguments[s]))return!1;t=Math.min(t,1),r=Math.min(r,1),t=Math.max(t,0),r=Math.max(r,0);var l=o?new Float32Array(11):new Array(11);function u(e,t){return 1-3*t+3*e}function c(e,t){return 3*t-6*e}function d(e){return 3*e}function h(e,t,n){return((u(t,n)*e+c(t,n))*e+d(t))*e}function f(e,t,n){return 3*u(t,n)*e*e+2*c(t,n)*e+d(t)}function p(e,n){for(var a=0;a<4;++a){var i=f(n,t,r);if(0===i)return n;n-=(h(n,t,r)-e)/i}return n}function g(){for(var e=0;e<11;++e)l[e]=h(e*i,t,r)}function v(e,n,a){var i,o,s=0;do{(i=h(o=n+(a-n)/2,t,r)-e)>0?a=o:n=o}while(Math.abs(i)>1e-7&&++s<10);return o}function y(e){for(var n=0,a=1;10!==a&&l[a]<=e;++a)n+=i;--a;var o=n+(e-l[a])/(l[a+1]-l[a])*i,s=f(o,t,r);return s>=.001?p(e,o):0===s?o:v(e,n,n+i)}e(u,"A"),e(c,"B"),e(d,"C"),e(h,"calcBezier"),e(f,"getSlope"),e(p,"newtonRaphsonIterate"),e(g,"calcSampleValues"),e(v,"binarySubdivide"),e(y,"getTForX");var m=!1;function b(){m=!0,(t!==n||r!==a)&&g()}e(b,"precompute");var x=e(function(e){return m||b(),t===n&&r===a?e:0===e?0:1===e?1:h(y(e),n,a)},"f");x.getControlPoints=function(){return[{x:t,y:n},{x:r,y:a}]};var w="generateBezier("+[t,n,r,a]+")";return x.toString=function(){return w},x}e(Oc,"generateCubicBezier");var Fc=function(){function t(e){return-e.tension*e.x-e.friction*e.v}function n(e,n,r){var a={x:e.x+r.dx*n,v:e.v+r.dv*n,tension:e.tension,friction:e.friction};return{dx:a.v,dv:t(a)}}function r(e,r){var a={dx:e.v,dv:t(e)},i=n(e,.5*r,a),o=n(e,.5*r,i),s=n(e,r,o),l=1/6*(a.dx+2*(i.dx+o.dx)+s.dx),u=1/6*(a.dv+2*(i.dv+o.dv)+s.dv);return e.x=e.x+l*r,e.v=e.v+u*r,e}return e(t,"springAccelerationForState"),e(n,"springEvaluateStateWithDerivative"),e(r,"springIntegrateState"),e(function e(t,n,a){var i,o,s,l={x:-1,v:0,tension:null,friction:null},u=[0],c=0,d=1e-4;for(t=parseFloat(t)||500,n=parseFloat(n)||20,a=a||null,l.tension=t,l.friction=n,(i=null!==a)?o=(c=e(t,n))/a*.016:o=.016;s=r(s||l,o),u.push(1+s.x),c+=16,Math.abs(s.x)>d&&Math.abs(s.v)>d;);return i?function(e){return u[e*(u.length-1)|0]}:c},"springRK4Factory")}(),Vc=e(function(e,t,n,r){var a=Oc(e,t,n,r);return function(e,t,n){return e+(t-e)*a(n)}},"cubicBezier"),qc={linear:e(function(e,t,n){return e+(t-e)*n},"linear"),ease:Vc(.25,.1,.25,1),"ease-in":Vc(.42,0,1,1),"ease-out":Vc(0,0,.58,1),"ease-in-out":Vc(.42,0,.58,1),"ease-in-sine":Vc(.47,0,.745,.715),"ease-out-sine":Vc(.39,.575,.565,1),"ease-in-out-sine":Vc(.445,.05,.55,.95),"ease-in-quad":Vc(.55,.085,.68,.53),"ease-out-quad":Vc(.25,.46,.45,.94),"ease-in-out-quad":Vc(.455,.03,.515,.955),"ease-in-cubic":Vc(.55,.055,.675,.19),"ease-out-cubic":Vc(.215,.61,.355,1),"ease-in-out-cubic":Vc(.645,.045,.355,1),"ease-in-quart":Vc(.895,.03,.685,.22),"ease-out-quart":Vc(.165,.84,.44,1),"ease-in-out-quart":Vc(.77,0,.175,1),"ease-in-quint":Vc(.755,.05,.855,.06),"ease-out-quint":Vc(.23,1,.32,1),"ease-in-out-quint":Vc(.86,0,.07,1),"ease-in-expo":Vc(.95,.05,.795,.035),"ease-out-expo":Vc(.19,1,.22,1),"ease-in-out-expo":Vc(1,0,0,1),"ease-in-circ":Vc(.6,.04,.98,.335),"ease-out-circ":Vc(.075,.82,.165,1),"ease-in-out-circ":Vc(.785,.135,.15,.86),spring:e(function(e,t,n){if(0===n)return qc.linear;var r=Fc(e,t,n);return function(e,t,n){return e+(t-e)*r(n)}},"spring"),"cubic-bezier":Vc};function jc(e,t,n,r,a){if(1===r||t===n)return n;var i=a(t,n,r);return null==e||((e.roundValue||e.color)&&(i=Math.round(i)),void 0!==e.min&&(i=Math.max(i,e.min)),void 0!==e.max&&(i=Math.min(i,e.max))),i}function Xc(e,t){return null!=e.pfValue||null!=e.value?null==e.pfValue||null!=t&&"%"===t.type.units?e.value:e.pfValue:e}function Yc(e,t,n,r,a){var i=null!=a?a.type:null;n<0?n=0:n>1&&(n=1);var o=Xc(e,a),s=Xc(t,a);if(ie(o)&&ie(s))return jc(i,o,s,n,r);if(ne(o)&&ne(s)){for(var l=[],u=0;u<s.length;u++){var c=o[u],d=s[u];if(null!=c&&null!=d){var h=jc(i,c,d,n,r);l.push(h)}else l.push(d)}return l}}function Wc(e,t,n,r){var a=!r,i=e._private,o=t._private,s=o.easing,l=o.startTime,u=(r?e:e.cy()).style();if(!o.easingImpl)if(null==s)o.easingImpl=qc.linear;else{var c,d,h;if(ee(s))c=u.parse("transition-timing-function",s).value;else c=s;ee(c)?(d=c,h=[]):(d=c[1],h=c.slice(2).map(function(e){return+e})),h.length>0?("spring"===d&&h.push(o.duration),o.easingImpl=qc[d].apply(null,h)):o.easingImpl=qc[d]}var f,p=o.easingImpl;if(f=0===o.duration?1:(n-l)/o.duration,o.applying&&(f=o.progress),f<0?f=0:f>1&&(f=1),null==o.delay){var g=o.startPosition,v=o.position;if(v&&a&&!e.locked()){var y={};Hc(g.x,v.x)&&(y.x=Yc(g.x,v.x,f,p)),Hc(g.y,v.y)&&(y.y=Yc(g.y,v.y,f,p)),e.position(y)}var m=o.startPan,b=o.pan,x=i.pan,w=null!=b&&r;w&&(Hc(m.x,b.x)&&(x.x=Yc(m.x,b.x,f,p)),Hc(m.y,b.y)&&(x.y=Yc(m.y,b.y,f,p)),e.emit("pan"));var E=o.startZoom,C=o.zoom,T=null!=C&&r;T&&(Hc(E,C)&&(i.zoom=qn(i.minZoom,Yc(E,C,f,p),i.maxZoom)),e.emit("zoom")),(w||T)&&e.emit("viewport");var k=o.style;if(k&&k.length>0&&a){for(var S=0;S<k.length;S++){var P=k[S],B=P.name,_=P,D=o.startStyle[B],A=Yc(D,_,f,p,u.properties[D.name]);u.overrideBypass(e,B,A)}e.emit("style")}}return o.progress=f,f}function Hc(e,t){return null!=e&&null!=t&&(!(!ie(e)||!ie(t))||!(!e||!t))}function Kc(e,t,n,r){var a=t._private;a.started=!0,a.startTime=n-a.progress*a.duration}function Gc(t,n){var r=n._private.aniEles,a=[];function i(n,r){var i=n._private,o=i.animation.current,s=i.animation.queue,l=!1;if(0===o.length){var u=s.shift();u&&o.push(u)}for(var c=e(function(e){for(var t=e.length-1;t>=0;t--){(0,e[t])()}e.splice(0,e.length)},"callbacks"),d=o.length-1;d>=0;d--){var h=o[d],f=h._private;f.stopped?(o.splice(d,1),f.hooked=!1,f.playing=!1,f.started=!1,c(f.frames)):!f.playing&&!f.applying||(f.playing&&f.applying&&(f.applying=!1),f.started||Kc(0,h,t),Wc(n,h,t,r),f.applying&&(f.applying=!1),c(f.frames),null!=f.step&&f.step(t),h.completed()&&(o.splice(d,1),f.hooked=!1,f.playing=!1,f.started=!1,c(f.completes)),l=!0)}return!r&&0===o.length&&0===s.length&&a.push(n),l}e(i,"stepOne");for(var o=!1,s=0;s<r.length;s++){var l=i(r[s]);o=o||l}var u=i(n,!0);(o||u)&&(r.length>0?n.notify("draw",r):n.notify("draw")),r.unmerge(a),n.emit("step")}e(jc,"getEasedValue"),e(Xc,"getValue"),e(Yc,"ease"),e(Wc,"step$1"),e(Hc,"valid"),e(Kc,"startAnimation"),e(Gc,"stepAll");var Uc={animate:il.animate(),animation:il.animation(),animated:il.animated(),clearQueue:il.clearQueue(),delay:il.delay(),delayAnimation:il.delayAnimation(),stop:il.stop(),addToAnimationPool:e(function(e){this.styleEnabled()&&this._private.aniEles.merge(e)},"addToAnimationPool"),stopAnimationLoop:e(function(){this._private.animationsRunning=!1},"stopAnimationLoop"),startAnimationLoop:e(function(){var t=this;if(t._private.animationsRunning=!0,t.styleEnabled()){e(r,"headlessStep");var n=t.renderer();n&&n.beforeRender?n.beforeRender(e(function(e,n){Gc(n,t)},"rendererAnimationStep"),n.beforeRenderPriorities.animations):r()}function r(){t._private.animationsRunning&&st(e(function(e){Gc(e,t),r()},"animationStep"))}},"startAnimationLoop")},Zc={qualifierCompare:e(function(e,t){return null==e||null==t?null==e&&null==t:e.sameText(t)},"qualifierCompare"),eventMatches:e(function(e,t,n){var r=t.qualifier;return null==r||e!==n.target&&ue(n.target)&&r.matches(n.target)},"eventMatches"),addEventFields:e(function(e,t){t.cy=e,t.target=e},"addEventFields"),callbackContext:e(function(e,t,n){return null!=t.qualifier?n.target:e},"callbackContext")},$c=e(function(e){return ee(e)?new Zl(e):e},"argSelector"),Qc={createEmitter:e(function(){var e=this._private;return e.emitter||(e.emitter=new Ju(Zc,this)),this},"createEmitter"),emitter:e(function(){return this._private.emitter},"emitter"),on:e(function(e,t,n){return this.emitter().on(e,$c(t),n),this},"on"),removeListener:e(function(e,t,n){return this.emitter().removeListener(e,$c(t),n),this},"removeListener"),removeAllListeners:e(function(){return this.emitter().removeAllListeners(),this},"removeAllListeners"),one:e(function(e,t,n){return this.emitter().one(e,$c(t),n),this},"one"),once:e(function(e,t,n){return this.emitter().one(e,$c(t),n),this},"once"),emit:e(function(e,t){return this.emitter().emit(e,t),this},"emit"),emitAndNotify:e(function(e,t){return this.emit(e),this.notify(e,t),this},"emitAndNotify")};il.eventAliasesOn(Qc);var Jc={png:e(function(e){return e=e||{},this._private.renderer.png(e)},"png"),jpg:e(function(e){var t=this._private.renderer;return(e=e||{}).bg=e.bg||"#fff",t.jpg(e)},"jpg")};Jc.jpeg=Jc.jpg;var ed={layout:e(function(e){var t=this;if(null!=e)if(null!=e.name){var n,r=e.name,a=t.extension("layout",r);if(null!=a)return n=ee(e.eles)?t.$(e.eles):null!=e.eles?e.eles:t.$(),new a(Me({},e,{cy:t,eles:n}));Mt("No such layout `"+r+"` found. Did you forget to import it and `cytoscape.use()` it?")}else Mt("A `name` must be specified to make a layout");else Mt("Layout options must be specified to make a layout")},"layout")};ed.createLayout=ed.makeLayout=ed.layout;var td={notify:e(function(e,t){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var r=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();null!=t&&r.merge(t)}else if(n.notificationsEnabled){var a=this.renderer();this.destroyed()||!a||a.notify(e,t)}},"notify"),notifications:e(function(e){var t=this._private;return void 0===e?t.notificationsEnabled:(t.notificationsEnabled=!!e,this)},"notifications"),noNotifications:e(function(e){this.notifications(!1),e(),this.notifications(!0)},"noNotifications"),batching:e(function(){return this._private.batchCount>0},"batching"),startBatch:e(function(){var e=this._private;return null==e.batchCount&&(e.batchCount=0),0===e.batchCount&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},"startBatch"),endBatch:e(function(){var e=this._private;if(0===e.batchCount)return this;if(e.batchCount--,0===e.batchCount){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:e(function(e){return this.startBatch(),e(),this.endBatch(),this},"batch"),batchData:e(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];t.getElementById(a).data(i)}})},"batchData")},nd=qt({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]}),rd={renderTo:e(function(e,t,n,r){return this._private.renderer.renderTo(e,t,n,r),this},"renderTo"),renderer:e(function(){return this._private.renderer},"renderer"),forceRender:e(function(){return this.notify("draw"),this},"forceRender"),resize:e(function(){return this.invalidateSize(),this.emitAndNotify("resize"),this},"resize"),initRenderer:e(function(e){var t=this,n=t.extension("renderer",e.name);if(null!=n){void 0!==e.wheelSensitivity&&It("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=nd(e);r.cy=t,t._private.renderer=new n(r),this.notify("init")}else Mt("Can not initialise: No such renderer `".concat(e.name,"` found. Did you forget to import it and `cytoscape.use()` it?"))},"initRenderer"),destroyRenderer:e(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(e){var t=e._private;t.rscratch={},t.rstyle={},t.animation.current=[],t.animation.queue=[]})},"destroyRenderer"),onRender:e(function(e){return this.on("render",e)},"onRender"),offRender:e(function(e){return this.off("render",e)},"offRender")};rd.invalidateDimensions=rd.resize;var ad={collection:e(function(e,t){return ee(e)?this.$(e):le(e)?e.collection():ne(e)?(t||(t={}),new Lc(this,e,t.unique,t.removed)):new Lc(this)},"collection"),nodes:e(function(e){var t=this.$(function(e){return e.isNode()});return e?t.filter(e):t},"nodes"),edges:e(function(e){var t=this.$(function(e){return e.isEdge()});return e?t.filter(e):t},"edges"),$:e(function(e){var t=this._private.elements;return e?t.filter(e):t.spawnSelf()},"$"),mutableElements:e(function(){return this._private.elements},"mutableElements")};ad.elements=ad.filter=ad.$;var id={},od="t";id.apply=function(e){for(var t=this,n=t._private.cy.collection(),r=0;r<e.length;r++){var a=e[r],i=t.getContextMeta(a);if(!i.empty){var o=t.getContextStyle(i),s=t.applyContextStyle(i,o,a);a._private.appliedInitStyle?t.updateTransitions(a,s.diffProps):a._private.appliedInitStyle=!0,t.updateStyleHints(a)&&n.push(a)}}return n},id.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=[],s={},l=0;l<n.length;l++){var u=n[l],c=e[l]===od,d=t[l]===od,h=c!==d,f=u.mappedProperties.length>0;if(h||d&&f){var p=void 0;h&&f||h?p=u.properties:f&&(p=u.mappedProperties);for(var g=0;g<p.length;g++){for(var v=p[g],y=v.name,m=!1,b=l+1;b<n.length;b++){var x=n[b];if(t[b]===od&&(m=null!=x.properties[v.name]))break}!s[y]&&!m&&(s[y]=!0,o.push(y))}}}return r[a]=o,o},id.getContextMeta=function(e){for(var t,n=this,r="",a=e._private.styleCxtKey||"",i=0;i<n.length;i++){var o=n[i];r+=o.selector&&o.selector.matches(e)?od:"f"}return t=n.getPropertiesDiff(a,r),e._private.styleCxtKey=r,{key:r,diffPropNames:t,empty:0===t.length}},id.getContextStyle=function(e){var t=e.key,n=this._private.contextStyles=this._private.contextStyles||{};if(n[t])return n[t];for(var r={_private:{key:t}},a=0;a<this.length;a++){var i=this[a];if(t[a]===od)for(var o=0;o<i.properties.length;o++){var s=i.properties[o];r[s.name]=s}}return n[t]=r,r},id.applyContextStyle=function(e,t,n){for(var r=e.diffPropNames,a={},i=this.types,o=0;o<r.length;o++){var s=r[o],l=t[s],u=n.pstyle(s);if(!l){if(!u)continue;l=u.bypass?{name:s,deleteBypassed:!0}:{name:s,delete:!0}}if(u!==l){if(l.mapped===i.fn&&null!=u&&null!=u.mapping&&u.mapping.value===l.value){var c=u.mapping;if((c.fnValue=l.value(n))===c.prevFnValue)continue}var d=a[s]={prev:u};this.applyParsedProperty(n,l),d.next=n.pstyle(s),d.next&&d.next.bypass&&(d.next=d.next.bypassed)}}return{diffProps:a}},id.updateStyleHints=function(t){var n=t._private,r=this,a=r.propertyGroupNames,i=r.propertyGroupKeys,o=e(function(e,t,n){return r.getPropertiesHash(e,t,n)},"propHash"),s=n.styleKey;if(t.removed())return!1;var l="nodes"===n.group,u=t._private.style;a=Object.keys(u);for(var c=0;c<i.length;c++){var d=i[c];n.styleKeys[d]=[ut,ct]}for(var h=e(function(e,t){return n.styleKeys[t][0]=ht(e,n.styleKeys[t][0])},"updateGrKey1"),f=e(function(e,t){return n.styleKeys[t][1]=ft(e,n.styleKeys[t][1])},"updateGrKey2"),p=e(function(e,t){h(e,t),f(e,t)},"updateGrKey"),g=e(function(e,t){for(var n=0;n<e.length;n++){var r=e.charCodeAt(n);h(r,t),f(r,t)}},"updateGrKeyWStr"),v=e(function(e){return-128<e&&e<128&&Math.floor(e)!==e?2e9-(1024*e|0):e},"cleanNum"),y=0;y<a.length;y++){var m=a[y],b=u[m];if(null!=b){var x=this.properties[m],w=x.type,E=x.groupKey,C=void 0;null!=x.hashOverride?C=x.hashOverride(t,b):null!=b.pfValue&&(C=b.pfValue);var T=null==x.enums?b.value:null,k=null!=C,S=k||null!=T,P=b.units;if(w.number&&S&&!w.multiple)p(v(k?C:T),E),!k&&null!=P&&g(P,E);else g(b.strValue,E)}}for(var B=[ut,ct],_=0;_<i.length;_++){var D=i[_],A=n.styleKeys[D];B[0]=ht(A[0],B[0]),B[1]=ft(A[1],B[1])}n.styleKey=pt(B[0],B[1]);var M=n.styleKeys;n.labelDimsKey=gt(M.labelDimensions);var R=o(t,["label"],M.labelDimensions);if(n.labelKey=gt(R),n.labelStyleKey=gt(vt(M.commonLabel,R)),!l){var I=o(t,["source-label"],M.labelDimensions);n.sourceLabelKey=gt(I),n.sourceLabelStyleKey=gt(vt(M.commonLabel,I));var L=o(t,["target-label"],M.labelDimensions);n.targetLabelKey=gt(L),n.targetLabelStyleKey=gt(vt(M.commonLabel,L))}if(l){var N=n.styleKeys,z=N.nodeBody,O=N.nodeBorder,F=N.nodeOutline,V=N.backgroundImage,q=N.compound,j=N.pie,X=N.stripe,Y=[z,O,F,V,q,j,X].filter(function(e){return null!=e}).reduce(vt,[ut,ct]);n.nodeKey=gt(Y),n.hasPie=null!=j&&j[0]!==ut&&j[1]!==ct,n.hasStripe=null!=X&&X[0]!==ut&&X[1]!==ct}return s!==n.styleKey},id.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},id.applyParsedProperty=function(t,n){var r,a=this,i=n,o=t._private.style,s=a.types,l=a.properties[i.name].type,u=i.bypass,c=o[i.name],d=c&&c.bypass,h=t._private,f="mapping",p=e(function(e){return null==e?null:null!=e.pfValue?e.pfValue:e.value},"getVal"),g=e(function(){var e=p(c),n=p(i);a.checkTriggers(t,i.name,e,n)},"checkTriggers");if("curve-style"===n.name&&t.isEdge()&&("bezier"!==n.value&&t.isLoop()||"haystack"===n.value&&(t.source().isParent()||t.target().isParent()))&&(i=n=this.parse(n.name,"bezier",u)),i.delete)return o[i.name]=void 0,g(),!0;if(i.deleteBypassed)return c?!!c.bypass&&(c.bypassed=void 0,g(),!0):(g(),!0);if(i.deleteBypass)return c?!!c.bypass&&(o[i.name]=c.bypassed,g(),!0):(g(),!0);var v=e(function(){It("Do not assign mappings to elements without corresponding data (i.e. ele `"+t.id()+"` has no mapping for property `"+i.name+"` with data field `"+i.field+"`); try a `["+i.field+"]` selector to limit scope to elements with `"+i.field+"` defined")},"printMappingErr");switch(i.mapped){case s.mapData:for(var y=i.field.split("."),m=h.data,b=0;b<y.length&&m;b++){m=m[y[b]]}if(null==m)return v(),!1;var x;if(!ie(m))return It("Do not use continuous mappers without specifying numeric data (i.e. `"+i.field+": "+m+"` for `"+t.id()+"` is non-numeric)"),!1;var w=i.fieldMax-i.fieldMin;if((x=0===w?0:(m-i.fieldMin)/w)<0?x=0:x>1&&(x=1),l.color){var E=i.valueMin[0],C=i.valueMax[0],T=i.valueMin[1],k=i.valueMax[1],S=i.valueMin[2],P=i.valueMax[2],B=null==i.valueMin[3]?1:i.valueMin[3],_=null==i.valueMax[3]?1:i.valueMax[3],D=[Math.round(E+(C-E)*x),Math.round(T+(k-T)*x),Math.round(S+(P-S)*x),Math.round(B+(_-B)*x)];r={bypass:i.bypass,name:i.name,value:D,strValue:"rgb("+D[0]+", "+D[1]+", "+D[2]+")"}}else{if(!l.number)return!1;var A=i.valueMin+(i.valueMax-i.valueMin)*x;r=this.parse(i.name,A,i.bypass,f)}if(!r)return v(),!1;r.mapping=i,i=r;break;case s.data:for(var M=i.field.split("."),R=h.data,I=0;I<M.length&&R;I++){R=R[M[I]]}if(null!=R&&(r=this.parse(i.name,R,i.bypass,f)),!r)return v(),!1;r.mapping=i,i=r;break;case s.fn:var L=i.value,N=null!=i.fnValue?i.fnValue:L(t);if(i.prevFnValue=N,null==N)return It("Custom function mappers may not return null (i.e. `"+i.name+"` for ele `"+t.id()+"` is null)"),!1;if(!(r=this.parse(i.name,N,i.bypass,f)))return It("Custom function mappers may not return invalid values for the property type (i.e. `"+i.name+"` for ele `"+t.id()+"` is invalid)"),!1;r.mapping=Nt(i),i=r;break;case void 0:break;default:return!1}return u?(i.bypassed=d?c.bypassed:c,o[i.name]=i):d?c.bypassed=i:o[i.name]=i,g(),!0},id.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)for(var a=r._private.style,i=Object.keys(a),o=0;o<i.length;o++){var s=i[o],l=a[s];null!=l&&(l.bypass?l.bypassed=null:a[s]=null)}else r._private.style={}}},id.update=function(){this._private.cy.mutableElements().updateStyle()},id.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 s={},l=!1,u=0;u<a.length;u++){var c=a[u],d=e.pstyle(c),h=t[c];if(h){var f=h.prev,p=null!=h.next?h.next:d,g=!1,v=void 0,y=1e-6;f&&(ie(f.pfValue)&&ie(p.pfValue)?(g=p.pfValue-f.pfValue,v=f.pfValue+y*g):ie(f.value)&&ie(p.value)?(g=p.value-f.value,v=f.value+y*g):ne(f.value)&&ne(p.value)&&(g=f.value[0]!==p.value[0]||f.value[1]!==p.value[1]||f.value[2]!==p.value[2],v=f.strValue),g&&(s[c]=p.strValue,this.applyBypass(e,c,v),l=!0))}}if(!l)return;r.transitioning=!0,new ai(function(t){o>0?e.delayAnimation(o).play().promise().then(t):t()}).then(function(){return e.animation({style:s,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)},id.checkTrigger=function(e,t,n,r,a,i){var o=this.properties[t],s=a(o);e.removed()||null!=s&&s(n,r,e)&&i(o)},id.checkZOrderTrigger=function(e,t,n,r){var a=this;this.checkTrigger(e,t,n,r,function(e){return e.triggersZOrder},function(){a._private.cy.notify("zorder",e)})},id.checkBoundsTrigger=function(e,t,n,r){this.checkTrigger(e,t,n,r,function(e){return e.triggersBounds},function(t){e.dirtyCompoundBoundsCache(),e.dirtyBoundingBoxCache()})},id.checkConnectedEdgesBoundsTrigger=function(e,t,n,r){this.checkTrigger(e,t,n,r,function(e){return e.triggersBoundsOfConnectedEdges},function(t){e.connectedEdges().forEach(function(e){e.dirtyBoundingBoxCache()})})},id.checkParallelEdgesBoundsTrigger=function(e,t,n,r){this.checkTrigger(e,t,n,r,function(e){return e.triggersBoundsOfParallelEdges},function(t){e.parallelEdges().forEach(function(e){e.dirtyBoundingBoxCache()})})},id.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 sd={applyBypass:function(e,t,n,r){var a=[];if("*"===t||"**"===t){if(void 0!==n)for(var i=0;i<this.properties.length;i++){var o=this.properties[i].name,s=this.parse(o,n,!0);s&&a.push(s)}}else if(ee(t)){var l=this.parse(t,n,!0);l&&a.push(l)}else{if(!re(t))return!1;var u=t;r=n;for(var c=Object.keys(u),d=0;d<c.length;d++){var h=c[d],f=u[h];if(void 0===f&&(f=u[we(h)]),void 0!==f){var p=this.parse(h,f,!0);p&&a.push(p)}}}if(0===a.length)return!1;for(var g=!1,v=0;v<e.length;v++){for(var y=e[v],m={},b=void 0,x=0;x<a.length;x++){var w=a[x];if(r){var E=y.pstyle(w.name);b=m[w.name]={prev:E}}g=this.applyParsedProperty(y,Nt(w))||g,r&&(b.next=y.pstyle(w.name))}g&&this.updateStyleHints(y),r&&this.updateTransitions(y,m,true)}return g},overrideBypass:function(e,t,n){t=xe(t);for(var r=0;r<e.length;r++){var a=e[r],i=a._private.style[t],o=this.properties[t].type,s=o.color,l=o.mutiple,u=i?null!=i.pfValue?i.pfValue:i.value:null;i&&i.bypass?(i.value=n,null!=i.pfValue&&(i.pfValue=n),i.strValue=s?"rgb("+n.join(",")+")":l?n.join(" "):""+n,this.updateStyleHints(a)):this.applyBypass(a,t,n),this.checkTriggers(a,t,u,n)}},removeAllBypasses:function(e,t){return this.removeBypasses(e,this.propertyNames,t)},removeBypasses:function(e,t,n){for(var r=0;r<e.length;r++){for(var a=e[r],i={},o=0;o<t.length;o++){var s=t[o],l=this.properties[s],u=a.pstyle(l.name);if(u&&u.bypass){var c=this.parse(s,"",!0),d=i[l.name]={prev:u};this.applyParsedProperty(a,c),d.next=a.pstyle(l.name)}}this.updateStyleHints(a),n&&this.updateTransitions(a,i,true)}}},ld={getEmSizeInPixels:function(){var e=this.containerCss("font-size");return null!=e?parseFloat(e):1},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)}},ud={getRenderedStyle:function(e,t){return t?this.getStylePropertyValue(e,t,!0):this.getRawStyle(e,!0)},getRawStyle:function(e,t){var n=this;if(e=e[0]){for(var r={},a=0;a<n.properties.length;a++){var i=n.properties[a],o=n.getStylePropertyValue(e,i.name,t);null!=o&&(r[i.name]=o,r[we(i.name)]=o)}return r}},getIndexedStyle:function(e,t,n,r){return e.pstyle(t)[n][r]??e.cy().style().getDefaultProperty(t)[n][0]},getStylePropertyValue:function(t,n,r){if(t=t[0]){var a=this.properties[n];a.alias&&(a=a.pointsTo);var i=a.type,o=t.pstyle(a.name);if(o){var s=o.value,l=o.units,u=o.strValue;if(r&&i.number&&null!=s&&ie(s)){var c=t.cy().zoom(),d=e(function(e){return e*c},"getRenderedValue"),h=e(function(e,t){return d(e)+t},"getValueStringWithUnits"),f=ne(s);return(f?l.every(function(e){return null!=e}):null!=l)?f?s.map(function(e,t){return h(e,l[t])}).join(" "):h(s,l):f?s.map(function(e){return ee(e)?e:""+d(e)}).join(" "):""+d(s)}if(null!=u)return u}return null}},getAnimationStartStyle:function(e,t){for(var n={},r=0;r<t.length;r++){var a=t[r].name,i=e.pstyle(a);void 0!==i&&(i=re(i)?this.parse(a,i.strValue):this.parse(a,i)),i&&(n[a]=i)}return n},getPropsList:function(e){var t=[],n=e,r=this.properties;if(n)for(var a=Object.keys(n),i=0;i<a.length;i++){var o=a[i],s=n[o],l=r[o]||r[xe(o)],u=this.parse(l.name,s);u&&t.push(u)}return t},getNonDefaultPropertiesHash:function(e,t,n){var r,a,i,o,s,l,u=n.slice();for(s=0;s<t.length;s++)if(r=t[s],null!=(a=e.pstyle(r,!1)))if(null!=a.pfValue)u[0]=ht(o,u[0]),u[1]=ft(o,u[1]);else for(i=a.strValue,l=0;l<i.length;l++)o=i.charCodeAt(l),u[0]=ht(o,u[0]),u[1]=ft(o,u[1]);return u}};ud.getPropertiesHash=ud.getNonDefaultPropertiesHash;var cd={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 s=0;s<o.length;s++){var l=o[s],u=i[l];t.css(l,u)}}return t},fromJson:function(e){var t=this;return t.resetToDefault(),t.appendFromJson(e),t},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 s=a[o];i[s.name]=s.strValue}e.push({selector:r?r.toString():"core",style:i})}return e}},dd={appendFromString:function(t){var n,r,a,i=this,o=""+t;function s(){o=o.length>n.length?o.substr(n.length):""}function l(){r=r.length>a.length?r.substr(a.length):""}for(o=o.replace(/[/][*](\s|.)+?[*][/]/g,""),e(s,"removeSelAndBlockFromRemaining"),e(l,"removePropAndValFromRem");;){if(o.match(/^\s*$/))break;var u=o.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!u){It("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+o);break}n=u[0];var c=u[1];if("core"!==c)if(new Zl(c).invalid){It("Skipping parsing of block: Invalid selector found in string stylesheet: "+c),s();continue}var d=u[2],h=!1;r=d;for(var f=[];;){if(r.match(/^\s*$/))break;var p=r.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!p){It("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+d),h=!0;break}a=p[0];var g=p[1],v=p[2];if(this.properties[g])i.parse(g,v)?(f.push({name:g,val:v}),l()):(It("Skipping property: Invalid property definition in: "+a),l());else It("Skipping property: Invalid property name in: "+a),l()}if(h){s();break}i.selector(c);for(var y=0;y<f.length;y++){var m=f[y];i.css(m.name,m.val)}s()}return i},fromString:function(e){var t=this;return t.resetToDefault(),t.appendFromString(e),t}},hd={};!function(){var t=ke,n=Pe,r=_e,a=e(function(e){return"^"+e+"\\s*\\(\\s*([\\w\\.]+)\\s*\\)$"},"data"),i=e(function(e){var a=t+"|\\w+|"+n+"|"+r+"|\\#[0-9a-fA-F]{3}|\\#[0-9a-fA-F]{6}";return"^"+e+"\\s*\\(([\\w\\.]+)\\s*\\,\\s*("+t+")\\s*\\,\\s*("+t+")\\s*,\\s*("+a+")\\s*\\,\\s*("+a+")\\)$"},"mapData"),o=["^url\\s*\\(\\s*['\"]?(.+?)['\"]?\\s*\\)$","^(none)$","^(.+)$"];hd.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:a("data")},layoutData:{mapping:!0,regex:a("layoutData")},scratch:{mapping:!0,regex:a("scratch")},mapData:{mapping:!0,regex:i("mapData")},mapLayoutData:{mapping:!0,regex:i("mapLayoutData")},mapScratch:{mapping:!0,regex:i("mapScratch")},fn:{mapping:!0,fn:!0},url:{regexes:o,singleRegexMatchValue:!0},urls:{regexes:o,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:e(function(e,t){switch(e.length){case 2:return"deg"!==t[0]&&"rad"!==t[0]&&"deg"!==t[1]&&"rad"!==t[1];case 1:return ee(e[0])||"deg"===t[0]||"rad"===t[0];default:return!1}},"validate")},easing:{regexes:["^(spring)\\s*\\(\\s*("+t+")\\s*,\\s*("+t+")\\s*\\)$","^(cubic-bezier)\\s*\\(\\s*("+t+")\\s*,\\s*("+t+")\\s*,\\s*("+t+")\\s*,\\s*("+t+")\\s*\\)$"],enums:["linear","ease","ease-in","ease-out","ease-in-out","ease-in-sine","ease-out-sine","ease-in-out-sine","ease-in-quad","ease-out-quad","ease-in-out-quad","ease-in-cubic","ease-out-cubic","ease-in-out-cubic","ease-in-quart","ease-out-quart","ease-in-out-quart","ease-in-quint","ease-out-quint","ease-in-out-quint","ease-in-expo","ease-out-expo","ease-in-out-expo","ease-in-circ","ease-out-circ","ease-in-out-circ"]},gradientDirection:{enums:["to-bottom","to-top","to-left","to-right","to-bottom-right","to-bottom-left","to-top-right","to-top-left","to-right-bottom","to-left-bottom","to-right-top","to-left-top"]},boundsExpansion:{number:!0,multiple:!0,min:0,validate:e(function(e){var t=e.length;return 1===t||2===t||4===t},"validate")}};var s={zeroNonZero:e(function(e,t){return(null==e||null==t)&&e!==t||0==e&&0!=t||0!=e&&0==t},"zeroNonZero"),any:e(function(e,t){return e!=t},"any"),emptyNonEmpty:e(function(e,t){var n=pe(e),r=pe(t);return n&&!r||!n&&r},"emptyNonEmpty")},l=hd.types,u=[{name:"label",type:l.text,triggersBounds:s.any,triggersZOrder:s.emptyNonEmpty},{name:"text-rotation",type:l.textRotation,triggersBounds:s.any},{name:"text-margin-x",type:l.bidirectionalSize,triggersBounds:s.any},{name:"text-margin-y",type:l.bidirectionalSize,triggersBounds:s.any}],c=[{name:"source-label",type:l.text,triggersBounds:s.any},{name:"source-text-rotation",type:l.textRotation,triggersBounds:s.any},{name:"source-text-margin-x",type:l.bidirectionalSize,triggersBounds:s.any},{name:"source-text-margin-y",type:l.bidirectionalSize,triggersBounds:s.any},{name:"source-text-offset",type:l.size,triggersBounds:s.any}],d=[{name:"target-label",type:l.text,triggersBounds:s.any},{name:"target-text-rotation",type:l.textRotation,triggersBounds:s.any},{name:"target-text-margin-x",type:l.bidirectionalSize,triggersBounds:s.any},{name:"target-text-margin-y",type:l.bidirectionalSize,triggersBounds:s.any},{name:"target-text-offset",type:l.size,triggersBounds:s.any}],h=[{name:"font-family",type:l.fontFamily,triggersBounds:s.any},{name:"font-style",type:l.fontStyle,triggersBounds:s.any},{name:"font-weight",type:l.fontWeight,triggersBounds:s.any},{name:"font-size",type:l.size,triggersBounds:s.any},{name:"text-transform",type:l.textTransform,triggersBounds:s.any},{name:"text-wrap",type:l.textWrap,triggersBounds:s.any},{name:"text-overflow-wrap",type:l.textOverflowWrap,triggersBounds:s.any},{name:"text-max-width",type:l.size,triggersBounds:s.any},{name:"text-outline-width",type:l.size,triggersBounds:s.any},{name:"line-height",type:l.positiveNumber,triggersBounds:s.any}],f=[{name:"text-valign",type:l.valign,triggersBounds:s.any},{name:"text-halign",type:l.halign,triggersBounds:s.any},{name:"color",type:l.color},{name:"text-outline-color",type:l.color},{name:"text-outline-opacity",type:l.zeroOneNumber},{name:"text-background-color",type:l.color},{name:"text-background-opacity",type:l.zeroOneNumber},{name:"text-background-padding",type:l.size,triggersBounds:s.any},{name:"text-border-opacity",type:l.zeroOneNumber},{name:"text-border-color",type:l.color},{name:"text-border-width",type:l.size,triggersBounds:s.any},{name:"text-border-style",type:l.borderStyle,triggersBounds:s.any},{name:"text-background-shape",type:l.textBackgroundShape,triggersBounds:s.any},{name:"text-justification",type:l.justification},{name:"box-select-labels",type:l.bool,triggersBounds:s.any}],p=[{name:"events",type:l.bool,triggersZOrder:s.any},{name:"text-events",type:l.bool,triggersZOrder:s.any},{name:"box-selection",type:l.boxSelection,triggersZOrder:s.any}],g=[{name:"display",type:l.display,triggersZOrder:s.any,triggersBounds:s.any,triggersBoundsOfConnectedEdges:s.any,triggersBoundsOfParallelEdges:e(function(e,t,n){return e!==t&&"bezier"===n.pstyle("curve-style").value},"triggersBoundsOfParallelEdges")},{name:"visibility",type:l.visibility,triggersZOrder:s.any},{name:"opacity",type:l.zeroOneNumber,triggersZOrder:s.zeroNonZero},{name:"text-opacity",type:l.zeroOneNumber},{name:"min-zoomed-font-size",type:l.size},{name:"z-compound-depth",type:l.zCompoundDepth,triggersZOrder:s.any},{name:"z-index-compare",type:l.zIndexCompare,triggersZOrder:s.any},{name:"z-index",type:l.number,triggersZOrder:s.any}],v=[{name:"overlay-padding",type:l.size,triggersBounds:s.any},{name:"overlay-color",type:l.color},{name:"overlay-opacity",type:l.zeroOneNumber,triggersBounds:s.zeroNonZero},{name:"overlay-shape",type:l.overlayShape,triggersBounds:s.any},{name:"overlay-corner-radius",type:l.cornerRadius}],y=[{name:"underlay-padding",type:l.size,triggersBounds:s.any},{name:"underlay-color",type:l.color},{name:"underlay-opacity",type:l.zeroOneNumber,triggersBounds:s.zeroNonZero},{name:"underlay-shape",type:l.overlayShape,triggersBounds:s.any},{name:"underlay-corner-radius",type:l.cornerRadius}],m=[{name:"transition-property",type:l.propList},{name:"transition-duration",type:l.time},{name:"transition-delay",type:l.time},{name:"transition-timing-function",type:l.easing}],b=e(function(e,t){return"label"===t.value?-e.poolIndex():t.pfValue},"nodeSizeHashOverride"),x=[{name:"height",type:l.nodeSize,triggersBounds:s.any,hashOverride:b},{name:"width",type:l.nodeSize,triggersBounds:s.any,hashOverride:b},{name:"shape",type:l.nodeShape,triggersBounds:s.any},{name:"shape-polygon-points",type:l.polygonPointList,triggersBounds:s.any},{name:"corner-radius",type:l.cornerRadius},{name:"background-color",type:l.color},{name:"background-fill",type:l.fill},{name:"background-opacity",type:l.zeroOneNumber},{name:"background-blacken",type:l.nOneOneNumber},{name:"background-gradient-stop-colors",type:l.colors},{name:"background-gradient-stop-positions",type:l.percentages},{name:"background-gradient-direction",type:l.gradientDirection},{name:"padding",type:l.sizeMaybePercent,triggersBounds:s.any},{name:"padding-relative-to",type:l.paddingRelativeTo,triggersBounds:s.any},{name:"bounds-expansion",type:l.boundsExpansion,triggersBounds:s.any}],w=[{name:"border-color",type:l.color},{name:"border-opacity",type:l.zeroOneNumber},{name:"border-width",type:l.size,triggersBounds:s.any},{name:"border-style",type:l.borderStyle},{name:"border-cap",type:l.lineCap},{name:"border-join",type:l.lineJoin},{name:"border-dash-pattern",type:l.numbers},{name:"border-dash-offset",type:l.number},{name:"border-position",type:l.linePosition}],E=[{name:"outline-color",type:l.color},{name:"outline-opacity",type:l.zeroOneNumber},{name:"outline-width",type:l.size,triggersBounds:s.any},{name:"outline-style",type:l.borderStyle},{name:"outline-offset",type:l.size,triggersBounds:s.any}],C=[{name:"background-image",type:l.urls},{name:"background-image-crossorigin",type:l.bgCrossOrigin},{name:"background-image-opacity",type:l.zeroOneNumbers},{name:"background-image-containment",type:l.bgContainment},{name:"background-image-smoothing",type:l.bools},{name:"background-position-x",type:l.bgPos},{name:"background-position-y",type:l.bgPos},{name:"background-width-relative-to",type:l.bgRelativeTo},{name:"background-height-relative-to",type:l.bgRelativeTo},{name:"background-repeat",type:l.bgRepeat},{name:"background-fit",type:l.bgFit},{name:"background-clip",type:l.bgClip},{name:"background-width",type:l.bgWH},{name:"background-height",type:l.bgWH},{name:"background-offset-x",type:l.bgPos},{name:"background-offset-y",type:l.bgPos}],T=[{name:"position",type:l.position,triggersBounds:s.any},{name:"compound-sizing-wrt-labels",type:l.compoundIncludeLabels,triggersBounds:s.any},{name:"min-width",type:l.size,triggersBounds:s.any},{name:"min-width-bias-left",type:l.sizeMaybePercent,triggersBounds:s.any},{name:"min-width-bias-right",type:l.sizeMaybePercent,triggersBounds:s.any},{name:"min-height",type:l.size,triggersBounds:s.any},{name:"min-height-bias-top",type:l.sizeMaybePercent,triggersBounds:s.any},{name:"min-height-bias-bottom",type:l.sizeMaybePercent,triggersBounds:s.any}],k=[{name:"line-style",type:l.lineStyle},{name:"line-color",type:l.color},{name:"line-fill",type:l.fill},{name:"line-cap",type:l.lineCap},{name:"line-opacity",type:l.zeroOneNumber},{name:"line-dash-pattern",type:l.numbers},{name:"line-dash-offset",type:l.number},{name:"line-outline-width",type:l.size},{name:"line-outline-color",type:l.color},{name:"line-gradient-stop-colors",type:l.colors},{name:"line-gradient-stop-positions",type:l.percentages},{name:"curve-style",type:l.curveStyle,triggersBounds:s.any,triggersBoundsOfParallelEdges:e(function(e,t){return e!==t&&("bezier"===e||"bezier"===t)},"triggersBoundsOfParallelEdges")},{name:"haystack-radius",type:l.zeroOneNumber,triggersBounds:s.any},{name:"source-endpoint",type:l.edgeEndpoint,triggersBounds:s.any},{name:"target-endpoint",type:l.edgeEndpoint,triggersBounds:s.any},{name:"control-point-step-size",type:l.size,triggersBounds:s.any},{name:"control-point-distances",type:l.bidirectionalSizes,triggersBounds:s.any},{name:"control-point-weights",type:l.numbers,triggersBounds:s.any},{name:"segment-distances",type:l.bidirectionalSizes,triggersBounds:s.any},{name:"segment-weights",type:l.numbers,triggersBounds:s.any},{name:"segment-radii",type:l.numbers,triggersBounds:s.any},{name:"radius-type",type:l.radiusType,triggersBounds:s.any},{name:"taxi-turn",type:l.bidirectionalSizeMaybePercent,triggersBounds:s.any},{name:"taxi-turn-min-distance",type:l.size,triggersBounds:s.any},{name:"taxi-direction",type:l.axisDirection,triggersBounds:s.any},{name:"taxi-radius",type:l.number,triggersBounds:s.any},{name:"edge-distances",type:l.edgeDistances,triggersBounds:s.any},{name:"arrow-scale",type:l.positiveNumber,triggersBounds:s.any},{name:"loop-direction",type:l.angle,triggersBounds:s.any},{name:"loop-sweep",type:l.angle,triggersBounds:s.any},{name:"source-distance-from-node",type:l.size,triggersBounds:s.any},{name:"target-distance-from-node",type:l.size,triggersBounds:s.any}],S=[{name:"ghost",type:l.bool,triggersBounds:s.any},{name:"ghost-offset-x",type:l.bidirectionalSize,triggersBounds:s.any},{name:"ghost-offset-y",type:l.bidirectionalSize,triggersBounds:s.any},{name:"ghost-opacity",type:l.zeroOneNumber}],P=[{name:"selection-box-color",type:l.color},{name:"selection-box-opacity",type:l.zeroOneNumber},{name:"selection-box-border-color",type:l.color},{name:"selection-box-border-width",type:l.size},{name:"active-bg-color",type:l.color},{name:"active-bg-opacity",type:l.zeroOneNumber},{name:"active-bg-size",type:l.size},{name:"outside-texture-bg-color",type:l.color},{name:"outside-texture-bg-opacity",type:l.zeroOneNumber}],B=[];hd.pieBackgroundN=16,B.push({name:"pie-size",type:l.sizeMaybePercent}),B.push({name:"pie-hole",type:l.sizeMaybePercent}),B.push({name:"pie-start-angle",type:l.angle});for(var _=1;_<=hd.pieBackgroundN;_++)B.push({name:"pie-"+_+"-background-color",type:l.color}),B.push({name:"pie-"+_+"-background-size",type:l.percent}),B.push({name:"pie-"+_+"-background-opacity",type:l.zeroOneNumber});var D=[];hd.stripeBackgroundN=16,D.push({name:"stripe-size",type:l.sizeMaybePercent}),D.push({name:"stripe-direction",type:l.axisDirectionPrimary});for(var A=1;A<=hd.stripeBackgroundN;A++)D.push({name:"stripe-"+A+"-background-color",type:l.color}),D.push({name:"stripe-"+A+"-background-size",type:l.percent}),D.push({name:"stripe-"+A+"-background-opacity",type:l.zeroOneNumber});var M=[],R=hd.arrowPrefixes=["source","mid-source","target","mid-target"];[{name:"arrow-shape",type:l.arrowShape,triggersBounds:s.any},{name:"arrow-color",type:l.color},{name:"arrow-fill",type:l.arrowFill},{name:"arrow-width",type:l.arrowWidth}].forEach(function(e){R.forEach(function(t){var n=t+"-"+e.name,r=e.type,a=e.triggersBounds;M.push({name:n,type:r,triggersBounds:a})})},{});var I=hd.properties=[].concat(p,m,g,v,y,S,f,h,u,c,d,x,w,E,C,B,D,T,k,M,P),L=hd.propertyGroups={behavior:p,transition:m,visibility:g,overlay:v,underlay:y,ghost:S,commonLabel:f,labelDimensions:h,mainLabel:u,sourceLabel:c,targetLabel:d,nodeBody:x,nodeBorder:w,nodeOutline:E,backgroundImage:C,pie:B,stripe:D,compound:T,edgeLine:k,edgeArrow:M,core:P},N=hd.propertyGroupNames={};(hd.propertyGroupKeys=Object.keys(L)).forEach(function(e){N[e]=L[e].map(function(e){return e.name}),L[e].forEach(function(t){return t.groupKey=e})});var z=hd.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"}];hd.propertyNames=I.map(function(e){return e.name});for(var O=0;O<I.length;O++){var F=I[O];I[F.name]=F}for(var V=0;V<z.length;V++){var q=z[V],j=I[q.pointsTo],X={name:q.name,alias:!0,pointsTo:j};I.push(X),I[q.name]=X}}(),hd.getDefaultProperty=function(e){return this.getDefaultProperties()[e]},hd.getDefaultProperties=function(){var e=this._private;if(null!=e.defaultProperties)return e.defaultProperties;for(var t=Me({"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(e,t){for(var n=1;n<=hd.pieBackgroundN;n++){var r=t.name.replace("{{i}}",n),a=t.value;e[r]=a}return e},{}),{"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(e,t){for(var n=1;n<=hd.stripeBackgroundN;n++){var r=t.name.replace("{{i}}",n),a=t.value;e[r]=a}return e},{}),{"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(e,t){return hd.arrowPrefixes.forEach(function(n){var r=n+"-"+t.name,a=t.value;e[r]=a}),e},{})),n={},r=0;r<this.properties.length;r++){var a=this.properties[r];if(!a.pointsTo){var i=a.name,o=t[i],s=this.parse(i,o);n[i]=s}}return e.defaultProperties=n,e.defaultProperties},hd.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 fd={parse:function(e,t,n,r){var a=this;if(te(t))return a.parseImplWarn(e,t,n,r);var i,o=bt(e,""+t,n?"t":"f","mapping"===r||!0===r||!1===r||null==r?"dontcare":r),s=a.propCache=a.propCache||[];return(i=s[o])||(i=s[o]=a.parseImplWarn(e,t,n,r)),(n||"mapping"===r)&&((i=Nt(i))&&(i.value=Nt(i.value))),i},parseImplWarn:function(e,t,n,r){var a=this.parseImpl(e,t,n,r);return!a&&null!=t&&It("The style property `".concat(e,": ").concat(t,"` is invalid")),a&&("width"===a.name||"height"===a.name)&&"label"===t&&It("The style value of `label` is deprecated for `"+a.name+"`"),a},parseImpl:function(t,n,r,a){var i=this;t=xe(t);var o=i.properties[t],s=n,l=i.types;if(!o||void 0===n)return null;o.alias&&(o=o.pointsTo,t=o.name);var u=ee(n);u&&(n=n.trim());var c,d,h=o.type;if(!h)return null;if(r&&(""===n||null===n))return{name:t,value:n,bypass:!0,deleteBypass:!0};if(te(n))return{name:t,value:n,strValue:"fn",mapped:l.fn,bypass:r};if(!(!u||a||n.length<7||"a"!==n[1])){if(n.length>=7&&"d"===n[0]&&(c=new RegExp(l.data.regex).exec(n))){if(r)return!1;var f=l.data;return{name:t,value:c,strValue:""+n,mapped:f,field:c[1],bypass:r}}if(n.length>=10&&"m"===n[0]&&(d=new RegExp(l.mapData.regex).exec(n))){if(r||h.multiple)return!1;var p=l.mapData;if(!h.color&&!h.number)return!1;var g=this.parse(t,d[4]);if(!g||g.mapped)return!1;var v=this.parse(t,d[5]);if(!v||v.mapped)return!1;if(g.pfValue===v.pfValue||g.strValue===v.strValue)return It("`"+t+": "+n+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+g.strValue+"`"),this.parse(t,g.strValue);if(h.color){var y=g.value,m=v.value;if(!(y[0]!==m[0]||y[1]!==m[1]||y[2]!==m[2]||y[3]!==m[3]&&(null!=y[3]&&1!==y[3]||null!=m[3]&&1!==m[3])))return!1}return{name:t,value:d,strValue:""+n,mapped:p,field:d[1],fieldMin:parseFloat(d[2]),fieldMax:parseFloat(d[3]),valueMin:g.value,valueMax:v.value,bypass:r}}}if(h.multiple&&"multiple"!==a){var b;if(b=u?n.split(/\s+/):ne(n)?n:[n],h.evenMultiple&&b.length%2!=0)return null;for(var x=[],w=[],E=[],C="",T=!1,k=0;k<b.length;k++){var S=i.parse(t,b[k],r,"multiple");T=T||ee(S.value),x.push(S.value),E.push(null!=S.pfValue?S.pfValue:S.value),w.push(S.units),C+=(k>0?" ":"")+S.strValue}return h.validate&&!h.validate(x,w)?null:h.singleEnum&&T?1===x.length&&ee(x[0])?{name:t,value:x[0],strValue:x[0],bypass:r}:null:{name:t,value:x,pfValue:E,strValue:C,bypass:r,units:w}}var P=e(function(){for(var e=0;e<h.enums.length;e++){if(h.enums[e]===n)return{name:t,value:n,strValue:""+n,bypass:r}}return null},"checkEnums");if(h.number){var B,_="px";if(h.units&&(B=h.units),h.implicitUnits&&(_=h.implicitUnits),!h.unitless)if(u){var D="px|em"+(h.allowPercent?"|\\%":"");B&&(D=B);var A=n.match("^("+ke+")("+D+")?$");A&&(n=A[1],B=A[2]||_)}else(!B||h.implicitUnits)&&(B=_);if(n=parseFloat(n),isNaN(n)&&void 0===h.enums)return null;if(isNaN(n)&&void 0!==h.enums)return n=s,P();if(h.integer&&!oe(n)||void 0!==h.min&&(n<h.min||h.strictMin&&n===h.min)||void 0!==h.max&&(n>h.max||h.strictMax&&n===h.max))return null;var M={name:t,value:n,strValue:""+n+(B||""),units:B,bypass:r};return h.unitless||"px"!==B&&"em"!==B?M.pfValue=n:M.pfValue="px"!==B&&B?this.getEmSizeInPixels()*n:n,("ms"===B||"s"===B)&&(M.pfValue="ms"===B?n:1e3*n),("deg"===B||"rad"===B)&&(M.pfValue="rad"===B?n:An(n)),"%"===B&&(M.pfValue=n/100),M}if(h.propList){var R=[],I=""+n;if("none"!==I){for(var L=I.split(/\s*,\s*|\s+/),N=0;N<L.length;N++){var z=L[N].trim();i.properties[z]?R.push(z):It("`"+z+"` is not a valid property name")}if(0===R.length)return null}return{name:t,value:R,strValue:0===R.length?"none":R.join(" "),bypass:r}}if(h.color){var O=ze(n);return O?{name:t,value:O,pfValue:O,strValue:"rgb("+O[0]+","+O[1]+","+O[2]+")",bypass:r}:null}if(h.regex||h.regexes){if(h.enums){var F=P();if(F)return F}for(var V=h.regexes?h.regexes:[h.regex],q=0;q<V.length;q++){var j=new RegExp(V[q]).exec(n);if(j)return{name:t,value:h.singleRegexMatchValue?j[1]:j,strValue:""+n,bypass:r}}return null}return h.string?{name:t,value:""+n,strValue:""+n,bypass:r}:h.enums?P():null}},pd=e(function(e){if(!(this instanceof pd))return new pd(e);de(e)?(this._private={cy:e,coreStyle:{}},this.length=0,this.resetToDefault()):Mt("A style must have a core reference")},"Style"),gd=pd.prototype;gd.instanceString=function(){return"style"},gd.clear=function(){for(var e=this._private,t=e.cy.elements(),n=0;n<this.length;n++)this[n]=void 0;return this.length=0,e.contextStyles={},e.propDiffs={},this.cleanElements(t,!0),t.forEach(function(e){var t=e[0]._private;t.styleDirty=!0,t.appliedInitStyle=!1}),this},gd.resetToDefault=function(){return this.clear(),this.addDefaultStylesheet(),this},gd.core=function(e){return this._private.coreStyle[e]||this.getDefaultProperty(e)},gd.selector=function(e){var t="core"===e?null:new Zl(e),n=this.length++;return this[n]={selector:t,properties:[],mappedProperties:[],index:n},this},gd.css=function(){var e=arguments;if(1===e.length)for(var t=e[0],n=0;n<this.properties.length;n++){var r=this.properties[n],a=t[r.name];void 0===a&&(a=t[we(r.name)]),void 0!==a&&this.cssRule(r.name,a)}else 2===e.length&&this.cssRule(e[0],e[1]);return this},gd.style=gd.css,gd.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),!this[r].selector&&(this._private.coreStyle[n.name]=n)}return this},gd.append=function(e){return he(e)?e.appendToStyle(this):ne(e)?this.appendFromJson(e):ee(e)&&this.appendFromString(e),this},pd.fromJson=function(e,t){var n=new pd(e);return n.fromJson(t),n},pd.fromString=function(e,t){return new pd(e).fromString(t)},[id,sd,ld,ud,cd,dd,hd,fd].forEach(function(e){Me(gd,e)}),pd.types=gd.types,pd.properties=gd.properties,pd.propertyGroups=gd.propertyGroups,pd.propertyGroupNames=gd.propertyGroupNames,pd.propertyGroupKeys=gd.propertyGroupKeys;var vd={style:e(function(e){e&&this.setStyle(e).update();return this._private.style},"style"),setStyle:e(function(e){var t=this._private;return he(e)?t.style=e.generateStyle(this):ne(e)?t.style=pd.fromJson(this,e):ee(e)?t.style=pd.fromString(this,e):t.style=pd(this),t.style},"setStyle"),updateStyle:e(function(){this.mutableElements().updateStyle()},"updateStyle")},yd={autolock:e(function(e){return void 0===e?this._private.autolock:(this._private.autolock=!!e,this)},"autolock"),autoungrabify:e(function(e){return void 0===e?this._private.autoungrabify:(this._private.autoungrabify=!!e,this)},"autoungrabify"),autounselectify:e(function(e){return void 0===e?this._private.autounselectify:(this._private.autounselectify=!!e,this)},"autounselectify"),selectionType:e(function(e){var t=this._private;return null==t.selectionType&&(t.selectionType="single"),void 0===e?t.selectionType:(("additive"===e||"single"===e)&&(t.selectionType=e),this)},"selectionType"),panningEnabled:e(function(e){return void 0===e?this._private.panningEnabled:(this._private.panningEnabled=!!e,this)},"panningEnabled"),userPanningEnabled:e(function(e){return void 0===e?this._private.userPanningEnabled:(this._private.userPanningEnabled=!!e,this)},"userPanningEnabled"),zoomingEnabled:e(function(e){return void 0===e?this._private.zoomingEnabled:(this._private.zoomingEnabled=!!e,this)},"zoomingEnabled"),userZoomingEnabled:e(function(e){return void 0===e?this._private.userZoomingEnabled:(this._private.userZoomingEnabled=!!e,this)},"userZoomingEnabled"),boxSelectionEnabled:e(function(e){return void 0===e?this._private.boxSelectionEnabled:(this._private.boxSelectionEnabled=!!e,this)},"boxSelectionEnabled"),pan:e(function(){var e,t,n,r,a,i=arguments,o=this._private.pan;switch(i.length){case 0:return o;case 1:if(ee(i[0]))return o[e=i[0]];if(re(i[0])){if(!this._private.panningEnabled)return this;r=(n=i[0]).x,a=n.y,ie(r)&&(o.x=r),ie(a)&&(o.y=a),this.emit("pan viewport")}break;case 2:if(!this._private.panningEnabled)return this;t=i[1],("x"===(e=i[0])||"y"===e)&&ie(t)&&(o[e]=t),this.emit("pan viewport")}return this.notify("viewport"),this},"pan"),panBy:e(function(e,t){var n,r,a,i,o,s=arguments,l=this._private.pan;if(!this._private.panningEnabled)return this;switch(s.length){case 1:re(e)&&(i=(a=s[0]).x,o=a.y,ie(i)&&(l.x+=i),ie(o)&&(l.y+=o),this.emit("pan viewport"));break;case 2:r=t,("x"===(n=e)||"y"===n)&&ie(r)&&(l[n]+=r),this.emit("pan viewport")}return this.notify("viewport"),this},"panBy"),gc:e(function(){this.notify("gc")},"gc"),fit:e(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:e(function(e,t){if(ie(e)&&void 0===t&&(t=e,e=void 0),this._private.panningEnabled&&this._private.zoomingEnabled){var n;if(ee(e)){var r=e;e=this.$(r)}else if(ve(e)){var a=e;(n={x1:a.x1,y1:a.y1,x2:a.x2,y2:a.y2}).w=n.x2-n.x1,n.h=n.y2-n.y1}else le(e)||(e=this.mutableElements());if(!le(e)||!e.empty()){n=n||e.boundingBox();var i,o=this.width(),s=this.height();if(t=ie(t)?t:0,!isNaN(o)&&!isNaN(s)&&o>0&&s>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0)return{zoom:i=(i=(i=Math.min((o-2*t)/n.w,(s-2*t)/n.h))>this._private.maxZoom?this._private.maxZoom:i)<this._private.minZoom?this._private.minZoom:i,pan:{x:(o-i*(n.x1+n.x2))/2,y:(s-i*(n.y1+n.y2))/2}}}}},"getFitViewport"),zoomRange:e(function(e,t){var n=this._private;if(null==t){var r=e;e=r.min,t=r.max}return ie(e)&&ie(t)&&e<=t?(n.minZoom=e,n.maxZoom=t):ie(e)&&void 0===t&&e<=n.maxZoom?n.minZoom=e:ie(t)&&void 0===e&&t>=n.minZoom&&(n.maxZoom=t),this},"zoomRange"),minZoom:e(function(e){return void 0===e?this._private.minZoom:this.zoomRange({min:e})},"minZoom"),maxZoom:e(function(e){return void 0===e?this._private.maxZoom:this.zoomRange({max:e})},"maxZoom"),getZoomedViewport:e(function(e){var t,n,r=this._private,a=r.pan,i=r.zoom,o=!1;if(r.zoomingEnabled||(o=!0),ie(e)?n=e:re(e)&&(n=e.level,null!=e.position?t=Tn(e.position,i,a):null!=e.renderedPosition&&(t=e.renderedPosition),null!=t&&!r.panningEnabled&&(o=!0)),n=(n=n>r.maxZoom?r.maxZoom:n)<r.minZoom?r.minZoom:n,o||!ie(n)||n===i||null!=t&&(!ie(t.x)||!ie(t.y)))return null;if(null!=t){var s=a,l=i,u=n;return{zoomed:!0,panned:!0,zoom:u,pan:{x:-u/l*(t.x-s.x)+t.x,y:-u/l*(t.y-s.y)+t.y}}}return{zoomed:!0,panned:!1,zoom:n,pan:a}},"getZoomedViewport"),zoom:e(function(e){if(void 0===e)return this._private.zoom;var t=this.getZoomedViewport(e),n=this._private;return null!=t&&t.zoomed?(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):this},"zoom"),viewport:e(function(e){var t=this._private,n=!0,r=!0,a=[],i=!1,o=!1;if(!e)return this;if(ie(e.zoom)||(n=!1),re(e.pan)||(r=!1),!n&&!r)return this;if(n){var s=e.zoom;s<t.minZoom||s>t.maxZoom||!t.zoomingEnabled?i=!0:(t.zoom=s,a.push("zoom"))}if(r&&(!i||!e.cancelOnFailedZoom)&&t.panningEnabled){var l=e.pan;ie(l.x)&&(t.pan.x=l.x,o=!1),ie(l.y)&&(t.pan.y=l.y,o=!1),o||a.push("pan")}return a.length>0&&(a.push("viewport"),this.emit(a.join(" ")),this.notify("viewport")),this},"viewport"),center:e(function(e){var t=this.getCenterPan(e);return t&&(this._private.pan=t,this.emit("pan viewport"),this.notify("viewport")),this},"center"),getCenterPan:e(function(e,t){if(this._private.panningEnabled){if(ee(e)){var n=e;e=this.mutableElements().filter(n)}else le(e)||(e=this.mutableElements());if(0!==e.length){var r=e.boundingBox(),a=this.width(),i=this.height();return{x:(a-(t=void 0===t?this._private.zoom:t)*(r.x1+r.x2))/2,y:(i-t*(r.y1+r.y2))/2}}}},"getCenterPan"),reset:e(function(){return this._private.panningEnabled&&this._private.zoomingEnabled?(this.viewport({pan:{x:0,y:0},zoom:1}),this):this},"reset"),invalidateSize:e(function(){this._private.sizeCache=null},"invalidateSize"),size:e(function(){var t,n,r=this._private,a=r.container,i=this;return r.sizeCache=r.sizeCache||(a?(t=i.window().getComputedStyle(a),n=e(function(e){return parseFloat(t.getPropertyValue(e))},"val"),{width:a.clientWidth-n("padding-left")-n("padding-right"),height:a.clientHeight-n("padding-top")-n("padding-bottom")}):{width:1,height:1})},"size"),width:e(function(){return this.size().width},"width"),height:e(function(){return this.size().height},"height"),extent:e(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:e(function(){var e=this.width(),t=this.height();return{x1:0,y1:0,x2:e,y2:t,w:e,h:t}},"renderedExtent"),multiClickDebounceTime:e(function(e){return e?(this._private.multiClickDebounceTime=e,this):this._private.multiClickDebounceTime},"multiClickDebounceTime")};yd.centre=yd.center,yd.autolockNodes=yd.autolock,yd.autoungrabifyNodes=yd.autoungrabify;var md={data:il.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:il.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:il.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:il.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};md.attr=md.data,md.removeAttr=md.removeData;var bd=e(function(t){var n=this,r=(t=Me({},t)).container;r&&!se(r)&&se(r[0])&&(r=r[0]);var a=r?r._cyreg:null;(a=a||{})&&a.cy&&(a.cy.destroy(),a={});var i=a.readies=a.readies||[];r&&(r._cyreg=a),a.cy=n;var o=void 0!==b&&void 0!==r&&!t.headless,s=t;s.layout=Me({name:o?"grid":"null"},s.layout),s.renderer=Me({name:o?"canvas":"null"},s.renderer);var l=e(function(e,t,n){return void 0!==t?t:void 0!==n?n:e},"defVal"),u=this._private={container:r,ready:!1,options:s,elements:new Lc(this),listeners:[],aniEles:new Lc(this),data:s.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:l(!0,s.zoomingEnabled),userZoomingEnabled:l(!0,s.userZoomingEnabled),panningEnabled:l(!0,s.panningEnabled),userPanningEnabled:l(!0,s.userPanningEnabled),boxSelectionEnabled:l(!0,s.boxSelectionEnabled),autolock:l(!1,s.autolock,s.autolockNodes),autoungrabify:l(!1,s.autoungrabify,s.autoungrabifyNodes),autounselectify:l(!1,s.autounselectify),styleEnabled:void 0===s.styleEnabled?o:s.styleEnabled,zoom:ie(s.zoom)?s.zoom:1,pan:{x:re(s.pan)&&ie(s.pan.x)?s.pan.x:0,y:re(s.pan)&&ie(s.pan.y)?s.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:l(250,s.multiClickDebounceTime)};this.createEmitter(),this.selectionType(s.selectionType),this.zoomRange({min:s.minZoom,max:s.maxZoom});var c=e(function(e,t){if(e.some(ye))return ai.all(e).then(t);t(e)},"loadExtData");u.styleEnabled&&n.setStyle([]);var d=Me({},s,s.renderer);n.initRenderer(d);var h=e(function(e,t,r){n.notifications(!1);var a=n.mutableElements();a.length>0&&a.remove(),null!=e&&(re(e)||ne(e))&&n.add(e),n.one("layoutready",function(e){n.notifications(!0),n.emit(e),n.one("load",t),n.emitAndNotify("load")}).one("layoutstop",function(){n.one("done",r),n.emit("done")});var i=Me({},n._private.options.layout);i.eles=n.elements(),n.layout(i).run()},"setElesAndLayout");c([s.style,s.elements],function(e){var t=e[0],r=e[1];u.styleEnabled&&n.style().append(t),h(r,function(){n.startAnimationLoop(),u.ready=!0,te(s.ready)&&n.on("ready",s.ready);for(var e=0;e<i.length;e++){var t=i[e];n.on("ready",t)}a&&(a.readies=[]),n.emit("ready")},s.done)})},"Core"),xd=bd.prototype;Me(xd,{instanceString:e(function(){return"core"},"instanceString"),isReady:e(function(){return this._private.ready},"isReady"),destroyed:e(function(){return this._private.destroyed},"destroyed"),ready:e(function(e){return this.isReady()?this.emitter().emit("ready",[],e):this.on("ready",e),this},"ready"),destroy:e(function(){var e=this;if(!e.destroyed())return e.stopAnimationLoop(),e.destroyRenderer(),this.emit("destroy"),e._private.destroyed=!0,e},"destroy"),hasElementWithId:e(function(e){return this._private.elements.hasElementWithId(e)},"hasElementWithId"),getElementById:e(function(e){return this._private.elements.getElementById(e)},"getElementById"),hasCompoundNodes:e(function(){return this._private.hasCompoundNodes},"hasCompoundNodes"),headless:e(function(){return this._private.renderer.isHeadless()},"headless"),styleEnabled:e(function(){return this._private.styleEnabled},"styleEnabled"),addToPool:e(function(e){return this._private.elements.merge(e),this},"addToPool"),removeFromPool:e(function(e){return this._private.elements.unmerge(e),this},"removeFromPool"),container:e(function(){return this._private.container||null},"container"),window:e(function(){if(null==this._private.container)return b;var e=this._private.container.ownerDocument;return void 0===e||null==e?b:e.defaultView||b},"window"),mount:e(function(e){if(null!=e){var t=this,n=t._private,r=n.options;return!se(e)&&se(e[0])&&(e=e[0]),t.stopAnimationLoop(),t.destroyRenderer(),n.container=e,n.styleEnabled=!0,t.invalidateSize(),t.initRenderer(Me({},r,r.renderer,{name:"null"===r.renderer.name?"canvas":r.renderer.name})),t.startAnimationLoop(),t.style(r.style),t.emit("mount"),t}},"mount"),unmount:e(function(){var e=this;return e.stopAnimationLoop(),e.destroyRenderer(),e.initRenderer({name:"null"}),e.emit("unmount"),e},"unmount"),options:e(function(){return Nt(this._private.options)},"options"),json:e(function(t){var n=this,r=n._private,a=n.mutableElements(),i=e(function(e){return n.getElementById(e.id())},"getFreshRef");if(re(t)){if(n.startBatch(),t.elements){var o={},s=e(function(e,t){for(var r=[],a=[],i=0;i<e.length;i++){var s=e[i];if(s.data.id){var l=""+s.data.id,u=n.getElementById(l);o[l]=!0,0!==u.length?a.push({ele:u,json:s}):(t&&(s.group=t),r.push(s))}else It("cy.json() cannot handle elements without an ID attribute")}n.add(r);for(var c=0;c<a.length;c++){var d=a[c],h=d.ele,f=d.json;h.json(f)}},"updateEles");if(ne(t.elements))s(t.elements);else for(var l=["nodes","edges"],u=0;u<l.length;u++){var c=l[u],d=t.elements[c];ne(d)&&s(d,c)}var h=n.collection();a.filter(function(e){return!o[e.id()]}).forEach(function(e){e.isParent()?h.merge(e):e.remove()}),h.forEach(function(e){return e.children().move({parent:null})}),h.forEach(function(e){return i(e).remove()})}t.style&&n.style(t.style),null!=t.zoom&&t.zoom!==r.zoom&&n.zoom(t.zoom),t.pan&&(t.pan.x!==r.pan.x||t.pan.y!==r.pan.y)&&n.pan(t.pan),t.data&&n.data(t.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];null!=t[g]&&n[g](t[g])}return n.endBatch(),this}var v={};!!t?v.elements=this.elements().map(function(e){return e.json()}):(v.elements={},a.forEach(function(e){var t=e.group();v.elements[t]||(v.elements[t]=[]),v.elements[t].push(e.json())})),this._private.styleEnabled&&(v.style=n.style().json()),v.data=Nt(n.data());var y=r.options;return v.zoomingEnabled=r.zoomingEnabled,v.userZoomingEnabled=r.userZoomingEnabled,v.zoom=r.zoom,v.minZoom=r.minZoom,v.maxZoom=r.maxZoom,v.panningEnabled=r.panningEnabled,v.userPanningEnabled=r.userPanningEnabled,v.pan=Nt(r.pan),v.boxSelectionEnabled=r.boxSelectionEnabled,v.renderer=Nt(y.renderer),v.hideEdgesOnViewport=y.hideEdgesOnViewport,v.textureOnViewport=y.textureOnViewport,v.wheelSensitivity=y.wheelSensitivity,v.motionBlur=y.motionBlur,v.multiClickDebounceTime=y.multiClickDebounceTime,v},"json")}),xd.$id=xd.getElementById,[zc,Uc,Qc,Jc,ed,td,rd,ad,vd,yd,md].forEach(function(e){Me(xd,e)});var wd={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:e(function(e,t){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:e(function(e,t){return t},"transform")},Ed={maximal:!1,acyclic:!1},Cd=e(function(e){return e.scratch("breadthfirst")},"getInfo"),Td=e(function(e,t){return e.scratch("breadthfirst",t)},"setInfo");function kd(e){this.options=Me({},wd,Ed,e)}e(kd,"BreadthFirstLayout"),kd.prototype.run=function(){var t,n=this.options,r=n.cy,a=n.eles,i=a.nodes().filter(function(e){return e.isChildless()}),o=a,s=n.directed,l=n.acyclic||n.maximal||n.maximalAdjustments>0,u=!!n.boundingBox,c=jn(u?n.boundingBox:structuredClone(r.extent()));if(le(n.roots))t=n.roots;else if(ne(n.roots)){for(var d=[],h=0;h<n.roots.length;h++){var f=n.roots[h],p=r.getElementById(f);d.push(p)}t=r.collection(d)}else if(ee(n.roots))t=r.$(n.roots);else if(s)t=i.roots();else{var g=a.components();t=r.collection();for(var v=e(function(){var e=g[y],n=e.maxDegree(!1),r=e.filter(function(e){return e.degree(!1)===n});t=t.add(r)},"_loop"),y=0;y<g.length;y++)v()}var m=[],b={},x=e(function(e,t){null==m[t]&&(m[t]=[]);var n=m[t].length;m[t].push(e),Td(e,{index:n,depth:t})},"addToDepth"),w=e(function(e,t){var n=Cd(e),r=n.depth,a=n.index;m[r][a]=null,e.isChildless()&&x(e,t)},"changeDepth");o.bfs({roots:t,directed:n.directed,visit:e(function(e,t,n,r,a){var i=e[0],o=i.id();i.isChildless()&&x(i,a),b[o]=!0},"visit")});for(var E=[],C=0;C<i.length;C++){var T=i[C];b[T.id()]||E.push(T)}var k=e(function(e){for(var t=m[e],n=0;n<t.length;n++){var r=t[n];null!=r?Td(r,{depth:e,index:n}):(t.splice(n,1),n--)}},"assignDepthsAt"),S=e(function(e,t){for(var r=Cd(e),i=e.incomers().filter(function(e){return e.isNode()&&a.has(e)}),o=-1,s=e.id(),l=0;l<i.length;l++){var u=i[l],c=Cd(u);o=Math.max(o,c.depth)}if(r.depth<=o){if(!n.acyclic&&t[s])return null;var d=o+1;return w(e,d),t[s]=d,!0}return!1},"adjustMaximally");if(s&&l){var P=[],B={},_=e(function(e){return P.push(e)},"enqueue"),D=e(function(){return P.shift()},"dequeue");for(i.forEach(function(e){return P.push(e)});P.length>0;){var A=D(),M=S(A,B);if(M)A.outgoers().filter(function(e){return e.isNode()&&a.has(e)}).forEach(_);else if(null===M){It("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(n.avoidOverlap)for(var I=0;I<i.length;I++){var L=i[I].layoutDimensions(n),N=L.w,z=L.h;R=Math.max(R,N,z)}var O={},F=e(function(e){if(O[e.id()])return O[e.id()];for(var t=Cd(e).depth,n=e.neighborhood(),r=0,a=0,o=0;o<n.length;o++){var s=n[o];if(!s.isEdge()&&!s.isParent()&&i.has(s)){var l=Cd(s);if(null!=l){var u=l.index,c=l.depth;if(null!=u&&null!=c){var d=m[c].length;c<t&&(r+=u/d,a++)}}}}return r/=a=Math.max(1,a),0===a&&(r=0),O[e.id()]=r,r},"getWeightedPercent"),V=e(function(e,t){var n=F(e)-F(t);return 0===n?De(e.id(),t.id()):n},"sortFn");void 0!==n.depthSort&&(V=n.depthSort);for(var q=m.length,j=0;j<q;j++)m[j].sort(V),k(j);for(var X=[],Y=0;Y<E.length;Y++)X.push(E[Y]);var W=e(function(){for(var e=0;e<q;e++)k(e)},"assignDepths");X.length&&(m.unshift(X),q=m.length,W());for(var H=0,K=0;K<q;K++)H=Math.max(m[K].length,H);var G=c.x1+c.w/2,U=c.y1+c.h/2,Z=i.reduce(function(e,t){return r=t.boundingBox({includeLabels:n.nodeDimensionsIncludeLabels}),{w:-1===e.w?r.w:(e.w+r.w)/2,h:-1===e.h?r.h:(e.h+r.h)/2};var r},{w:-1,h:-1}),$=Math.max(1===q?0:u?(c.h-2*n.padding-Z.h)/(q-1):(c.h-2*n.padding-Z.h)/(q+1),R),Q=m.reduce(function(e,t){return Math.max(e,t.length)},0),J=e(function(e){var t=Cd(e),r=t.depth,a=t.index;if(n.circle){var i=Math.min(c.w/2/q,c.h/2/q),o=(i=Math.max(i,R))*r+i-(q>0&&m[0].length<=3?i/2:0),s=2*Math.PI/m[r].length*a;return 0===r&&1===m[0].length&&(o=1),{x:G+o*Math.cos(s),y:U+o*Math.sin(s)}}var l=m[r].length,d=Math.max(1===l?0:u?(c.w-2*n.padding-Z.w)/((n.grid?Q:l)-1):(c.w-2*n.padding-Z.w)/((n.grid?Q:l)+1),R);return{x:G+(a+1-(l+1)/2)*d,y:U+(r+1-(q+1)/2)*$}},"getPositionTopBottom"),te={downward:0,leftward:90,upward:180,rightward:-90};-1===Object.keys(te).indexOf(n.direction)&&Mt("Invalid direction '".concat(n.direction,"' specified for breadthfirst layout. Valid values are: ").concat(Object.keys(te).join(", ")));var re=e(function(e){return Ct(J(e),c,te[n.direction])},"getPosition");return a.nodes().layoutPositions(this,n,re),this};var Sd={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:e(function(e,t){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:e(function(e,t){return t},"transform")};function Pd(e){this.options=Me({},Sd,e)}e(Pd,"CircleLayout"),Pd.prototype.run=function(){var t=this.options,n=t,r=t.cy,a=n.eles,i=void 0!==n.counterclockwise?!n.counterclockwise:n.clockwise,o=a.nodes().not(":parent");n.sort&&(o=o.sort(n.sort));for(var s,l=jn(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),u={x:l.x1+l.w/2,y:l.y1+l.h/2},c=(void 0===n.sweep?2*Math.PI-2*Math.PI/o.length:n.sweep)/Math.max(1,o.length-1),d=0,h=0;h<o.length;h++){var f=o[h].layoutDimensions(n),p=f.w,g=f.h;d=Math.max(d,p,g)}if(s=ie(n.radius)?n.radius:o.length<=1?0:Math.min(l.h,l.w)/2-d,o.length>1&&n.avoidOverlap){d*=1.75;var v=Math.cos(c)-Math.cos(0),y=Math.sin(c)-Math.sin(0),m=Math.sqrt(d*d/(v*v+y*y));s=Math.max(m,s)}var b=e(function(e,t){var r=n.startAngle+t*c*(i?1:-1),a=s*Math.cos(r),o=s*Math.sin(r);return{x:u.x+a,y:u.y+o}},"getPos");return a.nodes().layoutPositions(this,n,b),this};var Bd={fit:!0,padding:30,startAngle:1.5*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:e(function(e){return e.degree()},"concentric"),levelWidth:e(function(e){return e.maxDegree()/4},"levelWidth"),animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:e(function(e,t){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:e(function(e,t){return t},"transform")};function _d(e){this.options=Me({},Bd,e)}e(_d,"ConcentricLayout"),_d.prototype.run=function(){for(var e=this.options,t=e,n=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,r=e.cy,a=t.eles,i=a.nodes().not(":parent"),o=jn(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),s={x:o.x1+o.w/2,y:o.y1+o.h/2},l=[],u=0,c=0;c<i.length;c++){var d,h=i[c];d=t.concentric(h),l.push({value:d,node:h}),h._private.scratch.concentric=d}i.updateStyle();for(var f=0;f<i.length;f++){var p=i[f].layoutDimensions(t);u=Math.max(u,p.w,p.h)}l.sort(function(e,t){return t.value-e.value});for(var g=t.levelWidth(i),v=[[]],y=v[0],m=0;m<l.length;m++){var b=l[m];if(y.length>0)Math.abs(y[0].value-b.value)>=g&&(y=[],v.push(y));y.push(b)}var x=u+t.minNodeSpacing;if(!t.avoidOverlap){var w=v.length>0&&v[0].length>1,E=(Math.min(o.w,o.h)/2-x)/(v.length+w?1:0);x=Math.min(x,E)}for(var C=0,T=0;T<v.length;T++){var k=v[T],S=void 0===t.sweep?2*Math.PI-2*Math.PI/k.length:t.sweep,P=k.dTheta=S/Math.max(1,k.length-1);if(k.length>1&&t.avoidOverlap){var B=Math.cos(P)-Math.cos(0),_=Math.sin(P)-Math.sin(0),D=Math.sqrt(x*x/(B*B+_*_));C=Math.max(D,C)}k.r=C,C+=x}if(t.equidistant){for(var A=0,M=0,R=0;R<v.length;R++){var I=v[R].r-M;A=Math.max(A,I)}M=0;for(var L=0;L<v.length;L++){var N=v[L];0===L&&(M=N.r),N.r=M,M+=A}}for(var z={},O=0;O<v.length;O++)for(var F=v[O],V=F.dTheta,q=F.r,j=0;j<F.length;j++){var X=F[j],Y=t.startAngle+(n?1:-1)*V*j,W={x:s.x+q*Math.cos(Y),y:s.y+q*Math.sin(Y)};z[X.node.id()]=W}return a.nodes().layoutPositions(this,t,function(e){var t=e.id();return z[t]}),this};var Dd,Ad={ready:e(function(){},"ready"),stop:e(function(){},"stop"),animate:!0,animationEasing:void 0,animationDuration:void 0,animateFilter:e(function(e,t){return!0},"animateFilter"),animationThreshold:250,refresh:20,fit:!0,padding:30,boundingBox:void 0,nodeDimensionsIncludeLabels:!1,randomize:!1,componentSpacing:40,nodeRepulsion:e(function(e){return 2048},"nodeRepulsion"),nodeOverlap:4,idealEdgeLength:e(function(e){return 32},"idealEdgeLength"),edgeElasticity:e(function(e){return 32},"edgeElasticity"),nestingFactor:1.2,gravity:1,numIter:1e3,initialTemp:1e3,coolingFactor:.99,minTemp:1};function Md(e){this.options=Me({},Ad,e),this.options.layout=this;var t=this.options.eles.nodes(),n=this.options.eles.edges().filter(function(e){var n=e.source().data("id"),r=e.target().data("id"),a=t.some(function(e){return e.data("id")===n}),i=t.some(function(e){return e.data("id")===r});return!a||!i});this.options.eles=this.options.eles.not(n)}e(Md,"CoseLayout"),Md.prototype.run=function(){var t=this.options,n=t.cy,r=this;r.stopped=!1,(!0===t.animate||!1===t.animate)&&r.emit({type:"layoutstart",layout:r}),Dd=!0===t.debug;var a=Rd(n,r,t);Dd&&undefined(a),t.randomize&&Nd(a);var i=lt(),o=e(function(){Od(a,n,t),!0===t.fit&&n.fit(t.padding)},"refresh"),s=e(function(e){return!(r.stopped||e>=t.numIter||(Fd(a,t),a.temperature=a.temperature*t.coolingFactor,a.temperature<t.minTemp))},"mainLoop"),l=e(function(){if(!0===t.animate||!1===t.animate)o(),r.one("layoutstop",t.stop),r.emit({type:"layoutstop",layout:r});else{var e=t.eles.nodes(),n=zd(a,t,e);e.layoutPositions(r,t,n)}},"done"),u=0,c=!0;if(!0===t.animate){var d=e(function(){for(var e=0;c&&e<t.refresh;)c=s(u),u++,e++;c?(lt()-i>=t.animationThreshold&&o(),st(d)):($d(a,t),l())},"frame");d()}else{for(;c;)c=s(u),u++;$d(a,t),l()}return this},Md.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},Md.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var Rd=e(function(e,t,n){for(var r=n.eles.edges(),a=n.eles.nodes(),i=jn(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},s=n.eles.components(),l={},u=0;u<s.length;u++)for(var c=s[u],d=0;d<c.length;d++){l[c[d].id()]=u}for(u=0;u<o.nodeSize;u++){var h=(y=a[u]).layoutDimensions(n);(R={}).isLocked=y.locked(),R.id=y.data("id"),R.parentId=y.data("parent"),R.cmptId=l[y.id()],R.children=[],R.positionX=y.position("x"),R.positionY=y.position("y"),R.offsetX=0,R.offsetY=0,R.height=h.w,R.width=h.h,R.maxX=R.positionX+R.width/2,R.minX=R.positionX-R.width/2,R.maxY=R.positionY+R.height/2,R.minY=R.positionY-R.height/2,R.padLeft=parseFloat(y.style("padding")),R.padRight=parseFloat(y.style("padding")),R.padTop=parseFloat(y.style("padding")),R.padBottom=parseFloat(y.style("padding")),R.nodeRepulsion=te(n.nodeRepulsion)?n.nodeRepulsion(y):n.nodeRepulsion,o.layoutNodes.push(R),o.idToIndex[R.id]=u}var f=[],p=0,g=-1,v=[];for(u=0;u<o.nodeSize;u++){var y,m=(y=o.layoutNodes[u]).parentId;null!=m?o.layoutNodes[o.idToIndex[m]].children.push(y.id):(f[++g]=y.id,v.push(y.id))}for(o.graphSet.push(v);p<=g;){var b=f[p++],x=o.idToIndex[b],w=o.layoutNodes[x].children;if(w.length>0){o.graphSet.push(w);for(u=0;u<w.length;u++)f[++g]=w[u]}}for(u=0;u<o.graphSet.length;u++){var E=o.graphSet[u];for(d=0;d<E.length;d++){var C=o.idToIndex[E[d]];o.indexToGraph[C]=u}}for(u=0;u<o.edgeSize;u++){var T=r[u],k={};k.id=T.data("id"),k.sourceId=T.data("source"),k.targetId=T.data("target");var S=te(n.idealEdgeLength)?n.idealEdgeLength(T):n.idealEdgeLength,P=te(n.edgeElasticity)?n.edgeElasticity(T):n.edgeElasticity,B=o.idToIndex[k.sourceId],_=o.idToIndex[k.targetId];if(o.indexToGraph[B]!=o.indexToGraph[_]){for(var D=Id(k.sourceId,k.targetId,o),A=o.graphSet[D],M=0,R=o.layoutNodes[B];-1===A.indexOf(R.id);)R=o.layoutNodes[o.idToIndex[R.parentId]],M++;for(R=o.layoutNodes[_];-1===A.indexOf(R.id);)R=o.layoutNodes[o.idToIndex[R.parentId]],M++;S*=M*n.nestingFactor}k.idealLength=S,k.elasticity=P,o.layoutEdges.push(k)}return o},"createLayoutInfo"),Id=e(function(e,t,n){var r=Ld(e,t,0,n);return 2>r.count?0:r.graph},"findLCA"),Ld=e(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 s=a[o],l=r.idToIndex[s],u=r.layoutNodes[l].children;if(0!==u.length){var c=r.indexToGraph[r.idToIndex[u[0]]],d=Ld(e,t,c,r);if(0!==d.count){if(1!==d.count)return d;if(2===++i)break}}}return{count:i,graph:n}},"findLCA_aux"),Nd=e(function(e,t){for(var n=e.clientWidth,r=e.clientHeight,a=0;a<e.nodeSize;a++){var i=e.layoutNodes[a];0===i.children.length&&!i.isLocked&&(i.positionX=Math.random()*n,i.positionY=Math.random()*r)}},"randomizePositions"),zd=e(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(t){var n=e.layoutNodes[e.idToIndex[t.data("id")]];a.x1=Math.min(a.x1,n.positionX),a.x2=Math.max(a.x2,n.positionX),a.y1=Math.min(a.y1,n.positionY),a.y2=Math.max(a.y2,n.positionY)}),a.w=a.x2-a.x1,a.h=a.y2-a.y1),function(n,i){var o=e.layoutNodes[e.idToIndex[n.data("id")]];if(t.boundingBox){var s=0===a.w?.5:(o.positionX-a.x1)/a.w,l=0===a.h?.5:(o.positionY-a.y1)/a.h;return{x:r.x1+s*r.w,y:r.y1+l*r.h}}return{x:o.positionX,y:o.positionY}}},"getScaleInBoundsFn"),Od=e(function(e,t,n){var r=n.layout,a=n.eles.nodes(),i=zd(e,n,a);a.positions(i),!0!==e.ready&&(e.ready=!0,r.one("layoutready",n.ready),r.emit({type:"layoutready",layout:this}))},"refreshPositions"),Fd=e(function(e,t,n){Vd(e,t),Wd(e),Hd(e,t),Kd(e),Gd(e)},"step"),Vd=e(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]]],s=i+1;s<a;s++){var l=e.layoutNodes[e.idToIndex[r[s]]];jd(o,l,e,t)}},"calculateNodeForces"),qd=e(function(e){return 2*e*Math.random()-1},"randomDistance"),jd=e(function(e,t,n,r){if(e.cmptId===t.cmptId||n.isCompound){var a=t.positionX-e.positionX,i=t.positionY-e.positionY;0===a&&0===i&&(a=qd(1),i=qd(1));var o=Xd(e,t,a,i);if(o>0)var s=(u=r.nodeOverlap*o)*a/(g=Math.sqrt(a*a+i*i)),l=u*i/g;else{var u,c=Yd(e,a,i),d=Yd(t,-1*a,-1*i),h=d.x-c.x,f=d.y-c.y,p=h*h+f*f,g=Math.sqrt(p);s=(u=(e.nodeRepulsion+t.nodeRepulsion)/p)*h/g,l=u*f/g}e.isLocked||(e.offsetX-=s,e.offsetY-=l),t.isLocked||(t.offsetX+=s,t.offsetY+=l)}},"nodeRepulsion"),Xd=e(function(e,t,n,r){if(n>0)var a=e.maxX-t.minX;else a=t.maxX-e.minX;if(r>0)var i=e.maxY-t.minY;else i=t.maxY-e.minY;return a>=0&&i>=0?Math.sqrt(a*a+i*i):0},"nodesOverlap"),Yd=e(function(e,t,n){var r=e.positionX,a=e.positionY,i=e.height||1,o=e.width||1,s=n/t,l=i/o,u={};return 0===t&&0<n||0===t&&0>n?(u.x=r,u.y=a+i/2,u):0<t&&-1*l<=s&&s<=l?(u.x=r+o/2,u.y=a+o*n/2/t,u):0>t&&-1*l<=s&&s<=l?(u.x=r-o/2,u.y=a-o*n/2/t,u):0<n&&(s<=-1*l||s>=l)?(u.x=r+i*t/2/n,u.y=a+i/2,u):(0>n&&(s<=-1*l||s>=l)&&(u.x=r-i*t/2/n,u.y=a-i/2),u)},"findClippingPoint"),Wd=e(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],s=e.layoutNodes[o],l=s.positionX-i.positionX,u=s.positionY-i.positionY;if(0!==l||0!==u){var c=Yd(i,l,u),d=Yd(s,-1*l,-1*u),h=d.x-c.x,f=d.y-c.y,p=Math.sqrt(h*h+f*f),g=Math.pow(r.idealLength-p,2)/r.elasticity;if(0!==p)var v=g*h/p,y=g*f/p;else v=0,y=0;i.isLocked||(i.offsetX+=v,i.offsetY+=y),s.isLocked||(s.offsetX-=v,s.offsetY-=y)}}},"calculateEdgeForces"),Hd=e(function(e,t){if(0!==t.gravity)for(var n=0;n<e.graphSet.length;n++){var r=e.graphSet[n],a=r.length;if(0===n)var i=e.clientHeight/2,o=e.clientWidth/2;else{var s=e.layoutNodes[e.idToIndex[r[0]]],l=e.layoutNodes[e.idToIndex[s.parentId]];i=l.positionX,o=l.positionY}for(var u=0;u<a;u++){var c=e.layoutNodes[e.idToIndex[r[u]]];if(!c.isLocked){var d=i-c.positionX,h=o-c.positionY,f=Math.sqrt(d*d+h*h);if(f>1){var p=t.gravity*d/f,g=t.gravity*h/f;c.offsetX+=p,c.offsetY+=g}}}}},"calculateGravityForces"),Kd=e(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],s=e.layoutNodes[o],l=s.children;if(0<l.length&&!s.isLocked){for(var u=s.offsetX,c=s.offsetY,d=0;d<l.length;d++){var h=e.layoutNodes[e.idToIndex[l[d]]];h.offsetX+=u,h.offsetY+=c,n[++a]=l[d]}s.offsetX=0,s.offsetY=0}}},"propagateForces"),Gd=e(function(e,t){for(var n=0;n<e.nodeSize;n++){0<(a=e.layoutNodes[n]).children.length&&(a.maxX=void 0,a.minX=void 0,a.maxY=void 0,a.minY=void 0)}for(n=0;n<e.nodeSize;n++){if(!(0<(a=e.layoutNodes[n]).children.length||a.isLocked)){var r=Ud(a.offsetX,a.offsetY,e.temperature);a.positionX+=r.x,a.positionY+=r.y,a.offsetX=0,a.offsetY=0,a.minX=a.positionX-a.width,a.maxX=a.positionX+a.width,a.minY=a.positionY-a.height,a.maxY=a.positionY+a.height,Zd(a,e)}}for(n=0;n<e.nodeSize;n++){var a;0<(a=e.layoutNodes[n]).children.length&&!a.isLocked&&(a.positionX=(a.maxX+a.minX)/2,a.positionY=(a.maxY+a.minY)/2,a.width=a.maxX-a.minX,a.height=a.maxY-a.minY)}},"updatePositions"),Ud=e(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 a={x:e,y:t};return a},"limitForce"),Zd=e(function(e,t){var n=e.parentId;if(null!=n){var r=t.layoutNodes[t.idToIndex[n]],a=!1;if((null==r.maxX||e.maxX+r.padRight>r.maxX)&&(r.maxX=e.maxX+r.padRight,a=!0),(null==r.minX||e.minX-r.padLeft<r.minX)&&(r.minX=e.minX-r.padLeft,a=!0),(null==r.maxY||e.maxY+r.padBottom>r.maxY)&&(r.maxY=e.maxY+r.padBottom,a=!0),(null==r.minY||e.minY-r.padTop<r.minY)&&(r.minY=e.minY-r.padTop,a=!0),a)return Zd(r,t)}},"updateAncestryBoundaries"),$d=e(function(e,t){for(var n=e.layoutNodes,r=[],a=0;a<n.length;a++){var i=n[a],o=i.cmptId;(r[o]=r[o]||[]).push(i)}var s=0;for(a=0;a<r.length;a++){if(g=r[a]){g.x1=1/0,g.x2=-1/0,g.y1=1/0,g.y2=-1/0;for(var l=0;l<g.length;l++){var u=g[l];g.x1=Math.min(g.x1,u.positionX-u.width/2),g.x2=Math.max(g.x2,u.positionX+u.width/2),g.y1=Math.min(g.y1,u.positionY-u.height/2),g.y2=Math.max(g.y2,u.positionY+u.height/2)}g.w=g.x2-g.x1,g.h=g.y2-g.y1,s+=g.w*g.h}}r.sort(function(e,t){return t.w*t.h-e.w*e.h});var c=0,d=0,h=0,f=0,p=Math.sqrt(s)*e.clientWidth/e.clientHeight;for(a=0;a<r.length;a++){var g;if(g=r[a]){for(l=0;l<g.length;l++){(u=g[l]).isLocked||(u.positionX+=c-g.x1,u.positionY+=d-g.y1)}c+=g.w+t.componentSpacing,h+=g.w+t.componentSpacing,f=Math.max(f,g.h),h>p&&(d+=f+t.componentSpacing,c=0,h=0,f=0)}}},"separateComponents"),Qd={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:e(function(e){},"position"),sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:e(function(e,t){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:e(function(e,t){return t},"transform")};function Jd(e){this.options=Me({},Qd,e)}e(Jd,"GridLayout"),Jd.prototype.run=function(){var t=this.options,n=t,r=t.cy,a=n.eles,i=a.nodes().not(":parent");n.sort&&(i=i.sort(n.sort));var o=jn(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(0===o.h||0===o.w)a.nodes().layoutPositions(this,n,function(e){return{x:o.x1,y:o.y1}});else{var s=i.size(),l=Math.sqrt(s*o.h/o.w),u=Math.round(l),c=Math.round(o.w/o.h*l),d=e(function(e){if(null==e)return Math.min(u,c);Math.min(u,c)==u?u=e:c=e},"small"),h=e(function(e){if(null==e)return Math.max(u,c);Math.max(u,c)==u?u=e:c=e},"large"),f=n.rows,p=null!=n.cols?n.cols:n.columns;if(null!=f&&null!=p)u=f,c=p;else if(null!=f&&null==p)u=f,c=Math.ceil(s/u);else if(null==f&&null!=p)c=p,u=Math.ceil(s/c);else if(c*u>s){var g=d(),v=h();(g-1)*v>=s?d(g-1):(v-1)*g>=s&&h(v-1)}else for(;c*u<s;){var y=d(),m=h();(m+1)*y>=s?h(m+1):d(y+1)}var b=o.w/c,x=o.h/u;if(n.condense&&(b=0,x=0),n.avoidOverlap)for(var w=0;w<i.length;w++){var E=i[w],C=E._private.position;(null==C.x||null==C.y)&&(C.x=0,C.y=0);var T=E.layoutDimensions(n),k=n.avoidOverlapPadding,S=T.w+k,P=T.h+k;b=Math.max(b,S),x=Math.max(x,P)}for(var B={},_=e(function(e,t){return!!B["c-"+e+"-"+t]},"used"),D=e(function(e,t){B["c-"+e+"-"+t]=!0},"use"),A=0,M=0,R=e(function(){++M>=c&&(M=0,A++)},"moveToNextCell"),I={},L=0;L<i.length;L++){var N=i[L],z=n.position(N);if(z&&(void 0!==z.row||void 0!==z.col)){var O={row:z.row,col:z.col};if(void 0===O.col)for(O.col=0;_(O.row,O.col);)O.col++;else if(void 0===O.row)for(O.row=0;_(O.row,O.col);)O.row++;I[N.id()]=O,D(O.row,O.col)}}var F=e(function(e,t){var n,r;if(e.locked()||e.isParent())return!1;var a=I[e.id()];if(a)n=a.col*b+b/2+o.x1,r=a.row*x+x/2+o.y1;else{for(;_(A,M);)R();n=M*b+b/2+o.x1,r=A*x+x/2+o.y1,D(A,M),R()}return{x:n,y:r}},"getPos");i.layoutPositions(this,n,F)}return this};var eh={ready:e(function(){},"ready"),stop:e(function(){},"stop")};function th(e){this.options=Me({},eh,e)}e(th,"NullLayout"),th.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},th.prototype.stop=function(){return this};var nh={positions:void 0,zoom:void 0,pan:void 0,fit:!0,padding:30,spacingFactor:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:e(function(e,t){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:e(function(e,t){return t},"transform")};function rh(e){this.options=Me({},nh,e)}e(rh,"PresetLayout"),rh.prototype.run=function(){var t=this.options,n=t.eles.nodes(),r=te(t.positions);function a(e){return null==t.positions?Cn(e.position()):r?t.positions(e):t.positions[e._private.data.id]??null}return e(a,"getPosition"),n.layoutPositions(this,t,function(e,t){var n=a(e);return!e.locked()&&null!=n&&n}),this};var ah={fit:!0,padding:30,boundingBox:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:e(function(e,t){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:e(function(e,t){return t},"transform")};function ih(e){this.options=Me({},ah,e)}e(ih,"RandomLayout"),ih.prototype.run=function(){var t=this.options,n=t.cy,r=t.eles,a=jn(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),i=e(function(e,t){return{x:a.x1+Math.round(Math.random()*a.w),y:a.y1+Math.round(Math.random()*a.h)}},"getPos");return r.nodes().layoutPositions(this,t,i),this};var oh=[{name:"breadthfirst",impl:kd},{name:"circle",impl:Pd},{name:"concentric",impl:_d},{name:"cose",impl:Md},{name:"grid",impl:Jd},{name:"null",impl:th},{name:"preset",impl:rh},{name:"random",impl:ih}];function sh(e){this.options=e,this.notifications=0}e(sh,"NullRenderer");var lh=e(function(){},"noop"),uh=e(function(){throw new Error("A headless instance can not render images")},"throwImgErr");sh.prototype={recalculateRenderedStyle:lh,notify:e(function(){this.notifications++},"notify"),init:lh,isHeadless:e(function(){return!0},"isHeadless"),png:uh,jpg:uh};var ch={arrowShapeWidth:.3,registerArrowShapes:function(){var t=this.arrowShapes={},n=this,r=e(function(e,t,n,r,a,i,o){var s=a.x-n/2-o,l=a.x+n/2+o,u=a.y-n/2-o,c=a.y+n/2+o;return s<=e&&e<=l&&u<=t&&t<=c},"bbCollide"),a=e(function(e,t,n,r,a){var i=e*Math.cos(r)-t*Math.sin(r),o=(e*Math.sin(r)+t*Math.cos(r))*n;return{x:i*n+a.x,y:o+a.y}},"transform"),i=e(function(e,t,n,r){for(var i=[],o=0;o<e.length;o+=2){var s=e[o],l=e[o+1];i.push(a(s,l,t,n,r))}return i},"transformPoints"),o=e(function(e){for(var t=[],n=0;n<e.length;n++){var r=e[n];t.push(r.x,r.y)}return t},"pointsToArr"),s=e(function(e){return e.pstyle("width").pfValue*e.pstyle("arrow-scale").pfValue*2},"standardGap"),l=e(function(a,l){ee(l)&&(l=t[l]),t[a]=Me({name:a,points:[-.15,-.3,.15,-.3,.15,.3,-.15,.3],collide:e(function(e,t,n,r,a,s){var l=o(i(this.points,n+2*s,r,a));return cr(e,t,l)},"collide"),roughCollide:r,draw:e(function(e,t,r,a){var o=i(this.points,t,r,a);n.arrowShapeImpl("polygon")(e,o)},"draw"),spacing:e(function(e){return 0},"spacing"),gap:s},l)},"defineArrowShape");l("none",{collide:_t,roughCollide:_t,draw:At,spacing:Dt,gap:Dt}),l("triangle",{points:[-.15,-.3,0,0,.15,-.3]}),l("arrow","triangle"),l("triangle-backcurve",{points:t.triangle.points,controlPoint:[0,-.15],roughCollide:r,draw:e(function(e,t,r,o,s){var l=i(this.points,t,r,o),u=this.controlPoint,c=a(u[0],u[1],t,r,o);n.arrowShapeImpl(this.name)(e,l,c)},"draw"),gap:e(function(e){return.8*s(e)},"gap")}),l("triangle-tee",{points:[0,0,.15,-.3,-.15,-.3,0,0],pointsTee:[-.15,-.4,-.15,-.5,.15,-.5,.15,-.4],collide:e(function(e,t,n,r,a,s,l){var u=o(i(this.points,n+2*l,r,a)),c=o(i(this.pointsTee,n+2*l,r,a));return cr(e,t,u)||cr(e,t,c)},"collide"),draw:e(function(e,t,r,a,o){var s=i(this.points,t,r,a),l=i(this.pointsTee,t,r,a);n.arrowShapeImpl(this.name)(e,s,l)},"draw")}),l("circle-triangle",{radius:.15,pointsTr:[0,-.15,.15,-.45,-.15,-.45,0,-.15],collide:e(function(e,t,n,r,a,s,l){var u=a,c=Math.pow(u.x-e,2)+Math.pow(u.y-t,2)<=Math.pow((n+2*l)*this.radius,2),d=o(i(this.points,n+2*l,r,a));return cr(e,t,d)||c},"collide"),draw:e(function(e,t,r,a,o){var s=i(this.pointsTr,t,r,a);n.arrowShapeImpl(this.name)(e,s,a.x,a.y,this.radius*t)},"draw"),spacing:e(function(e){return n.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.radius},"spacing")}),l("triangle-cross",{points:[0,0,.15,-.3,-.15,-.3,0,0],baseCrossLinePts:[-.15,-.4,-.15,-.4,.15,-.4,.15,-.4],crossLinePts:e(function(e,t){var n=this.baseCrossLinePts.slice(),r=t/e;return n[3]=n[3]-r,n[5]=n[5]-r,n},"crossLinePts"),collide:e(function(e,t,n,r,a,s,l){var u=o(i(this.points,n+2*l,r,a)),c=o(i(this.crossLinePts(n,s),n+2*l,r,a));return cr(e,t,u)||cr(e,t,c)},"collide"),draw:e(function(e,t,r,a,o){var s=i(this.points,t,r,a),l=i(this.crossLinePts(t,o),t,r,a);n.arrowShapeImpl(this.name)(e,s,l)},"draw")}),l("vee",{points:[-.15,-.3,0,0,.15,-.3,0,-.15],gap:e(function(e){return.525*s(e)},"gap")}),l("circle",{radius:.15,collide:e(function(e,t,n,r,a,i,o){var s=a;return Math.pow(s.x-e,2)+Math.pow(s.y-t,2)<=Math.pow((n+2*o)*this.radius,2)},"collide"),draw:e(function(e,t,r,a,i){n.arrowShapeImpl(this.name)(e,a.x,a.y,this.radius*t)},"draw"),spacing:e(function(e){return n.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.radius},"spacing")}),l("tee",{points:[-.15,0,-.15,-.1,.15,-.1,.15,0],spacing:e(function(e){return 1},"spacing"),gap:e(function(e){return 1},"gap")}),l("square",{points:[-.15,0,.15,0,.15,-.3,-.15,-.3]}),l("diamond",{points:[-.15,-.15,0,-.3,.15,-.15,0,0],gap:e(function(e){return e.pstyle("width").pfValue*e.pstyle("arrow-scale").value},"gap")}),l("chevron",{points:[0,0,-.15,-.15,-.1,-.2,0,-.1,.1,-.2,.15,-.15],gap:e(function(e){return.95*e.pstyle("width").pfValue*e.pstyle("arrow-scale").value},"gap")})}},dh={projectIntoViewport:function(e,t){var n=this.cy,r=this.findContainerClientCoords(),a=r[0],i=r[1],o=r[4],s=n.pan(),l=n.zoom();return[((e-a)/o-s.x)/l,((t-i)/o-s.y)/l]},findContainerClientCoords:function(){if(this.containerBB)return this.containerBB;var t=this.container,n=t.getBoundingClientRect(),r=this.cy.window().getComputedStyle(t),a=e(function(e){return parseFloat(r.getPropertyValue(e))},"styleValue"),i=a("padding-left"),o=a("padding-right"),s=a("padding-top"),l=a("padding-bottom"),u=a("border-left-width"),c=a("border-right-width"),d=a("border-top-width"),h=(a("border-bottom-width"),t.clientWidth),f=t.clientHeight,p=i+o,g=s+l,v=u+c,y=n.width/(h+v),m=h-p,b=f-g,x=n.left+i+u,w=n.top+s+d;return this.containerBB=[x,w,m,b,y]},invalidateContainerClientCoordsCache:function(){this.containerBB=null},findNearestElement:function(e,t,n,r){return this.findNearestElements(e,t,n,r)[0]},findNearestElements:function(t,n,r,a){var i,o,s=this,l=this,u=l.getCachedZSortedEles(),c=[],d=l.cy.zoom(),h=l.cy.hasCompoundNodes(),f=(a?24:8)/d,p=(a?8:2)/d,g=(a?8:2)/d,v=1/0;function y(e,t){if(e.isNode()){if(o)return;o=e,c.push(e)}if(e.isEdge()&&(null==t||t<v))if(i){if(i.pstyle("z-compound-depth").value===e.pstyle("z-compound-depth").value&&i.pstyle("z-compound-depth").value===e.pstyle("z-compound-depth").value)for(var n=0;n<c.length;n++)if(c[n].isEdge()){c[n]=e,i=e,v=t??v;break}}else c.push(e),i=e,v=t??v}function m(e){var r=e.outerWidth()+2*p,a=e.outerHeight()+2*p,i=r/2,o=a/2,u=e.position(),c="auto"===e.pstyle("corner-radius").value?"auto":e.pstyle("corner-radius").pfValue,d=e._private.rscratch;if(u.x-i<=t&&t<=u.x+i&&u.y-o<=n&&n<=u.y+o&&l.nodeShapes[s.getNodeShape(e)].checkPoint(t,n,0,r,a,u.x,u.y,c,d))return y(e,0),!0}function b(e){var r,a=e._private,i=a.rscratch,o=e.pstyle("width").pfValue,u=e.pstyle("arrow-scale").value,d=o/2+f,p=d*d,g=2*d,v=a.source,b=a.target;if("segments"===i.edgeType||"straight"===i.edgeType||"haystack"===i.edgeType){for(var x=i.allpts,w=0;w+3<x.length;w+=2)if(ar(t,n,x[w],x[w+1],x[w+2],x[w+3],g)&&p>(r=ur(t,n,x[w],x[w+1],x[w+2],x[w+3])))return y(e,r),!0}else if("bezier"===i.edgeType||"multibezier"===i.edgeType||"self"===i.edgeType||"compound"===i.edgeType)for(x=i.allpts,w=0;w+5<i.allpts.length;w+=4)if(ir(t,n,x[w],x[w+1],x[w+2],x[w+3],x[w+4],x[w+5],g)&&p>(r=lr(t,n,x[w],x[w+1],x[w+2],x[w+3],x[w+4],x[w+5])))return y(e,r),!0;v=v||a.source,b=b||a.target;var E=s.getArrowWidth(o,u),C=[{name:"source",x:i.arrowStartX,y:i.arrowStartY,angle:i.srcArrowAngle},{name:"target",x:i.arrowEndX,y:i.arrowEndY,angle:i.tgtArrowAngle},{name:"mid-source",x:i.midX,y:i.midY,angle:i.midsrcArrowAngle},{name:"mid-target",x:i.midX,y:i.midY,angle:i.midtgtArrowAngle}];for(w=0;w<C.length;w++){var T=C[w],k=l.arrowShapes[e.pstyle(T.name+"-arrow-shape").value],S=e.pstyle("width").pfValue;if(k.roughCollide(t,n,E,T.angle,{x:T.x,y:T.y},S,f)&&k.collide(t,n,E,T.angle,{x:T.x,y:T.y},S,f))return y(e),!0}h&&c.length>0&&(m(v),m(b))}function x(e,t,n){return Wt(e,t,n)}function w(r,a){var i,o=r._private,s=g;i=a?a+"-":"",r.boundingBox();var l=o.labelBounds[a||"main"],u=r.pstyle(i+"label").value;if("yes"===r.pstyle("text-events").strValue&&u){var c=x(o.rscratch,"labelX",a),d=x(o.rscratch,"labelY",a),h=x(o.rscratch,"labelAngle",a),f=r.pstyle(i+"text-margin-x").pfValue,p=r.pstyle(i+"text-margin-y").pfValue,v=l.x1-s-f,m=l.x2+s-f,b=l.y1-s-p,w=l.y2+s-p;if(h){var E=Math.cos(h),C=Math.sin(h),T=e(function(e,t){return{x:(e-=c)*E-(t-=d)*C+c,y:e*C+t*E+d}},"rotate"),k=T(v,b),S=T(v,w),P=T(m,b),B=T(m,w),_=[k.x+f,k.y+p,P.x+f,P.y+p,B.x+f,B.y+p,S.x+f,S.y+p];if(cr(t,n,_))return y(r),!0}else if($n(l,t,n))return y(r),!0}}r&&(u=u.interactive),e(y,"addEle"),e(m,"checkNode"),e(b,"checkEdge"),e(x,"preprop"),e(w,"checkLabel");for(var E=u.length-1;E>=0;E--){var C=u[E];C.isNode()?m(C)||w(C):b(C)||w(C)||w(C,"source")||w(C,"target")}return c},getAllInBox:function(t,n,r,a){var i=this.getCachedZSortedEles().interactive,o=2/this.cy.zoom(),s=[],l=Math.min(t,r),u=Math.max(t,r),c=Math.min(n,a),d=Math.max(n,a),h=jn({x1:t=l,y1:n=c,x2:r=u,y2:a=d}),p=[{x:h.x1,y:h.y1},{x:h.x2,y:h.y1},{x:h.x2,y:h.y2},{x:h.x1,y:h.y2}],g=[[p[0],p[1]],[p[1],p[2]],[p[2],p[3]],[p[3],p[0]]];function v(e,t,n){return Wt(e,t,n)}function y(t,n){var r=t._private,a=o;t.boundingBox();var i=r.labelBounds.main;if(!i)return null;var s=v(r.rscratch,"labelX",n),l=v(r.rscratch,"labelY",n),u=v(r.rscratch,"labelAngle",n),c=t.pstyle("text-margin-x").pfValue,d=t.pstyle("text-margin-y").pfValue,h=i.x1-a-c,f=i.x2+a-c,p=i.y1-a-d,g=i.y2+a-d;if(u){var y=Math.cos(u),m=Math.sin(u),b=e(function(e,t){return{x:(e-=s)*y-(t-=l)*m+s,y:e*m+t*y+l}},"rotate");return[b(h,p),b(f,p),b(f,g),b(h,g)]}return[{x:h,y:p},{x:f,y:p},{x:f,y:g},{x:h,y:g}]}function m(t,n,r,a){function i(e,t,n){return(n.y-e.y)*(t.x-e.x)>(t.y-e.y)*(n.x-e.x)}return e(i,"ccw"),i(t,r,a)!==i(n,r,a)&&i(t,n,r)!==i(t,n,a)}e(v,"preprop"),e(y,"getRotatedLabelBox"),e(m,"doLinesIntersect");for(var b=0;b<i.length;b++){var x=i[b];if(x.isNode()){var w=x,E="yes"===w.pstyle("text-events").strValue,C=w.pstyle("box-selection").strValue,T="yes"===w.pstyle("box-select-labels").strValue;if("none"===C)continue;var k=("overlap"===C||T)&&E,S=w.boundingBox({includeNodes:!0,includeEdges:!1,includeLabels:k});if("contain"===C){var P=!1;if(T&&E){var B=y(w);B&&Mr(B,p)&&(s.push(w),P=!0)}!P&&Jn(h,S)&&s.push(w)}else if("overlap"===C&&Zn(h,S)){var _=w.boundingBox({includeNodes:!0,includeEdges:!0,includeLabels:!1,includeMainLabels:!1,includeSourceLabels:!1,includeTargetLabels:!1});if(Mr([{x:_.x1,y:_.y1},{x:_.x2,y:_.y1},{x:_.x2,y:_.y2},{x:_.x1,y:_.y2}],p))s.push(w);else{var D=y(w);D&&Mr(D,p)&&s.push(w)}}}else{var A=x,M=A._private,R=M.rscratch,I=A.pstyle("box-selection").strValue;if("none"===I)continue;if("contain"===I){if(null!=R.startX&&null!=R.startY&&!$n(h,R.startX,R.startY)||null!=R.endX&&null!=R.endY&&!$n(h,R.endX,R.endY))continue;if("bezier"===R.edgeType||"multibezier"===R.edgeType||"self"===R.edgeType||"compound"===R.edgeType||"segments"===R.edgeType||"haystack"===R.edgeType){for(var L=M.rstyle.bezierPts||M.rstyle.linePts||M.rstyle.haystackPts,N=!0,z=0;z<L.length;z++)if(!Qn(h,L[z])){N=!1;break}N&&s.push(A)}else"straight"===R.edgeType&&s.push(A)}else if("overlap"===I){var O=!1;if(null!=R.startX&&null!=R.startY&&null!=R.endX&&null!=R.endY&&($n(h,R.startX,R.startY)||$n(h,R.endX,R.endY)))s.push(A),O=!0;else if(!O&&"haystack"===R.edgeType)for(var F=M.rstyle.haystackPts,V=0;V<F.length;V++)if(Qn(h,F[V])){s.push(A),O=!0;break}if(!O){var q=M.rstyle.bezierPts||M.rstyle.linePts||M.rstyle.haystackPts;if((!q||q.length<2)&&"straight"===R.edgeType&&null!=R.startX&&null!=R.startY&&null!=R.endX&&null!=R.endY&&(q=[{x:R.startX,y:R.startY},{x:R.endX,y:R.endY}]),!q||q.length<2)continue;for(var j=0;j<q.length-1;j++){for(var X=q[j],Y=q[j+1],W=0;W<g.length;W++){var H=f(g[W],2);if(m(X,Y,H[0],H[1])){s.push(A),O=!0;break}}if(O)break}}}}}return s}},hh={calculateArrowAngles:function(e){var t,n,r,a,i,o,s=e._private.rscratch,l="haystack"===s.edgeType,u="bezier"===s.edgeType,c="multibezier"===s.edgeType,d="segments"===s.edgeType,h="compound"===s.edgeType,f="self"===s.edgeType;if(l?(r=s.haystackPts[0],a=s.haystackPts[1],i=s.haystackPts[2],o=s.haystackPts[3]):(r=s.arrowStartX,a=s.arrowStartY,i=s.arrowEndX,o=s.arrowEndY),g=s.midX,v=s.midY,d)t=r-s.segpts[0],n=a-s.segpts[1];else if(c||h||f||u){var p=s.allpts;t=r-On(p[0],p[2],p[4],.1),n=a-On(p[1],p[3],p[5],.1)}else t=r-g,n=a-v;s.srcArrowAngle=Mn(t,n);var g=s.midX,v=s.midY;if(l&&(g=(r+i)/2,v=(a+o)/2),t=i-r,n=o-a,d)if((p=s.allpts).length/2%2==0){var y=(k=p.length/2)-2;t=p[k]-p[y],n=p[k+1]-p[y+1]}else if(s.isRound)t=s.midVector[1],n=-s.midVector[0];else{y=(k=p.length/2-1)-2;t=p[k]-p[y],n=p[k+1]-p[y+1]}else if(c||h||f){var m,b,x,w,p=s.allpts;if(s.ctrlpts.length/2%2==0){var E=(C=(T=p.length/2-1)+2)+2;m=On(p[T],p[C],p[E],0),b=On(p[T+1],p[C+1],p[E+1],0),x=On(p[T],p[C],p[E],1e-4),w=On(p[T+1],p[C+1],p[E+1],1e-4)}else{var C,T;E=(C=p.length/2-1)+2;m=On(p[T=C-2],p[C],p[E],.4999),b=On(p[T+1],p[C+1],p[E+1],.4999),x=On(p[T],p[C],p[E],.5),w=On(p[T+1],p[C+1],p[E+1],.5)}t=x-m,n=w-b}if((s.midtgtArrowAngle=Mn(t,n),s.midDispX=t,s.midDispY=n,t*=-1,n*=-1,d)&&((p=s.allpts).length/2%2!=0&&!s.isRound)){var k,S=(k=p.length/2-1)+2;t=-(p[S]-p[k]),n=-(p[S+1]-p[k+1])}if(s.midsrcArrowAngle=Mn(t,n),d)t=i-s.segpts[s.segpts.length-2],n=o-s.segpts[s.segpts.length-1];else if(c||h||f||u){var P=(p=s.allpts).length;t=i-On(p[P-6],p[P-4],p[P-2],.9),n=o-On(p[P-5],p[P-3],p[P-1],.9)}else t=i-g,n=o-v;s.tgtArrowAngle=Mn(t,n)}};hh.getArrowWidth=hh.getArrowHeight=function(e,t){var n=this.arrowWidthCache=this.arrowWidthCache||{},r=n[e+", "+t];return r||(r=Math.max(Math.pow(13.37*e,.9),29)*t,n[e+", "+t]=r,r)};var fh,ph,gh,vh,yh,mh,bh,xh,wh,Eh,Ch,Th,kh,Sh,Ph,Bh,_h,Dh={},Ah={},Mh=e(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"),Rh=e(function(e,t){t.x=-1*e.x,t.y=-1*e.y,t.nx=-1*e.nx,t.ny=-1*e.ny,t.ang=e.ang>0?-(Math.PI-e.ang):Math.PI+e.ang},"invertVec"),Ih=e(function(e,t,n,r,a){if(e!==_h?Mh(t,e,Dh):Rh(Ah,Dh),Mh(t,n,Ah),gh=Dh.nx*Ah.ny-Dh.ny*Ah.nx,vh=Dh.nx*Ah.nx-Dh.ny*-Ah.ny,bh=Math.asin(Math.max(-1,Math.min(1,gh))),Math.abs(bh)<1e-6)return fh=t.x,ph=t.y,void(wh=Ch=0);yh=1,mh=!1,vh<0?bh<0?bh=Math.PI+bh:(bh=Math.PI-bh,yh=-1,mh=!0):bh>0&&(yh=-1,mh=!0),Ch=void 0!==t.radius?t.radius:r,xh=bh/2,Th=Math.min(Dh.len/2,Ah.len/2),a?(Eh=Math.abs(Math.cos(xh)*Ch/Math.sin(xh)))>Th?(Eh=Th,wh=Math.abs(Eh*Math.sin(xh)/Math.cos(xh))):wh=Ch:(Eh=Math.min(Th,Ch),wh=Math.abs(Eh*Math.sin(xh)/Math.cos(xh))),Ph=t.x+Ah.nx*Eh,Bh=t.y+Ah.ny*Eh,fh=Ph-Ah.ny*wh*yh,ph=Bh+Ah.nx*wh*yh,kh=t.x+Dh.nx*Eh,Sh=t.y+Dh.ny*Eh,_h=t},"calcCornerArc");function Lh(e,t){0===t.radius?e.lineTo(t.cx,t.cy):e.arc(t.cx,t.cy,t.radius,t.startAngle,t.endAngle,t.counterClockwise)}function Nh(e,t,n,r){var a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];return 0===r||0===t.radius?{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}:(Ih(e,t,n,r,a),{cx:fh,cy:ph,radius:wh,startX:kh,startY:Sh,stopX:Ph,stopY:Bh,startAngle:Dh.ang+Math.PI/2*yh,endAngle:Ah.ang-Math.PI/2*yh,counterClockwise:mh})}e(Lh,"drawPreparedRoundCorner"),e(Nh,"getRoundCorner");var zh=.01,Oh=Math.sqrt(.02),Fh={};function Vh(e){var t=[];if(null!=e){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}}Fh.findMidptPtsEtc=function(t,n){var r,a=n.posPts,i=n.intersectionPts,o=n.vectorNormInverse,s=t.pstyle("source-endpoint"),l=t.pstyle("target-endpoint"),u=null!=s.units&&null!=l.units,c=e(function(e,t,n,r){var a=r-t,i=n-e,o=Math.sqrt(i*i+a*a);return{x:-a/o,y:i/o}},"recalcVectorNormInverse");switch(t.pstyle("edge-distances").value){case"node-position":r=a;break;case"intersection":r=i;break;case"endpoints":if(u){var d=f(this.manualEndptToPx(t.source()[0],s),2),h=d[0],p=d[1],g=f(this.manualEndptToPx(t.target()[0],l),2),v=g[0],y=g[1],m={x1:h,y1:p,x2:v,y2:y};o=c(h,p,v,y),r=m}else It("Edge ".concat(t.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),r=i}return{midptPts:r,vectorNormInverse:o}},Fh.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=2*Math.random()*Math.PI;a.source={x:Math.cos(i),y:Math.sin(i)},i=2*Math.random()*Math.PI,a.target={x:Math.cos(i),y:Math.sin(i)}}var o=r.source,s=r.target,l=o.position(),u=s.position(),c=o.width(),d=s.width(),h=o.height(),f=s.height(),p=n.pstyle("haystack-radius").value/2;a.haystackPts=a.allpts=[a.source.x*c*p+l.x,a.source.y*h*p+l.y,a.target.x*d*p+u.x,a.target.y*f*p+u.y],a.midX=(a.allpts[0]+a.allpts[2])/2,a.midY=(a.allpts[1]+a.allpts[3])/2,a.edgeType="haystack",a.haystack=!0,this.storeEdgeProjections(n),this.calculateArrowAngles(n),this.recalculateEdgeLabelProjections(n),this.calculateLabelAngles(n)}},Fh.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"),s=Math.min(r.pfValue.length,a.pfValue.length),l=i.pfValue[i.pfValue.length-1],u=o.pfValue[o.pfValue.length-1];n.edgeType="segments",n.segpts=[],n.radii=[],n.isArcRadius=[];for(var c=0;c<s;c++){var d=r.pfValue[c],h=a.pfValue[c],f=1-d,p=d,g=this.findMidptPtsEtc(e,t),v=g.midptPts,y=g.vectorNormInverse,m={x:v.x1*f+v.x2*p,y:v.y1*f+v.y2*p};n.segpts.push(m.x+y.x*h,m.y+y.y*h),n.radii.push(void 0!==i.pfValue[c]?i.pfValue[c]:l),n.isArcRadius.push("arc-radius"===(void 0!==o.pfValue[c]?o.pfValue[c]:u))}},Fh.findLoopPoints=function(e,t,n,r){var a=e._private.rscratch,i=t.dirCounts,o=t.srcPos,s=e.pstyle("control-point-distances"),l=s?s.pfValue[0]:void 0,u=e.pstyle("loop-direction").pfValue,c=e.pstyle("loop-sweep").pfValue,d=e.pstyle("control-point-step-size").pfValue;a.edgeType="self";var h=n,f=d;r&&(h=0,f=l);var p=u-Math.PI/2,g=p-c/2,v=p+c/2,y=u+"_"+c;h=void 0===i[y]?i[y]=0:++i[y],a.ctrlpts=[o.x+1.4*Math.cos(g)*f*(h/3+1),o.y+1.4*Math.sin(g)*f*(h/3+1),o.x+1.4*Math.cos(v)*f*(h/3+1),o.y+1.4*Math.sin(v)*f*(h/3+1)]},Fh.findCompoundLoopPoints=function(e,t,n,r){var a=e._private.rscratch;a.edgeType="compound";var i=t.srcPos,o=t.tgtPos,s=t.srcW,l=t.srcH,u=t.tgtW,c=t.tgtH,d=e.pstyle("control-point-step-size").pfValue,h=e.pstyle("control-point-distances"),f=h?h.pfValue[0]:void 0,p=n,g=d;r&&(p=0,g=f);var v={x:i.x-s/2,y:i.y-l/2},y={x:o.x-u/2,y:o.y-c/2},m={x:Math.min(v.x,y.x),y:Math.min(v.y,y.y)},b=Math.max(.5,Math.log(s*zh)),x=Math.max(.5,Math.log(u*zh));a.ctrlpts=[m.x,m.y-(1+Math.pow(50,1.12)/100)*g*(p/3+1)*b,m.x-(1+Math.pow(50,1.12)/100)*g*(p/3+1)*x,m.y]},Fh.findStraightEdgePoints=function(e){e._private.rscratch.edgeType="straight"},Fh.findBezierPoints=function(e,t,n,r,a){var i=e._private.rscratch,o=e.pstyle("control-point-step-size").pfValue,s=e.pstyle("control-point-distances"),l=e.pstyle("control-point-weights"),u=s&&l?Math.min(s.value.length,l.value.length):1,c=s?s.pfValue[0]:void 0,d=l.value[0],h=r;i.edgeType=h?"multibezier":"bezier",i.ctrlpts=[];for(var f=0;f<u;f++){var p=(.5-t.eles.length/2+n)*o*(a?-1:1),g=void 0,v=In(p);h&&(c=s?s.pfValue[f]:o,d=l.value[f]);var y=void 0!==(g=r?c:void 0!==c?v*c:void 0)?g:p,m=1-d,b=d,x=this.findMidptPtsEtc(e,t),w=x.midptPts,E=x.vectorNormInverse,C={x:w.x1*m+w.x2*b,y:w.y1*m+w.y2*b};i.ctrlpts.push(C.x+E.x*y,C.y+E.y*y)}},Fh.findTaxiPoints=function(t,n){var r=t._private.rscratch;r.edgeType="segments";var a="vertical",i="horizontal",o="leftward",s="rightward",l="downward",u="upward",c=n.posPts,d=n.srcW,h=n.srcH,f=n.tgtW,p=n.tgtH,g="node-position"!==t.pstyle("edge-distances").value,v=t.pstyle("taxi-direction").value,y=v,m=t.pstyle("taxi-turn"),b="%"===m.units,x=m.pfValue,w=x<0,E=t.pstyle("taxi-turn-min-distance").pfValue,C=g?(d+f)/2:0,T=g?(h+p)/2:0,k=c.x2-c.x1,S=c.y2-c.y1,P=e(function(e,t){return e>0?Math.max(e-t,0):Math.min(e+t,0)},"subDWH"),B=P(k,C),_=P(S,T),D=!1;"auto"===y?v=Math.abs(B)>Math.abs(_)?i:a:y===u||y===l?(v=a,D=!0):(y===o||y===s)&&(v=i,D=!0);var A,M=v===a,R=M?_:B,I=M?S:k,L=In(I),N=!1;((!D||!b&&!w)&&(y===l&&I<0||y===u&&I>0||y===o&&I>0||y===s&&I<0)&&(R=(L*=-1)*Math.abs(R),N=!0),b)?A=(x<0?1+x:x)*R:A=(x<0?R:0)+x*L;var z=e(function(e){return Math.abs(e)<E||Math.abs(e)>=Math.abs(R)},"getIsTooClose"),O=z(A),F=z(Math.abs(R)-Math.abs(A));if((O||F)&&!N)if(M){var V=Math.abs(I)<=h/2,q=Math.abs(k)<=f/2;if(V){var j=(c.x1+c.x2)/2,X=c.y1,Y=c.y2;r.segpts=[j,X,j,Y]}else if(q){var W=(c.y1+c.y2)/2,H=c.x1,K=c.x2;r.segpts=[H,W,K,W]}else r.segpts=[c.x1,c.y2]}else{var G=Math.abs(I)<=d/2,U=Math.abs(S)<=p/2;if(G){var Z=(c.y1+c.y2)/2,$=c.x1,Q=c.x2;r.segpts=[$,Z,Q,Z]}else if(U){var J=(c.x1+c.x2)/2,ee=c.y1,te=c.y2;r.segpts=[J,ee,J,te]}else r.segpts=[c.x2,c.y1]}else if(M){var ne=c.y1+A+(g?h/2*L:0),re=c.x1,ae=c.x2;r.segpts=[re,ne,ae,ne]}else{var ie=c.x1+A+(g?d/2*L:0),oe=c.y1,se=c.y2;r.segpts=[ie,oe,ie,se]}if(r.isRound){var le=t.pstyle("taxi-radius").value,ue="arc-radius"===t.pstyle("radius-type").value[0];r.radii=new Array(r.segpts.length/2).fill(le),r.isArcRadius=new Array(r.segpts.length/2).fill(ue)}},Fh.tryToCorrectInvalidPoints=function(e,t){var n=e._private.rscratch;if("bezier"===n.edgeType){var r=t.srcPos,a=t.tgtPos,i=t.srcW,o=t.srcH,s=t.tgtW,l=t.tgtH,u=t.srcShape,c=t.tgtShape,d=t.srcCornerRadius,h=t.tgtCornerRadius,f=t.srcRs,p=t.tgtRs,g=!ie(n.startX)||!ie(n.startY),v=!ie(n.arrowStartX)||!ie(n.arrowStartY),y=!ie(n.endX)||!ie(n.endY),m=!ie(n.arrowEndX)||!ie(n.arrowEndY),b=3*(this.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.arrowShapeWidth),x=Ln({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.startX,y:n.startY}),w=x<b,E=Ln({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.endX,y:n.endY}),C=E<b,T=!1;if(g||v||w){T=!0;var k={x:n.ctrlpts[0]-r.x,y:n.ctrlpts[1]-r.y},S=Math.sqrt(k.x*k.x+k.y*k.y),P={x:k.x/S,y:k.y/S},B=Math.max(i,o),_={x:n.ctrlpts[0]+2*P.x*B,y:n.ctrlpts[1]+2*P.y*B},D=u.intersectLine(r.x,r.y,i,o,_.x,_.y,0,d,f);w?(n.ctrlpts[0]=n.ctrlpts[0]+P.x*(b-x),n.ctrlpts[1]=n.ctrlpts[1]+P.y*(b-x)):(n.ctrlpts[0]=D[0]+P.x*b,n.ctrlpts[1]=D[1]+P.y*b)}if(y||m||C){T=!0;var A={x:n.ctrlpts[0]-a.x,y:n.ctrlpts[1]-a.y},M=Math.sqrt(A.x*A.x+A.y*A.y),R={x:A.x/M,y:A.y/M},I=Math.max(i,o),L={x:n.ctrlpts[0]+2*R.x*I,y:n.ctrlpts[1]+2*R.y*I},N=c.intersectLine(a.x,a.y,s,l,L.x,L.y,0,h,p);C?(n.ctrlpts[0]=n.ctrlpts[0]+R.x*(b-E),n.ctrlpts[1]=n.ctrlpts[1]+R.y*(b-E)):(n.ctrlpts[0]=N[0]+R.x*b,n.ctrlpts[1]=N[1]+R.y*b)}T&&this.findEndpoints(e)}},Fh.storeAllpts=function(e){var t=e._private.rscratch;if("multibezier"===t.edgeType||"bezier"===t.edgeType||"self"===t.edgeType||"compound"===t.edgeType){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);var r;t.allpts.push(t.endX,t.endY),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,t.midX=On(t.allpts[r],t.allpts[r+2],t.allpts[r+4],.5),t.midY=On(t.allpts[r+1],t.allpts[r+3],t.allpts[r+5],.5))}else if("straight"===t.edgeType)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("segments"===t.edgeType){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 a=2;a+3<t.allpts.length;a+=2){var i=t.radii[a/2-1],o=t.isArcRadius[a/2-1];t.roundCorners.push(Nh({x:t.allpts[a-2],y:t.allpts[a-1]},{x:t.allpts[a],y:t.allpts[a+1],radius:i},{x:t.allpts[a+2],y:t.allpts[a+3]},i,o))}}if(t.segpts.length%4==0){var s=t.segpts.length/2,l=s-2;t.midX=(t.segpts[l]+t.segpts[s])/2,t.midY=(t.segpts[l+1]+t.segpts[s+1])/2}else{var u=t.segpts.length/2-1;if(t.isRound){var c={x:t.segpts[u],y:t.segpts[u+1]},d=t.roundCorners[u/2];if(0===d.radius){var h={x:t.segpts[u+2],y:t.segpts[u+3]};t.midX=c.x,t.midY=c.y,t.midVector=[c.y-h.y,h.x-c.x]}else{var f=[c.x-d.cx,c.y-d.cy],p=d.radius/Math.sqrt(Math.pow(f[0],2)+Math.pow(f[1],2));f=f.map(function(e){return e*p}),t.midX=d.cx+f[0],t.midY=d.cy+f[1],t.midVector=f}}else t.midX=t.segpts[u],t.midY=t.segpts[u+1]}}},Fh.checkForInvalidEdgeWarning=function(e){var t=e[0]._private.rscratch;t.nodesOverlap||ie(t.startX)&&ie(t.startY)&&ie(t.endX)&&ie(t.endY)?t.loggedErr=!1:t.loggedErr||(t.loggedErr=!0,It("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."))},Fh.findEdgeControlPoints=function(t){var n=this;if(t&&0!==t.length){for(var r=this,a=r.cy.hasCompoundNodes(),i=new Gt,o=e(function(e,t){return[].concat(p(e),[t?1:0]).join("-")},"getKey"),s=[],l=[],u=0;u<t.length;u++){var c=t[u],d=c._private,h=c.pstyle("curve-style").value;if(!c.removed()&&c.takesUpSpace()){if("haystack"===h){l.push(c);continue}var f="unbundled-bezier"===h||Te(h,"segments")||"straight"===h||"straight-triangle"===h||Te(h,"taxi"),g="unbundled-bezier"===h||"bezier"===h,v=d.source,y=d.target,m=[v.poolIndex(),y.poolIndex()].sort(),b=o(m,f),x=i.get(b);null==x&&(x={eles:[]},s.push({pairId:m,edgeIsUnbundled:f}),i.set(b,x)),x.eles.push(c),f&&(x.hasUnbundled=!0),g&&(x.hasBezier=!0)}}for(var w=e(function(){var e,t=s[E],l=t.pairId,u=t.edgeIsUnbundled,c=o(l,u),d=i.get(c);if(!d.hasUnbundled){var h=d.eles[0].parallelEdges().filter(function(e){return e.isBundledBezier()});Xt(d.eles),h.forEach(function(e){return d.eles.push(e)}),d.eles.sort(function(e,t){return e.poolIndex()-t.poolIndex()})}var f=d.eles[0],p=f.source(),g=f.target();if(p.poolIndex()>g.poolIndex()){var v=p;p=g,g=v}var y=d.srcPos=p.position(),m=d.tgtPos=g.position(),b=d.srcW=p.outerWidth(),x=d.srcH=p.outerHeight(),w=d.tgtW=g.outerWidth(),C=d.tgtH=g.outerHeight(),T=d.srcShape=r.nodeShapes[n.getNodeShape(p)],k=d.tgtShape=r.nodeShapes[n.getNodeShape(g)],S=d.srcCornerRadius="auto"===p.pstyle("corner-radius").value?"auto":p.pstyle("corner-radius").pfValue,P=d.tgtCornerRadius="auto"===g.pstyle("corner-radius").value?"auto":g.pstyle("corner-radius").pfValue,B=d.tgtRs=g._private.rscratch,_=d.srcRs=p._private.rscratch;d.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var D=0;D<d.eles.length;D++){var A=d.eles[D],M=A[0]._private.rscratch,R=A.pstyle("curve-style").value,I="unbundled-bezier"===R||Te(R,"segments")||Te(R,"taxi"),L=!p.same(A.source());if(!d.calculatedIntersection&&p!==g&&(d.hasBezier||d.hasUnbundled)){d.calculatedIntersection=!0;var N=T.intersectLine(y.x,y.y,b,x,m.x,m.y,0,S,_),z=d.srcIntn=N,O=k.intersectLine(m.x,m.y,w,C,y.x,y.y,0,P,B),F=d.tgtIntn=O,V=d.intersectionPts={x1:N[0],x2:O[0],y1:N[1],y2:O[1]},q=d.posPts={x1:y.x,x2:m.x,y1:y.y,y2:m.y},j=O[1]-N[1],X=O[0]-N[0],Y=Math.sqrt(X*X+j*j);ie(Y)&&Y>=Oh||(Y=Math.sqrt(Math.max(X*X,zh)+Math.max(j*j,zh)));var W=d.vector={x:X,y:j},H=d.vectorNorm={x:W.x/Y,y:W.y/Y},K={x:-H.y,y:H.x};d.nodesOverlap=!ie(Y)||k.checkPoint(N[0],N[1],0,w,C,m.x,m.y,P,B)||T.checkPoint(O[0],O[1],0,b,x,y.x,y.y,S,_),d.vectorNormInverse=K,e={nodesOverlap:d.nodesOverlap,dirCounts:d.dirCounts,calculatedIntersection:!0,hasBezier:d.hasBezier,hasUnbundled:d.hasUnbundled,eles:d.eles,srcPos:m,srcRs:B,tgtPos:y,tgtRs:_,srcW:w,srcH:C,tgtW:b,tgtH:x,srcIntn:F,tgtIntn:z,srcShape:k,tgtShape:T,posPts:{x1:q.x2,y1:q.y2,x2:q.x1,y2:q.y1},intersectionPts:{x1:V.x2,y1:V.y2,x2:V.x1,y2:V.y1},vector:{x:-W.x,y:-W.y},vectorNorm:{x:-H.x,y:-H.y},vectorNormInverse:{x:-K.x,y:-K.y}}}var G=L?e:d;M.nodesOverlap=G.nodesOverlap,M.srcIntn=G.srcIntn,M.tgtIntn=G.tgtIntn,M.isRound=R.startsWith("round"),a&&(p.isParent()||p.isChild()||g.isParent()||g.isChild())&&(p.parents().anySame(g)||g.parents().anySame(p)||p.same(g)&&p.isParent())?n.findCompoundLoopPoints(A,G,D,I):p===g?n.findLoopPoints(A,G,D,I):R.endsWith("segments")?n.findSegmentsPoints(A,G):R.endsWith("taxi")?n.findTaxiPoints(A,G):"straight"===R||!I&&d.eles.length%2==1&&D===Math.floor(d.eles.length/2)?n.findStraightEdgePoints(A):n.findBezierPoints(A,G,D,I,L),n.findEndpoints(A),n.tryToCorrectInvalidPoints(A,G),n.checkForInvalidEdgeWarning(A),n.storeAllpts(A),n.storeEdgeProjections(A),n.calculateArrowAngles(A),n.recalculateEdgeLabelProjections(A),n.calculateLabelAngles(A)}},"_loop"),E=0;E<s.length;E++)w();this.findHaystackPoints(l)}},e(Vh,"getPts"),Fh.getSegmentPoints=function(e){var t=e[0]._private.rscratch;if(this.recalculateRenderedStyle(e),"segments"===t.edgeType)return Vh(t.segpts)},Fh.getControlPoints=function(e){var t=e[0]._private.rscratch;this.recalculateRenderedStyle(e);var n=t.edgeType;if("bezier"===n||"multibezier"===n||"self"===n||"compound"===n)return Vh(t.ctrlpts)},Fh.getEdgeMidpoint=function(e){var t=e[0]._private.rscratch;return this.recalculateRenderedStyle(e),{x:t.midX,y:t.midY}};var qh={manualEndptToPx:function(e,t){var n=e.position(),r=e.outerWidth(),a=e.outerHeight(),i=e._private.rscratch;if(2===t.value.length){var o=[t.pfValue[0],t.pfValue[1]];return"%"===t.units[0]&&(o[0]=o[0]*r),"%"===t.units[1]&&(o[1]=o[1]*a),o[0]+=n.x,o[1]+=n.y,o}var s=t.pfValue[0];s=-Math.PI/2+s;var l=2*Math.max(r,a),u=[n.x+Math.cos(s)*l,n.y+Math.sin(s)*l];return this.nodeShapes[this.getNodeShape(e)].intersectLine(n.x,n.y,r,a,u[0],u[1],0,"auto"===e.pstyle("corner-radius").value?"auto":e.pstyle("corner-radius").pfValue,i)},findEndpoints:function(e){var t,n,r,a,i,o=this,s=e.source()[0],l=e.target()[0],u=s.position(),c=l.position(),d=e.pstyle("target-arrow-shape").value,h=e.pstyle("source-arrow-shape").value,f=e.pstyle("target-distance-from-node").pfValue,p=e.pstyle("source-distance-from-node").pfValue,g=s._private.rscratch,v=l._private.rscratch,y=e.pstyle("curve-style").value,m=e._private.rscratch,b=m.edgeType,x=Te(y,"taxi"),w="self"===b||"compound"===b,E="bezier"===b||"multibezier"===b||w,C="bezier"!==b,T="straight"===b||"segments"===b,k="segments"===b,S=E||C||T,P=w||x,B=e.pstyle("source-endpoint"),_=P?"outside-to-node":B.value,D="auto"===s.pstyle("corner-radius").value?"auto":s.pstyle("corner-radius").pfValue,A=e.pstyle("target-endpoint"),M=P?"outside-to-node":A.value,R="auto"===l.pstyle("corner-radius").value?"auto":l.pstyle("corner-radius").pfValue;m.srcManEndpt=B,m.tgtManEndpt=A;var I,L,N,z,O=null!==(t=2===(null==A||null===(n=A.pfValue)||void 0===n?void 0:n.length)?A.pfValue:null)&&void 0!==t?t:[0,0],F=null!==(r=2===(null==B||null===(a=B.pfValue)||void 0===a?void 0:a.length)?B.pfValue:null)&&void 0!==r?r:[0,0];if(E){var V=[m.ctrlpts[0],m.ctrlpts[1]];I=C?[m.ctrlpts[m.ctrlpts.length-2],m.ctrlpts[m.ctrlpts.length-1]]:V,L=V}else if(T){var q=k?m.segpts.slice(0,2):[c.x+O[0],c.y+O[1]];I=k?m.segpts.slice(m.segpts.length-2):[u.x+F[0],u.y+F[1]],L=q}if("inside-to-node"===M)i=[c.x,c.y];else if(A.units)i=this.manualEndptToPx(l,A);else if("outside-to-line"===M)i=m.tgtIntn;else if("outside-to-node"===M||"outside-to-node-or-label"===M?N=I:("outside-to-line"===M||"outside-to-line-or-label"===M)&&(N=[u.x,u.y]),i=o.nodeShapes[this.getNodeShape(l)].intersectLine(c.x,c.y,l.outerWidth(),l.outerHeight(),N[0],N[1],0,R,v),"outside-to-node-or-label"===M||"outside-to-line-or-label"===M){var j=l._private.rscratch,X=j.labelWidth,Y=j.labelHeight,W=j.labelX,H=j.labelY,K=X/2,G=Y/2,U=l.pstyle("text-valign").value;"top"===U?H-=G:"bottom"===U&&(H+=G);var Z=l.pstyle("text-halign").value;"left"===Z?W-=K:"right"===Z&&(W+=K);var $=wr(N[0],N[1],[W-K,H-G,W+K,H-G,W+K,H+G,W-K,H+G],c.x,c.y);if($.length>0){var Q=u,J=Nn(Q,Sn(i)),ee=Nn(Q,Sn($)),te=J;if(ee<J&&(i=$,te=ee),$.length>2)Nn(Q,{x:$[2],y:$[3]})<te&&(i=[$[2],$[3]])}}var ne=Cr(i,I,o.arrowShapes[d].spacing(e)+f),re=Cr(i,I,o.arrowShapes[d].gap(e)+f);if(m.endX=re[0],m.endY=re[1],m.arrowEndX=ne[0],m.arrowEndY=ne[1],"inside-to-node"===_)i=[u.x,u.y];else if(B.units)i=this.manualEndptToPx(s,B);else if("outside-to-line"===_)i=m.srcIntn;else if("outside-to-node"===_||"outside-to-node-or-label"===_?z=L:("outside-to-line"===_||"outside-to-line-or-label"===_)&&(z=[c.x,c.y]),i=o.nodeShapes[this.getNodeShape(s)].intersectLine(u.x,u.y,s.outerWidth(),s.outerHeight(),z[0],z[1],0,D,g),"outside-to-node-or-label"===_||"outside-to-line-or-label"===_){var ae=s._private.rscratch,oe=ae.labelWidth,se=ae.labelHeight,le=ae.labelX,ue=ae.labelY,ce=oe/2,de=se/2,he=s.pstyle("text-valign").value;"top"===he?ue-=de:"bottom"===he&&(ue+=de);var fe=s.pstyle("text-halign").value;"left"===fe?le-=ce:"right"===fe&&(le+=ce);var pe=wr(z[0],z[1],[le-ce,ue-de,le+ce,ue-de,le+ce,ue+de,le-ce,ue+de],u.x,u.y);if(pe.length>0){var ge=c,ve=Nn(ge,Sn(i)),ye=Nn(ge,Sn(pe)),me=ve;if(ye<ve&&(i=[pe[0],pe[1]],me=ye),pe.length>2)Nn(ge,{x:pe[2],y:pe[3]})<me&&(i=[pe[2],pe[3]])}}var be=Cr(i,L,o.arrowShapes[h].spacing(e)+p),xe=Cr(i,L,o.arrowShapes[h].gap(e)+p);m.startX=xe[0],m.startY=xe[1],m.arrowStartX=be[0],m.arrowStartY=be[1],S&&(ie(m.startX)&&ie(m.startY)&&ie(m.endX)&&ie(m.endY)?m.badLine=!1:m.badLine=!0)},getSourceEndpoint:function(e){var t=e[0]._private.rscratch;return"haystack"===(this.recalculateRenderedStyle(e),t.edgeType)?{x:t.haystackPts[0],y:t.haystackPts[1]}:{x:t.arrowStartX,y:t.arrowStartY}},getTargetEndpoint:function(e){var t=e[0]._private.rscratch;return"haystack"===(this.recalculateRenderedStyle(e),t.edgeType)?{x:t.haystackPts[2],y:t.haystackPts[3]}:{x:t.arrowEndX,y:t.arrowEndY}}},jh={};function Xh(t,n,r){for(var a=e(function(e,t,n,r){return On(e,t,n,r)},"qbezierAt$1"),i=n._private.rstyle.bezierPts,o=0;o<t.bezierProjPcts.length;o++){var s=t.bezierProjPcts[o];i.push({x:a(r[0],r[2],r[4],s),y:a(r[1],r[3],r[5],s)})}}e(Xh,"pushBezierPts"),jh.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,"multibezier"===r||"bezier"===r||"self"===r||"compound"===r){t.rstyle.bezierPts=[];for(var a=0;a+5<n.allpts.length;a+=4)Xh(this,e,n.allpts.slice(a,a+6))}else if("segments"===r){var i=t.rstyle.linePts=[];for(a=0;a+1<n.allpts.length;a+=2)i.push({x:n.allpts[a],y:n.allpts[a+1]})}else if("haystack"===r){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},jh.recalculateEdgeProjections=function(e){this.findEdgeControlPoints(e)};var Yh={recalculateNodeLabelProjection:function(e){var t=e.pstyle("label").strValue;if(!pe(t)){var n,r,a=e._private,i=e.width(),o=e.height(),s=e.padding(),l=e.position(),u=e.pstyle("text-halign").strValue,c=e.pstyle("text-valign").strValue,d=a.rscratch,h=a.rstyle;switch(u){case"left":n=l.x-i/2-s;break;case"right":n=l.x+i/2+s;break;default:n=l.x}switch(c){case"top":r=l.y-o/2-s;break;case"bottom":r=l.y+o/2+s;break;default:r=l.y}d.labelX=n,d.labelY=r,h.labelX=n,h.labelY=r,this.calculateLabelAngles(e),this.applyLabelDimensions(e)}}},Wh=e(function(e,t){var n=Math.atan(t/e);return 0===e&&n<0&&(n*=-1),n},"lineAngleFromDelta"),Hh=e(function(e,t){var n=t.x-e.x,r=t.y-e.y;return Wh(n,r)},"lineAngle"),Kh=e(function(e,t,n,r){var a=qn(0,r-.001,1),i=qn(0,r+.001,1),o=Fn(e,t,n,a),s=Fn(e,t,n,i);return Hh(o,s)},"bezierAngle");Yh.recalculateEdgeLabelProjections=function(t){var n,r=t._private,a=r.rscratch,i=this,o={mid:t.pstyle("label").strValue,source:t.pstyle("source-label").strValue,target:t.pstyle("target-label").strValue};if(o.mid||o.source||o.target){n={x:a.midX,y:a.midY};var s=e(function(e,t,n){Ht(r.rscratch,e,t,n),Ht(r.rstyle,e,t,n)},"setRs");s("labelX",null,n.x),s("labelY",null,n.y);var l=Wh(a.midDispX,a.midDispY);s("labelAutoAngle",null,l);var u=e(function(){if(u.cache)return u.cache;for(var t=[],n=0;n+5<a.allpts.length;n+=4){var o={x:a.allpts[n],y:a.allpts[n+1]},s={x:a.allpts[n+2],y:a.allpts[n+3]},l={x:a.allpts[n+4],y:a.allpts[n+5]};t.push({p0:o,p1:s,p2:l,startDist:0,length:0,segments:[]})}var c=r.rstyle.bezierPts,d=i.bezierProjPcts.length;function h(e,t,n,r,a){var i=Ln(t,n),o=e.segments[e.segments.length-1],s={p0:t,p1:n,t0:r,t1:a,startDist:o?o.startDist+o.length:0,length:i};e.segments.push(s),e.length+=i}e(h,"addSegment");for(var f=0;f<t.length;f++){var p=t[f],g=t[f-1];g&&(p.startDist=g.startDist+g.length),h(p,p.p0,c[f*d],0,i.bezierProjPcts[0]);for(var v=0;v<d-1;v++)h(p,c[f*d+v],c[f*d+v+1],i.bezierProjPcts[v],i.bezierProjPcts[v+1]);h(p,c[f*d+d-1],p.p2,i.bezierProjPcts[d-1],1)}return u.cache=t},"createControlPointInfo"),c=e(function(e){var r,i="source"===e;if(o[e]){var l=t.pstyle(e+"-text-offset").pfValue;switch(a.edgeType){case"self":case"compound":case"bezier":case"multibezier":for(var c,d=u(),h=0,f=0,p=0;p<d.length;p++){for(var g=d[i?p:d.length-1-p],v=0;v<g.segments.length;v++){var y=g.segments[i?v:g.segments.length-1-v],m=p===d.length-1&&v===g.segments.length-1;if(h=f,(f+=y.length)>=l||m){c={cp:g,segment:y};break}}if(c)break}var b=c.cp,x=c.segment,w=(l-h)/x.length,E=x.t1-x.t0,C=i?x.t0+E*w:x.t1-E*w;C=qn(0,C,1),n=Fn(b.p0,b.p1,b.p2,C),r=Kh(b.p0,b.p1,b.p2,C);break;case"straight":case"segments":case"haystack":for(var T,k,S,P,B=0,_=a.allpts.length,D=0;D+3<_&&(i?(S={x:a.allpts[D],y:a.allpts[D+1]},P={x:a.allpts[D+2],y:a.allpts[D+3]}):(S={x:a.allpts[_-2-D],y:a.allpts[_-1-D]},P={x:a.allpts[_-4-D],y:a.allpts[_-3-D]}),k=B,!((B+=T=Ln(S,P))>=l));D+=2);var A=(l-k)/T;A=qn(0,A,1),n=Vn(S,P,A),r=Hh(S,P)}s("labelX",e,n.x),s("labelY",e,n.y),s("labelAutoAngle",e,r)}},"calculateEndProjection");c("source"),c("target"),this.applyLabelDimensions(t)}},Yh.applyLabelDimensions=function(e){this.applyPrefixedLabelDimensions(e),e.isEdge()&&(this.applyPrefixedLabelDimensions(e,"source"),this.applyPrefixedLabelDimensions(e,"target"))},Yh.applyPrefixedLabelDimensions=function(e,t){var n=e._private,r=this.getLabelText(e,t),a=mt(r,e._private.labelDimsKey);if(Wt(n.rscratch,"prefixedLabelDimsKey",t)!==a){Ht(n.rscratch,"prefixedLabelDimsKey",t,a);var i=this.calculateLabelDimensions(e,r),o=e.pstyle("line-height").pfValue,s=e.pstyle("text-wrap").strValue,l=Wt(n.rscratch,"labelWrapCachedLines",t)||[],u="wrap"!==s?1:Math.max(l.length,1),c=i.height/u,d=c*o,h=i.width,f=i.height+(u-1)*(o-1)*c;Ht(n.rstyle,"labelWidth",t,h),Ht(n.rscratch,"labelWidth",t,h),Ht(n.rstyle,"labelHeight",t,f),Ht(n.rscratch,"labelHeight",t,f),Ht(n.rscratch,"labelLineHeight",t,d)}},Yh.getLabelText=function(t,n){var r=t._private,a=n?n+"-":"",i=t.pstyle(a+"label").strValue,o=t.pstyle("text-transform").value,l=e(function(e,t){return t?(Ht(r.rscratch,e,n,t),t):Wt(r.rscratch,e,n)},"rscratch");if(!i)return"";"none"==o||("uppercase"==o?i=i.toUpperCase():"lowercase"==o&&(i=i.toLowerCase()));var u=t.pstyle("text-wrap").value;if("wrap"===u){var c=l("labelKey");if(null!=c&&l("labelWrapKey")===c)return l("labelWrapCachedText");for(var d=i.split("\n"),h=t.pstyle("text-max-width").pfValue,f="anywhere"===t.pstyle("text-overflow-wrap").value,p=[],g=/[\s\u200b]+|$/g,v=0;v<d.length;v++){var y=d[v],m=this.calculateLabelDimensions(t,y).width;if(f){var b=y.split("").join("");y=b}if(m>h){var x,w="",E=0,C=s(y.matchAll(g));try{for(C.s();!(x=C.n()).done;){var T=x.value,k=T[0],S=y.substring(E,T.index);E=T.index+k.length;var P=0===w.length?S:w+S+k;this.calculateLabelDimensions(t,P).width<=h?w+=S+k:(w&&p.push(w),w=S+k)}}catch(e){C.e(e)}finally{C.f()}w.match(/^[\s\u200b]+$/)||p.push(w)}else p.push(y)}l("labelWrapCachedLines",p),i=l("labelWrapCachedText",p.join("\n")),l("labelWrapKey",c)}else if("ellipsis"===u){var B=t.pstyle("text-max-width").pfValue,_="",D=!1;if(this.calculateLabelDimensions(t,i).width<B)return i;for(var A=0;A<i.length;A++){if(this.calculateLabelDimensions(t,_+i[A]+"…").width>B)break;_+=i[A],A===i.length-1&&(D=!0)}return D||(_+="…"),_}return i},Yh.getLabelJustification=function(e){var t=e.pstyle("text-justification").strValue,n=e.pstyle("text-halign").strValue;if("auto"!==t)return t;if(!e.isNode())return"center";switch(n){case"left":return"right";case"right":return"left";default:return"center"}},Yh.calculateLabelDimensions=function(e,t){var n=this.cy.window().document,r=e.pstyle("font-style").strValue,a=e.pstyle("font-size").pfValue,i=e.pstyle("font-family").strValue,o=e.pstyle("font-weight").strValue,s=this.labelCalcCanvas,l=this.labelCalcCanvasContext;if(!s){s=this.labelCalcCanvas=n.createElement("canvas"),l=this.labelCalcCanvasContext=s.getContext("2d");var u=s.style;u.position="absolute",u.left="-9999px",u.top="-9999px",u.zIndex="-1",u.visibility="hidden",u.pointerEvents="none"}l.font="".concat(r," ").concat(o," ").concat(a,"px ").concat(i);for(var c=0,d=0,h=t.split("\n"),f=0;f<h.length;f++){var p=h[f],g=l.measureText(p),v=Math.ceil(g.width),y=a;c=Math.max(v,c),d+=y}return{width:c+=0,height:d+=0}},Yh.calculateLabelAngle=function(e,t){var n=e._private.rscratch,r=e.isEdge(),a=t?t+"-":"",i=e.pstyle(a+"text-rotation"),o=i.strValue;return"none"===o?0:r&&"autorotate"===o?n.labelAutoAngle:"autorotate"===o?0:i.pfValue},Yh.calculateLabelAngles=function(e){var t=this,n=e.isEdge(),r=e._private.rscratch;r.labelAngle=t.calculateLabelAngle(e),n&&(r.sourceLabelAngle=t.calculateLabelAngle(e,"source"),r.targetLabelAngle=t.calculateLabelAngle(e,"target"))};var Gh={},Uh=!1;Gh.getNodeShape=function(e){var t=e.pstyle("shape").value;if("cutrectangle"===t&&(e.width()<28||e.height()<28))return Uh||(It("The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead"),Uh=!0),"rectangle";if(e.isParent())return"rectangle"===t||"roundrectangle"===t||"round-rectangle"===t||"cutrectangle"===t||"cut-rectangle"===t||"barrel"===t?t:"rectangle";if("polygon"===t){var n=e.pstyle("shape-polygon-points").value;return this.nodeShapes.makePolygon(n).name}return t};var Zh={registerCalculationListeners:function(){var t=this.cy,n=t.collection(),r=this,a=e(function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(n.merge(e),t)for(var r=0;r<e.length;r++){var a=e[r]._private.rstyle;a.clean=!1,a.cleanConnected=!1}},"enqueue");r.binder(t).on("bounds.* dirty.*",e(function(e){var t=e.target;a(t)},"onDirtyBounds")).on("style.* background.*",e(function(e){var t=e.target;a(t,!1)},"onDirtyStyle"));var i=e(function(e){if(e){var i=r.onUpdateEleCalcsFns;n.cleanStyle();for(var o=0;o<n.length;o++){var s=n[o],l=s._private.rstyle;s.isNode()&&!l.cleanConnected&&(a(s.connectedEdges()),l.cleanConnected=!0)}if(i)for(var u=0;u<i.length;u++){(0,i[u])(e,n)}r.recalculateRenderedStyle(n),n=t.collection()}},"updateEleCalcs");r.flushRenderedStyleQueue=function(){i(!0)},r.beforeRender(i,r.beforeRenderPriorities.eleCalcs)},onUpdateEleCalcs:function(e){(this.onUpdateEleCalcsFns=this.onUpdateEleCalcsFns||[]).push(e)},recalculateRenderedStyle:function(t,n){var r=e(function(e){return e._private.rstyle.cleanConnected},"isCleanConnected");if(0!==t.length){var a=[],i=[];if(!this.destroyed){void 0===n&&(n=!0);for(var o=0;o<t.length;o++){var s=t[o],l=s._private,u=l.rstyle;s.isEdge()&&(!r(s.source())||!r(s.target()))&&(u.clean=!1),s.isEdge()&&s.isBundledBezier()&&s.parallelEdges().some(function(e){return!e._private.rstyle.clean&&e.isBundledBezier()})&&(u.clean=!1),!(n&&u.clean||s.removed())&&"none"!==s.pstyle("display").value&&("nodes"===l.group?i.push(s):a.push(s),u.clean=!0)}for(var c=0;c<i.length;c++){var d=i[c],h=d._private.rstyle,f=d.position();this.recalculateNodeLabelProjection(d),h.nodeX=f.x,h.nodeY=f.y,h.nodeW=d.pstyle("width").pfValue,h.nodeH=d.pstyle("height").pfValue}this.recalculateEdgeProjections(a);for(var p=0;p<a.length;p++){var g=a[p]._private,v=g.rstyle,y=g.rscratch;v.srcX=y.arrowStartX,v.srcY=y.arrowStartY,v.tgtX=y.arrowEndX,v.tgtY=y.arrowEndY,v.midX=y.midX,v.midY=y.midY,v.labelAngle=y.labelAngle,v.sourceLabelAngle=y.sourceLabelAngle,v.targetLabelAngle=y.targetLabelAngle}}}}},$h={updateCachedGrabbedEles:function(){var e=this.cachedZSortedEles;if(e){e.drag=[],e.nondrag=[];for(var t=[],n=0;n<e.length;n++){var r=(a=e[n])._private.rscratch;a.grabbed()&&!a.isParent()?t.push(a):r.inDragLayer?e.drag.push(a):e.nondrag.push(a)}for(n=0;n<t.length;n++){var a=t[n];e.drag.push(a)}}},invalidateCachedZSortedEles:function(){this.cachedZSortedEles=null},getCachedZSortedEles:function(e){if(e||!this.cachedZSortedEles){var t=this.cy.mutableElements().toArray();t.sort(cc),t.interactive=t.filter(function(e){return e.interactive()}),this.cachedZSortedEles=t,this.updateCachedGrabbedEles()}else t=this.cachedZSortedEles;return t}},Qh={};[dh,hh,Fh,qh,jh,Yh,Gh,Zh,$h].forEach(function(e){Me(Qh,e)});var Jh={getCachedImage:function(e,t,n){var r=this.imageCache=this.imageCache||{},a=r[e];if(a)return a.image.complete||a.image.addEventListener("load",n),a.image;var i=(a=r[e]=r[e]||{}).image=new Image;i.addEventListener("load",n),i.addEventListener("error",function(){i.error=!0});var o="data:";return e.substring(0,5).toLowerCase()===o||(t="null"===t?null:t,i.crossOrigin=t),i.src=e,i}},ef={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 s=e[o];if(void 0!==s){var l=this.binder(s);i.push(l.on.apply(l,a))}}return i}return(l=this.binder(e)).on.apply(l,a)},binder:function(t){var n=this,r=n.cy.window(),a=t===r||t===r.document||t===r.document.body||ge(t);if(null==n.supportsPassiveEvents){var i=!1;try{var o=Object.defineProperty({},"passive",{get:e(function(){return i=!0,!0},"get")});r.addEventListener("test",null,o)}catch{}n.supportsPassiveEvents=i}var s=e(function(e,r,i){var o=Array.prototype.slice.call(arguments);return a&&n.supportsPassiveEvents&&(o[2]={capture:i??!1,passive:!1,once:!1}),n.bindings.push({target:t,args:o}),(t.addEventListener||t.on).apply(t,o),this},"on");return{on:s,addEventListener:s,addListener:s,bind:s}},nodeIsDraggable:function(e){return e&&e.isNode()&&!e.locked()&&e.grabbable()},nodeIsGrabbable:function(e){return this.nodeIsDraggable(e)&&e.interactive()},load:function(){var t=this,n=t.cy.window(),r=e(function(e){return e.selected()},"isSelected"),a=e(function(e){var t=e.getRootNode();if(t&&11===t.nodeType&&void 0!==t.host)return t},"getShadowRoot"),i=e(function(e,n,r,a){null==e&&(e=t.cy);for(var i=0;i<n.length;i++){var o=n[i];e.emit({originalEvent:r,type:o,position:a})}},"triggerEvents"),o=e(function(e){return e.shiftKey||e.metaKey||e.ctrlKey},"isMultSelKeyDown"),s=e(function(e,n){var r=!0;if(t.cy.hasCompoundNodes()&&e&&e.pannable())for(var a=0;n&&a<n.length;a++){if((e=n[a]).isNode()&&e.isParent()&&!e.pannable()){r=!1;break}}else r=!0;return r},"allowPanningPassthrough"),l=e(function(e){e[0]._private.grabbed=!0},"setGrabbed"),u=e(function(e){e[0]._private.grabbed=!1},"setFreed"),c=e(function(e){e[0]._private.rscratch.inDragLayer=!0},"setInDragLayer"),d=e(function(e){e[0]._private.rscratch.inDragLayer=!1},"setOutDragLayer"),h=e(function(e){e[0]._private.rscratch.isGrabTarget=!0},"setGrabTarget"),f=e(function(e){e[0]._private.rscratch.isGrabTarget=!1},"removeGrabTarget"),p=e(function(e,t){var n=t.addToList;!n.has(e)&&e.grabbable()&&!e.locked()&&(n.merge(e),l(e))},"addToDragList"),g=e(function(e,t){if(e.cy().hasCompoundNodes()&&(null!=t.inDragLayer||null!=t.addToList)){var n=e.descendants();t.inDragLayer&&(n.forEach(c),n.connectedEdges().forEach(c)),t.addToList&&p(n,t)}},"addDescendantsToDrag"),v=e(function(e,n){n=n||{};var r=e.cy().hasCompoundNodes();n.inDragLayer&&(e.forEach(c),e.neighborhood().stdFilter(function(e){return!r||e.isEdge()}).forEach(c)),n.addToList&&e.forEach(function(e){p(e,n)}),g(e,n),b(e,{inDragLayer:n.inDragLayer}),t.updateCachedGrabbedEles()},"addNodesToDrag"),y=v,m=e(function(e){e&&(t.getCachedZSortedEles().forEach(function(e){u(e),d(e),f(e)}),t.updateCachedGrabbedEles())},"freeDraggedElements"),b=e(function(e,t){if((null!=t.inDragLayer||null!=t.addToList)&&e.cy().hasCompoundNodes()){var n=e.ancestors().orphans();if(!n.same(e)){var r=n.descendants().spawnSelf().merge(n).unmerge(e).unmerge(e.descendants()),a=r.connectedEdges();t.inDragLayer&&(a.forEach(c),r.forEach(c)),t.addToList&&r.forEach(function(e){p(e,t)})}}},"updateAncestorsInDragLayer"),x=e(function(){null!=document.activeElement&&null!=document.activeElement.blur&&document.activeElement.blur()},"blurActiveDomElement"),w=typeof MutationObserver<"u",E=typeof ResizeObserver<"u";w?(t.removeObserver=new MutationObserver(function(e){for(var n=0;n<e.length;n++){var r=e[n].removedNodes;if(r)for(var a=0;a<r.length;a++){if(r[a]===t.container){t.destroy();break}}}}),t.container.parentNode&&t.removeObserver.observe(t.container.parentNode,{childList:!0})):t.registerBinding(t.container,"DOMNodeRemoved",function(e){t.destroy()});var C=rt(function(){t.cy.resize()},100);w&&(t.styleObserver=new MutationObserver(C),t.styleObserver.observe(t.container,{attributes:!0})),t.registerBinding(n,"resize",C),E&&(t.resizeObserver=new ResizeObserver(C),t.resizeObserver.observe(t.container));var T=e(function(e,t){for(;null!=e;)t(e),e=e.parentNode},"forEachUp"),k=e(function(){t.invalidateContainerClientCoordsCache()},"invalidateCoords");T(t.container,function(e){t.registerBinding(e,"transitionend",k),t.registerBinding(e,"animationend",k),t.registerBinding(e,"scroll",k)}),t.registerBinding(t.container,"contextmenu",function(e){e.preventDefault()});var S=e(function(){return 0!==t.selection[4]},"inBoxSelection"),P=e(function(e){for(var n=t.findContainerClientCoords(),r=n[0],a=n[1],i=n[2],o=n[3],s=e.touches?e.touches:[e],l=!1,u=0;u<s.length;u++){var c=s[u];if(r<=c.clientX&&c.clientX<=r+i&&a<=c.clientY&&c.clientY<=a+o){l=!0;break}}if(!l)return!1;for(var d=t.container,h=e.target.parentNode,f=!1;h;){if(h===d){f=!0;break}h=h.parentNode}return!!f},"eventInContainer");t.registerBinding(t.container,"mousedown",e(function(n){if(P(n)&&(1!==t.hoverData.which||1===n.which)){n.preventDefault(),x(),t.hoverData.capture=!0,t.hoverData.which=n.which;var r=t.cy,a=[n.clientX,n.clientY],o=t.projectIntoViewport(a[0],a[1]),s=t.selection,l=t.findNearestElements(o[0],o[1],!0,!1),u=l[0],c=t.dragData.possibleDragElements;t.hoverData.mdownPos=o,t.hoverData.mdownGPos=a;var d=e(function(e){return{originalEvent:n,type:e,position:{x:o[0],y:o[1]}}},"makeEvent"),f=e(function(){t.hoverData.tapholdCancelled=!1,clearTimeout(t.hoverData.tapholdTimeout),t.hoverData.tapholdTimeout=setTimeout(function(){if(!t.hoverData.tapholdCancelled){var e=t.hoverData.down;e?e.emit(d("taphold")):r.emit(d("taphold"))}},t.tapholdDuration)},"checkForTaphold");if(3==n.which){t.hoverData.cxtStarted=!0;var p={originalEvent:n,type:"cxttapstart",position:{x:o[0],y:o[1]}};u?(u.activate(),u.emit(p),t.hoverData.down=u):r.emit(p),t.hoverData.downTime=(new Date).getTime(),t.hoverData.cxtDragged=!1}else if(1==n.which){if(u&&u.activate(),null!=u&&t.nodeIsGrabbable(u)){var g=e(function(e){e.emit(d("grab"))},"triggerGrab");if(h(u),u.selected()){c=t.dragData.possibleDragElements=r.collection();var m=r.$(function(e){return e.isNode()&&e.selected()&&t.nodeIsGrabbable(e)});v(m,{addToList:c}),u.emit(d("grabon")),m.forEach(g)}else c=t.dragData.possibleDragElements=r.collection(),y(u,{addToList:c}),u.emit(d("grabon")).emit(d("grab"));t.redrawHint("eles",!0),t.redrawHint("drag",!0)}t.hoverData.down=u,t.hoverData.downs=l,t.hoverData.downTime=(new Date).getTime(),i(u,["mousedown","tapstart","vmousedown"],n,{x:o[0],y:o[1]}),null==u?(s[4]=1,t.data.bgActivePosistion={x:o[0],y:o[1]},t.redrawHint("select",!0),t.redraw()):u.pannable()&&(s[4]=1),f()}s[0]=s[2]=o[0],s[1]=s[3]=o[1]}},"mousedownHandler"),!1);var B,_,D,A=a(t.container);t.registerBinding([n,A],"mousemove",e(function(n){if(t.hoverData.capture||P(n)){var r=!1,a=t.cy,l=a.zoom(),u=[n.clientX,n.clientY],c=t.projectIntoViewport(u[0],u[1]),d=t.hoverData.mdownPos,h=t.hoverData.mdownGPos,f=t.selection,p=null;!t.hoverData.draggingEles&&!t.hoverData.dragging&&!t.hoverData.selecting&&(p=t.findNearestElement(c[0],c[1],!0,!1));var g,y=t.hoverData.last,b=t.hoverData.down,x=[c[0]-f[2],c[1]-f[3]],w=t.dragData.possibleDragElements;if(h){var E=u[0]-h[0],C=E*E,T=u[1]-h[1],k=C+T*T;t.hoverData.isOverThresholdDrag=g=k>=t.desktopTapThreshold2}var S=o(n);g&&(t.hoverData.tapholdCancelled=!0);var B=e(function(){var e=t.hoverData.dragDelta=t.hoverData.dragDelta||[];0===e.length?(e.push(x[0]),e.push(x[1])):(e[0]+=x[0],e[1]+=x[1])},"updateDragDelta");r=!0,i(p,["mousemove","vmousemove","tapdrag"],n,{x:c[0],y:c[1]});var _=e(function(e){return{originalEvent:n,type:e,position:{x:c[0],y:c[1]}}},"makeEvent"),D=e(function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||a.emit(_("boxstart")),f[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()},"goIntoBoxMode");if(3===t.hoverData.which){if(g){var A=_("cxtdrag");b?b.emit(A):a.emit(A),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||p!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit(_("cxtdragout")),t.hoverData.cxtOver=p,p&&p.emit(_("cxtdragover")))}}else if(t.hoverData.dragging){if(r=!0,a.panningEnabled()&&a.userPanningEnabled()){var M;if(t.hoverData.justStartedPan){var R=t.hoverData.mdownPos;M={x:(c[0]-R[0])*l,y:(c[1]-R[1])*l},t.hoverData.justStartedPan=!1}else M={x:x[0]*l,y:x[1]*l};a.panBy(M),a.emit(_("dragpan")),t.hoverData.dragged=!0}c=t.projectIntoViewport(n.clientX,n.clientY)}else if(1!=f[4]||null!=b&&!b.pannable()){if(b&&b.pannable()&&b.active()&&b.unactivate(),(!b||!b.grabbed())&&p!=y&&(y&&i(y,["mouseout","tapdragout"],n,{x:c[0],y:c[1]}),p&&i(p,["mouseover","tapdragover"],n,{x:c[0],y:c[1]}),t.hoverData.last=p),b)if(g){if(a.boxSelectionEnabled()&&S)b&&b.grabbed()&&(m(w),b.emit(_("freeon")),w.emit(_("free")),t.dragData.didDrag&&(b.emit(_("dragfreeon")),w.emit(_("dragfree")))),D();else if(b&&b.grabbed()&&t.nodeIsDraggable(b)){var I=!t.dragData.didDrag;I&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||v(w,{inDragLayer:!0});var L={x:0,y:0};if(ie(x[0])&&ie(x[1])&&(L.x+=x[0],L.y+=x[1],I)){var N=t.hoverData.dragDelta;N&&ie(N[0])&&ie(N[1])&&(L.x+=N[0],L.y+=N[1])}t.hoverData.draggingEles=!0,w.silentShift(L).emit(_("position")).emit(_("drag")),t.redrawHint("drag",!0),t.redraw()}}else B();r=!0}else if(g){if(t.hoverData.dragging||!a.boxSelectionEnabled()||!S&&a.panningEnabled()&&a.userPanningEnabled()){if(!t.hoverData.selecting&&a.panningEnabled()&&a.userPanningEnabled()){s(b,t.hoverData.downs)&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,f[4]=0,t.data.bgActivePosistion=Sn(d),t.redrawHint("select",!0),t.redraw())}}else D();b&&b.pannable()&&b.active()&&b.unactivate()}if(f[2]=c[0],f[3]=c[1],r)return n.stopPropagation&&n.stopPropagation(),n.preventDefault&&n.preventDefault(),!1}},"mousemoveHandler"),!1),t.registerBinding(n,"mouseup",e(function(n){if((1!==t.hoverData.which||1===n.which||!t.hoverData.capture)&&t.hoverData.capture){t.hoverData.capture=!1;var a=t.cy,s=t.projectIntoViewport(n.clientX,n.clientY),l=t.selection,u=t.findNearestElement(s[0],s[1],!0,!1),c=t.dragData.possibleDragElements,d=t.hoverData.down,h=o(n);t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,d&&d.unactivate();var f=e(function(e){return{originalEvent:n,type:e,position:{x:s[0],y:s[1]}}},"makeEvent");if(3===t.hoverData.which){var p=f("cxttapend");if(d?d.emit(p):a.emit(p),!t.hoverData.cxtDragged){var g=f("cxttap");d?d.emit(g):a.emit(g)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(1===t.hoverData.which){if(i(u,["mouseup","tapend","vmouseup"],n,{x:s[0],y:s[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(i(d,["click","tap","vclick"],n,{x:s[0],y:s[1]}),_=!1,n.timeStamp-D<=a.multiClickDebounceTime()?(B&&clearTimeout(B),_=!0,D=null,i(d,["dblclick","dbltap","vdblclick"],n,{x:s[0],y:s[1]})):(B=setTimeout(function(){_||i(d,["oneclick","onetap","voneclick"],n,{x:s[0],y:s[1]})},a.multiClickDebounceTime()),D=n.timeStamp)),null==d&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!o(n)&&(a.$(r).unselect(["tapunselect"]),c.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=c=a.collection()),u==d&&!t.dragData.didDrag&&!t.hoverData.selecting&&null!=u&&u._private.selectable&&(t.hoverData.dragging||("additive"===a.selectionType()||h?u.selected()?u.unselect(["tapunselect"]):u.select(["tapselect"]):h||(a.$(r).unmerge(u).unselect(["tapunselect"]),u.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var v=a.collection(t.getAllInBox(l[0],l[1],l[2],l[3]));t.redrawHint("select",!0),v.length>0&&t.redrawHint("eles",!0),a.emit(f("boxend"));var y=e(function(e){return e.selectable()&&!e.selected()},"eleWouldBeSelected");"additive"===a.selectionType()||h||a.$(r).unmerge(v).unselect(),v.emit(f("box")).stdFilter(y).select().emit(f("boxselect")),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!l[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var b=d&&d.grabbed();m(c),b&&(d.emit(f("freeon")),c.emit(f("free")),t.dragData.didDrag&&(d.emit(f("dragfreeon")),c.emit(f("dragfree"))))}}l[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null,t.hoverData.which=null}},"mouseupHandler"),!1);var M,R=[],I=1e5,L=e(function(e,t){for(var n=0;n<e.length;n++)if(e[n]%t!==0)return!1;return!0},"allAreDivisibleBy"),N=e(function(e){for(var t=Math.abs(e[0]),n=1;n<e.length;n++)if(Math.abs(e[n])!==t)return!1;return!0},"allAreSameMagnitude"),z=e(function(e){var n=!1,r=e.deltaY;if(null==r&&(null!=e.wheelDeltaY?r=e.wheelDeltaY/4:null!=e.wheelDelta&&(r=e.wheelDelta/4)),0!==r){if(null==M)if(R.length>=4){var a=R;if(!(M=L(a,5))){var i=Math.abs(a[0]);M=N(a)&&i>5}if(M)for(var o=0;o<a.length;o++)I=Math.min(Math.abs(a[o]),I)}else R.push(r),n=!0;else M&&(I=Math.min(Math.abs(r),I));if(!t.scrollingPage){var s=t.cy,l=s.zoom(),u=s.pan(),c=t.projectIntoViewport(e.clientX,e.clientY),d=[c[0]*l+u.x,c[1]*l+u.y];if(t.hoverData.draggingEles||t.hoverData.dragging||t.hoverData.cxtStarted||S())return void e.preventDefault();if(s.panningEnabled()&&s.userPanningEnabled()&&s.zoomingEnabled()&&s.userZoomingEnabled()){var h;e.preventDefault(),t.data.wheelZooming=!0,clearTimeout(t.data.wheelTimeout),t.data.wheelTimeout=setTimeout(function(){t.data.wheelZooming=!1,t.redrawHint("eles",!0),t.redraw()},150),n&&Math.abs(r)>5&&(r=5*In(r)),h=r/-250,M&&(h/=I,h*=3),h*=t.wheelSensitivity,1===e.deltaMode&&(h*=33);var f=s.zoom()*Math.pow(10,h);"gesturechange"===e.type&&(f=t.gestureStartZoom*e.scale),s.zoom({level:f,renderedPosition:{x:d[0],y:d[1]}}),s.emit({type:"gesturechange"===e.type?"pinchzoom":"scrollzoom",originalEvent:e,position:{x:c[0],y:c[1]}})}}}},"wheelHandler");t.registerBinding(t.container,"wheel",z,!0),t.registerBinding(n,"scroll",e(function(e){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},"scrollHandler"),!0),t.registerBinding(t.container,"gesturestart",e(function(e){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||e.preventDefault()},"gestureStartHandler"),!0),t.registerBinding(t.container,"gesturechange",function(e){t.hasTouchStarted||z(e)},!0),t.registerBinding(t.container,"mouseout",e(function(e){var n=t.projectIntoViewport(e.clientX,e.clientY);t.cy.emit({originalEvent:e,type:"mouseout",position:{x:n[0],y:n[1]}})},"mouseOutHandler"),!1),t.registerBinding(t.container,"mouseover",e(function(e){var n=t.projectIntoViewport(e.clientX,e.clientY);t.cy.emit({originalEvent:e,type:"mouseover",position:{x:n[0],y:n[1]}})},"mouseOverHandler"),!1);var O,F,V,q,j,X,Y,W,H,K,G,U,Z,$,Q,J,ee,te,ne,re,ae=e(function(e,t,n,r){return Math.sqrt((n-e)*(n-e)+(r-t)*(r-t))},"distance"),oe=e(function(e,t,n,r){return(n-e)*(n-e)+(r-t)*(r-t)},"distanceSq");if(t.registerBinding(t.container,"touchstart",$=e(function(n){if(t.hasTouchStarted=!0,P(n)){x(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var r=t.cy,a=t.touchData.now,o=t.touchData.earlier;if(n.touches[0]){var s=t.projectIntoViewport(n.touches[0].clientX,n.touches[0].clientY);a[0]=s[0],a[1]=s[1]}if(n.touches[1]){s=t.projectIntoViewport(n.touches[1].clientX,n.touches[1].clientY);a[2]=s[0],a[3]=s[1]}if(n.touches[2]){s=t.projectIntoViewport(n.touches[2].clientX,n.touches[2].clientY);a[4]=s[0],a[5]=s[1]}var l=e(function(e){return{originalEvent:n,type:e,position:{x:a[0],y:a[1]}}},"makeEvent");if(n.touches[1]){t.touchData.singleTouchMoved=!0,m(t.dragData.touchDragEles);var u=t.findContainerClientCoords();H=u[0],K=u[1],G=u[2],U=u[3],O=n.touches[0].clientX-H,F=n.touches[0].clientY-K,V=n.touches[1].clientX-H,q=n.touches[1].clientY-K,Z=0<=O&&O<=G&&0<=V&&V<=G&&0<=F&&F<=U&&0<=q&&q<=U;var c=r.pan(),d=r.zoom();j=ae(O,F,V,q),X=oe(O,F,V,q),W=[((Y=[(O+V)/2,(F+q)/2])[0]-c.x)/d,(Y[1]-c.y)/d];if(X<4e4&&!n.touches[2]){var f=t.findNearestElement(a[0],a[1],!0,!0),p=t.findNearestElement(a[2],a[3],!0,!0);return f&&f.isNode()?(f.activate().emit(l("cxttapstart")),t.touchData.start=f):p&&p.isNode()?(p.activate().emit(l("cxttapstart")),t.touchData.start=p):r.emit(l("cxttapstart")),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!0,t.touchData.cxtDragged=!1,t.data.bgActivePosistion=void 0,void t.redraw()}}if(n.touches[2])r.boxSelectionEnabled()&&n.preventDefault();else if(!n.touches[1]&&n.touches[0]){var g=t.findNearestElements(a[0],a[1],!0,!0),b=g[0];if(null!=b&&(b.activate(),t.touchData.start=b,t.touchData.starts=g,t.nodeIsGrabbable(b))){var w=t.dragData.touchDragEles=r.collection(),E=null;t.redrawHint("eles",!0),t.redrawHint("drag",!0),b.selected()?(E=r.$(function(e){return e.selected()&&t.nodeIsGrabbable(e)}),v(E,{addToList:w})):y(b,{addToList:w}),h(b),b.emit(l("grabon")),E?E.forEach(function(e){e.emit(l("grab"))}):b.emit(l("grab"))}i(b,["touchstart","tapstart","vmousedown"],n,{x:a[0],y:a[1]}),null==b&&(t.data.bgActivePosistion={x:s[0],y:s[1]},t.redrawHint("select",!0),t.redraw()),t.touchData.singleTouchMoved=!1,t.touchData.singleTouchStartTime=+new Date,clearTimeout(t.touchData.tapholdTimeout),t.touchData.tapholdTimeout=setTimeout(function(){!1===t.touchData.singleTouchMoved&&!t.pinching&&!t.touchData.selecting&&i(t.touchData.start,["taphold"],n,{x:a[0],y:a[1]})},t.tapholdDuration)}if(n.touches.length>=1){for(var C=t.touchData.startPosition=[null,null,null,null,null,null],T=0;T<a.length;T++)C[T]=o[T]=a[T];var k=n.touches[0];t.touchData.startGPosition=[k.clientX,k.clientY]}}},"touchstartHandler"),!1),t.registerBinding(n,"touchmove",Q=e(function(n){var r=t.touchData.capture;if(r||P(n)){var a=t.selection,o=t.cy,l=t.touchData.now,u=t.touchData.earlier,c=o.zoom();if(n.touches[0]){var d=t.projectIntoViewport(n.touches[0].clientX,n.touches[0].clientY);l[0]=d[0],l[1]=d[1]}if(n.touches[1]){d=t.projectIntoViewport(n.touches[1].clientX,n.touches[1].clientY);l[2]=d[0],l[3]=d[1]}if(n.touches[2]){d=t.projectIntoViewport(n.touches[2].clientX,n.touches[2].clientY);l[4]=d[0],l[5]=d[1]}var h,f=e(function(e){return{originalEvent:n,type:e,position:{x:l[0],y:l[1]}}},"makeEvent"),p=t.touchData.startGPosition;if(r&&n.touches[0]&&p){for(var g=[],y=0;y<l.length;y++)g[y]=l[y]-u[y];var b=n.touches[0].clientX-p[0],x=b*b,w=n.touches[0].clientY-p[1];h=x+w*w>=t.touchTapThreshold2}if(r&&t.touchData.cxt){n.preventDefault();var E=n.touches[0].clientX-H,C=n.touches[0].clientY-K,T=n.touches[1].clientX-H,k=n.touches[1].clientY-K,S=oe(E,C,T,k);if(S/X>=2.25||S>=22500){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var B=f("cxttapend");t.touchData.start?(t.touchData.start.unactivate().emit(B),t.touchData.start=null):o.emit(B)}}if(r&&t.touchData.cxt){B=f("cxtdrag");t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(B):o.emit(B),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var _=t.findNearestElement(l[0],l[1],!0,!0);(!t.touchData.cxtOver||_!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit(f("cxtdragout")),t.touchData.cxtOver=_,_&&_.emit(f("cxtdragover")))}else if(r&&n.touches[2]&&o.boxSelectionEnabled())n.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||o.emit(f("boxstart")),t.touchData.selecting=!0,t.touchData.didSelect=!0,a[4]=1,a&&0!==a.length&&void 0!==a[0]?(a[2]=(l[0]+l[2]+l[4])/3,a[3]=(l[1]+l[3]+l[5])/3):(a[0]=(l[0]+l[2]+l[4])/3,a[1]=(l[1]+l[3]+l[5])/3,a[2]=(l[0]+l[2]+l[4])/3+1,a[3]=(l[1]+l[3]+l[5])/3+1),t.redrawHint("select",!0),t.redraw();else if(r&&n.touches[1]&&!t.touchData.didSelect&&o.zoomingEnabled()&&o.panningEnabled()&&o.userZoomingEnabled()&&o.userPanningEnabled()){if(n.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),J=t.dragData.touchDragEles){t.redrawHint("drag",!0);for(var D=0;D<J.length;D++){var A=J[D]._private;A.grabbed=!1,A.rscratch.inDragLayer=!1}}var M=t.touchData.start,R=(E=n.touches[0].clientX-H,C=n.touches[0].clientY-K,T=n.touches[1].clientX-H,k=n.touches[1].clientY-K,ae(E,C,T,k)),I=R/j;if(Z){var L=(E-O+(T-V))/2,N=(C-F+(k-q))/2,z=o.zoom(),Y=z*I,G=o.pan(),U=W[0]*z+G.x,$=W[1]*z+G.y,Q={x:-Y/z*(U-G.x-L)+U,y:-Y/z*($-G.y-N)+$};if(M&&M.active()){var J=t.dragData.touchDragEles;m(J),t.redrawHint("drag",!0),t.redrawHint("eles",!0),M.unactivate().emit(f("freeon")),J.emit(f("free")),t.dragData.didDrag&&(M.emit(f("dragfreeon")),J.emit(f("dragfree")))}o.viewport({zoom:Y,pan:Q,cancelOnFailedZoom:!0}),o.emit(f("pinchzoom")),j=R,O=E,F=C,V=T,q=k,t.pinching=!0}if(n.touches[0]){d=t.projectIntoViewport(n.touches[0].clientX,n.touches[0].clientY);l[0]=d[0],l[1]=d[1]}if(n.touches[1]){d=t.projectIntoViewport(n.touches[1].clientX,n.touches[1].clientY);l[2]=d[0],l[3]=d[1]}if(n.touches[2]){d=t.projectIntoViewport(n.touches[2].clientX,n.touches[2].clientY);l[4]=d[0],l[5]=d[1]}}else if(n.touches[0]&&!t.touchData.didSelect){var ee=t.touchData.start,te=t.touchData.last;if(!t.hoverData.draggingEles&&!t.swipePanning&&(_=t.findNearestElement(l[0],l[1],!0,!0)),r&&null!=ee&&n.preventDefault(),r&&null!=ee&&t.nodeIsDraggable(ee))if(h){J=t.dragData.touchDragEles;var ne=!t.dragData.didDrag;ne&&v(J,{inDragLayer:!0}),t.dragData.didDrag=!0;var re={x:0,y:0};if(ie(g[0])&&ie(g[1])&&(re.x+=g[0],re.y+=g[1],ne))t.redrawHint("eles",!0),(se=t.touchData.dragDelta)&&ie(se[0])&&ie(se[1])&&(re.x+=se[0],re.y+=se[1]);t.hoverData.draggingEles=!0,J.silentShift(re).emit(f("position")).emit(f("drag")),t.redrawHint("drag",!0),t.touchData.startPosition[0]==u[0]&&t.touchData.startPosition[1]==u[1]&&t.redrawHint("eles",!0),t.redraw()}else{var se;0===(se=t.touchData.dragDelta=t.touchData.dragDelta||[]).length?(se.push(g[0]),se.push(g[1])):(se[0]+=g[0],se[1]+=g[1])}if(i(ee||_,["touchmove","tapdrag","vmousemove"],n,{x:l[0],y:l[1]}),(!ee||!ee.grabbed())&&_!=te&&(te&&te.emit(f("tapdragout")),_&&_.emit(f("tapdragover"))),t.touchData.last=_,r)for(D=0;D<l.length;D++)l[D]&&t.touchData.startPosition[D]&&h&&(t.touchData.singleTouchMoved=!0);if(r&&(null==ee||ee.pannable())&&o.panningEnabled()&&o.userPanningEnabled()){s(ee,t.touchData.starts)&&(n.preventDefault(),t.data.bgActivePosistion||(t.data.bgActivePosistion=Sn(t.touchData.startPosition)),t.swipePanning?(o.panBy({x:g[0]*c,y:g[1]*c}),o.emit(f("dragpan"))):h&&(t.swipePanning=!0,o.panBy({x:b*c,y:w*c}),o.emit(f("dragpan")),ee&&(ee.unactivate(),t.redrawHint("select",!0),t.touchData.start=null)));d=t.projectIntoViewport(n.touches[0].clientX,n.touches[0].clientY);l[0]=d[0],l[1]=d[1]}}for(y=0;y<l.length;y++)u[y]=l[y];r&&n.touches.length>0&&!t.hoverData.draggingEles&&!t.swipePanning&&null!=t.data.bgActivePosistion&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},"touchmoveHandler"),!1),t.registerBinding(n,"touchcancel",J=e(function(e){var n=t.touchData.start;t.touchData.capture=!1,n&&n.unactivate()},"touchcancelHandler")),t.registerBinding(n,"touchend",ee=e(function(n){var a=t.touchData.start;if(t.touchData.capture){0===n.touches.length&&(t.touchData.capture=!1),n.preventDefault();var o=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var s=t.cy,l=s.zoom(),u=t.touchData.now,c=t.touchData.earlier;if(n.touches[0]){var d=t.projectIntoViewport(n.touches[0].clientX,n.touches[0].clientY);u[0]=d[0],u[1]=d[1]}if(n.touches[1]){d=t.projectIntoViewport(n.touches[1].clientX,n.touches[1].clientY);u[2]=d[0],u[3]=d[1]}if(n.touches[2]){d=t.projectIntoViewport(n.touches[2].clientX,n.touches[2].clientY);u[4]=d[0],u[5]=d[1]}var h,f=e(function(e){return{originalEvent:n,type:e,position:{x:u[0],y:u[1]}}},"makeEvent");if(a&&a.unactivate(),t.touchData.cxt){if(h=f("cxttapend"),a?a.emit(h):s.emit(h),!t.touchData.cxtDragged){var p=f("cxttap");a?a.emit(p):s.emit(p)}return t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,void t.redraw()}if(!n.touches[2]&&s.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var g=s.collection(t.getAllInBox(o[0],o[1],o[2],o[3]));o[0]=void 0,o[1]=void 0,o[2]=void 0,o[3]=void 0,o[4]=0,t.redrawHint("select",!0),s.emit(f("boxend"));var v=e(function(e){return e.selectable()&&!e.selected()},"eleWouldBeSelected");g.emit(f("box")).stdFilter(v).select().emit(f("boxselect")),g.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(a?.unactivate(),n.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!n.touches[1]&&!n.touches[0]&&!n.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var y=t.dragData.touchDragEles;if(null!=a){var b=a._private.grabbed;m(y),t.redrawHint("drag",!0),t.redrawHint("eles",!0),b&&(a.emit(f("freeon")),y.emit(f("free")),t.dragData.didDrag&&(a.emit(f("dragfreeon")),y.emit(f("dragfree")))),i(a,["touchend","tapend","vmouseup","tapdragout"],n,{x:u[0],y:u[1]}),a.unactivate(),t.touchData.start=null}else{var x=t.findNearestElement(u[0],u[1],!0,!0);i(x,["touchend","tapend","vmouseup","tapdragout"],n,{x:u[0],y:u[1]})}var w=t.touchData.startPosition[0]-u[0],E=w*w,C=t.touchData.startPosition[1]-u[1],T=(E+C*C)*l*l;t.touchData.singleTouchMoved||(a||s.$(":selected").unselect(["tapunselect"]),i(a,["tap","vclick"],n,{x:u[0],y:u[1]}),te=!1,n.timeStamp-re<=s.multiClickDebounceTime()?(ne&&clearTimeout(ne),te=!0,re=null,i(a,["dbltap","vdblclick"],n,{x:u[0],y:u[1]})):(ne=setTimeout(function(){te||i(a,["onetap","voneclick"],n,{x:u[0],y:u[1]})},s.multiClickDebounceTime()),re=n.timeStamp)),null!=a&&!t.dragData.didDrag&&a._private.selectable&&T<t.touchTapThreshold2&&!t.pinching&&("single"===s.selectionType()?(s.$(r).unmerge(a).unselect(["tapunselect"]),a.select(["tapselect"])):a.selected()?a.unselect(["tapunselect"]):a.select(["tapselect"]),t.redrawHint("eles",!0)),t.touchData.singleTouchMoved=!0}for(var k=0;k<u.length;k++)c[k]=u[k];t.dragData.didDrag=!1,0===n.touches.length&&(t.touchData.dragDelta=[],t.touchData.startPosition=[null,null,null,null,null,null],t.touchData.startGPosition=null,t.touchData.didSelect=!1),n.touches.length<2&&(1===n.touches.length&&(t.touchData.startGPosition=[n.touches[0].clientX,n.touches[0].clientY]),t.pinching=!1,t.redrawHint("eles",!0),t.redraw())}},"touchendHandler"),!1),typeof TouchEvent>"u"){var se=[],le=e(function(e){return{clientX:e.clientX,clientY:e.clientY,force:1,identifier:e.pointerId,pageX:e.pageX,pageY:e.pageY,radiusX:e.width/2,radiusY:e.height/2,screenX:e.screenX,screenY:e.screenY,target:e.target}},"makeTouch"),ue=e(function(e){return{event:e,touch:le(e)}},"makePointer"),ce=e(function(e){se.push(ue(e))},"addPointer"),de=e(function(e){for(var t=0;t<se.length;t++){if(se[t].event.pointerId===e.pointerId)return void se.splice(t,1)}},"removePointer"),he=e(function(e){var t=se.filter(function(t){return t.event.pointerId===e.pointerId})[0];t.event=e,t.touch=le(e)},"updatePointer"),fe=e(function(e){e.touches=se.map(function(e){return e.touch})},"addTouchesToEvent"),pe=e(function(e){return"mouse"===e.pointerType||4===e.pointerType},"pointerIsMouse");t.registerBinding(t.container,"pointerdown",function(e){pe(e)||(e.preventDefault(),ce(e),fe(e),$(e))}),t.registerBinding(t.container,"pointerup",function(e){pe(e)||(de(e),fe(e),ee(e))}),t.registerBinding(t.container,"pointercancel",function(e){pe(e)||(de(e),fe(e),J(e))}),t.registerBinding(t.container,"pointermove",function(e){pe(e)||(e.preventDefault(),he(e),fe(e),Q(e))})}}},tf={generatePolygon:function(t,n){return this.nodeShapes[t]={renderer:this,name:t,points:n,draw:e(function(e,t,n,r,a,i){this.renderer.nodeShapeImpl("polygon",e,t,n,r,a,this.points)},"draw"),intersectLine:e(function(e,t,n,r,a,i,o,s){return wr(a,i,this.points,e,t,n/2,r/2,o)},"intersectLine"),checkPoint:e(function(e,t,n,r,a,i,o,s){return dr(e,t,this.points,i,o,r,a,[0,-1],n)},"checkPoint"),hasMiterBounds:"rectangle"!==t,miterBounds:e(function(e,t,n,r,a,i){return nr(this.points,e,t,n,r,a)},"miterBounds")}},generateEllipse:function(){return this.nodeShapes.ellipse={renderer:this,name:"ellipse",draw:e(function(e,t,n,r,a,i){this.renderer.nodeShapeImpl(this.name,e,t,n,r,a)},"draw"),intersectLine:e(function(e,t,n,r,a,i,o,s){return gr(a,i,e,t,n/2+o,r/2+o)},"intersectLine"),checkPoint:e(function(e,t,n,r,a,i,o,s){return vr(e,t,r,a,i,o,n)},"checkPoint")}},generateRoundPolygon:function(t,n){return this.nodeShapes[t]={renderer:this,name:t,points:n,getOrCreateCorners:e(function(e,t,r,a,i,o,s){if(void 0!==o[s]&&o[s+"-cx"]===e&&o[s+"-cy"]===t)return o[s];o[s]=new Array(n.length/2),o[s+"-cx"]=e,o[s+"-cy"]=t;var l=r/2,u=a/2;i="auto"===i?Br(r,a):i;for(var c=new Array(n.length/2),d=0;d<n.length/2;d++)c[d]={x:e+l*n[2*d],y:t+u*n[2*d+1]};var h,f,p,g,v=c.length;for(f=c[v-1],h=0;h<v;h++)p=c[h%v],g=c[(h+1)%v],o[s][h]=Nh(f,p,g,i),f=p,p=g;return o[s]},"getOrCreateCorners"),draw:e(function(e,t,n,r,a,i,o){this.renderer.nodeShapeImpl("round-polygon",e,t,n,r,a,this.points,this.getOrCreateCorners(t,n,r,a,i,o,"drawCorners"))},"draw"),intersectLine:e(function(e,t,n,r,a,i,o,s,l){return Er(a,i,this.points,e,t,n,r,o,this.getOrCreateCorners(e,t,n,r,s,l,"corners"))},"intersectLine"),checkPoint:e(function(e,t,n,r,a,i,o,s,l){return hr(e,t,this.points,i,o,r,a,this.getOrCreateCorners(i,o,r,a,s,l,"corners"))},"checkPoint")}},generateRoundRectangle:function(){return this.nodeShapes["round-rectangle"]=this.nodeShapes.roundrectangle={renderer:this,name:"round-rectangle",points:Tr(4,0),draw:e(function(e,t,n,r,a,i){this.renderer.nodeShapeImpl(this.name,e,t,n,r,a,this.points,i)},"draw"),intersectLine:e(function(e,t,n,r,a,i,o,s){return rr(a,i,e,t,n,r,o,s)},"intersectLine"),checkPoint:e(function(e,t,n,r,a,i,o,s){var l=r/2,u=a/2;s="auto"===s?Pr(r,a):s;var c=2*(s=Math.min(l,u,s));return!!(dr(e,t,this.points,i,o,r,a-c,[0,-1],n)||dr(e,t,this.points,i,o,r-c,a,[0,-1],n)||vr(e,t,c,c,i-l+s,o-u+s,n)||vr(e,t,c,c,i+l-s,o-u+s,n)||vr(e,t,c,c,i+l-s,o+u-s,n)||vr(e,t,c,c,i-l+s,o+u-s,n))},"checkPoint")}},generateCutRectangle:function(){return this.nodeShapes["cut-rectangle"]=this.nodeShapes.cutrectangle={renderer:this,name:"cut-rectangle",cornerLength:_r(),points:Tr(4,0),draw:e(function(e,t,n,r,a,i){this.renderer.nodeShapeImpl(this.name,e,t,n,r,a,null,i)},"draw"),generateCutTrianglePts:e(function(e,t,n,r,a){var i="auto"===a?this.cornerLength:a,o=t/2,s=e/2,l=n-s,u=n+s,c=r-o,d=r+o;return{topLeft:[l,c+i,l+i,c,l+i,c+i],topRight:[u-i,c,u,c+i,u-i,c+i],bottomRight:[u,d-i,u-i,d,u-i,d-i],bottomLeft:[l+i,d,l,d-i,l+i,d-i]}},"generateCutTrianglePts"),intersectLine:e(function(e,t,n,r,a,i,o,s){var l=this.generateCutTrianglePts(n+2*o,r+2*o,e,t,s),u=[].concat.apply([],[l.topLeft.splice(0,4),l.topRight.splice(0,4),l.bottomRight.splice(0,4),l.bottomLeft.splice(0,4)]);return wr(a,i,u,e,t)},"intersectLine"),checkPoint:e(function(e,t,n,r,a,i,o,s){var l="auto"===s?this.cornerLength:s;if(dr(e,t,this.points,i,o,r,a-2*l,[0,-1],n)||dr(e,t,this.points,i,o,r-2*l,a,[0,-1],n))return!0;var u=this.generateCutTrianglePts(r,a,i,o);return cr(e,t,u.topLeft)||cr(e,t,u.topRight)||cr(e,t,u.bottomRight)||cr(e,t,u.bottomLeft)},"checkPoint")}},generateBarrel:function(){return this.nodeShapes.barrel={renderer:this,name:"barrel",points:Tr(4,0),draw:e(function(e,t,n,r,a,i){this.renderer.nodeShapeImpl(this.name,e,t,n,r,a)},"draw"),intersectLine:e(function(t,n,r,a,i,o,s,l){var u=this.generateBarrelBezierPts(r+2*s,a+2*s,t,n),c=e(function(e){var t=Fn({x:e[0],y:e[1]},{x:e[2],y:e[3]},{x:e[4],y:e[5]},.15),n=Fn({x:e[0],y:e[1]},{x:e[2],y:e[3]},{x:e[4],y:e[5]},.5),r=Fn({x:e[0],y:e[1]},{x:e[2],y:e[3]},{x:e[4],y:e[5]},.85);return[e[0],e[1],t.x,t.y,n.x,n.y,r.x,r.y,e[4],e[5]]},"approximateBarrelCurvePts"),d=[].concat(c(u.topLeft),c(u.topRight),c(u.bottomRight),c(u.bottomLeft));return wr(i,o,d,t,n)},"intersectLine"),generateBarrelBezierPts:e(function(e,t,n,r){var a=t/2,i=e/2,o=n-i,s=n+i,l=r-a,u=r+a,c=Ar(e,t),d=c.heightOffset,h=c.widthOffset,f=c.ctrlPtOffsetPct*e,p={topLeft:[o,l+d,o+f,l,o+h,l],topRight:[s-h,l,s-f,l,s,l+d],bottomRight:[s,u-d,s-f,u,s-h,u],bottomLeft:[o+h,u,o+f,u,o,u-d]};return p.topLeft.isTop=!0,p.topRight.isTop=!0,p.bottomLeft.isBottom=!0,p.bottomRight.isBottom=!0,p},"generateBarrelBezierPts"),checkPoint:e(function(t,n,r,a,i,o,s,l){var u=Ar(a,i),c=u.heightOffset,d=u.widthOffset;if(dr(t,n,this.points,o,s,a,i-2*c,[0,-1],r)||dr(t,n,this.points,o,s,a-2*d,i,[0,-1],r))return!0;for(var h=this.generateBarrelBezierPts(a,i,o,s),f=e(function(e,t,n){var r=n[4],a=n[2],i=n[0],o=n[5],s=n[1],l=Math.min(r,i),u=Math.max(r,i),c=Math.min(o,s),d=Math.max(o,s);if(l<=e&&e<=u&&c<=t&&t<=d){var h=Dr(r,a,i),f=or(h[0],h[1],h[2],e).filter(function(e){return 0<=e&&e<=1});if(f.length>0)return f[0]}return null},"getCurveT"),p=Object.keys(h),g=0;g<p.length;g++){var v=h[p[g]],y=f(t,n,v);if(null!=y){var m=v[5],b=v[3],x=v[1],w=On(m,b,x,y);if(v.isTop&&w<=n||v.isBottom&&n<=w)return!0}}return!1},"checkPoint")}},generateBottomRoundrectangle:function(){return this.nodeShapes["bottom-round-rectangle"]=this.nodeShapes.bottomroundrectangle={renderer:this,name:"bottom-round-rectangle",points:Tr(4,0),draw:e(function(e,t,n,r,a,i){this.renderer.nodeShapeImpl(this.name,e,t,n,r,a,this.points,i)},"draw"),intersectLine:e(function(e,t,n,r,a,i,o,s){var l=t-(r/2+o),u=br(a,i,e,t,e-(n/2+o),l,e+(n/2+o),l,!1);return u.length>0?u:rr(a,i,e,t,n,r,o,s)},"intersectLine"),checkPoint:e(function(e,t,n,r,a,i,o,s){var l=2*(s="auto"===s?Pr(r,a):s);if(dr(e,t,this.points,i,o,r,a-l,[0,-1],n)||dr(e,t,this.points,i,o,r-l,a,[0,-1],n))return!0;var u=r/2+2*n,c=a/2+2*n;return!!(cr(e,t,[i-u,o-c,i-u,o,i+u,o,i+u,o-c])||vr(e,t,l,l,i+r/2-s,o+a/2-s,n)||vr(e,t,l,l,i-r/2+s,o+a/2-s,n))},"checkPoint")}},registerNodeShapes:function(){var e=this.nodeShapes={},t=this;this.generateEllipse(),this.generatePolygon("triangle",Tr(3,0)),this.generateRoundPolygon("round-triangle",Tr(3,0)),this.generatePolygon("rectangle",Tr(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",Tr(5,0)),this.generateRoundPolygon("round-pentagon",Tr(5,0)),this.generatePolygon("hexagon",Tr(6,0)),this.generateRoundPolygon("round-hexagon",Tr(6,0)),this.generatePolygon("heptagon",Tr(7,0)),this.generateRoundPolygon("round-heptagon",Tr(7,0)),this.generatePolygon("octagon",Tr(8,0)),this.generateRoundPolygon("round-octagon",Tr(8,0));var r=new Array(20),a=Sr(5,0),i=Sr(5,Math.PI/5),o=.5*(3-Math.sqrt(5));o*=1.57;for(var s=0;s<i.length/2;s++)i[2*s]*=o,i[2*s+1]*=o;for(s=0;s<5;s++)r[4*s]=a[2*s],r[4*s+1]=a[2*s+1],r[4*s+2]=i[2*s],r[4*s+3]=i[2*s+1];r=kr(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 l=[-1,-1,.25,-1,1,0,.25,1,-1,1];this.generatePolygon("tag",l),this.generateRoundPolygon("round-tag",l),e.makePolygon=function(e){var n,r="polygon-"+e.join("$");return(n=this[r])?n:t.generatePolygon(r,e)}}},nf={timeToRender:function(){return this.redrawTotalTime/this.redrawCount},redraw:function(e){e=e||Vt();var t=this;void 0===t.averageRedrawTime&&(t.averageRedrawTime=0),void 0===t.lastRedrawTime&&(t.lastRedrawTime=0),void 0===t.lastDrawTime&&(t.lastDrawTime=0),t.requestedFrame=!0,t.renderOptions=e},beforeRender:function(e,t){if(!this.destroyed){null==t&&Mt("Priority is not optional for beforeRender");var n=this.beforeRenderCallbacks;n.push({fn:e,priority:t}),n.sort(function(e,t){return t.priority-e.priority})}}},rf=e(function(e,t,n){for(var r=e.beforeRenderCallbacks,a=0;a<r.length;a++)r[a].fn(t,n)},"beforeRenderCallbacks");nf.startRenderLoop=function(){var t=this,n=t.cy;if(!t.renderLoopStarted){t.renderLoopStarted=!0;var r=e(function(e){if(!t.destroyed){if(!n.batching())if(t.requestedFrame&&!t.skipFrame){rf(t,!0,e);var a=lt();t.render(t.renderOptions);var i=t.lastDrawTime=lt();void 0===t.averageRedrawTime&&(t.averageRedrawTime=i-a),void 0===t.redrawCount&&(t.redrawCount=0),t.redrawCount++,void 0===t.redrawTotalTime&&(t.redrawTotalTime=0);var o=i-a;t.redrawTotalTime+=o,t.lastRedrawTime=o,t.averageRedrawTime=t.averageRedrawTime/2+o/2,t.requestedFrame=!1}else rf(t,!1,e);t.skipFrame=!1,st(r)}},"renderFn");st(r)}};var af=e(function(e){this.init(e)},"BaseRenderer"),of=af.prototype;of.clientFunctions=["redrawHint","render","renderTo","matchCanvasSize","nodeShapeImpl","arrowShapeImpl"],of.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",s="__________cytoscape_container",l=null!=a.getElementById(o);if(n.className.indexOf(s)<0&&(n.className=(n.className||"")+" "+s),!l){var u=a.createElement("style");u.id=o,u.textContent="."+s+" { position: relative; }",i.insertBefore(u,i.children[0])}"static"===r.getComputedStyle(n).getPropertyValue("position")&&It("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=ie(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()},of.notify=function(e,t){var n=this,r=n.cy;if(!this.destroyed){if("init"===e)return void n.load();if("destroy"===e)return void n.destroy();("add"===e||"remove"===e||"move"===e&&r.hasCompoundNodes()||"load"===e||"zorder"===e||"mount"===e)&&n.invalidateCachedZSortedEles(),"viewport"===e&&n.redrawHint("select",!0),"gc"===e&&n.redrawHint("gc",!0),("load"===e||"resize"===e||"mount"===e)&&(n.invalidateContainerClientCoordsCache(),n.matchCanvasSize(n.container)),n.redrawHint("eles",!0),n.redrawHint("drag",!0),this.startRenderLoop(),this.redraw()}},of.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.target;(r.off||r.removeEventListener).apply(r,n.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{}},of.isHeadless=function(){return!1},[ch,Qh,Jh,ef,tf,nf].forEach(function(e){Me(of,e)});var sf=1e3/60,lf={setupDequeueing:e(function(t){return e(function(){var n=this,r=this.renderer;if(!n.dequeueingSetup){n.dequeueingSetup=!0;var a=rt(function(){r.redrawHint("eles",!0),r.redrawHint("drag",!0),r.redraw()},t.deqRedrawThreshold),i=e(function(e,i){var o=lt(),s=r.averageRedrawTime,l=r.lastRedrawTime,u=[],c=r.cy.extent(),d=r.getPixelRatio();for(e||r.flushRenderedStyleQueue();;){var h=lt(),f=h-o,p=h-i;if(l<sf){var g=sf-(e?s:0);if(p>=t.deqFastCost*g)break}else if(e){if(f>=t.deqCost*l||f>=t.deqAvgCost*s)break}else if(p>=t.deqNoDrawCost*sf)break;var v=t.deq(n,d,c);if(!(v.length>0))break;for(var y=0;y<v.length;y++)u.push(v[y])}u.length>0&&(t.onDeqd(n,u),!e&&t.shouldRedraw(n,u,d,c)&&a())},"dequeue"),o=t.priority||At;r.beforeRender(i,o(n))}},"setupDequeueingImpl")},"setupDequeueing")},uf=function(){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_t;a(this,t),this.idsByKey=new Gt,this.keyForId=new Gt,this.cachesByLvl=new Gt,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=n}return e(t,"ElementTextureCacheLookup"),o(t,[{key:"getIdsFor",value:e(function(e){null==e&&Mt("Can not get id list for null key");var t=this.idsByKey,n=this.idsByKey.get(e);return n||(n=new Zt,t.set(e,n)),n},"getIdsFor")},{key:"addIdForKey",value:e(function(e,t){null!=e&&this.getIdsFor(e).add(t)},"addIdForKey")},{key:"deleteIdForKey",value:e(function(e,t){null!=e&&this.getIdsFor(e).delete(t)},"deleteIdForKey")},{key:"getNumberOfIdsForKey",value:e(function(e){return null==e?0:this.getIdsFor(e).size},"getNumberOfIdsForKey")},{key:"updateKeyMappingFor",value:e(function(e){var t=e.id(),n=this.keyForId.get(t),r=this.getKey(e);this.deleteIdForKey(n,t),this.addIdForKey(r,t),this.keyForId.set(t,r)},"updateKeyMappingFor")},{key:"deleteKeyMappingFor",value:e(function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteIdForKey(n,t),this.keyForId.delete(t)},"deleteKeyMappingFor")},{key:"keyHasChangedFor",value:e(function(e){var t=e.id();return this.keyForId.get(t)!==this.getKey(e)},"keyHasChangedFor")},{key:"isInvalid",value:e(function(e){return this.keyHasChangedFor(e)||this.doesEleInvalidateKey(e)},"isInvalid")},{key:"getCachesAt",value:e(function(e){var t=this.cachesByLvl,n=this.lvls,r=t.get(e);return r||(r=new Gt,t.set(e,r),n.push(e)),r},"getCachesAt")},{key:"getCache",value:e(function(e,t){return this.getCachesAt(t).get(e)},"getCache")},{key:"get",value:e(function(e,t){var n=this.getKey(e),r=this.getCache(n,t);return null!=r&&this.updateKeyMappingFor(e),r},"get")},{key:"getForCachedKey",value:e(function(e,t){var n=this.keyForId.get(e.id());return this.getCache(n,t)},"getForCachedKey")},{key:"hasCache",value:e(function(e,t){return this.getCachesAt(t).has(e)},"hasCache")},{key:"has",value:e(function(e,t){var n=this.getKey(e);return this.hasCache(n,t)},"has")},{key:"setCache",value:e(function(e,t,n){n.key=e,this.getCachesAt(t).set(e,n)},"setCache")},{key:"set",value:e(function(e,t,n){var r=this.getKey(e);this.setCache(r,t,n),this.updateKeyMappingFor(e)},"set")},{key:"deleteCache",value:e(function(e,t){this.getCachesAt(t).delete(e)},"deleteCache")},{key:"delete",value:e(function(e,t){var n=this.getKey(e);this.deleteCache(n,t)},"_delete")},{key:"invalidateKey",value:e(function(e){var t=this;this.lvls.forEach(function(n){return t.deleteCache(e,n)})},"invalidateKey")},{key:"invalidate",value:e(function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteKeyMappingFor(e);var r=this.doesEleInvalidateKey(e);return r&&this.invalidateKey(n),r||0===this.getNumberOfIdsForKey(n)},"invalidate")}])}(),cf={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},df=qt({getKey:null,doesEleInvalidateKey:_t,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:Bt,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),hf=e(function(e,t){var n=this;n.renderer=e,n.onDequeues=[];var r=df(t);Me(n,r),n.lookup=new uf(r.getKey,r.doesEleInvalidateKey),n.setupDequeueing()},"ElementTextureCache"),ff=hf.prototype;ff.reasons=cf,ff.getTextureQueue=function(e){var t=this;return t.eleImgCaches=t.eleImgCaches||{},t.eleImgCaches[e]=t.eleImgCaches[e]||[]},ff.getRetiredTextureQueue=function(e){var t=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return t[e]=t[e]||[]},ff.getElementQueue=function(){return this.eleCacheQueue=this.eleCacheQueue||new un(function(e,t){return t.reqs-e.reqs})},ff.getElementKeyToQueue=function(){return this.eleKeyToCacheQueue=this.eleKeyToCacheQueue||{}},ff.getElement=function(t,n,r,a,i){var o=this,s=this.renderer,l=s.cy.zoom(),u=this.lookup;if(!n||0===n.w||0===n.h||isNaN(n.w)||isNaN(n.h)||!t.visible()||t.removed()||!o.allowEdgeTxrCaching&&t.isEdge()||!o.allowParentTxrCaching&&t.isParent())return null;if(null==a&&(a=Math.ceil(Rn(l*r))),a<-4)a=-4;else if(l>=7.99||a>3)return null;var c=Math.pow(2,a),d=n.h*c,h=n.w*c,f=s.eleTextBiggerThanMin(t,c);if(!this.isVisible(t,f))return null;var p,g=u.get(t,a);if(g&&g.invalidated&&(g.invalidated=!1,g.texture.invalidatedWidth-=g.width),g)return g;if(p=d<=25?25:d<=50?50:50*Math.ceil(d/50),d>1024||h>1024)return null;var v=o.getTextureQueue(p),y=v[v.length-2],m=e(function(){return o.recycleTexture(p,h)||o.addTexture(p,h)},"addNewTxr");y||(y=v[v.length-1]),y||(y=m()),y.width-y.usedWidth<h&&(y=m());for(var b,x=e(function(e){return e&&e.scaledLabelShown===f},"scalableFrom"),w=i&&i===cf.dequeue,E=i&&i===cf.highQuality,C=i&&i===cf.downscale,T=a+1;T<=3;T++){var k=u.get(t,T);if(k){b=k;break}}var S=b&&b.level===a+1?b:null,P=e(function(){y.context.drawImage(S.texture.canvas,S.x,0,S.width,S.height,y.usedWidth,0,h,d)},"downscale");if(y.context.setTransform(1,0,0,1,0,0),y.context.clearRect(y.usedWidth,0,h,p),x(S))P();else if(x(b)){if(!E)return o.queueElement(t,b.level-1),b;for(var B=b.level;B>a;B--)S=o.getElement(t,n,r,B,cf.downscale);P()}else{var _;if(!w&&!E&&!C)for(var D=a-1;D>=-4;D--){var A=u.get(t,D);if(A){_=A;break}}if(x(_))return o.queueElement(t,a),_;y.context.translate(y.usedWidth,0),y.context.scale(c,c),this.drawElement(y.context,t,n,f,!1),y.context.scale(1/c,1/c),y.context.translate(-y.usedWidth,0)}return g={x:y.usedWidth,texture:y,level:a,scale:c,width:h,height:d,scaledLabelShown:f},y.usedWidth+=Math.ceil(h+8),y.eleCaches.push(g),u.set(t,a,g),o.checkTextureFullness(y),g},ff.invalidateElements=function(e){for(var t=0;t<e.length;t++)this.invalidateElement(e[t])},ff.invalidateElement=function(e){var t=this,n=t.lookup,r=[];if(n.isInvalid(e)){for(var a=-4;a<=3;a++){var i=n.getForCachedKey(e,a);i&&r.push(i)}if(n.invalidate(e))for(var o=0;o<r.length;o++){var s=r[o],l=s.texture;l.invalidatedWidth+=s.width,s.invalidated=!0,t.checkTextureUtility(l)}t.removeFromQueue(e)}},ff.checkTextureUtility=function(e){e.invalidatedWidth>=.2*e.width&&this.retireTexture(e)},ff.checkTextureFullness=function(e){var t=this.getTextureQueue(e.height);e.usedWidth/e.width>.8&&e.fullnessChecks>=10?jt(t,e):e.fullnessChecks++},ff.retireTexture=function(e){var t=e.height,n=this.getTextureQueue(t),r=this.lookup;jt(n,e),e.retired=!0;for(var a=e.eleCaches,i=0;i<a.length;i++){var o=a[i];r.deleteCache(o.key,o.level)}Xt(a),this.getRetiredTextureQueue(t).push(e)},ff.addTexture=function(e,t){var n={};return this.getTextureQueue(e).push(n),n.eleCaches=[],n.height=e,n.width=Math.max(1024,t),n.usedWidth=0,n.invalidatedWidth=0,n.fullnessChecks=0,n.canvas=this.renderer.makeOffscreenCanvas(n.width,n.height),n.context=n.canvas.getContext("2d"),n},ff.recycleTexture=function(e,t){for(var n=this.getTextureQueue(e),r=this.getRetiredTextureQueue(e),a=0;a<r.length;a++){var i=r[a];if(i.width>=t)return i.retired=!1,i.usedWidth=0,i.invalidatedWidth=0,i.fullnessChecks=0,Xt(i.eleCaches),i.context.setTransform(1,0,0,1,0,0),i.context.clearRect(0,0,i.width,i.height),jt(r,i),n.push(i),i}},ff.queueElement=function(e,t){var n=this.getElementQueue(),r=this.getElementKeyToQueue(),a=this.getKey(e),i=r[a];if(i)i.level=Math.max(i.level,t),i.eles.merge(e),i.reqs++,n.updateItem(i);else{var o={eles:e.spawn().merge(e),level:t,reqs:1,key:a};n.push(o),r[a]=o}},ff.dequeue=function(e){for(var t=this,n=t.getElementQueue(),r=t.getElementKeyToQueue(),a=[],i=t.lookup,o=0;o<1&&n.size()>0;o++){var s=n.pop(),l=s.key,u=s.eles[0],c=i.hasCache(u,s.level);if(r[l]=null,!c){a.push(s);var d=t.getBoundingBox(u);t.getElement(u,d,e,s.level,cf.dequeue)}}return a},ff.removeFromQueue=function(e){var t=this.getElementQueue(),n=this.getElementKeyToQueue(),r=this.getKey(e),a=n[r];null!=a&&(1===a.eles.length?(a.reqs=Pt,t.updateItem(a),t.pop(),n[r]=null):a.eles.unmerge(e))},ff.onDequeue=function(e){this.onDequeues.push(e)},ff.offDequeue=function(e){jt(this.onDequeues,e)},ff.setupDequeueing=lf.setupDequeueing({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:e(function(e,t,n){return e.dequeue(t,n)},"deq"),onDeqd:e(function(e,t){for(var n=0;n<e.onDequeues.length;n++){(0,e.onDequeues[n])(t)}},"onDeqd"),shouldRedraw:e(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 s=i[o].boundingBox();if(Zn(s,r))return!0}return!1},"shouldRedraw"),priority:e(function(e){return e.renderer.beforeRenderPriorities.eleTxrDeq},"priority")});var pf=e(function(t){var n=this,r=n.renderer=t,a=r.cy;n.layersByLevel={},n.firstGet=!0,n.lastInvalidationTime=lt()-500,n.skipping=!1,n.eleTxrDeqs=a.collection(),n.scheduleElementRefinement=rt(function(){n.refineElementTextures(n.eleTxrDeqs),n.eleTxrDeqs.unmerge(n.eleTxrDeqs)},50),r.beforeRender(function(e,t){t-n.lastInvalidationTime<=250?n.skipping=!0:n.skipping=!1},r.beforeRenderPriorities.lyrTxrSkip);var i=e(function(e,t){return t.reqs-e.reqs},"qSort");n.layersQueue=new un(i),n.setupDequeueing()},"LayeredTextureCache"),gf=pf.prototype,vf=0,yf=Math.pow(2,53)-1;gf.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:vf=++vf%yf,bb:e,level:t,width:r,height:a,canvas:i,context:i.getContext("2d"),eles:[],elesQueue:[],reqs:0},s=o.context,l=-o.bb.x1,u=-o.bb.y1;return s.scale(n,n),s.translate(l,u),o},gf.getLayers=function(t,n,r){var a=this,i=a.renderer.cy.zoom(),o=a.firstGet;if(a.firstGet=!1,null==r)if((r=Math.ceil(Rn(i*n)))<-4)r=-4;else if(i>=3.99||r>2)return null;a.validateLayersElesOrdering(r,t);var s,l,u=a.layersByLevel,c=Math.pow(2,r),d=u[r]=u[r]||[],h=a.levelIsComplete(r,t),f=e(function(){var n=e(function(e){if(a.validateLayersElesOrdering(e,t),a.levelIsComplete(e,t))return l=u[e],!0},"canUseAsTmpLvl"),i=e(function(e){if(!l)for(var t=r+e;-4<=t&&t<=2&&!n(t);t+=e);},"checkLvls");i(1),i(-1);for(var o=d.length-1;o>=0;o--){var s=d[o];s.invalid&&jt(d,s)}},"checkTempLevels");if(h)return d;f();var p=e(function(){if(!s){s=jn();for(var e=0;e<t.length;e++)Wn(s,t[e].boundingBox())}return s},"getBb"),g=e(function(e){var t=(e=e||{}).after;p();var n=Math.ceil(s.w*c),i=Math.ceil(s.h*c);if(n>32767||i>32767)return null;if(n*i>16e6)return null;var o=a.makeLayer(s,r);if(null!=t){var l=d.indexOf(t)+1;d.splice(l,0,o)}else(void 0===e.insert||e.insert)&&d.unshift(o);return o},"makeLayer");if(a.skipping&&!o)return null;for(var v=null,y=t.length/1,m=!o,b=0;b<t.length;b++){var x=t[b],w=x._private.rscratch,E=w.imgLayerCaches=w.imgLayerCaches||{},C=E[r];if(C)v=C;else{if((!v||v.eles.length>=y||!Jn(v.bb,x.boundingBox()))&&!(v=g({insert:!0,after:v})))return null;l||m?a.queueLayer(v,x):a.drawEleInLayer(v,x,r,n),v.eles.push(x),E[r]=v}}return l||(m?null:d)},gf.getEleLevelForLayerLevel=function(e,t){return e},gf.drawEleInLayer=function(e,t,n,r){var a=this.renderer,i=e.context,o=t.boundingBox();0===o.w||0===o.h||!t.visible()||(n=this.getEleLevelForLayerLevel(n,r),a.setImgSmoothing(i,!1),a.drawCachedElement(i,t,null,null,n,true),a.setImgSmoothing(i,!0))},gf.levelIsComplete=function(e,t){var n=this.layersByLevel[e];if(!n||0===n.length)return!1;for(var r=0,a=0;a<n.length;a++){var i=n[a];if(i.reqs>0||i.invalid)return!1;r+=i.eles.length}return r===t.length},gf.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);else{var s=i;for(o=0;o<a.eles.length;o++)if(a.eles[o]!==t[s+o]){this.invalidateLayer(a);break}}}},gf.updateElementsInLayers=function(e,t){for(var n=ue(e[0]),r=0;r<e.length;r++)for(var a=n?null:e[r],i=n?e[r]:e[r].ele,o=i._private.rscratch,s=o.imgLayerCaches=o.imgLayerCaches||{},l=-4;l<=2;l++){var u=s[l];u&&(a&&this.getEleLevelForLayerLevel(u.level)!==a.level||t(u,i,a))}},gf.haveLayers=function(){for(var e=!1,t=-4;t<=2;t++){var n=this.layersByLevel[t];if(n&&n.length>0){e=!0;break}}return e},gf.invalidateElements=function(t){var n=this;0!==t.length&&(n.lastInvalidationTime=lt(),0!==t.length&&n.haveLayers()&&n.updateElementsInLayers(t,e(function(e,t,r){n.invalidateLayer(e)},"invalAssocLayers")))},gf.invalidateLayer=function(e){if(this.lastInvalidationTime=lt(),!e.invalid){var t=e.level,n=e.eles,r=this.layersByLevel[t];jt(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)}}},gf.refineElementTextures=function(t){var n=this;n.updateElementsInLayers(t,e(function(e,t,r){var a=e.replacement;if(a||((a=e.replacement=n.makeLayer(e.bb,e.level)).replaces=e,a.eles=e.eles),!a.reqs)for(var i=0;i<a.eles.length;i++)n.queueLayer(a,a.eles[i])},"refineEachEle"))},gf.enqueueElementRefinement=function(e){this.eleTxrDeqs.merge(e),this.scheduleElementRefinement()},gf.queueLayer=function(e,t){var n=this.layersQueue,r=e.elesQueue,a=r.hasId=r.hasId||{};if(!e.replacement){if(t){if(a[t.id()])return;r.push(t),a[t.id()]=!0}e.reqs?(e.reqs++,n.updateItem(e)):(e.reqs=1,n.push(e))}},gf.dequeue=function(e){for(var t=this,n=t.layersQueue,r=[],a=0;a<1&&0!==n.size();){var i=n.peek();if(i.replacement)n.pop();else if(i.replaces&&i!==i.replaces.replacement)n.pop();else if(i.invalid)n.pop();else{var o=i.elesQueue.shift();o&&(t.drawEleInLayer(i,o,i.level,e),a++),0===r.length&&r.push(!0),0===i.elesQueue.length&&(n.pop(),i.reqs=0,i.replaces&&t.applyLayerReplacement(i),t.requestRedraw())}}return r},gf.applyLayerReplacement=function(e){var t=this.layersByLevel[e.level],n=e.replaces,r=t.indexOf(n);if(!(r<0||n.invalid)){t[r]=e;for(var a=0;a<e.eles.length;a++){var i=e.eles[a]._private,o=i.imgLayerCaches=i.imgLayerCaches||{};o&&(o[e.level]=e)}this.requestRedraw()}},gf.requestRedraw=rt(function(){var e=this.renderer;e.redrawHint("eles",!0),e.redrawHint("drag",!0),e.redraw()},100),gf.setupDequeueing=lf.setupDequeueing({deqRedrawThreshold:50,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:e(function(e,t){return e.dequeue(t)},"deq"),onDeqd:At,shouldRedraw:Bt,priority:e(function(e){return e.renderer.beforeRenderPriorities.lyrTxrDeq},"priority")});var mf,bf={};function xf(e,t){for(var n=0;n<t.length;n++){var r=t[n];e.lineTo(r.x,r.y)}}function wf(e,t,n){for(var r,a=0;a<t.length;a++){var i=t[a];0===a&&(r=i),e.lineTo(i.x,i.y)}e.quadraticCurveTo(n.x,n.y,r.x,r.y)}function Ef(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,s=n[0];e.moveTo(s.x,s.y);for(a=1;a<o.length;a++){i=o[a];e.lineTo(i.x,i.y)}e.closePath&&e.closePath()}function Cf(e,t,n,r,a){e.beginPath&&e.beginPath(),e.arc(n,r,a,0,2*Math.PI,!1);var i=t,o=i[0];e.moveTo(o.x,o.y);for(var s=0;s<i.length;s++){var l=i[s];e.lineTo(l.x,l.y)}e.closePath&&e.closePath()}function Tf(e,t,n,r){e.arc(t,n,r,0,2*Math.PI,!1)}e(xf,"polygon"),e(wf,"triangleBackcurve"),e(Ef,"triangleTee"),e(Cf,"circleTriangle"),e(Tf,"circle$1"),bf.arrowShapeImpl=function(e){return(mf||(mf={polygon:xf,"triangle-backcurve":wf,"triangle-tee":Ef,"circle-triangle":Cf,"triangle-cross":Ef,circle:Tf}))[e]};var kf={drawElement:function(e,t,n,r,a,i){t.isNode()?this.drawNode(e,t,n,r,a,i):this.drawEdge(e,t,n,r,a,i)},drawElementOverlay:function(e,t){t.isNode()?this.drawNodeOverlay(e,t):this.drawEdgeOverlay(e,t)},drawElementUnderlay:function(e,t){t.isNode()?this.drawNodeUnderlay(e,t):this.drawEdgeUnderlay(e,t)},drawCachedElementPortion:function(e,t,n,r,a,i,o,s){var l=this,u=n.getBoundingBox(t);if(0!==u.w&&0!==u.h){var c=n.getElement(t,u,r,a,i);if(null!=c){var d=s(l,t);if(0===d)return;var h,f,p,g,v,y,m=o(l,t),b=u.x1,x=u.y1,w=u.w,E=u.h;if(0!==m){var C=n.getRotationPoint(t);p=C.x,g=C.y,e.translate(p,g),e.rotate(m),(v=l.getImgSmoothing(e))||l.setImgSmoothing(e,!0);var T=n.getRotationOffset(t);h=T.x,f=T.y}else h=b,f=x;1!==d&&(y=e.globalAlpha,e.globalAlpha=y*d),e.drawImage(c.texture.canvas,c.x,0,c.width,c.height,h,f,w,E),1!==d&&(e.globalAlpha=y),0!==m&&(e.rotate(-m),e.translate(-p,-g),v||l.setImgSmoothing(e,!1))}else n.drawElement(e,t)}}},Sf=e(function(){return 0},"getZeroRotation"),Pf=e(function(e,t){return e.getTextAngle(t,null)},"getLabelRotation"),Bf=e(function(e,t){return e.getTextAngle(t,"source")},"getSourceLabelRotation"),_f=e(function(e,t){return e.getTextAngle(t,"target")},"getTargetLabelRotation"),Df=e(function(e,t){return t.effectiveOpacity()},"getOpacity"),Af=e(function(e,t){return t.pstyle("text-opacity").pfValue*t.effectiveOpacity()},"getTextOpacity");kf.drawCachedElement=function(e,t,n,r,a,i){var o=this,s=o.data,l=s.eleTxrCache,u=s.lblTxrCache,c=s.slbTxrCache,d=s.tlbTxrCache,h=t.boundingBox(),f=!0===i?l.reasons.highQuality:null;if(0!==h.w&&0!==h.h&&t.visible()&&(!r||Zn(h,r))){var p=t.isEdge(),g=t.element()._private.rscratch.badLine;o.drawElementUnderlay(e,t),o.drawCachedElementPortion(e,t,l,n,a,f,Sf,Df),(!p||!g)&&o.drawCachedElementPortion(e,t,u,n,a,f,Pf,Af),p&&!g&&(o.drawCachedElementPortion(e,t,c,n,a,f,Bf,Af),o.drawCachedElementPortion(e,t,d,n,a,f,_f,Af)),o.drawElementOverlay(e,t)}},kf.drawElements=function(e,t){for(var n=0;n<t.length;n++){var r=t[n];this.drawElement(e,r)}},kf.drawCachedElements=function(e,t,n,r){for(var a=0;a<t.length;a++){var i=t[a];this.drawCachedElement(e,i,n,r)}},kf.drawCachedNodes=function(e,t,n,r){for(var a=0;a<t.length;a++){var i=t[a];i.isNode()&&this.drawCachedElement(e,i,n,r)}},kf.drawLayeredElements=function(e,t,n,r){var a=this.data.lyrTxrCache.getLayers(t,n);if(a)for(var i=0;i<a.length;i++){var o=a[i],s=o.bb;0===s.w||0===s.h||e.drawImage(o.canvas,s.x1,s.y1,s.w,s.h)}else this.drawCachedElements(e,t,n,r)};var Mf={drawEdge:function(t,n,r){var a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],s=this,l=n._private.rscratch;if((!o||n.visible())&&!l.badLine&&null!=l.allpts&&!isNaN(l.allpts[0])){var u;r&&(u=r,t.translate(-u.x1,-u.y1));var c=o?n.pstyle("opacity").value:1,d=o?n.pstyle("line-opacity").value:1,h=n.pstyle("curve-style").value,f=n.pstyle("line-style").value,p=n.pstyle("width").pfValue,g=n.pstyle("line-cap").value,v=n.pstyle("line-outline-width").value,y=n.pstyle("line-outline-color").value,m=c*d,b=c*d,x=e(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:m;"straight-triangle"===h?(s.eleStrokeStyle(t,n,e),s.drawEdgeTrianglePath(n,t,l.allpts)):(t.lineWidth=p,t.lineCap=g,s.eleStrokeStyle(t,n,e),s.drawEdgePath(n,t,l.allpts,f),t.lineCap="butt")},"drawLine"),w=e(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:m;t.lineWidth=p+v,t.lineCap=g,v>0?(s.colorStrokeStyle(t,y[0],y[1],y[2],e),"straight-triangle"===h?s.drawEdgeTrianglePath(n,t,l.allpts):(s.drawEdgePath(n,t,l.allpts,f),t.lineCap="butt")):t.lineCap="butt"},"drawLineOutline"),E=e(function(){i&&s.drawEdgeOverlay(t,n)},"drawOverlay"),C=e(function(){i&&s.drawEdgeUnderlay(t,n)},"drawUnderlay"),T=e(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:b;s.drawArrowheads(t,n,e)},"drawArrows"),k=e(function(){s.drawElementText(t,n,null,a)},"drawText");if(t.lineJoin="round","yes"===n.pstyle("ghost").value){var S=n.pstyle("ghost-offset-x").pfValue,P=n.pstyle("ghost-offset-y").pfValue,B=n.pstyle("ghost-opacity").value,_=m*B;t.translate(S,P),x(_),T(_),t.translate(-S,-P)}else w();C(),x(),T(),E(),k(),r&&t.translate(u.x1,u.y1)}}},Rf=e(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(0!==r){var a=this,i=a.usePaths(),o=n._private.rscratch,s=2*n.pstyle("".concat(e,"-padding")).pfValue,l=n.pstyle("".concat(e,"-color")).value;t.lineWidth=s,"self"!==o.edgeType||i?t.lineCap="round":t.lineCap="butt",a.colorStrokeStyle(t,l[0],l[1],l[2],r),a.drawEdgePath(n,t,o.allpts,"solid")}}}},"drawEdgeOverlayUnderlay");Mf.drawEdgeOverlay=Rf("overlay"),Mf.drawEdgeUnderlay=Rf("underlay"),Mf.drawEdgePath=function(e,t,n,r){var a,i=e._private.rscratch,o=t,l=!1,u=this.usePaths(),c=e.pstyle("line-dash-pattern").pfValue,d=e.pstyle("line-dash-offset").pfValue;if(u){var h=n.join("$");i.pathCacheKey&&i.pathCacheKey===h?(a=t=i.pathCache,l=!0):(a=t=new Path2D,i.pathCacheKey=h,i.pathCache=a)}if(o.setLineDash)switch(r){case"dotted":o.setLineDash([1,1]);break;case"dashed":o.setLineDash(c),o.lineDashOffset=d;break;case"solid":o.setLineDash([])}if(!l&&!i.badLine)switch(t.beginPath&&t.beginPath(),t.moveTo(n[0],n[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var f=2;f+3<n.length;f+=4)t.quadraticCurveTo(n[f],n[f+1],n[f+2],n[f+3]);break;case"straight":case"haystack":for(var p=2;p+1<n.length;p+=2)t.lineTo(n[p],n[p+1]);break;case"segments":if(i.isRound){var g,v=s(i.roundCorners);try{for(v.s();!(g=v.n()).done;){Lh(t,g.value)}}catch(e){v.e(e)}finally{v.f()}t.lineTo(n[n.length-2],n[n.length-1])}else for(var y=2;y+1<n.length;y+=2)t.lineTo(n[y],n[y+1])}t=o,u?t.stroke(a):t.stroke(),t.setLineDash&&t.setLineDash([])},Mf.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]),s=[i[1]/o,-i[0]/o],l=[s[0]*r/2,s[1]*r/2];t.beginPath(),t.moveTo(n[a]-l[0],n[a+1]-l[1]),t.lineTo(n[a]+l[0],n[a+1]+l[1]),t.lineTo(n[a+2],n[a+3]),t.closePath(),t.fill()}},Mf.drawArrowheads=function(e,t,n){var r=t._private.rscratch,a="haystack"===r.edgeType;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)},Mf.drawArrowhead=function(e,t,n,r,a,i,o){if(!(isNaN(r)||null==r||isNaN(a)||null==a||isNaN(i)||null==i)){var s=this,l=t.pstyle(n+"-arrow-shape").value;if("none"!==l){var u="hollow"===t.pstyle(n+"-arrow-fill").value?"both":"filled",c=t.pstyle(n+"-arrow-fill").value,d=t.pstyle("width").pfValue,h=t.pstyle(n+"-arrow-width"),f="match-line"===h.value?d:h.pfValue;"%"===h.units&&(f*=d);var p=t.pstyle("opacity").value;void 0===o&&(o=p);var g=e.globalCompositeOperation;(1!==o||"hollow"===c)&&(e.globalCompositeOperation="destination-out",s.colorFillStyle(e,255,255,255,1),s.colorStrokeStyle(e,255,255,255,1),s.drawArrowShape(t,e,u,d,l,f,r,a,i),e.globalCompositeOperation=g);var v=t.pstyle(n+"-arrow-color").value;s.colorFillStyle(e,v[0],v[1],v[2],o),s.colorStrokeStyle(e,v[0],v[1],v[2],o),s.drawArrowShape(t,e,c,d,l,f,r,a,i)}}},Mf.drawArrowShape=function(e,t,n,r,a,i,o,s,l){var u,c=this,d=this.usePaths()&&"triangle-cross"!==a,h=!1,f=t,p={x:o,y:s},g=e.pstyle("arrow-scale").value,v=this.getArrowWidth(r,g),y=c.arrowShapes[a];if(d){var m=c.arrowPathCache=c.arrowPathCache||[],b=mt(a),x=m[b];null!=x?(u=t=x,h=!0):(u=t=new Path2D,m[b]=u)}h||(t.beginPath&&t.beginPath(),d?y.draw(t,1,0,{x:0,y:0},1):y.draw(t,v,l,p,r),t.closePath&&t.closePath()),t=f,d&&(t.translate(o,s),t.rotate(l),t.scale(v,v)),("filled"===n||"both"===n)&&(d?t.fill(u):t.fill()),("hollow"===n||"both"===n)&&(t.lineWidth=i/(d?v:1),t.lineJoin="miter",d?t.stroke(u):t.stroke()),d&&(t.scale(1/v,1/v),t.rotate(-l),t.translate(-o,-s))};var If={safeDrawImage:function(e,t,n,r,a,i,o,s,l,u){if(!(a<=0||i<=0||l<=0||u<=0))try{e.drawImage(t,n,r,a,i,o,s,l,u)}catch(e){It(e)}},drawInscribedImage:function(e,t,n,r,a){var i=this,o=n.position(),s=o.x,l=o.y,u=n.cy().style(),c=u.getIndexedStyle.bind(u),d=c(n,"background-fit","value",r),h=c(n,"background-repeat","value",r),f=n.width(),p=n.height(),g=2*n.padding(),v=f+("inner"===c(n,"background-width-relative-to","value",r)?0:g),y=p+("inner"===c(n,"background-height-relative-to","value",r)?0:g),m=n._private.rscratch,b="node"===c(n,"background-clip","value",r),x=c(n,"background-image-opacity","value",r)*a,w=c(n,"background-image-smoothing","value",r),E=n.pstyle("corner-radius").value;"auto"!==E&&(E=n.pstyle("corner-radius").pfValue);var C=t.width||t.cachedW,T=t.height||t.cachedH;(null==C||null==T)&&(document.body.appendChild(t),C=t.cachedW=t.width||t.offsetWidth,T=t.cachedH=t.height||t.offsetHeight,document.body.removeChild(t));var k=C,S=T;if("auto"!==c(n,"background-width","value",r)&&(k="%"===c(n,"background-width","units",r)?c(n,"background-width","pfValue",r)*v:c(n,"background-width","pfValue",r)),"auto"!==c(n,"background-height","value",r)&&(S="%"===c(n,"background-height","units",r)?c(n,"background-height","pfValue",r)*y:c(n,"background-height","pfValue",r)),0!==k&&0!==S){if("contain"===d)k*=P=Math.min(v/k,y/S),S*=P;else if("cover"===d){var P;k*=P=Math.max(v/k,y/S),S*=P}var B=s-v/2,_=c(n,"background-position-x","units",r),D=c(n,"background-position-x","pfValue",r);B+="%"===_?(v-k)*D:D;var A=c(n,"background-offset-x","units",r),M=c(n,"background-offset-x","pfValue",r);B+="%"===A?(v-k)*M:M;var R=l-y/2,I=c(n,"background-position-y","units",r),L=c(n,"background-position-y","pfValue",r);R+="%"===I?(y-S)*L:L;var N=c(n,"background-offset-y","units",r),z=c(n,"background-offset-y","pfValue",r);R+="%"===N?(y-S)*z:z,m.pathCache&&(B-=s,R-=l,s=0,l=0);var O=e.globalAlpha;e.globalAlpha=x;var F=i.getImgSmoothing(e),V=!1;if("no"===w&&F?(i.setImgSmoothing(e,!1),V=!0):"yes"===w&&!F&&(i.setImgSmoothing(e,!0),V=!0),"no-repeat"===h)b&&(e.save(),m.pathCache?e.clip(m.pathCache):(i.nodeShapes[i.getNodeShape(n)].draw(e,s,l,v,y,E,m),e.clip())),i.safeDrawImage(e,t,0,0,C,T,B,R,k,S),b&&e.restore();else{var q=e.createPattern(t,h);e.fillStyle=q,i.nodeShapes[i.getNodeShape(n)].draw(e,s,l,v,y,E,m),e.translate(B,R),e.fill(),e.translate(-B,-R)}e.globalAlpha=O,V&&i.setImgSmoothing(e,F)}}},Lf={};function Nf(e,t,n,r,a){var i=Math.min(r,a)/2,o=t+r/2,s=n+a/2;e.beginPath(),e.arc(o,s,i,0,2*Math.PI),e.closePath()}function zf(e,t,n,r,a){var i=arguments.length>5&&void 0!==arguments[5]?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()}Lf.eleTextBiggerThanMin=function(e,t){if(!t){var n=e.cy().zoom(),r=this.getPixelRatio(),a=Math.ceil(Rn(n*r));t=Math.pow(2,a)}return!(e.pstyle("font-size").pfValue*t<e.pstyle("min-zoomed-font-size").pfValue)},Lf.drawElementText=function(e,t,n,r,a){var i=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],o=this;if(null==r){if(i&&!o.eleTextBiggerThanMin(t))return}else if(!1===r)return;if(t.isNode()){var s=t.pstyle("label");if(!s||!s.value)return;var l=o.getLabelJustification(t);e.textAlign=l,e.textBaseline="bottom"}else{var u=t.element()._private.rscratch.badLine,c=t.pstyle("label"),d=t.pstyle("source-label"),h=t.pstyle("target-label");if(u||(!c||!c.value)&&(!d||!d.value)&&(!h||!h.value))return;e.textAlign="center",e.textBaseline="bottom"}var f,p=!n;n&&(f=n,e.translate(-f.x1,-f.y1)),null==a?(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(f.x1,f.y1)},Lf.getFontCache=function(e){var t;this.fontCaches=this.fontCaches||[];for(var n=0;n<this.fontCaches.length;n++)if((t=this.fontCaches[n]).context===e)return t;return t={context:e},this.fontCaches.push(t),t},Lf.setupTextStyle=function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],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,s=n?t.effectiveOpacity()*t.pstyle("text-opacity").value:1,l=t.pstyle("text-outline-opacity").value*s,u=t.pstyle("color").value,c=t.pstyle("text-outline-color").value;e.font=r+" "+o+" "+a+" "+i,e.lineJoin="round",this.colorFillStyle(e,u[0],u[1],u[2],s),this.colorStrokeStyle(e,c[0],c[1],c[2],l)},e(Nf,"circle"),e(zf,"roundRect"),Lf.getTextAngle=function(e,t){var n,r=e._private.rscratch,a=t?t+"-":"",i=e.pstyle(a+"text-rotation");if("autorotate"===i.strValue){var o=Wt(r,"labelAngle",t);n=e.isEdge()?o:0}else n="none"===i.strValue?0:i.pfValue;return n},Lf.drawText=function(e,t,n){var r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=t._private.rscratch,o=a?t.effectiveOpacity():1;if(!a||0!==o&&0!==t.pstyle("text-opacity").value){"main"===n&&(n=null);var s,l,u=Wt(i,"labelX",n),c=Wt(i,"labelY",n),d=this.getLabelText(t,n);if(null!=d&&""!==d&&!isNaN(u)&&!isNaN(c)){this.setupTextStyle(e,t,a);var h,f=n?n+"-":"",p=Wt(i,"labelWidth",n),g=Wt(i,"labelHeight",n),v=t.pstyle(f+"text-margin-x").pfValue,y=t.pstyle(f+"text-margin-y").pfValue,m=t.isEdge(),b=t.pstyle("text-halign").value,x=t.pstyle("text-valign").value;switch(m&&(b="center",x="center"),u+=v,c+=y,0!==(h=r?this.getTextAngle(t,n):0)&&(s=u,l=c,e.translate(s,l),e.rotate(h),u=0,c=0),x){case"top":break;case"center":c+=g/2;break;case"bottom":c+=g}var w=t.pstyle("text-background-opacity").value,E=t.pstyle("text-border-opacity").value,C=t.pstyle("text-border-width").pfValue,T=t.pstyle("text-background-padding").pfValue,k=t.pstyle("text-background-shape").strValue,S="round-rectangle"===k||"roundrectangle"===k,P="circle"===k;if(w>0||C>0&&E>0){var B=e.fillStyle,_=e.strokeStyle,D=e.lineWidth,A=t.pstyle("text-background-color").value,M=t.pstyle("text-border-color").value,R=t.pstyle("text-border-style").value,I=w>0,L=C>0&&E>0,N=u-T;switch(b){case"left":N-=p;break;case"center":N-=p/2}var z=c-g-T,O=p+2*T,F=g+2*T;if(I&&(e.fillStyle="rgba(".concat(A[0],",").concat(A[1],",").concat(A[2],",").concat(w*o,")")),L&&(e.strokeStyle="rgba(".concat(M[0],",").concat(M[1],",").concat(M[2],",").concat(E*o,")"),e.lineWidth=C,e.setLineDash))switch(R){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"double":e.lineWidth=C/4,e.setLineDash([]);break;default:e.setLineDash([])}if(S?(e.beginPath(),zf(e,N,z,O,F,2)):P?(e.beginPath(),Nf(e,N,z,O,F)):(e.beginPath(),e.rect(N,z,O,F)),I&&e.fill(),L&&e.stroke(),L&&"double"===R){var V=C/2;e.beginPath(),S?zf(e,N+V,z+V,O-2*V,F-2*V,2):e.rect(N+V,z+V,O-2*V,F-2*V),e.stroke()}e.fillStyle=B,e.strokeStyle=_,e.lineWidth=D,e.setLineDash&&e.setLineDash([])}var q=2*t.pstyle("text-outline-width").pfValue;if(q>0&&(e.lineWidth=q),"wrap"===t.pstyle("text-wrap").value){var j=Wt(i,"labelWrapCachedLines",n),X=Wt(i,"labelLineHeight",n),Y=p/2,W=this.getLabelJustification(t);switch("auto"===W||("left"===b?"left"===W?u+=-p:"center"===W&&(u+=-Y):"center"===b?"left"===W?u+=-Y:"right"===W&&(u+=Y):"right"===b&&("center"===W?u+=Y:"right"===W&&(u+=p))),x){case"top":case"center":case"bottom":c-=(j.length-1)*X}for(var H=0;H<j.length;H++)q>0&&e.strokeText(j[H],u,c),e.fillText(j[H],u,c),c+=X}else q>0&&e.strokeText(d,u,c),e.fillText(d,u,c);0!==h&&(e.rotate(-h),e.translate(-s,-l))}}};var Of={drawNode:function(t,n,r){var a,i,o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],l=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],u=this,c=n._private,d=c.rscratch,h=n.position();if(ie(h.x)&&ie(h.y)&&(!l||n.visible())){var f,p,g=l?n.effectiveOpacity():1,v=u.usePaths(),y=!1,m=n.padding();a=n.width()+2*m,i=n.height()+2*m,r&&(p=r,t.translate(-p.x1,-p.y1));for(var b=n.pstyle("background-image").value,x=new Array(b.length),w=new Array(b.length),E=0,C=0;C<b.length;C++){var T=b[C];if(x[C]=null!=T&&"none"!==T){var k=n.cy().style().getIndexedStyle(n,"background-image-crossorigin","value",C);E++,w[C]=u.getCachedImage(T,k,function(){c.backgroundTimestamp=Date.now(),n.emitAndNotify("background")})}}var S=n.pstyle("background-blacken").value,P=n.pstyle("border-width").pfValue,B=n.pstyle("background-opacity").value*g,_=n.pstyle("border-color").value,D=n.pstyle("border-style").value,A=n.pstyle("border-join").value,M=n.pstyle("border-cap").value,R=n.pstyle("border-position").value,I=n.pstyle("border-dash-pattern").pfValue,L=n.pstyle("border-dash-offset").pfValue,N=n.pstyle("border-opacity").value*g,z=n.pstyle("outline-width").pfValue,O=n.pstyle("outline-color").value,F=n.pstyle("outline-style").value,V=n.pstyle("outline-opacity").value*g,q=n.pstyle("outline-offset").value,j=n.pstyle("corner-radius").value;"auto"!==j&&(j=n.pstyle("corner-radius").pfValue);var X=e(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:B;u.eleFillStyle(t,n,e)},"setupShapeColor"),Y=e(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:N;u.colorStrokeStyle(t,_[0],_[1],_[2],e)},"setupBorderColor"),W=e(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:V;u.colorStrokeStyle(t,O[0],O[1],O[2],e)},"setupOutlineColor"),H=e(function(e,t,n,r){var a,i=u.nodePathCache=u.nodePathCache||[],o=bt("polygon"===n?n+","+r.join(","):n,""+t,""+e,""+j),s=i[o],l=!1;return null!=s?(a=s,l=!0,d.pathCache=a):(a=new Path2D,i[o]=d.pathCache=a),{path:a,cacheHit:l}},"getPath"),K=n.pstyle("shape").strValue,G=n.pstyle("shape-polygon-points").pfValue;if(v){t.translate(h.x,h.y);var U=H(a,i,K,G);f=U.path,y=U.cacheHit}var Z=e(function(){if(!y){var e=h;v&&(e={x:0,y:0}),u.nodeShapes[u.getNodeShape(n)].draw(f||t,e.x,e.y,a,i,j,d)}v?t.fill(f):t.fill()},"drawShape"),$=e(function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a=c.backgrounding,i=0,o=0;o<w.length;o++){var s=n.cy().style().getIndexedStyle(n,"background-image-containment","value",o);r&&"over"===s||!r&&"inside"===s?i++:x[o]&&w[o].complete&&!w[o].error&&(i++,u.drawInscribedImage(t,w[o],n,o,e))}c.backgrounding=i!==E,a!==c.backgrounding&&n.updateStyle(!1)},"drawImages"),Q=e(function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:g;u.hasPie(n)&&(u.drawPie(t,n,r),e&&(v||u.nodeShapes[u.getNodeShape(n)].draw(t,h.x,h.y,a,i,j,d)))},"drawPie"),J=e(function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:g;u.hasStripe(n)&&(t.save(),v?t.clip(d.pathCache):(u.nodeShapes[u.getNodeShape(n)].draw(t,h.x,h.y,a,i,j,d),t.clip()),u.drawStripe(t,n,r),t.restore(),e&&(v||u.nodeShapes[u.getNodeShape(n)].draw(t,h.x,h.y,a,i,j,d)))},"drawStripe"),ee=e(function(){var e=(S>0?S:-S)*(arguments.length>0&&void 0!==arguments[0]?arguments[0]:g),n=S>0?0:255;0!==S&&(u.colorFillStyle(t,n,n,n,e),v?t.fill(f):t.fill())},"darken"),te=e(function(){if(P>0){if(t.lineWidth=P,t.lineCap=M,t.lineJoin=A,t.setLineDash)switch(D){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(I),t.lineDashOffset=L;break;case"solid":case"double":t.setLineDash([])}if("center"!==R){if(t.save(),t.lineWidth*=2,"inside"===R)v?t.clip(f):t.clip();else{var e=new Path2D;e.rect(-a/2-P,-i/2-P,a+2*P,i+2*P),e.addPath(f),t.clip(e,"evenodd")}v?t.stroke(f):t.stroke(),t.restore()}else v?t.stroke(f):t.stroke();if("double"===D){t.lineWidth=P/3;var n=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",v?t.stroke(f):t.stroke(),t.globalCompositeOperation=n}t.setLineDash&&t.setLineDash([])}},"drawBorder"),ne=e(function(){if(z>0){if(t.lineWidth=z,t.lineCap="butt",t.setLineDash)switch(F){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([])}var e=h;v&&(e={x:0,y:0});var r=u.getNodeShape(n),o=P;"inside"===R&&(o=0),"outside"===R&&(o*=2);var s,l=(a+o+(z+q))/a,c=(i+o+(z+q))/i,d=a*l,f=i*c,p=u.nodeShapes[r].points;if(v)s=H(d,f,r,p).path;if("ellipse"===r)u.drawEllipsePath(s||t,e.x,e.y,d,f);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(r)){var g=0,y=0,m=0;"round-diamond"===r?g=1.4*(o+q+z):"round-heptagon"===r?(g=1.075*(o+q+z),m=-(o/2+q+z)/35):"round-hexagon"===r?g=1.12*(o+q+z):"round-pentagon"===r?(g=1.13*(o+q+z),m=-(o/2+q+z)/15):"round-tag"===r?(g=1.12*(o+q+z),y=.07*(o/2+z+q)):"round-triangle"===r&&(g=(o+q+z)*(Math.PI/2),m=-(o+q/2+z)/Math.PI),0!==g&&(d=a*(l=(a+g)/a),["round-hexagon","round-tag"].includes(r)||(f=i*(c=(i+g)/i)));for(var b=d/2,x=f/2,w=(j="auto"===j?Br(d,f):j)+(o+z+q)/2,E=new Array(p.length/2),C=new Array(p.length/2),T=0;T<p.length/2;T++)E[T]={x:e.x+y+b*p[2*T],y:e.y+m+x*p[2*T+1]};var k,S,B,_,D=E.length;for(S=E[D-1],k=0;k<D;k++)B=E[k%D],_=E[(k+1)%D],C[k]=Nh(S,B,_,w),S=B,B=_;u.drawRoundPolygonPath(s||t,e.x+y,e.y+m,a*l,i*c,p,C)}else if(["roundrectangle","round-rectangle"].includes(r))j="auto"===j?Pr(d,f):j,u.drawRoundRectanglePath(s||t,e.x,e.y,d,f,j+(o+z+q)/2);else if(["cutrectangle","cut-rectangle"].includes(r))j="auto"===j?_r():j,u.drawCutRectanglePath(s||t,e.x,e.y,d,f,null,j+(o+z+q)/4);else if(["bottomroundrectangle","bottom-round-rectangle"].includes(r))j="auto"===j?Pr(d,f):j,u.drawBottomRoundRectanglePath(s||t,e.x,e.y,d,f,j+(o+z+q)/2);else if("barrel"===r)u.drawBarrelPath(s||t,e.x,e.y,d,f);else if(r.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(r)){p=fr(pr(p,(o+z+q)/a)),u.drawPolygonPath(s||t,e.x,e.y,a,i,p)}else{p=fr(pr(p,-((o+z+q)/a))),u.drawPolygonPath(s||t,e.x,e.y,a,i,p)}if(v?t.stroke(s):t.stroke(),"double"===F){t.lineWidth=o/3;var A=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",v?t.stroke(s):t.stroke(),t.globalCompositeOperation=A}t.setLineDash&&t.setLineDash([])}},"drawOutline"),re=e(function(){s&&u.drawNodeOverlay(t,n,h,a,i)},"drawOverlay"),ae=e(function(){s&&u.drawNodeUnderlay(t,n,h,a,i)},"drawUnderlay"),oe=e(function(){u.drawElementText(t,n,null,o)},"drawText");if("yes"===n.pstyle("ghost").value){var se=n.pstyle("ghost-offset-x").pfValue,le=n.pstyle("ghost-offset-y").pfValue,ue=n.pstyle("ghost-opacity").value,ce=ue*g;t.translate(se,le),W(),ne(),X(ue*B),Z(),$(ce,!0),Y(ue*N),te(),Q(0!==S||0!==P),J(0!==S||0!==P),$(ce,!1),ee(ce),t.translate(-se,-le)}v&&t.translate(-h.x,-h.y),ae(),v&&t.translate(h.x,h.y),W(),ne(),X(),Z(),$(g,!0),Y(),te(),Q(0!==S||0!==P),J(0!==S||0!==P),$(g,!1),ee(),v&&t.translate(-h.x,-h.y),oe(),re(),r&&t.translate(p.x1,p.y1)}}},Ff=e(function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(t,n,r,a,i){if(n.visible()){var o=n.pstyle("".concat(e,"-padding")).pfValue,s=n.pstyle("".concat(e,"-opacity")).value,l=n.pstyle("".concat(e,"-color")).value,u=n.pstyle("".concat(e,"-shape")).value,c=n.pstyle("".concat(e,"-corner-radius")).value;if(s>0){if(r=r||n.position(),null==a||null==i){var d=n.padding();a=n.width()+2*d,i=n.height()+2*d}this.colorFillStyle(t,l[0],l[1],l[2],s),this.nodeShapes[u].draw(t,r.x,r.y,a+2*o,i+2*o,c),t.fill()}}}},"drawNodeOverlayUnderlay");Of.drawNodeOverlay=Ff("overlay"),Of.drawNodeUnderlay=Ff("underlay"),Of.hasPie=function(e){return(e=e[0])._private.hasPie},Of.hasStripe=function(e){return(e=e[0])._private.hasStripe},Of.drawPie=function(e,t,n,r){t=t[0],r=r||t.position();var a,i=t.cy().style(),o=t.pstyle("pie-size"),s=t.pstyle("pie-hole"),l=t.pstyle("pie-start-angle").pfValue,u=r.x,c=r.y,d=t.width(),h=t.height(),f=Math.min(d,h)/2,p=0;if(this.usePaths()&&(u=0,c=0),"%"===o.units?f*=o.pfValue:void 0!==o.pfValue&&(f=o.pfValue/2),"%"===s.units?a=f*s.pfValue:void 0!==s.pfValue&&(a=s.pfValue/2),!(a>=f))for(var g=1;g<=i.pieBackgroundN;g++){var v=t.pstyle("pie-"+g+"-background-size").value,y=t.pstyle("pie-"+g+"-background-color").value,m=t.pstyle("pie-"+g+"-background-opacity").value*n,b=v/100;b+p>1&&(b=1-p);var x=1.5*Math.PI+2*Math.PI*p,w=(x+=l)+2*Math.PI*b;0===v||p>=1||p+b>1||(0===a?(e.beginPath(),e.moveTo(u,c),e.arc(u,c,f,x,w),e.closePath()):(e.beginPath(),e.arc(u,c,f,x,w),e.arc(u,c,a,w,x,!0),e.closePath()),this.colorFillStyle(e,y[0],y[1],y[2],m),e.fill(),p+=b)}},Of.drawStripe=function(e,t,n,r){t=t[0],r=r||t.position();var a=t.cy().style(),i=r.x,o=r.y,s=t.width(),l=t.height(),u=0,c=this.usePaths();e.save();var d=t.pstyle("stripe-direction").value,h=t.pstyle("stripe-size");switch(d){case"vertical":break;case"righward":e.rotate(-Math.PI/2)}var f=s,p=l;"%"===h.units?(f*=h.pfValue,p*=h.pfValue):void 0!==h.pfValue&&(f=h.pfValue,p=h.pfValue),c&&(i=0,o=0),o-=f/2,i-=p/2;for(var g=1;g<=a.stripeBackgroundN;g++){var v=t.pstyle("stripe-"+g+"-background-size").value,y=t.pstyle("stripe-"+g+"-background-color").value,m=t.pstyle("stripe-"+g+"-background-opacity").value*n,b=v/100;b+u>1&&(b=1-u),!(0===v||u>=1||u+b>1)&&(e.beginPath(),e.rect(i,o+p*u,f,p*b),e.closePath(),this.colorFillStyle(e,y[0],y[1],y[2],m),e.fill(),u+=b)}e.restore()};var Vf,qf={};function jf(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}function Xf(e,t,n){var r=jf(e,e.VERTEX_SHADER,t),a=jf(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}function Yf(e,t,n){void 0===n&&(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}function Wf(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}}}function Hf(e){var t=e.pixelRatio;return e.cy.zoom()*t}function Kf(e,t,n,r,a){var i=r*n+t.x,o=a*n+t.y;return[i,o=Math.round(e.canvasHeight-o)]}function Gf(e){return"solid"===e.pstyle("background-fill").value&&"none"===e.pstyle("background-image").strValue&&(0===e.pstyle("border-width").value||0===e.pstyle("border-opacity").value||"solid"===e.pstyle("border-style").value)}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}function Zf(e,t,n){var r=e[0]/255,a=e[1]/255,i=e[2]/255,o=t,s=n||new Array(4);return s[0]=r*o,s[1]=a*o,s[2]=i*o,s[3]=o,s}function $f(e,t){var n=t||new Array(4);return n[0]=(255&e)/255,n[1]=(e>>8&255)/255,n[2]=(e>>16&255)/255,n[3]=(e>>24&255)/255,n}function Qf(e){return e[0]+(e[1]<<8)+(e[2]<<16)+(e[3]<<24)}function Jf(e,t){var n=e.createTexture();return n.buffer=function(t){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,t),e.generateMipmap(e.TEXTURE_2D),e.bindTexture(e.TEXTURE_2D,null)},n.deleteTexture=function(){e.deleteTexture(n)},n}function ep(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]}}function tp(e,t,n){switch(t){case e.FLOAT:return new Float32Array(n);case e.INT:return new Int32Array(n)}}function np(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)}}function rp(e,t,n,r){var a=f(ep(e,t),2),i=a[0],o=a[1],s=tp(e,o,r),l=e.createBuffer();return e.bindBuffer(e.ARRAY_BUFFER,l),e.bufferData(e.ARRAY_BUFFER,s,e.STATIC_DRAW),o===e.FLOAT?e.vertexAttribPointer(n,i,o,!1,0,0):o===e.INT&&e.vertexAttribIPointer(n,i,o,0,0),e.enableVertexAttribArray(n),e.bindBuffer(e.ARRAY_BUFFER,null),l}function ap(e,t,n,r){var a=f(ep(e,n),3),i=a[0],o=a[1],s=a[2],l=tp(e,o,t*i),u=i*s,c=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,c),e.bufferData(e.ARRAY_BUFFER,t*u,e.DYNAMIC_DRAW),e.enableVertexAttribArray(r),o===e.FLOAT?e.vertexAttribPointer(r,i,o,!1,u,0):o===e.INT&&e.vertexAttribIPointer(r,i,o,u,0),e.vertexAttribDivisor(r,1),e.bindBuffer(e.ARRAY_BUFFER,null);for(var d=new Array(t),h=0;h<t;h++)d[h]=np(e,o,l,u,i,h);return c.dataArray=l,c.stride=u,c.size=i,c.getView=function(e){return d[e]},c.setPoint=function(e,t,n){var r=d[e];r[0]=t,r[1]=n},c.bufferSubData=function(t){e.bindBuffer(e.ARRAY_BUFFER,c),t?e.bufferSubData(e.ARRAY_BUFFER,0,l,0,t*i):e.bufferSubData(e.ARRAY_BUFFER,0,l)},c}function ip(e,t,n){for(var r=new Float32Array(9*t),a=new Array(t),i=0;i<t;i++){var o=9*i*4;a[i]=new Float32Array(r.buffer,o,9)}var s=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,s),e.bufferData(e.ARRAY_BUFFER,r.byteLength,e.DYNAMIC_DRAW);for(var l=0;l<3;l++){var u=n+l;e.enableVertexAttribArray(u),e.vertexAttribPointer(u,3,e.FLOAT,!1,36,12*l),e.vertexAttribDivisor(u,1)}return e.bindBuffer(e.ARRAY_BUFFER,null),s.getMatrixView=function(e){return a[e]},s.setData=function(e,t){a[t].set(e,0)},s.bufferSubData=function(){e.bindBuffer(e.ARRAY_BUFFER,s),e.bufferSubData(e.ARRAY_BUFFER,0,r)},s}function op(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(t,r){e.bindTexture(e.TEXTURE_2D,n),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,t,r,0,e.RGBA,e.UNSIGNED_BYTE,null)},t}qf.getPixelRatio=function(){var e=this.data.contexts[0];if(null!=this.forcedPixelRatio)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},qf.paintCache=function(e){for(var t,n=this.paintCaches=this.paintCaches||[],r=!0,a=0;a<n.length;a++)if((t=n[a]).context===e){r=!1;break}return r&&(t={context:e},n.push(t)),t},qf.createGradientStyleFor=function(e,t,n,r,a){var i,o=this.usePaths(),s=n.pstyle(t+"-gradient-stop-colors").value,l=n.pstyle(t+"-gradient-stop-positions").pfValue;if("radial-gradient"===r)if(n.isEdge()){var u=n.sourceEndpoint(),c=n.targetEndpoint(),d=n.midpoint(),h=Ln(u,d),f=Ln(c,d);i=e.createRadialGradient(d.x,d.y,0,d.x,d.y,Math.max(h,f))}else{var p=o?{x:0,y:0}:n.position(),g=n.paddedWidth(),v=n.paddedHeight();i=e.createRadialGradient(p.x,p.y,0,p.x,p.y,Math.max(g,v))}else if(n.isEdge()){var y=n.sourceEndpoint(),m=n.targetEndpoint();i=e.createLinearGradient(y.x,y.y,m.x,m.y)}else{var b=o?{x:0,y:0}:n.position(),x=n.paddedWidth()/2,w=n.paddedHeight()/2;switch(n.pstyle("background-gradient-direction").value){case"to-bottom":i=e.createLinearGradient(b.x,b.y-w,b.x,b.y+w);break;case"to-top":i=e.createLinearGradient(b.x,b.y+w,b.x,b.y-w);break;case"to-left":i=e.createLinearGradient(b.x+x,b.y,b.x-x,b.y);break;case"to-right":i=e.createLinearGradient(b.x-x,b.y,b.x+x,b.y);break;case"to-bottom-right":case"to-right-bottom":i=e.createLinearGradient(b.x-x,b.y-w,b.x+x,b.y+w);break;case"to-top-right":case"to-right-top":i=e.createLinearGradient(b.x-x,b.y+w,b.x+x,b.y-w);break;case"to-bottom-left":case"to-left-bottom":i=e.createLinearGradient(b.x+x,b.y-w,b.x-x,b.y+w);break;case"to-top-left":case"to-left-top":i=e.createLinearGradient(b.x+x,b.y+w,b.x-x,b.y-w)}}if(!i)return null;for(var E=l.length===s.length,C=s.length,T=0;T<C;T++)i.addColorStop(E?l[T]:T/(C-1),"rgba("+s[T][0]+","+s[T][1]+","+s[T][2]+","+a+")");return i},qf.gradientFillStyle=function(e,t,n,r){var a=this.createGradientStyleFor(e,"background",t,n,r);if(!a)return null;e.fillStyle=a},qf.colorFillStyle=function(e,t,n,r,a){e.fillStyle="rgba("+t+","+n+","+r+","+a+")"},qf.eleFillStyle=function(e,t,n){var r=t.pstyle("background-fill").value;if("linear-gradient"===r||"radial-gradient"===r)this.gradientFillStyle(e,t,r,n);else{var a=t.pstyle("background-color").value;this.colorFillStyle(e,a[0],a[1],a[2],n)}},qf.gradientStrokeStyle=function(e,t,n,r){var a=this.createGradientStyleFor(e,"line",t,n,r);if(!a)return null;e.strokeStyle=a},qf.colorStrokeStyle=function(e,t,n,r,a){e.strokeStyle="rgba("+t+","+n+","+r+","+a+")"},qf.eleStrokeStyle=function(e,t,n){var r=t.pstyle("line-fill").value;if("linear-gradient"===r||"radial-gradient"===r)this.gradientStrokeStyle(e,t,r,n);else{var a=t.pstyle("line-color").value;this.colorStrokeStyle(e,a[0],a[1],a[2],n)}},qf.matchCanvasSize=function(e){var t=this,n=t.data,r=t.findContainerClientCoords(),a=r[2],i=r[3],o=t.getPixelRatio(),s=t.motionBlurPxRatio;(e===t.data.bufferCanvases[t.MOTIONBLUR_BUFFER_NODE]||e===t.data.bufferCanvases[t.MOTIONBLUR_BUFFER_DRAG])&&(o=s);var l,u=a*o,c=i*o;if(u!==t.canvasWidth||c!==t.canvasHeight){t.fontCaches=null;var d=n.canvasContainer;d.style.width=a+"px",d.style.height=i+"px";for(var h=0;h<t.CANVAS_LAYERS;h++)(l=n.canvases[h]).width=u,l.height=c,l.style.width=a+"px",l.style.height=i+"px";for(h=0;h<t.BUFFER_COUNT;h++)(l=n.bufferCanvases[h]).width=u,l.height=c,l.style.width=a+"px",l.style.height=i+"px";t.textureMult=1,o<=1&&(l=n.bufferCanvases[t.TEXTURE_BUFFER],t.textureMult=2,l.width=u*t.textureMult,l.height=c*t.textureMult),t.canvasWidth=u,t.canvasHeight=c,t.pixelRatio=o}},qf.renderTo=function(e,t,n,r){this.render({forcedContext:e,forcedZoom:t,forcedPan:n,drawAllLayers:!0,forcedPxRatio:r})},qf.clearCanvas=function(){var t=this,n=t.data;function r(e){e.clearRect(0,0,t.canvasWidth,t.canvasHeight)}e(r,"clear"),r(n.contexts[t.NODE]),r(n.contexts[t.DRAG])},qf.render=function(t){var n=this;t=t||Vt();var r=n.cy,a=t.forcedContext,i=t.drawAllLayers,o=t.drawOnlyNodeLayer,s=t.forcedZoom,l=t.forcedPan,u=void 0===t.forcedPxRatio?this.getPixelRatio():t.forcedPxRatio,c=n.data,d=c.canvasNeedsRedraw,h=n.textureOnViewport&&!a&&(n.pinching||n.hoverData.dragging||n.swipePanning||n.data.wheelZooming),f=void 0!==t.motionBlur?t.motionBlur:n.motionBlur,p=n.motionBlurPxRatio,g=r.hasCompoundNodes(),v=n.hoverData.draggingEles,y=!(!n.hoverData.selecting&&!n.touchData.selecting),m=f=f&&!a&&n.motionBlurEnabled&&!y;a||(n.prevPxRatio!==u&&(n.invalidateContainerClientCoordsCache(),n.matchCanvasSize(n.container),n.redrawHint("eles",!0),n.redrawHint("drag",!0)),n.prevPxRatio=u),!a&&n.motionBlurTimeout&&clearTimeout(n.motionBlurTimeout),f&&(null==n.mbFrames&&(n.mbFrames=0),n.mbFrames++,n.mbFrames<3&&(m=!1),n.mbFrames>n.minMbLowQualFrames&&(n.motionBlurPxRatio=n.mbPxRBlurry)),n.clearingMotionBlur&&(n.motionBlurPxRatio=1),n.textureDrawLastFrame&&!h&&(d[n.NODE]=!0,d[n.SELECT_BOX]=!0);var b=r.style(),x=r.zoom(),w=void 0!==s?s:x,E=r.pan(),C={x:E.x,y:E.y},T={zoom:x,pan:{x:E.x,y:E.y}},k=n.prevViewport;!(void 0===k||T.zoom!==k.zoom||T.pan.x!==k.pan.x||T.pan.y!==k.pan.y)&&!(v&&!g)&&(n.motionBlurPxRatio=1),l&&(C=l),w*=u,C.x*=u,C.y*=u;var S=n.getCachedZSortedEles();function P(e,t,r,a,i){var o=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",n.colorFillStyle(e,255,255,255,n.motionBlurTransparency),e.fillRect(t,r,a,i),e.globalCompositeOperation=o}function B(e,t){var r,o,u,d;n.clearingMotionBlur||e!==c.bufferContexts[n.MOTIONBLUR_BUFFER_NODE]&&e!==c.bufferContexts[n.MOTIONBLUR_BUFFER_DRAG]?(r=C,o=w,u=n.canvasWidth,d=n.canvasHeight):(r={x:E.x*p,y:E.y*p},o=x*p,u=n.canvasWidth*p,d=n.canvasHeight*p),e.setTransform(1,0,0,1,0,0),"motionBlur"===t?P(e,0,0,u,d):!a&&(void 0===t||t)&&e.clearRect(0,0,u,d),i||(e.translate(r.x,r.y),e.scale(o,o)),l&&e.translate(l.x,l.y),s&&e.scale(s,s)}if(e(P,"mbclear"),e(B,"setContextTransform"),h||(n.textureDrawLastFrame=!1),h){if(n.textureDrawLastFrame=!0,!n.textureCache){n.textureCache={},n.textureCache.bb=r.mutableElements().boundingBox(),n.textureCache.texture=n.data.bufferCanvases[n.TEXTURE_BUFFER];var _=n.data.bufferContexts[n.TEXTURE_BUFFER];_.setTransform(1,0,0,1,0,0),_.clearRect(0,0,n.canvasWidth*n.textureMult,n.canvasHeight*n.textureMult),n.render({forcedContext:_,drawOnlyNodeLayer:!0,forcedPxRatio:u*n.textureMult}),(T=n.textureCache.viewport={zoom:r.zoom(),pan:r.pan(),width:n.canvasWidth,height:n.canvasHeight}).mpan={x:(0-T.pan.x)/T.zoom,y:(0-T.pan.y)/T.zoom}}d[n.DRAG]=!1,d[n.NODE]=!1;var D=c.contexts[n.NODE],A=n.textureCache.texture;T=n.textureCache.viewport;D.setTransform(1,0,0,1,0,0),f?P(D,0,0,T.width,T.height):D.clearRect(0,0,T.width,T.height);var M=b.core("outside-texture-bg-color").value,R=b.core("outside-texture-bg-opacity").value;n.colorFillStyle(D,M[0],M[1],M[2],R),D.fillRect(0,0,T.width,T.height);x=r.zoom();B(D,!1),D.clearRect(T.mpan.x,T.mpan.y,T.width/T.zoom/u,T.height/T.zoom/u),D.drawImage(A,T.mpan.x,T.mpan.y,T.width/T.zoom/u,T.height/T.zoom/u)}else n.textureOnViewport&&!a&&(n.textureCache=null);var I=r.extent(),L=n.pinching||n.hoverData.dragging||n.swipePanning||n.data.wheelZooming||n.hoverData.draggingEles||n.cy.animated(),N=n.hideEdgesOnViewport&&L,z=[];if(z[n.NODE]=!d[n.NODE]&&f&&!n.clearedForMotionBlur[n.NODE]||n.clearingMotionBlur,z[n.NODE]&&(n.clearedForMotionBlur[n.NODE]=!0),z[n.DRAG]=!d[n.DRAG]&&f&&!n.clearedForMotionBlur[n.DRAG]||n.clearingMotionBlur,z[n.DRAG]&&(n.clearedForMotionBlur[n.DRAG]=!0),d[n.NODE]||i||o||z[n.NODE]){var O=f&&!z[n.NODE]&&1!==p;B(D=a||(O?n.data.bufferContexts[n.MOTIONBLUR_BUFFER_NODE]:c.contexts[n.NODE]),f&&!O?"motionBlur":void 0),N?n.drawCachedNodes(D,S.nondrag,u,I):n.drawLayeredElements(D,S.nondrag,u,I),n.debug&&n.drawDebugPoints(D,S.nondrag),!i&&!f&&(d[n.NODE]=!1)}if(!o&&(d[n.DRAG]||i||z[n.DRAG])){O=f&&!z[n.DRAG]&&1!==p;B(D=a||(O?n.data.bufferContexts[n.MOTIONBLUR_BUFFER_DRAG]:c.contexts[n.DRAG]),f&&!O?"motionBlur":void 0),N?n.drawCachedNodes(D,S.drag,u,I):n.drawCachedElements(D,S.drag,u,I),n.debug&&n.drawDebugPoints(D,S.drag),!i&&!f&&(d[n.DRAG]=!1)}if(this.drawSelectionRectangle(t,B),f&&1!==p){var F=c.contexts[n.NODE],V=n.data.bufferCanvases[n.MOTIONBLUR_BUFFER_NODE],q=c.contexts[n.DRAG],j=n.data.bufferCanvases[n.MOTIONBLUR_BUFFER_DRAG],X=e(function(e,t,r){e.setTransform(1,0,0,1,0,0),r||!m?e.clearRect(0,0,n.canvasWidth,n.canvasHeight):P(e,0,0,n.canvasWidth,n.canvasHeight);var a=p;e.drawImage(t,0,0,n.canvasWidth*a,n.canvasHeight*a,0,0,n.canvasWidth,n.canvasHeight)},"drawMotionBlur");(d[n.NODE]||z[n.NODE])&&(X(F,V,z[n.NODE]),d[n.NODE]=!1),(d[n.DRAG]||z[n.DRAG])&&(X(q,j,z[n.DRAG]),d[n.DRAG]=!1)}n.prevViewport=T,n.clearingMotionBlur&&(n.clearingMotionBlur=!1,n.motionBlurCleared=!0,n.motionBlur=!0),f&&(n.motionBlurTimeout=setTimeout(function(){n.motionBlurTimeout=null,n.clearedForMotionBlur[n.NODE]=!1,n.clearedForMotionBlur[n.DRAG]=!1,n.motionBlur=!1,n.clearingMotionBlur=!h,n.mbFrames=0,d[n.NODE]=!0,d[n.DRAG]=!0,n.redraw()},100)),a||r.emit("render")},qf.drawSelectionRectangle=function(e,t){var n=this,r=n.cy,a=n.data,i=r.style(),o=e.drawOnlyNodeLayer,s=e.drawAllLayers,l=a.canvasNeedsRedraw,u=e.forcedContext;if(n.showFps||!o&&l[n.SELECT_BOX]&&!s){var c=u||a.contexts[n.SELECT_BOX];if(t(c),1==n.selection[4]&&(n.hoverData.selecting||n.touchData.selecting)){var d=n.cy.zoom(),h=i.core("selection-box-border-width").value/d;c.lineWidth=h,c.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+")",c.fillRect(n.selection[0],n.selection[1],n.selection[2]-n.selection[0],n.selection[3]-n.selection[1]),h>0&&(c.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+")",c.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){d=n.cy.zoom();var f=a.bgActivePosistion;c.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+")",c.beginPath(),c.arc(f.x,f.y,i.core("active-bg-size").pfValue/d,0,2*Math.PI),c.fill()}var p=n.lastRedrawTime;if(n.showFps&&p){p=Math.round(p);var g=Math.round(1e3/p),v="1 frame = "+p+" ms = "+g+" fps";if(c.setTransform(1,0,0,1,0,0),c.fillStyle="rgba(255, 0, 0, 0.75)",c.strokeStyle="rgba(255, 0, 0, 0.75)",c.font="30px Arial",!Vf){var y=c.measureText(v);Vf=y.actualBoundingBoxAscent}c.fillText(v,0,Vf);c.strokeRect(0,Vf+10,250,20),c.fillRect(0,Vf+10,250*Math.min(g/60,1),20)}s||(l[n.SELECT_BOX]=!1)}},e(jf,"compileShader"),e(Xf,"createProgram"),e(Yf,"createTextureCanvas"),e(Wf,"getEffectivePanZoom"),e(Hf,"getEffectiveZoom"),e(Kf,"modelToRenderedPosition"),e(Gf,"isSimpleShape"),e(Uf,"arrayEqual"),e(Zf,"toWebGLColor"),e($f,"indexToVec4"),e(Qf,"vec4ToIndex"),e(Jf,"createTexture"),e(ep,"getTypeInfo"),e(tp,"createTypedArray"),e(np,"createTypedArrayView"),e(rp,"createBufferStaticDraw"),e(ap,"createBufferDynamicDraw"),e(ip,"create3x3MatrixBufferDynamicDraw"),e(op,"createPickingFrameBuffer");var sp=typeof Float32Array<"u"?Float32Array:Array;function lp(){var e=new sp(9);return sp!=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}function up(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}function cp(e,t,n){var r=t[0],a=t[1],i=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],d=t[8],h=n[0],f=n[1],p=n[2],g=n[3],v=n[4],y=n[5],m=n[6],b=n[7],x=n[8];return e[0]=h*r+f*o+p*u,e[1]=h*a+f*s+p*c,e[2]=h*i+f*l+p*d,e[3]=g*r+v*o+y*u,e[4]=g*a+v*s+y*c,e[5]=g*i+v*l+y*d,e[6]=m*r+b*o+x*u,e[7]=m*a+b*s+x*c,e[8]=m*i+b*l+x*d,e}function dp(e,t,n){var r=t[0],a=t[1],i=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],d=t[8],h=n[0],f=n[1];return e[0]=r,e[1]=a,e[2]=i,e[3]=o,e[4]=s,e[5]=l,e[6]=h*r+f*o+u,e[7]=h*a+f*s+c,e[8]=h*i+f*l+d,e}function hp(e,t,n){var r=t[0],a=t[1],i=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],d=t[8],h=Math.sin(n),f=Math.cos(n);return e[0]=f*r+h*o,e[1]=f*a+h*s,e[2]=f*i+h*l,e[3]=f*o-h*r,e[4]=f*s-h*a,e[5]=f*l-h*i,e[6]=u,e[7]=c,e[8]=d,e}function fp(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}function pp(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}Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)}),e(lp,"create"),e(up,"identity"),e(cp,"multiply"),e(dp,"translate"),e(hp,"rotate"),e(fp,"scale"),e(pp,"projection");var gp=function(){function t(e,n,r,i){a(this,t),this.debugID=Math.floor(1e4*Math.random()),this.r=e,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=i(e,n,n),this.scratch=i(e,n,this.texHeight,"scratch")}return e(t,"Atlas"),o(t,[{key:"lock",value:e(function(){this.locked=!0},"lock")},{key:"getKeys",value:e(function(){return new Set(this.keyToLocation.keys())},"getKeys")},{key:"getScale",value:e(function(e){var t=e.w,n=e.h,r=this.texHeight,a=this.texSize,i=r/n,o=t*i,s=n*i;return o>a&&(o=t*(i=a/t),s=n*i),{scale:i,texW:o,texH:s}},"getScale")},{key:"draw",value:e(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,s=this.texHeight,l=this.getScale(n),u=l.scale,c=l.texW,d=l.texH,h=e(function(e,t){if(r&&t){var a=t.context,i=e.x,o=e.row,l=i,c=s*o;a.save(),a.translate(l,c),a.scale(u,u),r(a,n),a.restore()}},"drawAt"),f=[null,null],p=e(function(){h(a.freePointer,a.canvas),f[0]={x:a.freePointer.x,y:a.freePointer.row*s,w:c,h:d},f[1]={x:a.freePointer.x+c,y:a.freePointer.row*s,w:0,h:d},a.freePointer.x+=c,a.freePointer.x==i&&(a.freePointer.x=0,a.freePointer.row++)},"drawNormal"),g=e(function(){var e=a.scratch,t=a.canvas;e.clear(),h({x:0,row:0},e);var n=i-a.freePointer.x,r=c-n,o=s,l=a.freePointer.x,u=a.freePointer.row*s,p=n;t.context.drawImage(e,0,0,p,o,l,u,p,o),f[0]={x:l,y:u,w:p,h:d};var g=n,v=(a.freePointer.row+1)*s,y=r;t&&t.context.drawImage(e,g,0,y,o,0,v,y,o),f[1]={x:0,y:v,w:y,h:d},a.freePointer.x=r,a.freePointer.row++},"drawWrapped"),v=e(function(){a.freePointer.x=0,a.freePointer.row++},"moveToStartOfNextRow");if(this.freePointer.x+c<=i)p();else{if(this.freePointer.row>=o-1)return!1;this.freePointer.x===i?(v(),p()):this.enableWrapping?g():(v(),p())}return this.keyToLocation.set(t,f),this.needsBuffer=!0,f},"draw")},{key:"getOffsets",value:e(function(e){return this.keyToLocation.get(e)},"getOffsets")},{key:"isEmpty",value:e(function(){return 0===this.freePointer.x&&0===this.freePointer.row},"isEmpty")},{key:"canFit",value:e(function(e){if(this.locked)return!1;var t=this.texSize,n=this.texRows,r=this.getScale(e).texW;return!(this.freePointer.x+r>t)||this.freePointer.row<n-1},"canFit")},{key:"bufferIfNeeded",value:e(function(e){this.texture||(this.texture=Jf(e,this.debugID)),this.needsBuffer&&(this.texture.buffer(this.canvas),this.needsBuffer=!1,this.locked&&(this.canvas=null,this.scratch=null))},"bufferIfNeeded")},{key:"dispose",value:e(function(){this.texture&&(this.texture.deleteTexture(),this.texture=null),this.canvas=null,this.scratch=null,this.locked=!0},"dispose")}])}(),vp=function(){function t(e,n,r,i){a(this,t),this.r=e,this.texSize=n,this.texRows=r,this.createTextureCanvas=i,this.atlases=[],this.styleKeyToAtlas=new Map,this.markedKeys=new Set}return e(t,"AtlasCollection"),o(t,[{key:"getKeys",value:e(function(){return new Set(this.styleKeyToAtlas.keys())},"getKeys")},{key:"_createAtlas",value:e(function(){var e=this.r,t=this.texSize,n=this.texRows,r=this.createTextureCanvas;return new gp(e,t,n,r)},"_createAtlas")},{key:"_getScratchCanvas",value:e(function(){if(!this.scratch){var e=this.r,t=this.texSize,n=this.texRows,r=this.createTextureCanvas,a=Math.floor(t/n);this.scratch=r(e,t,a,"scratch")}return this.scratch},"_getScratchCanvas")},{key:"draw",value:e(function(e,t,n){var r=this.styleKeyToAtlas.get(e);return r||((!(r=this.atlases[this.atlases.length-1])||!r.canFit(t))&&(r&&r.lock(),r=this._createAtlas(),this.atlases.push(r)),r.draw(e,t,n),this.styleKeyToAtlas.set(e,r)),r},"draw")},{key:"getAtlas",value:e(function(e){return this.styleKeyToAtlas.get(e)},"getAtlas")},{key:"hasAtlas",value:e(function(e){return this.styleKeyToAtlas.has(e)},"hasAtlas")},{key:"markKeyForGC",value:e(function(e){this.markedKeys.add(e)},"markKeyForGC")},{key:"gc",value:e(function(){var t=this,n=this.markedKeys;if(0!==n.size){var r,a=[],i=new Map,o=null,l=s(this.atlases);try{var u=e(function(){var e=r.value,l=e.getKeys(),u=yp(n,l);if(0===u.size)return a.push(e),l.forEach(function(t){return i.set(t,e)}),1;o||(o=t._createAtlas(),a.push(o));var c,d=s(l);try{for(d.s();!(c=d.n()).done;){var h=c.value;if(!u.has(h)){var p=f(e.getOffsets(h),2),g=p[0],v=p[1];o.canFit({w:g.w+v.w,h:g.h})||(o.lock(),o=t._createAtlas(),a.push(o)),e.canvas&&(t._copyTextureToNewAtlas(h,e,o),i.set(h,o))}}}catch(e){d.e(e)}finally{d.f()}e.dispose()},"_loop");for(l.s();!(r=l.n()).done;)u()}catch(e){l.e(e)}finally{l.f()}this.atlases=a,this.styleKeyToAtlas=i,this.markedKeys=new Set}else console.log("nothing to garbage collect")},"gc")},{key:"_copyTextureToNewAtlas",value:e(function(e,t,n){var r=f(t.getOffsets(e),2),a=r[0],i=r[1];if(0===i.w)n.draw(e,a,function(e){e.drawImage(t.canvas,a.x,a.y,a.w,a.h,0,0,a.w,a.h)});else{var o=this._getScratchCanvas();o.clear(),o.context.drawImage(t.canvas,a.x,a.y,a.w,a.h,0,0,a.w,a.h),o.context.drawImage(t.canvas,i.x,i.y,i.w,i.h,a.w,0,i.w,i.h);var s=a.w+i.w,l=a.h;n.draw(e,{w:s,h:l},function(e){e.drawImage(o,0,0,s,l,0,0,s,l)})}},"_copyTextureToNewAtlas")},{key:"getCounts",value:e(function(){return{keyCount:this.styleKeyToAtlas.size,atlasCount:new Set(this.styleKeyToAtlas.values()).size}},"getCounts")}])}();function yp(e,t){return e.intersection?e.intersection(t):new Set(p(e).filter(function(e){return t.has(e)}))}e(yp,"intersection");var mp=function(){function t(e,n){a(this,t),this.r=e,this.globalOptions=n,this.atlasSize=n.webglTexSize,this.maxAtlasesPerBatch=n.webglTexPerBatch,this.renderTypes=new Map,this.collections=new Map,this.typeAndIdToKey=new Map}return e(t,"AtlasManager"),o(t,[{key:"getAtlasSize",value:e(function(){return this.atlasSize},"getAtlasSize")},{key:"addAtlasCollection",value:e(function(e,t){var n=this.globalOptions,r=n.webglTexSize,a=n.createTextureCanvas,i=t.texRows,o=this._cacheScratchCanvas(a),s=new vp(this.r,r,i,o);this.collections.set(e,s)},"addAtlasCollection")},{key:"addRenderType",value:e(function(e,t){var n=t.collection;if(!this.collections.has(n))throw new Error("invalid atlas collection name '".concat(n,"'"));var r=this.collections.get(n),a=Me({type:e,atlasCollection:r},t);this.renderTypes.set(e,a)},"addRenderType")},{key:"getRenderTypeOpts",value:e(function(e){return this.renderTypes.get(e)},"getRenderTypeOpts")},{key:"getAtlasCollection",value:e(function(e){return this.collections.get(e)},"getAtlasCollection")},{key:"_cacheScratchCanvas",value:e(function(e){var t=-1,n=-1,r=null;return function(a,i,o,s){return s?((!r||i!=t||o!=n)&&(t=i,n=o,r=e(a,i,o)),r):e(a,i,o)}},"_cacheScratchCanvas")},{key:"_key",value:e(function(e,t){return"".concat(e,"-").concat(t)},"_key")},{key:"invalidate",value:e(function(t){var n,r=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=a.forceRedraw,o=void 0!==i&&i,l=a.filterEle,u=void 0===l?function(){return!0}:l,c=a.filterType,d=void 0===c?function(){return!0}:c,h=!1,f=!1,p=s(t);try{for(p.s();!(n=p.n()).done;){var g=n.value;if(u(g)){var v,y=s(this.renderTypes.values());try{var m=e(function(){var e=v.value,t=e.type;if(d(t)){var n=r.collections.get(e.collection),a=e.getKey(g),i=Array.isArray(a)?a:[a];if(o)i.forEach(function(e){return n.markKeyForGC(e)}),f=!0;else{var s=e.getID?e.getID(g):g.id(),l=r._key(t,s),u=r.typeAndIdToKey.get(l);void 0!==u&&!Uf(i,u)&&(h=!0,r.typeAndIdToKey.delete(l),u.forEach(function(e){return n.markKeyForGC(e)}))}}},"_loop2");for(y.s();!(v=y.n()).done;)m()}catch(e){y.e(e)}finally{y.f()}}}}catch(e){p.e(e)}finally{p.f()}return f&&(this.gc(),h=!1),h},"invalidate")},{key:"gc",value:e(function(){var e,t=s(this.collections.values());try{for(t.s();!(e=t.n()).done;){e.value.gc()}}catch(e){t.e(e)}finally{t.f()}},"gc")},{key:"getOrCreateAtlas",value:e(function(e,t,n,r){var a=this.renderTypes.get(t),i=this.collections.get(a.collection),o=!1,s=i.draw(r,n,function(t){a.drawClipped?(t.save(),t.beginPath(),t.rect(0,0,n.w,n.h),t.clip(),a.drawElement(t,e,n,!0,!0),t.restore()):a.drawElement(t,e,n,!0,!0),o=!0});if(o){var l=a.getID?a.getID(e):e.id(),u=this._key(t,l);this.typeAndIdToKey.has(u)?this.typeAndIdToKey.get(u).push(r):this.typeAndIdToKey.set(u,[r])}return s},"getOrCreateAtlas")},{key:"getAtlasInfo",value:e(function(e,t){var n=this,r=this.renderTypes.get(t),a=r.getKey(e);return(Array.isArray(a)?a:[a]).map(function(a){var i=r.getBoundingBox(e,a),o=n.getOrCreateAtlas(e,t,i,a),s=f(o.getOffsets(a),2),l=s[0];return{atlas:o,tex:l,tex1:l,tex2:s[1],bb:i}})},"getAtlasInfo")},{key:"getDebugInfo",value:e(function(){var e,t=[],n=s(this.collections);try{for(n.s();!(e=n.n()).done;){var r=f(e.value,2),a=r[0],i=r[1].getCounts(),o=i.keyCount,l=i.atlasCount;t.push({type:a,keyCount:o,atlasCount:l})}}catch(e){n.e(e)}finally{n.f()}return t},"getDebugInfo")}])}(),bp=function(){function t(e){a(this,t),this.globalOptions=e,this.atlasSize=e.webglTexSize,this.maxAtlasesPerBatch=e.webglTexPerBatch,this.batchAtlases=[]}return e(t,"AtlasBatchManager"),o(t,[{key:"getMaxAtlasesPerBatch",value:e(function(){return this.maxAtlasesPerBatch},"getMaxAtlasesPerBatch")},{key:"getAtlasSize",value:e(function(){return this.atlasSize},"getAtlasSize")},{key:"getIndexArray",value:e(function(){return Array.from({length:this.maxAtlasesPerBatch},function(e,t){return t})},"getIndexArray")},{key:"startBatch",value:e(function(){this.batchAtlases=[]},"startBatch")},{key:"getAtlasCount",value:e(function(){return this.batchAtlases.length},"getAtlasCount")},{key:"getAtlases",value:e(function(){return this.batchAtlases},"getAtlases")},{key:"canAddToCurrentBatch",value:e(function(e){return this.batchAtlases.length!==this.maxAtlasesPerBatch||this.batchAtlases.includes(e)},"canAddToCurrentBatch")},{key:"getAtlasIndexForBatch",value:e(function(e){var t=this.batchAtlases.indexOf(e);if(t<0){if(this.batchAtlases.length===this.maxAtlasesPerBatch)throw new Error("cannot add more atlases to batch");this.batchAtlases.push(e),t=this.batchAtlases.length-1}return t},"getAtlasIndexForBatch")}])}(),xp={SCREEN:{name:"screen",screen:!0},PICKING:{name:"picking",picking:!0}},wp=1,Ep=2,Cp=function(){function t(e,n,r){a(this,t),this.r=e,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=Yf,this.atlasManager=new mp(e,r),this.batchManager=new bp(r),this.simpleShapeOptions=new Map,this.program=this._createShaderProgram(xp.SCREEN),this.pickingProgram=this._createShaderProgram(xp.PICKING),this.vao=this._createVAO()}return e(t,"ElementDrawingWebGL"),o(t,[{key:"addAtlasCollection",value:e(function(e,t){this.atlasManager.addAtlasCollection(e,t)},"addAtlasCollection")},{key:"addTextureAtlasRenderType",value:e(function(e,t){this.atlasManager.addRenderType(e,t)},"addTextureAtlasRenderType")},{key:"addSimpleShapeRenderType",value:e(function(e,t){this.simpleShapeOptions.set(e,t)},"addSimpleShapeRenderType")},{key:"invalidate",value:e(function(t){var n=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).type,r=this.atlasManager;return n?r.invalidate(t,{filterType:e(function(e){return e===n},"filterType"),forceRedraw:!0}):r.invalidate(t)},"invalidate")},{key:"gc",value:e(function(){this.atlasManager.gc()},"gc")},{key:"_createShaderProgram",value:e(function(e){var t=this.gl,n="#version 300 es\n precision highp float;\n\n uniform mat3 uPanZoomMatrix;\n uniform int uAtlasSize;\n\n // instanced\n in vec2 aPosition; // a vertex from the unit square\n\n in mat3 aTransform; // used to transform verticies, eg into a bounding box\n in int aVertType; // the type of thing we are rendering\n\n // the z-index that is output when using picking mode\n in vec4 aIndex;\n\n // For textures\n in int aAtlasId; // which shader unit/atlas to use\n in vec4 aTex; // x/y/w/h of texture in atlas\n\n // for edges\n in vec4 aPointAPointB;\n in vec4 aPointCPointD;\n in vec2 aLineWidth; // also used for node border width\n\n // simple shapes\n in vec4 aCornerRadius; // for round-rectangle [top-right, bottom-right, top-left, bottom-left]\n in vec4 aColor; // also used for edges\n in vec4 aBorderColor; // aLineWidth is used for border width\n\n // output values passed to the fragment shader\n out vec2 vTexCoord;\n out vec4 vColor;\n out vec2 vPosition;\n // flat values are not interpolated\n flat out int vAtlasId;\n flat out int vVertType;\n flat out vec2 vTopRight;\n flat out vec2 vBotLeft;\n flat out vec4 vCornerRadius;\n flat out vec4 vBorderColor;\n flat out vec2 vBorderWidth;\n flat out vec4 vIndex;\n\n void main(void) {\n int vid = gl_VertexID;\n vec2 position = aPosition; // TODO make this a vec3, simplifies some code below\n\n if(aVertType == ".concat(0,") {\n float texX = aTex.x; // texture coordinates\n float texY = aTex.y;\n float texW = aTex.z;\n float texH = aTex.w;\n\n if(vid == 1 || vid == 2 || vid == 4) {\n texX += texW;\n }\n if(vid == 2 || vid == 4 || vid == 5) {\n texY += texH;\n }\n\n float d = float(uAtlasSize);\n vTexCoord = vec2(texX / d, texY / d); // tex coords must be between 0 and 1\n\n gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);\n }\n else if(aVertType == ").concat(4," || aVertType == ").concat(7,"\n || aVertType == ").concat(5," || aVertType == ").concat(6,") { // simple shapes\n\n // the bounding box is needed by the fragment shader\n vBotLeft = (aTransform * vec3(0, 0, 1)).xy; // flat\n vTopRight = (aTransform * vec3(1, 1, 1)).xy; // flat\n vPosition = (aTransform * vec3(position, 1)).xy; // will be interpolated\n\n // calculations are done in the fragment shader, just pass these along\n vColor = aColor;\n vCornerRadius = aCornerRadius;\n vBorderColor = aBorderColor;\n vBorderWidth = aLineWidth;\n\n gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);\n }\n else if(aVertType == ").concat(1,") {\n vec2 source = aPointAPointB.xy;\n vec2 target = aPointAPointB.zw;\n\n // adjust the geometry so that the line is centered on the edge\n position.y = position.y - 0.5;\n\n // stretch the unit square into a long skinny rectangle\n vec2 xBasis = target - source;\n vec2 yBasis = normalize(vec2(-xBasis.y, xBasis.x));\n vec2 point = source + xBasis * position.x + yBasis * aLineWidth[0] * position.y;\n\n gl_Position = vec4(uPanZoomMatrix * vec3(point, 1.0), 1.0);\n vColor = aColor;\n }\n else if(aVertType == ").concat(2,") {\n vec2 pointA = aPointAPointB.xy;\n vec2 pointB = aPointAPointB.zw;\n vec2 pointC = aPointCPointD.xy;\n vec2 pointD = aPointCPointD.zw;\n\n // adjust the geometry so that the line is centered on the edge\n position.y = position.y - 0.5;\n\n vec2 p0, p1, p2, pos;\n if(position.x == 0.0) { // The left side of the unit square\n p0 = pointA;\n p1 = pointB;\n p2 = pointC;\n pos = position;\n } else { // The right side of the unit square, use same approach but flip the geometry upside down\n p0 = pointD;\n p1 = pointC;\n p2 = pointB;\n pos = vec2(0.0, -position.y);\n }\n\n vec2 p01 = p1 - p0;\n vec2 p12 = p2 - p1;\n vec2 p21 = p1 - p2;\n\n // Find the normal vector.\n vec2 tangent = normalize(normalize(p12) + normalize(p01));\n vec2 normal = vec2(-tangent.y, tangent.x);\n\n // Find the vector perpendicular to p0 -> p1.\n vec2 p01Norm = normalize(vec2(-p01.y, p01.x));\n\n // Determine the bend direction.\n float sigma = sign(dot(p01 + p21, normal));\n float width = aLineWidth[0];\n\n if(sign(pos.y) == -sigma) {\n // This is an intersecting vertex. Adjust the position so that there's no overlap.\n vec2 point = 0.5 * width * normal * -sigma / dot(normal, p01Norm);\n gl_Position = vec4(uPanZoomMatrix * vec3(p1 + point, 1.0), 1.0);\n } else {\n // This is a non-intersecting vertex. Treat it like a mitre join.\n vec2 point = 0.5 * width * normal * sigma * dot(normal, p01Norm);\n gl_Position = vec4(uPanZoomMatrix * vec3(p1 + point, 1.0), 1.0);\n }\n\n vColor = aColor;\n }\n else if(aVertType == ").concat(3," && vid < 3) {\n // massage the first triangle into an edge arrow\n if(vid == 0)\n position = vec2(-0.15, -0.3);\n if(vid == 1)\n position = vec2( 0.0, 0.0);\n if(vid == 2)\n position = vec2( 0.15, -0.3);\n\n gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);\n vColor = aColor;\n }\n else {\n gl_Position = vec4(2.0, 0.0, 0.0, 1.0); // discard vertex by putting it outside webgl clip space\n }\n\n vAtlasId = aAtlasId;\n vVertType = aVertType;\n vIndex = aIndex;\n }\n "),r=this.batchManager.getIndexArray(),a=Xf(t,n,"#version 300 es\n precision highp float;\n\n // declare texture unit for each texture atlas in the batch\n ".concat(r.map(function(e){return"uniform sampler2D uTexture".concat(e,";")}).join("\n\t"),"\n\n uniform vec4 uBGColor;\n uniform float uZoom;\n\n in vec2 vTexCoord;\n in vec4 vColor;\n in vec2 vPosition; // model coordinates\n\n flat in int vAtlasId;\n flat in vec4 vIndex;\n flat in int vVertType;\n flat in vec2 vTopRight;\n flat in vec2 vBotLeft;\n flat in vec4 vCornerRadius;\n flat in vec4 vBorderColor;\n flat in vec2 vBorderWidth;\n\n out vec4 outColor;\n\n ").concat("\n float circleSD(vec2 p, float r) {\n return distance(vec2(0), p) - r; // signed distance\n }\n","\n ").concat("\n float rectangleSD(vec2 p, vec2 b) {\n vec2 d = abs(p)-b;\n return distance(vec2(0),max(d,0.0)) + min(max(d.x,d.y),0.0);\n }\n","\n ").concat("\n float roundRectangleSD(vec2 p, vec2 b, vec4 cr) {\n cr.xy = (p.x > 0.0) ? cr.xy : cr.zw;\n cr.x = (p.y > 0.0) ? cr.x : cr.y;\n vec2 q = abs(p) - b + cr.x;\n return min(max(q.x, q.y), 0.0) + distance(vec2(0), max(q, 0.0)) - cr.x;\n }\n","\n ").concat("\n float ellipseSD(vec2 p, vec2 ab) {\n p = abs( p ); // symmetry\n\n // find root with Newton solver\n vec2 q = ab*(p-ab);\n float w = (q.x<q.y)? 1.570796327 : 0.0;\n for( int i=0; i<5; i++ ) {\n vec2 cs = vec2(cos(w),sin(w));\n vec2 u = ab*vec2( cs.x,cs.y);\n vec2 v = ab*vec2(-cs.y,cs.x);\n w = w + dot(p-u,v)/(dot(p-u,u)+dot(v,v));\n }\n\n // compute final point and distance\n float d = length(p-ab*vec2(cos(w),sin(w)));\n\n // return signed distance\n return (dot(p/ab,p/ab)>1.0) ? d : -d;\n }\n","\n\n vec4 blend(vec4 top, vec4 bot) { // blend colors with premultiplied alpha\n return vec4(\n top.rgb + (bot.rgb * (1.0 - top.a)),\n top.a + (bot.a * (1.0 - top.a))\n );\n }\n\n vec4 distInterp(vec4 cA, vec4 cB, float d) { // interpolate color using Signed Distance\n // scale to the zoom level so that borders don't look blurry when zoomed in\n // note 1.5 is an aribitrary value chosen because it looks good\n return mix(cA, cB, 1.0 - smoothstep(0.0, 1.5 / uZoom, abs(d)));\n }\n\n void main(void) {\n if(vVertType == ").concat(0,") {\n // look up the texel from the texture unit\n ").concat(r.map(function(e){return"if(vAtlasId == ".concat(e,") outColor = texture(uTexture").concat(e,", vTexCoord);")}).join("\n\telse "),"\n }\n else if(vVertType == ").concat(3,") {\n // mimics how canvas renderer uses context.globalCompositeOperation = 'destination-out';\n outColor = blend(vColor, uBGColor);\n outColor.a = 1.0; // make opaque, masks out line under arrow\n }\n else if(vVertType == ").concat(4," && vBorderWidth == vec2(0.0)) { // simple rectangle with no border\n outColor = vColor; // unit square is already transformed to the rectangle, nothing else needs to be done\n }\n else if(vVertType == ").concat(4," || vVertType == ").concat(7,"\n || vVertType == ").concat(5," || vVertType == ").concat(6,") { // use SDF\n\n float outerBorder = vBorderWidth[0];\n float innerBorder = vBorderWidth[1];\n float borderPadding = outerBorder * 2.0;\n float w = vTopRight.x - vBotLeft.x - borderPadding;\n float h = vTopRight.y - vBotLeft.y - borderPadding;\n vec2 b = vec2(w/2.0, h/2.0); // half width, half height\n vec2 p = vPosition - vec2(vTopRight.x - b[0] - outerBorder, vTopRight.y - b[1] - outerBorder); // translate to center\n\n float d; // signed distance\n if(vVertType == ").concat(4,") {\n d = rectangleSD(p, b);\n } else if(vVertType == ").concat(7," && w == h) {\n d = circleSD(p, b.x); // faster than ellipse\n } else if(vVertType == ").concat(7,") {\n d = ellipseSD(p, b);\n } else {\n d = roundRectangleSD(p, b, vCornerRadius.wzyx);\n }\n\n // use the distance to interpolate a color to smooth the edges of the shape, doesn't need multisampling\n // we must smooth colors inwards, because we can't change pixels outside the shape's bounding box\n if(d > 0.0) {\n if(d > outerBorder) {\n discard;\n } else {\n outColor = distInterp(vBorderColor, vec4(0), d - outerBorder);\n }\n } else {\n if(d > innerBorder) {\n vec4 outerColor = outerBorder == 0.0 ? vec4(0) : vBorderColor;\n vec4 innerBorderColor = blend(vBorderColor, vColor);\n outColor = distInterp(innerBorderColor, outerColor, d);\n }\n else {\n vec4 outerColor;\n if(innerBorder == 0.0 && outerBorder == 0.0) {\n outerColor = vec4(0);\n } else if(innerBorder == 0.0) {\n outerColor = vBorderColor;\n } else {\n outerColor = blend(vBorderColor, vColor);\n }\n outColor = distInterp(vColor, outerColor, d - innerBorder);\n }\n }\n }\n else {\n outColor = vColor;\n }\n\n ").concat(e.picking?"if(outColor.a == 0.0) discard;\n else outColor = vIndex;":"","\n }\n "));a.aPosition=t.getAttribLocation(a,"aPosition"),a.aIndex=t.getAttribLocation(a,"aIndex"),a.aVertType=t.getAttribLocation(a,"aVertType"),a.aTransform=t.getAttribLocation(a,"aTransform"),a.aAtlasId=t.getAttribLocation(a,"aAtlasId"),a.aTex=t.getAttribLocation(a,"aTex"),a.aPointAPointB=t.getAttribLocation(a,"aPointAPointB"),a.aPointCPointD=t.getAttribLocation(a,"aPointCPointD"),a.aLineWidth=t.getAttribLocation(a,"aLineWidth"),a.aColor=t.getAttribLocation(a,"aColor"),a.aCornerRadius=t.getAttribLocation(a,"aCornerRadius"),a.aBorderColor=t.getAttribLocation(a,"aBorderColor"),a.uPanZoomMatrix=t.getUniformLocation(a,"uPanZoomMatrix"),a.uAtlasSize=t.getUniformLocation(a,"uAtlasSize"),a.uBGColor=t.getUniformLocation(a,"uBGColor"),a.uZoom=t.getUniformLocation(a,"uZoom"),a.uTextures=[];for(var i=0;i<this.batchManager.getMaxAtlasesPerBatch();i++)a.uTextures.push(t.getUniformLocation(a,"uTexture".concat(i)));return a},"_createShaderProgram")},{key:"_createVAO",value:e(function(){var e=[0,0,1,0,1,1,0,0,1,1,0,1];this.vertexCount=e.length/2;var t=this.maxInstances,n=this.gl,r=this.program,a=n.createVertexArray();return n.bindVertexArray(a),rp(n,"vec2",r.aPosition,e),this.transformBuffer=ip(n,t,r.aTransform),this.indexBuffer=ap(n,t,"vec4",r.aIndex),this.vertTypeBuffer=ap(n,t,"int",r.aVertType),this.atlasIdBuffer=ap(n,t,"int",r.aAtlasId),this.texBuffer=ap(n,t,"vec4",r.aTex),this.pointAPointBBuffer=ap(n,t,"vec4",r.aPointAPointB),this.pointCPointDBuffer=ap(n,t,"vec4",r.aPointCPointD),this.lineWidthBuffer=ap(n,t,"vec2",r.aLineWidth),this.colorBuffer=ap(n,t,"vec4",r.aColor),this.cornerRadiusBuffer=ap(n,t,"vec4",r.aCornerRadius),this.borderColorBuffer=ap(n,t,"vec4",r.aBorderColor),n.bindVertexArray(null),a},"_createVAO")},{key:"buffers",get:e(function(){var e=this;return this._buffers||(this._buffers=Object.keys(this).filter(function(e){return Te(e,"Buffer")}).map(function(t){return e[t]})),this._buffers},"get")},{key:"startFrame",value:e(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:xp.SCREEN;this.panZoomMatrix=e,this.renderTarget=t,this.batchDebugInfo=[],this.wrappedCount=0,this.simpleCount=0,this.startBatch()},"startFrame")},{key:"startBatch",value:e(function(){this.instanceCount=0,this.batchManager.startBatch()},"startBatch")},{key:"endFrame",value:e(function(){this.endBatch()},"endFrame")},{key:"_isVisible",value:e(function(e,t){return!!e.visible()&&(!t||!t.isVisible||t.isVisible(e))},"_isVisible")},{key:"drawTexture",value:e(function(e,t,n){var r=this.atlasManager,a=this.batchManager,i=r.getRenderTypeOpts(n);if(this._isVisible(e,i)&&(!e.isEdge()||this._isValidEdge(e))){if(this.renderTarget.picking&&i.getTexPickingMode){var o=i.getTexPickingMode(e);if(o===wp)return;if(o==Ep)return void this.drawPickingRectangle(e,t,n)}var l,u=s(r.getAtlasInfo(e,n));try{for(u.s();!(l=u.n()).done;){var c=l.value,d=c.atlas,h=c.tex1,p=c.tex2;a.canAddToCurrentBatch(d)||this.endBatch();for(var g=a.getAtlasIndexForBatch(d),v=0,y=[[h,!0],[p,!1]];v<y.length;v++){var m=f(y[v],2),b=m[0],x=m[1];if(0!=b.w){var w=this.instanceCount;this.vertTypeBuffer.getView(w)[0]=0,$f(t,this.indexBuffer.getView(w)),this.atlasIdBuffer.getView(w)[0]=g;var E=this.texBuffer.getView(w);E[0]=b.x,E[1]=b.y,E[2]=b.w,E[3]=b.h;var C=this.transformBuffer.getMatrixView(w);this.setTransformMatrix(e,C,i,c,x),this.instanceCount++,x||this.wrappedCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}}catch(e){u.e(e)}finally{u.f()}}},"drawTexture")},{key:"setTransformMatrix",value:e(function(e,t,n,r){var a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=0;if(n.shapeProps&&n.shapeProps.padding&&(i=e.pstyle(n.shapeProps.padding).pfValue),r){var o=r.bb,s=r.tex1,l=r.tex2,u=s.w/(s.w+l.w);a||(u=1-u);var c=this._getAdjustedBB(o,i,a,u);this._applyTransformMatrix(t,c,n,e)}else{var d=n.getBoundingBox(e),h=this._getAdjustedBB(d,i,!0,1);this._applyTransformMatrix(t,h,n,e)}},"setTransformMatrix")},{key:"_applyTransformMatrix",value:e(function(e,t,n,r){var a,i;up(e);var o=n.getRotation?n.getRotation(r):0;if(0!==o){var s=n.getRotationPoint(r);dp(e,e,[s.x,s.y]),hp(e,e,o);var l=n.getRotationOffset(r);a=l.x+(t.xOffset||0),i=l.y+(t.yOffset||0)}else a=t.x1,i=t.y1;dp(e,e,[a,i]),fp(e,e,[t.w,t.h])},"_applyTransformMatrix")},{key:"_getAdjustedBB",value:e(function(e,t,n,r){var a=e.x1,i=e.y1,o=e.w,s=e.h;t&&(a-=t,i-=t,o+=2*t,s+=2*t);var l=0,u=o*r;return n&&r<1?o=u:!n&&r<1&&(a+=l=o-u,o=u),{x1:a,y1:i,w:o,h:s,xOffset:l,yOffset:e.yOffset}},"_getAdjustedBB")},{key:"drawPickingRectangle",value:e(function(e,t,n){var r=this.atlasManager.getRenderTypeOpts(n),a=this.instanceCount;this.vertTypeBuffer.getView(a)[0]=4,$f(t,this.indexBuffer.getView(a)),Zf([0,0,0],1,this.colorBuffer.getView(a));var i=this.transformBuffer.getMatrixView(a);this.setTransformMatrix(e,i,r),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()},"drawPickingRectangle")},{key:"drawNode",value:e(function(e,t,n){var r=this.simpleShapeOptions.get(n);if(this._isVisible(e,r)){var a=r.shapeProps,i=this._getVertTypeForShape(e,a.shape);if(void 0===i||r.isSimple&&!r.isSimple(e))return void this.drawTexture(e,t,n);var o=this.instanceCount;if(this.vertTypeBuffer.getView(o)[0]=i,5===i||6===i){var s=r.getBoundingBox(e),l=this._getCornerRadius(e,a.radius,s),u=this.cornerRadiusBuffer.getView(o);u[0]=l,u[1]=l,u[2]=l,u[3]=l,6===i&&(u[0]=0,u[2]=0)}$f(t,this.indexBuffer.getView(o)),Zf(e.pstyle(a.color).value,e.pstyle(a.opacity).value,this.colorBuffer.getView(o));var c=this.lineWidthBuffer.getView(o);if(c[0]=0,c[1]=0,a.border){var d=e.pstyle("border-width").value;if(d>0){Zf(e.pstyle("border-color").value,e.pstyle("border-opacity").value,this.borderColorBuffer.getView(o));var h=e.pstyle("border-position").value;if("inside"===h)c[0]=0,c[1]=-d;else if("outside"===h)c[0]=d,c[1]=0;else{var f=d/2;c[0]=f,c[1]=-f}}}var p=this.transformBuffer.getMatrixView(o);this.setTransformMatrix(e,p,r),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}},"drawNode")},{key:"_getVertTypeForShape",value:e(function(e,t){switch(e.pstyle(t).value){case"rectangle":return 4;case"ellipse":return 7;case"roundrectangle":case"round-rectangle":return 5;case"bottom-round-rectangle":return 6;default:return}},"_getVertTypeForShape")},{key:"_getCornerRadius",value:e(function(e,t,n){var r=n.w,a=n.h;if("auto"===e.pstyle(t).value)return Pr(r,a);var i=e.pstyle(t).pfValue,o=r/2,s=a/2;return Math.min(i,s,o)},"_getCornerRadius")},{key:"drawEdgeArrow",value:e(function(e,t,n){if(e.visible()){var r,a,i,o=e._private.rscratch;if("source"===n?(r=o.arrowStartX,a=o.arrowStartY,i=o.srcArrowAngle):(r=o.arrowEndX,a=o.arrowEndY,i=o.tgtArrowAngle),!(isNaN(r)||null==r||isNaN(a)||null==a||isNaN(i)||null==i))if("none"!==e.pstyle(n+"-arrow-shape").value){var s=e.pstyle(n+"-arrow-color").value,l=e.pstyle("opacity").value*e.pstyle("line-opacity").value,u=e.pstyle("width").pfValue,c=e.pstyle("arrow-scale").value,d=this.r.getArrowWidth(u,c),h=this.instanceCount,f=this.transformBuffer.getMatrixView(h);up(f),dp(f,f,[r,a]),fp(f,f,[d,d]),hp(f,f,i),this.vertTypeBuffer.getView(h)[0]=3,$f(t,this.indexBuffer.getView(h)),Zf(s,l,this.colorBuffer.getView(h)),this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}},"drawEdgeArrow")},{key:"drawEdgeLine",value:e(function(e,t){if(e.visible()){var n=this._getEdgePoints(e);if(n){var r=e.pstyle("opacity").value,a=e.pstyle("line-opacity").value,i=e.pstyle("width").pfValue,o=e.pstyle("line-color").value,s=r*a;if(n.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),4==n.length){var l=this.instanceCount;this.vertTypeBuffer.getView(l)[0]=1,$f(t,this.indexBuffer.getView(l)),Zf(o,s,this.colorBuffer.getView(l)),this.lineWidthBuffer.getView(l)[0]=i;var u=this.pointAPointBBuffer.getView(l);u[0]=n[0],u[1]=n[1],u[2]=n[2],u[3]=n[3],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}else for(var c=0;c<n.length-2;c+=2){var d=this.instanceCount;this.vertTypeBuffer.getView(d)[0]=2,$f(t,this.indexBuffer.getView(d)),Zf(o,s,this.colorBuffer.getView(d)),this.lineWidthBuffer.getView(d)[0]=i;var h=n[c-2],f=n[c-1],p=n[c],g=n[c+1],v=n[c+2],y=n[c+3],m=n[c+4],b=n[c+5];0==c&&(h=2*p-v+.001,f=2*g-y+.001),c==n.length-4&&(m=2*v-p+.001,b=2*y-g+.001);var x=this.pointAPointBBuffer.getView(d);x[0]=h,x[1]=f,x[2]=p,x[3]=g;var w=this.pointCPointDBuffer.getView(d);w[0]=v,w[1]=y,w[2]=m,w[3]=b,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}},"drawEdgeLine")},{key:"_isValidEdge",value:e(function(e){var t=e._private.rscratch;return!(t.badLine||null==t.allpts||isNaN(t.allpts[0]))},"_isValidEdge")},{key:"_getEdgePoints",value:e(function(e){var t=e._private.rscratch;if(this._isValidEdge(e)){var n=t.allpts;if(4==n.length)return n;var r=this._getNumSegments(e);return this._getCurveSegmentPoints(n,r)}},"_getEdgePoints")},{key:"_getNumSegments",value:e(function(e){return Math.min(Math.max(15,5),this.maxInstances)},"_getNumSegments")},{key:"_getCurveSegmentPoints",value:e(function(e,t){if(4==e.length)return e;for(var n=Array(2*(t+1)),r=0;r<=t;r++)if(0==r)n[0]=e[0],n[1]=e[1];else if(r==t)n[2*r]=e[e.length-2],n[2*r+1]=e[e.length-1];else{var a=r/t;this._setCurvePoint(e,a,n,2*r)}return n},"_getCurveSegmentPoints")},{key:"_setCurvePoint",value:e(function(e,t,n,r){if(!(e.length<=2)){for(var a=Array(e.length-2),i=0;i<a.length;i+=2){var o=(1-t)*e[i]+t*e[i+2],s=(1-t)*e[i+1]+t*e[i+3];a[i]=o,a[i+1]=s}return this._setCurvePoint(a,t,n,r)}n[r]=e[0],n[r+1]=e[1]},"_setCurvePoint")},{key:"endBatch",value:e(function(){var e=this.gl,t=this.vao,n=this.vertexCount,r=this.instanceCount;if(0!==r){var a=this.renderTarget.picking?this.pickingProgram:this.program;e.useProgram(a),e.bindVertexArray(t);var i,o=s(this.buffers);try{for(o.s();!(i=o.n()).done;){i.value.bufferSubData(r)}}catch(e){o.e(e)}finally{o.f()}for(var l=this.batchManager.getAtlases(),u=0;u<l.length;u++)l[u].bufferIfNeeded(e);for(var c=0;c<l.length;c++)e.activeTexture(e.TEXTURE0+c),e.bindTexture(e.TEXTURE_2D,l[c].texture),e.uniform1i(a.uTextures[c],c);e.uniform1f(a.uZoom,Hf(this.r)),e.uniformMatrix3fv(a.uPanZoomMatrix,!1,this.panZoomMatrix),e.uniform1i(a.uAtlasSize,this.batchManager.getAtlasSize());var d=Zf(this.bgColor,1);e.uniform4fv(a.uBGColor,d),e.drawArraysInstanced(e.TRIANGLES,0,n,r),e.bindVertexArray(null),e.bindTexture(e.TEXTURE_2D,null),this.debug&&this.batchDebugInfo.push({count:r,atlasCount:l.length}),this.startBatch()}},"endBatch")},{key:"getDebugInfo",value:e(function(){var e=this.atlasManager.getDebugInfo(),t=e.reduce(function(e,t){return e+t.atlasCount},0),n=this.batchDebugInfo,r=n.reduce(function(e,t){return e+t.count},0);return{atlasInfo:e,totalAtlases:t,wrappedCount:this.wrappedCount,simpleCount:this.simpleCount,batchCount:n.length,batchInfo:n,totalInstances:r}},"getDebugInfo")}])}(),Tp={};function kp(e){var t=e.cy.container(),n=t&&t.style&&t.style.backgroundColor||"white";return ze(n)}function Sp(e,t){var n=e._private.rscratch;return Wt(n,"labelWrapCachedLines",t)||[]}Tp.initWebgl=function(t,n){var r=this,a=r.data.contexts[r.WEBGL];t.bgColor=kp(r),t.webglTexSize=Math.min(t.webglTexSize,a.getParameter(a.MAX_TEXTURE_SIZE)),t.webglTexRows=Math.min(t.webglTexRows,54),t.webglTexRowsNodes=Math.min(t.webglTexRowsNodes,54),t.webglBatchSize=Math.min(t.webglBatchSize,16384),t.webglTexPerBatch=Math.min(t.webglTexPerBatch,a.getParameter(a.MAX_TEXTURE_IMAGE_UNITS)),r.webglDebug=t.webglDebug,r.webglDebugShowAtlases=t.webglDebugShowAtlases,r.pickingFrameBuffer=op(a),r.pickingFrameBuffer.needsDraw=!0,r.drawing=new Cp(r,a,t);var i=e(function(e){return function(t){return r.getTextAngle(t,e)}},"getLabelRotation"),o=e(function(e){return function(t){var n=t.pstyle(e);return n&&n.value}},"isLabelVisible"),s=e(function(e){return function(t){return t.pstyle("".concat(e,"-opacity")).value>0}},"isLayerVisible"),l=e(function(e){return"yes"===e.pstyle("text-events").strValue?Ep:wp},"getTexPickingMode"),u=e(function(e){var t=e.position(),n=t.x,r=t.y,a=e.outerWidth(),i=e.outerHeight();return{w:a,h:i,x1:n-a/2,y1:r-i/2}},"getBBForSimpleShape");r.drawing.addAtlasCollection("node",{texRows:t.webglTexRowsNodes}),r.drawing.addAtlasCollection("label",{texRows:t.webglTexRows}),r.drawing.addTextureAtlasRenderType("node-body",{collection:"node",getKey:n.getStyleKey,getBoundingBox:n.getElementBox,drawElement:n.drawElement}),r.drawing.addSimpleShapeRenderType("node-body",{getBoundingBox:u,isSimple:Gf,shapeProps:{shape:"shape",color:"background-color",opacity:"background-opacity",radius:"corner-radius",border:!0}}),r.drawing.addSimpleShapeRenderType("node-overlay",{getBoundingBox:u,isVisible:s("overlay"),shapeProps:{shape:"overlay-shape",color:"overlay-color",opacity:"overlay-opacity",padding:"overlay-padding",radius:"overlay-corner-radius"}}),r.drawing.addSimpleShapeRenderType("node-underlay",{getBoundingBox:u,isVisible:s("underlay"),shapeProps:{shape:"underlay-shape",color:"underlay-color",opacity:"underlay-opacity",padding:"underlay-padding",radius:"underlay-corner-radius"}}),r.drawing.addTextureAtlasRenderType("label",{collection:"label",getTexPickingMode:l,getKey:Pp(n.getLabelKey,null),getBoundingBox:Bp(n.getLabelBox,null),drawClipped:!0,drawElement:n.drawLabel,getRotation:i(null),getRotationPoint:n.getLabelRotationPoint,getRotationOffset:n.getLabelRotationOffset,isVisible:o("label")}),r.drawing.addTextureAtlasRenderType("edge-source-label",{collection:"label",getTexPickingMode:l,getKey:Pp(n.getSourceLabelKey,"source"),getBoundingBox:Bp(n.getSourceLabelBox,"source"),drawClipped:!0,drawElement:n.drawSourceLabel,getRotation:i("source"),getRotationPoint:n.getSourceLabelRotationPoint,getRotationOffset:n.getSourceLabelRotationOffset,isVisible:o("source-label")}),r.drawing.addTextureAtlasRenderType("edge-target-label",{collection:"label",getTexPickingMode:l,getKey:Pp(n.getTargetLabelKey,"target"),getBoundingBox:Bp(n.getTargetLabelBox,"target"),drawClipped:!0,drawElement:n.drawTargetLabel,getRotation:i("target"),getRotationPoint:n.getTargetLabelRotationPoint,getRotationOffset:n.getTargetLabelRotationOffset,isVisible:o("target-label")});var c=rt(function(){console.log("garbage collect flag set"),r.data.gc=!0},1e4);r.onUpdateEleCalcs(function(e,t){var n=!1;t&&t.length>0&&(n|=r.drawing.invalidate(t)),n&&c()}),_p(r)},e(kp,"getBGColor"),e(Sp,"getLabelLines");var Pp=e(function(e,t){return function(n){var r=e(n),a=Sp(n,t);return a.length>1?a.map(function(e,t){return"".concat(r,"_").concat(t)}):r}},"getStyleKeysForLabel"),Bp=e(function(e,t){return function(n,r){var a=e(n);if("string"==typeof r){var i=r.indexOf("_");if(i>0){var o=Number(r.substring(i+1)),s=Sp(n,t),l=a.h/s.length,u=l*o,c=a.y1+u;return{x1:a.x1,w:a.w,y1:c,h:l,yOffset:u}}}return a}},"getBoundingBoxForLabel");function _p(e){var t=e.render;e.render=function(n){n=n||{};var r=e.cy;e.webgl&&(r.zoom()>7.99?(Dp(e),t.call(e,n)):(Ap(e),Vp(e,n,xp.SCREEN)))};var n=e.matchCanvasSize;e.matchCanvasSize=function(t){n.call(e,t),e.pickingFrameBuffer.setFramebufferAttachmentSizes(e.canvasWidth,e.canvasHeight),e.pickingFrameBuffer.needsDraw=!0},e.findNearestElements=function(t,n,r,a){return Op(e,t,n)};var r=e.invalidateCachedZSortedEles;e.invalidateCachedZSortedEles=function(){r.call(e),e.pickingFrameBuffer.needsDraw=!0};var a=e.notify;e.notify=function(t,n){a.call(e,t,n),"viewport"===t||"bounds"===t?e.pickingFrameBuffer.needsDraw=!0:"background"===t&&e.drawing.invalidate(n,{type:"node-body"})}}function Dp(e){var t=e.data.contexts[e.WEBGL];t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)}function Ap(t){var n=e(function(e){e.save(),e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,t.canvasWidth,t.canvasHeight),e.restore()},"clear");n(t.data.contexts[t.NODE]),n(t.data.contexts[t.DRAG])}function Mp(e){var t=e.canvasWidth,n=e.canvasHeight,r=Wf(e),a=r.pan,i=r.zoom,o=lp();dp(o,o,[a.x,a.y]),fp(o,o,[i,i]);var s=lp();pp(s,t,n);var l=lp();return cp(l,s,o),l}function Rp(e,t){var n=e.canvasWidth,r=e.canvasHeight,a=Wf(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)}function Ip(e,t){e.drawSelectionRectangle(t,function(t){return Rp(e,t)})}function Lp(e){var t=e.data.contexts[e.NODE];t.save(),Rp(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()}function Np(t){var n=e(function(e,n,r){for(var a=e.atlasManager.getAtlasCollection(n),i=t.data.contexts[t.NODE],o=a.atlases,s=0;s<o.length;s++){var l=o[s].canvas;if(l){var u=l.width,c=l.height,d=u*s,h=l.height*r;i.save(),i.scale(.4,.4),i.drawImage(l,d,h),i.strokeStyle="black",i.rect(d,h,u,c),i.stroke(),i.restore()}}},"draw"),r=0;n(t.drawing,"node",r++),n(t.drawing,"label",r++)}function zp(e,t,n,r,a){var i,o,s=Wf(e),l=f(Kf(e,s.pan,s.zoom,t,n),2);i=l[0]-3,o=l[1]-3;var u=e.data.contexts[e.WEBGL];u.bindFramebuffer(u.FRAMEBUFFER,e.pickingFrameBuffer),e.pickingFrameBuffer.needsDraw&&(u.viewport(0,0,u.canvas.width,u.canvas.height),Vp(e,null,xp.PICKING),e.pickingFrameBuffer.needsDraw=!1);var c=new Uint8Array(144);u.readPixels(i,o,6,6,u.RGBA,u.UNSIGNED_BYTE,c),u.bindFramebuffer(u.FRAMEBUFFER,null);for(var d=new Set,h=0;h<36;h++){var p=Qf(c.slice(4*h,4*h+4))-1;p>=0&&d.add(p)}return d}function Op(e,t,n){var r,a,i,o=zp(e,t,n),l=e.getCachedZSortedEles(),u=s(o);try{for(u.s();!(i=u.n()).done;){var c=l[i.value];if(!r&&c.isNode()&&(r=c),!a&&c.isEdge()&&(a=c),r&&a)break}}catch(e){u.e(e)}finally{u.f()}return[r,a].filter(Boolean)}function Fp(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"))}function Vp(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]&&Ip(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 l=Mp(e),u=e.getCachedZSortedEles();if(i=u.length,a.startFrame(l,n),n.screen){for(var c=0;c<u.nondrag.length;c++)Fp(e,c,u.nondrag[c]);for(var d=0;d<u.drag.length;d++)Fp(e,d,u.drag[d])}else if(n.picking)for(var h=0;h<u.length;h++)Fp(e,h,u[h]);a.endFrame(),n.screen&&e.webglDebugShowAtlases&&(Lp(e),Np(e)),e.data.canvasNeedsRedraw[e.NODE]=!1,e.data.canvasNeedsRedraw[e.DRAG]=!1}if(e.webglDebug){var f=performance.now(),p=Math.ceil(f-r),g=a.getDebugInfo(),v=["".concat(i," elements"),"".concat(g.totalInstances," instances"),"".concat(g.batchCount," batches"),"".concat(g.totalAtlases," atlases"),"".concat(g.wrappedCount," wrapped textures"),"".concat(g.simpleCount," simple shapes")].join(", ");console.log("WebGL (".concat(n.name,") - frame time ").concat(p,"ms")),console.log("Totals:"),console.log(" ".concat(v)),console.log("Texture Atlases Used:");var y,m=s(g.atlasInfo);try{for(m.s();!(y=m.n()).done;){var b=y.value;console.log(" ".concat(b.type,": ").concat(b.keyCount," keys, ").concat(b.atlasCount," atlases"))}}catch(e){m.e(e)}finally{m.f()}console.log("")}e.data.gc&&(console.log("Garbage Collect!"),e.data.gc=!1,a.gc())}e(_p,"overrideCanvasRendererFunctions"),e(Dp,"clearWebgl"),e(Ap,"clearCanvas"),e(Mp,"createPanZoomMatrix"),e(Rp,"setContextTransform"),e(Ip,"drawSelectionRectangle"),e(Lp,"drawAxes"),e(Np,"drawAtlases"),e(zp,"getPickingIndexes"),e(Op,"findNearestElementsWebgl"),e(Fp,"drawEle"),e(Vp,"renderWebgl");var qp,jp={drawPolygonPath:function(e,t,n,r,a,i){var o=r/2,s=a/2;e.beginPath&&e.beginPath(),e.moveTo(t+o*i[0],n+s*i[1]);for(var l=1;l<i.length/2;l++)e.lineTo(t+o*i[2*l],n+s*i[2*l+1]);e.closePath()},drawRoundPolygonPath:function(e,t,n,r,a,i,o){o.forEach(function(t){return Lh(e,t)}),e.closePath()},drawRoundRectanglePath:function(e,t,n,r,a,i){var o=r/2,s=a/2,l="auto"===i?Pr(r,a):Math.min(i,s,o);e.beginPath&&e.beginPath(),e.moveTo(t,n-s),e.arcTo(t+o,n-s,t+o,n,l),e.arcTo(t+o,n+s,t,n+s,l),e.arcTo(t-o,n+s,t-o,n,l),e.arcTo(t-o,n-s,t,n-s,l),e.lineTo(t,n-s),e.closePath()},drawBottomRoundRectanglePath:function(e,t,n,r,a,i){var o=r/2,s=a/2,l="auto"===i?Pr(r,a):i;e.beginPath&&e.beginPath(),e.moveTo(t,n-s),e.lineTo(t+o,n-s),e.lineTo(t+o,n),e.arcTo(t+o,n+s,t,n+s,l),e.arcTo(t-o,n+s,t-o,n,l),e.lineTo(t-o,n-s),e.lineTo(t,n-s),e.closePath()},drawCutRectanglePath:function(e,t,n,r,a,i,o){var s=r/2,l=a/2,u="auto"===o?_r():o;e.beginPath&&e.beginPath(),e.moveTo(t-s+u,n-l),e.lineTo(t+s-u,n-l),e.lineTo(t+s,n-l+u),e.lineTo(t+s,n+l-u),e.lineTo(t+s-u,n+l),e.lineTo(t-s+u,n+l),e.lineTo(t-s,n+l-u),e.lineTo(t-s,n-l+u),e.closePath()},drawBarrelPath:function(e,t,n,r,a){var i=r/2,o=a/2,s=t-i,l=t+i,u=n-o,c=n+o,d=Ar(r,a),h=d.widthOffset,f=d.heightOffset,p=d.ctrlPtOffsetPct*h;e.beginPath&&e.beginPath(),e.moveTo(s,u+f),e.lineTo(s,c-f),e.quadraticCurveTo(s+p,c,s+h,c),e.lineTo(l-h,c),e.quadraticCurveTo(l-p,c,l,c-f),e.lineTo(l,u+f),e.quadraticCurveTo(l-p,u,l-h,u),e.lineTo(s+h,u),e.quadraticCurveTo(s+p,u,s,u+f),e.closePath()}},Xp=Math.sin(0),Yp=Math.cos(0),Wp={},Hp={},Kp=Math.PI/40;for(qp=0*Math.PI;qp<2*Math.PI;qp+=Kp)Wp[qp]=Math.sin(qp),Hp[qp]=Math.cos(qp);jp.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,s=r/2,l=a/2,u=0*Math.PI;u<2*Math.PI;u+=Kp)i=t-s*Wp[u]*Xp+s*Hp[u]*Yp,o=n+l*Hp[u]*Xp+l*Wp[u]*Yp,0===u?e.moveTo(i,o):e.lineTo(i,o);e.closePath()};var Gp={};function Up(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})}function Zp(e){var t=e.indexOf(",");return e.substr(t+1)}function $p(t,n,r){var a=e(function(){return n.toDataURL(r,t.quality)},"getB64Uri");switch(t.output){case"blob-promise":return new ai(function(e,a){try{n.toBlob(function(t){null!=t?e(t):a(new Error("`canvas.toBlob()` sent a null value in its callback"))},r,t.quality)}catch(e){a(e)}});case"blob":return Up(Zp(a()),r);case"base64":return Zp(a());default:return a()}}Gp.createBuffer=function(e,t){var n=document.createElement("canvas");return n.width=e,n.height=t,[n,n.getContext("2d")]},Gp.bufferCanvasImage=function(e){var t=this.cy,n=t.mutableElements().boundingBox(),r=this.findContainerClientCoords(),a=e.full?Math.ceil(n.w):r[2],i=e.full?Math.ceil(n.h):r[3],o=ie(e.maxWidth)||ie(e.maxHeight),s=this.getPixelRatio(),l=1;if(void 0!==e.scale)a*=e.scale,i*=e.scale,l=e.scale;else if(o){var u=1/0,c=1/0;ie(e.maxWidth)&&(u=l*e.maxWidth/a),ie(e.maxHeight)&&(c=l*e.maxHeight/i),a*=l=Math.min(u,c),i*=l}o||(a*=s,i*=s,l*=s);var d=document.createElement("canvas");d.width=a,d.height=i,d.style.width=a+"px",d.style.height=i+"px";var h=d.getContext("2d");if(a>0&&i>0){h.clearRect(0,0,a,i),h.globalCompositeOperation="source-over";var f=this.getCachedZSortedEles();if(e.full)h.translate(-n.x1*l,-n.y1*l),h.scale(l,l),this.drawElements(h,f),h.scale(1/l,1/l),h.translate(n.x1*l,n.y1*l);else{var p=t.pan(),g={x:p.x*l,y:p.y*l};l*=t.zoom(),h.translate(g.x,g.y),h.scale(l,l),this.drawElements(h,f),h.scale(1/l,1/l),h.translate(-g.x,-g.y)}e.bg&&(h.globalCompositeOperation="destination-over",h.fillStyle=e.bg,h.rect(0,0,a,i),h.fill())}return d},e(Up,"b64ToBlob"),e(Zp,"b64UriToB64"),e($p,"output"),Gp.png=function(e){return $p(e,this.bufferCanvasImage(e),"image/png")},Gp.jpg=function(e){return $p(e,this.bufferCanvasImage(e),"image/jpeg")};var Qp={nodeShapeImpl:function(e,t,n,r,a,i,o,s){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,s);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(t,n,r,a,i,s);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(t,n,r,a,i,o,s);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(t,n,r,a,i,s);case"barrel":return this.drawBarrelPath(t,n,r,a,i)}}},Jp=tg,eg=tg.prototype;function tg(t){var n=this,r=n.cy.window().document;t.webgl&&(eg.CANVAS_LAYERS=n.CANVAS_LAYERS=4,console.log("webgl rendering enabled")),n.data={canvases:new Array(eg.CANVAS_LAYERS),contexts:new Array(eg.CANVAS_LAYERS),canvasNeedsRedraw:new Array(eg.CANVAS_LAYERS),bufferCanvases:new Array(eg.BUFFER_COUNT),bufferContexts:new Array(eg.CANVAS_LAYERS)};var a="-webkit-tap-highlight-color",i="rgba(0,0,0,0)";n.data.canvasContainer=r.createElement("div");var o=n.data.canvasContainer.style;n.data.canvasContainer.style[a]=i,o.position="relative",o.zIndex="0",o.overflow="hidden";var s=t.cy.container();s.appendChild(n.data.canvasContainer),s.style[a]=i;var l={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};me()&&(l["-ms-touch-action"]="none",l["touch-action"]="none");for(var u=0;u<eg.CANVAS_LAYERS;u++){var c=n.data.canvases[u]=r.createElement("canvas"),d=eg.CANVAS_TYPES[u];n.data.contexts[u]=c.getContext(d),n.data.contexts[u]||Mt("Could not create canvas of type "+d),Object.keys(l).forEach(function(e){c.style[e]=l[e]}),c.style.position="absolute",c.setAttribute("data-id","layer"+u),c.style.zIndex=String(eg.CANVAS_LAYERS-u),n.data.canvasContainer.appendChild(c),n.data.canvasNeedsRedraw[u]=!1}n.data.topCanvas=n.data.canvases[0],n.data.canvases[eg.NODE].setAttribute("data-id","layer"+eg.NODE+"-node"),n.data.canvases[eg.SELECT_BOX].setAttribute("data-id","layer"+eg.SELECT_BOX+"-selectbox"),n.data.canvases[eg.DRAG].setAttribute("data-id","layer"+eg.DRAG+"-drag"),n.data.canvases[eg.WEBGL]&&n.data.canvases[eg.WEBGL].setAttribute("data-id","layer"+eg.WEBGL+"-webgl");for(u=0;u<eg.BUFFER_COUNT;u++)n.data.bufferCanvases[u]=r.createElement("canvas"),n.data.bufferContexts[u]=n.data.bufferCanvases[u].getContext("2d"),n.data.bufferCanvases[u].style.position="absolute",n.data.bufferCanvases[u].setAttribute("data-id","buffer"+u),n.data.bufferCanvases[u].style.zIndex=String(-u-1),n.data.bufferCanvases[u].style.visibility="hidden";n.pathsEnabled=!0;var h=jn(),f=e(function(e){return{x:(e.x1+e.x2)/2,y:(e.y1+e.y2)/2}},"getBoxCenter"),p=e(function(e){return{x:-e.w/2,y:-e.h/2}},"getCenterOffset"),g=e(function(e){var t=e[0]._private;return!(t.oldBackgroundTimestamp===t.backgroundTimestamp)},"backgroundTimestampHasChanged"),v=e(function(e){return e[0]._private.nodeKey},"getStyleKey"),y=e(function(e){return e[0]._private.labelStyleKey},"getLabelKey"),m=e(function(e){return e[0]._private.sourceLabelStyleKey},"getSourceLabelKey"),b=e(function(e){return e[0]._private.targetLabelStyleKey},"getTargetLabelKey"),x=e(function(e,t,r,a,i){return n.drawElement(e,t,r,!1,!1,i)},"drawElement"),w=e(function(e,t,r,a,i){return n.drawElementText(e,t,r,a,"main",i)},"drawLabel"),E=e(function(e,t,r,a,i){return n.drawElementText(e,t,r,a,"source",i)},"drawSourceLabel"),C=e(function(e,t,r,a,i){return n.drawElementText(e,t,r,a,"target",i)},"drawTargetLabel"),T=e(function(e){return e.boundingBox(),e[0]._private.bodyBounds},"getElementBox"),k=e(function(e){return e.boundingBox(),e[0]._private.labelBounds.main||h},"getLabelBox"),S=e(function(e){return e.boundingBox(),e[0]._private.labelBounds.source||h},"getSourceLabelBox"),P=e(function(e){return e.boundingBox(),e[0]._private.labelBounds.target||h},"getTargetLabelBox"),B=e(function(e,t){return t},"isLabelVisibleAtScale"),_=e(function(e){return f(T(e))},"getElementRotationPoint"),D=e(function(e,t,n){var r=e?e+"-":"";return{x:t.x+n.pstyle(r+"text-margin-x").pfValue,y:t.y+n.pstyle(r+"text-margin-y").pfValue}},"addTextMargin"),A=e(function(e,t,n){var r=e[0]._private.rscratch;return{x:r[t],y:r[n]}},"getRsPt"),M=e(function(e){return D("",A(e,"labelX","labelY"),e)},"getLabelRotationPoint"),R=e(function(e){return D("source",A(e,"sourceLabelX","sourceLabelY"),e)},"getSourceLabelRotationPoint"),I=e(function(e){return D("target",A(e,"targetLabelX","targetLabelY"),e)},"getTargetLabelRotationPoint"),L=e(function(e){return p(T(e))},"getElementRotationOffset"),N=e(function(e){return p(S(e))},"getSourceLabelRotationOffset"),z=e(function(e){return p(P(e))},"getTargetLabelRotationOffset"),O=e(function(e){var t=k(e),n=p(k(e));if(e.isNode()){switch(e.pstyle("text-halign").value){case"left":n.x=-t.w-(t.leftPad||0);break;case"right":n.x=-(t.rightPad||0)}switch(e.pstyle("text-valign").value){case"top":n.y=-t.h-(t.topPad||0);break;case"bottom":n.y=-(t.botPad||0)}}return n},"getLabelRotationOffset"),F=n.data.eleTxrCache=new hf(n,{getKey:v,doesEleInvalidateKey:g,drawElement:x,getBoundingBox:T,getRotationPoint:_,getRotationOffset:L,allowEdgeTxrCaching:!1,allowParentTxrCaching:!1}),V=n.data.lblTxrCache=new hf(n,{getKey:y,drawElement:w,getBoundingBox:k,getRotationPoint:M,getRotationOffset:O,isVisible:B}),q=n.data.slbTxrCache=new hf(n,{getKey:m,drawElement:E,getBoundingBox:S,getRotationPoint:R,getRotationOffset:N,isVisible:B}),j=n.data.tlbTxrCache=new hf(n,{getKey:b,drawElement:C,getBoundingBox:P,getRotationPoint:I,getRotationOffset:z,isVisible:B}),X=n.data.lyrTxrCache=new pf(n);n.onUpdateEleCalcs(e(function(e,t){F.invalidateElements(t),V.invalidateElements(t),q.invalidateElements(t),j.invalidateElements(t),X.invalidateElements(t);for(var n=0;n<t.length;n++){var r=t[n]._private;r.oldBackgroundTimestamp=r.backgroundTimestamp}},"invalidateTextureCaches"));var Y=e(function(e){for(var t=0;t<e.length;t++)X.enqueueElementRefinement(e[t].ele)},"refineInLayers");F.onDequeue(Y),V.onDequeue(Y),q.onDequeue(Y),j.onDequeue(Y),t.webgl&&n.initWebgl(t,{getStyleKey:v,getLabelKey:y,getSourceLabelKey:m,getTargetLabelKey:b,drawElement:x,drawLabel:w,drawSourceLabel:E,drawTargetLabel:C,getElementBox:T,getLabelBox:k,getSourceLabelBox:S,getTargetLabelBox:P,getElementRotationPoint:_,getElementRotationOffset:L,getLabelRotationPoint:M,getSourceLabelRotationPoint:R,getTargetLabelRotationPoint:I,getLabelRotationOffset:O,getSourceLabelRotationOffset:N,getTargetLabelRotationOffset:z})}eg.CANVAS_LAYERS=3,eg.SELECT_BOX=0,eg.DRAG=1,eg.NODE=2,eg.WEBGL=3,eg.CANVAS_TYPES=["2d","2d","2d","webgl2"],eg.BUFFER_COUNT=3,eg.TEXTURE_BUFFER=0,eg.MOTIONBLUR_BUFFER_NODE=1,eg.MOTIONBLUR_BUFFER_DRAG=2,e(tg,"CanvasRenderer"),eg.redrawHint=function(e,t){var n=this;switch(e){case"eles":n.data.canvasNeedsRedraw[eg.NODE]=t;break;case"drag":n.data.canvasNeedsRedraw[eg.DRAG]=t;break;case"select":n.data.canvasNeedsRedraw[eg.SELECT_BOX]=t;break;case"gc":n.data.gc=!0}};var ng=typeof Path2D<"u";eg.path2dEnabled=function(e){if(void 0===e)return this.pathsEnabled;this.pathsEnabled=!!e},eg.usePaths=function(){return ng&&this.pathsEnabled},eg.setImgSmoothing=function(e,t){null!=e.imageSmoothingEnabled?e.imageSmoothingEnabled=t:(e.webkitImageSmoothingEnabled=t,e.mozImageSmoothingEnabled=t,e.msImageSmoothingEnabled=t)},eg.getImgSmoothing=function(e){return null!=e.imageSmoothingEnabled?e.imageSmoothingEnabled:e.webkitImageSmoothingEnabled||e.mozImageSmoothingEnabled||e.msImageSmoothingEnabled},eg.makeOffscreenCanvas=function(e,t){var n;"undefined"!==(typeof OffscreenCanvas>"u"?"undefined":y(OffscreenCanvas))?n=new OffscreenCanvas(e,t):((n=this.cy.window().document.createElement("canvas")).width=e,n.height=t);return n},[bf,kf,Mf,If,Lf,Of,qf,Tp,jp,Gp,Qp].forEach(function(e){Me(eg,e)});var rg=[{type:"layout",extensions:oh},{type:"renderer",extensions:[{name:"null",impl:sh},{name:"base",impl:af},{name:"canvas",impl:Jp}]}],ag={},ig={};function og(t,n,r){var a=r,i=e(function(e){It("Can not register `"+n+"` for `"+t+"` since `"+e+"` already exists in the prototype and can not be overridden")},"overrideErr");if("core"===t){if(bd.prototype[n])return i(n);bd.prototype[n]=r}else if("collection"===t){if(Lc.prototype[n])return i(n);Lc.prototype[n]=r}else if("layout"===t){for(var o=e(function(e){this.options=e,r.call(this,e),re(this._private)||(this._private={}),this._private.cy=e.cy,this._private.listeners=[],this.createEmitter()},"Layout"),s=o.prototype=Object.create(r.prototype),l=[],u=0;u<l.length;u++){var c=l[u];s[c]=s[c]||function(){return this}}s.start&&!s.run?s.run=function(){return this.start(),this}:!s.start&&s.run&&(s.start=function(){return this.run(),this});var d=r.prototype.stop;s.stop=function(){var e=this.options;if(e&&e.animate){var t=this.animations;if(t)for(var n=0;n<t.length;n++)t[n].stop()}return d?d.call(this):this.emit("layoutstop"),this},s.destroy||(s.destroy=function(){return this}),s.cy=function(){return this._private.cy};var h=e(function(e){return e._private.cy},"getCy"),f={addEventFields:e(function(e,t){t.layout=e,t.cy=h(e),t.target=e},"addEventFields"),bubble:e(function(){return!0},"bubble"),parent:e(function(e){return h(e)},"parent")};Me(s,{createEmitter:e(function(){return this._private.emitter=new Ju(f,this),this},"createEmitter"),emitter:e(function(){return this._private.emitter},"emitter"),on:e(function(e,t){return this.emitter().on(e,t),this},"on"),one:e(function(e,t){return this.emitter().one(e,t),this},"one"),once:e(function(e,t){return this.emitter().one(e,t),this},"once"),removeListener:e(function(e,t){return this.emitter().removeListener(e,t),this},"removeListener"),removeAllListeners:e(function(){return this.emitter().removeAllListeners(),this},"removeAllListeners"),emit:e(function(e,t){return this.emitter().emit(e,t),this},"emit")}),il.eventAliasesOn(s),a=o}else if("renderer"===t&&"null"!==n&&"base"!==n){var p=sg("renderer","base"),g=p.prototype,v=r,y=r.prototype,m=e(function(){p.apply(this,arguments),v.apply(this,arguments)},"Renderer"),b=m.prototype;for(var x in g){var w=g[x];if(null!=y[x])return i(x);b[x]=w}for(var E in y)b[E]=y[E];g.clientFunctions.forEach(function(e){b[e]=b[e]||function(){Mt("Renderer does not implement `renderer."+e+"()` on its prototype")}}),a=m}else if("__proto__"===t||"constructor"===t||"prototype"===t)return Mt(t+" is an illegal type to be registered, possibly lead to prototype pollutions");return Fe({map:ag,keys:[t,n],value:a})}function sg(e,t){return Ve({map:ag,keys:[e,t]})}function lg(e,t,n,r,a){return Fe({map:ig,keys:[e,t,n,r],value:a})}function ug(e,t,n,r){return Ve({map:ig,keys:[e,t,n,r]})}e(og,"setExtension"),e(sg,"getExtension"),e(lg,"setModule"),e(ug,"getModule");var cg=e(function(){return 2===arguments.length?sg.apply(null,arguments):3===arguments.length?og.apply(null,arguments):4===arguments.length?ug.apply(null,arguments):5===arguments.length?lg.apply(null,arguments):void Mt("Invalid extension access syntax")},"extension");bd.prototype.extension=cg,rg.forEach(function(e){e.extensions.forEach(function(t){og(e.type,t.name,t.impl)})});var dg=e(function(){if(!(this instanceof dg))return new dg;this.length=0},"Stylesheet"),hg=dg.prototype;hg.instanceString=function(){return"stylesheet"},hg.selector=function(e){return this[this.length++]={selector:e,properties:[]},this},hg.css=function(e,t){var n=this.length-1;if(ee(e))this[n].properties.push({name:e,value:t});else if(re(e))for(var r=e,a=Object.keys(r),i=0;i<a.length;i++){var o=a[i],s=r[o];if(null!=s){var l=pd.properties[o]||pd.properties[we(o)];if(null!=l){var u=l.name,c=s;this[n].properties.push({name:u,value:c})}}}return this},hg.style=hg.css,hg.generateStyle=function(e){var t=new pd(e);return this.appendToStyle(t)},hg.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 fg=e(function(e){return void 0===e&&(e={}),re(e)?new bd(e):ee(e)?cg.apply(cg,arguments):void 0},"cytoscape");fg.use=function(e){var t=Array.prototype.slice.call(arguments,1);return t.unshift(fg),e.apply(null,t),this},fg.warnings=function(e){return Rt(e)},fg.version="3.33.1",fg.stylesheet=fg.Stylesheet=dg;
|
||
/*! 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{fg as r};
|
||
//# sourceMappingURL=chunk-7SRKK4IT-oi13fkBO.js.map
|