From ce55cc8d9c137f36c7f1cbdc9f4d7dcfcbcfac4b Mon Sep 17 00:00:00 2001
From: Maiykol <hartung.michael@outlook.com>
Date: Wed, 23 Jun 2021 20:39:54 +0200
Subject: [PATCH] revert dashed to dashes

---
 scripts/vis-network.min.js                                | 4 ++--
 .../network-legend/network-legend.component.html          | 4 ++--
 .../network-legend/network-legend.component.scss          | 2 +-
 src/app/config.ts                                         | 8 ++++++--
 src/app/interfaces.ts                                     | 2 ++
 src/app/pages/explorer-page/explorer-page.component.html  | 5 ++---
 src/app/pages/explorer-page/explorer-page.component.ts    | 6 +++---
 src/index.html                                            | 8 ++++----
 8 files changed, 22 insertions(+), 17 deletions(-)

diff --git a/scripts/vis-network.min.js b/scripts/vis-network.min.js
index 2b9fcc55..2a042dce 100644
--- a/scripts/vis-network.min.js
+++ b/scripts/vis-network.min.js
@@ -23,14 +23,14 @@
  *
  * vis.js may be distributed under either license.
  */
-!function(g,A){"object"==typeof exports&&"undefined"!=typeof module?A(exports):"function"==typeof define&&define.amd?define(["exports"],A):A((g="undefined"!=typeof globalThis?globalThis:g||self).vis=g.vis||{})}(this,(function(g){var A="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(g){var A={exports:{}};return g(A,A.exports),A.exports}var e=function(g){return g&&g.Math==Math&&g},C=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof A&&A)||function(){return this}()||Function("return this")(),I=function(g){try{return!!g()}catch(g){return!0}},i=!I((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),o={}.propertyIsEnumerable,n=Object.getOwnPropertyDescriptor,r={f:n&&!o.call({1:2},1)?function(g){var A=n(this,g);return!!A&&A.enumerable}:o},s=function(g,A){return{enumerable:!(1&g),configurable:!(2&g),writable:!(4&g),value:A}},a={}.toString,d=function(g){return a.call(g).slice(8,-1)},h="".split,l=I((function(){return!Object("z").propertyIsEnumerable(0)}))?function(g){return"String"==d(g)?h.call(g,""):Object(g)}:Object,c=function(g){if(null==g)throw TypeError("Can't call method on "+g);return g},u=function(g){return l(c(g))},p=function(g){return"object"==typeof g?null!==g:"function"==typeof g},f=function(g,A){if(!p(g))return g;var t,e;if(A&&"function"==typeof(t=g.toString)&&!p(e=t.call(g)))return e;if("function"==typeof(t=g.valueOf)&&!p(e=t.call(g)))return e;if(!A&&"function"==typeof(t=g.toString)&&!p(e=t.call(g)))return e;throw TypeError("Can't convert object to primitive value")},v={}.hasOwnProperty,y=function(g,A){return v.call(g,A)},m=C.document,b=p(m)&&p(m.createElement),w=function(g){return b?m.createElement(g):{}},k=!i&&!I((function(){return 7!=Object.defineProperty(w("div"),"a",{get:function(){return 7}}).a})),x=Object.getOwnPropertyDescriptor,E={f:i?x:function(g,A){if(g=u(g),A=f(A,!0),k)try{return x(g,A)}catch(g){}if(y(g,A))return s(!r.f.call(g,A),g[A])}},O=/#|\.prototype\./,T=function(g,A){var t=N[D(g)];return t==P||t!=R&&("function"==typeof A?I(A):!!A)},D=T.normalize=function(g){return String(g).replace(O,".").toLowerCase()},N=T.data={},R=T.NATIVE="N",P=T.POLYFILL="P",M=T,B={},z=function(g){if("function"!=typeof g)throw TypeError(String(g)+" is not a function");return g},Z=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,e){return g.call(A,t,e)};case 3:return function(t,e,C){return g.call(A,t,e,C)}}return function(){return g.apply(A,arguments)}},S=function(g){if(!p(g))throw TypeError(String(g)+" is not an object");return g},F=Object.defineProperty,G={f:i?F:function(g,A,t){if(S(g),A=f(A,!0),S(t),k)try{return F(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}},L=i?function(g,A,t){return G.f(g,A,s(1,t))}:function(g,A,t){return g[A]=t,g},j=E.f,V=function(g){var A=function(A,t,e){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,e)}return g.apply(this,arguments)};return A.prototype=g.prototype,A},Y=function(g,A){var t,e,I,i,o,n,r,s,a=g.target,d=g.global,h=g.stat,l=g.proto,c=d?C:h?C[a]:(C[a]||{}).prototype,u=d?B:B[a]||(B[a]={}),p=u.prototype;for(I in A)t=!M(d?I:a+(h?".":"#")+I,g.forced)&&c&&y(c,I),o=u[I],t&&(n=g.noTargetGet?(s=j(c,I))&&s.value:c[I]),i=t&&n?n:A[I],t&&typeof o==typeof i||(r=g.bind&&t?Z(i,C):g.wrap&&t?V(i):l&&"function"==typeof i?Z(Function.call,i):i,(g.sham||i&&i.sham||o&&o.sham)&&L(r,"sham",!0),u[I]=r,l&&(y(B,e=a+"Prototype")||L(B,e,{}),B[e][I]=i,g.real&&p&&!p[I]&&L(p,I,i)))},W=Math.ceil,Q=Math.floor,U=function(g){return isNaN(g=+g)?0:(g>0?Q:W)(g)},_=Math.min,H=function(g){return g>0?_(U(g),9007199254740991):0},K=Math.max,X=Math.min,J=function(g,A){var t=U(g);return t<0?K(t+A,0):X(t,A)},q=function(g){return function(A,t,e){var C,I=u(A),i=H(I.length),o=J(e,i);if(g&&t!=t){for(;i>o;)if((C=I[o++])!=C)return!0}else for(;i>o;o++)if((g||o in I)&&I[o]===t)return g||o||0;return!g&&-1}},$={includes:q(!0),indexOf:q(!1)},gg={},Ag=$.indexOf,tg=function(g,A){var t,e=u(g),C=0,I=[];for(t in e)!y(gg,t)&&y(e,t)&&I.push(t);for(;A.length>C;)y(e,t=A[C++])&&(~Ag(I,t)||I.push(t));return I},eg=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Cg=Object.keys||function(g){return tg(g,eg)},Ig={f:Object.getOwnPropertySymbols},ig=function(g){return Object(c(g))},og=Object.assign,ng=Object.defineProperty,rg=!og||I((function(){if(i&&1!==og({b:1},og(ng({},"a",{enumerable:!0,get:function(){ng(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var g={},A={},t=Symbol(),e="abcdefghijklmnopqrst";return g[t]=7,e.split("").forEach((function(g){A[g]=g})),7!=og({},g)[t]||Cg(og({},A)).join("")!=e}))?function(g,A){for(var t=ig(g),e=arguments.length,C=1,I=Ig.f,o=r.f;e>C;)for(var n,s=l(arguments[C++]),a=I?Cg(s).concat(I(s)):Cg(s),d=a.length,h=0;d>h;)n=a[h++],i&&!o.call(s,n)||(t[n]=s[n]);return t}:og;Y({target:"Object",stat:!0,forced:Object.assign!==rg},{assign:rg});var sg=B.Object.assign,ag=[].slice,dg={},hg=function(g,A,t){if(!(A in dg)){for(var e=[],C=0;C<A;C++)e[C]="a["+C+"]";dg[A]=Function("C,a","return new C("+e.join(",")+")")}return dg[A](g,t)},lg=Function.bind||function(g){var A=z(this),t=ag.call(arguments,1),e=function(){var C=t.concat(ag.call(arguments));return this instanceof e?hg(A,C.length,C):A.apply(g,C)};return p(A.prototype)&&(e.prototype=A.prototype),e};Y({target:"Function",proto:!0},{bind:lg});var cg=function(g){return B[g+"Prototype"]},ug=cg("Function").bind,pg=Function.prototype,fg=function(g){var A=g.bind;return g===pg||g instanceof Function&&A===pg.bind?ug:A};function vg(g,A,t,e){g.beginPath(),g.arc(A,t,e,0,2*Math.PI,!1),g.closePath()}function yg(g,A,t,e,C,I){var i=Math.PI/180;e-2*I<0&&(I=e/2),C-2*I<0&&(I=C/2),g.beginPath(),g.moveTo(A+I,t),g.lineTo(A+e-I,t),g.arc(A+e-I,t+I,I,270*i,360*i,!1),g.lineTo(A+e,t+C-I),g.arc(A+e-I,t+C-I,I,0,90*i,!1),g.lineTo(A+I,t+C),g.arc(A+I,t+C-I,I,90*i,180*i,!1),g.lineTo(A,t+I),g.arc(A+I,t+I,I,180*i,270*i,!1),g.closePath()}function mg(g,A,t,e,C){var I=.5522848,i=e/2*I,o=C/2*I,n=A+e,r=t+C,s=A+e/2,a=t+C/2;g.beginPath(),g.moveTo(A,a),g.bezierCurveTo(A,a-o,s-i,t,s,t),g.bezierCurveTo(s+i,t,n,a-o,n,a),g.bezierCurveTo(n,a+o,s+i,r,s,r),g.bezierCurveTo(s-i,r,A,a+o,A,a),g.closePath()}function bg(g,A,t,e,C){var I=C*(1/3),i=.5522848,o=e/2*i,n=I/2*i,r=A+e,s=t+I,a=A+e/2,d=t+I/2,h=t+(C-I/2),l=t+C;g.beginPath(),g.moveTo(r,d),g.bezierCurveTo(r,d+n,a+o,s,a,s),g.bezierCurveTo(a-o,s,A,d+n,A,d),g.bezierCurveTo(A,d-n,a-o,t,a,t),g.bezierCurveTo(a+o,t,r,d-n,r,d),g.lineTo(r,h),g.bezierCurveTo(r,h+n,a+o,l,a,l),g.bezierCurveTo(a-o,l,A,h+n,A,h),g.lineTo(A,d)}function wg(g,A,t,e,C,I){g.beginPath(),g.moveTo(A,t);for(var i=I.length,o=e-A,n=C-t,r=n/o,s=Math.sqrt(o*o+n*n),a=0,d=!0,h=0,l=+I[0];s>=.1;)(l=+I[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 kg={circle:vg,dashedLine:wg,database:bg,diamond:function(g,A,t,e){g.beginPath(),g.lineTo(A,t+e),g.lineTo(A+e,t),g.lineTo(A,t-e),g.lineTo(A-e,t),g.closePath()},ellipse:mg,ellipse_vis:mg,hexagon:function(g,A,t,e){g.beginPath();var C=2*Math.PI/6;g.moveTo(A+e,t);for(var I=1;I<6;I++)g.lineTo(A+e*Math.cos(C*I),t+e*Math.sin(C*I));g.closePath()},roundRect:yg,square:function(g,A,t,e){g.beginPath(),g.rect(A-e,t-e,2*e,2*e),g.closePath()},star:function(g,A,t,e){g.beginPath(),t+=.1*(e*=.82);for(var C=0;C<10;C++){var I=C%2==0?1.3*e:.5*e;g.lineTo(A+I*Math.sin(2*C*Math.PI/10),t-I*Math.cos(2*C*Math.PI/10))}g.closePath()},triangle:function(g,A,t,e){g.beginPath(),t+=.275*(e*=1.15);var C=2*e,I=C/2,i=Math.sqrt(3)/6*C,o=Math.sqrt(C*C-I*I);g.moveTo(A,t-(o-i)),g.lineTo(A+I,t+i),g.lineTo(A-I,t+i),g.lineTo(A,t-(o-i)),g.closePath()},triangleDown:function(g,A,t,e){g.beginPath(),t-=.275*(e*=1.15);var C=2*e,I=C/2,i=Math.sqrt(3)/6*C,o=Math.sqrt(C*C-I*I);g.moveTo(A,t+(o-i)),g.lineTo(A+I,t-i),g.lineTo(A-I,t-i),g.lineTo(A,t+(o-i)),g.closePath()}};function xg(g,A){void 0===A&&(A={});var t=A.insertAt;if(g&&"undefined"!=typeof document){var e=document.head||document.getElementsByTagName("head")[0],C=document.createElement("style");C.type="text/css","top"===t&&e.firstChild?e.insertBefore(C,e.firstChild):e.appendChild(C),C.styleSheet?C.styleSheet.cssText=g:C.appendChild(document.createTextNode(g))}}xg(".vis-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10}.vis-active{box-shadow:0 0 10px #86d5f8}");xg(".vis [class*=span]{min-height:0;width:auto}");xg('div.vis-color-picker{position:absolute;top:0;left:30px;margin-top:-140px;margin-left:30px;width:310px;height:444px;z-index:1;padding:10px;border-radius:15px;background-color:#fff;display:none;box-shadow:0 0 10px 0 rgba(0,0,0,.5)}div.vis-color-picker div.vis-arrow{position:absolute;top:147px;left:5px}div.vis-color-picker div.vis-arrow:after,div.vis-color-picker div.vis-arrow:before{right:100%;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}div.vis-color-picker div.vis-arrow:after{border-color:hsla(0,0%,100%,0) #fff hsla(0,0%,100%,0) hsla(0,0%,100%,0);border-width:30px;margin-top:-30px}div.vis-color-picker div.vis-color{position:absolute;width:289px;height:289px;cursor:pointer}div.vis-color-picker div.vis-brightness{position:absolute;top:313px}div.vis-color-picker div.vis-opacity{position:absolute;top:350px}div.vis-color-picker div.vis-selector{position:absolute;top:137px;left:137px;width:15px;height:15px;border-radius:15px;border:1px solid #fff;background:#4c4c4c;background:-moz-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#4c4c4c),color-stop(12%,#595959),color-stop(25%,#666),color-stop(39%,#474747),color-stop(50%,#2c2c2c),color-stop(51%,#000),color-stop(60%,#111),color-stop(76%,#2b2b2b),color-stop(91%,#1c1c1c),color-stop(100%,#131313));background:-webkit-linear-gradient(top,#4c4c4c,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313);background:-o-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-ms-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:linear-gradient(180deg,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#4c4c4c",endColorstr="#131313",GradientType=0)}div.vis-color-picker div.vis-new-color{left:159px;text-align:right;padding-right:2px}div.vis-color-picker div.vis-initial-color,div.vis-color-picker div.vis-new-color{position:absolute;width:140px;height:20px;border:1px solid rgba(0,0,0,.1);border-radius:5px;top:380px;font-size:10px;color:rgba(0,0,0,.4);vertical-align:middle;line-height:20px}div.vis-color-picker div.vis-initial-color{left:10px;text-align:left;padding-left:2px}div.vis-color-picker div.vis-label{position:absolute;width:300px;left:10px}div.vis-color-picker div.vis-label.vis-brightness{top:300px}div.vis-color-picker div.vis-label.vis-opacity{top:338px}div.vis-color-picker div.vis-button{position:absolute;width:68px;height:25px;border-radius:10px;vertical-align:middle;text-align:center;line-height:25px;top:410px;border:2px solid #d9d9d9;background-color:#f7f7f7;cursor:pointer}div.vis-color-picker div.vis-button.vis-cancel{left:5px}div.vis-color-picker div.vis-button.vis-load{left:82px}div.vis-color-picker div.vis-button.vis-apply{left:159px}div.vis-color-picker div.vis-button.vis-save{left:236px}div.vis-color-picker input.vis-range{width:290px;height:20px}');xg('div.vis-configuration{position:relative;display:block;float:left;font-size:12px}div.vis-configuration-wrapper{display:block;width:700px}div.vis-configuration-wrapper:after{clear:both;content:"";display:block}div.vis-configuration.vis-config-option-container{display:block;width:495px;background-color:#fff;border:2px solid #f7f8fa;border-radius:4px;margin-top:20px;left:10px;padding-left:5px}div.vis-configuration.vis-config-button{display:block;width:495px;height:25px;vertical-align:middle;line-height:25px;background-color:#f7f8fa;border:2px solid #ceced0;border-radius:4px;margin-top:20px;left:10px;padding-left:5px;cursor:pointer;margin-bottom:30px}div.vis-configuration.vis-config-button.hover{background-color:#4588e6;border:2px solid #214373;color:#fff}div.vis-configuration.vis-config-item{display:block;float:left;width:495px;height:25px;vertical-align:middle;line-height:25px}div.vis-configuration.vis-config-item.vis-config-s2{left:10px;background-color:#f7f8fa;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-item.vis-config-s3{left:20px;background-color:#e4e9f0;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-item.vis-config-s4{left:30px;background-color:#cfd8e6;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-header{font-size:18px;font-weight:700}div.vis-configuration.vis-config-label{width:120px;height:25px;line-height:25px}div.vis-configuration.vis-config-label.vis-config-s3{width:110px}div.vis-configuration.vis-config-label.vis-config-s4{width:100px}div.vis-configuration.vis-config-colorBlock{top:1px;width:30px;height:19px;border:1px solid #444;border-radius:2px;padding:0;margin:0;cursor:pointer}input.vis-configuration.vis-config-checkbox{left:-5px}input.vis-configuration.vis-config-rangeinput{position:relative;top:-5px;width:60px;padding:1px;margin:0;pointer-events:none}input.vis-configuration.vis-config-range{-webkit-appearance:none;border:0 solid #fff;background-color:transparent;width:300px;height:20px}input.vis-configuration.vis-config-range::-webkit-slider-runnable-track{width:300px;height:5px;background:#dedede;background:-moz-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#dedede),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#dedede,#c8c8c8 99%);background:-o-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:linear-gradient(180deg,#dedede 0,#c8c8c8 99%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#dedede",endColorstr="#c8c8c8",GradientType=0);border:1px solid #999;box-shadow:0 0 3px 0 #aaa;border-radius:3px}input.vis-configuration.vis-config-range::-webkit-slider-thumb{-webkit-appearance:none;border:1px solid #14334b;height:17px;width:17px;border-radius:50%;background:#3876c2;background:-moz-linear-gradient(top,#3876c2 0,#385380 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#3876c2),color-stop(100%,#385380));background:-webkit-linear-gradient(top,#3876c2,#385380);background:-o-linear-gradient(top,#3876c2 0,#385380 100%);background:-ms-linear-gradient(top,#3876c2 0,#385380 100%);background:linear-gradient(180deg,#3876c2 0,#385380);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#3876c2",endColorstr="#385380",GradientType=0);box-shadow:0 0 1px 0 #111927;margin-top:-7px}input.vis-configuration.vis-config-range:focus{outline:none}input.vis-configuration.vis-config-range:focus::-webkit-slider-runnable-track{background:#9d9d9d;background:-moz-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#9d9d9d),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#9d9d9d,#c8c8c8 99%);background:-o-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:linear-gradient(180deg,#9d9d9d 0,#c8c8c8 99%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#9d9d9d",endColorstr="#c8c8c8",GradientType=0)}input.vis-configuration.vis-config-range::-moz-range-track{width:300px;height:10px;background:#dedede;background:-moz-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#dedede),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#dedede,#c8c8c8 99%);background:-o-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:linear-gradient(180deg,#dedede 0,#c8c8c8 99%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#dedede",endColorstr="#c8c8c8",GradientType=0);border:1px solid #999;box-shadow:0 0 3px 0 #aaa;border-radius:3px}input.vis-configuration.vis-config-range::-moz-range-thumb{border:none;height:16px;width:16px;border-radius:50%;background:#385380}input.vis-configuration.vis-config-range:-moz-focusring{outline:1px solid #fff;outline-offset:-1px}input.vis-configuration.vis-config-range::-ms-track{width:300px;height:5px;background:transparent;border-color:transparent;border-width:6px 0;color:transparent}input.vis-configuration.vis-config-range::-ms-fill-lower{background:#777;border-radius:10px}input.vis-configuration.vis-config-range::-ms-fill-upper{background:#ddd;border-radius:10px}input.vis-configuration.vis-config-range::-ms-thumb{border:none;height:16px;width:16px;border-radius:50%;background:#385380}input.vis-configuration.vis-config-range:focus::-ms-fill-lower{background:#888}input.vis-configuration.vis-config-range:focus::-ms-fill-upper{background:#ccc}.vis-configuration-popup{position:absolute;background:rgba(57,76,89,.85);border:2px solid #f2faff;line-height:30px;height:30px;width:150px;text-align:center;color:#fff;font-size:14px;border-radius:4px;-webkit-transition:opacity .3s ease-in-out;-moz-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out}.vis-configuration-popup:after,.vis-configuration-popup:before{left:100%;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.vis-configuration-popup:after{border-color:rgba(136,183,213,0) rgba(136,183,213,0) rgba(136,183,213,0) rgba(57,76,89,.85);border-width:8px;margin-top:-8px}.vis-configuration-popup:before{border-color:rgba(194,225,245,0) rgba(194,225,245,0) rgba(194,225,245,0) #f2faff;border-width:12px;margin-top:-12px}');xg("div.vis-tooltip{position:absolute;visibility:hidden;padding:5px;white-space:nowrap;font-family:verdana;font-size:14px;color:#000;background-color:#f5f4ed;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;border:1px solid #808074;box-shadow:3px 3px 10px rgba(0,0,0,.2);pointer-events:none;z-index:5}");var Eg=t((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,e=this._callbacks["$"+g];if(!e)return this;if(1==arguments.length)return delete this._callbacks["$"+g],this;for(var C=0;C<e.length;C++)if((t=e[C])===A||t.fn===A){e.splice(C,1);break}return 0===e.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],e=1;e<arguments.length;e++)A[e-1]=arguments[e];if(t){e=0;for(var C=(t=t.slice(0)).length;e<C;++e)t[e].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}})),Og=function(g){return function(A,t){var e,C,I=String(c(A)),i=U(t),o=I.length;return i<0||i>=o?g?"":void 0:(e=I.charCodeAt(i))<55296||e>56319||i+1===o||(C=I.charCodeAt(i+1))<56320||C>57343?g?I.charAt(i):e:g?I.slice(i,i+2):C-56320+(e-55296<<10)+65536}},Tg={codeAt:Og(!1),charAt:Og(!0)},Dg="__core-js_shared__",Ng=C[Dg]||function(g,A){try{L(C,g,A)}catch(t){C[g]=A}return A}(Dg,{}),Rg=Function.toString;"function"!=typeof Ng.inspectSource&&(Ng.inspectSource=function(g){return Rg.call(g)});var Pg,Mg,Bg,zg=Ng.inspectSource,Zg=C.WeakMap,Sg="function"==typeof Zg&&/native code/.test(zg(Zg)),Fg=t((function(g){(g.exports=function(g,A){return Ng[g]||(Ng[g]=void 0!==A?A:{})})("versions",[]).push({version:"3.9.1",mode:"pure",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"})})),Gg=0,Lg=Math.random(),jg=function(g){return"Symbol("+String(void 0===g?"":g)+")_"+(++Gg+Lg).toString(36)},Vg=Fg("keys"),Yg=function(g){return Vg[g]||(Vg[g]=jg(g))},Wg=C.WeakMap;if(Sg){var Qg=Ng.state||(Ng.state=new Wg),Ug=Qg.get,_g=Qg.has,Hg=Qg.set;Pg=function(g,A){return A.facade=g,Hg.call(Qg,g,A),A},Mg=function(g){return Ug.call(Qg,g)||{}},Bg=function(g){return _g.call(Qg,g)}}else{var Kg=Yg("state");gg[Kg]=!0,Pg=function(g,A){return A.facade=g,L(g,Kg,A),A},Mg=function(g){return y(g,Kg)?g[Kg]:{}},Bg=function(g){return y(g,Kg)}}var Xg,Jg,qg={set:Pg,get:Mg,has:Bg,enforce:function(g){return Bg(g)?Mg(g):Pg(g,{})},getterFor:function(g){return function(A){var t;if(!p(A)||(t=Mg(A)).type!==g)throw TypeError("Incompatible receiver, "+g+" required");return t}}},$g=!I((function(){function g(){}return g.prototype.constructor=null,Object.getPrototypeOf(new g)!==g.prototype})),gA=Yg("IE_PROTO"),AA=Object.prototype,tA=$g?Object.getPrototypeOf:function(g){return g=ig(g),y(g,gA)?g[gA]:"function"==typeof g.constructor&&g instanceof g.constructor?g.constructor.prototype:g instanceof Object?AA:null},eA="process"==d(C.process),CA=function(g){return"function"==typeof g?g:void 0},IA=function(g,A){return arguments.length<2?CA(B[g])||CA(C[g]):B[g]&&B[g][A]||C[g]&&C[g][A]},iA=IA("navigator","userAgent")||"",oA=C.process,nA=oA&&oA.versions,rA=nA&&nA.v8;rA?Jg=(Xg=rA.split("."))[0]+Xg[1]:iA&&(!(Xg=iA.match(/Edge\/(\d+)/))||Xg[1]>=74)&&(Xg=iA.match(/Chrome\/(\d+)/))&&(Jg=Xg[1]);var sA,aA,dA,hA=Jg&&+Jg,lA=!!Object.getOwnPropertySymbols&&!I((function(){return!Symbol.sham&&(eA?38===hA:hA>37&&hA<41)})),cA=lA&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,uA=Fg("wks"),pA=C.Symbol,fA=cA?pA:pA&&pA.withoutSetter||jg,vA=function(g){return y(uA,g)&&(lA||"string"==typeof uA[g])||(lA&&y(pA,g)?uA[g]=pA[g]:uA[g]=fA("Symbol."+g)),uA[g]},yA=vA("iterator"),mA=!1;[].keys&&("next"in(dA=[].keys())?(aA=tA(tA(dA)))!==Object.prototype&&(sA=aA):mA=!0);var bA=null==sA||I((function(){var g={};return sA[yA].call(g)!==g}));bA&&(sA={}),bA&&!y(sA,yA)&&L(sA,yA,(function(){return this}));var wA,kA={IteratorPrototype:sA,BUGGY_SAFARI_ITERATORS:mA},xA=i?Object.defineProperties:function(g,A){S(g);for(var t,e=Cg(A),C=e.length,I=0;C>I;)G.f(g,t=e[I++],A[t]);return g},EA=IA("document","documentElement"),OA=Yg("IE_PROTO"),TA=function(){},DA=function(g){return"<script>"+g+"</"+"script>"},NA=function(){try{wA=document.domain&&new ActiveXObject("htmlfile")}catch(g){}var g,A;NA=wA?function(g){g.write(DA("")),g.close();var A=g.parentWindow.Object;return g=null,A}(wA):((A=w("iframe")).style.display="none",EA.appendChild(A),A.src=String("javascript:"),(g=A.contentWindow.document).open(),g.write(DA("document.F=Object")),g.close(),g.F);for(var t=eg.length;t--;)delete NA.prototype[eg[t]];return NA()};gg[OA]=!0;var RA=Object.create||function(g,A){var t;return null!==g?(TA.prototype=S(g),t=new TA,TA.prototype=null,t[OA]=g):t=NA(),void 0===A?t:xA(t,A)},PA={};PA[vA("toStringTag")]="z";var MA="[object z]"===String(PA),BA=vA("toStringTag"),zA="Arguments"==d(function(){return arguments}()),ZA=MA?d:function(g){var A,t,e;return void 0===g?"Undefined":null===g?"Null":"string"==typeof(t=function(g,A){try{return g[A]}catch(g){}}(A=Object(g),BA))?t:zA?d(A):"Object"==(e=d(A))&&"function"==typeof A.callee?"Arguments":e},SA=MA?{}.toString:function(){return"[object "+ZA(this)+"]"},FA=G.f,GA=vA("toStringTag"),LA=function(g,A,t,e){if(g){var C=t?g:g.prototype;y(C,GA)||FA(C,GA,{configurable:!0,value:A}),e&&!MA&&L(C,"toString",SA)}},jA={},VA=kA.IteratorPrototype,YA=function(){return this},WA=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,e){return S(t),function(g){if(!p(g)&&null!==g)throw TypeError("Can't set "+String(g)+" as a prototype")}(e),A?g.call(t,e):t.__proto__=e,t}}():void 0),QA=function(g,A,t,e){e&&e.enumerable?g[A]=t:L(g,A,t)},UA=kA.IteratorPrototype,_A=kA.BUGGY_SAFARI_ITERATORS,HA=vA("iterator"),KA="keys",XA="values",JA="entries",qA=function(){return this},$A=function(g,A,t,e,C,I,i){!function(g,A,t){var e=A+" Iterator";g.prototype=RA(VA,{next:s(1,t)}),LA(g,e,!1,!0),jA[e]=YA}(t,A,e);var o,n,r,a=function(g){if(g===C&&u)return u;if(!_A&&g in l)return l[g];switch(g){case KA:case XA:case JA:return function(){return new t(this,g)}}return function(){return new t(this)}},d=A+" Iterator",h=!1,l=g.prototype,c=l[HA]||l["@@iterator"]||C&&l[C],u=!_A&&c||a(C),p="Array"==A&&l.entries||c;if(p&&(o=tA(p.call(new g)),UA!==Object.prototype&&o.next&&(LA(o,d,!0,!0),jA[d]=qA)),C==XA&&c&&c.name!==XA&&(h=!0,u=function(){return c.call(this)}),i&&l[HA]!==u&&L(l,HA,u),jA[A]=u,C)if(n={values:a(XA),keys:I?u:a(KA),entries:a(JA)},i)for(r in n)(_A||h||!(r in l))&&QA(l,r,n[r]);else Y({target:A,proto:!0,forced:_A||h},n);return n},gt=Tg.charAt,At="String Iterator",tt=qg.set,et=qg.getterFor(At);$A(String,"String",(function(g){tt(this,{type:At,string:String(g),index:0})}),(function(){var g,A=et(this),t=A.string,e=A.index;return e>=t.length?{value:void 0,done:!0}:(g=gt(t,e),A.index+=g.length,{value:g,done:!1})}));var Ct=function(g){var A=g.return;if(void 0!==A)return S(A.call(g)).value},It=function(g,A,t,e){try{return e?A(S(t)[0],t[1]):A(t)}catch(A){throw Ct(g),A}},it=vA("iterator"),ot=Array.prototype,nt=function(g){return void 0!==g&&(jA.Array===g||ot[it]===g)},rt=function(g,A,t){var e=f(A);e in g?G.f(g,e,s(0,t)):g[e]=t},st=vA("iterator"),at=function(g){if(null!=g)return g[st]||g["@@iterator"]||jA[ZA(g)]},dt=vA("iterator"),ht=!1;try{var lt=0,ct={next:function(){return{done:!!lt++}},return:function(){ht=!0}};ct[dt]=function(){return this},Array.from(ct,(function(){throw 2}))}catch(g){}var ut=!function(g,A){if(!A&&!ht)return!1;var t=!1;try{var e={};e[dt]=function(){return{next:function(){return{done:t=!0}}}},g(e)}catch(g){}return t}((function(g){Array.from(g)}));Y({target:"Array",stat:!0,forced:ut},{from:function(g){var A,t,e,C,I,i,o=ig(g),n="function"==typeof this?this:Array,r=arguments.length,s=r>1?arguments[1]:void 0,a=void 0!==s,d=at(o),h=0;if(a&&(s=Z(s,r>2?arguments[2]:void 0,2)),null==d||n==Array&&nt(d))for(t=new n(A=H(o.length));A>h;h++)i=a?s(o[h],h):o[h],rt(t,h,i);else for(I=(C=d.call(o)).next,t=new n;!(e=I.call(C)).done;h++)i=a?It(C,s,[e.value,h],!0):e.value,rt(t,h,i);return t.length=h,t}});var pt=B.Array.from,ft=pt,vt="Array Iterator",yt=qg.set,mt=qg.getterFor(vt);$A(Array,"Array",(function(g,A){yt(this,{type:vt,target:u(g),index:0,kind:A})}),(function(){var g=mt(this),A=g.target,t=g.kind,e=g.index++;return!A||e>=A.length?(g.target=void 0,{value:void 0,done:!0}):"keys"==t?{value:e,done:!1}:"values"==t?{value:A[e],done:!1}:{value:[e,A[e]],done:!1}}),"values"),jA.Arguments=jA.Array;var bt=vA("toStringTag");for(var wt 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 kt=C[wt],xt=kt&&kt.prototype;xt&&ZA(xt)!==bt&&L(xt,bt,wt),jA[wt]=jA.Array}var Et=at,Ot=function(g){var A=at(g);if("function"!=typeof A)throw TypeError(String(g)+" is not iterable");return S(A.call(g))},Tt=Array.isArray||function(g){return"Array"==d(g)},Dt=eg.concat("length","prototype"),Nt={f:Object.getOwnPropertyNames||function(g){return tg(g,Dt)}},Rt=Nt.f,Pt={}.toString,Mt="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],Bt={f:function(g){return Mt&&"[object Window]"==Pt.call(g)?function(g){try{return Rt(g)}catch(g){return Mt.slice()}}(g):Rt(u(g))}},zt={f:vA},Zt=G.f,St=function(g){var A=B.Symbol||(B.Symbol={});y(A,g)||Zt(A,g,{value:zt.f(g)})},Ft=vA("species"),Gt=function(g,A){var t;return Tt(g)&&("function"!=typeof(t=g.constructor)||t!==Array&&!Tt(t.prototype)?p(t)&&null===(t=t[Ft])&&(t=void 0):t=void 0),new(void 0===t?Array:t)(0===A?0:A)},Lt=[].push,jt=function(g){var A=1==g,t=2==g,e=3==g,C=4==g,I=6==g,i=7==g,o=5==g||I;return function(n,r,s,a){for(var d,h,c=ig(n),u=l(c),p=Z(r,s,3),f=H(u.length),v=0,y=a||Gt,m=A?y(n,f):t||i?y(n,0):void 0;f>v;v++)if((o||v in u)&&(h=p(d=u[v],v,c),g))if(A)m[v]=h;else if(h)switch(g){case 3:return!0;case 5:return d;case 6:return v;case 2:Lt.call(m,d)}else switch(g){case 4:return!1;case 7:Lt.call(m,d)}return I?-1:e||C?C:m}},Vt={forEach:jt(0),map:jt(1),filter:jt(2),some:jt(3),every:jt(4),find:jt(5),findIndex:jt(6),filterOut:jt(7)},Yt=Vt.forEach,Wt=Yg("hidden"),Qt="Symbol",Ut=vA("toPrimitive"),_t=qg.set,Ht=qg.getterFor(Qt),Kt=Object.prototype,Xt=C.Symbol,Jt=IA("JSON","stringify"),qt=E.f,$t=G.f,ge=Bt.f,Ae=r.f,te=Fg("symbols"),ee=Fg("op-symbols"),Ce=Fg("string-to-symbol-registry"),Ie=Fg("symbol-to-string-registry"),ie=Fg("wks"),oe=C.QObject,ne=!oe||!oe.prototype||!oe.prototype.findChild,re=i&&I((function(){return 7!=RA($t({},"a",{get:function(){return $t(this,"a",{value:7}).a}})).a}))?function(g,A,t){var e=qt(Kt,A);e&&delete Kt[A],$t(g,A,t),e&&g!==Kt&&$t(Kt,A,e)}:$t,se=function(g,A){var t=te[g]=RA(Xt.prototype);return _t(t,{type:Qt,tag:g,description:A}),i||(t.description=A),t},ae=cA?function(g){return"symbol"==typeof g}:function(g){return Object(g)instanceof Xt},de=function(g,A,t){g===Kt&&de(ee,A,t),S(g);var e=f(A,!0);return S(t),y(te,e)?(t.enumerable?(y(g,Wt)&&g[Wt][e]&&(g[Wt][e]=!1),t=RA(t,{enumerable:s(0,!1)})):(y(g,Wt)||$t(g,Wt,s(1,{})),g[Wt][e]=!0),re(g,e,t)):$t(g,e,t)},he=function(g,A){S(g);var t=u(A),e=Cg(t).concat(pe(t));return Yt(e,(function(A){i&&!le.call(t,A)||de(g,A,t[A])})),g},le=function(g){var A=f(g,!0),t=Ae.call(this,A);return!(this===Kt&&y(te,A)&&!y(ee,A))&&(!(t||!y(this,A)||!y(te,A)||y(this,Wt)&&this[Wt][A])||t)},ce=function(g,A){var t=u(g),e=f(A,!0);if(t!==Kt||!y(te,e)||y(ee,e)){var C=qt(t,e);return!C||!y(te,e)||y(t,Wt)&&t[Wt][e]||(C.enumerable=!0),C}},ue=function(g){var A=ge(u(g)),t=[];return Yt(A,(function(g){y(te,g)||y(gg,g)||t.push(g)})),t},pe=function(g){var A=g===Kt,t=ge(A?ee:u(g)),e=[];return Yt(t,(function(g){!y(te,g)||A&&!y(Kt,g)||e.push(te[g])})),e};if(lA||(QA((Xt=function(){if(this instanceof Xt)throw TypeError("Symbol is not a constructor");var g=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,A=jg(g),t=function(g){this===Kt&&t.call(ee,g),y(this,Wt)&&y(this[Wt],A)&&(this[Wt][A]=!1),re(this,A,s(1,g))};return i&&ne&&re(Kt,A,{configurable:!0,set:t}),se(A,g)}).prototype,"toString",(function(){return Ht(this).tag})),QA(Xt,"withoutSetter",(function(g){return se(jg(g),g)})),r.f=le,G.f=de,E.f=ce,Nt.f=Bt.f=ue,Ig.f=pe,zt.f=function(g){return se(vA(g),g)},i&&$t(Xt.prototype,"description",{configurable:!0,get:function(){return Ht(this).description}})),Y({global:!0,wrap:!0,forced:!lA,sham:!lA},{Symbol:Xt}),Yt(Cg(ie),(function(g){St(g)})),Y({target:Qt,stat:!0,forced:!lA},{for:function(g){var A=String(g);if(y(Ce,A))return Ce[A];var t=Xt(A);return Ce[A]=t,Ie[t]=A,t},keyFor:function(g){if(!ae(g))throw TypeError(g+" is not a symbol");if(y(Ie,g))return Ie[g]},useSetter:function(){ne=!0},useSimple:function(){ne=!1}}),Y({target:"Object",stat:!0,forced:!lA,sham:!i},{create:function(g,A){return void 0===A?RA(g):he(RA(g),A)},defineProperty:de,defineProperties:he,getOwnPropertyDescriptor:ce}),Y({target:"Object",stat:!0,forced:!lA},{getOwnPropertyNames:ue,getOwnPropertySymbols:pe}),Y({target:"Object",stat:!0,forced:I((function(){Ig.f(1)}))},{getOwnPropertySymbols:function(g){return Ig.f(ig(g))}}),Jt){var fe=!lA||I((function(){var g=Xt();return"[null]"!=Jt([g])||"{}"!=Jt({a:g})||"{}"!=Jt(Object(g))}));Y({target:"JSON",stat:!0,forced:fe},{stringify:function(g,A,t){for(var e,C=[g],I=1;arguments.length>I;)C.push(arguments[I++]);if(e=A,(p(A)||void 0!==g)&&!ae(g))return Tt(A)||(A=function(g,A){if("function"==typeof e&&(A=e.call(this,g,A)),!ae(A))return A}),C[1]=A,Jt.apply(null,C)}})}Xt.prototype[Ut]||L(Xt.prototype,Ut,Xt.prototype.valueOf),LA(Xt,Qt),gg[Wt]=!0;var ve=B.Object.getOwnPropertySymbols,ye=E.f,me=I((function(){ye(1)}));Y({target:"Object",stat:!0,forced:!i||me,sham:!i},{getOwnPropertyDescriptor:function(g,A){return ye(u(g),A)}});var be=t((function(g){var A=B.Object,t=g.exports=function(g,t){return A.getOwnPropertyDescriptor(g,t)};A.getOwnPropertyDescriptor.sham&&(t.sham=!0)})),we=be,ke=IA("Reflect","ownKeys")||function(g){var A=Nt.f(S(g)),t=Ig.f;return t?A.concat(t(g)):A};Y({target:"Object",stat:!0,sham:!i},{getOwnPropertyDescriptors:function(g){for(var A,t,e=u(g),C=E.f,I=ke(e),i={},o=0;I.length>o;)void 0!==(t=C(e,A=I[o++]))&&rt(i,A,t);return i}});var xe=B.Object.getOwnPropertyDescriptors;Y({target:"Object",stat:!0,forced:!i,sham:!i},{defineProperties:xA});var Ee=t((function(g){var A=B.Object,t=g.exports=function(g,t){return A.defineProperties(g,t)};A.defineProperties.sham&&(t.sham=!0)}));Y({target:"Object",stat:!0,forced:!i,sham:!i},{defineProperty:G.f});var Oe=t((function(g){var A=B.Object,t=g.exports=function(g,t,e){return A.defineProperty(g,t,e)};A.defineProperty.sham&&(t.sham=!0)})),Te=Oe;function De(g,A){if(!(g instanceof A))throw new TypeError("Cannot call a class as a function")}var Ne=Oe;function Re(g,A){for(var t=0;t<A.length;t++){var e=A[t];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Ne(g,e.key,e)}}function Pe(g,A,t){return A&&Re(g.prototype,A),t&&Re(g,t),g}function Me(g,A,t){return A in g?Ne(g,A,{value:t,enumerable:!0,configurable:!0,writable:!0}):g[A]=t,g}Y({target:"Array",stat:!0},{isArray:Tt});var Be=B.Array.isArray,ze=Be;var Ze=vA("species"),Se=function(g){return hA>=51||!I((function(){var A=[];return(A.constructor={})[Ze]=function(){return{foo:1}},1!==A[g](Boolean).foo}))},Fe=vA("isConcatSpreadable"),Ge=9007199254740991,Le="Maximum allowed index exceeded",je=hA>=51||!I((function(){var g=[];return g[Fe]=!1,g.concat()[0]!==g})),Ve=Se("concat"),Ye=function(g){if(!p(g))return!1;var A=g[Fe];return void 0!==A?!!A:Tt(g)};Y({target:"Array",proto:!0,forced:!je||!Ve},{concat:function(g){var A,t,e,C,I,i=ig(this),o=Gt(i,0),n=0;for(A=-1,e=arguments.length;A<e;A++)if(Ye(I=-1===A?i:arguments[A])){if(n+(C=H(I.length))>Ge)throw TypeError(Le);for(t=0;t<C;t++,n++)t in I&&rt(o,n,I[t])}else{if(n>=Ge)throw TypeError(Le);rt(o,n++,I)}return o.length=n,o}}),St("asyncIterator"),St("hasInstance"),St("isConcatSpreadable"),St("iterator"),St("match"),St("matchAll"),St("replace"),St("search"),St("species"),St("split"),St("toPrimitive"),St("toStringTag"),St("unscopables"),LA(C.JSON,"JSON",!0);var We=B.Symbol;St("asyncDispose"),St("dispose"),St("observable"),St("patternMatch"),St("replaceAll");var Qe=We,Ue=vA("iterator"),_e=function(g){var A=Object(g);return void 0!==A[Ue]||"@@iterator"in A||jA.hasOwnProperty(ZA(A))};var He=Se("slice"),Ke=vA("species"),Xe=[].slice,Je=Math.max;Y({target:"Array",proto:!0,forced:!He},{slice:function(g,A){var t,e,C,I=u(this),i=H(I.length),o=J(g,i),n=J(void 0===A?i:A,i);if(Tt(I)&&("function"!=typeof(t=I.constructor)||t!==Array&&!Tt(t.prototype)?p(t)&&null===(t=t[Ke])&&(t=void 0):t=void 0,t===Array||void 0===t))return Xe.call(I,o,n);for(e=new(void 0===t?Array:t)(Je(n-o,0)),C=0;o<n;o++,C++)o in I&&rt(e,C,I[o]);return e.length=C,e}});var qe=cg("Array").slice,$e=Array.prototype,gC=function(g){var A=g.slice;return g===$e||g instanceof Array&&A===$e.slice?qe:A},AC=gC,tC=pt;function eC(g,A){(null==A||A>g.length)&&(A=g.length);for(var t=0,e=new Array(A);t<A;t++)e[t]=g[t];return e}function CC(g,A){var t;if(g){if("string"==typeof g)return eC(g,A);var e=AC(t=Object.prototype.toString.call(g)).call(t,8,-1);return"Object"===e&&g.constructor&&(e=g.constructor.name),"Map"===e||"Set"===e?tC(g):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?eC(g,A):void 0}}function IC(g,A){return function(g){if(ze(g))return g}(g)||function(g,A){if(void 0!==Qe&&_e(Object(g))){var t=[],e=!0,C=!1,I=void 0;try{for(var i,o=Ot(g);!(e=(i=o.next()).done)&&(t.push(i.value),!A||t.length!==A);e=!0);}catch(g){C=!0,I=g}finally{try{e||null==o.return||o.return()}finally{if(C)throw I}}return t}}(g,A)||CC(g,A)||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 iC=zt.f("iterator"),oC=iC;function nC(g){return(nC="function"==typeof Qe&&"symbol"==typeof oC?function(g){return typeof g}:function(g){return g&&"function"==typeof Qe&&g.constructor===Qe&&g!==Qe.prototype?"symbol":typeof g})(g)}function rC(g){return function(g){if(ze(g))return eC(g)}(g)||function(g){if(void 0!==Qe&&_e(Object(g)))return tC(g)}(g)||CC(g)||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 sC=We,aC=cg("Array").concat,dC=Array.prototype,hC=function(g){var A=g.concat;return g===dC||g instanceof Array&&A===dC.concat?aC:A},lC=gC;Y({target:"Reflect",stat:!0},{ownKeys:ke});var cC=B.Reflect.ownKeys,uC=Be,pC=Vt.map,fC=Se("map");Y({target:"Array",proto:!0,forced:!fC},{map:function(g){return pC(this,g,arguments.length>1?arguments[1]:void 0)}});var vC=cg("Array").map,yC=Array.prototype,mC=function(g){var A=g.map;return g===yC||g instanceof Array&&A===yC.map?vC:A},bC=I((function(){Cg(1)}));Y({target:"Object",stat:!0,forced:bC},{keys:function(g){return Cg(ig(g))}});var wC=B.Object.keys;Y({target:"Date",stat:!0},{now:function(){return(new Date).getTime()}});var kC=B.Date.now,xC=function(g,A){var t=[][g];return!!t&&I((function(){t.call(null,A||function(){throw 1},1)}))},EC=Vt.forEach,OC=xC("forEach")?[].forEach:function(g){return EC(this,g,arguments.length>1?arguments[1]:void 0)};Y({target:"Array",proto:!0,forced:[].forEach!=OC},{forEach:OC});var TC=cg("Array").forEach,DC=Array.prototype,NC={DOMTokenList:!0,NodeList:!0},RC=function(g){var A=g.forEach;return g===DC||g instanceof Array&&A===DC.forEach||NC.hasOwnProperty(ZA(g))?TC:A},PC=[].reverse,MC=[1,2];Y({target:"Array",proto:!0,forced:String(MC)===String(MC.reverse())},{reverse:function(){return Tt(this)&&(this.length=this.length),PC.call(this)}});var BC=cg("Array").reverse,zC=Array.prototype,ZC=function(g){var A=g.reverse;return g===zC||g instanceof Array&&A===zC.reverse?BC:A},SC=Se("splice"),FC=Math.max,GC=Math.min,LC=9007199254740991,jC="Maximum allowed length exceeded";Y({target:"Array",proto:!0,forced:!SC},{splice:function(g,A){var t,e,C,I,i,o,n=ig(this),r=H(n.length),s=J(g,r),a=arguments.length;if(0===a?t=e=0:1===a?(t=0,e=r-s):(t=a-2,e=GC(FC(U(A),0),r-s)),r+t-e>LC)throw TypeError(jC);for(C=Gt(n,e),I=0;I<e;I++)(i=s+I)in n&&rt(C,I,n[i]);if(C.length=e,t<e){for(I=s;I<r-e;I++)o=I+t,(i=I+e)in n?n[o]=n[i]:delete n[o];for(I=r;I>r-e+t;I--)delete n[I-1]}else if(t>e)for(I=r-e;I>s;I--)o=I+t-1,(i=I+e-1)in n?n[o]=n[i]:delete n[o];for(I=0;I<t;I++)n[I+s]=arguments[I+2];return n.length=r-e+t,C}});var VC=cg("Array").splice,YC=Array.prototype,WC=function(g){var A=g.splice;return g===YC||g instanceof Array&&A===YC.splice?VC:A},QC=$.includes;Y({target:"Array",proto:!0},{includes:function(g){return QC(this,g,arguments.length>1?arguments[1]:void 0)}});var UC=cg("Array").includes,_C=vA("match"),HC=function(g){if(function(g){var A;return p(g)&&(void 0!==(A=g[_C])?!!A:"RegExp"==d(g))}(g))throw TypeError("The method doesn't accept regular expressions");return g},KC=vA("match");Y({target:"String",proto:!0,forced:!function(g){var A=/./;try{"/./"[g](A)}catch(t){try{return A[KC]=!1,"/./"[g](A)}catch(g){}}return!1}("includes")},{includes:function(g){return!!~String(c(this)).indexOf(HC(g),arguments.length>1?arguments[1]:void 0)}});var XC=cg("String").includes,JC=Array.prototype,qC=String.prototype,$C=function(g){var A=g.includes;return g===JC||g instanceof Array&&A===JC.includes?UC:"string"==typeof g||g===qC||g instanceof String&&A===qC.includes?XC:A},gI=I((function(){tA(1)}));Y({target:"Object",stat:!0,forced:gI,sham:!$g},{getPrototypeOf:function(g){return tA(ig(g))}});var AI=B.Object.getPrototypeOf,tI=AI,eI=Vt.filter,CI=Se("filter");Y({target:"Array",proto:!0,forced:!CI},{filter:function(g){return eI(this,g,arguments.length>1?arguments[1]:void 0)}});var II=cg("Array").filter,iI=Array.prototype,oI=function(g){var A=g.filter;return g===iI||g instanceof Array&&A===iI.filter?II:A},nI=r.f,rI=function(g){return function(A){for(var t,e=u(A),C=Cg(e),I=C.length,o=0,n=[];I>o;)t=C[o++],i&&!nI.call(e,t)||n.push(g?[t,e[t]]:e[t]);return n}},sI={entries:rI(!0),values:rI(!1)}.values;Y({target:"Object",stat:!0},{values:function(g){return sI(g)}}),B.Object.values;var aI="\t\n\v\f\r                 \u2028\u2029\ufeff",dI="["+aI+"]",hI=RegExp("^"+dI+dI+"*"),lI=RegExp(dI+dI+"*$"),cI=function(g){return function(A){var t=String(c(A));return 1&g&&(t=t.replace(hI,"")),2&g&&(t=t.replace(lI,"")),t}},uI={start:cI(1),end:cI(2),trim:cI(3)},pI=uI.trim,fI=C.parseInt,vI=/^[+-]?0[Xx]/,yI=8!==fI(aI+"08")||22!==fI(aI+"0x16")?function(g,A){var t=pI(String(g));return fI(t,A>>>0||(vI.test(t)?16:10))}:fI;Y({global:!0,forced:parseInt!=yI},{parseInt:yI});var mI=B.parseInt,bI=$.indexOf,wI=[].indexOf,kI=!!wI&&1/[1].indexOf(1,-0)<0,xI=xC("indexOf");Y({target:"Array",proto:!0,forced:kI||!xI},{indexOf:function(g){return kI?wI.apply(this,arguments)||0:bI(this,g,arguments.length>1?arguments[1]:void 0)}});var EI,OI=cg("Array").indexOf,TI=Array.prototype,DI=function(g){var A=g.indexOf;return g===TI||g instanceof Array&&A===TI.indexOf?OI:A},NI=uI.trim;Y({target:"String",proto:!0,forced:(EI="trim",I((function(){return!!aI[EI]()||"​…᠎"!="​…᠎"[EI]()||aI[EI].name!==EI})))},{trim:function(){return NI(this)}}),cg("String").trim,Y({target:"Object",stat:!0,sham:!i},{create:RA});var RI=B.Object,PI=function(g,A){return RI.create(g,A)},MI=PI,BI=IA("JSON","stringify"),zI=/[\uD800-\uDFFF]/g,ZI=/^[\uD800-\uDBFF]$/,SI=/^[\uDC00-\uDFFF]$/,FI=function(g,A,t){var e=t.charAt(A-1),C=t.charAt(A+1);return ZI.test(g)&&!SI.test(C)||SI.test(g)&&!ZI.test(e)?"\\u"+g.charCodeAt(0).toString(16):g},GI=I((function(){return'"\\udf06\\ud834"'!==BI("\udf06\ud834")||'"\\udead"'!==BI("\udead")}));BI&&Y({target:"JSON",stat:!0,forced:GI},{stringify:function(g,A,t){var e=BI.apply(null,arguments);return"string"==typeof e?e.replace(zI,FI):e}}),B.JSON||(B.JSON={stringify:JSON.stringify});var LI=function(g,A,t){return B.JSON.stringify.apply(null,arguments)},jI=[].slice,VI=/MSIE .\./.test(iA),YI=function(g){return function(A,t){var e=arguments.length>2,C=e?jI.call(arguments,2):void 0;return g(e?function(){("function"==typeof A?A:Function(A)).apply(this,C)}:A,t)}};Y({global:!0,bind:!0,forced:VI},{setTimeout:YI(C.setTimeout),setInterval:YI(C.setInterval)});var WI=B.setTimeout;Y({target:"Array",proto:!0},{fill:function(g){for(var A=ig(this),t=H(A.length),e=arguments.length,C=J(e>1?arguments[1]:void 0,t),I=e>2?arguments[2]:void 0,i=void 0===I?t:J(I,t);i>C;)A[C++]=g;return A}});var QI=cg("Array").fill,UI=Array.prototype,_I=function(g){var A=g.fill;return g===UI||g instanceof Array&&A===UI.fill?QI:A};
+!function(g,A){"object"==typeof exports&&"undefined"!=typeof module?A(exports):"function"==typeof define&&define.amd?define(["exports"],A):A((g="undefined"!=typeof globalThis?globalThis:g||self).vis=g.vis||{})}(this,(function(g){var A="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(g){var A={exports:{}};return g(A,A.exports),A.exports}var e=function(g){return g&&g.Math==Math&&g},C=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof A&&A)||function(){return this}()||Function("return this")(),I=function(g){try{return!!g()}catch(g){return!0}},i=!I((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),o={}.propertyIsEnumerable,n=Object.getOwnPropertyDescriptor,r={f:n&&!o.call({1:2},1)?function(g){var A=n(this,g);return!!A&&A.enumerable}:o},s=function(g,A){return{enumerable:!(1&g),configurable:!(2&g),writable:!(4&g),value:A}},a={}.toString,d=function(g){return a.call(g).slice(8,-1)},h="".split,l=I((function(){return!Object("z").propertyIsEnumerable(0)}))?function(g){return"String"==d(g)?h.call(g,""):Object(g)}:Object,c=function(g){if(null==g)throw TypeError("Can't call method on "+g);return g},u=function(g){return l(c(g))},p=function(g){return"object"==typeof g?null!==g:"function"==typeof g},f=function(g,A){if(!p(g))return g;var t,e;if(A&&"function"==typeof(t=g.toString)&&!p(e=t.call(g)))return e;if("function"==typeof(t=g.valueOf)&&!p(e=t.call(g)))return e;if(!A&&"function"==typeof(t=g.toString)&&!p(e=t.call(g)))return e;throw TypeError("Can't convert object to primitive value")},v={}.hasOwnProperty,y=function(g,A){return v.call(g,A)},m=C.document,b=p(m)&&p(m.createElement),w=function(g){return b?m.createElement(g):{}},k=!i&&!I((function(){return 7!=Object.defineProperty(w("div"),"a",{get:function(){return 7}}).a})),x=Object.getOwnPropertyDescriptor,E={f:i?x:function(g,A){if(g=u(g),A=f(A,!0),k)try{return x(g,A)}catch(g){}if(y(g,A))return s(!r.f.call(g,A),g[A])}},O=/#|\.prototype\./,T=function(g,A){var t=N[D(g)];return t==P||t!=R&&("function"==typeof A?I(A):!!A)},D=T.normalize=function(g){return String(g).replace(O,".").toLowerCase()},N=T.data={},R=T.NATIVE="N",P=T.POLYFILL="P",M=T,B={},z=function(g){if("function"!=typeof g)throw TypeError(String(g)+" is not a function");return g},Z=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,e){return g.call(A,t,e)};case 3:return function(t,e,C){return g.call(A,t,e,C)}}return function(){return g.apply(A,arguments)}},S=function(g){if(!p(g))throw TypeError(String(g)+" is not an object");return g},F=Object.defineProperty,G={f:i?F:function(g,A,t){if(S(g),A=f(A,!0),S(t),k)try{return F(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}},L=i?function(g,A,t){return G.f(g,A,s(1,t))}:function(g,A,t){return g[A]=t,g},j=E.f,V=function(g){var A=function(A,t,e){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,e)}return g.apply(this,arguments)};return A.prototype=g.prototype,A},Y=function(g,A){var t,e,I,i,o,n,r,s,a=g.target,d=g.global,h=g.stat,l=g.proto,c=d?C:h?C[a]:(C[a]||{}).prototype,u=d?B:B[a]||(B[a]={}),p=u.prototype;for(I in A)t=!M(d?I:a+(h?".":"#")+I,g.forced)&&c&&y(c,I),o=u[I],t&&(n=g.noTargetGet?(s=j(c,I))&&s.value:c[I]),i=t&&n?n:A[I],t&&typeof o==typeof i||(r=g.bind&&t?Z(i,C):g.wrap&&t?V(i):l&&"function"==typeof i?Z(Function.call,i):i,(g.sham||i&&i.sham||o&&o.sham)&&L(r,"sham",!0),u[I]=r,l&&(y(B,e=a+"Prototype")||L(B,e,{}),B[e][I]=i,g.real&&p&&!p[I]&&L(p,I,i)))},W=Math.ceil,Q=Math.floor,U=function(g){return isNaN(g=+g)?0:(g>0?Q:W)(g)},_=Math.min,H=function(g){return g>0?_(U(g),9007199254740991):0},K=Math.max,X=Math.min,J=function(g,A){var t=U(g);return t<0?K(t+A,0):X(t,A)},q=function(g){return function(A,t,e){var C,I=u(A),i=H(I.length),o=J(e,i);if(g&&t!=t){for(;i>o;)if((C=I[o++])!=C)return!0}else for(;i>o;o++)if((g||o in I)&&I[o]===t)return g||o||0;return!g&&-1}},$={includes:q(!0),indexOf:q(!1)},gg={},Ag=$.indexOf,tg=function(g,A){var t,e=u(g),C=0,I=[];for(t in e)!y(gg,t)&&y(e,t)&&I.push(t);for(;A.length>C;)y(e,t=A[C++])&&(~Ag(I,t)||I.push(t));return I},eg=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Cg=Object.keys||function(g){return tg(g,eg)},Ig={f:Object.getOwnPropertySymbols},ig=function(g){return Object(c(g))},og=Object.assign,ng=Object.defineProperty,rg=!og||I((function(){if(i&&1!==og({b:1},og(ng({},"a",{enumerable:!0,get:function(){ng(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var g={},A={},t=Symbol(),e="abcdefghijklmnopqrst";return g[t]=7,e.split("").forEach((function(g){A[g]=g})),7!=og({},g)[t]||Cg(og({},A)).join("")!=e}))?function(g,A){for(var t=ig(g),e=arguments.length,C=1,I=Ig.f,o=r.f;e>C;)for(var n,s=l(arguments[C++]),a=I?Cg(s).concat(I(s)):Cg(s),d=a.length,h=0;d>h;)n=a[h++],i&&!o.call(s,n)||(t[n]=s[n]);return t}:og;Y({target:"Object",stat:!0,forced:Object.assign!==rg},{assign:rg});var sg=B.Object.assign,ag=[].slice,dg={},hg=function(g,A,t){if(!(A in dg)){for(var e=[],C=0;C<A;C++)e[C]="a["+C+"]";dg[A]=Function("C,a","return new C("+e.join(",")+")")}return dg[A](g,t)},lg=Function.bind||function(g){var A=z(this),t=ag.call(arguments,1),e=function(){var C=t.concat(ag.call(arguments));return this instanceof e?hg(A,C.length,C):A.apply(g,C)};return p(A.prototype)&&(e.prototype=A.prototype),e};Y({target:"Function",proto:!0},{bind:lg});var cg=function(g){return B[g+"Prototype"]},ug=cg("Function").bind,pg=Function.prototype,fg=function(g){var A=g.bind;return g===pg||g instanceof Function&&A===pg.bind?ug:A};function vg(g,A,t,e){g.beginPath(),g.arc(A,t,e,0,2*Math.PI,!1),g.closePath()}function yg(g,A,t,e,C,I){var i=Math.PI/180;e-2*I<0&&(I=e/2),C-2*I<0&&(I=C/2),g.beginPath(),g.moveTo(A+I,t),g.lineTo(A+e-I,t),g.arc(A+e-I,t+I,I,270*i,360*i,!1),g.lineTo(A+e,t+C-I),g.arc(A+e-I,t+C-I,I,0,90*i,!1),g.lineTo(A+I,t+C),g.arc(A+I,t+C-I,I,90*i,180*i,!1),g.lineTo(A,t+I),g.arc(A+I,t+I,I,180*i,270*i,!1),g.closePath()}function mg(g,A,t,e,C){var I=.5522848,i=e/2*I,o=C/2*I,n=A+e,r=t+C,s=A+e/2,a=t+C/2;g.beginPath(),g.moveTo(A,a),g.bezierCurveTo(A,a-o,s-i,t,s,t),g.bezierCurveTo(s+i,t,n,a-o,n,a),g.bezierCurveTo(n,a+o,s+i,r,s,r),g.bezierCurveTo(s-i,r,A,a+o,A,a),g.closePath()}function bg(g,A,t,e,C){var I=C*(1/3),i=.5522848,o=e/2*i,n=I/2*i,r=A+e,s=t+I,a=A+e/2,d=t+I/2,h=t+(C-I/2),l=t+C;g.beginPath(),g.moveTo(r,d),g.bezierCurveTo(r,d+n,a+o,s,a,s),g.bezierCurveTo(a-o,s,A,d+n,A,d),g.bezierCurveTo(A,d-n,a-o,t,a,t),g.bezierCurveTo(a+o,t,r,d-n,r,d),g.lineTo(r,h),g.bezierCurveTo(r,h+n,a+o,l,a,l),g.bezierCurveTo(a-o,l,A,h+n,A,h),g.lineTo(A,d)}function wg(g,A,t,e,C,I){g.beginPath(),g.moveTo(A,t);for(var i=I.length,o=e-A,n=C-t,r=n/o,s=Math.sqrt(o*o+n*n),a=0,d=!0,h=0,l=+I[0];s>=.1;)(l=+I[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 kg={circle:vg,dashesLine:wg,database:bg,diamond:function(g,A,t,e){g.beginPath(),g.lineTo(A,t+e),g.lineTo(A+e,t),g.lineTo(A,t-e),g.lineTo(A-e,t),g.closePath()},ellipse:mg,ellipse_vis:mg,hexagon:function(g,A,t,e){g.beginPath();var C=2*Math.PI/6;g.moveTo(A+e,t);for(var I=1;I<6;I++)g.lineTo(A+e*Math.cos(C*I),t+e*Math.sin(C*I));g.closePath()},roundRect:yg,square:function(g,A,t,e){g.beginPath(),g.rect(A-e,t-e,2*e,2*e),g.closePath()},star:function(g,A,t,e){g.beginPath(),t+=.1*(e*=.82);for(var C=0;C<10;C++){var I=C%2==0?1.3*e:.5*e;g.lineTo(A+I*Math.sin(2*C*Math.PI/10),t-I*Math.cos(2*C*Math.PI/10))}g.closePath()},triangle:function(g,A,t,e){g.beginPath(),t+=.275*(e*=1.15);var C=2*e,I=C/2,i=Math.sqrt(3)/6*C,o=Math.sqrt(C*C-I*I);g.moveTo(A,t-(o-i)),g.lineTo(A+I,t+i),g.lineTo(A-I,t+i),g.lineTo(A,t-(o-i)),g.closePath()},triangleDown:function(g,A,t,e){g.beginPath(),t-=.275*(e*=1.15);var C=2*e,I=C/2,i=Math.sqrt(3)/6*C,o=Math.sqrt(C*C-I*I);g.moveTo(A,t+(o-i)),g.lineTo(A+I,t-i),g.lineTo(A-I,t-i),g.lineTo(A,t+(o-i)),g.closePath()}};function xg(g,A){void 0===A&&(A={});var t=A.insertAt;if(g&&"undefined"!=typeof document){var e=document.head||document.getElementsByTagName("head")[0],C=document.createElement("style");C.type="text/css","top"===t&&e.firstChild?e.insertBefore(C,e.firstChild):e.appendChild(C),C.styleSheet?C.styleSheet.cssText=g:C.appendChild(document.createTextNode(g))}}xg(".vis-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10}.vis-active{box-shadow:0 0 10px #86d5f8}");xg(".vis [class*=span]{min-height:0;width:auto}");xg('div.vis-color-picker{position:absolute;top:0;left:30px;margin-top:-140px;margin-left:30px;width:310px;height:444px;z-index:1;padding:10px;border-radius:15px;background-color:#fff;display:none;box-shadow:0 0 10px 0 rgba(0,0,0,.5)}div.vis-color-picker div.vis-arrow{position:absolute;top:147px;left:5px}div.vis-color-picker div.vis-arrow:after,div.vis-color-picker div.vis-arrow:before{right:100%;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}div.vis-color-picker div.vis-arrow:after{border-color:hsla(0,0%,100%,0) #fff hsla(0,0%,100%,0) hsla(0,0%,100%,0);border-width:30px;margin-top:-30px}div.vis-color-picker div.vis-color{position:absolute;width:289px;height:289px;cursor:pointer}div.vis-color-picker div.vis-brightness{position:absolute;top:313px}div.vis-color-picker div.vis-opacity{position:absolute;top:350px}div.vis-color-picker div.vis-selector{position:absolute;top:137px;left:137px;width:15px;height:15px;border-radius:15px;border:1px solid #fff;background:#4c4c4c;background:-moz-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#4c4c4c),color-stop(12%,#595959),color-stop(25%,#666),color-stop(39%,#474747),color-stop(50%,#2c2c2c),color-stop(51%,#000),color-stop(60%,#111),color-stop(76%,#2b2b2b),color-stop(91%,#1c1c1c),color-stop(100%,#131313));background:-webkit-linear-gradient(top,#4c4c4c,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313);background:-o-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-ms-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:linear-gradient(180deg,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#4c4c4c",endColorstr="#131313",GradientType=0)}div.vis-color-picker div.vis-new-color{left:159px;text-align:right;padding-right:2px}div.vis-color-picker div.vis-initial-color,div.vis-color-picker div.vis-new-color{position:absolute;width:140px;height:20px;border:1px solid rgba(0,0,0,.1);border-radius:5px;top:380px;font-size:10px;color:rgba(0,0,0,.4);vertical-align:middle;line-height:20px}div.vis-color-picker div.vis-initial-color{left:10px;text-align:left;padding-left:2px}div.vis-color-picker div.vis-label{position:absolute;width:300px;left:10px}div.vis-color-picker div.vis-label.vis-brightness{top:300px}div.vis-color-picker div.vis-label.vis-opacity{top:338px}div.vis-color-picker div.vis-button{position:absolute;width:68px;height:25px;border-radius:10px;vertical-align:middle;text-align:center;line-height:25px;top:410px;border:2px solid #d9d9d9;background-color:#f7f7f7;cursor:pointer}div.vis-color-picker div.vis-button.vis-cancel{left:5px}div.vis-color-picker div.vis-button.vis-load{left:82px}div.vis-color-picker div.vis-button.vis-apply{left:159px}div.vis-color-picker div.vis-button.vis-save{left:236px}div.vis-color-picker input.vis-range{width:290px;height:20px}');xg('div.vis-configuration{position:relative;display:block;float:left;font-size:12px}div.vis-configuration-wrapper{display:block;width:700px}div.vis-configuration-wrapper:after{clear:both;content:"";display:block}div.vis-configuration.vis-config-option-container{display:block;width:495px;background-color:#fff;border:2px solid #f7f8fa;border-radius:4px;margin-top:20px;left:10px;padding-left:5px}div.vis-configuration.vis-config-button{display:block;width:495px;height:25px;vertical-align:middle;line-height:25px;background-color:#f7f8fa;border:2px solid #ceced0;border-radius:4px;margin-top:20px;left:10px;padding-left:5px;cursor:pointer;margin-bottom:30px}div.vis-configuration.vis-config-button.hover{background-color:#4588e6;border:2px solid #214373;color:#fff}div.vis-configuration.vis-config-item{display:block;float:left;width:495px;height:25px;vertical-align:middle;line-height:25px}div.vis-configuration.vis-config-item.vis-config-s2{left:10px;background-color:#f7f8fa;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-item.vis-config-s3{left:20px;background-color:#e4e9f0;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-item.vis-config-s4{left:30px;background-color:#cfd8e6;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-header{font-size:18px;font-weight:700}div.vis-configuration.vis-config-label{width:120px;height:25px;line-height:25px}div.vis-configuration.vis-config-label.vis-config-s3{width:110px}div.vis-configuration.vis-config-label.vis-config-s4{width:100px}div.vis-configuration.vis-config-colorBlock{top:1px;width:30px;height:19px;border:1px solid #444;border-radius:2px;padding:0;margin:0;cursor:pointer}input.vis-configuration.vis-config-checkbox{left:-5px}input.vis-configuration.vis-config-rangeinput{position:relative;top:-5px;width:60px;padding:1px;margin:0;pointer-events:none}input.vis-configuration.vis-config-range{-webkit-appearance:none;border:0 solid #fff;background-color:transparent;width:300px;height:20px}input.vis-configuration.vis-config-range::-webkit-slider-runnable-track{width:300px;height:5px;background:#dedede;background:-moz-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#dedede),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#dedede,#c8c8c8 99%);background:-o-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:linear-gradient(180deg,#dedede 0,#c8c8c8 99%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#dedede",endColorstr="#c8c8c8",GradientType=0);border:1px solid #999;box-shadow:0 0 3px 0 #aaa;border-radius:3px}input.vis-configuration.vis-config-range::-webkit-slider-thumb{-webkit-appearance:none;border:1px solid #14334b;height:17px;width:17px;border-radius:50%;background:#3876c2;background:-moz-linear-gradient(top,#3876c2 0,#385380 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#3876c2),color-stop(100%,#385380));background:-webkit-linear-gradient(top,#3876c2,#385380);background:-o-linear-gradient(top,#3876c2 0,#385380 100%);background:-ms-linear-gradient(top,#3876c2 0,#385380 100%);background:linear-gradient(180deg,#3876c2 0,#385380);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#3876c2",endColorstr="#385380",GradientType=0);box-shadow:0 0 1px 0 #111927;margin-top:-7px}input.vis-configuration.vis-config-range:focus{outline:none}input.vis-configuration.vis-config-range:focus::-webkit-slider-runnable-track{background:#9d9d9d;background:-moz-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#9d9d9d),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#9d9d9d,#c8c8c8 99%);background:-o-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:linear-gradient(180deg,#9d9d9d 0,#c8c8c8 99%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#9d9d9d",endColorstr="#c8c8c8",GradientType=0)}input.vis-configuration.vis-config-range::-moz-range-track{width:300px;height:10px;background:#dedede;background:-moz-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#dedede),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#dedede,#c8c8c8 99%);background:-o-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:linear-gradient(180deg,#dedede 0,#c8c8c8 99%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#dedede",endColorstr="#c8c8c8",GradientType=0);border:1px solid #999;box-shadow:0 0 3px 0 #aaa;border-radius:3px}input.vis-configuration.vis-config-range::-moz-range-thumb{border:none;height:16px;width:16px;border-radius:50%;background:#385380}input.vis-configuration.vis-config-range:-moz-focusring{outline:1px solid #fff;outline-offset:-1px}input.vis-configuration.vis-config-range::-ms-track{width:300px;height:5px;background:transparent;border-color:transparent;border-width:6px 0;color:transparent}input.vis-configuration.vis-config-range::-ms-fill-lower{background:#777;border-radius:10px}input.vis-configuration.vis-config-range::-ms-fill-upper{background:#ddd;border-radius:10px}input.vis-configuration.vis-config-range::-ms-thumb{border:none;height:16px;width:16px;border-radius:50%;background:#385380}input.vis-configuration.vis-config-range:focus::-ms-fill-lower{background:#888}input.vis-configuration.vis-config-range:focus::-ms-fill-upper{background:#ccc}.vis-configuration-popup{position:absolute;background:rgba(57,76,89,.85);border:2px solid #f2faff;line-height:30px;height:30px;width:150px;text-align:center;color:#fff;font-size:14px;border-radius:4px;-webkit-transition:opacity .3s ease-in-out;-moz-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out}.vis-configuration-popup:after,.vis-configuration-popup:before{left:100%;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.vis-configuration-popup:after{border-color:rgba(136,183,213,0) rgba(136,183,213,0) rgba(136,183,213,0) rgba(57,76,89,.85);border-width:8px;margin-top:-8px}.vis-configuration-popup:before{border-color:rgba(194,225,245,0) rgba(194,225,245,0) rgba(194,225,245,0) #f2faff;border-width:12px;margin-top:-12px}');xg("div.vis-tooltip{position:absolute;visibility:hidden;padding:5px;white-space:nowrap;font-family:verdana;font-size:14px;color:#000;background-color:#f5f4ed;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;border:1px solid #808074;box-shadow:3px 3px 10px rgba(0,0,0,.2);pointer-events:none;z-index:5}");var Eg=t((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,e=this._callbacks["$"+g];if(!e)return this;if(1==arguments.length)return delete this._callbacks["$"+g],this;for(var C=0;C<e.length;C++)if((t=e[C])===A||t.fn===A){e.splice(C,1);break}return 0===e.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],e=1;e<arguments.length;e++)A[e-1]=arguments[e];if(t){e=0;for(var C=(t=t.slice(0)).length;e<C;++e)t[e].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}})),Og=function(g){return function(A,t){var e,C,I=String(c(A)),i=U(t),o=I.length;return i<0||i>=o?g?"":void 0:(e=I.charCodeAt(i))<55296||e>56319||i+1===o||(C=I.charCodeAt(i+1))<56320||C>57343?g?I.charAt(i):e:g?I.slice(i,i+2):C-56320+(e-55296<<10)+65536}},Tg={codeAt:Og(!1),charAt:Og(!0)},Dg="__core-js_shared__",Ng=C[Dg]||function(g,A){try{L(C,g,A)}catch(t){C[g]=A}return A}(Dg,{}),Rg=Function.toString;"function"!=typeof Ng.inspectSource&&(Ng.inspectSource=function(g){return Rg.call(g)});var Pg,Mg,Bg,zg=Ng.inspectSource,Zg=C.WeakMap,Sg="function"==typeof Zg&&/native code/.test(zg(Zg)),Fg=t((function(g){(g.exports=function(g,A){return Ng[g]||(Ng[g]=void 0!==A?A:{})})("versions",[]).push({version:"3.9.1",mode:"pure",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"})})),Gg=0,Lg=Math.random(),jg=function(g){return"Symbol("+String(void 0===g?"":g)+")_"+(++Gg+Lg).toString(36)},Vg=Fg("keys"),Yg=function(g){return Vg[g]||(Vg[g]=jg(g))},Wg=C.WeakMap;if(Sg){var Qg=Ng.state||(Ng.state=new Wg),Ug=Qg.get,_g=Qg.has,Hg=Qg.set;Pg=function(g,A){return A.facade=g,Hg.call(Qg,g,A),A},Mg=function(g){return Ug.call(Qg,g)||{}},Bg=function(g){return _g.call(Qg,g)}}else{var Kg=Yg("state");gg[Kg]=!0,Pg=function(g,A){return A.facade=g,L(g,Kg,A),A},Mg=function(g){return y(g,Kg)?g[Kg]:{}},Bg=function(g){return y(g,Kg)}}var Xg,Jg,qg={set:Pg,get:Mg,has:Bg,enforce:function(g){return Bg(g)?Mg(g):Pg(g,{})},getterFor:function(g){return function(A){var t;if(!p(A)||(t=Mg(A)).type!==g)throw TypeError("Incompatible receiver, "+g+" required");return t}}},$g=!I((function(){function g(){}return g.prototype.constructor=null,Object.getPrototypeOf(new g)!==g.prototype})),gA=Yg("IE_PROTO"),AA=Object.prototype,tA=$g?Object.getPrototypeOf:function(g){return g=ig(g),y(g,gA)?g[gA]:"function"==typeof g.constructor&&g instanceof g.constructor?g.constructor.prototype:g instanceof Object?AA:null},eA="process"==d(C.process),CA=function(g){return"function"==typeof g?g:void 0},IA=function(g,A){return arguments.length<2?CA(B[g])||CA(C[g]):B[g]&&B[g][A]||C[g]&&C[g][A]},iA=IA("navigator","userAgent")||"",oA=C.process,nA=oA&&oA.versions,rA=nA&&nA.v8;rA?Jg=(Xg=rA.split("."))[0]+Xg[1]:iA&&(!(Xg=iA.match(/Edge\/(\d+)/))||Xg[1]>=74)&&(Xg=iA.match(/Chrome\/(\d+)/))&&(Jg=Xg[1]);var sA,aA,dA,hA=Jg&&+Jg,lA=!!Object.getOwnPropertySymbols&&!I((function(){return!Symbol.sham&&(eA?38===hA:hA>37&&hA<41)})),cA=lA&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,uA=Fg("wks"),pA=C.Symbol,fA=cA?pA:pA&&pA.withoutSetter||jg,vA=function(g){return y(uA,g)&&(lA||"string"==typeof uA[g])||(lA&&y(pA,g)?uA[g]=pA[g]:uA[g]=fA("Symbol."+g)),uA[g]},yA=vA("iterator"),mA=!1;[].keys&&("next"in(dA=[].keys())?(aA=tA(tA(dA)))!==Object.prototype&&(sA=aA):mA=!0);var bA=null==sA||I((function(){var g={};return sA[yA].call(g)!==g}));bA&&(sA={}),bA&&!y(sA,yA)&&L(sA,yA,(function(){return this}));var wA,kA={IteratorPrototype:sA,BUGGY_SAFARI_ITERATORS:mA},xA=i?Object.defineProperties:function(g,A){S(g);for(var t,e=Cg(A),C=e.length,I=0;C>I;)G.f(g,t=e[I++],A[t]);return g},EA=IA("document","documentElement"),OA=Yg("IE_PROTO"),TA=function(){},DA=function(g){return"<script>"+g+"</"+"script>"},NA=function(){try{wA=document.domain&&new ActiveXObject("htmlfile")}catch(g){}var g,A;NA=wA?function(g){g.write(DA("")),g.close();var A=g.parentWindow.Object;return g=null,A}(wA):((A=w("iframe")).style.display="none",EA.appendChild(A),A.src=String("javascript:"),(g=A.contentWindow.document).open(),g.write(DA("document.F=Object")),g.close(),g.F);for(var t=eg.length;t--;)delete NA.prototype[eg[t]];return NA()};gg[OA]=!0;var RA=Object.create||function(g,A){var t;return null!==g?(TA.prototype=S(g),t=new TA,TA.prototype=null,t[OA]=g):t=NA(),void 0===A?t:xA(t,A)},PA={};PA[vA("toStringTag")]="z";var MA="[object z]"===String(PA),BA=vA("toStringTag"),zA="Arguments"==d(function(){return arguments}()),ZA=MA?d:function(g){var A,t,e;return void 0===g?"Undefined":null===g?"Null":"string"==typeof(t=function(g,A){try{return g[A]}catch(g){}}(A=Object(g),BA))?t:zA?d(A):"Object"==(e=d(A))&&"function"==typeof A.callee?"Arguments":e},SA=MA?{}.toString:function(){return"[object "+ZA(this)+"]"},FA=G.f,GA=vA("toStringTag"),LA=function(g,A,t,e){if(g){var C=t?g:g.prototype;y(C,GA)||FA(C,GA,{configurable:!0,value:A}),e&&!MA&&L(C,"toString",SA)}},jA={},VA=kA.IteratorPrototype,YA=function(){return this},WA=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,e){return S(t),function(g){if(!p(g)&&null!==g)throw TypeError("Can't set "+String(g)+" as a prototype")}(e),A?g.call(t,e):t.__proto__=e,t}}():void 0),QA=function(g,A,t,e){e&&e.enumerable?g[A]=t:L(g,A,t)},UA=kA.IteratorPrototype,_A=kA.BUGGY_SAFARI_ITERATORS,HA=vA("iterator"),KA="keys",XA="values",JA="entries",qA=function(){return this},$A=function(g,A,t,e,C,I,i){!function(g,A,t){var e=A+" Iterator";g.prototype=RA(VA,{next:s(1,t)}),LA(g,e,!1,!0),jA[e]=YA}(t,A,e);var o,n,r,a=function(g){if(g===C&&u)return u;if(!_A&&g in l)return l[g];switch(g){case KA:case XA:case JA:return function(){return new t(this,g)}}return function(){return new t(this)}},d=A+" Iterator",h=!1,l=g.prototype,c=l[HA]||l["@@iterator"]||C&&l[C],u=!_A&&c||a(C),p="Array"==A&&l.entries||c;if(p&&(o=tA(p.call(new g)),UA!==Object.prototype&&o.next&&(LA(o,d,!0,!0),jA[d]=qA)),C==XA&&c&&c.name!==XA&&(h=!0,u=function(){return c.call(this)}),i&&l[HA]!==u&&L(l,HA,u),jA[A]=u,C)if(n={values:a(XA),keys:I?u:a(KA),entries:a(JA)},i)for(r in n)(_A||h||!(r in l))&&QA(l,r,n[r]);else Y({target:A,proto:!0,forced:_A||h},n);return n},gt=Tg.charAt,At="String Iterator",tt=qg.set,et=qg.getterFor(At);$A(String,"String",(function(g){tt(this,{type:At,string:String(g),index:0})}),(function(){var g,A=et(this),t=A.string,e=A.index;return e>=t.length?{value:void 0,done:!0}:(g=gt(t,e),A.index+=g.length,{value:g,done:!1})}));var Ct=function(g){var A=g.return;if(void 0!==A)return S(A.call(g)).value},It=function(g,A,t,e){try{return e?A(S(t)[0],t[1]):A(t)}catch(A){throw Ct(g),A}},it=vA("iterator"),ot=Array.prototype,nt=function(g){return void 0!==g&&(jA.Array===g||ot[it]===g)},rt=function(g,A,t){var e=f(A);e in g?G.f(g,e,s(0,t)):g[e]=t},st=vA("iterator"),at=function(g){if(null!=g)return g[st]||g["@@iterator"]||jA[ZA(g)]},dt=vA("iterator"),ht=!1;try{var lt=0,ct={next:function(){return{done:!!lt++}},return:function(){ht=!0}};ct[dt]=function(){return this},Array.from(ct,(function(){throw 2}))}catch(g){}var ut=!function(g,A){if(!A&&!ht)return!1;var t=!1;try{var e={};e[dt]=function(){return{next:function(){return{done:t=!0}}}},g(e)}catch(g){}return t}((function(g){Array.from(g)}));Y({target:"Array",stat:!0,forced:ut},{from:function(g){var A,t,e,C,I,i,o=ig(g),n="function"==typeof this?this:Array,r=arguments.length,s=r>1?arguments[1]:void 0,a=void 0!==s,d=at(o),h=0;if(a&&(s=Z(s,r>2?arguments[2]:void 0,2)),null==d||n==Array&&nt(d))for(t=new n(A=H(o.length));A>h;h++)i=a?s(o[h],h):o[h],rt(t,h,i);else for(I=(C=d.call(o)).next,t=new n;!(e=I.call(C)).done;h++)i=a?It(C,s,[e.value,h],!0):e.value,rt(t,h,i);return t.length=h,t}});var pt=B.Array.from,ft=pt,vt="Array Iterator",yt=qg.set,mt=qg.getterFor(vt);$A(Array,"Array",(function(g,A){yt(this,{type:vt,target:u(g),index:0,kind:A})}),(function(){var g=mt(this),A=g.target,t=g.kind,e=g.index++;return!A||e>=A.length?(g.target=void 0,{value:void 0,done:!0}):"keys"==t?{value:e,done:!1}:"values"==t?{value:A[e],done:!1}:{value:[e,A[e]],done:!1}}),"values"),jA.Arguments=jA.Array;var bt=vA("toStringTag");for(var wt 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 kt=C[wt],xt=kt&&kt.prototype;xt&&ZA(xt)!==bt&&L(xt,bt,wt),jA[wt]=jA.Array}var Et=at,Ot=function(g){var A=at(g);if("function"!=typeof A)throw TypeError(String(g)+" is not iterable");return S(A.call(g))},Tt=Array.isArray||function(g){return"Array"==d(g)},Dt=eg.concat("length","prototype"),Nt={f:Object.getOwnPropertyNames||function(g){return tg(g,Dt)}},Rt=Nt.f,Pt={}.toString,Mt="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],Bt={f:function(g){return Mt&&"[object Window]"==Pt.call(g)?function(g){try{return Rt(g)}catch(g){return Mt.slice()}}(g):Rt(u(g))}},zt={f:vA},Zt=G.f,St=function(g){var A=B.Symbol||(B.Symbol={});y(A,g)||Zt(A,g,{value:zt.f(g)})},Ft=vA("species"),Gt=function(g,A){var t;return Tt(g)&&("function"!=typeof(t=g.constructor)||t!==Array&&!Tt(t.prototype)?p(t)&&null===(t=t[Ft])&&(t=void 0):t=void 0),new(void 0===t?Array:t)(0===A?0:A)},Lt=[].push,jt=function(g){var A=1==g,t=2==g,e=3==g,C=4==g,I=6==g,i=7==g,o=5==g||I;return function(n,r,s,a){for(var d,h,c=ig(n),u=l(c),p=Z(r,s,3),f=H(u.length),v=0,y=a||Gt,m=A?y(n,f):t||i?y(n,0):void 0;f>v;v++)if((o||v in u)&&(h=p(d=u[v],v,c),g))if(A)m[v]=h;else if(h)switch(g){case 3:return!0;case 5:return d;case 6:return v;case 2:Lt.call(m,d)}else switch(g){case 4:return!1;case 7:Lt.call(m,d)}return I?-1:e||C?C:m}},Vt={forEach:jt(0),map:jt(1),filter:jt(2),some:jt(3),every:jt(4),find:jt(5),findIndex:jt(6),filterOut:jt(7)},Yt=Vt.forEach,Wt=Yg("hidden"),Qt="Symbol",Ut=vA("toPrimitive"),_t=qg.set,Ht=qg.getterFor(Qt),Kt=Object.prototype,Xt=C.Symbol,Jt=IA("JSON","stringify"),qt=E.f,$t=G.f,ge=Bt.f,Ae=r.f,te=Fg("symbols"),ee=Fg("op-symbols"),Ce=Fg("string-to-symbol-registry"),Ie=Fg("symbol-to-string-registry"),ie=Fg("wks"),oe=C.QObject,ne=!oe||!oe.prototype||!oe.prototype.findChild,re=i&&I((function(){return 7!=RA($t({},"a",{get:function(){return $t(this,"a",{value:7}).a}})).a}))?function(g,A,t){var e=qt(Kt,A);e&&delete Kt[A],$t(g,A,t),e&&g!==Kt&&$t(Kt,A,e)}:$t,se=function(g,A){var t=te[g]=RA(Xt.prototype);return _t(t,{type:Qt,tag:g,description:A}),i||(t.description=A),t},ae=cA?function(g){return"symbol"==typeof g}:function(g){return Object(g)instanceof Xt},de=function(g,A,t){g===Kt&&de(ee,A,t),S(g);var e=f(A,!0);return S(t),y(te,e)?(t.enumerable?(y(g,Wt)&&g[Wt][e]&&(g[Wt][e]=!1),t=RA(t,{enumerable:s(0,!1)})):(y(g,Wt)||$t(g,Wt,s(1,{})),g[Wt][e]=!0),re(g,e,t)):$t(g,e,t)},he=function(g,A){S(g);var t=u(A),e=Cg(t).concat(pe(t));return Yt(e,(function(A){i&&!le.call(t,A)||de(g,A,t[A])})),g},le=function(g){var A=f(g,!0),t=Ae.call(this,A);return!(this===Kt&&y(te,A)&&!y(ee,A))&&(!(t||!y(this,A)||!y(te,A)||y(this,Wt)&&this[Wt][A])||t)},ce=function(g,A){var t=u(g),e=f(A,!0);if(t!==Kt||!y(te,e)||y(ee,e)){var C=qt(t,e);return!C||!y(te,e)||y(t,Wt)&&t[Wt][e]||(C.enumerable=!0),C}},ue=function(g){var A=ge(u(g)),t=[];return Yt(A,(function(g){y(te,g)||y(gg,g)||t.push(g)})),t},pe=function(g){var A=g===Kt,t=ge(A?ee:u(g)),e=[];return Yt(t,(function(g){!y(te,g)||A&&!y(Kt,g)||e.push(te[g])})),e};if(lA||(QA((Xt=function(){if(this instanceof Xt)throw TypeError("Symbol is not a constructor");var g=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,A=jg(g),t=function(g){this===Kt&&t.call(ee,g),y(this,Wt)&&y(this[Wt],A)&&(this[Wt][A]=!1),re(this,A,s(1,g))};return i&&ne&&re(Kt,A,{configurable:!0,set:t}),se(A,g)}).prototype,"toString",(function(){return Ht(this).tag})),QA(Xt,"withoutSetter",(function(g){return se(jg(g),g)})),r.f=le,G.f=de,E.f=ce,Nt.f=Bt.f=ue,Ig.f=pe,zt.f=function(g){return se(vA(g),g)},i&&$t(Xt.prototype,"description",{configurable:!0,get:function(){return Ht(this).description}})),Y({global:!0,wrap:!0,forced:!lA,sham:!lA},{Symbol:Xt}),Yt(Cg(ie),(function(g){St(g)})),Y({target:Qt,stat:!0,forced:!lA},{for:function(g){var A=String(g);if(y(Ce,A))return Ce[A];var t=Xt(A);return Ce[A]=t,Ie[t]=A,t},keyFor:function(g){if(!ae(g))throw TypeError(g+" is not a symbol");if(y(Ie,g))return Ie[g]},useSetter:function(){ne=!0},useSimple:function(){ne=!1}}),Y({target:"Object",stat:!0,forced:!lA,sham:!i},{create:function(g,A){return void 0===A?RA(g):he(RA(g),A)},defineProperty:de,defineProperties:he,getOwnPropertyDescriptor:ce}),Y({target:"Object",stat:!0,forced:!lA},{getOwnPropertyNames:ue,getOwnPropertySymbols:pe}),Y({target:"Object",stat:!0,forced:I((function(){Ig.f(1)}))},{getOwnPropertySymbols:function(g){return Ig.f(ig(g))}}),Jt){var fe=!lA||I((function(){var g=Xt();return"[null]"!=Jt([g])||"{}"!=Jt({a:g})||"{}"!=Jt(Object(g))}));Y({target:"JSON",stat:!0,forced:fe},{stringify:function(g,A,t){for(var e,C=[g],I=1;arguments.length>I;)C.push(arguments[I++]);if(e=A,(p(A)||void 0!==g)&&!ae(g))return Tt(A)||(A=function(g,A){if("function"==typeof e&&(A=e.call(this,g,A)),!ae(A))return A}),C[1]=A,Jt.apply(null,C)}})}Xt.prototype[Ut]||L(Xt.prototype,Ut,Xt.prototype.valueOf),LA(Xt,Qt),gg[Wt]=!0;var ve=B.Object.getOwnPropertySymbols,ye=E.f,me=I((function(){ye(1)}));Y({target:"Object",stat:!0,forced:!i||me,sham:!i},{getOwnPropertyDescriptor:function(g,A){return ye(u(g),A)}});var be=t((function(g){var A=B.Object,t=g.exports=function(g,t){return A.getOwnPropertyDescriptor(g,t)};A.getOwnPropertyDescriptor.sham&&(t.sham=!0)})),we=be,ke=IA("Reflect","ownKeys")||function(g){var A=Nt.f(S(g)),t=Ig.f;return t?A.concat(t(g)):A};Y({target:"Object",stat:!0,sham:!i},{getOwnPropertyDescriptors:function(g){for(var A,t,e=u(g),C=E.f,I=ke(e),i={},o=0;I.length>o;)void 0!==(t=C(e,A=I[o++]))&&rt(i,A,t);return i}});var xe=B.Object.getOwnPropertyDescriptors;Y({target:"Object",stat:!0,forced:!i,sham:!i},{defineProperties:xA});var Ee=t((function(g){var A=B.Object,t=g.exports=function(g,t){return A.defineProperties(g,t)};A.defineProperties.sham&&(t.sham=!0)}));Y({target:"Object",stat:!0,forced:!i,sham:!i},{defineProperty:G.f});var Oe=t((function(g){var A=B.Object,t=g.exports=function(g,t,e){return A.defineProperty(g,t,e)};A.defineProperty.sham&&(t.sham=!0)})),Te=Oe;function De(g,A){if(!(g instanceof A))throw new TypeError("Cannot call a class as a function")}var Ne=Oe;function Re(g,A){for(var t=0;t<A.length;t++){var e=A[t];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Ne(g,e.key,e)}}function Pe(g,A,t){return A&&Re(g.prototype,A),t&&Re(g,t),g}function Me(g,A,t){return A in g?Ne(g,A,{value:t,enumerable:!0,configurable:!0,writable:!0}):g[A]=t,g}Y({target:"Array",stat:!0},{isArray:Tt});var Be=B.Array.isArray,ze=Be;var Ze=vA("species"),Se=function(g){return hA>=51||!I((function(){var A=[];return(A.constructor={})[Ze]=function(){return{foo:1}},1!==A[g](Boolean).foo}))},Fe=vA("isConcatSpreadable"),Ge=9007199254740991,Le="Maximum allowed index exceeded",je=hA>=51||!I((function(){var g=[];return g[Fe]=!1,g.concat()[0]!==g})),Ve=Se("concat"),Ye=function(g){if(!p(g))return!1;var A=g[Fe];return void 0!==A?!!A:Tt(g)};Y({target:"Array",proto:!0,forced:!je||!Ve},{concat:function(g){var A,t,e,C,I,i=ig(this),o=Gt(i,0),n=0;for(A=-1,e=arguments.length;A<e;A++)if(Ye(I=-1===A?i:arguments[A])){if(n+(C=H(I.length))>Ge)throw TypeError(Le);for(t=0;t<C;t++,n++)t in I&&rt(o,n,I[t])}else{if(n>=Ge)throw TypeError(Le);rt(o,n++,I)}return o.length=n,o}}),St("asyncIterator"),St("hasInstance"),St("isConcatSpreadable"),St("iterator"),St("match"),St("matchAll"),St("replace"),St("search"),St("species"),St("split"),St("toPrimitive"),St("toStringTag"),St("unscopables"),LA(C.JSON,"JSON",!0);var We=B.Symbol;St("asyncDispose"),St("dispose"),St("observable"),St("patternMatch"),St("replaceAll");var Qe=We,Ue=vA("iterator"),_e=function(g){var A=Object(g);return void 0!==A[Ue]||"@@iterator"in A||jA.hasOwnProperty(ZA(A))};var He=Se("slice"),Ke=vA("species"),Xe=[].slice,Je=Math.max;Y({target:"Array",proto:!0,forced:!He},{slice:function(g,A){var t,e,C,I=u(this),i=H(I.length),o=J(g,i),n=J(void 0===A?i:A,i);if(Tt(I)&&("function"!=typeof(t=I.constructor)||t!==Array&&!Tt(t.prototype)?p(t)&&null===(t=t[Ke])&&(t=void 0):t=void 0,t===Array||void 0===t))return Xe.call(I,o,n);for(e=new(void 0===t?Array:t)(Je(n-o,0)),C=0;o<n;o++,C++)o in I&&rt(e,C,I[o]);return e.length=C,e}});var qe=cg("Array").slice,$e=Array.prototype,gC=function(g){var A=g.slice;return g===$e||g instanceof Array&&A===$e.slice?qe:A},AC=gC,tC=pt;function eC(g,A){(null==A||A>g.length)&&(A=g.length);for(var t=0,e=new Array(A);t<A;t++)e[t]=g[t];return e}function CC(g,A){var t;if(g){if("string"==typeof g)return eC(g,A);var e=AC(t=Object.prototype.toString.call(g)).call(t,8,-1);return"Object"===e&&g.constructor&&(e=g.constructor.name),"Map"===e||"Set"===e?tC(g):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?eC(g,A):void 0}}function IC(g,A){return function(g){if(ze(g))return g}(g)||function(g,A){if(void 0!==Qe&&_e(Object(g))){var t=[],e=!0,C=!1,I=void 0;try{for(var i,o=Ot(g);!(e=(i=o.next()).done)&&(t.push(i.value),!A||t.length!==A);e=!0);}catch(g){C=!0,I=g}finally{try{e||null==o.return||o.return()}finally{if(C)throw I}}return t}}(g,A)||CC(g,A)||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 iC=zt.f("iterator"),oC=iC;function nC(g){return(nC="function"==typeof Qe&&"symbol"==typeof oC?function(g){return typeof g}:function(g){return g&&"function"==typeof Qe&&g.constructor===Qe&&g!==Qe.prototype?"symbol":typeof g})(g)}function rC(g){return function(g){if(ze(g))return eC(g)}(g)||function(g){if(void 0!==Qe&&_e(Object(g)))return tC(g)}(g)||CC(g)||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 sC=We,aC=cg("Array").concat,dC=Array.prototype,hC=function(g){var A=g.concat;return g===dC||g instanceof Array&&A===dC.concat?aC:A},lC=gC;Y({target:"Reflect",stat:!0},{ownKeys:ke});var cC=B.Reflect.ownKeys,uC=Be,pC=Vt.map,fC=Se("map");Y({target:"Array",proto:!0,forced:!fC},{map:function(g){return pC(this,g,arguments.length>1?arguments[1]:void 0)}});var vC=cg("Array").map,yC=Array.prototype,mC=function(g){var A=g.map;return g===yC||g instanceof Array&&A===yC.map?vC:A},bC=I((function(){Cg(1)}));Y({target:"Object",stat:!0,forced:bC},{keys:function(g){return Cg(ig(g))}});var wC=B.Object.keys;Y({target:"Date",stat:!0},{now:function(){return(new Date).getTime()}});var kC=B.Date.now,xC=function(g,A){var t=[][g];return!!t&&I((function(){t.call(null,A||function(){throw 1},1)}))},EC=Vt.forEach,OC=xC("forEach")?[].forEach:function(g){return EC(this,g,arguments.length>1?arguments[1]:void 0)};Y({target:"Array",proto:!0,forced:[].forEach!=OC},{forEach:OC});var TC=cg("Array").forEach,DC=Array.prototype,NC={DOMTokenList:!0,NodeList:!0},RC=function(g){var A=g.forEach;return g===DC||g instanceof Array&&A===DC.forEach||NC.hasOwnProperty(ZA(g))?TC:A},PC=[].reverse,MC=[1,2];Y({target:"Array",proto:!0,forced:String(MC)===String(MC.reverse())},{reverse:function(){return Tt(this)&&(this.length=this.length),PC.call(this)}});var BC=cg("Array").reverse,zC=Array.prototype,ZC=function(g){var A=g.reverse;return g===zC||g instanceof Array&&A===zC.reverse?BC:A},SC=Se("splice"),FC=Math.max,GC=Math.min,LC=9007199254740991,jC="Maximum allowed length exceeded";Y({target:"Array",proto:!0,forced:!SC},{splice:function(g,A){var t,e,C,I,i,o,n=ig(this),r=H(n.length),s=J(g,r),a=arguments.length;if(0===a?t=e=0:1===a?(t=0,e=r-s):(t=a-2,e=GC(FC(U(A),0),r-s)),r+t-e>LC)throw TypeError(jC);for(C=Gt(n,e),I=0;I<e;I++)(i=s+I)in n&&rt(C,I,n[i]);if(C.length=e,t<e){for(I=s;I<r-e;I++)o=I+t,(i=I+e)in n?n[o]=n[i]:delete n[o];for(I=r;I>r-e+t;I--)delete n[I-1]}else if(t>e)for(I=r-e;I>s;I--)o=I+t-1,(i=I+e-1)in n?n[o]=n[i]:delete n[o];for(I=0;I<t;I++)n[I+s]=arguments[I+2];return n.length=r-e+t,C}});var VC=cg("Array").splice,YC=Array.prototype,WC=function(g){var A=g.splice;return g===YC||g instanceof Array&&A===YC.splice?VC:A},QC=$.includes;Y({target:"Array",proto:!0},{includes:function(g){return QC(this,g,arguments.length>1?arguments[1]:void 0)}});var UC=cg("Array").includes,_C=vA("match"),HC=function(g){if(function(g){var A;return p(g)&&(void 0!==(A=g[_C])?!!A:"RegExp"==d(g))}(g))throw TypeError("The method doesn't accept regular expressions");return g},KC=vA("match");Y({target:"String",proto:!0,forced:!function(g){var A=/./;try{"/./"[g](A)}catch(t){try{return A[KC]=!1,"/./"[g](A)}catch(g){}}return!1}("includes")},{includes:function(g){return!!~String(c(this)).indexOf(HC(g),arguments.length>1?arguments[1]:void 0)}});var XC=cg("String").includes,JC=Array.prototype,qC=String.prototype,$C=function(g){var A=g.includes;return g===JC||g instanceof Array&&A===JC.includes?UC:"string"==typeof g||g===qC||g instanceof String&&A===qC.includes?XC:A},gI=I((function(){tA(1)}));Y({target:"Object",stat:!0,forced:gI,sham:!$g},{getPrototypeOf:function(g){return tA(ig(g))}});var AI=B.Object.getPrototypeOf,tI=AI,eI=Vt.filter,CI=Se("filter");Y({target:"Array",proto:!0,forced:!CI},{filter:function(g){return eI(this,g,arguments.length>1?arguments[1]:void 0)}});var II=cg("Array").filter,iI=Array.prototype,oI=function(g){var A=g.filter;return g===iI||g instanceof Array&&A===iI.filter?II:A},nI=r.f,rI=function(g){return function(A){for(var t,e=u(A),C=Cg(e),I=C.length,o=0,n=[];I>o;)t=C[o++],i&&!nI.call(e,t)||n.push(g?[t,e[t]]:e[t]);return n}},sI={entries:rI(!0),values:rI(!1)}.values;Y({target:"Object",stat:!0},{values:function(g){return sI(g)}}),B.Object.values;var aI="\t\n\v\f\r                 \u2028\u2029\ufeff",dI="["+aI+"]",hI=RegExp("^"+dI+dI+"*"),lI=RegExp(dI+dI+"*$"),cI=function(g){return function(A){var t=String(c(A));return 1&g&&(t=t.replace(hI,"")),2&g&&(t=t.replace(lI,"")),t}},uI={start:cI(1),end:cI(2),trim:cI(3)},pI=uI.trim,fI=C.parseInt,vI=/^[+-]?0[Xx]/,yI=8!==fI(aI+"08")||22!==fI(aI+"0x16")?function(g,A){var t=pI(String(g));return fI(t,A>>>0||(vI.test(t)?16:10))}:fI;Y({global:!0,forced:parseInt!=yI},{parseInt:yI});var mI=B.parseInt,bI=$.indexOf,wI=[].indexOf,kI=!!wI&&1/[1].indexOf(1,-0)<0,xI=xC("indexOf");Y({target:"Array",proto:!0,forced:kI||!xI},{indexOf:function(g){return kI?wI.apply(this,arguments)||0:bI(this,g,arguments.length>1?arguments[1]:void 0)}});var EI,OI=cg("Array").indexOf,TI=Array.prototype,DI=function(g){var A=g.indexOf;return g===TI||g instanceof Array&&A===TI.indexOf?OI:A},NI=uI.trim;Y({target:"String",proto:!0,forced:(EI="trim",I((function(){return!!aI[EI]()||"​…᠎"!="​…᠎"[EI]()||aI[EI].name!==EI})))},{trim:function(){return NI(this)}}),cg("String").trim,Y({target:"Object",stat:!0,sham:!i},{create:RA});var RI=B.Object,PI=function(g,A){return RI.create(g,A)},MI=PI,BI=IA("JSON","stringify"),zI=/[\uD800-\uDFFF]/g,ZI=/^[\uD800-\uDBFF]$/,SI=/^[\uDC00-\uDFFF]$/,FI=function(g,A,t){var e=t.charAt(A-1),C=t.charAt(A+1);return ZI.test(g)&&!SI.test(C)||SI.test(g)&&!ZI.test(e)?"\\u"+g.charCodeAt(0).toString(16):g},GI=I((function(){return'"\\udf06\\ud834"'!==BI("\udf06\ud834")||'"\\udead"'!==BI("\udead")}));BI&&Y({target:"JSON",stat:!0,forced:GI},{stringify:function(g,A,t){var e=BI.apply(null,arguments);return"string"==typeof e?e.replace(zI,FI):e}}),B.JSON||(B.JSON={stringify:JSON.stringify});var LI=function(g,A,t){return B.JSON.stringify.apply(null,arguments)},jI=[].slice,VI=/MSIE .\./.test(iA),YI=function(g){return function(A,t){var e=arguments.length>2,C=e?jI.call(arguments,2):void 0;return g(e?function(){("function"==typeof A?A:Function(A)).apply(this,C)}:A,t)}};Y({global:!0,bind:!0,forced:VI},{setTimeout:YI(C.setTimeout),setInterval:YI(C.setInterval)});var WI=B.setTimeout;Y({target:"Array",proto:!0},{fill:function(g){for(var A=ig(this),t=H(A.length),e=arguments.length,C=J(e>1?arguments[1]:void 0,t),I=e>2?arguments[2]:void 0,i=void 0===I?t:J(I,t);i>C;)A[C++]=g;return A}});var QI=cg("Array").fill,UI=Array.prototype,_I=function(g){var A=g.fill;return g===UI||g instanceof Array&&A===UI.fill?QI:A};
 /*! 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 HI(){return(HI=Object.assign||function(g){for(var A=1;A<arguments.length;A++){var t=arguments[A];for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&(g[e]=t[e])}return g}).apply(this,arguments)}function KI(g,A){g.prototype=Object.create(A.prototype),g.prototype.constructor=g,g.__proto__=A}function XI(g){if(void 0===g)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return g}var JI,qI="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 e=arguments[t];if(null!=e)for(var C in e)e.hasOwnProperty(C)&&(A[C]=e[C])}return A}:Object.assign,$I=["","webkit","Moz","MS","ms","o"],gi="undefined"==typeof document?{style:{}}:document.createElement("div"),Ai=Math.round,ti=Math.abs,ei=Date.now;function Ci(g,A){for(var t,e,C=A[0].toUpperCase()+A.slice(1),I=0;I<$I.length;){if((e=(t=$I[I])?t+C:A)in g)return e;I++}}JI="undefined"==typeof window?{}:window;var Ii=Ci(gi.style,"touchAction"),ii=void 0!==Ii;var oi="compute",ni="auto",ri="manipulation",si="none",ai="pan-x",di="pan-y",hi=function(){if(!ii)return!1;var g={},A=JI.CSS&&JI.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach((function(t){return g[t]=!A||JI.CSS.supports("touch-action",t)})),g}(),li="ontouchstart"in JI,ci=void 0!==Ci(JI,"PointerEvent"),ui=li&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),pi="touch",fi="mouse",vi=16,yi=24,mi=["x","y"],bi=["clientX","clientY"];function wi(g,A,t){var e;if(g)if(g.forEach)g.forEach(A,t);else if(void 0!==g.length)for(e=0;e<g.length;)A.call(t,g[e],e,g),e++;else for(e in g)g.hasOwnProperty(e)&&A.call(t,g[e],e,g)}function ki(g,A){return"function"==typeof g?g.apply(A&&A[0]||void 0,A):g}function xi(g,A){return g.indexOf(A)>-1}var Ei=function(){function g(g,A){this.manager=g,this.set(A)}var A=g.prototype;return A.set=function(g){g===oi&&(g=this.compute()),ii&&this.manager.element.style&&hi[g]&&(this.manager.element.style[Ii]=g),this.actions=g.toLowerCase().trim()},A.update=function(){this.set(this.manager.options.touchAction)},A.compute=function(){var g=[];return wi(this.manager.recognizers,(function(A){ki(A.options.enable,[A])&&(g=g.concat(A.getTouchAction()))})),function(g){if(xi(g,si))return si;var A=xi(g,ai),t=xi(g,di);return A&&t?si:A||t?A?ai:di:xi(g,ri)?ri:ni}(g.join(" "))},A.preventDefaults=function(g){var A=g.srcEvent,t=g.offsetDirection;if(this.manager.session.prevented)A.preventDefault();else{var e=this.actions,C=xi(e,si)&&!hi.none,I=xi(e,di)&&!hi["pan-y"],i=xi(e,ai)&&!hi["pan-x"];if(C){var o=1===g.pointers.length,n=g.distance<2,r=g.deltaTime<250;if(o&&n&&r)return}if(!i||!I)return C||I&&6&t||i&&t&yi?this.preventSrc(A):void 0}},A.preventSrc=function(g){this.manager.session.prevented=!0,g.preventDefault()},g}();function Oi(g,A){for(;g;){if(g===A)return!0;g=g.parentNode}return!1}function Ti(g){var A=g.length;if(1===A)return{x:Ai(g[0].clientX),y:Ai(g[0].clientY)};for(var t=0,e=0,C=0;C<A;)t+=g[C].clientX,e+=g[C].clientY,C++;return{x:Ai(t/A),y:Ai(e/A)}}function Di(g){for(var A=[],t=0;t<g.pointers.length;)A[t]={clientX:Ai(g.pointers[t].clientX),clientY:Ai(g.pointers[t].clientY)},t++;return{timeStamp:ei(),pointers:A,center:Ti(A),deltaX:g.deltaX,deltaY:g.deltaY}}function Ni(g,A,t){t||(t=mi);var e=A[t[0]]-g[t[0]],C=A[t[1]]-g[t[1]];return Math.sqrt(e*e+C*C)}function Ri(g,A,t){t||(t=mi);var e=A[t[0]]-g[t[0]],C=A[t[1]]-g[t[1]];return 180*Math.atan2(C,e)/Math.PI}function Pi(g,A){return g===A?1:ti(g)>=ti(A)?g<0?2:4:A<0?8:vi}function Mi(g,A,t){return{x:A/g||0,y:t/g||0}}function Bi(g,A){var t=g.session,e=A.pointers,C=e.length;t.firstInput||(t.firstInput=Di(A)),C>1&&!t.firstMultiple?t.firstMultiple=Di(A):1===C&&(t.firstMultiple=!1);var I=t.firstInput,i=t.firstMultiple,o=i?i.center:I.center,n=A.center=Ti(e);A.timeStamp=ei(),A.deltaTime=A.timeStamp-I.timeStamp,A.angle=Ri(o,n),A.distance=Ni(o,n),function(g,A){var t=A.center,e=g.offsetDelta||{},C=g.prevDelta||{},I=g.prevInput||{};1!==A.eventType&&4!==I.eventType||(C=g.prevDelta={x:I.deltaX||0,y:I.deltaY||0},e=g.offsetDelta={x:t.x,y:t.y}),A.deltaX=C.x+(t.x-e.x),A.deltaY=C.y+(t.y-e.y)}(t,A),A.offsetDirection=Pi(A.deltaX,A.deltaY);var r,s,a=Mi(A.deltaTime,A.deltaX,A.deltaY);A.overallVelocityX=a.x,A.overallVelocityY=a.y,A.overallVelocity=ti(a.x)>ti(a.y)?a.x:a.y,A.scale=i?(r=i.pointers,Ni((s=e)[0],s[1],bi)/Ni(r[0],r[1],bi)):1,A.rotation=i?function(g,A){return Ri(A[1],A[0],bi)+Ri(g[1],g[0],bi)}(i.pointers,e):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,e,C,I,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=Mi(o,n,r);e=s.x,C=s.y,t=ti(s.x)>ti(s.y)?s.x:s.y,I=Pi(n,r),g.lastInterval=A}else t=i.velocity,e=i.velocityX,C=i.velocityY,I=i.direction;A.velocity=t,A.velocityX=e,A.velocityY=C,A.direction=I}(t,A);var d,h=g.element,l=A.srcEvent;Oi(d=l.composedPath?l.composedPath()[0]:l.path?l.path[0]:l.target,h)&&(h=d),A.target=h}function zi(g,A,t){var e=t.pointers.length,C=t.changedPointers.length,I=1&A&&e-C==0,i=12&A&&e-C==0;t.isFirst=!!I,t.isFinal=!!i,I&&(g.session={}),t.eventType=A,Bi(g,t),g.emit("hammer.input",t),g.recognize(t),g.session.prevInput=t}function Zi(g){return g.trim().split(/\s+/g)}function Si(g,A,t){wi(Zi(A),(function(A){g.addEventListener(A,t,!1)}))}function Fi(g,A,t){wi(Zi(A),(function(A){g.removeEventListener(A,t,!1)}))}function Gi(g){var A=g.ownerDocument||g;return A.defaultView||A.parentWindow||window}var Li=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){ki(g.options.enable,[g])&&t.handler(A)},this.init()}var A=g.prototype;return A.handler=function(){},A.init=function(){this.evEl&&Si(this.element,this.evEl,this.domHandler),this.evTarget&&Si(this.target,this.evTarget,this.domHandler),this.evWin&&Si(Gi(this.element),this.evWin,this.domHandler)},A.destroy=function(){this.evEl&&Fi(this.element,this.evEl,this.domHandler),this.evTarget&&Fi(this.target,this.evTarget,this.domHandler),this.evWin&&Fi(Gi(this.element),this.evWin,this.domHandler)},g}();function ji(g,A,t){if(g.indexOf&&!t)return g.indexOf(A);for(var e=0;e<g.length;){if(t&&g[e][t]==A||!t&&g[e]===A)return e;e++}return-1}var Vi={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},Yi={2:pi,3:"pen",4:fi,5:"kinect"},Wi="pointerdown",Qi="pointermove pointerup pointercancel";JI.MSPointerEvent&&!JI.PointerEvent&&(Wi="MSPointerDown",Qi="MSPointerMove MSPointerUp MSPointerCancel");var Ui=function(g){function A(){var t,e=A.prototype;return e.evEl=Wi,e.evWin=Qi,(t=g.apply(this,arguments)||this).store=t.manager.session.pointerEvents=[],t}return KI(A,g),A.prototype.handler=function(g){var A=this.store,t=!1,e=g.type.toLowerCase().replace("ms",""),C=Vi[e],I=Yi[g.pointerType]||g.pointerType,i=I===pi,o=ji(A,g.pointerId,"pointerId");1&C&&(0===g.button||i)?o<0&&(A.push(g),o=A.length-1):12&C&&(t=!0),o<0||(A[o]=g,this.callback(this.manager,C,{pointers:A,changedPointers:[g],pointerType:I,srcEvent:g}),t&&A.splice(o,1))},A}(Li);function _i(g){return Array.prototype.slice.call(g,0)}function Hi(g,A,t){for(var e=[],C=[],I=0;I<g.length;){var i=A?g[I][A]:g[I];ji(C,i)<0&&e.push(g[I]),C[I]=i,I++}return t&&(e=A?e.sort((function(g,t){return g[A]>t[A]})):e.sort()),e}var Ki={touchstart:1,touchmove:2,touchend:4,touchcancel:8},Xi="touchstart touchmove touchend touchcancel",Ji=function(g){function A(){var t;return A.prototype.evTarget=Xi,(t=g.apply(this,arguments)||this).targetIds={},t}return KI(A,g),A.prototype.handler=function(g){var A=Ki[g.type],t=qi.call(this,g,A);t&&this.callback(this.manager,A,{pointers:t[0],changedPointers:t[1],pointerType:pi,srcEvent:g})},A}(Li);function qi(g,A){var t,e,C=_i(g.touches),I=this.targetIds;if(3&A&&1===C.length)return I[C[0].identifier]=!0,[C,C];var i=_i(g.changedTouches),o=[],n=this.target;if(e=C.filter((function(g){return Oi(g.target,n)})),1===A)for(t=0;t<e.length;)I[e[t].identifier]=!0,t++;for(t=0;t<i.length;)I[i[t].identifier]&&o.push(i[t]),12&A&&delete I[i[t].identifier],t++;return o.length?[Hi(e.concat(o),"identifier",!0),o]:void 0}var $i={mousedown:1,mousemove:2,mouseup:4},go="mousedown",Ao="mousemove mouseup",to=function(g){function A(){var t,e=A.prototype;return e.evEl=go,e.evWin=Ao,(t=g.apply(this,arguments)||this).pressed=!1,t}return KI(A,g),A.prototype.handler=function(g){var A=$i[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:fi,srcEvent:g}))},A}(Li);function eo(g){var A=g.changedPointers[0];if(A.identifier===this.primaryTouch){var t={x:A.clientX,y:A.clientY},e=this.lastTouches;this.lastTouches.push(t);setTimeout((function(){var g=e.indexOf(t);g>-1&&e.splice(g,1)}),2500)}}function Co(g,A){1&g?(this.primaryTouch=A.changedPointers[0].identifier,eo.call(this,A)):12&g&&eo.call(this,A)}function Io(g){for(var A=g.srcEvent.clientX,t=g.srcEvent.clientY,e=0;e<this.lastTouches.length;e++){var C=this.lastTouches[e],I=Math.abs(A-C.x),i=Math.abs(t-C.y);if(I<=25&&i<=25)return!0}return!1}var io=function(){return function(g){function A(A,t){var e;return(e=g.call(this,A,t)||this).handler=function(g,A,t){var C=t.pointerType===pi,I=t.pointerType===fi;if(!(I&&t.sourceCapabilities&&t.sourceCapabilities.firesTouchEvents)){if(C)Co.call(XI(XI(e)),A,t);else if(I&&Io.call(XI(XI(e)),t))return;e.callback(g,A,t)}},e.touch=new Ji(e.manager,e.handler),e.mouse=new to(e.manager,e.handler),e.primaryTouch=null,e.lastTouches=[],e}return KI(A,g),A.prototype.destroy=function(){this.touch.destroy(),this.mouse.destroy()},A}(Li)}();function oo(g,A,t){return!!Array.isArray(g)&&(wi(g,t[A],t),!0)}var no=32,ro=1;function so(g,A){var t=A.manager;return t?t.get(g):g}function ao(g){return 16&g?"cancel":8&g?"end":4&g?"move":2&g?"start":""}var ho=function(){function g(g){void 0===g&&(g={}),this.options=HI({enable:!0},g),this.id=ro++,this.manager=null,this.state=1,this.simultaneous={},this.requireFail=[]}var A=g.prototype;return A.set=function(g){return qI(this.options,g),this.manager&&this.manager.touchAction.update(),this},A.recognizeWith=function(g){if(oo(g,"recognizeWith",this))return this;var A=this.simultaneous;return A[(g=so(g,this)).id]||(A[g.id]=g,g.recognizeWith(this)),this},A.dropRecognizeWith=function(g){return oo(g,"dropRecognizeWith",this)||(g=so(g,this),delete this.simultaneous[g.id]),this},A.requireFailure=function(g){if(oo(g,"requireFailure",this))return this;var A=this.requireFail;return-1===ji(A,g=so(g,this))&&(A.push(g),g.requireFailure(this)),this},A.dropRequireFailure=function(g){if(oo(g,"dropRequireFailure",this))return this;g=so(g,this);var A=ji(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 e(t){A.manager.emit(t,g)}t<8&&e(A.options.event+ao(t)),e(A.options.event),g.additionalEvent&&e(g.additionalEvent),t>=8&&e(A.options.event+ao(t))},A.tryEmit=function(g){if(this.canEmit())return this.emit(g);this.state=no},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=qI({},g);if(!ki(this.options.enable,[this,A]))return this.reset(),void(this.state=no);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}(),lo=function(g){function A(A){var t;return void 0===A&&(A={}),(t=g.call(this,HI({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}KI(A,g);var t=A.prototype;return t.getTouchAction=function(){return[ri]},t.process=function(g){var A=this,t=this.options,e=g.pointers.length===t.pointers,C=g.distance<t.threshold,I=g.deltaTime<t.time;if(this.reset(),1&g.eventType&&0===this.count)return this.failTimeout();if(C&&I&&e){if(4!==g.eventType)return this.failTimeout();var i=!this.pTime||g.timeStamp-this.pTime<t.interval,o=!this.pCenter||Ni(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 no},t.failTimeout=function(){var g=this;return this._timer=setTimeout((function(){g.state=no}),this.options.interval),no},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}(ho),co=function(g){function A(A){return void 0===A&&(A={}),g.call(this,HI({pointers:1},A))||this}KI(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,e=6&A,C=this.attrTest(g);return e&&(8&t||!C)?16|A:e||C?4&t?8|A:2&A?4|A:2:no},A}(ho);function uo(g){return g===vi?"down":8===g?"up":2===g?"left":4===g?"right":""}var po=function(g){function A(A){var t;return void 0===A&&(A={}),(t=g.call(this,HI({event:"pan",threshold:10,pointers:1,direction:30},A))||this).pX=null,t.pY=null,t}KI(A,g);var t=A.prototype;return t.getTouchAction=function(){var g=this.options.direction,A=[];return 6&g&&A.push(di),g&yi&&A.push(ai),A},t.directionTest=function(g){var A=this.options,t=!0,e=g.distance,C=g.direction,I=g.deltaX,i=g.deltaY;return C&A.direction||(6&A.direction?(C=0===I?1:I<0?2:4,t=I!==this.pX,e=Math.abs(g.deltaX)):(C=0===i?1:i<0?8:vi,t=i!==this.pY,e=Math.abs(g.deltaY))),g.direction=C,t&&e>A.threshold&&C&A.direction},t.attrTest=function(g){return co.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=uo(A.direction);t&&(A.additionalEvent=this.options.event+t),g.prototype.emit.call(this,A)},A}(co),fo=function(g){function A(A){return void 0===A&&(A={}),g.call(this,HI({event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},A))||this}KI(A,g);var t=A.prototype;return t.getTouchAction=function(){return po.prototype.getTouchAction.call(this)},t.attrTest=function(A){var t,e=this.options.direction;return 30&e?t=A.overallVelocity:6&e?t=A.overallVelocityX:e&yi&&(t=A.overallVelocityY),g.prototype.attrTest.call(this,A)&&e&A.offsetDirection&&A.distance>this.options.threshold&&A.maxPointers===this.options.pointers&&ti(t)>this.options.velocity&&4&A.eventType},t.emit=function(g){var A=uo(g.offsetDirection);A&&this.manager.emit(this.options.event+A,g),this.manager.emit(this.options.event,g)},A}(co),vo=function(g){function A(A){return void 0===A&&(A={}),g.call(this,HI({event:"pinch",threshold:0,pointers:2},A))||this}KI(A,g);var t=A.prototype;return t.getTouchAction=function(){return[si]},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}(co),yo=function(g){function A(A){return void 0===A&&(A={}),g.call(this,HI({event:"rotate",threshold:0,pointers:2},A))||this}KI(A,g);var t=A.prototype;return t.getTouchAction=function(){return[si]},t.attrTest=function(A){return g.prototype.attrTest.call(this,A)&&(Math.abs(A.rotation)>this.options.threshold||2&this.state)},A}(co),mo=function(g){function A(A){var t;return void 0===A&&(A={}),(t=g.call(this,HI({event:"press",pointers:1,time:251,threshold:9},A))||this)._timer=null,t._input=null,t}KI(A,g);var t=A.prototype;return t.getTouchAction=function(){return[ni]},t.process=function(g){var A=this,t=this.options,e=g.pointers.length===t.pointers,C=g.distance<t.threshold,I=g.deltaTime>t.time;if(this._input=g,!C||!e||12&g.eventType&&!I)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 no},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=ei(),this.manager.emit(this.options.event,this._input)))},A}(ho),bo={domEvents:!1,touchAction:oi,enable:!0,inputTarget:null,inputClass:null,cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},wo=[[yo,{enable:!1}],[vo,{enable:!1},["rotate"]],[fo,{direction:6}],[po,{direction:6},["swipe"]],[lo],[lo,{event:"doubletap",taps:2},["tap"]],[mo]];function ko(g,A){var t,e=g.element;e.style&&(wi(g.options.cssProps,(function(C,I){t=Ci(e.style,I),A?(g.oldCssProps[t]=e.style[t],e.style[t]=C):e.style[t]=g.oldCssProps[t]||""})),A||(g.oldCssProps={}))}var xo=function(){function g(g,A){var t,e=this;this.options=qI({},bo,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||(ci?Ui:ui?Ji:li?io:to))(t,zi),this.touchAction=new Ei(this,this.options.touchAction),ko(this,!0),wi(this.options.recognizers,(function(g){var A=e.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 qI(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 e=this.recognizers,C=A.curRecognizer;(!C||C&&8&C.state)&&(A.curRecognizer=null,C=null);for(var I=0;I<e.length;)t=e[I],2===A.stopped||C&&t!==C&&!t.canRecognizeWith(C)?t.reset():t.recognize(g),!C&&14&t.state&&(A.curRecognizer=t,C=t),I++}},A.get=function(g){if(g instanceof ho)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(oo(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(oo(g,"remove",this))return this;var A=this.get(g);if(g){var t=this.recognizers,e=ji(t,A);-1!==e&&(t.splice(e,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 wi(Zi(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 wi(Zi(g),(function(g){A?t[g]&&t[g].splice(ji(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 e=0;e<t.length;)t[e](A),e++}},A.destroy=function(){this.element&&ko(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null},g}(),Eo={touchstart:1,touchmove:2,touchend:4,touchcancel:8},Oo="touchstart",To="touchstart touchmove touchend touchcancel",Do=function(g){function A(){var t,e=A.prototype;return e.evTarget=Oo,e.evWin=To,(t=g.apply(this,arguments)||this).started=!1,t}return KI(A,g),A.prototype.handler=function(g){var A=Eo[g.type];if(1===A&&(this.started=!0),this.started){var t=No.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:pi,srcEvent:g})}},A}(Li);function No(g,A){var t=_i(g.touches),e=_i(g.changedTouches);return 12&A&&(t=Hi(t.concat(e),"identifier",!0)),[t,e]}function Ro(g,A,t){var e="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",C=window.console&&(window.console.warn||window.console.log);return C&&C.call(window.console,e,t),g.apply(this,arguments)}}var Po=Ro((function(g,A,t){for(var e=Object.keys(A),C=0;C<e.length;)(!t||t&&void 0===g[e[C]])&&(g[e[C]]=A[e[C]]),C++;return g}),"extend","Use `assign`."),Mo=Ro((function(g,A){return Po(g,A,!0)}),"merge","Use `assign`.");function Bo(g,A,t){var e,C=A.prototype;(e=g.prototype=Object.create(C)).constructor=g,e._super=C,t&&qI(e,t)}function zo(g,A){return function(){return g.apply(A,arguments)}}var Zo=function(){var g=function(g,A){return void 0===A&&(A={}),new xo(g,HI({recognizers:wo.concat()},A))};return g.VERSION="2.0.17-rc",g.DIRECTION_ALL=30,g.DIRECTION_DOWN=vi,g.DIRECTION_LEFT=2,g.DIRECTION_RIGHT=4,g.DIRECTION_UP=8,g.DIRECTION_HORIZONTAL=6,g.DIRECTION_VERTICAL=yi,g.DIRECTION_NONE=1,g.DIRECTION_DOWN=vi,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=no,g.Manager=xo,g.Input=Li,g.TouchAction=Ei,g.TouchInput=Ji,g.MouseInput=to,g.PointerEventInput=Ui,g.TouchMouseInput=io,g.SingleTouchInput=Do,g.Recognizer=ho,g.AttrRecognizer=co,g.Tap=lo,g.Pan=po,g.Swipe=fo,g.Pinch=vo,g.Rotate=yo,g.Press=mo,g.on=Si,g.off=Fi,g.each=wi,g.merge=Mo,g.extend=Po,g.bindFn=zo,g.assign=qI,g.inherit=Bo,g.bindFn=zo,g.prefixed=Ci,g.toArray=_i,g.inArray=ji,g.uniqueArray=Hi,g.splitStr=Zi,g.boolOrFn=ki,g.hasParent=Oi,g.addEventListeners=Si,g.removeEventListeners=Fi,g.defaults=qI({},bo,{preset:wo}),g}();function So(g,A){var t;if(void 0===sC||null==Et(g)){if(uC(g)||(t=function(g,A){var t;if(!g)return;if("string"==typeof g)return Fo(g,A);var e=lC(t=Object.prototype.toString.call(g)).call(t,8,-1);"Object"===e&&g.constructor&&(e=g.constructor.name);if("Map"===e||"Set"===e)return ft(g);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return Fo(g,A)}(g))||A&&g&&"number"==typeof g.length){t&&(g=t);var e=0,C=function(){};return{s:C,n:function(){return e>=g.length?{done:!0}:{done:!1,value:g[e++]}},e:function(g){throw g},f:C}}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 I,i=!0,o=!1;return{s:function(){t=Ot(g)},n:function(){var g=t.next();return i=g.done,g},e:function(g){o=!0,I=g},f:function(){try{i||null==t.return||t.return()}finally{if(o)throw I}}}}function Fo(g,A){(null==A||A>g.length)&&(A=g.length);for(var t=0,e=new Array(A);t<A;t++)e[t]=g[t];return e}var Go=sC("DELETE");function Lo(){var g=jo.apply(void 0,arguments);return Yo(g),g}function jo(){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 e;if(A.length>2)return jo.apply(void 0,hC(e=[Lo(A[0],A[1])]).call(e,rC(lC(A).call(A,2))));var C,I=A[0],i=A[1],o=So(cC(i));try{for(o.s();!(C=o.n()).done;){var n=C.value;Object.prototype.propertyIsEnumerable.call(i,n)&&(i[n]===Go?delete I[n]:null===I[n]||null===i[n]||"object"!==nC(I[n])||"object"!==nC(i[n])||uC(I[n])||uC(i[n])?I[n]=Vo(i[n]):I[n]=jo(I[n],i[n]))}}catch(g){o.e(g)}finally{o.f()}return I}function Vo(g){return uC(g)?mC(g).call(g,(function(g){return Vo(g)})):"object"===nC(g)&&null!==g?jo({},g):g}function Yo(g){for(var A=0,t=wC(g);A<t.length;A++){var e=t[A];g[e]===Go?delete g[e]:"object"===nC(g[e])&&null!==g[e]&&Yo(g[e])}}function Wo(){for(var g=arguments.length,A=new Array(g),t=0;t<g;t++)A[t]=arguments[t];return Qo(A.length?A:[kC()])}function Qo(g){var A=IC(function(){for(var g=Uo(),A=g(" "),t=g(" "),e=g(" "),C=0;C<arguments.length;C++)(A-=g(C<0||arguments.length<=C?void 0:arguments[C]))<0&&(A+=1),(t-=g(C<0||arguments.length<=C?void 0:arguments[C]))<0&&(t+=1),(e-=g(C<0||arguments.length<=C?void 0:arguments[C]))<0&&(e+=1);return[A,t,e]}(g),3),t=A[0],e=A[1],C=A[2],I=1,i=function(){var g=2091639*t+2.3283064365386963e-10*I;return t=e,e=C,C=g-(I=0|g)};return i.uint32=function(){return 4294967296*i()},i.fract53=function(){return i()+11102230246251565e-32*(2097152*i()|0)},i.algorithm="Alea",i.seed=g,i.version="0.9",i}function Uo(){var g=4022871197;return function(A){for(var t=A.toString(),e=0;e<t.length;e++){var C=.02519603282416938*(g+=t.charCodeAt(e));C-=g=C>>>0,g=(C*=g)>>>0,g+=4294967296*(C-=g)}return 2.3283064365386963e-10*(g>>>0)}}var _o="undefined"!=typeof window?window.Hammer||Zo:function(){return{on:g=function(){},off:g,destroy:g,emit:g,get:function(){return{set:g}}};var g};function Ho(g){var A,t=this;this._cleanupQueue=[],this.active=!1,this._dom={container:g,overlay:document.createElement("div")},this._dom.overlay.classList.add("vis-overlay"),this._dom.container.appendChild(this._dom.overlay),this._cleanupQueue.push((function(){t._dom.overlay.parentNode.removeChild(t._dom.overlay)}));var e=_o(this._dom.overlay);e.on("tap",fg(A=this._onTapOverlay).call(A,this)),this._cleanupQueue.push((function(){e.destroy()}));var C=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];RC(C).call(C,(function(g){e.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)||t.deactivate()},document.body.addEventListener("click",this._onClick),this._cleanupQueue.push((function(){document.body.removeEventListener("click",t._onClick)}))),this._escListener=function(g){("key"in g?"Escape"===g.key:27===g.keyCode)&&t.deactivate()}}Eg(Ho.prototype),Ho.current=null,Ho.prototype.destroy=function(){var g,A;this.deactivate();var t,e=So(ZC(g=WC(A=this._cleanupQueue).call(A,0)).call(g));try{for(e.s();!(t=e.n()).done;){(0,t.value)()}}catch(g){e.e(g)}finally{e.f()}},Ho.prototype.activate=function(){Ho.current&&Ho.current.deactivate(),Ho.current=this,this.active=!0,this._dom.overlay.style.display="none",this._dom.container.classList.add("vis-active"),this.emit("change"),this.emit("activate"),document.body.addEventListener("keydown",this._escListener)},Ho.prototype.deactivate=function(){this.active=!1,this._dom.overlay.style.display="block",this._dom.container.classList.remove("vis-active"),document.body.removeEventListener("keydown",this._escListener),this.emit("change"),this.emit("deactivate")},Ho.prototype._onTapOverlay=function(g){this.activate(),g.srcEvent.stopPropagation()};var Ko=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,Xo=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,Jo=/^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,qo=/^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 $o(g){if(g)for(;!0===g.hasChildNodes();){var A=g.firstChild;A&&($o(A),g.removeChild(A))}}function gn(g){return g instanceof String||"string"==typeof g}function An(g){return"object"===nC(g)&&null!==g}function tn(g,A,t,e){var C=!1;!0===e&&(C=null===A[t]&&void 0!==g[t]),C?delete g[t]:g[t]=A[t]}function en(g,A){var t=arguments.length>2&&void 0!==arguments[2]&&arguments[2];for(var e in g)if(void 0!==A[e])if(null===A[e]||"object"!==nC(A[e]))tn(g,A,e,t);else{var C=g[e],I=A[e];An(C)&&An(I)&&en(C,I,t)}}function Cn(g,A,t){var e=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(uC(t))throw new TypeError("Arrays are not supported by deepExtend");for(var C=0;C<g.length;C++){var I=g[C];if(Object.prototype.hasOwnProperty.call(t,I))if(t[I]&&t[I].constructor===Object)void 0===A[I]&&(A[I]={}),A[I].constructor===Object?on(A[I],t[I],!1,e):tn(A,t,I,e);else{if(uC(t[I]))throw new TypeError("Arrays are not supported by deepExtend");tn(A,t,I,e)}}return A}function In(g,A,t){var e=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(uC(t))throw new TypeError("Arrays are not supported by deepExtend");for(var C in t)if(Object.prototype.hasOwnProperty.call(t,C)&&!$C(g).call(g,C))if(t[C]&&t[C].constructor===Object)void 0===A[C]&&(A[C]={}),A[C].constructor===Object?on(A[C],t[C]):tn(A,t,C,e);else if(uC(t[C])){A[C]=[];for(var I=0;I<t[C].length;I++)A[C].push(t[C][I])}else tn(A,t,C,e);return A}function on(g,A){var t=arguments.length>2&&void 0!==arguments[2]&&arguments[2],e=arguments.length>3&&void 0!==arguments[3]&&arguments[3];for(var C in A)if(Object.prototype.hasOwnProperty.call(A,C)||!0===t)if("object"===nC(A[C])&&null!==A[C]&&tI(A[C])===Object.prototype)void 0===g[C]?g[C]=on({},A[C],t):"object"===nC(g[C])&&null!==g[C]&&tI(g[C])===Object.prototype?on(g[C],A[C],t):tn(g,A,C,e);else if(uC(A[C])){var I;g[C]=lC(I=A[C]).call(I)}else tn(g,A,C,e);return g}function nn(g,A){var t;return hC(t=[]).call(t,rC(g),[A])}function rn(g){return lC(g).call(g)}function sn(g){return g.getBoundingClientRect().top}function an(g,A){if(uC(g))for(var t=g.length,e=0;e<t;e++)A(g[e],e,g);else for(var C in g)Object.prototype.hasOwnProperty.call(g,C)&&A(g[C],C,g)}function dn(g){var A;switch(g.length){case 3:case 4:return(A=Xo.exec(g))?{r:mI(A[1]+A[1],16),g:mI(A[2]+A[2],16),b:mI(A[3]+A[3],16)}:null;case 6:case 7:return(A=Ko.exec(g))?{r:mI(A[1],16),g:mI(A[2],16),b:mI(A[3],16)}:null;default:return null}}function hn(g,A){if($C(g).call(g,"rgba"))return g;if($C(g).call(g,"rgb")){var t=g.substr(DI(g).call(g,"(")+1).replace(")","").split(",");return"rgba("+t[0]+","+t[1]+","+t[2]+","+A+")"}var e=dn(g);return null==e?g:"rgba("+e.r+","+e.g+","+e.b+","+A+")"}function ln(g,A,t){var e;return"#"+lC(e=((1<<24)+(g<<16)+(A<<8)+t).toString(16)).call(e,1)}function cn(g,A){if(gn(g)){var t=g;if(yn(t)){var e,C=mC(e=t.substr(4).substr(0,t.length-5).split(",")).call(e,(function(g){return mI(g)}));t=ln(C[0],C[1],C[2])}if(!0===vn(t)){var I=function(g){var A=dn(g);if(!A)throw new TypeError("'".concat(g,"' is not a valid color."));return un(A.r,A.g,A.b)}(t),i={h:I.h,s:.8*I.s,v:Math.min(1,1.02*I.v)},o={h:I.h,s:Math.min(1,1.25*I.s),v:.8*I.v},n=fn(o.h,o.s,o.v),r=fn(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:gn(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:gn(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:gn(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:gn(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 un(g,A,t){g/=255,A/=255,t/=255;var e=Math.min(g,Math.min(A,t)),C=Math.max(g,Math.max(A,t));return e===C?{h:0,s:0,v:e}:{h:60*((g===e?3:t===e?1:5)-(g===e?A-t:t===e?g-A:t-g)/(C-e))/360,s:(C-e)/C,v:C}}function pn(g,A,t){var e,C,I,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:e=t,C=s,I=n;break;case 1:e=r,C=t,I=n;break;case 2:e=n,C=t,I=s;break;case 3:e=n,C=r,I=t;break;case 4:e=s,C=n,I=t;break;case 5:e=t,C=n,I=r}return{r:Math.floor(255*e),g:Math.floor(255*C),b:Math.floor(255*I)}}function fn(g,A,t){var e=pn(g,A,t);return ln(e.r,e.g,e.b)}function vn(g){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(g)}function yn(g){return Jo.test(g)}function mn(g){return qo.test(g)}function bn(g){if(null===g||"object"!==nC(g))return null;if(g instanceof Element)return g;var A=MI(g);for(var t in g)Object.prototype.hasOwnProperty.call(g,t)&&"object"==nC(g[t])&&(A[t]=bn(g[t]));return A}function wn(g,A,t){var e=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},C=function(g){return null!=g},I=function(g){return null!==g&&"object"===nC(g)},i=function(g){for(var A in g)if(Object.prototype.hasOwnProperty.call(g,A))return!1;return!0};if(!I(g))throw new Error("Parameter mergeTarget must be an object");if(!I(A))throw new Error("Parameter options must be an object");if(!C(t))throw new Error("Parameter option must have a value");if(!I(e))throw new Error("Parameter globalOptions must be an object");var o=function(g,A,t){I(g[t])||(g[t]={});var e=A[t],C=g[t];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(C[i]=e[i])},n=A[t],r=I(e)&&!i(e),s=r?e[t]:void 0,a=s?s.enabled:void 0;if(void 0!==n){if("boolean"==typeof n)return I(g[t])||(g[t]={}),void(g[t].enabled=n);if(null===n&&!I(g[t])){if(!C(s))return;g[t]=MI(s)}if(I(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 kn={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 xn(g,A){var t;uC(A)||(A=[A]);var e,C=So(g);try{for(C.s();!(e=C.n()).done;){var I=e.value;if(I){t=I[A[0]];for(var i=1;i<A.length;i++)t&&(t=t[A[i]]);if(void 0!==t)break}}}catch(g){C.e(g)}finally{C.f()}return t}var En={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"},On=function(){function g(){var A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;De(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 Pe(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 En[g]}},{key:"setColor",value:function(g){var A=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("none"!==g){var t,e=this._isColorString(g);if(void 0!==e&&(g=e),!0===gn(g)){if(!0===yn(g)){var C=g.substr(4).substr(0,g.length-5).split(",");t={r:C[0],g:C[1],b:C[2],a:1}}else if(!0===mn(g)){var I=g.substr(5).substr(0,g.length-6).split(",");t={r:I[0],g:I[1],b:I[2],a:I[3]}}else if(!0===vn(g)){var i=dn(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: "+LI(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=sg({},this.color)),!0===this.applied&&this.updateCallback(this.initialColor),this.frame.style.display="none",WI((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=sg({},g)),this.color=g;var t=un(g.r,g.g,g.b),e=2*Math.PI,C=this.r*t.s,I=this.centerCoordinates.x+C*Math.sin(e*t.h),i=this.centerCoordinates.y+C*Math.cos(e*t.h);this.colorPickerSelector.style.left=I-.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=un(this.color.r,this.color.g,this.color.b);A.v=g/100;var t=pn(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=un(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 e=this.colorPickerCanvas.clientWidth,C=this.colorPickerCanvas.clientHeight;t.clearRect(0,0,e,C),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),_I(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,e;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 C=this.colorPickerCanvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(C.webkitBackingStorePixelRatio||C.mozBackingStorePixelRatio||C.msBackingStorePixelRatio||C.oBackingStorePixelRatio||C.backingStorePixelRatio||1),this.colorPickerCanvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var I=document.createElement("DIV");I.style.color="red",I.style.fontWeight="bold",I.style.padding="10px",I.innerText="Error: your browser does not support HTML canvas",this.colorPickerCanvas.appendChild(I)}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.innerText="brightness:",this.opacityLabel=document.createElement("div"),this.opacityLabel.className="vis-label vis-opacity",this.opacityLabel.innerText="opacity:",this.newColorDiv=document.createElement("div"),this.newColorDiv.className="vis-new-color",this.newColorDiv.innerText="new",this.initialColorDiv=document.createElement("div"),this.initialColorDiv.className="vis-initial-color",this.initialColorDiv.innerText="initial",this.cancelButton=document.createElement("div"),this.cancelButton.className="vis-button vis-cancel",this.cancelButton.innerText="cancel",this.cancelButton.onclick=fg(g=this._hide).call(g,this,!1),this.applyButton=document.createElement("div"),this.applyButton.className="vis-button vis-apply",this.applyButton.innerText="apply",this.applyButton.onclick=fg(A=this._apply).call(A,this),this.saveButton=document.createElement("div"),this.saveButton.className="vis-button vis-save",this.saveButton.innerText="save",this.saveButton.onclick=fg(t=this._save).call(t,this),this.loadButton=document.createElement("div"),this.loadButton.className="vis-button vis-load",this.loadButton.innerText="load last",this.loadButton.onclick=fg(e=this._loadLast).call(e,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 _o(this.colorPickerCanvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.on("hammer.input",(function(A){A.isFirst&&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,e,C,I=this.colorPickerCanvas.clientWidth,i=this.colorPickerCanvas.clientHeight;g.clearRect(0,0,I,i),this.centerCoordinates={x:.5*I,y:.5*i},this.r=.49*I;var o,n=2*Math.PI/360,r=1/this.r;for(e=0;e<360;e++)for(C=0;C<this.r;C++)A=this.centerCoordinates.x+C*Math.sin(n*e),t=this.centerCoordinates.y+C*Math.cos(n*e),o=pn(.002777777777777778*e,C*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,I,i)}this.generated=!0}},{key:"_moveSelector",value:function(g){var A=this.colorPickerDiv.getBoundingClientRect(),t=g.center.x-A.left,e=g.center.y-A.top,C=.5*this.colorPickerDiv.clientHeight,I=.5*this.colorPickerDiv.clientWidth,i=t-I,o=e-C,n=Math.atan2(i,o),r=.98*Math.min(Math.sqrt(i*i+o*o),I),s=Math.cos(n)*r+C,a=Math.sin(n)*r+I;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=un(this.color.r,this.color.g,this.color.b);l.h=d,l.s=h;var c=pn(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}();function Tn(){for(var g=arguments.length,A=new Array(g),t=0;t<g;t++)A[t]=arguments[t];if(A.length<1)throw new TypeError("Invalid arguments.");if(1===A.length)return document.createTextNode(A[0]);var e=document.createElement(A[0]);return e.appendChild(Tn.apply(void 0,rC(lC(A).call(A,1)))),e}var Dn,Nn=!1,Rn="background: #FFeeee; color: #dd0000",Pn=Ho,Mn=function(){function g(A,t,e){var C=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,I=arguments.length>4&&void 0!==arguments[4]?arguments[4]:function(){return!1};De(this,g),this.parent=A,this.changedOptions=[],this.container=t,this.allowCreation=!1,this.hideOption=I,this.options={},this.initialized=!1,this.popupCounter=0,this.defaultOptions={enabled:!1,filter:!0,container:void 0,showButton:!0},sg(this.options,this.defaultOptions),this.configureOptions=e,this.moduleOptions={},this.domElements=[],this.popupDiv={},this.popupLimit=5,this.popupHistory={},this.colorPicker=new On(C),this.wrapper=void 0}return Pe(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(uC(g))this.options.filter=g.join();else if("object"===nC(g)){if(null==g)throw new TypeError("options cannot be null");void 0!==g.container&&(this.options.container=g.container),void 0!==oI(g)&&(this.options.filter=oI(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===oI(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=oI(this.options),A=0,t=!1;for(var e in this.configureOptions)Object.prototype.hasOwnProperty.call(this.configureOptions,e)&&(this.allowCreation=!1,t=!1,"function"==typeof g?t=(t=g(e,[]))||this._handleObject(this.configureOptions[e],[e],!0):!0!==g&&-1===DI(g).call(g,e)||(t=!0),!1!==t&&(this.allowCreation=!0,A>0&&this._makeItem([]),this._makeHeader(e),this._handleObject(this.configureOptions[e],[e])),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,e=new Array(t>1?t-1:0),C=1;C<t;C++)e[C-1]=arguments[C];return RC(e).call(e,(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.innerText=g,this._makeItem([],A)}},{key:"_makeLabel",value:function(g,A){var t=arguments.length>2&&void 0!==arguments[2]&&arguments[2],e=document.createElement("div");if(e.className="vis-configuration vis-config-label vis-config-s"+A.length,!0===t){for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(Tn("i","b",g))}else e.innerText=g+":";return e}},{key:"_makeDropdown",value:function(g,A,t){var e=document.createElement("select");e.className="vis-configuration vis-config-select";var C=0;void 0!==A&&-1!==DI(g).call(g,A)&&(C=DI(g).call(g,A));for(var I=0;I<g.length;I++){var i=document.createElement("option");i.value=g[I],I===C&&(i.selected="selected"),i.innerText=g[I],e.appendChild(i)}var o=this;e.onchange=function(){o._update(this.value,t)};var n=this._makeLabel(t[t.length-1],t);this._makeItem(t,n,e)}},{key:"_makeRange",value:function(g,A,t){var e=g[0],C=g[1],I=g[2],i=g[3],o=document.createElement("input");o.className="vis-configuration vis-config-range";try{o.type="range",o.min=C,o.max=I}catch(g){}o.step=i;var n="",r=0;if(void 0!==A){var s=1.2;A<0&&A*s<C?(o.min=Math.ceil(A*s),r=o.min,n="range increased"):A/s<C&&(o.min=Math.ceil(A/s),r=o.min,n="range increased"),A*s>I&&1!==I&&(o.max=Math.ceil(A*s),r=o.max,n="range increased"),o.value=A}else o.value=e;var a=document.createElement("input");a.className="vis-configuration vis-config-rangeinput",a.value=o.value;var d=this;o.onchange=function(){a.value=this.value,d._update(Number(this.value),t)},o.oninput=function(){a.value=this.value};var h=this._makeLabel(t[t.length-1],t),l=this._makeItem(t,h,o,a);""!==n&&this.popupHistory[l]!==r&&(this.popupHistory[l]=r,this._setupPopup(n,l))}},{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.innerText="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 e=document.createElement("div");e.id="vis-configuration-popup",e.className="vis-configuration-popup",e.innerText=g,e.onclick=function(){t._removePopup()},this.popupCounter+=1,this.popupDiv={html:e,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=WI((function(){g.popupDiv.html.style.opacity=0}),1500),this.popupDiv.deleteTimeout=WI((function(){g._removePopup()}),1800)}}},{key:"_makeCheckbox",value:function(g,A,t){var e=document.createElement("input");e.type="checkbox",e.className="vis-configuration vis-config-checkbox",e.checked=g,void 0!==A&&(e.checked=A,A!==g&&("object"===nC(g)?A!==g.enabled&&this.changedOptions.push({path:t,value:A}):this.changedOptions.push({path:t,value:A})));var C=this;e.onchange=function(){C._update(this.checked,t)};var I=this._makeLabel(t[t.length-1],t);this._makeItem(t,I,e)}},{key:"_makeTextInput",value:function(g,A,t){var e=document.createElement("input");e.type="text",e.className="vis-configuration vis-config-text",e.value=A,A!==g&&this.changedOptions.push({path:t,value:A});var C=this;e.onchange=function(){C._update(this.value,t)};var I=this._makeLabel(t[t.length-1],t);this._makeItem(t,I,e)}},{key:"_makeColorField",value:function(g,A,t){var e=this,C=g[1],I=document.createElement("div");"none"!==(A=void 0===A?C:A)?(I.className="vis-configuration vis-config-colorBlock",I.style.backgroundColor=A):I.className="vis-configuration vis-config-colorBlock none",A=void 0===A?C:A,I.onclick=function(){e._showColorPicker(A,I,t)};var i=this._makeLabel(t[t.length-1],t);this._makeItem(t,i,I)}},{key:"_showColorPicker",value:function(g,A,t){var e=this;A.onclick=function(){},this.colorPicker.insertTo(A),this.colorPicker.show(),this.colorPicker.setColor(g),this.colorPicker.setUpdateCallback((function(g){var C="rgba("+g.r+","+g.g+","+g.b+","+g.a+")";A.style.backgroundColor=C,e._update(C,t)})),this.colorPicker.setCloseCallback((function(){A.onclick=function(){e._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],e=!1,C=oI(this.options),I=!1;for(var i in g)if(Object.prototype.hasOwnProperty.call(g,i)){e=!0;var o=g[i],n=nn(A,i);if("function"==typeof C&&!1===(e=C(i,A))&&!uC(o)&&"string"!=typeof o&&"boolean"!=typeof o&&o instanceof Object&&(this.allowCreation=!1,e=this._handleObject(o,n,!0),this.allowCreation=!1===t),!1!==e){I=!0;var r=this._getValue(n);if(uC(o))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){if(!this.hideOption(A,i,this.moduleOptions))if(void 0!==o.enabled){var s=nn(n,"enabled"),a=this._getValue(s);if(!0===a){var d=this._makeLabel(i,n,!0);this._makeItem(n,d),I=this._handleObject(o,n)||I}else this._makeCheckbox(o,a,n)}else{var h=this._makeLabel(i,n,!0);this._makeItem(n,h),I=this._handleObject(o,n)||I}}else console.error("dont know how to handle",o,i,n)}}return I}},{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]:{},e=t;g="false"!==(g="true"===g||g)&&g;for(var C=0;C<A.length;C++)"global"!==A[C]&&(void 0===e[A[C]]&&(e[A[C]]={}),C!==A.length-1?e=e[A[C]]:e[A[C]]=g);return t}},{key:"_printOptions",value:function(){for(var g=this.getOptions();this.optionsContainer.firstChild;)this.optionsContainer.removeChild(this.optionsContainer.firstChild);this.optionsContainer.appendChild(Tn("pre","const options = "+LI(g,null,2)))}},{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}(),Bn=_o,zn=function(){function g(A,t){De(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 Pe(g,[{key:"setPosition",value:function(g,A){this.x=mI(g),this.y=mI(A)}},{key:"setText",value:function(g){if(g instanceof Element){for(;this.frame.firstChild;)this.frame.removeChild(this.frame.firstChild);this.frame.appendChild(g)}else this.frame.innerText=g}},{key:"show",value:function(g){if(void 0===g&&(g=!0),!0===g){var A=this.frame.clientHeight,t=this.frame.clientWidth,e=this.frame.parentNode.clientHeight,C=this.frame.parentNode.clientWidth,I=0,i=0;if("flip"==this.overflowMethod){var o=!1,n=!0;this.y-A<this.padding&&(n=!1),this.x+t>C-this.padding&&(o=!0),I=o?this.x-t:this.x,i=n?this.y-A:this.y}else(i=this.y-A)+A+this.padding>e&&(i=e-A-this.padding),i<this.padding&&(i=this.padding),(I=this.x)+t+this.padding>C&&(I=C-t-this.padding),I<this.padding&&(I=this.padding);this.frame.style.left=I+"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}(),Zn=Rn,Sn=function(){function g(){De(this,g)}return Pe(g,null,[{key:"validate",value:function(A,t,e){Nn=!1,Dn=t;var C=t;return void 0!==e&&(C=t[e]),g.parse(A,C,[]),Nn}},{key:"parse",value:function(A,t,e){for(var C in A)Object.prototype.hasOwnProperty.call(A,C)&&g.check(C,A,t,e)}},{key:"check",value:function(A,t,e,C){if(void 0!==e[A]||void 0!==e.__any__){var I=A,i=!0;void 0===e[A]&&void 0!==e.__any__&&(I="__any__",i="object"===g.getType(t[A]));var o=e[I];i&&void 0!==o.__type__&&(o=o.__type__),g.checkFields(A,t,e,I,o,C)}else g.getSuggestion(A,e,C)}},{key:"checkFields",value:function(A,t,e,C,I,i){var o=function(t){console.error("%c"+t+g.printLocation(i,A),Rn)},n=g.getType(t[A]),r=I[n];void 0!==r?"array"===g.getType(r)&&-1===DI(r).call(r,t[A])?(o('Invalid option detected in "'+A+'". Allowed values are:'+g.print(r)+' not "'+t[A]+'". '),Nn=!0):"object"===n&&"__any__"!==C&&(i=nn(i,A),g.parse(t[A],e[C],i)):void 0===I.any&&(o('Invalid type received for "'+A+'". Expected: '+g.print(wC(I))+". Received ["+n+'] "'+t[A]+'"'),Nn=!0)}},{key:"getType",value:function(g){var A=nC(g);return"object"===A?null===g?"null":g instanceof Boolean?"boolean":g instanceof Number?"number":g instanceof String?"string":uC(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,e){var C,I=g.findInOptions(A,t,e,!1),i=g.findInOptions(A,Dn,[],!0);C=void 0!==I.indexMatch?" in "+g.printLocation(I.path,A,"")+'Perhaps it was incomplete? Did you mean: "'+I.indexMatch+'"?\n\n':i.distance<=4&&I.distance>i.distance?" in "+g.printLocation(I.path,A,"")+"Perhaps it was misplaced? Matching option found at: "+g.printLocation(i.path,i.closestMatch,""):I.distance<=8?'. Did you mean "'+I.closestMatch+'"?'+g.printLocation(I.path,A):". Did you mean one of these: "+g.print(wC(t))+g.printLocation(e,A),console.error('%cUnknown option detected: "'+A+'"'+C,Rn),Nn=!0}},{key:"findInOptions",value:function(A,t,e){var C=arguments.length>3&&void 0!==arguments[3]&&arguments[3],I=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===C){var d=g.findInOptions(A,t[s],nn(e,s));I>d.distance&&(i=d.closestMatch,o=d.path,I=d.distance,r=d.indexMatch)}else{var h;-1!==DI(h=s.toLowerCase()).call(h,n)&&(r=s),I>(a=g.levenshteinDistance(A,s))&&(i=s,o=rn(e),I=a)}}return{closestMatch:i,path:o,distance:I,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",e="\n\n"+t+"options = {\n",C=0;C<g.length;C++){for(var I=0;I<C+1;I++)e+="  ";e+=g[C]+": {\n"}for(var i=0;i<g.length+1;i++)e+="  ";e+=A+"\n";for(var o=0;o<g.length+1;o++){for(var n=0;n<g.length-o;n++)e+="  ";e+="}\n"}return e+"\n\n"}},{key:"print",value:function(g){return LI(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,e,C=[];for(t=0;t<=A.length;t++)C[t]=[t];for(e=0;e<=g.length;e++)C[0][e]=e;for(t=1;t<=A.length;t++)for(e=1;e<=g.length;e++)A.charAt(t-1)==g.charAt(e-1)?C[t][e]=C[t-1][e-1]:C[t][e]=Math.min(C[t-1][e-1]+1,Math.min(C[t][e-1]+1,C[t-1][e]+1));return C[A.length][g.length]}}]),g}();function Fn(g){return Un=g,function(){var g={};_n=0,void(Hn=Un.charAt(0)),Ir(),"strict"===Kn&&(g.strict=!0,Ir());"graph"!==Kn&&"digraph"!==Kn||(g.type=Kn,Ir());Xn===Yn&&(g.id=Kn,Ir());if("{"!=Kn)throw ar("Angle bracket { expected");if(Ir(),ir(g),"}"!=Kn)throw ar("Angle bracket } expected");if(Ir(),""!==Kn)throw ar("End of file expected");return Ir(),delete g.node,delete g.edge,delete g.graph,g}()}var Gn={fontsize:"font.size",fontcolor:"font.color",labelfontcolor:"font.color",fontname:"font.face",color:["color.border","color.background"],fillcolor:"color.background",tooltip:"title",labeltooltip:"title"},Ln=MI(Gn);Ln.color="color.color",Ln.style="dashes";var jn=0,Vn=1,Yn=2,Wn=3,Qn={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},Un="",_n=0,Hn="",Kn="",Xn=jn;function Jn(){_n++,Hn=Un.charAt(_n)}function qn(){return Un.charAt(_n+1)}function $n(g){var A=g.charCodeAt(0);return A<47?35===A||46===A:A<59?A>47:A<91?A>64:A<96?95===A:A<123&&A>96}function gr(g,A){if(g||(g={}),A)for(var t in A)A.hasOwnProperty(t)&&(g[t]=A[t]);return g}function Ar(g,A,t){for(var e=A.split("."),C=g;e.length;){var I=e.shift();e.length?(C[I]||(C[I]={}),C=C[I]):C[I]=t}}function tr(g,A){for(var t,e,C=null,I=[g],i=g;i.parent;)I.push(i.parent),i=i.parent;if(i.nodes)for(t=0,e=i.nodes.length;t<e;t++)if(A.id===i.nodes[t].id){C=i.nodes[t];break}for(C||(C={id:A.id},g.node&&(C.attr=gr(C.attr,g.node))),t=I.length-1;t>=0;t--){var o,n=I[t];n.nodes||(n.nodes=[]),-1===DI(o=n.nodes).call(o,C)&&n.nodes.push(C)}A.attr&&(C.attr=gr(C.attr,A.attr))}function er(g,A){if(g.edges||(g.edges=[]),g.edges.push(A),g.edge){var t=gr({},g.edge);A.attr=gr(t,A.attr)}}function Cr(g,A,t,e,C){var I={from:A,to:t,type:e};return g.edge&&(I.attr=gr({},g.edge)),I.attr=gr(I.attr||{},C),null!=C&&C.hasOwnProperty("arrows")&&null!=C.arrows&&(I.arrows={to:{enabled:!0,type:C.arrows.type}},C.arrows=null),I}function Ir(){for(Xn=jn,Kn="";" "===Hn||"\t"===Hn||"\n"===Hn||"\r"===Hn;)Jn();do{var g=!1;if("#"===Hn){for(var A=_n-1;" "===Un.charAt(A)||"\t"===Un.charAt(A);)A--;if("\n"===Un.charAt(A)||""===Un.charAt(A)){for(;""!=Hn&&"\n"!=Hn;)Jn();g=!0}}if("/"===Hn&&"/"===qn()){for(;""!=Hn&&"\n"!=Hn;)Jn();g=!0}if("/"===Hn&&"*"===qn()){for(;""!=Hn;){if("*"===Hn&&"/"===qn()){Jn(),Jn();break}Jn()}g=!0}for(;" "===Hn||"\t"===Hn||"\n"===Hn||"\r"===Hn;)Jn()}while(g);if(""!==Hn){var t=Hn+qn();if(Qn[t])return Xn=Vn,Kn=t,Jn(),void Jn();if(Qn[Hn])return Xn=Vn,Kn=Hn,void Jn();if($n(Hn)||"-"===Hn){for(Kn+=Hn,Jn();$n(Hn);)Kn+=Hn,Jn();return"false"===Kn?Kn=!1:"true"===Kn?Kn=!0:isNaN(Number(Kn))||(Kn=Number(Kn)),void(Xn=Yn)}if('"'===Hn){for(Jn();""!=Hn&&('"'!=Hn||'"'===Hn&&'"'===qn());)'"'===Hn?(Kn+=Hn,Jn()):"\\"===Hn&&"n"===qn()?(Kn+="\n",Jn()):Kn+=Hn,Jn();if('"'!=Hn)throw ar('End of string " expected');return Jn(),void(Xn=Yn)}for(Xn=Wn;""!=Hn;)Kn+=Hn,Jn();throw new SyntaxError('Syntax error in part "'+dr(Kn,30)+'"')}Xn=Vn}function ir(g){for(;""!==Kn&&"}"!=Kn;)or(g),";"===Kn&&Ir()}function or(g){var A=nr(g);if(A)rr(g,A);else if(!function(g){if("node"===Kn)return Ir(),g.node=sr(),"node";if("edge"===Kn)return Ir(),g.edge=sr(),"edge";if("graph"===Kn)return Ir(),g.graph=sr(),"graph";return null}(g)){if(Xn!=Yn)throw ar("Identifier expected");var t=Kn;if(Ir(),"="===Kn){if(Ir(),Xn!=Yn)throw ar("Identifier expected");g[t]=Kn,Ir()}else!function(g,A){var t={id:A},e=sr();e&&(t.attr=e);tr(g,t),rr(g,A)}(g,t)}}function nr(g){var A=null;if("subgraph"===Kn&&((A={}).type="subgraph",Ir(),Xn===Yn&&(A.id=Kn,Ir())),"{"===Kn){if(Ir(),A||(A={}),A.parent=g,A.node=g.node,A.edge=g.edge,A.graph=g.graph,ir(A),"}"!=Kn)throw ar("Angle bracket } expected");Ir(),delete A.node,delete A.edge,delete A.graph,delete A.parent,g.subgraphs||(g.subgraphs=[]),g.subgraphs.push(A)}return A}function rr(g,A){for(;"->"===Kn||"--"===Kn;){var t,e=Kn;Ir();var C=nr(g);if(C)t=C;else{if(Xn!=Yn)throw ar("Identifier or subgraph expected");tr(g,{id:t=Kn}),Ir()}er(g,Cr(g,A,t,e,sr())),A=t}}function sr(){for(var g,A,t=null,e={dashed:!0,solid:!1,dotted:[1,5]},C={dot:"circle",box:"box",crow:"crow",curve:"curve",icurve:"inv_curve",normal:"triangle",inv:"inv_triangle",diamond:"diamond",tee:"bar",vee:"vee"},I=new Array,i=new Array;"["===Kn;){for(Ir(),t={};""!==Kn&&"]"!=Kn;){if(Xn!=Yn)throw ar("Attribute name expected");var o=Kn;if(Ir(),"="!=Kn)throw ar("Equal sign = expected");if(Ir(),Xn!=Yn)throw ar("Attribute value expected");var n=Kn;"style"===o&&(n=e[n]),"arrowhead"===o&&(o="arrows",n={to:{enabled:!0,type:C[n]}}),"arrowtail"===o&&(o="arrows",n={from:{enabled:!0,type:C[n]}}),I.push({attr:t,name:o,value:n}),i.push(o),Ir(),","==Kn&&Ir()}if("]"!=Kn)throw ar("Bracket ] expected");Ir()}if($C(i).call(i,"dir")){var r={arrows:{}};for(g=0;g<I.length;g++)if("arrows"===I[g].name)if(null!=I[g].value.to)r.arrows.to=g;else{if(null==I[g].value.from)throw ar("Invalid value of arrows");r.arrows.from=g}else"dir"===I[g].name&&(r.dir=g);var s,a,d=I[r.dir].value;if(!$C(i).call(i,"arrows"))if("both"===d)I.push({attr:I[r.dir].attr,name:"arrows",value:{to:{enabled:!0}}}),r.arrows.to=I.length-1,I.push({attr:I[r.dir].attr,name:"arrows",value:{from:{enabled:!0}}}),r.arrows.from=I.length-1;else if("forward"===d)I.push({attr:I[r.dir].attr,name:"arrows",value:{to:{enabled:!0}}}),r.arrows.to=I.length-1;else if("back"===d)I.push({attr:I[r.dir].attr,name:"arrows",value:{from:{enabled:!0}}}),r.arrows.from=I.length-1;else{if("none"!==d)throw ar('Invalid dir type "'+d+'"');I.push({attr:I[r.dir].attr,name:"arrows",value:""}),r.arrows.to=I.length-1}if("both"===d)r.arrows.to&&r.arrows.from?(a=I[r.arrows.to].value.to.type,s=I[r.arrows.from].value.from.type,I[r.arrows.to]={attr:I[r.arrows.to].attr,name:I[r.arrows.to].name,value:{to:{enabled:!0,type:a},from:{enabled:!0,type:s}}},WC(I).call(I,r.arrows.from,1)):r.arrows.to?(a=I[r.arrows.to].value.to.type,s="arrow",I[r.arrows.to]={attr:I[r.arrows.to].attr,name:I[r.arrows.to].name,value:{to:{enabled:!0,type:a},from:{enabled:!0,type:s}}}):r.arrows.from&&(a="arrow",s=I[r.arrows.from].value.from.type,I[r.arrows.from]={attr:I[r.arrows.from].attr,name:I[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=I[r.arrows.from].value.from.type,I[r.arrows.from]={attr:I[r.arrows.from].attr,name:I[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,I[r.arrows.from]={attr:I[r.arrows.from].attr,name:I[r.arrows.from].name,value:{to:{enabled:!0,type:a},from:{enabled:!0,type:s}}}):r.arrows.from&&(a="",s=I[r.arrows.from].value.from.type,I[r.arrows.to]={attr:I[r.arrows.from].attr,name:I[r.arrows.from].name,value:{to:{enabled:!0,type:a},from:{enabled:!0,type:s}}}),I[r.arrows.from]={attr:I[r.arrows.from].attr,name:I[r.arrows.from].name,value:{from:{enabled:!0,type:I[r.arrows.from].value.from.type}}};else if("none"===d){var h;I[h=r.arrows.to?r.arrows.to:r.arrows.from]={attr:I[h].attr,name:I[h].name,value:""}}else{if("forward"!==d)throw ar('Invalid dir type "'+d+'"');r.arrows.to&&r.arrows.from||r.arrows.to?(a=I[r.arrows.to].value.to.type,s="",I[r.arrows.to]={attr:I[r.arrows.to].attr,name:I[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,I[r.arrows.to]={attr:I[r.arrows.to].attr,name:I[r.arrows.to].name,value:{to:{enabled:!0,type:a},from:{enabled:!0,type:s}}}),I[r.arrows.to]={attr:I[r.arrows.to].attr,name:I[r.arrows.to].name,value:{to:{enabled:!0,type:I[r.arrows.to].value.to.type}}}}WC(I).call(I,r.dir,1)}if($C(i).call(i,"penwidth")){var l=[];for(A=I.length,g=0;g<A;g++)"width"!==I[g].name&&("penwidth"===I[g].name&&(I[g].name="width"),l.push(I[g]));I=l}for(A=I.length,g=0;g<A;g++)Ar(I[g].attr,I[g].name,I[g].value);return t}function ar(g){return new SyntaxError(g+', got "'+dr(Kn,30)+'" (char '+_n+")")}function dr(g,A){return g.length<=A?g:g.substr(0,27)+"..."}function hr(g,A,t){for(var e=A.split("."),C=e.pop(),I=g,i=0;i<e.length;i++){var o=e[i];o in I||(I[o]={}),I=I[o]}return I[C]=t,g}function lr(g,A){var t={};for(var e in g)if(g.hasOwnProperty(e)){var C=A[e];uC(C)?RC(C).call(C,(function(A){hr(t,A,g[e])})):hr(t,"string"==typeof C?C:e,g[e])}return t}function cr(g){var A,t=Fn(g),e={nodes:[],edges:[],options:{}};t.nodes&&RC(A=t.nodes).call(A,(function(g){var A={id:g.id,label:String(g.label||g.id)};gr(A,lr(g.attr,Gn)),A.image&&(A.shape="image"),e.nodes.push(A)}));if(t.edges){var C,I=function(g){var A={from:g.from,to:g.to};return gr(A,lr(g.attr,Ln)),null==A.arrows&&"->"===g.type&&(A.arrows="to"),A};RC(C=t.edges).call(C,(function(g){var A,t,C,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)&&RC(C=g.from.edges).call(C,(function(g){var A=I(g);e.edges.push(A)}));(o=t,n=function(A,t){var C=Cr(e,A.id,t.id,g.type,g.attr),i=I(C);e.edges.push(i)},uC(i=A)?RC(i).call(i,(function(g){uC(o)?RC(o).call(o,(function(A){n(g,A)})):n(g,o)})):uC(o)?RC(o).call(o,(function(g){n(i,g)})):n(i,o),g.to instanceof Object&&g.to.edges)&&RC(r=g.to.edges).call(r,(function(g){var A=I(g);e.edges.push(A)}))}))}return t.attr&&(e.options=t.attr),e}var ur=Object.freeze({__proto__:null,parseDOT:Fn,DOTToGraph:cr});function pr(g,A){var t,e={edges:{inheritColor:!1},nodes:{fixed:!1,parseColor:!1}};null!=A&&(null!=A.fixed&&(e.nodes.fixed=A.fixed),null!=A.parseColor&&(e.nodes.parseColor=A.parseColor),null!=A.inheritColor&&(e.edges.inheritColor=A.inheritColor));var C=g.edges,I=mC(C).call(C,(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===e.edges.inheritColor&&(A.color=g.color),A}));return{nodes:mC(t=g.nodes).call(t,(function(g){var A={id:g.id,fixed:e.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===e.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:I}}var fr=Object.freeze({__proto__:null,parseGephi:pr}),vr=Object.freeze({__proto__:null,en:{addDescription:"Click in an empty space to place a new node.",addEdge:"Add Edge",addNode:"Add Node",back:"Back",close:"Close",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",close:"Schließen",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",close:"Cerrar",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",close:"Chiudere",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",close:"Sluiten",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",close:"Fechar",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:"Назад",close:"Закрывать",createEdgeError:"Невозможно соединить ребра в кластер.",del:"Удалить выбранное",deleteClusterError:"Кластеры не могут быть удалены",edgeDescription:"Кликните на узел и протяните ребро к другому узлу, чтобы соединить их.",edit:"Редактировать",editClusterError:"Кластеры недоступны для редактирования.",editEdge:"Редактировать ребро",editEdgeDescription:"Кликните на контрольные точки и перетащите их в узел, чтобы подключиться к нему.",editNode:"Редактировать узел"},cn:{addDescription:"单击空白处放置新节点。",addEdge:"添加连接线",addNode:"添加节点",back:"返回",close:"關閉",createEdgeError:"无法将连接线连接到群集。",del:"删除选定",deleteClusterError:"无法删除群集。",edgeDescription:"单击某个节点并将该连接线拖动到另一个节点以连接它们。",edit:"编辑",editClusterError:"无法编辑群集。",editEdge:"编辑连接线",editEdgeDescription:"单击控制节点并将它们拖到节点上连接。",editNode:"编辑节点"},uk:{addDescription:"Kлікніть на вільне місце, щоб додати новий вузол.",addEdge:"Додати край",addNode:"Додати вузол",back:"Назад",close:"Закрити",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",close:"Fermer",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",close:"Zavří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 yr=function(){function g(){De(this,g),this.NUM_ITERATIONS=4,this.image=new Image,this.canvas=document.createElement("canvas")}return Pe(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),e=Math.floor(A/4),C=Math.floor(A/8),I=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,e],[i,e,n,C],[5*n,e,r,I]],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 e=this.coordinates[t-1],C=this.coordinates[t];g.drawImage(this.canvas,e[0],e[1],e[2],e[3],C[0],C[1],C[2],C[3])}}},{key:"drawImageAtPosition",value:function(g,A,t,e,C,I){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,e,C,I)}else g.drawImage(this.image,t,e,C,I)}}]),g}(),mr=function(){function g(A){De(this,g),this.images={},this.imageBroken={},this.callback=A}return Pe(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,e=this.images[g];if(e)return e;var C=new yr;return this.images[g]=C,C.image.onload=function(){t._fixImageCoordinates(C.image),C.init(),t._redrawWithImage(C)},C.image.onerror=function(){console.error("Could not load image:",g),t._tryloadBrokenUrl(g,A,C)},C.image.src=g,C}},{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}(),br=!I((function(){return Object.isExtensible(Object.preventExtensions({}))})),wr=t((function(g){var A=G.f,t=jg("meta"),e=0,C=Object.isExtensible||function(){return!0},I=function(g){A(g,t,{value:{objectID:"O"+ ++e,weakData:{}}})},i=g.exports={REQUIRED:!1,fastKey:function(g,A){if(!p(g))return"symbol"==typeof g?g:("string"==typeof g?"S":"P")+g;if(!y(g,t)){if(!C(g))return"F";if(!A)return"E";I(g)}return g[t].objectID},getWeakData:function(g,A){if(!y(g,t)){if(!C(g))return!0;if(!A)return!1;I(g)}return g[t].weakData},onFreeze:function(g){return br&&i.REQUIRED&&C(g)&&!y(g,t)&&I(g),g}};gg[t]=!0})),kr=function(g,A){this.stopped=g,this.result=A},xr=function(g,A,t){var e,C,I,i,o,n,r,s=t&&t.that,a=!(!t||!t.AS_ENTRIES),d=!(!t||!t.IS_ITERATOR),h=!(!t||!t.INTERRUPTED),l=Z(A,s,1+a+h),c=function(g){return e&&Ct(e),new kr(!0,g)},u=function(g){return a?(S(g),h?l(g[0],g[1],c):l(g[0],g[1])):h?l(g,c):l(g)};if(d)e=g;else{if("function"!=typeof(C=at(g)))throw TypeError("Target is not iterable");if(nt(C)){for(I=0,i=H(g.length);i>I;I++)if((o=u(g[I]))&&o instanceof kr)return o;return new kr(!1)}e=C.call(g)}for(n=e.next;!(r=n.call(e)).done;){try{o=u(r.value)}catch(g){throw Ct(e),g}if("object"==typeof o&&o&&o instanceof kr)return o}return new kr(!1)},Er=function(g,A,t){if(!(g instanceof A))throw TypeError("Incorrect "+(t?t+" ":"")+"invocation");return g},Or=G.f,Tr=Vt.forEach,Dr=qg.set,Nr=qg.getterFor,Rr=function(g,A,t){var e,o=-1!==g.indexOf("Map"),n=-1!==g.indexOf("Weak"),r=o?"set":"add",s=C[g],a=s&&s.prototype,d={};if(i&&"function"==typeof s&&(n||a.forEach&&!I((function(){(new s).entries().next()})))){e=A((function(A,t){Dr(Er(A,e,g),{type:g,collection:new s}),null!=t&&xr(t,A[r],{that:A,AS_ENTRIES:o})}));var h=Nr(g);Tr(["add","clear","delete","forEach","get","has","set","keys","values","entries"],(function(g){var A="add"==g||"set"==g;!(g in a)||n&&"clear"==g||L(e.prototype,g,(function(t,e){var C=h(this).collection;if(!A&&n&&!p(t))return"get"==g&&void 0;var I=C[g](0===t?0:t,e);return A?this:I}))})),n||Or(e.prototype,"size",{configurable:!0,get:function(){return h(this).collection.size}})}else e=t.getConstructor(A,g,o,r),wr.REQUIRED=!0;return LA(e,g,!1,!0),d[g]=e,Y({global:!0,forced:!0},d),n||t.setStrong(e,g,o),e},Pr=function(g,A,t){for(var e in A)t&&t.unsafe&&g[e]?g[e]=A[e]:QA(g,e,A[e],t);return g},Mr=vA("species"),Br=G.f,zr=wr.fastKey,Zr=qg.set,Sr=qg.getterFor,Fr={getConstructor:function(g,A,t,e){var C=g((function(g,I){Er(g,C,A),Zr(g,{type:A,index:RA(null),first:void 0,last:void 0,size:0}),i||(g.size=0),null!=I&&xr(I,g[e],{that:g,AS_ENTRIES:t})})),I=Sr(A),o=function(g,A,t){var e,C,o=I(g),r=n(g,A);return r?r.value=t:(o.last=r={index:C=zr(A,!0),key:A,value:t,previous:e=o.last,next:void 0,removed:!1},o.first||(o.first=r),e&&(e.next=r),i?o.size++:g.size++,"F"!==C&&(o.index[C]=r)),g},n=function(g,A){var t,e=I(g),C=zr(A);if("F"!==C)return e.index[C];for(t=e.first;t;t=t.next)if(t.key==A)return t};return Pr(C.prototype,{clear:function(){for(var g=I(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,i?g.size=0:this.size=0},delete:function(g){var A=this,t=I(A),e=n(A,g);if(e){var C=e.next,o=e.previous;delete t.index[e.index],e.removed=!0,o&&(o.next=C),C&&(C.previous=o),t.first==e&&(t.first=C),t.last==e&&(t.last=o),i?t.size--:A.size--}return!!e},forEach:function(g){for(var A,t=I(this),e=Z(g,arguments.length>1?arguments[1]:void 0,3);A=A?A.next:t.first;)for(e(A.value,A.key,this);A&&A.removed;)A=A.previous},has:function(g){return!!n(this,g)}}),Pr(C.prototype,t?{get:function(g){var A=n(this,g);return A&&A.value},set:function(g,A){return o(this,0===g?0:g,A)}}:{add:function(g){return o(this,g=0===g?0:g,g)}}),i&&Br(C.prototype,"size",{get:function(){return I(this).size}}),C},setStrong:function(g,A,t){var e=A+" Iterator",C=Sr(A),I=Sr(e);$A(g,A,(function(g,A){Zr(this,{type:e,target:g,state:C(g),kind:A,last:void 0})}),(function(){for(var g=I(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=IA(g),t=G.f;i&&A&&!A[Mr]&&t(A,Mr,{configurable:!0,get:function(){return this}})}(A)}};Rr("Map",(function(g){return function(){return g(this,arguments.length?arguments[0]:void 0)}}),Fr);var Gr=B.Map,Lr=function(){function g(){De(this,g),this.clear(),this._defaultIndex=0,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},sg(this.options,this.defaultOptions)}return Pe(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===DI(A).call(A,t)){var e=g[t];this.add(t,e)}}},{key:"clear",value:function(){this._groups=new Gr,this._groupNames=[]}},{key:"get",value:function(g){var A=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],t=this._groups.get(g);if(void 0===t&&A)if(!1===this.options.useDefaultGroups&&this._groupNames.length>0){var e=this._groupIndex%this._groupNames.length;++this._groupIndex,(t={}).color=this._groups.get(this._groupNames[e]),this._groups.set(g,t)}else{var C=this._defaultIndex%this._defaultGroups.length;this._defaultIndex++,(t={}).color=this._defaultGroups[C],this._groups.set(g,t)}return t}},{key:"add",value:function(g,A){return this._groups.has(g)||this._groupNames.push(g),this._groups.set(g,A),A}}]),g}();Y({target:"Number",stat:!0},{isNaN:function(g){return g!=g}});var jr=B.Number.isNaN,Vr=C.isFinite,Yr=Number.isFinite||function(g){return"number"==typeof g&&Vr(g)};Y({target:"Number",stat:!0},{isFinite:Yr});var Wr=B.Number.isFinite,Qr=Vt.some,Ur=xC("some");Y({target:"Array",proto:!0,forced:!Ur},{some:function(g){return Qr(this,g,arguments.length>1?arguments[1]:void 0)}});var _r=cg("Array").some,Hr=Array.prototype,Kr=function(g){var A=g.some;return g===Hr||g instanceof Array&&A===Hr.some?_r:A},Xr=IA("Reflect","construct"),Jr=I((function(){function g(){}return!(Xr((function(){}),[],g)instanceof g)})),qr=!I((function(){Xr((function(){}))})),$r=Jr||qr;Y({target:"Reflect",stat:!0,forced:$r,sham:$r},{construct:function(g,A){z(g),S(A);var t=arguments.length<3?g:z(arguments[2]);if(qr&&!Jr)return Xr(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 e=[null];return e.push.apply(e,A),new(lg.apply(g,e))}var C=t.prototype,I=RA(p(C)?C:Object.prototype),i=Function.apply.call(g,I,A);return p(i)?i:I}});var gs=B.Reflect.construct;function As(g){if(void 0===g)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return g}var ts=PI;Y({target:"Object",stat:!0},{setPrototypeOf:WA});var es=B.Object.setPrototypeOf;function Cs(g,A){return(Cs=es||function(g,A){return g.__proto__=A,g})(g,A)}function Is(g,A){if("function"!=typeof A&&null!==A)throw new TypeError("Super expression must either be null or a function");g.prototype=ts(A&&A.prototype,{constructor:{value:g,writable:!0,configurable:!0}}),A&&Cs(g,A)}function is(g,A){return!A||"object"!==nC(A)&&"function"!=typeof A?As(g):A}var os=AI;function ns(g){return(ns=es?os:function(g){return g.__proto__||os(g)})(g)}var rs=t((function(g){var A=function(g){var A,t=Object.prototype,e=t.hasOwnProperty,C="function"==typeof Symbol?Symbol:{},I=C.iterator||"@@iterator",i=C.asyncIterator||"@@asyncIterator",o=C.toStringTag||"@@toStringTag";function n(g,A,t){return Object.defineProperty(g,A,{value:t,enumerable:!0,configurable:!0,writable:!0}),g[A]}try{n({},"")}catch(g){n=function(g,A,t){return g[A]=t}}function r(g,A,t,e){var C=A&&A.prototype instanceof u?A:u,I=Object.create(C.prototype),i=new T(e||[]);return I._invoke=function(g,A,t){var e=a;return function(C,I){if(e===h)throw new Error("Generator is already running");if(e===l){if("throw"===C)throw I;return N()}for(t.method=C,t.arg=I;;){var i=t.delegate;if(i){var o=x(i,t);if(o){if(o===c)continue;return o}}if("next"===t.method)t.sent=t._sent=t.arg;else if("throw"===t.method){if(e===a)throw e=l,t.arg;t.dispatchException(t.arg)}else"return"===t.method&&t.abrupt("return",t.arg);e=h;var n=s(g,A,t);if("normal"===n.type){if(e=t.done?l:d,n.arg===c)continue;return{value:n.arg,done:t.done}}"throw"===n.type&&(e=l,t.method="throw",t.arg=n.arg)}}}(g,t,i),I}function s(g,A,t){try{return{type:"normal",arg:g.call(A,t)}}catch(g){return{type:"throw",arg:g}}}g.wrap=r;var a="suspendedStart",d="suspendedYield",h="executing",l="completed",c={};function u(){}function p(){}function f(){}var v={};v[I]=function(){return this};var y=Object.getPrototypeOf,m=y&&y(y(D([])));m&&m!==t&&e.call(m,I)&&(v=m);var b=f.prototype=u.prototype=Object.create(v);function w(g){["next","throw","return"].forEach((function(A){n(g,A,(function(g){return this._invoke(A,g)}))}))}function k(g,A){function t(C,I,i,o){var n=s(g[C],g,I);if("throw"!==n.type){var r=n.arg,a=r.value;return a&&"object"==typeof a&&e.call(a,"__await")?A.resolve(a.__await).then((function(g){t("next",g,i,o)}),(function(g){t("throw",g,i,o)})):A.resolve(a).then((function(g){r.value=g,i(r)}),(function(g){return t("throw",g,i,o)}))}o(n.arg)}var C;this._invoke=function(g,e){function I(){return new A((function(A,C){t(g,e,A,C)}))}return C=C?C.then(I,I):I()}}function x(g,t){var e=g.iterator[t.method];if(e===A){if(t.delegate=null,"throw"===t.method){if(g.iterator.return&&(t.method="return",t.arg=A,x(g,t),"throw"===t.method))return c;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return c}var C=s(e,g.iterator,t.arg);if("throw"===C.type)return t.method="throw",t.arg=C.arg,t.delegate=null,c;var I=C.arg;return I?I.done?(t[g.resultName]=I.value,t.next=g.nextLoc,"return"!==t.method&&(t.method="next",t.arg=A),t.delegate=null,c):I:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,c)}function E(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 O(g){var A=g.completion||{};A.type="normal",delete A.arg,g.completion=A}function T(g){this.tryEntries=[{tryLoc:"root"}],g.forEach(E,this),this.reset(!0)}function D(g){if(g){var t=g[I];if(t)return t.call(g);if("function"==typeof g.next)return g;if(!isNaN(g.length)){var C=-1,i=function t(){for(;++C<g.length;)if(e.call(g,C))return t.value=g[C],t.done=!1,t;return t.value=A,t.done=!0,t};return i.next=i}}return{next:N}}function N(){return{value:A,done:!0}}return p.prototype=b.constructor=f,f.constructor=p,p.displayName=n(f,o,"GeneratorFunction"),g.isGeneratorFunction=function(g){var A="function"==typeof g&&g.constructor;return!!A&&(A===p||"GeneratorFunction"===(A.displayName||A.name))},g.mark=function(g){return Object.setPrototypeOf?Object.setPrototypeOf(g,f):(g.__proto__=f,n(g,o,"GeneratorFunction")),g.prototype=Object.create(b),g},g.awrap=function(g){return{__await:g}},w(k.prototype),k.prototype[i]=function(){return this},g.AsyncIterator=k,g.async=function(A,t,e,C,I){void 0===I&&(I=Promise);var i=new k(r(A,t,e,C),I);return g.isGeneratorFunction(t)?i:i.next().then((function(g){return g.done?g.value:i.next()}))},w(b),n(b,o,"Generator"),b[I]=function(){return this},b.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 e=A.pop();if(e in g)return t.value=e,t.done=!1,t}return t.done=!0,t}},g.values=D,T.prototype={constructor:T,reset:function(g){if(this.prev=0,this.next=0,this.sent=this._sent=A,this.done=!1,this.delegate=null,this.method="next",this.arg=A,this.tryEntries.forEach(O),!g)for(var t in this)"t"===t.charAt(0)&&e.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=A)},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 t=this;function C(e,C){return o.type="throw",o.arg=g,t.next=e,C&&(t.method="next",t.arg=A),!!C}for(var I=this.tryEntries.length-1;I>=0;--I){var i=this.tryEntries[I],o=i.completion;if("root"===i.tryLoc)return C("end");if(i.tryLoc<=this.prev){var n=e.call(i,"catchLoc"),r=e.call(i,"finallyLoc");if(n&&r){if(this.prev<i.catchLoc)return C(i.catchLoc,!0);if(this.prev<i.finallyLoc)return C(i.finallyLoc)}else if(n){if(this.prev<i.catchLoc)return C(i.catchLoc,!0)}else{if(!r)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return C(i.finallyLoc)}}}},abrupt:function(g,A){for(var t=this.tryEntries.length-1;t>=0;--t){var C=this.tryEntries[t];if(C.tryLoc<=this.prev&&e.call(C,"finallyLoc")&&this.prev<C.finallyLoc){var I=C;break}}I&&("break"===g||"continue"===g)&&I.tryLoc<=A&&A<=I.finallyLoc&&(I=null);var i=I?I.completion:{};return i.type=g,i.arg=A,I?(this.method="next",this.next=I.finallyLoc,c):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),c},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),O(t),c}},catch:function(g){for(var A=this.tryEntries.length-1;A>=0;--A){var t=this.tryEntries[A];if(t.tryLoc===g){var e=t.completion;if("throw"===e.type){var C=e.arg;O(t)}return C}}throw new Error("illegal catch attempt")},delegateYield:function(g,t,e){return this.delegate={iterator:D(g),resultName:t,nextLoc:e},"next"===this.method&&(this.arg=A),c}},g}(g.exports);try{regeneratorRuntime=A}catch(g){Function("r","regeneratorRuntime = r")(A)}})),ss=function(g){return function(A,t,e,C){z(t);var I=ig(A),i=l(I),o=H(I.length),n=g?o-1:0,r=g?-1:1;if(e<2)for(;;){if(n in i){C=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&&(C=t(C,i[n],n,I));return C}},as={left:ss(!1),right:ss(!0)}.left,ds=xC("reduce");Y({target:"Array",proto:!0,forced:!ds||!eA&&hA>79&&hA<83},{reduce:function(g){return as(this,g,arguments.length,arguments.length>1?arguments[1]:void 0)}});var hs=cg("Array").reduce,ls=Array.prototype,cs=function(g){var A=g.reduce;return g===ls||g instanceof Array&&A===ls.reduce?hs:A},us=function(g,A,t,e,C,I,i,o){for(var n,r=C,s=0,a=!!i&&Z(i,o,3);s<e;){if(s in t){if(n=a?a(t[s],s,A):t[s],I>0&&Tt(n))r=us(g,A,n,H(n.length),r,I-1)-1;else{if(r>=9007199254740991)throw TypeError("Exceed the acceptable array length");g[r]=n}r++}s++}return r},ps=us;Y({target:"Array",proto:!0},{flatMap:function(g){var A,t=ig(this),e=H(t.length);return z(g),(A=Gt(t,0)).length=ps(A,t,t,e,0,1,g,arguments.length>1?arguments[1]:void 0),A}});var fs=cg("Array").flatMap,vs=Array.prototype,ys=function(g){var A=g.flatMap;return g===vs||g instanceof Array&&A===vs.flatMap?fs:A},ms=iC;Rr("Set",(function(g){return function(){return g(this,arguments.length?arguments[0]:void 0)}}),Fr);var bs=B.Set,ws=[],ks=ws.sort,xs=I((function(){ws.sort(void 0)})),Es=I((function(){ws.sort(null)})),Os=xC("sort");Y({target:"Array",proto:!0,forced:xs||!Es||!Os},{sort:function(g){return void 0===g?ks.call(ig(this)):ks.call(ig(this),z(g))}});var Ts,Ds=cg("Array").sort,Ns=Array.prototype,Rs=function(g){var A=g.sort;return g===Ns||g instanceof Array&&A===Ns.sort?Ds:A},Ps=cg("Array").keys,Ms=Array.prototype,Bs={DOMTokenList:!0,NodeList:!0},zs=function(g){var A=g.keys;return g===Ms||g instanceof Array&&A===Ms.keys||Bs.hasOwnProperty(ZA(g))?Ps:A},Zs=cg("Array").values,Ss=Array.prototype,Fs={DOMTokenList:!0,NodeList:!0},Gs=function(g){var A=g.values;return g===Ss||g instanceof Array&&A===Ss.values||Fs.hasOwnProperty(ZA(g))?Zs:A},Ls=cg("Array").entries,js=Array.prototype,Vs={DOMTokenList:!0,NodeList:!0},Ys=function(g){var A=g.entries;return g===js||g instanceof Array&&A===js.entries||Vs.hasOwnProperty(ZA(g))?Ls:A},Ws=new Uint8Array(16);function Qs(){if(!Ts&&!(Ts="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Ts(Ws)}var Us=/^(?:[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 _s(g){return"string"==typeof g&&Us.test(g)}for(var Hs=[],Ks=0;Ks<256;++Ks)Hs.push((Ks+256).toString(16).substr(1));function Xs(g,A,t){var e=(g=g||{}).random||(g.rng||Qs)();if(e[6]=15&e[6]|64,e[8]=63&e[8]|128,A){t=t||0;for(var C=0;C<16;++C)A[t+C]=e[C];return A}return function(g){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=(Hs[g[A+0]]+Hs[g[A+1]]+Hs[g[A+2]]+Hs[g[A+3]]+"-"+Hs[g[A+4]]+Hs[g[A+5]]+"-"+Hs[g[A+6]]+Hs[g[A+7]]+"-"+Hs[g[A+8]]+Hs[g[A+9]]+"-"+Hs[g[A+10]]+Hs[g[A+11]]+Hs[g[A+12]]+Hs[g[A+13]]+Hs[g[A+14]]+Hs[g[A+15]]).toLowerCase();if(!_s(t))throw TypeError("Stringified UUID is invalid");return t}(e)}function Js(g,A){var t=wC(g);if(ve){var e=ve(g);A&&(e=oI(e).call(e,(function(A){return we(g,A).enumerable}))),t.push.apply(t,e)}return t}function qs(g){for(var A=1;A<arguments.length;A++){var t,e=null!=arguments[A]?arguments[A]:{};if(A%2)RC(t=Js(Object(e),!0)).call(t,(function(A){Me(g,A,e[A])}));else if(xe)Ee(g,xe(e));else{var C;RC(C=Js(Object(e))).call(C,(function(A){Te(g,A,we(e,A))}))}}return g}function $s(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}function ga(g,A){var t;if(void 0===sC||null==Et(g)){if(uC(g)||(t=function(g,A){var t;if(!g)return;if("string"==typeof g)return Aa(g,A);var e=lC(t=Object.prototype.toString.call(g)).call(t,8,-1);"Object"===e&&g.constructor&&(e=g.constructor.name);if("Map"===e||"Set"===e)return ft(g);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return Aa(g,A)}(g))||A&&g&&"number"==typeof g.length){t&&(g=t);var e=0,C=function(){};return{s:C,n:function(){return e>=g.length?{done:!0}:{done:!1,value:g[e++]}},e:function(g){throw g},f:C}}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 I,i=!0,o=!1;return{s:function(){t=Ot(g)},n:function(){var g=t.next();return i=g.done,g},e:function(g){o=!0,I=g},f:function(){try{i||null==t.return||t.return()}finally{if(o)throw I}}}}function Aa(g,A){(null==A||A>g.length)&&(A=g.length);for(var t=0,e=new Array(A);t<A;t++)e[t]=g[t];return e}var ta=function(){function g(A,t,e){var C,I,i;De(this,g),this._source=A,this._transformers=t,this._target=e,this._listeners={add:fg(C=this._add).call(C,this),remove:fg(I=this._remove).call(I,this),update:fg(i=this._update).call(i,this)}}return Pe(g,[{key:"all",value:function(){return this._target.update(this._transformItems(this._source.get())),this}},{key:"start",value:function(){return this._source.on("add",this._listeners.add),this._source.on("remove",this._listeners.remove),this._source.on("update",this._listeners.update),this}},{key:"stop",value:function(){return this._source.off("add",this._listeners.add),this._source.off("remove",this._listeners.remove),this._source.off("update",this._listeners.update),this}},{key:"_transformItems",value:function(g){var A;return cs(A=this._transformers).call(A,(function(g,A){return A(g)}),g)}},{key:"_add",value:function(g,A){null!=A&&this._target.add(this._transformItems(this._source.get(A.items)))}},{key:"_update",value:function(g,A){null!=A&&this._target.update(this._transformItems(this._source.get(A.items)))}},{key:"_remove",value:function(g,A){null!=A&&this._target.remove(this._transformItems(A.oldData))}}]),g}(),ea=function(){function g(A){De(this,g),this._source=A,this._transformers=[]}return Pe(g,[{key:"filter",value:function(g){return this._transformers.push((function(A){return oI(A).call(A,g)})),this}},{key:"map",value:function(g){return this._transformers.push((function(A){return mC(A).call(A,g)})),this}},{key:"flatMap",value:function(g){return this._transformers.push((function(A){return ys(A).call(A,g)})),this}},{key:"to",value:function(g){return new ta(this._source,this._transformers,g)}}]),g}();function Ca(g){return"string"==typeof g||"number"==typeof g}var Ia=function(){function g(A){De(this,g),this._queue=[],this._timeout=null,this._extended=null,this.delay=null,this.max=1/0,this.setOptions(A)}return Pe(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 e=A[t];e.original?g[e.name]=e.original:delete g[e.name]}this._extended=null}}},{key:"replace",value:function(g,A){var t=this,e=g[A];if(!e)throw new Error("Method "+A+" undefined");g[A]=function(){for(var g=arguments.length,A=new Array(g),C=0;C<g;C++)A[C]=arguments[C];t.queue({args:A,fn:e,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=WI((function(){g.flush()}),this.delay))}},{key:"flush",value:function(){var g,A;RC(g=WC(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 e=new g(t);if(void 0!==A.flush)throw new Error("Target object already has a property flush");A.flush=function(){e.flush()};var C=[{name:"flush",original:void 0}];if(t&&t.replace)for(var I=0;I<t.replace.length;I++){var i=t.replace[I];C.push({name:i,original:A[i]}),e.replace(A,i)}return e._extended={object:A,methods:C},e}}]),g}(),ia=function(){function g(){De(this,g),this._subscribers={"*":[],add:[],remove:[],update:[]},this.subscribe=g.prototype.on,this.unsubscribe=g.prototype.off}return Pe(g,[{key:"_trigger",value:function(g,A,t){var e,C;if("*"===g)throw new Error("Cannot trigger event *");RC(e=hC(C=[]).call(C,rC(this._subscribers[g]),rC(this._subscribers["*"]))).call(e,(function(e){e(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]=oI(t=this._subscribers[g]).call(t,(function(g){return g!==A}))}}]),g}(),oa=function(){function g(A){De(this,g),this._pairs=A}return Pe(g,[{key:ms,value:rs.mark((function g(){var A,t,e,C,I;return rs.wrap((function(g){for(;;)switch(g.prev=g.next){case 0:A=ga(this._pairs),g.prev=1,A.s();case 3:if((t=A.n()).done){g.next=9;break}return e=IC(t.value,2),C=e[0],I=e[1],g.next=7,[C,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:"entries",value:rs.mark((function g(){var A,t,e,C,I;return rs.wrap((function(g){for(;;)switch(g.prev=g.next){case 0:A=ga(this._pairs),g.prev=1,A.s();case 3:if((t=A.n()).done){g.next=9;break}return e=IC(t.value,2),C=e[0],I=e[1],g.next=7,[C,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:"keys",value:rs.mark((function g(){var A,t,e,C;return rs.wrap((function(g){for(;;)switch(g.prev=g.next){case 0:A=ga(this._pairs),g.prev=1,A.s();case 3:if((t=A.n()).done){g.next=9;break}return e=IC(t.value,1),C=e[0],g.next=7,C;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:rs.mark((function g(){var A,t,e,C;return rs.wrap((function(g){for(;;)switch(g.prev=g.next){case 0:A=ga(this._pairs),g.prev=1,A.s();case 3:if((t=A.n()).done){g.next=9;break}return e=IC(t.value,2),C=e[1],g.next=7,C;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 mC(g=rC(this._pairs)).call(g,(function(g){return g[0]}))}},{key:"toItemArray",value:function(){var g;return mC(g=rC(this._pairs)).call(g,(function(g){return g[1]}))}},{key:"toEntryArray",value:function(){return rC(this._pairs)}},{key:"toObjectMap",value:function(){var g,A=MI(null),t=ga(this._pairs);try{for(t.s();!(g=t.n()).done;){var e=IC(g.value,2),C=e[0],I=e[1];A[C]=I}}catch(g){t.e(g)}finally{t.f()}return A}},{key:"toMap",value:function(){return new Gr(this._pairs)}},{key:"toIdSet",value:function(){return new bs(this.toIdArray())}},{key:"toItemSet",value:function(){return new bs(this.toItemArray())}},{key:"cache",value:function(){return new g(rC(this._pairs))}},{key:"distinct",value:function(g){var A,t=new bs,e=ga(this._pairs);try{for(e.s();!(A=e.n()).done;){var C=IC(A.value,2),I=C[0],i=C[1];t.add(g(i,I))}}catch(g){e.e(g)}finally{e.f()}return t}},{key:"filter",value:function(A){var t=this._pairs;return new g(Me({},ms,rs.mark((function g(){var e,C,I,i,o;return rs.wrap((function(g){for(;;)switch(g.prev=g.next){case 0:e=ga(t),g.prev=1,e.s();case 3:if((C=e.n()).done){g.next=10;break}if(I=IC(C.value,2),i=I[0],o=I[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),e.e(g.t0);case 15:return g.prev=15,e.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=ga(this._pairs);try{for(t.s();!(A=t.n()).done;){var e=IC(A.value,2),C=e[0];g(e[1],C)}}catch(g){t.e(g)}finally{t.f()}}},{key:"map",value:function(A){var t=this._pairs;return new g(Me({},ms,rs.mark((function g(){var e,C,I,i,o;return rs.wrap((function(g){for(;;)switch(g.prev=g.next){case 0:e=ga(t),g.prev=1,e.s();case 3:if((C=e.n()).done){g.next=9;break}return I=IC(C.value,2),i=I[0],o=I[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),e.e(g.t0);case 14:return g.prev=14,e.f(),g.finish(14);case 17:case"end":return g.stop()}}),g,null,[[1,11,14,17]])}))))}},{key:"max",value:function(g){var A=Ot(this._pairs),t=A.next();if(t.done)return null;for(var e=t.value[1],C=g(t.value[1],t.value[0]);!(t=A.next()).done;){var I=IC(t.value,2),i=I[0],o=I[1],n=g(o,i);n>C&&(C=n,e=o)}return e}},{key:"min",value:function(g){var A=Ot(this._pairs),t=A.next();if(t.done)return null;for(var e=t.value[1],C=g(t.value[1],t.value[0]);!(t=A.next()).done;){var I=IC(t.value,2),i=I[0],o=I[1],n=g(o,i);n<C&&(C=n,e=o)}return e}},{key:"reduce",value:function(g,A){var t,e=ga(this._pairs);try{for(e.s();!(t=e.n()).done;){var C=IC(t.value,2),I=C[0];A=g(A,C[1],I)}}catch(g){e.e(g)}finally{e.f()}return A}},{key:"sort",value:function(A){var t=this;return new g(Me({},ms,(function(){var g;return Ot(Rs(g=rC(t._pairs)).call(g,(function(g,t){var e=IC(g,2),C=e[0],I=e[1],i=IC(t,2),o=i[0],n=i[1];return A(I,n,C,o)})))})))}}]),g}();var na=function(g){Is(t,g);var A=$s(t);function t(g,e){var C;return De(this,t),(C=A.call(this))._queue=null,g&&!uC(g)&&(e=g,g=[]),C._options=e||{},C._data=new Gr,C.length=0,C._idProp=C._options.fieldId||"id",g&&g.length&&C.add(g),C.setOptions(e),C}return Pe(t,[{key:"idProp",get:function(){return this._idProp}},{key:"setOptions",value:function(g){g&&void 0!==g.queue&&(!1===g.queue?this._queue&&(this._queue.destroy(),this._queue=null):(this._queue||(this._queue=Ia.extend(this,{replace:["add","update","remove"]})),g.queue&&"object"===nC(g.queue)&&this._queue.setOptions(g.queue)))}},{key:"add",value:function(g,A){var t,e=this,C=[];if(uC(g)){var I=mC(g).call(g,(function(g){return g[e._idProp]}));if(Kr(I).call(I,(function(g){return e._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]),C.push(t)}else{if(!g||"object"!==nC(g))throw new Error("Unknown dataType");t=this._addItem(g),C.push(t)}return C.length&&this._trigger("add",{items:C},A),C}},{key:"update",value:function(g,A){var t=this,e=[],C=[],I=[],i=[],o=this._idProp,n=function(g){var A=g[o];if(null!=A&&t._data.has(A)){var n=g,r=sg({},t._data.get(A)),s=t._updateItem(n);C.push(s),i.push(n),I.push(r)}else{var a=t._addItem(g);e.push(a)}};if(uC(g))for(var r=0,s=g.length;r<s;r++)g[r]&&"object"===nC(g[r])?n(g[r]):console.warn("Ignoring input item, which is not an object at index "+r);else{if(!g||"object"!==nC(g))throw new Error("Unknown dataType");n(g)}if(e.length&&this._trigger("add",{items:e},A),C.length){var a={items:C,oldData:I,data:i};this._trigger("update",a,A)}return hC(e).call(e,C)}},{key:"updateOnly",value:function(g,A){var t,e=this;uC(g)||(g=[g]);var C=mC(t=mC(g).call(g,(function(g){var A=e._data.get(g[e._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,C=A[e._idProp],I=function(g){for(var A,t=arguments.length,e=new Array(t>1?t-1:0),C=1;C<t;C++)e[C-1]=arguments[C];return Lo.apply(void 0,hC(A=[{},g]).call(A,e))}(A,t);return e._data.set(C,I),{id:C,oldData:A,updatedData:I}}));if(C.length){var I={items:mC(C).call(C,(function(g){return g.id})),oldData:mC(C).call(C,(function(g){return g.oldData})),data:mC(C).call(C,(function(g){return g.updatedData}))};return this._trigger("update",I,A),I.items}return[]}},{key:"get",value:function(g,A){var t=void 0,e=void 0,C=void 0;Ca(g)?(t=g,C=A):uC(g)?(e=g,C=A):C=g;var I,i=C&&"Object"===C.returnType?"Object":"Array",o=C&&oI(C),n=[],r=void 0,s=void 0,a=void 0;if(null!=t)(r=this._data.get(t))&&o&&!o(r)&&(r=void 0);else if(null!=e)for(var d=0,h=e.length;d<h;d++)null==(r=this._data.get(e[d]))||o&&!o(r)||n.push(r);else for(var l,c=0,u=(s=rC(zs(l=this._data).call(l))).length;c<u;c++)a=s[c],null==(r=this._data.get(a))||o&&!o(r)||n.push(r);if(C&&C.order&&null==t&&this._sort(n,C.order),C&&C.fields){var p=C.fields;if(null!=t&&null!=r)r=this._filterFields(r,p);else for(var f=0,v=n.length;f<v;f++)n[f]=this._filterFields(n[f],p)}if("Object"==i){for(var y={},m=0,b=n.length;m<b;m++){var w=n[m];y[w[this._idProp]]=w}return y}return null!=t?null!==(I=r)&&void 0!==I?I:null:n}},{key:"getIds",value:function(g){var A=this._data,t=g&&oI(g),e=g&&g.order,C=rC(zs(A).call(A)),I=[];if(t)if(e){for(var i=[],o=0,n=C.length;o<n;o++){var r=C[o],s=this._data.get(r);null!=s&&t(s)&&i.push(s)}this._sort(i,e);for(var a=0,d=i.length;a<d;a++)I.push(i[a][this._idProp])}else for(var h=0,l=C.length;h<l;h++){var c=C[h],u=this._data.get(c);null!=u&&t(u)&&I.push(u[this._idProp])}else if(e){for(var p=[],f=0,v=C.length;f<v;f++){var y=C[f];p.push(A.get(y))}this._sort(p,e);for(var m=0,b=p.length;m<b;m++)I.push(p[m][this._idProp])}else for(var w=0,k=C.length;w<k;w++){var x=C[w],E=A.get(x);null!=E&&I.push(E[this._idProp])}return I}},{key:"getDataSet",value:function(){return this}},{key:"forEach",value:function(g,A){var t=A&&oI(A),e=this._data,C=rC(zs(e).call(e));if(A&&A.order)for(var I=this.get(A),i=0,o=I.length;i<o;i++){var n=I[i];g(n,n[this._idProp])}else for(var r=0,s=C.length;r<s;r++){var a=C[r],d=this._data.get(a);null==d||t&&!t(d)||g(d,a)}}},{key:"map",value:function(g,A){for(var t=A&&oI(A),e=[],C=this._data,I=rC(zs(C).call(C)),i=0,o=I.length;i<o;i++){var n=I[i],r=this._data.get(n);null==r||t&&!t(r)||e.push(g(r,n))}return A&&A.order&&this._sort(e,A.order),e}},{key:"_filterFields",value:function(g,A){var t;return g?cs(t=uC(A)?A:wC(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;Rs(g).call(g,(function(g,A){var e=g[t],C=A[t];return e>C?1:e<C?-1:0}))}else{if("function"!=typeof A)throw new TypeError("Order must be a function or a string");Rs(g).call(g,A)}}},{key:"remove",value:function(g,A){for(var t=[],e=[],C=uC(g)?g:[g],I=0,i=C.length;I<i;I++){var o=this._remove(C[I]);if(o){var n=o[this._idProp];null!=n&&(t.push(n),e.push(o))}}return t.length&&this._trigger("remove",{items:t,oldData:e},A),t}},{key:"_remove",value:function(g){var A;if(Ca(g)?A=g:g&&"object"===nC(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=rC(zs(A=this._data).call(A)),e=[],C=0,I=t.length;C<I;C++)e.push(this._data.get(t[C]));return this._data.clear(),this.length=0,this._trigger("remove",{items:t,oldData:e},g),t}},{key:"max",value:function(g){var A,t,e=null,C=null,I=ga(Gs(A=this._data).call(A));try{for(I.s();!(t=I.n()).done;){var i=t.value,o=i[g];"number"==typeof o&&(null==C||o>C)&&(e=i,C=o)}}catch(g){I.e(g)}finally{I.f()}return e||null}},{key:"min",value:function(g){var A,t,e=null,C=null,I=ga(Gs(A=this._data).call(A));try{for(I.s();!(t=I.n()).done;){var i=t.value,o=i[g];"number"==typeof o&&(null==C||o<C)&&(e=i,C=o)}}catch(g){I.e(g)}finally{I.f()}return e||null}},{key:"distinct",value:function(g){for(var A=this._data,t=rC(zs(A).call(A)),e=[],C=0,I=0,i=t.length;I<i;I++){for(var o=t[I],n=A.get(o)[g],r=!1,s=0;s<C;s++)if(e[s]==n){r=!0;break}r||void 0===n||(e[C]=n,C++)}return e}},{key:"_addItem",value:function(g){var A=function(g,A){return null==g[A]&&(g[A]=Xs()),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: "+LI(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,qs(qs({},t),g)),A}},{key:"stream",value:function(g){if(g){var A=this._data;return new oa(Me({},ms,rs.mark((function t(){var e,C,I,i;return rs.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=ga(g),t.prev=1,e.s();case 3:if((C=e.n()).done){t.next=11;break}if(I=C.value,null==(i=A.get(I))){t.next=9;break}return t.next=9,[I,i];case 9:t.next=3;break;case 11:t.next=16;break;case 13:t.prev=13,t.t0=t.catch(1),e.e(t.t0);case 16:return t.prev=16,e.f(),t.finish(16);case 19:case"end":return t.stop()}}),t,null,[[1,13,16,19]])}))))}var t;return new oa(Me({},ms,fg(t=Ys(this._data)).call(t,this._data)))}}]),t}(ia),ra=function(g){Is(t,g);var A=$s(t);function t(g,e){var C,I;return De(this,t),(I=A.call(this)).length=0,I._ids=new bs,I._options=e||{},I._listener=fg(C=I._onEvent).call(C,As(I)),I.setData(g),I}return Pe(t,[{key:"idProp",get:function(){return this.getDataSet().idProp}},{key:"setData",value:function(g){if(this._data){this._data.off&&this._data.off("*",this._listener);var A=this._data.getIds({filter:oI(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 e=this._data.getIds({filter:oI(this._options)}),C=0,I=e.length;C<I;C++){var i=e[C];this._ids.add(i)}this.length=e.length,this._trigger("add",{items:e})}else this._data=new na;this._data.on&&this._data.on("*",this._listener)}},{key:"refresh",value:function(){for(var g=this._data.getIds({filter:oI(this._options)}),A=rC(this._ids),t={},e=[],C=[],I=[],i=0,o=g.length;i<o;i++){var n=g[i];t[n]=!0,this._ids.has(n)||(e.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]||(C.push(a),I.push(d),this._ids.delete(a))}this.length+=e.length-C.length,e.length&&this._trigger("add",{items:e}),C.length&&this._trigger("remove",{items:C,oldData:I})}},{key:"get",value:function(g,A){if(null==this._data)return null;var t,e=null;Ca(g)||uC(g)?(e=g,t=A):t=g;var C=sg({},this._options,t),I=oI(this._options),i=t&&oI(t);return I&&i&&(C.filter=function(g){return I(g)&&i(g)}),null==e?this._data.get(C):this._data.get(e,C)}},{key:"getIds",value:function(g){if(this._data.length){var A,t=oI(this._options),e=null!=g?oI(g):null;return A=e?t?function(g){return t(g)&&e(g)}:e:t,this._data.getIds({filter:A,order:g&&g.order})}return[]}},{key:"forEach",value:function(g,A){if(this._data){var t,e,C=oI(this._options),I=A&&oI(A);e=I?C?function(g){return C(g)&&I(g)}:I:C,RC(t=this._data).call(t,g,{filter:e,order:A&&A.order})}}},{key:"map",value:function(g,A){if(this._data){var t,e,C=oI(this._options),I=A&&oI(A);return e=I?C?function(g){return C(g)&&I(g)}:I:C,mC(t=this._data).call(t,g,{filter:e,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||Me({},ms,fg(A=zs(this._ids)).call(A,this._ids)))}},{key:"dispose",value:function(){var g;null!==(g=this._data)&&void 0!==g&&g.off&&this._data.off("*",this._listener);var A,e="This data view has already been disposed of.",C={get:function(){throw new Error(e)},set:function(){throw new Error(e)},configurable:!1},I=ga(cC(t.prototype));try{for(I.s();!(A=I.n()).done;){var i=A.value;Te(this,i,C)}}catch(g){I.e(g)}finally{I.f()}}},{key:"_onEvent",value:function(g,A,t){if(A&&A.items&&this._data){var e=A.items,C=[],I=[],i=[],o=[],n=[],r=[];switch(g){case"add":for(var s=0,a=e.length;s<a;s++){var d=e[s];this.get(d)&&(this._ids.add(d),C.push(d))}break;case"update":for(var h=0,l=e.length;h<l;h++){var c=e[h];this.get(c)?this._ids.has(c)?(I.push(c),n.push(A.data[h]),o.push(A.oldData[h])):(this._ids.add(c),C.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=e.length;u<p;u++){var f=e[u];this._ids.has(f)&&(this._ids.delete(f),i.push(f),r.push(A.oldData[u]))}}this.length+=C.length-i.length,C.length&&this._trigger("add",{items:C},t),I.length&&this._trigger("update",{items:I,oldData:o,data:n},t),i.length&&this._trigger("remove",{items:i,oldData:r},t)}}}]),t}(ia);function sa(g,A){return"object"===nC(A)&&null!==A&&g===A.idProp&&"function"==typeof A.add&&"function"==typeof A.clear&&"function"==typeof A.distinct&&"function"==typeof RC(A)&&"function"==typeof A.get&&"function"==typeof A.getDataSet&&"function"==typeof A.getIds&&"number"==typeof A.length&&"function"==typeof mC(A)&&"function"==typeof A.max&&"function"==typeof A.min&&"function"==typeof A.off&&"function"==typeof A.on&&"function"==typeof A.remove&&"function"==typeof A.setOptions&&"function"==typeof A.stream&&"function"==typeof A.update&&"function"==typeof A.updateOnly}function aa(g,A){return"object"===nC(A)&&null!==A&&g===A.idProp&&"function"==typeof RC(A)&&"function"==typeof A.get&&"function"==typeof A.getDataSet&&"function"==typeof A.getIds&&"number"==typeof A.length&&"function"==typeof mC(A)&&"function"==typeof A.off&&"function"==typeof A.on&&"function"==typeof A.stream&&sa(g,A.getDataSet())}var da=Object.freeze({__proto__:null,DELETE:Go,DataSet:na,DataStream:oa,DataView:ra,Queue:Ia,createNewDataPipeFrom:function(g){return new ea(g)},isDataSetLike:sa,isDataViewLike:aa}),ha=uI.trim,la=C.parseFloat,ca=1/la(aI+"-0")!=-1/0?function(g){var A=ha(String(g)),t=la(A);return 0===t&&"-"==A.charAt(0)?-0:t}:la;Y({global:!0,forced:parseFloat!=ca},{parseFloat:ca});var ua=B.parseFloat,pa=Bt.f,fa=I((function(){return!Object.getOwnPropertyNames(1)}));Y({target:"Object",stat:!0,forced:fa},{getOwnPropertyNames:pa});var va=B.Object,ya=function(g){return va.getOwnPropertyNames(g)};function ma(g,A){var t=["node","edge","label"],e=!0,C=xn(A,"chosen");if("boolean"==typeof C)e=C;else if("object"===nC(C)){if(-1===DI(t).call(t,g))throw new Error("choosify: subOption '"+g+"' should be one of '"+t.join("', '")+"'");var I=xn(A,["chosen",g]);"boolean"!=typeof I&&"function"!=typeof I||(e=I)}return e}function ba(g,A,t){if(g.width<=0||g.height<=0)return!1;if(void 0!==t){var e={x:A.x-t.x,y:A.y-t.y};if(0!==t.angle){var C=-t.angle;A={x:Math.cos(C)*e.x-Math.sin(C)*e.y,y:Math.sin(C)*e.x+Math.cos(C)*e.y}}else A=e}var I=g.x+g.width,i=g.y+g.width;return g.left<A.x&&I>A.x&&g.top<A.y&&i>A.y}function wa(g){return"string"==typeof g&&""!==g}function ka(g,A,t,e){var C=e.x,I=e.y;if("function"==typeof e.distanceToBorder){var i=e.distanceToBorder(g,A),o=Math.sin(A)*i,n=Math.cos(A)*i;n===i?(C+=i,I=e.y):o===i?(C=e.x,I-=i):(C+=n,I-=o)}else e.shape.width>e.shape.height?(C=e.x+.5*e.shape.width,I=e.y-t):(C=e.x+t,I=e.y-.5*e.shape.height);return{x:C,y:I}}var xa=function(){function g(A){De(this,g),this.measureText=A,this.current=0,this.width=0,this.height=0,this.lines=[]}return Pe(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 e=A;void 0!==A&&""!==A||(e=" ");var C=this.measureText(e,t),I=sg({},Gs(C));I.text=A,I.width=C.width,I.mod=t,void 0!==A&&""!==A||(I.width=0),this.lines[g].blocks.push(I),this.lines[g].width+=I.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 e=0;e<A.blocks.length;e++){var C=A.blocks[e];t<C.height&&(t=C.height)}A.height=t}}},{key:"determineLabelSize",value:function(){for(var g=0,A=0,t=0;t<this.lines.length;t++){var e=this.lines[t];e.width>g&&(g=e.width),A+=e.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 e={};sg(e,t),e.blocks=[];for(var C=void 0,I=[],i=0;i<t.blocks.length;i++){var o=t.blocks[i];0!==o.width?I.push(o):void 0===C&&(C=o)}0===I.length&&void 0!==C&&I.push(C),e.blocks=I,g.push(e)}}return g}},{key:"finalize",value:function(){this.determineLineHeights(),this.determineLabelSize();var g=this.removeEmptyBlocks();return{width:this.width,height:this.height,lines:g}}}]),g}(),Ea={"<b>":/<b>/,"<i>":/<i>/,"<code>":/<code>/,"</b>":/<\/b>/,"</i>":/<\/i>/,"</code>":/<\/code>/,"*":/\*/,_:/_/,"`":/`/,afterBold:/[^*]/,afterItal:/[^_]/,afterMono:/[^`]/},Oa=function(){function g(A){De(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 Pe(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),e=IC(t,2),C=e[0],I=e[1],i=C.test(this.text.substr(this.position,I));return i&&A&&(this.position+=I-1),i}},{key:"parseEndTag",value:function(g,A,t){var e=this.mod()===g;return!(!(e="mono"===g?e&&this.mono:e&&!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 e=Ea[g];t=void 0!==e?e:new RegExp(g),A=g.length}return[t,A]}}]),g}(),Ta=function(){function g(A,t,e,C){var I=this;De(this,g),this.ctx=A,this.parent=t,this.selected=e,this.hover=C;this.lines=new xa((function(g,t){if(void 0===g)return 0;var i=I.parent.getFormattingValues(A,e,C,t),o=0;""!==g&&(o=I.ctx.measureText(g).width);return{width:o,values:i}}))}return Pe(g,[{key:"process",value:function(g){if(!wa(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"),e=t.length;if(A.multi)for(var C=0;C<e;C++){var I=this.splitBlocks(t[C],A.multi);if(void 0!==I)if(0!==I.length){if(A.maxWdt>0)for(var i=0;i<I.length;i++){var o=I[i].mod,n=I[i].text;this.splitStringIntoLines(n,o,!0)}else for(var r=0;r<I.length;r++){var s=I[r].mod,a=I[r].text;this.lines.append(a,s)}this.lines.newLine()}else this.lines.newLine("")}else if(A.maxWdt>0)for(var d=0;d<e;d++)this.splitStringIntoLines(t[d]);else for(var h=0;h<e;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 Oa(g),t=function(g){return!!/&/.test(g)&&(A.replace(A.text,"&lt;","<")||A.replace(A.text,"&amp;","&")||A.add("&"),!0)};A.position<A.text.length;){var e=A.text.charAt(A.position);A.parseWS(e)||/</.test(e)&&(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(e)||A.add(e),A.position++}return A.emitBlock(),A.blocks}},{key:"splitMarkdownBlocks",value:function(g){for(var A=this,t=new Oa(g),e=!0,C=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),e=!1)),!0)};t.position<t.text.length;){var I=t.text.charAt(t.position);t.parseWS(I)||C(I)||(e||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(I),e=!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 e=A+(""===A?"":" ")+g[t];if(this.overMaxWidth(e))break;A=e,t++}return t}},{key:"getLongestFitWord",value:function(g){for(var A=0;A<g.length&&!this.overMaxWidth(lC(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 e=(g=(g=g.replace(/^( +)/g,"$1\r")).replace(/([^\r][^ ]*)( +)/g,"$1\r$2\r")).split("\r");e.length>0;){var C=this.getLongestFit(e);if(0===C){var I=e[0],i=this.getLongestFitWord(I);this.lines.newLine(lC(I).call(I,0,i),A),e[0]=lC(I).call(I,i)}else{var o=C;" "===e[C-1]?C--:" "===e[o]&&o++;var n=lC(e).call(e,0,C).join("");C==e.length&&t?this.lines.append(n,A):this.lines.newLine(n,A),e=lC(e).call(e,o)}}}}]),g}(),Da=["bold","ital","boldital","mono"],Na=function(){function g(A,t){var e=arguments.length>2&&void 0!==arguments[2]&&arguments[2];De(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=e}return Pe(g,[{key:"setOptions",value:function(g){if(this.elementOptions=g,this.initFontOptions(g.font),wa(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"===nC(g.font)){var A=g.font.size;void 0!==A&&(this.baseSize=A)}}},{key:"initFontOptions",value:function(A){var t=this;an(Da,(function(g){t.fontOptions[g]={}})),g.parseFontString(this.fontOptions,A)?this.fontOptions.vadjust=0:an(A,(function(g,A){null!=g&&"object"!==nC(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=xn(g,"widthConstraint");if("number"==typeof t)A.maxWdt=Number(t),A.minWdt=Number(t);else if("object"===nC(t)){var e=xn(g,["widthConstraint","maximum"]);"number"==typeof e&&(A.maxWdt=Number(e));var C=xn(g,["widthConstraint","minimum"]);"number"==typeof C&&(A.minWdt=Number(C))}var I=xn(g,"heightConstraint");if("number"==typeof I)A.minHgt=Number(I);else if("object"===nC(I)){var i=xn(g,["heightConstraint","minimum"]);"number"==typeof i&&(A.minHgt=Number(i));var o=xn(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),on(this.fontOptions,this.constrain(A)),this.fontOptions.chooser=ma("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={},e=0;e<A.length;++e){var C=A[e],I={};g.parseFontString(I,C)&&(C=I),an(C,(function(g,A){void 0!==g&&(Object.prototype.hasOwnProperty.call(t,A)||(-1!==DI(Da).call(Da,A)?t[A]={}:t[A]=g))}))}return t}},{key:"getFontOption",value:function(A,t,e){for(var C,I=0;I<A.length;++I){var i=A[I];if(Object.prototype.hasOwnProperty.call(i,t)){if(null==(C=i[t]))continue;var o={};if(g.parseFontString(o,C)&&(C=o),Object.prototype.hasOwnProperty.call(C,e))return C[e]}}if(Object.prototype.hasOwnProperty.call(this.fontOptions,e))return this.fontOptions[e];throw new Error("Did not find value for multi-font for property: '"+e+"'")}},{key:"getFontOptions",value:function(g,A){for(var t={},e=["color","size","face","mod","vadjust"],C=0;C<e.length;++C){var I=e[C];t[I]=this.getFontOption(g,A,I)}return t}},{key:"propagateFonts",value:function(g){var A=this,t=[];this.addFontOptionsToPile(t,g),this.fontOptions=this.getBasicOptions(t);for(var e=function(g){var e=Da[g],C=A.fontOptions[e];an(A.getFontOptions(t,e),(function(g,A){C[A]=g})),C.size=Number(C.size),C.vadjust=Number(C.vadjust)},C=0;C<Da.length;++C)e(C)}},{key:"draw",value:function(g,A,t,e,C){var I=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,e,C,A,t,I),this._drawBackground(g),this._drawText(g,A,this.size.yLine,I,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 e=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"middle",C=arguments.length>4?arguments[4]:void 0,I=this._setAlignment(g,A,t,e),i=IC(I,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,C,a.strokeColor),h=IC(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,e){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=e;return[A,t]}},{key:"_getColor",value:function(g,A,t){var e=g||"#000000",C=t||"#ffffff";if(A<=this.elementOptions.scaling.label.drawThreshold){var I=Math.max(0,Math.min(1,1-(this.elementOptions.scaling.label.drawThreshold-A)));e=hn(e,I),C=hn(C,I)}return[e,C]}},{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 e=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,C=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,I=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";this._processLabel(g,A,t),this.size.left=e-.5*this.size.width,this.size.top=C-.5*this.size.height,this.size.yLine=C+.5*(1-this.lineCount)*this.fontOptions.size,"hanging"===I&&(this.size.top+=.5*this.fontOptions.size,this.size.top+=4,this.size.yLine+=4)}},{key:"getFormattingValues",value:function(g,A,t,e){var C=function(g,A,t){return"normal"===A?"mod"===t?"":g[t]:void 0!==g[A][t]?g[A][t]:g[t]},I={color:C(this.fontOptions,e,"color"),size:C(this.fontOptions,e,"size"),face:C(this.fontOptions,e,"face"),mod:C(this.fontOptions,e,"mod"),vadjust:C(this.fontOptions,e,"vadjust"),strokeWidth:this.fontOptions.strokeWidth,strokeColor:this.fontOptions.strokeColor};(A||t)&&("normal"===e&&!0===this.fontOptions.chooser&&this.elementOptions.labelHighlightBold?I.mod="bold":"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(I,this.elementOptions.id,A,t));var i="";return void 0!==I.mod&&""!==I.mod&&(i+=I.mod+" "),i+=I.size+"px "+I.face,g.font=i.replace(/"/g,""),I.font=g.font,I.height=I.size,I}},{key:"differentState",value:function(g,A){return g!==this.selectedState||A!==this.hoverState}},{key:"_processLabelText",value:function(g,A,t,e){return new Ta(g,this,A,t).process(e)}},{key:"_processLabel",value:function(g,A,t){if(!1!==this.labelDirty||this.differentState(A,t)){var e=this._processLabelText(g,A,t,this.elementOptions.label);this.fontOptions.minWdt>0&&e.width<this.fontOptions.minWdt&&(e.width=this.fontOptions.minWdt),this.size.labelHeight=e.height,this.fontOptions.minHgt>0&&e.height<this.fontOptions.minHgt&&(e.height=this.fontOptions.minHgt),this.lines=e.lines,this.lineCount=e.lines.length,this.size.width=e.width,this.size.height=e.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}(),Ra=function(){function g(A,t,e){De(this,g),this.body=t,this.labelModule=e,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 Pe(g,[{key:"setOptions",value:function(g){this.options=g}},{key:"_setMargins",value:function(g){this.margin={},this.options.margin&&("object"==nC(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),_I(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,e,C){void 0!==t&&this.resize(t,e,C),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,e,C){this._updateBoundingBox(g,A,t,e,C)}},{key:"getDimensionsFromLabel",value:function(g,A,t){this.textSize=this.labelModule.getTextSize(g,A,t);var e=this.textSize.width,C=this.textSize.height;return 0===e&&(e=14,C=14),{width:e,height:C}}}]),g}();function Pa(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var Ma=function(g){Is(t,g);var A=Pa(t);function t(g,e,C){var I;return De(this,t),(I=A.call(this,g,e,C))._setMargins(C),I}return Pe(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 e=this.getDimensionsFromLabel(g,A,t);this.width=e.width+this.margin.right+this.margin.left,this.height=e.height+this.margin.top+this.margin.bottom,this.radius=this.width/2}}},{key:"draw",value:function(g,A,t,e,C,I){this.resize(g,e,C),this.left=A-this.width/2,this.top=t-this.height/2,this.initContextForDraw(g,I),yg(g,this.left,this.top,this.width,this.height,I.borderRadius),this.performFill(g,I),this.updateBoundingBox(A,t,g,e,C),this.labelModule.draw(g,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,e,C)}},{key:"updateBoundingBox",value:function(g,A,t,e,C){this._updateBoundingBox(g,A,t,e,C);var I=this.options.shapeProperties.borderRadius;this._addBoundingBoxMargin(I)}},{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}(Ra);function Ba(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var za=function(g){Is(t,g);var A=Ba(t);function t(g,e,C){var I;return De(this,t),(I=A.call(this,g,e,C)).labelOffset=0,I.selected=!1,I}return Pe(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"==nC(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,e=1;this.imageObj.width&&this.imageObj.height&&(this.imageObj.width>this.imageObj.height?t=this.imageObj.width/this.imageObj.height:e=this.imageObj.height/this.imageObj.width),g=2*this.options.size*t,A=2*this.options.size*e}else{var C=this._getImagePadding();g=this.imageObj.width+C.left+C.right,A=this.imageObj.height+C.top+C.bottom}this.width=g,this.height=A,this.radius=.5*this.width}},{key:"_drawRawCircle",value:function(g,A,t,e){this.initContextForDraw(g,e),vg(g,A,t,e.size),this.performFill(g,e)}},{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 e=this._getImagePadding(),C=this.left+e.left,I=this.top+e.top,i=this.width-e.left-e.right,o=this.height-e.top-e.bottom;this.imageObj.drawImageAtPosition(g,t,C,I,i,o),this.disableShadow(g,A)}}},{key:"_drawImageLabel",value:function(g,A,t,e,C){var I=0;if(void 0!==this.height){I=.5*this.height;var i=this.labelModule.getTextSize(g,e,C);i.lineCount>=1&&(I+=i.height/2)}var o=t+I;this.options.label&&(this.labelOffset=I),this.labelModule.draw(g,A,o,e,C,"hanging")}}]),t}(Ra);function Za(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var Sa=function(g){Is(t,g);var A=Za(t);function t(g,e,C){var I;return De(this,t),(I=A.call(this,g,e,C))._setMargins(C),I}return Pe(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 e=this.getDimensionsFromLabel(g,A,t),C=Math.max(e.width+this.margin.right+this.margin.left,e.height+this.margin.top+this.margin.bottom);this.options.size=C/2,this.width=C,this.height=C,this.radius=this.width/2}}},{key:"draw",value:function(g,A,t,e,C,I){this.resize(g,e,C),this.left=A-this.width/2,this.top=t-this.height/2,this._drawRawCircle(g,A,t,I),this.updateBoundingBox(A,t),this.labelModule.draw(g,this.left+this.textSize.width/2+this.margin.left,t,e,C)}},{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){return g&&this.resize(g),.5*this.width}}]),t}(za);function Fa(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var Ga=function(g){Is(t,g);var A=Fa(t);function t(g,e,C,I,i){var o;return De(this,t),(o=A.call(this,g,e,C)).setImages(I,i),o}return Pe(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,e=void 0===this.imageObj.src||void 0===this.imageObj.width||void 0===this.imageObj.height;if(e){var C=2*this.options.size;return this.width=C,this.height=C,void(this.radius=.5*this.width)}this.needsRefresh(A,t)&&this._resizeImage()}},{key:"draw",value:function(g,A,t,e,C,I){this.switchImages(e),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,I),g.save(),g.clip(),this._drawImageAtPosition(g,I),g.restore(),this._drawImageLabel(g,i,o,e,C),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){return g&&this.resize(g),.5*this.width}}]),t}(za);function La(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var ja=function(g){Is(t,g);var A=La(t);function t(g,e,C){return De(this,t),A.call(this,g,e,C)}return Pe(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,e=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{size:this.options.size};if(this.needsRefresh(A,t)){var C,I;this.labelModule.getTextSize(g,A,t);var i=2*e.size;this.width=null!==(C=this.customSizeWidth)&&void 0!==C?C:i,this.height=null!==(I=this.customSizeHeight)&&void 0!==I?I:i,this.radius=.5*this.width}}},{key:"_drawShape",value:function(g,A,t,e,C,I,i,o){var n,r=this;return this.resize(g,I,i,o),this.left=e-this.width/2,this.top=C-this.height/2,this.initContextForDraw(g,o),(n=A,Object.prototype.hasOwnProperty.call(kg,n)?kg[n]:function(g){for(var A=arguments.length,t=new Array(A>1?A-1:0),e=1;e<A;e++)t[e-1]=arguments[e];CanvasRenderingContext2D.prototype[n].call(g,t)})(g,e,C,o.size),this.performFill(g,o),void 0!==this.options.icon&&void 0!==this.options.icon.code&&(g.font=(I?"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,e,C)),{drawExternalLabel:function(){if(void 0!==r.options.label){r.labelModule.calculateLabelSize(g,I,i,e,C,"hanging");var A=C+.5*r.height+.5*r.labelModule.size.height;r.labelModule.draw(g,e,A,I,i,"hanging")}r.updateBoundingBox(e,C)}}}},{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}(Ra);function Va(g,A){var t=wC(g);if(ve){var e=ve(g);A&&(e=oI(e).call(e,(function(A){return we(g,A).enumerable}))),t.push.apply(t,e)}return t}function Ya(g){for(var A=1;A<arguments.length;A++){var t,e=null!=arguments[A]?arguments[A]:{};if(A%2)RC(t=Va(Object(e),!0)).call(t,(function(A){Me(g,A,e[A])}));else if(xe)Ee(g,xe(e));else{var C;RC(C=Va(Object(e))).call(C,(function(A){Te(g,A,we(e,A))}))}}return g}function Wa(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var Qa=function(g){Is(t,g);var A=Wa(t);function t(g,e,C,I){var i;return De(this,t),(i=A.call(this,g,e,C,I)).ctxRenderer=I,i}return Pe(t,[{key:"draw",value:function(g,A,t,e,C,I){this.resize(g,e,C,I),this.left=A-this.width/2,this.top=t-this.height/2,g.save();var i=this.ctxRenderer({ctx:g,id:this.options.id,x:A,y:t,state:{selected:e,hover:C},style:Ya({},I),label:this.options.label});if(null!=i.drawNode&&i.drawNode(),g.restore(),i.drawExternalLabel){var o=i.drawExternalLabel;i.drawExternalLabel=function(){g.save(),o(),g.restore()}}return i.nodeDimensions&&(this.customSizeWidth=i.nodeDimensions.width,this.customSizeHeight=i.nodeDimensions.height),i}},{key:"distanceToBorder",value:function(g,A){return this._distanceToBorder(g,A)}}]),t}(ja);function Ua(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var _a=function(g){Is(t,g);var A=Ua(t);function t(g,e,C){var I;return De(this,t),(I=A.call(this,g,e,C))._setMargins(C),I}return Pe(t,[{key:"resize",value:function(g,A,t){if(this.needsRefresh(A,t)){var e=this.getDimensionsFromLabel(g,A,t).width+this.margin.right+this.margin.left;this.width=e,this.height=e,this.radius=this.width/2}}},{key:"draw",value:function(g,A,t,e,C,I){this.resize(g,e,C),this.left=A-this.width/2,this.top=t-this.height/2,this.initContextForDraw(g,I),bg(g,A-this.width/2,t-this.height/2,this.width,this.height),this.performFill(g,I),this.updateBoundingBox(A,t,g,e,C),this.labelModule.draw(g,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,e,C)}},{key:"distanceToBorder",value:function(g,A){return this._distanceToBorder(g,A)}}]),t}(Ra);function Ha(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var Ka=function(g){Is(t,g);var A=Ha(t);function t(g,e,C){return De(this,t),A.call(this,g,e,C)}return Pe(t,[{key:"draw",value:function(g,A,t,e,C,I){return this._drawShape(g,"diamond",4,A,t,e,C,I)}},{key:"distanceToBorder",value:function(g,A){return this._distanceToBorder(g,A)}}]),t}(ja);function Xa(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var Ja=function(g){Is(t,g);var A=Xa(t);function t(g,e,C){return De(this,t),A.call(this,g,e,C)}return Pe(t,[{key:"draw",value:function(g,A,t,e,C,I){return this._drawShape(g,"circle",2,A,t,e,C,I)}},{key:"distanceToBorder",value:function(g){return g&&this.resize(g),this.options.size}}]),t}(ja);function qa(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var $a=function(g){Is(t,g);var A=qa(t);function t(g,e,C){return De(this,t),A.call(this,g,e,C)}return Pe(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 e=this.getDimensionsFromLabel(g,A,t);this.height=2*e.height,this.width=e.width+e.height,this.radius=.5*this.width}}},{key:"draw",value:function(g,A,t,e,C,I){this.resize(g,e,C),this.left=A-.5*this.width,this.top=t-.5*this.height,this.initContextForDraw(g,I),mg(g,this.left,this.top,this.width,this.height),this.performFill(g,I),this.updateBoundingBox(A,t,g,e,C),this.labelModule.draw(g,A,t,e,C)}},{key:"distanceToBorder",value:function(g,A){g&&this.resize(g);var t=.5*this.width,e=.5*this.height,C=Math.sin(A)*t,I=Math.cos(A)*e;return t*e/Math.sqrt(C*C+I*I)}}]),t}(Ra);function gd(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var Ad=function(g){Is(t,g);var A=gd(t);function t(g,e,C){var I;return De(this,t),(I=A.call(this,g,e,C))._setMargins(C),I}return Pe(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,e,C,I){var i=this;return this.resize(g,e,C),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,e,C,I),{drawExternalLabel:function(){if(void 0!==i.options.label){i.labelModule.draw(g,i.left+i.iconSize.width/2+i.margin.left,t+i.height/2+5,e)}i.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,e,C,I){var i=Number(this.options.icon.size);void 0!==this.options.icon.code?(g.font=[null!=this.options.icon.weight?this.options.icon.weight:e?"bold":"",(null!=this.options.icon.weight&&e?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,I),g.fillText(this.options.icon.code,A,t),this.disableShadow(g,I)):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}(Ra);function td(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var ed=function(g){Is(t,g);var A=td(t);function t(g,e,C,I,i){var o;return De(this,t),(o=A.call(this,g,e,C)).setImages(I,i),o}return Pe(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,e=void 0===this.imageObj.src||void 0===this.imageObj.width||void 0===this.imageObj.height;if(e){var C=2*this.options.size;return this.width=C,void(this.height=C)}this.needsRefresh(A,t)&&this._resizeImage()}},{key:"draw",value:function(g,A,t,e,C,I){g.save(),this.switchImages(e),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=(e?r:n)/this.body.view.scale;g.lineWidth=Math.min(this.width,s),g.beginPath();var a=e?this.options.color.highlight.border:C?this.options.color.hover.border:this.options.color.border,d=e?this.options.color.highlight.background:C?this.options.color.hover.background:this.options.color.background;void 0!==I.opacity&&(a=hn(a,I.opacity),d=hn(d,I.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),_I(g).call(g),this.performStroke(g,I),g.closePath()}this._drawImageAtPosition(g,I),this._drawImageLabel(g,i,o,e,C),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}(za);function Cd(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var Id=function(g){Is(t,g);var A=Cd(t);function t(g,e,C){return De(this,t),A.call(this,g,e,C)}return Pe(t,[{key:"draw",value:function(g,A,t,e,C,I){return this._drawShape(g,"square",2,A,t,e,C,I)}},{key:"distanceToBorder",value:function(g,A){return this._distanceToBorder(g,A)}}]),t}(ja);function id(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var od=function(g){Is(t,g);var A=id(t);function t(g,e,C){return De(this,t),A.call(this,g,e,C)}return Pe(t,[{key:"draw",value:function(g,A,t,e,C,I){return this._drawShape(g,"hexagon",4,A,t,e,C,I)}},{key:"distanceToBorder",value:function(g,A){return this._distanceToBorder(g,A)}}]),t}(ja);function nd(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var rd=function(g){Is(t,g);var A=nd(t);function t(g,e,C){return De(this,t),A.call(this,g,e,C)}return Pe(t,[{key:"draw",value:function(g,A,t,e,C,I){return this._drawShape(g,"star",4,A,t,e,C,I)}},{key:"distanceToBorder",value:function(g,A){return this._distanceToBorder(g,A)}}]),t}(ja);function sd(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var ad=function(g){Is(t,g);var A=sd(t);function t(g,e,C){var I;return De(this,t),(I=A.call(this,g,e,C))._setMargins(C),I}return Pe(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,e,C,I){this.resize(g,e,C),this.left=A-this.width/2,this.top=t-this.height/2,this.enableShadow(g,I),this.labelModule.draw(g,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,e,C),this.disableShadow(g,I),this.updateBoundingBox(A,t,g,e,C)}},{key:"distanceToBorder",value:function(g,A){return this._distanceToBorder(g,A)}}]),t}(Ra);function dd(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var hd=function(g){Is(t,g);var A=dd(t);function t(g,e,C){return De(this,t),A.call(this,g,e,C)}return Pe(t,[{key:"draw",value:function(g,A,t,e,C,I){return this._drawShape(g,"triangle",3,A,t,e,C,I)}},{key:"distanceToBorder",value:function(g,A){return this._distanceToBorder(g,A)}}]),t}(ja);function ld(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var cd=function(g){Is(t,g);var A=ld(t);function t(g,e,C){return De(this,t),A.call(this,g,e,C)}return Pe(t,[{key:"draw",value:function(g,A,t,e,C,I){return this._drawShape(g,"triangleDown",3,A,t,e,C,I)}},{key:"distanceToBorder",value:function(g,A){return this._distanceToBorder(g,A)}}]),t}(ja);function ud(g,A){var t=wC(g);if(ve){var e=ve(g);A&&(e=oI(e).call(e,(function(A){return we(g,A).enumerable}))),t.push.apply(t,e)}return t}function pd(g){for(var A=1;A<arguments.length;A++){var t,e=null!=arguments[A]?arguments[A]:{};if(A%2)RC(t=ud(Object(e),!0)).call(t,(function(A){Me(g,A,e[A])}));else if(xe)Ee(g,xe(e));else{var C;RC(C=ud(Object(e))).call(C,(function(A){Te(g,A,we(e,A))}))}}return g}var fd=function(){function g(A,t,e,C,I,i){De(this,g),this.options=bn(I),this.globalOptions=I,this.defaultOptions=i,this.body=t,this.edges=[],this.id=void 0,this.imagelist=e,this.grouplist=C,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 Na(this.body,this.options,!1),this.setOptions(A)}return Pe(g,[{key:"attachEdge",value:function(g){var A;-1===DI(A=this.edges).call(A,g)&&this.edges.push(g)}},{key:"detachEdge",value:function(g){var A,t,e=DI(A=this.edges).call(A,g);-1!=e&&WC(t=this.edges).call(t,e,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=mI(A.x),this.predefinedPosition=!0)),void 0!==A.y&&(null===A.y?(this.y=void 0,this.predefinedPosition=!1):(this.y=mI(A.y),this.predefinedPosition=!0)),void 0!==A.size&&(this.baseSize=A.size),void 0!==A.value&&(A.value=ua(A.value)),g.parseOptions(this.options,A,!0,this.globalOptions,this.grouplist);var e=[A,this.options,this.defaultOptions];return this.chooser=ma("node",e),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?(null!=this.options.borderWidthSelected?g.borderWidth=this.options.borderWidthSelected: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=hn(g.borderColor,A),g.color=hn(g.color,A),g.shadowColor=hn(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,pd(pd({},A),{},{color:A&&A.color||this._localColor||void 0}),this.grouplist);var t=this.grouplist.get(this.options.group,!1),e=[A,this.options,t,this.globalOptions,this.defaultOptions];this.labelModule.update(this.options,e),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 Ma(this.options,this.body,this.labelModule);break;case"circle":this.shape=new Sa(this.options,this.body,this.labelModule);break;case"circularImage":this.shape=new Ga(this.options,this.body,this.labelModule,this.imageObj,this.imageObjAlt);break;case"custom":this.shape=new Qa(this.options,this.body,this.labelModule,this.options.ctxRenderer);break;case"database":this.shape=new _a(this.options,this.body,this.labelModule);break;case"diamond":this.shape=new Ka(this.options,this.body,this.labelModule);break;case"dot":this.shape=new Ja(this.options,this.body,this.labelModule);break;case"ellipse":this.shape=new $a(this.options,this.body,this.labelModule);break;case"icon":this.shape=new Ad(this.options,this.body,this.labelModule);break;case"image":this.shape=new ed(this.options,this.body,this.labelModule,this.imageObj,this.imageObjAlt);break;case"square":this.shape=new Id(this.options,this.body,this.labelModule);break;case"hexagon":this.shape=new od(this.options,this.body,this.labelModule);break;case"star":this.shape=new rd(this.options,this.body,this.labelModule);break;case"text":this.shape=new ad(this.options,this.body,this.labelModule);break;case"triangle":this.shape=new hd(this.options,this.body,this.labelModule);break;case"triangleDown":this.shape=new cd(this.options,this.body,this.labelModule);break;default:this.shape=new $a(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 e=this.options.scaling.customScalingFunction(g,A,t,this.options.value),C=this.options.scaling.max-this.options.scaling.min;if(!0===this.options.scaling.label.enabled){var I=this.options.scaling.label.max-this.options.scaling.label.min;this.options.font.size=this.options.scaling.label.min+e*I}this.options.size=this.options.scaling.min+e*C}else this.options.size=this.baseSize,this.options.font.size=this.baseFontSize;this.updateLabelModule()}},{key:"draw",value:function(g){var A=this.getFormattingValues();return 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()&&ba(this.labelModule.getSize(),g)&&A.push({nodeId:this.id,labelId:0}),ba(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,e){var C;if(void 0!==e){var I=A.group;if(void 0!==t&&void 0!==t.group&&I!==t.group)throw new Error("updateGroupOptions: group values in options don't match.");if("number"==typeof I||"string"==typeof I&&""!=I){var i=e.get(I);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=oI(C=ya(t)).call(C,(function(g){return null!=t[g]}));o.push("font"),In(o,A,i),A.color=cn(A.color)}}}},{key:"parseOptions",value:function(A,t){var e=arguments.length>2&&void 0!==arguments[2]&&arguments[2],C=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},I=arguments.length>4?arguments[4]:void 0,i=["color","fixed","shadow"];if(In(i,A,t,e),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),wn(A,t,"shadow",C),void 0!==t.color&&null!==t.color){var o=cn(t.color);en(A.color,o)}else!0===e&&null===t.color&&(A.color=bn(C.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===e&&null===t.font&&(A.font=bn(C.font)),g.updateGroupOptions(A,t,I),void 0!==t.scaling&&wn(A.scaling,t.scaling,"label",C.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.error("%cNegative or zero mass disallowed"+t+", setting mass to 1.",Zn),g.mass=1}}}]),g}();function vd(g,A){var t;if(void 0===sC||null==Et(g)){if(uC(g)||(t=function(g,A){var t;if(!g)return;if("string"==typeof g)return yd(g,A);var e=lC(t=Object.prototype.toString.call(g)).call(t,8,-1);"Object"===e&&g.constructor&&(e=g.constructor.name);if("Map"===e||"Set"===e)return ft(g);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return yd(g,A)}(g))||A&&g&&"number"==typeof g.length){t&&(g=t);var e=0,C=function(){};return{s:C,n:function(){return e>=g.length?{done:!0}:{done:!1,value:g[e++]}},e:function(g){throw g},f:C}}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 I,i=!0,o=!1;return{s:function(){t=Ot(g)},n:function(){var g=t.next();return i=g.done,g},e:function(g){o=!0,I=g},f:function(){try{i||null==t.return||t.return()}finally{if(o)throw I}}}}function yd(g,A){(null==A||A>g.length)&&(A=g.length);for(var t=0,e=new Array(A);t<A;t++)e[t]=g[t];return e}var md=function(){function g(A,t,e,C){var I,i=this;if(De(this,g),this.body=A,this.images=t,this.groups=e,this.layoutEngine=C,this.body.functions.createNode=fg(I=this.create).call(I,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:void 0,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,e){if(A===g)return.5;var C=1/(A-g);return Math.max(0,(e-g)*C)}},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=bn(this.defaultOptions),this.bindEventListeners()}return Pe(g,[{key:"bindEventListeners",value:function(){var g,A,t=this;this.body.emitter.on("refreshNodes",fg(g=this.refresh).call(g,this)),this.body.emitter.on("refresh",fg(A=this.refresh).call(A,this)),this.body.emitter.on("destroy",(function(){an(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(fd.parseOptions(this.options,g),void 0!==g.opacity&&(jr(g.opacity)||!Wr(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,e=wC(this.body.nodes);t<e.length;t++){var C=e[t];this.body.nodes[C].updateLabelModule(),this.body.nodes[C].needsRefresh()}if(void 0!==g.size)for(var I in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,I)&&this.body.nodes[I].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(aa("id",g))this.body.data.nodes=g;else if(uC(g))this.body.data.nodes=new na,this.body.data.nodes.add(g);else{if(g)throw new TypeError("Array or DataSet expected");this.body.data.nodes=new na}if(t&&an(this.nodesListeners,(function(g,A){t.off(A,g)})),this.body.nodes={},this.body.data.nodes){var e=this;an(this.nodesListeners,(function(g,A){e.body.data.nodes.on(A,g)}));var C=this.body.data.nodes.getIds();this.add(C,!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],e=[],C=0;C<g.length;C++){A=g[C];var I=this.body.data.nodes.get(A),i=this.create(I);e.push(i),this.body.nodes[A]=i}this.layoutEngine.positionInitially(e),!1===t&&this.body.emitter.emit("_dataChanged")}},{key:"update",value:function(g,A,t){for(var e=this.body.nodes,C=!1,I=0;I<g.length;I++){var i=g[I],o=e[i],n=A[I];void 0!==o?o.setOptions(n)&&(C=!0):(C=!0,o=this.create(n),e[i]=o)}C||void 0===t||(C=Kr(A).call(A,(function(g,A){var e=t[A];return e&&e.level!==g.level}))),!0===C?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]:fd;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];an(this.body.nodes,(function(t,e){var C=g.body.data.nodes.get(e);void 0!==C&&(!0===A&&t.setOptions({x:null,y:null}),t.setOptions({fixed:!1}),t.setOptions(C))}))}},{key:"getPositions",value:function(g){var A={};if(void 0!==g){if(!0===uC(g)){for(var t=0;t<g.length;t++)if(void 0!==this.body.nodes[g[t]]){var e=this.body.nodes[g[t]];A[g[t]]={x:Math.round(e.x),y:Math.round(e.y)}}}else if(void 0!==this.body.nodes[g]){var C=this.body.nodes[g];A[g]={x:Math.round(C.x),y:Math.round(C.y)}}}else for(var I=0;I<this.body.nodeIndices.length;I++){var i=this.body.nodes[this.body.nodeIndices[I]];A[this.body.nodeIndices[I]]={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(),e=vd(t.get());try{for(e.s();!(g=e.n()).done;){var C=g.value,I=C.id,i=this.body.nodes[I],o=Math.round(i.x),n=Math.round(i.y);C.x===o&&C.y===n||A.push({id:I,x:o,y:n})}}catch(g){e.e(g)}finally{e.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 e=this.body.nodes[g],C={},I=0;I<e.edges.length;I++){var i=e.edges[I];"to"!==A&&i.toId==e.id?void 0===C[i.fromId]&&(t.push(i.fromId),C[i.fromId]=!0):"from"!==A&&i.fromId==e.id&&void 0===C[i.toId]&&(t.push(i.toId),C[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],e=0;e<t.edges.length;e++)A.push(t.edges[e].id);else console.error("NodeId provided for getConnectedEdges does not exist. Provided: ",g);return A}},{key:"moveNode",value:function(g,A,t){var e=this;void 0!==this.body.nodes[g]?(this.body.nodes[g].x=Number(A),this.body.nodes[g].y=Number(t),WI((function(){e.body.emitter.emit("startSimulation")}),0)):console.error("Node id supplied to moveNode does not exist. Provided: ",g)}}]),g}();Y({target:"Reflect",stat:!0},{get:function g(A,t){var e,C,I=arguments.length<3?A:arguments[2];return S(A)===I?A[t]:(e=E.f(A,t))?y(e,"value")?e.value:void 0===e.get?void 0:e.get.call(I):p(C=tA(A))?g(C,t,I):void 0}});var bd=B.Reflect.get,wd=be;function kd(g,A,t){return(kd="undefined"!=typeof Reflect&&bd?bd:function(g,A,t){var e=function(g,A){for(;!Object.prototype.hasOwnProperty.call(g,A)&&null!==(g=ns(g)););return g}(g,A);if(e){var C=wd(e,A);return C.get?C.get.call(t):C.value}})(g,A,t||g)}var xd=Math.hypot,Ed=Math.abs,Od=Math.sqrt,Td=!!xd&&xd(1/0,NaN)!==1/0;Y({target:"Math",stat:!0,forced:Td},{hypot:function(g,A){for(var t,e,C=0,I=0,i=arguments.length,o=0;I<i;)o<(t=Ed(arguments[I++]))?(C=C*(e=o/t)*e+1,o=t):C+=t>0?(e=t/o)*e:t;return o===1/0?1/0:o*Od(C)}});var Dd=B.Math.hypot;function Nd(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var Rd=function(){function g(){De(this,g)}return Pe(g,null,[{key:"transform",value:function(g,A){uC(g)||(g=[g]);for(var t=A.point.x,e=A.point.y,C=A.angle,I=A.length,i=0;i<g.length;++i){var o=g[i],n=o.x*Math.cos(C)-o.y*Math.sin(C),r=o.x*Math.sin(C)+o.y*Math.cos(C);o.x=t+I*n,o.y=e+I*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}(),Pd=function(g){Is(t,g);var A=Nd(t);function t(){return De(this,t),A.apply(this,arguments)}return Pe(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,e=null!=A.imageHeight?A.imageHeight:A.image.height;A.image.drawImageAtPosition(g,1,-t/2,0,t,e),g.restore()}return!1}}]),t}(Rd),Md=function(g){Is(t,g);var A=Nd(t);function t(){return De(this,t),A.apply(this,arguments)}return Pe(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 Rd.transform(t,A),Rd.drawPath(g,t),!0}}]),t}(Rd),Bd=function(){function g(){De(this,g)}return Pe(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 Rd.transform(t,A),Rd.drawPath(g,t),!0}}]),g}(),zd=function(){function g(){De(this,g)}return Pe(g,null,[{key:"draw",value:function(g,A){var t={x:-.4,y:0};Rd.transform(t,A),g.strokeStyle=g.fillStyle,g.fillStyle="rgba(0, 0, 0, 0)";var e=Math.PI,C=A.angle-e/2,I=A.angle+e/2;return g.beginPath(),g.arc(t.x,t.y,.4*A.length,C,I,!1),g.stroke(),!0}}]),g}(),Zd=function(){function g(){De(this,g)}return Pe(g,null,[{key:"draw",value:function(g,A){var t={x:-.3,y:0};Rd.transform(t,A),g.strokeStyle=g.fillStyle,g.fillStyle="rgba(0, 0, 0, 0)";var e=Math.PI,C=A.angle+e/2,I=A.angle+3*e/2;return g.beginPath(),g.arc(t.x,t.y,.4*A.length,C,I,!1),g.stroke(),!0}}]),g}(),Sd=function(){function g(){De(this,g)}return Pe(g,null,[{key:"draw",value:function(g,A){var t=[{x:.02,y:0},{x:-1,y:.3},{x:-1,y:-.3}];return Rd.transform(t,A),Rd.drawPath(g,t),!0}}]),g}(),Fd=function(){function g(){De(this,g)}return Pe(g,null,[{key:"draw",value:function(g,A){var t=[{x:0,y:.3},{x:0,y:-.3},{x:-1,y:0}];return Rd.transform(t,A),Rd.drawPath(g,t),!0}}]),g}(),Gd=function(){function g(){De(this,g)}return Pe(g,null,[{key:"draw",value:function(g,A){var t={x:-.4,y:0};return Rd.transform(t,A),vg(g,t.x,t.y,.4*A.length),!0}}]),g}(),Ld=function(){function g(){De(this,g)}return Pe(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 Rd.transform(t,A),Rd.drawPath(g,t),!0}}]),g}(),jd=function(){function g(){De(this,g)}return Pe(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 Rd.transform(t,A),Rd.drawPath(g,t),!0}}]),g}(),Vd=function(){function g(){De(this,g)}return Pe(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 Rd.transform(t,A),Rd.drawPath(g,t),!0}}]),g}(),Yd=function(){function g(){De(this,g)}return Pe(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 Rd.transform(t,A),Rd.drawPath(g,t),!0}}]),g}(),Wd=function(){function g(){De(this,g)}return Pe(g,null,[{key:"draw",value:function(g,A){var t;switch(A.type&&(t=A.type.toLowerCase()),t){case"image":return Pd.draw(g,A);case"circle":return Gd.draw(g,A);case"box":return jd.draw(g,A);case"crow":return Bd.draw(g,A);case"curve":return zd.draw(g,A);case"diamond":return Vd.draw(g,A);case"inv_curve":return Zd.draw(g,A);case"triangle":return Sd.draw(g,A);case"inv_triangle":return Fd.draw(g,A);case"bar":return Ld.draw(g,A);case"vee":return Yd.draw(g,A);case"arrow":default:return Md.draw(g,A)}}}]),g}();function Qd(g,A){var t=wC(g);if(ve){var e=ve(g);A&&(e=oI(e).call(e,(function(A){return we(g,A).enumerable}))),t.push.apply(t,e)}return t}function Ud(g){for(var A=1;A<arguments.length;A++){var t,e=null!=arguments[A]?arguments[A]:{};if(A%2)RC(t=Qd(Object(e),!0)).call(t,(function(A){Me(g,A,e[A])}));else if(xe)Ee(g,xe(e));else{var C;RC(C=Qd(Object(e))).call(C,(function(A){Te(g,A,we(e,A))}))}}return g}var _d=function(){function g(A,t,e){De(this,g),this._body=t,this._labelModule=e,this.color={},this.colorDirty=!0,this.hoverWidth=1.5,this.selectionWidth=2,this.setOptions(A),this.fromPoint=this.from,this.toPoint=this.to}return Pe(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,e){var C=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,C):this._drawLine(g,A,C)}},{key:"_drawLine",value:function(g,A,t,e,C){if(this.from!=this.to)this._line(g,A,t,e,C);else{var I=IC(this._getCircleData(g),3),i=I[0],o=I[1],n=I[2];this._circle(g,A,i,o,n)}}},{key:"_drawDashedLine",value:function(g,A,t,e,C){g.lineCap="round";var I=uC(A.dashes)?A.dashes:[5,5];if(void 0!==g.setLineDash){if(g.save(),g.setLineDash(I),g.lineDashOffset=0,this.from!=this.to)this._line(g,A,t);else{var i=IC(this._getCircleData(g),3),o=i[0],n=i[1],r=i[2];this._circle(g,A,o,n,r)}g.setLineDash([0]),g.lineDashOffset=0,g.restore()}else{if(this.from!=this.to)wg(g,this.from.x,this.from.y,this.to.x,this.to.y,I);else{var s=IC(this._getCircleData(g),3),a=s[0],d=s[1],h=s[2];this._circle(g,A,a,d,h)}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=IC(lC(A=this._getCircleData(g)).call(A,0,2),2),e=t[0],C=t[1];return{from:this._findBorderPositionCircle(this.from,g,{x:e,y:C,low:.25,high:.6,direction:-1}),to:this._findBorderPositionCircle(this.from,g,{x:e,y:C,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=ka(g,this.options.selfReference.angle,A,this.from);return[t.x,t.y,A]}},{key:"_pointOnCircle",value:function(g,A,t,e){var C=2*e*Math.PI;return{x:g+t*Math.cos(C),y:A-t*Math.sin(C)}}},{key:"_findBorderPositionCircle",value:function(g,A,t){var e,C=t.x,I=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),e=this._pointOnCircle(C,I,r,s);var h=Math.atan2(g.y-e.y,g.x-e.x),l=g.distanceToBorder(A,h)+a-Math.sqrt(Math.pow(e.x-g.x,2)+Math.pow(e.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 Ud(Ud({},e),{},{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),e=this.from.options.color.highlight.border,C=this.to.options.color.highlight.border;return!1===this.from.selected&&!1===this.to.selected?(e=hn(this.from.options.color.border,A.opacity),C=hn(this.to.options.color.border,A.opacity)):!0===this.from.selected&&!1===this.to.selected?C=this.to.options.color.border:!1===this.from.selected&&!0===this.to.selected&&(e=this.from.options.color.border),t.addColorStop(0,e),t.addColorStop(1,C),t}return"to"===A.inheritsColor?hn(this.to.options.color.border,A.opacity):hn(this.from.options.color.border,A.opacity)}return hn(A.color,A.opacity)}},{key:"_circle",value:function(g,A,t,e,C){this.enableShadow(g,A);var I=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:e,low:o,high:n,direction:-1}),s=this._findBorderPositionCircle(this.from,g,{x:t,y:e,low:o,high:n,direction:1});I=Math.atan2(r.y-e,r.x-t),i=Math.atan2(s.y-e,s.x-t)}g.beginPath(),g.arc(t,e,C,I,i,!1),g.stroke(),this.disableShadow(g,A)}},{key:"getDistanceToEdge",value:function(g,A,t,e,C,I){if(this.from!=this.to)return this._getDistanceToEdge(g,A,t,e,C,I);var i=IC(this._getCircleData(void 0),3),o=i[0],n=i[1],r=i[2],s=o-C,a=n-I;return Math.abs(Math.sqrt(s*s+a*a)-r)}},{key:"_getDistanceToLine",value:function(g,A,t,e,C,I){var i=t-g,o=e-A,n=((C-g)*i+(I-A)*o)/(i*i+o*o);n>1?n=1:n<0&&(n=0);var r=g+n*i-C,s=A+n*o-I;return Math.sqrt(r*r+s*s)}},{key:"getArrowData",value:function(g,A,t,e,C,I){var i,o,n,r,s,a,d,h=I.width;"from"===A?(n=this.from,r=this.to,s=I.fromArrowScale<0,a=Math.abs(I.fromArrowScale),d=I.fromArrowType):"to"===A?(n=this.to,r=this.from,s=I.toArrowScale<0,a=Math.abs(I.toArrowScale),d=I.toArrowType):(n=this.to,r=this.from,s=I.middleArrowScale<0,a=Math.abs(I.middleArrowScale),d=I.middleArrowType);var l=15*a+3*h;if(n!=r){var c=l/Dd(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 f=(s?-c:c)/2,v=this.getPoint(.5+f,t),y=this.getPoint(.5-f,t);i=Math.atan2(v.y-y.y,v.x-y.x),o=this.getPoint(.5,t)}}else{var m=IC(this._getCircleData(g),3),b=m[0],w=m[1],k=m[2];if("from"===A){var x=this.options.selfReference.angle,E=this.options.selfReference.angle+Math.PI,O=this._findBorderPositionCircle(this.from,g,{x:b,y:w,low:x,high:E,direction:-1});i=-2*O.t*Math.PI+1.5*Math.PI+.1*Math.PI,o=O}else if("to"===A){var T=this.options.selfReference.angle,D=this.options.selfReference.angle+Math.PI,N=this._findBorderPositionCircle(this.from,g,{x:b,y:w,low:T,high:D,direction:1});i=-2*N.t*Math.PI+1.5*Math.PI-1.1*Math.PI,o=N}else{var R=this.options.selfReference.angle/(2*Math.PI);o=this._pointOnCircle(b,w,k,R),i=-2*R*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,e,C){g.strokeStyle=this.getColor(g,A),g.fillStyle=g.strokeStyle,g.lineWidth=A.width,Wd.draw(g,C)&&(this.enableShadow(g,A),_I(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=uC(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 Hd(g,A){var t=wC(g);if(ve){var e=ve(g);A&&(e=oI(e).call(e,(function(A){return we(g,A).enumerable}))),t.push.apply(t,e)}return t}function Kd(g){for(var A=1;A<arguments.length;A++){var t,e=null!=arguments[A]?arguments[A]:{};if(A%2)RC(t=Hd(Object(e),!0)).call(t,(function(A){Me(g,A,e[A])}));else if(xe)Ee(g,xe(e));else{var C;RC(C=Hd(Object(e))).call(C,(function(A){Te(g,A,we(e,A))}))}}return g}function Xd(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var Jd=function(g){Is(t,g);var A=Xd(t);function t(g,e,C){return De(this,t),A.call(this,g,e,C)}return Pe(t,[{key:"_findBorderPositionBezier",value:function(g,A){var t,e,C=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this._getViaCoordinates(),I=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{e=.5*(r+n),t=this.getPoint(e,C);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=e:n=e:!1===o?n=e:r=e,++d}while(r<=n&&d<I);return Kd(Kd({},t),{},{t:e})}},{key:"_getDistanceToBezierEdge",value:function(g,A,t,e,C,I,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)*e,n>0&&(d=(o=this._getDistanceToLine(h,l,s,a,C,I))<d?o:d),h=s,l=a;return d}},{key:"_bezierCurve",value:function(g,A,t,e){g.beginPath(),g.moveTo(this.fromPoint.x,this.fromPoint.y),null!=t&&null!=t.x?null!=e&&null!=e.x?g.bezierCurveTo(t.x,t.y,e.x,e.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}(_d);function qd(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var $d=function(g){Is(t,g);var A=qd(t);function t(g,e,C){var I;return De(this,t),(I=A.call(this,g,e,C)).via=I.via,I._boundFunction=function(){I.positionBezierNode()},I._body.emitter.on("_repositionBezierNodes",I._boundFunction),I}return Pe(t,[{key:"setOptions",value:function(g){kd(ns(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(),e=IC(t,3),C=e[0],I=e[1],i=e[2],o=2*Math.PI*(1-g);return{x:C+i*Math.sin(o),y:I+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,e,C,I){return this._getDistanceToBezierEdge(g,A,t,e,C,I,this.via)}}]),t}(Jd);function gh(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var Ah=function(g){Is(t,g);var A=gh(t);function t(g,e,C){return De(this,t),A.call(this,g,e,C)}return Pe(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,e=this.options.smooth.type,C=Math.abs(this.from.x-this.to.x),I=Math.abs(this.from.y-this.to.y);if("discrete"===e||"diagonalCross"===e){var i,o;i=o=C<=I?t*I:t*C,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"===e&&(C<=I?n=C<t*I?this.from.x:n:r=I<t*C?this.from.y:r),{x:n,y:r}}if("straightCross"===e){var s=(1-t)*C,a=(1-t)*I;return C<=I?(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"===e){var d=(1-t)*C;return this.from.x<this.to.x&&(d=-d),{x:this.to.x+d,y:this.from.y}}if("vertical"===e){var h=(1-t)*I;return this.from.y<this.to.y&&(h=-h),{x:this.from.x,y:this.to.y+h}}if("curvedCW"===e){C=this.to.x-this.from.x,I=this.from.y-this.to.y;var l=Math.sqrt(C*C+I*I),c=Math.PI,u=(Math.atan2(I,C)+(.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"===e){C=this.to.x-this.from.x,I=this.from.y-this.to.y;var p=Math.sqrt(C*C+I*I),f=Math.PI,v=(Math.atan2(I,C)+(.5*-t+.5)*f)%(2*f);return{x:this.from.x+(.5*t+.5)*p*Math.sin(v),y:this.from.y+(.5*t+.5)*p*Math.cos(v)}}g=A=C<=I?t*I:t*C,this.from.x>this.to.x&&(g=-g),this.from.y>=this.to.y&&(A=-A);var y=this.from.x+g,m=this.from.y+A;return C<=I?y=this.from.x<=this.to.x?this.to.x<y?this.to.x:y:this.to.x>y?this.to.x:y:m=this.from.y>=this.to.y?this.to.y>m?this.to.y:m:this.to.y<m?this.to.y:m,{x:y,y:m}}},{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,e,C,I){var i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates();return this._getDistanceToBezierEdge(g,A,t,e,C,I,i)}},{key:"getPoint",value:function(g){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),t=g,e=Math.pow(1-t,2)*this.fromPoint.x+2*t*(1-t)*A.x+Math.pow(t,2)*this.toPoint.x,C=Math.pow(1-t,2)*this.fromPoint.y+2*t*(1-t)*A.y+Math.pow(t,2)*this.toPoint.y;return{x:e,y:C}}}]),t}(Jd);function th(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}function eh(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var Ch=function(g){Is(t,g);var A=eh(t);function t(g,e,C){return De(this,t),A.call(this,g,e,C)}return Pe(t,[{key:"_line",value:function(g,A,t){var e=t[0],C=t[1];this._bezierCurve(g,A,e,C)}},{key:"_getViaCoordinates",value:function(){var g,A,t,e,C=this.from.x-this.to.x,I=this.from.y-this.to.y,i=this.options.smooth.roundness;return(Math.abs(C)>Math.abs(I)||!0===this.options.smooth.forceDirection||"horizontal"===this.options.smooth.forceDirection)&&"vertical"!==this.options.smooth.forceDirection?(A=this.from.y,e=this.to.y,g=this.from.x-i*C,t=this.to.x+i*C):(A=this.from.y-i*I,e=this.to.y+i*I,g=this.from.x,t=this.to.x),[{x:g,y:A},{x:t,y:e}]}},{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,e,C,I){var i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates(),o=IC(i,2),n=o[0],r=o[1];return this._getDistanceToBezierEdge2(g,A,t,e,C,I,n,r)}},{key:"getPoint",value:function(g){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),t=IC(A,2),e=t[0],C=t[1],I=g,i=[Math.pow(1-I,3),3*I*Math.pow(1-I,2),3*Math.pow(I,2)*(1-I),Math.pow(I,3)],o=i[0]*this.fromPoint.x+i[1]*e.x+i[2]*C.x+i[3]*this.toPoint.x,n=i[0]*this.fromPoint.y+i[1]*e.y+i[2]*C.y+i[3]*this.toPoint.y;return{x:o,y:n}}}]),t}(function(g){Is(t,g);var A=th(t);function t(g,e,C){return De(this,t),A.call(this,g,e,C)}return Pe(t,[{key:"_getDistanceToBezierEdge2",value:function(g,A,t,e,C,I,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]*e;if(d>0){var u=this._getDistanceToLine(r,s,l,c,C,I);n=u<n?u:n}r=l,s=c}return n}}]),t}(Jd));function Ih(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var ih=function(g){Is(t,g);var A=Ih(t);function t(g,e,C){return De(this,t),A.call(this,g,e,C)}return Pe(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,e=this.from;g.id===this.from.id&&(t=this.from,e=this.to);var C=Math.atan2(t.y-e.y,t.x-e.x),I=t.x-e.x,i=t.y-e.y,o=Math.sqrt(I*I+i*i),n=(o-g.distanceToBorder(A,C))/o;return{x:(1-n)*e.x+n*t.x,y:(1-n)*e.y+n*t.y,t:0}}},{key:"_getDistanceToEdge",value:function(g,A,t,e,C,I){return this._getDistanceToLine(g,A,t,e,C,I)}}]),t}(_d),oh=function(){function g(A,t,e,C,I){if(De(this,g),void 0===t)throw new Error("No body provided");this.options=bn(C),this.globalOptions=C,this.defaultOptions=I,this.body=t,this.imagelist=e,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 Na(this.body,this.options,!0),this.setOptions(A)}return Pe(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=ua(A.value));var e=[A,this.options,this.defaultOptions];return this.chooser=ma("edge",e),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,e=this.options.color.inherit,C={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:e?void 0:this.options.color.color,inheritsColor:e,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 I=this.options.selectionWidth;"function"==typeof I?C.width=I(C.width):"number"==typeof I&&(C.width+=I),C.width=Math.max(C.width,.3/this.body.view.scale),C.color=this.options.color.highlight,C.shadow=this.options.shadow.enabled}else if(this.hover){var i=this.options.hoverWidth;"function"==typeof i?C.width=i(C.width):"number"==typeof i&&(C.width+=i),C.width=Math.max(C.width,.3/this.body.view.scale),C.color=this.options.color.hover,C.shadow=this.options.shadow.enabled}}else"function"==typeof this.chooser&&(this.chooser(C,this.options.id,this.selected,this.hover),void 0!==C.color&&(C.inheritsColor=!1),!1===C.shadow&&(C.shadowColor===this.options.shadow.color&&C.shadowSize===this.options.shadow.size&&C.shadowX===this.options.shadow.x&&C.shadowY===this.options.shadow.y||(C.shadow=!0)));else C.shadow=this.options.shadow.enabled,C.width=Math.max(C.width,.3/this.body.view.scale);return C}},{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 $d&&!0===g.enabled&&"dynamic"===g.type||this.edgeType instanceof Ch&&!0===g.enabled&&"cubicBezier"===g.type||this.edgeType instanceof Ah&&!0===g.enabled&&"dynamic"!==g.type&&"cubicBezier"!==g.type||this.edgeType instanceof ih&&!1===g.type.enabled)&&(t=!1),!0===t&&(A=this.cleanup())),!0===t?!0===g.enabled?"dynamic"===g.type?(A=!0,this.edgeType=new $d(this.options,this.body,this.labelModule)):"cubicBezier"===g.type?this.edgeType=new Ch(this.options,this.body,this.labelModule):this.edgeType=new Ah(this.options,this.body,this.labelModule):this.edgeType=new ih(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 e=this.options.scaling.customScalingFunction(g,A,t,this.options.value),C=this.options.scaling.max-this.options.scaling.min;if(!0===this.options.scaling.label.enabled){var I=this.options.scaling.label.max-this.options.scaling.label.min;this.options.font.size=this.options.scaling.label.min+e*I}this.options.width=this.options.scaling.min+e*C}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(),e={};this.edgeType.fromPoint=this.edgeType.from,this.edgeType.toPoint=this.edgeType.to,A.fromArrow&&(e.from=this.edgeType.getArrowData(g,"from",t,this.selected,this.hover,A),!1===A.arrowStrikethrough&&(this.edgeType.fromPoint=e.from.core),A.fromArrowSrc&&(e.from.image=this.imagelist.load(A.fromArrowSrc)),A.fromArrowImageWidth&&(e.from.imageWidth=A.fromArrowImageWidth),A.fromArrowImageHeight&&(e.from.imageHeight=A.fromArrowImageHeight)),A.toArrow&&(e.to=this.edgeType.getArrowData(g,"to",t,this.selected,this.hover,A),!1===A.arrowStrikethrough&&(this.edgeType.toPoint=e.to.core),A.toArrowSrc&&(e.to.image=this.imagelist.load(A.toArrowSrc)),A.toArrowImageWidth&&(e.to.imageWidth=A.toArrowImageWidth),A.toArrowImageHeight&&(e.to.imageHeight=A.toArrowImageHeight)),A.middleArrow&&(e.middle=this.edgeType.getArrowData(g,"middle",t,this.selected,this.hover,A),A.middleArrowSrc&&(e.middle.image=this.imagelist.load(A.middleArrowSrc)),A.middleArrowImageWidth&&(e.middle.imageWidth=A.middleArrowImageWidth),A.middleArrowImageHeight&&(e.middle.imageHeight=A.middleArrowImageHeight)),A.fromArrow&&this.edgeType.drawArrowHead(g,A,this.selected,this.hover,e.from),A.middleArrow&&this.edgeType.drawArrowHead(g,A,this.selected,this.hover,e.middle),A.toArrow&&this.edgeType.drawArrowHead(g,A,this.selected,this.hover,e.to)}}},{key:"drawLabel",value:function(g,A){if(void 0!==this.options.label){var t,e=this.from,C=this.to;if(this.labelModule.differentState(this.selected,this.hover)&&this.labelModule.getTextSize(g,this.selected,this.hover),e.id!=C.id){this.labelModule.pointToSelf=!1,t=this.edgeType.getPoint(.5,A),g.save();var I=this._getRotation(g);0!=I.angle&&(g.translate(I.x,I.y),g.rotate(I.angle)),this.labelModule.draw(g,t.x,t.y,this.selected,this.hover),g.restore()}else{this.labelModule.pointToSelf=!0;var i=ka(g,this.options.selfReference.angle,this.options.selfReference.size,e);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();ba(this.labelModule.getSize(),g,t)&&A.push({edgeId:this.id,labelId:0})}var e={left:g.x,top:g.y};return this.isOverlappingWith(e)&&A.push({edgeId:this.id}),A}},{key:"isOverlappingWith",value:function(g){if(this.connected){var A=this.from.x,t=this.from.y,e=this.to.x,C=this.to.y,I=g.left,i=g.top;return this.edgeType.getDistanceToEdge(A,t,e,C,I,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 e={x:t.x,y:this.labelModule.size.yLine,angle:0};if(!this.labelModule.visible())return e;if("horizontal"===this.options.font.align)return e;var C=this.from.y-this.to.y,I=this.from.x-this.to.x,i=Math.atan2(C,I);return(i<-1&&I<0||i>0&&I<0)&&(i+=Math.PI),e.angle=i,e}},{key:"_pointOnCircle",value:function(g,A,t,e){return{x:g+t*Math.cos(e),y:A-t*Math.sin(e)}}},{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],e=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},C=arguments.length>4&&void 0!==arguments[4]&&arguments[4],I=["endPointOffset","arrowStrikethrough","id","from","hidden","hoverWidth","labelHighlightBold","length","line","opacity","physics","scaling","selectionWidth","selfReferenceSize","selfReference","to","title","value","width","font","chosen","widthConstraint"];if(Cn(I,g,A,t),void 0!==A.endPointOffset&&void 0!==A.endPointOffset.from&&(Wr(A.endPointOffset.from)?g.endPointOffset.from=A.endPointOffset.from:(g.endPointOffset.from=void 0!==e.endPointOffset.from?e.endPointOffset.from:0,console.error("endPointOffset.from is not a valid number"))),void 0!==A.endPointOffset&&void 0!==A.endPointOffset.to&&(Wr(A.endPointOffset.to)?g.endPointOffset.to=A.endPointOffset.to:(g.endPointOffset.to=void 0!==e.endPointOffset.to?e.endPointOffset.to:0,console.error("endPointOffset.to is not a valid number"))),wa(A.label)?g.label=A.label:wa(g.label)||(g.label=void 0),wn(g,A,"smooth",e),wn(g,A,"shadow",e),wn(g,A,"background",e),void 0!==A.dashes&&null!==A.dashes?g.dashes=A.dashes:!0===t&&null===A.dashes&&(g.dashes=MI(e.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),wn(g.scaling,A.scaling,"label",e.scaling)):!0===t&&null===A.scaling&&(g.scaling=MI(e.scaling)),void 0!==A.arrows&&null!==A.arrows)if("string"==typeof A.arrows){var i=A.arrows.toLowerCase();g.arrows.to.enabled=-1!=DI(i).call(i,"to"),g.arrows.middle.enabled=-1!=DI(i).call(i,"middle"),g.arrows.from.enabled=-1!=DI(i).call(i,"from")}else{if("object"!==nC(A.arrows))throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+LI(A.arrows));wn(g.arrows,A.arrows,"to",e.arrows),wn(g.arrows,A.arrows,"middle",e.arrows),wn(g.arrows,A.arrows,"from",e.arrows)}else!0===t&&null===A.arrows&&(g.arrows=MI(e.arrows));if(void 0!==A.color&&null!==A.color){var o=gn(A.color)?{color:A.color,highlight:A.color,hover:A.color,inherit:!1,opacity:1}:A.color,n=g.color;if(C)on(n,e.color,!1,t);else for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&delete n[r];if(gn(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=bn(e.color));!0===t&&null===A.font&&(g.font=bn(e.font)),Object.prototype.hasOwnProperty.call(A,"selfReferenceSize")&&(console.warn("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}(),nh=function(){function g(A,t,e){var C,I=this;De(this,g),this.body=A,this.images=t,this.groups=e,this.body.functions.createEdge=fg(C=this.create).call(C,this),this.edgesListeners={add:function(g,A){I.add(A.items)},update:function(g,A){I.update(A.items)},remove:function(g,A){I.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,e){if(A===g)return.5;var C=1/(A-g);return Math.max(0,(e-g)*C)}},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},on(this.options,this.defaultOptions),this.bindEventListeners()}return Pe(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 e=!1;for(var C in t.body.edges)if(Object.prototype.hasOwnProperty.call(t.body.edges,C)){var I=t.body.edges[C],i=t.body.data.edges.get(C);if(null!=i){var o=i.smooth;void 0!==o&&!0===o.enabled&&"dynamic"===o.type&&(void 0===g?I.setOptions({smooth:!1}):I.setOptions({smooth:{type:g}}),e=!0)}}!0===A&&!0===e&&t.body.emitter.emit("_dataChanged")})),this.body.emitter.on("_dataUpdated",(function(){t.reconnectEdges()})),this.body.emitter.on("refreshEdges",fg(g=this.refresh).call(g,this)),this.body.emitter.on("refresh",fg(A=this.refresh).call(A,this)),this.body.emitter.on("destroy",(function(){an(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){oh.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 e in this.body.edges)Object.prototype.hasOwnProperty.call(this.body.edges,e)&&this.body.edges[e].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],e=this.body.data.edges;if(aa("id",g))this.body.data.edges=g;else if(uC(g))this.body.data.edges=new na,this.body.data.edges.add(g);else{if(g)throw new TypeError("Array or DataSet expected");this.body.data.edges=new na}if(e&&an(this.edgesListeners,(function(g,A){e.off(A,g)})),this.body.edges={},this.body.data.edges){an(this.edgesListeners,(function(g,t){A.body.data.edges.on(t,g)}));var C=this.body.data.edges.getIds();this.add(C,!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,e=this.body.data.edges,C=0;C<g.length;C++){var I=g[C],i=t[I];i&&i.disconnect();var o=e.get(I,{showInternalIds:!0});t[I]=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,e=!1,C=0;C<g.length;C++){var I=g[C],i=t.get(I),o=A[I];void 0!==o?(o.disconnect(),e=o.setOptions(i)||e,o.connect()):(this.body.edges[I]=this.create(i),e=!0)}!0===e?(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;an(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;an(this.body.edges,(function(A,t){var e=g.body.data.edges.get(t);void 0!==e&&A.setOptions(e)}))}},{key:"create",value:function(g){return new oh(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 e=t[g];e.from=null,e.to=null,e.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=[];an(this.body.edges,(function(t,e){var C=g.body.nodes[t.toId],I=g.body.nodes[t.fromId];void 0!==C&&!0===C.isCluster||void 0!==I&&!0===I.isCluster||void 0!==C&&void 0!==I||A.push(e)})),this.remove(A,!1)}},{key:"_addMissingEdges",value:function(){var g=this.body.data.edges;if(null!=g){var A=this.body.edges,t=[];RC(g).call(g,(function(g,e){void 0===A[e]&&t.push(e)})),this.add(t,!0)}}}]),g}(),rh=function(){function g(A,t,e){De(this,g),this.body=A,this.physicsBody=t,this.barnesHutTree,this.setOptions(e),this._rng=Wo("BARNES HUT SOLVER")}return Pe(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,e=t.length,C=this._formBarnesHutTree(A,t);this.barnesHutTree=C;for(var I=0;I<e;I++)(g=A[t[I]]).options.mass>0&&this._getForceContributions(C.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,e=g.centerOfMass.y-A.y,C=Math.sqrt(t*t+e*e);C*g.calcSize>this.thetaInversed?this._calculateForces(C,t,e,A,g):4===g.childrenCount?this._getForceContributions(g,A):g.children.data.id!=A.id&&this._calculateForces(C,t,e,A,g)}}},{key:"_calculateForces",value:function(g,A,t,e,C){0===g&&(A=g=.1),this.overlapAvoidanceFactor<1&&e.shape.radius&&(g=Math.max(.1+this.overlapAvoidanceFactor*e.shape.radius,g-e.shape.radius));var I=this.options.gravitationalConstant*C.mass*e.options.mass/Math.pow(g,3),i=A*I,o=t*I;this.physicsBody.forces[e.id].x+=i,this.physicsBody.forces[e.id].y+=o}},{key:"_formBarnesHutTree",value:function(g,A){for(var t,e=A.length,C=g[A[0]].x,I=g[A[0]].y,i=g[A[0]].x,o=g[A[0]].y,n=1;n<e;n++){var r=g[A[n]],s=r.x,a=r.y;r.options.mass>0&&(s<C&&(C=s),s>i&&(i=s),a<I&&(I=a),a>o&&(o=a))}var d=Math.abs(i-C)-Math.abs(o-I);d>0?(I-=.5*d,o+=.5*d):(C+=.5*d,i-=.5*d);var h=Math.max(1e-5,Math.abs(i-C)),l=.5*h,c=.5*(C+i),u=.5*(I+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 f=0;f<e;f++)(t=g[A[f]]).options.mass>0&&this._placeInTree(p.root,t);return p}},{key:"_updateBranchMass",value:function(g,A){var t=g.centerOfMass,e=g.mass+A.options.mass,C=1/e;t.x=t.x*g.mass+A.x*A.options.mass,t.x*=C,t.y=t.y*g.mass+A.y*A.options.mass,t.y*=C,g.mass=e;var I=Math.max(Math.max(A.height,A.radius),A.width);g.maxWidth=g.maxWidth<I?I:g.maxWidth}},{key:"_placeInTree",value:function(g,A,t){1==t&&void 0!==t||this._updateBranchMass(g,A);var e,C=g.children.NW.range;e=C.maxX>A.x?C.maxY>A.y?"NW":"SW":C.maxY>A.y?"NE":"SE",this._placeInRegion(g,A,e)}},{key:"_placeInRegion",value:function(g,A,t){var e=g.children[t];switch(e.childrenCount){case 0:e.children.data=A,e.childrenCount=1,this._updateBranchMass(e,A);break;case 1:e.children.data.x===A.x&&e.children.data.y===A.y?(A.x+=this._rng(),A.y+=this._rng()):(this._splitBranch(e),this._placeInTree(e,A));break;case 4:this._placeInTree(e,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,e,C,I,i=.5*g.size;switch(A){case"NW":t=g.range.minX,e=g.range.minX+i,C=g.range.minY,I=g.range.minY+i;break;case"NE":t=g.range.minX+i,e=g.range.maxX,C=g.range.minY,I=g.range.minY+i;break;case"SW":t=g.range.minX,e=g.range.minX+i,C=g.range.minY+i,I=g.range.maxY;break;case"SE":t=g.range.minX+i,e=g.range.maxX,C=g.range.minY+i,I=g.range.maxY}g.children[A]={centerOfMass:{x:0,y:0},mass:0,range:{minX:t,maxX:e,minY:C,maxY:I},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}(),sh=function(){function g(A,t,e){De(this,g),this._rng=Wo("REPULSION SOLVER"),this.body=A,this.physicsBody=t,this.setOptions(e)}return Pe(g,[{key:"setOptions",value:function(g){this.options=g}},{key:"solve",value:function(){for(var g,A,t,e,C,I,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&&(I=t<.5*a?1:d*t+1.3333333333333333,e=g*(I/=t),C=A*I,s[i.id].x-=e,s[i.id].y-=C,s[o.id].x+=e,s[o.id].y+=C)}}}]),g}(),ah=function(){function g(A,t,e){De(this,g),this.body=A,this.physicsBody=t,this.setOptions(e)}return Pe(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,e=this.options.nodeDistance,C=0;C<A.length-1;C++)for(var I=g[A[C]],i=C+1;i<A.length;i++){var o=g[A[i]];if(I.level===o.level){var n=e+this.overlapAvoidanceFactor*((I.shape.radius||0)/2+(o.shape.radius||0)/2),r=o.x-I.x,s=o.y-I.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[I.id].x-=h,t[I.id].y-=l,t[o.id].x+=h,t[o.id].y+=l}}}}]),g}(),dh=function(){function g(A,t,e){De(this,g),this.body=A,this.physicsBody=t,this.setOptions(e)}return Pe(g,[{key:"setOptions",value:function(g){this.options=g}},{key:"solve",value:function(){for(var g,A,t,e,C,I=this.physicsBody.physicsEdgeIndices,i=this.body.edges,o=0;o<I.length;o++)!0===(A=i[I[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,e=A.edgeType.via,C=A.from,this._calculateSpringForce(t,e,.5*g),this._calculateSpringForce(e,C,.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 e=g.x-A.x,C=g.y-A.y,I=Math.max(Math.sqrt(e*e+C*C),.01),i=this.options.springConstant*(t-I)/I,o=e*i,n=C*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}(),hh=function(){function g(A,t,e){De(this,g),this.body=A,this.physicsBody=t,this.setOptions(e)}return Pe(g,[{key:"setOptions",value:function(g){this.options=g}},{key:"solve",value:function(){for(var g,A,t,e,C,I,i,o,n,r,s=this.body.edges,a=.5,d=this.physicsBody.physicsEdgeIndices,h=this.physicsBody.physicsNodeIndices,l=this.physicsBody.forces,c=0;c<h.length;c++){var u=h[c];l[u].springFx=0,l[u].springFy=0}for(var p=0;p<d.length;p++)!0===(A=s[d[p]]).connected&&(g=void 0===A.options.length?this.options.springLength:A.options.length,t=A.from.x-A.to.x,e=A.from.y-A.to.y,o=0===(o=Math.sqrt(t*t+e*e))?.01:o,C=t*(i=this.options.springConstant*(g-o)/o),I=e*i,A.to.level!=A.from.level?(void 0!==l[A.toId]&&(l[A.toId].springFx-=C,l[A.toId].springFy-=I),void 0!==l[A.fromId]&&(l[A.fromId].springFx+=C,l[A.fromId].springFy+=I)):(void 0!==l[A.toId]&&(l[A.toId].x-=a*C,l[A.toId].y-=a*I),void 0!==l[A.fromId]&&(l[A.fromId].x+=a*C,l[A.fromId].y+=a*I)));i=1;for(var f=0;f<h.length;f++){var v=h[f];n=Math.min(i,Math.max(-i,l[v].springFx)),r=Math.min(i,Math.max(-i,l[v].springFy)),l[v].x+=n,l[v].y+=r}for(var y=0,m=0,b=0;b<h.length;b++){var w=h[b];y+=l[w].x,m+=l[w].y}for(var k=y/h.length,x=m/h.length,E=0;E<h.length;E++){var O=h[E];l[O].x-=k,l[O].y-=x}}}]),g}(),lh=function(){function g(A,t,e){De(this,g),this.body=A,this.physicsBody=t,this.setOptions(e)}return Pe(g,[{key:"setOptions",value:function(g){this.options=g}},{key:"solve",value:function(){for(var g,A,t,e,C=this.body.nodes,I=this.physicsBody.physicsNodeIndices,i=this.physicsBody.forces,o=0;o<I.length;o++){g=-(e=C[I[o]]).x,A=-e.y,t=Math.sqrt(g*g+A*A),this._calculateForces(t,g,A,i,e)}}},{key:"_calculateForces",value:function(g,A,t,e,C){var I=0===g?0:this.options.centralGravity/g;e[C.id].x=A*I,e[C.id].y=t*I}}]),g}();function ch(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var uh=function(g){Is(t,g);var A=ch(t);function t(g,e,C){var I;return De(this,t),(I=A.call(this,g,e,C))._rng=Wo("FORCE ATLAS 2 BASED REPULSION SOLVER"),I}return Pe(t,[{key:"_calculateForces",value:function(g,A,t,e,C){0===g&&(A=g=.1*this._rng()),this.overlapAvoidanceFactor<1&&e.shape.radius&&(g=Math.max(.1+this.overlapAvoidanceFactor*e.shape.radius,g-e.shape.radius));var I=e.edges.length+1,i=this.options.gravitationalConstant*C.mass*e.options.mass*I/Math.pow(g,2),o=A*i,n=t*i;this.physicsBody.forces[e.id].x+=o,this.physicsBody.forces[e.id].y+=n}}]),t}(rh);function ph(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var fh=function(g){Is(t,g);var A=ph(t);function t(g,e,C){return De(this,t),A.call(this,g,e,C)}return Pe(t,[{key:"_calculateForces",value:function(g,A,t,e,C){if(g>0){var I=C.edges.length+1,i=this.options.centralGravity*I*C.options.mass;e[C.id].x=A*i,e[C.id].y=t*i}}}]),t}(lh),vh=function(){function g(A){De(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}},sg(this.options,this.defaultOptions),this.timestep=.5,this.layoutFailed=!1,this.bindEventListeners()}return Pe(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,In(["stabilization"],this.options,g),wn(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||jr(A.x))&&(A.x=0),("number"!=typeof A.y||jr(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 uh(this.body,this.physicsBody,g),this.edgesSolver=new dh(this.body,this.physicsBody,g),this.gravitySolver=new fh(this.body,this.physicsBody,g)):"repulsion"===this.options.solver?(g=this.options.repulsion,this.nodesSolver=new sh(this.body,this.physicsBody,g),this.edgesSolver=new dh(this.body,this.physicsBody,g),this.gravitySolver=new lh(this.body,this.physicsBody,g)):"hierarchicalRepulsion"===this.options.solver?(g=this.options.hierarchicalRepulsion,this.nodesSolver=new ah(this.body,this.physicsBody,g),this.edgesSolver=new hh(this.body,this.physicsBody,g),this.gravitySolver=new lh(this.body,this.physicsBody,g)):(g=this.options.barnesHut,this.nodesSolver=new rh(this.body,this.physicsBody,g),this.edgesSolver=new dh(this.body,this.physicsBody,g),this.gravitySolver=new lh(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=fg(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=kC();this.physicsTick(),(kC()-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)&&WI((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 e in A)Object.prototype.hasOwnProperty.call(A,e)&&!0===A[e].options.physics&&this.physicsBody.physicsEdgeIndices.push(A[e].id);for(var C=0;C<this.physicsBody.physicsNodeIndices.length;C++){var I=this.physicsBody.physicsNodeIndices[C];this.physicsBody.forces[I]={x:0,y:0},void 0===this.physicsBody.velocities[I]&&(this.physicsBody.velocities[I]={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=wC(this.previousStates),A=this.body.nodes,t=this.physicsBody.velocities;this.referenceState={};for(var e=0;e<g.length;e++){var C=g[e];void 0!==A[C]?!0===A[C].options.physics&&(this.referenceState[C]={positions:{x:A[C].x,y:A[C].y}},t[C].x=this.previousStates[C].vx,t[C].y=this.previousStates[C].vy,A[C].x=this.previousStates[C].x,A[C].y=this.previousStates[C].y):delete this.previousStates[C]}}},{key:"_evaluateStepQuality",value:function(){var g,A,t=this.body.nodes,e=this.referenceState;for(var C in this.referenceState)if(Object.prototype.hasOwnProperty.call(this.referenceState,C)&&void 0!==t[C]&&(g=t[C].x-e[C].positions.x,A=t[C].y-e[C].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,e=0;e<g.length;e++){var C=g[e],I=this._performStep(C);A=Math.max(A,I),t+=I}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 e=this.options.maxVelocity||1e9;return Math.abs(g)>e&&(g=g>0?e:-e),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 e=this.physicsBody.velocities[g];return this.previousStates[g]={x:A.x,y:A.y,vx:e.x,vy:e.y},!1===A.options.fixed.x?(e.x=this.calculateComponentVelocity(e.x,t.x,A.options.mass),A.x+=e.x*this.timestep):(t.x=0,e.x=0),!1===A.options.fixed.y?(e.y=this.calculateComponentVelocity(e.y,t.y,A.options.mass),A.y+=e.y*this.timestep):(t.y=0,e.y=0),Math.sqrt(Math.pow(e.x,2)+Math.pow(e.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.error("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,WI((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 e,C=0;A()&&C<this.options.stabilization.updateInterval;)this.physicsTick(),C++;(t(),A())?WI(fg(e=this._stabilizationBatch).call(e,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],e=this.body.nodes[t],C=this.physicsBody.forces[t],I=Math.sqrt(Math.pow(C.x,2)+Math.pow(C.x,2)),i=Math.min(Math.max(5,I),15),o=3*i,n=fn((180-180*Math.min(1,Math.max(0,.03*I)))/360,1,1),r={x:e.x+20*C.x,y:e.y+20*C.y};g.lineWidth=i,g.strokeStyle=n,g.beginPath(),g.moveTo(e.x,e.y),g.lineTo(r.x,r.y),g.stroke();var s=Math.atan2(C.y,C.x);g.fillStyle=n,Wd.draw(g,{type:"arrow",point:r,angle:s,length:o}),_I(g).call(g)}}}]),g}(),yh=function(){function g(){De(this,g)}return Pe(g,null,[{key:"getRange",value:function(g){var A,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],e=1e9,C=-1e9,I=1e9,i=-1e9;if(t.length>0)for(var o=0;o<t.length;o++)I>(A=g[t[o]]).shape.boundingBox.left&&(I=A.shape.boundingBox.left),i<A.shape.boundingBox.right&&(i=A.shape.boundingBox.right),e>A.shape.boundingBox.top&&(e=A.shape.boundingBox.top),C<A.shape.boundingBox.bottom&&(C=A.shape.boundingBox.bottom);return 1e9===I&&-1e9===i&&1e9===e&&-1e9===C&&(e=0,C=0,I=0,i=0),{minX:I,maxX:i,minY:e,maxY:C}}},{key:"getRangeCore",value:function(g){var A,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],e=1e9,C=-1e9,I=1e9,i=-1e9;if(t.length>0)for(var o=0;o<t.length;o++)I>(A=g[t[o]]).x&&(I=A.x),i<A.x&&(i=A.x),e>A.y&&(e=A.y),C<A.y&&(C=A.y);return 1e9===I&&-1e9===i&&1e9===e&&-1e9===C&&(e=0,C=0,I=0,i=0),{minX:I,maxX:i,minY:e,maxY:C}}},{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?(on(t,g.options,!0),t.x=g.x,t.y=g.y,t.amountOfConnections=g.edges.length):on(t,g.options,!0),t}}]),g}();function mh(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var bh=function(g){Is(t,g);var A=mh(t);function t(g,e,C,I,i,o){var n;return De(this,t),(n=A.call(this,g,e,C,I,i,o)).isCluster=!0,n.containedNodes={},n.containedEdges={},n}return Pe(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],an(t.edges,(function(g){delete A.containedEdges[g.id]})),an(t.containedNodes,(function(g,t){A.containedNodes[t]=g})),t.containedNodes={},an(t.containedEdges,(function(g,t){A.containedEdges[t]=g})),t.containedEdges={},an(t.edges,(function(g){an(A.edges,(function(t){var e,C,I=DI(e=t.clusteringEdgeReplacingIds).call(e,g.id);-1!==I&&(an(g.clusteringEdgeReplacingIds,(function(g){t.clusteringEdgeReplacingIds.push(g),A.body.edges[g].edgeReplacedById=t.id})),WC(C=t.clusteringEdgeReplacingIds).call(C,I,1))}))})),t.edges=[]}}]),t}(fd),wh=function(){function g(A){var t=this;De(this,g),this.body=A,this.clusteredNodes={},this.clusteredEdges={},this.options={},this.defaultOptions={},sg(this.options,this.defaultOptions),this.body.emitter.on("_resetData",(function(){t.clusteredNodes={},t.clusteredEdges={}}))}return Pe(g,[{key:"clusterByHubsize",value:function(g,A){void 0===g?g=this._getHubSize():"object"===nC(g)&&(A=this._checkOptions(g),g=this._getHubSize());for(var t=[],e=0;e<this.body.nodeIndices.length;e++){var C=this.body.nodes[this.body.nodeIndices[e]];C.edges.length>=g&&t.push(C.id)}for(var I=0;I<t.length;I++)this.clusterByConnection(t[I],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 e={},C={};an(this.body.nodes,(function(t,I){t.options&&!0===A.joinCondition(t.options)&&(e[I]=t,an(t.edges,(function(A){void 0===g.clusteredEdges[A.id]&&(C[A.id]=A)})))})),this._cluster(e,C,A,t)}},{key:"clusterByEdgeCount",value:function(g,A){var t=this,e=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];A=this._checkOptions(A);for(var C,I,i,o=[],n={},r=function(e){var r={},s={},a=t.body.nodeIndices[e],d=t.body.nodes[a];if(void 0===n[a]){i=0,I=[];for(var h=0;h<d.edges.length;h++)C=d.edges[h],void 0===t.clusteredEdges[C.id]&&(C.toId!==C.fromId&&i++,I.push(C));if(i===g){for(var l=function(g){if(void 0===A.joinCondition||null===A.joinCondition)return!0;var t=yh.cloneOptions(g);return A.joinCondition(t)},c=!0,u=0;u<I.length;u++){C=I[u];var p=t._getConnectedId(C,a);if(!l(d)){c=!1;break}s[C.id]=C,r[a]=d,r[p]=t.body.nodes[p],n[a]=!0}if(wC(r).length>0&&wC(s).length>0&&!0===c){var f=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!==f){for(var v in r)void 0===f.nodes[v]&&(f.nodes[v]=r[v]);for(var y in s)void 0===f.edges[y]&&(f.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===e&&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,e=!(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 C=this.body.nodes[g];void 0===(A=this._checkOptions(A,C)).clusterNodeProperties.x&&(A.clusterNodeProperties.x=C.x),void 0===A.clusterNodeProperties.y&&(A.clusterNodeProperties.y=C.y),void 0===A.clusterNodeProperties.fixed&&(A.clusterNodeProperties.fixed={},A.clusterNodeProperties.fixed.x=C.options.fixed.x,A.clusterNodeProperties.fixed.y=C.options.fixed.y);var I={},i={},o=C.id,n=yh.cloneOptions(C);I[o]=C;for(var r=0;r<C.edges.length;r++){var s=C.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,I[a]=this.body.nodes[a];else{var d=yh.cloneOptions(this.body.nodes[a]);!0===A.joinCondition(n,d)&&(i[s.id]=s,I[a]=this.body.nodes[a])}else i[s.id]=s}}var h=mC(t=wC(I)).call(t,(function(g){return I[g].id}));for(var l in I)if(Object.prototype.hasOwnProperty.call(I,l))for(var c=I[l],u=0;u<c.edges.length;u++){var p=c.edges[u];DI(h).call(h,this._getConnectedId(p,c.id))>-1&&(i[p.id]=p)}this._cluster(I,i,A,e)}},{key:"_createClusterEdges",value:function(g,A,t,e){for(var C,I,i,o,n,r,s=wC(g),a=[],d=0;d<s.length;d++){i=g[I=s[d]];for(var h=0;h<i.edges.length;h++)C=i.edges[h],void 0===this.clusteredEdges[C.id]&&(C.toId==C.fromId?A[C.id]=C:C.toId==I?(o=t.id,r=n=C.fromId):(o=C.toId,n=t.id,r=o),void 0===g[r]&&a.push({edge:C,fromId:n,toId:o}))}for(var l=[],c=function(g){for(var A=0;A<l.length;A++){var t=l[A],e=g.fromId===t.fromId&&g.toId===t.toId,C=g.fromId===t.toId&&g.toId===t.fromId;if(e||C)return t}return null},u=0;u<a.length;u++){var p=a[u],f=p.edge,v=c(p);null===v?(v=this._createClusteredEdge(p.fromId,p.toId,f,e),l.push(v)):v.clusteringEdgeReplacingIds.push(f.id),this.body.edges[f.id].edgeReplacedById=v.id,this._backupEdgeOptions(f),f.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 e=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],C=[];for(var I in g)Object.prototype.hasOwnProperty.call(g,I)&&void 0!==this.clusteredNodes[I]&&C.push(I);for(var i=0;i<C.length;++i)delete g[C[i]];if(0!=wC(g).length&&(1!=wC(g).length||1==t.clusterNodeProperties.allowSingleNodeCluster)){var o=on({},t.clusterNodeProperties);if(void 0!==t.processProperties){var n=[];for(var r in g)if(Object.prototype.hasOwnProperty.call(g,r)){var s=yh.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=yh.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:"+Xs());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,bh);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===e&&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.error("Node does not exist."),!1)}},{key:"_getClusterPosition",value:function(g){for(var A,t=wC(g),e=g[t[0]].x,C=g[t[0]].x,I=g[t[0]].y,i=g[t[0]].y,o=1;o<t.length;o++)e=(A=g[t[o]]).x<e?A.x:e,C=A.x>C?A.x:C,I=A.y<I?A.y:I,i=A.y>i?A.y:i;return{x:.5*(e+C),y:.5*(I+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 e=this.body.nodes[g];if(void 0===e)throw new Error("The clusterNodeId supplied to openCluster does not exist.");if(!0!==e.isCluster||void 0===e.containedNodes||void 0===e.containedEdges)throw new Error("The node:"+g+" is not a valid cluster.");var C=this.findNode(g),I=DI(C).call(C,g)-1;if(I>=0){var i=C[I],o=this.body.nodes[i];return o._openChildCluster(g),delete this.body.nodes[g],void(!0===t&&this.body.emitter.emit("_dataChanged"))}var n=e.containedNodes,r=e.containedEdges;if(void 0!==A&&void 0!==A.releaseFunction&&"function"==typeof A.releaseFunction){var s={},a={x:e.x,y:e.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?e.x:l[c].x,u.y=void 0===l[c].y?e.y:l[c].y)}}else an(n,(function(g){!1===g.options.fixed.x&&(g.x=e.x),!1===g.options.fixed.y&&(g.y=e.y)}));for(var p in n)if(Object.prototype.hasOwnProperty.call(n,p)){var f=this.body.nodes[p];f.vx=e.vx,f.vy=e.vy,f.setOptions({physics:!0}),delete this.clusteredNodes[p]}for(var v=[],y=0;y<e.edges.length;y++)v.push(e.edges[y]);for(var m=0;m<v.length;m++){for(var b=v[m],w=this._getConnectedId(b,g),k=this.clusteredNodes[w],x=0;x<b.clusteringEdgeReplacingIds.length;x++){var E=b.clusteringEdgeReplacingIds[x],O=this.body.edges[E];if(void 0!==O)if(void 0!==k){var T=this.body.nodes[k.clusterId];T.containedEdges[O.id]=O,delete r[O.id];var D=O.fromId,N=O.toId;O.toId==w?N=k.clusterId:D=k.clusterId,this._createClusteredEdge(D,N,O,T.clusterEdgeProperties,{hidden:!1,physics:!0})}else this._restoreEdge(O)}b.remove()}for(var R in r)Object.prototype.hasOwnProperty.call(r,R)&&this._restoreEdge(r[R]);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 e in t)Object.prototype.hasOwnProperty.call(t,e)&&A.push(this.body.nodes[e].id)}return A}},{key:"findNode",value:function(g){for(var A,t=[],e=0;void 0!==this.clusteredNodes[g]&&e<100;){if(void 0===(A=this.body.nodes[g]))return[];t.push(A.id),g=this.clusteredNodes[g].clusterId,e++}return void 0===(A=this.body.nodes[g])?[]:(t.push(A.id),ZC(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),e=0;e<t.length;e++){this.body.edges[t[e]].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 ZC(A).call(A),A}},{key:"getBaseEdge",value:function(g){return this.getBaseEdges(g)[0]}},{key:"getBaseEdges",value:function(g){for(var A=[g],t=[],e=[],C=0;A.length>0&&C<100;){var I=A.pop();if(void 0!==I){var i=this.body.edges[I];if(void 0!==i){C++;var o=i.clusteringEdgeReplacingIds;if(void 0===o)e.push(I);else for(var n=0;n<o.length;++n){var r=o[n];-1===DI(A).call(A,o)&&-1===DI(t).call(t,o)&&A.push(r)}t.push(I)}}}return e}},{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,e=0,C=0;C<this.body.nodeIndices.length;C++){var I=this.body.nodes[this.body.nodeIndices[C]];I.edges.length>e&&(e=I.edges.length),g+=I.edges.length,A+=Math.pow(I.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>e&&(n=e),n}},{key:"_createClusteredEdge",value:function(g,A,t,e,C){var I=yh.cloneOptions(t,"edge");on(I,e),I.from=g,I.to=A,I.id="clusterEdge:"+Xs(),void 0!==C&&on(I,C);var i=this.body.functions.createEdge(I);return i.clusteringEdgeReplacingIds=[t.id],i.connect(),this.body.edges[i.id]=i,i}},{key:"_clusterEdges",value:function(g,A,t,e){if(A instanceof oh){var C=A,I={};I[C.id]=C,A=I}if(g instanceof fd){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===e&&(e=t.clusterEdgeProperties),this._createClusterEdges(g,A,t,e),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 an(g,(function(g){A(g)&&t.push(g)})),t}},{key:"_updateState",value:function(){var g,A=this,t=[],e={},C=function(g){an(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)}C((function(g){for(var A=0;A<t.length;A++)delete g.containedNodes[t[A]]}));for(var I=0;I<t.length;I++)delete this.clusteredNodes[t[I]];an(this.clusteredEdges,(function(g){var t=A.body.edges[g];void 0!==t&&t.endPointsValid()||(e[g]=g)})),C((function(g){an(g.containedEdges,(function(g,A){g.endPointsValid()||e[A]||(e[A]=A)}))})),an(this.body.edges,(function(g,t){var C=!0,I=g.clusteringEdgeReplacingIds;if(void 0!==I){var i=0;an(I,(function(g){var t=A.body.edges[g];void 0!==t&&t.endPointsValid()&&(i+=1)})),C=i>0}g.endPointsValid()&&C||(e[t]=t)})),C((function(g){an(e,(function(t){delete g.containedEdges[t],an(g.edges,(function(C,I){C.id!==t?C.clusteringEdgeReplacingIds=A._filter(C.clusteringEdgeReplacingIds,(function(g){return!e[g]})):g.edges[I]=null})),g.edges=A._filter(g.edges,(function(g){return null!==g}))}))})),an(e,(function(g){delete A.clusteredEdges[g]})),an(e,(function(g){delete A.body.edges[g]})),an(wC(this.body.edges),(function(g){var t=A.body.edges[g],e=A._isClusteredNode(t.fromId)||A._isClusteredNode(t.toId);if(e!==A._isClusteredEdge(t.id))if(e){var C=A._getClusterNodeForNode(t.fromId);void 0!==C&&A._clusterEdges(A.body.nodes[t.fromId],t,C);var I=A._getClusterNodeForNode(t.toId);void 0!==I&&A._clusterEdges(A.body.nodes[t.toId],t,I)}else delete A._clusterEdges[g],A._restoreEdge(t)}));for(var i=!1,o=!0,n=function(){var g=[];C((function(A){var t=wC(A.containedNodes).length,e=!0===A.options.allowSingleNodeCluster;(e&&t<1||!e&&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}();function kh(g,A){var t;if(void 0===sC||null==Et(g)){if(uC(g)||(t=function(g,A){var t;if(!g)return;if("string"==typeof g)return xh(g,A);var e=lC(t=Object.prototype.toString.call(g)).call(t,8,-1);"Object"===e&&g.constructor&&(e=g.constructor.name);if("Map"===e||"Set"===e)return ft(g);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return xh(g,A)}(g))||A&&g&&"number"==typeof g.length){t&&(g=t);var e=0,C=function(){};return{s:C,n:function(){return e>=g.length?{done:!0}:{done:!1,value:g[e++]}},e:function(g){throw g},f:C}}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 I,i=!0,o=!1;return{s:function(){t=Ot(g)},n:function(){var g=t.next();return i=g.done,g},e:function(g){o=!0,I=g},f:function(){try{i||null==t.return||t.return()}finally{if(o)throw I}}}}function xh(g,A){(null==A||A>g.length)&&(A=g.length);for(var t=0,e=new Array(A);t<A;t++)e[t]=g[t];return e}var Eh=function(){function g(A,t){var e;De(this,g),void 0!==window&&(e=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame),window.requestAnimationFrame=void 0===e?function(g){g()}:e,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},sg(this.options,this.defaultOptions),this._determineBrowserMethod(),this.bindEventListeners()}return Pe(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=WI((function(){var g;A.zooming=!1,fg(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",fg(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){Cn(["hideEdgesOnDrag","hideEdgesOnZoom","hideNodesOnDrag"],this.options,g)}}},{key:"_requestNextFrame",value:function(g,A){if("undefined"!=typeof window){var t,e=window;return!0===this.requiresTimeout?t=WI(g,A):e.requestAnimationFrame&&(t=e.requestAnimationFrame(g)),t}}},{key:"_startRendering",value:function(){var g;!0===this.renderingActive&&(void 0===this.renderTimer&&(this.renderTimer=this._requestNextFrame(fg(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;var A={drawExternalLabels:null};0!==this.canvas.frame.canvas.width&&0!==this.canvas.frame.canvas.height||this.canvas.setSize(),this.canvas.setTransform();var t=this.canvas.getContext(),e=this.canvas.frame.canvas.clientWidth,C=this.canvas.frame.canvas.clientHeight;if(t.clearRect(0,0,e,C),0===this.canvas.frame.clientWidth)return;if(t.save(),t.translate(this.body.view.translation.x,this.body.view.translation.y),t.scale(this.body.view.scale,this.body.view.scale),t.beginPath(),this.body.emitter.emit("beforeDrawing",t),t.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(t),!1===this.dragging||!0===this.dragging&&!1===this.options.hideNodesOnDrag){var I=this._drawNodes(t,g),i=I.drawExternalLabels;A.drawExternalLabels=i}!1===g&&(!1===this.dragging||!0===this.dragging&&!1===this.options.hideEdgesOnDrag)&&(!1===this.zooming||!0===this.zooming&&!1===this.options.hideEdgesOnZoom)&&this._drawArrows(t),null!=A.drawExternalLabels&&A.drawExternalLabels(),!1===g&&this._drawSelectionBox(t),t.beginPath(),this.body.emitter.emit("afterDrawing",t),t.closePath(),t.restore(),!0===g&&t.clearRect(0,0,e,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 e in t)Object.prototype.hasOwnProperty.call(t,e)&&((A=t[e]).resize(g),A.updateBoundingBox(g,A.selected));g.restore()}},{key:"_drawNodes",value:function(g){for(var A,t,e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],C=this.body.nodes,I=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=[],h=0;h<I.length;h++)if((A=C[I[h]]).hover)o.push(I[h]);else if(A.isSelected())i.push(I[h]);else if(!0===e){var l=A.draw(g);null!=l.drawExternalLabel&&d.push(l.drawExternalLabel)}else if(!0===A.isBoundingBoxOverlappingWith(a)){var c=A.draw(g);null!=c.drawExternalLabel&&d.push(c.drawExternalLabel)}else A.updateBoundingBox(g,A.selected);var u=i.length,p=o.length;for(t=0;t<u;t++){var f=(A=C[i[t]]).draw(g);null!=f.drawExternalLabel&&d.push(f.drawExternalLabel)}for(t=0;t<p;t++){var v=(A=C[o[t]]).draw(g);null!=v.drawExternalLabel&&d.push(v.drawExternalLabel)}return{drawExternalLabels:function(){var g,A=kh(d);try{for(A.s();!(g=A.n()).done;){(0,g.value)()}}catch(g){A.e(g)}finally{A.f()}}}}},{key:"_drawEdges",value:function(g){for(var A=this.body.edges,t=this.body.edgeIndices,e=0;e<t.length;e++){var C=A[t[e]];!0===C.connected&&C.draw(g)}}},{key:"_drawArrows",value:function(g){for(var A=this.body.edges,t=this.body.edgeIndices,e=0;e<t.length;e++){var C=A[t[e]];!0===C.connected&&C.drawArrows(g)}}},{key:"_determineBrowserMethod",value:function(){if("undefined"!=typeof window){var g=navigator.userAgent.toLowerCase();this.requiresTimeout=!1,(-1!=DI(g).call(g,"msie 9.0")||-1!=DI(g).call(g,"safari")&&DI(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}(),Oh=B.setInterval;function Th(g,A){A.inputHandler=function(g){g.isFirst&&A(g)},g.on("hammer.input",A.inputHandler)}function Dh(g,A){return A.inputHandler=function(g){g.isFinal&&A(g)},g.on("hammer.input",A.inputHandler)}var Nh=function(){function g(A){De(this,g),this.body=A,this.pixelRatio=1,this.cameraState={},this.initialized=!1,this.canvasViewCenter={},this._cleanupCallbacks=[],this.options={},this.defaultOptions={autoResize:!0,height:"100%",width:"100%"},sg(this.options,this.defaultOptions),this.bindEventListeners()}return Pe(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",fg(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,e,C,I,i=this;if(void 0!==g){Cn(["width","height","autoResize"],this.options,g)}if(this._cleanUp(),!0===this.options.autoResize){var o;if(window.ResizeObserver){var n=new ResizeObserver((function(){!0===i.setSize()&&i.body.emitter.emit("_requestRedraw")})),r=this.frame;n.observe(r),this._cleanupCallbacks.push((function(){n.unobserve(r)}))}else{var s=Oh((function(){!0===i.setSize()&&i.body.emitter.emit("_requestRedraw")}),1e3);this._cleanupCallbacks.push((function(){clearInterval(s)}))}var a=fg(o=this._onResize).call(o,this);A=window,t="resize",e=a,A.addEventListener?(void 0===C&&(C=!1),"mousewheel"===t&&$C(I=navigator.userAgent).call(I,"Firefox")&&(t="DOMMouseScroll"),A.addEventListener(t,e,C)):A.attachEvent("on"+t,e),this._cleanupCallbacks.push((function(){!function(g,A,t,e){var C;g.removeEventListener?(void 0===e&&(e=!1),"mousewheel"===A&&$C(C=navigator.userAgent).call(C,"Firefox")&&(A="DOMMouseScroll"),g.removeEventListener(A,t,e)):g.detachEvent("on"+A,t)}(window,"resize",a)}))}}},{key:"_cleanUp",value:function(){var g,A,t;RC(g=ZC(A=WC(t=this._cleanupCallbacks).call(t,0)).call(A)).call(g,(function(g){try{g()}catch(g){console.error(g)}}))}},{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 e=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),C={x:e.x-this.cameraState.position.x,y:e.y-this.cameraState.position.y};this.body.view.translation.x+=C.x*this.body.view.scale,this.body.view.translation.y+=C.y*this.body.view.scale}}},{key:"_prepareValue",value:function(g){if("number"==typeof g)return g+"px";if("string"==typeof g){if(-1!==DI(g).call(g,"%")||-1!==DI(g).call(g,"px"))return g;if(-1===DI(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=0,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.innerText="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 Bn(this.frame.canvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:Bn.DIRECTION_ALL}),Th(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 Bn(this.frame),Dh(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,e=this.frame.canvas.width,C=this.frame.canvas.height,I=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(I),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(I),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(e/this.pixelRatio),oldHeight:Math.round(C/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}();function Rh(g,A){var t=sg({nodes:A,minZoomLevel:Number.MIN_VALUE,maxZoomLevel:1},null!=g?g:{});if(!uC(t.nodes))throw new TypeError("Nodes has to be an array of ids.");if(0===t.nodes.length&&(t.nodes=A),!("number"==typeof t.minZoomLevel&&t.minZoomLevel>0))throw new TypeError("Min zoom level has to be a number higher than zero.");if(!("number"==typeof t.maxZoomLevel&&t.minZoomLevel<=t.maxZoomLevel))throw new TypeError("Max zoom level has to be a number higher than min zoom level.");return t}var Ph=function(){function g(A,t){var e,C,I=this;De(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",fg(e=this.fit).call(e,this)),this.body.emitter.on("animationFinished",(function(){I.body.emitter.emit("_stopRendering")})),this.body.emitter.on("unlockNode",fg(C=this.releaseNode).call(C,this))}return Pe(g,[{key:"setOptions",value:function(){var g=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.options=g}},{key:"fit",value:function(g){var A=arguments.length>1&&void 0!==arguments[1]&&arguments[1];g=Rh(g,this.body.nodeIndices);var t,e,C=this.canvas.frame.canvas.clientWidth,I=this.canvas.frame.canvas.clientHeight;if(0===C||0===I)e=1,t=yh.getRange(this.body.nodes,g.nodes);else if(!0===A){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(g,!1);t=yh.getRange(this.body.nodes,g.nodes);var r=this.body.nodeIndices.length;e=12.662/(r+7.4147)+.0964822;var s=Math.min(C/600,I/600);e*=s}else{this.body.emitter.emit("_resizeNodes"),t=yh.getRange(this.body.nodes,g.nodes);var a=1.1*Math.abs(t.maxX-t.minX),d=1.1*Math.abs(t.maxY-t.minY),h=C/a,l=I/d;e=h<=l?h:l}e>g.maxZoomLevel?e=g.maxZoomLevel:e<g.minZoomLevel&&(e=g.minZoomLevel);var c=yh.findCenter(t),u={position:c,scale:e,animation:g.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.error("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,!Wr(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,!Wr(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,!Wr(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,!Wr(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,e=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),C=e.x-g.position.x,I=e.y-g.position.y;if(this.targetTranslation={x:this.sourceTranslation.x+C*this.targetScale+g.offset.x,y:this.sourceTranslation.y+I*this.targetScale+g.offset.y},0===g.animation.duration)if(null!=this.lockedOnNodeId)this.viewFunction=fg(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=fg(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}),e=t.x-g,C=t.y-A,I=this.body.view.translation,i={x:I.x+e*this.body.view.scale+this.lockedOnNodeOffset.x,y:I.y+C*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=kn[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=fg(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}();function Mh(g){var A,t=g&&g.preventDefault||!1,e=g&&g.container||window,C={},I={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!==I[A][g.keyCode]){for(var e=I[A][g.keyCode],C=0;C<e.length;C++)(void 0===e[C].shift||1==e[C].shift&&1==g.shiftKey||0==e[C].shift&&0==g.shiftKey)&&e[C].fn(g);1==t&&g.preventDefault()}};return C.bind=function(g,A,t){if(void 0===t&&(t="keydown"),void 0===i[g])throw new Error("unsupported key: "+g);void 0===I[t][i[g].code]&&(I[t][i[g].code]=[]),I[t][i[g].code].push({fn:A,shift:i[g].shift})},C.bindAll=function(g,A){for(var t in void 0===A&&(A="keydown"),i)i.hasOwnProperty(t)&&C.bind(t,g,A)},C.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"},C.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 e=[],C=I[t][i[g].code];if(void 0!==C)for(var o=0;o<C.length;o++)C[o].fn==A&&C[o].shift==i[g].shift||e.push(I[t][i[g].code][o]);I[t][i[g].code]=e}else I[t][i[g].code]=[]},C.reset=function(){I={keydown:{},keyup:{}}},C.destroy=function(){I={keydown:{},keyup:{}},e.removeEventListener("keydown",o,!0),e.removeEventListener("keyup",n,!0)},e.addEventListener("keydown",o,!0),e.addEventListener("keyup",n,!0),C}xg('div.vis-network div.vis-navigation div.vis-button{width:34px;height:34px;-moz-border-radius:17px;border-radius:17px;position:absolute;display:inline-block;background-position:2px 2px;background-repeat:no-repeat;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.vis-network div.vis-navigation div.vis-button:hover{box-shadow:0 0 3px 3px rgba(56,207,21,.3)}div.vis-network div.vis-navigation div.vis-button:active{box-shadow:0 0 1px 3px rgba(56,207,21,.95)}div.vis-network div.vis-navigation div.vis-button.vis-up{background-image:url("data:image/png;base64,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");bottom:50px;left:55px}div.vis-network div.vis-navigation div.vis-button.vis-down{background-image:url("data:image/png;base64,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");bottom:10px;left:55px}div.vis-network div.vis-navigation div.vis-button.vis-left{background-image:url("data:image/png;base64,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");bottom:10px;left:15px}div.vis-network div.vis-navigation div.vis-button.vis-right{background-image:url("data:image/png;base64,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");bottom:10px;left:95px}div.vis-network div.vis-navigation div.vis-button.vis-zoomIn{background-image:url("data:image/png;base64,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");bottom:10px;right:15px}div.vis-network div.vis-navigation div.vis-button.vis-zoomOut{background-image:url("data:image/png;base64,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");bottom:10px;right:55px}div.vis-network div.vis-navigation div.vis-button.vis-zoomExtends{background-image:url("data:image/png;base64,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");bottom:50px;right:15px}');var Bh=function(){function g(A,t){var e=this;De(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(){e.activated=!0,e.configureKeyboardBindings()})),this.body.emitter.on("deactivate",(function(){e.activated=!1,e.configureKeyboardBindings()})),this.body.emitter.on("destroy",(function(){void 0!==e.keycharm&&e.keycharm.destroy()})),this.options={}}return Pe(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 e=0;e<A.length;e++){this.navigationDOM[A[e]]=document.createElement("div"),this.navigationDOM[A[e]].className="vis-button vis-"+A[e],this.navigationDOM.wrapper.appendChild(this.navigationDOM[A[e]]);var C,I,i=new Bn(this.navigationDOM[A[e]]);if("_fit"===t[e])Th(i,fg(C=this._fit).call(C,this));else Th(i,fg(I=this.bindToRedraw).call(I,this,t[e]));this.navigationHammers.push(i)}var o=new Bn(this.canvas.frame);Dh(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]=fg(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,e=A/g,C=(1-e)*this.canvas.canvasViewCenter.x+t.x*e,I=(1-e)*this.canvas.canvasViewCenter.y+t.y*e;this.body.view.scale=A,this.body.view.translation={x:C,y:I},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,e=A/g,C=(1-e)*this.canvas.canvasViewCenter.x+t.x*e,I=(1-e)*this.canvas.canvasViewCenter.y+t.y*e;this.body.view.scale=A,this.body.view.translation={x:C,y:I},this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale,pointer:null})}},{key:"configureKeyboardBindings",value:function(){var g,A,t,e,C,I,i,o,n,r,s,a,d,h,l,c,u,p,f,v,y,m,b,w,k=this;(void 0!==this.keycharm&&this.keycharm.destroy(),!0===this.options.keyboard.enabled)&&(!0===this.options.keyboard.bindToWindow?this.keycharm=Mh({container:window,preventDefault:!0}):this.keycharm=Mh({container:this.canvas.frame,preventDefault:!0}),this.keycharm.reset(),!0===this.activated&&(fg(g=this.keycharm).call(g,"up",(function(){k.bindToRedraw("_moveUp")}),"keydown"),fg(A=this.keycharm).call(A,"down",(function(){k.bindToRedraw("_moveDown")}),"keydown"),fg(t=this.keycharm).call(t,"left",(function(){k.bindToRedraw("_moveLeft")}),"keydown"),fg(e=this.keycharm).call(e,"right",(function(){k.bindToRedraw("_moveRight")}),"keydown"),fg(C=this.keycharm).call(C,"=",(function(){k.bindToRedraw("_zoomIn")}),"keydown"),fg(I=this.keycharm).call(I,"num+",(function(){k.bindToRedraw("_zoomIn")}),"keydown"),fg(i=this.keycharm).call(i,"num-",(function(){k.bindToRedraw("_zoomOut")}),"keydown"),fg(o=this.keycharm).call(o,"-",(function(){k.bindToRedraw("_zoomOut")}),"keydown"),fg(n=this.keycharm).call(n,"[",(function(){k.bindToRedraw("_zoomOut")}),"keydown"),fg(r=this.keycharm).call(r,"]",(function(){k.bindToRedraw("_zoomIn")}),"keydown"),fg(s=this.keycharm).call(s,"pageup",(function(){k.bindToRedraw("_zoomIn")}),"keydown"),fg(a=this.keycharm).call(a,"pagedown",(function(){k.bindToRedraw("_zoomOut")}),"keydown"),fg(d=this.keycharm).call(d,"up",(function(){k.unbindFromRedraw("_moveUp")}),"keyup"),fg(h=this.keycharm).call(h,"down",(function(){k.unbindFromRedraw("_moveDown")}),"keyup"),fg(l=this.keycharm).call(l,"left",(function(){k.unbindFromRedraw("_moveLeft")}),"keyup"),fg(c=this.keycharm).call(c,"right",(function(){k.unbindFromRedraw("_moveRight")}),"keyup"),fg(u=this.keycharm).call(u,"=",(function(){k.unbindFromRedraw("_zoomIn")}),"keyup"),fg(p=this.keycharm).call(p,"num+",(function(){k.unbindFromRedraw("_zoomIn")}),"keyup"),fg(f=this.keycharm).call(f,"num-",(function(){k.unbindFromRedraw("_zoomOut")}),"keyup"),fg(v=this.keycharm).call(v,"-",(function(){k.unbindFromRedraw("_zoomOut")}),"keyup"),fg(y=this.keycharm).call(y,"[",(function(){k.unbindFromRedraw("_zoomOut")}),"keyup"),fg(m=this.keycharm).call(m,"]",(function(){k.unbindFromRedraw("_zoomIn")}),"keyup"),fg(b=this.keycharm).call(b,"pageup",(function(){k.unbindFromRedraw("_zoomIn")}),"keyup"),fg(w=this.keycharm).call(w,"pagedown",(function(){k.unbindFromRedraw("_zoomOut")}),"keyup")))}}]),g}();function zh(g,A){var t;if(void 0===sC||null==Et(g)){if(uC(g)||(t=function(g,A){var t;if(!g)return;if("string"==typeof g)return Zh(g,A);var e=lC(t=Object.prototype.toString.call(g)).call(t,8,-1);"Object"===e&&g.constructor&&(e=g.constructor.name);if("Map"===e||"Set"===e)return ft(g);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return Zh(g,A)}(g))||A&&g&&"number"==typeof g.length){t&&(g=t);var e=0,C=function(){};return{s:C,n:function(){return e>=g.length?{done:!0}:{done:!1,value:g[e++]}},e:function(g){throw g},f:C}}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 I,i=!0,o=!1;return{s:function(){t=Ot(g)},n:function(){var g=t.next();return i=g.done,g},e:function(g){o=!0,I=g},f:function(){try{i||null==t.return||t.return()}finally{if(o)throw I}}}}function Zh(g,A){(null==A||A>g.length)&&(A=g.length);for(var t=0,e=new Array(A);t<A;t++)e[t]=g[t];return e}var Sh=function(){function g(A,t,e){var C,I,i,o,n,r,s,a,d,h,l,c,u;De(this,g),this.body=A,this.canvas=t,this.selectionHandler=e,this.navigationHandler=new Bh(A,t),this.body.eventListeners.onTap=fg(C=this.onTap).call(C,this),this.body.eventListeners.onTouch=fg(I=this.onTouch).call(I,this),this.body.eventListeners.onDoubleTap=fg(i=this.onDoubleTap).call(i,this),this.body.eventListeners.onHold=fg(o=this.onHold).call(o,this),this.body.eventListeners.onDragStart=fg(n=this.onDragStart).call(n,this),this.body.eventListeners.onDrag=fg(r=this.onDrag).call(r,this),this.body.eventListeners.onDragEnd=fg(s=this.onDragEnd).call(s,this),this.body.eventListeners.onMouseWheel=fg(a=this.onMouseWheel).call(a,this),this.body.eventListeners.onPinch=fg(d=this.onPinch).call(d,this),this.body.eventListeners.onMouseMove=fg(h=this.onMouseMove).call(h,this),this.body.eventListeners.onRelease=fg(l=this.onRelease).call(l,this),this.body.eventListeners.onContext=fg(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=fg(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},sg(this.options,this.defaultOptions),this.bindEventListeners()}return Pe(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){In(["hideEdgesOnDrag","hideEdgesOnZoom","hideNodesOnDrag","keyboard","multiselect","selectable","selectConnectedEdges"],this.options,g),wn(this.options,g,"keyboard"),g.tooltip&&(sg(this.options.tooltip,g.tooltip),g.tooltip.color&&(this.options.tooltip.color=cn(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-sn(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,t),this.selectionHandler.commitAndEmit(A,g),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,t),this.selectionHandler.commitAndEmit(A,g),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){var A=arguments.length>1&&void 0!==arguments[1]&&arguments[1];!0===A?this.selectionHandler.selectAdditionalOnPoint(g):this.selectionHandler.selectOnPoint(g)}},{key:"_determineDifference",value:function(g,A){var t=function(g,A){for(var t=[],e=0;e<g.length;e++){var C=g[e];-1===DI(A).call(A,C)&&t.push(C)}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=sg({},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 e,C=zh(this.selectionHandler.getSelectedNodes());try{for(C.s();!(e=C.n()).done;){var I=e.value,i={id:I.id,node:I,x:I.x,y:I.y,xFixed:I.options.fixed.x,yFixed:I.options.fixed.y};I.options.fixed.x=!0,I.options.fixed.y=!0,this.drag.selection.push(i)}}catch(g){C.e(g)}finally{C.f()}}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),e=this.drag.selection;if(e&&e.length&&!0===this.options.dragNodes){this.selectionHandler.generateClickEvent("dragging",g,t);var C=t.x-this.drag.pointer.x,I=t.y-this.drag.pointer.y;RC(e).call(e,(function(g){var t=g.node;!1===g.xFixed&&(t.x=A.canvas._XconvertDOMtoCanvas(A.canvas._XconvertCanvasToDOM(g.x)+C)),!1===g.yFixed&&(t.y=A.canvas._YconvertDOMtoCanvas(A.canvas._YconvertCanvasToDOM(g.y)+I))})),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 e=this.body.selectionBox.position,C={minX:Math.min(e.start.x,e.end.x),minY:Math.min(e.start.y,e.end.y),maxX:Math.max(e.start.x,e.end.x),maxY:Math.max(e.start.y,e.end.y)},I=oI(t=this.body.nodeIndices).call(t,(function(g){var t=A.body.nodes[g];return t.x>=C.minX&&t.x<=C.maxX&&t.y>=C.minY&&t.y<=C.maxY}));RC(I).call(I,(function(g){return A.selectionHandler.selectObject(A.body.nodes[g])}));var i=this.getPointer(g.center);this.selectionHandler.commitAndEmit(i,g),this.selectionHandler.generateClickEvent("dragEnd",g,this.getPointer(g.center),void 0,!0),this.body.emitter.emit("_requestRedraw")}else{var o=this.drag.selection;o&&o.length?(RC(o).call(o,(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 e=void 0;void 0!==this.drag&&!0===this.drag.dragging&&(e=this.canvas.DOMtoCanvas(this.drag.pointer));var C=this.body.view.translation,I=g/t,i=(1-I)*A.x+C.x*I,o=(1-I)*A.y+C.y*I;if(this.body.view.scale=g,this.body.view.translation={x:i,y:o},null!=e){var n=this.canvas.canvasToDOM(e);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}),e=!1;void 0!==this.popup&&(!1===this.popup.hidden&&this._checkHidePopup(t),!1===this.popup.hidden&&(e=!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===e&&(void 0!==this.popupTimer&&(clearInterval(this.popupTimer),this.popupTimer=void 0),this.drag.dragging||(this.popupTimer=WI((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),e={left:A,top:t,right:A,bottom:t},C=void 0===this.popupObj?void 0:this.popupObj.id,I=!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(e)&&(I=!0,void 0!==o.getTitle()&&s.push(n[a]));s.length>0&&(this.popupObj=r[s[s.length-1]],I=!0)}if(void 0===this.popupObj&&!1===I){for(var d,h=this.body.edgeIndices,l=this.body.edges,c=[],u=0;u<h.length;u++)!0===(d=l[h[u]]).isOverlappingWith(e)&&!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!==C&&(void 0===this.popup&&(this.popup=new zn(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 e=this.selectionHandler.getNodeAt(g);t=void 0!==e&&e.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}(),Fh=wr.getWeakData,Gh=qg.set,Lh=qg.getterFor,jh=Vt.find,Vh=Vt.findIndex,Yh=0,Wh=function(g){return g.frozen||(g.frozen=new Qh)},Qh=function(){this.entries=[]},Uh=function(g,A){return jh(g.entries,(function(g){return g[0]===A}))};Qh.prototype={get:function(g){var A=Uh(this,g);if(A)return A[1]},has:function(g){return!!Uh(this,g)},set:function(g,A){var t=Uh(this,g);t?t[1]=A:this.entries.push([g,A])},delete:function(g){var A=Vh(this.entries,(function(A){return A[0]===g}));return~A&&this.entries.splice(A,1),!!~A}};var _h={getConstructor:function(g,A,t,e){var C=g((function(g,I){Er(g,C,A),Gh(g,{type:A,id:Yh++,frozen:void 0}),null!=I&&xr(I,g[e],{that:g,AS_ENTRIES:t})})),I=Lh(A),i=function(g,A,t){var e=I(g),C=Fh(S(A),!0);return!0===C?Wh(e).set(A,t):C[e.id]=t,g};return Pr(C.prototype,{delete:function(g){var A=I(this);if(!p(g))return!1;var t=Fh(g);return!0===t?Wh(A).delete(g):t&&y(t,A.id)&&delete t[A.id]},has:function(g){var A=I(this);if(!p(g))return!1;var t=Fh(g);return!0===t?Wh(A).has(g):t&&y(t,A.id)}}),Pr(C.prototype,t?{get:function(g){var A=I(this);if(p(g)){var t=Fh(g);return!0===t?Wh(A).get(g):t?t[A.id]:void 0}},set:function(g,A){return i(this,g,A)}}:{add:function(g){return i(this,g,!0)}}),C}};t((function(g){var A,t=qg.enforce,e=!C.ActiveXObject&&"ActiveXObject"in C,I=Object.isExtensible,i=function(g){return function(){return g(this,arguments.length?arguments[0]:void 0)}},o=g.exports=Rr("WeakMap",i,_h);if(Sg&&e){A=_h.getConstructor(i,"WeakMap",!0),wr.REQUIRED=!0;var n=o.prototype,r=n.delete,s=n.has,a=n.get,d=n.set;Pr(n,{delete:function(g){if(p(g)&&!I(g)){var e=t(this);return e.frozen||(e.frozen=new A),r.call(this,g)||e.frozen.delete(g)}return r.call(this,g)},has:function(g){if(p(g)&&!I(g)){var e=t(this);return e.frozen||(e.frozen=new A),s.call(this,g)||e.frozen.has(g)}return s.call(this,g)},get:function(g){if(p(g)&&!I(g)){var e=t(this);return e.frozen||(e.frozen=new A),s.call(this,g)?a.call(this,g):e.frozen.get(g)}return a.call(this,g)},set:function(g,e){if(p(g)&&!I(g)){var C=t(this);C.frozen||(C.frozen=new A),s.call(this,g)?d.call(this,g,e):C.frozen.set(g,e)}else d.call(this,g,e);return this}})}}));var Hh,Kh,Xh,Jh,qh,$h=B.WeakMap;
+function HI(){return(HI=Object.assign||function(g){for(var A=1;A<arguments.length;A++){var t=arguments[A];for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&(g[e]=t[e])}return g}).apply(this,arguments)}function KI(g,A){g.prototype=Object.create(A.prototype),g.prototype.constructor=g,g.__proto__=A}function XI(g){if(void 0===g)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return g}var JI,qI="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 e=arguments[t];if(null!=e)for(var C in e)e.hasOwnProperty(C)&&(A[C]=e[C])}return A}:Object.assign,$I=["","webkit","Moz","MS","ms","o"],gi="undefined"==typeof document?{style:{}}:document.createElement("div"),Ai=Math.round,ti=Math.abs,ei=Date.now;function Ci(g,A){for(var t,e,C=A[0].toUpperCase()+A.slice(1),I=0;I<$I.length;){if((e=(t=$I[I])?t+C:A)in g)return e;I++}}JI="undefined"==typeof window?{}:window;var Ii=Ci(gi.style,"touchAction"),ii=void 0!==Ii;var oi="compute",ni="auto",ri="manipulation",si="none",ai="pan-x",di="pan-y",hi=function(){if(!ii)return!1;var g={},A=JI.CSS&&JI.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach((function(t){return g[t]=!A||JI.CSS.supports("touch-action",t)})),g}(),li="ontouchstart"in JI,ci=void 0!==Ci(JI,"PointerEvent"),ui=li&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),pi="touch",fi="mouse",vi=16,yi=24,mi=["x","y"],bi=["clientX","clientY"];function wi(g,A,t){var e;if(g)if(g.forEach)g.forEach(A,t);else if(void 0!==g.length)for(e=0;e<g.length;)A.call(t,g[e],e,g),e++;else for(e in g)g.hasOwnProperty(e)&&A.call(t,g[e],e,g)}function ki(g,A){return"function"==typeof g?g.apply(A&&A[0]||void 0,A):g}function xi(g,A){return g.indexOf(A)>-1}var Ei=function(){function g(g,A){this.manager=g,this.set(A)}var A=g.prototype;return A.set=function(g){g===oi&&(g=this.compute()),ii&&this.manager.element.style&&hi[g]&&(this.manager.element.style[Ii]=g),this.actions=g.toLowerCase().trim()},A.update=function(){this.set(this.manager.options.touchAction)},A.compute=function(){var g=[];return wi(this.manager.recognizers,(function(A){ki(A.options.enable,[A])&&(g=g.concat(A.getTouchAction()))})),function(g){if(xi(g,si))return si;var A=xi(g,ai),t=xi(g,di);return A&&t?si:A||t?A?ai:di:xi(g,ri)?ri:ni}(g.join(" "))},A.preventDefaults=function(g){var A=g.srcEvent,t=g.offsetDirection;if(this.manager.session.prevented)A.preventDefault();else{var e=this.actions,C=xi(e,si)&&!hi.none,I=xi(e,di)&&!hi["pan-y"],i=xi(e,ai)&&!hi["pan-x"];if(C){var o=1===g.pointers.length,n=g.distance<2,r=g.deltaTime<250;if(o&&n&&r)return}if(!i||!I)return C||I&&6&t||i&&t&yi?this.preventSrc(A):void 0}},A.preventSrc=function(g){this.manager.session.prevented=!0,g.preventDefault()},g}();function Oi(g,A){for(;g;){if(g===A)return!0;g=g.parentNode}return!1}function Ti(g){var A=g.length;if(1===A)return{x:Ai(g[0].clientX),y:Ai(g[0].clientY)};for(var t=0,e=0,C=0;C<A;)t+=g[C].clientX,e+=g[C].clientY,C++;return{x:Ai(t/A),y:Ai(e/A)}}function Di(g){for(var A=[],t=0;t<g.pointers.length;)A[t]={clientX:Ai(g.pointers[t].clientX),clientY:Ai(g.pointers[t].clientY)},t++;return{timeStamp:ei(),pointers:A,center:Ti(A),deltaX:g.deltaX,deltaY:g.deltaY}}function Ni(g,A,t){t||(t=mi);var e=A[t[0]]-g[t[0]],C=A[t[1]]-g[t[1]];return Math.sqrt(e*e+C*C)}function Ri(g,A,t){t||(t=mi);var e=A[t[0]]-g[t[0]],C=A[t[1]]-g[t[1]];return 180*Math.atan2(C,e)/Math.PI}function Pi(g,A){return g===A?1:ti(g)>=ti(A)?g<0?2:4:A<0?8:vi}function Mi(g,A,t){return{x:A/g||0,y:t/g||0}}function Bi(g,A){var t=g.session,e=A.pointers,C=e.length;t.firstInput||(t.firstInput=Di(A)),C>1&&!t.firstMultiple?t.firstMultiple=Di(A):1===C&&(t.firstMultiple=!1);var I=t.firstInput,i=t.firstMultiple,o=i?i.center:I.center,n=A.center=Ti(e);A.timeStamp=ei(),A.deltaTime=A.timeStamp-I.timeStamp,A.angle=Ri(o,n),A.distance=Ni(o,n),function(g,A){var t=A.center,e=g.offsetDelta||{},C=g.prevDelta||{},I=g.prevInput||{};1!==A.eventType&&4!==I.eventType||(C=g.prevDelta={x:I.deltaX||0,y:I.deltaY||0},e=g.offsetDelta={x:t.x,y:t.y}),A.deltaX=C.x+(t.x-e.x),A.deltaY=C.y+(t.y-e.y)}(t,A),A.offsetDirection=Pi(A.deltaX,A.deltaY);var r,s,a=Mi(A.deltaTime,A.deltaX,A.deltaY);A.overallVelocityX=a.x,A.overallVelocityY=a.y,A.overallVelocity=ti(a.x)>ti(a.y)?a.x:a.y,A.scale=i?(r=i.pointers,Ni((s=e)[0],s[1],bi)/Ni(r[0],r[1],bi)):1,A.rotation=i?function(g,A){return Ri(A[1],A[0],bi)+Ri(g[1],g[0],bi)}(i.pointers,e):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,e,C,I,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=Mi(o,n,r);e=s.x,C=s.y,t=ti(s.x)>ti(s.y)?s.x:s.y,I=Pi(n,r),g.lastInterval=A}else t=i.velocity,e=i.velocityX,C=i.velocityY,I=i.direction;A.velocity=t,A.velocityX=e,A.velocityY=C,A.direction=I}(t,A);var d,h=g.element,l=A.srcEvent;Oi(d=l.composedPath?l.composedPath()[0]:l.path?l.path[0]:l.target,h)&&(h=d),A.target=h}function zi(g,A,t){var e=t.pointers.length,C=t.changedPointers.length,I=1&A&&e-C==0,i=12&A&&e-C==0;t.isFirst=!!I,t.isFinal=!!i,I&&(g.session={}),t.eventType=A,Bi(g,t),g.emit("hammer.input",t),g.recognize(t),g.session.prevInput=t}function Zi(g){return g.trim().split(/\s+/g)}function Si(g,A,t){wi(Zi(A),(function(A){g.addEventListener(A,t,!1)}))}function Fi(g,A,t){wi(Zi(A),(function(A){g.removeEventListener(A,t,!1)}))}function Gi(g){var A=g.ownerDocument||g;return A.defaultView||A.parentWindow||window}var Li=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){ki(g.options.enable,[g])&&t.handler(A)},this.init()}var A=g.prototype;return A.handler=function(){},A.init=function(){this.evEl&&Si(this.element,this.evEl,this.domHandler),this.evTarget&&Si(this.target,this.evTarget,this.domHandler),this.evWin&&Si(Gi(this.element),this.evWin,this.domHandler)},A.destroy=function(){this.evEl&&Fi(this.element,this.evEl,this.domHandler),this.evTarget&&Fi(this.target,this.evTarget,this.domHandler),this.evWin&&Fi(Gi(this.element),this.evWin,this.domHandler)},g}();function ji(g,A,t){if(g.indexOf&&!t)return g.indexOf(A);for(var e=0;e<g.length;){if(t&&g[e][t]==A||!t&&g[e]===A)return e;e++}return-1}var Vi={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},Yi={2:pi,3:"pen",4:fi,5:"kinect"},Wi="pointerdown",Qi="pointermove pointerup pointercancel";JI.MSPointerEvent&&!JI.PointerEvent&&(Wi="MSPointerDown",Qi="MSPointerMove MSPointerUp MSPointerCancel");var Ui=function(g){function A(){var t,e=A.prototype;return e.evEl=Wi,e.evWin=Qi,(t=g.apply(this,arguments)||this).store=t.manager.session.pointerEvents=[],t}return KI(A,g),A.prototype.handler=function(g){var A=this.store,t=!1,e=g.type.toLowerCase().replace("ms",""),C=Vi[e],I=Yi[g.pointerType]||g.pointerType,i=I===pi,o=ji(A,g.pointerId,"pointerId");1&C&&(0===g.button||i)?o<0&&(A.push(g),o=A.length-1):12&C&&(t=!0),o<0||(A[o]=g,this.callback(this.manager,C,{pointers:A,changedPointers:[g],pointerType:I,srcEvent:g}),t&&A.splice(o,1))},A}(Li);function _i(g){return Array.prototype.slice.call(g,0)}function Hi(g,A,t){for(var e=[],C=[],I=0;I<g.length;){var i=A?g[I][A]:g[I];ji(C,i)<0&&e.push(g[I]),C[I]=i,I++}return t&&(e=A?e.sort((function(g,t){return g[A]>t[A]})):e.sort()),e}var Ki={touchstart:1,touchmove:2,touchend:4,touchcancel:8},Xi="touchstart touchmove touchend touchcancel",Ji=function(g){function A(){var t;return A.prototype.evTarget=Xi,(t=g.apply(this,arguments)||this).targetIds={},t}return KI(A,g),A.prototype.handler=function(g){var A=Ki[g.type],t=qi.call(this,g,A);t&&this.callback(this.manager,A,{pointers:t[0],changedPointers:t[1],pointerType:pi,srcEvent:g})},A}(Li);function qi(g,A){var t,e,C=_i(g.touches),I=this.targetIds;if(3&A&&1===C.length)return I[C[0].identifier]=!0,[C,C];var i=_i(g.changedTouches),o=[],n=this.target;if(e=C.filter((function(g){return Oi(g.target,n)})),1===A)for(t=0;t<e.length;)I[e[t].identifier]=!0,t++;for(t=0;t<i.length;)I[i[t].identifier]&&o.push(i[t]),12&A&&delete I[i[t].identifier],t++;return o.length?[Hi(e.concat(o),"identifier",!0),o]:void 0}var $i={mousedown:1,mousemove:2,mouseup:4},go="mousedown",Ao="mousemove mouseup",to=function(g){function A(){var t,e=A.prototype;return e.evEl=go,e.evWin=Ao,(t=g.apply(this,arguments)||this).pressed=!1,t}return KI(A,g),A.prototype.handler=function(g){var A=$i[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:fi,srcEvent:g}))},A}(Li);function eo(g){var A=g.changedPointers[0];if(A.identifier===this.primaryTouch){var t={x:A.clientX,y:A.clientY},e=this.lastTouches;this.lastTouches.push(t);setTimeout((function(){var g=e.indexOf(t);g>-1&&e.splice(g,1)}),2500)}}function Co(g,A){1&g?(this.primaryTouch=A.changedPointers[0].identifier,eo.call(this,A)):12&g&&eo.call(this,A)}function Io(g){for(var A=g.srcEvent.clientX,t=g.srcEvent.clientY,e=0;e<this.lastTouches.length;e++){var C=this.lastTouches[e],I=Math.abs(A-C.x),i=Math.abs(t-C.y);if(I<=25&&i<=25)return!0}return!1}var io=function(){return function(g){function A(A,t){var e;return(e=g.call(this,A,t)||this).handler=function(g,A,t){var C=t.pointerType===pi,I=t.pointerType===fi;if(!(I&&t.sourceCapabilities&&t.sourceCapabilities.firesTouchEvents)){if(C)Co.call(XI(XI(e)),A,t);else if(I&&Io.call(XI(XI(e)),t))return;e.callback(g,A,t)}},e.touch=new Ji(e.manager,e.handler),e.mouse=new to(e.manager,e.handler),e.primaryTouch=null,e.lastTouches=[],e}return KI(A,g),A.prototype.destroy=function(){this.touch.destroy(),this.mouse.destroy()},A}(Li)}();function oo(g,A,t){return!!Array.isArray(g)&&(wi(g,t[A],t),!0)}var no=32,ro=1;function so(g,A){var t=A.manager;return t?t.get(g):g}function ao(g){return 16&g?"cancel":8&g?"end":4&g?"move":2&g?"start":""}var ho=function(){function g(g){void 0===g&&(g={}),this.options=HI({enable:!0},g),this.id=ro++,this.manager=null,this.state=1,this.simultaneous={},this.requireFail=[]}var A=g.prototype;return A.set=function(g){return qI(this.options,g),this.manager&&this.manager.touchAction.update(),this},A.recognizeWith=function(g){if(oo(g,"recognizeWith",this))return this;var A=this.simultaneous;return A[(g=so(g,this)).id]||(A[g.id]=g,g.recognizeWith(this)),this},A.dropRecognizeWith=function(g){return oo(g,"dropRecognizeWith",this)||(g=so(g,this),delete this.simultaneous[g.id]),this},A.requireFailure=function(g){if(oo(g,"requireFailure",this))return this;var A=this.requireFail;return-1===ji(A,g=so(g,this))&&(A.push(g),g.requireFailure(this)),this},A.dropRequireFailure=function(g){if(oo(g,"dropRequireFailure",this))return this;g=so(g,this);var A=ji(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 e(t){A.manager.emit(t,g)}t<8&&e(A.options.event+ao(t)),e(A.options.event),g.additionalEvent&&e(g.additionalEvent),t>=8&&e(A.options.event+ao(t))},A.tryEmit=function(g){if(this.canEmit())return this.emit(g);this.state=no},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=qI({},g);if(!ki(this.options.enable,[this,A]))return this.reset(),void(this.state=no);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}(),lo=function(g){function A(A){var t;return void 0===A&&(A={}),(t=g.call(this,HI({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}KI(A,g);var t=A.prototype;return t.getTouchAction=function(){return[ri]},t.process=function(g){var A=this,t=this.options,e=g.pointers.length===t.pointers,C=g.distance<t.threshold,I=g.deltaTime<t.time;if(this.reset(),1&g.eventType&&0===this.count)return this.failTimeout();if(C&&I&&e){if(4!==g.eventType)return this.failTimeout();var i=!this.pTime||g.timeStamp-this.pTime<t.interval,o=!this.pCenter||Ni(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 no},t.failTimeout=function(){var g=this;return this._timer=setTimeout((function(){g.state=no}),this.options.interval),no},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}(ho),co=function(g){function A(A){return void 0===A&&(A={}),g.call(this,HI({pointers:1},A))||this}KI(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,e=6&A,C=this.attrTest(g);return e&&(8&t||!C)?16|A:e||C?4&t?8|A:2&A?4|A:2:no},A}(ho);function uo(g){return g===vi?"down":8===g?"up":2===g?"left":4===g?"right":""}var po=function(g){function A(A){var t;return void 0===A&&(A={}),(t=g.call(this,HI({event:"pan",threshold:10,pointers:1,direction:30},A))||this).pX=null,t.pY=null,t}KI(A,g);var t=A.prototype;return t.getTouchAction=function(){var g=this.options.direction,A=[];return 6&g&&A.push(di),g&yi&&A.push(ai),A},t.directionTest=function(g){var A=this.options,t=!0,e=g.distance,C=g.direction,I=g.deltaX,i=g.deltaY;return C&A.direction||(6&A.direction?(C=0===I?1:I<0?2:4,t=I!==this.pX,e=Math.abs(g.deltaX)):(C=0===i?1:i<0?8:vi,t=i!==this.pY,e=Math.abs(g.deltaY))),g.direction=C,t&&e>A.threshold&&C&A.direction},t.attrTest=function(g){return co.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=uo(A.direction);t&&(A.additionalEvent=this.options.event+t),g.prototype.emit.call(this,A)},A}(co),fo=function(g){function A(A){return void 0===A&&(A={}),g.call(this,HI({event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},A))||this}KI(A,g);var t=A.prototype;return t.getTouchAction=function(){return po.prototype.getTouchAction.call(this)},t.attrTest=function(A){var t,e=this.options.direction;return 30&e?t=A.overallVelocity:6&e?t=A.overallVelocityX:e&yi&&(t=A.overallVelocityY),g.prototype.attrTest.call(this,A)&&e&A.offsetDirection&&A.distance>this.options.threshold&&A.maxPointers===this.options.pointers&&ti(t)>this.options.velocity&&4&A.eventType},t.emit=function(g){var A=uo(g.offsetDirection);A&&this.manager.emit(this.options.event+A,g),this.manager.emit(this.options.event,g)},A}(co),vo=function(g){function A(A){return void 0===A&&(A={}),g.call(this,HI({event:"pinch",threshold:0,pointers:2},A))||this}KI(A,g);var t=A.prototype;return t.getTouchAction=function(){return[si]},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}(co),yo=function(g){function A(A){return void 0===A&&(A={}),g.call(this,HI({event:"rotate",threshold:0,pointers:2},A))||this}KI(A,g);var t=A.prototype;return t.getTouchAction=function(){return[si]},t.attrTest=function(A){return g.prototype.attrTest.call(this,A)&&(Math.abs(A.rotation)>this.options.threshold||2&this.state)},A}(co),mo=function(g){function A(A){var t;return void 0===A&&(A={}),(t=g.call(this,HI({event:"press",pointers:1,time:251,threshold:9},A))||this)._timer=null,t._input=null,t}KI(A,g);var t=A.prototype;return t.getTouchAction=function(){return[ni]},t.process=function(g){var A=this,t=this.options,e=g.pointers.length===t.pointers,C=g.distance<t.threshold,I=g.deltaTime>t.time;if(this._input=g,!C||!e||12&g.eventType&&!I)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 no},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=ei(),this.manager.emit(this.options.event,this._input)))},A}(ho),bo={domEvents:!1,touchAction:oi,enable:!0,inputTarget:null,inputClass:null,cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},wo=[[yo,{enable:!1}],[vo,{enable:!1},["rotate"]],[fo,{direction:6}],[po,{direction:6},["swipe"]],[lo],[lo,{event:"doubletap",taps:2},["tap"]],[mo]];function ko(g,A){var t,e=g.element;e.style&&(wi(g.options.cssProps,(function(C,I){t=Ci(e.style,I),A?(g.oldCssProps[t]=e.style[t],e.style[t]=C):e.style[t]=g.oldCssProps[t]||""})),A||(g.oldCssProps={}))}var xo=function(){function g(g,A){var t,e=this;this.options=qI({},bo,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||(ci?Ui:ui?Ji:li?io:to))(t,zi),this.touchAction=new Ei(this,this.options.touchAction),ko(this,!0),wi(this.options.recognizers,(function(g){var A=e.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 qI(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 e=this.recognizers,C=A.curRecognizer;(!C||C&&8&C.state)&&(A.curRecognizer=null,C=null);for(var I=0;I<e.length;)t=e[I],2===A.stopped||C&&t!==C&&!t.canRecognizeWith(C)?t.reset():t.recognize(g),!C&&14&t.state&&(A.curRecognizer=t,C=t),I++}},A.get=function(g){if(g instanceof ho)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(oo(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(oo(g,"remove",this))return this;var A=this.get(g);if(g){var t=this.recognizers,e=ji(t,A);-1!==e&&(t.splice(e,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 wi(Zi(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 wi(Zi(g),(function(g){A?t[g]&&t[g].splice(ji(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 e=0;e<t.length;)t[e](A),e++}},A.destroy=function(){this.element&&ko(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null},g}(),Eo={touchstart:1,touchmove:2,touchend:4,touchcancel:8},Oo="touchstart",To="touchstart touchmove touchend touchcancel",Do=function(g){function A(){var t,e=A.prototype;return e.evTarget=Oo,e.evWin=To,(t=g.apply(this,arguments)||this).started=!1,t}return KI(A,g),A.prototype.handler=function(g){var A=Eo[g.type];if(1===A&&(this.started=!0),this.started){var t=No.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:pi,srcEvent:g})}},A}(Li);function No(g,A){var t=_i(g.touches),e=_i(g.changedTouches);return 12&A&&(t=Hi(t.concat(e),"identifier",!0)),[t,e]}function Ro(g,A,t){var e="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",C=window.console&&(window.console.warn||window.console.log);return C&&C.call(window.console,e,t),g.apply(this,arguments)}}var Po=Ro((function(g,A,t){for(var e=Object.keys(A),C=0;C<e.length;)(!t||t&&void 0===g[e[C]])&&(g[e[C]]=A[e[C]]),C++;return g}),"extend","Use `assign`."),Mo=Ro((function(g,A){return Po(g,A,!0)}),"merge","Use `assign`.");function Bo(g,A,t){var e,C=A.prototype;(e=g.prototype=Object.create(C)).constructor=g,e._super=C,t&&qI(e,t)}function zo(g,A){return function(){return g.apply(A,arguments)}}var Zo=function(){var g=function(g,A){return void 0===A&&(A={}),new xo(g,HI({recognizers:wo.concat()},A))};return g.VERSION="2.0.17-rc",g.DIRECTION_ALL=30,g.DIRECTION_DOWN=vi,g.DIRECTION_LEFT=2,g.DIRECTION_RIGHT=4,g.DIRECTION_UP=8,g.DIRECTION_HORIZONTAL=6,g.DIRECTION_VERTICAL=yi,g.DIRECTION_NONE=1,g.DIRECTION_DOWN=vi,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=no,g.Manager=xo,g.Input=Li,g.TouchAction=Ei,g.TouchInput=Ji,g.MouseInput=to,g.PointerEventInput=Ui,g.TouchMouseInput=io,g.SingleTouchInput=Do,g.Recognizer=ho,g.AttrRecognizer=co,g.Tap=lo,g.Pan=po,g.Swipe=fo,g.Pinch=vo,g.Rotate=yo,g.Press=mo,g.on=Si,g.off=Fi,g.each=wi,g.merge=Mo,g.extend=Po,g.bindFn=zo,g.assign=qI,g.inherit=Bo,g.bindFn=zo,g.prefixed=Ci,g.toArray=_i,g.inArray=ji,g.uniqueArray=Hi,g.splitStr=Zi,g.boolOrFn=ki,g.hasParent=Oi,g.addEventListeners=Si,g.removeEventListeners=Fi,g.defaults=qI({},bo,{preset:wo}),g}();function So(g,A){var t;if(void 0===sC||null==Et(g)){if(uC(g)||(t=function(g,A){var t;if(!g)return;if("string"==typeof g)return Fo(g,A);var e=lC(t=Object.prototype.toString.call(g)).call(t,8,-1);"Object"===e&&g.constructor&&(e=g.constructor.name);if("Map"===e||"Set"===e)return ft(g);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return Fo(g,A)}(g))||A&&g&&"number"==typeof g.length){t&&(g=t);var e=0,C=function(){};return{s:C,n:function(){return e>=g.length?{done:!0}:{done:!1,value:g[e++]}},e:function(g){throw g},f:C}}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 I,i=!0,o=!1;return{s:function(){t=Ot(g)},n:function(){var g=t.next();return i=g.done,g},e:function(g){o=!0,I=g},f:function(){try{i||null==t.return||t.return()}finally{if(o)throw I}}}}function Fo(g,A){(null==A||A>g.length)&&(A=g.length);for(var t=0,e=new Array(A);t<A;t++)e[t]=g[t];return e}var Go=sC("DELETE");function Lo(){var g=jo.apply(void 0,arguments);return Yo(g),g}function jo(){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 e;if(A.length>2)return jo.apply(void 0,hC(e=[Lo(A[0],A[1])]).call(e,rC(lC(A).call(A,2))));var C,I=A[0],i=A[1],o=So(cC(i));try{for(o.s();!(C=o.n()).done;){var n=C.value;Object.prototype.propertyIsEnumerable.call(i,n)&&(i[n]===Go?delete I[n]:null===I[n]||null===i[n]||"object"!==nC(I[n])||"object"!==nC(i[n])||uC(I[n])||uC(i[n])?I[n]=Vo(i[n]):I[n]=jo(I[n],i[n]))}}catch(g){o.e(g)}finally{o.f()}return I}function Vo(g){return uC(g)?mC(g).call(g,(function(g){return Vo(g)})):"object"===nC(g)&&null!==g?jo({},g):g}function Yo(g){for(var A=0,t=wC(g);A<t.length;A++){var e=t[A];g[e]===Go?delete g[e]:"object"===nC(g[e])&&null!==g[e]&&Yo(g[e])}}function Wo(){for(var g=arguments.length,A=new Array(g),t=0;t<g;t++)A[t]=arguments[t];return Qo(A.length?A:[kC()])}function Qo(g){var A=IC(function(){for(var g=Uo(),A=g(" "),t=g(" "),e=g(" "),C=0;C<arguments.length;C++)(A-=g(C<0||arguments.length<=C?void 0:arguments[C]))<0&&(A+=1),(t-=g(C<0||arguments.length<=C?void 0:arguments[C]))<0&&(t+=1),(e-=g(C<0||arguments.length<=C?void 0:arguments[C]))<0&&(e+=1);return[A,t,e]}(g),3),t=A[0],e=A[1],C=A[2],I=1,i=function(){var g=2091639*t+2.3283064365386963e-10*I;return t=e,e=C,C=g-(I=0|g)};return i.uint32=function(){return 4294967296*i()},i.fract53=function(){return i()+11102230246251565e-32*(2097152*i()|0)},i.algorithm="Alea",i.seed=g,i.version="0.9",i}function Uo(){var g=4022871197;return function(A){for(var t=A.toString(),e=0;e<t.length;e++){var C=.02519603282416938*(g+=t.charCodeAt(e));C-=g=C>>>0,g=(C*=g)>>>0,g+=4294967296*(C-=g)}return 2.3283064365386963e-10*(g>>>0)}}var _o="undefined"!=typeof window?window.Hammer||Zo:function(){return{on:g=function(){},off:g,destroy:g,emit:g,get:function(){return{set:g}}};var g};function Ho(g){var A,t=this;this._cleanupQueue=[],this.active=!1,this._dom={container:g,overlay:document.createElement("div")},this._dom.overlay.classList.add("vis-overlay"),this._dom.container.appendChild(this._dom.overlay),this._cleanupQueue.push((function(){t._dom.overlay.parentNode.removeChild(t._dom.overlay)}));var e=_o(this._dom.overlay);e.on("tap",fg(A=this._onTapOverlay).call(A,this)),this._cleanupQueue.push((function(){e.destroy()}));var C=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];RC(C).call(C,(function(g){e.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)||t.deactivate()},document.body.addEventListener("click",this._onClick),this._cleanupQueue.push((function(){document.body.removeEventListener("click",t._onClick)}))),this._escListener=function(g){("key"in g?"Escape"===g.key:27===g.keyCode)&&t.deactivate()}}Eg(Ho.prototype),Ho.current=null,Ho.prototype.destroy=function(){var g,A;this.deactivate();var t,e=So(ZC(g=WC(A=this._cleanupQueue).call(A,0)).call(g));try{for(e.s();!(t=e.n()).done;){(0,t.value)()}}catch(g){e.e(g)}finally{e.f()}},Ho.prototype.activate=function(){Ho.current&&Ho.current.deactivate(),Ho.current=this,this.active=!0,this._dom.overlay.style.display="none",this._dom.container.classList.add("vis-active"),this.emit("change"),this.emit("activate"),document.body.addEventListener("keydown",this._escListener)},Ho.prototype.deactivate=function(){this.active=!1,this._dom.overlay.style.display="block",this._dom.container.classList.remove("vis-active"),document.body.removeEventListener("keydown",this._escListener),this.emit("change"),this.emit("deactivate")},Ho.prototype._onTapOverlay=function(g){this.activate(),g.srcEvent.stopPropagation()};var Ko=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,Xo=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,Jo=/^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,qo=/^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 $o(g){if(g)for(;!0===g.hasChildNodes();){var A=g.firstChild;A&&($o(A),g.removeChild(A))}}function gn(g){return g instanceof String||"string"==typeof g}function An(g){return"object"===nC(g)&&null!==g}function tn(g,A,t,e){var C=!1;!0===e&&(C=null===A[t]&&void 0!==g[t]),C?delete g[t]:g[t]=A[t]}function en(g,A){var t=arguments.length>2&&void 0!==arguments[2]&&arguments[2];for(var e in g)if(void 0!==A[e])if(null===A[e]||"object"!==nC(A[e]))tn(g,A,e,t);else{var C=g[e],I=A[e];An(C)&&An(I)&&en(C,I,t)}}function Cn(g,A,t){var e=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(uC(t))throw new TypeError("Arrays are not supported by deepExtend");for(var C=0;C<g.length;C++){var I=g[C];if(Object.prototype.hasOwnProperty.call(t,I))if(t[I]&&t[I].constructor===Object)void 0===A[I]&&(A[I]={}),A[I].constructor===Object?on(A[I],t[I],!1,e):tn(A,t,I,e);else{if(uC(t[I]))throw new TypeError("Arrays are not supported by deepExtend");tn(A,t,I,e)}}return A}function In(g,A,t){var e=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(uC(t))throw new TypeError("Arrays are not supported by deepExtend");for(var C in t)if(Object.prototype.hasOwnProperty.call(t,C)&&!$C(g).call(g,C))if(t[C]&&t[C].constructor===Object)void 0===A[C]&&(A[C]={}),A[C].constructor===Object?on(A[C],t[C]):tn(A,t,C,e);else if(uC(t[C])){A[C]=[];for(var I=0;I<t[C].length;I++)A[C].push(t[C][I])}else tn(A,t,C,e);return A}function on(g,A){var t=arguments.length>2&&void 0!==arguments[2]&&arguments[2],e=arguments.length>3&&void 0!==arguments[3]&&arguments[3];for(var C in A)if(Object.prototype.hasOwnProperty.call(A,C)||!0===t)if("object"===nC(A[C])&&null!==A[C]&&tI(A[C])===Object.prototype)void 0===g[C]?g[C]=on({},A[C],t):"object"===nC(g[C])&&null!==g[C]&&tI(g[C])===Object.prototype?on(g[C],A[C],t):tn(g,A,C,e);else if(uC(A[C])){var I;g[C]=lC(I=A[C]).call(I)}else tn(g,A,C,e);return g}function nn(g,A){var t;return hC(t=[]).call(t,rC(g),[A])}function rn(g){return lC(g).call(g)}function sn(g){return g.getBoundingClientRect().top}function an(g,A){if(uC(g))for(var t=g.length,e=0;e<t;e++)A(g[e],e,g);else for(var C in g)Object.prototype.hasOwnProperty.call(g,C)&&A(g[C],C,g)}function dn(g){var A;switch(g.length){case 3:case 4:return(A=Xo.exec(g))?{r:mI(A[1]+A[1],16),g:mI(A[2]+A[2],16),b:mI(A[3]+A[3],16)}:null;case 6:case 7:return(A=Ko.exec(g))?{r:mI(A[1],16),g:mI(A[2],16),b:mI(A[3],16)}:null;default:return null}}function hn(g,A){if($C(g).call(g,"rgba"))return g;if($C(g).call(g,"rgb")){var t=g.substr(DI(g).call(g,"(")+1).replace(")","").split(",");return"rgba("+t[0]+","+t[1]+","+t[2]+","+A+")"}var e=dn(g);return null==e?g:"rgba("+e.r+","+e.g+","+e.b+","+A+")"}function ln(g,A,t){var e;return"#"+lC(e=((1<<24)+(g<<16)+(A<<8)+t).toString(16)).call(e,1)}function cn(g,A){if(gn(g)){var t=g;if(yn(t)){var e,C=mC(e=t.substr(4).substr(0,t.length-5).split(",")).call(e,(function(g){return mI(g)}));t=ln(C[0],C[1],C[2])}if(!0===vn(t)){var I=function(g){var A=dn(g);if(!A)throw new TypeError("'".concat(g,"' is not a valid color."));return un(A.r,A.g,A.b)}(t),i={h:I.h,s:.8*I.s,v:Math.min(1,1.02*I.v)},o={h:I.h,s:Math.min(1,1.25*I.s),v:.8*I.v},n=fn(o.h,o.s,o.v),r=fn(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:gn(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:gn(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:gn(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:gn(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 un(g,A,t){g/=255,A/=255,t/=255;var e=Math.min(g,Math.min(A,t)),C=Math.max(g,Math.max(A,t));return e===C?{h:0,s:0,v:e}:{h:60*((g===e?3:t===e?1:5)-(g===e?A-t:t===e?g-A:t-g)/(C-e))/360,s:(C-e)/C,v:C}}function pn(g,A,t){var e,C,I,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:e=t,C=s,I=n;break;case 1:e=r,C=t,I=n;break;case 2:e=n,C=t,I=s;break;case 3:e=n,C=r,I=t;break;case 4:e=s,C=n,I=t;break;case 5:e=t,C=n,I=r}return{r:Math.floor(255*e),g:Math.floor(255*C),b:Math.floor(255*I)}}function fn(g,A,t){var e=pn(g,A,t);return ln(e.r,e.g,e.b)}function vn(g){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(g)}function yn(g){return Jo.test(g)}function mn(g){return qo.test(g)}function bn(g){if(null===g||"object"!==nC(g))return null;if(g instanceof Element)return g;var A=MI(g);for(var t in g)Object.prototype.hasOwnProperty.call(g,t)&&"object"==nC(g[t])&&(A[t]=bn(g[t]));return A}function wn(g,A,t){var e=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},C=function(g){return null!=g},I=function(g){return null!==g&&"object"===nC(g)},i=function(g){for(var A in g)if(Object.prototype.hasOwnProperty.call(g,A))return!1;return!0};if(!I(g))throw new Error("Parameter mergeTarget must be an object");if(!I(A))throw new Error("Parameter options must be an object");if(!C(t))throw new Error("Parameter option must have a value");if(!I(e))throw new Error("Parameter globalOptions must be an object");var o=function(g,A,t){I(g[t])||(g[t]={});var e=A[t],C=g[t];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(C[i]=e[i])},n=A[t],r=I(e)&&!i(e),s=r?e[t]:void 0,a=s?s.enabled:void 0;if(void 0!==n){if("boolean"==typeof n)return I(g[t])||(g[t]={}),void(g[t].enabled=n);if(null===n&&!I(g[t])){if(!C(s))return;g[t]=MI(s)}if(I(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 kn={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 xn(g,A){var t;uC(A)||(A=[A]);var e,C=So(g);try{for(C.s();!(e=C.n()).done;){var I=e.value;if(I){t=I[A[0]];for(var i=1;i<A.length;i++)t&&(t=t[A[i]]);if(void 0!==t)break}}}catch(g){C.e(g)}finally{C.f()}return t}var En={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"},On=function(){function g(){var A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;De(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 Pe(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 En[g]}},{key:"setColor",value:function(g){var A=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("none"!==g){var t,e=this._isColorString(g);if(void 0!==e&&(g=e),!0===gn(g)){if(!0===yn(g)){var C=g.substr(4).substr(0,g.length-5).split(",");t={r:C[0],g:C[1],b:C[2],a:1}}else if(!0===mn(g)){var I=g.substr(5).substr(0,g.length-6).split(",");t={r:I[0],g:I[1],b:I[2],a:I[3]}}else if(!0===vn(g)){var i=dn(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: "+LI(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=sg({},this.color)),!0===this.applied&&this.updateCallback(this.initialColor),this.frame.style.display="none",WI((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=sg({},g)),this.color=g;var t=un(g.r,g.g,g.b),e=2*Math.PI,C=this.r*t.s,I=this.centerCoordinates.x+C*Math.sin(e*t.h),i=this.centerCoordinates.y+C*Math.cos(e*t.h);this.colorPickerSelector.style.left=I-.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=un(this.color.r,this.color.g,this.color.b);A.v=g/100;var t=pn(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=un(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 e=this.colorPickerCanvas.clientWidth,C=this.colorPickerCanvas.clientHeight;t.clearRect(0,0,e,C),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),_I(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,e;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 C=this.colorPickerCanvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(C.webkitBackingStorePixelRatio||C.mozBackingStorePixelRatio||C.msBackingStorePixelRatio||C.oBackingStorePixelRatio||C.backingStorePixelRatio||1),this.colorPickerCanvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var I=document.createElement("DIV");I.style.color="red",I.style.fontWeight="bold",I.style.padding="10px",I.innerText="Error: your browser does not support HTML canvas",this.colorPickerCanvas.appendChild(I)}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.innerText="brightness:",this.opacityLabel=document.createElement("div"),this.opacityLabel.className="vis-label vis-opacity",this.opacityLabel.innerText="opacity:",this.newColorDiv=document.createElement("div"),this.newColorDiv.className="vis-new-color",this.newColorDiv.innerText="new",this.initialColorDiv=document.createElement("div"),this.initialColorDiv.className="vis-initial-color",this.initialColorDiv.innerText="initial",this.cancelButton=document.createElement("div"),this.cancelButton.className="vis-button vis-cancel",this.cancelButton.innerText="cancel",this.cancelButton.onclick=fg(g=this._hide).call(g,this,!1),this.applyButton=document.createElement("div"),this.applyButton.className="vis-button vis-apply",this.applyButton.innerText="apply",this.applyButton.onclick=fg(A=this._apply).call(A,this),this.saveButton=document.createElement("div"),this.saveButton.className="vis-button vis-save",this.saveButton.innerText="save",this.saveButton.onclick=fg(t=this._save).call(t,this),this.loadButton=document.createElement("div"),this.loadButton.className="vis-button vis-load",this.loadButton.innerText="load last",this.loadButton.onclick=fg(e=this._loadLast).call(e,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 _o(this.colorPickerCanvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.on("hammer.input",(function(A){A.isFirst&&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,e,C,I=this.colorPickerCanvas.clientWidth,i=this.colorPickerCanvas.clientHeight;g.clearRect(0,0,I,i),this.centerCoordinates={x:.5*I,y:.5*i},this.r=.49*I;var o,n=2*Math.PI/360,r=1/this.r;for(e=0;e<360;e++)for(C=0;C<this.r;C++)A=this.centerCoordinates.x+C*Math.sin(n*e),t=this.centerCoordinates.y+C*Math.cos(n*e),o=pn(.002777777777777778*e,C*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,I,i)}this.generated=!0}},{key:"_moveSelector",value:function(g){var A=this.colorPickerDiv.getBoundingClientRect(),t=g.center.x-A.left,e=g.center.y-A.top,C=.5*this.colorPickerDiv.clientHeight,I=.5*this.colorPickerDiv.clientWidth,i=t-I,o=e-C,n=Math.atan2(i,o),r=.98*Math.min(Math.sqrt(i*i+o*o),I),s=Math.cos(n)*r+C,a=Math.sin(n)*r+I;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=un(this.color.r,this.color.g,this.color.b);l.h=d,l.s=h;var c=pn(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}();function Tn(){for(var g=arguments.length,A=new Array(g),t=0;t<g;t++)A[t]=arguments[t];if(A.length<1)throw new TypeError("Invalid arguments.");if(1===A.length)return document.createTextNode(A[0]);var e=document.createElement(A[0]);return e.appendChild(Tn.apply(void 0,rC(lC(A).call(A,1)))),e}var Dn,Nn=!1,Rn="background: #FFeeee; color: #dd0000",Pn=Ho,Mn=function(){function g(A,t,e){var C=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,I=arguments.length>4&&void 0!==arguments[4]?arguments[4]:function(){return!1};De(this,g),this.parent=A,this.changedOptions=[],this.container=t,this.allowCreation=!1,this.hideOption=I,this.options={},this.initialized=!1,this.popupCounter=0,this.defaultOptions={enabled:!1,filter:!0,container:void 0,showButton:!0},sg(this.options,this.defaultOptions),this.configureOptions=e,this.moduleOptions={},this.domElements=[],this.popupDiv={},this.popupLimit=5,this.popupHistory={},this.colorPicker=new On(C),this.wrapper=void 0}return Pe(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(uC(g))this.options.filter=g.join();else if("object"===nC(g)){if(null==g)throw new TypeError("options cannot be null");void 0!==g.container&&(this.options.container=g.container),void 0!==oI(g)&&(this.options.filter=oI(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===oI(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=oI(this.options),A=0,t=!1;for(var e in this.configureOptions)Object.prototype.hasOwnProperty.call(this.configureOptions,e)&&(this.allowCreation=!1,t=!1,"function"==typeof g?t=(t=g(e,[]))||this._handleObject(this.configureOptions[e],[e],!0):!0!==g&&-1===DI(g).call(g,e)||(t=!0),!1!==t&&(this.allowCreation=!0,A>0&&this._makeItem([]),this._makeHeader(e),this._handleObject(this.configureOptions[e],[e])),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,e=new Array(t>1?t-1:0),C=1;C<t;C++)e[C-1]=arguments[C];return RC(e).call(e,(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.innerText=g,this._makeItem([],A)}},{key:"_makeLabel",value:function(g,A){var t=arguments.length>2&&void 0!==arguments[2]&&arguments[2],e=document.createElement("div");if(e.className="vis-configuration vis-config-label vis-config-s"+A.length,!0===t){for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(Tn("i","b",g))}else e.innerText=g+":";return e}},{key:"_makeDropdown",value:function(g,A,t){var e=document.createElement("select");e.className="vis-configuration vis-config-select";var C=0;void 0!==A&&-1!==DI(g).call(g,A)&&(C=DI(g).call(g,A));for(var I=0;I<g.length;I++){var i=document.createElement("option");i.value=g[I],I===C&&(i.selected="selected"),i.innerText=g[I],e.appendChild(i)}var o=this;e.onchange=function(){o._update(this.value,t)};var n=this._makeLabel(t[t.length-1],t);this._makeItem(t,n,e)}},{key:"_makeRange",value:function(g,A,t){var e=g[0],C=g[1],I=g[2],i=g[3],o=document.createElement("input");o.className="vis-configuration vis-config-range";try{o.type="range",o.min=C,o.max=I}catch(g){}o.step=i;var n="",r=0;if(void 0!==A){var s=1.2;A<0&&A*s<C?(o.min=Math.ceil(A*s),r=o.min,n="range increased"):A/s<C&&(o.min=Math.ceil(A/s),r=o.min,n="range increased"),A*s>I&&1!==I&&(o.max=Math.ceil(A*s),r=o.max,n="range increased"),o.value=A}else o.value=e;var a=document.createElement("input");a.className="vis-configuration vis-config-rangeinput",a.value=o.value;var d=this;o.onchange=function(){a.value=this.value,d._update(Number(this.value),t)},o.oninput=function(){a.value=this.value};var h=this._makeLabel(t[t.length-1],t),l=this._makeItem(t,h,o,a);""!==n&&this.popupHistory[l]!==r&&(this.popupHistory[l]=r,this._setupPopup(n,l))}},{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.innerText="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 e=document.createElement("div");e.id="vis-configuration-popup",e.className="vis-configuration-popup",e.innerText=g,e.onclick=function(){t._removePopup()},this.popupCounter+=1,this.popupDiv={html:e,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=WI((function(){g.popupDiv.html.style.opacity=0}),1500),this.popupDiv.deleteTimeout=WI((function(){g._removePopup()}),1800)}}},{key:"_makeCheckbox",value:function(g,A,t){var e=document.createElement("input");e.type="checkbox",e.className="vis-configuration vis-config-checkbox",e.checked=g,void 0!==A&&(e.checked=A,A!==g&&("object"===nC(g)?A!==g.enabled&&this.changedOptions.push({path:t,value:A}):this.changedOptions.push({path:t,value:A})));var C=this;e.onchange=function(){C._update(this.checked,t)};var I=this._makeLabel(t[t.length-1],t);this._makeItem(t,I,e)}},{key:"_makeTextInput",value:function(g,A,t){var e=document.createElement("input");e.type="text",e.className="vis-configuration vis-config-text",e.value=A,A!==g&&this.changedOptions.push({path:t,value:A});var C=this;e.onchange=function(){C._update(this.value,t)};var I=this._makeLabel(t[t.length-1],t);this._makeItem(t,I,e)}},{key:"_makeColorField",value:function(g,A,t){var e=this,C=g[1],I=document.createElement("div");"none"!==(A=void 0===A?C:A)?(I.className="vis-configuration vis-config-colorBlock",I.style.backgroundColor=A):I.className="vis-configuration vis-config-colorBlock none",A=void 0===A?C:A,I.onclick=function(){e._showColorPicker(A,I,t)};var i=this._makeLabel(t[t.length-1],t);this._makeItem(t,i,I)}},{key:"_showColorPicker",value:function(g,A,t){var e=this;A.onclick=function(){},this.colorPicker.insertTo(A),this.colorPicker.show(),this.colorPicker.setColor(g),this.colorPicker.setUpdateCallback((function(g){var C="rgba("+g.r+","+g.g+","+g.b+","+g.a+")";A.style.backgroundColor=C,e._update(C,t)})),this.colorPicker.setCloseCallback((function(){A.onclick=function(){e._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],e=!1,C=oI(this.options),I=!1;for(var i in g)if(Object.prototype.hasOwnProperty.call(g,i)){e=!0;var o=g[i],n=nn(A,i);if("function"==typeof C&&!1===(e=C(i,A))&&!uC(o)&&"string"!=typeof o&&"boolean"!=typeof o&&o instanceof Object&&(this.allowCreation=!1,e=this._handleObject(o,n,!0),this.allowCreation=!1===t),!1!==e){I=!0;var r=this._getValue(n);if(uC(o))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){if(!this.hideOption(A,i,this.moduleOptions))if(void 0!==o.enabled){var s=nn(n,"enabled"),a=this._getValue(s);if(!0===a){var d=this._makeLabel(i,n,!0);this._makeItem(n,d),I=this._handleObject(o,n)||I}else this._makeCheckbox(o,a,n)}else{var h=this._makeLabel(i,n,!0);this._makeItem(n,h),I=this._handleObject(o,n)||I}}else console.error("dont know how to handle",o,i,n)}}return I}},{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]:{},e=t;g="false"!==(g="true"===g||g)&&g;for(var C=0;C<A.length;C++)"global"!==A[C]&&(void 0===e[A[C]]&&(e[A[C]]={}),C!==A.length-1?e=e[A[C]]:e[A[C]]=g);return t}},{key:"_printOptions",value:function(){for(var g=this.getOptions();this.optionsContainer.firstChild;)this.optionsContainer.removeChild(this.optionsContainer.firstChild);this.optionsContainer.appendChild(Tn("pre","const options = "+LI(g,null,2)))}},{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}(),Bn=_o,zn=function(){function g(A,t){De(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 Pe(g,[{key:"setPosition",value:function(g,A){this.x=mI(g),this.y=mI(A)}},{key:"setText",value:function(g){if(g instanceof Element){for(;this.frame.firstChild;)this.frame.removeChild(this.frame.firstChild);this.frame.appendChild(g)}else this.frame.innerText=g}},{key:"show",value:function(g){if(void 0===g&&(g=!0),!0===g){var A=this.frame.clientHeight,t=this.frame.clientWidth,e=this.frame.parentNode.clientHeight,C=this.frame.parentNode.clientWidth,I=0,i=0;if("flip"==this.overflowMethod){var o=!1,n=!0;this.y-A<this.padding&&(n=!1),this.x+t>C-this.padding&&(o=!0),I=o?this.x-t:this.x,i=n?this.y-A:this.y}else(i=this.y-A)+A+this.padding>e&&(i=e-A-this.padding),i<this.padding&&(i=this.padding),(I=this.x)+t+this.padding>C&&(I=C-t-this.padding),I<this.padding&&(I=this.padding);this.frame.style.left=I+"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}(),Zn=Rn,Sn=function(){function g(){De(this,g)}return Pe(g,null,[{key:"validate",value:function(A,t,e){Nn=!1,Dn=t;var C=t;return void 0!==e&&(C=t[e]),g.parse(A,C,[]),Nn}},{key:"parse",value:function(A,t,e){for(var C in A)Object.prototype.hasOwnProperty.call(A,C)&&g.check(C,A,t,e)}},{key:"check",value:function(A,t,e,C){if(void 0!==e[A]||void 0!==e.__any__){var I=A,i=!0;void 0===e[A]&&void 0!==e.__any__&&(I="__any__",i="object"===g.getType(t[A]));var o=e[I];i&&void 0!==o.__type__&&(o=o.__type__),g.checkFields(A,t,e,I,o,C)}else g.getSuggestion(A,e,C)}},{key:"checkFields",value:function(A,t,e,C,I,i){var o=function(t){console.error("%c"+t+g.printLocation(i,A),Rn)},n=g.getType(t[A]),r=I[n];void 0!==r?"array"===g.getType(r)&&-1===DI(r).call(r,t[A])?(o('Invalid option detected in "'+A+'". Allowed values are:'+g.print(r)+' not "'+t[A]+'". '),Nn=!0):"object"===n&&"__any__"!==C&&(i=nn(i,A),g.parse(t[A],e[C],i)):void 0===I.any&&(o('Invalid type received for "'+A+'". Expected: '+g.print(wC(I))+". Received ["+n+'] "'+t[A]+'"'),Nn=!0)}},{key:"getType",value:function(g){var A=nC(g);return"object"===A?null===g?"null":g instanceof Boolean?"boolean":g instanceof Number?"number":g instanceof String?"string":uC(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,e){var C,I=g.findInOptions(A,t,e,!1),i=g.findInOptions(A,Dn,[],!0);C=void 0!==I.indexMatch?" in "+g.printLocation(I.path,A,"")+'Perhaps it was incomplete? Did you mean: "'+I.indexMatch+'"?\n\n':i.distance<=4&&I.distance>i.distance?" in "+g.printLocation(I.path,A,"")+"Perhaps it was misplaced? Matching option found at: "+g.printLocation(i.path,i.closestMatch,""):I.distance<=8?'. Did you mean "'+I.closestMatch+'"?'+g.printLocation(I.path,A):". Did you mean one of these: "+g.print(wC(t))+g.printLocation(e,A),console.error('%cUnknown option detected: "'+A+'"'+C,Rn),Nn=!0}},{key:"findInOptions",value:function(A,t,e){var C=arguments.length>3&&void 0!==arguments[3]&&arguments[3],I=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===C){var d=g.findInOptions(A,t[s],nn(e,s));I>d.distance&&(i=d.closestMatch,o=d.path,I=d.distance,r=d.indexMatch)}else{var h;-1!==DI(h=s.toLowerCase()).call(h,n)&&(r=s),I>(a=g.levenshteinDistance(A,s))&&(i=s,o=rn(e),I=a)}}return{closestMatch:i,path:o,distance:I,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",e="\n\n"+t+"options = {\n",C=0;C<g.length;C++){for(var I=0;I<C+1;I++)e+="  ";e+=g[C]+": {\n"}for(var i=0;i<g.length+1;i++)e+="  ";e+=A+"\n";for(var o=0;o<g.length+1;o++){for(var n=0;n<g.length-o;n++)e+="  ";e+="}\n"}return e+"\n\n"}},{key:"print",value:function(g){return LI(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,e,C=[];for(t=0;t<=A.length;t++)C[t]=[t];for(e=0;e<=g.length;e++)C[0][e]=e;for(t=1;t<=A.length;t++)for(e=1;e<=g.length;e++)A.charAt(t-1)==g.charAt(e-1)?C[t][e]=C[t-1][e-1]:C[t][e]=Math.min(C[t-1][e-1]+1,Math.min(C[t][e-1]+1,C[t-1][e]+1));return C[A.length][g.length]}}]),g}();function Fn(g){return Un=g,function(){var g={};_n=0,void(Hn=Un.charAt(0)),Ir(),"strict"===Kn&&(g.strict=!0,Ir());"graph"!==Kn&&"digraph"!==Kn||(g.type=Kn,Ir());Xn===Yn&&(g.id=Kn,Ir());if("{"!=Kn)throw ar("Angle bracket { expected");if(Ir(),ir(g),"}"!=Kn)throw ar("Angle bracket } expected");if(Ir(),""!==Kn)throw ar("End of file expected");return Ir(),delete g.node,delete g.edge,delete g.graph,g}()}var Gn={fontsize:"font.size",fontcolor:"font.color",labelfontcolor:"font.color",fontname:"font.face",color:["color.border","color.background"],fillcolor:"color.background",tooltip:"title",labeltooltip:"title"},Ln=MI(Gn);Ln.color="color.color",Ln.style="dashes";var jn=0,Vn=1,Yn=2,Wn=3,Qn={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},Un="",_n=0,Hn="",Kn="",Xn=jn;function Jn(){_n++,Hn=Un.charAt(_n)}function qn(){return Un.charAt(_n+1)}function $n(g){var A=g.charCodeAt(0);return A<47?35===A||46===A:A<59?A>47:A<91?A>64:A<96?95===A:A<123&&A>96}function gr(g,A){if(g||(g={}),A)for(var t in A)A.hasOwnProperty(t)&&(g[t]=A[t]);return g}function Ar(g,A,t){for(var e=A.split("."),C=g;e.length;){var I=e.shift();e.length?(C[I]||(C[I]={}),C=C[I]):C[I]=t}}function tr(g,A){for(var t,e,C=null,I=[g],i=g;i.parent;)I.push(i.parent),i=i.parent;if(i.nodes)for(t=0,e=i.nodes.length;t<e;t++)if(A.id===i.nodes[t].id){C=i.nodes[t];break}for(C||(C={id:A.id},g.node&&(C.attr=gr(C.attr,g.node))),t=I.length-1;t>=0;t--){var o,n=I[t];n.nodes||(n.nodes=[]),-1===DI(o=n.nodes).call(o,C)&&n.nodes.push(C)}A.attr&&(C.attr=gr(C.attr,A.attr))}function er(g,A){if(g.edges||(g.edges=[]),g.edges.push(A),g.edge){var t=gr({},g.edge);A.attr=gr(t,A.attr)}}function Cr(g,A,t,e,C){var I={from:A,to:t,type:e};return g.edge&&(I.attr=gr({},g.edge)),I.attr=gr(I.attr||{},C),null!=C&&C.hasOwnProperty("arrows")&&null!=C.arrows&&(I.arrows={to:{enabled:!0,type:C.arrows.type}},C.arrows=null),I}function Ir(){for(Xn=jn,Kn="";" "===Hn||"\t"===Hn||"\n"===Hn||"\r"===Hn;)Jn();do{var g=!1;if("#"===Hn){for(var A=_n-1;" "===Un.charAt(A)||"\t"===Un.charAt(A);)A--;if("\n"===Un.charAt(A)||""===Un.charAt(A)){for(;""!=Hn&&"\n"!=Hn;)Jn();g=!0}}if("/"===Hn&&"/"===qn()){for(;""!=Hn&&"\n"!=Hn;)Jn();g=!0}if("/"===Hn&&"*"===qn()){for(;""!=Hn;){if("*"===Hn&&"/"===qn()){Jn(),Jn();break}Jn()}g=!0}for(;" "===Hn||"\t"===Hn||"\n"===Hn||"\r"===Hn;)Jn()}while(g);if(""!==Hn){var t=Hn+qn();if(Qn[t])return Xn=Vn,Kn=t,Jn(),void Jn();if(Qn[Hn])return Xn=Vn,Kn=Hn,void Jn();if($n(Hn)||"-"===Hn){for(Kn+=Hn,Jn();$n(Hn);)Kn+=Hn,Jn();return"false"===Kn?Kn=!1:"true"===Kn?Kn=!0:isNaN(Number(Kn))||(Kn=Number(Kn)),void(Xn=Yn)}if('"'===Hn){for(Jn();""!=Hn&&('"'!=Hn||'"'===Hn&&'"'===qn());)'"'===Hn?(Kn+=Hn,Jn()):"\\"===Hn&&"n"===qn()?(Kn+="\n",Jn()):Kn+=Hn,Jn();if('"'!=Hn)throw ar('End of string " expected');return Jn(),void(Xn=Yn)}for(Xn=Wn;""!=Hn;)Kn+=Hn,Jn();throw new SyntaxError('Syntax error in part "'+dr(Kn,30)+'"')}Xn=Vn}function ir(g){for(;""!==Kn&&"}"!=Kn;)or(g),";"===Kn&&Ir()}function or(g){var A=nr(g);if(A)rr(g,A);else if(!function(g){if("node"===Kn)return Ir(),g.node=sr(),"node";if("edge"===Kn)return Ir(),g.edge=sr(),"edge";if("graph"===Kn)return Ir(),g.graph=sr(),"graph";return null}(g)){if(Xn!=Yn)throw ar("Identifier expected");var t=Kn;if(Ir(),"="===Kn){if(Ir(),Xn!=Yn)throw ar("Identifier expected");g[t]=Kn,Ir()}else!function(g,A){var t={id:A},e=sr();e&&(t.attr=e);tr(g,t),rr(g,A)}(g,t)}}function nr(g){var A=null;if("subgraph"===Kn&&((A={}).type="subgraph",Ir(),Xn===Yn&&(A.id=Kn,Ir())),"{"===Kn){if(Ir(),A||(A={}),A.parent=g,A.node=g.node,A.edge=g.edge,A.graph=g.graph,ir(A),"}"!=Kn)throw ar("Angle bracket } expected");Ir(),delete A.node,delete A.edge,delete A.graph,delete A.parent,g.subgraphs||(g.subgraphs=[]),g.subgraphs.push(A)}return A}function rr(g,A){for(;"->"===Kn||"--"===Kn;){var t,e=Kn;Ir();var C=nr(g);if(C)t=C;else{if(Xn!=Yn)throw ar("Identifier or subgraph expected");tr(g,{id:t=Kn}),Ir()}er(g,Cr(g,A,t,e,sr())),A=t}}function sr(){for(var g,A,t=null,e={dashes:!0,solid:!1,dotted:[1,5]},C={dot:"circle",box:"box",crow:"crow",curve:"curve",icurve:"inv_curve",normal:"triangle",inv:"inv_triangle",diamond:"diamond",tee:"bar",vee:"vee"},I=new Array,i=new Array;"["===Kn;){for(Ir(),t={};""!==Kn&&"]"!=Kn;){if(Xn!=Yn)throw ar("Attribute name expected");var o=Kn;if(Ir(),"="!=Kn)throw ar("Equal sign = expected");if(Ir(),Xn!=Yn)throw ar("Attribute value expected");var n=Kn;"style"===o&&(n=e[n]),"arrowhead"===o&&(o="arrows",n={to:{enabled:!0,type:C[n]}}),"arrowtail"===o&&(o="arrows",n={from:{enabled:!0,type:C[n]}}),I.push({attr:t,name:o,value:n}),i.push(o),Ir(),","==Kn&&Ir()}if("]"!=Kn)throw ar("Bracket ] expected");Ir()}if($C(i).call(i,"dir")){var r={arrows:{}};for(g=0;g<I.length;g++)if("arrows"===I[g].name)if(null!=I[g].value.to)r.arrows.to=g;else{if(null==I[g].value.from)throw ar("Invalid value of arrows");r.arrows.from=g}else"dir"===I[g].name&&(r.dir=g);var s,a,d=I[r.dir].value;if(!$C(i).call(i,"arrows"))if("both"===d)I.push({attr:I[r.dir].attr,name:"arrows",value:{to:{enabled:!0}}}),r.arrows.to=I.length-1,I.push({attr:I[r.dir].attr,name:"arrows",value:{from:{enabled:!0}}}),r.arrows.from=I.length-1;else if("forward"===d)I.push({attr:I[r.dir].attr,name:"arrows",value:{to:{enabled:!0}}}),r.arrows.to=I.length-1;else if("back"===d)I.push({attr:I[r.dir].attr,name:"arrows",value:{from:{enabled:!0}}}),r.arrows.from=I.length-1;else{if("none"!==d)throw ar('Invalid dir type "'+d+'"');I.push({attr:I[r.dir].attr,name:"arrows",value:""}),r.arrows.to=I.length-1}if("both"===d)r.arrows.to&&r.arrows.from?(a=I[r.arrows.to].value.to.type,s=I[r.arrows.from].value.from.type,I[r.arrows.to]={attr:I[r.arrows.to].attr,name:I[r.arrows.to].name,value:{to:{enabled:!0,type:a},from:{enabled:!0,type:s}}},WC(I).call(I,r.arrows.from,1)):r.arrows.to?(a=I[r.arrows.to].value.to.type,s="arrow",I[r.arrows.to]={attr:I[r.arrows.to].attr,name:I[r.arrows.to].name,value:{to:{enabled:!0,type:a},from:{enabled:!0,type:s}}}):r.arrows.from&&(a="arrow",s=I[r.arrows.from].value.from.type,I[r.arrows.from]={attr:I[r.arrows.from].attr,name:I[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=I[r.arrows.from].value.from.type,I[r.arrows.from]={attr:I[r.arrows.from].attr,name:I[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,I[r.arrows.from]={attr:I[r.arrows.from].attr,name:I[r.arrows.from].name,value:{to:{enabled:!0,type:a},from:{enabled:!0,type:s}}}):r.arrows.from&&(a="",s=I[r.arrows.from].value.from.type,I[r.arrows.to]={attr:I[r.arrows.from].attr,name:I[r.arrows.from].name,value:{to:{enabled:!0,type:a},from:{enabled:!0,type:s}}}),I[r.arrows.from]={attr:I[r.arrows.from].attr,name:I[r.arrows.from].name,value:{from:{enabled:!0,type:I[r.arrows.from].value.from.type}}};else if("none"===d){var h;I[h=r.arrows.to?r.arrows.to:r.arrows.from]={attr:I[h].attr,name:I[h].name,value:""}}else{if("forward"!==d)throw ar('Invalid dir type "'+d+'"');r.arrows.to&&r.arrows.from||r.arrows.to?(a=I[r.arrows.to].value.to.type,s="",I[r.arrows.to]={attr:I[r.arrows.to].attr,name:I[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,I[r.arrows.to]={attr:I[r.arrows.to].attr,name:I[r.arrows.to].name,value:{to:{enabled:!0,type:a},from:{enabled:!0,type:s}}}),I[r.arrows.to]={attr:I[r.arrows.to].attr,name:I[r.arrows.to].name,value:{to:{enabled:!0,type:I[r.arrows.to].value.to.type}}}}WC(I).call(I,r.dir,1)}if($C(i).call(i,"penwidth")){var l=[];for(A=I.length,g=0;g<A;g++)"width"!==I[g].name&&("penwidth"===I[g].name&&(I[g].name="width"),l.push(I[g]));I=l}for(A=I.length,g=0;g<A;g++)Ar(I[g].attr,I[g].name,I[g].value);return t}function ar(g){return new SyntaxError(g+', got "'+dr(Kn,30)+'" (char '+_n+")")}function dr(g,A){return g.length<=A?g:g.substr(0,27)+"..."}function hr(g,A,t){for(var e=A.split("."),C=e.pop(),I=g,i=0;i<e.length;i++){var o=e[i];o in I||(I[o]={}),I=I[o]}return I[C]=t,g}function lr(g,A){var t={};for(var e in g)if(g.hasOwnProperty(e)){var C=A[e];uC(C)?RC(C).call(C,(function(A){hr(t,A,g[e])})):hr(t,"string"==typeof C?C:e,g[e])}return t}function cr(g){var A,t=Fn(g),e={nodes:[],edges:[],options:{}};t.nodes&&RC(A=t.nodes).call(A,(function(g){var A={id:g.id,label:String(g.label||g.id)};gr(A,lr(g.attr,Gn)),A.image&&(A.shape="image"),e.nodes.push(A)}));if(t.edges){var C,I=function(g){var A={from:g.from,to:g.to};return gr(A,lr(g.attr,Ln)),null==A.arrows&&"->"===g.type&&(A.arrows="to"),A};RC(C=t.edges).call(C,(function(g){var A,t,C,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)&&RC(C=g.from.edges).call(C,(function(g){var A=I(g);e.edges.push(A)}));(o=t,n=function(A,t){var C=Cr(e,A.id,t.id,g.type,g.attr),i=I(C);e.edges.push(i)},uC(i=A)?RC(i).call(i,(function(g){uC(o)?RC(o).call(o,(function(A){n(g,A)})):n(g,o)})):uC(o)?RC(o).call(o,(function(g){n(i,g)})):n(i,o),g.to instanceof Object&&g.to.edges)&&RC(r=g.to.edges).call(r,(function(g){var A=I(g);e.edges.push(A)}))}))}return t.attr&&(e.options=t.attr),e}var ur=Object.freeze({__proto__:null,parseDOT:Fn,DOTToGraph:cr});function pr(g,A){var t,e={edges:{inheritColor:!1},nodes:{fixed:!1,parseColor:!1}};null!=A&&(null!=A.fixed&&(e.nodes.fixed=A.fixed),null!=A.parseColor&&(e.nodes.parseColor=A.parseColor),null!=A.inheritColor&&(e.edges.inheritColor=A.inheritColor));var C=g.edges,I=mC(C).call(C,(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===e.edges.inheritColor&&(A.color=g.color),A}));return{nodes:mC(t=g.nodes).call(t,(function(g){var A={id:g.id,fixed:e.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===e.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:I}}var fr=Object.freeze({__proto__:null,parseGephi:pr}),vr=Object.freeze({__proto__:null,en:{addDescription:"Click in an empty space to place a new node.",addEdge:"Add Edge",addNode:"Add Node",back:"Back",close:"Close",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",close:"Schließen",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",close:"Cerrar",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",close:"Chiudere",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",close:"Sluiten",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",close:"Fechar",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:"Назад",close:"Закрывать",createEdgeError:"Невозможно соединить ребра в кластер.",del:"Удалить выбранное",deleteClusterError:"Кластеры не могут быть удалены",edgeDescription:"Кликните на узел и протяните ребро к другому узлу, чтобы соединить их.",edit:"Редактировать",editClusterError:"Кластеры недоступны для редактирования.",editEdge:"Редактировать ребро",editEdgeDescription:"Кликните на контрольные точки и перетащите их в узел, чтобы подключиться к нему.",editNode:"Редактировать узел"},cn:{addDescription:"单击空白处放置新节点。",addEdge:"添加连接线",addNode:"添加节点",back:"返回",close:"關閉",createEdgeError:"无法将连接线连接到群集。",del:"删除选定",deleteClusterError:"无法删除群集。",edgeDescription:"单击某个节点并将该连接线拖动到另一个节点以连接它们。",edit:"编辑",editClusterError:"无法编辑群集。",editEdge:"编辑连接线",editEdgeDescription:"单击控制节点并将它们拖到节点上连接。",editNode:"编辑节点"},uk:{addDescription:"Kлікніть на вільне місце, щоб додати новий вузол.",addEdge:"Додати край",addNode:"Додати вузол",back:"Назад",close:"Закрити",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",close:"Fermer",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",close:"Zavří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 yr=function(){function g(){De(this,g),this.NUM_ITERATIONS=4,this.image=new Image,this.canvas=document.createElement("canvas")}return Pe(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),e=Math.floor(A/4),C=Math.floor(A/8),I=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,e],[i,e,n,C],[5*n,e,r,I]],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 e=this.coordinates[t-1],C=this.coordinates[t];g.drawImage(this.canvas,e[0],e[1],e[2],e[3],C[0],C[1],C[2],C[3])}}},{key:"drawImageAtPosition",value:function(g,A,t,e,C,I){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,e,C,I)}else g.drawImage(this.image,t,e,C,I)}}]),g}(),mr=function(){function g(A){De(this,g),this.images={},this.imageBroken={},this.callback=A}return Pe(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,e=this.images[g];if(e)return e;var C=new yr;return this.images[g]=C,C.image.onload=function(){t._fixImageCoordinates(C.image),C.init(),t._redrawWithImage(C)},C.image.onerror=function(){console.error("Could not load image:",g),t._tryloadBrokenUrl(g,A,C)},C.image.src=g,C}},{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}(),br=!I((function(){return Object.isExtensible(Object.preventExtensions({}))})),wr=t((function(g){var A=G.f,t=jg("meta"),e=0,C=Object.isExtensible||function(){return!0},I=function(g){A(g,t,{value:{objectID:"O"+ ++e,weakData:{}}})},i=g.exports={REQUIRED:!1,fastKey:function(g,A){if(!p(g))return"symbol"==typeof g?g:("string"==typeof g?"S":"P")+g;if(!y(g,t)){if(!C(g))return"F";if(!A)return"E";I(g)}return g[t].objectID},getWeakData:function(g,A){if(!y(g,t)){if(!C(g))return!0;if(!A)return!1;I(g)}return g[t].weakData},onFreeze:function(g){return br&&i.REQUIRED&&C(g)&&!y(g,t)&&I(g),g}};gg[t]=!0})),kr=function(g,A){this.stopped=g,this.result=A},xr=function(g,A,t){var e,C,I,i,o,n,r,s=t&&t.that,a=!(!t||!t.AS_ENTRIES),d=!(!t||!t.IS_ITERATOR),h=!(!t||!t.INTERRUPTED),l=Z(A,s,1+a+h),c=function(g){return e&&Ct(e),new kr(!0,g)},u=function(g){return a?(S(g),h?l(g[0],g[1],c):l(g[0],g[1])):h?l(g,c):l(g)};if(d)e=g;else{if("function"!=typeof(C=at(g)))throw TypeError("Target is not iterable");if(nt(C)){for(I=0,i=H(g.length);i>I;I++)if((o=u(g[I]))&&o instanceof kr)return o;return new kr(!1)}e=C.call(g)}for(n=e.next;!(r=n.call(e)).done;){try{o=u(r.value)}catch(g){throw Ct(e),g}if("object"==typeof o&&o&&o instanceof kr)return o}return new kr(!1)},Er=function(g,A,t){if(!(g instanceof A))throw TypeError("Incorrect "+(t?t+" ":"")+"invocation");return g},Or=G.f,Tr=Vt.forEach,Dr=qg.set,Nr=qg.getterFor,Rr=function(g,A,t){var e,o=-1!==g.indexOf("Map"),n=-1!==g.indexOf("Weak"),r=o?"set":"add",s=C[g],a=s&&s.prototype,d={};if(i&&"function"==typeof s&&(n||a.forEach&&!I((function(){(new s).entries().next()})))){e=A((function(A,t){Dr(Er(A,e,g),{type:g,collection:new s}),null!=t&&xr(t,A[r],{that:A,AS_ENTRIES:o})}));var h=Nr(g);Tr(["add","clear","delete","forEach","get","has","set","keys","values","entries"],(function(g){var A="add"==g||"set"==g;!(g in a)||n&&"clear"==g||L(e.prototype,g,(function(t,e){var C=h(this).collection;if(!A&&n&&!p(t))return"get"==g&&void 0;var I=C[g](0===t?0:t,e);return A?this:I}))})),n||Or(e.prototype,"size",{configurable:!0,get:function(){return h(this).collection.size}})}else e=t.getConstructor(A,g,o,r),wr.REQUIRED=!0;return LA(e,g,!1,!0),d[g]=e,Y({global:!0,forced:!0},d),n||t.setStrong(e,g,o),e},Pr=function(g,A,t){for(var e in A)t&&t.unsafe&&g[e]?g[e]=A[e]:QA(g,e,A[e],t);return g},Mr=vA("species"),Br=G.f,zr=wr.fastKey,Zr=qg.set,Sr=qg.getterFor,Fr={getConstructor:function(g,A,t,e){var C=g((function(g,I){Er(g,C,A),Zr(g,{type:A,index:RA(null),first:void 0,last:void 0,size:0}),i||(g.size=0),null!=I&&xr(I,g[e],{that:g,AS_ENTRIES:t})})),I=Sr(A),o=function(g,A,t){var e,C,o=I(g),r=n(g,A);return r?r.value=t:(o.last=r={index:C=zr(A,!0),key:A,value:t,previous:e=o.last,next:void 0,removed:!1},o.first||(o.first=r),e&&(e.next=r),i?o.size++:g.size++,"F"!==C&&(o.index[C]=r)),g},n=function(g,A){var t,e=I(g),C=zr(A);if("F"!==C)return e.index[C];for(t=e.first;t;t=t.next)if(t.key==A)return t};return Pr(C.prototype,{clear:function(){for(var g=I(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,i?g.size=0:this.size=0},delete:function(g){var A=this,t=I(A),e=n(A,g);if(e){var C=e.next,o=e.previous;delete t.index[e.index],e.removed=!0,o&&(o.next=C),C&&(C.previous=o),t.first==e&&(t.first=C),t.last==e&&(t.last=o),i?t.size--:A.size--}return!!e},forEach:function(g){for(var A,t=I(this),e=Z(g,arguments.length>1?arguments[1]:void 0,3);A=A?A.next:t.first;)for(e(A.value,A.key,this);A&&A.removed;)A=A.previous},has:function(g){return!!n(this,g)}}),Pr(C.prototype,t?{get:function(g){var A=n(this,g);return A&&A.value},set:function(g,A){return o(this,0===g?0:g,A)}}:{add:function(g){return o(this,g=0===g?0:g,g)}}),i&&Br(C.prototype,"size",{get:function(){return I(this).size}}),C},setStrong:function(g,A,t){var e=A+" Iterator",C=Sr(A),I=Sr(e);$A(g,A,(function(g,A){Zr(this,{type:e,target:g,state:C(g),kind:A,last:void 0})}),(function(){for(var g=I(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=IA(g),t=G.f;i&&A&&!A[Mr]&&t(A,Mr,{configurable:!0,get:function(){return this}})}(A)}};Rr("Map",(function(g){return function(){return g(this,arguments.length?arguments[0]:void 0)}}),Fr);var Gr=B.Map,Lr=function(){function g(){De(this,g),this.clear(),this._defaultIndex=0,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},sg(this.options,this.defaultOptions)}return Pe(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===DI(A).call(A,t)){var e=g[t];this.add(t,e)}}},{key:"clear",value:function(){this._groups=new Gr,this._groupNames=[]}},{key:"get",value:function(g){var A=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],t=this._groups.get(g);if(void 0===t&&A)if(!1===this.options.useDefaultGroups&&this._groupNames.length>0){var e=this._groupIndex%this._groupNames.length;++this._groupIndex,(t={}).color=this._groups.get(this._groupNames[e]),this._groups.set(g,t)}else{var C=this._defaultIndex%this._defaultGroups.length;this._defaultIndex++,(t={}).color=this._defaultGroups[C],this._groups.set(g,t)}return t}},{key:"add",value:function(g,A){return this._groups.has(g)||this._groupNames.push(g),this._groups.set(g,A),A}}]),g}();Y({target:"Number",stat:!0},{isNaN:function(g){return g!=g}});var jr=B.Number.isNaN,Vr=C.isFinite,Yr=Number.isFinite||function(g){return"number"==typeof g&&Vr(g)};Y({target:"Number",stat:!0},{isFinite:Yr});var Wr=B.Number.isFinite,Qr=Vt.some,Ur=xC("some");Y({target:"Array",proto:!0,forced:!Ur},{some:function(g){return Qr(this,g,arguments.length>1?arguments[1]:void 0)}});var _r=cg("Array").some,Hr=Array.prototype,Kr=function(g){var A=g.some;return g===Hr||g instanceof Array&&A===Hr.some?_r:A},Xr=IA("Reflect","construct"),Jr=I((function(){function g(){}return!(Xr((function(){}),[],g)instanceof g)})),qr=!I((function(){Xr((function(){}))})),$r=Jr||qr;Y({target:"Reflect",stat:!0,forced:$r,sham:$r},{construct:function(g,A){z(g),S(A);var t=arguments.length<3?g:z(arguments[2]);if(qr&&!Jr)return Xr(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 e=[null];return e.push.apply(e,A),new(lg.apply(g,e))}var C=t.prototype,I=RA(p(C)?C:Object.prototype),i=Function.apply.call(g,I,A);return p(i)?i:I}});var gs=B.Reflect.construct;function As(g){if(void 0===g)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return g}var ts=PI;Y({target:"Object",stat:!0},{setPrototypeOf:WA});var es=B.Object.setPrototypeOf;function Cs(g,A){return(Cs=es||function(g,A){return g.__proto__=A,g})(g,A)}function Is(g,A){if("function"!=typeof A&&null!==A)throw new TypeError("Super expression must either be null or a function");g.prototype=ts(A&&A.prototype,{constructor:{value:g,writable:!0,configurable:!0}}),A&&Cs(g,A)}function is(g,A){return!A||"object"!==nC(A)&&"function"!=typeof A?As(g):A}var os=AI;function ns(g){return(ns=es?os:function(g){return g.__proto__||os(g)})(g)}var rs=t((function(g){var A=function(g){var A,t=Object.prototype,e=t.hasOwnProperty,C="function"==typeof Symbol?Symbol:{},I=C.iterator||"@@iterator",i=C.asyncIterator||"@@asyncIterator",o=C.toStringTag||"@@toStringTag";function n(g,A,t){return Object.defineProperty(g,A,{value:t,enumerable:!0,configurable:!0,writable:!0}),g[A]}try{n({},"")}catch(g){n=function(g,A,t){return g[A]=t}}function r(g,A,t,e){var C=A&&A.prototype instanceof u?A:u,I=Object.create(C.prototype),i=new T(e||[]);return I._invoke=function(g,A,t){var e=a;return function(C,I){if(e===h)throw new Error("Generator is already running");if(e===l){if("throw"===C)throw I;return N()}for(t.method=C,t.arg=I;;){var i=t.delegate;if(i){var o=x(i,t);if(o){if(o===c)continue;return o}}if("next"===t.method)t.sent=t._sent=t.arg;else if("throw"===t.method){if(e===a)throw e=l,t.arg;t.dispatchException(t.arg)}else"return"===t.method&&t.abrupt("return",t.arg);e=h;var n=s(g,A,t);if("normal"===n.type){if(e=t.done?l:d,n.arg===c)continue;return{value:n.arg,done:t.done}}"throw"===n.type&&(e=l,t.method="throw",t.arg=n.arg)}}}(g,t,i),I}function s(g,A,t){try{return{type:"normal",arg:g.call(A,t)}}catch(g){return{type:"throw",arg:g}}}g.wrap=r;var a="suspendedStart",d="suspendedYield",h="executing",l="completed",c={};function u(){}function p(){}function f(){}var v={};v[I]=function(){return this};var y=Object.getPrototypeOf,m=y&&y(y(D([])));m&&m!==t&&e.call(m,I)&&(v=m);var b=f.prototype=u.prototype=Object.create(v);function w(g){["next","throw","return"].forEach((function(A){n(g,A,(function(g){return this._invoke(A,g)}))}))}function k(g,A){function t(C,I,i,o){var n=s(g[C],g,I);if("throw"!==n.type){var r=n.arg,a=r.value;return a&&"object"==typeof a&&e.call(a,"__await")?A.resolve(a.__await).then((function(g){t("next",g,i,o)}),(function(g){t("throw",g,i,o)})):A.resolve(a).then((function(g){r.value=g,i(r)}),(function(g){return t("throw",g,i,o)}))}o(n.arg)}var C;this._invoke=function(g,e){function I(){return new A((function(A,C){t(g,e,A,C)}))}return C=C?C.then(I,I):I()}}function x(g,t){var e=g.iterator[t.method];if(e===A){if(t.delegate=null,"throw"===t.method){if(g.iterator.return&&(t.method="return",t.arg=A,x(g,t),"throw"===t.method))return c;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return c}var C=s(e,g.iterator,t.arg);if("throw"===C.type)return t.method="throw",t.arg=C.arg,t.delegate=null,c;var I=C.arg;return I?I.done?(t[g.resultName]=I.value,t.next=g.nextLoc,"return"!==t.method&&(t.method="next",t.arg=A),t.delegate=null,c):I:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,c)}function E(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 O(g){var A=g.completion||{};A.type="normal",delete A.arg,g.completion=A}function T(g){this.tryEntries=[{tryLoc:"root"}],g.forEach(E,this),this.reset(!0)}function D(g){if(g){var t=g[I];if(t)return t.call(g);if("function"==typeof g.next)return g;if(!isNaN(g.length)){var C=-1,i=function t(){for(;++C<g.length;)if(e.call(g,C))return t.value=g[C],t.done=!1,t;return t.value=A,t.done=!0,t};return i.next=i}}return{next:N}}function N(){return{value:A,done:!0}}return p.prototype=b.constructor=f,f.constructor=p,p.displayName=n(f,o,"GeneratorFunction"),g.isGeneratorFunction=function(g){var A="function"==typeof g&&g.constructor;return!!A&&(A===p||"GeneratorFunction"===(A.displayName||A.name))},g.mark=function(g){return Object.setPrototypeOf?Object.setPrototypeOf(g,f):(g.__proto__=f,n(g,o,"GeneratorFunction")),g.prototype=Object.create(b),g},g.awrap=function(g){return{__await:g}},w(k.prototype),k.prototype[i]=function(){return this},g.AsyncIterator=k,g.async=function(A,t,e,C,I){void 0===I&&(I=Promise);var i=new k(r(A,t,e,C),I);return g.isGeneratorFunction(t)?i:i.next().then((function(g){return g.done?g.value:i.next()}))},w(b),n(b,o,"Generator"),b[I]=function(){return this},b.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 e=A.pop();if(e in g)return t.value=e,t.done=!1,t}return t.done=!0,t}},g.values=D,T.prototype={constructor:T,reset:function(g){if(this.prev=0,this.next=0,this.sent=this._sent=A,this.done=!1,this.delegate=null,this.method="next",this.arg=A,this.tryEntries.forEach(O),!g)for(var t in this)"t"===t.charAt(0)&&e.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=A)},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 t=this;function C(e,C){return o.type="throw",o.arg=g,t.next=e,C&&(t.method="next",t.arg=A),!!C}for(var I=this.tryEntries.length-1;I>=0;--I){var i=this.tryEntries[I],o=i.completion;if("root"===i.tryLoc)return C("end");if(i.tryLoc<=this.prev){var n=e.call(i,"catchLoc"),r=e.call(i,"finallyLoc");if(n&&r){if(this.prev<i.catchLoc)return C(i.catchLoc,!0);if(this.prev<i.finallyLoc)return C(i.finallyLoc)}else if(n){if(this.prev<i.catchLoc)return C(i.catchLoc,!0)}else{if(!r)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return C(i.finallyLoc)}}}},abrupt:function(g,A){for(var t=this.tryEntries.length-1;t>=0;--t){var C=this.tryEntries[t];if(C.tryLoc<=this.prev&&e.call(C,"finallyLoc")&&this.prev<C.finallyLoc){var I=C;break}}I&&("break"===g||"continue"===g)&&I.tryLoc<=A&&A<=I.finallyLoc&&(I=null);var i=I?I.completion:{};return i.type=g,i.arg=A,I?(this.method="next",this.next=I.finallyLoc,c):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),c},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),O(t),c}},catch:function(g){for(var A=this.tryEntries.length-1;A>=0;--A){var t=this.tryEntries[A];if(t.tryLoc===g){var e=t.completion;if("throw"===e.type){var C=e.arg;O(t)}return C}}throw new Error("illegal catch attempt")},delegateYield:function(g,t,e){return this.delegate={iterator:D(g),resultName:t,nextLoc:e},"next"===this.method&&(this.arg=A),c}},g}(g.exports);try{regeneratorRuntime=A}catch(g){Function("r","regeneratorRuntime = r")(A)}})),ss=function(g){return function(A,t,e,C){z(t);var I=ig(A),i=l(I),o=H(I.length),n=g?o-1:0,r=g?-1:1;if(e<2)for(;;){if(n in i){C=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&&(C=t(C,i[n],n,I));return C}},as={left:ss(!1),right:ss(!0)}.left,ds=xC("reduce");Y({target:"Array",proto:!0,forced:!ds||!eA&&hA>79&&hA<83},{reduce:function(g){return as(this,g,arguments.length,arguments.length>1?arguments[1]:void 0)}});var hs=cg("Array").reduce,ls=Array.prototype,cs=function(g){var A=g.reduce;return g===ls||g instanceof Array&&A===ls.reduce?hs:A},us=function(g,A,t,e,C,I,i,o){for(var n,r=C,s=0,a=!!i&&Z(i,o,3);s<e;){if(s in t){if(n=a?a(t[s],s,A):t[s],I>0&&Tt(n))r=us(g,A,n,H(n.length),r,I-1)-1;else{if(r>=9007199254740991)throw TypeError("Exceed the acceptable array length");g[r]=n}r++}s++}return r},ps=us;Y({target:"Array",proto:!0},{flatMap:function(g){var A,t=ig(this),e=H(t.length);return z(g),(A=Gt(t,0)).length=ps(A,t,t,e,0,1,g,arguments.length>1?arguments[1]:void 0),A}});var fs=cg("Array").flatMap,vs=Array.prototype,ys=function(g){var A=g.flatMap;return g===vs||g instanceof Array&&A===vs.flatMap?fs:A},ms=iC;Rr("Set",(function(g){return function(){return g(this,arguments.length?arguments[0]:void 0)}}),Fr);var bs=B.Set,ws=[],ks=ws.sort,xs=I((function(){ws.sort(void 0)})),Es=I((function(){ws.sort(null)})),Os=xC("sort");Y({target:"Array",proto:!0,forced:xs||!Es||!Os},{sort:function(g){return void 0===g?ks.call(ig(this)):ks.call(ig(this),z(g))}});var Ts,Ds=cg("Array").sort,Ns=Array.prototype,Rs=function(g){var A=g.sort;return g===Ns||g instanceof Array&&A===Ns.sort?Ds:A},Ps=cg("Array").keys,Ms=Array.prototype,Bs={DOMTokenList:!0,NodeList:!0},zs=function(g){var A=g.keys;return g===Ms||g instanceof Array&&A===Ms.keys||Bs.hasOwnProperty(ZA(g))?Ps:A},Zs=cg("Array").values,Ss=Array.prototype,Fs={DOMTokenList:!0,NodeList:!0},Gs=function(g){var A=g.values;return g===Ss||g instanceof Array&&A===Ss.values||Fs.hasOwnProperty(ZA(g))?Zs:A},Ls=cg("Array").entries,js=Array.prototype,Vs={DOMTokenList:!0,NodeList:!0},Ys=function(g){var A=g.entries;return g===js||g instanceof Array&&A===js.entries||Vs.hasOwnProperty(ZA(g))?Ls:A},Ws=new Uint8Array(16);function Qs(){if(!Ts&&!(Ts="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Ts(Ws)}var Us=/^(?:[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 _s(g){return"string"==typeof g&&Us.test(g)}for(var Hs=[],Ks=0;Ks<256;++Ks)Hs.push((Ks+256).toString(16).substr(1));function Xs(g,A,t){var e=(g=g||{}).random||(g.rng||Qs)();if(e[6]=15&e[6]|64,e[8]=63&e[8]|128,A){t=t||0;for(var C=0;C<16;++C)A[t+C]=e[C];return A}return function(g){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=(Hs[g[A+0]]+Hs[g[A+1]]+Hs[g[A+2]]+Hs[g[A+3]]+"-"+Hs[g[A+4]]+Hs[g[A+5]]+"-"+Hs[g[A+6]]+Hs[g[A+7]]+"-"+Hs[g[A+8]]+Hs[g[A+9]]+"-"+Hs[g[A+10]]+Hs[g[A+11]]+Hs[g[A+12]]+Hs[g[A+13]]+Hs[g[A+14]]+Hs[g[A+15]]).toLowerCase();if(!_s(t))throw TypeError("Stringified UUID is invalid");return t}(e)}function Js(g,A){var t=wC(g);if(ve){var e=ve(g);A&&(e=oI(e).call(e,(function(A){return we(g,A).enumerable}))),t.push.apply(t,e)}return t}function qs(g){for(var A=1;A<arguments.length;A++){var t,e=null!=arguments[A]?arguments[A]:{};if(A%2)RC(t=Js(Object(e),!0)).call(t,(function(A){Me(g,A,e[A])}));else if(xe)Ee(g,xe(e));else{var C;RC(C=Js(Object(e))).call(C,(function(A){Te(g,A,we(e,A))}))}}return g}function $s(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}function ga(g,A){var t;if(void 0===sC||null==Et(g)){if(uC(g)||(t=function(g,A){var t;if(!g)return;if("string"==typeof g)return Aa(g,A);var e=lC(t=Object.prototype.toString.call(g)).call(t,8,-1);"Object"===e&&g.constructor&&(e=g.constructor.name);if("Map"===e||"Set"===e)return ft(g);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return Aa(g,A)}(g))||A&&g&&"number"==typeof g.length){t&&(g=t);var e=0,C=function(){};return{s:C,n:function(){return e>=g.length?{done:!0}:{done:!1,value:g[e++]}},e:function(g){throw g},f:C}}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 I,i=!0,o=!1;return{s:function(){t=Ot(g)},n:function(){var g=t.next();return i=g.done,g},e:function(g){o=!0,I=g},f:function(){try{i||null==t.return||t.return()}finally{if(o)throw I}}}}function Aa(g,A){(null==A||A>g.length)&&(A=g.length);for(var t=0,e=new Array(A);t<A;t++)e[t]=g[t];return e}var ta=function(){function g(A,t,e){var C,I,i;De(this,g),this._source=A,this._transformers=t,this._target=e,this._listeners={add:fg(C=this._add).call(C,this),remove:fg(I=this._remove).call(I,this),update:fg(i=this._update).call(i,this)}}return Pe(g,[{key:"all",value:function(){return this._target.update(this._transformItems(this._source.get())),this}},{key:"start",value:function(){return this._source.on("add",this._listeners.add),this._source.on("remove",this._listeners.remove),this._source.on("update",this._listeners.update),this}},{key:"stop",value:function(){return this._source.off("add",this._listeners.add),this._source.off("remove",this._listeners.remove),this._source.off("update",this._listeners.update),this}},{key:"_transformItems",value:function(g){var A;return cs(A=this._transformers).call(A,(function(g,A){return A(g)}),g)}},{key:"_add",value:function(g,A){null!=A&&this._target.add(this._transformItems(this._source.get(A.items)))}},{key:"_update",value:function(g,A){null!=A&&this._target.update(this._transformItems(this._source.get(A.items)))}},{key:"_remove",value:function(g,A){null!=A&&this._target.remove(this._transformItems(A.oldData))}}]),g}(),ea=function(){function g(A){De(this,g),this._source=A,this._transformers=[]}return Pe(g,[{key:"filter",value:function(g){return this._transformers.push((function(A){return oI(A).call(A,g)})),this}},{key:"map",value:function(g){return this._transformers.push((function(A){return mC(A).call(A,g)})),this}},{key:"flatMap",value:function(g){return this._transformers.push((function(A){return ys(A).call(A,g)})),this}},{key:"to",value:function(g){return new ta(this._source,this._transformers,g)}}]),g}();function Ca(g){return"string"==typeof g||"number"==typeof g}var Ia=function(){function g(A){De(this,g),this._queue=[],this._timeout=null,this._extended=null,this.delay=null,this.max=1/0,this.setOptions(A)}return Pe(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 e=A[t];e.original?g[e.name]=e.original:delete g[e.name]}this._extended=null}}},{key:"replace",value:function(g,A){var t=this,e=g[A];if(!e)throw new Error("Method "+A+" undefined");g[A]=function(){for(var g=arguments.length,A=new Array(g),C=0;C<g;C++)A[C]=arguments[C];t.queue({args:A,fn:e,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=WI((function(){g.flush()}),this.delay))}},{key:"flush",value:function(){var g,A;RC(g=WC(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 e=new g(t);if(void 0!==A.flush)throw new Error("Target object already has a property flush");A.flush=function(){e.flush()};var C=[{name:"flush",original:void 0}];if(t&&t.replace)for(var I=0;I<t.replace.length;I++){var i=t.replace[I];C.push({name:i,original:A[i]}),e.replace(A,i)}return e._extended={object:A,methods:C},e}}]),g}(),ia=function(){function g(){De(this,g),this._subscribers={"*":[],add:[],remove:[],update:[]},this.subscribe=g.prototype.on,this.unsubscribe=g.prototype.off}return Pe(g,[{key:"_trigger",value:function(g,A,t){var e,C;if("*"===g)throw new Error("Cannot trigger event *");RC(e=hC(C=[]).call(C,rC(this._subscribers[g]),rC(this._subscribers["*"]))).call(e,(function(e){e(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]=oI(t=this._subscribers[g]).call(t,(function(g){return g!==A}))}}]),g}(),oa=function(){function g(A){De(this,g),this._pairs=A}return Pe(g,[{key:ms,value:rs.mark((function g(){var A,t,e,C,I;return rs.wrap((function(g){for(;;)switch(g.prev=g.next){case 0:A=ga(this._pairs),g.prev=1,A.s();case 3:if((t=A.n()).done){g.next=9;break}return e=IC(t.value,2),C=e[0],I=e[1],g.next=7,[C,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:"entries",value:rs.mark((function g(){var A,t,e,C,I;return rs.wrap((function(g){for(;;)switch(g.prev=g.next){case 0:A=ga(this._pairs),g.prev=1,A.s();case 3:if((t=A.n()).done){g.next=9;break}return e=IC(t.value,2),C=e[0],I=e[1],g.next=7,[C,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:"keys",value:rs.mark((function g(){var A,t,e,C;return rs.wrap((function(g){for(;;)switch(g.prev=g.next){case 0:A=ga(this._pairs),g.prev=1,A.s();case 3:if((t=A.n()).done){g.next=9;break}return e=IC(t.value,1),C=e[0],g.next=7,C;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:rs.mark((function g(){var A,t,e,C;return rs.wrap((function(g){for(;;)switch(g.prev=g.next){case 0:A=ga(this._pairs),g.prev=1,A.s();case 3:if((t=A.n()).done){g.next=9;break}return e=IC(t.value,2),C=e[1],g.next=7,C;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 mC(g=rC(this._pairs)).call(g,(function(g){return g[0]}))}},{key:"toItemArray",value:function(){var g;return mC(g=rC(this._pairs)).call(g,(function(g){return g[1]}))}},{key:"toEntryArray",value:function(){return rC(this._pairs)}},{key:"toObjectMap",value:function(){var g,A=MI(null),t=ga(this._pairs);try{for(t.s();!(g=t.n()).done;){var e=IC(g.value,2),C=e[0],I=e[1];A[C]=I}}catch(g){t.e(g)}finally{t.f()}return A}},{key:"toMap",value:function(){return new Gr(this._pairs)}},{key:"toIdSet",value:function(){return new bs(this.toIdArray())}},{key:"toItemSet",value:function(){return new bs(this.toItemArray())}},{key:"cache",value:function(){return new g(rC(this._pairs))}},{key:"distinct",value:function(g){var A,t=new bs,e=ga(this._pairs);try{for(e.s();!(A=e.n()).done;){var C=IC(A.value,2),I=C[0],i=C[1];t.add(g(i,I))}}catch(g){e.e(g)}finally{e.f()}return t}},{key:"filter",value:function(A){var t=this._pairs;return new g(Me({},ms,rs.mark((function g(){var e,C,I,i,o;return rs.wrap((function(g){for(;;)switch(g.prev=g.next){case 0:e=ga(t),g.prev=1,e.s();case 3:if((C=e.n()).done){g.next=10;break}if(I=IC(C.value,2),i=I[0],o=I[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),e.e(g.t0);case 15:return g.prev=15,e.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=ga(this._pairs);try{for(t.s();!(A=t.n()).done;){var e=IC(A.value,2),C=e[0];g(e[1],C)}}catch(g){t.e(g)}finally{t.f()}}},{key:"map",value:function(A){var t=this._pairs;return new g(Me({},ms,rs.mark((function g(){var e,C,I,i,o;return rs.wrap((function(g){for(;;)switch(g.prev=g.next){case 0:e=ga(t),g.prev=1,e.s();case 3:if((C=e.n()).done){g.next=9;break}return I=IC(C.value,2),i=I[0],o=I[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),e.e(g.t0);case 14:return g.prev=14,e.f(),g.finish(14);case 17:case"end":return g.stop()}}),g,null,[[1,11,14,17]])}))))}},{key:"max",value:function(g){var A=Ot(this._pairs),t=A.next();if(t.done)return null;for(var e=t.value[1],C=g(t.value[1],t.value[0]);!(t=A.next()).done;){var I=IC(t.value,2),i=I[0],o=I[1],n=g(o,i);n>C&&(C=n,e=o)}return e}},{key:"min",value:function(g){var A=Ot(this._pairs),t=A.next();if(t.done)return null;for(var e=t.value[1],C=g(t.value[1],t.value[0]);!(t=A.next()).done;){var I=IC(t.value,2),i=I[0],o=I[1],n=g(o,i);n<C&&(C=n,e=o)}return e}},{key:"reduce",value:function(g,A){var t,e=ga(this._pairs);try{for(e.s();!(t=e.n()).done;){var C=IC(t.value,2),I=C[0];A=g(A,C[1],I)}}catch(g){e.e(g)}finally{e.f()}return A}},{key:"sort",value:function(A){var t=this;return new g(Me({},ms,(function(){var g;return Ot(Rs(g=rC(t._pairs)).call(g,(function(g,t){var e=IC(g,2),C=e[0],I=e[1],i=IC(t,2),o=i[0],n=i[1];return A(I,n,C,o)})))})))}}]),g}();var na=function(g){Is(t,g);var A=$s(t);function t(g,e){var C;return De(this,t),(C=A.call(this))._queue=null,g&&!uC(g)&&(e=g,g=[]),C._options=e||{},C._data=new Gr,C.length=0,C._idProp=C._options.fieldId||"id",g&&g.length&&C.add(g),C.setOptions(e),C}return Pe(t,[{key:"idProp",get:function(){return this._idProp}},{key:"setOptions",value:function(g){g&&void 0!==g.queue&&(!1===g.queue?this._queue&&(this._queue.destroy(),this._queue=null):(this._queue||(this._queue=Ia.extend(this,{replace:["add","update","remove"]})),g.queue&&"object"===nC(g.queue)&&this._queue.setOptions(g.queue)))}},{key:"add",value:function(g,A){var t,e=this,C=[];if(uC(g)){var I=mC(g).call(g,(function(g){return g[e._idProp]}));if(Kr(I).call(I,(function(g){return e._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]),C.push(t)}else{if(!g||"object"!==nC(g))throw new Error("Unknown dataType");t=this._addItem(g),C.push(t)}return C.length&&this._trigger("add",{items:C},A),C}},{key:"update",value:function(g,A){var t=this,e=[],C=[],I=[],i=[],o=this._idProp,n=function(g){var A=g[o];if(null!=A&&t._data.has(A)){var n=g,r=sg({},t._data.get(A)),s=t._updateItem(n);C.push(s),i.push(n),I.push(r)}else{var a=t._addItem(g);e.push(a)}};if(uC(g))for(var r=0,s=g.length;r<s;r++)g[r]&&"object"===nC(g[r])?n(g[r]):console.warn("Ignoring input item, which is not an object at index "+r);else{if(!g||"object"!==nC(g))throw new Error("Unknown dataType");n(g)}if(e.length&&this._trigger("add",{items:e},A),C.length){var a={items:C,oldData:I,data:i};this._trigger("update",a,A)}return hC(e).call(e,C)}},{key:"updateOnly",value:function(g,A){var t,e=this;uC(g)||(g=[g]);var C=mC(t=mC(g).call(g,(function(g){var A=e._data.get(g[e._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,C=A[e._idProp],I=function(g){for(var A,t=arguments.length,e=new Array(t>1?t-1:0),C=1;C<t;C++)e[C-1]=arguments[C];return Lo.apply(void 0,hC(A=[{},g]).call(A,e))}(A,t);return e._data.set(C,I),{id:C,oldData:A,updatedData:I}}));if(C.length){var I={items:mC(C).call(C,(function(g){return g.id})),oldData:mC(C).call(C,(function(g){return g.oldData})),data:mC(C).call(C,(function(g){return g.updatedData}))};return this._trigger("update",I,A),I.items}return[]}},{key:"get",value:function(g,A){var t=void 0,e=void 0,C=void 0;Ca(g)?(t=g,C=A):uC(g)?(e=g,C=A):C=g;var I,i=C&&"Object"===C.returnType?"Object":"Array",o=C&&oI(C),n=[],r=void 0,s=void 0,a=void 0;if(null!=t)(r=this._data.get(t))&&o&&!o(r)&&(r=void 0);else if(null!=e)for(var d=0,h=e.length;d<h;d++)null==(r=this._data.get(e[d]))||o&&!o(r)||n.push(r);else for(var l,c=0,u=(s=rC(zs(l=this._data).call(l))).length;c<u;c++)a=s[c],null==(r=this._data.get(a))||o&&!o(r)||n.push(r);if(C&&C.order&&null==t&&this._sort(n,C.order),C&&C.fields){var p=C.fields;if(null!=t&&null!=r)r=this._filterFields(r,p);else for(var f=0,v=n.length;f<v;f++)n[f]=this._filterFields(n[f],p)}if("Object"==i){for(var y={},m=0,b=n.length;m<b;m++){var w=n[m];y[w[this._idProp]]=w}return y}return null!=t?null!==(I=r)&&void 0!==I?I:null:n}},{key:"getIds",value:function(g){var A=this._data,t=g&&oI(g),e=g&&g.order,C=rC(zs(A).call(A)),I=[];if(t)if(e){for(var i=[],o=0,n=C.length;o<n;o++){var r=C[o],s=this._data.get(r);null!=s&&t(s)&&i.push(s)}this._sort(i,e);for(var a=0,d=i.length;a<d;a++)I.push(i[a][this._idProp])}else for(var h=0,l=C.length;h<l;h++){var c=C[h],u=this._data.get(c);null!=u&&t(u)&&I.push(u[this._idProp])}else if(e){for(var p=[],f=0,v=C.length;f<v;f++){var y=C[f];p.push(A.get(y))}this._sort(p,e);for(var m=0,b=p.length;m<b;m++)I.push(p[m][this._idProp])}else for(var w=0,k=C.length;w<k;w++){var x=C[w],E=A.get(x);null!=E&&I.push(E[this._idProp])}return I}},{key:"getDataSet",value:function(){return this}},{key:"forEach",value:function(g,A){var t=A&&oI(A),e=this._data,C=rC(zs(e).call(e));if(A&&A.order)for(var I=this.get(A),i=0,o=I.length;i<o;i++){var n=I[i];g(n,n[this._idProp])}else for(var r=0,s=C.length;r<s;r++){var a=C[r],d=this._data.get(a);null==d||t&&!t(d)||g(d,a)}}},{key:"map",value:function(g,A){for(var t=A&&oI(A),e=[],C=this._data,I=rC(zs(C).call(C)),i=0,o=I.length;i<o;i++){var n=I[i],r=this._data.get(n);null==r||t&&!t(r)||e.push(g(r,n))}return A&&A.order&&this._sort(e,A.order),e}},{key:"_filterFields",value:function(g,A){var t;return g?cs(t=uC(A)?A:wC(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;Rs(g).call(g,(function(g,A){var e=g[t],C=A[t];return e>C?1:e<C?-1:0}))}else{if("function"!=typeof A)throw new TypeError("Order must be a function or a string");Rs(g).call(g,A)}}},{key:"remove",value:function(g,A){for(var t=[],e=[],C=uC(g)?g:[g],I=0,i=C.length;I<i;I++){var o=this._remove(C[I]);if(o){var n=o[this._idProp];null!=n&&(t.push(n),e.push(o))}}return t.length&&this._trigger("remove",{items:t,oldData:e},A),t}},{key:"_remove",value:function(g){var A;if(Ca(g)?A=g:g&&"object"===nC(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=rC(zs(A=this._data).call(A)),e=[],C=0,I=t.length;C<I;C++)e.push(this._data.get(t[C]));return this._data.clear(),this.length=0,this._trigger("remove",{items:t,oldData:e},g),t}},{key:"max",value:function(g){var A,t,e=null,C=null,I=ga(Gs(A=this._data).call(A));try{for(I.s();!(t=I.n()).done;){var i=t.value,o=i[g];"number"==typeof o&&(null==C||o>C)&&(e=i,C=o)}}catch(g){I.e(g)}finally{I.f()}return e||null}},{key:"min",value:function(g){var A,t,e=null,C=null,I=ga(Gs(A=this._data).call(A));try{for(I.s();!(t=I.n()).done;){var i=t.value,o=i[g];"number"==typeof o&&(null==C||o<C)&&(e=i,C=o)}}catch(g){I.e(g)}finally{I.f()}return e||null}},{key:"distinct",value:function(g){for(var A=this._data,t=rC(zs(A).call(A)),e=[],C=0,I=0,i=t.length;I<i;I++){for(var o=t[I],n=A.get(o)[g],r=!1,s=0;s<C;s++)if(e[s]==n){r=!0;break}r||void 0===n||(e[C]=n,C++)}return e}},{key:"_addItem",value:function(g){var A=function(g,A){return null==g[A]&&(g[A]=Xs()),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: "+LI(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,qs(qs({},t),g)),A}},{key:"stream",value:function(g){if(g){var A=this._data;return new oa(Me({},ms,rs.mark((function t(){var e,C,I,i;return rs.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=ga(g),t.prev=1,e.s();case 3:if((C=e.n()).done){t.next=11;break}if(I=C.value,null==(i=A.get(I))){t.next=9;break}return t.next=9,[I,i];case 9:t.next=3;break;case 11:t.next=16;break;case 13:t.prev=13,t.t0=t.catch(1),e.e(t.t0);case 16:return t.prev=16,e.f(),t.finish(16);case 19:case"end":return t.stop()}}),t,null,[[1,13,16,19]])}))))}var t;return new oa(Me({},ms,fg(t=Ys(this._data)).call(t,this._data)))}}]),t}(ia),ra=function(g){Is(t,g);var A=$s(t);function t(g,e){var C,I;return De(this,t),(I=A.call(this)).length=0,I._ids=new bs,I._options=e||{},I._listener=fg(C=I._onEvent).call(C,As(I)),I.setData(g),I}return Pe(t,[{key:"idProp",get:function(){return this.getDataSet().idProp}},{key:"setData",value:function(g){if(this._data){this._data.off&&this._data.off("*",this._listener);var A=this._data.getIds({filter:oI(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 e=this._data.getIds({filter:oI(this._options)}),C=0,I=e.length;C<I;C++){var i=e[C];this._ids.add(i)}this.length=e.length,this._trigger("add",{items:e})}else this._data=new na;this._data.on&&this._data.on("*",this._listener)}},{key:"refresh",value:function(){for(var g=this._data.getIds({filter:oI(this._options)}),A=rC(this._ids),t={},e=[],C=[],I=[],i=0,o=g.length;i<o;i++){var n=g[i];t[n]=!0,this._ids.has(n)||(e.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]||(C.push(a),I.push(d),this._ids.delete(a))}this.length+=e.length-C.length,e.length&&this._trigger("add",{items:e}),C.length&&this._trigger("remove",{items:C,oldData:I})}},{key:"get",value:function(g,A){if(null==this._data)return null;var t,e=null;Ca(g)||uC(g)?(e=g,t=A):t=g;var C=sg({},this._options,t),I=oI(this._options),i=t&&oI(t);return I&&i&&(C.filter=function(g){return I(g)&&i(g)}),null==e?this._data.get(C):this._data.get(e,C)}},{key:"getIds",value:function(g){if(this._data.length){var A,t=oI(this._options),e=null!=g?oI(g):null;return A=e?t?function(g){return t(g)&&e(g)}:e:t,this._data.getIds({filter:A,order:g&&g.order})}return[]}},{key:"forEach",value:function(g,A){if(this._data){var t,e,C=oI(this._options),I=A&&oI(A);e=I?C?function(g){return C(g)&&I(g)}:I:C,RC(t=this._data).call(t,g,{filter:e,order:A&&A.order})}}},{key:"map",value:function(g,A){if(this._data){var t,e,C=oI(this._options),I=A&&oI(A);return e=I?C?function(g){return C(g)&&I(g)}:I:C,mC(t=this._data).call(t,g,{filter:e,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||Me({},ms,fg(A=zs(this._ids)).call(A,this._ids)))}},{key:"dispose",value:function(){var g;null!==(g=this._data)&&void 0!==g&&g.off&&this._data.off("*",this._listener);var A,e="This data view has already been disposed of.",C={get:function(){throw new Error(e)},set:function(){throw new Error(e)},configurable:!1},I=ga(cC(t.prototype));try{for(I.s();!(A=I.n()).done;){var i=A.value;Te(this,i,C)}}catch(g){I.e(g)}finally{I.f()}}},{key:"_onEvent",value:function(g,A,t){if(A&&A.items&&this._data){var e=A.items,C=[],I=[],i=[],o=[],n=[],r=[];switch(g){case"add":for(var s=0,a=e.length;s<a;s++){var d=e[s];this.get(d)&&(this._ids.add(d),C.push(d))}break;case"update":for(var h=0,l=e.length;h<l;h++){var c=e[h];this.get(c)?this._ids.has(c)?(I.push(c),n.push(A.data[h]),o.push(A.oldData[h])):(this._ids.add(c),C.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=e.length;u<p;u++){var f=e[u];this._ids.has(f)&&(this._ids.delete(f),i.push(f),r.push(A.oldData[u]))}}this.length+=C.length-i.length,C.length&&this._trigger("add",{items:C},t),I.length&&this._trigger("update",{items:I,oldData:o,data:n},t),i.length&&this._trigger("remove",{items:i,oldData:r},t)}}}]),t}(ia);function sa(g,A){return"object"===nC(A)&&null!==A&&g===A.idProp&&"function"==typeof A.add&&"function"==typeof A.clear&&"function"==typeof A.distinct&&"function"==typeof RC(A)&&"function"==typeof A.get&&"function"==typeof A.getDataSet&&"function"==typeof A.getIds&&"number"==typeof A.length&&"function"==typeof mC(A)&&"function"==typeof A.max&&"function"==typeof A.min&&"function"==typeof A.off&&"function"==typeof A.on&&"function"==typeof A.remove&&"function"==typeof A.setOptions&&"function"==typeof A.stream&&"function"==typeof A.update&&"function"==typeof A.updateOnly}function aa(g,A){return"object"===nC(A)&&null!==A&&g===A.idProp&&"function"==typeof RC(A)&&"function"==typeof A.get&&"function"==typeof A.getDataSet&&"function"==typeof A.getIds&&"number"==typeof A.length&&"function"==typeof mC(A)&&"function"==typeof A.off&&"function"==typeof A.on&&"function"==typeof A.stream&&sa(g,A.getDataSet())}var da=Object.freeze({__proto__:null,DELETE:Go,DataSet:na,DataStream:oa,DataView:ra,Queue:Ia,createNewDataPipeFrom:function(g){return new ea(g)},isDataSetLike:sa,isDataViewLike:aa}),ha=uI.trim,la=C.parseFloat,ca=1/la(aI+"-0")!=-1/0?function(g){var A=ha(String(g)),t=la(A);return 0===t&&"-"==A.charAt(0)?-0:t}:la;Y({global:!0,forced:parseFloat!=ca},{parseFloat:ca});var ua=B.parseFloat,pa=Bt.f,fa=I((function(){return!Object.getOwnPropertyNames(1)}));Y({target:"Object",stat:!0,forced:fa},{getOwnPropertyNames:pa});var va=B.Object,ya=function(g){return va.getOwnPropertyNames(g)};function ma(g,A){var t=["node","edge","label"],e=!0,C=xn(A,"chosen");if("boolean"==typeof C)e=C;else if("object"===nC(C)){if(-1===DI(t).call(t,g))throw new Error("choosify: subOption '"+g+"' should be one of '"+t.join("', '")+"'");var I=xn(A,["chosen",g]);"boolean"!=typeof I&&"function"!=typeof I||(e=I)}return e}function ba(g,A,t){if(g.width<=0||g.height<=0)return!1;if(void 0!==t){var e={x:A.x-t.x,y:A.y-t.y};if(0!==t.angle){var C=-t.angle;A={x:Math.cos(C)*e.x-Math.sin(C)*e.y,y:Math.sin(C)*e.x+Math.cos(C)*e.y}}else A=e}var I=g.x+g.width,i=g.y+g.width;return g.left<A.x&&I>A.x&&g.top<A.y&&i>A.y}function wa(g){return"string"==typeof g&&""!==g}function ka(g,A,t,e){var C=e.x,I=e.y;if("function"==typeof e.distanceToBorder){var i=e.distanceToBorder(g,A),o=Math.sin(A)*i,n=Math.cos(A)*i;n===i?(C+=i,I=e.y):o===i?(C=e.x,I-=i):(C+=n,I-=o)}else e.shape.width>e.shape.height?(C=e.x+.5*e.shape.width,I=e.y-t):(C=e.x+t,I=e.y-.5*e.shape.height);return{x:C,y:I}}var xa=function(){function g(A){De(this,g),this.measureText=A,this.current=0,this.width=0,this.height=0,this.lines=[]}return Pe(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 e=A;void 0!==A&&""!==A||(e=" ");var C=this.measureText(e,t),I=sg({},Gs(C));I.text=A,I.width=C.width,I.mod=t,void 0!==A&&""!==A||(I.width=0),this.lines[g].blocks.push(I),this.lines[g].width+=I.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 e=0;e<A.blocks.length;e++){var C=A.blocks[e];t<C.height&&(t=C.height)}A.height=t}}},{key:"determineLabelSize",value:function(){for(var g=0,A=0,t=0;t<this.lines.length;t++){var e=this.lines[t];e.width>g&&(g=e.width),A+=e.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 e={};sg(e,t),e.blocks=[];for(var C=void 0,I=[],i=0;i<t.blocks.length;i++){var o=t.blocks[i];0!==o.width?I.push(o):void 0===C&&(C=o)}0===I.length&&void 0!==C&&I.push(C),e.blocks=I,g.push(e)}}return g}},{key:"finalize",value:function(){this.determineLineHeights(),this.determineLabelSize();var g=this.removeEmptyBlocks();return{width:this.width,height:this.height,lines:g}}}]),g}(),Ea={"<b>":/<b>/,"<i>":/<i>/,"<code>":/<code>/,"</b>":/<\/b>/,"</i>":/<\/i>/,"</code>":/<\/code>/,"*":/\*/,_:/_/,"`":/`/,afterBold:/[^*]/,afterItal:/[^_]/,afterMono:/[^`]/},Oa=function(){function g(A){De(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 Pe(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),e=IC(t,2),C=e[0],I=e[1],i=C.test(this.text.substr(this.position,I));return i&&A&&(this.position+=I-1),i}},{key:"parseEndTag",value:function(g,A,t){var e=this.mod()===g;return!(!(e="mono"===g?e&&this.mono:e&&!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 e=Ea[g];t=void 0!==e?e:new RegExp(g),A=g.length}return[t,A]}}]),g}(),Ta=function(){function g(A,t,e,C){var I=this;De(this,g),this.ctx=A,this.parent=t,this.selected=e,this.hover=C;this.lines=new xa((function(g,t){if(void 0===g)return 0;var i=I.parent.getFormattingValues(A,e,C,t),o=0;""!==g&&(o=I.ctx.measureText(g).width);return{width:o,values:i}}))}return Pe(g,[{key:"process",value:function(g){if(!wa(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"),e=t.length;if(A.multi)for(var C=0;C<e;C++){var I=this.splitBlocks(t[C],A.multi);if(void 0!==I)if(0!==I.length){if(A.maxWdt>0)for(var i=0;i<I.length;i++){var o=I[i].mod,n=I[i].text;this.splitStringIntoLines(n,o,!0)}else for(var r=0;r<I.length;r++){var s=I[r].mod,a=I[r].text;this.lines.append(a,s)}this.lines.newLine()}else this.lines.newLine("")}else if(A.maxWdt>0)for(var d=0;d<e;d++)this.splitStringIntoLines(t[d]);else for(var h=0;h<e;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 Oa(g),t=function(g){return!!/&/.test(g)&&(A.replace(A.text,"&lt;","<")||A.replace(A.text,"&amp;","&")||A.add("&"),!0)};A.position<A.text.length;){var e=A.text.charAt(A.position);A.parseWS(e)||/</.test(e)&&(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(e)||A.add(e),A.position++}return A.emitBlock(),A.blocks}},{key:"splitMarkdownBlocks",value:function(g){for(var A=this,t=new Oa(g),e=!0,C=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),e=!1)),!0)};t.position<t.text.length;){var I=t.text.charAt(t.position);t.parseWS(I)||C(I)||(e||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(I),e=!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 e=A+(""===A?"":" ")+g[t];if(this.overMaxWidth(e))break;A=e,t++}return t}},{key:"getLongestFitWord",value:function(g){for(var A=0;A<g.length&&!this.overMaxWidth(lC(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 e=(g=(g=g.replace(/^( +)/g,"$1\r")).replace(/([^\r][^ ]*)( +)/g,"$1\r$2\r")).split("\r");e.length>0;){var C=this.getLongestFit(e);if(0===C){var I=e[0],i=this.getLongestFitWord(I);this.lines.newLine(lC(I).call(I,0,i),A),e[0]=lC(I).call(I,i)}else{var o=C;" "===e[C-1]?C--:" "===e[o]&&o++;var n=lC(e).call(e,0,C).join("");C==e.length&&t?this.lines.append(n,A):this.lines.newLine(n,A),e=lC(e).call(e,o)}}}}]),g}(),Da=["bold","ital","boldital","mono"],Na=function(){function g(A,t){var e=arguments.length>2&&void 0!==arguments[2]&&arguments[2];De(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=e}return Pe(g,[{key:"setOptions",value:function(g){if(this.elementOptions=g,this.initFontOptions(g.font),wa(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"===nC(g.font)){var A=g.font.size;void 0!==A&&(this.baseSize=A)}}},{key:"initFontOptions",value:function(A){var t=this;an(Da,(function(g){t.fontOptions[g]={}})),g.parseFontString(this.fontOptions,A)?this.fontOptions.vadjust=0:an(A,(function(g,A){null!=g&&"object"!==nC(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=xn(g,"widthConstraint");if("number"==typeof t)A.maxWdt=Number(t),A.minWdt=Number(t);else if("object"===nC(t)){var e=xn(g,["widthConstraint","maximum"]);"number"==typeof e&&(A.maxWdt=Number(e));var C=xn(g,["widthConstraint","minimum"]);"number"==typeof C&&(A.minWdt=Number(C))}var I=xn(g,"heightConstraint");if("number"==typeof I)A.minHgt=Number(I);else if("object"===nC(I)){var i=xn(g,["heightConstraint","minimum"]);"number"==typeof i&&(A.minHgt=Number(i));var o=xn(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),on(this.fontOptions,this.constrain(A)),this.fontOptions.chooser=ma("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={},e=0;e<A.length;++e){var C=A[e],I={};g.parseFontString(I,C)&&(C=I),an(C,(function(g,A){void 0!==g&&(Object.prototype.hasOwnProperty.call(t,A)||(-1!==DI(Da).call(Da,A)?t[A]={}:t[A]=g))}))}return t}},{key:"getFontOption",value:function(A,t,e){for(var C,I=0;I<A.length;++I){var i=A[I];if(Object.prototype.hasOwnProperty.call(i,t)){if(null==(C=i[t]))continue;var o={};if(g.parseFontString(o,C)&&(C=o),Object.prototype.hasOwnProperty.call(C,e))return C[e]}}if(Object.prototype.hasOwnProperty.call(this.fontOptions,e))return this.fontOptions[e];throw new Error("Did not find value for multi-font for property: '"+e+"'")}},{key:"getFontOptions",value:function(g,A){for(var t={},e=["color","size","face","mod","vadjust"],C=0;C<e.length;++C){var I=e[C];t[I]=this.getFontOption(g,A,I)}return t}},{key:"propagateFonts",value:function(g){var A=this,t=[];this.addFontOptionsToPile(t,g),this.fontOptions=this.getBasicOptions(t);for(var e=function(g){var e=Da[g],C=A.fontOptions[e];an(A.getFontOptions(t,e),(function(g,A){C[A]=g})),C.size=Number(C.size),C.vadjust=Number(C.vadjust)},C=0;C<Da.length;++C)e(C)}},{key:"draw",value:function(g,A,t,e,C){var I=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,e,C,A,t,I),this._drawBackground(g),this._drawText(g,A,this.size.yLine,I,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 e=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"middle",C=arguments.length>4?arguments[4]:void 0,I=this._setAlignment(g,A,t,e),i=IC(I,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,C,a.strokeColor),h=IC(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,e){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=e;return[A,t]}},{key:"_getColor",value:function(g,A,t){var e=g||"#000000",C=t||"#ffffff";if(A<=this.elementOptions.scaling.label.drawThreshold){var I=Math.max(0,Math.min(1,1-(this.elementOptions.scaling.label.drawThreshold-A)));e=hn(e,I),C=hn(C,I)}return[e,C]}},{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 e=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,C=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,I=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";this._processLabel(g,A,t),this.size.left=e-.5*this.size.width,this.size.top=C-.5*this.size.height,this.size.yLine=C+.5*(1-this.lineCount)*this.fontOptions.size,"hanging"===I&&(this.size.top+=.5*this.fontOptions.size,this.size.top+=4,this.size.yLine+=4)}},{key:"getFormattingValues",value:function(g,A,t,e){var C=function(g,A,t){return"normal"===A?"mod"===t?"":g[t]:void 0!==g[A][t]?g[A][t]:g[t]},I={color:C(this.fontOptions,e,"color"),size:C(this.fontOptions,e,"size"),face:C(this.fontOptions,e,"face"),mod:C(this.fontOptions,e,"mod"),vadjust:C(this.fontOptions,e,"vadjust"),strokeWidth:this.fontOptions.strokeWidth,strokeColor:this.fontOptions.strokeColor};(A||t)&&("normal"===e&&!0===this.fontOptions.chooser&&this.elementOptions.labelHighlightBold?I.mod="bold":"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(I,this.elementOptions.id,A,t));var i="";return void 0!==I.mod&&""!==I.mod&&(i+=I.mod+" "),i+=I.size+"px "+I.face,g.font=i.replace(/"/g,""),I.font=g.font,I.height=I.size,I}},{key:"differentState",value:function(g,A){return g!==this.selectedState||A!==this.hoverState}},{key:"_processLabelText",value:function(g,A,t,e){return new Ta(g,this,A,t).process(e)}},{key:"_processLabel",value:function(g,A,t){if(!1!==this.labelDirty||this.differentState(A,t)){var e=this._processLabelText(g,A,t,this.elementOptions.label);this.fontOptions.minWdt>0&&e.width<this.fontOptions.minWdt&&(e.width=this.fontOptions.minWdt),this.size.labelHeight=e.height,this.fontOptions.minHgt>0&&e.height<this.fontOptions.minHgt&&(e.height=this.fontOptions.minHgt),this.lines=e.lines,this.lineCount=e.lines.length,this.size.width=e.width,this.size.height=e.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}(),Ra=function(){function g(A,t,e){De(this,g),this.body=t,this.labelModule=e,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 Pe(g,[{key:"setOptions",value:function(g){this.options=g}},{key:"_setMargins",value:function(g){this.margin={},this.options.margin&&("object"==nC(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 dashes 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 dashes 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),_I(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,e,C){void 0!==t&&this.resize(t,e,C),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,e,C){this._updateBoundingBox(g,A,t,e,C)}},{key:"getDimensionsFromLabel",value:function(g,A,t){this.textSize=this.labelModule.getTextSize(g,A,t);var e=this.textSize.width,C=this.textSize.height;return 0===e&&(e=14,C=14),{width:e,height:C}}}]),g}();function Pa(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var Ma=function(g){Is(t,g);var A=Pa(t);function t(g,e,C){var I;return De(this,t),(I=A.call(this,g,e,C))._setMargins(C),I}return Pe(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 e=this.getDimensionsFromLabel(g,A,t);this.width=e.width+this.margin.right+this.margin.left,this.height=e.height+this.margin.top+this.margin.bottom,this.radius=this.width/2}}},{key:"draw",value:function(g,A,t,e,C,I){this.resize(g,e,C),this.left=A-this.width/2,this.top=t-this.height/2,this.initContextForDraw(g,I),yg(g,this.left,this.top,this.width,this.height,I.borderRadius),this.performFill(g,I),this.updateBoundingBox(A,t,g,e,C),this.labelModule.draw(g,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,e,C)}},{key:"updateBoundingBox",value:function(g,A,t,e,C){this._updateBoundingBox(g,A,t,e,C);var I=this.options.shapeProperties.borderRadius;this._addBoundingBoxMargin(I)}},{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}(Ra);function Ba(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var za=function(g){Is(t,g);var A=Ba(t);function t(g,e,C){var I;return De(this,t),(I=A.call(this,g,e,C)).labelOffset=0,I.selected=!1,I}return Pe(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"==nC(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,e=1;this.imageObj.width&&this.imageObj.height&&(this.imageObj.width>this.imageObj.height?t=this.imageObj.width/this.imageObj.height:e=this.imageObj.height/this.imageObj.width),g=2*this.options.size*t,A=2*this.options.size*e}else{var C=this._getImagePadding();g=this.imageObj.width+C.left+C.right,A=this.imageObj.height+C.top+C.bottom}this.width=g,this.height=A,this.radius=.5*this.width}},{key:"_drawRawCircle",value:function(g,A,t,e){this.initContextForDraw(g,e),vg(g,A,t,e.size),this.performFill(g,e)}},{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 e=this._getImagePadding(),C=this.left+e.left,I=this.top+e.top,i=this.width-e.left-e.right,o=this.height-e.top-e.bottom;this.imageObj.drawImageAtPosition(g,t,C,I,i,o),this.disableShadow(g,A)}}},{key:"_drawImageLabel",value:function(g,A,t,e,C){var I=0;if(void 0!==this.height){I=.5*this.height;var i=this.labelModule.getTextSize(g,e,C);i.lineCount>=1&&(I+=i.height/2)}var o=t+I;this.options.label&&(this.labelOffset=I),this.labelModule.draw(g,A,o,e,C,"hanging")}}]),t}(Ra);function Za(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var Sa=function(g){Is(t,g);var A=Za(t);function t(g,e,C){var I;return De(this,t),(I=A.call(this,g,e,C))._setMargins(C),I}return Pe(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 e=this.getDimensionsFromLabel(g,A,t),C=Math.max(e.width+this.margin.right+this.margin.left,e.height+this.margin.top+this.margin.bottom);this.options.size=C/2,this.width=C,this.height=C,this.radius=this.width/2}}},{key:"draw",value:function(g,A,t,e,C,I){this.resize(g,e,C),this.left=A-this.width/2,this.top=t-this.height/2,this._drawRawCircle(g,A,t,I),this.updateBoundingBox(A,t),this.labelModule.draw(g,this.left+this.textSize.width/2+this.margin.left,t,e,C)}},{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){return g&&this.resize(g),.5*this.width}}]),t}(za);function Fa(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var Ga=function(g){Is(t,g);var A=Fa(t);function t(g,e,C,I,i){var o;return De(this,t),(o=A.call(this,g,e,C)).setImages(I,i),o}return Pe(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,e=void 0===this.imageObj.src||void 0===this.imageObj.width||void 0===this.imageObj.height;if(e){var C=2*this.options.size;return this.width=C,this.height=C,void(this.radius=.5*this.width)}this.needsRefresh(A,t)&&this._resizeImage()}},{key:"draw",value:function(g,A,t,e,C,I){this.switchImages(e),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,I),g.save(),g.clip(),this._drawImageAtPosition(g,I),g.restore(),this._drawImageLabel(g,i,o,e,C),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){return g&&this.resize(g),.5*this.width}}]),t}(za);function La(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var ja=function(g){Is(t,g);var A=La(t);function t(g,e,C){return De(this,t),A.call(this,g,e,C)}return Pe(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,e=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{size:this.options.size};if(this.needsRefresh(A,t)){var C,I;this.labelModule.getTextSize(g,A,t);var i=2*e.size;this.width=null!==(C=this.customSizeWidth)&&void 0!==C?C:i,this.height=null!==(I=this.customSizeHeight)&&void 0!==I?I:i,this.radius=.5*this.width}}},{key:"_drawShape",value:function(g,A,t,e,C,I,i,o){var n,r=this;return this.resize(g,I,i,o),this.left=e-this.width/2,this.top=C-this.height/2,this.initContextForDraw(g,o),(n=A,Object.prototype.hasOwnProperty.call(kg,n)?kg[n]:function(g){for(var A=arguments.length,t=new Array(A>1?A-1:0),e=1;e<A;e++)t[e-1]=arguments[e];CanvasRenderingContext2D.prototype[n].call(g,t)})(g,e,C,o.size),this.performFill(g,o),void 0!==this.options.icon&&void 0!==this.options.icon.code&&(g.font=(I?"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,e,C)),{drawExternalLabel:function(){if(void 0!==r.options.label){r.labelModule.calculateLabelSize(g,I,i,e,C,"hanging");var A=C+.5*r.height+.5*r.labelModule.size.height;r.labelModule.draw(g,e,A,I,i,"hanging")}r.updateBoundingBox(e,C)}}}},{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}(Ra);function Va(g,A){var t=wC(g);if(ve){var e=ve(g);A&&(e=oI(e).call(e,(function(A){return we(g,A).enumerable}))),t.push.apply(t,e)}return t}function Ya(g){for(var A=1;A<arguments.length;A++){var t,e=null!=arguments[A]?arguments[A]:{};if(A%2)RC(t=Va(Object(e),!0)).call(t,(function(A){Me(g,A,e[A])}));else if(xe)Ee(g,xe(e));else{var C;RC(C=Va(Object(e))).call(C,(function(A){Te(g,A,we(e,A))}))}}return g}function Wa(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var Qa=function(g){Is(t,g);var A=Wa(t);function t(g,e,C,I){var i;return De(this,t),(i=A.call(this,g,e,C,I)).ctxRenderer=I,i}return Pe(t,[{key:"draw",value:function(g,A,t,e,C,I){this.resize(g,e,C,I),this.left=A-this.width/2,this.top=t-this.height/2,g.save();var i=this.ctxRenderer({ctx:g,id:this.options.id,x:A,y:t,state:{selected:e,hover:C},style:Ya({},I),label:this.options.label});if(null!=i.drawNode&&i.drawNode(),g.restore(),i.drawExternalLabel){var o=i.drawExternalLabel;i.drawExternalLabel=function(){g.save(),o(),g.restore()}}return i.nodeDimensions&&(this.customSizeWidth=i.nodeDimensions.width,this.customSizeHeight=i.nodeDimensions.height),i}},{key:"distanceToBorder",value:function(g,A){return this._distanceToBorder(g,A)}}]),t}(ja);function Ua(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var _a=function(g){Is(t,g);var A=Ua(t);function t(g,e,C){var I;return De(this,t),(I=A.call(this,g,e,C))._setMargins(C),I}return Pe(t,[{key:"resize",value:function(g,A,t){if(this.needsRefresh(A,t)){var e=this.getDimensionsFromLabel(g,A,t).width+this.margin.right+this.margin.left;this.width=e,this.height=e,this.radius=this.width/2}}},{key:"draw",value:function(g,A,t,e,C,I){this.resize(g,e,C),this.left=A-this.width/2,this.top=t-this.height/2,this.initContextForDraw(g,I),bg(g,A-this.width/2,t-this.height/2,this.width,this.height),this.performFill(g,I),this.updateBoundingBox(A,t,g,e,C),this.labelModule.draw(g,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,e,C)}},{key:"distanceToBorder",value:function(g,A){return this._distanceToBorder(g,A)}}]),t}(Ra);function Ha(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var Ka=function(g){Is(t,g);var A=Ha(t);function t(g,e,C){return De(this,t),A.call(this,g,e,C)}return Pe(t,[{key:"draw",value:function(g,A,t,e,C,I){return this._drawShape(g,"diamond",4,A,t,e,C,I)}},{key:"distanceToBorder",value:function(g,A){return this._distanceToBorder(g,A)}}]),t}(ja);function Xa(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var Ja=function(g){Is(t,g);var A=Xa(t);function t(g,e,C){return De(this,t),A.call(this,g,e,C)}return Pe(t,[{key:"draw",value:function(g,A,t,e,C,I){return this._drawShape(g,"circle",2,A,t,e,C,I)}},{key:"distanceToBorder",value:function(g){return g&&this.resize(g),this.options.size}}]),t}(ja);function qa(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var $a=function(g){Is(t,g);var A=qa(t);function t(g,e,C){return De(this,t),A.call(this,g,e,C)}return Pe(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 e=this.getDimensionsFromLabel(g,A,t);this.height=2*e.height,this.width=e.width+e.height,this.radius=.5*this.width}}},{key:"draw",value:function(g,A,t,e,C,I){this.resize(g,e,C),this.left=A-.5*this.width,this.top=t-.5*this.height,this.initContextForDraw(g,I),mg(g,this.left,this.top,this.width,this.height),this.performFill(g,I),this.updateBoundingBox(A,t,g,e,C),this.labelModule.draw(g,A,t,e,C)}},{key:"distanceToBorder",value:function(g,A){g&&this.resize(g);var t=.5*this.width,e=.5*this.height,C=Math.sin(A)*t,I=Math.cos(A)*e;return t*e/Math.sqrt(C*C+I*I)}}]),t}(Ra);function gd(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var Ad=function(g){Is(t,g);var A=gd(t);function t(g,e,C){var I;return De(this,t),(I=A.call(this,g,e,C))._setMargins(C),I}return Pe(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,e,C,I){var i=this;return this.resize(g,e,C),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,e,C,I),{drawExternalLabel:function(){if(void 0!==i.options.label){i.labelModule.draw(g,i.left+i.iconSize.width/2+i.margin.left,t+i.height/2+5,e)}i.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,e,C,I){var i=Number(this.options.icon.size);void 0!==this.options.icon.code?(g.font=[null!=this.options.icon.weight?this.options.icon.weight:e?"bold":"",(null!=this.options.icon.weight&&e?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,I),g.fillText(this.options.icon.code,A,t),this.disableShadow(g,I)):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}(Ra);function td(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var ed=function(g){Is(t,g);var A=td(t);function t(g,e,C,I,i){var o;return De(this,t),(o=A.call(this,g,e,C)).setImages(I,i),o}return Pe(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,e=void 0===this.imageObj.src||void 0===this.imageObj.width||void 0===this.imageObj.height;if(e){var C=2*this.options.size;return this.width=C,void(this.height=C)}this.needsRefresh(A,t)&&this._resizeImage()}},{key:"draw",value:function(g,A,t,e,C,I){g.save(),this.switchImages(e),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=(e?r:n)/this.body.view.scale;g.lineWidth=Math.min(this.width,s),g.beginPath();var a=e?this.options.color.highlight.border:C?this.options.color.hover.border:this.options.color.border,d=e?this.options.color.highlight.background:C?this.options.color.hover.background:this.options.color.background;void 0!==I.opacity&&(a=hn(a,I.opacity),d=hn(d,I.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),_I(g).call(g),this.performStroke(g,I),g.closePath()}this._drawImageAtPosition(g,I),this._drawImageLabel(g,i,o,e,C),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}(za);function Cd(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var Id=function(g){Is(t,g);var A=Cd(t);function t(g,e,C){return De(this,t),A.call(this,g,e,C)}return Pe(t,[{key:"draw",value:function(g,A,t,e,C,I){return this._drawShape(g,"square",2,A,t,e,C,I)}},{key:"distanceToBorder",value:function(g,A){return this._distanceToBorder(g,A)}}]),t}(ja);function id(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var od=function(g){Is(t,g);var A=id(t);function t(g,e,C){return De(this,t),A.call(this,g,e,C)}return Pe(t,[{key:"draw",value:function(g,A,t,e,C,I){return this._drawShape(g,"hexagon",4,A,t,e,C,I)}},{key:"distanceToBorder",value:function(g,A){return this._distanceToBorder(g,A)}}]),t}(ja);function nd(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var rd=function(g){Is(t,g);var A=nd(t);function t(g,e,C){return De(this,t),A.call(this,g,e,C)}return Pe(t,[{key:"draw",value:function(g,A,t,e,C,I){return this._drawShape(g,"star",4,A,t,e,C,I)}},{key:"distanceToBorder",value:function(g,A){return this._distanceToBorder(g,A)}}]),t}(ja);function sd(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var ad=function(g){Is(t,g);var A=sd(t);function t(g,e,C){var I;return De(this,t),(I=A.call(this,g,e,C))._setMargins(C),I}return Pe(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,e,C,I){this.resize(g,e,C),this.left=A-this.width/2,this.top=t-this.height/2,this.enableShadow(g,I),this.labelModule.draw(g,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,e,C),this.disableShadow(g,I),this.updateBoundingBox(A,t,g,e,C)}},{key:"distanceToBorder",value:function(g,A){return this._distanceToBorder(g,A)}}]),t}(Ra);function dd(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var hd=function(g){Is(t,g);var A=dd(t);function t(g,e,C){return De(this,t),A.call(this,g,e,C)}return Pe(t,[{key:"draw",value:function(g,A,t,e,C,I){return this._drawShape(g,"triangle",3,A,t,e,C,I)}},{key:"distanceToBorder",value:function(g,A){return this._distanceToBorder(g,A)}}]),t}(ja);function ld(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var cd=function(g){Is(t,g);var A=ld(t);function t(g,e,C){return De(this,t),A.call(this,g,e,C)}return Pe(t,[{key:"draw",value:function(g,A,t,e,C,I){return this._drawShape(g,"triangleDown",3,A,t,e,C,I)}},{key:"distanceToBorder",value:function(g,A){return this._distanceToBorder(g,A)}}]),t}(ja);function ud(g,A){var t=wC(g);if(ve){var e=ve(g);A&&(e=oI(e).call(e,(function(A){return we(g,A).enumerable}))),t.push.apply(t,e)}return t}function pd(g){for(var A=1;A<arguments.length;A++){var t,e=null!=arguments[A]?arguments[A]:{};if(A%2)RC(t=ud(Object(e),!0)).call(t,(function(A){Me(g,A,e[A])}));else if(xe)Ee(g,xe(e));else{var C;RC(C=ud(Object(e))).call(C,(function(A){Te(g,A,we(e,A))}))}}return g}var fd=function(){function g(A,t,e,C,I,i){De(this,g),this.options=bn(I),this.globalOptions=I,this.defaultOptions=i,this.body=t,this.edges=[],this.id=void 0,this.imagelist=e,this.grouplist=C,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 Na(this.body,this.options,!1),this.setOptions(A)}return Pe(g,[{key:"attachEdge",value:function(g){var A;-1===DI(A=this.edges).call(A,g)&&this.edges.push(g)}},{key:"detachEdge",value:function(g){var A,t,e=DI(A=this.edges).call(A,g);-1!=e&&WC(t=this.edges).call(t,e,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=mI(A.x),this.predefinedPosition=!0)),void 0!==A.y&&(null===A.y?(this.y=void 0,this.predefinedPosition=!1):(this.y=mI(A.y),this.predefinedPosition=!0)),void 0!==A.size&&(this.baseSize=A.size),void 0!==A.value&&(A.value=ua(A.value)),g.parseOptions(this.options,A,!0,this.globalOptions,this.grouplist);var e=[A,this.options,this.defaultOptions];return this.chooser=ma("node",e),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?(null!=this.options.borderWidthSelected?g.borderWidth=this.options.borderWidthSelected: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=hn(g.borderColor,A),g.color=hn(g.color,A),g.shadowColor=hn(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,pd(pd({},A),{},{color:A&&A.color||this._localColor||void 0}),this.grouplist);var t=this.grouplist.get(this.options.group,!1),e=[A,this.options,t,this.globalOptions,this.defaultOptions];this.labelModule.update(this.options,e),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 Ma(this.options,this.body,this.labelModule);break;case"circle":this.shape=new Sa(this.options,this.body,this.labelModule);break;case"circularImage":this.shape=new Ga(this.options,this.body,this.labelModule,this.imageObj,this.imageObjAlt);break;case"custom":this.shape=new Qa(this.options,this.body,this.labelModule,this.options.ctxRenderer);break;case"database":this.shape=new _a(this.options,this.body,this.labelModule);break;case"diamond":this.shape=new Ka(this.options,this.body,this.labelModule);break;case"dot":this.shape=new Ja(this.options,this.body,this.labelModule);break;case"ellipse":this.shape=new $a(this.options,this.body,this.labelModule);break;case"icon":this.shape=new Ad(this.options,this.body,this.labelModule);break;case"image":this.shape=new ed(this.options,this.body,this.labelModule,this.imageObj,this.imageObjAlt);break;case"square":this.shape=new Id(this.options,this.body,this.labelModule);break;case"hexagon":this.shape=new od(this.options,this.body,this.labelModule);break;case"star":this.shape=new rd(this.options,this.body,this.labelModule);break;case"text":this.shape=new ad(this.options,this.body,this.labelModule);break;case"triangle":this.shape=new hd(this.options,this.body,this.labelModule);break;case"triangleDown":this.shape=new cd(this.options,this.body,this.labelModule);break;default:this.shape=new $a(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 e=this.options.scaling.customScalingFunction(g,A,t,this.options.value),C=this.options.scaling.max-this.options.scaling.min;if(!0===this.options.scaling.label.enabled){var I=this.options.scaling.label.max-this.options.scaling.label.min;this.options.font.size=this.options.scaling.label.min+e*I}this.options.size=this.options.scaling.min+e*C}else this.options.size=this.baseSize,this.options.font.size=this.baseFontSize;this.updateLabelModule()}},{key:"draw",value:function(g){var A=this.getFormattingValues();return 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()&&ba(this.labelModule.getSize(),g)&&A.push({nodeId:this.id,labelId:0}),ba(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,e){var C;if(void 0!==e){var I=A.group;if(void 0!==t&&void 0!==t.group&&I!==t.group)throw new Error("updateGroupOptions: group values in options don't match.");if("number"==typeof I||"string"==typeof I&&""!=I){var i=e.get(I);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=oI(C=ya(t)).call(C,(function(g){return null!=t[g]}));o.push("font"),In(o,A,i),A.color=cn(A.color)}}}},{key:"parseOptions",value:function(A,t){var e=arguments.length>2&&void 0!==arguments[2]&&arguments[2],C=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},I=arguments.length>4?arguments[4]:void 0,i=["color","fixed","shadow"];if(In(i,A,t,e),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),wn(A,t,"shadow",C),void 0!==t.color&&null!==t.color){var o=cn(t.color);en(A.color,o)}else!0===e&&null===t.color&&(A.color=bn(C.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===e&&null===t.font&&(A.font=bn(C.font)),g.updateGroupOptions(A,t,I),void 0!==t.scaling&&wn(A.scaling,t.scaling,"label",C.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.error("%cNegative or zero mass disallowed"+t+", setting mass to 1.",Zn),g.mass=1}}}]),g}();function vd(g,A){var t;if(void 0===sC||null==Et(g)){if(uC(g)||(t=function(g,A){var t;if(!g)return;if("string"==typeof g)return yd(g,A);var e=lC(t=Object.prototype.toString.call(g)).call(t,8,-1);"Object"===e&&g.constructor&&(e=g.constructor.name);if("Map"===e||"Set"===e)return ft(g);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return yd(g,A)}(g))||A&&g&&"number"==typeof g.length){t&&(g=t);var e=0,C=function(){};return{s:C,n:function(){return e>=g.length?{done:!0}:{done:!1,value:g[e++]}},e:function(g){throw g},f:C}}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 I,i=!0,o=!1;return{s:function(){t=Ot(g)},n:function(){var g=t.next();return i=g.done,g},e:function(g){o=!0,I=g},f:function(){try{i||null==t.return||t.return()}finally{if(o)throw I}}}}function yd(g,A){(null==A||A>g.length)&&(A=g.length);for(var t=0,e=new Array(A);t<A;t++)e[t]=g[t];return e}var md=function(){function g(A,t,e,C){var I,i=this;if(De(this,g),this.body=A,this.images=t,this.groups=e,this.layoutEngine=C,this.body.functions.createNode=fg(I=this.create).call(I,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:void 0,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,e){if(A===g)return.5;var C=1/(A-g);return Math.max(0,(e-g)*C)}},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=bn(this.defaultOptions),this.bindEventListeners()}return Pe(g,[{key:"bindEventListeners",value:function(){var g,A,t=this;this.body.emitter.on("refreshNodes",fg(g=this.refresh).call(g,this)),this.body.emitter.on("refresh",fg(A=this.refresh).call(A,this)),this.body.emitter.on("destroy",(function(){an(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(fd.parseOptions(this.options,g),void 0!==g.opacity&&(jr(g.opacity)||!Wr(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,e=wC(this.body.nodes);t<e.length;t++){var C=e[t];this.body.nodes[C].updateLabelModule(),this.body.nodes[C].needsRefresh()}if(void 0!==g.size)for(var I in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,I)&&this.body.nodes[I].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(aa("id",g))this.body.data.nodes=g;else if(uC(g))this.body.data.nodes=new na,this.body.data.nodes.add(g);else{if(g)throw new TypeError("Array or DataSet expected");this.body.data.nodes=new na}if(t&&an(this.nodesListeners,(function(g,A){t.off(A,g)})),this.body.nodes={},this.body.data.nodes){var e=this;an(this.nodesListeners,(function(g,A){e.body.data.nodes.on(A,g)}));var C=this.body.data.nodes.getIds();this.add(C,!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],e=[],C=0;C<g.length;C++){A=g[C];var I=this.body.data.nodes.get(A),i=this.create(I);e.push(i),this.body.nodes[A]=i}this.layoutEngine.positionInitially(e),!1===t&&this.body.emitter.emit("_dataChanged")}},{key:"update",value:function(g,A,t){for(var e=this.body.nodes,C=!1,I=0;I<g.length;I++){var i=g[I],o=e[i],n=A[I];void 0!==o?o.setOptions(n)&&(C=!0):(C=!0,o=this.create(n),e[i]=o)}C||void 0===t||(C=Kr(A).call(A,(function(g,A){var e=t[A];return e&&e.level!==g.level}))),!0===C?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]:fd;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];an(this.body.nodes,(function(t,e){var C=g.body.data.nodes.get(e);void 0!==C&&(!0===A&&t.setOptions({x:null,y:null}),t.setOptions({fixed:!1}),t.setOptions(C))}))}},{key:"getPositions",value:function(g){var A={};if(void 0!==g){if(!0===uC(g)){for(var t=0;t<g.length;t++)if(void 0!==this.body.nodes[g[t]]){var e=this.body.nodes[g[t]];A[g[t]]={x:Math.round(e.x),y:Math.round(e.y)}}}else if(void 0!==this.body.nodes[g]){var C=this.body.nodes[g];A[g]={x:Math.round(C.x),y:Math.round(C.y)}}}else for(var I=0;I<this.body.nodeIndices.length;I++){var i=this.body.nodes[this.body.nodeIndices[I]];A[this.body.nodeIndices[I]]={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(),e=vd(t.get());try{for(e.s();!(g=e.n()).done;){var C=g.value,I=C.id,i=this.body.nodes[I],o=Math.round(i.x),n=Math.round(i.y);C.x===o&&C.y===n||A.push({id:I,x:o,y:n})}}catch(g){e.e(g)}finally{e.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 e=this.body.nodes[g],C={},I=0;I<e.edges.length;I++){var i=e.edges[I];"to"!==A&&i.toId==e.id?void 0===C[i.fromId]&&(t.push(i.fromId),C[i.fromId]=!0):"from"!==A&&i.fromId==e.id&&void 0===C[i.toId]&&(t.push(i.toId),C[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],e=0;e<t.edges.length;e++)A.push(t.edges[e].id);else console.error("NodeId provided for getConnectedEdges does not exist. Provided: ",g);return A}},{key:"moveNode",value:function(g,A,t){var e=this;void 0!==this.body.nodes[g]?(this.body.nodes[g].x=Number(A),this.body.nodes[g].y=Number(t),WI((function(){e.body.emitter.emit("startSimulation")}),0)):console.error("Node id supplied to moveNode does not exist. Provided: ",g)}}]),g}();Y({target:"Reflect",stat:!0},{get:function g(A,t){var e,C,I=arguments.length<3?A:arguments[2];return S(A)===I?A[t]:(e=E.f(A,t))?y(e,"value")?e.value:void 0===e.get?void 0:e.get.call(I):p(C=tA(A))?g(C,t,I):void 0}});var bd=B.Reflect.get,wd=be;function kd(g,A,t){return(kd="undefined"!=typeof Reflect&&bd?bd:function(g,A,t){var e=function(g,A){for(;!Object.prototype.hasOwnProperty.call(g,A)&&null!==(g=ns(g)););return g}(g,A);if(e){var C=wd(e,A);return C.get?C.get.call(t):C.value}})(g,A,t||g)}var xd=Math.hypot,Ed=Math.abs,Od=Math.sqrt,Td=!!xd&&xd(1/0,NaN)!==1/0;Y({target:"Math",stat:!0,forced:Td},{hypot:function(g,A){for(var t,e,C=0,I=0,i=arguments.length,o=0;I<i;)o<(t=Ed(arguments[I++]))?(C=C*(e=o/t)*e+1,o=t):C+=t>0?(e=t/o)*e:t;return o===1/0?1/0:o*Od(C)}});var Dd=B.Math.hypot;function Nd(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var Rd=function(){function g(){De(this,g)}return Pe(g,null,[{key:"transform",value:function(g,A){uC(g)||(g=[g]);for(var t=A.point.x,e=A.point.y,C=A.angle,I=A.length,i=0;i<g.length;++i){var o=g[i],n=o.x*Math.cos(C)-o.y*Math.sin(C),r=o.x*Math.sin(C)+o.y*Math.cos(C);o.x=t+I*n,o.y=e+I*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}(),Pd=function(g){Is(t,g);var A=Nd(t);function t(){return De(this,t),A.apply(this,arguments)}return Pe(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,e=null!=A.imageHeight?A.imageHeight:A.image.height;A.image.drawImageAtPosition(g,1,-t/2,0,t,e),g.restore()}return!1}}]),t}(Rd),Md=function(g){Is(t,g);var A=Nd(t);function t(){return De(this,t),A.apply(this,arguments)}return Pe(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 Rd.transform(t,A),Rd.drawPath(g,t),!0}}]),t}(Rd),Bd=function(){function g(){De(this,g)}return Pe(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 Rd.transform(t,A),Rd.drawPath(g,t),!0}}]),g}(),zd=function(){function g(){De(this,g)}return Pe(g,null,[{key:"draw",value:function(g,A){var t={x:-.4,y:0};Rd.transform(t,A),g.strokeStyle=g.fillStyle,g.fillStyle="rgba(0, 0, 0, 0)";var e=Math.PI,C=A.angle-e/2,I=A.angle+e/2;return g.beginPath(),g.arc(t.x,t.y,.4*A.length,C,I,!1),g.stroke(),!0}}]),g}(),Zd=function(){function g(){De(this,g)}return Pe(g,null,[{key:"draw",value:function(g,A){var t={x:-.3,y:0};Rd.transform(t,A),g.strokeStyle=g.fillStyle,g.fillStyle="rgba(0, 0, 0, 0)";var e=Math.PI,C=A.angle+e/2,I=A.angle+3*e/2;return g.beginPath(),g.arc(t.x,t.y,.4*A.length,C,I,!1),g.stroke(),!0}}]),g}(),Sd=function(){function g(){De(this,g)}return Pe(g,null,[{key:"draw",value:function(g,A){var t=[{x:.02,y:0},{x:-1,y:.3},{x:-1,y:-.3}];return Rd.transform(t,A),Rd.drawPath(g,t),!0}}]),g}(),Fd=function(){function g(){De(this,g)}return Pe(g,null,[{key:"draw",value:function(g,A){var t=[{x:0,y:.3},{x:0,y:-.3},{x:-1,y:0}];return Rd.transform(t,A),Rd.drawPath(g,t),!0}}]),g}(),Gd=function(){function g(){De(this,g)}return Pe(g,null,[{key:"draw",value:function(g,A){var t={x:-.4,y:0};return Rd.transform(t,A),vg(g,t.x,t.y,.4*A.length),!0}}]),g}(),Ld=function(){function g(){De(this,g)}return Pe(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 Rd.transform(t,A),Rd.drawPath(g,t),!0}}]),g}(),jd=function(){function g(){De(this,g)}return Pe(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 Rd.transform(t,A),Rd.drawPath(g,t),!0}}]),g}(),Vd=function(){function g(){De(this,g)}return Pe(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 Rd.transform(t,A),Rd.drawPath(g,t),!0}}]),g}(),Yd=function(){function g(){De(this,g)}return Pe(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 Rd.transform(t,A),Rd.drawPath(g,t),!0}}]),g}(),Wd=function(){function g(){De(this,g)}return Pe(g,null,[{key:"draw",value:function(g,A){var t;switch(A.type&&(t=A.type.toLowerCase()),t){case"image":return Pd.draw(g,A);case"circle":return Gd.draw(g,A);case"box":return jd.draw(g,A);case"crow":return Bd.draw(g,A);case"curve":return zd.draw(g,A);case"diamond":return Vd.draw(g,A);case"inv_curve":return Zd.draw(g,A);case"triangle":return Sd.draw(g,A);case"inv_triangle":return Fd.draw(g,A);case"bar":return Ld.draw(g,A);case"vee":return Yd.draw(g,A);case"arrow":default:return Md.draw(g,A)}}}]),g}();function Qd(g,A){var t=wC(g);if(ve){var e=ve(g);A&&(e=oI(e).call(e,(function(A){return we(g,A).enumerable}))),t.push.apply(t,e)}return t}function Ud(g){for(var A=1;A<arguments.length;A++){var t,e=null!=arguments[A]?arguments[A]:{};if(A%2)RC(t=Qd(Object(e),!0)).call(t,(function(A){Me(g,A,e[A])}));else if(xe)Ee(g,xe(e));else{var C;RC(C=Qd(Object(e))).call(C,(function(A){Te(g,A,we(e,A))}))}}return g}var _d=function(){function g(A,t,e){De(this,g),this._body=t,this._labelModule=e,this.color={},this.colorDirty=!0,this.hoverWidth=1.5,this.selectionWidth=2,this.setOptions(A),this.fromPoint=this.from,this.toPoint=this.to}return Pe(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,e){var C=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._drawdashesLine(g,A,C):this._drawLine(g,A,C)}},{key:"_drawLine",value:function(g,A,t,e,C){if(this.from!=this.to)this._line(g,A,t,e,C);else{var I=IC(this._getCircleData(g),3),i=I[0],o=I[1],n=I[2];this._circle(g,A,i,o,n)}}},{key:"_drawdashesLine",value:function(g,A,t,e,C){g.lineCap="round";var I=uC(A.dashes)?A.dashes:[5,5];if(void 0!==g.setLineDash){if(g.save(),g.setLineDash(I),g.lineDashOffset=0,this.from!=this.to)this._line(g,A,t);else{var i=IC(this._getCircleData(g),3),o=i[0],n=i[1],r=i[2];this._circle(g,A,o,n,r)}g.setLineDash([0]),g.lineDashOffset=0,g.restore()}else{if(this.from!=this.to)wg(g,this.from.x,this.from.y,this.to.x,this.to.y,I);else{var s=IC(this._getCircleData(g),3),a=s[0],d=s[1],h=s[2];this._circle(g,A,a,d,h)}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=IC(lC(A=this._getCircleData(g)).call(A,0,2),2),e=t[0],C=t[1];return{from:this._findBorderPositionCircle(this.from,g,{x:e,y:C,low:.25,high:.6,direction:-1}),to:this._findBorderPositionCircle(this.from,g,{x:e,y:C,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=ka(g,this.options.selfReference.angle,A,this.from);return[t.x,t.y,A]}},{key:"_pointOnCircle",value:function(g,A,t,e){var C=2*e*Math.PI;return{x:g+t*Math.cos(C),y:A-t*Math.sin(C)}}},{key:"_findBorderPositionCircle",value:function(g,A,t){var e,C=t.x,I=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),e=this._pointOnCircle(C,I,r,s);var h=Math.atan2(g.y-e.y,g.x-e.x),l=g.distanceToBorder(A,h)+a-Math.sqrt(Math.pow(e.x-g.x,2)+Math.pow(e.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 Ud(Ud({},e),{},{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),e=this.from.options.color.highlight.border,C=this.to.options.color.highlight.border;return!1===this.from.selected&&!1===this.to.selected?(e=hn(this.from.options.color.border,A.opacity),C=hn(this.to.options.color.border,A.opacity)):!0===this.from.selected&&!1===this.to.selected?C=this.to.options.color.border:!1===this.from.selected&&!0===this.to.selected&&(e=this.from.options.color.border),t.addColorStop(0,e),t.addColorStop(1,C),t}return"to"===A.inheritsColor?hn(this.to.options.color.border,A.opacity):hn(this.from.options.color.border,A.opacity)}return hn(A.color,A.opacity)}},{key:"_circle",value:function(g,A,t,e,C){this.enableShadow(g,A);var I=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:e,low:o,high:n,direction:-1}),s=this._findBorderPositionCircle(this.from,g,{x:t,y:e,low:o,high:n,direction:1});I=Math.atan2(r.y-e,r.x-t),i=Math.atan2(s.y-e,s.x-t)}g.beginPath(),g.arc(t,e,C,I,i,!1),g.stroke(),this.disableShadow(g,A)}},{key:"getDistanceToEdge",value:function(g,A,t,e,C,I){if(this.from!=this.to)return this._getDistanceToEdge(g,A,t,e,C,I);var i=IC(this._getCircleData(void 0),3),o=i[0],n=i[1],r=i[2],s=o-C,a=n-I;return Math.abs(Math.sqrt(s*s+a*a)-r)}},{key:"_getDistanceToLine",value:function(g,A,t,e,C,I){var i=t-g,o=e-A,n=((C-g)*i+(I-A)*o)/(i*i+o*o);n>1?n=1:n<0&&(n=0);var r=g+n*i-C,s=A+n*o-I;return Math.sqrt(r*r+s*s)}},{key:"getArrowData",value:function(g,A,t,e,C,I){var i,o,n,r,s,a,d,h=I.width;"from"===A?(n=this.from,r=this.to,s=I.fromArrowScale<0,a=Math.abs(I.fromArrowScale),d=I.fromArrowType):"to"===A?(n=this.to,r=this.from,s=I.toArrowScale<0,a=Math.abs(I.toArrowScale),d=I.toArrowType):(n=this.to,r=this.from,s=I.middleArrowScale<0,a=Math.abs(I.middleArrowScale),d=I.middleArrowType);var l=15*a+3*h;if(n!=r){var c=l/Dd(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 f=(s?-c:c)/2,v=this.getPoint(.5+f,t),y=this.getPoint(.5-f,t);i=Math.atan2(v.y-y.y,v.x-y.x),o=this.getPoint(.5,t)}}else{var m=IC(this._getCircleData(g),3),b=m[0],w=m[1],k=m[2];if("from"===A){var x=this.options.selfReference.angle,E=this.options.selfReference.angle+Math.PI,O=this._findBorderPositionCircle(this.from,g,{x:b,y:w,low:x,high:E,direction:-1});i=-2*O.t*Math.PI+1.5*Math.PI+.1*Math.PI,o=O}else if("to"===A){var T=this.options.selfReference.angle,D=this.options.selfReference.angle+Math.PI,N=this._findBorderPositionCircle(this.from,g,{x:b,y:w,low:T,high:D,direction:1});i=-2*N.t*Math.PI+1.5*Math.PI-1.1*Math.PI,o=N}else{var R=this.options.selfReference.angle/(2*Math.PI);o=this._pointOnCircle(b,w,k,R),i=-2*R*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,e,C){g.strokeStyle=this.getColor(g,A),g.fillStyle=g.strokeStyle,g.lineWidth=A.width,Wd.draw(g,C)&&(this.enableShadow(g,A),_I(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.setStrokedashes(g,A.backgroundDashes),g.stroke(),g.strokeStyle=t.strokeStyle,g.lineWidth=t.lineWidth,g.dashes=t.dashes,this.setStrokedashes(g,A.dashes)}}},{key:"setStrokedashes",value:function(g,A){if(!1!==A)if(void 0!==g.setLineDash){var t=uC(A)?A:[5,5];g.setLineDash(t)}else console.warn("setLineDash is not supported in this browser. The dashes stroke cannot be used.");else void 0!==g.setLineDash?g.setLineDash([]):console.warn("setLineDash is not supported in this browser. The dashes stroke cannot be used.")}}]),g}();function Hd(g,A){var t=wC(g);if(ve){var e=ve(g);A&&(e=oI(e).call(e,(function(A){return we(g,A).enumerable}))),t.push.apply(t,e)}return t}function Kd(g){for(var A=1;A<arguments.length;A++){var t,e=null!=arguments[A]?arguments[A]:{};if(A%2)RC(t=Hd(Object(e),!0)).call(t,(function(A){Me(g,A,e[A])}));else if(xe)Ee(g,xe(e));else{var C;RC(C=Hd(Object(e))).call(C,(function(A){Te(g,A,we(e,A))}))}}return g}function Xd(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var Jd=function(g){Is(t,g);var A=Xd(t);function t(g,e,C){return De(this,t),A.call(this,g,e,C)}return Pe(t,[{key:"_findBorderPositionBezier",value:function(g,A){var t,e,C=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this._getViaCoordinates(),I=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{e=.5*(r+n),t=this.getPoint(e,C);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=e:n=e:!1===o?n=e:r=e,++d}while(r<=n&&d<I);return Kd(Kd({},t),{},{t:e})}},{key:"_getDistanceToBezierEdge",value:function(g,A,t,e,C,I,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)*e,n>0&&(d=(o=this._getDistanceToLine(h,l,s,a,C,I))<d?o:d),h=s,l=a;return d}},{key:"_bezierCurve",value:function(g,A,t,e){g.beginPath(),g.moveTo(this.fromPoint.x,this.fromPoint.y),null!=t&&null!=t.x?null!=e&&null!=e.x?g.bezierCurveTo(t.x,t.y,e.x,e.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}(_d);function qd(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var $d=function(g){Is(t,g);var A=qd(t);function t(g,e,C){var I;return De(this,t),(I=A.call(this,g,e,C)).via=I.via,I._boundFunction=function(){I.positionBezierNode()},I._body.emitter.on("_repositionBezierNodes",I._boundFunction),I}return Pe(t,[{key:"setOptions",value:function(g){kd(ns(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(),e=IC(t,3),C=e[0],I=e[1],i=e[2],o=2*Math.PI*(1-g);return{x:C+i*Math.sin(o),y:I+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,e,C,I){return this._getDistanceToBezierEdge(g,A,t,e,C,I,this.via)}}]),t}(Jd);function gh(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var Ah=function(g){Is(t,g);var A=gh(t);function t(g,e,C){return De(this,t),A.call(this,g,e,C)}return Pe(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,e=this.options.smooth.type,C=Math.abs(this.from.x-this.to.x),I=Math.abs(this.from.y-this.to.y);if("discrete"===e||"diagonalCross"===e){var i,o;i=o=C<=I?t*I:t*C,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"===e&&(C<=I?n=C<t*I?this.from.x:n:r=I<t*C?this.from.y:r),{x:n,y:r}}if("straightCross"===e){var s=(1-t)*C,a=(1-t)*I;return C<=I?(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"===e){var d=(1-t)*C;return this.from.x<this.to.x&&(d=-d),{x:this.to.x+d,y:this.from.y}}if("vertical"===e){var h=(1-t)*I;return this.from.y<this.to.y&&(h=-h),{x:this.from.x,y:this.to.y+h}}if("curvedCW"===e){C=this.to.x-this.from.x,I=this.from.y-this.to.y;var l=Math.sqrt(C*C+I*I),c=Math.PI,u=(Math.atan2(I,C)+(.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"===e){C=this.to.x-this.from.x,I=this.from.y-this.to.y;var p=Math.sqrt(C*C+I*I),f=Math.PI,v=(Math.atan2(I,C)+(.5*-t+.5)*f)%(2*f);return{x:this.from.x+(.5*t+.5)*p*Math.sin(v),y:this.from.y+(.5*t+.5)*p*Math.cos(v)}}g=A=C<=I?t*I:t*C,this.from.x>this.to.x&&(g=-g),this.from.y>=this.to.y&&(A=-A);var y=this.from.x+g,m=this.from.y+A;return C<=I?y=this.from.x<=this.to.x?this.to.x<y?this.to.x:y:this.to.x>y?this.to.x:y:m=this.from.y>=this.to.y?this.to.y>m?this.to.y:m:this.to.y<m?this.to.y:m,{x:y,y:m}}},{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,e,C,I){var i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates();return this._getDistanceToBezierEdge(g,A,t,e,C,I,i)}},{key:"getPoint",value:function(g){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),t=g,e=Math.pow(1-t,2)*this.fromPoint.x+2*t*(1-t)*A.x+Math.pow(t,2)*this.toPoint.x,C=Math.pow(1-t,2)*this.fromPoint.y+2*t*(1-t)*A.y+Math.pow(t,2)*this.toPoint.y;return{x:e,y:C}}}]),t}(Jd);function th(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}function eh(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var Ch=function(g){Is(t,g);var A=eh(t);function t(g,e,C){return De(this,t),A.call(this,g,e,C)}return Pe(t,[{key:"_line",value:function(g,A,t){var e=t[0],C=t[1];this._bezierCurve(g,A,e,C)}},{key:"_getViaCoordinates",value:function(){var g,A,t,e,C=this.from.x-this.to.x,I=this.from.y-this.to.y,i=this.options.smooth.roundness;return(Math.abs(C)>Math.abs(I)||!0===this.options.smooth.forceDirection||"horizontal"===this.options.smooth.forceDirection)&&"vertical"!==this.options.smooth.forceDirection?(A=this.from.y,e=this.to.y,g=this.from.x-i*C,t=this.to.x+i*C):(A=this.from.y-i*I,e=this.to.y+i*I,g=this.from.x,t=this.to.x),[{x:g,y:A},{x:t,y:e}]}},{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,e,C,I){var i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates(),o=IC(i,2),n=o[0],r=o[1];return this._getDistanceToBezierEdge2(g,A,t,e,C,I,n,r)}},{key:"getPoint",value:function(g){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),t=IC(A,2),e=t[0],C=t[1],I=g,i=[Math.pow(1-I,3),3*I*Math.pow(1-I,2),3*Math.pow(I,2)*(1-I),Math.pow(I,3)],o=i[0]*this.fromPoint.x+i[1]*e.x+i[2]*C.x+i[3]*this.toPoint.x,n=i[0]*this.fromPoint.y+i[1]*e.y+i[2]*C.y+i[3]*this.toPoint.y;return{x:o,y:n}}}]),t}(function(g){Is(t,g);var A=th(t);function t(g,e,C){return De(this,t),A.call(this,g,e,C)}return Pe(t,[{key:"_getDistanceToBezierEdge2",value:function(g,A,t,e,C,I,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]*e;if(d>0){var u=this._getDistanceToLine(r,s,l,c,C,I);n=u<n?u:n}r=l,s=c}return n}}]),t}(Jd));function Ih(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var ih=function(g){Is(t,g);var A=Ih(t);function t(g,e,C){return De(this,t),A.call(this,g,e,C)}return Pe(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,e=this.from;g.id===this.from.id&&(t=this.from,e=this.to);var C=Math.atan2(t.y-e.y,t.x-e.x),I=t.x-e.x,i=t.y-e.y,o=Math.sqrt(I*I+i*i),n=(o-g.distanceToBorder(A,C))/o;return{x:(1-n)*e.x+n*t.x,y:(1-n)*e.y+n*t.y,t:0}}},{key:"_getDistanceToEdge",value:function(g,A,t,e,C,I){return this._getDistanceToLine(g,A,t,e,C,I)}}]),t}(_d),oh=function(){function g(A,t,e,C,I){if(De(this,g),void 0===t)throw new Error("No body provided");this.options=bn(C),this.globalOptions=C,this.defaultOptions=I,this.body=t,this.imagelist=e,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 Na(this.body,this.options,!0),this.setOptions(A)}return Pe(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=ua(A.value));var e=[A,this.options,this.defaultOptions];return this.chooser=ma("edge",e),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,e=this.options.color.inherit,C={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:e?void 0:this.options.color.color,inheritsColor:e,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 I=this.options.selectionWidth;"function"==typeof I?C.width=I(C.width):"number"==typeof I&&(C.width+=I),C.width=Math.max(C.width,.3/this.body.view.scale),C.color=this.options.color.highlight,C.shadow=this.options.shadow.enabled}else if(this.hover){var i=this.options.hoverWidth;"function"==typeof i?C.width=i(C.width):"number"==typeof i&&(C.width+=i),C.width=Math.max(C.width,.3/this.body.view.scale),C.color=this.options.color.hover,C.shadow=this.options.shadow.enabled}}else"function"==typeof this.chooser&&(this.chooser(C,this.options.id,this.selected,this.hover),void 0!==C.color&&(C.inheritsColor=!1),!1===C.shadow&&(C.shadowColor===this.options.shadow.color&&C.shadowSize===this.options.shadow.size&&C.shadowX===this.options.shadow.x&&C.shadowY===this.options.shadow.y||(C.shadow=!0)));else C.shadow=this.options.shadow.enabled,C.width=Math.max(C.width,.3/this.body.view.scale);return C}},{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 $d&&!0===g.enabled&&"dynamic"===g.type||this.edgeType instanceof Ch&&!0===g.enabled&&"cubicBezier"===g.type||this.edgeType instanceof Ah&&!0===g.enabled&&"dynamic"!==g.type&&"cubicBezier"!==g.type||this.edgeType instanceof ih&&!1===g.type.enabled)&&(t=!1),!0===t&&(A=this.cleanup())),!0===t?!0===g.enabled?"dynamic"===g.type?(A=!0,this.edgeType=new $d(this.options,this.body,this.labelModule)):"cubicBezier"===g.type?this.edgeType=new Ch(this.options,this.body,this.labelModule):this.edgeType=new Ah(this.options,this.body,this.labelModule):this.edgeType=new ih(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 e=this.options.scaling.customScalingFunction(g,A,t,this.options.value),C=this.options.scaling.max-this.options.scaling.min;if(!0===this.options.scaling.label.enabled){var I=this.options.scaling.label.max-this.options.scaling.label.min;this.options.font.size=this.options.scaling.label.min+e*I}this.options.width=this.options.scaling.min+e*C}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(),e={};this.edgeType.fromPoint=this.edgeType.from,this.edgeType.toPoint=this.edgeType.to,A.fromArrow&&(e.from=this.edgeType.getArrowData(g,"from",t,this.selected,this.hover,A),!1===A.arrowStrikethrough&&(this.edgeType.fromPoint=e.from.core),A.fromArrowSrc&&(e.from.image=this.imagelist.load(A.fromArrowSrc)),A.fromArrowImageWidth&&(e.from.imageWidth=A.fromArrowImageWidth),A.fromArrowImageHeight&&(e.from.imageHeight=A.fromArrowImageHeight)),A.toArrow&&(e.to=this.edgeType.getArrowData(g,"to",t,this.selected,this.hover,A),!1===A.arrowStrikethrough&&(this.edgeType.toPoint=e.to.core),A.toArrowSrc&&(e.to.image=this.imagelist.load(A.toArrowSrc)),A.toArrowImageWidth&&(e.to.imageWidth=A.toArrowImageWidth),A.toArrowImageHeight&&(e.to.imageHeight=A.toArrowImageHeight)),A.middleArrow&&(e.middle=this.edgeType.getArrowData(g,"middle",t,this.selected,this.hover,A),A.middleArrowSrc&&(e.middle.image=this.imagelist.load(A.middleArrowSrc)),A.middleArrowImageWidth&&(e.middle.imageWidth=A.middleArrowImageWidth),A.middleArrowImageHeight&&(e.middle.imageHeight=A.middleArrowImageHeight)),A.fromArrow&&this.edgeType.drawArrowHead(g,A,this.selected,this.hover,e.from),A.middleArrow&&this.edgeType.drawArrowHead(g,A,this.selected,this.hover,e.middle),A.toArrow&&this.edgeType.drawArrowHead(g,A,this.selected,this.hover,e.to)}}},{key:"drawLabel",value:function(g,A){if(void 0!==this.options.label){var t,e=this.from,C=this.to;if(this.labelModule.differentState(this.selected,this.hover)&&this.labelModule.getTextSize(g,this.selected,this.hover),e.id!=C.id){this.labelModule.pointToSelf=!1,t=this.edgeType.getPoint(.5,A),g.save();var I=this._getRotation(g);0!=I.angle&&(g.translate(I.x,I.y),g.rotate(I.angle)),this.labelModule.draw(g,t.x,t.y,this.selected,this.hover),g.restore()}else{this.labelModule.pointToSelf=!0;var i=ka(g,this.options.selfReference.angle,this.options.selfReference.size,e);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();ba(this.labelModule.getSize(),g,t)&&A.push({edgeId:this.id,labelId:0})}var e={left:g.x,top:g.y};return this.isOverlappingWith(e)&&A.push({edgeId:this.id}),A}},{key:"isOverlappingWith",value:function(g){if(this.connected){var A=this.from.x,t=this.from.y,e=this.to.x,C=this.to.y,I=g.left,i=g.top;return this.edgeType.getDistanceToEdge(A,t,e,C,I,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 e={x:t.x,y:this.labelModule.size.yLine,angle:0};if(!this.labelModule.visible())return e;if("horizontal"===this.options.font.align)return e;var C=this.from.y-this.to.y,I=this.from.x-this.to.x,i=Math.atan2(C,I);return(i<-1&&I<0||i>0&&I<0)&&(i+=Math.PI),e.angle=i,e}},{key:"_pointOnCircle",value:function(g,A,t,e){return{x:g+t*Math.cos(e),y:A-t*Math.sin(e)}}},{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],e=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},C=arguments.length>4&&void 0!==arguments[4]&&arguments[4],I=["endPointOffset","arrowStrikethrough","id","from","hidden","hoverWidth","labelHighlightBold","length","line","opacity","physics","scaling","selectionWidth","selfReferenceSize","selfReference","to","title","value","width","font","chosen","widthConstraint"];if(Cn(I,g,A,t),void 0!==A.endPointOffset&&void 0!==A.endPointOffset.from&&(Wr(A.endPointOffset.from)?g.endPointOffset.from=A.endPointOffset.from:(g.endPointOffset.from=void 0!==e.endPointOffset.from?e.endPointOffset.from:0,console.error("endPointOffset.from is not a valid number"))),void 0!==A.endPointOffset&&void 0!==A.endPointOffset.to&&(Wr(A.endPointOffset.to)?g.endPointOffset.to=A.endPointOffset.to:(g.endPointOffset.to=void 0!==e.endPointOffset.to?e.endPointOffset.to:0,console.error("endPointOffset.to is not a valid number"))),wa(A.label)?g.label=A.label:wa(g.label)||(g.label=void 0),wn(g,A,"smooth",e),wn(g,A,"shadow",e),wn(g,A,"background",e),void 0!==A.dashes&&null!==A.dashes?g.dashes=A.dashes:!0===t&&null===A.dashes&&(g.dashes=MI(e.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),wn(g.scaling,A.scaling,"label",e.scaling)):!0===t&&null===A.scaling&&(g.scaling=MI(e.scaling)),void 0!==A.arrows&&null!==A.arrows)if("string"==typeof A.arrows){var i=A.arrows.toLowerCase();g.arrows.to.enabled=-1!=DI(i).call(i,"to"),g.arrows.middle.enabled=-1!=DI(i).call(i,"middle"),g.arrows.from.enabled=-1!=DI(i).call(i,"from")}else{if("object"!==nC(A.arrows))throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+LI(A.arrows));wn(g.arrows,A.arrows,"to",e.arrows),wn(g.arrows,A.arrows,"middle",e.arrows),wn(g.arrows,A.arrows,"from",e.arrows)}else!0===t&&null===A.arrows&&(g.arrows=MI(e.arrows));if(void 0!==A.color&&null!==A.color){var o=gn(A.color)?{color:A.color,highlight:A.color,hover:A.color,inherit:!1,opacity:1}:A.color,n=g.color;if(C)on(n,e.color,!1,t);else for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&delete n[r];if(gn(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=bn(e.color));!0===t&&null===A.font&&(g.font=bn(e.font)),Object.prototype.hasOwnProperty.call(A,"selfReferenceSize")&&(console.warn("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}(),nh=function(){function g(A,t,e){var C,I=this;De(this,g),this.body=A,this.images=t,this.groups=e,this.body.functions.createEdge=fg(C=this.create).call(C,this),this.edgesListeners={add:function(g,A){I.add(A.items)},update:function(g,A){I.update(A.items)},remove:function(g,A){I.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,e){if(A===g)return.5;var C=1/(A-g);return Math.max(0,(e-g)*C)}},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},on(this.options,this.defaultOptions),this.bindEventListeners()}return Pe(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 e=!1;for(var C in t.body.edges)if(Object.prototype.hasOwnProperty.call(t.body.edges,C)){var I=t.body.edges[C],i=t.body.data.edges.get(C);if(null!=i){var o=i.smooth;void 0!==o&&!0===o.enabled&&"dynamic"===o.type&&(void 0===g?I.setOptions({smooth:!1}):I.setOptions({smooth:{type:g}}),e=!0)}}!0===A&&!0===e&&t.body.emitter.emit("_dataChanged")})),this.body.emitter.on("_dataUpdated",(function(){t.reconnectEdges()})),this.body.emitter.on("refreshEdges",fg(g=this.refresh).call(g,this)),this.body.emitter.on("refresh",fg(A=this.refresh).call(A,this)),this.body.emitter.on("destroy",(function(){an(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){oh.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 e in this.body.edges)Object.prototype.hasOwnProperty.call(this.body.edges,e)&&this.body.edges[e].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],e=this.body.data.edges;if(aa("id",g))this.body.data.edges=g;else if(uC(g))this.body.data.edges=new na,this.body.data.edges.add(g);else{if(g)throw new TypeError("Array or DataSet expected");this.body.data.edges=new na}if(e&&an(this.edgesListeners,(function(g,A){e.off(A,g)})),this.body.edges={},this.body.data.edges){an(this.edgesListeners,(function(g,t){A.body.data.edges.on(t,g)}));var C=this.body.data.edges.getIds();this.add(C,!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,e=this.body.data.edges,C=0;C<g.length;C++){var I=g[C],i=t[I];i&&i.disconnect();var o=e.get(I,{showInternalIds:!0});t[I]=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,e=!1,C=0;C<g.length;C++){var I=g[C],i=t.get(I),o=A[I];void 0!==o?(o.disconnect(),e=o.setOptions(i)||e,o.connect()):(this.body.edges[I]=this.create(i),e=!0)}!0===e?(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;an(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;an(this.body.edges,(function(A,t){var e=g.body.data.edges.get(t);void 0!==e&&A.setOptions(e)}))}},{key:"create",value:function(g){return new oh(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 e=t[g];e.from=null,e.to=null,e.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=[];an(this.body.edges,(function(t,e){var C=g.body.nodes[t.toId],I=g.body.nodes[t.fromId];void 0!==C&&!0===C.isCluster||void 0!==I&&!0===I.isCluster||void 0!==C&&void 0!==I||A.push(e)})),this.remove(A,!1)}},{key:"_addMissingEdges",value:function(){var g=this.body.data.edges;if(null!=g){var A=this.body.edges,t=[];RC(g).call(g,(function(g,e){void 0===A[e]&&t.push(e)})),this.add(t,!0)}}}]),g}(),rh=function(){function g(A,t,e){De(this,g),this.body=A,this.physicsBody=t,this.barnesHutTree,this.setOptions(e),this._rng=Wo("BARNES HUT SOLVER")}return Pe(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,e=t.length,C=this._formBarnesHutTree(A,t);this.barnesHutTree=C;for(var I=0;I<e;I++)(g=A[t[I]]).options.mass>0&&this._getForceContributions(C.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,e=g.centerOfMass.y-A.y,C=Math.sqrt(t*t+e*e);C*g.calcSize>this.thetaInversed?this._calculateForces(C,t,e,A,g):4===g.childrenCount?this._getForceContributions(g,A):g.children.data.id!=A.id&&this._calculateForces(C,t,e,A,g)}}},{key:"_calculateForces",value:function(g,A,t,e,C){0===g&&(A=g=.1),this.overlapAvoidanceFactor<1&&e.shape.radius&&(g=Math.max(.1+this.overlapAvoidanceFactor*e.shape.radius,g-e.shape.radius));var I=this.options.gravitationalConstant*C.mass*e.options.mass/Math.pow(g,3),i=A*I,o=t*I;this.physicsBody.forces[e.id].x+=i,this.physicsBody.forces[e.id].y+=o}},{key:"_formBarnesHutTree",value:function(g,A){for(var t,e=A.length,C=g[A[0]].x,I=g[A[0]].y,i=g[A[0]].x,o=g[A[0]].y,n=1;n<e;n++){var r=g[A[n]],s=r.x,a=r.y;r.options.mass>0&&(s<C&&(C=s),s>i&&(i=s),a<I&&(I=a),a>o&&(o=a))}var d=Math.abs(i-C)-Math.abs(o-I);d>0?(I-=.5*d,o+=.5*d):(C+=.5*d,i-=.5*d);var h=Math.max(1e-5,Math.abs(i-C)),l=.5*h,c=.5*(C+i),u=.5*(I+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 f=0;f<e;f++)(t=g[A[f]]).options.mass>0&&this._placeInTree(p.root,t);return p}},{key:"_updateBranchMass",value:function(g,A){var t=g.centerOfMass,e=g.mass+A.options.mass,C=1/e;t.x=t.x*g.mass+A.x*A.options.mass,t.x*=C,t.y=t.y*g.mass+A.y*A.options.mass,t.y*=C,g.mass=e;var I=Math.max(Math.max(A.height,A.radius),A.width);g.maxWidth=g.maxWidth<I?I:g.maxWidth}},{key:"_placeInTree",value:function(g,A,t){1==t&&void 0!==t||this._updateBranchMass(g,A);var e,C=g.children.NW.range;e=C.maxX>A.x?C.maxY>A.y?"NW":"SW":C.maxY>A.y?"NE":"SE",this._placeInRegion(g,A,e)}},{key:"_placeInRegion",value:function(g,A,t){var e=g.children[t];switch(e.childrenCount){case 0:e.children.data=A,e.childrenCount=1,this._updateBranchMass(e,A);break;case 1:e.children.data.x===A.x&&e.children.data.y===A.y?(A.x+=this._rng(),A.y+=this._rng()):(this._splitBranch(e),this._placeInTree(e,A));break;case 4:this._placeInTree(e,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,e,C,I,i=.5*g.size;switch(A){case"NW":t=g.range.minX,e=g.range.minX+i,C=g.range.minY,I=g.range.minY+i;break;case"NE":t=g.range.minX+i,e=g.range.maxX,C=g.range.minY,I=g.range.minY+i;break;case"SW":t=g.range.minX,e=g.range.minX+i,C=g.range.minY+i,I=g.range.maxY;break;case"SE":t=g.range.minX+i,e=g.range.maxX,C=g.range.minY+i,I=g.range.maxY}g.children[A]={centerOfMass:{x:0,y:0},mass:0,range:{minX:t,maxX:e,minY:C,maxY:I},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}(),sh=function(){function g(A,t,e){De(this,g),this._rng=Wo("REPULSION SOLVER"),this.body=A,this.physicsBody=t,this.setOptions(e)}return Pe(g,[{key:"setOptions",value:function(g){this.options=g}},{key:"solve",value:function(){for(var g,A,t,e,C,I,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&&(I=t<.5*a?1:d*t+1.3333333333333333,e=g*(I/=t),C=A*I,s[i.id].x-=e,s[i.id].y-=C,s[o.id].x+=e,s[o.id].y+=C)}}}]),g}(),ah=function(){function g(A,t,e){De(this,g),this.body=A,this.physicsBody=t,this.setOptions(e)}return Pe(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,e=this.options.nodeDistance,C=0;C<A.length-1;C++)for(var I=g[A[C]],i=C+1;i<A.length;i++){var o=g[A[i]];if(I.level===o.level){var n=e+this.overlapAvoidanceFactor*((I.shape.radius||0)/2+(o.shape.radius||0)/2),r=o.x-I.x,s=o.y-I.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[I.id].x-=h,t[I.id].y-=l,t[o.id].x+=h,t[o.id].y+=l}}}}]),g}(),dh=function(){function g(A,t,e){De(this,g),this.body=A,this.physicsBody=t,this.setOptions(e)}return Pe(g,[{key:"setOptions",value:function(g){this.options=g}},{key:"solve",value:function(){for(var g,A,t,e,C,I=this.physicsBody.physicsEdgeIndices,i=this.body.edges,o=0;o<I.length;o++)!0===(A=i[I[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,e=A.edgeType.via,C=A.from,this._calculateSpringForce(t,e,.5*g),this._calculateSpringForce(e,C,.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 e=g.x-A.x,C=g.y-A.y,I=Math.max(Math.sqrt(e*e+C*C),.01),i=this.options.springConstant*(t-I)/I,o=e*i,n=C*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}(),hh=function(){function g(A,t,e){De(this,g),this.body=A,this.physicsBody=t,this.setOptions(e)}return Pe(g,[{key:"setOptions",value:function(g){this.options=g}},{key:"solve",value:function(){for(var g,A,t,e,C,I,i,o,n,r,s=this.body.edges,a=.5,d=this.physicsBody.physicsEdgeIndices,h=this.physicsBody.physicsNodeIndices,l=this.physicsBody.forces,c=0;c<h.length;c++){var u=h[c];l[u].springFx=0,l[u].springFy=0}for(var p=0;p<d.length;p++)!0===(A=s[d[p]]).connected&&(g=void 0===A.options.length?this.options.springLength:A.options.length,t=A.from.x-A.to.x,e=A.from.y-A.to.y,o=0===(o=Math.sqrt(t*t+e*e))?.01:o,C=t*(i=this.options.springConstant*(g-o)/o),I=e*i,A.to.level!=A.from.level?(void 0!==l[A.toId]&&(l[A.toId].springFx-=C,l[A.toId].springFy-=I),void 0!==l[A.fromId]&&(l[A.fromId].springFx+=C,l[A.fromId].springFy+=I)):(void 0!==l[A.toId]&&(l[A.toId].x-=a*C,l[A.toId].y-=a*I),void 0!==l[A.fromId]&&(l[A.fromId].x+=a*C,l[A.fromId].y+=a*I)));i=1;for(var f=0;f<h.length;f++){var v=h[f];n=Math.min(i,Math.max(-i,l[v].springFx)),r=Math.min(i,Math.max(-i,l[v].springFy)),l[v].x+=n,l[v].y+=r}for(var y=0,m=0,b=0;b<h.length;b++){var w=h[b];y+=l[w].x,m+=l[w].y}for(var k=y/h.length,x=m/h.length,E=0;E<h.length;E++){var O=h[E];l[O].x-=k,l[O].y-=x}}}]),g}(),lh=function(){function g(A,t,e){De(this,g),this.body=A,this.physicsBody=t,this.setOptions(e)}return Pe(g,[{key:"setOptions",value:function(g){this.options=g}},{key:"solve",value:function(){for(var g,A,t,e,C=this.body.nodes,I=this.physicsBody.physicsNodeIndices,i=this.physicsBody.forces,o=0;o<I.length;o++){g=-(e=C[I[o]]).x,A=-e.y,t=Math.sqrt(g*g+A*A),this._calculateForces(t,g,A,i,e)}}},{key:"_calculateForces",value:function(g,A,t,e,C){var I=0===g?0:this.options.centralGravity/g;e[C.id].x=A*I,e[C.id].y=t*I}}]),g}();function ch(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var uh=function(g){Is(t,g);var A=ch(t);function t(g,e,C){var I;return De(this,t),(I=A.call(this,g,e,C))._rng=Wo("FORCE ATLAS 2 BASED REPULSION SOLVER"),I}return Pe(t,[{key:"_calculateForces",value:function(g,A,t,e,C){0===g&&(A=g=.1*this._rng()),this.overlapAvoidanceFactor<1&&e.shape.radius&&(g=Math.max(.1+this.overlapAvoidanceFactor*e.shape.radius,g-e.shape.radius));var I=e.edges.length+1,i=this.options.gravitationalConstant*C.mass*e.options.mass*I/Math.pow(g,2),o=A*i,n=t*i;this.physicsBody.forces[e.id].x+=o,this.physicsBody.forces[e.id].y+=n}}]),t}(rh);function ph(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var fh=function(g){Is(t,g);var A=ph(t);function t(g,e,C){return De(this,t),A.call(this,g,e,C)}return Pe(t,[{key:"_calculateForces",value:function(g,A,t,e,C){if(g>0){var I=C.edges.length+1,i=this.options.centralGravity*I*C.options.mass;e[C.id].x=A*i,e[C.id].y=t*i}}}]),t}(lh),vh=function(){function g(A){De(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}},sg(this.options,this.defaultOptions),this.timestep=.5,this.layoutFailed=!1,this.bindEventListeners()}return Pe(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,In(["stabilization"],this.options,g),wn(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||jr(A.x))&&(A.x=0),("number"!=typeof A.y||jr(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 uh(this.body,this.physicsBody,g),this.edgesSolver=new dh(this.body,this.physicsBody,g),this.gravitySolver=new fh(this.body,this.physicsBody,g)):"repulsion"===this.options.solver?(g=this.options.repulsion,this.nodesSolver=new sh(this.body,this.physicsBody,g),this.edgesSolver=new dh(this.body,this.physicsBody,g),this.gravitySolver=new lh(this.body,this.physicsBody,g)):"hierarchicalRepulsion"===this.options.solver?(g=this.options.hierarchicalRepulsion,this.nodesSolver=new ah(this.body,this.physicsBody,g),this.edgesSolver=new hh(this.body,this.physicsBody,g),this.gravitySolver=new lh(this.body,this.physicsBody,g)):(g=this.options.barnesHut,this.nodesSolver=new rh(this.body,this.physicsBody,g),this.edgesSolver=new dh(this.body,this.physicsBody,g),this.gravitySolver=new lh(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=fg(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=kC();this.physicsTick(),(kC()-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)&&WI((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 e in A)Object.prototype.hasOwnProperty.call(A,e)&&!0===A[e].options.physics&&this.physicsBody.physicsEdgeIndices.push(A[e].id);for(var C=0;C<this.physicsBody.physicsNodeIndices.length;C++){var I=this.physicsBody.physicsNodeIndices[C];this.physicsBody.forces[I]={x:0,y:0},void 0===this.physicsBody.velocities[I]&&(this.physicsBody.velocities[I]={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=wC(this.previousStates),A=this.body.nodes,t=this.physicsBody.velocities;this.referenceState={};for(var e=0;e<g.length;e++){var C=g[e];void 0!==A[C]?!0===A[C].options.physics&&(this.referenceState[C]={positions:{x:A[C].x,y:A[C].y}},t[C].x=this.previousStates[C].vx,t[C].y=this.previousStates[C].vy,A[C].x=this.previousStates[C].x,A[C].y=this.previousStates[C].y):delete this.previousStates[C]}}},{key:"_evaluateStepQuality",value:function(){var g,A,t=this.body.nodes,e=this.referenceState;for(var C in this.referenceState)if(Object.prototype.hasOwnProperty.call(this.referenceState,C)&&void 0!==t[C]&&(g=t[C].x-e[C].positions.x,A=t[C].y-e[C].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,e=0;e<g.length;e++){var C=g[e],I=this._performStep(C);A=Math.max(A,I),t+=I}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 e=this.options.maxVelocity||1e9;return Math.abs(g)>e&&(g=g>0?e:-e),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 e=this.physicsBody.velocities[g];return this.previousStates[g]={x:A.x,y:A.y,vx:e.x,vy:e.y},!1===A.options.fixed.x?(e.x=this.calculateComponentVelocity(e.x,t.x,A.options.mass),A.x+=e.x*this.timestep):(t.x=0,e.x=0),!1===A.options.fixed.y?(e.y=this.calculateComponentVelocity(e.y,t.y,A.options.mass),A.y+=e.y*this.timestep):(t.y=0,e.y=0),Math.sqrt(Math.pow(e.x,2)+Math.pow(e.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.error("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,WI((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 e,C=0;A()&&C<this.options.stabilization.updateInterval;)this.physicsTick(),C++;(t(),A())?WI(fg(e=this._stabilizationBatch).call(e,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],e=this.body.nodes[t],C=this.physicsBody.forces[t],I=Math.sqrt(Math.pow(C.x,2)+Math.pow(C.x,2)),i=Math.min(Math.max(5,I),15),o=3*i,n=fn((180-180*Math.min(1,Math.max(0,.03*I)))/360,1,1),r={x:e.x+20*C.x,y:e.y+20*C.y};g.lineWidth=i,g.strokeStyle=n,g.beginPath(),g.moveTo(e.x,e.y),g.lineTo(r.x,r.y),g.stroke();var s=Math.atan2(C.y,C.x);g.fillStyle=n,Wd.draw(g,{type:"arrow",point:r,angle:s,length:o}),_I(g).call(g)}}}]),g}(),yh=function(){function g(){De(this,g)}return Pe(g,null,[{key:"getRange",value:function(g){var A,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],e=1e9,C=-1e9,I=1e9,i=-1e9;if(t.length>0)for(var o=0;o<t.length;o++)I>(A=g[t[o]]).shape.boundingBox.left&&(I=A.shape.boundingBox.left),i<A.shape.boundingBox.right&&(i=A.shape.boundingBox.right),e>A.shape.boundingBox.top&&(e=A.shape.boundingBox.top),C<A.shape.boundingBox.bottom&&(C=A.shape.boundingBox.bottom);return 1e9===I&&-1e9===i&&1e9===e&&-1e9===C&&(e=0,C=0,I=0,i=0),{minX:I,maxX:i,minY:e,maxY:C}}},{key:"getRangeCore",value:function(g){var A,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],e=1e9,C=-1e9,I=1e9,i=-1e9;if(t.length>0)for(var o=0;o<t.length;o++)I>(A=g[t[o]]).x&&(I=A.x),i<A.x&&(i=A.x),e>A.y&&(e=A.y),C<A.y&&(C=A.y);return 1e9===I&&-1e9===i&&1e9===e&&-1e9===C&&(e=0,C=0,I=0,i=0),{minX:I,maxX:i,minY:e,maxY:C}}},{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?(on(t,g.options,!0),t.x=g.x,t.y=g.y,t.amountOfConnections=g.edges.length):on(t,g.options,!0),t}}]),g}();function mh(g){var A=function(){if("undefined"==typeof Reflect||!gs)return!1;if(gs.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(gs(Boolean,[],(function(){}))),!0}catch(g){return!1}}();return function(){var t,e=ns(g);if(A){var C=ns(this).constructor;t=gs(e,arguments,C)}else t=e.apply(this,arguments);return is(this,t)}}var bh=function(g){Is(t,g);var A=mh(t);function t(g,e,C,I,i,o){var n;return De(this,t),(n=A.call(this,g,e,C,I,i,o)).isCluster=!0,n.containedNodes={},n.containedEdges={},n}return Pe(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],an(t.edges,(function(g){delete A.containedEdges[g.id]})),an(t.containedNodes,(function(g,t){A.containedNodes[t]=g})),t.containedNodes={},an(t.containedEdges,(function(g,t){A.containedEdges[t]=g})),t.containedEdges={},an(t.edges,(function(g){an(A.edges,(function(t){var e,C,I=DI(e=t.clusteringEdgeReplacingIds).call(e,g.id);-1!==I&&(an(g.clusteringEdgeReplacingIds,(function(g){t.clusteringEdgeReplacingIds.push(g),A.body.edges[g].edgeReplacedById=t.id})),WC(C=t.clusteringEdgeReplacingIds).call(C,I,1))}))})),t.edges=[]}}]),t}(fd),wh=function(){function g(A){var t=this;De(this,g),this.body=A,this.clusteredNodes={},this.clusteredEdges={},this.options={},this.defaultOptions={},sg(this.options,this.defaultOptions),this.body.emitter.on("_resetData",(function(){t.clusteredNodes={},t.clusteredEdges={}}))}return Pe(g,[{key:"clusterByHubsize",value:function(g,A){void 0===g?g=this._getHubSize():"object"===nC(g)&&(A=this._checkOptions(g),g=this._getHubSize());for(var t=[],e=0;e<this.body.nodeIndices.length;e++){var C=this.body.nodes[this.body.nodeIndices[e]];C.edges.length>=g&&t.push(C.id)}for(var I=0;I<t.length;I++)this.clusterByConnection(t[I],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 e={},C={};an(this.body.nodes,(function(t,I){t.options&&!0===A.joinCondition(t.options)&&(e[I]=t,an(t.edges,(function(A){void 0===g.clusteredEdges[A.id]&&(C[A.id]=A)})))})),this._cluster(e,C,A,t)}},{key:"clusterByEdgeCount",value:function(g,A){var t=this,e=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];A=this._checkOptions(A);for(var C,I,i,o=[],n={},r=function(e){var r={},s={},a=t.body.nodeIndices[e],d=t.body.nodes[a];if(void 0===n[a]){i=0,I=[];for(var h=0;h<d.edges.length;h++)C=d.edges[h],void 0===t.clusteredEdges[C.id]&&(C.toId!==C.fromId&&i++,I.push(C));if(i===g){for(var l=function(g){if(void 0===A.joinCondition||null===A.joinCondition)return!0;var t=yh.cloneOptions(g);return A.joinCondition(t)},c=!0,u=0;u<I.length;u++){C=I[u];var p=t._getConnectedId(C,a);if(!l(d)){c=!1;break}s[C.id]=C,r[a]=d,r[p]=t.body.nodes[p],n[a]=!0}if(wC(r).length>0&&wC(s).length>0&&!0===c){var f=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!==f){for(var v in r)void 0===f.nodes[v]&&(f.nodes[v]=r[v]);for(var y in s)void 0===f.edges[y]&&(f.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===e&&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,e=!(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 C=this.body.nodes[g];void 0===(A=this._checkOptions(A,C)).clusterNodeProperties.x&&(A.clusterNodeProperties.x=C.x),void 0===A.clusterNodeProperties.y&&(A.clusterNodeProperties.y=C.y),void 0===A.clusterNodeProperties.fixed&&(A.clusterNodeProperties.fixed={},A.clusterNodeProperties.fixed.x=C.options.fixed.x,A.clusterNodeProperties.fixed.y=C.options.fixed.y);var I={},i={},o=C.id,n=yh.cloneOptions(C);I[o]=C;for(var r=0;r<C.edges.length;r++){var s=C.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,I[a]=this.body.nodes[a];else{var d=yh.cloneOptions(this.body.nodes[a]);!0===A.joinCondition(n,d)&&(i[s.id]=s,I[a]=this.body.nodes[a])}else i[s.id]=s}}var h=mC(t=wC(I)).call(t,(function(g){return I[g].id}));for(var l in I)if(Object.prototype.hasOwnProperty.call(I,l))for(var c=I[l],u=0;u<c.edges.length;u++){var p=c.edges[u];DI(h).call(h,this._getConnectedId(p,c.id))>-1&&(i[p.id]=p)}this._cluster(I,i,A,e)}},{key:"_createClusterEdges",value:function(g,A,t,e){for(var C,I,i,o,n,r,s=wC(g),a=[],d=0;d<s.length;d++){i=g[I=s[d]];for(var h=0;h<i.edges.length;h++)C=i.edges[h],void 0===this.clusteredEdges[C.id]&&(C.toId==C.fromId?A[C.id]=C:C.toId==I?(o=t.id,r=n=C.fromId):(o=C.toId,n=t.id,r=o),void 0===g[r]&&a.push({edge:C,fromId:n,toId:o}))}for(var l=[],c=function(g){for(var A=0;A<l.length;A++){var t=l[A],e=g.fromId===t.fromId&&g.toId===t.toId,C=g.fromId===t.toId&&g.toId===t.fromId;if(e||C)return t}return null},u=0;u<a.length;u++){var p=a[u],f=p.edge,v=c(p);null===v?(v=this._createClusteredEdge(p.fromId,p.toId,f,e),l.push(v)):v.clusteringEdgeReplacingIds.push(f.id),this.body.edges[f.id].edgeReplacedById=v.id,this._backupEdgeOptions(f),f.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 e=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],C=[];for(var I in g)Object.prototype.hasOwnProperty.call(g,I)&&void 0!==this.clusteredNodes[I]&&C.push(I);for(var i=0;i<C.length;++i)delete g[C[i]];if(0!=wC(g).length&&(1!=wC(g).length||1==t.clusterNodeProperties.allowSingleNodeCluster)){var o=on({},t.clusterNodeProperties);if(void 0!==t.processProperties){var n=[];for(var r in g)if(Object.prototype.hasOwnProperty.call(g,r)){var s=yh.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=yh.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:"+Xs());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,bh);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===e&&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.error("Node does not exist."),!1)}},{key:"_getClusterPosition",value:function(g){for(var A,t=wC(g),e=g[t[0]].x,C=g[t[0]].x,I=g[t[0]].y,i=g[t[0]].y,o=1;o<t.length;o++)e=(A=g[t[o]]).x<e?A.x:e,C=A.x>C?A.x:C,I=A.y<I?A.y:I,i=A.y>i?A.y:i;return{x:.5*(e+C),y:.5*(I+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 e=this.body.nodes[g];if(void 0===e)throw new Error("The clusterNodeId supplied to openCluster does not exist.");if(!0!==e.isCluster||void 0===e.containedNodes||void 0===e.containedEdges)throw new Error("The node:"+g+" is not a valid cluster.");var C=this.findNode(g),I=DI(C).call(C,g)-1;if(I>=0){var i=C[I],o=this.body.nodes[i];return o._openChildCluster(g),delete this.body.nodes[g],void(!0===t&&this.body.emitter.emit("_dataChanged"))}var n=e.containedNodes,r=e.containedEdges;if(void 0!==A&&void 0!==A.releaseFunction&&"function"==typeof A.releaseFunction){var s={},a={x:e.x,y:e.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?e.x:l[c].x,u.y=void 0===l[c].y?e.y:l[c].y)}}else an(n,(function(g){!1===g.options.fixed.x&&(g.x=e.x),!1===g.options.fixed.y&&(g.y=e.y)}));for(var p in n)if(Object.prototype.hasOwnProperty.call(n,p)){var f=this.body.nodes[p];f.vx=e.vx,f.vy=e.vy,f.setOptions({physics:!0}),delete this.clusteredNodes[p]}for(var v=[],y=0;y<e.edges.length;y++)v.push(e.edges[y]);for(var m=0;m<v.length;m++){for(var b=v[m],w=this._getConnectedId(b,g),k=this.clusteredNodes[w],x=0;x<b.clusteringEdgeReplacingIds.length;x++){var E=b.clusteringEdgeReplacingIds[x],O=this.body.edges[E];if(void 0!==O)if(void 0!==k){var T=this.body.nodes[k.clusterId];T.containedEdges[O.id]=O,delete r[O.id];var D=O.fromId,N=O.toId;O.toId==w?N=k.clusterId:D=k.clusterId,this._createClusteredEdge(D,N,O,T.clusterEdgeProperties,{hidden:!1,physics:!0})}else this._restoreEdge(O)}b.remove()}for(var R in r)Object.prototype.hasOwnProperty.call(r,R)&&this._restoreEdge(r[R]);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 e in t)Object.prototype.hasOwnProperty.call(t,e)&&A.push(this.body.nodes[e].id)}return A}},{key:"findNode",value:function(g){for(var A,t=[],e=0;void 0!==this.clusteredNodes[g]&&e<100;){if(void 0===(A=this.body.nodes[g]))return[];t.push(A.id),g=this.clusteredNodes[g].clusterId,e++}return void 0===(A=this.body.nodes[g])?[]:(t.push(A.id),ZC(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),e=0;e<t.length;e++){this.body.edges[t[e]].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 ZC(A).call(A),A}},{key:"getBaseEdge",value:function(g){return this.getBaseEdges(g)[0]}},{key:"getBaseEdges",value:function(g){for(var A=[g],t=[],e=[],C=0;A.length>0&&C<100;){var I=A.pop();if(void 0!==I){var i=this.body.edges[I];if(void 0!==i){C++;var o=i.clusteringEdgeReplacingIds;if(void 0===o)e.push(I);else for(var n=0;n<o.length;++n){var r=o[n];-1===DI(A).call(A,o)&&-1===DI(t).call(t,o)&&A.push(r)}t.push(I)}}}return e}},{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,e=0,C=0;C<this.body.nodeIndices.length;C++){var I=this.body.nodes[this.body.nodeIndices[C]];I.edges.length>e&&(e=I.edges.length),g+=I.edges.length,A+=Math.pow(I.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>e&&(n=e),n}},{key:"_createClusteredEdge",value:function(g,A,t,e,C){var I=yh.cloneOptions(t,"edge");on(I,e),I.from=g,I.to=A,I.id="clusterEdge:"+Xs(),void 0!==C&&on(I,C);var i=this.body.functions.createEdge(I);return i.clusteringEdgeReplacingIds=[t.id],i.connect(),this.body.edges[i.id]=i,i}},{key:"_clusterEdges",value:function(g,A,t,e){if(A instanceof oh){var C=A,I={};I[C.id]=C,A=I}if(g instanceof fd){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===e&&(e=t.clusterEdgeProperties),this._createClusterEdges(g,A,t,e),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 an(g,(function(g){A(g)&&t.push(g)})),t}},{key:"_updateState",value:function(){var g,A=this,t=[],e={},C=function(g){an(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)}C((function(g){for(var A=0;A<t.length;A++)delete g.containedNodes[t[A]]}));for(var I=0;I<t.length;I++)delete this.clusteredNodes[t[I]];an(this.clusteredEdges,(function(g){var t=A.body.edges[g];void 0!==t&&t.endPointsValid()||(e[g]=g)})),C((function(g){an(g.containedEdges,(function(g,A){g.endPointsValid()||e[A]||(e[A]=A)}))})),an(this.body.edges,(function(g,t){var C=!0,I=g.clusteringEdgeReplacingIds;if(void 0!==I){var i=0;an(I,(function(g){var t=A.body.edges[g];void 0!==t&&t.endPointsValid()&&(i+=1)})),C=i>0}g.endPointsValid()&&C||(e[t]=t)})),C((function(g){an(e,(function(t){delete g.containedEdges[t],an(g.edges,(function(C,I){C.id!==t?C.clusteringEdgeReplacingIds=A._filter(C.clusteringEdgeReplacingIds,(function(g){return!e[g]})):g.edges[I]=null})),g.edges=A._filter(g.edges,(function(g){return null!==g}))}))})),an(e,(function(g){delete A.clusteredEdges[g]})),an(e,(function(g){delete A.body.edges[g]})),an(wC(this.body.edges),(function(g){var t=A.body.edges[g],e=A._isClusteredNode(t.fromId)||A._isClusteredNode(t.toId);if(e!==A._isClusteredEdge(t.id))if(e){var C=A._getClusterNodeForNode(t.fromId);void 0!==C&&A._clusterEdges(A.body.nodes[t.fromId],t,C);var I=A._getClusterNodeForNode(t.toId);void 0!==I&&A._clusterEdges(A.body.nodes[t.toId],t,I)}else delete A._clusterEdges[g],A._restoreEdge(t)}));for(var i=!1,o=!0,n=function(){var g=[];C((function(A){var t=wC(A.containedNodes).length,e=!0===A.options.allowSingleNodeCluster;(e&&t<1||!e&&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}();function kh(g,A){var t;if(void 0===sC||null==Et(g)){if(uC(g)||(t=function(g,A){var t;if(!g)return;if("string"==typeof g)return xh(g,A);var e=lC(t=Object.prototype.toString.call(g)).call(t,8,-1);"Object"===e&&g.constructor&&(e=g.constructor.name);if("Map"===e||"Set"===e)return ft(g);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return xh(g,A)}(g))||A&&g&&"number"==typeof g.length){t&&(g=t);var e=0,C=function(){};return{s:C,n:function(){return e>=g.length?{done:!0}:{done:!1,value:g[e++]}},e:function(g){throw g},f:C}}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 I,i=!0,o=!1;return{s:function(){t=Ot(g)},n:function(){var g=t.next();return i=g.done,g},e:function(g){o=!0,I=g},f:function(){try{i||null==t.return||t.return()}finally{if(o)throw I}}}}function xh(g,A){(null==A||A>g.length)&&(A=g.length);for(var t=0,e=new Array(A);t<A;t++)e[t]=g[t];return e}var Eh=function(){function g(A,t){var e;De(this,g),void 0!==window&&(e=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame),window.requestAnimationFrame=void 0===e?function(g){g()}:e,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},sg(this.options,this.defaultOptions),this._determineBrowserMethod(),this.bindEventListeners()}return Pe(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=WI((function(){var g;A.zooming=!1,fg(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",fg(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){Cn(["hideEdgesOnDrag","hideEdgesOnZoom","hideNodesOnDrag"],this.options,g)}}},{key:"_requestNextFrame",value:function(g,A){if("undefined"!=typeof window){var t,e=window;return!0===this.requiresTimeout?t=WI(g,A):e.requestAnimationFrame&&(t=e.requestAnimationFrame(g)),t}}},{key:"_startRendering",value:function(){var g;!0===this.renderingActive&&(void 0===this.renderTimer&&(this.renderTimer=this._requestNextFrame(fg(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;var A={drawExternalLabels:null};0!==this.canvas.frame.canvas.width&&0!==this.canvas.frame.canvas.height||this.canvas.setSize(),this.canvas.setTransform();var t=this.canvas.getContext(),e=this.canvas.frame.canvas.clientWidth,C=this.canvas.frame.canvas.clientHeight;if(t.clearRect(0,0,e,C),0===this.canvas.frame.clientWidth)return;if(t.save(),t.translate(this.body.view.translation.x,this.body.view.translation.y),t.scale(this.body.view.scale,this.body.view.scale),t.beginPath(),this.body.emitter.emit("beforeDrawing",t),t.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(t),!1===this.dragging||!0===this.dragging&&!1===this.options.hideNodesOnDrag){var I=this._drawNodes(t,g),i=I.drawExternalLabels;A.drawExternalLabels=i}!1===g&&(!1===this.dragging||!0===this.dragging&&!1===this.options.hideEdgesOnDrag)&&(!1===this.zooming||!0===this.zooming&&!1===this.options.hideEdgesOnZoom)&&this._drawArrows(t),null!=A.drawExternalLabels&&A.drawExternalLabels(),!1===g&&this._drawSelectionBox(t),t.beginPath(),this.body.emitter.emit("afterDrawing",t),t.closePath(),t.restore(),!0===g&&t.clearRect(0,0,e,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 e in t)Object.prototype.hasOwnProperty.call(t,e)&&((A=t[e]).resize(g),A.updateBoundingBox(g,A.selected));g.restore()}},{key:"_drawNodes",value:function(g){for(var A,t,e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],C=this.body.nodes,I=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=[],h=0;h<I.length;h++)if((A=C[I[h]]).hover)o.push(I[h]);else if(A.isSelected())i.push(I[h]);else if(!0===e){var l=A.draw(g);null!=l.drawExternalLabel&&d.push(l.drawExternalLabel)}else if(!0===A.isBoundingBoxOverlappingWith(a)){var c=A.draw(g);null!=c.drawExternalLabel&&d.push(c.drawExternalLabel)}else A.updateBoundingBox(g,A.selected);var u=i.length,p=o.length;for(t=0;t<u;t++){var f=(A=C[i[t]]).draw(g);null!=f.drawExternalLabel&&d.push(f.drawExternalLabel)}for(t=0;t<p;t++){var v=(A=C[o[t]]).draw(g);null!=v.drawExternalLabel&&d.push(v.drawExternalLabel)}return{drawExternalLabels:function(){var g,A=kh(d);try{for(A.s();!(g=A.n()).done;){(0,g.value)()}}catch(g){A.e(g)}finally{A.f()}}}}},{key:"_drawEdges",value:function(g){for(var A=this.body.edges,t=this.body.edgeIndices,e=0;e<t.length;e++){var C=A[t[e]];!0===C.connected&&C.draw(g)}}},{key:"_drawArrows",value:function(g){for(var A=this.body.edges,t=this.body.edgeIndices,e=0;e<t.length;e++){var C=A[t[e]];!0===C.connected&&C.drawArrows(g)}}},{key:"_determineBrowserMethod",value:function(){if("undefined"!=typeof window){var g=navigator.userAgent.toLowerCase();this.requiresTimeout=!1,(-1!=DI(g).call(g,"msie 9.0")||-1!=DI(g).call(g,"safari")&&DI(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}(),Oh=B.setInterval;function Th(g,A){A.inputHandler=function(g){g.isFirst&&A(g)},g.on("hammer.input",A.inputHandler)}function Dh(g,A){return A.inputHandler=function(g){g.isFinal&&A(g)},g.on("hammer.input",A.inputHandler)}var Nh=function(){function g(A){De(this,g),this.body=A,this.pixelRatio=1,this.cameraState={},this.initialized=!1,this.canvasViewCenter={},this._cleanupCallbacks=[],this.options={},this.defaultOptions={autoResize:!0,height:"100%",width:"100%"},sg(this.options,this.defaultOptions),this.bindEventListeners()}return Pe(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",fg(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,e,C,I,i=this;if(void 0!==g){Cn(["width","height","autoResize"],this.options,g)}if(this._cleanUp(),!0===this.options.autoResize){var o;if(window.ResizeObserver){var n=new ResizeObserver((function(){!0===i.setSize()&&i.body.emitter.emit("_requestRedraw")})),r=this.frame;n.observe(r),this._cleanupCallbacks.push((function(){n.unobserve(r)}))}else{var s=Oh((function(){!0===i.setSize()&&i.body.emitter.emit("_requestRedraw")}),1e3);this._cleanupCallbacks.push((function(){clearInterval(s)}))}var a=fg(o=this._onResize).call(o,this);A=window,t="resize",e=a,A.addEventListener?(void 0===C&&(C=!1),"mousewheel"===t&&$C(I=navigator.userAgent).call(I,"Firefox")&&(t="DOMMouseScroll"),A.addEventListener(t,e,C)):A.attachEvent("on"+t,e),this._cleanupCallbacks.push((function(){!function(g,A,t,e){var C;g.removeEventListener?(void 0===e&&(e=!1),"mousewheel"===A&&$C(C=navigator.userAgent).call(C,"Firefox")&&(A="DOMMouseScroll"),g.removeEventListener(A,t,e)):g.detachEvent("on"+A,t)}(window,"resize",a)}))}}},{key:"_cleanUp",value:function(){var g,A,t;RC(g=ZC(A=WC(t=this._cleanupCallbacks).call(t,0)).call(A)).call(g,(function(g){try{g()}catch(g){console.error(g)}}))}},{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 e=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),C={x:e.x-this.cameraState.position.x,y:e.y-this.cameraState.position.y};this.body.view.translation.x+=C.x*this.body.view.scale,this.body.view.translation.y+=C.y*this.body.view.scale}}},{key:"_prepareValue",value:function(g){if("number"==typeof g)return g+"px";if("string"==typeof g){if(-1!==DI(g).call(g,"%")||-1!==DI(g).call(g,"px"))return g;if(-1===DI(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=0,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.innerText="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 Bn(this.frame.canvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:Bn.DIRECTION_ALL}),Th(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 Bn(this.frame),Dh(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,e=this.frame.canvas.width,C=this.frame.canvas.height,I=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(I),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(I),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(e/this.pixelRatio),oldHeight:Math.round(C/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}();function Rh(g,A){var t=sg({nodes:A,minZoomLevel:Number.MIN_VALUE,maxZoomLevel:1},null!=g?g:{});if(!uC(t.nodes))throw new TypeError("Nodes has to be an array of ids.");if(0===t.nodes.length&&(t.nodes=A),!("number"==typeof t.minZoomLevel&&t.minZoomLevel>0))throw new TypeError("Min zoom level has to be a number higher than zero.");if(!("number"==typeof t.maxZoomLevel&&t.minZoomLevel<=t.maxZoomLevel))throw new TypeError("Max zoom level has to be a number higher than min zoom level.");return t}var Ph=function(){function g(A,t){var e,C,I=this;De(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",fg(e=this.fit).call(e,this)),this.body.emitter.on("animationFinished",(function(){I.body.emitter.emit("_stopRendering")})),this.body.emitter.on("unlockNode",fg(C=this.releaseNode).call(C,this))}return Pe(g,[{key:"setOptions",value:function(){var g=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.options=g}},{key:"fit",value:function(g){var A=arguments.length>1&&void 0!==arguments[1]&&arguments[1];g=Rh(g,this.body.nodeIndices);var t,e,C=this.canvas.frame.canvas.clientWidth,I=this.canvas.frame.canvas.clientHeight;if(0===C||0===I)e=1,t=yh.getRange(this.body.nodes,g.nodes);else if(!0===A){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(g,!1);t=yh.getRange(this.body.nodes,g.nodes);var r=this.body.nodeIndices.length;e=12.662/(r+7.4147)+.0964822;var s=Math.min(C/600,I/600);e*=s}else{this.body.emitter.emit("_resizeNodes"),t=yh.getRange(this.body.nodes,g.nodes);var a=1.1*Math.abs(t.maxX-t.minX),d=1.1*Math.abs(t.maxY-t.minY),h=C/a,l=I/d;e=h<=l?h:l}e>g.maxZoomLevel?e=g.maxZoomLevel:e<g.minZoomLevel&&(e=g.minZoomLevel);var c=yh.findCenter(t),u={position:c,scale:e,animation:g.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.error("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,!Wr(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,!Wr(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,!Wr(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,!Wr(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,e=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),C=e.x-g.position.x,I=e.y-g.position.y;if(this.targetTranslation={x:this.sourceTranslation.x+C*this.targetScale+g.offset.x,y:this.sourceTranslation.y+I*this.targetScale+g.offset.y},0===g.animation.duration)if(null!=this.lockedOnNodeId)this.viewFunction=fg(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=fg(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}),e=t.x-g,C=t.y-A,I=this.body.view.translation,i={x:I.x+e*this.body.view.scale+this.lockedOnNodeOffset.x,y:I.y+C*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=kn[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=fg(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}();function Mh(g){var A,t=g&&g.preventDefault||!1,e=g&&g.container||window,C={},I={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!==I[A][g.keyCode]){for(var e=I[A][g.keyCode],C=0;C<e.length;C++)(void 0===e[C].shift||1==e[C].shift&&1==g.shiftKey||0==e[C].shift&&0==g.shiftKey)&&e[C].fn(g);1==t&&g.preventDefault()}};return C.bind=function(g,A,t){if(void 0===t&&(t="keydown"),void 0===i[g])throw new Error("unsupported key: "+g);void 0===I[t][i[g].code]&&(I[t][i[g].code]=[]),I[t][i[g].code].push({fn:A,shift:i[g].shift})},C.bindAll=function(g,A){for(var t in void 0===A&&(A="keydown"),i)i.hasOwnProperty(t)&&C.bind(t,g,A)},C.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"},C.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 e=[],C=I[t][i[g].code];if(void 0!==C)for(var o=0;o<C.length;o++)C[o].fn==A&&C[o].shift==i[g].shift||e.push(I[t][i[g].code][o]);I[t][i[g].code]=e}else I[t][i[g].code]=[]},C.reset=function(){I={keydown:{},keyup:{}}},C.destroy=function(){I={keydown:{},keyup:{}},e.removeEventListener("keydown",o,!0),e.removeEventListener("keyup",n,!0)},e.addEventListener("keydown",o,!0),e.addEventListener("keyup",n,!0),C}xg('div.vis-network div.vis-navigation div.vis-button{width:34px;height:34px;-moz-border-radius:17px;border-radius:17px;position:absolute;display:inline-block;background-position:2px 2px;background-repeat:no-repeat;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.vis-network div.vis-navigation div.vis-button:hover{box-shadow:0 0 3px 3px rgba(56,207,21,.3)}div.vis-network div.vis-navigation div.vis-button:active{box-shadow:0 0 1px 3px rgba(56,207,21,.95)}div.vis-network div.vis-navigation div.vis-button.vis-up{background-image:url("data:image/png;base64,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");bottom:50px;left:55px}div.vis-network div.vis-navigation div.vis-button.vis-down{background-image:url("data:image/png;base64,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");bottom:10px;left:55px}div.vis-network div.vis-navigation div.vis-button.vis-left{background-image:url("data:image/png;base64,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");bottom:10px;left:15px}div.vis-network div.vis-navigation div.vis-button.vis-right{background-image:url("data:image/png;base64,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");bottom:10px;left:95px}div.vis-network div.vis-navigation div.vis-button.vis-zoomIn{background-image:url("data:image/png;base64,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");bottom:10px;right:15px}div.vis-network div.vis-navigation div.vis-button.vis-zoomOut{background-image:url("data:image/png;base64,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");bottom:10px;right:55px}div.vis-network div.vis-navigation div.vis-button.vis-zoomExtends{background-image:url("data:image/png;base64,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");bottom:50px;right:15px}');var Bh=function(){function g(A,t){var e=this;De(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(){e.activated=!0,e.configureKeyboardBindings()})),this.body.emitter.on("deactivate",(function(){e.activated=!1,e.configureKeyboardBindings()})),this.body.emitter.on("destroy",(function(){void 0!==e.keycharm&&e.keycharm.destroy()})),this.options={}}return Pe(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 e=0;e<A.length;e++){this.navigationDOM[A[e]]=document.createElement("div"),this.navigationDOM[A[e]].className="vis-button vis-"+A[e],this.navigationDOM.wrapper.appendChild(this.navigationDOM[A[e]]);var C,I,i=new Bn(this.navigationDOM[A[e]]);if("_fit"===t[e])Th(i,fg(C=this._fit).call(C,this));else Th(i,fg(I=this.bindToRedraw).call(I,this,t[e]));this.navigationHammers.push(i)}var o=new Bn(this.canvas.frame);Dh(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]=fg(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,e=A/g,C=(1-e)*this.canvas.canvasViewCenter.x+t.x*e,I=(1-e)*this.canvas.canvasViewCenter.y+t.y*e;this.body.view.scale=A,this.body.view.translation={x:C,y:I},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,e=A/g,C=(1-e)*this.canvas.canvasViewCenter.x+t.x*e,I=(1-e)*this.canvas.canvasViewCenter.y+t.y*e;this.body.view.scale=A,this.body.view.translation={x:C,y:I},this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale,pointer:null})}},{key:"configureKeyboardBindings",value:function(){var g,A,t,e,C,I,i,o,n,r,s,a,d,h,l,c,u,p,f,v,y,m,b,w,k=this;(void 0!==this.keycharm&&this.keycharm.destroy(),!0===this.options.keyboard.enabled)&&(!0===this.options.keyboard.bindToWindow?this.keycharm=Mh({container:window,preventDefault:!0}):this.keycharm=Mh({container:this.canvas.frame,preventDefault:!0}),this.keycharm.reset(),!0===this.activated&&(fg(g=this.keycharm).call(g,"up",(function(){k.bindToRedraw("_moveUp")}),"keydown"),fg(A=this.keycharm).call(A,"down",(function(){k.bindToRedraw("_moveDown")}),"keydown"),fg(t=this.keycharm).call(t,"left",(function(){k.bindToRedraw("_moveLeft")}),"keydown"),fg(e=this.keycharm).call(e,"right",(function(){k.bindToRedraw("_moveRight")}),"keydown"),fg(C=this.keycharm).call(C,"=",(function(){k.bindToRedraw("_zoomIn")}),"keydown"),fg(I=this.keycharm).call(I,"num+",(function(){k.bindToRedraw("_zoomIn")}),"keydown"),fg(i=this.keycharm).call(i,"num-",(function(){k.bindToRedraw("_zoomOut")}),"keydown"),fg(o=this.keycharm).call(o,"-",(function(){k.bindToRedraw("_zoomOut")}),"keydown"),fg(n=this.keycharm).call(n,"[",(function(){k.bindToRedraw("_zoomOut")}),"keydown"),fg(r=this.keycharm).call(r,"]",(function(){k.bindToRedraw("_zoomIn")}),"keydown"),fg(s=this.keycharm).call(s,"pageup",(function(){k.bindToRedraw("_zoomIn")}),"keydown"),fg(a=this.keycharm).call(a,"pagedown",(function(){k.bindToRedraw("_zoomOut")}),"keydown"),fg(d=this.keycharm).call(d,"up",(function(){k.unbindFromRedraw("_moveUp")}),"keyup"),fg(h=this.keycharm).call(h,"down",(function(){k.unbindFromRedraw("_moveDown")}),"keyup"),fg(l=this.keycharm).call(l,"left",(function(){k.unbindFromRedraw("_moveLeft")}),"keyup"),fg(c=this.keycharm).call(c,"right",(function(){k.unbindFromRedraw("_moveRight")}),"keyup"),fg(u=this.keycharm).call(u,"=",(function(){k.unbindFromRedraw("_zoomIn")}),"keyup"),fg(p=this.keycharm).call(p,"num+",(function(){k.unbindFromRedraw("_zoomIn")}),"keyup"),fg(f=this.keycharm).call(f,"num-",(function(){k.unbindFromRedraw("_zoomOut")}),"keyup"),fg(v=this.keycharm).call(v,"-",(function(){k.unbindFromRedraw("_zoomOut")}),"keyup"),fg(y=this.keycharm).call(y,"[",(function(){k.unbindFromRedraw("_zoomOut")}),"keyup"),fg(m=this.keycharm).call(m,"]",(function(){k.unbindFromRedraw("_zoomIn")}),"keyup"),fg(b=this.keycharm).call(b,"pageup",(function(){k.unbindFromRedraw("_zoomIn")}),"keyup"),fg(w=this.keycharm).call(w,"pagedown",(function(){k.unbindFromRedraw("_zoomOut")}),"keyup")))}}]),g}();function zh(g,A){var t;if(void 0===sC||null==Et(g)){if(uC(g)||(t=function(g,A){var t;if(!g)return;if("string"==typeof g)return Zh(g,A);var e=lC(t=Object.prototype.toString.call(g)).call(t,8,-1);"Object"===e&&g.constructor&&(e=g.constructor.name);if("Map"===e||"Set"===e)return ft(g);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return Zh(g,A)}(g))||A&&g&&"number"==typeof g.length){t&&(g=t);var e=0,C=function(){};return{s:C,n:function(){return e>=g.length?{done:!0}:{done:!1,value:g[e++]}},e:function(g){throw g},f:C}}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 I,i=!0,o=!1;return{s:function(){t=Ot(g)},n:function(){var g=t.next();return i=g.done,g},e:function(g){o=!0,I=g},f:function(){try{i||null==t.return||t.return()}finally{if(o)throw I}}}}function Zh(g,A){(null==A||A>g.length)&&(A=g.length);for(var t=0,e=new Array(A);t<A;t++)e[t]=g[t];return e}var Sh=function(){function g(A,t,e){var C,I,i,o,n,r,s,a,d,h,l,c,u;De(this,g),this.body=A,this.canvas=t,this.selectionHandler=e,this.navigationHandler=new Bh(A,t),this.body.eventListeners.onTap=fg(C=this.onTap).call(C,this),this.body.eventListeners.onTouch=fg(I=this.onTouch).call(I,this),this.body.eventListeners.onDoubleTap=fg(i=this.onDoubleTap).call(i,this),this.body.eventListeners.onHold=fg(o=this.onHold).call(o,this),this.body.eventListeners.onDragStart=fg(n=this.onDragStart).call(n,this),this.body.eventListeners.onDrag=fg(r=this.onDrag).call(r,this),this.body.eventListeners.onDragEnd=fg(s=this.onDragEnd).call(s,this),this.body.eventListeners.onMouseWheel=fg(a=this.onMouseWheel).call(a,this),this.body.eventListeners.onPinch=fg(d=this.onPinch).call(d,this),this.body.eventListeners.onMouseMove=fg(h=this.onMouseMove).call(h,this),this.body.eventListeners.onRelease=fg(l=this.onRelease).call(l,this),this.body.eventListeners.onContext=fg(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=fg(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},sg(this.options,this.defaultOptions),this.bindEventListeners()}return Pe(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){In(["hideEdgesOnDrag","hideEdgesOnZoom","hideNodesOnDrag","keyboard","multiselect","selectable","selectConnectedEdges"],this.options,g),wn(this.options,g,"keyboard"),g.tooltip&&(sg(this.options.tooltip,g.tooltip),g.tooltip.color&&(this.options.tooltip.color=cn(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-sn(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,t),this.selectionHandler.commitAndEmit(A,g),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,t),this.selectionHandler.commitAndEmit(A,g),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){var A=arguments.length>1&&void 0!==arguments[1]&&arguments[1];!0===A?this.selectionHandler.selectAdditionalOnPoint(g):this.selectionHandler.selectOnPoint(g)}},{key:"_determineDifference",value:function(g,A){var t=function(g,A){for(var t=[],e=0;e<g.length;e++){var C=g[e];-1===DI(A).call(A,C)&&t.push(C)}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=sg({},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 e,C=zh(this.selectionHandler.getSelectedNodes());try{for(C.s();!(e=C.n()).done;){var I=e.value,i={id:I.id,node:I,x:I.x,y:I.y,xFixed:I.options.fixed.x,yFixed:I.options.fixed.y};I.options.fixed.x=!0,I.options.fixed.y=!0,this.drag.selection.push(i)}}catch(g){C.e(g)}finally{C.f()}}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),e=this.drag.selection;if(e&&e.length&&!0===this.options.dragNodes){this.selectionHandler.generateClickEvent("dragging",g,t);var C=t.x-this.drag.pointer.x,I=t.y-this.drag.pointer.y;RC(e).call(e,(function(g){var t=g.node;!1===g.xFixed&&(t.x=A.canvas._XconvertDOMtoCanvas(A.canvas._XconvertCanvasToDOM(g.x)+C)),!1===g.yFixed&&(t.y=A.canvas._YconvertDOMtoCanvas(A.canvas._YconvertCanvasToDOM(g.y)+I))})),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 e=this.body.selectionBox.position,C={minX:Math.min(e.start.x,e.end.x),minY:Math.min(e.start.y,e.end.y),maxX:Math.max(e.start.x,e.end.x),maxY:Math.max(e.start.y,e.end.y)},I=oI(t=this.body.nodeIndices).call(t,(function(g){var t=A.body.nodes[g];return t.x>=C.minX&&t.x<=C.maxX&&t.y>=C.minY&&t.y<=C.maxY}));RC(I).call(I,(function(g){return A.selectionHandler.selectObject(A.body.nodes[g])}));var i=this.getPointer(g.center);this.selectionHandler.commitAndEmit(i,g),this.selectionHandler.generateClickEvent("dragEnd",g,this.getPointer(g.center),void 0,!0),this.body.emitter.emit("_requestRedraw")}else{var o=this.drag.selection;o&&o.length?(RC(o).call(o,(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 e=void 0;void 0!==this.drag&&!0===this.drag.dragging&&(e=this.canvas.DOMtoCanvas(this.drag.pointer));var C=this.body.view.translation,I=g/t,i=(1-I)*A.x+C.x*I,o=(1-I)*A.y+C.y*I;if(this.body.view.scale=g,this.body.view.translation={x:i,y:o},null!=e){var n=this.canvas.canvasToDOM(e);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}),e=!1;void 0!==this.popup&&(!1===this.popup.hidden&&this._checkHidePopup(t),!1===this.popup.hidden&&(e=!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===e&&(void 0!==this.popupTimer&&(clearInterval(this.popupTimer),this.popupTimer=void 0),this.drag.dragging||(this.popupTimer=WI((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),e={left:A,top:t,right:A,bottom:t},C=void 0===this.popupObj?void 0:this.popupObj.id,I=!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(e)&&(I=!0,void 0!==o.getTitle()&&s.push(n[a]));s.length>0&&(this.popupObj=r[s[s.length-1]],I=!0)}if(void 0===this.popupObj&&!1===I){for(var d,h=this.body.edgeIndices,l=this.body.edges,c=[],u=0;u<h.length;u++)!0===(d=l[h[u]]).isOverlappingWith(e)&&!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!==C&&(void 0===this.popup&&(this.popup=new zn(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 e=this.selectionHandler.getNodeAt(g);t=void 0!==e&&e.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}(),Fh=wr.getWeakData,Gh=qg.set,Lh=qg.getterFor,jh=Vt.find,Vh=Vt.findIndex,Yh=0,Wh=function(g){return g.frozen||(g.frozen=new Qh)},Qh=function(){this.entries=[]},Uh=function(g,A){return jh(g.entries,(function(g){return g[0]===A}))};Qh.prototype={get:function(g){var A=Uh(this,g);if(A)return A[1]},has:function(g){return!!Uh(this,g)},set:function(g,A){var t=Uh(this,g);t?t[1]=A:this.entries.push([g,A])},delete:function(g){var A=Vh(this.entries,(function(A){return A[0]===g}));return~A&&this.entries.splice(A,1),!!~A}};var _h={getConstructor:function(g,A,t,e){var C=g((function(g,I){Er(g,C,A),Gh(g,{type:A,id:Yh++,frozen:void 0}),null!=I&&xr(I,g[e],{that:g,AS_ENTRIES:t})})),I=Lh(A),i=function(g,A,t){var e=I(g),C=Fh(S(A),!0);return!0===C?Wh(e).set(A,t):C[e.id]=t,g};return Pr(C.prototype,{delete:function(g){var A=I(this);if(!p(g))return!1;var t=Fh(g);return!0===t?Wh(A).delete(g):t&&y(t,A.id)&&delete t[A.id]},has:function(g){var A=I(this);if(!p(g))return!1;var t=Fh(g);return!0===t?Wh(A).has(g):t&&y(t,A.id)}}),Pr(C.prototype,t?{get:function(g){var A=I(this);if(p(g)){var t=Fh(g);return!0===t?Wh(A).get(g):t?t[A.id]:void 0}},set:function(g,A){return i(this,g,A)}}:{add:function(g){return i(this,g,!0)}}),C}};t((function(g){var A,t=qg.enforce,e=!C.ActiveXObject&&"ActiveXObject"in C,I=Object.isExtensible,i=function(g){return function(){return g(this,arguments.length?arguments[0]:void 0)}},o=g.exports=Rr("WeakMap",i,_h);if(Sg&&e){A=_h.getConstructor(i,"WeakMap",!0),wr.REQUIRED=!0;var n=o.prototype,r=n.delete,s=n.has,a=n.get,d=n.set;Pr(n,{delete:function(g){if(p(g)&&!I(g)){var e=t(this);return e.frozen||(e.frozen=new A),r.call(this,g)||e.frozen.delete(g)}return r.call(this,g)},has:function(g){if(p(g)&&!I(g)){var e=t(this);return e.frozen||(e.frozen=new A),s.call(this,g)||e.frozen.has(g)}return s.call(this,g)},get:function(g){if(p(g)&&!I(g)){var e=t(this);return e.frozen||(e.frozen=new A),s.call(this,g)?a.call(this,g):e.frozen.get(g)}return a.call(this,g)},set:function(g,e){if(p(g)&&!I(g)){var C=t(this);C.frozen||(C.frozen=new A),s.call(this,g)?d.call(this,g,e):C.frozen.set(g,e)}else d.call(this,g,e);return this}})}}));var Hh,Kh,Xh,Jh,qh,$h=B.WeakMap;
 /*! *****************************************************************************
 	Copyright (c) Microsoft Corporation.
 
diff --git a/src/app/components/network-legend/network-legend.component.html b/src/app/components/network-legend/network-legend.component.html
index f1cc6935..e9eeb21b 100644
--- a/src/app/components/network-legend/network-legend.component.html
+++ b/src/app/components/network-legend/network-legend.component.html
@@ -39,8 +39,8 @@
     <ng-container *ngIf="this.config.showLegendEdges">
       <tr *ngFor="let edgeGroup of this.config.edgeGroups | keyvalue" class="list-item">
         <td>
-          <hr *ngIf="!edgeGroup.value.dashed" class="edge" [style.background-color]=edgeGroup.value.color>
-          <hr *ngIf="edgeGroup.value.dashed" class="edge dashed" [style.color]=edgeGroup.value.color>
+          <hr *ngIf="!edgeGroup.value.dashes" class="edge" [style.background-color]=edgeGroup.value.color>
+          <hr *ngIf="edgeGroup.value.dashes" class="edge dashes" [style.color]=edgeGroup.value.color>
         </td>
         <td>&nbsp;{{ edgeGroup.value.groupName }}</td>
       </tr>
diff --git a/src/app/components/network-legend/network-legend.component.scss b/src/app/components/network-legend/network-legend.component.scss
index 0000285b..86e388e9 100644
--- a/src/app/components/network-legend/network-legend.component.scss
+++ b/src/app/components/network-legend/network-legend.component.scss
@@ -76,7 +76,7 @@ div.legend {
         height: $legend-edge-height;
         /* Center edge icon */
         margin: 0 auto; 
-        &.dashed {
+        &.dashes {
           border-top: dotted;
         }
 
diff --git a/src/app/config.ts b/src/app/config.ts
index e27f3eec..30a2b025 100644
--- a/src/app/config.ts
+++ b/src/app/config.ts
@@ -2,6 +2,7 @@ export interface NodeGroup {
   groupName: string;
   color: string;
   shape: 'circle' | 'triangle' | 'star' | 'square' | 'image';
+  type: string;
   image?: string;
   detailShowLabel?: boolean;
 }
@@ -10,7 +11,7 @@ export interface EdgeGroup {
   groupName: string;
   color: string;
   // see https://visjs.github.io/vis-network/docs/network/edges.html
-  dashed?: false | Array<number>; 
+  dashes?: false | Array<number>; 
 }
 
 export type Identifier = 'symbol'|'uniprot'|'ensg';
@@ -77,17 +78,20 @@ export const defaultConfig: IConfig = {
       groupName: 'Default Node Group',
       color: 'yellow',
       shape: 'triangle',
+      type: 'default type',
       detailShowLabel: false,
     },
     default_protein: {
       groupName: 'Resulting Proteins',
       color: 'red',
       shape: 'circle',
+      type: 'default protein type',
     },
     default_drug: {
       groupName: 'Possible Drugs',
       color: 'green',
       shape: 'star',
+      type: 'default drug type',
     }
   },
   edgeGroups: {
@@ -95,7 +99,7 @@ export const defaultConfig: IConfig = {
       // this default group is used for default edge group values
       groupName: 'Default Edge Group',
       color: 'black',
-      dashed: false
+      dashes: false
     }
   },
 };
diff --git a/src/app/interfaces.ts b/src/app/interfaces.ts
index 28336201..11673307 100644
--- a/src/app/interfaces.ts
+++ b/src/app/interfaces.ts
@@ -4,6 +4,7 @@ export interface Node {
   label: string;
   symbol: string;
   id: string;
+  type: string;
   netexId?: string;
   uniprotAc?: string;
   ensg?: Array<string>;
@@ -160,6 +161,7 @@ export interface Wrapper {
   data: {
     id: string;
     label: string;
+    type?: string;
     symbol?: string;
     netexId?: string;
     ensg?: Array<string>;
diff --git a/src/app/pages/explorer-page/explorer-page.component.html b/src/app/pages/explorer-page/explorer-page.component.html
index 99c1b0e6..f2c3f622 100644
--- a/src/app/pages/explorer-page/explorer-page.component.html
+++ b/src/app/pages/explorer-page/explorer-page.component.html
@@ -189,9 +189,8 @@
                aria-hidden="true"></i> -->
           </span>
             <span *ngIf="!selectedWrapper">No item selected</span>
-            <span *ngIf="selectedWrapper && selectedWrapper.data.netexId">
-              <!-- <span *ngIf="selectedWrapper.data.type">selectedWrapper.data.type</span> -->
-              <span *ngIf="selectedWrapper.data.netexId.startsWith('d')">Drug</span>
+            <span *ngIf="selectedWrapper">
+              <span>selectedWrapper.data.type</span>
             </span>
           </p>
           <a (click)="collapseDetails = !collapseDetails" data-action="collapse"
diff --git a/src/app/pages/explorer-page/explorer-page.component.ts b/src/app/pages/explorer-page/explorer-page.component.ts
index 65ab579d..e18bfa54 100644
--- a/src/app/pages/explorer-page/explorer-page.component.ts
+++ b/src/app/pages/explorer-page/explorer-page.component.ts
@@ -392,9 +392,9 @@ export class ExplorerPageComponent implements OnInit, AfterViewInit {
     }
     // make sure all keys are set
     Object.entries(edgeGroups).forEach(([key, value]) => {
-      if (!('dashed' in value)) {
-        // use dashed default value if not set
-        value['dashed'] = defaultConfig.edgeGroups.default.dashed;
+      if (!('dashes' in value)) {
+        // use dashes default value if not set
+        value['dashes'] = defaultConfig.edgeGroups.default.dashes;
       }
     })
     // override default node groups
diff --git a/src/index.html b/src/index.html
index 15fb3c4d..997b419a 100644
--- a/src/index.html
+++ b/src/index.html
@@ -38,14 +38,14 @@
 
   <network-expander id="netexp1"
                     config='{
-                      "nodeGroups": {"0.5": {"color": "rgb(204, 255, 51)", "groupName": "0.5", "shape": "circle"}, "patient_group": {"detailShowLabel": "true", "color": "red", "groupName": "patient group", "shape": "circle"}},
-                      "edgeGroups": {"dashed": {"color": "black", "groupName": "Dashed Group", "dashed": [1, 2]}, "notdashed": {"color": "black", "groupName": "not Dashed Group"}},
+                      "nodeGroups": {"0.5": {"type": "0.5er Instanz", "color": "rgb(204, 255, 51)", "groupName": "0.5", "shape": "circle"}, "patient_group": {"type": "Patient", "detailShowLabel": "true", "color": "red", "groupName": "patient group", "shape": "circle"}},
+                      "edgeGroups": {"dashes": {"color": "black", "groupName": "dashes Group", "dashes": [1, 2]}, "notdashes": {"color": "black", "groupName": "not dashes Group"}},
                       "identifier": "symbol"
                     }'
                     network='{
-                      "nodes": [{"id": "MYC", "label": "node w/o group"}, {"id": "TP53", "group": "0.5"}, {"id": "C5", "group": "0.5"}, {"id": "Patient", "group": "patient_group"}, {"label": "PTEN", "id": "PTEN", "group": 0.5}],
+                      "nodes": [{"id": "MYC", "label": "node w/o group"}, {"id": "TP53", "group": "0.5"}, {"id": "C5", "group": "0.5"}, {"id": "Patient No. 5", "group": "patient_group"}, {"label": "PTEN", "id": "PTEN", "group": 0.5}],
                       "edges": [
-                      {"from": "TP53","to": "C5","group": "dashed", "label": "this is a label", "title": "this is a title"},
+                      {"from": "TP53","to": "C5","group": "dashes", "label": "this is a label", "title": "this is a title"},
                       {"from": "Patient No. 5","to": "C5","label": "w/o group"}
                       ]
                     }'
-- 
GitLab