59 lines
648 KiB
JavaScript
59 lines
648 KiB
JavaScript
(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{951:function(g,A,t){"use strict";(function(g){t.d(A,"a",(function(){return Os})),t.d(A,"b",(function(){return Fh}));
|
||
/**
|
||
* vis-network
|
||
* https://visjs.github.io/vis-network/
|
||
*
|
||
* A dynamic, browser-based visualization library.
|
||
*
|
||
* @version 8.0.0
|
||
* @date 2020-08-03T19:17:24.334Z
|
||
*
|
||
* @copyright (c) 2011-2017 Almende B.V, http://almende.com
|
||
* @copyright (c) 2017-2019 visjs contributors, https://github.com/visjs
|
||
*
|
||
* @license
|
||
* vis.js is dual licensed under both
|
||
*
|
||
* 1. The Apache 2.0 License
|
||
* http://www.apache.org/licenses/LICENSE-2.0
|
||
*
|
||
* and
|
||
*
|
||
* 2. The MIT License
|
||
* http://opensource.org/licenses/MIT
|
||
*
|
||
* vis.js may be distributed under either license.
|
||
*/
|
||
var C="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==g?g:"undefined"!=typeof self?self:{};function I(g,A,t){return g(t={path:A,exports:{},require:function(g,A){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==A&&t.path)}},t.exports),t.exports}var e=function(g){return g&&g.Math==Math&&g},i=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof C&&C)||Function("return this")(),o=function(g){try{return!!g()}catch(g){return!0}},n=!o((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),r={}.propertyIsEnumerable,s=Object.getOwnPropertyDescriptor,a={f:s&&!r.call({1:2},1)?function(g){var A=s(this,g);return!!A&&A.enumerable}:r},d=function(g,A){return{enumerable:!(1&g),configurable:!(2&g),writable:!(4&g),value:A}},h={}.toString,l=function(g){return h.call(g).slice(8,-1)},c="".split,u=o((function(){return!Object("z").propertyIsEnumerable(0)}))?function(g){return"String"==l(g)?c.call(g,""):Object(g)}:Object,p=function(g){if(null==g)throw TypeError("Can't call method on "+g);return g},v=function(g){return u(p(g))},f=function(g){return"object"==typeof g?null!==g:"function"==typeof g},y=function(g,A){if(!f(g))return g;var t,C;if(A&&"function"==typeof(t=g.toString)&&!f(C=t.call(g)))return C;if("function"==typeof(t=g.valueOf)&&!f(C=t.call(g)))return C;if(!A&&"function"==typeof(t=g.toString)&&!f(C=t.call(g)))return C;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,m=function(g,A){return b.call(g,A)},w=i.document,k=f(w)&&f(w.createElement),x=function(g){return k?w.createElement(g):{}},O=!n&&!o((function(){return 7!=Object.defineProperty(x("div"),"a",{get:function(){return 7}}).a})),E=Object.getOwnPropertyDescriptor,T={f:n?E:function(g,A){if(g=v(g),A=y(A,!0),O)try{return E(g,A)}catch(g){}if(m(g,A))return d(!a.f.call(g,A),g[A])}},D=/#|\.prototype\./,R=function(g,A){var t=P[N(g)];return t==S||t!=M&&("function"==typeof A?o(A):!!A)},N=R.normalize=function(g){return String(g).replace(D,".").toLowerCase()},P=R.data={},M=R.NATIVE="N",S=R.POLYFILL="P",z=R,B={},Z=function(g){if("function"!=typeof g)throw TypeError(String(g)+" is not a function");return g},F=function(g,A,t){if(Z(g),void 0===A)return g;switch(t){case 0:return function(){return g.call(A)};case 1:return function(t){return g.call(A,t)};case 2:return function(t,C){return g.call(A,t,C)};case 3:return function(t,C,I){return g.call(A,t,C,I)}}return function(){return g.apply(A,arguments)}},G=function(g){if(!f(g))throw TypeError(String(g)+" is not an object");return g},j=Object.defineProperty,L={f:n?j:function(g,A,t){if(G(g),A=y(A,!0),G(t),O)try{return j(g,A,t)}catch(g){}if("get"in t||"set"in t)throw TypeError("Accessors not supported");return"value"in t&&(g[A]=t.value),g}},V=n?function(g,A,t){return L.f(g,A,d(1,t))}:function(g,A,t){return g[A]=t,g},Y=T.f,W=function(g){var A=function(A,t,C){if(this instanceof g){switch(arguments.length){case 0:return new g;case 1:return new g(A);case 2:return new g(A,t)}return new g(A,t,C)}return g.apply(this,arguments)};return A.prototype=g.prototype,A},H=function(g,A){var t,C,I,e,o,n,r,s,a=g.target,d=g.global,h=g.stat,l=g.proto,c=d?i:h?i[a]:(i[a]||{}).prototype,u=d?B:B[a]||(B[a]={}),p=u.prototype;for(I in A)t=!z(d?I:a+(h?".":"#")+I,g.forced)&&c&&m(c,I),o=u[I],t&&(n=g.noTargetGet?(s=Y(c,I))&&s.value:c[I]),e=t&&n?n:A[I],t&&typeof o==typeof e||(r=g.bind&&t?F(e,i):g.wrap&&t?W(e):l&&"function"==typeof e?F(Function.call,e):e,(g.sham||e&&e.sham||o&&o.sham)&&V(r,"sham",!0),u[I]=r,l&&(m(B,C=a+"Prototype")||V(B,C,{}),B[C][I]=e,g.real&&p&&!p[I]&&V(p,I,e)))},Q=[].slice,U={},K=function(g,A,t){if(!(A in U)){for(var C=[],I=0;I<A;I++)C[I]="a["+I+"]";U[A]=Function("C,a","return new C("+C.join(",")+")")}return U[A](g,t)},X=Function.bind||function(g){var A=Z(this),t=Q.call(arguments,1),C=function(){var I=t.concat(Q.call(arguments));return this instanceof C?K(A,I.length,I):A.apply(g,I)};return f(A.prototype)&&(C.prototype=A.prototype),C};H({target:"Function",proto:!0},{bind:X});var _=function(g){return B[g+"Prototype"]},J=_("Function").bind,q=Function.prototype,$=function(g){var A=g.bind;return g===q||g instanceof Function&&A===q.bind?J:A},gg=Math.ceil,Ag=Math.floor,tg=function(g){return isNaN(g=+g)?0:(g>0?Ag:gg)(g)},Cg=Math.min,Ig=function(g){return g>0?Cg(tg(g),9007199254740991):0},eg=Math.max,ig=Math.min,og=function(g,A){var t=tg(g);return t<0?eg(t+A,0):ig(t,A)},ng=function(g){return function(A,t,C){var I,e=v(A),i=Ig(e.length),o=og(C,i);if(g&&t!=t){for(;i>o;)if((I=e[o++])!=I)return!0}else for(;i>o;o++)if((g||o in e)&&e[o]===t)return g||o||0;return!g&&-1}},rg={includes:ng(!0),indexOf:ng(!1)},sg={},ag=rg.indexOf,dg=function(g,A){var t,C=v(g),I=0,e=[];for(t in C)!m(sg,t)&&m(C,t)&&e.push(t);for(;A.length>I;)m(C,t=A[I++])&&(~ag(e,t)||e.push(t));return e},hg=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],lg=Object.keys||function(g){return dg(g,hg)},cg={f:Object.getOwnPropertySymbols},ug=function(g){return Object(p(g))},pg=Object.assign,vg=Object.defineProperty,fg=!pg||o((function(){if(n&&1!==pg({b:1},pg(vg({},"a",{enumerable:!0,get:function(){vg(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var g={},A={},t=Symbol();return g[t]=7,"abcdefghijklmnopqrst".split("").forEach((function(g){A[g]=g})),7!=pg({},g)[t]||"abcdefghijklmnopqrst"!=lg(pg({},A)).join("")}))?function(g,A){for(var t=ug(g),C=arguments.length,I=1,e=cg.f,i=a.f;C>I;)for(var o,r=u(arguments[I++]),s=e?lg(r).concat(e(r)):lg(r),d=s.length,h=0;d>h;)o=s[h++],n&&!i.call(r,o)||(t[o]=r[o]);return t}:pg;H({target:"Object",stat:!0,forced:Object.assign!==fg},{assign:fg});var yg=B.Object.assign;function bg(g,A,t,C){g.beginPath(),g.arc(A,t,C,0,2*Math.PI,!1),g.closePath()}function mg(g,A,t,C,I,e){var i=Math.PI/180;C-2*e<0&&(e=C/2),I-2*e<0&&(e=I/2),g.beginPath(),g.moveTo(A+e,t),g.lineTo(A+C-e,t),g.arc(A+C-e,t+e,e,270*i,360*i,!1),g.lineTo(A+C,t+I-e),g.arc(A+C-e,t+I-e,e,0,90*i,!1),g.lineTo(A+e,t+I),g.arc(A+e,t+I-e,e,90*i,180*i,!1),g.lineTo(A,t+e),g.arc(A+e,t+e,e,180*i,270*i,!1),g.closePath()}function wg(g,A,t,C,I){var e=C/2*.5522848,i=I/2*.5522848,o=A+C,n=t+I,r=A+C/2,s=t+I/2;g.beginPath(),g.moveTo(A,s),g.bezierCurveTo(A,s-i,r-e,t,r,t),g.bezierCurveTo(r+e,t,o,s-i,o,s),g.bezierCurveTo(o,s+i,r+e,n,r,n),g.bezierCurveTo(r-e,n,A,s+i,A,s),g.closePath()}function kg(g,A,t,C,I){var e=I*(1/3),i=C/2*.5522848,o=e/2*.5522848,n=A+C,r=t+e,s=A+C/2,a=t+e/2,d=t+(I-e/2),h=t+I;g.beginPath(),g.moveTo(n,a),g.bezierCurveTo(n,a+o,s+i,r,s,r),g.bezierCurveTo(s-i,r,A,a+o,A,a),g.bezierCurveTo(A,a-o,s-i,t,s,t),g.bezierCurveTo(s+i,t,n,a-o,n,a),g.lineTo(n,d),g.bezierCurveTo(n,d+o,s+i,h,s,h),g.bezierCurveTo(s-i,h,A,d+o,A,d),g.lineTo(A,a)}function xg(g,A,t,C,I,e){g.beginPath(),g.moveTo(A,t);for(var i=e.length,o=C-A,n=I-t,r=n/o,s=Math.sqrt(o*o+n*n),a=0,d=!0,h=0,l=+e[0];s>=.1;)(l=+e[a++%i])>s&&(l=s),h=Math.sqrt(l*l/(1+r*r)),A+=h=o<0?-h:h,t+=r*h,!0===d?g.lineTo(A,t):g.moveTo(A,t),s-=l,d=!d}var Og={circle:bg,dashedLine:xg,database:kg,diamond:function(g,A,t,C){g.beginPath(),g.lineTo(A,t+C),g.lineTo(A+C,t),g.lineTo(A,t-C),g.lineTo(A-C,t),g.closePath()},ellipse:wg,ellipse_vis:wg,hexagon:function(g,A,t,C){g.beginPath();var I=2*Math.PI/6;g.moveTo(A+C,t);for(var e=1;e<6;e++)g.lineTo(A+C*Math.cos(I*e),t+C*Math.sin(I*e));g.closePath()},roundRect:mg,square:function(g,A,t,C){g.beginPath(),g.rect(A-C,t-C,2*C,2*C),g.closePath()},star:function(g,A,t,C){g.beginPath(),t+=.1*(C*=.82);for(var I=0;I<10;I++){var e=I%2==0?1.3*C:.5*C;g.lineTo(A+e*Math.sin(2*I*Math.PI/10),t-e*Math.cos(2*I*Math.PI/10))}g.closePath()},triangle:function(g,A,t,C){g.beginPath(),t+=.275*(C*=1.15);var I=2*C,e=I/2,i=Math.sqrt(3)/6*I,o=Math.sqrt(I*I-e*e);g.moveTo(A,t-(o-i)),g.lineTo(A+e,t+i),g.lineTo(A-e,t+i),g.lineTo(A,t-(o-i)),g.closePath()},triangleDown:function(g,A,t,C){g.beginPath(),t-=.275*(C*=1.15);var I=2*C,e=I/2,i=Math.sqrt(3)/6*I,o=Math.sqrt(I*I-e*e);g.moveTo(A,t+(o-i)),g.lineTo(A+e,t-i),g.lineTo(A-e,t-i),g.lineTo(A,t+(o-i)),g.closePath()}};var Eg=I((function(g){function A(g){if(g)return function(g){for(var t in A.prototype)g[t]=A.prototype[t];return g}(g)}g.exports=A,A.prototype.on=A.prototype.addEventListener=function(g,A){return this._callbacks=this._callbacks||{},(this._callbacks["$"+g]=this._callbacks["$"+g]||[]).push(A),this},A.prototype.once=function(g,A){function t(){this.off(g,t),A.apply(this,arguments)}return t.fn=A,this.on(g,t),this},A.prototype.off=A.prototype.removeListener=A.prototype.removeAllListeners=A.prototype.removeEventListener=function(g,A){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var t,C=this._callbacks["$"+g];if(!C)return this;if(1==arguments.length)return delete this._callbacks["$"+g],this;for(var I=0;I<C.length;I++)if((t=C[I])===A||t.fn===A){C.splice(I,1);break}return 0===C.length&&delete this._callbacks["$"+g],this},A.prototype.emit=function(g){this._callbacks=this._callbacks||{};for(var A=new Array(arguments.length-1),t=this._callbacks["$"+g],C=1;C<arguments.length;C++)A[C-1]=arguments[C];if(t){C=0;for(var I=(t=t.slice(0)).length;C<I;++C)t[C].apply(this,A)}return this},A.prototype.listeners=function(g){return this._callbacks=this._callbacks||{},this._callbacks["$"+g]||[]},A.prototype.hasListeners=function(g){return!!this.listeners(g).length}}));H({target:"Object",stat:!0,forced:!n,sham:!n},{defineProperty:L.f});var Tg=I((function(g){var A=B.Object,t=g.exports=function(g,t,C){return A.defineProperty(g,t,C)};A.defineProperty.sham&&(t.sham=!0)})),Dg=Tg,Rg=n?Object.defineProperties:function(g,A){G(g);for(var t,C=lg(A),I=C.length,e=0;I>e;)L.f(g,t=C[e++],A[t]);return g};H({target:"Object",stat:!0,forced:!n,sham:!n},{defineProperties:Rg});var Ng=I((function(g){var A=B.Object,t=g.exports=function(g,t){return A.defineProperties(g,t)};A.defineProperties.sham&&(t.sham=!0)})),Pg=function(g){return"function"==typeof g?g:void 0},Mg=function(g,A){return arguments.length<2?Pg(B[g])||Pg(i[g]):B[g]&&B[g][A]||i[g]&&i[g][A]},Sg=hg.concat("length","prototype"),zg={f:Object.getOwnPropertyNames||function(g){return dg(g,Sg)}},Bg=Mg("Reflect","ownKeys")||function(g){var A=zg.f(G(g)),t=cg.f;return t?A.concat(t(g)):A},Zg=function(g,A,t){var C=y(A);C in g?L.f(g,C,d(0,t)):g[C]=t};H({target:"Object",stat:!0,sham:!n},{getOwnPropertyDescriptors:function(g){for(var A,t,C=v(g),I=T.f,e=Bg(C),i={},o=0;e.length>o;)void 0!==(t=I(C,A=e[o++]))&&Zg(i,A,t);return i}});var Fg=B.Object.getOwnPropertyDescriptors,Gg=T.f,jg=o((function(){Gg(1)}));H({target:"Object",stat:!0,forced:!n||jg,sham:!n},{getOwnPropertyDescriptor:function(g,A){return Gg(v(g),A)}});var Lg,Vg=I((function(g){var A=B.Object,t=g.exports=function(g,t){return A.getOwnPropertyDescriptor(g,t)};A.getOwnPropertyDescriptor.sham&&(t.sham=!0)})),Yg=Vg,Wg=!!Object.getOwnPropertySymbols&&!o((function(){return!String(Symbol())})),Hg=Wg&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Qg=Array.isArray||function(g){return"Array"==l(g)},Ug=Mg("document","documentElement"),Kg=i["__core-js_shared__"]||function(g,A){try{V(i,g,A)}catch(t){i[g]=A}return A}("__core-js_shared__",{}),Xg=I((function(g){(g.exports=function(g,A){return Kg[g]||(Kg[g]=void 0!==A?A:{})})("versions",[]).push({version:"3.6.4",mode:"pure",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})})),_g=0,Jg=Math.random(),qg=function(g){return"Symbol("+String(void 0===g?"":g)+")_"+(++_g+Jg).toString(36)},$g=Xg("keys"),gA=function(g){return $g[g]||($g[g]=qg(g))},AA=gA("IE_PROTO"),tA=function(){},CA=function(g){return"<script>"+g+"<\/script>"},IA=function(){try{Lg=document.domain&&new ActiveXObject("htmlfile")}catch(g){}var g,A;IA=Lg?function(g){g.write(CA("")),g.close();var A=g.parentWindow.Object;return g=null,A}(Lg):((A=x("iframe")).style.display="none",Ug.appendChild(A),A.src=String("javascript:"),(g=A.contentWindow.document).open(),g.write(CA("document.F=Object")),g.close(),g.F);for(var t=hg.length;t--;)delete IA.prototype[hg[t]];return IA()};sg[AA]=!0;var eA=Object.create||function(g,A){var t;return null!==g?(tA.prototype=G(g),t=new tA,tA.prototype=null,t[AA]=g):t=IA(),void 0===A?t:Rg(t,A)},iA=zg.f,oA={}.toString,nA="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],rA={f:function(g){return nA&&"[object Window]"==oA.call(g)?function(g){try{return iA(g)}catch(g){return nA.slice()}}(g):iA(v(g))}},sA=function(g,A,t,C){C&&C.enumerable?g[A]=t:V(g,A,t)},aA=Xg("wks"),dA=i.Symbol,hA=Hg?dA:dA&&dA.withoutSetter||qg,lA=function(g){return m(aA,g)||(Wg&&m(dA,g)?aA[g]=dA[g]:aA[g]=hA("Symbol."+g)),aA[g]},cA={f:lA},uA=L.f,pA=function(g){var A=B.Symbol||(B.Symbol={});m(A,g)||uA(A,g,{value:cA.f(g)})},vA={};vA[lA("toStringTag")]="z";var fA="[object z]"===String(vA),yA=lA("toStringTag"),bA="Arguments"==l(function(){return arguments}()),mA=fA?l:function(g){var A,t,C;return void 0===g?"Undefined":null===g?"Null":"string"==typeof(t=function(g,A){try{return g[A]}catch(g){}}(A=Object(g),yA))?t:bA?l(A):"Object"==(C=l(A))&&"function"==typeof A.callee?"Arguments":C},wA=fA?{}.toString:function(){return"[object "+mA(this)+"]"},kA=L.f,xA=lA("toStringTag"),OA=function(g,A,t,C){if(g){var I=t?g:g.prototype;m(I,xA)||kA(I,xA,{configurable:!0,value:A}),C&&!fA&&V(I,"toString",wA)}},EA=Function.toString;"function"!=typeof Kg.inspectSource&&(Kg.inspectSource=function(g){return EA.call(g)});var TA,DA,RA,NA=Kg.inspectSource,PA=i.WeakMap,MA="function"==typeof PA&&/native code/.test(NA(PA)),SA=i.WeakMap;if(MA){var zA=new SA,BA=zA.get,ZA=zA.has,FA=zA.set;TA=function(g,A){return FA.call(zA,g,A),A},DA=function(g){return BA.call(zA,g)||{}},RA=function(g){return ZA.call(zA,g)}}else{var GA=gA("state");sg[GA]=!0,TA=function(g,A){return V(g,GA,A),A},DA=function(g){return m(g,GA)?g[GA]:{}},RA=function(g){return m(g,GA)}}var jA={set:TA,get:DA,has:RA,enforce:function(g){return RA(g)?DA(g):TA(g,{})},getterFor:function(g){return function(A){var t;if(!f(A)||(t=DA(A)).type!==g)throw TypeError("Incompatible receiver, "+g+" required");return t}}},LA=lA("species"),VA=function(g,A){var t;return Qg(g)&&("function"!=typeof(t=g.constructor)||t!==Array&&!Qg(t.prototype)?f(t)&&null===(t=t[LA])&&(t=void 0):t=void 0),new(void 0===t?Array:t)(0===A?0:A)},YA=[].push,WA=function(g){var A=1==g,t=2==g,C=3==g,I=4==g,e=6==g,i=5==g||e;return function(o,n,r,s){for(var a,d,h=ug(o),l=u(h),c=F(n,r,3),p=Ig(l.length),v=0,f=s||VA,y=A?f(o,p):t?f(o,0):void 0;p>v;v++)if((i||v in l)&&(d=c(a=l[v],v,h),g))if(A)y[v]=d;else if(d)switch(g){case 3:return!0;case 5:return a;case 6:return v;case 2:YA.call(y,a)}else if(I)return!1;return e?-1:C||I?I:y}},HA={forEach:WA(0),map:WA(1),filter:WA(2),some:WA(3),every:WA(4),find:WA(5),findIndex:WA(6)},QA=HA.forEach,UA=gA("hidden"),KA=lA("toPrimitive"),XA=jA.set,_A=jA.getterFor("Symbol"),JA=Object.prototype,qA=i.Symbol,$A=Mg("JSON","stringify"),gt=T.f,At=L.f,tt=rA.f,Ct=a.f,It=Xg("symbols"),et=Xg("op-symbols"),it=Xg("string-to-symbol-registry"),ot=Xg("symbol-to-string-registry"),nt=Xg("wks"),rt=i.QObject,st=!rt||!rt.prototype||!rt.prototype.findChild,at=n&&o((function(){return 7!=eA(At({},"a",{get:function(){return At(this,"a",{value:7}).a}})).a}))?function(g,A,t){var C=gt(JA,A);C&&delete JA[A],At(g,A,t),C&&g!==JA&&At(JA,A,C)}:At,dt=function(g,A){var t=It[g]=eA(qA.prototype);return XA(t,{type:"Symbol",tag:g,description:A}),n||(t.description=A),t},ht=Hg?function(g){return"symbol"==typeof g}:function(g){return Object(g)instanceof qA},lt=function(g,A,t){g===JA&<(et,A,t),G(g);var C=y(A,!0);return G(t),m(It,C)?(t.enumerable?(m(g,UA)&&g[UA][C]&&(g[UA][C]=!1),t=eA(t,{enumerable:d(0,!1)})):(m(g,UA)||At(g,UA,d(1,{})),g[UA][C]=!0),at(g,C,t)):At(g,C,t)},ct=function(g,A){G(g);var t=v(A),C=lg(t).concat(ft(t));return QA(C,(function(A){n&&!ut.call(t,A)||lt(g,A,t[A])})),g},ut=function(g){var A=y(g,!0),t=Ct.call(this,A);return!(this===JA&&m(It,A)&&!m(et,A))&&(!(t||!m(this,A)||!m(It,A)||m(this,UA)&&this[UA][A])||t)},pt=function(g,A){var t=v(g),C=y(A,!0);if(t!==JA||!m(It,C)||m(et,C)){var I=gt(t,C);return!I||!m(It,C)||m(t,UA)&&t[UA][C]||(I.enumerable=!0),I}},vt=function(g){var A=tt(v(g)),t=[];return QA(A,(function(g){m(It,g)||m(sg,g)||t.push(g)})),t},ft=function(g){var A=g===JA,t=tt(A?et:v(g)),C=[];return QA(t,(function(g){!m(It,g)||A&&!m(JA,g)||C.push(It[g])})),C};if(Wg||(sA((qA=function(){if(this instanceof qA)throw TypeError("Symbol is not a constructor");var g=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,A=qg(g),t=function(g){this===JA&&t.call(et,g),m(this,UA)&&m(this[UA],A)&&(this[UA][A]=!1),at(this,A,d(1,g))};return n&&st&&at(JA,A,{configurable:!0,set:t}),dt(A,g)}).prototype,"toString",(function(){return _A(this).tag})),sA(qA,"withoutSetter",(function(g){return dt(qg(g),g)})),a.f=ut,L.f=lt,T.f=pt,zg.f=rA.f=vt,cg.f=ft,cA.f=function(g){return dt(lA(g),g)},n&&At(qA.prototype,"description",{configurable:!0,get:function(){return _A(this).description}})),H({global:!0,wrap:!0,forced:!Wg,sham:!Wg},{Symbol:qA}),QA(lg(nt),(function(g){pA(g)})),H({target:"Symbol",stat:!0,forced:!Wg},{for:function(g){var A=String(g);if(m(it,A))return it[A];var t=qA(A);return it[A]=t,ot[t]=A,t},keyFor:function(g){if(!ht(g))throw TypeError(g+" is not a symbol");if(m(ot,g))return ot[g]},useSetter:function(){st=!0},useSimple:function(){st=!1}}),H({target:"Object",stat:!0,forced:!Wg,sham:!n},{create:function(g,A){return void 0===A?eA(g):ct(eA(g),A)},defineProperty:lt,defineProperties:ct,getOwnPropertyDescriptor:pt}),H({target:"Object",stat:!0,forced:!Wg},{getOwnPropertyNames:vt,getOwnPropertySymbols:ft}),H({target:"Object",stat:!0,forced:o((function(){cg.f(1)}))},{getOwnPropertySymbols:function(g){return cg.f(ug(g))}}),$A){var yt=!Wg||o((function(){var g=qA();return"[null]"!=$A([g])||"{}"!=$A({a:g})||"{}"!=$A(Object(g))}));H({target:"JSON",stat:!0,forced:yt},{stringify:function(g,A,t){for(var C,I=[g],e=1;arguments.length>e;)I.push(arguments[e++]);if(C=A,(f(A)||void 0!==g)&&!ht(g))return Qg(A)||(A=function(g,A){if("function"==typeof C&&(A=C.call(this,g,A)),!ht(A))return A}),I[1]=A,$A.apply(null,I)}})}qA.prototype[KA]||V(qA.prototype,KA,qA.prototype.valueOf),OA(qA,"Symbol"),sg[UA]=!0;var bt,mt,wt,kt=B.Object.getOwnPropertySymbols,xt={},Ot=!o((function(){function g(){}return g.prototype.constructor=null,Object.getPrototypeOf(new g)!==g.prototype})),Et=gA("IE_PROTO"),Tt=Object.prototype,Dt=Ot?Object.getPrototypeOf:function(g){return g=ug(g),m(g,Et)?g[Et]:"function"==typeof g.constructor&&g instanceof g.constructor?g.constructor.prototype:g instanceof Object?Tt:null},Rt=(lA("iterator"),!1);[].keys&&("next"in(wt=[].keys())?(mt=Dt(Dt(wt)))!==Object.prototype&&(bt=mt):Rt=!0),null==bt&&(bt={});var Nt={IteratorPrototype:bt,BUGGY_SAFARI_ITERATORS:Rt},Pt=Nt.IteratorPrototype,Mt=function(){return this},St=Object.setPrototypeOf||("__proto__"in{}?function(){var g,A=!1,t={};try{(g=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(t,[]),A=t instanceof Array}catch(g){}return function(t,C){return G(t),function(g){if(!f(g)&&null!==g)throw TypeError("Can't set "+String(g)+" as a prototype")}(C),A?g.call(t,C):t.__proto__=C,t}}():void 0),zt=Nt.IteratorPrototype,Bt=Nt.BUGGY_SAFARI_ITERATORS,Zt=lA("iterator"),Ft=function(){return this},Gt=function(g,A,t,C,I,e,i){!function(g,A,t){var C=A+" Iterator";g.prototype=eA(Pt,{next:d(1,t)}),OA(g,C,!1,!0),xt[C]=Mt}(t,A,C);var o,n,r,s=function(g){if(g===I&&u)return u;if(!Bt&&g in l)return l[g];switch(g){case"keys":case"values":case"entries":return function(){return new t(this,g)}}return function(){return new t(this)}},a=A+" Iterator",h=!1,l=g.prototype,c=l[Zt]||l["@@iterator"]||I&&l[I],u=!Bt&&c||s(I),p="Array"==A&&l.entries||c;if(p&&(o=Dt(p.call(new g)),zt!==Object.prototype&&o.next&&(OA(o,a,!0,!0),xt[a]=Ft)),"values"==I&&c&&"values"!==c.name&&(h=!0,u=function(){return c.call(this)}),i&&l[Zt]!==u&&V(l,Zt,u),xt[A]=u,I)if(n={values:s("values"),keys:e?u:s("keys"),entries:s("entries")},i)for(r in n)(Bt||h||!(r in l))&&sA(l,r,n[r]);else H({target:A,proto:!0,forced:Bt||h},n);return n},jt=jA.set,Lt=jA.getterFor("Array Iterator");Gt(Array,"Array",(function(g,A){jt(this,{type:"Array Iterator",target:v(g),index:0,kind:A})}),(function(){var g=Lt(this),A=g.target,t=g.kind,C=g.index++;return!A||C>=A.length?(g.target=void 0,{value:void 0,done:!0}):"keys"==t?{value:C,done:!1}:"values"==t?{value:A[C],done:!1}:{value:[C,A[C]],done:!1}}),"values");xt.Arguments=xt.Array;var Vt=lA("toStringTag");for(var Yt in{CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}){var Wt=i[Yt],Ht=Wt&&Wt.prototype;Ht&&mA(Ht)!==Vt&&V(Ht,Vt,Yt),xt[Yt]=xt.Array}var Qt=function(g){return function(A,t){var C,I,e=String(p(A)),i=tg(t),o=e.length;return i<0||i>=o?g?"":void 0:(C=e.charCodeAt(i))<55296||C>56319||i+1===o||(I=e.charCodeAt(i+1))<56320||I>57343?g?e.charAt(i):C:g?e.slice(i,i+2):I-56320+(C-55296<<10)+65536}},Ut={codeAt:Qt(!1),charAt:Qt(!0)}.charAt,Kt=jA.set,Xt=jA.getterFor("String Iterator");Gt(String,"String",(function(g){Kt(this,{type:"String Iterator",string:String(g),index:0})}),(function(){var g,A=Xt(this),t=A.string,C=A.index;return C>=t.length?{value:void 0,done:!0}:(g=Ut(t,C),A.index+=g.length,{value:g,done:!1})}));var _t=lA("iterator"),Jt=function(g){if(null!=g)return g[_t]||g["@@iterator"]||xt[mA(g)]},qt=function(g){var A=Jt(g);if("function"!=typeof A)throw TypeError(String(g)+" is not iterable");return G(A.call(g))},$t=Jt,gC=function(g,A,t,C){try{return C?A(G(t)[0],t[1]):A(t)}catch(A){var I=g.return;throw void 0!==I&&G(I.call(g)),A}},AC=lA("iterator"),tC=Array.prototype,CC=function(g){return void 0!==g&&(xt.Array===g||tC[AC]===g)},IC=lA("iterator"),eC=!1;try{var iC=0,oC={next:function(){return{done:!!iC++}},return:function(){eC=!0}};oC[IC]=function(){return this},Array.from(oC,(function(){throw 2}))}catch(g){}var nC=!function(g,A){if(!A&&!eC)return!1;var t=!1;try{var C={};C[IC]=function(){return{next:function(){return{done:t=!0}}}},g(C)}catch(g){}return t}((function(g){Array.from(g)}));H({target:"Array",stat:!0,forced:nC},{from:function(g){var A,t,C,I,e,i,o=ug(g),n="function"==typeof this?this:Array,r=arguments.length,s=r>1?arguments[1]:void 0,a=void 0!==s,d=Jt(o),h=0;if(a&&(s=F(s,r>2?arguments[2]:void 0,2)),null==d||n==Array&&CC(d))for(t=new n(A=Ig(o.length));A>h;h++)i=a?s(o[h],h):o[h],Zg(t,h,i);else for(e=(I=d.call(o)).next,t=new n;!(C=e.call(I)).done;h++)i=a?gC(I,s,[C.value,h],!0):C.value,Zg(t,h,i);return t.length=h,t}});var rC=B.Array.from,sC=rC;H({target:"Object",stat:!0,sham:!n},{create:eA});var aC=B.Object,dC=function(g,A){return aC.create(g,A)},hC=dC,lC=Tg;var cC,uC=function(g,A,t){return A in g?lC(g,A,{value:t,enumerable:!0,configurable:!0,writable:!0}):g[A]=t,g},pC="\t\n\v\f\r \u2028\u2029\ufeff",vC="["+pC+"]",fC=RegExp("^"+vC+vC+"*"),yC=RegExp(vC+vC+"*$"),bC=function(g){return function(A){var t=String(p(A));return 1&g&&(t=t.replace(fC,"")),2&g&&(t=t.replace(yC,"")),t}},mC={start:bC(1),end:bC(2),trim:bC(3)},wC=mC.trim;H({target:"String",proto:!0,forced:(cC="trim",o((function(){return!!pC[cC]()||"
"!="
"[cC]()||pC[cC].name!==cC})))},{trim:function(){return wC(this)}});_("String").trim;var kC=function(g,A){var t=[][g];return!!t&&o((function(){t.call(null,A||function(){throw 1},1)}))},xC=Object.defineProperty,OC={},EC=function(g){throw g},TC=function(g,A){if(m(OC,g))return OC[g];A||(A={});var t=[][g],C=!!m(A,"ACCESSORS")&&A.ACCESSORS,I=m(A,0)?A[0]:EC,e=m(A,1)?A[1]:void 0;return OC[g]=!!t&&!o((function(){if(C&&!n)return!0;var g={length:-1};C?xC(g,1,{enumerable:!0,get:EC}):g[1]=1,t.call(g,I,e)}))},DC=HA.forEach,RC=kC("forEach"),NC=TC("forEach"),PC=RC&&NC?[].forEach:function(g){return DC(this,g,arguments.length>1?arguments[1]:void 0)};H({target:"Array",proto:!0,forced:[].forEach!=PC},{forEach:PC});var MC=_("Array").forEach,SC=Array.prototype,zC={DOMTokenList:!0,NodeList:!0},BC=function(g){var A=g.forEach;return g===SC||g instanceof Array&&A===SC.forEach||zC.hasOwnProperty(mA(g))?MC:A},ZC=mC.trim,FC=i.parseInt,GC=/^[+-]?0[Xx]/,jC=8!==FC(pC+"08")||22!==FC(pC+"0x16")?function(g,A){var t=ZC(String(g));return FC(t,A>>>0||(GC.test(t)?16:10))}:FC;H({global:!0,forced:parseInt!=jC},{parseInt:jC});var LC=B.parseInt,VC=a.f,YC=function(g){return function(A){for(var t,C=v(A),I=lg(C),e=I.length,i=0,o=[];e>i;)t=I[i++],n&&!VC.call(C,t)||o.push(g?[t,C[t]]:C[t]);return o}},WC={entries:YC(!0),values:YC(!1)}.values;H({target:"Object",stat:!0},{values:function(g){return WC(g)}});B.Object.values;var HC,QC,UC=Mg("navigator","userAgent")||"",KC=i.process,XC=KC&&KC.versions,_C=XC&&XC.v8;_C?QC=(HC=_C.split("."))[0]+HC[1]:UC&&(!(HC=UC.match(/Edge\/(\d+)/))||HC[1]>=74)&&(HC=UC.match(/Chrome\/(\d+)/))&&(QC=HC[1]);var JC=QC&&+QC,qC=lA("species"),$C=function(g){return JC>=51||!o((function(){var A=[];return(A.constructor={})[qC]=function(){return{foo:1}},1!==A[g](Boolean).foo}))},gI=HA.filter,AI=$C("filter"),tI=TC("filter");H({target:"Array",proto:!0,forced:!AI||!tI},{filter:function(g){return gI(this,g,arguments.length>1?arguments[1]:void 0)}});var CI=_("Array").filter,II=Array.prototype,eI=function(g){var A=g.filter;return g===II||g instanceof Array&&A===II.filter?CI:A},iI=o((function(){Dt(1)}));H({target:"Object",stat:!0,forced:iI,sham:!Ot},{getPrototypeOf:function(g){return Dt(ug(g))}});var oI=B.Object.getPrototypeOf,nI=oI,rI=rg.indexOf,sI=[].indexOf,aI=!!sI&&1/[1].indexOf(1,-0)<0,dI=kC("indexOf"),hI=TC("indexOf",{ACCESSORS:!0,1:0});H({target:"Array",proto:!0,forced:aI||!dI||!hI},{indexOf:function(g){return aI?sI.apply(this,arguments)||0:rI(this,g,arguments.length>1?arguments[1]:void 0)}});var lI=_("Array").indexOf,cI=Array.prototype,uI=function(g){var A=g.indexOf;return g===cI||g instanceof Array&&A===cI.indexOf?lI:A};H({target:"Array",stat:!0},{isArray:Qg});var pI=B.Array.isArray,vI=pI;var fI=function(g){if(vI(g))return g},yI=lA("iterator"),bI=function(g){var A=Object(g);return void 0!==A[yI]||"@@iterator"in A||xt.hasOwnProperty(mA(A))},mI=lA("isConcatSpreadable"),wI=JC>=51||!o((function(){var g=[];return g[mI]=!1,g.concat()[0]!==g})),kI=$C("concat"),xI=function(g){if(!f(g))return!1;var A=g[mI];return void 0!==A?!!A:Qg(g)};H({target:"Array",proto:!0,forced:!wI||!kI},{concat:function(g){var A,t,C,I,e,i=ug(this),o=VA(i,0),n=0;for(A=-1,C=arguments.length;A<C;A++)if(xI(e=-1===A?i:arguments[A])){if(n+(I=Ig(e.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(t=0;t<I;t++,n++)t in e&&Zg(o,n,e[t])}else{if(n>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Zg(o,n++,e)}return o.length=n,o}}),pA("asyncIterator"),pA("hasInstance"),pA("isConcatSpreadable"),pA("iterator"),pA("match"),pA("matchAll"),pA("replace"),pA("search"),pA("species"),pA("split"),pA("toPrimitive"),pA("toStringTag"),pA("unscopables"),OA(Math,"Math",!0),OA(i.JSON,"JSON",!0);var OI=B.Symbol;pA("asyncDispose"),pA("dispose"),pA("observable"),pA("patternMatch"),pA("replaceAll");var EI=OI;var TI=function(g,A){if(void 0!==EI&&bI(Object(g))){var t=[],C=!0,I=!1,e=void 0;try{for(var i,o=qt(g);!(C=(i=o.next()).done)&&(t.push(i.value),!A||t.length!==A);C=!0);}catch(g){I=!0,e=g}finally{try{C||null==o.return||o.return()}finally{if(I)throw e}}return t}},DI=rC,RI=$C("slice"),NI=TC("slice",{ACCESSORS:!0,0:0,1:2}),PI=lA("species"),MI=[].slice,SI=Math.max;H({target:"Array",proto:!0,forced:!RI||!NI},{slice:function(g,A){var t,C,I,e=v(this),i=Ig(e.length),o=og(g,i),n=og(void 0===A?i:A,i);if(Qg(e)&&("function"!=typeof(t=e.constructor)||t!==Array&&!Qg(t.prototype)?f(t)&&null===(t=t[PI])&&(t=void 0):t=void 0,t===Array||void 0===t))return MI.call(e,o,n);for(C=new(void 0===t?Array:t)(SI(n-o,0)),I=0;o<n;o++,I++)o in e&&Zg(C,I,e[o]);return C.length=I,C}});var zI=_("Array").slice,BI=Array.prototype,ZI=function(g){var A=g.slice;return g===BI||g instanceof Array&&A===BI.slice?zI:A},FI=ZI;var GI=function(g,A){(null==A||A>g.length)&&(A=g.length);for(var t=0,C=new Array(A);t<A;t++)C[t]=g[t];return C};var jI=function(g,A){var t;if(g){if("string"==typeof g)return GI(g,A);var C=FI(t=Object.prototype.toString.call(g)).call(t,8,-1);return"Object"===C&&g.constructor&&(C=g.constructor.name),"Map"===C||"Set"===C?DI(g):"Arguments"===C||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(C)?GI(g,A):void 0}};var LI=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")};var VI=function(g,A){return fI(g)||TI(g,A)||jI(g,A)||LI()};H({target:"Date",stat:!0},{now:function(){return(new Date).getTime()}});var YI=B.Date.now,WI=o((function(){lg(1)}));H({target:"Object",stat:!0,forced:WI},{keys:function(g){return lg(ug(g))}});var HI=B.Object.keys,QI=HA.map,UI=$C("map"),KI=TC("map");H({target:"Array",proto:!0,forced:!UI||!KI},{map:function(g){return QI(this,g,arguments.length>1?arguments[1]:void 0)}});var XI=_("Array").map,_I=Array.prototype,JI=function(g){var A=g.map;return g===_I||g instanceof Array&&A===_I.map?XI:A},qI=pI,$I=cA.f("iterator"),ge=$I,Ae=I((function(g){function A(t){return g.exports=A="function"==typeof EI&&"symbol"==typeof ge?function(g){return typeof g}:function(g){return g&&"function"==typeof EI&&g.constructor===EI&&g!==EI.prototype?"symbol":typeof g},A(t)}g.exports=A}));H({target:"Reflect",stat:!0},{ownKeys:Bg});var te=B.Reflect.ownKeys,Ce=ZI;var Ie=function(g){if(vI(g))return GI(g)};var ee=function(g){if(void 0!==EI&&bI(Object(g)))return DI(g)};var ie=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")};var oe=function(g){return Ie(g)||ee(g)||jI(g)||ie()},ne=_("Array").concat,re=Array.prototype,se=function(g){var A=g.concat;return g===re||g instanceof Array&&A===re.concat?ne:A},ae=OI;function de(g,A){var t;if(void 0===ae||null==$t(g)){if(qI(g)||(t=function(g,A){var t;if(!g)return;if("string"==typeof g)return he(g,A);var C=Ce(t=Object.prototype.toString.call(g)).call(t,8,-1);"Object"===C&&g.constructor&&(C=g.constructor.name);if("Map"===C||"Set"===C)return sC(g);if("Arguments"===C||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(C))return he(g,A)}(g))||A&&g&&"number"==typeof g.length){t&&(g=t);var C=0,I=function(){};return{s:I,n:function(){return C>=g.length?{done:!0}:{done:!1,value:g[C++]}},e:function(g){throw g},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 e,i=!0,o=!1;return{s:function(){t=qt(g)},n:function(){var g=t.next();return i=g.done,g},e:function(g){o=!0,e=g},f:function(){try{i||null==t.return||t.return()}finally{if(o)throw e}}}}function he(g,A){(null==A||A>g.length)&&(A=g.length);for(var t=0,C=new Array(A);t<A;t++)C[t]=g[t];return C}
|
||
/**
|
||
* vis-util
|
||
* https://github.com/visjs/vis-util
|
||
*
|
||
* utilitie collection for visjs
|
||
*
|
||
* @version 4.3.4
|
||
* @date 2020-08-01T15:11:53.524Z
|
||
*
|
||
* @copyright (c) 2011-2017 Almende B.V, http://almende.com
|
||
* @copyright (c) 2017-2019 visjs contributors, https://github.com/visjs
|
||
*
|
||
* @license
|
||
* vis.js is dual licensed under both
|
||
*
|
||
* 1. The Apache 2.0 License
|
||
* http://www.apache.org/licenses/LICENSE-2.0
|
||
*
|
||
* and
|
||
*
|
||
* 2. The MIT License
|
||
* http://opensource.org/licenses/MIT
|
||
*
|
||
* vis.js may be distributed under either license.
|
||
*/var le=ae("DELETE");function ce(){var g=ue.apply(void 0,arguments);return ve(g),g}function ue(){for(var g=arguments.length,A=new Array(g),t=0;t<g;t++)A[t]=arguments[t];if(A.length<2)return A[0];var C;if(A.length>2)return ue.apply(void 0,se(C=[ce(A[0],A[1])]).call(C,oe(Ce(A).call(A,2))));var I,e=A[0],i=A[1],o=de(te(i));try{for(o.s();!(I=o.n()).done;){var n=I.value;Object.prototype.propertyIsEnumerable.call(i,n)&&(i[n]===le?delete e[n]:null===e[n]||null===i[n]||"object"!==Ae(e[n])||"object"!==Ae(i[n])||qI(e[n])||qI(i[n])?e[n]=pe(i[n]):e[n]=ue(e[n],i[n]))}}catch(g){o.e(g)}finally{o.f()}return e}function pe(g){return qI(g)?JI(g).call(g,(function(g){return pe(g)})):"object"===Ae(g)&&null!==g?ue({},g):g}function ve(g){for(var A=0,t=HI(g);A<t.length;A++){var C=t[A];g[C]===le?delete g[C]:"object"===Ae(g[C])&&null!==g[C]&&ve(g[C])}}function fe(){for(var g=arguments.length,A=new Array(g),t=0;t<g;t++)A[t]=arguments[t];return ye(A.length?A:[YI()])}function ye(g){var A=function(){for(var g=be(),A=g(" "),t=g(" "),C=g(" "),I=0;I<arguments.length;I++)(A-=g(I<0||arguments.length<=I?void 0:arguments[I]))<0&&(A+=1),(t-=g(I<0||arguments.length<=I?void 0:arguments[I]))<0&&(t+=1),(C-=g(I<0||arguments.length<=I?void 0:arguments[I]))<0&&(C+=1);return[A,t,C]}(g),t=VI(A,3),C=t[0],I=t[1],e=t[2],i=1,o=function(){var g=2091639*C+2.3283064365386963e-10*i;return C=I,I=e,e=g-(i=0|g)};return o.uint32=function(){return 4294967296*o()},o.fract53=function(){return o()+11102230246251565e-32*(2097152*o()|0)},o.algorithm="Alea",o.seed=g,o.version="0.9",o}function be(){var g=4022871197;return function(A){for(var t=A.toString(),C=0;C<t.length;C++){var I=.02519603282416938*(g+=t.charCodeAt(C));I-=g=I>>>0,g=(I*=g)>>>0,g+=4294967296*(I-=g)}return 2.3283064365386963e-10*(g>>>0)}}var me=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,we=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,ke=/^rgb\( *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *\)$/i,xe=/^rgba\( *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *([01]|0?\.\d+) *\)$/i;function Oe(g){if(g)for(;!0===g.hasChildNodes();){var A=g.firstChild;A&&(Oe(A),g.removeChild(A))}}function Ee(g){return g instanceof String||"string"==typeof g}function Te(g){return"object"===Ae(g)&&null!==g}function De(g,A,t,C){var I=!1;!0===C&&(I=null===A[t]&&void 0!==g[t]),I?delete g[t]:g[t]=A[t]}function Re(g,A){var t=arguments.length>2&&void 0!==arguments[2]&&arguments[2];for(var C in g)if(void 0!==A[C])if(null===A[C]||"object"!==Ae(A[C]))De(g,A,C,t);else{var I=g[C],e=A[C];Te(I)&&Te(e)&&Re(I,e,t)}}function Ne(g,A,t){var C=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(qI(t))throw new TypeError("Arrays are not supported by deepExtend");for(var I=0;I<g.length;I++){var e=g[I];if(Object.prototype.hasOwnProperty.call(t,e))if(t[e]&&t[e].constructor===Object)void 0===A[e]&&(A[e]={}),A[e].constructor===Object?Me(A[e],t[e],!1,C):De(A,t,e,C);else{if(qI(t[e]))throw new TypeError("Arrays are not supported by deepExtend");De(A,t,e,C)}}return A}function Pe(g,A,t){var C=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(qI(t))throw new TypeError("Arrays are not supported by deepExtend");for(var I in t)if(Object.prototype.hasOwnProperty.call(t,I)&&-1===uI(g).call(g,I))if(t[I]&&t[I].constructor===Object)void 0===A[I]&&(A[I]={}),A[I].constructor===Object?Me(A[I],t[I]):De(A,t,I,C);else if(qI(t[I])){A[I]=[];for(var e=0;e<t[I].length;e++)A[I].push(t[I][e])}else De(A,t,I,C);return A}function Me(g,A){var t=arguments.length>2&&void 0!==arguments[2]&&arguments[2],C=arguments.length>3&&void 0!==arguments[3]&&arguments[3];for(var I in A)if(Object.prototype.hasOwnProperty.call(A,I)||!0===t)if("object"===Ae(A[I])&&null!==A[I]&&nI(A[I])===Object.prototype)void 0===g[I]?g[I]=Me({},A[I],t):"object"===Ae(g[I])&&null!==g[I]&&nI(g[I])===Object.prototype?Me(g[I],A[I],t):De(g,A,I,C);else if(qI(A[I])){var e;g[I]=Ce(e=A[I]).call(e)}else De(g,A,I,C);return g}function Se(g,A){var t;return se(t=[]).call(t,oe(g),[A])}function ze(g){return Ce(g).call(g)}function Be(g){return g.getBoundingClientRect().top}function Ze(g,A){if(qI(g))for(var t=g.length,C=0;C<t;C++)A(g[C],C,g);else for(var I in g)Object.prototype.hasOwnProperty.call(g,I)&&A(g[I],I,g)}function Fe(g){var A;switch(g.length){case 3:case 4:return(A=we.exec(g))?{r:LC(A[1]+A[1],16),g:LC(A[2]+A[2],16),b:LC(A[3]+A[3],16)}:null;case 6:case 7:return(A=me.exec(g))?{r:LC(A[1],16),g:LC(A[2],16),b:LC(A[3],16)}:null;default:return null}}function Ge(g,A){if(-1!==uI(g).call(g,"rgba"))return g;if(-1!==uI(g).call(g,"rgb")){var t=g.substr(uI(g).call(g,"(")+1).replace(")","").split(",");return"rgba("+t[0]+","+t[1]+","+t[2]+","+A+")"}var C=Fe(g);return null==C?g:"rgba("+C.r+","+C.g+","+C.b+","+A+")"}function je(g,A,t){var C;return"#"+Ce(C=((1<<24)+(g<<16)+(A<<8)+t).toString(16)).call(C,1)}function Le(g,A){if(Ee(g)){var t=g;if(Qe(t)){var C,I=JI(C=t.substr(4).substr(0,t.length-5).split(",")).call(C,(function(g){return LC(g)}));t=je(I[0],I[1],I[2])}if(!0===He(t)){var e=function(g){var A=Fe(g);if(!A)throw new TypeError("'".concat(g,"' is not a valid color."));return Ve(A.r,A.g,A.b)}(t),i={h:e.h,s:.8*e.s,v:Math.min(1,1.02*e.v)},o={h:e.h,s:Math.min(1,1.25*e.s),v:.8*e.v},n=We(o.h,o.s,o.v),r=We(i.h,i.s,i.v);return{background:t,border:n,highlight:{background:r,border:n},hover:{background:r,border:n}}}return{background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}return A?{background:g.background||A.background,border:g.border||A.border,highlight:Ee(g.highlight)?{border:g.highlight,background:g.highlight}:{background:g.highlight&&g.highlight.background||A.highlight.background,border:g.highlight&&g.highlight.border||A.highlight.border},hover:Ee(g.hover)?{border:g.hover,background:g.hover}:{border:g.hover&&g.hover.border||A.hover.border,background:g.hover&&g.hover.background||A.hover.background}}:{background:g.background||void 0,border:g.border||void 0,highlight:Ee(g.highlight)?{border:g.highlight,background:g.highlight}:{background:g.highlight&&g.highlight.background||void 0,border:g.highlight&&g.highlight.border||void 0},hover:Ee(g.hover)?{border:g.hover,background:g.hover}:{border:g.hover&&g.hover.border||void 0,background:g.hover&&g.hover.background||void 0}}}function Ve(g,A,t){g/=255,A/=255,t/=255;var C=Math.min(g,Math.min(A,t)),I=Math.max(g,Math.max(A,t));return C===I?{h:0,s:0,v:C}:{h:60*((g===C?3:t===C?1:5)-(g===C?A-t:t===C?g-A:t-g)/(I-C))/360,s:(I-C)/I,v:I}}function Ye(g,A,t){var C,I,e,i=Math.floor(6*g),o=6*g-i,n=t*(1-A),r=t*(1-o*A),s=t*(1-(1-o)*A);switch(i%6){case 0:C=t,I=s,e=n;break;case 1:C=r,I=t,e=n;break;case 2:C=n,I=t,e=s;break;case 3:C=n,I=r,e=t;break;case 4:C=s,I=n,e=t;break;case 5:C=t,I=n,e=r}return{r:Math.floor(255*C),g:Math.floor(255*I),b:Math.floor(255*e)}}function We(g,A,t){var C=Ye(g,A,t);return je(C.r,C.g,C.b)}function He(g){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(g)}function Qe(g){return ke.test(g)}function Ue(g){return xe.test(g)}function Ke(g){if(null===g||"object"!==Ae(g))return null;if(g instanceof Element)return g;var A=hC(g);for(var t in g)Object.prototype.hasOwnProperty.call(g,t)&&"object"==Ae(g[t])&&(A[t]=Ke(g[t]));return A}function Xe(g,A,t){var C=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},I=function(g){return null!=g},e=function(g){return null!==g&&"object"===Ae(g)},i=function(g){for(var A in g)if(Object.prototype.hasOwnProperty.call(g,A))return!1;return!0};if(!e(g))throw new Error("Parameter mergeTarget must be an object");if(!e(A))throw new Error("Parameter options must be an object");if(!I(t))throw new Error("Parameter option must have a value");if(!e(C))throw new Error("Parameter globalOptions must be an object");var o=function(g,A,t){e(g[t])||(g[t]={});var C=A[t],I=g[t];for(var i in C)Object.prototype.hasOwnProperty.call(C,i)&&(I[i]=C[i])},n=A[t],r=e(C)&&!i(C),s=r?C[t]:void 0,a=s?s.enabled:void 0;if(void 0!==n){if("boolean"==typeof n)return e(g[t])||(g[t]={}),void(g[t].enabled=n);if(null===n&&!e(g[t])){if(!I(s))return;g[t]=hC(s)}if(e(n)){var d=!0;void 0!==n.enabled?d=n.enabled:void 0!==a&&(d=s.enabled),o(g,A,t),g[t].enabled=d}}}var _e={linear:function(g){return g},easeInQuad:function(g){return g*g},easeOutQuad:function(g){return g*(2-g)},easeInOutQuad:function(g){return g<.5?2*g*g:(4-2*g)*g-1},easeInCubic:function(g){return g*g*g},easeOutCubic:function(g){return--g*g*g+1},easeInOutCubic:function(g){return g<.5?4*g*g*g:(g-1)*(2*g-2)*(2*g-2)+1},easeInQuart:function(g){return g*g*g*g},easeOutQuart:function(g){return 1- --g*g*g*g},easeInOutQuart:function(g){return g<.5?8*g*g*g*g:1-8*--g*g*g*g},easeInQuint:function(g){return g*g*g*g*g},easeOutQuint:function(g){return 1+--g*g*g*g*g},easeInOutQuint:function(g){return g<.5?16*g*g*g*g*g:1+16*--g*g*g*g*g}};function Je(g,A){var t;qI(A)||(A=[A]);var C,I=de(g);try{for(I.s();!(C=I.n()).done;){var e=C.value;if(e){t=e[A[0]];for(var i=1;i<A.length;i++)t&&(t=t[A[i]]);if(void 0!==t)break}}}catch(g){I.e(g)}finally{I.f()}return t}var qe=$C("splice"),$e=TC("splice",{ACCESSORS:!0,0:0,1:2}),gi=Math.max,Ai=Math.min;H({target:"Array",proto:!0,forced:!qe||!$e},{splice:function(g,A){var t,C,I,e,i,o,n=ug(this),r=Ig(n.length),s=og(g,r),a=arguments.length;if(0===a?t=C=0:1===a?(t=0,C=r-s):(t=a-2,C=Ai(gi(tg(A),0),r-s)),r+t-C>9007199254740991)throw TypeError("Maximum allowed length exceeded");for(I=VA(n,C),e=0;e<C;e++)(i=s+e)in n&&Zg(I,e,n[i]);if(I.length=C,t<C){for(e=s;e<r-C;e++)o=e+t,(i=e+C)in n?n[o]=n[i]:delete n[o];for(e=r;e>r-C+t;e--)delete n[e-1]}else if(t>C)for(e=r-C;e>s;e--)o=e+t-1,(i=e+C-1)in n?n[o]=n[i]:delete n[o];for(e=0;e<t;e++)n[e+s]=arguments[e+2];return n.length=r-C+t,I}});var ti=_("Array").splice,Ci=Array.prototype,Ii=function(g){var A=g.splice;return g===Ci||g instanceof Array&&A===Ci.splice?ti:A},ei=rg.includes,ii=TC("indexOf",{ACCESSORS:!0,1:0});H({target:"Array",proto:!0,forced:!ii},{includes:function(g){return ei(this,g,arguments.length>1?arguments[1]:void 0)}});var oi=_("Array").includes,ni=lA("match"),ri=function(g){if(function(g){var A;return f(g)&&(void 0!==(A=g[ni])?!!A:"RegExp"==l(g))}(g))throw TypeError("The method doesn't accept regular expressions");return g},si=lA("match");H({target:"String",proto:!0,forced:!function(g){var A=/./;try{"/./"[g](A)}catch(t){try{return A[si]=!1,"/./"[g](A)}catch(g){}}return!1}("includes")},{includes:function(g){return!!~String(p(this)).indexOf(ri(g),arguments.length>1?arguments[1]:void 0)}});var ai=_("String").includes,di=Array.prototype,hi=String.prototype,li=function(g){var A=g.includes;return g===di||g instanceof Array&&A===di.includes?oi:"string"==typeof g||g===hi||g instanceof String&&A===hi.includes?ai:A};function ci(g){return wi=g,function(){var g={};ki=0,void(xi=wi.charAt(0)),Zi(),"strict"===Oi&&(g.strict=!0,Zi());"graph"!==Oi&&"digraph"!==Oi||(g.type=Oi,Zi());Ei===yi&&(g.id=Oi,Zi());if("{"!=Oi)throw Yi("Angle bracket { expected");if(Zi(),Fi(g),"}"!=Oi)throw Yi("Angle bracket } expected");if(Zi(),""!==Oi)throw Yi("End of file expected");return Zi(),delete g.node,delete g.edge,delete g.graph,g}()}var ui={fontsize:"font.size",fontcolor:"font.color",labelfontcolor:"font.color",fontname:"font.face",color:["color.border","color.background"],fillcolor:"color.background",tooltip:"title",labeltooltip:"title"},pi=hC(ui);pi.color="color.color",pi.style="dashes";var vi=0,fi=1,yi=2,bi=3,mi={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},wi="",ki=0,xi="",Oi="",Ei=vi;function Ti(){ki++,xi=wi.charAt(ki)}function Di(){return wi.charAt(ki+1)}var Ri=/[a-zA-Z_0-9.:#]/;function Ni(g){return Ri.test(g)}function Pi(g,A){if(g||(g={}),A)for(var t in A)A.hasOwnProperty(t)&&(g[t]=A[t]);return g}function Mi(g,A,t){for(var C=A.split("."),I=g;C.length;){var e=C.shift();C.length?(I[e]||(I[e]={}),I=I[e]):I[e]=t}}function Si(g,A){for(var t,C,I=null,e=[g],i=g;i.parent;)e.push(i.parent),i=i.parent;if(i.nodes)for(t=0,C=i.nodes.length;t<C;t++)if(A.id===i.nodes[t].id){I=i.nodes[t];break}for(I||(I={id:A.id},g.node&&(I.attr=Pi(I.attr,g.node))),t=e.length-1;t>=0;t--){var o,n=e[t];n.nodes||(n.nodes=[]),-1===uI(o=n.nodes).call(o,I)&&n.nodes.push(I)}A.attr&&(I.attr=Pi(I.attr,A.attr))}function zi(g,A){if(g.edges||(g.edges=[]),g.edges.push(A),g.edge){var t=Pi({},g.edge);A.attr=Pi(t,A.attr)}}function Bi(g,A,t,C,I){var e={from:A,to:t,type:C};return g.edge&&(e.attr=Pi({},g.edge)),e.attr=Pi(e.attr||{},I),null!=I&&I.hasOwnProperty("arrows")&&null!=I.arrows&&(e.arrows={to:{enabled:!0,type:I.arrows.type}},I.arrows=null),e}function Zi(){for(Ei=vi,Oi="";" "===xi||"\t"===xi||"\n"===xi||"\r"===xi;)Ti();do{var g=!1;if("#"===xi){for(var A=ki-1;" "===wi.charAt(A)||"\t"===wi.charAt(A);)A--;if("\n"===wi.charAt(A)||""===wi.charAt(A)){for(;""!=xi&&"\n"!=xi;)Ti();g=!0}}if("/"===xi&&"/"===Di()){for(;""!=xi&&"\n"!=xi;)Ti();g=!0}if("/"===xi&&"*"===Di()){for(;""!=xi;){if("*"===xi&&"/"===Di()){Ti(),Ti();break}Ti()}g=!0}for(;" "===xi||"\t"===xi||"\n"===xi||"\r"===xi;)Ti()}while(g);if(""!==xi){var t=xi+Di();if(mi[t])return Ei=fi,Oi=t,Ti(),void Ti();if(mi[xi])return Ei=fi,Oi=xi,void Ti();if(Ni(xi)||"-"===xi){for(Oi+=xi,Ti();Ni(xi);)Oi+=xi,Ti();return"false"===Oi?Oi=!1:"true"===Oi?Oi=!0:isNaN(Number(Oi))||(Oi=Number(Oi)),void(Ei=yi)}if('"'===xi){for(Ti();""!=xi&&('"'!=xi||'"'===xi&&'"'===Di());)'"'===xi?(Oi+=xi,Ti()):"\\"===xi&&"n"===Di()?(Oi+="\n",Ti()):Oi+=xi,Ti();if('"'!=xi)throw Yi('End of string " expected');return Ti(),void(Ei=yi)}for(Ei=bi;""!=xi;)Oi+=xi,Ti();throw new SyntaxError('Syntax error in part "'+Wi(Oi,30)+'"')}Ei=fi}function Fi(g){for(;""!==Oi&&"}"!=Oi;)Gi(g),";"===Oi&&Zi()}function Gi(g){var A=ji(g);if(A)Li(g,A);else if(!function(g){if("node"===Oi)return Zi(),g.node=Vi(),"node";if("edge"===Oi)return Zi(),g.edge=Vi(),"edge";if("graph"===Oi)return Zi(),g.graph=Vi(),"graph";return null}(g)){if(Ei!=yi)throw Yi("Identifier expected");var t=Oi;if(Zi(),"="===Oi){if(Zi(),Ei!=yi)throw Yi("Identifier expected");g[t]=Oi,Zi()}else!function(g,A){var t={id:A},C=Vi();C&&(t.attr=C);Si(g,t),Li(g,A)}(g,t)}}function ji(g){var A=null;if("subgraph"===Oi&&((A={}).type="subgraph",Zi(),Ei===yi&&(A.id=Oi,Zi())),"{"===Oi){if(Zi(),A||(A={}),A.parent=g,A.node=g.node,A.edge=g.edge,A.graph=g.graph,Fi(A),"}"!=Oi)throw Yi("Angle bracket } expected");Zi(),delete A.node,delete A.edge,delete A.graph,delete A.parent,g.subgraphs||(g.subgraphs=[]),g.subgraphs.push(A)}return A}function Li(g,A){for(;"->"===Oi||"--"===Oi;){var t,C=Oi;Zi();var I=ji(g);if(I)t=I;else{if(Ei!=yi)throw Yi("Identifier or subgraph expected");Si(g,{id:t=Oi}),Zi()}zi(g,Bi(g,A,t,C,Vi())),A=t}}function Vi(){for(var g,A,t=null,C={dashed:!0,solid:!1,dotted:[1,5]},I={dot:"circle",box:"box",crow:"crow",curve:"curve",icurve:"inv_curve",normal:"triangle",inv:"inv_triangle",diamond:"diamond",tee:"bar",vee:"vee"},e=new Array,i=new Array;"["===Oi;){for(Zi(),t={};""!==Oi&&"]"!=Oi;){if(Ei!=yi)throw Yi("Attribute name expected");var o=Oi;if(Zi(),"="!=Oi)throw Yi("Equal sign = expected");if(Zi(),Ei!=yi)throw Yi("Attribute value expected");var n=Oi;"style"===o&&(n=C[n]),"arrowhead"===o&&(o="arrows",n={to:{enabled:!0,type:I[n]}}),"arrowtail"===o&&(o="arrows",n={from:{enabled:!0,type:I[n]}}),e.push({attr:t,name:o,value:n}),i.push(o),Zi(),","==Oi&&Zi()}if("]"!=Oi)throw Yi("Bracket ] expected");Zi()}if(li(i).call(i,"dir")){var r={arrows:{}};for(g=0;g<e.length;g++)if("arrows"===e[g].name)if(null!=e[g].value.to)r.arrows.to=g;else{if(null==e[g].value.from)throw Yi("Invalid value of arrows");r.arrows.from=g}else"dir"===e[g].name&&(r.dir=g);var s,a,d=e[r.dir].value;if(!li(i).call(i,"arrows"))if("both"===d)e.push({attr:e[r.dir].attr,name:"arrows",value:{to:{enabled:!0}}}),r.arrows.to=e.length-1,e.push({attr:e[r.dir].attr,name:"arrows",value:{from:{enabled:!0}}}),r.arrows.from=e.length-1;else if("forward"===d)e.push({attr:e[r.dir].attr,name:"arrows",value:{to:{enabled:!0}}}),r.arrows.to=e.length-1;else if("back"===d)e.push({attr:e[r.dir].attr,name:"arrows",value:{from:{enabled:!0}}}),r.arrows.from=e.length-1;else{if("none"!==d)throw Yi('Invalid dir type "'+d+'"');e.push({attr:e[r.dir].attr,name:"arrows",value:""}),r.arrows.to=e.length-1}if("both"===d)r.arrows.to&&r.arrows.from?(a=e[r.arrows.to].value.to.type,s=e[r.arrows.from].value.from.type,e[r.arrows.to]={attr:e[r.arrows.to].attr,name:e[r.arrows.to].name,value:{to:{enabled:!0,type:a},from:{enabled:!0,type:s}}},Ii(e).call(e,r.arrows.from,1)):r.arrows.to?(a=e[r.arrows.to].value.to.type,s="arrow",e[r.arrows.to]={attr:e[r.arrows.to].attr,name:e[r.arrows.to].name,value:{to:{enabled:!0,type:a},from:{enabled:!0,type:s}}}):r.arrows.from&&(a="arrow",s=e[r.arrows.from].value.from.type,e[r.arrows.from]={attr:e[r.arrows.from].attr,name:e[r.arrows.from].name,value:{to:{enabled:!0,type:a},from:{enabled:!0,type:s}}});else if("back"===d)r.arrows.to&&r.arrows.from?(a="",s=e[r.arrows.from].value.from.type,e[r.arrows.from]={attr:e[r.arrows.from].attr,name:e[r.arrows.from].name,value:{to:{enabled:!0,type:a},from:{enabled:!0,type:s}}}):r.arrows.to?(a="",s="arrow",r.arrows.from=r.arrows.to,e[r.arrows.from]={attr:e[r.arrows.from].attr,name:e[r.arrows.from].name,value:{to:{enabled:!0,type:a},from:{enabled:!0,type:s}}}):r.arrows.from&&(a="",s=e[r.arrows.from].value.from.type,e[r.arrows.to]={attr:e[r.arrows.from].attr,name:e[r.arrows.from].name,value:{to:{enabled:!0,type:a},from:{enabled:!0,type:s}}}),e[r.arrows.from]={attr:e[r.arrows.from].attr,name:e[r.arrows.from].name,value:{from:{enabled:!0,type:e[r.arrows.from].value.from.type}}};else if("none"===d){var h;e[h=r.arrows.to?r.arrows.to:r.arrows.from]={attr:e[h].attr,name:e[h].name,value:""}}else{if("forward"!==d)throw Yi('Invalid dir type "'+d+'"');r.arrows.to&&r.arrows.from||r.arrows.to?(a=e[r.arrows.to].value.to.type,s="",e[r.arrows.to]={attr:e[r.arrows.to].attr,name:e[r.arrows.to].name,value:{to:{enabled:!0,type:a},from:{enabled:!0,type:s}}}):r.arrows.from&&(a="arrow",s="",r.arrows.to=r.arrows.from,e[r.arrows.to]={attr:e[r.arrows.to].attr,name:e[r.arrows.to].name,value:{to:{enabled:!0,type:a},from:{enabled:!0,type:s}}}),e[r.arrows.to]={attr:e[r.arrows.to].attr,name:e[r.arrows.to].name,value:{to:{enabled:!0,type:e[r.arrows.to].value.to.type}}}}Ii(e).call(e,r.dir,1)}if(li(i).call(i,"penwidth")){var l=[];for(A=e.length,g=0;g<A;g++)"width"!==e[g].name&&("penwidth"===e[g].name&&(e[g].name="width"),l.push(e[g]));e=l}for(A=e.length,g=0;g<A;g++)Mi(e[g].attr,e[g].name,e[g].value);return t}function Yi(g){return new SyntaxError(g+', got "'+Wi(Oi,30)+'" (char '+ki+")")}function Wi(g,A){return g.length<=A?g:g.substr(0,27)+"..."}function Hi(g,A,t){for(var C=A.split("."),I=C.pop(),e=g,i=0;i<C.length;i++){var o=C[i];o in e||(e[o]={}),e=e[o]}return e[I]=t,g}function Qi(g,A){var t={};for(var C in g)if(g.hasOwnProperty(C)){var I=A[C];qI(I)?BC(I).call(I,(function(A){Hi(t,A,g[C])})):Hi(t,"string"==typeof I?I:C,g[C])}return t}function Ui(g){var A,t=ci(g),C={nodes:[],edges:[],options:{}};t.nodes&&BC(A=t.nodes).call(A,(function(g){var A={id:g.id,label:String(g.label||g.id)};Pi(A,Qi(g.attr,ui)),A.image&&(A.shape="image"),C.nodes.push(A)}));if(t.edges){var I,e=function(g){var A={from:g.from,to:g.to};return Pi(A,Qi(g.attr,pi)),null==A.arrows&&"->"===g.type&&(A.arrows="to"),A};BC(I=t.edges).call(I,(function(g){var A,t,I,i,o,n,r;(A=g.from instanceof Object?g.from.nodes:{id:g.from},t=g.to instanceof Object?g.to.nodes:{id:g.to},g.from instanceof Object&&g.from.edges)&&BC(I=g.from.edges).call(I,(function(g){var A=e(g);C.edges.push(A)}));(o=t,n=function(A,t){var I=Bi(C,A.id,t.id,g.type,g.attr),i=e(I);C.edges.push(i)},qI(i=A)?BC(i).call(i,(function(g){qI(o)?BC(o).call(o,(function(A){n(g,A)})):n(g,o)})):qI(o)?BC(o).call(o,(function(g){n(i,g)})):n(i,o),g.to instanceof Object&&g.to.edges)&&BC(r=g.to.edges).call(r,(function(g){var A=e(g);C.edges.push(A)}))}))}return t.attr&&(C.options=t.attr),C}function Ki(g,A){var t,C={edges:{inheritColor:!1},nodes:{fixed:!1,parseColor:!1}};null!=A&&(null!=A.fixed&&(C.nodes.fixed=A.fixed),null!=A.parseColor&&(C.nodes.parseColor=A.parseColor),null!=A.inheritColor&&(C.edges.inheritColor=A.inheritColor));var I=g.edges,e=JI(I).call(I,(function(g){var A={from:g.source,id:g.id,to:g.target};return null!=g.attributes&&(A.attributes=g.attributes),null!=g.label&&(A.label=g.label),null!=g.attributes&&null!=g.attributes.title&&(A.title=g.attributes.title),"Directed"===g.type&&(A.arrows="to"),g.color&&!1===C.edges.inheritColor&&(A.color=g.color),A}));return{nodes:JI(t=g.nodes).call(t,(function(g){var A={id:g.id,fixed:C.nodes.fixed&&null!=g.x&&null!=g.y};return null!=g.attributes&&(A.attributes=g.attributes),null!=g.label&&(A.label=g.label),null!=g.size&&(A.size=g.size),null!=g.attributes&&null!=g.attributes.title&&(A.title=g.attributes.title),null!=g.title&&(A.title=g.title),null!=g.x&&(A.x=g.x),null!=g.y&&(A.y=g.y),null!=g.color&&(!0===C.nodes.parseColor?A.color=g.color:A.color={background:g.color,border:g.color,highlight:{background:g.color,border:g.color},hover:{background:g.color,border:g.color}}),A})),edges:e}}function Xi(g,A){void 0===A&&(A={});var t=A.insertAt;if(g&&"undefined"!=typeof document){var C=document.head||document.getElementsByTagName("head")[0],I=document.createElement("style");I.type="text/css","top"===t&&C.firstChild?C.insertBefore(I,C.firstChild):C.appendChild(I),I.styleSheet?I.styleSheet.cssText=g:I.appendChild(document.createTextNode(g))}}Xi(".vis-overlay {\n position: absolute;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n\n /* Must be displayed above for example selected Timeline items */\n z-index: 10;\n}\n\n.vis-active {\n box-shadow: 0 0 10px #86d5f8;\n}\n");var _i=I((function(g,A){g.exports=function(g){var A,t=g&&g.preventDefault||!1,C=g&&g.container||window,I={},e={keydown:{},keyup:{}},i={};for(A=97;A<=122;A++)i[String.fromCharCode(A)]={code:A-97+65,shift:!1};for(A=65;A<=90;A++)i[String.fromCharCode(A)]={code:A,shift:!0};for(A=0;A<=9;A++)i[""+A]={code:48+A,shift:!1};for(A=1;A<=12;A++)i["F"+A]={code:111+A,shift:!1};for(A=0;A<=9;A++)i["num"+A]={code:96+A,shift:!1};i["num*"]={code:106,shift:!1},i["num+"]={code:107,shift:!1},i["num-"]={code:109,shift:!1},i["num/"]={code:111,shift:!1},i["num."]={code:110,shift:!1},i.left={code:37,shift:!1},i.up={code:38,shift:!1},i.right={code:39,shift:!1},i.down={code:40,shift:!1},i.space={code:32,shift:!1},i.enter={code:13,shift:!1},i.shift={code:16,shift:void 0},i.esc={code:27,shift:!1},i.backspace={code:8,shift:!1},i.tab={code:9,shift:!1},i.ctrl={code:17,shift:!1},i.alt={code:18,shift:!1},i.delete={code:46,shift:!1},i.pageup={code:33,shift:!1},i.pagedown={code:34,shift:!1},i["="]={code:187,shift:!1},i["-"]={code:189,shift:!1},i["]"]={code:221,shift:!1},i["["]={code:219,shift:!1};var o=function(g){r(g,"keydown")},n=function(g){r(g,"keyup")},r=function(g,A){if(void 0!==e[A][g.keyCode]){for(var C=e[A][g.keyCode],I=0;I<C.length;I++)(void 0===C[I].shift||1==C[I].shift&&1==g.shiftKey||0==C[I].shift&&0==g.shiftKey)&&C[I].fn(g);1==t&&g.preventDefault()}};return I.bind=function(g,A,t){if(void 0===t&&(t="keydown"),void 0===i[g])throw new Error("unsupported key: "+g);void 0===e[t][i[g].code]&&(e[t][i[g].code]=[]),e[t][i[g].code].push({fn:A,shift:i[g].shift})},I.bindAll=function(g,A){for(var t in void 0===A&&(A="keydown"),i)i.hasOwnProperty(t)&&I.bind(t,g,A)},I.getKey=function(g){for(var A in i)if(i.hasOwnProperty(A)){if(1==g.shiftKey&&1==i[A].shift&&g.keyCode==i[A].code)return A;if(0==g.shiftKey&&0==i[A].shift&&g.keyCode==i[A].code)return A;if(g.keyCode==i[A].code&&"shift"==A)return A}return"unknown key, currently not supported"},I.unbind=function(g,A,t){if(void 0===t&&(t="keydown"),void 0===i[g])throw new Error("unsupported key: "+g);if(void 0!==A){var C=[],I=e[t][i[g].code];if(void 0!==I)for(var o=0;o<I.length;o++)I[o].fn==A&&I[o].shift==i[g].shift||C.push(e[t][i[g].code][o]);e[t][i[g].code]=C}else e[t][i[g].code]=[]},I.reset=function(){e={keydown:{},keyup:{}}},I.destroy=function(){e={keydown:{},keyup:{}},C.removeEventListener("keydown",o,!0),C.removeEventListener("keyup",n,!0)},C.addEventListener("keydown",o,!0),C.addEventListener("keyup",n,!0),I}}));
|
||
/*! Hammer.JS - v2.0.17-rc - 2019-12-16
|
||
* http://naver.github.io/egjs
|
||
*
|
||
* Forked By Naver egjs
|
||
* Copyright (c) hammerjs
|
||
* Licensed under the MIT license */function Ji(){return(Ji=Object.assign||function(g){for(var A=1;A<arguments.length;A++){var t=arguments[A];for(var C in t)Object.prototype.hasOwnProperty.call(t,C)&&(g[C]=t[C])}return g}).apply(this,arguments)}function qi(g,A){g.prototype=Object.create(A.prototype),g.prototype.constructor=g,g.__proto__=A}function $i(g){if(void 0===g)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return g}var go,Ao="function"!=typeof Object.assign?function(g){if(null==g)throw new TypeError("Cannot convert undefined or null to object");for(var A=Object(g),t=1;t<arguments.length;t++){var C=arguments[t];if(null!=C)for(var I in C)C.hasOwnProperty(I)&&(A[I]=C[I])}return A}:Object.assign,to=["","webkit","Moz","MS","ms","o"],Co="undefined"==typeof document?{style:{}}:document.createElement("div"),Io=Math.round,eo=Math.abs,io=Date.now;function oo(g,A){for(var t,C,I=A[0].toUpperCase()+A.slice(1),e=0;e<to.length;){if((C=(t=to[e])?t+I:A)in g)return C;e++}}go="undefined"==typeof window?{}:window;var no=oo(Co.style,"touchAction"),ro=void 0!==no;var so=function(){if(!ro)return!1;var g={},A=go.CSS&&go.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach((function(t){return g[t]=!A||go.CSS.supports("touch-action",t)})),g}(),ao="ontouchstart"in go,ho=void 0!==oo(go,"PointerEvent"),lo=ao&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),co=["x","y"],uo=["clientX","clientY"];function po(g,A,t){var C;if(g)if(g.forEach)g.forEach(A,t);else if(void 0!==g.length)for(C=0;C<g.length;)A.call(t,g[C],C,g),C++;else for(C in g)g.hasOwnProperty(C)&&A.call(t,g[C],C,g)}function vo(g,A){return"function"==typeof g?g.apply(A&&A[0]||void 0,A):g}function fo(g,A){return g.indexOf(A)>-1}var yo=function(){function g(g,A){this.manager=g,this.set(A)}var A=g.prototype;return A.set=function(g){"compute"===g&&(g=this.compute()),ro&&this.manager.element.style&&so[g]&&(this.manager.element.style[no]=g),this.actions=g.toLowerCase().trim()},A.update=function(){this.set(this.manager.options.touchAction)},A.compute=function(){var g=[];return po(this.manager.recognizers,(function(A){vo(A.options.enable,[A])&&(g=g.concat(A.getTouchAction()))})),function(g){if(fo(g,"none"))return"none";var A=fo(g,"pan-x"),t=fo(g,"pan-y");return A&&t?"none":A||t?A?"pan-x":"pan-y":fo(g,"manipulation")?"manipulation":"auto"}(g.join(" "))},A.preventDefaults=function(g){var A=g.srcEvent,t=g.offsetDirection;if(this.manager.session.prevented)A.preventDefault();else{var C=this.actions,I=fo(C,"none")&&!so.none,e=fo(C,"pan-y")&&!so["pan-y"],i=fo(C,"pan-x")&&!so["pan-x"];if(I){var o=1===g.pointers.length,n=g.distance<2,r=g.deltaTime<250;if(o&&n&&r)return}if(!i||!e)return I||e&&6&t||i&&24&t?this.preventSrc(A):void 0}},A.preventSrc=function(g){this.manager.session.prevented=!0,g.preventDefault()},g}();function bo(g,A){for(;g;){if(g===A)return!0;g=g.parentNode}return!1}function mo(g){var A=g.length;if(1===A)return{x:Io(g[0].clientX),y:Io(g[0].clientY)};for(var t=0,C=0,I=0;I<A;)t+=g[I].clientX,C+=g[I].clientY,I++;return{x:Io(t/A),y:Io(C/A)}}function wo(g){for(var A=[],t=0;t<g.pointers.length;)A[t]={clientX:Io(g.pointers[t].clientX),clientY:Io(g.pointers[t].clientY)},t++;return{timeStamp:io(),pointers:A,center:mo(A),deltaX:g.deltaX,deltaY:g.deltaY}}function ko(g,A,t){t||(t=co);var C=A[t[0]]-g[t[0]],I=A[t[1]]-g[t[1]];return Math.sqrt(C*C+I*I)}function xo(g,A,t){t||(t=co);var C=A[t[0]]-g[t[0]],I=A[t[1]]-g[t[1]];return 180*Math.atan2(I,C)/Math.PI}function Oo(g,A){return g===A?1:eo(g)>=eo(A)?g<0?2:4:A<0?8:16}function Eo(g,A,t){return{x:A/g||0,y:t/g||0}}function To(g,A){var t=g.session,C=A.pointers,I=C.length;t.firstInput||(t.firstInput=wo(A)),I>1&&!t.firstMultiple?t.firstMultiple=wo(A):1===I&&(t.firstMultiple=!1);var e=t.firstInput,i=t.firstMultiple,o=i?i.center:e.center,n=A.center=mo(C);A.timeStamp=io(),A.deltaTime=A.timeStamp-e.timeStamp,A.angle=xo(o,n),A.distance=ko(o,n),function(g,A){var t=A.center,C=g.offsetDelta||{},I=g.prevDelta||{},e=g.prevInput||{};1!==A.eventType&&4!==e.eventType||(I=g.prevDelta={x:e.deltaX||0,y:e.deltaY||0},C=g.offsetDelta={x:t.x,y:t.y}),A.deltaX=I.x+(t.x-C.x),A.deltaY=I.y+(t.y-C.y)}(t,A),A.offsetDirection=Oo(A.deltaX,A.deltaY);var r,s,a=Eo(A.deltaTime,A.deltaX,A.deltaY);A.overallVelocityX=a.x,A.overallVelocityY=a.y,A.overallVelocity=eo(a.x)>eo(a.y)?a.x:a.y,A.scale=i?(r=i.pointers,ko((s=C)[0],s[1],uo)/ko(r[0],r[1],uo)):1,A.rotation=i?function(g,A){return xo(A[1],A[0],uo)+xo(g[1],g[0],uo)}(i.pointers,C):0,A.maxPointers=t.prevInput?A.pointers.length>t.prevInput.maxPointers?A.pointers.length:t.prevInput.maxPointers:A.pointers.length,function(g,A){var t,C,I,e,i=g.lastInterval||A,o=A.timeStamp-i.timeStamp;if(8!==A.eventType&&(o>25||void 0===i.velocity)){var n=A.deltaX-i.deltaX,r=A.deltaY-i.deltaY,s=Eo(o,n,r);C=s.x,I=s.y,t=eo(s.x)>eo(s.y)?s.x:s.y,e=Oo(n,r),g.lastInterval=A}else t=i.velocity,C=i.velocityX,I=i.velocityY,e=i.direction;A.velocity=t,A.velocityX=C,A.velocityY=I,A.direction=e}(t,A);var d,h=g.element,l=A.srcEvent;bo(d=l.composedPath?l.composedPath()[0]:l.path?l.path[0]:l.target,h)&&(h=d),A.target=h}function Do(g,A,t){var C=t.pointers.length,I=t.changedPointers.length,e=1&A&&C-I==0,i=12&A&&C-I==0;t.isFirst=!!e,t.isFinal=!!i,e&&(g.session={}),t.eventType=A,To(g,t),g.emit("hammer.input",t),g.recognize(t),g.session.prevInput=t}function Ro(g){return g.trim().split(/\s+/g)}function No(g,A,t){po(Ro(A),(function(A){g.addEventListener(A,t,!1)}))}function Po(g,A,t){po(Ro(A),(function(A){g.removeEventListener(A,t,!1)}))}function Mo(g){var A=g.ownerDocument||g;return A.defaultView||A.parentWindow||window}var So=function(){function g(g,A){var t=this;this.manager=g,this.callback=A,this.element=g.element,this.target=g.options.inputTarget,this.domHandler=function(A){vo(g.options.enable,[g])&&t.handler(A)},this.init()}var A=g.prototype;return A.handler=function(){},A.init=function(){this.evEl&&No(this.element,this.evEl,this.domHandler),this.evTarget&&No(this.target,this.evTarget,this.domHandler),this.evWin&&No(Mo(this.element),this.evWin,this.domHandler)},A.destroy=function(){this.evEl&&Po(this.element,this.evEl,this.domHandler),this.evTarget&&Po(this.target,this.evTarget,this.domHandler),this.evWin&&Po(Mo(this.element),this.evWin,this.domHandler)},g}();function zo(g,A,t){if(g.indexOf&&!t)return g.indexOf(A);for(var C=0;C<g.length;){if(t&&g[C][t]==A||!t&&g[C]===A)return C;C++}return-1}var Bo={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},Zo={2:"touch",3:"pen",4:"mouse",5:"kinect"},Fo="pointerdown",Go="pointermove pointerup pointercancel";go.MSPointerEvent&&!go.PointerEvent&&(Fo="MSPointerDown",Go="MSPointerMove MSPointerUp MSPointerCancel");var jo=function(g){function A(){var t,C=A.prototype;return C.evEl=Fo,C.evWin=Go,(t=g.apply(this,arguments)||this).store=t.manager.session.pointerEvents=[],t}return qi(A,g),A.prototype.handler=function(g){var A=this.store,t=!1,C=g.type.toLowerCase().replace("ms",""),I=Bo[C],e=Zo[g.pointerType]||g.pointerType,i="touch"===e,o=zo(A,g.pointerId,"pointerId");1&I&&(0===g.button||i)?o<0&&(A.push(g),o=A.length-1):12&I&&(t=!0),o<0||(A[o]=g,this.callback(this.manager,I,{pointers:A,changedPointers:[g],pointerType:e,srcEvent:g}),t&&A.splice(o,1))},A}(So);function Lo(g){return Array.prototype.slice.call(g,0)}function Vo(g,A,t){for(var C=[],I=[],e=0;e<g.length;){var i=A?g[e][A]:g[e];zo(I,i)<0&&C.push(g[e]),I[e]=i,e++}return t&&(C=A?C.sort((function(g,t){return g[A]>t[A]})):C.sort()),C}var Yo={touchstart:1,touchmove:2,touchend:4,touchcancel:8},Wo=function(g){function A(){var t;return A.prototype.evTarget="touchstart touchmove touchend touchcancel",(t=g.apply(this,arguments)||this).targetIds={},t}return qi(A,g),A.prototype.handler=function(g){var A=Yo[g.type],t=Ho.call(this,g,A);t&&this.callback(this.manager,A,{pointers:t[0],changedPointers:t[1],pointerType:"touch",srcEvent:g})},A}(So);function Ho(g,A){var t,C,I=Lo(g.touches),e=this.targetIds;if(3&A&&1===I.length)return e[I[0].identifier]=!0,[I,I];var i=Lo(g.changedTouches),o=[],n=this.target;if(C=I.filter((function(g){return bo(g.target,n)})),1===A)for(t=0;t<C.length;)e[C[t].identifier]=!0,t++;for(t=0;t<i.length;)e[i[t].identifier]&&o.push(i[t]),12&A&&delete e[i[t].identifier],t++;return o.length?[Vo(C.concat(o),"identifier",!0),o]:void 0}var Qo={mousedown:1,mousemove:2,mouseup:4},Uo=function(g){function A(){var t,C=A.prototype;return C.evEl="mousedown",C.evWin="mousemove mouseup",(t=g.apply(this,arguments)||this).pressed=!1,t}return qi(A,g),A.prototype.handler=function(g){var A=Qo[g.type];1&A&&0===g.button&&(this.pressed=!0),2&A&&1!==g.which&&(A=4),this.pressed&&(4&A&&(this.pressed=!1),this.callback(this.manager,A,{pointers:[g],changedPointers:[g],pointerType:"mouse",srcEvent:g}))},A}(So);function Ko(g){var A=g.changedPointers[0];if(A.identifier===this.primaryTouch){var t={x:A.clientX,y:A.clientY},C=this.lastTouches;this.lastTouches.push(t);setTimeout((function(){var g=C.indexOf(t);g>-1&&C.splice(g,1)}),2500)}}function Xo(g,A){1&g?(this.primaryTouch=A.changedPointers[0].identifier,Ko.call(this,A)):12&g&&Ko.call(this,A)}function _o(g){for(var A=g.srcEvent.clientX,t=g.srcEvent.clientY,C=0;C<this.lastTouches.length;C++){var I=this.lastTouches[C],e=Math.abs(A-I.x),i=Math.abs(t-I.y);if(e<=25&&i<=25)return!0}return!1}var Jo=function(){return function(g){function A(A,t){var C;return(C=g.call(this,A,t)||this).handler=function(g,A,t){var I="touch"===t.pointerType,e="mouse"===t.pointerType;if(!(e&&t.sourceCapabilities&&t.sourceCapabilities.firesTouchEvents)){if(I)Xo.call($i($i(C)),A,t);else if(e&&_o.call($i($i(C)),t))return;C.callback(g,A,t)}},C.touch=new Wo(C.manager,C.handler),C.mouse=new Uo(C.manager,C.handler),C.primaryTouch=null,C.lastTouches=[],C}return qi(A,g),A.prototype.destroy=function(){this.touch.destroy(),this.mouse.destroy()},A}(So)}();function qo(g,A,t){return!!Array.isArray(g)&&(po(g,t[A],t),!0)}var $o=1;function gn(g,A){var t=A.manager;return t?t.get(g):g}function An(g){return 16&g?"cancel":8&g?"end":4&g?"move":2&g?"start":""}var tn=function(){function g(g){void 0===g&&(g={}),this.options=Ji({enable:!0},g),this.id=$o++,this.manager=null,this.state=1,this.simultaneous={},this.requireFail=[]}var A=g.prototype;return A.set=function(g){return Ao(this.options,g),this.manager&&this.manager.touchAction.update(),this},A.recognizeWith=function(g){if(qo(g,"recognizeWith",this))return this;var A=this.simultaneous;return A[(g=gn(g,this)).id]||(A[g.id]=g,g.recognizeWith(this)),this},A.dropRecognizeWith=function(g){return qo(g,"dropRecognizeWith",this)||(g=gn(g,this),delete this.simultaneous[g.id]),this},A.requireFailure=function(g){if(qo(g,"requireFailure",this))return this;var A=this.requireFail;return-1===zo(A,g=gn(g,this))&&(A.push(g),g.requireFailure(this)),this},A.dropRequireFailure=function(g){if(qo(g,"dropRequireFailure",this))return this;g=gn(g,this);var A=zo(this.requireFail,g);return A>-1&&this.requireFail.splice(A,1),this},A.hasRequireFailures=function(){return this.requireFail.length>0},A.canRecognizeWith=function(g){return!!this.simultaneous[g.id]},A.emit=function(g){var A=this,t=this.state;function C(t){A.manager.emit(t,g)}t<8&&C(A.options.event+An(t)),C(A.options.event),g.additionalEvent&&C(g.additionalEvent),t>=8&&C(A.options.event+An(t))},A.tryEmit=function(g){if(this.canEmit())return this.emit(g);this.state=32},A.canEmit=function(){for(var g=0;g<this.requireFail.length;){if(!(33&this.requireFail[g].state))return!1;g++}return!0},A.recognize=function(g){var A=Ao({},g);if(!vo(this.options.enable,[this,A]))return this.reset(),void(this.state=32);56&this.state&&(this.state=1),this.state=this.process(A),30&this.state&&this.tryEmit(A)},A.process=function(g){},A.getTouchAction=function(){},A.reset=function(){},g}(),Cn=function(g){function A(A){var t;return void 0===A&&(A={}),(t=g.call(this,Ji({event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},A))||this).pTime=!1,t.pCenter=!1,t._timer=null,t._input=null,t.count=0,t}qi(A,g);var t=A.prototype;return t.getTouchAction=function(){return["manipulation"]},t.process=function(g){var A=this,t=this.options,C=g.pointers.length===t.pointers,I=g.distance<t.threshold,e=g.deltaTime<t.time;if(this.reset(),1&g.eventType&&0===this.count)return this.failTimeout();if(I&&e&&C){if(4!==g.eventType)return this.failTimeout();var i=!this.pTime||g.timeStamp-this.pTime<t.interval,o=!this.pCenter||ko(this.pCenter,g.center)<t.posThreshold;if(this.pTime=g.timeStamp,this.pCenter=g.center,o&&i?this.count+=1:this.count=1,this._input=g,0===this.count%t.taps)return this.hasRequireFailures()?(this._timer=setTimeout((function(){A.state=8,A.tryEmit()}),t.interval),2):8}return 32},t.failTimeout=function(){var g=this;return this._timer=setTimeout((function(){g.state=32}),this.options.interval),32},t.reset=function(){clearTimeout(this._timer)},t.emit=function(){8===this.state&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))},A}(tn),In=function(g){function A(A){return void 0===A&&(A={}),g.call(this,Ji({pointers:1},A))||this}qi(A,g);var t=A.prototype;return t.attrTest=function(g){var A=this.options.pointers;return 0===A||g.pointers.length===A},t.process=function(g){var A=this.state,t=g.eventType,C=6&A,I=this.attrTest(g);return C&&(8&t||!I)?16|A:C||I?4&t?8|A:2&A?4|A:2:32},A}(tn);function en(g){return 16===g?"down":8===g?"up":2===g?"left":4===g?"right":""}var on=function(g){function A(A){var t;return void 0===A&&(A={}),(t=g.call(this,Ji({event:"pan",threshold:10,pointers:1,direction:30},A))||this).pX=null,t.pY=null,t}qi(A,g);var t=A.prototype;return t.getTouchAction=function(){var g=this.options.direction,A=[];return 6&g&&A.push("pan-y"),24&g&&A.push("pan-x"),A},t.directionTest=function(g){var A=this.options,t=!0,C=g.distance,I=g.direction,e=g.deltaX,i=g.deltaY;return I&A.direction||(6&A.direction?(I=0===e?1:e<0?2:4,t=e!==this.pX,C=Math.abs(g.deltaX)):(I=0===i?1:i<0?8:16,t=i!==this.pY,C=Math.abs(g.deltaY))),g.direction=I,t&&C>A.threshold&&I&A.direction},t.attrTest=function(g){return In.prototype.attrTest.call(this,g)&&(2&this.state||!(2&this.state)&&this.directionTest(g))},t.emit=function(A){this.pX=A.deltaX,this.pY=A.deltaY;var t=en(A.direction);t&&(A.additionalEvent=this.options.event+t),g.prototype.emit.call(this,A)},A}(In),nn=function(g){function A(A){return void 0===A&&(A={}),g.call(this,Ji({event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},A))||this}qi(A,g);var t=A.prototype;return t.getTouchAction=function(){return on.prototype.getTouchAction.call(this)},t.attrTest=function(A){var t,C=this.options.direction;return 30&C?t=A.overallVelocity:6&C?t=A.overallVelocityX:24&C&&(t=A.overallVelocityY),g.prototype.attrTest.call(this,A)&&C&A.offsetDirection&&A.distance>this.options.threshold&&A.maxPointers===this.options.pointers&&eo(t)>this.options.velocity&&4&A.eventType},t.emit=function(g){var A=en(g.offsetDirection);A&&this.manager.emit(this.options.event+A,g),this.manager.emit(this.options.event,g)},A}(In),rn=function(g){function A(A){return void 0===A&&(A={}),g.call(this,Ji({event:"pinch",threshold:0,pointers:2},A))||this}qi(A,g);var t=A.prototype;return t.getTouchAction=function(){return["none"]},t.attrTest=function(A){return g.prototype.attrTest.call(this,A)&&(Math.abs(A.scale-1)>this.options.threshold||2&this.state)},t.emit=function(A){if(1!==A.scale){var t=A.scale<1?"in":"out";A.additionalEvent=this.options.event+t}g.prototype.emit.call(this,A)},A}(In),sn=function(g){function A(A){return void 0===A&&(A={}),g.call(this,Ji({event:"rotate",threshold:0,pointers:2},A))||this}qi(A,g);var t=A.prototype;return t.getTouchAction=function(){return["none"]},t.attrTest=function(A){return g.prototype.attrTest.call(this,A)&&(Math.abs(A.rotation)>this.options.threshold||2&this.state)},A}(In),an=function(g){function A(A){var t;return void 0===A&&(A={}),(t=g.call(this,Ji({event:"press",pointers:1,time:251,threshold:9},A))||this)._timer=null,t._input=null,t}qi(A,g);var t=A.prototype;return t.getTouchAction=function(){return["auto"]},t.process=function(g){var A=this,t=this.options,C=g.pointers.length===t.pointers,I=g.distance<t.threshold,e=g.deltaTime>t.time;if(this._input=g,!I||!C||12&g.eventType&&!e)this.reset();else if(1&g.eventType)this.reset(),this._timer=setTimeout((function(){A.state=8,A.tryEmit()}),t.time);else if(4&g.eventType)return 8;return 32},t.reset=function(){clearTimeout(this._timer)},t.emit=function(g){8===this.state&&(g&&4&g.eventType?this.manager.emit(this.options.event+"up",g):(this._input.timeStamp=io(),this.manager.emit(this.options.event,this._input)))},A}(tn),dn={domEvents:!1,touchAction:"compute",enable:!0,inputTarget:null,inputClass:null,cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},hn=[[sn,{enable:!1}],[rn,{enable:!1},["rotate"]],[nn,{direction:6}],[on,{direction:6},["swipe"]],[Cn],[Cn,{event:"doubletap",taps:2},["tap"]],[an]];function ln(g,A){var t,C=g.element;C.style&&(po(g.options.cssProps,(function(I,e){t=oo(C.style,e),A?(g.oldCssProps[t]=C.style[t],C.style[t]=I):C.style[t]=g.oldCssProps[t]||""})),A||(g.oldCssProps={}))}var cn=function(){function g(g,A){var t,C=this;this.options=Ao({},dn,A||{}),this.options.inputTarget=this.options.inputTarget||g,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=g,this.input=new((t=this).options.inputClass||(ho?jo:lo?Wo:ao?Jo:Uo))(t,Do),this.touchAction=new yo(this,this.options.touchAction),ln(this,!0),po(this.options.recognizers,(function(g){var A=C.add(new g[0](g[1]));g[2]&&A.recognizeWith(g[2]),g[3]&&A.requireFailure(g[3])}),this)}var A=g.prototype;return A.set=function(g){return Ao(this.options,g),g.touchAction&&this.touchAction.update(),g.inputTarget&&(this.input.destroy(),this.input.target=g.inputTarget,this.input.init()),this},A.stop=function(g){this.session.stopped=g?2:1},A.recognize=function(g){var A=this.session;if(!A.stopped){var t;this.touchAction.preventDefaults(g);var C=this.recognizers,I=A.curRecognizer;(!I||I&&8&I.state)&&(A.curRecognizer=null,I=null);for(var e=0;e<C.length;)t=C[e],2===A.stopped||I&&t!==I&&!t.canRecognizeWith(I)?t.reset():t.recognize(g),!I&&14&t.state&&(A.curRecognizer=t,I=t),e++}},A.get=function(g){if(g instanceof tn)return g;for(var A=this.recognizers,t=0;t<A.length;t++)if(A[t].options.event===g)return A[t];return null},A.add=function(g){if(qo(g,"add",this))return this;var A=this.get(g.options.event);return A&&this.remove(A),this.recognizers.push(g),g.manager=this,this.touchAction.update(),g},A.remove=function(g){if(qo(g,"remove",this))return this;var A=this.get(g);if(g){var t=this.recognizers,C=zo(t,A);-1!==C&&(t.splice(C,1),this.touchAction.update())}return this},A.on=function(g,A){if(void 0===g||void 0===A)return this;var t=this.handlers;return po(Ro(g),(function(g){t[g]=t[g]||[],t[g].push(A)})),this},A.off=function(g,A){if(void 0===g)return this;var t=this.handlers;return po(Ro(g),(function(g){A?t[g]&&t[g].splice(zo(t[g],A),1):delete t[g]})),this},A.emit=function(g,A){this.options.domEvents&&function(g,A){var t=document.createEvent("Event");t.initEvent(g,!0,!0),t.gesture=A,A.target.dispatchEvent(t)}(g,A);var t=this.handlers[g]&&this.handlers[g].slice();if(t&&t.length){A.type=g,A.preventDefault=function(){A.srcEvent.preventDefault()};for(var C=0;C<t.length;)t[C](A),C++}},A.destroy=function(){this.element&&ln(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null},g}(),un={touchstart:1,touchmove:2,touchend:4,touchcancel:8},pn=function(g){function A(){var t,C=A.prototype;return C.evTarget="touchstart",C.evWin="touchstart touchmove touchend touchcancel",(t=g.apply(this,arguments)||this).started=!1,t}return qi(A,g),A.prototype.handler=function(g){var A=un[g.type];if(1===A&&(this.started=!0),this.started){var t=vn.call(this,g,A);12&A&&t[0].length-t[1].length==0&&(this.started=!1),this.callback(this.manager,A,{pointers:t[0],changedPointers:t[1],pointerType:"touch",srcEvent:g})}},A}(So);function vn(g,A){var t=Lo(g.touches),C=Lo(g.changedTouches);return 12&A&&(t=Vo(t.concat(C),"identifier",!0)),[t,C]}function fn(g,A,t){var C="DEPRECATED METHOD: "+A+"\n"+t+" AT \n";return function(){var A=new Error("get-stack-trace"),t=A&&A.stack?A.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",I=window.console&&(window.console.warn||window.console.log);return I&&I.call(window.console,C,t),g.apply(this,arguments)}}var yn=fn((function(g,A,t){for(var C=Object.keys(A),I=0;I<C.length;)(!t||t&&void 0===g[C[I]])&&(g[C[I]]=A[C[I]]),I++;return g}),"extend","Use `assign`."),bn=fn((function(g,A){return yn(g,A,!0)}),"merge","Use `assign`.");function mn(g,A,t){var C,I=A.prototype;(C=g.prototype=Object.create(I)).constructor=g,C._super=I,t&&Ao(C,t)}function wn(g,A){return function(){return g.apply(A,arguments)}}var kn=function(){var g=function(g,A){return void 0===A&&(A={}),new cn(g,Ji({recognizers:hn.concat()},A))};return g.VERSION="2.0.17-rc",g.DIRECTION_ALL=30,g.DIRECTION_DOWN=16,g.DIRECTION_LEFT=2,g.DIRECTION_RIGHT=4,g.DIRECTION_UP=8,g.DIRECTION_HORIZONTAL=6,g.DIRECTION_VERTICAL=24,g.DIRECTION_NONE=1,g.DIRECTION_DOWN=16,g.INPUT_START=1,g.INPUT_MOVE=2,g.INPUT_END=4,g.INPUT_CANCEL=8,g.STATE_POSSIBLE=1,g.STATE_BEGAN=2,g.STATE_CHANGED=4,g.STATE_ENDED=8,g.STATE_RECOGNIZED=8,g.STATE_CANCELLED=16,g.STATE_FAILED=32,g.Manager=cn,g.Input=So,g.TouchAction=yo,g.TouchInput=Wo,g.MouseInput=Uo,g.PointerEventInput=jo,g.TouchMouseInput=Jo,g.SingleTouchInput=pn,g.Recognizer=tn,g.AttrRecognizer=In,g.Tap=Cn,g.Pan=on,g.Swipe=nn,g.Pinch=rn,g.Rotate=sn,g.Press=an,g.on=No,g.off=Po,g.each=po,g.merge=bn,g.extend=yn,g.bindFn=wn,g.assign=Ao,g.inherit=mn,g.bindFn=wn,g.prefixed=oo,g.toArray=Lo,g.inArray=zo,g.uniqueArray=Vo,g.splitStr=Ro,g.boolOrFn=vo,g.hasParent=bo,g.addEventListeners=No,g.removeEventListeners=Po,g.defaults=Ao({},dn,{preset:hn}),g}(),xn=I((function(g){if("undefined"!=typeof window){var A=window.Hammer||kn;g.exports=A}else g.exports=function(){return{on:g=function(){},off:g,destroy:g,emit:g,get:function(A){return{set:g}}};var g}}));function On(g){var A,t,C=this;this.active=!1,this.dom={container:g},this.dom.overlay=document.createElement("div"),this.dom.overlay.className="vis-overlay",this.dom.container.appendChild(this.dom.overlay),this.hammer=xn(this.dom.overlay),this.hammer.on("tap",$(A=this._onTapOverlay).call(A,this));var I=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];BC(I).call(I,(function(g){C.hammer.on(g,(function(g){g.srcEvent.stopPropagation()}))})),document&&document.body&&(this.onClick=function(A){(function(g,A){for(;g;){if(g===A)return!0;g=g.parentNode}return!1})(A.target,g)||C.deactivate()},document.body.addEventListener("click",this.onClick)),void 0!==this.keycharm&&this.keycharm.destroy(),this.keycharm=_i(),this.escListener=$(t=this.deactivate).call(t,this)}Eg(On.prototype),On.current=null,On.prototype.destroy=function(){this.deactivate(),this.dom.overlay.parentNode.removeChild(this.dom.overlay),this.onClick&&document.body.removeEventListener("click",this.onClick),void 0!==this.keycharm&&this.keycharm.destroy(),this.keycharm=null,this.hammer.destroy(),this.hammer=null},On.prototype.activate=function(){var g,A,t,C,I;On.current&&On.current.deactivate(),On.current=this,this.active=!0,this.dom.overlay.style.display="none",A=this.dom.container,t="vis-active",C=A.className.split(" "),I=t.split(" "),C=se(C).call(C,eI(I).call(I,(function(g){return uI(C).call(C,g)<0}))),A.className=C.join(" "),this.emit("change"),this.emit("activate"),$(g=this.keycharm).call(g,"esc",this.escListener)},On.prototype.deactivate=function(){var g,A,t,C;this.active=!1,this.dom.overlay.style.display="block",g=this.dom.container,A="vis-active",t=g.className.split(" "),C=A.split(" "),t=eI(t).call(t,(function(g){return uI(C).call(C,g)<0})),g.className=t.join(" "),this.keycharm.unbind("esc",this.escListener),this.emit("change"),this.emit("deactivate")},On.prototype._onTapOverlay=function(g){this.activate(),g.srcEvent.stopPropagation()};var En=Object.freeze({__proto__:null,en:{addDescription:"Click in an empty space to place a new node.",addEdge:"Add Edge",addNode:"Add Node",back:"Back",createEdgeError:"Cannot link edges to a cluster.",del:"Delete selected",deleteClusterError:"Clusters cannot be deleted.",edgeDescription:"Click on a node and drag the edge to another node to connect them.",edit:"Edit",editClusterError:"Clusters cannot be edited.",editEdge:"Edit Edge",editEdgeDescription:"Click on the control points and drag them to a node to connect to it.",editNode:"Edit Node"},de:{addDescription:"Klicke auf eine freie Stelle, um einen neuen Knoten zu plazieren.",addEdge:"Kante hinzufügen",addNode:"Knoten hinzufügen",back:"Zurück",createEdgeError:"Es ist nicht möglich, Kanten mit Clustern zu verbinden.",del:"Lösche Auswahl",deleteClusterError:"Cluster können nicht gelöscht werden.",edgeDescription:"Klicke auf einen Knoten und ziehe die Kante zu einem anderen Knoten, um diese zu verbinden.",edit:"Editieren",editClusterError:"Cluster können nicht editiert werden.",editEdge:"Kante editieren",editEdgeDescription:"Klicke auf die Verbindungspunkte und ziehe diese auf einen Knoten, um sie zu verbinden.",editNode:"Knoten editieren"},es:{addDescription:"Haga clic en un lugar vacío para colocar un nuevo nodo.",addEdge:"Añadir arista",addNode:"Añadir nodo",back:"Atrás",createEdgeError:"No se puede conectar una arista a un grupo.",del:"Eliminar selección",deleteClusterError:"No es posible eliminar grupos.",edgeDescription:"Haga clic en un nodo y arrastre la arista hacia otro nodo para conectarlos.",edit:"Editar",editClusterError:"No es posible editar grupos.",editEdge:"Editar arista",editEdgeDescription:"Haga clic en un punto de control y arrastrelo a un nodo para conectarlo.",editNode:"Editar nodo"},it:{addDescription:"Clicca per aggiungere un nuovo nodo",addEdge:"Aggiungi un vertice",addNode:"Aggiungi un nodo",back:"Indietro",createEdgeError:"Non si possono collegare vertici ad un cluster",del:"Cancella la selezione",deleteClusterError:"I cluster non possono essere cancellati",edgeDescription:"Clicca su un nodo e trascinalo ad un altro nodo per connetterli.",edit:"Modifica",editClusterError:"I clusters non possono essere modificati.",editEdge:"Modifica il vertice",editEdgeDescription:"Clicca sui Punti di controllo e trascinali ad un nodo per connetterli.",editNode:"Modifica il nodo"},nl:{addDescription:"Klik op een leeg gebied om een nieuwe node te maken.",addEdge:"Link toevoegen",addNode:"Node toevoegen",back:"Terug",createEdgeError:"Kan geen link maken naar een cluster.",del:"Selectie verwijderen",deleteClusterError:"Clusters kunnen niet worden verwijderd.",edgeDescription:"Klik op een node en sleep de link naar een andere node om ze te verbinden.",edit:"Wijzigen",editClusterError:"Clusters kunnen niet worden aangepast.",editEdge:"Link wijzigen",editEdgeDescription:"Klik op de verbindingspunten en sleep ze naar een node om daarmee te verbinden.",editNode:"Node wijzigen"},pt:{addDescription:"Clique em um espaço em branco para adicionar um novo nó",addEdge:"Adicionar aresta",addNode:"Adicionar nó",back:"Voltar",createEdgeError:"Não foi possível linkar arestas a um cluster.",del:"Remover selecionado",deleteClusterError:"Clusters não puderam ser removidos.",edgeDescription:"Clique em um nó e arraste a aresta até outro nó para conectá-los",edit:"Editar",editClusterError:"Clusters não puderam ser editados.",editEdge:"Editar aresta",editEdgeDescription:"Clique nos pontos de controle e os arraste para um nó para conectá-los",editNode:"Editar nó"},ru:{addDescription:"Кликните в свободное место, чтобы добавить новый узел.",addEdge:"Добавить ребро",addNode:"Добавить узел",back:"Назад",createEdgeError:"Невозможно соединить ребра в кластер.",del:"Удалить выбранное",deleteClusterError:"Кластеры не могут быть удалены",edgeDescription:"Кликните на узел и протяните ребро к другому узлу, чтобы соединить их.",edit:"Редактировать",editClusterError:"Кластеры недоступны для редактирования.",editEdge:"Редактировать ребро",editEdgeDescription:"Кликните на контрольные точки и перетащите их в узел, чтобы подключиться к нему.",editNode:"Редактировать узел"},cn:{addDescription:"单击空白处放置新节点。",addEdge:"添加连接线",addNode:"添加节点",back:"返回",createEdgeError:"无法将连接线连接到群集。",del:"删除选定",deleteClusterError:"无法删除群集。",edgeDescription:"单击某个节点并将该连接线拖动到另一个节点以连接它们。",edit:"编辑",editClusterError:"无法编辑群集。",editEdge:"编辑连接线",editEdgeDescription:"单击控制节点并将它们拖到节点上连接。",editNode:"编辑节点"},uk:{addDescription:"Kлікніть на вільне місце, щоб додати новий вузол.",addEdge:"Додати край",addNode:"Додати вузол",back:"Назад",createEdgeError:"Не можливо об'єднати краї в групу.",del:"Видалити обране",deleteClusterError:"Групи не можуть бути видалені.",edgeDescription:"Клікніть на вузол і перетягніть край до іншого вузла, щоб їх з'єднати.",edit:"Редагувати",editClusterError:"Групи недоступні для редагування.",editEdge:"Редагувати край",editEdgeDescription:"Клікніть на контрольні точки і перетягніть їх у вузол, щоб підключитися до нього.",editNode:"Редагувати вузол"},fr:{addDescription:"Cliquez dans un endroit vide pour placer un nœud.",addEdge:"Ajouter un lien",addNode:"Ajouter un nœud",back:"Retour",createEdgeError:"Impossible de créer un lien vers un cluster.",del:"Effacer la sélection",deleteClusterError:"Les clusters ne peuvent pas être effacés.",edgeDescription:"Cliquez sur un nœud et glissez le lien vers un autre nœud pour les connecter.",edit:"Éditer",editClusterError:"Les clusters ne peuvent pas être édités.",editEdge:"Éditer le lien",editEdgeDescription:"Cliquez sur les points de contrôle et glissez-les pour connecter un nœud.",editNode:"Éditer le nœud"},cs:{addDescription:"Kluknutím do prázdného prostoru můžete přidat nový vrchol.",addEdge:"Přidat hranu",addNode:"Přidat vrchol",back:"Zpět",createEdgeError:"Nelze připojit hranu ke shluku.",del:"Smazat výběr",deleteClusterError:"Nelze mazat shluky.",edgeDescription:"Přetažením z jednoho vrcholu do druhého můžete spojit tyto vrcholy novou hranou.",edit:"Upravit",editClusterError:"Nelze upravovat shluky.",editEdge:"Upravit hranu",editEdgeDescription:"Přetažením kontrolního vrcholu hrany ji můžete připojit k jinému vrcholu.",editNode:"Upravit vrchol"}});var Tn=function(g,A){if(!(g instanceof A))throw new TypeError("Cannot call a class as a function")};function Dn(g,A){for(var t=0;t<A.length;t++){var C=A[t];C.enumerable=C.enumerable||!1,C.configurable=!0,"value"in C&&(C.writable=!0),lC(g,C.key,C)}}var Rn=function(g,A,t){return A&&Dn(g.prototype,A),t&&Dn(g,t),g},Nn=function(){function g(){Tn(this,g),this.NUM_ITERATIONS=4,this.image=new Image,this.canvas=document.createElement("canvas")}return Rn(g,[{key:"init",value:function(){if(!this.initialized()){this.src=this.image.src;var g=this.image.width,A=this.image.height;this.width=g,this.height=A;var t=Math.floor(A/2),C=Math.floor(A/4),I=Math.floor(A/8),e=Math.floor(A/16),i=Math.floor(g/2),o=Math.floor(g/4),n=Math.floor(g/8),r=Math.floor(g/16);this.canvas.width=3*o,this.canvas.height=t,this.coordinates=[[0,0,i,t],[i,0,o,C],[i,C,n,I],[5*n,C,r,e]],this._fillMipMap()}}},{key:"initialized",value:function(){return void 0!==this.coordinates}},{key:"_fillMipMap",value:function(){var g=this.canvas.getContext("2d"),A=this.coordinates[0];g.drawImage(this.image,A[0],A[1],A[2],A[3]);for(var t=1;t<this.NUM_ITERATIONS;t++){var C=this.coordinates[t-1],I=this.coordinates[t];g.drawImage(this.canvas,C[0],C[1],C[2],C[3],I[0],I[1],I[2],I[3])}}},{key:"drawImageAtPosition",value:function(g,A,t,C,I,e){if(this.initialized())if(A>2){A*=.5;for(var i=0;A>2&&i<this.NUM_ITERATIONS;)A*=.5,i+=1;i>=this.NUM_ITERATIONS&&(i=this.NUM_ITERATIONS-1);var o=this.coordinates[i];g.drawImage(this.canvas,o[0],o[1],o[2],o[3],t,C,I,e)}else g.drawImage(this.image,t,C,I,e)}}]),g}(),Pn=function(){function g(A){Tn(this,g),this.images={},this.imageBroken={},this.callback=A}return Rn(g,[{key:"_tryloadBrokenUrl",value:function(g,A,t){void 0!==g&&void 0!==t&&(void 0!==A?(t.image.onerror=function(){console.error("Could not load brokenImage:",A)},t.image.src=A):console.warn("No broken url image defined"))}},{key:"_redrawWithImage",value:function(g){this.callback&&this.callback(g)}},{key:"load",value:function(g,A){var t=this,C=this.images[g];if(C)return C;var I=new Nn;return this.images[g]=I,I.image.onload=function(){t._fixImageCoordinates(I.image),I.init(),t._redrawWithImage(I)},I.image.onerror=function(){console.error("Could not load image:",g),t._tryloadBrokenUrl(g,A,I)},I.image.src=g,I}},{key:"_fixImageCoordinates",value:function(g){0===g.width&&(document.body.appendChild(g),g.width=g.offsetWidth,g.height=g.offsetHeight,document.body.removeChild(g))}}]),g}(),Mn=function(){function g(){Tn(this,g),this.clear(),this.defaultIndex=0,this.groupsArray=[],this.groupIndex=0,this.defaultGroups=[{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},{border:"#FFA500",background:"#FFFF00",highlight:{border:"#FFA500",background:"#FFFFA3"},hover:{border:"#FFA500",background:"#FFFFA3"}},{border:"#FA0A10",background:"#FB7E81",highlight:{border:"#FA0A10",background:"#FFAFB1"},hover:{border:"#FA0A10",background:"#FFAFB1"}},{border:"#41A906",background:"#7BE141",highlight:{border:"#41A906",background:"#A1EC76"},hover:{border:"#41A906",background:"#A1EC76"}},{border:"#E129F0",background:"#EB7DF4",highlight:{border:"#E129F0",background:"#F0B3F5"},hover:{border:"#E129F0",background:"#F0B3F5"}},{border:"#7C29F0",background:"#AD85E4",highlight:{border:"#7C29F0",background:"#D3BDF0"},hover:{border:"#7C29F0",background:"#D3BDF0"}},{border:"#C37F00",background:"#FFA807",highlight:{border:"#C37F00",background:"#FFCA66"},hover:{border:"#C37F00",background:"#FFCA66"}},{border:"#4220FB",background:"#6E6EFD",highlight:{border:"#4220FB",background:"#9B9BFD"},hover:{border:"#4220FB",background:"#9B9BFD"}},{border:"#FD5A77",background:"#FFC0CB",highlight:{border:"#FD5A77",background:"#FFD1D9"},hover:{border:"#FD5A77",background:"#FFD1D9"}},{border:"#4AD63A",background:"#C2FABC",highlight:{border:"#4AD63A",background:"#E6FFE3"},hover:{border:"#4AD63A",background:"#E6FFE3"}},{border:"#990000",background:"#EE0000",highlight:{border:"#BB0000",background:"#FF3333"},hover:{border:"#BB0000",background:"#FF3333"}},{border:"#FF6000",background:"#FF6000",highlight:{border:"#FF6000",background:"#FF6000"},hover:{border:"#FF6000",background:"#FF6000"}},{border:"#97C2FC",background:"#2B7CE9",highlight:{border:"#D2E5FF",background:"#2B7CE9"},hover:{border:"#D2E5FF",background:"#2B7CE9"}},{border:"#399605",background:"#255C03",highlight:{border:"#399605",background:"#255C03"},hover:{border:"#399605",background:"#255C03"}},{border:"#B70054",background:"#FF007E",highlight:{border:"#B70054",background:"#FF007E"},hover:{border:"#B70054",background:"#FF007E"}},{border:"#AD85E4",background:"#7C29F0",highlight:{border:"#D3BDF0",background:"#7C29F0"},hover:{border:"#D3BDF0",background:"#7C29F0"}},{border:"#4557FA",background:"#000EA1",highlight:{border:"#6E6EFD",background:"#000EA1"},hover:{border:"#6E6EFD",background:"#000EA1"}},{border:"#FFC0CB",background:"#FD5A77",highlight:{border:"#FFD1D9",background:"#FD5A77"},hover:{border:"#FFD1D9",background:"#FD5A77"}},{border:"#C2FABC",background:"#74D66A",highlight:{border:"#E6FFE3",background:"#74D66A"},hover:{border:"#E6FFE3",background:"#74D66A"}},{border:"#EE0000",background:"#990000",highlight:{border:"#FF3333",background:"#BB0000"},hover:{border:"#FF3333",background:"#BB0000"}}],this.options={},this.defaultOptions={useDefaultGroups:!0},yg(this.options,this.defaultOptions)}return Rn(g,[{key:"setOptions",value:function(g){var A=["useDefaultGroups"];if(void 0!==g)for(var t in g)if(Object.prototype.hasOwnProperty.call(g,t)&&-1===uI(A).call(A,t)){var C=g[t];this.add(t,C)}}},{key:"clear",value:function(){this.groups={},this.groupsArray=[]}},{key:"get",value:function(g){var A=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],t=this.groups[g];if(void 0===t&&A)if(!1===this.options.useDefaultGroups&&this.groupsArray.length>0){var C=this.groupIndex%this.groupsArray.length;this.groupIndex++,(t={}).color=this.groups[this.groupsArray[C]],this.groups[g]=t}else{var I=this.defaultIndex%this.defaultGroups.length;this.defaultIndex++,(t={}).color=this.defaultGroups[I],this.groups[g]=t}return t}},{key:"add",value:function(g,A){return this.groups[g]=A,this.groupsArray.push(g),A}}]),g}(),Sn=[].slice,zn=/MSIE .\./.test(UC),Bn=function(g){return function(A,t){var C=arguments.length>2,I=C?Sn.call(arguments,2):void 0;return g(C?function(){("function"==typeof A?A:Function(A)).apply(this,I)}:A,t)}};H({global:!0,bind:!0,forced:zn},{setTimeout:Bn(i.setTimeout),setInterval:Bn(i.setInterval)});var Zn=B.setTimeout,Fn=HA.some,Gn=kC("some"),jn=TC("some");H({target:"Array",proto:!0,forced:!Gn||!jn},{some:function(g){return Fn(this,g,arguments.length>1?arguments[1]:void 0)}});var Ln=_("Array").some,Vn=Array.prototype,Yn=function(g){var A=g.some;return g===Vn||g instanceof Array&&A===Vn.some?Ln:A},Wn=i.isFinite,Hn=Number.isFinite||function(g){return"number"==typeof g&&Wn(g)};H({target:"Number",stat:!0},{isFinite:Hn});var Qn=B.Number.isFinite;H({target:"Number",stat:!0},{isNaN:function(g){return g!=g}});var Un=B.Number.isNaN;var Kn=function(g){if(void 0===g)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return g},Xn=Mg("Reflect","construct"),_n=o((function(){function g(){}return!(Xn((function(){}),[],g)instanceof g)})),Jn=!o((function(){Xn((function(){}))})),qn=_n||Jn;H({target:"Reflect",stat:!0,forced:qn,sham:qn},{construct:function(g,A){Z(g),G(A);var t=arguments.length<3?g:Z(arguments[2]);if(Jn&&!_n)return Xn(g,A,t);if(g==t){switch(A.length){case 0:return new g;case 1:return new g(A[0]);case 2:return new g(A[0],A[1]);case 3:return new g(A[0],A[1],A[2]);case 4:return new g(A[0],A[1],A[2],A[3])}var C=[null];return C.push.apply(C,A),new(X.apply(g,C))}var I=t.prototype,e=eA(f(I)?I:Object.prototype),i=Function.apply.call(g,e,A);return f(i)?i:e}});var $n=B.Reflect.construct,gr=_("Array").entries,Ar=Array.prototype,tr={DOMTokenList:!0,NodeList:!0},Cr=function(g){var A=g.entries;return g===Ar||g instanceof Array&&A===Ar.entries||tr.hasOwnProperty(mA(g))?gr:A},Ir=Mg("JSON","stringify"),er=/[\uD800-\uDFFF]/g,ir=/^[\uD800-\uDBFF]$/,or=/^[\uDC00-\uDFFF]$/,nr=function(g,A,t){var C=t.charAt(A-1),I=t.charAt(A+1);return ir.test(g)&&!or.test(I)||or.test(g)&&!ir.test(C)?"\\u"+g.charCodeAt(0).toString(16):g},rr=o((function(){return'"\\udf06\\ud834"'!==Ir("\udf06\ud834")||'"\\udead"'!==Ir("\udead")}));Ir&&H({target:"JSON",stat:!0,forced:rr},{stringify:function(g,A,t){var C=Ir.apply(null,arguments);return"string"==typeof C?C.replace(er,nr):C}}),B.JSON||(B.JSON={stringify:JSON.stringify});var sr=function(g,A,t){return B.JSON.stringify.apply(null,arguments)},ar=_("Array").values,dr=Array.prototype,hr={DOMTokenList:!0,NodeList:!0},lr=function(g){var A=g.values;return g===dr||g instanceof Array&&A===dr.values||hr.hasOwnProperty(mA(g))?ar:A},cr=_("Array").keys,ur=Array.prototype,pr={DOMTokenList:!0,NodeList:!0},vr=function(g){var A=g.keys;return g===ur||g instanceof Array&&A===ur.keys||pr.hasOwnProperty(mA(g))?cr:A},fr=dC;H({target:"Object",stat:!0},{setPrototypeOf:St});var yr=B.Object.setPrototypeOf,br=I((function(g){function A(t,C){return g.exports=A=yr||function(g,A){return g.__proto__=A,g},A(t,C)}g.exports=A}));var mr=function(g,A){if("function"!=typeof A&&null!==A)throw new TypeError("Super expression must either be null or a function");g.prototype=fr(A&&A.prototype,{constructor:{value:g,writable:!0,configurable:!0}}),A&&br(g,A)};var wr=function(g,A){return!A||"object"!==Ae(A)&&"function"!=typeof A?Kn(g):A},kr=oI,xr=I((function(g){function A(t){return g.exports=A=yr?kr:function(g){return g.__proto__||kr(g)},A(t)}g.exports=A})),Or=[],Er=Or.sort,Tr=o((function(){Or.sort(void 0)})),Dr=o((function(){Or.sort(null)})),Rr=kC("sort");H({target:"Array",proto:!0,forced:Tr||!Dr||!Rr},{sort:function(g){return void 0===g?Er.call(ug(this)):Er.call(ug(this),Z(g))}});var Nr=_("Array").sort,Pr=Array.prototype,Mr=function(g){var A=g.sort;return g===Pr||g instanceof Array&&A===Pr.sort?Nr:A},Sr=!o((function(){return Object.isExtensible(Object.preventExtensions({}))})),zr=I((function(g){var A=L.f,t=qg("meta"),C=0,I=Object.isExtensible||function(){return!0},e=function(g){A(g,t,{value:{objectID:"O"+ ++C,weakData:{}}})},i=g.exports={REQUIRED:!1,fastKey:function(g,A){if(!f(g))return"symbol"==typeof g?g:("string"==typeof g?"S":"P")+g;if(!m(g,t)){if(!I(g))return"F";if(!A)return"E";e(g)}return g[t].objectID},getWeakData:function(g,A){if(!m(g,t)){if(!I(g))return!0;if(!A)return!1;e(g)}return g[t].weakData},onFreeze:function(g){return Sr&&i.REQUIRED&&I(g)&&!m(g,t)&&e(g),g}};sg[t]=!0})),Br=I((function(g){var A=function(g,A){this.stopped=g,this.result=A};(g.exports=function(g,t,C,I,e){var i,o,n,r,s,a,d,h=F(t,C,I?2:1);if(e)i=g;else{if("function"!=typeof(o=Jt(g)))throw TypeError("Target is not iterable");if(CC(o)){for(n=0,r=Ig(g.length);r>n;n++)if((s=I?h(G(d=g[n])[0],d[1]):h(g[n]))&&s instanceof A)return s;return new A(!1)}i=o.call(g)}for(a=i.next;!(d=a.call(i)).done;)if("object"==typeof(s=gC(i,h,d.value,I))&&s&&s instanceof A)return s;return new A(!1)}).stop=function(g){return new A(!0,g)}})),Zr=function(g,A,t){if(!(g instanceof A))throw TypeError("Incorrect "+(t?t+" ":"")+"invocation");return g},Fr=L.f,Gr=HA.forEach,jr=jA.set,Lr=jA.getterFor,Vr=function(g,A,t){var C,I=-1!==g.indexOf("Map"),e=-1!==g.indexOf("Weak"),r=I?"set":"add",s=i[g],a=s&&s.prototype,d={};if(n&&"function"==typeof s&&(e||a.forEach&&!o((function(){(new s).entries().next()})))){C=A((function(A,t){jr(Zr(A,C,g),{type:g,collection:new s}),null!=t&&Br(t,A[r],A,I)}));var h=Lr(g);Gr(["add","clear","delete","forEach","get","has","set","keys","values","entries"],(function(g){var A="add"==g||"set"==g;!(g in a)||e&&"clear"==g||V(C.prototype,g,(function(t,C){var I=h(this).collection;if(!A&&e&&!f(t))return"get"==g&&void 0;var i=I[g](0===t?0:t,C);return A?this:i}))})),e||Fr(C.prototype,"size",{configurable:!0,get:function(){return h(this).collection.size}})}else C=t.getConstructor(A,g,I,r),zr.REQUIRED=!0;return OA(C,g,!1,!0),d[g]=C,H({global:!0,forced:!0},d),e||t.setStrong(C,g,I),C},Yr=function(g,A,t){for(var C in A)t&&t.unsafe&&g[C]?g[C]=A[C]:sA(g,C,A[C],t);return g},Wr=lA("species"),Hr=L.f,Qr=zr.fastKey,Ur=jA.set,Kr=jA.getterFor,Xr={getConstructor:function(g,A,t,C){var I=g((function(g,e){Zr(g,I,A),Ur(g,{type:A,index:eA(null),first:void 0,last:void 0,size:0}),n||(g.size=0),null!=e&&Br(e,g[C],g,t)})),e=Kr(A),i=function(g,A,t){var C,I,i=e(g),r=o(g,A);return r?r.value=t:(i.last=r={index:I=Qr(A,!0),key:A,value:t,previous:C=i.last,next:void 0,removed:!1},i.first||(i.first=r),C&&(C.next=r),n?i.size++:g.size++,"F"!==I&&(i.index[I]=r)),g},o=function(g,A){var t,C=e(g),I=Qr(A);if("F"!==I)return C.index[I];for(t=C.first;t;t=t.next)if(t.key==A)return t};return Yr(I.prototype,{clear:function(){for(var g=e(this),A=g.index,t=g.first;t;)t.removed=!0,t.previous&&(t.previous=t.previous.next=void 0),delete A[t.index],t=t.next;g.first=g.last=void 0,n?g.size=0:this.size=0},delete:function(g){var A=e(this),t=o(this,g);if(t){var C=t.next,I=t.previous;delete A.index[t.index],t.removed=!0,I&&(I.next=C),C&&(C.previous=I),A.first==t&&(A.first=C),A.last==t&&(A.last=I),n?A.size--:this.size--}return!!t},forEach:function(g){for(var A,t=e(this),C=F(g,arguments.length>1?arguments[1]:void 0,3);A=A?A.next:t.first;)for(C(A.value,A.key,this);A&&A.removed;)A=A.previous},has:function(g){return!!o(this,g)}}),Yr(I.prototype,t?{get:function(g){var A=o(this,g);return A&&A.value},set:function(g,A){return i(this,0===g?0:g,A)}}:{add:function(g){return i(this,g=0===g?0:g,g)}}),n&&Hr(I.prototype,"size",{get:function(){return e(this).size}}),I},setStrong:function(g,A,t){var C=A+" Iterator",I=Kr(A),e=Kr(C);Gt(g,A,(function(g,A){Ur(this,{type:C,target:g,state:I(g),kind:A,last:void 0})}),(function(){for(var g=e(this),A=g.kind,t=g.last;t&&t.removed;)t=t.previous;return g.target&&(g.last=t=t?t.next:g.state.first)?"keys"==A?{value:t.key,done:!1}:"values"==A?{value:t.value,done:!1}:{value:[t.key,t.value],done:!1}:(g.target=void 0,{value:void 0,done:!0})}),t?"entries":"values",!t,!0),function(g){var A=Mg(g),t=L.f;n&&A&&!A[Wr]&&t(A,Wr,{configurable:!0,get:function(){return this}})}(A)}},_r=(Vr("Set",(function(g){return function(){return g(this,arguments.length?arguments[0]:void 0)}}),Xr),B.Set),Jr=(Vr("Map",(function(g){return function(){return g(this,arguments.length?arguments[0]:void 0)}}),Xr),B.Map),qr=I((function(g){var A=function(g){var A=Object.prototype,t=A.hasOwnProperty,C="function"==typeof Symbol?Symbol:{},I=C.iterator||"@@iterator",e=C.asyncIterator||"@@asyncIterator",i=C.toStringTag||"@@toStringTag";function o(g,A,t){return Object.defineProperty(g,A,{value:t,enumerable:!0,configurable:!0,writable:!0}),g[A]}try{o({},"")}catch(g){o=function(g,A,t){return g[A]=t}}function n(g,A,t,C){var I=A&&A.prototype instanceof a?A:a,e=Object.create(I.prototype),i=new w(C||[]);return e._invoke=function(g,A,t){var C="suspendedStart";return function(I,e){if("executing"===C)throw new Error("Generator is already running");if("completed"===C){if("throw"===I)throw e;return x()}for(t.method=I,t.arg=e;;){var i=t.delegate;if(i){var o=y(i,t);if(o){if(o===s)continue;return o}}if("next"===t.method)t.sent=t._sent=t.arg;else if("throw"===t.method){if("suspendedStart"===C)throw C="completed",t.arg;t.dispatchException(t.arg)}else"return"===t.method&&t.abrupt("return",t.arg);C="executing";var n=r(g,A,t);if("normal"===n.type){if(C=t.done?"completed":"suspendedYield",n.arg===s)continue;return{value:n.arg,done:t.done}}"throw"===n.type&&(C="completed",t.method="throw",t.arg=n.arg)}}}(g,t,i),e}function r(g,A,t){try{return{type:"normal",arg:g.call(A,t)}}catch(g){return{type:"throw",arg:g}}}g.wrap=n;var s={};function a(){}function d(){}function h(){}var l={};l[I]=function(){return this};var c=Object.getPrototypeOf,u=c&&c(c(k([])));u&&u!==A&&t.call(u,I)&&(l=u);var p=h.prototype=a.prototype=Object.create(l);function v(g){["next","throw","return"].forEach((function(A){o(g,A,(function(g){return this._invoke(A,g)}))}))}function f(g,A){var C;this._invoke=function(I,e){function i(){return new A((function(C,i){!function C(I,e,i,o){var n=r(g[I],g,e);if("throw"!==n.type){var s=n.arg,a=s.value;return a&&"object"==typeof a&&t.call(a,"__await")?A.resolve(a.__await).then((function(g){C("next",g,i,o)}),(function(g){C("throw",g,i,o)})):A.resolve(a).then((function(g){s.value=g,i(s)}),(function(g){return C("throw",g,i,o)}))}o(n.arg)}(I,e,C,i)}))}return C=C?C.then(i,i):i()}}function y(g,A){var t=g.iterator[A.method];if(void 0===t){if(A.delegate=null,"throw"===A.method){if(g.iterator.return&&(A.method="return",A.arg=void 0,y(g,A),"throw"===A.method))return s;A.method="throw",A.arg=new TypeError("The iterator does not provide a 'throw' method")}return s}var C=r(t,g.iterator,A.arg);if("throw"===C.type)return A.method="throw",A.arg=C.arg,A.delegate=null,s;var I=C.arg;return I?I.done?(A[g.resultName]=I.value,A.next=g.nextLoc,"return"!==A.method&&(A.method="next",A.arg=void 0),A.delegate=null,s):I:(A.method="throw",A.arg=new TypeError("iterator result is not an object"),A.delegate=null,s)}function b(g){var A={tryLoc:g[0]};1 in g&&(A.catchLoc=g[1]),2 in g&&(A.finallyLoc=g[2],A.afterLoc=g[3]),this.tryEntries.push(A)}function m(g){var A=g.completion||{};A.type="normal",delete A.arg,g.completion=A}function w(g){this.tryEntries=[{tryLoc:"root"}],g.forEach(b,this),this.reset(!0)}function k(g){if(g){var A=g[I];if(A)return A.call(g);if("function"==typeof g.next)return g;if(!isNaN(g.length)){var C=-1,e=function A(){for(;++C<g.length;)if(t.call(g,C))return A.value=g[C],A.done=!1,A;return A.value=void 0,A.done=!0,A};return e.next=e}}return{next:x}}function x(){return{value:void 0,done:!0}}return d.prototype=p.constructor=h,h.constructor=d,d.displayName=o(h,i,"GeneratorFunction"),g.isGeneratorFunction=function(g){var A="function"==typeof g&&g.constructor;return!!A&&(A===d||"GeneratorFunction"===(A.displayName||A.name))},g.mark=function(g){return Object.setPrototypeOf?Object.setPrototypeOf(g,h):(g.__proto__=h,o(g,i,"GeneratorFunction")),g.prototype=Object.create(p),g},g.awrap=function(g){return{__await:g}},v(f.prototype),f.prototype[e]=function(){return this},g.AsyncIterator=f,g.async=function(A,t,C,I,e){void 0===e&&(e=Promise);var i=new f(n(A,t,C,I),e);return g.isGeneratorFunction(t)?i:i.next().then((function(g){return g.done?g.value:i.next()}))},v(p),o(p,i,"Generator"),p[I]=function(){return this},p.toString=function(){return"[object Generator]"},g.keys=function(g){var A=[];for(var t in g)A.push(t);return A.reverse(),function t(){for(;A.length;){var C=A.pop();if(C in g)return t.value=C,t.done=!1,t}return t.done=!0,t}},g.values=k,w.prototype={constructor:w,reset:function(g){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(m),!g)for(var A in this)"t"===A.charAt(0)&&t.call(this,A)&&!isNaN(+A.slice(1))&&(this[A]=void 0)},stop:function(){this.done=!0;var g=this.tryEntries[0].completion;if("throw"===g.type)throw g.arg;return this.rval},dispatchException:function(g){if(this.done)throw g;var A=this;function C(t,C){return i.type="throw",i.arg=g,A.next=t,C&&(A.method="next",A.arg=void 0),!!C}for(var I=this.tryEntries.length-1;I>=0;--I){var e=this.tryEntries[I],i=e.completion;if("root"===e.tryLoc)return C("end");if(e.tryLoc<=this.prev){var o=t.call(e,"catchLoc"),n=t.call(e,"finallyLoc");if(o&&n){if(this.prev<e.catchLoc)return C(e.catchLoc,!0);if(this.prev<e.finallyLoc)return C(e.finallyLoc)}else if(o){if(this.prev<e.catchLoc)return C(e.catchLoc,!0)}else{if(!n)throw new Error("try statement without catch or finally");if(this.prev<e.finallyLoc)return C(e.finallyLoc)}}}},abrupt:function(g,A){for(var C=this.tryEntries.length-1;C>=0;--C){var I=this.tryEntries[C];if(I.tryLoc<=this.prev&&t.call(I,"finallyLoc")&&this.prev<I.finallyLoc){var e=I;break}}e&&("break"===g||"continue"===g)&&e.tryLoc<=A&&A<=e.finallyLoc&&(e=null);var i=e?e.completion:{};return i.type=g,i.arg=A,e?(this.method="next",this.next=e.finallyLoc,s):this.complete(i)},complete:function(g,A){if("throw"===g.type)throw g.arg;return"break"===g.type||"continue"===g.type?this.next=g.arg:"return"===g.type?(this.rval=this.arg=g.arg,this.method="return",this.next="end"):"normal"===g.type&&A&&(this.next=A),s},finish:function(g){for(var A=this.tryEntries.length-1;A>=0;--A){var t=this.tryEntries[A];if(t.finallyLoc===g)return this.complete(t.completion,t.afterLoc),m(t),s}},catch:function(g){for(var A=this.tryEntries.length-1;A>=0;--A){var t=this.tryEntries[A];if(t.tryLoc===g){var C=t.completion;if("throw"===C.type){var I=C.arg;m(t)}return I}}throw new Error("illegal catch attempt")},delegateYield:function(g,A,t){return this.delegate={iterator:k(g),resultName:A,nextLoc:t},"next"===this.method&&(this.arg=void 0),s}},g}(g.exports);try{regeneratorRuntime=A}catch(g){Function("r","regeneratorRuntime = r")(A)}})),$r=$I,gs=function(g,A,t,C,I,e,i,o){for(var n,r=I,s=0,a=!!i&&F(i,o,3);s<C;){if(s in t){if(n=a?a(t[s],s,A):t[s],e>0&&Qg(n))r=gs(g,A,n,Ig(n.length),r,e-1)-1;else{if(r>=9007199254740991)throw TypeError("Exceed the acceptable array length");g[r]=n}r++}s++}return r},As=gs;H({target:"Array",proto:!0},{flatMap:function(g){var A,t=ug(this),C=Ig(t.length);return Z(g),(A=VA(t,0)).length=As(A,t,t,C,0,1,g,arguments.length>1?arguments[1]:void 0),A}});_("Array").flatMap,Array.prototype;var ts=function(g){return function(A,t,C,I){Z(t);var e=ug(A),i=u(e),o=Ig(e.length),n=g?o-1:0,r=g?-1:1;if(C<2)for(;;){if(n in i){I=i[n],n+=r;break}if(n+=r,g?n<0:o<=n)throw TypeError("Reduce of empty array with no initial value")}for(;g?n>=0:o>n;n+=r)n in i&&(I=t(I,i[n],n,e));return I}},Cs={left:ts(!1),right:ts(!0)}.left,Is=kC("reduce"),es=TC("reduce",{1:0});H({target:"Array",proto:!0,forced:!Is||!es},{reduce:function(g){return Cs(this,g,arguments.length,arguments.length>1?arguments[1]:void 0)}});var is=_("Array").reduce,os=Array.prototype,ns=function(g){var A=g.reduce;return g===os||g instanceof Array&&A===os.reduce?is:A},rs="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto),ss=new Uint8Array(16);function as(){if(!rs)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return rs(ss)}var ds=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function hs(g){return"string"==typeof g&&ds.test(g)}for(var ls=[],cs=0;cs<256;++cs)ls.push((cs+256).toString(16).substr(1));function us(g,A,t){var C=(g=g||{}).random||(g.rng||as)();if(C[6]=15&C[6]|64,C[8]=63&C[8]|128,A){t=t||0;for(var I=0;I<16;++I)A[t+I]=C[I];return A}return function(g){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=(ls[g[A+0]]+ls[g[A+1]]+ls[g[A+2]]+ls[g[A+3]]+"-"+ls[g[A+4]]+ls[g[A+5]]+"-"+ls[g[A+6]]+ls[g[A+7]]+"-"+ls[g[A+8]]+ls[g[A+9]]+"-"+ls[g[A+10]]+ls[g[A+11]]+ls[g[A+12]]+ls[g[A+13]]+ls[g[A+14]]+ls[g[A+15]]).toLowerCase();if(!hs(t))throw TypeError("Stringified UUID is invalid");return t}(C)}function ps(g,A){var t=HI(g);if(kt){var C=kt(g);A&&(C=eI(C).call(C,(function(A){return Yg(g,A).enumerable}))),t.push.apply(t,C)}return t}function vs(g){for(var A=1;A<arguments.length;A++){var t,C=null!=arguments[A]?arguments[A]:{};if(A%2)BC(t=ps(Object(C),!0)).call(t,(function(A){uC(g,A,C[A])}));else if(Fg)Ng(g,Fg(C));else{var I;BC(I=ps(Object(C))).call(I,(function(A){Dg(g,A,Yg(C,A))}))}}return g}function fs(g){var A=function(){if("undefined"==typeof Reflect||!$n)return!1;if($n.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call($n(Date,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,C=xr(g);if(A){var I=xr(this).constructor;t=$n(C,arguments,I)}else t=C.apply(this,arguments);return wr(this,t)}}function ys(g,A){var t;if(void 0===ae||null==$t(g)){if(qI(g)||(t=function(g,A){var t;if(!g)return;if("string"==typeof g)return bs(g,A);var C=Ce(t=Object.prototype.toString.call(g)).call(t,8,-1);"Object"===C&&g.constructor&&(C=g.constructor.name);if("Map"===C||"Set"===C)return sC(g);if("Arguments"===C||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(C))return bs(g,A)}(g))||A&&g&&"number"==typeof g.length){t&&(g=t);var C=0,I=function(){};return{s:I,n:function(){return C>=g.length?{done:!0}:{done:!1,value:g[C++]}},e:function(g){throw g},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 e,i=!0,o=!1;return{s:function(){t=qt(g)},n:function(){var g=t.next();return i=g.done,g},e:function(g){o=!0,e=g},f:function(){try{i||null==t.return||t.return()}finally{if(o)throw e}}}}function bs(g,A){(null==A||A>g.length)&&(A=g.length);for(var t=0,C=new Array(A);t<A;t++)C[t]=g[t];return C}function ms(g){return"string"==typeof g||"number"==typeof g}var ws=function(){function g(A){Tn(this,g),this._queue=[],this._timeout=null,this._extended=null,this.delay=null,this.max=1/0,this.setOptions(A)}return Rn(g,[{key:"setOptions",value:function(g){g&&void 0!==g.delay&&(this.delay=g.delay),g&&void 0!==g.max&&(this.max=g.max),this._flushIfNeeded()}},{key:"destroy",value:function(){if(this.flush(),this._extended){for(var g=this._extended.object,A=this._extended.methods,t=0;t<A.length;t++){var C=A[t];C.original?g[C.name]=C.original:delete g[C.name]}this._extended=null}}},{key:"replace",value:function(g,A){var t=this,C=g[A];if(!C)throw new Error("Method "+A+" undefined");g[A]=function(){for(var g=arguments.length,A=new Array(g),I=0;I<g;I++)A[I]=arguments[I];t.queue({args:A,fn:C,context:this})}}},{key:"queue",value:function(g){"function"==typeof g?this._queue.push({fn:g}):this._queue.push(g),this._flushIfNeeded()}},{key:"_flushIfNeeded",value:function(){var g=this;this._queue.length>this.max&&this.flush(),null!=this._timeout&&(clearTimeout(this._timeout),this._timeout=null),this.queue.length>0&&"number"==typeof this.delay&&(this._timeout=Zn((function(){g.flush()}),this.delay))}},{key:"flush",value:function(){var g,A;BC(g=Ii(A=this._queue).call(A,0)).call(g,(function(g){g.fn.apply(g.context||g.fn,g.args||[])}))}}],[{key:"extend",value:function(A,t){var C=new g(t);if(void 0!==A.flush)throw new Error("Target object already has a property flush");A.flush=function(){C.flush()};var I=[{name:"flush",original:void 0}];if(t&&t.replace)for(var e=0;e<t.replace.length;e++){var i=t.replace[e];I.push({name:i,original:A[i]}),C.replace(A,i)}return C._extended={object:A,methods:I},C}}]),g}(),ks=function(){function g(){Tn(this,g),this._subscribers={"*":[],add:[],remove:[],update:[]},this.subscribe=g.prototype.on,this.unsubscribe=g.prototype.off}return Rn(g,[{key:"_trigger",value:function(g,A,t){var C,I;if("*"===g)throw new Error("Cannot trigger event *");BC(C=se(I=[]).call(I,oe(this._subscribers[g]),oe(this._subscribers["*"]))).call(C,(function(C){C(g,A,null!=t?t:null)}))}},{key:"on",value:function(g,A){"function"==typeof A&&this._subscribers[g].push(A)}},{key:"off",value:function(g,A){var t;this._subscribers[g]=eI(t=this._subscribers[g]).call(t,(function(g){return g!==A}))}}]),g}(),xs=function(){function g(A){Tn(this,g),this._pairs=A}return Rn(g,[{key:$r,value:qr.mark((function g(){var A,t,C,I,e;return qr.wrap((function(g){for(;;)switch(g.prev=g.next){case 0:A=ys(this._pairs),g.prev=1,A.s();case 3:if((t=A.n()).done){g.next=9;break}return C=VI(t.value,2),I=C[0],e=C[1],g.next=7,[I,e];case 7:g.next=3;break;case 9:g.next=14;break;case 11:g.prev=11,g.t0=g.catch(1),A.e(g.t0);case 14:return g.prev=14,A.f(),g.finish(14);case 17:case"end":return g.stop()}}),g,this,[[1,11,14,17]])}))},{key:"entries",value:qr.mark((function g(){var A,t,C,I,e;return qr.wrap((function(g){for(;;)switch(g.prev=g.next){case 0:A=ys(this._pairs),g.prev=1,A.s();case 3:if((t=A.n()).done){g.next=9;break}return C=VI(t.value,2),I=C[0],e=C[1],g.next=7,[I,e];case 7:g.next=3;break;case 9:g.next=14;break;case 11:g.prev=11,g.t0=g.catch(1),A.e(g.t0);case 14:return g.prev=14,A.f(),g.finish(14);case 17:case"end":return g.stop()}}),g,this,[[1,11,14,17]])}))},{key:"keys",value:qr.mark((function g(){var A,t,C,I;return qr.wrap((function(g){for(;;)switch(g.prev=g.next){case 0:A=ys(this._pairs),g.prev=1,A.s();case 3:if((t=A.n()).done){g.next=9;break}return C=VI(t.value,1),I=C[0],g.next=7,I;case 7:g.next=3;break;case 9:g.next=14;break;case 11:g.prev=11,g.t0=g.catch(1),A.e(g.t0);case 14:return g.prev=14,A.f(),g.finish(14);case 17:case"end":return g.stop()}}),g,this,[[1,11,14,17]])}))},{key:"values",value:qr.mark((function g(){var A,t,C,I;return qr.wrap((function(g){for(;;)switch(g.prev=g.next){case 0:A=ys(this._pairs),g.prev=1,A.s();case 3:if((t=A.n()).done){g.next=9;break}return C=VI(t.value,2),I=C[1],g.next=7,I;case 7:g.next=3;break;case 9:g.next=14;break;case 11:g.prev=11,g.t0=g.catch(1),A.e(g.t0);case 14:return g.prev=14,A.f(),g.finish(14);case 17:case"end":return g.stop()}}),g,this,[[1,11,14,17]])}))},{key:"toIdArray",value:function(){var g;return JI(g=oe(this._pairs)).call(g,(function(g){return g[0]}))}},{key:"toItemArray",value:function(){var g;return JI(g=oe(this._pairs)).call(g,(function(g){return g[1]}))}},{key:"toEntryArray",value:function(){return oe(this._pairs)}},{key:"toObjectMap",value:function(){var g,A=hC(null),t=ys(this._pairs);try{for(t.s();!(g=t.n()).done;){var C=VI(g.value,2),I=C[0],e=C[1];A[I]=e}}catch(g){t.e(g)}finally{t.f()}return A}},{key:"toMap",value:function(){return new Jr(this._pairs)}},{key:"toIdSet",value:function(){return new _r(this.toIdArray())}},{key:"toItemSet",value:function(){return new _r(this.toItemArray())}},{key:"cache",value:function(){return new g(oe(this._pairs))}},{key:"distinct",value:function(g){var A,t=new _r,C=ys(this._pairs);try{for(C.s();!(A=C.n()).done;){var I=VI(A.value,2),e=I[0],i=I[1];t.add(g(i,e))}}catch(g){C.e(g)}finally{C.f()}return t}},{key:"filter",value:function(A){var t=this._pairs;return new g(uC({},$r,qr.mark((function g(){var C,I,e,i,o;return qr.wrap((function(g){for(;;)switch(g.prev=g.next){case 0:C=ys(t),g.prev=1,C.s();case 3:if((I=C.n()).done){g.next=10;break}if(e=VI(I.value,2),i=e[0],o=e[1],!A(o,i)){g.next=8;break}return g.next=8,[i,o];case 8:g.next=3;break;case 10:g.next=15;break;case 12:g.prev=12,g.t0=g.catch(1),C.e(g.t0);case 15:return g.prev=15,C.f(),g.finish(15);case 18:case"end":return g.stop()}}),g,null,[[1,12,15,18]])}))))}},{key:"forEach",value:function(g){var A,t=ys(this._pairs);try{for(t.s();!(A=t.n()).done;){var C=VI(A.value,2),I=C[0];g(C[1],I)}}catch(g){t.e(g)}finally{t.f()}}},{key:"map",value:function(A){var t=this._pairs;return new g(uC({},$r,qr.mark((function g(){var C,I,e,i,o;return qr.wrap((function(g){for(;;)switch(g.prev=g.next){case 0:C=ys(t),g.prev=1,C.s();case 3:if((I=C.n()).done){g.next=9;break}return e=VI(I.value,2),i=e[0],o=e[1],g.next=7,[i,A(o,i)];case 7:g.next=3;break;case 9:g.next=14;break;case 11:g.prev=11,g.t0=g.catch(1),C.e(g.t0);case 14:return g.prev=14,C.f(),g.finish(14);case 17:case"end":return g.stop()}}),g,null,[[1,11,14,17]])}))))}},{key:"max",value:function(g){var A=qt(this._pairs),t=A.next();if(t.done)return null;for(var C=t.value[1],I=g(t.value[1],t.value[0]);!(t=A.next()).done;){var e=VI(t.value,2),i=e[0],o=e[1],n=g(o,i);n>I&&(I=n,C=o)}return C}},{key:"min",value:function(g){var A=qt(this._pairs),t=A.next();if(t.done)return null;for(var C=t.value[1],I=g(t.value[1],t.value[0]);!(t=A.next()).done;){var e=VI(t.value,2),i=e[0],o=e[1],n=g(o,i);n<I&&(I=n,C=o)}return C}},{key:"reduce",value:function(g,A){var t,C=ys(this._pairs);try{for(C.s();!(t=C.n()).done;){var I=VI(t.value,2),e=I[0];A=g(A,I[1],e)}}catch(g){C.e(g)}finally{C.f()}return A}},{key:"sort",value:function(A){var t=this;return new g(uC({},$r,(function(){var g;return qt(Mr(g=oe(t._pairs)).call(g,(function(g,t){var C=VI(g,2),I=C[0],e=C[1],i=VI(t,2),o=i[0],n=i[1];return A(e,n,I,o)})))})))}}]),g}();var Os=function(g){mr(t,g);var A=fs(t);function t(g,C){var I;return Tn(this,t),I=A.call(this),g&&!qI(g)&&(C=g,g=[]),I._options=C||{},I._data=new Jr,I.length=0,I._idProp=I._options.fieldId||"id",g&&g.length&&I.add(g),I.setOptions(C),I}return Rn(t,[{key:"setOptions",value:function(g){g&&void 0!==g.queue&&(!1===g.queue?this._queue&&(this._queue.destroy(),delete this._queue):(this._queue||(this._queue=ws.extend(this,{replace:["add","update","remove"]})),g.queue&&"object"===Ae(g.queue)&&this._queue.setOptions(g.queue)))}},{key:"add",value:function(g,A){var t,C=this,I=[];if(qI(g)){var e=JI(g).call(g,(function(g){return g[C._idProp]}));if(Yn(e).call(e,(function(g){return C._data.has(g)})))throw new Error("A duplicate id was found in the parameter array.");for(var i=0,o=g.length;i<o;i++)t=this._addItem(g[i]),I.push(t)}else{if(!g||"object"!==Ae(g))throw new Error("Unknown dataType");t=this._addItem(g),I.push(t)}return I.length&&this._trigger("add",{items:I},A),I}},{key:"update",value:function(g,A){var t=this,C=[],I=[],e=[],i=[],o=this._idProp,n=function(g){var A=g[o];if(null!=A&&t._data.has(A)){var n=g,r=yg({},t._data.get(A)),s=t._updateItem(n);I.push(s),i.push(n),e.push(r)}else{var a=t._addItem(g);C.push(a)}};if(qI(g))for(var r=0,s=g.length;r<s;r++)g[r]&&"object"===Ae(g[r])?n(g[r]):console.warn("Ignoring input item, which is not an object at index "+r);else{if(!g||"object"!==Ae(g))throw new Error("Unknown dataType");n(g)}if(C.length&&this._trigger("add",{items:C},A),I.length){var a={items:I,oldData:e,data:i};this._trigger("update",a,A)}return se(C).call(C,I)}},{key:"updateOnly",value:function(g,A){var t,C=this;qI(g)||(g=[g]);var I=JI(t=JI(g).call(g,(function(g){var A=C._data.get(g[C._idProp]);if(null==A)throw new Error("Updating non-existent items is not allowed.");return{oldData:A,update:g}}))).call(t,(function(g){var A=g.oldData,t=g.update,I=A[C._idProp],e=function(g){for(var A,t=arguments.length,C=new Array(t>1?t-1:0),I=1;I<t;I++)C[I-1]=arguments[I];return ce.apply(void 0,se(A=[{},g]).call(A,C))}(A,t);return C._data.set(I,e),{id:I,oldData:A,updatedData:e}}));if(I.length){var e={items:JI(I).call(I,(function(g){return g.id})),oldData:JI(I).call(I,(function(g){return g.oldData})),data:JI(I).call(I,(function(g){return g.updatedData}))};return this._trigger("update",e,A),e.items}return[]}},{key:"get",value:function(g,A){var t=void 0,C=void 0,I=void 0;ms(g)?(t=g,I=A):qI(g)?(C=g,I=A):I=g;var e=I&&"Object"===I.returnType?"Object":"Array",i=I&&eI(I),o=[],n=void 0,r=void 0,s=void 0;if(null!=t)(n=this._data.get(t))&&i&&!i(n)&&(n=void 0);else if(null!=C)for(var a=0,d=C.length;a<d;a++)null==(n=this._data.get(C[a]))||i&&!i(n)||o.push(n);else for(var h,l=0,c=(r=oe(vr(h=this._data).call(h))).length;l<c;l++)s=r[l],null==(n=this._data.get(s))||i&&!i(n)||o.push(n);if(I&&I.order&&null==t&&this._sort(o,I.order),I&&I.fields){var u=I.fields;if(null!=t&&null!=n)n=this._filterFields(n,u);else for(var p=0,v=o.length;p<v;p++)o[p]=this._filterFields(o[p],u)}if("Object"==e){for(var f={},y=0,b=o.length;y<b;y++){var m=o[y];f[m[this._idProp]]=m}return f}return null!=t?null!=n?n:null:o}},{key:"getIds",value:function(g){var A=this._data,t=g&&eI(g),C=g&&g.order,I=oe(vr(A).call(A)),e=[];if(t)if(C){for(var i=[],o=0,n=I.length;o<n;o++){var r=I[o],s=this._data.get(r);null!=s&&t(s)&&i.push(s)}this._sort(i,C);for(var a=0,d=i.length;a<d;a++)e.push(i[a][this._idProp])}else for(var h=0,l=I.length;h<l;h++){var c=I[h],u=this._data.get(c);null!=u&&t(u)&&e.push(u[this._idProp])}else if(C){for(var p=[],v=0,f=I.length;v<f;v++){var y=I[v];p.push(A.get(y))}this._sort(p,C);for(var b=0,m=p.length;b<m;b++)e.push(p[b][this._idProp])}else for(var w=0,k=I.length;w<k;w++){var x=I[w],O=A.get(x);null!=O&&e.push(O[this._idProp])}return e}},{key:"getDataSet",value:function(){return this}},{key:"forEach",value:function(g,A){var t=A&&eI(A),C=this._data,I=oe(vr(C).call(C));if(A&&A.order)for(var e=this.get(A),i=0,o=e.length;i<o;i++){var n=e[i];g(n,n[this._idProp])}else for(var r=0,s=I.length;r<s;r++){var a=I[r],d=this._data.get(a);null==d||t&&!t(d)||g(d,a)}}},{key:"map",value:function(g,A){for(var t=A&&eI(A),C=[],I=this._data,e=oe(vr(I).call(I)),i=0,o=e.length;i<o;i++){var n=e[i],r=this._data.get(n);null==r||t&&!t(r)||C.push(g(r,n))}return A&&A.order&&this._sort(C,A.order),C}},{key:"_filterFields",value:function(g,A){var t;return g?ns(t=qI(A)?A:HI(A)).call(t,(function(A,t){return A[t]=g[t],A}),{}):g}},{key:"_sort",value:function(g,A){if("string"==typeof A){var t=A;Mr(g).call(g,(function(g,A){var C=g[t],I=A[t];return C>I?1:C<I?-1:0}))}else{if("function"!=typeof A)throw new TypeError("Order must be a function or a string");Mr(g).call(g,A)}}},{key:"remove",value:function(g,A){for(var t=[],C=[],I=qI(g)?g:[g],e=0,i=I.length;e<i;e++){var o=this._remove(I[e]);if(o){var n=o[this._idProp];null!=n&&(t.push(n),C.push(o))}}return t.length&&this._trigger("remove",{items:t,oldData:C},A),t}},{key:"_remove",value:function(g){var A;if(ms(g)?A=g:g&&"object"===Ae(g)&&(A=g[this._idProp]),null!=A&&this._data.has(A)){var t=this._data.get(A)||null;return this._data.delete(A),--this.length,t}return null}},{key:"clear",value:function(g){for(var A,t=oe(vr(A=this._data).call(A)),C=[],I=0,e=t.length;I<e;I++)C.push(this._data.get(t[I]));return this._data.clear(),this.length=0,this._trigger("remove",{items:t,oldData:C},g),t}},{key:"max",value:function(g){var A,t,C=null,I=null,e=ys(lr(A=this._data).call(A));try{for(e.s();!(t=e.n()).done;){var i=t.value,o=i[g];"number"==typeof o&&(null==I||o>I)&&(C=i,I=o)}}catch(g){e.e(g)}finally{e.f()}return C||null}},{key:"min",value:function(g){var A,t,C=null,I=null,e=ys(lr(A=this._data).call(A));try{for(e.s();!(t=e.n()).done;){var i=t.value,o=i[g];"number"==typeof o&&(null==I||o<I)&&(C=i,I=o)}}catch(g){e.e(g)}finally{e.f()}return C||null}},{key:"distinct",value:function(g){for(var A=this._data,t=oe(vr(A).call(A)),C=[],I=0,e=0,i=t.length;e<i;e++){for(var o=t[e],n=A.get(o)[g],r=!1,s=0;s<I;s++)if(C[s]==n){r=!0;break}r||void 0===n||(C[I]=n,I++)}return C}},{key:"_addItem",value:function(g){var A=function(g,A){return null==g[A]&&(g[A]=us()),g}(g,this._idProp),t=A[this._idProp];if(this._data.has(t))throw new Error("Cannot add item: item with id "+t+" already exists");return this._data.set(t,A),++this.length,t}},{key:"_updateItem",value:function(g){var A=g[this._idProp];if(null==A)throw new Error("Cannot update item: item has no id (item: "+sr(g)+")");var t=this._data.get(A);if(!t)throw new Error("Cannot update item: no item with id "+A+" found");return this._data.set(A,vs(vs({},t),g)),A}},{key:"stream",value:function(g){if(g){var A=this._data;return new xs(uC({},$r,qr.mark((function t(){var C,I,e,i;return qr.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:C=ys(g),t.prev=1,C.s();case 3:if((I=C.n()).done){t.next=11;break}if(e=I.value,null==(i=A.get(e))){t.next=9;break}return t.next=9,[e,i];case 9:t.next=3;break;case 11:t.next=16;break;case 13:t.prev=13,t.t0=t.catch(1),C.e(t.t0);case 16:return t.prev=16,C.f(),t.finish(16);case 19:case"end":return t.stop()}}),t,null,[[1,13,16,19]])}))))}var t;return new xs(uC({},$r,$(t=Cr(this._data)).call(t,this._data)))}}]),t}(ks),Es=function(g){mr(t,g);var A=fs(t);function t(g,C){var I,e;return Tn(this,t),(e=A.call(this)).length=0,e._ids=new _r,e._options=C||{},e._listener=$(I=e._onEvent).call(I,Kn(e)),e.setData(g),e}return Rn(t,[{key:"setData",value:function(g){if(this._data){this._data.off&&this._data.off("*",this._listener);var A=this._data.getIds({filter:eI(this._options)}),t=this._data.get(A);this._ids.clear(),this.length=0,this._trigger("remove",{items:A,oldData:t})}if(null!=g){this._data=g;for(var C=this._data.getIds({filter:eI(this._options)}),I=0,e=C.length;I<e;I++){var i=C[I];this._ids.add(i)}this.length=C.length,this._trigger("add",{items:C})}else this._data=new Os;this._data.on&&this._data.on("*",this._listener)}},{key:"refresh",value:function(){for(var g=this._data.getIds({filter:eI(this._options)}),A=oe(this._ids),t={},C=[],I=[],e=[],i=0,o=g.length;i<o;i++){var n=g[i];t[n]=!0,this._ids.has(n)||(C.push(n),this._ids.add(n))}for(var r=0,s=A.length;r<s;r++){var a=A[r],d=this._data.get(a);null==d?console.error("If you see this, report it please."):t[a]||(I.push(a),e.push(d),this._ids.delete(a))}this.length+=C.length-I.length,C.length&&this._trigger("add",{items:C}),I.length&&this._trigger("remove",{items:I,oldData:e})}},{key:"get",value:function(g,A){if(null==this._data)return null;var t,C=null;ms(g)||qI(g)?(C=g,t=A):t=g;var I=yg({},this._options,t),e=eI(this._options),i=t&&eI(t);return e&&i&&(I.filter=function(g){return e(g)&&i(g)}),null==C?this._data.get(I):this._data.get(C,I)}},{key:"getIds",value:function(g){if(this._data.length){var A,t=eI(this._options),C=null!=g?eI(g):null;return A=C?t?function(g){return t(g)&&C(g)}:C:t,this._data.getIds({filter:A,order:g&&g.order})}return[]}},{key:"forEach",value:function(g,A){if(this._data){var t,C,I=eI(this._options),e=A&&eI(A);C=e?I?function(g){return I(g)&&e(g)}:e:I,BC(t=this._data).call(t,g,{filter:C,order:A&&A.order})}}},{key:"map",value:function(g,A){if(this._data){var t,C,I=eI(this._options),e=A&&eI(A);return C=e?I?function(g){return I(g)&&e(g)}:e:I,JI(t=this._data).call(t,g,{filter:C,order:A&&A.order})}return[]}},{key:"getDataSet",value:function(){return this._data.getDataSet()}},{key:"stream",value:function(g){var A;return this._data.stream(g||uC({},$r,$(A=vr(this._ids)).call(A,this._ids)))}},{key:"dispose",value:function(){var g;(null===(g=this._data)||void 0===g?void 0:g.off)&&this._data.off("*",this._listener);var A="This data view has already been disposed of.";Dg(this,"_data",{get:function(){throw new Error(A)},set:function(){throw new Error(A)},configurable:!1})}},{key:"_onEvent",value:function(g,A,t){if(A&&A.items&&this._data){var C=A.items,I=[],e=[],i=[],o=[],n=[],r=[];switch(g){case"add":for(var s=0,a=C.length;s<a;s++){var d=C[s];this.get(d)&&(this._ids.add(d),I.push(d))}break;case"update":for(var h=0,l=C.length;h<l;h++){var c=C[h];this.get(c)?this._ids.has(c)?(e.push(c),n.push(A.data[h]),o.push(A.oldData[h])):(this._ids.add(c),I.push(c)):this._ids.has(c)&&(this._ids.delete(c),i.push(c),r.push(A.oldData[h]))}break;case"remove":for(var u=0,p=C.length;u<p;u++){var v=C[u];this._ids.has(v)&&(this._ids.delete(v),i.push(v),r.push(A.oldData[u]))}}this.length+=I.length-i.length,I.length&&this._trigger("add",{items:I},t),e.length&&this._trigger("update",{items:e,oldData:o,data:n},t),i.length&&this._trigger("remove",{items:i,oldData:r},t)}}}]),t}(ks),Ts=rA.f,Ds=o((function(){return!Object.getOwnPropertyNames(1)}));H({target:"Object",stat:!0,forced:Ds},{getOwnPropertyNames:Ts});var Rs=B.Object,Ns=function(g){return Rs.getOwnPropertyNames(g)},Ps=mC.trim,Ms=i.parseFloat,Ss=1/Ms(pC+"-0")!=-1/0?function(g){var A=Ps(String(g)),t=Ms(A);return 0===t&&"-"==A.charAt(0)?-0:t}:Ms;H({global:!0,forced:parseFloat!=Ss},{parseFloat:Ss});var zs=B.parseFloat;function Bs(g,A){var t=["node","edge","label"],C=!0,I=Je(A,"chosen");if("boolean"==typeof I)C=I;else if("object"===Ae(I)){if(-1===uI(t).call(t,g))throw new Error("choosify: subOption '"+g+"' should be one of '"+t.join("', '")+"'");var e=Je(A,["chosen",g]);"boolean"!=typeof e&&"function"!=typeof e||(C=e)}return C}function Zs(g,A,t){if(g.width<=0||g.height<=0)return!1;if(void 0!==t){var C={x:A.x-t.x,y:A.y-t.y};if(0!==t.angle){var I=-t.angle;A={x:Math.cos(I)*C.x-Math.sin(I)*C.y,y:Math.sin(I)*C.x+Math.cos(I)*C.y}}else A=C}var e=g.x+g.width,i=g.y+g.width;return g.left<A.x&&e>A.x&&g.top<A.y&&i>A.y}function Fs(g){return"string"==typeof g&&""!==g}function Gs(g,A,t,C){var I=C.x,e=C.y;if("function"==typeof C.distanceToBorder){var i=C.distanceToBorder(g,A),o=Math.sin(A)*i,n=Math.cos(A)*i;n===i?(I+=i,e=C.y):o===i?(I=C.x,e-=i):(I+=n,e-=o)}else C.shape.width>C.shape.height?(I=C.x+.5*C.shape.width,e=C.y-t):(I=C.x+t,e=C.y-.5*C.shape.height);return{x:I,y:e}}var js=function(){function g(A){Tn(this,g),this.measureText=A,this.current=0,this.width=0,this.height=0,this.lines=[]}return Rn(g,[{key:"_add",value:function(g,A){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"normal";void 0===this.lines[g]&&(this.lines[g]={width:0,height:0,blocks:[]});var C=A;void 0!==A&&""!==A||(C=" ");var I=this.measureText(C,t),e=yg({},lr(I));e.text=A,e.width=I.width,e.mod=t,void 0!==A&&""!==A||(e.width=0),this.lines[g].blocks.push(e),this.lines[g].width+=e.width}},{key:"curWidth",value:function(){var g=this.lines[this.current];return void 0===g?0:g.width}},{key:"append",value:function(g){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"normal";this._add(this.current,g,A)}},{key:"newLine",value:function(g){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"normal";this._add(this.current,g,A),this.current++}},{key:"determineLineHeights",value:function(){for(var g=0;g<this.lines.length;g++){var A=this.lines[g],t=0;if(void 0!==A.blocks)for(var C=0;C<A.blocks.length;C++){var I=A.blocks[C];t<I.height&&(t=I.height)}A.height=t}}},{key:"determineLabelSize",value:function(){for(var g=0,A=0,t=0;t<this.lines.length;t++){var C=this.lines[t];C.width>g&&(g=C.width),A+=C.height}this.width=g,this.height=A}},{key:"removeEmptyBlocks",value:function(){for(var g=[],A=0;A<this.lines.length;A++){var t=this.lines[A];if(0!==t.blocks.length&&(A!==this.lines.length-1||0!==t.width)){var C={};yg(C,t),C.blocks=[];for(var I=void 0,e=[],i=0;i<t.blocks.length;i++){var o=t.blocks[i];0!==o.width?e.push(o):void 0===I&&(I=o)}0===e.length&&void 0!==I&&e.push(I),C.blocks=e,g.push(C)}}return g}},{key:"finalize",value:function(){this.determineLineHeights(),this.determineLabelSize();var g=this.removeEmptyBlocks();return{width:this.width,height:this.height,lines:g}}}]),g}(),Ls={"<b>":/<b>/,"<i>":/<i>/,"<code>":/<code>/,"</b>":/<\/b>/,"</i>":/<\/i>/,"</code>":/<\/code>/,"*":/\*/,_:/\_/,"`":/`/,afterBold:/[^\*]/,afterItal:/[^_]/,afterMono:/[^`]/},Vs=function(){function g(A){Tn(this,g),this.text=A,this.bold=!1,this.ital=!1,this.mono=!1,this.spacing=!1,this.position=0,this.buffer="",this.modStack=[],this.blocks=[]}return Rn(g,[{key:"mod",value:function(){return 0===this.modStack.length?"normal":this.modStack[0]}},{key:"modName",value:function(){return 0===this.modStack.length?"normal":"mono"===this.modStack[0]?"mono":this.bold&&this.ital?"boldital":this.bold?"bold":this.ital?"ital":void 0}},{key:"emitBlock",value:function(){this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(this.blocks.push({text:this.buffer,mod:this.modName()}),this.buffer="")}},{key:"add",value:function(g){" "===g&&(this.spacing=!0),this.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=g&&(this.buffer+=g)}},{key:"parseWS",value:function(g){return!!/[ \t]/.test(g)&&(this.mono?this.add(g):this.spacing=!0,!0)}},{key:"setTag",value:function(g){this.emitBlock(),this[g]=!0,this.modStack.unshift(g)}},{key:"unsetTag",value:function(g){this.emitBlock(),this[g]=!1,this.modStack.shift()}},{key:"parseStartTag",value:function(g,A){return!(this.mono||this[g]||!this.match(A))&&(this.setTag(g),!0)}},{key:"match",value:function(g){var A=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],t=this.prepareRegExp(g),C=VI(t,2),I=C[0],e=C[1],i=I.test(this.text.substr(this.position,e));return i&&A&&(this.position+=e-1),i}},{key:"parseEndTag",value:function(g,A,t){var C=this.mod()===g;return!(!(C="mono"===g?C&&this.mono:C&&!this.mono)||!this.match(A))&&(void 0!==t?(this.position===this.text.length-1||this.match(t,!1))&&this.unsetTag(g):this.unsetTag(g),!0)}},{key:"replace",value:function(g,A){return!!this.match(g)&&(this.add(A),this.position+=length-1,!0)}},{key:"prepareRegExp",value:function(g){var A,t;if(g instanceof RegExp)t=g,A=1;else{var C=Ls[g];t=void 0!==C?C:new RegExp(g),A=g.length}return[t,A]}}]),g}(),Ys=function(){function g(A,t,C,I){var e=this;Tn(this,g),this.ctx=A,this.parent=t,this.selected=C,this.hover=I;this.lines=new js((function(g,t){if(void 0===g)return 0;var i=e.parent.getFormattingValues(A,C,I,t),o=0;""!==g&&(o=e.ctx.measureText(g).width);return{width:o,values:i}}))}return Rn(g,[{key:"process",value:function(g){if(!Fs(g))return this.lines.finalize();var A=this.parent.fontOptions;g=(g=g.replace(/\r\n/g,"\n")).replace(/\r/g,"\n");var t=String(g).split("\n"),C=t.length;if(A.multi)for(var I=0;I<C;I++){var e=this.splitBlocks(t[I],A.multi);if(void 0!==e)if(0!==e.length){if(A.maxWdt>0)for(var i=0;i<e.length;i++){var o=e[i].mod,n=e[i].text;this.splitStringIntoLines(n,o,!0)}else for(var r=0;r<e.length;r++){var s=e[r].mod,a=e[r].text;this.lines.append(a,s)}this.lines.newLine()}else this.lines.newLine("")}else if(A.maxWdt>0)for(var d=0;d<C;d++)this.splitStringIntoLines(t[d]);else for(var h=0;h<C;h++)this.lines.newLine(t[h]);return this.lines.finalize()}},{key:"decodeMarkupSystem",value:function(g){var A="none";return"markdown"===g||"md"===g?A="markdown":!0!==g&&"html"!==g||(A="html"),A}},{key:"splitHtmlBlocks",value:function(g){for(var A=new Vs(g),t=function(g){return!!/&/.test(g)&&(A.replace(A.text,"<","<")||A.replace(A.text,"&","&")||A.add("&"),!0)};A.position<A.text.length;){var C=A.text.charAt(A.position);A.parseWS(C)||/</.test(C)&&(A.parseStartTag("bold","<b>")||A.parseStartTag("ital","<i>")||A.parseStartTag("mono","<code>")||A.parseEndTag("bold","</b>")||A.parseEndTag("ital","</i>")||A.parseEndTag("mono","</code>"))||t(C)||A.add(C),A.position++}return A.emitBlock(),A.blocks}},{key:"splitMarkdownBlocks",value:function(g){for(var A=this,t=new Vs(g),C=!0,I=function(g){return!!/\\/.test(g)&&(t.position<A.text.length+1&&(t.position++,g=A.text.charAt(t.position),/ \t/.test(g)?t.spacing=!0:(t.add(g),C=!1)),!0)};t.position<t.text.length;){var e=t.text.charAt(t.position);t.parseWS(e)||I(e)||(C||t.spacing)&&(t.parseStartTag("bold","*")||t.parseStartTag("ital","_")||t.parseStartTag("mono","`"))||t.parseEndTag("bold","*","afterBold")||t.parseEndTag("ital","_","afterItal")||t.parseEndTag("mono","`","afterMono")||(t.add(e),C=!1),t.position++}return t.emitBlock(),t.blocks}},{key:"splitBlocks",value:function(g,A){var t=this.decodeMarkupSystem(A);return"none"===t?[{text:g,mod:"normal"}]:"markdown"===t?this.splitMarkdownBlocks(g):"html"===t?this.splitHtmlBlocks(g):void 0}},{key:"overMaxWidth",value:function(g){var A=this.ctx.measureText(g).width;return this.lines.curWidth()+A>this.parent.fontOptions.maxWdt}},{key:"getLongestFit",value:function(g){for(var A="",t=0;t<g.length;){var C=A+(""===A?"":" ")+g[t];if(this.overMaxWidth(C))break;A=C,t++}return t}},{key:"getLongestFitWord",value:function(g){for(var A=0;A<g.length&&!this.overMaxWidth(Ce(g).call(g,0,A));)A++;return A}},{key:"splitStringIntoLines",value:function(g){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"normal",t=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.parent.getFormattingValues(this.ctx,this.selected,this.hover,A);for(var C=(g=(g=g.replace(/^( +)/g,"$1\r")).replace(/([^\r][^ ]*)( +)/g,"$1\r$2\r")).split("\r");C.length>0;){var I=this.getLongestFit(C);if(0===I){var e=C[0],i=this.getLongestFitWord(e);this.lines.newLine(Ce(e).call(e,0,i),A),C[0]=Ce(e).call(e,i)}else{var o=I;" "===C[I-1]?I--:" "===C[o]&&o++;var n=Ce(C).call(C,0,I).join("");I==C.length&&t?this.lines.append(n,A):this.lines.newLine(n,A),C=Ce(C).call(C,o)}}}}]),g}(),Ws=["bold","ital","boldital","mono"],Hs=function(){function g(A,t){var C=arguments.length>2&&void 0!==arguments[2]&&arguments[2];Tn(this,g),this.body=A,this.pointToSelf=!1,this.baseSize=void 0,this.fontOptions={},this.setOptions(t),this.size={top:0,left:0,width:0,height:0,yLine:0},this.isEdgeLabel=C}return Rn(g,[{key:"setOptions",value:function(g){if(this.elementOptions=g,this.initFontOptions(g.font),Fs(g.label)?this.labelDirty=!0:g.label=void 0,void 0!==g.font&&null!==g.font)if("string"==typeof g.font)this.baseSize=this.fontOptions.size;else if("object"===Ae(g.font)){var A=g.font.size;void 0!==A&&(this.baseSize=A)}}},{key:"initFontOptions",value:function(A){var t=this;Ze(Ws,(function(g){t.fontOptions[g]={}})),g.parseFontString(this.fontOptions,A)?this.fontOptions.vadjust=0:Ze(A,(function(g,A){null!=g&&"object"!==Ae(g)&&(t.fontOptions[A]=g)}))}},{key:"constrain",value:function(g){var A={constrainWidth:!1,maxWdt:-1,minWdt:-1,constrainHeight:!1,minHgt:-1,valign:"middle"},t=Je(g,"widthConstraint");if("number"==typeof t)A.maxWdt=Number(t),A.minWdt=Number(t);else if("object"===Ae(t)){var C=Je(g,["widthConstraint","maximum"]);"number"==typeof C&&(A.maxWdt=Number(C));var I=Je(g,["widthConstraint","minimum"]);"number"==typeof I&&(A.minWdt=Number(I))}var e=Je(g,"heightConstraint");if("number"==typeof e)A.minHgt=Number(e);else if("object"===Ae(e)){var i=Je(g,["heightConstraint","minimum"]);"number"==typeof i&&(A.minHgt=Number(i));var o=Je(g,["heightConstraint","valign"]);"string"==typeof o&&("top"!==o&&"bottom"!==o||(A.valign=o))}return A}},{key:"update",value:function(g,A){this.setOptions(g,!0),this.propagateFonts(A),Me(this.fontOptions,this.constrain(A)),this.fontOptions.chooser=Bs("label",A)}},{key:"adjustSizes",value:function(g){var A=g?g.right+g.left:0;this.fontOptions.constrainWidth&&(this.fontOptions.maxWdt-=A,this.fontOptions.minWdt-=A);var t=g?g.top+g.bottom:0;this.fontOptions.constrainHeight&&(this.fontOptions.minHgt-=t)}},{key:"addFontOptionsToPile",value:function(g,A){for(var t=0;t<A.length;++t)this.addFontToPile(g,A[t])}},{key:"addFontToPile",value:function(g,A){if(void 0!==A&&void 0!==A.font&&null!==A.font){var t=A.font;g.push(t)}}},{key:"getBasicOptions",value:function(A){for(var t={},C=0;C<A.length;++C){var I=A[C],e={};g.parseFontString(e,I)&&(I=e),Ze(I,(function(g,A){void 0!==g&&(Object.prototype.hasOwnProperty.call(t,A)||(-1!==uI(Ws).call(Ws,A)?t[A]={}:t[A]=g))}))}return t}},{key:"getFontOption",value:function(A,t,C){for(var I,e=0;e<A.length;++e){var i=A[e];if(Object.prototype.hasOwnProperty.call(i,t)){if(null==(I=i[t]))continue;var o={};if(g.parseFontString(o,I)&&(I=o),Object.prototype.hasOwnProperty.call(I,C))return I[C]}}if(Object.prototype.hasOwnProperty.call(this.fontOptions,C))return this.fontOptions[C];throw new Error("Did not find value for multi-font for property: '"+C+"'")}},{key:"getFontOptions",value:function(g,A){for(var t={},C=["color","size","face","mod","vadjust"],I=0;I<C.length;++I){var e=C[I];t[e]=this.getFontOption(g,A,e)}return t}},{key:"propagateFonts",value:function(g){var A=this,t=[];this.addFontOptionsToPile(t,g),this.fontOptions=this.getBasicOptions(t);for(var C=function(g){var C=Ws[g],I=A.fontOptions[C];Ze(A.getFontOptions(t,C),(function(g,A){I[A]=g})),I.size=Number(I.size),I.vadjust=Number(I.vadjust)},I=0;I<Ws.length;++I)C(I)}},{key:"draw",value:function(g,A,t,C,I){var e=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";if(void 0!==this.elementOptions.label){var i=this.fontOptions.size*this.body.view.scale;this.elementOptions.label&&i<this.elementOptions.scaling.label.drawThreshold-1||(i>=this.elementOptions.scaling.label.maxVisible&&(i=Number(this.elementOptions.scaling.label.maxVisible)/this.body.view.scale),this.calculateLabelSize(g,C,I,A,t,e),this._drawBackground(g),this._drawText(g,A,this.size.yLine,e,i))}}},{key:"_drawBackground",value:function(g){if(void 0!==this.fontOptions.background&&"none"!==this.fontOptions.background){g.fillStyle=this.fontOptions.background;var A=this.getSize();g.fillRect(A.left,A.top,A.width,A.height)}}},{key:"_drawText",value:function(g,A,t){var C=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"middle",I=arguments.length>4?arguments[4]:void 0,e=this._setAlignment(g,A,t,C),i=VI(e,2);A=i[0],t=i[1],g.textAlign="left",A-=this.size.width/2,this.fontOptions.valign&&this.size.height>this.size.labelHeight&&("top"===this.fontOptions.valign&&(t-=(this.size.height-this.size.labelHeight)/2),"bottom"===this.fontOptions.valign&&(t+=(this.size.height-this.size.labelHeight)/2));for(var o=0;o<this.lineCount;o++){var n=this.lines[o];if(n&&n.blocks){var r=0;this.isEdgeLabel||"center"===this.fontOptions.align?r+=(this.size.width-n.width)/2:"right"===this.fontOptions.align&&(r+=this.size.width-n.width);for(var s=0;s<n.blocks.length;s++){var a=n.blocks[s];g.font=a.font;var d=this._getColor(a.color,I,a.strokeColor),h=VI(d,2),l=h[0],c=h[1];a.strokeWidth>0&&(g.lineWidth=a.strokeWidth,g.strokeStyle=c,g.lineJoin="round"),g.fillStyle=l,a.strokeWidth>0&&g.strokeText(a.text,A+r,t+a.vadjust),g.fillText(a.text,A+r,t+a.vadjust),r+=a.width}t+=n.height}}}},{key:"_setAlignment",value:function(g,A,t,C){if(this.isEdgeLabel&&"horizontal"!==this.fontOptions.align&&!1===this.pointToSelf){A=0,t=0;"top"===this.fontOptions.align?(g.textBaseline="alphabetic",t-=4):"bottom"===this.fontOptions.align?(g.textBaseline="hanging",t+=4):g.textBaseline="middle"}else g.textBaseline=C;return[A,t]}},{key:"_getColor",value:function(g,A,t){var C=g||"#000000",I=t||"#ffffff";if(A<=this.elementOptions.scaling.label.drawThreshold){var e=Math.max(0,Math.min(1,1-(this.elementOptions.scaling.label.drawThreshold-A)));C=Ge(C,e),I=Ge(I,e)}return[C,I]}},{key:"getTextSize",value:function(g){var A=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return this._processLabel(g,A,t),{width:this.size.width,height:this.size.height,lineCount:this.lineCount}}},{key:"getSize",value:function(){var g=this.size.left,A=this.size.top-1;if(this.isEdgeLabel){var t=.5*-this.size.width;switch(this.fontOptions.align){case"middle":g=t,A=.5*-this.size.height;break;case"top":g=t,A=-(this.size.height+2);break;case"bottom":g=t,A=2}}return{left:g,top:A,width:this.size.width,height:this.size.height}}},{key:"calculateLabelSize",value:function(g,A,t){var C=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,I=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,e=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";this._processLabel(g,A,t),this.size.left=C-.5*this.size.width,this.size.top=I-.5*this.size.height,this.size.yLine=I+.5*(1-this.lineCount)*this.fontOptions.size,"hanging"===e&&(this.size.top+=.5*this.fontOptions.size,this.size.top+=4,this.size.yLine+=4)}},{key:"getFormattingValues",value:function(g,A,t,C){var I=function(g,A,t){return"normal"===A?"mod"===t?"":g[t]:void 0!==g[A][t]?g[A][t]:g[t]},e={color:I(this.fontOptions,C,"color"),size:I(this.fontOptions,C,"size"),face:I(this.fontOptions,C,"face"),mod:I(this.fontOptions,C,"mod"),vadjust:I(this.fontOptions,C,"vadjust"),strokeWidth:this.fontOptions.strokeWidth,strokeColor:this.fontOptions.strokeColor};(A||t)&&("normal"===C&&!0===this.fontOptions.chooser&&this.elementOptions.labelHighlightBold?e.mod="bold":"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(e,this.elementOptions.id,A,t));var i="";return void 0!==e.mod&&""!==e.mod&&(i+=e.mod+" "),i+=e.size+"px "+e.face,g.font=i.replace(/"/g,""),e.font=g.font,e.height=e.size,e}},{key:"differentState",value:function(g,A){return g!==this.selectedState||A!==this.hoverState}},{key:"_processLabelText",value:function(g,A,t,C){return new Ys(g,this,A,t).process(C)}},{key:"_processLabel",value:function(g,A,t){if(!1!==this.labelDirty||this.differentState(A,t)){var C=this._processLabelText(g,A,t,this.elementOptions.label);this.fontOptions.minWdt>0&&C.width<this.fontOptions.minWdt&&(C.width=this.fontOptions.minWdt),this.size.labelHeight=C.height,this.fontOptions.minHgt>0&&C.height<this.fontOptions.minHgt&&(C.height=this.fontOptions.minHgt),this.lines=C.lines,this.lineCount=C.lines.length,this.size.width=C.width,this.size.height=C.height,this.selectedState=A,this.hoverState=t,this.labelDirty=!1}}},{key:"visible",value:function(){return 0!==this.size.width&&0!==this.size.height&&void 0!==this.elementOptions.label&&!(this.fontOptions.size*this.body.view.scale<this.elementOptions.scaling.label.drawThreshold-1)}}],[{key:"parseFontString",value:function(g,A){if(!A||"string"!=typeof A)return!1;var t=A.split(" ");return g.size=+t[0].replace("px",""),g.face=t[1],g.color=t[2],!0}}]),g}();H({target:"Array",proto:!0},{fill:function(g){for(var A=ug(this),t=Ig(A.length),C=arguments.length,I=og(C>1?arguments[1]:void 0,t),e=C>2?arguments[2]:void 0,i=void 0===e?t:og(e,t);i>I;)A[I++]=g;return A}});var Qs=_("Array").fill,Us=Array.prototype,Ks=function(g){var A=g.fill;return g===Us||g instanceof Array&&A===Us.fill?Qs:A},Xs=function(){function g(A,t,C){Tn(this,g),this.body=t,this.labelModule=C,this.setOptions(A),this.top=void 0,this.left=void 0,this.height=void 0,this.width=void 0,this.radius=void 0,this.margin=void 0,this.refreshNeeded=!0,this.boundingBox={top:0,left:0,right:0,bottom:0}}return Rn(g,[{key:"setOptions",value:function(g){this.options=g}},{key:"_setMargins",value:function(g){this.margin={},this.options.margin&&("object"==Ae(this.options.margin)?(this.margin.top=this.options.margin.top,this.margin.right=this.options.margin.right,this.margin.bottom=this.options.margin.bottom,this.margin.left=this.options.margin.left):(this.margin.top=this.options.margin,this.margin.right=this.options.margin,this.margin.bottom=this.options.margin,this.margin.left=this.options.margin)),g.adjustSizes(this.margin)}},{key:"_distanceToBorder",value:function(g,A){var t=this.options.borderWidth;return g&&this.resize(g),Math.min(Math.abs(this.width/2/Math.cos(A)),Math.abs(this.height/2/Math.sin(A)))+t}},{key:"enableShadow",value:function(g,A){A.shadow&&(g.shadowColor=A.shadowColor,g.shadowBlur=A.shadowSize,g.shadowOffsetX=A.shadowX,g.shadowOffsetY=A.shadowY)}},{key:"disableShadow",value:function(g,A){A.shadow&&(g.shadowColor="rgba(0,0,0,0)",g.shadowBlur=0,g.shadowOffsetX=0,g.shadowOffsetY=0)}},{key:"enableBorderDashes",value:function(g,A){if(!1!==A.borderDashes)if(void 0!==g.setLineDash){var t=A.borderDashes;!0===t&&(t=[5,15]),g.setLineDash(t)}else console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,A.borderDashes=!1}},{key:"disableBorderDashes",value:function(g,A){!1!==A.borderDashes&&(void 0!==g.setLineDash?g.setLineDash([0]):(console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,A.borderDashes=!1))}},{key:"needsRefresh",value:function(g,A){return!0===this.refreshNeeded?(this.refreshNeeded=!1,!0):void 0===this.width||this.labelModule.differentState(g,A)}},{key:"initContextForDraw",value:function(g,A){var t=A.borderWidth/this.body.view.scale;g.lineWidth=Math.min(this.width,t),g.strokeStyle=A.borderColor,g.fillStyle=A.color}},{key:"performStroke",value:function(g,A){var t=A.borderWidth/this.body.view.scale;g.save(),t>0&&(this.enableBorderDashes(g,A),g.stroke(),this.disableBorderDashes(g,A)),g.restore()}},{key:"performFill",value:function(g,A){g.save(),g.fillStyle=A.color,this.enableShadow(g,A),Ks(g).call(g),this.disableShadow(g,A),g.restore(),this.performStroke(g,A)}},{key:"_addBoundingBoxMargin",value:function(g){this.boundingBox.left-=g,this.boundingBox.top-=g,this.boundingBox.bottom+=g,this.boundingBox.right+=g}},{key:"_updateBoundingBox",value:function(g,A,t,C,I){void 0!==t&&this.resize(t,C,I),this.left=g-this.width/2,this.top=A-this.height/2,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}},{key:"updateBoundingBox",value:function(g,A,t,C,I){this._updateBoundingBox(g,A,t,C,I)}},{key:"getDimensionsFromLabel",value:function(g,A,t){this.textSize=this.labelModule.getTextSize(g,A,t);var C=this.textSize.width,I=this.textSize.height;return 0===C&&(C=14,I=14),{width:C,height:I}}}]),g}();function _s(g){var A=function(){if("undefined"==typeof Reflect||!$n)return!1;if($n.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call($n(Date,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,C=xr(g);if(A){var I=xr(this).constructor;t=$n(C,arguments,I)}else t=C.apply(this,arguments);return wr(this,t)}}var Js=function(g){mr(t,g);var A=_s(t);function t(g,C,I){var e;return Tn(this,t),(e=A.call(this,g,C,I))._setMargins(I),e}return Rn(t,[{key:"resize",value:function(g){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(this.needsRefresh(A,t)){var C=this.getDimensionsFromLabel(g,A,t);this.width=C.width+this.margin.right+this.margin.left,this.height=C.height+this.margin.top+this.margin.bottom,this.radius=this.width/2}}},{key:"draw",value:function(g,A,t,C,I,e){this.resize(g,C,I),this.left=A-this.width/2,this.top=t-this.height/2,this.initContextForDraw(g,e),mg(g,this.left,this.top,this.width,this.height,e.borderRadius),this.performFill(g,e),this.updateBoundingBox(A,t,g,C,I),this.labelModule.draw(g,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,C,I)}},{key:"updateBoundingBox",value:function(g,A,t,C,I){this._updateBoundingBox(g,A,t,C,I);var e=this.options.shapeProperties.borderRadius;this._addBoundingBoxMargin(e)}},{key:"distanceToBorder",value:function(g,A){g&&this.resize(g);var t=this.options.borderWidth;return Math.min(Math.abs(this.width/2/Math.cos(A)),Math.abs(this.height/2/Math.sin(A)))+t}}]),t}(Xs);function qs(g){var A=function(){if("undefined"==typeof Reflect||!$n)return!1;if($n.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call($n(Date,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,C=xr(g);if(A){var I=xr(this).constructor;t=$n(C,arguments,I)}else t=C.apply(this,arguments);return wr(this,t)}}var $s=function(g){mr(t,g);var A=qs(t);function t(g,C,I){var e;return Tn(this,t),(e=A.call(this,g,C,I)).labelOffset=0,e.selected=!1,e}return Rn(t,[{key:"setOptions",value:function(g,A,t){this.options=g,void 0===A&&void 0===t||this.setImages(A,t)}},{key:"setImages",value:function(g,A){A&&this.selected?(this.imageObj=A,this.imageObjAlt=g):(this.imageObj=g,this.imageObjAlt=A)}},{key:"switchImages",value:function(g){var A=g&&!this.selected||!g&&this.selected;if(this.selected=g,void 0!==this.imageObjAlt&&A){var t=this.imageObj;this.imageObj=this.imageObjAlt,this.imageObjAlt=t}}},{key:"_getImagePadding",value:function(){var g={top:0,right:0,bottom:0,left:0};if(this.options.imagePadding){var A=this.options.imagePadding;"object"==Ae(A)?(g.top=A.top,g.right=A.right,g.bottom=A.bottom,g.left=A.left):(g.top=A,g.right=A,g.bottom=A,g.left=A)}return g}},{key:"_resizeImage",value:function(){var g,A;if(!1===this.options.shapeProperties.useImageSize){var t=1,C=1;this.imageObj.width&&this.imageObj.height&&(this.imageObj.width>this.imageObj.height?t=this.imageObj.width/this.imageObj.height:C=this.imageObj.height/this.imageObj.width),g=2*this.options.size*t,A=2*this.options.size*C}else{var I=this._getImagePadding();g=this.imageObj.width+I.left+I.right,A=this.imageObj.height+I.top+I.bottom}this.width=g,this.height=A,this.radius=.5*this.width}},{key:"_drawRawCircle",value:function(g,A,t,C){this.initContextForDraw(g,C),bg(g,A,t,C.size),this.performFill(g,C)}},{key:"_drawImageAtPosition",value:function(g,A){if(0!=this.imageObj.width){g.globalAlpha=void 0!==A.opacity?A.opacity:1,this.enableShadow(g,A);var t=1;!0===this.options.shapeProperties.interpolation&&(t=this.imageObj.width/this.width/this.body.view.scale);var C=this._getImagePadding(),I=this.left+C.left,e=this.top+C.top,i=this.width-C.left-C.right,o=this.height-C.top-C.bottom;this.imageObj.drawImageAtPosition(g,t,I,e,i,o),this.disableShadow(g,A)}}},{key:"_drawImageLabel",value:function(g,A,t,C,I){var e=0;if(void 0!==this.height){e=.5*this.height;var i=this.labelModule.getTextSize(g,C,I);i.lineCount>=1&&(e+=i.height/2)}var o=t+e;this.options.label&&(this.labelOffset=e),this.labelModule.draw(g,A,o,C,I,"hanging")}}]),t}(Xs);function ga(g){var A=function(){if("undefined"==typeof Reflect||!$n)return!1;if($n.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call($n(Date,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,C=xr(g);if(A){var I=xr(this).constructor;t=$n(C,arguments,I)}else t=C.apply(this,arguments);return wr(this,t)}}var Aa=function(g){mr(t,g);var A=ga(t);function t(g,C,I){var e;return Tn(this,t),(e=A.call(this,g,C,I))._setMargins(I),e}return Rn(t,[{key:"resize",value:function(g){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(this.needsRefresh(A,t)){var C=this.getDimensionsFromLabel(g,A,t),I=Math.max(C.width+this.margin.right+this.margin.left,C.height+this.margin.top+this.margin.bottom);this.options.size=I/2,this.width=I,this.height=I,this.radius=this.width/2}}},{key:"draw",value:function(g,A,t,C,I,e){this.resize(g,C,I),this.left=A-this.width/2,this.top=t-this.height/2,this._drawRawCircle(g,A,t,e),this.updateBoundingBox(A,t),this.labelModule.draw(g,this.left+this.textSize.width/2+this.margin.left,t,C,I)}},{key:"updateBoundingBox",value:function(g,A){this.boundingBox.top=A-this.options.size,this.boundingBox.left=g-this.options.size,this.boundingBox.right=g+this.options.size,this.boundingBox.bottom=A+this.options.size}},{key:"distanceToBorder",value:function(g,A){return g&&this.resize(g),.5*this.width}}]),t}($s);function ta(g){var A=function(){if("undefined"==typeof Reflect||!$n)return!1;if($n.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call($n(Date,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,C=xr(g);if(A){var I=xr(this).constructor;t=$n(C,arguments,I)}else t=C.apply(this,arguments);return wr(this,t)}}var Ca=function(g){mr(t,g);var A=ta(t);function t(g,C,I,e,i){var o;return Tn(this,t),(o=A.call(this,g,C,I)).setImages(e,i),o}return Rn(t,[{key:"resize",value:function(g){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover,C=void 0===this.imageObj.src||void 0===this.imageObj.width||void 0===this.imageObj.height;if(C){var I=2*this.options.size;return this.width=I,this.height=I,void(this.radius=.5*this.width)}this.needsRefresh(A,t)&&this._resizeImage()}},{key:"draw",value:function(g,A,t,C,I,e){this.switchImages(C),this.resize();var i=A,o=t;"top-left"===this.options.shapeProperties.coordinateOrigin?(this.left=A,this.top=t,i+=this.width/2,o+=this.height/2):(this.left=A-this.width/2,this.top=t-this.height/2),this._drawRawCircle(g,i,o,e),g.save(),g.clip(),this._drawImageAtPosition(g,e),g.restore(),this._drawImageLabel(g,i,o,C,I),this.updateBoundingBox(A,t)}},{key:"updateBoundingBox",value:function(g,A){"top-left"===this.options.shapeProperties.coordinateOrigin?(this.boundingBox.top=A,this.boundingBox.left=g,this.boundingBox.right=g+2*this.options.size,this.boundingBox.bottom=A+2*this.options.size):(this.boundingBox.top=A-this.options.size,this.boundingBox.left=g-this.options.size,this.boundingBox.right=g+this.options.size,this.boundingBox.bottom=A+this.options.size),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset)}},{key:"distanceToBorder",value:function(g,A){return g&&this.resize(g),.5*this.width}}]),t}($s);function Ia(g,A){var t=HI(g);if(kt){var C=kt(g);A&&(C=eI(C).call(C,(function(A){return Yg(g,A).enumerable}))),t.push.apply(t,C)}return t}function ea(g){for(var A=1;A<arguments.length;A++){var t,C=null!=arguments[A]?arguments[A]:{};if(A%2)BC(t=Ia(Object(C),!0)).call(t,(function(A){uC(g,A,C[A])}));else if(Fg)Ng(g,Fg(C));else{var I;BC(I=Ia(Object(C))).call(I,(function(A){Dg(g,A,Yg(C,A))}))}}return g}function ia(g){var A=function(){if("undefined"==typeof Reflect||!$n)return!1;if($n.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call($n(Date,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,C=xr(g);if(A){var I=xr(this).constructor;t=$n(C,arguments,I)}else t=C.apply(this,arguments);return wr(this,t)}}var oa=function(g){mr(t,g);var A=ia(t);function t(g,C,I){return Tn(this,t),A.call(this,g,C,I)}return Rn(t,[{key:"resize",value:function(g){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover,C=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{size:this.options.size};if(this.needsRefresh(A,t)){this.labelModule.getTextSize(g,A,t);var I=2*C.size;this.width=I,this.height=I,this.radius=.5*this.width}}},{key:"_drawShape",value:function(g,A,t,C,I,e,i,o,n){if(this.resize(g,e,i,o),this.left=C-this.width/2,this.top=I-this.height/2,"custom"===A)return g.save(),n({ctx:g,x:C,y:I,state:{selected:e,hover:i},style:ea({},o),label:this.options.label}),void g.restore();var r;if(this.initContextForDraw(g,o),(r=A,Object.prototype.hasOwnProperty.call(Og,r)?Og[r]:function(g){for(var A=arguments.length,t=new Array(A>1?A-1:0),C=1;C<A;C++)t[C-1]=arguments[C];CanvasRenderingContext2D.prototype[r].call(g,t)})(g,C,I,o.size),this.performFill(g,o),void 0!==this.options.icon&&void 0!==this.options.icon.code&&(g.font=(e?"bold ":"")+this.height/2+"px "+(this.options.icon.face||"FontAwesome"),g.fillStyle=this.options.icon.color||"black",g.textAlign="center",g.textBaseline="middle",g.fillText(this.options.icon.code,C,I)),void 0!==this.options.label){this.labelModule.calculateLabelSize(g,e,i,C,I,"hanging");var s=I+.5*this.height+.5*this.labelModule.size.height;this.labelModule.draw(g,C,s,e,i,"hanging")}this.updateBoundingBox(C,I)}},{key:"updateBoundingBox",value:function(g,A){this.boundingBox.top=A-this.options.size,this.boundingBox.left=g-this.options.size,this.boundingBox.right=g+this.options.size,this.boundingBox.bottom=A+this.options.size,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height))}}]),t}(Xs);function na(g){var A=function(){if("undefined"==typeof Reflect||!$n)return!1;if($n.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call($n(Date,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,C=xr(g);if(A){var I=xr(this).constructor;t=$n(C,arguments,I)}else t=C.apply(this,arguments);return wr(this,t)}}var ra=function(g){mr(t,g);var A=na(t);function t(g,C,I,e){var i;return Tn(this,t),(i=A.call(this,g,C,I,e)).ctxRenderer=e,i}return Rn(t,[{key:"draw",value:function(g,A,t,C,I,e){this._drawShape(g,"custom",4,A,t,C,I,e,this.ctxRenderer)}},{key:"distanceToBorder",value:function(g,A){return this._distanceToBorder(g,A)}}]),t}(oa);function sa(g){var A=function(){if("undefined"==typeof Reflect||!$n)return!1;if($n.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call($n(Date,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,C=xr(g);if(A){var I=xr(this).constructor;t=$n(C,arguments,I)}else t=C.apply(this,arguments);return wr(this,t)}}var aa=function(g){mr(t,g);var A=sa(t);function t(g,C,I){var e;return Tn(this,t),(e=A.call(this,g,C,I))._setMargins(I),e}return Rn(t,[{key:"resize",value:function(g,A,t){if(this.needsRefresh(A,t)){var C=this.getDimensionsFromLabel(g,A,t).width+this.margin.right+this.margin.left;this.width=C,this.height=C,this.radius=this.width/2}}},{key:"draw",value:function(g,A,t,C,I,e){this.resize(g,C,I),this.left=A-this.width/2,this.top=t-this.height/2,this.initContextForDraw(g,e),kg(g,A-this.width/2,t-this.height/2,this.width,this.height),this.performFill(g,e),this.updateBoundingBox(A,t,g,C,I),this.labelModule.draw(g,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,C,I)}},{key:"distanceToBorder",value:function(g,A){return this._distanceToBorder(g,A)}}]),t}(Xs);function da(g){var A=function(){if("undefined"==typeof Reflect||!$n)return!1;if($n.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call($n(Date,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,C=xr(g);if(A){var I=xr(this).constructor;t=$n(C,arguments,I)}else t=C.apply(this,arguments);return wr(this,t)}}var ha=function(g){mr(t,g);var A=da(t);function t(g,C,I){return Tn(this,t),A.call(this,g,C,I)}return Rn(t,[{key:"draw",value:function(g,A,t,C,I,e){this._drawShape(g,"diamond",4,A,t,C,I,e)}},{key:"distanceToBorder",value:function(g,A){return this._distanceToBorder(g,A)}}]),t}(oa);function la(g){var A=function(){if("undefined"==typeof Reflect||!$n)return!1;if($n.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call($n(Date,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,C=xr(g);if(A){var I=xr(this).constructor;t=$n(C,arguments,I)}else t=C.apply(this,arguments);return wr(this,t)}}var ca=function(g){mr(t,g);var A=la(t);function t(g,C,I){return Tn(this,t),A.call(this,g,C,I)}return Rn(t,[{key:"draw",value:function(g,A,t,C,I,e){this._drawShape(g,"circle",2,A,t,C,I,e)}},{key:"distanceToBorder",value:function(g,A){return g&&this.resize(g),this.options.size}}]),t}(oa);function ua(g){var A=function(){if("undefined"==typeof Reflect||!$n)return!1;if($n.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call($n(Date,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,C=xr(g);if(A){var I=xr(this).constructor;t=$n(C,arguments,I)}else t=C.apply(this,arguments);return wr(this,t)}}var pa=function(g){mr(t,g);var A=ua(t);function t(g,C,I){return Tn(this,t),A.call(this,g,C,I)}return Rn(t,[{key:"resize",value:function(g){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(this.needsRefresh(A,t)){var C=this.getDimensionsFromLabel(g,A,t);this.height=2*C.height,this.width=C.width+C.height,this.radius=.5*this.width}}},{key:"draw",value:function(g,A,t,C,I,e){this.resize(g,C,I),this.left=A-.5*this.width,this.top=t-.5*this.height,this.initContextForDraw(g,e),wg(g,this.left,this.top,this.width,this.height),this.performFill(g,e),this.updateBoundingBox(A,t,g,C,I),this.labelModule.draw(g,A,t,C,I)}},{key:"distanceToBorder",value:function(g,A){g&&this.resize(g);var t=.5*this.width,C=.5*this.height,I=Math.sin(A)*t,e=Math.cos(A)*C;return t*C/Math.sqrt(I*I+e*e)}}]),t}(Xs);function va(g){var A=function(){if("undefined"==typeof Reflect||!$n)return!1;if($n.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call($n(Date,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,C=xr(g);if(A){var I=xr(this).constructor;t=$n(C,arguments,I)}else t=C.apply(this,arguments);return wr(this,t)}}var fa=function(g){mr(t,g);var A=va(t);function t(g,C,I){var e;return Tn(this,t),(e=A.call(this,g,C,I))._setMargins(I),e}return Rn(t,[{key:"resize",value:function(g,A,t){this.needsRefresh(A,t)&&(this.iconSize={width:Number(this.options.icon.size),height:Number(this.options.icon.size)},this.width=this.iconSize.width+this.margin.right+this.margin.left,this.height=this.iconSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(g,A,t,C,I,e){if(this.resize(g,C,I),this.options.icon.size=this.options.icon.size||50,this.left=A-this.width/2,this.top=t-this.height/2,this._icon(g,A,t,C,I,e),void 0!==this.options.label){this.labelModule.draw(g,this.left+this.iconSize.width/2+this.margin.left,t+this.height/2+5,C)}this.updateBoundingBox(A,t)}},{key:"updateBoundingBox",value:function(g,A){if(this.boundingBox.top=A-.5*this.options.icon.size,this.boundingBox.left=g-.5*this.options.icon.size,this.boundingBox.right=g+.5*this.options.icon.size,this.boundingBox.bottom=A+.5*this.options.icon.size,void 0!==this.options.label&&this.labelModule.size.width>0){this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+5)}}},{key:"_icon",value:function(g,A,t,C,I,e){var i=Number(this.options.icon.size);void 0!==this.options.icon.code?(g.font=[null!=this.options.icon.weight?this.options.icon.weight:C?"bold":"",(null!=this.options.icon.weight&&C?5:0)+i+"px",this.options.icon.face].join(" "),g.fillStyle=this.options.icon.color||"black",g.textAlign="center",g.textBaseline="middle",this.enableShadow(g,e),g.fillText(this.options.icon.code,A,t),this.disableShadow(g,e)):console.error("When using the icon shape, you need to define the code in the icon options object. This can be done per node or globally.")}},{key:"distanceToBorder",value:function(g,A){return this._distanceToBorder(g,A)}}]),t}(Xs);function ya(g){var A=function(){if("undefined"==typeof Reflect||!$n)return!1;if($n.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call($n(Date,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,C=xr(g);if(A){var I=xr(this).constructor;t=$n(C,arguments,I)}else t=C.apply(this,arguments);return wr(this,t)}}var ba=function(g){mr(t,g);var A=ya(t);function t(g,C,I,e,i){var o;return Tn(this,t),(o=A.call(this,g,C,I)).setImages(e,i),o}return Rn(t,[{key:"resize",value:function(g){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover,C=void 0===this.imageObj.src||void 0===this.imageObj.width||void 0===this.imageObj.height;if(C){var I=2*this.options.size;return this.width=I,void(this.height=I)}this.needsRefresh(A,t)&&this._resizeImage()}},{key:"draw",value:function(g,A,t,C,I,e){g.save(),this.switchImages(C),this.resize();var i=A,o=t;if("top-left"===this.options.shapeProperties.coordinateOrigin?(this.left=A,this.top=t,i+=this.width/2,o+=this.height/2):(this.left=A-this.width/2,this.top=t-this.height/2),!0===this.options.shapeProperties.useBorderWithImage){var n=this.options.borderWidth,r=this.options.borderWidthSelected||2*this.options.borderWidth,s=(C?r:n)/this.body.view.scale;g.lineWidth=Math.min(this.width,s),g.beginPath();var a=C?this.options.color.highlight.border:I?this.options.color.hover.border:this.options.color.border,d=C?this.options.color.highlight.background:I?this.options.color.hover.background:this.options.color.background;void 0!==e.opacity&&(a=Ge(a,e.opacity),d=Ge(d,e.opacity)),g.strokeStyle=a,g.fillStyle=d,g.rect(this.left-.5*g.lineWidth,this.top-.5*g.lineWidth,this.width+g.lineWidth,this.height+g.lineWidth),Ks(g).call(g),this.performStroke(g,e),g.closePath()}this._drawImageAtPosition(g,e),this._drawImageLabel(g,i,o,C,I),this.updateBoundingBox(A,t),g.restore()}},{key:"updateBoundingBox",value:function(g,A){this.resize(),"top-left"===this.options.shapeProperties.coordinateOrigin?(this.left=g,this.top=A):(this.left=g-this.width/2,this.top=A-this.height/2),this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset))}},{key:"distanceToBorder",value:function(g,A){return this._distanceToBorder(g,A)}}]),t}($s);function ma(g){var A=function(){if("undefined"==typeof Reflect||!$n)return!1;if($n.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call($n(Date,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,C=xr(g);if(A){var I=xr(this).constructor;t=$n(C,arguments,I)}else t=C.apply(this,arguments);return wr(this,t)}}var wa=function(g){mr(t,g);var A=ma(t);function t(g,C,I){return Tn(this,t),A.call(this,g,C,I)}return Rn(t,[{key:"draw",value:function(g,A,t,C,I,e){this._drawShape(g,"square",2,A,t,C,I,e)}},{key:"distanceToBorder",value:function(g,A){return this._distanceToBorder(g,A)}}]),t}(oa);function ka(g){var A=function(){if("undefined"==typeof Reflect||!$n)return!1;if($n.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call($n(Date,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,C=xr(g);if(A){var I=xr(this).constructor;t=$n(C,arguments,I)}else t=C.apply(this,arguments);return wr(this,t)}}var xa=function(g){mr(t,g);var A=ka(t);function t(g,C,I){return Tn(this,t),A.call(this,g,C,I)}return Rn(t,[{key:"draw",value:function(g,A,t,C,I,e){this._drawShape(g,"hexagon",4,A,t,C,I,e)}},{key:"distanceToBorder",value:function(g,A){return this._distanceToBorder(g,A)}}]),t}(oa);function Oa(g){var A=function(){if("undefined"==typeof Reflect||!$n)return!1;if($n.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call($n(Date,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,C=xr(g);if(A){var I=xr(this).constructor;t=$n(C,arguments,I)}else t=C.apply(this,arguments);return wr(this,t)}}var Ea=function(g){mr(t,g);var A=Oa(t);function t(g,C,I){return Tn(this,t),A.call(this,g,C,I)}return Rn(t,[{key:"draw",value:function(g,A,t,C,I,e){this._drawShape(g,"star",4,A,t,C,I,e)}},{key:"distanceToBorder",value:function(g,A){return this._distanceToBorder(g,A)}}]),t}(oa);function Ta(g){var A=function(){if("undefined"==typeof Reflect||!$n)return!1;if($n.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call($n(Date,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,C=xr(g);if(A){var I=xr(this).constructor;t=$n(C,arguments,I)}else t=C.apply(this,arguments);return wr(this,t)}}var Da=function(g){mr(t,g);var A=Ta(t);function t(g,C,I){var e;return Tn(this,t),(e=A.call(this,g,C,I))._setMargins(I),e}return Rn(t,[{key:"resize",value:function(g,A,t){this.needsRefresh(A,t)&&(this.textSize=this.labelModule.getTextSize(g,A,t),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(g,A,t,C,I,e){this.resize(g,C,I),this.left=A-this.width/2,this.top=t-this.height/2,this.enableShadow(g,e),this.labelModule.draw(g,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,C,I),this.disableShadow(g,e),this.updateBoundingBox(A,t,g,C,I)}},{key:"distanceToBorder",value:function(g,A){return this._distanceToBorder(g,A)}}]),t}(Xs);function Ra(g){var A=function(){if("undefined"==typeof Reflect||!$n)return!1;if($n.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call($n(Date,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,C=xr(g);if(A){var I=xr(this).constructor;t=$n(C,arguments,I)}else t=C.apply(this,arguments);return wr(this,t)}}var Na=function(g){mr(t,g);var A=Ra(t);function t(g,C,I){return Tn(this,t),A.call(this,g,C,I)}return Rn(t,[{key:"draw",value:function(g,A,t,C,I,e){this._drawShape(g,"triangle",3,A,t,C,I,e)}},{key:"distanceToBorder",value:function(g,A){return this._distanceToBorder(g,A)}}]),t}(oa);function Pa(g){var A=function(){if("undefined"==typeof Reflect||!$n)return!1;if($n.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call($n(Date,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,C=xr(g);if(A){var I=xr(this).constructor;t=$n(C,arguments,I)}else t=C.apply(this,arguments);return wr(this,t)}}var Ma,Sa=function(g){mr(t,g);var A=Pa(t);function t(g,C,I){return Tn(this,t),A.call(this,g,C,I)}return Rn(t,[{key:"draw",value:function(g,A,t,C,I,e){this._drawShape(g,"triangleDown",3,A,t,C,I,e)}},{key:"distanceToBorder",value:function(g,A){return this._distanceToBorder(g,A)}}]),t}(oa),za=!1,Ba="background: #FFeeee; color: #dd0000",Za=function(){function g(){Tn(this,g)}return Rn(g,null,[{key:"validate",value:function(A,t,C){za=!1,Ma=t;var I=t;return void 0!==C&&(I=t[C]),g.parse(A,I,[]),za}},{key:"parse",value:function(A,t,C){for(var I in A)Object.prototype.hasOwnProperty.call(A,I)&&g.check(I,A,t,C)}},{key:"check",value:function(A,t,C,I){if(void 0!==C[A]||void 0!==C.__any__){var e=A,i=!0;void 0===C[A]&&void 0!==C.__any__&&(e="__any__",i="object"===g.getType(t[A]));var o=C[e];i&&void 0!==o.__type__&&(o=o.__type__),g.checkFields(A,t,C,e,o,I)}else g.getSuggestion(A,C,I)}},{key:"checkFields",value:function(A,t,C,I,e,i){var o=function(t){console.log("%c"+t+g.printLocation(i,A),Ba)},n=g.getType(t[A]),r=e[n];void 0!==r?"array"===g.getType(r)&&-1===uI(r).call(r,t[A])?(o('Invalid option detected in "'+A+'". Allowed values are:'+g.print(r)+' not "'+t[A]+'". '),za=!0):"object"===n&&"__any__"!==I&&(i=Se(i,A),g.parse(t[A],C[I],i)):void 0===e.any&&(o('Invalid type received for "'+A+'". Expected: '+g.print(HI(e))+". Received ["+n+'] "'+t[A]+'"'),za=!0)}},{key:"getType",value:function(g){var A=Ae(g);return"object"===A?null===g?"null":g instanceof Boolean?"boolean":g instanceof Number?"number":g instanceof String?"string":qI(g)?"array":g instanceof Date?"date":void 0!==g.nodeType?"dom":!0===g._isAMomentObject?"moment":"object":"number"===A?"number":"boolean"===A?"boolean":"string"===A?"string":void 0===A?"undefined":A}},{key:"getSuggestion",value:function(A,t,C){var I,e=g.findInOptions(A,t,C,!1),i=g.findInOptions(A,Ma,[],!0);I=void 0!==e.indexMatch?" in "+g.printLocation(e.path,A,"")+'Perhaps it was incomplete? Did you mean: "'+e.indexMatch+'"?\n\n':i.distance<=4&&e.distance>i.distance?" in "+g.printLocation(e.path,A,"")+"Perhaps it was misplaced? Matching option found at: "+g.printLocation(i.path,i.closestMatch,""):e.distance<=8?'. Did you mean "'+e.closestMatch+'"?'+g.printLocation(e.path,A):". Did you mean one of these: "+g.print(HI(t))+g.printLocation(C,A),console.log('%cUnknown option detected: "'+A+'"'+I,Ba),za=!0}},{key:"findInOptions",value:function(A,t,C){var I=arguments.length>3&&void 0!==arguments[3]&&arguments[3],e=1e9,i="",o=[],n=A.toLowerCase(),r=void 0;for(var s in t){var a=void 0;if(void 0!==t[s].__type__&&!0===I){var d=g.findInOptions(A,t[s],Se(C,s));e>d.distance&&(i=d.closestMatch,o=d.path,e=d.distance,r=d.indexMatch)}else{var h;-1!==uI(h=s.toLowerCase()).call(h,n)&&(r=s),e>(a=g.levenshteinDistance(A,s))&&(i=s,o=ze(C),e=a)}}return{closestMatch:i,path:o,distance:e,indexMatch:r}}},{key:"printLocation",value:function(g,A){for(var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Problem value found at: \n",C="\n\n"+t+"options = {\n",I=0;I<g.length;I++){for(var e=0;e<I+1;e++)C+=" ";C+=g[I]+": {\n"}for(var i=0;i<g.length+1;i++)C+=" ";C+=A+"\n";for(var o=0;o<g.length+1;o++){for(var n=0;n<g.length-o;n++)C+=" ";C+="}\n"}return C+"\n\n"}},{key:"print",value:function(g){return sr(g).replace(/(\")|(\[)|(\])|(,"__type__")/g,"").replace(/(\,)/g,", ")}},{key:"levenshteinDistance",value:function(g,A){if(0===g.length)return A.length;if(0===A.length)return g.length;var t,C,I=[];for(t=0;t<=A.length;t++)I[t]=[t];for(C=0;C<=g.length;C++)I[0][C]=C;for(t=1;t<=A.length;t++)for(C=1;C<=g.length;C++)A.charAt(t-1)==g.charAt(C-1)?I[t][C]=I[t-1][C-1]:I[t][C]=Math.min(I[t-1][C-1]+1,Math.min(I[t][C-1]+1,I[t-1][C]+1));return I[A.length][g.length]}}]),g}();function Fa(g,A){var t=HI(g);if(kt){var C=kt(g);A&&(C=eI(C).call(C,(function(A){return Yg(g,A).enumerable}))),t.push.apply(t,C)}return t}function Ga(g){for(var A=1;A<arguments.length;A++){var t,C=null!=arguments[A]?arguments[A]:{};if(A%2)BC(t=Fa(Object(C),!0)).call(t,(function(A){uC(g,A,C[A])}));else if(Fg)Ng(g,Fg(C));else{var I;BC(I=Fa(Object(C))).call(I,(function(A){Dg(g,A,Yg(C,A))}))}}return g}var ja=function(){function g(A,t,C,I,e,i){Tn(this,g),this.options=Ke(e),this.globalOptions=e,this.defaultOptions=i,this.body=t,this.edges=[],this.id=void 0,this.imagelist=C,this.grouplist=I,this.x=void 0,this.y=void 0,this.baseSize=this.options.size,this.baseFontSize=this.options.font.size,this.predefinedPosition=!1,this.selected=!1,this.hover=!1,this.labelModule=new Hs(this.body,this.options,!1),this.setOptions(A)}return Rn(g,[{key:"attachEdge",value:function(g){var A;-1===uI(A=this.edges).call(A,g)&&this.edges.push(g)}},{key:"detachEdge",value:function(g){var A,t,C=uI(A=this.edges).call(A,g);-1!=C&&Ii(t=this.edges).call(t,C,1)}},{key:"setOptions",value:function(A){var t=this.options.shape;if(A){if(void 0!==A.color&&(this._localColor=A.color),void 0!==A.id&&(this.id=A.id),void 0===this.id)throw new Error("Node must have an id");g.checkMass(A,this.id),void 0!==A.x&&(null===A.x?(this.x=void 0,this.predefinedPosition=!1):(this.x=LC(A.x),this.predefinedPosition=!0)),void 0!==A.y&&(null===A.y?(this.y=void 0,this.predefinedPosition=!1):(this.y=LC(A.y),this.predefinedPosition=!0)),void 0!==A.size&&(this.baseSize=A.size),void 0!==A.value&&(A.value=zs(A.value)),g.parseOptions(this.options,A,!0,this.globalOptions,this.grouplist);var C=[A,this.options,this.defaultOptions];return this.chooser=Bs("node",C),this._load_images(),this.updateLabelModule(A),void 0!==A.opacity&&g.checkOpacity(A.opacity)&&(this.options.opacity=A.opacity),this.updateShape(t),void 0!==A.hidden||void 0!==A.physics}}},{key:"_load_images",value:function(){if(("circularImage"===this.options.shape||"image"===this.options.shape)&&void 0===this.options.image)throw new Error("Option image must be defined for node type '"+this.options.shape+"'");if(void 0!==this.options.image){if(void 0===this.imagelist)throw new Error("Internal Error: No images provided");if("string"==typeof this.options.image)this.imageObj=this.imagelist.load(this.options.image,this.options.brokenImage,this.id);else{if(void 0===this.options.image.unselected)throw new Error("No unselected image provided");this.imageObj=this.imagelist.load(this.options.image.unselected,this.options.brokenImage,this.id),void 0!==this.options.image.selected?this.imageObjAlt=this.imagelist.load(this.options.image.selected,this.options.brokenImage,this.id):this.imageObjAlt=void 0}}}},{key:"getFormattingValues",value:function(){var g={color:this.options.color.background,opacity:this.options.opacity,borderWidth:this.options.borderWidth,borderColor:this.options.color.border,size:this.options.size,borderDashes:this.options.shapeProperties.borderDashes,borderRadius:this.options.shapeProperties.borderRadius,shadow:this.options.shadow.enabled,shadowColor:this.options.shadow.color,shadowSize:this.options.shadow.size,shadowX:this.options.shadow.x,shadowY:this.options.shadow.y};if(this.selected||this.hover?!0===this.chooser?this.selected?(g.borderWidth*=2,g.color=this.options.color.highlight.background,g.borderColor=this.options.color.highlight.border,g.shadow=this.options.shadow.enabled):this.hover&&(g.color=this.options.color.hover.background,g.borderColor=this.options.color.hover.border,g.shadow=this.options.shadow.enabled):"function"==typeof this.chooser&&(this.chooser(g,this.options.id,this.selected,this.hover),!1===g.shadow&&(g.shadowColor===this.options.shadow.color&&g.shadowSize===this.options.shadow.size&&g.shadowX===this.options.shadow.x&&g.shadowY===this.options.shadow.y||(g.shadow=!0))):g.shadow=this.options.shadow.enabled,void 0!==this.options.opacity){var A=this.options.opacity;g.borderColor=Ge(g.borderColor,A),g.color=Ge(g.color,A),g.shadowColor=Ge(g.shadowColor,A)}return g}},{key:"updateLabelModule",value:function(A){void 0!==this.options.label&&null!==this.options.label||(this.options.label=""),g.updateGroupOptions(this.options,Ga(Ga({},A),{},{color:A&&A.color||this._localColor||void 0}),this.grouplist);var t=this.grouplist.get(this.options.group,!1),C=[A,this.options,t,this.globalOptions,this.defaultOptions];this.labelModule.update(this.options,C),void 0!==this.labelModule.baseSize&&(this.baseFontSize=this.labelModule.baseSize)}},{key:"updateShape",value:function(g){if(g===this.options.shape&&this.shape)this.shape.setOptions(this.options,this.imageObj,this.imageObjAlt);else switch(this.options.shape){case"box":this.shape=new Js(this.options,this.body,this.labelModule);break;case"circle":this.shape=new Aa(this.options,this.body,this.labelModule);break;case"circularImage":this.shape=new Ca(this.options,this.body,this.labelModule,this.imageObj,this.imageObjAlt);break;case"custom":this.shape=new ra(this.options,this.body,this.labelModule,this.options.ctxRenderer);break;case"database":this.shape=new aa(this.options,this.body,this.labelModule);break;case"diamond":this.shape=new ha(this.options,this.body,this.labelModule);break;case"dot":this.shape=new ca(this.options,this.body,this.labelModule);break;case"ellipse":this.shape=new pa(this.options,this.body,this.labelModule);break;case"icon":this.shape=new fa(this.options,this.body,this.labelModule);break;case"image":this.shape=new ba(this.options,this.body,this.labelModule,this.imageObj,this.imageObjAlt);break;case"square":this.shape=new wa(this.options,this.body,this.labelModule);break;case"hexagon":this.shape=new xa(this.options,this.body,this.labelModule);break;case"star":this.shape=new Ea(this.options,this.body,this.labelModule);break;case"text":this.shape=new Da(this.options,this.body,this.labelModule);break;case"triangle":this.shape=new Na(this.options,this.body,this.labelModule);break;case"triangleDown":this.shape=new Sa(this.options,this.body,this.labelModule);break;default:this.shape=new pa(this.options,this.body,this.labelModule)}this.needsRefresh()}},{key:"select",value:function(){this.selected=!0,this.needsRefresh()}},{key:"unselect",value:function(){this.selected=!1,this.needsRefresh()}},{key:"needsRefresh",value:function(){this.shape.refreshNeeded=!0}},{key:"getTitle",value:function(){return this.options.title}},{key:"distanceToBorder",value:function(g,A){return this.shape.distanceToBorder(g,A)}},{key:"isFixed",value:function(){return this.options.fixed.x&&this.options.fixed.y}},{key:"isSelected",value:function(){return this.selected}},{key:"getValue",value:function(){return this.options.value}},{key:"getLabelSize",value:function(){return this.labelModule.size()}},{key:"setValueRange",value:function(g,A,t){if(void 0!==this.options.value){var C=this.options.scaling.customScalingFunction(g,A,t,this.options.value),I=this.options.scaling.max-this.options.scaling.min;if(!0===this.options.scaling.label.enabled){var e=this.options.scaling.label.max-this.options.scaling.label.min;this.options.font.size=this.options.scaling.label.min+C*e}this.options.size=this.options.scaling.min+C*I}else this.options.size=this.baseSize,this.options.font.size=this.baseFontSize;this.updateLabelModule()}},{key:"draw",value:function(g){var A=this.getFormattingValues();this.shape.draw(g,this.x,this.y,this.selected,this.hover,A)}},{key:"updateBoundingBox",value:function(g){this.shape.updateBoundingBox(this.x,this.y,g)}},{key:"resize",value:function(g){var A=this.getFormattingValues();this.shape.resize(g,this.selected,this.hover,A)}},{key:"getItemsOnPoint",value:function(g){var A=[];return this.labelModule.visible()&&Zs(this.labelModule.getSize(),g)&&A.push({nodeId:this.id,labelId:0}),Zs(this.shape.boundingBox,g)&&A.push({nodeId:this.id}),A}},{key:"isOverlappingWith",value:function(g){return this.shape.left<g.right&&this.shape.left+this.shape.width>g.left&&this.shape.top<g.bottom&&this.shape.top+this.shape.height>g.top}},{key:"isBoundingBoxOverlappingWith",value:function(g){return this.shape.boundingBox.left<g.right&&this.shape.boundingBox.right>g.left&&this.shape.boundingBox.top<g.bottom&&this.shape.boundingBox.bottom>g.top}}],[{key:"checkOpacity",value:function(g){return 0<=g&&g<=1}},{key:"checkCoordinateOrigin",value:function(g){return void 0===g||"center"===g||"top-left"===g}},{key:"updateGroupOptions",value:function(A,t,C){var I;if(void 0!==C){var e=A.group;if(void 0!==t&&void 0!==t.group&&e!==t.group)throw new Error("updateGroupOptions: group values in options don't match.");if("number"==typeof e||"string"==typeof e&&""!=e){var i=C.get(e);void 0!==i.opacity&&void 0===t.opacity&&(g.checkOpacity(i.opacity)||(console.error("Invalid option for node opacity. Value must be between 0 and 1, found: "+i.opacity),i.opacity=void 0));var o=eI(I=Ns(t)).call(I,(function(g){return null!=t[g]}));o.push("font"),Pe(o,A,i),A.color=Le(A.color)}}}},{key:"parseOptions",value:function(A,t){var C=arguments.length>2&&void 0!==arguments[2]&&arguments[2],I=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},e=arguments.length>4?arguments[4]:void 0,i=["color","fixed","shadow"];if(Pe(i,A,t,C),g.checkMass(t),void 0!==A.opacity&&(g.checkOpacity(A.opacity)||(console.error("Invalid option for node opacity. Value must be between 0 and 1, found: "+A.opacity),A.opacity=void 0)),void 0!==t.opacity&&(g.checkOpacity(t.opacity)||(console.error("Invalid option for node opacity. Value must be between 0 and 1, found: "+t.opacity),t.opacity=void 0)),t.shapeProperties&&!g.checkCoordinateOrigin(t.shapeProperties.coordinateOrigin)&&console.error("Invalid option for node coordinateOrigin, found: "+t.shapeProperties.coordinateOrigin),Xe(A,t,"shadow",I),void 0!==t.color&&null!==t.color){var o=Le(t.color);Re(A.color,o)}else!0===C&&null===t.color&&(A.color=Ke(I.color));void 0!==t.fixed&&null!==t.fixed&&("boolean"==typeof t.fixed?(A.fixed.x=t.fixed,A.fixed.y=t.fixed):(void 0!==t.fixed.x&&"boolean"==typeof t.fixed.x&&(A.fixed.x=t.fixed.x),void 0!==t.fixed.y&&"boolean"==typeof t.fixed.y&&(A.fixed.y=t.fixed.y))),!0===C&&null===t.font&&(A.font=Ke(I.font)),g.updateGroupOptions(A,t,e),void 0!==t.scaling&&Xe(A.scaling,t.scaling,"label",I.scaling)}},{key:"checkMass",value:function(g,A){if(void 0!==g.mass&&g.mass<=0){var t="";void 0!==A&&(t=" in node id: "+A),console.log("%cNegative or zero mass disallowed"+t+", setting mass to 1.",Ba),g.mass=1}}}]),g}();function La(g,A){var t;if(void 0===ae||null==$t(g)){if(qI(g)||(t=function(g,A){var t;if(!g)return;if("string"==typeof g)return Va(g,A);var C=Ce(t=Object.prototype.toString.call(g)).call(t,8,-1);"Object"===C&&g.constructor&&(C=g.constructor.name);if("Map"===C||"Set"===C)return sC(g);if("Arguments"===C||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(C))return Va(g,A)}(g))||A&&g&&"number"==typeof g.length){t&&(g=t);var C=0,I=function(){};return{s:I,n:function(){return C>=g.length?{done:!0}:{done:!1,value:g[C++]}},e:function(g){throw g},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 e,i=!0,o=!1;return{s:function(){t=qt(g)},n:function(){var g=t.next();return i=g.done,g},e:function(g){o=!0,e=g},f:function(){try{i||null==t.return||t.return()}finally{if(o)throw e}}}}function Va(g,A){(null==A||A>g.length)&&(A=g.length);for(var t=0,C=new Array(A);t<A;t++)C[t]=g[t];return C}var Ya=function(){function g(A,t,C,I){var e,i=this;if(Tn(this,g),this.body=A,this.images=t,this.groups=C,this.layoutEngine=I,this.body.functions.createNode=$(e=this.create).call(e,this),this.nodesListeners={add:function(g,A){i.add(A.items)},update:function(g,A){i.update(A.items,A.data,A.oldData)},remove:function(g,A){i.remove(A.items)}},this.defaultOptions={borderWidth:1,borderWidthSelected:2,brokenImage:void 0,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},opacity:void 0,fixed:{x:!1,y:!1},font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:0,strokeColor:"#ffffff",align:"center",vadjust:0,multi:!1,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"monospace",vadjust:2}},group:void 0,hidden:!1,icon:{face:"FontAwesome",code:void 0,size:50,color:"#2B7CE9"},image:void 0,imagePadding:{top:0,right:0,bottom:0,left:0},label:void 0,labelHighlightBold:!0,level:void 0,margin:{top:5,right:5,bottom:5,left:5},mass:1,physics:!0,scaling:{min:10,max:30,label:{enabled:!1,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(g,A,t,C){if(A===g)return.5;var I=1/(A-g);return Math.max(0,(C-g)*I)}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},shape:"ellipse",shapeProperties:{borderDashes:!1,borderRadius:6,interpolation:!0,useImageSize:!1,useBorderWithImage:!1,coordinateOrigin:"center"},size:25,title:void 0,value:void 0,x:void 0,y:void 0},this.defaultOptions.mass<=0)throw"Internal error: mass in defaultOptions of NodesHandler may not be zero or negative";this.options=Ke(this.defaultOptions),this.bindEventListeners()}return Rn(g,[{key:"bindEventListeners",value:function(){var g,A,t=this;this.body.emitter.on("refreshNodes",$(g=this.refresh).call(g,this)),this.body.emitter.on("refresh",$(A=this.refresh).call(A,this)),this.body.emitter.on("destroy",(function(){Ze(t.nodesListeners,(function(g,A){t.body.data.nodes&&t.body.data.nodes.off(A,g)})),delete t.body.functions.createNode,delete t.nodesListeners.add,delete t.nodesListeners.update,delete t.nodesListeners.remove,delete t.nodesListeners}))}},{key:"setOptions",value:function(g){if(void 0!==g){if(ja.parseOptions(this.options,g),void 0!==g.opacity&&(Un(g.opacity)||!Qn(g.opacity)||g.opacity<0||g.opacity>1?console.error("Invalid option for node opacity. Value must be between 0 and 1, found: "+g.opacity):this.options.opacity=g.opacity),void 0!==g.shape)for(var A in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,A)&&this.body.nodes[A].updateShape();if(void 0!==g.font||void 0!==g.widthConstraint||void 0!==g.heightConstraint)for(var t=0,C=HI(this.body.nodes);t<C.length;t++){var I=C[t];this.body.nodes[I].updateLabelModule(),this.body.nodes[I].needsRefresh()}if(void 0!==g.size)for(var e in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,e)&&this.body.nodes[e].needsRefresh();void 0===g.hidden&&void 0===g.physics||this.body.emitter.emit("_dataChanged")}}},{key:"setData",value:function(g){var A=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=this.body.data.nodes;if(g instanceof Os||g instanceof Es)this.body.data.nodes=g;else if(qI(g))this.body.data.nodes=new Os,this.body.data.nodes.add(g);else{if(g)throw new TypeError("Array or DataSet expected");this.body.data.nodes=new Os}if(t&&Ze(this.nodesListeners,(function(g,A){t.off(A,g)})),this.body.nodes={},this.body.data.nodes){var C=this;Ze(this.nodesListeners,(function(g,A){C.body.data.nodes.on(A,g)}));var I=this.body.data.nodes.getIds();this.add(I,!0)}!1===A&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(g){for(var A,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],C=[],I=0;I<g.length;I++){A=g[I];var e=this.body.data.nodes.get(A),i=this.create(e);C.push(i),this.body.nodes[A]=i}this.layoutEngine.positionInitially(C),!1===t&&this.body.emitter.emit("_dataChanged")}},{key:"update",value:function(g,A,t){for(var C=this.body.nodes,I=!1,e=0;e<g.length;e++){var i=g[e],o=C[i],n=A[e];void 0!==o?o.setOptions(n)&&(I=!0):(I=!0,o=this.create(n),C[i]=o)}I||void 0===t||(I=Yn(A).call(A,(function(g,A){var C=t[A];return C&&C.level!==g.level}))),!0===I?this.body.emitter.emit("_dataChanged"):this.body.emitter.emit("_dataUpdated")}},{key:"remove",value:function(g){for(var A=this.body.nodes,t=0;t<g.length;t++){delete A[g[t]]}this.body.emitter.emit("_dataChanged")}},{key:"create",value:function(g){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ja;return new A(g,this.body,this.images,this.groups,this.options,this.defaultOptions)}},{key:"refresh",value:function(){var g=this,A=arguments.length>0&&void 0!==arguments[0]&&arguments[0];Ze(this.body.nodes,(function(t,C){var I=g.body.data.nodes.get(C);void 0!==I&&(!0===A&&t.setOptions({x:null,y:null}),t.setOptions({fixed:!1}),t.setOptions(I))}))}},{key:"getPositions",value:function(g){var A={};if(void 0!==g){if(!0===qI(g)){for(var t=0;t<g.length;t++)if(void 0!==this.body.nodes[g[t]]){var C=this.body.nodes[g[t]];A[g[t]]={x:Math.round(C.x),y:Math.round(C.y)}}}else if(void 0!==this.body.nodes[g]){var I=this.body.nodes[g];A[g]={x:Math.round(I.x),y:Math.round(I.y)}}}else for(var e=0;e<this.body.nodeIndices.length;e++){var i=this.body.nodes[this.body.nodeIndices[e]];A[this.body.nodeIndices[e]]={x:Math.round(i.x),y:Math.round(i.y)}}return A}},{key:"getPosition",value:function(g){if(null==g)throw new TypeError("No id was specified for getPosition method.");if(null==this.body.nodes[g])throw new ReferenceError("NodeId provided for getPosition does not exist. Provided: ".concat(g));return{x:Math.round(this.body.nodes[g].x),y:Math.round(this.body.nodes[g].y)}}},{key:"storePositions",value:function(){var g,A=[],t=this.body.data.nodes.getDataSet(),C=La(t.get());try{for(C.s();!(g=C.n()).done;){var I=g.value,e=I.id,i=this.body.nodes[e],o=Math.round(i.x),n=Math.round(i.y);I.x===o&&I.y===n||A.push({id:e,x:o,y:n})}}catch(g){C.e(g)}finally{C.f()}t.update(A)}},{key:"getBoundingBox",value:function(g){if(void 0!==this.body.nodes[g])return this.body.nodes[g].shape.boundingBox}},{key:"getConnectedNodes",value:function(g,A){var t=[];if(void 0!==this.body.nodes[g])for(var C=this.body.nodes[g],I={},e=0;e<C.edges.length;e++){var i=C.edges[e];"to"!==A&&i.toId==C.id?void 0===I[i.fromId]&&(t.push(i.fromId),I[i.fromId]=!0):"from"!==A&&i.fromId==C.id&&void 0===I[i.toId]&&(t.push(i.toId),I[i.toId]=!0)}return t}},{key:"getConnectedEdges",value:function(g){var A=[];if(void 0!==this.body.nodes[g])for(var t=this.body.nodes[g],C=0;C<t.edges.length;C++)A.push(t.edges[C].id);else console.log("NodeId provided for getConnectedEdges does not exist. Provided: ",g);return A}},{key:"moveNode",value:function(g,A,t){var C=this;void 0!==this.body.nodes[g]?(this.body.nodes[g].x=Number(A),this.body.nodes[g].y=Number(t),Zn((function(){C.body.emitter.emit("startSimulation")}),0)):console.log("Node id supplied to moveNode does not exist. Provided: ",g)}}]),g}(),Wa=Vg;H({target:"Reflect",stat:!0},{get:function g(A,t){var C,I,e=arguments.length<3?A:arguments[2];return G(A)===e?A[t]:(C=T.f(A,t))?m(C,"value")?C.value:void 0===C.get?void 0:C.get.call(e):f(I=Dt(A))?g(I,t,e):void 0}});var Ha=B.Reflect.get;var Qa=function(g,A){for(;!Object.prototype.hasOwnProperty.call(g,A)&&null!==(g=xr(g)););return g},Ua=I((function(g){function A(t,C,I){return"undefined"!=typeof Reflect&&Ha?g.exports=A=Ha:g.exports=A=function(g,A,t){var C=Qa(g,A);if(C){var I=Wa(C,A);return I.get?I.get.call(t):I.value}},A(t,C,I||t)}g.exports=A})),Ka=Math.hypot,Xa=Math.abs,_a=Math.sqrt,Ja=!!Ka&&Ka(1/0,NaN)!==1/0;H({target:"Math",stat:!0,forced:Ja},{hypot:function(g,A){for(var t,C,I=0,e=0,i=arguments.length,o=0;e<i;)o<(t=Xa(arguments[e++]))?(I=I*(C=o/t)*C+1,o=t):I+=t>0?(C=t/o)*C:t;return o===1/0?1/0:o*_a(I)}});var qa=B.Math.hypot;function $a(g){var A=function(){if("undefined"==typeof Reflect||!$n)return!1;if($n.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call($n(Date,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,C=xr(g);if(A){var I=xr(this).constructor;t=$n(C,arguments,I)}else t=C.apply(this,arguments);return wr(this,t)}}var gd=function(){function g(){Tn(this,g)}return Rn(g,null,[{key:"transform",value:function(g,A){qI(g)||(g=[g]);for(var t=A.point.x,C=A.point.y,I=A.angle,e=A.length,i=0;i<g.length;++i){var o=g[i],n=o.x*Math.cos(I)-o.y*Math.sin(I),r=o.x*Math.sin(I)+o.y*Math.cos(I);o.x=t+e*n,o.y=C+e*r}}},{key:"drawPath",value:function(g,A){g.beginPath(),g.moveTo(A[0].x,A[0].y);for(var t=1;t<A.length;++t)g.lineTo(A[t].x,A[t].y);g.closePath()}}]),g}(),Ad=function(g){mr(t,g);var A=$a(t);function t(){return Tn(this,t),A.apply(this,arguments)}return Rn(t,null,[{key:"draw",value:function(g,A){if(A.image){g.save(),g.translate(A.point.x,A.point.y),g.rotate(Math.PI/2+A.angle);var t=null!=A.imageWidth?A.imageWidth:A.image.width,C=null!=A.imageHeight?A.imageHeight:A.image.height;A.image.drawImageAtPosition(g,1,-t/2,0,t,C),g.restore()}return!1}}]),t}(gd),td=function(g){mr(t,g);var A=$a(t);function t(){return Tn(this,t),A.apply(this,arguments)}return Rn(t,null,[{key:"draw",value:function(g,A){var t=[{x:0,y:0},{x:-1,y:.3},{x:-.9,y:0},{x:-1,y:-.3}];return gd.transform(t,A),gd.drawPath(g,t),!0}}]),t}(gd),Cd=function(){function g(){Tn(this,g)}return Rn(g,null,[{key:"draw",value:function(g,A){var t=[{x:-1,y:0},{x:0,y:.3},{x:-.4,y:0},{x:0,y:-.3}];return gd.transform(t,A),gd.drawPath(g,t),!0}}]),g}(),Id=function(){function g(){Tn(this,g)}return Rn(g,null,[{key:"draw",value:function(g,A){var t={x:-.4,y:0};gd.transform(t,A),g.strokeStyle=g.fillStyle,g.fillStyle="rgba(0, 0, 0, 0)";var C=Math.PI,I=A.angle-C/2,e=A.angle+C/2;return g.beginPath(),g.arc(t.x,t.y,.4*A.length,I,e,!1),g.stroke(),!0}}]),g}(),ed=function(){function g(){Tn(this,g)}return Rn(g,null,[{key:"draw",value:function(g,A){var t={x:-.3,y:0};gd.transform(t,A),g.strokeStyle=g.fillStyle,g.fillStyle="rgba(0, 0, 0, 0)";var C=Math.PI,I=A.angle+C/2,e=A.angle+3*C/2;return g.beginPath(),g.arc(t.x,t.y,.4*A.length,I,e,!1),g.stroke(),!0}}]),g}(),id=function(){function g(){Tn(this,g)}return Rn(g,null,[{key:"draw",value:function(g,A){var t=[{x:.02,y:0},{x:-1,y:.3},{x:-1,y:-.3}];return gd.transform(t,A),gd.drawPath(g,t),!0}}]),g}(),od=function(){function g(){Tn(this,g)}return Rn(g,null,[{key:"draw",value:function(g,A){var t=[{x:0,y:.3},{x:0,y:-.3},{x:-1,y:0}];return gd.transform(t,A),gd.drawPath(g,t),!0}}]),g}(),nd=function(){function g(){Tn(this,g)}return Rn(g,null,[{key:"draw",value:function(g,A){var t={x:-.4,y:0};return gd.transform(t,A),bg(g,t.x,t.y,.4*A.length),!0}}]),g}(),rd=function(){function g(){Tn(this,g)}return Rn(g,null,[{key:"draw",value:function(g,A){var t=[{x:0,y:.5},{x:0,y:-.5},{x:-.15,y:-.5},{x:-.15,y:.5}];return gd.transform(t,A),gd.drawPath(g,t),!0}}]),g}(),sd=function(){function g(){Tn(this,g)}return Rn(g,null,[{key:"draw",value:function(g,A){var t=[{x:0,y:.3},{x:0,y:-.3},{x:-.6,y:-.3},{x:-.6,y:.3}];return gd.transform(t,A),gd.drawPath(g,t),!0}}]),g}(),ad=function(){function g(){Tn(this,g)}return Rn(g,null,[{key:"draw",value:function(g,A){var t=[{x:0,y:0},{x:-.5,y:-.3},{x:-1,y:0},{x:-.5,y:.3}];return gd.transform(t,A),gd.drawPath(g,t),!0}}]),g}(),dd=function(){function g(){Tn(this,g)}return Rn(g,null,[{key:"draw",value:function(g,A){var t=[{x:-1,y:.3},{x:-.5,y:0},{x:-1,y:-.3},{x:0,y:0}];return gd.transform(t,A),gd.drawPath(g,t),!0}}]),g}(),hd=function(){function g(){Tn(this,g)}return Rn(g,null,[{key:"draw",value:function(g,A){var t;switch(A.type&&(t=A.type.toLowerCase()),t){case"image":return Ad.draw(g,A);case"circle":return nd.draw(g,A);case"box":return sd.draw(g,A);case"crow":return Cd.draw(g,A);case"curve":return Id.draw(g,A);case"diamond":return ad.draw(g,A);case"inv_curve":return ed.draw(g,A);case"triangle":return id.draw(g,A);case"inv_triangle":return od.draw(g,A);case"bar":return rd.draw(g,A);case"vee":return dd.draw(g,A);case"arrow":default:return td.draw(g,A)}}}]),g}();function ld(g,A){var t=HI(g);if(kt){var C=kt(g);A&&(C=eI(C).call(C,(function(A){return Yg(g,A).enumerable}))),t.push.apply(t,C)}return t}function cd(g){for(var A=1;A<arguments.length;A++){var t,C=null!=arguments[A]?arguments[A]:{};if(A%2)BC(t=ld(Object(C),!0)).call(t,(function(A){uC(g,A,C[A])}));else if(Fg)Ng(g,Fg(C));else{var I;BC(I=ld(Object(C))).call(I,(function(A){Dg(g,A,Yg(C,A))}))}}return g}var ud=function(){function g(A,t,C){Tn(this,g),this._body=t,this._labelModule=C,this.color={},this.colorDirty=!0,this.hoverWidth=1.5,this.selectionWidth=2,this.setOptions(A),this.fromPoint=this.from,this.toPoint=this.to}return Rn(g,[{key:"connect",value:function(){this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to]}},{key:"cleanup",value:function(){return!1}},{key:"setOptions",value:function(g){this.options=g,this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to],this.id=this.options.id}},{key:"drawLine",value:function(g,A,t,C){var I=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.getViaNode();g.strokeStyle=this.getColor(g,A),g.lineWidth=A.width,!1!==A.dashes?this._drawDashedLine(g,A,I):this._drawLine(g,A,I)}},{key:"_drawLine",value:function(g,A,t,C,I){if(this.from!=this.to)this._line(g,A,t,C,I);else{var e=this._getCircleData(g),i=VI(e,3),o=i[0],n=i[1],r=i[2];this._circle(g,A,o,n,r)}}},{key:"_drawDashedLine",value:function(g,A,t,C,I){g.lineCap="round";var e=qI(A.dashes)?A.dashes:[5,5];if(void 0!==g.setLineDash){if(g.save(),g.setLineDash(e),g.lineDashOffset=0,this.from!=this.to)this._line(g,A,t);else{var i=this._getCircleData(g),o=VI(i,3),n=o[0],r=o[1],s=o[2];this._circle(g,A,n,r,s)}g.setLineDash([0]),g.lineDashOffset=0,g.restore()}else{if(this.from!=this.to)xg(g,this.from.x,this.from.y,this.to.x,this.to.y,e);else{var a=this._getCircleData(g),d=VI(a,3),h=d[0],l=d[1],c=d[2];this._circle(g,A,h,l,c)}this.enableShadow(g,A),g.stroke(),this.disableShadow(g,A)}}},{key:"findBorderPosition",value:function(g,A,t){return this.from!=this.to?this._findBorderPosition(g,A,t):this._findBorderPositionCircle(g,A,t)}},{key:"findBorderPositions",value:function(g){if(this.from!=this.to)return{from:this._findBorderPosition(this.from,g),to:this._findBorderPosition(this.to,g)};var A,t=Ce(A=this._getCircleData(g)).call(A,0,2),C=VI(t,2),I=C[0],e=C[1];return{from:this._findBorderPositionCircle(this.from,g,{x:I,y:e,low:.25,high:.6,direction:-1}),to:this._findBorderPositionCircle(this.from,g,{x:I,y:e,low:.6,high:.8,direction:1})}}},{key:"_getCircleData",value:function(g){var A=this.options.selfReference.size;void 0!==g&&void 0===this.from.shape.width&&this.from.shape.resize(g);var t=Gs(g,this.options.selfReference.angle,A,this.from);return[t.x,t.y,A]}},{key:"_pointOnCircle",value:function(g,A,t,C){var I=2*C*Math.PI;return{x:g+t*Math.cos(I),y:A-t*Math.sin(I)}}},{key:"_findBorderPositionCircle",value:function(g,A,t){var C,I=t.x,e=t.y,i=t.low,o=t.high,n=t.direction,r=this.options.selfReference.size,s=.5*(i+o),a=0;!0===this.options.arrowStrikethrough&&(-1===n?a=this.options.endPointOffset.from:1===n&&(a=this.options.endPointOffset.to));var d=0;do{s=.5*(i+o),C=this._pointOnCircle(I,e,r,s);var h=Math.atan2(g.y-C.y,g.x-C.x),l=g.distanceToBorder(A,h)+a-Math.sqrt(Math.pow(C.x-g.x,2)+Math.pow(C.y-g.y,2));if(Math.abs(l)<.05)break;l>0?n>0?i=s:o=s:n>0?o=s:i=s,++d}while(i<=o&&d<10);return cd(cd({},C),{},{t:s})}},{key:"getLineWidth",value:function(g,A){return!0===g?Math.max(this.selectionWidth,.3/this._body.view.scale):!0===A?Math.max(this.hoverWidth,.3/this._body.view.scale):Math.max(this.options.width,.3/this._body.view.scale)}},{key:"getColor",value:function(g,A){if(!1!==A.inheritsColor){if("both"===A.inheritsColor&&this.from.id!==this.to.id){var t=g.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y),C=this.from.options.color.highlight.border,I=this.to.options.color.highlight.border;return!1===this.from.selected&&!1===this.to.selected?(C=Ge(this.from.options.color.border,A.opacity),I=Ge(this.to.options.color.border,A.opacity)):!0===this.from.selected&&!1===this.to.selected?I=this.to.options.color.border:!1===this.from.selected&&!0===this.to.selected&&(C=this.from.options.color.border),t.addColorStop(0,C),t.addColorStop(1,I),t}return"to"===A.inheritsColor?Ge(this.to.options.color.border,A.opacity):Ge(this.from.options.color.border,A.opacity)}return Ge(A.color,A.opacity)}},{key:"_circle",value:function(g,A,t,C,I){this.enableShadow(g,A);var e=0,i=2*Math.PI;if(!this.options.selfReference.renderBehindTheNode){var o=this.options.selfReference.angle,n=this.options.selfReference.angle+Math.PI,r=this._findBorderPositionCircle(this.from,g,{x:t,y:C,low:o,high:n,direction:-1}),s=this._findBorderPositionCircle(this.from,g,{x:t,y:C,low:o,high:n,direction:1});e=Math.atan2(r.y-C,r.x-t),i=Math.atan2(s.y-C,s.x-t)}g.beginPath(),g.arc(t,C,I,e,i,!1),g.stroke(),this.disableShadow(g,A)}},{key:"getDistanceToEdge",value:function(g,A,t,C,I,e){if(this.from!=this.to)return this._getDistanceToEdge(g,A,t,C,I,e);var i=this._getCircleData(void 0),o=VI(i,3),n=o[0],r=o[1],s=o[2],a=n-I,d=r-e;return Math.abs(Math.sqrt(a*a+d*d)-s)}},{key:"_getDistanceToLine",value:function(g,A,t,C,I,e){var i=t-g,o=C-A,n=((I-g)*i+(e-A)*o)/(i*i+o*o);n>1?n=1:n<0&&(n=0);var r=g+n*i-I,s=A+n*o-e;return Math.sqrt(r*r+s*s)}},{key:"getArrowData",value:function(g,A,t,C,I,e){var i,o,n,r,s,a,d,h=e.width;"from"===A?(n=this.from,r=this.to,s=e.fromArrowScale<0,a=Math.abs(e.fromArrowScale),d=e.fromArrowType):"to"===A?(n=this.to,r=this.from,s=e.toArrowScale<0,a=Math.abs(e.toArrowScale),d=e.toArrowType):(n=this.to,r=this.from,s=e.middleArrowScale<0,a=Math.abs(e.middleArrowScale),d=e.middleArrowType);var l=15*a+3*h;if(n!=r){var c=l/qa(n.x-r.x,n.y-r.y);if("middle"!==A)if(!0===this.options.smooth.enabled){var u=this._findBorderPosition(n,g,{via:t}),p=this.getPoint(u.t+c*("from"===A?1:-1),t);i=Math.atan2(u.y-p.y,u.x-p.x),o=u}else i=Math.atan2(n.y-r.y,n.x-r.x),o=this._findBorderPosition(n,g);else{var v=(s?-c:c)/2,f=this.getPoint(.5+v,t),y=this.getPoint(.5-v,t);i=Math.atan2(f.y-y.y,f.x-y.x),o=this.getPoint(.5,t)}}else{var b=this._getCircleData(g),m=VI(b,3),w=m[0],k=m[1],x=m[2];if("from"===A){var O=this.options.selfReference.angle,E=this.options.selfReference.angle+Math.PI,T=this._findBorderPositionCircle(this.from,g,{x:w,y:k,low:O,high:E,direction:-1});i=-2*T.t*Math.PI+1.5*Math.PI+.1*Math.PI,o=T}else if("to"===A){var D=this.options.selfReference.angle,R=this.options.selfReference.angle+Math.PI,N=this._findBorderPositionCircle(this.from,g,{x:w,y:k,low:D,high:R,direction:1});i=-2*N.t*Math.PI+1.5*Math.PI-1.1*Math.PI,o=N}else{var P=this.options.selfReference.angle/(2*Math.PI);o=this._pointOnCircle(w,k,x,P),i=-2*P*Math.PI+1.5*Math.PI+.1*Math.PI}}return{point:o,core:{x:o.x-.9*l*Math.cos(i),y:o.y-.9*l*Math.sin(i)},angle:i,length:l,type:d}}},{key:"drawArrowHead",value:function(g,A,t,C,I){g.strokeStyle=this.getColor(g,A),g.fillStyle=g.strokeStyle,g.lineWidth=A.width,hd.draw(g,I)&&(this.enableShadow(g,A),Ks(g).call(g),this.disableShadow(g,A))}},{key:"enableShadow",value:function(g,A){!0===A.shadow&&(g.shadowColor=A.shadowColor,g.shadowBlur=A.shadowSize,g.shadowOffsetX=A.shadowX,g.shadowOffsetY=A.shadowY)}},{key:"disableShadow",value:function(g,A){!0===A.shadow&&(g.shadowColor="rgba(0,0,0,0)",g.shadowBlur=0,g.shadowOffsetX=0,g.shadowOffsetY=0)}},{key:"drawBackground",value:function(g,A){if(!1!==A.background){var t={strokeStyle:g.strokeStyle,lineWidth:g.lineWidth,dashes:g.dashes};g.strokeStyle=A.backgroundColor,g.lineWidth=A.backgroundSize,this.setStrokeDashed(g,A.backgroundDashes),g.stroke(),g.strokeStyle=t.strokeStyle,g.lineWidth=t.lineWidth,g.dashes=t.dashes,this.setStrokeDashed(g,A.dashes)}}},{key:"setStrokeDashed",value:function(g,A){if(!1!==A)if(void 0!==g.setLineDash){var t=qI(A)?A:[5,5];g.setLineDash(t)}else console.warn("setLineDash is not supported in this browser. The dashed stroke cannot be used.");else void 0!==g.setLineDash?g.setLineDash([]):console.warn("setLineDash is not supported in this browser. The dashed stroke cannot be used.")}}]),g}();function pd(g,A){var t=HI(g);if(kt){var C=kt(g);A&&(C=eI(C).call(C,(function(A){return Yg(g,A).enumerable}))),t.push.apply(t,C)}return t}function vd(g){for(var A=1;A<arguments.length;A++){var t,C=null!=arguments[A]?arguments[A]:{};if(A%2)BC(t=pd(Object(C),!0)).call(t,(function(A){uC(g,A,C[A])}));else if(Fg)Ng(g,Fg(C));else{var I;BC(I=pd(Object(C))).call(I,(function(A){Dg(g,A,Yg(C,A))}))}}return g}function fd(g){var A=function(){if("undefined"==typeof Reflect||!$n)return!1;if($n.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call($n(Date,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,C=xr(g);if(A){var I=xr(this).constructor;t=$n(C,arguments,I)}else t=C.apply(this,arguments);return wr(this,t)}}var yd=function(g){mr(t,g);var A=fd(t);function t(g,C,I){return Tn(this,t),A.call(this,g,C,I)}return Rn(t,[{key:"_findBorderPositionBezier",value:function(g,A){var t,C,I=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this._getViaCoordinates(),e=10,i=.2,o=!1,n=1,r=0,s=this.to,a=this.options.endPointOffset?this.options.endPointOffset.to:0;g.id===this.from.id&&(s=this.from,o=!0,a=this.options.endPointOffset?this.options.endPointOffset.from:0),!1===this.options.arrowStrikethrough&&(a=0);var d=0;do{C=.5*(r+n),t=this.getPoint(C,I);var h=Math.atan2(s.y-t.y,s.x-t.x),l=s.distanceToBorder(A,h)+a,c=Math.sqrt(Math.pow(t.x-s.x,2)+Math.pow(t.y-s.y,2)),u=l-c;if(Math.abs(u)<i)break;u<0?!1===o?r=C:n=C:!1===o?n=C:r=C,++d}while(r<=n&&d<e);return vd(vd({},t),{},{t:C})}},{key:"_getDistanceToBezierEdge",value:function(g,A,t,C,I,e,i){var o,n,r,s,a,d=1e9,h=g,l=A;for(n=1;n<10;n++)r=.1*n,s=Math.pow(1-r,2)*g+2*r*(1-r)*i.x+Math.pow(r,2)*t,a=Math.pow(1-r,2)*A+2*r*(1-r)*i.y+Math.pow(r,2)*C,n>0&&(d=(o=this._getDistanceToLine(h,l,s,a,I,e))<d?o:d),h=s,l=a;return d}},{key:"_bezierCurve",value:function(g,A,t,C){g.beginPath(),g.moveTo(this.fromPoint.x,this.fromPoint.y),null!=t&&null!=t.x?null!=C&&null!=C.x?g.bezierCurveTo(t.x,t.y,C.x,C.y,this.toPoint.x,this.toPoint.y):g.quadraticCurveTo(t.x,t.y,this.toPoint.x,this.toPoint.y):g.lineTo(this.toPoint.x,this.toPoint.y),this.drawBackground(g,A),this.enableShadow(g,A),g.stroke(),this.disableShadow(g,A)}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}}]),t}(ud);function bd(g){var A=function(){if("undefined"==typeof Reflect||!$n)return!1;if($n.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call($n(Date,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,C=xr(g);if(A){var I=xr(this).constructor;t=$n(C,arguments,I)}else t=C.apply(this,arguments);return wr(this,t)}}var md=function(g){mr(t,g);var A=bd(t);function t(g,C,I){var e;return Tn(this,t),(e=A.call(this,g,C,I)).via=e.via,e._boundFunction=function(){e.positionBezierNode()},e._body.emitter.on("_repositionBezierNodes",e._boundFunction),e}return Rn(t,[{key:"setOptions",value:function(g){Ua(xr(t.prototype),"setOptions",this).call(this,g);var A=!1;this.options.physics!==g.physics&&(A=!0),this.options=g,this.id=this.options.id,this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to],this.setupSupportNode(),this.connect(),!0===A&&(this.via.setOptions({physics:this.options.physics}),this.positionBezierNode())}},{key:"connect",value:function(){this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to],void 0===this.from||void 0===this.to||!1===this.options.physics||this.from.id===this.to.id?this.via.setOptions({physics:!1}):this.via.setOptions({physics:!0})}},{key:"cleanup",value:function(){return this._body.emitter.off("_repositionBezierNodes",this._boundFunction),void 0!==this.via&&(delete this._body.nodes[this.via.id],this.via=void 0,!0)}},{key:"setupSupportNode",value:function(){if(void 0===this.via){var g="edgeId:"+this.id,A=this._body.functions.createNode({id:g,shape:"circle",physics:!0,hidden:!0});this._body.nodes[g]=A,this.via=A,this.via.parentEdgeId=this.id,this.positionBezierNode()}}},{key:"positionBezierNode",value:function(){void 0!==this.via&&void 0!==this.from&&void 0!==this.to?(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y)):void 0!==this.via&&(this.via.x=0,this.via.y=0)}},{key:"_line",value:function(g,A,t){this._bezierCurve(g,A,t)}},{key:"_getViaCoordinates",value:function(){return this.via}},{key:"getViaNode",value:function(){return this.via}},{key:"getPoint",value:function(g){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.via;if(this.from===this.to){var t=this._getCircleData(),C=VI(t,3),I=C[0],e=C[1],i=C[2],o=2*Math.PI*(1-g);return{x:I+i*Math.sin(o),y:e+i-i*(1-Math.cos(o))}}return{x:Math.pow(1-g,2)*this.fromPoint.x+2*g*(1-g)*A.x+Math.pow(g,2)*this.toPoint.x,y:Math.pow(1-g,2)*this.fromPoint.y+2*g*(1-g)*A.y+Math.pow(g,2)*this.toPoint.y}}},{key:"_findBorderPosition",value:function(g,A){return this._findBorderPositionBezier(g,A,this.via)}},{key:"_getDistanceToEdge",value:function(g,A,t,C,I,e){return this._getDistanceToBezierEdge(g,A,t,C,I,e,this.via)}}]),t}(yd);function wd(g){var A=function(){if("undefined"==typeof Reflect||!$n)return!1;if($n.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call($n(Date,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,C=xr(g);if(A){var I=xr(this).constructor;t=$n(C,arguments,I)}else t=C.apply(this,arguments);return wr(this,t)}}var kd=function(g){mr(t,g);var A=wd(t);function t(g,C,I){return Tn(this,t),A.call(this,g,C,I)}return Rn(t,[{key:"_line",value:function(g,A,t){this._bezierCurve(g,A,t)}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_getViaCoordinates",value:function(){var g,A,t=this.options.smooth.roundness,C=this.options.smooth.type,I=Math.abs(this.from.x-this.to.x),e=Math.abs(this.from.y-this.to.y);if("discrete"===C||"diagonalCross"===C){var i,o;i=o=I<=e?t*e:t*I,this.from.x>this.to.x&&(i=-i),this.from.y>=this.to.y&&(o=-o);var n=this.from.x+i,r=this.from.y+o;return"discrete"===C&&(I<=e?n=I<t*e?this.from.x:n:r=e<t*I?this.from.y:r),{x:n,y:r}}if("straightCross"===C){var s=(1-t)*I,a=(1-t)*e;return I<=e?(s=0,this.from.y<this.to.y&&(a=-a)):(this.from.x<this.to.x&&(s=-s),a=0),{x:this.to.x+s,y:this.to.y+a}}if("horizontal"===C){var d=(1-t)*I;return this.from.x<this.to.x&&(d=-d),{x:this.to.x+d,y:this.from.y}}if("vertical"===C){var h=(1-t)*e;return this.from.y<this.to.y&&(h=-h),{x:this.from.x,y:this.to.y+h}}if("curvedCW"===C){I=this.to.x-this.from.x,e=this.from.y-this.to.y;var l=Math.sqrt(I*I+e*e),c=Math.PI,u=(Math.atan2(e,I)+(.5*t+.5)*c)%(2*c);return{x:this.from.x+(.5*t+.5)*l*Math.sin(u),y:this.from.y+(.5*t+.5)*l*Math.cos(u)}}if("curvedCCW"===C){I=this.to.x-this.from.x,e=this.from.y-this.to.y;var p=Math.sqrt(I*I+e*e),v=Math.PI,f=(Math.atan2(e,I)+(.5*-t+.5)*v)%(2*v);return{x:this.from.x+(.5*t+.5)*p*Math.sin(f),y:this.from.y+(.5*t+.5)*p*Math.cos(f)}}g=A=I<=e?t*e:t*I,this.from.x>this.to.x&&(g=-g),this.from.y>=this.to.y&&(A=-A);var y=this.from.x+g,b=this.from.y+A;return I<=e?y=this.from.x<=this.to.x?this.to.x<y?this.to.x:y:this.to.x>y?this.to.x:y:b=this.from.y>=this.to.y?this.to.y>b?this.to.y:b:this.to.y<b?this.to.y:b,{x:y,y:b}}},{key:"_findBorderPosition",value:function(g,A){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._findBorderPositionBezier(g,A,t.via)}},{key:"_getDistanceToEdge",value:function(g,A,t,C,I,e){var i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates();return this._getDistanceToBezierEdge(g,A,t,C,I,e,i)}},{key:"getPoint",value:function(g){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),t=g,C=Math.pow(1-t,2)*this.fromPoint.x+2*t*(1-t)*A.x+Math.pow(t,2)*this.toPoint.x,I=Math.pow(1-t,2)*this.fromPoint.y+2*t*(1-t)*A.y+Math.pow(t,2)*this.toPoint.y;return{x:C,y:I}}}]),t}(yd);function xd(g){var A=function(){if("undefined"==typeof Reflect||!$n)return!1;if($n.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call($n(Date,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,C=xr(g);if(A){var I=xr(this).constructor;t=$n(C,arguments,I)}else t=C.apply(this,arguments);return wr(this,t)}}function Od(g){var A=function(){if("undefined"==typeof Reflect||!$n)return!1;if($n.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call($n(Date,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,C=xr(g);if(A){var I=xr(this).constructor;t=$n(C,arguments,I)}else t=C.apply(this,arguments);return wr(this,t)}}var Ed=function(g){mr(t,g);var A=Od(t);function t(g,C,I){return Tn(this,t),A.call(this,g,C,I)}return Rn(t,[{key:"_line",value:function(g,A,t){var C=t[0],I=t[1];this._bezierCurve(g,A,C,I)}},{key:"_getViaCoordinates",value:function(){var g,A,t,C,I=this.from.x-this.to.x,e=this.from.y-this.to.y,i=this.options.smooth.roundness;return(Math.abs(I)>Math.abs(e)||!0===this.options.smooth.forceDirection||"horizontal"===this.options.smooth.forceDirection)&&"vertical"!==this.options.smooth.forceDirection?(A=this.from.y,C=this.to.y,g=this.from.x-i*I,t=this.to.x+i*I):(A=this.from.y-i*e,C=this.to.y+i*e,g=this.from.x,t=this.to.x),[{x:g,y:A},{x:t,y:C}]}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_findBorderPosition",value:function(g,A){return this._findBorderPositionBezier(g,A)}},{key:"_getDistanceToEdge",value:function(g,A,t,C,I,e){var i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates(),o=VI(i,2),n=o[0],r=o[1];return this._getDistanceToBezierEdge2(g,A,t,C,I,e,n,r)}},{key:"getPoint",value:function(g){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),t=VI(A,2),C=t[0],I=t[1],e=g,i=[Math.pow(1-e,3),3*e*Math.pow(1-e,2),3*Math.pow(e,2)*(1-e),Math.pow(e,3)],o=i[0]*this.fromPoint.x+i[1]*C.x+i[2]*I.x+i[3]*this.toPoint.x,n=i[0]*this.fromPoint.y+i[1]*C.y+i[2]*I.y+i[3]*this.toPoint.y;return{x:o,y:n}}}]),t}(function(g){mr(t,g);var A=xd(t);function t(g,C,I){return Tn(this,t),A.call(this,g,C,I)}return Rn(t,[{key:"_getDistanceToBezierEdge2",value:function(g,A,t,C,I,e,i,o){for(var n=1e9,r=g,s=A,a=[0,0,0,0],d=1;d<10;d++){var h=.1*d;a[0]=Math.pow(1-h,3),a[1]=3*h*Math.pow(1-h,2),a[2]=3*Math.pow(h,2)*(1-h),a[3]=Math.pow(h,3);var l=a[0]*g+a[1]*i.x+a[2]*o.x+a[3]*t,c=a[0]*A+a[1]*i.y+a[2]*o.y+a[3]*C;if(d>0){var u=this._getDistanceToLine(r,s,l,c,I,e);n=u<n?u:n}r=l,s=c}return n}}]),t}(yd));function Td(g){var A=function(){if("undefined"==typeof Reflect||!$n)return!1;if($n.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call($n(Date,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,C=xr(g);if(A){var I=xr(this).constructor;t=$n(C,arguments,I)}else t=C.apply(this,arguments);return wr(this,t)}}var Dd=function(g){mr(t,g);var A=Td(t);function t(g,C,I){return Tn(this,t),A.call(this,g,C,I)}return Rn(t,[{key:"_line",value:function(g,A){g.beginPath(),g.moveTo(this.fromPoint.x,this.fromPoint.y),g.lineTo(this.toPoint.x,this.toPoint.y),this.enableShadow(g,A),g.stroke(),this.disableShadow(g,A)}},{key:"getViaNode",value:function(){}},{key:"getPoint",value:function(g){return{x:(1-g)*this.fromPoint.x+g*this.toPoint.x,y:(1-g)*this.fromPoint.y+g*this.toPoint.y}}},{key:"_findBorderPosition",value:function(g,A){var t=this.to,C=this.from;g.id===this.from.id&&(t=this.from,C=this.to);var I=Math.atan2(t.y-C.y,t.x-C.x),e=t.x-C.x,i=t.y-C.y,o=Math.sqrt(e*e+i*i),n=(o-g.distanceToBorder(A,I))/o;return{x:(1-n)*C.x+n*t.x,y:(1-n)*C.y+n*t.y,t:0}}},{key:"_getDistanceToEdge",value:function(g,A,t,C,I,e){return this._getDistanceToLine(g,A,t,C,I,e)}}]),t}(ud),Rd=function(){function g(A,t,C,I,e){if(Tn(this,g),void 0===t)throw new Error("No body provided");this.options=Ke(I),this.globalOptions=I,this.defaultOptions=e,this.body=t,this.imagelist=C,this.id=void 0,this.fromId=void 0,this.toId=void 0,this.selected=!1,this.hover=!1,this.labelDirty=!0,this.baseWidth=this.options.width,this.baseFontSize=this.options.font.size,this.from=void 0,this.to=void 0,this.edgeType=void 0,this.connected=!1,this.labelModule=new Hs(this.body,this.options,!0),this.setOptions(A)}return Rn(g,[{key:"setOptions",value:function(A){if(A){var t=void 0!==A.physics&&this.options.physics!==A.physics||void 0!==A.hidden&&(this.options.hidden||!1)!==(A.hidden||!1)||void 0!==A.from&&this.options.from!==A.from||void 0!==A.to&&this.options.to!==A.to;g.parseOptions(this.options,A,!0,this.globalOptions),void 0!==A.id&&(this.id=A.id),void 0!==A.from&&(this.fromId=A.from),void 0!==A.to&&(this.toId=A.to),void 0!==A.title&&(this.title=A.title),void 0!==A.value&&(A.value=zs(A.value));var C=[A,this.options,this.defaultOptions];return this.chooser=Bs("edge",C),this.updateLabelModule(A),t=this.updateEdgeType()||t,this._setInteractionWidths(),this.connect(),t}}},{key:"getFormattingValues",value:function(){var g=!0===this.options.arrows.to||!0===this.options.arrows.to.enabled,A=!0===this.options.arrows.from||!0===this.options.arrows.from.enabled,t=!0===this.options.arrows.middle||!0===this.options.arrows.middle.enabled,C=this.options.color.inherit,I={toArrow:g,toArrowScale:this.options.arrows.to.scaleFactor,toArrowType:this.options.arrows.to.type,toArrowSrc:this.options.arrows.to.src,toArrowImageWidth:this.options.arrows.to.imageWidth,toArrowImageHeight:this.options.arrows.to.imageHeight,middleArrow:t,middleArrowScale:this.options.arrows.middle.scaleFactor,middleArrowType:this.options.arrows.middle.type,middleArrowSrc:this.options.arrows.middle.src,middleArrowImageWidth:this.options.arrows.middle.imageWidth,middleArrowImageHeight:this.options.arrows.middle.imageHeight,fromArrow:A,fromArrowScale:this.options.arrows.from.scaleFactor,fromArrowType:this.options.arrows.from.type,fromArrowSrc:this.options.arrows.from.src,fromArrowImageWidth:this.options.arrows.from.imageWidth,fromArrowImageHeight:this.options.arrows.from.imageHeight,arrowStrikethrough:this.options.arrowStrikethrough,color:C?void 0:this.options.color.color,inheritsColor:C,opacity:this.options.color.opacity,hidden:this.options.hidden,length:this.options.length,shadow:this.options.shadow.enabled,shadowColor:this.options.shadow.color,shadowSize:this.options.shadow.size,shadowX:this.options.shadow.x,shadowY:this.options.shadow.y,dashes:this.options.dashes,width:this.options.width,background:this.options.background.enabled,backgroundColor:this.options.background.color,backgroundSize:this.options.background.size,backgroundDashes:this.options.background.dashes};if(this.selected||this.hover)if(!0===this.chooser){if(this.selected){var e=this.options.selectionWidth;"function"==typeof e?I.width=e(I.width):"number"==typeof e&&(I.width+=e),I.width=Math.max(I.width,.3/this.body.view.scale),I.color=this.options.color.highlight,I.shadow=this.options.shadow.enabled}else if(this.hover){var i=this.options.hoverWidth;"function"==typeof i?I.width=i(I.width):"number"==typeof i&&(I.width+=i),I.width=Math.max(I.width,.3/this.body.view.scale),I.color=this.options.color.hover,I.shadow=this.options.shadow.enabled}}else"function"==typeof this.chooser&&(this.chooser(I,this.options.id,this.selected,this.hover),void 0!==I.color&&(I.inheritsColor=!1),!1===I.shadow&&(I.shadowColor===this.options.shadow.color&&I.shadowSize===this.options.shadow.size&&I.shadowX===this.options.shadow.x&&I.shadowY===this.options.shadow.y||(I.shadow=!0)));else I.shadow=this.options.shadow.enabled,I.width=Math.max(I.width,.3/this.body.view.scale);return I}},{key:"updateLabelModule",value:function(g){var A=[g,this.options,this.globalOptions,this.defaultOptions];this.labelModule.update(this.options,A),void 0!==this.labelModule.baseSize&&(this.baseFontSize=this.labelModule.baseSize)}},{key:"updateEdgeType",value:function(){var g=this.options.smooth,A=!1,t=!0;return void 0!==this.edgeType&&((this.edgeType instanceof md&&!0===g.enabled&&"dynamic"===g.type||this.edgeType instanceof Ed&&!0===g.enabled&&"cubicBezier"===g.type||this.edgeType instanceof kd&&!0===g.enabled&&"dynamic"!==g.type&&"cubicBezier"!==g.type||this.edgeType instanceof Dd&&!1===g.type.enabled)&&(t=!1),!0===t&&(A=this.cleanup())),!0===t?!0===g.enabled?"dynamic"===g.type?(A=!0,this.edgeType=new md(this.options,this.body,this.labelModule)):"cubicBezier"===g.type?this.edgeType=new Ed(this.options,this.body,this.labelModule):this.edgeType=new kd(this.options,this.body,this.labelModule):this.edgeType=new Dd(this.options,this.body,this.labelModule):this.edgeType.setOptions(this.options),A}},{key:"connect",value:function(){this.disconnect(),this.from=this.body.nodes[this.fromId]||void 0,this.to=this.body.nodes[this.toId]||void 0,this.connected=void 0!==this.from&&void 0!==this.to,!0===this.connected?(this.from.attachEdge(this),this.to.attachEdge(this)):(this.from&&this.from.detachEdge(this),this.to&&this.to.detachEdge(this)),this.edgeType.connect()}},{key:"disconnect",value:function(){this.from&&(this.from.detachEdge(this),this.from=void 0),this.to&&(this.to.detachEdge(this),this.to=void 0),this.connected=!1}},{key:"getTitle",value:function(){return this.title}},{key:"isSelected",value:function(){return this.selected}},{key:"getValue",value:function(){return this.options.value}},{key:"setValueRange",value:function(g,A,t){if(void 0!==this.options.value){var C=this.options.scaling.customScalingFunction(g,A,t,this.options.value),I=this.options.scaling.max-this.options.scaling.min;if(!0===this.options.scaling.label.enabled){var e=this.options.scaling.label.max-this.options.scaling.label.min;this.options.font.size=this.options.scaling.label.min+C*e}this.options.width=this.options.scaling.min+C*I}else this.options.width=this.baseWidth,this.options.font.size=this.baseFontSize;this._setInteractionWidths(),this.updateLabelModule()}},{key:"_setInteractionWidths",value:function(){"function"==typeof this.options.hoverWidth?this.edgeType.hoverWidth=this.options.hoverWidth(this.options.width):this.edgeType.hoverWidth=this.options.hoverWidth+this.options.width,"function"==typeof this.options.selectionWidth?this.edgeType.selectionWidth=this.options.selectionWidth(this.options.width):this.edgeType.selectionWidth=this.options.selectionWidth+this.options.width}},{key:"draw",value:function(g){var A=this.getFormattingValues();if(!A.hidden){var t=this.edgeType.getViaNode();this.edgeType.drawLine(g,A,this.selected,this.hover,t),this.drawLabel(g,t)}}},{key:"drawArrows",value:function(g){var A=this.getFormattingValues();if(!A.hidden){var t=this.edgeType.getViaNode(),C={};this.edgeType.fromPoint=this.edgeType.from,this.edgeType.toPoint=this.edgeType.to,A.fromArrow&&(C.from=this.edgeType.getArrowData(g,"from",t,this.selected,this.hover,A),!1===A.arrowStrikethrough&&(this.edgeType.fromPoint=C.from.core),A.fromArrowSrc&&(C.from.image=this.imagelist.load(A.fromArrowSrc)),A.fromArrowImageWidth&&(C.from.imageWidth=A.fromArrowImageWidth),A.fromArrowImageHeight&&(C.from.imageHeight=A.fromArrowImageHeight)),A.toArrow&&(C.to=this.edgeType.getArrowData(g,"to",t,this.selected,this.hover,A),!1===A.arrowStrikethrough&&(this.edgeType.toPoint=C.to.core),A.toArrowSrc&&(C.to.image=this.imagelist.load(A.toArrowSrc)),A.toArrowImageWidth&&(C.to.imageWidth=A.toArrowImageWidth),A.toArrowImageHeight&&(C.to.imageHeight=A.toArrowImageHeight)),A.middleArrow&&(C.middle=this.edgeType.getArrowData(g,"middle",t,this.selected,this.hover,A),A.middleArrowSrc&&(C.middle.image=this.imagelist.load(A.middleArrowSrc)),A.middleArrowImageWidth&&(C.middle.imageWidth=A.middleArrowImageWidth),A.middleArrowImageHeight&&(C.middle.imageHeight=A.middleArrowImageHeight)),A.fromArrow&&this.edgeType.drawArrowHead(g,A,this.selected,this.hover,C.from),A.middleArrow&&this.edgeType.drawArrowHead(g,A,this.selected,this.hover,C.middle),A.toArrow&&this.edgeType.drawArrowHead(g,A,this.selected,this.hover,C.to)}}},{key:"drawLabel",value:function(g,A){if(void 0!==this.options.label){var t,C=this.from,I=this.to;if(this.labelModule.differentState(this.selected,this.hover)&&this.labelModule.getTextSize(g,this.selected,this.hover),C.id!=I.id){this.labelModule.pointToSelf=!1,t=this.edgeType.getPoint(.5,A),g.save();var e=this._getRotation(g);0!=e.angle&&(g.translate(e.x,e.y),g.rotate(e.angle)),this.labelModule.draw(g,t.x,t.y,this.selected,this.hover),g.restore()}else{this.labelModule.pointToSelf=!0;var i=Gs(g,this.options.selfReference.angle,this.options.selfReference.size,C);t=this._pointOnCircle(i.x,i.y,this.options.selfReference.size,this.options.selfReference.angle),this.labelModule.draw(g,t.x,t.y,this.selected,this.hover)}}}},{key:"getItemsOnPoint",value:function(g){var A=[];if(this.labelModule.visible()){var t=this._getRotation();Zs(this.labelModule.getSize(),g,t)&&A.push({edgeId:this.id,labelId:0})}var C={left:g.x,top:g.y};return this.isOverlappingWith(C)&&A.push({edgeId:this.id}),A}},{key:"isOverlappingWith",value:function(g){if(this.connected){var A=this.from.x,t=this.from.y,C=this.to.x,I=this.to.y,e=g.left,i=g.top;return this.edgeType.getDistanceToEdge(A,t,C,I,e,i)<10}return!1}},{key:"_getRotation",value:function(g){var A=this.edgeType.getViaNode(),t=this.edgeType.getPoint(.5,A);void 0!==g&&this.labelModule.calculateLabelSize(g,this.selected,this.hover,t.x,t.y);var C={x:t.x,y:this.labelModule.size.yLine,angle:0};if(!this.labelModule.visible())return C;if("horizontal"===this.options.font.align)return C;var I=this.from.y-this.to.y,e=this.from.x-this.to.x,i=Math.atan2(I,e);return(i<-1&&e<0||i>0&&e<0)&&(i+=Math.PI),C.angle=i,C}},{key:"_pointOnCircle",value:function(g,A,t,C){return{x:g+t*Math.cos(C),y:A-t*Math.sin(C)}}},{key:"select",value:function(){this.selected=!0}},{key:"unselect",value:function(){this.selected=!1}},{key:"cleanup",value:function(){return this.edgeType.cleanup()}},{key:"remove",value:function(){this.cleanup(),this.disconnect(),delete this.body.edges[this.id]}},{key:"endPointsValid",value:function(){return void 0!==this.body.nodes[this.fromId]&&void 0!==this.body.nodes[this.toId]}}],[{key:"parseOptions",value:function(g,A){var t=arguments.length>2&&void 0!==arguments[2]&&arguments[2],C=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},I=arguments.length>4&&void 0!==arguments[4]&&arguments[4],e=["endPointOffset","arrowStrikethrough","id","from","hidden","hoverWidth","labelHighlightBold","length","line","opacity","physics","scaling","selectionWidth","selfReferenceSize","selfReference","to","title","value","width","font","chosen","widthConstraint"];if(Ne(e,g,A,t),void 0!==A.endPointOffset&&void 0!==A.endPointOffset.from&&(Qn(A.endPointOffset.from)?g.endPointOffset.from=A.endPointOffset.from:(g.endPointOffset.from=void 0!==C.endPointOffset.from?C.endPointOffset.from:0,console.error("endPointOffset.from is not a valid number"))),void 0!==A.endPointOffset&&void 0!==A.endPointOffset.to&&(Qn(A.endPointOffset.to)?g.endPointOffset.to=A.endPointOffset.to:(g.endPointOffset.to=void 0!==C.endPointOffset.to?C.endPointOffset.to:0,console.error("endPointOffset.to is not a valid number"))),Fs(A.label)?g.label=A.label:Fs(g.label)||(g.label=void 0),Xe(g,A,"smooth",C),Xe(g,A,"shadow",C),Xe(g,A,"background",C),void 0!==A.dashes&&null!==A.dashes?g.dashes=A.dashes:!0===t&&null===A.dashes&&(g.dashes=hC(C.dashes)),void 0!==A.scaling&&null!==A.scaling?(void 0!==A.scaling.min&&(g.scaling.min=A.scaling.min),void 0!==A.scaling.max&&(g.scaling.max=A.scaling.max),Xe(g.scaling,A.scaling,"label",C.scaling)):!0===t&&null===A.scaling&&(g.scaling=hC(C.scaling)),void 0!==A.arrows&&null!==A.arrows)if("string"==typeof A.arrows){var i=A.arrows.toLowerCase();g.arrows.to.enabled=-1!=uI(i).call(i,"to"),g.arrows.middle.enabled=-1!=uI(i).call(i,"middle"),g.arrows.from.enabled=-1!=uI(i).call(i,"from")}else{if("object"!==Ae(A.arrows))throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+sr(A.arrows));Xe(g.arrows,A.arrows,"to",C.arrows),Xe(g.arrows,A.arrows,"middle",C.arrows),Xe(g.arrows,A.arrows,"from",C.arrows)}else!0===t&&null===A.arrows&&(g.arrows=hC(C.arrows));if(void 0!==A.color&&null!==A.color){var o=Ee(A.color)?{color:A.color,highlight:A.color,hover:A.color,inherit:!1,opacity:1}:A.color,n=g.color;if(I)Me(n,C.color,!1,t);else for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&delete n[r];if(Ee(n))n.color=n,n.highlight=n,n.hover=n,n.inherit=!1,void 0===o.opacity&&(n.opacity=1);else{var s=!1;void 0!==o.color&&(n.color=o.color,s=!0),void 0!==o.highlight&&(n.highlight=o.highlight,s=!0),void 0!==o.hover&&(n.hover=o.hover,s=!0),void 0!==o.inherit&&(n.inherit=o.inherit),void 0!==o.opacity&&(n.opacity=Math.min(1,Math.max(0,o.opacity))),!0===s?n.inherit=!1:void 0===n.inherit&&(n.inherit="from")}}else!0===t&&null===A.color&&(g.color=Ke(C.color));!0===t&&null===A.font&&(g.font=Ke(C.font)),Object.prototype.hasOwnProperty.call(A,"selfReferenceSize")&&(console.log("The selfReferenceSize property has been deprecated. Please use selfReference property instead. The selfReference can be set like thise selfReference:{size:30, angle:Math.PI / 4}"),g.selfReference.size=A.selfReferenceSize)}}]),g}(),Nd=function(){function g(A,t,C){var I,e=this;Tn(this,g),this.body=A,this.images=t,this.groups=C,this.body.functions.createEdge=$(I=this.create).call(I,this),this.edgesListeners={add:function(g,A){e.add(A.items)},update:function(g,A){e.update(A.items)},remove:function(g,A){e.remove(A.items)}},this.options={},this.defaultOptions={arrows:{to:{enabled:!1,scaleFactor:1,type:"arrow"},middle:{enabled:!1,scaleFactor:1,type:"arrow"},from:{enabled:!1,scaleFactor:1,type:"arrow"}},endPointOffset:{from:0,to:0},arrowStrikethrough:!0,color:{color:"#848484",highlight:"#848484",hover:"#848484",inherit:"from",opacity:1},dashes:!1,font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:2,strokeColor:"#ffffff",align:"horizontal",multi:!1,vadjust:0,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"courier new",vadjust:2}},hidden:!1,hoverWidth:1.5,label:void 0,labelHighlightBold:!0,length:void 0,physics:!0,scaling:{min:1,max:15,label:{enabled:!0,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(g,A,t,C){if(A===g)return.5;var I=1/(A-g);return Math.max(0,(C-g)*I)}},selectionWidth:1.5,selfReference:{size:20,angle:Math.PI/4,renderBehindTheNode:!0},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},background:{enabled:!1,color:"rgba(111,111,111,1)",size:10,dashes:!1},smooth:{enabled:!0,type:"dynamic",forceDirection:"none",roundness:.5},title:void 0,width:1,value:void 0},Me(this.options,this.defaultOptions),this.bindEventListeners()}return Rn(g,[{key:"bindEventListeners",value:function(){var g,A,t=this;this.body.emitter.on("_forceDisableDynamicCurves",(function(g){var A=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];"dynamic"===g&&(g="continuous");var C=!1;for(var I in t.body.edges)if(Object.prototype.hasOwnProperty.call(t.body.edges,I)){var e=t.body.edges[I],i=t.body.data.edges.get(I);if(null!=i){var o=i.smooth;void 0!==o&&!0===o.enabled&&"dynamic"===o.type&&(void 0===g?e.setOptions({smooth:!1}):e.setOptions({smooth:{type:g}}),C=!0)}}!0===A&&!0===C&&t.body.emitter.emit("_dataChanged")})),this.body.emitter.on("_dataUpdated",(function(){t.reconnectEdges()})),this.body.emitter.on("refreshEdges",$(g=this.refresh).call(g,this)),this.body.emitter.on("refresh",$(A=this.refresh).call(A,this)),this.body.emitter.on("destroy",(function(){Ze(t.edgesListeners,(function(g,A){t.body.data.edges&&t.body.data.edges.off(A,g)})),delete t.body.functions.createEdge,delete t.edgesListeners.add,delete t.edgesListeners.update,delete t.edgesListeners.remove,delete t.edgesListeners}))}},{key:"setOptions",value:function(g){if(void 0!==g){Rd.parseOptions(this.options,g,!0,this.defaultOptions,!0);var A=!1;if(void 0!==g.smooth)for(var t in this.body.edges)Object.prototype.hasOwnProperty.call(this.body.edges,t)&&(A=this.body.edges[t].updateEdgeType()||A);if(void 0!==g.font)for(var C in this.body.edges)Object.prototype.hasOwnProperty.call(this.body.edges,C)&&this.body.edges[C].updateLabelModule();void 0===g.hidden&&void 0===g.physics&&!0!==A||this.body.emitter.emit("_dataChanged")}}},{key:"setData",value:function(g){var A=this,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],C=this.body.data.edges;if(g instanceof Os||g instanceof Es)this.body.data.edges=g;else if(qI(g))this.body.data.edges=new Os,this.body.data.edges.add(g);else{if(g)throw new TypeError("Array or DataSet expected");this.body.data.edges=new Os}if(C&&Ze(this.edgesListeners,(function(g,A){C.off(A,g)})),this.body.edges={},this.body.data.edges){Ze(this.edgesListeners,(function(g,t){A.body.data.edges.on(t,g)}));var I=this.body.data.edges.getIds();this.add(I,!0)}this.body.emitter.emit("_adjustEdgesForHierarchicalLayout"),!1===t&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(g){for(var A=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=this.body.edges,C=this.body.data.edges,I=0;I<g.length;I++){var e=g[I],i=t[e];i&&i.disconnect();var o=C.get(e,{showInternalIds:!0});t[e]=this.create(o)}this.body.emitter.emit("_adjustEdgesForHierarchicalLayout"),!1===A&&this.body.emitter.emit("_dataChanged")}},{key:"update",value:function(g){for(var A=this.body.edges,t=this.body.data.edges,C=!1,I=0;I<g.length;I++){var e=g[I],i=t.get(e),o=A[e];void 0!==o?(o.disconnect(),C=o.setOptions(i)||C,o.connect()):(this.body.edges[e]=this.create(i),C=!0)}!0===C?(this.body.emitter.emit("_adjustEdgesForHierarchicalLayout"),this.body.emitter.emit("_dataChanged")):this.body.emitter.emit("_dataUpdated")}},{key:"remove",value:function(g){var A=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(0!==g.length){var t=this.body.edges;Ze(g,(function(g){var A=t[g];void 0!==A&&A.remove()})),A&&this.body.emitter.emit("_dataChanged")}}},{key:"refresh",value:function(){var g=this;Ze(this.body.edges,(function(A,t){var C=g.body.data.edges.get(t);void 0!==C&&A.setOptions(C)}))}},{key:"create",value:function(g){return new Rd(g,this.body,this.images,this.options,this.defaultOptions)}},{key:"reconnectEdges",value:function(){var g,A=this.body.nodes,t=this.body.edges;for(g in A)Object.prototype.hasOwnProperty.call(A,g)&&(A[g].edges=[]);for(g in t)if(Object.prototype.hasOwnProperty.call(t,g)){var C=t[g];C.from=null,C.to=null,C.connect()}}},{key:"getConnectedNodes",value:function(g){var A=[];if(void 0!==this.body.edges[g]){var t=this.body.edges[g];void 0!==t.fromId&&A.push(t.fromId),void 0!==t.toId&&A.push(t.toId)}return A}},{key:"_updateState",value:function(){this._addMissingEdges(),this._removeInvalidEdges()}},{key:"_removeInvalidEdges",value:function(){var g=this,A=[];Ze(this.body.edges,(function(t,C){var I=g.body.nodes[t.toId],e=g.body.nodes[t.fromId];void 0!==I&&!0===I.isCluster||void 0!==e&&!0===e.isCluster||void 0!==I&&void 0!==e||A.push(C)})),this.remove(A,!1)}},{key:"_addMissingEdges",value:function(){var g=this.body.data.edges;if(null!=g){var A=this.body.edges,t=[];BC(g).call(g,(function(g,C){void 0===A[C]&&t.push(C)})),this.add(t,!0)}}}]),g}(),Pd=function(){function g(A,t,C){Tn(this,g),this.body=A,this.physicsBody=t,this.barnesHutTree,this.setOptions(C),this._rng=fe("BARNES HUT SOLVER")}return Rn(g,[{key:"setOptions",value:function(g){this.options=g,this.thetaInversed=1/this.options.theta,this.overlapAvoidanceFactor=1-Math.max(0,Math.min(1,this.options.avoidOverlap))}},{key:"solve",value:function(){if(0!==this.options.gravitationalConstant&&this.physicsBody.physicsNodeIndices.length>0){var g,A=this.body.nodes,t=this.physicsBody.physicsNodeIndices,C=t.length,I=this._formBarnesHutTree(A,t);this.barnesHutTree=I;for(var e=0;e<C;e++)(g=A[t[e]]).options.mass>0&&this._getForceContributions(I.root,g)}}},{key:"_getForceContributions",value:function(g,A){this._getForceContribution(g.children.NW,A),this._getForceContribution(g.children.NE,A),this._getForceContribution(g.children.SW,A),this._getForceContribution(g.children.SE,A)}},{key:"_getForceContribution",value:function(g,A){if(g.childrenCount>0){var t=g.centerOfMass.x-A.x,C=g.centerOfMass.y-A.y,I=Math.sqrt(t*t+C*C);I*g.calcSize>this.thetaInversed?this._calculateForces(I,t,C,A,g):4===g.childrenCount?this._getForceContributions(g,A):g.children.data.id!=A.id&&this._calculateForces(I,t,C,A,g)}}},{key:"_calculateForces",value:function(g,A,t,C,I){0===g&&(A=g=.1),this.overlapAvoidanceFactor<1&&C.shape.radius&&(g=Math.max(.1+this.overlapAvoidanceFactor*C.shape.radius,g-C.shape.radius));var e=this.options.gravitationalConstant*I.mass*C.options.mass/Math.pow(g,3),i=A*e,o=t*e;this.physicsBody.forces[C.id].x+=i,this.physicsBody.forces[C.id].y+=o}},{key:"_formBarnesHutTree",value:function(g,A){for(var t,C=A.length,I=g[A[0]].x,e=g[A[0]].y,i=g[A[0]].x,o=g[A[0]].y,n=1;n<C;n++){var r=g[A[n]],s=r.x,a=r.y;r.options.mass>0&&(s<I&&(I=s),s>i&&(i=s),a<e&&(e=a),a>o&&(o=a))}var d=Math.abs(i-I)-Math.abs(o-e);d>0?(e-=.5*d,o+=.5*d):(I+=.5*d,i-=.5*d);var h=Math.max(1e-5,Math.abs(i-I)),l=.5*h,c=.5*(I+i),u=.5*(e+o),p={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:c-l,maxX:c+l,minY:u-l,maxY:u+l},size:h,calcSize:1/h,children:{data:null},maxWidth:0,level:0,childrenCount:4}};this._splitBranch(p.root);for(var v=0;v<C;v++)(t=g[A[v]]).options.mass>0&&this._placeInTree(p.root,t);return p}},{key:"_updateBranchMass",value:function(g,A){var t=g.centerOfMass,C=g.mass+A.options.mass,I=1/C;t.x=t.x*g.mass+A.x*A.options.mass,t.x*=I,t.y=t.y*g.mass+A.y*A.options.mass,t.y*=I,g.mass=C;var e=Math.max(Math.max(A.height,A.radius),A.width);g.maxWidth=g.maxWidth<e?e:g.maxWidth}},{key:"_placeInTree",value:function(g,A,t){1==t&&void 0!==t||this._updateBranchMass(g,A);var C,I=g.children.NW.range;C=I.maxX>A.x?I.maxY>A.y?"NW":"SW":I.maxY>A.y?"NE":"SE",this._placeInRegion(g,A,C)}},{key:"_placeInRegion",value:function(g,A,t){var C=g.children[t];switch(C.childrenCount){case 0:C.children.data=A,C.childrenCount=1,this._updateBranchMass(C,A);break;case 1:C.children.data.x===A.x&&C.children.data.y===A.y?(A.x+=this._rng(),A.y+=this._rng()):(this._splitBranch(C),this._placeInTree(C,A));break;case 4:this._placeInTree(C,A)}}},{key:"_splitBranch",value:function(g){var A=null;1===g.childrenCount&&(A=g.children.data,g.mass=0,g.centerOfMass.x=0,g.centerOfMass.y=0),g.childrenCount=4,g.children.data=null,this._insertRegion(g,"NW"),this._insertRegion(g,"NE"),this._insertRegion(g,"SW"),this._insertRegion(g,"SE"),null!=A&&this._placeInTree(g,A)}},{key:"_insertRegion",value:function(g,A){var t,C,I,e,i=.5*g.size;switch(A){case"NW":t=g.range.minX,C=g.range.minX+i,I=g.range.minY,e=g.range.minY+i;break;case"NE":t=g.range.minX+i,C=g.range.maxX,I=g.range.minY,e=g.range.minY+i;break;case"SW":t=g.range.minX,C=g.range.minX+i,I=g.range.minY+i,e=g.range.maxY;break;case"SE":t=g.range.minX+i,C=g.range.maxX,I=g.range.minY+i,e=g.range.maxY}g.children[A]={centerOfMass:{x:0,y:0},mass:0,range:{minX:t,maxX:C,minY:I,maxY:e},size:.5*g.size,calcSize:2*g.calcSize,children:{data:null},maxWidth:0,level:g.level+1,childrenCount:0}}},{key:"_debug",value:function(g,A){void 0!==this.barnesHutTree&&(g.lineWidth=1,this._drawBranch(this.barnesHutTree.root,g,A))}},{key:"_drawBranch",value:function(g,A,t){void 0===t&&(t="#FF0000"),4===g.childrenCount&&(this._drawBranch(g.children.NW,A),this._drawBranch(g.children.NE,A),this._drawBranch(g.children.SE,A),this._drawBranch(g.children.SW,A)),A.strokeStyle=t,A.beginPath(),A.moveTo(g.range.minX,g.range.minY),A.lineTo(g.range.maxX,g.range.minY),A.stroke(),A.beginPath(),A.moveTo(g.range.maxX,g.range.minY),A.lineTo(g.range.maxX,g.range.maxY),A.stroke(),A.beginPath(),A.moveTo(g.range.maxX,g.range.maxY),A.lineTo(g.range.minX,g.range.maxY),A.stroke(),A.beginPath(),A.moveTo(g.range.minX,g.range.maxY),A.lineTo(g.range.minX,g.range.minY),A.stroke()}}]),g}(),Md=function(){function g(A,t,C){Tn(this,g),this._rng=fe("REPULSION SOLVER"),this.body=A,this.physicsBody=t,this.setOptions(C)}return Rn(g,[{key:"setOptions",value:function(g){this.options=g}},{key:"solve",value:function(){for(var g,A,t,C,I,e,i,o,n=this.body.nodes,r=this.physicsBody.physicsNodeIndices,s=this.physicsBody.forces,a=this.options.nodeDistance,d=-2/3/a,h=0;h<r.length-1;h++){i=n[r[h]];for(var l=h+1;l<r.length;l++)g=(o=n[r[l]]).x-i.x,A=o.y-i.y,0===(t=Math.sqrt(g*g+A*A))&&(g=t=.1*this._rng()),t<2*a&&(e=t<.5*a?1:d*t+4/3,C=g*(e/=t),I=A*e,s[i.id].x-=C,s[i.id].y-=I,s[o.id].x+=C,s[o.id].y+=I)}}}]),g}(),Sd=function(){function g(A,t,C){Tn(this,g),this.body=A,this.physicsBody=t,this.setOptions(C)}return Rn(g,[{key:"setOptions",value:function(g){this.options=g,this.overlapAvoidanceFactor=Math.max(0,Math.min(1,this.options.avoidOverlap||0))}},{key:"solve",value:function(){for(var g=this.body.nodes,A=this.physicsBody.physicsNodeIndices,t=this.physicsBody.forces,C=this.options.nodeDistance,I=0;I<A.length-1;I++)for(var e=g[A[I]],i=I+1;i<A.length;i++){var o=g[A[i]];if(e.level===o.level){var n=C+this.overlapAvoidanceFactor*((e.shape.radius||0)/2+(o.shape.radius||0)/2),r=o.x-e.x,s=o.y-e.y,a=Math.sqrt(r*r+s*s),d=void 0;d=a<n?-Math.pow(.05*a,2)+Math.pow(.05*n,2):0,0!==a&&(d/=a);var h=r*d,l=s*d;t[e.id].x-=h,t[e.id].y-=l,t[o.id].x+=h,t[o.id].y+=l}}}}]),g}(),zd=function(){function g(A,t,C){Tn(this,g),this.body=A,this.physicsBody=t,this.setOptions(C)}return Rn(g,[{key:"setOptions",value:function(g){this.options=g}},{key:"solve",value:function(){for(var g,A,t,C,I,e=this.physicsBody.physicsEdgeIndices,i=this.body.edges,o=0;o<e.length;o++)!0===(A=i[e[o]]).connected&&A.toId!==A.fromId&&void 0!==this.body.nodes[A.toId]&&void 0!==this.body.nodes[A.fromId]&&(void 0!==A.edgeType.via?(g=void 0===A.options.length?this.options.springLength:A.options.length,t=A.to,C=A.edgeType.via,I=A.from,this._calculateSpringForce(t,C,.5*g),this._calculateSpringForce(C,I,.5*g)):(g=void 0===A.options.length?1.5*this.options.springLength:A.options.length,this._calculateSpringForce(A.from,A.to,g)))}},{key:"_calculateSpringForce",value:function(g,A,t){var C=g.x-A.x,I=g.y-A.y,e=Math.max(Math.sqrt(C*C+I*I),.01),i=this.options.springConstant*(t-e)/e,o=C*i,n=I*i;void 0!==this.physicsBody.forces[g.id]&&(this.physicsBody.forces[g.id].x+=o,this.physicsBody.forces[g.id].y+=n),void 0!==this.physicsBody.forces[A.id]&&(this.physicsBody.forces[A.id].x-=o,this.physicsBody.forces[A.id].y-=n)}}]),g}(),Bd=function(){function g(A,t,C){Tn(this,g),this.body=A,this.physicsBody=t,this.setOptions(C)}return Rn(g,[{key:"setOptions",value:function(g){this.options=g}},{key:"solve",value:function(){for(var g,A,t,C,I,e,i,o,n,r,s=this.body.edges,a=this.physicsBody.physicsEdgeIndices,d=this.physicsBody.physicsNodeIndices,h=this.physicsBody.forces,l=0;l<d.length;l++){var c=d[l];h[c].springFx=0,h[c].springFy=0}for(var u=0;u<a.length;u++)!0===(A=s[a[u]]).connected&&(g=void 0===A.options.length?this.options.springLength:A.options.length,t=A.from.x-A.to.x,C=A.from.y-A.to.y,o=0===(o=Math.sqrt(t*t+C*C))?.01:o,I=t*(i=this.options.springConstant*(g-o)/o),e=C*i,A.to.level!=A.from.level?(void 0!==h[A.toId]&&(h[A.toId].springFx-=I,h[A.toId].springFy-=e),void 0!==h[A.fromId]&&(h[A.fromId].springFx+=I,h[A.fromId].springFy+=e)):(void 0!==h[A.toId]&&(h[A.toId].x-=.5*I,h[A.toId].y-=.5*e),void 0!==h[A.fromId]&&(h[A.fromId].x+=.5*I,h[A.fromId].y+=.5*e)));i=1;for(var p=0;p<d.length;p++){var v=d[p];n=Math.min(i,Math.max(-i,h[v].springFx)),r=Math.min(i,Math.max(-i,h[v].springFy)),h[v].x+=n,h[v].y+=r}for(var f=0,y=0,b=0;b<d.length;b++){var m=d[b];f+=h[m].x,y+=h[m].y}for(var w=f/d.length,k=y/d.length,x=0;x<d.length;x++){var O=d[x];h[O].x-=w,h[O].y-=k}}}]),g}(),Zd=function(){function g(A,t,C){Tn(this,g),this.body=A,this.physicsBody=t,this.setOptions(C)}return Rn(g,[{key:"setOptions",value:function(g){this.options=g}},{key:"solve",value:function(){for(var g,A,t,C,I=this.body.nodes,e=this.physicsBody.physicsNodeIndices,i=this.physicsBody.forces,o=0;o<e.length;o++){g=-(C=I[e[o]]).x,A=-C.y,t=Math.sqrt(g*g+A*A),this._calculateForces(t,g,A,i,C)}}},{key:"_calculateForces",value:function(g,A,t,C,I){var e=0===g?0:this.options.centralGravity/g;C[I.id].x=A*e,C[I.id].y=t*e}}]),g}();function Fd(g){var A=function(){if("undefined"==typeof Reflect||!$n)return!1;if($n.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call($n(Date,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,C=xr(g);if(A){var I=xr(this).constructor;t=$n(C,arguments,I)}else t=C.apply(this,arguments);return wr(this,t)}}var Gd=function(g){mr(t,g);var A=Fd(t);function t(g,C,I){var e;return Tn(this,t),(e=A.call(this,g,C,I))._rng=fe("FORCE ATLAS 2 BASED REPULSION SOLVER"),e}return Rn(t,[{key:"_calculateForces",value:function(g,A,t,C,I){0===g&&(A=g=.1*this._rng()),this.overlapAvoidanceFactor<1&&C.shape.radius&&(g=Math.max(.1+this.overlapAvoidanceFactor*C.shape.radius,g-C.shape.radius));var e=C.edges.length+1,i=this.options.gravitationalConstant*I.mass*C.options.mass*e/Math.pow(g,2),o=A*i,n=t*i;this.physicsBody.forces[C.id].x+=o,this.physicsBody.forces[C.id].y+=n}}]),t}(Pd);function jd(g){var A=function(){if("undefined"==typeof Reflect||!$n)return!1;if($n.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call($n(Date,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,C=xr(g);if(A){var I=xr(this).constructor;t=$n(C,arguments,I)}else t=C.apply(this,arguments);return wr(this,t)}}var Ld=function(g){mr(t,g);var A=jd(t);function t(g,C,I){return Tn(this,t),A.call(this,g,C,I)}return Rn(t,[{key:"_calculateForces",value:function(g,A,t,C,I){if(g>0){var e=I.edges.length+1,i=this.options.centralGravity*e*I.options.mass;C[I.id].x=A*i,C[I.id].y=t*i}}}]),t}(Zd),Vd=function(){function g(A){Tn(this,g),this.body=A,this.physicsBody={physicsNodeIndices:[],physicsEdgeIndices:[],forces:{},velocities:{}},this.physicsEnabled=!0,this.simulationInterval=1e3/60,this.requiresTimeout=!0,this.previousStates={},this.referenceState={},this.freezeCache={},this.renderTimer=void 0,this.adaptiveTimestep=!1,this.adaptiveTimestepEnabled=!1,this.adaptiveCounter=0,this.adaptiveInterval=3,this.stabilized=!1,this.startedStabilization=!1,this.stabilizationIterations=0,this.ready=!1,this.options={},this.defaultOptions={enabled:!0,barnesHut:{theta:.5,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09,avoidOverlap:0},forceAtlas2Based:{theta:.5,gravitationalConstant:-50,centralGravity:.01,springConstant:.08,springLength:100,damping:.4,avoidOverlap:0},repulsion:{centralGravity:.2,springLength:200,springConstant:.05,nodeDistance:100,damping:.09,avoidOverlap:0},hierarchicalRepulsion:{centralGravity:0,springLength:100,springConstant:.01,nodeDistance:120,damping:.09},maxVelocity:50,minVelocity:.75,solver:"barnesHut",stabilization:{enabled:!0,iterations:1e3,updateInterval:50,onlyDynamicEdges:!1,fit:!0},timestep:.5,adaptiveTimestep:!0,wind:{x:0,y:0}},yg(this.options,this.defaultOptions),this.timestep=.5,this.layoutFailed=!1,this.bindEventListeners()}return Rn(g,[{key:"bindEventListeners",value:function(){var g=this;this.body.emitter.on("initPhysics",(function(){g.initPhysics()})),this.body.emitter.on("_layoutFailed",(function(){g.layoutFailed=!0})),this.body.emitter.on("resetPhysics",(function(){g.stopSimulation(),g.ready=!1})),this.body.emitter.on("disablePhysics",(function(){g.physicsEnabled=!1,g.stopSimulation()})),this.body.emitter.on("restorePhysics",(function(){g.setOptions(g.options),!0===g.ready&&g.startSimulation()})),this.body.emitter.on("startSimulation",(function(){!0===g.ready&&g.startSimulation()})),this.body.emitter.on("stopSimulation",(function(){g.stopSimulation()})),this.body.emitter.on("destroy",(function(){g.stopSimulation(!1),g.body.emitter.off()})),this.body.emitter.on("_dataChanged",(function(){g.updatePhysicsData()}))}},{key:"setOptions",value:function(g){if(void 0!==g)if(!1===g)this.options.enabled=!1,this.physicsEnabled=!1,this.stopSimulation();else if(!0===g)this.options.enabled=!0,this.physicsEnabled=!0,this.startSimulation();else{this.physicsEnabled=!0,Pe(["stabilization"],this.options,g),Xe(this.options,g,"stabilization"),void 0===g.enabled&&(this.options.enabled=!0),!1===this.options.enabled&&(this.physicsEnabled=!1,this.stopSimulation());var A=this.options.wind;A&&(("number"!=typeof A.x||Un(A.x))&&(A.x=0),("number"!=typeof A.y||Un(A.y))&&(A.y=0)),this.timestep=this.options.timestep}this.init()}},{key:"init",value:function(){var g;"forceAtlas2Based"===this.options.solver?(g=this.options.forceAtlas2Based,this.nodesSolver=new Gd(this.body,this.physicsBody,g),this.edgesSolver=new zd(this.body,this.physicsBody,g),this.gravitySolver=new Ld(this.body,this.physicsBody,g)):"repulsion"===this.options.solver?(g=this.options.repulsion,this.nodesSolver=new Md(this.body,this.physicsBody,g),this.edgesSolver=new zd(this.body,this.physicsBody,g),this.gravitySolver=new Zd(this.body,this.physicsBody,g)):"hierarchicalRepulsion"===this.options.solver?(g=this.options.hierarchicalRepulsion,this.nodesSolver=new Sd(this.body,this.physicsBody,g),this.edgesSolver=new Bd(this.body,this.physicsBody,g),this.gravitySolver=new Zd(this.body,this.physicsBody,g)):(g=this.options.barnesHut,this.nodesSolver=new Pd(this.body,this.physicsBody,g),this.edgesSolver=new zd(this.body,this.physicsBody,g),this.gravitySolver=new Zd(this.body,this.physicsBody,g)),this.modelOptions=g}},{key:"initPhysics",value:function(){!0===this.physicsEnabled&&!0===this.options.enabled?!0===this.options.stabilization.enabled?this.stabilize():(this.stabilized=!1,this.ready=!0,this.body.emitter.emit("fit",{},this.layoutFailed),this.startSimulation()):(this.ready=!0,this.body.emitter.emit("fit"))}},{key:"startSimulation",value:function(){var g;!0===this.physicsEnabled&&!0===this.options.enabled?(this.stabilized=!1,this.adaptiveTimestep=!1,this.body.emitter.emit("_resizeNodes"),void 0===this.viewFunction&&(this.viewFunction=$(g=this.simulationStep).call(g,this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))):this.body.emitter.emit("_redraw")}},{key:"stopSimulation",value:function(){var g=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.stabilized=!0,!0===g&&this._emitStabilized(),void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.viewFunction=void 0,!0===g&&this.body.emitter.emit("_stopRendering"))}},{key:"simulationStep",value:function(){var g=YI();this.physicsTick(),(YI()-g<.4*this.simulationInterval||!0===this.runDoubleSpeed)&&!1===this.stabilized&&(this.physicsTick(),this.runDoubleSpeed=!0),!0===this.stabilized&&this.stopSimulation()}},{key:"_emitStabilized",value:function(){var g=this,A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.stabilizationIterations;(this.stabilizationIterations>1||!0===this.startedStabilization)&&Zn((function(){g.body.emitter.emit("stabilized",{iterations:A}),g.startedStabilization=!1,g.stabilizationIterations=0}),0)}},{key:"physicsStep",value:function(){this.gravitySolver.solve(),this.nodesSolver.solve(),this.edgesSolver.solve(),this.moveNodes()}},{key:"adjustTimeStep",value:function(){!0===this._evaluateStepQuality()?this.timestep=1.2*this.timestep:this.timestep/1.2<this.options.timestep?this.timestep=this.options.timestep:(this.adaptiveCounter=-1,this.timestep=Math.max(this.options.timestep,this.timestep/1.2))}},{key:"physicsTick",value:function(){if(this._startStabilizing(),!0!==this.stabilized){if(!0===this.adaptiveTimestep&&!0===this.adaptiveTimestepEnabled)this.adaptiveCounter%this.adaptiveInterval==0?(this.timestep=2*this.timestep,this.physicsStep(),this.revert(),this.timestep=.5*this.timestep,this.physicsStep(),this.physicsStep(),this.adjustTimeStep()):this.physicsStep(),this.adaptiveCounter+=1;else this.timestep=this.options.timestep,this.physicsStep();!0===this.stabilized&&this.revert(),this.stabilizationIterations++}}},{key:"updatePhysicsData",value:function(){this.physicsBody.forces={},this.physicsBody.physicsNodeIndices=[],this.physicsBody.physicsEdgeIndices=[];var g=this.body.nodes,A=this.body.edges;for(var t in g)Object.prototype.hasOwnProperty.call(g,t)&&!0===g[t].options.physics&&this.physicsBody.physicsNodeIndices.push(g[t].id);for(var C in A)Object.prototype.hasOwnProperty.call(A,C)&&!0===A[C].options.physics&&this.physicsBody.physicsEdgeIndices.push(A[C].id);for(var I=0;I<this.physicsBody.physicsNodeIndices.length;I++){var e=this.physicsBody.physicsNodeIndices[I];this.physicsBody.forces[e]={x:0,y:0},void 0===this.physicsBody.velocities[e]&&(this.physicsBody.velocities[e]={x:0,y:0})}for(var i in this.physicsBody.velocities)void 0===g[i]&&delete this.physicsBody.velocities[i]}},{key:"revert",value:function(){var g=HI(this.previousStates),A=this.body.nodes,t=this.physicsBody.velocities;this.referenceState={};for(var C=0;C<g.length;C++){var I=g[C];void 0!==A[I]?!0===A[I].options.physics&&(this.referenceState[I]={positions:{x:A[I].x,y:A[I].y}},t[I].x=this.previousStates[I].vx,t[I].y=this.previousStates[I].vy,A[I].x=this.previousStates[I].x,A[I].y=this.previousStates[I].y):delete this.previousStates[I]}}},{key:"_evaluateStepQuality",value:function(){var g,A,t=this.body.nodes,C=this.referenceState;for(var I in this.referenceState)if(Object.prototype.hasOwnProperty.call(this.referenceState,I)&&void 0!==t[I]&&(g=t[I].x-C[I].positions.x,A=t[I].y-C[I].positions.y,Math.sqrt(Math.pow(g,2)+Math.pow(A,2))>.3))return!1;return!0}},{key:"moveNodes",value:function(){for(var g=this.physicsBody.physicsNodeIndices,A=0,t=0,C=0;C<g.length;C++){var I=g[C],e=this._performStep(I);A=Math.max(A,e),t+=e}this.adaptiveTimestepEnabled=t/g.length<5,this.stabilized=A<this.options.minVelocity}},{key:"calculateComponentVelocity",value:function(g,A,t){g+=(A-this.modelOptions.damping*g)/t*this.timestep;var C=this.options.maxVelocity||1e9;return Math.abs(g)>C&&(g=g>0?C:-C),g}},{key:"_performStep",value:function(g){var A=this.body.nodes[g],t=this.physicsBody.forces[g];this.options.wind&&(t.x+=this.options.wind.x,t.y+=this.options.wind.y);var C=this.physicsBody.velocities[g];return this.previousStates[g]={x:A.x,y:A.y,vx:C.x,vy:C.y},!1===A.options.fixed.x?(C.x=this.calculateComponentVelocity(C.x,t.x,A.options.mass),A.x+=C.x*this.timestep):(t.x=0,C.x=0),!1===A.options.fixed.y?(C.y=this.calculateComponentVelocity(C.y,t.y,A.options.mass),A.y+=C.y*this.timestep):(t.y=0,C.y=0),Math.sqrt(Math.pow(C.x,2)+Math.pow(C.y,2))}},{key:"_freezeNodes",value:function(){var g=this.body.nodes;for(var A in g)if(Object.prototype.hasOwnProperty.call(g,A)&&g[A].x&&g[A].y){var t=g[A].options.fixed;this.freezeCache[A]={x:t.x,y:t.y},t.x=!0,t.y=!0}}},{key:"_restoreFrozenNodes",value:function(){var g=this.body.nodes;for(var A in g)Object.prototype.hasOwnProperty.call(g,A)&&void 0!==this.freezeCache[A]&&(g[A].options.fixed.x=this.freezeCache[A].x,g[A].options.fixed.y=this.freezeCache[A].y);this.freezeCache={}}},{key:"stabilize",value:function(){var g=this,A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.stabilization.iterations;"number"!=typeof A&&(A=this.options.stabilization.iterations,console.log("The stabilize method needs a numeric amount of iterations. Switching to default: ",A)),0!==this.physicsBody.physicsNodeIndices.length?(this.adaptiveTimestep=this.options.adaptiveTimestep,this.body.emitter.emit("_resizeNodes"),this.stopSimulation(),this.stabilized=!1,this.body.emitter.emit("_blockRedraw"),this.targetIterations=A,!0===this.options.stabilization.onlyDynamicEdges&&this._freezeNodes(),this.stabilizationIterations=0,Zn((function(){return g._stabilizationBatch()}),0)):this.ready=!0}},{key:"_startStabilizing",value:function(){return!0!==this.startedStabilization&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0,!0)}},{key:"_stabilizationBatch",value:function(){var g=this,A=function(){return!1===g.stabilized&&g.stabilizationIterations<g.targetIterations},t=function(){g.body.emitter.emit("stabilizationProgress",{iterations:g.stabilizationIterations,total:g.targetIterations})};this._startStabilizing()&&t();for(var C,I=0;A()&&I<this.options.stabilization.updateInterval;)this.physicsTick(),I++;(t(),A())?Zn($(C=this._stabilizationBatch).call(C,this),0):this._finalizeStabilization()}},{key:"_finalizeStabilization",value:function(){this.body.emitter.emit("_allowRedraw"),!0===this.options.stabilization.fit&&this.body.emitter.emit("fit"),!0===this.options.stabilization.onlyDynamicEdges&&this._restoreFrozenNodes(),this.body.emitter.emit("stabilizationIterationsDone"),this.body.emitter.emit("_requestRedraw"),!0===this.stabilized?this._emitStabilized():this.startSimulation(),this.ready=!0}},{key:"_drawForces",value:function(g){for(var A=0;A<this.physicsBody.physicsNodeIndices.length;A++){var t=this.physicsBody.physicsNodeIndices[A],C=this.body.nodes[t],I=this.physicsBody.forces[t],e=Math.sqrt(Math.pow(I.x,2)+Math.pow(I.x,2)),i=Math.min(Math.max(5,e),15),o=3*i,n=We((180-180*Math.min(1,Math.max(0,.03*e)))/360,1,1),r={x:C.x+20*I.x,y:C.y+20*I.y};g.lineWidth=i,g.strokeStyle=n,g.beginPath(),g.moveTo(C.x,C.y),g.lineTo(r.x,r.y),g.stroke();var s=Math.atan2(I.y,I.x);g.fillStyle=n,hd.draw(g,{type:"arrow",point:r,angle:s,length:o}),Ks(g).call(g)}}}]),g}(),Yd=[].reverse,Wd=[1,2];H({target:"Array",proto:!0,forced:String(Wd)===String(Wd.reverse())},{reverse:function(){return Qg(this)&&(this.length=this.length),Yd.call(this)}});var Hd=_("Array").reverse,Qd=Array.prototype,Ud=function(g){var A=g.reverse;return g===Qd||g instanceof Array&&A===Qd.reverse?Hd:A},Kd=function(){function g(){Tn(this,g)}return Rn(g,null,[{key:"getRange",value:function(g){var A,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],C=1e9,I=-1e9,e=1e9,i=-1e9;if(t.length>0)for(var o=0;o<t.length;o++)e>(A=g[t[o]]).shape.boundingBox.left&&(e=A.shape.boundingBox.left),i<A.shape.boundingBox.right&&(i=A.shape.boundingBox.right),C>A.shape.boundingBox.top&&(C=A.shape.boundingBox.top),I<A.shape.boundingBox.bottom&&(I=A.shape.boundingBox.bottom);return 1e9===e&&-1e9===i&&1e9===C&&-1e9===I&&(C=0,I=0,e=0,i=0),{minX:e,maxX:i,minY:C,maxY:I}}},{key:"getRangeCore",value:function(g){var A,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],C=1e9,I=-1e9,e=1e9,i=-1e9;if(t.length>0)for(var o=0;o<t.length;o++)e>(A=g[t[o]]).x&&(e=A.x),i<A.x&&(i=A.x),C>A.y&&(C=A.y),I<A.y&&(I=A.y);return 1e9===e&&-1e9===i&&1e9===C&&-1e9===I&&(C=0,I=0,e=0,i=0),{minX:e,maxX:i,minY:C,maxY:I}}},{key:"findCenter",value:function(g){return{x:.5*(g.maxX+g.minX),y:.5*(g.maxY+g.minY)}}},{key:"cloneOptions",value:function(g,A){var t={};return void 0===A||"node"===A?(Me(t,g.options,!0),t.x=g.x,t.y=g.y,t.amountOfConnections=g.edges.length):Me(t,g.options,!0),t}}]),g}();function Xd(g){var A=function(){if("undefined"==typeof Reflect||!$n)return!1;if($n.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call($n(Date,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,C=xr(g);if(A){var I=xr(this).constructor;t=$n(C,arguments,I)}else t=C.apply(this,arguments);return wr(this,t)}}var _d=function(g){mr(t,g);var A=Xd(t);function t(g,C,I,e,i,o){var n;return Tn(this,t),(n=A.call(this,g,C,I,e,i,o)).isCluster=!0,n.containedNodes={},n.containedEdges={},n}return Rn(t,[{key:"_openChildCluster",value:function(g){var A=this,t=this.body.nodes[g];if(void 0===this.containedNodes[g])throw new Error("node with id: "+g+" not in current cluster");if(!t.isCluster)throw new Error("node with id: "+g+" is not a cluster");delete this.containedNodes[g],Ze(t.edges,(function(g){delete A.containedEdges[g.id]})),Ze(t.containedNodes,(function(g,t){A.containedNodes[t]=g})),t.containedNodes={},Ze(t.containedEdges,(function(g,t){A.containedEdges[t]=g})),t.containedEdges={},Ze(t.edges,(function(g){Ze(A.edges,(function(t){var C,I,e=uI(C=t.clusteringEdgeReplacingIds).call(C,g.id);-1!==e&&(Ze(g.clusteringEdgeReplacingIds,(function(g){t.clusteringEdgeReplacingIds.push(g),A.body.edges[g].edgeReplacedById=t.id})),Ii(I=t.clusteringEdgeReplacingIds).call(I,e,1))}))})),t.edges=[]}}]),t}(ja),Jd=function(){function g(A){var t=this;Tn(this,g),this.body=A,this.clusteredNodes={},this.clusteredEdges={},this.options={},this.defaultOptions={},yg(this.options,this.defaultOptions),this.body.emitter.on("_resetData",(function(){t.clusteredNodes={},t.clusteredEdges={}}))}return Rn(g,[{key:"clusterByHubsize",value:function(g,A){void 0===g?g=this._getHubSize():"object"===Ae(g)&&(A=this._checkOptions(g),g=this._getHubSize());for(var t=[],C=0;C<this.body.nodeIndices.length;C++){var I=this.body.nodes[this.body.nodeIndices[C]];I.edges.length>=g&&t.push(I.id)}for(var e=0;e<t.length;e++)this.clusterByConnection(t[e],A,!0);this.body.emitter.emit("_dataChanged")}},{key:"cluster",value:function(){var g=this,A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(void 0===A.joinCondition)throw new Error("Cannot call clusterByNodeData without a joinCondition function in the options.");A=this._checkOptions(A);var C={},I={};Ze(this.body.nodes,(function(t,e){t.options&&!0===A.joinCondition(t.options)&&(C[e]=t,Ze(t.edges,(function(A){void 0===g.clusteredEdges[A.id]&&(I[A.id]=A)})))})),this._cluster(C,I,A,t)}},{key:"clusterByEdgeCount",value:function(g,A){var t=this,C=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];A=this._checkOptions(A);for(var I,e,i,o=[],n={},r=function(C){var r={},s={},a=t.body.nodeIndices[C],d=t.body.nodes[a];if(void 0===n[a]){i=0,e=[];for(var h=0;h<d.edges.length;h++)I=d.edges[h],void 0===t.clusteredEdges[I.id]&&(I.toId!==I.fromId&&i++,e.push(I));if(i===g){for(var l=function(g){if(void 0===A.joinCondition||null===A.joinCondition)return!0;var t=Kd.cloneOptions(g);return A.joinCondition(t)},c=!0,u=0;u<e.length;u++){I=e[u];var p=t._getConnectedId(I,a);if(!l(d)){c=!1;break}s[I.id]=I,r[a]=d,r[p]=t.body.nodes[p],n[a]=!0}if(HI(r).length>0&&HI(s).length>0&&!0===c){var v=function(){for(var g=0;g<o.length;++g)for(var A in r)if(void 0!==o[g].nodes[A])return o[g]}();if(void 0!==v){for(var f in r)void 0===v.nodes[f]&&(v.nodes[f]=r[f]);for(var y in s)void 0===v.edges[y]&&(v.edges[y]=s[y])}else o.push({nodes:r,edges:s})}}}},s=0;s<this.body.nodeIndices.length;s++)r(s);for(var a=0;a<o.length;a++)this._cluster(o[a].nodes,o[a].edges,A,!1);!0===C&&this.body.emitter.emit("_dataChanged")}},{key:"clusterOutliers",value:function(g){var A=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(1,g,A)}},{key:"clusterBridges",value:function(g){var A=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(2,g,A)}},{key:"clusterByConnection",value:function(g,A){var t,C=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0===g)throw new Error("No nodeId supplied to clusterByConnection!");if(void 0===this.body.nodes[g])throw new Error("The nodeId given to clusterByConnection does not exist!");var I=this.body.nodes[g];void 0===(A=this._checkOptions(A,I)).clusterNodeProperties.x&&(A.clusterNodeProperties.x=I.x),void 0===A.clusterNodeProperties.y&&(A.clusterNodeProperties.y=I.y),void 0===A.clusterNodeProperties.fixed&&(A.clusterNodeProperties.fixed={},A.clusterNodeProperties.fixed.x=I.options.fixed.x,A.clusterNodeProperties.fixed.y=I.options.fixed.y);var e={},i={},o=I.id,n=Kd.cloneOptions(I);e[o]=I;for(var r=0;r<I.edges.length;r++){var s=I.edges[r];if(void 0===this.clusteredEdges[s.id]){var a=this._getConnectedId(s,o);if(void 0===this.clusteredNodes[a])if(a!==o)if(void 0===A.joinCondition)i[s.id]=s,e[a]=this.body.nodes[a];else{var d=Kd.cloneOptions(this.body.nodes[a]);!0===A.joinCondition(n,d)&&(i[s.id]=s,e[a]=this.body.nodes[a])}else i[s.id]=s}}var h=JI(t=HI(e)).call(t,(function(g){return e[g].id}));for(var l in e)if(Object.prototype.hasOwnProperty.call(e,l))for(var c=e[l],u=0;u<c.edges.length;u++){var p=c.edges[u];uI(h).call(h,this._getConnectedId(p,c.id))>-1&&(i[p.id]=p)}this._cluster(e,i,A,C)}},{key:"_createClusterEdges",value:function(g,A,t,C){for(var I,e,i,o,n,r,s=HI(g),a=[],d=0;d<s.length;d++){i=g[e=s[d]];for(var h=0;h<i.edges.length;h++)I=i.edges[h],void 0===this.clusteredEdges[I.id]&&(I.toId==I.fromId?A[I.id]=I:I.toId==e?(o=t.id,r=n=I.fromId):(o=I.toId,n=t.id,r=o),void 0===g[r]&&a.push({edge:I,fromId:n,toId:o}))}for(var l=[],c=function(g){for(var A=0;A<l.length;A++){var t=l[A],C=g.fromId===t.fromId&&g.toId===t.toId,I=g.fromId===t.toId&&g.toId===t.fromId;if(C||I)return t}return null},u=0;u<a.length;u++){var p=a[u],v=p.edge,f=c(p);null===f?(f=this._createClusteredEdge(p.fromId,p.toId,v,C),l.push(f)):f.clusteringEdgeReplacingIds.push(v.id),this.body.edges[v.id].edgeReplacedById=f.id,this._backupEdgeOptions(v),v.setOptions({physics:!1})}}},{key:"_checkOptions",value:function(){var g=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return void 0===g.clusterEdgeProperties&&(g.clusterEdgeProperties={}),void 0===g.clusterNodeProperties&&(g.clusterNodeProperties={}),g}},{key:"_cluster",value:function(g,A,t){var C=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],I=[];for(var e in g)Object.prototype.hasOwnProperty.call(g,e)&&void 0!==this.clusteredNodes[e]&&I.push(e);for(var i=0;i<I.length;++i)delete g[I[i]];if(0!=HI(g).length&&(1!=HI(g).length||1==t.clusterNodeProperties.allowSingleNodeCluster)){var o=Me({},t.clusterNodeProperties);if(void 0!==t.processProperties){var n=[];for(var r in g)if(Object.prototype.hasOwnProperty.call(g,r)){var s=Kd.cloneOptions(g[r]);n.push(s)}var a=[];for(var d in A)if(Object.prototype.hasOwnProperty.call(A,d)&&"clusterEdge:"!==d.substr(0,12)){var h=Kd.cloneOptions(A[d],"edge");a.push(h)}if(!(o=t.processProperties(o,n,a)))throw new Error("The processProperties function does not return properties!")}void 0===o.id&&(o.id="cluster:"+us());var l=o.id;void 0===o.label&&(o.label="cluster");var c=void 0;void 0===o.x&&(c=this._getClusterPosition(g),o.x=c.x),void 0===o.y&&(void 0===c&&(c=this._getClusterPosition(g)),o.y=c.y),o.id=l;var u=this.body.functions.createNode(o,_d);u.containedNodes=g,u.containedEdges=A,u.clusterEdgeProperties=t.clusterEdgeProperties,this.body.nodes[o.id]=u,this._clusterEdges(g,A,o,t.clusterEdgeProperties),o.id=void 0,!0===C&&this.body.emitter.emit("_dataChanged")}}},{key:"_backupEdgeOptions",value:function(g){void 0===this.clusteredEdges[g.id]&&(this.clusteredEdges[g.id]={physics:g.options.physics})}},{key:"_restoreEdge",value:function(g){var A=this.clusteredEdges[g.id];void 0!==A&&(g.setOptions({physics:A.physics}),delete this.clusteredEdges[g.id])}},{key:"isCluster",value:function(g){return void 0!==this.body.nodes[g]?!0===this.body.nodes[g].isCluster:(console.log("Node does not exist."),!1)}},{key:"_getClusterPosition",value:function(g){for(var A,t=HI(g),C=g[t[0]].x,I=g[t[0]].x,e=g[t[0]].y,i=g[t[0]].y,o=1;o<t.length;o++)C=(A=g[t[o]]).x<C?A.x:C,I=A.x>I?A.x:I,e=A.y<e?A.y:e,i=A.y>i?A.y:i;return{x:.5*(C+I),y:.5*(e+i)}}},{key:"openCluster",value:function(g,A){var t=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0===g)throw new Error("No clusterNodeId supplied to openCluster.");var C=this.body.nodes[g];if(void 0===C)throw new Error("The clusterNodeId supplied to openCluster does not exist.");if(!0!==C.isCluster||void 0===C.containedNodes||void 0===C.containedEdges)throw new Error("The node:"+g+" is not a valid cluster.");var I=this.findNode(g),e=uI(I).call(I,g)-1;if(e>=0){var i=I[e],o=this.body.nodes[i];return o._openChildCluster(g),delete this.body.nodes[g],void(!0===t&&this.body.emitter.emit("_dataChanged"))}var n=C.containedNodes,r=C.containedEdges;if(void 0!==A&&void 0!==A.releaseFunction&&"function"==typeof A.releaseFunction){var s={},a={x:C.x,y:C.y};for(var d in n)if(Object.prototype.hasOwnProperty.call(n,d)){var h=this.body.nodes[d];s[d]={x:h.x,y:h.y}}var l=A.releaseFunction(a,s);for(var c in n)if(Object.prototype.hasOwnProperty.call(n,c)){var u=this.body.nodes[c];void 0!==l[c]&&(u.x=void 0===l[c].x?C.x:l[c].x,u.y=void 0===l[c].y?C.y:l[c].y)}}else Ze(n,(function(g){!1===g.options.fixed.x&&(g.x=C.x),!1===g.options.fixed.y&&(g.y=C.y)}));for(var p in n)if(Object.prototype.hasOwnProperty.call(n,p)){var v=this.body.nodes[p];v.vx=C.vx,v.vy=C.vy,v.setOptions({physics:!0}),delete this.clusteredNodes[p]}for(var f=[],y=0;y<C.edges.length;y++)f.push(C.edges[y]);for(var b=0;b<f.length;b++){for(var m=f[b],w=this._getConnectedId(m,g),k=this.clusteredNodes[w],x=0;x<m.clusteringEdgeReplacingIds.length;x++){var O=m.clusteringEdgeReplacingIds[x],E=this.body.edges[O];if(void 0!==E)if(void 0!==k){var T=this.body.nodes[k.clusterId];T.containedEdges[E.id]=E,delete r[E.id];var D=E.fromId,R=E.toId;E.toId==w?R=k.clusterId:D=k.clusterId,this._createClusteredEdge(D,R,E,T.clusterEdgeProperties,{hidden:!1,physics:!0})}else this._restoreEdge(E)}m.remove()}for(var N in r)Object.prototype.hasOwnProperty.call(r,N)&&this._restoreEdge(r[N]);delete this.body.nodes[g],!0===t&&this.body.emitter.emit("_dataChanged")}},{key:"getNodesInCluster",value:function(g){var A=[];if(!0===this.isCluster(g)){var t=this.body.nodes[g].containedNodes;for(var C in t)Object.prototype.hasOwnProperty.call(t,C)&&A.push(this.body.nodes[C].id)}return A}},{key:"findNode",value:function(g){for(var A,t=[],C=0;void 0!==this.clusteredNodes[g]&&C<100;){if(void 0===(A=this.body.nodes[g]))return[];t.push(A.id),g=this.clusteredNodes[g].clusterId,C++}return void 0===(A=this.body.nodes[g])?[]:(t.push(A.id),Ud(t).call(t),t)}},{key:"updateClusteredNode",value:function(g,A){if(void 0===g)throw new Error("No clusteredNodeId supplied to updateClusteredNode.");if(void 0===A)throw new Error("No newOptions supplied to updateClusteredNode.");if(void 0===this.body.nodes[g])throw new Error("The clusteredNodeId supplied to updateClusteredNode does not exist.");this.body.nodes[g].setOptions(A),this.body.emitter.emit("_dataChanged")}},{key:"updateEdge",value:function(g,A){if(void 0===g)throw new Error("No startEdgeId supplied to updateEdge.");if(void 0===A)throw new Error("No newOptions supplied to updateEdge.");if(void 0===this.body.edges[g])throw new Error("The startEdgeId supplied to updateEdge does not exist.");for(var t=this.getClusteredEdges(g),C=0;C<t.length;C++){this.body.edges[t[C]].setOptions(A)}this.body.emitter.emit("_dataChanged")}},{key:"getClusteredEdges",value:function(g){for(var A=[],t=0;void 0!==g&&void 0!==this.body.edges[g]&&t<100;)A.push(this.body.edges[g].id),g=this.body.edges[g].edgeReplacedById,t++;return Ud(A).call(A),A}},{key:"getBaseEdge",value:function(g){return this.getBaseEdges(g)[0]}},{key:"getBaseEdges",value:function(g){for(var A=[g],t=[],C=[],I=0;A.length>0&&I<100;){var e=A.pop();if(void 0!==e){var i=this.body.edges[e];if(void 0!==i){I++;var o=i.clusteringEdgeReplacingIds;if(void 0===o)C.push(e);else for(var n=0;n<o.length;++n){var r=o[n];-1===uI(A).call(A,o)&&-1===uI(t).call(t,o)&&A.push(r)}t.push(e)}}}return C}},{key:"_getConnectedId",value:function(g,A){return g.toId!=A?g.toId:(g.fromId,g.fromId)}},{key:"_getHubSize",value:function(){for(var g=0,A=0,t=0,C=0,I=0;I<this.body.nodeIndices.length;I++){var e=this.body.nodes[this.body.nodeIndices[I]];e.edges.length>C&&(C=e.edges.length),g+=e.edges.length,A+=Math.pow(e.edges.length,2),t+=1}g/=t;var i=(A/=t)-Math.pow(g,2),o=Math.sqrt(i),n=Math.floor(g+2*o);return n>C&&(n=C),n}},{key:"_createClusteredEdge",value:function(g,A,t,C,I){var e=Kd.cloneOptions(t,"edge");Me(e,C),e.from=g,e.to=A,e.id="clusterEdge:"+us(),void 0!==I&&Me(e,I);var i=this.body.functions.createEdge(e);return i.clusteringEdgeReplacingIds=[t.id],i.connect(),this.body.edges[i.id]=i,i}},{key:"_clusterEdges",value:function(g,A,t,C){if(A instanceof Rd){var I=A,e={};e[I.id]=I,A=e}if(g instanceof ja){var i=g,o={};o[i.id]=i,g=o}if(null==t)throw new Error("_clusterEdges: parameter clusterNode required");for(var n in void 0===C&&(C=t.clusterEdgeProperties),this._createClusterEdges(g,A,t,C),A)if(Object.prototype.hasOwnProperty.call(A,n)&&void 0!==this.body.edges[n]){var r=this.body.edges[n];this._backupEdgeOptions(r),r.setOptions({physics:!1})}for(var s in g)Object.prototype.hasOwnProperty.call(g,s)&&(this.clusteredNodes[s]={clusterId:t.id,node:this.body.nodes[s]},this.body.nodes[s].setOptions({physics:!1}))}},{key:"_getClusterNodeForNode",value:function(g){if(void 0!==g){var A=this.clusteredNodes[g];if(void 0!==A){var t=A.clusterId;if(void 0!==t)return this.body.nodes[t]}}}},{key:"_filter",value:function(g,A){var t=[];return Ze(g,(function(g){A(g)&&t.push(g)})),t}},{key:"_updateState",value:function(){var g,A=this,t=[],C={},I=function(g){Ze(A.body.nodes,(function(A){!0===A.isCluster&&g(A)}))};for(g in this.clusteredNodes){if(Object.prototype.hasOwnProperty.call(this.clusteredNodes,g))void 0===this.body.nodes[g]&&t.push(g)}I((function(g){for(var A=0;A<t.length;A++)delete g.containedNodes[t[A]]}));for(var e=0;e<t.length;e++)delete this.clusteredNodes[t[e]];Ze(this.clusteredEdges,(function(g){var t=A.body.edges[g];void 0!==t&&t.endPointsValid()||(C[g]=g)})),I((function(g){Ze(g.containedEdges,(function(g,A){g.endPointsValid()||C[A]||(C[A]=A)}))})),Ze(this.body.edges,(function(g,t){var I=!0,e=g.clusteringEdgeReplacingIds;if(void 0!==e){var i=0;Ze(e,(function(g){var t=A.body.edges[g];void 0!==t&&t.endPointsValid()&&(i+=1)})),I=i>0}g.endPointsValid()&&I||(C[t]=t)})),I((function(g){Ze(C,(function(t){delete g.containedEdges[t],Ze(g.edges,(function(I,e){I.id!==t?I.clusteringEdgeReplacingIds=A._filter(I.clusteringEdgeReplacingIds,(function(g){return!C[g]})):g.edges[e]=null})),g.edges=A._filter(g.edges,(function(g){return null!==g}))}))})),Ze(C,(function(g){delete A.clusteredEdges[g]})),Ze(C,(function(g){delete A.body.edges[g]})),Ze(HI(this.body.edges),(function(g){var t=A.body.edges[g],C=A._isClusteredNode(t.fromId)||A._isClusteredNode(t.toId);if(C!==A._isClusteredEdge(t.id))if(C){var I=A._getClusterNodeForNode(t.fromId);void 0!==I&&A._clusterEdges(A.body.nodes[t.fromId],t,I);var e=A._getClusterNodeForNode(t.toId);void 0!==e&&A._clusterEdges(A.body.nodes[t.toId],t,e)}else delete A._clusterEdges[g],A._restoreEdge(t)}));for(var i=!1,o=!0,n=function(){var g=[];I((function(A){var t=HI(A.containedNodes).length,C=!0===A.options.allowSingleNodeCluster;(C&&t<1||!C&&t<2)&&g.push(A.id)}));for(var t=0;t<g.length;++t)A.openCluster(g[t],{},!1);o=g.length>0,i=i||o};o;)n();i&&this._updateState()}},{key:"_isClusteredNode",value:function(g){return void 0!==this.clusteredNodes[g]}},{key:"_isClusteredEdge",value:function(g){return void 0!==this.clusteredEdges[g]}}]),g}();var qd=function(){function g(A,t){var C;Tn(this,g),void 0!==window&&(C=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame),window.requestAnimationFrame=void 0===C?function(g){g()}:C,this.body=A,this.canvas=t,this.redrawRequested=!1,this.renderTimer=void 0,this.requiresTimeout=!0,this.renderingActive=!1,this.renderRequests=0,this.allowRedraw=!0,this.dragging=!1,this.zooming=!1,this.options={},this.defaultOptions={hideEdgesOnDrag:!1,hideEdgesOnZoom:!1,hideNodesOnDrag:!1},yg(this.options,this.defaultOptions),this._determineBrowserMethod(),this.bindEventListeners()}return Rn(g,[{key:"bindEventListeners",value:function(){var g,A=this;this.body.emitter.on("dragStart",(function(){A.dragging=!0})),this.body.emitter.on("dragEnd",(function(){A.dragging=!1})),this.body.emitter.on("zoom",(function(){A.zooming=!0,window.clearTimeout(A.zoomTimeoutId),A.zoomTimeoutId=window.setTimeout((function(){var g;A.zooming=!1,$(g=A._requestRedraw).call(g,A)()}),250)})),this.body.emitter.on("_resizeNodes",(function(){A._resizeNodes()})),this.body.emitter.on("_redraw",(function(){!1===A.renderingActive&&A._redraw()})),this.body.emitter.on("_blockRedraw",(function(){A.allowRedraw=!1})),this.body.emitter.on("_allowRedraw",(function(){A.allowRedraw=!0,A.redrawRequested=!1})),this.body.emitter.on("_requestRedraw",$(g=this._requestRedraw).call(g,this)),this.body.emitter.on("_startRendering",(function(){A.renderRequests+=1,A.renderingActive=!0,A._startRendering()})),this.body.emitter.on("_stopRendering",(function(){A.renderRequests-=1,A.renderingActive=A.renderRequests>0,A.renderTimer=void 0})),this.body.emitter.on("destroy",(function(){A.renderRequests=0,A.allowRedraw=!1,A.renderingActive=!1,!0===A.requiresTimeout?clearTimeout(A.renderTimer):window.cancelAnimationFrame(A.renderTimer),A.body.emitter.off()}))}},{key:"setOptions",value:function(g){if(void 0!==g){Ne(["hideEdgesOnDrag","hideEdgesOnZoom","hideNodesOnDrag"],this.options,g)}}},{key:"_requestNextFrame",value:function(g,A){if("undefined"!=typeof window){var t,C=window;return!0===this.requiresTimeout?t=C.setTimeout(g,A):C.requestAnimationFrame&&(t=C.requestAnimationFrame(g)),t}}},{key:"_startRendering",value:function(){var g;!0===this.renderingActive&&(void 0===this.renderTimer&&(this.renderTimer=this._requestNextFrame($(g=this._renderStep).call(g,this),this.simulationInterval)))}},{key:"_renderStep",value:function(){!0===this.renderingActive&&(this.renderTimer=void 0,!0===this.requiresTimeout&&this._startRendering(),this._redraw(),!1===this.requiresTimeout&&this._startRendering())}},{key:"redraw",value:function(){this.body.emitter.emit("setSize"),this._redraw()}},{key:"_requestRedraw",value:function(){var g=this;!0!==this.redrawRequested&&!1===this.renderingActive&&!0===this.allowRedraw&&(this.redrawRequested=!0,this._requestNextFrame((function(){g._redraw(!1)}),0))}},{key:"_redraw",value:function(){var g=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!0===this.allowRedraw){this.body.emitter.emit("initRedraw"),this.redrawRequested=!1,0!==this.canvas.frame.canvas.width&&0!==this.canvas.frame.canvas.height||this.canvas.setSize(),this.canvas.setTransform();var A=this.canvas.getContext(),t=this.canvas.frame.canvas.clientWidth,C=this.canvas.frame.canvas.clientHeight;if(A.clearRect(0,0,t,C),0===this.canvas.frame.clientWidth)return;A.save(),A.translate(this.body.view.translation.x,this.body.view.translation.y),A.scale(this.body.view.scale,this.body.view.scale),A.beginPath(),this.body.emitter.emit("beforeDrawing",A),A.closePath(),!1===g&&(!1===this.dragging||!0===this.dragging&&!1===this.options.hideEdgesOnDrag)&&(!1===this.zooming||!0===this.zooming&&!1===this.options.hideEdgesOnZoom)&&this._drawEdges(A),(!1===this.dragging||!0===this.dragging&&!1===this.options.hideNodesOnDrag)&&this._drawNodes(A,g),!1===g&&(!1===this.dragging||!0===this.dragging&&!1===this.options.hideEdgesOnDrag)&&(!1===this.zooming||!0===this.zooming&&!1===this.options.hideEdgesOnZoom)&&this._drawArrows(A),!1===g&&this._drawSelectionBox(A),A.beginPath(),this.body.emitter.emit("afterDrawing",A),A.closePath(),A.restore(),!0===g&&A.clearRect(0,0,t,C)}}},{key:"_resizeNodes",value:function(){this.canvas.setTransform();var g=this.canvas.getContext();g.save(),g.translate(this.body.view.translation.x,this.body.view.translation.y),g.scale(this.body.view.scale,this.body.view.scale);var A,t=this.body.nodes;for(var C in t)Object.prototype.hasOwnProperty.call(t,C)&&((A=t[C]).resize(g),A.updateBoundingBox(g,A.selected));g.restore()}},{key:"_drawNodes",value:function(g){for(var A,t,C=arguments.length>1&&void 0!==arguments[1]&&arguments[1],I=this.body.nodes,e=this.body.nodeIndices,i=[],o=[],n=20,r=this.canvas.DOMtoCanvas({x:-n,y:-n}),s=this.canvas.DOMtoCanvas({x:this.canvas.frame.canvas.clientWidth+n,y:this.canvas.frame.canvas.clientHeight+n}),a={top:r.y,left:r.x,bottom:s.y,right:s.x},d=0;d<e.length;d++)(A=I[e[d]]).hover?o.push(e[d]):A.isSelected()?i.push(e[d]):!0===C||!0===A.isBoundingBoxOverlappingWith(a)?A.draw(g):A.updateBoundingBox(g,A.selected);var h=i.length,l=o.length;for(t=0;t<h;t++)(A=I[i[t]]).draw(g);for(t=0;t<l;t++)(A=I[o[t]]).draw(g)}},{key:"_drawEdges",value:function(g){for(var A=this.body.edges,t=this.body.edgeIndices,C=0;C<t.length;C++){var I=A[t[C]];!0===I.connected&&I.draw(g)}}},{key:"_drawArrows",value:function(g){for(var A=this.body.edges,t=this.body.edgeIndices,C=0;C<t.length;C++){var I=A[t[C]];!0===I.connected&&I.drawArrows(g)}}},{key:"_determineBrowserMethod",value:function(){if("undefined"!=typeof window){var g=navigator.userAgent.toLowerCase();this.requiresTimeout=!1,(-1!=uI(g).call(g,"msie 9.0")||-1!=uI(g).call(g,"safari")&&uI(g).call(g,"chrome")<=-1)&&(this.requiresTimeout=!0)}else this.requiresTimeout=!0}},{key:"_drawSelectionBox",value:function(g){if(this.body.selectionBox.show){g.beginPath();var A=this.body.selectionBox.position.end.x-this.body.selectionBox.position.start.x,t=this.body.selectionBox.position.end.y-this.body.selectionBox.position.start.y;g.rect(this.body.selectionBox.position.start.x,this.body.selectionBox.position.start.y,A,t),g.fillStyle="rgba(151, 194, 252, 0.2)",g.fillRect(this.body.selectionBox.position.start.x,this.body.selectionBox.position.start.y,A,t),g.strokeStyle="rgba(151, 194, 252, 1)",g.stroke()}else g.closePath()}}]),g}(),$d=B.setInterval;function gh(g,A){A.inputHandler=function(g){g.isFirst&&A(g)},g.on("hammer.input",A.inputHandler)}function Ah(g,A){return A.inputHandler=function(g){g.isFinal&&A(g)},g.on("hammer.input",A.inputHandler)}var th=function(){function g(A){var t;Tn(this,g),this.body=A,this.pixelRatio=1,this.resizeTimer=void 0,this.resizeFunction=$(t=this._onResize).call(t,this),this.cameraState={},this.initialized=!1,this.canvasViewCenter={},this.options={},this.defaultOptions={autoResize:!0,height:"100%",width:"100%"},yg(this.options,this.defaultOptions),this.bindEventListeners()}return Rn(g,[{key:"bindEventListeners",value:function(){var g,A=this;this.body.emitter.once("resize",(function(g){0!==g.width&&(A.body.view.translation.x=.5*g.width),0!==g.height&&(A.body.view.translation.y=.5*g.height)})),this.body.emitter.on("setSize",$(g=this.setSize).call(g,this)),this.body.emitter.on("destroy",(function(){A.hammerFrame.destroy(),A.hammer.destroy(),A._cleanUp()}))}},{key:"setOptions",value:function(g){var A,t,C,I,e,i,o=this;if(void 0!==g){Ne(["width","height","autoResize"],this.options,g)}!0===this.options.autoResize&&(this._cleanUp(),this.resizeTimer=$d((function(){!0===o.setSize()&&o.body.emitter.emit("_requestRedraw")}),1e3),this.resizeFunction=$(A=this._onResize).call(A,this),t=window,C="resize",I=this.resizeFunction,t.addEventListener?(void 0===e&&(e=!1),"mousewheel"===C&&uI(i=navigator.userAgent).call(i,"Firefox")>=0&&(C="DOMMouseScroll"),t.addEventListener(C,I,e)):t.attachEvent("on"+C,I))}},{key:"_cleanUp",value:function(){var g,A,t,C,I;void 0!==this.resizeTimer&&clearInterval(this.resizeTimer),g=window,A="resize",t=this.resizeFunction,g.removeEventListener?(void 0===C&&(C=!1),"mousewheel"===A&&uI(I=navigator.userAgent).call(I,"Firefox")>=0&&(A="DOMMouseScroll"),g.removeEventListener(A,t,C)):g.detachEvent("on"+A,t),this.resizeFunction=void 0}},{key:"_onResize",value:function(){this.setSize(),this.body.emitter.emit("_redraw")}},{key:"_getCameraState",value:function(){var g=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.pixelRatio;!0===this.initialized&&(this.cameraState.previousWidth=this.frame.canvas.width/g,this.cameraState.previousHeight=this.frame.canvas.height/g,this.cameraState.scale=this.body.view.scale,this.cameraState.position=this.DOMtoCanvas({x:.5*this.frame.canvas.width/g,y:.5*this.frame.canvas.height/g}))}},{key:"_setCameraState",value:function(){if(void 0!==this.cameraState.scale&&0!==this.frame.canvas.clientWidth&&0!==this.frame.canvas.clientHeight&&0!==this.pixelRatio&&this.cameraState.previousWidth>0&&this.cameraState.previousHeight>0){var g=this.frame.canvas.width/this.pixelRatio/this.cameraState.previousWidth,A=this.frame.canvas.height/this.pixelRatio/this.cameraState.previousHeight,t=this.cameraState.scale;1!=g&&1!=A?t=.5*this.cameraState.scale*(g+A):1!=g?t=this.cameraState.scale*g:1!=A&&(t=this.cameraState.scale*A),this.body.view.scale=t;var C=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),I={x:C.x-this.cameraState.position.x,y:C.y-this.cameraState.position.y};this.body.view.translation.x+=I.x*this.body.view.scale,this.body.view.translation.y+=I.y*this.body.view.scale}}},{key:"_prepareValue",value:function(g){if("number"==typeof g)return g+"px";if("string"==typeof g){if(-1!==uI(g).call(g,"%")||-1!==uI(g).call(g,"px"))return g;if(-1===uI(g).call(g,"%"))return g+"px"}throw new Error("Could not use the value supplied for width or height:"+g)}},{key:"_create",value:function(){for(;this.body.container.hasChildNodes();)this.body.container.removeChild(this.body.container.firstChild);if(this.frame=document.createElement("div"),this.frame.className="vis-network",this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.tabIndex=900,this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),this.frame.canvas.getContext)this._setPixelRatio(),this.setTransform();else{var g=document.createElement("DIV");g.style.color="red",g.style.fontWeight="bold",g.style.padding="10px",g.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(g)}this.body.container.appendChild(this.frame),this.body.view.scale=1,this.body.view.translation={x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight},this._bindHammer()}},{key:"_bindHammer",value:function(){var g=this;void 0!==this.hammer&&this.hammer.destroy(),this.drag={},this.pinch={},this.hammer=new xn(this.frame.canvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:xn.DIRECTION_ALL}),gh(this.hammer,(function(A){g.body.eventListeners.onTouch(A)})),this.hammer.on("tap",(function(A){g.body.eventListeners.onTap(A)})),this.hammer.on("doubletap",(function(A){g.body.eventListeners.onDoubleTap(A)})),this.hammer.on("press",(function(A){g.body.eventListeners.onHold(A)})),this.hammer.on("panstart",(function(A){g.body.eventListeners.onDragStart(A)})),this.hammer.on("panmove",(function(A){g.body.eventListeners.onDrag(A)})),this.hammer.on("panend",(function(A){g.body.eventListeners.onDragEnd(A)})),this.hammer.on("pinch",(function(A){g.body.eventListeners.onPinch(A)})),this.frame.canvas.addEventListener("wheel",(function(A){g.body.eventListeners.onMouseWheel(A)})),this.frame.canvas.addEventListener("mousemove",(function(A){g.body.eventListeners.onMouseMove(A)})),this.frame.canvas.addEventListener("contextmenu",(function(A){g.body.eventListeners.onContext(A)})),this.hammerFrame=new xn(this.frame),Ah(this.hammerFrame,(function(A){g.body.eventListeners.onRelease(A)}))}},{key:"setSize",value:function(){var g=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.width,A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.height;g=this._prepareValue(g),A=this._prepareValue(A);var t=!1,C=this.frame.canvas.width,I=this.frame.canvas.height,e=this.pixelRatio;if(this._setPixelRatio(),g!=this.options.width||A!=this.options.height||this.frame.style.width!=g||this.frame.style.height!=A)this._getCameraState(e),this.frame.style.width=g,this.frame.style.height=A,this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),this.options.width=g,this.options.height=A,this.canvasViewCenter={x:.5*this.frame.clientWidth,y:.5*this.frame.clientHeight},t=!0;else{var i=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),o=Math.round(this.frame.canvas.clientHeight*this.pixelRatio);this.frame.canvas.width===i&&this.frame.canvas.height===o||this._getCameraState(e),this.frame.canvas.width!==i&&(this.frame.canvas.width=i,t=!0),this.frame.canvas.height!==o&&(this.frame.canvas.height=o,t=!0)}return!0===t&&(this.body.emitter.emit("resize",{width:Math.round(this.frame.canvas.width/this.pixelRatio),height:Math.round(this.frame.canvas.height/this.pixelRatio),oldWidth:Math.round(C/this.pixelRatio),oldHeight:Math.round(I/this.pixelRatio)}),this._setCameraState()),this.initialized=!0,t}},{key:"getContext",value:function(){return this.frame.canvas.getContext("2d")}},{key:"_determinePixelRatio",value:function(){var g=this.getContext();if(void 0===g)throw new Error("Could not get canvax context");var A=1;return"undefined"!=typeof window&&(A=window.devicePixelRatio||1),A/(g.webkitBackingStorePixelRatio||g.mozBackingStorePixelRatio||g.msBackingStorePixelRatio||g.oBackingStorePixelRatio||g.backingStorePixelRatio||1)}},{key:"_setPixelRatio",value:function(){this.pixelRatio=this._determinePixelRatio()}},{key:"setTransform",value:function(){var g=this.getContext();if(void 0===g)throw new Error("Could not get canvax context");g.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}},{key:"_XconvertDOMtoCanvas",value:function(g){return(g-this.body.view.translation.x)/this.body.view.scale}},{key:"_XconvertCanvasToDOM",value:function(g){return g*this.body.view.scale+this.body.view.translation.x}},{key:"_YconvertDOMtoCanvas",value:function(g){return(g-this.body.view.translation.y)/this.body.view.scale}},{key:"_YconvertCanvasToDOM",value:function(g){return g*this.body.view.scale+this.body.view.translation.y}},{key:"canvasToDOM",value:function(g){return{x:this._XconvertCanvasToDOM(g.x),y:this._YconvertCanvasToDOM(g.y)}}},{key:"DOMtoCanvas",value:function(g){return{x:this._XconvertDOMtoCanvas(g.x),y:this._YconvertDOMtoCanvas(g.y)}}}]),g}(),Ch=function(){function g(A,t){var C,I,e=this;Tn(this,g),this.body=A,this.canvas=t,this.animationSpeed=1/this.renderRefreshRate,this.animationEasingFunction="easeInOutQuint",this.easingTime=0,this.sourceScale=0,this.targetScale=0,this.sourceTranslation=0,this.targetTranslation=0,this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0,this.touchTime=0,this.viewFunction=void 0,this.body.emitter.on("fit",$(C=this.fit).call(C,this)),this.body.emitter.on("animationFinished",(function(){e.body.emitter.emit("_stopRendering")})),this.body.emitter.on("unlockNode",$(I=this.releaseNode).call(I,this))}return Rn(g,[{key:"setOptions",value:function(){var g=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.options=g}},{key:"fit",value:function(){var g,A,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{nodes:[]},C=arguments.length>1&&void 0!==arguments[1]&&arguments[1];void 0!==(t=yg({},t)).nodes&&0!==t.nodes.length||(t.nodes=this.body.nodeIndices);var I=this.canvas.frame.canvas.clientWidth,e=this.canvas.frame.canvas.clientHeight;if(0===I||0===e)A=1,g=Kd.getRange(this.body.nodes,t.nodes);else if(!0===C){var i=0;for(var o in this.body.nodes)if(Object.prototype.hasOwnProperty.call(this.body.nodes,o)){var n=this.body.nodes[o];!0===n.predefinedPosition&&(i+=1)}if(i>.5*this.body.nodeIndices.length)return void this.fit(t,!1);g=Kd.getRange(this.body.nodes,t.nodes);var r=this.body.nodeIndices.length;A=12.662/(r+7.4147)+.0964822;var s=Math.min(I/600,e/600);A*=s}else{this.body.emitter.emit("_resizeNodes"),g=Kd.getRange(this.body.nodes,t.nodes);var a=1.1*Math.abs(g.maxX-g.minX),d=1.1*Math.abs(g.maxY-g.minY),h=I/a,l=e/d;A=h<=l?h:l}(A>1||0===A)&&(A=1);var c=Kd.findCenter(g),u={position:c,scale:A,animation:t.animation};this.moveTo(u)}},{key:"focus",value:function(g){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(void 0!==this.body.nodes[g]){var t={x:this.body.nodes[g].x,y:this.body.nodes[g].y};A.position=t,A.lockedOnNode=g,this.moveTo(A)}else console.log("Node: "+g+" cannot be found.")}},{key:"moveTo",value:function(g){if(void 0!==g){if(null!=g.offset){if(null!=g.offset.x){if(g.offset.x=+g.offset.x,!Qn(g.offset.x))throw new TypeError('The option "offset.x" has to be a finite number.')}else g.offset.x=0;if(null!=g.offset.y){if(g.offset.y=+g.offset.y,!Qn(g.offset.y))throw new TypeError('The option "offset.y" has to be a finite number.')}else g.offset.x=0}else g.offset={x:0,y:0};if(null!=g.position){if(null!=g.position.x){if(g.position.x=+g.position.x,!Qn(g.position.x))throw new TypeError('The option "position.x" has to be a finite number.')}else g.position.x=0;if(null!=g.position.y){if(g.position.y=+g.position.y,!Qn(g.position.y))throw new TypeError('The option "position.y" has to be a finite number.')}else g.position.x=0}else g.position=this.getViewPosition();if(null!=g.scale){if(g.scale=+g.scale,!(g.scale>0))throw new TypeError('The option "scale" has to be a number greater than zero.')}else g.scale=this.body.view.scale;void 0===g.animation&&(g.animation={duration:0}),!1===g.animation&&(g.animation={duration:0}),!0===g.animation&&(g.animation={}),void 0===g.animation.duration&&(g.animation.duration=1e3),void 0===g.animation.easingFunction&&(g.animation.easingFunction="easeInOutQuad"),this.animateView(g)}else g={}}},{key:"animateView",value:function(g){if(void 0!==g){this.animationEasingFunction=g.animation.easingFunction,this.releaseNode(),!0===g.locked&&(this.lockedOnNodeId=g.lockedOnNode,this.lockedOnNodeOffset=g.offset),0!=this.easingTime&&this._transitionRedraw(!0),this.sourceScale=this.body.view.scale,this.sourceTranslation=this.body.view.translation,this.targetScale=g.scale,this.body.view.scale=this.targetScale;var A,t,C=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),I=C.x-g.position.x,e=C.y-g.position.y;if(this.targetTranslation={x:this.sourceTranslation.x+I*this.targetScale+g.offset.x,y:this.sourceTranslation.y+e*this.targetScale+g.offset.y},0===g.animation.duration)if(null!=this.lockedOnNodeId)this.viewFunction=$(A=this._lockedRedraw).call(A,this),this.body.emitter.on("initRedraw",this.viewFunction);else this.body.view.scale=this.targetScale,this.body.view.translation=this.targetTranslation,this.body.emitter.emit("_requestRedraw");else this.animationSpeed=1/(60*g.animation.duration*.001)||1/60,this.animationEasingFunction=g.animation.easingFunction,this.viewFunction=$(t=this._transitionRedraw).call(t,this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering")}}},{key:"_lockedRedraw",value:function(){var g=this.body.nodes[this.lockedOnNodeId].x,A=this.body.nodes[this.lockedOnNodeId].y,t=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),C=t.x-g,I=t.y-A,e=this.body.view.translation,i={x:e.x+C*this.body.view.scale+this.lockedOnNodeOffset.x,y:e.y+I*this.body.view.scale+this.lockedOnNodeOffset.y};this.body.view.translation=i}},{key:"releaseNode",value:function(){void 0!==this.lockedOnNodeId&&void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0)}},{key:"_transitionRedraw",value:function(){var g=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.easingTime+=this.animationSpeed,this.easingTime=!0===g?1:this.easingTime;var A=_e[this.animationEasingFunction](this.easingTime);if(this.body.view.scale=this.sourceScale+(this.targetScale-this.sourceScale)*A,this.body.view.translation={x:this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*A,y:this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*A},this.easingTime>=1){var t;if(this.body.emitter.off("initRedraw",this.viewFunction),this.easingTime=0,null!=this.lockedOnNodeId)this.viewFunction=$(t=this._lockedRedraw).call(t,this),this.body.emitter.on("initRedraw",this.viewFunction);this.body.emitter.emit("animationFinished")}}},{key:"getScale",value:function(){return this.body.view.scale}},{key:"getViewPosition",value:function(){return this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight})}}]),g}();Xi("div.vis-network div.vis-navigation div.vis-button {\n width:34px;\n height:34px;\n -moz-border-radius: 17px;\n border-radius: 17px;\n position:absolute;\n display:inline-block;\n background-position: 2px 2px;\n background-repeat:no-repeat;\n cursor: pointer;\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\ndiv.vis-network div.vis-navigation div.vis-button:hover {\n box-shadow: 0 0 3px 3px rgba(56, 207, 21, 0.30);\n}\n\ndiv.vis-network div.vis-navigation div.vis-button:active {\n box-shadow: 0 0 1px 3px rgba(56, 207, 21, 0.95);\n}\n\ndiv.vis-network div.vis-navigation div.vis-button.vis-up {\n background-image: url('data:image/png;base64,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');\n bottom:50px;\n left:55px;\n}\ndiv.vis-network div.vis-navigation div.vis-button.vis-down {\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAABpdJREFUeNqcV21QlNcVfp5zX9ikoAvLEsAIIgsoHwpqWAQUNKLNaNv8iZ1JMkNG6/Qj/dDUyCSTtCHpmEkwVk3TToZRMjXj5MOG2KidjIkxQYSAQUAtX6IgIN8su8KCoOzbH4sk4q5g77/33uee555z7rnneYmZDB2MKcJKlyYbqOsZVIgGEOgSHQoy4AKbFFjqAo5dWn/rNAh9OpO852oeJHYxtrmEu4WALhMbxG2ZE9uFAlImDRLY/t/y0b3Ig+u+iWOKsAlgIZSb0OIf15kWtKo1NXh1d5xxiSPEN2wUAHrGOg11jirjWVtJyFnb6YgrzoYwocClu0DI5guPDb43Y2LLp/Iaqf9JCGSErGvIifxd7aqQn/TOJCvFvZ8Hf9haEH+m/6sFQgHBv1Sts/15WmJLkeyl6FuFwFPzny1/ZdE7Nfg/xhv1uUmH2w6kggQp+yqze7d5JbZ8Im+KpucSwI6EN7/cYtlxZarBCts3ptfrtq9odjaGKihE+sV0vRC3u8RqWmmbij149W+Wd5p2rnET6bsqsntyb6+pO3KqkE8FvLxo74lNUX9s9uTJb8/9fG2L81KoogJFYfCm3b9usNq0MXxzw1RsUkDqQICPqf/b/q8sQi3j4WdmtV47OFgNAO6r+DEUFAtFAc9YtpXmRP6hxVsI24cvhyoqnFtrK6jM7isgBa3Dl0O94TeGb255MvzXpUIFjVrhxo/dzgoARBuwFQJkBK9reCnurxfvXX8CRW3yW1G749vT2Br7ysW0oNX1pKDTPG+rm1gHRbibAHLm/7522sKnQCZqFgCUaBCqaS/bEw9vqtWoQROf3dBBiT6KTACImZ3YueqhDdOWjDbFQ4IzIl4elNUX5begU1HD6lPRmULKeghhDcpqnUmZuD3+nkgTH6gZEE9ctlZSoGmG9UIynSCsQVndMyX+IZGiBoHMjHh2SreCglClaSBiSEG8cYnD24bv7CWms/3FocO3hnw13plTggAFb196NdlPM44tC0zrSg5ItXmyEz070UEKCMRqQgkkBQ9NvL2eSJ+revoJTORSpoT6do4/7/7UShBFHQexM+HdfyUHWO8iN/uaRzX3/QjUSLlnqM72F4cCRIY5u9Zf+Y+BAv4AvzpkQ7WAIBRujA/7Vg6cia9xlId6InafVEAAGnQMUCSkb6zTMPdBy8hU3JjrphIq+CrD+Mvxeyumrr+4IH9y7o2GF5eDghuuGx4L2zbWZ9Dc0RoQRbkkFNRdP2/0BH7EtLJLKCjr+zqh2l5u8haZ847vTBW24kRFQXKAtcsT5oqz3igQENIoECkjBJUDZSGewBlBj/ammjLrdX1c/t70ero34gMte9IByLLAjPrUwKweT5jawQshdIuGMiF5XEBU2koivBl9NeEfJeYHwuxtI81zPrn2z6ip60c6DkV1jLTOCTaE2HNjd5Z4s9MwWBOhqEHp/I9cWDtUrJNoHm4KO9P7hdnTBoMYXI8Gb6gVCg63FS53jg9O5tA57tSOdHywnCAygrJrfcTgUe5U2cvNHSPtYYoKCWlrTgsIneB2AfFR+4F4b6f9ZdTzF6P8Ytud407/dy/nL7k9X9i8J9l5y+Ef6RfbnjPvWa8N5suez+KFCgqyPY95Lnd3stv2AcBZ2+mFbze+lui1xc3dXCUUlPafXNx4/aKxcajWWNp/MklRw8/mPFntbd+h1oLE847KhQQxejVg36QQqD0MPTzHv42Ux+uGasJNBnPfwllJd71kkX7RQ3WDNf7dox3BLcNNs6vt34bbbvYHJhlTGp6O+JVHb0/2HJtX1PH+aqECqG/5YN1nlXcokGvvO6vCc4x+QskotxVHB/qa+xbOWuzw8NB3nuo+Ht0z2hHsuGU3GrWAoZfi3jrxgHpw3BPpobaCH7vbqOw6mHI836vYW3Eqcq9AtioqbJy7ufQ3lhfu8sR+s9+3vL8klACsQSu7AnxMY1MxH7YXJp7oPpLulrrj+9575Ni2aeVt1teWfEWfHQLCaspseHzOU7VWU+aM5G2NoyL4i+6j8XWDNQsmGsKu/cv+nTtjQb/mm7hfENyvqEAK5v8opjPJaL26KGBpd5TfguuBvuZRgBgY6zO0jlyZXXe9JqR+8MK8ntHOMHfHIkhu2b/0yIH7/oXJ0yFlxYnPUdRbvuILgO7+y+91l6Ka6M+cnCf4fMSypXvymHf/vzBTD3CuNGUFKT8lmK5Rs5ASqKiBlAGBXFaiSuni0fkp1pJ7Ed4e/xsAqLk46EWsG1EAAAAASUVORK5CYII=');\n bottom:10px;\n left:55px;\n}\ndiv.vis-network div.vis-navigation div.vis-button.vis-left {\n background-image: url('data:image/png;base64,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');\n bottom:10px;\n left:15px;\n}\ndiv.vis-network div.vis-navigation div.vis-button.vis-right {\n background-image: url('data:image/png;base64,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');\n bottom:10px;\n left:95px;\n}\ndiv.vis-network div.vis-navigation div.vis-button.vis-zoomIn {\n background-image: url('data:image/png;base64,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');\n bottom:10px;\n right:15px;\n}\ndiv.vis-network div.vis-navigation div.vis-button.vis-zoomOut {\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAABV5JREFUeNq0l2tQVVUYht/3W/vACMr16IFRQDiAgChpgiikMqY1WjnN9KsfGOXYTOVgkvbDUsZuXrK0qZmGUSvNspjI8TZOmo6AGBoZYly8YB6Qw80DBwQ6jJ3dj30OZZmiwvtv77XW96y91l7v9y1iMNLBuCI84tZkIXU9gwqxAILdokNBOtzgJQWWuYEDFxfcLAGh3y0k79iaD4mfjOVu4WYhoItngBiR6RkuFJAyEJBA3m/lri3Ih/uewXFFyAG4A8oAWkcm2meEzrFNH53Vkhg4xWnxCXcBQGu/3bfGeTbwjKPUcsZRElnfUxcuFLh1Nwh5vurx7s8GDbZ+L+tI/U0hkGGZX5c9/pXqOZYn2gazK8Vth0fvsRUknbx+bIJQQPCts/Mda+4KthbJFoqeKwSejX6pfO2kjytxH1pfuyqlsGH7dJAgZWvFo23L/9muboF+JxtE0/OEwMqJG46uSHinFvepTPO8lhGaX+fPHSdjCKaPy/b3v7az58h/wHFFyIHCRirgjUlbfsiJWXEFD6iUoOkdQaaQ6z9dP2YVahljF4+yXdvZ/evf4G+hQk2sEAUsti4vWxa35gKGSBMDp3T23OxxVXdXRijKovSFzrerC6ELAMT6IhcCZIyeX7c68YPzGGLlxq89PyM0q5YU2M1RuQAg0EERbiaA7Ohl1RgmPTM2p1qjBk1Mm6GDErsfswAgLiDZPmfMwrbhAqeHzm6P8Z9gV9SQdTx2lpCyAEKkhc62YZiVEjTdRgo0zXeBRnImAaSFzm7xdjjtOBGyvmZVZkNvfZjXDhU14+BToFEDKRAQpAJ0HRTjP6XHpYUKEX7RzS9bV5c+FJTmAICUgNSWQ/ZCgJwhIOJIQVLgFKcXvKHm9cyGvithFDUAFQqECho1CBUIggYapAJ1QEFBExNMYoISDU1/NIR9cvndTG/c2IBkp2fC8ZpQgknBGI/3AsDvvRfDlJhwem5zwYMs7VNlaUtbXE1h3mezj9mlGSsXrBkzkFsGKGoDmedBJLfLjxQQgAYdHRSxtPfbfceNsPYBQPTI+GZbT31YxrGIpYoKpIKigkAgFOggNBrbQBBCBaEM2L+iGGmTgnF+Uc1epqO/3VejAoAOUZSLQkFN17lAb4eVCe+VRvvHN4sH6t1feqAmMUGoPHvvhdLzTjzfKoj0sza/GLOy1Bu3vqc20Pgl5YIGkVOEZFZ0nLLMszzdDADTgjIdX6Uf3zfUx6m6u8riKRhOCcmDAqLCURo53Oe4rrsyUlGD0nlIqubdKNZJXOm9FH6y7Yh5uKBnO8vNTX2N4YoKE2fMLREQOsE8AfFN4/ak4QIfbd2XJFRQkLx85ruN7NTp2AoAZxwlCR9dWJc81NDdtoLkc86KBIJwXQ3aOpCPqwuhR2SPbCBlUc2NyogQX3N7wqgU51BAf2w9EFXUtCtLqADqS76ev6/ilgrk2q6esxHZgf5CySh3FMcG+5jbE0ZNdj4odHdDwWPGcZNNO1MPbrxtzdW4s+tI5HPBwQTTzziKY3v/7HGlhmS23g90T+OO5L1Nu7MMw3Fv/Tx1f97/FnsAYPui8/D4nBB/oZZR230uoq67auQoLaB37Iio3sEAK52nR39p+zS13HFiilHeYtOOabdC71jQzz2R+ALBbcrjWNF+cfaUwLSrk4KmtsT4T+gK9jG7AKKjv93X1lcfUNNVaantropqddnDCcIoa7lk29S92+/5CpOvQ04VJ79KUe/7iI/Hh40U6c3PyuPjhmWKN8G8Fvnw1A/zmX/vV5h/T+CXstRMUp4kOFOjZiUlWBkFQYdALitRZXRzf3RqWumdgF79NQDBOa2V/iYSHAAAAABJRU5ErkJggg==');\n bottom:10px;\n right:55px;\n}\ndiv.vis-network div.vis-navigation div.vis-button.vis-zoomExtends {\n background-image: url('data:image/png;base64,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');\n bottom:50px;\n right:15px;\n}\n");var Ih=function(){function g(A,t){var C=this;Tn(this,g),this.body=A,this.canvas=t,this.iconsCreated=!1,this.navigationHammers=[],this.boundFunctions={},this.touchTime=0,this.activated=!1,this.body.emitter.on("activate",(function(){C.activated=!0,C.configureKeyboardBindings()})),this.body.emitter.on("deactivate",(function(){C.activated=!1,C.configureKeyboardBindings()})),this.body.emitter.on("destroy",(function(){void 0!==C.keycharm&&C.keycharm.destroy()})),this.options={}}return Rn(g,[{key:"setOptions",value:function(g){void 0!==g&&(this.options=g,this.create())}},{key:"create",value:function(){!0===this.options.navigationButtons?!1===this.iconsCreated&&this.loadNavigationElements():!0===this.iconsCreated&&this.cleanNavigation(),this.configureKeyboardBindings()}},{key:"cleanNavigation",value:function(){if(0!=this.navigationHammers.length){for(var g=0;g<this.navigationHammers.length;g++)this.navigationHammers[g].destroy();this.navigationHammers=[]}this.navigationDOM&&this.navigationDOM.wrapper&&this.navigationDOM.wrapper.parentNode&&this.navigationDOM.wrapper.parentNode.removeChild(this.navigationDOM.wrapper),this.iconsCreated=!1}},{key:"loadNavigationElements",value:function(){var g=this;this.cleanNavigation(),this.navigationDOM={};var A=["up","down","left","right","zoomIn","zoomOut","zoomExtends"],t=["_moveUp","_moveDown","_moveLeft","_moveRight","_zoomIn","_zoomOut","_fit"];this.navigationDOM.wrapper=document.createElement("div"),this.navigationDOM.wrapper.className="vis-navigation",this.canvas.frame.appendChild(this.navigationDOM.wrapper);for(var C=0;C<A.length;C++){this.navigationDOM[A[C]]=document.createElement("div"),this.navigationDOM[A[C]].className="vis-button vis-"+A[C],this.navigationDOM.wrapper.appendChild(this.navigationDOM[A[C]]);var I,e,i=new xn(this.navigationDOM[A[C]]);if("_fit"===t[C])gh(i,$(I=this._fit).call(I,this));else gh(i,$(e=this.bindToRedraw).call(e,this,t[C]));this.navigationHammers.push(i)}var o=new xn(this.canvas.frame);Ah(o,(function(){g._stopMovement()})),this.navigationHammers.push(o),this.iconsCreated=!0}},{key:"bindToRedraw",value:function(g){var A;void 0===this.boundFunctions[g]&&(this.boundFunctions[g]=$(A=this[g]).call(A,this),this.body.emitter.on("initRedraw",this.boundFunctions[g]),this.body.emitter.emit("_startRendering"))}},{key:"unbindFromRedraw",value:function(g){void 0!==this.boundFunctions[g]&&(this.body.emitter.off("initRedraw",this.boundFunctions[g]),this.body.emitter.emit("_stopRendering"),delete this.boundFunctions[g])}},{key:"_fit",value:function(){(new Date).valueOf()-this.touchTime>700&&(this.body.emitter.emit("fit",{duration:700}),this.touchTime=(new Date).valueOf())}},{key:"_stopMovement",value:function(){for(var g in this.boundFunctions)Object.prototype.hasOwnProperty.call(this.boundFunctions,g)&&(this.body.emitter.off("initRedraw",this.boundFunctions[g]),this.body.emitter.emit("_stopRendering"));this.boundFunctions={}}},{key:"_moveUp",value:function(){this.body.view.translation.y+=this.options.keyboard.speed.y}},{key:"_moveDown",value:function(){this.body.view.translation.y-=this.options.keyboard.speed.y}},{key:"_moveLeft",value:function(){this.body.view.translation.x+=this.options.keyboard.speed.x}},{key:"_moveRight",value:function(){this.body.view.translation.x-=this.options.keyboard.speed.x}},{key:"_zoomIn",value:function(){var g=this.body.view.scale,A=this.body.view.scale*(1+this.options.keyboard.speed.zoom),t=this.body.view.translation,C=A/g,I=(1-C)*this.canvas.canvasViewCenter.x+t.x*C,e=(1-C)*this.canvas.canvasViewCenter.y+t.y*C;this.body.view.scale=A,this.body.view.translation={x:I,y:e},this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale,pointer:null})}},{key:"_zoomOut",value:function(){var g=this.body.view.scale,A=this.body.view.scale/(1+this.options.keyboard.speed.zoom),t=this.body.view.translation,C=A/g,I=(1-C)*this.canvas.canvasViewCenter.x+t.x*C,e=(1-C)*this.canvas.canvasViewCenter.y+t.y*C;this.body.view.scale=A,this.body.view.translation={x:I,y:e},this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale,pointer:null})}},{key:"configureKeyboardBindings",value:function(){var g,A,t,C,I,e,i,o,n,r,s,a,d,h,l,c,u,p,v,f,y,b,m,w,k=this;(void 0!==this.keycharm&&this.keycharm.destroy(),!0===this.options.keyboard.enabled)&&(!0===this.options.keyboard.bindToWindow?this.keycharm=_i({container:window,preventDefault:!0}):this.keycharm=_i({container:this.canvas.frame,preventDefault:!0}),this.keycharm.reset(),!0===this.activated&&($(g=this.keycharm).call(g,"up",(function(){k.bindToRedraw("_moveUp")}),"keydown"),$(A=this.keycharm).call(A,"down",(function(){k.bindToRedraw("_moveDown")}),"keydown"),$(t=this.keycharm).call(t,"left",(function(){k.bindToRedraw("_moveLeft")}),"keydown"),$(C=this.keycharm).call(C,"right",(function(){k.bindToRedraw("_moveRight")}),"keydown"),$(I=this.keycharm).call(I,"=",(function(){k.bindToRedraw("_zoomIn")}),"keydown"),$(e=this.keycharm).call(e,"num+",(function(){k.bindToRedraw("_zoomIn")}),"keydown"),$(i=this.keycharm).call(i,"num-",(function(){k.bindToRedraw("_zoomOut")}),"keydown"),$(o=this.keycharm).call(o,"-",(function(){k.bindToRedraw("_zoomOut")}),"keydown"),$(n=this.keycharm).call(n,"[",(function(){k.bindToRedraw("_zoomOut")}),"keydown"),$(r=this.keycharm).call(r,"]",(function(){k.bindToRedraw("_zoomIn")}),"keydown"),$(s=this.keycharm).call(s,"pageup",(function(){k.bindToRedraw("_zoomIn")}),"keydown"),$(a=this.keycharm).call(a,"pagedown",(function(){k.bindToRedraw("_zoomOut")}),"keydown"),$(d=this.keycharm).call(d,"up",(function(){k.unbindFromRedraw("_moveUp")}),"keyup"),$(h=this.keycharm).call(h,"down",(function(){k.unbindFromRedraw("_moveDown")}),"keyup"),$(l=this.keycharm).call(l,"left",(function(){k.unbindFromRedraw("_moveLeft")}),"keyup"),$(c=this.keycharm).call(c,"right",(function(){k.unbindFromRedraw("_moveRight")}),"keyup"),$(u=this.keycharm).call(u,"=",(function(){k.unbindFromRedraw("_zoomIn")}),"keyup"),$(p=this.keycharm).call(p,"num+",(function(){k.unbindFromRedraw("_zoomIn")}),"keyup"),$(v=this.keycharm).call(v,"num-",(function(){k.unbindFromRedraw("_zoomOut")}),"keyup"),$(f=this.keycharm).call(f,"-",(function(){k.unbindFromRedraw("_zoomOut")}),"keyup"),$(y=this.keycharm).call(y,"[",(function(){k.unbindFromRedraw("_zoomOut")}),"keyup"),$(b=this.keycharm).call(b,"]",(function(){k.unbindFromRedraw("_zoomIn")}),"keyup"),$(m=this.keycharm).call(m,"pageup",(function(){k.unbindFromRedraw("_zoomIn")}),"keyup"),$(w=this.keycharm).call(w,"pagedown",(function(){k.unbindFromRedraw("_zoomOut")}),"keyup")))}}]),g}();Xi("div.vis-tooltip {\n position: absolute;\n visibility: hidden;\n padding: 5px;\n white-space: nowrap;\n\n font-family: verdana;\n font-size:14px;\n color:#000000;\n background-color: #f5f4ed;\n\n -moz-border-radius: 3px;\n -webkit-border-radius: 3px;\n border-radius: 3px;\n border: 1px solid #808074;\n\n box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.2);\n pointer-events: none;\n\n z-index: 5;\n}\n");var eh=function(){function g(A,t){Tn(this,g),this.container=A,this.overflowMethod=t||"cap",this.x=0,this.y=0,this.padding=5,this.hidden=!1,this.frame=document.createElement("div"),this.frame.className="vis-tooltip",this.container.appendChild(this.frame)}return Rn(g,[{key:"setPosition",value:function(g,A){this.x=LC(g),this.y=LC(A)}},{key:"setText",value:function(g){g instanceof Element?(this.frame.innerHTML="",this.frame.appendChild(g)):this.frame.innerHTML=g}},{key:"show",value:function(g){if(void 0===g&&(g=!0),!0===g){var A=this.frame.clientHeight,t=this.frame.clientWidth,C=this.frame.parentNode.clientHeight,I=this.frame.parentNode.clientWidth,e=0,i=0;if("flip"==this.overflowMethod){var o=!1,n=!0;this.y-A<this.padding&&(n=!1),this.x+t>I-this.padding&&(o=!0),e=o?this.x-t:this.x,i=n?this.y-A:this.y}else(i=this.y-A)+A+this.padding>C&&(i=C-A-this.padding),i<this.padding&&(i=this.padding),(e=this.x)+t+this.padding>I&&(e=I-t-this.padding),e<this.padding&&(e=this.padding);this.frame.style.left=e+"px",this.frame.style.top=i+"px",this.frame.style.visibility="visible",this.hidden=!1}else this.hide()}},{key:"hide",value:function(){this.hidden=!0,this.frame.style.left="0",this.frame.style.top="0",this.frame.style.visibility="hidden"}},{key:"destroy",value:function(){this.frame.parentNode.removeChild(this.frame)}}]),g}(),ih=function(){function g(A,t,C){var I,e,i,o,n,r,s,a,d,h,l,c,u;Tn(this,g),this.body=A,this.canvas=t,this.selectionHandler=C,this.navigationHandler=new Ih(A,t),this.body.eventListeners.onTap=$(I=this.onTap).call(I,this),this.body.eventListeners.onTouch=$(e=this.onTouch).call(e,this),this.body.eventListeners.onDoubleTap=$(i=this.onDoubleTap).call(i,this),this.body.eventListeners.onHold=$(o=this.onHold).call(o,this),this.body.eventListeners.onDragStart=$(n=this.onDragStart).call(n,this),this.body.eventListeners.onDrag=$(r=this.onDrag).call(r,this),this.body.eventListeners.onDragEnd=$(s=this.onDragEnd).call(s,this),this.body.eventListeners.onMouseWheel=$(a=this.onMouseWheel).call(a,this),this.body.eventListeners.onPinch=$(d=this.onPinch).call(d,this),this.body.eventListeners.onMouseMove=$(h=this.onMouseMove).call(h,this),this.body.eventListeners.onRelease=$(l=this.onRelease).call(l,this),this.body.eventListeners.onContext=$(c=this.onContext).call(c,this),this.touchTime=0,this.drag={},this.pinch={},this.popup=void 0,this.popupObj=void 0,this.popupTimer=void 0,this.body.functions.getPointer=$(u=this.getPointer).call(u,this),this.options={},this.defaultOptions={dragNodes:!0,dragView:!0,hover:!1,keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02},bindToWindow:!0},navigationButtons:!1,tooltipDelay:300,zoomView:!0,zoomSpeed:1},yg(this.options,this.defaultOptions),this.bindEventListeners()}return Rn(g,[{key:"bindEventListeners",value:function(){var g=this;this.body.emitter.on("destroy",(function(){clearTimeout(g.popupTimer),delete g.body.functions.getPointer}))}},{key:"setOptions",value:function(g){if(void 0!==g){Pe(["hideEdgesOnDrag","hideEdgesOnZoom","hideNodesOnDrag","keyboard","multiselect","selectable","selectConnectedEdges"],this.options,g),Xe(this.options,g,"keyboard"),g.tooltip&&(yg(this.options.tooltip,g.tooltip),g.tooltip.color&&(this.options.tooltip.color=Le(g.tooltip.color)))}this.navigationHandler.setOptions(this.options)}},{key:"getPointer",value:function(g){return{x:g.x-(A=this.canvas.frame.canvas,A.getBoundingClientRect().left),y:g.y-Be(this.canvas.frame.canvas)};var A}},{key:"onTouch",value:function(g){(new Date).valueOf()-this.touchTime>50&&(this.drag.pointer=this.getPointer(g.center),this.drag.pinched=!1,this.pinch.scale=this.body.view.scale,this.touchTime=(new Date).valueOf())}},{key:"onTap",value:function(g){var A=this.getPointer(g.center),t=this.selectionHandler.options.multiselect&&(g.changedPointers[0].ctrlKey||g.changedPointers[0].metaKey);this.checkSelectionChanges(A,g,t),this.selectionHandler._generateClickEvent("click",g,A)}},{key:"onDoubleTap",value:function(g){var A=this.getPointer(g.center);this.selectionHandler._generateClickEvent("doubleClick",g,A)}},{key:"onHold",value:function(g){var A=this.getPointer(g.center),t=this.selectionHandler.options.multiselect;this.checkSelectionChanges(A,g,t),this.selectionHandler._generateClickEvent("click",g,A),this.selectionHandler._generateClickEvent("hold",g,A)}},{key:"onRelease",value:function(g){if((new Date).valueOf()-this.touchTime>10){var A=this.getPointer(g.center);this.selectionHandler._generateClickEvent("release",g,A),this.touchTime=(new Date).valueOf()}}},{key:"onContext",value:function(g){var A=this.getPointer({x:g.clientX,y:g.clientY});this.selectionHandler._generateClickEvent("oncontext",g,A)}},{key:"checkSelectionChanges",value:function(g,A){var t=arguments.length>2&&void 0!==arguments[2]&&arguments[2],C=this.selectionHandler.getSelection(),I=!1;I=!0===t?this.selectionHandler.selectAdditionalOnPoint(g):this.selectionHandler.selectOnPoint(g);var e=this.selectionHandler.getSelection(),i=this._determineDifference(C,e),o=this._determineDifference(e,C);i.edges.length>0&&(this.selectionHandler._generateClickEvent("deselectEdge",A,g,C),I=!0),i.nodes.length>0&&(this.selectionHandler._generateClickEvent("deselectNode",A,g,C),I=!0),o.nodes.length>0&&(this.selectionHandler._generateClickEvent("selectNode",A,g),I=!0),o.edges.length>0&&(this.selectionHandler._generateClickEvent("selectEdge",A,g),I=!0),!0===I&&this.selectionHandler._generateClickEvent("select",A,g)}},{key:"_determineDifference",value:function(g,A){var t=function(g,A){for(var t=[],C=0;C<g.length;C++){var I=g[C];-1===uI(A).call(A,I)&&t.push(I)}return t};return{nodes:t(g.nodes,A.nodes),edges:t(g.edges,A.edges)}}},{key:"onDragStart",value:function(g){if(!this.drag.dragging){void 0===this.drag.pointer&&this.onTouch(g);var A=this.selectionHandler.getNodeAt(this.drag.pointer);if(this.drag.dragging=!0,this.drag.selection=[],this.drag.translation=yg({},this.body.view.translation),this.drag.nodeId=void 0,g.srcEvent.shiftKey){this.body.selectionBox.show=!0;var t=this.getPointer(g.center);this.body.selectionBox.position.start={x:this.canvas._XconvertDOMtoCanvas(t.x),y:this.canvas._YconvertDOMtoCanvas(t.y)},this.body.selectionBox.position.end={x:this.canvas._XconvertDOMtoCanvas(t.x),y:this.canvas._YconvertDOMtoCanvas(t.y)}}if(void 0!==A&&!0===this.options.dragNodes){this.drag.nodeId=A.id,!1===A.isSelected()&&(this.selectionHandler.unselectAll(),this.selectionHandler.selectObject(A)),this.selectionHandler._generateClickEvent("dragStart",g,this.drag.pointer);var C=this.selectionHandler.selectionObj.nodes;for(var I in C)if(Object.prototype.hasOwnProperty.call(C,I)){var e=C[I],i={id:e.id,node:e,x:e.x,y:e.y,xFixed:e.options.fixed.x,yFixed:e.options.fixed.y};e.options.fixed.x=!0,e.options.fixed.y=!0,this.drag.selection.push(i)}}else this.selectionHandler._generateClickEvent("dragStart",g,this.drag.pointer,void 0,!0)}}},{key:"onDrag",value:function(g){var A=this;if(!0!==this.drag.pinched){this.body.emitter.emit("unlockNode");var t=this.getPointer(g.center),C=this.drag.selection;if(C&&C.length&&!0===this.options.dragNodes){this.selectionHandler._generateClickEvent("dragging",g,t);var I=t.x-this.drag.pointer.x,e=t.y-this.drag.pointer.y;BC(C).call(C,(function(g){var t=g.node;!1===g.xFixed&&(t.x=A.canvas._XconvertDOMtoCanvas(A.canvas._XconvertCanvasToDOM(g.x)+I)),!1===g.yFixed&&(t.y=A.canvas._YconvertDOMtoCanvas(A.canvas._YconvertCanvasToDOM(g.y)+e))})),this.body.emitter.emit("startSimulation")}else{if(g.srcEvent.shiftKey){if(this.selectionHandler._generateClickEvent("dragging",g,t,void 0,!0),void 0===this.drag.pointer)return void this.onDragStart(g);this.body.selectionBox.position.end={x:this.canvas._XconvertDOMtoCanvas(t.x),y:this.canvas._YconvertDOMtoCanvas(t.y)},this.body.emitter.emit("_requestRedraw")}if(!0===this.options.dragView&&!g.srcEvent.shiftKey){if(this.selectionHandler._generateClickEvent("dragging",g,t,void 0,!0),void 0===this.drag.pointer)return void this.onDragStart(g);var i=t.x-this.drag.pointer.x,o=t.y-this.drag.pointer.y;this.body.view.translation={x:this.drag.translation.x+i,y:this.drag.translation.y+o},this.body.emitter.emit("_requestRedraw")}}}}},{key:"onDragEnd",value:function(g){var A=this;if(this.drag.dragging=!1,this.body.selectionBox.show){var t;this.body.selectionBox.show=!1;var C=this.body.selectionBox.position,I={minX:Math.min(C.start.x,C.end.x),minY:Math.min(C.start.y,C.end.y),maxX:Math.max(C.start.x,C.end.x),maxY:Math.max(C.start.y,C.end.y)},e=eI(t=this.body.nodeIndices).call(t,(function(g){var t=A.body.nodes[g];return t.x>=I.minX&&t.x<=I.maxX&&t.y>=I.minY&&t.y<=I.maxY}));BC(e).call(e,(function(g){return A.selectionHandler.selectObject(A.body.nodes[g])})),this.selectionHandler._generateClickEvent("dragEnd",g,this.getPointer(g.center),void 0,!0),this.body.emitter.emit("_requestRedraw")}else{var i=this.drag.selection;i&&i.length?(BC(i).call(i,(function(g){g.node.options.fixed.x=g.xFixed,g.node.options.fixed.y=g.yFixed})),this.selectionHandler._generateClickEvent("dragEnd",g,this.getPointer(g.center)),this.body.emitter.emit("startSimulation")):(this.selectionHandler._generateClickEvent("dragEnd",g,this.getPointer(g.center),void 0,!0),this.body.emitter.emit("_requestRedraw"))}}},{key:"onPinch",value:function(g){var A=this.getPointer(g.center);this.drag.pinched=!0,void 0===this.pinch.scale&&(this.pinch.scale=1);var t=this.pinch.scale*g.scale;this.zoom(t,A)}},{key:"zoom",value:function(g,A){if(!0===this.options.zoomView){var t=this.body.view.scale;g<1e-5&&(g=1e-5),g>10&&(g=10);var C=void 0;void 0!==this.drag&&!0===this.drag.dragging&&(C=this.canvas.DOMtoCanvas(this.drag.pointer));var I=this.body.view.translation,e=g/t,i=(1-e)*A.x+I.x*e,o=(1-e)*A.y+I.y*e;if(this.body.view.scale=g,this.body.view.translation={x:i,y:o},null!=C){var n=this.canvas.canvasToDOM(C);this.drag.pointer.x=n.x,this.drag.pointer.y=n.y}this.body.emitter.emit("_requestRedraw"),t<g?this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale,pointer:A}):this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale,pointer:A})}}},{key:"onMouseWheel",value:function(g){if(!0===this.options.zoomView){if(0!==g.deltaY){var A=this.body.view.scale;A*=1+(g.deltaY<0?1:-1)*(.1*this.options.zoomSpeed);var t=this.getPointer({x:g.clientX,y:g.clientY});this.zoom(A,t)}g.preventDefault()}}},{key:"onMouseMove",value:function(g){var A=this,t=this.getPointer({x:g.clientX,y:g.clientY}),C=!1;void 0!==this.popup&&(!1===this.popup.hidden&&this._checkHidePopup(t),!1===this.popup.hidden&&(C=!0,this.popup.setPosition(t.x+3,t.y-5),this.popup.show())),!1===this.options.keyboard.bindToWindow&&!0===this.options.keyboard.enabled&&this.canvas.frame.focus(),!1===C&&(void 0!==this.popupTimer&&(clearInterval(this.popupTimer),this.popupTimer=void 0),this.drag.dragging||(this.popupTimer=Zn((function(){return A._checkShowPopup(t)}),this.options.tooltipDelay))),!0===this.options.hover&&this.selectionHandler.hoverObject(g,t)}},{key:"_checkShowPopup",value:function(g){var A=this.canvas._XconvertDOMtoCanvas(g.x),t=this.canvas._YconvertDOMtoCanvas(g.y),C={left:A,top:t,right:A,bottom:t},I=void 0===this.popupObj?void 0:this.popupObj.id,e=!1,i="node";if(void 0===this.popupObj){for(var o,n=this.body.nodeIndices,r=this.body.nodes,s=[],a=0;a<n.length;a++)!0===(o=r[n[a]]).isOverlappingWith(C)&&(e=!0,void 0!==o.getTitle()&&s.push(n[a]));s.length>0&&(this.popupObj=r[s[s.length-1]],e=!0)}if(void 0===this.popupObj&&!1===e){for(var d,h=this.body.edgeIndices,l=this.body.edges,c=[],u=0;u<h.length;u++)!0===(d=l[h[u]]).isOverlappingWith(C)&&!0===d.connected&&void 0!==d.getTitle()&&c.push(h[u]);c.length>0&&(this.popupObj=l[c[c.length-1]],i="edge")}void 0!==this.popupObj?this.popupObj.id!==I&&(void 0===this.popup&&(this.popup=new eh(this.canvas.frame)),this.popup.popupTargetType=i,this.popup.popupTargetId=this.popupObj.id,this.popup.setPosition(g.x+3,g.y-5),this.popup.setText(this.popupObj.getTitle()),this.popup.show(),this.body.emitter.emit("showPopup",this.popupObj.id)):void 0!==this.popup&&(this.popup.hide(),this.body.emitter.emit("hidePopup"))}},{key:"_checkHidePopup",value:function(g){var A=this.selectionHandler._pointerToPositionObject(g),t=!1;if("node"===this.popup.popupTargetType){if(void 0!==this.body.nodes[this.popup.popupTargetId]&&!0===(t=this.body.nodes[this.popup.popupTargetId].isOverlappingWith(A))){var C=this.selectionHandler.getNodeAt(g);t=void 0!==C&&C.id===this.popup.popupTargetId}}else void 0===this.selectionHandler.getNodeAt(g)&&void 0!==this.body.edges[this.popup.popupTargetId]&&(t=this.body.edges[this.popup.popupTargetId].isOverlappingWith(A));!1===t&&(this.popupObj=void 0,this.popup.hide(),this.body.emitter.emit("hidePopup"))}}]),g}(),oh=function(){function g(A,t){var C=this;Tn(this,g),this.body=A,this.canvas=t,this.selectionObj={nodes:[],edges:[]},this.hoverObj={nodes:{},edges:{}},this.options={},this.defaultOptions={multiselect:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0},yg(this.options,this.defaultOptions),this.body.emitter.on("_dataChanged",(function(){C.updateSelection()}))}return Rn(g,[{key:"setOptions",value:function(g){if(void 0!==g){Ne(["multiselect","hoverConnectedEdges","selectable","selectConnectedEdges"],this.options,g)}}},{key:"selectOnPoint",value:function(g){var A=!1;if(!0===this.options.selectable){var t=this.getNodeAt(g)||this.getEdgeAt(g);this.unselectAll(),void 0!==t&&(A=this.selectObject(t)),this.body.emitter.emit("_requestRedraw")}return A}},{key:"selectAdditionalOnPoint",value:function(g){var A=!1;if(!0===this.options.selectable){var t=this.getNodeAt(g)||this.getEdgeAt(g);void 0!==t&&(A=!0,!0===t.isSelected()?this.deselectObject(t):this.selectObject(t),this.body.emitter.emit("_requestRedraw"))}return A}},{key:"_initBaseEvent",value:function(g,A){var t={};return t.pointer={DOM:{x:A.x,y:A.y},canvas:this.canvas.DOMtoCanvas(A)},t.event=g,t}},{key:"_generateClickEvent",value:function(g,A,t,C){var I=arguments.length>4&&void 0!==arguments[4]&&arguments[4],e=this._initBaseEvent(A,t);if(!0===I)e.nodes=[],e.edges=[];else{var i=this.getSelection();e.nodes=i.nodes,e.edges=i.edges}void 0!==C&&(e.previousSelection=C),"click"==g&&(e.items=this.getClickedItems(t)),void 0!==A.controlEdge&&(e.controlEdge=A.controlEdge),this.body.emitter.emit(g,e)}},{key:"selectObject",value:function(g){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.selectConnectedEdges;return void 0!==g&&(g instanceof ja&&!0===A&&this._selectConnectedEdges(g),g.select(),this._addToSelection(g),!0)}},{key:"deselectObject",value:function(g){!0===g.isSelected()&&(g.selected=!1,this._removeFromSelection(g))}},{key:"_getAllNodesOverlappingWith",value:function(g){for(var A=[],t=this.body.nodes,C=0;C<this.body.nodeIndices.length;C++){var I=this.body.nodeIndices[C];t[I].isOverlappingWith(g)&&A.push(I)}return A}},{key:"_pointerToPositionObject",value:function(g){var A=this.canvas.DOMtoCanvas(g);return{left:A.x-1,top:A.y+1,right:A.x+1,bottom:A.y-1}}},{key:"getNodeAt",value:function(g){var A=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],t=this._pointerToPositionObject(g),C=this._getAllNodesOverlappingWith(t);return C.length>0?!0===A?this.body.nodes[C[C.length-1]]:C[C.length-1]:void 0}},{key:"_getEdgesOverlappingWith",value:function(g,A){for(var t=this.body.edges,C=0;C<this.body.edgeIndices.length;C++){var I=this.body.edgeIndices[C];t[I].isOverlappingWith(g)&&A.push(I)}}},{key:"_getAllEdgesOverlappingWith",value:function(g){var A=[];return this._getEdgesOverlappingWith(g,A),A}},{key:"getEdgeAt",value:function(g){for(var A=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],t=this.canvas.DOMtoCanvas(g),C=10,I=null,e=this.body.edges,i=0;i<this.body.edgeIndices.length;i++){var o=this.body.edgeIndices[i],n=e[o];if(n.connected){var r=n.from.x,s=n.from.y,a=n.to.x,d=n.to.y,h=n.edgeType.getDistanceToEdge(r,s,a,d,t.x,t.y);h<C&&(I=o,C=h)}}return null!==I?!0===A?this.body.edges[I]:I:void 0}},{key:"_addToSelection",value:function(g){g instanceof ja?this.selectionObj.nodes[g.id]=g:this.selectionObj.edges[g.id]=g}},{key:"_addToHover",value:function(g){g instanceof ja?this.hoverObj.nodes[g.id]=g:this.hoverObj.edges[g.id]=g}},{key:"_removeFromSelection",value:function(g){g instanceof ja?(delete this.selectionObj.nodes[g.id],this._unselectConnectedEdges(g)):delete this.selectionObj.edges[g.id]}},{key:"unselectAll",value:function(){for(var g in this.selectionObj.nodes)Object.prototype.hasOwnProperty.call(this.selectionObj.nodes,g)&&this.selectionObj.nodes[g].unselect();for(var A in this.selectionObj.edges)Object.prototype.hasOwnProperty.call(this.selectionObj.edges,A)&&this.selectionObj.edges[A].unselect();this.selectionObj={nodes:{},edges:{}}}},{key:"_getSelectedNodeCount",value:function(){var g=0;for(var A in this.selectionObj.nodes)Object.prototype.hasOwnProperty.call(this.selectionObj.nodes,A)&&(g+=1);return g}},{key:"_getSelectedNode",value:function(){for(var g in this.selectionObj.nodes)if(Object.prototype.hasOwnProperty.call(this.selectionObj.nodes,g))return this.selectionObj.nodes[g]}},{key:"_getSelectedEdge",value:function(){for(var g in this.selectionObj.edges)if(Object.prototype.hasOwnProperty.call(this.selectionObj.edges,g))return this.selectionObj.edges[g]}},{key:"_getSelectedEdgeCount",value:function(){var g=0;for(var A in this.selectionObj.edges)Object.prototype.hasOwnProperty.call(this.selectionObj.edges,A)&&(g+=1);return g}},{key:"_getSelectedObjectCount",value:function(){var g=0;for(var A in this.selectionObj.nodes)Object.prototype.hasOwnProperty.call(this.selectionObj.nodes,A)&&(g+=1);for(var t in this.selectionObj.edges)Object.prototype.hasOwnProperty.call(this.selectionObj.edges,t)&&(g+=1);return g}},{key:"_selectionIsEmpty",value:function(){for(var g in this.selectionObj.nodes)if(Object.prototype.hasOwnProperty.call(this.selectionObj.nodes,g))return!1;for(var A in this.selectionObj.edges)if(Object.prototype.hasOwnProperty.call(this.selectionObj.edges,A))return!1;return!0}},{key:"_clusterInSelection",value:function(){for(var g in this.selectionObj.nodes)if(Object.prototype.hasOwnProperty.call(this.selectionObj.nodes,g)&&this.selectionObj.nodes[g].clusterSize>1)return!0;return!1}},{key:"_selectConnectedEdges",value:function(g){for(var A=0;A<g.edges.length;A++){var t=g.edges[A];t.select(),this._addToSelection(t)}}},{key:"_hoverConnectedEdges",value:function(g){for(var A=0;A<g.edges.length;A++){var t=g.edges[A];t.hover=!0,this._addToHover(t)}}},{key:"_unselectConnectedEdges",value:function(g){for(var A=0;A<g.edges.length;A++){var t=g.edges[A];t.unselect(),this._removeFromSelection(t)}}},{key:"emitBlurEvent",value:function(g,A,t){var C=this._initBaseEvent(g,A);!0===t.hover&&(t.hover=!1,t instanceof ja?(C.node=t.id,this.body.emitter.emit("blurNode",C)):(C.edge=t.id,this.body.emitter.emit("blurEdge",C)))}},{key:"emitHoverEvent",value:function(g,A,t){var C=this._initBaseEvent(g,A),I=!1;return!1===t.hover&&(t.hover=!0,this._addToHover(t),I=!0,t instanceof ja?(C.node=t.id,this.body.emitter.emit("hoverNode",C)):(C.edge=t.id,this.body.emitter.emit("hoverEdge",C))),I}},{key:"hoverObject",value:function(g,A){var t=this.getNodeAt(A);void 0===t&&(t=this.getEdgeAt(A));var C=!1;for(var I in this.hoverObj.nodes)Object.prototype.hasOwnProperty.call(this.hoverObj.nodes,I)&&(void 0===t||t instanceof ja&&t.id!=I||t instanceof Rd)&&(this.emitBlurEvent(g,A,this.hoverObj.nodes[I]),delete this.hoverObj.nodes[I],C=!0);for(var e in this.hoverObj.edges)Object.prototype.hasOwnProperty.call(this.hoverObj.edges,e)&&(!0===C?(this.hoverObj.edges[e].hover=!1,delete this.hoverObj.edges[e]):(void 0===t||t instanceof Rd&&t.id!=e||t instanceof ja&&!t.hover)&&(this.emitBlurEvent(g,A,this.hoverObj.edges[e]),delete this.hoverObj.edges[e],C=!0));if(void 0!==t){var i=HI(this.hoverObj.edges).length,o=HI(this.hoverObj.nodes).length;(C||t instanceof Rd&&0===i&&0===o||t instanceof ja&&0===i&&0===o)&&(C=this.emitHoverEvent(g,A,t)),t instanceof ja&&!0===this.options.hoverConnectedEdges&&this._hoverConnectedEdges(t)}!0===C&&this.body.emitter.emit("_requestRedraw")}},{key:"getSelection",value:function(){return{nodes:this.getSelectedNodes(),edges:this.getSelectedEdges()}}},{key:"getSelectedNodes",value:function(){var g=[];if(!0===this.options.selectable)for(var A in this.selectionObj.nodes)Object.prototype.hasOwnProperty.call(this.selectionObj.nodes,A)&&g.push(this.selectionObj.nodes[A].id);return g}},{key:"getSelectedEdges",value:function(){var g=[];if(!0===this.options.selectable)for(var A in this.selectionObj.edges)Object.prototype.hasOwnProperty.call(this.selectionObj.edges,A)&&g.push(this.selectionObj.edges[A].id);return g}},{key:"setSelection",value:function(g){var A,t,C=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!g||!g.nodes&&!g.edges)throw"Selection must be an object with nodes and/or edges properties";if((C.unselectAll||void 0===C.unselectAll)&&this.unselectAll(),g.nodes)for(A=0;A<g.nodes.length;A++){t=g.nodes[A];var I=this.body.nodes[t];if(!I)throw new RangeError('Node with id "'+t+'" not found');this.selectObject(I,C.highlightEdges)}if(g.edges)for(A=0;A<g.edges.length;A++){t=g.edges[A];var e=this.body.edges[t];if(!e)throw new RangeError('Edge with id "'+t+'" not found');this.selectObject(e)}this.body.emitter.emit("_requestRedraw")}},{key:"selectNodes",value:function(g){var A=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!g||void 0===g.length)throw"Selection must be an array with ids";this.setSelection({nodes:g},{highlightEdges:A})}},{key:"selectEdges",value:function(g){if(!g||void 0===g.length)throw"Selection must be an array with ids";this.setSelection({edges:g})}},{key:"updateSelection",value:function(){for(var g in this.selectionObj.nodes)Object.prototype.hasOwnProperty.call(this.selectionObj.nodes,g)&&(Object.prototype.hasOwnProperty.call(this.body.nodes,g)||delete this.selectionObj.nodes[g]);for(var A in this.selectionObj.edges)Object.prototype.hasOwnProperty.call(this.selectionObj.edges,A)&&(Object.prototype.hasOwnProperty.call(this.body.edges,A)||delete this.selectionObj.edges[A])}},{key:"getClickedItems",value:function(g){for(var A=this.canvas.DOMtoCanvas(g),t=[],C=this.body.nodeIndices,I=this.body.nodes,e=C.length-1;e>=0;e--){var i=I[C[e]].getItemsOnPoint(A);t.push.apply(t,i)}for(var o=this.body.edgeIndices,n=this.body.edges,r=o.length-1;r>=0;r--){var s=n[o[r]].getItemsOnPoint(A);t.push.apply(t,s)}return t}}]),g}(),nh=I((function(g,A){!function(g){g.__esModule=!0,g.sort=function(g,A,t,i){if(!Array.isArray(g))throw new TypeError("Can only sort arrays");A?"function"!=typeof A&&(i=t,t=A,A=C):A=C,t||(t=0),i||(i=g.length);var o=i-t;if(!(o<2)){var r=0;if(o<32)return r=I(g,t,i,A),void e(g,t,i,t+r,A);var s=new n(g,A),a=function(g){for(var A=0;g>=32;)A|=1&g,g>>=1;return g+A}(o);do{if((r=I(g,t,i,A))<a){var d=o;d>a&&(d=a),e(g,t,t+d,t+r,A),r=d}s.pushRun(t,r),s.mergeRuns(),o-=r,t+=r}while(0!==o);s.forceMergeRuns()}};var A=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9];function t(g){return g<1e5?g<100?g<10?0:1:g<1e4?g<1e3?2:3:4:g<1e7?g<1e6?5:6:g<1e9?g<1e8?7:8:9}function C(g,C){if(g===C)return 0;if(~~g===g&&~~C===C){if(0===g||0===C)return g<C?-1:1;if(g<0||C<0){if(C>=0)return-1;if(g>=0)return 1;g=-g,C=-C}var I=t(g),e=t(C),i=0;return I<e?(g*=A[e-I-1],C/=10,i=-1):I>e&&(C*=A[I-e-1],g/=10,i=1),g===C?i:g<C?-1:1}var o=String(g),n=String(C);return o===n?0:o<n?-1:1}function I(g,A,t,C){var I=A+1;if(I===t)return 1;if(C(g[I++],g[A])<0){for(;I<t&&C(g[I],g[I-1])<0;)I++;!function(g,A,t){for(t--;A<t;){var C=g[A];g[A++]=g[t],g[t--]=C}}(g,A,I)}else for(;I<t&&C(g[I],g[I-1])>=0;)I++;return I-A}function e(g,A,t,C,I){for(C===A&&C++;C<t;C++){for(var e=g[C],i=A,o=C;i<o;){var n=i+o>>>1;I(e,g[n])<0?o=n:i=n+1}var r=C-i;switch(r){case 3:g[i+3]=g[i+2];case 2:g[i+2]=g[i+1];case 1:g[i+1]=g[i];break;default:for(;r>0;)g[i+r]=g[i+r-1],r--}g[i]=e}}function i(g,A,t,C,I,e){var i=0,o=0,n=1;if(e(g,A[t+I])>0){for(o=C-I;n<o&&e(g,A[t+I+n])>0;)i=n,(n=1+(n<<1))<=0&&(n=o);n>o&&(n=o),i+=I,n+=I}else{for(o=I+1;n<o&&e(g,A[t+I-n])<=0;)i=n,(n=1+(n<<1))<=0&&(n=o);n>o&&(n=o);var r=i;i=I-n,n=I-r}for(i++;i<n;){var s=i+(n-i>>>1);e(g,A[t+s])>0?i=s+1:n=s}return n}function o(g,A,t,C,I,e){var i=0,o=0,n=1;if(e(g,A[t+I])<0){for(o=I+1;n<o&&e(g,A[t+I-n])<0;)i=n,(n=1+(n<<1))<=0&&(n=o);n>o&&(n=o);var r=i;i=I-n,n=I-r}else{for(o=C-I;n<o&&e(g,A[t+I+n])>=0;)i=n,(n=1+(n<<1))<=0&&(n=o);n>o&&(n=o),i+=I,n+=I}for(i++;i<n;){var s=i+(n-i>>>1);e(g,A[t+s])<0?n=s:i=s+1}return n}var n=function(){function g(A,t){!function(g,A){if(!(g instanceof A))throw new TypeError("Cannot call a class as a function")}(this,g),this.array=null,this.compare=null,this.minGallop=7,this.length=0,this.tmpStorageLength=256,this.stackLength=0,this.runStart=null,this.runLength=null,this.stackSize=0,this.array=A,this.compare=t,this.length=A.length,this.length<512&&(this.tmpStorageLength=this.length>>>1),this.tmp=new Array(this.tmpStorageLength),this.stackLength=this.length<120?5:this.length<1542?10:this.length<119151?19:40,this.runStart=new Array(this.stackLength),this.runLength=new Array(this.stackLength)}return g.prototype.pushRun=function(g,A){this.runStart[this.stackSize]=g,this.runLength[this.stackSize]=A,this.stackSize+=1},g.prototype.mergeRuns=function(){for(;this.stackSize>1;){var g=this.stackSize-2;if(g>=1&&this.runLength[g-1]<=this.runLength[g]+this.runLength[g+1]||g>=2&&this.runLength[g-2]<=this.runLength[g]+this.runLength[g-1])this.runLength[g-1]<this.runLength[g+1]&&g--;else if(this.runLength[g]>this.runLength[g+1])break;this.mergeAt(g)}},g.prototype.forceMergeRuns=function(){for(;this.stackSize>1;){var g=this.stackSize-2;g>0&&this.runLength[g-1]<this.runLength[g+1]&&g--,this.mergeAt(g)}},g.prototype.mergeAt=function(g){var A=this.compare,t=this.array,C=this.runStart[g],I=this.runLength[g],e=this.runStart[g+1],n=this.runLength[g+1];this.runLength[g]=I+n,g===this.stackSize-3&&(this.runStart[g+1]=this.runStart[g+2],this.runLength[g+1]=this.runLength[g+2]),this.stackSize--;var r=o(t[e],t,C,I,0,A);C+=r,0!=(I-=r)&&0!==(n=i(t[C+I-1],t,e,n,n-1,A))&&(I<=n?this.mergeLow(C,I,e,n):this.mergeHigh(C,I,e,n))},g.prototype.mergeLow=function(g,A,t,C){var I=this.compare,e=this.array,n=this.tmp,r=0;for(r=0;r<A;r++)n[r]=e[g+r];var s=0,a=t,d=g;if(e[d++]=e[a++],0!=--C)if(1!==A){for(var h=this.minGallop;;){var l=0,c=0,u=!1;do{if(I(e[a],n[s])<0){if(e[d++]=e[a++],c++,l=0,0==--C){u=!0;break}}else if(e[d++]=n[s++],l++,c=0,1==--A){u=!0;break}}while((l|c)<h);if(u)break;do{if(0!==(l=o(e[a],n,s,A,0,I))){for(r=0;r<l;r++)e[d+r]=n[s+r];if(d+=l,s+=l,(A-=l)<=1){u=!0;break}}if(e[d++]=e[a++],0==--C){u=!0;break}if(0!==(c=i(n[s],e,a,C,0,I))){for(r=0;r<c;r++)e[d+r]=e[a+r];if(d+=c,a+=c,0==(C-=c)){u=!0;break}}if(e[d++]=n[s++],1==--A){u=!0;break}h--}while(l>=7||c>=7);if(u)break;h<0&&(h=0),h+=2}if(this.minGallop=h,h<1&&(this.minGallop=1),1===A){for(r=0;r<C;r++)e[d+r]=e[a+r];e[d+C]=n[s]}else{if(0===A)throw new Error("mergeLow preconditions were not respected");for(r=0;r<A;r++)e[d+r]=n[s+r]}}else{for(r=0;r<C;r++)e[d+r]=e[a+r];e[d+C]=n[s]}else for(r=0;r<A;r++)e[d+r]=n[s+r]},g.prototype.mergeHigh=function(g,A,t,C){var I=this.compare,e=this.array,n=this.tmp,r=0;for(r=0;r<C;r++)n[r]=e[t+r];var s=g+A-1,a=C-1,d=t+C-1,h=0,l=0;if(e[d--]=e[s--],0!=--A)if(1!==C){for(var c=this.minGallop;;){var u=0,p=0,v=!1;do{if(I(n[a],e[s])<0){if(e[d--]=e[s--],u++,p=0,0==--A){v=!0;break}}else if(e[d--]=n[a--],p++,u=0,1==--C){v=!0;break}}while((u|p)<c);if(v)break;do{if(0!=(u=A-o(n[a],e,g,A,A-1,I))){for(A-=u,l=1+(d-=u),h=1+(s-=u),r=u-1;r>=0;r--)e[l+r]=e[h+r];if(0===A){v=!0;break}}if(e[d--]=n[a--],1==--C){v=!0;break}if(0!=(p=C-i(e[s],n,0,C,C-1,I))){for(C-=p,l=1+(d-=p),h=1+(a-=p),r=0;r<p;r++)e[l+r]=n[h+r];if(C<=1){v=!0;break}}if(e[d--]=e[s--],0==--A){v=!0;break}c--}while(u>=7||p>=7);if(v)break;c<0&&(c=0),c+=2}if(this.minGallop=c,c<1&&(this.minGallop=1),1===C){for(l=1+(d-=A),h=1+(s-=A),r=A-1;r>=0;r--)e[l+r]=e[h+r];e[d]=n[a]}else{if(0===C)throw new Error("mergeHigh preconditions were not respected");for(h=d-(C-1),r=0;r<C;r++)e[h+r]=n[r]}}else{for(l=1+(d-=A),h=1+(s-=A),r=A-1;r>=0;r--)e[l+r]=e[h+r];e[d]=n[a]}else for(h=d-(C-1),r=0;r<C;r++)e[h+r]=n[r]},g}()}(A)}));function rh(g){var A=function(){if("undefined"==typeof Reflect||!$n)return!1;if($n.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call($n(Date,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,C=xr(g);if(A){var I=xr(this).constructor;t=$n(C,arguments,I)}else t=C.apply(this,arguments);return wr(this,t)}}var sh=function(){function g(){Tn(this,g)}return Rn(g,[{key:"abstract",value:function(){throw new Error("Can't instantiate abstract class!")}},{key:"fake_use",value:function(){}},{key:"curveType",value:function(){return this.abstract()}},{key:"getPosition",value:function(g){return this.fake_use(g),this.abstract()}},{key:"setPosition",value:function(g,A){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;this.fake_use(g,A,t),this.abstract()}},{key:"getTreeSize",value:function(g){return this.fake_use(g),this.abstract()}},{key:"sort",value:function(g){this.fake_use(g),this.abstract()}},{key:"fix",value:function(g,A){this.fake_use(g,A),this.abstract()}},{key:"shift",value:function(g,A){this.fake_use(g,A),this.abstract()}}]),g}(),ah=function(g){mr(t,g);var A=rh(t);function t(g){var C;return Tn(this,t),(C=A.call(this)).layout=g,C}return Rn(t,[{key:"curveType",value:function(){return"horizontal"}},{key:"getPosition",value:function(g){return g.x}},{key:"setPosition",value:function(g,A){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;void 0!==t&&this.layout.hierarchical.addToOrdering(g,t),g.x=A}},{key:"getTreeSize",value:function(g){var A=this.layout.hierarchical.getTreeSize(this.layout.body.nodes,g);return{min:A.min_x,max:A.max_x}}},{key:"sort",value:function(g){nh.sort(g,(function(g,A){return g.x-A.x}))}},{key:"fix",value:function(g,A){g.y=this.layout.options.hierarchical.levelSeparation*A,g.options.fixed.y=!0}},{key:"shift",value:function(g,A){this.layout.body.nodes[g].x+=A}}]),t}(sh),dh=function(g){mr(t,g);var A=rh(t);function t(g){var C;return Tn(this,t),(C=A.call(this)).layout=g,C}return Rn(t,[{key:"curveType",value:function(){return"vertical"}},{key:"getPosition",value:function(g){return g.y}},{key:"setPosition",value:function(g,A){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;void 0!==t&&this.layout.hierarchical.addToOrdering(g,t),g.y=A}},{key:"getTreeSize",value:function(g){var A=this.layout.hierarchical.getTreeSize(this.layout.body.nodes,g);return{min:A.min_y,max:A.max_y}}},{key:"sort",value:function(g){nh.sort(g,(function(g,A){return g.y-A.y}))}},{key:"fix",value:function(g,A){g.x=this.layout.options.hierarchical.levelSeparation*A,g.options.fixed.x=!0}},{key:"shift",value:function(g,A){this.layout.body.nodes[g].y+=A}}]),t}(sh),hh=HA.every,lh=kC("every"),ch=TC("every");H({target:"Array",proto:!0,forced:!lh||!ch},{every:function(g){return hh(this,g,arguments.length>1?arguments[1]:void 0)}});var uh=_("Array").every,ph=Array.prototype,vh=function(g){var A=g.every;return g===ph||g instanceof Array&&A===ph.every?uh:A};function fh(g,A){var t;if(void 0===ae||null==$t(g)){if(qI(g)||(t=function(g,A){var t;if(!g)return;if("string"==typeof g)return yh(g,A);var C=Ce(t=Object.prototype.toString.call(g)).call(t,8,-1);"Object"===C&&g.constructor&&(C=g.constructor.name);if("Map"===C||"Set"===C)return sC(g);if("Arguments"===C||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(C))return yh(g,A)}(g))||A&&g&&"number"==typeof g.length){t&&(g=t);var C=0,I=function(){};return{s:I,n:function(){return C>=g.length?{done:!0}:{done:!1,value:g[C++]}},e:function(g){throw g},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 e,i=!0,o=!1;return{s:function(){t=qt(g)},n:function(){var g=t.next();return i=g.done,g},e:function(g){o=!0,e=g},f:function(){try{i||null==t.return||t.return()}finally{if(o)throw e}}}}function yh(g,A){(null==A||A>g.length)&&(A=g.length);for(var t=0,C=new Array(A);t<A;t++)C[t]=g[t];return C}function bh(g,A){var t=new _r;return BC(g).call(g,(function(g){var A;BC(A=g.edges).call(A,(function(g){g.connected&&t.add(g)}))})),BC(t).call(t,(function(g){var t=g.from.id,C=g.to.id;null==A[t]&&(A[t]=0),(null==A[C]||A[t]>=A[C])&&(A[C]=A[t]+1)})),A}function mh(g,A,t,C,I){var e,i=C.size,o=t+"Id",n="to"===t?1:-1,r=fh(C);try{var s=function(){var r=VI(e.value,2),s=r[0],a=r[1];if(!C.has(s)||!g(a))return"continue";I[s]=0;for(var d=[a],h=0,l=void 0,c=function(){var g,e;if(!C.has(s))return"continue";var r=I[l.id]+n;if(BC(g=eI(e=l.edges).call(e,(function(g){return g.connected&&g.to!==g.from&&g[t]!==l&&C.has(g.toId)&&C.has(g.fromId)}))).call(g,(function(g){var C=g[o],e=I[C];(null==e||A(r,e))&&(I[C]=r,d.push(g[t]))})),h>i)return{v:{v:bh(C,I)}};++h};l=d.pop();){var u=c();if("continue"!==u&&"object"===Ae(u))return u.v}};for(r.s();!(e=r.n()).done;){var a=s();if("continue"!==a&&"object"===Ae(a))return a.v}}catch(g){r.e(g)}finally{r.f()}return I}var wh=function(){function g(){Tn(this,g),this.childrenReference={},this.parentReference={},this.trees={},this.distributionOrdering={},this.levels={},this.distributionIndex={},this.isTree=!1,this.treeIndex=-1}return Rn(g,[{key:"addRelation",value:function(g,A){void 0===this.childrenReference[g]&&(this.childrenReference[g]=[]),this.childrenReference[g].push(A),void 0===this.parentReference[A]&&(this.parentReference[A]=[]),this.parentReference[A].push(g)}},{key:"checkIfTree",value:function(){for(var g in this.parentReference)if(this.parentReference[g].length>1)return void(this.isTree=!1);this.isTree=!0}},{key:"numTrees",value:function(){return this.treeIndex+1}},{key:"setTreeIndex",value:function(g,A){void 0!==A&&void 0===this.trees[g.id]&&(this.trees[g.id]=A,this.treeIndex=Math.max(A,this.treeIndex))}},{key:"ensureLevel",value:function(g){void 0===this.levels[g]&&(this.levels[g]=0)}},{key:"getMaxLevel",value:function(g){var A=this,t={};return function g(C){if(void 0!==t[C])return t[C];var I=A.levels[C];if(A.childrenReference[C]){var e=A.childrenReference[C];if(e.length>0)for(var i=0;i<e.length;i++)I=Math.max(I,g(e[i]))}return t[C]=I,I}(g)}},{key:"levelDownstream",value:function(g,A){void 0===this.levels[A.id]&&(void 0===this.levels[g.id]&&(this.levels[g.id]=0),this.levels[A.id]=this.levels[g.id]+1)}},{key:"setMinLevelToZero",value:function(g){var A=1e9;for(var t in g)Object.prototype.hasOwnProperty.call(g,t)&&void 0!==this.levels[t]&&(A=Math.min(this.levels[t],A));for(var C in g)Object.prototype.hasOwnProperty.call(g,C)&&void 0!==this.levels[C]&&(this.levels[C]-=A)}},{key:"getTreeSize",value:function(g,A){var t=1e9,C=-1e9,I=1e9,e=-1e9;for(var i in this.trees)if(Object.prototype.hasOwnProperty.call(this.trees,i)&&this.trees[i]===A){var o=g[i];t=Math.min(o.x,t),C=Math.max(o.x,C),I=Math.min(o.y,I),e=Math.max(o.y,e)}return{min_x:t,max_x:C,min_y:I,max_y:e}}},{key:"hasSameParent",value:function(g,A){var t=this.parentReference[g.id],C=this.parentReference[A.id];if(void 0===t||void 0===C)return!1;for(var I=0;I<t.length;I++)for(var e=0;e<C.length;e++)if(t[I]==C[e])return!0;return!1}},{key:"inSameSubNetwork",value:function(g,A){return this.trees[g.id]===this.trees[A.id]}},{key:"getLevels",value:function(){return HI(this.distributionOrdering)}},{key:"addToOrdering",value:function(g,A){void 0===this.distributionOrdering[A]&&(this.distributionOrdering[A]=[]);var t=!1,C=this.distributionOrdering[A];for(var I in C)if(C[I]===g){t=!0;break}t||(this.distributionOrdering[A].push(g),this.distributionIndex[g.id]=this.distributionOrdering[A].length-1)}}]),g}(),kh=function(){function g(A){Tn(this,g),this.body=A,this._resetRNG(Math.random()+":"+YI()),this.setPhysics=!1,this.options={},this.optionsBackup={physics:{}},this.defaultOptions={randomSeed:void 0,improvedLayout:!0,clusterThreshold:150,hierarchical:{enabled:!1,levelSeparation:150,nodeSpacing:100,treeSpacing:200,blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:"UD",sortMethod:"hubsize"}},yg(this.options,this.defaultOptions),this.bindEventListeners()}return Rn(g,[{key:"bindEventListeners",value:function(){var g=this;this.body.emitter.on("_dataChanged",(function(){g.setupHierarchicalLayout()})),this.body.emitter.on("_dataLoaded",(function(){g.layoutNetwork()})),this.body.emitter.on("_resetHierarchicalLayout",(function(){g.setupHierarchicalLayout()})),this.body.emitter.on("_adjustEdgesForHierarchicalLayout",(function(){if(!0===g.options.hierarchical.enabled){var A=g.direction.curveType();g.body.emitter.emit("_forceDisableDynamicCurves",A,!1)}}))}},{key:"setOptions",value:function(g,A){if(void 0!==g){var t=this.options.hierarchical,C=t.enabled;if(Ne(["randomSeed","improvedLayout","clusterThreshold"],this.options,g),Xe(this.options,g,"hierarchical"),void 0!==g.randomSeed&&this._resetRNG(g.randomSeed),!0===t.enabled)return!0===C&&this.body.emitter.emit("refresh",!0),"RL"===t.direction||"DU"===t.direction?t.levelSeparation>0&&(t.levelSeparation*=-1):t.levelSeparation<0&&(t.levelSeparation*=-1),this.setDirectionStrategy(),this.body.emitter.emit("_resetHierarchicalLayout"),this.adaptAllOptionsForHierarchicalLayout(A);if(!0===C)return this.body.emitter.emit("refresh"),Me(A,this.optionsBackup)}return A}},{key:"_resetRNG",value:function(g){this.initialRandomSeed=g,this._rng=fe(this.initialRandomSeed)}},{key:"adaptAllOptionsForHierarchicalLayout",value:function(g){if(!0===this.options.hierarchical.enabled){var A=this.optionsBackup.physics;void 0===g.physics||!0===g.physics?(g.physics={enabled:void 0===A.enabled||A.enabled,solver:"hierarchicalRepulsion"},A.enabled=void 0===A.enabled||A.enabled,A.solver=A.solver||"barnesHut"):"object"===Ae(g.physics)?(A.enabled=void 0===g.physics.enabled||g.physics.enabled,A.solver=g.physics.solver||"barnesHut",g.physics.solver="hierarchicalRepulsion"):!1!==g.physics&&(A.solver="barnesHut",g.physics={solver:"hierarchicalRepulsion"});var t=this.direction.curveType();if(void 0===g.edges)this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},g.edges={smooth:!1};else if(void 0===g.edges.smooth)this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},g.edges.smooth=!1;else if("boolean"==typeof g.edges.smooth)this.optionsBackup.edges={smooth:g.edges.smooth},g.edges.smooth={enabled:g.edges.smooth,type:t};else{var C=g.edges.smooth;void 0!==C.type&&"dynamic"!==C.type&&(t=C.type),this.optionsBackup.edges={smooth:{enabled:void 0===C.enabled||C.enabled,type:void 0===C.type?"dynamic":C.type,roundness:void 0===C.roundness?.5:C.roundness,forceDirection:void 0!==C.forceDirection&&C.forceDirection}},g.edges.smooth={enabled:void 0===C.enabled||C.enabled,type:t,roundness:void 0===C.roundness?.5:C.roundness,forceDirection:void 0!==C.forceDirection&&C.forceDirection}}this.body.emitter.emit("_forceDisableDynamicCurves",t)}return g}},{key:"positionInitially",value:function(g){if(!0!==this.options.hierarchical.enabled){this._resetRNG(this.initialRandomSeed);for(var A=g.length+50,t=0;t<g.length;t++){var C=g[t],I=2*Math.PI*this._rng();void 0===C.x&&(C.x=A*Math.cos(I)),void 0===C.y&&(C.y=A*Math.sin(I))}}}},{key:"layoutNetwork",value:function(){if(!0!==this.options.hierarchical.enabled&&!0===this.options.improvedLayout){for(var g=this.body.nodeIndices,A=0,t=0;t<g.length;t++){!0===this.body.nodes[g[t]].predefinedPosition&&(A+=1)}if(A<.5*g.length){var C=0,I=this.options.clusterThreshold,e={clusterNodeProperties:{shape:"ellipse",label:"",group:"",font:{multi:!1}},clusterEdgeProperties:{label:"",font:{multi:!1},smooth:{enabled:!1}}};if(g.length>I){for(var i=g.length;g.length>I&&C<=10;){C+=1;var o=g.length;if(C%3==0?this.body.modules.clustering.clusterBridges(e):this.body.modules.clustering.clusterOutliers(e),o==g.length&&C%3!=0)return this._declusterAll(),this.body.emitter.emit("_layoutFailed"),void console.info("This network could not be positioned by this version of the improved layout algorithm. Please disable improvedLayout for better performance.")}this.body.modules.kamadaKawai.setOptions({springLength:Math.max(150,2*i)})}C>10&&console.info("The clustering didn't succeed within the amount of interations allowed, progressing with partial result."),this.body.modules.kamadaKawai.solve(g,this.body.edgeIndices,!0),this._shiftToCenter();for(var n=0;n<g.length;n++){var r=this.body.nodes[g[n]];!1===r.predefinedPosition&&(r.x+=70*(.5-this._rng()),r.y+=70*(.5-this._rng()))}this._declusterAll(),this.body.emitter.emit("_repositionBezierNodes")}}}},{key:"_shiftToCenter",value:function(){for(var g=Kd.getRangeCore(this.body.nodes,this.body.nodeIndices),A=Kd.findCenter(g),t=0;t<this.body.nodeIndices.length;t++){var C=this.body.nodes[this.body.nodeIndices[t]];C.x-=A.x,C.y-=A.y}}},{key:"_declusterAll",value:function(){for(var g=!0;!0===g;){g=!1;for(var A=0;A<this.body.nodeIndices.length;A++)!0===this.body.nodes[this.body.nodeIndices[A]].isCluster&&(g=!0,this.body.modules.clustering.openCluster(this.body.nodeIndices[A],{},!1));!0===g&&this.body.emitter.emit("_dataChanged")}}},{key:"getSeed",value:function(){return this.initialRandomSeed}},{key:"setupHierarchicalLayout",value:function(){if(!0===this.options.hierarchical.enabled&&this.body.nodeIndices.length>0){var g,A,t=!1,C=!1;for(A in this.lastNodeOnLevel={},this.hierarchical=new wh,this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,A)&&(void 0!==(g=this.body.nodes[A]).options.level?(t=!0,this.hierarchical.levels[A]=g.options.level):C=!0);if(!0===C&&!0===t)throw new Error("To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes.");if(!0===C){var I=this.options.hierarchical.sortMethod;"hubsize"===I?this._determineLevelsByHubsize():"directed"===I?this._determineLevelsDirected():"custom"===I&&this._determineLevelsCustomCallback()}for(var e in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,e)&&this.hierarchical.ensureLevel(e);var i=this._getDistribution();this._generateMap(),this._placeNodesByHierarchy(i),this._condenseHierarchy(),this._shiftToCenter()}}},{key:"_condenseHierarchy",value:function(){var g=this,A=!1,t={},C=function(A,t){var C=g.hierarchical.trees;for(var I in C)Object.prototype.hasOwnProperty.call(C,I)&&C[I]===A&&g.direction.shift(I,t)},I=function(){for(var A=[],t=0;t<g.hierarchical.numTrees();t++)A.push(g.direction.getTreeSize(t));return A},e=function A(t,C){if(!C[t.id]&&(C[t.id]=!0,g.hierarchical.childrenReference[t.id])){var I=g.hierarchical.childrenReference[t.id];if(I.length>0)for(var e=0;e<I.length;e++)A(g.body.nodes[I[e]],C)}},i=function(A){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e9,C=1e9,I=1e9,e=1e9,i=-1e9;for(var o in A)if(Object.prototype.hasOwnProperty.call(A,o)){var n=g.body.nodes[o],r=g.hierarchical.levels[n.id],s=g.direction.getPosition(n),a=g._getSpaceAroundNode(n,A),d=VI(a,2),h=d[0],l=d[1];C=Math.min(h,C),I=Math.min(l,I),r<=t&&(e=Math.min(s,e),i=Math.max(s,i))}return[e,i,C,I]},o=function(A,t){var C=g.hierarchical.getMaxLevel(A.id),I=g.hierarchical.getMaxLevel(t.id);return Math.min(C,I)},n=function(A,t,C){for(var I=g.hierarchical,e=0;e<t.length;e++){var i=t[e],o=I.distributionOrdering[i];if(o.length>1)for(var n=0;n<o.length-1;n++){var r=o[n],s=o[n+1];I.hasSameParent(r,s)&&I.inSameSubNetwork(r,s)&&A(r,s,C)}}},r=function(t,C){var I=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=g.direction.getPosition(t),r=g.direction.getPosition(C),s=Math.abs(r-n),a=g.options.hierarchical.nodeSpacing;if(s>a){var d={},h={};e(t,d),e(C,h);var l=o(t,C),c=i(d,l),u=i(h,l),p=c[1],v=u[0],f=u[2],y=Math.abs(p-v);if(y>a){var b=p-v+a;b<-f+a&&(b=-f+a),b<0&&(g._shiftBlock(C.id,b),A=!0,!0===I&&g._centerParent(C))}}},s=function(C,I){for(var o=I.id,n=I.edges,r=g.hierarchical.levels[I.id],s=g.options.hierarchical.levelSeparation*g.options.hierarchical.levelSeparation,a={},d=[],h=0;h<n.length;h++){var l=n[h];if(l.toId!=l.fromId){var c=l.toId==o?l.from:l.to;a[n[h].id]=c,g.hierarchical.levels[c.id]<r&&d.push(l)}}var u=function(A,t){for(var C=0,I=0;I<t.length;I++)if(void 0!==a[t[I].id]){var e=g.direction.getPosition(a[t[I].id])-A;C+=e/Math.sqrt(e*e+s)}return C},p=function(A,t){for(var C=0,I=0;I<t.length;I++)if(void 0!==a[t[I].id]){var e=g.direction.getPosition(a[t[I].id])-A;C-=s*Math.pow(e*e+s,-1.5)}return C},v=function(A,t){for(var C=g.direction.getPosition(I),e={},i=0;i<A;i++){var o=u(C,t),n=p(C,t);if(void 0!==e[C-=Math.max(-40,Math.min(40,Math.round(o/n)))])break;e[C]=i}return C},f=v(C,d);!function(C){var o=g.direction.getPosition(I);if(void 0===t[I.id]){var n={};e(I,n),t[I.id]=n}var r=i(t[I.id]),s=r[2],a=r[3],d=C-o,h=0;d>0?h=Math.min(d,a-g.options.hierarchical.nodeSpacing):d<0&&(h=-Math.min(-d,s-g.options.hierarchical.nodeSpacing)),0!=h&&(g._shiftBlock(I.id,h),A=!0)}(f),function(t){var C=g.direction.getPosition(I),e=g._getSpaceAroundNode(I),i=VI(e,2),o=i[0],n=i[1],r=t-C,s=C;r>0?s=Math.min(C+(n-g.options.hierarchical.nodeSpacing),t):r<0&&(s=Math.max(C-(o-g.options.hierarchical.nodeSpacing),t)),s!==C&&(g.direction.setPosition(I,s),A=!0)}(f=v(C,n))};!0===this.options.hierarchical.blockShifting&&(function(t){var C=g.hierarchical.getLevels();C=Ud(C).call(C);for(var I=0;I<t&&(A=!1,n(r,C,!0),!0===A);I++);}(5),function(){for(var A in g.body.nodes)Object.prototype.hasOwnProperty.call(g.body.nodes,A)&&g._centerParent(g.body.nodes[A])}()),!0===this.options.hierarchical.edgeMinimization&&function(t){var C=g.hierarchical.getLevels();C=Ud(C).call(C);for(var I=0;I<t;I++){A=!1;for(var e=0;e<C.length;e++)for(var i=C[e],o=g.hierarchical.distributionOrdering[i],n=0;n<o.length;n++)s(1e3,o[n]);if(!0!==A)break}}(20),!0===this.options.hierarchical.parentCentralization&&function(){var A=g.hierarchical.getLevels();A=Ud(A).call(A);for(var t=0;t<A.length;t++)for(var C=A[t],I=g.hierarchical.distributionOrdering[C],e=0;e<I.length;e++)g._centerParent(I[e])}(),function(){for(var A=I(),t=0,e=0;e<A.length-1;e++){t+=A[e].max-A[e+1].min+g.options.hierarchical.treeSpacing,C(e+1,t)}}()}},{key:"_getSpaceAroundNode",value:function(g,A){var t=!0;void 0===A&&(t=!1);var C=this.hierarchical.levels[g.id];if(void 0!==C){var I=this.hierarchical.distributionIndex[g.id],e=this.direction.getPosition(g),i=this.hierarchical.distributionOrdering[C],o=1e9,n=1e9;if(0!==I){var r=i[I-1];if(!0===t&&void 0===A[r.id]||!1===t)o=e-this.direction.getPosition(r)}if(I!=i.length-1){var s=i[I+1];if(!0===t&&void 0===A[s.id]||!1===t){var a=this.direction.getPosition(s);n=Math.min(n,a-e)}}return[o,n]}return[0,0]}},{key:"_centerParent",value:function(g){if(this.hierarchical.parentReference[g.id])for(var A=this.hierarchical.parentReference[g.id],t=0;t<A.length;t++){var C=A[t],I=this.body.nodes[C],e=this.hierarchical.childrenReference[C];if(void 0!==e){var i=this._getCenterPosition(e),o=this.direction.getPosition(I),n=this._getSpaceAroundNode(I),r=VI(n,2),s=r[0],a=r[1],d=o-i;(d<0&&Math.abs(d)<a-this.options.hierarchical.nodeSpacing||d>0&&Math.abs(d)<s-this.options.hierarchical.nodeSpacing)&&this.direction.setPosition(I,i)}}}},{key:"_placeNodesByHierarchy",value:function(g){for(var A in this.positionedNodes={},g)if(Object.prototype.hasOwnProperty.call(g,A)){var t,C=HI(g[A]);C=this._indexArrayToNodes(C),Mr(t=this.direction).call(t,C);for(var I=0,e=0;e<C.length;e++){var i=C[e];if(void 0===this.positionedNodes[i.id]){var o=this.options.hierarchical.nodeSpacing,n=o*I;I>0&&(n=this.direction.getPosition(C[e-1])+o),this.direction.setPosition(i,n,A),this._validatePositionAndContinue(i,A,n),I++}}}}},{key:"_placeBranchNodes",value:function(g,A){var t,C=this.hierarchical.childrenReference[g];if(void 0!==C){for(var I=[],e=0;e<C.length;e++)I.push(this.body.nodes[C[e]]);Mr(t=this.direction).call(t,I);for(var i=0;i<I.length;i++){var o=I[i],n=this.hierarchical.levels[o.id];if(!(n>A&&void 0===this.positionedNodes[o.id]))return;var r=this.options.hierarchical.nodeSpacing,s=void 0;s=0===i?this.direction.getPosition(this.body.nodes[g]):this.direction.getPosition(I[i-1])+r,this.direction.setPosition(o,s,n),this._validatePositionAndContinue(o,n,s)}var a=this._getCenterPosition(I);this.direction.setPosition(this.body.nodes[g],a,A)}}},{key:"_validatePositionAndContinue",value:function(g,A,t){if(this.hierarchical.isTree){if(void 0!==this.lastNodeOnLevel[A]){var C=this.direction.getPosition(this.body.nodes[this.lastNodeOnLevel[A]]);if(t-C<this.options.hierarchical.nodeSpacing){var I=C+this.options.hierarchical.nodeSpacing-t,e=this._findCommonParent(this.lastNodeOnLevel[A],g.id);this._shiftBlock(e.withChild,I)}}this.lastNodeOnLevel[A]=g.id,this.positionedNodes[g.id]=!0,this._placeBranchNodes(g.id,A)}}},{key:"_indexArrayToNodes",value:function(g){for(var A=[],t=0;t<g.length;t++)A.push(this.body.nodes[g[t]]);return A}},{key:"_getDistribution",value:function(){var g,A,t={};for(g in this.body.nodes)if(Object.prototype.hasOwnProperty.call(this.body.nodes,g)){A=this.body.nodes[g];var C=void 0===this.hierarchical.levels[g]?0:this.hierarchical.levels[g];this.direction.fix(A,C),void 0===t[C]&&(t[C]={}),t[C][g]=A}return t}},{key:"_getActiveEdges",value:function(g){var A=this,t=[];return Ze(g.edges,(function(g){var C;-1!==uI(C=A.body.edgeIndices).call(C,g.id)&&t.push(g)})),t}},{key:"_getHubSizes",value:function(){var g=this,A={};Ze(this.body.nodeIndices,(function(t){var C=g.body.nodes[t],I=g._getActiveEdges(C).length;A[I]=!0}));var t=[];return Ze(A,(function(g){t.push(Number(g))})),Mr(nh).call(nh,t,(function(g,A){return A-g})),t}},{key:"_determineLevelsByHubsize",value:function(){for(var g=this,A=function(A,t){g.hierarchical.levelDownstream(A,t)},t=this._getHubSizes(),C=function(C){var I=t[C];if(0===I)return"break";Ze(g.body.nodeIndices,(function(t){var C=g.body.nodes[t];I===g._getActiveEdges(C).length&&g._crawlNetwork(A,t)}))},I=0;I<t.length;++I){if("break"===C(I))break}}},{key:"_determineLevelsCustomCallback",value:function(){var g=this;this._crawlNetwork((function(A,t,C){var I=g.hierarchical.levels[A.id];void 0===I&&(I=g.hierarchical.levels[A.id]=1e5);var e=(Kd.cloneOptions(A,"node"),Kd.cloneOptions(t,"node"),void Kd.cloneOptions(C,"edge"));g.hierarchical.levels[t.id]=I+e})),this.hierarchical.setMinLevelToZero(this.body.nodes)}},{key:"_determineLevelsDirected",value:function(){var g,A=this,t=ns(g=this.body.nodeIndices).call(g,(function(g,t){return g.set(t,A.body.nodes[t]),g}),new Jr),C=this.hierarchical.levels;"roots"===this.options.hierarchical.shakeTowards?this.hierarchical.levels=function(g){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:hC(null);return mh((function(A){var t,C;return vh(t=eI(C=A.edges).call(C,(function(A){return g.has(A.toId)}))).call(t,(function(g){return g.from===A}))}),(function(g,A){return A<g}),"to",g,A)}(t,C):this.hierarchical.levels=function(g){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:hC(null);return mh((function(A){var t,C;return vh(t=eI(C=A.edges).call(C,(function(A){return g.has(A.toId)}))).call(t,(function(g){return g.to===A}))}),(function(g,A){return A>g}),"from",g,A)}(t,C),this.hierarchical.setMinLevelToZero(this.body.nodes)}},{key:"_generateMap",value:function(){var g=this;this._crawlNetwork((function(A,t){g.hierarchical.levels[t.id]>g.hierarchical.levels[A.id]&&g.hierarchical.addRelation(A.id,t.id)})),this.hierarchical.checkIfTree()}},{key:"_crawlNetwork",value:function(){var g=this,A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){},t=arguments.length>1?arguments[1]:void 0,C={},I=function t(I,e){if(void 0===C[I.id]){var i;g.hierarchical.setTreeIndex(I,e),C[I.id]=!0;for(var o=g._getActiveEdges(I),n=0;n<o.length;n++){var r=o[n];!0===r.connected&&(i=r.toId==I.id?r.from:r.to,I.id!=i.id&&(A(I,i,r),t(i,e)))}}};if(void 0===t)for(var e=0,i=0;i<this.body.nodeIndices.length;i++){var o=this.body.nodeIndices[i];if(void 0===C[o]){var n=this.body.nodes[o];I(n,e),e+=1}}else{var r=this.body.nodes[t];if(void 0===r)return void console.error("Node not found:",t);I(r)}}},{key:"_shiftBlock",value:function(g,A){var t=this,C={};!function g(I){if(!C[I]){C[I]=!0,t.direction.shift(I,A);var e=t.hierarchical.childrenReference[I];if(void 0!==e)for(var i=0;i<e.length;i++)g(e[i])}}(g)}},{key:"_findCommonParent",value:function(g,A){var t=this,C={};return function g(A,C){var I=t.hierarchical.parentReference[C];if(void 0!==I)for(var e=0;e<I.length;e++){var i=I[e];A[i]=!0,g(A,i)}}(C,g),function g(A,C){var I=t.hierarchical.parentReference[C];if(void 0!==I)for(var e=0;e<I.length;e++){var i=I[e];if(void 0!==A[i])return{foundParent:i,withChild:C};var o=g(A,i);if(null!==o.foundParent)return o}return{foundParent:null,withChild:C}}(C,A)}},{key:"setDirectionStrategy",value:function(){var g="UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction;this.direction=g?new ah(this):new dh(this)}},{key:"_getCenterPosition",value:function(g){for(var A=1e9,t=-1e9,C=0;C<g.length;C++){var I=void 0;if(void 0!==g[C].id)I=g[C];else{var e=g[C];I=this.body.nodes[e]}var i=this.direction.getPosition(I);A=Math.min(A,i),t=Math.max(t,i)}return.5*(A+t)}}]),g}();Xi("div.vis-network div.vis-manipulation {\n box-sizing: content-box;\n\n border-width: 0;\n border-bottom: 1px;\n border-style:solid;\n border-color: #d6d9d8;\n background: #ffffff; /* Old browsers */\n background: -moz-linear-gradient(top, #ffffff 0%, #fcfcfc 48%, #fafafa 50%, #fcfcfc 100%); /* FF3.6+ */\n background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(48%,#fcfcfc), color-stop(50%,#fafafa), color-stop(100%,#fcfcfc)); /* Chrome,Safari4+ */\n background: -webkit-linear-gradient(top, #ffffff 0%,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%); /* Chrome10+,Safari5.1+ */\n background: -o-linear-gradient(top, #ffffff 0%,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%); /* Opera 11.10+ */\n background: -ms-linear-gradient(top, #ffffff 0%,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%); /* IE10+ */\n background: linear-gradient(to bottom, #ffffff 0%,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%); /* W3C */\n filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#fcfcfc',GradientType=0 ); /* IE6-9 */\n\n padding-top:4px;\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 28px;\n}\n\ndiv.vis-network div.vis-edit-mode {\n position:absolute;\n left: 0;\n top: 5px;\n height: 30px;\n}\n\n/* FIXME: shouldn't the vis-close button be a child of the vis-manipulation div? */\n\ndiv.vis-network div.vis-close {\n position:absolute;\n right: 0;\n top: 0;\n width: 30px;\n height: 30px;\n\n background-position: 20px 3px;\n background-repeat: no-repeat;\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAADvGaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAyMSA3OS4xNTQ5MTEsIDIwMTMvMTAvMjktMTE6NDc6MTYgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICAgICAgICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTQtMDItMTRUMTE6NTU6MzUrMDE6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1ldGFkYXRhRGF0ZT4yMDE0LTAyLTE0VDEyOjA1OjE3KzAxOjAwPC94bXA6TWV0YWRhdGFEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxNC0wMi0xNFQxMjowNToxNyswMTowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NjU0YmM5YmQtMWI2Yi1jYjRhLTllOWQtNWY2MzgxNDVjZjk0PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjk4MmM2MGIwLWUzZjMtMDk0MC04MjU0LTFiZTliNWE0ZTE4MzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjk4MmM2MGIwLWUzZjMtMDk0MC04MjU0LTFiZTliNWE0ZTE4MzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo5ODJjNjBiMC1lM2YzLTA5NDAtODI1NC0xYmU5YjVhNGUxODM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDItMTRUMTE6NTU6MzUrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjIxODYxNmM2LTM1MWMtNDI0OS04YWFkLWJkZDQ2ZTczNWE0NDwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNC0wMi0xNFQxMTo1NTozNSswMTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6NjU0YmM5YmQtMWI2Yi1jYjRhLTllOWQtNWY2MzgxNDVjZjk0PC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE0LTAyLTE0VDEyOjA1OjE3KzAxOjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6U2VxPgogICAgICAgICA8L3htcE1NOkhpc3Rvcnk+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6SUNDUHJvZmlsZT5zUkdCIElFQzYxOTY2LTIuMTwvcGhvdG9zaG9wOklDQ1Byb2ZpbGU+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjc8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+NzwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+cZUZMwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAA2ElEQVR42gDLADT/AS0tLUQFBQUVFxcXtPHx8fPl5eUNCAgITCkpKesEHx8fGgYGBjH+/v4a+Pj4qgQEBFU6OjodMTExzwQUFBSvEBAQEfX19SD19fVqNDQ0CElJSd/9/f2vAwEBAfrn5+fkBwcHLRYWFgsXFxfz29vbo9LS0uwDDQ0NDfPz81orKysXIyMj+ODg4Avh4eEa/f391gMkJCRYPz8/KUhISOMCAgKh8fHxHRsbGx4UFBQQBDk5OeY7Ozv7CAgItPb29vMEBASaJSUlTQ0NDesDAEwpT0Ko8Ri2AAAAAElFTkSuQmCC');\n cursor: pointer;\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\ndiv.vis-network div.vis-close:hover {\n opacity: 0.6;\n}\n\ndiv.vis-network div.vis-manipulation div.vis-button,\ndiv.vis-network div.vis-edit-mode div.vis-button {\n float:left;\n font-family: verdana;\n font-size: 12px;\n -moz-border-radius: 15px;\n border-radius: 15px;\n display:inline-block;\n background-position: 0px 0px;\n background-repeat:no-repeat;\n height:24px;\n margin-left: 10px;\n /*vertical-align:middle;*/\n cursor: pointer;\n padding: 0px 8px 0px 8px;\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\ndiv.vis-network div.vis-manipulation div.vis-button:hover {\n box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.20);\n}\n\ndiv.vis-network div.vis-manipulation div.vis-button:active {\n box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.50);\n}\n\ndiv.vis-network div.vis-manipulation div.vis-button.vis-back {\n background-image: url('data:image/png;base64,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/GMzLdsAAEEOaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAyMSA3OS4xNTQ5MTEsIDIwMTMvMTAvMjktMTE6NDc6MTYgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNC0wMi0wNFQxNTowMTowOSswMTowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTQtMDItMDRUMTU6MDE6MDkrMDE6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOmI2YjQwMjVkLTAxNjQtMzU0OC1hOTdlLTQ4ZmYxMWM3NTYzMzwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6RUE2MEEyNEUxOTg0RTMxMUFEQUZFRkU2RUMzMzNFMDM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDEtMjNUMTk6MTg6MDcrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpmOWQ3OGY4ZC1lNzY0LTc1NDgtODZiNy1iNmQ1OGMzZDg2OTc8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDItMDRUMTU6MDE6MDkrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jb252ZXJ0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+ZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZzwvc3RFdnQ6cGFyYW1ldGVycz4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmRlcml2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+Y29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmc8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmI2YjQwMjVkLTAxNjQtMzU0OC1hOTdlLTQ4ZmYxMWM3NTYzMzwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNC0wMi0wNFQxNTowMTowOSswMTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8eG1wTU06RGVyaXZlZEZyb20gcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICA8c3RSZWY6aW5zdGFuY2VJRD54bXAuaWlkOmY5ZDc4ZjhkLWU3NjQtNzU0OC04NmI3LWI2ZDU4YzNkODY5Nzwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgICAgPHN0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDwveG1wTU06RGVyaXZlZEZyb20+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6SUNDUHJvZmlsZT5zUkdCIElFQzYxOTY2LTIuMTwvcGhvdG9zaG9wOklDQ1Byb2ZpbGU+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyMDA5MC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDkwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4jq1U/AAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAVTSURBVHjanFVfTFNnFP+d77ve8qeVFbBrpcVgRrCRFikFByLxwSAaE32oRCHD6JMxxhhn8G2RxxH3MsOTbyYsmCAxPMmMMYtkIUYmK60OO0qAK23BFlNob0uh3x7WS5jLZPpLbm6+k/P9zrm5v9855PF4UFhYCABgjIExBgAgIqRSqRIi6gDQRkQ1RGTB3wgR0e8AHgH4Sa/XR/EBiAiJRAJ04cIF5Ofng4g2n0gkUkxENwF0c843LzHGQEQQQkCLExEA9ALotVgsUQAQQmgNQhJCbF5kjCEUCl0moj4t5na7fTU1NUpVVVXUYrEkASAcDhe8efOmxOfzWScmJqoBdBNR99LS0hWz2dynNSSEAF28eBGFhYVgjCEcDn9HRD1EhIMHD3o9Hs9kWVlZAh9BKBQqGB4edr58+dKZ+6JbJpOpBwBWV1fB6+rqIMsyIpHIFcZYL2MMra2tY5cuXRrfuXNnBtvAYDBk3G63oqpqZm5uzgrgSDKZjBoMhueZTAbc5XIhFouVEtFTxhiOHTs2dv78eS8+Efv374+oqpqZnZ21cs5PJJPJPlmWkyynnBuMMTQ0NHi7uro+mVyDx+Pxulwu71ZOlkqlSonoJhGhvb39s8k1nDx50ss5hyRJN9PpdKlERB2aWjSVaEilUvzBgwcORVEs5eXloXPnzk1sV8BkMiUdDofP7/dXZ7PZDilnIhw4cGBeS1pbW2P37t1zBwKBikQiUUREWFhYsHHO0d7evm0Ru90+/+rVq2rO+XGJiJxEhMrKyhgAjI6OWoeHh5tWVla+4JzDZrO9bW5unhwcHGzz+/32np4e+xaDbfoHAMxmc6ijo2O0oqIiJkkSNjY2HBIRmRljMJvNyWfPnln7+/tPMMZQXl6+0NbW9qK2tjYcj8floaEhqKpq+HCkbD3PzMwYBgYG0NXV9UuusFna2kEgELAQEQ4dOvSis7PzN41Ar9dnrl27NqCNkv/C3bt3zy4tLVmICJxzEBFJRBQmorLFxcWCqqqq0Pj4eO3Y2JhbUZTdra2tL2pra8OJRGLHnTt3zkqS9K+huHU4EhHMZnMoGo0W5OIh7nK5jjLGKq1W69vDhw8rRqMxMjc3t2t5eXnX5ORklc/nM+fl5SWnpqa+0uv1K/n5+Ws6nW5NluXNd15e3ppOp1uz2WyzZ86cGQ0Gg6ZAIFCZzWZ/lYjokRDiuN/vt7W0tMw3NTUpbrd78P79++5gMFgRiUTKHj58WMYYQ3V19etTp05tq6Lp6Wkb5xxCiEfc7XZPM8a6FxcXTfX19a/1en2Gcy5qamreNjY2/qGq6joRZe12+9Tp06e3JY/FYgWPHz8+mhvr3/CWlpbk+vp6PmOseWVlBS6XS9GSJUkSdrs93NDQ8Oe+ffvC/8fJIyMjddFo9Esi6pVleVjT2m0A8Hq9zqGhIefnjoknT544A4GAM/eDbxMReFNTE0pKSpKqqsaI6Pj8/LxVVdWM3W6PfCr5xMTE1zllXS0uLn6aSqXAGxsbodPpoNfrn6uqCs75EUVRrJFIZMfevXsXdTrdxseIE4mEPDIyUu/3++tynd8yGo29RIR0Og26fv06ioqKwBgD5xzv3r27zBjrIyJIkgSHwzFZWVmp7NmzJ1ZaWpoAgGg0WqgoSvHMzIw1GAw6tvjhitFo7NPW5fv370Hd3d0oKCgA53zTQMvLy+VCiKuSJH0rSdLmztZytIWv5RPRD0T0Y3Fx8dzWfby6ugopHo//w4mcc8iyPMc5v5FOp7/PZrOdQohWInIC2C2EgBBigYi8Qoifs9lsv06nWyIiaFxagXg8jr8GAGxuIe7LBeWhAAAAAElFTkSuQmCC');\n}\n\ndiv.vis-network div.vis-manipulation div.vis-button.vis-none:hover {\n box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.0);\n cursor: default;\n}\ndiv.vis-network div.vis-manipulation div.vis-button.vis-none:active {\n box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.0);\n}\ndiv.vis-network div.vis-manipulation div.vis-button.vis-none {\n padding: 0;\n}\ndiv.vis-network div.vis-manipulation div.notification {\n margin: 2px;\n font-weight: bold;\n}\n\ndiv.vis-network div.vis-manipulation div.vis-button.vis-add {\n background-image: url('data:image/png;base64,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/GMzLdsAAEEOaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAyMSA3OS4xNTQ5MTEsIDIwMTMvMTAvMjktMTE6NDc6MTYgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNC0wMi0wNFQxNDo0MDoyOSswMTowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTQtMDItMDRUMTQ6NDA6MjkrMDE6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjVkNWIwNmQwLTVmMjAtOGE0NC1hMzIwLWZmMTEzMzQwNDc0YjwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6RUE2MEEyNEUxOTg0RTMxMUFEQUZFRkU2RUMzMzNFMDM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDEtMjNUMTk6MTg6MDcrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo2OWVmYWE1NS01ZTI5LTIzNGUtYTUzMy0xNDkxYjM1NDNmYmE8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDItMDRUMTQ6NDA6MjkrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jb252ZXJ0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+ZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZzwvc3RFdnQ6cGFyYW1ldGVycz4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmRlcml2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+Y29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmc8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjVkNWIwNmQwLTVmMjAtOGE0NC1hMzIwLWZmMTEzMzQwNDc0Yjwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNC0wMi0wNFQxNDo0MDoyOSswMTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8eG1wTU06RGVyaXZlZEZyb20gcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICA8c3RSZWY6aW5zdGFuY2VJRD54bXAuaWlkOjY5ZWZhYTU1LTVlMjktMjM0ZS1hNTMzLTE0OTFiMzU0M2ZiYTwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgICAgPHN0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDwveG1wTU06RGVyaXZlZEZyb20+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6SUNDUHJvZmlsZT5zUkdCIElFQzYxOTY2LTIuMTwvcGhvdG9zaG9wOklDQ1Byb2ZpbGU+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyMDA5MC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDkwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz5WKqp9AAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAYXSURBVHjafFZtUFTXGX7e9z27sveuMCwYV8ElrA7YSFYHtJUPkaaI0aRqG8wP00zUzljDINNSA/2ROtpO24SxnahlxjYd7SSjmUkymcxYlDhQPzHGisEVp8HwYWCVVVgEsrsuLnL74+5uqTF9Z+7cO/d8PO95zvO851BlZSV0XQcAMDOYGQBARDhX3JRmMDYZwLPMWAzGHACYIgwS46oBNBNwtOL8CwE8EkSEUCgE2rJlC2w2G4go8Zwo/bMDgnoG6gxLfAAAYvPDMCCszKTAMIAGAhrWnf15AAAMwwARIRKJgDZv3gy73Q4iAjPjxIr9VVOMRhbAYKB8zvrO0llrfEsdKwLZek6YAPSFvtSu3GtLawu0ZJ6625SHGBQB1T88t6MxvopgMAjaunUrdF0HM+P4yv27DMYeJmB1RqW3Jnf3tQX2p0L4P9EXuqEd7PmDp+XuMU9sRbvXnnt1TxxACgoKYLVacbzsQDUJGkSATe6qi28uPtzusM6Kxie6NHLGUX3lxVUNX9StPHnn4wy3njuUYcu6n2pNi66avcEXnByP/nv8aiaIyrqz2gO5A9+9FI1GIfn5+WhZdTAdjFMkwMvZOy7uWnTAOz3L4Yk71m3t69fdfTDoUGTBeHTUfiHQ6lo7Z2OXJvpDAChKe+aOCdKRKWxZ2+1qb3yyd3GYmRkQ7GQBVs99wfv6on3eR2k4PdTkDEbH7IuS8/svld/561PJS/pDk1/bzwx94pze7xc5v/H+YPY6r5BAkdrJzODTK46lE6PeYEJt7u+8j+OZwCBiEAgAoNgKJoEQf6PvNvdrXgtZoNhSf7q0KZ3B2AQmVMze0Jmt54S/DcDCVig2NcvEUGxJAE4Pl+YOr0iv6BRSIPAmBeBZAmHlE2sH4p1uhrq1s0MnnEQMBsf8wRASAICQQCCITN1X7/sOuc0kgOVp3/fPs2WHv+coG7gQOJUnLGsUCTxEjPzUohEA+NfIWUdtx0+efzA1kSSkIGyBAQNCKgHAEBAJ3u79U7kiAcWoem/gb5Fd33nrH3kp+SMWtuAB+GllMJxMjCx9QRgA3uiqL5kwHiTlpxb3smlfMDGYGPP1hcMAkJvs8ScpfdJspdj+MK6Pf+5+u29vyb4lR4+BGEziVESAkEpw6Av1OhUpHCz4qOXbzFWz4Ncdj/v/o08Lt92ODDgZDCEFJYoUGH4mzugP92puPTf0pD3H7wvfdFZdqSxnMtWjoGAAmG9fOLxjwesdjT2/XzIQ7ks3sycYMSEwGHNtWf5bkX5NkYCJBxUBXiGV0XHvosOt54Zey33j/K+8P33++vjnbiGJbbLE+J9SANAb6nJ2B79wcUwETAwQQ7fMjPzMvfP8ja87HUIKMOiaAqMZhrGmLdAy78eZrwwsTS0eObTs+IdtgVanxBUExqGbb5VzrIISGIoUXsmqbgEhJldCQWqRf27SvPAn/o8XmgLhZsUkR4ll37mhk3n94Z4OlzY/7NLcYZfm7o1z2zT4vsvUNSXqprBCkmiTFbPX90/fh8GIT2sf+zTPdDMf4dVnNg4z+E0ixsGeBs9jd5ViSgLHjCb/peaR+MD3d4/ZJg2llyuG2Vwy7QWAs8PNnn1f7vkGSGxAzE6mk+kxkx/p/4unffSCR0hAoL1EBCYiPNdWNcwkNQTCR7feWX6g+7f/A7I8rcw/U6UEe0Ndrhc/W7mtL9ztmqlSgstSS/zTJ28dalpOpkRryrwbhwBACgsLMWPGDOT4ll3qyeqAkJTdCF7P/CrUY/GkLL1rE+2hTbSH8+0Lb/WEuhzhyaA905blf9Vd/895WnZwLHrPevir/cvOB1oLYpTtLrm6oYGIMDExAaqtrUVKSgqYGSKCk0WHq5ikkWEWtNL0imv5qUW+RclLRjJsrhBAuH1/QL8R7HR4xy5nescuP23E6hOA6mLv+sb4uTw6Ogqqq6uDpmkQkcStorX4XRcM1FjZ+kvFFjCJKU1WpkNJJUqIMtX1RyLeX3JtQ0JRhmGYZ/L27duRnJycuFGISOJ9pqh5lrB6iYgqGOxRrOaa54DcZmKvkJxk8JHC9rKh+KVhOsD4+Dj+MwADIf8n5m4xGwAAAABJRU5ErkJggg==');\n}\n\ndiv.vis-network div.vis-manipulation div.vis-button.vis-edit,\ndiv.vis-network div.vis-edit-mode div.vis-button.vis-edit {\n background-image: url('data:image/png;base64,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/GMzLdsAAEEOaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAyMSA3OS4xNTQ5MTEsIDIwMTMvMTAvMjktMTE6NDc6MTYgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNC0wMi0wNVQxNDoxMjoyNSswMTowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTQtMDItMDVUMTQ6MTI6MjUrMDE6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjY5OTM3ZGZjLTJjNzQtYTU0YS05OTIzLTQyMmZhNDNkMjljNDwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6RUE2MEEyNEUxOTg0RTMxMUFEQUZFRkU2RUMzMzNFMDM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDEtMjNUMTk6MTg6MDcrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDozOWNhNzE5ZC03YzNlLTUyNGEtYmY1NS03NGVmMmM1MzE0YTc8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDItMDVUMTQ6MTI6MjUrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jb252ZXJ0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+ZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZzwvc3RFdnQ6cGFyYW1ldGVycz4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmRlcml2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+Y29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmc8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjY5OTM3ZGZjLTJjNzQtYTU0YS05OTIzLTQyMmZhNDNkMjljNDwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNC0wMi0wNVQxNDoxMjoyNSswMTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8eG1wTU06RGVyaXZlZEZyb20gcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICA8c3RSZWY6aW5zdGFuY2VJRD54bXAuaWlkOjM5Y2E3MTlkLTdjM2UtNTI0YS1iZjU1LTc0ZWYyYzUzMTRhNzwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgICAgPHN0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDwveG1wTU06RGVyaXZlZEZyb20+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6SUNDUHJvZmlsZT5zUkdCIElFQzYxOTY2LTIuMTwvcGhvdG9zaG9wOklDQ1Byb2ZpbGU+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyMDA5MC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDkwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4ykninAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAYpSURBVHjafFZtTFvnFX7Oea+NudiY2Hwam4CBlgQwXdKREDKUoYg0jbRJ29RJ2VZ1mjRFUxSpA3VTfkzJfkQbS7spU6rtx5Z2UtppScjaHxvLuiatWi2jLEoMIUDCh23g2gbj7+tPuPvhOurawPl1dc99n+c55z33fV46ceIEZFkGADAziAgAQERoe/9ZK4GPM/AcgbsIXAcABCgMvkfAqAa89eDoJyF8LogIqqqChoaGYDAYHr8kItS8uc8iIH6iAa9IkAo5EAQX8pqmgUVBCBggYFgDhv0/GAsBgKZpICJkMhnQ4OAgZFkGEYGZUXmp+0cS+CKBwWA0DVRPOg5Zl2q6zaHyJlnVAMQXVTkwHrUqH0Xsvn+tdQAAMQDgpPLS2MViFY8rkGUZzIzaS/t/xqCzGggtz9e697zsnKhoLUtim4jOq/LE6x7X0nsh16dEZ5a/O3a2SCAOHjwInU6Hujd6ThJ4mCDQ+b2G232v7v6vwarPbQn8MGlMr+X0kpE3Wr5Zt5hL5HPhqYSdQIfKJ+yhxDPKWC6Xg+jt7UXD5b5KBt1kCHS85Ljd8/On3NupfnhFaZj4rWff1B98B1R/hnUmKd36bdtCNl4g0en4edNE/cXwLq8qMTMIPAQwmo/WuHvObA8+9c58k/dKtD0TyZWXN5YGA7ej7epKxspM//7SoNOdWc/Jyq2wiwhDzPxT8cP0jys3VMM7OmL0/77zn4Ydui3b8uiK0jD7RrA77c9Wd57cefPpF+2T6bWsFPWkaiPTCWvTsZpHFU+XrS+8G3AR08F6X+1FJvBxQQzHQOWk2SmrW4FPX/U2LVwPuDZj+fJKl2khPpeyAqA9rzR/YqwuiWXX8taN/CabGkrVuq9YJlkQQDjOAJ5jAhz9Vt9W4N5/rNp8I+vtMV/aZm4zLnUNNt0urdYnF68HWoJj4Wo1mLGUNRr8LEgDgNqeCh8xQIKOsgC7iAjVe83rT9zQa8uNM28u70kspessu8q8zq/V3NcZpVzb9+0zmVhOvvvrhaMVzrJg0zeq7xMVCCwdpnWSGBqjUyJwLTFgbvxie3w31uoWR1Y74r60rdxZqrR8q85t2W2MGCp12bm/KC3hyaSTiMhxuGrKcahqpbjOaDOoEhOEoFqJQCCJvqA85I6bfTdDjQlf2lbxVNlS6wt19yy7jRHZZlDnrinNj/6sHMhnNw2Ogco7O79e5fm/xQywRBBCEAuwn4gQ96bkYj4Vyuq9N1Z3Bj4Od5bs0MXt/dZZ21ctiqFan174q985P+Lfp+U1g7XDON/1ctP458WlVjLyJhOISZE0wM0S1QfuRC3lTjkJAKKEtNC9eIOhSh9xHLZOJRZTFuXDsEoStLkR/768ummsaJG9Pb9oe+9J+xaeSVokiQDSJphAo5uaBuWjiKP4QTqS1cUWU7ayesN66wu22frD1vmVW6GW6T8u9eVjGyZzs+w78Nqu0a2mbvVu1KEJQAgeZRL0liQYyx+GOmKeQpu0rMYsAJPNEFGD2dLodLIy6c9Ys7G8yeSUl3tf2/X3rcBVJSOv34l3sCBogi7z1LH/rBHjl4IJ93/ncQFAnjeImJD0Z8zuCwu9q3djDXqTlAKID5xv+9t2R8n8VcUFBljQ8Gyfe40BYBM4DwDLt8Kue79ZcFkbzfEdbUbv+oN4c9KTtsfm1MbYQqqh+2zrVZYKs/7Ef+byimt1POYiJhDhPBFBIiIEXhxfs7/dfYoIF+auBfYTE/pebx/V8hqBP2ODvD34yvuh/WCAmU75Bx6sIgaI/v5+6PV6JLqUsYr7dpDAoehs0h73pHTWrvKgThYbRSt9UmSjef3MpaUvBz4O72UmADgTOPJguGiZor+/HyUlJWBmJFz+D8xTtlUiOpbwpmrmrweeSXrT+g11k4SBN3RGKUcAVCVdFhyP1nreDbY//NPyEXUlU/Pp4XYycGT6V0Ux2WwWdO7cOZSWlkII8diX7SPPNgDaKdbxoNAxwATBAEkEEgSWCEQAqPAMwqvMdCEwMO0tVqZpWsGTT58+DaPR+PhGIYQAAAgh0P7B3ioW/B0iGiCGiwXbCuOHFSJys6AbYFye2T+xWhT3WYJEIoH/DQBMw3kes8OJPgAAAABJRU5ErkJggg==');\n}\n\ndiv.vis-network div.vis-edit-mode div.vis-button.vis-edit.vis-edit-mode {\n background-color: #fcfcfc;\n border: 1px solid #cccccc;\n}\n\ndiv.vis-network div.vis-manipulation div.vis-button.vis-connect {\n background-image: url('data:image/png;base64,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/GMzLdsAAEEOaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAyMSA3OS4xNTQ5MTEsIDIwMTMvMTAvMjktMTE6NDc6MTYgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNC0wMi0wNFQxNDozODo1NyswMTowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTQtMDItMDRUMTQ6Mzg6NTcrMDE6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjlmYjUwMDU0LWE3ODEtMWQ0OC05ZTllLTU2ZWQ5YzhlYjdjNjwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6RUE2MEEyNEUxOTg0RTMxMUFEQUZFRkU2RUMzMzNFMDM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDEtMjNUMTk6MTg6MDcrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3ZWRhMjI0MC0yYTQxLTNlNDQtYWM2My1iNzNiYTE5OWI3Y2E8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDItMDRUMTQ6Mzg6NTcrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jb252ZXJ0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+ZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZzwvc3RFdnQ6cGFyYW1ldGVycz4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmRlcml2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+Y29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmc8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjlmYjUwMDU0LWE3ODEtMWQ0OC05ZTllLTU2ZWQ5YzhlYjdjNjwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNC0wMi0wNFQxNDozODo1NyswMTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8eG1wTU06RGVyaXZlZEZyb20gcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICA8c3RSZWY6aW5zdGFuY2VJRD54bXAuaWlkOjdlZGEyMjQwLTJhNDEtM2U0NC1hYzYzLWI3M2JhMTk5YjdjYTwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgICAgPHN0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDwveG1wTU06RGVyaXZlZEZyb20+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6SUNDUHJvZmlsZT5zUkdCIElFQzYxOTY2LTIuMTwvcGhvdG9zaG9wOklDQ1Byb2ZpbGU+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyMDA5MC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDkwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4ubxs+AAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAUtSURBVHjajJZ/bNT1Gcdfz/P53PV6B4W7VltLqdAaplIOiMOoyxxJCSs/Gv/yB4gzJroAosmmDklwkYWR0bQsdmkykoojTpcsWYLxD/lRZdMQkTHRtkLZRqG0tIVe7662vTu43n32x/VKZ/jh89cn38/zvN7P5/l88zwf2blzJz6fDwARQUSm1n8s31CM0/VAnbNmsUPuAsDpgEO+Bg4C7//iyv5hvmMiQiqVQpqamvB6vVNwEeG1JZtCBrYi/MrkAwDNgjhwAlbzICBLA0rDb0+/839C6XQaaWxspLCw8Dp86cbNmqVFJQddE6KzdjZ9D89g+B6fSyCOcyn1nxil+O9xKg5HqWFSHGXLjrP7W/ICqVQK2bNnDz6fDxFh65KNvxbHDhF4rJj2bXPo+IGfcW5h5xL4f99P+FCEMIAob75x9t0dAMlkElNXV4e1lteXbNqiQoMaeOFOjrdU868SD2luYyEP6dUh+sYmSHeOU6GO5Z8VLx5+NNZxIpPJ5AS2L3upROCoCvz8Lo7vnkf77cAHhpiz/zIL9vWz8L8p/NvupmM0Q7pjnAoLqz8tDrc8MnQqYVUVhVdF4LEg7b+rvDn8wDDlH0WoPpukLJImSBaMwjcJqmwWts2jPZLG/8kwYVFeVdXXZcFf4yVDc2cNKfBFmD9X+0ncCP58F48eG+Feo2CAUkvs4dl0V/uJvdXLiiV+ut++n7YLSfxPfMMG54ChzB3WIesVWB2i82bw1AR6fJR7C4VsfYiv6u/k3A9nEgP4zXke8DiYHyAOMK+QxPIgnZ9GqSHr1itQJ8DK2fTerDQ+S/bHRXQJaHSCwNIZ2Xh+7+S3VAmwNMBA/tuPZtErgKquUmdMWIFlRURvdamRNEXGwIWrlP47pTMzLiunxghGMwTLvcTWlHAp77s4QNSrYMQtss6ZMgWqCm5cHoDHO1nbk6K8zEN8+3zatv2Hn1b59EqJZdxmYUERg9P9KwpIiAOTdWUWBXuLzB/vZG3P1Un4PNp2d1MbmyD45TWCxuCsQm0x56bHGHFYEZwxok7toAA9Sfw3hCcoL/NOwi9QO5wmWO1j4JEgZxTkodmcWRGkf3pcX0r8xoAaBixKu4U5/xwndM+0tpAvS6mP+PZK2nb1UBvPEKwKMLDvPj4ESGc55lGy303sdJKQdZB2rkMdctAB/4gzN+/Q2ENNd4LyUi/xN+bTtquX2thk5nk4wI3gAF+OMNcA1nFQDfK+BY5GqbkwWabTY5QZhXWlnNx1ntrY1Rz87fuvw29m/Sn8J+PUGAFj5T19baA1IspuBZp7cx1x4SwG1cEf+lgRSROs8jGwb+Ht4QB/GSSsAhYano39LWIBxNEIbP14hPDuiyS2VtJuHXQlKKvxM/jiXDq/D/xPlwifGMkJZB2NIoKpr69nxeiZxLHicFSFVWfGqBidIP3LSjrWltD94CyufF/4kQgPuVz2Lz93+dDRa9eu5QQ8Hg8/iXee+Dy4CKMs7xqn4nwKz9IirhQqmVuB42m8ey+x7LMoD6iAON782eChhqmRuXfvXgKBAKqKqtI0/8nNKrQI4BVYXkzHgzPpC88gWuHL/caXrhLoGiN0apSKr0ZZRBZM7q2w5ZnLR1oAnHOMjY0hra2tFBQUYIyZmstvVT1Z6eDlAuEVq7merxmwueNPDXy9PvybjKP5mctHLk4/XTKZRJqbm/H7/VNw1VyEMYbW4FN3WNWnnchKoy5sHeVGBRX6VWi3ymFx7r11Ix8MTX/y5C2RSPC/AQB61erowbpqSwAAAABJRU5ErkJggg==');\n}\n\ndiv.vis-network div.vis-manipulation div.vis-button.vis-delete {\n background-image: url('data:image/png;base64,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/GMzLdsAAEEOaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAyMSA3OS4xNTQ5MTEsIDIwMTMvMTAvMjktMTE6NDc6MTYgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNC0wMi0wNFQxNDo0MTowNCswMTowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTQtMDItMDRUMTQ6NDE6MDQrMDE6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjc3NDkzYmUxLTEyZGItOTg0NC1iNDYyLTg2NGVmNGIzMzM3MTwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6RUE2MEEyNEUxOTg0RTMxMUFEQUZFRkU2RUMzMzNFMDM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDEtMjNUMTk6MTg6MDcrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDowNmE3NWYwMy04MDdhLWUzNGYtYjk1Zi1jZGU2MjM0Mzg4OGY8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDItMDRUMTQ6NDE6MDQrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jb252ZXJ0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+ZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZzwvc3RFdnQ6cGFyYW1ldGVycz4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmRlcml2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+Y29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmc8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjc3NDkzYmUxLTEyZGItOTg0NC1iNDYyLTg2NGVmNGIzMzM3MTwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNC0wMi0wNFQxNDo0MTowNCswMTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8eG1wTU06RGVyaXZlZEZyb20gcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICA8c3RSZWY6aW5zdGFuY2VJRD54bXAuaWlkOjA2YTc1ZjAzLTgwN2EtZTM0Zi1iOTVmLWNkZTYyMzQzODg4Zjwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgICAgPHN0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDwveG1wTU06RGVyaXZlZEZyb20+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6SUNDUHJvZmlsZT5zUkdCIElFQzYxOTY2LTIuMTwvcGhvdG9zaG9wOklDQ1Byb2ZpbGU+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyMDA5MC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDkwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4aYJzYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAYGSURBVHjalJZ7UJTnFcZ/73m/72PdJY1RbhoQp6lkXRAvmIYxdCUadLVOozPNtGObap1JsKipjiShbdoRbeKEiQHpQK3xj0xa03aamTbaTGyAYV1QGeqFi+JyiZFLAlmESBkWRmS3fyzslGkmnZ5/v/M873Oe75zzvqqoqAibzQaAiKCUAkApRdHIK/NFsx2NR91nOSILADDoJyzNaM4xxbtvPHh0iC+JiYkJ1OHDh4mJiUEpFSXPv/ziPC28TIiXDCOSrAClQDSEpsCwJPIhrEBRQpiSytXlQwDhcBilFPfu3UMVFxdjt9ujFTzfcLBADCoEEAFr1ZbrrNjch2vtEImPBgHob7fTcWE+bVXJNJ/NiFQlEGLvieXHKmYqGB8fRx05cgSbzYaIsPvywV8pKFaA7fGtLTzz61YWpo/xVTHQbufsq5lcez9zWuWhk5mvFwMEg0H0+vXrMU2Tn1wp3CtCiQ5DjGd3A/m/v8IDCZP8r4iNmyRrWx/j/5qktykZpXKzAjVDVxPzGqemptDr1q1jX3NRnIJarcDKK2hgR2ULXRfncv7UYv7xpovhnhiW5Mz+kefeSKO6LJ1A1xzEuk/Ojm4mRibpuZaMZW3OCtRUND60NmiICCIUShisx7a2sLMiQn4s77uEQgIabnqdfHIlgT1/qQeg8vs5dHhdCNB1wYn3RIiC995j26stjAbsNH+YiZJCESnS1Y/XxIXu8r4YIPv/VkVs3CTnTy2ms34xro1+sp9po6sxlTu34ultmsPVvy6is86FCHgO+DDs49zpjufBpCG+seYOC9OHaTidieicb9ouVAhKtouAseI710ma7pLuqwmgYfHqAFt+6WdLoQ/LBl11Lm7VudAa8vb72PCin9TlAWIsGGhLACD+kSAZnusYBii1XQAPYWDllt6ov2lrBkDBR2+6Ofuak2//3M+G/T4wAAPW7fPhKfRTVeqk9qQbFKRmDUTxS3N7QYGYmwzCkqklBGlPDEcTNv+sg9tNCbTXuvBWujE0bHrZj9JE1B/wU1Pm5PwJN6YBS9a2kVvQEcWnrh5GTFD3lxkYkqRMgYQlwVldUvDnen73LHTUuqitdKM0eAr9AFQfd1J/yo2aJn+2sn4Wdn5qEFODJskgBIjx5T0uCrQA08pnIjS9PERDjPnfOKXAMEBECUoGEIHBj+2zkt76UQ6dXheGAev3+cg74Kf6uJPqcicbfuond7cPy4SOiy7+tD9nFvZurx00KOk3CNEC+mE+vjSPBc7IWqgqTaPT60IMcO/xsXGa3HfKjRgRdbl7/KDg0jtubje6aHj7c7J3dgLQ2zoPwwQ91SooOQdAW1VKVMHty0kA5Bb48BycJn/LjWFGbLv4thvvb53kFvjJ+XEdWkPfjQVR/CcNKYgGMc8JWt5Fa2j+MIPPuyI2pa4IoHSkt6vLIuRaQ9q32khzt4GCxtNu6k46GeiIR2lIfDQQsafPzq1LGRGL9Gk9d+vrwewvfHPQOoexQVjxdB/auk/zmaUMdsfz6bVUtIalT7bxveP1ZHh6GPDPYeSzeD69kcpIfxymFWLNrka+ljhBTWkWwz2JiJT84YHnz2iPx0P20PkmRF5i6HYiwZFJsn/YzdezbzE3cQibY5xV266z6RfXohakb+xB9CjanCD9qTbW7Grk4WV38VZm0l6dhQiEw9taHSuDqrS0FIfDwXM3X9mHMsvRAk/sauDpQy38P+GtzOTGB9mEpkD0C2dS8n8zOjqK9ng8WJZFU+JTjasGvaCNXPpvJBPoMlm0OoDNMfWVxONfWNSUPUZ7TUQ56tCZlPwSgMnJSVRpaSmxsbFE1raw82ZxAZZRQUiBYUKGp5UlOX2krBzmoUVjiIKhHge9rfPo+Wcy3ZeXIYASgL1/X5RfMXMvj46OosrLy7HZbGitUUohIuzoem0RofALaOsghgWGjky0MiJTL8b0lOvI8hN1DKXKP0jd3TNTWDgcJhgMoo4ePYrD4Yi+KmaeLlprnrtXFo9h/AAlG1AqE8yFmBrC+jO0bgH9EVpO/1F2Dc5g//OAsbEx/j0Af+USsQynL1UAAAAASUVORK5CYII=');\n}\n/* top right bottom left */\ndiv.vis-network div.vis-manipulation div.vis-label,\ndiv.vis-network div.vis-edit-mode div.vis-label {\n margin: 0 0 0 23px;\n line-height: 25px;\n}\ndiv.vis-network div.vis-manipulation div.vis-separator-line {\n float:left;\n display:inline-block;\n width:1px;\n height:21px;\n background-color: #bdbdbd;\n margin: 0px 7px 0 15px; /*top right bottom left*/\n}\n\n/* TODO: is this redundant?\ndiv.network-navigation_wrapper {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n}\n*/\n");var xh=function(){function g(A,t,C,I){var e,i,o=this;Tn(this,g),this.body=A,this.canvas=t,this.selectionHandler=C,this.interactionHandler=I,this.editMode=!1,this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0,this.manipulationHammers=[],this.temporaryUIFunctions={},this.temporaryEventFunctions=[],this.touchTime=0,this.temporaryIds={nodes:[],edges:[]},this.guiEnabled=!1,this.inMode=!1,this.selectedControlNode=void 0,this.options={},this.defaultOptions={enabled:!1,initiallyActive:!1,addNode:!0,addEdge:!0,editNode:void 0,editEdge:!0,deleteNode:!0,deleteEdge:!0,controlNodeStyle:{shape:"dot",size:6,color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968",border:"#3c3c3c"}},borderWidth:2,borderWidthSelected:2}},yg(this.options,this.defaultOptions),this.body.emitter.on("destroy",(function(){o._clean()})),this.body.emitter.on("_dataChanged",$(e=this._restore).call(e,this)),this.body.emitter.on("_resetData",$(i=this._restore).call(i,this))}return Rn(g,[{key:"_restore",value:function(){!1!==this.inMode&&(!0===this.options.initiallyActive?this.enableEditMode():this.disableEditMode())}},{key:"setOptions",value:function(g,A,t){void 0!==A&&(void 0!==A.locale?this.options.locale=A.locale:this.options.locale=t.locale,void 0!==A.locales?this.options.locales=A.locales:this.options.locales=t.locales),void 0!==g&&("boolean"==typeof g?this.options.enabled=g:(this.options.enabled=!0,Me(this.options,g)),!0===this.options.initiallyActive&&(this.editMode=!0),this._setup())}},{key:"toggleEditMode",value:function(){!0===this.editMode?this.disableEditMode():this.enableEditMode()}},{key:"enableEditMode",value:function(){this.editMode=!0,this._clean(),!0===this.guiEnabled&&(this.manipulationDiv.style.display="block",this.closeDiv.style.display="block",this.editModeDiv.style.display="none",this.showManipulatorToolbar())}},{key:"disableEditMode",value:function(){this.editMode=!1,this._clean(),!0===this.guiEnabled&&(this.manipulationDiv.style.display="none",this.closeDiv.style.display="none",this.editModeDiv.style.display="block",this._createEditButton())}},{key:"showManipulatorToolbar",value:function(){if(this._clean(),this.manipulationDOM={},!0===this.guiEnabled){var g,A;this.editMode=!0,this.manipulationDiv.style.display="block",this.closeDiv.style.display="block";var t=this.selectionHandler._getSelectedNodeCount(),C=this.selectionHandler._getSelectedEdgeCount(),I=t+C,e=this.options.locales[this.options.locale],i=!1;!1!==this.options.addNode&&(this._createAddNodeButton(e),i=!0),!1!==this.options.addEdge&&(!0===i?this._createSeperator(1):i=!0,this._createAddEdgeButton(e)),1===t&&"function"==typeof this.options.editNode?(!0===i?this._createSeperator(2):i=!0,this._createEditNodeButton(e)):1===C&&0===t&&!1!==this.options.editEdge&&(!0===i?this._createSeperator(3):i=!0,this._createEditEdgeButton(e)),0!==I&&(t>0&&!1!==this.options.deleteNode||0===t&&!1!==this.options.deleteEdge)&&(!0===i&&this._createSeperator(4),this._createDeleteButton(e)),this._bindHammerToDiv(this.closeDiv,$(g=this.toggleEditMode).call(g,this)),this._temporaryBindEvent("select",$(A=this.showManipulatorToolbar).call(A,this))}this.body.emitter.emit("_redraw")}},{key:"addNodeMode",value:function(){var g;if(!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode="addNode",!0===this.guiEnabled){var A,t=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(t),this._createSeperator(),this._createDescription(t.addDescription||this.options.locales.en.addDescription),this._bindHammerToDiv(this.closeDiv,$(A=this.toggleEditMode).call(A,this))}this._temporaryBindEvent("click",$(g=this._performAddNode).call(g,this))}},{key:"editNode",value:function(){var g=this;!0!==this.editMode&&this.enableEditMode(),this._clean();var A=this.selectionHandler._getSelectedNode();if(void 0!==A){if(this.inMode="editNode","function"!=typeof this.options.editNode)throw new Error("No function has been configured to handle the editing of nodes.");if(!0!==A.isCluster){var t=Me({},A.options,!1);if(t.x=A.x,t.y=A.y,2!==this.options.editNode.length)throw new Error("The function for edit does not support two arguments (data, callback)");this.options.editNode(t,(function(A){null!=A&&"editNode"===g.inMode&&g.body.data.nodes.getDataSet().update(A),g.showManipulatorToolbar()}))}else alert(this.options.locales[this.options.locale].editClusterError||this.options.locales.en.editClusterError)}else this.showManipulatorToolbar()}},{key:"addEdgeMode",value:function(){var g,A,t,C,I;if(!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode="addEdge",!0===this.guiEnabled){var e,i=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(i),this._createSeperator(),this._createDescription(i.edgeDescription||this.options.locales.en.edgeDescription),this._bindHammerToDiv(this.closeDiv,$(e=this.toggleEditMode).call(e,this))}this._temporaryBindUI("onTouch",$(g=this._handleConnect).call(g,this)),this._temporaryBindUI("onDragEnd",$(A=this._finishConnect).call(A,this)),this._temporaryBindUI("onDrag",$(t=this._dragControlNode).call(t,this)),this._temporaryBindUI("onRelease",$(C=this._finishConnect).call(C,this)),this._temporaryBindUI("onDragStart",$(I=this._dragStartEdge).call(I,this)),this._temporaryBindUI("onHold",(function(){}))}},{key:"editEdgeMode",value:function(){if(!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode="editEdge","object"!==Ae(this.options.editEdge)||"function"!=typeof this.options.editEdge.editWithoutDrag||(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0===this.edgeBeingEditedId)){if(!0===this.guiEnabled){var g,A=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(A),this._createSeperator(),this._createDescription(A.editEdgeDescription||this.options.locales.en.editEdgeDescription),this._bindHammerToDiv(this.closeDiv,$(g=this.toggleEditMode).call(g,this))}if(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0!==this.edgeBeingEditedId){var t,C,I,e,i=this.body.edges[this.edgeBeingEditedId],o=this._getNewTargetNode(i.from.x,i.from.y),n=this._getNewTargetNode(i.to.x,i.to.y);this.temporaryIds.nodes.push(o.id),this.temporaryIds.nodes.push(n.id),this.body.nodes[o.id]=o,this.body.nodeIndices.push(o.id),this.body.nodes[n.id]=n,this.body.nodeIndices.push(n.id),this._temporaryBindUI("onTouch",$(t=this._controlNodeTouch).call(t,this)),this._temporaryBindUI("onTap",(function(){})),this._temporaryBindUI("onHold",(function(){})),this._temporaryBindUI("onDragStart",$(C=this._controlNodeDragStart).call(C,this)),this._temporaryBindUI("onDrag",$(I=this._controlNodeDrag).call(I,this)),this._temporaryBindUI("onDragEnd",$(e=this._controlNodeDragEnd).call(e,this)),this._temporaryBindUI("onMouseMove",(function(){})),this._temporaryBindEvent("beforeDrawing",(function(g){var A=i.edgeType.findBorderPositions(g);!1===o.selected&&(o.x=A.from.x,o.y=A.from.y),!1===n.selected&&(n.x=A.to.x,n.y=A.to.y)})),this.body.emitter.emit("_redraw")}else this.showManipulatorToolbar()}else{var r=this.body.edges[this.edgeBeingEditedId];this._performEditEdge(r.from.id,r.to.id)}}},{key:"deleteSelected",value:function(){var g=this;!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode="delete";var A=this.selectionHandler.getSelectedNodes(),t=this.selectionHandler.getSelectedEdges(),C=void 0;if(A.length>0){for(var I=0;I<A.length;I++)if(!0===this.body.nodes[A[I]].isCluster)return void alert(this.options.locales[this.options.locale].deleteClusterError||this.options.locales.en.deleteClusterError);"function"==typeof this.options.deleteNode&&(C=this.options.deleteNode)}else t.length>0&&"function"==typeof this.options.deleteEdge&&(C=this.options.deleteEdge);if("function"==typeof C){var e={nodes:A,edges:t};if(2!==C.length)throw new Error("The function for delete does not support two arguments (data, callback)");C(e,(function(A){null!=A&&"delete"===g.inMode?(g.body.data.edges.getDataSet().remove(A.edges),g.body.data.nodes.getDataSet().remove(A.nodes),g.body.emitter.emit("startSimulation"),g.showManipulatorToolbar()):(g.body.emitter.emit("startSimulation"),g.showManipulatorToolbar())}))}else this.body.data.edges.getDataSet().remove(t),this.body.data.nodes.getDataSet().remove(A),this.body.emitter.emit("startSimulation"),this.showManipulatorToolbar()}},{key:"_setup",value:function(){!0===this.options.enabled?(this.guiEnabled=!0,this._createWrappers(),!1===this.editMode?this._createEditButton():this.showManipulatorToolbar()):(this._removeManipulationDOM(),this.guiEnabled=!1)}},{key:"_createWrappers",value:function(){void 0===this.manipulationDiv&&(this.manipulationDiv=document.createElement("div"),this.manipulationDiv.className="vis-manipulation",!0===this.editMode?this.manipulationDiv.style.display="block":this.manipulationDiv.style.display="none",this.canvas.frame.appendChild(this.manipulationDiv)),void 0===this.editModeDiv&&(this.editModeDiv=document.createElement("div"),this.editModeDiv.className="vis-edit-mode",!0===this.editMode?this.editModeDiv.style.display="none":this.editModeDiv.style.display="block",this.canvas.frame.appendChild(this.editModeDiv)),void 0===this.closeDiv&&(this.closeDiv=document.createElement("div"),this.closeDiv.className="vis-close",this.closeDiv.style.display=this.manipulationDiv.style.display,this.canvas.frame.appendChild(this.closeDiv))}},{key:"_getNewTargetNode",value:function(g,A){var t=Me({},this.options.controlNodeStyle);t.id="targetNode"+us(),t.hidden=!1,t.physics=!1,t.x=g,t.y=A;var C=this.body.functions.createNode(t);return C.shape.boundingBox={left:g,right:g,top:A,bottom:A},C}},{key:"_createEditButton",value:function(){var g;this._clean(),this.manipulationDOM={},Oe(this.editModeDiv);var A=this.options.locales[this.options.locale],t=this._createButton("editMode","vis-button vis-edit vis-edit-mode",A.edit||this.options.locales.en.edit);this.editModeDiv.appendChild(t),this._bindHammerToDiv(t,$(g=this.toggleEditMode).call(g,this))}},{key:"_clean",value:function(){this.inMode=!1,!0===this.guiEnabled&&(Oe(this.editModeDiv),Oe(this.manipulationDiv),this._cleanManipulatorHammers()),this._cleanupTemporaryNodesAndEdges(),this._unbindTemporaryUIs(),this._unbindTemporaryEvents(),this.body.emitter.emit("restorePhysics")}},{key:"_cleanManipulatorHammers",value:function(){if(0!=this.manipulationHammers.length){for(var g=0;g<this.manipulationHammers.length;g++)this.manipulationHammers[g].destroy();this.manipulationHammers=[]}}},{key:"_removeManipulationDOM",value:function(){this._clean(),Oe(this.manipulationDiv),Oe(this.editModeDiv),Oe(this.closeDiv),this.manipulationDiv&&this.canvas.frame.removeChild(this.manipulationDiv),this.editModeDiv&&this.canvas.frame.removeChild(this.editModeDiv),this.closeDiv&&this.canvas.frame.removeChild(this.closeDiv),this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0}},{key:"_createSeperator",value:function(){var g=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.manipulationDOM["seperatorLineDiv"+g]=document.createElement("div"),this.manipulationDOM["seperatorLineDiv"+g].className="vis-separator-line",this.manipulationDiv.appendChild(this.manipulationDOM["seperatorLineDiv"+g])}},{key:"_createAddNodeButton",value:function(g){var A,t=this._createButton("addNode","vis-button vis-add",g.addNode||this.options.locales.en.addNode);this.manipulationDiv.appendChild(t),this._bindHammerToDiv(t,$(A=this.addNodeMode).call(A,this))}},{key:"_createAddEdgeButton",value:function(g){var A,t=this._createButton("addEdge","vis-button vis-connect",g.addEdge||this.options.locales.en.addEdge);this.manipulationDiv.appendChild(t),this._bindHammerToDiv(t,$(A=this.addEdgeMode).call(A,this))}},{key:"_createEditNodeButton",value:function(g){var A,t=this._createButton("editNode","vis-button vis-edit",g.editNode||this.options.locales.en.editNode);this.manipulationDiv.appendChild(t),this._bindHammerToDiv(t,$(A=this.editNode).call(A,this))}},{key:"_createEditEdgeButton",value:function(g){var A,t=this._createButton("editEdge","vis-button vis-edit",g.editEdge||this.options.locales.en.editEdge);this.manipulationDiv.appendChild(t),this._bindHammerToDiv(t,$(A=this.editEdgeMode).call(A,this))}},{key:"_createDeleteButton",value:function(g){var A,t;t=this.options.rtl?"vis-button vis-delete-rtl":"vis-button vis-delete";var C=this._createButton("delete",t,g.del||this.options.locales.en.del);this.manipulationDiv.appendChild(C),this._bindHammerToDiv(C,$(A=this.deleteSelected).call(A,this))}},{key:"_createBackButton",value:function(g){var A,t=this._createButton("back","vis-button vis-back",g.back||this.options.locales.en.back);this.manipulationDiv.appendChild(t),this._bindHammerToDiv(t,$(A=this.showManipulatorToolbar).call(A,this))}},{key:"_createButton",value:function(g,A,t){var C=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"vis-label";return this.manipulationDOM[g+"Div"]=document.createElement("div"),this.manipulationDOM[g+"Div"].className=A,this.manipulationDOM[g+"Label"]=document.createElement("div"),this.manipulationDOM[g+"Label"].className=C,this.manipulationDOM[g+"Label"].innerHTML=t,this.manipulationDOM[g+"Div"].appendChild(this.manipulationDOM[g+"Label"]),this.manipulationDOM[g+"Div"]}},{key:"_createDescription",value:function(g){this.manipulationDiv.appendChild(this._createButton("description","vis-button vis-none",g))}},{key:"_temporaryBindEvent",value:function(g,A){this.temporaryEventFunctions.push({event:g,boundFunction:A}),this.body.emitter.on(g,A)}},{key:"_temporaryBindUI",value:function(g,A){if(void 0===this.body.eventListeners[g])throw new Error("This UI function does not exist. Typo? You tried: "+g+" possible are: "+sr(HI(this.body.eventListeners)));this.temporaryUIFunctions[g]=this.body.eventListeners[g],this.body.eventListeners[g]=A}},{key:"_unbindTemporaryUIs",value:function(){for(var g in this.temporaryUIFunctions)Object.prototype.hasOwnProperty.call(this.temporaryUIFunctions,g)&&(this.body.eventListeners[g]=this.temporaryUIFunctions[g],delete this.temporaryUIFunctions[g]);this.temporaryUIFunctions={}}},{key:"_unbindTemporaryEvents",value:function(){for(var g=0;g<this.temporaryEventFunctions.length;g++){var A=this.temporaryEventFunctions[g].event,t=this.temporaryEventFunctions[g].boundFunction;this.body.emitter.off(A,t)}this.temporaryEventFunctions=[]}},{key:"_bindHammerToDiv",value:function(g,A){var t=new xn(g,{});gh(t,A),this.manipulationHammers.push(t)}},{key:"_cleanupTemporaryNodesAndEdges",value:function(){for(var g=0;g<this.temporaryIds.edges.length;g++){var A;this.body.edges[this.temporaryIds.edges[g]].disconnect(),delete this.body.edges[this.temporaryIds.edges[g]];var t,C=uI(A=this.body.edgeIndices).call(A,this.temporaryIds.edges[g]);if(-1!==C)Ii(t=this.body.edgeIndices).call(t,C,1)}for(var I=0;I<this.temporaryIds.nodes.length;I++){var e;delete this.body.nodes[this.temporaryIds.nodes[I]];var i,o=uI(e=this.body.nodeIndices).call(e,this.temporaryIds.nodes[I]);if(-1!==o)Ii(i=this.body.nodeIndices).call(i,o,1)}this.temporaryIds={nodes:[],edges:[]}}},{key:"_controlNodeTouch",value:function(g){this.selectionHandler.unselectAll(),this.lastTouch=this.body.functions.getPointer(g.center),this.lastTouch.translation=yg({},this.body.view.translation)}},{key:"_controlNodeDragStart",value:function(g){var A=this.lastTouch,t=this.selectionHandler._pointerToPositionObject(A),C=this.body.nodes[this.temporaryIds.nodes[0]],I=this.body.nodes[this.temporaryIds.nodes[1]],e=this.body.edges[this.edgeBeingEditedId];this.selectedControlNode=void 0;var i=C.isOverlappingWith(t),o=I.isOverlappingWith(t);!0===i?(this.selectedControlNode=C,e.edgeType.from=C):!0===o&&(this.selectedControlNode=I,e.edgeType.to=I),void 0!==this.selectedControlNode&&this.selectionHandler.selectObject(this.selectedControlNode),this.body.emitter.emit("_redraw")}},{key:"_controlNodeDrag",value:function(g){this.body.emitter.emit("disablePhysics");var A=this.body.functions.getPointer(g.center),t=this.canvas.DOMtoCanvas(A);void 0!==this.selectedControlNode?(this.selectedControlNode.x=t.x,this.selectedControlNode.y=t.y):this.interactionHandler.onDrag(g),this.body.emitter.emit("_redraw")}},{key:"_controlNodeDragEnd",value:function(g){var A=this.body.functions.getPointer(g.center),t=this.selectionHandler._pointerToPositionObject(A),C=this.body.edges[this.edgeBeingEditedId];if(void 0!==this.selectedControlNode){this.selectionHandler.unselectAll();for(var I=this.selectionHandler._getAllNodesOverlappingWith(t),e=void 0,i=I.length-1;i>=0;i--)if(I[i]!==this.selectedControlNode.id){e=this.body.nodes[I[i]];break}if(void 0!==e&&void 0!==this.selectedControlNode)if(!0===e.isCluster)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var o=this.body.nodes[this.temporaryIds.nodes[0]];this.selectedControlNode.id===o.id?this._performEditEdge(e.id,C.to.id):this._performEditEdge(C.from.id,e.id)}else C.updateEdgeType(),this.body.emitter.emit("restorePhysics");this.body.emitter.emit("_redraw")}}},{key:"_handleConnect",value:function(g){if((new Date).valueOf()-this.touchTime>100){this.lastTouch=this.body.functions.getPointer(g.center),this.lastTouch.translation=yg({},this.body.view.translation),this.interactionHandler.drag.pointer=this.lastTouch,this.interactionHandler.drag.translation=this.lastTouch.translation;var A=this.lastTouch,t=this.selectionHandler.getNodeAt(A);if(void 0!==t)if(!0===t.isCluster)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var C=this._getNewTargetNode(t.x,t.y);this.body.nodes[C.id]=C,this.body.nodeIndices.push(C.id);var I=this.body.functions.createEdge({id:"connectionEdge"+us(),from:t.id,to:C.id,physics:!1,smooth:{enabled:!0,type:"continuous",roundness:.5}});this.body.edges[I.id]=I,this.body.edgeIndices.push(I.id),this.temporaryIds.nodes.push(C.id),this.temporaryIds.edges.push(I.id)}this.touchTime=(new Date).valueOf()}}},{key:"_dragControlNode",value:function(g){var A=this.body.functions.getPointer(g.center),t=this.selectionHandler._pointerToPositionObject(A),C=void 0;void 0!==this.temporaryIds.edges[0]&&(C=this.body.edges[this.temporaryIds.edges[0]].fromId);for(var I=this.selectionHandler._getAllNodesOverlappingWith(t),e=void 0,i=I.length-1;i>=0;i--){var o;if(-1===uI(o=this.temporaryIds.nodes).call(o,I[i])){e=this.body.nodes[I[i]];break}}if(g.controlEdge={from:C,to:e?e.id:void 0},this.selectionHandler._generateClickEvent("controlNodeDragging",g,A),void 0!==this.temporaryIds.nodes[0]){var n=this.body.nodes[this.temporaryIds.nodes[0]];n.x=this.canvas._XconvertDOMtoCanvas(A.x),n.y=this.canvas._YconvertDOMtoCanvas(A.y),this.body.emitter.emit("_redraw")}else this.interactionHandler.onDrag(g)}},{key:"_finishConnect",value:function(g){var A=this.body.functions.getPointer(g.center),t=this.selectionHandler._pointerToPositionObject(A),C=void 0;void 0!==this.temporaryIds.edges[0]&&(C=this.body.edges[this.temporaryIds.edges[0]].fromId);for(var I=this.selectionHandler._getAllNodesOverlappingWith(t),e=void 0,i=I.length-1;i>=0;i--){var o;if(-1===uI(o=this.temporaryIds.nodes).call(o,I[i])){e=this.body.nodes[I[i]];break}}this._cleanupTemporaryNodesAndEdges(),void 0!==e&&(!0===e.isCluster?alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError):void 0!==this.body.nodes[C]&&void 0!==this.body.nodes[e.id]&&this._performAddEdge(C,e.id)),g.controlEdge={from:C,to:e?e.id:void 0},this.selectionHandler._generateClickEvent("controlNodeDragEnd",g,A),this.body.emitter.emit("_redraw")}},{key:"_dragStartEdge",value:function(g){var A=this.lastTouch;this.selectionHandler._generateClickEvent("dragStart",g,A,void 0,!0)}},{key:"_performAddNode",value:function(g){var A=this,t={id:us(),x:g.pointer.canvas.x,y:g.pointer.canvas.y,label:"new"};if("function"==typeof this.options.addNode){if(2!==this.options.addNode.length)throw this.showManipulatorToolbar(),new Error("The function for add does not support two arguments (data,callback)");this.options.addNode(t,(function(g){null!=g&&"addNode"===A.inMode&&A.body.data.nodes.getDataSet().add(g),A.showManipulatorToolbar()}))}else this.body.data.nodes.getDataSet().add(t),this.showManipulatorToolbar()}},{key:"_performAddEdge",value:function(g,A){var t=this,C={from:g,to:A};if("function"==typeof this.options.addEdge){if(2!==this.options.addEdge.length)throw new Error("The function for connect does not support two arguments (data,callback)");this.options.addEdge(C,(function(g){null!=g&&"addEdge"===t.inMode&&(t.body.data.edges.getDataSet().add(g),t.selectionHandler.unselectAll(),t.showManipulatorToolbar())}))}else this.body.data.edges.getDataSet().add(C),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}},{key:"_performEditEdge",value:function(g,A){var t=this,C={id:this.edgeBeingEditedId,from:g,to:A,label:this.body.data.edges.get(this.edgeBeingEditedId).label},I=this.options.editEdge;if("object"===Ae(I)&&(I=I.editWithoutDrag),"function"==typeof I){if(2!==I.length)throw new Error("The function for edit does not support two arguments (data, callback)");I(C,(function(g){null==g||"editEdge"!==t.inMode?(t.body.edges[C.id].updateEdgeType(),t.body.emitter.emit("_redraw"),t.showManipulatorToolbar()):(t.body.data.edges.getDataSet().update(g),t.selectionHandler.unselectAll(),t.showManipulatorToolbar())}))}else this.body.data.edges.getDataSet().update(C),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}}]),g}();Xi("div.vis-configuration {\n position:relative;\n display:block;\n float:left;\n font-size:12px;\n}\n\ndiv.vis-configuration-wrapper {\n display:block;\n width:700px;\n}\n\ndiv.vis-configuration-wrapper::after {\n clear: both;\n content: \"\";\n display: block;\n}\n\ndiv.vis-configuration.vis-config-option-container{\n display:block;\n width:495px;\n background-color: #ffffff;\n border:2px solid #f7f8fa;\n border-radius:4px;\n margin-top:20px;\n left:10px;\n padding-left:5px;\n}\n\ndiv.vis-configuration.vis-config-button{\n display:block;\n width:495px;\n height:25px;\n vertical-align: middle;\n line-height:25px;\n background-color: #f7f8fa;\n border:2px solid #ceced0;\n border-radius:4px;\n margin-top:20px;\n left:10px;\n padding-left:5px;\n cursor: pointer;\n margin-bottom:30px;\n}\n\ndiv.vis-configuration.vis-config-button.hover{\n background-color: #4588e6;\n border:2px solid #214373;\n color:#ffffff;\n}\n\ndiv.vis-configuration.vis-config-item{\n display:block;\n float:left;\n width:495px;\n height:25px;\n vertical-align: middle;\n line-height:25px;\n}\n\n\ndiv.vis-configuration.vis-config-item.vis-config-s2{\n left:10px;\n background-color: #f7f8fa;\n padding-left:5px;\n border-radius:3px;\n}\ndiv.vis-configuration.vis-config-item.vis-config-s3{\n left:20px;\n background-color: #e4e9f0;\n padding-left:5px;\n border-radius:3px;\n}\ndiv.vis-configuration.vis-config-item.vis-config-s4{\n left:30px;\n background-color: #cfd8e6;\n padding-left:5px;\n border-radius:3px;\n}\n\ndiv.vis-configuration.vis-config-header{\n font-size:18px;\n font-weight: bold;\n}\n\ndiv.vis-configuration.vis-config-label{\n width:120px;\n height:25px;\n line-height: 25px;\n}\n\ndiv.vis-configuration.vis-config-label.vis-config-s3{\n width:110px;\n}\ndiv.vis-configuration.vis-config-label.vis-config-s4{\n width:100px;\n}\n\ndiv.vis-configuration.vis-config-colorBlock{\n top:1px;\n width:30px;\n height:19px;\n border:1px solid #444444;\n border-radius:2px;\n padding:0px;\n margin:0px;\n cursor:pointer;\n}\n\ninput.vis-configuration.vis-config-checkbox {\n left:-5px;\n}\n\n\ninput.vis-configuration.vis-config-rangeinput{\n position:relative;\n top:-5px;\n width:60px;\n /*height:13px;*/\n padding:1px;\n margin:0;\n pointer-events:none;\n}\n\ninput.vis-configuration.vis-config-range{\n /*removes default webkit styles*/\n -webkit-appearance: none;\n\n /*fix for FF unable to apply focus style bug */\n border: 0px solid white;\n background-color:rgba(0,0,0,0);\n\n /*required for proper track sizing in FF*/\n width: 300px;\n height:20px;\n}\ninput.vis-configuration.vis-config-range::-webkit-slider-runnable-track {\n width: 300px;\n height: 5px;\n background: #dedede; /* Old browsers */\n background: -moz-linear-gradient(top, #dedede 0%, #c8c8c8 99%); /* FF3.6+ */\n background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#dedede), color-stop(99%,#c8c8c8)); /* Chrome,Safari4+ */\n background: -webkit-linear-gradient(top, #dedede 0%,#c8c8c8 99%); /* Chrome10+,Safari5.1+ */\n background: -o-linear-gradient(top, #dedede 0%, #c8c8c8 99%); /* Opera 11.10+ */\n background: -ms-linear-gradient(top, #dedede 0%,#c8c8c8 99%); /* IE10+ */\n background: linear-gradient(to bottom, #dedede 0%,#c8c8c8 99%); /* W3C */\n filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dedede', endColorstr='#c8c8c8',GradientType=0 ); /* IE6-9 */\n\n border: 1px solid #999999;\n box-shadow: #aaaaaa 0px 0px 3px 0px;\n border-radius: 3px;\n}\ninput.vis-configuration.vis-config-range::-webkit-slider-thumb {\n -webkit-appearance: none;\n border: 1px solid #14334b;\n height: 17px;\n width: 17px;\n border-radius: 50%;\n background: #3876c2; /* Old browsers */\n background: -moz-linear-gradient(top, #3876c2 0%, #385380 100%); /* FF3.6+ */\n background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#3876c2), color-stop(100%,#385380)); /* Chrome,Safari4+ */\n background: -webkit-linear-gradient(top, #3876c2 0%,#385380 100%); /* Chrome10+,Safari5.1+ */\n background: -o-linear-gradient(top, #3876c2 0%,#385380 100%); /* Opera 11.10+ */\n background: -ms-linear-gradient(top, #3876c2 0%,#385380 100%); /* IE10+ */\n background: linear-gradient(to bottom, #3876c2 0%,#385380 100%); /* W3C */\n filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3876c2', endColorstr='#385380',GradientType=0 ); /* IE6-9 */\n box-shadow: #111927 0px 0px 1px 0px;\n margin-top: -7px;\n}\ninput.vis-configuration.vis-config-range:focus {\n outline: none;\n}\ninput.vis-configuration.vis-config-range:focus::-webkit-slider-runnable-track {\n background: #9d9d9d; /* Old browsers */\n background: -moz-linear-gradient(top, #9d9d9d 0%, #c8c8c8 99%); /* FF3.6+ */\n background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#9d9d9d), color-stop(99%,#c8c8c8)); /* Chrome,Safari4+ */\n background: -webkit-linear-gradient(top, #9d9d9d 0%,#c8c8c8 99%); /* Chrome10+,Safari5.1+ */\n background: -o-linear-gradient(top, #9d9d9d 0%,#c8c8c8 99%); /* Opera 11.10+ */\n background: -ms-linear-gradient(top, #9d9d9d 0%,#c8c8c8 99%); /* IE10+ */\n background: linear-gradient(to bottom, #9d9d9d 0%,#c8c8c8 99%); /* W3C */\n filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9d9d9d', endColorstr='#c8c8c8',GradientType=0 ); /* IE6-9 */\n}\n\ninput.vis-configuration.vis-config-range::-moz-range-track {\n width: 300px;\n height: 10px;\n background: #dedede; /* Old browsers */\n background: -moz-linear-gradient(top, #dedede 0%, #c8c8c8 99%); /* FF3.6+ */\n background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#dedede), color-stop(99%,#c8c8c8)); /* Chrome,Safari4+ */\n background: -webkit-linear-gradient(top, #dedede 0%,#c8c8c8 99%); /* Chrome10+,Safari5.1+ */\n background: -o-linear-gradient(top, #dedede 0%, #c8c8c8 99%); /* Opera 11.10+ */\n background: -ms-linear-gradient(top, #dedede 0%,#c8c8c8 99%); /* IE10+ */\n background: linear-gradient(to bottom, #dedede 0%,#c8c8c8 99%); /* W3C */\n filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dedede', endColorstr='#c8c8c8',GradientType=0 ); /* IE6-9 */\n\n border: 1px solid #999999;\n box-shadow: #aaaaaa 0px 0px 3px 0px;\n border-radius: 3px;\n}\ninput.vis-configuration.vis-config-range::-moz-range-thumb {\n border: none;\n height: 16px;\n width: 16px;\n\n border-radius: 50%;\n background: #385380;\n}\n\n/*hide the outline behind the border*/\ninput.vis-configuration.vis-config-range:-moz-focusring{\n outline: 1px solid white;\n outline-offset: -1px;\n}\n\ninput.vis-configuration.vis-config-range::-ms-track {\n width: 300px;\n height: 5px;\n\n /*remove bg colour from the track, we'll use ms-fill-lower and ms-fill-upper instead */\n background: transparent;\n\n /*leave room for the larger thumb to overflow with a transparent border */\n border-color: transparent;\n border-width: 6px 0;\n\n /*remove default tick marks*/\n color: transparent;\n}\ninput.vis-configuration.vis-config-range::-ms-fill-lower {\n background: #777;\n border-radius: 10px;\n}\ninput.vis-configuration.vis-config-range::-ms-fill-upper {\n background: #ddd;\n border-radius: 10px;\n}\ninput.vis-configuration.vis-config-range::-ms-thumb {\n border: none;\n height: 16px;\n width: 16px;\n border-radius: 50%;\n background: #385380;\n}\ninput.vis-configuration.vis-config-range:focus::-ms-fill-lower {\n background: #888;\n}\ninput.vis-configuration.vis-config-range:focus::-ms-fill-upper {\n background: #ccc;\n}\n\n.vis-configuration-popup {\n position: absolute;\n background: rgba(57, 76, 89, 0.85);\n border: 2px solid #f2faff;\n line-height:30px;\n height:30px;\n width:150px;\n text-align:center;\n color: #ffffff;\n font-size:14px;\n border-radius:4px;\n -webkit-transition: opacity 0.3s ease-in-out;\n -moz-transition: opacity 0.3s ease-in-out;\n transition: opacity 0.3s ease-in-out;\n}\n.vis-configuration-popup:after, .vis-configuration-popup:before {\n left: 100%;\n top: 50%;\n border: solid transparent;\n content: \" \";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n\n.vis-configuration-popup:after {\n border-color: rgba(136, 183, 213, 0);\n border-left-color: rgba(57, 76, 89, 0.85);\n border-width: 8px;\n margin-top: -8px;\n}\n.vis-configuration-popup:before {\n border-color: rgba(194, 225, 245, 0);\n border-left-color: #f2faff;\n border-width: 12px;\n margin-top: -12px;\n}");Xi("\ndiv.vis-color-picker {\n position:absolute;\n top: 0px;\n left: 30px;\n margin-top:-140px;\n margin-left:30px;\n width:310px;\n height:444px;\n z-index: 1;\n padding: 10px;\n border-radius:15px;\n background-color:#ffffff;\n display: none;\n box-shadow: rgba(0,0,0,0.5) 0px 0px 10px 0px;\n}\n\ndiv.vis-color-picker div.vis-arrow {\n position: absolute;\n top:147px;\n left:5px;\n}\n\ndiv.vis-color-picker div.vis-arrow::after,\ndiv.vis-color-picker div.vis-arrow::before {\n right: 100%;\n top: 50%;\n border: solid transparent;\n content: \" \";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n\ndiv.vis-color-picker div.vis-arrow:after {\n border-color: rgba(255, 255, 255, 0);\n border-right-color: #ffffff;\n border-width: 30px;\n margin-top: -30px;\n}\n\ndiv.vis-color-picker div.vis-color {\n position:absolute;\n width: 289px;\n height: 289px;\n cursor: pointer;\n}\n\n\n\ndiv.vis-color-picker div.vis-brightness {\n position: absolute;\n top:313px;\n}\n\ndiv.vis-color-picker div.vis-opacity {\n position:absolute;\n top:350px;\n}\n\ndiv.vis-color-picker div.vis-selector {\n position:absolute;\n top:137px;\n left:137px;\n width:15px;\n height:15px;\n border-radius:15px;\n border:1px solid #ffffff;\n background: #4c4c4c; /* Old browsers */\n background: -moz-linear-gradient(top, #4c4c4c 0%, #595959 12%, #666666 25%, #474747 39%, #2c2c2c 50%, #000000 51%, #111111 60%, #2b2b2b 76%, #1c1c1c 91%, #131313 100%); /* FF3.6+ */\n background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#4c4c4c), color-stop(12%,#595959), color-stop(25%,#666666), color-stop(39%,#474747), color-stop(50%,#2c2c2c), color-stop(51%,#000000), color-stop(60%,#111111), color-stop(76%,#2b2b2b), color-stop(91%,#1c1c1c), color-stop(100%,#131313)); /* Chrome,Safari4+ */\n background: -webkit-linear-gradient(top, #4c4c4c 0%,#595959 12%,#666666 25%,#474747 39%,#2c2c2c 50%,#000000 51%,#111111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%); /* Chrome10+,Safari5.1+ */\n background: -o-linear-gradient(top, #4c4c4c 0%,#595959 12%,#666666 25%,#474747 39%,#2c2c2c 50%,#000000 51%,#111111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%); /* Opera 11.10+ */\n background: -ms-linear-gradient(top, #4c4c4c 0%,#595959 12%,#666666 25%,#474747 39%,#2c2c2c 50%,#000000 51%,#111111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%); /* IE10+ */\n background: linear-gradient(to bottom, #4c4c4c 0%,#595959 12%,#666666 25%,#474747 39%,#2c2c2c 50%,#000000 51%,#111111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%); /* W3C */\n filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4c4c4c', endColorstr='#131313',GradientType=0 ); /* IE6-9 */\n}\n\n\n\ndiv.vis-color-picker div.vis-new-color {\n position:absolute;\n width:140px;\n height:20px;\n border:1px solid rgba(0,0,0,0.1);\n border-radius:5px;\n top:380px;\n left:159px;\n text-align:right;\n padding-right:2px;\n font-size:10px;\n color:rgba(0,0,0,0.4);\n vertical-align:middle;\n line-height:20px;\n\n}\n\ndiv.vis-color-picker div.vis-initial-color {\n position:absolute;\n width:140px;\n height:20px;\n border:1px solid rgba(0,0,0,0.1);\n border-radius:5px;\n top:380px;\n left:10px;\n text-align:left;\n padding-left:2px;\n font-size:10px;\n color:rgba(0,0,0,0.4);\n vertical-align:middle;\n line-height:20px;\n}\n\ndiv.vis-color-picker div.vis-label {\n position:absolute;\n width:300px;\n left:10px;\n}\n\ndiv.vis-color-picker div.vis-label.vis-brightness {\n top:300px;\n}\n\ndiv.vis-color-picker div.vis-label.vis-opacity {\n top:338px;\n}\n\ndiv.vis-color-picker div.vis-button {\n position:absolute;\n width:68px;\n height:25px;\n border-radius:10px;\n vertical-align: middle;\n text-align:center;\n line-height: 25px;\n top:410px;\n border:2px solid #d9d9d9;\n background-color: #f7f7f7;\n cursor:pointer;\n}\n\ndiv.vis-color-picker div.vis-button.vis-cancel {\n /*border:2px solid #ff4e33;*/\n /*background-color: #ff7761;*/\n left:5px;\n}\ndiv.vis-color-picker div.vis-button.vis-load {\n /*border:2px solid #a153e6;*/\n /*background-color: #cb8dff;*/\n left:82px;\n}\ndiv.vis-color-picker div.vis-button.vis-apply {\n /*border:2px solid #4588e6;*/\n /*background-color: #82b6ff;*/\n left:159px;\n}\ndiv.vis-color-picker div.vis-button.vis-save {\n /*border:2px solid #45e655;*/\n /*background-color: #6dff7c;*/\n left:236px;\n}\n\n\ndiv.vis-color-picker input.vis-range {\n width: 290px;\n height:20px;\n}\n\n/* TODO: is this redundant?\ndiv.vis-color-picker input.vis-range-brightness {\n width: 289px !important;\n}\n\n\ndiv.vis-color-picker input.vis-saturation-range {\n width: 289px !important;\n}*/");var Oh={black:"#000000",navy:"#000080",darkblue:"#00008B",mediumblue:"#0000CD",blue:"#0000FF",darkgreen:"#006400",green:"#008000",teal:"#008080",darkcyan:"#008B8B",deepskyblue:"#00BFFF",darkturquoise:"#00CED1",mediumspringgreen:"#00FA9A",lime:"#00FF00",springgreen:"#00FF7F",aqua:"#00FFFF",cyan:"#00FFFF",midnightblue:"#191970",dodgerblue:"#1E90FF",lightseagreen:"#20B2AA",forestgreen:"#228B22",seagreen:"#2E8B57",darkslategray:"#2F4F4F",limegreen:"#32CD32",mediumseagreen:"#3CB371",turquoise:"#40E0D0",royalblue:"#4169E1",steelblue:"#4682B4",darkslateblue:"#483D8B",mediumturquoise:"#48D1CC",indigo:"#4B0082",darkolivegreen:"#556B2F",cadetblue:"#5F9EA0",cornflowerblue:"#6495ED",mediumaquamarine:"#66CDAA",dimgray:"#696969",slateblue:"#6A5ACD",olivedrab:"#6B8E23",slategray:"#708090",lightslategray:"#778899",mediumslateblue:"#7B68EE",lawngreen:"#7CFC00",chartreuse:"#7FFF00",aquamarine:"#7FFFD4",maroon:"#800000",purple:"#800080",olive:"#808000",gray:"#808080",skyblue:"#87CEEB",lightskyblue:"#87CEFA",blueviolet:"#8A2BE2",darkred:"#8B0000",darkmagenta:"#8B008B",saddlebrown:"#8B4513",darkseagreen:"#8FBC8F",lightgreen:"#90EE90",mediumpurple:"#9370D8",darkviolet:"#9400D3",palegreen:"#98FB98",darkorchid:"#9932CC",yellowgreen:"#9ACD32",sienna:"#A0522D",brown:"#A52A2A",darkgray:"#A9A9A9",lightblue:"#ADD8E6",greenyellow:"#ADFF2F",paleturquoise:"#AFEEEE",lightsteelblue:"#B0C4DE",powderblue:"#B0E0E6",firebrick:"#B22222",darkgoldenrod:"#B8860B",mediumorchid:"#BA55D3",rosybrown:"#BC8F8F",darkkhaki:"#BDB76B",silver:"#C0C0C0",mediumvioletred:"#C71585",indianred:"#CD5C5C",peru:"#CD853F",chocolate:"#D2691E",tan:"#D2B48C",lightgrey:"#D3D3D3",palevioletred:"#D87093",thistle:"#D8BFD8",orchid:"#DA70D6",goldenrod:"#DAA520",crimson:"#DC143C",gainsboro:"#DCDCDC",plum:"#DDA0DD",burlywood:"#DEB887",lightcyan:"#E0FFFF",lavender:"#E6E6FA",darksalmon:"#E9967A",violet:"#EE82EE",palegoldenrod:"#EEE8AA",lightcoral:"#F08080",khaki:"#F0E68C",aliceblue:"#F0F8FF",honeydew:"#F0FFF0",azure:"#F0FFFF",sandybrown:"#F4A460",wheat:"#F5DEB3",beige:"#F5F5DC",whitesmoke:"#F5F5F5",mintcream:"#F5FFFA",ghostwhite:"#F8F8FF",salmon:"#FA8072",antiquewhite:"#FAEBD7",linen:"#FAF0E6",lightgoldenrodyellow:"#FAFAD2",oldlace:"#FDF5E6",red:"#FF0000",fuchsia:"#FF00FF",magenta:"#FF00FF",deeppink:"#FF1493",orangered:"#FF4500",tomato:"#FF6347",hotpink:"#FF69B4",coral:"#FF7F50",darkorange:"#FF8C00",lightsalmon:"#FFA07A",orange:"#FFA500",lightpink:"#FFB6C1",pink:"#FFC0CB",gold:"#FFD700",peachpuff:"#FFDAB9",navajowhite:"#FFDEAD",moccasin:"#FFE4B5",bisque:"#FFE4C4",mistyrose:"#FFE4E1",blanchedalmond:"#FFEBCD",papayawhip:"#FFEFD5",lavenderblush:"#FFF0F5",seashell:"#FFF5EE",cornsilk:"#FFF8DC",lemonchiffon:"#FFFACD",floralwhite:"#FFFAF0",snow:"#FFFAFA",yellow:"#FFFF00",lightyellow:"#FFFFE0",ivory:"#FFFFF0",white:"#FFFFFF"},Eh=function(){function g(){var A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;Tn(this,g),this.pixelRatio=A,this.generated=!1,this.centerCoordinates={x:144.5,y:144.5},this.r=289*.49,this.color={r:255,g:255,b:255,a:1},this.hueCircle=void 0,this.initialColor={r:255,g:255,b:255,a:1},this.previousColor=void 0,this.applied=!1,this.updateCallback=function(){},this.closeCallback=function(){},this._create()}return Rn(g,[{key:"insertTo",value:function(g){void 0!==this.hammer&&(this.hammer.destroy(),this.hammer=void 0),this.container=g,this.container.appendChild(this.frame),this._bindHammer(),this._setSize()}},{key:"setUpdateCallback",value:function(g){if("function"!=typeof g)throw new Error("Function attempted to set as colorPicker update callback is not a function.");this.updateCallback=g}},{key:"setCloseCallback",value:function(g){if("function"!=typeof g)throw new Error("Function attempted to set as colorPicker closing callback is not a function.");this.closeCallback=g}},{key:"_isColorString",value:function(g){if("string"==typeof g)return Oh[g]}},{key:"setColor",value:function(g){var A=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("none"!==g){var t,C=this._isColorString(g);if(void 0!==C&&(g=C),!0===Ee(g)){if(!0===Qe(g)){var I=g.substr(4).substr(0,g.length-5).split(",");t={r:I[0],g:I[1],b:I[2],a:1}}else if(!0===Ue(g)){var e=g.substr(5).substr(0,g.length-6).split(",");t={r:e[0],g:e[1],b:e[2],a:e[3]}}else if(!0===He(g)){var i=Fe(g);t={r:i.r,g:i.g,b:i.b,a:1}}}else if(g instanceof Object&&void 0!==g.r&&void 0!==g.g&&void 0!==g.b){var o=void 0!==g.a?g.a:"1.0";t={r:g.r,g:g.g,b:g.b,a:o}}if(void 0===t)throw new Error("Unknown color passed to the colorPicker. Supported are strings: rgb, hex, rgba. Object: rgb ({r:r,g:g,b:b,[a:a]}). Supplied: "+sr(g));this._setColor(t,A)}}},{key:"show",value:function(){void 0!==this.closeCallback&&(this.closeCallback(),this.closeCallback=void 0),this.applied=!1,this.frame.style.display="block",this._generateHueCircle()}},{key:"_hide",value:function(){var g=this,A=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];!0===A&&(this.previousColor=yg({},this.color)),!0===this.applied&&this.updateCallback(this.initialColor),this.frame.style.display="none",Zn((function(){void 0!==g.closeCallback&&(g.closeCallback(),g.closeCallback=void 0)}),0)}},{key:"_save",value:function(){this.updateCallback(this.color),this.applied=!1,this._hide()}},{key:"_apply",value:function(){this.applied=!0,this.updateCallback(this.color),this._updatePicker(this.color)}},{key:"_loadLast",value:function(){void 0!==this.previousColor?this.setColor(this.previousColor,!1):alert("There is no last color to load...")}},{key:"_setColor",value:function(g){var A=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];!0===A&&(this.initialColor=yg({},g)),this.color=g;var t=Ve(g.r,g.g,g.b),C=2*Math.PI,I=this.r*t.s,e=this.centerCoordinates.x+I*Math.sin(C*t.h),i=this.centerCoordinates.y+I*Math.cos(C*t.h);this.colorPickerSelector.style.left=e-.5*this.colorPickerSelector.clientWidth+"px",this.colorPickerSelector.style.top=i-.5*this.colorPickerSelector.clientHeight+"px",this._updatePicker(g)}},{key:"_setOpacity",value:function(g){this.color.a=g/100,this._updatePicker(this.color)}},{key:"_setBrightness",value:function(g){var A=Ve(this.color.r,this.color.g,this.color.b);A.v=g/100;var t=Ye(A.h,A.s,A.v);t.a=this.color.a,this.color=t,this._updatePicker()}},{key:"_updatePicker",value:function(){var g=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.color,A=Ve(g.r,g.g,g.b),t=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var C=this.colorPickerCanvas.clientWidth,I=this.colorPickerCanvas.clientHeight;t.clearRect(0,0,C,I),t.putImageData(this.hueCircle,0,0),t.fillStyle="rgba(0,0,0,"+(1-A.v)+")",t.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),Ks(t).call(t),this.brightnessRange.value=100*A.v,this.opacityRange.value=100*g.a,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}},{key:"_setSize",value:function(){this.colorPickerCanvas.style.width="100%",this.colorPickerCanvas.style.height="100%",this.colorPickerCanvas.width=289*this.pixelRatio,this.colorPickerCanvas.height=289*this.pixelRatio}},{key:"_create",value:function(){var g,A,t,C;if(this.frame=document.createElement("div"),this.frame.className="vis-color-picker",this.colorPickerDiv=document.createElement("div"),this.colorPickerSelector=document.createElement("div"),this.colorPickerSelector.className="vis-selector",this.colorPickerDiv.appendChild(this.colorPickerSelector),this.colorPickerCanvas=document.createElement("canvas"),this.colorPickerDiv.appendChild(this.colorPickerCanvas),this.colorPickerCanvas.getContext){var I=this.colorPickerCanvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(I.webkitBackingStorePixelRatio||I.mozBackingStorePixelRatio||I.msBackingStorePixelRatio||I.oBackingStorePixelRatio||I.backingStorePixelRatio||1),this.colorPickerCanvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerHTML="Error: your browser does not support HTML canvas",this.colorPickerCanvas.appendChild(e)}this.colorPickerDiv.className="vis-color",this.opacityDiv=document.createElement("div"),this.opacityDiv.className="vis-opacity",this.brightnessDiv=document.createElement("div"),this.brightnessDiv.className="vis-brightness",this.arrowDiv=document.createElement("div"),this.arrowDiv.className="vis-arrow",this.opacityRange=document.createElement("input");try{this.opacityRange.type="range",this.opacityRange.min="0",this.opacityRange.max="100"}catch(g){}this.opacityRange.value="100",this.opacityRange.className="vis-range",this.brightnessRange=document.createElement("input");try{this.brightnessRange.type="range",this.brightnessRange.min="0",this.brightnessRange.max="100"}catch(g){}this.brightnessRange.value="100",this.brightnessRange.className="vis-range",this.opacityDiv.appendChild(this.opacityRange),this.brightnessDiv.appendChild(this.brightnessRange);var i=this;this.opacityRange.onchange=function(){i._setOpacity(this.value)},this.opacityRange.oninput=function(){i._setOpacity(this.value)},this.brightnessRange.onchange=function(){i._setBrightness(this.value)},this.brightnessRange.oninput=function(){i._setBrightness(this.value)},this.brightnessLabel=document.createElement("div"),this.brightnessLabel.className="vis-label vis-brightness",this.brightnessLabel.innerHTML="brightness:",this.opacityLabel=document.createElement("div"),this.opacityLabel.className="vis-label vis-opacity",this.opacityLabel.innerHTML="opacity:",this.newColorDiv=document.createElement("div"),this.newColorDiv.className="vis-new-color",this.newColorDiv.innerHTML="new",this.initialColorDiv=document.createElement("div"),this.initialColorDiv.className="vis-initial-color",this.initialColorDiv.innerHTML="initial",this.cancelButton=document.createElement("div"),this.cancelButton.className="vis-button vis-cancel",this.cancelButton.innerHTML="cancel",this.cancelButton.onclick=$(g=this._hide).call(g,this,!1),this.applyButton=document.createElement("div"),this.applyButton.className="vis-button vis-apply",this.applyButton.innerHTML="apply",this.applyButton.onclick=$(A=this._apply).call(A,this),this.saveButton=document.createElement("div"),this.saveButton.className="vis-button vis-save",this.saveButton.innerHTML="save",this.saveButton.onclick=$(t=this._save).call(t,this),this.loadButton=document.createElement("div"),this.loadButton.className="vis-button vis-load",this.loadButton.innerHTML="load last",this.loadButton.onclick=$(C=this._loadLast).call(C,this),this.frame.appendChild(this.colorPickerDiv),this.frame.appendChild(this.arrowDiv),this.frame.appendChild(this.brightnessLabel),this.frame.appendChild(this.brightnessDiv),this.frame.appendChild(this.opacityLabel),this.frame.appendChild(this.opacityDiv),this.frame.appendChild(this.newColorDiv),this.frame.appendChild(this.initialColorDiv),this.frame.appendChild(this.cancelButton),this.frame.appendChild(this.applyButton),this.frame.appendChild(this.saveButton),this.frame.appendChild(this.loadButton)}},{key:"_bindHammer",value:function(){var g=this;this.drag={},this.pinch={},this.hammer=new xn(this.colorPickerCanvas),this.hammer.get("pinch").set({enable:!0}),gh(this.hammer,(function(A){g._moveSelector(A)})),this.hammer.on("tap",(function(A){g._moveSelector(A)})),this.hammer.on("panstart",(function(A){g._moveSelector(A)})),this.hammer.on("panmove",(function(A){g._moveSelector(A)})),this.hammer.on("panend",(function(A){g._moveSelector(A)}))}},{key:"_generateHueCircle",value:function(){if(!1===this.generated){var g=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(g.webkitBackingStorePixelRatio||g.mozBackingStorePixelRatio||g.msBackingStorePixelRatio||g.oBackingStorePixelRatio||g.backingStorePixelRatio||1)),g.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var A,t,C,I,e=this.colorPickerCanvas.clientWidth,i=this.colorPickerCanvas.clientHeight;g.clearRect(0,0,e,i),this.centerCoordinates={x:.5*e,y:.5*i},this.r=.49*e;var o,n=2*Math.PI/360,r=1/this.r;for(C=0;C<360;C++)for(I=0;I<this.r;I++)A=this.centerCoordinates.x+I*Math.sin(n*C),t=this.centerCoordinates.y+I*Math.cos(n*C),o=Ye(C*(1/360),I*r,1),g.fillStyle="rgb("+o.r+","+o.g+","+o.b+")",g.fillRect(A-.5,t-.5,2,2);g.strokeStyle="rgba(0,0,0,1)",g.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),g.stroke(),this.hueCircle=g.getImageData(0,0,e,i)}this.generated=!0}},{key:"_moveSelector",value:function(g){var A=this.colorPickerDiv.getBoundingClientRect(),t=g.center.x-A.left,C=g.center.y-A.top,I=.5*this.colorPickerDiv.clientHeight,e=.5*this.colorPickerDiv.clientWidth,i=t-e,o=C-I,n=Math.atan2(i,o),r=.98*Math.min(Math.sqrt(i*i+o*o),e),s=Math.cos(n)*r+I,a=Math.sin(n)*r+e;this.colorPickerSelector.style.top=s-.5*this.colorPickerSelector.clientHeight+"px",this.colorPickerSelector.style.left=a-.5*this.colorPickerSelector.clientWidth+"px";var d=n/(2*Math.PI);d=d<0?d+1:d;var h=r/this.r,l=Ve(this.color.r,this.color.g,this.color.b);l.h=d,l.s=h;var c=Ye(l.h,l.s,l.v);c.a=this.color.a,this.color=c,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}}]),g}(),Th=function(){function g(A,t,C){var I=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;Tn(this,g),this.parent=A,this.changedOptions=[],this.container=t,this.allowCreation=!1,this.options={},this.initialized=!1,this.popupCounter=0,this.defaultOptions={enabled:!1,filter:!0,container:void 0,showButton:!0},yg(this.options,this.defaultOptions),this.configureOptions=C,this.moduleOptions={},this.domElements=[],this.popupDiv={},this.popupLimit=5,this.popupHistory={},this.colorPicker=new Eh(I),this.wrapper=void 0}return Rn(g,[{key:"setOptions",value:function(g){if(void 0!==g){this.popupHistory={},this._removePopup();var A=!0;if("string"==typeof g)this.options.filter=g;else if(g instanceof Array)this.options.filter=g.join();else if("object"===Ae(g)){if(null==g)throw new TypeError("options cannot be null");void 0!==g.container&&(this.options.container=g.container),void 0!==eI(g)&&(this.options.filter=eI(g)),void 0!==g.showButton&&(this.options.showButton=g.showButton),void 0!==g.enabled&&(A=g.enabled)}else"boolean"==typeof g?(this.options.filter=!0,A=g):"function"==typeof g&&(this.options.filter=g,A=!0);!1===eI(this.options)&&(A=!1),this.options.enabled=A}this._clean()}},{key:"setModuleOptions",value:function(g){this.moduleOptions=g,!0===this.options.enabled&&(this._clean(),void 0!==this.options.container&&(this.container=this.options.container),this._create())}},{key:"_create",value:function(){this._clean(),this.changedOptions=[];var g=eI(this.options),A=0,t=!1;for(var C in this.configureOptions)Object.prototype.hasOwnProperty.call(this.configureOptions,C)&&(this.allowCreation=!1,t=!1,"function"==typeof g?t=(t=g(C,[]))||this._handleObject(this.configureOptions[C],[C],!0):!0!==g&&-1===uI(g).call(g,C)||(t=!0),!1!==t&&(this.allowCreation=!0,A>0&&this._makeItem([]),this._makeHeader(C),this._handleObject(this.configureOptions[C],[C])),A++);this._makeButton(),this._push()}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-configuration-wrapper",this.container.appendChild(this.wrapper);for(var g=0;g<this.domElements.length;g++)this.wrapper.appendChild(this.domElements[g]);this._showPopupIfNeeded()}},{key:"_clean",value:function(){for(var g=0;g<this.domElements.length;g++)this.wrapper.removeChild(this.domElements[g]);void 0!==this.wrapper&&(this.container.removeChild(this.wrapper),this.wrapper=void 0),this.domElements=[],this._removePopup()}},{key:"_getValue",value:function(g){for(var A=this.moduleOptions,t=0;t<g.length;t++){if(void 0===A[g[t]]){A=void 0;break}A=A[g[t]]}return A}},{key:"_makeItem",value:function(g){if(!0===this.allowCreation){var A=document.createElement("div");A.className="vis-configuration vis-config-item vis-config-s"+g.length;for(var t=arguments.length,C=new Array(t>1?t-1:0),I=1;I<t;I++)C[I-1]=arguments[I];return BC(C).call(C,(function(g){A.appendChild(g)})),this.domElements.push(A),this.domElements.length}return 0}},{key:"_makeHeader",value:function(g){var A=document.createElement("div");A.className="vis-configuration vis-config-header",A.innerHTML=g,this._makeItem([],A)}},{key:"_makeLabel",value:function(g,A){var t=arguments.length>2&&void 0!==arguments[2]&&arguments[2],C=document.createElement("div");return C.className="vis-configuration vis-config-label vis-config-s"+A.length,C.innerHTML=!0===t?"<i><b>"+g+":</b></i>":g+":",C}},{key:"_makeDropdown",value:function(g,A,t){var C=document.createElement("select");C.className="vis-configuration vis-config-select";var I=0;void 0!==A&&-1!==uI(g).call(g,A)&&(I=uI(g).call(g,A));for(var e=0;e<g.length;e++){var i=document.createElement("option");i.value=g[e],e===I&&(i.selected="selected"),i.innerHTML=g[e],C.appendChild(i)}var o=this;C.onchange=function(){o._update(this.value,t)};var n=this._makeLabel(t[t.length-1],t);this._makeItem(t,n,C)}},{key:"_makeRange",value:function(g,A,t){var C=g[0],I=g[1],e=g[2],i=g[3],o=document.createElement("input");o.className="vis-configuration vis-config-range";try{o.type="range",o.min=I,o.max=e}catch(g){}o.step=i;var n="",r=0;if(void 0!==A){A<0&&1.2*A<I?(o.min=Math.ceil(1.2*A),r=o.min,n="range increased"):A/1.2<I&&(o.min=Math.ceil(A/1.2),r=o.min,n="range increased"),1.2*A>e&&1!==e&&(o.max=Math.ceil(1.2*A),r=o.max,n="range increased"),o.value=A}else o.value=C;var s=document.createElement("input");s.className="vis-configuration vis-config-rangeinput",s.value=o.value;var a=this;o.onchange=function(){s.value=this.value,a._update(Number(this.value),t)},o.oninput=function(){s.value=this.value};var d=this._makeLabel(t[t.length-1],t),h=this._makeItem(t,d,o,s);""!==n&&this.popupHistory[h]!==r&&(this.popupHistory[h]=r,this._setupPopup(n,h))}},{key:"_makeButton",value:function(){var g=this;if(!0===this.options.showButton){var A=document.createElement("div");A.className="vis-configuration vis-config-button",A.innerHTML="generate options",A.onclick=function(){g._printOptions()},A.onmouseover=function(){A.className="vis-configuration vis-config-button hover"},A.onmouseout=function(){A.className="vis-configuration vis-config-button"},this.optionsContainer=document.createElement("div"),this.optionsContainer.className="vis-configuration vis-config-option-container",this.domElements.push(this.optionsContainer),this.domElements.push(A)}}},{key:"_setupPopup",value:function(g,A){var t=this;if(!0===this.initialized&&!0===this.allowCreation&&this.popupCounter<this.popupLimit){var C=document.createElement("div");C.id="vis-configuration-popup",C.className="vis-configuration-popup",C.innerHTML=g,C.onclick=function(){t._removePopup()},this.popupCounter+=1,this.popupDiv={html:C,index:A}}}},{key:"_removePopup",value:function(){void 0!==this.popupDiv.html&&(this.popupDiv.html.parentNode.removeChild(this.popupDiv.html),clearTimeout(this.popupDiv.hideTimeout),clearTimeout(this.popupDiv.deleteTimeout),this.popupDiv={})}},{key:"_showPopupIfNeeded",value:function(){var g=this;if(void 0!==this.popupDiv.html){var A=this.domElements[this.popupDiv.index].getBoundingClientRect();this.popupDiv.html.style.left=A.left+"px",this.popupDiv.html.style.top=A.top-30+"px",document.body.appendChild(this.popupDiv.html),this.popupDiv.hideTimeout=Zn((function(){g.popupDiv.html.style.opacity=0}),1500),this.popupDiv.deleteTimeout=Zn((function(){g._removePopup()}),1800)}}},{key:"_makeCheckbox",value:function(g,A,t){var C=document.createElement("input");C.type="checkbox",C.className="vis-configuration vis-config-checkbox",C.checked=g,void 0!==A&&(C.checked=A,A!==g&&("object"===Ae(g)?A!==g.enabled&&this.changedOptions.push({path:t,value:A}):this.changedOptions.push({path:t,value:A})));var I=this;C.onchange=function(){I._update(this.checked,t)};var e=this._makeLabel(t[t.length-1],t);this._makeItem(t,e,C)}},{key:"_makeTextInput",value:function(g,A,t){var C=document.createElement("input");C.type="text",C.className="vis-configuration vis-config-text",C.value=A,A!==g&&this.changedOptions.push({path:t,value:A});var I=this;C.onchange=function(){I._update(this.value,t)};var e=this._makeLabel(t[t.length-1],t);this._makeItem(t,e,C)}},{key:"_makeColorField",value:function(g,A,t){var C=this,I=g[1],e=document.createElement("div");"none"!==(A=void 0===A?I:A)?(e.className="vis-configuration vis-config-colorBlock",e.style.backgroundColor=A):e.className="vis-configuration vis-config-colorBlock none",A=void 0===A?I:A,e.onclick=function(){C._showColorPicker(A,e,t)};var i=this._makeLabel(t[t.length-1],t);this._makeItem(t,i,e)}},{key:"_showColorPicker",value:function(g,A,t){var C=this;A.onclick=function(){},this.colorPicker.insertTo(A),this.colorPicker.show(),this.colorPicker.setColor(g),this.colorPicker.setUpdateCallback((function(g){var I="rgba("+g.r+","+g.g+","+g.b+","+g.a+")";A.style.backgroundColor=I,C._update(I,t)})),this.colorPicker.setCloseCallback((function(){A.onclick=function(){C._showColorPicker(g,A,t)}}))}},{key:"_handleObject",value:function(g){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],t=arguments.length>2&&void 0!==arguments[2]&&arguments[2],C=!1,I=eI(this.options),e=!1;for(var i in g)if(Object.prototype.hasOwnProperty.call(g,i)){C=!0;var o=g[i],n=Se(A,i);if("function"==typeof I&&!1===(C=I(i,A))&&!(o instanceof Array)&&"string"!=typeof o&&"boolean"!=typeof o&&o instanceof Object&&(this.allowCreation=!1,C=this._handleObject(o,n,!0),this.allowCreation=!1===t),!1!==C){e=!0;var r=this._getValue(n);if(o instanceof Array)this._handleArray(o,r,n);else if("string"==typeof o)this._makeTextInput(o,r,n);else if("boolean"==typeof o)this._makeCheckbox(o,r,n);else if(o instanceof Object){var s=!0;if(-1!==uI(A).call(A,"physics")&&this.moduleOptions.physics.solver!==i&&"wind"!==i&&(s=!1),!0===s)if(void 0!==o.enabled){var a=Se(n,"enabled"),d=this._getValue(a);if(!0===d){var h=this._makeLabel(i,n,!0);this._makeItem(n,h),e=this._handleObject(o,n)||e}else this._makeCheckbox(o,d,n)}else{var l=this._makeLabel(i,n,!0);this._makeItem(n,l),e=this._handleObject(o,n)||e}}else console.error("dont know how to handle",o,i,n)}}return e}},{key:"_handleArray",value:function(g,A,t){"string"==typeof g[0]&&"color"===g[0]?(this._makeColorField(g,A,t),g[1]!==A&&this.changedOptions.push({path:t,value:A})):"string"==typeof g[0]?(this._makeDropdown(g,A,t),g[0]!==A&&this.changedOptions.push({path:t,value:A})):"number"==typeof g[0]&&(this._makeRange(g,A,t),g[0]!==A&&this.changedOptions.push({path:t,value:Number(A)}))}},{key:"_update",value:function(g,A){var t=this._constructOptions(g,A);this.parent.body&&this.parent.body.emitter&&this.parent.body.emitter.emit&&this.parent.body.emitter.emit("configChange",t),this.initialized=!0,this.parent.setOptions(t)}},{key:"_constructOptions",value:function(g,A){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},C=t;g="false"!==(g="true"===g||g)&&g;for(var I=0;I<A.length;I++)"global"!==A[I]&&(void 0===C[A[I]]&&(C[A[I]]={}),I!==A.length-1?C=C[A[I]]:C[A[I]]=g);return t}},{key:"_printOptions",value:function(){var g=this.getOptions();this.optionsContainer.innerHTML="<pre>var options = "+sr(g,null,2)+"</pre>"}},{key:"getOptions",value:function(){for(var g={},A=0;A<this.changedOptions.length;A++)this._constructOptions(this.changedOptions[A].value,this.changedOptions[A].path,g);return g}}]),g}(),Dh="string",Rh="boolean",Nh="number",Ph="object",Mh=["arrow","bar","box","circle","crow","curve","diamond","image","inv_curve","inv_triangle","triangle","vee"],Sh={configure:{enabled:{boolean:Rh},filter:{boolean:Rh,string:Dh,array:"array",function:"function"},container:{dom:"dom"},showButton:{boolean:Rh},__type__:{object:Ph,boolean:Rh,string:Dh,array:"array",function:"function"}},edges:{arrows:{to:{enabled:{boolean:Rh},scaleFactor:{number:Nh},type:{string:Mh},imageHeight:{number:Nh},imageWidth:{number:Nh},src:{string:Dh},__type__:{object:Ph,boolean:Rh}},middle:{enabled:{boolean:Rh},scaleFactor:{number:Nh},type:{string:Mh},imageWidth:{number:Nh},imageHeight:{number:Nh},src:{string:Dh},__type__:{object:Ph,boolean:Rh}},from:{enabled:{boolean:Rh},scaleFactor:{number:Nh},type:{string:Mh},imageWidth:{number:Nh},imageHeight:{number:Nh},src:{string:Dh},__type__:{object:Ph,boolean:Rh}},__type__:{string:["from","to","middle"],object:Ph}},endPointOffset:{from:{number:Nh},to:{number:Nh},__type__:{object:Ph,number:Nh}},arrowStrikethrough:{boolean:Rh},background:{enabled:{boolean:Rh},color:{string:Dh},size:{number:Nh},dashes:{boolean:Rh,array:"array"},__type__:{object:Ph,boolean:Rh}},chosen:{label:{boolean:Rh,function:"function"},edge:{boolean:Rh,function:"function"},__type__:{object:Ph,boolean:Rh}},color:{color:{string:Dh},highlight:{string:Dh},hover:{string:Dh},inherit:{string:["from","to","both"],boolean:Rh},opacity:{number:Nh},__type__:{object:Ph,string:Dh}},dashes:{boolean:Rh,array:"array"},font:{color:{string:Dh},size:{number:Nh},face:{string:Dh},background:{string:Dh},strokeWidth:{number:Nh},strokeColor:{string:Dh},align:{string:["horizontal","top","middle","bottom"]},vadjust:{number:Nh},multi:{boolean:Rh,string:Dh},bold:{color:{string:Dh},size:{number:Nh},face:{string:Dh},mod:{string:Dh},vadjust:{number:Nh},__type__:{object:Ph,string:Dh}},boldital:{color:{string:Dh},size:{number:Nh},face:{string:Dh},mod:{string:Dh},vadjust:{number:Nh},__type__:{object:Ph,string:Dh}},ital:{color:{string:Dh},size:{number:Nh},face:{string:Dh},mod:{string:Dh},vadjust:{number:Nh},__type__:{object:Ph,string:Dh}},mono:{color:{string:Dh},size:{number:Nh},face:{string:Dh},mod:{string:Dh},vadjust:{number:Nh},__type__:{object:Ph,string:Dh}},__type__:{object:Ph,string:Dh}},hidden:{boolean:Rh},hoverWidth:{function:"function",number:Nh},label:{string:Dh,undefined:"undefined"},labelHighlightBold:{boolean:Rh},length:{number:Nh,undefined:"undefined"},physics:{boolean:Rh},scaling:{min:{number:Nh},max:{number:Nh},label:{enabled:{boolean:Rh},min:{number:Nh},max:{number:Nh},maxVisible:{number:Nh},drawThreshold:{number:Nh},__type__:{object:Ph,boolean:Rh}},customScalingFunction:{function:"function"},__type__:{object:Ph}},selectionWidth:{function:"function",number:Nh},selfReferenceSize:{number:Nh},selfReference:{size:{number:Nh},angle:{number:Nh},renderBehindTheNode:{boolean:Rh},__type__:{object:Ph}},shadow:{enabled:{boolean:Rh},color:{string:Dh},size:{number:Nh},x:{number:Nh},y:{number:Nh},__type__:{object:Ph,boolean:Rh}},smooth:{enabled:{boolean:Rh},type:{string:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"]},roundness:{number:Nh},forceDirection:{string:["horizontal","vertical","none"],boolean:Rh},__type__:{object:Ph,boolean:Rh}},title:{string:Dh,undefined:"undefined"},width:{number:Nh},widthConstraint:{maximum:{number:Nh},__type__:{object:Ph,boolean:Rh,number:Nh}},value:{number:Nh,undefined:"undefined"},__type__:{object:Ph}},groups:{useDefaultGroups:{boolean:Rh},__any__:"get from nodes, will be overwritten below",__type__:{object:Ph}},interaction:{dragNodes:{boolean:Rh},dragView:{boolean:Rh},hideEdgesOnDrag:{boolean:Rh},hideEdgesOnZoom:{boolean:Rh},hideNodesOnDrag:{boolean:Rh},hover:{boolean:Rh},keyboard:{enabled:{boolean:Rh},speed:{x:{number:Nh},y:{number:Nh},zoom:{number:Nh},__type__:{object:Ph}},bindToWindow:{boolean:Rh},__type__:{object:Ph,boolean:Rh}},multiselect:{boolean:Rh},navigationButtons:{boolean:Rh},selectable:{boolean:Rh},selectConnectedEdges:{boolean:Rh},hoverConnectedEdges:{boolean:Rh},tooltipDelay:{number:Nh},zoomView:{boolean:Rh},zoomSpeed:{number:Nh},__type__:{object:Ph}},layout:{randomSeed:{undefined:"undefined",number:Nh,string:Dh},improvedLayout:{boolean:Rh},clusterThreshold:{number:Nh},hierarchical:{enabled:{boolean:Rh},levelSeparation:{number:Nh},nodeSpacing:{number:Nh},treeSpacing:{number:Nh},blockShifting:{boolean:Rh},edgeMinimization:{boolean:Rh},parentCentralization:{boolean:Rh},direction:{string:["UD","DU","LR","RL"]},sortMethod:{string:["hubsize","directed"]},shakeTowards:{string:["leaves","roots"]},__type__:{object:Ph,boolean:Rh}},__type__:{object:Ph}},manipulation:{enabled:{boolean:Rh},initiallyActive:{boolean:Rh},addNode:{boolean:Rh,function:"function"},addEdge:{boolean:Rh,function:"function"},editNode:{function:"function"},editEdge:{editWithoutDrag:{function:"function"},__type__:{object:Ph,boolean:Rh,function:"function"}},deleteNode:{boolean:Rh,function:"function"},deleteEdge:{boolean:Rh,function:"function"},controlNodeStyle:"get from nodes, will be overwritten below",__type__:{object:Ph,boolean:Rh}},nodes:{borderWidth:{number:Nh},borderWidthSelected:{number:Nh,undefined:"undefined"},brokenImage:{string:Dh,undefined:"undefined"},chosen:{label:{boolean:Rh,function:"function"},node:{boolean:Rh,function:"function"},__type__:{object:Ph,boolean:Rh}},color:{border:{string:Dh},background:{string:Dh},highlight:{border:{string:Dh},background:{string:Dh},__type__:{object:Ph,string:Dh}},hover:{border:{string:Dh},background:{string:Dh},__type__:{object:Ph,string:Dh}},__type__:{object:Ph,string:Dh}},opacity:{number:Nh,undefined:"undefined"},fixed:{x:{boolean:Rh},y:{boolean:Rh},__type__:{object:Ph,boolean:Rh}},font:{align:{string:Dh},color:{string:Dh},size:{number:Nh},face:{string:Dh},background:{string:Dh},strokeWidth:{number:Nh},strokeColor:{string:Dh},vadjust:{number:Nh},multi:{boolean:Rh,string:Dh},bold:{color:{string:Dh},size:{number:Nh},face:{string:Dh},mod:{string:Dh},vadjust:{number:Nh},__type__:{object:Ph,string:Dh}},boldital:{color:{string:Dh},size:{number:Nh},face:{string:Dh},mod:{string:Dh},vadjust:{number:Nh},__type__:{object:Ph,string:Dh}},ital:{color:{string:Dh},size:{number:Nh},face:{string:Dh},mod:{string:Dh},vadjust:{number:Nh},__type__:{object:Ph,string:Dh}},mono:{color:{string:Dh},size:{number:Nh},face:{string:Dh},mod:{string:Dh},vadjust:{number:Nh},__type__:{object:Ph,string:Dh}},__type__:{object:Ph,string:Dh}},group:{string:Dh,number:Nh,undefined:"undefined"},heightConstraint:{minimum:{number:Nh},valign:{string:Dh},__type__:{object:Ph,boolean:Rh,number:Nh}},hidden:{boolean:Rh},icon:{face:{string:Dh},code:{string:Dh},size:{number:Nh},color:{string:Dh},weight:{string:Dh,number:Nh},__type__:{object:Ph}},id:{string:Dh,number:Nh},image:{selected:{string:Dh,undefined:"undefined"},unselected:{string:Dh,undefined:"undefined"},__type__:{object:Ph,string:Dh}},imagePadding:{top:{number:Nh},right:{number:Nh},bottom:{number:Nh},left:{number:Nh},__type__:{object:Ph,number:Nh}},label:{string:Dh,undefined:"undefined"},labelHighlightBold:{boolean:Rh},level:{number:Nh,undefined:"undefined"},margin:{top:{number:Nh},right:{number:Nh},bottom:{number:Nh},left:{number:Nh},__type__:{object:Ph,number:Nh}},mass:{number:Nh},physics:{boolean:Rh},scaling:{min:{number:Nh},max:{number:Nh},label:{enabled:{boolean:Rh},min:{number:Nh},max:{number:Nh},maxVisible:{number:Nh},drawThreshold:{number:Nh},__type__:{object:Ph,boolean:Rh}},customScalingFunction:{function:"function"},__type__:{object:Ph}},shadow:{enabled:{boolean:Rh},color:{string:Dh},size:{number:Nh},x:{number:Nh},y:{number:Nh},__type__:{object:Ph,boolean:Rh}},shape:{string:["custom","ellipse","circle","database","box","text","image","circularImage","diamond","dot","star","triangle","triangleDown","square","icon","hexagon"]},customRenderer:{function:"function"},shapeProperties:{borderDashes:{boolean:Rh,array:"array"},borderRadius:{number:Nh},interpolation:{boolean:Rh},useImageSize:{boolean:Rh},useBorderWithImage:{boolean:Rh},coordinateOrigin:{string:["center","top-left"]},__type__:{object:Ph}},size:{number:Nh},title:{string:Dh,dom:"dom",undefined:"undefined"},value:{number:Nh,undefined:"undefined"},widthConstraint:{minimum:{number:Nh},maximum:{number:Nh},__type__:{object:Ph,boolean:Rh,number:Nh}},x:{number:Nh},y:{number:Nh},__type__:{object:Ph}},physics:{enabled:{boolean:Rh},barnesHut:{theta:{number:Nh},gravitationalConstant:{number:Nh},centralGravity:{number:Nh},springLength:{number:Nh},springConstant:{number:Nh},damping:{number:Nh},avoidOverlap:{number:Nh},__type__:{object:Ph}},forceAtlas2Based:{theta:{number:Nh},gravitationalConstant:{number:Nh},centralGravity:{number:Nh},springLength:{number:Nh},springConstant:{number:Nh},damping:{number:Nh},avoidOverlap:{number:Nh},__type__:{object:Ph}},repulsion:{centralGravity:{number:Nh},springLength:{number:Nh},springConstant:{number:Nh},nodeDistance:{number:Nh},damping:{number:Nh},__type__:{object:Ph}},hierarchicalRepulsion:{centralGravity:{number:Nh},springLength:{number:Nh},springConstant:{number:Nh},nodeDistance:{number:Nh},damping:{number:Nh},avoidOverlap:{number:Nh},__type__:{object:Ph}},maxVelocity:{number:Nh},minVelocity:{number:Nh},solver:{string:["barnesHut","repulsion","hierarchicalRepulsion","forceAtlas2Based"]},stabilization:{enabled:{boolean:Rh},iterations:{number:Nh},updateInterval:{number:Nh},onlyDynamicEdges:{boolean:Rh},fit:{boolean:Rh},__type__:{object:Ph,boolean:Rh}},timestep:{number:Nh},adaptiveTimestep:{boolean:Rh},wind:{x:{number:Nh},y:{number:Nh},__type__:{object:Ph}},__type__:{object:Ph,boolean:Rh}},autoResize:{boolean:Rh},clickToUse:{boolean:Rh},locale:{string:Dh},locales:{__any__:{any:"any"},__type__:{object:Ph}},height:{string:Dh},width:{string:Dh},__type__:{object:Ph}};Sh.groups.__any__=Sh.nodes,Sh.manipulation.controlNodeStyle=Sh.nodes;var zh={nodes:{borderWidth:[1,0,10,1],borderWidthSelected:[2,0,10,1],color:{border:["color","#2B7CE9"],background:["color","#97C2FC"],highlight:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]},hover:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]}},opacity:[0,0,1,.1],fixed:{x:!1,y:!1},font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[0,0,50,1],strokeColor:["color","#ffffff"]},hidden:!1,labelHighlightBold:!0,physics:!0,scaling:{min:[10,0,200,1],max:[30,0,200,1],label:{enabled:!1,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},shape:["ellipse","box","circle","database","diamond","dot","square","star","text","triangle","triangleDown","hexagon"],shapeProperties:{borderDashes:!1,borderRadius:[6,0,20,1],interpolation:!0,useImageSize:!1},size:[25,0,200,1]},edges:{arrows:{to:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"},middle:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"},from:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"}},endPointOffset:{from:[0,-10,10,1],to:[0,-10,10,1]},arrowStrikethrough:!0,color:{color:["color","#848484"],highlight:["color","#848484"],hover:["color","#848484"],inherit:["from","to","both",!0,!1],opacity:[1,0,1,.05]},dashes:!1,font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[2,0,50,1],strokeColor:["color","#ffffff"],align:["horizontal","top","middle","bottom"]},hidden:!1,hoverWidth:[1.5,0,5,.1],labelHighlightBold:!0,physics:!0,scaling:{min:[1,0,100,1],max:[15,0,100,1],label:{enabled:!0,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},selectionWidth:[1.5,0,5,.1],selfReferenceSize:[20,0,200,1],selfReference:{size:[20,0,200,1],angle:[Math.PI/2,-6*Math.PI,6*Math.PI,Math.PI/8],renderBehindTheNode:!0},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},smooth:{enabled:!0,type:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"],forceDirection:["horizontal","vertical","none"],roundness:[.5,0,1,.05]},width:[1,0,30,1]},layout:{hierarchical:{enabled:!1,levelSeparation:[150,20,500,5],nodeSpacing:[100,20,500,5],treeSpacing:[200,20,500,5],blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:["UD","DU","LR","RL"],sortMethod:["hubsize","directed"],shakeTowards:["leaves","roots"]}},interaction:{dragNodes:!0,dragView:!0,hideEdgesOnDrag:!1,hideEdgesOnZoom:!1,hideNodesOnDrag:!1,hover:!1,keyboard:{enabled:!1,speed:{x:[10,0,40,1],y:[10,0,40,1],zoom:[.02,0,.1,.005]},bindToWindow:!0},multiselect:!1,navigationButtons:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0,tooltipDelay:[300,0,1e3,25],zoomView:!0,zoomSpeed:[1,.1,2,.1]},manipulation:{enabled:!1,initiallyActive:!1},physics:{enabled:!0,barnesHut:{theta:[.5,.1,1,.05],gravitationalConstant:[-2e3,-3e4,0,50],centralGravity:[.3,0,10,.05],springLength:[95,0,500,5],springConstant:[.04,0,1.2,.005],damping:[.09,0,1,.01],avoidOverlap:[0,0,1,.01]},forceAtlas2Based:{theta:[.5,.1,1,.05],gravitationalConstant:[-50,-500,0,1],centralGravity:[.01,0,1,.005],springLength:[95,0,500,5],springConstant:[.08,0,1.2,.005],damping:[.4,0,1,.01],avoidOverlap:[0,0,1,.01]},repulsion:{centralGravity:[.2,0,10,.05],springLength:[200,0,500,5],springConstant:[.05,0,1.2,.005],nodeDistance:[100,0,500,5],damping:[.09,0,1,.01]},hierarchicalRepulsion:{centralGravity:[.2,0,10,.05],springLength:[100,0,500,5],springConstant:[.01,0,1.2,.005],nodeDistance:[120,0,500,5],damping:[.09,0,1,.01],avoidOverlap:[0,0,1,.01]},maxVelocity:[50,0,150,1],minVelocity:[.1,.01,.5,.01],solver:["barnesHut","forceAtlas2Based","repulsion","hierarchicalRepulsion"],timestep:[.5,.01,1,.01],wind:{x:[0,-10,10,.1],y:[0,-10,10,.1]}}},Bh=function(){function g(){Tn(this,g)}return Rn(g,[{key:"getDistances",value:function(g,A,t){for(var C={},I=g.edges,e=0;e<A.length;e++){var i={};C[A[e]]=i;for(var o=0;o<A.length;o++)i[A[o]]=e==o?0:1e9}for(var n=0;n<t.length;n++){var r=I[t[n]];!0===r.connected&&void 0!==C[r.fromId]&&void 0!==C[r.toId]&&(C[r.fromId][r.toId]=1,C[r.toId][r.fromId]=1)}for(var s=A.length,a=0;a<s;a++)for(var d=A[a],h=C[d],l=0;l<s-1;l++)for(var c=A[l],u=C[c],p=l+1;p<s;p++){var v=A[p],f=C[v],y=Math.min(u[v],u[d]+h[v]);u[v]=y,f[c]=y}return C}}]),g}(),Zh=function(){function g(A,t,C){Tn(this,g),this.body=A,this.springLength=t,this.springConstant=C,this.distanceSolver=new Bh}return Rn(g,[{key:"setOptions",value:function(g){g&&(g.springLength&&(this.springLength=g.springLength),g.springConstant&&(this.springConstant=g.springConstant))}},{key:"solve",value:function(g,A){var t=arguments.length>2&&void 0!==arguments[2]&&arguments[2],C=this.distanceSolver.getDistances(this.body,g,A);this._createL_matrix(C),this._createK_matrix(C),this._createE_matrix();for(var I=.01,e=1,i=0,o=Math.max(1e3,Math.min(10*this.body.nodeIndices.length,6e3)),n=5,r=1e9,s=0,a=0,d=0,h=0,l=0;r>I&&i<o;){i+=1;var c=this._getHighestEnergyNode(t),u=VI(c,4);for(s=u[0],r=u[1],a=u[2],d=u[3],h=r,l=0;h>e&&l<n;){l+=1,this._moveNode(s,a,d);var p=this._getEnergy(s),v=VI(p,3);h=v[0],a=v[1],d=v[2]}}}},{key:"_getHighestEnergyNode",value:function(g){for(var A=this.body.nodeIndices,t=this.body.nodes,C=0,I=A[0],e=0,i=0,o=0;o<A.length;o++){var n=A[o];if(!1===t[n].predefinedPosition||!0===t[n].isCluster&&!0===g||!0===t[n].options.fixed.x||!0===t[n].options.fixed.y){var r=this._getEnergy(n),s=VI(r,3),a=s[0],d=s[1],h=s[2];C<a&&(C=a,I=n,e=d,i=h)}}return[I,C,e,i]}},{key:"_getEnergy",value:function(g){var A=VI(this.E_sums[g],2),t=A[0],C=A[1];return[Math.sqrt(Math.pow(t,2)+Math.pow(C,2)),t,C]}},{key:"_moveNode",value:function(g,A,t){for(var C=this.body.nodeIndices,I=this.body.nodes,e=0,i=0,o=0,n=I[g].x,r=I[g].y,s=this.K_matrix[g],a=this.L_matrix[g],d=0;d<C.length;d++){var h=C[d];if(h!==g){var l=I[h].x,c=I[h].y,u=s[h],p=a[h],v=1/Math.pow(Math.pow(n-l,2)+Math.pow(r-c,2),1.5);e+=u*(1-p*Math.pow(r-c,2)*v),i+=u*(p*(n-l)*(r-c)*v),o+=u*(1-p*Math.pow(n-l,2)*v)}}var f=(A/e+t/i)/(i/e-o/i),y=-(i*f+A)/e;I[g].x+=y,I[g].y+=f,this._updateE_matrix(g)}},{key:"_createL_matrix",value:function(g){var A=this.body.nodeIndices,t=this.springLength;this.L_matrix=[];for(var C=0;C<A.length;C++){this.L_matrix[A[C]]={};for(var I=0;I<A.length;I++)this.L_matrix[A[C]][A[I]]=t*g[A[C]][A[I]]}}},{key:"_createK_matrix",value:function(g){var A=this.body.nodeIndices,t=this.springConstant;this.K_matrix=[];for(var C=0;C<A.length;C++){this.K_matrix[A[C]]={};for(var I=0;I<A.length;I++)this.K_matrix[A[C]][A[I]]=t*Math.pow(g[A[C]][A[I]],-2)}}},{key:"_createE_matrix",value:function(){var g=this.body.nodeIndices,A=this.body.nodes;this.E_matrix={},this.E_sums={};for(var t=0;t<g.length;t++)this.E_matrix[g[t]]=[];for(var C=0;C<g.length;C++){for(var I=g[C],e=A[I].x,i=A[I].y,o=0,n=0,r=C;r<g.length;r++){var s=g[r];if(s!==I){var a=A[s].x,d=A[s].y,h=1/Math.sqrt(Math.pow(e-a,2)+Math.pow(i-d,2));this.E_matrix[I][r]=[this.K_matrix[I][s]*(e-a-this.L_matrix[I][s]*(e-a)*h),this.K_matrix[I][s]*(i-d-this.L_matrix[I][s]*(i-d)*h)],this.E_matrix[s][C]=this.E_matrix[I][r],o+=this.E_matrix[I][r][0],n+=this.E_matrix[I][r][1]}}this.E_sums[I]=[o,n]}}},{key:"_updateE_matrix",value:function(g){for(var A=this.body.nodeIndices,t=this.body.nodes,C=this.E_matrix[g],I=this.K_matrix[g],e=this.L_matrix[g],i=t[g].x,o=t[g].y,n=0,r=0,s=0;s<A.length;s++){var a=A[s];if(a!==g){var d=C[s],h=d[0],l=d[1],c=t[a].x,u=t[a].y,p=1/Math.sqrt(Math.pow(i-c,2)+Math.pow(o-u,2)),v=I[a]*(i-c-e[a]*(i-c)*p),f=I[a]*(o-u-e[a]*(o-u)*p);C[s]=[v,f],n+=v,r+=f;var y=this.E_sums[a];y[0]+=v-h,y[1]+=f-l}}this.E_sums[g]=[n,r]}}]),g}();function Fh(g,A,t){var C,I,e,i,o=this;if(!(this instanceof Fh))throw new SyntaxError("Constructor must be called with the new operator");this.options={},this.defaultOptions={locale:"en",locales:En,clickToUse:!1},yg(this.options,this.defaultOptions),this.body={container:g,nodes:{},nodeIndices:[],edges:{},edgeIndices:[],emitter:{on:$(C=this.on).call(C,this),off:$(I=this.off).call(I,this),emit:$(e=this.emit).call(e,this),once:$(i=this.once).call(i,this)},eventListeners:{onTap:function(){},onTouch:function(){},onDoubleTap:function(){},onHold:function(){},onDragStart:function(){},onDrag:function(){},onDragEnd:function(){},onMouseWheel:function(){},onPinch:function(){},onMouseMove:function(){},onRelease:function(){},onContext:function(){}},data:{nodes:null,edges:null},functions:{createNode:function(){},createEdge:function(){},getPointer:function(){}},modules:{},view:{scale:1,translation:{x:0,y:0}},selectionBox:{show:!1,position:{start:{x:0,y:0},end:{x:0,y:0}}}},this.bindEventListeners(),this.images=new Pn((function(){return o.body.emitter.emit("_requestRedraw")})),this.groups=new Mn,this.canvas=new th(this.body),this.selectionHandler=new oh(this.body,this.canvas),this.interactionHandler=new ih(this.body,this.canvas,this.selectionHandler),this.view=new Ch(this.body,this.canvas),this.renderer=new qd(this.body,this.canvas),this.physics=new Vd(this.body),this.layoutEngine=new kh(this.body),this.clustering=new Jd(this.body),this.manipulation=new xh(this.body,this.canvas,this.selectionHandler,this.interactionHandler),this.nodesHandler=new Ya(this.body,this.images,this.groups,this.layoutEngine),this.edgesHandler=new Nd(this.body,this.images,this.groups),this.body.modules.kamadaKawai=new Zh(this.body,150,.05),this.body.modules.clustering=this.clustering,this.canvas._create(),this.setOptions(t),this.setData(A)}Eg(Fh.prototype),Fh.prototype.setOptions=function(g){var A=this;if(null===g&&(g=void 0),void 0!==g){!0===Za.validate(g,Sh)&&console.log("%cErrors have been found in the supplied options object.",Ba);if(Ne(["locale","locales","clickToUse"],this.options,g),void 0!==g.locale&&(g.locale=function(g,A){try{var t=A.split(/[-_ \/]/,2),C=VI(t,2),I=C[0],e=C[1],i=null!=I?I.toLowerCase():null,o=null!=e?e.toUpperCase():null;if(i&&o){var n,r=i+"-"+o;if(Object.prototype.hasOwnProperty.call(g,r))return r;console.warn(se(n="Unknown variant ".concat(o," of language ")).call(n,i,"."))}if(i){var s=i;if(Object.prototype.hasOwnProperty.call(g,s))return s;console.warn("Unknown language ".concat(i))}return console.warn("Unknown locale ".concat(A,", falling back to English.")),"en"}catch(g){return console.error(g),console.warn("Unexpected error while normalizing locale ".concat(A,", falling back to English.")),"en"}}(g.locales||this.options.locales,g.locale)),g=this.layoutEngine.setOptions(g.layout,g),this.canvas.setOptions(g),this.groups.setOptions(g.groups),this.nodesHandler.setOptions(g.nodes),this.edgesHandler.setOptions(g.edges),this.physics.setOptions(g.physics),this.manipulation.setOptions(g.manipulation,g,this.options),this.interactionHandler.setOptions(g.interaction),this.renderer.setOptions(g.interaction),this.selectionHandler.setOptions(g.interaction),void 0!==g.groups&&this.body.emitter.emit("refreshNodes"),"configure"in g&&(this.configurator||(this.configurator=new Th(this,this.body.container,zh,this.canvas.pixelRatio)),this.configurator.setOptions(g.configure)),this.configurator&&!0===this.configurator.options.enabled){var t={nodes:{},edges:{},layout:{},interaction:{},manipulation:{},physics:{},global:{}};Me(t.nodes,this.nodesHandler.options),Me(t.edges,this.edgesHandler.options),Me(t.layout,this.layoutEngine.options),Me(t.interaction,this.selectionHandler.options),Me(t.interaction,this.renderer.options),Me(t.interaction,this.interactionHandler.options),Me(t.manipulation,this.manipulation.options),Me(t.physics,this.physics.options),Me(t.global,this.canvas.options),Me(t.global,this.options),this.configurator.setModuleOptions(t)}void 0!==g.clickToUse?!0===g.clickToUse?void 0===this.activator&&(this.activator=new On(this.canvas.frame),this.activator.on("change",(function(){A.body.emitter.emit("activate")}))):(void 0!==this.activator&&(this.activator.destroy(),delete this.activator),this.body.emitter.emit("activate")):this.body.emitter.emit("activate"),this.canvas.setSize(),this.body.emitter.emit("startSimulation")}},Fh.prototype._updateVisibleIndices=function(){var g=this.body.nodes,A=this.body.edges;for(var t in this.body.nodeIndices=[],this.body.edgeIndices=[],g)Object.prototype.hasOwnProperty.call(g,t)&&(this.clustering._isClusteredNode(t)||!1!==g[t].options.hidden||this.body.nodeIndices.push(g[t].id));for(var C in A)if(Object.prototype.hasOwnProperty.call(A,C)){var I=A[C],e=g[I.fromId],i=g[I.toId],o=void 0!==e&&void 0!==i;!this.clustering._isClusteredEdge(C)&&!1===I.options.hidden&&o&&!1===e.options.hidden&&!1===i.options.hidden&&this.body.edgeIndices.push(I.id)}},Fh.prototype.bindEventListeners=function(){var g=this;this.body.emitter.on("_dataChanged",(function(){g.edgesHandler._updateState(),g.body.emitter.emit("_dataUpdated")})),this.body.emitter.on("_dataUpdated",(function(){g.clustering._updateState(),g._updateVisibleIndices(),g._updateValueRange(g.body.nodes),g._updateValueRange(g.body.edges),g.body.emitter.emit("startSimulation"),g.body.emitter.emit("_requestRedraw")}))},Fh.prototype.setData=function(g){if(this.body.emitter.emit("resetPhysics"),this.body.emitter.emit("_resetData"),this.selectionHandler.unselectAll(),g&&g.dot&&(g.nodes||g.edges))throw new SyntaxError('Data must contain either parameter "dot" or parameter pair "nodes" and "edges", but not both.');if(this.setOptions(g&&g.options),g&&g.dot){console.log("The dot property has been deprecated. Please use the static convertDot method to convert DOT into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertDot(dotString);");var A=Ui(g.dot);this.setData(A)}else if(g&&g.gephi){console.log("The gephi property has been deprecated. Please use the static convertGephi method to convert gephi into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertGephi(gephiJson);");var t=Ki(g.gephi);this.setData(t)}else this.nodesHandler.setData(g&&g.nodes,!0),this.edgesHandler.setData(g&&g.edges,!0),this.body.emitter.emit("_dataChanged"),this.body.emitter.emit("_dataLoaded"),this.body.emitter.emit("initPhysics")},Fh.prototype.destroy=function(){for(var g in this.body.emitter.emit("destroy"),this.body.emitter.off(),this.off(),delete this.groups,delete this.canvas,delete this.selectionHandler,delete this.interactionHandler,delete this.view,delete this.renderer,delete this.physics,delete this.layoutEngine,delete this.clustering,delete this.manipulation,delete this.nodesHandler,delete this.edgesHandler,delete this.configurator,delete this.images,this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,g)&&delete this.body.nodes[g];for(var A in this.body.edges)Object.prototype.hasOwnProperty.call(this.body.edges,A)&&delete this.body.edges[A];Oe(this.body.container)},Fh.prototype._updateValueRange=function(g){var A,t=void 0,C=void 0,I=0;for(A in g)if(Object.prototype.hasOwnProperty.call(g,A)){var e=g[A].getValue();void 0!==e&&(t=void 0===t?e:Math.min(e,t),C=void 0===C?e:Math.max(e,C),I+=e)}if(void 0!==t&&void 0!==C)for(A in g)Object.prototype.hasOwnProperty.call(g,A)&&g[A].setValueRange(t,C,I)},Fh.prototype.isActive=function(){return!this.activator||this.activator.active},Fh.prototype.setSize=function(){return this.canvas.setSize.apply(this.canvas,arguments)},Fh.prototype.canvasToDOM=function(){return this.canvas.canvasToDOM.apply(this.canvas,arguments)},Fh.prototype.DOMtoCanvas=function(){return this.canvas.DOMtoCanvas.apply(this.canvas,arguments)},Fh.prototype.findNode=function(){return this.clustering.findNode.apply(this.clustering,arguments)},Fh.prototype.isCluster=function(){return this.clustering.isCluster.apply(this.clustering,arguments)},Fh.prototype.openCluster=function(){return this.clustering.openCluster.apply(this.clustering,arguments)},Fh.prototype.cluster=function(){return this.clustering.cluster.apply(this.clustering,arguments)},Fh.prototype.getNodesInCluster=function(){return this.clustering.getNodesInCluster.apply(this.clustering,arguments)},Fh.prototype.clusterByConnection=function(){return this.clustering.clusterByConnection.apply(this.clustering,arguments)},Fh.prototype.clusterByHubsize=function(){return this.clustering.clusterByHubsize.apply(this.clustering,arguments)},Fh.prototype.updateClusteredNode=function(){return this.clustering.updateClusteredNode.apply(this.clustering,arguments)},Fh.prototype.getClusteredEdges=function(){return this.clustering.getClusteredEdges.apply(this.clustering,arguments)},Fh.prototype.getBaseEdge=function(){return this.clustering.getBaseEdge.apply(this.clustering,arguments)},Fh.prototype.getBaseEdges=function(){return this.clustering.getBaseEdges.apply(this.clustering,arguments)},Fh.prototype.updateEdge=function(){return this.clustering.updateEdge.apply(this.clustering,arguments)},Fh.prototype.clusterOutliers=function(){return this.clustering.clusterOutliers.apply(this.clustering,arguments)},Fh.prototype.getSeed=function(){return this.layoutEngine.getSeed.apply(this.layoutEngine,arguments)},Fh.prototype.enableEditMode=function(){return this.manipulation.enableEditMode.apply(this.manipulation,arguments)},Fh.prototype.disableEditMode=function(){return this.manipulation.disableEditMode.apply(this.manipulation,arguments)},Fh.prototype.addNodeMode=function(){return this.manipulation.addNodeMode.apply(this.manipulation,arguments)},Fh.prototype.editNode=function(){return this.manipulation.editNode.apply(this.manipulation,arguments)},Fh.prototype.editNodeMode=function(){return console.log("Deprecated: Please use editNode instead of editNodeMode."),this.manipulation.editNode.apply(this.manipulation,arguments)},Fh.prototype.addEdgeMode=function(){return this.manipulation.addEdgeMode.apply(this.manipulation,arguments)},Fh.prototype.editEdgeMode=function(){return this.manipulation.editEdgeMode.apply(this.manipulation,arguments)},Fh.prototype.deleteSelected=function(){return this.manipulation.deleteSelected.apply(this.manipulation,arguments)},Fh.prototype.getPositions=function(){return this.nodesHandler.getPositions.apply(this.nodesHandler,arguments)},Fh.prototype.getPosition=function(){return this.nodesHandler.getPosition.apply(this.nodesHandler,arguments)},Fh.prototype.storePositions=function(){return this.nodesHandler.storePositions.apply(this.nodesHandler,arguments)},Fh.prototype.moveNode=function(){return this.nodesHandler.moveNode.apply(this.nodesHandler,arguments)},Fh.prototype.getBoundingBox=function(){return this.nodesHandler.getBoundingBox.apply(this.nodesHandler,arguments)},Fh.prototype.getConnectedNodes=function(g){return void 0!==this.body.nodes[g]?this.nodesHandler.getConnectedNodes.apply(this.nodesHandler,arguments):this.edgesHandler.getConnectedNodes.apply(this.edgesHandler,arguments)},Fh.prototype.getConnectedEdges=function(){return this.nodesHandler.getConnectedEdges.apply(this.nodesHandler,arguments)},Fh.prototype.startSimulation=function(){return this.physics.startSimulation.apply(this.physics,arguments)},Fh.prototype.stopSimulation=function(){return this.physics.stopSimulation.apply(this.physics,arguments)},Fh.prototype.stabilize=function(){return this.physics.stabilize.apply(this.physics,arguments)},Fh.prototype.getSelection=function(){return this.selectionHandler.getSelection.apply(this.selectionHandler,arguments)},Fh.prototype.setSelection=function(){return this.selectionHandler.setSelection.apply(this.selectionHandler,arguments)},Fh.prototype.getSelectedNodes=function(){return this.selectionHandler.getSelectedNodes.apply(this.selectionHandler,arguments)},Fh.prototype.getSelectedEdges=function(){return this.selectionHandler.getSelectedEdges.apply(this.selectionHandler,arguments)},Fh.prototype.getNodeAt=function(){var g=this.selectionHandler.getNodeAt.apply(this.selectionHandler,arguments);return void 0!==g&&void 0!==g.id?g.id:g},Fh.prototype.getEdgeAt=function(){var g=this.selectionHandler.getEdgeAt.apply(this.selectionHandler,arguments);return void 0!==g&&void 0!==g.id?g.id:g},Fh.prototype.selectNodes=function(){return this.selectionHandler.selectNodes.apply(this.selectionHandler,arguments)},Fh.prototype.selectEdges=function(){return this.selectionHandler.selectEdges.apply(this.selectionHandler,arguments)},Fh.prototype.unselectAll=function(){this.selectionHandler.unselectAll.apply(this.selectionHandler,arguments),this.redraw()},Fh.prototype.redraw=function(){return this.renderer.redraw.apply(this.renderer,arguments)},Fh.prototype.getScale=function(){return this.view.getScale.apply(this.view,arguments)},Fh.prototype.getViewPosition=function(){return this.view.getViewPosition.apply(this.view,arguments)},Fh.prototype.fit=function(){return this.view.fit.apply(this.view,arguments)},Fh.prototype.moveTo=function(){return this.view.moveTo.apply(this.view,arguments)},Fh.prototype.focus=function(){return this.view.focus.apply(this.view,arguments)},Fh.prototype.releaseNode=function(){return this.view.releaseNode.apply(this.view,arguments)},Fh.prototype.getOptionsFromConfigurator=function(){var g={};return this.configurator&&(g=this.configurator.getOptions.apply(this.configurator)),g}}).call(this,t(122))},959:function(g,A,t){"use strict";t.d(A,"a",(function(){return C.a})),t.d(A,"b",(function(){return C.b}));var C=t(951)}}]);
|
||
//# sourceMappingURL=8-522c528d1651841bac93.js.map
|