- Go backend (server/)
- Frontend (web/, server/static/)
- Database and deployment files
- Scripts and docs
Co-Authored-By: 狸花猫/Claude-Qwen3.6-Plus 🐾
3 lines
1.5 MiB
3 lines
1.5 MiB
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.G6=e():t.G6=e()}(this,(function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=212)}([function(t,e,n){"use strict";n.r(e),n.d(e,"contains",(function(){return i})),n.d(e,"includes",(function(){return i})),n.d(e,"difference",(function(){return a})),n.d(e,"find",(function(){return x})),n.d(e,"findIndex",(function(){return w})),n.d(e,"firstValue",(function(){return _})),n.d(e,"flatten",(function(){return E})),n.d(e,"flattenDeep",(function(){return M})),n.d(e,"getRange",(function(){return A})),n.d(e,"pull",(function(){return T})),n.d(e,"pullAt",(function(){return P})),n.d(e,"reduce",(function(){return D})),n.d(e,"remove",(function(){return L})),n.d(e,"sortBy",(function(){return B})),n.d(e,"union",(function(){return z})),n.d(e,"uniq",(function(){return F})),n.d(e,"valuesOfKey",(function(){return G})),n.d(e,"head",(function(){return Y})),n.d(e,"last",(function(){return U})),n.d(e,"startsWith",(function(){return X})),n.d(e,"endsWith",(function(){return W})),n.d(e,"filter",(function(){return o})),n.d(e,"every",(function(){return V})),n.d(e,"some",(function(){return H})),n.d(e,"group",(function(){return Q})),n.d(e,"groupBy",(function(){return Z})),n.d(e,"groupToMap",(function(){return K})),n.d(e,"getWrapBehavior",(function(){return $})),n.d(e,"wrapBehavior",(function(){return J})),n.d(e,"number2color",(function(){return et})),n.d(e,"parseRadius",(function(){return nt})),n.d(e,"clamp",(function(){return rt})),n.d(e,"fixedBase",(function(){return it})),n.d(e,"isDecimal",(function(){return at})),n.d(e,"isEven",(function(){return st})),n.d(e,"isInteger",(function(){return ut})),n.d(e,"isNegative",(function(){return ct})),n.d(e,"isNumberEqual",(function(){return lt})),n.d(e,"isOdd",(function(){return ft})),n.d(e,"isPositive",(function(){return ht})),n.d(e,"max",(function(){return O})),n.d(e,"maxBy",(function(){return dt})),n.d(e,"min",(function(){return k})),n.d(e,"minBy",(function(){return pt})),n.d(e,"mod",(function(){return gt})),n.d(e,"toDegree",(function(){return yt})),n.d(e,"toInteger",(function(){return mt})),n.d(e,"toRadian",(function(){return xt})),n.d(e,"forIn",(function(){return wt})),n.d(e,"has",(function(){return _t})),n.d(e,"hasKey",(function(){return Et})),n.d(e,"hasValue",(function(){return Mt})),n.d(e,"keys",(function(){return g})),n.d(e,"isMatch",(function(){return v})),n.d(e,"values",(function(){return St})),n.d(e,"lowerCase",(function(){return kt})),n.d(e,"lowerFirst",(function(){return At})),n.d(e,"substitute",(function(){return Ct})),n.d(e,"upperCase",(function(){return jt})),n.d(e,"upperFirst",(function(){return It})),n.d(e,"getType",(function(){return Nt})),n.d(e,"isArguments",(function(){return Pt})),n.d(e,"isArray",(function(){return f})),n.d(e,"isArrayLike",(function(){return r})),n.d(e,"isBoolean",(function(){return Dt})),n.d(e,"isDate",(function(){return Lt})),n.d(e,"isError",(function(){return Rt})),n.d(e,"isFunction",(function(){return c})),n.d(e,"isFinite",(function(){return Bt})),n.d(e,"isNil",(function(){return l})),n.d(e,"isNull",(function(){return Ft})),n.d(e,"isNumber",(function(){return ot})),n.d(e,"isObject",(function(){return d})),n.d(e,"isObjectLike",(function(){return m})),n.d(e,"isPlainObject",(function(){return b})),n.d(e,"isPrototype",(function(){return Gt})),n.d(e,"isRegExp",(function(){return Yt})),n.d(e,"isString",(function(){return R})),n.d(e,"isType",(function(){return u})),n.d(e,"isUndefined",(function(){return Ut})),n.d(e,"isElement",(function(){return Xt})),n.d(e,"requestAnimationFrame",(function(){return Wt})),n.d(e,"clearAnimationFrame",(function(){return Vt})),n.d(e,"augment",(function(){return Zt})),n.d(e,"clone",(function(){return $t})),n.d(e,"debounce",(function(){return Jt})),n.d(e,"memoize",(function(){return te})),n.d(e,"deepMix",(function(){return ne})),n.d(e,"each",(function(){return p})),n.d(e,"extend",(function(){return re})),n.d(e,"indexOf",(function(){return ie})),n.d(e,"isEmpty",(function(){return ae})),n.d(e,"isEqual",(function(){return ue})),n.d(e,"isEqualWith",(function(){return ce})),n.d(e,"map",(function(){return le})),n.d(e,"mapValues",(function(){return he})),n.d(e,"mix",(function(){return qt})),n.d(e,"assign",(function(){return qt})),n.d(e,"get",(function(){return de})),n.d(e,"set",(function(){return pe})),n.d(e,"pick",(function(){return ve})),n.d(e,"omit",(function(){return ye})),n.d(e,"throttle",(function(){return me})),n.d(e,"toArray",(function(){return be})),n.d(e,"toString",(function(){return Ot})),n.d(e,"uniqueId",(function(){return we})),n.d(e,"noop",(function(){return _e})),n.d(e,"identity",(function(){return Ee})),n.d(e,"size",(function(){return Se})),n.d(e,"measureTextWidth",(function(){return ke})),n.d(e,"getEllipsisText",(function(){return Ae})),n.d(e,"Cache",(function(){return Ce}));var r=function(t){return null!==t&&"function"!=typeof t&&isFinite(t.length)},i=function(t,e){return!!r(t)&&t.indexOf(e)>-1},o=function(t,e){if(!r(t))return t;for(var n=[],i=0;i<t.length;i++){var o=t[i];e(o,i)&&n.push(o)}return n},a=function(t,e){return void 0===e&&(e=[]),o(t,(function(t){return!i(e,t)}))},s={}.toString,u=function(t,e){return s.call(t)==="[object "+e+"]"},c=function(t){return u(t,"Function")},l=function(t){return null==t},f=function(t){return Array.isArray?Array.isArray(t):u(t,"Array")};function h(t){return(h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var d=function(t){var e=h(t);return null!==t&&"object"===e||"function"===e};var p=function(t,e){if(t)if(f(t))for(var n=0,r=t.length;n<r&&!1!==e(t[n],n);n++);else if(d(t))for(var i in t)if(t.hasOwnProperty(i)&&!1===e(t[i],i))break},g=Object.keys?function(t){return Object.keys(t)}:function(t){var e=[];return p(t,(function(n,r){c(t)&&"prototype"===r||e.push(r)})),e};var v=function(t,e){var n=g(e),r=n.length;if(l(t))return!r;for(var i=0;i<r;i+=1){var o=n[i];if(e[o]!==t[o]||!(o in t))return!1}return!0};function y(t){return(y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var m=function(t){return"object"===y(t)&&null!==t},b=function(t){if(!m(t)||!u(t,"Object"))return!1;if(null===Object.getPrototypeOf(t))return!0;for(var e=t;null!==Object.getPrototypeOf(e);)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e};var x=function(t,e){if(!f(t))return null;var n;if(c(e)&&(n=e),b(e)&&(n=function(t){return v(t,e)}),n)for(var r=0;r<t.length;r+=1)if(n(t[r]))return t[r];return null};var w=function(t,e,n){void 0===n&&(n=0);for(var r=n;r<t.length;r++)if(e(t[r],r))return r;return-1},_=function(t,e){for(var n=null,r=0;r<t.length;r++){var i=t[r][e];if(!l(i)){n=f(i)?i[0]:i;break}}return n},E=function(t){if(!f(t))return[];for(var e=[],n=0;n<t.length;n++)e=e.concat(t[n]);return e},S=function(t,e){if(void 0===e&&(e=[]),f(t))for(var n=0;n<t.length;n+=1)S(t[n],e);else e.push(t);return e},M=S,O=function(t){if(f(t))return t.reduce((function(t,e){return Math.max(t,e)}),t[0])},k=function(t){if(f(t))return t.reduce((function(t,e){return Math.min(t,e)}),t[0])},A=function(t){var e=t.filter((function(t){return!isNaN(t)}));if(!e.length)return{min:0,max:0};if(f(t[0])){for(var n=[],r=0;r<t.length;r++)n=n.concat(t[r]);e=n}var i=O(e);return{min:k(e),max:i}},C=Array.prototype,j=C.splice,I=C.indexOf,T=function(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];for(var r=0;r<e.length;r++)for(var i=e[r],o=-1;(o=I.call(t,i))>-1;)j.call(t,o,1);return t},N=Array.prototype.splice,P=function(t,e){if(!r(t))return[];for(var n=t?e.length:0,i=n-1;n--;){var o=void 0,a=e[n];n!==i&&a===o||(o=a,N.call(t,a,1))}return t},D=function(t,e,n){if(!f(t)&&!b(t))return t;var r=n;return p(t,(function(t,n){r=e(r,t,n)})),r},L=function(t,e){var n=[];if(!r(t))return n;for(var i=-1,o=[],a=t.length;++i<a;){var s=t[i];e(s,i,t)&&(n.push(s),o.push(i))}return P(t,o),n},R=function(t){return u(t,"String")};var B=function(t,e){var n;if(c(e))n=function(t,n){return e(t)-e(n)};else{var r=[];R(e)?r.push(e):f(e)&&(r=e),n=function(t,e){for(var n=0;n<r.length;n+=1){var i=r[n];if(t[i]>e[i])return 1;if(t[i]<e[i])return-1}return 0}}return t.sort(n),t};function F(t,e){void 0===e&&(e=new Map);var n=[];if(Array.isArray(t))for(var r=0,i=t.length;r<i;r++){var o=t[r];e.has(o)||(n.push(o),e.set(o,!0))}return n}var z=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return F([].concat.apply([],t))},G=function(t,e){for(var n=[],r={},i=0;i<t.length;i++){var o=t[i][e];if(!l(o)){f(o)||(o=[o]);for(var a=0;a<o.length;a++){var s=o[a];r[s]||(n.push(s),r[s]=!0)}}}return n};function Y(t){if(r(t))return t[0]}function U(t){if(r(t)){return t[t.length-1]}}var X=function(t,e){return!(!f(t)&&!R(t))&&t[0]===e};var W=function(t,e){return!(!f(t)&&!R(t))&&t[t.length-1]===e},V=function(t,e){for(var n=0;n<t.length;n++)if(!e(t[n],n))return!1;return!0},H=function(t,e){for(var n=0;n<t.length;n++)if(e(t[n],n))return!0;return!1},q=Object.prototype.hasOwnProperty;var Z=function(t,e){if(!e||!f(t))return{};for(var n,r={},i=c(e)?e:function(t){return t[e]},o=0;o<t.length;o++){var a=t[o];n=i(a),q.call(r,n)?r[n].push(a):r[n]=[a]}return r};function K(t,e){if(!e)return{0:t};if(!c(e)){var n=f(e)?e:e.replace(/\s+/g,"").split("*");e=function(t){for(var e="_",r=0,i=n.length;r<i;r++)e+=t[n[r]]&&t[n[r]].toString();return e}}return Z(t,e)}var Q=function(t,e){if(!e)return[t];var n=K(t,e),r=[];for(var i in n)r.push(n[i]);return r};var $=function(t,e){return t["_wrap_"+e]};var J=function(t,e){if(t["_wrap_"+e])return t["_wrap_"+e];var n=function(n){t[e](n)};return t["_wrap_"+e]=n,n},tt={};var et=function(t){var e=tt[t];if(!e){for(var n=t.toString(16),r=n.length;r<6;r++)n="0"+n;e="#"+n,tt[t]=e}return e};var nt=function(t){var e=0,n=0,r=0,i=0;return f(t)?1===t.length?e=n=r=i=t[0]:2===t.length?(e=r=t[0],n=i=t[1]):3===t.length?(e=t[0],n=i=t[1],r=t[2]):(e=t[0],n=t[1],r=t[2],i=t[3]):e=n=r=i=t,{r1:e,r2:n,r3:r,r4:i}},rt=function(t,e,n){return t<e?e:t>n?n:t},it=function(t,e){var n=e.toString(),r=n.indexOf(".");if(-1===r)return Math.round(t);var i=n.substr(r+1).length;return i>20&&(i=20),parseFloat(t.toFixed(i))},ot=function(t){return u(t,"Number")},at=function(t){return ot(t)&&t%1!=0},st=function(t){return ot(t)&&t%2==0},ut=Number.isInteger?Number.isInteger:function(t){return ot(t)&&t%1==0},ct=function(t){return ot(t)&&t<0};function lt(t,e,n){return void 0===n&&(n=1e-5),Math.abs(t-e)<n}var ft=function(t){return ot(t)&&t%2!=0},ht=function(t){return ot(t)&&t>0},dt=function(t,e){if(f(t)){for(var n,r=-1/0,i=0;i<t.length;i++){var o=t[i],a=c(e)?e(o):o[e];a>r&&(n=o,r=a)}return n}},pt=function(t,e){if(f(t)){for(var n,r=1/0,i=0;i<t.length;i++){var o=t[i],a=c(e)?e(o):o[e];a<r&&(n=o,r=a)}return n}},gt=function(t,e){return(t%e+e)%e},vt=180/Math.PI,yt=function(t){return vt*t},mt=parseInt,bt=Math.PI/180,xt=function(t){return bt*t},wt=p,_t=function(t,e){return t.hasOwnProperty(e)},Et=_t,St=Object.values?function(t){return Object.values(t)}:function(t){var e=[];return p(t,(function(n,r){c(t)&&"prototype"===r||e.push(n)})),e},Mt=function(t,e){return i(St(t),e)},Ot=function(t){return l(t)?"":t.toString()},kt=function(t){return Ot(t).toLowerCase()},At=function(t){var e=Ot(t);return e.charAt(0).toLowerCase()+e.substring(1)};var Ct=function(t,e){return t&&e?t.replace(/\\?\{([^{}]+)\}/g,(function(t,n){return"\\"===t.charAt(0)?t.slice(1):void 0===e[n]?"":e[n]})):t},jt=function(t){return Ot(t).toUpperCase()},It=function(t){var e=Ot(t);return e.charAt(0).toUpperCase()+e.substring(1)},Tt={}.toString,Nt=function(t){return Tt.call(t).replace(/^\[object /,"").replace(/]$/,"")},Pt=function(t){return u(t,"Arguments")},Dt=function(t){return u(t,"Boolean")},Lt=function(t){return u(t,"Date")},Rt=function(t){return u(t,"Error")},Bt=function(t){return ot(t)&&isFinite(t)},Ft=function(t){return null===t},zt=Object.prototype,Gt=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||zt)},Yt=function(t){return u(t,"RegExp")},Ut=function(t){return void 0===t},Xt=function(t){return t instanceof Element||t instanceof HTMLDocument};function Wt(t){return(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.msRequestAnimationFrame||function(t){return setTimeout(t,16)})(t)}function Vt(t){(window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.msCancelAnimationFrame||clearTimeout)(t)}function Ht(t,e){for(var n in e)e.hasOwnProperty(n)&&"constructor"!==n&&void 0!==e[n]&&(t[n]=e[n])}function qt(t,e,n,r){return e&&Ht(t,e),n&&Ht(t,n),r&&Ht(t,r),t}var Zt=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];for(var n=t[0],r=1;r<t.length;r++){var i=t[r];c(i)&&(i=i.prototype),qt(n.prototype,i)}};function Kt(t){return(Kt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var Qt=function(t){if("object"!==Kt(t)||null===t)return t;var e;if(f(t)){e=[];for(var n=0,r=t.length;n<r;n++)"object"===Kt(t[n])&&null!=t[n]?e[n]=Qt(t[n]):e[n]=t[n]}else for(var i in e={},t)"object"===Kt(t[i])&&null!=t[i]?e[i]=Qt(t[i]):e[i]=t[i];return e},$t=Qt;var Jt=function(t,e,n){var r;return function(){var i=this,o=arguments,a=function(){r=null,n||t.apply(i,o)},s=n&&!r;clearTimeout(r),r=setTimeout(a,e),s&&t.apply(i,o)}},te=function(t,e){if(!c(t))throw new TypeError("Expected a function");var n=function(){for(var r=[],i=0;i<arguments.length;i++)r[i]=arguments[i];var o=e?e.apply(this,r):r[0],a=n.cache;if(a.has(o))return a.get(o);var s=t.apply(this,r);return a.set(o,s),s};return n.cache=new Map,n};function ee(t,e,n,r){for(var i in n=n||0,r=r||5,e)if(e.hasOwnProperty(i)){var o=e[i];null!==o&&b(o)?(b(t[i])||(t[i]={}),n<r?ee(t[i],o,n+1,r):t[i]=e[i]):f(o)?(t[i]=[],t[i]=t[i].concat(o)):void 0!==o&&(t[i]=o)}}var ne=function(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];for(var r=0;r<e.length;r+=1)ee(t,e[r]);return t},re=function(t,e,n,r){c(e)||(n=e,e=t,t=function(){});var i=Object.create?function(t,e){return Object.create(t,{constructor:{value:e}})}:function(t,e){function n(){}n.prototype=t;var r=new n;return r.constructor=e,r},o=i(e.prototype,t);return t.prototype=qt(o,t.prototype),t.superclass=i(e.prototype,e),qt(o,n),qt(t,r),t},ie=function(t,e){if(!r(t))return-1;var n=Array.prototype.indexOf;if(n)return n.call(t,e);for(var i=-1,o=0;o<t.length;o++)if(t[o]===e){i=o;break}return i},oe=Object.prototype.hasOwnProperty;var ae=function(t){if(l(t))return!0;if(r(t))return!t.length;var e=Nt(t);if("Map"===e||"Set"===e)return!t.size;if(Gt(t))return!Object.keys(t).length;for(var n in t)if(oe.call(t,n))return!1;return!0},se=function(t,e){if(t===e)return!0;if(!t||!e)return!1;if(R(t)||R(e))return!1;if(r(t)||r(e)){if(t.length!==e.length)return!1;for(var n=!0,i=0;i<t.length&&(n=se(t[i],e[i]));i++);return n}if(m(t)||m(e)){var o=Object.keys(t),a=Object.keys(e);if(o.length!==a.length)return!1;for(n=!0,i=0;i<o.length&&(n=se(t[o[i]],e[o[i]]));i++);return n}return!1},ue=se,ce=function(t,e,n){return c(n)?!!n(t,e):ue(t,e)},le=function(t,e){if(!r(t))return t;for(var n=[],i=0;i<t.length;i++){var o=t[i];n.push(e(o,i))}return n},fe=function(t){return t},he=function(t,e){void 0===e&&(e=fe);var n={};return d(t)&&!l(t)&&Object.keys(t).forEach((function(r){n[r]=e(t[r],r)})),n},de=function(t,e,n){for(var r=0,i=R(e)?e.split("."):e;t&&r<i.length;)t=t[i[r++]];return void 0===t||r<i.length?n:t},pe=function(t,e,n){var r=t,i=R(e)?e.split("."):e;return i.forEach((function(t,e){e<i.length-1?(d(r[t])||(r[t]=ot(i[e+1])?[]:{}),r=r[t]):r[t]=n})),t},ge=Object.prototype.hasOwnProperty,ve=function(t,e){if(null===t||!b(t))return{};var n={};return p(e,(function(e){ge.call(t,e)&&(n[e]=t[e])})),n},ye=function(t,e){return D(t,(function(t,n,r){return e.includes(r)||(t[r]=n),t}),{})},me=function(t,e,n){var r,i,o,a,s=0;n||(n={});var u=function(){s=!1===n.leading?0:Date.now(),r=null,a=t.apply(i,o),r||(i=o=null)},c=function(){var c=Date.now();s||!1!==n.leading||(s=c);var l=e-(c-s);return i=this,o=arguments,l<=0||l>e?(r&&(clearTimeout(r),r=null),s=c,a=t.apply(i,o),r||(i=o=null)):r||!1===n.trailing||(r=setTimeout(u,l)),a};return c.cancel=function(){clearTimeout(r),s=0,r=i=o=null},c},be=function(t){return r(t)?Array.prototype.slice.call(t):[]},xe={},we=function(t){return xe[t=t||"g"]?xe[t]+=1:xe[t]=1,t+xe[t]},_e=function(){},Ee=function(t){return t};function Se(t){return l(t)?0:r(t)?t.length:Object.keys(t).length}var Me,Oe=n(1),ke=te((function(t,e){void 0===e&&(e={});var n=e.fontSize,r=e.fontFamily,i=e.fontWeight,o=e.fontStyle,a=e.fontVariant;return Me||(Me=document.createElement("canvas").getContext("2d")),Me.font=[o,a,i,n+"px",r].join(" "),Me.measureText(R(t)?t:"").width}),(function(t,e){return void 0===e&&(e={}),Object(Oe.__spreadArrays)([t],St(e)).join("")})),Ae=function(t,e,n,r){void 0===r&&(r="...");var i,o,a=ke(r,n),s=R(t)?t:Ot(t),u=e,c=[];if(ke(t,n)<=e)return t;for(;i=s.substr(0,16),!((o=ke(i,n))+a>u&&o>u);)if(c.push(i),u-=o,!(s=s.substr(16)))return c.join("");for(;i=s.substr(0,1),!((o=ke(i,n))+a>u);)if(c.push(i),u-=o,!(s=s.substr(1)))return c.join("");return""+c.join("")+r},Ce=function(){function t(){this.map={}}return t.prototype.has=function(t){return void 0!==this.map[t]},t.prototype.get=function(t,e){var n=this.map[t];return void 0===n?e:n},t.prototype.set=function(t,e){this.map[t]=e},t.prototype.clear=function(){this.map={}},t.prototype.delete=function(t){delete this.map[t]},t.prototype.size=function(){return Object.keys(this.map).length},t}()},function(t,e,n){"use strict";function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}n.r(e),n.d(e,"__extends",(function(){return o})),n.d(e,"__assign",(function(){return a})),n.d(e,"__rest",(function(){return s})),n.d(e,"__decorate",(function(){return u})),n.d(e,"__param",(function(){return c})),n.d(e,"__esDecorate",(function(){return l})),n.d(e,"__runInitializers",(function(){return f})),n.d(e,"__propKey",(function(){return h})),n.d(e,"__setFunctionName",(function(){return d})),n.d(e,"__metadata",(function(){return p})),n.d(e,"__awaiter",(function(){return g})),n.d(e,"__generator",(function(){return v})),n.d(e,"__createBinding",(function(){return y})),n.d(e,"__exportStar",(function(){return m})),n.d(e,"__values",(function(){return b})),n.d(e,"__read",(function(){return x})),n.d(e,"__spread",(function(){return w})),n.d(e,"__spreadArrays",(function(){return _})),n.d(e,"__spreadArray",(function(){return E})),n.d(e,"__await",(function(){return S})),n.d(e,"__asyncGenerator",(function(){return M})),n.d(e,"__asyncDelegator",(function(){return O})),n.d(e,"__asyncValues",(function(){return k})),n.d(e,"__makeTemplateObject",(function(){return A})),n.d(e,"__importStar",(function(){return I})),n.d(e,"__importDefault",(function(){return T})),n.d(e,"__classPrivateFieldGet",(function(){return N})),n.d(e,"__classPrivateFieldSet",(function(){return P})),n.d(e,"__classPrivateFieldIn",(function(){return D})),n.d(e,"__addDisposableResource",(function(){return L})),n.d(e,"__disposeResources",(function(){return B})),n.d(e,"__rewriteRelativeImportExtension",(function(){return F}));var i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)};function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var a=function(){return(a=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)};function s(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]])}return n}function u(t,e,n,i){var o,a=arguments.length,s=a<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"===("undefined"==typeof Reflect?"undefined":r(Reflect))&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,i);else for(var u=t.length-1;u>=0;u--)(o=t[u])&&(s=(a<3?o(s):a>3?o(e,n,s):o(e,n))||s);return a>3&&s&&Object.defineProperty(e,n,s),s}function c(t,e){return function(n,r){e(n,r,t)}}function l(t,e,n,i,o,a){function s(t){if(void 0!==t&&"function"!=typeof t)throw new TypeError("Function expected");return t}for(var u,c=i.kind,l="getter"===c?"get":"setter"===c?"set":"value",f=!e&&t?i.static?t:t.prototype:null,h=e||(f?Object.getOwnPropertyDescriptor(f,i.name):{}),d=!1,p=n.length-1;p>=0;p--){var g={};for(var v in i)g[v]="access"===v?{}:i[v];for(var v in i.access)g.access[v]=i.access[v];g.addInitializer=function(t){if(d)throw new TypeError("Cannot add initializers after decoration has completed");a.push(s(t||null))};var y=(0,n[p])("accessor"===c?{get:h.get,set:h.set}:h[l],g);if("accessor"===c){if(void 0===y)continue;if(null===y||"object"!==r(y))throw new TypeError("Object expected");(u=s(y.get))&&(h.get=u),(u=s(y.set))&&(h.set=u),(u=s(y.init))&&o.unshift(u)}else(u=s(y))&&("field"===c?o.unshift(u):h[l]=u)}f&&Object.defineProperty(f,i.name,h),d=!0}function f(t,e,n){for(var r=arguments.length>2,i=0;i<e.length;i++)n=r?e[i].call(t,n):e[i].call(t);return r?n:void 0}function h(t){return"symbol"===r(t)?t:"".concat(t)}function d(t,e,n){return"symbol"===r(e)&&(e=e.description?"[".concat(e.description,"]"):""),Object.defineProperty(t,"name",{configurable:!0,value:n?"".concat(n," ",e):e})}function p(t,e){if("object"===("undefined"==typeof Reflect?"undefined":r(Reflect))&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function g(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t))}catch(t){o(t)}}function s(t){try{u(r.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,s)}u((r=r.apply(t,e||[])).next())}))}function v(t,e){var n,r,i,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=s(0),a.throw=s(1),a.return=s(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,s[0]&&(o=0)),o;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,r=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]<i[3])){o.label=s[1];break}if(6===s[0]&&o.label<i[1]){o.label=i[1],i=s;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(s);break}i[2]&&o.ops.pop(),o.trys.pop();continue}s=e.call(t,o)}catch(t){s=[6,t],r=0}finally{n=i=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,u])}}}var y=Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!("get"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]};function m(t,e){for(var n in t)"default"===n||Object.prototype.hasOwnProperty.call(e,n)||y(e,t,n)}function b(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function x(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,i,o=n.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(r=o.next()).done;)a.push(r.value)}catch(t){i={error:t}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return a}function w(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(x(arguments[e]));return t}function _(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;var r=Array(t),i=0;for(e=0;e<n;e++)for(var o=arguments[e],a=0,s=o.length;a<s;a++,i++)r[i]=o[a];return r}function E(t,e,n){if(n||2===arguments.length)for(var r,i=0,o=e.length;i<o;i++)!r&&i in e||(r||(r=Array.prototype.slice.call(e,0,i)),r[i]=e[i]);return t.concat(r||Array.prototype.slice.call(e))}function S(t){return this instanceof S?(this.v=t,this):new S(t)}function M(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=n.apply(t,e||[]),o=[];return r=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",(function(t){return function(e){return Promise.resolve(e).then(t,c)}})),r[Symbol.asyncIterator]=function(){return this},r;function a(t,e){i[t]&&(r[t]=function(e){return new Promise((function(n,r){o.push([t,e,n,r])>1||s(t,e)}))},e&&(r[t]=e(r[t])))}function s(t,e){try{(n=i[t](e)).value instanceof S?Promise.resolve(n.value.v).then(u,c):l(o[0][2],n)}catch(t){l(o[0][3],t)}var n}function u(t){s("next",t)}function c(t){s("throw",t)}function l(t,e){t(e),o.shift(),o.length&&s(o[0][0],o[0][1])}}function O(t){var e,n;return e={},r("next"),r("throw",(function(t){throw t})),r("return"),e[Symbol.iterator]=function(){return this},e;function r(r,i){e[r]=t[r]?function(e){return(n=!n)?{value:S(t[r](e)),done:!1}:i?i(e):e}:i}}function k(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,n=t[Symbol.asyncIterator];return n?n.call(t):(t=b(t),e={},r("next"),r("throw"),r("return"),e[Symbol.asyncIterator]=function(){return this},e);function r(n){e[n]=t[n]&&function(e){return new Promise((function(r,i){(function(t,e,n,r){Promise.resolve(r).then((function(e){t({value:e,done:n})}),e)})(r,i,(e=t[n](e)).done,e.value)}))}}}function A(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t}var C=Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e},j=function(t){return(j=Object.getOwnPropertyNames||function(t){var e=[];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[e.length]=n);return e})(t)};function I(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n=j(t),r=0;r<n.length;r++)"default"!==n[r]&&y(e,t,n[r]);return C(e,t),e}function T(t){return t&&t.__esModule?t:{default:t}}function N(t,e,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!r:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(t):r?r.value:e.get(t)}function P(t,e,n,r,i){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(t,n):i?i.value=n:e.set(t,n),n}function D(t,e){if(null===e||"object"!==r(e)&&"function"!=typeof e)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof t?e===t:t.has(e)}function L(t,e,n){if(null!=e){if("object"!==r(e)&&"function"!=typeof e)throw new TypeError("Object expected.");var i,o;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");i=e[Symbol.asyncDispose]}if(void 0===i){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");i=e[Symbol.dispose],n&&(o=i)}if("function"!=typeof i)throw new TypeError("Object not disposable.");o&&(i=function(){try{o.call(this)}catch(t){return Promise.reject(t)}}),t.stack.push({value:e,dispose:i,async:n})}else n&&t.stack.push({async:!0});return e}var R="function"==typeof SuppressedError?SuppressedError:function(t,e,n){var r=new Error(n);return r.name="SuppressedError",r.error=t,r.suppressed=e,r};function B(t){function e(e){t.error=t.hasError?new R(e,t.error,"An error was suppressed during disposal."):e,t.hasError=!0}var n,r=0;return function i(){for(;n=t.stack.pop();)try{if(!n.async&&1===r)return r=0,t.stack.push(n),Promise.resolve().then(i);if(n.dispose){var o=n.dispose.call(n.value);if(n.async)return r|=2,Promise.resolve(o).then(i,(function(t){return e(t),i()}))}else r|=1}catch(t){e(t)}if(1===r)return t.hasError?Promise.reject(t.error):Promise.resolve();if(t.hasError)throw t.error}()}function F(t,e){return"string"==typeof t&&/^\.\.?\//.test(t)?t.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,(function(t,n,r,i,o){return n?e?".jsx":".js":!r||i&&o?r+i+"."+o.toLowerCase()+"js":t})):t}e.default={__extends:o,__assign:a,__rest:s,__decorate:u,__param:c,__esDecorate:l,__runInitializers:f,__propKey:h,__setFunctionName:d,__metadata:p,__awaiter:g,__generator:v,__createBinding:y,__exportStar:m,__values:b,__read:x,__spread:w,__spreadArrays:_,__spreadArray:E,__await:S,__asyncGenerator:M,__asyncDelegator:O,__asyncValues:k,__makeTemplateObject:A,__importStar:I,__importDefault:T,__classPrivateFieldGet:N,__classPrivateFieldSet:P,__classPrivateFieldIn:D,__addDisposableResource:L,__disposeResources:B,__rewriteRelativeImportExtension:F}},function(t,e,n){"use strict";n.r(e),n.d(e,"EPSILON",(function(){return r})),n.d(e,"ARRAY_TYPE",(function(){return i})),n.d(e,"RANDOM",(function(){return o})),n.d(e,"setMatrixArrayType",(function(){return a})),n.d(e,"toRadian",(function(){return u})),n.d(e,"equals",(function(){return c}));var r=1e-6,i="undefined"!=typeof Float32Array?Float32Array:Array,o=Math.random;function a(t){i=t}var s=Math.PI/180;function u(t){return t*s}function c(t,e){return Math.abs(t-e)<=r*Math.max(1,Math.abs(t),Math.abs(e))}Math.hypot||(Math.hypot=function(){for(var t=0,e=arguments.length;e--;)t+=arguments[e]*arguments[e];return Math.sqrt(t)})},function(t,e,n){var r=n(97);t.exports=function(t,e,n){return(e=r(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e,n){"use strict";n.d(e,"b",(function(){return i.mat3})),n.d(e,"c",(function(){return i.vec2})),n.d(e,"d",(function(){return i.vec3})),n.d(e,"a",(function(){return r}));var r={};n.r(r),n.d(r,"leftTranslate",(function(){return o})),n.d(r,"leftRotate",(function(){return a})),n.d(r,"leftScale",(function(){return s})),n.d(r,"transform",(function(){return u})),n.d(r,"direction",(function(){return c})),n.d(r,"angleTo",(function(){return l})),n.d(r,"vertical",(function(){return f}));var i=n(8);function o(t,e,n){var r=[0,0,0,0,0,0,0,0,0];return i.mat3.fromTranslation(r,n),i.mat3.multiply(t,r,e)}function a(t,e,n){var r=[0,0,0,0,0,0,0,0,0];return i.mat3.fromRotation(r,n),i.mat3.multiply(t,r,e)}function s(t,e,n){var r=[0,0,0,0,0,0,0,0,0];return i.mat3.fromScaling(r,n),i.mat3.multiply(t,r,e)}function u(t,e){for(var n,r,u,c=t?[].concat(t):[1,0,0,0,1,0,0,0,1],l=0,f=e.length;l<f;l++){var h=e[l];switch(h[0]){case"t":o(c,c,[h[1],h[2]]);break;case"s":s(c,c,[h[1],h[2]]);break;case"r":a(c,c,h[1]);break;case"m":n=c,r=c,u=h[1],i.mat3.multiply(n,u,r)}}return c}function c(t,e){return t[0]*e[1]-e[0]*t[1]}function l(t,e,n){var r=i.vec2.angle(t,e),o=c(t,e)>=0;return n?o?2*Math.PI-r:r:o?r:2*Math.PI-r}function f(t,e,n){return n?(t[0]=e[1],t[1]=-1*e[0]):(t[0]=-1*e[1],t[1]=e[0]),t}},function(t,e,n){"use strict";n.d(e,"d",(function(){return i})),n.d(e,"b",(function(){return o})),n.d(e,"e",(function(){return a})),n.d(e,"f",(function(){return s})),n.d(e,"l",(function(){return u})),n.d(e,"j",(function(){return c}));var r=n(0);function i(){return window?window.devicePixelRatio:1}function o(t,e,n,r){var i=t-n,o=e-r;return Math.sqrt(i*i+o*o)}function a(t,e,n,r,i,o){return i>=t&&i<=t+n&&o>=e&&o<=e+r}function s(t,e){return!(e.minX>t.maxX||e.maxX<t.minX||e.minY>t.maxY||e.maxY<t.minY)}function u(t,e){return t&&e?{minX:Math.min(t.minX,e.minX),minY:Math.min(t.minY,e.minY),maxX:Math.max(t.maxX,e.maxX),maxY:Math.max(t.maxY,e.maxY)}:t||e}function c(t,e){return t[0]===e[0]&&t[1]===e[1]}n.d(e,"i",(function(){return r.isNil})),n.d(e,"k",(function(){return r.isString})),n.d(e,"h",(function(){return r.isFunction})),n.d(e,"g",(function(){return r.isArray})),n.d(e,"c",(function(){return r.each})),n.d(e,"o",(function(){return r.toRadian})),n.d(e,"m",(function(){return r.mod})),n.d(e,"n",(function(){return r.requestAnimationFrame})),n.d(e,"a",(function(){return r.clearAnimationFrame}))},function(t,e,n){"use strict";n.d(e,"a",(function(){return r})),n.d(e,"b",(function(){return i}));var r={rect:"path",circle:"circle",line:"line",path:"path",marker:"path",text:"text",polyline:"polyline",polygon:"polygon",image:"image",ellipse:"ellipse",dom:"foreignObject"},i={opacity:"opacity",fillStyle:"fill",fill:"fill",fillOpacity:"fill-opacity",strokeStyle:"stroke",strokeOpacity:"stroke-opacity",stroke:"stroke",x:"x",y:"y",r:"r",rx:"rx",ry:"ry",width:"width",height:"height",x1:"x1",x2:"x2",y1:"y1",y2:"y2",lineCap:"stroke-linecap",lineJoin:"stroke-linejoin",lineWidth:"stroke-width",lineDash:"stroke-dasharray",lineDashOffset:"stroke-dashoffset",miterLimit:"stroke-miterlimit",font:"font",fontSize:"font-size",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",fontFamily:"font-family",startArrow:"marker-start",endArrow:"marker-end",path:"d",class:"class",id:"id",style:"style",preserveAspectRatio:"preserveAspectRatio"}},function(t,e,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!("get"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),i=this&&this.__exportStar||function(t,e){for(var n in t)"default"===n||Object.prototype.hasOwnProperty.call(e,n)||r(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),e.getLayoutByName=e.unRegisterLayout=e.registerLayout=void 0;var o=n(79);Object.defineProperty(e,"registerLayout",{enumerable:!0,get:function(){return o.registerLayout}}),Object.defineProperty(e,"unRegisterLayout",{enumerable:!0,get:function(){return o.unRegisterLayout}}),Object.defineProperty(e,"getLayoutByName",{enumerable:!0,get:function(){return o.getLayoutByName}}),i(n(82),e)},function(t,e,n){"use strict";n.r(e),n.d(e,"glMatrix",(function(){return l})),n.d(e,"mat2",(function(){return r})),n.d(e,"mat2d",(function(){return i})),n.d(e,"mat3",(function(){return o})),n.d(e,"mat4",(function(){return a})),n.d(e,"quat",(function(){return u})),n.d(e,"quat2",(function(){return c})),n.d(e,"vec2",(function(){return ri})),n.d(e,"vec3",(function(){return Re})),n.d(e,"vec4",(function(){return s}));var r={};n.r(r),n.d(r,"create",(function(){return f})),n.d(r,"clone",(function(){return h})),n.d(r,"copy",(function(){return d})),n.d(r,"identity",(function(){return p})),n.d(r,"fromValues",(function(){return g})),n.d(r,"set",(function(){return v})),n.d(r,"transpose",(function(){return y})),n.d(r,"invert",(function(){return m})),n.d(r,"adjoint",(function(){return b})),n.d(r,"determinant",(function(){return x})),n.d(r,"multiply",(function(){return w})),n.d(r,"rotate",(function(){return _})),n.d(r,"scale",(function(){return E})),n.d(r,"fromRotation",(function(){return S})),n.d(r,"fromScaling",(function(){return M})),n.d(r,"str",(function(){return O})),n.d(r,"frob",(function(){return k})),n.d(r,"LDU",(function(){return A})),n.d(r,"add",(function(){return C})),n.d(r,"subtract",(function(){return j})),n.d(r,"exactEquals",(function(){return I})),n.d(r,"equals",(function(){return T})),n.d(r,"multiplyScalar",(function(){return N})),n.d(r,"multiplyScalarAndAdd",(function(){return P})),n.d(r,"mul",(function(){return D})),n.d(r,"sub",(function(){return L}));var i={};n.r(i),n.d(i,"create",(function(){return R})),n.d(i,"clone",(function(){return B})),n.d(i,"copy",(function(){return F})),n.d(i,"identity",(function(){return z})),n.d(i,"fromValues",(function(){return G})),n.d(i,"set",(function(){return Y})),n.d(i,"invert",(function(){return U})),n.d(i,"determinant",(function(){return X})),n.d(i,"multiply",(function(){return W})),n.d(i,"rotate",(function(){return V})),n.d(i,"scale",(function(){return H})),n.d(i,"translate",(function(){return q})),n.d(i,"fromRotation",(function(){return Z})),n.d(i,"fromScaling",(function(){return K})),n.d(i,"fromTranslation",(function(){return Q})),n.d(i,"str",(function(){return $})),n.d(i,"frob",(function(){return J})),n.d(i,"add",(function(){return tt})),n.d(i,"subtract",(function(){return et})),n.d(i,"multiplyScalar",(function(){return nt})),n.d(i,"multiplyScalarAndAdd",(function(){return rt})),n.d(i,"exactEquals",(function(){return it})),n.d(i,"equals",(function(){return ot})),n.d(i,"mul",(function(){return at})),n.d(i,"sub",(function(){return st}));var o={};n.r(o),n.d(o,"create",(function(){return ut})),n.d(o,"fromMat4",(function(){return ct})),n.d(o,"clone",(function(){return lt})),n.d(o,"copy",(function(){return ft})),n.d(o,"fromValues",(function(){return ht})),n.d(o,"set",(function(){return dt})),n.d(o,"identity",(function(){return pt})),n.d(o,"transpose",(function(){return gt})),n.d(o,"invert",(function(){return vt})),n.d(o,"adjoint",(function(){return yt})),n.d(o,"determinant",(function(){return mt})),n.d(o,"multiply",(function(){return bt})),n.d(o,"translate",(function(){return xt})),n.d(o,"rotate",(function(){return wt})),n.d(o,"scale",(function(){return _t})),n.d(o,"fromTranslation",(function(){return Et})),n.d(o,"fromRotation",(function(){return St})),n.d(o,"fromScaling",(function(){return Mt})),n.d(o,"fromMat2d",(function(){return Ot})),n.d(o,"fromQuat",(function(){return kt})),n.d(o,"normalFromMat4",(function(){return At})),n.d(o,"projection",(function(){return Ct})),n.d(o,"str",(function(){return jt})),n.d(o,"frob",(function(){return It})),n.d(o,"add",(function(){return Tt})),n.d(o,"subtract",(function(){return Nt})),n.d(o,"multiplyScalar",(function(){return Pt})),n.d(o,"multiplyScalarAndAdd",(function(){return Dt})),n.d(o,"exactEquals",(function(){return Lt})),n.d(o,"equals",(function(){return Rt})),n.d(o,"mul",(function(){return Bt})),n.d(o,"sub",(function(){return Ft}));var a={};n.r(a),n.d(a,"create",(function(){return zt})),n.d(a,"clone",(function(){return Gt})),n.d(a,"copy",(function(){return Yt})),n.d(a,"fromValues",(function(){return Ut})),n.d(a,"set",(function(){return Xt})),n.d(a,"identity",(function(){return Wt})),n.d(a,"transpose",(function(){return Vt})),n.d(a,"invert",(function(){return Ht})),n.d(a,"adjoint",(function(){return qt})),n.d(a,"determinant",(function(){return Zt})),n.d(a,"multiply",(function(){return Kt})),n.d(a,"translate",(function(){return Qt})),n.d(a,"scale",(function(){return $t})),n.d(a,"rotate",(function(){return Jt})),n.d(a,"rotateX",(function(){return te})),n.d(a,"rotateY",(function(){return ee})),n.d(a,"rotateZ",(function(){return ne})),n.d(a,"fromTranslation",(function(){return re})),n.d(a,"fromScaling",(function(){return ie})),n.d(a,"fromRotation",(function(){return oe})),n.d(a,"fromXRotation",(function(){return ae})),n.d(a,"fromYRotation",(function(){return se})),n.d(a,"fromZRotation",(function(){return ue})),n.d(a,"fromRotationTranslation",(function(){return ce})),n.d(a,"fromQuat2",(function(){return le})),n.d(a,"getTranslation",(function(){return fe})),n.d(a,"getScaling",(function(){return he})),n.d(a,"getRotation",(function(){return de})),n.d(a,"fromRotationTranslationScale",(function(){return pe})),n.d(a,"fromRotationTranslationScaleOrigin",(function(){return ge})),n.d(a,"fromQuat",(function(){return ve})),n.d(a,"frustum",(function(){return ye})),n.d(a,"perspectiveNO",(function(){return me})),n.d(a,"perspective",(function(){return be})),n.d(a,"perspectiveZO",(function(){return xe})),n.d(a,"perspectiveFromFieldOfView",(function(){return we})),n.d(a,"orthoNO",(function(){return _e})),n.d(a,"ortho",(function(){return Ee})),n.d(a,"orthoZO",(function(){return Se})),n.d(a,"lookAt",(function(){return Me})),n.d(a,"targetTo",(function(){return Oe})),n.d(a,"str",(function(){return ke})),n.d(a,"frob",(function(){return Ae})),n.d(a,"add",(function(){return Ce})),n.d(a,"subtract",(function(){return je})),n.d(a,"multiplyScalar",(function(){return Ie})),n.d(a,"multiplyScalarAndAdd",(function(){return Te})),n.d(a,"exactEquals",(function(){return Ne})),n.d(a,"equals",(function(){return Pe})),n.d(a,"mul",(function(){return De})),n.d(a,"sub",(function(){return Le}));var s={};n.r(s),n.d(s,"create",(function(){return Be})),n.d(s,"clone",(function(){return Fe})),n.d(s,"fromValues",(function(){return ze})),n.d(s,"copy",(function(){return Ge})),n.d(s,"set",(function(){return Ye})),n.d(s,"add",(function(){return Ue})),n.d(s,"subtract",(function(){return Xe})),n.d(s,"multiply",(function(){return We})),n.d(s,"divide",(function(){return Ve})),n.d(s,"ceil",(function(){return He})),n.d(s,"floor",(function(){return qe})),n.d(s,"min",(function(){return Ze})),n.d(s,"max",(function(){return Ke})),n.d(s,"round",(function(){return Qe})),n.d(s,"scale",(function(){return $e})),n.d(s,"scaleAndAdd",(function(){return Je})),n.d(s,"distance",(function(){return tn})),n.d(s,"squaredDistance",(function(){return en})),n.d(s,"length",(function(){return nn})),n.d(s,"squaredLength",(function(){return rn})),n.d(s,"negate",(function(){return on})),n.d(s,"inverse",(function(){return an})),n.d(s,"normalize",(function(){return sn})),n.d(s,"dot",(function(){return un})),n.d(s,"cross",(function(){return cn})),n.d(s,"lerp",(function(){return ln})),n.d(s,"random",(function(){return fn})),n.d(s,"transformMat4",(function(){return hn})),n.d(s,"transformQuat",(function(){return dn})),n.d(s,"zero",(function(){return pn})),n.d(s,"str",(function(){return gn})),n.d(s,"exactEquals",(function(){return vn})),n.d(s,"equals",(function(){return yn})),n.d(s,"sub",(function(){return bn})),n.d(s,"mul",(function(){return xn})),n.d(s,"div",(function(){return wn})),n.d(s,"dist",(function(){return _n})),n.d(s,"sqrDist",(function(){return En})),n.d(s,"len",(function(){return Sn})),n.d(s,"sqrLen",(function(){return Mn})),n.d(s,"forEach",(function(){return On}));var u={};n.r(u),n.d(u,"create",(function(){return kn})),n.d(u,"identity",(function(){return An})),n.d(u,"setAxisAngle",(function(){return Cn})),n.d(u,"getAxisAngle",(function(){return jn})),n.d(u,"getAngle",(function(){return In})),n.d(u,"multiply",(function(){return Tn})),n.d(u,"rotateX",(function(){return Nn})),n.d(u,"rotateY",(function(){return Pn})),n.d(u,"rotateZ",(function(){return Dn})),n.d(u,"calculateW",(function(){return Ln})),n.d(u,"exp",(function(){return Rn})),n.d(u,"ln",(function(){return Bn})),n.d(u,"pow",(function(){return Fn})),n.d(u,"slerp",(function(){return zn})),n.d(u,"random",(function(){return Gn})),n.d(u,"invert",(function(){return Yn})),n.d(u,"conjugate",(function(){return Un})),n.d(u,"fromMat3",(function(){return Xn})),n.d(u,"fromEuler",(function(){return Wn})),n.d(u,"str",(function(){return Vn})),n.d(u,"clone",(function(){return Jn})),n.d(u,"fromValues",(function(){return tr})),n.d(u,"copy",(function(){return er})),n.d(u,"set",(function(){return nr})),n.d(u,"add",(function(){return rr})),n.d(u,"mul",(function(){return ir})),n.d(u,"scale",(function(){return or})),n.d(u,"dot",(function(){return ar})),n.d(u,"lerp",(function(){return sr})),n.d(u,"length",(function(){return ur})),n.d(u,"len",(function(){return cr})),n.d(u,"squaredLength",(function(){return lr})),n.d(u,"sqrLen",(function(){return fr})),n.d(u,"normalize",(function(){return hr})),n.d(u,"exactEquals",(function(){return dr})),n.d(u,"equals",(function(){return pr})),n.d(u,"rotationTo",(function(){return gr})),n.d(u,"sqlerp",(function(){return vr})),n.d(u,"setAxes",(function(){return yr}));var c={};n.r(c),n.d(c,"create",(function(){return mr})),n.d(c,"clone",(function(){return br})),n.d(c,"fromValues",(function(){return xr})),n.d(c,"fromRotationTranslationValues",(function(){return wr})),n.d(c,"fromRotationTranslation",(function(){return _r})),n.d(c,"fromTranslation",(function(){return Er})),n.d(c,"fromRotation",(function(){return Sr})),n.d(c,"fromMat4",(function(){return Mr})),n.d(c,"copy",(function(){return Or})),n.d(c,"identity",(function(){return kr})),n.d(c,"set",(function(){return Ar})),n.d(c,"getReal",(function(){return Cr})),n.d(c,"getDual",(function(){return jr})),n.d(c,"setReal",(function(){return Ir})),n.d(c,"setDual",(function(){return Tr})),n.d(c,"getTranslation",(function(){return Nr})),n.d(c,"translate",(function(){return Pr})),n.d(c,"rotateX",(function(){return Dr})),n.d(c,"rotateY",(function(){return Lr})),n.d(c,"rotateZ",(function(){return Rr})),n.d(c,"rotateByQuatAppend",(function(){return Br})),n.d(c,"rotateByQuatPrepend",(function(){return Fr})),n.d(c,"rotateAroundAxis",(function(){return zr})),n.d(c,"add",(function(){return Gr})),n.d(c,"multiply",(function(){return Yr})),n.d(c,"mul",(function(){return Ur})),n.d(c,"scale",(function(){return Xr})),n.d(c,"dot",(function(){return Wr})),n.d(c,"lerp",(function(){return Vr})),n.d(c,"invert",(function(){return Hr})),n.d(c,"conjugate",(function(){return qr})),n.d(c,"length",(function(){return Zr})),n.d(c,"len",(function(){return Kr})),n.d(c,"squaredLength",(function(){return Qr})),n.d(c,"sqrLen",(function(){return $r})),n.d(c,"normalize",(function(){return Jr})),n.d(c,"str",(function(){return ti})),n.d(c,"exactEquals",(function(){return ei})),n.d(c,"equals",(function(){return ni}));var l=n(2);function f(){var t=new l.ARRAY_TYPE(4);return l.ARRAY_TYPE!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t}function h(t){var e=new l.ARRAY_TYPE(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}function d(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function p(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t}function g(t,e,n,r){var i=new l.ARRAY_TYPE(4);return i[0]=t,i[1]=e,i[2]=n,i[3]=r,i}function v(t,e,n,r,i){return t[0]=e,t[1]=n,t[2]=r,t[3]=i,t}function y(t,e){if(t===e){var n=e[1];t[1]=e[2],t[2]=n}else t[0]=e[0],t[1]=e[2],t[2]=e[1],t[3]=e[3];return t}function m(t,e){var n=e[0],r=e[1],i=e[2],o=e[3],a=n*o-i*r;return a?(a=1/a,t[0]=o*a,t[1]=-r*a,t[2]=-i*a,t[3]=n*a,t):null}function b(t,e){var n=e[0];return t[0]=e[3],t[1]=-e[1],t[2]=-e[2],t[3]=n,t}function x(t){return t[0]*t[3]-t[2]*t[1]}function w(t,e,n){var r=e[0],i=e[1],o=e[2],a=e[3],s=n[0],u=n[1],c=n[2],l=n[3];return t[0]=r*s+o*u,t[1]=i*s+a*u,t[2]=r*c+o*l,t[3]=i*c+a*l,t}function _(t,e,n){var r=e[0],i=e[1],o=e[2],a=e[3],s=Math.sin(n),u=Math.cos(n);return t[0]=r*u+o*s,t[1]=i*u+a*s,t[2]=r*-s+o*u,t[3]=i*-s+a*u,t}function E(t,e,n){var r=e[0],i=e[1],o=e[2],a=e[3],s=n[0],u=n[1];return t[0]=r*s,t[1]=i*s,t[2]=o*u,t[3]=a*u,t}function S(t,e){var n=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=n,t[2]=-n,t[3]=r,t}function M(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t}function O(t){return"mat2("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"}function k(t){return Math.hypot(t[0],t[1],t[2],t[3])}function A(t,e,n,r){return t[2]=r[2]/r[0],n[0]=r[0],n[1]=r[1],n[3]=r[3]-t[2]*n[1],[t,e,n]}function C(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t[3]=e[3]+n[3],t}function j(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2],t[3]=e[3]-n[3],t}function I(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]}function T(t,e){var n=t[0],r=t[1],i=t[2],o=t[3],a=e[0],s=e[1],u=e[2],c=e[3];return Math.abs(n-a)<=l.EPSILON*Math.max(1,Math.abs(n),Math.abs(a))&&Math.abs(r-s)<=l.EPSILON*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(i-u)<=l.EPSILON*Math.max(1,Math.abs(i),Math.abs(u))&&Math.abs(o-c)<=l.EPSILON*Math.max(1,Math.abs(o),Math.abs(c))}function N(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t}function P(t,e,n,r){return t[0]=e[0]+n[0]*r,t[1]=e[1]+n[1]*r,t[2]=e[2]+n[2]*r,t[3]=e[3]+n[3]*r,t}var D=w,L=j;function R(){var t=new l.ARRAY_TYPE(6);return l.ARRAY_TYPE!=Float32Array&&(t[1]=0,t[2]=0,t[4]=0,t[5]=0),t[0]=1,t[3]=1,t}function B(t){var e=new l.ARRAY_TYPE(6);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e}function F(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t}function z(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t}function G(t,e,n,r,i,o){var a=new l.ARRAY_TYPE(6);return a[0]=t,a[1]=e,a[2]=n,a[3]=r,a[4]=i,a[5]=o,a}function Y(t,e,n,r,i,o,a){return t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=o,t[5]=a,t}function U(t,e){var n=e[0],r=e[1],i=e[2],o=e[3],a=e[4],s=e[5],u=n*o-r*i;return u?(u=1/u,t[0]=o*u,t[1]=-r*u,t[2]=-i*u,t[3]=n*u,t[4]=(i*s-o*a)*u,t[5]=(r*a-n*s)*u,t):null}function X(t){return t[0]*t[3]-t[1]*t[2]}function W(t,e,n){var r=e[0],i=e[1],o=e[2],a=e[3],s=e[4],u=e[5],c=n[0],l=n[1],f=n[2],h=n[3],d=n[4],p=n[5];return t[0]=r*c+o*l,t[1]=i*c+a*l,t[2]=r*f+o*h,t[3]=i*f+a*h,t[4]=r*d+o*p+s,t[5]=i*d+a*p+u,t}function V(t,e,n){var r=e[0],i=e[1],o=e[2],a=e[3],s=e[4],u=e[5],c=Math.sin(n),l=Math.cos(n);return t[0]=r*l+o*c,t[1]=i*l+a*c,t[2]=r*-c+o*l,t[3]=i*-c+a*l,t[4]=s,t[5]=u,t}function H(t,e,n){var r=e[0],i=e[1],o=e[2],a=e[3],s=e[4],u=e[5],c=n[0],l=n[1];return t[0]=r*c,t[1]=i*c,t[2]=o*l,t[3]=a*l,t[4]=s,t[5]=u,t}function q(t,e,n){var r=e[0],i=e[1],o=e[2],a=e[3],s=e[4],u=e[5],c=n[0],l=n[1];return t[0]=r,t[1]=i,t[2]=o,t[3]=a,t[4]=r*c+o*l+s,t[5]=i*c+a*l+u,t}function Z(t,e){var n=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=n,t[2]=-n,t[3]=r,t[4]=0,t[5]=0,t}function K(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t[4]=0,t[5]=0,t}function Q(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=e[0],t[5]=e[1],t}function $(t){return"mat2d("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+")"}function J(t){return Math.hypot(t[0],t[1],t[2],t[3],t[4],t[5],1)}function tt(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t[3]=e[3]+n[3],t[4]=e[4]+n[4],t[5]=e[5]+n[5],t}function et(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2],t[3]=e[3]-n[3],t[4]=e[4]-n[4],t[5]=e[5]-n[5],t}function nt(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*n,t[5]=e[5]*n,t}function rt(t,e,n,r){return t[0]=e[0]+n[0]*r,t[1]=e[1]+n[1]*r,t[2]=e[2]+n[2]*r,t[3]=e[3]+n[3]*r,t[4]=e[4]+n[4]*r,t[5]=e[5]+n[5]*r,t}function it(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]}function ot(t,e){var n=t[0],r=t[1],i=t[2],o=t[3],a=t[4],s=t[5],u=e[0],c=e[1],f=e[2],h=e[3],d=e[4],p=e[5];return Math.abs(n-u)<=l.EPSILON*Math.max(1,Math.abs(n),Math.abs(u))&&Math.abs(r-c)<=l.EPSILON*Math.max(1,Math.abs(r),Math.abs(c))&&Math.abs(i-f)<=l.EPSILON*Math.max(1,Math.abs(i),Math.abs(f))&&Math.abs(o-h)<=l.EPSILON*Math.max(1,Math.abs(o),Math.abs(h))&&Math.abs(a-d)<=l.EPSILON*Math.max(1,Math.abs(a),Math.abs(d))&&Math.abs(s-p)<=l.EPSILON*Math.max(1,Math.abs(s),Math.abs(p))}var at=W,st=et;function ut(){var t=new l.ARRAY_TYPE(9);return l.ARRAY_TYPE!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t}function ct(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t}function lt(t){var e=new l.ARRAY_TYPE(9);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function ft(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function ht(t,e,n,r,i,o,a,s,u){var c=new l.ARRAY_TYPE(9);return c[0]=t,c[1]=e,c[2]=n,c[3]=r,c[4]=i,c[5]=o,c[6]=a,c[7]=s,c[8]=u,c}function dt(t,e,n,r,i,o,a,s,u,c){return t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=o,t[5]=a,t[6]=s,t[7]=u,t[8]=c,t}function pt(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}function gt(t,e){if(t===e){var n=e[1],r=e[2],i=e[5];t[1]=e[3],t[2]=e[6],t[3]=n,t[5]=e[7],t[6]=r,t[7]=i}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t}function vt(t,e){var n=e[0],r=e[1],i=e[2],o=e[3],a=e[4],s=e[5],u=e[6],c=e[7],l=e[8],f=l*a-s*c,h=-l*o+s*u,d=c*o-a*u,p=n*f+r*h+i*d;return p?(p=1/p,t[0]=f*p,t[1]=(-l*r+i*c)*p,t[2]=(s*r-i*a)*p,t[3]=h*p,t[4]=(l*n-i*u)*p,t[5]=(-s*n+i*o)*p,t[6]=d*p,t[7]=(-c*n+r*u)*p,t[8]=(a*n-r*o)*p,t):null}function yt(t,e){var n=e[0],r=e[1],i=e[2],o=e[3],a=e[4],s=e[5],u=e[6],c=e[7],l=e[8];return t[0]=a*l-s*c,t[1]=i*c-r*l,t[2]=r*s-i*a,t[3]=s*u-o*l,t[4]=n*l-i*u,t[5]=i*o-n*s,t[6]=o*c-a*u,t[7]=r*u-n*c,t[8]=n*a-r*o,t}function mt(t){var e=t[0],n=t[1],r=t[2],i=t[3],o=t[4],a=t[5],s=t[6],u=t[7],c=t[8];return e*(c*o-a*u)+n*(-c*i+a*s)+r*(u*i-o*s)}function bt(t,e,n){var r=e[0],i=e[1],o=e[2],a=e[3],s=e[4],u=e[5],c=e[6],l=e[7],f=e[8],h=n[0],d=n[1],p=n[2],g=n[3],v=n[4],y=n[5],m=n[6],b=n[7],x=n[8];return t[0]=h*r+d*a+p*c,t[1]=h*i+d*s+p*l,t[2]=h*o+d*u+p*f,t[3]=g*r+v*a+y*c,t[4]=g*i+v*s+y*l,t[5]=g*o+v*u+y*f,t[6]=m*r+b*a+x*c,t[7]=m*i+b*s+x*l,t[8]=m*o+b*u+x*f,t}function xt(t,e,n){var r=e[0],i=e[1],o=e[2],a=e[3],s=e[4],u=e[5],c=e[6],l=e[7],f=e[8],h=n[0],d=n[1];return t[0]=r,t[1]=i,t[2]=o,t[3]=a,t[4]=s,t[5]=u,t[6]=h*r+d*a+c,t[7]=h*i+d*s+l,t[8]=h*o+d*u+f,t}function wt(t,e,n){var r=e[0],i=e[1],o=e[2],a=e[3],s=e[4],u=e[5],c=e[6],l=e[7],f=e[8],h=Math.sin(n),d=Math.cos(n);return t[0]=d*r+h*a,t[1]=d*i+h*s,t[2]=d*o+h*u,t[3]=d*a-h*r,t[4]=d*s-h*i,t[5]=d*u-h*o,t[6]=c,t[7]=l,t[8]=f,t}function _t(t,e,n){var r=n[0],i=n[1];return t[0]=r*e[0],t[1]=r*e[1],t[2]=r*e[2],t[3]=i*e[3],t[4]=i*e[4],t[5]=i*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function Et(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=e[0],t[7]=e[1],t[8]=1,t}function St(t,e){var n=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=n,t[2]=0,t[3]=-n,t[4]=r,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}function Mt(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=e[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}function Ot(t,e){return t[0]=e[0],t[1]=e[1],t[2]=0,t[3]=e[2],t[4]=e[3],t[5]=0,t[6]=e[4],t[7]=e[5],t[8]=1,t}function kt(t,e){var n=e[0],r=e[1],i=e[2],o=e[3],a=n+n,s=r+r,u=i+i,c=n*a,l=r*a,f=r*s,h=i*a,d=i*s,p=i*u,g=o*a,v=o*s,y=o*u;return t[0]=1-f-p,t[3]=l-y,t[6]=h+v,t[1]=l+y,t[4]=1-c-p,t[7]=d-g,t[2]=h-v,t[5]=d+g,t[8]=1-c-f,t}function At(t,e){var n=e[0],r=e[1],i=e[2],o=e[3],a=e[4],s=e[5],u=e[6],c=e[7],l=e[8],f=e[9],h=e[10],d=e[11],p=e[12],g=e[13],v=e[14],y=e[15],m=n*s-r*a,b=n*u-i*a,x=n*c-o*a,w=r*u-i*s,_=r*c-o*s,E=i*c-o*u,S=l*g-f*p,M=l*v-h*p,O=l*y-d*p,k=f*v-h*g,A=f*y-d*g,C=h*y-d*v,j=m*C-b*A+x*k+w*O-_*M+E*S;return j?(j=1/j,t[0]=(s*C-u*A+c*k)*j,t[1]=(u*O-a*C-c*M)*j,t[2]=(a*A-s*O+c*S)*j,t[3]=(i*A-r*C-o*k)*j,t[4]=(n*C-i*O+o*M)*j,t[5]=(r*O-n*A-o*S)*j,t[6]=(g*E-v*_+y*w)*j,t[7]=(v*x-p*E-y*b)*j,t[8]=(p*_-g*x+y*m)*j,t):null}function Ct(t,e,n){return t[0]=2/e,t[1]=0,t[2]=0,t[3]=0,t[4]=-2/n,t[5]=0,t[6]=-1,t[7]=1,t[8]=1,t}function jt(t){return"mat3("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+")"}function It(t){return Math.hypot(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])}function Tt(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t[3]=e[3]+n[3],t[4]=e[4]+n[4],t[5]=e[5]+n[5],t[6]=e[6]+n[6],t[7]=e[7]+n[7],t[8]=e[8]+n[8],t}function Nt(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2],t[3]=e[3]-n[3],t[4]=e[4]-n[4],t[5]=e[5]-n[5],t[6]=e[6]-n[6],t[7]=e[7]-n[7],t[8]=e[8]-n[8],t}function Pt(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*n,t[5]=e[5]*n,t[6]=e[6]*n,t[7]=e[7]*n,t[8]=e[8]*n,t}function Dt(t,e,n,r){return t[0]=e[0]+n[0]*r,t[1]=e[1]+n[1]*r,t[2]=e[2]+n[2]*r,t[3]=e[3]+n[3]*r,t[4]=e[4]+n[4]*r,t[5]=e[5]+n[5]*r,t[6]=e[6]+n[6]*r,t[7]=e[7]+n[7]*r,t[8]=e[8]+n[8]*r,t}function Lt(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]}function Rt(t,e){var n=t[0],r=t[1],i=t[2],o=t[3],a=t[4],s=t[5],u=t[6],c=t[7],f=t[8],h=e[0],d=e[1],p=e[2],g=e[3],v=e[4],y=e[5],m=e[6],b=e[7],x=e[8];return Math.abs(n-h)<=l.EPSILON*Math.max(1,Math.abs(n),Math.abs(h))&&Math.abs(r-d)<=l.EPSILON*Math.max(1,Math.abs(r),Math.abs(d))&&Math.abs(i-p)<=l.EPSILON*Math.max(1,Math.abs(i),Math.abs(p))&&Math.abs(o-g)<=l.EPSILON*Math.max(1,Math.abs(o),Math.abs(g))&&Math.abs(a-v)<=l.EPSILON*Math.max(1,Math.abs(a),Math.abs(v))&&Math.abs(s-y)<=l.EPSILON*Math.max(1,Math.abs(s),Math.abs(y))&&Math.abs(u-m)<=l.EPSILON*Math.max(1,Math.abs(u),Math.abs(m))&&Math.abs(c-b)<=l.EPSILON*Math.max(1,Math.abs(c),Math.abs(b))&&Math.abs(f-x)<=l.EPSILON*Math.max(1,Math.abs(f),Math.abs(x))}var Bt=bt,Ft=Nt;function zt(){var t=new l.ARRAY_TYPE(16);return l.ARRAY_TYPE!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t}function Gt(t){var e=new l.ARRAY_TYPE(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function Yt(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Ut(t,e,n,r,i,o,a,s,u,c,f,h,d,p,g,v){var y=new l.ARRAY_TYPE(16);return y[0]=t,y[1]=e,y[2]=n,y[3]=r,y[4]=i,y[5]=o,y[6]=a,y[7]=s,y[8]=u,y[9]=c,y[10]=f,y[11]=h,y[12]=d,y[13]=p,y[14]=g,y[15]=v,y}function Xt(t,e,n,r,i,o,a,s,u,c,l,f,h,d,p,g,v){return t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=o,t[5]=a,t[6]=s,t[7]=u,t[8]=c,t[9]=l,t[10]=f,t[11]=h,t[12]=d,t[13]=p,t[14]=g,t[15]=v,t}function Wt(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Vt(t,e){if(t===e){var n=e[1],r=e[2],i=e[3],o=e[6],a=e[7],s=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=n,t[6]=e[9],t[7]=e[13],t[8]=r,t[9]=o,t[11]=e[14],t[12]=i,t[13]=a,t[14]=s}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}function Ht(t,e){var n=e[0],r=e[1],i=e[2],o=e[3],a=e[4],s=e[5],u=e[6],c=e[7],l=e[8],f=e[9],h=e[10],d=e[11],p=e[12],g=e[13],v=e[14],y=e[15],m=n*s-r*a,b=n*u-i*a,x=n*c-o*a,w=r*u-i*s,_=r*c-o*s,E=i*c-o*u,S=l*g-f*p,M=l*v-h*p,O=l*y-d*p,k=f*v-h*g,A=f*y-d*g,C=h*y-d*v,j=m*C-b*A+x*k+w*O-_*M+E*S;return j?(j=1/j,t[0]=(s*C-u*A+c*k)*j,t[1]=(i*A-r*C-o*k)*j,t[2]=(g*E-v*_+y*w)*j,t[3]=(h*_-f*E-d*w)*j,t[4]=(u*O-a*C-c*M)*j,t[5]=(n*C-i*O+o*M)*j,t[6]=(v*x-p*E-y*b)*j,t[7]=(l*E-h*x+d*b)*j,t[8]=(a*A-s*O+c*S)*j,t[9]=(r*O-n*A-o*S)*j,t[10]=(p*_-g*x+y*m)*j,t[11]=(f*x-l*_-d*m)*j,t[12]=(s*M-a*k-u*S)*j,t[13]=(n*k-r*M+i*S)*j,t[14]=(g*b-p*w-v*m)*j,t[15]=(l*w-f*b+h*m)*j,t):null}function qt(t,e){var n=e[0],r=e[1],i=e[2],o=e[3],a=e[4],s=e[5],u=e[6],c=e[7],l=e[8],f=e[9],h=e[10],d=e[11],p=e[12],g=e[13],v=e[14],y=e[15];return t[0]=s*(h*y-d*v)-f*(u*y-c*v)+g*(u*d-c*h),t[1]=-(r*(h*y-d*v)-f*(i*y-o*v)+g*(i*d-o*h)),t[2]=r*(u*y-c*v)-s*(i*y-o*v)+g*(i*c-o*u),t[3]=-(r*(u*d-c*h)-s*(i*d-o*h)+f*(i*c-o*u)),t[4]=-(a*(h*y-d*v)-l*(u*y-c*v)+p*(u*d-c*h)),t[5]=n*(h*y-d*v)-l*(i*y-o*v)+p*(i*d-o*h),t[6]=-(n*(u*y-c*v)-a*(i*y-o*v)+p*(i*c-o*u)),t[7]=n*(u*d-c*h)-a*(i*d-o*h)+l*(i*c-o*u),t[8]=a*(f*y-d*g)-l*(s*y-c*g)+p*(s*d-c*f),t[9]=-(n*(f*y-d*g)-l*(r*y-o*g)+p*(r*d-o*f)),t[10]=n*(s*y-c*g)-a*(r*y-o*g)+p*(r*c-o*s),t[11]=-(n*(s*d-c*f)-a*(r*d-o*f)+l*(r*c-o*s)),t[12]=-(a*(f*v-h*g)-l*(s*v-u*g)+p*(s*h-u*f)),t[13]=n*(f*v-h*g)-l*(r*v-i*g)+p*(r*h-i*f),t[14]=-(n*(s*v-u*g)-a*(r*v-i*g)+p*(r*u-i*s)),t[15]=n*(s*h-u*f)-a*(r*h-i*f)+l*(r*u-i*s),t}function Zt(t){var e=t[0],n=t[1],r=t[2],i=t[3],o=t[4],a=t[5],s=t[6],u=t[7],c=t[8],l=t[9],f=t[10],h=t[11],d=t[12],p=t[13],g=t[14],v=t[15];return(e*a-n*o)*(f*v-h*g)-(e*s-r*o)*(l*v-h*p)+(e*u-i*o)*(l*g-f*p)+(n*s-r*a)*(c*v-h*d)-(n*u-i*a)*(c*g-f*d)+(r*u-i*s)*(c*p-l*d)}function Kt(t,e,n){var r=e[0],i=e[1],o=e[2],a=e[3],s=e[4],u=e[5],c=e[6],l=e[7],f=e[8],h=e[9],d=e[10],p=e[11],g=e[12],v=e[13],y=e[14],m=e[15],b=n[0],x=n[1],w=n[2],_=n[3];return t[0]=b*r+x*s+w*f+_*g,t[1]=b*i+x*u+w*h+_*v,t[2]=b*o+x*c+w*d+_*y,t[3]=b*a+x*l+w*p+_*m,b=n[4],x=n[5],w=n[6],_=n[7],t[4]=b*r+x*s+w*f+_*g,t[5]=b*i+x*u+w*h+_*v,t[6]=b*o+x*c+w*d+_*y,t[7]=b*a+x*l+w*p+_*m,b=n[8],x=n[9],w=n[10],_=n[11],t[8]=b*r+x*s+w*f+_*g,t[9]=b*i+x*u+w*h+_*v,t[10]=b*o+x*c+w*d+_*y,t[11]=b*a+x*l+w*p+_*m,b=n[12],x=n[13],w=n[14],_=n[15],t[12]=b*r+x*s+w*f+_*g,t[13]=b*i+x*u+w*h+_*v,t[14]=b*o+x*c+w*d+_*y,t[15]=b*a+x*l+w*p+_*m,t}function Qt(t,e,n){var r,i,o,a,s,u,c,l,f,h,d,p,g=n[0],v=n[1],y=n[2];return e===t?(t[12]=e[0]*g+e[4]*v+e[8]*y+e[12],t[13]=e[1]*g+e[5]*v+e[9]*y+e[13],t[14]=e[2]*g+e[6]*v+e[10]*y+e[14],t[15]=e[3]*g+e[7]*v+e[11]*y+e[15]):(r=e[0],i=e[1],o=e[2],a=e[3],s=e[4],u=e[5],c=e[6],l=e[7],f=e[8],h=e[9],d=e[10],p=e[11],t[0]=r,t[1]=i,t[2]=o,t[3]=a,t[4]=s,t[5]=u,t[6]=c,t[7]=l,t[8]=f,t[9]=h,t[10]=d,t[11]=p,t[12]=r*g+s*v+f*y+e[12],t[13]=i*g+u*v+h*y+e[13],t[14]=o*g+c*v+d*y+e[14],t[15]=a*g+l*v+p*y+e[15]),t}function $t(t,e,n){var r=n[0],i=n[1],o=n[2];return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*o,t[9]=e[9]*o,t[10]=e[10]*o,t[11]=e[11]*o,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Jt(t,e,n,r){var i,o,a,s,u,c,f,h,d,p,g,v,y,m,b,x,w,_,E,S,M,O,k,A,C=r[0],j=r[1],I=r[2],T=Math.hypot(C,j,I);return T<l.EPSILON?null:(C*=T=1/T,j*=T,I*=T,i=Math.sin(n),a=1-(o=Math.cos(n)),s=e[0],u=e[1],c=e[2],f=e[3],h=e[4],d=e[5],p=e[6],g=e[7],v=e[8],y=e[9],m=e[10],b=e[11],x=C*C*a+o,w=j*C*a+I*i,_=I*C*a-j*i,E=C*j*a-I*i,S=j*j*a+o,M=I*j*a+C*i,O=C*I*a+j*i,k=j*I*a-C*i,A=I*I*a+o,t[0]=s*x+h*w+v*_,t[1]=u*x+d*w+y*_,t[2]=c*x+p*w+m*_,t[3]=f*x+g*w+b*_,t[4]=s*E+h*S+v*M,t[5]=u*E+d*S+y*M,t[6]=c*E+p*S+m*M,t[7]=f*E+g*S+b*M,t[8]=s*O+h*k+v*A,t[9]=u*O+d*k+y*A,t[10]=c*O+p*k+m*A,t[11]=f*O+g*k+b*A,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}function te(t,e,n){var r=Math.sin(n),i=Math.cos(n),o=e[4],a=e[5],s=e[6],u=e[7],c=e[8],l=e[9],f=e[10],h=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=o*i+c*r,t[5]=a*i+l*r,t[6]=s*i+f*r,t[7]=u*i+h*r,t[8]=c*i-o*r,t[9]=l*i-a*r,t[10]=f*i-s*r,t[11]=h*i-u*r,t}function ee(t,e,n){var r=Math.sin(n),i=Math.cos(n),o=e[0],a=e[1],s=e[2],u=e[3],c=e[8],l=e[9],f=e[10],h=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=o*i-c*r,t[1]=a*i-l*r,t[2]=s*i-f*r,t[3]=u*i-h*r,t[8]=o*r+c*i,t[9]=a*r+l*i,t[10]=s*r+f*i,t[11]=u*r+h*i,t}function ne(t,e,n){var r=Math.sin(n),i=Math.cos(n),o=e[0],a=e[1],s=e[2],u=e[3],c=e[4],l=e[5],f=e[6],h=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=o*i+c*r,t[1]=a*i+l*r,t[2]=s*i+f*r,t[3]=u*i+h*r,t[4]=c*i-o*r,t[5]=l*i-a*r,t[6]=f*i-s*r,t[7]=h*i-u*r,t}function re(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t}function ie(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function oe(t,e,n){var r,i,o,a=n[0],s=n[1],u=n[2],c=Math.hypot(a,s,u);return c<l.EPSILON?null:(a*=c=1/c,s*=c,u*=c,r=Math.sin(e),o=1-(i=Math.cos(e)),t[0]=a*a*o+i,t[1]=s*a*o+u*r,t[2]=u*a*o-s*r,t[3]=0,t[4]=a*s*o-u*r,t[5]=s*s*o+i,t[6]=u*s*o+a*r,t[7]=0,t[8]=a*u*o+s*r,t[9]=s*u*o-a*r,t[10]=u*u*o+i,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)}function ae(t,e){var n=Math.sin(e),r=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=r,t[6]=n,t[7]=0,t[8]=0,t[9]=-n,t[10]=r,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function se(t,e){var n=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=0,t[2]=-n,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=n,t[9]=0,t[10]=r,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function ue(t,e){var n=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=n,t[2]=0,t[3]=0,t[4]=-n,t[5]=r,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function ce(t,e,n){var r=e[0],i=e[1],o=e[2],a=e[3],s=r+r,u=i+i,c=o+o,l=r*s,f=r*u,h=r*c,d=i*u,p=i*c,g=o*c,v=a*s,y=a*u,m=a*c;return t[0]=1-(d+g),t[1]=f+m,t[2]=h-y,t[3]=0,t[4]=f-m,t[5]=1-(l+g),t[6]=p+v,t[7]=0,t[8]=h+y,t[9]=p-v,t[10]=1-(l+d),t[11]=0,t[12]=n[0],t[13]=n[1],t[14]=n[2],t[15]=1,t}function le(t,e){var n=new l.ARRAY_TYPE(3),r=-e[0],i=-e[1],o=-e[2],a=e[3],s=e[4],u=e[5],c=e[6],f=e[7],h=r*r+i*i+o*o+a*a;return h>0?(n[0]=2*(s*a+f*r+u*o-c*i)/h,n[1]=2*(u*a+f*i+c*r-s*o)/h,n[2]=2*(c*a+f*o+s*i-u*r)/h):(n[0]=2*(s*a+f*r+u*o-c*i),n[1]=2*(u*a+f*i+c*r-s*o),n[2]=2*(c*a+f*o+s*i-u*r)),ce(t,e,n),t}function fe(t,e){return t[0]=e[12],t[1]=e[13],t[2]=e[14],t}function he(t,e){var n=e[0],r=e[1],i=e[2],o=e[4],a=e[5],s=e[6],u=e[8],c=e[9],l=e[10];return t[0]=Math.hypot(n,r,i),t[1]=Math.hypot(o,a,s),t[2]=Math.hypot(u,c,l),t}function de(t,e){var n=new l.ARRAY_TYPE(3);he(n,e);var r=1/n[0],i=1/n[1],o=1/n[2],a=e[0]*r,s=e[1]*i,u=e[2]*o,c=e[4]*r,f=e[5]*i,h=e[6]*o,d=e[8]*r,p=e[9]*i,g=e[10]*o,v=a+f+g,y=0;return v>0?(y=2*Math.sqrt(v+1),t[3]=.25*y,t[0]=(h-p)/y,t[1]=(d-u)/y,t[2]=(s-c)/y):a>f&&a>g?(y=2*Math.sqrt(1+a-f-g),t[3]=(h-p)/y,t[0]=.25*y,t[1]=(s+c)/y,t[2]=(d+u)/y):f>g?(y=2*Math.sqrt(1+f-a-g),t[3]=(d-u)/y,t[0]=(s+c)/y,t[1]=.25*y,t[2]=(h+p)/y):(y=2*Math.sqrt(1+g-a-f),t[3]=(s-c)/y,t[0]=(d+u)/y,t[1]=(h+p)/y,t[2]=.25*y),t}function pe(t,e,n,r){var i=e[0],o=e[1],a=e[2],s=e[3],u=i+i,c=o+o,l=a+a,f=i*u,h=i*c,d=i*l,p=o*c,g=o*l,v=a*l,y=s*u,m=s*c,b=s*l,x=r[0],w=r[1],_=r[2];return t[0]=(1-(p+v))*x,t[1]=(h+b)*x,t[2]=(d-m)*x,t[3]=0,t[4]=(h-b)*w,t[5]=(1-(f+v))*w,t[6]=(g+y)*w,t[7]=0,t[8]=(d+m)*_,t[9]=(g-y)*_,t[10]=(1-(f+p))*_,t[11]=0,t[12]=n[0],t[13]=n[1],t[14]=n[2],t[15]=1,t}function ge(t,e,n,r,i){var o=e[0],a=e[1],s=e[2],u=e[3],c=o+o,l=a+a,f=s+s,h=o*c,d=o*l,p=o*f,g=a*l,v=a*f,y=s*f,m=u*c,b=u*l,x=u*f,w=r[0],_=r[1],E=r[2],S=i[0],M=i[1],O=i[2],k=(1-(g+y))*w,A=(d+x)*w,C=(p-b)*w,j=(d-x)*_,I=(1-(h+y))*_,T=(v+m)*_,N=(p+b)*E,P=(v-m)*E,D=(1-(h+g))*E;return t[0]=k,t[1]=A,t[2]=C,t[3]=0,t[4]=j,t[5]=I,t[6]=T,t[7]=0,t[8]=N,t[9]=P,t[10]=D,t[11]=0,t[12]=n[0]+S-(k*S+j*M+N*O),t[13]=n[1]+M-(A*S+I*M+P*O),t[14]=n[2]+O-(C*S+T*M+D*O),t[15]=1,t}function ve(t,e){var n=e[0],r=e[1],i=e[2],o=e[3],a=n+n,s=r+r,u=i+i,c=n*a,l=r*a,f=r*s,h=i*a,d=i*s,p=i*u,g=o*a,v=o*s,y=o*u;return t[0]=1-f-p,t[1]=l+y,t[2]=h-v,t[3]=0,t[4]=l-y,t[5]=1-c-p,t[6]=d+g,t[7]=0,t[8]=h+v,t[9]=d-g,t[10]=1-c-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function ye(t,e,n,r,i,o,a){var s=1/(n-e),u=1/(i-r),c=1/(o-a);return t[0]=2*o*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*o*u,t[6]=0,t[7]=0,t[8]=(n+e)*s,t[9]=(i+r)*u,t[10]=(a+o)*c,t[11]=-1,t[12]=0,t[13]=0,t[14]=a*o*2*c,t[15]=0,t}function me(t,e,n,r,i){var o,a=1/Math.tan(e/2);return t[0]=a/n,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=i&&i!==1/0?(o=1/(r-i),t[10]=(i+r)*o,t[14]=2*i*r*o):(t[10]=-1,t[14]=-2*r),t}var be=me;function xe(t,e,n,r,i){var o,a=1/Math.tan(e/2);return t[0]=a/n,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=i&&i!==1/0?(o=1/(r-i),t[10]=i*o,t[14]=i*r*o):(t[10]=-1,t[14]=-r),t}function we(t,e,n,r){var i=Math.tan(e.upDegrees*Math.PI/180),o=Math.tan(e.downDegrees*Math.PI/180),a=Math.tan(e.leftDegrees*Math.PI/180),s=Math.tan(e.rightDegrees*Math.PI/180),u=2/(a+s),c=2/(i+o);return t[0]=u,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=c,t[6]=0,t[7]=0,t[8]=-(a-s)*u*.5,t[9]=(i-o)*c*.5,t[10]=r/(n-r),t[11]=-1,t[12]=0,t[13]=0,t[14]=r*n/(n-r),t[15]=0,t}function _e(t,e,n,r,i,o,a){var s=1/(e-n),u=1/(r-i),c=1/(o-a);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*u,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+n)*s,t[13]=(i+r)*u,t[14]=(a+o)*c,t[15]=1,t}var Ee=_e;function Se(t,e,n,r,i,o,a){var s=1/(e-n),u=1/(r-i),c=1/(o-a);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*u,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=c,t[11]=0,t[12]=(e+n)*s,t[13]=(i+r)*u,t[14]=o*c,t[15]=1,t}function Me(t,e,n,r){var i,o,a,s,u,c,f,h,d,p,g=e[0],v=e[1],y=e[2],m=r[0],b=r[1],x=r[2],w=n[0],_=n[1],E=n[2];return Math.abs(g-w)<l.EPSILON&&Math.abs(v-_)<l.EPSILON&&Math.abs(y-E)<l.EPSILON?Wt(t):(f=g-w,h=v-_,d=y-E,i=b*(d*=p=1/Math.hypot(f,h,d))-x*(h*=p),o=x*(f*=p)-m*d,a=m*h-b*f,(p=Math.hypot(i,o,a))?(i*=p=1/p,o*=p,a*=p):(i=0,o=0,a=0),s=h*a-d*o,u=d*i-f*a,c=f*o-h*i,(p=Math.hypot(s,u,c))?(s*=p=1/p,u*=p,c*=p):(s=0,u=0,c=0),t[0]=i,t[1]=s,t[2]=f,t[3]=0,t[4]=o,t[5]=u,t[6]=h,t[7]=0,t[8]=a,t[9]=c,t[10]=d,t[11]=0,t[12]=-(i*g+o*v+a*y),t[13]=-(s*g+u*v+c*y),t[14]=-(f*g+h*v+d*y),t[15]=1,t)}function Oe(t,e,n,r){var i=e[0],o=e[1],a=e[2],s=r[0],u=r[1],c=r[2],l=i-n[0],f=o-n[1],h=a-n[2],d=l*l+f*f+h*h;d>0&&(l*=d=1/Math.sqrt(d),f*=d,h*=d);var p=u*h-c*f,g=c*l-s*h,v=s*f-u*l;return(d=p*p+g*g+v*v)>0&&(p*=d=1/Math.sqrt(d),g*=d,v*=d),t[0]=p,t[1]=g,t[2]=v,t[3]=0,t[4]=f*v-h*g,t[5]=h*p-l*v,t[6]=l*g-f*p,t[7]=0,t[8]=l,t[9]=f,t[10]=h,t[11]=0,t[12]=i,t[13]=o,t[14]=a,t[15]=1,t}function ke(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"}function Ae(t){return Math.hypot(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])}function Ce(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t[3]=e[3]+n[3],t[4]=e[4]+n[4],t[5]=e[5]+n[5],t[6]=e[6]+n[6],t[7]=e[7]+n[7],t[8]=e[8]+n[8],t[9]=e[9]+n[9],t[10]=e[10]+n[10],t[11]=e[11]+n[11],t[12]=e[12]+n[12],t[13]=e[13]+n[13],t[14]=e[14]+n[14],t[15]=e[15]+n[15],t}function je(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2],t[3]=e[3]-n[3],t[4]=e[4]-n[4],t[5]=e[5]-n[5],t[6]=e[6]-n[6],t[7]=e[7]-n[7],t[8]=e[8]-n[8],t[9]=e[9]-n[9],t[10]=e[10]-n[10],t[11]=e[11]-n[11],t[12]=e[12]-n[12],t[13]=e[13]-n[13],t[14]=e[14]-n[14],t[15]=e[15]-n[15],t}function Ie(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*n,t[5]=e[5]*n,t[6]=e[6]*n,t[7]=e[7]*n,t[8]=e[8]*n,t[9]=e[9]*n,t[10]=e[10]*n,t[11]=e[11]*n,t[12]=e[12]*n,t[13]=e[13]*n,t[14]=e[14]*n,t[15]=e[15]*n,t}function Te(t,e,n,r){return t[0]=e[0]+n[0]*r,t[1]=e[1]+n[1]*r,t[2]=e[2]+n[2]*r,t[3]=e[3]+n[3]*r,t[4]=e[4]+n[4]*r,t[5]=e[5]+n[5]*r,t[6]=e[6]+n[6]*r,t[7]=e[7]+n[7]*r,t[8]=e[8]+n[8]*r,t[9]=e[9]+n[9]*r,t[10]=e[10]+n[10]*r,t[11]=e[11]+n[11]*r,t[12]=e[12]+n[12]*r,t[13]=e[13]+n[13]*r,t[14]=e[14]+n[14]*r,t[15]=e[15]+n[15]*r,t}function Ne(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]&&t[9]===e[9]&&t[10]===e[10]&&t[11]===e[11]&&t[12]===e[12]&&t[13]===e[13]&&t[14]===e[14]&&t[15]===e[15]}function Pe(t,e){var n=t[0],r=t[1],i=t[2],o=t[3],a=t[4],s=t[5],u=t[6],c=t[7],f=t[8],h=t[9],d=t[10],p=t[11],g=t[12],v=t[13],y=t[14],m=t[15],b=e[0],x=e[1],w=e[2],_=e[3],E=e[4],S=e[5],M=e[6],O=e[7],k=e[8],A=e[9],C=e[10],j=e[11],I=e[12],T=e[13],N=e[14],P=e[15];return Math.abs(n-b)<=l.EPSILON*Math.max(1,Math.abs(n),Math.abs(b))&&Math.abs(r-x)<=l.EPSILON*Math.max(1,Math.abs(r),Math.abs(x))&&Math.abs(i-w)<=l.EPSILON*Math.max(1,Math.abs(i),Math.abs(w))&&Math.abs(o-_)<=l.EPSILON*Math.max(1,Math.abs(o),Math.abs(_))&&Math.abs(a-E)<=l.EPSILON*Math.max(1,Math.abs(a),Math.abs(E))&&Math.abs(s-S)<=l.EPSILON*Math.max(1,Math.abs(s),Math.abs(S))&&Math.abs(u-M)<=l.EPSILON*Math.max(1,Math.abs(u),Math.abs(M))&&Math.abs(c-O)<=l.EPSILON*Math.max(1,Math.abs(c),Math.abs(O))&&Math.abs(f-k)<=l.EPSILON*Math.max(1,Math.abs(f),Math.abs(k))&&Math.abs(h-A)<=l.EPSILON*Math.max(1,Math.abs(h),Math.abs(A))&&Math.abs(d-C)<=l.EPSILON*Math.max(1,Math.abs(d),Math.abs(C))&&Math.abs(p-j)<=l.EPSILON*Math.max(1,Math.abs(p),Math.abs(j))&&Math.abs(g-I)<=l.EPSILON*Math.max(1,Math.abs(g),Math.abs(I))&&Math.abs(v-T)<=l.EPSILON*Math.max(1,Math.abs(v),Math.abs(T))&&Math.abs(y-N)<=l.EPSILON*Math.max(1,Math.abs(y),Math.abs(N))&&Math.abs(m-P)<=l.EPSILON*Math.max(1,Math.abs(m),Math.abs(P))}var De=Kt,Le=je,Re=n(24);function Be(){var t=new l.ARRAY_TYPE(4);return l.ARRAY_TYPE!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0),t}function Fe(t){var e=new l.ARRAY_TYPE(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}function ze(t,e,n,r){var i=new l.ARRAY_TYPE(4);return i[0]=t,i[1]=e,i[2]=n,i[3]=r,i}function Ge(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function Ye(t,e,n,r,i){return t[0]=e,t[1]=n,t[2]=r,t[3]=i,t}function Ue(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t[3]=e[3]+n[3],t}function Xe(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2],t[3]=e[3]-n[3],t}function We(t,e,n){return t[0]=e[0]*n[0],t[1]=e[1]*n[1],t[2]=e[2]*n[2],t[3]=e[3]*n[3],t}function Ve(t,e,n){return t[0]=e[0]/n[0],t[1]=e[1]/n[1],t[2]=e[2]/n[2],t[3]=e[3]/n[3],t}function He(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t[3]=Math.ceil(e[3]),t}function qe(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t[3]=Math.floor(e[3]),t}function Ze(t,e,n){return t[0]=Math.min(e[0],n[0]),t[1]=Math.min(e[1],n[1]),t[2]=Math.min(e[2],n[2]),t[3]=Math.min(e[3],n[3]),t}function Ke(t,e,n){return t[0]=Math.max(e[0],n[0]),t[1]=Math.max(e[1],n[1]),t[2]=Math.max(e[2],n[2]),t[3]=Math.max(e[3],n[3]),t}function Qe(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t[3]=Math.round(e[3]),t}function $e(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t}function Je(t,e,n,r){return t[0]=e[0]+n[0]*r,t[1]=e[1]+n[1]*r,t[2]=e[2]+n[2]*r,t[3]=e[3]+n[3]*r,t}function tn(t,e){var n=e[0]-t[0],r=e[1]-t[1],i=e[2]-t[2],o=e[3]-t[3];return Math.hypot(n,r,i,o)}function en(t,e){var n=e[0]-t[0],r=e[1]-t[1],i=e[2]-t[2],o=e[3]-t[3];return n*n+r*r+i*i+o*o}function nn(t){var e=t[0],n=t[1],r=t[2],i=t[3];return Math.hypot(e,n,r,i)}function rn(t){var e=t[0],n=t[1],r=t[2],i=t[3];return e*e+n*n+r*r+i*i}function on(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}function an(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t}function sn(t,e){var n=e[0],r=e[1],i=e[2],o=e[3],a=n*n+r*r+i*i+o*o;return a>0&&(a=1/Math.sqrt(a)),t[0]=n*a,t[1]=r*a,t[2]=i*a,t[3]=o*a,t}function un(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function cn(t,e,n,r){var i=n[0]*r[1]-n[1]*r[0],o=n[0]*r[2]-n[2]*r[0],a=n[0]*r[3]-n[3]*r[0],s=n[1]*r[2]-n[2]*r[1],u=n[1]*r[3]-n[3]*r[1],c=n[2]*r[3]-n[3]*r[2],l=e[0],f=e[1],h=e[2],d=e[3];return t[0]=f*c-h*u+d*s,t[1]=-l*c+h*a-d*o,t[2]=l*u-f*a+d*i,t[3]=-l*s+f*o-h*i,t}function ln(t,e,n,r){var i=e[0],o=e[1],a=e[2],s=e[3];return t[0]=i+r*(n[0]-i),t[1]=o+r*(n[1]-o),t[2]=a+r*(n[2]-a),t[3]=s+r*(n[3]-s),t}function fn(t,e){var n,r,i,o,a,s;e=e||1;do{a=(n=2*l.RANDOM()-1)*n+(r=2*l.RANDOM()-1)*r}while(a>=1);do{s=(i=2*l.RANDOM()-1)*i+(o=2*l.RANDOM()-1)*o}while(s>=1);var u=Math.sqrt((1-a)/s);return t[0]=e*n,t[1]=e*r,t[2]=e*i*u,t[3]=e*o*u,t}function hn(t,e,n){var r=e[0],i=e[1],o=e[2],a=e[3];return t[0]=n[0]*r+n[4]*i+n[8]*o+n[12]*a,t[1]=n[1]*r+n[5]*i+n[9]*o+n[13]*a,t[2]=n[2]*r+n[6]*i+n[10]*o+n[14]*a,t[3]=n[3]*r+n[7]*i+n[11]*o+n[15]*a,t}function dn(t,e,n){var r=e[0],i=e[1],o=e[2],a=n[0],s=n[1],u=n[2],c=n[3],l=c*r+s*o-u*i,f=c*i+u*r-a*o,h=c*o+a*i-s*r,d=-a*r-s*i-u*o;return t[0]=l*c+d*-a+f*-u-h*-s,t[1]=f*c+d*-s+h*-a-l*-u,t[2]=h*c+d*-u+l*-s-f*-a,t[3]=e[3],t}function pn(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}function gn(t){return"vec4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"}function vn(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]}function yn(t,e){var n=t[0],r=t[1],i=t[2],o=t[3],a=e[0],s=e[1],u=e[2],c=e[3];return Math.abs(n-a)<=l.EPSILON*Math.max(1,Math.abs(n),Math.abs(a))&&Math.abs(r-s)<=l.EPSILON*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(i-u)<=l.EPSILON*Math.max(1,Math.abs(i),Math.abs(u))&&Math.abs(o-c)<=l.EPSILON*Math.max(1,Math.abs(o),Math.abs(c))}var mn,bn=Xe,xn=We,wn=Ve,_n=tn,En=en,Sn=nn,Mn=rn,On=(mn=Be(),function(t,e,n,r,i,o){var a,s;for(e||(e=4),n||(n=0),s=r?Math.min(r*e+n,t.length):t.length,a=n;a<s;a+=e)mn[0]=t[a],mn[1]=t[a+1],mn[2]=t[a+2],mn[3]=t[a+3],i(mn,mn,o),t[a]=mn[0],t[a+1]=mn[1],t[a+2]=mn[2],t[a+3]=mn[3];return t});function kn(){var t=new l.ARRAY_TYPE(4);return l.ARRAY_TYPE!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t[3]=1,t}function An(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t}function Cn(t,e,n){n*=.5;var r=Math.sin(n);return t[0]=r*e[0],t[1]=r*e[1],t[2]=r*e[2],t[3]=Math.cos(n),t}function jn(t,e){var n=2*Math.acos(e[3]),r=Math.sin(n/2);return r>l.EPSILON?(t[0]=e[0]/r,t[1]=e[1]/r,t[2]=e[2]/r):(t[0]=1,t[1]=0,t[2]=0),n}function In(t,e){var n=ar(t,e);return Math.acos(2*n*n-1)}function Tn(t,e,n){var r=e[0],i=e[1],o=e[2],a=e[3],s=n[0],u=n[1],c=n[2],l=n[3];return t[0]=r*l+a*s+i*c-o*u,t[1]=i*l+a*u+o*s-r*c,t[2]=o*l+a*c+r*u-i*s,t[3]=a*l-r*s-i*u-o*c,t}function Nn(t,e,n){n*=.5;var r=e[0],i=e[1],o=e[2],a=e[3],s=Math.sin(n),u=Math.cos(n);return t[0]=r*u+a*s,t[1]=i*u+o*s,t[2]=o*u-i*s,t[3]=a*u-r*s,t}function Pn(t,e,n){n*=.5;var r=e[0],i=e[1],o=e[2],a=e[3],s=Math.sin(n),u=Math.cos(n);return t[0]=r*u-o*s,t[1]=i*u+a*s,t[2]=o*u+r*s,t[3]=a*u-i*s,t}function Dn(t,e,n){n*=.5;var r=e[0],i=e[1],o=e[2],a=e[3],s=Math.sin(n),u=Math.cos(n);return t[0]=r*u+i*s,t[1]=i*u-r*s,t[2]=o*u+a*s,t[3]=a*u-o*s,t}function Ln(t,e){var n=e[0],r=e[1],i=e[2];return t[0]=n,t[1]=r,t[2]=i,t[3]=Math.sqrt(Math.abs(1-n*n-r*r-i*i)),t}function Rn(t,e){var n=e[0],r=e[1],i=e[2],o=e[3],a=Math.sqrt(n*n+r*r+i*i),s=Math.exp(o),u=a>0?s*Math.sin(a)/a:0;return t[0]=n*u,t[1]=r*u,t[2]=i*u,t[3]=s*Math.cos(a),t}function Bn(t,e){var n=e[0],r=e[1],i=e[2],o=e[3],a=Math.sqrt(n*n+r*r+i*i),s=a>0?Math.atan2(a,o)/a:0;return t[0]=n*s,t[1]=r*s,t[2]=i*s,t[3]=.5*Math.log(n*n+r*r+i*i+o*o),t}function Fn(t,e,n){return Bn(t,e),or(t,t,n),Rn(t,t),t}function zn(t,e,n,r){var i,o,a,s,u,c=e[0],f=e[1],h=e[2],d=e[3],p=n[0],g=n[1],v=n[2],y=n[3];return(o=c*p+f*g+h*v+d*y)<0&&(o=-o,p=-p,g=-g,v=-v,y=-y),1-o>l.EPSILON?(i=Math.acos(o),a=Math.sin(i),s=Math.sin((1-r)*i)/a,u=Math.sin(r*i)/a):(s=1-r,u=r),t[0]=s*c+u*p,t[1]=s*f+u*g,t[2]=s*h+u*v,t[3]=s*d+u*y,t}function Gn(t){var e=l.RANDOM(),n=l.RANDOM(),r=l.RANDOM(),i=Math.sqrt(1-e),o=Math.sqrt(e);return t[0]=i*Math.sin(2*Math.PI*n),t[1]=i*Math.cos(2*Math.PI*n),t[2]=o*Math.sin(2*Math.PI*r),t[3]=o*Math.cos(2*Math.PI*r),t}function Yn(t,e){var n=e[0],r=e[1],i=e[2],o=e[3],a=n*n+r*r+i*i+o*o,s=a?1/a:0;return t[0]=-n*s,t[1]=-r*s,t[2]=-i*s,t[3]=o*s,t}function Un(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t}function Xn(t,e){var n,r=e[0]+e[4]+e[8];if(r>0)n=Math.sqrt(r+1),t[3]=.5*n,n=.5/n,t[0]=(e[5]-e[7])*n,t[1]=(e[6]-e[2])*n,t[2]=(e[1]-e[3])*n;else{var i=0;e[4]>e[0]&&(i=1),e[8]>e[3*i+i]&&(i=2);var o=(i+1)%3,a=(i+2)%3;n=Math.sqrt(e[3*i+i]-e[3*o+o]-e[3*a+a]+1),t[i]=.5*n,n=.5/n,t[3]=(e[3*o+a]-e[3*a+o])*n,t[o]=(e[3*o+i]+e[3*i+o])*n,t[a]=(e[3*a+i]+e[3*i+a])*n}return t}function Wn(t,e,n,r){var i=.5*Math.PI/180;e*=i,n*=i,r*=i;var o=Math.sin(e),a=Math.cos(e),s=Math.sin(n),u=Math.cos(n),c=Math.sin(r),l=Math.cos(r);return t[0]=o*u*l-a*s*c,t[1]=a*s*l+o*u*c,t[2]=a*u*c-o*s*l,t[3]=a*u*l+o*s*c,t}function Vn(t){return"quat("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"}var Hn,qn,Zn,Kn,Qn,$n,Jn=Fe,tr=ze,er=Ge,nr=Ye,rr=Ue,ir=Tn,or=$e,ar=un,sr=ln,ur=nn,cr=ur,lr=rn,fr=lr,hr=sn,dr=vn,pr=yn,gr=(Hn=Re.create(),qn=Re.fromValues(1,0,0),Zn=Re.fromValues(0,1,0),function(t,e,n){var r=Re.dot(e,n);return r<-.999999?(Re.cross(Hn,qn,e),Re.len(Hn)<1e-6&&Re.cross(Hn,Zn,e),Re.normalize(Hn,Hn),Cn(t,Hn,Math.PI),t):r>.999999?(t[0]=0,t[1]=0,t[2]=0,t[3]=1,t):(Re.cross(Hn,e,n),t[0]=Hn[0],t[1]=Hn[1],t[2]=Hn[2],t[3]=1+r,hr(t,t))}),vr=(Kn=kn(),Qn=kn(),function(t,e,n,r,i,o){return zn(Kn,e,i,o),zn(Qn,n,r,o),zn(t,Kn,Qn,2*o*(1-o)),t}),yr=($n=ut(),function(t,e,n,r){return $n[0]=n[0],$n[3]=n[1],$n[6]=n[2],$n[1]=r[0],$n[4]=r[1],$n[7]=r[2],$n[2]=-e[0],$n[5]=-e[1],$n[8]=-e[2],hr(t,Xn(t,$n))});function mr(){var t=new l.ARRAY_TYPE(8);return l.ARRAY_TYPE!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[4]=0,t[5]=0,t[6]=0,t[7]=0),t[3]=1,t}function br(t){var e=new l.ARRAY_TYPE(8);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e}function xr(t,e,n,r,i,o,a,s){var u=new l.ARRAY_TYPE(8);return u[0]=t,u[1]=e,u[2]=n,u[3]=r,u[4]=i,u[5]=o,u[6]=a,u[7]=s,u}function wr(t,e,n,r,i,o,a){var s=new l.ARRAY_TYPE(8);s[0]=t,s[1]=e,s[2]=n,s[3]=r;var u=.5*i,c=.5*o,f=.5*a;return s[4]=u*r+c*n-f*e,s[5]=c*r+f*t-u*n,s[6]=f*r+u*e-c*t,s[7]=-u*t-c*e-f*n,s}function _r(t,e,n){var r=.5*n[0],i=.5*n[1],o=.5*n[2],a=e[0],s=e[1],u=e[2],c=e[3];return t[0]=a,t[1]=s,t[2]=u,t[3]=c,t[4]=r*c+i*u-o*s,t[5]=i*c+o*a-r*u,t[6]=o*c+r*s-i*a,t[7]=-r*a-i*s-o*u,t}function Er(t,e){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t[4]=.5*e[0],t[5]=.5*e[1],t[6]=.5*e[2],t[7]=0,t}function Sr(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=0,t[5]=0,t[6]=0,t[7]=0,t}function Mr(t,e){var n=kn();de(n,e);var r=new l.ARRAY_TYPE(3);return fe(r,e),_r(t,n,r),t}function Or(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t}function kr(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t[6]=0,t[7]=0,t}function Ar(t,e,n,r,i,o,a,s,u){return t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=o,t[5]=a,t[6]=s,t[7]=u,t}var Cr=er;function jr(t,e){return t[0]=e[4],t[1]=e[5],t[2]=e[6],t[3]=e[7],t}var Ir=er;function Tr(t,e){return t[4]=e[0],t[5]=e[1],t[6]=e[2],t[7]=e[3],t}function Nr(t,e){var n=e[4],r=e[5],i=e[6],o=e[7],a=-e[0],s=-e[1],u=-e[2],c=e[3];return t[0]=2*(n*c+o*a+r*u-i*s),t[1]=2*(r*c+o*s+i*a-n*u),t[2]=2*(i*c+o*u+n*s-r*a),t}function Pr(t,e,n){var r=e[0],i=e[1],o=e[2],a=e[3],s=.5*n[0],u=.5*n[1],c=.5*n[2],l=e[4],f=e[5],h=e[6],d=e[7];return t[0]=r,t[1]=i,t[2]=o,t[3]=a,t[4]=a*s+i*c-o*u+l,t[5]=a*u+o*s-r*c+f,t[6]=a*c+r*u-i*s+h,t[7]=-r*s-i*u-o*c+d,t}function Dr(t,e,n){var r=-e[0],i=-e[1],o=-e[2],a=e[3],s=e[4],u=e[5],c=e[6],l=e[7],f=s*a+l*r+u*o-c*i,h=u*a+l*i+c*r-s*o,d=c*a+l*o+s*i-u*r,p=l*a-s*r-u*i-c*o;return Nn(t,e,n),r=t[0],i=t[1],o=t[2],a=t[3],t[4]=f*a+p*r+h*o-d*i,t[5]=h*a+p*i+d*r-f*o,t[6]=d*a+p*o+f*i-h*r,t[7]=p*a-f*r-h*i-d*o,t}function Lr(t,e,n){var r=-e[0],i=-e[1],o=-e[2],a=e[3],s=e[4],u=e[5],c=e[6],l=e[7],f=s*a+l*r+u*o-c*i,h=u*a+l*i+c*r-s*o,d=c*a+l*o+s*i-u*r,p=l*a-s*r-u*i-c*o;return Pn(t,e,n),r=t[0],i=t[1],o=t[2],a=t[3],t[4]=f*a+p*r+h*o-d*i,t[5]=h*a+p*i+d*r-f*o,t[6]=d*a+p*o+f*i-h*r,t[7]=p*a-f*r-h*i-d*o,t}function Rr(t,e,n){var r=-e[0],i=-e[1],o=-e[2],a=e[3],s=e[4],u=e[5],c=e[6],l=e[7],f=s*a+l*r+u*o-c*i,h=u*a+l*i+c*r-s*o,d=c*a+l*o+s*i-u*r,p=l*a-s*r-u*i-c*o;return Dn(t,e,n),r=t[0],i=t[1],o=t[2],a=t[3],t[4]=f*a+p*r+h*o-d*i,t[5]=h*a+p*i+d*r-f*o,t[6]=d*a+p*o+f*i-h*r,t[7]=p*a-f*r-h*i-d*o,t}function Br(t,e,n){var r=n[0],i=n[1],o=n[2],a=n[3],s=e[0],u=e[1],c=e[2],l=e[3];return t[0]=s*a+l*r+u*o-c*i,t[1]=u*a+l*i+c*r-s*o,t[2]=c*a+l*o+s*i-u*r,t[3]=l*a-s*r-u*i-c*o,s=e[4],u=e[5],c=e[6],l=e[7],t[4]=s*a+l*r+u*o-c*i,t[5]=u*a+l*i+c*r-s*o,t[6]=c*a+l*o+s*i-u*r,t[7]=l*a-s*r-u*i-c*o,t}function Fr(t,e,n){var r=e[0],i=e[1],o=e[2],a=e[3],s=n[0],u=n[1],c=n[2],l=n[3];return t[0]=r*l+a*s+i*c-o*u,t[1]=i*l+a*u+o*s-r*c,t[2]=o*l+a*c+r*u-i*s,t[3]=a*l-r*s-i*u-o*c,s=n[4],u=n[5],c=n[6],l=n[7],t[4]=r*l+a*s+i*c-o*u,t[5]=i*l+a*u+o*s-r*c,t[6]=o*l+a*c+r*u-i*s,t[7]=a*l-r*s-i*u-o*c,t}function zr(t,e,n,r){if(Math.abs(r)<l.EPSILON)return Or(t,e);var i=Math.hypot(n[0],n[1],n[2]);r*=.5;var o=Math.sin(r),a=o*n[0]/i,s=o*n[1]/i,u=o*n[2]/i,c=Math.cos(r),f=e[0],h=e[1],d=e[2],p=e[3];t[0]=f*c+p*a+h*u-d*s,t[1]=h*c+p*s+d*a-f*u,t[2]=d*c+p*u+f*s-h*a,t[3]=p*c-f*a-h*s-d*u;var g=e[4],v=e[5],y=e[6],m=e[7];return t[4]=g*c+m*a+v*u-y*s,t[5]=v*c+m*s+y*a-g*u,t[6]=y*c+m*u+g*s-v*a,t[7]=m*c-g*a-v*s-y*u,t}function Gr(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t[3]=e[3]+n[3],t[4]=e[4]+n[4],t[5]=e[5]+n[5],t[6]=e[6]+n[6],t[7]=e[7]+n[7],t}function Yr(t,e,n){var r=e[0],i=e[1],o=e[2],a=e[3],s=n[4],u=n[5],c=n[6],l=n[7],f=e[4],h=e[5],d=e[6],p=e[7],g=n[0],v=n[1],y=n[2],m=n[3];return t[0]=r*m+a*g+i*y-o*v,t[1]=i*m+a*v+o*g-r*y,t[2]=o*m+a*y+r*v-i*g,t[3]=a*m-r*g-i*v-o*y,t[4]=r*l+a*s+i*c-o*u+f*m+p*g+h*y-d*v,t[5]=i*l+a*u+o*s-r*c+h*m+p*v+d*g-f*y,t[6]=o*l+a*c+r*u-i*s+d*m+p*y+f*v-h*g,t[7]=a*l-r*s-i*u-o*c+p*m-f*g-h*v-d*y,t}var Ur=Yr;function Xr(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*n,t[5]=e[5]*n,t[6]=e[6]*n,t[7]=e[7]*n,t}var Wr=ar;function Vr(t,e,n,r){var i=1-r;return Wr(e,n)<0&&(r=-r),t[0]=e[0]*i+n[0]*r,t[1]=e[1]*i+n[1]*r,t[2]=e[2]*i+n[2]*r,t[3]=e[3]*i+n[3]*r,t[4]=e[4]*i+n[4]*r,t[5]=e[5]*i+n[5]*r,t[6]=e[6]*i+n[6]*r,t[7]=e[7]*i+n[7]*r,t}function Hr(t,e){var n=Qr(e);return t[0]=-e[0]/n,t[1]=-e[1]/n,t[2]=-e[2]/n,t[3]=e[3]/n,t[4]=-e[4]/n,t[5]=-e[5]/n,t[6]=-e[6]/n,t[7]=e[7]/n,t}function qr(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=e[7],t}var Zr=ur,Kr=Zr,Qr=lr,$r=Qr;function Jr(t,e){var n=Qr(e);if(n>0){n=Math.sqrt(n);var r=e[0]/n,i=e[1]/n,o=e[2]/n,a=e[3]/n,s=e[4],u=e[5],c=e[6],l=e[7],f=r*s+i*u+o*c+a*l;t[0]=r,t[1]=i,t[2]=o,t[3]=a,t[4]=(s-r*f)/n,t[5]=(u-i*f)/n,t[6]=(c-o*f)/n,t[7]=(l-a*f)/n}return t}function ti(t){return"quat2("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+")"}function ei(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]}function ni(t,e){var n=t[0],r=t[1],i=t[2],o=t[3],a=t[4],s=t[5],u=t[6],c=t[7],f=e[0],h=e[1],d=e[2],p=e[3],g=e[4],v=e[5],y=e[6],m=e[7];return Math.abs(n-f)<=l.EPSILON*Math.max(1,Math.abs(n),Math.abs(f))&&Math.abs(r-h)<=l.EPSILON*Math.max(1,Math.abs(r),Math.abs(h))&&Math.abs(i-d)<=l.EPSILON*Math.max(1,Math.abs(i),Math.abs(d))&&Math.abs(o-p)<=l.EPSILON*Math.max(1,Math.abs(o),Math.abs(p))&&Math.abs(a-g)<=l.EPSILON*Math.max(1,Math.abs(a),Math.abs(g))&&Math.abs(s-v)<=l.EPSILON*Math.max(1,Math.abs(s),Math.abs(v))&&Math.abs(u-y)<=l.EPSILON*Math.max(1,Math.abs(u),Math.abs(y))&&Math.abs(c-m)<=l.EPSILON*Math.max(1,Math.abs(c),Math.abs(m))}var ri=n(39)},function(t,e,n){"use strict";n.d(e,"j",(function(){return i})),n.d(e,"c",(function(){return o})),n.d(e,"g",(function(){return a})),n.d(e,"b",(function(){return s}));var r=n(0);function i(t,e){var n=t.indexOf(e);-1!==n&&t.splice(n,1)}n.d(e,"e",(function(){return r.isNil})),n.d(e,"d",(function(){return r.isFunction})),n.d(e,"h",(function(){return r.isString})),n.d(e,"f",(function(){return r.isObject})),n.d(e,"i",(function(){return r.mix})),n.d(e,"a",(function(){return r.each})),n.d(e,"k",(function(){return r.upperFirst}));var o="undefined"!=typeof window&&void 0!==window.document;function a(t,e){if(t.isCanvas())return!0;for(var n=e.getParent(),r=!1;n;){if(n===t){r=!0;break}n=n.getParent()}return r}function s(t){return t.cfg.visible&&t.cfg.capture}},function(t,e,n){"use strict";n.d(e,"e",(function(){return y})),n.d(e,"b",(function(){return E})),n.d(e,"a",(function(){return j})),n.d(e,"c",(function(){return f})),n.d(e,"d",(function(){return L})),n.d(e,"f",(function(){return r}));var r={};n.r(r),n.d(r,"distance",(function(){return o})),n.d(r,"isNumberEqual",(function(){return a})),n.d(r,"getBBoxByArray",(function(){return s})),n.d(r,"getBBoxRange",(function(){return u})),n.d(r,"piMod",(function(){return c}));var i=n(0);function o(t,e,n,r){var i=t-n,o=e-r;return Math.sqrt(i*i+o*o)}function a(t,e){return Math.abs(t-e)<.001}function s(t,e){var n=Object(i.min)(t),r=Object(i.min)(e);return{x:n,y:r,width:Object(i.max)(t)-n,height:Object(i.max)(e)-r}}function u(t,e,n,r){return{minX:Object(i.min)([t,n]),maxX:Object(i.max)([t,n]),minY:Object(i.min)([e,r]),maxY:Object(i.max)([e,r])}}function c(t){return(t+2*Math.PI)%(2*Math.PI)}var l=n(39),f={box:function(t,e,n,r){return s([t,n],[e,r])},length:function(t,e,n,r){return o(t,e,n,r)},pointAt:function(t,e,n,r,i){return{x:(1-i)*t+i*n,y:(1-i)*e+i*r}},pointDistance:function(t,e,n,r,i,a){var s=(n-t)*(i-t)+(r-e)*(a-e);return s<0?o(t,e,i,a):s>(n-t)*(n-t)+(r-e)*(r-e)?o(n,r,i,a):this.pointToLine(t,e,n,r,i,a)},pointToLine:function(t,e,n,r,i,o){var a=[n-t,r-e];if(l.exactEquals(a,[0,0]))return Math.sqrt((i-t)*(i-t)+(o-e)*(o-e));var s=[-a[1],a[0]];l.normalize(s,s);var u=[i-t,o-e];return Math.abs(l.dot(u,s))},tangentAngle:function(t,e,n,r){return Math.atan2(r-e,n-t)}};function h(t,e,n,r,i,a){var s,u=1/0,c=[n,r],l=20;a&&a>200&&(l=a/10);for(var f=1/l,h=f/10,d=0;d<=l;d++){var p=d*f,g=[i.apply(null,t.concat([p])),i.apply(null,e.concat([p]))];(b=o(c[0],c[1],g[0],g[1]))<u&&(s=p,u=b)}if(0===s)return{x:t[0],y:e[0]};if(1===s){var v=t.length;return{x:t[v-1],y:e[v-1]}}u=1/0;for(d=0;d<32&&!(h<1e-4);d++){var y=s-h,m=s+h,b=(g=[i.apply(null,t.concat([y])),i.apply(null,e.concat([y]))],o(c[0],c[1],g[0],g[1]));if(y>=0&&b<u)s=y,u=b;else{var x=[i.apply(null,t.concat([m])),i.apply(null,e.concat([m]))],w=o(c[0],c[1],x[0],x[1]);m<=1&&w<u?(s=m,u=w):h*=.5}}return{x:i.apply(null,t.concat([s])),y:i.apply(null,e.concat([s]))}}function d(t,e,n,r){var i=1-r;return i*i*t+2*r*i*e+r*r*n}function p(t,e,n){var r=t+n-2*e;if(a(r,0))return[.5];var i=(t-e)/r;return i<=1&&i>=0?[i]:[]}function g(t,e,n,r){return 2*(1-r)*(e-t)+2*r*(n-e)}function v(t,e,n,r,i,o,a){var s=d(t,n,i,a),u=d(e,r,o,a),c=f.pointAt(t,e,n,r,a),l=f.pointAt(n,r,i,o,a);return[[t,e,c.x,c.y,s,u],[s,u,l.x,l.y,i,o]]}var y={box:function(t,e,n,r,i,o){var a=p(t,n,i)[0],u=p(e,r,o)[0],c=[t,i],l=[e,o];return void 0!==a&&c.push(d(t,n,i,a)),void 0!==u&&l.push(d(e,r,o,u)),s(c,l)},length:function(t,e,n,r,i,a){return function t(e,n,r,i,a,s,u){if(0===u)return(o(e,n,r,i)+o(r,i,a,s)+o(e,n,a,s))/2;var c=v(e,n,r,i,a,s,.5),l=c[0],f=c[1];return l.push(u-1),f.push(u-1),t.apply(null,l)+t.apply(null,f)}(t,e,n,r,i,a,3)},nearestPoint:function(t,e,n,r,i,o,a,s){return h([t,n,i],[e,r,o],a,s,d)},pointDistance:function(t,e,n,r,i,a,s,u){var c=this.nearestPoint(t,e,n,r,i,a,s,u);return o(c.x,c.y,s,u)},interpolationAt:d,pointAt:function(t,e,n,r,i,o,a){return{x:d(t,n,i,a),y:d(e,r,o,a)}},divide:function(t,e,n,r,i,o,a){return v(t,e,n,r,i,o,a)},tangentAngle:function(t,e,n,r,i,o,a){var s=g(t,n,i,a),u=g(e,r,o,a);return c(Math.atan2(u,s))}};function m(t,e,n,r,i){var o=1-i;return o*o*o*t+3*e*i*o*o+3*n*i*i*o+r*i*i*i}function b(t,e,n,r,i){var o=1-i;return 3*(o*o*(e-t)+2*o*i*(n-e)+i*i*(r-n))}function x(t,e,n,r){var i,o,s,u=-3*t+9*e-9*n+3*r,c=6*t-12*e+6*n,l=3*e-3*t,f=[];if(a(u,0))a(c,0)||(i=-l/c)>=0&&i<=1&&f.push(i);else{var h=c*c-4*u*l;a(h,0)?f.push(-c/(2*u)):h>0&&(o=(-c-(s=Math.sqrt(h)))/(2*u),(i=(-c+s)/(2*u))>=0&&i<=1&&f.push(i),o>=0&&o<=1&&f.push(o))}return f}function w(t,e,n,r,i,o,a,s,u){var c=m(t,n,i,a,u),l=m(e,r,o,s,u),h=f.pointAt(t,e,n,r,u),d=f.pointAt(n,r,i,o,u),p=f.pointAt(i,o,a,s,u),g=f.pointAt(h.x,h.y,d.x,d.y,u),v=f.pointAt(d.x,d.y,p.x,p.y,u);return[[t,e,h.x,h.y,g.x,g.y,c,l],[c,l,v.x,v.y,p.x,p.y,a,s]]}function _(t,e,n,r,i,a,s,u,c){if(0===c)return function(t,e){for(var n=0,r=t.length,i=0;i<r;i++){n+=o(t[i],e[i],t[(i+1)%r],e[(i+1)%r])}return n/2}([t,n,i,s],[e,r,a,u]);var l=w(t,e,n,r,i,a,s,u,.5),f=l[0],h=l[1];return f.push(c-1),h.push(c-1),_.apply(null,f)+_.apply(null,h)}var E={extrema:x,box:function(t,e,n,r,i,o,a,u){for(var c=[t,a],l=[e,u],f=x(t,n,i,a),h=x(e,r,o,u),d=0;d<f.length;d++)c.push(m(t,n,i,a,f[d]));for(d=0;d<h.length;d++)l.push(m(e,r,o,u,h[d]));return s(c,l)},length:function(t,e,n,r,i,o,a,s){return _(t,e,n,r,i,o,a,s,3)},nearestPoint:function(t,e,n,r,i,o,a,s,u,c,l){return h([t,n,i,a],[e,r,o,s],u,c,m,l)},pointDistance:function(t,e,n,r,i,a,s,u,c,l,f){var h=this.nearestPoint(t,e,n,r,i,a,s,u,c,l,f);return o(h.x,h.y,c,l)},interpolationAt:m,pointAt:function(t,e,n,r,i,o,a,s,u){return{x:m(t,n,i,a,u),y:m(e,r,o,s,u)}},divide:function(t,e,n,r,i,o,a,s,u){return w(t,e,n,r,i,o,a,s,u)},tangentAngle:function(t,e,n,r,i,o,a,s,u){var l=b(t,n,i,a,u),f=b(e,r,o,s,u);return c(Math.atan2(f,l))}};function S(t,e){var n=Math.abs(t);return e>0?n:-1*n}var M=function(t,e,n,r,i,o){var a=n,s=r;if(0===a||0===s)return{x:t,y:e};for(var u,c,l=i-t,f=o-e,h=Math.abs(l),d=Math.abs(f),p=a*a,g=s*s,v=Math.PI/4,y=0;y<4;y++){u=a*Math.cos(v),c=s*Math.sin(v);var m=(p-g)*Math.pow(Math.cos(v),3)/a,b=(g-p)*Math.pow(Math.sin(v),3)/s,x=u-m,w=c-b,_=h-m,E=d-b,M=Math.hypot(w,x),O=Math.hypot(E,_);v+=M*Math.asin((x*E-w*_)/(M*O))/Math.sqrt(p+g-u*u-c*c),v=Math.min(Math.PI/2,Math.max(0,v))}return{x:t+S(u,l),y:e+S(c,f)}};function O(t,e,n,r,i,o){return n*Math.cos(i)*Math.cos(o)-r*Math.sin(i)*Math.sin(o)+t}function k(t,e,n,r,i,o){return n*Math.sin(i)*Math.cos(o)+r*Math.cos(i)*Math.sin(o)+e}function A(t,e,n){return{x:t*Math.cos(n),y:e*Math.sin(n)}}function C(t,e,n){var r=Math.cos(n),i=Math.sin(n);return[t*r-e*i,t*i+e*r]}var j={box:function(t,e,n,r,i,o,a){for(var s=function(t,e,n){return Math.atan(-e/t*Math.tan(n))}(n,r,i),u=1/0,c=-1/0,l=[o,a],f=2*-Math.PI;f<=2*Math.PI;f+=Math.PI){var h=s+f;o<a?o<h&&h<a&&l.push(h):a<h&&h<o&&l.push(h)}for(f=0;f<l.length;f++){var d=O(t,0,n,r,i,l[f]);d<u&&(u=d),d>c&&(c=d)}var p=function(t,e,n){return Math.atan(e/(t*Math.tan(n)))}(n,r,i),g=1/0,v=-1/0,y=[o,a];for(f=2*-Math.PI;f<=2*Math.PI;f+=Math.PI){var m=p+f;o<a?o<m&&m<a&&y.push(m):a<m&&m<o&&y.push(m)}for(f=0;f<y.length;f++){var b=k(0,e,n,r,i,y[f]);b<g&&(g=b),b>v&&(v=b)}return{x:u,y:g,width:c-u,height:v-g}},length:function(t,e,n,r,i,o,a){},nearestPoint:function(t,e,n,r,i,o,a,s,u){var c=C(s-t,u-e,-i),l=c[0],f=c[1],h=M(0,0,n,r,l,f),d=function(t,e,n,r){return(Math.atan2(r*t,n*e)+2*Math.PI)%(2*Math.PI)}(n,r,h.x,h.y);d<o?h=A(n,r,o):d>a&&(h=A(n,r,a));var p=C(h.x,h.y,i);return{x:p[0]+t,y:p[1]+e}},pointDistance:function(t,e,n,r,i,a,s,u,c){var l=this.nearestPoint(t,e,n,r,u,c);return o(l.x,l.y,u,c)},pointAt:function(t,e,n,r,i,o,a,s){var u=(a-o)*s+o;return{x:O(t,0,n,r,i,u),y:k(0,e,n,r,i,u)}},tangentAngle:function(t,e,n,r,i,o,a,s){var u=(a-o)*s+o,l=function(t,e,n,r,i,o,a,s){return-1*n*Math.cos(i)*Math.sin(s)-r*Math.sin(i)*Math.cos(s)}(0,0,n,r,i,0,0,u),f=function(t,e,n,r,i,o,a,s){return-1*n*Math.sin(i)*Math.sin(s)+r*Math.cos(i)*Math.cos(s)}(0,0,n,r,i,0,0,u);return c(Math.atan2(f,l))}};function I(t){for(var e=0,n=[],r=0;r<t.length-1;r++){var i=t[r],a=t[r+1],s=o(i[0],i[1],a[0],a[1]),u={from:i,to:a,length:s};n.push(u),e+=s}return{segments:n,totalLength:e}}function T(t){if(t.length<2)return 0;for(var e=0,n=0;n<t.length-1;n++){var r=t[n],i=t[n+1];e+=o(r[0],r[1],i[0],i[1])}return e}function N(t,e){if(e>1||e<0||t.length<2)return null;var n=I(t),r=n.segments,i=n.totalLength;if(0===i)return{x:t[0][0],y:t[0][1]};for(var o=0,a=null,s=0;s<r.length;s++){var u=r[s],c=u.from,l=u.to,h=u.length/i;if(e>=o&&e<=o+h){var d=(e-o)/h;a=f.pointAt(c[0],c[1],l[0],l[1],d);break}o+=h}return a}function P(t,e){if(e>1||e<0||t.length<2)return 0;for(var n=I(t),r=n.segments,i=n.totalLength,o=0,a=0,s=0;s<r.length;s++){var u=r[s],c=u.from,l=u.to,f=u.length/i;if(e>=o&&e<=o+f){a=Math.atan2(l[1]-c[1],l[0]-c[0]);break}o+=f}return a}function D(t,e,n){for(var r=1/0,i=0;i<t.length-1;i++){var o=t[i],a=t[i+1],s=f.pointDistance(o[0],o[1],a[0],a[1],e,n);s<r&&(r=s)}return r}var L={box:function(t){for(var e=[],n=[],r=0;r<t.length;r++){var i=t[r];e.push(i[0]),n.push(i[1])}return s(e,n)},length:function(t){return T(t)},pointAt:function(t,e){return N(t,e)},pointDistance:function(t,e,n){return D(t,e,n)},tangentAngle:function(t,e){return P(t,e)}}},function(t,e,n){"use strict";var r=n(28);n.d(e,"PathUtil",(function(){return r}));n(69),n(70);var i=n(48);n.d(e,"Event",(function(){return i.a}));n(49);var o=n(111);n.d(e,"AbstractCanvas",(function(){return o.a}));var a=n(71);n.d(e,"AbstractGroup",(function(){return a.a}));var s=n(72);n.d(e,"AbstractShape",(function(){return s.a}));var u=n(67);n.d(e,"getBBoxMethod",(function(){return u.a}));var c=n(32);n.d(e,"getTextHeight",(function(){return c.b})),n.d(e,"assembleFont",(function(){return c.a}));var l=n(9);n.d(e,"isAllowCapture",(function(){return l.b}));var f=n(22);n.d(e,"multiplyVec2",(function(){return f.c})),n.d(e,"invert",(function(){return f.a}));var h=n(50);n.d(e,"getOffScreenContext",(function(){return h.a}));n(51)},function(t,e,n){"use strict";n.d(e,"b",(function(){return o})),n.d(e,"a",(function(){return a})),n.d(e,"d",(function(){return s})),n.d(e,"c",(function(){return u}));var r=n(0),i=n(6);function o(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}function a(t){var e=i.a[t.type],n=t.getParent();if(!e)throw new Error("the type "+t.type+" is not supported by svg");var r=o(e);if(t.get("id")&&(r.id=t.get("id")),t.set("el",r),t.set("attrs",{}),n){var a=n.get("el");a||(a=n.createDom(),n.set("el",a)),a.appendChild(r)}return r}function s(t,e){var n=t.get("el"),i=Object(r.toArray)(n.children).sort(e),o=document.createDocumentFragment();i.forEach((function(t){o.appendChild(t)})),n.appendChild(o)}function u(t,e){var n=t.parentNode,r=Array.from(n.childNodes).filter((function(t){return 1===t.nodeType&&"defs"!==t.nodeName.toLowerCase()})),i=r[e],o=r.indexOf(t);if(i){if(o>e)n.insertBefore(t,i);else if(o<e){var a=r[e+1];a?n.insertBefore(t,a):n.appendChild(t)}}else n.appendChild(t)}},function(t,e){t.exports=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e,n){var r=n(97);function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,r(i.key),i)}}t.exports=function(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t},t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!("get"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),i=this&&this.__exportStar||function(t,e){for(var n in t)"default"===n||Object.prototype.hasOwnProperty.call(e,n)||r(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),i(n(153),e),i(n(80),e),i(n(59),e),i(n(60),e),i(n(81),e),i(n(154),e)},function(t,e,n){"use strict";n.d(e,"a",(function(){return c})),n.d(e,"d",(function(){return l})),n.d(e,"b",(function(){return f})),n.d(e,"c",(function(){return h})),n.d(e,"e",(function(){return g})),n.d(e,"h",(function(){return v})),n.d(e,"f",(function(){return y})),n.d(e,"g",(function(){return m}));var r=n(0),i=n(56),o=n(43),a=n(5),s=n(19),u={fill:"fillStyle",stroke:"strokeStyle",opacity:"globalAlpha"};function c(t,e){var n=e.attr();for(var o in n){var a=n[o],s=u[o]?u[o]:o;"matrix"===s&&a?t.transform(a[0],a[1],a[3],a[4],a[6],a[7]):"lineDash"===s&&t.setLineDash?Object(r.isArray)(a)&&t.setLineDash(a):("strokeStyle"===s||"fillStyle"===s?a=Object(i.b)(t,e,a):"globalAlpha"===s&&(a*=t.globalAlpha),t[s]=a)}}function l(t,e,n){for(var r=0;r<e.length;r++){var i=e[r];i.cfg.visible?i.draw(t,n):i.skipDraw()}}function f(t,e,n){var i=t.get("refreshElements");Object(r.each)(i,(function(e){if(e!==t)for(var n=e.cfg.parent;n&&n!==t&&!n.cfg.refresh;)n.cfg.refresh=!0,n=n.cfg.parent})),i[0]===t?d(e,n):function t(e,n){for(var r=0;r<e.length;r++){var i=e[r];if(i.cfg.visible)if(i.cfg.hasChanged)i.cfg.refresh=!0,i.isGroup()&&d(i.cfg.children,n);else if(i.cfg.refresh)i.isGroup()&&t(i.cfg.children,n);else{var o=p(i,n);i.cfg.refresh=o,o&&i.isGroup()&&t(i.cfg.children,n)}}}(e,n)}function h(t){for(var e=0;e<t.length;e++){var n=t[e];n.cfg.hasChanged=!1,n.isGroup()&&!n.destroyed&&h(n.cfg.children)}}function d(t,e){for(var n=0;n<t.length;n++){var r=t[n];r.cfg.visible&&(r.cfg.refresh=!0,r.isGroup()&&d(r.get("children"),e))}}function p(t,e){var n=t.cfg.cacheCanvasBBox;return t.cfg.isInView&&n&&Object(a.f)(n,e)}function g(t,e,n,r){var i=n.path,a=n.startArrow,u=n.endArrow;if(i){var c=[0,0],l=[0,0],f={dx:0,dy:0};e.beginPath();for(var h=0;h<i.length;h++){var d=i[h],p=d[0];if(0===h&&a&&a.d){var g=t.getStartTangent();f=s.c(g[0][0],g[0][1],g[1][0],g[1][1],a.d)}else if(h===i.length-2&&"Z"===i[h+1][0]&&u&&u.d){if("Z"===i[h+1][0]){g=t.getEndTangent();f=s.c(g[0][0],g[0][1],g[1][0],g[1][1],u.d)}}else if(h===i.length-1&&u&&u.d&&"Z"!==i[0]){g=t.getEndTangent();f=s.c(g[0][0],g[0][1],g[1][0],g[1][1],u.d)}var v=f.dx,y=f.dy;switch(p){case"M":e.moveTo(d[1]-v,d[2]-y),l=[d[1],d[2]];break;case"L":e.lineTo(d[1]-v,d[2]-y);break;case"Q":e.quadraticCurveTo(d[1],d[2],d[3]-v,d[4]-y);break;case"C":e.bezierCurveTo(d[1],d[2],d[3],d[4],d[5]-v,d[6]-y);break;case"A":var m=void 0;r?(m=r[h])||(m=Object(o.a)(c,d),r[h]=m):m=Object(o.a)(c,d);var b=m.cx,x=m.cy,w=m.rx,_=m.ry,E=m.startAngle,S=m.endAngle,M=m.xRotation,O=m.sweepFlag;if(e.ellipse)e.ellipse(b,x,w,_,M,E,S,1-O);else{var k=w>_?w:_,A=w>_?1:w/_,C=w>_?_/w:1;e.translate(b,x),e.rotate(M),e.scale(A,C),e.arc(0,0,k,E,S,1-O),e.scale(1/A,1/C),e.rotate(-M),e.translate(-b,-x)}break;case"Z":e.closePath()}if("Z"===p)c=l;else{var j=d.length;c=[d[j-2],d[j-1]]}}}}function v(t,e){var n=t.get("canvas");n&&("remove"===e&&(t._cacheCanvasBBox=t.get("cacheCanvasBBox")),t.get("hasChanged")||(t.set("hasChanged",!0),t.cfg.parent&&t.cfg.parent.get("hasChanged")||(n.refreshElement(t,e,n),n.get("autoDraw")&&n.draw())))}function y(t){if(!t.length)return null;var e=[],n=[],i=[],o=[];return Object(r.each)(t,(function(t){var r=function(t){var e;if(t.destroyed)e=t._cacheCanvasBBox;else{var n=t.get("cacheCanvasBBox"),r=n&&!(!n.width||!n.height),i=t.getCanvasBBox(),o=i&&!(!i.width||!i.height);r&&o?e=Object(a.l)(n,i):r?e=n:o&&(e=i)}return e}(t);r&&(e.push(r.minX),n.push(r.minY),i.push(r.maxX),o.push(r.maxY))})),{minX:Object(r.min)(e),minY:Object(r.min)(n),maxX:Object(r.max)(i),maxY:Object(r.max)(o)}}function m(t,e){return t&&e&&Object(a.f)(t,e)?{minX:Math.max(t.minX,e.minX),minY:Math.max(t.minY,e.minY),maxX:Math.min(t.maxX,e.maxX),maxY:Math.min(t.maxY,e.maxY)}:null}},function(t,e,n){function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var i=n(194)();t.exports=i;try{regeneratorRuntime=i}catch(t){"object"===("undefined"==typeof globalThis?"undefined":r(globalThis))?globalThis.regeneratorRuntime=i:Function("r","regeneratorRuntime = r")(i)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Base=void 0;var r=function(){function t(){this.nodes=[],this.edges=[],this.combos=[],this.comboEdges=[],this.hiddenNodes=[],this.hiddenEdges=[],this.hiddenCombos=[],this.vedges=[],this.positions=[],this.destroyed=!1,this.onLayoutEnd=function(){}}return t.prototype.layout=function(t){return this.init(t),this.execute(!0)},t.prototype.init=function(t){this.nodes=t.nodes||[],this.edges=t.edges||[],this.combos=t.combos||[],this.comboEdges=t.comboEdges||[],this.hiddenNodes=t.hiddenNodes||[],this.hiddenEdges=t.hiddenEdges||[],this.hiddenCombos=t.hiddenCombos||[],this.vedges=t.vedges||[]},t.prototype.execute=function(t){},t.prototype.executeWithWorker=function(){},t.prototype.getDefaultCfg=function(){return{}},t.prototype.updateCfg=function(t){t&&Object.assign(this,t)},t.prototype.getType=function(){return"base"},t.prototype.destroy=function(){this.nodes=null,this.edges=null,this.combos=null,this.positions=null,this.destroyed=!0},t}();e.Base=r},function(t,e,n){"use strict";n.d(e,"c",(function(){return h})),n.d(e,"b",(function(){return d})),n.d(e,"a",(function(){return p}));var r=n(1),i=n(29);function o(t){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var a=Math.sin,s=Math.cos,u=Math.atan2,c=Math.PI;function l(t,e,n,r,o,l,f){var h=e.stroke,d=e.lineWidth,p=u(r-l,n-o),g=new i.Path({type:"path",canvas:t.get("canvas"),isArrowShape:!0,attrs:{path:"M"+10*s(c/6)+","+10*a(c/6)+" L0,0 L"+10*s(c/6)+",-"+10*a(c/6),stroke:h,lineWidth:d}});g.translate(o,l),g.rotateAtPoint(o,l,p),t.set(f?"startArrowShape":"endArrowShape",g)}function f(t,e,n,o,c,l,f){var h=e.startArrow,d=e.endArrow,p=e.stroke,g=e.lineWidth,v=f?h:d,y=v.d,m=v.fill,b=v.stroke,x=v.lineWidth,w=Object(r.__rest)(v,["d","fill","stroke","lineWidth"]),_=u(o-l,n-c);y&&(c-=s(_)*y,l-=a(_)*y);var E=new i.Path({type:"path",canvas:t.get("canvas"),isArrowShape:!0,attrs:Object(r.__assign)(Object(r.__assign)({},w),{stroke:b||p,lineWidth:x||g,fill:m})});E.translate(c,l),E.rotateAtPoint(c,l,_),t.set(f?"startArrowShape":"endArrowShape",E)}function h(t,e,n,r,i){var o=u(r-e,n-t);return{dx:s(o)*i,dy:a(o)*i}}function d(t,e,n,r,i,a){"object"===o(e.startArrow)?f(t,e,n,r,i,a,!0):e.startArrow?l(t,e,n,r,i,a,!0):t.set("startArrowShape",null)}function p(t,e,n,r,i,a){"object"===o(e.endArrow)?f(t,e,n,r,i,a,!1):e.endArrow?l(t,e,n,r,i,a,!1):t.set("startArrowShape",null)}},function(t,e,n){"use strict";n.d(e,"b",(function(){return i})),n.d(e,"c",(function(){return o})),n.d(e,"a",(function(){return a}));var r=n(12);function i(t,e){var n=t.cfg.el,r=t.attr(),i={dx:r.shadowOffsetX,dy:r.shadowOffsetY,blur:r.shadowBlur,color:r.shadowColor};if(i.dx||i.dy||i.blur||i.color){var o=e.find("filter",i);o||(o=e.addShadow(i)),n.setAttribute("filter","url(#"+o+")")}else n.removeAttribute("filter")}function o(t){var e=t.attr().matrix;if(e){for(var n=t.cfg.el,r=[],i=0;i<9;i+=3)r.push(e[i]+","+e[i+1]);-1===(r=r.join(",")).indexOf("NaN")?n.setAttribute("transform","matrix("+r+")"):console.warn("invalid matrix:",e)}}function a(t,e){var n=t.getClip(),i=t.get("el");if(n){if(n&&!i.hasAttribute("clip-path")){Object(r.a)(n),n.createPath(e);var o=e.addClip(n);i.setAttribute("clip-path","url(#"+o+")")}}else i.removeAttribute("clip-path")}},function(t,e,n){"use strict";n.d(e,"a",(function(){return u})),n.d(e,"b",(function(){return h})),n.d(e,"c",(function(){return g})),n.d(e,"d",(function(){return _}));var r=n(0),i=/[MLHVQTCSAZ]([^MLHVQTCSAZ]*)/gi,o=/[^\s\,]+/gi;var a=function(t){var e=t||[];return Object(r.isArray)(e)?e:Object(r.isString)(e)?(e=e.match(i),Object(r.each)(e,(function(t,n){if((t=t.match(o))[0].length>1){var i=t[0].charAt(0);t.splice(1,0,t[0].substr(1)),t[0]=i}Object(r.each)(t,(function(e,n){isNaN(e)||(t[n]=+e)})),e[n]=t})),e):void 0},s=n(8);var u=function(t,e,n){void 0===e&&(e=!1),void 0===n&&(n=[[0,0],[1,1]]);for(var r=!!e,i=[],o=0,a=t.length;o<a;o+=2)i.push([t[o],t[o+1]]);var u,c,l,f=function(t,e,n,r){var i,o,a,u,c,l,f,h=[],d=!!r;if(d){a=r[0],u=r[1];for(var p=0,g=t.length;p<g;p+=1){var v=t[p];a=s.vec2.min([0,0],a,v),u=s.vec2.max([0,0],u,v)}}p=0;for(var y=t.length;p<y;p+=1){v=t[p];if(0!==p||n)if(p!==y-1||n){i=t[[p?p-1:y-1,p-1][n?0:1]],o=t[n?(p+1)%y:p+1];var m=[0,0];m=s.vec2.sub(m,o,i),m=s.vec2.scale(m,m,e);var b=s.vec2.distance(v,i),x=s.vec2.distance(v,o),w=b+x;0!==w&&(b/=w,x/=w);var _=s.vec2.scale([0,0],m,-b),E=s.vec2.scale([0,0],m,x);l=s.vec2.add([0,0],v,_),c=s.vec2.add([0,0],v,E),c=s.vec2.min([0,0],c,s.vec2.max([0,0],o,v)),c=s.vec2.max([0,0],c,s.vec2.min([0,0],o,v)),_=s.vec2.sub([0,0],c,v),_=s.vec2.scale([0,0],_,-b/x),l=s.vec2.add([0,0],v,_),l=s.vec2.min([0,0],l,s.vec2.max([0,0],i,v)),l=s.vec2.max([0,0],l,s.vec2.min([0,0],i,v)),E=s.vec2.sub([0,0],v,l),E=s.vec2.scale([0,0],E,x/b),c=s.vec2.add([0,0],v,E),d&&(l=s.vec2.max([0,0],l,a),l=s.vec2.min([0,0],l,u),c=s.vec2.max([0,0],c,a),c=s.vec2.min([0,0],c,u)),h.push(f),h.push(l),f=c}else l=v,h.push(f),h.push(l);else f=v}return n&&h.push(h.shift()),h}(i,.4,r,n),h=i.length,d=[];for(o=0;o<h-1;o+=1)u=f[2*o],c=f[2*o+1],l=i[o+1],d.push(["C",u[0],u[1],c[0],c[1],l[0],l[1]]);return r&&(u=f[h],c=f[h+1],l=i[0],d.push(["C",u[0],u[1],c[0],c[1],l[0],l[1]])),d};var c="\t\n\v\f\r \u2028\u2029",l=new RegExp("([a-z])["+c+",]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?["+c+"]*,?["+c+"]*)+)","ig"),f=new RegExp("(-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?)["+c+"]*,?["+c+"]*","ig");function h(t){if(!t)return null;if(Object(r.isArray)(t))return t;var e={a:7,c:6,o:2,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,u:3,z:0},n=[];return String(t).replace(l,(function(t,r,i){var o=[],a=r.toLowerCase();if(i.replace(f,(function(t,e){e&&o.push(+e)})),"m"===a&&o.length>2&&(n.push([r].concat(o.splice(0,2))),a="l",r="m"===r?"l":"L"),"o"===a&&1===o.length&&n.push([r,o[0]]),"r"===a)n.push([r].concat(o));else for(;o.length>=e[a]&&(n.push([r].concat(o.splice(0,e[a]))),e[a]););return""})),n}var d=/[a-z]/;function p(t,e){return[e[0]+(e[0]-t[0]),e[1]+(e[1]-t[1])]}function g(t){var e=h(t);if(!e||!e.length)return[["M",0,0]];for(var n=!1,r=0;r<e.length;r++){var i=e[r][0];if(d.test(i)||["V","H","T","S"].indexOf(i)>=0){n=!0;break}}if(!n)return e;var o=[],a=0,s=0,u=0,c=0,l=0,f=e[0];"M"!==f[0]&&"m"!==f[0]||(u=a=+f[1],c=s=+f[2],l++,o[0]=["M",a,s]);r=l;for(var g=e.length;r<g;r++){var v=e[r],y=o[r-1],m=[],b=(i=v[0]).toUpperCase();if(i!==b)switch(m[0]=b,b){case"A":m[1]=v[1],m[2]=v[2],m[3]=v[3],m[4]=v[4],m[5]=v[5],m[6]=+v[6]+a,m[7]=+v[7]+s;break;case"V":m[1]=+v[1]+s;break;case"H":m[1]=+v[1]+a;break;case"M":u=+v[1]+a,c=+v[2]+s,m[1]=u,m[2]=c;break;default:for(var x=1,w=v.length;x<w;x++)m[x]=+v[x]+(x%2?a:s)}else m=e[r];switch(b){case"Z":a=+u,s=+c;break;case"H":m=["L",a=m[1],s];break;case"V":m=["L",a,s=m[1]];break;case"T":a=m[1],s=m[2];var _=p([y[1],y[2]],[y[3],y[4]]);m=["Q",_[0],_[1],a,s];break;case"S":a=m[m.length-2],s=m[m.length-1];var E=y.length,S=p([y[E-4],y[E-3]],[y[E-2],y[E-1]]);m=["C",S[0],S[1],m[1],m[2],a,s];break;case"M":u=m[m.length-2],c=m[m.length-1];break;default:a=m[m.length-2],s=m[m.length-1]}o.push(m)}return o}Math.PI;function v(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function y(t,e){return v(t)*v(e)?(t[0]*e[0]+t[1]*e[1])/(v(t)*v(e)):1}function m(t,e){return(t[0]*e[1]<t[1]*e[0]?-1:1)*Math.acos(y(t,e))}function b(t,e){return t[0]===e[0]&&t[1]===e[1]}function x(t,e){var n=e[1],i=e[2],o=Object(r.mod)(Object(r.toRadian)(e[3]),2*Math.PI),a=e[4],s=e[5],u=t[0],c=t[1],l=e[6],f=e[7],h=Math.cos(o)*(u-l)/2+Math.sin(o)*(c-f)/2,d=-1*Math.sin(o)*(u-l)/2+Math.cos(o)*(c-f)/2,p=h*h/(n*n)+d*d/(i*i);p>1&&(n*=Math.sqrt(p),i*=Math.sqrt(p));var g=n*n*(d*d)+i*i*(h*h),v=g?Math.sqrt((n*n*(i*i)-g)/g):1;a===s&&(v*=-1),isNaN(v)&&(v=0);var x=i?v*n*d/i:0,w=n?v*-i*h/n:0,_=(u+l)/2+Math.cos(o)*x-Math.sin(o)*w,E=(c+f)/2+Math.sin(o)*x+Math.cos(o)*w,S=[(h-x)/n,(d-w)/i],M=[(-1*h-x)/n,(-1*d-w)/i],O=m([1,0],S),k=m(S,M);return y(S,M)<=-1&&(k=Math.PI),y(S,M)>=1&&(k=0),0===s&&k>0&&(k-=2*Math.PI),1===s&&k<0&&(k+=2*Math.PI),{cx:_,cy:E,rx:b(t,[l,f])?0:n,ry:b(t,[l,f])?0:i,startAngle:O,endAngle:O+k,xRotation:o,arcFlag:a,sweepFlag:s}}function w(t,e){return[e[0]+(e[0]-t[0]),e[1]+(e[1]-t[1])]}function _(t){for(var e=[],n=null,r=null,i=null,o=0,s=(t=a(t)).length,u=0;u<s;u++){var c=t[u];r=t[u+1];var l=c[0],f={command:l,prePoint:n,params:c,startTangent:null,endTangent:null};switch(l){case"M":i=[c[1],c[2]],o=u;break;case"A":var h=x(n,c);f.arcParams=h}if("Z"===l)n=i,r=t[o+1];else{var d=c.length;n=[c[d-2],c[d-1]]}r&&"Z"===r[0]&&(r=t[o],e[o]&&(e[o].prePoint=n)),f.currentPoint=n,e[o]&&b(n,e[o].currentPoint)&&(e[o].prePoint=f.prePoint);var p=r?[r[r.length-2],r[r.length-1]]:null;f.nextPoint=p;var g=f.prePoint;if(["L","H","V"].includes(l))f.startTangent=[g[0]-n[0],g[1]-n[1]],f.endTangent=[n[0]-g[0],n[1]-g[1]];else if("Q"===l){var v=[c[1],c[2]];f.startTangent=[g[0]-v[0],g[1]-v[1]],f.endTangent=[n[0]-v[0],n[1]-v[1]]}else if("T"===l){v=w((_=e[u-1]).currentPoint,g);"Q"===_.command?(f.command="Q",f.startTangent=[g[0]-v[0],g[1]-v[1]],f.endTangent=[n[0]-v[0],n[1]-v[1]]):(f.command="TL",f.startTangent=[g[0]-n[0],g[1]-n[1]],f.endTangent=[n[0]-g[0],n[1]-g[1]])}else if("C"===l){var y=[c[1],c[2]],m=[c[3],c[4]];f.startTangent=[g[0]-y[0],g[1]-y[1]],f.endTangent=[n[0]-m[0],n[1]-m[1]],0===f.startTangent[0]&&0===f.startTangent[1]&&(f.startTangent=[y[0]-m[0],y[1]-m[1]]),0===f.endTangent[0]&&0===f.endTangent[1]&&(f.endTangent=[m[0]-y[0],m[1]-y[1]])}else if("S"===l){var _;y=w((_=e[u-1]).currentPoint,g),m=[c[1],c[2]];"C"===_.command?(f.command="C",f.startTangent=[g[0]-y[0],g[1]-y[1]],f.endTangent=[n[0]-m[0],n[1]-m[1]]):(f.command="SQ",f.startTangent=[g[0]-m[0],g[1]-m[1]],f.endTangent=[n[0]-m[0],n[1]-m[1]])}else if("A"===l){var E=.001,S=f.arcParams||{},M=S.cx,O=void 0===M?0:M,k=S.cy,A=void 0===k?0:k,C=S.rx,j=void 0===C?0:C,I=S.ry,T=void 0===I?0:I,N=S.sweepFlag,P=void 0===N?0:N,D=S.startAngle,L=void 0===D?0:D,R=S.endAngle,B=void 0===R?0:R;0===P&&(E*=-1);var F=j*Math.cos(L-E)+O,z=T*Math.sin(L-E)+A;f.startTangent=[F-i[0],z-i[1]];var G=j*Math.cos(L+B+E)+O,Y=T*Math.sin(L+B-E)+A;f.endTangent=[g[0]-G,g[1]-Y]}e.push(f)}return e}},function(t,e,n){"use strict";function r(t,e){var n=[],r=t[0],i=t[1],o=t[2],a=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],h=e[0],d=e[1],p=e[2],g=e[3],v=e[4],y=e[5],m=e[6],b=e[7],x=e[8];return n[0]=h*r+d*a+p*c,n[1]=h*i+d*s+p*l,n[2]=h*o+d*u+p*f,n[3]=g*r+v*a+y*c,n[4]=g*i+v*s+y*l,n[5]=g*o+v*u+y*f,n[6]=m*r+b*a+x*c,n[7]=m*i+b*s+x*l,n[8]=m*o+b*u+x*f,n}function i(t,e){var n=[],r=e[0],i=e[1];return n[0]=t[0]*r+t[3]*i+t[6],n[1]=t[1]*r+t[4]*i+t[7],n}function o(t){var e=[],n=t[0],r=t[1],i=t[2],o=t[3],a=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=l*a-s*c,h=-l*o+s*u,d=c*o-a*u,p=n*f+r*h+i*d;return p?(p=1/p,e[0]=f*p,e[1]=(-l*r+i*c)*p,e[2]=(s*r-i*a)*p,e[3]=h*p,e[4]=(l*n-i*u)*p,e[5]=(-s*n+i*o)*p,e[6]=d*p,e[7]=(-c*n+r*u)*p,e[8]=(a*n-r*o)*p,e):null}n.d(e,"b",(function(){return r})),n.d(e,"c",(function(){return i})),n.d(e,"a",(function(){return o}))},function(t,e,n){"use strict";n(29),n(11);var r=n(114);n.d(e,"Canvas",(function(){return r.a}));n(36),n(43)},function(t,e,n){"use strict";n.r(e),n.d(e,"create",(function(){return i})),n.d(e,"clone",(function(){return o})),n.d(e,"length",(function(){return a})),n.d(e,"fromValues",(function(){return s})),n.d(e,"copy",(function(){return u})),n.d(e,"set",(function(){return c})),n.d(e,"add",(function(){return l})),n.d(e,"subtract",(function(){return f})),n.d(e,"multiply",(function(){return h})),n.d(e,"divide",(function(){return d})),n.d(e,"ceil",(function(){return p})),n.d(e,"floor",(function(){return g})),n.d(e,"min",(function(){return v})),n.d(e,"max",(function(){return y})),n.d(e,"round",(function(){return m})),n.d(e,"scale",(function(){return b})),n.d(e,"scaleAndAdd",(function(){return x})),n.d(e,"distance",(function(){return w})),n.d(e,"squaredDistance",(function(){return _})),n.d(e,"squaredLength",(function(){return E})),n.d(e,"negate",(function(){return S})),n.d(e,"inverse",(function(){return M})),n.d(e,"normalize",(function(){return O})),n.d(e,"dot",(function(){return k})),n.d(e,"cross",(function(){return A})),n.d(e,"lerp",(function(){return C})),n.d(e,"hermite",(function(){return j})),n.d(e,"bezier",(function(){return I})),n.d(e,"random",(function(){return T})),n.d(e,"transformMat4",(function(){return N})),n.d(e,"transformMat3",(function(){return P})),n.d(e,"transformQuat",(function(){return D})),n.d(e,"rotateX",(function(){return L})),n.d(e,"rotateY",(function(){return R})),n.d(e,"rotateZ",(function(){return B})),n.d(e,"angle",(function(){return F})),n.d(e,"zero",(function(){return z})),n.d(e,"str",(function(){return G})),n.d(e,"exactEquals",(function(){return Y})),n.d(e,"equals",(function(){return U})),n.d(e,"sub",(function(){return W})),n.d(e,"mul",(function(){return V})),n.d(e,"div",(function(){return H})),n.d(e,"dist",(function(){return q})),n.d(e,"sqrDist",(function(){return Z})),n.d(e,"len",(function(){return K})),n.d(e,"sqrLen",(function(){return Q})),n.d(e,"forEach",(function(){return $}));var r=n(2);function i(){var t=new r.ARRAY_TYPE(3);return r.ARRAY_TYPE!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function o(t){var e=new r.ARRAY_TYPE(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function a(t){var e=t[0],n=t[1],r=t[2];return Math.hypot(e,n,r)}function s(t,e,n){var i=new r.ARRAY_TYPE(3);return i[0]=t,i[1]=e,i[2]=n,i}function u(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function c(t,e,n,r){return t[0]=e,t[1]=n,t[2]=r,t}function l(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t}function f(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2],t}function h(t,e,n){return t[0]=e[0]*n[0],t[1]=e[1]*n[1],t[2]=e[2]*n[2],t}function d(t,e,n){return t[0]=e[0]/n[0],t[1]=e[1]/n[1],t[2]=e[2]/n[2],t}function p(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}function g(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}function v(t,e,n){return t[0]=Math.min(e[0],n[0]),t[1]=Math.min(e[1],n[1]),t[2]=Math.min(e[2],n[2]),t}function y(t,e,n){return t[0]=Math.max(e[0],n[0]),t[1]=Math.max(e[1],n[1]),t[2]=Math.max(e[2],n[2]),t}function m(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}function b(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t}function x(t,e,n,r){return t[0]=e[0]+n[0]*r,t[1]=e[1]+n[1]*r,t[2]=e[2]+n[2]*r,t}function w(t,e){var n=e[0]-t[0],r=e[1]-t[1],i=e[2]-t[2];return Math.hypot(n,r,i)}function _(t,e){var n=e[0]-t[0],r=e[1]-t[1],i=e[2]-t[2];return n*n+r*r+i*i}function E(t){var e=t[0],n=t[1],r=t[2];return e*e+n*n+r*r}function S(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}function M(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}function O(t,e){var n=e[0],r=e[1],i=e[2],o=n*n+r*r+i*i;return o>0&&(o=1/Math.sqrt(o)),t[0]=e[0]*o,t[1]=e[1]*o,t[2]=e[2]*o,t}function k(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function A(t,e,n){var r=e[0],i=e[1],o=e[2],a=n[0],s=n[1],u=n[2];return t[0]=i*u-o*s,t[1]=o*a-r*u,t[2]=r*s-i*a,t}function C(t,e,n,r){var i=e[0],o=e[1],a=e[2];return t[0]=i+r*(n[0]-i),t[1]=o+r*(n[1]-o),t[2]=a+r*(n[2]-a),t}function j(t,e,n,r,i,o){var a=o*o,s=a*(2*o-3)+1,u=a*(o-2)+o,c=a*(o-1),l=a*(3-2*o);return t[0]=e[0]*s+n[0]*u+r[0]*c+i[0]*l,t[1]=e[1]*s+n[1]*u+r[1]*c+i[1]*l,t[2]=e[2]*s+n[2]*u+r[2]*c+i[2]*l,t}function I(t,e,n,r,i,o){var a=1-o,s=a*a,u=o*o,c=s*a,l=3*o*s,f=3*u*a,h=u*o;return t[0]=e[0]*c+n[0]*l+r[0]*f+i[0]*h,t[1]=e[1]*c+n[1]*l+r[1]*f+i[1]*h,t[2]=e[2]*c+n[2]*l+r[2]*f+i[2]*h,t}function T(t,e){e=e||1;var n=2*r.RANDOM()*Math.PI,i=2*r.RANDOM()-1,o=Math.sqrt(1-i*i)*e;return t[0]=Math.cos(n)*o,t[1]=Math.sin(n)*o,t[2]=i*e,t}function N(t,e,n){var r=e[0],i=e[1],o=e[2],a=n[3]*r+n[7]*i+n[11]*o+n[15];return a=a||1,t[0]=(n[0]*r+n[4]*i+n[8]*o+n[12])/a,t[1]=(n[1]*r+n[5]*i+n[9]*o+n[13])/a,t[2]=(n[2]*r+n[6]*i+n[10]*o+n[14])/a,t}function P(t,e,n){var r=e[0],i=e[1],o=e[2];return t[0]=r*n[0]+i*n[3]+o*n[6],t[1]=r*n[1]+i*n[4]+o*n[7],t[2]=r*n[2]+i*n[5]+o*n[8],t}function D(t,e,n){var r=n[0],i=n[1],o=n[2],a=n[3],s=e[0],u=e[1],c=e[2],l=i*c-o*u,f=o*s-r*c,h=r*u-i*s,d=i*h-o*f,p=o*l-r*h,g=r*f-i*l,v=2*a;return l*=v,f*=v,h*=v,d*=2,p*=2,g*=2,t[0]=s+l+d,t[1]=u+f+p,t[2]=c+h+g,t}function L(t,e,n,r){var i=[],o=[];return i[0]=e[0]-n[0],i[1]=e[1]-n[1],i[2]=e[2]-n[2],o[0]=i[0],o[1]=i[1]*Math.cos(r)-i[2]*Math.sin(r),o[2]=i[1]*Math.sin(r)+i[2]*Math.cos(r),t[0]=o[0]+n[0],t[1]=o[1]+n[1],t[2]=o[2]+n[2],t}function R(t,e,n,r){var i=[],o=[];return i[0]=e[0]-n[0],i[1]=e[1]-n[1],i[2]=e[2]-n[2],o[0]=i[2]*Math.sin(r)+i[0]*Math.cos(r),o[1]=i[1],o[2]=i[2]*Math.cos(r)-i[0]*Math.sin(r),t[0]=o[0]+n[0],t[1]=o[1]+n[1],t[2]=o[2]+n[2],t}function B(t,e,n,r){var i=[],o=[];return i[0]=e[0]-n[0],i[1]=e[1]-n[1],i[2]=e[2]-n[2],o[0]=i[0]*Math.cos(r)-i[1]*Math.sin(r),o[1]=i[0]*Math.sin(r)+i[1]*Math.cos(r),o[2]=i[2],t[0]=o[0]+n[0],t[1]=o[1]+n[1],t[2]=o[2]+n[2],t}function F(t,e){var n=t[0],r=t[1],i=t[2],o=e[0],a=e[1],s=e[2],u=Math.sqrt(n*n+r*r+i*i)*Math.sqrt(o*o+a*a+s*s),c=u&&k(t,e)/u;return Math.acos(Math.min(Math.max(c,-1),1))}function z(t){return t[0]=0,t[1]=0,t[2]=0,t}function G(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"}function Y(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}function U(t,e){var n=t[0],i=t[1],o=t[2],a=e[0],s=e[1],u=e[2];return Math.abs(n-a)<=r.EPSILON*Math.max(1,Math.abs(n),Math.abs(a))&&Math.abs(i-s)<=r.EPSILON*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(o-u)<=r.EPSILON*Math.max(1,Math.abs(o),Math.abs(u))}var X,W=f,V=h,H=d,q=w,Z=_,K=a,Q=E,$=(X=i(),function(t,e,n,r,i,o){var a,s;for(e||(e=3),n||(n=0),s=r?Math.min(r*e+n,t.length):t.length,a=n;a<s;a+=e)X[0]=t[a],X[1]=t[a+1],X[2]=t[a+2],i(X,X,o),t[a]=X[0],t[a+1]=X[1],t[a+2]=X[2];return t})},function(t,e){function n(t,e,n,r,i,o,a){try{var s=t[o](a),u=s.value}catch(t){return void n(t)}s.done?e(u):Promise.resolve(u).then(r,i)}t.exports=function(t){return function(){var e=this,r=arguments;return new Promise((function(i,o){var a=t.apply(e,r);function s(t){n(a,i,o,s,u,"next",t)}function u(t){n(a,i,o,s,u,"throw",t)}s(void 0)}))}},t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.minBy=e.notime=e.time=e.partition=e.maxRank=e.addBorderNode=e.removeEmptyRanks=e.normalizeRanks=e.buildLayerMatrix=e.intersectRect=e.predecessorWeights=e.successorWeights=e.zipObject=e.asNonCompoundGraph=e.simplify=e.addDummyNode=void 0;var r=n(15),i=n(35);e.addDummyNode=function(t,e,n,r){var i;do{i="".concat(r).concat(Math.random())}while(t.hasNode(i));return n.dummy=e,t.setNode(i,n),i};e.simplify=function(t){var e=(new i.Graph).setGraph(t.graph());return t.nodes().forEach((function(n){e.setNode(n,t.node(n))})),t.edges().forEach((function(n){var r=e.edgeFromArgs(n.v,n.w)||{weight:0,minlen:1},i=t.edge(n);e.setEdge(n.v,n.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})})),e};e.asNonCompoundGraph=function(t){var e=new i.Graph({multigraph:t.isMultigraph()}).setGraph(t.graph());return t.nodes().forEach((function(n){var r;(null===(r=t.children(n))||void 0===r?void 0:r.length)||e.setNode(n,t.node(n))})),t.edges().forEach((function(n){e.setEdgeObj(n,t.edge(n))})),e};e.zipObject=function(t,e){return null==t?void 0:t.reduce((function(t,n,r){return t[n]=e[r],t}),{})};e.successorWeights=function(t){var e={};return t.nodes().forEach((function(n){var r,i={};null===(r=t.outEdges(n))||void 0===r||r.forEach((function(e){var n;i[e.w]=(i[e.w]||0)+((null===(n=t.edge(e))||void 0===n?void 0:n.weight)||0)})),e[n]=i})),e};e.predecessorWeights=function(t){var n=t.nodes(),r=n.map((function(e){var n,r={};return null===(n=t.inEdges(e))||void 0===n||n.forEach((function(e){r[e.v]=(r[e.v]||0)+t.edge(e).weight})),r}));return(0,e.zipObject)(n,r)};e.intersectRect=function(t,e){var n,r,i=Number(t.x),o=Number(t.y),a=Number(e.x)-i,s=Number(e.y)-o,u=Number(t.width)/2,c=Number(t.height)/2;return a||s?(Math.abs(s)*u>Math.abs(a)*c?(s<0&&(c=-c),n=c*a/s,r=c):(a<0&&(u=-u),n=u,r=u*s/a),{x:i+n,y:o+r}):{x:0,y:0}};e.buildLayerMatrix=function(t){for(var n=[],r=(0,e.maxRank)(t)+1,i=0;i<r;i++)n.push([]);t.nodes().forEach((function(e){var r=t.node(e);if(r){var i=r.rank;void 0!==i&&n[i]&&n[i].push(e)}}));for(i=0;i<r;i++)n[i]=n[i].sort((function(e,n){var r,i,o,a;return o=null===(r=t.node(e))||void 0===r?void 0:r.order,a=null===(i=t.node(n))||void 0===i?void 0:i.order,Number(o)-Number(a)}));return n};e.normalizeRanks=function(t){var e=t.nodes().filter((function(e){var n;return void 0!==(null===(n=t.node(e))||void 0===n?void 0:n.rank)})).map((function(e){return t.node(e).rank})),n=Math.min.apply(Math,e);t.nodes().forEach((function(e){var r=t.node(e);r.hasOwnProperty("rank")&&n!==1/0&&(r.rank-=n)}))};e.removeEmptyRanks=function(t){var e=t.nodes(),n=e.filter((function(e){var n;return void 0!==(null===(n=t.node(e))||void 0===n?void 0:n.rank)})).map((function(e){return t.node(e).rank})),r=Math.min.apply(Math,n),i=[];e.forEach((function(e){var n,o=((null===(n=t.node(e))||void 0===n?void 0:n.rank)||0)-r;i[o]||(i[o]=[]),i[o].push(e)}));for(var o=0,a=t.graph().nodeRankFactor||0,s=0;s<i.length;s++){var u=i[s];void 0===u?s%a!=0&&(o-=1):o&&(null==u||u.forEach((function(e){var n=t.node(e);n&&(n.rank=n.rank||0,n.rank+=o)})))}};e.addBorderNode=function(t,n,i,o){var a={width:0,height:0};return(0,r.isNumber)(i)&&(0,r.isNumber)(o)&&(a.rank=i,a.order=o),(0,e.addDummyNode)(t,"border",a,n)};e.maxRank=function(t){var e;return t.nodes().forEach((function(n){var r,i=null===(r=t.node(n))||void 0===r?void 0:r.rank;void 0!==i&&(void 0===e||i>e)&&(e=i)})),e||(e=0),e};e.partition=function(t,e){var n={lhs:[],rhs:[]};return null==t||t.forEach((function(t){e(t)?n.lhs.push(t):n.rhs.push(t)})),n};e.time=function(t,e){var n=Date.now();try{return e()}finally{console.log("".concat(t," time: ").concat(Date.now()-n,"ms"))}};e.notime=function(t,e){return e()};e.minBy=function(t,e){return t.reduce((function(t,n){return e(t)>e(n)?n:t}))}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.uniqueId=e.getOutEdgesNodeId=e.getNeighbors=e.getEdgesByNodeId=void 0;e.getNeighbors=function(t,e,n){void 0===e&&(e=[]);var r=e.filter((function(e){return e.source===t||e.target===t}));if("target"===n){return r.filter((function(e){return e.source===t})).map((function(t){return t.target}))}if("source"===n){return r.filter((function(e){return e.target===t})).map((function(t){return t.source}))}return r.map((function(e){return e.source===t?e.target:e.source}))};e.getOutEdgesNodeId=function(t,e){return e.filter((function(e){return e.source===t}))};e.getEdgesByNodeId=function(t,e){return e.filter((function(e){return e.source===t||e.target===t}))};e.uniqueId=function(t){void 0===t&&(t=0);var e="".concat(Math.random()).split(".")[1].substr(0,5),n="".concat(Math.random()).split(".")[1].substr(0,5);return"".concat(t,"-").concat(e).concat(n)}},function(t,e,n){"use strict";n.r(e),n.d(e,"catmullRomToBezier",(function(){return u})),n.d(e,"fillPath",(function(){return j})),n.d(e,"fillPathByDiff",(function(){return N})),n.d(e,"formatPath",(function(){return L})),n.d(e,"intersection",(function(){return k})),n.d(e,"parsePathArray",(function(){return v})),n.d(e,"parsePathString",(function(){return s})),n.d(e,"pathToAbsolute",(function(){return l})),n.d(e,"pathToCurve",(function(){return p})),n.d(e,"rectPath",(function(){return _}));var r=n(0),i="\t\n\v\f\r \u2028\u2029",o=new RegExp("([a-z])["+i+",]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?["+i+"]*,?["+i+"]*)+)","ig"),a=new RegExp("(-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?)["+i+"]*,?["+i+"]*","ig"),s=function(t){if(!t)return null;if(Object(r.isArray)(t))return t;var e={a:7,c:6,o:2,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,u:3,z:0},n=[];return String(t).replace(o,(function(r,i,o){var s=[],u=i.toLowerCase();if(o.replace(a,(function(t,e){e&&s.push(+e)})),"m"===u&&s.length>2&&(n.push([i].concat(s.splice(0,2))),u="l",i="m"===i?"l":"L"),"o"===u&&1===s.length&&n.push([i,s[0]]),"r"===u)n.push([i].concat(s));else for(;s.length>=e[u]&&(n.push([i].concat(s.splice(0,e[u]))),e[u]););return t})),n},u=function(t,e){for(var n=[],r=0,i=t.length;i-2*!e>r;r+=2){var o=[{x:+t[r-2],y:+t[r-1]},{x:+t[r],y:+t[r+1]},{x:+t[r+2],y:+t[r+3]},{x:+t[r+4],y:+t[r+5]}];e?r?i-4===r?o[3]={x:+t[0],y:+t[1]}:i-2===r&&(o[2]={x:+t[0],y:+t[1]},o[3]={x:+t[2],y:+t[3]}):o[0]={x:+t[i-2],y:+t[i-1]}:i-4===r?o[3]=o[2]:r||(o[0]={x:+t[r],y:+t[r+1]}),n.push(["C",(-o[0].x+6*o[1].x+o[2].x)/6,(-o[0].y+6*o[1].y+o[2].y)/6,(o[1].x+6*o[2].x-o[3].x)/6,(o[1].y+6*o[2].y-o[3].y)/6,o[2].x,o[2].y])}return n},c=function(t,e,n,r,i){var o=[];if(null===i&&null===r&&(r=n),t=+t,e=+e,n=+n,r=+r,null!==i){var a=Math.PI/180,s=t+n*Math.cos(-r*a),u=t+n*Math.cos(-i*a);o=[["M",s,e+n*Math.sin(-r*a)],["A",n,n,0,+(i-r>180),0,u,e+n*Math.sin(-i*a)]]}else o=[["M",t,e],["m",0,-r],["a",n,r,0,1,1,0,2*r],["a",n,r,0,1,1,0,-2*r],["z"]];return o},l=function(t){if(!(t=s(t))||!t.length)return[["M",0,0]];var e,n,r=[],i=0,o=0,a=0,l=0,f=0;"M"===t[0][0]&&(a=i=+t[0][1],l=o=+t[0][2],f++,r[0]=["M",i,o]);for(var h=3===t.length&&"M"===t[0][0]&&"R"===t[1][0].toUpperCase()&&"Z"===t[2][0].toUpperCase(),d=void 0,p=void 0,g=f,v=t.length;g<v;g++){if(r.push(d=[]),(e=(p=t[g])[0])!==e.toUpperCase())switch(d[0]=e.toUpperCase(),d[0]){case"A":d[1]=p[1],d[2]=p[2],d[3]=p[3],d[4]=p[4],d[5]=p[5],d[6]=+p[6]+i,d[7]=+p[7]+o;break;case"V":d[1]=+p[1]+o;break;case"H":d[1]=+p[1]+i;break;case"R":for(var y=2,m=(n=[i,o].concat(p.slice(1))).length;y<m;y++)n[y]=+n[y]+i,n[++y]=+n[y]+o;r.pop(),r=r.concat(u(n,h));break;case"O":r.pop(),(n=c(i,o,p[1],p[2])).push(n[0]),r=r.concat(n);break;case"U":r.pop(),r=r.concat(c(i,o,p[1],p[2],p[3])),d=["U"].concat(r[r.length-1].slice(-2));break;case"M":a=+p[1]+i,l=+p[2]+o;break;default:for(y=1,m=p.length;y<m;y++)d[y]=+p[y]+(y%2?i:o)}else if("R"===e)n=[i,o].concat(p.slice(1)),r.pop(),r=r.concat(u(n,h)),d=["R"].concat(p.slice(-2));else if("O"===e)r.pop(),(n=c(i,o,p[1],p[2])).push(n[0]),r=r.concat(n);else if("U"===e)r.pop(),r=r.concat(c(i,o,p[1],p[2],p[3])),d=["U"].concat(r[r.length-1].slice(-2));else for(var b=0,x=p.length;b<x;b++)d[b]=p[b];if("O"!==(e=e.toUpperCase()))switch(d[0]){case"Z":i=+a,o=+l;break;case"H":i=d[1];break;case"V":o=d[1];break;case"M":a=d[d.length-2],l=d[d.length-1];break;default:i=d[d.length-2],o=d[d.length-1]}}return r},f=function(t,e,n,r){return[t,e,n,r,n,r]},h=function(t,e,n,r,i,o){return[1/3*t+2/3*n,1/3*e+2/3*r,1/3*i+2/3*n,1/3*o+2/3*r,i,o]},d=function(t,e,n,r,i,o,a,s,u,c){n===r&&(n+=1);var l,f,h,p,g,v=120*Math.PI/180,y=Math.PI/180*(+i||0),m=[],b=function(t,e,n){return{x:t*Math.cos(n)-e*Math.sin(n),y:t*Math.sin(n)+e*Math.cos(n)}};if(c)f=c[0],h=c[1],p=c[2],g=c[3];else{t=(l=b(t,e,-y)).x,e=l.y,s=(l=b(s,u,-y)).x,u=l.y,t===s&&e===u&&(s+=1,u+=1);var x=(t-s)/2,w=(e-u)/2,_=x*x/(n*n)+w*w/(r*r);_>1&&(n*=_=Math.sqrt(_),r*=_);var E=n*n,S=r*r,M=(o===a?-1:1)*Math.sqrt(Math.abs((E*S-E*w*w-S*x*x)/(E*w*w+S*x*x)));p=M*n*w/r+(t+s)/2,g=M*-r*x/n+(e+u)/2,f=Math.asin(((e-g)/r).toFixed(9)),h=Math.asin(((u-g)/r).toFixed(9)),f=t<p?Math.PI-f:f,h=s<p?Math.PI-h:h,f<0&&(f=2*Math.PI+f),h<0&&(h=2*Math.PI+h),a&&f>h&&(f-=2*Math.PI),!a&&h>f&&(h-=2*Math.PI)}var O=h-f;if(Math.abs(O)>v){var k=h,A=s,C=u;h=f+v*(a&&h>f?1:-1),s=p+n*Math.cos(h),u=g+r*Math.sin(h),m=d(s,u,n,r,i,0,a,A,C,[h,k,p,g])}O=h-f;var j=Math.cos(f),I=Math.sin(f),T=Math.cos(h),N=Math.sin(h),P=Math.tan(O/4),D=4/3*n*P,L=4/3*r*P,R=[t,e],B=[t+D*I,e-L*j],F=[s+D*N,u-L*T],z=[s,u];if(B[0]=2*R[0]-B[0],B[1]=2*R[1]-B[1],c)return[B,F,z].concat(m);for(var G=[],Y=0,U=(m=[B,F,z].concat(m).join().split(",")).length;Y<U;Y++)G[Y]=Y%2?b(m[Y-1],m[Y],y).y:b(m[Y],m[Y+1],y).x;return G},p=function(t,e){var n,r=l(t),i=e&&l(e),o={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},a={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},s=[],u=[],c="",p="",g=function(t,e,n){var r,i;if(!t)return["C",e.x,e.y,e.x,e.y,e.x,e.y];switch(!(t[0]in{T:1,Q:1})&&(e.qx=e.qy=null),t[0]){case"M":e.X=t[1],e.Y=t[2];break;case"A":t=["C"].concat(d.apply(0,[e.x,e.y].concat(t.slice(1))));break;case"S":"C"===n||"S"===n?(r=2*e.x-e.bx,i=2*e.y-e.by):(r=e.x,i=e.y),t=["C",r,i].concat(t.slice(1));break;case"T":"Q"===n||"T"===n?(e.qx=2*e.x-e.qx,e.qy=2*e.y-e.qy):(e.qx=e.x,e.qy=e.y),t=["C"].concat(h(e.x,e.y,e.qx,e.qy,t[1],t[2]));break;case"Q":e.qx=t[1],e.qy=t[2],t=["C"].concat(h(e.x,e.y,t[1],t[2],t[3],t[4]));break;case"L":t=["C"].concat(f(e.x,e.y,t[1],t[2]));break;case"H":t=["C"].concat(f(e.x,e.y,t[1],e.y));break;case"V":t=["C"].concat(f(e.x,e.y,e.x,t[1]));break;case"Z":t=["C"].concat(f(e.x,e.y,e.X,e.Y))}return t},v=function(t,e){if(t[e].length>7){t[e].shift();for(var o=t[e];o.length;)s[e]="A",i&&(u[e]="A"),t.splice(e++,0,["C"].concat(o.splice(0,6)));t.splice(e,1),n=Math.max(r.length,i&&i.length||0)}},y=function(t,e,o,a,s){t&&e&&"M"===t[s][0]&&"M"!==e[s][0]&&(e.splice(s,0,["M",a.x,a.y]),o.bx=0,o.by=0,o.x=t[s][1],o.y=t[s][2],n=Math.max(r.length,i&&i.length||0))};n=Math.max(r.length,i&&i.length||0);for(var m=0;m<n;m++){r[m]&&(c=r[m][0]),"C"!==c&&(s[m]=c,m&&(p=s[m-1])),r[m]=g(r[m],o,p),"A"!==s[m]&&"C"===c&&(s[m]="C"),v(r,m),i&&(i[m]&&(c=i[m][0]),"C"!==c&&(u[m]=c,m&&(p=u[m-1])),i[m]=g(i[m],a,p),"A"!==u[m]&&"C"===c&&(u[m]="C"),v(i,m)),y(r,i,o,a,m),y(i,r,a,o,m);var b=r[m],x=i&&i[m],w=b.length,_=i&&x.length;o.x=b[w-2],o.y=b[w-1],o.bx=parseFloat(b[w-4])||o.x,o.by=parseFloat(b[w-3])||o.y,a.bx=i&&(parseFloat(x[_-4])||a.x),a.by=i&&(parseFloat(x[_-3])||a.y),a.x=i&&x[_-2],a.y=i&&x[_-1]}return i?[r,i]:r},g=/,?([a-z]),?/gi,v=function(t){return t.join(",").replace(g,"$1")},y=function(t,e,n,r,i){return t*(t*(-3*e+9*n-9*r+3*i)+6*e-12*n+6*r)-3*e+3*n},m=function(t,e,n,r,i,o,a,s,u){null===u&&(u=1);for(var c=(u=u>1?1:u<0?0:u)/2,l=[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],f=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],h=0,d=0;d<12;d++){var p=c*l[d]+c,g=y(p,t,n,i,a),v=y(p,e,r,o,s),m=g*g+v*v;h+=f[d]*Math.sqrt(m)}return c*h},b=function(t,e,n,r,i,o,a,s){for(var u,c,l,f,h=[],d=[[],[]],p=0;p<2;++p)if(0===p?(c=6*t-12*n+6*i,u=-3*t+9*n-9*i+3*a,l=3*n-3*t):(c=6*e-12*r+6*o,u=-3*e+9*r-9*o+3*s,l=3*r-3*e),Math.abs(u)<1e-12){if(Math.abs(c)<1e-12)continue;(f=-l/c)>0&&f<1&&h.push(f)}else{var g=c*c-4*l*u,v=Math.sqrt(g);if(!(g<0)){var y=(-c+v)/(2*u);y>0&&y<1&&h.push(y);var m=(-c-v)/(2*u);m>0&&m<1&&h.push(m)}}for(var b,x=h.length,w=x;x--;)b=1-(f=h[x]),d[0][x]=b*b*b*t+3*b*b*f*n+3*b*f*f*i+f*f*f*a,d[1][x]=b*b*b*e+3*b*b*f*r+3*b*f*f*o+f*f*f*s;return d[0][w]=t,d[1][w]=e,d[0][w+1]=a,d[1][w+1]=s,d[0].length=d[1].length=w+2,{min:{x:Math.min.apply(0,d[0]),y:Math.min.apply(0,d[1])},max:{x:Math.max.apply(0,d[0]),y:Math.max.apply(0,d[1])}}},x=function(t,e,n,r,i,o,a,s){if(!(Math.max(t,n)<Math.min(i,a)||Math.min(t,n)>Math.max(i,a)||Math.max(e,r)<Math.min(o,s)||Math.min(e,r)>Math.max(o,s))){var u=(t-n)*(o-s)-(e-r)*(i-a);if(u){var c=((t*r-e*n)*(i-a)-(t-n)*(i*s-o*a))/u,l=((t*r-e*n)*(o-s)-(e-r)*(i*s-o*a))/u,f=+c.toFixed(2),h=+l.toFixed(2);if(!(f<+Math.min(t,n).toFixed(2)||f>+Math.max(t,n).toFixed(2)||f<+Math.min(i,a).toFixed(2)||f>+Math.max(i,a).toFixed(2)||h<+Math.min(e,r).toFixed(2)||h>+Math.max(e,r).toFixed(2)||h<+Math.min(o,s).toFixed(2)||h>+Math.max(o,s).toFixed(2)))return{x:c,y:l}}}},w=function(t,e,n){return e>=t.x&&e<=t.x+t.width&&n>=t.y&&n<=t.y+t.height},_=function(t,e,n,r,i){if(i)return[["M",+t+ +i,e],["l",n-2*i,0],["a",i,i,0,0,1,i,i],["l",0,r-2*i],["a",i,i,0,0,1,-i,i],["l",2*i-n,0],["a",i,i,0,0,1,-i,-i],["l",0,2*i-r],["a",i,i,0,0,1,i,-i],["z"]];var o=[["M",t,e],["l",n,0],["l",0,r],["l",-n,0],["z"]];return o.parsePathArray=v,o},E=function(t,e,n,r){return null===t&&(t=e=n=r=0),null===e&&(e=t.y,n=t.width,r=t.height,t=t.x),{x:t,y:e,width:n,w:n,height:r,h:r,x2:t+n,y2:e+r,cx:t+n/2,cy:e+r/2,r1:Math.min(n,r)/2,r2:Math.max(n,r)/2,r0:Math.sqrt(n*n+r*r)/2,path:_(t,e,n,r),vb:[t,e,n,r].join(" ")}},S=function(t,e,n,i,o,a,s,u){Object(r.isArray)(t)||(t=[t,e,n,i,o,a,s,u]);var c=b.apply(null,t);return E(c.min.x,c.min.y,c.max.x-c.min.x,c.max.y-c.min.y)},M=function(t,e,n,r,i,o,a,s,u){var c=1-u,l=Math.pow(c,3),f=Math.pow(c,2),h=u*u,d=h*u,p=t+2*u*(n-t)+h*(i-2*n+t),g=e+2*u*(r-e)+h*(o-2*r+e),v=n+2*u*(i-n)+h*(a-2*i+n),y=r+2*u*(o-r)+h*(s-2*o+r);return{x:l*t+3*f*u*n+3*c*u*u*i+d*a,y:l*e+3*f*u*r+3*c*u*u*o+d*s,m:{x:p,y:g},n:{x:v,y:y},start:{x:c*t+u*n,y:c*e+u*r},end:{x:c*i+u*a,y:c*o+u*s},alpha:90-180*Math.atan2(p-v,g-y)/Math.PI}},O=function(t,e,n){if(!function(t,e){return t=E(t),e=E(e),w(e,t.x,t.y)||w(e,t.x2,t.y)||w(e,t.x,t.y2)||w(e,t.x2,t.y2)||w(t,e.x,e.y)||w(t,e.x2,e.y)||w(t,e.x,e.y2)||w(t,e.x2,e.y2)||(t.x<e.x2&&t.x>e.x||e.x<t.x2&&e.x>t.x)&&(t.y<e.y2&&t.y>e.y||e.y<t.y2&&e.y>t.y)}(S(t),S(e)))return n?0:[];for(var r=~~(m.apply(0,t)/8),i=~~(m.apply(0,e)/8),o=[],a=[],s={},u=n?0:[],c=0;c<r+1;c++){var l=M.apply(0,t.concat(c/r));o.push({x:l.x,y:l.y,t:c/r})}for(c=0;c<i+1;c++){l=M.apply(0,e.concat(c/i));a.push({x:l.x,y:l.y,t:c/i})}for(c=0;c<r;c++)for(var f=0;f<i;f++){var h=o[c],d=o[c+1],p=a[f],g=a[f+1],v=Math.abs(d.x-h.x)<.001?"y":"x",y=Math.abs(g.x-p.x)<.001?"y":"x",b=x(h.x,h.y,d.x,d.y,p.x,p.y,g.x,g.y);if(b){if(s[b.x.toFixed(4)]===b.y.toFixed(4))continue;s[b.x.toFixed(4)]=b.y.toFixed(4);var _=h.t+Math.abs((b[v]-h[v])/(d[v]-h[v]))*(d.t-h.t),O=p.t+Math.abs((b[y]-p[y])/(g[y]-p[y]))*(g.t-p.t);_>=0&&_<=1&&O>=0&&O<=1&&(n?u+=1:u.push({x:b.x,y:b.y,t1:_,t2:O}))}}return u},k=function(t,e){return function(t,e,n){var r,i,o,a,s,u,c,l,f,h;t=p(t),e=p(e);for(var d=n?0:[],g=0,v=t.length;g<v;g++){var y=t[g];if("M"===y[0])r=s=y[1],i=u=y[2];else{"C"===y[0]?(f=[r,i].concat(y.slice(1)),r=f[6],i=f[7]):(f=[r,i,r,i,s,u,s,u],r=s,i=u);for(var m=0,b=e.length;m<b;m++){var x=e[m];if("M"===x[0])o=c=x[1],a=l=x[2];else{"C"===x[0]?(h=[o,a].concat(x.slice(1)),o=h[6],a=h[7]):(h=[o,a,o,a,c,l,c,l],o=c,a=l);var w=O(f,h,n);if(n)d+=w;else{for(var _=0,E=w.length;_<E;_++)w[_].segment1=g,w[_].segment2=m,w[_].bez1=f,w[_].bez2=h;d=d.concat(w)}}}}}return d}(t,e)};function A(t,e){var n=[],r=[];return t.length&&function t(e,i){if(1===e.length)n.push(e[0]),r.push(e[0]);else{for(var o=[],a=0;a<e.length-1;a++)0===a&&n.push(e[0]),a===e.length-2&&r.push(e[a+1]),o[a]=[(1-i)*e[a][0]+i*e[a+1][0],(1-i)*e[a][1]+i*e[a+1][1]];t(o,i)}}(t,e),{left:n,right:r.reverse()}}var C=function(t,e,n){if(1===n)return[[].concat(t)];var r=[];if("L"===e[0]||"C"===e[0]||"Q"===e[0])r=r.concat(function(t,e,n){var r=[[t[1],t[2]]];n=n||2;var i=[];"A"===e[0]?(r.push(e[6]),r.push(e[7])):"C"===e[0]?(r.push([e[1],e[2]]),r.push([e[3],e[4]]),r.push([e[5],e[6]])):"S"===e[0]||"Q"===e[0]?(r.push([e[1],e[2]]),r.push([e[3],e[4]])):r.push([e[1],e[2]]);for(var o=r,a=1/n,s=0;s<n-1;s++){var u=A(o,a/(1-a*s));i.push(u.left),o=u.right}return i.push(o),i.map((function(t){var e=[];return 4===t.length&&(e.push("C"),e=e.concat(t[2])),t.length>=3&&(3===t.length&&e.push("Q"),e=e.concat(t[1])),2===t.length&&e.push("L"),e=e.concat(t[t.length-1])}))}(t,e,n));else{var i=[].concat(t);"M"===i[0]&&(i[0]="L");for(var o=0;o<=n-1;o++)r.push(i)}return r},j=function(t,e){if(1===t.length)return t;var n=t.length-1,r=e.length-1,i=n/r,o=[];if(1===t.length&&"M"===t[0][0]){for(var a=0;a<r-n;a++)t.push(t[0]);return t}for(a=0;a<r;a++){var s=Math.floor(i*a);o[s]=(o[s]||0)+1}var u=o.reduce((function(e,r,i){return i===n?e.concat(t[n]):e.concat(C(t[i],t[i+1],r))}),[]);return u.unshift(t[0]),"Z"!==e[r]&&"z"!==e[r]||u.push("Z"),u},I=function(t,e){if(t.length!==e.length)return!1;var n=!0;return Object(r.each)(t,(function(t,r){if(t!==e[r])return n=!1,!1})),n};function T(t,e,n){var r=null,i=n;return e<i&&(i=e,r="add"),t<i&&(i=t,r="del"),{type:r,min:i}}var N=function(t,e){var n=function(t,e){var n,r,i=t.length,o=e.length,a=0;if(0===i||0===o)return null;for(var s=[],u=0;u<=i;u++)s[u]=[],s[u][0]={min:u};for(var c=0;c<=o;c++)s[0][c]={min:c};for(u=1;u<=i;u++){n=t[u-1];for(c=1;c<=o;c++){r=e[c-1],a=I(n,r)?0:1;var l=s[u-1][c].min+1,f=s[u][c-1].min+1,h=s[u-1][c-1].min+a;s[u][c]=T(l,f,h)}}return s}(t,e),r=t.length,i=e.length,o=[],a=1,s=1;if(n[r][i].min!==r){for(var u=1;u<=r;u++){var c=n[u][u].min;s=u;for(var l=a;l<=i;l++)n[u][l].min<c&&(c=n[u][l].min,s=l);a=s,n[u][a].type&&o.push({index:u-1,type:n[u][a].type})}for(u=o.length-1;u>=0;u--)a=o[u].index,"add"===o[u].type?t.splice(a,0,[].concat(t[a])):t.splice(a,1)}var f=i-(r=t.length);if(r<i)for(u=0;u<f;u++)"z"===t[r-1][0]||"Z"===t[r-1][0]?t.splice(r-2,0,t[r-2]):t.push(t[r-1]),r+=1;return t};function P(t,e,n){for(var r,i=[].concat(t),o=1/(n+1),a=D(e)[0],s=1;s<=n;s++)o*=s,0===(r=Math.floor(t.length*o))?i.unshift([a[0]*o+t[r][0]*(1-o),a[1]*o+t[r][1]*(1-o)]):i.splice(r,0,[a[0]*o+t[r][0]*(1-o),a[1]*o+t[r][1]*(1-o)]);return i}function D(t){var e=[];switch(t[0]){case"M":case"L":e.push([t[1],t[2]]);break;case"A":e.push([t[6],t[7]]);break;case"Q":e.push([t[3],t[4]]),e.push([t[1],t[2]]);break;case"T":e.push([t[1],t[2]]);break;case"C":e.push([t[5],t[6]]),e.push([t[1],t[2]]),e.push([t[3],t[4]]);break;case"S":e.push([t[3],t[4]]),e.push([t[1],t[2]]);break;case"H":case"V":e.push([t[1],t[1]])}return e}var L=function(t,e){if(t.length<=1)return t;for(var n,r=0;r<e.length;r++)if(t[r][0]!==e[r][0])switch(n=D(t[r]),e[r][0]){case"M":t[r]=["M"].concat(n[0]);break;case"L":t[r]=["L"].concat(n[0]);break;case"A":t[r]=[].concat(e[r]),t[r][6]=n[0][0],t[r][7]=n[0][1];break;case"Q":if(n.length<2){if(!(r>0)){t[r]=e[r];break}n=P(n,t[r-1],1)}t[r]=["Q"].concat(n.reduce((function(t,e){return t.concat(e)}),[]));break;case"T":t[r]=["T"].concat(n[0]);break;case"C":if(n.length<3){if(!(r>0)){t[r]=e[r];break}n=P(n,t[r-1],2)}t[r]=["C"].concat(n.reduce((function(t,e){return t.concat(e)}),[]));break;case"S":if(n.length<2){if(!(r>0)){t[r]=e[r];break}n=P(n,t[r-1],1)}t[r]=["S"].concat(n.reduce((function(t,e){return t.concat(e)}),[]));break;default:t[r]=e[r]}return t}},function(t,e,n){"use strict";n.r(e),n.d(e,"Base",(function(){return c})),n.d(e,"Circle",(function(){return l})),n.d(e,"Ellipse",(function(){return h})),n.d(e,"Image",(function(){return p})),n.d(e,"Line",(function(){return m})),n.d(e,"Marker",(function(){return _})),n.d(e,"Path",(function(){return N})),n.d(e,"Polygon",(function(){return D})),n.d(e,"Polyline",(function(){return L})),n.d(e,"Rect",(function(){return B})),n.d(e,"Text",(function(){return F}));var r={};n.r(r),n.d(r,"Base",(function(){return c})),n.d(r,"Circle",(function(){return l})),n.d(r,"Ellipse",(function(){return h})),n.d(r,"Image",(function(){return p})),n.d(r,"Line",(function(){return m})),n.d(r,"Marker",(function(){return _})),n.d(r,"Path",(function(){return N})),n.d(r,"Polygon",(function(){return D})),n.d(r,"Polyline",(function(){return L})),n.d(r,"Rect",(function(){return B})),n.d(r,"Text",(function(){return F}));var i=n(1),o=n(11),a=n(5),s=n(16),u=n(36),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.__extends)(e,t),e.prototype.getDefaultAttrs=function(){var e=t.prototype.getDefaultAttrs.call(this);return Object(i.__assign)(Object(i.__assign)({},e),{lineWidth:1,lineAppendWidth:0,strokeOpacity:1,fillOpacity:1})},e.prototype.getShapeBase=function(){return r},e.prototype.getGroupBase=function(){return u.a},e.prototype.onCanvasChange=function(t){Object(s.h)(this,t)},e.prototype.calculateBBox=function(){var t=this.get("type"),e=this.getHitLineWidth(),n=Object(o.getBBoxMethod)(t)(this),r=e/2,i=n.x-r,a=n.y-r,s=n.x+n.width+r,u=n.y+n.height+r;return{x:i,minX:i,y:a,minY:a,width:n.width+e,height:n.height+e,maxX:s,maxY:u}},e.prototype.isFill=function(){return!!this.attrs.fill||this.isClipShape()},e.prototype.isStroke=function(){return!!this.attrs.stroke},e.prototype._applyClip=function(t,e){e&&(t.save(),Object(s.a)(t,e),e.createPath(t),t.restore(),t.clip(),e._afterDraw())},e.prototype.draw=function(t,e){var n=this.cfg.clipShape;if(e){if(!1===this.cfg.refresh)return void this.set("hasChanged",!1);var r=this.getCanvasBBox();if(!Object(a.f)(e,r))return this.set("hasChanged",!1),void(this.cfg.isInView&&this._afterDraw())}t.save(),Object(s.a)(t,this),this._applyClip(t,n),this.drawPath(t),t.restore(),this._afterDraw()},e.prototype.getCanvasViewBox=function(){var t=this.cfg.canvas;return t?t.getViewRange():null},e.prototype.cacheCanvasBBox=function(){var t=this.getCanvasViewBox();if(t){var e=this.getCanvasBBox(),n=Object(a.f)(e,t);this.set("isInView",n),n?this.set("cacheCanvasBBox",e):this.set("cacheCanvasBBox",null)}},e.prototype._afterDraw=function(){this.cacheCanvasBBox(),this.set("hasChanged",!1),this.set("refresh",null)},e.prototype.skipDraw=function(){this.set("cacheCanvasBBox",null),this.set("isInView",null),this.set("hasChanged",!1)},e.prototype.drawPath=function(t){this.createPath(t),this.strokeAndFill(t),this.afterDrawPath(t)},e.prototype.fill=function(t){t.fill()},e.prototype.stroke=function(t){t.stroke()},e.prototype.strokeAndFill=function(t){var e=this.attrs,n=e.lineWidth,r=e.opacity,i=e.strokeOpacity,o=e.fillOpacity;this.isFill()&&(Object(a.i)(o)||1===o?this.fill(t):(t.globalAlpha=o,this.fill(t),t.globalAlpha=r)),this.isStroke()&&n>0&&(Object(a.i)(i)||1===i||(t.globalAlpha=i),this.stroke(t)),this.afterDrawPath(t)},e.prototype.createPath=function(t){},e.prototype.afterDrawPath=function(t){},e.prototype.isInShape=function(t,e){var n=this.isStroke(),r=this.isFill(),i=this.getHitLineWidth();return this.isInStrokeOrPath(t,e,n,r,i)},e.prototype.isInStrokeOrPath=function(t,e,n,r,i){return!1},e.prototype.getHitLineWidth=function(){if(!this.isStroke())return 0;var t=this.attrs;return t.lineWidth+t.lineAppendWidth},e}(o.AbstractShape),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.__extends)(e,t),e.prototype.getDefaultAttrs=function(){var e=t.prototype.getDefaultAttrs.call(this);return Object(i.__assign)(Object(i.__assign)({},e),{x:0,y:0,r:0})},e.prototype.isInStrokeOrPath=function(t,e,n,r,i){var o=this.attr(),s=o.x,u=o.y,c=o.r,l=i/2,f=Object(a.b)(s,u,t,e);return r&&n?f<=c+l:r?f<=c:!!n&&(f>=c-l&&f<=c+l)},e.prototype.createPath=function(t){var e=this.attr(),n=e.x,r=e.y,i=e.r;t.beginPath(),t.arc(n,r,i,0,2*Math.PI,!1),t.closePath()},e}(c);function f(t,e,n,r){return t/(n*n)+e/(r*r)}var h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.__extends)(e,t),e.prototype.getDefaultAttrs=function(){var e=t.prototype.getDefaultAttrs.call(this);return Object(i.__assign)(Object(i.__assign)({},e),{x:0,y:0,rx:0,ry:0})},e.prototype.isInStrokeOrPath=function(t,e,n,r,i){var o=this.attr(),a=i/2,s=o.x,u=o.y,c=o.rx,l=o.ry,h=(t-s)*(t-s),d=(e-u)*(e-u);return r&&n?f(h,d,c+a,l+a)<=1:r?f(h,d,c,l)<=1:!!n&&(f(h,d,c-a,l-a)>=1&&f(h,d,c+a,l+a)<=1)},e.prototype.createPath=function(t){var e=this.attr(),n=e.x,r=e.y,i=e.rx,o=e.ry;if(t.beginPath(),t.ellipse)t.ellipse(n,r,i,o,0,0,2*Math.PI,!1);else{var a=i>o?i:o,s=i>o?1:i/o,u=i>o?o/i:1;t.save(),t.translate(n,r),t.scale(s,u),t.arc(0,0,a,0,2*Math.PI),t.restore(),t.closePath()}},e}(c);function d(t){return t instanceof HTMLElement&&Object(a.k)(t.nodeName)&&"CANVAS"===t.nodeName.toUpperCase()}var p=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.__extends)(e,t),e.prototype.getDefaultAttrs=function(){var e=t.prototype.getDefaultAttrs.call(this);return Object(i.__assign)(Object(i.__assign)({},e),{x:0,y:0,width:0,height:0})},e.prototype.initAttrs=function(t){this._setImage(t.img)},e.prototype.isStroke=function(){return!1},e.prototype.isOnlyHitBox=function(){return!0},e.prototype._afterLoading=function(){if(!0===this.get("toDraw")){var t=this.get("canvas");t?t.draw():this.createPath(this.get("context"))}},e.prototype._setImage=function(t){var e=this,n=this.attrs;if(Object(a.k)(t)){var r=new Image;r.onload=function(){if(e.destroyed)return!1;e.attr("img",r),e.set("loading",!1),e._afterLoading();var t=e.get("callback");t&&t.call(e)},r.crossOrigin="Anonymous",r.src=t,this.set("loading",!0)}else t instanceof Image?(n.width||(n.width=t.width),n.height||(n.height=t.height)):d(t)&&(n.width||(n.width=Number(t.getAttribute("width"))),n.height||(n.height,Number(t.getAttribute("height"))))},e.prototype.onAttrChange=function(e,n,r){t.prototype.onAttrChange.call(this,e,n,r),"img"===e&&this._setImage(n)},e.prototype.createPath=function(t){if(this.get("loading"))return this.set("toDraw",!0),void this.set("context",t);var e=this.attr(),n=e.x,r=e.y,i=e.width,o=e.height,s=e.sx,u=e.sy,c=e.swidth,l=e.sheight,f=e.img;(f instanceof Image||d(f))&&(Object(a.i)(s)||Object(a.i)(u)||Object(a.i)(c)||Object(a.i)(l)?t.drawImage(f,n,r,i,o):t.drawImage(f,s,u,c,l,n,r,i,o))},e}(c),g=n(10);function v(t,e,n,r,i,o,a){var s=Math.min(t,n),u=Math.max(t,n),c=Math.min(e,r),l=Math.max(e,r),f=i/2;return o>=s-f&&o<=u+f&&a>=c-f&&a<=l+f&&g.c.pointToLine(t,e,n,r,o,a)<=i/2}var y=n(19),m=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.__extends)(e,t),e.prototype.getDefaultAttrs=function(){var e=t.prototype.getDefaultAttrs.call(this);return Object(i.__assign)(Object(i.__assign)({},e),{x1:0,y1:0,x2:0,y2:0,startArrow:!1,endArrow:!1})},e.prototype.initAttrs=function(t){this.setArrow()},e.prototype.onAttrChange=function(e,n,r){t.prototype.onAttrChange.call(this,e,n,r),this.setArrow()},e.prototype.setArrow=function(){var t=this.attr(),e=t.x1,n=t.y1,r=t.x2,i=t.y2,o=t.startArrow,a=t.endArrow;o&&y.b(this,t,r,i,e,n),a&&y.a(this,t,e,n,r,i)},e.prototype.isInStrokeOrPath=function(t,e,n,r,i){if(!n||!i)return!1;var o=this.attr();return v(o.x1,o.y1,o.x2,o.y2,i,t,e)},e.prototype.createPath=function(t){var e=this.attr(),n=e.x1,r=e.y1,i=e.x2,o=e.y2,a=e.startArrow,s=e.endArrow,u={dx:0,dy:0},c={dx:0,dy:0};a&&a.d&&(u=y.c(n,r,i,o,e.startArrow.d)),s&&s.d&&(c=y.c(n,r,i,o,e.endArrow.d)),t.beginPath(),t.moveTo(n+u.dx,r+u.dy),t.lineTo(i-c.dx,o-c.dy)},e.prototype.afterDrawPath=function(t){var e=this.get("startArrowShape"),n=this.get("endArrowShape");e&&e.draw(t),n&&n.draw(t)},e.prototype.getTotalLength=function(){var t=this.attr(),e=t.x1,n=t.y1,r=t.x2,i=t.y2;return g.c.length(e,n,r,i)},e.prototype.getPoint=function(t){var e=this.attr(),n=e.x1,r=e.y1,i=e.x2,o=e.y2;return g.c.pointAt(n,r,i,o,t)},e}(c),b=n(0),x=n(21),w={circle:function(t,e,n){return[["M",t-n,e],["A",n,n,0,1,0,t+n,e],["A",n,n,0,1,0,t-n,e]]},square:function(t,e,n){return[["M",t-n,e-n],["L",t+n,e-n],["L",t+n,e+n],["L",t-n,e+n],["Z"]]},diamond:function(t,e,n){return[["M",t-n,e],["L",t,e-n],["L",t+n,e],["L",t,e+n],["Z"]]},triangle:function(t,e,n){var r=n*Math.sin(1/3*Math.PI);return[["M",t-n,e+r],["L",t,e-r],["L",t+n,e+r],["Z"]]},"triangle-down":function(t,e,n){var r=n*Math.sin(1/3*Math.PI);return[["M",t-n,e-r],["L",t+n,e-r],["L",t,e+r],["Z"]]}},_=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.__extends)(e,t),e.prototype.initAttrs=function(t){this._resetParamsCache()},e.prototype._resetParamsCache=function(){this.set("paramsCache",{})},e.prototype.onAttrChange=function(e,n,r){t.prototype.onAttrChange.call(this,e,n,r),-1!==["symbol","x","y","r","radius"].indexOf(e)&&this._resetParamsCache()},e.prototype.isOnlyHitBox=function(){return!0},e.prototype._getR=function(t){return Object(b.isNil)(t.r)?t.radius:t.r},e.prototype._getPath=function(){var t,n,r=this.attr(),i=r.x,o=r.y,s=r.symbol||"circle",u=this._getR(r);if(Object(a.h)(s))n=(t=s)(i,o,u),n=Object(x.c)(n);else{if(!(t=e.Symbols[s]))return console.warn(s+" marker is not supported."),null;n=t(i,o,u)}return n},e.prototype.createPath=function(t){var e=this._getPath(),n=this.get("paramsCache");Object(s.e)(this,t,{path:e},n)},e.Symbols=w,e}(c);function E(t,e,n){var r=Object(o.getOffScreenContext)();return t.createPath(r),r.isPointInPath(e,n)}function S(t){return Math.abs(t)<1e-6?0:t<0?-1:1}function M(t,e,n){return(n[0]-t[0])*(e[1]-t[1])==(e[0]-t[0])*(n[1]-t[1])&&Math.min(t[0],e[0])<=n[0]&&n[0]<=Math.max(t[0],e[0])&&Math.min(t[1],e[1])<=n[1]&&n[1]<=Math.max(t[1],e[1])}function O(t,e,n){var r=!1,i=t.length;if(i<=2)return!1;for(var o=0;o<i;o++){var a=t[o],s=t[(o+1)%i];if(M(a,s,[e,n]))return!0;S(a[1]-n)>0!=S(s[1]-n)>0&&S(e-(n-a[1])*(a[0]-s[0])/(a[1]-s[1])-a[0])<0&&(r=!r)}return r}var k=n(4),A=n(24);function C(t,e,n,r,i,o,s,u){var c=(Math.atan2(u-e,s-t)+2*Math.PI)%(2*Math.PI);if(c<r||c>i)return!1;var l={x:t+n*Math.cos(c),y:e+n*Math.sin(c)};return Object(a.b)(l.x,l.y,s,u)<=o/2}var j=k.a.transform;var I=Object(i.__assign)({hasArc:function(t){for(var e=!1,n=t.length,r=0;r<n;r++){var i=t[r][0];if("C"===i||"A"===i||"Q"===i){e=!0;break}}return e},extractPolygons:function(t){for(var e=t.length,n=[],r=[],i=[],o=0;o<e;o++){var a=t[o],s=a[0];"M"===s?(i.length&&(r.push(i),i=[]),i.push([a[1],a[2]])):"Z"===s?i.length&&(n.push(i),i=[]):i.push([a[1],a[2]])}return i.length>0&&r.push(i),{polygons:n,polylines:r}},isPointInStroke:function(t,e,n,r,i){for(var o=!1,s=e/2,u=0;u<t.length;u++){var c=t[u],l=c.currentPoint,f=c.params,h=c.prePoint,d=c.box;if(!d||Object(a.e)(d.x-s,d.y-s,d.width+e,d.height+e,n,r)){switch(c.command){case"L":case"Z":o=v(h[0],h[1],l[0],l[1],e,n,r);break;case"Q":o=g.e.pointDistance(h[0],h[1],f[1],f[2],f[3],f[4],n,r)<=e/2;break;case"C":o=g.b.pointDistance(h[0],h[1],f[1],f[2],f[3],f[4],f[5],f[6],n,r,i)<=e/2;break;case"A":var p=c.arcParams,y=p.cx,m=p.cy,b=p.rx,x=p.ry,w=p.startAngle,_=p.endAngle,E=p.xRotation,S=[n,r,1],M=b>x?b:x,O=j(null,[["t",-y,-m],["r",-E],["s",1/(b>x?1:b/x),1/(b>x?x/b:1)]]);A.transformMat3(S,S,O),o=C(0,0,M,w,_,e,S[0],S[1])}if(o)break}}return o}},o.PathUtil);function T(t,e,n){for(var r=!1,i=0;i<t.length;i++){if(r=O(t[i],e,n))break}return r}var N=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.__extends)(e,t),e.prototype.getDefaultAttrs=function(){var e=t.prototype.getDefaultAttrs.call(this);return Object(i.__assign)(Object(i.__assign)({},e),{startArrow:!1,endArrow:!1})},e.prototype.initAttrs=function(t){this._setPathArr(t.path),this.setArrow()},e.prototype.onAttrChange=function(e,n,r){t.prototype.onAttrChange.call(this,e,n,r),"path"===e&&this._setPathArr(n),this.setArrow()},e.prototype._setPathArr=function(t){this.attrs.path=Object(x.c)(t);var e=I.hasArc(t);this.set("hasArc",e),this.set("paramsCache",{}),this.set("segments",null),this.set("curve",null),this.set("tCache",null),this.set("totalLength",null)},e.prototype.getSegments=function(){var t=this.get("segements");return t||(t=Object(x.d)(this.attr("path")),this.set("segments",t)),t},e.prototype.setArrow=function(){var t=this.attr(),e=t.startArrow,n=t.endArrow;if(e){var r=this.getStartTangent();y.b(this,t,r[0][0],r[0][1],r[1][0],r[1][1])}if(n){r=this.getEndTangent();y.a(this,t,r[0][0],r[0][1],r[1][0],r[1][1])}},e.prototype.isInStrokeOrPath=function(t,e,n,r,i){var o=this.getSegments(),a=this.get("hasArc"),s=!1;if(n){var u=this.getTotalLength();s=I.isPointInStroke(o,i,t,e,u)}if(!s&&r)if(a)s=E(this,t,e);else{var c=this.attr("path"),l=I.extractPolygons(c);s=T(l.polygons,t,e)||T(l.polylines,t,e)}return s},e.prototype.createPath=function(t){var e=this.attr(),n=this.get("paramsCache");Object(s.e)(this,t,e,n)},e.prototype.afterDrawPath=function(t){var e=this.get("startArrowShape"),n=this.get("endArrowShape");e&&e.draw(t),n&&n.draw(t)},e.prototype.getTotalLength=function(){var t=this.get("totalLength");return Object(b.isNil)(t)?(this._calculateCurve(),this._setTcache(),this.get("totalLength")):t},e.prototype.getPoint=function(t){var e,n,r=this.get("tCache");r||(this._calculateCurve(),this._setTcache(),r=this.get("tCache"));var i=this.get("curve");if(!r||0===r.length)return i?{x:i[0][1],y:i[0][2]}:null;Object(b.each)(r,(function(r,i){t>=r[0]&&t<=r[1]&&(e=(t-r[0])/(r[1]-r[0]),n=i)}));var o=i[n];if(Object(b.isNil)(o)||Object(b.isNil)(n))return null;var a=o.length,s=i[n+1];return g.b.pointAt(o[a-2],o[a-1],s[1],s[2],s[3],s[4],s[5],s[6],e)},e.prototype._calculateCurve=function(){var t=this.attr().path;this.set("curve",I.pathToCurve(t))},e.prototype._setTcache=function(){var t,e,n,r,i=0,o=0,a=[],s=this.get("curve");s&&(Object(b.each)(s,(function(t,e){n=s[e+1],r=t.length,n&&(i+=g.b.length(t[r-2],t[r-1],n[1],n[2],n[3],n[4],n[5],n[6])||0)})),this.set("totalLength",i),0!==i?(Object(b.each)(s,(function(u,c){n=s[c+1],r=u.length,n&&((t=[])[0]=o/i,e=g.b.length(u[r-2],u[r-1],n[1],n[2],n[3],n[4],n[5],n[6]),o+=e||0,t[1]=o/i,a.push(t))})),this.set("tCache",a)):this.set("tCache",[]))},e.prototype.getStartTangent=function(){var t,e=this.getSegments();if(e.length>1){var n=e[0].currentPoint,r=e[1].currentPoint,i=e[1].startTangent;t=[],i?(t.push([n[0]-i[0],n[1]-i[1]]),t.push([n[0],n[1]])):(t.push([r[0],r[1]]),t.push([n[0],n[1]]))}return t},e.prototype.getEndTangent=function(){var t,e=this.getSegments(),n=e.length;if(n>1){var r=e[n-2].currentPoint,i=e[n-1].currentPoint,o=e[n-1].endTangent;t=[],o?(t.push([i[0]-o[0],i[1]-o[1]]),t.push([i[0],i[1]])):(t.push([r[0],r[1]]),t.push([i[0],i[1]]))}return t},e}(c);function P(t,e,n,r,i){var o=t.length;if(o<2)return!1;for(var a=0;a<o-1;a++){if(v(t[a][0],t[a][1],t[a+1][0],t[a+1][1],e,n,r))return!0}if(i){var s=t[0],u=t[o-1];if(v(s[0],s[1],u[0],u[1],e,n,r))return!0}return!1}var D=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.__extends)(e,t),e.prototype.isInStrokeOrPath=function(t,e,n,r,i){var o=this.attr().points,a=!1;return n&&(a=P(o,i,t,e,!0)),!a&&r&&(a=O(o,t,e)),a},e.prototype.createPath=function(t){var e=this.attr().points;if(!(e.length<2)){t.beginPath();for(var n=0;n<e.length;n++){var r=e[n];0===n?t.moveTo(r[0],r[1]):t.lineTo(r[0],r[1])}t.closePath()}},e}(c),L=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.__extends)(e,t),e.prototype.getDefaultAttrs=function(){var e=t.prototype.getDefaultAttrs.call(this);return Object(i.__assign)(Object(i.__assign)({},e),{startArrow:!1,endArrow:!1})},e.prototype.initAttrs=function(t){this.setArrow()},e.prototype.onAttrChange=function(e,n,r){t.prototype.onAttrChange.call(this,e,n,r),this.setArrow(),-1!==["points"].indexOf(e)&&this._resetCache()},e.prototype._resetCache=function(){this.set("totalLength",null),this.set("tCache",null)},e.prototype.setArrow=function(){var t=this.attr(),e=this.attrs,n=e.points,r=e.startArrow,i=e.endArrow,o=n.length,a=n[0][0],s=n[0][1],u=n[o-1][0],c=n[o-1][1];r&&y.b(this,t,n[1][0],n[1][1],a,s),i&&y.a(this,t,n[o-2][0],n[o-2][1],u,c)},e.prototype.isFill=function(){return!1},e.prototype.isInStrokeOrPath=function(t,e,n,r,i){return!(!n||!i)&&P(this.attr().points,i,t,e,!1)},e.prototype.isStroke=function(){return!0},e.prototype.createPath=function(t){var e=this.attr(),n=e.points,r=e.startArrow,i=e.endArrow,o=n.length;if(!(n.length<2)){var a,s=n[0][0],u=n[0][1],c=n[o-1][0],l=n[o-1][1];if(r&&r.d)s+=(a=y.c(s,u,n[1][0],n[1][1],r.d)).dx,u+=a.dy;if(i&&i.d)c-=(a=y.c(n[o-2][0],n[o-2][1],c,l,i.d)).dx,l-=a.dy;t.beginPath(),t.moveTo(s,u);for(var f=0;f<o-1;f++){var h=n[f];t.lineTo(h[0],h[1])}t.lineTo(c,l)}},e.prototype.afterDrawPath=function(t){var e=this.get("startArrowShape"),n=this.get("endArrowShape");e&&e.draw(t),n&&n.draw(t)},e.prototype.getTotalLength=function(){var t=this.attr().points,e=this.get("totalLength");return Object(b.isNil)(e)?(this.set("totalLength",g.d.length(t)),this.get("totalLength")):e},e.prototype.getPoint=function(t){var e,n,r=this.attr().points,i=this.get("tCache");return i||(this._setTcache(),i=this.get("tCache")),Object(b.each)(i,(function(r,i){t>=r[0]&&t<=r[1]&&(e=(t-r[0])/(r[1]-r[0]),n=i)})),g.c.pointAt(r[n][0],r[n][1],r[n+1][0],r[n+1][1],e)},e.prototype._setTcache=function(){var t=this.attr().points;if(t&&0!==t.length){var e=this.getTotalLength();if(!(e<=0)){var n,r,i=0,o=[];Object(b.each)(t,(function(a,s){t[s+1]&&((n=[])[0]=i/e,r=g.c.length(a[0],a[1],t[s+1][0],t[s+1][1]),i+=r,n[1]=i/e,o.push(n))})),this.set("tCache",o)}}},e.prototype.getStartTangent=function(){var t=this.attr().points,e=[];return e.push([t[1][0],t[1][1]]),e.push([t[0][0],t[0][1]]),e},e.prototype.getEndTangent=function(){var t=this.attr().points,e=t.length-1,n=[];return n.push([t[e-1][0],t[e-1][1]]),n.push([t[e][0],t[e][1]]),n},e}(c),R=n(56);var B=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.__extends)(e,t),e.prototype.getDefaultAttrs=function(){var e=t.prototype.getDefaultAttrs.call(this);return Object(i.__assign)(Object(i.__assign)({},e),{x:0,y:0,width:0,height:0,radius:0})},e.prototype.isInStrokeOrPath=function(t,e,n,r,i){var o=this.attr(),s=o.x,u=o.y,c=o.width,l=o.height,f=o.radius;if(f){var h=!1;return n&&(h=function(t,e,n,r,i,o,a,s){return v(t+i,e,t+n-i,e,o,a,s)||v(t+n,e+i,t+n,e+r-i,o,a,s)||v(t+n-i,e+r,t+i,e+r,o,a,s)||v(t,e+r-i,t,e+i,o,a,s)||C(t+n-i,e+i,i,1.5*Math.PI,2*Math.PI,o,a,s)||C(t+n-i,e+r-i,i,0,.5*Math.PI,o,a,s)||C(t+i,e+r-i,i,.5*Math.PI,Math.PI,o,a,s)||C(t+i,e+i,i,Math.PI,1.5*Math.PI,o,a,s)}(s,u,c,l,f,i,t,e)),!h&&r&&(h=E(this,t,e)),h}var d=i/2;return r&&n?Object(a.e)(s-d,u-d,c+d,l+d,t,e):r?Object(a.e)(s,u,c,l,t,e):n?function(t,e,n,r,i,o,s){var u=i/2;return Object(a.e)(t-u,e-u,n,i,o,s)||Object(a.e)(t+n-u,e-u,i,r,o,s)||Object(a.e)(t+u,e+r-u,n,i,o,s)||Object(a.e)(t-u,e+u,i,r,o,s)}(s,u,c,l,i,t,e):void 0},e.prototype.createPath=function(t){var e=this.attr(),n=e.x,r=e.y,i=e.width,o=e.height,a=e.radius;if(t.beginPath(),0===a)t.rect(n,r,i,o);else{var s=Object(R.a)(a),u=s[0],c=s[1],l=s[2],f=s[3];t.moveTo(n+u,r),t.lineTo(n+i-c,r),0!==c&&t.arc(n+i-c,r+c,c,-Math.PI/2,0),t.lineTo(n+i,r+o-l),0!==l&&t.arc(n+i-l,r+o-l,l,0,Math.PI/2),t.lineTo(n+f,r+o),0!==f&&t.arc(n+f,r+o-f,f,Math.PI/2,Math.PI),t.lineTo(n,r+u),0!==u&&t.arc(n+u,r+u,u,Math.PI,1.5*Math.PI),t.closePath()}},e}(c),F=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.__extends)(e,t),e.prototype.getDefaultAttrs=function(){var e=t.prototype.getDefaultAttrs.call(this);return Object(i.__assign)(Object(i.__assign)({},e),{x:0,y:0,text:null,fontSize:12,fontFamily:"sans-serif",fontStyle:"normal",fontWeight:"normal",fontVariant:"normal",textAlign:"start",textBaseline:"bottom"})},e.prototype.isOnlyHitBox=function(){return!0},e.prototype.initAttrs=function(t){this._assembleFont(),t.text&&this._setText(t.text)},e.prototype._assembleFont=function(){var t=this.attrs;t.font=Object(o.assembleFont)(t)},e.prototype._setText=function(t){var e=null;Object(a.k)(t)&&-1!==t.indexOf("\n")&&(e=t.split("\n")),this.set("textArr",e)},e.prototype.onAttrChange=function(e,n,r){t.prototype.onAttrChange.call(this,e,n,r),e.startsWith("font")&&this._assembleFont(),"text"===e&&this._setText(n)},e.prototype._getSpaceingY=function(){var t=this.attrs,e=t.lineHeight,n=1*t.fontSize;return e?e-n:.14*n},e.prototype._drawTextArr=function(t,e,n){var r,i=this.attrs,s=i.textBaseline,u=i.x,c=i.y,l=1*i.fontSize,f=this._getSpaceingY(),h=Object(o.getTextHeight)(i.text,i.fontSize,i.lineHeight);Object(a.c)(e,(function(e,i){r=c+i*(f+l)-h+l,"middle"===s&&(r+=h-l-(h-l)/2),"top"===s&&(r+=h-l),Object(a.i)(e)||(n?t.fillText(e,u,r):t.strokeText(e,u,r))}))},e.prototype._drawText=function(t,e){var n=this.attr(),r=n.x,i=n.y,o=this.get("textArr");if(o)this._drawTextArr(t,o,e);else{var s=n.text;Object(a.i)(s)||(e?t.fillText(s,r,i):t.strokeText(s,r,i))}},e.prototype.strokeAndFill=function(t){var e=this.attrs,n=e.lineWidth,r=e.opacity,i=e.strokeOpacity,o=e.fillOpacity;this.isStroke()&&n>0&&(Object(a.i)(i)||1===i||(t.globalAlpha=r),this.stroke(t)),this.isFill()&&(Object(a.i)(o)||1===o?this.fill(t):(t.globalAlpha=o,this.fill(t),t.globalAlpha=r)),this.afterDrawPath(t)},e.prototype.fill=function(t){this._drawText(t,!0)},e.prototype.stroke=function(t){this._drawText(t,!1)},e}(c)},function(t,e){var n=[],r=[];function i(t,e){if(e=e||{},void 0===t)throw new Error("insert-css: You need to provide a CSS string. Usage: insertCss(cssString[, options]).");var i,o=!0===e.prepend?"prepend":"append",a=void 0!==e.container?e.container:document.querySelector("head"),s=n.indexOf(a);return-1===s&&(s=n.push(a)-1,r[s]={}),void 0!==r[s]&&void 0!==r[s][o]?i=r[s][o]:(i=r[s][o]=function(){var t=document.createElement("style");return t.setAttribute("type","text/css"),t}(),"prepend"===o?a.insertBefore(i,a.childNodes[0]):a.appendChild(i)),65279===t.charCodeAt(0)&&(t=t.substr(1,t.length)),i.styleSheet?i.styleSheet.cssText+=t:i.textContent+=t,i}t.exports=i,t.exports.insertCss=i},function(t,e,n){"use strict";n(38),n(11);var r=n(113);n.d(e,"Canvas",(function(){return r.a}));n(37)},function(t,e,n){"use strict";n.d(e,"b",(function(){return o})),n.d(e,"c",(function(){return a})),n.d(e,"a",(function(){return s}));var r=n(9),i=n(50);function o(t,e,n){var i=1;return Object(r.h)(t)&&(i=t.split("\n").length),i>1?e*i+function(t,e){return e?e-t:.14*t}(e,n)*(i-1):e}function a(t,e){var n=Object(i.a)(),o=0;if(Object(r.e)(t)||""===t)return o;if(n.save(),n.font=e,Object(r.h)(t)&&t.includes("\n")){var a=t.split("\n");Object(r.a)(a,(function(t){var e=n.measureText(t).width;o<e&&(o=e)}))}else o=n.measureText(t).width;return n.restore(),o}function s(t){var e=t.fontSize,n=t.fontFamily,r=t.fontWeight;return[t.fontStyle,t.fontVariant,r,e+"px",n].join(" ").trim()}},function(t,e,n){"use strict";n.d(e,"a",(function(){return o})),n.d(e,"b",(function(){return a}));var r=n(20),i=n(12);function o(t,e){e.forEach((function(e){e.draw(t)}))}function a(t,e){var n=t.get("canvas");if(n&&n.get("autoDraw")){var o=n.get("context"),a=t.getParent(),s=a?a.getChildren():[n],u=t.get("el");if("remove"===e)if(t.get("isClipShape")){var c=u&&u.parentNode,l=c&&c.parentNode;c&&l&&l.removeChild(c)}else u&&u.parentNode&&u.parentNode.removeChild(u);else if("show"===e)u.setAttribute("visibility","visible");else if("hide"===e)u.setAttribute("visibility","hidden");else if("zIndex"===e)Object(i.c)(u,s.indexOf(t));else if("sort"===e){var f=t.get("children");f&&f.length&&Object(i.d)(t,(function(t,e){return f.indexOf(t)-f.indexOf(e)?1:0}))}else"clear"===e?u&&(u.innerHTML=""):"matrix"===e?Object(r.c)(t):"clip"===e?Object(r.a)(t,o):"attr"===e||"add"===e&&t.draw(o)}}},function(t,e,n){var r=n(187),i=n(192),o=n(193),a=o&&o.isTypedArray,s=a?i(a):r;t.exports=s},function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.Graph=void 0;var o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e}(n(47).Graph);e.Graph=o},function(t,e,n){"use strict";var r=n(1),i=n(11),o=n(29),a=n(16),s=n(0),u=n(5),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.__extends)(e,t),e.prototype.onCanvasChange=function(t){Object(a.h)(this,t)},e.prototype.getShapeBase=function(){return o},e.prototype.getGroupBase=function(){return e},e.prototype._applyClip=function(t,e){e&&(t.save(),Object(a.a)(t,e),e.createPath(t),t.restore(),t.clip(),e._afterDraw())},e.prototype.cacheCanvasBBox=function(){var t=this.cfg.children,e=[],n=[];Object(s.each)(t,(function(t){var r=t.cfg.cacheCanvasBBox;r&&t.cfg.isInView&&(e.push(r.minX,r.maxX),n.push(r.minY,r.maxY))}));var r=null;if(e.length){var i=Object(s.min)(e),o=Object(s.max)(e),a=Object(s.min)(n),c=Object(s.max)(n);r={minX:i,minY:a,x:i,y:a,maxX:o,maxY:c,width:o-i,height:c-a};var l=this.cfg.canvas;if(l){var f=l.getViewRange();this.set("isInView",Object(u.f)(r,f))}}else this.set("isInView",!1);this.set("cacheCanvasBBox",r)},e.prototype.draw=function(t,e){var n=this.cfg.children,r=!e||this.cfg.refresh;n.length&&r&&(t.save(),Object(a.a)(t,this),this._applyClip(t,this.getClip()),Object(a.d)(t,n,e),t.restore(),this.cacheCanvasBBox()),this.cfg.refresh=null,this.set("hasChanged",!1)},e.prototype.skipDraw=function(){this.set("cacheCanvasBBox",null),this.set("hasChanged",!1)},e}(i.AbstractGroup);e.a=c},function(t,e,n){"use strict";var r=n(1),i=n(11),o=n(0),a=n(38),s=n(33),u=n(20),c=n(6),l=n(12),f=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.__extends)(e,t),e.prototype.isEntityGroup=function(){return!0},e.prototype.createDom=function(){var t=Object(l.b)("g");this.set("el",t);var e=this.getParent();if(e){var n=e.get("el");n||(n=e.createDom(),e.set("el",n)),n.appendChild(t)}return t},e.prototype.afterAttrsChange=function(e){t.prototype.afterAttrsChange.call(this,e);var n=this.get("canvas");if(n&&n.get("autoDraw")){var r=n.get("context");this.createPath(r,e)}},e.prototype.onCanvasChange=function(t){Object(s.b)(this,t)},e.prototype.getShapeBase=function(){return a},e.prototype.getGroupBase=function(){return e},e.prototype.draw=function(t){var e=this.getChildren(),n=this.get("el");this.get("destroyed")?n&&n.parentNode.removeChild(n):(n||this.createDom(),Object(u.a)(this,t),this.createPath(t),e.length&&Object(s.a)(t,e))},e.prototype.createPath=function(t,e){var n=this.attr(),r=this.get("el");Object(o.each)(e||n,(function(t,e){c.b[e]&&r.setAttribute(c.b[e],t)})),Object(u.c)(this)},e}(i.AbstractGroup);e.a=f},function(t,e,n){"use strict";n.r(e),n.d(e,"Base",(function(){return f})),n.d(e,"Circle",(function(){return d})),n.d(e,"Dom",(function(){return p})),n.d(e,"Ellipse",(function(){return g})),n.d(e,"Image",(function(){return v})),n.d(e,"Line",(function(){return m})),n.d(e,"Marker",(function(){return w})),n.d(e,"Path",(function(){return _})),n.d(e,"Polygon",(function(){return E})),n.d(e,"Polyline",(function(){return S})),n.d(e,"Rect",(function(){return M})),n.d(e,"Text",(function(){return j}));var r={};n.r(r),n.d(r,"Base",(function(){return f})),n.d(r,"Circle",(function(){return d})),n.d(r,"Dom",(function(){return p})),n.d(r,"Ellipse",(function(){return g})),n.d(r,"Image",(function(){return v})),n.d(r,"Line",(function(){return m})),n.d(r,"Marker",(function(){return w})),n.d(r,"Path",(function(){return _})),n.d(r,"Polygon",(function(){return E})),n.d(r,"Polyline",(function(){return S})),n.d(r,"Rect",(function(){return M})),n.d(r,"Text",(function(){return j}));var i=n(1),o=n(11),a=n(20),s=n(12),u=n(33),c=n(6),l=n(37),f=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="svg",e.canFill=!1,e.canStroke=!1,e}return Object(i.__extends)(e,t),e.prototype.getDefaultAttrs=function(){var e=t.prototype.getDefaultAttrs.call(this);return Object(i.__assign)(Object(i.__assign)({},e),{lineWidth:1,lineAppendWidth:0,strokeOpacity:1,fillOpacity:1})},e.prototype.afterAttrsChange=function(e){t.prototype.afterAttrsChange.call(this,e);var n=this.get("canvas");if(n&&n.get("autoDraw")){var r=n.get("context");this.draw(r,e)}},e.prototype.getShapeBase=function(){return r},e.prototype.getGroupBase=function(){return l.a},e.prototype.onCanvasChange=function(t){Object(u.b)(this,t)},e.prototype.calculateBBox=function(){var t=this.get("el"),e=null;if(t)e=t.getBBox();else{var n=Object(o.getBBoxMethod)(this.get("type"));n&&(e=n(this))}if(e){var r=e.x,i=e.y,a=e.width,s=e.height,u=this.getHitLineWidth(),c=u/2,l=r-c,f=i-c;return{x:l,y:f,minX:l,minY:f,maxX:r+a+c,maxY:i+s+c,width:a+u,height:s+u}}return{x:0,y:0,minX:0,minY:0,maxX:0,maxY:0,width:0,height:0}},e.prototype.isFill=function(){var t=this.attr(),e=t.fill,n=t.fillStyle;return(e||n||this.isClipShape())&&this.canFill},e.prototype.isStroke=function(){var t=this.attr(),e=t.stroke,n=t.strokeStyle;return(e||n)&&this.canStroke},e.prototype.draw=function(t,e){var n=this.get("el");this.get("destroyed")?n&&n.parentNode.removeChild(n):(n||Object(s.a)(this),Object(a.a)(this,t),this.createPath(t,e),this.shadow(t,e),this.strokeAndFill(t,e),this.transform(e))},e.prototype.createPath=function(t,e){},e.prototype.strokeAndFill=function(t,e){var n=e||this.attr(),r=n.fill,i=n.fillStyle,o=n.stroke,a=n.strokeStyle,s=n.fillOpacity,u=n.strokeOpacity,l=n.lineWidth,f=this.get("el");this.canFill&&(e?"fill"in n?this._setColor(t,"fill",r):"fillStyle"in n&&this._setColor(t,"fill",i):this._setColor(t,"fill",r||i),s&&f.setAttribute(c.b.fillOpacity,s)),this.canStroke&&l>0&&(e?"stroke"in n?this._setColor(t,"stroke",o):"strokeStyle"in n&&this._setColor(t,"stroke",a):this._setColor(t,"stroke",o||a),u&&f.setAttribute(c.b.strokeOpacity,u),l&&f.setAttribute(c.b.lineWidth,l))},e.prototype._setColor=function(t,e,n){var r=this.get("el");if(n)if(n=n.trim(),/^[r,R,L,l]{1}[\s]*\(/.test(n))(i=t.find("gradient",n))||(i=t.addGradient(n)),r.setAttribute(c.b[e],"url(#"+i+")");else if(/^[p,P]{1}[\s]*\(/.test(n)){var i;(i=t.find("pattern",n))||(i=t.addPattern(n)),r.setAttribute(c.b[e],"url(#"+i+")")}else r.setAttribute(c.b[e],n);else r.setAttribute(c.b[e],"none")},e.prototype.shadow=function(t,e){var n=this.attr(),r=e||n,i=r.shadowOffsetX,o=r.shadowOffsetY,s=r.shadowBlur,u=r.shadowColor;(i||o||s||u)&&Object(a.b)(this,t)},e.prototype.transform=function(t){var e=this.attr();(t||e).matrix&&Object(a.c)(this)},e.prototype.isInShape=function(t,e){return this.isPointInPath(t,e)},e.prototype.isPointInPath=function(t,e){var n=this.get("el"),r=this.get("canvas").get("el").getBoundingClientRect(),i=t+r.left,o=e+r.top,a=document.elementFromPoint(i,o);return!(!a||!a.isEqualNode(n))},e.prototype.getHitLineWidth=function(){var t=this.attrs,e=t.lineWidth,n=t.lineAppendWidth;return this.isStroke()?e+n:0},e}(o.AbstractShape),h=n(0),d=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="circle",e.canFill=!0,e.canStroke=!0,e}return Object(i.__extends)(e,t),e.prototype.getDefaultAttrs=function(){var e=t.prototype.getDefaultAttrs.call(this);return Object(i.__assign)(Object(i.__assign)({},e),{x:0,y:0,r:0})},e.prototype.createPath=function(t,e){var n=this.attr(),r=this.get("el");Object(h.each)(e||n,(function(t,e){"x"===e||"y"===e?r.setAttribute("c"+e,t):c.b[e]&&r.setAttribute(c.b[e],t)}))},e}(f),p=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="dom",e.canFill=!1,e.canStroke=!1,e}return Object(i.__extends)(e,t),e.prototype.createPath=function(t,e){var n=this.attr(),r=this.get("el");if(Object(h.each)(e||n,(function(t,e){c.b[e]&&r.setAttribute(c.b[e],t)})),"function"==typeof n.html){var i=n.html.call(this,n);if(i instanceof Element||i instanceof HTMLDocument){for(var o=r.childNodes,a=o.length-1;a>=0;a--)r.removeChild(o[a]);r.appendChild(i)}else r.innerHTML=i}else r.innerHTML=n.html},e}(f),g=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="ellipse",e.canFill=!0,e.canStroke=!0,e}return Object(i.__extends)(e,t),e.prototype.getDefaultAttrs=function(){var e=t.prototype.getDefaultAttrs.call(this);return Object(i.__assign)(Object(i.__assign)({},e),{x:0,y:0,rx:0,ry:0})},e.prototype.createPath=function(t,e){var n=this.attr(),r=this.get("el");Object(h.each)(e||n,(function(t,e){"x"===e||"y"===e?r.setAttribute("c"+e,t):c.b[e]&&r.setAttribute(c.b[e],t)}))},e}(f),v=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="image",e.canFill=!1,e.canStroke=!1,e}return Object(i.__extends)(e,t),e.prototype.getDefaultAttrs=function(){var e=t.prototype.getDefaultAttrs.call(this);return Object(i.__assign)(Object(i.__assign)({},e),{x:0,y:0,width:0,height:0})},e.prototype.createPath=function(t,e){var n=this,r=this.attr(),i=this.get("el");Object(h.each)(e||r,(function(t,e){"img"===e?n._setImage(r.img):c.b[e]&&i.setAttribute(c.b[e],t)}))},e.prototype.setAttr=function(t,e){this.attrs[t]=e,"img"===t&&this._setImage(e)},e.prototype._setImage=function(t){var e=this.attr(),n=this.get("el");if(Object(h.isString)(t))n.setAttribute("href",t);else if(t instanceof window.Image)e.width||(n.setAttribute("width",t.width),this.attr("width",t.width)),e.height||(n.setAttribute("height",t.height),this.attr("height",t.height)),n.setAttribute("href",t.src);else if(t instanceof HTMLElement&&Object(h.isString)(t.nodeName)&&"CANVAS"===t.nodeName.toUpperCase())n.setAttribute("href",t.toDataURL());else if(t instanceof ImageData){var r=document.createElement("canvas");r.setAttribute("width",""+t.width),r.setAttribute("height",""+t.height),r.getContext("2d").putImageData(t,0,0),e.width||(n.setAttribute("width",""+t.width),this.attr("width",t.width)),e.height||(n.setAttribute("height",""+t.height),this.attr("height",t.height)),n.setAttribute("href",r.toDataURL())}},e}(f),y=n(10),m=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="line",e.canFill=!1,e.canStroke=!0,e}return Object(i.__extends)(e,t),e.prototype.getDefaultAttrs=function(){var e=t.prototype.getDefaultAttrs.call(this);return Object(i.__assign)(Object(i.__assign)({},e),{x1:0,y1:0,x2:0,y2:0,startArrow:!1,endArrow:!1})},e.prototype.createPath=function(t,e){var n=this.attr(),r=this.get("el");Object(h.each)(e||n,(function(e,i){if("startArrow"===i||"endArrow"===i)if(e){var o=Object(h.isObject)(e)?t.addArrow(n,c.b[i]):t.getDefaultArrow(n,c.b[i]);r.setAttribute(c.b[i],"url(#"+o+")")}else r.removeAttribute(c.b[i]);else c.b[i]&&r.setAttribute(c.b[i],e)}))},e.prototype.getTotalLength=function(){var t=this.attr(),e=t.x1,n=t.y1,r=t.x2,i=t.y2;return y.c.length(e,n,r,i)},e.prototype.getPoint=function(t){var e=this.attr(),n=e.x1,r=e.y1,i=e.x2,o=e.y2;return y.c.pointAt(n,r,i,o,t)},e}(f),b={circle:function(t,e,n){return[["M",t,e],["m",-n,0],["a",n,n,0,1,0,2*n,0],["a",n,n,0,1,0,2*-n,0]]},square:function(t,e,n){return[["M",t-n,e-n],["L",t+n,e-n],["L",t+n,e+n],["L",t-n,e+n],["Z"]]},diamond:function(t,e,n){return[["M",t-n,e],["L",t,e-n],["L",t+n,e],["L",t,e+n],["Z"]]},triangle:function(t,e,n){var r=n*Math.sin(1/3*Math.PI);return[["M",t-n,e+r],["L",t,e-r],["L",t+n,e+r],["z"]]},triangleDown:function(t,e,n){var r=n*Math.sin(1/3*Math.PI);return[["M",t-n,e-r],["L",t+n,e-r],["L",t,e+r],["Z"]]}},x={get:function(t){return b[t]},register:function(t,e){b[t]=e},remove:function(t){delete b[t]},getAll:function(){return b}},w=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="marker",e.canFill=!0,e.canStroke=!0,e}return Object(i.__extends)(e,t),e.prototype.createPath=function(t){this.get("el").setAttribute("d",this._assembleMarker())},e.prototype._assembleMarker=function(){var t=this._getPath();return Object(h.isArray)(t)?t.map((function(t){return t.join(" ")})).join(""):t},e.prototype._getPath=function(){var t,e=this.attr(),n=e.x,r=e.y,i=e.r||e.radius,o=e.symbol||"circle";return(t=Object(h.isFunction)(o)?o:x.get(o))?t(n,r,i):(console.warn(t+" symbol is not exist."),null)},e.symbolsFactory=x,e}(f),_=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="path",e.canFill=!0,e.canStroke=!0,e}return Object(i.__extends)(e,t),e.prototype.getDefaultAttrs=function(){var e=t.prototype.getDefaultAttrs.call(this);return Object(i.__assign)(Object(i.__assign)({},e),{startArrow:!1,endArrow:!1})},e.prototype.createPath=function(t,e){var n=this,r=this.attr(),i=this.get("el");Object(h.each)(e||r,(function(e,o){if("path"===o&&Object(h.isArray)(e))i.setAttribute("d",n._formatPath(e));else if("startArrow"===o||"endArrow"===o)if(e){var a=Object(h.isObject)(e)?t.addArrow(r,c.b[o]):t.getDefaultArrow(r,c.b[o]);i.setAttribute(c.b[o],"url(#"+a+")")}else i.removeAttribute(c.b[o]);else c.b[o]&&i.setAttribute(c.b[o],e)}))},e.prototype._formatPath=function(t){var e=t.map((function(t){return t.join(" ")})).join("");return~e.indexOf("NaN")?"":e},e.prototype.getTotalLength=function(){var t=this.get("el");return t?t.getTotalLength():null},e.prototype.getPoint=function(t){var e=this.get("el"),n=this.getTotalLength();if(0===n)return null;var r=e?e.getPointAtLength(t*n):null;return r?{x:r.x,y:r.y}:null},e}(f),E=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="polygon",e.canFill=!0,e.canStroke=!0,e}return Object(i.__extends)(e,t),e.prototype.createPath=function(t,e){var n=this.attr(),r=this.get("el");Object(h.each)(e||n,(function(t,e){"points"===e&&Object(h.isArray)(t)&&t.length>=2?r.setAttribute("points",t.map((function(t){return t[0]+","+t[1]})).join(" ")):c.b[e]&&r.setAttribute(c.b[e],t)}))},e}(f),S=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="polyline",e.canFill=!0,e.canStroke=!0,e}return Object(i.__extends)(e,t),e.prototype.getDefaultAttrs=function(){var e=t.prototype.getDefaultAttrs.call(this);return Object(i.__assign)(Object(i.__assign)({},e),{startArrow:!1,endArrow:!1})},e.prototype.onAttrChange=function(e,n,r){t.prototype.onAttrChange.call(this,e,n,r),-1!==["points"].indexOf(e)&&this._resetCache()},e.prototype._resetCache=function(){this.set("totalLength",null),this.set("tCache",null)},e.prototype.createPath=function(t,e){var n=this.attr(),r=this.get("el");Object(h.each)(e||n,(function(t,e){"points"===e&&Object(h.isArray)(t)&&t.length>=2?r.setAttribute("points",t.map((function(t){return t[0]+","+t[1]})).join(" ")):c.b[e]&&r.setAttribute(c.b[e],t)}))},e.prototype.getTotalLength=function(){var t=this.attr().points,e=this.get("totalLength");return Object(h.isNil)(e)?(this.set("totalLength",y.d.length(t)),this.get("totalLength")):e},e.prototype.getPoint=function(t){var e,n,r=this.attr().points,i=this.get("tCache");return i||(this._setTcache(),i=this.get("tCache")),Object(h.each)(i,(function(r,i){t>=r[0]&&t<=r[1]&&(e=(t-r[0])/(r[1]-r[0]),n=i)})),y.c.pointAt(r[n][0],r[n][1],r[n+1][0],r[n+1][1],e)},e.prototype._setTcache=function(){var t=this.attr().points;if(t&&0!==t.length){var e=this.getTotalLength();if(!(e<=0)){var n,r,i=0,o=[];Object(h.each)(t,(function(a,s){t[s+1]&&((n=[])[0]=i/e,r=y.c.length(a[0],a[1],t[s+1][0],t[s+1][1]),i+=r,n[1]=i/e,o.push(n))})),this.set("tCache",o)}}},e.prototype.getStartTangent=function(){var t=this.attr().points,e=[];return e.push([t[1][0],t[1][1]]),e.push([t[0][0],t[0][1]]),e},e.prototype.getEndTangent=function(){var t=this.attr().points,e=t.length-1,n=[];return n.push([t[e-1][0],t[e-1][1]]),n.push([t[e][0],t[e][1]]),n},e}(f);var M=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="rect",e.canFill=!0,e.canStroke=!0,e}return Object(i.__extends)(e,t),e.prototype.getDefaultAttrs=function(){var e=t.prototype.getDefaultAttrs.call(this);return Object(i.__assign)(Object(i.__assign)({},e),{x:0,y:0,width:0,height:0,radius:0})},e.prototype.createPath=function(t,e){var n=this,r=this.attr(),i=this.get("el"),o=!1,a=["x","y","width","height","radius"];Object(h.each)(e||r,(function(t,e){-1===a.indexOf(e)||o?-1===a.indexOf(e)&&c.b[e]&&i.setAttribute(c.b[e],t):(i.setAttribute("d",n._assembleRect(r)),o=!0)}))},e.prototype._assembleRect=function(t){var e=t.x,n=t.y,r=t.width,i=t.height,o=t.radius;if(!o)return"M "+e+","+n+" l "+r+",0 l 0,"+i+" l"+-r+" 0 z";var a=function(t){var e=0,n=0,r=0,i=0;return Object(h.isArray)(t)?1===t.length?e=n=r=i=t[0]:2===t.length?(e=r=t[0],n=i=t[1]):3===t.length?(e=t[0],n=i=t[1],r=t[2]):(e=t[0],n=t[1],r=t[2],i=t[3]):e=n=r=i=t,{r1:e,r2:n,r3:r,r4:i}}(o);return Object(h.isArray)(o)?1===o.length?a.r1=a.r2=a.r3=a.r4=o[0]:2===o.length?(a.r1=a.r3=o[0],a.r2=a.r4=o[1]):3===o.length?(a.r1=o[0],a.r2=a.r4=o[1],a.r3=o[2]):(a.r1=o[0],a.r2=o[1],a.r3=o[2],a.r4=o[3]):a.r1=a.r2=a.r3=a.r4=o,[["M "+(e+a.r1)+","+n],["l "+(r-a.r1-a.r2)+",0"],["a "+a.r2+","+a.r2+",0,0,1,"+a.r2+","+a.r2],["l 0,"+(i-a.r2-a.r3)],["a "+a.r3+","+a.r3+",0,0,1,"+-a.r3+","+a.r3],["l "+(a.r3+a.r4-r)+",0"],["a "+a.r4+","+a.r4+",0,0,1,"+-a.r4+","+-a.r4],["l 0,"+(a.r4+a.r1-i)],["a "+a.r1+","+a.r1+",0,0,1,"+a.r1+","+-a.r1],["z"]].join(" ")},e}(f),O=n(55),k={top:"before-edge",middle:"central",bottom:"after-edge",alphabetic:"baseline",hanging:"hanging"},A={top:"text-before-edge",middle:"central",bottom:"text-after-edge",alphabetic:"alphabetic",hanging:"hanging"},C={left:"left",start:"left",center:"middle",right:"end",end:"end"},j=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="text",e.canFill=!0,e.canStroke=!0,e}return Object(i.__extends)(e,t),e.prototype.getDefaultAttrs=function(){var e=t.prototype.getDefaultAttrs.call(this);return Object(i.__assign)(Object(i.__assign)({},e),{x:0,y:0,text:null,fontSize:12,fontFamily:"sans-serif",fontStyle:"normal",fontWeight:"normal",fontVariant:"normal",textAlign:"start",textBaseline:"bottom"})},e.prototype.createPath=function(t,e){var n=this,r=this.attr(),i=this.get("el");this._setFont(),Object(h.each)(e||r,(function(t,e){"text"===e?n._setText(""+t):"matrix"===e&&t?Object(a.c)(n):c.b[e]&&i.setAttribute(c.b[e],t)})),i.setAttribute("paint-order","stroke"),i.setAttribute("style","stroke-linecap:butt; stroke-linejoin:miter;")},e.prototype._setFont=function(){var t=this.get("el"),e=this.attr(),n=e.textBaseline,r=e.textAlign,i=Object(O.a)();i&&"firefox"===i.name?t.setAttribute("dominant-baseline",A[n]||"alphabetic"):t.setAttribute("alignment-baseline",k[n]||"baseline"),t.setAttribute("text-anchor",C[r]||"left")},e.prototype._setText=function(t){var e=this.get("el"),n=this.attr(),r=n.x,i=n.textBaseline,o=void 0===i?"bottom":i;if(t)if(~t.indexOf("\n")){var a=t.split("\n"),s=a.length-1,u="";Object(h.each)(a,(function(t,e){0===e?"alphabetic"===o?u+='<tspan x="'+r+'" dy="'+-s+'em">'+t+"</tspan>":"top"===o?u+='<tspan x="'+r+'" dy="0.9em">'+t+"</tspan>":"middle"===o?u+='<tspan x="'+r+'" dy="'+-(s-1)/2+'em">'+t+"</tspan>":"bottom"===o?u+='<tspan x="'+r+'" dy="-'+(s+.3)+'em">'+t+"</tspan>":"hanging"===o&&(u+='<tspan x="'+r+'" dy="'+(-(s-1)-.3)+'em">'+t+"</tspan>"):u+='<tspan x="'+r+'" dy="1em">'+t+"</tspan>"})),e.innerHTML=u}else e.innerHTML=t;else e.innerHTML=""},e}(f)},function(t,e,n){"use strict";n.r(e),n.d(e,"create",(function(){return i})),n.d(e,"clone",(function(){return o})),n.d(e,"fromValues",(function(){return a})),n.d(e,"copy",(function(){return s})),n.d(e,"set",(function(){return u})),n.d(e,"add",(function(){return c})),n.d(e,"subtract",(function(){return l})),n.d(e,"multiply",(function(){return f})),n.d(e,"divide",(function(){return h})),n.d(e,"ceil",(function(){return d})),n.d(e,"floor",(function(){return p})),n.d(e,"min",(function(){return g})),n.d(e,"max",(function(){return v})),n.d(e,"round",(function(){return y})),n.d(e,"scale",(function(){return m})),n.d(e,"scaleAndAdd",(function(){return b})),n.d(e,"distance",(function(){return x})),n.d(e,"squaredDistance",(function(){return w})),n.d(e,"length",(function(){return _})),n.d(e,"squaredLength",(function(){return E})),n.d(e,"negate",(function(){return S})),n.d(e,"inverse",(function(){return M})),n.d(e,"normalize",(function(){return O})),n.d(e,"dot",(function(){return k})),n.d(e,"cross",(function(){return A})),n.d(e,"lerp",(function(){return C})),n.d(e,"random",(function(){return j})),n.d(e,"transformMat2",(function(){return I})),n.d(e,"transformMat2d",(function(){return T})),n.d(e,"transformMat3",(function(){return N})),n.d(e,"transformMat4",(function(){return P})),n.d(e,"rotate",(function(){return D})),n.d(e,"angle",(function(){return L})),n.d(e,"zero",(function(){return R})),n.d(e,"str",(function(){return B})),n.d(e,"exactEquals",(function(){return F})),n.d(e,"equals",(function(){return z})),n.d(e,"len",(function(){return Y})),n.d(e,"sub",(function(){return U})),n.d(e,"mul",(function(){return X})),n.d(e,"div",(function(){return W})),n.d(e,"dist",(function(){return V})),n.d(e,"sqrDist",(function(){return H})),n.d(e,"sqrLen",(function(){return q})),n.d(e,"forEach",(function(){return Z}));var r=n(2);function i(){var t=new r.ARRAY_TYPE(2);return r.ARRAY_TYPE!=Float32Array&&(t[0]=0,t[1]=0),t}function o(t){var e=new r.ARRAY_TYPE(2);return e[0]=t[0],e[1]=t[1],e}function a(t,e){var n=new r.ARRAY_TYPE(2);return n[0]=t,n[1]=e,n}function s(t,e){return t[0]=e[0],t[1]=e[1],t}function u(t,e,n){return t[0]=e,t[1]=n,t}function c(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t}function l(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t}function f(t,e,n){return t[0]=e[0]*n[0],t[1]=e[1]*n[1],t}function h(t,e,n){return t[0]=e[0]/n[0],t[1]=e[1]/n[1],t}function d(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t}function p(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t}function g(t,e,n){return t[0]=Math.min(e[0],n[0]),t[1]=Math.min(e[1],n[1]),t}function v(t,e,n){return t[0]=Math.max(e[0],n[0]),t[1]=Math.max(e[1],n[1]),t}function y(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t}function m(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t}function b(t,e,n,r){return t[0]=e[0]+n[0]*r,t[1]=e[1]+n[1]*r,t}function x(t,e){var n=e[0]-t[0],r=e[1]-t[1];return Math.hypot(n,r)}function w(t,e){var n=e[0]-t[0],r=e[1]-t[1];return n*n+r*r}function _(t){var e=t[0],n=t[1];return Math.hypot(e,n)}function E(t){var e=t[0],n=t[1];return e*e+n*n}function S(t,e){return t[0]=-e[0],t[1]=-e[1],t}function M(t,e){return t[0]=1/e[0],t[1]=1/e[1],t}function O(t,e){var n=e[0],r=e[1],i=n*n+r*r;return i>0&&(i=1/Math.sqrt(i)),t[0]=e[0]*i,t[1]=e[1]*i,t}function k(t,e){return t[0]*e[0]+t[1]*e[1]}function A(t,e,n){var r=e[0]*n[1]-e[1]*n[0];return t[0]=t[1]=0,t[2]=r,t}function C(t,e,n,r){var i=e[0],o=e[1];return t[0]=i+r*(n[0]-i),t[1]=o+r*(n[1]-o),t}function j(t,e){e=e||1;var n=2*r.RANDOM()*Math.PI;return t[0]=Math.cos(n)*e,t[1]=Math.sin(n)*e,t}function I(t,e,n){var r=e[0],i=e[1];return t[0]=n[0]*r+n[2]*i,t[1]=n[1]*r+n[3]*i,t}function T(t,e,n){var r=e[0],i=e[1];return t[0]=n[0]*r+n[2]*i+n[4],t[1]=n[1]*r+n[3]*i+n[5],t}function N(t,e,n){var r=e[0],i=e[1];return t[0]=n[0]*r+n[3]*i+n[6],t[1]=n[1]*r+n[4]*i+n[7],t}function P(t,e,n){var r=e[0],i=e[1];return t[0]=n[0]*r+n[4]*i+n[12],t[1]=n[1]*r+n[5]*i+n[13],t}function D(t,e,n,r){var i=e[0]-n[0],o=e[1]-n[1],a=Math.sin(r),s=Math.cos(r);return t[0]=i*s-o*a+n[0],t[1]=i*a+o*s+n[1],t}function L(t,e){var n=t[0],r=t[1],i=e[0],o=e[1],a=Math.sqrt(n*n+r*r)*Math.sqrt(i*i+o*o),s=a&&(n*i+r*o)/a;return Math.acos(Math.min(Math.max(s,-1),1))}function R(t){return t[0]=0,t[1]=0,t}function B(t){return"vec2("+t[0]+", "+t[1]+")"}function F(t,e){return t[0]===e[0]&&t[1]===e[1]}function z(t,e){var n=t[0],i=t[1],o=e[0],a=e[1];return Math.abs(n-o)<=r.EPSILON*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(i-a)<=r.EPSILON*Math.max(1,Math.abs(i),Math.abs(a))}var G,Y=_,U=l,X=f,W=h,V=x,H=w,q=E,Z=(G=i(),function(t,e,n,r,i,o){var a,s;for(e||(e=2),n||(n=0),s=r?Math.min(r*e+n,t.length):t.length,a=n;a<s;a+=e)G[0]=t[a],G[1]=t[a+1],i(G,G,o),t[a]=G[0],t[a+1]=G[1];return t})},function(t,e,n){(function(t){var n,r,i,o;function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}"undefined"!=typeof self&&self,o=function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=5)}([function(t,e){t.exports={assign:Object.assign,getHeight:function(t,e,n,r){return void 0===r&&(r="height"),"center"===n?(t[r]+e[r])/2:t.height}}},function(t,e,n){var r=n(3),i=function(){function t(t,e){void 0===e&&(e={}),this.options=e,this.rootNode=r(t,e)}return t.prototype.execute=function(){throw new Error("please override this method")},t}();t.exports=i},function(t,e,n){var r=n(4),i=["LR","RL","TB","BT","H","V"],o=["LR","RL","H"],a=i[0];t.exports=function(t,e,n){var s=e.direction||a;if(e.isHorizontal=function(t){return o.indexOf(t)>-1}(s),s&&-1===i.indexOf(s))throw new TypeError("Invalid direction: "+s);if(s===i[0])n(t,e);else if(s===i[1])n(t,e),t.right2left();else if(s===i[2])n(t,e);else if(s===i[3])n(t,e),t.bottom2top();else if(s===i[4]||s===i[5]){var u=r(t,e),c=u.left,l=u.right;n(c,e),n(l,e),e.isHorizontal?c.right2left():c.bottom2top(),l.translate(c.x-l.x,c.y-l.y),t.x=c.x,t.y=l.y;var f=t.getBoundingBox();e.isHorizontal?f.top<0&&t.translate(0,-f.top):f.left<0&&t.translate(-f.left,0)}var h=e.fixedRoot;return void 0===h&&(h=!0),h&&t.translate(-(t.x+t.width/2+t.hgap),-(t.y+t.height/2+t.vgap)),function(t,e){if(e.radial){var n=e.isHorizontal?["x","y"]:["y","x"],r=n[0],i=n[1],o={x:1/0,y:1/0},a={x:-1/0,y:-1/0},s=0;t.DFTraverse((function(t){s++;var e=t.x,n=t.y;o.x=Math.min(o.x,e),o.y=Math.min(o.y,n),a.x=Math.max(a.x,e),a.y=Math.max(a.y,n)}));var u=a[i]-o[i];if(0===u)return;var c=2*Math.PI/s;t.DFTraverse((function(e){var n=(e[i]-o[i])/u*(2*Math.PI-c)+c,a=e[r]-t[r];e.x=Math.cos(n)*a,e.y=Math.sin(n)*a}))}}(t,e),t}},function(t,e,n){var r=n(0),i={getId:function(t){return t.id||t.name},getPreH:function(t){return t.preH||0},getPreV:function(t){return t.preV||0},getHGap:function(t){return t.hgap||18},getVGap:function(t){return t.vgap||18},getChildren:function(t){return t.children},getHeight:function(t){return t.height||36},getWidth:function(t){var e=t.label||" ";return t.width||18*e.split("").length}};function o(t,e){var n=this;if(n.vgap=n.hgap=0,t instanceof o)return t;n.data=t;var r=e.getHGap(t),i=e.getVGap(t);return n.preH=e.getPreH(t),n.preV=e.getPreV(t),n.width=e.getWidth(t),n.height=e.getHeight(t),n.width+=n.preH,n.height+=n.preV,n.id=e.getId(t),n.x=n.y=0,n.depth=0,n.children||(n.children=[]),n.addGap(r,i),n}r.assign(o.prototype,{isRoot:function(){return 0===this.depth},isLeaf:function(){return 0===this.children.length},addGap:function(t,e){this.hgap+=t,this.vgap+=e,this.width+=2*t,this.height+=2*e},eachNode:function(t){for(var e,n=[this];e=n.shift();)t(e),n=e.children.concat(n)},DFTraverse:function(t){this.eachNode(t)},BFTraverse:function(t){for(var e,n=[this];e=n.shift();)t(e),n=n.concat(e.children)},getBoundingBox:function(){var t={left:Number.MAX_VALUE,top:Number.MAX_VALUE,width:0,height:0};return this.eachNode((function(e){t.left=Math.min(t.left,e.x),t.top=Math.min(t.top,e.y),t.width=Math.max(t.width,e.x+e.width),t.height=Math.max(t.height,e.y+e.height)})),t},translate:function(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this.eachNode((function(n){n.x+=t,n.y+=e,n.x+=n.preH,n.y+=n.preV}))},right2left:function(){var t=this.getBoundingBox();this.eachNode((function(e){e.x=e.x-2*(e.x-t.left)-e.width})),this.translate(t.width,0)},bottom2top:function(){var t=this.getBoundingBox();this.eachNode((function(e){e.y=e.y-2*(e.y-t.top)-e.height})),this.translate(0,t.height)}}),t.exports=function(t,e,n){void 0===e&&(e={});var a,s=new o(t,e=r.assign({},i,e)),u=[s];if(!n&&!t.collapsed)for(;a=u.shift();)if(!a.data.collapsed){var c=e.getChildren(a.data),l=c?c.length:0;if(a.children=new Array(l),c&&l)for(var f=0;f<l;f++){var h=new o(c[f],e);a.children[f]=h,u.push(h),h.parent=a,h.depth=a.depth+1}}return s}},function(t,e,n){var r=n(3);t.exports=function(t,e){for(var n=r(t.data,e,!0),i=r(t.data,e,!0),o=t.children.length,a=Math.round(o/2),s=e.getSide||function(t,e){return e<a?"right":"left"},u=0;u<o;u++){var c=t.children[u];"right"===s(c,u)?i.children.push(c):n.children.push(c)}return n.eachNode((function(t){t.isRoot()||(t.side="left")})),i.eachNode((function(t){t.isRoot()||(t.side="right")})),{left:n,right:i}}},function(t,e,n){var r={compactBox:n(6),dendrogram:n(8),indented:n(10),mindmap:n(12)};t.exports=r},function(t,e,n){function r(t,e){return(r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t})(t,e)}var i=n(1),o=n(7),a=n(2),s=n(0),u=function(t){function e(){return t.apply(this,arguments)||this}var n,i;return i=t,(n=e).prototype=Object.create(i.prototype),n.prototype.constructor=n,r(n,i),e.prototype.execute=function(){return a(this.rootNode,this.options,o)},e}(i),c={};t.exports=function(t,e){return e=s.assign({},c,e),new u(t,e).execute()}},function(t,e){function n(t,e,n,r){void 0===r&&(r=[]);var i=this;i.w=t||0,i.h=e||0,i.y=n||0,i.x=0,i.c=r||[],i.cs=r.length,i.prelim=0,i.mod=0,i.shift=0,i.change=0,i.tl=null,i.tr=null,i.el=null,i.er=null,i.msel=0,i.mser=0}function r(t,e){var n=function t(e,n){var r=n?e.y:e.x;return e.children.forEach((function(e){r=Math.min(t(e,n),r)})),r}(t,e);!function t(e,n,r){r?e.y+=n:e.x+=n,e.children.forEach((function(e){t(e,n,r)}))}(t,-n,e)}n.fromNode=function(t,e){if(!t)return null;var r=[];return t.children.forEach((function(t){r.push(n.fromNode(t,e))})),e?new n(t.height,t.width,t.x,r):new n(t.width,t.height,t.y,r)},t.exports=function(t,e){void 0===e&&(e={});var i=e.isHorizontal;function o(t){0===t.cs?(t.el=t,t.er=t,t.msel=t.mser=0):(t.el=t.c[0].el,t.msel=t.c[0].msel,t.er=t.c[t.cs-1].er,t.mser=t.c[t.cs-1].mser)}function a(t,e,n){for(var r=t.c[e-1],i=r.mod,o=t.c[e],a=o.mod;null!==r&&null!==o;){l(r)>n.low&&(n=n.nxt);var f=i+r.prelim+r.w-(a+o.prelim);f>0&&(a+=f,s(t,e,n.index,f));var h=l(r),d=l(o);h<=d&&null!==(r=c(r))&&(i+=r.mod),h>=d&&null!==(o=u(o))&&(a+=o.mod)}!r&&o?function(t,e,n,r){var i=t.c[0].el;i.tl=n;var o=r-n.mod-t.c[0].msel;i.mod+=o,i.prelim-=o,t.c[0].el=t.c[e].el,t.c[0].msel=t.c[e].msel}(t,e,o,a):r&&!o&&function(t,e,n,r){var i=t.c[e].er;i.tr=n;var o=r-n.mod-t.c[e].mser;i.mod+=o,i.prelim-=o,t.c[e].er=t.c[e-1].er,t.c[e].mser=t.c[e-1].mser}(t,e,r,i)}function s(t,e,n,r){t.c[e].mod+=r,t.c[e].msel+=r,t.c[e].mser+=r,function(t,e,n,r){if(n!==e-1){var i=e-n;t.c[n+1].shift+=r/i,t.c[e].shift-=r/i,t.c[e].change-=r-r/i}}(t,e,n,r)}function u(t){return 0===t.cs?t.tl:t.c[0]}function c(t){return 0===t.cs?t.tr:t.c[t.cs-1]}function l(t){return t.y+t.h}function f(t,e,n){for(;null!==n&&t>=n.low;)n=n.nxt;return{low:t,index:e,nxt:n}}!function t(e,n,r){void 0===r&&(r=0),n?(e.x=r,r+=e.width):(e.y=r,r+=e.height),e.children.forEach((function(e){t(e,n,r)}))}(t,i);var h=n.fromNode(t,i);return function t(e){if(0!==e.cs){t(e.c[0]);for(var n=f(l(e.c[0].el),0,null),r=1;r<e.cs;++r){t(e.c[r]);var i=l(e.c[r].er);a(e,r,n),n=f(i,r,n)}!function(t){t.prelim=(t.c[0].prelim+t.c[0].mod+t.c[t.cs-1].mod+t.c[t.cs-1].prelim+t.c[t.cs-1].w)/2-t.w/2}(e),o(e)}else o(e)}(h),function t(e,n){n+=e.mod,e.x=e.prelim+n,function(t){for(var e=0,n=0,r=0;r<t.cs;r++)e+=t.c[r].shift,n+=e+t.c[r].change,t.c[r].mod+=n}(e);for(var r=0;r<e.cs;r++)t(e.c[r],n)}(h,0),function t(e,n,r){r?n.y=e.x:n.x=e.x,e.c.forEach((function(e,i){t(e,n.children[i],r)}))}(h,t,i),r(t,i),t}},function(t,e,n){function r(t,e){return(r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t})(t,e)}var i=n(1),o=n(9),a=n(2),s=n(0),u=function(t){function e(){return t.apply(this,arguments)||this}var n,i;return i=t,(n=e).prototype=Object.create(i.prototype),n.prototype.constructor=n,r(n,i),e.prototype.execute=function(){return this.rootNode.width=0,a(this.rootNode,this.options,o)},e}(i),c={};t.exports=function(t,e){return e=s.assign({},c,e),new u(t,e).execute()}},function(t,e,n){var r=n(0);function i(t,e){void 0===t&&(t=0),void 0===e&&(e=[]);var n=this;n.x=n.y=0,n.leftChild=n.rightChild=null,n.height=0,n.children=e}var o={isHorizontal:!0,nodeSep:20,nodeSize:20,rankSep:200,subTreeSep:10};t.exports=function(t,e){void 0===e&&(e={}),e=r.assign({},o,e);var n,a=0,s=function t(e){if(!e)return null;e.width=0,e.depth&&e.depth>a&&(a=e.depth);var n=e.children,r=n.length,o=new i(e.height,[]);return n.forEach((function(e,n){var i=t(e);o.children.push(i),0===n&&(o.leftChild=i),n===r-1&&(o.rightChild=i)})),o.originNode=e,o.isLeaf=e.isLeaf(),o}(t);return function t(e){if(e.isLeaf||0===e.children.length)e.drawingDepth=a;else{var n=e.children.map((function(e){return t(e)})),r=Math.min.apply(null,n);e.drawingDepth=r-1}return e.drawingDepth}(s),function t(r){r.x=r.drawingDepth*e.rankSep,r.isLeaf?(r.y=0,n&&(r.y=n.y+n.height+e.nodeSep,r.originNode.parent!==n.originNode.parent&&(r.y+=e.subTreeSep)),n=r):(r.children.forEach((function(e){t(e)})),r.y=(r.leftChild.y+r.rightChild.y)/2)}(s),function t(e,n,r){r?(n.x=e.x,n.y=e.y):(n.x=e.y,n.y=e.x),e.children.forEach((function(e,i){t(e,n.children[i],r)}))}(s,t,e.isHorizontal),t}},function(t,e,n){function r(t,e){return(r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t})(t,e)}var i=n(1),o=n(11),a=n(4),s=n(0),u=["LR","RL","H"],c=u[0],l=function(t){function e(){return t.apply(this,arguments)||this}var n,i;return i=t,(n=e).prototype=Object.create(i.prototype),n.prototype.constructor=n,r(n,i),e.prototype.execute=function(){var t=this.options,e=this.rootNode;t.isHorizontal=!0;var n=t.indent,r=void 0===n?20:n,i=t.dropCap,s=void 0===i||i,l=t.direction,f=void 0===l?c:l,h=t.align;if(f&&-1===u.indexOf(f))throw new TypeError("Invalid direction: "+f);if(f===u[0])o(e,r,s,h);else if(f===u[1])o(e,r,s,h),e.right2left();else if(f===u[2]){var d=a(e,t),p=d.left,g=d.right;o(p,r,s,h),p.right2left(),o(g,r,s,h);var v=p.getBoundingBox();g.translate(v.width,0),e.x=g.x-e.width/2}return e},e}(i),f={};t.exports=function(t,e){return e=s.assign({},f,e),new l(t,e).execute()}},function(t,e,n){var r=n(0);t.exports=function(t,e,n,i){var o=null;t.eachNode((function(t){!function(t,e,n,i,o){var a=("function"==typeof n?n(t):n)*t.depth;if(!i)try{if(t.id===t.parent.children[0].id)return t.x+=a,void(t.y=e?e.y:0)}catch(t){}if(t.x+=a,e){if(t.y=e.y+r.getHeight(e,t,o),e.parent&&t.parent.id!==e.parent.id){var s=e.parent,u=s.y+r.getHeight(s,t,o);t.y=u>t.y?u:t.y}}else t.y=0}(t,o,e,n,i),o=t}))}},function(t,e,n){function r(t,e){return(r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t})(t,e)}var i=n(1),o=n(13),a=n(2),s=n(0),u=function(t){function e(){return t.apply(this,arguments)||this}var n,i;return i=t,(n=e).prototype=Object.create(i.prototype),n.prototype.constructor=n,r(n,i),e.prototype.execute=function(){return a(this.rootNode,this.options,o)},e}(i),c={};t.exports=function(t,e){return e=s.assign({},c,e),new u(t,e).execute()}},function(t,e,n){var r=n(0),i={getSubTreeSep:function(){return 0}};t.exports=function(t,e){void 0===e&&(e={}),e=r.assign({},i,e),t.parent={x:0,width:0,height:0,y:0},t.BFTraverse((function(t){t.x=t.parent.x+t.parent.width})),t.parent=null,function t(e,n){var r=0;return e.children.length?e.children.forEach((function(e){r+=t(e,n)})):r=e.height,e._subTreeSep=n.getSubTreeSep(e.data),e.totalHeight=Math.max(e.height,r)+2*e._subTreeSep,e.totalHeight}(t,e),t.startY=0,t.y=t.totalHeight/2-t.height/2,t.eachNode((function(t){var e=t.children,n=e.length;if(n){var r=e[0];if(r.startY=t.startY+t._subTreeSep,1===n)r.y=t.y+t.height/2-r.height/2;else{r.y=r.startY+r.totalHeight/2-r.height/2;for(var i=1;i<n;i++){var o=e[i];o.startY=e[i-1].startY+e[i-1].totalHeight,o.y=o.startY+o.totalHeight/2-o.height/2}}}})),function t(e){var n=e.children,r=n.length;if(r){n.forEach((function(e){t(e)}));var i=n[0],o=n[r-1],a=o.y-i.y+o.height,s=0;if(n.forEach((function(t){s+=t.totalHeight})),a>e.height)e.y=i.y+a/2-e.height/2;else if(1!==n.length||e.height>s){var u=e.y+(e.height-a)/2-i.y;n.forEach((function(t){t.translate(0,u)}))}else e.y=(i.y+i.height/2+o.y+o.height/2)/2-e.height/2}}(t)}}])},"object"===a(e)&&"object"===a(t)?t.exports=o():(r=[],void 0===(i="function"==typeof(n=o)?n.apply(e,r):n)||(t.exports=i))}).call(this,n(100)(t))},function(t,e,n){"use strict";function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var i=n(146),o=n(150),a=[].slice,s=["keyword","gray","hex"],u={};Object.keys(o).forEach((function(t){u[a.call(o[t].labels).sort().join("")]=t}));var c={};function l(t,e){if(!(this instanceof l))return new l(t,e);if(e&&e in s&&(e=null),e&&!(e in o))throw new Error("Unknown model: "+e);var n,r;if(null==t)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(t instanceof l)this.model=t.model,this.color=t.color.slice(),this.valpha=t.valpha;else if("string"==typeof t){var f=i.get(t);if(null===f)throw new Error("Unable to parse color from string: "+t);this.model=f.model,r=o[this.model].channels,this.color=f.value.slice(0,r),this.valpha="number"==typeof f.value[r]?f.value[r]:1}else if(t.length){this.model=e||"rgb",r=o[this.model].channels;var h=a.call(t,0,r);this.color=p(h,r),this.valpha="number"==typeof t[r]?t[r]:1}else if("number"==typeof t)t&=16777215,this.model="rgb",this.color=[t>>16&255,t>>8&255,255&t],this.valpha=1;else{this.valpha=1;var d=Object.keys(t);"alpha"in t&&(d.splice(d.indexOf("alpha"),1),this.valpha="number"==typeof t.alpha?t.alpha:0);var g=d.sort().join("");if(!(g in u))throw new Error("Unable to parse color from object: "+JSON.stringify(t));this.model=u[g];var v=o[this.model].labels,y=[];for(n=0;n<v.length;n++)y.push(t[v[n]]);this.color=p(y)}if(c[this.model])for(r=o[this.model].channels,n=0;n<r;n++){var m=c[this.model][n];m&&(this.color[n]=m(this.color[n]))}this.valpha=Math.max(0,Math.min(1,this.valpha)),Object.freeze&&Object.freeze(this)}function f(t,e,n){return(t=Array.isArray(t)?t:[t]).forEach((function(t){(c[t]||(c[t]=[]))[e]=n})),t=t[0],function(r){var i;return arguments.length?(n&&(r=n(r)),(i=this[t]()).color[e]=r,i):(i=this[t]().color[e],n&&(i=n(i)),i)}}function h(t){return function(e){return Math.max(0,Math.min(t,e))}}function d(t){return Array.isArray(t)?t:[t]}function p(t,e){for(var n=0;n<e;n++)"number"!=typeof t[n]&&(t[n]=0);return t}l.prototype={toString:function(){return this.string()},toJSON:function(){return this[this.model]()},string:function(t){var e=this.model in i.to?this:this.rgb(),n=1===(e=e.round("number"==typeof t?t:1)).valpha?e.color:e.color.concat(this.valpha);return i.to[e.model](n)},percentString:function(t){var e=this.rgb().round("number"==typeof t?t:1),n=1===e.valpha?e.color:e.color.concat(this.valpha);return i.to.rgb.percent(n)},array:function(){return 1===this.valpha?this.color.slice():this.color.concat(this.valpha)},object:function(){for(var t={},e=o[this.model].channels,n=o[this.model].labels,r=0;r<e;r++)t[n[r]]=this.color[r];return 1!==this.valpha&&(t.alpha=this.valpha),t},unitArray:function(){var t=this.rgb().color;return t[0]/=255,t[1]/=255,t[2]/=255,1!==this.valpha&&t.push(this.valpha),t},unitObject:function(){var t=this.rgb().object();return t.r/=255,t.g/=255,t.b/=255,1!==this.valpha&&(t.alpha=this.valpha),t},round:function(t){return t=Math.max(t||0,0),new l(this.color.map(function(t){return function(e){return function(t,e){return Number(t.toFixed(e))}(e,t)}}(t)).concat(this.valpha),this.model)},alpha:function(t){return arguments.length?new l(this.color.concat(Math.max(0,Math.min(1,t))),this.model):this.valpha},red:f("rgb",0,h(255)),green:f("rgb",1,h(255)),blue:f("rgb",2,h(255)),hue:f(["hsl","hsv","hsl","hwb","hcg"],0,(function(t){return(t%360+360)%360})),saturationl:f("hsl",1,h(100)),lightness:f("hsl",2,h(100)),saturationv:f("hsv",1,h(100)),value:f("hsv",2,h(100)),chroma:f("hcg",1,h(100)),gray:f("hcg",2,h(100)),white:f("hwb",1,h(100)),wblack:f("hwb",2,h(100)),cyan:f("cmyk",0,h(100)),magenta:f("cmyk",1,h(100)),yellow:f("cmyk",2,h(100)),black:f("cmyk",3,h(100)),x:f("xyz",0,h(100)),y:f("xyz",1,h(100)),z:f("xyz",2,h(100)),l:f("lab",0,h(100)),a:f("lab",1),b:f("lab",2),keyword:function(t){return arguments.length?new l(t):o[this.model].keyword(this.color)},hex:function(t){return arguments.length?new l(t):i.to.hex(this.rgb().round().color)},rgbNumber:function(){var t=this.rgb().color;return(255&t[0])<<16|(255&t[1])<<8|255&t[2]},luminosity:function(){for(var t=this.rgb().color,e=[],n=0;n<t.length;n++){var r=t[n]/255;e[n]=r<=.03928?r/12.92:Math.pow((r+.055)/1.055,2.4)}return.2126*e[0]+.7152*e[1]+.0722*e[2]},contrast:function(t){var e=this.luminosity(),n=t.luminosity();return e>n?(e+.05)/(n+.05):(n+.05)/(e+.05)},level:function(t){var e=this.contrast(t);return e>=7.1?"AAA":e>=4.5?"AA":""},isDark:function(){var t=this.rgb().color;return(299*t[0]+587*t[1]+114*t[2])/1e3<128},isLight:function(){return!this.isDark()},negate:function(){for(var t=this.rgb(),e=0;e<3;e++)t.color[e]=255-t.color[e];return t},lighten:function(t){var e=this.hsl();return e.color[2]+=e.color[2]*t,e},darken:function(t){var e=this.hsl();return e.color[2]-=e.color[2]*t,e},saturate:function(t){var e=this.hsl();return e.color[1]+=e.color[1]*t,e},desaturate:function(t){var e=this.hsl();return e.color[1]-=e.color[1]*t,e},whiten:function(t){var e=this.hwb();return e.color[1]+=e.color[1]*t,e},blacken:function(t){var e=this.hwb();return e.color[2]+=e.color[2]*t,e},grayscale:function(){var t=this.rgb().color,e=.3*t[0]+.59*t[1]+.11*t[2];return l.rgb(e,e,e)},fade:function(t){return this.alpha(this.valpha-this.valpha*t)},opaquer:function(t){return this.alpha(this.valpha+this.valpha*t)},rotate:function(t){var e=this.hsl(),n=e.color[0];return n=(n=(n+t)%360)<0?360+n:n,e.color[0]=n,e},mix:function(t,e){if(!t||!t.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+r(t));var n=t.rgb(),i=this.rgb(),o=void 0===e?.5:e,a=2*o-1,s=n.alpha()-i.alpha(),u=((a*s==-1?a:(a+s)/(1+a*s))+1)/2,c=1-u;return l.rgb(u*n.red()+c*i.red(),u*n.green()+c*i.green(),u*n.blue()+c*i.blue(),n.alpha()*o+i.alpha()*(1-o))}},Object.keys(o).forEach((function(t){if(-1===s.indexOf(t)){var e=o[t].channels;l.prototype[t]=function(){if(this.model===t)return new l(this);if(arguments.length)return new l(arguments,t);var n="number"==typeof arguments[e]?e:this.valpha;return new l(d(o[this.model][t].raw(this.color)).concat(n),t)},l[t]=function(n){return"number"==typeof n&&(n=p(a.call(arguments),e)),new l(n,t)}}})),t.exports=l},function(t,e){function n(e){return t.exports=n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.__esModule=!0,t.exports.default=t.exports,n(e)}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var r=n(5);function i(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function o(t,e){return i(t)*i(e)?(t[0]*e[0]+t[1]*e[1])/(i(t)*i(e)):1}function a(t,e){return(t[0]*e[1]<t[1]*e[0]?-1:1)*Math.acos(o(t,e))}function s(t,e){var n=e[1],i=e[2],s=Object(r.m)(Object(r.o)(e[3]),2*Math.PI),u=e[4],c=e[5],l=t[0],f=t[1],h=e[6],d=e[7],p=Math.cos(s)*(l-h)/2+Math.sin(s)*(f-d)/2,g=-1*Math.sin(s)*(l-h)/2+Math.cos(s)*(f-d)/2,v=p*p/(n*n)+g*g/(i*i);v>1&&(n*=Math.sqrt(v),i*=Math.sqrt(v));var y=n*n*(g*g)+i*i*(p*p),m=y?Math.sqrt((n*n*(i*i)-y)/y):1;u===c&&(m*=-1),isNaN(m)&&(m=0);var b=i?m*n*g/i:0,x=n?m*-i*p/n:0,w=(l+h)/2+Math.cos(s)*b-Math.sin(s)*x,_=(f+d)/2+Math.sin(s)*b+Math.cos(s)*x,E=[(p-b)/n,(g-x)/i],S=[(-1*p-b)/n,(-1*g-x)/i],M=a([1,0],E),O=a(E,S);return o(E,S)<=-1&&(O=Math.PI),o(E,S)>=1&&(O=0),0===c&&O>0&&(O-=2*Math.PI),1===c&&O<0&&(O+=2*Math.PI),{cx:w,cy:_,rx:Object(r.j)(t,[h,d])?0:n,ry:Object(r.j)(t,[h,d])?0:i,startAngle:M,endAngle:M+O,xRotation:s,arcFlag:u,sweepFlag:c}}},function(t,e,n){var r,i,o;function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}o=function(){"use strict";function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(e)}var e=/^\s+/,n=/\s+$/;function r(i,o){if(o=o||{},(i=i||"")instanceof r)return i;if(!(this instanceof r))return new r(i,o);var a=function(r){var i,o,a,s={r:0,g:0,b:0},u=1,c=null,l=null,f=null,h=!1,d=!1;return"string"==typeof r&&(r=function(t){t=t.replace(e,"").replace(n,"").toLowerCase();var r,i=!1;if(x[t])t=x[t],i=!0;else if("transparent"==t)return{r:0,g:0,b:0,a:0,format:"name"};return(r=N.rgb.exec(t))?{r:r[1],g:r[2],b:r[3]}:(r=N.rgba.exec(t))?{r:r[1],g:r[2],b:r[3],a:r[4]}:(r=N.hsl.exec(t))?{h:r[1],s:r[2],l:r[3]}:(r=N.hsla.exec(t))?{h:r[1],s:r[2],l:r[3],a:r[4]}:(r=N.hsv.exec(t))?{h:r[1],s:r[2],v:r[3]}:(r=N.hsva.exec(t))?{h:r[1],s:r[2],v:r[3],a:r[4]}:(r=N.hex8.exec(t))?{r:M(r[1]),g:M(r[2]),b:M(r[3]),a:C(r[4]),format:i?"name":"hex8"}:(r=N.hex6.exec(t))?{r:M(r[1]),g:M(r[2]),b:M(r[3]),format:i?"name":"hex"}:(r=N.hex4.exec(t))?{r:M(r[1]+""+r[1]),g:M(r[2]+""+r[2]),b:M(r[3]+""+r[3]),a:C(r[4]+""+r[4]),format:i?"name":"hex8"}:!!(r=N.hex3.exec(t))&&{r:M(r[1]+""+r[1]),g:M(r[2]+""+r[2]),b:M(r[3]+""+r[3]),format:i?"name":"hex"}}(r)),"object"==t(r)&&(P(r.r)&&P(r.g)&&P(r.b)?(i=r.r,o=r.g,a=r.b,s={r:255*E(i,255),g:255*E(o,255),b:255*E(a,255)},h=!0,d="%"===String(r.r).substr(-1)?"prgb":"rgb"):P(r.h)&&P(r.s)&&P(r.v)?(c=k(r.s),l=k(r.v),s=function(t,e,n){t=6*E(t,360),e=E(e,100),n=E(n,100);var r=Math.floor(t),i=t-r,o=n*(1-e),a=n*(1-i*e),s=n*(1-(1-i)*e),u=r%6;return{r:255*[n,a,o,o,s,n][u],g:255*[s,n,n,a,o,o][u],b:255*[o,o,s,n,n,a][u]}}(r.h,c,l),h=!0,d="hsv"):P(r.h)&&P(r.s)&&P(r.l)&&(c=k(r.s),f=k(r.l),s=function(t,e,n){var r,i,o;function a(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t}if(t=E(t,360),e=E(e,100),n=E(n,100),0===e)r=i=o=n;else{var s=n<.5?n*(1+e):n+e-n*e,u=2*n-s;r=a(u,s,t+1/3),i=a(u,s,t),o=a(u,s,t-1/3)}return{r:255*r,g:255*i,b:255*o}}(r.h,c,f),h=!0,d="hsl"),r.hasOwnProperty("a")&&(u=r.a)),u=_(u),{ok:h,format:r.format||d,r:Math.min(255,Math.max(s.r,0)),g:Math.min(255,Math.max(s.g,0)),b:Math.min(255,Math.max(s.b,0)),a:u}}(i);this._originalInput=i,this._r=a.r,this._g=a.g,this._b=a.b,this._a=a.a,this._roundA=Math.round(100*this._a)/100,this._format=o.format||a.format,this._gradientType=o.gradientType,this._r<1&&(this._r=Math.round(this._r)),this._g<1&&(this._g=Math.round(this._g)),this._b<1&&(this._b=Math.round(this._b)),this._ok=a.ok}function i(t,e,n){t=E(t,255),e=E(e,255),n=E(n,255);var r,i,o=Math.max(t,e,n),a=Math.min(t,e,n),s=(o+a)/2;if(o==a)r=i=0;else{var u=o-a;switch(i=s>.5?u/(2-o-a):u/(o+a),o){case t:r=(e-n)/u+(e<n?6:0);break;case e:r=(n-t)/u+2;break;case n:r=(t-e)/u+4}r/=6}return{h:r,s:i,l:s}}function o(t,e,n){t=E(t,255),e=E(e,255),n=E(n,255);var r,i,o=Math.max(t,e,n),a=Math.min(t,e,n),s=o,u=o-a;if(i=0===o?0:u/o,o==a)r=0;else{switch(o){case t:r=(e-n)/u+(e<n?6:0);break;case e:r=(n-t)/u+2;break;case n:r=(t-e)/u+4}r/=6}return{h:r,s:i,v:s}}function a(t,e,n,r){var i=[O(Math.round(t).toString(16)),O(Math.round(e).toString(16)),O(Math.round(n).toString(16))];return r&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)?i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0):i.join("")}function s(t,e,n,r){return[O(A(r)),O(Math.round(t).toString(16)),O(Math.round(e).toString(16)),O(Math.round(n).toString(16))].join("")}function u(t,e){e=0===e?0:e||10;var n=r(t).toHsl();return n.s-=e/100,n.s=S(n.s),r(n)}function c(t,e){e=0===e?0:e||10;var n=r(t).toHsl();return n.s+=e/100,n.s=S(n.s),r(n)}function l(t){return r(t).desaturate(100)}function f(t,e){e=0===e?0:e||10;var n=r(t).toHsl();return n.l+=e/100,n.l=S(n.l),r(n)}function h(t,e){e=0===e?0:e||10;var n=r(t).toRgb();return n.r=Math.max(0,Math.min(255,n.r-Math.round(-e/100*255))),n.g=Math.max(0,Math.min(255,n.g-Math.round(-e/100*255))),n.b=Math.max(0,Math.min(255,n.b-Math.round(-e/100*255))),r(n)}function d(t,e){e=0===e?0:e||10;var n=r(t).toHsl();return n.l-=e/100,n.l=S(n.l),r(n)}function p(t,e){var n=r(t).toHsl(),i=(n.h+e)%360;return n.h=i<0?360+i:i,r(n)}function g(t){var e=r(t).toHsl();return e.h=(e.h+180)%360,r(e)}function v(t,e){if(isNaN(e)||e<=0)throw new Error("Argument to polyad must be a positive number");for(var n=r(t).toHsl(),i=[r(t)],o=360/e,a=1;a<e;a++)i.push(r({h:(n.h+a*o)%360,s:n.s,l:n.l}));return i}function y(t){var e=r(t).toHsl(),n=e.h;return[r(t),r({h:(n+72)%360,s:e.s,l:e.l}),r({h:(n+216)%360,s:e.s,l:e.l})]}function m(t,e,n){e=e||6,n=n||30;var i=r(t).toHsl(),o=360/n,a=[r(t)];for(i.h=(i.h-(o*e>>1)+720)%360;--e;)i.h=(i.h+o)%360,a.push(r(i));return a}function b(t,e){e=e||6;for(var n=r(t).toHsv(),i=n.h,o=n.s,a=n.v,s=[],u=1/e;e--;)s.push(r({h:i,s:o,v:a})),a=(a+u)%1;return s}r.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var t,e,n,r=this.toRgb();return t=r.r/255,e=r.g/255,n=r.b/255,.2126*(t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4))+.7152*(e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))},setAlpha:function(t){return this._a=_(t),this._roundA=Math.round(100*this._a)/100,this},toHsv:function(){var t=o(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=o(this._r,this._g,this._b),e=Math.round(360*t.h),n=Math.round(100*t.s),r=Math.round(100*t.v);return 1==this._a?"hsv("+e+", "+n+"%, "+r+"%)":"hsva("+e+", "+n+"%, "+r+"%, "+this._roundA+")"},toHsl:function(){var t=i(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=i(this._r,this._g,this._b),e=Math.round(360*t.h),n=Math.round(100*t.s),r=Math.round(100*t.l);return 1==this._a?"hsl("+e+", "+n+"%, "+r+"%)":"hsla("+e+", "+n+"%, "+r+"%, "+this._roundA+")"},toHex:function(t){return a(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return function(t,e,n,r,i){var o=[O(Math.round(t).toString(16)),O(Math.round(e).toString(16)),O(Math.round(n).toString(16)),O(A(r))];return i&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)&&o[3].charAt(0)==o[3].charAt(1)?o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0)+o[3].charAt(0):o.join("")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+")":"rgba("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:Math.round(100*E(this._r,255))+"%",g:Math.round(100*E(this._g,255))+"%",b:Math.round(100*E(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+Math.round(100*E(this._r,255))+"%, "+Math.round(100*E(this._g,255))+"%, "+Math.round(100*E(this._b,255))+"%)":"rgba("+Math.round(100*E(this._r,255))+"%, "+Math.round(100*E(this._g,255))+"%, "+Math.round(100*E(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(w[a(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+s(this._r,this._g,this._b,this._a),n=e,i=this._gradientType?"GradientType = 1, ":"";if(t){var o=r(t);n="#"+s(o._r,o._g,o._b,o._a)}return"progid:DXImageTransform.Microsoft.gradient("+i+"startColorstr="+e+",endColorstr="+n+")"},toString:function(t){var e=!!t;t=t||this._format;var n=!1,r=this._a<1&&this._a>=0;return e||!r||"hex"!==t&&"hex6"!==t&&"hex3"!==t&&"hex4"!==t&&"hex8"!==t&&"name"!==t?("rgb"===t&&(n=this.toRgbString()),"prgb"===t&&(n=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(n=this.toHexString()),"hex3"===t&&(n=this.toHexString(!0)),"hex4"===t&&(n=this.toHex8String(!0)),"hex8"===t&&(n=this.toHex8String()),"name"===t&&(n=this.toName()),"hsl"===t&&(n=this.toHslString()),"hsv"===t&&(n=this.toHsvString()),n||this.toHexString()):"name"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return r(this.toString())},_applyModification:function(t,e){var n=t.apply(null,[this].concat([].slice.call(e)));return this._r=n._r,this._g=n._g,this._b=n._b,this.setAlpha(n._a),this},lighten:function(){return this._applyModification(f,arguments)},brighten:function(){return this._applyModification(h,arguments)},darken:function(){return this._applyModification(d,arguments)},desaturate:function(){return this._applyModification(u,arguments)},saturate:function(){return this._applyModification(c,arguments)},greyscale:function(){return this._applyModification(l,arguments)},spin:function(){return this._applyModification(p,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(m,arguments)},complement:function(){return this._applyCombination(g,arguments)},monochromatic:function(){return this._applyCombination(b,arguments)},splitcomplement:function(){return this._applyCombination(y,arguments)},triad:function(){return this._applyCombination(v,[3])},tetrad:function(){return this._applyCombination(v,[4])}},r.fromRatio=function(e,n){if("object"==t(e)){var i={};for(var o in e)e.hasOwnProperty(o)&&(i[o]="a"===o?e[o]:k(e[o]));e=i}return r(e,n)},r.equals=function(t,e){return!(!t||!e)&&r(t).toRgbString()==r(e).toRgbString()},r.random=function(){return r.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()})},r.mix=function(t,e,n){n=0===n?0:n||50;var i=r(t).toRgb(),o=r(e).toRgb(),a=n/100;return r({r:(o.r-i.r)*a+i.r,g:(o.g-i.g)*a+i.g,b:(o.b-i.b)*a+i.b,a:(o.a-i.a)*a+i.a})},r.readability=function(t,e){var n=r(t),i=r(e);return(Math.max(n.getLuminance(),i.getLuminance())+.05)/(Math.min(n.getLuminance(),i.getLuminance())+.05)},r.isReadable=function(t,e,n){var i,o,a,s,u,c=r.readability(t,e);switch(o=!1,(a=n,s=((a=a||{level:"AA",size:"small"}).level||"AA").toUpperCase(),u=(a.size||"small").toLowerCase(),"AA"!==s&&"AAA"!==s&&(s="AA"),"small"!==u&&"large"!==u&&(u="small"),i={level:s,size:u}).level+i.size){case"AAsmall":case"AAAlarge":o=c>=4.5;break;case"AAlarge":o=c>=3;break;case"AAAsmall":o=c>=7}return o},r.mostReadable=function(t,e,n){var i,o,a,s,u=null,c=0;o=(n=n||{}).includeFallbackColors,a=n.level,s=n.size;for(var l=0;l<e.length;l++)(i=r.readability(t,e[l]))>c&&(c=i,u=r(e[l]));return r.isReadable(t,u,{level:a,size:s})||!o?u:(n.includeFallbackColors=!1,r.mostReadable(t,["#fff","#000"],n))};var x=r.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},w=r.hexNames=function(t){var e={};for(var n in t)t.hasOwnProperty(n)&&(e[t[n]]=n);return e}(x);function _(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function E(t,e){(function(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)})(t)&&(t="100%");var n=function(t){return"string"==typeof t&&-1!=t.indexOf("%")}(t);return t=Math.min(e,Math.max(0,parseFloat(t))),n&&(t=parseInt(t*e,10)/100),Math.abs(t-e)<1e-6?1:t%e/parseFloat(e)}function S(t){return Math.min(1,Math.max(0,t))}function M(t){return parseInt(t,16)}function O(t){return 1==t.length?"0"+t:""+t}function k(t){return t<=1&&(t=100*t+"%"),t}function A(t){return Math.round(255*parseFloat(t)).toString(16)}function C(t){return M(t)/255}var j,I,T,N=(I="[\\s|\\(]+("+(j="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+j+")[,|\\s]+("+j+")\\s*\\)?",T="[\\s|\\(]+("+j+")[,|\\s]+("+j+")[,|\\s]+("+j+")[,|\\s]+("+j+")\\s*\\)?",{CSS_UNIT:new RegExp(j),rgb:new RegExp("rgb"+I),rgba:new RegExp("rgba"+T),hsl:new RegExp("hsl"+I),hsla:new RegExp("hsla"+T),hsv:new RegExp("hsv"+I),hsva:new RegExp("hsva"+T),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function P(t){return!!N.CSS_UNIT.exec(t)}return r},"object"===a(e)&&void 0!==t?t.exports=o():void 0===(i="function"==typeof(r=o)?r.call(e,n,e,t):r)||(t.exports=i)},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var r=function(t,e){var n=t.nodes,r=t.edges,i=[],o={};if(!n)throw new Error("invalid nodes data!");return n&&n.forEach((function(t,e){o[t.id]=e;i.push([])})),r&&r.forEach((function(t){var n=t.source,r=t.target,a=o[n],s=o[r];!a&&0!==a||!s&&0!==s||(i[a][s]=1,e||(i[s][a]=1))})),i};e.default=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FORCE_LAYOUT_TYPE_MAP=e.LAYOUT_MESSAGE=void 0,e.LAYOUT_MESSAGE={RUN:"LAYOUT_RUN",END:"LAYOUT_END",ERROR:"LAYOUT_ERROR",TICK:"LAYOUT_TICK",GPURUN:"GPU_LAYOUT_RUN",GPUEND:"GPU_LAYOUT_END"},e.FORCE_LAYOUT_TYPE_MAP={gForce:!0,force2:!0,fruchterman:!0,forceAtlas2:!0,force:!0,"graphin-force":!0}},function(t,e,n){"use strict";n.r(e),n.d(e,"Graph",(function(){return E})),n.d(e,"GraphWithEvent",(function(){return N})),n.d(e,"algorithm",(function(){return r})),n.d(e,"comparision",(function(){return o})),n.d(e,"essence",(function(){return i})),n.d(e,"generate",(function(){return s}));var r={};n.r(r),n.d(r,"components",(function(){return B})),n.d(r,"dfs",(function(){return F})),n.d(r,"dijkstra",(function(){return X})),n.d(r,"dijkstraAll",(function(){return W})),n.d(r,"findCycles",(function(){return H})),n.d(r,"tarjan",(function(){return V})),n.d(r,"isAcyclic",(function(){return ot})),n.d(r,"postorder",(function(){return at})),n.d(r,"preorder",(function(){return st})),n.d(r,"prim",(function(){return R})),n.d(r,"topsort",(function(){return it})),n.d(r,"floydWarshall",(function(){return ct}));var i={};n.r(i),n.d(i,"isGraph",(function(){return wt})),n.d(i,"isSimpleGraph",(function(){return _t})),n.d(i,"isNullGraph",(function(){return Et})),n.d(i,"hasSelfLoop",(function(){return St}));var o={};n.r(o),n.d(o,"containAllSameEdges",(function(){return vt})),n.d(o,"containAllSameNodes",(function(){return gt})),n.d(o,"containSameEdges",(function(){return ft})),n.d(o,"containSameNodes",(function(){return lt})),n.d(o,"isGraphComplement",(function(){return Mt})),n.d(o,"isGraphOptionSame",(function(){return pt})),n.d(o,"getSameEdges",(function(){return dt})),n.d(o,"getSameNodes",(function(){return ht})),n.d(o,"isGraphSame",(function(){return yt})),n.d(o,"isGraphContainsAnother",(function(){return mt}));var a,s={};function u(t,e){var n=t.get(e)||0;t.set(e,n+1)}function c(t,e){var n=t.get(e);void 0!==n&&((n-=1)>0?t.set(e,n):t.delete(e))}function l(t,e,n,r){var i=String(e),o=String(n);if(!t&&i>o){var s=i;i=o,o=s}return i+a.EDGE_KEY_DELIM+o+a.EDGE_KEY_DELIM+(void 0===r?a.DEFAULT_EDGE_NAME:r)}function f(t,e,n,r){var i=String(e),o=String(n),a={v:e,w:n};if(!t&&i>o){var s=a.v;a.v=a.w,a.w=s}return void 0!==r&&(a.name=r),a}function h(t,e){return l(t,e.v,e.w,e.name)}function d(t){return"function"==typeof t}n.r(s),n.d(s,"getGraphComplement",(function(){return Ot})),function(t){t.DEFAULT_EDGE_NAME="\0",t.GRAPH_NODE="\0",t.EDGE_KEY_DELIM=""}(a||(a={}));var p=function(t){return t.nodes().map((function(e){var n={id:e,value:t.node(e),parent:t.parent(e)};return void 0===n.value&&delete n.value,void 0===n.parent&&delete n.parent,n}))},g=function(t){return t.edges().map((function(e){var n=t.edge(e),r={v:e.v,w:e.w,value:n,name:e.name};return void 0===r.name&&delete r.name,void 0===r.value&&delete r.value,r}))},v=function(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:p(t),edges:g(t),value:t.graph()};return void 0===e.value&&delete e.value,e};function y(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function m(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?y(Object(n),!0).forEach((function(e){b(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):y(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function b(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function x(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function w(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var _={compound:!1,multigraph:!1,directed:!0},E=function(){function t(){var e=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};x(this,t),this.directed=!0,this.multigraph=!1,this.compound=!1,this.GRAPH_NODE=a.GRAPH_NODE,this.label=void 0,this.nodeCountNum=0,this.edgeCountNum=0,this.defaultNodeLabelFn=function(){},this.defaultEdgeLabelFn=function(){},this.parentMap=void 0,this.childrenMap=void 0,this.nodesLabelMap=new Map,this.inEdgesMap=new Map,this.outEdgesMap=new Map,this.predecessorsMap=new Map,this.successorsMap=new Map,this.edgesMap=new Map,this.edgesLabelsMap=new Map,this.isDirected=function(){return e.directed},this.isMultigraph=function(){return e.multigraph},this.isCompound=function(){return e.compound},this.setGraph=function(t){return e.label=t,e},this.graph=function(){return e.label},this.setDefaultNodeLabel=function(t){return d(t)?e.defaultNodeLabelFn=t:e.defaultNodeLabelFn=function(){return t},e},this.nodeCount=function(){return e.nodeCountNum},this.node=function(t){return e.nodesLabelMap.get(t)},this.nodes=function(){return Array.from(e.nodesLabelMap.keys())},this.sources=function(){return e.nodes().filter((function(t){var n;return!(null===(n=e.inEdgesMap.get(t))||void 0===n?void 0:n.size)}))},this.sinks=function(){return e.nodes().filter((function(t){var n;return!(null===(n=e.outEdgesMap.get(t))||void 0===n?void 0:n.size)}))},this.setNodes=function(t,n){return t.map((function(t){return e.setNode(t,n)})),e},this.hasNode=function(t){return e.nodesLabelMap.has(t)},this.checkCompound=function(){if(!e.isCompound())throw new Error("Cannot construct parent-children relations in a non-compound graph")},this.parent=function(t){if(e.isCompound()){var n,r=null===(n=e.parentMap)||void 0===n?void 0:n.get(t);if(r!==e.GRAPH_NODE)return r}},this.removeFromParentsChildList=function(t){var n=e.parentMap.get(t);e.childrenMap.get(n).delete(t)},this.setParent=function(t,n){var r,i;e.checkCompound();for(var o=void 0===n?e.GRAPH_NODE:n,a=e.parent(o);a;){if(t===a)throw new Error("Setting "+n+" as parent of "+t+" would create a cycle");a=e.parent(a)}n&&e.setNode(n),e.setNode(t),e.removeFromParentsChildList(t),null===(r=e.parentMap)||void 0===r||r.set(t,o);var s=e.childrenMap.get(o);return s.set(t,!0),null===(i=e.childrenMap)||void 0===i||i.set(o,s),e},this.children=function(t){var n=void 0===t?e.GRAPH_NODE:t;if(e.isCompound()){var r,i=null===(r=e.childrenMap)||void 0===r?void 0:r.get(n);return i?Array.from(i.keys()):void 0}return n===e.GRAPH_NODE?e.nodes():t&&e.hasNode(t)?[]:void 0},this.predecessors=function(t){var n=e.predecessorsMap.get(t);return n?Array.from(n.keys()):void 0},this.successors=function(t){var n=e.successorsMap.get(t);return n?Array.from(n.keys()):void 0},this.neighbors=function(t){var n;if(e.hasNode(t))return Array.from(new Set(null===(n=e.predecessors(t))||void 0===n?void 0:n.concat(e.successors(t))))},this.isLeaf=function(t){var n,r;return e.isDirected()?!(null===(r=e.successors(t))||void 0===r?void 0:r.length):!(null===(n=e.neighbors(t))||void 0===n?void 0:n.length)},this.filterNodes=function(n){var r=e.directed,i=e.multigraph,o=e.compound,a=new t({directed:r,multigraph:i,compound:o});if(a.setGraph(e.graph()),e.nodes().forEach((function(t){n(t)&&a.setNode(t,e.node(t))})),e.edges().forEach((function(t){a.hasNode(t.v)&&a.hasNode(t.w)&&a.setEdgeObj(t,e.edge(t))})),o){a.nodes().forEach((function(t){a.setParent(t,function(t){for(var n=e.parent(t);void 0!==n&&!a.hasNode(n);)n=e.parent(n);return n}(t))}))}return a},this.setDefaultEdgeLabel=function(t){return d(t)?e.defaultEdgeLabelFn=t:e.defaultEdgeLabelFn=function(){return t},e},this.edgeCount=function(){return e.edgeCountNum},this.setEdgeObj=function(t,n){return e.setEdge(t.v,t.w,n,t.name)},this.setPath=function(t,n){return t.reduce((function(t,r){return e.setEdge(t,r,n),r})),e},this.edgeFromArgs=function(t,n,r){return e.edge({v:t,w:n,name:r})},this.edge=function(t){return e.edgesLabelsMap.get(h(e.isDirected(),t))},this.hasEdge=function(t,n,r){return e.edgesLabelsMap.has(h(e.isDirected(),{v:t,w:n,name:r}))},this.removeEdgeObj=function(t){var n=t.v,r=t.w,i=t.name;return e.removeEdge(n,r,i)},this.edges=function(){return Array.from(e.edgesMap.values())},this.inEdges=function(t,n){var r=e.inEdgesMap.get(t);if(r)return Array.from(r.values()).filter((function(t){return!n||t.v===n}))},this.outEdges=function(t,n){var r=e.outEdgesMap.get(t);if(r)return Array.from(r.values()).filter((function(t){return!n||t.w===n}))},this.nodeEdges=function(t,n){var r;if(e.hasNode(t))return null===(r=e.inEdges(t,n))||void 0===r?void 0:r.concat(e.outEdges(t,n))},this.toJSON=function(){return v(e)},this.nodeInDegree=function(t){var n=e.inEdgesMap.get(t);return n?n.size:0},this.nodeOutDegree=function(t){var n=e.outEdgesMap.get(t);return n?n.size:0},this.nodeDegree=function(t){return e.nodeInDegree(t)+e.nodeOutDegree(t)},this.source=function(t){return t.v},this.target=function(t){return t.w};var r=m(m({},_),n);this.compound=r.compound,this.directed=r.directed,this.multigraph=r.multigraph,this.compound&&(this.parentMap=new Map,this.childrenMap=new Map)}var e,n,r;return e=t,(n=[{key:"setNode",value:function(t,e){var n,r=this.nodesLabelMap,i=this.defaultNodeLabelFn,o=this.isCompound,a=this.parentMap,s=this.childrenMap,u=this.inEdgesMap,c=this.outEdgesMap,l=this.predecessorsMap,f=this.successorsMap;return r.has(t)?(void 0!==e&&r.set(t,e),this):(r.set(t,e||i(t)),o()&&(null==a||a.set(t,this.GRAPH_NODE),null==s||s.set(t,new Map),(null==s?void 0:s.has(this.GRAPH_NODE))||null==s||s.set(this.GRAPH_NODE,new Map),null==s||null===(n=s.get(this.GRAPH_NODE))||void 0===n||n.set(t,!0)),[u,c,l,f].forEach((function(e){return e.set(t,new Map)})),this.nodeCountNum+=1,this)}},{key:"removeNode",value:function(t){var e=this;if(this.hasNode(t)){var n,r,i,o=function(t){e.removeEdge(t.v,t.w,t.name)},a=this.inEdgesMap,s=this.outEdgesMap,u=this.predecessorsMap,c=this.successorsMap,l=this.nodesLabelMap;this.isCompound()&&(this.removeFromParentsChildList(t),null===(n=this.parentMap)||void 0===n||n.delete(t),null===(r=this.children(t))||void 0===r||r.forEach((function(t){return e.setParent(t)})),null===(i=this.childrenMap)||void 0===i||i.delete(t));var f=a.get(t),h=s.get(t);Array.from(f.values()).forEach((function(t){return o(t)})),Array.from(h.values()).forEach((function(t){return o(t)})),l.delete(t),a.delete(t),s.delete(t),u.delete(t),c.delete(t),this.nodeCountNum-=1}return this}},{key:"setEdge",value:function(t,e,n,r){var i,o,a=f(this.isDirected(),t,e,r),s=h(this.isDirected(),a),c=a.v,l=a.w;if(this.edgesLabelsMap.has(s))return this.edgesLabelsMap.set(s,n),this;if(void 0!==r&&!this.isMultigraph())throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(c),this.setNode(l),this.edgesLabelsMap.set(s,n||this.defaultEdgeLabelFn(c,l,r)),Object.freeze(a),this.edgesMap.set(s,a);var d=this.predecessorsMap.get(l),p=this.successorsMap.get(c);return u(d,c),u(p,l),null===(i=this.inEdgesMap.get(l))||void 0===i||i.set(s,a),null===(o=this.outEdgesMap.get(c))||void 0===o||o.set(s,a),this.edgeCountNum+=1,this}},{key:"removeEdge",value:function(t,e,n){var r=l(this.isDirected(),t,e,n);if(this.edgesMap.get(r)){var i=f(this.isDirected(),t,e,n),o=i.v,a=i.w;this.edgesLabelsMap.delete(r),this.edgesMap.delete(r);var s=this.predecessorsMap.get(a),u=this.successorsMap.get(o);c(s,o),c(u,a),this.inEdgesMap.get(a).delete(r),this.outEdgesMap.get(o).delete(r),this.edgeCountNum-=1}return this}}])&&w(e.prototype,n),r&&w(e,r),Object.defineProperty(e,"prototype",{writable:!1}),t}();function S(t){return(S="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function M(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function O(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function k(){return(k="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=A(t,e);if(r){var i=Object.getOwnPropertyDescriptor(r,e);return i.get?i.get.call(arguments.length<3?t:n):i.value}}).apply(this,arguments)}function A(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=T(t)););return t}function C(t,e){return(C=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function j(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=T(t);if(e){var i=T(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return I(this,n)}}function I(t,e){if(e&&("object"===S(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function T(t){return(T=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}E.fromJSON=function(t){var e=new E(t.options);return void 0!==t.value&&e.setGraph(t.value),t.nodes.forEach((function(t){e.setNode(t.id,t.value),t.parent&&e.setParent(t.id,t.parent)})),t.edges.forEach((function(t){e.setEdge(t.v,t.w,t.value,t.name)})),e};var N=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&C(t,e)}(o,t);var e,n,r,i=j(o);function o(){var t;M(this,o);for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return(t=i.call.apply(i,[this].concat(n))).eventPool={},t}return e=o,(n=[{key:"appendEvent",value:function(t,e){this.eventPool[t]||(this.eventPool[t]=[]),this.eventPool[t].push(e)}},{key:"removeEvent",value:function(t,e){if(this.eventPool[t]){var n=this.eventPool[t].indexOf(e);n>-1&&this.eventPool[t].splice(n,1)}}},{key:"emitEvent",value:function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];this.eventPool[t]&&this.eventPool[t].forEach((function(t){t.apply(void 0,n)}))}},{key:"setNode",value:function(t,e){return k(T(o.prototype),"setNode",this).call(this,t,e),this.emitEvent("nodeAdd",t,e),this}},{key:"removeNode",value:function(t){return k(T(o.prototype),"removeNode",this).call(this,t),this.emitEvent("nodeRemove",t),this}},{key:"setEdge",value:function(t,e,n,r){return k(T(o.prototype),"setEdge",this).call(this,t,e,n,r),this.emitEvent("edgeAdd",t,e,n,r),this}},{key:"removeEdge",value:function(t,e,n){return k(T(o.prototype),"removeEdge",this).call(this,t,e,n),this.emitEvent("edgeRemove",t,e,n),this}}])&&O(e.prototype,n),r&&O(e,r),Object.defineProperty(e,"prototype",{writable:!1}),o}(E);function P(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function D(t,e,n){return e&&P(t.prototype,e),n&&P(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}var L=D((function t(){var e=this;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.arr=[],this.keyIndice=new Map,this.size=function(){return e.arr.length},this.keys=function(){return e.arr.map((function(t){return t.key}))},this.has=function(t){return e.keyIndice.has(t)},this.priority=function(t){var n=e.keyIndice.get(t);if(void 0!==n)return e.arr[n].priority},this.swap=function(t,n){var r=e.arr,i=e.keyIndice,o=[r[t],r[n]],a=o[0],s=o[1];r[t]=s,r[n]=a,i.set(a.key,n),i.set(s.key,t)},this.innerDecrease=function(t){for(var n,r=e.arr,i=r[t].priority,o=t;0!==o;){var a;if((null===(a=r[n=o>>1])||void 0===a?void 0:a.priority)<i)break;e.swap(o,n),o=n}},this.heapify=function(t){var n=e.arr,r=t<<1,i=r+1,o=t;r<n.length&&(o=n[r].priority<n[o].priority?r:o,i<n.length&&(o=n[i].priority<n[o].priority?i:o),o!==t&&(e.swap(t,o),e.heapify(o)))},this.min=function(){if(0===e.size())throw new Error("Queue underflow");return e.arr[0].key},this.add=function(t,n){var r=e.keyIndice,i=e.arr;if(!r.has(t)){var o=i.length;return r.set(t,o),i.push({key:t,priority:n}),e.innerDecrease(o),!0}return!1},this.removeMin=function(){e.swap(0,e.arr.length-1);var t=e.arr.pop();return e.keyIndice.delete(t.key),e.heapify(0),t.key},this.decrease=function(t,n){if(!e.has(t))throw new Error("There's no key named ".concat(t));var r=e.keyIndice.get(t);if(n>e.arr[r].priority)throw new Error("New priority is greater than current priority.Key: ".concat(t," Old: + ").concat(e.arr[r].priority," New: ").concat(n));e.arr[r].priority=n,e.innerDecrease(r)}})),R=function(t,e){var n,r=new E,i=new Map,o=new L;function a(t){var r=t.v===n?t.w:t.v,a=o.priority(r);if(void 0!==a){var s=e(t);s<a&&(i.set(r,n),o.decrease(r,s))}}if(0===t.nodeCount())return r;t.nodes().forEach((function(t){o.add(t,Number.POSITIVE_INFINITY),r.setNode(t)})),o.decrease(t.nodes()[0],0);for(var s=!1;o.size()>0;){var u;if(n=o.removeMin(),i.has(n))r.setEdge(n,i.get(n));else{if(s)throw new Error("Input graph is not connected: "+t.graph());s=!0}null===(u=t.nodeEdges(n))||void 0===u||u.forEach(a)}return r},B=function(t){var e=new Set,n=[];return t.nodes().forEach((function(r){for(var i=[],o=[r];o.length>0;){var a,s,u=o.pop();if(!e.has(u))e.add(u),i.push(u),null===(a=t.successors(u))||void 0===a||a.forEach((function(t){return o.push(t)})),null===(s=t.predecessors(u))||void 0===s||s.forEach((function(t){return o.push(t)}))}i.length&&n.push(i)})),n},F=function(t,e,n){var r=Array.isArray(e)?e:[e],i=function(e){return t.isDirected()?t.successors(e):t.neighbors(e)},o=[],a=[];return r.forEach((function(e){if(!t.hasNode(e))throw new Error("Graph does not have node: "+e);!function t(e,n,r,i,o,a){i.includes(n)||(i.push(n),r||a.push(n),o(n).forEach((function(n){return t(e,n,r,i,o,a)})),r&&a.push(n))}(t,e,"post"===n,a,i,o)})),o};function z(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null==n)return;var r,i,o=[],a=!0,s=!1;try{for(n=n.call(t);!(a=(r=n.next()).done)&&(o.push(r.value),!e||o.length!==e);a=!0);}catch(t){s=!0,i=t}finally{try{a||null==n.return||n.return()}finally{if(s)throw i}}return o}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return G(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return G(t,e)}(t,e)||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.")}()}function G(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var Y=function(){return 1},U=function(t,e,n,r){var i,o,a=new Map,s=new L,u=function(t){var e=t.v!==i?t.v:t.w,r=a.get(e),u=n(t),c=o.distance+u;if(u<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+t+" Weight: "+u);c<r.distance&&(r.distance=c,r.predecessor=i,s.decrease(e,c))};for(t.nodes().forEach((function(t){var n=t===e?0:Number.POSITIVE_INFINITY;a.set(t,{distance:n}),s.add(t,n)}));s.size()>0&&(i=s.removeMin(),!(o=a.get(i))||o.distance!==Number.POSITIVE_INFINITY);)r(i).forEach(u);var c={};return Array.from(a.entries()).forEach((function(t){var e=z(t,2),n=e[0],r=e[1];return c[String(n)]=r,c})),c},X=function(t,e,n,r){return U(t,e,n||Y,r||function(e){return t.outEdges(e)})},W=function(t,e,n){var r={};return t.nodes().forEach((function(i){return r[String(i)]=X(t,i,e,n),r})),r},V=function(t){var e=0,n=[],r=new Map,i=[];return t.nodes().forEach((function(o){r.has(o)||function o(a){var s,u={onStack:!0,lowlink:e,index:e};if(r.set(a,u),e+=1,n.push(a),null===(s=t.successors(a))||void 0===s||s.forEach((function(t){var e;if(r.has(t)){if(null===(e=r.get(t))||void 0===e?void 0:e.onStack){var n=r.get(t);u.lowlink=Math.min(u.lowlink,n.index)}}else{o(t);var i=r.get(t);u.lowlink=Math.min(u.lowlink,i.lowlink)}})),u.lowlink===u.index){var c,l=[];do{c=n.pop(),r.get(c).onStack=!1,l.push(c)}while(a!==c);i.push(l)}}(o)})),i},H=function(t){return V(t).filter((function(e){return e.length>1||1===e.length&&t.hasEdge(e[0],e[0])}))};function q(t){return(q="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Z(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function K(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Q(t,e){if(e&&("object"===q(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function $(t){var e="function"==typeof Map?new Map:void 0;return($=function(t){if(null===t||(n=t,-1===Function.toString.call(n).indexOf("[native code]")))return t;var n;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,r)}function r(){return J(t,arguments,nt(this).constructor)}return r.prototype=Object.create(t.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),et(r,t)})(t)}function J(t,e,n){return(J=tt()?Reflect.construct:function(t,e,n){var r=[null];r.push.apply(r,e);var i=new(Function.bind.apply(t,r));return n&&et(i,n.prototype),i}).apply(null,arguments)}function tt(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}function et(t,e){return(et=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function nt(t){return(nt=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var rt=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&et(t,e)}(s,t);var e,n,r,i,o,a=(e=s,n=tt(),function(){var t,r=nt(e);if(n){var i=nt(this).constructor;t=Reflect.construct(r,arguments,i)}else t=r.apply(this,arguments);return Q(this,t)});function s(){return K(this,s),a.apply(this,arguments)}return r=s,i&&Z(r.prototype,i),o&&Z(r,o),Object.defineProperty(r,"prototype",{writable:!1}),r}($(Error));var it=function(t){var e=new Set,n=new Set,r=[];if(t.sinks().forEach((function i(o){if(n.has(o))throw new rt;var a;e.has(o)||(n.add(o),e.add(o),null===(a=t.predecessors(o))||void 0===a||a.forEach(i),n.delete(o),r.push(o))})),e.size!==t.nodeCount())throw new rt;return r},ot=function(t){try{it(t)}catch(t){if(t instanceof rt)return!1;throw t}return!0},at=function(t,e){return F(t,e,"post")},st=function(t,e){return F(t,e,"pre")},ut=function(){return 1};var ct=function(t,e,n){return function(t,e,n){var r={},i=t.nodes();return i.forEach((function(t){var o=String(t);r[o]={},r[o][o]={distance:0},i.forEach((function(e){t!==e&&(r[o][String(e)]={distance:Number.POSITIVE_INFINITY})})),n(t).forEach((function(n){var i=n.v===t?n.w:n.v,a=e(n);r[o][String(i)]={distance:a,predecessor:t}}))})),i.forEach((function(t){var e=String(t),n=r[e];i.forEach((function(t){var o=String(t),a=r[o];i.forEach((function(t){var r=String(t),i=a[e],o=n[r],s=a[r],u=i.distance+o.distance;u<s.distance&&(s.distance=u,s.predecessor=o.predecessor)}))}))})),r}(t,e||ut,n||function(e){return t.outEdges(e)})},lt=function(t,e){for(var n=t.nodes(),r=0;r<n.length;r++){var i=n[r];if(e.hasNode(i))return!0}return!1},ft=function(t,e){for(var n=t.edges(),r=0;r<n.length;r++){var i=n[r];if(e.hasEdge(i.v,i.w,i.name))return!0}return!1},ht=function(t,e){return t.nodes().filter((function(t){return e.hasNode(t)}))},dt=function(t,e){return t.edges().filter((function(t){return e.hasEdge(t.v,t.w,t.name)}))},pt=function(t,e){return t.isCompound()===e.isCompound()&&t.isDirected()===e.isDirected()&&t.isMultigraph()===e.isMultigraph()},gt=function(t,e){return ht(t,e).length===t.nodes().length},vt=function(t,e){return dt(t,e).length===t.edges().length},yt=function(t,e){return pt(t,e)&&t.nodeCount()===e.nodeCount()&>(t,e)&&t.edgeCount()===e.edgeCount()&&vt(t,e)},mt=function(t,e){return gt(t,e)&&vt(t,e)};function bt(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null==n)return;var r,i,o=[],a=!0,s=!1;try{for(n=n.call(t);!(a=(r=n.next()).done)&&(o.push(r.value),!e||o.length!==e);a=!0);}catch(t){s=!0,i=t}finally{try{a||null==n.return||n.return()}finally{if(s)throw i}}return o}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return xt(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return xt(t,e)}(t,e)||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.")}()}function xt(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function wt(t){return t instanceof E}function _t(t){if(t.isMultigraph())return!1;for(var e=t.edges(),n=new Map,r=0;r<e.length;r++){var i=e[r];if(i.v===i.w)return!1;var o=bt([i.v,i.w].sort(),2),a=o[0],s=o[1],u="".concat(a,"-").concat(s);if(n.has(u))return!1;n.set(u,!0)}return!0}function Et(t){return 0===t.nodes().length}function St(t){for(var e=t.edges(),n=0;n<e.length;n++){var r=e[n];if(r.v===r.w)return!0}return!1}var Mt=function(t,e){if(!_t(t)||!_t(e))return!1;if(!gt(t,e))return!1;if(ft(t,e))return!1;var n=t.nodeCount();return t.edgeCount()+e.edgeCount()===n*(n-1)/2},Ot=function(t){if(!_t(t))return null;for(var e=t.nodeCount(),n=new E({compound:t.isCompound(),directed:t.isDirected(),multigraph:t.isMultigraph()}),r=t.nodes(),i=0;i<e;i++){var o=r[i];n.setNode(o,t.node(o));for(var a=i+1;a<e;a++){var s=r[a];t.hasEdge(o,s)||n.setEdge(o,s)}}return n}},function(t,e,n){"use strict";var r=function(){function t(t,e){this.bubbles=!0,this.target=null,this.currentTarget=null,this.delegateTarget=null,this.delegateObject=null,this.defaultPrevented=!1,this.propagationStopped=!1,this.shape=null,this.fromShape=null,this.toShape=null,this.propagationPath=[],this.type=t,this.name=t,this.originalEvent=e,this.timeStamp=e.timeStamp}return t.prototype.preventDefault=function(){this.defaultPrevented=!0,this.originalEvent.preventDefault&&this.originalEvent.preventDefault()},t.prototype.stopPropagation=function(){this.propagationStopped=!0},t.prototype.toString=function(){return"[Event (type="+this.type+")]"},t.prototype.save=function(){},t.prototype.restore=function(){},t}();e.a=r},function(t,e,n){"use strict";var r=n(1),i=n(52),o=n(9),a=function(t){function e(e){var n=t.call(this)||this;n.destroyed=!1;var r=n.getDefaultCfg();return n.cfg=Object(o.i)(r,e),n}return Object(r.__extends)(e,t),e.prototype.getDefaultCfg=function(){return{}},e.prototype.get=function(t){return this.cfg[t]},e.prototype.set=function(t,e){this.cfg[t]=e},e.prototype.destroy=function(){this.cfg={destroyed:!0},this.off(),this.destroyed=!0},e}(i.a);e.a=a},function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var r=null;function i(){if(!r){var t=document.createElement("canvas");t.width=1,t.height=1,r=t.getContext("2d")}return r}},function(t,e,n){"use strict";n.d(e,"a",(function(){return B}));var r={};function i(t){return+t}function o(t){return t*t}function a(t){return t*(2-t)}function s(t){return((t*=2)<=1?t*t:--t*(2-t)+1)/2}function u(t){return t*t*t}function c(t){return--t*t*t+1}function l(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}n.r(r),n.d(r,"easeLinear",(function(){return i})),n.d(r,"easeQuad",(function(){return s})),n.d(r,"easeQuadIn",(function(){return o})),n.d(r,"easeQuadOut",(function(){return a})),n.d(r,"easeQuadInOut",(function(){return s})),n.d(r,"easeCubic",(function(){return l})),n.d(r,"easeCubicIn",(function(){return u})),n.d(r,"easeCubicOut",(function(){return c})),n.d(r,"easeCubicInOut",(function(){return l})),n.d(r,"easePoly",(function(){return d})),n.d(r,"easePolyIn",(function(){return f})),n.d(r,"easePolyOut",(function(){return h})),n.d(r,"easePolyInOut",(function(){return d})),n.d(r,"easeSin",(function(){return m})),n.d(r,"easeSinIn",(function(){return v})),n.d(r,"easeSinOut",(function(){return y})),n.d(r,"easeSinInOut",(function(){return m})),n.d(r,"easeExp",(function(){return _})),n.d(r,"easeExpIn",(function(){return x})),n.d(r,"easeExpOut",(function(){return w})),n.d(r,"easeExpInOut",(function(){return _})),n.d(r,"easeCircle",(function(){return M})),n.d(r,"easeCircleIn",(function(){return E})),n.d(r,"easeCircleOut",(function(){return S})),n.d(r,"easeCircleInOut",(function(){return M})),n.d(r,"easeBounce",(function(){return A})),n.d(r,"easeBounceIn",(function(){return k})),n.d(r,"easeBounceOut",(function(){return A})),n.d(r,"easeBounceInOut",(function(){return C})),n.d(r,"easeBack",(function(){return T})),n.d(r,"easeBackIn",(function(){return j})),n.d(r,"easeBackOut",(function(){return I})),n.d(r,"easeBackInOut",(function(){return T})),n.d(r,"easeElastic",(function(){return D})),n.d(r,"easeElasticIn",(function(){return P})),n.d(r,"easeElasticOut",(function(){return D})),n.d(r,"easeElasticInOut",(function(){return L}));var f=function t(e){function n(t){return Math.pow(t,e)}return e=+e,n.exponent=t,n}(3),h=function t(e){function n(t){return 1-Math.pow(1-t,e)}return e=+e,n.exponent=t,n}(3),d=function t(e){function n(t){return((t*=2)<=1?Math.pow(t,e):2-Math.pow(2-t,e))/2}return e=+e,n.exponent=t,n}(3),p=Math.PI,g=p/2;function v(t){return 1==+t?1:1-Math.cos(t*g)}function y(t){return Math.sin(t*g)}function m(t){return(1-Math.cos(p*t))/2}function b(t){return 1.0009775171065494*(Math.pow(2,-10*t)-.0009765625)}function x(t){return b(1-+t)}function w(t){return 1-b(t)}function _(t){return((t*=2)<=1?b(1-t):2-b(t-1))/2}function E(t){return 1-Math.sqrt(1-t*t)}function S(t){return Math.sqrt(1- --t*t)}function M(t){return((t*=2)<=1?1-Math.sqrt(1-t*t):Math.sqrt(1-(t-=2)*t)+1)/2}var O=7.5625;function k(t){return 1-A(1-t)}function A(t){return(t=+t)<4/11?O*t*t:t<8/11?O*(t-=6/11)*t+3/4:t<10/11?O*(t-=9/11)*t+15/16:O*(t-=21/22)*t+63/64}function C(t){return((t*=2)<=1?1-A(1-t):A(t-1)+1)/2}var j=function t(e){function n(t){return(t=+t)*t*(e*(t-1)+t)}return e=+e,n.overshoot=t,n}(1.70158),I=function t(e){function n(t){return--t*t*((t+1)*e+t)+1}return e=+e,n.overshoot=t,n}(1.70158),T=function t(e){function n(t){return((t*=2)<1?t*t*((e+1)*t-e):(t-=2)*t*((e+1)*t+e)+2)/2}return e=+e,n.overshoot=t,n}(1.70158),N=2*Math.PI,P=function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=N);function i(t){return e*b(- --t)*Math.sin((r-t)/n)}return i.amplitude=function(e){return t(e,n*N)},i.period=function(n){return t(e,n)},i}(1,.3),D=function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=N);function i(t){return 1-e*b(t=+t)*Math.sin((t+r)/n)}return i.amplitude=function(e){return t(e,n*N)},i.period=function(n){return t(e,n)},i}(1,.3),L=function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=N);function i(t){return((t=2*t-1)<0?e*b(-t)*Math.sin((r-t)/n):2-e*b(t)*Math.sin((r+t)/n))/2}return i.amplitude=function(e){return t(e,n*N)},i.period=function(n){return t(e,n)},i}(1,.3),R={};function B(t){return R[t.toLowerCase()]||r[t]}},function(t,e,n){"use strict";var r=function(){function t(){this._events={}}return t.prototype.on=function(t,e,n){return this._events[t]||(this._events[t]=[]),this._events[t].push({callback:e,once:!!n}),this},t.prototype.once=function(t,e){return this.on(t,e,!0)},t.prototype.emit=function(t){for(var e=this,n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];var i=this._events[t]||[],o=this._events["*"]||[],a=function(r){for(var i=r.length,o=0;o<i;o++)if(r[o]){var a=r[o],s=a.callback;a.once&&(r.splice(o,1),0===r.length&&delete e._events[t],i--,o--),s.apply(e,n)}};a(i),a(o)},t.prototype.off=function(t,e){if(t)if(e){for(var n=this._events[t]||[],r=n.length,i=0;i<r;i++)n[i].callback===e&&(n.splice(i,1),r--,i--);0===n.length&&delete this._events[t]}else delete this._events[t];else this._events={};return this},t.prototype.getEvents=function(){return this._events},t}();e.a=r},function(t,e,n){"use strict";var r=n(1),i=n(54),o=n(9),a={};var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.__extends)(e,t),e.prototype.isCanvas=function(){return!1},e.prototype.getBBox=function(){var t=1/0,e=-1/0,n=1/0,r=-1/0,i=this.getChildren().filter((function(t){return t.get("visible")&&(!t.isGroup()||t.isGroup()&&t.getChildren().length>0)}));return i.length>0?Object(o.a)(i,(function(i){var o=i.getBBox(),a=o.minX,s=o.maxX,u=o.minY,c=o.maxY;a<t&&(t=a),s>e&&(e=s),u<n&&(n=u),c>r&&(r=c)})):(t=0,e=0,n=0,r=0),{x:t,y:n,minX:t,minY:n,maxX:e,maxY:r,width:e-t,height:r-n}},e.prototype.getCanvasBBox=function(){var t=1/0,e=-1/0,n=1/0,r=-1/0,i=this.getChildren().filter((function(t){return t.get("visible")&&(!t.isGroup()||t.isGroup()&&t.getChildren().length>0)}));return i.length>0?Object(o.a)(i,(function(i){var o=i.getCanvasBBox(),a=o.minX,s=o.maxX,u=o.minY,c=o.maxY;a<t&&(t=a),s>e&&(e=s),u<n&&(n=u),c>r&&(r=c)})):(t=0,e=0,n=0,r=0),{x:t,y:n,minX:t,minY:n,maxX:e,maxY:r,width:e-t,height:r-n}},e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return e.children=[],e},e.prototype.onAttrChange=function(e,n,r){if(t.prototype.onAttrChange.call(this,e,n,r),"matrix"===e){var i=this.getTotalMatrix();this._applyChildrenMarix(i)}},e.prototype.applyMatrix=function(e){var n=this.getTotalMatrix();t.prototype.applyMatrix.call(this,e);var r=this.getTotalMatrix();r!==n&&this._applyChildrenMarix(r)},e.prototype._applyChildrenMarix=function(t){var e=this.getChildren();Object(o.a)(e,(function(e){e.applyMatrix(t)}))},e.prototype.addShape=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=t[0],r=t[1];Object(o.f)(n)?r=n:r.type=n;var i=a[r.type];i||(i=Object(o.k)(r.type),a[r.type]=i);var s=this.getShapeBase(),u=new s[i](r);return this.add(u),u},e.prototype.addGroup=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n,r=t[0],i=t[1];if(Object(o.d)(r))n=new r(i||{parent:this});else{var a=r||{},s=this.getGroupBase();n=new s(a)}return this.add(n),n},e.prototype.getCanvas=function(){return this.isCanvas()?this:this.get("canvas")},e.prototype.getShape=function(t,e,n){if(!Object(o.b)(this))return null;var r,i=this.getChildren();if(this.isCanvas())r=this._findShape(i,t,e,n);else{var a=[t,e,1];a=this.invertFromMatrix(a),this.isClipped(a[0],a[1])||(r=this._findShape(i,a[0],a[1],n))}return r},e.prototype._findShape=function(t,e,n,r){for(var i=null,a=t.length-1;a>=0;a--){var s=t[a];if(Object(o.b)(s)&&(s.isGroup()?i=s.getShape(e,n,r):s.isHit(e,n)&&(i=s)),i)break}return i},e.prototype.add=function(t){var e=this.getCanvas(),n=this.getChildren(),r=this.get("timeline"),i=t.getParent();i&&function(t,e,n){void 0===n&&(n=!0),n?e.destroy():(e.set("parent",null),e.set("canvas",null)),Object(o.j)(t.getChildren(),e)}(i,t,!1),t.set("parent",this),e&&function t(e,n){if(e.set("canvas",n),e.isGroup()){var r=e.get("children");r.length&&r.forEach((function(e){t(e,n)}))}}(t,e),r&&function t(e,n){if(e.set("timeline",n),e.isGroup()){var r=e.get("children");r.length&&r.forEach((function(e){t(e,n)}))}}(t,r),n.push(t),t.onCanvasChange("add"),this._applyElementMatrix(t)},e.prototype._applyElementMatrix=function(t){var e=this.getTotalMatrix();e&&t.applyMatrix(e)},e.prototype.getChildren=function(){return this.get("children")||[]},e.prototype.sort=function(){var t,e=this.getChildren();Object(o.a)(e,(function(t,e){return t._INDEX=e,t})),e.sort((t=function(t,e){return t.get("zIndex")-e.get("zIndex")},function(e,n){var r=t(e,n);return 0===r?e._INDEX-n._INDEX:r})),this.onCanvasChange("sort")},e.prototype.clear=function(){if(this.set("clearing",!0),!this.destroyed){for(var t=this.getChildren(),e=t.length-1;e>=0;e--)t[e].destroy();this.set("children",[]),this.onCanvasChange("clear"),this.set("clearing",!1)}},e.prototype.destroy=function(){this.get("destroyed")||(this.clear(),t.prototype.destroy.call(this))},e.prototype.getFirst=function(){return this.getChildByIndex(0)},e.prototype.getLast=function(){var t=this.getChildren();return this.getChildByIndex(t.length-1)},e.prototype.getChildByIndex=function(t){return this.getChildren()[t]},e.prototype.getCount=function(){return this.getChildren().length},e.prototype.contain=function(t){return this.getChildren().indexOf(t)>-1},e.prototype.removeChild=function(t,e){void 0===e&&(e=!0),this.contain(t)&&t.remove(e)},e.prototype.findAll=function(t){var e=[],n=this.getChildren();return Object(o.a)(n,(function(n){t(n)&&e.push(n),n.isGroup()&&(e=e.concat(n.findAll(t)))})),e},e.prototype.find=function(t){var e=null,n=this.getChildren();return Object(o.a)(n,(function(n){if(t(n)?e=n:n.isGroup()&&(e=n.find(t)),e)return!1})),e},e.prototype.findById=function(t){return this.find((function(e){return e.get("id")===t}))},e.prototype.findByClassName=function(t){return this.find((function(e){return e.get("className")===t}))},e.prototype.findAllByName=function(t){return this.findAll((function(e){return e.get("name")===t}))},e}(i.a);e.a=s},function(t,e,n){"use strict";var r=n(1),i=n(0),o=n(4),a=n(9),s=n(22),u=n(49),c=o.a.transform,l=["zIndex","capture","visible","type"],f=["repeat"];function h(t,e){var n={},r=e.attrs;for(var i in t)n[i]=r[i];return n}function d(t,e){var n={},r=e.attr();return Object(i.each)(t,(function(t,e){-1!==f.indexOf(e)||Object(i.isEqual)(r[e],t)||(n[e]=t)})),n}function p(t,e){if(e.onFrame)return t;var n=e.startTime,r=e.delay,o=e.duration,a=Object.prototype.hasOwnProperty;return Object(i.each)(t,(function(t){n+r<t.startTime+t.delay+t.duration&&o>t.delay&&Object(i.each)(e.toAttrs,(function(e,n){a.call(t.toAttrs,n)&&(delete t.toAttrs[n],delete t.fromAttrs[n])}))})),t}var g=function(t){function e(e){var n=t.call(this,e)||this;n.attrs={};var r=n.getDefaultAttrs();return Object(i.mix)(r,e.attrs),n.attrs=r,n.initAttrs(r),n.initAnimate(),n}return Object(r.__extends)(e,t),e.prototype.getDefaultCfg=function(){return{visible:!0,capture:!0,zIndex:0}},e.prototype.getDefaultAttrs=function(){return{matrix:this.getDefaultMatrix(),opacity:1}},e.prototype.onCanvasChange=function(t){},e.prototype.initAttrs=function(t){},e.prototype.initAnimate=function(){this.set("animable",!0),this.set("animating",!1)},e.prototype.isGroup=function(){return!1},e.prototype.getParent=function(){return this.get("parent")},e.prototype.getCanvas=function(){return this.get("canvas")},e.prototype.attr=function(){for(var t,e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];var r=e[0],o=e[1];if(!r)return this.attrs;if(Object(i.isObject)(r)){for(var a in r)this.setAttr(a,r[a]);return this.afterAttrsChange(r),this}return 2===e.length?(this.setAttr(r,o),this.afterAttrsChange(((t={})[r]=o,t)),this):this.attrs[r]},e.prototype.isClipped=function(t,e){var n=this.getClip();return n&&!n.isHit(t,e)},e.prototype.setAttr=function(t,e){var n=this.attrs[t];n!==e&&(this.attrs[t]=e,this.onAttrChange(t,e,n))},e.prototype.onAttrChange=function(t,e,n){"matrix"===t&&this.set("totalMatrix",null)},e.prototype.afterAttrsChange=function(t){if(this.cfg.isClipShape){var e=this.cfg.applyTo;e&&e.onCanvasChange("clip")}else this.onCanvasChange("attr")},e.prototype.show=function(){return this.set("visible",!0),this.onCanvasChange("show"),this},e.prototype.hide=function(){return this.set("visible",!1),this.onCanvasChange("hide"),this},e.prototype.setZIndex=function(t){this.set("zIndex",t);var e=this.getParent();return e&&e.sort(),this},e.prototype.toFront=function(){var t=this.getParent();if(t){var e=t.getChildren(),n=(this.get("el"),e.indexOf(this));e.splice(n,1),e.push(this),this.onCanvasChange("zIndex")}},e.prototype.toBack=function(){var t=this.getParent();if(t){var e=t.getChildren(),n=(this.get("el"),e.indexOf(this));e.splice(n,1),e.unshift(this),this.onCanvasChange("zIndex")}},e.prototype.remove=function(t){void 0===t&&(t=!0);var e=this.getParent();e?(Object(a.j)(e.getChildren(),this),e.get("clearing")||this.onCanvasChange("remove")):this.onCanvasChange("remove"),t&&this.destroy()},e.prototype.resetMatrix=function(){this.attr("matrix",this.getDefaultMatrix()),this.onCanvasChange("matrix")},e.prototype.getMatrix=function(){return this.attr("matrix")},e.prototype.setMatrix=function(t){this.attr("matrix",t),this.onCanvasChange("matrix")},e.prototype.getTotalMatrix=function(){var t=this.cfg.totalMatrix;if(!t){var e=this.attr("matrix"),n=this.cfg.parentMatrix;t=n&&e?Object(s.b)(n,e):e||n,this.set("totalMatrix",t)}return t},e.prototype.applyMatrix=function(t){var e=this.attr("matrix"),n=null;n=t&&e?Object(s.b)(t,e):e||t,this.set("totalMatrix",n),this.set("parentMatrix",t)},e.prototype.getDefaultMatrix=function(){return null},e.prototype.applyToMatrix=function(t){var e=this.attr("matrix");return e?Object(s.c)(e,t):t},e.prototype.invertFromMatrix=function(t){var e=this.attr("matrix");if(e){var n=Object(s.a)(e);if(n)return Object(s.c)(n,t)}return t},e.prototype.setClip=function(t){var e=this.getCanvas(),n=null;if(t){var r=this.getShapeBase()[Object(i.upperFirst)(t.type)];r&&(n=new r({type:t.type,isClipShape:!0,applyTo:this,attrs:t.attrs,canvas:e}))}return this.set("clipShape",n),this.onCanvasChange("clip"),n},e.prototype.getClip=function(){var t=this.cfg.clipShape;return t||null},e.prototype.clone=function(){var t=this,e=this.attrs,n={};Object(i.each)(e,(function(t,r){Object(i.isArray)(e[r])?n[r]=function(t){for(var e=[],n=0;n<t.length;n++)Object(i.isArray)(t[n])?e.push([].concat(t[n])):e.push(t[n]);return e}(e[r]):n[r]=e[r]}));var r=new(0,this.constructor)({attrs:n});return Object(i.each)(l,(function(e){r.set(e,t.get(e))})),r},e.prototype.destroy=function(){this.destroyed||(this.attrs={},t.prototype.destroy.call(this))},e.prototype.isAnimatePaused=function(){return this.get("_pause").isPaused},e.prototype.animate=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];if(this.get("timeline")||this.get("canvas")){this.set("animating",!0);var n=this.get("timeline");n||(n=this.get("canvas").get("timeline"),this.set("timeline",n));var r=this.get("animations")||[];n.timer||n.initTimer();var o,a,s,u,c,l=t[0],f=t[1],g=t[2],v=void 0===g?"easeLinear":g,y=t[3],m=void 0===y?i.noop:y,b=t[4],x=void 0===b?0:b;Object(i.isFunction)(l)?(o=l,l={}):Object(i.isObject)(l)&&l.onFrame&&(o=l.onFrame,a=l.repeat),Object(i.isObject)(f)?(f=(c=f).duration,v=c.easing||"easeLinear",x=c.delay||0,a=c.repeat||a||!1,m=c.callback||i.noop,s=c.pauseCallback||i.noop,u=c.resumeCallback||i.noop):(Object(i.isNumber)(m)&&(x=m,m=null),Object(i.isFunction)(v)?(m=v,v="easeLinear"):v=v||"easeLinear");var w=d(l,this),_={fromAttrs:h(w,this),toAttrs:w,duration:f,easing:v,repeat:a,callback:m,pauseCallback:s,resumeCallback:u,delay:x,startTime:n.getTime(),id:Object(i.uniqueId)(),onFrame:o,pathFormatted:!1};r.length>0?r=p(r,_):n.addAnimator(this),r.push(_),this.set("animations",r),this.set("_pause",{isPaused:!1})}},e.prototype.stopAnimate=function(t){var e=this;void 0===t&&(t=!0);var n=this.get("animations");Object(i.each)(n,(function(n){t&&(n.onFrame?e.attr(n.onFrame(1)):e.attr(n.toAttrs)),n.callback&&n.callback()})),this.set("animating",!1),this.set("animations",[])},e.prototype.pauseAnimate=function(){var t=this.get("timeline"),e=this.get("animations"),n=t.getTime();return Object(i.each)(e,(function(t){t._paused=!0,t._pauseTime=n,t.pauseCallback&&t.pauseCallback()})),this.set("_pause",{isPaused:!0,pauseTime:n}),this},e.prototype.resumeAnimate=function(){var t=this.get("timeline").getTime(),e=this.get("animations"),n=this.get("_pause").pauseTime;return Object(i.each)(e,(function(e){e.startTime=e.startTime+(t-n),e._paused=!1,e._pauseTime=null,e.resumeCallback&&e.resumeCallback()})),this.set("_pause",{isPaused:!1}),this.set("animations",e),this},e.prototype.emitDelegation=function(t,e){var n,r=this,o=e.propagationPath;this.getEvents();"mouseenter"===t?n=e.fromShape:"mouseleave"===t&&(n=e.toShape);for(var s=function(t){var s=o[t],c=s.get("name");if(c){if((s.isGroup()||s.isCanvas&&s.isCanvas())&&n&&Object(a.g)(s,n))return"break";Object(i.isArray)(c)?Object(i.each)(c,(function(t){r.emitDelegateEvent(s,t,e)})):u.emitDelegateEvent(s,c,e)}},u=this,c=0;c<o.length;c++){if("break"===s(c))break}},e.prototype.emitDelegateEvent=function(t,e,n){var r=this.getEvents(),i=e+":"+n.type;(r[i]||r["*"])&&(n.name=i,n.currentTarget=t,n.delegateTarget=this,n.delegateObject=t.get("delegateObject"),this.emit(i,n))},e.prototype.translate=function(t,e){void 0===t&&(t=0),void 0===e&&(e=0);var n=this.getMatrix(),r=c(n,[["t",t,e]]);return this.setMatrix(r),this},e.prototype.move=function(t,e){var n=this.attr("x")||0,r=this.attr("y")||0;return this.translate(t-n,e-r),this},e.prototype.moveTo=function(t,e){return this.move(t,e)},e.prototype.scale=function(t,e){var n=this.getMatrix(),r=c(n,[["s",t,e||t]]);return this.setMatrix(r),this},e.prototype.rotate=function(t){var e=this.getMatrix(),n=c(e,[["r",t]]);return this.setMatrix(n),this},e.prototype.rotateAtStart=function(t){var e=this.attr(),n=e.x,r=e.y,i=this.getMatrix(),o=c(i,[["t",-n,-r],["r",t],["t",n,r]]);return this.setMatrix(o),this},e.prototype.rotateAtPoint=function(t,e,n){var r=this.getMatrix(),i=c(r,[["t",-t,-e],["r",n],["t",t,e]]);return this.setMatrix(i),this},e}(u.a);e.a=g},function(t,e,n){"use strict";(function(t){n.d(e,"a",(function(){return h}));var r=function(t,e,n){if(n||2===arguments.length)for(var r,i=0,o=e.length;i<o;i++)!r&&i in e||(r||(r=Array.prototype.slice.call(e,0,i)),r[i]=e[i]);return t.concat(r||Array.prototype.slice.call(e))},i=function(t,e,n){this.name=t,this.version=e,this.os=n,this.type="browser"},o=function(e){this.version=e,this.type="node",this.name="node",this.os=t.platform},a=function(t,e,n,r){this.name=t,this.version=e,this.os=n,this.bot=r,this.type="bot-device"},s=function(){this.type="bot",this.bot=!0,this.name="bot",this.version=null,this.os=null},u=function(){this.type="react-native",this.name="react-native",this.version=null,this.os=null},c=/(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,l=[["aol",/AOLShield\/([0-9\._]+)/],["edge",/Edge\/([0-9\._]+)/],["edge-ios",/EdgiOS\/([0-9\._]+)/],["yandexbrowser",/YaBrowser\/([0-9\._]+)/],["kakaotalk",/KAKAOTALK\s([0-9\.]+)/],["samsung",/SamsungBrowser\/([0-9\.]+)/],["silk",/\bSilk\/([0-9._-]+)\b/],["miui",/MiuiBrowser\/([0-9\.]+)$/],["beaker",/BeakerBrowser\/([0-9\.]+)/],["edge-chromium",/EdgA?\/([0-9\.]+)/],["chromium-webview",/(?!Chrom.*OPR)wv\).*Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["chrome",/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["phantomjs",/PhantomJS\/([0-9\.]+)(:?\s|$)/],["crios",/CriOS\/([0-9\.]+)(:?\s|$)/],["firefox",/Firefox\/([0-9\.]+)(?:\s|$)/],["fxios",/FxiOS\/([0-9\.]+)/],["opera-mini",/Opera Mini.*Version\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)(?:\s|$)/],["opera",/OPR\/([0-9\.]+)(:?\s|$)/],["pie",/^Microsoft Pocket Internet Explorer\/(\d+\.\d+)$/],["pie",/^Mozilla\/\d\.\d+\s\(compatible;\s(?:MSP?IE|MSInternet Explorer) (\d+\.\d+);.*Windows CE.*\)$/],["netfront",/^Mozilla\/\d\.\d+.*NetFront\/(\d.\d)/],["ie",/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/],["ie",/MSIE\s([0-9\.]+);.*Trident\/[4-7].0/],["ie",/MSIE\s(7\.0)/],["bb10",/BB10;\sTouch.*Version\/([0-9\.]+)/],["android",/Android\s([0-9\.]+)/],["ios",/Version\/([0-9\._]+).*Mobile.*Safari.*/],["safari",/Version\/([0-9\._]+).*Safari/],["facebook",/FB[AS]V\/([0-9\.]+)/],["instagram",/Instagram\s([0-9\.]+)/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Mobile/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Gecko\)$/],["curl",/^curl\/([0-9\.]+)$/],["searchbot",/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/]],f=[["iOS",/iP(hone|od|ad)/],["Android OS",/Android/],["BlackBerry OS",/BlackBerry|BB10/],["Windows Mobile",/IEMobile/],["Amazon OS",/Kindle/],["Windows 3.11",/Win16/],["Windows 95",/(Windows 95)|(Win95)|(Windows_95)/],["Windows 98",/(Windows 98)|(Win98)/],["Windows 2000",/(Windows NT 5.0)|(Windows 2000)/],["Windows XP",/(Windows NT 5.1)|(Windows XP)/],["Windows Server 2003",/(Windows NT 5.2)/],["Windows Vista",/(Windows NT 6.0)/],["Windows 7",/(Windows NT 6.1)/],["Windows 8",/(Windows NT 6.2)/],["Windows 8.1",/(Windows NT 6.3)/],["Windows 10",/(Windows NT 10.0)/],["Windows ME",/Windows ME/],["Windows CE",/Windows CE|WinCE|Microsoft Pocket Internet Explorer/],["Open BSD",/OpenBSD/],["Sun OS",/SunOS/],["Chrome OS",/CrOS/],["Linux",/(Linux)|(X11)/],["Mac OS",/(Mac_PowerPC)|(Macintosh)/],["QNX",/QNX/],["BeOS",/BeOS/],["OS/2",/OS\/2/]];function h(e){return e?p(e):"undefined"==typeof document&&"undefined"!=typeof navigator&&"ReactNative"===navigator.product?new u:"undefined"!=typeof navigator?p(navigator.userAgent):void 0!==t&&t.version?new o(t.version.slice(1)):null}function d(t){return""!==t&&l.reduce((function(e,n){var r=n[0],i=n[1];if(e)return e;var o=i.exec(t);return!!o&&[r,o]}),!1)}function p(t){var e=d(t);if(!e)return null;var n=e[0],o=e[1];if("searchbot"===n)return new s;var u=o[1]&&o[1].split(".").join("_").split("_").slice(0,3);u?u.length<3&&(u=r(r([],u,!0),function(t){for(var e=[],n=0;n<t;n++)e.push("0");return e}(3-u.length),!0)):u=[];var l=u.join("."),h=function(t){for(var e=0,n=f.length;e<n;e++){var r=f[e],i=r[0];if(r[1].exec(t))return i}return null}(t),p=c.exec(t);return p&&p[1]?new a(n,l,h,p[1]):new i(n,l,h)}}).call(this,n(123))},function(t,e,n){"use strict";n.d(e,"b",(function(){return c})),n.d(e,"a",(function(){return l}));var r=n(5),i=/^l\s*\(\s*([\d.]+)\s*\)\s*(.*)/i,o=/^r\s*\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*\)\s*(.*)/i,a=/^p\s*\(\s*([axyn])\s*\)\s*(.*)/i,s=/[\d.]+:(#[^\s]+|[^\)]+\))/gi;function u(t,e){var n=t.match(s);Object(r.c)(n,(function(t){var n=t.split(":");e.addColorStop(n[0],n[1])}))}function c(t,e,n){var c=e.getBBox();if(isNaN(c.x)||isNaN(c.y)||isNaN(c.width)||isNaN(c.height))return n;if(Object(r.k)(n)){if("("===n[1]||"("===n[2]){if("l"===n[0])return function(t,e,n){var r,o,a=i.exec(n),s=parseFloat(a[1])%360*(Math.PI/180),c=a[2],l=e.getBBox();s>=0&&s<.5*Math.PI?(r={x:l.minX,y:l.minY},o={x:l.maxX,y:l.maxY}):.5*Math.PI<=s&&s<Math.PI?(r={x:l.maxX,y:l.minY},o={x:l.minX,y:l.maxY}):Math.PI<=s&&s<1.5*Math.PI?(r={x:l.maxX,y:l.maxY},o={x:l.minX,y:l.minY}):(r={x:l.minX,y:l.maxY},o={x:l.maxX,y:l.minY});var f=Math.tan(s),h=f*f,d=(o.x-r.x+f*(o.y-r.y))/(h+1)+r.x,p=f*(o.x-r.x+f*(o.y-r.y))/(h+1)+r.y,g=t.createLinearGradient(r.x,r.y,d,p);return u(c,g),g}(t,e,n);if("r"===n[0])return function(t,e,n){var r=o.exec(n),i=parseFloat(r[1]),a=parseFloat(r[2]),c=parseFloat(r[3]),l=r[4];if(0===c){var f=l.match(s);return f[f.length-1].split(":")[1]}var h=e.getBBox(),d=h.maxX-h.minX,p=h.maxY-h.minY,g=Math.sqrt(d*d+p*p)/2,v=t.createRadialGradient(h.minX+d*i,h.minY+p*a,0,h.minX+d/2,h.minY+p/2,c*g);return u(l,v),v}(t,e,n);if("p"===n[0])return function(t,e,n){if(e.get("patternSource")&&e.get("patternSource")===n)return e.get("pattern");var r,i,o=a.exec(n),s=o[1],u=o[2];function c(){r=t.createPattern(i,s),e.set("pattern",r),e.set("patternSource",n)}switch(s){case"a":s="repeat";break;case"x":s="repeat-x";break;case"y":s="repeat-y";break;case"n":s="no-repeat";break;default:s="no-repeat"}return i=new Image,u.match(/^data:/i)||(i.crossOrigin="Anonymous"),i.src=u,i.complete?c():(i.onload=c,i.src=i.src),r}(t,e,n)}return n}return n instanceof CanvasPattern?n:void 0}function l(t){var e=0,n=0,i=0,o=0;return Object(r.g)(t)?1===t.length?e=n=i=o=t[0]:2===t.length?(e=i=t[0],n=o=t[1]):3===t.length?(e=t[0],n=o=t[1],i=t[2]):(e=t[0],n=t[1],i=t[2],o=t[3]):e=n=i=o=t,[e,n,i,o]}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MESSAGE=e.ALGORITHM=void 0;e.ALGORITHM={pageRank:"pageRank",breadthFirstSearch:"breadthFirstSearch",connectedComponent:"connectedComponent",depthFirstSearch:"depthFirstSearch",detectCycle:"detectCycle",detectDirectedCycle:"detectDirectedCycle",detectAllCycles:"detectAllCycles",detectAllDirectedCycle:"detectAllDirectedCycle",detectAllUndirectedCycle:"detectAllUndirectedCycle",dijkstra:"dijkstra",findAllPath:"findAllPath",findShortestPath:"findShortestPath",floydWarshall:"floydWarshall",getAdjMatrix:"getAdjMatrix",getDegree:"getDegree",getInDegree:"getInDegree",getNeighbors:"getNeighbors",getOutDegree:"getOutDegree",labelPropagation:"labelPropagation",louvain:"louvain",GADDI:"GADDI",minimumSpanningTree:"minimumSpanningTree",SUCCESS:"SUCCESS",FAILURE:"FAILURE"};e.MESSAGE={SUCCESS:"SUCCESS",FAILURE:"FAILURE"}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var r=n(1),i=n(0),o=n(27),a=function(t,e,n,r){var i=t.nodes,a=void 0===i?[]:i,u=t.edges,c=void 0===u?[]:u,l=[],f={},h={},d={};a.forEach((function(t,n){var r=t.id;l.push(r),h[r]=1/0,r===e&&(h[r]=0)}));for(var p=a.length,g=function(t){var e=function(t,e,n){for(var r,i=1/0,o=0;o<e.length;o++){var a=e[o].id;!n[a]&&t[a]<=i&&(i=t[a],r=e[o])}return r}(h,a,f),i=e.id;if(f[i]=!0,h[i]===1/0)return"continue";(n?(0,o.getOutEdgesNodeId)(i,c):(0,o.getEdgesByNodeId)(i,c)).forEach((function(t){var n=t.target,o=t.source,a=n===i?o:n,s=r&&t[r]?t[r]:1;h[a]>h[e.id]+s?(h[a]=h[e.id]+s,d[a]=[e.id]):h[a]===h[e.id]+s&&d[a].push(e.id)}))},v=0;v<p;v++)g();d[e]=[e];var y={};for(var m in h)h[m]!==1/0&&s(e,m,d,y);var b={};for(var m in y)b[m]=y[m][0];return{length:h,path:b,allPath:y}};function s(t,e,n,o){if(t===e)return[t];if(o[e])return o[e];for(var a=[],u=0,c=n[e];u<c.length;u++){var l=s(t,c[u],n,o);if(!l)return;for(var f=0,h=l;f<h.length;f++){var d=h[f];(0,i.isArray)(d)?a.push((0,r.__spreadArray)((0,r.__spreadArray)([],d,!0),[e],!1)):a.push([d,e])}}return o[e]=a,o[e]}e.default=a},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.toNumber=e.isNaN=e.isNumber=void 0;e.isNumber=function(t){return"number"==typeof t};e.isNaN=function(t){return Number.isNaN(Number(t))};e.toNumber=function(t){var n=parseFloat(t);return(0,e.isNaN)(n)?t:n}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getCoreNodeAndRelativeLeafNodes=e.getAvgNodePosition=e.getLayoutBBox=e.traverseTreeUp=e.scaleMatrix=e.getAdjMatrix=e.floydWarshall=e.getDegreeMap=e.getDegree=e.getEdgeTerminal=void 0;var r=n(80),i=n(59),o=n(81);e.getEdgeTerminal=function(t,e){var n=t[e];return(0,o.isObject)(n)?n.cell:n};e.getDegree=function(t,n,r){for(var i=[],o=0;o<t;o++)i[o]={in:0,out:0,all:0};return r?(r.forEach((function(t){var r=(0,e.getEdgeTerminal)(t,"source"),o=(0,e.getEdgeTerminal)(t,"target");r&&i[n[r]]&&(i[n[r]].out+=1,i[n[r]].all+=1),o&&i[n[o]]&&(i[n[o]].in+=1,i[n[o]].all+=1)})),i):i};e.getDegreeMap=function(t,n){var r={};return t.forEach((function(t){r[t.id]={in:0,out:0,all:0}})),n?(n.forEach((function(t){var n=(0,e.getEdgeTerminal)(t,"source"),i=(0,e.getEdgeTerminal)(t,"target");n&&(r[n].out+=1,r[n].all+=1),i&&(r[i].in+=1,r[i].all+=1)})),r):r};e.floydWarshall=function(t){for(var e=[],n=t.length,r=0;r<n;r+=1){e[r]=[];for(var i=0;i<n;i+=1)r===i?e[r][i]=0:0!==t[r][i]&&t[r][i]?e[r][i]=t[r][i]:e[r][i]=1/0}for(var o=0;o<n;o+=1)for(r=0;r<n;r+=1)for(i=0;i<n;i+=1)e[r][i]>e[r][o]+e[o][i]&&(e[r][i]=e[r][o]+e[o][i]);return e};e.getAdjMatrix=function(t,n){var r=t.nodes,i=t.edges,o=[],a={};if(!r)throw new Error("invalid nodes data!");return r&&r.forEach((function(t,e){a[t.id]=e;o.push([])})),null==i||i.forEach((function(t){var r=(0,e.getEdgeTerminal)(t,"source"),i=(0,e.getEdgeTerminal)(t,"target"),s=a[r],u=a[i];void 0!==s&&void 0!==u&&(o[s][u]=1,n||(o[u][s]=1))})),o};e.scaleMatrix=function(t,e){var n=[];return t.forEach((function(t){var r=[];t.forEach((function(t){r.push(t*e)})),n.push(r)})),n};var a=function(t,e){if(t&&t.children)for(var n=t.children.length-1;n>=0;n--)if(!a(t.children[n],e))return;return!!e(t)};e.traverseTreeUp=function(t,e){"function"==typeof e&&a(t,e)};e.getLayoutBBox=function(t){var e=1/0,n=1/0,o=-1/0,a=-1/0;return t.forEach((function(t){var s=t.size;(0,r.isArray)(s)?1===s.length&&(s=[s[0],s[0]]):(0,i.isNumber)(s)?s=[s,s]:(void 0===s||isNaN(s))&&(s=[30,30]);var u=[s[0]/2,s[1]/2],c=t.x-u[0],l=t.x+u[0],f=t.y-u[1],h=t.y+u[1];e>c&&(e=c),n>f&&(n=f),o<l&&(o=l),a<h&&(a=h)})),{minX:e,minY:n,maxX:o,maxY:a}};e.getAvgNodePosition=function(t){var e={x:0,y:0};t.forEach((function(t){e.x+=t.x||0,e.y+=t.y||0}));var n=t.length||1;return{x:e.x/n,y:e.y/n}};var s=function(t,e,n){var r,i;return"source"===t?(null===(r=null==n?void 0:n.find((function(t){return t.target===e.id})))||void 0===r?void 0:r.source)||{}:(null===(i=null==n?void 0:n.find((function(t){return t.source===e.id})))||void 0===i?void 0:i.target)||{}},u=function(t,e,n){var r=[];switch(t){case"source":r=null==n?void 0:n.filter((function(t){return t.source===e.id})).map((function(t){return t.target}));break;case"target":r=null==n?void 0:n.filter((function(t){return t.target===e.id})).map((function(t){return t.source}));break;case"both":r=null==n?void 0:n.filter((function(t){return t.source===e.id})).map((function(t){return t.target})).concat(null==n?void 0:n.filter((function(t){return t.target===e.id})).map((function(t){return t.source})))}var i=new Set(r);return Array.from(i)};e.getCoreNodeAndRelativeLeafNodes=function(t,e,n,r,i,o){var a=i[e.id],c=a.in,l=a.out,f=e,h=[];return 0===c?(f=s("source",e,n),h=u("both",f,n).map((function(t){return o[t]}))):0===l&&(f=s("target",e,n),h=u("both",f,n).map((function(t){return o[t]}))),{coreNode:f,relativeLeafNodes:h=h.filter((function(t){return i[t.id]&&(0===i[t.id].in||0===i[t.id].out)})),sameTypeLeafNodes:function(t,e,n,r,i){var o=n[e]||"",a=(null==r?void 0:r.filter((function(t){return t[e]===o})))||[];return"leaf"===t&&(a=a.filter((function(t){var e,n;return 0===(null===(e=i[t.id])||void 0===e?void 0:e.in)||0===(null===(n=i[t.id])||void 0===n?void 0:n.out)}))),a}(t,r,e,h,i)}}},function(t,e,n){"use strict";n.r(e);var r=n(112);n.d(e,"quadtree",(function(){return r.a}))},function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.DagreLayout=void 0;var a=o(n(158)),s=n(15),u=n(18),c=n(35),l=function(t){function e(e){var n=t.call(this)||this;return n.rankdir="TB",n.nodesep=50,n.ranksep=50,n.controlPoints=!1,n.sortByCombo=!1,n.edgeLabelSpace=!0,n.radial=!1,n.nodes=[],n.edges=[],n.onLayoutEnd=function(){},n.layoutNode=function(t){var e=n.nodes.find((function(e){return e.id===t}));return!e||!1!==e.layout},n.updateCfg(e),n}return i(e,t),e.prototype.getDefaultCfg=function(){return{rankdir:"TB",align:void 0,nodeSize:void 0,nodesepFunc:void 0,ranksepFunc:void 0,nodesep:50,ranksep:50,controlPoints:!1,radial:!1,focusNode:null}},e.prototype.execute=function(){var t,e,n,r,i=this,o=this,u=o.nodes,l=o.nodeSize,h=o.rankdir,d=o.combos,p=o.begin,g=o.radial,v=o.comboEdges,y=void 0===v?[]:v,m=o.vedges,b=void 0===m?[]:m;if(u){var x=o.edges||[],w=new c.Graph({multigraph:!0,compound:!0});o.nodeMap={};var _={};u.forEach((function(t){o.nodeMap[t.id]=t,t.comboId&&(_[t.comboId]=_[t.comboId]||[],_[t.comboId].push(t.id))}));var E,S=[],M={};(null===(t=o.nodeOrder)||void 0===t?void 0:t.length)?(o.nodeOrder.forEach((function(t){M[t]=!0,S.push(o.nodeMap[t])})),u.forEach((function(t){M[t.id]||S.push(t)}))):S=u,E=l?(0,s.isArray)(l)?function(){return l}:function(){return[l,l]}:function(t){return t.size?(0,s.isArray)(t.size)?t.size:(0,s.isObject)(t.size)?[t.size.width||40,t.size.height||40]:[t.size,t.size]:[40,40]};var O=(0,s.getFunc)(o.ranksep,50,o.ranksepFunc),k=(0,s.getFunc)(o.nodesep,50,o.nodesepFunc),A=k,C=O;"LR"!==h&&"RL"!==h||(A=O,C=k),w.setDefaultEdgeLabel((function(){return{}})),w.setGraph(o);var j={};this.sortByCombo&&d&&d.forEach((function(t){if(j[t.id]=t,t.collapsed){var e=E(t),n=C(t),r=A(t),i=e[0]+2*r,o=e[1]+2*n;w.setNode(t.id,{width:i,height:o})}t.parentId&&(j[t.parentId]||w.setNode(t.parentId,{}),w.setParent(t.id,t.parentId))})),S.filter((function(t){return!1!==t.layout})).forEach((function(t){var e=E(t),n=C(t),r=A(t),o=e[0]+2*r,a=e[1]+2*n,u=t.layer;(0,s.isNumber)(u)?w.setNode(t.id,{width:o,height:a,layer:u}):w.setNode(t.id,{width:o,height:a}),i.sortByCombo&&t.comboId&&(j[t.comboId]||(j[t.comboId]={id:t.comboId},w.setNode(t.comboId,{})),w.setParent(t.id,t.comboId))})),x.forEach((function(t){var e=(0,s.getEdgeTerminal)(t,"source"),n=(0,s.getEdgeTerminal)(t,"target");i.layoutNode(e)&&i.layoutNode(n)&&w.setEdge(e,n,{weight:t.weight||1})})),null===(e=null==y?void 0:y.concat(b||[]))||void 0===e||e.forEach((function(t){var e,n,r=t.source,i=t.target,o=(null===(e=j[r])||void 0===e?void 0:e.collapsed)?[r]:_[r]||[r],a=(null===(n=j[i])||void 0===n?void 0:n.collapsed)?[i]:_[i]||[i];o.forEach((function(e){a.forEach((function(n){w.setEdge(e,n,{weight:t.weight||1})}))}))}));var I=void 0;(null===(n=o.preset)||void 0===n?void 0:n.nodes)&&(I=new c.Graph({multigraph:!0,compound:!0}),o.preset.nodes.forEach((function(t){null==I||I.setNode(t.id,t)}))),a.default.layout(w,{prevGraph:I,edgeLabelSpace:o.edgeLabelSpace,keepNodeOrder:Boolean(!!o.nodeOrder),nodeOrder:o.nodeOrder});var T=[0,0];if(p){var N=1/0,P=1/0;w.nodes().forEach((function(t){var e=w.node(t);N>e.x&&(N=e.x),P>e.y&&(P=e.y)})),w.edges().forEach((function(t){var e;null===(e=w.edge(t).points)||void 0===e||e.forEach((function(t){N>t.x&&(N=t.x),P>t.y&&(P=t.y)}))})),T[0]=p[0]-N,T[1]=p[1]-P}var D="LR"===h||"RL"===h;if(g){var L=this.focusNode,R=this.ranksep,B=this.getRadialPos,F=(0,s.isString)(L)?L:null==L?void 0:L.id,z=F?null===(r=w.node(F))||void 0===r?void 0:r._rank:0,G=[],Y=D?"y":"x",U=D?"height":"width",X=1/0,W=-1/0;w.nodes().forEach((function(t){var e=w.node(t);if(o.nodeMap[t]){var n=k(o.nodeMap[t]);if(0===z)G[e._rank]||(G[e._rank]={nodes:[],totalWidth:0,maxSize:-1/0}),G[e._rank].nodes.push(t),G[e._rank].totalWidth+=2*n+e[U],G[e._rank].maxSize<Math.max(e.width,e.height)&&(G[e._rank].maxSize=Math.max(e.width,e.height));else{var r=e._rank-z;if(0===r)G[r]||(G[r]={nodes:[],totalWidth:0,maxSize:-1/0}),G[r].nodes.push(t),G[r].totalWidth+=2*n+e[U],G[r].maxSize<Math.max(e.width,e.height)&&(G[r].maxSize=Math.max(e.width,e.height));else{var i=Math.abs(r);G[i]||(G[i]={left:[],right:[],totalWidth:0,maxSize:-1/0}),G[i].totalWidth+=2*n+e[U],G[i].maxSize<Math.max(e.width,e.height)&&(G[i].maxSize=Math.max(e.width,e.height)),r<0?G[i].left.push(t):G[i].right.push(t)}}var a=e[Y]-e[U]/2-n,s=e[Y]+e[U]/2+n;a<X&&(X=a),s>W&&(W=s)}}));var V=R||50,H={},q=(W-X)/.9,Z=[.5*(X+W-q),.5*(X+W+q)],K=function(t,e,n,r){void 0===n&&(n=-1/0),void 0===r&&(r=[0,1]);var i=n;return t.forEach((function(t){var n=w.node(t);H[t]=e;var a=B(n[Y],Z,q,e,r),s=a.x,u=a.y;if(o.nodeMap[t]){o.nodeMap[t].x=s+T[0],o.nodeMap[t].y=u+T[1],o.nodeMap[t]._order=n._order;var c=O(o.nodeMap[t]);i<c&&(i=c)}})),i},Q=!0;G.forEach((function(t){var e,n,r,i,a,s,u;if((null===(e=null==t?void 0:t.nodes)||void 0===e?void 0:e.length)||(null===(n=null==t?void 0:t.left)||void 0===n?void 0:n.length)||(null===(r=null==t?void 0:t.right)||void 0===r?void 0:r.length)){if(Q&&1===t.nodes.length){var c=t.nodes[0];if(!o.nodeMap[c])return;return o.nodeMap[c].x=T[0],o.nodeMap[c].y=T[1],H[t.nodes[0]]=0,V=O(o.nodeMap[c]),void(Q=!1)}V=Math.max(V,t.totalWidth/(2*Math.PI));var l=-1/0;if(0===z||(null===(i=t.nodes)||void 0===i?void 0:i.length))l=K(t.nodes,V,l,[0,1]);else{var f=(null===(a=t.left)||void 0===a?void 0:a.length)/((null===(s=t.left)||void 0===s?void 0:s.length)+(null===(u=t.right)||void 0===u?void 0:u.length));l=K(t.left,V,l,[0,f]),l=K(t.right,V,l,[f+.05,1])}V+=l,Q=!1,t.maxSize}})),w.edges().forEach((function(t){var e,n,r,i=w.edge(t),a=x.findIndex((function(e){var n=(0,s.getEdgeTerminal)(e,"source"),r=(0,s.getEdgeTerminal)(e,"target");return n===t.v&&r===t.w}));if(!(a<=-1)&&o.edgeLabelSpace&&o.controlPoints&&"loop"!==x[a].type){var u="x"===Y?"y":"x",c=null===(e=null==i?void 0:i.points)||void 0===e?void 0:e.slice(1,i.points.length-1),l=[],f=null===(n=w.node(t.v))||void 0===n?void 0:n[u],h=f-(null===(r=w.node(t.w))||void 0===r?void 0:r[u]),d=H[t.v],p=d-H[t.w];null==c||c.forEach((function(t){var e=(t[u]-f)/h*p+d,n=B(t[Y],Z,q,e);l.push({x:n.x+T[0],y:n.y+T[1]})})),x[a].controlPoints=l}}))}else{var $=new Set,J="BT"===h||"RL"===h?function(t,e){return e-t}:function(t,e){return t-e};w.nodes().forEach((function(t){var e=w.node(t);if(e){var n=i.nodeMap[t];n||(n=null==d?void 0:d.find((function(e){return e.id===t}))),n&&(n.x=e.x+T[0],n.y=e.y+T[1],n._order=e._order,$.add(D?n.x:n.y))}}));var tt=Array.from($).sort(J),et=D?function(t,e){return t.x!==e.x}:function(t,e){return t.y!==e.y},nt=D?function(t,e,n){var r=Math.max(e.y,n.y),i=Math.min(e.y,n.y);return t.filter((function(t){return t.y<=r&&t.y>=i}))}:function(t,e,n){var r=Math.max(e.x,n.x),i=Math.min(e.x,n.x);return t.filter((function(t){return t.x<=r&&t.x>=i}))};w.edges().forEach((function(t){var e,n=w.edge(t),r=x.findIndex((function(e){var n=(0,s.getEdgeTerminal)(e,"source"),r=(0,s.getEdgeTerminal)(e,"target");return n===t.v&&r===t.w}));if(!(r<=-1)&&o.edgeLabelSpace&&o.controlPoints&&"loop"!==x[r].type){null===(e=null==n?void 0:n.points)||void 0===e||e.forEach((function(t){t.x+=T[0],t.y+=T[1]}));var i=o.nodeMap[t.v],a=o.nodeMap[t.w];x[r].controlPoints=f(null==n?void 0:n.points,i,a,tt,D,et,nt)}}))}return o.onLayoutEnd&&o.onLayoutEnd(),{nodes:u,edges:x}}},e.prototype.getRadialPos=function(t,e,n,r,i){void 0===i&&(i=[0,1]);var o=(t-e[0])/n,a=2*(o=o*(i[1]-i[0])+i[0])*Math.PI;return{x:Math.cos(a)*r,y:Math.sin(a)*r}},e.prototype.getType=function(){return"dagre"},e}(u.Base);e.DagreLayout=l;var f=function(t,e,n,r,i,o,a){var s=(null==t?void 0:t.slice(1,t.length-1))||[];if(e&&n){var u=e.x,c=e.y,l=n.x,f=n.y;if(i&&(u=e.y,c=e.x,l=n.y,f=n.x),f!==c&&u!==l){var h=r.indexOf(c),d=r[h+1];if(d){var p=s[0],g=i?{x:(c+d)/2,y:(null==p?void 0:p.y)||l}:{x:(null==p?void 0:p.x)||l,y:(c+d)/2};p&&!o(p,g)||s.unshift(g)}var v=r.indexOf(f),y=Math.abs(v-h);if(1===y)(s=a(s,e,n)).length||s.push(i?{x:(c+f)/2,y:u}:{x:u,y:(c+f)/2});else if(y>1){var m=r[v-1];if(m){var b=s[s.length-1],x=i?{x:(f+m)/2,y:(null==b?void 0:b.y)||l}:{x:(null==b?void 0:b.x)||u,y:(f+m)/2};b&&!o(b,x)||s.push(x)}}}}return s}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.slack=e.longestPathWithLayer=e.longestPath=void 0;var r=function(t){var e,n={},r=function(e){var i,o,a=t.node(e);return a?n[e]?a.rank:(n[e]=!0,null===(i=t.outEdges(e))||void 0===i||i.forEach((function(e){var n=r(e.w)-t.edge(e).minlen;n&&(void 0===o||n<o)&&(o=n)})),o||(o=0),a.rank=o,o):0};null===(e=t.sources())||void 0===e||e.forEach((function(t){return r(t)}))};e.longestPath=r;var i=function(t){var e,n,r={},i=function(e){var o,a,s=t.node(e);return s?r[e]?s.rank:(r[e]=!0,null===(o=t.outEdges(e))||void 0===o||o.forEach((function(e){var n=i(e.w)-t.edge(e).minlen;n&&(void 0===a||n<a)&&(a=n)})),a||(a=0),(void 0===n||a<n)&&(n=a),s.rank=a,a):0};null===(e=t.sources())||void 0===e||e.forEach((function(e){t.node(e)&&i(e)})),void 0===n&&(n=0);var o={},a=function(e,n){var r,i=t.node(e),s=isNaN(i.layer)?n:i.layer;(void 0===i.rank||i.rank<s)&&(i.rank=s),o[e]||(o[e]=!0,null===(r=t.outEdges(e))||void 0===r||r.map((function(e){a(e.w,s+t.edge(e).minlen)})))};t.nodes().forEach((function(e){var r=t.node(e);r&&(isNaN(r.layer)?r.rank-=n:a(e,r.layer))}))};e.longestPathWithLayer=i;var o=function(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen};e.slack=o,e.default={longestPath:r,longestPathWithLayer:i,slack:o}},function(t,e,n){var r=n(98),i=n(189),o=n(190),a=r?r.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":a&&a in Object(t)?i(t):o(t)}},function(t,e){function n(t){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}t.exports=function(t){return null!=t&&"object"==n(t)}},function(t,e,n){"use strict";n.r(e),n.d(e,"forceCenter",(function(){return r})),n.d(e,"forceCollide",(function(){return c})),n.d(e,"forceLink",(function(){return d})),n.d(e,"forceManyBody",(function(){return X})),n.d(e,"forceRadial",(function(){return W})),n.d(e,"forceSimulation",(function(){return U})),n.d(e,"forceX",(function(){return V})),n.d(e,"forceY",(function(){return H}));var r=function(t,e){var n,r=1;function i(){var i,o,a=n.length,s=0,u=0;for(i=0;i<a;++i)s+=(o=n[i]).x,u+=o.y;for(s=(s/a-t)*r,u=(u/a-e)*r,i=0;i<a;++i)(o=n[i]).x-=s,o.y-=u}return null==t&&(t=0),null==e&&(e=0),i.initialize=function(t){n=t},i.x=function(e){return arguments.length?(t=+e,i):t},i.y=function(t){return arguments.length?(e=+t,i):e},i.strength=function(t){return arguments.length?(r=+t,i):r},i},i=n(112),o=function(t){return function(){return t}},a=function(t){return 1e-6*(t()-.5)};function s(t){return t.x+t.vx}function u(t){return t.y+t.vy}var c=function(t){var e,n,r,c=1,l=1;function f(){for(var t,o,f,d,p,g,v,y=e.length,m=0;m<l;++m)for(o=Object(i.a)(e,s,u).visitAfter(h),t=0;t<y;++t)f=e[t],g=n[f.index],v=g*g,d=f.x+f.vx,p=f.y+f.vy,o.visit(b);function b(t,e,n,i,o){var s=t.data,u=t.r,l=g+u;if(!s)return e>d+l||i<d-l||n>p+l||o<p-l;if(s.index>f.index){var h=d-s.x-s.vx,y=p-s.y-s.vy,m=h*h+y*y;m<l*l&&(0===h&&(m+=(h=a(r))*h),0===y&&(m+=(y=a(r))*y),m=(l-(m=Math.sqrt(m)))/m*c,f.vx+=(h*=m)*(l=(u*=u)/(v+u)),f.vy+=(y*=m)*l,s.vx-=h*(l=1-l),s.vy-=y*l)}}}function h(t){if(t.data)return t.r=n[t.data.index];for(var e=t.r=0;e<4;++e)t[e]&&t[e].r>t.r&&(t.r=t[e].r)}function d(){if(e){var r,i,o=e.length;for(n=new Array(o),r=0;r<o;++r)i=e[r],n[i.index]=+t(i,r,e)}}return"function"!=typeof t&&(t=o(null==t?1:+t)),f.initialize=function(t,n){e=t,r=n,d()},f.iterations=function(t){return arguments.length?(l=+t,f):l},f.strength=function(t){return arguments.length?(c=+t,f):c},f.radius=function(e){return arguments.length?(t="function"==typeof e?e:o(+e),d(),f):t},f};function l(t){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function f(t){return t.index}function h(t,e){var n=t.get(e);if(!n)throw new Error("node not found: "+e);return n}var d=function(t){var e,n,r,i,s,u,c=f,d=function(t){return 1/Math.min(i[t.source.index],i[t.target.index])},p=o(30),g=1;function v(r){for(var i=0,o=t.length;i<g;++i)for(var c,l,f,h,d,p,v,y=0;y<o;++y)l=(c=t[y]).source,h=(f=c.target).x+f.vx-l.x-l.vx||a(u),d=f.y+f.vy-l.y-l.vy||a(u),h*=p=((p=Math.sqrt(h*h+d*d))-n[y])/p*r*e[y],d*=p,f.vx-=h*(v=s[y]),f.vy-=d*v,l.vx+=h*(v=1-v),l.vy+=d*v}function y(){if(r){var o,a,u=r.length,f=t.length,d=new Map(r.map((function(t,e){return[c(t,e,r),t]})));for(o=0,i=new Array(u);o<f;++o)(a=t[o]).index=o,"object"!==l(a.source)&&(a.source=h(d,a.source)),"object"!==l(a.target)&&(a.target=h(d,a.target)),i[a.source.index]=(i[a.source.index]||0)+1,i[a.target.index]=(i[a.target.index]||0)+1;for(o=0,s=new Array(f);o<f;++o)a=t[o],s[o]=i[a.source.index]/(i[a.source.index]+i[a.target.index]);e=new Array(f),m(),n=new Array(f),b()}}function m(){if(r)for(var n=0,i=t.length;n<i;++n)e[n]=+d(t[n],n,t)}function b(){if(r)for(var e=0,i=t.length;e<i;++e)n[e]=+p(t[e],e,t)}return null==t&&(t=[]),v.initialize=function(t,e){r=t,u=e,y()},v.links=function(e){return arguments.length?(t=e,y(),v):t},v.id=function(t){return arguments.length?(c=t,v):c},v.iterations=function(t){return arguments.length?(g=+t,v):g},v.strength=function(t){return arguments.length?(d="function"==typeof t?t:o(+t),m(),v):d},v.distance=function(t){return arguments.length?(p="function"==typeof t?t:o(+t),b(),v):p},v},p={value:function(){}};function g(){for(var t,e=0,n=arguments.length,r={};e<n;++e){if(!(t=arguments[e]+"")||t in r||/[\s.]/.test(t))throw new Error("illegal type: "+t);r[t]=[]}return new v(r)}function v(t){this._=t}function y(t,e){return t.trim().split(/^|\s+/).map((function(t){var n="",r=t.indexOf(".");if(r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:n}}))}function m(t,e){for(var n,r=0,i=t.length;r<i;++r)if((n=t[r]).name===e)return n.value}function b(t,e,n){for(var r=0,i=t.length;r<i;++r)if(t[r].name===e){t[r]=p,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=n&&t.push({name:e,value:n}),t}v.prototype=g.prototype={constructor:v,on:function(t,e){var n,r=this._,i=y(t+"",r),o=-1,a=i.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++o<a;)if(n=(t=i[o]).type)r[n]=b(r[n],t.name,e);else if(null==e)for(n in r)r[n]=b(r[n],t.name,null);return this}for(;++o<a;)if((n=(t=i[o]).type)&&(n=m(r[n],t.name)))return n},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new v(t)},call:function(t,e){if((n=arguments.length-2)>0)for(var n,r,i=new Array(n),o=0;o<n;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(o=0,n=(r=this._[t]).length;o<n;++o)r[o].value.apply(e,i)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,o=r.length;i<o;++i)r[i].value.apply(e,n)}};var x=g;function w(t){return(w="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var _,E,S=0,M=0,O=0,k=0,A=0,C=0,j="object"===("undefined"==typeof performance?"undefined":w(performance))&&performance.now?performance:Date,I="object"===("undefined"==typeof window?"undefined":w(window))&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function T(){return A||(I(N),A=j.now()+C)}function N(){A=0}function P(){this._call=this._time=this._next=null}function D(t,e,n){var r=new P;return r.restart(t,e,n),r}function L(){A=(k=j.now())+C,S=M=0;try{!function(){T(),++S;for(var t,e=_;e;)(t=A-e._time)>=0&&e._call.call(null,t),e=e._next;--S}()}finally{S=0,function(){var t,e,n=_,r=1/0;for(;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:_=e);E=t,B(r)}(),A=0}}function R(){var t=j.now(),e=t-k;e>1e3&&(C-=e,k=t)}function B(t){S||(M&&(M=clearTimeout(M)),t-A>24?(t<1/0&&(M=setTimeout(L,t-j.now()-C)),O&&(O=clearInterval(O))):(O||(k=j.now(),O=setInterval(R,1e3)),S=1,I(L)))}P.prototype=D.prototype={constructor:P,restart:function(t,e,n){if("function"!=typeof t)throw new TypeError("callback is not a function");n=(null==n?T():+n)+(null==e?0:+e),this._next||E===this||(E?E._next=this:_=this,E=this),this._call=t,this._time=n,B()},stop:function(){this._call&&(this._call=null,this._time=1/0,B())}};var F=4294967296;function z(t){return t.x}function G(t){return t.y}var Y=Math.PI*(3-Math.sqrt(5)),U=function(t){var e,n,r=1,i=.001,o=1-Math.pow(i,1/300),a=0,s=.6,u=new Map,c=D(h),l=x("tick","end"),f=(n=1,function(){return(n=(1664525*n+1013904223)%F)/F});function h(){d(),l.call("tick",e),r<i&&(c.stop(),l.call("end",e))}function d(n){var i,c,l=t.length;void 0===n&&(n=1);for(var f=0;f<n;++f)for(r+=(a-r)*o,u.forEach((function(t){t(r)})),i=0;i<l;++i)null==(c=t[i]).fx?c.x+=c.vx*=s:(c.x=c.fx,c.vx=0),null==c.fy?c.y+=c.vy*=s:(c.y=c.fy,c.vy=0);return e}function p(){for(var e,n=0,r=t.length;n<r;++n){if((e=t[n]).index=n,null!=e.fx&&(e.x=e.fx),null!=e.fy&&(e.y=e.fy),isNaN(e.x)||isNaN(e.y)){var i=10*Math.sqrt(.5+n),o=n*Y;e.x=i*Math.cos(o),e.y=i*Math.sin(o)}(isNaN(e.vx)||isNaN(e.vy))&&(e.vx=e.vy=0)}}function g(e){return e.initialize&&e.initialize(t,f),e}return null==t&&(t=[]),p(),e={tick:d,restart:function(){return c.restart(h),e},stop:function(){return c.stop(),e},nodes:function(n){return arguments.length?(t=n,p(),u.forEach(g),e):t},alpha:function(t){return arguments.length?(r=+t,e):r},alphaMin:function(t){return arguments.length?(i=+t,e):i},alphaDecay:function(t){return arguments.length?(o=+t,e):+o},alphaTarget:function(t){return arguments.length?(a=+t,e):a},velocityDecay:function(t){return arguments.length?(s=1-t,e):1-s},randomSource:function(t){return arguments.length?(f=t,u.forEach(g),e):f},force:function(t,n){return arguments.length>1?(null==n?u.delete(t):u.set(t,g(n)),e):u.get(t)},find:function(e,n,r){var i,o,a,s,u,c=0,l=t.length;for(null==r?r=1/0:r*=r,c=0;c<l;++c)(a=(i=e-(s=t[c]).x)*i+(o=n-s.y)*o)<r&&(u=s,r=a);return u},on:function(t,n){return arguments.length>1?(l.on(t,n),e):l.on(t)}}},X=function(){var t,e,n,r,s,u=o(-30),c=1,l=1/0,f=.81;function h(n){var o,a=t.length,s=Object(i.a)(t,z,G).visitAfter(p);for(r=n,o=0;o<a;++o)e=t[o],s.visit(g)}function d(){if(t){var e,n,r=t.length;for(s=new Array(r),e=0;e<r;++e)n=t[e],s[n.index]=+u(n,e,t)}}function p(t){var e,n,r,i,o,a=0,u=0;if(t.length){for(r=i=o=0;o<4;++o)(e=t[o])&&(n=Math.abs(e.value))&&(a+=e.value,u+=n,r+=n*e.x,i+=n*e.y);t.x=r/u,t.y=i/u}else{(e=t).x=e.data.x,e.y=e.data.y;do{a+=s[e.data.index]}while(e=e.next)}t.value=a}function g(t,i,o,u){if(!t.value)return!0;var h=t.x-e.x,d=t.y-e.y,p=u-i,g=h*h+d*d;if(p*p/f<g)return g<l&&(0===h&&(g+=(h=a(n))*h),0===d&&(g+=(d=a(n))*d),g<c&&(g=Math.sqrt(c*g)),e.vx+=h*t.value*r/g,e.vy+=d*t.value*r/g),!0;if(!(t.length||g>=l)){(t.data!==e||t.next)&&(0===h&&(g+=(h=a(n))*h),0===d&&(g+=(d=a(n))*d),g<c&&(g=Math.sqrt(c*g)));do{t.data!==e&&(p=s[t.data.index]*r/g,e.vx+=h*p,e.vy+=d*p)}while(t=t.next)}}return h.initialize=function(e,r){t=e,n=r,d()},h.strength=function(t){return arguments.length?(u="function"==typeof t?t:o(+t),d(),h):u},h.distanceMin=function(t){return arguments.length?(c=t*t,h):Math.sqrt(c)},h.distanceMax=function(t){return arguments.length?(l=t*t,h):Math.sqrt(l)},h.theta=function(t){return arguments.length?(f=t*t,h):Math.sqrt(f)},h},W=function(t,e,n){var r,i,a,s=o(.1);function u(t){for(var o=0,s=r.length;o<s;++o){var u=r[o],c=u.x-e||1e-6,l=u.y-n||1e-6,f=Math.sqrt(c*c+l*l),h=(a[o]-f)*i[o]*t/f;u.vx+=c*h,u.vy+=l*h}}function c(){if(r){var e,n=r.length;for(i=new Array(n),a=new Array(n),e=0;e<n;++e)a[e]=+t(r[e],e,r),i[e]=isNaN(a[e])?0:+s(r[e],e,r)}}return"function"!=typeof t&&(t=o(+t)),null==e&&(e=0),null==n&&(n=0),u.initialize=function(t){r=t,c()},u.strength=function(t){return arguments.length?(s="function"==typeof t?t:o(+t),c(),u):s},u.radius=function(e){return arguments.length?(t="function"==typeof e?e:o(+e),c(),u):t},u.x=function(t){return arguments.length?(e=+t,u):e},u.y=function(t){return arguments.length?(n=+t,u):n},u},V=function(t){var e,n,r,i=o(.1);function a(t){for(var i,o=0,a=e.length;o<a;++o)(i=e[o]).vx+=(r[o]-i.x)*n[o]*t}function s(){if(e){var o,a=e.length;for(n=new Array(a),r=new Array(a),o=0;o<a;++o)n[o]=isNaN(r[o]=+t(e[o],o,e))?0:+i(e[o],o,e)}}return"function"!=typeof t&&(t=o(null==t?0:+t)),a.initialize=function(t){e=t,s()},a.strength=function(t){return arguments.length?(i="function"==typeof t?t:o(+t),s(),a):i},a.x=function(e){return arguments.length?(t="function"==typeof e?e:o(+e),s(),a):t},a},H=function(t){var e,n,r,i=o(.1);function a(t){for(var i,o=0,a=e.length;o<a;++o)(i=e[o]).vy+=(r[o]-i.y)*n[o]*t}function s(){if(e){var o,a=e.length;for(n=new Array(a),r=new Array(a),o=0;o<a;++o)n[o]=isNaN(r[o]=+t(e[o],o,e))?0:+i(e[o],o,e)}}return"function"!=typeof t&&(t=o(null==t?0:+t)),a.initialize=function(t){e=t,s()},a.strength=function(t){return arguments.length?(i="function"==typeof t?t:o(+t),s(),a):i},a.y=function(e){return arguments.length?(t="function"==typeof e?e:o(+e),s(),a):t},a}},function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var r=new Map;function i(t,e){r.set(t,e)}function o(t){return r.get(t)}var a=function(t){var e=t.attr();return{x:e.x,y:e.y,width:e.width,height:e.height}},s=function(t){var e=t.attr(),n=e.x,r=e.y,i=e.r;return{x:n-i,y:r-i,width:2*i,height:2*i}},u=n(10);function c(t,e){return t&&e?{minX:Math.min(t.minX,e.minX),minY:Math.min(t.minY,e.minY),maxX:Math.max(t.maxX,e.maxX),maxY:Math.max(t.maxY,e.maxY)}:t||e}function l(t,e){var n=t.get("startArrowShape"),r=t.get("endArrowShape");return n&&(e=c(e,n.getCanvasBBox())),r&&(e=c(e,r.getCanvasBBox())),e}var f=n(32),h=n(21),d=n(0);function p(t,e){var n=t.prePoint,r=t.currentPoint,i=t.nextPoint,o=Math.pow(r[0]-n[0],2)+Math.pow(r[1]-n[1],2),a=Math.pow(r[0]-i[0],2)+Math.pow(r[1]-i[1],2),s=Math.pow(n[0]-i[0],2)+Math.pow(n[1]-i[1],2),u=Math.acos((o+a-s)/(2*Math.sqrt(o)*Math.sqrt(a)));if(!u||0===Math.sin(u)||Object(d.isNumberEqual)(u,0))return{xExtra:0,yExtra:0};var c=Math.abs(Math.atan2(i[1]-r[1],i[0]-r[0])),l=Math.abs(Math.atan2(i[0]-r[0],i[1]-r[1]));return c=c>Math.PI/2?Math.PI-c:c,l=l>Math.PI/2?Math.PI-l:l,{xExtra:Math.cos(u/2-c)*(e/2*(1/Math.sin(u/2)))-e/2||0,yExtra:Math.cos(l-u/2)*(e/2*(1/Math.sin(u/2)))-e/2||0}}i("rect",a),i("image",a),i("circle",s),i("marker",s),i("polyline",(function(t){for(var e=t.attr().points,n=[],r=[],i=0;i<e.length;i++){var o=e[i];n.push(o[0]),r.push(o[1])}var a=u.f.getBBoxByArray(n,r),s=a.x,c=a.y,f={minX:s,minY:c,maxX:s+a.width,maxY:c+a.height};return{x:(f=l(t,f)).minX,y:f.minY,width:f.maxX-f.minX,height:f.maxY-f.minY}})),i("polygon",(function(t){for(var e=t.attr().points,n=[],r=[],i=0;i<e.length;i++){var o=e[i];n.push(o[0]),r.push(o[1])}return u.f.getBBoxByArray(n,r)})),i("text",(function(t){var e=t.attr(),n=e.x,r=e.y,i=e.text,o=e.fontSize,a=e.lineHeight,s=e.font;s||(s=Object(f.a)(e));var u,c=Object(f.c)(i,s);if(c){var l=e.textAlign,h=e.textBaseline,d=Object(f.b)(i,o,a),p={x:n,y:r-d};l&&("end"===l||"right"===l?p.x-=c:"center"===l&&(p.x-=c/2)),h&&("top"===h?p.y+=d:"middle"===h&&(p.y+=d/2)),u={x:p.x,y:p.y,width:c,height:d}}else u={x:n,y:r,width:0,height:0};return u})),i("path",(function(t){var e=t.attr(),n=e.path,r=e.stroke?e.lineWidth:0,i=function(t,e){for(var n=[],r=[],i=[],o=0;o<t.length;o++){var a=(m=t[o]).currentPoint,s=m.params,c=m.prePoint,l=void 0;switch(m.command){case"Q":l=u.e.box(c[0],c[1],s[1],s[2],s[3],s[4]);break;case"C":l=u.b.box(c[0],c[1],s[1],s[2],s[3],s[4],s[5],s[6]);break;case"A":var f=m.arcParams;l=u.a.box(f.cx,f.cy,f.rx,f.ry,f.xRotation,f.startAngle,f.endAngle);break;default:n.push(a[0]),r.push(a[1])}l&&(m.box=l,n.push(l.x,l.x+l.width),r.push(l.y,l.y+l.height)),e&&("L"===m.command||"M"===m.command)&&m.prePoint&&m.nextPoint&&i.push(m)}n=n.filter((function(t){return!Number.isNaN(t)&&t!==1/0&&t!==-1/0})),r=r.filter((function(t){return!Number.isNaN(t)&&t!==1/0&&t!==-1/0}));var h=Object(d.min)(n),g=Object(d.min)(r),v=Object(d.max)(n),y=Object(d.max)(r);if(0===i.length)return{x:h,y:g,width:v-h,height:y-g};for(o=0;o<i.length;o++){var m;(a=(m=i[o]).currentPoint)[0]===h?h-=p(m,e).xExtra:a[0]===v&&(v+=p(m,e).xExtra),a[1]===g?g-=p(m,e).yExtra:a[1]===y&&(y+=p(m,e).yExtra)}return{x:h,y:g,width:v-h,height:y-g}}(t.get("segments")||Object(h.d)(n),r),o=i.x,a=i.y,s={minX:o,minY:a,maxX:o+i.width,maxY:a+i.height};return{x:(s=l(t,s)).minX,y:s.minY,width:s.maxX-s.minX,height:s.maxY-s.minY}})),i("line",(function(t){var e=t.attr(),n=e.x1,r=e.y1,i=e.x2,o=e.y2,a={minX:Math.min(n,i),maxX:Math.max(n,i),minY:Math.min(r,o),maxY:Math.max(r,o)};return{x:(a=l(t,a)).minX,y:a.minY,width:a.maxX-a.minX,height:a.maxY-a.minY}})),i("ellipse",(function(t){var e=t.attr(),n=e.x,r=e.y,i=e.rx,o=e.ry;return{x:n-i,y:r-o,width:2*i,height:2*o}}))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(8);function i(t,e,n){var i=[0,0,0,0,0,0,0,0,0];return r.mat3.fromTranslation(i,n),r.mat3.multiply(t,i,e)}function o(t,e,n){var i=[0,0,0,0,0,0,0,0,0];return r.mat3.fromRotation(i,n),r.mat3.multiply(t,i,e)}function a(t,e,n){var i=[0,0,0,0,0,0,0,0,0];return r.mat3.fromScaling(i,n),r.mat3.multiply(t,i,e)}function s(t,e){return t[0]*e[1]-e[0]*t[1]}e.leftTranslate=i,e.leftRotate=o,e.leftScale=a,e.transform=function(t,e){for(var n,s,u,c=t?[].concat(t):[1,0,0,0,1,0,0,0,1],l=0,f=e.length;l<f;l++){var h=e[l];switch(h[0]){case"t":i(c,c,[h[1],h[2]]);break;case"s":a(c,c,[h[1],h[2]]);break;case"r":o(c,c,h[1]);break;case"m":n=c,s=c,u=h[1],r.mat3.multiply(n,u,s)}}return c},e.direction=s,e.angleTo=function(t,e,n){var i=r.vec2.angle(t,e),o=s(t,e)>=0;return n?o?2*Math.PI-i:i:o?i:2*Math.PI-i},e.vertical=function(t,e,n){return n?(t[0]=e[1],t[1]=-1*e[0]):(t[0]=-1*e[1],t[1]=e[0]),t}},function(t,e){},function(t,e){},function(t,e,n){"use strict";var r=n(1),i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.__extends)(e,t),e.prototype.isGroup=function(){return!0},e.prototype.isEntityGroup=function(){return!1},e.prototype.clone=function(){for(var e=t.prototype.clone.call(this),n=this.getChildren(),r=0;r<n.length;r++){var i=n[r];e.add(i.clone())}return e},e}(n(53).a);e.a=i},function(t,e,n){"use strict";var r=n(1),i=n(54),o=n(22),a=function(t){function e(e){return t.call(this,e)||this}return Object(r.__extends)(e,t),e.prototype._isInBBox=function(t,e){var n=this.getBBox();return n.minX<=t&&n.maxX>=t&&n.minY<=e&&n.maxY>=e},e.prototype.afterAttrsChange=function(e){t.prototype.afterAttrsChange.call(this,e),this.clearCacheBBox()},e.prototype.getBBox=function(){var t=this.cfg.bbox;return t||(t=this.calculateBBox(),this.set("bbox",t)),t},e.prototype.getCanvasBBox=function(){var t=this.cfg.canvasBBox;return t||(t=this.calculateCanvasBBox(),this.set("canvasBBox",t)),t},e.prototype.applyMatrix=function(e){t.prototype.applyMatrix.call(this,e),this.set("canvasBBox",null)},e.prototype.calculateCanvasBBox=function(){var t=this.getBBox(),e=this.getTotalMatrix(),n=t.minX,r=t.minY,i=t.maxX,a=t.maxY;if(e){var s=Object(o.c)(e,[t.minX,t.minY]),u=Object(o.c)(e,[t.maxX,t.minY]),c=Object(o.c)(e,[t.minX,t.maxY]),l=Object(o.c)(e,[t.maxX,t.maxY]);n=Math.min(s[0],u[0],c[0],l[0]),i=Math.max(s[0],u[0],c[0],l[0]),r=Math.min(s[1],u[1],c[1],l[1]),a=Math.max(s[1],u[1],c[1],l[1])}var f=this.attrs;if(f.shadowColor){var h=f.shadowBlur,d=void 0===h?0:h,p=f.shadowOffsetX,g=void 0===p?0:p,v=f.shadowOffsetY,y=void 0===v?0:v,m=n-d+g,b=i+d+g,x=r-d+y,w=a+d+y;n=Math.min(n,m),i=Math.max(i,b),r=Math.min(r,x),a=Math.max(a,w)}return{x:n,y:r,minX:n,minY:r,maxX:i,maxY:a,width:i-n,height:a-r}},e.prototype.clearCacheBBox=function(){this.set("bbox",null),this.set("canvasBBox",null)},e.prototype.isClipShape=function(){return this.get("isClipShape")},e.prototype.isInShape=function(t,e){return!1},e.prototype.isOnlyHitBox=function(){return!1},e.prototype.isHit=function(t,e){var n=this.get("startArrowShape"),r=this.get("endArrowShape"),i=[t,e,1],o=(i=this.invertFromMatrix(i))[0],a=i[1],s=this._isInBBox(o,a);if(this.isOnlyHitBox())return s;if(s&&!this.isClipped(o,a)){if(this.isInShape(o,a))return!0;if(n&&n.isHit(o,a))return!0;if(r&&r.isHit(o,a))return!0}return!1},e}(i.a);e.a=a},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e){return e?o(t):i(t)},e.detectStrongConnectComponents=e.detectConnectedComponents=void 0;var r=n(27),i=function(t){for(var e=t.nodes,n=void 0===e?[]:e,i=t.edges,o=void 0===i?[]:i,a=[],s={},u=[],c=function t(e){u.push(e),s[e.id]=!0;for(var i=(0,r.getNeighbors)(e.id,o),a=function(e){var r=i[e];if(!s[r]){var o=n.filter((function(t){return t.id===r}));o.length>0&&t(o[0])}},c=0;c<i.length;++c)a(c)},l=0;l<n.length;l++){var f=n[l];if(!s[f.id]){c(f);for(var h=[];u.length>0;)h.push(u.pop());a.push(h)}}return a};e.detectConnectedComponents=i;var o=function(t){for(var e=t.nodes,n=void 0===e?[]:e,i=t.edges,o=void 0===i?[]:i,a=[],s={},u={},c={},l=[],f=0,h=function t(e){u[e.id]=f,c[e.id]=f,f+=1,a.push(e),s[e.id]=!0;for(var i=(0,r.getNeighbors)(e.id,o,"target").filter((function(t){return n.map((function(t){return t.id})).indexOf(t)>-1})),h=function(r){var o=i[r];if(u[o]||0===u[o])s[o]&&(c[e.id]=Math.min(c[e.id],u[o]));else{var a=n.filter((function(t){return t.id===o}));a.length>0&&t(a[0]),c[e.id]=Math.min(c[e.id],c[o])}},d=0;d<i.length;d++)h(d);if(c[e.id]===u[e.id]){for(var p=[];a.length>0;){var g=a.pop();if(s[g.id]=!1,p.push(g),g===e)break}p.length>0&&l.push(p)}},d=0,p=n;d<p.length;d++){var g=p[d];u[g.id]||0===u[g.id]||h(g)}return l};e.detectStrongConnectComponents=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getOutDegree=e.getInDegree=e.default=void 0;var r=function(t){var e={},n=t.nodes,r=void 0===n?[]:n,i=t.edges,o=void 0===i?[]:i;return r.forEach((function(t){e[t.id]={degree:0,inDegree:0,outDegree:0}})),o.forEach((function(t){e[t.source].degree++,e[t.source].outDegree++,e[t.target].degree++,e[t.target].inDegree++})),e},i=r;e.default=i;e.getInDegree=function(t,e){return r(t)[e]?r(t)[e].inDegree:0};e.getOutDegree=function(t,e){return r(t)[e]?r(t)[e].outDegree:0}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e,n,i){void 0===i&&(i=!0);!function t(e,n,i,o,a){void 0===a&&(a=!0);o.enter({current:n,previous:i});var s=e.edges,u=void 0===s?[]:s;(0,r.getNeighbors)(n,u,a?"target":void 0).forEach((function(r){o.allowTraversal({previous:i,current:n,next:r})&&t(e,r,n,o,a)})),o.leave({current:n,previous:i})}(t,e,"",function(t){void 0===t&&(t={});var e=t,n=function(){},r=(i={},function(t){var e=t.next;return!i[e]&&(i[e]=!0,!0)});var i;return e.allowTraversal=t.allowTraversal||r,e.enter=t.enter||n,e.leave=t.leave||n,e}(n),i)};var r=n(27)},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var r,i=(r=n(45))&&r.__esModule?r:{default:r};var o=function(t,e){for(var n=(0,i.default)(t,e),r=[],o=n.length,a=0;a<o;a+=1){r[a]=[];for(var s=0;s<o;s+=1)a===s?r[a][s]=0:0!==n[a][s]&&n[a][s]?r[a][s]=n[a][s]:r[a][s]=1/0}for(var u=0;u<o;u+=1)for(a=0;a<o;a+=1)for(s=0;s<o;s+=1)r[a][s]>r[a][u]+r[u][s]&&(r[a][s]=r[a][u]+r[u][s]);return r};e.default=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var r=n(0),i=function(){function t(t){this.arr=t}return t.prototype.getArr=function(){return this.arr||[]},t.prototype.add=function(e){var n,r=e.arr;if(!(null===(n=this.arr)||void 0===n?void 0:n.length))return new t(r);if(!(null==r?void 0:r.length))return new t(this.arr);if(this.arr.length===r.length){var i=[];for(var o in this.arr)i[o]=this.arr[o]+r[o];return new t(i)}},t.prototype.subtract=function(e){var n,r=e.arr;if(!(null===(n=this.arr)||void 0===n?void 0:n.length))return new t(r);if(!(null==r?void 0:r.length))return new t(this.arr);if(this.arr.length===r.length){var i=[];for(var o in this.arr)i[o]=this.arr[o]-r[o];return new t(i)}},t.prototype.avg=function(e){var n=[];if(0!==e)for(var r in this.arr)n[r]=this.arr[r]/e;return new t(n)},t.prototype.negate=function(){var e=[];for(var n in this.arr)e[n]=-this.arr[n];return new t(e)},t.prototype.squareEuclideanDistance=function(t){var e,n=t.arr;if(!(null===(e=this.arr)||void 0===e?void 0:e.length)||!(null==n?void 0:n.length))return 0;if(this.arr.length===n.length){var r=0;for(var i in this.arr)r+=Math.pow(this.arr[i]-t.arr[i],2);return r}},t.prototype.euclideanDistance=function(t){var e,n=t.arr;if(!(null===(e=this.arr)||void 0===e?void 0:e.length)||!(null==n?void 0:n.length))return 0;if(this.arr.length===n.length){var r=0;for(var i in this.arr)r+=Math.pow(this.arr[i]-t.arr[i],2);return Math.sqrt(r)}console.error("The two vectors are unequal in length.")},t.prototype.normalize=function(){var e=[],n=(0,r.clone)(this.arr);n.sort((function(t,e){return t-e}));var i=n[n.length-1],o=n[0];for(var a in this.arr)e[a]=(this.arr[a]-o)/(i-o);return new t(e)},t.prototype.norm2=function(){var t;if(!(null===(t=this.arr)||void 0===t?void 0:t.length))return 0;var e=0;for(var n in this.arr)e+=Math.pow(this.arr[n],2);return Math.sqrt(e)},t.prototype.dot=function(t){var e,n=t.arr;if(!(null===(e=this.arr)||void 0===e?void 0:e.length)||!(null==n?void 0:n.length))return 0;if(this.arr.length===n.length){var r=0;for(var i in this.arr)r+=this.arr[i]*t.arr[i];return r}console.error("The two vectors are unequal in length.")},t.prototype.equal=function(t){var e,n=t.arr;if((null===(e=this.arr)||void 0===e?void 0:e.length)!==(null==n?void 0:n.length))return!1;for(var r in this.arr)if(this.arr[r]!==n[r])return!1;return!0},t}();e.default=i},function(t,e,n){var r=n(151),i={};for(var o in r)r.hasOwnProperty(o)&&(i[r[o]]=o);var a=t.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var s in a)if(a.hasOwnProperty(s)){if(!("channels"in a[s]))throw new Error("missing channels property: "+s);if(!("labels"in a[s]))throw new Error("missing channel labels property: "+s);if(a[s].labels.length!==a[s].channels)throw new Error("channel and label counts mismatch: "+s);var u=a[s].channels,c=a[s].labels;delete a[s].channels,delete a[s].labels,Object.defineProperty(a[s],"channels",{value:u}),Object.defineProperty(a[s],"labels",{value:c})}a.rgb.hsl=function(t){var e,n,r=t[0]/255,i=t[1]/255,o=t[2]/255,a=Math.min(r,i,o),s=Math.max(r,i,o),u=s-a;return s===a?e=0:r===s?e=(i-o)/u:i===s?e=2+(o-r)/u:o===s&&(e=4+(r-i)/u),(e=Math.min(60*e,360))<0&&(e+=360),n=(a+s)/2,[e,100*(s===a?0:n<=.5?u/(s+a):u/(2-s-a)),100*n]},a.rgb.hsv=function(t){var e,n,r,i,o,a=t[0]/255,s=t[1]/255,u=t[2]/255,c=Math.max(a,s,u),l=c-Math.min(a,s,u),f=function(t){return(c-t)/6/l+.5};return 0===l?i=o=0:(o=l/c,e=f(a),n=f(s),r=f(u),a===c?i=r-n:s===c?i=1/3+e-r:u===c&&(i=2/3+n-e),i<0?i+=1:i>1&&(i-=1)),[360*i,100*o,100*c]},a.rgb.hwb=function(t){var e=t[0],n=t[1],r=t[2];return[a.rgb.hsl(t)[0],100*(1/255*Math.min(e,Math.min(n,r))),100*(r=1-1/255*Math.max(e,Math.max(n,r)))]},a.rgb.cmyk=function(t){var e,n=t[0]/255,r=t[1]/255,i=t[2]/255;return[100*((1-n-(e=Math.min(1-n,1-r,1-i)))/(1-e)||0),100*((1-r-e)/(1-e)||0),100*((1-i-e)/(1-e)||0),100*e]},a.rgb.keyword=function(t){var e=i[t];if(e)return e;var n,o,a,s=1/0;for(var u in r)if(r.hasOwnProperty(u)){var c=r[u],l=(o=t,a=c,Math.pow(o[0]-a[0],2)+Math.pow(o[1]-a[1],2)+Math.pow(o[2]-a[2],2));l<s&&(s=l,n=u)}return n},a.keyword.rgb=function(t){return r[t]},a.rgb.xyz=function(t){var e=t[0]/255,n=t[1]/255,r=t[2]/255;return[100*(.4124*(e=e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92)+.3576*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)+.1805*(r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92)),100*(.2126*e+.7152*n+.0722*r),100*(.0193*e+.1192*n+.9505*r)]},a.rgb.lab=function(t){var e=a.rgb.xyz(t),n=e[0],r=e[1],i=e[2];return r/=100,i/=108.883,n=(n/=95.047)>.008856?Math.pow(n,1/3):7.787*n+16/116,[116*(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116)-16,500*(n-r),200*(r-(i=i>.008856?Math.pow(i,1/3):7.787*i+16/116))]},a.hsl.rgb=function(t){var e,n,r,i,o,a=t[0]/360,s=t[1]/100,u=t[2]/100;if(0===s)return[o=255*u,o,o];e=2*u-(n=u<.5?u*(1+s):u+s-u*s),i=[0,0,0];for(var c=0;c<3;c++)(r=a+1/3*-(c-1))<0&&r++,r>1&&r--,o=6*r<1?e+6*(n-e)*r:2*r<1?n:3*r<2?e+(n-e)*(2/3-r)*6:e,i[c]=255*o;return i},a.hsl.hsv=function(t){var e=t[0],n=t[1]/100,r=t[2]/100,i=n,o=Math.max(r,.01);return n*=(r*=2)<=1?r:2-r,i*=o<=1?o:2-o,[e,100*(0===r?2*i/(o+i):2*n/(r+n)),100*((r+n)/2)]},a.hsv.rgb=function(t){var e=t[0]/60,n=t[1]/100,r=t[2]/100,i=Math.floor(e)%6,o=e-Math.floor(e),a=255*r*(1-n),s=255*r*(1-n*o),u=255*r*(1-n*(1-o));switch(r*=255,i){case 0:return[r,u,a];case 1:return[s,r,a];case 2:return[a,r,u];case 3:return[a,s,r];case 4:return[u,a,r];case 5:return[r,a,s]}},a.hsv.hsl=function(t){var e,n,r,i=t[0],o=t[1]/100,a=t[2]/100,s=Math.max(a,.01);return r=(2-o)*a,n=o*s,[i,100*(n=(n/=(e=(2-o)*s)<=1?e:2-e)||0),100*(r/=2)]},a.hwb.rgb=function(t){var e,n,r,i,o,a,s,u=t[0]/360,c=t[1]/100,l=t[2]/100,f=c+l;switch(f>1&&(c/=f,l/=f),r=6*u-(e=Math.floor(6*u)),0!=(1&e)&&(r=1-r),i=c+r*((n=1-l)-c),e){default:case 6:case 0:o=n,a=i,s=c;break;case 1:o=i,a=n,s=c;break;case 2:o=c,a=n,s=i;break;case 3:o=c,a=i,s=n;break;case 4:o=i,a=c,s=n;break;case 5:o=n,a=c,s=i}return[255*o,255*a,255*s]},a.cmyk.rgb=function(t){var e=t[0]/100,n=t[1]/100,r=t[2]/100,i=t[3]/100;return[255*(1-Math.min(1,e*(1-i)+i)),255*(1-Math.min(1,n*(1-i)+i)),255*(1-Math.min(1,r*(1-i)+i))]},a.xyz.rgb=function(t){var e,n,r,i=t[0]/100,o=t[1]/100,a=t[2]/100;return n=-.9689*i+1.8758*o+.0415*a,r=.0557*i+-.204*o+1.057*a,e=(e=3.2406*i+-1.5372*o+-.4986*a)>.0031308?1.055*Math.pow(e,1/2.4)-.055:12.92*e,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:12.92*n,r=r>.0031308?1.055*Math.pow(r,1/2.4)-.055:12.92*r,[255*(e=Math.min(Math.max(0,e),1)),255*(n=Math.min(Math.max(0,n),1)),255*(r=Math.min(Math.max(0,r),1))]},a.xyz.lab=function(t){var e=t[0],n=t[1],r=t[2];return n/=100,r/=108.883,e=(e/=95.047)>.008856?Math.pow(e,1/3):7.787*e+16/116,[116*(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116)-16,500*(e-n),200*(n-(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116))]},a.lab.xyz=function(t){var e,n,r,i=t[0];e=t[1]/500+(n=(i+16)/116),r=n-t[2]/200;var o=Math.pow(n,3),a=Math.pow(e,3),s=Math.pow(r,3);return n=o>.008856?o:(n-16/116)/7.787,e=a>.008856?a:(e-16/116)/7.787,r=s>.008856?s:(r-16/116)/7.787,[e*=95.047,n*=100,r*=108.883]},a.lab.lch=function(t){var e,n=t[0],r=t[1],i=t[2];return(e=360*Math.atan2(i,r)/2/Math.PI)<0&&(e+=360),[n,Math.sqrt(r*r+i*i),e]},a.lch.lab=function(t){var e,n=t[0],r=t[1];return e=t[2]/360*2*Math.PI,[n,r*Math.cos(e),r*Math.sin(e)]},a.rgb.ansi16=function(t){var e=t[0],n=t[1],r=t[2],i=1 in arguments?arguments[1]:a.rgb.hsv(t)[2];if(0===(i=Math.round(i/50)))return 30;var o=30+(Math.round(r/255)<<2|Math.round(n/255)<<1|Math.round(e/255));return 2===i&&(o+=60),o},a.hsv.ansi16=function(t){return a.rgb.ansi16(a.hsv.rgb(t),t[2])},a.rgb.ansi256=function(t){var e=t[0],n=t[1],r=t[2];return e===n&&n===r?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)},a.ansi16.rgb=function(t){var e=t%10;if(0===e||7===e)return t>50&&(e+=3.5),[e=e/10.5*255,e,e];var n=.5*(1+~~(t>50));return[(1&e)*n*255,(e>>1&1)*n*255,(e>>2&1)*n*255]},a.ansi256.rgb=function(t){if(t>=232){var e=10*(t-232)+8;return[e,e,e]}var n;return t-=16,[Math.floor(t/36)/5*255,Math.floor((n=t%36)/6)/5*255,n%6/5*255]},a.rgb.hex=function(t){var e=(((255&Math.round(t[0]))<<16)+((255&Math.round(t[1]))<<8)+(255&Math.round(t[2]))).toString(16).toUpperCase();return"000000".substring(e.length)+e},a.hex.rgb=function(t){var e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];var n=e[0];3===e[0].length&&(n=n.split("").map((function(t){return t+t})).join(""));var r=parseInt(n,16);return[r>>16&255,r>>8&255,255&r]},a.rgb.hcg=function(t){var e,n=t[0]/255,r=t[1]/255,i=t[2]/255,o=Math.max(Math.max(n,r),i),a=Math.min(Math.min(n,r),i),s=o-a;return e=s<=0?0:o===n?(r-i)/s%6:o===r?2+(i-n)/s:4+(n-r)/s+4,e/=6,[360*(e%=1),100*s,100*(s<1?a/(1-s):0)]},a.hsl.hcg=function(t){var e=t[1]/100,n=t[2]/100,r=1,i=0;return(r=n<.5?2*e*n:2*e*(1-n))<1&&(i=(n-.5*r)/(1-r)),[t[0],100*r,100*i]},a.hsv.hcg=function(t){var e=t[1]/100,n=t[2]/100,r=e*n,i=0;return r<1&&(i=(n-r)/(1-r)),[t[0],100*r,100*i]},a.hcg.rgb=function(t){var e=t[0]/360,n=t[1]/100,r=t[2]/100;if(0===n)return[255*r,255*r,255*r];var i,o=[0,0,0],a=e%1*6,s=a%1,u=1-s;switch(Math.floor(a)){case 0:o[0]=1,o[1]=s,o[2]=0;break;case 1:o[0]=u,o[1]=1,o[2]=0;break;case 2:o[0]=0,o[1]=1,o[2]=s;break;case 3:o[0]=0,o[1]=u,o[2]=1;break;case 4:o[0]=s,o[1]=0,o[2]=1;break;default:o[0]=1,o[1]=0,o[2]=u}return i=(1-n)*r,[255*(n*o[0]+i),255*(n*o[1]+i),255*(n*o[2]+i)]},a.hcg.hsv=function(t){var e=t[1]/100,n=e+t[2]/100*(1-e),r=0;return n>0&&(r=e/n),[t[0],100*r,100*n]},a.hcg.hsl=function(t){var e=t[1]/100,n=t[2]/100*(1-e)+.5*e,r=0;return n>0&&n<.5?r=e/(2*n):n>=.5&&n<1&&(r=e/(2*(1-n))),[t[0],100*r,100*n]},a.hcg.hwb=function(t){var e=t[1]/100,n=e+t[2]/100*(1-e);return[t[0],100*(n-e),100*(1-n)]},a.hwb.hcg=function(t){var e=t[1]/100,n=1-t[2]/100,r=n-e,i=0;return r<1&&(i=(n-r)/(1-r)),[t[0],100*r,100*i]},a.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]},a.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]},a.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]},a.gray.hsl=a.gray.hsv=function(t){return[0,0,t[0]]},a.gray.hwb=function(t){return[0,100,t[0]]},a.gray.cmyk=function(t){return[0,0,0,t[0]]},a.gray.lab=function(t){return[t[0],0,0]},a.gray.hex=function(t){var e=255&Math.round(t[0]/100*255),n=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(n.length)+n},a.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}},function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.getLayoutByName=e.unRegisterLayout=e.registerLayout=void 0;var o=n(18),a=n(15),s=new Map;e.registerLayout=function(t,e){if(s.get(t)&&console.warn("The layout with the name ".concat(t," exists already, it will be overridden")),(0,a.isObject)(e)){var n=function(t){function n(n){var r,i,o=r=t.call(this)||this,a={},s=Object.assign({},o.getDefaultCfg(),(null===(i=e.getDefaultCfg)||void 0===i?void 0:i.call(e))||{});return Object.assign(a,s,e,n),Object.keys(a).forEach((function(t){var e=a[t];o[t]=e})),r}return i(n,t),n}(o.Base);s.set(t,n)}else s.set(t,e);return s.get(t)};e.unRegisterLayout=function(t){s.has(t)&&s.delete(t)};e.getLayoutByName=function(t){return s.has(t)?s.get(t):null}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isArray=void 0,e.isArray=Array.isArray},function(t,e,n){"use strict";function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var i=this&&this.__assign||function(){return(i=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)};Object.defineProperty(e,"__esModule",{value:!0}),e.clone=e.isObject=void 0;e.isObject=function(t){return null!==t&&"object"===r(t)};e.clone=function(t){if(null===t)return t;if(t instanceof Date)return new Date(t.getTime());if(t instanceof Array){var n=[];return t.forEach((function(t){n.push(t)})),n.map((function(t){return(0,e.clone)(t)}))}if("object"===r(t)&&Object.keys(t).length){var o=i({},t);return Object.keys(o).forEach((function(t){o[t]=(0,e.clone)(o[t])})),o}return t}},function(t,e,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!("get"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),i=this&&this.__exportStar||function(t,e){for(var n in t)"default"===n||Object.prototype.hasOwnProperty.call(e,n)||r(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),e.ERLayout=e.ForceAtlas2Layout=e.ComboCombinedLayout=e.ComboForceLayout=e.GForceGPULayout=e.FruchtermanGPULayout=e.FruchtermanLayout=e.MDSLayout=e.ConcentricLayout=e.RadialLayout=e.DagreCompoundLayout=e.DagreLayout=e.CircularLayout=e.ForceLayout=e.Force2Layout=e.GForceLayout=e.RandomLayout=e.GridLayout=e.Layouts=e.Layout=void 0;var o=n(83);Object.defineProperty(e,"GridLayout",{enumerable:!0,get:function(){return o.GridLayout}});var a=n(84);Object.defineProperty(e,"RandomLayout",{enumerable:!0,get:function(){return a.RandomLayout}});var s=n(85);Object.defineProperty(e,"GForceLayout",{enumerable:!0,get:function(){return s.GForceLayout}});var u=n(86);Object.defineProperty(e,"Force2Layout",{enumerable:!0,get:function(){return u.Force2Layout}});var c=n(87);Object.defineProperty(e,"ForceLayout",{enumerable:!0,get:function(){return c.ForceLayout}});var l=n(88);Object.defineProperty(e,"CircularLayout",{enumerable:!0,get:function(){return l.CircularLayout}});var f=n(62);Object.defineProperty(e,"DagreLayout",{enumerable:!0,get:function(){return f.DagreLayout}});var h=n(90);Object.defineProperty(e,"DagreCompoundLayout",{enumerable:!0,get:function(){return h.DagreCompoundLayout}});var d=n(92);Object.defineProperty(e,"RadialLayout",{enumerable:!0,get:function(){return d.RadialLayout}});var p=n(93);Object.defineProperty(e,"ConcentricLayout",{enumerable:!0,get:function(){return p.ConcentricLayout}});var g=n(94);Object.defineProperty(e,"MDSLayout",{enumerable:!0,get:function(){return g.MDSLayout}});var v=n(95);Object.defineProperty(e,"FruchtermanLayout",{enumerable:!0,get:function(){return v.FruchtermanLayout}});var y=n(96);Object.defineProperty(e,"FruchtermanGPULayout",{enumerable:!0,get:function(){return y.FruchtermanGPULayout}});var m=n(103);Object.defineProperty(e,"GForceGPULayout",{enumerable:!0,get:function(){return m.GForceGPULayout}});var b=n(104);Object.defineProperty(e,"ComboForceLayout",{enumerable:!0,get:function(){return b.ComboForceLayout}});var x=n(105);Object.defineProperty(e,"ComboCombinedLayout",{enumerable:!0,get:function(){return x.ComboCombinedLayout}});var w=n(106);Object.defineProperty(e,"ForceAtlas2Layout",{enumerable:!0,get:function(){return w.ForceAtlas2Layout}});var _=n(107);Object.defineProperty(e,"ERLayout",{enumerable:!0,get:function(){return _.ERLayout}});var E=n(210);Object.defineProperty(e,"Layout",{enumerable:!0,get:function(){return E.Layout}}),Object.defineProperty(e,"Layouts",{enumerable:!0,get:function(){return E.Layouts}}),i(n(211),e)},function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.GridLayout=void 0;var o=n(15),a=function(t){function e(e){var n=t.call(this)||this;return n.begin=[0,0],n.preventOverlap=!0,n.preventOverlapPadding=10,n.condense=!1,n.sortBy="degree",n.nodes=[],n.edges=[],n.width=300,n.height=300,n.row=0,n.col=0,n.cellWidth=0,n.cellHeight=0,n.cellUsed={},n.id2manPos={},n.onLayoutEnd=function(){},n.updateCfg(e),n}return i(e,t),e.prototype.getDefaultCfg=function(){return{begin:[0,0],preventOverlap:!0,preventOverlapPadding:10,condense:!1,rows:void 0,cols:void 0,position:void 0,sortBy:"degree",nodeSize:30}},e.prototype.execute=function(){var t=this,e=t.nodes,n=t.edges,r=t.begin,i=e.length;if(0===i)return t.onLayoutEnd&&t.onLayoutEnd(),{nodes:e,edges:n};if(1===i)return e[0].x=r[0],e[0].y=r[1],t.onLayoutEnd&&t.onLayoutEnd(),{nodes:e,edges:n};var a=t.sortBy,s=t.width,u=t.height,c=t.condense,l=t.preventOverlapPadding,f=t.preventOverlap,h=t.nodeSpacing,d=t.nodeSize,p=[];e.forEach((function(t){p.push(t)}));var g={};if(p.forEach((function(t,e){g[t.id]=e})),("degree"===a||!(0,o.isString)(a)||void 0===p[0][a])&&(a="degree",(0,o.isNaN)(e[0].degree))){var v=(0,o.getDegree)(p.length,g,n);p.forEach((function(t,e){t.degree=v[e].all}))}p.sort((function(t,e){return e[a]-t[a]})),s||"undefined"==typeof window||(s=window.innerWidth),u||"undefined"==typeof window||(u=window.innerHeight);var y=t.rows,m=null!=t.cols?t.cols:t.columns;if(t.cells=i,null!=y&&null!=m?(t.rows=y,t.cols=m):null!=y&&null==m?(t.rows=y,t.cols=Math.ceil(t.cells/t.rows)):null==y&&null!=m?(t.cols=m,t.rows=Math.ceil(t.cells/t.cols)):(t.splits=Math.sqrt(t.cells*t.height/t.width),t.rows=Math.round(t.splits),t.cols=Math.round(t.width/t.height*t.splits)),t.rows=Math.max(t.rows,1),t.cols=Math.max(t.cols,1),t.cols*t.rows>t.cells)((x=t.small())-1)*(b=t.large())>=t.cells?t.small(x-1):(b-1)*x>=t.cells&&t.large(b-1);else for(;t.cols*t.rows<t.cells;){var b,x=t.small();((b=t.large())+1)*x>=t.cells?t.large(b+1):t.small(x+1)}if(t.cellWidth=s/t.cols,t.cellHeight=u/t.rows,c&&(t.cellWidth=0,t.cellHeight=0),f||h){var w=(0,o.getFuncByUnknownType)(10,h),_=(0,o.getFuncByUnknownType)(30,d,!1);p.forEach((function(e){e.x&&e.y||(e.x=0,e.y=0);var n,r,i=_(e)||30;(0,o.isArray)(i)?(n=i[0],r=i[1]):(n=i,r=i);var a=void 0!==w?w(e):l,s=n+a,u=r+a;t.cellWidth=Math.max(t.cellWidth,s),t.cellHeight=Math.max(t.cellHeight,u)}))}t.cellUsed={},t.row=0,t.col=0,t.id2manPos={};for(var E=0;E<p.length;E++){var S=p[E],M=void 0;if(t.position&&(M=t.position(S)),M&&(void 0!==M.row||void 0!==M.col)){var O={row:M.row,col:M.col};if(void 0===O.col)for(O.col=0;t.used(O.row,O.col);)O.col++;else if(void 0===O.row)for(O.row=0;t.used(O.row,O.col);)O.row++;t.id2manPos[S.id]=O,t.use(O.row,O.col)}t.getPos(S)}return t.onLayoutEnd&&t.onLayoutEnd(),{edges:n,nodes:p}},e.prototype.small=function(t){var e,n=this.rows||5,r=this.cols||5;null==t?e=Math.min(n,r):Math.min(n,r)===this.rows?this.rows=t:this.cols=t;return e},e.prototype.large=function(t){var e,n=this.rows||5,r=this.cols||5;null==t?e=Math.max(n,r):Math.max(n,r)===this.rows?this.rows=t:this.cols=t;return e},e.prototype.used=function(t,e){return this.cellUsed["c-".concat(t,"-").concat(e)]||!1},e.prototype.use=function(t,e){this.cellUsed["c-".concat(t,"-").concat(e)]=!0},e.prototype.moveToNextCell=function(){var t=this.cols||5;this.col++,this.col>=t&&(this.col=0,this.row++)},e.prototype.getPos=function(t){var e,n,r=this.begin,i=this.cellWidth,o=this.cellHeight,a=this.id2manPos[t.id];if(a)e=a.col*i+i/2+r[0],n=a.row*o+o/2+r[1];else{for(;this.used(this.row,this.col);)this.moveToNextCell();e=this.col*i+i/2+r[0],n=this.row*o+o/2+r[1],this.use(this.row,this.col),this.moveToNextCell()}t.x=e,t.y=n},e.prototype.getType=function(){return"grid"},e}(n(18).Base);e.GridLayout=a},function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.RandomLayout=void 0;var o=function(t){function e(e){var n=t.call(this)||this;return n.center=[0,0],n.width=300,n.height=300,n.nodes=[],n.edges=[],n.onLayoutEnd=function(){},n.updateCfg(e),n}return i(e,t),e.prototype.getDefaultCfg=function(){return{center:[0,0],width:300,height:300}},e.prototype.execute=function(){var t=this,e=t.nodes,n=t.center;return t.width||"undefined"==typeof window||(t.width=window.innerWidth),t.height||"undefined"==typeof window||(t.height=window.innerHeight),e&&e.forEach((function(e){e.x=.9*(Math.random()-.5)*t.width+n[0],e.y=.9*(Math.random()-.5)*t.height+n[1]})),t.onLayoutEnd&&t.onLayoutEnd(),{nodes:e,edges:this.edges}},e.prototype.getType=function(){return"random"},e}(n(18).Base);e.RandomLayout=o},function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.GForceLayout=void 0;var o=n(18),a=n(15),s=function(t,e){return t?(0,a.isNumber)(t)?function(e){return t}:t:function(t){return e||1}},u=function(t){function e(e){var n=t.call(this)||this;return n.maxIteration=500,n.workerEnabled=!1,n.edgeStrength=200,n.nodeStrength=1e3,n.coulombDisScale=.005,n.damping=.9,n.maxSpeed=1e3,n.minMovement=.5,n.interval=.02,n.factor=1,n.linkDistance=1,n.gravity=10,n.preventOverlap=!0,n.collideStrength=1,n.tick=function(){},n.nodes=[],n.edges=[],n.width=300,n.height=300,n.nodeMap={},n.nodeIdxMap={},n.animate=!0,n.updateCfg(e),n}return i(e,t),e.prototype.getDefaultCfg=function(){return{maxIteration:500,gravity:10,enableTick:!0,animate:!0}},e.prototype.execute=function(){var t,e,n=this,r=n.nodes;if(void 0!==n.timeInterval&&"undefined"!=typeof window&&window.clearInterval(n.timeInterval),r&&0!==r.length){n.width||"undefined"==typeof window||(n.width=window.innerWidth),n.height||"undefined"==typeof window||(n.height=window.innerHeight),n.center||(n.center=[n.width/2,n.height/2]);var i=n.center;if(1===r.length)return r[0].x=i[0],r[0].y=i[1],void(null===(e=n.onLayoutEnd)||void 0===e||e.call(n));var o={},u={};r.forEach((function(t,e){(0,a.isNumber)(t.x)||(t.x=Math.random()*n.width),(0,a.isNumber)(t.y)||(t.y=Math.random()*n.height),o[t.id]=t,u[t.id]=e})),n.nodeMap=o,n.nodeIdxMap=u,n.linkDistance=s(n.linkDistance,1),n.nodeStrength=s(n.nodeStrength,1),n.edgeStrength=s(n.edgeStrength,1);var c,l=n.nodeSize;if(n.preventOverlap){var f,h=n.nodeSpacing;f=(0,a.isNumber)(h)?function(){return h}:(0,a.isFunction)(h)?h:function(){return 0},c=l?(0,a.isArray)(l)?function(t){return Math.max(l[0],l[1])+f(t)}:function(t){return l+f(t)}:function(t){return t.size?(0,a.isArray)(t.size)?Math.max(t.size[0],t.size[1])+f(t):(0,a.isObject)(t.size)?Math.max(t.size.width,t.size.height)+f(t):t.size+f(t):10+f(t)}}n.nodeSize=c;var d=n.edges;n.degrees=(0,a.getDegree)(r.length,n.nodeIdxMap,d),n.getMass||(n.getMass=function(t){return t.mass||n.degrees[n.nodeIdxMap[t.id]].all||1}),n.run()}else null===(t=n.onLayoutEnd)||void 0===t||t.call(n)},e.prototype.run=function(){var t,e=this,n=e.maxIteration,r=e.nodes,i=e.workerEnabled,o=e.minMovement,a=e.animate;if(r)if(i||!a){for(var s=0;s<n;s++){var u=e.runOneStep(s);if(e.reachMoveThreshold(r,u,o))break}null===(t=e.onLayoutEnd)||void 0===t||t.call(e)}else{if("undefined"==typeof window)return;var c=0;this.timeInterval=window.setInterval((function(){var t,i;if(r){var a=e.runOneStep(c)||[];e.reachMoveThreshold(r,a,o)&&(null===(t=e.onLayoutEnd)||void 0===t||t.call(e),window.clearInterval(e.timeInterval)),++c>=n&&(null===(i=e.onLayoutEnd)||void 0===i||i.call(e),window.clearInterval(e.timeInterval))}}),0)}},e.prototype.reachMoveThreshold=function(t,e,n){var r=0;return t.forEach((function(t,n){var i=t.x-e[n].x,o=t.y-e[n].y;r+=Math.sqrt(i*i+o*o)})),(r/=t.length)<n},e.prototype.runOneStep=function(t){var e,n=this.nodes,r=this.edges,i=[],o=[];if(n){n.forEach((function(t,e){i[2*e]=0,i[2*e+1]=0,o[2*e]=0,o[2*e+1]=0})),this.calRepulsive(i,n),r&&this.calAttractive(i,r),this.calGravity(i,n);var a=Math.max(.02,this.interval-.002*t);this.updateVelocity(i,o,a,n);var s=[];return n.forEach((function(t){s.push({x:t.x,y:t.y})})),this.updatePosition(o,a,n),null===(e=this.tick)||void 0===e||e.call(this),s}},e.prototype.calRepulsive=function(t,e){var n=this.getMass,r=this.factor,i=this.coulombDisScale,o=this.preventOverlap,a=this.collideStrength,s=void 0===a?1:a,u=this.nodeStrength,c=this.nodeSize;e.forEach((function(a,l){var f=n?n(a):1;e.forEach((function(e,h){if(!(l>=h)){var d=a.x-e.x,p=a.y-e.y;0===d&&0===p&&(d=.01*Math.random(),p=.01*Math.random());var g=d*d+p*p,v=Math.sqrt(g),y=(v+.1)*i,m=d/v,b=p/v,x=.5*(u(a)+u(e))*r/(y*y),w=n?n(e):1;if(t[2*l]+=m*x,t[2*l+1]+=b*x,t[2*h]-=m*x,t[2*h+1]-=b*x,o&&(c(a)+c(e))/2>v){var _=s*(u(a)+u(e))*.5/g;t[2*l]+=m*_/f,t[2*l+1]+=b*_/f,t[2*h]-=m*_/w,t[2*h+1]-=b*_/w}}}))}))},e.prototype.calAttractive=function(t,e){var n=this.nodeMap,r=this.nodeIdxMap,i=this.linkDistance,o=this.edgeStrength,s=this.nodeSize,u=this.getMass;e.forEach((function(e,c){var l=(0,a.getEdgeTerminal)(e,"source"),f=(0,a.getEdgeTerminal)(e,"target"),h=n[l],d=n[f],p=d.x-h.x,g=d.y-h.y;0===p&&0===g&&(p=.01*Math.random(),g=.01*Math.random());var v=Math.sqrt(p*p+g*g),y=p/v,m=g/v,b=((i(e,h,d)||1+(s(h)+s(d)||0)/2)-v)*o(e),x=r[l],w=r[f],_=u?u(h):1,E=u?u(d):1;t[2*x]-=y*b/_,t[2*x+1]-=m*b/_,t[2*w]+=y*b/E,t[2*w+1]+=m*b/E}))},e.prototype.calGravity=function(t,e){for(var n=this.center,r=this.gravity,i=this.degrees,o=e.length,s=0;s<o;s++){var u=e[s],c=u.x-n[0],l=u.y-n[1],f=r;if(this.getCenter){var h=this.getCenter(u,i[s].all);h&&(0,a.isNumber)(h[0])&&(0,a.isNumber)(h[1])&&(0,a.isNumber)(h[2])&&(c=u.x-h[0],l=u.y-h[1],f=h[2])}f&&(t[2*s]-=f*c,t[2*s+1]-=f*l)}},e.prototype.updateVelocity=function(t,e,n,r){var i=this,o=n*i.damping;r.forEach((function(n,r){var a=t[2*r]*o||.01,s=t[2*r+1]*o||.01,u=Math.sqrt(a*a+s*s);if(u>i.maxSpeed){var c=i.maxSpeed/u;a*=c,s*=c}e[2*r]=a,e[2*r+1]=s}))},e.prototype.updatePosition=function(t,e,n){n.forEach((function(n,r){if((0,a.isNumber)(n.fx)&&(0,a.isNumber)(n.fy))return n.x=n.fx,void(n.y=n.fy);var i=t[2*r]*e,o=t[2*r+1]*e;n.x+=i,n.y+=o}))},e.prototype.stop=function(){this.timeInterval&&"undefined"!=typeof window&&window.clearInterval(this.timeInterval)},e.prototype.destroy=function(){this.stop(),this.tick=null,this.nodes=null,this.edges=null,this.destroyed=!0},e.prototype.getType=function(){return"gForce"},e}(o.Base);e.GForceLayout=u},function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)};Object.defineProperty(e,"__esModule",{value:!0}),e.Force2Layout=void 0;var a=n(18),s=n(15),u=n(155),c=function(t,e){return t?(0,s.isNumber)(t)?function(e){return t}:t:function(t){return e||1}},l=function(t){function e(e){var n=t.call(this)||this;n.maxIteration=1e3,n.workerEnabled=!1,n.edgeStrength=200,n.nodeStrength=1e3,n.coulombDisScale=.005,n.damping=.9,n.maxSpeed=500,n.minMovement=.4,n.interval=.02,n.factor=1,n.linkDistance=200,n.gravity=0,n.clusterNodeStrength=20,n.preventOverlap=!0,n.distanceThresholdMode="mean",n.tick=function(){},n.nodes=[],n.edges=[],n.width=300,n.height=300,n.nodeMap={},n.nodeIdxMap={},n.judgingDistance=0,n.centripetalOptions={leaf:2,single:2,others:1,center:function(t){return{x:n.width/2,y:n.height/2}}};var r=e.getMass;return n.propsGetMass=r,n.updateCfg(e),n}return i(e,t),e.prototype.getCentripetalOptions=function(){var t,e=this,n=e.leafCluster,r=e.clustering,i=e.nodeClusterBy,a=e.nodes,u=e.nodeMap,c=e.clusterNodeStrength,l=function(t){return"function"==typeof c?c(t):c},f={};if(n){t=this.getSameTypeLeafMap()||{};var h=Array.from(new Set(null==a?void 0:a.map((function(t){return t[i]}))))||[];f={single:100,leaf:function(e,n,r){var i=t[e.id]||{},o=i.relativeLeafNodes,a=i.sameTypeLeafNodes;return(null==a?void 0:a.length)===(null==o?void 0:o.length)||1===(null==h?void 0:h.length)?1:l(e)},others:1,center:function(e,n,r){var i,o,a=((null===(i=e.data)||void 0===i?void 0:i.layout)||{}).degree;if(!a)return{x:100,y:100};if(1===a){var u=(t[e.id]||{}).sameTypeLeafNodes,c=void 0===u?[]:u;1===c.length?o=void 0:c.length>1&&(o=(0,s.getAvgNodePosition)(c))}else o=void 0;return{x:null==o?void 0:o.x,y:null==o?void 0:o.y}}}}if(r){t||(t=this.getSameTypeLeafMap());var d=Array.from(new Set(a.map((function(t,e){return t[i]})))).filter((function(t){return void 0!==t})),p={};d.forEach((function(t){var e=a.filter((function(e){return e[i]===t})).map((function(t){return u[t.id]}));p[t]=(0,s.getAvgNodePosition)(e)})),f={single:function(t){return l(t)},leaf:function(t){return l(t)},others:function(t){return l(t)},center:function(t,e,n){var r=p[t[i]];return{x:null==r?void 0:r.x,y:null==r?void 0:r.y}}}}this.centripetalOptions=o(o({},this.centripetalOptions),f);var g=this.centripetalOptions,v=g.leaf,y=g.single,m=g.others;v&&"function"!=typeof v&&(this.centripetalOptions.leaf=function(){return v}),y&&"function"!=typeof y&&(this.centripetalOptions.single=function(){return y}),m&&"function"!=typeof m&&(this.centripetalOptions.others=function(){return m})},e.prototype.updateCfg=function(t){t&&Object.assign(this,t)},e.prototype.getDefaultCfg=function(){return{maxIteration:500,gravity:10,enableTick:!0,animate:!0}},e.prototype.execute=function(){var t=this;t.stop();var e=t.nodes,n=t.edges,r=t.defSpringLen;if(t.judgingDistance=0,e&&0!==e.length){t.width||"undefined"==typeof window||(t.width=window.innerWidth),t.height||"undefined"==typeof window||(t.height=window.innerHeight),t.center||(t.center=[t.width/2,t.height/2]);var i=t.center;if(1===e.length)return e[0].x=i[0],e[0].y=i[1],void t.onLayoutEnd([o({},e[0])]);t.degreesMap=(0,s.getDegreeMap)(e,n),t.propsGetMass?t.getMass=t.propsGetMass:t.getMass=function(e){var n=1;(0,s.isNumber)(e.mass)&&(n=e.mass);var r=t.degreesMap[e.id].all;return!r||r<5?n:5*r*n};var a,u=t.nodeSize;if(t.preventOverlap){var l,f=t.nodeSpacing;l=(0,s.isNumber)(f)?function(){return f}:(0,s.isFunction)(f)?f:function(){return 0},a=u?(0,s.isArray)(u)?function(t){return Math.max(u[0],u[1])+l(t)}:function(t){return u+l(t)}:function(t){return t.size?(0,s.isArray)(t.size)?Math.max(t.size[0],t.size[1])+l(t):(0,s.isObject)(t.size)?Math.max(t.size.width,t.size.height)+l(t):t.size+l(t):10+l(t)}}t.nodeSize=a,t.linkDistance=c(t.linkDistance,1),t.nodeStrength=c(t.nodeStrength,1),t.edgeStrength=c(t.edgeStrength,1);var h={},d={};e.forEach((function(e,r){(0,s.isNumber)(e.x)||(e.x=Math.random()*t.width),(0,s.isNumber)(e.y)||(e.y=Math.random()*t.height);var i=t.degreesMap[e.id];h[e.id]=o(o({},e),{data:o(o({},e.data),{size:t.nodeSize(e)||30,layout:{inDegree:i.in,outDegree:i.out,degree:i.all,tDegree:i.in,sDegree:i.out,force:{mass:t.getMass(e),nodeStrength:t.nodeStrength(e,n)}}})}),d[e.id]=r})),t.nodeMap=h,t.nodeIdxMap=d,t.edgeInfos=[],null==n||n.forEach((function(e){var n=h[e.source],i=h[e.target];n&&i?t.edgeInfos.push({edgeStrength:t.edgeStrength(e),linkDistance:r?r(o(o({},e),{source:n,target:i}),n,i):t.linkDistance(e,n,i)||1+(u(n)+u(n)||0)/2}):elf.edgeInfos.push({})})),this.getCentripetalOptions(),t.onLayoutEnd=t.onLayoutEnd||function(){},t.run()}else t.onLayoutEnd([])},e.prototype.run=function(){var t=this,e=t.maxIteration,n=t.nodes,r=t.edges,i=t.workerEnabled,o=t.minMovement,a=t.animate,s=t.nodeMap,u=t.height;if(t.currentMinY=0,t.currentMaxY=u,n){var c=[];if(n.forEach((function(t,e){c[2*e]=0,c[2*e+1]=0})),this.defSideCoe&&"function"==typeof this.defSideCoe){var l={};r.forEach((function(t){var e=t.source,n=t.target;l[e]=l[e]||[],l[e].push(t),l[n]=l[n]||[],l[n].push(t)})),this.relatedEdges=l}var f=e;if(i||!a){for(var h=0;(t.judgingDistance>o||h<1)&&h<f;h++)h,t.runOneStep(h,c);t.onLayoutEnd(Object.values(s))}else{if("undefined"==typeof window)return;var d=0;this.timeInterval=window.setInterval((function(){n&&(t.runOneStep(d,c),(++d>=f||t.judgingDistance<o)&&(t.onLayoutEnd(Object.values(s)),window.clearInterval(t.timeInterval)))}),0)}}},e.prototype.runOneStep=function(t,e){var n,r=this.nodes,i=this.edges,o=(this.nodeMap,this.monitor),a=[];if(null==r?void 0:r.length){this.calRepulsive(a),i&&this.calAttractive(a),this.calGravity(a),this.attractToSide(a);var s=this.interval;if(this.updateVelocity(a,e,s),this.updatePosition(e,s),null===(n=this.tick)||void 0===n||n.call(this),o)o({energy:this.calTotalEnergy(a),nodes:r,edges:i,iterations:t})}},e.prototype.calTotalEnergy=function(t){var e=this.nodes,n=this.nodeMap;if(!(null==e?void 0:e.length))return 0;var r=0;return e.forEach((function(e,i){var o=t[2*i],a=t[2*i+1],s=o*o+a*a,u=n[e.id].data.layout.force.mass;r+=(void 0===u?1:u)*s*.5})),r},e.prototype.calRepulsive=function(t){var e=this.nodes,n=this.nodeMap,r=this.factor,i=this.coulombDisScale;this.nodeSize;(0,u.forceNBody)(e,n,r,i*i,t)},e.prototype.calAttractive=function(t){var e=this.edges,n=this.nodeMap,r=this.nodeIdxMap,i=this.edgeInfos;this.nodeSize;e.forEach((function(e,o){var a=(0,s.getEdgeTerminal)(e,"source"),u=(0,s.getEdgeTerminal)(e,"target"),c=n[a],l=n[u];if(c&&l){var f=l.x-c.x,h=l.y-c.y;f||h||(f=.01*Math.random(),h=.01*Math.random());var d=Math.sqrt(f*f+h*h),p=f/d,g=h/d,v=i[o]||{},y=v.linkDistance,m=void 0===y?200:y,b=v.edgeStrength,x=(m-d)*(void 0===b?200:b),w=1/(c.data.layout.force.mass||1),_=1/(l.data.layout.force.mass||1),E=p*x,S=g*x,M=2*r[a],O=2*r[u];t[M]-=E*w,t[M+1]-=S*w,t[O]+=E*_,t[O+1]+=S*_}}))},e.prototype.calGravity=function(t){var e,n=this.nodes,r=this.edges,i=void 0===r?[]:r,o=this.nodeMap,a=this.width,u=this.height,c=this.center,l=this.gravity,f=this.degreesMap,h=this.centripetalOptions;if(n)for(var d=n.length,p=0;p<d;p++){var g=2*p,v=o[n[p].id],y=v.data.layout.force.mass,m=void 0===y?1:y,b=0,x=0,w=l,_=f[v.id],E=_.in,S=_.out,M=_.all,O=null===(e=this.getCenter)||void 0===e?void 0:e.call(this,v,M);if(O){var k=O[0],A=O[1],C=O[2];b=v.x-k,x=v.y-A,w=C}else b=v.x-c[0],x=v.y-c[1];if(w&&(t[g]-=w*b/m,t[g+1]-=w*x/m),h){var j=h.leaf,I=h.single,T=h.others,N=h.center,P=(null==N?void 0:N(v,n,i,a,u))||{x:0,y:0,centerStrength:0},D=P.x,L=P.y,R=P.centerStrength;if(!(0,s.isNumber)(D)||!(0,s.isNumber)(L))continue;var B=(v.x-D)/m,F=(v.y-L)/m;if(R&&(t[g]-=R*B,t[g+1]-=R*F),0===M){var z=I(v);if(!z)continue;t[g]-=z*B,t[g+1]-=z*F;continue}if(0===E||0===S){var G=j(v,n,i);if(!G)continue;t[g]-=G*B,t[g+1]-=G*F;continue}var Y=T(v);if(!Y)continue;t[g]-=Y*B,t[g+1]-=Y*F}}},e.prototype.attractToSide=function(t){var e=this,n=e.defSideCoe,r=(e.height,e.nodes),i=e.relatedEdges,o=e.currentMinY,a=void 0===o?0:o,s=e.currentMaxY,u=void 0===s?this.height:s;n&&"function"==typeof n&&(null==r?void 0:r.length)&&r.forEach((function(e,r){var o=n(e,i[e.id]||[]);if(0!==o){var s=o<0?a:u,c=Math.abs(o);t[2*r+1]-=c*(e.y-s)}}))},e.prototype.updateVelocity=function(t,e,n){var r=this.nodes,i=this.damping,o=this.maxSpeed;(null==r?void 0:r.length)&&r.forEach((function(r,a){var s=(e[2*a]+t[2*a]*n)*i||.01,u=(e[2*a+1]+t[2*a+1]*n)*i||.01,c=Math.sqrt(s*s+u*u);if(c>o){var l=o/c;s*=l,u*=l}e[2*a]=s,e[2*a+1]=u}))},e.prototype.updatePosition=function(t,e){var n=this,r=n.nodes,i=n.distanceThresholdMode,o=n.nodeMap;if(null==r?void 0:r.length){var a=0;"max"===i?n.judgingDistance=-1/0:"min"===i&&(n.judgingDistance=1/0);var u=1/0,c=-1/0;r.forEach((function(r,l){var f=o[r.id];if((0,s.isNumber)(r.fx)&&(0,s.isNumber)(r.fy))return r.x=r.fx,r.y=r.fy,f.x=r.x,void(f.y=r.y);var h=t[2*l]*e,d=t[2*l+1]*e;r.x+=h,r.y+=d,f.x=r.x,f.y=r.y,r.y<u&&(u=r.y),r.y>c&&(c=r.y);var p=Math.sqrt(h*h+d*d);switch(i){case"max":n.judgingDistance<p&&(n.judgingDistance=p);break;case"min":n.judgingDistance>p&&(n.judgingDistance=p);break;default:a+=p}})),this.currentMinY=u,this.currentMaxY=c,i&&"mean"!==i||(n.judgingDistance=a/r.length)}else this.judgingDistance=0},e.prototype.stop=function(){this.timeInterval&&"undefined"!=typeof window&&window.clearInterval(this.timeInterval)},e.prototype.destroy=function(){this.stop(),this.tick=null,this.nodes=null,this.edges=null,this.destroyed=!0},e.prototype.getType=function(){return"force2"},e.prototype.getSameTypeLeafMap=function(){var t=this,e=t.nodeClusterBy,n=t.nodes,r=t.edges,i=t.nodeMap,o=t.degreesMap;if(null==n?void 0:n.length){var a={};return n.forEach((function(t,n){1===o[t.id].all&&(a[t.id]=(0,s.getCoreNodeAndRelativeLeafNodes)("leaf",t,r,e,o,i))})),a}},e}(a.Base);e.Force2Layout=l},function(t,e,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!("get"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),i=this&&this.__exportStar||function(t,e){for(var n in t)"default"===n||Object.prototype.hasOwnProperty.call(e,n)||r(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),i(n(156),e)},function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.CircularLayout=void 0;var o=n(18),a=n(15);function s(t,e){var n=t.degree,r=e.degree;return n<r?-1:n>r?1:0}var u=function(t){function e(e){var n=t.call(this)||this;return n.radius=null,n.nodeSize=void 0,n.startRadius=null,n.endRadius=null,n.startAngle=0,n.endAngle=2*Math.PI,n.clockwise=!0,n.divisions=1,n.ordering=null,n.angleRatio=1,n.nodes=[],n.edges=[],n.nodeMap={},n.degrees=[],n.width=300,n.height=300,n.updateCfg(e),n}return i(e,t),e.prototype.getDefaultCfg=function(){return{radius:null,startRadius:null,endRadius:null,startAngle:0,endAngle:2*Math.PI,clockwise:!0,divisions:1,ordering:null,angleRatio:1}},e.prototype.execute=function(){var t,e=this.nodes,n=this.edges,r=e.length;if(0!==r){this.width||"undefined"==typeof window||(this.width=window.innerWidth),this.height||"undefined"==typeof window||(this.height=window.innerHeight),this.center||(this.center=[this.width/2,this.height/2]);var i=this.center;if(1===r)return e[0].x=i[0],e[0].y=i[1],void(this.onLayoutEnd&&this.onLayoutEnd());var o=this.radius,s=this.startRadius,u=this.endRadius,c=this.divisions,l=this.startAngle,f=this.endAngle,h=this.angleRatio,d=this.ordering,p=this.clockwise,g=this.nodeSpacing,v=this.nodeSize,y=(f-l)/r,m={};e.forEach((function(t,e){m[t.id]=e})),this.nodeMap=m;var b=(0,a.getDegree)(e.length,m,n);if(this.degrees=b,g){var x=(0,a.getFuncByUnknownType)(10,g),w=(0,a.getFuncByUnknownType)(10,v),_=-1/0;e.forEach((function(t){var e=w(t);_<e&&(_=e)}));var E=0;e.forEach((function(t,e){E+=0===e?_||10:(x(t)||0)+(_||10)})),o=E/(2*Math.PI)}else o||s||u?!s&&u?s=u:s&&!u&&(u=s):o=this.height>this.width?this.width/2:this.height/2;var S=y*h,M=[];M="topology"===d?this.topologyOrdering():"topology-directed"===d?this.topologyOrdering(!0):"degree"===d?this.degreeOrdering():e;for(var O=Math.ceil(r/c),k=0;k<r;++k){var A=o;A||null===s||null===u||(A=s+k*(u-s)/(r-1)),A||(A=10+100*k/(r-1));var C=l+k%O*S+2*Math.PI/c*Math.floor(k/O);p||(C=f-k%O*S-2*Math.PI/c*Math.floor(k/O)),M[k].x=i[0]+Math.cos(C)*A,M[k].y=i[1]+Math.sin(C)*A,M[k].weight=b[k].all}return null===(t=this.onLayoutEnd)||void 0===t||t.call(this),{nodes:M,edges:this.edges}}this.onLayoutEnd&&this.onLayoutEnd()},e.prototype.topologyOrdering=function(t){void 0===t&&(t=!1);var e=this.degrees,n=this.edges,r=this.nodes,i=(0,a.clone)(r),o=this.nodeMap,s=[i[0]],u=[r[0]],c=[],l=r.length;c[0]=!0,function(t,e,n,r){t.forEach((function(e,n){t[n].children=[],t[n].parent=[]})),r?e.forEach((function(e){var r=(0,a.getEdgeTerminal)(e,"source"),i=(0,a.getEdgeTerminal)(e,"target"),o=0;r&&(o=n[r]);var s=0;i&&(s=n[i]);var u=t[o].children,c=t[s].parent;u.push(t[s].id),c.push(t[o].id)})):e.forEach((function(e){var r=(0,a.getEdgeTerminal)(e,"source"),i=(0,a.getEdgeTerminal)(e,"target"),o=0;r&&(o=n[r]);var s=0;i&&(s=n[i]);var u=t[o].children,c=t[s].children;u.push(t[s].id),c.push(t[o].id)}))}(i,n,o,t);var f=0;return i.forEach((function(t,h){if(0!==h)if(h!==l-1&&e[h].all===e[h+1].all&&!function(t,e,n){for(var r=n.length,i=0;i<r;i++){var o=(0,a.getEdgeTerminal)(n[i],"source"),s=(0,a.getEdgeTerminal)(n[i],"target");if(t.id===o&&e.id===s||e.id===o&&t.id===s)return!0}return!1}(s[f],t,n)||c[h]){for(var d=s[f].children,p=!1,g=0;g<d.length;g++){var v=o[d[g]];if(e[v].all===e[h].all&&!c[v]){s.push(i[v]),u.push(r[o[i[v].id]]),c[v]=!0,p=!0;break}}for(var y=0;!p&&(c[y]||(s.push(i[y]),u.push(r[o[i[y].id]]),c[y]=!0,p=!0),++y!==l););}else s.push(t),u.push(r[o[t.id]]),c[h]=!0,f++})),u},e.prototype.degreeOrdering=function(){var t=this.nodes,e=[],n=this.degrees;return t.forEach((function(t,r){t.degree=n[r].all,e.push(t)})),e.sort(s),e},e.prototype.getType=function(){return"circular"},e}(o.Base);e.CircularLayout=u},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.feasibleTreeWithLayer=e.feasibleTree=void 0;var r=n(63),i=n(26),o=n(35),a=function(t){var e,n,i=new o.Graph({directed:!1}),a=t.nodes()[0],u=t.nodeCount();for(i.setNode(a,{});s(i,t)<u;)e=l(i,t),n=i.hasNode(e.v)?(0,r.slack)(t,e):-(0,r.slack)(t,e),f(i,t,n);return i};e.feasibleTree=a;var s=function(t,e){var n=function(i){e.nodeEdges(i).forEach((function(o){var a=o.v,s=i===a?o.w:a;t.hasNode(s)||(0,r.slack)(e,o)||(t.setNode(s,{}),t.setEdge(i,s,{}),n(s))}))};return t.nodes().forEach(n),t.nodeCount()},u=function(t){var e,n,i=new o.Graph({directed:!1}),a=t.nodes()[0],s=t.nodes().filter((function(e){return!!t.node(e)})).length;for(i.setNode(a,{});c(i,t)<s;)e=l(i,t),n=i.hasNode(e.v)?(0,r.slack)(t,e):-(0,r.slack)(t,e),f(i,t,n);return i};e.feasibleTreeWithLayer=u;var c=function(t,e){var n=function(i){var o;null===(o=e.nodeEdges(i))||void 0===o||o.forEach((function(o){var a=o.v,s=i===a?o.w:a;t.hasNode(s)||void 0===e.node(s).layer&&(0,r.slack)(e,o)||(t.setNode(s,{}),t.setEdge(i,s,{}),n(s))}))};return t.nodes().forEach(n),t.nodeCount()},l=function(t,e){return(0,i.minBy)(e.edges(),(function(n){return t.hasNode(n.v)!==t.hasNode(n.w)?(0,r.slack)(e,n):1/0}))},f=function(t,e,n){t.nodes().forEach((function(t){e.node(t).rank||(e.node(t).rank=0),e.node(t).rank+=n}))};e.default={feasibleTree:a,feasibleTreeWithLayer:u}},function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)},a=this&&this.__spreadArray||function(t,e,n){if(n||2===arguments.length)for(var r,i=0,o=e.length;i<o;i++)!r&&i in e||(r||(r=Array.prototype.slice.call(e,0,i)),r[i]=e[i]);return t.concat(r||Array.prototype.slice.call(e))};Object.defineProperty(e,"__esModule",{value:!0}),e.DagreCompoundLayout=void 0;var s=n(18),u=n(182),c=n(15),l=function(t){function e(e){var n=t.call(this)||this;return n.rankdir="TB",n.nodesep=50,n.edgesep=5,n.ranksep=50,n.controlPoints=!0,n.anchorPoint=!0,n.nodes=[],n.edges=[],n.combos=[],n.onLayoutEnd=function(){},n.updateCfg(e),n}return i(e,t),e.prototype.getDefaultCfg=function(){return{rankdir:"TB",align:void 0,begin:void 0,nodeSize:void 0,nodesep:50,ranksep:50,controlPoints:!0,anchorPoint:!0}},e.prototype.init=function(t){var e=t.hiddenNodes||[],n=t.hiddenEdges||[],r=t.hiddenCombos||[];this.nodes=this.getDataByOrder((t.nodes||[]).concat(e)),this.edges=this.getDataByOrder((t.edges||[]).concat(n)),this.combos=(t.combos||[]).concat(r.map((function(t){return o(o({},t),{collapsed:!0})})))},e.prototype.execute=function(){var t=this.nodes,e=this.edges;if(t){var n=this.getLayoutConfig(),r=n.graphDef,i=n.graphOption,o=n.graphSettings,a=(0,u.buildGraph)(r,i,o),s=(0,u.flatGraph)(a,!0);return this.updatePosition(s),this.onLayoutEnd&&this.onLayoutEnd(),{nodes:t,edges:e}}},e.prototype.getNodePath=function(t){var e=this.nodes,n=this.combos,r=e.find((function(e){return e.id===t})),i=function(t,e){void 0===e&&(e=[]);var r=n.find((function(e){return e.id===t}));return r?(e.unshift(t),r.parentId?i(r.parentId,e):e):e};return r&&r.comboId?i(r.comboId,[t]):[t]},e.prototype.getLayoutConfig=function(){var t,e,n,r,i=this.nodes,s=this.edges,l=this.combos,f=this.nodeSize,h=this.rankdir,d=this.align,p=this.edgesep,g=this.nodesep,v=this.ranksep,y=this.settings,m=(l||[]).reduce((function(t,e){var n=i.filter((function(t){return t.comboId===e.id})).map((function(t){return t.id})),r=(l||[]).filter((function(t){return t.parentId===e.id})).map((function(t){return t.id}));return(n.length||r.length)&&(t[e.id]=a(a([],n,!0),r,!0)),t}),{});r=f?(0,c.isArray)(f)?function(){return f}:function(){return[f,f]}:function(t){return t&&t.size?(0,c.isArray)(t.size)?t.size:(0,c.isObject)(t.size)?[t.size.width||40,t.size.height||40]:[t.size,t.size]:[40,40]};var b,x=(b=null==l?void 0:l[0])&&b.size?(0,c.isArray)(b.size)?b.size:[b.size,b.size]:[80,40],w=x[0],_=x[1],E=null===(e=null===(t=this.graphSettings)||void 0===t?void 0:t.subScene)||void 0===e?void 0:e.meta,S=(null===(n=l.find((function(t){return!t.collapsed})))||void 0===n?void 0:n.padding)||[20,20,20,20],M=S[0],O=S[1],k=S[2],A=S[3],C={compound:m,nodes:a([],(i||[]).map((function(t){var e=r(t),n=e[0],i=e[1];return o(o({},t),{width:n,height:i})})),!0),edges:a([],(s||[]).map((function(t){return o(o({},t),{v:t.source,w:t.target})})),!0)},j={expanded:(l||[]).filter((function(t){return!t.collapsed})).map((function(t){return t.id}))},I={graph:{meta:{align:d,rankDir:h,nodeSep:g,edgeSep:p,rankSep:v}},subScene:{meta:{paddingTop:M||(null==E?void 0:E.paddingTop)||20,paddingRight:O||(null==E?void 0:E.paddingRight)||20,paddingBottom:k||(null==E?void 0:E.paddingBottom)||20,paddingLeft:A||(null==E?void 0:E.paddingLeft)||20,labelHeight:0}},nodeSize:{meta:{width:w,height:_}}},T=(0,u.mergeConfig)(y,o({},(0,u.mergeConfig)(I,u.LAYOUT_CONFIG)));return this.graphSettings=T,{graphDef:C,graphOption:j,graphSettings:T}},e.prototype.updatePosition=function(t){var e=t.nodes,n=t.edges;this.updateNodePosition(e,n),this.updateEdgePosition(e,n)},e.prototype.getBegin=function(t,e){var n=this.begin,r=[0,0];if(n){var i=1/0,o=1/0;t.forEach((function(t){i>t.x&&(i=t.x),o>t.y&&(o=t.y)})),e.forEach((function(t){t.points.forEach((function(t){i>t.x&&(i=t.x),o>t.y&&(o=t.y)}))})),r[0]=n[0]-i,r[1]=n[1]-o}return r},e.prototype.updateNodePosition=function(t,e){var n=this.combos,r=this.nodes,i=this.edges,o=this.anchorPoint,a=this.graphSettings,s=this.getBegin(t,e);t.forEach((function(t){var c,l=t.x,f=t.y,h=t.id,d=t.type,p=t.coreBox;if(d===u.HierarchyNodeType.META&&h!==u.ROOT_NAME){var g=n.findIndex((function(t){return t.id===h})),v=null===(c=null==a?void 0:a.subScene)||void 0===c?void 0:c.meta;n[g].offsetX=l+s[0],n[g].offsetY=f+s[1],n[g].fixSize=[p.width,p.height],n[g].fixCollapseSize=[p.width,p.height],t.expanded?n[g].padding=[null==v?void 0:v.paddingTop,null==v?void 0:v.paddingRight,null==v?void 0:v.paddingBottom,null==v?void 0:v.paddingLeft]:n[g].padding=[0,0,0,0]}else if(d===u.HierarchyNodeType.OP){g=r.findIndex((function(t){return t.id===h}));if(r[g].x=l+s[0],r[g].y=f+s[1],o){var y=[],m=e.filter((function(t){return t.v===h})),b=e.filter((function(t){return t.w===h}));m.length>0&&m.forEach((function(e){var n=e.points[0],r=(n.x-l)/t.width+.5,o=(n.y-f)/t.height+.5;y.push([r,o]),e.baseEdgeList.forEach((function(t){var e=i.find((function(e){return e.source===t.v&&e.target===t.w}));e&&(e.sourceAnchor=y.length-1)}))})),b.length>0&&b.forEach((function(e){var n=e.points[e.points.length-1],r=(n.x-l)/t.width+.5,o=(n.y-f)/t.height+.5;y.push([r,o]),e.baseEdgeList.forEach((function(t){var e=i.find((function(e){return e.source===t.v&&e.target===t.w}));e&&(e.targetAnchor=y.length-1)}))})),r[g].anchorPoints=y.length>0?y:r[g].anchorPoints||[]}}}))},e.prototype.updateEdgePosition=function(t,e){var n=this,r=n.combos,i=n.edges,s=n.controlPoints,c=this.getBegin(t,e);s&&(r.forEach((function(t){t.inEdges=[],t.outEdges=[]})),i.forEach((function(e){var i,s,l,f,h=t.find((function(t){return t.id===e.source})),d=t.find((function(t){return t.id===e.target})),p=[],g=[];if(h&&d)g=(0,u.getEdges)(null==h?void 0:h.id,null==d?void 0:d.id,t);else if(!h||!d){var v=n.getNodePath(e.source),y=n.getNodePath(e.target),m=v.reverse().slice(h?0:1).find((function(e){return t.find((function(t){return t.id===e}))})),b=y.reverse().slice(d?0:1).find((function(e){return t.find((function(t){return t.id===e}))}));h=t.find((function(t){return t.id===m})),d=t.find((function(t){return t.id===b})),g=(0,u.getEdges)(null==h?void 0:h.id,null==d?void 0:d.id,t,{v:e.source,w:e.target})}if(p=(p=g.reduce((function(t,e){return a(a([],t,!0),e.points.map((function(t){return o(o({},t),{x:t.x+c[0],y:t.y+c[1]})})),!0)}),[])).slice(1,-1),e.controlPoints=p,(null==d?void 0:d.type)===u.NodeType.META){var x=r.findIndex((function(t){return t.id===(null==d?void 0:d.id)}));if(!r[x]||(null===(i=r[x].inEdges)||void 0===i?void 0:i.some((function(t){return t.source===h.id&&t.target===d.id}))))return;null===(s=r[x].inEdges)||void 0===s||s.push({source:h.id,target:d.id,controlPoints:p})}if((null==h?void 0:h.type)===u.NodeType.META){x=r.findIndex((function(t){return t.id===(null==h?void 0:h.id)}));if(!r[x]||(null===(l=r[x].outEdges)||void 0===l?void 0:l.some((function(t){return t.source===h.id&&t.target===d.id}))))return;null===(f=r[x].outEdges)||void 0===f||f.push({source:h.id,target:d.id,controlPoints:p})}})))},e.prototype.getType=function(){return"dagreCompound"},e.prototype.getDataByOrder=function(t){return t.every((function(t){return void 0!==t.layoutOrder}))||t.forEach((function(t,e){t.layoutOrder=e})),t.sort((function(t,e){return t.layoutOrder-e.layoutOrder}))},e}(s.Base);e.DagreCompoundLayout=l},function(t,e){function n(t){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(t){"object"===("undefined"==typeof window?"undefined":n(window))&&(r=window)}t.exports=r},function(t,e,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!("get"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),i=this&&this.__exportStar||function(t,e){for(var n in t)"default"===n||Object.prototype.hasOwnProperty.call(e,n)||r(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),i(n(183),e)},function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.ConcentricLayout=void 0;var o=n(15),a=function(t){function e(e){var n=t.call(this)||this;return n.nodeSize=30,n.minNodeSpacing=10,n.nodeSpacing=10,n.preventOverlap=!1,n.equidistant=!1,n.startAngle=1.5*Math.PI,n.clockwise=!0,n.sortBy="degree",n.nodes=[],n.edges=[],n.width=300,n.height=300,n.onLayoutEnd=function(){},n.updateCfg(e),n}return i(e,t),e.prototype.getDefaultCfg=function(){return{nodeSize:30,minNodeSpacing:10,nodeSpacing:10,preventOverlap:!1,sweep:void 0,equidistant:!1,startAngle:1.5*Math.PI,clockwise:!0,maxLevelDiff:void 0,sortBy:"degree"}},e.prototype.execute=function(){var t,e,n=this,r=n.nodes,i=n.edges,a=r.length;if(0!==a){n.width||"undefined"==typeof window||(n.width=window.innerWidth),n.height||"undefined"==typeof window||(n.height=window.innerHeight),n.center||(n.center=[n.width/2,n.height/2]);var s=n.center;if(1===a)return r[0].x=s[0],r[0].y=s[1],void(null===(e=n.onLayoutEnd)||void 0===e||e.call(n));var u,c=n.nodeSize,l=n.nodeSpacing,f=[],h=0;u=(0,o.isArray)(c)?Math.max(c[0],c[1]):c,(0,o.isArray)(l)?h=Math.max(l[0],l[1]):(0,o.isNumber)(l)&&(h=l),r.forEach((function(t){f.push(t);var e=u;(0,o.isArray)(t.size)?e=Math.max(t.size[0],t.size[1]):(0,o.isNumber)(t.size)?e=t.size:(0,o.isObject)(t.size)&&(e=Math.max(t.size.width,t.size.height)),u=Math.max(u,e),(0,o.isFunction)(l)&&(h=Math.max(l(t),h))})),n.clockwise=void 0!==n.counterclockwise?!n.counterclockwise:n.clockwise;var d={},p={};if(f.forEach((function(t,e){d[t.id]=t,p[t.id]=e})),!("degree"!==n.sortBy&&(0,o.isString)(n.sortBy)&&void 0!==f[0][n.sortBy]||(n.sortBy="degree",(0,o.isNumber)(r[0].degree)))){var g=(0,o.getDegree)(r.length,p,i);f.forEach((function(t,e){t.degree=g[e].all}))}f.sort((function(t,e){return e[n.sortBy]-t[n.sortBy]})),n.maxValueNode=f[0],n.maxLevelDiff=n.maxLevelDiff||n.maxValueNode[n.sortBy]/4;var v=[[]],y=v[0];f.forEach((function(t){if(y.length>0){var e=Math.abs(y[0][n.sortBy]-t[n.sortBy]);n.maxLevelDiff&&e>=n.maxLevelDiff&&(y=[],v.push(y))}y.push(t)}));var m=u+(h||n.minNodeSpacing);if(!n.preventOverlap){var b=v.length>0&&v[0].length>1,x=(Math.min(n.width,n.height)/2-m)/(v.length+(b?1:0));m=Math.min(m,x)}var w=0;if(v.forEach((function(t){var e=n.sweep;void 0===e&&(e=2*Math.PI-2*Math.PI/t.length);var r=t.dTheta=e/Math.max(1,t.length-1);if(t.length>1&&n.preventOverlap){var i=Math.cos(r)-Math.cos(0),o=Math.sin(r)-Math.sin(0),a=Math.sqrt(m*m/(i*i+o*o));w=Math.max(a,w)}t.r=w,w+=m})),n.equidistant){for(var _=0,E=0,S=0;S<v.length;S++){var M=v[S].r-E;_=Math.max(_,M)}E=0,v.forEach((function(t,e){0===e&&(E=t.r),t.r=E,E+=_}))}return v.forEach((function(t){var e=t.dTheta,r=t.r;t.forEach((function(t,i){var o=n.startAngle+(n.clockwise?1:-1)*e*i;t.x=s[0]+r*Math.cos(o),t.y=s[1]+r*Math.sin(o)}))})),n.onLayoutEnd&&n.onLayoutEnd(),{nodes:r,edges:i}}null===(t=n.onLayoutEnd)||void 0===t||t.call(n)},e.prototype.getType=function(){return"concentric"},e}(n(18).Base);e.ConcentricLayout=a},function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.MDSLayout=void 0;var o=n(109),a=n(15),s=function(t){function e(e){var n=t.call(this)||this;return n.center=[0,0],n.linkDistance=50,n.nodes=[],n.edges=[],n.onLayoutEnd=function(){},n.updateCfg(e),n}return i(e,t),e.prototype.getDefaultCfg=function(){return{center:[0,0],linkDistance:50}},e.prototype.execute=function(){var t=this.nodes,e=this.edges,n=void 0===e?[]:e,r=this.center;if(t&&0!==t.length){if(1===t.length)return t[0].x=r[0],t[0].y=r[1],void(this.onLayoutEnd&&this.onLayoutEnd());var i=this.linkDistance,o=(0,a.getAdjMatrix)({nodes:t,edges:n},!1),s=(0,a.floydWarshall)(o);this.handleInfinity(s);var u=(0,a.scaleMatrix)(s,i);this.scaledDistances=u;var c=this.runMDS();return this.positions=c,c.forEach((function(e,n){t[n].x=e[0]+r[0],t[n].y=e[1]+r[1]})),this.onLayoutEnd&&this.onLayoutEnd(),{nodes:t,edges:n}}this.onLayoutEnd&&this.onLayoutEnd()},e.prototype.runMDS=function(){var t=this.scaledDistances,e=o.Matrix.mul(o.Matrix.pow(t,2),-.5),n=e.mean("row"),r=e.mean("column"),i=e.mean();e.add(i).subRowVector(n).subColumnVector(r);var a=new o.SingularValueDecomposition(e),s=o.Matrix.sqrt(a.diagonalMatrix).diagonal();return a.leftSingularVectors.toJSON().map((function(t){return o.Matrix.mul([t],[s]).toJSON()[0].splice(0,2)}))},e.prototype.handleInfinity=function(t){var e=-999999;t.forEach((function(t){t.forEach((function(t){t!==1/0&&e<t&&(e=t)}))})),t.forEach((function(n,r){n.forEach((function(n,i){n===1/0&&(t[r][i]=e)}))}))},e.prototype.getType=function(){return"mds"},e}(n(18).Base);e.MDSLayout=s},function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.FruchtermanLayout=void 0;var o=n(18),a=n(15),s=function(t){function e(e){var n=t.call(this)||this;return n.maxIteration=1e3,n.workerEnabled=!1,n.gravity=10,n.speed=5,n.clustering=!1,n.clusterGravity=10,n.nodes=[],n.edges=[],n.width=300,n.height=300,n.nodeMap={},n.nodeIdxMap={},n.onLayoutEnd=function(){},n.tick=function(){},n.animate=!0,n.updateCfg(e),n}return i(e,t),e.prototype.getDefaultCfg=function(){return{maxIteration:1e3,gravity:10,speed:1,clustering:!1,clusterGravity:10,animate:!0}},e.prototype.execute=function(){var t,e,n=this,r=this.nodes;if(void 0!==this.timeInterval&&"undefined"!=typeof window&&window.clearInterval(this.timeInterval),r&&0!==r.length){this.width||"undefined"==typeof window||(this.width=window.innerWidth),this.height||"undefined"==typeof window||(this.height=window.innerHeight),this.center||(this.center=[this.width/2,this.height/2]);var i=this.center;if(1===r.length)return r[0].x=i[0],r[0].y=i[1],void(null===(e=this.onLayoutEnd)||void 0===e||e.call(this));var o={},s={};return r.forEach((function(t,e){(0,a.isNumber)(t.x)||(t.x=Math.random()*n.width),(0,a.isNumber)(t.y)||(t.y=Math.random()*n.height),o[t.id]=t,s[t.id]=e})),this.nodeMap=o,this.nodeIdxMap=s,this.run()}null===(t=this.onLayoutEnd)||void 0===t||t.call(this)},e.prototype.run=function(){var t,e=this,n=e.nodes;if(n){var r=e.edges,i=e.maxIteration,o=e.workerEnabled,a=e.clustering,s=e.animate,u={};if(a&&n.forEach((function(t){void 0===u[t.cluster]&&(u[t.cluster]={name:t.cluster,cx:0,cy:0,count:0})})),o||!s){for(var c=0;c<i;c++)e.runOneStep(u);null===(t=e.onLayoutEnd)||void 0===t||t.call(e)}else{if("undefined"==typeof window)return;var l=0;this.timeInterval=window.setInterval((function(){var t;e.runOneStep(u),++l>=i&&(null===(t=e.onLayoutEnd)||void 0===t||t.call(e),window.clearInterval(e.timeInterval))}),0)}return{nodes:n,edges:r}}},e.prototype.runOneStep=function(t){var e,n=this.nodes;if(n){var r=this.edges,i=this.center,o=this.gravity,s=this.speed,u=this.clustering,c=this.height*this.width,l=Math.sqrt(c)/10,f=c/(n.length+1),h=Math.sqrt(f),d=[];if(n.forEach((function(t,e){d[e]={x:0,y:0}})),this.applyCalculate(n,r,d,h,f),u){for(var p in t)t[p].cx=0,t[p].cy=0,t[p].count=0;for(var p in n.forEach((function(e){var n=t[e.cluster];(0,a.isNumber)(e.x)&&(n.cx+=e.x),(0,a.isNumber)(e.y)&&(n.cy+=e.y),n.count++})),t)t[p].cx/=t[p].count,t[p].cy/=t[p].count;var g=this.clusterGravity||o;n.forEach((function(e,n){if((0,a.isNumber)(e.x)&&(0,a.isNumber)(e.y)){var r=t[e.cluster],i=Math.sqrt((e.x-r.cx)*(e.x-r.cx)+(e.y-r.cy)*(e.y-r.cy)),o=h*g;d[n].x-=o*(e.x-r.cx)/i,d[n].y-=o*(e.y-r.cy)/i}}))}n.forEach((function(t,e){if((0,a.isNumber)(t.x)&&(0,a.isNumber)(t.y)){var n=.01*h*o;d[e].x-=n*(t.x-i[0]),d[e].y-=n*(t.y-i[1])}})),n.forEach((function(t,e){if((0,a.isNumber)(t.fx)&&(0,a.isNumber)(t.fy))return t.x=t.fx,void(t.y=t.fy);if((0,a.isNumber)(t.x)&&(0,a.isNumber)(t.y)){var n=Math.sqrt(d[e].x*d[e].x+d[e].y*d[e].y);if(n>0){var r=Math.min(l*(s/800),n);t.x+=d[e].x/n*r,t.y+=d[e].y/n*r}}})),null===(e=this.tick)||void 0===e||e.call(this)}},e.prototype.applyCalculate=function(t,e,n,r,i){this.calRepulsive(t,n,i),e&&this.calAttractive(e,n,r)},e.prototype.calRepulsive=function(t,e,n){t.forEach((function(r,i){e[i]={x:0,y:0},t.forEach((function(t,o){if(i!==o&&(0,a.isNumber)(r.x)&&(0,a.isNumber)(t.x)&&(0,a.isNumber)(r.y)&&(0,a.isNumber)(t.y)){var s=r.x-t.x,u=r.y-t.y,c=s*s+u*u;if(0===c){c=1;var l=i>o?1:-1;s=.01*l,u=.01*l}var f=n/c;e[i].x+=s*f,e[i].y+=u*f}}))}))},e.prototype.calAttractive=function(t,e,n){var r=this;t.forEach((function(t){var i=(0,a.getEdgeTerminal)(t,"source"),o=(0,a.getEdgeTerminal)(t,"target");if(i&&o){var s=r.nodeIdxMap[i],u=r.nodeIdxMap[o];if(s!==u){var c=r.nodeMap[i],l=r.nodeMap[o];if((0,a.isNumber)(l.x)&&(0,a.isNumber)(c.x)&&(0,a.isNumber)(l.y)&&(0,a.isNumber)(c.y)){var f=l.x-c.x,h=l.y-c.y,d=Math.sqrt(f*f+h*h),p=d*d/n;e[u].x-=f/d*p,e[u].y-=h/d*p,e[s].x+=f/d*p,e[s].y+=h/d*p}}}}))},e.prototype.stop=function(){this.timeInterval&&"undefined"!=typeof window&&window.clearInterval(this.timeInterval)},e.prototype.destroy=function(){this.stop(),this.tick=null,this.nodes=null,this.edges=null,this.destroyed=!0},e.prototype.getType=function(){return"fruchterman"},e}(o.Base);e.FruchtermanLayout=s},function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t))}catch(t){o(t)}}function s(t){try{u(r.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,s)}u((r=r.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]<i[3])){a.label=s[1];break}if(6===s[0]&&a.label<i[1]){a.label=i[1],i=s;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(s);break}i[2]&&a.ops.pop(),a.trys.pop();continue}s=e.call(t,a)}catch(t){s=[6,t],r=0}finally{n=i=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,u])}}};Object.defineProperty(e,"__esModule",{value:!0}),e.FruchtermanGPULayout=void 0;var s=n(18),u=n(15),c=n(110),l=n(102),f=n(201),h=n(46),d=function(t){function e(e){var n=t.call(this)||this;return n.maxIteration=1e3,n.gravity=10,n.speed=1,n.clustering=!1,n.clusterField="cluster",n.clusterGravity=10,n.workerEnabled=!1,n.nodes=[],n.edges=[],n.width=300,n.height=300,n.nodeMap={},n.nodeIdxMap={},n.updateCfg(e),n}return i(e,t),e.prototype.getDefaultCfg=function(){return{maxIteration:1e3,gravity:10,speed:1,clustering:!1,clusterGravity:10}},e.prototype.execute=function(){return o(this,void 0,void 0,(function(){var t,e,n,r,i,o=this;return a(this,(function(a){switch(a.label){case 0:return(e=(t=this).nodes)&&0!==e.length?(t.width||"undefined"==typeof window||(t.width=window.innerWidth),t.height||"undefined"==typeof window||(t.height=window.innerHeight),t.center||(t.center=[t.width/2,t.height/2]),n=t.center,1===e.length?(e[0].x=n[0],e[0].y=n[1],t.onLayoutEnd&&t.onLayoutEnd(),[2]):(r={},i={},e.forEach((function(t,e){(0,u.isNumber)(t.x)||(t.x=Math.random()*o.width),(0,u.isNumber)(t.y)||(t.y=Math.random()*o.height),r[t.id]=t,i[t.id]=e})),t.nodeMap=r,t.nodeIdxMap=i,[4,t.run()])):(t.onLayoutEnd&&t.onLayoutEnd(),[2]);case 1:return a.sent(),[2]}}))}))},e.prototype.executeWithWorker=function(t,e){return o(this,void 0,void 0,(function(){var n,r,i,o,s,c=this;return a(this,(function(a){switch(a.label){case 0:return r=(n=this).nodes,i=n.center,r&&0!==r.length?1===r.length?(r[0].x=i[0],r[0].y=i[1],[2]):(o={},s={},r.forEach((function(t,e){(0,u.isNumber)(t.x)||(t.x=Math.random()*c.width),(0,u.isNumber)(t.y)||(t.y=Math.random()*c.height),o[t.id]=t,s[t.id]=e})),n.nodeMap=o,n.nodeIdxMap=s,[4,n.run(t,e)]):[2];case 1:return a.sent(),[2]}}))}))},e.prototype.run=function(t,e){return o(this,void 0,void 0,(function(){var n,r,i,s,d,p,g,v,y,m,b,x,w,_,E,S,M,O,k,A,C,j,I,T,N,P=this;return a(this,(function(D){switch(D.label){case 0:for(r=(n=this).nodes,i=n.edges,s=n.maxIteration,d=n.center,p=n.height*n.width,g=Math.sqrt(p)/10,v=p/(r.length+1),y=Math.sqrt(v),m=n.speed,b=n.clustering,x=(0,l.attributesToTextureData)([n.clusterField],r),w=x.array,_=x.count,r.forEach((function(t,e){var n=0,r=0;(0,u.isNumber)(t.fx)&&(0,u.isNumber)(t.fy)&&(n=t.fx||.001,r=t.fy||.001),w[4*e+1]=n,w[4*e+2]=r})),E=r.length,S=(0,l.buildTextureData)(r,i),M=S.maxEdgePerVetex,O=S.array,k=n.workerEnabled,A=k?c.World.create({canvas:t,engineOptions:{supportCompute:!0}}):c.World.create({engineOptions:{supportCompute:!0}}),C=n.onLayoutEnd,j=[],I=0;I<_;I++)j.push(0,0,0,0);return T=A.createKernel(f.fruchtermanBundle).setDispatch([E,1,1]).setBinding({u_Data:O,u_K:y,u_K2:v,u_Gravity:n.gravity,u_ClusterGravity:n.clusterGravity||n.gravity||1,u_Speed:m,u_MaxDisplace:g,u_Clustering:b?1:0,u_Center:d,u_AttributeArray:w,u_ClusterCenters:j,MAX_EDGE_PER_VERTEX:M,VERTEX_COUNT:E}),b&&(N=A.createKernel(f.clusterBundle).setDispatch([_,1,1]).setBinding({u_Data:O,u_NodeAttributes:w,u_ClusterCenters:j,VERTEX_COUNT:E,CLUSTER_COUNT:_})),[4,function(){return o(P,void 0,void 0,(function(){var n,i;return a(this,(function(o){switch(o.label){case 0:n=0,o.label=1;case 1:return n<s?[4,T.execute()]:[3,6];case 2:return o.sent(),b?(N.setBinding({u_Data:T}),[4,N.execute()]):[3,4];case 3:o.sent(),T.setBinding({u_ClusterCenters:N}),o.label=4;case 4:T.setBinding({u_MaxDisplace:g*=.99}),o.label=5;case 5:return n++,[3,1];case 6:return[4,T.getOutput()];case 7:return i=o.sent(),t?e.postMessage({type:h.LAYOUT_MESSAGE.GPUEND,vertexEdgeData:i}):r.forEach((function(t,e){var n=i[4*e],r=i[4*e+1];t.x=n,t.y=r})),C&&C(),[2]}}))}))}()];case 1:return D.sent(),[2]}}))}))},e.prototype.getType=function(){return"fruchterman-gpu"},e}(s.Base);e.FruchtermanGPULayout=d},function(t,e,n){var r=n(42).default,i=n(186);t.exports=function(t){var e=i(t,"string");return"symbol"==r(e)?e:e+""},t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e,n){var r=n(188).Symbol;t.exports=r},function(t,e,n){(function(e){function n(t){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var r="object"==(void 0===e?"undefined":n(e))&&e&&e.Object===Object&&e;t.exports=r}).call(this,n(91))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e){t.exports=function(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r},t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.arrayToTextureData=e.attributesToTextureData=e.buildTextureDataWithTwoEdgeAttr=e.buildTextureData=e.proccessToFunc=void 0;var r=n(15),i=n(60);e.proccessToFunc=function(t,e){return t?(0,r.isNumber)(t)?function(){return t}:t:function(){return e||1}};e.buildTextureData=function(t,e){var n=[],r=[],o={},a=0;for(a=0;a<t.length;a++){var s=t[a];o[s.id]=a,n.push(s.x),n.push(s.y),n.push(0),n.push(0),r.push([])}for(a=0;a<e.length;a++){var u=e[a],c=(0,i.getEdgeTerminal)(u,"source"),l=(0,i.getEdgeTerminal)(u,"target");isNaN(o[c])||isNaN(o[l])||(r[o[c]].push(o[l]),r[o[l]].push(o[c]))}var f=0;for(a=0;a<t.length;a++){var h=n.length,d=r[a],p=d.length;n[4*a+2]=h,n[4*a+3]=p,f=Math.max(f,p);for(var g=0;g<p;++g){var v=d[g];n.push(+v)}}for(;n.length%4!=0;)n.push(0);return{maxEdgePerVetex:f,array:new Float32Array(n)}};e.buildTextureDataWithTwoEdgeAttr=function(t,e,n,r){var o=[],a=[],s={},u=0;for(u=0;u<t.length;u++){var c=t[u];s[c.id]=u,o.push(c.x),o.push(c.y),o.push(0),o.push(0),a.push([])}for(u=0;u<e.length;u++){var l=e[u],f=(0,i.getEdgeTerminal)(l,"source"),h=(0,i.getEdgeTerminal)(l,"target");a[s[f]].push(s[h]),a[s[f]].push(n(l)),a[s[f]].push(r(l)),a[s[f]].push(0),a[s[h]].push(s[f]),a[s[h]].push(n(l)),a[s[h]].push(r(l)),a[s[h]].push(0)}var d=0;for(u=0;u<t.length;u++){var p=o.length,g=a[u],v=g.length;o[4*u+2]=p+1048576*v/4,o[4*u+3]=0,d=Math.max(d,v/4);for(var y=0;y<v;++y){var m=g[y];o.push(+m)}}for(;o.length%4!=0;)o.push(0);return{maxEdgePerVetex:d,array:new Float32Array(o)}};e.attributesToTextureData=function(t,e){var n=[],r=t.length,i={};return e.forEach((function(e){t.forEach((function(t,o){if(void 0===i[e[t]]&&(i[e[t]]=Object.keys(i).length),n.push(i[e[t]]),o===r-1)for(;n.length%4!=0;)n.push(0)}))})),{array:new Float32Array(n),count:Object.keys(i).length}};e.arrayToTextureData=function(t){for(var e=[],n=t.length,r=t[0].length,i=function(r){t.forEach((function(t,i){if(e.push(t[r]),i===n-1)for(;e.length%4!=0;)e.push(0)}))},o=0;o<r;o++)i(o);return new Float32Array(e)}},function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t))}catch(t){o(t)}}function s(t){try{u(r.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,s)}u((r=r.apply(t,e||[])).next())}))},a=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]<i[3])){a.label=s[1];break}if(6===s[0]&&a.label<i[1]){a.label=i[1],i=s;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(s);break}i[2]&&a.ops.pop(),a.trys.pop();continue}s=e.call(t,a)}catch(t){s=[6,t],r=0}finally{n=i=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,u])}}};Object.defineProperty(e,"__esModule",{value:!0}),e.GForceGPULayout=void 0;var s=n(18),u=n(15),c=n(110),l=n(102),f=n(60),h=n(202),d=n(46),p=function(t){function e(e){var n=t.call(this)||this;return n.maxIteration=1e3,n.edgeStrength=200,n.nodeStrength=1e3,n.coulombDisScale=.005,n.damping=.9,n.maxSpeed=1e3,n.minMovement=.5,n.interval=.02,n.factor=1,n.linkDistance=1,n.gravity=10,n.workerEnabled=!1,n.nodes=[],n.edges=[],n.width=300,n.height=300,n.nodeMap={},n.nodeIdxMap={},n.updateCfg(e),n}return i(e,t),e.prototype.getDefaultCfg=function(){return{maxIteration:2e3,gravity:10,clustering:!1,clusterGravity:10}},e.prototype.execute=function(){return o(this,void 0,void 0,(function(){var t,e,n,r,i;return a(this,(function(o){switch(o.label){case 0:return(e=(t=this).nodes)&&0!==e.length?(t.width||"undefined"==typeof window||(t.width=window.innerWidth),t.height||"undefined"==typeof window||(t.height=window.innerHeight),t.center||(t.center=[t.width/2,t.height/2]),n=t.center,1===e.length?(e[0].x=n[0],e[0].y=n[1],t.onLayoutEnd&&t.onLayoutEnd(),[2]):(r={},i={},e.forEach((function(e,n){(0,u.isNumber)(e.x)||(e.x=Math.random()*t.width),(0,u.isNumber)(e.y)||(e.y=Math.random()*t.height),r[e.id]=e,i[e.id]=n})),t.nodeMap=r,t.nodeIdxMap=i,t.nodeStrength=(0,l.proccessToFunc)(t.nodeStrength,1),t.edgeStrength=(0,l.proccessToFunc)(t.edgeStrength,1),[4,t.run()])):(t.onLayoutEnd&&t.onLayoutEnd(),[2]);case 1:return o.sent(),[2]}}))}))},e.prototype.executeWithWorker=function(t,e){var n=this,r=n.nodes,i=n.center;if(r&&0!==r.length){if(1===r.length)return r[0].x=i[0],void(r[0].y=i[1]);var o={},a={};r.forEach((function(t,e){(0,u.isNumber)(t.x)||(t.x=Math.random()*n.width),(0,u.isNumber)(t.y)||(t.y=Math.random()*n.height),o[t.id]=t,a[t.id]=e})),n.nodeMap=o,n.nodeIdxMap=a,n.nodeStrength=(0,l.proccessToFunc)(n.nodeStrength,1),n.edgeStrength=(0,l.proccessToFunc)(n.edgeStrength,1),n.run(t,e)}},e.prototype.run=function(t,e){return o(this,void 0,void 0,(function(){var n,r,i,s,p,g,v,y,m,b,x,w,_,E,S,M,O,k,A,C,j,I,T,N,P,D,L=this;return a(this,(function(R){switch(R.label){case 0:for(r=(n=this).nodes,i=n.edges,s=n.maxIteration,n.width||"undefined"==typeof window||(n.width=window.innerWidth),n.height||"undefined"==typeof window||(n.height=window.innerHeight),p=r.length,n.linkDistance=(0,l.proccessToFunc)(n.linkDistance),n.edgeStrength=(0,l.proccessToFunc)(n.edgeStrength),g=(0,l.buildTextureDataWithTwoEdgeAttr)(r,i,n.linkDistance,n.edgeStrength),v=g.maxEdgePerVetex,y=g.array,n.degrees=(0,f.getDegree)(r.length,n.nodeIdxMap,i).map((function(t){return t.all})),m=[],b=[],x=[],w=[],_=[],E=[],S=[],n.getMass||(n.getMass=function(t){return n.degrees[n.nodeIdxMap[t.id]]||1}),M=n.gravity,O=n.center,r.forEach((function(t,e){m.push(n.getMass(t)),b.push(n.nodeStrength(t)),n.degrees[e]||(n.degrees[e]=0);var r=[O[0],O[1],M];if(n.getCenter){var i=n.getCenter(t,n.degrees[e]);i&&(0,u.isNumber)(i[0])&&(0,u.isNumber)(i[1])&&(0,u.isNumber)(i[2])&&(r=i)}x.push(r[0]),w.push(r[1]),_.push(r[2]),(0,u.isNumber)(t.fx)&&(0,u.isNumber)(t.fy)?(E.push(t.fx||.001),S.push(t.fy||.001)):(E.push(0),S.push(0))})),k=(0,l.arrayToTextureData)([m,n.degrees,b,E]),A=(0,l.arrayToTextureData)([x,w,_,S]),C=n.workerEnabled,j=C?c.World.create({canvas:t,engineOptions:{supportCompute:!0}}):c.World.create({engineOptions:{supportCompute:!0}}),I=n.onLayoutEnd,T=[],y.forEach((function(t){T.push(t)})),N=0;N<4;N++)T.push(0);return P=j.createKernel(h.gForceBundle).setDispatch([p,1,1]).setBinding({u_Data:y,u_damping:n.damping,u_maxSpeed:n.maxSpeed,u_minMovement:n.minMovement,u_coulombDisScale:n.coulombDisScale,u_factor:n.factor,u_NodeAttributeArray1:k,u_NodeAttributeArray2:A,MAX_EDGE_PER_VERTEX:v,VERTEX_COUNT:p,u_AveMovement:T,u_interval:n.interval}),D=j.createKernel(h.aveMovementBundle).setDispatch([1,1,1]).setBinding({u_Data:y,VERTEX_COUNT:p,u_AveMovement:[0,0,0,0]}),[4,function(){return o(L,void 0,void 0,(function(){var i,o,u;return a(this,(function(a){switch(a.label){case 0:i=0,a.label=1;case 1:return i<s?[4,P.execute()]:[3,5];case 2:return a.sent(),D.setBinding({u_Data:P}),[4,D.execute()];case 3:a.sent(),o=Math.max(.02,n.interval-.002*i),P.setBinding({u_interval:o,u_AveMovement:D}),a.label=4;case 4:return i++,[3,1];case 5:return[4,P.getOutput()];case 6:return u=a.sent(),t?e.postMessage({type:d.LAYOUT_MESSAGE.GPUEND,vertexEdgeData:u}):r.forEach((function(t,e){var n=u[4*e],r=u[4*e+1];t.x=n,t.y=r})),I&&I(),[2]}}))}))}()];case 1:return R.sent(),[2]}}))}))},e.prototype.getType=function(){return"gForce-gpu"},e}(s.Base);e.GForceGPULayout=p},function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.ComboForceLayout=void 0;var o=n(18),a=n(15),s=function(t){function e(e){var n=t.call(this)||this;return n.center=[0,0],n.maxIteration=100,n.gravity=10,n.comboGravity=10,n.linkDistance=10,n.alpha=1,n.alphaMin=.001,n.alphaDecay=1-Math.pow(n.alphaMin,1/300),n.alphaTarget=0,n.velocityDecay=.6,n.edgeStrength=.6,n.nodeStrength=30,n.preventOverlap=!1,n.preventNodeOverlap=!1,n.preventComboOverlap=!1,n.collideStrength=void 0,n.nodeCollideStrength=.5,n.comboCollideStrength=.5,n.comboSpacing=20,n.comboPadding=10,n.optimizeRangeFactor=1,n.onTick=function(){},n.onLayoutEnd=function(){},n.depthAttractiveForceScale=1,n.depthRepulsiveForceScale=2,n.nodes=[],n.edges=[],n.combos=[],n.comboTrees=[],n.width=300,n.height=300,n.bias=[],n.nodeMap={},n.oriComboMap={},n.indexMap={},n.comboMap={},n.previousLayouted=!1,n.updateCfg(e),n}return i(e,t),e.prototype.getDefaultCfg=function(){return{maxIteration:100,center:[0,0],gravity:10,speed:1,comboGravity:30,preventOverlap:!1,preventComboOverlap:!0,preventNodeOverlap:!0,nodeSpacing:void 0,collideStrength:void 0,nodeCollideStrength:.5,comboCollideStrength:.5,comboSpacing:20,comboPadding:10,edgeStrength:.6,nodeStrength:30,linkDistance:10}},e.prototype.execute=function(){var t=this.nodes,e=this.center;if(this.comboTree={id:"comboTreeRoot",depth:-1,children:this.comboTrees},t&&0!==t.length){if(1===t.length)return t[0].x=e[0],t[0].y=e[1],void(this.onLayoutEnd&&this.onLayoutEnd());this.initVals(),this.run(),this.onLayoutEnd&&this.onLayoutEnd()}else this.onLayoutEnd&&this.onLayoutEnd()},e.prototype.run=function(){var t=this,e=t.nodes,n=t.previousLayouted?t.maxIteration/5:t.maxIteration;t.width||"undefined"==typeof window||(t.width=window.innerWidth),t.height||"undefined"==typeof window||(t.height=window.innerHeight);var r=t.center,i=t.velocityDecay,o=t.comboMap;t.previousLayouted||t.initPos(o);for(var s=function(n){var r=[];e.forEach((function(t,e){r[e]={x:0,y:0}})),t.applyCalculate(r),t.applyComboCenterForce(r),e.forEach((function(t,e){(0,a.isNumber)(t.x)&&(0,a.isNumber)(t.y)&&(t.x+=r[e].x*i,t.y+=r[e].y*i)})),t.alpha+=(t.alphaTarget-t.alpha)*t.alphaDecay,t.onTick()},u=0;u<n;u++)s();var c=[0,0];e.forEach((function(t){(0,a.isNumber)(t.x)&&(0,a.isNumber)(t.y)&&(c[0]+=t.x,c[1]+=t.y)})),c[0]/=e.length,c[1]/=e.length;var l=[r[0]-c[0],r[1]-c[1]];e.forEach((function(t,e){(0,a.isNumber)(t.x)&&(0,a.isNumber)(t.y)&&(t.x+=l[0],t.y+=l[1])})),t.combos.forEach((function(t){var e=o[t.id];e&&e.empty&&(t.x=e.cx||t.x,t.y=e.cy||t.y)})),t.previousLayouted=!0},e.prototype.initVals=function(){var t=this.edges,e=this.nodes,n=this.combos,r={},i={},o={};e.forEach((function(t,e){i[t.id]=t,o[t.id]=e})),this.nodeMap=i,this.indexMap=o;var s={};n.forEach((function(t){s[t.id]=t})),this.oriComboMap=s,this.comboMap=this.getComboMap();var u=this.preventOverlap;this.preventComboOverlap=this.preventComboOverlap||u,this.preventNodeOverlap=this.preventNodeOverlap||u;var c=this.collideStrength;c&&(this.comboCollideStrength=c,this.nodeCollideStrength=c),this.comboCollideStrength=this.comboCollideStrength?this.comboCollideStrength:0,this.nodeCollideStrength=this.nodeCollideStrength?this.nodeCollideStrength:0;for(var l=0;l<t.length;++l){var f=(0,a.getEdgeTerminal)(t[l],"source"),h=(0,a.getEdgeTerminal)(t[l],"target");r[f]?r[f]++:r[f]=1,r[h]?r[h]++:r[h]=1}var d=[];for(l=0;l<t.length;++l){f=(0,a.getEdgeTerminal)(t[l],"source"),h=(0,a.getEdgeTerminal)(t[l],"target");d[l]=r[f]/(r[f]+r[h])}this.bias=d;var p,g,v=this.nodeSize,y=this.nodeSpacing;if(g=(0,a.isNumber)(y)?function(){return y}:(0,a.isFunction)(y)?y:function(){return 0},this.nodeSpacing=g,v)if((0,a.isFunction)(v))p=function(t){return v(t)};else if((0,a.isArray)(v)){var m=(v[0]>v[1]?v[0]:v[1])/2;p=function(t){return m}}else{var b=v/2;p=function(t){return b}}else p=function(t){return t.size?(0,a.isArray)(t.size)?(t.size[0]>t.size[1]?t.size[0]:t.size[1])/2:(0,a.isObject)(t.size)?(t.size.width>t.size.height?t.size.width:t.size.height)/2:t.size/2:10};this.nodeSize=p;var x,w=this.comboSpacing;x=(0,a.isNumber)(w)?function(){return w}:(0,a.isFunction)(w)?w:function(){return 0},this.comboSpacing=x;var _,E=this.comboPadding;_=(0,a.isNumber)(E)?function(){return E}:(0,a.isArray)(E)?function(){return Math.max.apply(null,E)}:(0,a.isFunction)(E)?E:function(){return 0},this.comboPadding=_;var S,M=this.linkDistance;M||(M=10),S=(0,a.isNumber)(M)?function(t){return M}:M,this.linkDistance=S;var O,k=this.edgeStrength;k||(k=1),O=(0,a.isNumber)(k)?function(t){return k}:k,this.edgeStrength=O;var A,C=this.nodeStrength;C||(C=30),A=(0,a.isNumber)(C)?function(t){return C}:C,this.nodeStrength=A},e.prototype.initPos=function(t){this.nodes.forEach((function(e,n){var r=e.comboId,i=t[r];r&&i?(e.x=i.cx+100/(n+1),e.y=i.cy+100/(n+1)):(e.x=100/(n+1),e.y=100/(n+1))}))},e.prototype.getComboMap=function(){var t=this,e=t.nodeMap,n=t.comboTrees,r=t.oriComboMap,i={};return(n||[]).forEach((function(n){var o=[];(0,a.traverseTreeUp)(n,(function(n){if("node"===n.itemType)return!0;if(!r[n.id])return!0;if(void 0===i[n.id]){var s={id:n.id,name:n.id,cx:0,cy:0,count:0,depth:t.oriComboMap[n.id].depth||0,children:[]};i[n.id]=s}var u=n.children;u&&u.forEach((function(t){if(!i[t.id]&&!e[t.id])return!0;o.push(t)}));var c=i[n.id];if(c.cx=0,c.cy=0,0===o.length){c.empty=!0;var l=r[n.id];c.cx=l.x,c.cy=l.y}return o.forEach((function(t){if(c.count++,"node"!==t.itemType){var n=i[t.id];return(0,a.isNumber)(n.cx)&&(c.cx+=n.cx),void((0,a.isNumber)(n.cy)&&(c.cy+=n.cy))}var r=e[t.id];r&&((0,a.isNumber)(r.x)&&(c.cx+=r.x),(0,a.isNumber)(r.y)&&(c.cy+=r.y))})),c.cx/=c.count||1,c.cy/=c.count||1,c.children=o,!0}))})),i},e.prototype.applyComboCenterForce=function(t){var e=this.gravity,n=this.comboGravity||e,r=this.alpha,i=this.comboTrees,o=this.indexMap,s=this.nodeMap,u=this.comboMap;(i||[]).forEach((function(e){(0,a.traverseTreeUp)(e,(function(e){if("node"===e.itemType)return!0;if(!u[e.id])return!0;var i=u[e.id],c=(i.depth+1)/10*.5,l=i.cx,f=i.cy;return i.cx=0,i.cy=0,i.children.forEach((function(e){if("node"!==e.itemType){var h=u[e.id];return h&&(0,a.isNumber)(h.cx)&&(i.cx+=h.cx),void(h&&(0,a.isNumber)(h.cy)&&(i.cy+=h.cy))}var d=s[e.id],p=d.x-l||.005,g=d.y-f||.005,v=Math.sqrt(p*p+g*g),y=o[d.id],m=n*r/v*c;t[y].x-=p*m,t[y].y-=g*m,(0,a.isNumber)(d.x)&&(i.cx+=d.x),(0,a.isNumber)(d.y)&&(i.cy+=d.y)})),i.cx/=i.count||1,i.cy/=i.count||1,!0}))}))},e.prototype.applyCalculate=function(t){var e=this.comboMap,n=this.nodes,r={};n.forEach((function(t,e){n.forEach((function(n,i){if(!(e<i)){var o=t.x-n.x||.005,a=t.y-n.y||.005,s=o*o+a*a,u=Math.sqrt(s);s<1&&(s=u),r["".concat(t.id,"-").concat(n.id)]={vx:o,vy:a,vl2:s,vl:u},r["".concat(n.id,"-").concat(t.id)]={vl2:s,vl:u,vx:-o,vy:-a}}}))})),this.updateComboSizes(e),this.calRepulsive(t,r),this.calAttractive(t,r),this.preventComboOverlap&&this.comboNonOverlapping(t,e)},e.prototype.updateComboSizes=function(t){var e=this,n=e.comboTrees,r=e.nodeMap,i=e.nodeSize,o=e.comboSpacing,s=e.comboPadding;(n||[]).forEach((function(n){var u=[];(0,a.traverseTreeUp)(n,(function(n){if("node"===n.itemType)return!0;var c=t[n.id];if(!c)return!1;var l=n.children;l&&l.forEach((function(e){(t[e.id]||r[e.id])&&u.push(e)})),c.minX=1/0,c.minY=1/0,c.maxX=-1/0,c.maxY=-1/0,u.forEach((function(t){if("node"!==t.itemType)return!0;var e=r[t.id];if(!e)return!0;var n=i(e),o=e.x-n,a=e.y-n,s=e.x+n,u=e.y+n;c.minX>o&&(c.minX=o),c.minY>a&&(c.minY=a),c.maxX<s&&(c.maxX=s),c.maxY<u&&(c.maxY=u)}));var f=e.oriComboMap[n.id].size||10;(0,a.isArray)(f)&&(f=f[0]);var h=Math.max(c.maxX-c.minX,c.maxY-c.minY,f);return c.r=h/2+o(c)/2+s(c),!0}))}))},e.prototype.comboNonOverlapping=function(t,e){var n=this.comboTree,r=this.comboCollideStrength,i=this.indexMap,o=this.nodeMap;(0,a.traverseTreeUp)(n,(function(n){if(!e[n.id]&&!o[n.id]&&"comboTreeRoot"!==n.id)return!1;var a=n.children;return a&&a.length>1&&a.forEach((function(n,s){if("node"===n.itemType)return!1;var u=e[n.id];u&&a.forEach((function(a,c){if(s<=c)return!1;if("node"===a.itemType)return!1;var l=e[a.id];if(!l)return!1;var f=u.cx-l.cx||.005,h=u.cy-l.cy||.005,d=f*f+h*h,p=u.r||1,g=l.r||1,v=p+g,y=g*g,m=p*p;if(d<v*v){var b=n.children;if(!b||0===b.length)return!1;var x=a.children;if(!x||0===x.length)return!1;var w=Math.sqrt(d),_=(v-w)/w*r,E=f*_,S=h*_,M=y/(m+y),O=1-M;b.forEach((function(e){if("node"!==e.itemType)return!1;if(o[e.id]){var n=i[e.id];x.forEach((function(e){if("node"!==e.itemType)return!1;if(!o[e.id])return!1;var r=i[e.id];t[n].x+=E*M,t[n].y+=S*M,t[r].x-=E*O,t[r].y-=S*O}))}}))}}))})),!0}))},e.prototype.calRepulsive=function(t,e){var n=this,r=n.nodes,i=n.width*n.optimizeRangeFactor,o=n.nodeStrength,a=n.alpha,s=n.nodeCollideStrength,u=n.preventNodeOverlap,c=n.nodeSize,l=n.nodeSpacing,f=n.depthRepulsiveForceScale,h=n.center;r.forEach((function(d,p){if(d.x&&d.y){if(h){var g=n.gravity,v=d.x-h[0]||.005,y=d.y-h[1]||.005,m=Math.sqrt(v*v+y*y);t[p].x-=v*g*a/m,t[p].y-=y*g*a/m}r.forEach((function(n,r){if(p!==r&&n.x&&n.y){var h=e["".concat(d.id,"-").concat(n.id)],g=h.vl2,v=h.vl;if(!(v>i)){var y=e["".concat(d.id,"-").concat(n.id)],m=y.vx,b=y.vy,x=Math.log(Math.abs(n.depth-d.depth)/10)+1||1;x=x<1?1:x,n.comboId!==d.comboId&&(x+=1);var w=x?Math.pow(f,x):1,_=o(n)*a/g*w;if(t[p].x+=m*_,t[p].y+=b*_,p<r&&u){var E=c(d)+l(d)||1,S=c(n)+l(n)||1,M=E+S;if(g<M*M){var O=(M-v)/v*s,k=S*S,A=k/(E*E+k),C=m*O,j=b*O;t[p].x+=C*A,t[p].y+=j*A,A=1-A,t[r].x-=C*A,t[r].y-=j*A}}}}}))}}))},e.prototype.calAttractive=function(t,e){var n=this,r=n.edges,i=n.linkDistance,o=n.alpha,s=n.edgeStrength,u=n.bias,c=n.depthAttractiveForceScale;r.forEach((function(r,l){var f=(0,a.getEdgeTerminal)(r,"source"),h=(0,a.getEdgeTerminal)(r,"target");if(f&&h&&f!==h){var d=n.indexMap[f],p=n.indexMap[h],g=n.nodeMap[f],v=n.nodeMap[h];if(g&&v){var y=g.depth===v.depth?0:Math.log(Math.abs(g.depth-v.depth)/10);g.comboId===v.comboId&&(y/=2);var m=y?Math.pow(c,y):1;if(g.comboId!==v.comboId&&1===m?m=c/2:g.comboId===v.comboId&&(m=2),(0,a.isNumber)(v.x)&&(0,a.isNumber)(g.x)&&(0,a.isNumber)(v.y)&&(0,a.isNumber)(g.y)){var b=e["".concat(h,"-").concat(f)],x=b.vl,w=b.vx,_=b.vy,E=(x-i(r))/x*o*s(r)*m,S=w*E,M=_*E,O=u[l];t[p].x-=S*O,t[p].y-=M*O,t[d].x+=S*(1-O),t[d].y+=M*(1-O)}}}}))},e.prototype.getType=function(){return"comboForce"},e}(o.Base);e.ComboForceLayout=s},function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)};Object.defineProperty(e,"__esModule",{value:!0}),e.ComboCombinedLayout=void 0;var a=n(46),s=n(18),u=n(15),c=n(82),l=function(t){function e(e){var n=t.call(this)||this;return n.center=[0,0],n.nodes=[],n.edges=[],n.combos=[],n.comboEdges=[],n.comboPadding=10,n.comboTrees=[],n.updateCfg(e),n}return i(e,t),e.prototype.getDefaultCfg=function(){return{}},e.prototype.execute=function(){var t=this.nodes,e=this.center;if(t&&0!==t.length){if(1===t.length)return t[0].x=e[0],t[0].y=e[1],void(this.onLayoutEnd&&this.onLayoutEnd());this.initVals(),this.run(),this.onLayoutEnd&&this.onLayoutEnd()}else this.onLayoutEnd&&this.onLayoutEnd()},e.prototype.run=function(){var t,e=this.nodes,n=this.edges,r=this.combos,i=this.comboEdges,s=this.center,l={};e.forEach((function(t){l[t.id]=t}));var f={};r.forEach((function(t){f[t.id]=t}));var h=this.getInnerGraphs(l),d=[],p=[],g={},v=!0;this.comboTrees.forEach((function(t){var e=h[t.id];if(e){var n=o(o({},t),{x:e.x||f[t.id].x,y:e.y||f[t.id].y,fx:e.fx||f[t.id].fx,fy:e.fy||f[t.id].fy,mass:e.mass||f[t.id].mass,size:e.size});p.push(n),isNaN(n.x)||0===n.x||isNaN(n.y)||0===n.y?(n.x=100*Math.random(),n.y=100*Math.random()):v=!1,d.push(t.id),(0,u.traverseTreeUp)(t,(function(e){return e.id!==t.id&&(g[e.id]=t.id),!0}))}})),e.forEach((function(t){if(!t.comboId||!f[t.comboId]){var e=o({},t);p.push(e),isNaN(e.x)||0===e.x||isNaN(e.y)||0===e.y?(e.x=100*Math.random(),e.y=100*Math.random()):v=!1,d.push(t.id)}}));var y=[];if(n.concat(i).forEach((function(t){var e=g[t.source]||t.source,n=g[t.target]||t.target;e!==n&&d.includes(e)&&d.includes(n)&&y.push({source:e,target:n})})),null==p?void 0:p.length){if(1===p.length)p[0].x=s[0],p[0].y=s[1];else{var m={nodes:p,edges:y},b=this.outerLayout||new c.GForceLayout({gravity:1,factor:4,linkDistance:function(t,e,n){var r,i,o=(((null===(r=e.size)||void 0===r?void 0:r[0])||30)+((null===(i=n.size)||void 0===i?void 0:i[0])||30))/2;return Math.min(1.5*o,700)}}),x=null===(t=b.getType)||void 0===t?void 0:t.call(b);if(b.updateCfg({center:s,kg:5,preventOverlap:!0,animate:!1}),v&&a.FORCE_LAYOUT_TYPE_MAP[x])(p.length<100?new c.MDSLayout:new c.GridLayout).layout(m);b.layout(m)}p.forEach((function(t){var e=h[t.id];if(e)e.visited=!0,e.x=t.x,e.y=t.y,e.nodes.forEach((function(e){e.x+=t.x,e.y+=t.y}));else{var n=l[t.id];n&&(n.x=t.x,n.y=t.y)}}))}for(var w=Object.keys(h),_=function(t){var e=w[t],n=h[e];if(!n)return"continue";n.nodes.forEach((function(t){n.visited||(t.x+=n.x||0,t.y+=n.y||0),l[t.id]&&(l[t.id].x=t.x,l[t.id].y=t.y)})),f[e]&&(f[e].x=n.x,f[e].y=n.y)},E=w.length-1;E>=0;E--)_(E);return{nodes:e,edges:n,combos:r,comboEdges:i}},e.prototype.getInnerGraphs=function(t){var e=this.comboTrees,n=this.nodeSize,r=this.edges,i=this.comboPadding,a=this.spacing,s={},l=this.innerLayout||new c.ConcentricLayout({type:"concentric",sortBy:"id"});return l.center=[0,0],l.preventOverlap=!0,l.nodeSpacing=a,(e||[]).forEach((function(e){(0,u.traverseTreeUp)(e,(function(e){var a,c=(null==i?void 0:i(e))||10;if((0,u.isArray)(c)&&(c=Math.max.apply(Math,c)),null===(a=e.children)||void 0===a?void 0:a.length){var f=e.children.map((function(e){if("combo"===e.itemType)return s[e.id];var n=t[e.id]||{};return o(o({},n),e)})),h=f.map((function(t){return t.id})),d={nodes:f,edges:r.filter((function(t){return h.includes(t.source)&&h.includes(t.target)}))},p=1/0;f.forEach((function(t){var e;t.size||(t.size=(null===(e=s[t.id])||void 0===e?void 0:e.size)||(null==n?void 0:n(t))||[30,30]),(0,u.isNumber)(t.size)&&(t.size=[t.size,t.size]),p>t.size[0]&&(p=t.size[0]),p>t.size[1]&&(p=t.size[1])})),l.layout(d);var g=(0,u.getLayoutBBox)(f),v=g.minX,y=g.minY,m=g.maxX,b=g.maxY,x={x:(m+v)/2,y:(b+y)/2};d.nodes.forEach((function(t){t.x-=x.x,t.y-=x.y}));var w=Math.max(m-v,p)+2*c,_=Math.max(b-y,p)+2*c;s[e.id]={id:e.id,nodes:f,size:[w,_]}}else if("combo"===e.itemType){var E=c?[2*c,2*c]:[30,30];s[e.id]={id:e.id,nodes:[],size:E}}return!0}))})),s},e.prototype.initVals=function(){var t,e,n=this.nodeSize,r=this.spacing;if(e=(0,u.isNumber)(r)?function(){return r}:(0,u.isFunction)(r)?r:function(){return 0},this.spacing=e,n)if((0,u.isFunction)(n))t=function(t){var r=n(t),i=e(t);return(0,u.isArray)(t.size)?((t.size[0]>t.size[1]?t.size[0]:t.size[1])+i)/2:((r||10)+i)/2};else if((0,u.isArray)(n)){var i=(n[0]>n[1]?n[0]:n[1])/2;t=function(t){return i+e(t)/2}}else{var o=n/2;t=function(t){return o+e(t)/2}}else t=function(t){var n=e(t);return t.size?(0,u.isArray)(t.size)?((t.size[0]>t.size[1]?t.size[0]:t.size[1])+n)/2:(0,u.isObject)(t.size)?((t.size.width>t.size.height?t.size.width:t.size.height)+n)/2:(t.size+n)/2:10+n/2};this.nodeSize=t;var a,s=this.comboPadding;a=(0,u.isNumber)(s)?function(){return s}:(0,u.isArray)(s)?function(){return Math.max.apply(null,s)}:(0,u.isFunction)(s)?s:function(){return 0},this.comboPadding=a},e.prototype.getType=function(){return"comboCombined"},e}(s.Base);e.ComboCombinedLayout=l},function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.ForceAtlas2Layout=void 0;var a=n(18),s=n(15),u=o(n(203)),c=o(n(204)),l=o(n(205)),f=function(t){function e(e){var n=t.call(this)||this;return n.center=[0,0],n.width=300,n.height=300,n.nodes=[],n.edges=[],n.kr=5,n.kg=1,n.mode="normal",n.preventOverlap=!1,n.dissuadeHubs=!1,n.barnesHut=void 0,n.maxIteration=0,n.ks=.1,n.ksmax=10,n.tao=.1,n.onLayoutEnd=function(){},n.prune=void 0,n.updateCfg(e),n}return i(e,t),e.prototype.getDefaultCfg=function(){return{}},e.prototype.execute=function(){var t=this.nodes,e=this.onLayoutEnd,n=this.prune,r=this.maxIteration;this.width||"undefined"==typeof window||(this.width=window.innerWidth),this.height||"undefined"==typeof window||(this.height=window.innerHeight);for(var i=[],o=t.length,a=0;a<o;a+=1){var u=t[a],c=10,l=10;(0,s.isNumber)(u.size)&&(c=u.size,l=u.size),(0,s.isArray)(u.size)?(isNaN(u.size[0])||(c=u.size[0]),isNaN(u.size[1])||(l=u.size[1])):(0,s.isObject)(u.size)&&(c=u.size.width,l=u.size.height),this.getWidth&&!isNaN(this.getWidth(u))&&(l=this.getWidth(u)),this.getHeight&&!isNaN(this.getHeight(u))&&(c=this.getHeight(u));var f=Math.max(c,l);i.push(f)}void 0===this.barnesHut&&o>250&&(this.barnesHut=!0),void 0===this.prune&&o>100&&(this.prune=!0),0!==this.maxIteration||this.prune?0===this.maxIteration&&n&&(r=100,o<=200&&o>100?r=500:o>200&&(r=950),this.maxIteration=r):(r=250,o<=200&&o>100?r=1e3:o>200&&(r=1200),this.maxIteration=r),this.kr||(this.kr=50,o>100&&o<=500?this.kr=20:o>500&&(this.kr=1)),this.kg||(this.kg=20,o>100&&o<=500?this.kg=10:o>500&&(this.kg=1)),this.nodes=this.updateNodesByForces(i),e()},e.prototype.updateNodesByForces=function(t){for(var e=this.edges,n=this.maxIteration,r=this.nodes,i=e.filter((function(t){return(0,s.getEdgeTerminal)(t,"source")!==(0,s.getEdgeTerminal)(t,"target")})),o=r.length,a=i.length,u=[],c={},l={},f=[],h=0;h<o;h+=1)c[r[h].id]=h,u[h]=0,(void 0===r[h].x||isNaN(r[h].x))&&(r[h].x=1e3*Math.random()),(void 0===r[h].y||isNaN(r[h].y))&&(r[h].y=1e3*Math.random()),f.push({x:r[h].x,y:r[h].y});for(h=0;h<a;h+=1){for(var d=void 0,p=void 0,g=0,v=0,y=0;y<o;y+=1){var m=(0,s.getEdgeTerminal)(i[h],"source"),b=(0,s.getEdgeTerminal)(i[h],"target");r[y].id===m?(d=r[y],g=y):r[y].id===b&&(p=r[y],v=y),l[h]={sourceIdx:g,targetIdx:v}}d&&(u[c[d.id]]+=1),p&&(u[c[p.id]]+=1)}var x=n;if(r=this.iterate(x,c,l,a,u,t),this.prune){for(y=0;y<a;y+=1)u[l[y].sourceIdx]<=1?(r[l[y].sourceIdx].x=r[l[y].targetIdx].x,r[l[y].sourceIdx].y=r[l[y].targetIdx].y):u[l[y].targetIdx]<=1&&(r[l[y].targetIdx].x=r[l[y].sourceIdx].x,r[l[y].targetIdx].y=r[l[y].sourceIdx].y);this.prune=!1,this.barnesHut=!1,x=100,r=this.iterate(x,c,l,a,u,t)}return r},e.prototype.iterate=function(t,e,n,r,i,o){for(var a=this.nodes,s=this.kr,c=this.preventOverlap,l=this.barnesHut,f=a.length,h=0,d=t,p=[],g=[],v=[],y=0;y<f;y+=1)if(p[2*y]=0,p[2*y+1]=0,l){var m={id:y,rx:a[y].x,ry:a[y].y,mass:1,g:s,degree:i[y]};v[y]=new u.default(m)}for(;d>0;){for(y=0;y<f;y+=1)g[2*y]=p[2*y],g[2*y+1]=p[2*y+1],p[2*y]=0,p[2*y+1]=0;p=this.getAttrForces(d,50,r,e,n,i,o,p),p=l&&(c&&d>50||!c)?this.getOptRepGraForces(p,v,i):this.getRepGraForces(d,50,p,100,o,i);var b=this.updatePos(p,g,h,i);a=b.nodes,h=b.sg,d--,this.tick&&this.tick()}return a},e.prototype.getAttrForces=function(t,e,n,r,i,o,a,s){for(var u=this.nodes,c=this.preventOverlap,l=this.dissuadeHubs,f=this.mode,h=this.prune,d=0;d<n;d+=1){var p=u[i[d].sourceIdx],g=i[d].sourceIdx,v=u[i[d].targetIdx],y=i[d].targetIdx;if(!h||!(o[g]<=1||o[y]<=1)){var m=[v.x-p.x,v.y-p.y],b=Math.hypot(m[0],m[1]);b=b<1e-4?1e-4:b,m[0]=m[0]/b,m[1]=m[1]/b,c&&t<e&&(b=b-a[g]-a[y]);var x=b,w=x;"linlog"===f&&(w=x=Math.log(1+b)),l&&(x=b/o[g],w=b/o[y]),c&&t<e&&b<=0?(x=0,w=0):c&&t<e&&b>0&&(x=b,w=b),s[2*r[p.id]]+=x*m[0],s[2*r[v.id]]-=w*m[0],s[2*r[p.id]+1]+=x*m[1],s[2*r[v.id]+1]-=w*m[1]}}return s},e.prototype.getRepGraForces=function(t,e,n,r,i,o){for(var a=this.nodes,s=this.preventOverlap,u=this.kr,c=this.kg,l=this.center,f=this.prune,h=a.length,d=0;d<h;d+=1){for(var p=d+1;p<h;p+=1)if(!f||!(o[d]<=1||o[p]<=1)){var g=[a[p].x-a[d].x,a[p].y-a[d].y],v=Math.hypot(g[0],g[1]);v=v<1e-4?1e-4:v,g[0]=g[0]/v,g[1]=g[1]/v,s&&t<e&&(v=v-i[d]-i[p]);var y=u*(o[d]+1)*(o[p]+1)/v;s&&t<e&&v<0?y=r*(o[d]+1)*(o[p]+1):s&&t<e&&0===v?y=0:s&&t<e&&v>0&&(y=u*(o[d]+1)*(o[p]+1)/v),n[2*d]-=y*g[0],n[2*p]+=y*g[0],n[2*d+1]-=y*g[1],n[2*p+1]+=y*g[1]}var m=[a[d].x-l[0],a[d].y-l[1]],b=Math.hypot(m[0],m[1]);m[0]=m[0]/b,m[1]=m[1]/b;var x=c*(o[d]+1);n[2*d]-=x*m[0],n[2*d+1]-=x*m[1]}return n},e.prototype.getOptRepGraForces=function(t,e,n){for(var r=this.nodes,i=this.kg,o=this.center,a=this.prune,s=r.length,u=9e10,f=-9e10,h=9e10,d=-9e10,p=0;p<s;p+=1)a&&n[p]<=1||(e[p].setPos(r[p].x,r[p].y),r[p].x>=f&&(f=r[p].x),r[p].x<=u&&(u=r[p].x),r[p].y>=d&&(d=r[p].y),r[p].y<=h&&(h=r[p].y));var g={xmid:(f+u)/2,ymid:(d+h)/2,length:Math.max(f-u,d-h),massCenter:o,mass:s},v=new c.default(g),y=new l.default(v);for(p=0;p<s;p+=1)a&&n[p]<=1||e[p].in(v)&&y.insert(e[p]);for(p=0;p<s;p+=1)if(!(a&&n[p]<=1)){e[p].resetForce(),y.updateForce(e[p]),t[2*p]-=e[p].fx,t[2*p+1]-=e[p].fy;var m=[r[p].x-o[0],r[p].y-o[1]],b=Math.hypot(m[0],m[1]);b=b<1e-4?1e-4:b,m[0]=m[0]/b,m[1]=m[1]/b;var x=i*(n[p]+1);t[2*p]-=x*m[0],t[2*p+1]-=x*m[1]}return t},e.prototype.updatePos=function(t,e,n,r){for(var i=this.nodes,o=this.ks,a=this.tao,u=this.prune,c=this.ksmax,l=i.length,f=[],h=[],d=0,p=0,g=0;g<l;g+=1)if(!(u&&r[g]<=1)){var v=[t[2*g]-e[2*g],t[2*g+1]-e[2*g+1]],y=Math.hypot(v[0],v[1]),m=[t[2*g]+e[2*g],t[2*g+1]+e[2*g+1]],b=Math.hypot(m[0],m[1]);f[g]=y,h[g]=b/2,d+=(r[g]+1)*f[g],p+=(r[g]+1)*h[g]}var x=n;n=a*p/d,0!==x&&(n=n>1.5*x?1.5*x:n);for(g=0;g<l;g+=1)if(!(u&&r[g]<=1||(0,s.isNumber)(i[g].fx)&&(0,s.isNumber)(i[g].fy))){var w=o*n/(1+n*Math.sqrt(f[g])),_=Math.hypot(t[2*g],t[2*g+1]),E=c/(_=_<1e-4?1e-4:_),S=(w=w>E?E:w)*t[2*g],M=w*t[2*g+1];i[g].x+=S,i[g].y+=M}return{nodes:i,sg:n}},e}(a.Base);e.ForceAtlas2Layout=f},function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.ERLayout=void 0;var a=n(18),s=o(n(206)),u=function(t){function e(e){var n=t.call(this)||this;return n.width=300,n.height=300,n.nodeMinGap=50,n.onLayoutEnd=function(){},e&&n.updateCfg(e),n}return i(e,t),e.prototype.getDefaultCfg=function(){return{width:300,height:300,nodeMinGap:50}},e.prototype.execute=function(){var t=this,e=t.nodes,n=t.edges;return null==e||e.forEach((function(t){t.size||(t.size=[50,50])})),(0,s.default)({nodes:e,edges:n},{width:this.width,height:this.height,nodeMinGap:this.nodeMinGap}).then((function(){t.onLayoutEnd&&t.onLayoutEnd()}))},e.prototype.getType=function(){return"er"},e}(a.Base);e.ERLayout=u},function(t,e,n){"use strict";function r(t){return[parseInt(t.substr(1,2),16),parseInt(t.substr(3,2),16),parseInt(t.substr(5,2),16)]}function i(t){var e=Math.round(t).toString(16);return 1===e.length?"0".concat(e):e}function o(t){return"#".concat(i(t[0])).concat(i(t[1])).concat(i(t[2]))}function a(t){var e,n,r,i=t||1;function o(t,o){++e>i&&(r=n,a(1),++e),n[t]=o}function a(t){e=0,n=Object.create(null),t||(r=Object.create(null))}return a(),{clear:a,has:function(t){return void 0!==n[t]||void 0!==r[t]},get:function(t){var e=n[t];return void 0!==e?e:void 0!==(e=r[t])?(o(t,e),e):void 0},set:function(t,e){void 0!==n[t]?n[t]=e:o(t,e)}}}n.r(e),n.d(e,"rgb2arr",(function(){return r})),n.d(e,"gradient",(function(){return h})),n.d(e,"toRGB",(function(){return l})),n.d(e,"toCSSGradient",(function(){return v})),n.d(e,"transform",(function(){return w})),n.d(e,"angleTo",(function(){return E})),n.d(e,"direction",(function(){return _})),n.d(e,"vertical",(function(){return S})),n.d(e,"path2String",(function(){return M})),n.d(e,"path2Curve",(function(){return K})),n.d(e,"path2Absolute",(function(){return Y})),n.d(e,"path2Array",(function(){return Q})),n.d(e,"clonePath",(function(){return $})),n.d(e,"normalizePath",(function(){return X})),n.d(e,"reverseCurve",(function(){return J})),n.d(e,"arcToCubic",(function(){return V})),n.d(e,"getPathBBox",(function(){return lt})),n.d(e,"getTotalLength",(function(){return ft})),n.d(e,"getPathBBoxTotalLength",(function(){return ht})),n.d(e,"getRotatedCurve",(function(){return dt})),n.d(e,"getPathArea",(function(){return pt})),n.d(e,"getDrawDirection",(function(){return gt})),n.d(e,"getPointAtLength",(function(){return vt})),n.d(e,"isPointInStroke",(function(){return mt})),n.d(e,"distanceSquareRoot",(function(){return tt})),n.d(e,"equalizeSegments",(function(){return xt})),n.d(e,"contains",(function(){return _t})),n.d(e,"includes",(function(){return _t})),n.d(e,"difference",(function(){return St})),n.d(e,"find",(function(){return Bt})),n.d(e,"findIndex",(function(){return Ft})),n.d(e,"firstValue",(function(){return zt})),n.d(e,"flatten",(function(){return Gt})),n.d(e,"flattenDeep",(function(){return Ut})),n.d(e,"getRange",(function(){return Vt})),n.d(e,"pull",(function(){return Kt})),n.d(e,"pullAt",(function(){return $t})),n.d(e,"reduce",(function(){return Jt})),n.d(e,"remove",(function(){return te})),n.d(e,"sortBy",(function(){return ne})),n.d(e,"union",(function(){return ie})),n.d(e,"uniq",(function(){return re})),n.d(e,"valuesOfKey",(function(){return oe})),n.d(e,"head",(function(){return ae})),n.d(e,"last",(function(){return se})),n.d(e,"startsWith",(function(){return ue})),n.d(e,"endsWith",(function(){return ce})),n.d(e,"filter",(function(){return Et})),n.d(e,"every",(function(){return le})),n.d(e,"some",(function(){return fe})),n.d(e,"group",(function(){return ge})),n.d(e,"groupBy",(function(){return de})),n.d(e,"groupToMap",(function(){return pe})),n.d(e,"getWrapBehavior",(function(){return ve})),n.d(e,"wrapBehavior",(function(){return ye})),n.d(e,"number2color",(function(){return be})),n.d(e,"parseRadius",(function(){return xe})),n.d(e,"clamp",(function(){return we})),n.d(e,"fixedBase",(function(){return _e})),n.d(e,"isDecimal",(function(){return Se})),n.d(e,"isEven",(function(){return Me})),n.d(e,"isInteger",(function(){return Oe})),n.d(e,"isNegative",(function(){return ke})),n.d(e,"isNumberEqual",(function(){return Ae})),n.d(e,"isOdd",(function(){return Ce})),n.d(e,"isPositive",(function(){return je})),n.d(e,"max",(function(){return Xt})),n.d(e,"maxBy",(function(){return Ie})),n.d(e,"min",(function(){return Wt})),n.d(e,"minBy",(function(){return Te})),n.d(e,"mod",(function(){return Ne})),n.d(e,"toDegree",(function(){return De})),n.d(e,"toInteger",(function(){return Le})),n.d(e,"toRadian",(function(){return Be})),n.d(e,"forIn",(function(){return Fe})),n.d(e,"has",(function(){return ze})),n.d(e,"hasKey",(function(){return Ge})),n.d(e,"hasValue",(function(){return Ue})),n.d(e,"keys",(function(){return It})),n.d(e,"isMatch",(function(){return Tt})),n.d(e,"values",(function(){return Ye})),n.d(e,"lowerCase",(function(){return We})),n.d(e,"lowerFirst",(function(){return Ve})),n.d(e,"substitute",(function(){return He})),n.d(e,"upperCase",(function(){return qe})),n.d(e,"upperFirst",(function(){return Ze})),n.d(e,"getType",(function(){return Qe})),n.d(e,"isArguments",(function(){return $e})),n.d(e,"isArray",(function(){return kt})),n.d(e,"isArrayLike",(function(){return wt})),n.d(e,"isBoolean",(function(){return Je})),n.d(e,"isDate",(function(){return tn})),n.d(e,"isError",(function(){return en})),n.d(e,"isFunction",(function(){return Mt})),n.d(e,"isFinite",(function(){return nn})),n.d(e,"isNil",(function(){return Ot})),n.d(e,"isNull",(function(){return rn})),n.d(e,"isNumber",(function(){return Ee})),n.d(e,"isObject",(function(){return Ct})),n.d(e,"isObjectLike",(function(){return Pt})),n.d(e,"isPlainObject",(function(){return Rt})),n.d(e,"isPrototype",(function(){return an})),n.d(e,"isRegExp",(function(){return sn})),n.d(e,"isString",(function(){return ee})),n.d(e,"isType",(function(){return Lt})),n.d(e,"isUndefined",(function(){return un})),n.d(e,"isElement",(function(){return cn})),n.d(e,"requestAnimationFrame",(function(){return ln})),n.d(e,"clearAnimationFrame",(function(){return fn})),n.d(e,"augment",(function(){return pn})),n.d(e,"clone",(function(){return yn})),n.d(e,"debounce",(function(){return mn})),n.d(e,"memoize",(function(){return u})),n.d(e,"deepMix",(function(){return wn})),n.d(e,"each",(function(){return jt})),n.d(e,"extend",(function(){return _n})),n.d(e,"indexOf",(function(){return En})),n.d(e,"isEmpty",(function(){return Mn})),n.d(e,"isEqual",(function(){return kn})),n.d(e,"isEqualWith",(function(){return An})),n.d(e,"map",(function(){return Cn})),n.d(e,"mapValues",(function(){return In})),n.d(e,"mix",(function(){return dn})),n.d(e,"assign",(function(){return dn})),n.d(e,"get",(function(){return Tn})),n.d(e,"set",(function(){return Nn})),n.d(e,"pick",(function(){return Dn})),n.d(e,"omit",(function(){return Ln})),n.d(e,"throttle",(function(){return Rn})),n.d(e,"toArray",(function(){return Bn})),n.d(e,"toString",(function(){return Xe})),n.d(e,"uniqueId",(function(){return zn})),n.d(e,"noop",(function(){return Gn})),n.d(e,"identity",(function(){return Yn})),n.d(e,"size",(function(){return Un})),n.d(e,"Cache",(function(){return Xn})),n.d(e,"isPointInPolygon",(function(){return Hn})),n.d(e,"isPolygonsIntersect",(function(){return $n})),n.d(e,"createDOM",(function(){return Jn})),n.d(e,"modifyCSS",(function(){return tr}));var s=new Map;function u(t,e,n){void 0===n&&(n=128);return function(){for(var r=[],i=0;i<arguments.length;i++)r[i]=arguments[i];var o=e?e.apply(this,r):r[0];s.has(t)||s.set(t,a(n));var u=s.get(t);if(u.has(o))return u.get(o);var c=t.apply(this,r);return u.set(o,c),c}}var c=/rgba?\(([\s.,0-9]+)\)/;var l=u((function(t){if("#"===t[0]&&7===t.length)return t;var e,n=(e=document.getElementById("antv-web-colour-picker"))||((e=document.createElement("i")).id="antv-web-colour-picker",e.title="Web Colour Picker",e.style.display="none",document.body.appendChild(e),e);n.style.color=t;var r=document.defaultView.getComputedStyle(n,"").getPropertyValue("color");return r=o(c.exec(r)[1].split(/\s*,\s*/).map((function(t){return Number(t)})))}),(function(t){return t}),256);function f(t,e,n,r){return t[r]+(e[r]-t[r])*n}function h(t){var e=("string"==typeof t?t.split("-"):t).map((function(t){return r(-1===t.indexOf("#")?l(t):t)}));return function(t){return function(t,e){var n=isNaN(Number(e))||e<0?0:e>1?1:Number(e),r=t.length-1,i=Math.floor(r*n),a=r*n-i,s=t[i],u=i===r?s:t[i+1];return o([f(s,u,a,0),f(s,u,a,1),f(s,u,a,2)])}(e,t)}}var d=/^l\s*\(\s*([\d.]+)\s*\)\s*(.*)/i,p=/^r\s*\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*\)\s*(.*)/i,g=/[\d.]+:(#[^\s]+|[^)]+\))/gi;function v(t){if(/^[r,R,L,l]{1}[\s]*\(/.test(t)){var e,n=void 0;if("l"===t[0]){var r=+(i=d.exec(t))[1]+90;n=i[2],e="linear-gradient(".concat(r,"deg, ")}else if("r"===t[0]){var i;e="radial-gradient(",n=(i=p.exec(t))[4]}var o=n.match(g);return o.forEach((function(t,n){var r=t.split(":");e+="".concat(r[1]," ").concat(100*Number(r[0]),"%"),n!==o.length-1&&(e+=", ")})),e+=")"}return t}var y=n(8);function m(t,e,n){var r=[0,0,0,0,0,0,0,0,0];return y.mat3.fromRotation(r,n),y.mat3.multiply(t,r,e)}function b(t,e,n){var r=[0,0,0,0,0,0,0,0,0];return y.mat3.fromScaling(r,n),y.mat3.multiply(t,r,e)}function x(t,e,n){return y.mat3.multiply(t,n,e)}function w(t,e){for(var n,r,i,o,a=t?[].concat(t):[1,0,0,0,1,0,0,0,1],s=0,u=e.length;s<u;s++){var c=e[s];switch(c[0]){case"t":n=a,r=a,i=[c[1],c[2]],o=void 0,o=[0,0,0,0,0,0,0,0,0],y.mat3.fromTranslation(o,i),y.mat3.multiply(n,o,r);break;case"s":b(a,a,[c[1],c[2]]);break;case"r":m(a,a,c[1]);break;case"m":x(a,a,c[1])}}return a}function _(t,e){return t[0]*e[1]-e[0]*t[1]}function E(t,e,n){var r=y.vec2.angle(t,e),i=_(t,e)>=0;return n?i?2*Math.PI-r:r:i?r:2*Math.PI-r}function S(t,e,n){return n?(t[0]=e[1],t[1]=-1*e[0]):(t[0]=-1*e[1],t[1]=e[0]),t}function M(t,e){return void 0===e&&(e="off"),function(t,e){if("off"===e)return[].concat(t);var n="number"==typeof e&&e>=1?Math.pow(10,e):1;return t.map((function(t){var r=t.slice(1).map(Number).map((function(t){return e?Math.round(t*n)/n:Math.round(t)}));return[t[0]].concat(r)}))}(t,e).map((function(t){return t[0]+t.slice(1).join(" ")})).join("")}var O=n(1),k={x1:0,y1:0,x2:0,y2:0,x:0,y:0,qx:null,qy:null};function A(t,e,n){if(t[n].length>7){t[n].shift();for(var r=t[n],i=n;r.length;)e[n]="A",t.splice(i+=1,0,["C"].concat(r.splice(0,6)));t.splice(n,1)}}var C={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0};function j(t){return Array.isArray(t)&&t.every((function(t){var e=t[0].toLowerCase();return C[e]===t.length-1&&"achlmqstvz".includes(e)}))}function I(t){return j(t)&&t.every((function(t){var e=t[0];return e===e.toUpperCase()}))}function T(t){return I(t)&&t.every((function(t){var e=t[0];return"ACLMQZ".includes(e)}))}function N(t){for(var e=t.pathValue[t.segmentStart],n=e.toLowerCase(),r=t.data;r.length>=C[n]&&("m"===n&&r.length>2?(t.segments.push([e].concat(r.splice(0,2))),n="l",e="m"===e?"l":"L"):t.segments.push([e].concat(r.splice(0,C[n]))),C[n]););}function P(t){var e=t.index,n=t.pathValue,r=n.charCodeAt(e);return 48===r?(t.param=0,void(t.index+=1)):49===r?(t.param=1,void(t.index+=1)):void(t.err='[path-util]: invalid Arc flag "'.concat(n[e],'", expecting 0 or 1 at index ').concat(e))}function D(t){return t>=48&&t<=57||43===t||45===t||46===t}function L(t){return t>=48&&t<=57}function R(t){var e,n=t.max,r=t.pathValue,i=t.index,o=i,a=!1,s=!1,u=!1,c=!1;if(o>=n)t.err="[path-util]: Invalid path value at index ".concat(o,', "pathValue" is missing param');else if(43!==(e=r.charCodeAt(o))&&45!==e||(o+=1,e=r.charCodeAt(o)),L(e)||46===e){if(46!==e){if(a=48===e,o+=1,e=r.charCodeAt(o),a&&o<n&&e&&L(e))return void(t.err="[path-util]: Invalid path value at index ".concat(i,', "').concat(r[i],'" illegal number'));for(;o<n&&L(r.charCodeAt(o));)o+=1,s=!0;e=r.charCodeAt(o)}if(46===e){for(c=!0,o+=1;L(r.charCodeAt(o));)o+=1,u=!0;e=r.charCodeAt(o)}if(101===e||69===e){if(c&&!s&&!u)return void(t.err="[path-util]: Invalid path value at index ".concat(o,', "').concat(r[o],'" invalid float exponent'));if(o+=1,43!==(e=r.charCodeAt(o))&&45!==e||(o+=1),!(o<n&&L(r.charCodeAt(o))))return void(t.err="[path-util]: Invalid path value at index ".concat(o,', "').concat(r[o],'" invalid integer exponent'));for(;o<n&&L(r.charCodeAt(o));)o+=1}t.index=o,t.param=+t.pathValue.slice(i,o)}else t.err="[path-util]: Invalid path value at index ".concat(o,', "').concat(r[o],'" is not a number')}function B(t){for(var e,n=t.pathValue,r=t.max;t.index<r&&(10===(e=n.charCodeAt(t.index))||13===e||8232===e||8233===e||32===e||9===e||11===e||12===e||160===e||e>=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].includes(e));)t.index+=1}function F(t){var e=t.max,n=t.pathValue,r=t.index,i=n.charCodeAt(r),o=C[n[r].toLowerCase()];if(t.segmentStart=r,function(t){switch(32|t){case 109:case 122:case 108:case 104:case 118:case 99:case 115:case 113:case 116:case 97:return!0;default:return!1}}(i))if(t.index+=1,B(t),t.data=[],o){for(;;){for(var a=o;a>0;a-=1){if(97!=(32|i)||3!==a&&4!==a?R(t):P(t),t.err.length)return;t.data.push(t.param),B(t),t.index<e&&44===n.charCodeAt(t.index)&&(t.index+=1,B(t))}if(t.index>=t.max)break;if(!D(n.charCodeAt(t.index)))break}N(t)}else N(t);else t.err='[path-util]: Invalid path value "'.concat(n[r],'" is not a path command')}var z=function(t){this.pathValue=t,this.segments=[],this.max=t.length,this.index=0,this.param=0,this.segmentStart=0,this.data=[],this.err=""};function G(t){if(j(t))return[].concat(t);var e=new z(t);for(B(e);e.index<e.max&&!e.err.length;)F(e);return e.err?e.err:e.segments}function Y(t){if(I(t))return[].concat(t);var e=G(t),n=0,r=0,i=0,o=0;return e.map((function(t){var e,a=t.slice(1).map(Number),s=t[0],u=s.toUpperCase();if("M"===s)return n=a[0],r=a[1],i=n,o=r,["M",n,r];if(s!==u)switch(u){case"A":e=[u,a[0],a[1],a[2],a[3],a[4],a[5]+n,a[6]+r];break;case"V":e=[u,a[0]+r];break;case"H":e=[u,a[0]+n];break;default:var c=a.map((function(t,e){return t+(e%2?r:n)}));e=[u].concat(c)}else e=[u].concat(a);var l=e.length;switch(u){case"Z":n=i,r=o;break;case"H":n=e[1];break;case"V":r=e[1];break;default:n=e[l-2],r=e[l-1],"M"===u&&(i=n,o=r)}return e}))}function U(t,e){var n=t[0],r=e.x1,i=e.y1,o=e.x2,a=e.y2,s=t.slice(1).map(Number),u=t;if("TQ".includes(n)||(e.qx=null,e.qy=null),"H"===n)u=["L",t[1],i];else if("V"===n)u=["L",r,t[1]];else if("S"===n){var c=2*r-o,l=2*i-a;e.x1=c,e.y1=l,u=["C",c,l].concat(s)}else if("T"===n){var f=2*r-e.qx,h=2*i-e.qy;e.qx=f,e.qy=h,u=["Q",f,h].concat(s)}else if("Q"===n){var d=s[0],p=s[1];e.qx=d,e.qy=p}return u}function X(t){if(T(t))return[].concat(t);for(var e=Y(t),n=Object(O.__assign)({},k),r=0;r<e.length;r+=1){e[r]=U(e[r],n);var i=e[r],o=i.length;n.x1=+i[o-2],n.y1=+i[o-1],n.x2=+i[o-4]||n.x1,n.y2=+i[o-3]||n.y1}return e}function W(t,e,n){return{x:t*Math.cos(n)-e*Math.sin(n),y:t*Math.sin(n)+e*Math.cos(n)}}function V(t,e,n,r,i,o,a,s,u,c){var l,f,h,d,p,g=t,v=e,y=n,m=r,b=s,x=u,w=120*Math.PI/180,_=Math.PI/180*(+i||0),E=[];if(c)f=c[0],h=c[1],d=c[2],p=c[3];else{g=(l=W(g,v,-_)).x,v=l.y;var S=(g-(b=(l=W(b,x,-_)).x))/2,M=(v-(x=l.y))/2,O=S*S/(y*y)+M*M/(m*m);O>1&&(y*=O=Math.sqrt(O),m*=O);var k=y*y,A=m*m,C=(o===a?-1:1)*Math.sqrt(Math.abs((k*A-k*M*M-A*S*S)/(k*M*M+A*S*S)));d=C*y*M/m+(g+b)/2,p=C*-m*S/y+(v+x)/2,f=Math.asin(((v-p)/m*Math.pow(10,9)>>0)/Math.pow(10,9)),h=Math.asin(((x-p)/m*Math.pow(10,9)>>0)/Math.pow(10,9)),f=g<d?Math.PI-f:f,h=b<d?Math.PI-h:h,f<0&&(f=2*Math.PI+f),h<0&&(h=2*Math.PI+h),a&&f>h&&(f-=2*Math.PI),!a&&h>f&&(h-=2*Math.PI)}var j=h-f;if(Math.abs(j)>w){var I=h,T=b,N=x;h=f+w*(a&&h>f?1:-1),E=V(b=d+y*Math.cos(h),x=p+m*Math.sin(h),y,m,i,0,a,T,N,[h,I,d,p])}j=h-f;var P=Math.cos(f),D=Math.sin(f),L=Math.cos(h),R=Math.sin(h),B=Math.tan(j/4),F=4/3*y*B,z=4/3*m*B,G=[g,v],Y=[g+F*D,v-z*P],U=[b+F*R,x-z*L],X=[b,x];if(Y[0]=2*G[0]-Y[0],Y[1]=2*G[1]-Y[1],c)return Y.concat(U,X,E);for(var H=[],q=0,Z=(E=Y.concat(U,X,E)).length;q<Z;q+=1)H[q]=q%2?W(E[q-1],E[q],_).y:W(E[q],E[q+1],_).x;return H}function H(t,e,n){var r=t[0],i=t[1];return[r+(e[0]-r)*n,i+(e[1]-i)*n]}var q=function(t,e,n,r){var i=H([t,e],[n,r],.5);return Object(O.__spreadArray)(Object(O.__spreadArray)([],i,!0),[n,r,n,r],!1)};function Z(t,e){var n,r,i,o,a,s,u,c=t[0],l=t.slice(1).map(Number),f=l[0],h=l[1],d=e.x1,p=e.y1,g=e.x,v=e.y;switch("TQ".includes(c)||(e.qx=null,e.qy=null),c){case"M":return e.x=f,e.y=h,t;case"A":return n=[d,p].concat(l),["C"].concat(V(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9]));case"Q":return e.qx=f,e.qy=h,n=[d,p].concat(l),["C"].concat((r=n[0],i=n[1],o=n[2],a=n[3],s=n[4],u=n[5],[1/3*r+2/3*o,1/3*i+2/3*a,1/3*s+2/3*o,1/3*u+2/3*a,s,u]));case"L":return["C"].concat(q(d,p,f,h));case"Z":return d===g&&p===v?["C",d,p,g,v,g,v]:["C"].concat(q(d,p,g,v))}return t}function K(t,e){if(void 0===e&&(e=!1),function(t){return T(t)&&t.every((function(t){var e=t[0];return"MC".includes(e)}))}(t)){var n=[].concat(t);return e?[n,[]]:n}for(var r,i,o=X(t),a=Object(O.__assign)({},k),s=[],u="",c=o.length,l=[],f=0;f<c;f+=1){o[f]&&(u=o[f][0]),s[f]=u;var h=Z(o[f],a);o[f]=h,A(o,s,f),c=o.length,"Z"===u&&l.push(f),i=(r=o[f]).length,a.x1=+r[i-2],a.y1=+r[i-1],a.x2=+r[i-4]||a.x1,a.y2=+r[i-3]||a.y1}return e?[o,l]:o}function Q(t){return G(t)}function $(t){return t.map((function(t){return Array.isArray(t)?[].concat(t):t}))}function J(t){var e=t.slice(1).map((function(e,n,r){return n?r[n-1].slice(-2).concat(e.slice(1)):t[0].slice(1).concat(e.slice(1))})).map((function(t){return t.map((function(e,n){return t[t.length-n-2*(1-n%2)]}))})).reverse();return[["M"].concat(e[0].slice(0,2))].concat(e.map((function(t){return["C"].concat(t.slice(2))})))}function tt(t,e){return Math.sqrt((t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1]))}function et(t,e,n,r,i){var o=tt([t,e],[n,r]),a={x:0,y:0};if("number"==typeof i)if(i<=0)a={x:t,y:e};else if(i>=o)a={x:n,y:r};else{var s=H([t,e],[n,r],i/o);a={x:s[0],y:s[1]}}return{length:o,point:a,min:{x:Math.min(t,n),y:Math.min(e,r)},max:{x:Math.max(t,n),y:Math.max(e,r)}}}function nt(t,e){var n=t.x,r=t.y,i=e.x,o=e.y,a=n*i+r*o,s=Math.sqrt((Math.pow(n,2)+Math.pow(r,2))*(Math.pow(i,2)+Math.pow(o,2)));return(n*o-r*i<0?-1:1)*Math.acos(a/s)}function rt(t,e,n,r,i,o,a,s,u,c){var l=Math.abs,f=Math.sin,h=Math.cos,d=Math.sqrt,p=Math.PI,g=l(n),v=l(r),y=(i%360+360)%360*(p/180);if(t===s&&e===u)return{x:t,y:e};if(0===g||0===v)return et(t,e,s,u,c).point;var m=(t-s)/2,b=(e-u)/2,x={x:h(y)*m+f(y)*b,y:-f(y)*m+h(y)*b},w=Math.pow(x.x,2)/Math.pow(g,2)+Math.pow(x.y,2)/Math.pow(v,2);w>1&&(g*=d(w),v*=d(w));var _=(Math.pow(g,2)*Math.pow(v,2)-Math.pow(g,2)*Math.pow(x.y,2)-Math.pow(v,2)*Math.pow(x.x,2))/(Math.pow(g,2)*Math.pow(x.y,2)+Math.pow(v,2)*Math.pow(x.x,2)),E=(o!==a?1:-1)*d(_=_<0?0:_),S=E*(g*x.y/v),M=E*(-v*x.x/g),O=h(y)*S-f(y)*M+(t+s)/2,k=f(y)*S+h(y)*M+(e+u)/2,A={x:(x.x-S)/g,y:(x.y-M)/v},C=nt({x:1,y:0},A),j=nt(A,{x:(-x.x-S)/g,y:(-x.y-M)/v});!a&&j>0?j-=2*p:a&&j<0&&(j+=2*p);var I=C+(j%=2*p)*c,T=g*h(I),N=v*f(I);return{x:h(y)*T-f(y)*N+O,y:f(y)*T+h(y)*N+k}}function it(t,e,n,r,i,o,a,s,u,c,l){var f,h=l.bbox,d=void 0===h||h,p=l.length,g=void 0===p||p,v=l.sampleSize,y=void 0===v?30:v,m="number"==typeof c,b=t,x=e,w=0,_=[b,x,w],E=[b,x],S={x:0,y:0},M=[{x:b,y:x}];m&&c<=0&&(S={x:b,y:x});for(var O=0;O<=y;O+=1){if(b=(f=rt(t,e,n,r,i,o,a,s,u,O/y)).x,x=f.y,d&&M.push({x:b,y:x}),g&&(w+=tt(E,[b,x])),E=[b,x],m&&w>=c&&c>_[2]){var k=(w-c)/(w-_[2]);S={x:E[0]*(1-k)+_[0]*k,y:E[1]*(1-k)+_[1]*k}}_=[b,x,w]}return m&&c>=w&&(S={x:s,y:u}),{length:w,point:S,min:{x:Math.min.apply(null,M.map((function(t){return t.x}))),y:Math.min.apply(null,M.map((function(t){return t.y})))},max:{x:Math.max.apply(null,M.map((function(t){return t.x}))),y:Math.max.apply(null,M.map((function(t){return t.y})))}}}function ot(t,e,n,r,i,o,a,s,u){var c=1-u;return{x:Math.pow(c,3)*t+3*Math.pow(c,2)*u*n+3*c*Math.pow(u,2)*i+Math.pow(u,3)*a,y:Math.pow(c,3)*e+3*Math.pow(c,2)*u*r+3*c*Math.pow(u,2)*o+Math.pow(u,3)*s}}function at(t,e,n,r,i,o,a,s,u,c){var l,f=c.bbox,h=void 0===f||f,d=c.length,p=void 0===d||d,g=c.sampleSize,v=void 0===g?10:g,y="number"==typeof u,m=t,b=e,x=0,w=[m,b,x],_=[m,b],E={x:0,y:0},S=[{x:m,y:b}];y&&u<=0&&(E={x:m,y:b});for(var M=0;M<=v;M+=1){if(m=(l=ot(t,e,n,r,i,o,a,s,M/v)).x,b=l.y,h&&S.push({x:m,y:b}),p&&(x+=tt(_,[m,b])),_=[m,b],y&&x>=u&&u>w[2]){var O=(x-u)/(x-w[2]);E={x:_[0]*(1-O)+w[0]*O,y:_[1]*(1-O)+w[1]*O}}w=[m,b,x]}return y&&u>=x&&(E={x:a,y:s}),{length:x,point:E,min:{x:Math.min.apply(null,S.map((function(t){return t.x}))),y:Math.min.apply(null,S.map((function(t){return t.y})))},max:{x:Math.max.apply(null,S.map((function(t){return t.x}))),y:Math.max.apply(null,S.map((function(t){return t.y})))}}}function st(t,e,n,r,i,o,a){var s=1-a;return{x:Math.pow(s,2)*t+2*s*a*n+Math.pow(a,2)*i,y:Math.pow(s,2)*e+2*s*a*r+Math.pow(a,2)*o}}function ut(t,e,n,r,i,o,a,s){var u,c=s.bbox,l=void 0===c||c,f=s.length,h=void 0===f||f,d=s.sampleSize,p=void 0===d?10:d,g="number"==typeof a,v=t,y=e,m=0,b=[v,y,m],x=[v,y],w={x:0,y:0},_=[{x:v,y:y}];g&&a<=0&&(w={x:v,y:y});for(var E=0;E<=p;E+=1){if(v=(u=st(t,e,n,r,i,o,E/p)).x,y=u.y,l&&_.push({x:v,y:y}),h&&(m+=tt(x,[v,y])),x=[v,y],g&&m>=a&&a>b[2]){var S=(m-a)/(m-b[2]);w={x:x[0]*(1-S)+b[0]*S,y:x[1]*(1-S)+b[1]*S}}b=[v,y,m]}return g&&a>=m&&(w={x:i,y:o}),{length:m,point:w,min:{x:Math.min.apply(null,_.map((function(t){return t.x}))),y:Math.min.apply(null,_.map((function(t){return t.y})))},max:{x:Math.max.apply(null,_.map((function(t){return t.x}))),y:Math.max.apply(null,_.map((function(t){return t.y})))}}}function ct(t,e,n){for(var r,i,o,a,s,u,c,l,f,h=X(t),d="number"==typeof e,p=[],g=0,v=0,y=0,m=0,b=[],x=[],w=0,_={x:0,y:0},E=_,S=_,M=_,O=0,k=0,A=h.length;k<A;k+=1)p=(c="M"===(l=(f=h[k])[0]))?p:[g,v].concat(f.slice(1)),c?(E=_={x:y=f[1],y:m=f[2]},w=0,d&&e<.001&&(M=_)):"L"===l?(w=(r=et(p[0],p[1],p[2],p[3],(e||0)-O)).length,_=r.min,E=r.max,S=r.point):"A"===l?(w=(i=it(p[0],p[1],p[2],p[3],p[4],p[5],p[6],p[7],p[8],(e||0)-O,n||{})).length,_=i.min,E=i.max,S=i.point):"C"===l?(w=(o=at(p[0],p[1],p[2],p[3],p[4],p[5],p[6],p[7],(e||0)-O,n||{})).length,_=o.min,E=o.max,S=o.point):"Q"===l?(w=(a=ut(p[0],p[1],p[2],p[3],p[4],p[5],(e||0)-O,n||{})).length,_=a.min,E=a.max,S=a.point):"Z"===l&&(w=(s=et((p=[g,v,y,m])[0],p[1],p[2],p[3],(e||0)-O)).length,_=s.min,E=s.max,S=s.point),d&&O<e&&O+w>=e&&(M=S),x.push(E),b.push(_),O+=w,g=(u="Z"!==l?f.slice(-2):[y,m])[0],v=u[1];return d&&e>=O&&(M={x:g,y:v}),{length:O,point:M,min:{x:Math.min.apply(null,b.map((function(t){return t.x}))),y:Math.min.apply(null,b.map((function(t){return t.y})))},max:{x:Math.max.apply(null,x.map((function(t){return t.x}))),y:Math.max.apply(null,x.map((function(t){return t.y})))}}}function lt(t,e){if(!t)return{x:0,y:0,width:0,height:0,x2:0,y2:0,cx:0,cy:0,cz:0};var n=ct(t,void 0,Object(O.__assign)(Object(O.__assign)({},e),{length:!1})),r=n.min,i=r.x,o=r.y,a=n.max,s=a.x,u=a.y,c=s-i,l=u-o;return{width:c,height:l,x:i,y:o,x2:s,y2:u,cx:i+c/2,cy:o+l/2,cz:Math.max(c,l)+Math.min(c,l)/2}}function ft(t,e){return ct(t,void 0,Object(O.__assign)(Object(O.__assign)({},e),{bbox:!1,length:!0})).length}function ht(t,e){if(!t)return{length:0,x:0,y:0,width:0,height:0,x2:0,y2:0,cx:0,cy:0,cz:0};var n=ct(t,void 0,Object(O.__assign)(Object(O.__assign)({},e),{bbox:!0,length:!0})),r=n.length,i=n.min,o=i.x,a=i.y,s=n.max,u=s.x,c=s.y,l=u-o,f=c-a;return{length:r,width:l,height:f,x:o,y:a,x2:u,y2:c,cx:o+l/2,cy:a+f/2,cz:Math.max(l,f)+Math.min(l,f)/2}}function dt(t,e){var n=t.length-1,r=[],i=0,o=function(t){var e=t.length,n=e-1;return t.map((function(r,i){return t.map((function(r,o){var a,s=i+o;return 0===o||t[s]&&"M"===t[s][0]?(a=t[s],["M"].concat(a.slice(-2))):(s>=e&&(s-=n),t[s])}))}))}(t);return o.forEach((function(o,a){t.slice(1).forEach((function(r,o){i+=tt(t[(a+o)%n].slice(-2),e[o%n].slice(-2))})),r[a]=i,i=0})),o[r.indexOf(Math.min.apply(null,r))]}function pt(t){var e=0,n=0,r=0;return K(t).map((function(t){var i;switch(t[0]){case"M":return e=t[1],n=t[2],0;default:var o=t.slice(1),a=o[0],s=o[1],u=o[2],c=o[3],l=o[4],f=o[5];return r=function(t,e,n,r,i,o,a,s){return 3*((s-e)*(n+i)-(a-t)*(r+o)+r*(t-i)-n*(e-o)+s*(i+t/3)-a*(o+e/3))/20}(e,n,a,s,u,c,l,f),i=t.slice(-2),e=i[0],n=i[1],r}})).reduce((function(t,e){return t+e}),0)}function gt(t){return pt(t)>=0}function vt(t,e,n){return ct(t,e,Object(O.__assign)(Object(O.__assign)({},n),{bbox:!1,length:!0})).point}function yt(t,e){for(var n,r,i,o,a=G(t),s=X(a),u=ft(a),c=function(t){var n=t.x-e.x,r=t.y-e.y;return n*n+r*r},l=8,f=0,h=0,d=1/0,p=0;p<=u;p+=l)(f=c(n=vt(s,p)))<d&&(r=n,h=p,d=f);l/=2;for(var g=0,v=0,y=0,m=0;l>.5;)y=c(i=vt(s,g=h-l)),m=c(o=vt(s,v=h+l)),g>=0&&y<d?(r=i,h=g,d=y):v<=u&&m<d?(r=o,h=v,d=m):l/=2;var b=function(t,e){var n=G(t);if("string"==typeof n)throw TypeError(n);var r=n.slice(),i=ft(r),o=r.length-1,a=0,s=0,u=n[0],c=u.slice(-2),l={x:c[0],y:c[1]};if(o<=0||!e||!Number.isFinite(e))return{segment:u,index:0,length:s,point:l,lengthAtSegment:a};if(e>=i)return s=i-(a=ft(r=n.slice(0,-1))),{segment:n[o],index:o,length:s,lengthAtSegment:a};for(var f=[];o>0;)u=r[o],s=i-(a=ft(r=r.slice(0,-1))),i=a,f.push({segment:u,index:o,length:s,lengthAtSegment:a}),o-=1;return f.find((function(t){return t.lengthAtSegment<=e}))}(a,h);return{closest:r,distance:Math.sqrt(d),segment:b}}function mt(t,e){var n=yt(t,e).distance;return Math.abs(n)<.001}function bt(t){return t.map((function(t,e,n){var r=e&&n[e-1].slice(-2).concat(t.slice(1)),i=e?at(r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],{bbox:!1}).length:0;return{s:t,ss:e?i?function(t,e){void 0===e&&(e=.5);var n=t.slice(0,2),r=t.slice(2,4),i=t.slice(4,6),o=t.slice(6,8),a=H(n,r,e),s=H(r,i,e),u=H(i,o,e),c=H(a,s,e),l=H(s,u,e),f=H(c,l,e);return[["C"].concat(a,c,f),["C"].concat(l,u,o)]}(r):[t,t]:[t],l:i}}))}function xt(t,e,n){var r=bt(t),i=bt(e),o=r.length,a=i.length,s=r.filter((function(t){return t.l})).length,u=i.filter((function(t){return t.l})).length,c=r.filter((function(t){return t.l})).reduce((function(t,e){return t+e.l}),0)/s||0,l=i.filter((function(t){return t.l})).reduce((function(t,e){return t+e.l}),0)/u||0,f=n||Math.max(o,a),h=[c,l],d=[f-o,f-a],p=0,g=[r,i].map((function(t,e){return t.l===f?t.map((function(t){return t.s})):t.map((function(t,n){return p=n&&d[e]&&t.l>=h[e],d[e]-=p?1:0,p?t.ss:[t.s]})).flat()}));return g[0].length===g[1].length?g:xt(g[0],g[1],f)}var wt=function(t){return null!==t&&"function"!=typeof t&&isFinite(t.length)},_t=function(t,e){return!!wt(t)&&t.indexOf(e)>-1},Et=function(t,e){if(!wt(t))return t;for(var n=[],r=0;r<t.length;r++){var i=t[r];e(i,r)&&n.push(i)}return n},St=function(t,e){return void 0===e&&(e=[]),Et(t,(function(t){return!_t(e,t)}))};function Mt(t){return"function"==typeof t}function Ot(t){return null==t}function kt(t){return Array.isArray(t)}function At(t){return(At="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var Ct=function(t){var e=At(t);return null!==t&&"object"===e||"function"===e};var jt=function(t,e){if(t)if(kt(t))for(var n=0,r=t.length;n<r&&!1!==e(t[n],n);n++);else if(Ct(t))for(var i in t)if(t.hasOwnProperty(i)&&!1===e(t[i],i))break},It=Object.keys?function(t){return Object.keys(t)}:function(t){var e=[];return jt(t,(function(n,r){Mt(t)&&"prototype"===r||e.push(r)})),e};var Tt=function(t,e){var n=It(e),r=n.length;if(Ot(t))return!r;for(var i=0;i<r;i+=1){var o=n[i];if(e[o]!==t[o]||!(o in t))return!1}return!0};function Nt(t){return(Nt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var Pt=function(t){return"object"===Nt(t)&&null!==t},Dt={}.toString,Lt=function(t,e){return Dt.call(t)==="[object "+e+"]"},Rt=function(t){if(!Pt(t)||!Lt(t,"Object"))return!1;if(null===Object.getPrototypeOf(t))return!0;for(var e=t;null!==Object.getPrototypeOf(e);)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e};var Bt=function(t,e){if(!kt(t))return null;var n;if(Mt(e)&&(n=e),Rt(e)&&(n=function(t){return Tt(t,e)}),n)for(var r=0;r<t.length;r+=1)if(n(t[r]))return t[r];return null};var Ft=function(t,e,n){void 0===n&&(n=0);for(var r=n;r<t.length;r++)if(e(t[r],r))return r;return-1},zt=function(t,e){for(var n=null,r=0;r<t.length;r++){var i=t[r][e];if(!Ot(i)){n=kt(i)?i[0]:i;break}}return n},Gt=function(t){if(!kt(t))return[];for(var e=[],n=0;n<t.length;n++)e=e.concat(t[n]);return e},Yt=function(t,e){if(void 0===e&&(e=[]),kt(t))for(var n=0;n<t.length;n+=1)Yt(t[n],e);else e.push(t);return e},Ut=Yt;function Xt(t){if(!Array.isArray(t))return-1/0;var e=t.length;if(!e)return-1/0;for(var n=t[0],r=1;r<e;r++)n=Math.max(n,t[r]);return n}var Wt=function(t){if(kt(t))return t.reduce((function(t,e){return Math.min(t,e)}),t[0])},Vt=function(t){var e=t.filter((function(t){return!isNaN(t)}));if(!e.length)return{min:0,max:0};if(kt(t[0])){for(var n=[],r=0;r<t.length;r++)n=n.concat(t[r]);e=n}var i=Xt(e);return{min:Wt(e),max:i}},Ht=Array.prototype,qt=Ht.splice,Zt=Ht.indexOf,Kt=function(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];for(var r=0;r<e.length;r++)for(var i=e[r],o=-1;(o=Zt.call(t,i))>-1;)qt.call(t,o,1);return t},Qt=Array.prototype.splice,$t=function(t,e){if(!wt(t))return[];for(var n=t?e.length:0,r=n-1;n--;){var i=void 0,o=e[n];n!==r&&o===i||(i=o,Qt.call(t,o,1))}return t},Jt=function(t,e,n){if(!kt(t)&&!Rt(t))return t;var r=n;return jt(t,(function(t,n){r=e(r,t,n)})),r},te=function(t,e){var n=[];if(!wt(t))return n;for(var r=-1,i=[],o=t.length;++r<o;){var a=t[r];e(a,r,t)&&(n.push(a),i.push(r))}return $t(t,i),n};function ee(t){return"string"==typeof t}var ne=function(t,e){var n;if(Mt(e))n=function(t,n){return e(t)-e(n)};else{var r=[];ee(e)?r.push(e):kt(e)&&(r=e),n=function(t,e){for(var n=0;n<r.length;n+=1){var i=r[n];if(t[i]>e[i])return 1;if(t[i]<e[i])return-1}return 0}}return t.sort(n),t};function re(t,e){void 0===e&&(e=new Map);var n=[];if(Array.isArray(t))for(var r=0,i=t.length;r<i;r++){var o=t[r];e.has(o)||(n.push(o),e.set(o,!0))}return n}var ie=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return re([].concat.apply([],t))},oe=function(t,e){for(var n=[],r={},i=0;i<t.length;i++){var o=t[i][e];if(!Ot(o)){kt(o)||(o=[o]);for(var a=0;a<o.length;a++){var s=o[a];r[s]||(n.push(s),r[s]=!0)}}}return n};function ae(t){if(wt(t))return t[0]}function se(t){if(wt(t)){return t[t.length-1]}}var ue=function(t,e){return!(!kt(t)&&!ee(t))&&t[0]===e};var ce=function(t,e){return!(!kt(t)&&!ee(t))&&t[t.length-1]===e},le=function(t,e){for(var n=0;n<t.length;n++)if(!e(t[n],n))return!1;return!0},fe=function(t,e){for(var n=0;n<t.length;n++)if(e(t[n],n))return!0;return!1},he=Object.prototype.hasOwnProperty;var de=function(t,e){if(!e||!kt(t))return{};for(var n,r={},i=Mt(e)?e:function(t){return t[e]},o=0;o<t.length;o++){var a=t[o];n=i(a),he.call(r,n)?r[n].push(a):r[n]=[a]}return r};function pe(t,e){if(!e)return{0:t};if(!Mt(e)){var n=kt(e)?e:e.replace(/\s+/g,"").split("*");e=function(t){for(var e="_",r=0,i=n.length;r<i;r++)e+=t[n[r]]&&t[n[r]].toString();return e}}return de(t,e)}var ge=function(t,e){if(!e)return[t];var n=pe(t,e),r=[];for(var i in n)r.push(n[i]);return r};var ve=function(t,e){return t["_wrap_"+e]};var ye=function(t,e){if(t["_wrap_"+e])return t["_wrap_"+e];var n=function(n){t[e](n)};return t["_wrap_"+e]=n,n},me={};var be=function(t){var e=me[t];if(!e){for(var n=t.toString(16),r=n.length;r<6;r++)n="0"+n;e="#"+n,me[t]=e}return e};var xe=function(t){var e=0,n=0,r=0,i=0;return kt(t)?1===t.length?e=n=r=i=t[0]:2===t.length?(e=r=t[0],n=i=t[1]):3===t.length?(e=t[0],n=i=t[1],r=t[2]):(e=t[0],n=t[1],r=t[2],i=t[3]):e=n=r=i=t,{r1:e,r2:n,r3:r,r4:i}},we=function(t,e,n){return t<e?e:t>n?n:t},_e=function(t,e){var n=e.toString(),r=n.indexOf(".");if(-1===r)return Math.round(t);var i=n.substr(r+1).length;return i>20&&(i=20),parseFloat(t.toFixed(i))};function Ee(t){return"number"==typeof t}function Se(t){return Ee(t)&&t%1!=0}function Me(t){return Ee(t)&&t%2==0}function Oe(t){return Ee(t)&&t%1==0}function ke(t){return Ee(t)&&t<0}function Ae(t,e,n){return void 0===n&&(n=1e-5),t===e||Math.abs(t-e)<n}function Ce(t){return Ee(t)&&t%2!=0}var je=function(t){return Ee(t)&&t>0},Ie=function(t,e){if(kt(t)){for(var n,r=-1/0,i=0;i<t.length;i++){var o=t[i],a=Mt(e)?e(o):o[e];a>r&&(n=o,r=a)}return n}},Te=function(t,e){if(kt(t)){for(var n,r=1/0,i=0;i<t.length;i++){var o=t[i],a=Mt(e)?e(o):o[e];a<r&&(n=o,r=a)}return n}},Ne=function(t,e){return(t%e+e)%e},Pe=180/Math.PI,De=function(t){return Pe*t},Le=parseInt,Re=Math.PI/180,Be=function(t){return Re*t},Fe=jt,ze=function(t,e){return t.hasOwnProperty(e)},Ge=ze,Ye=Object.values?function(t){return Object.values(t)}:function(t){var e=[];return jt(t,(function(n,r){Mt(t)&&"prototype"===r||e.push(n)})),e},Ue=function(t,e){return _t(Ye(t),e)},Xe=function(t){return Ot(t)?"":t.toString()},We=function(t){return Xe(t).toLowerCase()},Ve=function(t){var e=Xe(t);return e.charAt(0).toLowerCase()+e.substring(1)};var He=function(t,e){return t&&e?t.replace(/\\?\{([^{}]+)\}/g,(function(t,n){return"\\"===t.charAt(0)?t.slice(1):void 0===e[n]?"":e[n]})):t},qe=function(t){return Xe(t).toUpperCase()},Ze=function(t){var e=Xe(t);return e.charAt(0).toUpperCase()+e.substring(1)},Ke={}.toString,Qe=function(t){return Ke.call(t).replace(/^\[object /,"").replace(/]$/,"")},$e=function(t){return Lt(t,"Arguments")},Je=function(t){return Lt(t,"Boolean")};function tn(t){return t instanceof Date}var en=function(t){return Lt(t,"Error")},nn=function(t){return Ee(t)&&isFinite(t)};function rn(t){return null===t}var on=Object.prototype,an=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||on)},sn=function(t){return Lt(t,"RegExp")},un=function(t){return void 0===t};function cn(t){return t instanceof Element||t instanceof Document}function ln(t){return(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.msRequestAnimationFrame||function(t){return setTimeout(t,16)})(t)}function fn(t){(window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.msCancelAnimationFrame||clearTimeout)(t)}function hn(t,e){for(var n in e)e.hasOwnProperty(n)&&"constructor"!==n&&void 0!==e[n]&&(t[n]=e[n])}function dn(t,e,n,r){return e&&hn(t,e),n&&hn(t,n),r&&hn(t,r),t}var pn=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];for(var n=t[0],r=1;r<t.length;r++){var i=t[r];Mt(i)&&(i=i.prototype),dn(n.prototype,i)}};function gn(t){return(gn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var vn=function(t){if("object"!==gn(t)||null===t)return t;var e;if(kt(t)){e=[];for(var n=0,r=t.length;n<r;n++)"object"===gn(t[n])&&null!=t[n]?e[n]=vn(t[n]):e[n]=t[n]}else for(var i in e={},t)"object"===gn(t[i])&&null!=t[i]?e[i]=vn(t[i]):e[i]=t[i];return e},yn=vn;var mn=function(t,e,n){var r;return function(){var i=this,o=arguments,a=function(){r=null,n||t.apply(i,o)},s=n&&!r;clearTimeout(r),r=setTimeout(a,e),s&&t.apply(i,o)}};function bn(t,e){if(Object.hasOwn)return Object.hasOwn(t,e);if(null==t)throw new TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(Object(t),e)}function xn(t,e,n,r){for(var i in n=n||0,r=r||5,e)if(bn(e,i)){var o=e[i];null!==o&&Rt(o)?(Rt(t[i])||(t[i]={}),n<r?xn(t[i],o,n+1,r):t[i]=e[i]):kt(o)?(t[i]=[],t[i]=t[i].concat(o)):void 0!==o&&(t[i]=o)}}var wn=function(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];for(var r=0;r<e.length;r+=1)xn(t,e[r]);return t},_n=function(t,e,n,r){Mt(e)||(n=e,e=t,t=function(){});var i=Object.create?function(t,e){return Object.create(t,{constructor:{value:e}})}:function(t,e){function n(){}n.prototype=t;var r=new n;return r.constructor=e,r},o=i(e.prototype,t);return t.prototype=dn(o,t.prototype),t.superclass=i(e.prototype,e),dn(o,n),dn(t,r),t},En=function(t,e){if(!wt(t))return-1;var n=Array.prototype.indexOf;if(n)return n.call(t,e);for(var r=-1,i=0;i<t.length;i++)if(t[i]===e){r=i;break}return r},Sn=Object.prototype.hasOwnProperty;var Mn=function(t){if(Ot(t))return!0;if(wt(t))return!t.length;var e=Qe(t);if("Map"===e||"Set"===e)return!t.size;if(an(t))return!Object.keys(t).length;for(var n in t)if(Sn.call(t,n))return!1;return!0},On=function(t,e){if(t===e)return!0;if(!t||!e)return!1;if(ee(t)||ee(e))return!1;if(wt(t)||wt(e)){if(t.length!==e.length)return!1;for(var n=!0,r=0;r<t.length&&(n=On(t[r],e[r]));r++);return n}if(Pt(t)||Pt(e)){var i=Object.keys(t),o=Object.keys(e);if(i.length!==o.length)return!1;for(n=!0,r=0;r<i.length&&(n=On(t[i[r]],e[i[r]]));r++);return n}return!1},kn=On,An=function(t,e,n){return Mt(n)?!!n(t,e):kn(t,e)},Cn=function(t,e){if(!wt(t))return t;for(var n=[],r=0;r<t.length;r++){var i=t[r];n.push(e(i,r))}return n},jn=function(t){return t},In=function(t,e){void 0===e&&(e=jn);var n={};return Ct(t)&&!Ot(t)&&Object.keys(t).forEach((function(r){n[r]=e(t[r],r)})),n},Tn=function(t,e,n){for(var r=0,i=ee(e)?e.split("."):e;t&&r<i.length;)t=t[i[r++]];return void 0===t||r<i.length?n:t},Nn=function(t,e,n){var r=t,i=ee(e)?e.split("."):e;return i.forEach((function(t,e){e<i.length-1?(Ct(r[t])||(r[t]=Ee(i[e+1])?[]:{}),r=r[t]):r[t]=n})),t},Pn=Object.prototype.hasOwnProperty,Dn=function(t,e){if(null===t||!Rt(t))return{};var n={};return jt(e,(function(e){Pn.call(t,e)&&(n[e]=t[e])})),n},Ln=function(t,e){return Jt(t,(function(t,n,r){return e.includes(r)||(t[r]=n),t}),{})},Rn=function(t,e,n){var r,i,o,a,s=0;n||(n={});var u=function(){s=!1===n.leading?0:Date.now(),r=null,a=t.apply(i,o),r||(i=o=null)},c=function(){var c=Date.now();s||!1!==n.leading||(s=c);var l=e-(c-s);return i=this,o=arguments,l<=0||l>e?(r&&(clearTimeout(r),r=null),s=c,a=t.apply(i,o),r||(i=o=null)):r||!1===n.trailing||(r=setTimeout(u,l)),a};return c.cancel=function(){clearTimeout(r),s=0,r=i=o=null},c},Bn=function(t){return wt(t)?Array.prototype.slice.call(t):[]},Fn={},zn=function(t){return Fn[t=t||"g"]?Fn[t]+=1:Fn[t]=1,t+Fn[t]},Gn=function(){},Yn=function(t){return t};function Un(t){return Ot(t)?0:wt(t)?t.length:Object.keys(t).length}var Xn=function(){function t(){this.map={}}return t.prototype.has=function(t){return void 0!==this.map[t]},t.prototype.get=function(t,e){var n=this.map[t];return void 0===n?e:n},t.prototype.set=function(t,e){this.map[t]=e},t.prototype.clear=function(){this.map={}},t.prototype.delete=function(t){delete this.map[t]},t.prototype.size=function(){return Object.keys(this.map).length},t}();function Wn(t){return Math.abs(t)<1e-6?0:t<0?-1:1}function Vn(t,e,n){return(n[0]-t[0])*(e[1]-t[1])==(e[0]-t[0])*(n[1]-t[1])&&Math.min(t[0],e[0])<=n[0]&&n[0]<=Math.max(t[0],e[0])&&Math.min(t[1],e[1])<=n[1]&&n[1]<=Math.max(t[1],e[1])}function Hn(t,e,n){var r=!1,i=t.length;if(i<=2)return!1;for(var o=0;o<i;o++){var a=t[o],s=t[(o+1)%i];if(Vn(a,s,[e,n]))return!0;Wn(a[1]-n)>0!=Wn(s[1]-n)>0&&Wn(e-(n-a[1])*(a[0]-s[0])/(a[1]-s[1])-a[0])<0&&(r=!r)}return r}var qn=function(t,e,n){return t>=e&&t<=n};function Zn(t){for(var e=[],n=t.length,r=0;r<n-1;r++){var i=t[r],o=t[r+1];e.push({from:{x:i[0],y:i[1]},to:{x:o[0],y:o[1]}})}if(e.length>1){var a=t[0],s=t[n-1];e.push({from:{x:s[0],y:s[1]},to:{x:a[0],y:a[1]}})}return e}function Kn(t,e){var n=!1;return t.forEach((function(t){if(function(t,e,n,r){var i=n.x-t.x,o=n.y-t.y,a=e.x-t.x,s=e.y-t.y,u=r.x-n.x,c=r.y-n.y,l=a*c-s*u,f=null;if(l*l>.001*(a*a+s*s)*(u*u+c*c)){var h=(i*c-o*u)/l,d=(i*s-o*a)/l;qn(h,0,1)&&qn(d,0,1)&&(f={x:t.x+h*a,y:t.y+h*s})}return f}(t.from,t.to,e.from,e.to))return n=!0,!1})),n}function Qn(t){var e=t.map((function(t){return t[0]})),n=t.map((function(t){return t[1]}));return{minX:Math.min.apply(null,e),maxX:Math.max.apply(null,e),minY:Math.min.apply(null,n),maxY:Math.max.apply(null,n)}}function $n(t,e){if(t.length<2||e.length<2)return!1;var n,r,i=Qn(t),o=Qn(e);if(n=i,(r=o).minX>n.maxX||r.maxX<n.minX||r.minY>n.maxY||r.maxY<n.minY)return!1;var a=!1;if(e.forEach((function(e){if(Hn(t,e[0],e[1]))return a=!0,!1})),a)return!0;if(t.forEach((function(t){if(Hn(e,t[0],t[1]))return a=!0,!1})),a)return!0;var s=Zn(t),u=Zn(e),c=!1;return u.forEach((function(t){if(Kn(s,t))return c=!0,!1})),c}function Jn(t){var e=document.createElement("div");e.innerHTML=t;var n=e.childNodes[0];return n&&e.contains(n)&&e.removeChild(n),n}function tr(t,e){if(t)return Object.keys(e).forEach((function(n){t.style[n]=e[n]})),t}},function(t,e,n){"use strict";n.r(e),n.d(e,"AbstractMatrix",(function(){return W})),n.d(e,"default",(function(){return Z})),n.d(e,"Matrix",(function(){return Z})),n.d(e,"MatrixColumnView",(function(){return ct})),n.d(e,"MatrixColumnSelectionView",(function(){return vt})),n.d(e,"MatrixFlipColumnView",(function(){return Et})),n.d(e,"MatrixFlipRowView",(function(){return jt})),n.d(e,"MatrixRowView",(function(){return Rt})),n.d(e,"MatrixRowSelectionView",(function(){return Xt})),n.d(e,"MatrixSelectionView",(function(){return Qt})),n.d(e,"MatrixSubView",(function(){return ie})),n.d(e,"MatrixTransposeView",(function(){return fe})),n.d(e,"wrap",(function(){return ke})),n.d(e,"WrapperMatrix1D",(function(){return be})),n.d(e,"WrapperMatrix2D",(function(){return Oe})),n.d(e,"solve",(function(){return Ue})),n.d(e,"inverse",(function(){return Ye})),n.d(e,"determinant",(function(){return Xe})),n.d(e,"linearDependencies",(function(){return He})),n.d(e,"pseudoInverse",(function(){return qe})),n.d(e,"covariance",(function(){return Ke})),n.d(e,"correlation",(function(){return $e})),n.d(e,"SingularValueDecomposition",(function(){return Ge})),n.d(e,"SVD",(function(){return Ge})),n.d(e,"EigenvalueDecomposition",(function(){return rn})),n.d(e,"EVD",(function(){return rn})),n.d(e,"CholeskyDecomposition",(function(){return dn})),n.d(e,"CHO",(function(){return dn})),n.d(e,"LuDecomposition",(function(){return Ie})),n.d(e,"LU",(function(){return Ie})),n.d(e,"QrDecomposition",(function(){return Le})),n.d(e,"QR",(function(){return Le})),n.d(e,"Nipals",(function(){return bn})),n.d(e,"NIPALS",(function(){return bn}));var r=Object.prototype.toString;function i(t){var e=r.call(t);return e.endsWith("Array]")&&!e.includes("Big")}function o(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!i(t))throw new TypeError("input must be an array");if(0===t.length)throw new TypeError("input must not be empty");var n=e.fromIndex,r=void 0===n?0:n,o=e.toIndex,a=void 0===o?t.length:o;if(r<0||r>=t.length||!Number.isInteger(r))throw new Error("fromIndex must be a positive integer smaller than length");if(a<=r||a>t.length||!Number.isInteger(a))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var s=t[r],u=r+1;u<a;u++)t[u]>s&&(s=t[u]);return s}function a(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!i(t))throw new TypeError("input must be an array");if(0===t.length)throw new TypeError("input must not be empty");var n=e.fromIndex,r=void 0===n?0:n,o=e.toIndex,a=void 0===o?t.length:o;if(r<0||r>=t.length||!Number.isInteger(r))throw new Error("fromIndex must be a positive integer smaller than length");if(a<=r||a>t.length||!Number.isInteger(a))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var s=t[r],u=r+1;u<a;u++)t[u]<s&&(s=t[u]);return s}function s(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!i(t))throw new TypeError("input must be an array");if(0===t.length)throw new TypeError("input must not be empty");if(void 0!==n.output){if(!i(n.output))throw new TypeError("output option must be an array if specified");e=n.output}else e=new Array(t.length);var r=a(t),s=o(t);if(r===s)throw new RangeError("minimum and maximum input values are equal. Cannot rescale a constant array");var u=n.min,c=void 0===u?n.autoMinMax?r:0:u,l=n.max,f=void 0===l?n.autoMinMax?s:1:l;if(c>=f)throw new RangeError("min option must be smaller than max option");for(var h=(f-c)/(s-r),d=0;d<t.length;d++)e[d]=(t[d]-r)*h+c;return e}var u=" ".repeat(2),c=" ".repeat(4);function l(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.maxRows,r=void 0===n?15:n,i=e.maxColumns,o=void 0===i?10:i,a=e.maxNumSize,s=void 0===a?8:a;return"".concat(t.constructor.name," {\n").concat(u,"[\n").concat(c).concat(f(t,r,o,s),"\n").concat(u,"]\n").concat(u,"rows: ").concat(t.rows,"\n").concat(u,"columns: ").concat(t.columns,"\n}")}function f(t,e,n,r){for(var i=t.rows,o=t.columns,a=Math.min(i,e),s=Math.min(o,n),u=[],l=0;l<a;l++){for(var f=[],d=0;d<s;d++)f.push(h(t.get(l,d),r));u.push("".concat(f.join(" ")))}return s!==o&&(u[u.length-1]+=" ... ".concat(o-n," more columns")),a!==i&&u.push("... ".concat(i-e," more rows")),u.join("\n".concat(c))}function h(t,e){var n=String(t);if(n.length<=e)return n.padEnd(e," ");var r=t.toPrecision(e-2);if(r.length<=e)return r;var i=t.toExponential(e-2),o=i.indexOf("e"),a=i.slice(o);return i.slice(0,e-a.length)+a}function d(t){return(d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function p(t,e,n){var r=n?t.rows:t.rows-1;if(e<0||e>r)throw new RangeError("Row index out of range")}function g(t,e,n){var r=n?t.columns:t.columns-1;if(e<0||e>r)throw new RangeError("Column index out of range")}function v(t,e){if(e.to1DArray&&(e=e.to1DArray()),e.length!==t.columns)throw new RangeError("vector size must be the same as the number of columns");return e}function y(t,e){if(e.to1DArray&&(e=e.to1DArray()),e.length!==t.rows)throw new RangeError("vector size must be the same as the number of rows");return e}function m(t,e,n){return{row:b(t,e),column:x(t,n)}}function b(t,e){if("object"!==d(e))throw new TypeError("unexpected type for row indices");if(e.some((function(e){return e<0||e>=t.rows})))throw new RangeError("row indices are out of range");return Array.isArray(e)||(e=Array.from(e)),e}function x(t,e){if("object"!==d(e))throw new TypeError("unexpected type for column indices");if(e.some((function(e){return e<0||e>=t.columns})))throw new RangeError("column indices are out of range");return Array.isArray(e)||(e=Array.from(e)),e}function w(t,e,n,r,i){if(5!==arguments.length)throw new RangeError("expected 4 arguments");if(E("startRow",e),E("endRow",n),E("startColumn",r),E("endColumn",i),e>n||r>i||e<0||e>=t.rows||n<0||n>=t.rows||r<0||r>=t.columns||i<0||i>=t.columns)throw new RangeError("Submatrix indices are out of range")}function _(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=[],r=0;r<t;r++)n.push(e);return n}function E(t,e){if("number"!=typeof e)throw new TypeError("".concat(t," must be a number"))}function S(t,e,n){for(var r=t.rows,i=t.columns,o=[],a=0;a<r;a++){for(var s=0,u=0,c=0,l=0;l<i;l++)s+=c=t.get(a,l)-n[a],u+=c*c;e?o.push((u-s*s/i)/(i-1)):o.push((u-s*s/i)/i)}return o}function M(t,e,n){for(var r=t.rows,i=t.columns,o=[],a=0;a<i;a++){for(var s=0,u=0,c=0,l=0;l<r;l++)s+=c=t.get(l,a)-n[a],u+=c*c;e?o.push((u-s*s/r)/(r-1)):o.push((u-s*s/r)/r)}return o}function O(t,e,n){for(var r=t.rows,i=t.columns,o=r*i,a=0,s=0,u=0,c=0;c<r;c++)for(var l=0;l<i;l++)a+=u=t.get(c,l)-n,s+=u*u;return e?(s-a*a/o)/(o-1):(s-a*a/o)/o}function k(t,e){for(var n=0;n<t.rows;n++)for(var r=0;r<t.columns;r++)t.set(n,r,t.get(n,r)-e[n])}function A(t,e){for(var n=0;n<t.rows;n++)for(var r=0;r<t.columns;r++)t.set(n,r,t.get(n,r)-e[r])}function C(t,e){for(var n=0;n<t.rows;n++)for(var r=0;r<t.columns;r++)t.set(n,r,t.get(n,r)-e)}function j(t){for(var e=[],n=0;n<t.rows;n++){for(var r=0,i=0;i<t.columns;i++)r+=Math.pow(t.get(n,i),2)/(t.columns-1);e.push(Math.sqrt(r))}return e}function I(t,e){for(var n=0;n<t.rows;n++)for(var r=0;r<t.columns;r++)t.set(n,r,t.get(n,r)/e[n])}function T(t){for(var e=[],n=0;n<t.columns;n++){for(var r=0,i=0;i<t.rows;i++)r+=Math.pow(t.get(i,n),2)/(t.rows-1);e.push(Math.sqrt(r))}return e}function N(t,e){for(var n=0;n<t.rows;n++)for(var r=0;r<t.columns;r++)t.set(n,r,t.get(n,r)/e[r])}function P(t){for(var e=t.size-1,n=0,r=0;r<t.columns;r++)for(var i=0;i<t.rows;i++)n+=Math.pow(t.get(i,r),2)/e;return Math.sqrt(n)}function D(t,e){for(var n=0;n<t.rows;n++)for(var r=0;r<t.columns;r++)t.set(n,r,t.get(n,r)/e)}function L(t,e,n){return e=B(e),R(t,function(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return function(){return!!t}()}()?Reflect.construct(e,n||[],B(t).constructor):e.apply(t,n))}function R(t,e){if(e&&("object"==z(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function B(t){return(B=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function F(t,e){return(F=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t})(t,e)}function z(t){return(z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function G(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Y(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,X(r.key),r)}}function U(t,e,n){return e&&Y(t.prototype,e),n&&Y(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function X(t){var e=function(t,e){if("object"!=z(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=z(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==z(e)?e:e+""}var W=function(){function t(){G(this,t)}return U(t,[{key:"size",get:function(){return this.rows*this.columns}},{key:"apply",value:function(t){if("function"!=typeof t)throw new TypeError("callback must be a function");for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)t.call(this,e,n);return this}},{key:"to1DArray",value:function(){for(var t=[],e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)t.push(this.get(e,n));return t}},{key:"to2DArray",value:function(){for(var t=[],e=0;e<this.rows;e++){t.push([]);for(var n=0;n<this.columns;n++)t[e].push(this.get(e,n))}return t}},{key:"toJSON",value:function(){return this.to2DArray()}},{key:"isRowVector",value:function(){return 1===this.rows}},{key:"isColumnVector",value:function(){return 1===this.columns}},{key:"isVector",value:function(){return 1===this.rows||1===this.columns}},{key:"isSquare",value:function(){return this.rows===this.columns}},{key:"isSymmetric",value:function(){if(this.isSquare()){for(var t=0;t<this.rows;t++)for(var e=0;e<=t;e++)if(this.get(t,e)!==this.get(e,t))return!1;return!0}return!1}},{key:"isEchelonForm",value:function(){for(var t=0,e=0,n=-1,r=!0,i=!1;t<this.rows&&r;){for(e=0,i=!1;e<this.columns&&!1===i;)0===this.get(t,e)?e++:1===this.get(t,e)&&e>n?(i=!0,n=e):(r=!1,i=!0);t++}return r}},{key:"isReducedEchelonForm",value:function(){for(var t=0,e=0,n=-1,r=!0,i=!1;t<this.rows&&r;){for(e=0,i=!1;e<this.columns&&!1===i;)0===this.get(t,e)?e++:1===this.get(t,e)&&e>n?(i=!0,n=e):(r=!1,i=!0);for(var o=e+1;o<this.rows;o++)0!==this.get(t,o)&&(r=!1);t++}return r}},{key:"echelonForm",value:function(){for(var t=this.clone(),e=0,n=0;e<t.rows&&n<t.columns;){for(var r=e,i=e;i<t.rows;i++)t.get(i,n)>t.get(r,n)&&(r=i);if(0===t.get(r,n))n++;else{t.swapRows(e,r);for(var o=t.get(e,n),a=n;a<t.columns;a++)t.set(e,a,t.get(e,a)/o);for(var s=e+1;s<t.rows;s++){var u=t.get(s,n)/t.get(e,n);t.set(s,n,0);for(var c=n+1;c<t.columns;c++)t.set(s,c,t.get(s,c)-t.get(e,c)*u)}e++,n++}}return t}},{key:"reducedEchelonForm",value:function(){for(var t=this.echelonForm(),e=t.columns,n=t.rows,r=n-1;r>=0;)if(0===t.maxRow(r))r--;else{for(var i=0,o=!1;i<n&&!1===o;)1===t.get(r,i)?o=!0:i++;for(var a=0;a<r;a++)for(var s=t.get(a,i),u=i;u<e;u++){var c=t.get(a,u)-s*t.get(r,u);t.set(a,u,c)}r--}return t}},{key:"set",value:function(){throw new Error("set method is unimplemented")}},{key:"get",value:function(){throw new Error("get method is unimplemented")}},{key:"repeat",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==z(t))throw new TypeError("options must be an object");var e=t.rows,n=void 0===e?1:e,r=t.columns,i=void 0===r?1:r;if(!Number.isInteger(n)||n<=0)throw new TypeError("rows must be a positive integer");if(!Number.isInteger(i)||i<=0)throw new TypeError("columns must be a positive integer");for(var o=new Z(this.rows*n,this.columns*i),a=0;a<n;a++)for(var s=0;s<i;s++)o.setSubMatrix(this,this.rows*a,this.columns*s);return o}},{key:"fill",value:function(t){for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.set(e,n,t);return this}},{key:"neg",value:function(){return this.mulS(-1)}},{key:"getRow",value:function(t){p(this,t);for(var e=[],n=0;n<this.columns;n++)e.push(this.get(t,n));return e}},{key:"getRowVector",value:function(t){return Z.rowVector(this.getRow(t))}},{key:"setRow",value:function(t,e){p(this,t),e=v(this,e);for(var n=0;n<this.columns;n++)this.set(t,n,e[n]);return this}},{key:"swapRows",value:function(t,e){p(this,t),p(this,e);for(var n=0;n<this.columns;n++){var r=this.get(t,n);this.set(t,n,this.get(e,n)),this.set(e,n,r)}return this}},{key:"getColumn",value:function(t){g(this,t);for(var e=[],n=0;n<this.rows;n++)e.push(this.get(n,t));return e}},{key:"getColumnVector",value:function(t){return Z.columnVector(this.getColumn(t))}},{key:"setColumn",value:function(t,e){g(this,t),e=y(this,e);for(var n=0;n<this.rows;n++)this.set(n,t,e[n]);return this}},{key:"swapColumns",value:function(t,e){g(this,t),g(this,e);for(var n=0;n<this.rows;n++){var r=this.get(n,t);this.set(n,t,this.get(n,e)),this.set(n,e,r)}return this}},{key:"addRowVector",value:function(t){t=v(this,t);for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.set(e,n,this.get(e,n)+t[n]);return this}},{key:"subRowVector",value:function(t){t=v(this,t);for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.set(e,n,this.get(e,n)-t[n]);return this}},{key:"mulRowVector",value:function(t){t=v(this,t);for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.set(e,n,this.get(e,n)*t[n]);return this}},{key:"divRowVector",value:function(t){t=v(this,t);for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.set(e,n,this.get(e,n)/t[n]);return this}},{key:"addColumnVector",value:function(t){t=y(this,t);for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.set(e,n,this.get(e,n)+t[e]);return this}},{key:"subColumnVector",value:function(t){t=y(this,t);for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.set(e,n,this.get(e,n)-t[e]);return this}},{key:"mulColumnVector",value:function(t){t=y(this,t);for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.set(e,n,this.get(e,n)*t[e]);return this}},{key:"divColumnVector",value:function(t){t=y(this,t);for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.set(e,n,this.get(e,n)/t[e]);return this}},{key:"mulRow",value:function(t,e){p(this,t);for(var n=0;n<this.columns;n++)this.set(t,n,this.get(t,n)*e);return this}},{key:"mulColumn",value:function(t,e){g(this,t);for(var n=0;n<this.rows;n++)this.set(n,t,this.get(n,t)*e);return this}},{key:"max",value:function(){for(var t=this.get(0,0),e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.get(e,n)>t&&(t=this.get(e,n));return t}},{key:"maxIndex",value:function(){for(var t=this.get(0,0),e=[0,0],n=0;n<this.rows;n++)for(var r=0;r<this.columns;r++)this.get(n,r)>t&&(t=this.get(n,r),e[0]=n,e[1]=r);return e}},{key:"min",value:function(){for(var t=this.get(0,0),e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.get(e,n)<t&&(t=this.get(e,n));return t}},{key:"minIndex",value:function(){for(var t=this.get(0,0),e=[0,0],n=0;n<this.rows;n++)for(var r=0;r<this.columns;r++)this.get(n,r)<t&&(t=this.get(n,r),e[0]=n,e[1]=r);return e}},{key:"maxRow",value:function(t){p(this,t);for(var e=this.get(t,0),n=1;n<this.columns;n++)this.get(t,n)>e&&(e=this.get(t,n));return e}},{key:"maxRowIndex",value:function(t){p(this,t);for(var e=this.get(t,0),n=[t,0],r=1;r<this.columns;r++)this.get(t,r)>e&&(e=this.get(t,r),n[1]=r);return n}},{key:"minRow",value:function(t){p(this,t);for(var e=this.get(t,0),n=1;n<this.columns;n++)this.get(t,n)<e&&(e=this.get(t,n));return e}},{key:"minRowIndex",value:function(t){p(this,t);for(var e=this.get(t,0),n=[t,0],r=1;r<this.columns;r++)this.get(t,r)<e&&(e=this.get(t,r),n[1]=r);return n}},{key:"maxColumn",value:function(t){g(this,t);for(var e=this.get(0,t),n=1;n<this.rows;n++)this.get(n,t)>e&&(e=this.get(n,t));return e}},{key:"maxColumnIndex",value:function(t){g(this,t);for(var e=this.get(0,t),n=[0,t],r=1;r<this.rows;r++)this.get(r,t)>e&&(e=this.get(r,t),n[0]=r);return n}},{key:"minColumn",value:function(t){g(this,t);for(var e=this.get(0,t),n=1;n<this.rows;n++)this.get(n,t)<e&&(e=this.get(n,t));return e}},{key:"minColumnIndex",value:function(t){g(this,t);for(var e=this.get(0,t),n=[0,t],r=1;r<this.rows;r++)this.get(r,t)<e&&(e=this.get(r,t),n[0]=r);return n}},{key:"diag",value:function(){for(var t=Math.min(this.rows,this.columns),e=[],n=0;n<t;n++)e.push(this.get(n,n));return e}},{key:"norm",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"frobenius",e=0;if("max"===t)return this.max();if("frobenius"===t){for(var n=0;n<this.rows;n++)for(var r=0;r<this.columns;r++)e+=this.get(n,r)*this.get(n,r);return Math.sqrt(e)}throw new RangeError("unknown norm type: ".concat(t))}},{key:"cumulativeSum",value:function(){for(var t=0,e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)t+=this.get(e,n),this.set(e,n,t);return this}},{key:"dot",value:function(e){t.isMatrix(e)&&(e=e.to1DArray());var n=this.to1DArray();if(n.length!==e.length)throw new RangeError("vectors do not have the same size");for(var r=0,i=0;i<n.length;i++)r+=n[i]*e[i];return r}},{key:"mmul",value:function(t){t=Z.checkMatrix(t);for(var e=this.rows,n=this.columns,r=t.columns,i=new Z(e,r),o=new Float64Array(n),a=0;a<r;a++){for(var s=0;s<n;s++)o[s]=t.get(s,a);for(var u=0;u<e;u++){for(var c=0,l=0;l<n;l++)c+=this.get(u,l)*o[l];i.set(u,a,c)}}return i}},{key:"strassen2x2",value:function(t){t=Z.checkMatrix(t);var e=new Z(2,2),n=this.get(0,0),r=t.get(0,0),i=this.get(0,1),o=t.get(0,1),a=this.get(1,0),s=t.get(1,0),u=this.get(1,1),c=t.get(1,1),l=(n+u)*(r+c),f=(a+u)*r,h=n*(o-c),d=u*(s-r),p=(n+i)*c,g=l+d-p+(i-u)*(s+c),v=h+p,y=f+d,m=l-f+h+(a-n)*(r+o);return e.set(0,0,g),e.set(0,1,v),e.set(1,0,y),e.set(1,1,m),e}},{key:"strassen3x3",value:function(t){t=Z.checkMatrix(t);var e=new Z(3,3),n=this.get(0,0),r=this.get(0,1),i=this.get(0,2),o=this.get(1,0),a=this.get(1,1),s=this.get(1,2),u=this.get(2,0),c=this.get(2,1),l=this.get(2,2),f=t.get(0,0),h=t.get(0,1),d=t.get(0,2),p=t.get(1,0),g=t.get(1,1),v=t.get(1,2),y=t.get(2,0),m=t.get(2,1),b=t.get(2,2),x=(n-o)*(-h+g),w=(-n+o+a)*(f-h+g),_=(o+a)*(-f+h),E=n*f,S=(-n+u+c)*(f-d+v),M=(-n+u)*(d-v),O=(u+c)*(-f+d),k=(-i+c+l)*(g+y-m),A=(i-l)*(g-m),C=i*y,j=(c+l)*(-y+m),I=(-i+a+s)*(v+y-b),T=(i-s)*(v-b),N=(a+s)*(-y+b),P=E+C+r*p,D=(n+r+i-o-a-c-l)*g+w+_+E+k+C+j,L=E+S+O+(n+r+i-a-s-u-c)*v+C+I+N,R=x+a*(-f+h+p-g-v-y+b)+w+E+C+I+T,B=x+w+_+E+s*m,F=C+I+T+N+o*d,z=E+S+M+c*(-f+d+p-g-v-y+m)+k+A+C,G=k+A+C+j+u*h,Y=E+S+M+O+l*b;return e.set(0,0,P),e.set(0,1,D),e.set(0,2,L),e.set(1,0,R),e.set(1,1,B),e.set(1,2,F),e.set(2,0,z),e.set(2,1,G),e.set(2,2,Y),e}},{key:"mmulStrassen",value:function(e){e=Z.checkMatrix(e);var n=this.clone(),r=n.rows,i=n.columns,o=e.rows,a=e.columns;function s(e,n,r){var i=e.rows,o=e.columns;if(i===n&&o===r)return e;var a=t.zeros(n,r);return a=a.setSubMatrix(e,0,0)}i!==o&&console.warn("Multiplying ".concat(r," x ").concat(i," and ").concat(o," x ").concat(a," matrix: dimensions do not match."));var u=Math.max(r,o),c=Math.max(i,a);return function e(n,r,i,o){if(i<=512||o<=512)return n.mmul(r);i%2==1&&o%2==1?(n=s(n,i+1,o+1),r=s(r,i+1,o+1)):i%2==1?(n=s(n,i+1,o),r=s(r,i+1,o)):o%2==1&&(n=s(n,i,o+1),r=s(r,i,o+1));var a=parseInt(n.rows/2,10),u=parseInt(n.columns/2,10),c=n.subMatrix(0,a-1,0,u-1),l=r.subMatrix(0,a-1,0,u-1),f=n.subMatrix(0,a-1,u,n.columns-1),h=r.subMatrix(0,a-1,u,r.columns-1),d=n.subMatrix(a,n.rows-1,0,u-1),p=r.subMatrix(a,r.rows-1,0,u-1),g=n.subMatrix(a,n.rows-1,u,n.columns-1),v=r.subMatrix(a,r.rows-1,u,r.columns-1),y=e(t.add(c,g),t.add(l,v),a,u),m=e(t.add(d,g),l,a,u),b=e(c,t.sub(h,v),a,u),x=e(g,t.sub(p,l),a,u),w=e(t.add(c,f),v,a,u),_=e(t.sub(d,c),t.add(l,h),a,u),E=e(t.sub(f,g),t.add(p,v),a,u),S=t.add(y,x);S.sub(w),S.add(E);var M=t.add(b,w),O=t.add(m,x),k=t.sub(y,m);k.add(b),k.add(_);var A=t.zeros(2*S.rows,2*S.columns);return(A=(A=(A=(A=A.setSubMatrix(S,0,0)).setSubMatrix(M,S.rows,0)).setSubMatrix(O,0,S.columns)).setSubMatrix(k,S.rows,S.columns)).subMatrix(0,i-1,0,o-1)}(n=s(n,u,c),e=s(e,u,c),u,c)}},{key:"scaleRows",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==z(t))throw new TypeError("options must be an object");var e=t.min,n=void 0===e?0:e,r=t.max,i=void 0===r?1:r;if(!Number.isFinite(n))throw new TypeError("min must be a number");if(!Number.isFinite(i))throw new TypeError("max must be a number");if(n>=i)throw new RangeError("min must be smaller than max");for(var o=new Z(this.rows,this.columns),a=0;a<this.rows;a++){var u=this.getRow(a);s(u,{min:n,max:i,output:u}),o.setRow(a,u)}return o}},{key:"scaleColumns",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==z(t))throw new TypeError("options must be an object");var e=t.min,n=void 0===e?0:e,r=t.max,i=void 0===r?1:r;if(!Number.isFinite(n))throw new TypeError("min must be a number");if(!Number.isFinite(i))throw new TypeError("max must be a number");if(n>=i)throw new RangeError("min must be smaller than max");for(var o=new Z(this.rows,this.columns),a=0;a<this.columns;a++){var u=this.getColumn(a);s(u,{min:n,max:i,output:u}),o.setColumn(a,u)}return o}},{key:"flipRows",value:function(){for(var t=Math.ceil(this.columns/2),e=0;e<this.rows;e++)for(var n=0;n<t;n++){var r=this.get(e,n),i=this.get(e,this.columns-1-n);this.set(e,n,i),this.set(e,this.columns-1-n,r)}return this}},{key:"flipColumns",value:function(){for(var t=Math.ceil(this.rows/2),e=0;e<this.columns;e++)for(var n=0;n<t;n++){var r=this.get(n,e),i=this.get(this.rows-1-n,e);this.set(n,e,i),this.set(this.rows-1-n,e,r)}return this}},{key:"kroneckerProduct",value:function(t){t=Z.checkMatrix(t);for(var e=this.rows,n=this.columns,r=t.rows,i=t.columns,o=new Z(e*r,n*i),a=0;a<e;a++)for(var s=0;s<n;s++)for(var u=0;u<r;u++)for(var c=0;c<i;c++)o.set(r*a+u,i*s+c,this.get(a,s)*t.get(u,c));return o}},{key:"transpose",value:function(){for(var t=new Z(this.columns,this.rows),e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)t.set(n,e,this.get(e,n));return t}},{key:"sortRows",value:function(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:V,e=0;e<this.rows;e++)this.setRow(e,this.getRow(e).sort(t));return this}},{key:"sortColumns",value:function(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:V,e=0;e<this.columns;e++)this.setColumn(e,this.getColumn(e).sort(t));return this}},{key:"subMatrix",value:function(t,e,n,r){w(this,t,e,n,r);for(var i=new Z(e-t+1,r-n+1),o=t;o<=e;o++)for(var a=n;a<=r;a++)i.set(o-t,a-n,this.get(o,a));return i}},{key:"subMatrixRow",value:function(t,e,n){if(void 0===e&&(e=0),void 0===n&&(n=this.columns-1),e>n||e<0||e>=this.columns||n<0||n>=this.columns)throw new RangeError("Argument out of range");for(var r=new Z(t.length,n-e+1),i=0;i<t.length;i++)for(var o=e;o<=n;o++){if(t[i]<0||t[i]>=this.rows)throw new RangeError("Row index out of range: ".concat(t[i]));r.set(i,o-e,this.get(t[i],o))}return r}},{key:"subMatrixColumn",value:function(t,e,n){if(void 0===e&&(e=0),void 0===n&&(n=this.rows-1),e>n||e<0||e>=this.rows||n<0||n>=this.rows)throw new RangeError("Argument out of range");for(var r=new Z(n-e+1,t.length),i=0;i<t.length;i++)for(var o=e;o<=n;o++){if(t[i]<0||t[i]>=this.columns)throw new RangeError("Column index out of range: ".concat(t[i]));r.set(o-e,i,this.get(o,t[i]))}return r}},{key:"setSubMatrix",value:function(t,e,n){w(this,e,e+(t=Z.checkMatrix(t)).rows-1,n,n+t.columns-1);for(var r=0;r<t.rows;r++)for(var i=0;i<t.columns;i++)this.set(e+r,n+i,t.get(r,i));return this}},{key:"selection",value:function(t,e){for(var n=m(this,t,e),r=new Z(t.length,e.length),i=0;i<n.row.length;i++)for(var o=n.row[i],a=0;a<n.column.length;a++){var s=n.column[a];r.set(i,a,this.get(o,s))}return r}},{key:"trace",value:function(){for(var t=Math.min(this.rows,this.columns),e=0,n=0;n<t;n++)e+=this.get(n,n);return e}},{key:"clone",value:function(){for(var t=new Z(this.rows,this.columns),e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)t.set(e,n,this.get(e,n));return t}},{key:"sum",value:function(t){switch(t){case"row":return function(t){for(var e=_(t.rows),n=0;n<t.rows;++n)for(var r=0;r<t.columns;++r)e[n]+=t.get(n,r);return e}(this);case"column":return function(t){for(var e=_(t.columns),n=0;n<t.rows;++n)for(var r=0;r<t.columns;++r)e[r]+=t.get(n,r);return e}(this);case void 0:return function(t){for(var e=0,n=0;n<t.rows;n++)for(var r=0;r<t.columns;r++)e+=t.get(n,r);return e}(this);default:throw new Error("invalid option: ".concat(t))}}},{key:"product",value:function(t){switch(t){case"row":return function(t){for(var e=_(t.rows,1),n=0;n<t.rows;++n)for(var r=0;r<t.columns;++r)e[n]*=t.get(n,r);return e}(this);case"column":return function(t){for(var e=_(t.columns,1),n=0;n<t.rows;++n)for(var r=0;r<t.columns;++r)e[r]*=t.get(n,r);return e}(this);case void 0:return function(t){for(var e=1,n=0;n<t.rows;n++)for(var r=0;r<t.columns;r++)e*=t.get(n,r);return e}(this);default:throw new Error("invalid option: ".concat(t))}}},{key:"mean",value:function(t){var e=this.sum(t);switch(t){case"row":for(var n=0;n<this.rows;n++)e[n]/=this.columns;return e;case"column":for(var r=0;r<this.columns;r++)e[r]/=this.rows;return e;case void 0:return e/this.size;default:throw new Error("invalid option: ".concat(t))}}},{key:"variance",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("object"===z(t)&&(e=t,t=void 0),"object"!==z(e))throw new TypeError("options must be an object");var n=e,r=n.unbiased,i=void 0===r||r,o=n.mean,a=void 0===o?this.mean(t):o;if("boolean"!=typeof i)throw new TypeError("unbiased must be a boolean");switch(t){case"row":if(!Array.isArray(a))throw new TypeError("mean must be an array");return S(this,i,a);case"column":if(!Array.isArray(a))throw new TypeError("mean must be an array");return M(this,i,a);case void 0:if("number"!=typeof a)throw new TypeError("mean must be a number");return O(this,i,a);default:throw new Error("invalid option: ".concat(t))}}},{key:"standardDeviation",value:function(t,e){"object"===z(t)&&(e=t,t=void 0);var n=this.variance(t,e);if(void 0===t)return Math.sqrt(n);for(var r=0;r<n.length;r++)n[r]=Math.sqrt(n[r]);return n}},{key:"center",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("object"===z(t)&&(e=t,t=void 0),"object"!==z(e))throw new TypeError("options must be an object");var n=e,r=n.center,i=void 0===r?this.mean(t):r;switch(t){case"row":if(!Array.isArray(i))throw new TypeError("center must be an array");return k(this,i),this;case"column":if(!Array.isArray(i))throw new TypeError("center must be an array");return A(this,i),this;case void 0:if("number"!=typeof i)throw new TypeError("center must be a number");return C(this,i),this;default:throw new Error("invalid option: ".concat(t))}}},{key:"scale",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("object"===z(t)&&(e=t,t=void 0),"object"!==z(e))throw new TypeError("options must be an object");var n=e.scale;switch(t){case"row":if(void 0===n)n=j(this);else if(!Array.isArray(n))throw new TypeError("scale must be an array");return I(this,n),this;case"column":if(void 0===n)n=T(this);else if(!Array.isArray(n))throw new TypeError("scale must be an array");return N(this,n),this;case void 0:if(void 0===n)n=P(this);else if("number"!=typeof n)throw new TypeError("scale must be a number");return D(this,n),this;default:throw new Error("invalid option: ".concat(t))}}},{key:"toString",value:function(t){return l(this,t)}}],[{key:"from1DArray",value:function(t,e,n){if(t*e!==n.length)throw new RangeError("data length does not match given dimensions");for(var r=new Z(t,e),i=0;i<t;i++)for(var o=0;o<e;o++)r.set(i,o,n[i*e+o]);return r}},{key:"rowVector",value:function(t){for(var e=new Z(1,t.length),n=0;n<t.length;n++)e.set(0,n,t[n]);return e}},{key:"columnVector",value:function(t){for(var e=new Z(t.length,1),n=0;n<t.length;n++)e.set(n,0,t[n]);return e}},{key:"zeros",value:function(t,e){return new Z(t,e)}},{key:"ones",value:function(t,e){return new Z(t,e).fill(1)}},{key:"rand",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("object"!==z(n))throw new TypeError("options must be an object");for(var r=n.random,i=void 0===r?Math.random:r,o=new Z(t,e),a=0;a<t;a++)for(var s=0;s<e;s++)o.set(a,s,i());return o}},{key:"randInt",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("object"!==z(n))throw new TypeError("options must be an object");var r=n.min,i=void 0===r?0:r,o=n.max,a=void 0===o?1e3:o,s=n.random,u=void 0===s?Math.random:s;if(!Number.isInteger(i))throw new TypeError("min must be an integer");if(!Number.isInteger(a))throw new TypeError("max must be an integer");if(i>=a)throw new RangeError("min must be smaller than max");for(var c=a-i,l=new Z(t,e),f=0;f<t;f++)for(var h=0;h<e;h++){var d=i+Math.round(u()*c);l.set(f,h,d)}return l}},{key:"eye",value:function(t,e,n){void 0===e&&(e=t),void 0===n&&(n=1);for(var r=Math.min(t,e),i=this.zeros(t,e),o=0;o<r;o++)i.set(o,o,n);return i}},{key:"diag",value:function(t,e,n){var r=t.length;void 0===e&&(e=r),void 0===n&&(n=e);for(var i=Math.min(r,e,n),o=this.zeros(e,n),a=0;a<i;a++)o.set(a,a,t[a]);return o}},{key:"min",value:function(t,e){t=this.checkMatrix(t),e=this.checkMatrix(e);for(var n=t.rows,r=t.columns,i=new Z(n,r),o=0;o<n;o++)for(var a=0;a<r;a++)i.set(o,a,Math.min(t.get(o,a),e.get(o,a)));return i}},{key:"max",value:function(t,e){t=this.checkMatrix(t),e=this.checkMatrix(e);for(var n=t.rows,r=t.columns,i=new this(n,r),o=0;o<n;o++)for(var a=0;a<r;a++)i.set(o,a,Math.max(t.get(o,a),e.get(o,a)));return i}},{key:"checkMatrix",value:function(e){return t.isMatrix(e)?e:new Z(e)}},{key:"isMatrix",value:function(t){return null!=t&&"Matrix"===t.klass}}])}();function V(t,e){return t-e}W.prototype.klass="Matrix","undefined"!=typeof Symbol&&(W.prototype[Symbol.for("nodejs.util.inspect.custom")]=function(){return l(this)}),W.random=W.rand,W.randomInt=W.randInt,W.diagonal=W.diag,W.prototype.diagonal=W.prototype.diag,W.identity=W.eye,W.prototype.negate=W.prototype.neg,W.prototype.tensorProduct=W.prototype.kroneckerProduct;var H,q,Z=function(t){function e(t,n){var r;if(G(this,e),r=L(this,e),e.isMatrix(t))return R(r,t.clone());if(Number.isInteger(t)&&t>0){if(r.data=[],!(Number.isInteger(n)&&n>0))throw new TypeError("nColumns must be a positive integer");for(var i=0;i<t;i++)r.data.push(new Float64Array(n))}else{if(!Array.isArray(t))throw new TypeError("First argument must be a positive number or an array");var o=t;if(t=o.length,"number"!=typeof(n=o[0].length)||0===n)throw new TypeError("Data must be a 2D array with at least one element");r.data=[];for(var a=0;a<t;a++){if(o[a].length!==n)throw new RangeError("Inconsistent array dimensions");r.data.push(Float64Array.from(o[a]))}}return r.rows=t,r.columns=n,R(r,r)}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&F(t,e)}(e,t),U(e,[{key:"set",value:function(t,e,n){return this.data[t][e]=n,this}},{key:"get",value:function(t,e){return this.data[t][e]}},{key:"removeRow",value:function(t){if(p(this,t),1===this.rows)throw new RangeError("A matrix cannot have less than one row");return this.data.splice(t,1),this.rows-=1,this}},{key:"addRow",value:function(t,e){return void 0===e&&(e=t,t=this.rows),p(this,t,!0),e=Float64Array.from(v(this,e)),this.data.splice(t,0,e),this.rows+=1,this}},{key:"removeColumn",value:function(t){if(g(this,t),1===this.columns)throw new RangeError("A matrix cannot have less than one column");for(var e=0;e<this.rows;e++){for(var n=new Float64Array(this.columns-1),r=0;r<t;r++)n[r]=this.data[e][r];for(var i=t+1;i<this.columns;i++)n[i-1]=this.data[e][i];this.data[e]=n}return this.columns-=1,this}},{key:"addColumn",value:function(t,e){void 0===e&&(e=t,t=this.columns),g(this,t,!0),e=y(this,e);for(var n=0;n<this.rows;n++){for(var r=new Float64Array(this.columns+1),i=0;i<t;i++)r[i]=this.data[n][i];for(r[i++]=e[n];i<this.columns+1;i++)r[i]=this.data[n][i-1];this.data[n]=r}return this.columns+=1,this}}])}(W);function K(t){return(K="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Q(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,$(r.key),r)}}function $(t){var e=function(t,e){if("object"!=K(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=K(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==K(e)?e:e+""}function J(t,e,n){return e=tt(e),function(t,e){if(e&&("object"==K(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,function(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return function(){return!!t}()}()?Reflect.construct(e,n||[],tt(t).constructor):e.apply(t,n))}function tt(t){return(tt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function et(t,e){return(et=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t})(t,e)}q=Z,(H=W).prototype.add=function(t){return"number"==typeof t?this.addS(t):this.addM(t)},H.prototype.addS=function(t){for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.set(e,n,this.get(e,n)+t);return this},H.prototype.addM=function(t){if(t=q.checkMatrix(t),this.rows!==t.rows||this.columns!==t.columns)throw new RangeError("Matrices dimensions must be equal");for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.set(e,n,this.get(e,n)+t.get(e,n));return this},H.add=function(t,e){return new q(t).add(e)},H.prototype.sub=function(t){return"number"==typeof t?this.subS(t):this.subM(t)},H.prototype.subS=function(t){for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.set(e,n,this.get(e,n)-t);return this},H.prototype.subM=function(t){if(t=q.checkMatrix(t),this.rows!==t.rows||this.columns!==t.columns)throw new RangeError("Matrices dimensions must be equal");for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.set(e,n,this.get(e,n)-t.get(e,n));return this},H.sub=function(t,e){return new q(t).sub(e)},H.prototype.subtract=H.prototype.sub,H.prototype.subtractS=H.prototype.subS,H.prototype.subtractM=H.prototype.subM,H.subtract=H.sub,H.prototype.mul=function(t){return"number"==typeof t?this.mulS(t):this.mulM(t)},H.prototype.mulS=function(t){for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.set(e,n,this.get(e,n)*t);return this},H.prototype.mulM=function(t){if(t=q.checkMatrix(t),this.rows!==t.rows||this.columns!==t.columns)throw new RangeError("Matrices dimensions must be equal");for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.set(e,n,this.get(e,n)*t.get(e,n));return this},H.mul=function(t,e){return new q(t).mul(e)},H.prototype.multiply=H.prototype.mul,H.prototype.multiplyS=H.prototype.mulS,H.prototype.multiplyM=H.prototype.mulM,H.multiply=H.mul,H.prototype.div=function(t){return"number"==typeof t?this.divS(t):this.divM(t)},H.prototype.divS=function(t){for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.set(e,n,this.get(e,n)/t);return this},H.prototype.divM=function(t){if(t=q.checkMatrix(t),this.rows!==t.rows||this.columns!==t.columns)throw new RangeError("Matrices dimensions must be equal");for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.set(e,n,this.get(e,n)/t.get(e,n));return this},H.div=function(t,e){return new q(t).div(e)},H.prototype.divide=H.prototype.div,H.prototype.divideS=H.prototype.divS,H.prototype.divideM=H.prototype.divM,H.divide=H.div,H.prototype.mod=function(t){return"number"==typeof t?this.modS(t):this.modM(t)},H.prototype.modS=function(t){for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.set(e,n,this.get(e,n)%t);return this},H.prototype.modM=function(t){if(t=q.checkMatrix(t),this.rows!==t.rows||this.columns!==t.columns)throw new RangeError("Matrices dimensions must be equal");for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.set(e,n,this.get(e,n)%t.get(e,n));return this},H.mod=function(t,e){return new q(t).mod(e)},H.prototype.modulus=H.prototype.mod,H.prototype.modulusS=H.prototype.modS,H.prototype.modulusM=H.prototype.modM,H.modulus=H.mod,H.prototype.and=function(t){return"number"==typeof t?this.andS(t):this.andM(t)},H.prototype.andS=function(t){for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.set(e,n,this.get(e,n)&t);return this},H.prototype.andM=function(t){if(t=q.checkMatrix(t),this.rows!==t.rows||this.columns!==t.columns)throw new RangeError("Matrices dimensions must be equal");for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.set(e,n,this.get(e,n)&t.get(e,n));return this},H.and=function(t,e){return new q(t).and(e)},H.prototype.or=function(t){return"number"==typeof t?this.orS(t):this.orM(t)},H.prototype.orS=function(t){for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.set(e,n,this.get(e,n)|t);return this},H.prototype.orM=function(t){if(t=q.checkMatrix(t),this.rows!==t.rows||this.columns!==t.columns)throw new RangeError("Matrices dimensions must be equal");for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.set(e,n,this.get(e,n)|t.get(e,n));return this},H.or=function(t,e){return new q(t).or(e)},H.prototype.xor=function(t){return"number"==typeof t?this.xorS(t):this.xorM(t)},H.prototype.xorS=function(t){for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.set(e,n,this.get(e,n)^t);return this},H.prototype.xorM=function(t){if(t=q.checkMatrix(t),this.rows!==t.rows||this.columns!==t.columns)throw new RangeError("Matrices dimensions must be equal");for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.set(e,n,this.get(e,n)^t.get(e,n));return this},H.xor=function(t,e){return new q(t).xor(e)},H.prototype.leftShift=function(t){return"number"==typeof t?this.leftShiftS(t):this.leftShiftM(t)},H.prototype.leftShiftS=function(t){for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.set(e,n,this.get(e,n)<<t);return this},H.prototype.leftShiftM=function(t){if(t=q.checkMatrix(t),this.rows!==t.rows||this.columns!==t.columns)throw new RangeError("Matrices dimensions must be equal");for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.set(e,n,this.get(e,n)<<t.get(e,n));return this},H.leftShift=function(t,e){return new q(t).leftShift(e)},H.prototype.signPropagatingRightShift=function(t){return"number"==typeof t?this.signPropagatingRightShiftS(t):this.signPropagatingRightShiftM(t)},H.prototype.signPropagatingRightShiftS=function(t){for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.set(e,n,this.get(e,n)>>t);return this},H.prototype.signPropagatingRightShiftM=function(t){if(t=q.checkMatrix(t),this.rows!==t.rows||this.columns!==t.columns)throw new RangeError("Matrices dimensions must be equal");for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.set(e,n,this.get(e,n)>>t.get(e,n));return this},H.signPropagatingRightShift=function(t,e){return new q(t).signPropagatingRightShift(e)},H.prototype.rightShift=function(t){return"number"==typeof t?this.rightShiftS(t):this.rightShiftM(t)},H.prototype.rightShiftS=function(t){for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.set(e,n,this.get(e,n)>>>t);return this},H.prototype.rightShiftM=function(t){if(t=q.checkMatrix(t),this.rows!==t.rows||this.columns!==t.columns)throw new RangeError("Matrices dimensions must be equal");for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.set(e,n,this.get(e,n)>>>t.get(e,n));return this},H.rightShift=function(t,e){return new q(t).rightShift(e)},H.prototype.zeroFillRightShift=H.prototype.rightShift,H.prototype.zeroFillRightShiftS=H.prototype.rightShiftS,H.prototype.zeroFillRightShiftM=H.prototype.rightShiftM,H.zeroFillRightShift=H.rightShift,H.prototype.not=function(){for(var t=0;t<this.rows;t++)for(var e=0;e<this.columns;e++)this.set(t,e,~this.get(t,e));return this},H.not=function(t){return new q(t).not()},H.prototype.abs=function(){for(var t=0;t<this.rows;t++)for(var e=0;e<this.columns;e++)this.set(t,e,Math.abs(this.get(t,e)));return this},H.abs=function(t){return new q(t).abs()},H.prototype.acos=function(){for(var t=0;t<this.rows;t++)for(var e=0;e<this.columns;e++)this.set(t,e,Math.acos(this.get(t,e)));return this},H.acos=function(t){return new q(t).acos()},H.prototype.acosh=function(){for(var t=0;t<this.rows;t++)for(var e=0;e<this.columns;e++)this.set(t,e,Math.acosh(this.get(t,e)));return this},H.acosh=function(t){return new q(t).acosh()},H.prototype.asin=function(){for(var t=0;t<this.rows;t++)for(var e=0;e<this.columns;e++)this.set(t,e,Math.asin(this.get(t,e)));return this},H.asin=function(t){return new q(t).asin()},H.prototype.asinh=function(){for(var t=0;t<this.rows;t++)for(var e=0;e<this.columns;e++)this.set(t,e,Math.asinh(this.get(t,e)));return this},H.asinh=function(t){return new q(t).asinh()},H.prototype.atan=function(){for(var t=0;t<this.rows;t++)for(var e=0;e<this.columns;e++)this.set(t,e,Math.atan(this.get(t,e)));return this},H.atan=function(t){return new q(t).atan()},H.prototype.atanh=function(){for(var t=0;t<this.rows;t++)for(var e=0;e<this.columns;e++)this.set(t,e,Math.atanh(this.get(t,e)));return this},H.atanh=function(t){return new q(t).atanh()},H.prototype.cbrt=function(){for(var t=0;t<this.rows;t++)for(var e=0;e<this.columns;e++)this.set(t,e,Math.cbrt(this.get(t,e)));return this},H.cbrt=function(t){return new q(t).cbrt()},H.prototype.ceil=function(){for(var t=0;t<this.rows;t++)for(var e=0;e<this.columns;e++)this.set(t,e,Math.ceil(this.get(t,e)));return this},H.ceil=function(t){return new q(t).ceil()},H.prototype.clz32=function(){for(var t=0;t<this.rows;t++)for(var e=0;e<this.columns;e++)this.set(t,e,Math.clz32(this.get(t,e)));return this},H.clz32=function(t){return new q(t).clz32()},H.prototype.cos=function(){for(var t=0;t<this.rows;t++)for(var e=0;e<this.columns;e++)this.set(t,e,Math.cos(this.get(t,e)));return this},H.cos=function(t){return new q(t).cos()},H.prototype.cosh=function(){for(var t=0;t<this.rows;t++)for(var e=0;e<this.columns;e++)this.set(t,e,Math.cosh(this.get(t,e)));return this},H.cosh=function(t){return new q(t).cosh()},H.prototype.exp=function(){for(var t=0;t<this.rows;t++)for(var e=0;e<this.columns;e++)this.set(t,e,Math.exp(this.get(t,e)));return this},H.exp=function(t){return new q(t).exp()},H.prototype.expm1=function(){for(var t=0;t<this.rows;t++)for(var e=0;e<this.columns;e++)this.set(t,e,Math.expm1(this.get(t,e)));return this},H.expm1=function(t){return new q(t).expm1()},H.prototype.floor=function(){for(var t=0;t<this.rows;t++)for(var e=0;e<this.columns;e++)this.set(t,e,Math.floor(this.get(t,e)));return this},H.floor=function(t){return new q(t).floor()},H.prototype.fround=function(){for(var t=0;t<this.rows;t++)for(var e=0;e<this.columns;e++)this.set(t,e,Math.fround(this.get(t,e)));return this},H.fround=function(t){return new q(t).fround()},H.prototype.log=function(){for(var t=0;t<this.rows;t++)for(var e=0;e<this.columns;e++)this.set(t,e,Math.log(this.get(t,e)));return this},H.log=function(t){return new q(t).log()},H.prototype.log1p=function(){for(var t=0;t<this.rows;t++)for(var e=0;e<this.columns;e++)this.set(t,e,Math.log1p(this.get(t,e)));return this},H.log1p=function(t){return new q(t).log1p()},H.prototype.log10=function(){for(var t=0;t<this.rows;t++)for(var e=0;e<this.columns;e++)this.set(t,e,Math.log10(this.get(t,e)));return this},H.log10=function(t){return new q(t).log10()},H.prototype.log2=function(){for(var t=0;t<this.rows;t++)for(var e=0;e<this.columns;e++)this.set(t,e,Math.log2(this.get(t,e)));return this},H.log2=function(t){return new q(t).log2()},H.prototype.round=function(){for(var t=0;t<this.rows;t++)for(var e=0;e<this.columns;e++)this.set(t,e,Math.round(this.get(t,e)));return this},H.round=function(t){return new q(t).round()},H.prototype.sign=function(){for(var t=0;t<this.rows;t++)for(var e=0;e<this.columns;e++)this.set(t,e,Math.sign(this.get(t,e)));return this},H.sign=function(t){return new q(t).sign()},H.prototype.sin=function(){for(var t=0;t<this.rows;t++)for(var e=0;e<this.columns;e++)this.set(t,e,Math.sin(this.get(t,e)));return this},H.sin=function(t){return new q(t).sin()},H.prototype.sinh=function(){for(var t=0;t<this.rows;t++)for(var e=0;e<this.columns;e++)this.set(t,e,Math.sinh(this.get(t,e)));return this},H.sinh=function(t){return new q(t).sinh()},H.prototype.sqrt=function(){for(var t=0;t<this.rows;t++)for(var e=0;e<this.columns;e++)this.set(t,e,Math.sqrt(this.get(t,e)));return this},H.sqrt=function(t){return new q(t).sqrt()},H.prototype.tan=function(){for(var t=0;t<this.rows;t++)for(var e=0;e<this.columns;e++)this.set(t,e,Math.tan(this.get(t,e)));return this},H.tan=function(t){return new q(t).tan()},H.prototype.tanh=function(){for(var t=0;t<this.rows;t++)for(var e=0;e<this.columns;e++)this.set(t,e,Math.tanh(this.get(t,e)));return this},H.tanh=function(t){return new q(t).tanh()},H.prototype.trunc=function(){for(var t=0;t<this.rows;t++)for(var e=0;e<this.columns;e++)this.set(t,e,Math.trunc(this.get(t,e)));return this},H.trunc=function(t){return new q(t).trunc()},H.pow=function(t,e){return new q(t).pow(e)},H.prototype.pow=function(t){return"number"==typeof t?this.powS(t):this.powM(t)},H.prototype.powS=function(t){for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.set(e,n,Math.pow(this.get(e,n),t));return this},H.prototype.powM=function(t){if(t=q.checkMatrix(t),this.rows!==t.rows||this.columns!==t.columns)throw new RangeError("Matrices dimensions must be equal");for(var e=0;e<this.rows;e++)for(var n=0;n<this.columns;n++)this.set(e,n,Math.pow(this.get(e,n),t.get(e,n)));return this};var nt=function(t){function e(t,n,r){var i;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),(i=J(this,e)).matrix=t,i.rows=n,i.columns=r,i}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&et(t,e)}(e,t),n=e,r&&Q(n.prototype,r),i&&Q(n,i),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,i}(W);function rt(t){return(rt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function it(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,ot(r.key),r)}}function ot(t){var e=function(t,e){if("object"!=rt(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=rt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==rt(e)?e:e+""}function at(t,e,n){return e=st(e),function(t,e){if(e&&("object"==rt(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,function(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return function(){return!!t}()}()?Reflect.construct(e,n||[],st(t).constructor):e.apply(t,n))}function st(t){return(st=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function ut(t,e){return(ut=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t})(t,e)}var ct=function(t){function e(t,n){var r;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),g(t,n),(r=at(this,e,[t,t.rows,1])).column=n,r}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&ut(t,e)}(e,t),n=e,(r=[{key:"set",value:function(t,e,n){return this.matrix.set(t,this.column,n),this}},{key:"get",value:function(t){return this.matrix.get(t,this.column)}}])&&it(n.prototype,r),i&&it(n,i),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,i}(nt);function lt(t){return(lt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function ft(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,ht(r.key),r)}}function ht(t){var e=function(t,e){if("object"!=lt(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=lt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==lt(e)?e:e+""}function dt(t,e,n){return e=pt(e),function(t,e){if(e&&("object"==lt(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,function(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return function(){return!!t}()}()?Reflect.construct(e,n||[],pt(t).constructor):e.apply(t,n))}function pt(t){return(pt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function gt(t,e){return(gt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t})(t,e)}var vt=function(t){function e(t,n){var r;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),n=x(t,n),(r=dt(this,e,[t,t.rows,n.length])).columnIndices=n,r}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&>(t,e)}(e,t),n=e,(r=[{key:"set",value:function(t,e,n){return this.matrix.set(t,this.columnIndices[e],n),this}},{key:"get",value:function(t,e){return this.matrix.get(t,this.columnIndices[e])}}])&&ft(n.prototype,r),i&&ft(n,i),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,i}(nt);function yt(t){return(yt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function mt(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,bt(r.key),r)}}function bt(t){var e=function(t,e){if("object"!=yt(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=yt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==yt(e)?e:e+""}function xt(t,e,n){return e=wt(e),function(t,e){if(e&&("object"==yt(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,function(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return function(){return!!t}()}()?Reflect.construct(e,n||[],wt(t).constructor):e.apply(t,n))}function wt(t){return(wt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function _t(t,e){return(_t=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t})(t,e)}var Et=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),xt(this,e,[t,t.rows,t.columns])}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_t(t,e)}(e,t),n=e,(r=[{key:"set",value:function(t,e,n){return this.matrix.set(t,this.columns-e-1,n),this}},{key:"get",value:function(t,e){return this.matrix.get(t,this.columns-e-1)}}])&&mt(n.prototype,r),i&&mt(n,i),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,i}(nt);function St(t){return(St="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Mt(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,Ot(r.key),r)}}function Ot(t){var e=function(t,e){if("object"!=St(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=St(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==St(e)?e:e+""}function kt(t,e,n){return e=At(e),function(t,e){if(e&&("object"==St(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,function(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return function(){return!!t}()}()?Reflect.construct(e,n||[],At(t).constructor):e.apply(t,n))}function At(t){return(At=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function Ct(t,e){return(Ct=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t})(t,e)}var jt=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),kt(this,e,[t,t.rows,t.columns])}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Ct(t,e)}(e,t),n=e,(r=[{key:"set",value:function(t,e,n){return this.matrix.set(this.rows-t-1,e,n),this}},{key:"get",value:function(t,e){return this.matrix.get(this.rows-t-1,e)}}])&&Mt(n.prototype,r),i&&Mt(n,i),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,i}(nt);function It(t){return(It="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Tt(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,Nt(r.key),r)}}function Nt(t){var e=function(t,e){if("object"!=It(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=It(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==It(e)?e:e+""}function Pt(t,e,n){return e=Dt(e),function(t,e){if(e&&("object"==It(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,function(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return function(){return!!t}()}()?Reflect.construct(e,n||[],Dt(t).constructor):e.apply(t,n))}function Dt(t){return(Dt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function Lt(t,e){return(Lt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t})(t,e)}var Rt=function(t){function e(t,n){var r;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),p(t,n),(r=Pt(this,e,[t,1,t.columns])).row=n,r}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Lt(t,e)}(e,t),n=e,(r=[{key:"set",value:function(t,e,n){return this.matrix.set(this.row,e,n),this}},{key:"get",value:function(t,e){return this.matrix.get(this.row,e)}}])&&Tt(n.prototype,r),i&&Tt(n,i),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,i}(nt);function Bt(t){return(Bt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Ft(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,zt(r.key),r)}}function zt(t){var e=function(t,e){if("object"!=Bt(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=Bt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==Bt(e)?e:e+""}function Gt(t,e,n){return e=Yt(e),function(t,e){if(e&&("object"==Bt(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,function(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return function(){return!!t}()}()?Reflect.construct(e,n||[],Yt(t).constructor):e.apply(t,n))}function Yt(t){return(Yt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function Ut(t,e){return(Ut=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t})(t,e)}var Xt=function(t){function e(t,n){var r;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),(r=Gt(this,e,[t,(n=b(t,n)).length,t.columns])).rowIndices=n,r}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Ut(t,e)}(e,t),n=e,(r=[{key:"set",value:function(t,e,n){return this.matrix.set(this.rowIndices[t],e,n),this}},{key:"get",value:function(t,e){return this.matrix.get(this.rowIndices[t],e)}}])&&Ft(n.prototype,r),i&&Ft(n,i),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,i}(nt);function Wt(t){return(Wt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Vt(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,Ht(r.key),r)}}function Ht(t){var e=function(t,e){if("object"!=Wt(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=Wt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==Wt(e)?e:e+""}function qt(t,e,n){return e=Zt(e),function(t,e){if(e&&("object"==Wt(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,function(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return function(){return!!t}()}()?Reflect.construct(e,n||[],Zt(t).constructor):e.apply(t,n))}function Zt(t){return(Zt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function Kt(t,e){return(Kt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t})(t,e)}var Qt=function(t){function e(t,n,r){var i;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var o=m(t,n,r);return(i=qt(this,e,[t,o.row.length,o.column.length])).rowIndices=o.row,i.columnIndices=o.column,i}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Kt(t,e)}(e,t),n=e,(r=[{key:"set",value:function(t,e,n){return this.matrix.set(this.rowIndices[t],this.columnIndices[e],n),this}},{key:"get",value:function(t,e){return this.matrix.get(this.rowIndices[t],this.columnIndices[e])}}])&&Vt(n.prototype,r),i&&Vt(n,i),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,i}(nt);function $t(t){return($t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Jt(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,te(r.key),r)}}function te(t){var e=function(t,e){if("object"!=$t(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=$t(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==$t(e)?e:e+""}function ee(t,e,n){return e=ne(e),function(t,e){if(e&&("object"==$t(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,function(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return function(){return!!t}()}()?Reflect.construct(e,n||[],ne(t).constructor):e.apply(t,n))}function ne(t){return(ne=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function re(t,e){return(re=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t})(t,e)}var ie=function(t){function e(t,n,r,i,o){var a;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),w(t,n,r,i,o),(a=ee(this,e,[t,r-n+1,o-i+1])).startRow=n,a.startColumn=i,a}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&re(t,e)}(e,t),n=e,(r=[{key:"set",value:function(t,e,n){return this.matrix.set(this.startRow+t,this.startColumn+e,n),this}},{key:"get",value:function(t,e){return this.matrix.get(this.startRow+t,this.startColumn+e)}}])&&Jt(n.prototype,r),i&&Jt(n,i),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,i}(nt);function oe(t){return(oe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function ae(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,se(r.key),r)}}function se(t){var e=function(t,e){if("object"!=oe(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=oe(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==oe(e)?e:e+""}function ue(t,e,n){return e=ce(e),function(t,e){if(e&&("object"==oe(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,function(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return function(){return!!t}()}()?Reflect.construct(e,n||[],ce(t).constructor):e.apply(t,n))}function ce(t){return(ce=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function le(t,e){return(le=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t})(t,e)}var fe=function(t){function e(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),ue(this,e,[t,t.columns,t.rows])}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&le(t,e)}(e,t),n=e,(r=[{key:"set",value:function(t,e,n){return this.matrix.set(e,t,n),this}},{key:"get",value:function(t,e){return this.matrix.get(e,t)}}])&&ae(n.prototype,r),i&&ae(n,i),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,i}(nt);function he(t){return(he="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function de(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function pe(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,ge(r.key),r)}}function ge(t){var e=function(t,e){if("object"!=he(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=he(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==he(e)?e:e+""}function ve(t,e,n){return e=ye(e),function(t,e){if(e&&("object"==he(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,function(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return function(){return!!t}()}()?Reflect.construct(e,n||[],ye(t).constructor):e.apply(t,n))}function ye(t){return(ye=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function me(t,e){return(me=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t})(t,e)}var be=function(t){function e(t){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};de(this,e);var i=r.rows,o=void 0===i?1:i;if(t.length%o!=0)throw new Error("the data length is not divisible by the number of rows");return(n=ve(this,e)).rows=o,n.columns=t.length/o,n.data=t,n}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&me(t,e)}(e,t),n=e,(r=[{key:"set",value:function(t,e,n){var r=this._calculateIndex(t,e);return this.data[r]=n,this}},{key:"get",value:function(t,e){var n=this._calculateIndex(t,e);return this.data[n]}},{key:"_calculateIndex",value:function(t,e){return t*this.columns+e}}])&&pe(n.prototype,r),i&&pe(n,i),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,i}(W);function xe(t){return(xe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function we(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,_e(r.key),r)}}function _e(t){var e=function(t,e){if("object"!=xe(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=xe(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==xe(e)?e:e+""}function Ee(t,e,n){return e=Se(e),function(t,e){if(e&&("object"==xe(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,function(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return function(){return!!t}()}()?Reflect.construct(e,n||[],Se(t).constructor):e.apply(t,n))}function Se(t){return(Se=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function Me(t,e){return(Me=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t})(t,e)}var Oe=function(t){function e(t){var n;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),(n=Ee(this,e)).data=t,n.rows=t.length,n.columns=t[0].length,n}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Me(t,e)}(e,t),n=e,(r=[{key:"set",value:function(t,e,n){return this.data[t][e]=n,this}},{key:"get",value:function(t,e){return this.data[t][e]}}])&&we(n.prototype,r),i&&we(n,i),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,i}(W);function ke(t,e){if(Array.isArray(t))return t[0]&&Array.isArray(t[0])?new Oe(t):new be(t,e);throw new Error("the argument is not an array")}function Ae(t){return(Ae="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Ce(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,je(r.key),r)}}function je(t){var e=function(t,e){if("object"!=Ae(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=Ae(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==Ae(e)?e:e+""}var Ie=function(){return function(t,e,n){return e&&Ce(t.prototype,e),n&&Ce(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}((function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t);var n,r,i,o,a,s,u,c,l,f=(e=Oe.checkMatrix(e)).clone(),h=f.rows,d=f.columns,p=new Float64Array(h),g=1;for(n=0;n<h;n++)p[n]=n;for(c=new Float64Array(h),r=0;r<d;r++){for(n=0;n<h;n++)c[n]=f.get(n,r);for(n=0;n<h;n++){for(l=Math.min(n,r),a=0,i=0;i<l;i++)a+=f.get(n,i)*c[i];c[n]-=a,f.set(n,r,c[n])}for(o=r,n=r+1;n<h;n++)Math.abs(c[n])>Math.abs(c[o])&&(o=n);if(o!==r){for(i=0;i<d;i++)s=f.get(o,i),f.set(o,i,f.get(r,i)),f.set(r,i,s);u=p[o],p[o]=p[r],p[r]=u,g=-g}if(r<h&&0!==f.get(r,r))for(n=r+1;n<h;n++)f.set(n,r,f.get(n,r)/f.get(r,r))}this.LU=f,this.pivotVector=p,this.pivotSign=g}),[{key:"isSingular",value:function(){for(var t=this.LU,e=t.columns,n=0;n<e;n++)if(0===t.get(n,n))return!0;return!1}},{key:"solve",value:function(t){t=Z.checkMatrix(t);var e=this.LU;if(e.rows!==t.rows)throw new Error("Invalid matrix dimensions");if(this.isSingular())throw new Error("LU matrix is singular");var n,r,i,o=t.columns,a=t.subMatrixRow(this.pivotVector,0,o-1),s=e.columns;for(i=0;i<s;i++)for(n=i+1;n<s;n++)for(r=0;r<o;r++)a.set(n,r,a.get(n,r)-a.get(i,r)*e.get(n,i));for(i=s-1;i>=0;i--){for(r=0;r<o;r++)a.set(i,r,a.get(i,r)/e.get(i,i));for(n=0;n<i;n++)for(r=0;r<o;r++)a.set(n,r,a.get(n,r)-a.get(i,r)*e.get(n,i))}return a}},{key:"determinant",get:function(){var t=this.LU;if(!t.isSquare())throw new Error("Matrix must be square");for(var e=this.pivotSign,n=t.columns,r=0;r<n;r++)e*=t.get(r,r);return e}},{key:"lowerTriangularMatrix",get:function(){for(var t=this.LU,e=t.rows,n=t.columns,r=new Z(e,n),i=0;i<e;i++)for(var o=0;o<n;o++)i>o?r.set(i,o,t.get(i,o)):i===o?r.set(i,o,1):r.set(i,o,0);return r}},{key:"upperTriangularMatrix",get:function(){for(var t=this.LU,e=t.rows,n=t.columns,r=new Z(e,n),i=0;i<e;i++)for(var o=0;o<n;o++)i<=o?r.set(i,o,t.get(i,o)):r.set(i,o,0);return r}},{key:"pivotPermutationVector",get:function(){return Array.from(this.pivotVector)}}])}();function Te(t,e){var n=0;return Math.abs(t)>Math.abs(e)?(n=e/t,Math.abs(t)*Math.sqrt(1+n*n)):0!==e?(n=t/e,Math.abs(e)*Math.sqrt(1+n*n)):0}function Ne(t){return(Ne="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Pe(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,De(r.key),r)}}function De(t){var e=function(t,e){if("object"!=Ne(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=Ne(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==Ne(e)?e:e+""}var Le=function(){return t=function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t);var n,r,i,o,a=(e=Oe.checkMatrix(e)).clone(),s=e.rows,u=e.columns,c=new Float64Array(u);for(i=0;i<u;i++){var l=0;for(n=i;n<s;n++)l=Te(l,a.get(n,i));if(0!==l){for(a.get(i,i)<0&&(l=-l),n=i;n<s;n++)a.set(n,i,a.get(n,i)/l);for(a.set(i,i,a.get(i,i)+1),r=i+1;r<u;r++){for(o=0,n=i;n<s;n++)o+=a.get(n,i)*a.get(n,r);for(o=-o/a.get(i,i),n=i;n<s;n++)a.set(n,r,a.get(n,r)+o*a.get(n,i))}}c[i]=-l}this.QR=a,this.Rdiag=c},(e=[{key:"solve",value:function(t){t=Z.checkMatrix(t);var e=this.QR,n=e.rows;if(t.rows!==n)throw new Error("Matrix row dimensions must agree");if(!this.isFullRank())throw new Error("Matrix is rank deficient");var r,i,o,a,s=t.columns,u=t.clone(),c=e.columns;for(o=0;o<c;o++)for(i=0;i<s;i++){for(a=0,r=o;r<n;r++)a+=e.get(r,o)*u.get(r,i);for(a=-a/e.get(o,o),r=o;r<n;r++)u.set(r,i,u.get(r,i)+a*e.get(r,o))}for(o=c-1;o>=0;o--){for(i=0;i<s;i++)u.set(o,i,u.get(o,i)/this.Rdiag[o]);for(r=0;r<o;r++)for(i=0;i<s;i++)u.set(r,i,u.get(r,i)-u.get(o,i)*e.get(r,o))}return u.subMatrix(0,c-1,0,s-1)}},{key:"isFullRank",value:function(){for(var t=this.QR.columns,e=0;e<t;e++)if(0===this.Rdiag[e])return!1;return!0}},{key:"upperTriangularMatrix",get:function(){var t,e,n=this.QR,r=n.columns,i=new Z(r,r);for(t=0;t<r;t++)for(e=0;e<r;e++)t<e?i.set(t,e,n.get(t,e)):t===e?i.set(t,e,this.Rdiag[t]):i.set(t,e,0);return i}},{key:"orthogonalMatrix",get:function(){var t,e,n,r,i=this.QR,o=i.rows,a=i.columns,s=new Z(o,a);for(n=a-1;n>=0;n--){for(t=0;t<o;t++)s.set(t,n,0);for(s.set(n,n,1),e=n;e<a;e++)if(0!==i.get(n,n)){for(r=0,t=n;t<o;t++)r+=i.get(t,n)*s.get(t,e);for(r=-r/i.get(n,n),t=n;t<o;t++)s.set(t,e,s.get(t,e)+r*i.get(t,n))}}return s}}])&&Pe(t.prototype,e),n&&Pe(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e,n}();function Re(t){return(Re="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Be(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Fe(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,ze(r.key),r)}}function ze(t){var e=function(t,e){if("object"!=Re(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=Re(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==Re(e)?e:e+""}var Ge=function(){return function(t,e,n){return e&&Fe(t.prototype,e),n&&Fe(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}((function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Be(this,t);var r,i=(e=Oe.checkMatrix(e)).rows,o=e.columns,a=n.computeLeftSingularVectors,s=void 0===a||a,u=n.computeRightSingularVectors,c=void 0===u||u,l=n.autoTranspose,f=void 0!==l&&l,h=Boolean(s),d=Boolean(c),p=!1;if(i<o)if(f){i=(r=e.transpose()).rows,o=r.columns,p=!0;var g=h;h=d,d=g}else r=e.clone(),console.warn("Computing SVD on a matrix with more columns than rows. Consider enabling autoTranspose");else r=e.clone();for(var v=Math.min(i,o),y=Math.min(i+1,o),m=new Float64Array(y),b=new Z(i,v),x=new Z(o,o),w=new Float64Array(o),_=new Float64Array(i),E=new Float64Array(y),S=0;S<y;S++)E[S]=S;for(var M=Math.min(i-1,o),O=Math.max(0,Math.min(o-2,i)),k=Math.max(M,O),A=0;A<k;A++){if(A<M){m[A]=0;for(var C=A;C<i;C++)m[A]=Te(m[A],r.get(C,A));if(0!==m[A]){r.get(A,A)<0&&(m[A]=-m[A]);for(var j=A;j<i;j++)r.set(j,A,r.get(j,A)/m[A]);r.set(A,A,r.get(A,A)+1)}m[A]=-m[A]}for(var I=A+1;I<o;I++){if(A<M&&0!==m[A]){for(var T=0,N=A;N<i;N++)T+=r.get(N,A)*r.get(N,I);T=-T/r.get(A,A);for(var P=A;P<i;P++)r.set(P,I,r.get(P,I)+T*r.get(P,A))}w[I]=r.get(A,I)}if(h&&A<M)for(var D=A;D<i;D++)b.set(D,A,r.get(D,A));if(A<O){w[A]=0;for(var L=A+1;L<o;L++)w[A]=Te(w[A],w[L]);if(0!==w[A]){w[A+1]<0&&(w[A]=0-w[A]);for(var R=A+1;R<o;R++)w[R]/=w[A];w[A+1]+=1}if(w[A]=-w[A],A+1<i&&0!==w[A]){for(var B=A+1;B<i;B++)_[B]=0;for(var F=A+1;F<i;F++)for(var z=A+1;z<o;z++)_[F]+=w[z]*r.get(F,z);for(var G=A+1;G<o;G++)for(var Y=-w[G]/w[A+1],U=A+1;U<i;U++)r.set(U,G,r.get(U,G)+Y*_[U])}if(d)for(var X=A+1;X<o;X++)x.set(X,A,w[X])}}var W=Math.min(o,i+1);if(M<o&&(m[M]=r.get(M,M)),i<W&&(m[W-1]=0),O+1<W&&(w[O]=r.get(O,W-1)),w[W-1]=0,h){for(var V=M;V<v;V++){for(var H=0;H<i;H++)b.set(H,V,0);b.set(V,V,1)}for(var q=M-1;q>=0;q--)if(0!==m[q]){for(var K=q+1;K<v;K++){for(var Q=0,$=q;$<i;$++)Q+=b.get($,q)*b.get($,K);Q=-Q/b.get(q,q);for(var J=q;J<i;J++)b.set(J,K,b.get(J,K)+Q*b.get(J,q))}for(var tt=q;tt<i;tt++)b.set(tt,q,-b.get(tt,q));b.set(q,q,1+b.get(q,q));for(var et=0;et<q-1;et++)b.set(et,q,0)}else{for(var nt=0;nt<i;nt++)b.set(nt,q,0);b.set(q,q,1)}}if(d)for(var rt=o-1;rt>=0;rt--){if(rt<O&&0!==w[rt])for(var it=rt+1;it<o;it++){for(var ot=0,at=rt+1;at<o;at++)ot+=x.get(at,rt)*x.get(at,it);ot=-ot/x.get(rt+1,rt);for(var st=rt+1;st<o;st++)x.set(st,it,x.get(st,it)+ot*x.get(st,rt))}for(var ut=0;ut<o;ut++)x.set(ut,rt,0);x.set(rt,rt,1)}for(var ct=W-1,lt=Number.EPSILON;W>0;){var ft=void 0,ht=void 0;for(ft=W-2;ft>=-1&&-1!==ft;ft--){var dt=Number.MIN_VALUE+lt*Math.abs(m[ft]+Math.abs(m[ft+1]));if(Math.abs(w[ft])<=dt||Number.isNaN(w[ft])){w[ft]=0;break}}if(ft===W-2)ht=4;else{var pt=void 0;for(pt=W-1;pt>=ft&&pt!==ft;pt--){var gt=(pt!==W?Math.abs(w[pt]):0)+(pt!==ft+1?Math.abs(w[pt-1]):0);if(Math.abs(m[pt])<=lt*gt){m[pt]=0;break}}pt===ft?ht=3:pt===W-1?ht=1:(ht=2,ft=pt)}switch(ft++,ht){case 1:var vt=w[W-2];w[W-2]=0;for(var yt=W-2;yt>=ft;yt--){var mt=Te(m[yt],vt),bt=m[yt]/mt,xt=vt/mt;if(m[yt]=mt,yt!==ft&&(vt=-xt*w[yt-1],w[yt-1]=bt*w[yt-1]),d)for(var wt=0;wt<o;wt++)mt=bt*x.get(wt,yt)+xt*x.get(wt,W-1),x.set(wt,W-1,-xt*x.get(wt,yt)+bt*x.get(wt,W-1)),x.set(wt,yt,mt)}break;case 2:var _t=w[ft-1];w[ft-1]=0;for(var Et=ft;Et<W;Et++){var St=Te(m[Et],_t),Mt=m[Et]/St,Ot=_t/St;if(m[Et]=St,_t=-Ot*w[Et],w[Et]=Mt*w[Et],h)for(var kt=0;kt<i;kt++)St=Mt*b.get(kt,Et)+Ot*b.get(kt,ft-1),b.set(kt,ft-1,-Ot*b.get(kt,Et)+Mt*b.get(kt,ft-1)),b.set(kt,Et,St)}break;case 3:var At=Math.max(Math.abs(m[W-1]),Math.abs(m[W-2]),Math.abs(w[W-2]),Math.abs(m[ft]),Math.abs(w[ft])),Ct=m[W-1]/At,jt=m[W-2]/At,It=w[W-2]/At,Tt=m[ft]/At,Nt=w[ft]/At,Pt=((jt+Ct)*(jt-Ct)+It*It)/2,Dt=Ct*It*(Ct*It),Lt=0;0===Pt&&0===Dt||(Lt=Dt/(Pt+(Lt=Pt<0?0-Math.sqrt(Pt*Pt+Dt):Math.sqrt(Pt*Pt+Dt))));for(var Rt=(Tt+Ct)*(Tt-Ct)+Lt,Bt=Tt*Nt,Ft=ft;Ft<W-1;Ft++){var zt=Te(Rt,Bt);0===zt&&(zt=Number.MIN_VALUE);var Gt=Rt/zt,Yt=Bt/zt;if(Ft!==ft&&(w[Ft-1]=zt),Rt=Gt*m[Ft]+Yt*w[Ft],w[Ft]=Gt*w[Ft]-Yt*m[Ft],Bt=Yt*m[Ft+1],m[Ft+1]=Gt*m[Ft+1],d)for(var Ut=0;Ut<o;Ut++)zt=Gt*x.get(Ut,Ft)+Yt*x.get(Ut,Ft+1),x.set(Ut,Ft+1,-Yt*x.get(Ut,Ft)+Gt*x.get(Ut,Ft+1)),x.set(Ut,Ft,zt);if(0===(zt=Te(Rt,Bt))&&(zt=Number.MIN_VALUE),Gt=Rt/zt,Yt=Bt/zt,m[Ft]=zt,Rt=Gt*w[Ft]+Yt*m[Ft+1],m[Ft+1]=-Yt*w[Ft]+Gt*m[Ft+1],Bt=Yt*w[Ft+1],w[Ft+1]=Gt*w[Ft+1],h&&Ft<i-1)for(var Xt=0;Xt<i;Xt++)zt=Gt*b.get(Xt,Ft)+Yt*b.get(Xt,Ft+1),b.set(Xt,Ft+1,-Yt*b.get(Xt,Ft)+Gt*b.get(Xt,Ft+1)),b.set(Xt,Ft,zt)}w[W-2]=Rt,1;break;case 4:if(m[ft]<=0&&(m[ft]=m[ft]<0?-m[ft]:0,d))for(var Wt=0;Wt<=ct;Wt++)x.set(Wt,ft,-x.get(Wt,ft));for(;ft<ct&&!(m[ft]>=m[ft+1]);){var Vt=m[ft];if(m[ft]=m[ft+1],m[ft+1]=Vt,d&&ft<o-1)for(var Ht=0;Ht<o;Ht++)Vt=x.get(Ht,ft+1),x.set(Ht,ft+1,x.get(Ht,ft)),x.set(Ht,ft,Vt);if(h&&ft<i-1)for(var qt=0;qt<i;qt++)Vt=b.get(qt,ft+1),b.set(qt,ft+1,b.get(qt,ft)),b.set(qt,ft,Vt);ft++}0,W--}}if(p){var Zt=x;x=b,b=Zt}this.m=i,this.n=o,this.s=m,this.U=b,this.V=x}),[{key:"solve",value:function(t){for(var e=t,n=this.threshold,r=this.s.length,i=Z.zeros(r,r),o=0;o<r;o++)Math.abs(this.s[o])<=n?i.set(o,o,0):i.set(o,o,1/this.s[o]);for(var a=this.U,s=this.rightSingularVectors,u=s.mmul(i),c=s.rows,l=a.rows,f=Z.zeros(c,l),h=0;h<c;h++)for(var d=0;d<l;d++){for(var p=0,g=0;g<r;g++)p+=u.get(h,g)*a.get(d,g);f.set(h,d,p)}return f.mmul(e)}},{key:"solveForDiagonal",value:function(t){return this.solve(Z.diag(t))}},{key:"inverse",value:function(){for(var t=this.V,e=this.threshold,n=t.rows,r=t.columns,i=new Z(n,this.s.length),o=0;o<n;o++)for(var a=0;a<r;a++)Math.abs(this.s[a])>e&&i.set(o,a,t.get(o,a)/this.s[a]);for(var s=this.U,u=s.rows,c=s.columns,l=new Z(n,u),f=0;f<n;f++)for(var h=0;h<u;h++){for(var d=0,p=0;p<c;p++)d+=i.get(f,p)*s.get(h,p);l.set(f,h,d)}return l}},{key:"condition",get:function(){return this.s[0]/this.s[Math.min(this.m,this.n)-1]}},{key:"norm2",get:function(){return this.s[0]}},{key:"rank",get:function(){for(var t=Math.max(this.m,this.n)*this.s[0]*Number.EPSILON,e=0,n=this.s,r=0,i=n.length;r<i;r++)n[r]>t&&e++;return e}},{key:"diagonal",get:function(){return Array.from(this.s)}},{key:"threshold",get:function(){return Number.EPSILON/2*Math.max(this.m,this.n)*this.s[0]}},{key:"leftSingularVectors",get:function(){return this.U}},{key:"rightSingularVectors",get:function(){return this.V}},{key:"diagonalMatrix",get:function(){return Z.diag(this.s)}}])}();function Ye(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return t=Oe.checkMatrix(t),e?new Ge(t).inverse():Ue(t,Z.eye(t.rows))}function Ue(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return t=Oe.checkMatrix(t),e=Oe.checkMatrix(e),n?new Ge(t).solve(e):t.isSquare()?new Ie(t).solve(e):new Le(t).solve(e)}function Xe(t){var e,n,r,i,o,a;if((t=Z.checkMatrix(t)).isSquare())return 2===t.columns?(e=t.get(0,0),n=t.get(0,1),r=t.get(1,0),e*t.get(1,1)-n*r):3===t.columns?(i=new Qt(t,[1,2],[1,2]),o=new Qt(t,[1,2],[0,2]),a=new Qt(t,[1,2],[0,1]),e=t.get(0,0),n=t.get(0,1),r=t.get(0,2),e*Xe(i)-n*Xe(o)+r*Xe(a)):new Ie(t).determinant;throw Error("determinant can only be calculated for a square matrix")}function We(t,e){for(var n=[],r=0;r<t;r++)r!==e&&n.push(r);return n}function Ve(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1e-9,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1e-9;if(t>i)return new Array(e.rows+1).fill(0);for(var o=e.addRow(n,[0]),a=0;a<o.rows;a++)Math.abs(o.get(a,0))<r&&o.set(a,0,0);return o.to1DArray()}function He(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.thresholdValue,r=void 0===n?1e-9:n,i=e.thresholdError,o=void 0===i?1e-9:i,a=(t=Z.checkMatrix(t)).rows,s=new Z(a,a),u=0;u<a;u++){var c=Z.columnVector(t.getRow(u)),l=t.subMatrixRow(We(a,u)).transpose(),f=new Ge(l),h=f.solve(c),d=Z.sub(c,l.mmul(h)).abs().max();s.setRow(u,Ve(d,h,u,r,o))}return s}function qe(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.EPSILON;t=Z.checkMatrix(t);for(var n=new Ge(t,{autoTranspose:!0}),r=n.leftSingularVectors,i=n.rightSingularVectors,o=n.diagonal,a=0;a<o.length;a++)Math.abs(o[a])>e?o[a]=1/o[a]:o[a]=0;return i.mmul(Z.diag(o).mmul(r.transpose()))}function Ze(t){return(Ze="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Ke(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};t=new Z(t);var r=!1;if("object"!==Ze(e)||Z.isMatrix(e)||Array.isArray(e)?e=new Z(e):(n=e,e=t,r=!0),t.rows!==e.rows)throw new TypeError("Both matrices must have the same number of rows");var i=n,o=i.center,a=void 0===o||o;a&&(t=t.center("column"),r||(e=e.center("column")));for(var s=t.transpose().mmul(e),u=0;u<s.rows;u++)for(var c=0;c<s.columns;c++)s.set(u,c,s.get(u,c)*(1/(t.rows-1)));return s}function Qe(t){return(Qe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function $e(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};t=new Z(t);var r=!1;if("object"!==Qe(e)||Z.isMatrix(e)||Array.isArray(e)?e=new Z(e):(n=e,e=t,r=!0),t.rows!==e.rows)throw new TypeError("Both matrices must have the same number of rows");var i=n,o=i.center,a=void 0===o||o,s=i.scale,u=void 0===s||s;a&&(t.center("column"),r||e.center("column")),u&&(t.scale("column"),r||e.scale("column"));for(var c=t.standardDeviation("column",{unbiased:!0}),l=r?c:e.standardDeviation("column",{unbiased:!0}),f=t.transpose().mmul(e),h=0;h<f.rows;h++)for(var d=0;d<f.columns;d++)f.set(h,d,f.get(h,d)*(1/(c[h]*l[d]))*(1/(t.rows-1)));return f}function Je(t){return(Je="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function tn(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function en(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,nn(r.key),r)}}function nn(t){var e=function(t,e){if("object"!=Je(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=Je(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==Je(e)?e:e+""}var rn=function(){return function(t,e,n){return e&&en(t.prototype,e),n&&en(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}((function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};tn(this,t);var r=n.assumeSymmetric,i=void 0!==r&&r;if(!(e=Oe.checkMatrix(e)).isSquare())throw new Error("Matrix is not a square matrix");var o,a,s=e.columns,u=new Z(s,s),c=new Float64Array(s),l=new Float64Array(s),f=e;if(!!i||e.isSymmetric()){for(o=0;o<s;o++)for(a=0;a<s;a++)u.set(o,a,f.get(o,a));on(s,l,c,u),an(s,l,c,u)}else{var h=new Z(s,s),d=new Float64Array(s);for(a=0;a<s;a++)for(o=0;o<s;o++)h.set(o,a,f.get(o,a));sn(s,h,d,u),un(s,l,c,u,h)}this.n=s,this.e=l,this.d=c,this.V=u}),[{key:"realEigenvalues",get:function(){return Array.from(this.d)}},{key:"imaginaryEigenvalues",get:function(){return Array.from(this.e)}},{key:"eigenvectorMatrix",get:function(){return this.V}},{key:"diagonalMatrix",get:function(){var t,e,n=this.n,r=this.e,i=this.d,o=new Z(n,n);for(t=0;t<n;t++){for(e=0;e<n;e++)o.set(t,e,0);o.set(t,t,i[t]),r[t]>0?o.set(t,t+1,r[t]):r[t]<0&&o.set(t,t-1,r[t])}return o}}])}();function on(t,e,n,r){var i,o,a,s,u,c,l,f;for(u=0;u<t;u++)n[u]=r.get(t-1,u);for(s=t-1;s>0;s--){for(f=0,a=0,c=0;c<s;c++)f+=Math.abs(n[c]);if(0===f)for(e[s]=n[s-1],u=0;u<s;u++)n[u]=r.get(s-1,u),r.set(s,u,0),r.set(u,s,0);else{for(c=0;c<s;c++)n[c]/=f,a+=n[c]*n[c];for(i=n[s-1],o=Math.sqrt(a),i>0&&(o=-o),e[s]=f*o,a-=i*o,n[s-1]=i-o,u=0;u<s;u++)e[u]=0;for(u=0;u<s;u++){for(i=n[u],r.set(u,s,i),o=e[u]+r.get(u,u)*i,c=u+1;c<=s-1;c++)o+=r.get(c,u)*n[c],e[c]+=r.get(c,u)*i;e[u]=o}for(i=0,u=0;u<s;u++)e[u]/=a,i+=e[u]*n[u];for(l=i/(a+a),u=0;u<s;u++)e[u]-=l*n[u];for(u=0;u<s;u++){for(i=n[u],o=e[u],c=u;c<=s-1;c++)r.set(c,u,r.get(c,u)-(i*e[c]+o*n[c]));n[u]=r.get(s-1,u),r.set(s,u,0)}}n[s]=a}for(s=0;s<t-1;s++){if(r.set(t-1,s,r.get(s,s)),r.set(s,s,1),0!==(a=n[s+1])){for(c=0;c<=s;c++)n[c]=r.get(c,s+1)/a;for(u=0;u<=s;u++){for(o=0,c=0;c<=s;c++)o+=r.get(c,s+1)*r.get(c,u);for(c=0;c<=s;c++)r.set(c,u,r.get(c,u)-o*n[c])}}for(c=0;c<=s;c++)r.set(c,s+1,0)}for(u=0;u<t;u++)n[u]=r.get(t-1,u),r.set(t-1,u,0);r.set(t-1,t-1,1),e[0]=0}function an(t,e,n,r){var i,o,a,s,u,c,l,f,h,d,p,g,v,y,m,b;for(a=1;a<t;a++)e[a-1]=e[a];e[t-1]=0;var x=0,w=0,_=Number.EPSILON;for(c=0;c<t;c++){for(w=Math.max(w,Math.abs(n[c])+Math.abs(e[c])),l=c;l<t&&!(Math.abs(e[l])<=_*w);)l++;if(l>c){0;do{for(1,i=n[c],h=Te(f=(n[c+1]-i)/(2*e[c]),1),f<0&&(h=-h),n[c]=e[c]/(f+h),n[c+1]=e[c]*(f+h),d=n[c+1],o=i-n[c],a=c+2;a<t;a++)n[a]-=o;for(x+=o,f=n[l],g=p=1,v=p,y=e[c+1],m=0,b=0,a=l-1;a>=c;a--)for(v=g,g=p,b=m,i=p*e[a],o=p*f,h=Te(f,e[a]),e[a+1]=m*h,m=e[a]/h,f=(p=f/h)*n[a]-m*i,n[a+1]=o+m*(p*i+m*n[a]),u=0;u<t;u++)o=r.get(u,a+1),r.set(u,a+1,m*r.get(u,a)+p*o),r.set(u,a,p*r.get(u,a)-m*o);f=-m*b*v*y*e[c]/d,e[c]=m*f,n[c]=p*f}while(Math.abs(e[c])>_*w)}n[c]=n[c]+x,e[c]=0}for(a=0;a<t-1;a++){for(u=a,f=n[a],s=a+1;s<t;s++)n[s]<f&&(u=s,f=n[s]);if(u!==a)for(n[u]=n[a],n[a]=f,s=0;s<t;s++)f=r.get(s,a),r.set(s,a,r.get(s,u)),r.set(s,u,f)}}function sn(t,e,n,r){var i,o,a,s,u,c,l,f=t-1;for(c=1;c<=f-1;c++){for(l=0,s=c;s<=f;s++)l+=Math.abs(e.get(s,c-1));if(0!==l){for(a=0,s=f;s>=c;s--)n[s]=e.get(s,c-1)/l,a+=n[s]*n[s];for(o=Math.sqrt(a),n[c]>0&&(o=-o),a-=n[c]*o,n[c]=n[c]-o,u=c;u<t;u++){for(i=0,s=f;s>=c;s--)i+=n[s]*e.get(s,u);for(i/=a,s=c;s<=f;s++)e.set(s,u,e.get(s,u)-i*n[s])}for(s=0;s<=f;s++){for(i=0,u=f;u>=c;u--)i+=n[u]*e.get(s,u);for(i/=a,u=c;u<=f;u++)e.set(s,u,e.get(s,u)-i*n[u])}n[c]=l*n[c],e.set(c,c-1,l*o)}}for(s=0;s<t;s++)for(u=0;u<t;u++)r.set(s,u,s===u?1:0);for(c=f-1;c>=1;c--)if(0!==e.get(c,c-1)){for(s=c+1;s<=f;s++)n[s]=e.get(s,c-1);for(u=c;u<=f;u++){for(o=0,s=c;s<=f;s++)o+=n[s]*r.get(s,u);for(o=o/n[c]/e.get(c,c-1),s=c;s<=f;s++)r.set(s,u,r.get(s,u)+o*n[s])}}}function un(t,e,n,r,i){var o,a,s,u,c,l,f,h,d,p,g,v,y,m,b,x=t-1,w=t-1,_=Number.EPSILON,E=0,S=0,M=0,O=0,k=0,A=0,C=0,j=0;for(o=0;o<t;o++)for((o<0||o>w)&&(n[o]=i.get(o,o),e[o]=0),a=Math.max(o-1,0);a<t;a++)S+=Math.abs(i.get(o,a));for(;x>=0;){for(u=x;u>0&&(0===(A=Math.abs(i.get(u-1,u-1))+Math.abs(i.get(u,u)))&&(A=S),!(Math.abs(i.get(u,u-1))<_*A));)u--;if(u===x)i.set(x,x,i.get(x,x)+E),n[x]=i.get(x,x),e[x]=0,x--,j=0;else if(u===x-1){if(f=i.get(x,x-1)*i.get(x-1,x),O=(M=(i.get(x-1,x-1)-i.get(x,x))/2)*M+f,C=Math.sqrt(Math.abs(O)),i.set(x,x,i.get(x,x)+E),i.set(x-1,x-1,i.get(x-1,x-1)+E),h=i.get(x,x),O>=0){for(C=M>=0?M+C:M-C,n[x-1]=h+C,n[x]=n[x-1],0!==C&&(n[x]=h-f/C),e[x-1]=0,e[x]=0,M=(h=i.get(x,x-1))/(A=Math.abs(h)+Math.abs(C)),O=C/A,M/=k=Math.sqrt(M*M+O*O),O/=k,a=x-1;a<t;a++)C=i.get(x-1,a),i.set(x-1,a,O*C+M*i.get(x,a)),i.set(x,a,O*i.get(x,a)-M*C);for(o=0;o<=x;o++)C=i.get(o,x-1),i.set(o,x-1,O*C+M*i.get(o,x)),i.set(o,x,O*i.get(o,x)-M*C);for(o=0;o<=w;o++)C=r.get(o,x-1),r.set(o,x-1,O*C+M*r.get(o,x)),r.set(o,x,O*r.get(o,x)-M*C)}else n[x-1]=h+M,n[x]=h+M,e[x-1]=C,e[x]=-C;x-=2,j=0}else{if(h=i.get(x,x),d=0,f=0,u<x&&(d=i.get(x-1,x-1),f=i.get(x,x-1)*i.get(x-1,x)),10===j){for(E+=h,o=0;o<=x;o++)i.set(o,o,i.get(o,o)-h);h=d=.75*(A=Math.abs(i.get(x,x-1))+Math.abs(i.get(x-1,x-2))),f=-.4375*A*A}if(30===j&&(A=(A=(d-h)/2)*A+f)>0){for(A=Math.sqrt(A),d<h&&(A=-A),A=h-f/((d-h)/2+A),o=0;o<=x;o++)i.set(o,o,i.get(o,o)-A);E+=A,h=d=f=.964}for(j+=1,c=x-2;c>=u&&(M=((k=h-(C=i.get(c,c)))*(A=d-C)-f)/i.get(c+1,c)+i.get(c,c+1),O=i.get(c+1,c+1)-C-k-A,k=i.get(c+2,c+1),M/=A=Math.abs(M)+Math.abs(O)+Math.abs(k),O/=A,k/=A,c!==u)&&!(Math.abs(i.get(c,c-1))*(Math.abs(O)+Math.abs(k))<_*(Math.abs(M)*(Math.abs(i.get(c-1,c-1))+Math.abs(C)+Math.abs(i.get(c+1,c+1)))));)c--;for(o=c+2;o<=x;o++)i.set(o,o-2,0),o>c+2&&i.set(o,o-3,0);for(s=c;s<=x-1&&(m=s!==x-1,s!==c&&(M=i.get(s,s-1),O=i.get(s+1,s-1),k=m?i.get(s+2,s-1):0,0!==(h=Math.abs(M)+Math.abs(O)+Math.abs(k))&&(M/=h,O/=h,k/=h)),0!==h);s++)if(A=Math.sqrt(M*M+O*O+k*k),M<0&&(A=-A),0!==A){for(s!==c?i.set(s,s-1,-A*h):u!==c&&i.set(s,s-1,-i.get(s,s-1)),h=(M+=A)/A,d=O/A,C=k/A,O/=M,k/=M,a=s;a<t;a++)M=i.get(s,a)+O*i.get(s+1,a),m&&(M+=k*i.get(s+2,a),i.set(s+2,a,i.get(s+2,a)-M*C)),i.set(s,a,i.get(s,a)-M*h),i.set(s+1,a,i.get(s+1,a)-M*d);for(o=0;o<=Math.min(x,s+3);o++)M=h*i.get(o,s)+d*i.get(o,s+1),m&&(M+=C*i.get(o,s+2),i.set(o,s+2,i.get(o,s+2)-M*k)),i.set(o,s,i.get(o,s)-M),i.set(o,s+1,i.get(o,s+1)-M*O);for(o=0;o<=w;o++)M=h*r.get(o,s)+d*r.get(o,s+1),m&&(M+=C*r.get(o,s+2),r.set(o,s+2,r.get(o,s+2)-M*k)),r.set(o,s,r.get(o,s)-M),r.set(o,s+1,r.get(o,s+1)-M*O)}}}if(0!==S){for(x=t-1;x>=0;x--)if(M=n[x],0===(O=e[x]))for(u=x,i.set(x,x,1),o=x-1;o>=0;o--){for(f=i.get(o,o)-M,k=0,a=u;a<=x;a++)k+=i.get(o,a)*i.get(a,x);if(e[o]<0)C=f,A=k;else if(u=o,0===e[o]?i.set(o,x,0!==f?-k/f:-k/(_*S)):(h=i.get(o,o+1),d=i.get(o+1,o),l=(h*A-C*k)/(O=(n[o]-M)*(n[o]-M)+e[o]*e[o]),i.set(o,x,l),i.set(o+1,x,Math.abs(h)>Math.abs(C)?(-k-f*l)/h:(-A-d*l)/C)),_*(l=Math.abs(i.get(o,x)))*l>1)for(a=o;a<=x;a++)i.set(a,x,i.get(a,x)/l)}else if(O<0)for(u=x-1,Math.abs(i.get(x,x-1))>Math.abs(i.get(x-1,x))?(i.set(x-1,x-1,O/i.get(x,x-1)),i.set(x-1,x,-(i.get(x,x)-M)/i.get(x,x-1))):(b=cn(0,-i.get(x-1,x),i.get(x-1,x-1)-M,O),i.set(x-1,x-1,b[0]),i.set(x-1,x,b[1])),i.set(x,x-1,0),i.set(x,x,1),o=x-2;o>=0;o--){for(p=0,g=0,a=u;a<=x;a++)p+=i.get(o,a)*i.get(a,x-1),g+=i.get(o,a)*i.get(a,x);if(f=i.get(o,o)-M,e[o]<0)C=f,k=p,A=g;else if(u=o,0===e[o]?(b=cn(-p,-g,f,O),i.set(o,x-1,b[0]),i.set(o,x,b[1])):(h=i.get(o,o+1),d=i.get(o+1,o),v=(n[o]-M)*(n[o]-M)+e[o]*e[o]-O*O,y=2*(n[o]-M)*O,0===v&&0===y&&(v=_*S*(Math.abs(f)+Math.abs(O)+Math.abs(h)+Math.abs(d)+Math.abs(C))),b=cn(h*k-C*p+O*g,h*A-C*g-O*p,v,y),i.set(o,x-1,b[0]),i.set(o,x,b[1]),Math.abs(h)>Math.abs(C)+Math.abs(O)?(i.set(o+1,x-1,(-p-f*i.get(o,x-1)+O*i.get(o,x))/h),i.set(o+1,x,(-g-f*i.get(o,x)-O*i.get(o,x-1))/h)):(b=cn(-k-d*i.get(o,x-1),-A-d*i.get(o,x),C,O),i.set(o+1,x-1,b[0]),i.set(o+1,x,b[1]))),_*(l=Math.max(Math.abs(i.get(o,x-1)),Math.abs(i.get(o,x))))*l>1)for(a=o;a<=x;a++)i.set(a,x-1,i.get(a,x-1)/l),i.set(a,x,i.get(a,x)/l)}for(o=0;o<t;o++)if(o<0||o>w)for(a=o;a<t;a++)r.set(o,a,i.get(o,a));for(a=t-1;a>=0;a--)for(o=0;o<=w;o++){for(C=0,s=0;s<=Math.min(a,w);s++)C+=r.get(o,s)*i.get(s,a);r.set(o,a,C)}}}function cn(t,e,n,r){var i,o;return Math.abs(n)>Math.abs(r)?[(t+(i=r/n)*e)/(o=n+i*r),(e-i*t)/o]:[((i=n/r)*t+e)/(o=r+i*n),(i*e-t)/o]}function ln(t){return(ln="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function fn(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,hn(r.key),r)}}function hn(t){var e=function(t,e){if("object"!=ln(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=ln(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==ln(e)?e:e+""}var dn=function(){return t=function t(e){if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!(e=Oe.checkMatrix(e)).isSymmetric())throw new Error("Matrix is not symmetric");var n,r,i,o=e,a=o.rows,s=new Z(a,a),u=!0;for(r=0;r<a;r++){var c=0;for(i=0;i<r;i++){var l=0;for(n=0;n<i;n++)l+=s.get(i,n)*s.get(r,n);l=(o.get(r,i)-l)/s.get(i,i),s.set(r,i,l),c+=l*l}for(u&=(c=o.get(r,r)-c)>0,s.set(r,r,Math.sqrt(Math.max(c,0))),i=r+1;i<a;i++)s.set(r,i,0)}this.L=s,this.positiveDefinite=Boolean(u)},(e=[{key:"isPositiveDefinite",value:function(){return this.positiveDefinite}},{key:"solve",value:function(t){t=Oe.checkMatrix(t);var e=this.L,n=e.rows;if(t.rows!==n)throw new Error("Matrix dimensions do not match");if(!1===this.isPositiveDefinite())throw new Error("Matrix is not positive definite");var r,i,o,a=t.columns,s=t.clone();for(o=0;o<n;o++)for(i=0;i<a;i++){for(r=0;r<o;r++)s.set(o,i,s.get(o,i)-s.get(r,i)*e.get(o,r));s.set(o,i,s.get(o,i)/e.get(o,o))}for(o=n-1;o>=0;o--)for(i=0;i<a;i++){for(r=o+1;r<n;r++)s.set(o,i,s.get(o,i)-s.get(r,i)*e.get(r,o));s.set(o,i,s.get(o,i)/e.get(o,o))}return s}},{key:"lowerTriangularMatrix",get:function(){return this.L}}])&&fn(t.prototype,e),n&&fn(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e,n}();function pn(t){return(pn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function gn(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,yn(r.key),r)}}function vn(t,e,n){return e&&gn(t.prototype,e),n&&gn(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function yn(t){var e=function(t,e){if("object"!=pn(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=pn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==pn(e)?e:e+""}function mn(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var bn=vn((function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};mn(this,t),e=Oe.checkMatrix(e);var r,i=n.Y,o=n.scaleScores,a=void 0!==o&&o,s=n.maxIterations,u=void 0===s?1e3:s,c=n.terminationCriteria,l=void 0===c?1e-10:c;if(i){if(!(i=Array.isArray(i)&&"number"==typeof i[0]?Z.columnVector(i):Oe.checkMatrix(i)).isColumnVector()||i.rows!==e.rows)throw new Error("Y must be a column vector of length X.rows");r=i}else r=e.getColumnVector(0);for(var f,h,d,p,g=1,v=0;v<u&&g>l;v++)d=(d=e.transpose().mmul(r).div(r.transpose().mmul(r).get(0,0))).div(d.norm()),f=e.mmul(d).div(d.transpose().mmul(d).get(0,0)),v>0&&(g=f.clone().sub(p).pow(2).sum()),p=f.clone(),i?(h=(h=i.transpose().mmul(f).div(f.transpose().mmul(f).get(0,0))).div(h.norm()),r=i.mmul(h).div(h.transpose().mmul(h).get(0,0))):r=f;if(i){var y=e.transpose().mmul(f).div(f.transpose().mmul(f).get(0,0));y=y.div(y.norm());var m=e.clone().sub(f.clone().mmul(y.transpose())),b=r.transpose().mmul(f).div(f.transpose().mmul(f).get(0,0)),x=i.clone().sub(f.clone().mulS(b.get(0,0)).mmul(h.transpose()));this.t=f,this.p=y.transpose(),this.w=d.transpose(),this.q=h,this.u=r,this.s=f.transpose().mmul(f),this.xResidual=m,this.yResidual=x,this.betas=b}else this.w=d.transpose(),this.s=f.transpose().mmul(f).sqrt(),this.t=a?f.clone().div(this.s.get(0,0)):f,this.xResidual=e.sub(f.mmul(d.transpose()))}))},function(t,e,n){"use strict";n.r(e),n.d(e,"World",(function(){return At})),n.d(e,"Kernel",(function(){return W}));var r=n(25),i=n.n(r),o=n(3),a=n.n(o),s=n(13),u=n.n(s),c=n(14),l=n.n(c),f=n(34),h=n.n(f),d=n(116),p=n.n(d),g=n(117),v=n.n(g),y=n(17),m=n.n(y),b=1;function x(){return b++}var w,_;(_=w||(w={}))[_.DEPTH_BUFFER_BIT=256]="DEPTH_BUFFER_BIT",_[_.STENCIL_BUFFER_BIT=1024]="STENCIL_BUFFER_BIT",_[_.COLOR_BUFFER_BIT=16384]="COLOR_BUFFER_BIT",_[_.POINTS=0]="POINTS",_[_.LINES=1]="LINES",_[_.LINE_LOOP=2]="LINE_LOOP",_[_.LINE_STRIP=3]="LINE_STRIP",_[_.TRIANGLES=4]="TRIANGLES",_[_.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",_[_.TRIANGLE_FAN=6]="TRIANGLE_FAN",_[_.ZERO=0]="ZERO",_[_.ONE=1]="ONE",_[_.SRC_COLOR=768]="SRC_COLOR",_[_.ONE_MINUS_SRC_COLOR=769]="ONE_MINUS_SRC_COLOR",_[_.SRC_ALPHA=770]="SRC_ALPHA",_[_.ONE_MINUS_SRC_ALPHA=771]="ONE_MINUS_SRC_ALPHA",_[_.DST_ALPHA=772]="DST_ALPHA",_[_.ONE_MINUS_DST_ALPHA=773]="ONE_MINUS_DST_ALPHA",_[_.DST_COLOR=774]="DST_COLOR",_[_.ONE_MINUS_DST_COLOR=775]="ONE_MINUS_DST_COLOR",_[_.SRC_ALPHA_SATURATE=776]="SRC_ALPHA_SATURATE",_[_.FUNC_ADD=32774]="FUNC_ADD",_[_.BLEND_EQUATION=32777]="BLEND_EQUATION",_[_.BLEND_EQUATION_RGB=32777]="BLEND_EQUATION_RGB",_[_.BLEND_EQUATION_ALPHA=34877]="BLEND_EQUATION_ALPHA",_[_.FUNC_SUBTRACT=32778]="FUNC_SUBTRACT",_[_.FUNC_REVERSE_SUBTRACT=32779]="FUNC_REVERSE_SUBTRACT",_[_.MAX_EXT=32776]="MAX_EXT",_[_.MIN_EXT=32775]="MIN_EXT",_[_.BLEND_DST_RGB=32968]="BLEND_DST_RGB",_[_.BLEND_SRC_RGB=32969]="BLEND_SRC_RGB",_[_.BLEND_DST_ALPHA=32970]="BLEND_DST_ALPHA",_[_.BLEND_SRC_ALPHA=32971]="BLEND_SRC_ALPHA",_[_.CONSTANT_COLOR=32769]="CONSTANT_COLOR",_[_.ONE_MINUS_CONSTANT_COLOR=32770]="ONE_MINUS_CONSTANT_COLOR",_[_.CONSTANT_ALPHA=32771]="CONSTANT_ALPHA",_[_.ONE_MINUS_CONSTANT_ALPHA=32772]="ONE_MINUS_CONSTANT_ALPHA",_[_.BLEND_COLOR=32773]="BLEND_COLOR",_[_.ARRAY_BUFFER=34962]="ARRAY_BUFFER",_[_.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER",_[_.ARRAY_BUFFER_BINDING=34964]="ARRAY_BUFFER_BINDING",_[_.ELEMENT_ARRAY_BUFFER_BINDING=34965]="ELEMENT_ARRAY_BUFFER_BINDING",_[_.STREAM_DRAW=35040]="STREAM_DRAW",_[_.STATIC_DRAW=35044]="STATIC_DRAW",_[_.DYNAMIC_DRAW=35048]="DYNAMIC_DRAW",_[_.BUFFER_SIZE=34660]="BUFFER_SIZE",_[_.BUFFER_USAGE=34661]="BUFFER_USAGE",_[_.CURRENT_VERTEX_ATTRIB=34342]="CURRENT_VERTEX_ATTRIB",_[_.FRONT=1028]="FRONT",_[_.BACK=1029]="BACK",_[_.FRONT_AND_BACK=1032]="FRONT_AND_BACK",_[_.CULL_FACE=2884]="CULL_FACE",_[_.BLEND=3042]="BLEND",_[_.DITHER=3024]="DITHER",_[_.STENCIL_TEST=2960]="STENCIL_TEST",_[_.DEPTH_TEST=2929]="DEPTH_TEST",_[_.SCISSOR_TEST=3089]="SCISSOR_TEST",_[_.POLYGON_OFFSET_FILL=32823]="POLYGON_OFFSET_FILL",_[_.SAMPLE_ALPHA_TO_COVERAGE=32926]="SAMPLE_ALPHA_TO_COVERAGE",_[_.SAMPLE_COVERAGE=32928]="SAMPLE_COVERAGE",_[_.NO_ERROR=0]="NO_ERROR",_[_.INVALID_ENUM=1280]="INVALID_ENUM",_[_.INVALID_VALUE=1281]="INVALID_VALUE",_[_.INVALID_OPERATION=1282]="INVALID_OPERATION",_[_.OUT_OF_MEMORY=1285]="OUT_OF_MEMORY",_[_.CW=2304]="CW",_[_.CCW=2305]="CCW",_[_.LINE_WIDTH=2849]="LINE_WIDTH",_[_.ALIASED_POINT_SIZE_RANGE=33901]="ALIASED_POINT_SIZE_RANGE",_[_.ALIASED_LINE_WIDTH_RANGE=33902]="ALIASED_LINE_WIDTH_RANGE",_[_.CULL_FACE_MODE=2885]="CULL_FACE_MODE",_[_.FRONT_FACE=2886]="FRONT_FACE",_[_.DEPTH_RANGE=2928]="DEPTH_RANGE",_[_.DEPTH_WRITEMASK=2930]="DEPTH_WRITEMASK",_[_.DEPTH_CLEAR_VALUE=2931]="DEPTH_CLEAR_VALUE",_[_.DEPTH_FUNC=2932]="DEPTH_FUNC",_[_.STENCIL_CLEAR_VALUE=2961]="STENCIL_CLEAR_VALUE",_[_.STENCIL_FUNC=2962]="STENCIL_FUNC",_[_.STENCIL_FAIL=2964]="STENCIL_FAIL",_[_.STENCIL_PASS_DEPTH_FAIL=2965]="STENCIL_PASS_DEPTH_FAIL",_[_.STENCIL_PASS_DEPTH_PASS=2966]="STENCIL_PASS_DEPTH_PASS",_[_.STENCIL_REF=2967]="STENCIL_REF",_[_.STENCIL_VALUE_MASK=2963]="STENCIL_VALUE_MASK",_[_.STENCIL_WRITEMASK=2968]="STENCIL_WRITEMASK",_[_.STENCIL_BACK_FUNC=34816]="STENCIL_BACK_FUNC",_[_.STENCIL_BACK_FAIL=34817]="STENCIL_BACK_FAIL",_[_.STENCIL_BACK_PASS_DEPTH_FAIL=34818]="STENCIL_BACK_PASS_DEPTH_FAIL",_[_.STENCIL_BACK_PASS_DEPTH_PASS=34819]="STENCIL_BACK_PASS_DEPTH_PASS",_[_.STENCIL_BACK_REF=36003]="STENCIL_BACK_REF",_[_.STENCIL_BACK_VALUE_MASK=36004]="STENCIL_BACK_VALUE_MASK",_[_.STENCIL_BACK_WRITEMASK=36005]="STENCIL_BACK_WRITEMASK",_[_.VIEWPORT=2978]="VIEWPORT",_[_.SCISSOR_BOX=3088]="SCISSOR_BOX",_[_.COLOR_CLEAR_VALUE=3106]="COLOR_CLEAR_VALUE",_[_.COLOR_WRITEMASK=3107]="COLOR_WRITEMASK",_[_.UNPACK_ALIGNMENT=3317]="UNPACK_ALIGNMENT",_[_.PACK_ALIGNMENT=3333]="PACK_ALIGNMENT",_[_.MAX_TEXTURE_SIZE=3379]="MAX_TEXTURE_SIZE",_[_.MAX_VIEWPORT_DIMS=3386]="MAX_VIEWPORT_DIMS",_[_.SUBPIXEL_BITS=3408]="SUBPIXEL_BITS",_[_.RED_BITS=3410]="RED_BITS",_[_.GREEN_BITS=3411]="GREEN_BITS",_[_.BLUE_BITS=3412]="BLUE_BITS",_[_.ALPHA_BITS=3413]="ALPHA_BITS",_[_.DEPTH_BITS=3414]="DEPTH_BITS",_[_.STENCIL_BITS=3415]="STENCIL_BITS",_[_.POLYGON_OFFSET_UNITS=10752]="POLYGON_OFFSET_UNITS",_[_.POLYGON_OFFSET_FACTOR=32824]="POLYGON_OFFSET_FACTOR",_[_.TEXTURE_BINDING_2D=32873]="TEXTURE_BINDING_2D",_[_.SAMPLE_BUFFERS=32936]="SAMPLE_BUFFERS",_[_.SAMPLES=32937]="SAMPLES",_[_.SAMPLE_COVERAGE_VALUE=32938]="SAMPLE_COVERAGE_VALUE",_[_.SAMPLE_COVERAGE_INVERT=32939]="SAMPLE_COVERAGE_INVERT",_[_.COMPRESSED_TEXTURE_FORMATS=34467]="COMPRESSED_TEXTURE_FORMATS",_[_.DONT_CARE=4352]="DONT_CARE",_[_.FASTEST=4353]="FASTEST",_[_.NICEST=4354]="NICEST",_[_.GENERATE_MIPMAP_HINT=33170]="GENERATE_MIPMAP_HINT",_[_.BYTE=5120]="BYTE",_[_.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",_[_.SHORT=5122]="SHORT",_[_.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",_[_.INT=5124]="INT",_[_.UNSIGNED_INT=5125]="UNSIGNED_INT",_[_.FLOAT=5126]="FLOAT",_[_.DEPTH_COMPONENT=6402]="DEPTH_COMPONENT",_[_.ALPHA=6406]="ALPHA",_[_.RGB=6407]="RGB",_[_.RGBA=6408]="RGBA",_[_.LUMINANCE=6409]="LUMINANCE",_[_.LUMINANCE_ALPHA=6410]="LUMINANCE_ALPHA",_[_.UNSIGNED_SHORT_4_4_4_4=32819]="UNSIGNED_SHORT_4_4_4_4",_[_.UNSIGNED_SHORT_5_5_5_1=32820]="UNSIGNED_SHORT_5_5_5_1",_[_.UNSIGNED_SHORT_5_6_5=33635]="UNSIGNED_SHORT_5_6_5",_[_.FRAGMENT_SHADER=35632]="FRAGMENT_SHADER",_[_.VERTEX_SHADER=35633]="VERTEX_SHADER",_[_.MAX_VERTEX_ATTRIBS=34921]="MAX_VERTEX_ATTRIBS",_[_.MAX_VERTEX_UNIFORM_VECTORS=36347]="MAX_VERTEX_UNIFORM_VECTORS",_[_.MAX_VARYING_VECTORS=36348]="MAX_VARYING_VECTORS",_[_.MAX_COMBINED_TEXTURE_IMAGE_UNITS=35661]="MAX_COMBINED_TEXTURE_IMAGE_UNITS",_[_.MAX_VERTEX_TEXTURE_IMAGE_UNITS=35660]="MAX_VERTEX_TEXTURE_IMAGE_UNITS",_[_.MAX_TEXTURE_IMAGE_UNITS=34930]="MAX_TEXTURE_IMAGE_UNITS",_[_.MAX_FRAGMENT_UNIFORM_VECTORS=36349]="MAX_FRAGMENT_UNIFORM_VECTORS",_[_.SHADER_TYPE=35663]="SHADER_TYPE",_[_.DELETE_STATUS=35712]="DELETE_STATUS",_[_.LINK_STATUS=35714]="LINK_STATUS",_[_.VALIDATE_STATUS=35715]="VALIDATE_STATUS",_[_.ATTACHED_SHADERS=35717]="ATTACHED_SHADERS",_[_.ACTIVE_UNIFORMS=35718]="ACTIVE_UNIFORMS",_[_.ACTIVE_ATTRIBUTES=35721]="ACTIVE_ATTRIBUTES",_[_.SHADING_LANGUAGE_VERSION=35724]="SHADING_LANGUAGE_VERSION",_[_.CURRENT_PROGRAM=35725]="CURRENT_PROGRAM",_[_.NEVER=512]="NEVER",_[_.LESS=513]="LESS",_[_.EQUAL=514]="EQUAL",_[_.LEQUAL=515]="LEQUAL",_[_.GREATER=516]="GREATER",_[_.NOTEQUAL=517]="NOTEQUAL",_[_.GEQUAL=518]="GEQUAL",_[_.ALWAYS=519]="ALWAYS",_[_.KEEP=7680]="KEEP",_[_.REPLACE=7681]="REPLACE",_[_.INCR=7682]="INCR",_[_.DECR=7683]="DECR",_[_.INVERT=5386]="INVERT",_[_.INCR_WRAP=34055]="INCR_WRAP",_[_.DECR_WRAP=34056]="DECR_WRAP",_[_.VENDOR=7936]="VENDOR",_[_.RENDERER=7937]="RENDERER",_[_.VERSION=7938]="VERSION",_[_.NEAREST=9728]="NEAREST",_[_.LINEAR=9729]="LINEAR",_[_.NEAREST_MIPMAP_NEAREST=9984]="NEAREST_MIPMAP_NEAREST",_[_.LINEAR_MIPMAP_NEAREST=9985]="LINEAR_MIPMAP_NEAREST",_[_.NEAREST_MIPMAP_LINEAR=9986]="NEAREST_MIPMAP_LINEAR",_[_.LINEAR_MIPMAP_LINEAR=9987]="LINEAR_MIPMAP_LINEAR",_[_.TEXTURE_MAG_FILTER=10240]="TEXTURE_MAG_FILTER",_[_.TEXTURE_MIN_FILTER=10241]="TEXTURE_MIN_FILTER",_[_.TEXTURE_WRAP_S=10242]="TEXTURE_WRAP_S",_[_.TEXTURE_WRAP_T=10243]="TEXTURE_WRAP_T",_[_.TEXTURE_2D=3553]="TEXTURE_2D",_[_.TEXTURE=5890]="TEXTURE",_[_.TEXTURE_CUBE_MAP=34067]="TEXTURE_CUBE_MAP",_[_.TEXTURE_BINDING_CUBE_MAP=34068]="TEXTURE_BINDING_CUBE_MAP",_[_.TEXTURE_CUBE_MAP_POSITIVE_X=34069]="TEXTURE_CUBE_MAP_POSITIVE_X",_[_.TEXTURE_CUBE_MAP_NEGATIVE_X=34070]="TEXTURE_CUBE_MAP_NEGATIVE_X",_[_.TEXTURE_CUBE_MAP_POSITIVE_Y=34071]="TEXTURE_CUBE_MAP_POSITIVE_Y",_[_.TEXTURE_CUBE_MAP_NEGATIVE_Y=34072]="TEXTURE_CUBE_MAP_NEGATIVE_Y",_[_.TEXTURE_CUBE_MAP_POSITIVE_Z=34073]="TEXTURE_CUBE_MAP_POSITIVE_Z",_[_.TEXTURE_CUBE_MAP_NEGATIVE_Z=34074]="TEXTURE_CUBE_MAP_NEGATIVE_Z",_[_.MAX_CUBE_MAP_TEXTURE_SIZE=34076]="MAX_CUBE_MAP_TEXTURE_SIZE",_[_.TEXTURE0=33984]="TEXTURE0",_[_.TEXTURE1=33985]="TEXTURE1",_[_.TEXTURE2=33986]="TEXTURE2",_[_.TEXTURE3=33987]="TEXTURE3",_[_.TEXTURE4=33988]="TEXTURE4",_[_.TEXTURE5=33989]="TEXTURE5",_[_.TEXTURE6=33990]="TEXTURE6",_[_.TEXTURE7=33991]="TEXTURE7",_[_.TEXTURE8=33992]="TEXTURE8",_[_.TEXTURE9=33993]="TEXTURE9",_[_.TEXTURE10=33994]="TEXTURE10",_[_.TEXTURE11=33995]="TEXTURE11",_[_.TEXTURE12=33996]="TEXTURE12",_[_.TEXTURE13=33997]="TEXTURE13",_[_.TEXTURE14=33998]="TEXTURE14",_[_.TEXTURE15=33999]="TEXTURE15",_[_.TEXTURE16=34e3]="TEXTURE16",_[_.TEXTURE17=34001]="TEXTURE17",_[_.TEXTURE18=34002]="TEXTURE18",_[_.TEXTURE19=34003]="TEXTURE19",_[_.TEXTURE20=34004]="TEXTURE20",_[_.TEXTURE21=34005]="TEXTURE21",_[_.TEXTURE22=34006]="TEXTURE22",_[_.TEXTURE23=34007]="TEXTURE23",_[_.TEXTURE24=34008]="TEXTURE24",_[_.TEXTURE25=34009]="TEXTURE25",_[_.TEXTURE26=34010]="TEXTURE26",_[_.TEXTURE27=34011]="TEXTURE27",_[_.TEXTURE28=34012]="TEXTURE28",_[_.TEXTURE29=34013]="TEXTURE29",_[_.TEXTURE30=34014]="TEXTURE30",_[_.TEXTURE31=34015]="TEXTURE31",_[_.ACTIVE_TEXTURE=34016]="ACTIVE_TEXTURE",_[_.REPEAT=10497]="REPEAT",_[_.CLAMP_TO_EDGE=33071]="CLAMP_TO_EDGE",_[_.MIRRORED_REPEAT=33648]="MIRRORED_REPEAT",_[_.FLOAT_VEC2=35664]="FLOAT_VEC2",_[_.FLOAT_VEC3=35665]="FLOAT_VEC3",_[_.FLOAT_VEC4=35666]="FLOAT_VEC4",_[_.INT_VEC2=35667]="INT_VEC2",_[_.INT_VEC3=35668]="INT_VEC3",_[_.INT_VEC4=35669]="INT_VEC4",_[_.BOOL=35670]="BOOL",_[_.BOOL_VEC2=35671]="BOOL_VEC2",_[_.BOOL_VEC3=35672]="BOOL_VEC3",_[_.BOOL_VEC4=35673]="BOOL_VEC4",_[_.FLOAT_MAT2=35674]="FLOAT_MAT2",_[_.FLOAT_MAT3=35675]="FLOAT_MAT3",_[_.FLOAT_MAT4=35676]="FLOAT_MAT4",_[_.SAMPLER_2D=35678]="SAMPLER_2D",_[_.SAMPLER_CUBE=35680]="SAMPLER_CUBE",_[_.VERTEX_ATTRIB_ARRAY_ENABLED=34338]="VERTEX_ATTRIB_ARRAY_ENABLED",_[_.VERTEX_ATTRIB_ARRAY_SIZE=34339]="VERTEX_ATTRIB_ARRAY_SIZE",_[_.VERTEX_ATTRIB_ARRAY_STRIDE=34340]="VERTEX_ATTRIB_ARRAY_STRIDE",_[_.VERTEX_ATTRIB_ARRAY_TYPE=34341]="VERTEX_ATTRIB_ARRAY_TYPE",_[_.VERTEX_ATTRIB_ARRAY_NORMALIZED=34922]="VERTEX_ATTRIB_ARRAY_NORMALIZED",_[_.VERTEX_ATTRIB_ARRAY_POINTER=34373]="VERTEX_ATTRIB_ARRAY_POINTER",_[_.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING=34975]="VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",_[_.COMPILE_STATUS=35713]="COMPILE_STATUS",_[_.LOW_FLOAT=36336]="LOW_FLOAT",_[_.MEDIUM_FLOAT=36337]="MEDIUM_FLOAT",_[_.HIGH_FLOAT=36338]="HIGH_FLOAT",_[_.LOW_INT=36339]="LOW_INT",_[_.MEDIUM_INT=36340]="MEDIUM_INT",_[_.HIGH_INT=36341]="HIGH_INT",_[_.FRAMEBUFFER=36160]="FRAMEBUFFER",_[_.RENDERBUFFER=36161]="RENDERBUFFER",_[_.RGBA4=32854]="RGBA4",_[_.RGB5_A1=32855]="RGB5_A1",_[_.RGB565=36194]="RGB565",_[_.DEPTH_COMPONENT16=33189]="DEPTH_COMPONENT16",_[_.STENCIL_INDEX=6401]="STENCIL_INDEX",_[_.STENCIL_INDEX8=36168]="STENCIL_INDEX8",_[_.DEPTH_STENCIL=34041]="DEPTH_STENCIL",_[_.RENDERBUFFER_WIDTH=36162]="RENDERBUFFER_WIDTH",_[_.RENDERBUFFER_HEIGHT=36163]="RENDERBUFFER_HEIGHT",_[_.RENDERBUFFER_INTERNAL_FORMAT=36164]="RENDERBUFFER_INTERNAL_FORMAT",_[_.RENDERBUFFER_RED_SIZE=36176]="RENDERBUFFER_RED_SIZE",_[_.RENDERBUFFER_GREEN_SIZE=36177]="RENDERBUFFER_GREEN_SIZE",_[_.RENDERBUFFER_BLUE_SIZE=36178]="RENDERBUFFER_BLUE_SIZE",_[_.RENDERBUFFER_ALPHA_SIZE=36179]="RENDERBUFFER_ALPHA_SIZE",_[_.RENDERBUFFER_DEPTH_SIZE=36180]="RENDERBUFFER_DEPTH_SIZE",_[_.RENDERBUFFER_STENCIL_SIZE=36181]="RENDERBUFFER_STENCIL_SIZE",_[_.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE=36048]="FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",_[_.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME=36049]="FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",_[_.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL=36050]="FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",_[_.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE=36051]="FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",_[_.COLOR_ATTACHMENT0=36064]="COLOR_ATTACHMENT0",_[_.DEPTH_ATTACHMENT=36096]="DEPTH_ATTACHMENT",_[_.STENCIL_ATTACHMENT=36128]="STENCIL_ATTACHMENT",_[_.DEPTH_STENCIL_ATTACHMENT=33306]="DEPTH_STENCIL_ATTACHMENT",_[_.NONE=0]="NONE",_[_.FRAMEBUFFER_COMPLETE=36053]="FRAMEBUFFER_COMPLETE",_[_.FRAMEBUFFER_INCOMPLETE_ATTACHMENT=36054]="FRAMEBUFFER_INCOMPLETE_ATTACHMENT",_[_.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT=36055]="FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",_[_.FRAMEBUFFER_INCOMPLETE_DIMENSIONS=36057]="FRAMEBUFFER_INCOMPLETE_DIMENSIONS",_[_.FRAMEBUFFER_UNSUPPORTED=36061]="FRAMEBUFFER_UNSUPPORTED",_[_.FRAMEBUFFER_BINDING=36006]="FRAMEBUFFER_BINDING",_[_.RENDERBUFFER_BINDING=36007]="RENDERBUFFER_BINDING",_[_.MAX_RENDERBUFFER_SIZE=34024]="MAX_RENDERBUFFER_SIZE",_[_.INVALID_FRAMEBUFFER_OPERATION=1286]="INVALID_FRAMEBUFFER_OPERATION",_[_.UNPACK_FLIP_Y_WEBGL=37440]="UNPACK_FLIP_Y_WEBGL",_[_.UNPACK_PREMULTIPLY_ALPHA_WEBGL=37441]="UNPACK_PREMULTIPLY_ALPHA_WEBGL",_[_.CONTEXT_LOST_WEBGL=37442]="CONTEXT_LOST_WEBGL",_[_.UNPACK_COLORSPACE_CONVERSION_WEBGL=37443]="UNPACK_COLORSPACE_CONVERSION_WEBGL",_[_.BROWSER_DEFAULT_WEBGL=37444]="BROWSER_DEFAULT_WEBGL",_[_.COPY_SRC=1]="COPY_SRC",_[_.COPY_DST=2]="COPY_DST",_[_.SAMPLED=4]="SAMPLED",_[_.STORAGE=8]="STORAGE",_[_.RENDER_ATTACHMENT=16]="RENDER_ATTACHMENT";var E,S,M,O,k=function(){function t(){u()(this,t),this.config=void 0}return l()(t,[{key:"get",value:function(){return this.config}},{key:"set",value:function(t){this.config=t}}]),t}();"undefined"!=typeof navigator&&/Version\/[\d\.]+.*Safari/.test(navigator.userAgent);!function(t){t.Void="Void",t.Boolean="Boolean",t.Float="Float",t.Uint32="Uint32",t.Int32="Int32",t.Vector="Vector",t.Vector2Float="vec2<f32>",t.Vector3Float="vec3<f32>",t.Vector4Float="vec4<f32>",t.Vector2Boolean="vec2<bool>",t.Vector3Boolean="vec3<bool>",t.Vector4Boolean="vec4<bool>",t.Vector2Uint="vec2<u32>",t.Vector3Uint="vec3<u32>",t.Vector4Uint="vec4<u32>",t.Vector2Int="vec2<i32>",t.Vector3Int="vec3<i32>",t.Vector4Int="vec4<i32>",t.Matrix="Matrix",t.Matrix3x3Float="mat3x3<f32>",t.Matrix4x4Float="mat4x4<i32>",t.Struct="Struct",t.FloatArray="Float[]",t.Vector4FloatArray="vec4<f32>[]"}(E||(E={})),function(t){t.Program="Program",t.Identifier="Identifier",t.VariableDeclaration="VariableDeclaration",t.BlockStatement="BlockStatement",t.ReturnStatement="ReturnStatement",t.FunctionDeclaration="FunctionDeclaration",t.VariableDeclarator="VariableDeclarator",t.AssignmentExpression="AssignmentExpression",t.LogicalExpression="LogicalExpression",t.BinaryExpression="BinaryExpression",t.ArrayExpression="ArrayExpression",t.UnaryExpression="UnaryExpression",t.UpdateExpression="UpdateExpression",t.FunctionExpression="FunctionExpression",t.MemberExpression="MemberExpression",t.ConditionalExpression="ConditionalExpression",t.ExpressionStatement="ExpressionStatement",t.CallExpression="CallExpression",t.NumThreadStatement="NumThreadStatement",t.StorageStatement="StorageStatement",t.DoWhileStatement="DoWhileStatement",t.WhileStatement="WhileStatement",t.ForStatement="ForStatement",t.BreakStatement="BreakStatement",t.ContinueStatement="ContinueStatement",t.IfStatement="IfStatement",t.ImportedFunctionStatement="ImportedFunctionStatement"}(S||(S={})),function(t){t.Input="Input",t.Output="Output",t.Uniform="Uniform",t.Workgroup="Workgroup",t.UniformConstant="UniformConstant",t.Image="Image",t.StorageBuffer="StorageBuffer",t.Private="Private",t.Function="Function"}(M||(M={})),function(t){t.GLSL100="GLSL100",t.GLSL450="GLSL450",t.WGSL="WGSL"}(O||(O={}));function A(){if("undefined"!=typeof document)return document.createElement("canvas");throw new Error("Cannot create a canvas in this context")}function C(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function j(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?C(Object(n),!0).forEach((function(e){a()(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):C(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var I,T,N,P,D,L,R,B,F,z,G,Y,U,X,W=function(){function t(e,n){u()(this,t),this.engine=e,this.configService=n,this.model=void 0,this.dirty=!0,this.compiledBundle=void 0,this.initPromise=void 0}var e,n,r;return l()(t,[{key:"init",value:function(){var t=this.configService.get(),e=t.canvas,n=t.engineOptions;this.initPromise=this.engine.init(j({canvas:e||A(),antialiasing:!1},n))}},{key:"setBundle",value:function(t){this.compiledBundle=JSON.parse(JSON.stringify(t))}},{key:"setDispatch",value:function(t){return this.compiledBundle.context&&(this.compiledBundle.context.dispatch=t),this}},{key:"setMaxIteration",value:function(t){return this.compiledBundle.context&&(this.compiledBundle.context.maxIteration=t),this}},{key:"setBinding",value:function(t,e){var n=this;if("string"==typeof t){var r=p()(e)||h()(e)||v()(e);if(this.compiledBundle&&this.compiledBundle.context){var i=this.compiledBundle.context.defines.find((function(e){return e.name===t}));if(i)return i.value=e,this;var o=this.compiledBundle.context.uniforms.find((function(e){return e.name===t}));o&&(r?(o.data=e,o.isReferer=!1,o.storageClass===M.Uniform?this.model&&this.model.updateUniform(t,e):this.model&&this.model.updateBuffer(t,e)):(o.isReferer=!0,o.data=e))}}else Object.keys(t).forEach((function(e){n.setBinding(e,t[e])}));return this}},{key:"execute",value:(r=i()(m.a.mark((function t(){var e,n,r=this,i=arguments;return m.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e=i.length>0&&void 0!==i[0]?i[0]:1,!this.dirty){t.next=6;break}return this.compiledBundle.context&&(e>1?this.compiledBundle.context.maxIteration=e:this.compiledBundle.context.maxIteration++),t.next=5,this.compile();case 5:this.dirty=!1;case 6:for(this.engine.beginFrame(),this.engine.clear({}),this.compiledBundle.context&&this.compiledBundle.context.uniforms.filter((function(t){return t.isReferer})).forEach((function(t){var e=t.data,n=t.name;r.model.confirmInput(e.model,n)})),n=0;n<e;n++)this.model.run();return this.engine.endFrame(),t.abrupt("return",this);case 12:case"end":return t.stop()}}),t,this)}))),function(){return r.apply(this,arguments)})},{key:"getOutput",value:(n=i()(m.a.mark((function t(){return m.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.model.readData());case 1:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"compile",value:(e=i()(m.a.mark((function t(){var e,n,r;return m.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.initPromise;case 2:return e=j({},this.compiledBundle.context),n=this.engine.supportWebGPU?this.engine.useWGSL?O.WGSL:O.GLSL450:O.GLSL100,r=this.compiledBundle.shaders[n],e.defines.filter((function(t){return t.runtime})).forEach((function(t){var e="".concat("__DefineValuePlaceholder__").concat(t.name);r=r.replace(e,"".concat(t.value))})),e.shader=r,e.uniforms.forEach((function(t){if(!t.data&&t.storageClass===M.StorageBuffer){var n=1;t.type===E.FloatArray?n=1:t.type===E.Vector4FloatArray&&(n=4),t.data=new Float32Array(e.output.length*n).fill(0)}})),this.compiledBundle.context=e,t.next=11,this.engine.createComputeModel(this.compiledBundle.context);case 11:this.model=t.sent;case 12:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})}]),t}(),V=n(118),H=n.n(V),q=function(){function t(e,n){u()(this,t),this.attribute=void 0,this.buffer=void 0;var r=n.buffer,i=n.offset,o=n.stride,a=n.normalized,s=n.size,c=n.divisor;this.buffer=r,this.attribute={buffer:r.get(),offset:i||0,stride:o||0,normalized:a||!1,divisor:c||0},s&&(this.attribute.size=s)}return l()(t,[{key:"get",value:function(){return this.attribute}},{key:"updateBuffer",value:function(t){this.buffer.subData(t)}},{key:"destroy",value:function(){this.buffer.destroy()}}]),t}(),Z=(I={},a()(I,w.POINTS,"points"),a()(I,w.LINES,"lines"),a()(I,w.LINE_LOOP,"line loop"),a()(I,w.LINE_STRIP,"line strip"),a()(I,w.TRIANGLES,"triangles"),a()(I,w.TRIANGLE_FAN,"triangle fan"),a()(I,w.TRIANGLE_STRIP,"triangle strip"),I),K=(T={},a()(T,w.STATIC_DRAW,"static"),a()(T,w.DYNAMIC_DRAW,"dynamic"),a()(T,w.STREAM_DRAW,"stream"),T),Q=(N={},a()(N,w.BYTE,"int8"),a()(N,w.UNSIGNED_INT,"int16"),a()(N,w.INT,"int32"),a()(N,w.UNSIGNED_BYTE,"uint8"),a()(N,w.UNSIGNED_SHORT,"uint16"),a()(N,w.UNSIGNED_INT,"uint32"),a()(N,w.FLOAT,"float"),N),$=(P={},a()(P,w.ALPHA,"alpha"),a()(P,w.LUMINANCE,"luminance"),a()(P,w.LUMINANCE_ALPHA,"luminance alpha"),a()(P,w.RGB,"rgb"),a()(P,w.RGBA,"rgba"),a()(P,w.RGBA4,"rgba4"),a()(P,w.RGB5_A1,"rgb5 a1"),a()(P,w.RGB565,"rgb565"),a()(P,w.DEPTH_COMPONENT,"depth"),a()(P,w.DEPTH_STENCIL,"depth stencil"),P),J=(D={},a()(D,w.DONT_CARE,"dont care"),a()(D,w.NICEST,"nice"),a()(D,w.FASTEST,"fast"),D),tt=(L={},a()(L,w.NEAREST,"nearest"),a()(L,w.LINEAR,"linear"),a()(L,w.LINEAR_MIPMAP_LINEAR,"mipmap"),a()(L,w.NEAREST_MIPMAP_LINEAR,"nearest mipmap linear"),a()(L,w.LINEAR_MIPMAP_NEAREST,"linear mipmap nearest"),a()(L,w.NEAREST_MIPMAP_NEAREST,"nearest mipmap nearest"),L),et=(R={},a()(R,w.REPEAT,"repeat"),a()(R,w.CLAMP_TO_EDGE,"clamp"),a()(R,w.MIRRORED_REPEAT,"mirror"),R),nt=(B={},a()(B,w.NONE,"none"),a()(B,w.BROWSER_DEFAULT_WEBGL,"browser"),B),rt=(F={},a()(F,w.NEVER,"never"),a()(F,w.ALWAYS,"always"),a()(F,w.LESS,"less"),a()(F,w.LEQUAL,"lequal"),a()(F,w.GREATER,"greater"),a()(F,w.GEQUAL,"gequal"),a()(F,w.EQUAL,"equal"),a()(F,w.NOTEQUAL,"notequal"),F),it=(z={},a()(z,w.FUNC_ADD,"add"),a()(z,w.MIN_EXT,"min"),a()(z,w.MAX_EXT,"max"),a()(z,w.FUNC_SUBTRACT,"subtract"),a()(z,w.FUNC_REVERSE_SUBTRACT,"reverse subtract"),z),ot=(G={},a()(G,w.ZERO,"zero"),a()(G,w.ONE,"one"),a()(G,w.SRC_COLOR,"src color"),a()(G,w.ONE_MINUS_SRC_COLOR,"one minus src color"),a()(G,w.SRC_ALPHA,"src alpha"),a()(G,w.ONE_MINUS_SRC_ALPHA,"one minus src alpha"),a()(G,w.DST_COLOR,"dst color"),a()(G,w.ONE_MINUS_DST_COLOR,"one minus dst color"),a()(G,w.DST_ALPHA,"dst alpha"),a()(G,w.ONE_MINUS_DST_ALPHA,"one minus dst alpha"),a()(G,w.CONSTANT_COLOR,"constant color"),a()(G,w.ONE_MINUS_CONSTANT_COLOR,"one minus constant color"),a()(G,w.CONSTANT_ALPHA,"constant alpha"),a()(G,w.ONE_MINUS_CONSTANT_ALPHA,"one minus constant alpha"),a()(G,w.SRC_ALPHA_SATURATE,"src alpha saturate"),G),at=(Y={},a()(Y,w.NEVER,"never"),a()(Y,w.ALWAYS,"always"),a()(Y,w.LESS,"less"),a()(Y,w.LEQUAL,"lequal"),a()(Y,w.GREATER,"greater"),a()(Y,w.GEQUAL,"gequal"),a()(Y,w.EQUAL,"equal"),a()(Y,w.NOTEQUAL,"notequal"),Y),st=(U={},a()(U,w.ZERO,"zero"),a()(U,w.KEEP,"keep"),a()(U,w.REPLACE,"replace"),a()(U,w.INVERT,"invert"),a()(U,w.INCR,"increment"),a()(U,w.DECR,"decrement"),a()(U,w.INCR_WRAP,"increment wrap"),a()(U,w.DECR_WRAP,"decrement wrap"),U),ut=(X={},a()(X,w.FRONT,"front"),a()(X,w.BACK,"back"),X),ct=function(){function t(e,n){u()(this,t),this.buffer=void 0;var r=n.data,i=n.usage,o=n.type;this.buffer=e.buffer({data:r,usage:K[i||w.STATIC_DRAW],type:Q[o||w.UNSIGNED_BYTE]})}return l()(t,[{key:"get",value:function(){return this.buffer}},{key:"destroy",value:function(){}},{key:"subData",value:function(t){var e=t.data,n=t.offset;this.buffer.subdata(e,n)}}]),t}(),lt=n(119),ft=n.n(lt);function ht(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function dt(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?ht(Object(n),!0).forEach((function(e){a()(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ht(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var pt=0,gt=function(){function t(e,n){var r=this;u()(this,t),this.reGl=e,this.context=n,this.entity=x(),this.texFBO=void 0,this.computeCommand=void 0,this.textureCache={},this.outputTextureName=void 0,this.swapOutputTextureName=void 0,this.compiledPingpong=void 0,this.dynamicPingpong=void 0;var i={};this.context.uniforms.forEach((function(t){var e=t.name,n=t.type,o=t.data,a=t.isReferer,s=t.storageClass;if(s===M.StorageBuffer){if(a)r.textureCache[e]={data:void 0},i["".concat(e,"Size")]=function(){return o.compiledBundle.context.output.textureSize};else{r.textureCache[e]=r.calcDataTexture(e,n,o);var u=r.textureCache[e],c=u.textureWidth,l=u.isOutput;i["".concat(e,"Size")]=[c,c],l&&(r.outputTextureName=e,r.context.needPingpong&&(r.outputTextureName="".concat(e,"Output"),r.textureCache[r.outputTextureName]=r.calcDataTexture(e,n,o)))}i[e]=function(){return r.textureCache[e].texture}}else if(s===M.Uniform){if(o&&(Array.isArray(o)||h()(o))&&o.length>16)throw new Error("invalid data type ".concat(n));i[e]=function(){return t.data}}}));var o=this.getOuputDataTexture(),a=o.textureWidth,s=o.texelCount;i.u_OutputTextureSize=[a,a],i.u_OutputTexelCount=s,this.context.output.textureSize=[a,a];var c={attributes:{a_Position:[[-1,1,0],[-1,-1,0],[1,1,0],[1,-1,0]],a_TexCoord:[[0,1],[0,0],[1,1],[1,0]]},frag:"#ifdef GL_FRAGMENT_PRECISION_HIGH\n precision highp float;\n#else\n precision mediump float;\n#endif\n".concat(this.context.shader),uniforms:i,vert:"attribute vec3 a_Position;\nattribute vec2 a_TexCoord;\n\nvarying vec2 v_TexCoord;\n\nvoid main() {\n gl_Position = vec4(a_Position, 1.0);\n v_TexCoord = a_TexCoord;\n}",primitive:"triangle strip",count:4};this.computeCommand=this.reGl(c)}var e;return l()(t,[{key:"run",value:function(){var t=this;this.context.maxIteration>1&&this.context.needPingpong&&(this.compiledPingpong=!0),(this.compiledPingpong||this.dynamicPingpong)&&this.swap(),this.texFBO=this.reGl.framebuffer({color:this.getOuputDataTexture().texture}),this.texFBO.use((function(){t.computeCommand()}))}},{key:"readData",value:(e=i()(m.a.mark((function t(){var e,n,r,i,o,a,s,u,c=this;return m.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this.reGl({framebuffer:this.texFBO})((function(){e=c.reGl.read()})),!e){t.next=6;break}if(n=this.getOuputDataTexture(),r=n.originalDataLength,i=n.elementsPerTexel,o=n.typedArrayConstructor,a=void 0===o?Float32Array:o,s=[],4!==i)for(u=0;u<e.length;u+=4)1===i?s.push(e[u]):2===i?s.push(e[u],e[u+1]):s.push(e[u],e[u+1],e[u+2]);else s=e;return t.abrupt("return",new a(s.slice(0,r)));case 6:return t.abrupt("return",new Float32Array);case 7:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"confirmInput",value:function(t,e){var n;this.entity===t.entity?(this.dynamicPingpong=!0,n=this):n=t,this.textureCache[e].id=n.getOuputDataTexture().id,this.textureCache[e].texture=n.getOuputDataTexture().texture}},{key:"updateUniform",value:function(){}},{key:"updateBuffer",value:function(t,e){var n=this.context.uniforms.find((function(e){return e.name===t}));if(n){var r=this.calcDataTexture(t,n.type,e),i=r.texture,o=r.data;this.textureCache[t].data=o,this.textureCache[t].texture=i}}},{key:"destroy",value:function(){}},{key:"swap",value:function(){if(this.swapOutputTextureName||this.createSwapOutputDataTexture(),this.compiledPingpong){var t=this.context.output.name;this.textureCache[t].id=this.getOuputDataTexture().id,this.textureCache[t].texture=this.getOuputDataTexture().texture}var e=this.outputTextureName;this.outputTextureName=this.swapOutputTextureName,this.swapOutputTextureName=e}},{key:"getOuputDataTexture",value:function(){return this.textureCache[this.outputTextureName]}},{key:"createSwapOutputDataTexture",value:function(){var t=this.cloneDataTexture(this.getOuputDataTexture());this.swapOutputTextureName="".concat(this.entity,"-swap"),this.textureCache[this.swapOutputTextureName]=t}},{key:"cloneDataTexture",value:function(t){var e=t.data,n=t.textureWidth;return dt(dt({},t),{},{id:pt++,texture:this.reGl.texture({width:n,height:n,data:e,type:"float"})})}},{key:"calcDataTexture",value:function(t,e,n){var r=1;e===E.Vector4FloatArray&&(r=4);for(var i=[],o=0;o<n.length;o+=r)1===r?i.push(n[o],0,0,0):2===r?i.push(n[o],n[o+1],0,0):3===r?i.push(n[o],n[o+1],n[o+2],0):4===r&&i.push(n[o],n[o+1],n[o+2],n[o+3]);var a=n.length,s=Math.ceil(a/r),u=Math.ceil(Math.sqrt(s)),c=u*u;s<c&&i.push.apply(i,ft()(new Array(4*(c-s)).fill(0)));var l=this.reGl.texture({width:u,height:u,data:i,type:"float"});return{id:pt++,data:i,originalDataLength:a,typedArrayConstructor:h()(n)?n.constructor:void 0,textureWidth:u,texture:l,texelCount:s,elementsPerTexel:r,isOutput:t===this.context.output.name}}}]),t}(),vt=function(){function t(e,n){u()(this,t),this.elements=void 0;var r=n.data,i=n.usage,o=n.type,a=n.count;this.elements=e.elements({data:r,usage:K[i||w.STATIC_DRAW],type:Q[o||w.UNSIGNED_BYTE],count:a})}return l()(t,[{key:"get",value:function(){return this.elements}},{key:"subData",value:function(t){var e=t.data;this.elements.subdata(e)}},{key:"destroy",value:function(){this.elements.destroy()}}]),t}(),yt=function(){function t(e,n){u()(this,t),this.framebuffer=void 0;var r=n.width,i=n.height,o=n.color,a=n.colors,s=(n.depth,n.stencil,{width:r,height:i});Array.isArray(a)&&(s.colors=a.map((function(t){return t.get()}))),o&&"boolean"!=typeof o&&(s.color=o.get()),this.framebuffer=e.framebuffer(s)}return l()(t,[{key:"get",value:function(){return this.framebuffer}},{key:"destroy",value:function(){this.framebuffer.destroy()}},{key:"resize",value:function(t){var e=t.width,n=t.height;this.framebuffer.resize(e,n)}}]),t}(),mt=n(42),bt=n.n(mt),xt=n(120),wt=n.n(xt);function _t(t){var e={};return Object.keys(t).forEach((function(n){!function t(e,n,r,i){if(null===n||"number"==typeof n||"boolean"==typeof n||Array.isArray(n)&&"number"==typeof n[0]||h()(n)||""===n||void 0!==n.resize)return void(r["".concat(i&&i+".").concat(e)]=n);wt()(n)&&Object.keys(n).forEach((function(o){t(o,n[o],r,"".concat(i&&i+".").concat(e))}));Array.isArray(n)&&n.forEach((function(n,o){Object.keys(n).forEach((function(a){t(a,n[a],r,"".concat(i&&i+".").concat(e,"[").concat(o,"]"))}))}))}(n,t[n],e,"")})),e}function Et(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function St(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?Et(Object(n),!0).forEach((function(e){a()(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Et(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var Mt=function(){function t(e,n){u()(this,t),this.reGl=void 0,this.drawCommand=void 0,this.uniforms={},this.reGl=e;var r=n.vs,i=n.fs,o=n.defines,a=n.attributes,s=n.uniforms,c=n.primitive,l=n.count,f=n.elements,h=n.depth,d=n.blend,p=n.stencil,g=n.cull,v=n.instances,y=n.scissor,m=n.viewport,b={};s&&(this.uniforms=_t(s),Object.keys(s).forEach((function(t){b[t]=e.prop(t)})));var x={};Object.keys(a).forEach((function(t){x[t]=a[t].get()}));var _=o&&this.generateDefines(o)||"",E={attributes:x,frag:"#ifdef GL_FRAGMENT_PRECISION_HIGH\n precision highp float;\n#else\n precision mediump float;\n#endif\n".concat(_,"\n").concat(i),uniforms:b,vert:"\n".concat(_,"\n").concat(r),primitive:Z[void 0===c?w.TRIANGLES:c]};v&&(E.instances=v),l&&(E.count=l),f&&(E.elements=f.get()),y&&(E.scissor=y),m&&(E.viewport=m),this.initDepthDrawParams({depth:h},E),this.initBlendDrawParams({blend:d},E),this.initStencilDrawParams({stencil:p},E),this.initCullDrawParams({cull:g},E),this.drawCommand=e(E)}return l()(t,[{key:"addUniforms",value:function(t){this.uniforms=St(St({},this.uniforms),_t(t))}},{key:"draw",value:function(t){var e=St(St({},this.uniforms),_t(t.uniforms||{})),n={};Object.keys(e).forEach((function(t){var r=bt()(e[t]);"boolean"===r||"number"===r||Array.isArray(e[t])||e[t].BYTES_PER_ELEMENT?n[t]=e[t]:"string"===r||(n[t]=e[t].get())})),this.drawCommand(n)}},{key:"destroy",value:function(){}},{key:"initDepthDrawParams",value:function(t,e){var n=t.depth;n&&(e.depth={enable:void 0===n.enable||!!n.enable,mask:void 0===n.mask||!!n.mask,func:rt[n.func||w.LESS],range:n.range||[0,1]})}},{key:"initBlendDrawParams",value:function(t,e){var n=t.blend;if(n){var r=n.enable,i=n.func,o=n.equation,a=n.color,s=void 0===a?[0,0,0,0]:a;e.blend={enable:!!r,func:{srcRGB:ot[i&&i.srcRGB||w.SRC_ALPHA],srcAlpha:ot[i&&i.srcAlpha||w.SRC_ALPHA],dstRGB:ot[i&&i.dstRGB||w.ONE_MINUS_SRC_ALPHA],dstAlpha:ot[i&&i.dstAlpha||w.ONE_MINUS_SRC_ALPHA]},equation:{rgb:it[o&&o.rgb||w.FUNC_ADD],alpha:it[o&&o.alpha||w.FUNC_ADD]},color:s}}}},{key:"initStencilDrawParams",value:function(t,e){var n=t.stencil;if(n){var r=n.enable,i=n.mask,o=void 0===i?-1:i,a=n.func,s=void 0===a?{cmp:w.ALWAYS,ref:0,mask:-1}:a,u=n.opFront,c=void 0===u?{fail:w.KEEP,zfail:w.KEEP,zpass:w.KEEP}:u,l=n.opBack,f=void 0===l?{fail:w.KEEP,zfail:w.KEEP,zpass:w.KEEP}:l;e.stencil={enable:!!r,mask:o,func:St(St({},s),{},{cmp:at[s.cmp]}),opFront:{fail:st[c.fail],zfail:st[c.zfail],zpass:st[c.zpass]},opBack:{fail:st[f.fail],zfail:st[f.zfail],zpass:st[f.zpass]}}}}},{key:"initCullDrawParams",value:function(t,e){var n=t.cull;if(n){var r=n.enable,i=n.face,o=void 0===i?w.BACK:i;e.cull={enable:!!r,face:ut[o]}}}},{key:"generateDefines",value:function(t){return Object.keys(t).map((function(e){return"#define ".concat(e," ").concat(Number(t[e]))})).join("\n")}}]),t}(),Ot=function(){function t(e,n){u()(this,t),this.texture=void 0,this.width=void 0,this.height=void 0;var r=n.data,i=n.type,o=void 0===i?w.UNSIGNED_BYTE:i,a=n.width,s=n.height,c=n.flipY,l=void 0!==c&&c,f=n.format,h=void 0===f?w.RGBA:f,d=n.mipmap,p=void 0!==d&&d,g=n.wrapS,v=void 0===g?w.CLAMP_TO_EDGE:g,y=n.wrapT,m=void 0===y?w.CLAMP_TO_EDGE:y,b=n.aniso,x=void 0===b?0:b,_=n.alignment,E=void 0===_?1:_,S=n.premultiplyAlpha,M=void 0!==S&&S,O=n.mag,k=void 0===O?w.NEAREST:O,A=n.min,C=void 0===A?w.NEAREST:A,j=n.colorSpace,I=void 0===j?w.BROWSER_DEFAULT_WEBGL:j;this.width=a,this.height=s;var T={width:a,height:s,type:Q[o],format:$[h],wrapS:et[v],wrapT:et[m],mag:tt[k],min:tt[C],alignment:E,flipY:l,colorSpace:nt[I],premultiplyAlpha:M,aniso:x};r&&(T.data=r),"number"==typeof p?T.mipmap=J[p]:"boolean"==typeof p&&(T.mipmap=p),this.texture=e.texture(T)}return l()(t,[{key:"get",value:function(){return this.texture}},{key:"update",value:function(){this.texture._texture.bind()}},{key:"resize",value:function(t){var e=t.width,n=t.height;this.texture.resize(e,n),this.width=e,this.height=n}},{key:"destroy",value:function(){this.texture.destroy()}}]),t}(),kt=function(){function t(){var e=this;u()(this,t),this.supportWebGPU=!1,this.useWGSL=!1,this.$canvas=void 0,this.gl=void 0,this.inited=void 0,this.createModel=function(){var t=i()(m.a.mark((function t(n){return m.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!n.uniforms){t.next=3;break}return t.next=3,Promise.all(Object.keys(n.uniforms).map(function(){var t=i()(m.a.mark((function t(e){var r;return m.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!n.uniforms[e]||void 0===n.uniforms[e].load){t.next=5;break}return t.next=3,n.uniforms[e].load();case 3:r=t.sent,n.uniforms[e]=r;case 5:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()));case 3:return t.abrupt("return",new Mt(e.gl,n));case 4:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),this.createAttribute=function(t){return new q(e.gl,t)},this.createBuffer=function(t){return new ct(e.gl,t)},this.createElements=function(t){return new vt(e.gl,t)},this.createTexture2D=function(t){return new Ot(e.gl,t)},this.createFramebuffer=function(t){return new yt(e.gl,t)},this.useFramebuffer=function(t,n){e.gl({framebuffer:t?t.get():null})(n)},this.createComputeModel=function(){var t=i()(m.a.mark((function t(n){return m.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",new gt(e.gl,n));case 1:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),this.clear=function(t){var n=t.color,r=t.depth,i=t.stencil,o=t.framebuffer,a=void 0===o?null:o,s={color:n,depth:r,stencil:i};s.framebuffer=null===a?a:a.get(),e.gl.clear(s)},this.setScissor=function(t){e.gl&&e.gl._gl&&(t.enable&&t.box?(e.gl._gl.enable(w.SCISSOR_TEST),e.gl._gl.scissor(t.box.x,t.box.y,t.box.width,t.box.height)):e.gl._gl.disable(w.SCISSOR_TEST),e.gl._refresh())},this.viewport=function(t){var n=t.x,r=t.y,i=t.width,o=t.height;e.gl&&e.gl._gl&&(e.gl._gl.viewport(n,r,i,o),e.gl._refresh())},this.readPixels=function(t){var n=t.framebuffer,r={x:t.x,y:t.y,width:t.width,height:t.height};return n&&(r.framebuffer=n.get()),e.gl.read(r)},this.getCanvas=function(){return e.$canvas},this.getGLContext=function(){return e.gl._gl},this.destroy=function(){e.gl&&(e.gl.destroy(),e.inited=!1)}}var e;return l()(t,[{key:"init",value:(e=i()(m.a.mark((function t(e){return m.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!this.inited){t.next=2;break}return t.abrupt("return");case 2:return this.$canvas=e.canvas,t.next=5,new Promise((function(t,n){H()({canvas:e.canvas,attributes:{alpha:!0,antialias:e.antialias,premultipliedAlpha:!0},pixelRatio:1,extensions:["OES_element_index_uint","OES_texture_float","OES_standard_derivatives","angle_instanced_arrays"],optionalExtensions:["EXT_texture_filter_anisotropic","EXT_blend_minmax","WEBGL_depth_texture"],profile:!0,onDone:function(e,r){!e&&r||n(e),t(r)}})}));case 5:this.gl=t.sent,this.inited=!0;case 7:case"end":return t.stop()}}),t,this)}))),function(t){return e.apply(this,arguments)})},{key:"isFloatSupported",value:function(){return this.gl.limits.readFloat}},{key:"beginFrame",value:function(){}},{key:"endFrame",value:function(){}}]),t}(),At=function(){function t(){u()(this,t),this.engine=void 0,this.configService=new k}return l()(t,[{key:"setConfig",value:function(t){this.configService.set(t)}},{key:"setEngine",value:function(t){this.engine=t}},{key:"createEntity",value:function(){return x()}},{key:"createKernel",value:function(t){var e=new W(this.engine,this.configService);return"string"==typeof t?e.setBundle(JSON.parse(t)):e.setBundle(t),e.init(),e}},{key:"destroy",value:function(){this.engine.destroy()}}],[{key:"create",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=new t;return n.setConfig(e),n.setEngine(new kt),n}}]),t}()},function(t,e,n){"use strict";var r=n(1),i=n(55),o=n(53),a=n(9),s=n(0);function u(t){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var c,l,f=0,h=0,d=0,p=0,g=0,v=0,y="object"===("undefined"==typeof performance?"undefined":u(performance))&&performance.now?performance:Date,m="object"===("undefined"==typeof window?"undefined":u(window))&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function b(){return g||(m(x),g=y.now()+v)}function x(){g=0}function w(){this._call=this._time=this._next=null}function _(t,e,n){var r=new w;return r.restart(t,e,n),r}function E(){g=(p=y.now())+v,f=h=0;try{!function(){b(),++f;for(var t,e=c;e;)(t=g-e._time)>=0&&e._call.call(null,t),e=e._next;--f}()}finally{f=0,function(){var t,e,n=c,r=1/0;for(;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:c=e);l=t,M(r)}(),g=0}}function S(){var t=y.now(),e=t-p;e>1e3&&(v-=e,p=t)}function M(t){f||(h&&(h=clearTimeout(h)),t-g>24?(t<1/0&&(h=setTimeout(E,t-y.now()-v)),d&&(d=clearInterval(d))):(d||(p=y.now(),d=setInterval(S,1e3)),f=1,m(E)))}w.prototype=_.prototype={constructor:w,restart:function(t,e,n){if("function"!=typeof t)throw new TypeError("callback is not a function");n=(null==n?b():+n)+(null==e?0:+e),this._next||l===this||(l?l._next=this:c=this,l=this),this._call=t,this._time=n,M()},stop:function(){this._call&&(this._call=null,this._time=1/0,M())}};var O=function(t,e,n){t.prototype=e.prototype=n,n.constructor=t};function k(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function A(){}var C="\\s*([+-]?\\d+)\\s*",j="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",I="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",T=/^#([0-9a-f]{3,8})$/,N=new RegExp("^rgb\\(".concat(C,",").concat(C,",").concat(C,"\\)$")),P=new RegExp("^rgb\\(".concat(I,",").concat(I,",").concat(I,"\\)$")),D=new RegExp("^rgba\\(".concat(C,",").concat(C,",").concat(C,",").concat(j,"\\)$")),L=new RegExp("^rgba\\(".concat(I,",").concat(I,",").concat(I,",").concat(j,"\\)$")),R=new RegExp("^hsl\\(".concat(j,",").concat(I,",").concat(I,"\\)$")),B=new RegExp("^hsla\\(".concat(j,",").concat(I,",").concat(I,",").concat(j,"\\)$")),F={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function z(){return this.rgb().formatHex()}function G(){return this.rgb().formatRgb()}function Y(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=T.exec(t))?(n=e[1].length,e=parseInt(e[1],16),6===n?U(e):3===n?new H(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?X(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?X(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=N.exec(t))?new H(e[1],e[2],e[3],1):(e=P.exec(t))?new H(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=D.exec(t))?X(e[1],e[2],e[3],e[4]):(e=L.exec(t))?X(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=R.exec(t))?J(e[1],e[2]/100,e[3]/100,1):(e=B.exec(t))?J(e[1],e[2]/100,e[3]/100,e[4]):F.hasOwnProperty(t)?U(F[t]):"transparent"===t?new H(NaN,NaN,NaN,0):null}function U(t){return new H(t>>16&255,t>>8&255,255&t,1)}function X(t,e,n,r){return r<=0&&(t=e=n=NaN),new H(t,e,n,r)}function W(t){return t instanceof A||(t=Y(t)),t?new H((t=t.rgb()).r,t.g,t.b,t.opacity):new H}function V(t,e,n,r){return 1===arguments.length?W(t):new H(t,e,n,null==r?1:r)}function H(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function q(){return"#".concat($(this.r)).concat($(this.g)).concat($(this.b))}function Z(){var t=K(this.opacity);return"".concat(1===t?"rgb(":"rgba(").concat(Q(this.r),", ").concat(Q(this.g),", ").concat(Q(this.b)).concat(1===t?")":", ".concat(t,")"))}function K(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Q(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function $(t){return((t=Q(t))<16?"0":"")+t.toString(16)}function J(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new et(t,e,n,r)}function tt(t){if(t instanceof et)return new et(t.h,t.s,t.l,t.opacity);if(t instanceof A||(t=Y(t)),!t)return new et;if(t instanceof et)return t;var e=(t=t.rgb()).r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),o=Math.max(e,n,r),a=NaN,s=o-i,u=(o+i)/2;return s?(a=e===o?(n-r)/s+6*(n<r):n===o?(r-e)/s+2:(e-n)/s+4,s/=u<.5?o+i:2-o-i,a*=60):s=u>0&&u<1?0:a,new et(a,s,u,t.opacity)}function et(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function nt(t){return(t=(t||0)%360)<0?t+360:t}function rt(t){return Math.max(0,Math.min(1,t||0))}function it(t,e,n){return 255*(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)}function ot(t,e,n,r,i){var o=t*t,a=o*t;return((1-3*t+3*o-a)*e+(4-6*o+3*a)*n+(1+3*t+3*o-3*a)*r+a*i)/6}O(A,Y,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:z,formatHex:z,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return tt(this).formatHsl()},formatRgb:G,toString:G}),O(H,V,k(A,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new H(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new H(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},clamp:function(){return new H(Q(this.r),Q(this.g),Q(this.b),K(this.opacity))},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:q,formatHex:q,formatHex8:function(){return"#".concat($(this.r)).concat($(this.g)).concat($(this.b)).concat($(255*(isNaN(this.opacity)?1:this.opacity)))},formatRgb:Z,toString:Z})),O(et,(function(t,e,n,r){return 1===arguments.length?tt(t):new et(t,e,n,null==r?1:r)}),k(A,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new et(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new et(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new H(it(t>=240?t-240:t+120,i,r),it(t,i,r),it(t<120?t+240:t-120,i,r),this.opacity)},clamp:function(){return new et(nt(this.h),rt(this.s),rt(this.l),K(this.opacity))},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=K(this.opacity);return"".concat(1===t?"hsl(":"hsla(").concat(nt(this.h),", ").concat(100*rt(this.s),"%, ").concat(100*rt(this.l),"%").concat(1===t?")":", ".concat(t,")"))}}));var at=function(t){return function(){return t}};function st(t,e){return function(n){return t+n*e}}function ut(t){return 1==(t=+t)?ct:function(e,n){return n-e?function(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}(e,n,t):at(isNaN(e)?n:e)}}function ct(t,e){var n=e-t;return n?st(t,n):at(isNaN(t)?e:t)}var lt=function t(e){var n=ut(e);function r(t,e){var r=n((t=V(t)).r,(e=V(e)).r),i=n(t.g,e.g),o=n(t.b,e.b),a=ct(t.opacity,e.opacity);return function(e){return t.r=r(e),t.g=i(e),t.b=o(e),t.opacity=a(e),t+""}}return r.gamma=t,r}(1);function ft(t){return function(e){var n,r,i=e.length,o=new Array(i),a=new Array(i),s=new Array(i);for(n=0;n<i;++n)r=V(e[n]),o[n]=r.r||0,a[n]=r.g||0,s[n]=r.b||0;return o=t(o),a=t(a),s=t(s),r.opacity=1,function(t){return r.r=o(t),r.g=a(t),r.b=s(t),r+""}}}ft((function(t){var e=t.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[r],o=t[r+1],a=r>0?t[r-1]:2*i-o,s=r<e-1?t[r+2]:2*o-i;return ot((n-r/e)*e,a,i,o,s)}})),ft((function(t){var e=t.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*e),i=t[(r+e-1)%e],o=t[r%e],a=t[(r+1)%e],s=t[(r+2)%e];return ot((n-r/e)*e,i,o,a,s)}}));var ht=function(t,e){e||(e=[]);var n,r=t?Math.min(e.length,t.length):0,i=e.slice();return function(o){for(n=0;n<r;++n)i[n]=t[n]*(1-o)+e[n]*o;return i}};function dt(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function pt(t,e){var n,r=e?e.length:0,i=t?Math.min(r,t.length):0,o=new Array(i),a=new Array(r);for(n=0;n<i;++n)o[n]=Et(t[n],e[n]);for(;n<r;++n)a[n]=e[n];return function(t){for(n=0;n<i;++n)a[n]=o[n](t);return a}}var gt=function(t,e){var n=new Date;return t=+t,e=+e,function(r){return n.setTime(t*(1-r)+e*r),n}},vt=function(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}};function yt(t){return(yt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var mt=function(t,e){var n,r={},i={};for(n in null!==t&&"object"===yt(t)||(t={}),null!==e&&"object"===yt(e)||(e={}),e)n in t?r[n]=Et(t[n],e[n]):i[n]=e[n];return function(t){for(n in r)i[n]=r[n](t);return i}},bt=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,xt=new RegExp(bt.source,"g");var wt=function(t,e){var n,r,i,o=bt.lastIndex=xt.lastIndex=0,a=-1,s=[],u=[];for(t+="",e+="";(n=bt.exec(t))&&(r=xt.exec(e));)(i=r.index)>o&&(i=e.slice(o,i),s[a]?s[a]+=i:s[++a]=i),(n=n[0])===(r=r[0])?s[a]?s[a]+=r:s[++a]=r:(s[++a]=null,u.push({i:a,x:vt(n,r)})),o=xt.lastIndex;return o<e.length&&(i=e.slice(o),s[a]?s[a]+=i:s[++a]=i),s.length<2?u[0]?function(t){return function(e){return t(e)+""}}(u[0].x):function(t){return function(){return t}}(e):(e=u.length,function(t){for(var n,r=0;r<e;++r)s[(n=u[r]).i]=n.x(t);return s.join("")})};function _t(t){return(_t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var Et=function(t,e){var n,r=_t(e);return null==e||"boolean"===r?at(e):("number"===r?vt:"string"===r?(n=Y(e))?(e=n,lt):wt:e instanceof Y?lt:e instanceof Date?gt:dt(e)?ht:Array.isArray(e)?pt:"function"!=typeof e.valueOf&&"function"!=typeof e.toString||isNaN(e)?mt:vt)(t,e)},St=n(51),Mt=n(28),Ot=[1,0,0,0,1,0,0,0,1];function kt(t,e,n){var r,i=e.startTime;if(n<i+e.delay||e._paused)return!1;var o=e.duration,a=e.easing,u=Object(St.a)(a);if(n=n-i-e.delay,e.repeat)r=u(r=n%o/o);else{if(!((r=n/o)<1))return e.onFrame?t.attr(e.onFrame(1)):t.attr(e.toAttrs),!0;r=u(r)}if(e.onFrame){var c=e.onFrame(r);t.attr(c)}else!function(t,e,n){var r={},i=e.fromAttrs,o=e.toAttrs;if(!t.destroyed){var a,u,c,l;for(var f in o)if(!Object(s.isEqual)(i[f],o[f]))if("path"===f){var h=o[f],d=i[f];h.length>d.length?(h=Mt.parsePathString(o[f]),d=Mt.parsePathString(i[f]),d=Mt.fillPathByDiff(d,h),d=Mt.formatPath(d,h),e.fromAttrs.path=d,e.toAttrs.path=h):e.pathFormatted||(h=Mt.parsePathString(o[f]),d=Mt.parsePathString(i[f]),d=Mt.formatPath(d,h),e.fromAttrs.path=d,e.toAttrs.path=h,e.pathFormatted=!0),r[f]=[];for(var p=0;p<h.length;p++){for(var g=h[p],v=d[p],y=[],m=0;m<g.length;m++)Object(s.isNumber)(g[m])&&v&&Object(s.isNumber)(v[m])?(a=Et(v[m],g[m]),y.push(a(n))):y.push(g[m]);r[f].push(y)}}else if("matrix"===f){var b=(c=i[f]||Ot,(dt(l=o[f]||Ot)?ht:pt)(c,l))(n);r[f]=b}else["fill","stroke","fillStyle","strokeStyle"].includes(f)&&(u=o[f],/^[r,R,L,l]{1}[\s]*\(/.test(u))?r[f]=o[f]:Object(s.isFunction)(o[f])||(a=Et(i[f],o[f]),r[f]=a(n));t.attr(r)}}(t,e,r);return!1}var At=function(){function t(t){this.animators=[],this.current=0,this.timer=null,this.canvas=t}return t.prototype.initTimer=function(){var t,e,n,r=this;this.timer=_((function(i){if(r.current=i,r.animators.length>0){for(var o=r.animators.length-1;o>=0;o--)if((t=r.animators[o]).destroyed)r.removeAnimator(o);else{if(!t.isAnimatePaused())for(var a=(e=t.get("animations")).length-1;a>=0;a--)n=e[a],kt(t,n,i)&&(e.splice(a,1),!1,n.callback&&n.callback());0===e.length&&r.removeAnimator(o)}r.canvas.get("autoDraw")||r.canvas.draw()}}))},t.prototype.addAnimator=function(t){this.animators.push(t)},t.prototype.removeAnimator=function(t){this.animators.splice(t,1)},t.prototype.isAnimating=function(){return!!this.animators.length},t.prototype.stop=function(){this.timer&&this.timer.stop()},t.prototype.stopAllAnimations=function(t){void 0===t&&(t=!0),this.animators.forEach((function(e){e.stopAnimate(t)})),this.animators=[],this.canvas.draw()},t.prototype.getTime=function(){return this.current},t}(),Ct=n(48),jt=["mousedown","mouseup","dblclick","mouseout","mouseover","mousemove","mouseleave","mouseenter","touchstart","touchmove","touchend","dragenter","dragover","dragleave","drop","contextmenu","mousewheel"];function It(t,e,n){n.name=e,n.target=t,n.currentTarget=t,n.delegateTarget=t,t.emit(e,n)}function Tt(t,e,n){if(n.bubbles){var r=void 0,i=!1;if("mouseenter"===e?(r=n.fromShape,i=!0):"mouseleave"===e&&(i=!0,r=n.toShape),t.isCanvas()&&i)return;if(r&&Object(a.g)(t,r))return void(n.bubbles=!1);n.name=e,n.currentTarget=t,n.delegateTarget=t,t.emit(e,n)}}var Nt=function(){function t(t){var e=this;this.draggingShape=null,this.dragging=!1,this.currentShape=null,this.mousedownShape=null,this.mousedownPoint=null,this._eventCallback=function(t){var n=t.type;e._triggerEvent(n,t)},this._onDocumentMove=function(t){if(e.canvas.get("el")!==t.target&&(e.dragging||e.currentShape)){var n=e._getPointInfo(t);e.dragging&&e._emitEvent("drag",t,n,e.draggingShape)}},this._onDocumentMouseUp=function(t){if(e.canvas.get("el")!==t.target&&e.dragging){var n=e._getPointInfo(t);e.draggingShape&&e._emitEvent("drop",t,n,null),e._emitEvent("dragend",t,n,e.draggingShape),e._afterDrag(e.draggingShape,n,t)}},this.canvas=t.canvas}return t.prototype.init=function(){this._bindEvents()},t.prototype._bindEvents=function(){var t=this,e=this.canvas.get("el");Object(a.a)(jt,(function(n){e.addEventListener(n,t._eventCallback)})),document&&(document.addEventListener("mousemove",this._onDocumentMove),document.addEventListener("mouseup",this._onDocumentMouseUp))},t.prototype._clearEvents=function(){var t=this,e=this.canvas.get("el");Object(a.a)(jt,(function(n){e.removeEventListener(n,t._eventCallback)})),document&&(document.removeEventListener("mousemove",this._onDocumentMove),document.removeEventListener("mouseup",this._onDocumentMouseUp))},t.prototype._getEventObj=function(t,e,n,r,i,o){var a=new Ct.a(t,e);return a.fromShape=i,a.toShape=o,a.x=n.x,a.y=n.y,a.clientX=n.clientX,a.clientY=n.clientY,a.propagationPath.push(r),a},t.prototype._getShape=function(t,e){return this.canvas.getShape(t.x,t.y,e)},t.prototype._getPointInfo=function(t){var e=this.canvas,n=e.getClientByEvent(t),r=e.getPointByEvent(t);return{x:r.x,y:r.y,clientX:n.x,clientY:n.y}},t.prototype._triggerEvent=function(t,e){var n=this._getPointInfo(e),r=this._getShape(n,e),i=this["_on"+t],o=!1;if(i)i.call(this,n,r,e);else{var a=this.currentShape;"mouseenter"===t||"dragenter"===t||"mouseover"===t?(this._emitEvent(t,e,n,null,null,r),r&&this._emitEvent(t,e,n,r,null,r),"mouseenter"===t&&this.draggingShape&&this._emitEvent("dragenter",e,n,null)):"mouseleave"===t||"dragleave"===t||"mouseout"===t?(o=!0,a&&this._emitEvent(t,e,n,a,a,null),this._emitEvent(t,e,n,null,a,null),"mouseleave"===t&&this.draggingShape&&this._emitEvent("dragleave",e,n,null)):this._emitEvent(t,e,n,r,null,null)}if(o||(this.currentShape=r),r&&!r.get("destroyed")){var s=this.canvas;s.get("el").style.cursor=r.attr("cursor")||s.get("cursor")}},t.prototype._onmousedown=function(t,e,n){0===n.button&&(this.mousedownShape=e,this.mousedownPoint=t,this.mousedownTimeStamp=n.timeStamp),this._emitEvent("mousedown",n,t,e,null,null)},t.prototype._emitMouseoverEvents=function(t,e,n,r){var i=this.canvas.get("el");n!==r&&(n&&(this._emitEvent("mouseout",t,e,n,n,r),this._emitEvent("mouseleave",t,e,n,n,r),r&&!r.get("destroyed")||(i.style.cursor=this.canvas.get("cursor"))),r&&(this._emitEvent("mouseover",t,e,r,n,r),this._emitEvent("mouseenter",t,e,r,n,r)))},t.prototype._emitDragoverEvents=function(t,e,n,r,i){r?(r!==n&&(n&&this._emitEvent("dragleave",t,e,n,n,r),this._emitEvent("dragenter",t,e,r,n,r)),i||this._emitEvent("dragover",t,e,r)):n&&this._emitEvent("dragleave",t,e,n,n,r),i&&this._emitEvent("dragover",t,e,r)},t.prototype._afterDrag=function(t,e,n){t&&(t.set("capture",!0),this.draggingShape=null),this.dragging=!1;var r=this._getShape(e,n);r!==t&&this._emitMouseoverEvents(n,e,t,r),this.currentShape=r},t.prototype._onmouseup=function(t,e,n){if(0===n.button){var r=this.draggingShape;this.dragging?(r&&this._emitEvent("drop",n,t,e),this._emitEvent("dragend",n,t,r),this._afterDrag(r,t,n)):(this._emitEvent("mouseup",n,t,e),e===this.mousedownShape&&this._emitEvent("click",n,t,e),this.mousedownShape=null,this.mousedownPoint=null)}},t.prototype._ondragover=function(t,e,n){n.preventDefault();var r=this.currentShape;this._emitDragoverEvents(n,t,r,e,!0)},t.prototype._onmousemove=function(t,e,n){var r=this.canvas,i=this.currentShape,o=this.draggingShape;if(this.dragging)o&&this._emitDragoverEvents(n,t,i,e,!1),this._emitEvent("drag",n,t,o);else{var a=this.mousedownPoint;if(a){var s=this.mousedownShape,u=n.timeStamp-this.mousedownTimeStamp,c=a.clientX-t.clientX,l=a.clientY-t.clientY;u>120||c*c+l*l>40?s&&s.get("draggable")?((o=this.mousedownShape).set("capture",!1),this.draggingShape=o,this.dragging=!0,this._emitEvent("dragstart",n,t,o),this.mousedownShape=null,this.mousedownPoint=null):!s&&r.get("draggable")?(this.dragging=!0,this._emitEvent("dragstart",n,t,null),this.mousedownShape=null,this.mousedownPoint=null):(this._emitMouseoverEvents(n,t,i,e),this._emitEvent("mousemove",n,t,e)):(this._emitMouseoverEvents(n,t,i,e),this._emitEvent("mousemove",n,t,e))}else this._emitMouseoverEvents(n,t,i,e),this._emitEvent("mousemove",n,t,e)}},t.prototype._emitEvent=function(t,e,n,r,i,o){var a=this._getEventObj(t,e,n,r,i,o);if(r){a.shape=r,It(r,t,a);for(var s=r.getParent();s;)s.emitDelegation(t,a),a.propagationStopped||Tt(s,t,a),a.propagationPath.push(s),s=s.getParent()}else{It(this.canvas,t,a)}},t.prototype.destroy=function(){this._clearEvents(),this.canvas=null,this.currentShape=null,this.draggingShape=null,this.mousedownPoint=null,this.mousedownShape=null,this.mousedownTimeStamp=null},t}(),Pt=Object(i.a)(),Dt=Pt&&"firefox"===Pt.name,Lt=function(t){function e(e){var n=t.call(this,e)||this;return n.initContainer(),n.initDom(),n.initEvents(),n.initTimeline(),n}return Object(r.__extends)(e,t),e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return e.cursor="default",e.supportCSSTransform=!1,e},e.prototype.initContainer=function(){var t=this.get("container");Object(a.h)(t)&&(t=document.getElementById(t),this.set("container",t))},e.prototype.initDom=function(){var t=this.createDom();this.set("el",t),this.get("container").appendChild(t),this.setDOMSize(this.get("width"),this.get("height"))},e.prototype.initEvents=function(){var t=new Nt({canvas:this});t.init(),this.set("eventController",t)},e.prototype.initTimeline=function(){var t=new At(this);this.set("timeline",t)},e.prototype.setDOMSize=function(t,e){var n=this.get("el");a.c&&(n.style.width=t+"px",n.style.height=e+"px")},e.prototype.changeSize=function(t,e){this.setDOMSize(t,e),this.set("width",t),this.set("height",e),this.onCanvasChange("changeSize")},e.prototype.getRenderer=function(){return this.get("renderer")},e.prototype.getCursor=function(){return this.get("cursor")},e.prototype.setCursor=function(t){this.set("cursor",t);var e=this.get("el");a.c&&e&&(e.style.cursor=t)},e.prototype.getPointByEvent=function(t){if(this.get("supportCSSTransform")){if(Dt&&!Object(a.e)(t.layerX)&&t.layerX!==t.offsetX)return{x:t.layerX,y:t.layerY};if(!Object(a.e)(t.offsetX))return{x:t.offsetX,y:t.offsetY}}var e=this.getClientByEvent(t),n=e.x,r=e.y;return this.getPointByClient(n,r)},e.prototype.getClientByEvent=function(t){var e=t;return t.touches&&(e="touchend"===t.type?t.changedTouches[0]:t.touches[0]),{x:e.clientX,y:e.clientY}},e.prototype.getPointByClient=function(t,e){var n=this.get("el").getBoundingClientRect();return{x:t-n.left,y:e-n.top}},e.prototype.getClientByPoint=function(t,e){var n=this.get("el").getBoundingClientRect();return{x:t+n.left,y:e+n.top}},e.prototype.draw=function(){},e.prototype.removeDom=function(){var t=this.get("el");t.parentNode.removeChild(t)},e.prototype.clearEvents=function(){this.get("eventController").destroy()},e.prototype.isCanvas=function(){return!0},e.prototype.getParent=function(){return null},e.prototype.destroy=function(){var e=this.get("timeline");this.get("destroyed")||(this.clear(),e&&e.stop(),this.clearEvents(),this.removeDom(),t.prototype.destroy.call(this))},e}(o.a);e.a=Lt},function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));function r(t,e,n,r){if(isNaN(e)||isNaN(n))return t;var i,o,a,s,u,c,l,f,h,d=t._root,p={data:r},g=t._x0,v=t._y0,y=t._x1,m=t._y1;if(!d)return t._root=p,t;for(;d.length;)if((c=e>=(o=(g+y)/2))?g=o:y=o,(l=n>=(a=(v+m)/2))?v=a:m=a,i=d,!(d=d[f=l<<1|c]))return i[f]=p,t;if(s=+t._x.call(null,d.data),u=+t._y.call(null,d.data),e===s&&n===u)return p.next=d,i?i[f]=p:t._root=p,t;do{i=i?i[f]=new Array(4):t._root=new Array(4),(c=e>=(o=(g+y)/2))?g=o:y=o,(l=n>=(a=(v+m)/2))?v=a:m=a}while((f=l<<1|c)==(h=(u>=a)<<1|s>=o));return i[h]=d,i[f]=p,t}var i=function(t,e,n,r,i){this.node=t,this.x0=e,this.y0=n,this.x1=r,this.y1=i};function o(t){return t[0]}function a(t){return t[1]}function s(t,e,n){var r=new u(null==e?o:e,null==n?a:n,NaN,NaN,NaN,NaN);return null==t?r:r.addAll(t)}function u(t,e,n,r,i,o){this._x=t,this._y=e,this._x0=n,this._y0=r,this._x1=i,this._y1=o,this._root=void 0}function c(t){for(var e={data:t.data},n=e;t=t.next;)n=n.next={data:t.data};return e}var l=s.prototype=u.prototype;l.copy=function(){var t,e,n=new u(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return n;if(!r.length)return n._root=c(r),n;for(t=[{source:r,target:n._root=new Array(4)}];r=t.pop();)for(var i=0;i<4;++i)(e=r.source[i])&&(e.length?t.push({source:e,target:r.target[i]=new Array(4)}):r.target[i]=c(e));return n},l.add=function(t){var e=+this._x.call(null,t),n=+this._y.call(null,t);return r(this.cover(e,n),e,n,t)},l.addAll=function(t){var e,n,i,o,a=t.length,s=new Array(a),u=new Array(a),c=1/0,l=1/0,f=-1/0,h=-1/0;for(n=0;n<a;++n)isNaN(i=+this._x.call(null,e=t[n]))||isNaN(o=+this._y.call(null,e))||(s[n]=i,u[n]=o,i<c&&(c=i),i>f&&(f=i),o<l&&(l=o),o>h&&(h=o));if(c>f||l>h)return this;for(this.cover(c,l).cover(f,h),n=0;n<a;++n)r(this,s[n],u[n],t[n]);return this},l.cover=function(t,e){if(isNaN(t=+t)||isNaN(e=+e))return this;var n=this._x0,r=this._y0,i=this._x1,o=this._y1;if(isNaN(n))i=(n=Math.floor(t))+1,o=(r=Math.floor(e))+1;else{for(var a,s,u=i-n||1,c=this._root;n>t||t>=i||r>e||e>=o;)switch(s=(e<r)<<1|t<n,(a=new Array(4))[s]=c,c=a,u*=2,s){case 0:i=n+u,o=r+u;break;case 1:n=i-u,o=r+u;break;case 2:i=n+u,r=o-u;break;case 3:n=i-u,r=o-u}this._root&&this._root.length&&(this._root=c)}return this._x0=n,this._y0=r,this._x1=i,this._y1=o,this},l.data=function(){var t=[];return this.visit((function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)})),t},l.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},l.find=function(t,e,n){var r,o,a,s,u,c,l,f=this._x0,h=this._y0,d=this._x1,p=this._y1,g=[],v=this._root;for(v&&g.push(new i(v,f,h,d,p)),null==n?n=1/0:(f=t-n,h=e-n,d=t+n,p=e+n,n*=n);c=g.pop();)if(!(!(v=c.node)||(o=c.x0)>d||(a=c.y0)>p||(s=c.x1)<f||(u=c.y1)<h))if(v.length){var y=(o+s)/2,m=(a+u)/2;g.push(new i(v[3],y,m,s,u),new i(v[2],o,m,y,u),new i(v[1],y,a,s,m),new i(v[0],o,a,y,m)),(l=(e>=m)<<1|t>=y)&&(c=g[g.length-1],g[g.length-1]=g[g.length-1-l],g[g.length-1-l]=c)}else{var b=t-+this._x.call(null,v.data),x=e-+this._y.call(null,v.data),w=b*b+x*x;if(w<n){var _=Math.sqrt(n=w);f=t-_,h=e-_,d=t+_,p=e+_,r=v.data}}return r},l.remove=function(t){if(isNaN(o=+this._x.call(null,t))||isNaN(a=+this._y.call(null,t)))return this;var e,n,r,i,o,a,s,u,c,l,f,h,d=this._root,p=this._x0,g=this._y0,v=this._x1,y=this._y1;if(!d)return this;if(d.length)for(;;){if((c=o>=(s=(p+v)/2))?p=s:v=s,(l=a>=(u=(g+y)/2))?g=u:y=u,e=d,!(d=d[f=l<<1|c]))return this;if(!d.length)break;(e[f+1&3]||e[f+2&3]||e[f+3&3])&&(n=e,h=f)}for(;d.data!==t;)if(r=d,!(d=d.next))return this;return(i=d.next)&&delete d.next,r?(i?r.next=i:delete r.next,this):e?(i?e[f]=i:delete e[f],(d=e[0]||e[1]||e[2]||e[3])&&d===(e[3]||e[2]||e[1]||e[0])&&!d.length&&(n?n[h]=d:this._root=d),this):(this._root=i,this)},l.removeAll=function(t){for(var e=0,n=t.length;e<n;++e)this.remove(t[e]);return this},l.root=function(){return this._root},l.size=function(){var t=0;return this.visit((function(e){if(!e.length)do{++t}while(e=e.next)})),t},l.visit=function(t){var e,n,r,o,a,s,u=[],c=this._root;for(c&&u.push(new i(c,this._x0,this._y0,this._x1,this._y1));e=u.pop();)if(!t(c=e.node,r=e.x0,o=e.y0,a=e.x1,s=e.y1)&&c.length){var l=(r+a)/2,f=(o+s)/2;(n=c[3])&&u.push(new i(n,l,f,a,s)),(n=c[2])&&u.push(new i(n,r,f,l,s)),(n=c[1])&&u.push(new i(n,l,o,a,f)),(n=c[0])&&u.push(new i(n,r,o,l,f))}return this},l.visitAfter=function(t){var e,n=[],r=[];for(this._root&&n.push(new i(this._root,this._x0,this._y0,this._x1,this._y1));e=n.pop();){var o=e.node;if(o.length){var a,s=e.x0,u=e.y0,c=e.x1,l=e.y1,f=(s+c)/2,h=(u+l)/2;(a=o[0])&&n.push(new i(a,s,u,f,h)),(a=o[1])&&n.push(new i(a,f,u,c,h)),(a=o[2])&&n.push(new i(a,s,h,f,l)),(a=o[3])&&n.push(new i(a,f,h,c,l))}r.push(e)}for(;e=r.pop();)t(e.node,e.x0,e.y0,e.x1,e.y1);return this},l.x=function(t){return arguments.length?(this._x=t,this):this._x},l.y=function(t){return arguments.length?(this._y=t,this):this._y}},function(t,e,n){"use strict";var r=n(1),i=n(11),o=n(6),a=n(33),s=n(20),u=n(12),c=n(38),l=n(37),f=n(0),h=/^l\s*\(\s*([\d.]+)\s*\)\s*(.*)/i,d=/^r\s*\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*\)\s*(.*)/i,p=/[\d.]+:(#[^\s]+|[^)]+\))/gi;function g(t){var e=t.match(p);if(!e)return"";var n="";return e.sort((function(t,e){return t=t.split(":"),e=e.split(":"),Number(t[0])-Number(e[0])})),Object(f.each)(e,(function(t){t=t.split(":"),n+='<stop offset="'+t[0]+'" stop-color="'+t[1]+'"></stop>'})),n}var v=function(){function t(t){this.cfg={};var e=null,n=Object(f.uniqueId)("gradient_");return"l"===t.toLowerCase()[0]?function(t,e){var n,r,i=h.exec(t),o=Object(f.mod)(Object(f.toRadian)(parseFloat(i[1])),2*Math.PI),a=i[2];o>=0&&o<.5*Math.PI?(n={x:0,y:0},r={x:1,y:1}):.5*Math.PI<=o&&o<Math.PI?(n={x:1,y:0},r={x:0,y:1}):Math.PI<=o&&o<1.5*Math.PI?(n={x:1,y:1},r={x:0,y:0}):(n={x:0,y:1},r={x:1,y:0});var s=Math.tan(o),u=s*s,c=(r.x-n.x+s*(r.y-n.y))/(u+1)+n.x,l=s*(r.x-n.x+s*(r.y-n.y))/(u+1)+n.y;e.setAttribute("x1",n.x),e.setAttribute("y1",n.y),e.setAttribute("x2",c),e.setAttribute("y2",l),e.innerHTML=g(a)}(t,e=Object(u.b)("linearGradient")):function(t,e){var n=d.exec(t),r=parseFloat(n[1]),i=parseFloat(n[2]),o=parseFloat(n[3]),a=n[4];e.setAttribute("cx",r),e.setAttribute("cy",i),e.setAttribute("r",o),e.innerHTML=g(a)}(t,e=Object(u.b)("radialGradient")),e.setAttribute("id",n),this.el=e,this.id=n,this.cfg=t,this}return t.prototype.match=function(t,e){return this.cfg===e},t}(),y={shadowColor:"color",shadowOpacity:"opacity",shadowBlur:"blur",shadowOffsetX:"dx",shadowOffsetY:"dy"},m={x:"-40%",y:"-40%",width:"200%",height:"200%"},b=function(){function t(t){this.type="filter",this.cfg={},this.type="filter";var e=Object(u.b)("filter");return Object(f.each)(m,(function(t,n){e.setAttribute(n,t)})),this.el=e,this.id=Object(f.uniqueId)("filter_"),this.el.id=this.id,this.cfg=t,this._parseShadow(t,e),this}return t.prototype.match=function(t,e){if(this.type!==t)return!1;var n=!0,r=this.cfg;return Object(f.each)(Object.keys(r),(function(t){if(r[t]!==e[t])return n=!1,!1})),n},t.prototype.update=function(t,e){var n=this.cfg;return n[y[t]]=e,this._parseShadow(n,this.el),this},t.prototype._parseShadow=function(t,e){var n='<feDropShadow\n dx="'+(t.dx||0)+'"\n dy="'+(t.dy||0)+'"\n stdDeviation="'+(t.blur?t.blur/10:0)+'"\n flood-color="'+(t.color?t.color:"#000")+'"\n flood-opacity="'+(t.opacity?t.opacity:1)+'"\n />';e.innerHTML=n},t}(),x=function(){function t(t,e){this.cfg={};var n=Object(u.b)("marker"),r=Object(f.uniqueId)("marker_");n.setAttribute("id",r);var i=Object(u.b)("path");i.setAttribute("stroke",t.stroke||"none"),i.setAttribute("fill",t.fill||"none"),n.appendChild(i),n.setAttribute("overflow","visible"),n.setAttribute("orient","auto-start-reverse"),this.el=n,this.child=i,this.id=r;var o=t["marker-start"===e?"startArrow":"endArrow"];return this.stroke=t.stroke||"#000",!0===o?this._setDefaultPath(e,i):(this.cfg=o,this._setMarker(t.lineWidth,i)),this}return t.prototype.match=function(){return!1},t.prototype._setDefaultPath=function(t,e){var n=this.el;e.setAttribute("d","M0,0 L"+10*Math.cos(Math.PI/6)+",5 L0,10"),n.setAttribute("refX",""+10*Math.cos(Math.PI/6)),n.setAttribute("refY","5")},t.prototype._setMarker=function(t,e){var n=this.el,r=this.cfg.path,i=this.cfg.d;Object(f.isArray)(r)&&(r=r.map((function(t){return t.join(" ")})).join("")),e.setAttribute("d",r),n.appendChild(e),i&&n.setAttribute("refX",""+i/t)},t.prototype.update=function(t){var e=this.child;e.attr?e.attr("fill",t):e.setAttribute("fill",t)},t}(),w=function(){function t(t){this.type="clip",this.cfg={};var e=Object(u.b)("clipPath");this.el=e,this.id=Object(f.uniqueId)("clip_"),e.id=this.id;var n=t.cfg.el;return e.appendChild(n),this.cfg=t,this}return t.prototype.match=function(){return!1},t.prototype.remove=function(){var t=this.el;t.parentNode.removeChild(t)},t}(),_=/^p\s*\(\s*([axyn])\s*\)\s*(.*)/i,E=function(){function t(t){this.cfg={};var e=Object(u.b)("pattern");e.setAttribute("patternUnits","userSpaceOnUse");var n=Object(u.b)("image");e.appendChild(n);var r=Object(f.uniqueId)("pattern_");e.id=r,this.el=e,this.id=r,this.cfg=t;var i=_.exec(t)[2];n.setAttribute("href",i);var o=new Image;function a(){e.setAttribute("width",""+o.width),e.setAttribute("height",""+o.height)}return i.match(/^data:/i)||(o.crossOrigin="Anonymous"),o.src=i,o.complete?a():(o.onload=a,o.src=o.src),this}return t.prototype.match=function(t,e){return this.cfg===e},t}(),S=function(){function t(t){var e=Object(u.b)("defs"),n=Object(f.uniqueId)("defs_");e.id=n,t.appendChild(e),this.children=[],this.defaultArrow={},this.el=e,this.canvas=t}return t.prototype.find=function(t,e){for(var n=this.children,r=null,i=0;i<n.length;i++)if(n[i].match(t,e)){r=n[i].id;break}return r},t.prototype.findById=function(t){for(var e=this.children,n=null,r=0;r<e.length;r++)if(e[r].id===t){n=e[r];break}return n},t.prototype.add=function(t){this.children.push(t),t.canvas=this.canvas,t.parent=this},t.prototype.getDefaultArrow=function(t,e){var n=t.stroke||t.strokeStyle;if(this.defaultArrow[n])return this.defaultArrow[n].id;var r=new x(t,e);return this.defaultArrow[n]=r,this.el.appendChild(r.el),this.add(r),r.id},t.prototype.addGradient=function(t){var e=new v(t);return this.el.appendChild(e.el),this.add(e),e.id},t.prototype.addArrow=function(t,e){var n=new x(t,e);return this.el.appendChild(n.el),this.add(n),n.id},t.prototype.addShadow=function(t){var e=new b(t);return this.el.appendChild(e.el),this.add(e),e.id},t.prototype.addPattern=function(t){var e=new E(t);return this.el.appendChild(e.el),this.add(e),e.id},t.prototype.addClip=function(t){var e=new w(t);return this.el.appendChild(e.el),this.add(e),e.id},t}(),M=function(t){function e(e){return t.call(this,Object(r.__assign)(Object(r.__assign)({},e),{autoDraw:!0,renderer:"svg"}))||this}return Object(r.__extends)(e,t),e.prototype.getShapeBase=function(){return c},e.prototype.getGroupBase=function(){return l.a},e.prototype.getShape=function(t,e,n){var r=n.target||n.srcElement;if(!o.a[r.tagName]){for(var i=r.parentNode;i&&!o.a[i.tagName];)i=i.parentNode;r=i}return this.find((function(t){return t.get("el")===r}))},e.prototype.createDom=function(){var t=Object(u.b)("svg"),e=new S(t);return t.setAttribute("width",""+this.get("width")),t.setAttribute("height",""+this.get("height")),this.set("context",e),t},e.prototype.onCanvasChange=function(t){var e=this.get("context"),n=this.get("el");if("sort"===t){var r=this.get("children");r&&r.length&&Object(u.d)(this,(function(t,e){return r.indexOf(t)-r.indexOf(e)?1:0}))}else if("clear"===t){if(n){n.innerHTML="";var i=e.el;i.innerHTML="",n.appendChild(i)}}else"matrix"===t?Object(s.c)(this):"clip"===t?Object(s.a)(this,e):"changeSize"===t&&(n.setAttribute("width",""+this.get("width")),n.setAttribute("height",""+this.get("height")))},e.prototype.draw=function(){var t=this.get("context"),e=this.getChildren();Object(s.a)(this,t),e.length&&Object(a.a)(t,e)},e}(i.AbstractCanvas);e.a=M},function(t,e,n){"use strict";var r=n(1),i=n(11);function o(t,e,n){var r=t.getTotalMatrix();if(r){var o=function(t,e){if(e){var n=Object(i.invert)(e);return Object(i.multiplyVec2)(n,t)}return t}([e,n,1],r);return[o[0],o[1]]}return[e,n]}function a(t,e,n){if(t.isCanvas&&t.isCanvas())return!0;if(!Object(i.isAllowCapture)(t)||!1===t.cfg.isInView)return!1;if(t.cfg.clipShape){var r=o(t,e,n),a=r[0],s=r[1];if(t.isClipped(a,s))return!1}var u=t.cfg.cacheCanvasBBox||t.getCanvasBBox();return e>=u.minX&&e<=u.maxX&&n>=u.minY&&n<=u.maxY}var s=n(29),u=n(36),c=n(5),l=n(16),f=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.__extends)(e,t),e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return e.renderer="canvas",e.autoDraw=!0,e.localRefresh=!0,e.refreshElements=[],e.clipView=!0,e.quickHit=!1,e},e.prototype.onCanvasChange=function(t){"attr"!==t&&"sort"!==t&&"changeSize"!==t||(this.set("refreshElements",[this]),this.draw())},e.prototype.getShapeBase=function(){return s},e.prototype.getGroupBase=function(){return u.a},e.prototype.getPixelRatio=function(){var t=this.get("pixelRatio")||Object(c.d)();return t>=1?Math.ceil(t):1},e.prototype.getViewRange=function(){return{minX:0,minY:0,maxX:this.cfg.width,maxY:this.cfg.height}},e.prototype.createDom=function(){var t=document.createElement("canvas"),e=t.getContext("2d");return this.set("context",e),t},e.prototype.setDOMSize=function(e,n){t.prototype.setDOMSize.call(this,e,n);var r=this.get("context"),i=this.get("el"),o=this.getPixelRatio();i.width=o*e,i.height=o*n,o>1&&r.scale(o,o)},e.prototype.clear=function(){t.prototype.clear.call(this),this._clearFrame();var e=this.get("context"),n=this.get("el");e.clearRect(0,0,n.width,n.height)},e.prototype.getShape=function(e,n){return this.get("quickHit")?function t(e,n,r){if(!a(e,n,r))return null;for(var i=null,s=e.getChildren(),u=s.length-1;u>=0;u--){var c=s[u];if(c.isGroup())i=t(c,n,r);else if(a(c,n,r)){var l=c,f=o(c,n,r),h=f[0],d=f[1];l.isInShape(h,d)&&(i=c)}if(i)break}return i}(this,e,n):t.prototype.getShape.call(this,e,n,null)},e.prototype._getRefreshRegion=function(){var t,e=this.get("refreshElements"),n=this.getViewRange();e.length&&e[0]===this?t=n:(t=Object(l.f)(e))&&(t.minX=Math.floor(t.minX),t.minY=Math.floor(t.minY),t.maxX=Math.ceil(t.maxX),t.maxY=Math.ceil(t.maxY),t.maxY+=1,this.get("clipView")&&(t=Object(l.g)(t,n)));return t},e.prototype.refreshElement=function(t){this.get("refreshElements").push(t)},e.prototype._clearFrame=function(){var t=this.get("drawFrame");t&&(Object(c.a)(t),this.set("drawFrame",null),this.set("refreshElements",[]))},e.prototype.draw=function(){var t=this.get("drawFrame");this.get("autoDraw")&&t||this._startDraw()},e.prototype._drawAll=function(){var t=this.get("context"),e=this.get("el"),n=this.getChildren();t.clearRect(0,0,e.width,e.height),Object(l.a)(t,this),Object(l.d)(t,n),this.set("refreshElements",[])},e.prototype._drawRegion=function(){var t=this.get("context"),e=this.get("refreshElements"),n=this.getChildren(),r=this._getRefreshRegion();r?(t.clearRect(r.minX,r.minY,r.maxX-r.minX,r.maxY-r.minY),t.save(),t.beginPath(),t.rect(r.minX,r.minY,r.maxX-r.minX,r.maxY-r.minY),t.clip(),Object(l.a)(t,this),Object(l.b)(this,n,r),Object(l.d)(t,n,r),t.restore()):e.length&&Object(l.c)(e),Object(c.c)(e,(function(t){t.get("hasChanged")&&t.set("hasChanged",!1)})),this.set("refreshElements",[])},e.prototype._startDraw=function(){var t=this,e=this.get("drawFrame"),n=this.get("drawFrameCallback");e||(e=Object(c.n)((function(){t.get("localRefresh")?t._drawRegion():t._drawAll(),t.set("drawFrame",null),n&&n()})),this.set("drawFrame",e))},e.prototype.skipDraw=function(){},e.prototype.removeDom=function(){var t=this.get("el");t.width=0,t.height=0,t.parentNode.removeChild(t)},e}(i.AbstractCanvas);e.a=f},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"GADDIAsync",{enumerable:!0,get:function(){return r.GADDIAsync}}),Object.defineProperty(e,"connectedComponentAsync",{enumerable:!0,get:function(){return r.connectedComponentAsync}}),e.default=void 0,Object.defineProperty(e,"detectAllCyclesAsync",{enumerable:!0,get:function(){return r.detectAllCyclesAsync}}),Object.defineProperty(e,"detectAllDirectedCycleAsync",{enumerable:!0,get:function(){return r.detectAllDirectedCycleAsync}}),Object.defineProperty(e,"detectAllUndirectedCycleAsync",{enumerable:!0,get:function(){return r.detectAllUndirectedCycleAsync}}),Object.defineProperty(e,"detectCycleAsync",{enumerable:!0,get:function(){return r.detectCycleAsync}}),e.detectDirectedCycleAsync=void 0,Object.defineProperty(e,"dijkstraAsync",{enumerable:!0,get:function(){return r.dijkstraAsync}}),Object.defineProperty(e,"findAllPathAsync",{enumerable:!0,get:function(){return r.findAllPathAsync}}),Object.defineProperty(e,"findShortestPathAsync",{enumerable:!0,get:function(){return r.findShortestPathAsync}}),Object.defineProperty(e,"floydWarshallAsync",{enumerable:!0,get:function(){return r.floydWarshallAsync}}),Object.defineProperty(e,"getAdjMatrixAsync",{enumerable:!0,get:function(){return r.getAdjMatrixAsync}}),Object.defineProperty(e,"getDegreeAsync",{enumerable:!0,get:function(){return r.getDegreeAsync}}),Object.defineProperty(e,"getInDegreeAsync",{enumerable:!0,get:function(){return r.getInDegreeAsync}}),Object.defineProperty(e,"getNeighborsAsync",{enumerable:!0,get:function(){return r.getNeighborsAsync}}),Object.defineProperty(e,"getOutDegreeAsync",{enumerable:!0,get:function(){return r.getOutDegreeAsync}}),Object.defineProperty(e,"labelPropagationAsync",{enumerable:!0,get:function(){return r.labelPropagationAsync}}),Object.defineProperty(e,"louvainAsync",{enumerable:!0,get:function(){return r.louvainAsync}}),Object.defineProperty(e,"minimumSpanningTreeAsync",{enumerable:!0,get:function(){return r.minimumSpanningTreeAsync}}),Object.defineProperty(e,"pageRankAsync",{enumerable:!0,get:function(){return r.pageRankAsync}});var r=n(124),i=r.detectCycleAsync;e.detectDirectedCycleAsync=i;var o={getAdjMatrixAsync:r.getAdjMatrixAsync,connectedComponentAsync:r.connectedComponentAsync,getDegreeAsync:r.getDegreeAsync,getInDegreeAsync:r.getInDegreeAsync,getOutDegreeAsync:r.getOutDegreeAsync,detectCycleAsync:r.detectCycleAsync,detectDirectedCycleAsync:i,detectAllCyclesAsync:r.detectAllCyclesAsync,detectAllDirectedCycleAsync:r.detectAllDirectedCycleAsync,detectAllUndirectedCycleAsync:r.detectAllUndirectedCycleAsync,dijkstraAsync:r.dijkstraAsync,findAllPathAsync:r.findAllPathAsync,findShortestPathAsync:r.findShortestPathAsync,floydWarshallAsync:r.floydWarshallAsync,labelPropagationAsync:r.labelPropagationAsync,louvainAsync:r.louvainAsync,minimumSpanningTreeAsync:r.minimumSpanningTreeAsync,pageRankAsync:r.pageRankAsync,getNeighborsAsync:r.getNeighborsAsync,GADDIAsync:r.GADDIAsync};e.default=o},function(t,e,n){var r=n(64),i=n(65);t.exports=function(t){return"number"==typeof t||i(t)&&"[object Number]"==r(t)}},function(t,e){var n=Array.isArray;t.exports=n},function(t,e,n){var r,i,o;function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}o=function(){"use strict";var t=function(t){return t instanceof Uint8Array||t instanceof Uint16Array||t instanceof Uint32Array||t instanceof Int8Array||t instanceof Int16Array||t instanceof Int32Array||t instanceof Float32Array||t instanceof Float64Array||t instanceof Uint8ClampedArray},e=function(t,e){for(var n=Object.keys(e),r=0;r<n.length;++r)t[n[r]]=e[n[r]];return t};function n(t){var e=new Error("(regl) "+t);throw console.error(e),e}function r(t,e){t||n(e)}function i(t){return t?": "+t:""}function o(t,e){switch(e){case"number":return"number"==typeof t;case"object":return"object"===a(t);case"string":return"string"==typeof t;case"boolean":return"boolean"==typeof t;case"function":return"function"==typeof t;case"undefined":return void 0===t;case"symbol":return"symbol"===a(t)}}function s(t,e,r){e.indexOf(t)<0&&n("invalid value"+i(r)+". must be one of: "+e)}var u=["gl","canvas","container","attributes","pixelRatio","extensions","optionalExtensions","profile","onDone"];function c(t,e){for(t+="";t.length<e;)t=" "+t;return t}function l(){this.name="unknown",this.lines=[],this.index={},this.hasErrors=!1}function f(t,e){this.number=t,this.line=e,this.errors=[]}function h(t,e,n){this.file=t,this.line=e,this.message=n}function d(){var t=new Error,e=(t.stack||t).toString(),n=/compileProcedure.*\n\s*at.*\((.*)\)/.exec(e);if(n)return n[1];var r=/compileProcedure.*\n\s*at\s+(.*)(\n|$)/.exec(e);return r?r[1]:"unknown"}function p(){var t=new Error,e=(t.stack||t).toString(),n=/at REGLCommand.*\n\s+at.*\((.*)\)/.exec(e);if(n)return n[1];var r=/at REGLCommand.*\n\s+at\s+(.*)\n/.exec(e);return r?r[1]:"unknown"}function g(t,e){var n,r=t.split("\n"),i=1,o=0,a={unknown:new l,0:new l};a.unknown.name=a[0].name=e||d(),a.unknown.lines.push(new f(0,""));for(var s=0;s<r.length;++s){var u=r[s],c=/^\s*#\s*(\w+)\s+(.+)\s*$/.exec(u);if(c)switch(c[1]){case"line":var h=/(\d+)(\s+\d+)?/.exec(c[2]);h&&(i=0|h[1],h[2]&&((o=0|h[2])in a||(a[o]=new l)));break;case"define":var p=/SHADER_NAME(_B64)?\s+(.*)$/.exec(c[2]);p&&(a[o].name=p[1]?(n=p[2],"undefined"!=typeof atob?atob(n):"base64:"+n):p[2])}a[o].lines.push(new f(i++,u))}return Object.keys(a).forEach((function(t){var e=a[t];e.lines.forEach((function(t){e.index[t.number]=t}))})),a}function v(t){t._commandRef=d()}function y(t,e){var r=p();n(t+" in command "+(e||d())+("unknown"===r?"":" called from "+r))}function m(t,e,n,r){o(t,e)||y("invalid parameter type"+i(n)+". expected "+e+", got "+a(t),r||d())}var b={};function x(t,e){return 32820===t||32819===t||33635===t?2:34042===t?4:b[t]*e}function w(t){return!(t&t-1||!t)}b[5120]=b[5121]=1,b[5122]=b[5123]=b[36193]=b[33635]=b[32819]=b[32820]=2,b[5124]=b[5125]=b[5126]=b[34042]=4;var _=e(r,{optional:function(t){t()},raise:n,commandRaise:y,command:function(t,e,n){t||y(e,n||d())},parameter:function(t,e,r){t in e||n("unknown parameter ("+t+")"+i(r)+". possible values: "+Object.keys(e).join())},commandParameter:function(t,e,n,r){t in e||y("unknown parameter ("+t+")"+i(n)+". possible values: "+Object.keys(e).join(),r||d())},constructor:function(t){Object.keys(t).forEach((function(t){u.indexOf(t)<0&&n('invalid regl constructor argument "'+t+'". must be one of '+u)}))},type:function(t,e,r){o(t,e)||n("invalid parameter type"+i(r)+". expected "+e+", got "+a(t))},commandType:m,isTypedArray:function(e,r){t(e)||n("invalid parameter type"+i(r)+". must be a typed array")},nni:function(t,e){t>=0&&(0|t)===t||n("invalid parameter type, ("+t+")"+i(e)+". must be a nonnegative integer")},oneOf:s,shaderError:function(t,e,n,i,o){if(!t.getShaderParameter(e,t.COMPILE_STATUS)){var a=t.getShaderInfoLog(e),s=i===t.FRAGMENT_SHADER?"fragment":"vertex";m(n,"string",s+" shader source must be a string",o);var u=g(n,o),l=function(t){var e=[];return t.split("\n").forEach((function(t){if(!(t.length<5)){var n=/^ERROR:\s+(\d+):(\d+):\s*(.*)$/.exec(t);n?e.push(new h(0|n[1],0|n[2],n[3].trim())):t.length>0&&e.push(new h("unknown",0,t))}})),e}(a);!function(t,e){e.forEach((function(e){var n=t[e.file];if(n){var r=n.index[e.line];if(r)return r.errors.push(e),void(n.hasErrors=!0)}t.unknown.hasErrors=!0,t.unknown.lines[0].errors.push(e)}))}(u,l),Object.keys(u).forEach((function(t){var e=u[t];if(e.hasErrors){var n=[""],r=[""];i("file number "+t+": "+e.name+"\n","color:red;text-decoration:underline;font-weight:bold"),e.lines.forEach((function(t){if(t.errors.length>0){i(c(t.number,4)+"| ","background-color:yellow; font-weight:bold"),i(t.line+"\n","color:red; background-color:yellow; font-weight:bold");var e=0;t.errors.forEach((function(n){var r=n.message,o=/^\s*'(.*)'\s*:\s*(.*)$/.exec(r);if(o){var a=o[1];switch(r=o[2],a){case"assign":a="="}e=Math.max(t.line.indexOf(a,e),0)}else e=0;i(c("| ",6)),i(c("^^^",e+3)+"\n","font-weight:bold"),i(c("| ",6)),i(r+"\n","font-weight:bold")})),i(c("| ",6)+"\n")}else i(c(t.number,4)+"| "),i(t.line+"\n","color:red")})),"undefined"==typeof document||window.chrome?console.log(n.join("")):(r[0]=n.join("%c"),console.log.apply(console,r))}function i(t,e){n.push(t),r.push(e||"")}})),r.raise("Error compiling "+s+" shader, "+u[0].name)}},linkError:function(t,e,n,i,o){if(!t.getProgramParameter(e,t.LINK_STATUS)){var a=t.getProgramInfoLog(e),s=g(n,o),u='Error linking program with vertex shader, "'+g(i,o)[0].name+'", and fragment shader "'+s[0].name+'"';"undefined"!=typeof document?console.log("%c"+u+"\n%c"+a,"color:red;text-decoration:underline;font-weight:bold","color:red"):console.log(u+"\n"+a),r.raise(u)}},callSite:p,saveCommandRef:v,saveDrawInfo:function(t,e,n,r){function i(t){return t?r.id(t):0}function o(t,e){Object.keys(e).forEach((function(e){t[r.id(e)]=!0}))}v(t),t._fragId=i(t.static.frag),t._vertId=i(t.static.vert);var a=t._uniformSet={};o(a,e.static),o(a,e.dynamic);var s=t._attributeSet={};o(s,n.static),o(s,n.dynamic),t._hasCount="count"in t.static||"count"in t.dynamic||"elements"in t.static||"elements"in t.dynamic},framebufferFormat:function(t,e,n){t.texture?s(t.texture._texture.internalformat,e,"unsupported texture format for attachment"):s(t.renderbuffer._renderbuffer.format,n,"unsupported renderbuffer format for attachment")},guessCommand:d,texture2D:function(t,e,n){var i,o=e.width,a=e.height,s=e.channels;r(o>0&&o<=n.maxTextureSize&&a>0&&a<=n.maxTextureSize,"invalid texture shape"),33071===t.wrapS&&33071===t.wrapT||r(w(o)&&w(a),"incompatible wrap mode for texture, both width and height must be power of 2"),1===e.mipmask?1!==o&&1!==a&&r(9984!==t.minFilter&&9986!==t.minFilter&&9985!==t.minFilter&&9987!==t.minFilter,"min filter requires mipmap"):(r(w(o)&&w(a),"texture must be a square power of 2 to support mipmapping"),r(e.mipmask===(o<<1)-1,"missing or incomplete mipmap data")),5126===e.type&&(n.extensions.indexOf("oes_texture_float_linear")<0&&r(9728===t.minFilter&&9728===t.magFilter,"filter not supported, must enable oes_texture_float_linear"),r(!t.genMipmaps,"mipmap generation not supported with float textures"));var u=e.images;for(i=0;i<16;++i)if(u[i]){var c=o>>i,l=a>>i;r(e.mipmask&1<<i,"missing mipmap data");var f=u[i];if(r(f.width===c&&f.height===l,"invalid shape for mip images"),r(f.format===e.format&&f.internalformat===e.internalformat&&f.type===e.type,"incompatible type for mip image"),f.compressed);else if(f.data){var h=Math.ceil(x(f.type,s)*c/f.unpackAlignment)*f.unpackAlignment;r(f.data.byteLength===h*l,"invalid data for image, buffer size is inconsistent with image format")}else f.element||f.copy}else t.genMipmaps||r(0==(e.mipmask&1<<i),"extra mipmap data");e.compressed&&r(!t.genMipmaps,"mipmap generation for compressed images not supported")},textureCube:function(t,e,n,i){var o=t.width,a=t.height,s=t.channels;r(o>0&&o<=i.maxTextureSize&&a>0&&a<=i.maxTextureSize,"invalid texture shape"),r(o===a,"cube map must be square"),r(33071===e.wrapS&&33071===e.wrapT,"wrap mode not supported by cube map");for(var u=0;u<n.length;++u){var c=n[u];r(c.width===o&&c.height===a,"inconsistent cube map face shape"),e.genMipmaps&&(r(!c.compressed,"can not generate mipmap for compressed textures"),r(1===c.mipmask,"can not specify mipmaps and generate mipmaps"));for(var l=c.images,f=0;f<16;++f){var h=l[f];if(h){var d=o>>f,p=a>>f;r(c.mipmask&1<<f,"missing mipmap data"),r(h.width===d&&h.height===p,"invalid shape for mip images"),r(h.format===t.format&&h.internalformat===t.internalformat&&h.type===t.type,"incompatible type for mip image"),h.compressed||(h.data?r(h.data.byteLength===d*p*Math.max(x(h.type,s),h.unpackAlignment),"invalid data for image, buffer size is inconsistent with image format"):h.element||h.copy)}}}}}),E=0;function S(t,e){this.id=E++,this.type=t,this.data=e}function M(t){return t.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}function O(t){return"["+function t(e){if(0===e.length)return[];var n=e.charAt(0),r=e.charAt(e.length-1);if(e.length>1&&n===r&&('"'===n||"'"===n))return['"'+M(e.substr(1,e.length-2))+'"'];var i=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(e);if(i)return t(e.substr(0,i.index)).concat(t(i[1])).concat(t(e.substr(i.index+i[0].length)));var o=e.split(".");if(1===o.length)return['"'+M(e)+'"'];for(var a=[],s=0;s<o.length;++s)a=a.concat(t(o[s]));return a}(t).join("][")+"]"}var k={DynamicVariable:S,define:function(t,e){return new S(t,O(e+""))},isDynamic:function(t){return"function"==typeof t&&!t._reglType||t instanceof S},unbox:function t(e,n){return"function"==typeof e?new S(0,e):"number"==typeof e||"boolean"==typeof e?new S(5,e):Array.isArray(e)?new S(6,e.map((function(e,r){return t(e,n+"["+r+"]")}))):e instanceof S?e:void _(!1,"invalid option type in uniform "+n)},accessor:O},A={next:"function"==typeof requestAnimationFrame?function(t){return requestAnimationFrame(t)}:function(t){return setTimeout(t,16)},cancel:"function"==typeof cancelAnimationFrame?function(t){return cancelAnimationFrame(t)}:clearTimeout},C="undefined"!=typeof performance&&performance.now?function(){return performance.now()}:function(){return+new Date};function j(t){return"string"==typeof t?t.split():(_(Array.isArray(t),"invalid extension array"),t)}function I(t){return"string"==typeof t?(_("undefined"!=typeof document,"not supported outside of DOM"),document.querySelector(t)):t}function T(t){var n,r,i,o,s,u=t||{},c={},l=[],f=[],h="undefined"==typeof window?1:window.devicePixelRatio,d=!1,p=function(t){t&&_.raise(t)},g=function(){};if("string"==typeof u?(_("undefined"!=typeof document,"selector queries only supported in DOM enviroments"),n=document.querySelector(u),_(n,"invalid query string for element")):"object"===a(u)?"string"==typeof(s=u).nodeName&&"function"==typeof s.appendChild&&"function"==typeof s.getBoundingClientRect?n=u:function(t){return"function"==typeof t.drawArrays||"function"==typeof t.drawElements}(u)?i=(o=u).canvas:(_.constructor(u),"gl"in u?o=u.gl:"canvas"in u?i=I(u.canvas):"container"in u&&(r=I(u.container)),"attributes"in u&&(c=u.attributes,_.type(c,"object","invalid context attributes")),"extensions"in u&&(l=j(u.extensions)),"optionalExtensions"in u&&(f=j(u.optionalExtensions)),"onDone"in u&&(_.type(u.onDone,"function","invalid or missing onDone callback"),p=u.onDone),"profile"in u&&(d=!!u.profile),"pixelRatio"in u&&(h=+u.pixelRatio,_(h>0,"invalid pixel ratio"))):_.raise("invalid arguments to regl"),n&&("canvas"===n.nodeName.toLowerCase()?i=n:r=n),!o){if(!i){_("undefined"!=typeof document,"must manually specify webgl context outside of DOM environments");var v=function(t,n,r){var i,o=document.createElement("canvas");function a(){var n=window.innerWidth,i=window.innerHeight;if(t!==document.body){var a=t.getBoundingClientRect();n=a.right-a.left,i=a.bottom-a.top}o.width=r*n,o.height=r*i,e(o.style,{width:n+"px",height:i+"px"})}return e(o.style,{border:0,margin:0,padding:0,top:0,left:0}),t.appendChild(o),t===document.body&&(o.style.position="absolute",e(t.style,{margin:0,padding:0})),t!==document.body&&"function"==typeof ResizeObserver?(i=new ResizeObserver((function(){setTimeout(a)}))).observe(t):window.addEventListener("resize",a,!1),a(),{canvas:o,onDestroy:function(){i?i.disconnect():window.removeEventListener("resize",a),t.removeChild(o)}}}(r||document.body,0,h);if(!v)return null;i=v.canvas,g=v.onDestroy}void 0===c.premultipliedAlpha&&(c.premultipliedAlpha=!0),o=function(t,e){function n(n){try{return t.getContext(n,e)}catch(t){return null}}return n("webgl")||n("experimental-webgl")||n("webgl-experimental")}(i,c)}return o?{gl:o,canvas:i,container:r,extensions:l,optionalExtensions:f,pixelRatio:h,profile:d,onDone:p,onDestroy:g}:(g(),p("webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org"),null)}function N(t,e){for(var n=Array(t),r=0;r<t;++r)n[r]=e(r);return n}function P(t){var e,n;return e=(t>65535)<<4,e|=n=((t>>>=e)>255)<<3,e|=n=((t>>>=n)>15)<<2,(e|=n=((t>>>=n)>3)<<1)|(t>>>=n)>>1}function D(){var t=N(8,(function(){return[]}));function e(e){var n=function(t){for(var e=16;e<=1<<28;e*=16)if(t<=e)return e;return 0}(e),r=t[P(n)>>2];return r.length>0?r.pop():new ArrayBuffer(n)}function n(e){t[P(e.byteLength)>>2].push(e)}return{alloc:e,free:n,allocType:function(t,n){var r=null;switch(t){case 5120:r=new Int8Array(e(n),0,n);break;case 5121:r=new Uint8Array(e(n),0,n);break;case 5122:r=new Int16Array(e(2*n),0,n);break;case 5123:r=new Uint16Array(e(2*n),0,n);break;case 5124:r=new Int32Array(e(4*n),0,n);break;case 5125:r=new Uint32Array(e(4*n),0,n);break;case 5126:r=new Float32Array(e(4*n),0,n);break;default:return null}return r.length!==n?r.subarray(0,n):r},freeType:function(t){n(t.buffer)}}}var L=D();function R(e){return!!e&&"object"===a(e)&&Array.isArray(e.shape)&&Array.isArray(e.stride)&&"number"==typeof e.offset&&e.shape.length===e.stride.length&&(Array.isArray(e.data)||t(e.data))}L.zero=D();var B=function(t){return Object.keys(t).map((function(e){return t[e]}))},F={shape:function(t){for(var e=[],n=t;n.length;n=n[0])e.push(n.length);return e},flatten:function(t,e,n,r){var i=1;if(e.length)for(var o=0;o<e.length;++o)i*=e[o];else i=0;var a=r||L.allocType(n,i);switch(e.length){case 0:break;case 1:!function(t,e,n){for(var r=0;r<e;++r)n[r]=t[r]}(t,e[0],a);break;case 2:!function(t,e,n,r){for(var i=0,o=0;o<e;++o)for(var a=t[o],s=0;s<n;++s)r[i++]=a[s]}(t,e[0],e[1],a);break;case 3:z(t,e[0],e[1],e[2],a,0);break;default:!function t(e,n,r,i,o){for(var a=1,s=r+1;s<n.length;++s)a*=n[s];var u=n[r];if(n.length-r==4){var c=n[r+1],l=n[r+2],f=n[r+3];for(s=0;s<u;++s)z(e[s],c,l,f,i,o),o+=a}else for(s=0;s<u;++s)t(e[s],n,r+1,i,o),o+=a}(t,e,0,a,0)}return a}};function z(t,e,n,r,i,o){for(var a=o,s=0;s<e;++s)for(var u=t[s],c=0;c<n;++c)for(var l=u[c],f=0;f<r;++f)i[a++]=l[f]}var G={"[object Int8Array]":5120,"[object Int16Array]":5122,"[object Int32Array]":5124,"[object Uint8Array]":5121,"[object Uint8ClampedArray]":5121,"[object Uint16Array]":5123,"[object Uint32Array]":5125,"[object Float32Array]":5126,"[object Float64Array]":5121,"[object ArrayBuffer]":5121},Y={int8:5120,int16:5122,int32:5124,uint8:5121,uint16:5123,uint32:5125,float:5126,float32:5126},U={dynamic:35048,stream:35040,static:35044},X=F.flatten,W=F.shape,V=[];function H(t){return 0|G[Object.prototype.toString.call(t)]}function q(t,e){for(var n=0;n<e.length;++n)t[n]=e[n]}function Z(t,e,n,r,i,o,a){for(var s=0,u=0;u<n;++u)for(var c=0;c<r;++c)t[s++]=e[i*u+o*c+a]}V[5120]=1,V[5122]=2,V[5124]=4,V[5121]=1,V[5123]=2,V[5125]=4,V[5126]=4;var K={points:0,point:0,lines:1,line:1,triangles:4,triangle:4,"line loop":2,"line strip":3,"triangle strip":5,"triangle fan":6},Q=new Float32Array(1),$=new Uint32Array(Q.buffer);function J(t){for(var e=L.allocType(5123,t.length),n=0;n<t.length;++n)if(isNaN(t[n]))e[n]=65535;else if(t[n]===1/0)e[n]=31744;else if(t[n]===-1/0)e[n]=64512;else{Q[0]=t[n];var r=$[0],i=r>>>31<<15,o=(r<<1>>>24)-127,a=r>>13&1023;if(o<-24)e[n]=i;else if(o<-14){var s=-14-o;e[n]=i+(a+1024>>s)}else e[n]=o>15?i+31744:i+(o+15<<10)+a}return e}function tt(e){return Array.isArray(e)||t(e)}var et=function(t){return!(t&t-1||!t)},nt=[9984,9986,9985,9987],rt=[0,6409,6410,6407,6408],it={};function ot(t){return"[object "+t+"]"}it[6409]=it[6406]=it[6402]=1,it[34041]=it[6410]=2,it[6407]=it[35904]=3,it[6408]=it[35906]=4;var at=ot("HTMLCanvasElement"),st=ot("OffscreenCanvas"),ut=ot("CanvasRenderingContext2D"),ct=ot("ImageBitmap"),lt=ot("HTMLImageElement"),ft=ot("HTMLVideoElement"),ht=Object.keys(G).concat([at,st,ut,ct,lt,ft]),dt=[];dt[5121]=1,dt[5126]=4,dt[36193]=2,dt[5123]=2,dt[5125]=4;var pt=[];function gt(t){return Array.isArray(t)&&(0===t.length||"number"==typeof t[0])}function vt(t){return!!Array.isArray(t)&&!(0===t.length||!tt(t[0]))}function yt(t){return Object.prototype.toString.call(t)}function mt(t){return yt(t)===at}function bt(t){return yt(t)===st}function xt(t){if(!t)return!1;var e=yt(t);return ht.indexOf(e)>=0||gt(t)||vt(t)||R(t)}function wt(t){return 0|G[Object.prototype.toString.call(t)]}function _t(t,e){return L.allocType(36193===t.type?5126:t.type,e)}function Et(t,e){36193===t.type?(t.data=J(e),L.freeType(e)):t.data=e}function St(t,e,n,r,i,o){var a;if(a=void 0!==pt[t]?pt[t]:it[t]*dt[e],o&&(a*=6),i){for(var s=0,u=n;u>=1;)s+=a*u*u,u/=2;return s}return a*n*r}function Mt(n,r,i,o,s,u,c){var l={"don't care":4352,"dont care":4352,nice:4354,fast:4353},f={repeat:10497,clamp:33071,mirror:33648},h={nearest:9728,linear:9729},d=e({mipmap:9987,"nearest mipmap nearest":9984,"linear mipmap nearest":9985,"nearest mipmap linear":9986,"linear mipmap linear":9987},h),p={none:0,browser:37444},g={uint8:5121,rgba4:32819,rgb565:33635,"rgb5 a1":32820},v={alpha:6406,luminance:6409,"luminance alpha":6410,rgb:6407,rgba:6408,rgba4:32854,"rgb5 a1":32855,rgb565:36194},y={};r.ext_srgb&&(v.srgb=35904,v.srgba=35906),r.oes_texture_float&&(g.float32=g.float=5126),r.oes_texture_half_float&&(g.float16=g["half float"]=36193),r.webgl_depth_texture&&(e(v,{depth:6402,"depth stencil":34041}),e(g,{uint16:5123,uint32:5125,"depth stencil":34042})),r.webgl_compressed_texture_s3tc&&e(y,{"rgb s3tc dxt1":33776,"rgba s3tc dxt1":33777,"rgba s3tc dxt3":33778,"rgba s3tc dxt5":33779}),r.webgl_compressed_texture_atc&&e(y,{"rgb atc":35986,"rgba atc explicit alpha":35987,"rgba atc interpolated alpha":34798}),r.webgl_compressed_texture_pvrtc&&e(y,{"rgb pvrtc 4bppv1":35840,"rgb pvrtc 2bppv1":35841,"rgba pvrtc 4bppv1":35842,"rgba pvrtc 2bppv1":35843}),r.webgl_compressed_texture_etc1&&(y["rgb etc1"]=36196);var m=Array.prototype.slice.call(n.getParameter(34467));Object.keys(y).forEach((function(t){var e=y[t];m.indexOf(e)>=0&&(v[t]=e)}));var b=Object.keys(v);i.textureFormats=b;var x=[];Object.keys(v).forEach((function(t){var e=v[t];x[e]=t}));var w=[];Object.keys(g).forEach((function(t){var e=g[t];w[e]=t}));var E=[];Object.keys(h).forEach((function(t){E[h[t]]=t}));var S=[];Object.keys(d).forEach((function(t){var e=d[t];S[e]=t}));var M=[];Object.keys(f).forEach((function(t){M[f[t]]=t}));var O=b.reduce((function(t,e){var n=v[e];return 6409===n||6406===n||6409===n||6410===n||6402===n||34041===n||r.ext_srgb&&(35904===n||35906===n)?t[n]=n:32855===n||e.indexOf("rgba")>=0?t[n]=6408:t[n]=6407,t}),{});function k(){this.internalformat=6408,this.format=6408,this.type=5121,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=37444,this.width=0,this.height=0,this.channels=0}function A(t,e){t.internalformat=e.internalformat,t.format=e.format,t.type=e.type,t.compressed=e.compressed,t.premultiplyAlpha=e.premultiplyAlpha,t.flipY=e.flipY,t.unpackAlignment=e.unpackAlignment,t.colorSpace=e.colorSpace,t.width=e.width,t.height=e.height,t.channels=e.channels}function C(t,e){if("object"===a(e)&&e){if("premultiplyAlpha"in e&&(_.type(e.premultiplyAlpha,"boolean","invalid premultiplyAlpha"),t.premultiplyAlpha=e.premultiplyAlpha),"flipY"in e&&(_.type(e.flipY,"boolean","invalid texture flip"),t.flipY=e.flipY),"alignment"in e&&(_.oneOf(e.alignment,[1,2,4,8],"invalid texture unpack alignment"),t.unpackAlignment=e.alignment),"colorSpace"in e&&(_.parameter(e.colorSpace,p,"invalid colorSpace"),t.colorSpace=p[e.colorSpace]),"type"in e){var n=e.type;_(r.oes_texture_float||!("float"===n||"float32"===n),"you must enable the OES_texture_float extension in order to use floating point textures."),_(r.oes_texture_half_float||!("half float"===n||"float16"===n),"you must enable the OES_texture_half_float extension in order to use 16-bit floating point textures."),_(r.webgl_depth_texture||!("uint16"===n||"uint32"===n||"depth stencil"===n),"you must enable the WEBGL_depth_texture extension in order to use depth/stencil textures."),_.parameter(n,g,"invalid texture type"),t.type=g[n]}var o=t.width,s=t.height,u=t.channels,c=!1;"shape"in e?(_(Array.isArray(e.shape)&&e.shape.length>=2,"shape must be an array"),o=e.shape[0],s=e.shape[1],3===e.shape.length&&(u=e.shape[2],_(u>0&&u<=4,"invalid number of channels"),c=!0),_(o>=0&&o<=i.maxTextureSize,"invalid width"),_(s>=0&&s<=i.maxTextureSize,"invalid height")):("radius"in e&&(o=s=e.radius,_(o>=0&&o<=i.maxTextureSize,"invalid radius")),"width"in e&&(o=e.width,_(o>=0&&o<=i.maxTextureSize,"invalid width")),"height"in e&&(s=e.height,_(s>=0&&s<=i.maxTextureSize,"invalid height")),"channels"in e&&(u=e.channels,_(u>0&&u<=4,"invalid number of channels"),c=!0)),t.width=0|o,t.height=0|s,t.channels=0|u;var l=!1;if("format"in e){var f=e.format;_(r.webgl_depth_texture||!("depth"===f||"depth stencil"===f),"you must enable the WEBGL_depth_texture extension in order to use depth/stencil textures."),_.parameter(f,v,"invalid texture format");var h=t.internalformat=v[f];t.format=O[h],f in g&&("type"in e||(t.type=g[f])),f in y&&(t.compressed=!0),l=!0}!c&&l?t.channels=it[t.format]:c&&!l?t.channels!==rt[t.format]&&(t.format=t.internalformat=rt[t.channels]):l&&c&&_(t.channels===it[t.format],"number of channels inconsistent with specified format")}}function j(t){n.pixelStorei(37440,t.flipY),n.pixelStorei(37441,t.premultiplyAlpha),n.pixelStorei(37443,t.colorSpace),n.pixelStorei(3317,t.unpackAlignment)}function I(){k.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function T(e,n){var r=null;if(xt(n)?r=n:n&&(_.type(n,"object","invalid pixel data type"),C(e,n),"x"in n&&(e.xOffset=0|n.x),"y"in n&&(e.yOffset=0|n.y),xt(n.data)&&(r=n.data)),_(!e.compressed||r instanceof Uint8Array,"compressed texture data must be stored in a uint8array"),n.copy){_(!r,"can not specify copy and data field for the same texture");var o=s.viewportWidth,a=s.viewportHeight;e.width=e.width||o-e.xOffset,e.height=e.height||a-e.yOffset,e.needsCopy=!0,_(e.xOffset>=0&&e.xOffset<o&&e.yOffset>=0&&e.yOffset<a&&e.width>0&&e.width<=o&&e.height>0&&e.height<=a,"copy texture read out of bounds")}else if(r){if(t(r))e.channels=e.channels||4,e.data=r,"type"in n||5121!==e.type||(e.type=wt(r));else if(gt(r))e.channels=e.channels||4,function(t,e){var n=e.length;switch(t.type){case 5121:case 5123:case 5125:case 5126:var r=L.allocType(t.type,n);r.set(e),t.data=r;break;case 36193:t.data=J(e);break;default:_.raise("unsupported texture type, must specify a typed array")}}(e,r),e.alignment=1,e.needsFree=!0;else if(R(r)){var u=r.data;Array.isArray(u)||5121!==e.type||(e.type=wt(u));var c,l,f,h,d,p,g=r.shape,v=r.stride;3===g.length?(f=g[2],p=v[2]):(_(2===g.length,"invalid ndarray pixel data, must be 2 or 3D"),f=1,p=1),c=g[0],l=g[1],h=v[0],d=v[1],e.alignment=1,e.width=c,e.height=l,e.channels=f,e.format=e.internalformat=rt[f],e.needsFree=!0,function(t,e,n,r,i,o){for(var a=t.width,s=t.height,u=t.channels,c=_t(t,a*s*u),l=0,f=0;f<s;++f)for(var h=0;h<a;++h)for(var d=0;d<u;++d)c[l++]=e[n*h+r*f+i*d+o];Et(t,c)}(e,u,h,d,p,r.offset)}else if(mt(r)||bt(r)||yt(r)===ut)mt(r)||bt(r)?e.element=r:e.element=r.canvas,e.width=e.element.width,e.height=e.element.height,e.channels=4;else if(function(t){return yt(t)===ct}(r))e.element=r,e.width=r.width,e.height=r.height,e.channels=4;else if(function(t){return yt(t)===lt}(r))e.element=r,e.width=r.naturalWidth,e.height=r.naturalHeight,e.channels=4;else if(function(t){return yt(t)===ft}(r))e.element=r,e.width=r.videoWidth,e.height=r.videoHeight,e.channels=4;else if(vt(r)){var y=e.width||r[0].length,m=e.height||r.length,b=e.channels;b=tt(r[0][0])?b||r[0][0].length:b||1;for(var x=F.shape(r),w=1,E=0;E<x.length;++E)w*=x[E];var S=_t(e,w);F.flatten(r,x,"",S),Et(e,S),e.alignment=1,e.width=y,e.height=m,e.channels=b,e.format=e.internalformat=rt[b],e.needsFree=!0}}else e.width=e.width||1,e.height=e.height||1,e.channels=e.channels||4;5126===e.type?_(i.extensions.indexOf("oes_texture_float")>=0,"oes_texture_float extension not enabled"):36193===e.type&&_(i.extensions.indexOf("oes_texture_half_float")>=0,"oes_texture_half_float extension not enabled")}function N(t,e,r){var i=t.element,a=t.data,s=t.internalformat,u=t.format,c=t.type,l=t.width,f=t.height;j(t),i?n.texImage2D(e,r,u,u,c,i):t.compressed?n.compressedTexImage2D(e,r,s,l,f,0,a):t.needsCopy?(o(),n.copyTexImage2D(e,r,u,t.xOffset,t.yOffset,l,f,0)):n.texImage2D(e,r,u,l,f,0,u,c,a||null)}function P(t,e,r,i,a){var s=t.element,u=t.data,c=t.internalformat,l=t.format,f=t.type,h=t.width,d=t.height;j(t),s?n.texSubImage2D(e,a,r,i,l,f,s):t.compressed?n.compressedTexSubImage2D(e,a,r,i,c,h,d,u):t.needsCopy?(o(),n.copyTexSubImage2D(e,a,r,i,t.xOffset,t.yOffset,h,d)):n.texSubImage2D(e,a,r,i,h,d,l,f,u)}var D=[];function z(){return D.pop()||new I}function G(t){t.needsFree&&L.freeType(t.data),I.call(t),D.push(t)}function Y(){k.call(this),this.genMipmaps=!1,this.mipmapHint=4352,this.mipmask=0,this.images=Array(16)}function U(t,e,n){var r=t.images[0]=z();t.mipmask=1,r.width=t.width=e,r.height=t.height=n,r.channels=t.channels=4}function X(t,e){var n=null;if(xt(e))A(n=t.images[0]=z(),t),T(n,e),t.mipmask=1;else if(C(t,e),Array.isArray(e.mipmap))for(var r=e.mipmap,i=0;i<r.length;++i)A(n=t.images[i]=z(),t),n.width>>=i,n.height>>=i,T(n,r[i]),t.mipmask|=1<<i;else A(n=t.images[0]=z(),t),T(n,e),t.mipmask=1;A(t,t.images[0]),!t.compressed||33776!==t.internalformat&&33777!==t.internalformat&&33778!==t.internalformat&&33779!==t.internalformat||_(t.width%4==0&&t.height%4==0,"for compressed texture formats, mipmap level 0 must have width and height that are a multiple of 4")}function W(t,e){for(var n=t.images,r=0;r<n.length;++r){if(!n[r])return;N(n[r],e,r)}}var V=[];function H(){var t=V.pop()||new Y;k.call(t),t.mipmask=0;for(var e=0;e<16;++e)t.images[e]=null;return t}function q(t){for(var e=t.images,n=0;n<e.length;++n)e[n]&&G(e[n]),e[n]=null;V.push(t)}function Z(){this.minFilter=9728,this.magFilter=9728,this.wrapS=33071,this.wrapT=33071,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=4352}function K(t,e){if("min"in e){var n=e.min;_.parameter(n,d),t.minFilter=d[n],nt.indexOf(t.minFilter)>=0&&!("faces"in e)&&(t.genMipmaps=!0)}if("mag"in e){var r=e.mag;_.parameter(r,h),t.magFilter=h[r]}var o=t.wrapS,s=t.wrapT;if("wrap"in e){var u=e.wrap;"string"==typeof u?(_.parameter(u,f),o=s=f[u]):Array.isArray(u)&&(_.parameter(u[0],f),_.parameter(u[1],f),o=f[u[0]],s=f[u[1]])}else{if("wrapS"in e){var c=e.wrapS;_.parameter(c,f),o=f[c]}if("wrapT"in e){var p=e.wrapT;_.parameter(p,f),s=f[p]}}if(t.wrapS=o,t.wrapT=s,"anisotropic"in e){var g=e.anisotropic;_("number"==typeof g&&g>=1&&g<=i.maxAnisotropic,"aniso samples must be between 1 and "),t.anisotropic=e.anisotropic}if("mipmap"in e){var v=!1;switch(a(e.mipmap)){case"string":_.parameter(e.mipmap,l,"invalid mipmap hint"),t.mipmapHint=l[e.mipmap],t.genMipmaps=!0,v=!0;break;case"boolean":v=t.genMipmaps=e.mipmap;break;case"object":_(Array.isArray(e.mipmap),"invalid mipmap type"),t.genMipmaps=!1,v=!0;break;default:_.raise("invalid mipmap type")}v&&!("min"in e)&&(t.minFilter=9984)}}function Q(t,e){n.texParameteri(e,10241,t.minFilter),n.texParameteri(e,10240,t.magFilter),n.texParameteri(e,10242,t.wrapS),n.texParameteri(e,10243,t.wrapT),r.ext_texture_filter_anisotropic&&n.texParameteri(e,34046,t.anisotropic),t.genMipmaps&&(n.hint(33170,t.mipmapHint),n.generateMipmap(e))}var $=0,ot={},at=i.maxTextureUnits,st=Array(at).map((function(){return null}));function ht(t){k.call(this),this.mipmask=0,this.internalformat=6408,this.id=$++,this.refCount=1,this.target=t,this.texture=n.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new Z,c.profile&&(this.stats={size:0})}function dt(t){n.activeTexture(33984),n.bindTexture(t.target,t.texture)}function pt(){var t=st[0];t?n.bindTexture(t.target,t.texture):n.bindTexture(3553,null)}function Mt(t){var e=t.texture;_(e,"must not double destroy texture");var r=t.unit,i=t.target;r>=0&&(n.activeTexture(33984+r),n.bindTexture(i,null),st[r]=null),n.deleteTexture(e),t.texture=null,t.params=null,t.pixels=null,t.refCount=0,delete ot[t.id],u.textureCount--}return e(ht.prototype,{bind:function(){this.bindCount+=1;var t=this.unit;if(t<0){for(var e=0;e<at;++e){var r=st[e];if(r){if(r.bindCount>0)continue;r.unit=-1}st[e]=this,t=e;break}t>=at&&_.raise("insufficient number of texture units"),c.profile&&u.maxTextureUnits<t+1&&(u.maxTextureUnits=t+1),this.unit=t,n.activeTexture(33984+t),n.bindTexture(this.target,this.texture)}return t},unbind:function(){this.bindCount-=1},decRef:function(){--this.refCount<=0&&Mt(this)}}),c.profile&&(u.getTotalTextureSize=function(){var t=0;return Object.keys(ot).forEach((function(e){t+=ot[e].stats.size})),t}),{create2D:function(t,e){var r=new ht(3553);function o(t,e){var n=r.texInfo;Z.call(n);var a=H();return"number"==typeof t?U(a,0|t,"number"==typeof e?0|e:0|t):t?(_.type(t,"object","invalid arguments to regl.texture"),K(n,t),X(a,t)):U(a,1,1),n.genMipmaps&&(a.mipmask=(a.width<<1)-1),r.mipmask=a.mipmask,A(r,a),_.texture2D(n,a,i),r.internalformat=a.internalformat,o.width=a.width,o.height=a.height,dt(r),W(a,3553),Q(n,3553),pt(),q(a),c.profile&&(r.stats.size=St(r.internalformat,r.type,a.width,a.height,n.genMipmaps,!1)),o.format=x[r.internalformat],o.type=w[r.type],o.mag=E[n.magFilter],o.min=S[n.minFilter],o.wrapS=M[n.wrapS],o.wrapT=M[n.wrapT],o}return ot[r.id]=r,u.textureCount++,o(t,e),o.subimage=function(t,e,n,i){_(!!t,"must specify image data");var a=0|e,s=0|n,u=0|i,c=z();return A(c,r),c.width=0,c.height=0,T(c,t),c.width=c.width||(r.width>>u)-a,c.height=c.height||(r.height>>u)-s,_(r.type===c.type&&r.format===c.format&&r.internalformat===c.internalformat,"incompatible format for texture.subimage"),_(a>=0&&s>=0&&a+c.width<=r.width&&s+c.height<=r.height,"texture.subimage write out of bounds"),_(r.mipmask&1<<u,"missing mipmap data"),_(c.data||c.element||c.needsCopy,"missing image data"),dt(r),P(c,3553,a,s,u),pt(),G(c),o},o.resize=function(t,e){var i=0|t,a=0|e||i;if(i===r.width&&a===r.height)return o;o.width=r.width=i,o.height=r.height=a,dt(r);for(var s=0;r.mipmask>>s;++s){var u=i>>s,l=a>>s;if(!u||!l)break;n.texImage2D(3553,s,r.format,u,l,0,r.format,r.type,null)}return pt(),c.profile&&(r.stats.size=St(r.internalformat,r.type,i,a,!1,!1)),o},o._reglType="texture2d",o._texture=r,c.profile&&(o.stats=r.stats),o.destroy=function(){r.decRef()},o},createCube:function(t,e,r,o,s,l){var f=new ht(34067);ot[f.id]=f,u.cubeCount++;var h=new Array(6);function d(t,e,n,r,o,s){var u,l=f.texInfo;for(Z.call(l),u=0;u<6;++u)h[u]=H();if("number"!=typeof t&&t)if("object"===a(t))if(e)X(h[0],t),X(h[1],e),X(h[2],n),X(h[3],r),X(h[4],o),X(h[5],s);else if(K(l,t),C(f,t),"faces"in t){var p=t.faces;for(_(Array.isArray(p)&&6===p.length,"cube faces must be a length 6 array"),u=0;u<6;++u)_("object"===a(p[u])&&!!p[u],"invalid input for cube map face"),A(h[u],f),X(h[u],p[u])}else for(u=0;u<6;++u)X(h[u],t);else _.raise("invalid arguments to cube map");else{var g=0|t||1;for(u=0;u<6;++u)U(h[u],g,g)}for(A(f,h[0]),i.npotTextureCube||_(et(f.width)&&et(f.height),"your browser does not support non power or two texture dimensions"),l.genMipmaps?f.mipmask=(h[0].width<<1)-1:f.mipmask=h[0].mipmask,_.textureCube(f,l,h,i),f.internalformat=h[0].internalformat,d.width=h[0].width,d.height=h[0].height,dt(f),u=0;u<6;++u)W(h[u],34069+u);for(Q(l,34067),pt(),c.profile&&(f.stats.size=St(f.internalformat,f.type,d.width,d.height,l.genMipmaps,!0)),d.format=x[f.internalformat],d.type=w[f.type],d.mag=E[l.magFilter],d.min=S[l.minFilter],d.wrapS=M[l.wrapS],d.wrapT=M[l.wrapT],u=0;u<6;++u)q(h[u]);return d}return d(t,e,r,o,s,l),d.subimage=function(t,e,n,r,i){_(!!e,"must specify image data"),_("number"==typeof t&&t===(0|t)&&t>=0&&t<6,"invalid face");var o=0|n,a=0|r,s=0|i,u=z();return A(u,f),u.width=0,u.height=0,T(u,e),u.width=u.width||(f.width>>s)-o,u.height=u.height||(f.height>>s)-a,_(f.type===u.type&&f.format===u.format&&f.internalformat===u.internalformat,"incompatible format for texture.subimage"),_(o>=0&&a>=0&&o+u.width<=f.width&&a+u.height<=f.height,"texture.subimage write out of bounds"),_(f.mipmask&1<<s,"missing mipmap data"),_(u.data||u.element||u.needsCopy,"missing image data"),dt(f),P(u,34069+t,o,a,s),pt(),G(u),d},d.resize=function(t){var e=0|t;if(e!==f.width){d.width=f.width=e,d.height=f.height=e,dt(f);for(var r=0;r<6;++r)for(var i=0;f.mipmask>>i;++i)n.texImage2D(34069+r,i,f.format,e>>i,e>>i,0,f.format,f.type,null);return pt(),c.profile&&(f.stats.size=St(f.internalformat,f.type,d.width,d.height,!1,!0)),d}},d._reglType="textureCube",d._texture=f,c.profile&&(d.stats=f.stats),d.destroy=function(){f.decRef()},d},clear:function(){for(var t=0;t<at;++t)n.activeTexture(33984+t),n.bindTexture(3553,null),st[t]=null;B(ot).forEach(Mt),u.cubeCount=0,u.textureCount=0},getTexture:function(t){return null},restore:function(){for(var t=0;t<at;++t){var e=st[t];e&&(e.bindCount=0,e.unit=-1,st[t]=null)}B(ot).forEach((function(t){t.texture=n.createTexture(),n.bindTexture(t.target,t.texture);for(var e=0;e<32;++e)if(0!=(t.mipmask&1<<e))if(3553===t.target)n.texImage2D(3553,e,t.internalformat,t.width>>e,t.height>>e,0,t.internalformat,t.type,null);else for(var r=0;r<6;++r)n.texImage2D(34069+r,e,t.internalformat,t.width>>e,t.height>>e,0,t.internalformat,t.type,null);Q(t.texInfo,t.target)}))},refresh:function(){for(var t=0;t<at;++t){var e=st[t];e&&(e.bindCount=0,e.unit=-1,st[t]=null),n.activeTexture(33984+t),n.bindTexture(3553,null),n.bindTexture(34067,null)}}}}pt[32854]=2,pt[32855]=2,pt[36194]=2,pt[34041]=4,pt[33776]=.5,pt[33777]=.5,pt[33778]=1,pt[33779]=1,pt[35986]=.5,pt[35987]=1,pt[34798]=1,pt[35840]=.5,pt[35841]=.25,pt[35842]=.5,pt[35843]=.25,pt[36196]=.5;var Ot=[];function kt(t,e,n){return Ot[t]*e*n}Ot[32854]=2,Ot[32855]=2,Ot[36194]=2,Ot[33189]=2,Ot[36168]=1,Ot[34041]=4,Ot[35907]=4,Ot[34836]=16,Ot[34842]=8,Ot[34843]=6;var At=[6407,6408],Ct=[];Ct[6408]=4,Ct[6407]=3;var jt=[];jt[5121]=1,jt[5126]=4,jt[36193]=2;var It=[32854,32855,36194,35907,34842,34843,34836],Tt={};function Nt(){this.state=0,this.x=0,this.y=0,this.z=0,this.w=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.offset=0,this.stride=0,this.divisor=0}function Pt(e,n,r,i,o,a,s){function u(u){var c;null===n.next?(_(o.preserveDrawingBuffer,'you must create a webgl context with "preserveDrawingBuffer":true in order to read pixels from the drawing buffer'),c=5121):(_(null!==n.next.colorAttachments[0].texture,"You cannot read from a renderbuffer"),c=n.next.colorAttachments[0].texture._texture.type,a.oes_texture_float?(_(5121===c||5126===c,"Reading from a framebuffer is only allowed for the types 'uint8' and 'float'"),5126===c&&_(s.readFloat,"Reading 'float' values is not permitted in your browser. For a fallback, please see: https://www.npmjs.com/package/glsl-read-float")):_(5121===c,"Reading from a framebuffer is only allowed for the type 'uint8'"));var l=0,f=0,h=i.framebufferWidth,d=i.framebufferHeight,p=null;t(u)?p=u:u&&(_.type(u,"object","invalid arguments to regl.read()"),l=0|u.x,f=0|u.y,_(l>=0&&l<i.framebufferWidth,"invalid x offset for regl.read"),_(f>=0&&f<i.framebufferHeight,"invalid y offset for regl.read"),h=0|(u.width||i.framebufferWidth-l),d=0|(u.height||i.framebufferHeight-f),p=u.data||null),p&&(5121===c?_(p instanceof Uint8Array,"buffer must be 'Uint8Array' when reading from a framebuffer of type 'uint8'"):5126===c&&_(p instanceof Float32Array,"buffer must be 'Float32Array' when reading from a framebuffer of type 'float'")),_(h>0&&h+l<=i.framebufferWidth,"invalid width for read pixels"),_(d>0&&d+f<=i.framebufferHeight,"invalid height for read pixels"),r();var g=h*d*4;return p||(5121===c?p=new Uint8Array(g):5126===c&&(p=p||new Float32Array(g))),_.isTypedArray(p,"data buffer for regl.read() must be a typedarray"),_(p.byteLength>=g,"data buffer for regl.read() too small"),e.pixelStorei(3333,4),e.readPixels(l,f,h,d,6408,c,p),p}return function(t){return t&&"framebuffer"in t?function(t){var e;return n.setFBO({framebuffer:t.framebuffer},(function(){e=u(t)})),e}(t):u(t)}}function Dt(t){return Array.prototype.slice.call(t)}function Lt(t){return Dt(t).join("")}Tt[36053]="complete",Tt[36054]="incomplete attachment",Tt[36057]="incomplete dimensions",Tt[36055]="incomplete, missing attachment",Tt[36061]="unsupported";var Rt="xyzw".split(""),Bt="profile",Ft="framebuffer",zt="vert",Gt="frag",Yt="elements",Ut="primitive",Xt="count",Wt="offset",Vt="instances",Ht="vao",qt=Ft+"Width",Zt=Ft+"Height",Kt=["blend.func","blend.equation","stencil.func","stencil.opFront","stencil.opBack","sample.coverage","viewport","scissor.box","polygonOffset.offset"],Qt={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},$t=["constant color, constant alpha","one minus constant color, constant alpha","constant color, one minus constant alpha","one minus constant color, one minus constant alpha","constant alpha, constant color","constant alpha, one minus constant color","one minus constant alpha, constant color","one minus constant alpha, one minus constant color"],Jt={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},te={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},ee={frag:35632,vert:35633},ne={cw:2304,ccw:2305};function re(e){return Array.isArray(e)||t(e)||R(e)}function ie(t){return t.sort((function(t,e){return"viewport"===t?-1:"viewport"===e?1:t<e?-1:1}))}function oe(t,e,n,r){this.thisDep=t,this.contextDep=e,this.propDep=n,this.append=r}function ae(t){return t&&!(t.thisDep||t.contextDep||t.propDep)}function se(t){return new oe(!1,!1,!1,t)}function ue(t,e){var n=t.type;if(0===n){var r=t.data.length;return new oe(!0,r>=1,r>=2,e)}if(4===n){var i=t.data;return new oe(i.thisDep,i.contextDep,i.propDep,e)}if(5===n)return new oe(!1,!1,!1,e);if(6===n){for(var o=!1,a=!1,s=!1,u=0;u<t.data.length;++u){var c=t.data[u];if(1===c.type)s=!0;else if(2===c.type)a=!0;else if(3===c.type)o=!0;else if(0===c.type){o=!0;var l=c.data;l>=1&&(a=!0),l>=2&&(s=!0)}else 4===c.type&&(o=o||c.data.thisDep,a=a||c.data.contextDep,s=s||c.data.propDep)}return new oe(o,a,s,e)}return new oe(3===n,2===n,1===n,e)}var ce=new oe(!1,!1,!1,(function(){}));function le(t,n,r,i,o,s,u,c,l,f,h,d,p,g,v){var y=f.Record,m={add:32774,subtract:32778,"reverse subtract":32779};r.ext_blend_minmax&&(m.min=32775,m.max=32776);var b=r.angle_instanced_arrays,x=r.webgl_draw_buffers,w={dirty:!0,profile:v.profile},E={},S=[],M={},O={};function A(t){return t.replace(".","_")}function C(t,e,n){var r=A(t);S.push(t),E[r]=w[r]=!!n,M[r]=e}function j(t,e,n){var r=A(t);S.push(t),Array.isArray(n)?(w[r]=n.slice(),E[r]=n.slice()):w[r]=E[r]=n,O[r]=e}C("dither",3024),C("blend.enable",3042),j("blend.color","blendColor",[0,0,0,0]),j("blend.equation","blendEquationSeparate",[32774,32774]),j("blend.func","blendFuncSeparate",[1,0,1,0]),C("depth.enable",2929,!0),j("depth.func","depthFunc",513),j("depth.range","depthRange",[0,1]),j("depth.mask","depthMask",!0),j("colorMask","colorMask",[!0,!0,!0,!0]),C("cull.enable",2884),j("cull.face","cullFace",1029),j("frontFace","frontFace",2305),j("lineWidth","lineWidth",1),C("polygonOffset.enable",32823),j("polygonOffset.offset","polygonOffset",[0,0]),C("sample.alpha",32926),C("sample.enable",32928),j("sample.coverage","sampleCoverage",[1,!1]),C("stencil.enable",2960),j("stencil.mask","stencilMask",-1),j("stencil.func","stencilFunc",[519,0,-1]),j("stencil.opFront","stencilOpSeparate",[1028,7680,7680,7680]),j("stencil.opBack","stencilOpSeparate",[1029,7680,7680,7680]),C("scissor.enable",3089),j("scissor.box","scissor",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]),j("viewport","viewport",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]);var I={gl:t,context:p,strings:n,next:E,current:w,draw:d,elements:s,buffer:o,shader:h,attributes:f.state,vao:f,uniforms:l,framebuffer:c,extensions:r,timer:g,isBufferArgs:re},T={primTypes:K,compareFuncs:Jt,blendFuncs:Qt,blendEquations:m,stencilOps:te,glTypes:Y,orientationType:ne};_.optional((function(){I.isArrayLike=tt})),x&&(T.backBuffer=[1029],T.drawBuffer=N(i.maxDrawbuffers,(function(t){return 0===t?[0]:N(t,(function(t){return 36064+t}))})));var P=0;function D(){var t=function(){var t=0,n=[],r=[];function i(){var n=[],r=[];return e((function(){n.push.apply(n,Dt(arguments))}),{def:function(){var e="v"+t++;return r.push(e),arguments.length>0&&(n.push(e,"="),n.push.apply(n,Dt(arguments)),n.push(";")),e},toString:function(){return Lt([r.length>0?"var "+r.join(",")+";":"",Lt(n)])}})}function o(){var t=i(),n=i(),r=t.toString,o=n.toString;function a(e,r){n(e,r,"=",t.def(e,r),";")}return e((function(){t.apply(t,Dt(arguments))}),{def:t.def,entry:t,exit:n,save:a,set:function(e,n,r){a(e,n),t(e,n,"=",r,";")},toString:function(){return r()+o()}})}var a=i(),s={};return{global:a,link:function(e){for(var i=0;i<r.length;++i)if(r[i]===e)return n[i];var o="g"+t++;return n.push(o),r.push(e),o},block:i,proc:function(t,n){var r=[];function i(){var t="a"+r.length;return r.push(t),t}n=n||0;for(var a=0;a<n;++a)i();var u=o(),c=u.toString;return s[t]=e(u,{arg:i,toString:function(){return Lt(["function(",r.join(),"){",c(),"}"])}})},scope:o,cond:function(){var t=Lt(arguments),n=o(),r=o(),i=n.toString,a=r.toString;return e(n,{then:function(){return n.apply(n,Dt(arguments)),this},else:function(){return r.apply(r,Dt(arguments)),this},toString:function(){var e=a();return e&&(e="else{"+e+"}"),Lt(["if(",t,"){",i(),"}",e])}})},compile:function(){var t=['"use strict";',a,"return {"];Object.keys(s).forEach((function(e){t.push('"',e,'":',s[e].toString(),",")})),t.push("}");var e=Lt(t).replace(/;/g,";\n").replace(/}/g,"}\n").replace(/{/g,"{\n");return Function.apply(null,n.concat(e)).apply(null,r)}}}(),r=t.link,i=t.global;t.id=P++,t.batchId="0";var o=r(I),a=t.shared={props:"a0"};Object.keys(I).forEach((function(t){a[t]=i.def(o,".",t)})),_.optional((function(){t.CHECK=r(_),t.commandStr=_.guessCommand(),t.command=r(t.commandStr),t.assert=function(t,e,n){t("if(!(",e,"))",this.CHECK,".commandRaise(",r(n),",",this.command,");")},T.invalidBlendCombinations=$t}));var s=t.next={},u=t.current={};Object.keys(O).forEach((function(t){Array.isArray(w[t])&&(s[t]=i.def(a.next,".",t),u[t]=i.def(a.current,".",t))}));var c=t.constants={};Object.keys(T).forEach((function(t){c[t]=i.def(JSON.stringify(T[t]))})),t.invoke=function(e,n){switch(n.type){case 0:var i=["this",a.context,a.props,t.batchId];return e.def(r(n.data),".call(",i.slice(0,Math.max(n.data.length+1,4)),")");case 1:return e.def(a.props,n.data);case 2:return e.def(a.context,n.data);case 3:return e.def("this",n.data);case 4:return n.data.append(t,e),n.data.ref;case 5:return n.data.toString();case 6:return n.data.map((function(n){return t.invoke(e,n)}))}},t.attribCache={};var l={};return t.scopeAttrib=function(t){var e=n.id(t);if(e in l)return l[e];var i=f.scope[e];return i||(i=f.scope[e]=new y),l[e]=r(i)},t}function L(t,e,u,l,d){var p=t.static,g=t.dynamic;_.optional((function(){var t=[Ft,zt,Gt,Yt,Ut,Wt,Xt,Vt,Bt,Ht].concat(S);function e(e){Object.keys(e).forEach((function(e){_.command(t.indexOf(e)>=0,'unknown parameter "'+e+'"',d.commandStr)}))}e(p),e(g)}));var v=function(t,e){var n=t.static;if("string"==typeof n[Gt]&&"string"==typeof n[zt]){if(Object.keys(e.dynamic).length>0)return null;var r=e.static,i=Object.keys(r);if(i.length>0&&"number"==typeof r[i[0]]){for(var o=[],a=0;a<i.length;++a)_("number"==typeof r[i[a]],"must specify all vertex attribute locations when using vaos"),o.push([0|r[i[a]],i[a]]);return o}}return null}(t,e),x=function(t,e){var n=t.static,r=t.dynamic;if(Ft in n){var i=n[Ft];return i?(i=c.getFramebuffer(i),_.command(i,"invalid framebuffer object"),se((function(t,e){var n=t.link(i),r=t.shared;e.set(r.framebuffer,".next",n);var o=r.context;return e.set(o,"."+qt,n+".width"),e.set(o,"."+Zt,n+".height"),n}))):se((function(t,e){var n=t.shared;e.set(n.framebuffer,".next","null");var r=n.context;return e.set(r,"."+qt,r+".drawingBufferWidth"),e.set(r,"."+Zt,r+".drawingBufferHeight"),"null"}))}if(Ft in r){var o=r[Ft];return ue(o,(function(t,e){var n=t.invoke(e,o),r=t.shared,i=r.framebuffer,a=e.def(i,".getFramebuffer(",n,")");_.optional((function(){t.assert(e,"!"+n+"||"+a,"invalid framebuffer object")})),e.set(i,".next",a);var s=r.context;return e.set(s,"."+qt,a+"?"+a+".width:"+s+".drawingBufferWidth"),e.set(s,"."+Zt,a+"?"+a+".height:"+s+".drawingBufferHeight"),a}))}return null}(t),w=function(t,e,n){var r=t.static,i=t.dynamic;function o(t){if(t in r){var o=r[t];_.commandType(o,"object","invalid "+t,n.commandStr);var a,s,u=!0,c=0|o.x,l=0|o.y;return"width"in o?(a=0|o.width,_.command(a>=0,"invalid "+t,n.commandStr)):u=!1,"height"in o?(s=0|o.height,_.command(s>=0,"invalid "+t,n.commandStr)):u=!1,new oe(!u&&e&&e.thisDep,!u&&e&&e.contextDep,!u&&e&&e.propDep,(function(t,e){var n=t.shared.context,r=a;"width"in o||(r=e.def(n,".",qt,"-",c));var i=s;return"height"in o||(i=e.def(n,".",Zt,"-",l)),[c,l,r,i]}))}if(t in i){var f=i[t],h=ue(f,(function(e,n){var r=e.invoke(n,f);_.optional((function(){e.assert(n,r+"&&typeof "+r+'==="object"',"invalid "+t)}));var i=e.shared.context,o=n.def(r,".x|0"),a=n.def(r,".y|0"),s=n.def('"width" in ',r,"?",r,".width|0:","(",i,".",qt,"-",o,")"),u=n.def('"height" in ',r,"?",r,".height|0:","(",i,".",Zt,"-",a,")");return _.optional((function(){e.assert(n,s+">=0&&"+u+">=0","invalid "+t)})),[o,a,s,u]}));return e&&(h.thisDep=h.thisDep||e.thisDep,h.contextDep=h.contextDep||e.contextDep,h.propDep=h.propDep||e.propDep),h}return e?new oe(e.thisDep,e.contextDep,e.propDep,(function(t,e){var n=t.shared.context;return[0,0,e.def(n,".",qt),e.def(n,".",Zt)]})):null}var a=o("viewport");if(a){var s=a;a=new oe(a.thisDep,a.contextDep,a.propDep,(function(t,e){var n=s.append(t,e),r=t.shared.context;return e.set(r,".viewportWidth",n[2]),e.set(r,".viewportHeight",n[3]),n}))}return{viewport:a,scissor_box:o("scissor.box")}}(t,x,d),E=function(t,e){var n=t.static,r=t.dynamic,i=function(){if(Yt in n){var t=n[Yt];re(t)?t=s.getElements(s.create(t,!0)):t&&(t=s.getElements(t),_.command(t,"invalid elements",e.commandStr));var i=se((function(e,n){if(t){var r=e.link(t);return e.ELEMENTS=r,r}return e.ELEMENTS=null,null}));return i.value=t,i}if(Yt in r){var o=r[Yt];return ue(o,(function(t,e){var n=t.shared,r=n.isBufferArgs,i=n.elements,a=t.invoke(e,o),s=e.def("null"),u=e.def(r,"(",a,")"),c=t.cond(u).then(s,"=",i,".createStream(",a,");").else(s,"=",i,".getElements(",a,");");return _.optional((function(){t.assert(c.else,"!"+a+"||"+s,"invalid elements")})),e.entry(c),e.exit(t.cond(u).then(i,".destroyStream(",s,");")),t.ELEMENTS=s,s}))}return null}();function o(t,o){if(t in n){var a=0|n[t];return _.command(!o||a>=0,"invalid "+t,e.commandStr),se((function(t,e){return o&&(t.OFFSET=a),a}))}if(t in r){var s=r[t];return ue(s,(function(e,n){var r=e.invoke(n,s);return o&&(e.OFFSET=r,_.optional((function(){e.assert(n,r+">=0","invalid "+t)}))),r}))}return o&&i?se((function(t,e){return t.OFFSET="0",0})):null}var a=o(Wt,!0);return{elements:i,primitive:function(){if(Ut in n){var t=n[Ut];return _.commandParameter(t,K,"invalid primitve",e.commandStr),se((function(e,n){return K[t]}))}if(Ut in r){var o=r[Ut];return ue(o,(function(t,e){var n=t.constants.primTypes,r=t.invoke(e,o);return _.optional((function(){t.assert(e,r+" in "+n,"invalid primitive, must be one of "+Object.keys(K))})),e.def(n,"[",r,"]")}))}return i?ae(i)?i.value?se((function(t,e){return e.def(t.ELEMENTS,".primType")})):se((function(){return 4})):new oe(i.thisDep,i.contextDep,i.propDep,(function(t,e){var n=t.ELEMENTS;return e.def(n,"?",n,".primType:",4)})):null}(),count:function(){if(Xt in n){var t=0|n[Xt];return _.command("number"==typeof t&&t>=0,"invalid vertex count",e.commandStr),se((function(){return t}))}if(Xt in r){var o=r[Xt];return ue(o,(function(t,e){var n=t.invoke(e,o);return _.optional((function(){t.assert(e,"typeof "+n+'==="number"&&'+n+">=0&&"+n+"===("+n+"|0)","invalid vertex count")})),n}))}if(i){if(ae(i)){if(i)return a?new oe(a.thisDep,a.contextDep,a.propDep,(function(t,e){var n=e.def(t.ELEMENTS,".vertCount-",t.OFFSET);return _.optional((function(){t.assert(e,n+">=0","invalid vertex offset/element buffer too small")})),n})):se((function(t,e){return e.def(t.ELEMENTS,".vertCount")}));var s=se((function(){return-1}));return _.optional((function(){s.MISSING=!0})),s}var u=new oe(i.thisDep||a.thisDep,i.contextDep||a.contextDep,i.propDep||a.propDep,(function(t,e){var n=t.ELEMENTS;return t.OFFSET?e.def(n,"?",n,".vertCount-",t.OFFSET,":-1"):e.def(n,"?",n,".vertCount:-1")}));return _.optional((function(){u.DYNAMIC=!0})),u}return null}(),instances:o(Vt,!1),offset:a}}(t,d),M=function(t,e){var n=t.static,r=t.dynamic,o={};return S.forEach((function(t){var s=A(t);function u(e,i){if(t in n){var a=e(n[t]);o[s]=se((function(){return a}))}else if(t in r){var u=r[t];o[s]=ue(u,(function(t,e){return i(t,e,t.invoke(e,u))}))}}switch(t){case"cull.enable":case"blend.enable":case"dither":case"stencil.enable":case"depth.enable":case"scissor.enable":case"polygonOffset.enable":case"sample.alpha":case"sample.enable":case"depth.mask":return u((function(n){return _.commandType(n,"boolean",t,e.commandStr),n}),(function(e,n,r){return _.optional((function(){e.assert(n,"typeof "+r+'==="boolean"',"invalid flag "+t,e.commandStr)})),r}));case"depth.func":return u((function(n){return _.commandParameter(n,Jt,"invalid "+t,e.commandStr),Jt[n]}),(function(e,n,r){var i=e.constants.compareFuncs;return _.optional((function(){e.assert(n,r+" in "+i,"invalid "+t+", must be one of "+Object.keys(Jt))})),n.def(i,"[",r,"]")}));case"depth.range":return u((function(t){return _.command(tt(t)&&2===t.length&&"number"==typeof t[0]&&"number"==typeof t[1]&&t[0]<=t[1],"depth range is 2d array",e.commandStr),t}),(function(t,e,n){return _.optional((function(){t.assert(e,t.shared.isArrayLike+"("+n+")&&"+n+".length===2&&typeof "+n+'[0]==="number"&&typeof '+n+'[1]==="number"&&'+n+"[0]<="+n+"[1]","depth range must be a 2d array")})),[e.def("+",n,"[0]"),e.def("+",n,"[1]")]}));case"blend.func":return u((function(t){_.commandType(t,"object","blend.func",e.commandStr);var n="srcRGB"in t?t.srcRGB:t.src,r="srcAlpha"in t?t.srcAlpha:t.src,i="dstRGB"in t?t.dstRGB:t.dst,o="dstAlpha"in t?t.dstAlpha:t.dst;return _.commandParameter(n,Qt,s+".srcRGB",e.commandStr),_.commandParameter(r,Qt,s+".srcAlpha",e.commandStr),_.commandParameter(i,Qt,s+".dstRGB",e.commandStr),_.commandParameter(o,Qt,s+".dstAlpha",e.commandStr),_.command(-1===$t.indexOf(n+", "+i),"unallowed blending combination (srcRGB, dstRGB) = ("+n+", "+i+")",e.commandStr),[Qt[n],Qt[i],Qt[r],Qt[o]]}),(function(e,n,r){var i=e.constants.blendFuncs;function o(o,a){var s=n.def('"',o,a,'" in ',r,"?",r,".",o,a,":",r,".",o);return _.optional((function(){e.assert(n,s+" in "+i,"invalid "+t+"."+o+a+", must be one of "+Object.keys(Qt))})),s}_.optional((function(){e.assert(n,r+"&&typeof "+r+'==="object"',"invalid blend func, must be an object")}));var a=o("src","RGB"),s=o("dst","RGB");_.optional((function(){var t=e.constants.invalidBlendCombinations;e.assert(n,t+".indexOf("+a+'+", "+'+s+") === -1 ","unallowed blending combination for (srcRGB, dstRGB)")}));var u=n.def(i,"[",a,"]"),c=n.def(i,"[",o("src","Alpha"),"]");return[u,n.def(i,"[",s,"]"),c,n.def(i,"[",o("dst","Alpha"),"]")]}));case"blend.equation":return u((function(n){return"string"==typeof n?(_.commandParameter(n,m,"invalid "+t,e.commandStr),[m[n],m[n]]):"object"===a(n)?(_.commandParameter(n.rgb,m,t+".rgb",e.commandStr),_.commandParameter(n.alpha,m,t+".alpha",e.commandStr),[m[n.rgb],m[n.alpha]]):void _.commandRaise("invalid blend.equation",e.commandStr)}),(function(e,n,r){var i=e.constants.blendEquations,o=n.def(),a=n.def(),s=e.cond("typeof ",r,'==="string"');return _.optional((function(){function n(t,n,r){e.assert(t,r+" in "+i,"invalid "+n+", must be one of "+Object.keys(m))}n(s.then,t,r),e.assert(s.else,r+"&&typeof "+r+'==="object"',"invalid "+t),n(s.else,t+".rgb",r+".rgb"),n(s.else,t+".alpha",r+".alpha")})),s.then(o,"=",a,"=",i,"[",r,"];"),s.else(o,"=",i,"[",r,".rgb];",a,"=",i,"[",r,".alpha];"),n(s),[o,a]}));case"blend.color":return u((function(t){return _.command(tt(t)&&4===t.length,"blend.color must be a 4d array",e.commandStr),N(4,(function(e){return+t[e]}))}),(function(t,e,n){return _.optional((function(){t.assert(e,t.shared.isArrayLike+"("+n+")&&"+n+".length===4","blend.color must be a 4d array")})),N(4,(function(t){return e.def("+",n,"[",t,"]")}))}));case"stencil.mask":return u((function(t){return _.commandType(t,"number",s,e.commandStr),0|t}),(function(t,e,n){return _.optional((function(){t.assert(e,"typeof "+n+'==="number"',"invalid stencil.mask")})),e.def(n,"|0")}));case"stencil.func":return u((function(n){_.commandType(n,"object",s,e.commandStr);var r=n.cmp||"keep",i=n.ref||0,o="mask"in n?n.mask:-1;return _.commandParameter(r,Jt,t+".cmp",e.commandStr),_.commandType(i,"number",t+".ref",e.commandStr),_.commandType(o,"number",t+".mask",e.commandStr),[Jt[r],i,o]}),(function(t,e,n){var r=t.constants.compareFuncs;return _.optional((function(){function i(){t.assert(e,Array.prototype.join.call(arguments,""),"invalid stencil.func")}i(n+"&&typeof ",n,'==="object"'),i('!("cmp" in ',n,")||(",n,".cmp in ",r,")")})),[e.def('"cmp" in ',n,"?",r,"[",n,".cmp]",":",7680),e.def(n,".ref|0"),e.def('"mask" in ',n,"?",n,".mask|0:-1")]}));case"stencil.opFront":case"stencil.opBack":return u((function(n){_.commandType(n,"object",s,e.commandStr);var r=n.fail||"keep",i=n.zfail||"keep",o=n.zpass||"keep";return _.commandParameter(r,te,t+".fail",e.commandStr),_.commandParameter(i,te,t+".zfail",e.commandStr),_.commandParameter(o,te,t+".zpass",e.commandStr),["stencil.opBack"===t?1029:1028,te[r],te[i],te[o]]}),(function(e,n,r){var i=e.constants.stencilOps;function o(o){return _.optional((function(){e.assert(n,'!("'+o+'" in '+r+")||("+r+"."+o+" in "+i+")","invalid "+t+"."+o+", must be one of "+Object.keys(te))})),n.def('"',o,'" in ',r,"?",i,"[",r,".",o,"]:",7680)}return _.optional((function(){e.assert(n,r+"&&typeof "+r+'==="object"',"invalid "+t)})),["stencil.opBack"===t?1029:1028,o("fail"),o("zfail"),o("zpass")]}));case"polygonOffset.offset":return u((function(t){_.commandType(t,"object",s,e.commandStr);var n=0|t.factor,r=0|t.units;return _.commandType(n,"number",s+".factor",e.commandStr),_.commandType(r,"number",s+".units",e.commandStr),[n,r]}),(function(e,n,r){return _.optional((function(){e.assert(n,r+"&&typeof "+r+'==="object"',"invalid "+t)})),[n.def(r,".factor|0"),n.def(r,".units|0")]}));case"cull.face":return u((function(t){var n=0;return"front"===t?n=1028:"back"===t&&(n=1029),_.command(!!n,s,e.commandStr),n}),(function(t,e,n){return _.optional((function(){t.assert(e,n+'==="front"||'+n+'==="back"',"invalid cull.face")})),e.def(n,'==="front"?',1028,":",1029)}));case"lineWidth":return u((function(t){return _.command("number"==typeof t&&t>=i.lineWidthDims[0]&&t<=i.lineWidthDims[1],"invalid line width, must be a positive number between "+i.lineWidthDims[0]+" and "+i.lineWidthDims[1],e.commandStr),t}),(function(t,e,n){return _.optional((function(){t.assert(e,"typeof "+n+'==="number"&&'+n+">="+i.lineWidthDims[0]+"&&"+n+"<="+i.lineWidthDims[1],"invalid line width")})),n}));case"frontFace":return u((function(t){return _.commandParameter(t,ne,s,e.commandStr),ne[t]}),(function(t,e,n){return _.optional((function(){t.assert(e,n+'==="cw"||'+n+'==="ccw"',"invalid frontFace, must be one of cw,ccw")})),e.def(n+'==="cw"?2304:2305')}));case"colorMask":return u((function(t){return _.command(tt(t)&&4===t.length,"color.mask must be length 4 array",e.commandStr),t.map((function(t){return!!t}))}),(function(t,e,n){return _.optional((function(){t.assert(e,t.shared.isArrayLike+"("+n+")&&"+n+".length===4","invalid color.mask")})),N(4,(function(t){return"!!"+n+"["+t+"]"}))}));case"sample.coverage":return u((function(t){_.command("object"===a(t)&&t,s,e.commandStr);var n="value"in t?t.value:1,r=!!t.invert;return _.command("number"==typeof n&&n>=0&&n<=1,"sample.coverage.value must be a number between 0 and 1",e.commandStr),[n,r]}),(function(t,e,n){return _.optional((function(){t.assert(e,n+"&&typeof "+n+'==="object"',"invalid sample.coverage")})),[e.def('"value" in ',n,"?+",n,".value:1"),e.def("!!",n,".invert")]}))}})),o}(t,d),O=function(t,e,r){var i=t.static,o=t.dynamic;function a(t){if(t in i){var e=n.id(i[t]);_.optional((function(){h.shader(ee[t],e,_.guessCommand())}));var r=se((function(){return e}));return r.id=e,r}if(t in o){var a=o[t];return ue(a,(function(e,n){var r=e.invoke(n,a),i=n.def(e.shared.strings,".id(",r,")");return _.optional((function(){n(e.shared.shader,".shader(",ee[t],",",i,",",e.command,");")})),i}))}return null}var s,u=a(Gt),c=a(zt),l=null;return ae(u)&&ae(c)?(l=h.program(c.id,u.id,null,r),s=se((function(t,e){return t.link(l)}))):s=new oe(u&&u.thisDep||c&&c.thisDep,u&&u.contextDep||c&&c.contextDep,u&&u.propDep||c&&c.propDep,(function(t,e){var n,r=t.shared.shader;n=u?u.append(t,e):e.def(r,".",Gt);var i=r+".program("+(c?c.append(t,e):e.def(r,".",zt))+","+n;return _.optional((function(){i+=","+t.command})),e.def(i+")")})),{frag:u,vert:c,progVar:s,program:l}}(t,0,v);function k(t){var e=w[t];e&&(M[t]=e)}k("viewport"),k(A("scissor.box"));var C=Object.keys(M).length>0,j={framebuffer:x,draw:E,shader:O,state:M,dirty:C,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(j.profile=function(t){var e,n=t.static,r=t.dynamic;if(Bt in n){var i=!!n[Bt];(e=se((function(t,e){return i}))).enable=i}else if(Bt in r){var o=r[Bt];e=ue(o,(function(t,e){return t.invoke(e,o)}))}return e}(t),j.uniforms=function(t,e){var n=t.static,r=t.dynamic,i={};return Object.keys(n).forEach((function(t){var r,o=n[t];if("number"==typeof o||"boolean"==typeof o)r=se((function(){return o}));else if("function"==typeof o){var a=o._reglType;"texture2d"===a||"textureCube"===a?r=se((function(t){return t.link(o)})):"framebuffer"===a||"framebufferCube"===a?(_.command(o.color.length>0,'missing color attachment for framebuffer sent to uniform "'+t+'"',e.commandStr),r=se((function(t){return t.link(o.color[0])}))):_.commandRaise('invalid data for uniform "'+t+'"',e.commandStr)}else tt(o)?r=se((function(e){return e.global.def("[",N(o.length,(function(n){return _.command("number"==typeof o[n]||"boolean"==typeof o[n],"invalid uniform "+t,e.commandStr),o[n]})),"]")})):_.commandRaise('invalid or missing data for uniform "'+t+'"',e.commandStr);r.value=o,i[t]=r})),Object.keys(r).forEach((function(t){var e=r[t];i[t]=ue(e,(function(t,n){return t.invoke(n,e)}))})),i}(u,d),j.drawVAO=j.scopeVAO=function(t,e){var n=t.static,r=t.dynamic;if(Ht in n){var i=n[Ht];return null!==i&&null===f.getVAO(i)&&(i=f.createVAO(i)),se((function(t){return t.link(f.getVAO(i))}))}if(Ht in r){var o=r[Ht];return ue(o,(function(t,e){var n=t.invoke(e,o);return e.def(t.shared.vao+".getVAO("+n+")")}))}return null}(t),!j.drawVAO&&O.program&&!v&&r.angle_instanced_arrays){var I=!0,T=O.program.attributes.map((function(t){var n=e.static[t];return I=I&&!!n,n}));if(I&&T.length>0){var P=f.getVAO(f.createVAO(T));j.drawVAO=new oe(null,null,null,(function(t,e){return t.link(P)})),j.useVAO=!0}}return v?j.useVAO=!0:j.attributes=function(t,e){var r=t.static,i=t.dynamic,s={};return Object.keys(r).forEach((function(t){var i=r[t],u=n.id(t),c=new y;if(re(i))c.state=1,c.buffer=o.getBuffer(o.create(i,34962,!1,!0)),c.type=0;else{var l=o.getBuffer(i);if(l)c.state=1,c.buffer=l,c.type=0;else if(_.command("object"===a(i)&&i,"invalid data for attribute "+t,e.commandStr),"constant"in i){var f=i.constant;c.buffer="null",c.state=2,"number"==typeof f?c.x=f:(_.command(tt(f)&&f.length>0&&f.length<=4,"invalid constant for attribute "+t,e.commandStr),Rt.forEach((function(t,e){e<f.length&&(c[t]=f[e])})))}else{l=re(i.buffer)?o.getBuffer(o.create(i.buffer,34962,!1,!0)):o.getBuffer(i.buffer),_.command(!!l,'missing buffer for attribute "'+t+'"',e.commandStr);var h=0|i.offset;_.command(h>=0,'invalid offset for attribute "'+t+'"',e.commandStr);var d=0|i.stride;_.command(d>=0&&d<256,'invalid stride for attribute "'+t+'", must be integer betweeen [0, 255]',e.commandStr);var p=0|i.size;_.command(!("size"in i)||p>0&&p<=4,'invalid size for attribute "'+t+'", must be 1,2,3,4',e.commandStr);var g=!!i.normalized,v=0;"type"in i&&(_.commandParameter(i.type,Y,"invalid type for attribute "+t,e.commandStr),v=Y[i.type]);var m=0|i.divisor;"divisor"in i&&(_.command(0===m||b,'cannot specify divisor for attribute "'+t+'", instancing not supported',e.commandStr),_.command(m>=0,'invalid divisor for attribute "'+t+'"',e.commandStr)),_.optional((function(){var n=e.commandStr,r=["buffer","offset","divisor","normalized","type","size","stride"];Object.keys(i).forEach((function(e){_.command(r.indexOf(e)>=0,'unknown parameter "'+e+'" for attribute pointer "'+t+'" (valid parameters are '+r+")",n)}))})),c.buffer=l,c.state=1,c.size=p,c.normalized=g,c.type=v||l.dtype,c.offset=h,c.stride=d,c.divisor=m}}s[t]=se((function(t,e){var n=t.attribCache;if(u in n)return n[u];var r={isStream:!1};return Object.keys(c).forEach((function(t){r[t]=c[t]})),c.buffer&&(r.buffer=t.link(c.buffer),r.type=r.type||r.buffer+".dtype"),n[u]=r,r}))})),Object.keys(i).forEach((function(t){var e=i[t];s[t]=ue(e,(function(n,r){var i=n.invoke(r,e),o=n.shared,a=n.constants,s=o.isBufferArgs,u=o.buffer;_.optional((function(){n.assert(r,i+"&&(typeof "+i+'==="object"||typeof '+i+'==="function")&&('+s+"("+i+")||"+u+".getBuffer("+i+")||"+u+".getBuffer("+i+".buffer)||"+s+"("+i+'.buffer)||("constant" in '+i+"&&(typeof "+i+'.constant==="number"||'+o.isArrayLike+"("+i+".constant))))",'invalid dynamic attribute "'+t+'"')}));var c={isStream:r.def(!1)},l=new y;l.state=1,Object.keys(l).forEach((function(t){c[t]=r.def(""+l[t])}));var f=c.buffer,h=c.type;function d(t){r(c[t],"=",i,".",t,"|0;")}return r("if(",s,"(",i,")){",c.isStream,"=true;",f,"=",u,".createStream(",34962,",",i,");",h,"=",f,".dtype;","}else{",f,"=",u,".getBuffer(",i,");","if(",f,"){",h,"=",f,".dtype;",'}else if("constant" in ',i,"){",c.state,"=",2,";","if(typeof "+i+'.constant === "number"){',c[Rt[0]],"=",i,".constant;",Rt.slice(1).map((function(t){return c[t]})).join("="),"=0;","}else{",Rt.map((function(t,e){return c[t]+"="+i+".constant.length>"+e+"?"+i+".constant["+e+"]:0;"})).join(""),"}}else{","if(",s,"(",i,".buffer)){",f,"=",u,".createStream(",34962,",",i,".buffer);","}else{",f,"=",u,".getBuffer(",i,".buffer);","}",h,'="type" in ',i,"?",a.glTypes,"[",i,".type]:",f,".dtype;",c.normalized,"=!!",i,".normalized;"),d("size"),d("offset"),d("stride"),d("divisor"),r("}}"),r.exit("if(",c.isStream,"){",u,".destroyStream(",f,");","}"),c}))})),s}(e,d),j.context=function(t){var e=t.static,n=t.dynamic,r={};return Object.keys(e).forEach((function(t){var n=e[t];r[t]=se((function(t,e){return"number"==typeof n||"boolean"==typeof n?""+n:t.link(n)}))})),Object.keys(n).forEach((function(t){var e=n[t];r[t]=ue(e,(function(t,n){return t.invoke(n,e)}))})),r}(l),j}function R(t,e,n){var r=t.shared.context,i=t.scope();Object.keys(n).forEach((function(o){e.save(r,"."+o);var a=n[o].append(t,e);Array.isArray(a)?i(r,".",o,"=[",a.join(),"];"):i(r,".",o,"=",a,";")})),e(i)}function B(t,e,n,r){var i,o=t.shared,a=o.gl,s=o.framebuffer;x&&(i=e.def(o.extensions,".webgl_draw_buffers"));var u,c=t.constants,l=c.drawBuffer,f=c.backBuffer;u=n?n.append(t,e):e.def(s,".next"),r||e("if(",u,"!==",s,".cur){"),e("if(",u,"){",a,".bindFramebuffer(",36160,",",u,".framebuffer);"),x&&e(i,".drawBuffersWEBGL(",l,"[",u,".colorAttachments.length]);"),e("}else{",a,".bindFramebuffer(",36160,",null);"),x&&e(i,".drawBuffersWEBGL(",f,");"),e("}",s,".cur=",u,";"),r||e("}")}function F(t,e,n){var r=t.shared,i=r.gl,o=t.current,a=t.next,s=r.current,u=r.next,c=t.cond(s,".dirty");S.forEach((function(e){var r,l,f=A(e);if(!(f in n.state))if(f in a){r=a[f],l=o[f];var h=N(w[f].length,(function(t){return c.def(r,"[",t,"]")}));c(t.cond(h.map((function(t,e){return t+"!=="+l+"["+e+"]"})).join("||")).then(i,".",O[f],"(",h,");",h.map((function(t,e){return l+"["+e+"]="+t})).join(";"),";"))}else{r=c.def(u,".",f);var d=t.cond(r,"!==",s,".",f);c(d),f in M?d(t.cond(r).then(i,".enable(",M[f],");").else(i,".disable(",M[f],");"),s,".",f,"=",r,";"):d(i,".",O[f],"(",r,");",s,".",f,"=",r,";")}})),0===Object.keys(n.state).length&&c(s,".dirty=false;"),e(c)}function z(t,e,n,r){var i=t.shared,o=t.current,a=i.current,s=i.gl;ie(Object.keys(n)).forEach((function(i){var u=n[i];if(!r||r(u)){var c=u.append(t,e);if(M[i]){var l=M[i];ae(u)?e(s,c?".enable(":".disable(",l,");"):e(t.cond(c).then(s,".enable(",l,");").else(s,".disable(",l,");")),e(a,".",i,"=",c,";")}else if(tt(c)){var f=o[i];e(s,".",O[i],"(",c,");",c.map((function(t,e){return f+"["+e+"]="+t})).join(";"),";")}else e(s,".",O[i],"(",c,");",a,".",i,"=",c,";")}}))}function G(t,e){b&&(t.instancing=e.def(t.shared.extensions,".angle_instanced_arrays"))}function U(t,e,n,r,i){var o,a,s,u=t.shared,c=t.stats,l=u.current,f=u.timer,h=n.profile;function d(){return"undefined"==typeof performance?"Date.now()":"performance.now()"}function p(t){t(o=e.def(),"=",d(),";"),"string"==typeof i?t(c,".count+=",i,";"):t(c,".count++;"),g&&(r?t(a=e.def(),"=",f,".getNumPendingQueries();"):t(f,".beginQuery(",c,");"))}function v(t){t(c,".cpuTime+=",d(),"-",o,";"),g&&(r?t(f,".pushScopeStats(",a,",",f,".getNumPendingQueries(),",c,");"):t(f,".endQuery();"))}function y(t){var n=e.def(l,".profile");e(l,".profile=",t,";"),e.exit(l,".profile=",n,";")}if(h){if(ae(h))return void(h.enable?(p(e),v(e.exit),y("true")):y("false"));y(s=h.append(t,e))}else s=e.def(l,".profile");var m=t.block();p(m),e("if(",s,"){",m,"}");var b=t.block();v(b),e.exit("if(",s,"){",b,"}")}function X(t,e,n,r,i){var o=t.shared;r.forEach((function(r){var a,s=r.name,u=n.attributes[s];if(u){if(!i(u))return;a=u.append(t,e)}else{if(!i(ce))return;var c=t.scopeAttrib(s);_.optional((function(){t.assert(e,c+".state","missing attribute "+s)})),a={},Object.keys(new y).forEach((function(t){a[t]=e.def(c,".",t)}))}!function(n,r,i){var a=o.gl,s=e.def(n,".location"),u=e.def(o.attributes,"[",s,"]"),c=i.state,l=i.buffer,f=[i.x,i.y,i.z,i.w],h=["buffer","normalized","offset","stride"];function d(){e("if(!",u,".buffer){",a,".enableVertexAttribArray(",s,");}");var n,o=i.type;if(n=i.size?e.def(i.size,"||",r):r,e("if(",u,".type!==",o,"||",u,".size!==",n,"||",h.map((function(t){return u+"."+t+"!=="+i[t]})).join("||"),"){",a,".bindBuffer(",34962,",",l,".buffer);",a,".vertexAttribPointer(",[s,n,o,i.normalized,i.stride,i.offset],");",u,".type=",o,";",u,".size=",n,";",h.map((function(t){return u+"."+t+"="+i[t]+";"})).join(""),"}"),b){var c=i.divisor;e("if(",u,".divisor!==",c,"){",t.instancing,".vertexAttribDivisorANGLE(",[s,c],");",u,".divisor=",c,";}")}}function p(){e("if(",u,".buffer){",a,".disableVertexAttribArray(",s,");",u,".buffer=null;","}if(",Rt.map((function(t,e){return u+"."+t+"!=="+f[e]})).join("||"),"){",a,".vertexAttrib4f(",s,",",f,");",Rt.map((function(t,e){return u+"."+t+"="+f[e]+";"})).join(""),"}")}1===c?d():2===c?p():(e("if(",c,"===",1,"){"),d(),e("}else{"),p(),e("}"))}(t.link(r),function(t){switch(t){case 35664:case 35667:case 35671:return 2;case 35665:case 35668:case 35672:return 3;case 35666:case 35669:case 35673:return 4;default:return 1}}(r.info.type),a)}))}function W(t,e,r,i,o){for(var a,s=t.shared,u=s.gl,c=0;c<i.length;++c){var l,f=i[c],h=f.name,d=f.info.type,p=r.uniforms[h],g=t.link(f)+".location";if(p){if(!o(p))continue;if(ae(p)){var v=p.value;if(_.command(null!=v,'missing uniform "'+h+'"',t.commandStr),35678===d||35680===d){_.command("function"==typeof v&&(35678===d&&("texture2d"===v._reglType||"framebuffer"===v._reglType)||35680===d&&("textureCube"===v._reglType||"framebufferCube"===v._reglType)),"invalid texture for uniform "+h,t.commandStr);var y=t.link(v._texture||v.color[0]._texture);e(u,".uniform1i(",g,",",y+".bind());"),e.exit(y,".unbind();")}else if(35674===d||35675===d||35676===d){_.optional((function(){_.command(tt(v),"invalid matrix for uniform "+h,t.commandStr),_.command(35674===d&&4===v.length||35675===d&&9===v.length||35676===d&&16===v.length,"invalid length for matrix uniform "+h,t.commandStr)}));var m=t.global.def("new Float32Array(["+Array.prototype.slice.call(v)+"])"),b=2;35675===d?b=3:35676===d&&(b=4),e(u,".uniformMatrix",b,"fv(",g,",false,",m,");")}else{switch(d){case 5126:_.commandType(v,"number","uniform "+h,t.commandStr),a="1f";break;case 35664:_.command(tt(v)&&2===v.length,"uniform "+h,t.commandStr),a="2f";break;case 35665:_.command(tt(v)&&3===v.length,"uniform "+h,t.commandStr),a="3f";break;case 35666:_.command(tt(v)&&4===v.length,"uniform "+h,t.commandStr),a="4f";break;case 35670:_.commandType(v,"boolean","uniform "+h,t.commandStr),a="1i";break;case 5124:_.commandType(v,"number","uniform "+h,t.commandStr),a="1i";break;case 35671:case 35667:_.command(tt(v)&&2===v.length,"uniform "+h,t.commandStr),a="2i";break;case 35672:case 35668:_.command(tt(v)&&3===v.length,"uniform "+h,t.commandStr),a="3i";break;case 35673:case 35669:_.command(tt(v)&&4===v.length,"uniform "+h,t.commandStr),a="4i"}e(u,".uniform",a,"(",g,",",tt(v)?Array.prototype.slice.call(v):v,");")}continue}l=p.append(t,e)}else{if(!o(ce))continue;l=e.def(s.uniforms,"[",n.id(h),"]")}35678===d?(_(!Array.isArray(l),"must specify a scalar prop for textures"),e("if(",l,"&&",l,'._reglType==="framebuffer"){',l,"=",l,".color[0];","}")):35680===d&&(_(!Array.isArray(l),"must specify a scalar prop for cube maps"),e("if(",l,"&&",l,'._reglType==="framebufferCube"){',l,"=",l,".color[0];","}")),_.optional((function(){function n(n,r){t.assert(e,n,'bad data or missing for uniform "'+h+'". '+r)}function r(t){_(!Array.isArray(l),"must not specify an array type for uniform"),n("typeof "+l+'==="'+t+'"',"invalid type, expected "+t)}function i(e,r){Array.isArray(l)?_(l.length===e,"must have length "+e):n(s.isArrayLike+"("+l+")&&"+l+".length==="+e,"invalid vector, should have length "+e,t.commandStr)}function o(e){_(!Array.isArray(l),"must not specify a value type"),n("typeof "+l+'==="function"&&'+l+'._reglType==="texture'+(3553===e?"2d":"Cube")+'"',"invalid texture type",t.commandStr)}switch(d){case 5124:r("number");break;case 35667:i(2);break;case 35668:i(3);break;case 35669:i(4);break;case 5126:r("number");break;case 35664:i(2);break;case 35665:i(3);break;case 35666:i(4);break;case 35670:r("boolean");break;case 35671:i(2);break;case 35672:i(3);break;case 35673:case 35674:i(4);break;case 35675:i(9);break;case 35676:i(16);break;case 35678:o(3553);break;case 35680:o(34067)}}));var x=1;switch(d){case 35678:case 35680:var w=e.def(l,"._texture");e(u,".uniform1i(",g,",",w,".bind());"),e.exit(w,".unbind();");continue;case 5124:case 35670:a="1i";break;case 35667:case 35671:a="2i",x=2;break;case 35668:case 35672:a="3i",x=3;break;case 35669:case 35673:a="4i",x=4;break;case 5126:a="1f";break;case 35664:a="2f",x=2;break;case 35665:a="3f",x=3;break;case 35666:a="4f",x=4;break;case 35674:a="Matrix2fv";break;case 35675:a="Matrix3fv";break;case 35676:a="Matrix4fv"}if(e(u,".uniform",a,"(",g,","),"M"===a.charAt(0)){var E=Math.pow(d-35674+2,2),S=t.global.def("new Float32Array(",E,")");Array.isArray(l)?e("false,(",N(E,(function(t){return S+"["+t+"]="+l[t]})),",",S,")"):e("false,(Array.isArray(",l,")||",l," instanceof Float32Array)?",l,":(",N(E,(function(t){return S+"["+t+"]="+l+"["+t+"]"})),",",S,")")}else x>1?e(N(x,(function(t){return Array.isArray(l)?l[t]:l+"["+t+"]"}))):(_(!Array.isArray(l),"uniform value must not be an array"),e(l));e(");")}}function V(t,e,n,r){var i=t.shared,o=i.gl,a=i.draw,s=r.draw,u=function(){var i,u=s.elements,c=e;return u?((u.contextDep&&r.contextDynamic||u.propDep)&&(c=n),i=u.append(t,c)):i=c.def(a,".",Yt),i&&c("if("+i+")"+o+".bindBuffer(34963,"+i+".buffer.buffer);"),i}();function c(i){var o=s[i];return o?o.contextDep&&r.contextDynamic||o.propDep?o.append(t,n):o.append(t,e):e.def(a,".",i)}var l,f,h=c(Ut),d=c(Wt),p=function(){var i,o=s.count,u=e;return o?((o.contextDep&&r.contextDynamic||o.propDep)&&(u=n),i=o.append(t,u),_.optional((function(){o.MISSING&&t.assert(e,"false","missing vertex count"),o.DYNAMIC&&t.assert(u,i+">=0","missing vertex count")}))):(i=u.def(a,".",Xt),_.optional((function(){t.assert(u,i+">=0","missing vertex count")}))),i}();if("number"==typeof p){if(0===p)return}else n("if(",p,"){"),n.exit("}");b&&(l=c(Vt),f=t.instancing);var g=u+".type",v=s.elements&&ae(s.elements);function y(){function t(){n(f,".drawElementsInstancedANGLE(",[h,p,g,d+"<<(("+g+"-5121)>>1)",l],");")}function e(){n(f,".drawArraysInstancedANGLE(",[h,d,p,l],");")}u?v?t():(n("if(",u,"){"),t(),n("}else{"),e(),n("}")):e()}function m(){function t(){n(o+".drawElements("+[h,p,g,d+"<<(("+g+"-5121)>>1)"]+");")}function e(){n(o+".drawArrays("+[h,d,p]+");")}u?v?t():(n("if(",u,"){"),t(),n("}else{"),e(),n("}")):e()}b&&("number"!=typeof l||l>=0)?"string"==typeof l?(n("if(",l,">0){"),y(),n("}else if(",l,"<0){"),m(),n("}")):y():m()}function H(t,e,n,r,i){var o=D(),a=o.proc("body",i);return _.optional((function(){o.commandStr=e.commandStr,o.command=o.link(e.commandStr)})),b&&(o.instancing=a.def(o.shared.extensions,".angle_instanced_arrays")),t(o,a,n,r),o.compile().body}function q(t,e,n,r){G(t,e),n.useVAO?n.drawVAO?e(t.shared.vao,".setVAO(",n.drawVAO.append(t,e),");"):e(t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"):(e(t.shared.vao,".setVAO(null);"),X(t,e,n,r.attributes,(function(){return!0}))),W(t,e,n,r.uniforms,(function(){return!0})),V(t,e,e,n)}function Z(t,e,n,r){function i(){return!0}t.batchId="a1",G(t,e),X(t,e,n,r.attributes,i),W(t,e,n,r.uniforms,i),V(t,e,e,n)}function Q(t,e,n,r){G(t,e);var i=n.contextDep,o=e.def(),a=e.def();t.shared.props=a,t.batchId=o;var s=t.scope(),u=t.scope();function c(t){return t.contextDep&&i||t.propDep}function l(t){return!c(t)}if(e(s.entry,"for(",o,"=0;",o,"<","a1",";++",o,"){",a,"=","a0","[",o,"];",u,"}",s.exit),n.needsContext&&R(t,u,n.context),n.needsFramebuffer&&B(t,u,n.framebuffer),z(t,u,n.state,c),n.profile&&c(n.profile)&&U(t,u,n,!1,!0),r)n.useVAO?n.drawVAO?c(n.drawVAO)?u(t.shared.vao,".setVAO(",n.drawVAO.append(t,u),");"):s(t.shared.vao,".setVAO(",n.drawVAO.append(t,s),");"):s(t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"):(s(t.shared.vao,".setVAO(null);"),X(t,s,n,r.attributes,l),X(t,u,n,r.attributes,c)),W(t,s,n,r.uniforms,l),W(t,u,n,r.uniforms,c),V(t,s,u,n);else{var f=t.global.def("{}"),h=n.shader.progVar.append(t,u),d=u.def(h,".id"),p=u.def(f,"[",d,"]");u(t.shared.gl,".useProgram(",h,".program);","if(!",p,"){",p,"=",f,"[",d,"]=",t.link((function(e){return H(Z,t,n,e,2)})),"(",h,");}",p,".call(this,a0[",o,"],",o,");")}}function $(t,e,n){var r=e.static[n];if(r&&function(t){if("object"===a(t)&&!tt(t)){for(var e=Object.keys(t),n=0;n<e.length;++n)if(k.isDynamic(t[e[n]]))return!0;return!1}}(r)){var i=t.global,o=Object.keys(r),s=!1,u=!1,c=!1,l=t.global.def("{}");o.forEach((function(e){var n=r[e];if(k.isDynamic(n)){"function"==typeof n&&(n=r[e]=k.unbox(n));var o=ue(n,null);s=s||o.thisDep,c=c||o.propDep,u=u||o.contextDep}else{switch(i(l,".",e,"="),a(n)){case"number":i(n);break;case"string":i('"',n,'"');break;case"object":Array.isArray(n)&&i("[",n.join(),"]");break;default:i(t.link(n))}i(";")}})),e.dynamic[n]=new k.DynamicVariable(4,{thisDep:s,contextDep:u,propDep:c,ref:l,append:function(t,e){o.forEach((function(n){var i=r[n];if(k.isDynamic(i)){var o=t.invoke(e,i);e(l,".",n,"=",o,";")}}))}}),delete e.static[n]}}return{next:E,current:w,procs:function(){var t=D(),e=t.proc("poll"),n=t.proc("refresh"),o=t.block();e(o),n(o);var a,s=t.shared,u=s.gl,c=s.next,l=s.current;o(l,".dirty=false;"),B(t,e),B(t,n,null,!0),b&&(a=t.link(b)),r.oes_vertex_array_object&&n(t.link(r.oes_vertex_array_object),".bindVertexArrayOES(null);");for(var f=0;f<i.maxAttributes;++f){var h=n.def(s.attributes,"[",f,"]"),d=t.cond(h,".buffer");d.then(u,".enableVertexAttribArray(",f,");",u,".bindBuffer(",34962,",",h,".buffer.buffer);",u,".vertexAttribPointer(",f,",",h,".size,",h,".type,",h,".normalized,",h,".stride,",h,".offset);").else(u,".disableVertexAttribArray(",f,");",u,".vertexAttrib4f(",f,",",h,".x,",h,".y,",h,".z,",h,".w);",h,".buffer=null;"),n(d),b&&n(a,".vertexAttribDivisorANGLE(",f,",",h,".divisor);")}return n(t.shared.vao,".currentVAO=null;",t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"),Object.keys(M).forEach((function(r){var i=M[r],a=o.def(c,".",r),s=t.block();s("if(",a,"){",u,".enable(",i,")}else{",u,".disable(",i,")}",l,".",r,"=",a,";"),n(s),e("if(",a,"!==",l,".",r,"){",s,"}")})),Object.keys(O).forEach((function(r){var i,a,s=O[r],f=w[r],h=t.block();if(h(u,".",s,"("),tt(f)){var d=f.length;i=t.global.def(c,".",r),a=t.global.def(l,".",r),h(N(d,(function(t){return i+"["+t+"]"})),");",N(d,(function(t){return a+"["+t+"]="+i+"["+t+"];"})).join("")),e("if(",N(d,(function(t){return i+"["+t+"]!=="+a+"["+t+"]"})).join("||"),"){",h,"}")}else i=o.def(c,".",r),a=o.def(l,".",r),h(i,");",l,".",r,"=",i,";"),e("if(",i,"!==",a,"){",h,"}");n(h)})),t.compile()}(),compile:function(t,r,i,o,a){var s=D();s.stats=s.link(a),Object.keys(r.static).forEach((function(t){$(s,r,t)})),Kt.forEach((function(e){$(s,t,e)}));var u=L(t,r,i,o,s);return function(t,e){var n=t.proc("draw",1);G(t,n),R(t,n,e.context),B(t,n,e.framebuffer),F(t,n,e),z(t,n,e.state),U(t,n,e,!1,!0);var r=e.shader.progVar.append(t,n);if(n(t.shared.gl,".useProgram(",r,".program);"),e.shader.program)q(t,n,e,e.shader.program);else{n(t.shared.vao,".setVAO(null);");var i=t.global.def("{}"),o=n.def(r,".id"),a=n.def(i,"[",o,"]");n(t.cond(a).then(a,".call(this,a0);").else(a,"=",i,"[",o,"]=",t.link((function(n){return H(q,t,e,n,1)})),"(",r,");",a,".call(this,a0);"))}Object.keys(e.state).length>0&&n(t.shared.current,".dirty=true;")}(s,u),function(t,e){var r=t.proc("scope",3);t.batchId="a2";var i=t.shared,o=i.current;function a(n){var o=e.shader[n];o&&r.set(i.shader,"."+n,o.append(t,r))}R(t,r,e.context),e.framebuffer&&e.framebuffer.append(t,r),ie(Object.keys(e.state)).forEach((function(n){var o=e.state[n].append(t,r);tt(o)?o.forEach((function(e,i){r.set(t.next[n],"["+i+"]",e)})):r.set(i.next,"."+n,o)})),U(t,r,e,!0,!0),[Yt,Wt,Xt,Vt,Ut].forEach((function(n){var o=e.draw[n];o&&r.set(i.draw,"."+n,""+o.append(t,r))})),Object.keys(e.uniforms).forEach((function(o){var a=e.uniforms[o].append(t,r);Array.isArray(a)&&(a="["+a.join()+"]"),r.set(i.uniforms,"["+n.id(o)+"]",a)})),Object.keys(e.attributes).forEach((function(n){var i=e.attributes[n].append(t,r),o=t.scopeAttrib(n);Object.keys(new y).forEach((function(t){r.set(o,"."+t,i[t])}))})),e.scopeVAO&&r.set(i.vao,".targetVAO",e.scopeVAO.append(t,r)),a(zt),a(Gt),Object.keys(e.state).length>0&&(r(o,".dirty=true;"),r.exit(o,".dirty=true;")),r("a1(",t.shared.context,",a0,",t.batchId,");")}(s,u),function(t,e){var n=t.proc("batch",2);t.batchId="0",G(t,n);var r=!1,i=!0;Object.keys(e.context).forEach((function(t){r=r||e.context[t].propDep})),r||(R(t,n,e.context),i=!1);var o=e.framebuffer,a=!1;function s(t){return t.contextDep&&r||t.propDep}o?(o.propDep?r=a=!0:o.contextDep&&r&&(a=!0),a||B(t,n,o)):B(t,n,null),e.state.viewport&&e.state.viewport.propDep&&(r=!0),F(t,n,e),z(t,n,e.state,(function(t){return!s(t)})),e.profile&&s(e.profile)||U(t,n,e,!1,"a1"),e.contextDep=r,e.needsContext=i,e.needsFramebuffer=a;var u=e.shader.progVar;if(u.contextDep&&r||u.propDep)Q(t,n,e,null);else{var c=u.append(t,n);if(n(t.shared.gl,".useProgram(",c,".program);"),e.shader.program)Q(t,n,e,e.shader.program);else{n(t.shared.vao,".setVAO(null);");var l=t.global.def("{}"),f=n.def(c,".id"),h=n.def(l,"[",f,"]");n(t.cond(h).then(h,".call(this,a0,a1);").else(h,"=",l,"[",f,"]=",t.link((function(n){return H(Q,t,e,n,2)})),"(",c,");",h,".call(this,a0,a1);"))}}Object.keys(e.state).length>0&&n(t.shared.current,".dirty=true;")}(s,u),e(s.compile(),{destroy:function(){u.shader.program.destroy()}})}}}var fe=function(t,e){if(!e.ext_disjoint_timer_query)return null;var n=[];function r(t){n.push(t)}var i=[];function o(){this.startQueryIndex=-1,this.endQueryIndex=-1,this.sum=0,this.stats=null}var a=[];function s(t){a.push(t)}var u=[];function c(t,e,n){var r=a.pop()||new o;r.startQueryIndex=t,r.endQueryIndex=e,r.sum=0,r.stats=n,u.push(r)}var l=[],f=[];return{beginQuery:function(t){var r=n.pop()||e.ext_disjoint_timer_query.createQueryEXT();e.ext_disjoint_timer_query.beginQueryEXT(35007,r),i.push(r),c(i.length-1,i.length,t)},endQuery:function(){e.ext_disjoint_timer_query.endQueryEXT(35007)},pushScopeStats:c,update:function(){var t,n,o=i.length;if(0!==o){f.length=Math.max(f.length,o+1),l.length=Math.max(l.length,o+1),l[0]=0,f[0]=0;var a=0;for(t=0,n=0;n<i.length;++n){var c=i[n];e.ext_disjoint_timer_query.getQueryObjectEXT(c,34919)?(a+=e.ext_disjoint_timer_query.getQueryObjectEXT(c,34918),r(c)):i[t++]=c,l[n+1]=a,f[n+1]=t}for(i.length=t,t=0,n=0;n<u.length;++n){var h=u[n],d=h.startQueryIndex,p=h.endQueryIndex;h.sum+=l[p]-l[d];var g=f[d],v=f[p];v===g?(h.stats.gpuTime+=h.sum/1e6,s(h)):(h.startQueryIndex=g,h.endQueryIndex=v,u[t++]=h)}u.length=t}},getNumPendingQueries:function(){return i.length},clear:function(){n.push.apply(n,i);for(var t=0;t<n.length;t++)e.ext_disjoint_timer_query.deleteQueryEXT(n[t]);i.length=0,n.length=0},restore:function(){i.length=0,n.length=0}}};function he(t,e){for(var n=0;n<t.length;++n)if(t[n]===e)return n;return-1}return function(n){var r=T(n);if(!r)return null;var i=r.gl,o=i.getContextAttributes(),s=i.isContextLost(),u=function(t,e){var n={};function r(e){_.type(e,"string","extension name must be string");var r,i=e.toLowerCase();try{r=n[i]=t.getExtension(i)}catch(t){}return!!r}for(var i=0;i<e.extensions.length;++i){var o=e.extensions[i];if(!r(o))return e.onDestroy(),e.onDone('"'+o+'" extension is not supported by the current WebGL context, try upgrading your system or a different browser'),null}return e.optionalExtensions.forEach(r),{extensions:n,restore:function(){Object.keys(n).forEach((function(t){if(n[t]&&!r(t))throw new Error("(regl): error restoring extension "+t)}))}}}(i,r);if(!u)return null;var c,l,f=(c={"":0},l=[""],{id:function(t){var e=c[t];return e||(e=c[t]=l.length,l.push(t),e)},str:function(t){return l[t]}}),h={vaoCount:0,bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0},d=u.extensions,p=fe(0,d),g=C(),v=i.drawingBufferWidth,y=i.drawingBufferHeight,m={tick:0,time:0,viewportWidth:v,viewportHeight:y,framebufferWidth:v,framebufferHeight:y,drawingBufferWidth:v,drawingBufferHeight:y,pixelRatio:r.pixelRatio},b=function(t,e){var n=1;e.ext_texture_filter_anisotropic&&(n=t.getParameter(34047));var r=1,i=1;e.webgl_draw_buffers&&(r=t.getParameter(34852),i=t.getParameter(36063));var o=!!e.oes_texture_float;if(o){var a=t.createTexture();t.bindTexture(3553,a),t.texImage2D(3553,0,6408,1,1,0,6408,5126,null);var s=t.createFramebuffer();if(t.bindFramebuffer(36160,s),t.framebufferTexture2D(36160,36064,3553,a,0),t.bindTexture(3553,null),36053!==t.checkFramebufferStatus(36160))o=!1;else{t.viewport(0,0,1,1),t.clearColor(1,0,0,1),t.clear(16384);var u=L.allocType(5126,4);t.readPixels(0,0,1,1,6408,5126,u),t.getError()?o=!1:(t.deleteFramebuffer(s),t.deleteTexture(a),o=1===u[0]),L.freeType(u)}}var c=!0;if("undefined"==typeof navigator||!(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent))){var l=t.createTexture(),f=L.allocType(5121,36);t.activeTexture(33984),t.bindTexture(34067,l),t.texImage2D(34069,0,6408,3,3,0,6408,5121,f),L.freeType(f),t.bindTexture(34067,null),t.deleteTexture(l),c=!t.getError()}return{colorBits:[t.getParameter(3410),t.getParameter(3411),t.getParameter(3412),t.getParameter(3413)],depthBits:t.getParameter(3414),stencilBits:t.getParameter(3415),subpixelBits:t.getParameter(3408),extensions:Object.keys(e).filter((function(t){return!!e[t]})),maxAnisotropic:n,maxDrawbuffers:r,maxColorAttachments:i,pointSizeDims:t.getParameter(33901),lineWidthDims:t.getParameter(33902),maxViewportDims:t.getParameter(3386),maxCombinedTextureUnits:t.getParameter(35661),maxCubeMapSize:t.getParameter(34076),maxRenderbufferSize:t.getParameter(34024),maxTextureUnits:t.getParameter(34930),maxTextureSize:t.getParameter(3379),maxAttributes:t.getParameter(34921),maxVertexUniforms:t.getParameter(36347),maxVertexTextureUnits:t.getParameter(35660),maxVaryingVectors:t.getParameter(36348),maxFragmentUniforms:t.getParameter(36349),glsl:t.getParameter(35724),renderer:t.getParameter(7937),vendor:t.getParameter(7936),version:t.getParameter(7938),readFloat:o,npotTextureCube:c}}(i,d),x=function(e,n,r,i){var o=0,a={};function s(t){this.id=o++,this.buffer=e.createBuffer(),this.type=t,this.usage=35044,this.byteLength=0,this.dimension=1,this.dtype=5121,this.persistentData=null,r.profile&&(this.stats={size:0})}s.prototype.bind=function(){e.bindBuffer(this.type,this.buffer)},s.prototype.destroy=function(){f(this)};var u=[];function c(t,n,r){t.byteLength=n.byteLength,e.bufferData(t.type,n,r)}function l(e,n,r,i,o,a){var s,u;if(e.usage=r,Array.isArray(n)){if(e.dtype=i||5126,n.length>0)if(Array.isArray(n[0])){s=W(n);for(var l=1,f=1;f<s.length;++f)l*=s[f];e.dimension=l,c(e,u=X(n,s,e.dtype),r),a?e.persistentData=u:L.freeType(u)}else if("number"==typeof n[0]){e.dimension=o;var h=L.allocType(e.dtype,n.length);q(h,n),c(e,h,r),a?e.persistentData=h:L.freeType(h)}else t(n[0])?(e.dimension=n[0].length,e.dtype=i||H(n[0])||5126,c(e,u=X(n,[n.length,n[0].length],e.dtype),r),a?e.persistentData=u:L.freeType(u)):_.raise("invalid buffer data")}else if(t(n))e.dtype=i||H(n),e.dimension=o,c(e,n,r),a&&(e.persistentData=new Uint8Array(new Uint8Array(n.buffer)));else if(R(n)){s=n.shape;var d=n.stride,p=n.offset,g=0,v=0,y=0,m=0;1===s.length?(g=s[0],v=1,y=d[0],m=0):2===s.length?(g=s[0],v=s[1],y=d[0],m=d[1]):_.raise("invalid shape"),e.dtype=i||H(n.data)||5126,e.dimension=v;var b=L.allocType(e.dtype,g*v);Z(b,n.data,g,v,y,m,p),c(e,b,r),a?e.persistentData=b:L.freeType(b)}else n instanceof ArrayBuffer?(e.dtype=5121,e.dimension=o,c(e,n,r),a&&(e.persistentData=new Uint8Array(new Uint8Array(n)))):_.raise("invalid buffer data")}function f(t){n.bufferCount--,i(t);var r=t.buffer;_(r,"buffer must not be deleted already"),e.deleteBuffer(r),t.buffer=null,delete a[t.id]}return r.profile&&(n.getTotalBufferSize=function(){var t=0;return Object.keys(a).forEach((function(e){t+=a[e].stats.size})),t}),{create:function(i,o,u,c){n.bufferCount++;var h=new s(o);function d(n){var i=35044,o=null,a=0,s=0,u=1;return Array.isArray(n)||t(n)||R(n)||n instanceof ArrayBuffer?o=n:"number"==typeof n?a=0|n:n&&(_.type(n,"object","buffer arguments must be an object, a number or an array"),"data"in n&&(_(null===o||Array.isArray(o)||t(o)||R(o),"invalid data for buffer"),o=n.data),"usage"in n&&(_.parameter(n.usage,U,"invalid buffer usage"),i=U[n.usage]),"type"in n&&(_.parameter(n.type,Y,"invalid buffer type"),s=Y[n.type]),"dimension"in n&&(_.type(n.dimension,"number","invalid dimension"),u=0|n.dimension),"length"in n&&(_.nni(a,"buffer length must be a nonnegative integer"),a=0|n.length)),h.bind(),o?l(h,o,i,s,u,c):(a&&e.bufferData(h.type,a,i),h.dtype=s||5121,h.usage=i,h.dimension=u,h.byteLength=a),r.profile&&(h.stats.size=h.byteLength*V[h.dtype]),d}function p(t,n){_(n+t.byteLength<=h.byteLength,"invalid buffer subdata call, buffer is too small. Can't write data of size "+t.byteLength+" starting from offset "+n+" to a buffer of size "+h.byteLength),e.bufferSubData(h.type,n,t)}return a[h.id]=h,u||d(i),d._reglType="buffer",d._buffer=h,d.subdata=function(e,n){var r,i=0|(n||0);if(h.bind(),t(e)||e instanceof ArrayBuffer)p(e,i);else if(Array.isArray(e)){if(e.length>0)if("number"==typeof e[0]){var o=L.allocType(h.dtype,e.length);q(o,e),p(o,i),L.freeType(o)}else if(Array.isArray(e[0])||t(e[0])){r=W(e);var a=X(e,r,h.dtype);p(a,i),L.freeType(a)}else _.raise("invalid buffer data")}else if(R(e)){r=e.shape;var s=e.stride,u=0,c=0,l=0,f=0;1===r.length?(u=r[0],c=1,l=s[0],f=0):2===r.length?(u=r[0],c=r[1],l=s[0],f=s[1]):_.raise("invalid shape");var g=Array.isArray(e.data)?h.dtype:H(e.data),v=L.allocType(g,u*c);Z(v,e.data,u,c,l,f,e.offset),p(v,i),L.freeType(v)}else _.raise("invalid data for buffer subdata");return d},r.profile&&(d.stats=h.stats),d.destroy=function(){f(h)},d},createStream:function(t,e){var n=u.pop();return n||(n=new s(t)),n.bind(),l(n,e,35040,0,1,!1),n},destroyStream:function(t){u.push(t)},clear:function(){B(a).forEach(f),u.forEach(f)},getBuffer:function(t){return t&&t._buffer instanceof s?t._buffer:null},restore:function(){B(a).forEach((function(t){t.buffer=e.createBuffer(),e.bindBuffer(t.type,t.buffer),e.bufferData(t.type,t.persistentData||t.byteLength,t.usage)}))},_initBuffer:l}}(i,h,r,(function(t){return w.destroyBuffer(t)})),w=function(e,n,r,i,o){for(var a=r.maxAttributes,s=new Array(a),u=0;u<a;++u)s[u]=new Nt;var c=0,l={},f={Record:Nt,scope:{},state:s,currentVAO:null,targetVAO:null,restore:h()?function(){h()&&B(l).forEach((function(t){t.refresh()}))}:function(){},createVAO:function(e){var r=new p;function s(e){_(Array.isArray(e),"arguments to vertex array constructor must be an array"),_(e.length<a,"too many attributes"),_(e.length>0,"must specify at least one attribute");var i={},u=r.attributes;u.length=e.length;for(var c=0;c<e.length;++c){var l,f=e[c],h=u[c]=new Nt,d=f.data||f;Array.isArray(d)||t(d)||R(d)?(r.buffers[c]&&(l=r.buffers[c],t(d)&&l._buffer.byteLength>=d.byteLength?l.subdata(d):(l.destroy(),r.buffers[c]=null)),r.buffers[c]||(l=r.buffers[c]=o.create(f,34962,!1,!0)),h.buffer=o.getBuffer(l),h.size=0|h.buffer.dimension,h.normalized=!1,h.type=h.buffer.dtype,h.offset=0,h.stride=0,h.divisor=0,h.state=1,i[c]=1):o.getBuffer(f)?(h.buffer=o.getBuffer(f),h.size=0|h.buffer.dimension,h.normalized=!1,h.type=h.buffer.dtype,h.offset=0,h.stride=0,h.divisor=0,h.state=1):o.getBuffer(f.buffer)?(h.buffer=o.getBuffer(f.buffer),h.size=0|(+f.size||h.buffer.dimension),h.normalized=!!f.normalized||!1,"type"in f?(_.parameter(f.type,Y,"invalid buffer type"),h.type=Y[f.type]):h.type=h.buffer.dtype,h.offset=0|(f.offset||0),h.stride=0|(f.stride||0),h.divisor=0|(f.divisor||0),h.state=1,_(h.size>=1&&h.size<=4,"size must be between 1 and 4"),_(h.offset>=0,"invalid offset"),_(h.stride>=0&&h.stride<=255,"stride must be between 0 and 255"),_(h.divisor>=0,"divisor must be positive"),_(!h.divisor||!!n.angle_instanced_arrays,"ANGLE_instanced_arrays must be enabled to use divisor")):"x"in f?(_(c>0,"first attribute must not be a constant"),h.x=+f.x||0,h.y=+f.y||0,h.z=+f.z||0,h.w=+f.w||0,h.state=2):_(!1,"invalid attribute spec for location "+c)}for(var p=0;p<r.buffers.length;++p)!i[p]&&r.buffers[p]&&(r.buffers[p].destroy(),r.buffers[p]=null);return r.refresh(),s}return i.vaoCount+=1,s.destroy=function(){for(var t=0;t<r.buffers.length;++t)r.buffers[t]&&r.buffers[t].destroy();r.buffers.length=0,r.destroy()},s._vao=r,s._reglType="vao",s(e)},getVAO:function(t){return"function"==typeof t&&t._vao?t._vao:null},destroyBuffer:function(t){for(var n=0;n<s.length;++n){var r=s[n];r.buffer===t&&(e.disableVertexAttribArray(n),r.buffer=null)}},setVAO:h()?function(t){if(t!==f.currentVAO){var e=h();t?e.bindVertexArrayOES(t.vao):e.bindVertexArrayOES(null),f.currentVAO=t}}:function(t){if(t!==f.currentVAO){if(t)t.bindAttrs();else for(var n=d(),r=0;r<s.length;++r){var i=s[r];i.buffer?(e.enableVertexAttribArray(r),e.vertexAttribPointer(r,i.size,i.type,i.normalized,i.stride,i.offfset),n&&i.divisor&&n.vertexAttribDivisorANGLE(r,i.divisor)):(e.disableVertexAttribArray(r),e.vertexAttrib4f(r,i.x,i.y,i.z,i.w))}f.currentVAO=t}},clear:h()?function(){B(l).forEach((function(t){t.destroy()}))}:function(){}};function h(){return n.oes_vertex_array_object}function d(){return n.angle_instanced_arrays}function p(){this.id=++c,this.attributes=[];var t=h();this.vao=t?t.createVertexArrayOES():null,l[this.id]=this,this.buffers=[]}return p.prototype.bindAttrs=function(){for(var t=d(),n=this.attributes,r=0;r<n.length;++r){var i=n[r];i.buffer?(e.enableVertexAttribArray(r),e.bindBuffer(34962,i.buffer.buffer),e.vertexAttribPointer(r,i.size,i.type,i.normalized,i.stride,i.offset),t&&i.divisor&&t.vertexAttribDivisorANGLE(r,i.divisor)):(e.disableVertexAttribArray(r),e.vertexAttrib4f(r,i.x,i.y,i.z,i.w))}for(var o=n.length;o<a;++o)e.disableVertexAttribArray(o)},p.prototype.refresh=function(){var t=h();t&&(t.bindVertexArrayOES(this.vao),this.bindAttrs(),f.currentVAO=this)},p.prototype.destroy=function(){if(this.vao){var t=h();this===f.currentVAO&&(f.currentVAO=null,t.bindVertexArrayOES(null)),t.deleteVertexArrayOES(this.vao),this.vao=null}l[this.id]&&(delete l[this.id],i.vaoCount-=1)},f}(i,d,b,h,x),E=function(e,n,r,i){var o={},a=0,s={uint8:5121,uint16:5123};function u(t){this.id=a++,o[this.id]=this,this.buffer=t,this.primType=4,this.vertCount=0,this.type=0}n.oes_element_index_uint&&(s.uint32=5125),u.prototype.bind=function(){this.buffer.bind()};var c=[];function l(i,o,a,s,u,c,l){var f;if(i.buffer.bind(),o){var h=l;l||t(o)&&(!R(o)||t(o.data))||(h=n.oes_element_index_uint?5125:5123),r._initBuffer(i.buffer,o,a,h,3)}else e.bufferData(34963,c,a),i.buffer.dtype=f||5121,i.buffer.usage=a,i.buffer.dimension=3,i.buffer.byteLength=c;if(f=l,!l){switch(i.buffer.dtype){case 5121:case 5120:f=5121;break;case 5123:case 5122:f=5123;break;case 5125:case 5124:f=5125;break;default:_.raise("unsupported type for element array")}i.buffer.dtype=f}i.type=f,_(5125!==f||!!n.oes_element_index_uint,"32 bit element buffers not supported, enable oes_element_index_uint first");var d=u;d<0&&(d=i.buffer.byteLength,5123===f?d>>=1:5125===f&&(d>>=2)),i.vertCount=d;var p=s;if(s<0){p=4;var g=i.buffer.dimension;1===g&&(p=0),2===g&&(p=1),3===g&&(p=4)}i.primType=p}function f(t){i.elementsCount--,_(null!==t.buffer,"must not double destroy elements"),delete o[t.id],t.buffer.destroy(),t.buffer=null}return{create:function(e,n){var o=r.create(null,34963,!0),a=new u(o._buffer);function c(e){if(e)if("number"==typeof e)o(e),a.primType=4,a.vertCount=0|e,a.type=5121;else{var n=null,r=35044,i=-1,u=-1,f=0,h=0;Array.isArray(e)||t(e)||R(e)?n=e:(_.type(e,"object","invalid arguments for elements"),"data"in e&&(n=e.data,_(Array.isArray(n)||t(n)||R(n),"invalid data for element buffer")),"usage"in e&&(_.parameter(e.usage,U,"invalid element buffer usage"),r=U[e.usage]),"primitive"in e&&(_.parameter(e.primitive,K,"invalid element buffer primitive"),i=K[e.primitive]),"count"in e&&(_("number"==typeof e.count&&e.count>=0,"invalid vertex count for elements"),u=0|e.count),"type"in e&&(_.parameter(e.type,s,"invalid buffer type"),h=s[e.type]),"length"in e?f=0|e.length:(f=u,5123===h||5122===h?f*=2:5125!==h&&5124!==h||(f*=4))),l(a,n,r,i,u,f,h)}else o(),a.primType=4,a.vertCount=0,a.type=5121;return c}return i.elementsCount++,c(e),c._reglType="elements",c._elements=a,c.subdata=function(t,e){return o.subdata(t,e),c},c.destroy=function(){f(a)},c},createStream:function(t){var e=c.pop();return e||(e=new u(r.create(null,34963,!0,!1)._buffer)),l(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){c.push(t)},getElements:function(t){return"function"==typeof t&&t._elements instanceof u?t._elements:null},clear:function(){B(o).forEach(f)}}}(i,d,x,h),S=function(t,n,r,i){var o={},a={};function s(t,e,n,r){this.name=t,this.id=e,this.location=n,this.info=r}function u(t,e){for(var n=0;n<t.length;++n)if(t[n].id===e.id)return void(t[n].location=e.location);t.push(e)}function c(e,r,i){var s=35632===e?o:a,u=s[r];if(!u){var c=n.str(r);u=t.createShader(e),t.shaderSource(u,c),t.compileShader(u),_.shaderError(t,u,c,e,i),s[r]=u}return u}var l={},f=[],h=0;function d(t,e){this.id=h++,this.fragId=t,this.vertId=e,this.program=null,this.uniforms=[],this.attributes=[],this.refCount=1,i.profile&&(this.stats={uniformsCount:0,attributesCount:0})}function p(e,r,o){var a,l,f=c(35632,e.fragId),h=c(35633,e.vertId),d=e.program=t.createProgram();if(t.attachShader(d,f),t.attachShader(d,h),o)for(a=0;a<o.length;++a){var p=o[a];t.bindAttribLocation(d,p[0],p[1])}t.linkProgram(d),_.linkError(t,d,n.str(e.fragId),n.str(e.vertId),r);var g=t.getProgramParameter(d,35718);i.profile&&(e.stats.uniformsCount=g);var v=e.uniforms;for(a=0;a<g;++a)if(l=t.getActiveUniform(d,a))if(l.size>1)for(var y=0;y<l.size;++y){var m=l.name.replace("[0]","["+y+"]");u(v,new s(m,n.id(m),t.getUniformLocation(d,m),l))}else u(v,new s(l.name,n.id(l.name),t.getUniformLocation(d,l.name),l));var b=t.getProgramParameter(d,35721);i.profile&&(e.stats.attributesCount=b);var x=e.attributes;for(a=0;a<b;++a)(l=t.getActiveAttrib(d,a))&&u(x,new s(l.name,n.id(l.name),t.getAttribLocation(d,l.name),l))}return i.profile&&(r.getMaxUniformsCount=function(){var t=0;return f.forEach((function(e){e.stats.uniformsCount>t&&(t=e.stats.uniformsCount)})),t},r.getMaxAttributesCount=function(){var t=0;return f.forEach((function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)})),t}),{clear:function(){var e=t.deleteShader.bind(t);B(o).forEach(e),o={},B(a).forEach(e),a={},f.forEach((function(e){t.deleteProgram(e.program)})),f.length=0,l={},r.shaderCount=0},program:function(n,i,s,u){_.command(n>=0,"missing vertex shader",s),_.command(i>=0,"missing fragment shader",s);var c=l[i];c||(c=l[i]={});var h=c[n];if(h&&(h.refCount++,!u))return h;var g=new d(i,n);return r.shaderCount++,p(g,s,u),h||(c[n]=g),f.push(g),e(g,{destroy:function(){if(g.refCount--,g.refCount<=0){t.deleteProgram(g.program);var e=f.indexOf(g);f.splice(e,1),r.shaderCount--}c[g.vertId].refCount<=0&&(t.deleteShader(a[g.vertId]),delete a[g.vertId],delete l[g.fragId][g.vertId]),Object.keys(l[g.fragId]).length||(t.deleteShader(o[g.fragId]),delete o[g.fragId],delete l[g.fragId])}})},restore:function(){o={},a={};for(var t=0;t<f.length;++t)p(f[t],null,f[t].attributes.map((function(t){return[t.location,t.name]})))},shader:c,frag:-1,vert:-1}}(i,f,h,r),M=Mt(i,d,b,(function(){I.procs.poll()}),m,h,r),O=function(t,e,n,r,i){var o={rgba4:32854,rgb565:36194,"rgb5 a1":32855,depth:33189,stencil:36168,"depth stencil":34041};e.ext_srgb&&(o.srgba=35907),e.ext_color_buffer_half_float&&(o.rgba16f=34842,o.rgb16f=34843),e.webgl_color_buffer_float&&(o.rgba32f=34836);var s=[];Object.keys(o).forEach((function(t){var e=o[t];s[e]=t}));var u=0,c={};function l(t){this.id=u++,this.refCount=1,this.renderbuffer=t,this.format=32854,this.width=0,this.height=0,i.profile&&(this.stats={size:0})}function f(e){var n=e.renderbuffer;_(n,"must not double destroy renderbuffer"),t.bindRenderbuffer(36161,null),t.deleteRenderbuffer(n),e.renderbuffer=null,e.refCount=0,delete c[e.id],r.renderbufferCount--}return l.prototype.decRef=function(){--this.refCount<=0&&f(this)},i.profile&&(r.getTotalRenderbufferSize=function(){var t=0;return Object.keys(c).forEach((function(e){t+=c[e].stats.size})),t}),{create:function(e,u){var f=new l(t.createRenderbuffer());function h(e,r){var u=0,c=0,l=32854;if("object"===a(e)&&e){var d=e;if("shape"in d){var p=d.shape;_(Array.isArray(p)&&p.length>=2,"invalid renderbuffer shape"),u=0|p[0],c=0|p[1]}else"radius"in d&&(u=c=0|d.radius),"width"in d&&(u=0|d.width),"height"in d&&(c=0|d.height);"format"in d&&(_.parameter(d.format,o,"invalid renderbuffer format"),l=o[d.format])}else"number"==typeof e?(u=0|e,c="number"==typeof r?0|r:u):e?_.raise("invalid arguments to renderbuffer constructor"):u=c=1;if(_(u>0&&c>0&&u<=n.maxRenderbufferSize&&c<=n.maxRenderbufferSize,"invalid renderbuffer size"),u!==f.width||c!==f.height||l!==f.format)return h.width=f.width=u,h.height=f.height=c,f.format=l,t.bindRenderbuffer(36161,f.renderbuffer),t.renderbufferStorage(36161,l,u,c),_(0===t.getError(),"invalid render buffer format"),i.profile&&(f.stats.size=kt(f.format,f.width,f.height)),h.format=s[f.format],h}return c[f.id]=f,r.renderbufferCount++,h(e,u),h.resize=function(e,r){var o=0|e,a=0|r||o;return o===f.width&&a===f.height||(_(o>0&&a>0&&o<=n.maxRenderbufferSize&&a<=n.maxRenderbufferSize,"invalid renderbuffer size"),h.width=f.width=o,h.height=f.height=a,t.bindRenderbuffer(36161,f.renderbuffer),t.renderbufferStorage(36161,f.format,o,a),_(0===t.getError(),"invalid render buffer format"),i.profile&&(f.stats.size=kt(f.format,f.width,f.height))),h},h._reglType="renderbuffer",h._renderbuffer=f,i.profile&&(h.stats=f.stats),h.destroy=function(){f.decRef()},h},clear:function(){B(c).forEach(f)},restore:function(){B(c).forEach((function(e){e.renderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(36161,e.renderbuffer),t.renderbufferStorage(36161,e.format,e.width,e.height)})),t.bindRenderbuffer(36161,null)}}}(i,d,b,h,r),j=function(t,n,r,i,o,s){var u={cur:null,next:null,dirty:!1,setFBO:null},c=["rgba"],l=["rgba4","rgb565","rgb5 a1"];n.ext_srgb&&l.push("srgba"),n.ext_color_buffer_half_float&&l.push("rgba16f","rgb16f"),n.webgl_color_buffer_float&&l.push("rgba32f");var f=["uint8"];function h(t,e,n){this.target=t,this.texture=e,this.renderbuffer=n;var r=0,i=0;e?(r=e.width,i=e.height):n&&(r=n.width,i=n.height),this.width=r,this.height=i}function d(t){t&&(t.texture&&t.texture._texture.decRef(),t.renderbuffer&&t.renderbuffer._renderbuffer.decRef())}function p(t,e,n){if(t)if(t.texture){var r=t.texture._texture,i=Math.max(1,r.width),o=Math.max(1,r.height);_(i===e&&o===n,"inconsistent width/height for supplied texture"),r.refCount+=1}else{var a=t.renderbuffer._renderbuffer;_(a.width===e&&a.height===n,"inconsistent width/height for renderbuffer"),a.refCount+=1}}function g(e,n){n&&(n.texture?t.framebufferTexture2D(36160,e,n.target,n.texture._texture.texture,0):t.framebufferRenderbuffer(36160,e,36161,n.renderbuffer._renderbuffer.renderbuffer))}function v(t){var e=3553,n=null,r=null,i=t;"object"===a(t)&&(i=t.data,"target"in t&&(e=0|t.target)),_.type(i,"function","invalid attachment data");var o=i._reglType;return"texture2d"===o?(n=i,_(3553===e)):"textureCube"===o?(n=i,_(e>=34069&&e<34075,"invalid cube map target")):"renderbuffer"===o?(r=i,e=36161):_.raise("invalid regl object for attachment"),new h(e,n,r)}function y(t,e,n,r,a){if(n){var s=i.create2D({width:t,height:e,format:r,type:a});return s._texture.refCount=0,new h(3553,s,null)}var u=o.create({width:t,height:e,format:r});return u._renderbuffer.refCount=0,new h(36161,null,u)}function m(t){return t&&(t.texture||t.renderbuffer)}function b(t,e,n){t&&(t.texture?t.texture.resize(e,n):t.renderbuffer&&t.renderbuffer.resize(e,n),t.width=e,t.height=n)}n.oes_texture_half_float&&f.push("half float","float16"),n.oes_texture_float&&f.push("float","float32");var x=0,w={};function E(){this.id=x++,w[this.id]=this,this.framebuffer=t.createFramebuffer(),this.width=0,this.height=0,this.colorAttachments=[],this.depthAttachment=null,this.stencilAttachment=null,this.depthStencilAttachment=null}function S(t){t.colorAttachments.forEach(d),d(t.depthAttachment),d(t.stencilAttachment),d(t.depthStencilAttachment)}function M(e){var n=e.framebuffer;_(n,"must not double destroy framebuffer"),t.deleteFramebuffer(n),e.framebuffer=null,s.framebufferCount--,delete w[e.id]}function O(e){var n;t.bindFramebuffer(36160,e.framebuffer);var i=e.colorAttachments;for(n=0;n<i.length;++n)g(36064+n,i[n]);for(n=i.length;n<r.maxColorAttachments;++n)t.framebufferTexture2D(36160,36064+n,3553,null,0);t.framebufferTexture2D(36160,33306,3553,null,0),t.framebufferTexture2D(36160,36096,3553,null,0),t.framebufferTexture2D(36160,36128,3553,null,0),g(36096,e.depthAttachment),g(36128,e.stencilAttachment),g(33306,e.depthStencilAttachment);var o=t.checkFramebufferStatus(36160);t.isContextLost()||36053===o||_.raise("framebuffer configuration not supported, status = "+Tt[o]),t.bindFramebuffer(36160,u.next?u.next.framebuffer:null),u.cur=u.next,t.getError()}function k(t,i){var o=new E;function a(t,e){var i;_(u.next!==o,"can not update framebuffer which is currently in use");var s=0,h=0,d=!0,g=!0,b=null,x=!0,w="rgba",E="uint8",M=1,k=null,A=null,C=null,j=!1;if("number"==typeof t)s=0|t,h=0|e||s;else if(t){_.type(t,"object","invalid arguments for framebuffer");var I=t;if("shape"in I){var T=I.shape;_(Array.isArray(T)&&T.length>=2,"invalid shape for framebuffer"),s=T[0],h=T[1]}else"radius"in I&&(s=h=I.radius),"width"in I&&(s=I.width),"height"in I&&(h=I.height);("color"in I||"colors"in I)&&(b=I.color||I.colors,Array.isArray(b)&&_(1===b.length||n.webgl_draw_buffers,"multiple render targets not supported")),b||("colorCount"in I&&(M=0|I.colorCount,_(M>0,"invalid color buffer count")),"colorTexture"in I&&(x=!!I.colorTexture,w="rgba4"),"colorType"in I&&(E=I.colorType,x?(_(n.oes_texture_float||!("float"===E||"float32"===E),"you must enable OES_texture_float in order to use floating point framebuffer objects"),_(n.oes_texture_half_float||!("half float"===E||"float16"===E),"you must enable OES_texture_half_float in order to use 16-bit floating point framebuffer objects")):"half float"===E||"float16"===E?(_(n.ext_color_buffer_half_float,"you must enable EXT_color_buffer_half_float to use 16-bit render buffers"),w="rgba16f"):"float"!==E&&"float32"!==E||(_(n.webgl_color_buffer_float,"you must enable WEBGL_color_buffer_float in order to use 32-bit floating point renderbuffers"),w="rgba32f"),_.oneOf(E,f,"invalid color type")),"colorFormat"in I&&(w=I.colorFormat,c.indexOf(w)>=0?x=!0:l.indexOf(w)>=0?x=!1:x?_.oneOf(I.colorFormat,c,"invalid color format for texture"):_.oneOf(I.colorFormat,l,"invalid color format for renderbuffer"))),("depthTexture"in I||"depthStencilTexture"in I)&&(j=!(!I.depthTexture&&!I.depthStencilTexture),_(!j||n.webgl_depth_texture,"webgl_depth_texture extension not supported")),"depth"in I&&("boolean"==typeof I.depth?d=I.depth:(k=I.depth,g=!1)),"stencil"in I&&("boolean"==typeof I.stencil?g=I.stencil:(A=I.stencil,d=!1)),"depthStencil"in I&&("boolean"==typeof I.depthStencil?d=g=I.depthStencil:(C=I.depthStencil,d=!1,g=!1))}else s=h=1;var N=null,P=null,D=null,L=null;if(Array.isArray(b))N=b.map(v);else if(b)N=[v(b)];else for(N=new Array(M),i=0;i<M;++i)N[i]=y(s,h,x,w,E);_(n.webgl_draw_buffers||N.length<=1,"you must enable the WEBGL_draw_buffers extension in order to use multiple color buffers."),_(N.length<=r.maxColorAttachments,"too many color attachments, not supported"),s=s||N[0].width,h=h||N[0].height,k?P=v(k):d&&!g&&(P=y(s,h,j,"depth","uint32")),A?D=v(A):g&&!d&&(D=y(s,h,!1,"stencil","uint8")),C?L=v(C):!k&&!A&&g&&d&&(L=y(s,h,j,"depth stencil","depth stencil")),_(!!k+!!A+!!C<=1,"invalid framebuffer configuration, can specify exactly one depth/stencil attachment");var R=null;for(i=0;i<N.length;++i)if(p(N[i],s,h),_(!N[i]||N[i].texture&&At.indexOf(N[i].texture._texture.format)>=0||N[i].renderbuffer&&It.indexOf(N[i].renderbuffer._renderbuffer.format)>=0,"framebuffer color attachment "+i+" is invalid"),N[i]&&N[i].texture){var B=Ct[N[i].texture._texture.format]*jt[N[i].texture._texture.type];null===R?R=B:_(R===B,"all color attachments much have the same number of bits per pixel.")}return p(P,s,h),_(!P||P.texture&&6402===P.texture._texture.format||P.renderbuffer&&33189===P.renderbuffer._renderbuffer.format,"invalid depth attachment for framebuffer object"),p(D,s,h),_(!D||D.renderbuffer&&36168===D.renderbuffer._renderbuffer.format,"invalid stencil attachment for framebuffer object"),p(L,s,h),_(!L||L.texture&&34041===L.texture._texture.format||L.renderbuffer&&34041===L.renderbuffer._renderbuffer.format,"invalid depth-stencil attachment for framebuffer object"),S(o),o.width=s,o.height=h,o.colorAttachments=N,o.depthAttachment=P,o.stencilAttachment=D,o.depthStencilAttachment=L,a.color=N.map(m),a.depth=m(P),a.stencil=m(D),a.depthStencil=m(L),a.width=o.width,a.height=o.height,O(o),a}return s.framebufferCount++,a(t,i),e(a,{resize:function(t,e){_(u.next!==o,"can not resize a framebuffer which is currently in use");var n=Math.max(0|t,1),r=Math.max(0|e||n,1);if(n===o.width&&r===o.height)return a;for(var i=o.colorAttachments,s=0;s<i.length;++s)b(i[s],n,r);return b(o.depthAttachment,n,r),b(o.stencilAttachment,n,r),b(o.depthStencilAttachment,n,r),o.width=a.width=n,o.height=a.height=r,O(o),a},_reglType:"framebuffer",_framebuffer:o,destroy:function(){M(o),S(o)},use:function(t){u.setFBO({framebuffer:a},t)}})}return e(u,{getFramebuffer:function(t){if("function"==typeof t&&"framebuffer"===t._reglType){var e=t._framebuffer;if(e instanceof E)return e}return null},create:k,createCube:function(t){var o=Array(6);function a(t){var r;_(o.indexOf(u.next)<0,"can not update framebuffer which is currently in use");var s,l={color:null},h=0,d=null,p="rgba",g="uint8",v=1;if("number"==typeof t)h=0|t;else if(t){_.type(t,"object","invalid arguments for framebuffer");var y=t;if("shape"in y){var m=y.shape;_(Array.isArray(m)&&m.length>=2,"invalid shape for framebuffer"),_(m[0]===m[1],"cube framebuffer must be square"),h=m[0]}else"radius"in y&&(h=0|y.radius),"width"in y?(h=0|y.width,"height"in y&&_(y.height===h,"must be square")):"height"in y&&(h=0|y.height);("color"in y||"colors"in y)&&(d=y.color||y.colors,Array.isArray(d)&&_(1===d.length||n.webgl_draw_buffers,"multiple render targets not supported")),d||("colorCount"in y&&(v=0|y.colorCount,_(v>0,"invalid color buffer count")),"colorType"in y&&(_.oneOf(y.colorType,f,"invalid color type"),g=y.colorType),"colorFormat"in y&&(p=y.colorFormat,_.oneOf(y.colorFormat,c,"invalid color format for texture"))),"depth"in y&&(l.depth=y.depth),"stencil"in y&&(l.stencil=y.stencil),"depthStencil"in y&&(l.depthStencil=y.depthStencil)}else h=1;if(d)if(Array.isArray(d))for(s=[],r=0;r<d.length;++r)s[r]=d[r];else s=[d];else{s=Array(v);var b={radius:h,format:p,type:g};for(r=0;r<v;++r)s[r]=i.createCube(b)}for(l.color=Array(s.length),r=0;r<s.length;++r){var x=s[r];_("function"==typeof x&&"textureCube"===x._reglType,"invalid cube map"),h=h||x.width,_(x.width===h&&x.height===h,"invalid cube map shape"),l.color[r]={target:34069,data:s[r]}}for(r=0;r<6;++r){for(var w=0;w<s.length;++w)l.color[w].target=34069+r;r>0&&(l.depth=o[0].depth,l.stencil=o[0].stencil,l.depthStencil=o[0].depthStencil),o[r]?o[r](l):o[r]=k(l)}return e(a,{width:h,height:h,color:s})}return a(t),e(a,{faces:o,resize:function(t){var e,n=0|t;if(_(n>0&&n<=r.maxCubeMapSize,"invalid radius for cube fbo"),n===a.width)return a;var i=a.color;for(e=0;e<i.length;++e)i[e].resize(n);for(e=0;e<6;++e)o[e].resize(n);return a.width=a.height=n,a},_reglType:"framebufferCube",destroy:function(){o.forEach((function(t){t.destroy()}))}})},clear:function(){B(w).forEach(M)},restore:function(){u.cur=null,u.next=null,u.dirty=!0,B(w).forEach((function(e){e.framebuffer=t.createFramebuffer(),O(e)}))}})}(i,d,b,M,O,h),I=le(i,f,d,b,x,E,0,j,{},w,S,{elements:null,primitive:4,count:-1,offset:0,instances:-1},m,p,r),N=Pt(i,j,I.procs.poll,m,o,d,b),P=I.next,D=i.canvas,F=[],z=[],G=[],Q=[r.onDestroy],$=null;function J(){if(0===F.length)return p&&p.update(),void($=null);$=A.next(J),ct();for(var t=F.length-1;t>=0;--t){var e=F[t];e&&e(m,null,0)}i.flush(),p&&p.update()}function tt(){!$&&F.length>0&&($=A.next(J))}function et(){$&&(A.cancel(J),$=null)}function nt(t){t.preventDefault(),s=!0,et(),z.forEach((function(t){t()}))}function rt(t){i.getError(),s=!1,u.restore(),S.restore(),x.restore(),M.restore(),O.restore(),j.restore(),w.restore(),p&&p.restore(),I.procs.refresh(),tt(),G.forEach((function(t){t()}))}function it(t){function n(t,e){var n={},r={};return Object.keys(t).forEach((function(i){var o=t[i];if(k.isDynamic(o))r[i]=k.unbox(o,i);else{if(e&&Array.isArray(o))for(var a=0;a<o.length;++a)if(k.isDynamic(o[a]))return void(r[i]=k.unbox(o,i));n[i]=o}})),{dynamic:r,static:n}}_(!!t,"invalid args to regl({...})"),_.type(t,"object","invalid args to regl({...})");var r=n(t.context||{},!0),i=n(t.uniforms||{},!0),o=n(t.attributes||{},!1),a=n(function(t){var n=e({},t);function r(t){if(t in n){var e=n[t];delete n[t],Object.keys(e).forEach((function(r){n[t+"."+r]=e[r]}))}}return delete n.uniforms,delete n.attributes,delete n.context,delete n.vao,"stencil"in n&&n.stencil.op&&(n.stencil.opBack=n.stencil.opFront=n.stencil.op,delete n.stencil.op),r("blend"),r("depth"),r("cull"),r("stencil"),r("polygonOffset"),r("scissor"),r("sample"),"vao"in t&&(n.vao=t.vao),n}(t),!1),u={gpuTime:0,cpuTime:0,count:0},c=I.compile(a,o,i,r,u),l=c.draw,f=c.batch,h=c.scope,d=[];return e((function(t,e){var n;if(s&&_.raise("context lost"),"function"==typeof t)return h.call(this,null,t,0);if("function"==typeof e)if("number"==typeof t)for(n=0;n<t;++n)h.call(this,null,e,n);else{if(!Array.isArray(t))return h.call(this,t,e,0);for(n=0;n<t.length;++n)h.call(this,t[n],e,n)}else if("number"==typeof t){if(t>0)return f.call(this,function(t){for(;d.length<t;)d.push(null);return d}(0|t),0|t)}else{if(!Array.isArray(t))return l.call(this,t);if(t.length)return f.call(this,t,t.length)}}),{stats:u,destroy:function(){c.destroy()}})}D&&(D.addEventListener("webglcontextlost",nt,!1),D.addEventListener("webglcontextrestored",rt,!1));var ot=j.setFBO=it({framebuffer:k.define.call(null,1,"framebuffer")});function at(t,e){var n=0;I.procs.poll();var r=e.color;r&&(i.clearColor(+r[0]||0,+r[1]||0,+r[2]||0,+r[3]||0),n|=16384),"depth"in e&&(i.clearDepth(+e.depth),n|=256),"stencil"in e&&(i.clearStencil(0|e.stencil),n|=1024),_(!!n,"called regl.clear with no buffer specified"),i.clear(n)}function st(t){return _.type(t,"function","regl.frame() callback must be a function"),F.push(t),tt(),{cancel:function(){var e=he(F,t);_(e>=0,"cannot cancel a frame twice"),F[e]=function t(){var e=he(F,t);F[e]=F[F.length-1],F.length-=1,F.length<=0&&et()}}}}function ut(){var t=P.viewport,e=P.scissor_box;t[0]=t[1]=e[0]=e[1]=0,m.viewportWidth=m.framebufferWidth=m.drawingBufferWidth=t[2]=e[2]=i.drawingBufferWidth,m.viewportHeight=m.framebufferHeight=m.drawingBufferHeight=t[3]=e[3]=i.drawingBufferHeight}function ct(){m.tick+=1,m.time=ft(),ut(),I.procs.poll()}function lt(){M.refresh(),ut(),I.procs.refresh(),p&&p.update()}function ft(){return(C()-g)/1e3}lt();var ht=e(it,{clear:function(t){if(_("object"===a(t)&&t,"regl.clear() takes an object as input"),"framebuffer"in t)if(t.framebuffer&&"framebufferCube"===t.framebuffer_reglType)for(var n=0;n<6;++n)ot(e({framebuffer:t.framebuffer.faces[n]},t),at);else ot(t,at);else at(0,t)},prop:k.define.bind(null,1),context:k.define.bind(null,2),this:k.define.bind(null,3),draw:it({}),buffer:function(t){return x.create(t,34962,!1,!1)},elements:function(t){return E.create(t,!1)},texture:M.create2D,cube:M.createCube,renderbuffer:O.create,framebuffer:j.create,framebufferCube:j.createCube,vao:w.createVAO,attributes:o,frame:st,on:function(t,e){var n;switch(_.type(e,"function","listener callback must be a function"),t){case"frame":return st(e);case"lost":n=z;break;case"restore":n=G;break;case"destroy":n=Q;break;default:_.raise("invalid event, must be one of frame,lost,restore,destroy")}return n.push(e),{cancel:function(){for(var t=0;t<n.length;++t)if(n[t]===e)return n[t]=n[n.length-1],void n.pop()}}},limits:b,hasExtension:function(t){return b.extensions.indexOf(t.toLowerCase())>=0},read:N,destroy:function(){F.length=0,et(),D&&(D.removeEventListener("webglcontextlost",nt),D.removeEventListener("webglcontextrestored",rt)),S.clear(),j.clear(),O.clear(),M.clear(),E.clear(),x.clear(),w.clear(),p&&p.clear(),Q.forEach((function(t){t()}))},_gl:i,_refresh:lt,poll:function(){ct(),p&&p.update()},now:ft,stats:h});return r.onDone(null,ht),ht}},"object"===a(e)&&void 0!==t?t.exports=o():void 0===(i="function"==typeof(r=o)?r.call(e,n,e,t):r)||(t.exports=i)},function(t,e,n){var r=n(195),i=n(196),o=n(197),a=n(198);t.exports=function(t){return r(t)||i(t)||o(t)||a()},t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e,n){var r=n(64),i=n(199),o=n(65),a=Function.prototype,s=Object.prototype,u=a.toString,c=s.hasOwnProperty,l=u.call(Object);t.exports=function(t){if(!o(t)||"[object Object]"!=r(t))return!1;var e=i(t);if(null===e)return!0;var n=c.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&u.call(n)==l}},,,function(t,e){var n,r,i=t.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function s(t){if(n===setTimeout)return setTimeout(t,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(t){n=o}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(t){r=a}}();var u,c=[],l=!1,f=-1;function h(){l&&u&&(l=!1,u.length?c=u.concat(c):f=-1,c.length&&d())}function d(){if(!l){var t=s(h);l=!0;for(var e=c.length;e;){for(u=c,c=[];++f<e;)u&&u[f].run();f=-1,e=c.length}u=null,l=!1,function(t){if(r===clearTimeout)return clearTimeout(t);if((r===a||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(t);try{r(t)}catch(e){try{return r.call(null,t)}catch(e){return r.call(this,t)}}}(t)}}function p(t,e){this.fun=t,this.array=e}function g(){}i.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];c.push(new p(t,e)),1!==c.length||l||s(d)},p.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=g,i.addListener=g,i.once=g,i.off=g,i.removeListener=g,i.removeAllListeners=g,i.emit=g,i.prependListener=g,i.prependOnceListener=g,i.listeners=function(t){return[]},i.binding=function(t){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(t){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.pageRankAsync=e.minimumSpanningTreeAsync=e.louvainAsync=e.labelPropagationAsync=e.getOutDegreeAsync=e.getNeighborsAsync=e.getInDegreeAsync=e.getDegreeAsync=e.getAdjMatrixAsync=e.floydWarshallAsync=e.findShortestPathAsync=e.findAllPathAsync=e.dijkstraAsync=e.detectCycleAsync=e.detectAllUndirectedCycleAsync=e.detectAllDirectedCycleAsync=e.detectAllCyclesAsync=e.connectedComponentAsync=e.GADDIAsync=void 0;var r,i=(r=n(125))&&r.__esModule?r:{default:r},o=n(57);e.getAdjMatrixAsync=function(t,e){return(0,i.default)(o.ALGORITHM.getAdjMatrix).apply(void 0,[t,e])};e.connectedComponentAsync=function(t,e){return(0,i.default)(o.ALGORITHM.connectedComponent).apply(void 0,[t,e])};e.getDegreeAsync=function(t){return(0,i.default)(o.ALGORITHM.getDegree)(t)};e.getInDegreeAsync=function(t,e){return(0,i.default)(o.ALGORITHM.getInDegree)(t,e)};e.getOutDegreeAsync=function(t,e){return(0,i.default)(o.ALGORITHM.getOutDegree)(t,e)};e.detectCycleAsync=function(t){return(0,i.default)(o.ALGORITHM.detectCycle)(t)};e.detectAllCyclesAsync=function(t){return(0,i.default)(o.ALGORITHM.detectAllCycles)(t)};e.detectAllDirectedCycleAsync=function(t){return(0,i.default)(o.ALGORITHM.detectAllDirectedCycle)(t)};e.detectAllUndirectedCycleAsync=function(t){return(0,i.default)(o.ALGORITHM.detectAllUndirectedCycle)(t)};e.dijkstraAsync=function(t,e,n,r){return(0,i.default)(o.ALGORITHM.dijkstra).apply(void 0,[t,e,n,r])};e.findAllPathAsync=function(t,e,n,r){return(0,i.default)(o.ALGORITHM.findAllPath).apply(void 0,[t,e,n,r])};e.findShortestPathAsync=function(t,e,n,r,a){return(0,i.default)(o.ALGORITHM.findShortestPath).apply(void 0,[t,e,n,r,a])};e.floydWarshallAsync=function(t,e){return(0,i.default)(o.ALGORITHM.floydWarshall).apply(void 0,[t,e])};e.labelPropagationAsync=function(t,e,n,r){return void 0===r&&(r=1e3),(0,i.default)(o.ALGORITHM.labelPropagation)(t,e,n,r)};e.louvainAsync=function(t,e,n,r){return(0,i.default)(o.ALGORITHM.louvain)(t,e,n,r)};e.minimumSpanningTreeAsync=function(t,e,n){return(0,i.default)(o.ALGORITHM.minimumSpanningTree).apply(void 0,[t,e,n])};e.pageRankAsync=function(t,e,n){return(0,i.default)(o.ALGORITHM.pageRank).apply(void 0,[t,e,n])};e.getNeighborsAsync=function(t,e,n){return(0,i.default)(o.ALGORITHM.getNeighbors).apply(void 0,[t,e,n])};e.GADDIAsync=function(t,e,n,r,a,s,u){return void 0===n&&(n=!1),void 0===s&&(s="cluster"),void 0===u&&(u="cluster"),(0,i.default)(o.ALGORITHM.GADDI).apply(void 0,[t,e,n,r,a,s,u])}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var r,i=n(57),o=(r=n(126))&&r.__esModule?r:{default:r};var a=function(t){return function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return new Promise((function(n,r){var a=new o.default;a.postMessage({_algorithmType:t,data:e}),a.onmessage=function(t){var e=t.data,o=e.data,s=e._algorithmType;i.MESSAGE.SUCCESS===s?n(o):r(),a.terminate()}}))}};e.default=a},function(t,e,n){"use strict";function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var i=function(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!==r(t)&&"function"!=typeof t)return{default:t};var n=a(e);if(n&&n.has(t))return n.get(t);var i={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if("default"!==s&&Object.prototype.hasOwnProperty.call(t,s)){var u=o?Object.getOwnPropertyDescriptor(t,s):null;u&&(u.get||u.set)?Object.defineProperty(i,s,u):i[s]=t[s]}i.default=t,n&&n.set(t,i);return i}(n(127)),o=n(57);function a(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(a=function(t){return t?n:e})(t)}var s="undefined"!=typeof self?self:{};s.onmessage=function(t){var e=t.data,n=e._algorithmType,r=e.data;if(n)if("function"!=typeof i[n])s.postMessage({_algorithmType:o.MESSAGE.FAILURE});else{var a=i[n].apply(i,r);s.postMessage({_algorithmType:o.MESSAGE.SUCCESS,data:a})}};e.default=null},function(t,e,n){"use strict";function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"GADDI",{enumerable:!0,get:function(){return y.default}}),Object.defineProperty(e,"breadthFirstSearch",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(e,"connectedComponent",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(e,"depthFirstSearch",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(e,"detectCycle",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(e,"dijkstra",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(e,"findAllPath",{enumerable:!0,get:function(){return f.findAllPath}}),Object.defineProperty(e,"findShortestPath",{enumerable:!0,get:function(){return f.findShortestPath}}),Object.defineProperty(e,"floydWarshall",{enumerable:!0,get:function(){return h.default}}),Object.defineProperty(e,"getAdjMatrix",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(e,"getDegree",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(e,"getInDegree",{enumerable:!0,get:function(){return s.getInDegree}}),Object.defineProperty(e,"getNeighbors",{enumerable:!0,get:function(){return m.getNeighbors}}),Object.defineProperty(e,"getOutDegree",{enumerable:!0,get:function(){return s.getOutDegree}}),Object.defineProperty(e,"labelPropagation",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(e,"louvain",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(e,"minimumSpanningTree",{enumerable:!0,get:function(){return g.default}}),Object.defineProperty(e,"pageRank",{enumerable:!0,get:function(){return v.default}});var i=x(n(45)),o=x(n(128)),a=x(n(73)),s=function(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!==r(t)&&"function"!=typeof t)return{default:t};var n=b(e);if(n&&n.has(t))return n.get(t);var i={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in t)if("default"!==a&&Object.prototype.hasOwnProperty.call(t,a)){var s=o?Object.getOwnPropertyDescriptor(t,a):null;s&&(s.get||s.set)?Object.defineProperty(i,a,s):i[a]=t[a]}i.default=t,n&&n.set(t,i);return i}(n(74)),u=x(n(131)),c=x(n(75)),l=x(n(58)),f=n(132),h=x(n(76)),d=x(n(133)),p=x(n(134)),g=x(n(139)),v=x(n(142)),y=x(n(143)),m=n(27);function b(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(b=function(t){return t?n:e})(t)}function x(t){return t&&t.__esModule?t:{default:t}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var r,i=(r=n(129))&&r.__esModule?r:{default:r},o=n(27);var a=function(t,e,n,r){void 0===r&&(r=!0);var a=function(t){void 0===t&&(t={});var e,n=t,r=function(){},i=(e={},function(t){var n=t.next;return!e[n]&&(e[n]=!0,!0)});return n.allowTraversal=t.allowTraversal||i,n.enter=t.enter||r,n.leave=t.leave||r,n}(n),s=new i.default,u=t.edges,c=void 0===u?[]:u;s.enqueue(e);for(var l="",f=function(){var t=s.dequeue();a.enter({current:t,previous:l}),(0,o.getNeighbors)(t,c,r?"target":void 0).forEach((function(e){a.allowTraversal({previous:l,current:t,next:e})&&s.enqueue(e)})),a.leave({current:t,previous:l}),l=t};!s.isEmpty();)f()};e.default=a},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var r,i=(r=n(130))&&r.__esModule?r:{default:r};var o=function(){function t(){this.linkedList=new i.default}return t.prototype.isEmpty=function(){return!this.linkedList.head},t.prototype.peek=function(){return this.linkedList.head?this.linkedList.head.value:null},t.prototype.enqueue=function(t){this.linkedList.append(t)},t.prototype.dequeue=function(){var t=this.linkedList.deleteHead();return t?t.value:null},t.prototype.toString=function(t){return this.linkedList.toString(t)},t}();e.default=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.LinkedListNode=void 0;var r=function(t,e){return t===e},i=function(){function t(t,e){void 0===e&&(e=null),this.value=t,this.next=e}return t.prototype.toString=function(t){return t?t(this.value):"".concat(this.value)},t}();e.LinkedListNode=i;var o=function(){function t(t){void 0===t&&(t=r),this.head=null,this.tail=null,this.compare=t}return t.prototype.prepend=function(t){var e=new i(t,this.head);return this.head=e,this.tail||(this.tail=e),this},t.prototype.append=function(t){var e=new i(t);return this.head?(this.tail.next=e,this.tail=e,this):(this.head=e,this.tail=e,this)},t.prototype.delete=function(t){if(!this.head)return null;for(var e=null;this.head&&this.compare(this.head.value,t);)e=this.head,this.head=this.head.next;var n=this.head;if(null!==n)for(;n.next;)this.compare(n.next.value,t)?(e=n.next,n.next=n.next.next):n=n.next;return this.compare(this.tail.value,t)&&(this.tail=n),e},t.prototype.find=function(t){var e=t.value,n=void 0===e?void 0:e,r=t.callback,i=void 0===r?void 0:r;if(!this.head)return null;for(var o=this.head;o;){if(i&&i(o.value))return o;if(void 0!==n&&this.compare(o.value,n))return o;o=o.next}return null},t.prototype.deleteTail=function(){var t=this.tail;if(this.head===this.tail)return this.head=null,this.tail=null,t;for(var e=this.head;e.next;)e.next.next?e=e.next:e.next=null;return this.tail=e,t},t.prototype.deleteHead=function(){if(!this.head)return null;var t=this.head;return this.head.next?this.head=this.head.next:(this.head=null,this.tail=null),t},t.prototype.fromArray=function(t){var e=this;return t.forEach((function(t){return e.append(t)})),this},t.prototype.toArray=function(){for(var t=[],e=this.head;e;)t.push(e),e=e.next;return t},t.prototype.reverse=function(){for(var t=this.head,e=null,n=null;t;)n=t.next,t.next=e,e=t,t=n;this.tail=this.head,this.head=e},t.prototype.toString=function(t){return void 0===t&&(t=void 0),this.toArray().map((function(e){return e.toString(t)})).toString()},t}();e.default=o},function(t,e,n){"use strict";function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.detectAllUndirectedCycle=e.detectAllDirectedCycle=e.detectAllCycles=e.default=void 0;var i,o=(i=n(75))&&i.__esModule?i:{default:i},a=function(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!==r(t)&&"function"!=typeof t)return{default:t};var n=u(e);if(n&&n.has(t))return n.get(t);var i={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in t)if("default"!==a&&Object.prototype.hasOwnProperty.call(t,a)){var s=o?Object.getOwnPropertyDescriptor(t,a):null;s&&(s.get||s.set)?Object.defineProperty(i,a,s):i[a]=t[a]}i.default=t,n&&n.set(t,i);return i}(n(73)),s=n(27);function u(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(u=function(t){return t?n:e})(t)}var c=function(t,e,n){var r,i;void 0===n&&(n=!0);for(var o=[],u=0,c=(0,a.default)(t,!1);u<c.length;u++){var l=c[u];if(l.length)for(var f=l[0],h=f.id,d=[f],p=((r={})[h]=f,r),g=((i={})[h]=new Set,i);d.length>0;)for(var v=d.pop(),y=v.id,m=(0,s.getNeighbors)(y,t.edges),b=function(r){var i,a=m[r],s=t.nodes.find((function(t){return t.id===a}));if(a===y)o.push(((i={})[a]=v,i));else if(a in g){if(!g[y].has(s)){for(var u=!0,c=[s,v],l=p[y];g[a].size&&!g[a].has(l)&&(c.push(l),l!==p[l.id]);)l=p[l.id];if(c.push(l),e&&n?(u=!1,c.findIndex((function(t){return e.indexOf(t.id)>-1}))>-1&&(u=!0)):e&&!n&&c.findIndex((function(t){return e.indexOf(t.id)>-1}))>-1&&(u=!1),u){for(var f={},h=1;h<c.length;h+=1)f[c[h-1].id]=c[h];c.length&&(f[c[c.length-1].id]=c[0]),o.push(f)}g[a].add(v)}}else p[a]=v,d.push(s),g[a]=new Set([v])},x=0;x<m.length;x+=1)b(x)}return o};e.detectAllUndirectedCycle=c;var l=function(t,e,n){void 0===n&&(n=!0);for(var r=[],i=new Set,o=[],u=[],c={},l={},f=function t(a,s,l){var f=!1;if(e&&!1===n&&e.indexOf(a.id)>-1)return f;r.push(a),i.add(a);for(var h=l[a.id],d=0;d<h.length;d+=1){if((v=c[h[d]])===s){for(var p={},g=1;g<r.length;g+=1)p[r[g-1].id]=r[g];r.length&&(p[r[r.length-1].id]=r[0]),u.push(p),f=!0}else i.has(v)||t(v,s,l)&&(f=!0)}if(f)!function(t){for(var e=[t];e.length>0;){var n=e.pop();i.has(n)&&(i.delete(n),o[n.id].forEach((function(t){e.push(t)})),o[n.id].clear())}}(a);else for(d=0;d<h.length;d+=1){var v=c[h[d]];o[v.id].has(a)||o[v.id].add(a)}return r.pop(),f},h=t.nodes,d=void 0===h?[]:h,p=0;p<d.length;p+=1){var g=d[p],v=g.id;l[v]=p,c[p]=g}if(e&&n){var y=function(t){var n=e[t];l[d[t].id]=l[n],l[n]=0,c[0]=d.find((function(t){return t.id===n})),c[l[d[t].id]]=d[t]};for(p=0;p<e.length;p++)y(p)}for(var m=function(r){for(var i,o,a=1/0,c=0;c<r.length;c+=1)for(var f=r[c],h=0;h<f.length;h++){var d=l[f[h].id];d<a&&(a=d,o=c)}var p=r[o],g=[];for(c=0;c<p.length;c+=1){var v=p[c];g[v.id]=[];for(var y=0,m=(0,s.getNeighbors)(v.id,t.edges,"target").filter((function(t){return p.map((function(t){return t.id})).indexOf(t)>-1}));y<m.length;y++){var b=m[y];b!==v.id||!1===n&&e.indexOf(v.id)>-1?g[v.id].push(l[b]):u.push(((i={})[v.id]=v,i))}}return{component:p,adjList:g,minIdx:a}},b=0;b<d.length;){var x=d.filter((function(t){return l[t.id]>=b})),w=(0,a.detectStrongConnectComponents)({nodes:x,edges:t.edges}).filter((function(t){return t.length>1}));if(0===w.length)break;var _=m(w),E=_.minIdx,S=_.adjList,M=_.component;if(!(M.length>1))break;M.forEach((function(t){o[t.id]=new Set}));var O=c[E];if(e&&n&&-1===e.indexOf(O.id))return u;f(O,O,S),b=E+1}return u};e.detectAllDirectedCycle=l;e.detectAllCycles=function(t,e,n,r){return void 0===r&&(r=!0),e?l(t,n,r):c(t,n,r)};var f=function(t){var e=null,n=t.nodes,r={},i={},a={},s={};(void 0===n?[]:n).forEach((function(t){i[t.id]=t}));for(var u={enter:function(t){var n=t.current,o=t.previous;if(a[n]){e={};for(var s=n,u=o;u!==n;)e[s]=u,s=u,u=r[u];e[s]=u}else a[n]=n,delete i[n],r[n]=o},leave:function(t){var e=t.current;s[e]=e,delete a[e]},allowTraversal:function(t){var n=t.next;return!e&&!s[n]}};Object.keys(i).length;){var c=Object.keys(i)[0];(0,o.default)(t,c,u)}return e};e.default=f},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.findShortestPath=e.findAllPath=void 0;var r,i=(r=n(58))&&r.__esModule?r:{default:r},o=n(27);e.findShortestPath=function(t,e,n,r,o){var a=(0,i.default)(t,e,r,o),s=a.length,u=a.path,c=a.allPath;return{length:s[n],path:u[n],allPath:c[n]}};e.findAllPath=function(t,e,n,r){var i;if(e===n)return[[e]];var a=t.edges,s=void 0===a?[]:a,u=[e],c=((i={})[e]=!0,i),l=[],f=[],h=r?(0,o.getNeighbors)(e,s,"target"):(0,o.getNeighbors)(e,s);for(l.push(h);u.length>0&&l.length>0;){var d=l[l.length-1];if(d.length){var p=d.shift();if(p&&(u.push(p),c[p]=!0,h=r?(0,o.getNeighbors)(p,s,"target"):(0,o.getNeighbors)(p,s),l.push(h.filter((function(t){return!c[t]})))),u[u.length-1]===n){var g=u.map((function(t){return t}));f.push(g);v=u.pop();c[v]=!1,l.pop()}}else{var v=u.pop();c[v]=!1,l.pop()}}return f}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var r,i=(r=n(45))&&r.__esModule?r:{default:r},o=n(27);var a=function(t,e,n,r){void 0===e&&(e=!1),void 0===n&&(n="weight"),void 0===r&&(r=1e3);var a=t.nodes,s=void 0===a?[]:a,u=t.edges,c=void 0===u?[]:u,l={},f={};s.forEach((function(t,e){var n=(0,o.uniqueId)();t.clusterId=n,l[n]={id:n,nodes:[t]},f[t.id]={node:t,idx:e}}));var h=(0,i.default)(t,e),d=[],p={};h.forEach((function(t,e){var n=0,r=s[e].id;p[r]={},t.forEach((function(t,e){if(t){n+=t;var i=s[e].id;p[r][i]=t}})),d.push(n)}));for(var g=0,v=function(){var t=!1;if(s.forEach((function(e){var n={};Object.keys(p[e.id]).forEach((function(t){var r=p[e.id][t],i=f[t].node.clusterId;n[i]||(n[i]=0),n[i]+=r}));var r=-1/0,i=[];if(Object.keys(n).forEach((function(t){r<n[t]?(r=n[t],i=[t]):r===n[t]&&i.push(t)})),1!==i.length||i[0]!==e.clusterId){var o=i.indexOf(e.clusterId);if(o>=0&&i.splice(o,1),i&&i.length){t=!0;var a=l[e.clusterId],s=a.nodes.indexOf(e);a.nodes.splice(s,1);var u=Math.floor(Math.random()*i.length),c=l[i[u]];c.nodes.push(e),e.clusterId=c.id}}})),!t)return"break";g++};g<r;){if("break"===v())break}Object.keys(l).forEach((function(t){var e=l[t];e.nodes&&e.nodes.length||delete l[t]}));var y=[],m={};c.forEach((function(t){var e=t.source,r=t.target,i=t[n]||1,o=f[e].node.clusterId,a=f[r].node.clusterId,s="".concat(o,"---").concat(a);if(m[s])m[s].weight+=i,m[s].count++;else{var u={source:o,target:a,weight:i,count:1};m[s]=u,y.push(u)}}));var b=[];return Object.keys(l).forEach((function(t){b.push(l[t])})),{clusters:b,clusterEdges:y}};e.default=a},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var r=n(0),i=u(n(45)),o=u(n(77)),a=n(135),s=n(137);function u(t){return t&&t.__esModule?t:{default:t}}var c=function(t,e,n,r){for(var i=e.length,o=2*r,a=0,s=0;s<i;s++)for(var u=t[s].clusterId,c=0;c<i;c++){if(u===t[c].clusterId)a+=(e[s][c]||0)-(n[s]||0)*(n[c]||0)/o}return a*=1/o},l=function(t,e){void 0===t&&(t=[]);for(var n=t.length,r=new o.default([]),i=0;i<n;i++)r=r.add(new o.default(e[i]));var a=r.avg(n);a.normalize();var s=0;for(i=0;i<n;i++){s+=(c=new o.default(e[i])).squareEuclideanDistance(a)}var u=[];t.forEach((function(){u.push([])}));for(i=0;i<n;i++){var c=new o.default(e[i]);t[i].clusterInertial=0;for(var l=0;l<n;l++)if(i!==l){var f=new o.default(e[l]);u[i][l]=c.squareEuclideanDistance(f),t[i].clusterInertial+=u[i][l]}else u[i][l]=0}var h=0,d=2*n*s;for(i=0;i<n;i++){var p=t[i].clusterId;for(l=0;l<n;l++){var g=t[l].clusterId;if(i!==l&&p===g)h+=t[i].clusterInertial*t[l].clusterInertial/Math.pow(d,2)-u[i][l]/d}}return Number(h.toFixed(4))},f=function(t,e,n,o,u,f,h,d,p){void 0===e&&(e=!1),void 0===n&&(n="weight"),void 0===o&&(o=1e-4),void 0===u&&(u=!1),void 0===f&&(f=void 0),void 0===h&&(h=[]),void 0===d&&(d=["id"]),void 0===p&&(p=1);var g=t.nodes,v=void 0===g?[]:g,y=t.edges,m=void 0===y?[]:y,b=[];if(u){v.forEach((function(t,e){t.properties=t.properties||{},t.originIndex=e}));var x=[];v.every((function(t){return t.hasOwnProperty("nodeType")}))&&(x=Array.from(new Set(v.map((function(t){return t.nodeType})))),v.forEach((function(t){t.properties.nodeType=x.findIndex((function(e){return e===t.nodeType}))})));var w=(0,a.getAllProperties)(v,f);b=(0,s.oneHot)(w,h,d)}var _=1,E={},S={};v.forEach((function(t,e){var n=String(_++);t.clusterId=n,E[n]={id:n,nodes:[t]},S[t.id]={node:t,idx:e}}));var M=(0,i.default)(t,e),O=[],k={},A=0;M.forEach((function(t,e){var n=0,r=v[e].id;k[r]={},t.forEach((function(t,e){if(t){n+=t;var i=v[e].id;k[r][i]=t,A+=t}})),O.push(n)})),A/=2;for(var C=1/0,j=1/0,I=0,T=[],N={};;){C=u&&v.every((function(t){return t.hasOwnProperty("properties")}))?c(v,M,O,A)+l(v,b)*p:c(v,M,O,A),0===I&&(j=C,T=v,N=E);var P=C>0&&C>j&&C-j<o;if(C>j&&(T=v.map((function(t){return{node:t,clusterId:t.clusterId}})),N=(0,r.clone)(E),j=C),P||I>100)break;I++,Object.keys(E).forEach((function(t){var e=0;m.forEach((function(r){var i=r.source,o=r.target,a=S[i].node.clusterId,s=S[o].node.clusterId;(a===t&&s!==t||s===t&&a!==t)&&(e+=r[n]||1)})),E[t].sumTot=e})),v.forEach((function(t,e){var r,i=E[t.clusterId],o=0,a=O[e]/(2*A),s=0,c=i.nodes;c.forEach((function(t){var n=S[t.id].idx;s+=M[e][n]||0}));var f=s-i.sumTot*a,h=c.filter((function(e){return e.id!==t.id})),d=[];h.forEach((function(t,e){d[e]=b[t.originIndex]}));var g=l(h,b)*p,v=k[t.id];if(Object.keys(v).forEach((function(n){var i=S[n].node.clusterId;if(i!==t.clusterId){var s=E[i],c=s.nodes;if(c&&c.length){var h=0;c.forEach((function(t){var n=S[t.id].idx;h+=M[e][n]||0}));var d=h-s.sumTot*a,v=c.concat([t]),y=[];v.forEach((function(t,e){y[e]=b[t.originIndex]}));var m=l(v,b)*p,x=d-f;u&&(x=d+m-(f+g)),x>o&&(o=x,r=s)}}})),o>0){r.nodes.push(t);var y=t.clusterId;t.clusterId=r.id;var x=i.nodes.indexOf(t);i.nodes.splice(x,1);var w=0,_=0;m.forEach((function(t){var e=t.source,i=t.target,o=S[e].node.clusterId,a=S[i].node.clusterId;(o===r.id&&a!==r.id||a===r.id&&o!==r.id)&&(w+=t[n]||1),(o===y&&a!==y||a===y&&o!==y)&&(_+=t[n]||1)})),r.sumTot=w,i.sumTot=_}}))}var D={},L=0;Object.keys(N).forEach((function(t){var e=N[t];if(e.nodes&&e.nodes.length){var n=String(L+1);n!==t&&(e.id=n,e.nodes=e.nodes.map((function(t){return{id:t.id,clusterId:n}})),N[n]=e,D[t]=n,delete N[t],L++)}else delete N[t]})),T.forEach((function(t){var e=t.node,n=t.clusterId;e&&(e.clusterId=n,e.clusterId&&D[e.clusterId]&&(e.clusterId=D[e.clusterId]))}));var R=[],B={};m.forEach((function(t){var e=t.source,r=t.target,i=t[n]||1,o=S[e].node.clusterId,a=S[r].node.clusterId;if(o&&a){var s="".concat(o,"---").concat(a);if(B[s])B[s].weight+=i,B[s].count++;else{var u={source:o,target:a,weight:i,count:1};B[s]=u,R.push(u)}}}));var F=[];return Object.keys(N).forEach((function(t){F.push(N[t])})),{clusters:F,clusterEdges:R}};e.default=f},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getPropertyWeight=e.getAllSortProperties=e.getAllProperties=e.default=void 0;var r=n(136),i=function(t,e){void 0===t&&(t=[]),void 0===e&&(e=100);var n={};t.forEach((function(t){t.properties&&Object.keys(t.properties).forEach((function(e){"id"===e||!"".concat(t.properties[e]).match(r.secondReg)&&!"".concat(t.properties[e]).match(r.dateReg)&&isNaN(Number(t.properties[e]))?n.hasOwnProperty(e)&&delete n[e]:n.hasOwnProperty(e)?n[e]+=1:n[e]=1}))}));var i=Object.keys(n).sort((function(t,e){return n[e]-n[t]}));return i.length<e?i:i.slice(0,e)};e.getAllSortProperties=i;var o=function(t,e){return e.map((function(e){return t.hasOwnProperty(e)?t[e]:0}))},a=function(t){for(var e=i(t),n=[],r=0;r<t.length;r++)n[r]=o(t[r].properties,e);return n};e.getPropertyWeight=a;var s=function(t,e){void 0===e&&(e=void 0);var n=[];return t.forEach((function(t){void 0===e&&n.push(t),void 0!==t[e]&&n.push(t[e])})),n};e.getAllProperties=s;var u={getAllSortProperties:i,getPropertyWeight:a,getAllProperties:s};e.default=u},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.secondReg=e.dateReg=void 0;e.secondReg=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;e.dateReg=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.oneHot=e.getDistance=e.getAllKeyValueMap=e.default=void 0;var r,i=n(0),o=n(138),a=(r=n(77))&&r.__esModule?r:{default:r};var s=function(t,e,n){var r=[];(null==e?void 0:e.length)?r=e:(t.forEach((function(t){r=r.concat(Object.keys(t))})),r=(0,i.uniq)(r));var o={};return r.forEach((function(e){var r=[];t.forEach((function(t){void 0!==t[e]&&""!==t[e]&&r.push(t[e])})),r.length&&!(null==n?void 0:n.includes(e))&&(o[e]=(0,i.uniq)(r))})),o};e.getAllKeyValueMap=s;var u=function(t,e,n){var r=s(t,e,n),i=[];if(!Object.keys(r).length)return i;var o=Object.values(r).every((function(t){return t.every((function(t){return"number"==typeof t}))}));return t.forEach((function(t,e){var n=[];Object.keys(r).forEach((function(e){var i=t[e],a=r[e],s=a.findIndex((function(t){return i===t})),u=[];if(o)u.push(i);else for(var c=0;c<a.length;c++)c===s?u.push(1):u.push(0);n=n.concat(u)})),i[e]=n})),i};e.oneHot=u;var c=function(t,e,n,r){void 0===n&&(n=o.DistanceType.EuclideanDistance);var i=0;switch(n){case o.DistanceType.EuclideanDistance:i=new a.default(t).euclideanDistance(new a.default(e))}return i};e.getDistance=c;var l={getAllKeyValueMap:s,oneHot:u,getDistance:c};e.default=l},function(t,e,n){"use strict";var r;Object.defineProperty(e,"__esModule",{value:!0}),e.DistanceType=void 0,e.DistanceType=r,function(t){t.EuclideanDistance="euclideanDistance"}(r||(e.DistanceType=r={}))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var r=a(n(140)),i=a(n(141)),o=n(27);function a(t){return t&&t.__esModule?t:{default:t}}var s=function(t,e){var n=[],r=t.nodes,a=void 0===r?[]:r,s=t.edges,u=void 0===s?[]:s;if(0===a.length)return n;var c=a[0],l=new Set;l.add(c);var f=new i.default((function(t,n){return e?t.weight-n.weight:0}));for((0,o.getEdgesByNodeId)(c.id,u).forEach((function(t){f.insert(t)}));!f.isEmpty();){var h=f.delMin(),d=h.source,p=h.target;l.has(d)&&l.has(p)||(n.push(h),l.has(d)||(l.add(d),(0,o.getEdgesByNodeId)(d,u).forEach((function(t){f.insert(t)}))),l.has(p)||(l.add(p),(0,o.getEdgesByNodeId)(p,u).forEach((function(t){f.insert(t)}))))}return n},u=function(t,e){var n=[],i=t.nodes,o=void 0===i?[]:i,a=t.edges,s=void 0===a?[]:a;if(0===o.length)return n;var u=s.map((function(t){return t}));e&&u.sort((function(t,e){return t.weight-e.weight}));for(var c=new r.default(o.map((function(t){return t.id})));u.length>0;){var l=u.shift(),f=l.source,h=l.target;c.connected(f,h)||(n.push(l),c.union(f,h))}return n},c=function(t,e,n){return n?{prim:s,kruskal:u}[n](t,e):u(t,e)};e.default=c},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var r=function(){function t(t){this.count=t.length,this.parent={};for(var e=0,n=t;e<n.length;e++){var r=n[e];this.parent[r]=r}}return t.prototype.find=function(t){for(;this.parent[t]!==t;)t=this.parent[t];return t},t.prototype.union=function(t,e){var n=this.find(t),r=this.find(e);n!==r&&(n<r?(this.parent[e]!==e&&this.union(this.parent[e],t),this.parent[e]=this.parent[t]):(this.parent[t]!==t&&this.union(this.parent[t],e),this.parent[t]=this.parent[e]))},t.prototype.connected=function(t,e){return this.find(t)===this.find(e)},t}();e.default=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var r=function(t,e){return t-e},i=function(){function t(t){void 0===t&&(t=r),this.compareFn=t,this.list=[]}return t.prototype.getLeft=function(t){return 2*t+1},t.prototype.getRight=function(t){return 2*t+2},t.prototype.getParent=function(t){return 0===t?null:Math.floor((t-1)/2)},t.prototype.isEmpty=function(){return this.list.length<=0},t.prototype.top=function(){return this.isEmpty()?void 0:this.list[0]},t.prototype.delMin=function(){var t=this.top(),e=this.list.pop();return this.list.length>0&&(this.list[0]=e,this.moveDown(0)),t},t.prototype.insert=function(t){if(null!==t){this.list.push(t);var e=this.list.length-1;return this.moveUp(e),!0}return!1},t.prototype.moveUp=function(t){for(var e=this.getParent(t);t&&t>0&&this.compareFn(this.list[e],this.list[t])>0;){var n=this.list[e];this.list[e]=this.list[t],this.list[t]=n,t=e,e=this.getParent(t)}},t.prototype.moveDown=function(t){var e,n=t,r=this.getLeft(t),i=this.getRight(t),o=this.list.length;null!==r&&r<o&&this.compareFn(this.list[n],this.list[r])>0?n=r:null!==i&&i<o&&this.compareFn(this.list[n],this.list[i])>0&&(n=i),t!==n&&(e=[this.list[n],this.list[t]],this.list[t]=e[0],this.list[n]=e[1],this.moveDown(n))},t}();e.default=i},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var r,i=(r=n(74))&&r.__esModule?r:{default:r},o=n(27);var a=function(t,e,n){"number"!=typeof e&&(e=1e-6),"number"!=typeof n&&(n=.85);for(var r,a=1,s=0,u=1e3,c=t.nodes,l=void 0===c?[]:c,f=t.edges,h=void 0===f?[]:f,d=l.length,p={},g={},v=0;v<d;++v){p[m=(E=l[v]).id]=1/d,g[m]=1/d}for(var y=(0,i.default)(t);u>0&&a>e;){s=0;for(v=0;v<d;++v){var m=(E=l[v]).id;if(r=0,0===y[E.id].inDegree)p[m]=0;else{for(var b=(0,o.getNeighbors)(m,h,"source"),x=0;x<b.length;++x){var w=b[x],_=y[w].outDegree;_>0&&(r+=g[w]/_)}p[m]=n*r,s+=p[m]}}s=(1-s)/d,a=0;for(v=0;v<d;++v){var E;r=p[m=(E=l[v]).id]+s,a+=Math.abs(r-g[m]),g[m]=r}u-=1}return g};e.default=a},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var r=n(1),i=u(n(76)),o=u(n(144)),a=u(n(58)),s=n(27);function u(t){return t&&t.__esModule?t:{default:t}}var c=function(t,e,n,r){void 0===n&&(n="cluster"),void 0===r&&(r=2);var i=[],o=t.nodes;return e.forEach((function(t,e){i.push(l(o,t,e,n,r))})),i},l=function(t,e,n,r,i){var o=[n],a=[],s={};return e.forEach((function(e,u){if(e<=i&&n!==u){o.push(u),a.push(t[u]);var c=t[u][r];s[c]?(s[c].count++,s[c].dists.push(e)):s[c]={count:1,dists:[e]}}})),Object.keys(s).forEach((function(t){s[t].dists=s[t].dists.sort((function(t,e){return t-e}))})),{nodeIdx:n,nodeId:t[n].id,nodeIdxs:o,neighbors:a,neighborNum:o.length-1,nodeLabelCountMap:s}},f=function(t,e,n,r){var i=n.nodes;return r||(r={}),Object.keys(t).forEach((function(o){var a,s;if(!r||!r[o]){r[o]={nodes:[],edges:[]};var u=t[o],c=null===(a=e[u.start])||void 0===a?void 0:a.nodeIdxs,l=null===(s=e[u.end])||void 0===s?void 0:s.nodeIdxs;if(c&&l){var f=new Set(l),h=c.filter((function(t){return f.has(t)}));if(h&&h.length){for(var d={},p=h.length,g=0;g<p;g++){var v=i[h[g]];r[o].nodes.push(v),d[v.id]=!0}n.edges.forEach((function(t){d[t.source]&&d[t.target]&&r[o].edges.push(t)}))}}}})),r},h=function(t,e,n,r){var i,o,a={};t.nodes.forEach((function(t){a[t.id]=t}));var s=0;return!(null===(i=null==e?void 0:e.edges)||void 0===i?void 0:i.length)||(null===(o=null==e?void 0:e.nodes)||void 0===o?void 0:o.length)<2?0:(t.edges.forEach((function(t){var i=a[t.source][n],o=a[t.target][n],u=null==e?void 0:e.nodes[0][n],c=null==e?void 0:e.nodes[1][n],l=null==e?void 0:e.edges[0][r];t[r]===l&&(i===u&&o===c||i===c&&o===u)&&s++})),s)},d=function(t,e){var n={},r={};return t.forEach((function(t,i){n[t.id]={idx:i,node:t,degree:0,inDegree:0,outDegree:0};var o=t[e];r[o]||(r[o]=[]),r[o].push(t)})),{nodeMap:n,nodeLabelMap:r}},p=function(t,e,n){var r={},i={};return t.forEach((function(t,o){r["".concat(s.uniqueId)]={idx:o,edge:t};var a=t[e];i[a]||(i[a]=[]),i[a].push(t);var u=n[t.source];u&&(u.degree++,u.outDegree++);var c=n[t.target];c&&(c.degree++,c.inDegree++)})),{edgeMap:r,edgeLabelMap:i}},g=function(t,e,n){var r=e.length,i={};return e.forEach((function(e,o){for(var a=n?0:o+1,s=t[o].id,u=a;u<r;u++)if(o!==u){var c=t[u].id,l=e[u];i["".concat(s,"-").concat(c)]=l,n||(i["".concat(c,"-").concat(s)]=l)}})),i},v=function(t,e,n,r,i,o,a,s,u,c,l){var d,p="".concat(e.id,"-").concat(n.id);if(c&&c[p])return c[p];var g=l?l[p]:void 0;if(!g){var v=((d={})[p]={start:r[e.id].idx,end:r[n.id].idx,distance:i},d);g=(l=f(v,o,t,l))[p]}return h(g,a,s,u)},y=function(t,e,n,r){var i,o,a,s=null===(i=t[e])||void 0===i?void 0:i.degree,u=null===(o=t[e])||void 0===o?void 0:o.inDegree,c=null===(a=t[e])||void 0===a?void 0:a.outDegree;return void 0===t[e]&&(s=1/0,u=1/0,c=1/0,r[e].forEach((function(t){var e=n[t.id].degree;s>e&&(s=e);var r=n[t.id].inDegree;u>r&&(u=r);var i=n[t.id].outDegree;c>i&&(c=i)})),t[e]={degree:s,inDegree:u,outDegree:c}),{minPatternNodeLabelDegree:s,minPatternNodeLabelInDegree:u,minPatternNodeLabelOutDegree:c}},m=function(t,e,n,s,u,m,b){var x;if(void 0===n&&(n=!1),void 0===m&&(m="cluster"),void 0===b&&(b="cluster"),t&&t.nodes){var w=t.nodes.length;if(w){var _=(0,i.default)(t,n),E=(0,i.default)(e,n),S=g(t.nodes,_,n),M=g(e.nodes,E,n),O=d(t.nodes,m),k=O.nodeMap,A=O.nodeLabelMap,C=d(e.nodes,m),j=C.nodeMap,I=C.nodeLabelMap;p(t.edges,b,k);var T=p(e.edges,b,j).edgeLabelMap,N=[];null==E||E.forEach((function(t){N=N.concat(t)})),u||(u=Math.max.apply(Math,(0,r.__spreadArray)((0,r.__spreadArray)([],N,!1),[2],!1))),s||(s=u);var P=c(t,_,m,s),D=c(e,E,m,s),L=function(t,e,n,r,i){var o=Math.ceil(n/e),a={},s=0;return r.forEach((function(t,r){for(var u=0,c=0,l=t.nodeIdxs,f=t.neighborNum-1;u<o;){for(var h=l[1+Math.floor(Math.random()*f)],d=0;(a["".concat(r,"-").concat(h)]||a["".concat(h,"-").concat(r)])&&(h=Math.floor(Math.random()*e),!(++d>2*e)););if(d<2*e&&(a["".concat(r,"-").concat(h)]={start:r,end:h,distance:i[r][h]},u++,++s>=n))return a;if(++c>2*e)break}u<o&&(o=(o+(o-u))/(e-r-1))})),a}(0,w,Math.min(100,w*(w-1)/2),P,_),R=f(L,P,t),B={graphs:R,nodeLabelProp:m,edgeLabelProp:b,minSupport:1,minNodeNum:1,maxNodeNum:4,directed:n},F=(0,o.default)(B).slice(0,10),z=F.length,G=[];F.forEach((function(t,e){G[e]={},Object.keys(R).forEach((function(n){var r=R[n],i=h(r,t,m,b);G[e][n]=i}))}));var Y=function(t,e,n){for(var r=1/0,i=0,o=function(e){var n=t[e],o=Object.keys(n).sort((function(t,e){return n[t]-n[e]})),a=[];o.forEach((function(t,e){a[e%10]||(a[e%10]={graphs:[],totalCount:0,aveCount:0}),a[e%10].graphs.push(t),a[e%10].totalCount+=n[t]}));var s=0,u=[];a.forEach((function(t){var e=t.totalCount/t.graphs.length;t.aveCount=e,u.push(e);var r=0,i=t.length;t.graphs.forEach((function(e,i){var o=n[e];t.graphs.forEach((function(t,e){i!==e&&(r+=Math.abs(o-n[t]))}))})),s+=r/=i*(i-1)/2})),s/=a.length;var c=0;u.forEach((function(t,e){u.forEach((function(n,r){e!==r&&(c+=Math.abs(t-n))})),c/=u.length*(u.length-1)/2}));var l=c-s;r<l&&(r=l,i=e)},a=0;a<e;a++)o(a);return{structure:n[i],structureCountMap:t[i]}}(G,z,F),U=Y.structure,X=Y.structureCountMap,W=e.nodes[0],V=[],H=null===(x=e.nodes[0])||void 0===x?void 0:x[m],q=-1/0;e.nodes.forEach((function(t){var e=t[m],n=A[e];(null==n?void 0:n.length)>q&&(q=n.length,V=n,H=e,W=t)}));var Z={},K={},Q={},$={},J={},tt={};Object.keys(I).forEach((function(r,i){J[r]=[],n&&(tt[r]=[]);var o=-1/0,a=I[r],s={};a.forEach((function(t){var e=M["".concat(W.id,"-").concat(t.id)];if(e&&J[r].push(e),o<e&&(o=e),s["".concat(W.id,"-").concat(t.id)]={start:0,end:j[t.id].idx,distance:e},n){var i=M["".concat(t.id,"-").concat(W.id)];i&&tt[r].push(i)}})),J[r]=J[r].sort((function(t,e){return t-e})),n&&(tt[r]=tt[r].sort((function(t,e){return t-e}))),K=f(s,D,e,K);var u=[];if(Object.keys(s).forEach((function(t){if(Q[t])u.push(Q[t]);else{var e=K[t];Q[t]=h(e,U,m,b),u.push(Q[t])}})),u=u.sort((function(t,e){return e-t})),$["".concat(W.id,"-").concat(r)]=u,r!==H)for(var c=function(e){var n=V[e],i=P[k[n.id].idx],o=i.nodeLabelCountMap[r],a=I[r].length;if(!o||o.count<a)return V.splice(e,1),"continue";for(var s=!1,c=0;c<a;c++)if(o.dists[c]>J[r][c]){s=!0;break}if(s)return V.splice(e,1),"continue";var l={};i.neighbors.forEach((function(t){var e=S["".concat(n.id,"-").concat(t.id)];l["".concat(n.id,"-").concat(t.id)]={start:k[n.id].idx,end:k[t.id].idx,distance:e}})),R=f(l,P,t,R);var d=[];Object.keys(l).forEach((function(t){if(X[t])d.push(X[t]);else{var e=R[t];X[t]=h(e,U,m,b),d.push(X[t])}})),d=d.sort((function(t,e){return e-t}));var p=!1;for(c=0;c<a;c++)if(d[c]<u[c]){p=!0;break}return p?(V.splice(e,1),"continue"):void 0},l=((null==V?void 0:V.length)||0)-1;l>=0;l--)c(l)}));var et=[];null==V||V.forEach((function(r){for(var i=k[r.id].idx,o=l(t.nodes,_[i],i,m,u).neighbors,a=!1,s=o.length-1;s>=0;s--){if(o.length+1<e.nodes.length)return void(a=!0);var c=o[s],f=c[m];if(I[f]&&I[f].length)if(J[f]&&J[f].length){var h="".concat(r.id,"-").concat(c.id),d=S[h],p=J[f].length-1;if(d>J[f][p])o.splice(s,1);else{if(n){var g="".concat(c.id,"-").concat(r.id),x=S[g];if(p=tt[f].length-1,x>tt[f][p]){o.splice(s,1);continue}}var w=X[h]?X[h]:v(t,r,c,k,d,P,U,m,b,X,R),E="".concat(W.id,"-").concat(f);if(w<$[E][$[E].length-1])o.splice(s,1);else{var M=y(Z,f,j,I),O=M.minPatternNodeLabelDegree;M.minPatternNodeLabelInDegree,M.minPatternNodeLabelOutDegree;k[c.id].degree<O&&o.splice(s,1)}}}else o.splice(s,1);else o.splice(s,1)}a||et.push({nodes:[r].concat(o)})}));var nt=(0,a.default)(e,W.id,!1).length,rt={};n?(Object.keys(nt).forEach((function(t){var e=j[t].node[m];rt[e]?rt[e].push(nt[t]):rt[e]=[nt[t]]})),Object.keys(rt).forEach((function(t){rt[t].sort((function(t,e){return t-e}))}))):rt=J;for(var it=function(r){var i=et[r],o=i.nodes[0],s={},u={};i.nodes.forEach((function(t,e){u[t.id]={idx:e,node:t,degree:0,inDegree:0,outDegree:0};var n=t[m];s[n]?s[n]++:s[n]=1}));var c=[],l={};t.edges.forEach((function(t){u[t.source]&&u[t.target]&&(c.push(t),l[t[b]]?l[t[b]]++:l[t[b]]=1,u[t.source].degree++,u[t.target].degree++,u[t.source].outDegree++,u[t.target].inDegree++)}));for(var f=Object.keys(T).length,h=!1,d=0;d<f;d++){var p=Object.keys(T)[d];if(!l[p]||l[p]<T[p].length){h=!0;break}}if(h)return et.splice(r,1),"continue";var g=c.length;if(g<e.edges.length)return et.splice(r,1),"break";var v=!1,x=function(t){var e=c[t],r=e[b],i=T[r];if(!i||!i.length)return l[r]--,i&&l[r]<i.length?(v=!0,"break"):(c.splice(t,1),u[e.source].degree--,u[e.target].degree--,u[e.source].outDegree--,u[e.target].inDegree--,"continue");var o=u[e.source].node[m],a=u[e.target].node[m],s=!1;return i.forEach((function(t){var e=j[t.source].node,r=j[t.target].node;e[m]===o&&r[m]===a&&(s=!0),n||e[m]!==a||r[m]!==o||(s=!0)})),s?void 0:(l[r]--,i&&l[r]<i.length?(v=!0,"break"):(c.splice(t,1),u[e.source].degree--,u[e.target].degree--,u[e.source].outDegree--,u[e.target].inDegree--,"continue"))};for(d=g-1;d>=0;d--){if("break"===x(d))break}if(v)return et.splice(r,1),"continue";i.edges=c;var w=(0,a.default)(i,i.nodes[0].id,!1).length;if(Object.keys(w).reverse().forEach((function(t){if(t!==i.nodes[0].id&&!v){if(w[t]===1/0){var e=u[t].node[m];if(s[e]--,s[e]<I[e].length)return void(v=!0);var n=i.nodes.indexOf(u[t].node);return i.nodes.splice(n,1),void(u[t]=void 0)}var r=k[t].node[m];if(!rt[r]||!rt[r].length||w[t]>rt[r][rt[r].length-1]){e=u[t].node[m];if(s[e]--,s[e]<I[e].length)return void(v=!0);n=i.nodes.indexOf(u[t].node);i.nodes.splice(n,1),u[t]=void 0}}})),v)return et.splice(r,1),"continue";for(var _=!0,E=0;_&&!v;){if(_=!1,n?u[o.id].degree<j[W.id].degree||u[o.id].inDegree<j[W.id].inDegree||u[o.id].outDegree<j[W.id].outDegree:u[o.id].degree<j[W.id].degree){v=!0;break}if(s[o[m]]<I[o[m]].length){v=!0;break}for(var S=i.nodes.length-1;S>=0;S--){var M=i.nodes[S],O=u[M.id].degree,A=u[M.id].inDegree,C=u[M.id].outDegree,N=M[m],P=y(Z,N,j,I),D=P.minPatternNodeLabelDegree,L=P.minPatternNodeLabelInDegree,R=P.minPatternNodeLabelOutDegree;if(n?O<D||A<L||C<R:O<D){if(s[M[m]]--,s[M[m]]<I[M[m]].length){v=!0;break}i.nodes.splice(S,1),u[M.id]=void 0,_=!0}}if(v||!_&&0!==E)break;for(var B=(g=c.length)-1;B>=0;B--){var F=c[B];if(!u[F.source]||!u[F.target]){c.splice(B,1);var z=F[b];if(l[z]--,u[F.source]&&(u[F.source].degree--,u[F.source].outDegree--),u[F.target]&&(u[F.target].degree--,u[F.target].inDegree--),T[z]&&l[z]<T[z].length){v=!0;break}_=!0}}E++}return v||v||i.nodes.length<e.nodes.length||c.length<e.edges.length?(et.splice(r,1),"continue"):void 0},ot=et.length-1;ot>=0;ot--){if("break"===it(ot))break}var at=et.length,st=function(t){var e=et[t],n={};e.edges.forEach((function(t){var e="".concat(t.source,"-").concat(t.target,"-").concat(t.label);n[e]?n[e]++:n[e]=1}));for(var r=function(t){var e=et[t],r={};e.edges.forEach((function(t){var e="".concat(t.source,"-").concat(t.target,"-").concat(t.label);r[e]?r[e]++:r[e]=1}));var i=!0;Object.keys(r).length!==Object.keys(n).length?i=!1:Object.keys(n).forEach((function(t){r[t]!==n[t]&&(i=!1)})),i&&et.splice(t,1)},i=at-1;i>t;i--)r(i);at=et.length};for(ot=0;ot<=at-1;ot++)st(ot);return et}}};e.default=m},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var r=n(0),i=n(145),o=function(){function t(t,e,n,r,o){this.fromNode=t,this.toNode=e,this.nodeEdgeNodeLabel={nodeLabel1:n||i.VACANT_NODE_LABEL,edgeLabel:r||i.VACANT_EDGE_LABEL,nodeLabel2:o||i.VACANT_NODE_LABEL}}return t.prototype.equalTo=function(t){return this.fromNode===t.formNode&&this.toNode===t.toNode&&this.nodeEdgeNodeLabel===t.nodeEdgeNodeLabel},t.prototype.notEqualTo=function(t){return!this.equalTo(t)},t}(),a=function(){function t(){this.rmpath=[],this.dfsEdgeList=[]}return t.prototype.equalTo=function(t){var e=this.dfsEdgeList.length;if(e!==t.length)return!1;for(var n=0;n<e;n++)if(this.dfsEdgeList[n]!==t[n])return!1;return!0},t.prototype.notEqualTo=function(t){return!this.equalTo(t)},t.prototype.pushBack=function(t,e,n,r,i){return this.dfsEdgeList.push(new o(t,e,n,r,i)),this.dfsEdgeList},t.prototype.toGraph=function(t,e){void 0===t&&(t=i.VACANT_GRAPH_ID),void 0===e&&(e=!1);var n=new i.Graph(t,!0,e);return this.dfsEdgeList.forEach((function(t){var e=t.fromNode,r=t.toNode,o=t.nodeEdgeNodeLabel,a=o.nodeLabel1,s=o.edgeLabel,u=o.nodeLabel2;a!==i.VACANT_NODE_LABEL&&n.addNode(e,a),u!==i.VACANT_NODE_LABEL&&n.addNode(r,u),a!==i.VACANT_NODE_LABEL&&u!==a&&n.addEdge(void 0,e,r,s)})),n},t.prototype.buildRmpath=function(){this.rmpath=[];for(var t=void 0,e=this.dfsEdgeList.length-1;e>=0;e--){var n=this.dfsEdgeList[e],r=n.fromNode,i=n.toNode;r<i&&(void 0===t||i===t)&&(this.rmpath.push(e),t=r)}return this.rmpath},t.prototype.getNodeNum=function(){var t={};return this.dfsEdgeList.forEach((function(e){t[e.fromNode]||(t[e.fromNode]=!0),t[e.toNode]||(t[e.toNode]=!0)})),Object.keys(t).length},t}(),s=function(){function t(t){if(this.his={},this.nodesUsed={},this.edgesUsed={},this.edges=[],t){for(;t;){var e=t.edge;this.edges.push(e),this.nodesUsed[e.from]=1,this.nodesUsed[e.to]=1,this.edgesUsed[e.id]=1,t=t.preNode}this.edges=this.edges.reverse()}}return t.prototype.hasNode=function(t){return 1===this.nodesUsed[t.id]},t.prototype.hasEdge=function(t){return 1===this.edgesUsed[t.id]},t}(),u=function(){function t(t){var e=t.graphs,n=t.minSupport,r=void 0===n?2:n,i=t.minNodeNum,o=void 0===i?1:i,s=t.maxNodeNum,u=void 0===s?4:s,c=t.top,l=void 0===c?10:c,f=t.directed,h=void 0!==f&&f,d=t.verbose,p=void 0!==d&&d;this.graphs=e,this.dfsCode=new a,this.support=0,this.frequentSize1Subgraphs=[],this.frequentSubgraphs=[],this.minSupport=r,this.top=l,this.directed=h,this.counter=0,this.maxNodeNum=u,this.minNodeNum=o,this.verbose=p,this.maxNodeNum<this.minNodeNum&&(this.maxNodeNum=this.minNodeNum),this.reportDF=[]}return t.prototype.findForwardRootEdges=function(t,e){var n=this,r=[],i=t.nodeMap;return e.edges.forEach((function(t){(n.directed||e.label<=i[t.to].label)&&r.push(t)})),r},t.prototype.findBackwardEdge=function(t,e,n,r){if(!this.directed&&e===n)return null;for(var i=t.nodeMap,o=i[n.to].edges,a=o.length,s=0;s<a;s++){var u=o[s];if(!r.hasEdge(u)&&u.to===e.from)if(this.directed){if(i[e.from].label<i[n.to].label||i[e.from].label===i[n.to].label&&e.label<=u.label)return u}else if(e.label<u.label||e.label===u.label&&i[e.to].label<=i[n.to].label)return u}return null},t.prototype.findForwardPureEdges=function(t,e,n,r){for(var i=[],o=e.to,a=t.nodeMap[o].edges,s=a.length,u=0;u<s;u++){var c=a[u],l=t.nodeMap[c.to];n<=l.label&&!r.hasNode(l)&&i.push(c)}return i},t.prototype.findForwardRmpathEdges=function(t,e,n,r){for(var i=[],o=t.nodeMap,a=o[e.to].label,s=o[e.from].edges,u=s.length,c=0;c<u;c++){var l=s[c],f=o[l.to].label;e.to===l.to||n>f||r.hasNode(o[l.to])||(e.label<l.label||e.label===l.label&&a<=f)&&i.push(l)}return i},t.prototype.getSupport=function(t){var e={};return t.forEach((function(t){e[t.graphId]||(e[t.graphId]=!0)})),Object.keys(e).length},t.prototype.findMinLabel=function(t){var e=void 0;return Object.keys(t).forEach((function(n){var r=t[n],i=r.nodeLabel1,o=r.edgeLabel,a=r.nodeLabel2;e?(i<e.nodeLabel1||i===e.nodeLabel1&&o<e.edgeLabel||i===e.nodeLabel1&&o===e.edgeLabel&&a<e.nodeLabel2)&&(e={nodeLabel1:i,edgeLabel:o,nodeLabel2:a}):e={nodeLabel1:i,edgeLabel:o,nodeLabel2:a}})),e},t.prototype.isMin=function(){var t=this,e=this.dfsCode;if(this.verbose&&console.log("isMin checking",e),1===e.dfsEdgeList.length)return!0;var n=this.directed,r=e.toGraph(i.VACANT_GRAPH_ID,n),u=r.nodeMap,c=new a,l={};r.nodes.forEach((function(e){t.findForwardRootEdges(r,e).forEach((function(t){var n=u[t.to],i="".concat(e.label,"-").concat(t.label,"-").concat(n.label);l[i]||(l[i]={projected:[],nodeLabel1:e.label,edgeLabel:t.label,nodeLabel2:n.label});var o={graphId:r.id,edge:t,preNode:null};l[i].projected.push(o)}))}));var f=this.findMinLabel(l);if(f){c.dfsEdgeList.push(new o(0,1,f.nodeLabel1,f.edgeLabel,f.nodeLabel2));var h="".concat(f.nodeLabel1,"-").concat(f.edgeLabel,"-").concat(f.nodeLabel2);return function a(l){for(var f=c.buildRmpath(),h=c.dfsEdgeList[0].nodeEdgeNodeLabel.nodeLabel1,d=c.dfsEdgeList[f[0]].toNode,p={},g=!1,v=0,y=n?-1:0,m=function(e){if(g)return"break";l.forEach((function(n){var i=new s(n),o=t.findBackwardEdge(r,i.edges[f[e]],i.edges[f[0]],i);o&&(p[o.label]||(p[o.label]={projected:[],edgeLabel:o.label}),p[o.label].projected.push({graphId:r.id,edge:p,preNode:n}),v=c.dfsEdgeList[f[e]].fromNode,g=!0)}))},b=f.length-1;b>y;b--){if("break"===m(b))break}if(g){var x=t.findMinLabel(p);c.dfsEdgeList.push(new o(d,v,i.VACANT_NODE_LABEL,x.edgeLabel,i.VACANT_NODE_LABEL));var w=c.dfsEdgeList.length-1;return t.dfsCode.dfsEdgeList[w]===c.dfsEdgeList[w]&&a(p[x.edgeLabel].projected)}var _={};g=!1;var E=0;l.forEach((function(e){var n=new s(e),i=t.findForwardPureEdges(r,n.edges[f[0]],h,n);i.length>0&&(g=!0,E=d,i.forEach((function(t){var n="".concat(t.label,"-").concat(u[t.to].label);_[n]||(_[n]={projected:[],edgeLabel:t.label,nodeLabel2:u[t.to].label}),_[n].projected.push({graphId:r.id,edge:t,preNode:e})})))}));var S=f.length,M=function(e){if(g)return"break";var n=f[e];l.forEach((function(e){var i=new s(e),o=t.findForwardRmpathEdges(r,i.edges[n],h,i);o.length>0&&(g=!0,E=c.dfsEdgeList[n].fromNode,o.forEach((function(t){var n="".concat(t.label,"-").concat(u[t.to].label);_[n]||(_[n]={projected:[],edgeLabel:t.label,nodeLabel2:u[t.to].label}),_[n].projected.push({graphId:r.id,edge:t,preNode:e})})))}))};for(b=0;b<S;b++){if("break"===M(b))break}if(!g)return!0;var O=t.findMinLabel(_);c.dfsEdgeList.push(new o(E,d+1,i.VACANT_NODE_LABEL,O.edgeLabel,O.nodeLabel2));var k=c.dfsEdgeList.length-1;return e.dfsEdgeList[k]===c.dfsEdgeList[k]&&a(_["".concat(O.edgeLabel,"-").concat(O.nodeLabel2)].projected)}(l[h].projected)}},t.prototype.report=function(){if(!(this.dfsCode.getNodeNum()<this.minNodeNum)){this.counter++;var t=this.dfsCode.toGraph(this.counter,this.directed);this.frequentSubgraphs.push((0,r.clone)(t))}},t.prototype.subGraphMining=function(t){var e=this;if(!(this.getSupport(t)<this.minSupport)&&this.isMin()){this.report();var n=this.dfsCode.getNodeNum(),r=this.dfsCode.buildRmpath(),a=this.dfsCode.dfsEdgeList[r[0]].toNode,u=this.dfsCode.dfsEdgeList[0].nodeEdgeNodeLabel.nodeLabel1,c={},l={};t.forEach((function(t){for(var i=e.graphs[t.graphId],o=i.nodeMap,f=new s(t),h=r.length-1;h>=0;h--){var d=e.findBackwardEdge(i,f.edges[r[h]],f.edges[r[0]],f);if(d){var p="".concat(e.dfsCode.dfsEdgeList[r[h]].fromNode,"-").concat(d.label);l[p]||(l[p]={projected:[],toNodeId:e.dfsCode.dfsEdgeList[r[h]].fromNode,edgeLabel:d.label}),l[p].projected.push({graphId:t.graphId,edge:d,preNode:t})}}if(!(n>=e.maxNodeNum)){e.findForwardPureEdges(i,f.edges[r[0]],u,f).forEach((function(e){var n="".concat(a,"-").concat(e.label,"-").concat(o[e.to].label);c[n]||(c[n]={projected:[],fromNodeId:a,edgeLabel:e.label,nodeLabel2:o[e.to].label}),c[n].projected.push({graphId:t.graphId,edge:e,preNode:t})}));var g=function(n){e.findForwardRmpathEdges(i,f.edges[r[n]],u,f).forEach((function(i){var a="".concat(e.dfsCode.dfsEdgeList[r[n]].fromNode,"-").concat(i.label,"-").concat(o[i.to].label);c[a]||(c[a]={projected:[],fromNodeId:e.dfsCode.dfsEdgeList[r[n]].fromNode,edgeLabel:i.label,nodeLabel2:o[i.to].label}),c[a].projected.push({graphId:t.graphId,edge:i,preNode:t})}))};for(h=0;h<r.length;h++)g(h)}})),Object.keys(l).forEach((function(t){var n=l[t],r=n.toNodeId,i=n.edgeLabel;e.dfsCode.dfsEdgeList.push(new o(a,r,"-1",i,"-1")),e.subGraphMining(l[t].projected),e.dfsCode.dfsEdgeList.pop()})),Object.keys(c).forEach((function(t){var n=c[t],r=n.fromNodeId,s=n.edgeLabel,u=n.nodeLabel2;e.dfsCode.dfsEdgeList.push(new o(r,a+1,i.VACANT_NODE_LABEL,s,u)),e.subGraphMining(c[t].projected),e.dfsCode.dfsEdgeList.pop()}))}},t.prototype.generate1EdgeFrequentSubGraphs=function(){var t=this.graphs,e=this.directed,n=this.minSupport,r=this.frequentSize1Subgraphs,i={},o={},a={},s={};return Object.keys(t).forEach((function(n){var r=t[n],u=r.nodeMap;r.nodes.forEach((function(t,r){var c=t.label,l="".concat(n,"-").concat(c);if(!a[l]){var f=i[c]||0;f++,i[c]=f}a[l]={graphKey:n,label:c},t.edges.forEach((function(t){var r=c,i=u[t.to].label;if(!e&&r>i){var a=i;i=r,r=a}var l=t.label,f="".concat(n,"-").concat(r,"-").concat(l,"-").concat(i),h="".concat(r,"-").concat(l,"-").concat(i);if(!o[h]){var d=o[h]||0;d++,o[h]=d}s[f]={graphId:n,nodeLabel1:r,edgeLabel:l,nodeLabel2:i}}))}))})),Object.keys(i).forEach((function(t){if(!(i[t]<n)){var e={nodes:[],edges:[]};e.nodes.push({id:"0",label:t}),r.push(e)}})),r},t.prototype.run=function(){var t=this;if(this.frequentSize1Subgraphs=this.generate1EdgeFrequentSubGraphs(),!(this.maxNodeNum<2)){var e=this.graphs,n=(this.directed,{});Object.keys(e).forEach((function(r){var i=e[r],o=i.nodeMap;i.nodes.forEach((function(e){t.findForwardRootEdges(i,e).forEach((function(t){var i=o[t.to],a="".concat(e.label,"-").concat(t.label,"-").concat(i.label);n[a]||(n[a]={projected:[],nodeLabel1:e.label,edgeLabel:t.label,nodeLabel2:i.label});var s={graphId:r,edge:t,preNode:null};n[a].projected.push(s)}))}))})),Object.keys(n).forEach((function(e){var r=n[e],i=r.projected,a=r.nodeLabel1,s=r.edgeLabel,u=r.nodeLabel2;t.dfsCode.dfsEdgeList.push(new o(0,1,a,s,u)),t.subGraphMining(i),t.dfsCode.dfsEdgeList.pop()}))}},t}(),c=function(t){var e=t.graphs,n=t.directed,r=void 0!==n&&n,o=t.nodeLabelProp,a=void 0===o?"cluster":o,s=t.edgeLabelProp,c=void 0===s?"cluster":s,l=function(t,e,n,r){var o={};return Object.keys(t).forEach((function(a,s){var u=t[a],c=new i.Graph(s,!0,e),l={};u.nodes.forEach((function(t,e){c.addNode(e,t[n]),l[t.id]=e})),u.edges.forEach((function(t,e){var n=l[t.source],i=l[t.target];c.addEdge(-1,n,i,t[r])})),c&&c.getNodeNum()&&(o[c.id]=c)})),o}(e,r,a,c),f=t.minSupport,h=t.maxNodeNum,d=t.minNodeNum,p=t.verbose,g=t.top,v=new u({graphs:l,minSupport:f,maxNodeNum:h,minNodeNum:d,top:g,verbose:p,directed:r});return v.run(),function(t,e,n){var r=[];return t.forEach((function(t){var i={nodes:[],edges:[]};t.nodes.forEach((function(t){var n;i.nodes.push(((n={id:"".concat(t.id)})[e]=t.label,n))})),t.edges.forEach((function(t){var e;i.edges.push(((e={source:"".concat(t.from),target:"".concat(t.to)})[n]=t.label,e))})),r.push(i)})),r}(v.frequentSubgraphs,a,c)};e.default=c},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.VACANT_NODE_LABEL=e.VACANT_NODE_ID=e.VACANT_GRAPH_ID=e.VACANT_EDGE_LABEL=e.VACANT_EDGE_ID=e.Node=e.Graph=e.Edge=e.AUTO_EDGE_ID=void 0;e.VACANT_EDGE_ID=-1;e.VACANT_NODE_ID=-1;e.VACANT_EDGE_LABEL="-1";e.VACANT_NODE_LABEL="-1";e.VACANT_GRAPH_ID=-1;e.AUTO_EDGE_ID="-1";var r=function(t,e,n,r){void 0===t&&(t=-1),void 0===e&&(e=-1),void 0===n&&(n=-1),void 0===r&&(r="-1"),this.id=t,this.from=e,this.to=n,this.label=r};e.Edge=r;var i=function(){function t(t,e){void 0===t&&(t=-1),void 0===e&&(e="-1"),this.id=t,this.label=e,this.edges=[],this.edgeMap={}}return t.prototype.addEdge=function(t){this.edges.push(t),this.edgeMap[t.id]=t},t}();e.Node=i;var o=function(){function t(t,e,n){void 0===t&&(t=-1),void 0===e&&(e=!0),void 0===n&&(n=!1),this.id=t,this.edgeIdAutoIncrease=e,this.edges=[],this.nodes=[],this.nodeMap={},this.edgeMap={},this.nodeLabelMap={},this.edgeLabelMap={},this.counter=0,this.directed=n}return t.prototype.getNodeNum=function(){return this.nodes.length},t.prototype.addNode=function(t,e){if(!this.nodeMap[t]){var n=new i(t,e);this.nodes.push(n),this.nodeMap[t]=n,this.nodeLabelMap[e]||(this.nodeLabelMap[e]=[]),this.nodeLabelMap[e].push(t)}},t.prototype.addEdge=function(t,e,n,i){if((this.edgeIdAutoIncrease||void 0===t)&&(t=this.counter++),!(this.nodeMap[e]&&this.nodeMap[n]&&this.nodeMap[n].edgeMap[t])){var o=new r(t,e,n,i);if(this.edges.push(o),this.edgeMap[t]=o,this.nodeMap[e].addEdge(o),this.edgeLabelMap[i]||(this.edgeLabelMap[i]=[]),this.edgeLabelMap[i].push(o),!this.directed){var a=new r(t,n,e,i);this.nodeMap[n].addEdge(a),this.edgeLabelMap[i].push(a)}}},t}();e.Graph=o},function(t,e,n){var r=n(147),i=n(148),o=Object.hasOwnProperty,a=Object.create(null);for(var s in r)o.call(r,s)&&(a[r[s]]=s);var u=t.exports={to:{},get:{}};function c(t,e,n){return Math.min(Math.max(e,t),n)}function l(t){var e=Math.round(t).toString(16).toUpperCase();return e.length<2?"0"+e:e}u.get=function(t){var e,n;switch(t.substring(0,3).toLowerCase()){case"hsl":e=u.get.hsl(t),n="hsl";break;case"hwb":e=u.get.hwb(t),n="hwb";break;default:e=u.get.rgb(t),n="rgb"}return e?{model:n,value:e}:null},u.get.rgb=function(t){if(!t)return null;var e,n,i,a=[0,0,0,1];if(e=t.match(/^#([a-f0-9]{6})([a-f0-9]{2})?$/i)){for(i=e[2],e=e[1],n=0;n<3;n++){var s=2*n;a[n]=parseInt(e.slice(s,s+2),16)}i&&(a[3]=parseInt(i,16)/255)}else if(e=t.match(/^#([a-f0-9]{3,4})$/i)){for(i=(e=e[1])[3],n=0;n<3;n++)a[n]=parseInt(e[n]+e[n],16);i&&(a[3]=parseInt(i+i,16)/255)}else if(e=t.match(/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/)){for(n=0;n<3;n++)a[n]=parseInt(e[n+1],0);e[4]&&(e[5]?a[3]=.01*parseFloat(e[4]):a[3]=parseFloat(e[4]))}else{if(!(e=t.match(/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/)))return(e=t.match(/^(\w+)$/))?"transparent"===e[1]?[0,0,0,0]:o.call(r,e[1])?((a=r[e[1]])[3]=1,a):null:null;for(n=0;n<3;n++)a[n]=Math.round(2.55*parseFloat(e[n+1]));e[4]&&(e[5]?a[3]=.01*parseFloat(e[4]):a[3]=parseFloat(e[4]))}for(n=0;n<3;n++)a[n]=c(a[n],0,255);return a[3]=c(a[3],0,1),a},u.get.hsl=function(t){if(!t)return null;var e=t.match(/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/);if(e){var n=parseFloat(e[4]);return[(parseFloat(e[1])%360+360)%360,c(parseFloat(e[2]),0,100),c(parseFloat(e[3]),0,100),c(isNaN(n)?1:n,0,1)]}return null},u.get.hwb=function(t){if(!t)return null;var e=t.match(/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/);if(e){var n=parseFloat(e[4]);return[(parseFloat(e[1])%360+360)%360,c(parseFloat(e[2]),0,100),c(parseFloat(e[3]),0,100),c(isNaN(n)?1:n,0,1)]}return null},u.to.hex=function(){var t=i(arguments);return"#"+l(t[0])+l(t[1])+l(t[2])+(t[3]<1?l(Math.round(255*t[3])):"")},u.to.rgb=function(){var t=i(arguments);return t.length<4||1===t[3]?"rgb("+Math.round(t[0])+", "+Math.round(t[1])+", "+Math.round(t[2])+")":"rgba("+Math.round(t[0])+", "+Math.round(t[1])+", "+Math.round(t[2])+", "+t[3]+")"},u.to.rgb.percent=function(){var t=i(arguments),e=Math.round(t[0]/255*100),n=Math.round(t[1]/255*100),r=Math.round(t[2]/255*100);return t.length<4||1===t[3]?"rgb("+e+"%, "+n+"%, "+r+"%)":"rgba("+e+"%, "+n+"%, "+r+"%, "+t[3]+")"},u.to.hsl=function(){var t=i(arguments);return t.length<4||1===t[3]?"hsl("+t[0]+", "+t[1]+"%, "+t[2]+"%)":"hsla("+t[0]+", "+t[1]+"%, "+t[2]+"%, "+t[3]+")"},u.to.hwb=function(){var t=i(arguments),e="";return t.length>=4&&1!==t[3]&&(e=", "+t[3]),"hwb("+t[0]+", "+t[1]+"%, "+t[2]+"%"+e+")"},u.to.keyword=function(t){return a[t.slice(0,3)]}},function(t,e,n){"use strict";t.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},function(t,e,n){"use strict";var r=n(149),i=Array.prototype.concat,o=Array.prototype.slice,a=t.exports=function(t){for(var e=[],n=0,a=t.length;n<a;n++){var s=t[n];r(s)?e=i.call(e,o.call(s)):e.push(s)}return e};a.wrap=function(t){return function(){return t(a(arguments))}}},function(t,e){t.exports=function(t){return!(!t||"string"==typeof t)&&(t instanceof Array||Array.isArray(t)||t.length>=0&&(t.splice instanceof Function||Object.getOwnPropertyDescriptor(t,t.length-1)&&"String"!==t.constructor.name))}},function(t,e,n){function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var i=n(78),o=n(152),a={};Object.keys(i).forEach((function(t){a[t]={},Object.defineProperty(a[t],"channels",{value:i[t].channels}),Object.defineProperty(a[t],"labels",{value:i[t].labels});var e=o(t);Object.keys(e).forEach((function(n){var i=e[n];a[t][n]=function(t){var e=function(e){if(null==e)return e;arguments.length>1&&(e=Array.prototype.slice.call(arguments));var n=t(e);if("object"===r(n))for(var i=n.length,o=0;o<i;o++)n[o]=Math.round(n[o]);return n};return"conversion"in t&&(e.conversion=t.conversion),e}(i),a[t][n].raw=function(t){var e=function(e){return null==e?e:(arguments.length>1&&(e=Array.prototype.slice.call(arguments)),t(e))};return"conversion"in t&&(e.conversion=t.conversion),e}(i)}))})),t.exports=a},function(t,e,n){"use strict";t.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},function(t,e,n){var r=n(78);function i(t){var e=function(){for(var t={},e=Object.keys(r),n=e.length,i=0;i<n;i++)t[e[i]]={distance:-1,parent:null};return t}(),n=[t];for(e[t].distance=0;n.length;)for(var i=n.pop(),o=Object.keys(r[i]),a=o.length,s=0;s<a;s++){var u=o[s],c=e[u];-1===c.distance&&(c.distance=e[i].distance+1,c.parent=i,n.unshift(u))}return e}function o(t,e){return function(n){return e(t(n))}}function a(t,e){for(var n=[e[t].parent,t],i=r[e[t].parent][t],a=e[t].parent;e[a].parent;)n.unshift(e[a].parent),i=o(r[e[a].parent][a],i),a=e[a].parent;return i.conversion=n,i}t.exports=function(t){for(var e=i(t),n={},r=Object.keys(e),o=r.length,s=0;s<o;s++){var u=r[s];null!==e[u].parent&&(n[u]=a(u,e))}return n}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.camelize=e.isString=void 0;e.isString=function(t){return"string"==typeof t};var r,i,o=/-(\w)/g;e.camelize=(r=function(t){return t.replace(o,(function(t,e){return e?e.toUpperCase():""}))},i=Object.create(null),function(t){return i[t]||(i[t]=r(t))})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getFuncByUnknownType=e.getFunc=e.isFunction=void 0;var r=n(15),i=n(59);e.isFunction=function(t){return"function"==typeof t};e.getFunc=function(t,e,n){return n||((0,i.isNumber)(t)?function(){return t}:function(){return e})};e.getFuncByUnknownType=function(t,n,o){return void 0===o&&(o=!0),n||0===n?(0,e.isFunction)(n)?n:(0,i.isNumber)(n)?function(){return n}:(0,r.isArray)(n)?function(){if(o){var e=Math.max.apply(Math,n);return isNaN(e)?t:e}return n}:(0,r.isObject)(n)?function(){if(o){var e=Math.max(n.width,n.height);return isNaN(e)?t:e}return[n.width,n.height]}:function(){return t}:function(e){return e.size?(0,r.isArray)(e.size)?e.size[0]>e.size[1]?e.size[0]:e.size[1]:(0,r.isObject)(e.size)?e.size.width>e.size.height?e.size.width:e.size.height:e.size:t}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.forceNBody=void 0;var r=n(61);function i(t){var e=0,n=0,r=0;if(t.length){for(var i=0;i<4;i++){(o=t[i])&&o.weight&&(e+=o.weight,n+=o.x*o.weight,r+=o.y*o.weight)}t.x=n/e,t.y=r/e,t.weight=e}else{var o=t;t.x=o.data.x,t.y=o.data.y,t.weight=o.data.weight}}e.forceNBody=function(t,e,n,o,a){var s=n/o,u=t.map((function(t,n){var r=e[t.id],i=r.data,o=r.x,a=r.y,u=r.size,c=i.layout.force.nodeStrength;return{x:o,y:a,size:u,index:n,vx:0,vy:0,weight:s*c}})),c=(0,r.quadtree)(u,(function(t){return t.x}),(function(t){return t.y})).visitAfter(i);return u.forEach((function(t){!function(t,e){e.visit((function(e,n,r,i,o){return function(t,e,n,r,i,o){var a=o.x-t.x||.1,s=o.y-t.y||.1,u=r-e,c=a*a+s*s,l=Math.sqrt(c)*c;if(u*u*.81<c){var f=t.weight/l;return o.vx+=a*f,o.vy+=s*f,!0}if(t.length)return!1;if(t.data!==o){f=t.data.weight/l;o.vx+=a*f,o.vy+=s*f}}(e,n,0,i,0,t)}))}(t,c)})),u.map((function(n,r){var i=e[t[r].id].data.layout.force.mass,o=void 0===i?1:i;a[2*r]=n.vx/o,a[2*r+1]=n.vy/o})),a}},function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!("get"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),a=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),s=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&o(e,t,n);return a(e,t),e},u=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.ForceLayout=void 0;var c=s(n(66)),l=u(n(157)),f=n(15),h=n(18),d=n(46),p=function(t){function e(e){var n=t.call(this)||this;return n.center=[0,0],n.nodeStrength=null,n.edgeStrength=null,n.preventOverlap=!1,n.clusterNodeStrength=null,n.clusterEdgeStrength=null,n.clusterEdgeDistance=null,n.clusterNodeSize=null,n.clusterFociStrength=null,n.linkDistance=50,n.alphaDecay=.028,n.alphaMin=.001,n.alpha=.3,n.collideStrength=1,n.workerEnabled=!1,n.tick=function(){},n.onLayoutEnd=function(){},n.ticking=void 0,e&&n.updateCfg(e),n}return i(e,t),e.prototype.getDefaultCfg=function(){return{center:[0,0],nodeStrength:null,edgeStrength:null,preventOverlap:!1,nodeSize:void 0,nodeSpacing:void 0,linkDistance:50,forceSimulation:null,alphaDecay:.028,alphaMin:.001,alpha:.3,collideStrength:1,clustering:!1,clusterNodeStrength:-1,clusterEdgeStrength:.1,clusterEdgeDistance:100,clusterFociStrength:.8,clusterNodeSize:10,tick:function(){},onLayoutEnd:function(){},workerEnabled:!1}},e.prototype.init=function(t){this.nodes=t.nodes||[];var e=t.edges||[];this.edges=e.map((function(t){var e={},n=["targetNode","sourceNode","startPoint","endPoint"];return Object.keys(t).forEach((function(r){n.indexOf(r)>-1||(e[r]=t[r])})),e})),this.ticking=!1},e.prototype.execute=function(t){var e=this,n=e.nodes,r=e.edges;if(!e.ticking){var i=e.forceSimulation,o=e.alphaMin,a=e.alphaDecay,s=e.alpha;if(i){if(t)if(e.clustering&&e.clusterForce&&(e.clusterForce.nodes(n),e.clusterForce.links(r)),i.nodes(n),r&&e.edgeForce)e.edgeForce.links(r);else if(r&&!e.edgeForce){h=c.forceLink().id((function(t){return t.id})).links(r);e.edgeStrength&&h.strength(e.edgeStrength),e.linkDistance&&h.distance(e.linkDistance),e.edgeForce=h,i.force("link",h)}e.preventOverlap&&e.overlapProcess(i),i.alpha(s).restart(),this.ticking=!0}else try{var u=c.forceManyBody();if(e.nodeStrength&&u.strength(e.nodeStrength),i=c.forceSimulation().nodes(n),e.clustering){var f=(0,l.default)();f.centerX(e.center[0]).centerY(e.center[1]).template("force").strength(e.clusterFociStrength),r&&f.links(r),n&&f.nodes(n),f.forceLinkDistance(e.clusterEdgeDistance).forceLinkStrength(e.clusterEdgeStrength).forceCharge(e.clusterNodeStrength).forceNodeSize(e.clusterNodeSize),e.clusterForce=f,i.force("group",f)}if(i.force("center",c.forceCenter(e.center[0],e.center[1])).force("charge",u).alpha(s).alphaDecay(a).alphaMin(o),e.preventOverlap&&e.overlapProcess(i),r){var h=c.forceLink().id((function(t){return t.id})).links(r);e.edgeStrength&&h.strength(e.edgeStrength),e.linkDistance&&h.distance(e.linkDistance),e.edgeForce=h,i.force("link",h)}if(e.workerEnabled&&!g()&&(e.workerEnabled=!1,console.warn("workerEnabled option is only supported when running in web worker.")),e.workerEnabled){i.stop();for(var p=function(t){var e=t.alphaMin(),n=t.alphaTarget(),r=t.alpha(),i=Math.log((e-n)/(r-n))/Math.log(1-t.alphaDecay());return Math.ceil(i)}(i),v=1;v<=p;v++)i.tick(),postMessage({nodes:n,currentTick:v,totalTicks:p,type:d.LAYOUT_MESSAGE.TICK},void 0);e.ticking=!1}else i.on("tick",(function(){e.tick()})).on("end",(function(){e.ticking=!1,e.onLayoutEnd&&e.onLayoutEnd()})),e.ticking=!0;e.forceSimulation=i,e.ticking=!0}catch(t){e.ticking=!1,console.warn(t)}}},e.prototype.overlapProcess=function(t){var e,n,r=this.nodeSize,i=this.nodeSpacing,o=this.collideStrength;if(n=(0,f.isNumber)(i)?function(){return i}:(0,f.isFunction)(i)?i:function(){return 0},r)if((0,f.isFunction)(r))e=function(t){return r(t)+n(t)};else if((0,f.isArray)(r)){var a=(r[0]>r[1]?r[0]:r[1])/2;e=function(t){return a+n(t)}}else if((0,f.isNumber)(r)){var s=r/2;e=function(t){return s+n(t)}}else e=function(){return 10};else e=function(t){return t.size?(0,f.isArray)(t.size)?(t.size[0]>t.size[1]?t.size[0]:t.size[1])/2+n(t):(0,f.isObject)(t.size)?(t.size.width>t.size.height?t.size.width:t.size.height)/2+n(t):t.size/2+n(t):10+n(t)};t.force("collisionForce",c.forceCollide(e).strength(o))},e.prototype.updateCfg=function(t){this.ticking&&(this.forceSimulation.stop(),this.ticking=!1),this.forceSimulation=null,Object.assign(this,t)},e.prototype.destroy=function(){this.ticking&&(this.forceSimulation.stop(),this.ticking=!1),this.nodes=null,this.edges=null,this.destroyed=!0},e}(h.Base);function g(){return"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope}e.ForceLayout=p},function(t,e,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!("get"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),i=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),o=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&r(e,t,n);return i(e,t),e};Object.defineProperty(e,"__esModule",{value:!0});var a=o(n(66)),s=n(15);e.default=function(){function t(t){return function(){return t}}var e,n=function(t){return t.cluster},r=t(1),i=t(-1),o=t(100),u=t(.1),c=[0,0],l=[],f={},h=[],d=100,p=100,g={none:{x:0,y:0}},v=[],y="force",m=!0,b=.1;function x(t){if(!m)return x;e.tick(),_();for(var r=0,i=l.length,o=void 0,a=t*b;r<i;++r)(o=l[r]).vx+=(g[n(o)].x-o.x)*a,o.vy+=(g[n(o)].y-o.y)*a}function w(){l&&function(){if(!l||!l.length)return;if(void 0===n(l[0]))throw Error("Couldnt find the grouping attribute for the nodes. Make sure to set it up with forceInABox.groupBy('clusterAttr') before calling .links()");var t=(g=[],y=[],m={},b=[],c=function(t){var e={};return t.forEach((function(t){var r=n(t);e[r]||(e[r]={count:0,sumforceNodeSize:0})})),t.forEach((function(t){var i=n(t),o=r(t),a=e[i];a.count=a.count+1,a.sumforceNodeSize=a.sumforceNodeSize+Math.PI*(o*o)*1.3,e[i]=a})),e}(l),b=function(t){var e={},r=[];return t.forEach((function(t){var r=function(t){var e=(0,s.getEdgeTerminal)(t,"source"),r=(0,s.getEdgeTerminal)(t,"target"),i=n(f[e]),o=n(f[r]);return i<=o?"".concat(i,"~").concat(o):"".concat(o,"~").concat(i)}(t),i=0;void 0!==e[r]&&(i=e[r]),i+=1,e[r]=i})),Object.entries(e).forEach((function(t){var e=t[0],n=t[1],i=e.split("~")[0],o=e.split("~")[1];void 0!==i&&void 0!==o&&r.push({source:i,target:o,count:n})})),r}(h),Object.keys(c).forEach((function(t,e){var n=c[t];g.push({id:t,size:n.count,r:Math.sqrt(n.sumforceNodeSize/Math.PI)}),m[t]=e})),b.forEach((function(t){var e=(0,s.getEdgeTerminal)(t,"source"),n=(0,s.getEdgeTerminal)(t,"target"),r=m[e],i=m[n];void 0!==r&&void 0!==i&&y.push({source:r,target:i,count:t.count})})),{nodes:g,links:y});var c,g,y,m,b;e=a.forceSimulation(t.nodes).force("x",a.forceX(d).strength(.1)).force("y",a.forceY(p).strength(.1)).force("collide",a.forceCollide((function(t){return t.r})).iterations(4)).force("charge",a.forceManyBody().strength(i)).force("links",a.forceLink(t.nodes.length?t.links:[]).distance(o).strength(u)),v=e.nodes(),_()}()}function _(){return g={none:{x:0,y:0}},v.forEach((function(t){g[t.id]={x:t.x-c[0],y:t.y-c[1]}})),g}function E(t){f={},t.forEach((function(t){f[t.id]=t}))}return x.initialize=function(t){l=t,w()},x.template=function(t){return arguments.length?(y=t,w(),x):y},x.groupBy=function(t){return arguments.length?"string"==typeof t?(n=function(e){return e[t]},x):(n=t,x):n},x.enableGrouping=function(t){return arguments.length?(m=t,x):m},x.strength=function(t){return arguments.length?(b=t,x):b},x.centerX=function(t){return arguments.length?(d=t,x):d},x.centerY=function(t){return arguments.length?(p=t,x):p},x.nodes=function(t){return arguments.length?(E(t||[]),l=t||[],x):l},x.links=function(t){return arguments.length?(h=t||[],w(),x):h},x.forceNodeSize=function(e){return arguments.length?(r="function"==typeof e?e:t(+e),w(),x):r},x.nodeSize=x.forceNodeSize,x.forceCharge=function(e){return arguments.length?(i="function"==typeof e?e:t(+e),w(),x):i},x.forceLinkDistance=function(e){return arguments.length?(o="function"==typeof e?e:t(+e),w(),x):o},x.forceLinkStrength=function(e){return arguments.length?(u="function"==typeof e?e:t(+e),w(),x):u},x.offset=function(t){return arguments.length?(c=t,x):c},x.getFocis=_,x}},function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var i=r(n(159)),o=n(26);e.default={layout:i.default,util:{time:o.time,notime:o.notime}}},function(t,e,n){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)},i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var o=i(n(160)),a=i(n(163)),s=i(n(164)),u=n(26),c=i(n(166)),l=i(n(167)),f=i(n(168)),h=i(n(169)),d=i(n(170)),p=i(n(179)),g=i(n(181)),v=n(35),y=function(t,e,n){e(" removeSelfEdges",(function(){B(t)})),e(" acyclic",(function(){o.default.run(t)})),e(" nestingGraph.run",(function(){l.default.run(t)})),e(" rank",(function(){(0,s.default)((0,u.asNonCompoundGraph)(t))})),e(" injectEdgeLabelProxies",(function(){j(t)})),e(" removeEmptyRanks",(function(){(0,u.removeEmptyRanks)(t)})),e(" nestingGraph.cleanup",(function(){l.default.cleanup(t)})),e(" normalizeRanks",(function(){(0,u.normalizeRanks)(t)})),e(" assignRankMinMax",(function(){I(t)})),e(" removeEdgeLabelProxies",(function(){T(t)})),e(" normalize.run",(function(){a.default.run(t)})),e(" parentDummyChains",(function(){(0,c.default)(t)})),e(" addBorderSegments",(function(){(0,f.default)(t)})),n&&n.keepNodeOrder&&e(" initDataOrder",(function(){(0,g.default)(t,n.nodeOrder)})),e(" order",(function(){(0,d.default)(t,null==n?void 0:n.keepNodeOrder)})),e(" insertSelfEdges",(function(){F(t)})),e(" adjustCoordinateSystem",(function(){h.default.adjust(t)})),e(" position",(function(){(0,p.default)(t)})),e(" positionSelfEdges",(function(){z(t)})),e(" removeBorderNodes",(function(){R(t)})),e(" normalize.undo",(function(){a.default.undo(t)})),e(" fixupEdgeLabelCoords",(function(){D(t)})),e(" undoCoordinateSystem",(function(){h.default.undo(t)})),e(" translateGraph",(function(){N(t)})),e(" assignNodeIntersects",(function(){P(t)})),e(" reversePoints",(function(){L(t)})),e(" acyclic.undo",(function(){o.default.undo(t)}))},m=function(t,e){t.nodes().forEach((function(n){var r=t.node(n),i=e.node(n);void 0!==i?(r.fixorder=i._order,delete i._order):delete r.fixorder}))},b=function(t,e){t.nodes().forEach((function(n){var r,i=t.node(n);if(i){var o=e.node(n);i.x=o.x,i.y=o.y,i._order=o.order,i._rank=o.rank,(null===(r=e.children(n))||void 0===r?void 0:r.length)&&(i.width=o.width,i.height=o.height)}})),t.edges().forEach((function(n){var r=t.edge(n),i=e.edge(n);r.points=i?i.points:[],i&&i.hasOwnProperty("x")&&(r.x=i.x,r.y=i.y)})),t.graph().width=e.graph().width,t.graph().height=e.graph().height},x=["nodesep","edgesep","ranksep","marginx","marginy"],w={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},_=["acyclicer","ranker","rankdir","align"],E=["width","height","layer","fixorder"],S={width:0,height:0},M=["minlen","weight","width","height","labeloffset"],O={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},k=["labelpos"],A=function(t){var e=new v.Graph({multigraph:!0,compound:!0}),n=Y(t.graph()),i={};return null==_||_.forEach((function(t){void 0!==n[t]&&(i[t]=n[t])})),e.setGraph(Object.assign({},w,G(n,x),i)),t.nodes().forEach((function(n){var i=Y(t.node(n)),o=r(r({},S),i),a=G(o,E);e.setNode(n,a),e.setParent(n,t.parent(n))})),t.edges().forEach((function(n){var r=Y(t.edge(n)),i={};null==k||k.forEach((function(t){void 0!==r[t]&&(i[t]=r[t])})),e.setEdgeObj(n,Object.assign({},O,G(r,M),i))})),e},C=function(t){var e=t.graph();e.ranksep||(e.ranksep=0),e.ranksep/=2,t.nodes().forEach((function(e){var n=t.node(e);isNaN(n.layer)||n.layer||(n.layer=0)})),t.edges().forEach((function(n){var r,i=t.edge(n);i.minlen*=2,"c"!==(null===(r=i.labelpos)||void 0===r?void 0:r.toLowerCase())&&("TB"===e.rankdir||"BT"===e.rankdir?i.width+=i.labeloffset:i.height+=i.labeloffset)}))},j=function(t){t.edges().forEach((function(e){var n=t.edge(e);if(n.width&&n.height){var r=t.node(e.v),i={e:e,rank:(t.node(e.w).rank-r.rank)/2+r.rank};(0,u.addDummyNode)(t,"edge-proxy",i,"_ep")}}))},I=function(t){var e=0;t.nodes().forEach((function(n){var r,i,o=t.node(n);o.borderTop&&(o.minRank=null===(r=t.node(o.borderTop))||void 0===r?void 0:r.rank,o.maxRank=null===(i=t.node(o.borderBottom))||void 0===i?void 0:i.rank,e=Math.max(e,o.maxRank||-1/0))})),t.graph().maxRank=e},T=function(t){t.nodes().forEach((function(e){var n=t.node(e);"edge-proxy"===n.dummy&&(t.edge(n.e).labelRank=n.rank,t.removeNode(e))}))},N=function(t){var e,n,r=0,i=0,o=t.graph(),a=o.marginx||0,s=o.marginy||0,u=function(t){if(t){var o=t.x,a=t.y,s=t.width,u=t.height;isNaN(o)||isNaN(s)||(void 0===e&&(e=o-s/2),e=Math.min(e,o-s/2),r=Math.max(r,o+s/2)),isNaN(a)||isNaN(u)||(void 0===n&&(n=a-u/2),n=Math.min(n,a-u/2),i=Math.max(i,a+u/2))}};t.nodes().forEach((function(e){u(t.node(e))})),t.edges().forEach((function(e){var n=t.edge(e);(null==n?void 0:n.hasOwnProperty("x"))&&u(n)})),e-=a,n-=s,t.nodes().forEach((function(r){var i=t.node(r);i&&(i.x-=e,i.y-=n)})),t.edges().forEach((function(r){var i,o=t.edge(r);null===(i=o.points)||void 0===i||i.forEach((function(t){t.x-=e,t.y-=n})),o.hasOwnProperty("x")&&(o.x-=e),o.hasOwnProperty("y")&&(o.y-=n)})),o.width=r-e+a,o.height=i-n+s},P=function(t){t.edges().forEach((function(e){var n,r,i=t.edge(e),o=t.node(e.v),a=t.node(e.w);i.points?(n=i.points[0],r=i.points[i.points.length-1]):(i.points=[],n=a,r=o),i.points.unshift((0,u.intersectRect)(o,n)),i.points.push((0,u.intersectRect)(a,r))}))},D=function(t){t.edges().forEach((function(e){var n=t.edge(e);if(null==n?void 0:n.hasOwnProperty("x"))switch("l"!==n.labelpos&&"r"!==n.labelpos||(n.width-=n.labeloffset),n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset}}))},L=function(t){t.edges().forEach((function(e){var n,r=t.edge(e);r.reversed&&(null===(n=r.points)||void 0===n||n.reverse())}))},R=function(t){t.nodes().forEach((function(e){var n,r,i;if(null===(n=t.children(e))||void 0===n?void 0:n.length){var o=t.node(e),a=t.node(o.borderTop),s=t.node(o.borderBottom),u=t.node(o.borderLeft[(null===(r=o.borderLeft)||void 0===r?void 0:r.length)-1]),c=t.node(o.borderRight[(null===(i=o.borderRight)||void 0===i?void 0:i.length)-1]);o.width=Math.abs((null==c?void 0:c.x)-(null==u?void 0:u.x))||10,o.height=Math.abs((null==s?void 0:s.y)-(null==a?void 0:a.y))||10,o.x=((null==u?void 0:u.x)||0)+o.width/2,o.y=((null==a?void 0:a.y)||0)+o.height/2}})),t.nodes().forEach((function(e){var n;"border"===(null===(n=t.node(e))||void 0===n?void 0:n.dummy)&&t.removeNode(e)}))},B=function(t){t.edges().forEach((function(e){if(e.v===e.w){var n=t.node(e.v);n.selfEdges||(n.selfEdges=[]),n.selfEdges.push({e:e,label:t.edge(e)}),t.removeEdgeObj(e)}}))},F=function(t){var e=(0,u.buildLayerMatrix)(t);null==e||e.forEach((function(e){var n=0;null==e||e.forEach((function(e,r){var i,o=t.node(e);o.order=r+n,null===(i=o.selfEdges)||void 0===i||i.forEach((function(e){(0,u.addDummyNode)(t,"selfedge",{width:e.label.width,height:e.label.height,rank:o.rank,order:r+ ++n,e:e.e,label:e.label},"_se")})),delete o.selfEdges}))}))},z=function(t){t.nodes().forEach((function(e){var n=t.node(e);if("selfedge"===n.dummy){var r=t.node(n.e.v),i=r.x+r.width/2,o=r.y,a=n.x-i,s=r.height/2;t.setEdgeObj(n.e,n.label),t.removeNode(e),n.label.points=[{x:i+2*a/3,y:o-s},{x:i+5*a/6,y:o-s},{y:o,x:i+a},{x:i+5*a/6,y:o+s},{x:i+2*a/3,y:o+s}],n.label.x=n.x,n.label.y=n.y}}))},G=function(t,e){var n={};return null==e||e.forEach((function(e){void 0!==t[e]&&(n[e]=+t[e])})),n},Y=function(t){void 0===t&&(t={});var e={};return Object.keys(t).forEach((function(n){e[n.toLowerCase()]=t[n]})),e};e.default=function(t,e){var n=e&&e.debugTiming?u.time:u.notime;n("layout",(function(){e&&!e.keepNodeOrder&&e.prevGraph&&n(" inheritOrder",(function(){m(t,e.prevGraph)}));var r=n(" buildLayoutGraph",(function(){return A(t)}));e&&!1===e.edgeLabelSpace||n(" makeSpaceForEdgeLabels",(function(){C(r)}));try{n(" runLayout",(function(){y(r,n,e)}))}catch(t){if("Not possible to find intersection inside of the rectangle"===t.message)return void console.error("The following error may be caused by improper layer setting, please make sure your manual layer setting does not violate the graph's structure:\n",t);throw t}n(" updateInputGraph",(function(){b(t,r)}))}))}},function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var i=r(n(161)),o=function(t){var e=[],n={},r={},i=function(o){var a;r[o]||(r[o]=!0,n[o]=!0,null===(a=t.outEdges(o))||void 0===a||a.forEach((function(t){n[t.w]?e.push(t):i(t.w)})),delete n[o])};return t.nodes().forEach(i),e};e.default={run:function(t){var e="greedy"===t.graph().acyclicer?(0,i.default)(t,function(t){return function(e){var n;return(null===(n=t.edge(e))||void 0===n?void 0:n.weight)||1}}(t)):o(t);null==e||e.forEach((function(e){var n=t.edge(e);t.removeEdgeObj(e),n.forwardName=e.name,n.reversed=!0,t.setEdge(e.w,e.v,n,"rev-".concat(Math.random()))}))},undo:function(t){t.edges().forEach((function(e){var n=t.edge(e);if(n.reversed){t.removeEdgeObj(e);var r=n.forwardName;delete n.reversed,delete n.forwardName,t.setEdge(e.w,e.v,n,r)}}))}}},function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var a=o(n(162)),s=n(47),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e}(a.default),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e}(s.Graph),l=function(){return 1},f=function(t,e,n){for(var r,i=[],o=e[e.length-1],a=e[0];t.nodeCount();){for(;r=a.dequeue();)h(t,e,n,r);for(;r=o.dequeue();)h(t,e,n,r);if(t.nodeCount())for(var s=e.length-2;s>0;--s)if(r=e[s].dequeue()){i=i.concat(h(t,e,n,r,!0));break}}return i},h=function(t,e,n,r,i){var o,a,s=[];return null===(o=t.inEdges(r.v))||void 0===o||o.forEach((function(r){var o=t.edge(r),a=t.node(r.v);i&&s.push({v:r.v,w:r.w,in:0,out:0}),void 0===a.out&&(a.out=0),a.out-=o,p(e,n,a)})),null===(a=t.outEdges(r.v))||void 0===a||a.forEach((function(r){var i=t.edge(r),o=r.w,a=t.node(o);void 0===a.in&&(a.in=0),a.in-=i,p(e,n,a)})),t.removeNode(r.v),i?s:void 0},d=function(t,e){var n=new c,r=0,i=0;t.nodes().forEach((function(t){n.setNode(t,{v:t,in:0,out:0})})),t.edges().forEach((function(t){var o=n.edge(t)||0,a=(null==e?void 0:e(t))||1,s=o+a;n.setEdge(t.v,t.w,s),i=Math.max(i,n.node(t.v).out+=a),r=Math.max(r,n.node(t.w).in+=a)}));for(var o=[],a=i+r+3,s=0;s<a;s++)o.push(new u);var l=r+1;return n.nodes().forEach((function(t){p(o,l,n.node(t))})),{buckets:o,zeroIdx:l,graph:n}},p=function(t,e,n){n.out?n.in?t[n.out-n.in+e].enqueue(n):t[t.length-1].enqueue(n):t[0].enqueue(n)};e.default=function(t,e){var n;if(t.nodeCount()<=1)return[];var r=d(t,e||l);return null===(n=f(r.graph,r.buckets,r.zeroIdx).map((function(e){return t.outEdges(e.v,e.w)})))||void 0===n?void 0:n.flat()}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=function(t,e){if("next"!==t&&"prev"!==t)return e},i=function(t){t.prev.next=t.next,t.next.prev=t.prev,delete t.next,delete t.prev},o=function(){function t(){var t={};t.prev=t,t.next=t.prev,this.shortcut=t}return t.prototype.dequeue=function(){var t=this.shortcut,e=t.prev;if(e&&e!==t)return i(e),e},t.prototype.enqueue=function(t){var e=this.shortcut;t.prev&&t.next&&i(t),t.next=e.next,e.next.prev=t,e.next=t,t.prev=e},t.prototype.toString=function(){for(var t=[],e=this.shortcut,n=e.prev;n!==e;)t.push(JSON.stringify(n,r)),n=null==n?void 0:n.prev;return"[".concat(t.join(", "),"]")},t}();e.default=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(26),i=function(t,e){var n=e.v,i=t.node(n).rank,o=e.w,a=t.node(o).rank,s=e.name,u=t.edge(e),c=u.labelRank;if(a!==i+1){t.removeEdgeObj(e);var l,f,h,d=t.graph();for(h=0,++i;i<a;++h,++i)u.points=[],f={edgeLabel:u,width:0,height:0,edgeObj:e,rank:i},l=(0,r.addDummyNode)(t,"edge",f,"_d"),i===c&&(f.width=u.width,f.height=u.height,f.dummy="edge-label",f.labelpos=u.labelpos),t.setEdge(n,l,{weight:u.weight},s),0===h&&(d.dummyChains||(d.dummyChains=[]),d.dummyChains.push(l)),n=l;t.setEdge(n,o,{weight:u.weight},s)}};e.default={run:function(t){t.graph().dummyChains=[],t.edges().forEach((function(e){return i(t,e)}))},undo:function(t){var e;null===(e=t.graph().dummyChains)||void 0===e||e.forEach((function(e){var n,r=t.node(e),i=r.edgeLabel;r.edgeObj&&t.setEdgeObj(r.edgeObj,i);for(var o=e;r.dummy;)n=t.successors(o)[0],t.removeNode(o),i.points.push({x:r.x,y:r.y}),"edge-label"===r.dummy&&(i.x=r.x,i.y=r.y,i.width=r.width,i.height=r.height),o=n,r=t.node(o)}))}}},function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var i=n(63),o=n(89),a=r(n(165)),s=i.longestPath,u=function(t){(0,i.longestPathWithLayer)(t),(0,o.feasibleTreeWithLayer)(t)},c=function(t){(0,a.default)(t)};e.default=function(t){switch(t.graph().ranker){case"network-simplex":c(t);break;case"tight-tree":u(t);break;case"longest-path":s(t);break;default:u(t)}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.exchangeEdges=e.enterEdge=e.leaveEdge=e.initLowLimValues=e.calcCutValue=e.initCutValues=void 0;var r=n(89),i=n(63),o=n(26),a=n(47),s=a.algorithm.preorder,u=a.algorithm.postorder;e.initCutValues=function(t,e){var n=u(t,t.nodes());null==(n=null==n?void 0:n.slice(0,(null==n?void 0:n.length)-1))||n.forEach((function(n){c(t,e,n)}))};var c=function(t,n,r){var i=t.node(r).parent;t.edgeFromArgs(r,i).cutvalue=(0,e.calcCutValue)(t,n,r)};e.calcCutValue=function(t,e,n){var r,i=t.node(n).parent,o=!0,a=e.edgeFromArgs(n,i),s=0;return a||(o=!1,a=e.edgeFromArgs(i,n)),s=a.weight,null===(r=e.nodeEdges(n))||void 0===r||r.forEach((function(r){var a=r.v===n,u=a?r.w:r.v;if(u!==i){var c=a===o,l=e.edge(r).weight;if(s+=c?l:-l,h(t,n,u)){var f=t.edgeFromArgs(n,u).cutvalue;s+=c?-f:f}}})),s};e.initLowLimValues=function(t,e){void 0===e&&(e=t.nodes()[0]),l(t,{},1,e)};var l=function(t,e,n,r,i){var o,a=n,s=n,u=t.node(r);return e[r]=!0,null===(o=t.neighbors(r))||void 0===o||o.forEach((function(n){e[n]||(s=l(t,e,s,n,r))})),u.low=a,u.lim=s++,i?u.parent=i:delete u.parent,s};e.leaveEdge=function(t){return t.edges().find((function(e){return t.edge(e).cutvalue<0}))};e.enterEdge=function(t,e,n){var r=n.v,a=n.w;e.hasEdge(r,a)||(r=n.w,a=n.v);var s=t.node(r),u=t.node(a),c=s,l=!1;s.lim>u.lim&&(c=u,l=!0);var f=e.edges().filter((function(e){return l===d(t,t.node(e.v),c)&&l!==d(t,t.node(e.w),c)}));return(0,o.minBy)(f,(function(t){return(0,i.slack)(e,t)}))};e.exchangeEdges=function(t,n,r,i){var o=r.v,a=r.w;t.removeEdge(o,a),t.setEdge(i.v,i.w,{}),(0,e.initLowLimValues)(t),(0,e.initCutValues)(t,n),f(t,n)};var f=function(t,e){var n=t.nodes().find((function(t){var n;return!(null===(n=e.node(t))||void 0===n?void 0:n.parent)})),r=s(t,n);null==(r=null==r?void 0:r.slice(1))||r.forEach((function(n){var r=t.node(n).parent,i=e.edgeFromArgs(n,r),o=!1;i||(i=e.edgeFromArgs(r,n),o=!0),e.node(n).rank=e.node(r).rank+(o?i.minlen:-i.minlen)}))},h=function(t,e,n){return t.hasEdge(e,n)},d=function(t,e,n){return n.low<=e.lim&&e.lim<=n.lim};e.default=function(t){var n=(0,o.simplify)(t);(0,i.longestPath)(n);var a,s,u=(0,r.feasibleTree)(n);for((0,e.initLowLimValues)(u),(0,e.initCutValues)(u,n);a=(0,e.leaveEdge)(u);)s=(0,e.enterEdge)(u,n,a),(0,e.exchangeEdges)(u,n,a,s)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default=function(t){var e,n=function(t){var e,n={},r=0,i=function(e){var o,a=r;null===(o=t.children(e))||void 0===o||o.forEach(i),n[e]={low:a,lim:r++}};return null===(e=t.children())||void 0===e||e.forEach(i),n}(t);null===(e=t.graph().dummyChains)||void 0===e||e.forEach((function(e){var r,i,o=e,a=t.node(o),s=a.edgeObj;if(s)for(var u=function(t,e,n,r){var i,o,a=[],s=[],u=Math.min(e[n].low,e[r].low),c=Math.max(e[n].lim,e[r].lim);i=n;do{i=t.parent(i),a.push(i)}while(i&&(e[i].low>u||c>e[i].lim));for(o=i,i=r;i&&i!==o;)s.push(i),i=t.parent(i);return{lca:o,path:a.concat(s.reverse())}}(t,n,s.v,s.w),c=u.path,l=u.lca,f=0,h=c[f],d=!0;o!==s.w;){if(a=t.node(o),d){for(;h!==l&&(null===(r=t.node(h))||void 0===r?void 0:r.maxRank)<a.rank;)h=c[++f];h===l&&(d=!1)}if(!d){for(;f<c.length-1&&(null===(i=t.node(c[f+1]))||void 0===i?void 0:i.minRank)<=a.rank;)f++;h=c[f]}t.setParent(o,h),o=t.successors(o)[0]}}))}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(26),i=function(t,e,n,o,a,s,u){var c=t.children(u);if(null==c?void 0:c.length){var l=(0,r.addBorderNode)(t,"_bt"),f=(0,r.addBorderNode)(t,"_bb"),h=t.node(u);t.setParent(l,u),h.borderTop=l,t.setParent(f,u),h.borderBottom=f,null==c||c.forEach((function(r){i(t,e,n,o,a,s,r);var c=t.node(r),h=c.borderTop?c.borderTop:r,d=c.borderBottom?c.borderBottom:r,p=c.borderTop?o:2*o,g=h!==d?1:a-s[u]+1;t.setEdge(l,h,{minlen:g,weight:p,nestingEdge:!0}),t.setEdge(d,f,{minlen:g,weight:p,nestingEdge:!0})})),t.parent(u)||t.setEdge(e,l,{weight:0,minlen:a+s[u]})}else u!==e&&t.setEdge(e,u,{weight:0,minlen:n})},o=function(t){var e,n={},r=function(e,i){var o=t.children(e);null==o||o.forEach((function(t){return r(t,i+1)})),n[e]=i};return null===(e=t.children())||void 0===e||e.forEach((function(t){return r(t,1)})),n},a=function(t){var e=0;return t.edges().forEach((function(n){e+=t.edge(n).weight})),e};e.default={run:function(t){var e,n=(0,r.addDummyNode)(t,"root",{},"_root"),s=o(t),u=Math.max.apply(Math,Object.values(s));Math.abs(u)===1/0&&(u=1);var c=u-1,l=2*c+1;t.graph().nestingRoot=n,t.edges().forEach((function(e){t.edge(e).minlen*=l}));var f=a(t)+1;null===(e=t.children())||void 0===e||e.forEach((function(e){i(t,n,l,f,c,s,e)})),t.graph().nodeRankFactor=l},cleanup:function(t){var e=t.graph();e.nestingRoot&&t.removeNode(e.nestingRoot),delete e.nestingRoot,t.edges().forEach((function(e){t.edge(e).nestingEdge&&t.removeEdgeObj(e)}))}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(26),i=function(t,e,n,i,o,a){var s={rank:a,borderType:e,width:0,height:0},u=o[e][a-1],c=(0,r.addDummyNode)(t,"border",s,n);o[e][a]=c,t.setParent(c,i),u&&t.setEdge(u,c,{weight:1})};e.default=function(t){var e,n=function(e){var r=t.children(e),o=t.node(e);if((null==r?void 0:r.length)&&r.forEach((function(t){return n(t)})),o.hasOwnProperty("minRank")){o.borderLeft=[],o.borderRight=[];for(var a=o.minRank,s=o.maxRank+1;a<s;a+=1)i(t,"borderLeft","_bl",e,o,a),i(t,"borderRight","_br",e,o,a)}};null===(e=t.children())||void 0===e||e.forEach((function(t){return n(t)}))}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=function(t){t.nodes().forEach((function(e){i(t.node(e))})),t.edges().forEach((function(e){i(t.edge(e))}))},i=function(t){var e=t.width;t.width=t.height,t.height=e},o=function(t){t.nodes().forEach((function(e){a(t.node(e))})),t.edges().forEach((function(e){var n,r=t.edge(e);null===(n=r.points)||void 0===n||n.forEach((function(t){return a(t)})),r.hasOwnProperty("y")&&a(r)}))},a=function(t){(null==t?void 0:t.y)&&(t.y=-t.y)},s=function(t){t.nodes().forEach((function(e){u(t.node(e))})),t.edges().forEach((function(e){var n,r=t.edge(e);null===(n=r.points)||void 0===n||n.forEach((function(t){return u(t)})),r.hasOwnProperty("x")&&u(r)}))},u=function(t){var e=t.x;t.x=t.y,t.y=e};e.default={adjust:function(t){var e,n=null===(e=t.graph().rankdir)||void 0===e?void 0:e.toLowerCase();"lr"!==n&&"rl"!==n||r(t)},undo:function(t){var e,n=null===(e=t.graph().rankdir)||void 0===e?void 0:e.toLowerCase();"bt"!==n&&"rl"!==n||o(t),"lr"!==n&&"rl"!==n||(s(t),r(t))}}},function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var i=r(n(171)),o=r(n(172)),a=r(n(173)),s=r(n(174)),u=r(n(175)),c=n(15),l=n(35),f=n(26),h=function(t,e,n){return e.map((function(e){return(0,a.default)(t,e,n)}))},d=function(t,e,n,r){var i=new l.Graph;null==t||t.forEach((function(t){for(var o,a=t.graph().root,c=(0,u.default)(t,a,i,e,n,r),l=0;l<(null===(o=c.vs)||void 0===o?void 0:o.length);l++){var f=t.node(c.vs[l]);f&&(f.order=l)}(0,s.default)(t,i,c.vs)}))},p=function(t,e){null==e||e.forEach((function(e){null==e||e.forEach((function(e,n){t.node(e).order=n}))}))};e.default=function(t,e){for(var n=(0,f.maxRank)(t),r=[],a=[],s=1;s<n+1;s++)r.push(s);for(s=n-1;s>-1;s--)a.push(s);var u=h(t,r,"inEdges"),l=h(t,a,"outEdges"),g=(0,i.default)(t);p(t,g);for(var v,y=Number.POSITIVE_INFINITY,m=(s=0,0);m<4;++s,++m){d(s%2?u:l,s%4>=2,!1,e),g=(0,f.buildLayerMatrix)(t),(b=(0,o.default)(t,g))<y&&(m=0,v=(0,c.clone)(g),y=b)}g=(0,i.default)(t),p(t,g);for(s=0,m=0;m<4;++s,++m){var b;d(s%2?u:l,s%4>=2,!0,e),g=(0,f.buildLayerMatrix)(t),(b=(0,o.default)(t,g))<y&&(m=0,v=(0,c.clone)(g),y=b)}p(t,v)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(108);e.default=function(t){for(var e={},n=t.nodes().filter((function(e){var n;return!(null===(n=t.children(e))||void 0===n?void 0:n.length)})),i=n.map((function(e){return t.node(e).rank})),o=(0,r.max)(i),a=[],s=0;s<o+1;s++)a.push([]);var u=function(n){var r;if(!e.hasOwnProperty(n)){e[n]=!0;var i=t.node(n);isNaN(i.rank)||a[i.rank].push(n),null===(r=t.successors(n))||void 0===r||r.forEach((function(t){return u(t)}))}},c=n.sort((function(e,n){return t.node(e).rank-t.node(n).rank})),l=c.filter((function(e){return void 0!==t.node(e).fixorder})).sort((function(e,n){return t.node(e).fixorder-t.node(n).fixorder}));return null==l||l.forEach((function(n){isNaN(t.node(n).rank)||a[t.node(n).rank].push(n),e[n]=!0})),null==c||c.forEach(u),a}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(26),i=function(t,e,n){for(var i=(0,r.zipObject)(n,n.map((function(t,e){return e}))),o=e.map((function(e){var n,r=null===(n=t.outEdges(e))||void 0===n?void 0:n.map((function(e){return{pos:i[e.w]||0,weight:t.edge(e).weight}}));return null==r?void 0:r.sort((function(t,e){return t.pos-e.pos}))})).flat().filter((function(t){return void 0!==t})),a=1;a<n.length;)a<<=1;var s=2*a-1;a-=1;var u=Array(s).fill(0,0,s),c=0;return null==o||o.forEach((function(t){if(t){var e=t.pos+a;u[e]+=t.weight;for(var n=0;e>0;)e%2&&(n+=u[e+1]),u[e=e-1>>1]+=t.weight;c+=t.weight*n}})),c};e.default=function(t,e){for(var n=0,r=1;r<(null==e?void 0:e.length);r+=1)n+=i(t,e[r-1],e[r]);return n}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(35),i=function(t){for(var e;t.hasNode(e="_root".concat(Math.random())););return e};e.default=function(t,e,n){var o=i(t),a=new r.Graph({compound:!0}).setGraph({root:o}).setDefaultNodeLabel((function(e){return t.node(e)}));return t.nodes().forEach((function(r){var i,s=t.node(r),u=t.parent(r);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(a.setNode(r),a.setParent(r,u||o),null===(i=t[n](r))||void 0===i||i.forEach((function(e){var n=e.v===r?e.w:e.v,i=a.edgeFromArgs(n,r),o=void 0!==i?i.weight:0;a.setEdge(n,r,{weight:t.edge(e).weight+o})})),s.hasOwnProperty("minRank")&&a.setNode(r,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))})),a}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default=function(t,e,n){var r,i={};null==n||n.forEach((function(n){for(var o,a,s=t.parent(n);s;){if((o=t.parent(s))?(a=i[o],i[o]=s):(a=r,r=s),a&&a!==s)return void e.setEdge(a,s);s=o}}))}},function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var i=r(n(176)),o=r(n(177)),a=r(n(178)),s=function(t,e,n,r,l,f){var h,d,p,g,v=t.children(e),y=t.node(e),m=y?y.borderLeft:void 0,b=y?y.borderRight:void 0,x={};m&&(v=null==v?void 0:v.filter((function(t){return t!==m&&t!==b})));var w=(0,i.default)(t,v||[]);null==w||w.forEach((function(e){var i;if(null===(i=t.children(e.v))||void 0===i?void 0:i.length){var o=s(t,e.v,n,r,f);x[e.v]=o,o.hasOwnProperty("barycenter")&&c(e,o)}}));var _=(0,o.default)(w,n);u(_,x),null===(h=_.filter((function(t){return t.vs.length>0})))||void 0===h||h.forEach((function(e){var n=t.node(e.vs[0]);n&&(e.fixorder=n.fixorder,e.order=n.order)}));var E=(0,a.default)(_,r,l,f);if(m&&(E.vs=[m,E.vs,b].flat(),null===(d=t.predecessors(m))||void 0===d?void 0:d.length)){var S=t.node((null===(p=t.predecessors(m))||void 0===p?void 0:p[0])||""),M=t.node((null===(g=t.predecessors(b))||void 0===g?void 0:g[0])||"");E.hasOwnProperty("barycenter")||(E.barycenter=0,E.weight=0),E.barycenter=(E.barycenter*E.weight+S.order+M.order)/(E.weight+2),E.weight+=2}return E},u=function(t,e){null==t||t.forEach((function(t){var n,r=null===(n=t.vs)||void 0===n?void 0:n.map((function(t){return e[t]?e[t].vs:t}));t.vs=r.flat()}))},c=function(t,e){void 0!==t.barycenter?(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight):(t.barycenter=e.barycenter,t.weight=e.weight)};e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default=function(t,e){return e.map((function(e){var n=t.inEdges(e);if(!(null==n?void 0:n.length))return{v:e};var r={sum:0,weight:0};return null==n||n.forEach((function(e){var n=t.edge(e),i=t.node(e.v);r.sum+=n.weight*i.order,r.weight+=n.weight})),{v:e,barycenter:r.sum/r.weight,weight:r.weight}}))}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=function(t){for(var e,n,r=[],o=function(){var o=t.pop();r.push(o),null===(e=o.in.reverse())||void 0===e||e.forEach((function(t){return(e=o,function(t){t.merged||(void 0===t.barycenter||void 0===e.barycenter||t.barycenter>=e.barycenter)&&i(e,t)})(t);var e})),null===(n=o.out)||void 0===n||n.forEach((function(e){return(n=o,function(e){e.in.push(n),0==--e.indegree&&t.push(e)})(e);var n}))};null==t?void 0:t.length;)o();var a=r.filter((function(t){return!t.merged})),s=["vs","i","barycenter","weight"];return a.map((function(t){var e={};return null==s||s.forEach((function(n){void 0!==t[n]&&(e[n]=t[n])})),e}))},i=function(t,e){var n,r=0,i=0;t.weight&&(r+=t.barycenter*t.weight,i+=t.weight),e.weight&&(r+=e.barycenter*e.weight,i+=e.weight),t.vs=null===(n=e.vs)||void 0===n?void 0:n.concat(t.vs),t.barycenter=r/i,t.weight=i,t.i=Math.min(e.i,t.i),e.merged=!0};e.default=function(t,e){var n,i,o,a={};null==t||t.forEach((function(t,e){a[t.v]={i:e,indegree:0,in:[],out:[],vs:[t.v]};var n=a[t.v];void 0!==t.barycenter&&(n.barycenter=t.barycenter,n.weight=t.weight)})),null===(n=e.edges())||void 0===n||n.forEach((function(t){var e=a[t.v],n=a[t.w];void 0!==e&&void 0!==n&&(n.indegree++,e.out.push(a[t.w]))}));var s=null===(o=(i=Object.values(a)).filter)||void 0===o?void 0:o.call(i,(function(t){return!t.indegree}));return r(s)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(26),i=function(t,e,n){for(var r,i=n;e.length&&(r=e[e.length-1]).i<=i;)e.pop(),null==t||t.push(r.vs),i++;return i},o=function(t,e){return function(n,r){if(void 0!==n.fixorder&&void 0!==r.fixorder)return n.fixorder-r.fixorder;if(n.barycenter<r.barycenter)return-1;if(n.barycenter>r.barycenter)return 1;if(e&&void 0!==n.order&&void 0!==r.order){if(n.order<r.order)return-1;if(n.order>r.order)return 1}return t?r.i-n.i:n.i-r.i}};e.default=function(t,e,n,a){var s=(0,r.partition)(t,(function(t){var e=t.hasOwnProperty("fixorder")&&!isNaN(t.fixorder);return a?!e&&t.hasOwnProperty("barycenter"):e||t.hasOwnProperty("barycenter")})),u=s.lhs,c=s.rhs.sort((function(t,e){return-t.i- -e.i})),l=[],f=0,h=0,d=0;null==u||u.sort(o(!!e,!!n)),d=i(l,c,d),null==u||u.forEach((function(t){var e;d+=null===(e=t.vs)||void 0===e?void 0:e.length,l.push(t.vs),f+=t.barycenter*t.weight,h+=t.weight,d=i(l,c,d)}));var p={vs:l.flat()};return h&&(p.barycenter=f/h,p.weight=h),p}},function(t,e,n){"use strict";var r=this&&this.__spreadArray||function(t,e,n){if(n||2===arguments.length)for(var r,i=0,o=e.length;i<o;i++)!r&&i in e||(r||(r=Array.prototype.slice.call(e,0,i)),r[i]=e[i]);return t.concat(r||Array.prototype.slice.call(e))};Object.defineProperty(e,"__esModule",{value:!0});var i=n(26),o=n(180);e.default=function(t){var e,n=(0,i.asNonCompoundGraph)(t);!function(t){var e=(0,i.buildLayerMatrix)(t),n=t.graph().ranksep,o=0;null==e||e.forEach((function(e){var i=e.map((function(e){return t.node(e).height})),a=Math.max.apply(Math,r(r([],i,!1),[0],!1));null==e||e.forEach((function(e){t.node(e).y=o+a/2})),o+=a+n}))}(n);var a=function(t){var e=(0,i.buildLayerMatrix)(t),n=Object.assign((0,o.findType1Conflicts)(t,e),(0,o.findType2Conflicts)(t,e)),r={},a=[];["u","d"].forEach((function(i){a="u"===i?e:Object.values(e).reverse(),["l","r"].forEach((function(e){"r"===e&&(a=a.map((function(t){return Object.values(t).reverse()})));var s=("u"===i?t.predecessors:t.successors).bind(t),u=(0,o.verticalAlignment)(t,a,n,s),c=(0,o.horizontalCompaction)(t,a,u.root,u.align,"r"===e);"r"===e&&Object.keys(c).forEach((function(t){return c[t]=-c[t]})),r[i+e]=c}))}));var s=(0,o.findSmallestWidthAlignment)(t,r);return s&&(0,o.alignCoordinates)(r,s),(0,o.balance)(r,t.graph().align)}(n);null===(e=Object.keys(a))||void 0===e||e.forEach((function(t){n.node(t).x=a[t]}))}},function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.width=e.sep=e.positionX=e.balance=e.alignCoordinates=e.findSmallestWidthAlignment=e.buildBlockGraph=e.horizontalCompaction=e.verticalAlignment=e.hasConflict=e.addConflict=e.findOtherInnerSegmentNode=e.findType2Conflicts=e.findType1Conflicts=void 0;var o=n(47),a=n(108),s=n(26),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e}(o.Graph);e.findType1Conflicts=function(t,n){var r={};return(null==n?void 0:n.length)&&n.reduce((function(n,i){var o=0,a=0,s=n.length,u=null==i?void 0:i[(null==i?void 0:i.length)-1];return null==i||i.forEach((function(n,c){var l,f=(0,e.findOtherInnerSegmentNode)(t,n),h=f?t.node(f).order:s;(f||n===u)&&(null===(l=i.slice(a,c+1))||void 0===l||l.forEach((function(n){var i;null===(i=t.predecessors(n))||void 0===i||i.forEach((function(i){var a,s=t.node(i),u=s.order;!(u<o||h<u)||s.dummy&&(null===(a=t.node(n))||void 0===a?void 0:a.dummy)||(0,e.addConflict)(r,i,n)}))})),a=c+1,o=h)})),i})),r};e.findType2Conflicts=function(t,n){var r={};function i(n,i,o,a,s){for(var u,c,l,f=i;f<o;f++)l=n[f],(null===(u=t.node(l))||void 0===u?void 0:u.dummy)&&(null===(c=t.predecessors(l))||void 0===c||c.forEach((function(n){var i=t.node(n);i.dummy&&(i.order<a||i.order>s)&&(0,e.addConflict)(r,n,l)})))}function o(t,e){var n=function(t){return JSON.stringify(t.slice(1))}(t);e.get(n)||(i.apply(void 0,t),e.set(n,!0))}return(null==n?void 0:n.length)&&n.reduce((function(e,n){var r,i=-1,a=0,s=new Map;return null==n||n.forEach((function(u,c){var l;if("border"===(null===(l=t.node(u))||void 0===l?void 0:l.dummy)){var f=t.predecessors(u)||[];f.length&&(r=t.node(f[0]).order,o([n,a,c,i,r],s),a=c,i=r)}o([n,a,n.length,r,e.length],s)})),n})),r};e.findOtherInnerSegmentNode=function(t,e){var n,r;if(null===(n=t.node(e))||void 0===n?void 0:n.dummy)return null===(r=t.predecessors(e))||void 0===r?void 0:r.find((function(e){return t.node(e).dummy}))};e.addConflict=function(t,e,n){var r=e,i=n;if(r>i){var o=r;r=i,i=o}var a=t[r];a||(t[r]=a={}),a[i]=!0};e.hasConflict=function(t,e,n){var r=e;r>n&&(r=n);return!!t[r]};e.verticalAlignment=function(t,n,r,i){var o={},a={},s={};return null==n||n.forEach((function(t){null==t||t.forEach((function(t,e){o[t]=t,a[t]=t,s[t]=e}))})),null==n||n.forEach((function(t){var n=-1;null==t||t.forEach((function(t){var u=i(t);if(u.length)for(var c=((u=u.sort((function(t,e){return s[t]-s[e]}))).length-1)/2,l=Math.floor(c),f=Math.ceil(c);l<=f;++l){var h=u[l];a[t]===t&&n<s[h]&&!(0,e.hasConflict)(r,t,h)&&(a[h]=t,a[t]=o[t]=o[h],n=s[h])}}))})),{root:o,align:a}};e.horizontalCompaction=function(t,n,r,i,o){var a,s={},u=(0,e.buildBlockGraph)(t,n,r,o),c=o?"borderLeft":"borderRight",l=function(t,e){for(var n=u.nodes(),r=n.pop(),i={};r;)i[r]?t(r):(i[r]=!0,n.push(r),n=n.concat(e(r))),r=n.pop()};return l((function(t){s[t]=(u.inEdges(t)||[]).reduce((function(t,e){return Math.max(t,(s[e.v]||0)+u.edge(e))}),0)}),u.predecessors.bind(u)),l((function(e){var n=(u.outEdges(e)||[]).reduce((function(t,e){return Math.min(t,(s[e.w]||0)-u.edge(e))}),Number.POSITIVE_INFINITY),r=t.node(e);n!==Number.POSITIVE_INFINITY&&r.borderType!==c&&(s[e]=Math.max(s[e],n))}),u.successors.bind(u)),null===(a=Object.values(i))||void 0===a||a.forEach((function(t){s[t]=s[r[t]]})),s};e.buildBlockGraph=function(t,n,r,i){var o=new u,a=t.graph(),s=(0,e.sep)(a.nodesep,a.edgesep,i);return null==n||n.forEach((function(e){var n;null==e||e.forEach((function(e){var i=r[e];if(o.setNode(i),n){var a=r[n],u=o.edgeFromArgs(a,i);o.setEdge(a,i,Math.max(s(t,e,n),u||0))}n=e}))})),o};function c(t,e){var n=Object.values(e),r=(0,a.min)(n),i=(0,a.max)(n);["u","d"].forEach((function(n){["l","r"].forEach((function(o){var s,u=n+o,c=t[u];if(c!==e){var l=Object.values(c);(s="l"===o?r-(0,a.min)(l):i-(0,a.max)(l))&&(t[u]={},Object.keys(c).forEach((function(e){t[u][e]=c[e]+s})))}}))}))}e.findSmallestWidthAlignment=function(t,n){return(0,s.minBy)(Object.values(n),(function(n){var r,i=Number.NEGATIVE_INFINITY,o=Number.POSITIVE_INFINITY;return null===(r=Object.keys(n))||void 0===r||r.forEach((function(r){var a=n[r],s=(0,e.width)(t,r)/2;i=Math.max(a+s,i),o=Math.min(a-s,o)})),i-o}))},e.alignCoordinates=c;e.balance=function(t,e){var n={};return Object.keys(t.ul).forEach((function(r){if(e)n[r]=t[e.toLowerCase()][r];else{var i=Object.values(t).map((function(t){return t[r]}));n[r]=(i[0]+i[1])/2}})),n};e.positionX=function(t){var n,r=(0,s.buildLayerMatrix)(t),i=Object.assign((0,e.findType1Conflicts)(t,r),(0,e.findType2Conflicts)(t,r)),o={};["u","d"].forEach((function(a){n="u"===a?r:Object.values(r).reverse(),["l","r"].forEach((function(r){"r"===r&&(n=n.map((function(t){return Object.values(t).reverse()})));var s=("u"===a?t.predecessors:t.successors).bind(t),u=(0,e.verticalAlignment)(t,n,i,s),c=(0,e.horizontalCompaction)(t,n,u.root,u.align,"r"===r);"r"===r&&Object.keys(c).forEach((function(t){c[t]=-c[t]})),o[a+r]=c}))}));var a=(0,e.findSmallestWidthAlignment)(t,o);return c(o,a),(0,e.balance)(o,t.graph().align)};e.sep=function(t,e,n){return function(r,i,o){var a,s=r.node(i),u=r.node(o),c=0;if(c+=s.width/2,s.hasOwnProperty("labelpos"))switch((s.labelpos||"").toLowerCase()){case"l":a=-s.width/2;break;case"r":a=s.width/2}if(a&&(c+=n?a:-a),a=0,c+=(s.dummy?e:t)/2,c+=(u.dummy?e:t)/2,c+=u.width/2,u.labelpos)switch((u.labelpos||"").toLowerCase()){case"l":a=u.width/2;break;case"r":a=-u.width/2}return a&&(c+=n?a:-a),a=0,c}};e.width=function(t,e){return t.node(e).width||0}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default=function(t,e){for(var n=t.nodes().filter((function(e){var n;return!(null===(n=t.children(e))||void 0===n?void 0:n.length)})).map((function(e){return t.node(e).rank})),r=Math.max.apply(Math,n),i=[],o=0;o<r+1;o++)i[o]=[];null==e||e.forEach((function(e){var n=t.node(e);n&&!(null==n?void 0:n.dummy)&&(isNaN(n.rank)||(n.fixorder=i[n.rank].length,i[n.rank].push(e)))}))}},function(t,e,n){"use strict";n.r(e),function(t){function r(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=c(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){s=!0,o=t},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function i(t){return function(t){if(Array.isArray(t))return l(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||c(t)||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.")}()}function o(t,e,n){return e=a(e),function(t,e){if(e&&("object"==g(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,function(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return function(){return!!t}()}()?Reflect.construct(e,n||[],a(t).constructor):e.apply(t,n))}function a(t){return(a=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function s(t,e){return(s=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t})(t,e)}function u(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,i,o,a,s=[],u=!0,c=!1;try{if(o=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=o.call(n)).done)&&(s.push(r.value),s.length!==e);u=!0);}catch(t){c=!0,i=t}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw i}}return s}}(t,e)||c(t,e)||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.")}()}function c(t,e){if(t){if("string"==typeof t)return l(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(t,e):void 0}}function l(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}function f(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,d(r.key),r)}}function h(t,e,n){return e&&f(t.prototype,e),n&&f(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function d(t){var e=function(t,e){if("object"!=g(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=g(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==g(e)?e:e+""}function p(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function g(t){return(g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}n.d(e,"BRIDGE_GRAPH_NAME",(function(){return S})),n.d(e,"GraphType",(function(){return w})),n.d(e,"HierarchyNodeType",(function(){return _})),n.d(e,"InclusionType",(function(){return x})),n.d(e,"LAYOUT_CONFIG",(function(){return v})),n.d(e,"NodeType",(function(){return b})),n.d(e,"ROOT_NAME",(function(){return E})),n.d(e,"buildGraph",(function(){return Ea})),n.d(e,"flatGraph",(function(){return Sa})),n.d(e,"getEdges",(function(){return Ma})),n.d(e,"mergeConfig",(function(){return y}));var v={graph:{meta:{rankDir:"TB",nodeSep:50,rankSep:50,edgeSep:5,align:void 0}},subScene:{meta:{paddingTop:20,paddingBottom:20,paddingLeft:20,paddingRight:20,labelHeight:20}},nodeSize:{meta:{width:100,maxLabelWidth:0,height:20},node:{width:80,height:20,labelOffset:10,maxLabelWidth:40},bridge:{width:5,height:5,radius:2,labelOffset:0}}};function y(){var t,e,n,r,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:v,a=JSON.parse(JSON.stringify(o)),s=(null===(t=null==i?void 0:i.graph)||void 0===t?void 0:t.meta)||{},u=(null===(e=null==i?void 0:i.subScene)||void 0===e?void 0:e.meta)||{},c=(null===(n=null==i?void 0:i.nodeSize)||void 0===n?void 0:n.meta)||{},l=(null===(r=null==i?void 0:i.nodeSize)||void 0===r?void 0:r.node)||{},f=a.nodeSize.bridge;return{graph:{meta:Object.assign(a.graph.meta,s)},subScene:{meta:Object.assign(a.subScene.meta,u)},nodeSize:{meta:Object.assign(a.nodeSize.meta,c),node:Object.assign(a.nodeSize.node,l),bridge:f}}}function m(t){return"◬".concat(t,"◬")}var b,x,w,_,E=m("ROOT"),S=m("BRIDGE_GRAPH");!function(t){t[t.META=0]="META",t[t.NODE=1]="NODE",t[t.BRIDGE=2]="BRIDGE"}(b||(b={})),function(t){t[t.INCLUDE=0]="INCLUDE",t[t.EXCLUDE=1]="EXCLUDE",t[t.UNSPECIFIED=2]="UNSPECIFIED"}(x||(x={})),function(t){t[t.META=0]="META",t[t.CORE=1]="CORE",t[t.BRIDGE=2]="BRIDGE"}(w||(w={})),function(t){t[t.META=0]="META",t[t.OP=1]="OP",t[t.SERIES=2]="SERIES"}(_||(_={}));var M="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==t?t:"undefined"!=typeof self?self:{};function O(t,e){return t(e={exports:{}},e.exports),e.exports}var k=function(t,e){return t===e||t!=t&&e!=e},A=function(t,e){for(var n=t.length;n--;)if(k(t[n][0],e))return n;return-1},C=Array.prototype.splice;function j(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}j.prototype.clear=function(){this.__data__=[],this.size=0},j.prototype.delete=function(t){var e=this.__data__,n=A(e,t);return!(n<0||(n==e.length-1?e.pop():C.call(e,n,1),--this.size,0))},j.prototype.get=function(t){var e=this.__data__,n=A(e,t);return n<0?void 0:e[n][1]},j.prototype.has=function(t){return A(this.__data__,t)>-1},j.prototype.set=function(t,e){var n=this.__data__,r=A(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this};var I,T=j,N="object"==g(M)&&M&&M.Object===Object&&M,P="object"==("undefined"==typeof self?"undefined":g(self))&&self&&self.Object===Object&&self,D=N||P||Function("return this")(),L=D.Symbol,R=Object.prototype,B=R.hasOwnProperty,F=R.toString,z=L?L.toStringTag:void 0,G=Object.prototype.toString,Y=L?L.toStringTag:void 0,U=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":Y&&Y in Object(t)?function(t){var e=B.call(t,z),n=t[z];try{t[z]=void 0;var r=!0}catch(t){}var i=F.call(t);return r&&(e?t[z]=n:delete t[z]),i}(t):function(t){return G.call(t)}(t)},X=function(t){var e=g(t);return null!=t&&("object"==e||"function"==e)},W=function(t){if(!X(t))return!1;var e=U(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e},V=D["__core-js_shared__"],H=(I=/[^.]+$/.exec(V&&V.keys&&V.keys.IE_PROTO||""))?"Symbol(src)_1."+I:"",q=Function.prototype.toString,Z=function(t){if(null!=t){try{return q.call(t)}catch(t){}try{return t+""}catch(t){}}return""},K=/^\[object .+?Constructor\]$/,Q=Function.prototype,$=Object.prototype,J=Q.toString,tt=$.hasOwnProperty,et=RegExp("^"+J.call(tt).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),nt=function(t){return!(!X(t)||function(t){return!!H&&H in t}(t))&&(W(t)?et:K).test(Z(t))},rt=function(t,e){var n=function(t,e){return null==t?void 0:t[e]}(t,e);return nt(n)?n:void 0},it=rt(D,"Map"),ot=rt(Object,"create"),at=Object.prototype.hasOwnProperty,st=Object.prototype.hasOwnProperty;function ut(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}ut.prototype.clear=function(){this.__data__=ot?ot(null):{},this.size=0},ut.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},ut.prototype.get=function(t){var e=this.__data__;if(ot){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return at.call(e,t)?e[t]:void 0},ut.prototype.has=function(t){var e=this.__data__;return ot?void 0!==e[t]:st.call(e,t)},ut.prototype.set=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=ot&&void 0===e?"__lodash_hash_undefined__":e,this};var ct=ut,lt=function(t,e){var n=t.__data__;return function(t){var e=g(t);return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}(e)?n["string"==typeof e?"string":"hash"]:n.map};function ft(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}ft.prototype.clear=function(){this.size=0,this.__data__={hash:new ct,map:new(it||T),string:new ct}},ft.prototype.delete=function(t){var e=lt(this,t).delete(t);return this.size-=e?1:0,e},ft.prototype.get=function(t){return lt(this,t).get(t)},ft.prototype.has=function(t){return lt(this,t).has(t)},ft.prototype.set=function(t,e){var n=lt(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this};var ht=ft;function dt(t){var e=this.__data__=new T(t);this.size=e.size}dt.prototype.clear=function(){this.__data__=new T,this.size=0},dt.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},dt.prototype.get=function(t){return this.__data__.get(t)},dt.prototype.has=function(t){return this.__data__.has(t)},dt.prototype.set=function(t,e){var n=this.__data__;if(n instanceof T){var r=n.__data__;if(!it||r.length<199)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new ht(r)}return n.set(t,e),this.size=n.size,this};var pt=dt,gt=function(t,e){for(var n=-1,r=null==t?0:t.length;++n<r&&!1!==e(t[n],n,t););return t},vt=function(){try{var t=rt(Object,"defineProperty");return t({},"",{}),t}catch(t){}}(),yt=function(t,e,n){"__proto__"==e&&vt?vt(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n},mt=Object.prototype.hasOwnProperty,bt=function(t,e,n){var r=t[e];mt.call(t,e)&&k(r,n)&&(void 0!==n||e in t)||yt(t,e,n)},xt=function(t,e,n,r){var i=!n;n||(n={});for(var o=-1,a=e.length;++o<a;){var s=e[o],u=r?r(n[s],t[s],s,n,t):void 0;void 0===u&&(u=t[s]),i?yt(n,s,u):bt(n,s,u)}return n},wt=function(t){return null!=t&&"object"==g(t)},_t=function(t){return wt(t)&&"[object Arguments]"==U(t)},Et=Object.prototype,St=Et.hasOwnProperty,Mt=Et.propertyIsEnumerable,Ot=_t(function(){return arguments}())?_t:function(t){return wt(t)&&St.call(t,"callee")&&!Mt.call(t,"callee")},kt=Array.isArray,At=function(){return!1},Ct=O((function(t,e){var n=e&&!e.nodeType&&e,r=n&&t&&!t.nodeType&&t,i=r&&r.exports===n?D.Buffer:void 0,o=(i?i.isBuffer:void 0)||At;t.exports=o})),jt=/^(?:0|[1-9]\d*)$/,It=function(t,e){var n=g(t);return!!(e=null==e?9007199254740991:e)&&("number"==n||"symbol"!=n&&jt.test(t))&&t>-1&&t%1==0&&t<e},Tt=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991},Nt={};Nt["[object Float32Array]"]=Nt["[object Float64Array]"]=Nt["[object Int8Array]"]=Nt["[object Int16Array]"]=Nt["[object Int32Array]"]=Nt["[object Uint8Array]"]=Nt["[object Uint8ClampedArray]"]=Nt["[object Uint16Array]"]=Nt["[object Uint32Array]"]=!0,Nt["[object Arguments]"]=Nt["[object Array]"]=Nt["[object ArrayBuffer]"]=Nt["[object Boolean]"]=Nt["[object DataView]"]=Nt["[object Date]"]=Nt["[object Error]"]=Nt["[object Function]"]=Nt["[object Map]"]=Nt["[object Number]"]=Nt["[object Object]"]=Nt["[object RegExp]"]=Nt["[object Set]"]=Nt["[object String]"]=Nt["[object WeakMap]"]=!1;var Pt=function(t){return function(e){return t(e)}},Dt=O((function(t,e){var n=e&&!e.nodeType&&e,r=n&&t&&!t.nodeType&&t,i=r&&r.exports===n&&N.process,o=function(){try{return r&&r.require&&r.require("util").types||i&&i.binding&&i.binding("util")}catch(t){}}();t.exports=o})),Lt=Dt&&Dt.isTypedArray,Rt=Lt?Pt(Lt):function(t){return wt(t)&&Tt(t.length)&&!!Nt[U(t)]},Bt=Object.prototype.hasOwnProperty,Ft=function(t,e){var n=kt(t),r=!n&&Ot(t),i=!n&&!r&&Ct(t),o=!n&&!r&&!i&&Rt(t),a=n||r||i||o,s=a?function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}(t.length,String):[],u=s.length;for(var c in t)!e&&!Bt.call(t,c)||a&&("length"==c||i&&("offset"==c||"parent"==c)||o&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||It(c,u))||s.push(c);return s},zt=Object.prototype,Gt=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||zt)},Yt=function(t,e){return function(n){return t(e(n))}},Ut=Yt(Object.keys,Object),Xt=Object.prototype.hasOwnProperty,Wt=function(t){if(!Gt(t))return Ut(t);var e=[];for(var n in Object(t))Xt.call(t,n)&&"constructor"!=n&&e.push(n);return e},Vt=function(t){return null!=t&&Tt(t.length)&&!W(t)},Ht=function(t){return Vt(t)?Ft(t):Wt(t)},qt=Object.prototype.hasOwnProperty,Zt=function(t){if(!X(t))return function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}(t);var e=Gt(t),n=[];for(var r in t)("constructor"!=r||!e&&qt.call(t,r))&&n.push(r);return n},Kt=function(t){return Vt(t)?Ft(t,!0):Zt(t)},Qt=O((function(t,e){var n=e&&!e.nodeType&&e,r=n&&t&&!t.nodeType&&t,i=r&&r.exports===n?D.Buffer:void 0,o=i?i.allocUnsafe:void 0;t.exports=function(t,e){if(e)return t.slice();var n=t.length,r=o?o(n):new t.constructor(n);return t.copy(r),r}})),$t=function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e},Jt=function(t,e){for(var n=-1,r=null==t?0:t.length,i=0,o=[];++n<r;){var a=t[n];e(a,n,t)&&(o[i++]=a)}return o},te=function(){return[]},ee=Object.prototype.propertyIsEnumerable,ne=Object.getOwnPropertySymbols,re=ne?function(t){return null==t?[]:(t=Object(t),Jt(ne(t),(function(e){return ee.call(t,e)})))}:te,ie=function(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t},oe=Yt(Object.getPrototypeOf,Object),ae=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)ie(e,re(t)),t=oe(t);return e}:te,se=function(t,e,n){var r=e(t);return kt(t)?r:ie(r,n(t))},ue=function(t){return se(t,Ht,re)},ce=function(t){return se(t,Kt,ae)},le=rt(D,"DataView"),fe=rt(D,"Promise"),he=rt(D,"Set"),de=rt(D,"WeakMap"),pe=Z(le),ge=Z(it),ve=Z(fe),ye=Z(he),me=Z(de),be=U;(le&&"[object DataView]"!=be(new le(new ArrayBuffer(1)))||it&&"[object Map]"!=be(new it)||fe&&"[object Promise]"!=be(fe.resolve())||he&&"[object Set]"!=be(new he)||de&&"[object WeakMap]"!=be(new de))&&(be=function(t){var e=U(t),n="[object Object]"==e?t.constructor:void 0,r=n?Z(n):"";if(r)switch(r){case pe:return"[object DataView]";case ge:return"[object Map]";case ve:return"[object Promise]";case ye:return"[object Set]";case me:return"[object WeakMap]"}return e});var xe=be,we=Object.prototype.hasOwnProperty,_e=D.Uint8Array,Ee=function(t){var e=new t.constructor(t.byteLength);return new _e(e).set(new _e(t)),e},Se=/\w*$/,Me=L?L.prototype:void 0,Oe=Me?Me.valueOf:void 0,ke=function(t,e){var n=e?Ee(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)},Ae=function(t,e,n){var r=t.constructor;switch(e){case"[object ArrayBuffer]":return Ee(t);case"[object Boolean]":case"[object Date]":return new r(+t);case"[object DataView]":return function(t,e){var n=e?Ee(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return ke(t,n);case"[object Map]":return new r;case"[object Number]":case"[object String]":return new r(t);case"[object RegExp]":return function(t){var e=new t.constructor(t.source,Se.exec(t));return e.lastIndex=t.lastIndex,e}(t);case"[object Set]":return new r;case"[object Symbol]":return function(t){return Oe?Object(Oe.call(t)):{}}(t)}},Ce=Object.create,je=function(){function t(){}return function(e){if(!X(e))return{};if(Ce)return Ce(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}(),Ie=function(t){return"function"!=typeof t.constructor||Gt(t)?{}:je(oe(t))},Te=Dt&&Dt.isMap,Ne=Te?Pt(Te):function(t){return wt(t)&&"[object Map]"==xe(t)},Pe=Dt&&Dt.isSet,De=Pe?Pt(Pe):function(t){return wt(t)&&"[object Set]"==xe(t)},Le={};Le["[object Arguments]"]=Le["[object Array]"]=Le["[object ArrayBuffer]"]=Le["[object DataView]"]=Le["[object Boolean]"]=Le["[object Date]"]=Le["[object Float32Array]"]=Le["[object Float64Array]"]=Le["[object Int8Array]"]=Le["[object Int16Array]"]=Le["[object Int32Array]"]=Le["[object Map]"]=Le["[object Number]"]=Le["[object Object]"]=Le["[object RegExp]"]=Le["[object Set]"]=Le["[object String]"]=Le["[object Symbol]"]=Le["[object Uint8Array]"]=Le["[object Uint8ClampedArray]"]=Le["[object Uint16Array]"]=Le["[object Uint32Array]"]=!0,Le["[object Error]"]=Le["[object Function]"]=Le["[object WeakMap]"]=!1;var Re=function t(e,n,r,i,o,a){var s,u=1&n,c=2&n,l=4&n;if(r&&(s=o?r(e,i,o,a):r(e)),void 0!==s)return s;if(!X(e))return e;var f=kt(e);if(f){if(s=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&we.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(e),!u)return $t(e,s)}else{var h=xe(e),d="[object Function]"==h||"[object GeneratorFunction]"==h;if(Ct(e))return Qt(e,u);if("[object Object]"==h||"[object Arguments]"==h||d&&!o){if(s=c||d?{}:Ie(e),!u)return c?function(t,e){return xt(t,ae(t),e)}(e,function(t,e){return t&&xt(e,Kt(e),t)}(s,e)):function(t,e){return xt(t,re(t),e)}(e,function(t,e){return t&&xt(e,Ht(e),t)}(s,e))}else{if(!Le[h])return o?e:{};s=Ae(e,h,u)}}a||(a=new pt);var p=a.get(e);if(p)return p;a.set(e,s),De(e)?e.forEach((function(i){s.add(t(i,n,r,i,e,a))})):Ne(e)&&e.forEach((function(i,o){s.set(o,t(i,n,r,o,e,a))}));var g=f?void 0:(l?c?ce:ue:c?Kt:Ht)(e);return gt(g||e,(function(i,o){g&&(i=e[o=i]),bt(s,o,t(i,n,r,o,e,a))})),s},Be=function(t){return function(){return t}},Fe=function(t,e,n){for(var r=-1,i=Object(t),o=n(t),a=o.length;a--;){var s=o[++r];if(!1===e(i[s],s,i))break}return t},ze=function(t,e){return t&&Fe(t,e,Ht)},Ge=function(t,e){return function(e,n){if(null==e)return e;if(!Vt(e))return t(e,n);for(var r=e.length,i=-1,o=Object(e);++i<r&&!1!==n(o[i],i,o););return e}}(ze),Ye=function(t){return t},Ue=function(t){return"function"==typeof t?t:Ye},Xe=function(t,e){return(kt(t)?gt:Ge)(t,Ue(e))},We=Xe,Ve=function(t,e){var n=[];return Ge(t,(function(t,r,i){e(t,r,i)&&n.push(t)})),n};function He(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new ht;++e<n;)this.add(t[e])}He.prototype.add=He.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},He.prototype.has=function(t){return this.__data__.has(t)};var qe=He,Ze=function(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1},Ke=function(t,e){return t.has(e)},Qe=function(t,e,n,r,i,o){var a=1&n,s=t.length,u=e.length;if(s!=u&&!(a&&u>s))return!1;var c=o.get(t),l=o.get(e);if(c&&l)return c==e&&l==t;var f=-1,h=!0,d=2&n?new qe:void 0;for(o.set(t,e),o.set(e,t);++f<s;){var p=t[f],g=e[f];if(r)var v=a?r(g,p,f,e,t,o):r(p,g,f,t,e,o);if(void 0!==v){if(v)continue;h=!1;break}if(d){if(!Ze(e,(function(t,e){if(!Ke(d,e)&&(p===t||i(p,t,n,r,o)))return d.push(e)}))){h=!1;break}}else if(p!==g&&!i(p,g,n,r,o)){h=!1;break}}return o.delete(t),o.delete(e),h},$e=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n},Je=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t})),n},tn=L?L.prototype:void 0,en=tn?tn.valueOf:void 0,nn=function(t,e,n,r,i,o,a){switch(n){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!o(new _e(t),new _e(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return k(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var s=$e;case"[object Set]":var u=1&r;if(s||(s=Je),t.size!=e.size&&!u)return!1;var c=a.get(t);if(c)return c==e;r|=2,a.set(t,e);var l=Qe(s(t),s(e),r,i,o,a);return a.delete(t),l;case"[object Symbol]":if(en)return en.call(t)==en.call(e)}return!1},rn=Object.prototype.hasOwnProperty,on=Object.prototype.hasOwnProperty,an=function(t,e,n,r,i,o){var a=kt(t),s=kt(e),u=a?"[object Array]":xe(t),c=s?"[object Array]":xe(e),l="[object Object]"==(u="[object Arguments]"==u?"[object Object]":u),f="[object Object]"==(c="[object Arguments]"==c?"[object Object]":c),h=u==c;if(h&&Ct(t)){if(!Ct(e))return!1;a=!0,l=!1}if(h&&!l)return o||(o=new pt),a||Rt(t)?Qe(t,e,n,r,i,o):nn(t,e,u,n,r,i,o);if(!(1&n)){var d=l&&on.call(t,"__wrapped__"),p=f&&on.call(e,"__wrapped__");if(d||p){var g=d?t.value():t,v=p?e.value():e;return o||(o=new pt),i(g,v,n,r,o)}}return!!h&&(o||(o=new pt),function(t,e,n,r,i,o){var a=1&n,s=ue(t),u=s.length;if(u!=ue(e).length&&!a)return!1;for(var c=u;c--;){var l=s[c];if(!(a?l in e:rn.call(e,l)))return!1}var f=o.get(t),h=o.get(e);if(f&&h)return f==e&&h==t;var d=!0;o.set(t,e),o.set(e,t);for(var p=a;++c<u;){var g=t[l=s[c]],v=e[l];if(r)var y=a?r(v,g,l,e,t,o):r(g,v,l,t,e,o);if(!(void 0===y?g===v||i(g,v,n,r,o):y)){d=!1;break}p||(p="constructor"==l)}if(d&&!p){var m=t.constructor,b=e.constructor;m==b||!("constructor"in t)||!("constructor"in e)||"function"==typeof m&&m instanceof m&&"function"==typeof b&&b instanceof b||(d=!1)}return o.delete(t),o.delete(e),d}(t,e,n,r,i,o))},sn=function t(e,n,r,i,o){return e===n||(null==e||null==n||!wt(e)&&!wt(n)?e!=e&&n!=n:an(e,n,r,i,t,o))},un=function(t){return t==t&&!X(t)},cn=function(t,e){return function(n){return null!=n&&n[t]===e&&(void 0!==e||t in Object(n))}},ln=function(t){var e=function(t){for(var e=Ht(t),n=e.length;n--;){var r=e[n],i=t[r];e[n]=[r,i,un(i)]}return e}(t);return 1==e.length&&e[0][2]?cn(e[0][0],e[0][1]):function(n){return n===t||function(t,e,n,r){var i=n.length,o=i,a=!r;if(null==t)return!o;for(t=Object(t);i--;){var s=n[i];if(a&&s[2]?s[1]!==t[s[0]]:!(s[0]in t))return!1}for(;++i<o;){var u=(s=n[i])[0],c=t[u],l=s[1];if(a&&s[2]){if(void 0===c&&!(u in t))return!1}else{var f=new pt;if(r)var h=r(c,l,u,t,e,f);if(!(void 0===h?sn(l,c,3,r,f):h))return!1}}return!0}(n,t,e)}},fn=function(t){return"symbol"==g(t)||wt(t)&&"[object Symbol]"==U(t)},hn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,dn=/^\w*$/,pn=function(t,e){if(kt(t))return!1;var n=g(t);return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!fn(t))||dn.test(t)||!hn.test(t)||null!=e&&t in Object(e)};function gn(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=t.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(gn.Cache||ht),n}gn.Cache=ht;var vn,yn=gn,mn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,bn=/\\(\\)?/g,xn=function(t){var e=yn((function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(mn,(function(t,n,r,i){e.push(r?i.replace(bn,"$1"):n||t)})),e}),(function(t){return 500===n.size&&n.clear(),t})),n=e.cache;return e}(),wn=function(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i},_n=L?L.prototype:void 0,En=_n?_n.toString:void 0,Sn=function(t){return null==t?"":function t(e){if("string"==typeof e)return e;if(kt(e))return wn(e,t)+"";if(fn(e))return En?En.call(e):"";var n=e+"";return"0"==n&&1/e==-1/0?"-0":n}(t)},Mn=function(t,e){return kt(t)?t:pn(t,e)?[t]:xn(Sn(t))},On=function(t){if("string"==typeof t||fn(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e},kn=function(t,e){for(var n=0,r=(e=Mn(e,t)).length;null!=t&&n<r;)t=t[On(e[n++])];return n&&n==r?t:void 0},An=function(t,e){return null!=t&&e in Object(t)},Cn=function(t,e,n){for(var r=-1,i=(e=Mn(e,t)).length,o=!1;++r<i;){var a=On(e[r]);if(!(o=null!=t&&n(t,a)))break;t=t[a]}return o||++r!=i?o:!!(i=null==t?0:t.length)&&Tt(i)&&It(a,i)&&(kt(t)||Ot(t))},jn=function(t,e){return null!=t&&Cn(t,e,An)},In=function(t,e){return pn(t)&&un(e)?cn(On(t),e):function(n){var r=function(t,e,n){var r=null==t?void 0:kn(t,e);return void 0===r?n:r}(n,t);return void 0===r&&r===e?jn(n,t):sn(e,r,3)}},Tn=function(t){return function(e){return null==e?void 0:e[t]}},Nn=function(t){return pn(t)?Tn(On(t)):function(t){return function(e){return kn(e,t)}}(t)},Pn=function(t){return"function"==typeof t?t:null==t?Ye:"object"==g(t)?kt(t)?In(t[0],t[1]):ln(t):Nn(t)},Dn=function(t,e){return(kt(t)?Jt:Ve)(t,Pn(e))},Ln=Object.prototype.hasOwnProperty,Rn=function(t,e){return null!=t&&Ln.call(t,e)},Bn=function(t,e){return null!=t&&Cn(t,e,Rn)},Fn=Object.prototype.hasOwnProperty,zn=function(t){return void 0===t},Gn=function(t,e){var n=-1,r=Vt(t)?Array(t.length):[];return Ge(t,(function(t,i,o){r[++n]=e(t,i,o)})),r},Yn=function(t,e){return(kt(t)?wn:Gn)(t,Pn(e))},Un=function(t,e,n,r){var i=-1,o=null==t?0:t.length;for(r&&o&&(n=t[++i]);++i<o;)n=e(n,t[i],i,t);return n},Xn=function(t,e,n,r,i){return i(t,(function(t,i,o){n=r?(r=!1,t):e(n,t,i,o)})),n},Wn=function(t,e,n){var r=kt(t)?Un:Xn,i=arguments.length<3;return r(t,Pn(e),n,i,Ge)},Vn=Tn("length"),Hn=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]"),qn="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",Zn="\\ud83c[\\udffb-\\udfff]",Kn="[^\\ud800-\\udfff]",Qn="(?:\\ud83c[\\udde6-\\uddff]){2}",$n="[\\ud800-\\udbff][\\udc00-\\udfff]",Jn="(?:"+qn+"|"+Zn+")?",tr="[\\ufe0e\\ufe0f]?"+Jn+"(?:\\u200d(?:"+[Kn,Qn,$n].join("|")+")[\\ufe0e\\ufe0f]?"+Jn+")*",er="(?:"+[Kn+qn+"?",qn,Qn,$n,"[\\ud800-\\udfff]"].join("|")+")",nr=RegExp(Zn+"(?="+Zn+")|"+er+tr,"g"),rr=function(t){return function(t){return Hn.test(t)}(t)?function(t){for(var e=nr.lastIndex=0;nr.test(t);)++e;return e}(t):Vn(t)},ir=L?L.isConcatSpreadable:void 0,or=function(t){return kt(t)||Ot(t)||!!(ir&&t&&t[ir])},ar=function t(e,n,r,i,o){var a=-1,s=e.length;for(r||(r=or),o||(o=[]);++a<s;){var u=e[a];n>0&&r(u)?n>1?t(u,n-1,r,i,o):ie(o,u):i||(o[o.length]=u)}return o},sr=function(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)},ur=Math.max,cr=function(t,e,n){return e=ur(void 0===e?t.length-1:e,0),function(){for(var r=arguments,i=-1,o=ur(r.length-e,0),a=Array(o);++i<o;)a[i]=r[e+i];i=-1;for(var s=Array(e+1);++i<e;)s[i]=r[i];return s[e]=n(a),sr(t,this,s)}},lr=vt?function(t,e){return vt(t,"toString",{configurable:!0,enumerable:!1,value:Be(e),writable:!0})}:Ye,fr=Date.now,hr=function(t){var e=0,n=0;return function(){var r=fr(),i=16-(r-n);if(n=r,i>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(lr),dr=function(t,e){return hr(cr(t,e,Ye),t+"")},pr=function(t,e,n,r){for(var i=t.length,o=n+(r?1:-1);r?o--:++o<i;)if(e(t[o],o,t))return o;return-1},gr=function(t){return t!=t},vr=function(t,e){return!(null==t||!t.length)&&function(t,e,n){return e==e?function(t,e,n){for(var r=n-1,i=t.length;++r<i;)if(t[r]===e)return r;return-1}(t,e,n):pr(t,gr,n)}(t,e,0)>-1},yr=function(t,e,n){for(var r=-1,i=null==t?0:t.length;++r<i;)if(n(e,t[r]))return!0;return!1},mr=he&&1/Je(new he([,-0]))[1]==1/0?function(t){return new he(t)}:function(){},br=function(t){return wt(t)&&Vt(t)},xr=dr((function(t){return function(t,e,n){var r=-1,i=vr,o=t.length,a=!0,s=[],u=s;if(n)a=!1,i=yr;else if(o>=200){var c=e?null:mr(t);if(c)return Je(c);a=!1,i=Ke,u=new qe}else u=e?[]:s;t:for(;++r<o;){var l=t[r],f=e?e(l):l;if(l=n||0!==l?l:0,a&&f==f){for(var h=u.length;h--;)if(u[h]===f)continue t;e&&u.push(f),s.push(l)}else i(u,f,n)||(u!==s&&u.push(f),s.push(l))}return s}(ar(t,1,br,!0))})),wr=function(t){return null==t?[]:function(t,e){return wn(e,(function(e){return t[e]}))}(t,Ht(t))};try{vn={clone:function(t){return Re(t,4)},constant:Be,each:We,filter:Dn,has:Bn,isArray:kt,isEmpty:function(t){if(null==t)return!0;if(Vt(t)&&(kt(t)||"string"==typeof t||"function"==typeof t.splice||Ct(t)||Rt(t)||Ot(t)))return!t.length;var e=xe(t);if("[object Map]"==e||"[object Set]"==e)return!t.size;if(Gt(t))return!Wt(t).length;for(var n in t)if(Fn.call(t,n))return!1;return!0},isFunction:W,isUndefined:zn,keys:Ht,map:Yn,reduce:Wn,size:function(t){if(null==t)return 0;if(Vt(t))return function(t){return"string"==typeof t||!kt(t)&&wt(t)&&"[object String]"==U(t)}(t)?rr(t):t.length;var e=xe(t);return"[object Map]"==e||"[object Set]"==e?t.size:Wt(t).length},transform:function(t,e,n){var r=kt(t),i=r||Ct(t)||Rt(t);if(e=Pn(e),null==n){var o=t&&t.constructor;n=i?r?new o:[]:X(t)&&W(o)?je(oe(t)):{}}return(i?gt:ze)(t,(function(t,r,i){return e(n,t,r,i)})),n},union:xr,values:wr}}catch(v){}vn||(vn=window._);var _r=vn,Er=Sr;function Sr(t){this._isDirected=!_r.has(t,"directed")||t.directed,this._isMultigraph=!!_r.has(t,"multigraph")&&t.multigraph,this._isCompound=!!_r.has(t,"compound")&&t.compound,this._label=void 0,this._defaultNodeLabelFn=_r.constant(void 0),this._defaultEdgeLabelFn=_r.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children["\0"]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function Mr(t,e){t[e]?t[e]++:t[e]=1}function Or(t,e){--t[e]||delete t[e]}function kr(t,e,n,r){var i=""+e,o=""+n;if(!t&&i>o){var a=i;i=o,o=a}return i+""+o+""+(_r.isUndefined(r)?"\0":r)}function Ar(t,e,n,r){var i=""+e,o=""+n;if(!t&&i>o){var a=i;i=o,o=a}var s={v:i,w:o};return r&&(s.name=r),s}function Cr(t,e){return kr(t,e.v,e.w,e.name)}Sr.prototype._nodeCount=0,Sr.prototype._edgeCount=0,Sr.prototype.isDirected=function(){return this._isDirected},Sr.prototype.isMultigraph=function(){return this._isMultigraph},Sr.prototype.isCompound=function(){return this._isCompound},Sr.prototype.setGraph=function(t){return this._label=t,this},Sr.prototype.graph=function(){return this._label},Sr.prototype.setDefaultNodeLabel=function(t){return _r.isFunction(t)||(t=_r.constant(t)),this._defaultNodeLabelFn=t,this},Sr.prototype.nodeCount=function(){return this._nodeCount},Sr.prototype.nodes=function(){return _r.keys(this._nodes)},Sr.prototype.sources=function(){var t=this;return _r.filter(this.nodes(),(function(e){return _r.isEmpty(t._in[e])}))},Sr.prototype.sinks=function(){var t=this;return _r.filter(this.nodes(),(function(e){return _r.isEmpty(t._out[e])}))},Sr.prototype.setNodes=function(t,e){var n=arguments,r=this;return _r.each(t,(function(t){n.length>1?r.setNode(t,e):r.setNode(t)})),this},Sr.prototype.setNode=function(t,e){return _r.has(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]="\0",this._children[t]={},this._children["\0"][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)},Sr.prototype.node=function(t){return this._nodes[t]},Sr.prototype.hasNode=function(t){return _r.has(this._nodes,t)},Sr.prototype.removeNode=function(t){var e=this;if(_r.has(this._nodes,t)){var n=function(t){e.removeEdge(e._edgeObjs[t])};delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],_r.each(this.children(t),(function(t){e.setParent(t)})),delete this._children[t]),_r.each(_r.keys(this._in[t]),n),delete this._in[t],delete this._preds[t],_r.each(_r.keys(this._out[t]),n),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this},Sr.prototype.setParent=function(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(_r.isUndefined(e))e="\0";else{for(var n=e+="";!_r.isUndefined(n);n=this.parent(n))if(n===t)throw new Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this},Sr.prototype._removeFromParentsChildList=function(t){delete this._children[this._parent[t]][t]},Sr.prototype.parent=function(t){if(this._isCompound){var e=this._parent[t];if("\0"!==e)return e}},Sr.prototype.children=function(t){if(_r.isUndefined(t)&&(t="\0"),this._isCompound){var e=this._children[t];if(e)return _r.keys(e)}else{if("\0"===t)return this.nodes();if(this.hasNode(t))return[]}},Sr.prototype.predecessors=function(t){var e=this._preds[t];if(e)return _r.keys(e)},Sr.prototype.successors=function(t){var e=this._sucs[t];if(e)return _r.keys(e)},Sr.prototype.neighbors=function(t){var e=this.predecessors(t);if(e)return _r.union(e,this.successors(t))},Sr.prototype.isLeaf=function(t){return 0===(this.isDirected()?this.successors(t):this.neighbors(t)).length},Sr.prototype.filterNodes=function(t){var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph());var n=this;_r.each(this._nodes,(function(n,r){t(r)&&e.setNode(r,n)})),_r.each(this._edgeObjs,(function(t){e.hasNode(t.v)&&e.hasNode(t.w)&&e.setEdge(t,n.edge(t))}));var r={};return this._isCompound&&_r.each(e.nodes(),(function(t){e.setParent(t,function t(i){var o=n.parent(i);return void 0===o||e.hasNode(o)?(r[i]=o,o):o in r?r[o]:t(o)}(t))})),e},Sr.prototype.setDefaultEdgeLabel=function(t){return _r.isFunction(t)||(t=_r.constant(t)),this._defaultEdgeLabelFn=t,this},Sr.prototype.edgeCount=function(){return this._edgeCount},Sr.prototype.edges=function(){return _r.values(this._edgeObjs)},Sr.prototype.setPath=function(t,e){var n=this,r=arguments;return _r.reduce(t,(function(t,i){return r.length>1?n.setEdge(t,i,e):n.setEdge(t,i),i})),this},Sr.prototype.setEdge=function(){var t,e,n,r,i=!1,o=arguments[0];"object"==g(o)&&null!==o&&"v"in o?(t=o.v,e=o.w,n=o.name,2===arguments.length&&(r=arguments[1],i=!0)):(t=o,e=arguments[1],n=arguments[3],arguments.length>2&&(r=arguments[2],i=!0)),t=""+t,e=""+e,_r.isUndefined(n)||(n=""+n);var a=kr(this._isDirected,t,e,n);if(_r.has(this._edgeLabels,a))return i&&(this._edgeLabels[a]=r),this;if(!_r.isUndefined(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[a]=i?r:this._defaultEdgeLabelFn(t,e,n);var s=Ar(this._isDirected,t,e,n);return t=s.v,e=s.w,Object.freeze(s),this._edgeObjs[a]=s,Mr(this._preds[e],t),Mr(this._sucs[t],e),this._in[e][a]=s,this._out[t][a]=s,this._edgeCount++,this},Sr.prototype.edge=function(t,e,n){var r=1===arguments.length?Cr(this._isDirected,arguments[0]):kr(this._isDirected,t,e,n);return this._edgeLabels[r]},Sr.prototype.hasEdge=function(t,e,n){var r=1===arguments.length?Cr(this._isDirected,arguments[0]):kr(this._isDirected,t,e,n);return _r.has(this._edgeLabels,r)},Sr.prototype.removeEdge=function(t,e,n){var r=1===arguments.length?Cr(this._isDirected,arguments[0]):kr(this._isDirected,t,e,n),i=this._edgeObjs[r];return i&&(t=i.v,e=i.w,delete this._edgeLabels[r],delete this._edgeObjs[r],Or(this._preds[e],t),Or(this._sucs[t],e),delete this._in[e][r],delete this._out[t][r],this._edgeCount--),this},Sr.prototype.inEdges=function(t,e){var n=this._in[t];if(n){var r=_r.values(n);return e?_r.filter(r,(function(t){return t.v===e})):r}},Sr.prototype.outEdges=function(t,e){var n=this._out[t];if(n){var r=_r.values(n);return e?_r.filter(r,(function(t){return t.w===e})):r}},Sr.prototype.nodeEdges=function(t,e){var n=this.inEdges(t,e);if(n)return n.concat(this.outEdges(t,e))};var jr={Graph:Er,version:"2.1.8"},Ir={write:function(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:Tr(t),edges:Nr(t)};return _r.isUndefined(t.graph())||(e.value=_r.clone(t.graph())),e},read:function(t){var e=new Er(t.options).setGraph(t.value);return _r.each(t.nodes,(function(t){e.setNode(t.v,t.value),t.parent&&e.setParent(t.v,t.parent)})),_r.each(t.edges,(function(t){e.setEdge({v:t.v,w:t.w,name:t.name},t.value)})),e}};function Tr(t){return _r.map(t.nodes(),(function(e){var n=t.node(e),r=t.parent(e),i={v:e};return _r.isUndefined(n)||(i.value=n),_r.isUndefined(r)||(i.parent=r),i}))}function Nr(t){return _r.map(t.edges(),(function(e){var n=t.edge(e),r={v:e.v,w:e.w};return _r.isUndefined(e.name)||(r.name=e.name),_r.isUndefined(n)||(r.value=n),r}))}var Pr=Dr;function Dr(){this._arr=[],this._keyIndices={}}Dr.prototype.size=function(){return this._arr.length},Dr.prototype.keys=function(){return this._arr.map((function(t){return t.key}))},Dr.prototype.has=function(t){return _r.has(this._keyIndices,t)},Dr.prototype.priority=function(t){var e=this._keyIndices[t];if(void 0!==e)return this._arr[e].priority},Dr.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},Dr.prototype.add=function(t,e){var n=this._keyIndices;if(t=String(t),!_r.has(n,t)){var r=this._arr,i=r.length;return n[t]=i,r.push({key:t,priority:e}),this._decrease(i),!0}return!1},Dr.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var t=this._arr.pop();return delete this._keyIndices[t.key],this._heapify(0),t.key},Dr.prototype.decrease=function(t,e){var n=this._keyIndices[t];if(e>this._arr[n].priority)throw new Error("New priority is greater than current priority. Key: "+t+" Old: "+this._arr[n].priority+" New: "+e);this._arr[n].priority=e,this._decrease(n)},Dr.prototype._heapify=function(t){var e=this._arr,n=2*t,r=n+1,i=t;n<e.length&&(i=e[n].priority<e[i].priority?n:i,r<e.length&&(i=e[r].priority<e[i].priority?r:i),i!==t&&(this._swap(t,i),this._heapify(i)))},Dr.prototype._decrease=function(t){for(var e,n=this._arr,r=n[t].priority;0!==t&&!(n[e=t>>1].priority<r);)this._swap(t,e),t=e},Dr.prototype._swap=function(t,e){var n=this._arr,r=this._keyIndices,i=n[t],o=n[e];n[t]=o,n[e]=i,r[o.key]=t,r[i.key]=e};var Lr=function(t,e,n,r){return function(t,e,n,r){var i,o,a={},s=new Pr,u=function(t){var e=t.v!==i?t.v:t.w,r=a[e],u=n(t),c=o.distance+u;if(u<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+t+" Weight: "+u);c<r.distance&&(r.distance=c,r.predecessor=i,s.decrease(e,c))};for(t.nodes().forEach((function(t){var n=t===e?0:Number.POSITIVE_INFINITY;a[t]={distance:n},s.add(t,n)}));s.size()>0&&(i=s.removeMin(),(o=a[i]).distance!==Number.POSITIVE_INFINITY);)r(i).forEach(u);return a}(t,String(e),n||Rr,r||function(e){return t.outEdges(e)})},Rr=_r.constant(1),Br=function(t){var e=0,n=[],r={},i=[];function o(a){var s=r[a]={onStack:!0,lowlink:e,index:e++};if(n.push(a),t.successors(a).forEach((function(t){_r.has(r,t)?r[t].onStack&&(s.lowlink=Math.min(s.lowlink,r[t].index)):(o(t),s.lowlink=Math.min(s.lowlink,r[t].lowlink))})),s.lowlink===s.index){var u,c=[];do{u=n.pop(),r[u].onStack=!1,c.push(u)}while(a!==u);i.push(c)}}return t.nodes().forEach((function(t){_r.has(r,t)||o(t)})),i},Fr=_r.constant(1),zr=Gr;function Gr(t){var e={},n={},r=[];if(_r.each(t.sinks(),(function i(o){if(_r.has(n,o))throw new Yr;_r.has(e,o)||(n[o]=!0,e[o]=!0,_r.each(t.predecessors(o),i),delete n[o],r.push(o))})),_r.size(e)!==t.nodeCount())throw new Yr;return r}function Yr(){}Gr.CycleException=Yr,Yr.prototype=new Error;var Ur=function(t,e,n){_r.isArray(e)||(e=[e]);var r=(t.isDirected()?t.successors:t.neighbors).bind(t),i=[],o={};return _r.each(e,(function(e){if(!t.hasNode(e))throw new Error("Graph does not have node: "+e);!function t(e,n,r,i,o,a){_r.has(i,n)||(i[n]=!0,r||a.push(n),_r.each(o(n),(function(n){t(e,n,r,i,o,a)})),r&&a.push(n))}(t,e,"post"===n,o,r,i)})),i};var Xr,Wr={Graph:jr.Graph,json:Ir,alg:{components:function(t){var e,n={},r=[];function i(r){_r.has(n,r)||(n[r]=!0,e.push(r),_r.each(t.successors(r),i),_r.each(t.predecessors(r),i))}return _r.each(t.nodes(),(function(t){e=[],i(t),e.length&&r.push(e)})),r},dijkstra:Lr,dijkstraAll:function(t,e,n){return _r.transform(t.nodes(),(function(r,i){r[i]=Lr(t,i,e,n)}),{})},findCycles:function(t){return _r.filter(Br(t),(function(e){return e.length>1||1===e.length&&t.hasEdge(e[0],e[0])}))},floydWarshall:function(t,e,n){return function(t,e,n){var r={},i=t.nodes();return i.forEach((function(t){r[t]={},r[t][t]={distance:0},i.forEach((function(e){t!==e&&(r[t][e]={distance:Number.POSITIVE_INFINITY})})),n(t).forEach((function(n){var i=n.v===t?n.w:n.v,o=e(n);r[t][i]={distance:o,predecessor:t}}))})),i.forEach((function(t){var e=r[t];i.forEach((function(n){var o=r[n];i.forEach((function(n){var r=o[t],i=e[n],a=o[n],s=r.distance+i.distance;s<a.distance&&(a.distance=s,a.predecessor=i.predecessor)}))}))})),r}(t,e||Fr,n||function(e){return t.outEdges(e)})},isAcyclic:function(t){try{zr(t)}catch(t){if(t instanceof zr.CycleException)return!1;throw t}return!0},postorder:function(t,e){return Ur(t,e,"post")},preorder:function(t,e){return Ur(t,e,"pre")},prim:function(t,e){var n,r=new Er,i={},o=new Pr;function a(t){var r=t.v===n?t.w:t.v,a=o.priority(r);if(void 0!==a){var s=e(t);s<a&&(i[r]=n,o.decrease(r,s))}}if(0===t.nodeCount())return r;_r.each(t.nodes(),(function(t){o.add(t,Number.POSITIVE_INFINITY),r.setNode(t)})),o.decrease(t.nodes()[0],0);for(var s=!1;o.size()>0;){if(n=o.removeMin(),_r.has(i,n))r.setEdge(n,i[n]);else{if(s)throw new Error("Input graph is not connected: "+t);s=!0}t.nodeEdges(n).forEach(a)}return r},tarjan:Br,topsort:zr},version:jr.version};try{Xr=Wr}catch(v){}Xr||(Xr=window.graphlib);var Vr,Hr=Xr,qr=function(t,e,n){if(!X(n))return!1;var r=g(e);return!!("number"==r?Vt(n)&&It(e,n.length):"string"==r&&e in n)&&k(n[e],t)},Zr=Object.prototype,Kr=Zr.hasOwnProperty,Qr=dr((function(t,e){t=Object(t);var n=-1,r=e.length,i=r>2?e[2]:void 0;for(i&&qr(e[0],e[1],i)&&(r=1);++n<r;)for(var o=e[n],a=Kt(o),s=-1,u=a.length;++s<u;){var c=a[s],l=t[c];(void 0===l||k(l,Zr[c])&&!Kr.call(t,c))&&(t[c]=o[c])}return t})),$r=/^\s+|\s+$/g,Jr=/^[-+]0x[0-9a-f]+$/i,ti=/^0b[01]+$/i,ei=/^0o[0-7]+$/i,ni=parseInt,ri=function(t){return t?1/0===(t=function(t){if("number"==typeof t)return t;if(fn(t))return NaN;if(X(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=X(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace($r,"");var n=ti.test(t);return n||ei.test(t)?ni(t.slice(2),n?2:8):Jr.test(t)?NaN:+t}(t))||-1/0===t?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0},ii=Math.max,oi=function(t){return function(e,n,r){var i=Object(e);if(!Vt(e)){var o=Pn(n);e=Ht(e),n=function(t){return o(i[t],t,i)}}var a=t(e,n,r);return a>-1?i[o?e[a]:a]:void 0}}((function(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=null==n?0:function(t){var e=ri(t),n=e%1;return e==e?n?e-n:e:0}(n);return i<0&&(i=ii(r+i,0)),pr(t,Pn(e),i)})),ai=function(t){return null!=t&&t.length?ar(t,1):[]},si=function(t,e,n){for(var r=-1,i=t.length;++r<i;){var o=t[r],a=e(o);if(null!=a&&(void 0===s?a==a&&!fn(a):n(a,s)))var s=a,u=o}return u},ui=function(t,e){return t>e},ci=function(t,e,n){(void 0!==n&&!k(t[e],n)||void 0===n&&!(e in t))&&yt(t,e,n)},li=Function.prototype,fi=Object.prototype,hi=li.toString,di=fi.hasOwnProperty,pi=hi.call(Object),gi=function(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]},vi=function(t,e,n,r,i,o,a){var s=gi(t,n),u=gi(e,n),c=a.get(u);if(c)ci(t,n,c);else{var l=o?o(s,u,n+"",t,e,a):void 0,f=void 0===l;if(f){var h=kt(u),d=!h&&Ct(u),p=!h&&!d&&Rt(u);l=u,h||d||p?kt(s)?l=s:br(s)?l=$t(s):d?(f=!1,l=Qt(u,!0)):p?(f=!1,l=ke(u,!0)):l=[]:function(t){if(!wt(t)||"[object Object]"!=U(t))return!1;var e=oe(t);if(null===e)return!0;var n=di.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&hi.call(n)==pi}(u)||Ot(u)?(l=s,Ot(s)?l=function(t){return xt(t,Kt(t))}(s):X(s)&&!W(s)||(l=Ie(u))):f=!1}f&&(a.set(u,l),i(l,u,r,o,a),a.delete(u)),ci(t,n,l)}},yi=function(t){return dr((function(e,n){var r=-1,i=n.length,o=i>1?n[i-1]:void 0,a=i>2?n[2]:void 0;for(o=t.length>3&&"function"==typeof o?(i--,o):void 0,a&&qr(n[0],n[1],a)&&(o=i<3?void 0:o,i=1),e=Object(e);++r<i;){var s=n[r];s&&t(e,s,r)}return e}))}((function(t,e,n){!function t(e,n,r,i,o){e!==n&&Fe(n,(function(a,s){if(o||(o=new pt),X(a))vi(e,n,s,r,t,i,o);else{var u=i?i(gi(e,s),a,s+"",e,n,o):void 0;void 0===u&&(u=a),ci(e,s,u)}}),Kt)}(t,e,n)})),mi=function(t,e){return t<e},bi=function(t,e,n,r){if(!X(t))return t;for(var i=-1,o=(e=Mn(e,t)).length,a=o-1,s=t;null!=s&&++i<o;){var u=On(e[i]),c=n;if("__proto__"===u||"constructor"===u||"prototype"===u)return t;if(i!=a){var l=s[u];void 0===(c=r?r(l,u,s):void 0)&&(c=X(l)?l:It(e[i+1])?[]:{})}bt(s,u,c),s=s[u]}return t},xi=function(t,e){return function(t,e,n){for(var r=-1,i=e.length,o={};++r<i;){var a=e[r],s=kn(t,a);n(s,a)&&bi(o,Mn(a,t),s)}return o}(t,e,(function(e,n){return jn(t,n)}))},wi=function(t){return hr(cr(t,void 0,ai),t+"")}((function(t,e){return null==t?{}:xi(t,e)})),_i=Math.ceil,Ei=Math.max,Si=function(t,e,n){return n&&"number"!=typeof n&&qr(t,e,n)&&(e=n=void 0),t=ri(t),void 0===e?(e=t,t=0):e=ri(e),function(t,e,n,r){for(var i=-1,o=Ei(_i((e-t)/(n||1)),0),a=Array(o);o--;)a[r?o:++i]=t,t+=n;return a}(t,e,n=void 0===n?t<e?1:-1:ri(n),void 0)},Mi=function(t,e){if(t!==e){var n=void 0!==t,r=null===t,i=t==t,o=fn(t),a=void 0!==e,s=null===e,u=e==e,c=fn(e);if(!s&&!c&&!o&&t>e||o&&a&&u&&!s&&!c||r&&a&&u||!n&&u||!i)return 1;if(!r&&!o&&!c&&t<e||c&&n&&i&&!r&&!o||s&&n&&i||!a&&i||!u)return-1}return 0},Oi=function(t,e,n){e=e.length?wn(e,(function(t){return kt(t)?function(e){return kn(e,1===t.length?t[0]:t)}:t})):[Ye];var r=-1;return e=wn(e,Pt(Pn)),function(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}(Gn(t,(function(t,n,i){return{criteria:wn(e,(function(e){return e(t)})),index:++r,value:t}})),(function(t,e){return function(t,e,n){for(var r=-1,i=t.criteria,o=e.criteria,a=i.length,s=n.length;++r<a;){var u=Mi(i[r],o[r]);if(u)return r>=s?u:u*("desc"==n[r]?-1:1)}return t.index-e.index}(t,e,n)}))},ki=dr((function(t,e){if(null==t)return[];var n=e.length;return n>1&&qr(t,e[0],e[1])?e=[]:n>2&&qr(e[0],e[1],e[2])&&(e=[e[0]]),Oi(t,ar(e,1),[])})),Ai=0;try{Vr={cloneDeep:function(t){return Re(t,5)},constant:Be,defaults:Qr,each:We,filter:Dn,find:oi,flatten:ai,forEach:Xe,forIn:function(t,e){return null==t?t:Fe(t,Ue(e),Kt)},has:Bn,isUndefined:zn,last:function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0},map:Yn,mapValues:function(t,e){var n={};return e=Pn(e),ze(t,(function(t,r,i){yt(n,r,e(t,r,i))})),n},max:function(t){return t&&t.length?si(t,Ye,ui):void 0},merge:yi,min:function(t){return t&&t.length?si(t,Ye,mi):void 0},minBy:function(t,e){return t&&t.length?si(t,Pn(e),mi):void 0},now:function(){return D.Date.now()},pick:wi,range:Si,reduce:Wn,sortBy:ki,uniqueId:function(t){var e=++Ai;return Sn(t)+e},values:wr,zipObject:function(t,e){return function(t,e,n){for(var r=-1,i=t.length,o=e.length,a={};++r<i;){var s=r<o?e[r]:void 0;n(a,t[r],s)}return a}(t||[],e||[],bt)}}}catch(v){}Vr||(Vr=window._);var Ci=Vr,ji=Ii;function Ii(){var t={};t._next=t._prev=t,this._sentinel=t}function Ti(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function Ni(t,e){if("_next"!==t&&"_prev"!==t)return e}Ii.prototype.dequeue=function(){var t=this._sentinel,e=t._prev;if(e!==t)return Ti(e),e},Ii.prototype.enqueue=function(t){var e=this._sentinel;t._prev&&t._next&&Ti(t),t._next=e._next,e._next._prev=t,e._next=t,t._prev=e},Ii.prototype.toString=function(){for(var t=[],e=this._sentinel,n=e._prev;n!==e;)t.push(JSON.stringify(n,Ni)),n=n._prev;return"["+t.join(", ")+"]"};var Pi=Hr.Graph,Di=Ci.constant(1);function Li(t,e,n,r,i){var o=i?[]:void 0;return Ci.forEach(t.inEdges(r.v),(function(r){var a=t.edge(r),s=t.node(r.v);i&&o.push({v:r.v,w:r.w}),s.out-=a,Ri(e,n,s)})),Ci.forEach(t.outEdges(r.v),(function(r){var i=t.edge(r),o=r.w,a=t.node(o);a.in-=i,Ri(e,n,a)})),t.removeNode(r.v),o}function Ri(t,e,n){n.out?n.in?t[n.out-n.in+e].enqueue(n):t[t.length-1].enqueue(n):t[0].enqueue(n)}var Bi=function(t){var e="greedy"===t.graph().acyclicer?function(t,e){if(t.nodeCount()<=1)return[];var n=function(t,e){var n=new Pi,r=0,i=0;Ci.forEach(t.nodes(),(function(t){n.setNode(t,{v:t,in:0,out:0})})),Ci.forEach(t.edges(),(function(t){var o=n.edge(t.v,t.w)||0,a=e(t),s=o+a;n.setEdge(t.v,t.w,s),i=Math.max(i,n.node(t.v).out+=a),r=Math.max(r,n.node(t.w).in+=a)}));var o=Ci.range(i+r+3).map((function(){return new ji})),a=r+1;return Ci.forEach(n.nodes(),(function(t){Ri(o,a,n.node(t))})),{graph:n,buckets:o,zeroIdx:a}}(t,e||Di),r=function(t,e,n){for(var r,i=[],o=e[e.length-1],a=e[0];t.nodeCount();){for(;r=a.dequeue();)Li(t,e,n,r);for(;r=o.dequeue();)Li(t,e,n,r);if(t.nodeCount())for(var s=e.length-2;s>0;--s)if(r=e[s].dequeue()){i=i.concat(Li(t,e,n,r,!0));break}}return i}(n.graph,n.buckets,n.zeroIdx);return Ci.flatten(Ci.map(r,(function(e){return t.outEdges(e.v,e.w)})),!0)}(t,function(t){return function(e){return t.edge(e).weight}}(t)):function(t){var e=[],n={},r={};return Ci.forEach(t.nodes(),(function i(o){Ci.has(r,o)||(r[o]=!0,n[o]=!0,Ci.forEach(t.outEdges(o),(function(t){Ci.has(n,t.w)?e.push(t):i(t.w)})),delete n[o])})),e}(t);Ci.forEach(e,(function(e){var n=t.edge(e);t.removeEdge(e),n.forwardName=e.name,n.reversed=!0,t.setEdge(e.w,e.v,n,Ci.uniqueId("rev"))}))},Fi=function(t){Ci.forEach(t.edges(),(function(e){var n=t.edge(e);if(n.reversed){t.removeEdge(e);var r=n.forwardName;delete n.reversed,delete n.forwardName,t.setEdge(e.w,e.v,n,r)}}))},zi=Hr.Graph,Gi={addDummyNode:Yi,simplify:function(t){var e=(new zi).setGraph(t.graph());return Ci.forEach(t.nodes(),(function(n){e.setNode(n,t.node(n))})),Ci.forEach(t.edges(),(function(n){var r=e.edge(n.v,n.w)||{weight:0,minlen:1},i=t.edge(n);e.setEdge(n.v,n.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})})),e},asNonCompoundGraph:function(t){var e=new zi({multigraph:t.isMultigraph()}).setGraph(t.graph());return Ci.forEach(t.nodes(),(function(n){t.children(n).length||e.setNode(n,t.node(n))})),Ci.forEach(t.edges(),(function(n){e.setEdge(n,t.edge(n))})),e},successorWeights:function(t){var e=Ci.map(t.nodes(),(function(e){var n={};return Ci.forEach(t.outEdges(e),(function(e){n[e.w]=(n[e.w]||0)+t.edge(e).weight})),n}));return Ci.zipObject(t.nodes(),e)},predecessorWeights:function(t){var e=Ci.map(t.nodes(),(function(e){var n={};return Ci.forEach(t.inEdges(e),(function(e){n[e.v]=(n[e.v]||0)+t.edge(e).weight})),n}));return Ci.zipObject(t.nodes(),e)},intersectRect:function(t,e){var n,r,i=t.x,o=t.y,a=e.x-i,s=e.y-o,u=t.width/2,c=t.height/2;if(!a&&!s)throw new Error("Not possible to find intersection inside of the rectangle");return Math.abs(s)*u>Math.abs(a)*c?(s<0&&(c=-c),n=c*a/s,r=c):(a<0&&(u=-u),n=u,r=u*s/a),{x:i+n,y:o+r}},buildLayerMatrix:function(t){var e=Ci.map(Ci.range(Ui(t)+1),(function(){return[]}));return Ci.forEach(t.nodes(),(function(n){var r=t.node(n),i=r.rank;Ci.isUndefined(i)||(e[i][r.order]=n)})),e},normalizeRanks:function(t){var e=Ci.min(Ci.map(t.nodes(),(function(e){return t.node(e).rank})));Ci.forEach(t.nodes(),(function(n){var r=t.node(n);Ci.has(r,"rank")&&(r.rank-=e)}))},removeEmptyRanks:function(t){var e=Ci.min(Ci.map(t.nodes(),(function(e){return t.node(e).rank}))),n=[];Ci.forEach(t.nodes(),(function(r){var i=t.node(r).rank-e;n[i]||(n[i]=[]),n[i].push(r)}));var r=0,i=t.graph().nodeRankFactor;Ci.forEach(n,(function(e,n){Ci.isUndefined(e)&&n%i!=0?--r:r&&Ci.forEach(e,(function(e){t.node(e).rank+=r}))}))},addBorderNode:function(t,e,n,r){var i={width:0,height:0};return arguments.length>=4&&(i.rank=n,i.order=r),Yi(t,"border",i,e)},maxRank:Ui,partition:function(t,e){var n={lhs:[],rhs:[]};return Ci.forEach(t,(function(t){e(t)?n.lhs.push(t):n.rhs.push(t)})),n},time:function(t,e){var n=Ci.now();try{return e()}finally{console.log(t+" time: "+(Ci.now()-n)+"ms")}},notime:function(t,e){return e()}};function Yi(t,e,n,r){var i;do{i=Ci.uniqueId(r)}while(t.hasNode(i));return n.dummy=e,t.setNode(i,n),i}function Ui(t){return Ci.max(Ci.map(t.nodes(),(function(e){var n=t.node(e).rank;if(!Ci.isUndefined(n))return n})))}var Xi=function(t){t.graph().dummyChains=[],Ci.forEach(t.edges(),(function(e){!function(t,e){var n,r,i,o=e.v,a=t.node(o).rank,s=e.w,u=t.node(s).rank,c=e.name,l=t.edge(e),f=l.labelRank;if(u!==a+1){for(t.removeEdge(e),i=0,++a;a<u;++i,++a)l.points=[],r={width:0,height:0,edgeLabel:l,edgeObj:e,rank:a},n=Gi.addDummyNode(t,"edge",r,"_d"),a===f&&(r.width=l.width,r.height=l.height,r.dummy="edge-label",r.labelpos=l.labelpos),t.setEdge(o,n,{weight:l.weight},c),0===i&&t.graph().dummyChains.push(n),o=n;t.setEdge(o,s,{weight:l.weight},c)}}(t,e)}))},Wi=function(t){Ci.forEach(t.graph().dummyChains,(function(e){var n,r=t.node(e),i=r.edgeLabel;for(t.setEdge(r.edgeObj,i);r.dummy;)n=t.successors(e)[0],t.removeNode(e),i.points.push({x:r.x,y:r.y}),"edge-label"===r.dummy&&(i.x=r.x,i.y=r.y,i.width=r.width,i.height=r.height),e=n,r=t.node(e)}))},Vi=function(t){var e={};Ci.forEach(t.sources(),(function n(r){var i=t.node(r);if(Ci.has(e,r))return i.rank;e[r]=!0;var o=Ci.min(Ci.map(t.outEdges(r),(function(e){return n(e.w)-t.edge(e).minlen})));return o!==Number.POSITIVE_INFINITY&&null!=o||(o=0),i.rank=o}))},Hi=function(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen},qi=Hr.Graph,Zi=Hi,Ki=function(t){var e,n,r=new qi({directed:!1}),i=t.nodes()[0],o=t.nodeCount();for(r.setNode(i,{});Qi(r,t)<o;)e=$i(r,t),n=r.hasNode(e.v)?Zi(t,e):-Zi(t,e),Ji(r,t,n);return r};function Qi(t,e){return Ci.forEach(t.nodes(),(function n(r){Ci.forEach(e.nodeEdges(r),(function(i){var o=i.v,a=r===o?i.w:o;t.hasNode(a)||Zi(e,i)||(t.setNode(a,{}),t.setEdge(r,a,{}),n(a))}))})),t.nodeCount()}function $i(t,e){return Ci.minBy(e.edges(),(function(n){if(t.hasNode(n.v)!==t.hasNode(n.w))return Zi(e,n)}))}function Ji(t,e,n){Ci.forEach(t.nodes(),(function(t){e.node(t).rank+=n}))}var to=Hi,eo=Vi,no=Hr.alg.preorder,ro=Hr.alg.postorder,io=Gi.simplify,oo=ao;function ao(t){t=io(t),eo(t);var e,n=Ki(t);for(co(n),so(n,t);e=fo(n);)po(n,t,e,ho(n,t,e))}function so(t,e){var n=ro(t,t.nodes());n=n.slice(0,n.length-1),Ci.forEach(n,(function(n){!function(t,e,n){var r=t.node(n).parent;t.edge(n,r).cutvalue=uo(t,e,n)}(t,e,n)}))}function uo(t,e,n){var r=t.node(n).parent,i=!0,o=e.edge(n,r),a=0;return o||(i=!1,o=e.edge(r,n)),a=o.weight,Ci.forEach(e.nodeEdges(n),(function(o){var s,u,c=o.v===n,l=c?o.w:o.v;if(l!==r){var f=c===i,h=e.edge(o).weight;if(a+=f?h:-h,s=n,u=l,t.hasEdge(s,u)){var d=t.edge(n,l).cutvalue;a+=f?-d:d}}})),a}function co(t,e){arguments.length<2&&(e=t.nodes()[0]),lo(t,{},1,e)}function lo(t,e,n,r,i){var o=n,a=t.node(r);return e[r]=!0,Ci.forEach(t.neighbors(r),(function(i){Ci.has(e,i)||(n=lo(t,e,n,i,r))})),a.low=o,a.lim=n++,i?a.parent=i:delete a.parent,n}function fo(t){return Ci.find(t.edges(),(function(e){return t.edge(e).cutvalue<0}))}function ho(t,e,n){var r=n.v,i=n.w;e.hasEdge(r,i)||(r=n.w,i=n.v);var o=t.node(r),a=t.node(i),s=o,u=!1;o.lim>a.lim&&(s=a,u=!0);var c=Ci.filter(e.edges(),(function(e){return u===go(t,t.node(e.v),s)&&u!==go(t,t.node(e.w),s)}));return Ci.minBy(c,(function(t){return to(e,t)}))}function po(t,e,n,r){var i=n.v,o=n.w;t.removeEdge(i,o),t.setEdge(r.v,r.w,{}),co(t),so(t,e),function(t,e){var n=Ci.find(t.nodes(),(function(t){return!e.node(t).parent})),r=no(t,n);r=r.slice(1),Ci.forEach(r,(function(n){var r=t.node(n).parent,i=e.edge(n,r),o=!1;i||(i=e.edge(r,n),o=!0),e.node(n).rank=e.node(r).rank+(o?i.minlen:-i.minlen)}))}(t,e)}function go(t,e,n){return n.low<=e.lim&&e.lim<=n.lim}ao.initLowLimValues=co,ao.initCutValues=so,ao.calcCutValue=uo,ao.leaveEdge=fo,ao.enterEdge=ho,ao.exchangeEdges=po;var vo=Vi,yo=vo;function mo(t){oo(t)}var bo=function(t){var e=Gi.addDummyNode(t,"root",{},"_root"),n=function(t){var e={};function n(r,i){var o=t.children(r);o&&o.length&&Ci.forEach(o,(function(t){n(t,i+1)})),e[r]=i}return Ci.forEach(t.children(),(function(t){n(t,1)})),e}(t),r=Ci.max(Ci.values(n))-1,i=2*r+1;t.graph().nestingRoot=e,Ci.forEach(t.edges(),(function(e){t.edge(e).minlen*=i}));var o=function(t){return Ci.reduce(t.edges(),(function(e,n){return e+t.edge(n).weight}),0)}(t)+1;Ci.forEach(t.children(),(function(a){!function t(e,n,r,i,o,a,s){var u=e.children(s);if(u.length){var c=Gi.addBorderNode(e,"_bt"),l=Gi.addBorderNode(e,"_bb"),f=e.node(s);e.setParent(c,s),f.borderTop=c,e.setParent(l,s),f.borderBottom=l,Ci.forEach(u,(function(u){t(e,n,r,i,o,a,u);var f=e.node(u),h=f.borderTop?f.borderTop:u,d=f.borderBottom?f.borderBottom:u,p=f.borderTop?i:2*i,g=h!==d?1:o-a[s]+1;e.setEdge(c,h,{weight:p,minlen:g,nestingEdge:!0}),e.setEdge(d,l,{weight:p,minlen:g,nestingEdge:!0})})),e.parent(s)||e.setEdge(n,c,{weight:0,minlen:o+a[s]})}else s!==n&&e.setEdge(n,s,{weight:0,minlen:r})}(t,e,i,o,r,n,a)})),t.graph().nodeRankFactor=i},xo=function(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,Ci.forEach(t.edges(),(function(e){t.edge(e).nestingEdge&&t.removeEdge(e)}))};function wo(t,e,n,r,i,o){var a={width:0,height:0,rank:o,borderType:e},s=i[e][o-1],u=Gi.addDummyNode(t,"border",a,n);i[e][o]=u,t.setParent(u,r),s&&t.setEdge(s,u,{weight:1})}var _o=function(t){var e=t.graph().rankdir.toLowerCase();"lr"!==e&&"rl"!==e||So(t)},Eo=function(t){var e=t.graph().rankdir.toLowerCase();"bt"!==e&&"rl"!==e||function(t){Ci.forEach(t.nodes(),(function(e){Oo(t.node(e))})),Ci.forEach(t.edges(),(function(e){var n=t.edge(e);Ci.forEach(n.points,Oo),Ci.has(n,"y")&&Oo(n)}))}(t),"lr"!==e&&"rl"!==e||(function(t){Ci.forEach(t.nodes(),(function(e){ko(t.node(e))})),Ci.forEach(t.edges(),(function(e){var n=t.edge(e);Ci.forEach(n.points,ko),Ci.has(n,"x")&&ko(n)}))}(t),So(t))};function So(t){Ci.forEach(t.nodes(),(function(e){Mo(t.node(e))})),Ci.forEach(t.edges(),(function(e){Mo(t.edge(e))}))}function Mo(t){var e=t.width;t.width=t.height,t.height=e}function Oo(t){t.y=-t.y}function ko(t){var e=t.x;t.x=t.y,t.y=e}var Ao=function(t,e){for(var n=0,r=1;r<e.length;++r)n+=Co(t,e[r-1],e[r]);return n};function Co(t,e,n){for(var r=Ci.zipObject(n,Ci.map(n,(function(t,e){return e}))),i=Ci.flatten(Ci.map(e,(function(e){return Ci.sortBy(Ci.map(t.outEdges(e),(function(e){return{pos:r[e.w],weight:t.edge(e).weight}})),"pos")})),!0),o=1;o<n.length;)o<<=1;var a=2*o-1;o-=1;var s=Ci.map(new Array(a),(function(){return 0})),u=0;return Ci.forEach(i.forEach((function(t){var e=t.pos+o;s[e]+=t.weight;for(var n=0;e>0;)e%2&&(n+=s[e+1]),s[e=e-1>>1]+=t.weight;u+=t.weight*n}))),u}function jo(t,e,n){for(var r;e.length&&(r=Ci.last(e)).i<=n;)e.pop(),t.push(r.vs),n++;return n}var Io=function t(e,n,r,i){var o=e.children(n),a=e.node(n),s=a?a.borderLeft:void 0,u=a?a.borderRight:void 0,c={};s&&(o=Ci.filter(o,(function(t){return t!==s&&t!==u})));var l=function(t,e){return Ci.map(e,(function(e){var n=t.inEdges(e);if(n.length){var r=Ci.reduce(n,(function(e,n){var r=t.edge(n),i=t.node(n.v);return{sum:e.sum+r.weight*i.order,weight:e.weight+r.weight}}),{sum:0,weight:0});return{v:e,barycenter:r.sum/r.weight,weight:r.weight}}return{v:e}}))}(e,o);Ci.forEach(l,(function(n){if(e.children(n.v).length){var o=t(e,n.v,r,i);c[n.v]=o,Ci.has(o,"barycenter")&&(a=n,s=o,Ci.isUndefined(a.barycenter)?(a.barycenter=s.barycenter,a.weight=s.weight):(a.barycenter=(a.barycenter*a.weight+s.barycenter*s.weight)/(a.weight+s.weight),a.weight+=s.weight))}var a,s}));var f=function(t,e){var n={};return Ci.forEach(t,(function(t,e){var r=n[t.v]={indegree:0,in:[],out:[],vs:[t.v],i:e};Ci.isUndefined(t.barycenter)||(r.barycenter=t.barycenter,r.weight=t.weight)})),Ci.forEach(e.edges(),(function(t){var e=n[t.v],r=n[t.w];Ci.isUndefined(e)||Ci.isUndefined(r)||(r.indegree++,e.out.push(n[t.w]))})),function(t){var e=[];function n(t){return function(e){e.merged||(Ci.isUndefined(e.barycenter)||Ci.isUndefined(t.barycenter)||e.barycenter>=t.barycenter)&&function(t,e){var n=0,r=0;t.weight&&(n+=t.barycenter*t.weight,r+=t.weight),e.weight&&(n+=e.barycenter*e.weight,r+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=n/r,t.weight=r,t.i=Math.min(e.i,t.i),e.merged=!0}(t,e)}}function r(e){return function(n){n.in.push(e),0==--n.indegree&&t.push(n)}}for(;t.length;){var i=t.pop();e.push(i),Ci.forEach(i.in.reverse(),n(i)),Ci.forEach(i.out,r(i))}return Ci.map(Ci.filter(e,(function(t){return!t.merged})),(function(t){return Ci.pick(t,["vs","i","barycenter","weight"])}))}(Ci.filter(n,(function(t){return!t.indegree})))}(l,r);!function(t,e){Ci.forEach(t,(function(t){t.vs=Ci.flatten(t.vs.map((function(t){return e[t]?e[t].vs:t})),!0)}))}(f,c);var h=function(t,e){var n,r=Gi.partition(t,(function(t){return Ci.has(t,"barycenter")})),i=r.lhs,o=Ci.sortBy(r.rhs,(function(t){return-t.i})),a=[],s=0,u=0,c=0;i.sort((n=!!e,function(t,e){return t.barycenter<e.barycenter?-1:t.barycenter>e.barycenter?1:n?e.i-t.i:t.i-e.i})),c=jo(a,o,c),Ci.forEach(i,(function(t){c+=t.vs.length,a.push(t.vs),s+=t.barycenter*t.weight,u+=t.weight,c=jo(a,o,c)}));var l={vs:Ci.flatten(a,!0)};return u&&(l.barycenter=s/u,l.weight=u),l}(f,i);if(s&&(h.vs=Ci.flatten([s,h.vs,u],!0),e.predecessors(s).length)){var d=e.node(e.predecessors(s)[0]),p=e.node(e.predecessors(u)[0]);Ci.has(h,"barycenter")||(h.barycenter=0,h.weight=0),h.barycenter=(h.barycenter*h.weight+d.order+p.order)/(h.weight+2),h.weight+=2}return h},To=Hr.Graph,No=Hr.Graph,Po=function(t){var e=Gi.maxRank(t),n=Do(t,Ci.range(1,e+1),"inEdges"),r=Do(t,Ci.range(e-1,-1,-1),"outEdges"),i=function(t){var e={},n=Ci.filter(t.nodes(),(function(e){return!t.children(e).length})),r=Ci.max(Ci.map(n,(function(e){return t.node(e).rank}))),i=Ci.map(Ci.range(r+1),(function(){return[]}));var o=Ci.sortBy(n,(function(e){return t.node(e).rank}));return Ci.forEach(o,(function n(r){if(!Ci.has(e,r)){e[r]=!0;var o=t.node(r);i[o.rank].push(r),Ci.forEach(t.successors(r),n)}})),i}(t);Ro(t,i);for(var o,a=Number.POSITIVE_INFINITY,s=0,u=0;u<4;++s,++u){Lo(s%2?n:r,s%4>=2),i=Gi.buildLayerMatrix(t);var c=Ao(t,i);c<a&&(u=0,o=Ci.cloneDeep(i),a=c)}Ro(t,o)};function Do(t,e,n){return Ci.map(e,(function(e){return function(t,e,n){var r=function(t){for(var e;t.hasNode(e=Ci.uniqueId("_root")););return e}(t),i=new To({compound:!0}).setGraph({root:r}).setDefaultNodeLabel((function(e){return t.node(e)}));return Ci.forEach(t.nodes(),(function(o){var a=t.node(o),s=t.parent(o);(a.rank===e||a.minRank<=e&&e<=a.maxRank)&&(i.setNode(o),i.setParent(o,s||r),Ci.forEach(t[n](o),(function(e){var n=e.v===o?e.w:e.v,r=i.edge(n,o),a=Ci.isUndefined(r)?0:r.weight;i.setEdge(n,o,{weight:t.edge(e).weight+a})})),Ci.has(a,"minRank")&&i.setNode(o,{borderLeft:a.borderLeft[e],borderRight:a.borderRight[e]}))})),i}(t,e,n)}))}function Lo(t,e){var n=new No;Ci.forEach(t,(function(t){var r=t.graph().root,i=Io(t,r,n,e);Ci.forEach(i.vs,(function(e,n){t.node(e).order=n})),function(t,e,n){var r,i={};Ci.forEach(n,(function(n){for(var o,a,s=t.parent(n);s;){if((o=t.parent(s))?(a=i[o],i[o]=s):(a=r,r=s),a&&a!==s)return void e.setEdge(a,s);s=o}}))}(t,n,i.vs)}))}function Ro(t,e){Ci.forEach(e,(function(e){Ci.forEach(e,(function(e,n){t.node(e).order=n}))}))}var Bo=Hr.Graph;function Fo(t,e,n){if(e>n){var r=e;e=n,n=r}var i=t[e];i||(t[e]=i={}),i[n]=!0}function zo(t,e,n){if(e>n){var r=e;e=n,n=r}return Ci.has(t[e],n)}var Go=function(t){var e,n=Gi.buildLayerMatrix(t),r=Ci.merge(function(t,e){var n={};return Ci.reduce(e,(function(e,r){var i=0,o=0,a=e.length,s=Ci.last(r);return Ci.forEach(r,(function(e,u){var c=function(t,e){if(t.node(e).dummy)return Ci.find(t.predecessors(e),(function(e){return t.node(e).dummy}))}(t,e),l=c?t.node(c).order:a;(c||e===s)&&(Ci.forEach(r.slice(o,u+1),(function(e){Ci.forEach(t.predecessors(e),(function(r){var o=t.node(r),a=o.order;!(a<i||l<a)||o.dummy&&t.node(e).dummy||Fo(n,r,e)}))})),o=u+1,i=l)})),r})),n}(t,n),function(t,e){var n={};function r(e,r,i,o,a){var s;Ci.forEach(Ci.range(r,i),(function(r){s=e[r],t.node(s).dummy&&Ci.forEach(t.predecessors(s),(function(e){var r=t.node(e);r.dummy&&(r.order<o||r.order>a)&&Fo(n,e,s)}))}))}return Ci.reduce(e,(function(e,n){var i,o=-1,a=0;return Ci.forEach(n,(function(s,u){if("border"===t.node(s).dummy){var c=t.predecessors(s);c.length&&(i=t.node(c[0]).order,r(n,a,u,o,i),a=u,o=i)}r(n,a,n.length,i,e.length)})),n})),n}(t,n)),i={};Ci.forEach(["u","d"],(function(o){e="u"===o?n:Ci.values(n).reverse(),Ci.forEach(["l","r"],(function(n){"r"===n&&(e=Ci.map(e,(function(t){return Ci.values(t).reverse()})));var a=("u"===o?t.predecessors:t.successors).bind(t),s=function(t,e,n,r){var i={},o={},a={};return Ci.forEach(e,(function(t){Ci.forEach(t,(function(t,e){i[t]=t,o[t]=t,a[t]=e}))})),Ci.forEach(e,(function(t){var e=-1;Ci.forEach(t,(function(t){var s=r(t);if(s.length)for(var u=((s=Ci.sortBy(s,(function(t){return a[t]}))).length-1)/2,c=Math.floor(u),l=Math.ceil(u);c<=l;++c){var f=s[c];o[t]===t&&e<a[f]&&!zo(n,t,f)&&(o[f]=t,o[t]=i[t]=i[f],e=a[f])}}))})),{root:i,align:o}}(0,e,r,a),u=function(t,e,n,r,i){var o={},a=function(t,e,n,r){var i=new Bo,o=t.graph(),a=function(t,e,n){return function(r,i,o){var a,s=r.node(i),u=r.node(o),c=0;if(c+=s.width/2,Ci.has(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":a=-s.width/2;break;case"r":a=s.width/2}if(a&&(c+=n?a:-a),a=0,c+=(s.dummy?e:t)/2,c+=(u.dummy?e:t)/2,c+=u.width/2,Ci.has(u,"labelpos"))switch(u.labelpos.toLowerCase()){case"l":a=u.width/2;break;case"r":a=-u.width/2}return a&&(c+=n?a:-a),a=0,c}}(o.nodesep,o.edgesep,r);return Ci.forEach(e,(function(e){var r;Ci.forEach(e,(function(e){var o=n[e];if(i.setNode(o),r){var s=n[r],u=i.edge(s,o);i.setEdge(s,o,Math.max(a(t,e,r),u||0))}r=e}))})),i}(t,e,n,i),s=i?"borderLeft":"borderRight";function u(t,e){for(var n=a.nodes(),r=n.pop(),i={};r;)i[r]?t(r):(i[r]=!0,n.push(r),n=n.concat(e(r))),r=n.pop()}return u((function(t){o[t]=a.inEdges(t).reduce((function(t,e){return Math.max(t,o[e.v]+a.edge(e))}),0)}),a.predecessors.bind(a)),u((function(e){var n=a.outEdges(e).reduce((function(t,e){return Math.min(t,o[e.w]-a.edge(e))}),Number.POSITIVE_INFINITY),r=t.node(e);n!==Number.POSITIVE_INFINITY&&r.borderType!==s&&(o[e]=Math.max(o[e],n))}),a.successors.bind(a)),Ci.forEach(r,(function(t){o[t]=o[n[t]]})),o}(t,e,s.root,s.align,"r"===n);"r"===n&&(u=Ci.mapValues(u,(function(t){return-t}))),i[o+n]=u}))}));var o=function(t,e){return Ci.minBy(Ci.values(e),(function(e){var n=Number.NEGATIVE_INFINITY,r=Number.POSITIVE_INFINITY;return Ci.forIn(e,(function(e,i){var o=function(t,e){return t.node(e).width}(t,i)/2;n=Math.max(e+o,n),r=Math.min(e-o,r)})),n-r}))}(t,i);return function(t,e){var n=Ci.values(e),r=Ci.min(n),i=Ci.max(n);Ci.forEach(["u","d"],(function(n){Ci.forEach(["l","r"],(function(o){var a,s=n+o,u=t[s];if(u!==e){var c=Ci.values(u);(a="l"===o?r-Ci.min(c):i-Ci.max(c))&&(t[s]=Ci.mapValues(u,(function(t){return t+a})))}}))}))}(i,o),function(t,e){return Ci.mapValues(t.ul,(function(n,r){if(e)return t[e.toLowerCase()][r];var i=Ci.sortBy(Ci.map(t,r));return(i[1]+i[2])/2}))}(i,t.graph().align)},Yo=Gi.normalizeRanks,Uo=Gi.removeEmptyRanks,Xo=Gi,Wo=Hr.Graph,Vo=["nodesep","edgesep","ranksep","marginx","marginy"],Ho={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},qo=["acyclicer","ranker","rankdir","align"],Zo=["width","height"],Ko={width:0,height:0},Qo=["minlen","weight","width","height","labeloffset"],$o={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},Jo=["labelpos"];function ta(t,e){return Ci.mapValues(Ci.pick(t,e),Number)}function ea(t){var e={};return Ci.forEach(t,(function(t,n){e[n.toLowerCase()]=t})),e}var na=Hr.Graph,ra={graphlib:Hr,layout:function(t,e){var n=e&&e.debugTiming?Xo.time:Xo.notime;n("layout",(function(){var e=n(" buildLayoutGraph",(function(){return function(t){var e=new Wo({multigraph:!0,compound:!0}),n=ea(t.graph());return e.setGraph(Ci.merge({},Ho,ta(n,Vo),Ci.pick(n,qo))),Ci.forEach(t.nodes(),(function(n){var r=ea(t.node(n));e.setNode(n,Ci.defaults(ta(r,Zo),Ko)),e.setParent(n,t.parent(n))})),Ci.forEach(t.edges(),(function(n){var r=ea(t.edge(n));e.setEdge(n,Ci.merge({},$o,ta(r,Qo),Ci.pick(r,Jo)))})),e}(t)}));n(" runLayout",(function(){!function(t,e){e(" makeSpaceForEdgeLabels",(function(){!function(t){var e=t.graph();e.ranksep/=2,Ci.forEach(t.edges(),(function(n){var r=t.edge(n);r.minlen*=2,"c"!==r.labelpos.toLowerCase()&&("TB"===e.rankdir||"BT"===e.rankdir?r.width+=r.labeloffset:r.height+=r.labeloffset)}))}(t)})),e(" removeSelfEdges",(function(){!function(t){Ci.forEach(t.edges(),(function(e){if(e.v===e.w){var n=t.node(e.v);n.selfEdges||(n.selfEdges=[]),n.selfEdges.push({e:e,label:t.edge(e)}),t.removeEdge(e)}}))}(t)})),e(" acyclic",(function(){Bi(t)})),e(" nestingGraph.run",(function(){bo(t)})),e(" rank",(function(){!function(t){switch(t.graph().ranker){case"network-simplex":mo(t);break;case"tight-tree":!function(t){vo(t),Ki(t)}(t);break;case"longest-path":yo(t);break;default:mo(t)}}(Xo.asNonCompoundGraph(t))})),e(" injectEdgeLabelProxies",(function(){!function(t){Ci.forEach(t.edges(),(function(e){var n=t.edge(e);if(n.width&&n.height){var r=t.node(e.v),i={rank:(t.node(e.w).rank-r.rank)/2+r.rank,e:e};Xo.addDummyNode(t,"edge-proxy",i,"_ep")}}))}(t)})),e(" removeEmptyRanks",(function(){Uo(t)})),e(" nestingGraph.cleanup",(function(){xo(t)})),e(" normalizeRanks",(function(){Yo(t)})),e(" assignRankMinMax",(function(){!function(t){var e=0;Ci.forEach(t.nodes(),(function(n){var r=t.node(n);r.borderTop&&(r.minRank=t.node(r.borderTop).rank,r.maxRank=t.node(r.borderBottom).rank,e=Ci.max(e,r.maxRank))})),t.graph().maxRank=e}(t)})),e(" removeEdgeLabelProxies",(function(){!function(t){Ci.forEach(t.nodes(),(function(e){var n=t.node(e);"edge-proxy"===n.dummy&&(t.edge(n.e).labelRank=n.rank,t.removeNode(e))}))}(t)})),e(" normalize.run",(function(){Xi(t)})),e(" parentDummyChains",(function(){!function(t){var e=function(t){var e={},n=0;return Ci.forEach(t.children(),(function r(i){var o=n;Ci.forEach(t.children(i),r),e[i]={low:o,lim:n++}})),e}(t);Ci.forEach(t.graph().dummyChains,(function(n){for(var r=t.node(n),i=r.edgeObj,o=function(t,e,n,r){var i,o,a=[],s=[],u=Math.min(e[n].low,e[r].low),c=Math.max(e[n].lim,e[r].lim);i=n;do{i=t.parent(i),a.push(i)}while(i&&(e[i].low>u||c>e[i].lim));for(o=i,i=r;(i=t.parent(i))!==o;)s.push(i);return{path:a.concat(s.reverse()),lca:o}}(t,e,i.v,i.w),a=o.path,s=o.lca,u=0,c=a[u],l=!0;n!==i.w;){if(r=t.node(n),l){for(;(c=a[u])!==s&&t.node(c).maxRank<r.rank;)u++;c===s&&(l=!1)}if(!l){for(;u<a.length-1&&t.node(c=a[u+1]).minRank<=r.rank;)u++;c=a[u]}t.setParent(n,c),n=t.successors(n)[0]}}))}(t)})),e(" addBorderSegments",(function(){!function(t){Ci.forEach(t.children(),(function e(n){var r=t.children(n),i=t.node(n);if(r.length&&Ci.forEach(r,e),Ci.has(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var o=i.minRank,a=i.maxRank+1;o<a;++o)wo(t,"borderLeft","_bl",n,i,o),wo(t,"borderRight","_br",n,i,o)}}))}(t)})),e(" order",(function(){Po(t)})),e(" insertSelfEdges",(function(){!function(t){var e=Xo.buildLayerMatrix(t);Ci.forEach(e,(function(e){var n=0;Ci.forEach(e,(function(e,r){var i=t.node(e);i.order=r+n,Ci.forEach(i.selfEdges,(function(e){Xo.addDummyNode(t,"selfedge",{width:e.label.width,height:e.label.height,rank:i.rank,order:r+ ++n,e:e.e,label:e.label},"_se")})),delete i.selfEdges}))}))}(t)})),e(" adjustCoordinateSystem",(function(){_o(t)})),e(" position",(function(){!function(t){(function(t){var e=Gi.buildLayerMatrix(t),n=t.graph().ranksep,r=0;Ci.forEach(e,(function(e){var i=Ci.max(Ci.map(e,(function(e){return t.node(e).height})));Ci.forEach(e,(function(e){t.node(e).y=r+i/2})),r+=i+n}))})(t=Gi.asNonCompoundGraph(t)),Ci.forEach(Go(t),(function(e,n){t.node(n).x=e}))}(t)})),e(" positionSelfEdges",(function(){!function(t){Ci.forEach(t.nodes(),(function(e){var n=t.node(e);if("selfedge"===n.dummy){var r=t.node(n.e.v),i=r.x+r.width/2,o=r.y,a=n.x-i,s=r.height/2;t.setEdge(n.e,n.label),t.removeNode(e),n.label.points=[{x:i+2*a/3,y:o-s},{x:i+5*a/6,y:o-s},{x:i+a,y:o},{x:i+5*a/6,y:o+s},{x:i+2*a/3,y:o+s}],n.label.x=n.x,n.label.y=n.y}}))}(t)})),e(" removeBorderNodes",(function(){!function(t){Ci.forEach(t.nodes(),(function(e){if(t.children(e).length){var n=t.node(e),r=t.node(n.borderTop),i=t.node(n.borderBottom),o=t.node(Ci.last(n.borderLeft)),a=t.node(Ci.last(n.borderRight));n.width=Math.abs(a.x-o.x),n.height=Math.abs(i.y-r.y),n.x=o.x+n.width/2,n.y=r.y+n.height/2}})),Ci.forEach(t.nodes(),(function(e){"border"===t.node(e).dummy&&t.removeNode(e)}))}(t)})),e(" normalize.undo",(function(){Wi(t)})),e(" fixupEdgeLabelCoords",(function(){!function(t){Ci.forEach(t.edges(),(function(e){var n=t.edge(e);if(Ci.has(n,"x"))switch("l"!==n.labelpos&&"r"!==n.labelpos||(n.width-=n.labeloffset),n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset}}))}(t)})),e(" undoCoordinateSystem",(function(){Eo(t)})),e(" translateGraph",(function(){!function(t){var e=Number.POSITIVE_INFINITY,n=0,r=Number.POSITIVE_INFINITY,i=0,o=t.graph(),a=o.marginx||0,s=o.marginy||0;function u(t){var o=t.x,a=t.y,s=t.width,u=t.height;e=Math.min(e,o-s/2),n=Math.max(n,o+s/2),r=Math.min(r,a-u/2),i=Math.max(i,a+u/2)}Ci.forEach(t.nodes(),(function(e){u(t.node(e))})),Ci.forEach(t.edges(),(function(e){var n=t.edge(e);Ci.has(n,"x")&&u(n)})),e-=a,r-=s,Ci.forEach(t.nodes(),(function(n){var i=t.node(n);i.x-=e,i.y-=r})),Ci.forEach(t.edges(),(function(n){var i=t.edge(n);Ci.forEach(i.points,(function(t){t.x-=e,t.y-=r})),Ci.has(i,"x")&&(i.x-=e),Ci.has(i,"y")&&(i.y-=r)})),o.width=n-e+a,o.height=i-r+s}(t)})),e(" assignNodeIntersects",(function(){!function(t){Ci.forEach(t.edges(),(function(e){var n,r,i=t.edge(e),o=t.node(e.v),a=t.node(e.w);i.points?(n=i.points[0],r=i.points[i.points.length-1]):(i.points=[],n=a,r=o),i.points.unshift(Xo.intersectRect(o,n)),i.points.push(Xo.intersectRect(a,r))}))}(t)})),e(" reversePoints",(function(){!function(t){Ci.forEach(t.edges(),(function(e){var n=t.edge(e);n.reversed&&n.points.reverse()}))}(t)})),e(" acyclic.undo",(function(){Fi(t)}))}(e,n)})),n(" updateInputGraph",(function(){!function(t,e){Ci.forEach(t.nodes(),(function(n){var r=t.node(n),i=e.node(n);r&&(r.x=i.x,r.y=i.y,e.children(n).length&&(r.width=i.width,r.height=i.height))})),Ci.forEach(t.edges(),(function(n){var r=t.edge(n),i=e.edge(n);r.points=i.points,Ci.has(i,"x")&&(r.x=i.x,r.y=i.y)})),t.graph().width=e.graph().width,t.graph().height=e.graph().height}(t,e)}))}))},debug:{debugOrdering:function(t){var e=Gi.buildLayerMatrix(t),n=new na({compound:!0,multigraph:!0}).setGraph({});return Ci.forEach(t.nodes(),(function(e){n.setNode(e,{label:e}),n.setParent(e,"layer"+t.node(e).rank)})),Ci.forEach(t.edges(),(function(t){n.setEdge(t.v,t.w,{},t.name)})),Ci.forEach(e,(function(t,e){var r="layer"+e;n.setNode(r,{rank:"same"}),Ci.reduce(t,(function(t,e){return n.setEdge(t,e,{style:"invis"}),e}))})),n}},util:{time:Gi.time,notime:Gi.notime},version:"0.8.5"},ia=ra.graphlib,oa=ra.layout,aa=h((function t(e){p(this,t),this.cardinality=1,this.include=x.UNSPECIFIED,this.isGroupNode=!1,this.parentNode=null,this.type=b.NODE,this.name=e.name,this.attr=e.attr||{},this.inputs=e.inputs,this.path=e.path||[],this.width=e.width,this.height=e.height})),sa=h((function t(){p(this,t),this.nodes={},this.edges=[],this.nodes={},this.edges=[]}));var ua=function(){return h((function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};p(this,t),this.attr=null,this.bridgeGraph=null,this.cardinality=0,this.depth=1,this.include=x.UNSPECIFIED,this.isGroupNode=!0,this.parentNode=null,this.type=b.META,this.path=[],this.name=e,this.metaGraph=ha(e,w.META,n)}),[{key:"getFirstChild",value:function(){return this.metaGraph.node(this.metaGraph.nodes()[0])}},{key:"getChildren",value:function(){var t=this;return this.metaGraph.nodes().map((function(e){return t.metaGraph.node(e)}))}},{key:"leaves",value:function(){for(var t,e=[],n=[this];n.length;){var r=n.shift();r.isGroupNode?(t=r.metaGraph).nodes().forEach((function(e){return n.push(t.node(e))})):e.push(r.name)}return e}}])}(),ca=function(){return h((function t(e,n){p(this,t),this.v=e,this.w=n,this.baseEdgeList=[],this.inbound=null,this.name=null}),[{key:"addBaseEdge",value:function(t,e){this.baseEdgeList.push(t)}}])}();function la(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new ua(t,e)}function fa(t,e){return new ca(t,e)}function ha(t,e,n){var r=n||{},i=new ia.Graph(r);return i.setGraph({name:t,rankdir:r.rankdir,type:e,align:r.align}),i}var da=function(){return h((function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};p(this,t),this.graphOptions=e,this.index={},this.graphOptions.compound=!0,this.root=la(E,this.graphOptions),this.index[E]=this.root}),[{key:"getNodeMap",value:function(){return this.index}},{key:"node",value:function(t){return this.index[t]}},{key:"setNode",value:function(t,e){this.index[t]=e}},{key:"getBridgeGraph",value:function(t){var e=this,n=this.index[t];if(!n)throw Error("Could not find node in hierarchy: "+t);if(!("metaGraph"in n))return null;var r=n;if(r.bridgeGraph)return r.bridgeGraph;var i=ha(S,w.BRIDGE,this.graphOptions);if(r.bridgeGraph=i,!n.parentNode||!("metaGraph"in n.parentNode))return i;var o=n.parentNode;return[o.metaGraph,this.getBridgeGraph(o.name)].forEach((function(n){n.edges().filter((function(e){return e.v===t||e.w===t})).forEach((function(r){var o=r.w===t;n.edge(r).baseEdgeList.forEach((function(n){var a=u(o?[n.w,r.v]:[n.v,r.w],2),s=a[0],c=a[1],l=e.getChildName(t,s),f={v:o?c:l,w:o?l:c},h=i.edge(f);h||((h=fa(f.v,f.w)).inbound=o,i.setEdge(f.v,f.w,h)),h.addBaseEdge(n,e)}))}))})),i}},{key:"getChildName",value:function(t,e){for(var n=this.index[e];n;){if(n.parentNode&&n.parentNode.name===t)return n.name;n=n.parentNode}throw Error("Could not find immediate child for descendant: "+e)}},{key:"getPredecessors",value:function(t){var e=this.index[t];if(!e)throw Error("Could not find node with name: "+t);return this.getOneWayEdges(e,!0)}},{key:"getSuccessors",value:function(t){var e=this.index[t];if(!e)throw Error("Could not find node with name: "+t);return this.getOneWayEdges(e,!1)}},{key:"getOneWayEdges",value:function(t,e){var n=[];if(!t.parentNode||!t.parentNode.isGroupNode)return n;var r=t.parentNode,i=r.metaGraph,o=this.getBridgeGraph(r.name);return pa(i,t,e,n),pa(o,t,e,n),n}}])}();function pa(t,e,n,r){(n?t.inEdges(e.name):t.outEdges(e.name)).forEach((function(e){var n=t.edge(e);r.push(n)}))}var ga=function(){return h((function t(e){p(this,t),this.hierarchy=e,this.index={},this.hasSubHierarchy={},this.root=new ma(this.hierarchy.root,this.hierarchy.graphOptions),this.index[e.root.name]=this.root,this.buildSubHierarchy(e.root.name),this.root.expanded=!0}),[{key:"getRenderInfoNodes",value:function(){return Object.values(this.index)}},{key:"getSubHierarchy",value:function(){return this.hasSubHierarchy}},{key:"buildSubHierarchy",value:function(t){var e=this;if(!(t in this.hasSubHierarchy)){this.hasSubHierarchy[t]=!0;var n=this.index[t];if(n.node.type===b.META){var r=n,i=r.node.metaGraph,o=r.coreGraph;i.nodes().forEach((function(t){var n=e.getOrCreateRenderNodeByName(t);o.setNode(t,n)})),i.edges().forEach((function(t){var e=i.edge(t),n=new ya(e);o.setEdge(t.v,t.w,n)}));var a=r.node.parentNode;if(a){var s=this.getRenderNodeByName(a.name),c=function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];return n.concat([t?"IN":"OUT"]).join("~~")},l=this.hierarchy.getBridgeGraph(t);l.edges().forEach((function(n){var r=l.edge(n),f=!!i.node(n.w),h=u(f?[n.w,n.v]:[n.v,n.w],2),d=h[0],p=h[1],g=function(e){var n=f?{v:e,w:t}:{v:t,w:e};return s.coreGraph.edge(n)},v=g(p);v||(v=g(c(f,p,a.name)));var y=c(f,t),m=c(f,p,t),w=o.node(m);if(!w){var _=o.node(y);if(!_){var E={name:y,type:b.BRIDGE,isGroupNode:!1,cardinality:0,parentNode:null,include:x.UNSPECIFIED,inbound:f,attr:{}};_=new va(E),e.index[y]=_,o.setNode(y,_)}var S={name:m,type:b.BRIDGE,isGroupNode:!1,cardinality:1,parentNode:null,include:x.UNSPECIFIED,inbound:f,attr:{}};w=new va(S),e.index[m]=w,o.setNode(m,w),o.setParent(m,y),_.node.cardinality++}var M=new ya(r);M.adjoiningMetaEdge=v,f?o.setEdge(m,d,M):o.setEdge(d,m,M)}))}}}}},{key:"getOrCreateRenderNodeByName",value:function(t){if(!t)return null;if(t in this.index)return this.index[t];var e=this.getNodeByName(t);return e?(this.index[t]=e.isGroupNode?new ma(e,this.hierarchy.graphOptions):new va(e),this.index[t]):null}},{key:"getRenderNodeByName",value:function(t){return this.index[t]}},{key:"getNodeByName",value:function(t){return this.hierarchy.node(t)}}])}(),va=h((function t(e){p(this,t),this.node=e,this.expanded=!1,this.x=0,this.y=0,this.coreBox={width:0,height:0},this.outboxWidth=0,this.labelOffset=0,this.radius=0,this.labelHeight=0,this.paddingTop=0,this.paddingLeft=0,this.paddingRight=0,this.paddingBottom=0,this.width=e.width||0,this.height=e.height||0,this.displayName=e.name,this.attr=e.attr})),ya=h((function t(e){p(this,t),this.metaEdge=e,this.adjoiningMetaEdge=null,this.weight=1,this.points=[]})),ma=function(t){function e(t,n){var r;p(this,e),r=o(this,e,[t]);var i=t.metaGraph.graph();return n.compound=!0,r.coreGraph=ha(i.name,w.CORE,n),r}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&s(t,e)}(e,t),h(e)}(va);function ba(t,e){t.node.isGroupNode&&function(t,e){var n=y(e);t.coreGraph.nodes().map((function(e){return t.coreGraph.node(e)})).forEach((function(t){var r,i,o,a,s,u,c=t.height,l=t.width;switch(t.node.type){case b.NODE:Object.assign(t,n.nodeSize.node),t.height=c||n.nodeSize.node.height,t.width=l||n.nodeSize.node.width;break;case b.BRIDGE:Object.assign(t,n.nodeSize.bridge);break;case b.META:t.expanded?ba(t,e):(Object.assign(t,n.nodeSize.meta),t.height=n.nodeSize.meta.height,t.width=n.nodeSize.meta.width);break;default:throw Error("Unrecognized node type: "+t.node.type)}if(!t.expanded){var f=t.attr;!function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(t.coreBox.width=t.width,t.coreBox.height=t.height,!e){var n="".concat(t.displayName).length,r=3;t.width=Math.max(t.coreBox.width,n*r)}}(t,e&&(0===t.node.type&&!!(null===(i=null===(r=null==e?void 0:e.nodeSize)||void 0===r?void 0:r.meta)||void 0===i?void 0:i.width)||1===t.node.type&&(!!(null===(a=null===(o=null==e?void 0:e.nodeSize)||void 0===o?void 0:o.node)||void 0===a?void 0:a.width)||!!f.width)||2===t.node.type&&!!(null===(u=null===(s=null==e?void 0:e.nodeSize)||void 0===s?void 0:s.bridge)||void 0===u?void 0:u.width)))}}))}(t,e),t.node.type===b.META&&function(t,e){var n=y(e),r=n.subScene.meta;Object.assign(t,r);var i=n.graph.meta,o={nodesep:i.nodeSep,ranksep:i.rankSep,edgesep:i.edgeSep,align:i.align};Object.assign(t.coreBox,function(t,e){var n=e.ranksep,r=e.nodesep,i=e.edgesep,o=e.align;Object.assign(t.graph(),{ranksep:n,nodesep:r,edgesep:i,align:o});var a=[];if(t.nodes().forEach((function(e){t.node(e).node.type!==b.BRIDGE&&a.push(e)})),!a.length)return{width:0,height:0};oa(t);var s=1/0,u=1/0,c=-1/0,l=-1/0;return a.forEach((function(e){var n=t.node(e),r=.5*n.width,i=n.x-r,o=n.x+r;s=i<s?i:s,c=o>c?o:c;var a=.5*n.height,f=n.y-a,h=n.y+a;u=f<u?f:u,l=h>l?h:l})),t.edges().forEach((function(e){var n=t.edge(e),r=t.node(n.metaEdge.v),i=t.node(n.metaEdge.w);if(3===n.points.length&&function(t){for(var e=xa(t[0],t[1]),n=1;n<t.length-1;n++){var r=xa(t[n],t[n+1]);if(Math.abs(r-e)>1)return!1;e=r}return!0}(n.points)){if(null!=r){var o=r.expanded?r.x:wa(r);n.points[0].x=o}if(null!=i){var a=i.expanded?i.x:wa(i);n.points[2].x=a}n.points=[n.points[0],n.points[1]]}var f=n.points[n.points.length-2];null!=i&&(n.points[n.points.length-1]=_a(f,i));var h=n.points[1];null!=r&&(n.points[0]=_a(h,r)),n.points.forEach((function(t){s=t.x<s?t.x:s,c=t.x>c?t.x:c,u=t.y<u?t.y:u,l=t.y>l?t.y:l}))})),t.nodes().forEach((function(e){var n=t.node(e);n.x-=s,n.y-=u})),t.edges().forEach((function(e){t.edge(e).points.forEach((function(t){t.x-=s,t.y-=u}))})),{width:c-s,height:l-u}}(t.coreGraph,o));var a=0;t.coreGraph.nodeCount()>0&&a++;var s=a<=1?0:a;t.coreBox.width+=s+s,t.coreBox.height=r.labelHeight+t.coreBox.height,t.width=t.coreBox.width+r.paddingLeft+r.paddingRight,t.height=t.paddingTop+t.coreBox.height+t.paddingBottom}(t,e)}function xa(t,e){var n=e.x-t.x,r=e.y-t.y;return 180*Math.atan(r/n)/Math.PI}function wa(t){return t.expanded?t.x:t.x-t.width/2+0+t.coreBox.width/2}function _a(t,e){var n,r,i=e.expanded?e.x:wa(e),o=e.y,a=t.x-i,s=t.y-o,u=e.expanded?e.width:e.coreBox.width,c=e.expanded?e.height:e.coreBox.height;return Math.abs(s)*u/2>Math.abs(a)*c/2?(s<0&&(c=-c),n=0===s?0:c/2*a/s,r=c/2):(a<0&&(u=-u),n=u/2,r=0===a?0:u/2*s/a),{x:i+n,y:o+r}}function Ea(t,e,n){var o,a,s,c,l=t.nodes.filter((function(t,e,n){return n.findIndex((function(e){return e.id===t.id}))!==e})).map((function(t){return t.id}));if(l.length)throw new Error("Duplicated ids found: ".concat(l.join(", ")));var f=function(t){var e={nodes:[]},n=t.compound,r=Object.keys(n||{}),o=new Map,a=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(o.has(t))return o.get(t);for(var i=0;i<r.length;i++){var s=r[i];if(n&&-1!==n[s].indexOf(t))return e.unshift(s),a(s,e)}return 0===e.length&&o.set(t,e),e},s=function(e){return t.edges.filter((function(t){return t.w===e})).map((function(t){return{name:t.v}}))};return t.nodes.forEach((function(t){var n=t.id,r=[].concat(i(a(n)),[n]),o=s(n);e.nodes.push({name:n,path:r,inputs:o,width:t.width,height:t.height,attr:Object.assign({},t)})})),e}(t),h=function(t,e){var n=function(t,e){var n,i=r(e.values());try{for(i.s();!(n=i.n()).done;){if(n.value.includes(t))return!0}}catch(t){i.e(t)}finally{i.f()}return!1},o=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(0===Object.keys(t).length)return i(new Set(e));var a,s=new Map(Object.keys(t).map((function(e){return[e,t[e]]}))),c={},l=r(s);try{for(l.s();!(a=l.n()).done;){var f=u(a.value,2),h=f[0],d=f[1];n(h,s)?c[h]=d:e=e.concat(h,d)}}catch(t){l.e(t)}finally{l.f()}return o(c,e)};return o(t).filter((function(t){return e.includes(t)}))}(t.compound||{},(null==e?void 0:e.expanded)||[]),d=function(t,e){return function(t){return new ga(t)}(function(t,e){var n=e.rankDirection,r=e.align,i=new da({rankdir:n,align:r});return function(t,e){Object.keys(e.nodes).forEach((function(n){var r=e.nodes[n],i=r.path,o=t.root;o.depth=Math.max(i.length,o.depth);for(var a=0;a<i.length&&(o.depth=Math.max(o.depth,i.length-a),o.cardinality+=r.cardinality,a!==i.length-1);a++){var s=i[a],u=t.node(s);u||((u=la(s,t.graphOptions)).path=r.path.slice(0,a+1),u.parentNode=o,t.setNode(s,u),o.metaGraph.setNode(s,u)),o=u}t.setNode(r.name,r),r.parentNode=o,o.metaGraph.setNode(r.name,r)}))}(i,t),function(t,e){var n=t.getNodeMap(),r=[],i=[],o=function(t,e){for(var n=0;t;)e[n++]=t.name,t=t.parentNode;return n-1};e.edges.forEach((function(a){r=[],i=[];for(var s=o(e.nodes[a.v],r),u=o(e.nodes[a.w],i);r[s]===i[u];)if(u--,--s<0||u<0)throw Error("No difference found between ancestor paths.");var c=n[r[s+1]],l=r[s],f=i[u],h=c.metaGraph.edge(l,f);h||(h=fa(l,f),c.metaGraph.setEdge(l,f,h)),h.addBaseEdge(a,t)}))}(i,t),i}(function(t){var e=new sa;return t.nodes.map((function(t){return new aa(t)})).forEach((function(t){e.nodes[t.name]=t,t.inputs.forEach((function(n){!function(t,e,n){n.name!==e.name&&t.edges.push(Object.assign(Object.assign({},n.attr),{v:n.name,w:e.name}))}(e,t,n)}))})),e}(t),e))}(f,{rankDirection:(null===(a=null===(o=null==n?void 0:n.graph)||void 0===o?void 0:o.meta)||void 0===a?void 0:a.rankDir)||(null==e?void 0:e.rankDirection)||v.graph.meta.rankDir,align:(null===(c=null===(s=null==n?void 0:n.graph)||void 0===s?void 0:s.meta)||void 0===c?void 0:c.align)||v.graph.meta.align});return function(t,e){e.forEach((function(e){var n=t.getRenderInfoNodes().find((function(t){return t.displayName===e})),r=n&&n.node&&n.node.name||"",i=t.getRenderNodeByName(r);if(!i)throw new Error("No nodes found: ".concat(r));i.expanded=!0,t.buildSubHierarchy(r)}))}(d,h),ba(d.root,n),Oa(d.root)}function Sa(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=JSON.parse(JSON.stringify(t)),r={nodes:[n],edges:i(n.edges)};return n.nodes.forEach((function t(e){(0===e.type||1===e.type)&&r.nodes.push(e),0===e.type&&(r.edges=r.edges.concat(e.edges)),Array.isArray(e.nodes)&&e.nodes.forEach(t)})),e&&r.nodes.forEach((function(t){var e=r.nodes.find((function(e){return e.id===t.parentNodeName}));if(e){var n=e.x-e.width/2+e.paddingLeft,i=e.y-e.height/2+e.labelHeight+e.paddingTop;e.id!==E&&(t.x+=n,t.y+=i),0===t.type&&t.edges.forEach((function(e){e.points.forEach((function(e){e.x+=t.x-t.width/2+t.paddingLeft,e.y+=t.y-t.height/2+t.labelHeight+t.paddingTop}))}))}})),r}function Ma(t,e,n,r){var o,a,s=[],u=(null===(o=n.find((function(e){return e.id===t})))||void 0===o?void 0:o.path)||[],c=(null===(a=n.find((function(t){return t.id===e})))||void 0===a?void 0:a.path)||[],l=[E].concat(i(u)).slice(0,u.length).reverse(),f=[E].concat(i(c)).slice(0,c.length);return l.forEach((function(i){var o=n.find((function(t){return t.id===i}));s=s.concat(o.edges.filter((function(n){return n.baseEdgeList.some((function(n){return n.v===((null==r?void 0:r.v)||t)&&n.w===((null==r?void 0:r.w)||e)}))})))})),f.filter((function(t){return!l.includes(t)})).forEach((function(i){var o=n.find((function(t){return t.id===i}));s=s.concat(o.edges.filter((function(n){return n.baseEdgeList.some((function(n){return n.v===((null==r?void 0:r.v)||t)&&n.w===((null==r?void 0:r.w)||e)}))})))})),s}function Oa(t){var e,n=t.coreGraph.nodes().map((function(e){return t.coreGraph.node(e)}));return Object.assign(Object.assign({},ka(t)),{expanded:t.expanded,nodes:t.expanded?(e=n,e.map((function(t){return t.node.type===b.META?Oa(t):ka(t)}))):[],edges:t.expanded?Aa(t):[]})}function ka(t){return{id:t.node.name,name:t.node.name,type:t.node.type,cardinality:t.node.cardinality,attr:t.attr,parentNodeName:t.node.parentNode?t.node.parentNode.name:null,coreBox:Object.assign({},t.coreBox),x:t.x,y:t.y,width:t.width,height:t.height,radius:t.radius,labelHeight:t.labelHeight,labelOffset:t.labelOffset,outboxWidth:t.outboxWidth,paddingLeft:t.paddingLeft,paddingTop:t.paddingTop,paddingRight:t.paddingRight,paddingBottom:t.paddingBottom,path:t.node.path}}function Aa(t){return t.coreGraph.edges().map((function(e){return{renderInfoEdge:t.coreGraph.edge(e),edge:e}})).filter((function(t){return t.renderInfoEdge.metaEdge})).map((function(e){var n=e.edge,r=e.renderInfoEdge,i=function(t,e){var n=e.points.map((function(t){return Object.assign({},t)}));if(e.adjoiningMetaEdge){var r=e.adjoiningMetaEdge.points,i=e.metaEdge.inbound,o=i?r[r.length-1]:r[0],a=n[i?0:n.length-1],s=t.x-t.width/2,u=t.y-t.height/2,c=o.x-s,l=o.y-u,f=-t.paddingLeft,h=-(t.paddingTop+t.labelHeight);a.x=c+f,a.y=l+h}return n}(t,r);return{adjoiningEdge:r.adjoiningMetaEdge?{w:r.adjoiningMetaEdge.metaEdge.w,v:r.adjoiningMetaEdge.metaEdge.v}:null,inbound:r.metaEdge.inbound,w:n.w,v:n.v,points:i,weight:r.weight,baseEdgeList:r.metaEdge.baseEdgeList,parentNodeName:t.node.name}}))}}.call(this,n(91))},function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.RadialLayout=void 0;var a=n(15),s=n(18),u=o(n(184)),c=o(n(185));function l(t,e){return Math.sqrt((t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1]))}var f=function(t){function e(e){var n=t.call(this)||this;return n.maxIteration=1e3,n.focusNode=null,n.unitRadius=null,n.linkDistance=50,n.preventOverlap=!1,n.strictRadial=!0,n.maxPreventOverlapIteration=200,n.sortStrength=10,n.nodes=[],n.edges=[],n.updateCfg(e),n}return i(e,t),e.prototype.getDefaultCfg=function(){return{maxIteration:1e3,focusNode:null,unitRadius:null,linkDistance:50,preventOverlap:!1,nodeSize:void 0,nodeSpacing:void 0,strictRadial:!0,maxPreventOverlapIteration:200,sortBy:void 0,sortStrength:10}},e.prototype.execute=function(){var t=this,e=t.nodes,n=t.edges||[];if(e&&0!==e.length){t.width||"undefined"==typeof window||(t.width=window.innerWidth),t.height||"undefined"==typeof window||(t.height=window.innerHeight),t.center||(t.center=[t.width/2,t.height/2]);var r=t.center;if(1===e.length)return e[0].x=r[0],e[0].y=r[1],void(t.onLayoutEnd&&t.onLayoutEnd());var i=t.linkDistance,o=null;if((0,a.isString)(t.focusNode)){for(var s=!1,l=0;l<e.length;l++)e[l].id===t.focusNode&&(o=e[l],t.focusNode=o,s=!0,l=e.length);s||(o=null)}else o=t.focusNode;o||(o=e[0],t.focusNode=o);var f,h,d,p=(f=e,h=o.id,d=-1,f.forEach((function(t,e){t.id===h&&(d=e)})),d);p<0&&(p=0),t.focusIndex=p;var g=(0,a.getAdjMatrix)({nodes:e,edges:n},!1),v=(0,a.floydWarshall)(g),y=t.maxToFocus(v,p);t.handleInfinity(v,p,y+1),t.distances=v;var m=v[p],b=t.width||500,x=t.height||500,w=b-r[0]>r[0]?r[0]:b-r[0],_=x-r[1]>r[1]?r[1]:x-r[1];0===w&&(w=b/2),0===_&&(_=x/2);var E=_>w?w:_,S=Math.max.apply(Math,m),M=[];m.forEach((function(e,n){t.unitRadius||(t.unitRadius=E/S),M[n]=e*t.unitRadius})),t.radii=M;var O=t.eIdealDisMatrix();t.eIdealDistances=O;var k=function(t){for(var e=t.length,n=t[0].length,r=[],i=0;i<e;i++){for(var o=[],a=0;a<n;a++)0!==t[i][a]?o.push(1/(t[i][a]*t[i][a])):o.push(0);r.push(o)}return r}(O);t.weights=k;var A=new u.default({linkDistance:i,distances:O}).layout();A.forEach((function(t){(0,a.isNaN)(t[0])&&(t[0]=Math.random()*i),(0,a.isNaN)(t[1])&&(t[1]=Math.random()*i)})),t.positions=A,A.forEach((function(t,n){e[n].x=t[0]+r[0],e[n].y=t[1]+r[1]})),A.forEach((function(t){t[0]-=A[p][0],t[1]-=A[p][1]})),t.run();var C,j=t.preventOverlap,I=t.nodeSize,T=t.strictRadial;if(j){var N,P=t.nodeSpacing;N=(0,a.isNumber)(P)?function(){return P}:(0,a.isFunction)(P)?P:function(){return 0},C=I?(0,a.isArray)(I)?function(t){return(I[0]>I[1]?I[0]:I[1])+N(t)}:function(t){return I+N(t)}:function(t){return t.size?(0,a.isArray)(t.size)?(t.size[0]>t.size[1]?t.size[0]:t.size[1])+N(t):(0,a.isObject)(t.size)?(t.size.width>t.size.height?t.size.width:t.size.height)+N(t):t.size+N(t):10+N(t)};var D={nodes:e,nodeSizeFunc:C,adjMatrix:g,positions:A,radii:M,height:x,width:b,strictRadial:T,focusID:p,iterations:t.maxPreventOverlapIteration||200,k:A.length/4.5},L=new c.default(D);A=L.layout()}return A.forEach((function(t,n){e[n].x=t[0]+r[0],e[n].y=t[1]+r[1]})),t.onLayoutEnd&&t.onLayoutEnd(),{nodes:e,edges:n}}t.onLayoutEnd&&t.onLayoutEnd()},e.prototype.run=function(){for(var t=this.maxIteration,e=this.positions||[],n=this.weights||[],r=this.eIdealDistances||[],i=this.radii||[],o=0;o<=t;o++){var a=o/t;this.oneIteration(a,e,i,r,n)}},e.prototype.oneIteration=function(t,e,n,r,i){var o=1-t,a=this.focusIndex;e.forEach((function(s,u){var c=l(s,[0,0]),f=0===c?0:1/c;if(u!==a){var h=0,d=0,p=0;e.forEach((function(t,e){if(u!==e){var n=l(s,t),o=0===n?0:1/n,a=r[e][u];p+=i[u][e],h+=i[u][e]*(t[0]+a*(s[0]-t[0])*o),d+=i[u][e]*(t[1]+a*(s[1]-t[1])*o)}}));var g=0===n[u]?0:1/n[u];p*=o,p+=t*g*g,h*=o,h+=t*g*s[0]*f,s[0]=h/p,d*=o,d+=t*g*s[1]*f,s[1]=d/p}}))},e.prototype.eIdealDisMatrix=function(){var t=this,e=t.nodes;if(!e)return[];var n=t.distances,r=t.linkDistance,i=t.radii||[],o=t.unitRadius||50,s=[];return n&&n.forEach((function(n,u){var c=[];n.forEach((function(n,s){if(u===s)c.push(0);else if(i[u]===i[s])if("data"===t.sortBy)c.push(n*(Math.abs(u-s)*t.sortStrength)/(i[u]/o));else if(t.sortBy){var l=e[u][t.sortBy]||0,f=e[s][t.sortBy]||0;(0,a.isString)(l)&&(l=l.charCodeAt(0)),(0,a.isString)(f)&&(f=f.charCodeAt(0)),c.push(n*(Math.abs(l-f)*t.sortStrength)/(i[u]/o))}else c.push(n*r/(i[u]/o));else{var h=(r+o)/2;c.push(n*h)}})),s.push(c)})),s},e.prototype.handleInfinity=function(t,e,n){for(var r=t.length,i=0;i<r;i++)if(t[e][i]===1/0){t[e][i]=n,t[i][e]=n;for(var o=0;o<r;o++)t[i][o]!==1/0&&t[e][o]===1/0&&(t[e][o]=n+t[i][o],t[o][e]=n+t[i][o])}for(i=0;i<r;i++)if(i!==e)for(o=0;o<r;o++)if(t[i][o]===1/0){var a=Math.abs(t[e][i]-t[e][o]);a=0===a?1:a,t[i][o]=a}},e.prototype.maxToFocus=function(t,e){for(var n=0,r=0;r<t[e].length;r++)t[e][r]!==1/0&&(n=t[e][r]>n?t[e][r]:n);return n},e.prototype.getType=function(){return"radial"},e}(s.Base);e.RadialLayout=f},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(109),i=function(){function t(t){this.distances=t.distances,this.dimension=t.dimension||2,this.linkDistance=t.linkDistance}return t.prototype.layout=function(){var t=this.dimension,e=this.distances,n=this.linkDistance;try{var i=r.Matrix.mul(r.Matrix.pow(e,2),-.5),o=i.mean("row"),a=i.mean("column"),s=i.mean();i.add(s).subRowVector(o).subColumnVector(a);var u=new r.SingularValueDecomposition(i),c=r.Matrix.sqrt(u.diagonalMatrix).diagonal();return u.leftSingularVectors.toJSON().map((function(e){return r.Matrix.mul([e],[c]).toJSON()[0].splice(0,t)}))}catch(t){for(var l=[],f=0;f<e.length;f++){var h=Math.random()*n,d=Math.random()*n;l.push([h,d])}return l}},t}();e.default=i},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t){this.disp=[],this.positions=t.positions,this.adjMatrix=t.adjMatrix,this.focusID=t.focusID,this.radii=t.radii,this.iterations=t.iterations||10,this.height=t.height||10,this.width=t.width||10,this.speed=t.speed||100,this.gravity=t.gravity||10,this.nodeSizeFunc=t.nodeSizeFunc,this.k=t.k||5,this.strictRadial=t.strictRadial,this.nodes=t.nodes}return t.prototype.layout=function(){var t=this.positions,e=[],n=this.iterations,r=this.width/10;this.maxDisplace=r,this.disp=e;for(var i=0;i<n;i++)t.forEach((function(t,n){e[n]={x:0,y:0}})),this.getRepulsion(),this.updatePositions();return t},t.prototype.getRepulsion=function(){var t=this,e=t.positions,n=t.nodes,r=t.disp,i=t.k,o=t.radii||[];e.forEach((function(a,s){r[s]={x:0,y:0},e.forEach((function(e,u){if(s!==u&&o[s]===o[u]){var c=a[0]-e[0],l=a[1]-e[1],f=Math.sqrt(c*c+l*l);if(0===f){f=1;var h=s>u?1:-1;c=.01*h,l=.01*h}if(f<t.nodeSizeFunc(n[s])/2+t.nodeSizeFunc(n[u])/2){var d=i*i/f;r[s].x+=c/f*d,r[s].y+=l/f*d}}}))}))},t.prototype.updatePositions=function(){var t=this.positions,e=this.disp,n=this.speed,r=this.strictRadial,i=this.focusID,o=this.maxDisplace||this.width/10;r&&e.forEach((function(e,n){var r=t[n][0]-t[i][0],o=t[n][1]-t[i][1],a=Math.sqrt(r*r+o*o),s=o/a,u=-r/a,c=Math.sqrt(e.x*e.x+e.y*e.y),l=Math.acos((s*e.x+u*e.y)/c);l>Math.PI/2&&(l-=Math.PI/2,s*=-1,u*=-1);var f=Math.cos(l)*c;e.x=s*f,e.y=u*f}));var a=this.radii;t.forEach((function(s,u){if(u!==i){var c=Math.sqrt(e[u].x*e[u].x+e[u].y*e[u].y);if(c>0&&u!==i){var l=Math.min(o*(n/800),c);if(s[0]+=e[u].x/c*l,s[1]+=e[u].y/c*l,r){var f=s[0]-t[i][0],h=s[1]-t[i][1],d=Math.sqrt(f*f+h*h);f=f/d*a[u],h=h/d*a[u],s[0]=t[i][0]+f,s[1]=t[i][1]+h}}}}))},t}();e.default=r},function(t,e,n){var r=n(42).default;t.exports=function(t,e){if("object"!=r(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,e||"default");if("object"!=r(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)},t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e,n){var r=n(64),i=n(191),o=n(65),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1,t.exports=function(t){return o(t)&&i(t.length)&&!!a[r(t)]}},function(t,e,n){function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var i=n(99),o="object"==("undefined"==typeof self?"undefined":r(self))&&self&&self.Object===Object&&self,a=i||o||Function("return this")();t.exports=a},function(t,e,n){var r=n(98),i=Object.prototype,o=i.hasOwnProperty,a=i.toString,s=r?r.toStringTag:void 0;t.exports=function(t){var e=o.call(t,s),n=t[s];try{t[s]=void 0;var r=!0}catch(t){}var i=a.call(t);return r&&(e?t[s]=n:delete t[s]),i}},function(t,e){var n=Object.prototype.toString;t.exports=function(t){return n.call(t)}},function(t,e){t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},function(t,e){t.exports=function(t){return function(e){return t(e)}}},function(t,e,n){(function(t){function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var i=n(99),o="object"==r(e)&&e&&!e.nodeType&&e,a=o&&"object"==r(t)&&t&&!t.nodeType&&t,s=a&&a.exports===o&&i.process,u=function(){try{var t=a&&a.require&&a.require("util").types;return t||s&&s.binding&&s.binding("util")}catch(t){}}();t.exports=u}).call(this,n(100)(t))},function(t,e,n){var r=n(42).default;function i(){"use strict";
|
||
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */t.exports=i=function(){return n},t.exports.__esModule=!0,t.exports.default=t.exports;var e,n={},o=Object.prototype,a=o.hasOwnProperty,s=Object.defineProperty||function(t,e,n){t[e]=n.value},u="function"==typeof Symbol?Symbol:{},c=u.iterator||"@@iterator",l=u.asyncIterator||"@@asyncIterator",f=u.toStringTag||"@@toStringTag";function h(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{h({},"")}catch(e){h=function(t,e,n){return t[e]=n}}function d(t,e,n,r){var i=e&&e.prototype instanceof b?e:b,o=Object.create(i.prototype),a=new T(r||[]);return s(o,"_invoke",{value:A(t,n,a)}),o}function p(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}n.wrap=d;var g="suspendedStart",v="executing",y="completed",m={};function b(){}function x(){}function w(){}var _={};h(_,c,(function(){return this}));var E=Object.getPrototypeOf,S=E&&E(E(N([])));S&&S!==o&&a.call(S,c)&&(_=S);var M=w.prototype=b.prototype=Object.create(_);function O(t){["next","throw","return"].forEach((function(e){h(t,e,(function(t){return this._invoke(e,t)}))}))}function k(t,e){function n(i,o,s,u){var c=p(t[i],t,o);if("throw"!==c.type){var l=c.arg,f=l.value;return f&&"object"==r(f)&&a.call(f,"__await")?e.resolve(f.__await).then((function(t){n("next",t,s,u)}),(function(t){n("throw",t,s,u)})):e.resolve(f).then((function(t){l.value=t,s(l)}),(function(t){return n("throw",t,s,u)}))}u(c.arg)}var i;s(this,"_invoke",{value:function(t,r){function o(){return new e((function(e,i){n(t,r,e,i)}))}return i=i?i.then(o,o):o()}})}function A(t,n,r){var i=g;return function(o,a){if(i===v)throw Error("Generator is already running");if(i===y){if("throw"===o)throw a;return{value:e,done:!0}}for(r.method=o,r.arg=a;;){var s=r.delegate;if(s){var u=C(s,r);if(u){if(u===m)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===g)throw i=y,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=v;var c=p(t,n,r);if("normal"===c.type){if(i=r.done?y:"suspendedYield",c.arg===m)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(i=y,r.method="throw",r.arg=c.arg)}}}function C(t,n){var r=n.method,i=t.iterator[r];if(i===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,C(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),m;var o=p(i,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,m;var a=o.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,m):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,m)}function j(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function I(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function T(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(j,this),this.reset(!0)}function N(t){if(t||""===t){var n=t[c];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function n(){for(;++i<t.length;)if(a.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return o.next=o}}throw new TypeError(r(t)+" is not iterable")}return x.prototype=w,s(M,"constructor",{value:w,configurable:!0}),s(w,"constructor",{value:x,configurable:!0}),x.displayName=h(w,f,"GeneratorFunction"),n.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===x||"GeneratorFunction"===(e.displayName||e.name))},n.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,w):(t.__proto__=w,h(t,f,"GeneratorFunction")),t.prototype=Object.create(M),t},n.awrap=function(t){return{__await:t}},O(k.prototype),h(k.prototype,l,(function(){return this})),n.AsyncIterator=k,n.async=function(t,e,r,i,o){void 0===o&&(o=Promise);var a=new k(d(t,e,r,i),o);return n.isGeneratorFunction(e)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},O(M),h(M,f,"Generator"),h(M,c,(function(){return this})),h(M,"toString",(function(){return"[object Generator]"})),n.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},n.values=N,T.prototype={constructor:T,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(I),!t)for(var n in this)"t"===n.charAt(0)&&a.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function r(r,i){return s.type="throw",s.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],s=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var u=a.call(o,"catchLoc"),c=a.call(o,"finallyLoc");if(u&&c){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(u){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!c)throw Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&a.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var i=r;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=t,o.arg=e,i?(this.method="next",this.next=i.finallyLoc,m):this.complete(o)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),m},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),I(n),m}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;I(n)}return i}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:N(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),m}},n}t.exports=i,t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e,n){var r=n(101);t.exports=function(t){if(Array.isArray(t))return r(t)},t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e){t.exports=function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)},t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e,n){var r=n(101);t.exports=function(t,e){if(t){if("string"==typeof t)return r(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(t,e):void 0}},t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e){t.exports=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.")},t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e,n){var r=n(200)(Object.getPrototypeOf,Object);t.exports=r},function(t,e){t.exports=function(t,e){return function(n){return t(e(n))}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.clusterBundle=e.clusterCode=e.fruchtermanBundle=e.fruchtermanCode=void 0,e.fruchtermanCode="\nimport { globalInvocationID } from 'g-webgpu';\nconst MAX_EDGE_PER_VERTEX;\nconst VERTEX_COUNT;\n@numthreads(1, 1, 1)\nclass Fruchterman {\n @in @out\n u_Data: vec4[];\n @in\n u_K: float;\n @in\n u_K2: float;\n \n @in\n u_Center: vec2;\n @in\n u_Gravity: float;\n @in\n u_ClusterGravity: float;\n @in\n u_Speed: float;\n @in\n u_MaxDisplace: float;\n @in\n u_Clustering: float;\n @in\n u_AttributeArray: vec4[];\n @in\n u_ClusterCenters: vec4[];\n calcRepulsive(i: int, currentNode: vec4): vec2 {\n let dx = 0, dy = 0;\n for (let j = 0; j < VERTEX_COUNT; j++) {\n if (i != j) {\n const nextNode = this.u_Data[j];\n const xDist = currentNode[0] - nextNode[0];\n const yDist = currentNode[1] - nextNode[1];\n const dist = (xDist * xDist + yDist * yDist) + 0.01;\n let param = this.u_K2 / dist;\n \n if (dist > 0.0) {\n dx += param * xDist;\n dy += param * yDist;\n if (xDist == 0 && yDist == 0) {\n const sign = i < j ? 1 : -1;\n dx += param * sign;\n dy += param * sign;\n }\n }\n }\n }\n return [dx, dy];\n }\n calcGravity(currentNode: vec4, nodeAttributes: vec4): vec2 { // \n let dx = 0, dy = 0;\n const vx = currentNode[0] - this.u_Center[0];\n const vy = currentNode[1] - this.u_Center[1];\n const gf = 0.01 * this.u_K * this.u_Gravity;\n dx = gf * vx;\n dy = gf * vy;\n if (this.u_Clustering == 1) {\n const clusterIdx = int(nodeAttributes[0]);\n const center = this.u_ClusterCenters[clusterIdx];\n const cvx = currentNode[0] - center[0];\n const cvy = currentNode[1] - center[1];\n const dist = sqrt(cvx * cvx + cvy * cvy) + 0.01;\n const parma = this.u_K * this.u_ClusterGravity / dist;\n dx += parma * cvx;\n dy += parma * cvy;\n }\n return [dx, dy];\n }\n calcAttractive(i: int, currentNode: vec4): vec2 {\n let dx = 0, dy = 0;\n const arr_offset = int(floor(currentNode[2] + 0.5));\n const length = int(floor(currentNode[3] + 0.5));\n const node_buffer: vec4;\n for (let p = 0; p < MAX_EDGE_PER_VERTEX; p++) {\n if (p >= length) break;\n const arr_idx = arr_offset + p;\n // when arr_idx % 4 == 0 update currentNodedx_buffer\n const buf_offset = arr_idx - arr_idx / 4 * 4;\n if (p == 0 || buf_offset == 0) {\n node_buffer = this.u_Data[int(arr_idx / 4)];\n }\n const float_j = buf_offset == 0 ? node_buffer[0] :\n buf_offset == 1 ? node_buffer[1] :\n buf_offset == 2 ? node_buffer[2] :\n node_buffer[3];\n const nextNode = this.u_Data[int(float_j)];\n const xDist = currentNode[0] - nextNode[0];\n const yDist = currentNode[1] - nextNode[1];\n const dist = sqrt(xDist * xDist + yDist * yDist) + 0.01;\n let attractiveF = dist / this.u_K;\n \n if (dist > 0.0) {\n dx -= xDist * attractiveF;\n dy -= yDist * attractiveF;\n if (xDist == 0 && yDist == 0) {\n const sign = i < int(float_j) ? 1 : -1;\n dx -= sign * attractiveF;\n dy -= sign * attractiveF;\n }\n }\n }\n return [dx, dy];\n }\n @main\n compute() {\n const i = globalInvocationID.x;\n const currentNode = this.u_Data[i];\n let dx = 0, dy = 0;\n if (i >= VERTEX_COUNT) {\n this.u_Data[i] = currentNode;\n return;\n }\n\n // [gravity, fx, fy, 0]\n const nodeAttributes = this.u_AttributeArray[i];\n\n if (nodeAttributes[1] != 0 && nodeAttributes[2] != 0) {\n // the node is fixed\n this.u_Data[i] = [\n nodeAttributes[1],\n nodeAttributes[2],\n currentNode[2],\n currentNode[3]\n ];\n return;\n }\n\n // repulsive\n const repulsive = this.calcRepulsive(i, currentNode);\n dx += repulsive[0];\n dy += repulsive[1];\n // attractive\n const attractive = this.calcAttractive(i, currentNode);\n dx += attractive[0];\n dy += attractive[1];\n // gravity\n const gravity = this.calcGravity(currentNode, nodeAttributes);\n dx -= gravity[0];\n dy -= gravity[1];\n // speed\n dx *= this.u_Speed;\n dy *= this.u_Speed;\n\n // move\n const distLength = sqrt(dx * dx + dy * dy);\n if (distLength > 0.0) {\n const limitedDist = min(this.u_MaxDisplace * this.u_Speed, distLength);\n this.u_Data[i] = [\n currentNode[0] + dx / distLength * limitedDist,\n currentNode[1] + dy / distLength * limitedDist,\n currentNode[2],\n currentNode[3]\n ];\n }\n }\n}\n",e.fruchtermanBundle='{"shaders":{"WGSL":"","GLSL450":"","GLSL100":"\\n\\nfloat epsilon = 0.00001;\\nvec2 addrTranslation_1Dto2D(float address1D, vec2 texSize) {\\n vec2 conv_const = vec2(1.0 / texSize.x, 1.0 / (texSize.x * texSize.y));\\n vec2 normAddr2D = float(address1D) * conv_const;\\n return vec2(fract(normAddr2D.x + epsilon), normAddr2D.y);\\n}\\n\\nvoid barrier() {}\\n \\n\\nuniform vec2 u_OutputTextureSize;\\nuniform int u_OutputTexelCount;\\nvarying vec2 v_TexCoord;\\n\\nbool gWebGPUDebug = false;\\nvec4 gWebGPUDebugOutput = vec4(0.0);\\n\\n#define MAX_EDGE_PER_VERTEX __DefineValuePlaceholder__MAX_EDGE_PER_VERTEX\\n#define VERTEX_COUNT __DefineValuePlaceholder__VERTEX_COUNT\\n\\nuniform sampler2D u_Data;\\nuniform vec2 u_DataSize;\\nvec4 getDatau_Data(vec2 address2D) {\\n return vec4(texture2D(u_Data, address2D).rgba);\\n}\\nvec4 getDatau_Data(float address1D) {\\n return getDatau_Data(addrTranslation_1Dto2D(address1D, u_DataSize));\\n}\\nvec4 getDatau_Data(int address1D) {\\n return getDatau_Data(float(address1D));\\n}\\nuniform float u_K;\\nuniform float u_K2;\\nuniform vec2 u_Center;\\nuniform float u_Gravity;\\nuniform float u_ClusterGravity;\\nuniform float u_Speed;\\nuniform float u_MaxDisplace;\\nuniform float u_Clustering;\\nuniform sampler2D u_AttributeArray;\\nuniform vec2 u_AttributeArraySize;\\nvec4 getDatau_AttributeArray(vec2 address2D) {\\n return vec4(texture2D(u_AttributeArray, address2D).rgba);\\n}\\nvec4 getDatau_AttributeArray(float address1D) {\\n return getDatau_AttributeArray(addrTranslation_1Dto2D(address1D, u_AttributeArraySize));\\n}\\nvec4 getDatau_AttributeArray(int address1D) {\\n return getDatau_AttributeArray(float(address1D));\\n}\\nuniform sampler2D u_ClusterCenters;\\nuniform vec2 u_ClusterCentersSize;\\nvec4 getDatau_ClusterCenters(vec2 address2D) {\\n return vec4(texture2D(u_ClusterCenters, address2D).rgba);\\n}\\nvec4 getDatau_ClusterCenters(float address1D) {\\n return getDatau_ClusterCenters(addrTranslation_1Dto2D(address1D, u_ClusterCentersSize));\\n}\\nvec4 getDatau_ClusterCenters(int address1D) {\\n return getDatau_ClusterCenters(float(address1D));\\n}\\nvec2 calcRepulsive(int i, vec4 currentNode) {\\nivec3 workGroupSize = ivec3(1, 1, 1);\\nivec3 numWorkGroups = ivec3(1, 1, 1); \\nint globalInvocationIndex = int(floor(v_TexCoord.x * u_OutputTextureSize.x))\\n + int(floor(v_TexCoord.y * u_OutputTextureSize.y)) * int(u_OutputTextureSize.x);\\nint workGroupIDLength = globalInvocationIndex / (workGroupSize.x * workGroupSize.y * workGroupSize.z);\\nivec3 workGroupID = ivec3(workGroupIDLength / numWorkGroups.y / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.y);\\nint localInvocationIDZ = globalInvocationIndex / (workGroupSize.x * workGroupSize.y);\\nint localInvocationIDY = (globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y) / workGroupSize.x;\\nint localInvocationIDX = globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y - localInvocationIDY * workGroupSize.x;\\nivec3 localInvocationID = ivec3(localInvocationIDX, localInvocationIDY, localInvocationIDZ);\\nivec3 globalInvocationID = workGroupID * workGroupSize + localInvocationID;\\nint localInvocationIndex = localInvocationID.z * workGroupSize.x * workGroupSize.y\\n + localInvocationID.y * workGroupSize.x + localInvocationID.x;\\nfloat dx = 0.0;\\nfloat dy = 0.0;\\nfor (int j = 0; j < VERTEX_COUNT; j++) {if (i != j) {vec4 nextNode = getDatau_Data(j);\\nfloat xDist = currentNode.x - nextNode.x;\\nfloat yDist = currentNode.y - nextNode.y;\\nfloat dist = ((xDist * xDist) + (yDist * yDist)) + 0.01;\\nfloat param = u_K2 / dist;\\nif (dist > 0.0) {dx += param * xDist;\\ndy += param * yDist;\\nif ((xDist == 0.0) && (yDist == 0.0)) {float sign = (i < j) ? (1.0) : (-1.0);\\ndx += param * sign;\\ndy += param * sign;}}}}\\nreturn vec2(dx, dy);}\\nvec2 calcGravity(vec4 currentNode, vec4 nodeAttributes) {\\nivec3 workGroupSize = ivec3(1, 1, 1);\\nivec3 numWorkGroups = ivec3(1, 1, 1); \\nint globalInvocationIndex = int(floor(v_TexCoord.x * u_OutputTextureSize.x))\\n + int(floor(v_TexCoord.y * u_OutputTextureSize.y)) * int(u_OutputTextureSize.x);\\nint workGroupIDLength = globalInvocationIndex / (workGroupSize.x * workGroupSize.y * workGroupSize.z);\\nivec3 workGroupID = ivec3(workGroupIDLength / numWorkGroups.y / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.y);\\nint localInvocationIDZ = globalInvocationIndex / (workGroupSize.x * workGroupSize.y);\\nint localInvocationIDY = (globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y) / workGroupSize.x;\\nint localInvocationIDX = globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y - localInvocationIDY * workGroupSize.x;\\nivec3 localInvocationID = ivec3(localInvocationIDX, localInvocationIDY, localInvocationIDZ);\\nivec3 globalInvocationID = workGroupID * workGroupSize + localInvocationID;\\nint localInvocationIndex = localInvocationID.z * workGroupSize.x * workGroupSize.y\\n + localInvocationID.y * workGroupSize.x + localInvocationID.x;\\nfloat dx = 0.0;\\nfloat dy = 0.0;\\nfloat vx = currentNode.x - u_Center.x;\\nfloat vy = currentNode.y - u_Center.y;\\nfloat gf = (0.01 * u_K) * u_Gravity;\\ndx = gf * vx;\\ndy = gf * vy;\\nif (u_Clustering == 1.0) {int clusterIdx = int(nodeAttributes.x);\\nvec4 center = getDatau_ClusterCenters(clusterIdx);\\nfloat cvx = currentNode.x - center.x;\\nfloat cvy = currentNode.y - center.y;\\nfloat dist = sqrt((cvx * cvx) + (cvy * cvy)) + 0.01;\\nfloat parma = (u_K * u_ClusterGravity) / dist;\\ndx += parma * cvx;\\ndy += parma * cvy;}\\nreturn vec2(dx, dy);}\\nvec2 calcAttractive(int i, vec4 currentNode) {\\nivec3 workGroupSize = ivec3(1, 1, 1);\\nivec3 numWorkGroups = ivec3(1, 1, 1); \\nint globalInvocationIndex = int(floor(v_TexCoord.x * u_OutputTextureSize.x))\\n + int(floor(v_TexCoord.y * u_OutputTextureSize.y)) * int(u_OutputTextureSize.x);\\nint workGroupIDLength = globalInvocationIndex / (workGroupSize.x * workGroupSize.y * workGroupSize.z);\\nivec3 workGroupID = ivec3(workGroupIDLength / numWorkGroups.y / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.y);\\nint localInvocationIDZ = globalInvocationIndex / (workGroupSize.x * workGroupSize.y);\\nint localInvocationIDY = (globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y) / workGroupSize.x;\\nint localInvocationIDX = globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y - localInvocationIDY * workGroupSize.x;\\nivec3 localInvocationID = ivec3(localInvocationIDX, localInvocationIDY, localInvocationIDZ);\\nivec3 globalInvocationID = workGroupID * workGroupSize + localInvocationID;\\nint localInvocationIndex = localInvocationID.z * workGroupSize.x * workGroupSize.y\\n + localInvocationID.y * workGroupSize.x + localInvocationID.x;\\nfloat dx = 0.0;\\nfloat dy = 0.0;\\nint arr_offset = int(floor(currentNode.z + 0.5));\\nint length = int(floor(currentNode.w + 0.5));\\nvec4 node_buffer;\\nfor (int p = 0; p < MAX_EDGE_PER_VERTEX; p++) {if (p >= length) {break;}\\nint arr_idx = arr_offset + int(p);\\nint buf_offset = arr_idx - ((arr_idx / 4) * 4);\\nif ((p == 0) || (buf_offset == 0)) {node_buffer = getDatau_Data(int(arr_idx / 4));}\\nfloat float_j = (buf_offset == 0) ? (node_buffer.x) : ((buf_offset == 1) ? (node_buffer.y) : ((buf_offset == 2) ? (node_buffer.z) : (node_buffer.w)));\\nvec4 nextNode = getDatau_Data(int(float_j));\\nfloat xDist = currentNode.x - nextNode.x;\\nfloat yDist = currentNode.y - nextNode.y;\\nfloat dist = sqrt((xDist * xDist) + (yDist * yDist)) + 0.01;\\nfloat attractiveF = dist / u_K;\\nif (dist > 0.0) {dx -= xDist * attractiveF;\\ndy -= yDist * attractiveF;\\nif ((xDist == 0.0) && (yDist == 0.0)) {float sign = (i < int(float_j)) ? (1.0) : (-1.0);\\ndx -= sign * attractiveF;\\ndy -= sign * attractiveF;}}}\\nreturn vec2(dx, dy);}\\nvoid main() {\\nivec3 workGroupSize = ivec3(1, 1, 1);\\nivec3 numWorkGroups = ivec3(1, 1, 1); \\nint globalInvocationIndex = int(floor(v_TexCoord.x * u_OutputTextureSize.x))\\n + int(floor(v_TexCoord.y * u_OutputTextureSize.y)) * int(u_OutputTextureSize.x);\\nint workGroupIDLength = globalInvocationIndex / (workGroupSize.x * workGroupSize.y * workGroupSize.z);\\nivec3 workGroupID = ivec3(workGroupIDLength / numWorkGroups.y / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.y);\\nint localInvocationIDZ = globalInvocationIndex / (workGroupSize.x * workGroupSize.y);\\nint localInvocationIDY = (globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y) / workGroupSize.x;\\nint localInvocationIDX = globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y - localInvocationIDY * workGroupSize.x;\\nivec3 localInvocationID = ivec3(localInvocationIDX, localInvocationIDY, localInvocationIDZ);\\nivec3 globalInvocationID = workGroupID * workGroupSize + localInvocationID;\\nint localInvocationIndex = localInvocationID.z * workGroupSize.x * workGroupSize.y\\n + localInvocationID.y * workGroupSize.x + localInvocationID.x;\\nint i = globalInvocationID.x;\\nvec4 currentNode = getDatau_Data(i);\\nfloat dx = 0.0;\\nfloat dy = 0.0;\\nif (i >= VERTEX_COUNT) {gl_FragColor = vec4(currentNode);\\nreturn ;}\\nvec4 nodeAttributes = getDatau_AttributeArray(i);\\nif ((nodeAttributes.y != 0.0) && (nodeAttributes.z != 0.0)) {gl_FragColor = vec4(vec4(nodeAttributes.y, nodeAttributes.z, currentNode.z, currentNode.w));\\nreturn ;}\\nvec2 repulsive = calcRepulsive(i, currentNode);\\ndx += repulsive.x;\\ndy += repulsive.y;\\nvec2 attractive = calcAttractive(i, currentNode);\\ndx += attractive.x;\\ndy += attractive.y;\\nvec2 gravity = calcGravity(currentNode, nodeAttributes);\\ndx -= gravity.x;\\ndy -= gravity.y;\\ndx *= u_Speed;\\ndy *= u_Speed;\\nfloat distLength = sqrt((dx * dx) + (dy * dy));\\nif (distLength > 0.0) {float limitedDist = min(u_MaxDisplace * u_Speed, distLength);\\ngl_FragColor = vec4(vec4(currentNode.x + ((dx / distLength) * limitedDist), currentNode.y + ((dy / distLength) * limitedDist), currentNode.z, currentNode.w));}if (gWebGPUDebug) {\\n gl_FragColor = gWebGPUDebugOutput;\\n}}\\n"},"context":{"name":"","dispatch":[1,1,1],"threadGroupSize":[1,1,1],"maxIteration":1,"defines":[{"name":"MAX_EDGE_PER_VERTEX","type":"Float","runtime":true},{"name":"VERTEX_COUNT","type":"Float","runtime":true}],"uniforms":[{"name":"u_Data","type":"vec4<f32>[]","storageClass":"StorageBuffer","readonly":false,"writeonly":false,"size":[1,1]},{"name":"u_K","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_K2","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_Center","type":"vec2<f32>","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_Gravity","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_ClusterGravity","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_Speed","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_MaxDisplace","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_Clustering","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_AttributeArray","type":"vec4<f32>[]","storageClass":"StorageBuffer","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_ClusterCenters","type":"vec4<f32>[]","storageClass":"StorageBuffer","readonly":true,"writeonly":false,"size":[1,1]}],"globalDeclarations":[],"output":{"name":"u_Data","size":[1,1],"length":1},"needPingpong":true}}',e.clusterCode="\nimport { globalInvocationID } from 'g-webgpu';\nconst VERTEX_COUNT;\nconst CLUSTER_COUNT;\n@numthreads(1, 1, 1)\nclass CalcCenter {\n @in\n u_Data: vec4[];\n @in\n u_NodeAttributes: vec4[]; // [[clusterIdx, 0, 0, 0], ...]\n @in @out\n u_ClusterCenters: vec4[]; // [[cx, cy, nodeCount, clusterIdx], ...]\n @main\n compute() {\n const i = globalInvocationID.x;\n const center = this.u_ClusterCenters[i];\n let sumx = 0;\n let sumy = 0;\n let count = 0;\n for (let j = 0; j < VERTEX_COUNT; j++) {\n const attributes = this.u_NodeAttributes[j];\n const clusterIdx = int(attributes[0]);\n const vertex = this.u_Data[j];\n if (clusterIdx == i) {\n sumx += vertex.x;\n sumy += vertex.y;\n count += 1;\n }\n }\n this.u_ClusterCenters[i] = [\n sumx / count,\n sumy / count,\n count,\n i\n ];\n }\n}\n",e.clusterBundle='{"shaders":{"WGSL":"","GLSL450":"","GLSL100":"\\n\\nfloat epsilon = 0.00001;\\nvec2 addrTranslation_1Dto2D(float address1D, vec2 texSize) {\\n vec2 conv_const = vec2(1.0 / texSize.x, 1.0 / (texSize.x * texSize.y));\\n vec2 normAddr2D = float(address1D) * conv_const;\\n return vec2(fract(normAddr2D.x + epsilon), normAddr2D.y);\\n}\\n\\nvoid barrier() {}\\n \\n\\nuniform vec2 u_OutputTextureSize;\\nuniform int u_OutputTexelCount;\\nvarying vec2 v_TexCoord;\\n\\nbool gWebGPUDebug = false;\\nvec4 gWebGPUDebugOutput = vec4(0.0);\\n\\n#define VERTEX_COUNT __DefineValuePlaceholder__VERTEX_COUNT\\n#define CLUSTER_COUNT __DefineValuePlaceholder__CLUSTER_COUNT\\n\\nuniform sampler2D u_Data;\\nuniform vec2 u_DataSize;\\nvec4 getDatau_Data(vec2 address2D) {\\n return vec4(texture2D(u_Data, address2D).rgba);\\n}\\nvec4 getDatau_Data(float address1D) {\\n return getDatau_Data(addrTranslation_1Dto2D(address1D, u_DataSize));\\n}\\nvec4 getDatau_Data(int address1D) {\\n return getDatau_Data(float(address1D));\\n}\\nuniform sampler2D u_NodeAttributes;\\nuniform vec2 u_NodeAttributesSize;\\nvec4 getDatau_NodeAttributes(vec2 address2D) {\\n return vec4(texture2D(u_NodeAttributes, address2D).rgba);\\n}\\nvec4 getDatau_NodeAttributes(float address1D) {\\n return getDatau_NodeAttributes(addrTranslation_1Dto2D(address1D, u_NodeAttributesSize));\\n}\\nvec4 getDatau_NodeAttributes(int address1D) {\\n return getDatau_NodeAttributes(float(address1D));\\n}\\nuniform sampler2D u_ClusterCenters;\\nuniform vec2 u_ClusterCentersSize;\\nvec4 getDatau_ClusterCenters(vec2 address2D) {\\n return vec4(texture2D(u_ClusterCenters, address2D).rgba);\\n}\\nvec4 getDatau_ClusterCenters(float address1D) {\\n return getDatau_ClusterCenters(addrTranslation_1Dto2D(address1D, u_ClusterCentersSize));\\n}\\nvec4 getDatau_ClusterCenters(int address1D) {\\n return getDatau_ClusterCenters(float(address1D));\\n}\\nvoid main() {\\nivec3 workGroupSize = ivec3(1, 1, 1);\\nivec3 numWorkGroups = ivec3(1, 1, 1); \\nint globalInvocationIndex = int(floor(v_TexCoord.x * u_OutputTextureSize.x))\\n + int(floor(v_TexCoord.y * u_OutputTextureSize.y)) * int(u_OutputTextureSize.x);\\nint workGroupIDLength = globalInvocationIndex / (workGroupSize.x * workGroupSize.y * workGroupSize.z);\\nivec3 workGroupID = ivec3(workGroupIDLength / numWorkGroups.y / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.y);\\nint localInvocationIDZ = globalInvocationIndex / (workGroupSize.x * workGroupSize.y);\\nint localInvocationIDY = (globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y) / workGroupSize.x;\\nint localInvocationIDX = globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y - localInvocationIDY * workGroupSize.x;\\nivec3 localInvocationID = ivec3(localInvocationIDX, localInvocationIDY, localInvocationIDZ);\\nivec3 globalInvocationID = workGroupID * workGroupSize + localInvocationID;\\nint localInvocationIndex = localInvocationID.z * workGroupSize.x * workGroupSize.y\\n + localInvocationID.y * workGroupSize.x + localInvocationID.x;\\nint i = globalInvocationID.x;\\nvec4 center = getDatau_ClusterCenters(i);\\nfloat sumx = 0.0;\\nfloat sumy = 0.0;\\nfloat count = 0.0;\\nfor (int j = 0; j < VERTEX_COUNT; j++) {vec4 attributes = getDatau_NodeAttributes(j);\\nint clusterIdx = int(attributes.x);\\nvec4 vertex = getDatau_Data(j);\\nif (clusterIdx == i) {sumx += vertex.x;\\nsumy += vertex.y;\\ncount += 1.0;}}\\ngl_FragColor = vec4(vec4(sumx / count, sumy / count, count, i));if (gWebGPUDebug) {\\n gl_FragColor = gWebGPUDebugOutput;\\n}}\\n"},"context":{"name":"","dispatch":[1,1,1],"threadGroupSize":[1,1,1],"maxIteration":1,"defines":[{"name":"VERTEX_COUNT","type":"Float","runtime":true},{"name":"CLUSTER_COUNT","type":"Float","runtime":true}],"uniforms":[{"name":"u_Data","type":"vec4<f32>[]","storageClass":"StorageBuffer","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_NodeAttributes","type":"vec4<f32>[]","storageClass":"StorageBuffer","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_ClusterCenters","type":"vec4<f32>[]","storageClass":"StorageBuffer","readonly":false,"writeonly":false,"size":[1,1]}],"globalDeclarations":[],"output":{"name":"u_ClusterCenters","size":[1,1],"length":1},"needPingpong":true}}'},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.aveMovementBundle=e.aveMovementCode=e.gForceBundle=e.gForceCode=void 0,e.gForceCode="\nimport { globalInvocationID } from 'g-webgpu';\n\nconst MAX_EDGE_PER_VERTEX;\nconst VERTEX_COUNT;\nconst SHIFT_20 = 1048576;\n\n@numthreads(1, 1, 1)\nclass GGForce {\n @in @out\n u_Data: vec4[];\n\n @in\n u_damping: float;\n \n @in\n u_maxSpeed: float;\n\n @in\n u_minMovement: float;\n\n @in\n u_AveMovement: vec4[];\n\n @in\n u_coulombDisScale: float;\n\n @in\n u_factor: float;\n\n @in\n u_NodeAttributeArray1: vec4[];\n\n @in\n u_NodeAttributeArray2: vec4[];\n\n @in\n u_interval: float;\n\n unpack_float(packedValue: float): ivec2 {\n const packedIntValue = int(packedValue);\n const v0 = packedIntValue / SHIFT_20;\n return [v0, packedIntValue - v0 * SHIFT_20];\n }\n\n calcRepulsive(i: int, currentNode: vec4): vec2 {\n let ax = 0, ay = 0;\n for (let j: int = 0; j < VERTEX_COUNT; j++) {\n if (i != j) {\n const nextNode = this.u_Data[j];\n const vx = currentNode[0] - nextNode[0];\n const vy = currentNode[1] - nextNode[1];\n const dist = sqrt(vx * vx + vy * vy) + 0.01;\n const n_dist = (dist + 0.1) * this.u_coulombDisScale;\n const direx = vx / dist;\n const direy = vy / dist;\n const attributesi = this.u_NodeAttributeArray1[i];\n const attributesj = this.u_NodeAttributeArray1[j];\n const massi = attributesi[0];\n const nodeStrengthi = attributesi[2];\n const nodeStrengthj = attributesj[2];\n const nodeStrength = (nodeStrengthi + nodeStrengthj) / 2;\n // const param = nodeStrength * this.u_factor / (n_dist * n_dist * massi);\n const param = nodeStrength * this.u_factor / (n_dist * n_dist);\n ax += direx * param;\n ay += direy * param;\n }\n }\n return [ax, ay];\n }\n\n calcGravity(i: int, currentNode: vec4, attributes2: vec4): vec2 {\n // note: attributes2 = [centerX, centerY, gravity, 0]\n\n const vx = currentNode[0] - attributes2[0];\n const vy = currentNode[1] - attributes2[1];\n \n const ax = vx * attributes2[2];\n const ay = vy * attributes2[2];\n \n return [ax, ay];\n }\n\n calcAttractive(i: int, currentNode: vec4, attributes1: vec4): vec2 {\n // note: attributes1 = [mass, degree, nodeSterngth, 0]\n\n const mass = attributes1[0];\n let ax = 0, ay = 0;\n // const arr_offset = int(floor(currentNode[2] + 0.5));\n // const length = int(floor(currentNode[3] + 0.5));\n\n const compressed = this.unpack_float(currentNode[2]);\n const length = compressed[0];\n const arr_offset = compressed[1];\n\n const node_buffer: vec4;\n for (let p: int = 0; p < MAX_EDGE_PER_VERTEX; p++) {\n if (p >= length) break;\n const arr_idx = arr_offset + 4 * p; // i 节点的第 p 条边开始的小格子位置\n const buf_offset = arr_idx - arr_idx / 4 * 4;\n if (p == 0 || buf_offset == 0) {\n node_buffer = this.u_Data[int(arr_idx / 4)]; // 大格子,大格子位置=小个子位置 / 4,\n }\n\n let float_j: float = node_buffer[0];\n\n const nextNode = this.u_Data[int(float_j)];\n const vx = nextNode[0] - currentNode[0];\n const vy = nextNode[1] - currentNode[1];\n const dist = sqrt(vx * vx + vy * vy) + 0.01;\n const direx = vx / dist;\n const direy = vy / dist;\n const edgeLength = node_buffer[1];\n const edgeStrength = node_buffer[2];\n const diff: float = edgeLength - dist;//edgeLength\n // const param = diff * this.u_stiffness / mass; //\n const param = diff * edgeStrength / mass; // \n ax -= direx * param;\n ay -= direy * param;\n }\n return [ax, ay];\n }\n\n @main\n compute() {\n const i = globalInvocationID.x;\n const currentNode = this.u_Data[i];\n const movement = u_AveMovement[0];\n let ax = 0, ay = 0;\n\n if (i >= VERTEX_COUNT || movement.x < u_minMovement) {\n this.u_Data[i] = currentNode;\n return;\n }\n\n // 每个节点属性占两个数组中各一格\n // [mass, degree, nodeStrength, fx]\n const nodeAttributes1 = this.u_NodeAttributeArray1[i];\n // [centerX, centerY, centerGravity, fy]\n const nodeAttributes2 = this.u_NodeAttributeArray2[i];\n\n // repulsive\n const repulsive = this.calcRepulsive(i, currentNode);\n ax += repulsive[0];\n ay += repulsive[1];\n\n // attractive\n const attractive = this.calcAttractive(i, currentNode, nodeAttributes1);\n ax += attractive[0];\n ay += attractive[1];\n\n // gravity\n const gravity = this.calcGravity(i, currentNode, nodeAttributes2);\n ax -= gravity[0];\n ay -= gravity[1];\n\n // speed\n const param = this.u_interval * this.u_damping;\n let vx = ax * param;\n let vy = ay * param;\n const vlength = sqrt(vx * vx + vy * vy) + 0.0001;\n if (vlength > this.u_maxSpeed) {\n const param2 = this.u_maxSpeed / vlength;\n vx = param2 * vx;\n vy = param2 * vy;\n }\n\n // move\n if (nodeAttributes1[3] != 0 && nodeAttributes2[3] != 0) {\n this.u_Data[i] = [\n nodeAttributes1[3],\n nodeAttributes2[3],\n currentNode[2],\n 0\n ];\n } else {\n const distx = vx * this.u_interval;\n const disty = vy * this.u_interval;\n const distLength = sqrt(distx * distx + disty * disty);\n this.u_Data[i] = [\n currentNode[0] + distx,\n currentNode[1] + disty,\n currentNode[2],\n distLength\n ];\n }\n \n // the avarage move distance\n // need to share memory\n \n }\n}\n",e.gForceBundle='{"shaders":{"WGSL":"","GLSL450":"","GLSL100":"\\n\\nfloat epsilon = 0.00001;\\nvec2 addrTranslation_1Dto2D(float address1D, vec2 texSize) {\\n vec2 conv_const = vec2(1.0 / texSize.x, 1.0 / (texSize.x * texSize.y));\\n vec2 normAddr2D = float(address1D) * conv_const;\\n return vec2(fract(normAddr2D.x + epsilon), normAddr2D.y);\\n}\\n\\nvoid barrier() {}\\n \\n\\nuniform vec2 u_OutputTextureSize;\\nuniform int u_OutputTexelCount;\\nvarying vec2 v_TexCoord;\\n\\nbool gWebGPUDebug = false;\\nvec4 gWebGPUDebugOutput = vec4(0.0);\\n\\n#define MAX_EDGE_PER_VERTEX __DefineValuePlaceholder__MAX_EDGE_PER_VERTEX\\n#define VERTEX_COUNT __DefineValuePlaceholder__VERTEX_COUNT\\n#define SHIFT_20 1048576.0\\n\\nuniform sampler2D u_Data;\\nuniform vec2 u_DataSize;\\nvec4 getDatau_Data(vec2 address2D) {\\n return vec4(texture2D(u_Data, address2D).rgba);\\n}\\nvec4 getDatau_Data(float address1D) {\\n return getDatau_Data(addrTranslation_1Dto2D(address1D, u_DataSize));\\n}\\nvec4 getDatau_Data(int address1D) {\\n return getDatau_Data(float(address1D));\\n}\\nuniform float u_damping;\\nuniform float u_maxSpeed;\\nuniform float u_minMovement;\\nuniform sampler2D u_AveMovement;\\nuniform vec2 u_AveMovementSize;\\nvec4 getDatau_AveMovement(vec2 address2D) {\\n return vec4(texture2D(u_AveMovement, address2D).rgba);\\n}\\nvec4 getDatau_AveMovement(float address1D) {\\n return getDatau_AveMovement(addrTranslation_1Dto2D(address1D, u_AveMovementSize));\\n}\\nvec4 getDatau_AveMovement(int address1D) {\\n return getDatau_AveMovement(float(address1D));\\n}\\nuniform float u_coulombDisScale;\\nuniform float u_factor;\\nuniform sampler2D u_NodeAttributeArray1;\\nuniform vec2 u_NodeAttributeArray1Size;\\nvec4 getDatau_NodeAttributeArray1(vec2 address2D) {\\n return vec4(texture2D(u_NodeAttributeArray1, address2D).rgba);\\n}\\nvec4 getDatau_NodeAttributeArray1(float address1D) {\\n return getDatau_NodeAttributeArray1(addrTranslation_1Dto2D(address1D, u_NodeAttributeArray1Size));\\n}\\nvec4 getDatau_NodeAttributeArray1(int address1D) {\\n return getDatau_NodeAttributeArray1(float(address1D));\\n}\\nuniform sampler2D u_NodeAttributeArray2;\\nuniform vec2 u_NodeAttributeArray2Size;\\nvec4 getDatau_NodeAttributeArray2(vec2 address2D) {\\n return vec4(texture2D(u_NodeAttributeArray2, address2D).rgba);\\n}\\nvec4 getDatau_NodeAttributeArray2(float address1D) {\\n return getDatau_NodeAttributeArray2(addrTranslation_1Dto2D(address1D, u_NodeAttributeArray2Size));\\n}\\nvec4 getDatau_NodeAttributeArray2(int address1D) {\\n return getDatau_NodeAttributeArray2(float(address1D));\\n}\\nuniform float u_interval;\\nivec2 unpack_float(float packedValue) {\\nivec3 workGroupSize = ivec3(1, 1, 1);\\nivec3 numWorkGroups = ivec3(1, 1, 1); \\nint globalInvocationIndex = int(floor(v_TexCoord.x * u_OutputTextureSize.x))\\n + int(floor(v_TexCoord.y * u_OutputTextureSize.y)) * int(u_OutputTextureSize.x);\\nint workGroupIDLength = globalInvocationIndex / (workGroupSize.x * workGroupSize.y * workGroupSize.z);\\nivec3 workGroupID = ivec3(workGroupIDLength / numWorkGroups.y / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.y);\\nint localInvocationIDZ = globalInvocationIndex / (workGroupSize.x * workGroupSize.y);\\nint localInvocationIDY = (globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y) / workGroupSize.x;\\nint localInvocationIDX = globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y - localInvocationIDY * workGroupSize.x;\\nivec3 localInvocationID = ivec3(localInvocationIDX, localInvocationIDY, localInvocationIDZ);\\nivec3 globalInvocationID = workGroupID * workGroupSize + localInvocationID;\\nint localInvocationIndex = localInvocationID.z * workGroupSize.x * workGroupSize.y\\n + localInvocationID.y * workGroupSize.x + localInvocationID.x;\\nint packedIntValue = int(packedValue);\\nint v0 = packedIntValue / int(SHIFT_20);\\nreturn ivec2(v0, packedIntValue - (v0 * int(SHIFT_20)));}\\nvec2 calcRepulsive(int i, vec4 currentNode) {\\nivec3 workGroupSize = ivec3(1, 1, 1);\\nivec3 numWorkGroups = ivec3(1, 1, 1); \\nint globalInvocationIndex = int(floor(v_TexCoord.x * u_OutputTextureSize.x))\\n + int(floor(v_TexCoord.y * u_OutputTextureSize.y)) * int(u_OutputTextureSize.x);\\nint workGroupIDLength = globalInvocationIndex / (workGroupSize.x * workGroupSize.y * workGroupSize.z);\\nivec3 workGroupID = ivec3(workGroupIDLength / numWorkGroups.y / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.y);\\nint localInvocationIDZ = globalInvocationIndex / (workGroupSize.x * workGroupSize.y);\\nint localInvocationIDY = (globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y) / workGroupSize.x;\\nint localInvocationIDX = globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y - localInvocationIDY * workGroupSize.x;\\nivec3 localInvocationID = ivec3(localInvocationIDX, localInvocationIDY, localInvocationIDZ);\\nivec3 globalInvocationID = workGroupID * workGroupSize + localInvocationID;\\nint localInvocationIndex = localInvocationID.z * workGroupSize.x * workGroupSize.y\\n + localInvocationID.y * workGroupSize.x + localInvocationID.x;\\nfloat ax = 0.0;\\nfloat ay = 0.0;\\nfor (int j = 0; j < VERTEX_COUNT; j++) {if (i != j) {vec4 nextNode = getDatau_Data(j);\\nfloat vx = currentNode.x - nextNode.x;\\nfloat vy = currentNode.y - nextNode.y;\\nfloat dist = sqrt((vx * vx) + (vy * vy)) + 0.01;\\nfloat n_dist = (dist + 0.1) * u_coulombDisScale;\\nfloat direx = vx / dist;\\nfloat direy = vy / dist;\\nvec4 attributesi = getDatau_NodeAttributeArray1(i);\\nvec4 attributesj = getDatau_NodeAttributeArray1(j);\\nfloat massi = attributesi.x;\\nfloat nodeStrengthi = attributesi.z;\\nfloat nodeStrengthj = attributesj.z;\\nfloat nodeStrength = (nodeStrengthi + nodeStrengthj) / 2.0;\\nfloat param = (nodeStrength * u_factor) / (n_dist * n_dist);\\nax += direx * param;\\nay += direy * param;}}\\nreturn vec2(ax, ay);}\\nvec2 calcGravity(int i, vec4 currentNode, vec4 attributes2) {\\nivec3 workGroupSize = ivec3(1, 1, 1);\\nivec3 numWorkGroups = ivec3(1, 1, 1); \\nint globalInvocationIndex = int(floor(v_TexCoord.x * u_OutputTextureSize.x))\\n + int(floor(v_TexCoord.y * u_OutputTextureSize.y)) * int(u_OutputTextureSize.x);\\nint workGroupIDLength = globalInvocationIndex / (workGroupSize.x * workGroupSize.y * workGroupSize.z);\\nivec3 workGroupID = ivec3(workGroupIDLength / numWorkGroups.y / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.y);\\nint localInvocationIDZ = globalInvocationIndex / (workGroupSize.x * workGroupSize.y);\\nint localInvocationIDY = (globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y) / workGroupSize.x;\\nint localInvocationIDX = globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y - localInvocationIDY * workGroupSize.x;\\nivec3 localInvocationID = ivec3(localInvocationIDX, localInvocationIDY, localInvocationIDZ);\\nivec3 globalInvocationID = workGroupID * workGroupSize + localInvocationID;\\nint localInvocationIndex = localInvocationID.z * workGroupSize.x * workGroupSize.y\\n + localInvocationID.y * workGroupSize.x + localInvocationID.x;\\nfloat vx = currentNode.x - attributes2.x;\\nfloat vy = currentNode.y - attributes2.y;\\nfloat ax = vx * attributes2.z;\\nfloat ay = vy * attributes2.z;\\nreturn vec2(ax, ay);}\\nvec2 calcAttractive(int i, vec4 currentNode, vec4 attributes1) {\\nivec3 workGroupSize = ivec3(1, 1, 1);\\nivec3 numWorkGroups = ivec3(1, 1, 1); \\nint globalInvocationIndex = int(floor(v_TexCoord.x * u_OutputTextureSize.x))\\n + int(floor(v_TexCoord.y * u_OutputTextureSize.y)) * int(u_OutputTextureSize.x);\\nint workGroupIDLength = globalInvocationIndex / (workGroupSize.x * workGroupSize.y * workGroupSize.z);\\nivec3 workGroupID = ivec3(workGroupIDLength / numWorkGroups.y / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.y);\\nint localInvocationIDZ = globalInvocationIndex / (workGroupSize.x * workGroupSize.y);\\nint localInvocationIDY = (globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y) / workGroupSize.x;\\nint localInvocationIDX = globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y - localInvocationIDY * workGroupSize.x;\\nivec3 localInvocationID = ivec3(localInvocationIDX, localInvocationIDY, localInvocationIDZ);\\nivec3 globalInvocationID = workGroupID * workGroupSize + localInvocationID;\\nint localInvocationIndex = localInvocationID.z * workGroupSize.x * workGroupSize.y\\n + localInvocationID.y * workGroupSize.x + localInvocationID.x;\\nfloat mass = attributes1.x;\\nfloat ax = 0.0;\\nfloat ay = 0.0;\\nivec2 compressed = unpack_float(currentNode.z);\\nint length = compressed.x;\\nint arr_offset = compressed.y;\\nvec4 node_buffer;\\nfor (int p = 0; p < MAX_EDGE_PER_VERTEX; p++) {if (p >= length) {break;}\\nint arr_idx = arr_offset + (4 * p);\\nint buf_offset = arr_idx - ((arr_idx / 4) * 4);\\nif ((p == 0) || (buf_offset == 0)) {node_buffer = getDatau_Data(int(arr_idx / 4));}\\nfloat float_j = node_buffer.x;\\nvec4 nextNode = getDatau_Data(int(float_j));\\nfloat vx = nextNode.x - currentNode.x;\\nfloat vy = nextNode.y - currentNode.y;\\nfloat dist = sqrt((vx * vx) + (vy * vy)) + 0.01;\\nfloat direx = vx / dist;\\nfloat direy = vy / dist;\\nfloat edgeLength = node_buffer.y;\\nfloat edgeStrength = node_buffer.z;\\nfloat diff = edgeLength - dist;\\nfloat param = (diff * edgeStrength) / mass;\\nax -= direx * param;\\nay -= direy * param;}\\nreturn vec2(ax, ay);}\\nvoid main() {\\nivec3 workGroupSize = ivec3(1, 1, 1);\\nivec3 numWorkGroups = ivec3(1, 1, 1); \\nint globalInvocationIndex = int(floor(v_TexCoord.x * u_OutputTextureSize.x))\\n + int(floor(v_TexCoord.y * u_OutputTextureSize.y)) * int(u_OutputTextureSize.x);\\nint workGroupIDLength = globalInvocationIndex / (workGroupSize.x * workGroupSize.y * workGroupSize.z);\\nivec3 workGroupID = ivec3(workGroupIDLength / numWorkGroups.y / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.y);\\nint localInvocationIDZ = globalInvocationIndex / (workGroupSize.x * workGroupSize.y);\\nint localInvocationIDY = (globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y) / workGroupSize.x;\\nint localInvocationIDX = globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y - localInvocationIDY * workGroupSize.x;\\nivec3 localInvocationID = ivec3(localInvocationIDX, localInvocationIDY, localInvocationIDZ);\\nivec3 globalInvocationID = workGroupID * workGroupSize + localInvocationID;\\nint localInvocationIndex = localInvocationID.z * workGroupSize.x * workGroupSize.y\\n + localInvocationID.y * workGroupSize.x + localInvocationID.x;\\nint i = globalInvocationID.x;\\nvec4 currentNode = getDatau_Data(i);\\nvec4 movement = getDatau_AveMovement(0.0);\\nfloat ax = 0.0;\\nfloat ay = 0.0;\\nif ((i >= VERTEX_COUNT) || (movement.x < u_minMovement)) {gl_FragColor = vec4(currentNode);\\nreturn ;}\\nvec4 nodeAttributes1 = getDatau_NodeAttributeArray1(i);\\nvec4 nodeAttributes2 = getDatau_NodeAttributeArray2(i);\\nvec2 repulsive = calcRepulsive(i, currentNode);\\nax += repulsive.x;\\nay += repulsive.y;\\nvec2 attractive = calcAttractive(i, currentNode, nodeAttributes1);\\nax += attractive.x;\\nay += attractive.y;\\nvec2 gravity = calcGravity(i, currentNode, nodeAttributes2);\\nax -= gravity.x;\\nay -= gravity.y;\\nfloat param = u_interval * u_damping;\\nfloat vx = ax * param;\\nfloat vy = ay * param;\\nfloat vlength = sqrt((vx * vx) + (vy * vy)) + 0.0001;\\nif (vlength > u_maxSpeed) {float param2 = u_maxSpeed / vlength;\\nvx = param2 * vx;\\nvy = param2 * vy;}\\nif ((nodeAttributes1.w != 0.0) && (nodeAttributes2.w != 0.0)) {gl_FragColor = vec4(vec4(nodeAttributes1.w, nodeAttributes2.w, currentNode.z, 0.0));}else {float distx = vx * u_interval;\\nfloat disty = vy * u_interval;\\nfloat distLength = sqrt((distx * distx) + (disty * disty));\\ngl_FragColor = vec4(vec4(currentNode.x + distx, currentNode.y + disty, currentNode.z, distLength));}if (gWebGPUDebug) {\\n gl_FragColor = gWebGPUDebugOutput;\\n}}\\n"},"context":{"name":"","dispatch":[1,1,1],"threadGroupSize":[1,1,1],"maxIteration":1,"defines":[{"name":"MAX_EDGE_PER_VERTEX","type":"Float","runtime":true},{"name":"VERTEX_COUNT","type":"Float","runtime":true},{"name":"SHIFT_20","type":"Float","value":1048576,"runtime":false}],"uniforms":[{"name":"u_Data","type":"vec4<f32>[]","storageClass":"StorageBuffer","readonly":false,"writeonly":false,"size":[1,1]},{"name":"u_damping","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_maxSpeed","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_minMovement","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_AveMovement","type":"vec4<f32>[]","storageClass":"StorageBuffer","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_coulombDisScale","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_factor","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_NodeAttributeArray1","type":"vec4<f32>[]","storageClass":"StorageBuffer","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_NodeAttributeArray2","type":"vec4<f32>[]","storageClass":"StorageBuffer","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_interval","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]}],"globalDeclarations":[],"output":{"name":"u_Data","size":[1,1],"length":1},"needPingpong":true}}',e.aveMovementCode="\nconst VERTEX_COUNT;\n@numthreads(1, 1, 1)\nclass CalcAveMovement {\n @in\n u_Data: vec4[];\n @in\n u_iter: float;\n @in @out\n u_AveMovement: vec4[];\n @main\n compute() {\n let movement = 0;\n for (let j: int = 0; j < VERTEX_COUNT; j++) {\n const vertex = this.u_Data[j];\n movement += vertex[3];\n }\n movement = movement / float(VERTEX_COUNT);\n this.u_AveMovement[0] = [movement, 0, 0, 0];\n }\n}\n",e.aveMovementBundle='{"shaders":{"WGSL":"","GLSL450":"","GLSL100":"\\n\\nfloat epsilon = 0.00001;\\nvec2 addrTranslation_1Dto2D(float address1D, vec2 texSize) {\\n vec2 conv_const = vec2(1.0 / texSize.x, 1.0 / (texSize.x * texSize.y));\\n vec2 normAddr2D = float(address1D) * conv_const;\\n return vec2(fract(normAddr2D.x + epsilon), normAddr2D.y);\\n}\\n\\nvoid barrier() {}\\n \\n\\nuniform vec2 u_OutputTextureSize;\\nuniform int u_OutputTexelCount;\\nvarying vec2 v_TexCoord;\\n\\nbool gWebGPUDebug = false;\\nvec4 gWebGPUDebugOutput = vec4(0.0);\\n\\n#define VERTEX_COUNT __DefineValuePlaceholder__VERTEX_COUNT\\n\\nuniform sampler2D u_Data;\\nuniform vec2 u_DataSize;\\nvec4 getDatau_Data(vec2 address2D) {\\n return vec4(texture2D(u_Data, address2D).rgba);\\n}\\nvec4 getDatau_Data(float address1D) {\\n return getDatau_Data(addrTranslation_1Dto2D(address1D, u_DataSize));\\n}\\nvec4 getDatau_Data(int address1D) {\\n return getDatau_Data(float(address1D));\\n}\\nuniform float u_iter;\\nuniform sampler2D u_AveMovement;\\nuniform vec2 u_AveMovementSize;\\nvec4 getDatau_AveMovement(vec2 address2D) {\\n return vec4(texture2D(u_AveMovement, address2D).rgba);\\n}\\nvec4 getDatau_AveMovement(float address1D) {\\n return getDatau_AveMovement(addrTranslation_1Dto2D(address1D, u_AveMovementSize));\\n}\\nvec4 getDatau_AveMovement(int address1D) {\\n return getDatau_AveMovement(float(address1D));\\n}\\nvoid main() {\\nivec3 workGroupSize = ivec3(1, 1, 1);\\nivec3 numWorkGroups = ivec3(1, 1, 1); \\nint globalInvocationIndex = int(floor(v_TexCoord.x * u_OutputTextureSize.x))\\n + int(floor(v_TexCoord.y * u_OutputTextureSize.y)) * int(u_OutputTextureSize.x);\\nint workGroupIDLength = globalInvocationIndex / (workGroupSize.x * workGroupSize.y * workGroupSize.z);\\nivec3 workGroupID = ivec3(workGroupIDLength / numWorkGroups.y / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.y);\\nint localInvocationIDZ = globalInvocationIndex / (workGroupSize.x * workGroupSize.y);\\nint localInvocationIDY = (globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y) / workGroupSize.x;\\nint localInvocationIDX = globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y - localInvocationIDY * workGroupSize.x;\\nivec3 localInvocationID = ivec3(localInvocationIDX, localInvocationIDY, localInvocationIDZ);\\nivec3 globalInvocationID = workGroupID * workGroupSize + localInvocationID;\\nint localInvocationIndex = localInvocationID.z * workGroupSize.x * workGroupSize.y\\n + localInvocationID.y * workGroupSize.x + localInvocationID.x;\\nfloat movement = 0.0;\\nfor (int j = 0; j < VERTEX_COUNT; j++) {vec4 vertex = getDatau_Data(j);\\nmovement += vertex.w;}\\nmovement = movement / float(VERTEX_COUNT);\\ngl_FragColor = vec4(vec4(movement, 0.0, 0.0, 0.0));if (gWebGPUDebug) {\\n gl_FragColor = gWebGPUDebugOutput;\\n}}\\n"},"context":{"name":"","dispatch":[1,1,1],"threadGroupSize":[1,1,1],"maxIteration":1,"defines":[{"name":"VERTEX_COUNT","type":"Float","runtime":true}],"uniforms":[{"name":"u_Data","type":"vec4<f32>[]","storageClass":"StorageBuffer","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_iter","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_AveMovement","type":"vec4<f32>[]","storageClass":"StorageBuffer","readonly":false,"writeonly":false,"size":[1,1]}],"globalDeclarations":[],"output":{"name":"u_AveMovement","size":[1,1],"length":1},"needPingpong":true}}'},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t){this.id=t.id||0,this.rx=t.rx,this.ry=t.ry,this.fx=0,this.fy=0,this.mass=t.mass,this.degree=t.degree,this.g=t.g||0}return t.prototype.distanceTo=function(t){var e=this.rx-t.rx,n=this.ry-t.ry;return Math.hypot(e,n)},t.prototype.setPos=function(t,e){this.rx=t,this.ry=e},t.prototype.resetForce=function(){this.fx=0,this.fy=0},t.prototype.addForce=function(t){var e=t.rx-this.rx,n=t.ry-this.ry,r=Math.hypot(e,n);r=r<1e-4?1e-4:r;var i=this.g*(this.degree+1)*(t.degree+1)/r;this.fx+=i*e/r,this.fy+=i*n/r},t.prototype.in=function(t){return t.contains(this.rx,this.ry)},t.prototype.add=function(e){var n=this.mass+e.mass;return new t({rx:(this.rx*this.mass+e.rx*e.mass)/n,ry:(this.ry*this.mass+e.ry*e.mass)/n,mass:n,degree:this.degree+e.degree})},t}();e.default=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t){this.xmid=t.xmid,this.ymid=t.ymid,this.length=t.length,this.massCenter=t.massCenter||[0,0],this.mass=t.mass||1}return t.prototype.getLength=function(){return this.length},t.prototype.contains=function(t,e){var n=this.length/2;return t<=this.xmid+n&&t>=this.xmid-n&&e<=this.ymid+n&&e>=this.ymid-n},t.prototype.NW=function(){return new t({xmid:this.xmid-this.length/4,ymid:this.ymid+this.length/4,length:this.length/2})},t.prototype.NE=function(){return new t({xmid:this.xmid+this.length/4,ymid:this.ymid+this.length/4,length:this.length/2})},t.prototype.SW=function(){return new t({xmid:this.xmid-this.length/4,ymid:this.ymid-this.length/4,length:this.length/2})},t.prototype.SE=function(){return new t({xmid:this.xmid+this.length/4,ymid:this.ymid-this.length/4,length:this.length/2})},t}();e.default=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t){this.body=null,this.quad=null,this.NW=null,this.NE=null,this.SW=null,this.SE=null,this.theta=.5,null!=t&&(this.quad=t)}return t.prototype.insert=function(e){null!=this.body?this._isExternal()?(this.quad&&(this.NW=new t(this.quad.NW()),this.NE=new t(this.quad.NE()),this.SW=new t(this.quad.SW()),this.SE=new t(this.quad.SE())),this._putBody(this.body),this._putBody(e),this.body=this.body.add(e)):(this.body=this.body.add(e),this._putBody(e)):this.body=e},t.prototype._putBody=function(t){this.quad&&(t.in(this.quad.NW())&&this.NW?this.NW.insert(t):t.in(this.quad.NE())&&this.NE?this.NE.insert(t):t.in(this.quad.SW())&&this.SW?this.SW.insert(t):t.in(this.quad.SE())&&this.SE&&this.SE.insert(t))},t.prototype._isExternal=function(){return null==this.NW&&null==this.NE&&null==this.SW&&null==this.SE},t.prototype.updateForce=function(t){null!=this.body&&t!==this.body&&(this._isExternal()||(this.quad?this.quad.getLength():0)/this.body.distanceTo(t)<this.theta?t.addForce(this.body):(this.NW&&this.NW.updateForce(t),this.NE&&this.NE.updateForce(t),this.SW&&this.SW.updateForce(t),this.SE&&this.SE.updateForce(t)))},t}();e.default=r},function(t,e,n){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)},i=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!("get"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),a=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&i(e,t,n);return o(e,t),e},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var u=a(n(66)),c=s(n(207)),l=s(n(209)),f=n(62);e.default=function(t,e){var n=t.nodes,i=t.edges,o=e.width,a=e.height;if(!(null==n?void 0:n.length))return Promise.resolve();var s=[];n.forEach((function(t){if(i.filter((function(e){return e.source===t.id||e.target===t.id})).length>1){var e=r({},t);delete e.size,s.push(e)}}));var h=[];i.forEach((function(t){var e=s.find((function(e){return e.id===t.source})),n=s.find((function(e){return e.id===t.target}));e&&n&&h.push(t)}));var d=new f.DagreLayout({type:"dagre",ranksep:e.nodeMinGap,nodesep:e.nodeMinGap}).layout({nodes:s,edges:h}).nodes;n.forEach((function(t){var e=(d||[]).find((function(e){return e.id===t.id}));t.x=(null==e?void 0:e.x)||o/2,t.y=(null==e?void 0:e.y)||a/2}));var p=JSON.parse(JSON.stringify(n)),g=JSON.parse(JSON.stringify(i)),v=u.forceSimulation().nodes(p).force("link",u.forceLink(g).id((function(t){return t.id})).distance((function(t){return h.find((function(e){return e.source===t.source&&e.target===t.target}))?30:20}))).force("charge",u.forceManyBody()).force("center",u.forceCenter(o/2,a/2)).force("x",u.forceX(o/2)).force("y",u.forceY(a/2)).alpha(.3).alphaDecay(.08).alphaMin(.001);return new Promise((function(t){v.on("end",(function(){n.forEach((function(t){var e=p.find((function(e){return e.id===t.id}));e&&(t.x=e.x,t.y=e.y)}));var r=Math.min.apply(Math,n.map((function(t){return t.x}))),s=Math.max.apply(Math,n.map((function(t){return t.x}))),u=Math.min.apply(Math,n.map((function(t){return t.y}))),f=Math.max.apply(Math,n.map((function(t){return t.y}))),h=o/(s-r),d=a/(f-u);n.forEach((function(t){void 0!==t.x&&h<1&&(t.x=(t.x-r)*h),void 0!==t.y&&d<1&&(t.y=(t.y-u)*d)})),n.forEach((function(t){t.sizeTemp=t.size,t.size=[10,10]})),(0,l.default)(n,i),n.forEach((function(t){t.size=t.sizeTemp||[],delete t.sizeTemp})),(0,c.default)({nodes:n,edges:i},e),t()}))}))}},function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var i=r(n(208));e.default=function(t,e){if(!t.nodes||0===t.nodes.length)return t;var n=e.width,r=e.height,o=e.nodeMinGap,a=1e4,s=1e4;t.nodes.forEach((function(t){var e=t.size[0]||50,n=t.size[1]||50;a=Math.min(e,a),s=Math.min(n,s)}));var u=new i.default;u.init(n,r,{CELL_H:s,CELL_W:a}),t.nodes.forEach((function(t){var e=u.occupyNearest(t);e&&(e.node={id:t.id,size:t.size},t.x=e.x,t.y=e.y,t.dx=e.dx,t.dy=e.dy)}));for(var c=0;c<t.nodes.length;c++){var l=t.nodes[c],f=u.findGridByNodeId(l.id);if(!f)throw new Error("can not find node cell");var h=f.column,d=f.row;if(l.size[0]+o>a){for(var p=v=Math.ceil((l.size[0]+o)/a)-1,g=0;g<v;g++){if(!(u.additionColumn.indexOf(h+g+1)>-1)||u.cells[h+g+1][d].node)break;p--}u.insertColumn(h,p)}if(l.size[1]+o>s){var v;for(p=v=Math.ceil((l.size[1]+o)/s)-1,g=0;g<v;g++){if(!(u.additionRow.indexOf(d+g+1)>-1)||u.cells[h][d+g+1].node)break;p--}u.insertRow(d,p)}}for(c=0;c<u.columnNum;c++){var y=function(e){var n=u.cells[c][e];if(n.node){var r=t.nodes.find((function(t){var e;return t.id===(null===(e=null==n?void 0:n.node)||void 0===e?void 0:e.id)}));r&&(r.x=n.x+r.size[0]/2,r.y=n.y+r.size[1]/2)}};for(g=0;g<u.rowNum;g++)y(g)}}},function(t,e,n){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)};Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(){this.cells=[],this.columnNum=0,this.rowNum=0,this.additionColumn=[],this.additionRow=[]}return t.prototype.init=function(e,n,r){this.cells=[],this.CELL_W=r.CELL_W||t.DEFAULT_CELL_W,this.CELL_H=r.CELL_H||t.DEFAULT_CELL_H,this.columnNum=Math.ceil(e/this.CELL_W),this.rowNum=Math.ceil(n/this.CELL_H),t.MIN_DIST=Math.pow(e,2)+Math.pow(n,2);for(var i=0;i<this.columnNum;i++){for(var o=[],a=0;a<this.rowNum;a++){var s={dx:i,dy:a,x:i*this.CELL_W,y:a*this.CELL_H,occupied:!1};o.push(s)}this.cells.push(o)}},t.prototype.findGridByNodeId=function(t){for(var e,n,r=0;r<this.columnNum;r++)for(var i=0;i<this.rowNum;i++)if(this.cells[r][i].node&&(null===(n=null===(e=this.cells[r][i])||void 0===e?void 0:e.node)||void 0===n?void 0:n.id)===t)return{column:r,row:i};return null},t.prototype.sqdist=function(t,e){return Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)},t.prototype.occupyNearest=function(e){for(var n,r=t.MIN_DIST,i=null,o=0;o<this.columnNum;o++)for(var a=0;a<this.rowNum;a++)!this.cells[o][a].occupied&&(n=this.sqdist(e,this.cells[o][a]))<r&&(r=n,i=this.cells[o][a]);return i&&(i.occupied=!0),i},t.prototype.insertColumn=function(t,e){if(!(e<=0)){for(var n=0;n<e;n++){this.cells[n+this.columnNum]=[];for(var i=0;i<this.rowNum;i++)this.cells[n+this.columnNum][i]={dx:n,dy:i,x:n*this.CELL_W,y:i*this.CELL_H,occupied:!1,node:null}}for(n=this.columnNum-1;n>t;n--)for(i=0;i<this.rowNum;i++)this.cells[n+e][i]=r(r({},this.cells[n][i]),{x:(n+e)*this.CELL_W,y:i*this.CELL_H}),this.cells[n][i]={x:n*this.CELL_W,y:i*this.CELL_H,occupied:!0,node:null};for(i=0;i<this.additionColumn.length;i++)this.additionColumn[i]>=t&&(this.additionColumn[i]+=e);for(n=0;n<e;n++)this.additionColumn.push(t+n+1);this.columnNum+=e}},t.prototype.insertRow=function(t,e){if(!(e<=0)){for(var n=0;n<e;n++)for(var i=0;i<this.columnNum;i++)this.cells[i][n+this.rowNum]={dx:i,dy:n,x:i*this.CELL_W,y:n*this.CELL_H,occupied:!1,node:null};for(i=0;i<this.columnNum;i++)for(n=this.rowNum-1;n>t;n--)this.cells[i][n+e]=r(r({},this.cells[i][n]),{dx:i,dy:n+e,x:i*this.CELL_W,y:(n+e)*this.CELL_H}),this.cells[i][n]={dx:i,dy:n,x:i*this.CELL_W,y:n*this.CELL_H,occupied:!1,node:null};for(n=0;n<this.additionRow.length;n++)this.additionRow[n]>=t&&(this.additionRow[n]+=e);for(i=0;i<e;i++)this.additionRow.push(t+i+1);this.rowNum+=e}},t.prototype.getNodes=function(){for(var t=[],e=0;e<this.columnNum;e++)for(var n=0;n<this.rowNum;n++)this.cells[e][n].node&&t.push(this.cells[e][n]);return t},t.MIN_DIST=50,t.DEFAULT_CELL_W=80,t.DEFAULT_CELL_H=80,t}();e.default=i},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=1.5707963267948966,i=new Map,o=.8;function a(t,e){var n=(i.get(t.id)||[]).find((function(t){return t.source===e.id||t.target===e.id})),o=t.size[0]*t.size[1],a=e.size[0]*e.size[1],s=o>a?e:t,u=o>a?t:e,c=s.x-s.size[0]/2,l=s.y-s.size[1]/2,f=s.x+s.size[0]/2,h=s.y+s.size[1]/2,d=u.x-u.size[0]/2,p=u.y-u.size[1]/2,g=u.x+u.size[0]/2,v=u.y+u.size[1]/2,y=s.x,m=s.y,b=u.x,x=u.y,w=0,_=0;if(f>=d&&g>=c&&h>=p&&v>=l){0===(_=Math.sqrt(Math.pow(b-y,2)+Math.pow(x-m,2)))&&(_=1e-7),w=10/_*100+((f<g?f:g)-(c>d?c:d))*((h<v?h:v)-(l>p?l:p)),w*=1e7}else{var E=!1,S=function(t,e,n){var i=t.x-t.size[0]/2,o=t.y-t.size[1]/2,a=t.x+t.size[0]/2,s=t.y+t.size[1]/2,u=e.x-e.size[0]/2,c=e.y-e.size[1]/2,l=e.x+e.size[0]/2,f=e.y+e.size[1]/2,h=t.x,d=t.y,p=e.x,g=e.y,v=p-h,y=Math.atan2(v,g-d),m=0,b=0,x=0,w=0;y>r?(b=o-f,m=u-a,x=parseFloat(b?(b/Math.cos(y)).toFixed(2):m.toFixed(2)),w=parseFloat(m?(m/Math.sin(y)).toFixed(2):b.toFixed(2))):x=w=0<y&&y<=r?(b=c-s)>(m=u-a)?parseFloat(b?(b/Math.cos(y)).toFixed(2):m.toFixed(2)):parseFloat(m?(m/Math.sin(y)).toFixed(2):b.toFixed(2)):y<-r?(b=o-f)>(m=-(l-i))?parseFloat(b?(b/Math.cos(y)).toFixed(2):m.toFixed(2)):parseFloat(m?(m/Math.sin(y)).toFixed(2):b.toFixed(2)):(b=c-s)>(m=Math.abs(v)>(a-i)/2?i-l:v)?parseFloat(b?(b/Math.cos(y)).toFixed(2):m.toFixed(2)):parseFloat(m&&0!==y?(m/Math.sin(y)).toFixed(2):b.toFixed(2));var _=parseFloat(y.toFixed(2)),E=n;return n&&(E=1.1780972450961724<_&&_<1.9634954084936207),{distance:Math.abs(x<w?x:w),isHoriz:E}}(s,u,E);_=S.distance,E=S.isHoriz,_<=10?w+=0!==_?n?10+1e7/_:10+1e8/_:1e7:(w+=_,n&&(w+=_*_))}return w}function s(t){for(var e=0,n=0;n<t.length;n++){var r=t[n];(r.x<0||r.y<0||r.x>1200||r.y>800)&&(e+=1e12);for(var i=n+1;i<t.length;i++)e+=a(r,t[i])}return e}function u(t,e,n,r){var i=new Map;n.forEach((function(t,e){i.set(t.id,t)}));var o=r.filter((function(e){return e.source===t.id||e.target===t.id}))||[],a=[];o.forEach((function(e){var n=e.source===t.id?e.target:e.source,r=i.get(n);r&&a.push(r)}));for(var s=!0,u=0;u<a.length;u++){var c=a[u],l=180*Math.atan((t.y-c.y)/(c.x-t.y)),f=180*Math.atan((e.y-c.y)/(c.x-e.y)),h=l>70&&l<110,d=f>70&&f<110;if((l<30||l>150)&&!(f<30||f>150)||l*f<0){s=!1;break}if(h&&!d||l*f<0){s=!1;break}if((c.x-t.x)*(c.x-e.x)<0){s=!1;break}if((c.y-t.y)*(c.y-e.y)<0){s=!1;break}}return s}function c(t,e){for(var n=!1,r=[10,-10,0,0],i=[0,0,10,-10],a=0;a<t.length;++a)for(var c=t[a],f=l(c,t),h=0;h<r.length;h++){if(u(c,{x:c.x+r[h],y:c.y+i[h]},t,e)){c.x+=r[h],c.y+=i[h];var d=l(c,t),p=Math.random();d<f||p<o&&p>.1?(f=d,n=!0):(c.x-=r[h],c.y-=i[h])}}return o>.1&&(o*=.5),n?s(t):0}function l(t,e){var n=0;(t.x<0||t.y<0||t.x+t.size[0]+20>1200||t.y+t.size[1]+20>800)&&(n+=1e12);for(var r=0;r<e.length;++r)t.id!==e[r].id&&(n+=a(t,e[r]));return n}e.default=function(t,e){if(0===t.length)return{nodes:t,edges:e};t.forEach((function(t){var n=e.filter((function(e){return e.source===t.id||e.target===t.id}));i.set(t,n)})),t.sort((function(t,e){var n,r;return(null===(n=i.get(t.id))||void 0===n?void 0:n.length)-(null===(r=i.get(e.id))||void 0===r?void 0:r.length)}));for(var n=s(t),r=20,o=1,a=0,u=0;r>0&&!(++u>=50);){var l=c(t,e);0!==l&&(a=l),o=a-n,n=a,0===o?--r:r=20}return t.forEach((function(t){t.x=t.x-t.size[0]/2,t.y=t.y-t.size[1]/2})),{nodes:t,edges:e}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Layouts=e.Layout=void 0;var r=n(79),i=n(83),o=n(84),a=n(86),s=n(85),u=n(87),c=n(88),l=n(62),f=n(92),h=n(93),d=n(94),p=n(95),g=n(96),v=n(103),y=n(104),m=n(105),b=n(106),x=n(107),w=n(90),_=n(15),E=function(){function t(t){var e=(0,r.getLayoutByName)(t.type);this.layoutInstance=new e(t)}return t.prototype.layout=function(t){return this.layoutInstance.layout(t)},t.prototype.updateCfg=function(t){this.layoutInstance.updateCfg(t)},t.prototype.init=function(t){this.correctLayers(t.nodes),this.layoutInstance.init(t)},t.prototype.correctLayers=function(t){if(null==t?void 0:t.length){var e=1/0,n=[];if(t.forEach((function(t){(0,_.isString)(t.layer)&&(t.layer=parseInt(t.layer,10)),void 0===t.layer||isNaN(t.layer)||(n.push(t),t.layer<e&&(e=t.layer))})),e<=0){var r=Math.abs(e)+1;n.forEach((function(t){return t.layer+=r}))}}},t.prototype.execute=function(){this.layoutInstance.execute()},t.prototype.getDefaultCfg=function(){return this.layoutInstance.getDefaultCfg()},t.prototype.destroy=function(){return this.layoutInstance.destroy()},t}();e.Layout=E,e.Layouts={force:u.ForceLayout,fruchterman:p.FruchtermanLayout,forceAtlas2:b.ForceAtlas2Layout,gForce:s.GForceLayout,force2:a.Force2Layout,dagre:l.DagreLayout,dagreCompound:w.DagreCompoundLayout,circular:c.CircularLayout,radial:f.RadialLayout,concentric:h.ConcentricLayout,grid:i.GridLayout,mds:d.MDSLayout,comboForce:y.ComboForceLayout,comboCombined:m.ComboCombinedLayout,random:o.RandomLayout,"gForce-gpu":v.GForceGPULayout,"fruchterman-gpu":g.FruchtermanGPULayout,er:x.ERLayout}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0})},function(t,e,n){"use strict";n.r(e),n.d(e,"G6GraphEvent",(function(){return Je})),n.d(e,"Node",(function(){return En})),n.d(e,"Edge",(function(){return _n})),n.d(e,"Combo",(function(){return Sn})),n.d(e,"Hull",(function(){return Zn})),n.d(e,"registerNode",(function(){return Er})),n.d(e,"registerCombo",(function(){return Mr})),n.d(e,"AbstractGraph",(function(){return Qn})),n.d(e,"registerEdge",(function(){return Sr})),n.d(e,"registerBehavior",(function(){return Or})),n.d(e,"AbstractLayout",(function(){return wr})),n.d(e,"AbstractEvent",(function(){return _r})),n.d(e,"BaseGlobal",(function(){return kr})),n.d(e,"Graph",(function(){return Bi})),n.d(e,"TreeGraph",(function(){return Xi})),n.d(e,"Util",(function(){return pi})),n.d(e,"Layout",(function(){return ei.Layouts})),n.d(e,"TreeLayout",(function(){return vi})),n.d(e,"registerLayout",(function(){return yi})),n.d(e,"Global",(function(){return Kr})),n.d(e,"Minimap",(function(){return pc})),n.d(e,"Grid",(function(){return dc})),n.d(e,"Bundling",(function(){return gc})),n.d(e,"Menu",(function(){return vc})),n.d(e,"Fisheye",(function(){return yc})),n.d(e,"Algorithm",(function(){return hc})),n.d(e,"ToolBar",(function(){return mc})),n.d(e,"Tooltip",(function(){return bc})),n.d(e,"TimeBar",(function(){return xc})),n.d(e,"ImageMinimap",(function(){return wc})),n.d(e,"EdgeFilterLens",(function(){return _c})),n.d(e,"SnapLine",(function(){return Ec})),n.d(e,"Legend",(function(){return Sc})),n.d(e,"Annotation",(function(){return Mc})),n.d(e,"Arrow",(function(){return pr})),n.d(e,"Marker",(function(){return gr})),n.d(e,"Shape",(function(){return vr})),n.d(e,"version",(function(){return kc}));var r={};n.r(r),n.d(r,"getAdjMatrix",(function(){return _})),n.d(r,"breadthFirstSearch",(function(){return j})),n.d(r,"connectedComponent",(function(){return T})),n.d(r,"getDegree",(function(){return P})),n.d(r,"getInDegree",(function(){return D})),n.d(r,"getOutDegree",(function(){return L})),n.d(r,"detectCycle",(function(){return G})),n.d(r,"detectDirectedCycle",(function(){return Dt})),n.d(r,"detectAllCycles",(function(){return z})),n.d(r,"detectAllDirectedCycle",(function(){return F})),n.d(r,"detectAllUndirectedCycle",(function(){return B})),n.d(r,"depthFirstSearch",(function(){return R})),n.d(r,"dijkstra",(function(){return Y})),n.d(r,"findAllPath",(function(){return V})),n.d(r,"findShortestPath",(function(){return W})),n.d(r,"floydWarshall",(function(){return H})),n.d(r,"labelPropagation",(function(){return q})),n.d(r,"louvain",(function(){return nt})),n.d(r,"iLouvain",(function(){return rt})),n.d(r,"kCore",(function(){return it})),n.d(r,"kMeans",(function(){return at})),n.d(r,"cosineSimilarity",(function(){return st})),n.d(r,"nodesCosineSimilarity",(function(){return ut})),n.d(r,"minimumSpanningTree",(function(){return pt})),n.d(r,"pageRank",(function(){return gt})),n.d(r,"getNeighbors",(function(){return k})),n.d(r,"Stack",(function(){return Pt})),n.d(r,"GADDI",(function(){return Nt})),n.d(r,"default",(function(){return Lt}));var i={};n.r(i),n.d(i,"compare",(function(){return Bt})),n.d(i,"getLineIntersect",(function(){return zt})),n.d(i,"getRectIntersectByPoint",(function(){return Gt})),n.d(i,"getCircleIntersectByPoint",(function(){return Yt})),n.d(i,"getEllipseIntersectByPoint",(function(){return Ut})),n.d(i,"applyMatrix",(function(){return Xt})),n.d(i,"invertMatrix",(function(){return Wt})),n.d(i,"getCircleCenterByPoints",(function(){return Vt})),n.d(i,"distance",(function(){return Ht})),n.d(i,"scaleMatrix",(function(){return qt})),n.d(i,"floydWarshall",(function(){return Zt})),n.d(i,"getAdjMatrix",(function(){return Kt})),n.d(i,"translate",(function(){return Qt})),n.d(i,"move",(function(){return $t})),n.d(i,"scale",(function(){return Jt})),n.d(i,"rotate",(function(){return te})),n.d(i,"getDegree",(function(){return ee})),n.d(i,"isPointInPolygon",(function(){return re})),n.d(i,"intersectBBox",(function(){return ie})),n.d(i,"isPolygonsIntersect",(function(){return oe})),n.d(i,"Line",(function(){return ae})),n.d(i,"getBBoxBoundLine",(function(){return se})),n.d(i,"itemIntersectByLine",(function(){return ce})),n.d(i,"fractionToLine",(function(){return le})),n.d(i,"getPointsCenter",(function(){return fe})),n.d(i,"squareDist",(function(){return he})),n.d(i,"pointLineSquareDist",(function(){return de})),n.d(i,"isPointsOverlap",(function(){return pe})),n.d(i,"pointRectSquareDist",(function(){return ge})),n.d(i,"pointLineDistance",(function(){return ve})),n.d(i,"lerp",(function(){return ye})),n.d(i,"lerpArray",(function(){return me}));var o={};n.r(o),n.d(o,"getBBox",(function(){return De})),n.d(o,"getLoopCfgs",(function(){return Le})),n.d(o,"getLabelPosition",(function(){return Re})),n.d(o,"traverseTree",(function(){return ze})),n.d(o,"traverseTreeUp",(function(){return Ge})),n.d(o,"getLetterWidth",(function(){return Ye})),n.d(o,"getTextSize",(function(){return Ue})),n.d(o,"truncateLabelByLength",(function(){return Xe})),n.d(o,"plainCombosToTrees",(function(){return We})),n.d(o,"reconstructTree",(function(){return Ve})),n.d(o,"getComboBBox",(function(){return He})),n.d(o,"shouldRefreshEdge",(function(){return qe})),n.d(o,"cloneBesidesImg",(function(){return Ze})),n.d(o,"getAnimateCfgWithCallback",(function(){return Ke}));var a={};n.r(a),n.d(a,"uniqueId",(function(){return tn})),n.d(a,"formatPadding",(function(){return en})),n.d(a,"cloneEvent",(function(){return nn})),n.d(a,"isViewportChanged",(function(){return rn})),n.d(a,"isNaN",(function(){return on})),n.d(a,"calculationItemsBBox",(function(){return an})),n.d(a,"processParallelEdges",(function(){return sn}));var s={};n.r(s),n.d(s,"getSpline",(function(){return Cn})),n.d(s,"getControlPoint",(function(){return jn})),n.d(s,"pointsToPolygon",(function(){return In})),n.d(s,"pathToPoints",(function(){return Tn})),n.d(s,"getClosedSpline",(function(){return Nn})),n.d(s,"roundedHull",(function(){return Rn})),n.d(s,"paddedHull",(function(){return Bn})),n.d(s,"getStarPath",(function(){return Fn}));var u={};n.r(u),n.d(u,"defaultSubjectColors",(function(){return yr}));var c={};n.r(c),n.d(c,"isForce",(function(){return mr}));var l={};n.r(l),n.d(l,"mixColor",(function(){return Vr})),n.d(l,"getColorsWithSubjectColor",(function(){return Hr})),n.d(l,"getColorSetsBySubjectColors",(function(){return qr}));var f={};n.r(f),n.d(f,"proccessToFunc",(function(){return oi})),n.d(f,"buildTextureData",(function(){return ai})),n.d(f,"buildTextureDataWithOneEdgeAttr",(function(){return si})),n.d(f,"buildTextureDataWithTwoEdgeAttr",(function(){return ui})),n.d(f,"attributesToTextureData",(function(){return ci})),n.d(f,"arrayToTextureData",(function(){return li})),n.d(f,"radialLayout",(function(){return fi}));var h={};n.r(h),n.d(h,"gpuDetector",(function(){return hi}));var d={};n.r(d),n.d(d,"getBrowserName",(function(){return di}));var p={};n.r(p),n.d(p,"default",(function(){return fa})),n.d(p,"assign",(function(){return Wo})),n.d(p,"format",(function(){return ca})),n.d(p,"parse",(function(){return la})),n.d(p,"defaultI18n",(function(){return Zo})),n.d(p,"setGlobalDateI18n",(function(){return Qo})),n.d(p,"setGlobalDateMasks",(function(){return ua}));var g=n(1),v=n(0),y={getDefaultCfg:function(){return{}},getEvents:function(){return{}},updateCfg:function(t){return Object.assign(this,t),!0},shouldBegin:function(){return!0},shouldUpdate:function(){return!0},shouldEnd:function(){return!0},bind:function(t){var e=this,n=this.events;this.graph=t,"drag-canvas"!==this.type&&"brush-select"!==this.type&&"lasso-select"!==this.type||t.get("canvas").set("draggable",!0),Object(v.each)(n,(function(e,n){t.on(n,e)})),this.handleVisibilityChange=function(){e.keydown=!1},document.addEventListener("visibilitychange",this.handleVisibilityChange)},unbind:function(t){var e=this.events,n=t.get("canvas").get("draggable");"drag-canvas"!==this.type&&"brush-select"!==this.type&&"lasso-select"!==this.type||t.get("canvas").set("draggable",!1),Object(v.each)(e,(function(e,n){t.off(n,e)})),t.get("canvas").set("draggable",n),document.removeEventListener("visibilitychange",this.handleVisibilityChange)},get:function(t){return this[t]},set:function(t,e){return this[t]=e,this}},m=function(){function t(){}return t.registerBehavior=function(e,n){if(!n)throw new Error("please specify handler for this behavior: ".concat(e));var r=Object(v.clone)(y);Object.assign(r,n);var i=function(t){var e=this;Object.assign(this,this.getDefaultCfg(),t);var n=this.getEvents();this.events=null;var r={};n&&(Object(v.each)(n,(function(t,n){r[n]=Object(v.wrapBehavior)(e,t)})),this.events=r)};i.prototype=r,t.types[e]=i},t.hasBehavior=function(e){return!!t.types[e]},t.getBehavior=function(e){return t.types[e]},t.types={},t}(),b=m,x=n(52),w=n(4),_=function(t,e){var n=t.nodes,r=t.edges,i=[],o={};if(!n)throw new Error("invalid nodes data!");return n&&n.forEach((function(t,e){o[t.id]=e;i.push([])})),r&&r.forEach((function(t){var n=t.source,r=t.target,a=o[n],s=o[r];!a&&0!==a||!s&&0!==s||(i[a][s]=1,e||(i[s][a]=1))})),i},E=function(t,e){return t===e},S=function(){function t(t,e){void 0===e&&(e=null),this.value=t,this.next=e}return t.prototype.toString=function(t){return t?t(this.value):"".concat(this.value)},t}(),M=function(){function t(t){void 0===t&&(t=E),this.head=null,this.tail=null,this.compare=t}return t.prototype.prepend=function(t){var e=new S(t,this.head);return this.head=e,this.tail||(this.tail=e),this},t.prototype.append=function(t){var e=new S(t);return this.head?(this.tail.next=e,this.tail=e,this):(this.head=e,this.tail=e,this)},t.prototype.delete=function(t){if(!this.head)return null;for(var e=null;this.head&&this.compare(this.head.value,t);)e=this.head,this.head=this.head.next;var n=this.head;if(null!==n)for(;n.next;)this.compare(n.next.value,t)?(e=n.next,n.next=n.next.next):n=n.next;return this.compare(this.tail.value,t)&&(this.tail=n),e},t.prototype.find=function(t){var e=t.value,n=void 0===e?void 0:e,r=t.callback,i=void 0===r?void 0:r;if(!this.head)return null;for(var o=this.head;o;){if(i&&i(o.value))return o;if(void 0!==n&&this.compare(o.value,n))return o;o=o.next}return null},t.prototype.deleteTail=function(){var t=this.tail;if(this.head===this.tail)return this.head=null,this.tail=null,t;for(var e=this.head;e.next;)e.next.next?e=e.next:e.next=null;return this.tail=e,t},t.prototype.deleteHead=function(){if(!this.head)return null;var t=this.head;return this.head.next?this.head=this.head.next:(this.head=null,this.tail=null),t},t.prototype.fromArray=function(t){var e=this;return t.forEach((function(t){return e.append(t)})),this},t.prototype.toArray=function(){for(var t=[],e=this.head;e;)t.push(e),e=e.next;return t},t.prototype.reverse=function(){for(var t=this.head,e=null,n=null;t;)n=t.next,t.next=e,e=t,t=n;this.tail=this.head,this.head=e},t.prototype.toString=function(t){return void 0===t&&(t=void 0),this.toArray().map((function(e){return e.toString(t)})).toString()},t}(),O=function(){function t(){this.linkedList=new M}return t.prototype.isEmpty=function(){return!this.linkedList.head},t.prototype.peek=function(){return this.linkedList.head?this.linkedList.head.value:null},t.prototype.enqueue=function(t){this.linkedList.append(t)},t.prototype.dequeue=function(){var t=this.linkedList.deleteHead();return t?t.value:null},t.prototype.toString=function(t){return this.linkedList.toString(t)},t}(),k=function(t,e,n){void 0===e&&(e=[]);var r=e.filter((function(e){return e.source===t||e.target===t}));if("target"===n){return r.filter((function(e){return e.source===t})).map((function(t){return t.target}))}if("source"===n){return r.filter((function(e){return e.target===t})).map((function(t){return t.source}))}return r.map((function(e){return e.source===t?e.target:e.source}))},A=function(t,e){return e.filter((function(e){return e.source===t||e.target===t}))},C=function(t){void 0===t&&(t=0);var e="".concat(Math.random()).split(".")[1].substr(0,5),n="".concat(Math.random()).split(".")[1].substr(0,5);return"".concat(t,"-").concat(e).concat(n)};var j=function(t,e,n,r){void 0===r&&(r=!0);var i=function(t){void 0===t&&(t={});var e,n=t,r=function(){},i=(e={},function(t){var n=t.next;return!e[n]&&(e[n]=!0,!0)});return n.allowTraversal=t.allowTraversal||i,n.enter=t.enter||r,n.leave=t.leave||r,n}(n),o=new O,a=t.edges,s=void 0===a?[]:a;o.enqueue(e);for(var u="",c=function(){var t=o.dequeue();i.enter({current:t,previous:u}),k(t,s,r?"target":void 0).forEach((function(e){i.allowTraversal({previous:u,current:t,next:e})&&o.enqueue(e)})),i.leave({current:t,previous:u}),u=t};!o.isEmpty();)c()},I=function(t){for(var e=t.nodes,n=void 0===e?[]:e,r=t.edges,i=void 0===r?[]:r,o=[],a={},s={},u={},c=[],l=0,f=function t(e){s[e.id]=l,u[e.id]=l,l+=1,o.push(e),a[e.id]=!0;for(var r=k(e.id,i,"target").filter((function(t){return n.map((function(t){return t.id})).indexOf(t)>-1})),f=function(i){var o=r[i];if(s[o]||0===s[o])a[o]&&(u[e.id]=Math.min(u[e.id],s[o]));else{var c=n.filter((function(t){return t.id===o}));c.length>0&&t(c[0]),u[e.id]=Math.min(u[e.id],u[o])}},h=0;h<r.length;h++)f(h);if(u[e.id]===s[e.id]){for(var d=[];o.length>0;){var p=o.pop();if(a[p.id]=!1,d.push(p),p===e)break}d.length>0&&c.push(d)}},h=0,d=n;h<d.length;h++){var p=d[h];s[p.id]||0===s[p.id]||f(p)}return c};function T(t,e){return e?I(t):function(t){for(var e=t.nodes,n=void 0===e?[]:e,r=t.edges,i=void 0===r?[]:r,o=[],a={},s=[],u=function t(e){s.push(e),a[e.id]=!0;for(var r=k(e.id,i),o=function(e){var i=r[e];if(!a[i]){var o=n.filter((function(t){return t.id===i}));o.length>0&&t(o[0])}},u=0;u<r.length;++u)o(u)},c=0;c<n.length;c++){var l=n[c];if(!a[l.id]){u(l);for(var f=[];s.length>0;)f.push(s.pop());o.push(f)}}return o}(t)}var N=function(t){var e={},n=t.nodes,r=void 0===n?[]:n,i=t.edges,o=void 0===i?[]:i;return r.forEach((function(t){e[t.id]={degree:0,inDegree:0,outDegree:0}})),o.forEach((function(t){e[t.source].degree++,e[t.source].outDegree++,e[t.target].degree++,e[t.target].inDegree++})),e},P=N,D=function(t,e){return N(t)[e]?N(t)[e].inDegree:0},L=function(t,e){return N(t)[e]?N(t)[e].outDegree:0};function R(t,e,n,r){void 0===r&&(r=!0),function t(e,n,r,i,o){void 0===o&&(o=!0),i.enter({current:n,previous:r});var a=e.edges;k(n,void 0===a?[]:a,o?"target":void 0).forEach((function(a){i.allowTraversal({previous:r,current:n,next:a})&&t(e,a,n,i,o)})),i.leave({current:n,previous:r})}(t,e,"",function(t){void 0===t&&(t={});var e,n=t,r=function(){},i=(e={},function(t){var n=t.next;return!e[n]&&(e[n]=!0,!0)});return n.allowTraversal=t.allowTraversal||i,n.enter=t.enter||r,n.leave=t.leave||r,n}(n),r)}var B=function(t,e,n){var r,i;void 0===n&&(n=!0);for(var o=[],a=0,s=T(t,!1);a<s.length;a++){var u=s[a];if(u.length)for(var c=u[0],l=c.id,f=[c],h=((r={})[l]=c,r),d=((i={})[l]=new Set,i);f.length>0;)for(var p=f.pop(),g=p.id,v=k(g,t.edges),y=function(r){var i,a=v[r],s=t.nodes.find((function(t){return t.id===a}));if(a===g)o.push(((i={})[a]=p,i));else if(a in d){if(!d[g].has(s)){for(var u=!0,c=[s,p],l=h[g];d[a].size&&!d[a].has(l)&&(c.push(l),l!==h[l.id]);)l=h[l.id];if(c.push(l),e&&n?(u=!1,c.findIndex((function(t){return e.indexOf(t.id)>-1}))>-1&&(u=!0)):e&&!n&&c.findIndex((function(t){return e.indexOf(t.id)>-1}))>-1&&(u=!1),u){for(var y={},m=1;m<c.length;m+=1)y[c[m-1].id]=c[m];c.length&&(y[c[c.length-1].id]=c[0]),o.push(y)}d[a].add(p)}}else h[a]=p,f.push(s),d[a]=new Set([p])},m=0;m<v.length;m+=1)y(m)}return o},F=function(t,e,n){void 0===n&&(n=!0);for(var r=[],i=new Set,o=[],a=[],s={},u={},c=function t(u,c,l){var f=!1;if(e&&!1===n&&e.indexOf(u.id)>-1)return f;r.push(u),i.add(u);for(var h=l[u.id],d=0;d<h.length;d+=1){if((v=s[h[d]])===c){for(var p={},g=1;g<r.length;g+=1)p[r[g-1].id]=r[g];r.length&&(p[r[r.length-1].id]=r[0]),a.push(p),f=!0}else i.has(v)||t(v,c,l)&&(f=!0)}if(f)!function(t){for(var e=[t];e.length>0;){var n=e.pop();i.has(n)&&(i.delete(n),o[n.id].forEach((function(t){e.push(t)})),o[n.id].clear())}}(u);else for(d=0;d<h.length;d+=1){var v=s[h[d]];o[v.id].has(u)||o[v.id].add(u)}return r.pop(),f},l=t.nodes,f=void 0===l?[]:l,h=0;h<f.length;h+=1){var d=f[h],p=d.id;u[p]=h,s[h]=d}if(e&&n){var g=function(t){var n=e[t];u[f[t].id]=u[n],u[n]=0,s[0]=f.find((function(t){return t.id===n})),s[u[f[t].id]]=f[t]};for(h=0;h<e.length;h++)g(h)}for(var v=function(r){for(var i,o,s=1/0,c=0;c<r.length;c+=1)for(var l=r[c],f=0;f<l.length;f++){var h=u[l[f].id];h<s&&(s=h,o=c)}var d=r[o],p=[];for(c=0;c<d.length;c+=1){var g=d[c];p[g.id]=[];for(var v=0,y=k(g.id,t.edges,"target").filter((function(t){return d.map((function(t){return t.id})).indexOf(t)>-1}));v<y.length;v++){var m=y[v];m!==g.id||!1===n&&e.indexOf(g.id)>-1?p[g.id].push(u[m]):a.push(((i={})[g.id]=g,i))}}return{component:d,adjList:p,minIdx:s}},y=0;y<f.length;){var m=f.filter((function(t){return u[t.id]>=y})),b=I({nodes:m,edges:t.edges}).filter((function(t){return t.length>1}));if(0===b.length)break;var x=v(b),w=x.minIdx,_=x.adjList,E=x.component;if(!(E.length>1))break;E.forEach((function(t){o[t.id]=new Set}));var S=s[w];if(e&&n&&-1===e.indexOf(S.id))return a;c(S,S,_),y=w+1}return a},z=function(t,e,n,r){return void 0===r&&(r=!0),e?F(t,n,r):B(t,n,r)},G=function(t){var e=null,n=t.nodes,r={},i={},o={},a={};(void 0===n?[]:n).forEach((function(t){i[t.id]=t}));for(var s={enter:function(t){var n=t.current,a=t.previous;if(o[n]){e={};for(var s=n,u=a;u!==n;)e[s]=u,s=u,u=r[u];e[s]=u}else o[n]=n,delete i[n],r[n]=a},leave:function(t){var e=t.current;a[e]=e,delete o[e]},allowTraversal:function(t){var n=t.next;return!e&&!a[n]}};Object.keys(i).length;){R(t,Object.keys(i)[0],s)}return e},Y=function(t,e,n,r){var i=t.nodes,o=void 0===i?[]:i,a=t.edges,s=void 0===a?[]:a,u=[],c={},l={},f={};o.forEach((function(t,n){var r=t.id;u.push(r),l[r]=1/0,r===e&&(l[r]=0)}));for(var h=o.length,d=function(t){var e=function(t,e,n){for(var r,i=1/0,o=0;o<e.length;o++){var a=e[o].id;!n[a]&&t[a]<=i&&(i=t[a],r=e[o])}return r}(l,o,c),i=e.id;if(c[i]=!0,l[i]===1/0)return"continue";(n?function(t,e){return e.filter((function(e){return e.source===t}))}(i,s):A(i,s)).forEach((function(t){var n=t.target,o=t.source,a=n===i?o:n,s=r&&t[r]?t[r]:1;l[a]>l[e.id]+s?(l[a]=l[e.id]+s,f[a]=[e.id]):l[a]===l[e.id]+s&&f[a].push(e.id)}))},p=0;p<h;p++)d();f[e]=[e];var g={};for(var v in l)l[v]!==1/0&&U(e,v,f,g);var y={};for(var v in g)y[v]=g[v][0];return{length:l,path:y,allPath:g}};function U(t,e,n,r){if(t===e)return[t];if(r[e])return r[e];for(var i=[],o=0,a=n[e];o<a.length;o++){var s=U(t,a[o],n,r);if(!s)return;for(var u=0,c=s;u<c.length;u++){var l=c[u];Object(v.isArray)(l)?i.push(Object(g.__spreadArray)(Object(g.__spreadArray)([],l,!0),[e],!1)):i.push([l,e])}}return r[e]=i,r[e]}var X,W=function(t,e,n,r,i){var o=Y(t,e,r,i),a=o.length,s=o.path,u=o.allPath;return{length:a[n],path:s[n],allPath:u[n]}},V=function(t,e,n,r){var i;if(e===n)return[[e]];var o=t.edges,a=void 0===o?[]:o,s=[e],u=((i={})[e]=!0,i),c=[],l=[],f=r?k(e,a,"target"):k(e,a);for(c.push(f);s.length>0&&c.length>0;){var h=c[c.length-1];if(h.length){var d=h.shift();if(d&&(s.push(d),u[d]=!0,f=r?k(d,a,"target"):k(d,a),c.push(f.filter((function(t){return!u[t]})))),s[s.length-1]===n){var p=s.map((function(t){return t}));l.push(p);g=s.pop();u[g]=!1,c.pop()}}else{var g=s.pop();u[g]=!1,c.pop()}}return l},H=function(t,e){for(var n=_(t,e),r=[],i=n.length,o=0;o<i;o+=1){r[o]=[];for(var a=0;a<i;a+=1)o===a?r[o][a]=0:0!==n[o][a]&&n[o][a]?r[o][a]=n[o][a]:r[o][a]=1/0}for(var s=0;s<i;s+=1)for(o=0;o<i;o+=1)for(a=0;a<i;a+=1)r[o][a]>r[o][s]+r[s][a]&&(r[o][a]=r[o][s]+r[s][a]);return r},q=function(t,e,n,r){void 0===e&&(e=!1),void 0===n&&(n="weight"),void 0===r&&(r=1e3);var i=t.nodes,o=void 0===i?[]:i,a=t.edges,s=void 0===a?[]:a,u={},c={};o.forEach((function(t,e){var n=C();t.clusterId=n,u[n]={id:n,nodes:[t]},c[t.id]={node:t,idx:e}}));var l=_(t,e),f=[],h={};l.forEach((function(t,e){var n=0,r=o[e].id;h[r]={},t.forEach((function(t,e){if(t){n+=t;var i=o[e].id;h[r][i]=t}})),f.push(n)}));for(var d=0,p=function(){var t=!1;if(o.forEach((function(e){var n={};Object.keys(h[e.id]).forEach((function(t){var r=h[e.id][t],i=c[t].node.clusterId;n[i]||(n[i]=0),n[i]+=r}));var r=-1/0,i=[];if(Object.keys(n).forEach((function(t){r<n[t]?(r=n[t],i=[t]):r===n[t]&&i.push(t)})),1!==i.length||i[0]!==e.clusterId){var o=i.indexOf(e.clusterId);if(o>=0&&i.splice(o,1),i&&i.length){t=!0;var a=u[e.clusterId],s=a.nodes.indexOf(e);a.nodes.splice(s,1);var l=Math.floor(Math.random()*i.length),f=u[i[l]];f.nodes.push(e),e.clusterId=f.id}}})),!t)return"break";d++};d<r;){if("break"===p())break}Object.keys(u).forEach((function(t){var e=u[t];e.nodes&&e.nodes.length||delete u[t]}));var g=[],v={};s.forEach((function(t){var e=t.source,r=t.target,i=t[n]||1,o=c[e].node.clusterId,a=c[r].node.clusterId,s="".concat(o,"---").concat(a);if(v[s])v[s].weight+=i,v[s].count++;else{var u={source:o,target:a,weight:i,count:1};v[s]=u,g.push(u)}}));var y=[];return Object.keys(u).forEach((function(t){y.push(u[t])})),{clusters:y,clusterEdges:g}},Z=function(){function t(t){this.arr=t}return t.prototype.getArr=function(){return this.arr||[]},t.prototype.add=function(e){var n,r=e.arr;if(!(null===(n=this.arr)||void 0===n?void 0:n.length))return new t(r);if(!(null==r?void 0:r.length))return new t(this.arr);if(this.arr.length===r.length){var i=[];for(var o in this.arr)i[o]=this.arr[o]+r[o];return new t(i)}},t.prototype.subtract=function(e){var n,r=e.arr;if(!(null===(n=this.arr)||void 0===n?void 0:n.length))return new t(r);if(!(null==r?void 0:r.length))return new t(this.arr);if(this.arr.length===r.length){var i=[];for(var o in this.arr)i[o]=this.arr[o]-r[o];return new t(i)}},t.prototype.avg=function(e){var n=[];if(0!==e)for(var r in this.arr)n[r]=this.arr[r]/e;return new t(n)},t.prototype.negate=function(){var e=[];for(var n in this.arr)e[n]=-this.arr[n];return new t(e)},t.prototype.squareEuclideanDistance=function(t){var e,n=t.arr;if(!(null===(e=this.arr)||void 0===e?void 0:e.length)||!(null==n?void 0:n.length))return 0;if(this.arr.length===n.length){var r=0;for(var i in this.arr)r+=Math.pow(this.arr[i]-t.arr[i],2);return r}},t.prototype.euclideanDistance=function(t){var e,n=t.arr;if(!(null===(e=this.arr)||void 0===e?void 0:e.length)||!(null==n?void 0:n.length))return 0;if(this.arr.length===n.length){var r=0;for(var i in this.arr)r+=Math.pow(this.arr[i]-t.arr[i],2);return Math.sqrt(r)}console.error("The two vectors are unequal in length.")},t.prototype.normalize=function(){var e=[],n=Object(v.clone)(this.arr);n.sort((function(t,e){return t-e}));var r=n[n.length-1],i=n[0];for(var o in this.arr)e[o]=(this.arr[o]-i)/(r-i);return new t(e)},t.prototype.norm2=function(){var t;if(!(null===(t=this.arr)||void 0===t?void 0:t.length))return 0;var e=0;for(var n in this.arr)e+=Math.pow(this.arr[n],2);return Math.sqrt(e)},t.prototype.dot=function(t){var e,n=t.arr;if(!(null===(e=this.arr)||void 0===e?void 0:e.length)||!(null==n?void 0:n.length))return 0;if(this.arr.length===n.length){var r=0;for(var i in this.arr)r+=this.arr[i]*t.arr[i];return r}console.error("The two vectors are unequal in length.")},t.prototype.equal=function(t){var e,n=t.arr;if((null===(e=this.arr)||void 0===e?void 0:e.length)!==(null==n?void 0:n.length))return!1;for(var r in this.arr)if(this.arr[r]!==n[r])return!1;return!0},t}(),K=function(t,e){void 0===e&&(e=void 0);var n=[];return t.forEach((function(t){void 0===e&&n.push(t),void 0!==t[e]&&n.push(t[e])})),n};!function(t){t.EuclideanDistance="euclideanDistance"}(X||(X={}));var Q=function(t,e,n){var r=[];(null==e?void 0:e.length)?r=e:(t.forEach((function(t){r=r.concat(Object.keys(t))})),r=Object(v.uniq)(r));var i={};return r.forEach((function(e){var r=[];t.forEach((function(t){void 0!==t[e]&&""!==t[e]&&r.push(t[e])})),r.length&&!(null==n?void 0:n.includes(e))&&(i[e]=Object(v.uniq)(r))})),i},$=function(t,e,n){var r=Q(t,e,n),i=[];if(!Object.keys(r).length)return i;var o=Object.values(r).every((function(t){return t.every((function(t){return"number"==typeof t}))}));return t.forEach((function(t,e){var n=[];Object.keys(r).forEach((function(e){var i=t[e],a=r[e],s=a.findIndex((function(t){return i===t})),u=[];if(o)u.push(i);else for(var c=0;c<a.length;c++)c===s?u.push(1):u.push(0);n=n.concat(u)})),i[e]=n})),i},J=function(t,e,n,r){void 0===n&&(n=X.EuclideanDistance);var i=0;switch(n){case X.EuclideanDistance:i=new Z(t).euclideanDistance(new Z(e))}return i},tt=function(t,e,n,r){for(var i=e.length,o=2*r,a=0,s=0;s<i;s++)for(var u=t[s].clusterId,c=0;c<i;c++){if(u===t[c].clusterId)a+=(e[s][c]||0)-(n[s]||0)*(n[c]||0)/o}return a*=1/o},et=function(t,e){void 0===t&&(t=[]);for(var n=t.length,r=new Z([]),i=0;i<n;i++)r=r.add(new Z(e[i]));var o=r.avg(n);o.normalize();var a=0;for(i=0;i<n;i++){a+=(u=new Z(e[i])).squareEuclideanDistance(o)}var s=[];t.forEach((function(){s.push([])}));for(i=0;i<n;i++){var u=new Z(e[i]);t[i].clusterInertial=0;for(var c=0;c<n;c++)if(i!==c){var l=new Z(e[c]);s[i][c]=u.squareEuclideanDistance(l),t[i].clusterInertial+=s[i][c]}else s[i][c]=0}var f=0,h=2*n*a;for(i=0;i<n;i++){var d=t[i].clusterId;for(c=0;c<n;c++){var p=t[c].clusterId;if(i!==c&&d===p)f+=t[i].clusterInertial*t[c].clusterInertial/Math.pow(h,2)-s[i][c]/h}}return Number(f.toFixed(4))},nt=function(t,e,n,r,i,o,a,s,u){void 0===e&&(e=!1),void 0===n&&(n="weight"),void 0===r&&(r=1e-4),void 0===i&&(i=!1),void 0===o&&(o=void 0),void 0===a&&(a=[]),void 0===s&&(s=["id"]),void 0===u&&(u=1);var c=t.nodes,l=void 0===c?[]:c,f=t.edges,h=void 0===f?[]:f,d=[];if(i){l.forEach((function(t,e){t.properties=t.properties||{},t.originIndex=e}));var p=[];l.every((function(t){return t.hasOwnProperty("nodeType")}))&&(p=Array.from(new Set(l.map((function(t){return t.nodeType})))),l.forEach((function(t){t.properties.nodeType=p.findIndex((function(e){return e===t.nodeType}))})));var g=K(l,o);d=$(g,a,s)}var y=1,m={},b={};l.forEach((function(t,e){var n=String(y++);t.clusterId=n,m[n]={id:n,nodes:[t]},b[t.id]={node:t,idx:e}}));var x=_(t,e),w=[],E={},S=0;x.forEach((function(t,e){var n=0,r=l[e].id;E[r]={},t.forEach((function(t,e){if(t){n+=t;var i=l[e].id;E[r][i]=t,S+=t}})),w.push(n)})),S/=2;for(var M=1/0,O=1/0,k=0,A=[],C={};;){M=i&&l.every((function(t){return t.hasOwnProperty("properties")}))?tt(l,x,w,S)+et(l,d)*u:tt(l,x,w,S),0===k&&(O=M,A=l,C=m);var j=M>0&&M>O&&M-O<r;if(M>O&&(A=l.map((function(t){return{node:t,clusterId:t.clusterId}})),C=Object(v.clone)(m),O=M),j||k>100)break;k++,Object.keys(m).forEach((function(t){var e=0;h.forEach((function(r){var i=r.source,o=r.target,a=b[i].node.clusterId,s=b[o].node.clusterId;(a===t&&s!==t||s===t&&a!==t)&&(e+=r[n]||1)})),m[t].sumTot=e})),l.forEach((function(t,e){var r,o=m[t.clusterId],a=0,s=w[e]/(2*S),c=0,l=o.nodes;l.forEach((function(t){var n=b[t.id].idx;c+=x[e][n]||0}));var f=c-o.sumTot*s,p=l.filter((function(e){return e.id!==t.id})),g=[];p.forEach((function(t,e){g[e]=d[t.originIndex]}));var v=et(p,d)*u,y=E[t.id];if(Object.keys(y).forEach((function(n){var o=b[n].node.clusterId;if(o!==t.clusterId){var c=m[o],l=c.nodes;if(l&&l.length){var h=0;l.forEach((function(t){var n=b[t.id].idx;h+=x[e][n]||0}));var p=h-c.sumTot*s,g=l.concat([t]),y=[];g.forEach((function(t,e){y[e]=d[t.originIndex]}));var w=et(g,d)*u,_=p-f;i&&(_=p+w-(f+v)),_>a&&(a=_,r=c)}}})),a>0){r.nodes.push(t);var _=t.clusterId;t.clusterId=r.id;var M=o.nodes.indexOf(t);o.nodes.splice(M,1);var O=0,k=0;h.forEach((function(t){var e=t.source,i=t.target,o=b[e].node.clusterId,a=b[i].node.clusterId;(o===r.id&&a!==r.id||a===r.id&&o!==r.id)&&(O+=t[n]||1),(o===_&&a!==_||a===_&&o!==_)&&(k+=t[n]||1)})),r.sumTot=O,o.sumTot=k}}))}var I={},T=0;Object.keys(C).forEach((function(t){var e=C[t];if(e.nodes&&e.nodes.length){var n=String(T+1);n!==t&&(e.id=n,e.nodes=e.nodes.map((function(t){return{id:t.id,clusterId:n}})),C[n]=e,I[t]=n,delete C[t],T++)}else delete C[t]})),A.forEach((function(t){var e=t.node,n=t.clusterId;e&&(e.clusterId=n,e.clusterId&&I[e.clusterId]&&(e.clusterId=I[e.clusterId]))}));var N=[],P={};h.forEach((function(t){var e=t.source,r=t.target,i=t[n]||1,o=b[e].node.clusterId,a=b[r].node.clusterId;if(o&&a){var s="".concat(o,"---").concat(a);if(P[s])P[s].weight+=i,P[s].count++;else{var u={source:o,target:a,weight:i,count:1};P[s]=u,N.push(u)}}}));var D=[];return Object.keys(C).forEach((function(t){D.push(C[t])})),{clusters:D,clusterEdges:N}},rt=function(t,e,n,r,i,o,a,s){return void 0===e&&(e=!1),void 0===n&&(n="weight"),void 0===r&&(r=1e-4),void 0===i&&(i=void 0),void 0===o&&(o=[]),void 0===a&&(a=["id"]),void 0===s&&(s=1),nt(t,e,n,r,!0,i,o,a,s)},it=function(t,e){var n;void 0===e&&(e=1);for(var r=Object(v.clone)(t),i=r.nodes,o=void 0===i?[]:i,a=r.edges,s=void 0===a?[]:a,u=function(){var t=P({nodes:o,edges:s}),r=Object.keys(t);r.sort((function(e,n){var r,i;return(null===(r=t[e])||void 0===r?void 0:r.degree)-(null===(i=t[n])||void 0===i?void 0:i.degree)}));var i=r[0];if(!o.length||(null===(n=t[i])||void 0===n?void 0:n.degree)>=e)return"break";var a=o.findIndex((function(t){return t.id===i}));o.splice(a,1),s=s.filter((function(t){return!(t.source===i||t.target===i)}))};;){if("break"===u())break}return{nodes:o,edges:s}},ot=function(t,e,n){var r=[];switch(t){case X.EuclideanDistance:r=e[n];break;default:r=[]}return r},at=function(t,e,n,r,i,o){void 0===e&&(e=3),void 0===n&&(n=void 0),void 0===r&&(r=[]),void 0===i&&(i=["id"]),void 0===o&&(o=X.EuclideanDistance);var a=t.nodes,s=void 0===a?[]:a,u=t.edges,c=void 0===u?[]:u,l={clusters:[{id:"0",nodes:s}],clusterEdges:[]};if(o===X.EuclideanDistance&&!s.every((function(t){return t.hasOwnProperty(n)})))return l;var f=[],h=[];if(o===X.EuclideanDistance&&(f=K(s,n),h=$(f,r,i)),!h.length)return l;for(var d=Object(v.uniq)(h.map((function(t){return t.join("")}))),p=Math.min(e,s.length,d.length),g=0;g<s.length;g++)s[g].originIndex=g;var y=[],m=[],b=[];for(g=0;g<p;g++)if(0===g){var x=Math.floor(Math.random()*s.length);switch(o){case X.EuclideanDistance:y[g]=h[x];break;default:y[g]=[]}m.push(x),b[g]=[s[x]],s[x].clusterId=String(g)}else{for(var w=-1/0,_=0,E=function(t){if(!m.includes(t)){for(var e=0,n=0;n<y.length;n++){var r=0;switch(o){case X.EuclideanDistance:r=J(h[s[t].originIndex],y[n],o)}e+=r}var i=e/y.length;i>w&&!y.find((function(e){return Object(v.isEqual)(e,ot(o,h,s[t].originIndex))}))&&(w=i,_=t)}},S=0;S<s.length;S++)E(S);y[g]=ot(o,h,_),m.push(_),b[g]=[s[_]],s[_].clusterId=String(g)}for(var M=0;;){for(g=0;g<s.length;g++){var O=0,k=1/0;if(0!==M||!m.includes(g)){for(var A=0;A<y.length;A++){var C=0;switch(o){case X.EuclideanDistance:C=J(h[g],y[A],o)}C<k&&(k=C,O=A)}if(void 0!==s[g].clusterId)for(var j=b[Number(s[g].clusterId)].length-1;j>=0;j--)b[Number(s[g].clusterId)][j].id===s[g].id&&b[Number(s[g].clusterId)].splice(j,1);s[g].clusterId=String(O),b[O].push(s[g])}}var I=!1;for(g=0;g<b.length;g++){var T=b[g],N=new Z([]);for(A=0;A<T.length;A++)N=N.add(new Z(h[T[A].originIndex]));var P=N.avg(T.length);P.equal(new Z(y[g]))||(I=!0,y[g]=P.getArr())}if(M++,s.every((function(t){return void 0!==t.clusterId}))&&I||M>=1e3)break}var D=[],L={};return c.forEach((function(t){var e,n,r=t.source,i=t.target,o=null===(e=s.find((function(t){return t.id===r})))||void 0===e?void 0:e.clusterId,a=null===(n=s.find((function(t){return t.id===i})))||void 0===n?void 0:n.clusterId,u="".concat(o,"---").concat(a);if(L[u])L[u].count++;else{var c={source:o,target:a,count:1};L[u]=c,D.push(c)}})),{clusters:b,clusterEdges:D}},st=function(t,e){var n=new Z(e),r=n.norm2(),i=new Z(t),o=i.norm2(),a=n.dot(i),s=r*o,u=s?a/s:0;return u},ut=function(t,e,n,r,i){void 0===t&&(t=[]),void 0===n&&(n=void 0),void 0===r&&(r=[]),void 0===i&&(i=[]);var o=Object(v.clone)(t.filter((function(t){return t.id!==e.id}))),a=t.findIndex((function(t){return t.id===e.id})),s=K(t,n),u=$(s,r,i),c=u[a],l=[];return o.forEach((function(t,n){if(t.id!==e.id){var r=u[n],i=st(r,c);l.push(i),t.cosineSimilarity=i}})),o.sort((function(t,e){return e.cosineSimilarity-t.cosineSimilarity})),{allCosineSimilarity:l,similarNodes:o}},ct=function(){function t(t){this.count=t.length,this.parent={};for(var e=0,n=t;e<n.length;e++){var r=n[e];this.parent[r]=r}}return t.prototype.find=function(t){for(;this.parent[t]!==t;)t=this.parent[t];return t},t.prototype.union=function(t,e){var n=this.find(t),r=this.find(e);n!==r&&(n<r?(this.parent[e]!==e&&this.union(this.parent[e],t),this.parent[e]=this.parent[t]):(this.parent[t]!==t&&this.union(this.parent[t],e),this.parent[t]=this.parent[e]))},t.prototype.connected=function(t,e){return this.find(t)===this.find(e)},t}(),lt=function(t,e){return t-e},ft=function(){function t(t){void 0===t&&(t=lt),this.compareFn=t,this.list=[]}return t.prototype.getLeft=function(t){return 2*t+1},t.prototype.getRight=function(t){return 2*t+2},t.prototype.getParent=function(t){return 0===t?null:Math.floor((t-1)/2)},t.prototype.isEmpty=function(){return this.list.length<=0},t.prototype.top=function(){return this.isEmpty()?void 0:this.list[0]},t.prototype.delMin=function(){var t=this.top(),e=this.list.pop();return this.list.length>0&&(this.list[0]=e,this.moveDown(0)),t},t.prototype.insert=function(t){if(null!==t){this.list.push(t);var e=this.list.length-1;return this.moveUp(e),!0}return!1},t.prototype.moveUp=function(t){for(var e=this.getParent(t);t&&t>0&&this.compareFn(this.list[e],this.list[t])>0;){var n=this.list[e];this.list[e]=this.list[t],this.list[t]=n,t=e,e=this.getParent(t)}},t.prototype.moveDown=function(t){var e,n=t,r=this.getLeft(t),i=this.getRight(t),o=this.list.length;null!==r&&r<o&&this.compareFn(this.list[n],this.list[r])>0?n=r:null!==i&&i<o&&this.compareFn(this.list[n],this.list[i])>0&&(n=i),t!==n&&(e=[this.list[n],this.list[t]],this.list[t]=e[0],this.list[n]=e[1],this.moveDown(n))},t}(),ht=function(t,e){var n=[],r=t.nodes,i=void 0===r?[]:r,o=t.edges,a=void 0===o?[]:o;if(0===i.length)return n;var s=i[0],u=new Set;u.add(s);var c=new ft((function(t,n){return e?t.weight-n.weight:0}));for(A(s.id,a).forEach((function(t){c.insert(t)}));!c.isEmpty();){var l=c.delMin(),f=l.source,h=l.target;u.has(f)&&u.has(h)||(n.push(l),u.has(f)||(u.add(f),A(f,a).forEach((function(t){c.insert(t)}))),u.has(h)||(u.add(h),A(h,a).forEach((function(t){c.insert(t)}))))}return n},dt=function(t,e){var n=[],r=t.nodes,i=void 0===r?[]:r,o=t.edges,a=void 0===o?[]:o;if(0===i.length)return n;var s=a.map((function(t){return t}));e&&s.sort((function(t,e){return t.weight-e.weight}));for(var u=new ct(i.map((function(t){return t.id})));s.length>0;){var c=s.shift(),l=c.source,f=c.target;u.connected(l,f)||(n.push(c),u.union(l,f))}return n},pt=function(t,e,n){return n?{prim:ht,kruskal:dt}[n](t,e):dt(t,e)},gt=function(t,e,n){"number"!=typeof e&&(e=1e-6),"number"!=typeof n&&(n=.85);for(var r,i=1,o=0,a=1e3,s=t.nodes,u=void 0===s?[]:s,c=t.edges,l=void 0===c?[]:c,f=u.length,h={},d={},p=0;p<f;++p){h[v=(w=u[p]).id]=1/f,d[v]=1/f}for(var g=P(t);a>0&&i>e;){o=0;for(p=0;p<f;++p){var v=(w=u[p]).id;if(r=0,0===g[w.id].inDegree)h[v]=0;else{for(var y=k(v,l,"source"),m=0;m<y.length;++m){var b=y[m],x=g[b].outDegree;x>0&&(r+=d[b]/x)}h[v]=n*r,o+=h[v]}}o=(1-o)/f,i=0;for(p=0;p<f;++p){var w;r=h[v=(w=u[p]).id]+o,i+=Math.abs(r-d[v]),d[v]=r}a-=1}return d},vt=function(t,e,n,r){void 0===t&&(t=-1),void 0===e&&(e=-1),void 0===n&&(n=-1),void 0===r&&(r="-1"),this.id=t,this.from=e,this.to=n,this.label=r},yt=function(){function t(t,e){void 0===t&&(t=-1),void 0===e&&(e="-1"),this.id=t,this.label=e,this.edges=[],this.edgeMap={}}return t.prototype.addEdge=function(t){this.edges.push(t),this.edgeMap[t.id]=t},t}(),mt=function(){function t(t,e,n){void 0===t&&(t=-1),void 0===e&&(e=!0),void 0===n&&(n=!1),this.id=t,this.edgeIdAutoIncrease=e,this.edges=[],this.nodes=[],this.nodeMap={},this.edgeMap={},this.nodeLabelMap={},this.edgeLabelMap={},this.counter=0,this.directed=n}return t.prototype.getNodeNum=function(){return this.nodes.length},t.prototype.addNode=function(t,e){if(!this.nodeMap[t]){var n=new yt(t,e);this.nodes.push(n),this.nodeMap[t]=n,this.nodeLabelMap[e]||(this.nodeLabelMap[e]=[]),this.nodeLabelMap[e].push(t)}},t.prototype.addEdge=function(t,e,n,r){if((this.edgeIdAutoIncrease||void 0===t)&&(t=this.counter++),!(this.nodeMap[e]&&this.nodeMap[n]&&this.nodeMap[n].edgeMap[t])){var i=new vt(t,e,n,r);if(this.edges.push(i),this.edgeMap[t]=i,this.nodeMap[e].addEdge(i),this.edgeLabelMap[r]||(this.edgeLabelMap[r]=[]),this.edgeLabelMap[r].push(i),!this.directed){var o=new vt(t,n,e,r);this.nodeMap[n].addEdge(o),this.edgeLabelMap[r].push(o)}}},t}(),bt=function(){function t(t,e,n,r,i){this.fromNode=t,this.toNode=e,this.nodeEdgeNodeLabel={nodeLabel1:n||"-1",edgeLabel:r||"-1",nodeLabel2:i||"-1"}}return t.prototype.equalTo=function(t){return this.fromNode===t.formNode&&this.toNode===t.toNode&&this.nodeEdgeNodeLabel===t.nodeEdgeNodeLabel},t.prototype.notEqualTo=function(t){return!this.equalTo(t)},t}(),xt=function(){function t(){this.rmpath=[],this.dfsEdgeList=[]}return t.prototype.equalTo=function(t){var e=this.dfsEdgeList.length;if(e!==t.length)return!1;for(var n=0;n<e;n++)if(this.dfsEdgeList[n]!==t[n])return!1;return!0},t.prototype.notEqualTo=function(t){return!this.equalTo(t)},t.prototype.pushBack=function(t,e,n,r,i){return this.dfsEdgeList.push(new bt(t,e,n,r,i)),this.dfsEdgeList},t.prototype.toGraph=function(t,e){void 0===t&&(t=-1),void 0===e&&(e=!1);var n=new mt(t,!0,e);return this.dfsEdgeList.forEach((function(t){var e=t.fromNode,r=t.toNode,i=t.nodeEdgeNodeLabel,o=i.nodeLabel1,a=i.edgeLabel,s=i.nodeLabel2;"-1"!==o&&n.addNode(e,o),"-1"!==s&&n.addNode(r,s),"-1"!==o&&s!==o&&n.addEdge(void 0,e,r,a)})),n},t.prototype.buildRmpath=function(){this.rmpath=[];for(var t=void 0,e=this.dfsEdgeList.length-1;e>=0;e--){var n=this.dfsEdgeList[e],r=n.fromNode,i=n.toNode;r<i&&(void 0===t||i===t)&&(this.rmpath.push(e),t=r)}return this.rmpath},t.prototype.getNodeNum=function(){var t={};return this.dfsEdgeList.forEach((function(e){t[e.fromNode]||(t[e.fromNode]=!0),t[e.toNode]||(t[e.toNode]=!0)})),Object.keys(t).length},t}(),wt=function(){function t(t){if(this.his={},this.nodesUsed={},this.edgesUsed={},this.edges=[],t){for(;t;){var e=t.edge;this.edges.push(e),this.nodesUsed[e.from]=1,this.nodesUsed[e.to]=1,this.edgesUsed[e.id]=1,t=t.preNode}this.edges=this.edges.reverse()}}return t.prototype.hasNode=function(t){return 1===this.nodesUsed[t.id]},t.prototype.hasEdge=function(t){return 1===this.edgesUsed[t.id]},t}(),_t=function(){function t(t){var e=t.graphs,n=t.minSupport,r=void 0===n?2:n,i=t.minNodeNum,o=void 0===i?1:i,a=t.maxNodeNum,s=void 0===a?4:a,u=t.top,c=void 0===u?10:u,l=t.directed,f=void 0!==l&&l,h=t.verbose,d=void 0!==h&&h;this.graphs=e,this.dfsCode=new xt,this.support=0,this.frequentSize1Subgraphs=[],this.frequentSubgraphs=[],this.minSupport=r,this.top=c,this.directed=f,this.counter=0,this.maxNodeNum=s,this.minNodeNum=o,this.verbose=d,this.maxNodeNum<this.minNodeNum&&(this.maxNodeNum=this.minNodeNum),this.reportDF=[]}return t.prototype.findForwardRootEdges=function(t,e){var n=this,r=[],i=t.nodeMap;return e.edges.forEach((function(t){(n.directed||e.label<=i[t.to].label)&&r.push(t)})),r},t.prototype.findBackwardEdge=function(t,e,n,r){if(!this.directed&&e===n)return null;for(var i=t.nodeMap,o=i[n.to].edges,a=o.length,s=0;s<a;s++){var u=o[s];if(!r.hasEdge(u)&&u.to===e.from)if(this.directed){if(i[e.from].label<i[n.to].label||i[e.from].label===i[n.to].label&&e.label<=u.label)return u}else if(e.label<u.label||e.label===u.label&&i[e.to].label<=i[n.to].label)return u}return null},t.prototype.findForwardPureEdges=function(t,e,n,r){for(var i=[],o=e.to,a=t.nodeMap[o].edges,s=a.length,u=0;u<s;u++){var c=a[u],l=t.nodeMap[c.to];n<=l.label&&!r.hasNode(l)&&i.push(c)}return i},t.prototype.findForwardRmpathEdges=function(t,e,n,r){for(var i=[],o=t.nodeMap,a=o[e.to].label,s=o[e.from].edges,u=s.length,c=0;c<u;c++){var l=s[c],f=o[l.to].label;e.to===l.to||n>f||r.hasNode(o[l.to])||(e.label<l.label||e.label===l.label&&a<=f)&&i.push(l)}return i},t.prototype.getSupport=function(t){var e={};return t.forEach((function(t){e[t.graphId]||(e[t.graphId]=!0)})),Object.keys(e).length},t.prototype.findMinLabel=function(t){var e=void 0;return Object.keys(t).forEach((function(n){var r=t[n],i=r.nodeLabel1,o=r.edgeLabel,a=r.nodeLabel2;e?(i<e.nodeLabel1||i===e.nodeLabel1&&o<e.edgeLabel||i===e.nodeLabel1&&o===e.edgeLabel&&a<e.nodeLabel2)&&(e={nodeLabel1:i,edgeLabel:o,nodeLabel2:a}):e={nodeLabel1:i,edgeLabel:o,nodeLabel2:a}})),e},t.prototype.isMin=function(){var t=this,e=this.dfsCode;if(this.verbose&&console.log("isMin checking",e),1===e.dfsEdgeList.length)return!0;var n=this.directed,r=e.toGraph(-1,n),i=r.nodeMap,o=new xt,a={};r.nodes.forEach((function(e){t.findForwardRootEdges(r,e).forEach((function(t){var n=i[t.to],o="".concat(e.label,"-").concat(t.label,"-").concat(n.label);a[o]||(a[o]={projected:[],nodeLabel1:e.label,edgeLabel:t.label,nodeLabel2:n.label});var s={graphId:r.id,edge:t,preNode:null};a[o].projected.push(s)}))}));var s=this.findMinLabel(a);if(s){o.dfsEdgeList.push(new bt(0,1,s.nodeLabel1,s.edgeLabel,s.nodeLabel2));var u="".concat(s.nodeLabel1,"-").concat(s.edgeLabel,"-").concat(s.nodeLabel2);return function a(s){for(var u=o.buildRmpath(),c=o.dfsEdgeList[0].nodeEdgeNodeLabel.nodeLabel1,l=o.dfsEdgeList[u[0]].toNode,f={},h=!1,d=0,p=n?-1:0,g=function(e){if(h)return"break";s.forEach((function(n){var i=new wt(n),a=t.findBackwardEdge(r,i.edges[u[e]],i.edges[u[0]],i);a&&(f[a.label]||(f[a.label]={projected:[],edgeLabel:a.label}),f[a.label].projected.push({graphId:r.id,edge:f,preNode:n}),d=o.dfsEdgeList[u[e]].fromNode,h=!0)}))},v=u.length-1;v>p;v--){if("break"===g(v))break}if(h){var y=t.findMinLabel(f);o.dfsEdgeList.push(new bt(l,d,"-1",y.edgeLabel,"-1"));var m=o.dfsEdgeList.length-1;return t.dfsCode.dfsEdgeList[m]===o.dfsEdgeList[m]&&a(f[y.edgeLabel].projected)}var b={};h=!1;var x=0;s.forEach((function(e){var n=new wt(e),o=t.findForwardPureEdges(r,n.edges[u[0]],c,n);o.length>0&&(h=!0,x=l,o.forEach((function(t){var n="".concat(t.label,"-").concat(i[t.to].label);b[n]||(b[n]={projected:[],edgeLabel:t.label,nodeLabel2:i[t.to].label}),b[n].projected.push({graphId:r.id,edge:t,preNode:e})})))}));var w=u.length,_=function(e){if(h)return"break";var n=u[e];s.forEach((function(e){var a=new wt(e),s=t.findForwardRmpathEdges(r,a.edges[n],c,a);s.length>0&&(h=!0,x=o.dfsEdgeList[n].fromNode,s.forEach((function(t){var n="".concat(t.label,"-").concat(i[t.to].label);b[n]||(b[n]={projected:[],edgeLabel:t.label,nodeLabel2:i[t.to].label}),b[n].projected.push({graphId:r.id,edge:t,preNode:e})})))}))};for(v=0;v<w;v++){if("break"===_(v))break}if(!h)return!0;var E=t.findMinLabel(b);o.dfsEdgeList.push(new bt(x,l+1,"-1",E.edgeLabel,E.nodeLabel2));var S=o.dfsEdgeList.length-1;return e.dfsEdgeList[S]===o.dfsEdgeList[S]&&a(b["".concat(E.edgeLabel,"-").concat(E.nodeLabel2)].projected)}(a[u].projected)}},t.prototype.report=function(){if(!(this.dfsCode.getNodeNum()<this.minNodeNum)){this.counter++;var t=this.dfsCode.toGraph(this.counter,this.directed);this.frequentSubgraphs.push(Object(v.clone)(t))}},t.prototype.subGraphMining=function(t){var e=this;if(!(this.getSupport(t)<this.minSupport)&&this.isMin()){this.report();var n=this.dfsCode.getNodeNum(),r=this.dfsCode.buildRmpath(),i=this.dfsCode.dfsEdgeList[r[0]].toNode,o=this.dfsCode.dfsEdgeList[0].nodeEdgeNodeLabel.nodeLabel1,a={},s={};t.forEach((function(t){for(var u=e.graphs[t.graphId],c=u.nodeMap,l=new wt(t),f=r.length-1;f>=0;f--){var h=e.findBackwardEdge(u,l.edges[r[f]],l.edges[r[0]],l);if(h){var d="".concat(e.dfsCode.dfsEdgeList[r[f]].fromNode,"-").concat(h.label);s[d]||(s[d]={projected:[],toNodeId:e.dfsCode.dfsEdgeList[r[f]].fromNode,edgeLabel:h.label}),s[d].projected.push({graphId:t.graphId,edge:h,preNode:t})}}if(!(n>=e.maxNodeNum)){e.findForwardPureEdges(u,l.edges[r[0]],o,l).forEach((function(e){var n="".concat(i,"-").concat(e.label,"-").concat(c[e.to].label);a[n]||(a[n]={projected:[],fromNodeId:i,edgeLabel:e.label,nodeLabel2:c[e.to].label}),a[n].projected.push({graphId:t.graphId,edge:e,preNode:t})}));var p=function(n){e.findForwardRmpathEdges(u,l.edges[r[n]],o,l).forEach((function(i){var o="".concat(e.dfsCode.dfsEdgeList[r[n]].fromNode,"-").concat(i.label,"-").concat(c[i.to].label);a[o]||(a[o]={projected:[],fromNodeId:e.dfsCode.dfsEdgeList[r[n]].fromNode,edgeLabel:i.label,nodeLabel2:c[i.to].label}),a[o].projected.push({graphId:t.graphId,edge:i,preNode:t})}))};for(f=0;f<r.length;f++)p(f)}})),Object.keys(s).forEach((function(t){var n=s[t],r=n.toNodeId,o=n.edgeLabel;e.dfsCode.dfsEdgeList.push(new bt(i,r,"-1",o,"-1")),e.subGraphMining(s[t].projected),e.dfsCode.dfsEdgeList.pop()})),Object.keys(a).forEach((function(t){var n=a[t],r=n.fromNodeId,o=n.edgeLabel,s=n.nodeLabel2;e.dfsCode.dfsEdgeList.push(new bt(r,i+1,"-1",o,s)),e.subGraphMining(a[t].projected),e.dfsCode.dfsEdgeList.pop()}))}},t.prototype.generate1EdgeFrequentSubGraphs=function(){var t=this.graphs,e=this.directed,n=this.minSupport,r=this.frequentSize1Subgraphs,i={},o={},a={},s={};return Object.keys(t).forEach((function(n){var r=t[n],u=r.nodeMap;r.nodes.forEach((function(t,r){var c=t.label,l="".concat(n,"-").concat(c);if(!a[l]){var f=i[c]||0;f++,i[c]=f}a[l]={graphKey:n,label:c},t.edges.forEach((function(t){var r=c,i=u[t.to].label;if(!e&&r>i){var a=i;i=r,r=a}var l=t.label,f="".concat(n,"-").concat(r,"-").concat(l,"-").concat(i),h="".concat(r,"-").concat(l,"-").concat(i);if(!o[h]){var d=o[h]||0;d++,o[h]=d}s[f]={graphId:n,nodeLabel1:r,edgeLabel:l,nodeLabel2:i}}))}))})),Object.keys(i).forEach((function(t){if(!(i[t]<n)){var e={nodes:[],edges:[]};e.nodes.push({id:"0",label:t}),r.push(e)}})),r},t.prototype.run=function(){var t=this;if(this.frequentSize1Subgraphs=this.generate1EdgeFrequentSubGraphs(),!(this.maxNodeNum<2)){var e=this.graphs,n=(this.directed,{});Object.keys(e).forEach((function(r){var i=e[r],o=i.nodeMap;i.nodes.forEach((function(e){t.findForwardRootEdges(i,e).forEach((function(t){var i=o[t.to],a="".concat(e.label,"-").concat(t.label,"-").concat(i.label);n[a]||(n[a]={projected:[],nodeLabel1:e.label,edgeLabel:t.label,nodeLabel2:i.label});var s={graphId:r,edge:t,preNode:null};n[a].projected.push(s)}))}))})),Object.keys(n).forEach((function(e){var r=n[e],i=r.projected,o=r.nodeLabel1,a=r.edgeLabel,s=r.nodeLabel2;t.dfsCode.dfsEdgeList.push(new bt(0,1,o,a,s)),t.subGraphMining(i),t.dfsCode.dfsEdgeList.pop()}))}},t}(),Et=function(t){var e=t.graphs,n=t.directed,r=void 0!==n&&n,i=t.nodeLabelProp,o=void 0===i?"cluster":i,a=t.edgeLabelProp,s=void 0===a?"cluster":a,u=function(t,e,n,r){var i={};return Object.keys(t).forEach((function(o,a){var s=t[o],u=new mt(a,!0,e),c={};s.nodes.forEach((function(t,e){u.addNode(e,t[n]),c[t.id]=e})),s.edges.forEach((function(t,e){var n=c[t.source],i=c[t.target];u.addEdge(-1,n,i,t[r])})),u&&u.getNodeNum()&&(i[u.id]=u)})),i}(e,r,o,s),c=t.minSupport,l=t.maxNodeNum,f=t.minNodeNum,h=t.verbose,d=t.top,p=new _t({graphs:u,minSupport:c,maxNodeNum:l,minNodeNum:f,top:d,verbose:h,directed:r});return p.run(),function(t,e,n){var r=[];return t.forEach((function(t){var i={nodes:[],edges:[]};t.nodes.forEach((function(t){var n;i.nodes.push(((n={id:"".concat(t.id)})[e]=t.label,n))})),t.edges.forEach((function(t){var e;i.edges.push(((e={source:"".concat(t.from),target:"".concat(t.to)})[n]=t.label,e))})),r.push(i)})),r}(p.frequentSubgraphs,o,s)},St=function(t,e,n,r){void 0===n&&(n="cluster"),void 0===r&&(r=2);var i=[],o=t.nodes;return e.forEach((function(t,e){i.push(Mt(o,t,e,n,r))})),i},Mt=function(t,e,n,r,i){var o=[n],a=[],s={};return e.forEach((function(e,u){if(e<=i&&n!==u){o.push(u),a.push(t[u]);var c=t[u][r];s[c]?(s[c].count++,s[c].dists.push(e)):s[c]={count:1,dists:[e]}}})),Object.keys(s).forEach((function(t){s[t].dists=s[t].dists.sort((function(t,e){return t-e}))})),{nodeIdx:n,nodeId:t[n].id,nodeIdxs:o,neighbors:a,neighborNum:o.length-1,nodeLabelCountMap:s}},Ot=function(t,e,n,r){var i=n.nodes;return r||(r={}),Object.keys(t).forEach((function(o){var a,s;if(!r||!r[o]){r[o]={nodes:[],edges:[]};var u=t[o],c=null===(a=e[u.start])||void 0===a?void 0:a.nodeIdxs,l=null===(s=e[u.end])||void 0===s?void 0:s.nodeIdxs;if(c&&l){var f=new Set(l),h=c.filter((function(t){return f.has(t)}));if(h&&h.length){for(var d={},p=h.length,g=0;g<p;g++){var v=i[h[g]];r[o].nodes.push(v),d[v.id]=!0}n.edges.forEach((function(t){d[t.source]&&d[t.target]&&r[o].edges.push(t)}))}}}})),r},kt=function(t,e,n,r){var i,o,a={};t.nodes.forEach((function(t){a[t.id]=t}));var s=0;return!(null===(i=null==e?void 0:e.edges)||void 0===i?void 0:i.length)||(null===(o=null==e?void 0:e.nodes)||void 0===o?void 0:o.length)<2?0:(t.edges.forEach((function(t){var i=a[t.source][n],o=a[t.target][n],u=null==e?void 0:e.nodes[0][n],c=null==e?void 0:e.nodes[1][n],l=null==e?void 0:e.edges[0][r];t[r]===l&&(i===u&&o===c||i===c&&o===u)&&s++})),s)},At=function(t,e){var n={},r={};return t.forEach((function(t,i){n[t.id]={idx:i,node:t,degree:0,inDegree:0,outDegree:0};var o=t[e];r[o]||(r[o]=[]),r[o].push(t)})),{nodeMap:n,nodeLabelMap:r}},Ct=function(t,e,n){var r={},i={};return t.forEach((function(t,o){r["".concat(C)]={idx:o,edge:t};var a=t[e];i[a]||(i[a]=[]),i[a].push(t);var s=n[t.source];s&&(s.degree++,s.outDegree++);var u=n[t.target];u&&(u.degree++,u.inDegree++)})),{edgeMap:r,edgeLabelMap:i}},jt=function(t,e,n){var r=e.length,i={};return e.forEach((function(e,o){for(var a=n?0:o+1,s=t[o].id,u=a;u<r;u++)if(o!==u){var c=t[u].id,l=e[u];i["".concat(s,"-").concat(c)]=l,n||(i["".concat(c,"-").concat(s)]=l)}})),i},It=function(t,e,n,r,i,o,a,s,u,c,l){var f,h="".concat(e.id,"-").concat(n.id);if(c&&c[h])return c[h];var d=l?l[h]:void 0;if(!d){var p=((f={})[h]={start:r[e.id].idx,end:r[n.id].idx,distance:i},f);d=(l=Ot(p,o,t,l))[h]}return kt(d,a,s,u)},Tt=function(t,e,n,r){var i,o,a,s=null===(i=t[e])||void 0===i?void 0:i.degree,u=null===(o=t[e])||void 0===o?void 0:o.inDegree,c=null===(a=t[e])||void 0===a?void 0:a.outDegree;return void 0===t[e]&&(s=1/0,u=1/0,c=1/0,r[e].forEach((function(t){var e=n[t.id].degree;s>e&&(s=e);var r=n[t.id].inDegree;u>r&&(u=r);var i=n[t.id].outDegree;c>i&&(c=i)})),t[e]={degree:s,inDegree:u,outDegree:c}),{minPatternNodeLabelDegree:s,minPatternNodeLabelInDegree:u,minPatternNodeLabelOutDegree:c}},Nt=function(t,e,n,r,i,o,a){var s;if(void 0===n&&(n=!1),void 0===o&&(o="cluster"),void 0===a&&(a="cluster"),t&&t.nodes){var u=t.nodes.length;if(u){var c=H(t,n),l=H(e,n),f=jt(t.nodes,c,n),h=jt(e.nodes,l,n),d=At(t.nodes,o),p=d.nodeMap,v=d.nodeLabelMap,y=At(e.nodes,o),m=y.nodeMap,b=y.nodeLabelMap;Ct(t.edges,a,p);var x=Ct(e.edges,a,m).edgeLabelMap,w=[];null==l||l.forEach((function(t){w=w.concat(t)})),i||(i=Math.max.apply(Math,Object(g.__spreadArray)(Object(g.__spreadArray)([],w,!1),[2],!1))),r||(r=i);var _=St(t,c,o,r),E=St(e,l,o,r),S=function(t,e,n,r,i){var o=Math.ceil(n/e),a={},s=0;return r.forEach((function(t,r){for(var u=0,c=0,l=t.nodeIdxs,f=t.neighborNum-1;u<o;){for(var h=l[1+Math.floor(Math.random()*f)],d=0;(a["".concat(r,"-").concat(h)]||a["".concat(h,"-").concat(r)])&&(h=Math.floor(Math.random()*e),!(++d>2*e)););if(d<2*e&&(a["".concat(r,"-").concat(h)]={start:r,end:h,distance:i[r][h]},u++,++s>=n))return a;if(++c>2*e)break}u<o&&(o=(o+(o-u))/(e-r-1))})),a}(0,u,Math.min(100,u*(u-1)/2),_,c),M=Ot(S,_,t),O=Et({graphs:M,nodeLabelProp:o,edgeLabelProp:a,minSupport:1,minNodeNum:1,maxNodeNum:4,directed:n}).slice(0,10),k=O.length,A=[];O.forEach((function(t,e){A[e]={},Object.keys(M).forEach((function(n){var r=M[n],i=kt(r,t,o,a);A[e][n]=i}))}));var C=function(t,e,n){for(var r=1/0,i=0,o=function(e){var n=t[e],o=Object.keys(n).sort((function(t,e){return n[t]-n[e]})),a=[];o.forEach((function(t,e){a[e%10]||(a[e%10]={graphs:[],totalCount:0,aveCount:0}),a[e%10].graphs.push(t),a[e%10].totalCount+=n[t]}));var s=0,u=[];a.forEach((function(t){var e=t.totalCount/t.graphs.length;t.aveCount=e,u.push(e);var r=0,i=t.length;t.graphs.forEach((function(e,i){var o=n[e];t.graphs.forEach((function(t,e){i!==e&&(r+=Math.abs(o-n[t]))}))})),s+=r/=i*(i-1)/2})),s/=a.length;var c=0;u.forEach((function(t,e){u.forEach((function(n,r){e!==r&&(c+=Math.abs(t-n))})),c/=u.length*(u.length-1)/2}));var l=c-s;r<l&&(r=l,i=e)},a=0;a<e;a++)o(a);return{structure:n[i],structureCountMap:t[i]}}(A,k,O),j=C.structure,I=C.structureCountMap,T=e.nodes[0],N=[],P=null===(s=e.nodes[0])||void 0===s?void 0:s[o],D=-1/0;e.nodes.forEach((function(t){var e=t[o],n=v[e];(null==n?void 0:n.length)>D&&(D=n.length,N=n,P=e,T=t)}));var L={},R={},B={},F={},z={},G={};Object.keys(b).forEach((function(r,i){z[r]=[],n&&(G[r]=[]);var s=-1/0,u=b[r],c={};u.forEach((function(t){var e=h["".concat(T.id,"-").concat(t.id)];if(e&&z[r].push(e),s<e&&(s=e),c["".concat(T.id,"-").concat(t.id)]={start:0,end:m[t.id].idx,distance:e},n){var i=h["".concat(t.id,"-").concat(T.id)];i&&G[r].push(i)}})),z[r]=z[r].sort((function(t,e){return t-e})),n&&(G[r]=G[r].sort((function(t,e){return t-e}))),R=Ot(c,E,e,R);var l=[];if(Object.keys(c).forEach((function(t){if(B[t])l.push(B[t]);else{var e=R[t];B[t]=kt(e,j,o,a),l.push(B[t])}})),l=l.sort((function(t,e){return e-t})),F["".concat(T.id,"-").concat(r)]=l,r!==P)for(var d=function(e){var n=N[e],i=_[p[n.id].idx],s=i.nodeLabelCountMap[r],u=b[r].length;if(!s||s.count<u)return N.splice(e,1),"continue";for(var c=!1,h=0;h<u;h++)if(s.dists[h]>z[r][h]){c=!0;break}if(c)return N.splice(e,1),"continue";var d={};i.neighbors.forEach((function(t){var e=f["".concat(n.id,"-").concat(t.id)];d["".concat(n.id,"-").concat(t.id)]={start:p[n.id].idx,end:p[t.id].idx,distance:e}})),M=Ot(d,_,t,M);var g=[];Object.keys(d).forEach((function(t){if(I[t])g.push(I[t]);else{var e=M[t];I[t]=kt(e,j,o,a),g.push(I[t])}})),g=g.sort((function(t,e){return e-t}));var v=!1;for(h=0;h<u;h++)if(g[h]<l[h]){v=!0;break}return v?(N.splice(e,1),"continue"):void 0},g=((null==N?void 0:N.length)||0)-1;g>=0;g--)d(g)}));var U=[];null==N||N.forEach((function(r){for(var s=p[r.id].idx,u=Mt(t.nodes,c[s],s,o,i).neighbors,l=!1,h=u.length-1;h>=0;h--){if(u.length+1<e.nodes.length)return void(l=!0);var d=u[h],g=d[o];if(b[g]&&b[g].length)if(z[g]&&z[g].length){var v="".concat(r.id,"-").concat(d.id),y=f[v],x=z[g].length-1;if(y>z[g][x])u.splice(h,1);else{if(n){var w="".concat(d.id,"-").concat(r.id),E=f[w];if(x=G[g].length-1,E>G[g][x]){u.splice(h,1);continue}}var S=I[v]?I[v]:It(t,r,d,p,y,_,j,o,a,I,M),O="".concat(T.id,"-").concat(g);if(S<F[O][F[O].length-1])u.splice(h,1);else{var k=Tt(L,g,m,b),A=k.minPatternNodeLabelDegree;k.minPatternNodeLabelInDegree,k.minPatternNodeLabelOutDegree;p[d.id].degree<A&&u.splice(h,1)}}}else u.splice(h,1);else u.splice(h,1)}l||U.push({nodes:[r].concat(u)})}));var X=Y(e,T.id,!1).length,W={};n?(Object.keys(X).forEach((function(t){var e=m[t].node[o];W[e]?W[e].push(X[t]):W[e]=[X[t]]})),Object.keys(W).forEach((function(t){W[t].sort((function(t,e){return t-e}))}))):W=z;for(var V=function(r){var i=U[r],s=i.nodes[0],u={},c={};i.nodes.forEach((function(t,e){c[t.id]={idx:e,node:t,degree:0,inDegree:0,outDegree:0};var n=t[o];u[n]?u[n]++:u[n]=1}));var l=[],f={};t.edges.forEach((function(t){c[t.source]&&c[t.target]&&(l.push(t),f[t[a]]?f[t[a]]++:f[t[a]]=1,c[t.source].degree++,c[t.target].degree++,c[t.source].outDegree++,c[t.target].inDegree++)}));for(var h=Object.keys(x).length,d=!1,g=0;g<h;g++){var v=Object.keys(x)[g];if(!f[v]||f[v]<x[v].length){d=!0;break}}if(d)return U.splice(r,1),"continue";var y=l.length;if(y<e.edges.length)return U.splice(r,1),"break";var w=!1,_=function(t){var e=l[t],r=e[a],i=x[r];if(!i||!i.length)return f[r]--,i&&f[r]<i.length?(w=!0,"break"):(l.splice(t,1),c[e.source].degree--,c[e.target].degree--,c[e.source].outDegree--,c[e.target].inDegree--,"continue");var s=c[e.source].node[o],u=c[e.target].node[o],h=!1;return i.forEach((function(t){var e=m[t.source].node,r=m[t.target].node;e[o]===s&&r[o]===u&&(h=!0),n||e[o]!==u||r[o]!==s||(h=!0)})),h?void 0:(f[r]--,i&&f[r]<i.length?(w=!0,"break"):(l.splice(t,1),c[e.source].degree--,c[e.target].degree--,c[e.source].outDegree--,c[e.target].inDegree--,"continue"))};for(g=y-1;g>=0;g--){if("break"===_(g))break}if(w)return U.splice(r,1),"continue";i.edges=l;var E=Y(i,i.nodes[0].id,!1).length;if(Object.keys(E).reverse().forEach((function(t){if(t!==i.nodes[0].id&&!w){if(E[t]===1/0){var e=c[t].node[o];if(u[e]--,u[e]<b[e].length)return void(w=!0);var n=i.nodes.indexOf(c[t].node);return i.nodes.splice(n,1),void(c[t]=void 0)}var r=p[t].node[o];if(!W[r]||!W[r].length||E[t]>W[r][W[r].length-1]){e=c[t].node[o];if(u[e]--,u[e]<b[e].length)return void(w=!0);n=i.nodes.indexOf(c[t].node);i.nodes.splice(n,1),c[t]=void 0}}})),w)return U.splice(r,1),"continue";for(var S=!0,M=0;S&&!w;){if(S=!1,n?c[s.id].degree<m[T.id].degree||c[s.id].inDegree<m[T.id].inDegree||c[s.id].outDegree<m[T.id].outDegree:c[s.id].degree<m[T.id].degree){w=!0;break}if(u[s[o]]<b[s[o]].length){w=!0;break}for(var O=i.nodes.length-1;O>=0;O--){var k=i.nodes[O],A=c[k.id].degree,C=c[k.id].inDegree,j=c[k.id].outDegree,I=k[o],N=Tt(L,I,m,b),P=N.minPatternNodeLabelDegree,D=N.minPatternNodeLabelInDegree,R=N.minPatternNodeLabelOutDegree;if(n?A<P||C<D||j<R:A<P){if(u[k[o]]--,u[k[o]]<b[k[o]].length){w=!0;break}i.nodes.splice(O,1),c[k.id]=void 0,S=!0}}if(w||!S&&0!==M)break;for(var B=(y=l.length)-1;B>=0;B--){var F=l[B];if(!c[F.source]||!c[F.target]){l.splice(B,1);var z=F[a];if(f[z]--,c[F.source]&&(c[F.source].degree--,c[F.source].outDegree--),c[F.target]&&(c[F.target].degree--,c[F.target].inDegree--),x[z]&&f[z]<x[z].length){w=!0;break}S=!0}}M++}return w||w||i.nodes.length<e.nodes.length||l.length<e.edges.length?(U.splice(r,1),"continue"):void 0},q=U.length-1;q>=0;q--){if("break"===V(q))break}var Z=U.length,K=function(t){var e=U[t],n={};e.edges.forEach((function(t){var e="".concat(t.source,"-").concat(t.target,"-").concat(t.label);n[e]?n[e]++:n[e]=1}));for(var r=function(t){var e=U[t],r={};e.edges.forEach((function(t){var e="".concat(t.source,"-").concat(t.target,"-").concat(t.label);r[e]?r[e]++:r[e]=1}));var i=!0;Object.keys(r).length!==Object.keys(n).length?i=!1:Object.keys(n).forEach((function(t){r[t]!==n[t]&&(i=!1)})),i&&U.splice(t,1)},i=Z-1;i>t;i--)r(i);Z=U.length};for(q=0;q<=Z-1;q++)K(q);return U}}},Pt=function(){function t(t){void 0===t&&(t=10),this.linkedList=new M,this.maxStep=t}return Object.defineProperty(t.prototype,"length",{get:function(){return this.linkedList.toArray().length},enumerable:!1,configurable:!0}),t.prototype.isEmpty=function(){return!this.linkedList.head},t.prototype.isMaxStack=function(){return this.toArray().length>=this.maxStep},t.prototype.peek=function(){return this.isEmpty()?null:this.linkedList.head.value},t.prototype.push=function(t){this.linkedList.prepend(t),this.length>this.maxStep&&this.linkedList.deleteTail()},t.prototype.pop=function(){var t=this.linkedList.deleteHead();return t?t.value:null},t.prototype.toArray=function(){return this.linkedList.toArray().map((function(t){return t.value}))},t.prototype.clear=function(){for(;!this.isEmpty();)this.pop()},t}(),Dt=G,Lt={getAdjMatrix:_,breadthFirstSearch:j,connectedComponent:T,getDegree:P,getInDegree:D,getOutDegree:L,detectCycle:G,detectDirectedCycle:Dt,detectAllCycles:z,detectAllDirectedCycle:F,detectAllUndirectedCycle:B,depthFirstSearch:R,dijkstra:Y,findAllPath:V,findShortestPath:W,floydWarshall:H,labelPropagation:q,louvain:nt,iLouvain:rt,kCore:it,kMeans:at,cosineSimilarity:st,nodesCosineSimilarity:ut,minimumSpanningTree:pt,pageRank:gt,getNeighbors:k,Stack:Pt,GADDI:Nt},Rt=w.a.transform,Bt=function(t){return function(e,n){return e[t]-n[t]}},Ft=function(t,e,n){return t>=e&&t<=n},zt=function(t,e,n,r){var i=n.x-t.x,o=n.y-t.y,a=e.x-t.x,s=e.y-t.y,u=r.x-n.x,c=r.y-n.y,l=a*c-s*u,f=1/l;if(l*l>1e-4*(a*a+s*s)*(u*u+c*c)){var h=(i*c-o*u)*f,d=(i*s-o*a)*f;return Ft(h,0,1)&&Ft(d,0,1)?{x:t.x+h*a,y:t.y+h*s}:null}return null},Gt=function(t,e){var n=t.x,r=t.y,i=t.width,o=t.height,a=[],s={x:n+i/2,y:r+o/2};a.push({x:n,y:r}),a.push({x:n+i,y:r}),a.push({x:n+i,y:r+o}),a.push({x:n,y:r+o}),a.push({x:n,y:r});for(var u=null,c=1;c<a.length&&!(u=zt(a[c-1],a[c],s,e));c++);return u},Yt=function(t,e){var n=t.x,r=t.y,i=t.r,o=e.x-n,a=e.y-r;if(o*o+a*a<i*i)return null;var s=Math.atan(a/o);return{x:n+Math.abs(i*Math.cos(s))*Math.sign(o),y:r+Math.abs(i*Math.sin(s))*Math.sign(a)}},Ut=function(t,e){var n=t.rx,r=t.ry,i=t.x,o=t.y,a=e.x-i,s=e.y-o,u=Math.atan2(s/r,a/n);return u<0&&(u+=2*Math.PI),{x:i+n*Math.cos(u),y:o+r*Math.sin(u)}},Xt=function(t,e,n){void 0===n&&(n=1);var r=[t.x,t.y,n];return e&&!isNaN(e[0])||(e=[1,0,0,0,1,0,0,0,1]),w.d.transformMat3(r,r,e),{x:r[0],y:r[1]}},Wt=function(t,e,n){void 0===n&&(n=1),e&&!isNaN(e[0])||(e=[1,0,0,0,1,0,0,0,1]);var r=w.b.invert([1,0,0,0,1,0,0,0,1],e);r||(r=[1,0,0,0,1,0,0,0,1]);var i=[t.x,t.y,n];return w.d.transformMat3(i,i,r),{x:i[0],y:i[1]}},Vt=function(t,e,n){var r=t.x-e.x,i=t.y-e.y,o=t.x-n.x,a=t.y-n.y,s=(t.x*t.x-e.x*e.x-e.y*e.y+t.y*t.y)/2,u=(t.x*t.x-n.x*n.x-n.y*n.y+t.y*t.y)/2,c=i*o-r*a;return{x:-(a*s-i*u)/c,y:-(r*u-o*s)/c}},Ht=function(t,e){var n=t.x-e.x,r=t.y-e.y;return Math.sqrt(n*n+r*r)},qt=function(t,e){var n=[];return t.forEach((function(t){var r=[];t.forEach((function(t){r.push(t*e)})),n.push(r)})),n},Zt=function(t){for(var e=[],n=t.length,r=0;r<n;r+=1){e[r]=[];for(var i=0;i<n;i+=1)r===i?e[r][i]=0:0!==t[r][i]&&t[r][i]?e[r][i]=t[r][i]:e[r][i]=1/0}for(var o=0;o<n;o+=1)for(r=0;r<n;r+=1)for(i=0;i<n;i+=1)e[r][i]>e[r][o]+e[o][i]&&(e[r][i]=e[r][o]+e[o][i]);return e},Kt=function(t,e){var n=t.nodes,r=t.edges,i=[],o={};if(!n)throw new Error("invalid nodes data!");return n&&n.forEach((function(t,e){o[t.id]=e;i.push([])})),r&&r.forEach((function(t){var n=t.source,r=t.target,a=o[n],s=o[r];i[a][s]=1,e||(i[s][a]=1)})),i},Qt=function(t,e){t.translate(e.x,e.y)},$t=function(t,e,n,r){void 0===r&&(r={duration:500});var i=t.getMatrix();i||(i=[1,0,0,0,1,0,0,0,1]);var o=t.getCanvasBBox(),a=e.x-o.minX,s=e.y-o.minY;if(n){var u=a*i[0],c=s*i[4],l=0,f=0,h=0,d=0;t.animate((function(t){return i=Rt(i,[["t",(h=u*t)-l,(d=c*t)-f]]),l=h,f=d,{matrix:i}}),r)}else{var p=Rt(i,[["t",a,s]]);t.setMatrix(p)}},Jt=function(t,e){var n=t.getMatrix();n||(n=[1,0,0,0,1,0,0,0,1]);var r=e;Object(v.isArray)(e)||(r=[e,e]),Object(v.isArray)(e)&&1===e.length&&(r=[e[0],e[0]]),n=Rt(n,[["s",r[0],r[1]]]),t.setMatrix(n)},te=function(t,e){var n=t.getMatrix();n||(n=[1,0,0,0,1,0,0,0,1]),n=Rt(n,[["r",e]]),t.setMatrix(n)},ee=function(t,e,n){for(var r=[],i=0;i<t;i++)r[i]=0;return n.forEach((function(t){t.source&&(r[e[t.source]]+=1),t.target&&(r[e[t.target]]+=1)})),r};function ne(t,e,n){return(n[0]-t[0])*(e[1]-t[1])==(e[0]-t[0])*(n[1]-t[1])&&Math.min(t[0],e[0])<=n[0]&&n[0]<=Math.max(t[0],e[0])&&Math.min(t[1],e[1])<=n[1]&&n[1]<=Math.max(t[1],e[1])}var re=function(t,e,n){var r=!1,i=t.length;function o(t){return Math.abs(t)<1e-6?0:t<0?-1:1}if(i<=2)return!1;for(var a=0;a<i;a++){var s=t[a],u=t[(a+1)%i];if(ne(s,u,[e,n]))return!0;o(s[1]-n)>0!=o(u[1]-n)>0&&o(e-(n-s[1])*(s[0]-u[0])/(s[1]-u[1])-s[0])<0&&(r=!r)}return r},ie=function(t,e){return!(e.minX>t.maxX||e.maxX<t.minX||e.minY>t.maxY||e.maxY<t.minY)},oe=function(t,e){var n=function(t){var e=t.map((function(t){return t[0]})),n=t.map((function(t){return t[1]}));return{minX:Math.min.apply(null,e),maxX:Math.max.apply(null,e),minY:Math.min.apply(null,n),maxY:Math.max.apply(null,n)}},r=function(t){for(var e=[],n=t.length,r=0;r<n-1;r++){var i=t[r],o=t[r+1];e.push({from:{x:i[0],y:i[1]},to:{x:o[0],y:o[1]}})}if(e.length>1){var a=t[0],s=t[n-1];e.push({from:{x:s[0],y:s[1]},to:{x:a[0],y:a[1]}})}return e};if(t.length<2||e.length<2)return!1;var i=n(t),o=n(e);if(!ie(i,o))return!1;var a=!1;if(Object(v.each)(e,(function(e){if(re(t,e[0],e[1]))return a=!0,!1})),a)return!0;if(Object(v.each)(t,(function(t){if(re(e,t[0],t[1]))return a=!0,!1})),a)return!0;var s=r(t),u=r(e),c=!1;return Object(v.each)(u,(function(t){if(function(t,e){var n=!1;return Object(v.each)(t,(function(t){if(zt(t.from,t.to,e.from,e.to))return n=!0,!1})),n}(s,t))return c=!0,!1})),c},ae=function(){function t(t,e,n,r){this.x1=t,this.y1=e,this.x2=n,this.y2=r}return t.prototype.getBBox=function(){var t=Math.min(this.x1,this.x2),e=Math.min(this.y1,this.y2),n=Math.max(this.x1,this.x2),r=Math.max(this.y1,this.y2);return{x:t,y:e,minX:t,minY:e,maxX:n,maxY:r,width:n-t,height:r-e}},t}(),se=function(t,e){return{top:[t.minX,t.minY,t.maxX,t.minY],left:[t.minX,t.minY,t.minX,t.maxY],bottom:[t.minX,t.maxY,t.maxX,t.maxY],right:[t.maxX,t.minY,t.maxX,t.maxY]}[e]},ue=function(t,e){var n=(e.x2-e.x1)*(t.y1-e.y1)-(e.y2-e.y1)*(t.x1-e.x1),r=(t.x2-t.x1)*(t.y1-e.y1)-(t.y2-t.y1)*(t.x1-e.x1),i=(e.y2-e.y1)*(t.x2-t.x1)-(e.x2-e.x1)*(t.y2-t.y1);if(i){var o=n/i,a=r/i;if(o>=0&&o<=1&&a>=0&&a<=1)return o}return Number.POSITIVE_INFINITY},ce=function(t,e){for(var n=["top","left","bottom","right"],r=t.getBBox(),i=0,o=[],a=0;a<4;a++){var s=se(r,n[a]),u=s[0],c=s[1],l=s[2],f=s[3];o[a]=zt({x:e.x1,y:e.y1},{x:e.x2,y:e.y2},{x:u,y:c},{x:l,y:f}),o[a]&&(i+=1)}return[o,i]},le=function(t,e){for(var n=["top","left","bottom","right"],r=t.getBBox(),i=Number.POSITIVE_INFINITY,o=0,a=0;a<4;a++){var s=se(r,n[a]),u=s[0],c=s[1],l=s[2],f=s[3],h=ue(e,new ae(u,c,l,f));(h=Math.abs(h-.5))>=0&&h<=1&&(o+=1,i=h<i?h:i)}return 0===o?-1:i},fe=function(t){var e=0,n=0;if(t.length>0){for(var r=0,i=t;r<i.length;r++){var o=i[r];e+=o.x,n+=o.y}e/=t.length,n/=t.length}return{x:e,y:n}},he=function(t,e){return Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)},de=function(t,e){var n,r=e.x1,i=e.y1,o=e.x2-r,a=e.y2-i,s=t.x-r,u=t.y-i,c=s*o+u*a;n=c<=0||(c=(s=o-s)*o+(u=a-u)*a)<=0?0:c*c/(o*o+a*a);var l=s*s+u*u-n;return l<0&&(l=0),l},pe=function(t,e,n){return void 0===n&&(n=.001),Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)<Math.pow(n,2)},ge=function(t,e){var n=t.x<e.x,r=t.x>e.x+e.width,i=t.y>e.y+e.height,o=t.y<e.y;if(!(n||r||i||o))return 0;if(i&&!n&&!r)return Math.pow(e.y+e.height-t.y,2);if(o&&!n&&!r)return Math.pow(t.y-e.y,2);if(n&&!i&&!o)return Math.pow(e.x-t.x,2);if(r&&!i&&!o)return Math.pow(e.x+e.width-t.x,2);var a=Math.min(Math.abs(e.x-t.x),Math.abs(e.x+e.width-t.x)),s=Math.min(Math.abs(e.y-t.y),Math.abs(e.y+e.height-t.y));return a*a+s*s},ve=function(t,e){var n=t[0],r=t[1],i=t[2],o=t[3],a=e.x,s=e.y,u=[i-n,o-r];if(w.c.exactEquals(u,[0,0]))return NaN;var c=[-u[1],u[0]];w.c.normalize(c,c);var l=[a-n,s-r];return Math.abs(w.c.dot(l,c))},ye=function(t,e,n){return t+(e-t)*n},me=function(t,e,n){for(var r=Math.min(t.length,e.length),i=new Array(r),o=0;o<r;o++)i[o]=ye(t[o],e[o],n);return i},be="rgb(253, 253, 253)",xe="rgb(95, 149, 255)",we="rgb(95, 149, 255)",_e="rgb(247, 250, 255)",Ee="rgb(95, 149, 255)",Se="rgb(224, 224, 224)",Me="rgb(95, 149, 255)",Oe="rgb(224, 224, 224)",ke="rgb(95, 149, 255)",Ae={version:"0.8.23",rootContainerClassName:"root-container",nodeContainerClassName:"node-container",edgeContainerClassName:"edge-container",comboContainerClassName:"combo-container",delegateContainerClassName:"delegate-container",defaultLoopPosition:"top",nodeLabel:{style:{fill:"#000",fontSize:12,textAlign:"center",textBaseline:"middle"},offset:4},defaultNode:{type:"circle",style:{lineWidth:1,stroke:xe,fill:"rgb(239, 244, 255)"},size:20,color:xe,linkPoints:{size:8,lineWidth:1,fill:_e,stroke:we}},nodeStateStyles:{active:{fill:_e,stroke:we,lineWidth:2,shadowColor:xe,shadowBlur:10},selected:{fill:"rgb(255, 255, 255)",stroke:Ee,lineWidth:4,shadowColor:Ee,shadowBlur:10,"text-shape":{fontWeight:500}},highlight:{fill:"rgb(223, 234, 255)",stroke:"#4572d9",lineWidth:2,"text-shape":{fontWeight:500}},inactive:{fill:"rgb(247, 250, 255)",stroke:"rgb(191, 213, 255)",lineWidth:1},disable:{fill:"rgb(250, 250, 250)",stroke:"rgb(224, 224, 224)",lineWidth:1}},edgeLabel:{style:{fill:"rgb(0, 0, 0)",textAlign:"center",textBaseline:"middle",fontSize:12}},defaultEdge:{type:"line",size:1,style:{stroke:Se,lineAppendWidth:2},color:Se},edgeStateStyles:{active:{stroke:"rgb(95, 149, 255)",lineWidth:1},selected:{stroke:Me,lineWidth:2,shadowColor:Me,shadowBlur:10,"text-shape":{fontWeight:500}},highlight:{stroke:"rgb(95, 149, 255)",lineWidth:2,"text-shape":{fontWeight:500}},inactive:{stroke:"rgb(234, 234, 234)",lineWidth:1},disable:{stroke:"rgb(245, 245, 245)",lineWidth:1}},comboLabel:{style:{fill:"rgb(0, 0, 0)",textBaseline:"middle",fontSize:12},refY:10,refX:10},defaultCombo:{type:"circle",style:{fill:be,lineWidth:1,stroke:Oe,r:5,width:20,height:10},size:[20,5],color:Oe,padding:[25,20,15,20]},comboStateStyles:{active:{stroke:"rgb(95, 149, 255)",lineWidth:1,fill:"rgb(247, 250, 255)"},selected:{stroke:ke,lineWidth:2,fill:be,shadowColor:ke,shadowBlur:10,"text-shape":{fontWeight:500}},highlight:{stroke:"#4572d9",lineWidth:2,fill:be,"text-shape":{fontWeight:500}},inactive:{stroke:"rgb(224, 224, 224)",fill:be,lineWidth:1},disable:{stroke:"rgb(234, 234, 234)",fill:"rgb(250, 250, 250)",lineWidth:1}},delegateStyle:{fill:"#F3F9FF",fillOpacity:.5,stroke:"#1890FF",strokeOpacity:.9,lineDash:[5,5]},windowFontFamily:"undefined"!=typeof window&&window.getComputedStyle&&document.body&&window.getComputedStyle(document.body,null).getPropertyValue("font-family")||"Arial, sans-serif"},Ce={" ":.3329986572265625,a:.5589996337890625,A:.6569992065429687,b:.58599853515625,B:.6769989013671875,c:.5469985961914062,C:.7279998779296875,d:.58599853515625,D:.705999755859375,e:.554998779296875,E:.63699951171875,f:.37299957275390627,F:.5769989013671875,g:.5909988403320312,G:.7479995727539063,h:.555999755859375,H:.7199996948242188,i:.255999755859375,I:.23699951171875,j:.26699981689453123,J:.5169998168945312,k:.5289993286132812,K:.6899993896484375,l:.23499908447265624,L:.5879989624023437,m:.854998779296875,M:.8819992065429687,n:.5589996337890625,N:.7189987182617188,o:.58599853515625,O:.7669998168945312,p:.58599853515625,P:.6419998168945312,q:.58599853515625,Q:.7669998168945312,r:.3649993896484375,R:.6759994506835938,s:.504998779296875,S:.6319992065429687,t:.354998779296875,T:.6189987182617187,u:.5599990844726562,U:.7139999389648437,v:.48199920654296874,V:.6389999389648438,w:.754998779296875,W:.929998779296875,x:.5089996337890625,X:.63699951171875,y:.4959991455078125,Y:.66199951171875,z:.48699951171875,Z:.6239990234375,0:.6,1:.40099945068359377,2:.6,3:.6,4:.6,5:.6,6:.6,7:.5469985961914062,8:.6,9:.6,"[":.3329986572265625,"]":.3329986572265625,",":.26399993896484375,".":.26399993896484375,";":.26399993896484375,":":.26399993896484375,"{":.3329986572265625,"}":.3329986572265625,"\\":.5,"|":.19499969482421875,"=":.604998779296875,"+":.604998779296875,"-":.604998779296875,_:.5,"`":.3329986572265625," ~":.8329986572265625,"!":.3329986572265625,"@":.8579986572265625,"#":.6,$:.6,"%":.9699996948242188,"^":.517999267578125,"&":.7259994506835937,"*":.505999755859375,"(":.3329986572265625,")":.3329986572265625,"<":.604998779296875,">":.604998779296875,"/":.5,"?":.53699951171875},je=Math.PI,Ie=Math.sin,Te=Math.cos,Ne=Ie(je/8),Pe=Te(je/8),De=function(t,e){var n=t.getBBox(),r={x:n.minX,y:n.minY},i={x:n.maxX,y:n.maxY};if(e){var o=e.getMatrix();o||(o=[1,0,0,0,1,0,0,0,1]),r=Xt(r,o),i=Xt(i,o)}var a=r.x,s=r.y,u=i.x,c=i.y;return{x:a,y:s,minX:a,minY:s,maxX:u,maxY:c,width:u-a,height:c-s}},Le=function(t){var e=t.sourceNode||t.targetNode,n=e.get("group").getMatrix();n||(n=[1,0,0,0,1,0,0,0,1]);var r=e.getKeyShape(),i=r.getBBox(),o=t.loopCfg||{},a=o.dist||2*Math.max(i.width,i.height),s=o.position||Ae.defaultLoopPosition,u=[(i.minX+i.maxX)/2+n[6],(i.minY+i.maxY)/2+n[7]],c=[t.startPoint.x,t.startPoint.y],l=[t.endPoint.x,t.endPoint.y],f=i.height/2,h=i.width/2,d=f,p=f,g=d*Ne,v=d*Pe,y=p*Ne,m=p*Pe,b=r.get("type"),x=Math.min(f/2,h/2),_=Math.min(f,h),E=(null==o?void 0:o.pointPadding)?Math.min(_,null==o?void 0:o.pointPadding):x;if(c[0]===l[0]&&c[1]===l[1]){switch(s){case"top":"circle"===b?(c=[u[0]-g,u[1]-v],l=[u[0]+y,u[1]-m]):(c=[u[0]-E,u[1]-f],l=[u[0]+E,u[1]-f]);break;case"top-right":d=f,p=h,"circle"===b?(c=[u[0]+(g=d*Ne),u[1]-(v=d*Pe)],l=[u[0]+(m=p*Pe),u[1]-(y=p*Ne)]):(c=[u[0]+h-E,u[1]-f],l=[u[0]+h,u[1]-f+E]);break;case"right":d=h,p=h,"circle"===b?(c=[u[0]+(v=d*Pe),u[1]-(g=d*Ne)],l=[u[0]+(m=p*Pe),u[1]+(y=p*Ne)]):(c=[u[0]+h,u[1]-E],l=[u[0]+h,u[1]+E]);break;case"bottom-right":d=h,p=f,"circle"===b?(c=[u[0]+(v=d*Pe),u[1]+(g=d*Ne)],l=[u[0]+(y=p*Ne),u[1]+(m=p*Pe)]):(c=[u[0]+h,u[1]+f-E],l=[u[0]+h-E,u[1]+f]);break;case"bottom":d=f,p=f,"circle"===b?(c=[u[0]+(g=d*Ne),u[1]+(v=d*Pe)],l=[u[0]-(y=p*Ne),u[1]+(m=p*Pe)]):(c=[u[0]-E,u[1]+f],l=[u[0]+E,u[1]+f]);break;case"bottom-left":d=f,p=h,"circle"===b?(c=[u[0]-(g=d*Ne),u[1]+(v=d*Pe)],l=[u[0]-(m=p*Pe),u[1]+(y=p*Ne)]):(c=[u[0]-h,u[1]+f-E],l=[u[0]-h+E,u[1]+f]);break;case"left":d=h,p=h,"circle"===b?(c=[u[0]-(v=d*Pe),u[1]+(g=d*Ne)],l=[u[0]-(m=p*Pe),u[1]-(y=p*Ne)]):(c=[u[0]-h,u[1]-E],l=[u[0]-h,u[1]+E]);break;case"top-left":d=h,p=f,"circle"===b?(c=[u[0]-(v=d*Pe),u[1]-(g=d*Ne)],l=[u[0]-(y=p*Ne),u[1]-(m=p*Pe)]):(c=[u[0]-h+E,u[1]-f],l=[u[0]-h,u[1]-f+E]);break;default:c=[u[0]-(g=(d=h)*Ne),u[1]-(v=d*Pe)],l=[u[0]+(y=(p=h)*Ne),u[1]-(m=p*Pe)]}if(!1===o.clockwise){var S=[c[0],c[1]];c=[l[0],l[1]],l=[S[0],S[1]]}}var M=[c[0]-u[0],c[1]-u[1]],O=(d+a)/d,k=(p+a)/p;!1===o.clockwise&&(O=(p+a)/p,k=(d+a)/d);var A=w.c.scale([0,0],M,O),C=[u[0]+A[0],u[1]+A[1]],j=[l[0]-u[0],l[1]-u[1]],I=w.c.scale([0,0],j,k),T=[u[0]+I[0],u[1]+I[1]];return t.startPoint={x:c[0],y:c[1]},t.endPoint={x:l[0],y:l[1]},t.controlPoints=[{x:C[0],y:C[1]},{x:T[0],y:T[1]}],t},Re=function(t,e,n,r,i){var o=[],a=null==t?void 0:t.getPoint(e);if(!a)return{x:0,y:0,angle:0};if(e<1e-4)o=t.getStartTangent().reverse();else if(e>.9999)o=t.getEndTangent();else{var s=null==t?void 0:t.getPoint(e+1e-4);o.push([a.x,a.y]),o.push([s.x,s.y])}var u=Math.atan2(o[1][1]-o[0][1],o[1][0]-o[0][0]);if(u<0&&(u+=2*je),n&&(a.x+=Te(u)*n,a.y+=Ie(u)*n),r){var c=u-je/2;u>.5*je&&u<1.5*je&&(c-=je),a.x+=Te(c)*r,a.y+=Ie(c)*r}var l={x:a.x,y:a.y,angle:u};return i?(u>.5*je&&u<1.5*je&&(u-=je),Object(g.__assign)({rotate:u},l)):l},Be=function(t,e,n,r){if(!1===r(t,e,n))return!1;if(t&&t.children)for(var i=t.children.length-1;i>=0;i--)if(!Be(t.children[i],t,i,r))return!1;return!0},Fe=function(t,e,n,r){if(t&&t.children)for(var i=t.children.length-1;i>=0;i--)if(!Fe(t.children[i],t,i,r))return;return!1!==r(t,e,n)},ze=function(t,e){"function"==typeof e&&Be(t,null,-1,e)},Ge=function(t,e){"function"==typeof e&&Fe(t,null,-1,e)},Ye=function(t,e){return e*(Ce[t]||1)},Ue=function(t,e){var n=0,r=new RegExp("[一-龥]+");return t.split("").forEach((function(t){r.test(t)?n+=e:n+=Ye(t,e)})),[n,e]},Xe=function(t,e){return"number"!=typeof e||e<=0||e>=t.length?t:t.substring(0,e)+"..."},We=function(t,e){var n=[],r={},i={};t.forEach((function(t){i[t.id]=t})),t.forEach((function(t,e){var o=Object(v.clone)(t);o.itemType="combo",o.children=void 0,o.parentId===o.id?(console.warn("The parentId for combo ".concat(o.id," can not be the same as the combo's id")),delete o.parentId):o.parentId&&!i[o.parentId]&&(console.warn("The parent combo for combo ".concat(o.id," does not exist!")),delete o.parentId);var a=r[o.id];if(a){if(o.children=a.children,r[o.id]=o,!(a=o).parentId)return void n.push(a);var s=r[a.parentId];if(s)s.children?s.children.push(o):s.children=[o];else{var u={id:a.parentId,children:[a]};r[a.parentId]=u,r[o.id]=o}}else if(Object(v.isString)(t.parentId)){var c=r[t.parentId];if(c)c.children?c.children.push(o):c.children=[o],r[o.id]=o;else{var l={id:t.parentId,children:[o]};r[l.id]=l,r[o.id]=o}}else n.push(o),r[o.id]=o}));var o={};(e||[]).forEach((function(t){o[t.id]=t;var e=r[t.comboId];if(e){var n={id:t.id,comboId:t.comboId};e.children?e.children.push(n):e.children=[n],n.itemType="node",r[t.id]=n}}));var a=0;return n.forEach((function(t){t.depth=a+10,ze(t,(function(t){var e,n=r[t.id].itemType;e="node"===n?r[t.comboId]:r[t.parentId],t.depth=e&&"node"===n?a+1:a+10,a<t.depth&&(a=t.depth);var i=o[t.id];return i&&(i.depth=t.depth),!0}))})),n},Ve=function(t,e,n){var r,i,o=t,a={root:{children:t}},s=!1,u="root";(t||[]).forEach((function(t){if(!s)return t.id===e?(i=t,"combo"===t.itemType?i.parentId=n:i.comboId=n,void(s=!0)):void ze(t,(function(t){var r;return a[t.id]={children:(null==t?void 0:t.children)||[]},o=null===(r=a[t.parentId||t.comboId||"root"])||void 0===r?void 0:r.children,!t||!t.removed&&e!==t.id||!o||(u=t.parentId||t.comboId||"root",i=t,"combo"===t.itemType?i.parentId=n:i.comboId=n,s=!0,!1)}))}));var c=(o=null===(r=a[u])||void 0===r?void 0:r.children)?o.indexOf(i):-1;if(c>-1&&o.splice(c,1),s||(i={id:e,itemType:"node",comboId:n},a[e]={children:void 0}),e){var l=!1;if(n){var f=0;(t||[]).forEach((function(t){l||ze(t,(function(t){return n!==t.id||(l=!0,t.children?t.children.push(i):t.children=[i],f=t.depth,"node"===i.itemType?i.depth=f+2:i.depth=f+1,!1)}))}))}else n&&l||"node"===i.itemType||t.push(i);var h=i.depth;ze(i,(function(t){return"node"===t.itemType?h+=2:h+=1,t.depth=h,!0}))}return t},He=function(t,e,n){var r={minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0,x:void 0,y:void 0,width:void 0,height:void 0,centerX:void 0,centerY:void 0};if(!t||0===t.length){var i=(null==n?void 0:n.getModel())||{},o=i.x,a=i.y,s=i.fixSize,u=i.collapsed,c=i.fixCollapseSize,l=u?c:s,f=Object(v.isArray)(l)?l:[l,l],h=f[0],d=f[1],p=[h/2,d/2];return{minX:o-p[0],minY:a-p[1],maxX:o+p[0],maxY:a+p[1],x:o,y:a,width:h,height:d}}return t.forEach((function(t){var n=e.findById(t.id);if(n&&n.isVisible()){n.set("bboxCanvasCache",void 0);var i=n.getCanvasBBox();i.x&&r.minX>i.minX&&(r.minX=i.minX),i.y&&r.minY>i.minY&&(r.minY=i.minY),i.x&&r.maxX<i.maxX&&(r.maxX=i.maxX),i.y&&r.maxY<i.maxY&&(r.maxY=i.maxY)}})),r.x=(r.minX+r.maxX)/2,r.y=(r.minY+r.maxY)/2,r.width=r.maxX-r.minX,r.height=r.maxY-r.minY,r.centerX=(r.minX+r.maxX)/2,r.centerY=(r.minY+r.maxY)/2,"circle"===(null==n?void 0:n.getKeyShape().get("type"))&&(r.width=Math.hypot(r.height,r.width),r.height=r.width),Object.keys(r).forEach((function(t){r[t]!==1/0&&r[t]!==-1/0||(r[t]=void 0)})),r},qe=function(t){var e=Object(v.isNumber)(t.x)||Object(v.isNumber)(t.y)||t.type||t.anchorPoints||t.size;return t.style&&(e=e||Object(v.isNumber)(t.style.r)||Object(v.isNumber)(t.style.width)||Object(v.isNumber)(t.style.height)||Object(v.isNumber)(t.style.rx)||Object(v.isNumber)(t.style.ry)),e},Ze=function(t){var e={};return Object.keys(t).forEach((function(n){var r=t[n];if("img"!==n||Object(v.isString)(r))if(Object(v.isObject)(r)&&!Object(v.isArray)(r)){var i={};Object.keys(r).forEach((function(t){var e=r[t];("img"!==t||Object(v.isString)(e))&&(i[t]=Object(v.clone)(e))})),e[n]=i}else e[n]=Object(v.clone)(r)})),e},Ke=function(t){var e,n=t.animateCfg,r=t.callback;if(n)if(e=Object(v.clone)(n),n.callback){var i=n.callback;e.callback=function(){r(),i()}}else e.callback=r;else e={duration:500,callback:r};return e},Qe=function(t){if(!t)return console.error("G6 Error Tips: the data must be defined"),!1;var e=t.nodes,n=t.edges,r=t.combos,i=void 0===r?[]:r;if(!e&&!n){var o=!0;return ze(t,(function(t){return!!Object(v.isString)(t.id)||(o=!1,!1)})),o}var a=(e||[]).find((function(t){return!Object(v.isString)(t.id)}));if(a)return console.warn("G6 Warning Tips: missing 'id' property, or %c".concat(a.id,"%c is not a string."),"font-size: 20px; color: red;",""),!1;var s=new Set;(e||[]).forEach((function(t){return s.add(t.id)})),(i||[]).forEach((function(t){return s.add(t.id)}));var u=(n||[]).find((function(t){return!s.has(t.source)||!s.has(t.target)}));return!u||(console.warn("G6 Warning Tips: The source %c".concat(u.source,"%c or the target %c").concat(u.target,"%c of the edge do not exist in the nodes or combos."),"font-size: 20px; color: red;","","font-size: 20px; color: red;",""),!1)},$e=function(){function t(t){this.graph=t,this.destroyed=!1,this.modes=t.get("modes")||{default:[]},this.formatModes(),this.mode=t.get("defaultMode")||"default",this.currentBehaves=[],this.setMode(this.mode)}return t.prototype.formatModes=function(){var t=this.modes;Object(v.each)(t,(function(t){Object(v.each)(t,(function(e,n){Object(v.isString)(e)&&(t[n]={type:e})}))}))},t.prototype.setBehaviors=function(t){var e,n=this.graph,r=this.modes[t],i=[];Object(v.each)(r||[],(function(t){var r=m.getBehavior(t.type||t);r&&(e=new r(t))&&(e.bind(n),i.push(e))})),this.currentBehaves=i},t.mergeBehaviors=function(t,e){return Object(v.each)(e,(function(e){t.indexOf(e)<0&&(Object(v.isString)(e)&&(e={type:e}),t.push(e))})),t},t.filterBehaviors=function(t,e){var n=[];return t.forEach((function(t){var r="";r=Object(v.isString)(t)?t:t.type,e.indexOf(r)<0&&n.push(t)})),n},t.prototype.setMode=function(t){var e=this.modes,n=this.graph,r=t;e[r]&&(n.emit("beforemodechange",{mode:t}),Object(v.each)(this.currentBehaves,(function(t){t.delegate&&t.delegate.remove(),t.unbind(n)})),this.setBehaviors(r),n.emit("aftermodechange",{mode:t}),this.mode=t)},t.prototype.getMode=function(){return this.mode},t.prototype.manipulateBehaviors=function(e,n,r){var i,o=this;if(i=Object(v.isArray)(e)?e:[e],Object(v.isArray)(n))return Object(v.each)(n,(function(e){o.modes[e]?o.modes[e]=r?t.mergeBehaviors(o.modes[e]||[],i):t.filterBehaviors(o.modes[e]||[],i):r&&(o.modes[e]=i)})),this;var a=n;return n||(a=this.mode),this.modes[a]||r&&(this.modes[a]=i),this.modes[a]=r?t.mergeBehaviors(this.modes[a]||[],i):t.filterBehaviors(this.modes[a]||[],i),this.formatModes(),this.setMode(this.mode),this},t.prototype.updateBehavior=function(t,e,n){Object(v.isString)(t)&&(t={type:t});var r=[];if(n&&n!==this.mode&&"default"!==n){if(!(r=this.modes[n])||!r.length)return console.warn("Update behavior failed! There is no behaviors in this mode on the graph."),this;var i=r.length;for(a=0;a<i;a++){if((s=r[a]).type===t.type||s===t.type)return s===t.type&&(s={type:s}),Object.assign(s,e),r[a]=s,this;a===i-1&&console.warn("Update behavior failed! There is no such behavior in the mode")}}else{if(!(r=this.currentBehaves)||!r.length)return console.warn("Update behavior failed! There is no behaviors in this mode on the graph."),this;for(var o=r.length,a=0;a<o;a++){var s;if((s=r[a]).type===t.type)return s.updateCfg(e),this;a===o-1&&console.warn("Update behavior failed! There is no such behavior in the mode")}}return this},t.prototype.destroy=function(){var t=this;Object(v.each)(this.currentBehaves,(function(e){e.delegate&&e.delegate.remove(),e.unbind(t.graph)})),this.graph=null,this.modes=null,this.currentBehaves=null,this.destroyed=!0},t}(),Je=function(t){function e(e,n){var r=t.call(this,e,n)||this;return r.item=n.item,r.canvasX=n.canvasX,r.canvasY=n.canvasY,r.wheelDelta=n.wheelDelta,r.detail=n.detail,r}return Object(g.__extends)(e,t),e}(n(11).Event),tn=function(t){return"".concat(t,"-").concat(Math.random()).concat(Date.now())},en=function(t){if(Object(v.isArray)(t))switch(t.length){case 4:return t;case 3:return t.push(t[1]),t;case 2:return t.concat(t);case 1:return[t[0],t[0],t[0],t[0]];default:return[0,0,0,0]}if(Object(v.isNumber)(t))return[t,t,t,t];if(Object(v.isString)(t)){var e=parseInt(t,10);return[e,e,e,e]}return[0,0,0,0]},nn=function(t){var e=new Je(t.type,t);return e.clientX=t.clientX,e.clientY=t.clientY,e.x=t.x,e.y=t.y,e.target=t.target,e.currentTarget=t.currentTarget,e.bubbles=!0,e.item=t.item,e},rn=function(t){if(!t)return!1;for(var e=[1,0,0,0,1,0,0,0,1],n=0;n<9;n++)if(t[n]!==e[n])return!0;return!1},on=function(t){return Number.isNaN(Number(t))},an=function(t){for(var e=1/0,n=-1/0,r=1/0,i=-1/0,o=0;o<t.length;o++){var a=t[o].getBBox(),s=a.minX,u=a.minY,c=a.maxX,l=a.maxY;s<e&&(e=s),u<r&&(r=u),c>n&&(n=c),l>i&&(i=l)}return{x:Math.floor(e),y:Math.floor(r),width:Math.ceil(n)-Math.floor(e),height:Math.ceil(i)-Math.floor(r),minX:e,minY:r,maxX:n,maxY:i}},sn=function(t,e,n,r,i){void 0===e&&(e=15),void 0===n&&(n="quadratic"),void 0===r&&(r=void 0),void 0===i&&(i=void 0);for(var o=t.length,a=2*e,s=["top","top-right","right","bottom-right","bottom","bottom-left","left","top-left"],u={},c=[],l={},f=0;f<o;f++){var h=t[f],d=h.source,p=h.target,g="".concat(d,"-").concat(p);if(!c[f]){u[g]||(u[g]=[]),c[f]=!0,u[g].push(h);for(var v=0;v<o;v++)if(f!==v){var y=t[v],m=y.source,b=y.target;c[v]||(d===b&&p===m?(u[g].push(y),c[v]=!0,l["".concat(m,"|").concat(b,"|").concat(u[g].length-1)]=!0):d===m&&p===b&&(u[g].push(y),c[v]=!0))}}}for(var x in u)for(var w=u[x],_=w.length,E=0;E<_;E++){var S=w[E];if(S.source!==S.target)if(1===_&&r&&S.source!==S.target)S.type=r;else{S.type=n;var M=(E%2==0?1:-1)*(l["".concat(S.source,"|").concat(S.target,"|").concat(E)]?-1:1);S.curveOffset=_%2==1?M*Math.ceil(E/2)*a:M*(Math.floor(E/2)*a+e)}else i&&(S.type=i),S.loopCfg={position:s[E%8],dist:20*Math.floor(E/8)+50}}return t},un=n(68),cn=function(){function t(t){this.destroyed=!1,this.graph=t,this.destroyed=!1}return t.prototype.getViewCenter=function(){var t=this.getFormatPadding(),e=this.graph,n=this.graph.get("width"),r=e.get("height");return{x:(n-t[1]-t[3])/2+t[3],y:(r-t[0]-t[2])/2+t[0]}},t.prototype.fitCenter=function(t,e){var n,r=this.graph,i=r.get("group"),o=r.getNodes();if(o.length>r.get("optimizeThreshold")){var a=1/0,s=1/0,u=-1/0,c=-1/0;o.forEach((function(t){var e=t.getModel(),n=e.x,r=e.y;a>n&&(a=n),s>r&&(s=r),u<n&&(u=n),c<r&&(c=r)}));var l=i.getMatrix()||[1,0,0,0,1,0,0,0,1],f=Xt({x:a,y:s},l),h=f.x,d=f.y,p=Xt({x:u,y:c},l),g=p.x,v=p.y;n={minX:h,maxX:g,minY:d,maxY:v,width:g-h,height:v-d,x:h,y:d}}else n=i.getCanvasBBox();if(0!==n.width&&0!==n.height){var y=this.getViewCenter(),m=n.x+n.width/2,b=n.y+n.height/2;r.translate(y.x-m,y.y-b,t,e)}},t.prototype.animatedFitView=function(t,e,n,r,i,o,a,s){var u=this.graph;n=n||{duration:500,easing:"easeCubic"};var c=r.x+i.x-o.x-r.minX,l=r.y+i.y-o.y-r.minY;if(!on(c)&&!on(l)){var f=Object(un.transform)([1,0,0,0,1,0,0,0,1],[["t",c,l]]);if(s){var h=u.get("minZoom"),d=u.get("maxZoom"),p=a;h&&a<h?(p=h,console.warn("fitview failed, ratio out of range, ratio: %f",a,"graph minzoom has been used instead")):d&&a>d&&(p=d,console.warn("fitview failed, ratio out of range, ratio: %f",a,"graph maxzoom has been used instead"));var g=Object(un.transform)(f,[["t",-i.x,-i.y],["s",p,p],["t",i.x,i.y]]),v=Ke({animateCfg:n,callback:function(){t.setMatrix(g),u.emit("viewportchange",{action:"translate",matrix:f}),u.emit("viewportchange",{action:"zoom",matrix:g})}});t.stopAnimate(),t.setMatrix(e),t.animate((function(t){return{matrix:me(e,g,t)}}),v)}else{var y=Ke({animateCfg:n,callback:function(){u.emit("viewportchange",{action:"translate",matrix:f})}});t.animate((function(t){return{matrix:me(e,f,t)}}),y)}}},t.prototype.fitView=function(t,e){var n,r=this.graph,i=this.getFormatPadding(),o=r.get("width"),a=r.get("height"),s=r.get("group"),u=s.getMatrix()||[1,0,0,0,1,0,0,0,1];s.resetMatrix();var c=r.getNodes();if(c.length>r.get("optimizeThreshold")){var l=1/0,f=1/0,h=-1/0,d=-1/0;c.forEach((function(t){var e=t.getModel(),n=e.x,r=e.y;l>n&&(l=n),f>r&&(f=r),h<n&&(h=n),d<r&&(d=r)})),n={minX:l,maxX:h,minY:f,maxY:d,width:h-l,height:d-f,x:l,y:f}}else n=s.getCanvasBBox();if(0!==n.width&&0!==n.height){var p=this.getViewCenter(),g={x:n.x+n.width/2,y:n.y+n.height/2},v=(o-i[1]-i[3])/n.width,y=(a-i[0]-i[2])/n.height,m=v;if(v>y&&(m=y),t)this.animatedFitView(s,u,e,n,p,g,m,!0);else{var b=p.x-g.x,x=p.y-g.y;if(on(b)||on(x))return;r.translate(b,x),r.zoom(m,p)||console.warn("zoom failed, ratio out of range, ratio: %f",m)}}},t.prototype.fitViewByRules=function(t,e,n){var r,i=t.onlyOutOfViewPort,o=void 0!==i&&i,a=t.direction,s=void 0===a?"both":a,u=t.ratioRule,c=void 0===u?"min":u,l=this.graph,f=this.getFormatPadding(),h=l.get("width"),d=l.get("height"),p=l.get("group"),g=p.getMatrix()||[1,0,0,0,1,0,0,0,1];p.resetMatrix();var v=l.getNodes();if(v.length>l.get("optimizeThreshold")){var y=1/0,m=1/0,b=-1/0,x=-1/0;v.forEach((function(t){var e=t.getModel(),n=e.x,r=e.y;y>n&&(y=n),m>r&&(m=r),b<n&&(b=n),x<r&&(x=r)})),r={minX:y,maxX:b,minY:m,maxY:x,width:b-y,height:x-m,x:y,y:m}}else r=p.getCanvasBBox();if(0!==r.width&&0!==r.height){var w,_=this.getViewCenter(),E={x:r.x+r.width/2,y:r.y+r.height/2},S=(h-f[1]-f[3])/r.width,M=(d-f[0]-f[2])/r.height;if(w="x"===s?S:"y"===s?M:"max"===c?Math.max(S,M):Math.min(S,M),o&&(w=w<1?w:1),e)this.animatedFitView(p,g,n,r,_,E,w,!0);else{var O=l.getZoom()*w,k=l.get("minZoom");O<k&&(O=k,console.warn("fitview failed, ratio out of range, ratio: %f",w,"graph minzoom has been used instead")),l.translate(_.x-E.x,_.y-E.y),l.zoomTo(O,_)}}},t.prototype.getFormatPadding=function(){var t=this.graph.get("fitViewPadding");return en(t)},t.prototype.focusPoint=function(t,e,n){var r=this,i=this.getViewCenter(),o=this.getPointByCanvas(i.x,i.y),a=this.graph.get("group").getMatrix();if(a||(a=[1,0,0,0,1,0,0,0,1]),e){var s=(o.x-t.x)*a[0],u=(o.y-t.y)*a[4],c=0,l=0,f=0,h=0;this.graph.get("canvas").animate((function(t){f=s*t,h=u*t,r.graph.translate(f-c,h-l),c=f,l=h}),Object(g.__assign)({},n))}else this.graph.translate((o.x-t.x)*a[0],(o.y-t.y)*a[4])},t.prototype.getPointByCanvas=function(t,e){var n=this.graph.get("group").getMatrix();return n||(n=[1,0,0,0,1,0,0,0,1]),Wt({x:t,y:e},n)},t.prototype.getPointByClient=function(t,e){var n=this.graph.get("canvas").getPointByClient(t,e);return this.getPointByCanvas(n.x,n.y)},t.prototype.getClientByPoint=function(t,e){var n=this.graph.get("canvas"),r=this.getCanvasByPoint(t,e),i=n.getClientByPoint(r.x,r.y);return{x:i.x,y:i.y}},t.prototype.getCanvasByPoint=function(t,e){var n=this.graph.get("group").getMatrix();return n||(n=[1,0,0,0,1,0,0,0,1]),Xt({x:t,y:e},n)},t.prototype.focus=function(t,e,n){if(Object(v.isString)(t)&&(t=this.graph.findById(t)),t){var r=0,i=0;if(t.getType&&"edge"===t.getType()){var o=t.getSource().get("group").getMatrix(),a=t.getTarget().get("group").getMatrix();o&&a?(r=(o[6]+a[6])/2,i=(o[7]+a[7])/2):(o||a)&&(r=o?o[6]:a[6],i=o?o[7]:a[7])}else{var s=t.get("group").getMatrix();s||(s=[1,0,0,0,1,0,0,0,1]),r=s[6],i=s[7]}this.focusPoint({x:r,y:i},e,n)}},t.prototype.focusItems=function(t,e,n,r){if(t.length){var i=this.graph,o=this.getFormatPadding(),a=i.get("width"),s=i.get("height"),u=i.get("group"),c=u.getMatrix()||[1,0,0,0,1,0,0,0,1];u.resetMatrix();for(var l={x:0,y:0,minX:Number.MAX_SAFE_INTEGER,minY:Number.MAX_SAFE_INTEGER,maxX:Number.MIN_SAFE_INTEGER,maxY:Number.MIN_SAFE_INTEGER,width:0,height:0},f=0,h=t;f<h.length;f++){var d=h[f].getBBox();d.minX<l.minX&&(l.minX=d.minX),d.minY<l.minY&&(l.minY=d.minY),d.maxX>l.maxX&&(l.maxX=d.maxX),d.maxY>l.maxY&&(l.maxY=d.maxY)}if(l.x=l.minX,l.y=l.minY,l.width=l.maxX-l.minX,l.height=l.maxY-l.minY,0!==l.width&&0!==l.height){var p=this.getViewCenter(),g={x:l.x+l.width/2,y:l.y+l.height/2},v=(a-o[1]-o[3])/l.width,y=(s-o[0]-o[2])/l.height,m=v;v>y&&(m=y),n?this.animatedFitView(u,c,r,l,p,g,m,e):(i.translate(p.x-g.x,p.y-g.y),e&&!i.zoom(m,p)&&console.warn("zoom failed, ratio out of range, ratio: %f",m))}}},t.prototype.changeSize=function(t,e){var n=this.graph;if(!Object(v.isNumber)(t)||!Object(v.isNumber)(e))throw Error("invalid canvas width & height, please make sure width & height type is number");n.set({width:t,height:e}),n.get("canvas").changeSize(t,e),n.get("plugins").forEach((function(t){t.get("gridContainer")&&t.positionInit()}))},t.prototype.destroy=function(){this.graph=null,this.destroyed=!1},t}();function ln(t){return(ln="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function fn(t){if("string"!=typeof t)return t;var e=function(t){if("string"!=typeof t)return t;try{return JSON.parse(t.trim())}catch(e){return t.trim()}},n=e(t);if("string"!=typeof n)return n;for(var r=function(t){return t[t.length-1]},i=t.trim(),o=[],a=[],s=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return t.some((function(t){return r(a)===t}))},u=null,c=0,l="";c<i.length;){var f=i[c],h=s('"',"'");if(h||f.trim()){var d="\\"===i[c-1],p=s("}"),g=s("]"),v=s(","),y=r(o);if(h)if(r(a)!==f||d)l+=f;else{a.pop();var m=e(l);y.push(m),u=m,l=""}else if(g&&","===f)l&&(y.push(e(l)),l="");else if(p&&":"===f)a.push(","),l&&(y.push(l),l="");else if(v&&","===f)l&&(y.push(e(l)),l=""),a.pop();else if("}"===f&&(p||v)){l&&(y.push(e(l)),l=""),v&&a.pop();for(var b={},x=1;x<y.length;x+=2)b[y[x-1]]=y[x];o.pop(),o.length&&r(o).push(b),a.pop(),u=b}else"]"===f&&g?(l&&(y.push(e(l)),l=""),o.pop(),o.length&&r(o).push(y),a.pop(),u=y):"{"===f?(o.push([]),a.push("}")):"["===f?(o.push([]),a.push("]")):'"'===f?a.push('"'):"'"===f?a.push("'"):l+=f;c+=1}else c+=1}return u||l}function hn(t,e){var n;void 0===e&&(e={x:0,y:0});var r=Object(g.__assign)({x:0,y:0,width:0,height:0},e);if(null===(n=t.children)||void 0===n?void 0:n.length){var i=t.attrs,o=void 0===i?{}:i,a=o.marginTop,s=Object(g.__assign)({},e);a&&(s.y+=a);for(var u=0;u<t.children.length;u++){t.children[u].attrs.key="".concat(o.key||"root"," -").concat(u," ");var c=hn(t.children[u],s);if(c.bbox){var l=c.bbox;"inline"===c.attrs.next?s.x+=c.bbox.width:s.y+=c.bbox.height,l.width+l.x>r.width&&(r.width=l.width+l.x),l.height+l.y>r.height&&(r.height=l.height+l.y)}}}return t.bbox=function(t,e,n){var r,i,o=t.attrs,a=void 0===o?{}:o,s={x:e.x||0,y:e.y||0,width:n.width||0,height:n.height||0};switch(t.type){case"maker":case"circle":a.r&&(i=2*a.r,r=2*a.r);break;case"text":a.text&&(i=Ue(a.text,a.fontSize||12)[0],r=16,s.y+=r,s.height=r,s.width=i,t.attrs=Object(g.__assign)({fontSize:12,fill:"#000"},a));break;default:a.width&&(i=a.width),a.height&&(r=a.height)}return r>=0&&(s.height=r),i>=0&&(s.width=i),a.marginTop&&(s.y+=a.marginTop),a.marginLeft&&(s.x+=a.marginLeft),s}(t,e,r),t.attrs=Object(g.__assign)(Object(g.__assign)({},t.attrs),t.bbox),t}function dn(t){var e={},n=function(e){var n=function(t){return function(e){for(var n=t.length,r=[],i=0,o="";i<n;)if("{"===t[i]&&"{"===t[i+1])r.push(o),o="",i+=2;else if("}"===t[i]&&"}"===t[i+1]){if(r.length){var a=r.pop();o=Object(v.get)(e,o,a.endsWith("=")?'"{'.concat(o,'}"'):o),r.push(a+o)}i+=2,o=""}else o+=t[i],i+=1;return r.push(o),r.map((function(t,e){return r[e-1]&&r[e-1].endsWith("=")?'"{'.concat(t,'}"'):t})).join("")}}("function"==typeof t?t(e):t)(e),r=document.createElement("div");r.innerHTML=n;var i=hn(function t(e,n){var r={},i=e.getAttributeNames&&e.getAttributeNames()||[],o=e.children&&Array.from(e.children).map((function(e){return t(e,n)})),a={},s=e.tagName?e.tagName.toLowerCase():"group";return"text"===s&&(r.text=e.innerText),a.type=s,"img"===s&&(a.type="image"),Array.from(i).forEach((function(t){var n=t.split("-").reduce((function(t,e){return t+e.charAt(0).toUpperCase()+e.slice(1)})),i=e.getAttribute(t);try{if("style"===n||"attrs"===n){var o=fn(i);r=Object(g.__assign)(Object(g.__assign)({},r),o)}else a[n]=fn(i)}catch(t){if("style"===n)throw t;a[n]=i}})),a.attrs=r,n&&n.style&&a.name&&"object"===ln(n.style[a.name])&&(a.attrs=Object(g.__assign)(Object(g.__assign)({},a.attrs),n.style[a.name])),n&&n.style&&a.keyshape&&(a.attrs=Object(g.__assign)(Object(g.__assign)({},a.attrs),n.style)),o.length&&(a.children=o),a}(r.children[0],e));return r.remove(),i};return{draw:function(t,r){var i=n(t),o=r,a=function(t){var e=t.attrs,n=void 0===e?{}:e,i=t.bbox,s=t.type,u=t.children,c=Object(g.__rest)(t,["attrs","bbox","type","children"]);if("group"!==t.type){var l=r.addShape(t.type,Object(g.__assign)({attrs:n,origin:{bbox:i,type:s,children:u}},c));t.keyshape&&(o=l)}t.children&&t.children.forEach((function(t){return a(t)}))};return a(i),e[t.id]=[i],o},update:function(t,r){e[t.id]||(e[t.id]=[]);var i=r.getContainer(),o=i.get("children"),a=n(t),s=function t(e,n){var r,i,o,a,s=(e||{}).type,u=((null==n?void 0:n.attrs)||{}).key;if(u&&e&&(e.attrs.key=u),!e&&n)return{action:"delete",val:n,type:s,key:u};if(e&&!n)return{action:"add",val:e,type:s};if(!e&&!n)return{action:"same",type:s};var c=[];if((null===(r=e.children)||void 0===r?void 0:r.length)>0||(null===(i=n.children)||void 0===i?void 0:i.length)>0)for(var l=Math.max(null===(o=e.children)||void 0===o?void 0:o.length,null===(a=n.children)||void 0===a?void 0:a.length),f=n.children||[],h=e.children||[],d=0;d<l;d+=1)c.push(t(h[d],f[d]));var p=Object.keys(n.attrs),g=Object.keys(e.attrs);return n.type!==e.type?{action:"restructure",nowTarget:e,formerTarget:n,key:u,children:c}:p.filter((function(t){return"children"!==t})).some((function(t){return e.attrs[t]!==n.attrs[t]||!g.includes(t)}))?{action:"change",val:e,children:c,type:s,key:u}:{action:"same",children:c,type:s,key:u}}(a,e[t.id].pop()),u=function(t){var e;"group"!==t.type&&i.addShape(t.type,{attrs:t.attrs}),(null===(e=t.children)||void 0===e?void 0:e.length)&&t.children.map((function(t){return u(t)}))},c=function(t){var e,n=o.find((function(e){return e.attrs.key===t.attrs.key}));n&&i.removeChild(n),(null===(e=t.children)||void 0===e?void 0:e.length)&&t.children.map((function(t){return c(t)}))},l=function(t){var e=t.key;if("group"!==t.type){var n=o.find((function(t){return t.attrs.key===e}));switch(t.action){case"change":if(n){var i=t.val.keyshape?r.getOriginStyle():{};n.attr(Object(g.__assign)(Object(g.__assign)({},i),t.val.attrs))}break;case"add":u(t.val);break;case"delete":c(t.val);break;case"restructure":c(t.formerTarget),u(t.nowTarget)}}t.children&&t.children.forEach((function(t){return l(t)}))};l(s),e[t.id].push(a)},getAnchorPoints:function(){return[[0,.5],[1,.5],[.5,1],[.5,0]]}}}var pn={};function gn(t){return pn[t]||(pn[t]=Object(v.upperFirst)(t)),pn[t]}var vn={defaultShapeType:"defaultType",className:null,getShape:function(t){return this[t]||this[this.defaultShapeType]||this["simple-circle"]},draw:function(t,e,n){var r=this.getShape(t);n.shapeMap={};var i=r.draw(e,n);return r.afterDraw&&r.afterDraw(e,n,i),i},baseUpdate:function(t,e,n,r){var i,o,a=this.getShape(t);a.update&&(a.mergeStyle=null===(i=a.getOptions)||void 0===i?void 0:i.call(a,e,r),null===(o=a.update)||void 0===o||o.call(a,e,n,r)),a.afterUpdate&&a.afterUpdate(e,n)},setState:function(t,e,n,r){this.getShape(t).setState(e,n,r)},shouldUpdate:function(t){return!!this.getShape(t).update},getControlPoints:function(t,e){return this.getShape(t).getControlPoints(e)},getAnchorPoints:function(t,e){return this.getShape(t).getAnchorPoints(e)}},yn={options:{},draw:function(t,e){return this.drawShape(t,e)},drawShape:function(){},afterDraw:function(){},afterUpdate:function(){},setState:function(){},getControlPoints:function(t){return t.controlPoints},getAnchorPoints:function(t){var e=this.options.anchorPoints;return t.anchorPoints||e}},mn=function(){function t(){}return t.registerFactory=function(e,n){var r=gn(e),i=vn,o=Object(g.__assign)(Object(g.__assign)({},i),n);return t[r]=o,o.className=r,o},t.getFactory=function(e){return t[gn(e)]},t.registerNode=function(e,n,r){var i,o=t.Node;if("string"==typeof n||"function"==typeof n){var a=dn(n);i=Object(g.__assign)(Object(g.__assign)({},o.getShape("single-node")),a)}else if(n.jsx){a=dn(n.jsx);i=Object(g.__assign)(Object(g.__assign)(Object(g.__assign)({},o.getShape("single-node")),a),n)}else{o.getShape(r);var s=r?o.getShape(r):yn;i=Object(g.__assign)(Object(g.__assign)({},s),n)}return i.type=e,i.itemType="node",o[e]=i,i},t.registerEdge=function(e,n,r){var i=t.Edge,o=r?i.getShape(r):yn,a=Object(g.__assign)(Object(g.__assign)({},o),n);return a.type=e,a.itemType="edge",i[e]=a,a},t.registerCombo=function(e,n,r){var i=t.Combo,o=r?i.getShape(r):yn,a=Object(g.__assign)(Object(g.__assign)({},o),n);return a.type=e,a.itemType="combo",i[e]=a,a},t}(),bn=mn;mn.registerFactory("node",{defaultShapeType:"circle"}),mn.registerFactory("edge",{defaultShapeType:"line"}),mn.registerFactory("combo",{defaultShapeType:"circle"});var xn=function(){function t(t){this._cfg={},this.destroyed=!1,this.optimize=!1;var e={id:void 0,type:"item",model:{},group:void 0,animate:!1,visible:!0,locked:!1,event:!0,keyShape:void 0,states:[]};this._cfg=Object.assign(e,this.getDefaultCfg(),t);var n=this.get("model"),r=n.id,i=this.get("type");void 0===r?r=tn(i):"string"!=typeof r&&(r=String(r)),this.get("model").id=r,this.set("id",r);var o=t.group;o&&(o.set("item",this),o.set("id",r)),this.init(),this.draw();var a=n.shape||n.type||("edge"===i?"line":"circle"),s=this.get("shapeFactory");if(s&&s[a]){var u=s[a].options;if(u&&u.stateStyles){var c=this.get("styles")||n.stateStyles;c=Object(v.deepMix)({},u.stateStyles,c),this.set("styles",c)}}}return t.prototype.calculateBBox=function(){var t=this.get("keyShape"),e=this.get("group"),n=De(t,e);return n.x=n.minX,n.y=n.minY,n.width=n.maxX-n.minX,n.height=n.maxY-n.minY,n.centerX=(n.minX+n.maxX)/2,n.centerY=(n.minY+n.maxY)/2,n},t.prototype.calculateCanvasBBox=function(){var t=this.get("keyShape"),e=this.get("group"),n=De(t,e);return n.x=n.minX,n.y=n.minY,n.width=n.maxX-n.minX,n.height=n.maxY-n.minY,n.centerX=(n.minX+n.maxX)/2,n.centerY=(n.minY+n.maxY)/2,n},t.prototype.drawInner=function(){var t=this.get("shapeFactory"),e=this.get("group"),n=this.get("model");e.clear();var r=n.visible;if(void 0===r||r||this.changeVisibility(r),t){this.updatePosition(n);var i=this.getShapeCfg(n),o=i.type,a=t.draw(o,i,e);a&&(this.set("keyShape",a),a.set("isKeyShape",!0),a.set("draggable",!0)),this.setOriginStyle(),this.set("currentShape",o),this.restoreStates(t,o)}},t.prototype.setOriginStyle=function(){var t=this.get("group"),e=t.get("children"),n=this.getKeyShape(),r=this,i=n.get("name");if(this.get("originStyle")){var o=this.get("originStyle");i&&!o[i]&&(o[i]={});var a=this.getCurrentStatesStyle(),s=function(t){var n=e[t],s=n.get("name"),u=n.attr();if(s&&s!==i){var c=a[s];o[s]||(o[s]={}),c?Object.keys(u).forEach((function(t){var e=u[t];e!==c[t]&&(o[s][t]=e)})):o[s]="image"!==n.get("type")?Object(v.clone)(u):r.getShapeStyleByName(s)}else{var l=n.attr(),f={};Object.keys(a).forEach((function(t){var e=a[t];t!==i&&Object(v.isPlainObject)(e)||(f[t]=e)})),Object.keys(l).forEach((function(t){var e=l[t];f[t]!==e&&(i?o[i][t]=e:o[t]=e)}))}};for(c=0;c<e.length;c++)s(c);delete o.path,delete o.matrix,delete o.x,delete o.y,o[i]&&(delete o[i].x,delete o[i].y,delete o[i].matrix,delete o[i].path),r.set("originStyle",o)}else{for(var u={},c=0;c<e.length;c++){var l=e[c],f=l.get("type"),h=l.get("name");if(h&&h!==i)u[h]="image"!==f?Object(v.clone)(l.attr()):r.getShapeStyleByName(h),"text"===f&&u[h]&&(delete u[h].x,delete u[h].y,delete u[h].matrix);else{var d=r.getShapeStyleByName();if(delete d.path,delete d.matrix,i)if(h)u[i]=d;else{var p=tn("shape");l.set("name",p),t.shapeMap[p]=l,u[p]="image"!==f?Object(v.clone)(l.attr()):r.getShapeStyleByName(h)}else Object.assign(u,d)}}r.set("originStyle",u)}},t.prototype.restoreStates=function(t,e){var n=this,r=n.get("states");Object(v.each)(r,(function(r){t.setState(e,r,!0,n)}))},t.prototype.init=function(){var t=bn.getFactory(this.get("type"));this.set("shapeFactory",t)},t.prototype.get=function(t){return this._cfg[t]},t.prototype.set=function(t,e){Object(v.isPlainObject)(t)?this._cfg=Object(g.__assign)(Object(g.__assign)({},this._cfg),t):this._cfg[t]=e},t.prototype.getDefaultCfg=function(){return{}},t.prototype.clearCache=function(){this.set("bboxCache",null),this.set("bboxCanvasCache",null)},t.prototype.beforeDraw=function(){},t.prototype.afterDraw=function(){},t.prototype.afterUpdate=function(){},t.prototype.draw=function(){this.beforeDraw(),this.drawInner(),this.afterDraw()},t.prototype.getShapeStyleByName=function(t){var e,n=this.get("group");if(e=t?n.shapeMap[t]||n.find((function(e){return e.get("name")===t})):this.getKeyShape()){var r={};return Object(v.each)(e.attr(),(function(t,e){("img"!==e||Object(v.isString)(t))&&(r[e]=t)})),r}return{}},t.prototype.getShapeCfg=function(t,e){var n=this.get("styles");if(n){var r=t;return r.style=Object(g.__assign)(Object(g.__assign)({},n),t.style),r}return t},t.prototype.getStateStyle=function(t){var e=this.get("styles");return e&&e[t]},t.prototype.getOriginStyle=function(){return this.get("originStyle")},t.prototype.getCurrentStatesStyle=function(){var t=this,e={},n=t.getStates();return n&&n.length?(Object(v.each)(t.getStates(),(function(n){e=Object.assign(e,t.getStateStyle(n))})),e):this.get("originStyle")},t.prototype.setState=function(t,e){var n=this.get("states"),r=this.get("shapeFactory"),i=t,o=t;Object(v.isString)(e)&&(i="".concat(t,":").concat(e),o="".concat(t,":"));var a=n;if(Object(v.isBoolean)(e)){var s=n.indexOf(o);if(e){if(s>-1)return;n.push(i)}else s>-1&&n.splice(s,1)}else if(Object(v.isString)(e)){var u=n.filter((function(t){return t.includes(o)}));u.length>0&&this.clearStates(u),(a=a.filter((function(t){return!t.includes(o)}))).push(i),this.set("states",a)}if(r){var c=this.get("model").type;r.setState(c,t,e,this)}},t.prototype.clearStates=function(t){var e=this,n=e.getStates(),r=e.get("shapeFactory"),i=e.get("model").type;t||(t=n),Object(v.isString)(t)&&(t=[t]);var o=n.filter((function(e){return-1===t.indexOf(e)}));e.set("states",o),t.forEach((function(t){r.setState(i,t,!1,e)}))},t.prototype.setOptimize=function(t){this.optimize=t},t.prototype.getContainer=function(){return this.get("group")},t.prototype.getKeyShape=function(){return this.get("keyShape")},t.prototype.getModel=function(){return this.get("model")},t.prototype.getType=function(){return this.get("type")},t.prototype.getID=function(){return this.get("id")},t.prototype.isItem=function(){return!0},t.prototype.getStates=function(){return this.get("states")},t.prototype.hasState=function(t){return this.getStates().indexOf(t)>=0},t.prototype.refresh=function(t){var e=this.get("model");this.updatePosition(e),this.updateShape(t),this.afterUpdate(),this.clearCache()},t.prototype.getUpdateType=function(t){},t.prototype.update=function(t,e){void 0===e&&(e=void 0);var n=this.get("model");if("move"===e)this.updatePosition(t);else{var r=n.visible,i=t.visible;r!==i&&void 0!==i&&this.changeVisibility(i);var o={x:n.x,y:n.y};t.x=isNaN(+t.x)?n.x:+t.x,t.y=isNaN(+t.y)?n.y:+t.y;var a=this.get("styles");if(t.stateStyles){var s=t.stateStyles;Object(v.mix)(a,s),delete t.stateStyles}Object.assign(n,t),o.x===t.x&&o.y===t.y||this.updatePosition(t),this.updateShape(e)}this.afterUpdate(),this.clearCache()},t.prototype.updateShape=function(t){var e=this.get("shapeFactory"),n=this.get("model"),r=n.type;if(e.shouldUpdate(r)&&r===this.get("currentShape")){var i=this.getShapeCfg(n,t);e.baseUpdate(r,i,this,t),"move"!==t&&this.setOriginStyle()}else this.draw();this.restoreStates(e,r)},t.prototype.updatePosition=function(t){var e=this.get("model"),n=isNaN(+t.x)?+e.x:+t.x,r=isNaN(+t.y)?+e.y:+t.y,i=this.get("group");if(isNaN(n)||isNaN(r))return!1;e.x=n,e.y=r;var o=i.getMatrix();return(!o||o[6]!==n||o[7]!==r)&&(i.resetMatrix(),Qt(i,{x:n,y:r}),this.clearCache(),!0)},t.prototype.getBBox=function(){var t=this.get("bboxCache");return t||(t=this.calculateBBox(),this.set("bboxCache",t)),t},t.prototype.getCanvasBBox=function(){var t=this.get("bboxCanvasCache");return t||(t=this.calculateCanvasBBox(),this.set("bboxCanvasCache",t)),t},t.prototype.toFront=function(){this.get("group").toFront()},t.prototype.toBack=function(){this.get("group").toBack()},t.prototype.show=function(){this.changeVisibility(!0)},t.prototype.hide=function(){this.changeVisibility(!1)},t.prototype.changeVisibility=function(t){var e=this.get("group");t?e.show():e.hide(),this.set("visible",t)},t.prototype.isVisible=function(){return this.get("visible")},t.prototype.enableCapture=function(t){var e=this.get("group");e&&e.set("capture",t)},t.prototype.destroy=function(){if(!this.destroyed){var t=this.get("animate"),e=this.get("group");t&&e.stopAnimate(),e.shapeMap={},this.clearCache(),e.remove(),this._cfg=null,this.destroyed=!0}},t}(),wn={source:"start",target:"end"},_n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(g.__extends)(e,t),e.prototype.getDefaultCfg=function(){return{type:"edge",sourceNode:null,targetNode:null,startPoint:null,endPoint:null,linkCenter:!1}},e.prototype.setEnd=function(t,e){var n=wn[t]+"Point",r=t+"Node",i=this.get(r);i&&!i.destroyed&&i.removeEdge(this),Object(v.isPlainObject)(e)?(this.set(n,e),this.set(r,null)):e&&(e.addEdge(this),this.set(r,e),this.set(n,null))},e.prototype.getLinkPoint=function(t,e,n){var r=wn[t]+"Point",i=t+"Node",o=this.get(r);if(!o){var a=this.get(i),s=t+"Anchor",u=this.getPrePoint(t,n),c=e[s];Object(v.isNil)(c)||(o=a.getLinkPointByAnchor(c)),o=o||a.getLinkPoint(u),Object(v.isNil)(o.index)||this.set("".concat(t,"AnchorIndex"),o.index)}return o},e.prototype.getPrePoint=function(t,e){if(e&&e.length)return e["source"===t?0:e.length-1];var n="source"===t?"target":"source";return this.getEndPoint(n)},e.prototype.getEndPoint=function(t){var e=t+"Node",n=wn[t]+"Point",r=this.get(e);return r&&!r.destroyed?r.get("model"):this.get(n)},e.prototype.getControlPointsByCenter=function(t){var e=this.getEndPoint("source"),n=this.getEndPoint("target"),r=this.get("shapeFactory"),i=t.type;return r.getControlPoints(i,{startPoint:e,endPoint:n})},e.prototype.getEndCenter=function(t){var e=t+"Node",n=wn[t]+"Point",r=this.get(e);if(r){var i=r.getBBox();return{x:i.centerX,y:i.centerY}}return this.get(n)},e.prototype.init=function(){t.prototype.init.call(this),this.setSource(this.get("source")),this.setTarget(this.get("target"))},e.prototype.getShapeCfg=function(e,n){var r=this.get("linkCenter"),i=(null==n?void 0:n.includes("move"))?e:t.prototype.getShapeCfg.call(this,e);if(r)i.startPoint=this.getEndCenter("source"),i.endPoint=this.getEndCenter("target");else{var o=i.controlPoints||this.getControlPointsByCenter(i);i.startPoint=this.getLinkPoint("source",e,o),i.endPoint=this.getLinkPoint("target",e,o)}return i.sourceNode=this.get("sourceNode"),i.targetNode=this.get("targetNode"),i},e.prototype.getModel=function(){var t=this.get("model"),e=this.get("source".concat("Node")),n=this.get("target".concat("Node"));return e?delete t["source".concat("Node")]:t.source=this.get("start".concat("Point")),n?delete t["target".concat("Node")]:t.target=this.get("end".concat("Point")),Object(v.isString)(t.source)||Object(v.isPlainObject)(t.source)||(t.source=t.source.getID()),Object(v.isString)(t.target)||Object(v.isPlainObject)(t.target)||(t.target=t.target.getID()),t},e.prototype.setSource=function(t){this.setEnd("source",t),this.set("source",t)},e.prototype.setTarget=function(t){this.setEnd("target",t),this.set("target",t)},e.prototype.getSource=function(){return this.get("source")},e.prototype.getTarget=function(){return this.get("target")},e.prototype.updatePosition=function(){return!1},e.prototype.update=function(t,e){void 0===e&&(e=void 0);var n=this.get("model"),r=n.visible,i=t.visible;r!==i&&void 0!==i&&this.changeVisibility(i);var o=this.get("source"),a=this.get("target");if(o&&!o.destroyed&&a&&!a.destroyed){var s=this.get("styles");if(t.stateStyles){var u=t.stateStyles;Object(v.mix)(s,u),delete t.stateStyles}Object.assign(n,t),this.updateShape(e),this.afterUpdate(),this.clearCache()}},e.prototype.destroy=function(){var e=this.get("source".concat("Node")),n=this.get("target".concat("Node"));e&&!e.destroyed&&e.removeEdge(this),n&&!n.destroyed&&n.removeEdge(this),t.prototype.destroy.call(this)},e}(xn),En=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(g.__extends)(e,t),e.prototype.getNearestPoint=function(t,e){for(var n=0,r=t[0],i=Ht(t[0],e),o=0;o<t.length;o++){var a=t[o],s=Ht(a,e);s<i&&(r=a,i=s,n=o)}return r.anchorIndex=n,r},e.prototype.getDefaultCfg=function(){return{type:"node",edges:[]}},e.prototype.getEdges=function(){return this.get("edges")},e.prototype.getInEdges=function(){var t=this;return this.get("edges").filter((function(e){return e.get("target")===t}))},e.prototype.getOutEdges=function(){var t=this;return this.get("edges").filter((function(e){return e.get("source")===t}))},e.prototype.getNeighbors=function(t){var e=this,n=this.get("edges");if("target"===t){return n.filter((function(t){return t.getSource()===e})).map((function(t){return t.getTarget()}))}if("source"===t){return n.filter((function(t){return t.getTarget()===e})).map((function(t){return t.getSource()}))}return n.map((function(t){return t.getSource()===e?t.getTarget():t.getSource()}))},e.prototype.getLinkPointByAnchor=function(t){return this.getAnchorPoints()[t]},e.prototype.getLinkPoint=function(t){var e,n,r=this.get("keyShape").get("type"),i=this.get("type"),o=this.getBBox();"combo"===i?(e=o.centerX||(o.maxX+o.minX)/2,n=o.centerY||(o.maxY+o.minY)/2):(e=o.centerX,n=o.centerY);var a,s=this.getAnchorPoints();switch(r){case"circle":a=Yt({x:e,y:n,r:o.width/2},t);break;case"ellipse":a=Ut({x:e,y:n,rx:o.width/2,ry:o.height/2},t);break;default:a=Gt(o,t)}var u=a;return s.length&&(u||(u=t),u=this.getNearestPoint(s,u)),u||(u={x:e,y:n}),u},e.prototype.getAnchorPoints=function(){var t=this.get("anchorPointsCache");if(!t){t=[];var e=this.get("shapeFactory"),n=this.getBBox(),r=this.get("model"),i=this.getShapeCfg(r),o=r.type,a=e.getAnchorPoints(o,i)||[];Object(v.each)(a,(function(e,r){var i={x:n.minX+e[0]*n.width,y:n.minY+e[1]*n.height,anchorIndex:r};t.push(i)})),this.set("anchorPointsCache",t)}return t},e.prototype.addEdge=function(t){this.get("edges").push(t)},e.prototype.lock=function(){this.set("locked",!0)},e.prototype.unlock=function(){this.set("locked",!1)},e.prototype.hasLocked=function(){return this.get("locked")},e.prototype.removeEdge=function(t){var e=this.getEdges(),n=e.indexOf(t);n>-1&&e.splice(n,1)},e.prototype.clearCache=function(){this.set("bboxCache",null),this.set("anchorPointsCache",null)},e.prototype.getUpdateType=function(t){var e,n,r,i,o;if(t){var a=!Object(v.isNil)(t.x),s=!Object(v.isNil)(t.y),u=Object.keys(t);return 1===u.length&&(a||s)||2===u.length&&a&&s?"move":Object(v.isNumber)(t.x)||Object(v.isNumber)(t.y)||t.type||t.anchorPoints||t.size||(null==t?void 0:t.style)&&((null===(e=null==t?void 0:t.style)||void 0===e?void 0:e.r)||(null===(n=null==t?void 0:t.style)||void 0===n?void 0:n.width)||(null===(r=null==t?void 0:t.style)||void 0===r?void 0:r.height)||(null===(i=null==t?void 0:t.style)||void 0===i?void 0:i.rx)||(null===(o=null==t?void 0:t.style)||void 0===o?void 0:o.ry))?"bbox|label":u.includes("label")||u.includes("labelCfg")?"style|label":"style"}},e.prototype.setState=function(e,n){var r=this;this.optimize?t.prototype.setState.call(this,e,n):this.runWithBBoxAffected((function(){return t.prototype.setState.call(r,e,n)}))},e.prototype.clearStates=function(e){var n=this;this.optimize?t.prototype.clearStates.call(this,e):this.runWithBBoxAffected((function(){return t.prototype.clearStates.call(n,e)}))},e.prototype.runWithBBoxAffected=function(t){var e=["r","width","height","rx","ry","lineWidth"],n=this.getKeyShape().attr(),r={};Object.keys(this.getKeyShape().attr()).forEach((function(t){e.includes(t)&&(r[t]=n[t])})),t();for(var i=this.getKeyShape().attr(),o=0;o<e.length;o++){var a=e[o];if(i[a]!==r[a]){this.clearCache(),this.getEdges().forEach((function(t){return t.refresh()}));break}}},e}(xn),Sn=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(g.__extends)(e,t),e.prototype.getDefaultCfg=function(){return{type:"combo",nodes:[],edges:[],combos:[]}},e.prototype.getShapeCfg=function(t){var e=this.get("styles"),n=this.get("bbox");if(e&&n){var r=t,i=Object(v.isNumber)(t.size)?[t.size,t.size]:t.size,o=Object(v.isNumber)(t.fixSize)?[t.fixSize,t.fixSize]:t.fixSize,a=i||o||Ae.defaultCombo.size,s={r:(Math.max(n.width,n.height)||Math.max(a[0],a[1]))/2,width:n.width||a[0],height:n.height||a[1]};r.style=Object(g.__assign)(Object(g.__assign)(Object(g.__assign)({},e),t.style),s);var u=t.padding||Ae.defaultCombo.padding;return Object(v.isNumber)(u)?(s.r+=u,s.width+=2*u,s.height+=2*u):(s.r=s.r+Math.max.apply(Math,u),s.width+=u[1]+u[3]||2*u[1],s.height+=u[0]+u[2]||2*u[0]),this.set("sizeCache",s),r}return t},e.prototype.calculateCanvasBBox=function(){if(!this.destroyed){var t=this.get("keyShape"),e=this.get("group"),n=this.get("bboxCache")||{},r=n.x,i=n.x,o=this.get("sizeCache"),a=De(t,e);if(a.centerX=(a.minX+a.maxX)/2,a.centerY=(a.minY+a.maxY)/2,o)o.width=Math.max(o.width,a.width),o.height=Math.max(o.height,a.height),this.set("sizeCache",o),"circle"===t.get("type")?(a.width=2*o.r,a.height=2*o.r):(a.width=o.width,a.height=o.height),a.minX=a.centerX-a.width/2,a.minY=a.centerY-a.height/2,a.maxX=a.centerX+a.width/2,a.maxY=a.centerY+a.height/2;else a.width=a.maxX-a.minX,a.height=a.maxY-a.minY,a.centerX=(a.minX+a.maxX)/2,a.centerY=(a.minY+a.maxY)/2;return a.x=a.minX,a.y=a.minY,a.x===r&&a.y===i||this.set("anchorPointsCache",null),a}},e.prototype.getChildren=function(){return{nodes:this.getNodes(),combos:this.getCombos()}},e.prototype.getNodes=function(){return this.get("nodes")},e.prototype.getCombos=function(){return this.get("combos")},e.prototype.addChild=function(t){switch(t.getType()){case"node":this.addNode(t);break;case"combo":this.addCombo(t);break;default:return console.warn("Only node or combo items are allowed to be added into a combo"),!1}return!0},e.prototype.addCombo=function(t){return this.get("combos").push(t),!0},e.prototype.addNode=function(t){return this.get("nodes").push(t),!0},e.prototype.removeChild=function(t){switch(t.getType()){case"node":this.removeNode(t);break;case"combo":this.removeCombo(t);break;default:return console.warn("Only node or combo items are allowed to be added into a combo"),!1}return!0},e.prototype.removeCombo=function(t){if(t){var e=this.getCombos(),n=e.indexOf(t);return n>-1&&(e.splice(n,1),!0)}},e.prototype.removeNode=function(t){if(t){var e=this.getNodes(),n=e.indexOf(t);return n>-1&&(e.splice(n,1),!0)}},e.prototype.getUpdateType=function(t){},e.prototype.getBBox=function(){return this.set("bboxCanvasCache",null),this.calculateCanvasBBox()},e.prototype.clearCache=function(){this.set("bboxCache",null),this.set("bboxCanvasCache",null),this.set("anchorPointsCache",null)},e.prototype.destroy=function(){if(!this.destroyed){var t=this.get("animate"),e=this.get("group");t&&e.stopAnimate(),e.shapeMap={},this.clearCache(),this.set("sizeCache",null),this.set("bbox",null),e.remove(),this._cfg=null,this.destroyed=!0}},e}(En),Mn=function(){function t(t){var e=this;this.edgeToBeUpdateMap={},this.throttleRefresh=Object(v.throttle)((function(t){var n=e.graph;if(n&&!n.get("destroyed")){var r=e.edgeToBeUpdateMap;if(r){var i=Object.values(r);i.length&&(i.forEach((function(t){var e=t.edge;if(e&&!e.destroyed){var n=e.getSource(),r=e.getTarget();n&&!n.destroyed&&r&&!r.destroyed&&e.refresh(t.updateType)}})),e.edgeToBeUpdateMap={})}}}),16,{trailing:!0,leading:!0}),this.graph=t,this.destroyed=!1}return t.prototype.addItem=function(t,e){var n=this.graph,r="vedge"===t?"edge":t,i=n.get("".concat(r,"Group"))||n.get("group"),o=Object(v.upperFirst)(r),a=null,s=n.get(r+Object(v.upperFirst)("stateStyles"))||{},u=n.get("default"+o);e.stateStyles&&(s=e.stateStyles),u&&Object(v.each)(u,(function(t,n){Object(v.isObject)(t)&&!Object(v.isArray)(t)?e[n]=Object(v.deepMix)({},t,e[n]):Object(v.isArray)(t)?e[n]=e[n]||Object(v.clone)(u[n]):e[n]=e[n]||u[n]}));var c=n.get(r+"Mapper");if(c){var l=c(e);l.stateStyles&&(s=l.stateStyles,delete l.stateStyles),Object(v.each)(l,(function(t,n){Object(v.isObject)(t)&&!Object(v.isArray)(t)?e[n]=Object(v.deepMix)({},e[n],t):e[n]=l[n]||e[n]}))}if(n.emit("beforeadditem",{type:t,model:e}),"edge"===t||"vedge"===t){var f=void 0,h=void 0;if(f=e.source,h=e.target,f&&Object(v.isString)(f)&&(f=n.findById(f)),h&&Object(v.isString)(h)&&(h=n.findById(h)),!f||!h)return void console.warn("The source or target node of edge ".concat(e.id," does not exist!"));f.getType&&"combo"===f.getType()&&(e.isComboEdge=!0),h.getType&&"combo"===h.getType()&&(e.isComboEdge=!0),a=new _n({model:e,source:f,target:h,styles:s,linkCenter:n.get("linkCenter"),group:i.addGroup()})}else if("node"===t)a=new En({model:e,styles:s,group:i.addGroup()});else if("combo"===t){var d=e.children,p=He(d,n),g=void 0,y=void 0;if(isNaN(p.x)?isNaN(e.x)&&(g=100*Math.random()):g=p.x,isNaN(p.y)?isNaN(e.y)&&(y=100*Math.random()):y=p.y,isNaN(e.x)||isNaN(e.y))e.x=g,e.y=y;else{var m=e.x-g,b=e.y-y;this.updateComboSucceeds(e.id,m,b,d)}var x=i.addGroup();x.setZIndex(e.depth),a=new Sn({model:e,styles:s,animate:n.get("animate"),bbox:e.collapsed?He([],n):p,group:x}),e.collapsed||"circle"!==a.getKeyShape().get("type")||(p.width=Math.hypot(p.height,p.width),p.height=p.width,a.set("bbox",p),a.refresh());var w=a.getModel();(d||[]).forEach((function(t){var e=n.findById(t.id);a.addChild(e),t.depth=w.depth+2}))}if(a)return a.setOptimize(n.getNodes().length>n.get("optimizeThreshold")),n.get("".concat(t,"s")).push(a),n.get("itemMap")[a.get("id")]=a,n.emit("afteradditem",{item:a,model:e}),a},t.prototype.updateItem=function(t,e){var n,r,i=this,o=this.graph;if(Object(v.isString)(t)&&(t=o.findById(t)),t&&!t.destroyed){var a="";t.getType&&(a=t.getType());var s=o.get(a+"Mapper"),u=t.getModel(),c=u.x,l=u.y,f=t.getUpdateType(e);if(s){var h=s(Object(v.deepMix)({},u,e)),d=Object(v.deepMix)({},u,h,e);h.stateStyles&&(t.set("styles",d.stateStyles),delete d.stateStyles),Object(v.each)(d,(function(t,n){e[n]=t}))}else Object(v.each)(e,(function(t,n){u[n]&&Object(v.isObject)(t)&&!Object(v.isArray)(t)&&(e[n]=Object(g.__assign)(Object(g.__assign)({},u[n]),e[n]))}));if(o.emit("beforeupdateitem",{item:t,cfg:e}),"edge"===a){if(e.source){var p=e.source;Object(v.isString)(p)&&(p=o.findById(p)),t.setSource(p)}if(e.target){var y=e.target;Object(v.isString)(y)&&(y=o.findById(y)),t.setTarget(y)}t.update(e)}else if("node"===a){t.update(e,f);var m=t.getEdges();"move"===f?Object(v.each)(m,(function(t){i.edgeToBeUpdateMap[t.getID()]={edge:t,updateType:f},i.throttleRefresh()})):(null==f?void 0:f.includes("bbox"))&&Object(v.each)(m,(function(t){t.refresh(f)}))}else if("combo"===a){if(t.update(e,f),!isNaN(e.x)||!isNaN(e.y)){var b=e.x-c||0,x=e.y-l||0;this.updateComboSucceeds(u.id,b,x)}var w=t.getEdges();if(((null==f?void 0:f.includes("bbox"))||"move"===f)&&"combo"===a){var _=t.get("shapeFactory"),E=u.type||"circle";(void 0===u.animate||void 0===e.animate?null===(r=null===(n=_[E])||void 0===n?void 0:n.options)||void 0===r?void 0:r.animate:u.animate||e.animate)?setTimeout((function(){if(t&&!t.destroyed){var e=t.getKeyShape();e&&!e.destroyed&&Object(v.each)(w,(function(t){t&&!t.destroyed&&t.refresh()}))}}),201):Object(v.each)(w,(function(t){t.refresh()}))}}t.setOptimize(o.getNodes().length>o.get("optimizeThreshold")),o.emit("afterupdateitem",{item:t,cfg:e})}},t.prototype.updateCombo=function(t,e,n){var r,i,o=this,a=this.graph;if(Object(v.isString)(t)&&(t=a.findById(t)),t&&!t.destroyed){var s=t.getModel(),u=He(e,a,t),c=u.x,l=u.y;t.set("bbox",u);var f=c,h=l;n?(f=isNaN(s.x)?c:s.x,h=isNaN(s.y)?l:s.y):(f=isNaN(c)?s.x:c,h=isNaN(l)?s.y:l),t.update({x:f,y:h});var d=t.get("shapeFactory"),p=s.type||"circle";(void 0===s.animate?null===(i=null===(r=d[p])||void 0===r?void 0:r.options)||void 0===i?void 0:i.animate:s.animate)?setTimeout((function(){if(t&&!t.destroyed){var e=t.getKeyShape();e&&!e.destroyed&&(t.getShapeCfg(s),o.updateComboEdges(t))}}),201):this.updateComboEdges(t)}},t.prototype.updateComboEdges=function(t){for(var e,n,r=t.getEdges()||[],i=0;i<r.length;i++){var o=r[i];(null==o?void 0:o.destroyed)||(null===(e=null==o?void 0:o.getSource())||void 0===e?void 0:e.destroyed)||(null===(n=null==o?void 0:o.getTarget())||void 0===n?void 0:n.destroyed)||o.refresh()}},t.prototype.collapseCombo=function(t,e){void 0===e&&(e=!0);var n=this.graph;Object(v.isString)(t)&&(t=n.findById(t));var r=t.getChildren();r.nodes.forEach((function(t){n.hideItem(t,e)})),r.combos.forEach((function(t){n.hideItem(t,e)}))},t.prototype.updateComboSucceeds=function(t,e,n,r){var i=this;void 0===r&&(r=[]);var o=this.graph;if(e||n){var a=r;if(!(null==a?void 0:a.length)){var s=o.get("comboTrees");null==s||s.forEach((function(e){ze(e,(function(e){return e.id!==t||(a=e.children,!1)}))}))}null==a||a.forEach((function(t){var r=o.findById(t.id);if(r){var a=r.getModel();i.updateItem(t.id,{x:(a.x||0)+e,y:(a.y||0)+n})}}))}},t.prototype.expandCombo=function(t,e){void 0===e&&(e=!0);var n=this.graph;Object(v.isString)(t)&&(t=n.findById(t));var r=t.getChildren(),i=new Set;r.nodes.forEach((function(t){n.showItem(t,e),t.getEdges().forEach((function(t){return i.add(t)}))})),r.combos.forEach((function(t){t.getModel().collapsed?t.show():n.showItem(t,e),t.getEdges().forEach((function(t){return i.add(t)}))})),i.forEach((function(t){return t.refresh()}))},t.prototype.removeItem=function(t){var e=this,n=this.graph;if(Object(v.isString)(t)&&(t=n.findById(t)),t&&!t.destroyed){var r=Object(v.clone)(t.getModel()),i="";t.getType&&(i=t.getType()),n.emit("beforeremoveitem",{item:r,type:i});var o=n.get("".concat(i,"s")),a=o.indexOf(t);if(a>-1&&o.splice(a,1),"edge"===i){var s=n.get("v".concat(i,"s")),u=s.indexOf(t);u>-1&&s.splice(u,1)}var c=t.get("id");delete n.get("itemMap")[c];var l=n.get("comboTrees"),f=t.get("id");if("node"===i){var h=t.getModel().comboId;if(l&&h){var d=l,p=!1;l.forEach((function(t){p||ze(t,(function(t){if(t.id===f&&d){var e=d.indexOf(t);return d.splice(e,1),p=!0,!1}return d=t.children,!0}))}))}for(var g=(x=t.getEdges()).length-1;g>=0;g--)n.removeItem(x[g],!1);h&&n.updateCombo(h)}else if("combo"===i){var y,m=t.getModel().parentId,b=!1;(l||[]).forEach((function(t){b||ze(t,(function(t){return t.id!==f||(y=t,b=!0,!1)}))})),y.removed=!0,y&&y.children&&y.children.forEach((function(t){e.removeItem(t.id)}));var x;for(g=(x=t.getEdges()).length;g>=0;g--)n.removeItem(x[g],!1);m&&n.updateCombo(m)}t.destroy(),n.emit("afterremoveitem",{item:r,type:i})}},t.prototype.setItemState=function(t,e,n){var r=this.graph,i=e;Object(v.isString)(n)&&(i="".concat(e,":").concat(n)),t.hasState(i)===n&&n||Object(v.isString)(n)&&t.hasState(i)||(r.emit("beforeitemstatechange",{item:t,state:i,enabled:n}),t.setState(e,n),r.autoPaint(),r.emit("afteritemstatechange",{item:t,state:i,enabled:n}))},t.prototype.priorityState=function(t,e){var n=this.graph,r=t;Object(v.isString)(t)&&(r=n.findById(t)),this.setItemState(r,e,!1),this.setItemState(r,e,!0)},t.prototype.clearItemStates=function(t,e){var n=this.graph;Object(v.isString)(t)&&(t=n.findById(t)),n.emit("beforeitemstatesclear",{item:t,states:e}),t.clearStates(e),n.emit("afteritemstatesclear",{item:t,states:e})},t.prototype.refreshItem=function(t){var e=this.graph;Object(v.isString)(t)&&(t=e.findById(t)),e.emit("beforeitemrefresh",{item:t}),t.refresh(),e.emit("afteritemrefresh",{item:t})},t.prototype.addCombos=function(t,e){var n=this,r=this.graph;(t||[]).forEach((function(t){Ge(t,(function(t){var r;return e.forEach((function(e){e.id===t.id&&(e.children=t.children,e.depth=t.depth,r=e)})),r&&n.addItem("combo",r),!0}))}));var i=r.get("comboGroup");i&&i.sort()},t.prototype.changeItemVisibility=function(t,e){var n=this,r=this.graph;if(Object(v.isString)(t)&&(t=r.findById(t)),t){if(r.emit("beforeitemvisibilitychange",{item:t,visible:e}),t.changeVisibility(e),t.getType&&"node"===t.getType()){var i=t.getEdges();Object(v.each)(i,(function(t){(!e||t.get("source").isVisible()&&t.get("target").isVisible())&&n.changeItemVisibility(t,e)}))}else if(t.getType&&"combo"===t.getType()){var o=r.get("comboTrees"),a=t.get("id"),s=[],u=!1;(o||[]).forEach((function(t){u||t.children&&0!==t.children.length&&ze(t,(function(t){return t.id!==a||(s=t.children,u=!0,!1)}))})),s&&(!e||e&&!t.getModel().collapsed)&&s.forEach((function(t){var i=r.findById(t.id);n.changeItemVisibility(i,e)}));i=t.getEdges();Object(v.each)(i,(function(t){(!e||t.get("source").isVisible()&&t.get("target").isVisible())&&n.changeItemVisibility(t,e)}))}return r.emit("afteritemvisibilitychange",{item:t,visible:e}),t}console.warn("The item to be shown or hidden does not exist!")},t.prototype.destroy=function(){this.graph=null,this.destroyed=!0},t}(),On=function(){function t(t){this.graph=t,this.destroyed=!1}return t.prototype.updateState=function(t,e,n){var r=this.graph.get("states"),i=e;Object(v.isString)(n)&&(i="".concat(e,":").concat(n)),r[i]||(r[i]=[]),n?r[i].push(t):r[i]=r[i].filter((function(e){return e!==t})),this.graph.set("states",r),this.graph.emit("graphstatechange",{states:r})},t.prototype.updateStates=function(t,e,n){var r=this.graph.get("states");(Object(v.isString)(e)?[e]:e).forEach((function(e){var i=e;r[i]||(r[i]=[]),Object(v.isString)(n)&&(i="".concat(e,":").concat(n)),n?r[i].push(t):r[i]=r[i].filter((function(e){return e!==t}))})),this.graph.set("states",r),this.graph.emit("graphstatechange",{states:e})},t.prototype.destroy=function(){this.graph=null,this.destroyed=!0},t}(),kn=n(21),An=function(t,e){return t&&e?t.replace(/\\?\{([^{}]+)\}/g,(function(t,n){if("\\"===t.charAt(0))return t.slice(1);var r=e[n];return 0===r&&(r="0"),r||""})):t},Cn=function(t){var e=[];if(t.length<2)throw new Error("point length must largn than 2, now it's ".concat(t.length));for(var n=0,r=t;n<r.length;n++){var i=r[n],o=i.x,a=i.y;e.push(o),e.push(a)}var s=Object(kn.a)(e);return s.unshift(["M",t[0].x,t[0].y]),s},jn=function(t,e,n,r){void 0===n&&(n=0),void 0===r&&(r=0);var i={x:(1-n)*t.x+n*e.x,y:(1-n)*t.y+n*e.y},o=[0,0];w.c.normalize(o,[e.x-t.x,e.y-t.y]),o&&(o[0]||o[1])||(o=[0,0]);var a=[-o[1]*r,o[0]*r];return i.x+=a[0],i.y+=a[1],i},In=function(t,e){var n=t.length;if(!n)return"";for(var r="",i=0;i<n;i++){var o=t[i];r+=An(0===i?"M{x} {y}":"L{x} {y}",o)}return e&&(r+="Z"),r},Tn=function(t){var e=[];return t.forEach((function(t){if("A"!==t[0])for(var n=1;n<t.length;n+=2)e.push([t[n],t[n+1]]);else{var r=t.length;e.push([t[r-2],t[r-1]])}})),e},Nn=function(t){if(t.length<2)throw new Error("point length must larger than 2, now it's ".concat(t.length));var e=t[0],n=t[1],r=t[t.length-1],i=t[t.length-2];t.unshift(r),t.unshift(i),t.push(e),t.push(n);for(var o=[],a=1;a<t.length-2;a+=1){var s=t[a-1].x,u=t[a-1].y,c=t[a].x,l=t[a].y,f=t[a+1].x,h=t[a+1].y,d=c+(f-s)/6,p=l+(h-u)/6,g=f-((a!==t.length-2?t[a+2].x:f)-c)/6,v=h-((a!==t.length-2?t[a+2].y:h)-l)/6;o.push(["C",d,p,g,v,f,h])}return o.unshift(["M",r.x,r.y]),o},Pn=function(t,e){return w.c.scale([0,0],w.c.normalize([0,0],t),e)},Dn=function(t,e){var n=[t[1]-e[1],e[0]-t[0]],r=Math.sqrt(n[0]*n[0]+n[1]*n[1]);if(0===r)throw new Error("p0 should not be equal to p1");return[n[0]/r,n[1]/r]},Ln=function(t,e){return[e[0]-t[0],e[1]-t[1]]};function Rn(t,e){if(!t||t.length<1)return"";if(1===t.length)return function(t){var n=[t[0][0],t[0][1]-e],r=[t[0][0],t[0][1]+e];return"M ".concat(n," A ").concat(e,",").concat(e,",0,0,0,").concat(r," A ").concat(e,",").concat(e,",0,0,0,").concat(n)}(t);if(2===t.length)return function(t){var n=w.c.scale([0,0],Dn(t[0],t[1]),e),r=w.c.scale([0,0],n,-1),i=w.c.add([0,0],t[0],n),o=w.c.add([0,0],t[1],n),a=w.c.add([0,0],t[1],r),s=w.c.add([0,0],t[0],r);return"M ".concat(i," L ").concat(o," A ").concat([e,e,"0,0,0",a].join(",")," L ").concat(s," A ").concat([e,e,"0,0,0",i].join(","))}(t);for(var n=new Array(t.length),r=0;r<n.length;++r){var i=0===r?t[t.length-1]:t[r-1],o=t[r],a=w.c.scale([0,0],Dn(i,o),e);n[r]=[w.c.add([0,0],i,a),w.c.add([0,0],o,a)]}var s="A ".concat([e,e,"0,0,0,"].join(","));return(n=n.map((function(t,e){var r="";return 0===e&&(r="M ".concat(n[n.length-1][1]," ")),r+="".concat(s+t[0]," L ").concat(t[1])}))).join(" ")}function Bn(t,e){var n,r,i,o=t.length;if(!t||o<1)return"";if(1===o)return r=[(n=t)[0][0],n[0][1]-e],i=[n[0][0],n[0][1]+e],"M ".concat(r," A ").concat([e,e,"0,0,0",i].join(",")," A ").concat([e,e,"0,0,0",r].join(","));if(2===o)return function(t){var n=Ln(t[0],t[1]),r=Pn(n,e),i=w.c.add([0,0],t[0],w.c.scale([0,0],r,-1)),o=w.c.add([0,0],t[1],r),a=1.2*e,s=Pn(w.c.normalize([0,0],n),a),u=w.c.scale([0,0],s,-1),c=w.c.add([0,0],i,u),l=w.c.add([0,0],o,u),f=w.c.add([0,0],i,s);return"M ".concat(i," C ").concat([c,l,o].join(",")," S ").concat([f,i].join(",")," Z")}(t);for(var a=t.map((function(e,n){var r=t[(n+1)%o];return{p:e,v:w.c.normalize([0,0],Ln(e,r))}})),s=0;s<a.length;++s){var u=s>0?s-1:o-1,c=w.c.normalize([0,0],w.c.add([0,0],a[u].v,w.c.scale([0,0],a[s].v,-1)));a[s].p=w.c.add([0,0],a[s].p,w.c.scale([0,0],c,e))}return a.map((function(t){var e=t.p;return{x:e[0],y:e[1]}}))}var Fn=function(t,e){for(var n=[],r=0;r<5;r++){var i=Math.cos((18+72*r)/180*Math.PI)*t,o=Math.sin((18+72*r)/180*Math.PI)*t,a=Math.cos((54+72*r)/180*Math.PI)*e,s=Math.sin((54+72*r)/180*Math.PI)*e;0===r?n.push(["M",i,-o]):n.push(["L",i,-o]),n.push(["L",a,-s])}return n.push(["Z"]),n},zn=function(t,e,n){return(t.y-n.y)*(e.x-n.x)-(t.x-n.x)*(e.y-n.y)},Gn=function(t){var e=t.map((function(t){return{x:t.getModel().x,y:t.getModel().y}}));e.sort((function(t,e){return t.x===e.x?t.y-e.y:t.x-e.x}));for(var n={},r=e.length-1;r>=0;r--){var i=e[r],o=i.x,a=i.y;n["".concat(o,"-").concat(a)]&&e.splice(r,1),n["".concat(o,"-").concat(a)]=!0}if(1===e.length)return e;var s=[];for(r=0;r<e.length;r++){for(;s.length>=2&&zn(s[s.length-2],s[s.length-1],e[r])<=0;)s.pop();s.push(e[r])}var u=[];for(r=e.length-1;r>=0;r--){for(;u.length>=2&&zn(u[u.length-2],u[u.length-1],e[r])<=0;)u.pop();u.push(e[r])}return u.pop(),s.pop(),s.concat(u)},Yn={maxRoutingIterations:100,maxMarchingIterations:100,pixelGroupSize:2,edgeR0:10,edgeR1:10,nodeR0:5,nodeR1:10,morphBuffer:5,threshold:.001,skip:16,nodeInfluenceFactor:1,edgeInfluenceFactor:1,negativeNodeInfluenceFactor:-.5};function Un(t,e,n){var r=!1,i=function(t,n){return e.cells[t+n*e.width]},o=function(t,e){var r=0;return i(t-1,e-1)>=n&&(r+=1),i(t,e-1)>n&&(r+=2),i(t-1,e)>n&&(r+=4),i(t,e)>n&&(r+=8),r},a=function(n,r){for(var i,a,s=n,u=r,c=0;c<e.width*e.height;c++){if(i=s,a=u,t.findIndex((function(t){return t.x===s&&t.y===u}))>-1){if(t[0].x===s&&t[0].y===u)return!0}else t.push({x:s,y:u});var l=o(s,u);switch(l){case-1:return console.warn("Marched out of bounds"),!0;case 0:case 3:case 2:case 7:s++;break;case 12:case 14:case 4:s--;break;case 6:0===i&&(-1===a?s-=1:s+=1);break;case 1:case 13:case 5:u--;break;case 9:1===i&&(0===a?u-=1:u+=1);break;case 10:case 8:case 11:u++;break;default:return console.warn("Marching squares invalid state: ".concat(l)),!0}}};this.march=function(){for(var t=0;t<e.width&&!r;t+=1)for(var s=0;s<e.height&&!r;s+=1)i(t,s)>n&&15!==o(t,s)&&(r=a(t,s));return r}}var Xn=function(t,e){var n=Number.POSITIVE_INFINITY,r=null;return t.forEach((function(t){var i=le(t,e);i>=0&&i<n&&(r=t,n=i)})),r};function Wn(t,e,n,r,i){var o=function(t,e,n){var r=null,i=Number.POSITIVE_INFINITY;return e.forEach((function(e){var o={x:t.getModel().x,y:t.getModel().y},a={x:e.getModel().x,y:e.getModel().y},s=he(o,a),u=new ae(o.x,o.y,a.x,a.y),c=n.reduce((function(t,e){return le(e,u)>0?t+1:t}),0);s*Math.pow(c+1,2)<i&&(r=e,i=s*Math.pow(c+1,2))})),r}(t,n,e);if(null===o)return[];return function(t){for(var n=[];t.length>0;){var r=t.pop();if(0===t.length){n.push(r);break}var i=t.pop(),o=new ae(r.x1,r.y1,i.x2,i.y2);Xn(e,o)?(n.push(r),t.push(i)):t.push(o)}return n}(function(t,e,n,r){var i=[],o=[];o.push(t);for(var a=!0,s=0,u=function(t,e){var n=!1;return e.forEach((function(e){n||(pe(t,{x:e.x1,y:e.y1})||pe(t,{x:e.x2,y:e.y2}))&&(n=!0)})),n},c=function(t,e){for(var n=0,r=e;n<r.length;n++){var i=r[n].getBBox(),o=[[i.x,i.y],[i.x+i.width,i.y],[i.x,i.y+i.height],[i.x+i.width,i.y+i.height]];if(re(o,t.x,t.y))return!0}return!1};a&&s<n;){a=!1;for(var l=function(){var t=o.pop(),n=Xn(e,t);if(n){var l=ce(n,t),f=l[0];if(2===l[1]){var h=function(s){for(var l=r,h=qn(n,l,f,s),d=u(h,o)||u(h,i),p=c(h,e);!d&&p&&l>=1;)h=qn(n,l/=1.5,f,s),d=u(h,o)||u(h,i),p=c(h,e);!h||d||s&&p||(o.push(new ae(t.x1,t.y1,h.x,h.y)),o.push(new ae(h.x,h.y,t.x2,t.y2)),a=!0)};h(!0),a||h(!1)}}a||i.push(t),s+=1};!a&&o.length;)l()}for(;o.length;)i.push(o.pop());return i}(new ae(t.getModel().x,t.getModel().y,o.getModel().x,o.getModel().y),e,r,i))}var Vn=function(t,e,n){var r=Object.assign(Yn,n),i=fe(t.map((function(t){return{x:t.getModel().x,y:t.getModel().y}})));t=t.sort((function(t,e){return he({x:t.getModel().x,y:t.getModel().y},i)-he({x:e.getModel().x,y:e.getModel().y},i)}));var o=[],a=[];t.forEach((function(t){Wn(t,e,o,r.maxRoutingIterations,r.morphBuffer).forEach((function(t){a.push(t)})),o.push(t)}));for(var s,u,c,l,f,h=function(t,e,n){var r={minX:Number.POSITIVE_INFINITY,minY:Number.POSITIVE_INFINITY,maxX:Number.NEGATIVE_INFINITY,maxY:Number.NEGATIVE_INFINITY,width:0,height:0,x:0,y:0},i=[];t.forEach((function(t){i.push(t.getBBox())})),e.forEach((function(t){i.push(t.getBBox())}));for(var o=0,a=i;o<a.length;o++){var s=a[o];r.minX=(s.minX<r.minX?s.minX:r.minX)-n,r.minY=(s.minY<r.minY?s.minY:r.minY)-n,r.maxX=(s.maxX>r.maxX?s.maxX:r.maxX)+n,r.maxY=(s.maxY>r.maxY?s.maxY:r.maxY)+n}return r.width=r.maxX-r.minX,r.height=r.maxY-r.minY,r.x=r.minX,r.y=r.minY,r}(t,a,r.nodeR0),d=(s=h.width,u=h.height,c=r.pixelGroupSize,l=Math.ceil(s/c),f=Math.ceil(u/c),{cells:new Float32Array(Math.max(0,l*f)).fill(0),width:l,height:f}),p=[],g=[],v=0;v<r.maxMarchingIterations;v++)if(Hn(t,e,a,h,d,r),g=[],new Un(p=[],d,r.threshold).march()){var y=p.map((function(t){return{x:Math.round(t.x*r.pixelGroupSize+h.minX),y:Math.round(t.y*r.pixelGroupSize+h.minY)}}));if(y){var m=y.length;if(r.skip>1)for(m=Math.floor(y.length/r.skip);m<3&&r.skip>1;)r.skip-=1,m=Math.floor(y.length/r.skip);for(var b=0,x=0;x<m;x+=1,b+=r.skip)g.push({x:y[b].x,y:y[b].y})}if(g&&function(){for(var e=0,n=t;e<n.length;e++){var r=n[e],i=g.map((function(t){return[t.x,t.y]}));if(!re(i,r.getBBox().centerX,r.getBBox().centerY))return!1}return!0}())return g;if(r.threshold*=.9,v<=.5*r.maxMarchingIterations)r.memberInfluenceFactor*=1.2,r.edgeInfluenceFactor*=1.2;else{if(!(0!==r.nonMemberInfluenceFactor&&e.length>0))break;r.nonMemberInfluenceFactor*=.8}}return g};function Hn(t,e,n,r,i,o){function a(t,e){var n=Math.floor((t-e)/o.pixelGroupSize);return n<0?0:n}function s(t,e){return t*o.pixelGroupSize+e}var u=(o.nodeR0-o.nodeR1)*(o.nodeR0-o.nodeR1),c=(o.edgeR0-o.edgeR1)*(o.edgeR0-o.edgeR1),l=function(t,e){return[Math.min(a(t.minX,e+r.minX),i.width),Math.min(a(t.minY,e+r.minY),i.height),Math.min(a(t.maxX,-e+r.minX),i.width),Math.min(a(t.maxY,-e+r.minY),i.height)]},f=function(t,e){for(var n=t.getBBox(),a=l(n,o.nodeR1),u=a[0],c=a[1],f=a[2],h=a[3],d=c;d<h;d+=1)for(var p=u;p<f;p+=1)if(!(e<0&&i[p+d*i.width]<=0)){var g=s(p,r.minX),v=s(d,r.minY),y=ge({x:g,y:v},{x:n.minX,y:n.minY,width:n.width,height:n.height});if(y<Math.pow(o.nodeR1,2)){var m=Math.sqrt(y)-o.nodeR1;i.cells[p+d*i.width]+=e*m*m}}};o.nodeInfluenceFactor&&t.forEach((function(t){f(t,o.nodeInfluenceFactor/u)})),o.edgeInfluenceFactor&&n.forEach((function(t){!function(t,e){for(var n=t.getBBox(),a=l(n,o.edgeR1),u=a[0],c=a[1],f=a[2],h=a[3],d=c;d<h;d+=1)for(var p=u;p<f;p+=1)if(!(e<0&&i.cells[p+d*i.width]<=0)){var g=s(p,r.minX),v=s(d,r.minY),y=de({x:g,y:v},t);if(y<Math.pow(o.edgeR1,2)){var m=Math.sqrt(y)-o.edgeR1;i.cells[p+d*i.width]+=e*m*m}}}(t,o.edgeInfluenceFactor/c)})),o.negativeNodeInfluenceFactor&&e.forEach((function(t){f(t,o.negativeNodeInfluenceFactor/u)}))}function qn(t,e,n,r){var i=t.getBBox(),o=n[0],a=n[1],s=n[2],u=n[3],c={topLeft:{x:i.minX-e,y:i.minY-e},topRight:{x:i.maxX+e,y:i.minY-e},bottomLeft:{x:i.minX-e,y:i.maxY+e},bottomRight:{x:i.maxX+e,y:i.maxY+e}},l=i.height*i.width;function f(t,e){return i.width*(.5*(t.y-i.minY+(e.y-i.minY)))}if(a)return o?r?c.topLeft:c.bottomRight:s?r?c.bottomLeft:c.topRight:f(a,u)<.5*l?a.y>u.y?r?c.topLeft:c.bottomRight:r?c.topRight:c.bottomLeft:a.y<u.y?r?c.bottomLeft:c.topRight:r?c.bottomRight:c.topLeft;if(u){if(o)return r?c.topRight:c.bottomLeft;if(s)return r?c.bottomRight:c.topLeft}return f(o,s)<.5*l?o.x>s.x?r?c.topLeft:c.bottomRight:r?c.bottomLeft:c.topRight:o.x<s.x?r?c.topRight:c.bottomLeft:r?c.bottomRight:c.topLeft}var Zn=function(){function t(t,e){this.cfg=Object(v.deepMix)(this.getDefaultCfg(),e),this.graph=t,this.id=this.cfg.id,this.group=this.cfg.group,this.members=this.cfg.members.map((function(e){return Object(v.isString)(e)?t.findById(e):e})),this.nonMembers=this.cfg.nonMembers.map((function(e){return Object(v.isString)(e)?t.findById(e):e})),this.setPadding(),this.setType(),this.path=this.calcPath(this.members,this.nonMembers),this.render()}return t.prototype.getDefaultCfg=function(){return{id:"g6-hull",type:"round-convex",members:[],nonMembers:[],style:{fill:"lightblue",stroke:"blue",opacity:.2},padding:10}},t.prototype.setPadding=function(){var t=this.members.length&&this.members[0].getKeyShape().getCanvasBBox().width/2;this.padding=this.cfg.padding>0?this.cfg.padding+t:10+t,this.cfg.bubbleCfg={nodeR0:this.padding-t,nodeR1:this.padding-t,morphBuffer:this.padding-t}},t.prototype.setType=function(){this.type=this.cfg.type,this.members.length<3&&(this.type="round-convex"),"round-convex"!==this.type&&"smooth-convex"!==this.type&&"bubble"!==this.type&&(console.warn("The hull type should be either round-convex, smooth-convex or bubble, round-convex is used by default."),this.type="round-convex")},t.prototype.calcPath=function(t,e){var n,r,i;switch(this.type){case"round-convex":i=Rn((n=Gn(t)).map((function(t){return[t.x,t.y]})),this.padding),r=Object(kn.b)(i);break;case"smooth-convex":2===(n=Gn(t)).length?(i=Rn(n.map((function(t){return[t.x,t.y]})),this.padding),r=Object(kn.b)(i)):n.length>2&&(i=Bn(n.map((function(t){return[t.x,t.y]})),this.padding),r=Nn(i));break;case"bubble":r=(n=Vn(t,e,this.cfg.bubbleCfg)).length>=2&&Nn(n)}return r},t.prototype.render=function(){this.group.addShape("path",{attrs:Object(g.__assign)({path:this.path},this.cfg.style),id:this.id,name:this.cfg.id,capture:!1}),this.group.toBack()},t.prototype.addMember=function(t){if(t){Object(v.isString)(t)&&(t=this.graph.findById(t)),this.members.push(t);var e=this.nonMembers.indexOf(t);return e>-1&&this.nonMembers.splice(e,1),this.updateData(this.members,this.nonMembers),!0}},t.prototype.addNonMember=function(t){if(t){Object(v.isString)(t)&&(t=this.graph.findById(t)),this.nonMembers.push(t);var e=this.members.indexOf(t);return e>-1&&this.members.splice(e,1),this.updateData(this.members,this.nonMembers),!0}},t.prototype.removeMember=function(t){if(t){Object(v.isString)(t)&&(t=this.graph.findById(t));var e=this.members.indexOf(t);return e>-1&&(this.members.splice(e,1),this.updateData(this.members,this.nonMembers),!0)}},t.prototype.removeNonMember=function(t){if(t){Object(v.isString)(t)&&(t=this.graph.findById(t));var e=this.nonMembers.indexOf(t);return e>-1&&(this.nonMembers.splice(e,1),this.updateData(this.members,this.nonMembers),!0)}},t.prototype.updateData=function(t,e){var n=this;this.group.findById(this.id).remove(),t&&(this.members=t.map((function(t){return Object(v.isString)(t)?n.graph.findById(t):t}))),e&&(this.nonMembers=e.map((function(t){return Object(v.isString)(t)?n.graph.findById(t):t}))),this.path=this.calcPath(this.members,this.nonMembers),this.render()},t.prototype.updateStyle=function(t){this.group.findById(this.id).attr(Object(g.__assign)({},t))},t.prototype.updateCfg=function(t){var e=this;this.cfg=Object(v.deepMix)(this.cfg,t),this.id=this.cfg.id,this.group=this.cfg.group,t.members&&(this.members=this.cfg.members.map((function(t){return Object(v.isString)(t)?e.graph.findById(t):t}))),t.nonMembers&&(this.nonMembers=this.cfg.nonMembers.map((function(t){return Object(v.isString)(t)?e.graph.findById(t):t}))),this.setPadding(),this.setType(),this.path=this.calcPath(this.members,this.nonMembers),this.render()},t.prototype.contain=function(t){var e,n,r=this,i=(e=Object(v.isString)(t)?this.graph.findById(t):t).getKeyShape();if("path"===e.get("type"))n=Tn(i.attr("path"));else{var o=i.getCanvasBBox();n=[[o.minX,o.minY],[o.maxX,o.minY],[o.maxX,o.maxY],[o.minX,o.maxY]]}return n=n.map((function(t){var e=r.graph.getPointByCanvas(t[0],t[1]);return[e.x,e.y]})),oe(n,Tn(this.path))},t.prototype.destroy=function(){this.group.remove(),this.cfg=null},t}(),Kn=w.a.transform,Qn=function(t){function e(e){var n=t.call(this)||this;return n.sortCombos=Object(v.debounce)((function(){var t=n.get("comboSorted");if(n&&!n.destroyed&&!t){n.set("comboSorted",!0);var e=[],r={};(n.get("comboTrees")||[]).forEach((function(t){ze(t,(function(t){return e[t.depth]?e[t.depth].push(t.id):e[t.depth]=[t.id],r[t.id]=t.depth,!0}))})),(n.getEdges().concat(n.get("vedges"))||[]).forEach((function(t){var n=t.getModel(),i=r[n.source]||0,o=r[n.target]||0,a=Math.max(i,o);e[a]?e[a].push(n.id):e[a]=[n.id]})),e.forEach((function(t){if(t&&t.length)for(var e=t.length-1;e>=0;e--){var r=n.findById(t[e]);r&&r.toFront()}}))}}),500,!1),n.cfg=Object(v.deepMix)(n.getDefaultCfg(),e),n.init(),n.animating=!1,n.destroyed=!1,n.cfg.enabledStack&&(n.undoStack=new Pt(n.cfg.maxStep),n.redoStack=new Pt(n.cfg.maxStep)),n}return Object(g.__extends)(e,t),e.prototype.init=function(){this.initCanvas();var t=new cn(this),e=new $e(this),n=new Mn(this),r=new On(this);this.set({viewController:t,modeController:e,itemController:n,stateController:r}),this.initLayoutController(),this.initEventController(),this.initGroups(),this.initPlugins()},e.prototype.initGroups=function(){var t=this.get("canvas");if(t){var e=(t.get("el")||{}).id,n=void 0===e?"g6":e,r=t.addGroup({id:"".concat(n,"-root"),className:Ae.rootContainerClassName});if(this.get("groupByTypes")){var i=r.addGroup({id:"".concat(n,"-edge"),className:Ae.edgeContainerClassName}),o=r.addGroup({id:"".concat(n,"-node"),className:Ae.nodeContainerClassName}),a=r.addGroup({id:"".concat(n,"-combo"),className:Ae.comboContainerClassName});a.toBack(),this.set({nodeGroup:o,edgeGroup:i,comboGroup:a})}var s=r.addGroup({id:"".concat(n,"-delegate"),className:Ae.delegateContainerClassName});this.set({delegateGroup:s}),this.set("group",r)}},e.prototype.getDefaultCfg=function(){return{container:void 0,width:void 0,height:void 0,renderer:"canvas",modes:{},plugins:[],data:{},fitViewPadding:10,minZoom:.02,maxZoom:10,event:!0,groupByTypes:!0,directed:!1,autoPaint:!0,nodes:[],edges:[],combos:[],vedges:[],itemMap:{},linkCenter:!1,defaultNode:{},defaultEdge:{},nodeStateStyles:{},edgeStateStyles:{},states:{},animate:!1,animateCfg:{onFrame:void 0,duration:500,easing:"easeLinear"},callback:void 0,enabledStack:!1,maxStep:10,tooltips:[],optimizeThreshold:1e3}},e.prototype.set=function(t,e){return Object(v.isPlainObject)(t)?this.cfg=Object(g.__assign)(Object(g.__assign)({},this.cfg),t):this.cfg[t]=e,"enabledStack"!==t||!e||this.undoStack||this.redoStack||(this.undoStack=new Pt(this.cfg.maxStep),this.redoStack=new Pt(this.cfg.maxStep)),this},e.prototype.get=function(t){var e;return null===(e=this.cfg)||void 0===e?void 0:e[t]},e.prototype.getGroup=function(){return this.get("group")},e.prototype.getContainer=function(){return this.get("container")},e.prototype.getMinZoom=function(){return this.get("minZoom")},e.prototype.setMinZoom=function(t){return this.set("minZoom",t)},e.prototype.getMaxZoom=function(){return this.get("maxZoom")},e.prototype.setMaxZoom=function(t){return this.set("maxZoom",t)},e.prototype.getWidth=function(){return this.get("width")},e.prototype.getHeight=function(){return this.get("height")},e.prototype.clearItemStates=function(t,e){Object(v.isString)(t)&&(t=this.findById(t));var n=this.get("itemController");e||(e=t.get("states")),n.clearItemStates(t,e),this.get("stateController").updateStates(t,e,!1)},e.prototype.node=function(t){"function"==typeof t&&this.set("nodeMapper",t)},e.prototype.edge=function(t){"function"==typeof t&&this.set("edgeMapper",t)},e.prototype.combo=function(t){"function"==typeof t&&this.set("comboMapper",t)},e.prototype.findById=function(t){return this.get("itemMap")[t]},e.prototype.find=function(t,e){var n,r=this.get("".concat(t,"s"));return Object(v.each)(r,(function(t,r){if(e(t,r))return n=t})),n},e.prototype.findAll=function(t,e){var n=[];return Object(v.each)(this.get("".concat(t,"s")),(function(t,r){e(t,r)&&n.push(t)})),n},e.prototype.findAllByState=function(t,e,n){return n?this.findAll(t,(function(t){return t.hasState(e)&&n(t)})):this.findAll(t,(function(t){return t.hasState(e)}))},e.prototype.translate=function(t,e,n,r){var i=this,o=this.get("group"),a=Object(v.clone)(o.getMatrix());if(a||(a=[1,0,0,0,1,0,0,0,1]),n){var s=Ke({animateCfg:r,callback:function(){return i.emit("viewportchange",{action:"translate",matrix:o.getMatrix()})}});$t(o,{x:o.getCanvasBBox().x+t,y:o.getCanvasBBox().y+e},n,s||{duration:500,easing:"easeCubic"})}else a=Kn(a,[["t",t,e]]),o.setMatrix(a),this.emit("viewportchange",{action:"translate",matrix:a}),this.autoPaint()},e.prototype.moveTo=function(t,e,n,r){var i=this.get("group");$t(i,{x:t,y:e},n,r||{duration:500,easing:"easeCubic"}),this.emit("viewportchange",{action:"move",matrix:i.getMatrix()})},e.prototype.fitView=function(t,e,n,r){t&&this.set("fitViewPadding",t);var i=this.get("viewController");e?i.fitViewByRules(e,n,r):i.fitView(n,r),this.autoPaint()},e.prototype.fitCenter=function(t,e){this.get("viewController").fitCenter(t,e),this.autoPaint()},e.prototype.addBehaviors=function(t,e){return this.get("modeController").manipulateBehaviors(t,e,!0),this},e.prototype.removeBehaviors=function(t,e){return this.get("modeController").manipulateBehaviors(t,e,!1),this},e.prototype.updateBehavior=function(t,e,n){return this.get("modeController").updateBehavior(t,e,n),this},e.prototype.zoom=function(t,e,n,r){var i=this,o=this.get("group"),a=Object(v.clone)(o.getMatrix())||[1,0,0,0,1,0,0,0,1],s=this.get("minZoom"),u=this.get("maxZoom"),c=this.getZoom()||1,l=c*t,f=t,h=!1;if(s&&l<s?(f=s/c,h=!0):u&&l>u&&(f=u/c,h=!0),a=Kn(a,e?[["t",-e.x,-e.y],["s",f,f],["t",e.x,e.y]]:[["s",f,f]]),n){var d=Object(v.clone)(o.getMatrix());d||(d=[1,0,0,0,1,0,0,0,1]);var p=d[0],g=p*f,y=Ke({animateCfg:r,callback:function(){return i.emit("viewportchange",{action:"zoom",matrix:o.getMatrix()})}});o.animate((function(t){if(1===t)d=a;else{var n=ye(p,g,t)/d[0];d=Kn(d,e?[["t",-e.x,-e.y],["s",n,n],["t",e.x,e.y]]:[["s",n,n]])}return{matrix:d}}),y)}else o.setMatrix(a),this.emit("viewportchange",{action:"zoom",matrix:a}),this.autoPaint();return!h},e.prototype.zoomTo=function(t,e,n,r){var i=t/this.getZoom();return this.zoom(i,e,n,r)},e.prototype.focusItem=function(t,e,n){var r=this.get("viewController"),i=!1;e?i=!0:void 0===e&&(i=this.get("animate"));var o={};n?o=n:void 0===n&&(o=this.get("animateCfg")),r.focus(t,i,o),this.autoPaint()},e.prototype.focusItems=function(t,e,n,r){this.get("viewController").focusItems(t,e,n,r)},e.prototype.autoPaint=function(){this.get("autoPaint")&&this.paint()},e.prototype.paint=function(){this.emit("beforepaint"),this.get("canvas").draw(),this.emit("afterpaint")},e.prototype.getPointByClient=function(t,e){return this.get("viewController").getPointByClient(t,e)},e.prototype.getClientByPoint=function(t,e){return this.get("viewController").getClientByPoint(t,e)},e.prototype.getPointByCanvas=function(t,e){return this.get("viewController").getPointByCanvas(t,e)},e.prototype.getCanvasByPoint=function(t,e){return this.get("viewController").getCanvasByPoint(t,e)},e.prototype.getGraphCenterPoint=function(){var t=this.get("group").getCanvasBBox();return{x:(t.minX+t.maxX)/2,y:(t.minY+t.maxY)/2}},e.prototype.getViewPortCenterPoint=function(){return this.getPointByCanvas(this.get("width")/2,this.get("height")/2)},e.prototype.showItem=function(t,e){void 0===e&&(e=!0);var n=this.get("itemController").changeItemVisibility(t,!0);if(e&&this.get("enabledStack")){var r=n.getID(),i={},o={};switch(n.getType()){case"node":i.nodes=[{id:r,visible:!1}],o.nodes=[{id:r,visible:!0}];break;case"edge":i.nodes=[{id:r,visible:!1}],o.edges=[{id:r,visible:!0}];break;case"combo":i.nodes=[{id:r,visible:!1}],o.combos=[{id:r,visible:!0}]}this.pushStack("visible",{before:i,after:o})}},e.prototype.hideItem=function(t,e){void 0===e&&(e=!0);var n=this.get("itemController").changeItemVisibility(t,!1);if(e&&this.get("enabledStack")){var r=n.getID(),i={},o={};switch(n.getType()){case"node":i.nodes=[{id:r,visible:!0}],o.nodes=[{id:r,visible:!1}];break;case"edge":i.nodes=[{id:r,visible:!0}],o.edges=[{id:r,visible:!1}];break;case"combo":i.nodes=[{id:r,visible:!0}],o.combos=[{id:r,visible:!1}]}this.pushStack("visible",{before:i,after:o})}},e.prototype.refreshItem=function(t){this.get("itemController").refreshItem(t)},e.prototype.setAutoPaint=function(t){this.set("autoPaint",t),this.get("canvas").set("autoDraw",t)},e.prototype.remove=function(t,e){void 0===e&&(e=!0),this.removeItem(t,e)},e.prototype.removeItem=function(t,e){void 0===e&&(e=!0);var n=t;if(Object(v.isString)(t)&&(n=this.findById(t)),!n&&Object(v.isString)(t))console.warn("The item ".concat(t," to be removed does not exist!"));else if(n){var r="";if(n.getType&&(r=n.getType()),e&&this.get("enabledStack")){var i=Object(g.__assign)(Object(g.__assign)({},n.getModel()),{itemType:r}),o={};switch(r){case"node":o.nodes=[i],o.edges=[];for(var a=n.getEdges(),s=a.length-1;s>=0;s--)o.edges.push(Object(g.__assign)(Object(g.__assign)({},a[s].getModel()),{itemType:"edge"}));break;case"edge":o.edges=[i];break;case"combo":o.combos=[i]}this.pushStack("delete",{before:o,after:{}})}if("node"===r)n.getModel().comboId&&this.updateComboTree(n,void 0,!1);if(this.get("itemController").removeItem(n),"combo"===r){var u=Ve(this.get("comboTrees"));this.set("comboTrees",u)}}},e.prototype.innerAddItem=function(t,e,n){if(!function(t,e){if("node"===t||"combo"===t){if(e.id&&!Object(v.isString)(e.id))return console.warn("G6 Warning Tips: missing 'id' property, or the 'id' %c".concat(e.id,"%c is not a string."),"font-size: 20px; color: red;",""),!1}else if(!("edge"!==t||e.source&&e.target))return console.warn("G6 Warning Tips: missing 'source' or 'target' for the edge."),!1;return!0}(t,e))return!1;if(!e.id||!this.findById(e.id)){var r,i=this.get("comboTrees")||[];if("combo"===t){var o=this.get("itemMap"),a=!1;if(i.forEach((function(i){a||Ge(i,(function(i){if(e.parentId===i.id){a=!0;var s=Object(g.__assign)({id:e.id,depth:i.depth+2},e);i.children?i.children.push(s):i.children=[s],e.depth=s.depth,r=n.addItem(t,e)}var u=o[i.id];return a&&u&&u.getType&&"combo"===u.getType()&&n.updateCombo(u,i.children),!0}))})),!a){var s=Object(g.__assign)({id:e.id,depth:0},e);e.depth=s.depth,i.push(s),r=n.addItem(t,e)}this.set("comboTrees",i),e.collapsed&&(this.collapseCombo(r,!1),this.updateCombo(r))}else if("node"===t&&Object(v.isString)(e.comboId)&&i){var u;(u=this.findById(e.comboId))&&u.getType&&"combo"!==u.getType()&&console.warn("'".concat(e.comboId,"' is not a id of a combo in the graph, the node will be added without combo.")),r=n.addItem(t,e);var c=this.get("itemMap"),l=!1,f=!1;i.forEach((function(t){f||l||Ge(t,(function(t){if(t.id===e.id)return f=!0,!1;if(e.comboId===t.id&&!f){l=!0;var r=Object(v.clone)(e);r.itemType="node",t.children?t.children.push(r):t.children=[r],r.depth=t.depth+1}return l&&c[t.id].getType&&"combo"===c[t.id].getType()&&n.updateCombo(c[t.id],t.children),!0}))}))}else r=n.addItem(t,e);if("node"===t&&e.comboId||"combo"===t&&e.parentId)(u=this.findById(e.comboId||e.parentId))&&u.getType&&"combo"===u.getType()&&u.addChild(r);return r}console.warn("This item exists already. Be sure the id %c".concat(e.id,"%c is unique."),"font-size: 20px; color: red;","")},e.prototype.addItem=function(t,e,n,r){void 0===n&&(n=!0),void 0===r&&(r=!0);var i=this.get("comboSorted");this.set("comboSorted",i&&!r);var o=this.get("itemController"),a=this.innerAddItem(t,e,o);if(!1===a||!0===a)return a;var s=this.get("combos");if(s&&s.length>0&&this.sortCombos(),this.autoPaint(),n&&this.get("enabledStack")){var u=Object(g.__assign)(Object(g.__assign)({},a.getModel()),{itemType:t}),c={};switch(t){case"node":c.nodes=[u];break;case"edge":c.edges=[u];break;case"combo":c.combos=[u]}this.pushStack("add",{before:{},after:c})}return a},e.prototype.addItems=function(t,e,n){void 0===t&&(t=[]),void 0===e&&(e=!0),void 0===n&&(n=!0);var r=this.get("comboSorted");this.set("comboSorted",r&&!n);for(var i=this.get("itemController"),o=[],a=0;a<t.length;a++){"edge"!==(s=t[a]).type&&"vedge"!==s.type?o.push(this.innerAddItem(s.type,s.model,i)):o.push(void 0)}for(a=0;a<t.length;a++){var s;"edge"!==(s=t[a]).type&&"vedge"!==s.type||(o[a]=this.innerAddItem(s.type,s.model,i))}if(n){var u=this.get("combos");u&&u.length>0&&this.sortCombos()}if(this.autoPaint(),e&&this.get("enabledStack")){var c={nodes:[],edges:[],combos:[]};for(a=0;a<t.length;a++){var l=t[a].type,f=o[a];if(f&&!0!==f){var h=Object(g.__assign)(Object(g.__assign)({},f.getModel()),{itemType:l});switch(l){case"node":c.nodes.push(h);break;case"edge":c.edges.push(h);break;case"combo":c.combos.push(h)}}}this.pushStack("addItems",{before:{},after:c})}return o},e.prototype.add=function(t,e,n,r){return void 0===n&&(n=!0),void 0===r&&(r=!0),this.addItem(t,e,n,r)},e.prototype.updateItem=function(t,e,n){var r=this;void 0===n&&(n=!0);var i,o=this.get("itemController");i=Object(v.isString)(t)?this.findById(t):t;var a,s=n&&this.get("enabledStack");s&&(a=Object(v.clone)(i.getModel()));var u="";i.getType&&(u=i.getType());var c=Object(g.__spreadArray)([],i.getStates(),!0);if("combo"===u&&Object(v.each)(c,(function(t){return r.setItemState(i,t,!1)})),o.updateItem(i,e),"combo"===u&&Object(v.each)(c,(function(t){return r.setItemState(i,t,!0)})),s){var l={nodes:[],edges:[],combos:[]},f={nodes:[],edges:[],combos:[]},h=Object(g.__assign)({id:a.id},e);switch(u){case"node":l.nodes.push(a),f.nodes.push(h);break;case"edge":l.edges.push(a),f.edges.push(h);break;case"combo":l.combos.push(a),f.combos.push(h)}this.pushStack("update",{before:l,after:f})}},e.prototype.update=function(t,e,n){void 0===n&&(n=!0),this.updateItem(t,e,n)},e.prototype.setItemState=function(t,e,n){Object(v.isString)(t)&&(t=this.findById(t)),this.get("itemController").setItemState(t,e,n),this.get("stateController").updateState(t,e,n)},e.prototype.priorityState=function(t,e){this.get("itemController").priorityState(t,e)},e.prototype.data=function(t){Qe(t),this.set("data",t)},e.prototype.render=function(){var t=this;this.set("comboSorted",!1);var e=this.get("data");if(this.get("enabledStack")&&this.clearStack(),!e)throw new Error("data must be defined first");var n=e.nodes,r=void 0===n?[]:n,i=e.edges,o=void 0===i?[]:i,a=e.combos,s=void 0===a?[]:a;if(this.clear(!0),this.emit("beforerender"),t.addItems(r.map((function(t){return{type:"node",model:t}})),!1,!1),0!==(null==s?void 0:s.length)){var u=We(s,r);this.set("comboTrees",u),t.addCombos(s)}t.addItems(o.map((function(t){return{type:"edge",model:t}})),!1,!1);var c=t.get("animate");(t.get("fitView")||t.get("fitCenter"))&&t.set("animate",!1);var l=t.get("layoutController");if(l){if(l.layout(f),this.destroyed)return}else f();function f(){(t.get("comboTrees")||[]).forEach((function(e){Ge(e,(function(e){var n=t.findById(e.id);return"combo"===n.getType()&&e.collapsed&&(t.collapseCombo(e.id,!1),t.updateCombo(n)),!0}))})),t.get("fitView")?t.fitView():t.get("fitCenter")&&t.fitCenter(),t.autoPaint(),t.emit("afterrender"),(t.get("fitView")||t.get("fitCenter"))&&t.set("animate",c),setTimeout((function(){var e;null===(e=t.getCombos())||void 0===e||e.forEach((function(t){t.set("animate",!0)}))}),0)}this.get("groupByTypes")||(s&&0!==s.length?this.sortCombos():e.nodes&&e.edges&&e.nodes.length<e.edges.length?this.getNodes().forEach((function(t){t.toFront()})):this.getEdges().forEach((function(t){t.toBack()})))},e.prototype.read=function(t){this.data(t),this.render()},e.prototype.diffItems=function(t,e,n){var r,i=this,o=this.get("itemMap"),a=e["".concat(t,"s")],s=[];if(Object(v.each)(n,(function(e){if(r=o[e.id]){if(i.get("animate")&&"node"===t){var n=r.getContainer().getMatrix();n||(n=[1,0,0,0,1,0,0,0,1]),r.set("originAttrs",{x:n[6],y:n[7]})}i.updateItem(r,e,!1)}else s.push({type:t,model:e});r&&a.push(r)})),s.length)for(var u=i.addItems(s,!1),c=0;c<u.length;c++){var l=u[c];l&&a.push(l)}},e.prototype.changeData=function(t,e){var n,r=this;void 0===e&&(e=!0);var i=this,o=t||i.get("data");if(!Qe(o))return this;this.emit("beforechangedata"),e&&this.get("enabledStack")&&this.pushStack("changedata",{before:i.save(),after:o}),this.set("comboSorted",!1),this.removeHulls(),this.getNodes().map((function(t){return i.clearItemStates(t)})),this.getEdges().map((function(t){return i.clearItemStates(t)}));var a=this.get("canvas"),s=a.get("localRefresh");a.set("localRefresh",!1),i.get("data")||(i.data(o),i.render());var u=this.get("itemMap"),c={nodes:[],edges:[]},l=o.combos;if(l){var f=We(l,o.nodes);this.set("comboTrees",f)}else this.set("comboTrees",[]);this.diffItems("node",c,o.nodes),Object(v.each)(u,(function(t,e){u[e].getModel().depth=0,t.getType&&"edge"===t.getType()||(t.getType&&"combo"===t.getType()?(delete u[e],t.destroy()):c.nodes.indexOf(t)<0&&(delete u[e],i.remove(t,!1)))}));for(var h=this.getCombos(),d=h.length-1;d>=0;d--)h[d].destroyed&&h.splice(d,1);l&&(i.addCombos(l),this.get("groupByTypes")||this.sortCombos()),this.diffItems("edge",c,o.edges),Object(v.each)(u,(function(t,e){(!t.getType||"node"!==t.getType()&&"combo"!==t.getType())&&c.edges.indexOf(t)<0&&(delete u[e],i.remove(t,!1))})),(this.get("comboTrees")||[]).forEach((function(t){Ge(t,(function(t){return"combo"===r.findById(t.id).getType()&&t.collapsed&&r.collapseCombo(t.id,!1),!0}))})),this.set({nodes:c.nodes,edges:c.edges});var p=(this.get("layout")||{}).relayoutAtChangeData,g=void 0===p||p,y=this.get("layoutController");return g&&y&&(y.changeData((function(){setTimeout((function(){var t;null===(t=i.getCombos())||void 0===t||t.forEach((function(t){t.set("animate",!0)}))}),0)})),i.get("animate")&&!y.getLayoutType()?(i.positionsAnimate(),null===(n=i.getCombos())||void 0===n||n.forEach((function(t){return t.set("animate",!0)}))):i.autoPaint()),setTimeout((function(){a.set("localRefresh",s)}),16),this.set("data",o),this.emit("afterchangedata"),this},e.prototype.addCombos=function(t){var e=this.get("comboTrees");this.get("itemController").addCombos(e,t)},e.prototype.createCombo=function(t,e,n){var r=this;void 0===n&&(n=!0);var i=this.get("itemController");this.set("comboSorted",!1);var o,a="";if(t){if(Object(v.isString)(t))a=t,o={id:t};else{if(!(a=t.id))return void console.warn("Create combo failed. Please assign a unique string id for the adding combo.");o=t}var s=n&&this.get("enabledStack"),u={nodes:[],combos:[]};s&&e.forEach((function(t){var e=r.findById(t),n=e.getType();if("node"===n||"combo"===n){var i=e.getModel();u["".concat(n,"s")].push({id:t,parentId:"node"===n?i.comboId:i.parentId})}}));var c=this.get("comboTrees"),l=new Set(e),f=new Map;c&&(c.forEach((function(t){Ge(t,(function(t,e,n){if(l.has(t.id)){if(e){var o=r.findById(e.id),a=r.findById(t.id);e.children.splice(n,1),o.removeChild(a),i.updateCombo(o,e.children)}"combo"===t.itemType&&f.set(t.id,t)}return!0}))})),c=c.filter((function(t){return!l.has(t.id)})),this.set("comboTrees",c));var h={nodes:[],combos:[]},d=e.map((function(t){var e=r.findById(t),n=e.getModel(),i="";e.getType&&(i=e.getType());var o=f.get(t)||{id:e.getID(),itemType:i};return"combo"===i?(o.parentId=a,n.parentId=a):"node"===i&&(o.comboId=a,n.comboId=a),s&&h["".concat(i,"s")].push({id:n.id,parentId:a}),o}));o.children=d,this.addItem("combo",o,!1),this.set("comboSorted",!1),c&&(c.forEach((function(t){ze(t,(function(t){return t.id!==a||(t.itemType="combo",t.children=d,!1)}))})),this.sortCombos()),s&&(h.combos.push(o),this.pushStack("createCombo",{before:u,after:h}));var p=this.findById(a);!p.getModel().parentId&&p.getChildren().combos.length&&this.updateComboTree(p,void 0,!1),setTimeout((function(){p.set("animate",!0)}),0)}},e.prototype.uncombo=function(t,e){var n,r,i=this;void 0===e&&(e=!0);var o=t;if(Object(v.isString)(t)&&(o=this.findById(t)),!o||o.getType&&"combo"!==o.getType())console.warn("The item is not a combo!");else{var a=o.getModel(),s=o.getModel().parentId,u=this.get("comboTrees");u||(u=[]);var c,l=this.get("itemMap"),f=o.get("id"),h=[],d=this.get("combos"),p=this.findById(s),g=e&&this.get("enabledStack"),y={};if(g&&((y=Object(v.clone)(a)).children=[]),u.forEach((function(t){c||Ge(t,(function(t){var e;if(t.id===f){c=t,o.getEdges().map((function(t){return t.getID()})).forEach((function(t){i.removeItem(t,!1)}));var n=d.indexOf(o);d.splice(n,1),delete l[f];var r=Object(v.clone)(o.getModel());o.destroy(),i.emit("afterremoveitem",{item:r,type:"combo"})}return!s||!c||t.id!==s||(p.removeCombo(o),-1!==(n=(h=t.children).indexOf(c))&&h.splice(n,1),null===(e=c.children)||void 0===e||e.forEach((function(t){var e=i.findById(t.id),n=e.getModel();e.getType&&"combo"===e.getType()?(t.parentId=s,delete t.comboId,n.parentId=s,delete n.comboId):e.getType&&"node"===e.getType()&&(t.comboId=s,n.comboId=s),p.addChild(e),h.push(t)})),i.updateCombo(p),!1)}))})),!s&&c){var m=u.indexOf(c);u.splice(m,1),null===(n=c.children)||void 0===n||n.forEach((function(t){t.parentId=void 0;var e=i.findById(t.id).getModel();delete e.parentId,delete e.comboId,"node"!==t.itemType&&u.push(t)}))}if(g){var b={nodes:[],combos:[]},x={nodes:[],combos:[]};null===(r=c.children)||void 0===r||r.forEach((function(t){var e=i.findById(t.id).getType();"node"!==e&&"combo"!==e||(b["".concat(e,"s")].push({id:t.id,parentId:f}),x["".concat(e,"s")].push({id:t.id,parentId:s}))})),b.combos.push(y),this.pushStack("uncombo",{before:b,after:x})}}},e.prototype.updateCombos=function(t){var e=this;void 0===t&&(t=!1);var n=this.get("comboTrees"),r=this.get("itemController"),i=this.get("itemMap");(n||[]).forEach((function(n){Ge(n,(function(n){var o;if(!n)return!0;var a=i[n.id];if("combo"===(null===(o=null==a?void 0:a.getType)||void 0===o?void 0:o.call(a))){var s=Object(g.__spreadArray)([],a.getStates(),!0);Object(v.each)(s,(function(t){return e.setItemState(a,t,!1)})),r.updateCombo(a,n.children,t),Object(v.each)(s,(function(t){return e.setItemState(a,t,!0)}))}return!0}))})),this.sortCombos()},e.prototype.updateCombo=function(t){var e,n=this,r=t;if(Object(v.isString)(t)&&(r=this.findById(t)),!r||r.getType&&"combo"!==r.getType())console.warn("The item to be updated is not a combo!");else{e=r.get("id");var i=this.get("comboTrees"),o=this.get("itemController"),a=this.get("itemMap");(i||[]).forEach((function(t){Ge(t,(function(t){if(!t)return!0;var r=a[t.id];if(e===t.id&&r&&r.getType&&"combo"===r.getType()){var i=Object(g.__spreadArray)([],r.getStates(),!0);Object(v.each)(i,(function(t){r.getStateStyle(t)&&n.setItemState(r,t,!1)})),o.updateCombo(r,t.children),Object(v.each)(i,(function(t){r.getStateStyle(t)&&n.setItemState(r,t,!0)})),e&&(e=t.parentId)}return!0}))}))}},e.prototype.updateComboTree=function(t,e,n){void 0===n&&(n=!0);var r;this.set("comboSorted",!1);var i,o=(r=Object(v.isString)(t)?this.findById(t):t).getModel(),a=o.comboId||o.parentId,s="";if(r.getType&&(s=r.getType()),e&&"combo"===s){var u,c=this.get("comboTrees"),l=!0;if((c||[]).forEach((function(t){u||ze(t,(function(t){if(!u)return t.id===r.getID()&&(u=t),!0}))})),ze(u,(function(t){return t.id!==e||(l=!1,!1)})),!l)return void console.warn("Failed to update the combo tree! The parentId points to a descendant of the combo!")}if(n&&this.get("enabledStack")){var f={},h={};"combo"===s?(f.combos=[{id:o.id,parentId:o.parentId}],h.combos=[{id:o.id,parentId:e}]):"node"===s&&(f.nodes=[{id:o.id,parentId:o.comboId}],h.nodes=[{id:o.id,parentId:e}]),this.pushStack("updateComboTree",{before:f,after:h})}if(o.parentId||o.comboId){var d=this.findById(o.parentId||o.comboId);d&&d.removeChild(r)}("combo"===s?o.parentId=e:"node"===s&&(o.comboId=e),e)&&((i=this.findById(e))&&i.addChild(r));a&&((i=this.findById(a))&&i.removeChild(r));var p=Ve(this.get("comboTrees"),o.id,e);this.set("comboTrees",p),this.updateCombos()},e.prototype.save=function(){var t=[],e=[],n=[];return Object(v.each)(this.get("nodes"),(function(e){t.push(e.getModel())})),Object(v.each)(this.get("edges"),(function(t){e.push(t.getModel())})),Object(v.each)(this.get("combos"),(function(t){n.push(t.getModel())})),{nodes:t,edges:e,combos:n}},e.prototype.changeSize=function(t,e){return this.get("viewController").changeSize(t,e),this},e.prototype.refresh=function(){if(this.emit("beforegraphrefresh"),this.get("animate"))this.positionsAnimate();else{var t=this.get("nodes"),e=this.get("edges"),n=this.get("edges");Object(v.each)(t,(function(t){t.refresh()})),Object(v.each)(e,(function(t){t.refresh()})),Object(v.each)(n,(function(t){t.refresh()}))}this.emit("aftergraphrefresh"),this.autoPaint()},e.prototype.getNodes=function(){return this.get("nodes")},e.prototype.getEdges=function(){return this.get("edges")},e.prototype.getCombos=function(){return this.get("combos")},e.prototype.getComboChildren=function(t){if(Object(v.isString)(t)&&(t=this.findById(t)),t&&(!t.getType||"combo"===t.getType()))return t.getChildren();console.warn("The combo does not exist!")},e.prototype.positionsAnimate=function(t){var e=this;e.emit("beforeanimate");var n=e.get("animateCfg"),r=n.onFrame,i=t?e.getNodes().concat(e.getCombos()):e.getNodes(),o=i.map((function(t){var e=t.getModel();return{id:e.id,x:e.x,y:e.y}}));e.stopAnimate();var a=e.get("canvas");e.animating=!0,setTimeout((function(){a.animate((function(n){Object(v.each)(o,(function(t){var i=e.findById(t.id);if(i&&!i.destroyed){var o=i.get("originAttrs"),a=i.get("model"),s=i.getContainer().getMatrix();if(null==o&&(s&&(o={x:s[6],y:s[7]}),i.set("originAttrs",o||0)),r){var u=r(i,n,t,o||{x:0,y:0});i.set("model",Object.assign(a,u))}else o?(a.x=o.x+(t.x-o.x)*n,a.y=o.y+(t.y-o.y)*n):(a.x=t.x,a.y=t.y)}})),e.refreshPositions(t)}),{duration:n.duration,easing:n.easing,callback:function(){Object(v.each)(i,(function(t){t.set("originAttrs",null)})),n.callback&&n.callback(),e.emit("afteranimate"),e.animating=!1}})}),0)},e.prototype.refreshPositions=function(t){this.emit("beforegraphrefreshposition");var e,n=this.get("nodes"),r=this.get("edges"),i=this.get("vedges"),o=this.get("combos"),a={},s=function(t){Object(v.each)(t,(function(t){e=t.getModel();var n=t.get("originAttrs");if(!n||e.x!==n.x||e.y!==n.y){var r=t.updatePosition({x:e.x,y:e.y});a[e.id]=r,e.comboId&&(a[e.comboId]=a[e.comboId]||r),e.parentId&&(a[e.parentId]=a[e.parentId]||r)}}))};s(o),s(n),o&&0!==o.length&&(t?(s(o),this.updateCombos()):this.updateCombos()),Object(v.each)(r,(function(t){var e=t.getSource().getModel(),n=t.getTarget();if(!Object(v.isPlainObject)(n)){var r=n.getModel();(a[e.id]||a[r.id]||t.getModel().isComboEdge)&&t.refresh()}})),Object(v.each)(i,(function(t){t.refresh()})),this.emit("aftergraphrefreshposition"),this.autoPaint()},e.prototype.stopAnimate=function(){var t=this.get("canvas").cfg.timeline;t&&t.stopAllAnimations()},e.prototype.isAnimating=function(){return this.animating},e.prototype.getZoom=function(){var t=this.get("group").getMatrix();return t?t[0]:1},e.prototype.getCurrentMode=function(){return this.get("modeController").getMode()},e.prototype.setMode=function(t){return this.get("modeController").setMode(t),this},e.prototype.clear=function(t){var e;return void 0===t&&(t=!1),null===(e=this.get("canvas"))||void 0===e||e.clear(),this.initGroups(),this.set({itemMap:{},nodes:[],edges:[],vedges:[],groups:[],combos:[],comboTrees:[]}),t||this.emit("afterrender"),this},e.prototype.updateLayout=function(t,e,n,r){var i=this;void 0===t&&(t={}),void 0===r&&(r=!0);var o=this.get("layoutController");if(Object(v.isString)(t)&&(t={type:t}),e){var a=n;a||(a="begin"===e?{x:0,y:0}:{x:this.getWidth()/2,y:this.getHeight()/2}),a=this.getPointByCanvas(a.x,a.y);var s=["force","gForce","fruchterman","force2"];s.includes(t.type)||!t.type&&s.includes(null==o?void 0:o.layoutType)?t.center=[a.x,a.y]:this.once("afterlayout",(function(t){var n=i.getGroup().getMatrix()||[1,0,0,0,1,0,0,0,1];a.x=a.x*n[0]+n[6],a.y=a.y*n[0]+n[7];var r=i.getGroup().getCanvasBBox(),o=r.minX,s=r.maxX,u=r.minY,c={x:(o+s)/2,y:(u+r.maxY)/2};"begin"===e&&(c.x=o,c.y=u),i.translate(a.x-c.x,a.y-c.y)}))}var u=Object(g.__assign)({},this.get("layout")),c={};Object.assign(c,u,t),t.pipes&&!t.type?delete c.type:!t.pipes&&c.type&&delete c.pipes,this.set("layout",c),o&&(o.isLayoutTypeSame(c)&&c.gpuEnabled===u.gpuEnabled?o.updateLayoutCfg(c):o.changeLayout(c),r&&this.get("enabledStack")&&this.pushStack("layout",{before:u,after:c}))},e.prototype.destroyLayout=function(){var t=this.get("layoutController");null==t||t.destroyLayout()},e.prototype.layout=function(){var t,e=this.get("layoutController"),n=this.get("layout");n&&e&&(n.workerEnabled?e.layout():(null===(t=e.layoutMethods)||void 0===t?void 0:t.length)?e.relayout(!0):e.layout())},e.prototype.collapseCombo=function(t,e){var n=this;if(void 0===e&&(e=!0),!this.destroyed)if(Object(v.isString)(t)&&(t=this.findById(t)),t){this.emit("beforecollapseexpandcombo",{action:"collapse",item:t});var r=t.getModel();this.get("itemController").collapseCombo(t,e),r.collapsed=!0;var i=this.getEdges().concat(this.get("vedges")),o=[],a=this.get("comboTrees"),s=!1;(a||[]).forEach((function(t){s||ze(t,(function(t){if(s&&t.depth<=r.depth)return!1;if(r.id===t.id&&(s=!0),s){var e=n.findById(t.id);e&&e.getType&&"combo"===e.getType()&&(o=(o=o.concat(e.getNodes())).concat(e.getCombos()))}return!0}))}));var u={};i.forEach((function(t){var e=t.getModel(),i=e.isVEdge,a=e.size,s=void 0===a?1:a;if(!t.isVisible()||i){var c,l=t.getSource(),f=t.getTarget(),h=null;if(l.getModel().id===r.id||o.includes(l)&&!o.includes(f)?(h=f,c=!1):(f.getModel().id===r.id||!o.includes(l)&&o.includes(f))&&(h=l,c=!0),h){if(i)return void n.removeItem(t,!1);for(var d=h.getModel();!h.isVisible();){var p=d.parentId,g=d.comboId,v=p||g;if(!(h=n.findById(v))||!v)return;d=h.getModel()}var y=d.id,m=c?{source:y,target:r.id,size:s,isVEdge:!0}:{source:r.id,target:y,size:s,isVEdge:!0},b="".concat(m.source,"-").concat(m.target);if(u[b])return void(u[b].size+=s);var x="".concat(m.target,"-").concat(m.source);if(u[x])return void(u[x].size+=s);u[b]=m}}})),this.addItems(Object.values(u).map((function(t){return{type:"vedge",model:t}})),!1),this.emit("aftercollapseexpandcombo",{action:"collapse",item:t})}else console.warn("The combo to be collapsed does not exist!")},e.prototype.expandCombo=function(t,e){var n=this;if(void 0===e&&(e=!0),Object(v.isString)(t)&&(t=this.findById(t)),!t||t.getType&&"combo"!==t.getType())console.warn("The combo to be collapsed does not exist!");else{this.emit("beforecollapseexpandcombo",{action:"expand",item:t});var r=t.getModel();this.get("itemController").expandCombo(t,e),r.collapsed=!1;var i=this.getEdges().concat(this.get("vedges")),o=[],a=this.get("comboTrees"),s=!1;(a||[]).forEach((function(t){s||ze(t,(function(t){if(s&&t.depth<=r.depth)return!1;if(r.id===t.id&&(s=!0),s){var e=n.findById(t.id);e&&e.getType&&"combo"===e.getType()&&(o=(o=o.concat(e.getNodes())).concat(e.getCombos()))}return!0}))}));var u={};i.forEach((function(t){if(!t.isVisible()||t.getModel().isVEdge){var e,i=t.getSource(),a=t.getTarget(),s=i.get("id"),c=a.get("id"),l=null;if(s===r.id||o.includes(i)&&!o.includes(a)?(l=a,e=!1):c===r.id||!o.includes(i)&&o.includes(a)?(l=i,e=!0):o.includes(i)&&o.includes(a)&&i.isVisible()&&a.isVisible()&&t.show(),l){var f=t.getModel(),h=f.isVEdge,d=f.size,p=void 0===d?1:d;if(h)return void n.removeItem(t,!1);for(var g=l.getModel();!l.isVisible();){var v=g.parentId,y=g.comboId,m=v||y;if(!(l=n.findById(m))||!m)return;g=l.getModel()}for(var b=g.id,x=e?a:i,w=x.getModel();!x.isVisible();){var _=w.parentId,E=w.comboId,S=_||E;if(!(x=n.findById(S))||!S)return;if(w.comboId===r.id||w.parentId===r.id)break;w=x.getModel()}var M=w.id;if(b){var O=e?{source:b,target:M,isVEdge:!0,size:p}:{source:M,target:b,isVEdge:!0,size:p},k="".concat(O.source,"-").concat(O.target);if(u[k])return void(u[k].size+=p);u[k]=O}}}})),this.addItems(Object.values(u).map((function(t){return{type:"vedge",model:t}})),!1),this.emit("aftercollapseexpandcombo",{action:"expand",item:t})}},e.prototype.collapseExpandCombo=function(t,e){if(void 0===e&&(e=!0),Object(v.isString)(t)&&(t=this.findById(t)),t&&(!t.getType||"combo"===t.getType())){for(var n=t.getModel(),r=this.findById(n.parentId);r;){var i=r.getModel();if(i.collapsed)return console.warn("Fail to expand the combo since it's ancestor combo is collapsed."),void(r=void 0);r=this.findById(i.parentId)}n.collapsed?this.expandCombo(t,e):this.collapseCombo(t,e),this.updateCombo(t)}},e.prototype.getNeighbors=function(t,e){var n=t;return Object(v.isString)(t)&&(n=this.findById(t)),n.getNeighbors(e)},e.prototype.getNodeDegree=function(t,e,n){void 0===e&&(e=void 0),void 0===n&&(n=!1);var r=t;Object(v.isString)(t)&&(r=this.findById(t));var i=this.get("degrees");i&&!n||(i=P(this.save()),this.set("degrees",i));var o=i[r.getID()],a=0;if(!o)return 0;switch(e){case"in":a=o.inDegree;break;case"out":a=o.outDegree;break;case"all":a=o;break;default:a=o.degree}return a},e.prototype.getUndoStack=function(){return this.undoStack},e.prototype.getRedoStack=function(){return this.redoStack},e.prototype.getStackData=function(){return this.get("enabledStack")?{undoStack:this.undoStack.toArray(),redoStack:this.redoStack.toArray()}:null},e.prototype.clearStack=function(){this.get("enabledStack")&&(this.undoStack.clear(),this.redoStack.clear(),this.emit("stackchange",{undoStack:this.undoStack,redoStack:this.redoStack}))},e.prototype.pushStack=function(t,e,n){if(void 0===t&&(t="update"),void 0===n&&(n="undo"),this.get("enabledStack")){var r=e?Object(v.clone)(e):{before:{},after:Object(v.clone)(this.save())};"redo"===n?this.redoStack.push({action:t,data:r}):this.undoStack.push({action:t,data:r}),this.emit("stackchange",{action:t,stackType:n,undoStack:this.undoStack,redoStack:this.redoStack})}else console.warn("请先启用 undo & redo 功能,在实例化 Graph 时候配置 enabledStack: true !")},e.prototype.getAdjMatrix=function(t,e){void 0===t&&(t=!0),void 0===e&&(e=this.get("directed"));var n=this.get("adjMatrix");return n&&t||(n=_(this.save(),e),this.set("adjMatrix",n)),n},e.prototype.getShortestPathMatrix=function(t,e){void 0===t&&(t=!0),void 0===e&&(e=this.get("directed"));var n=this.get("adjMatrix"),r=this.get("shortestPathMatrix");return n&&t||(n=_(this.save(),e),this.set("adjMatrix",n)),r&&t||(r=H(this.save(),e),this.set("shortestPathMatrix",r)),r},e.prototype.on=function(e,n,r){return t.prototype.on.call(this,e,n,r)},e.prototype.destroy=function(){var t,e,n,r,i;this.emit("beforedestroy"),this.clear(),this.clearStack(),null===(t=this.get("itemController"))||void 0===t||t.destroy(),null===(e=this.get("modeController"))||void 0===e||e.destroy(),null===(n=this.get("viewController"))||void 0===n||n.destroy(),null===(r=this.get("stateController"))||void 0===r||r.destroy(),null===(i=this.get("canvas"))||void 0===i||i.destroy(),this.cfg=null,this.destroyed=!0,this.redoStack=null,this.undoStack=null,this.emit("afterdestroy")},e.prototype.createHull=function(t){if(t.members&&!(t.members.length<1)){var e=this.get("hullGroup"),n=this.get("hullMap");if(n||(n={},this.set("hullMap",n)),e&&!e.get("destroyed")||((e=this.get("group").addGroup({id:"hullGroup"})).toBack(),this.set("hullGroup",e)),n[t.id])return console.warn("Existed hull id."),n[t.id];var r=e.addGroup({id:"".concat(t.id,"-container")}),i=new Zn(this,Object(g.__assign)(Object(g.__assign)({},t),{group:r}));return n[i.id]=i,i}console.warn("Create hull failed! The members is empty.")},e.prototype.getHulls=function(){return this.get("hullMap")},e.prototype.getHullById=function(t){return this.get("hullMap")[t]},e.prototype.removeHull=function(t){var e,n;n=Object(v.isString)(t)?this.getHullById(t):t,null===(e=this.get("hullMap"))||void 0===e||delete e[n.id],n.destroy()},e.prototype.removeHulls=function(){var t=this.getHulls();t&&Object.keys(t).length&&(Object.keys(t).forEach((function(e){t[e].destroy()})),this.set("hullMap",{}))},e}(x.a);function $n(t){return($n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var Jn=w.a.transform,tr=["startArrow","endArrow"],er={lineWidth:1,stroke:void 0,fill:void 0,lineAppendWidth:1,opacity:void 0,strokeOpacity:void 0,fillOpacity:void 0,x:0,y:0,r:10,width:20,height:20,shadowColor:void 0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0},nr={edge:{lineWidth:1,stroke:"#000",lineDash:void 0,startArrow:!1,endArrow:!1,opacity:void 0,strokeOpacity:void 0,fillOpacity:void 0,shadowColor:void 0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0},node:er,combo:er},rr={options:{labelCfg:{style:{fontFamily:Ae.windowFontFamily}},descriptionCfg:{style:{fontFamily:Ae.windowFontFamily}}},itemType:"",type:"",getCustomConfig:function(t){return{}},getOptions:function(t,e){return"move"===e||(null==e?void 0:e.includes("bbox"))?t:Object(v.deepMix)({},this.options,this.getCustomConfig(t)||{},t)},draw:function(t,e){e.shapeMap={},this.mergeStyle=this.getOptions(t);var n=this.drawShape(t,e);if(n.set("className",this.itemType+"-shape"),e.shapeMap[this.itemType+"-shape"]=n,t.label){var r=this.drawLabel(t,e);r.set("className",this.itemType+"-label"),e.shapeMap[this.itemType+"-label"]=r}return n},afterDraw:function(t,e,n){},drawShape:function(t,e){return null},drawLabel:function(t,e){var n=(this.mergeStyle||this.getOptions(t)||{}).labelCfg||{},r=this.getLabelStyle(t,n,e),i=r.rotate;delete r.rotate;var o=e.addShape("text",{attrs:r,draggable:!0,className:"text-shape",name:"text-shape",labelRelated:!0});if(e.shapeMap["text-shape"]=o,!isNaN(i)&&""!==i){var a=o.getBBox(),s=[1,0,0,0,1,0,0,0,1];if(r.rotateCenter)switch(r.rotateCenter){case"center":s=Jn(s,[["t",-a.width/2,-a.height/2],["r",i],["t",a.width/2,a.height/2]]);break;case"lefttop":s=Jn(s,[["t",-r.x,-r.y],["r",i],["t",r.x,r.y]]);break;case"leftcenter":s=Jn(s,[["t",-r.x,-r.y-a.height/2],["r",i],["t",r.x,r.y+a.height/2]]);break;default:s=Jn(s,[["t",-a.width/2,-a.height/2],["r",i],["t",a.width/2,a.height/2]])}else s=Jn(s,[["t",-r.x,-r.y-a.height/2],["r",i],["t",r.x,r.y+a.height/2]]);o.setMatrix(s)}if(r.background){var u=this.drawLabelBg(t,e,o),c=this.itemType+"-label-bg";u.set("classname",c),e.shapeMap[c]=u,o.toFront()}return o},drawLabelBg:function(t,e,n){var r=this.options.labelCfg,i=Object(v.mix)({},r,t.labelCfg),o=this.getLabelBgStyleByPosition(n,i),a=e.addShape("rect",{name:"text-bg-shape",attrs:o,labelRelated:!0});return e.shapeMap["text-bg-shape"]=a,a},getLabelStyleByPosition:function(t,e,n){return{text:t.label}},getLabelBgStyleByPosition:function(t,e){return{}},getLabelStyle:function(t,e,n){var r=this.getLabelStyleByPosition(t,e,n),i="".concat(this.itemType,"Label"),o=Ae[i]?Ae[i].style:null;return Object(g.__assign)(Object(g.__assign)(Object(g.__assign)({},o),r),e.style)},getShapeStyle:function(t){return t.style},update:function(t,e,n){this.updateShapeStyle(t,e,n),this.updateLabel(t,e,n)},updateShapeStyle:function(t,e,n){var r,i=e.getContainer(),o=e.getKeyShape(),a=Object(v.mix)({},o.attr(),t.style),s=function(t){var e,n=a[t];if(Object(v.isPlainObject)(n)){var s=(null===(r=i.shapeMap)||void 0===r?void 0:r[t])||i.find((function(e){return e.get("name")===t}));null==s||s.attr(n)}else o.attr(((e={})[t]=n,e))};for(var u in a)s(u)},updateLabel:function(t,e,n){var r,i,o=e.getContainer(),a=(this.mergeStyle||this.getOptions({},n)||{}).labelCfg,s=void 0===a?{}:a,u=this.itemType+"-label",c=o.shapeMap[u]||o.find((function(t){return t.get("className")===u})),l=this.itemType+"-label-bg",f=o.shapeMap[l]||o.find((function(t){return t.get("className")===l}));if(c&&void 0===t.label&&(o.removeChild(c),delete o.shapeMap[u],f&&(o.removeChild(f),delete o.shapeMap[l])),t.label||""===t.label)if(c){(!n||"bbox|label"===n||"edge"===this.itemType&&"style"!==n)&&(s=Object(v.deepMix)(s,t.labelCfg));var h=this.getLabelStyleByPosition(t,s,o),d=null===(r=t.labelCfg)||void 0===r?void 0:r.style,p=Object(g.__assign)(Object(g.__assign)({},h),d),y=p.rotate;if(delete p.rotate,isNaN(y)||""===y)1!==(null===(i=c.getMatrix())||void 0===i?void 0:i[4])&&c.resetMatrix(),c.attr(p);else{var m=[1,0,0,0,1,0,0,0,1];m=Jn(m,[["t",-p.x,-p.y],["r",y],["t",p.x,p.y]]),p.matrix=m,c.attr(p)}if(f)if(p.background){var b=this.getLabelBgStyleByPosition(c,s);f.attr(b)}else o.removeChild(f);else p.background&&((f=this.drawLabelBg(t,o,c)).set("classname",l),o.shapeMap[l]=f,c.toFront())}else{var x=this.drawLabel(t,o);x.set("className",u),o.shapeMap[u]=x}},afterUpdate:function(t,e){},setState:function(t,e,n){var r,i,o,a=n.get("keyShape");if(a&&!a.destroyed){var s=n.getType(),u=Object(v.isBoolean)(e)?t:"".concat(t,":").concat(e),c=this.getStateStyle(u,n),l=n.getStateStyle(u);if(l||c){var f=Object(v.mix)({},l||c),h=n.getContainer(),d={x:1,y:1,cx:1,cy:1,matrix:1};if("combo"===s&&(d.r=1,d.width=1,d.height=1),e){var p=function(t){var e,n=f[t];if(Object(v.isPlainObject)(n)&&!tr.includes(t)){var r=(null===(o=h.shapeMap)||void 0===o?void 0:o[t])||h.find((function(e){return e.get("name")===t}));null==r||r.attr(n)}else a.attr(((e={})[t]=n,e))};for(var g in f)p(g)}else{var y=Ze(n.getCurrentStatesStyle()),m=n.getModel(),b=Object(v.mix)({},m.style,Ze(n.getOriginStyle())),x=a.get("name"),w=a.attr(),_={};Object.keys(w).forEach((function(t){if("img"!==t){var e=w[t];e&&"object"===$n(e)?_[t]=Object(v.clone)(e):_[t]=e}}));var E={},S=function(t){var e=f[t];if(Object(v.isPlainObject)(e)&&!tr.includes(t)){var n=h.shapeMap[t]||h.find((function(e){return e.get("name")===t}));if(n){var r=Ze(n.attr());Object(v.each)(e,(function(e,i){if(t===x&&_[i]&&!d[i]){delete _[i];var o=b[t][i]||nr[s][i];a.attr(i,o)}else if(r[i]||0===r[i]){delete r[i];var u=b[t][i]||nr[s][i];n.attr(i,u)}})),E[t]=r}}else if(_[t]&&!d[t]){delete _[t];var i=b[t]||(b[x]?b[x][t]:void 0)||nr[s][t];a.attr(t,i)}};for(var M in f)S(M);for(var g in x?E[x]=_:Object(v.mix)(E,_),y)if(!d[g]){var O=y[g];Object(v.isPlainObject)(O)&&!tr.includes(g)||(x?(Object(v.mix)(b[x],((i={})[g]=O,i)),delete b[g]):Object(v.mix)(b,((r={})[g]=O,r)),delete y[g])}var k={};Object(v.deepMix)(k,b,E,y);var A=!1,C=function(t){var e,n,r=k[t];if(Object(v.isPlainObject)(r)&&!tr.includes(t)){var i=h.shapeMap[t]||h.find((function(e){return e.get("name")===t}));i&&(("text"===i.get("type")||i.get("labelRelated"))&&(delete r.x,delete r.y,delete r.matrix),t===x&&("combo"===s&&(delete r.r,delete r.width,delete r.height),A=!0),i.attr(r))}else if(!A){var o=r||nr[s][t];"combo"===s?x||a.attr(((e={})[t]=o,e)):a.attr(((n={})[t]=o,n))}};for(var j in k)C(j)}}}},getStateStyle:function(t,e){var n=e.getModel(),r=e.getType(),i=this.getOptions(n),o=i.stateStyles,a=i.style,s=void 0===a?{}:a,u=n.stateStyles?n.stateStyles[t]:o&&o[t];return"combo"===r?Object(v.clone)(u):Object(v.mix)({},s,u)},getControlPoints:function(t){return t.controlPoints},getAnchorPoints:function(t){var e,n;return(null==t?void 0:t.anchorPoints)||(null===(e=this.getCustomConfig(t))||void 0===e?void 0:e.anchorPoints)||(null===(n=this.options)||void 0===n?void 0:n.anchorPoints)}},ir={itemType:"node",shapeType:"single-node",labelPosition:"center",offset:Ae.nodeLabel.offset,getSize:function(t){var e,n=(null===(e=this.mergeStyle)||void 0===e?void 0:e.size)||t.size||this.getOptions({}).size||Ae.defaultNode.size;return Object(v.isArray)(n)&&1===n.length&&(n=[n[0],n[0]]),Object(v.isArray)(n)||(n=[n,n]),n},getLabelStyleByPosition:function(t,e){var n=e.maxLength,r=t.label;n&&(r=Xe(r,n));var i=e.position||this.labelPosition;if("center"===i)return{x:0,y:0,text:r,textBaseline:"middle",textAlign:"center"};var o=e.offset;Object(v.isNil)(o)&&(o=this.offset);var a,s=this.getSize(t);switch(i){case"top":a={x:0,y:-s[1]/2-o,textBaseline:"bottom",textAlign:"center"};break;case"bottom":a={x:0,y:s[1]/2+o,textBaseline:"top",textAlign:"center"};break;case"left":a={x:-s[0]/2-o,y:0,textBaseline:"middle",textAlign:"right"};break;default:a={x:s[0]/2+o,y:0,textBaseline:"middle",textAlign:"left"}}return a.text=r,a},getLabelBgStyleByPosition:function(t,e){var n;if(!t)return{};var r=null===(n=e.style)||void 0===n?void 0:n.background;if(!r)return{};var i=t.getBBox(),o=en(r.padding),a=i.width+o[1]+o[3],s=i.height+o[0]+o[2];return Object(g.__assign)(Object(g.__assign)({x:i.minX-o[3],y:i.minY-o[0]},r),{width:a,height:s})},drawShape:function(t,e){var n=this.shapeType,r=this.getShapeStyle(t),i=e.addShape(n,{attrs:r,draggable:!0,name:"node-shape"});return e.shapeMap["node-shape"]=i,i},updateLinkPoints:function(t,e){var n,r=(this.mergeStyle||this.getOptions(t)).linkPoints,i=e.shapeMap["link-point-left"]||e.find((function(t){return"link-point-left"===t.get("className")})),o=e.shapeMap["link-point-right"]||e.find((function(t){return"link-point-right"===t.get("className")})),a=e.shapeMap["link-point-top"]||e.find((function(t){return"link-point-top"===t.get("className")})),s=e.shapeMap["link-point-bottom"]||e.find((function(t){return"link-point-bottom"===t.get("className")}));i&&(n=i.attr()),o&&!n&&(n=o.attr()),a&&!n&&(n=a.attr()),s&&!n&&(n=s.attr()),n||(n=r);var u=Object(v.mix)({},n,t.linkPoints),c=u.fill,l=u.stroke,f=u.lineWidth,h=u.size/2;h||(h=u.r);var d=t.linkPoints?t.linkPoints:{left:void 0,right:void 0,top:void 0,bottom:void 0},p=d.left,y=d.right,m=d.top,b=d.bottom,x=this.getSize(t),w=x[0],_=x[1],E={r:h,fill:c,stroke:l,lineWidth:f};if(i)p||void 0===p?i.attr(Object(g.__assign)(Object(g.__assign)({},E),{x:-w/2,y:0})):(i.remove(),delete e.shapeMap["link-point-left"]);else if(p){var S="link-point-left";e.shapeMap[S]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},E),{x:-w/2,y:0}),className:S,name:S,isAnchorPoint:!0})}if(o)y||void 0===y||(o.remove(),delete e.shapeMap["link-point-right"]),o.attr(Object(g.__assign)(Object(g.__assign)({},E),{x:w/2,y:0}));else if(y){var M="link-point-right";e.shapeMap[M]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},E),{x:w/2,y:0}),className:M,name:M,isAnchorPoint:!0})}if(a)m||void 0===m||(a.remove(),delete e.shapeMap["link-point-top"]),a.attr(Object(g.__assign)(Object(g.__assign)({},E),{x:0,y:-_/2}));else if(m){var O="link-point-top";e.shapeMap[O]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},E),{x:0,y:-_/2}),className:O,name:O,isAnchorPoint:!0})}if(s)b||void 0===b?s.attr(Object(g.__assign)(Object(g.__assign)({},E),{x:0,y:_/2})):(s.remove(),delete e.shapeMap["link-point-bottom"]);else if(b){var k="link-point-bottom";e.shapeMap[k]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},E),{x:0,y:_/2}),className:k,name:k,isAnchorPoint:!0})}},updateShape:function(t,e,n,r,i){e.get("keyShape").attr(Object(g.__assign)({},n)),this.updateLabel(t,e,i),r&&this.updateIcon(t,e)},updateIcon:function(t,e){var n=this,r=e.getContainer(),i=(this.mergeStyle||this.getOptions(t)).icon,o=t.icon?t.icon:{show:void 0,text:void 0},a=o.show,s=o.text,u=r.shapeMap["".concat(this.type,"-icon")]||r.find((function(t){return t.get("name")==="".concat(n.type,"-icon")}));if(u)if(a||void 0===a){var c=Object(v.mix)({},u.attr(),i),l=c.width,f=void 0===l?20:l,h=c.height,d=void 0===h?20:h;("iconfont"===c.fontFamily||c.hasOwnProperty("text"))&&(f=0,d=0),u.attr(Object(g.__assign)(Object(g.__assign)({},c),{x:-f/2,y:-d/2}))}else u.remove(),delete r.shapeMap["".concat(this.type,"-icon")];else if(a){var p="".concat(this.type,"-icon");if(s)r.shapeMap[p]=r.addShape("text",{attrs:Object(g.__assign)({x:0,y:0,fontSize:12,fill:"#000",stroke:"#000",textBaseline:"middle",textAlign:"center"},i),className:p,name:p});else{f=i.width,d=i.height;r.shapeMap[p]=r.addShape("image",{attrs:Object(g.__assign)(Object(g.__assign)({},i),{x:-f/2,y:-d/2}),className:p,name:p})}var y=r.shapeMap["node-label"]||r.find((function(t){return"node-label"===t.get("name")}));y&&y.toFront()}}},or=Object(g.__assign)(Object(g.__assign)({},rr),ir);bn.registerNode("single-node",or);var ar={itemType:"edge",labelPosition:"center",refX:0,refY:0,labelAutoRotate:!1,options:{size:Ae.defaultEdge.size,style:{x:0,y:0,stroke:Ae.defaultEdge.style.stroke,lineAppendWidth:Ae.defaultEdge.style.lineAppendWidth},labelCfg:{style:{fill:Ae.edgeLabel.style.fill,fontSize:Ae.edgeLabel.style.fontSize,fontFamily:Ae.windowFontFamily}},stateStyles:Object(g.__assign)({},Ae.edgeStateStyles)},getPath:function(t){var e=[];return Object(v.each)(t,(function(t,n){0===n?e.push(["M",t.x,t.y]):e.push(["L",t.x,t.y])})),e},getShapeStyle:function(t){var e=this.options.style,n={stroke:t.color},r=Object(v.mix)({},e,n,t.style),i=t.size||Ae.defaultEdge.size,o=(t=this.getPathPoints(t)).startPoint,a=t.endPoint,s=this.getControlPoints(t),u=[o];s&&(u=u.concat(s)),u.push(a);var c=this.getPath(u);return Object(v.mix)({},Ae.defaultEdge.style,{stroke:Ae.defaultEdge.color,lineWidth:i,path:c},r)},updateShapeStyle:function(t,e,n){var r,i=e.getContainer(),o=(null===(r=e.getKeyShape)||void 0===r?void 0:r.call(e))||i.shapeMap["edge-shape"],a=t.size,s=(t=this.getPathPoints(t)).startPoint,u=t.endPoint,c=this.getControlPoints(t),l=[s];c&&(l=l.concat(c)),l.push(u);var f=o.attr(),h=t.style||{};void 0===h.stroke&&(h.stroke=t.color);var d=t.sourceNode,p=t.targetNode,y={radius:h.radius};c||(y={source:d,target:p,offset:h.offset,radius:h.radius});var m=this.getPath(l,y),b={};"move"===n?b={path:m}:(f.endArrow&&!1===h.endArrow&&(t.style.endArrow={path:""}),f.startArrow&&!1===h.startArrow&&(t.style.startArrow={path:""}),void 0===(b=Object(g.__assign)({},t.style)).lineWidth&&(b.lineWidth=(Object(v.isNumber)(a)?a:null==a?void 0:a[0])||f.lineWidth),void 0===b.path&&(b.path=m),void 0===b.stroke&&(b.stroke=f.stroke||t.color)),o&&o.attr(b)},getLabelStyleByPosition:function(t,e,n){var r,i=e.position||this.labelPosition,o={},a=null==n?void 0:n.shapeMap["edge-shape"];r="start"===i?0:"end"===i?1:.5;var s,u=e.refX||this.refX,c=e.refY||this.refY;if(t.startPoint.x===t.endPoint.x&&t.startPoint.y===t.endPoint.y)return o.x=t.startPoint.x+u,o.y=t.startPoint.y+c,o.text=t.label,o;s=Object(v.isNil)(e.autoRotate)?this.labelAutoRotate:e.autoRotate;var l=Re(a,r,u,c,s);return o.x=l.x,o.y=l.y,o.rotate=l.rotate,o.textAlign=this._getTextAlign(i,l.angle),o.text=t.label,o},getLabelBgStyleByPosition:function(t,e){if(!t)return{};var n=t.getBBox(),r=e.style&&e.style.background;if(!r)return{};var i=r.padding,o=n.width+i[1]+i[3],a=n.height+i[0]+i[2],s=Object(g.__assign)(Object(g.__assign)({},r),{width:o,height:a,x:n.minX-i[3],y:n.minY-i[0],matrix:[1,0,0,0,1,0,0,0,1]});return(Object(v.isNil)(e.autoRotate)?this.labelAutoRotate:e.autoRotate)&&(s.matrix=t.attr("matrix")||[1,0,0,0,1,0,0,0,1]),s},_getTextAlign:function(t,e){var n="center";return e?(e%=2*Math.PI,"center"!==t&&(n=e>=0&&e<=Math.PI/2||e>=1.5*Math.PI&&e<2*Math.PI?t:function(t){var e=t;return"start"===t?e="end":"end"===t&&(e="start"),e}(t)),n):t},getControlPoints:function(t){return t.controlPoints},getPathPoints:function(t){return t},drawShape:function(t,e){var n=this.getShapeStyle(t),r=e.addShape("path",{className:"edge-shape",name:"edge-shape",attrs:n});return e.shapeMap["edge-shape"]=r,r},drawLabel:function(t,e){var n=this.options.labelCfg,r=Object(v.deepMix)({},n,t.labelCfg),i=this.getLabelStyle(t,r,e),o=i.rotate;delete i.rotate;var a=e.addShape("text",{attrs:i,name:"text-shape",labelRelated:!0,draggable:!0});if(e.shapeMap["text-shape"]=a,isNaN(o)||""===o||a.rotateAtStart(o),i.background){var s=this.drawLabelBg(t,e,a,i,o),u=this.itemType+"-label-bg";s.set("classname",u),e.shapeMap[u]=s,a.toFront()}return a},drawLabelBg:function(t,e,n,r,i){var o=this.options.labelCfg,a=Object(v.deepMix)({},o,t.labelCfg),s=this.getLabelBgStyleByPosition(n,a),u=e.addShape("rect",{name:"text-bg-shape",attrs:s,labelRelated:!0});return e.shapeMap["text-bg-shape"]=u,u}},sr=Object(g.__assign)(Object(g.__assign)({},rr),ar);bn.registerEdge("single-edge",sr),bn.registerEdge("line",{getControlPoints:function(){}},"single-edge"),bn.registerEdge("spline",{getPath:function(t){return Cn(t)}},"single-edge"),bn.registerEdge("arc",{curveOffset:20,clockwise:1,getControlPoints:function(t){var e,n,r=t.startPoint,i=t.endPoint,o=(r.x+i.x)/2,a=(r.y+i.y)/2;if(void 0!==t.controlPoints){if(n=t.controlPoints[0],e=Vt(r,n,i),r.x<=i.x&&r.y>i.y?this.clockwise=e.x>n.x?0:1:r.x<=i.x&&r.y<i.y?this.clockwise=e.x>n.x?1:0:r.x>i.x&&r.y<=i.y?this.clockwise=e.y<n.y?0:1:this.clockwise=e.y<n.y?1:0,(n.x-r.x)/(n.y-r.y)==(i.x-r.x)/(i.y-r.y))return[]}else{void 0===t.curveOffset&&(t.curveOffset=this.curveOffset),Object(v.isArray)(t.curveOffset)&&(t.curveOffset=t.curveOffset[0]),t.curveOffset<0?this.clockwise=0:this.clockwise=1;var s={x:i.x-r.x,y:i.y-r.y},u=Math.atan2(s.y,s.x);n={x:t.curveOffset*Math.cos(-Math.PI/2+u)+o,y:t.curveOffset*Math.sin(-Math.PI/2+u)+a},e=Vt(r,n,i)}var c=Ht(r,e);return[{x:c,y:c}]},getPath:function(t){var e=[];return e.push(["M",t[0].x,t[0].y]),2===t.length?e.push(["L",t[1].x,t[1].y]):e.push(["A",t[1].x,t[1].y,0,0,this.clockwise,t[2].x,t[2].y]),e}},"single-edge"),bn.registerEdge("quadratic",{curvePosition:.5,curveOffset:-20,getControlPoints:function(t){var e=t.controlPoints;if(!e||!e.length){var n=t.startPoint,r=t.endPoint;void 0===t.curveOffset&&(t.curveOffset=this.curveOffset),void 0===t.curvePosition&&(t.curvePosition=this.curvePosition),Object(v.isArray)(t.curveOffset)&&(t.curveOffset=t.curveOffset[0]),Object(v.isArray)(t.curvePosition)&&(t.curvePosition=t.curveOffset[0]),e=[jn(n,r,t.curvePosition,t.curveOffset)]}return e},getPath:function(t){var e=[];return e.push(["M",t[0].x,t[0].y]),e.push(["Q",t[1].x,t[1].y,t[2].x,t[2].y]),e}},"single-edge"),bn.registerEdge("cubic",{curvePosition:[.5,.5],curveOffset:[-20,20],getControlPoints:function(t){var e=t.controlPoints;if(void 0===t.curveOffset&&(t.curveOffset=this.curveOffset),void 0===t.curvePosition&&(t.curvePosition=this.curvePosition),Object(v.isNumber)(t.curveOffset)&&(t.curveOffset=[t.curveOffset,-t.curveOffset]),Object(v.isNumber)(t.curvePosition)&&(t.curvePosition=[t.curvePosition,1-t.curvePosition]),!e||!e.length||e.length<2){var n=t.startPoint,r=t.endPoint;e=[jn(n,r,t.curvePosition[0],t.curveOffset[0]),jn(n,r,t.curvePosition[1],t.curveOffset[1])]}return e},getPath:function(t){var e=[];return e.push(["M",t[0].x,t[0].y]),e.push(["C",t[1].x,t[1].y,t[2].x,t[2].y,t[3].x,t[3].y]),e}},"single-edge"),bn.registerEdge("cubic-vertical",{curvePosition:[.5,.5],minCurveOffset:[0,0],curveOffset:void 0,getControlPoints:function(t){var e=t.startPoint,n=t.endPoint;void 0===t.curvePosition&&(t.curvePosition=this.curvePosition),void 0===t.curveOffset&&(t.curveOffset=this.curveOffset),void 0===t.minCurveOffset&&(t.minCurveOffset=this.minCurveOffset),Object(v.isNumber)(t.curveOffset)&&(t.curveOffset=[t.curveOffset,-t.curveOffset]),Object(v.isNumber)(t.minCurveOffset)&&(t.minCurveOffset=[t.minCurveOffset,-t.minCurveOffset]),Object(v.isNumber)(t.curvePosition)&&(t.curvePosition=[t.curvePosition,1-t.curvePosition]);var r=n.y-e.y,i=[0,0];return t.curveOffset?i=t.curveOffset:Math.abs(r)<Math.abs(t.minCurveOffset[0])&&(i=t.minCurveOffset),[{x:e.x,y:e.y+r*this.curvePosition[0]+i[0]},{x:n.x,y:n.y-r*this.curvePosition[1]+i[1]}]}},"cubic"),bn.registerEdge("cubic-horizontal",{curvePosition:[.5,.5],minCurveOffset:[0,0],curveOffset:void 0,getControlPoints:function(t){var e=t.startPoint,n=t.endPoint;void 0===t.curvePosition&&(t.curvePosition=this.curvePosition),void 0===t.curveOffset&&(t.curveOffset=this.curveOffset),void 0===t.minCurveOffset&&(t.minCurveOffset=this.minCurveOffset),Object(v.isNumber)(t.curveOffset)&&(t.curveOffset=[t.curveOffset,-t.curveOffset]),Object(v.isNumber)(t.minCurveOffset)&&(t.minCurveOffset=[t.minCurveOffset,-t.minCurveOffset]),Object(v.isNumber)(t.curvePosition)&&(t.curvePosition=[t.curvePosition,1-t.curvePosition]);var r=n.x-e.x,i=[0,0];return t.curveOffset?i=t.curveOffset:Math.abs(r)<Math.abs(t.minCurveOffset[0])&&(i=t.minCurveOffset),[{x:e.x+r*this.curvePosition[0]+i[0],y:e.y},{x:n.x-r*this.curvePosition[1]+i[1],y:n.y}]}},"cubic"),bn.registerEdge("loop",{getPathPoints:function(t){return Le(t)},getControlPoints:function(t){return t.controlPoints},afterDraw:function(t){t.controlPoints=void 0},afterUpdate:function(t){t.controlPoints=void 0}},"cubic");var ur={itemType:"combo",shapeType:"single-combo",labelPosition:"top",refX:Ae.comboLabel.refX,refY:Ae.comboLabel.refY,options:{style:{stroke:Ae.defaultCombo.style.stroke,fill:Ae.defaultCombo.style.fill,lineWidth:Ae.defaultCombo.style.lineWidth},labelCfg:{style:{fill:Ae.comboLabel.style.fill,fontSize:Ae.comboLabel.style.fontSize,fontFamily:Ae.windowFontFamily}},stateStyles:Object(g.__assign)({},Ae.comboStateStyles),collapsedSubstituteIcon:{show:!1,img:"https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*RsnHRqLfJn4AAAAAAAAAAAAAARQnAQ"}},getSize:function(t){var e=Object(v.clone)(t.size||this.options.size||Ae.defaultCombo.size);return Object(v.isArray)(e)&&1===e.length&&(e=[e[0],e[0]]),Object(v.isArray)(e)||(e=[e,e]),e},getLabelStyleByPosition:function(t,e){var n=e.position||this.labelPosition,r=t.style,i=t.padding||this.options.padding;Object(v.isArray)(i)&&(i=Math.max.apply(Math,i));var o=e.refX,a=e.refY;Object(v.isNil)(o)&&(o=this.refX),Object(v.isNil)(a)&&(a=this.refY);var s,u=this.getSize(t),c=(Math.max(r.r,u[0]/2)||u[0]/2)+i;switch(n){case"top":s={x:0,y:-c-a,textBaseline:"bottom",textAlign:"center"};break;case"bottom":s={x:0,y:c+a,textBaseline:"bottom",textAlign:"center"};break;case"left":s={x:-c+o,y:0,textAlign:"left"};break;case"center":s={x:0,y:0,text:t.label,textAlign:"center"};break;default:s={x:c+o,y:0,textAlign:"right"}}return s.text=t.label,s},drawShape:function(t,e){var n=this.shapeType,r=this.getShapeStyle(t);return e.addShape(n,{attrs:r,draggable:!0,name:"combo-shape"})},updateCollapsedIcon:function(t,e,n){var r=t.collapsed,i=t.collapsedSubstituteIcon,o=void 0===i?{}:i,a=Object.assign({},this.options.collapsedSubstituteIcon,o),s=a.show,u=a.img,c=a.width,l=a.height,f=e.getContainer(),h=f.find((function(t){return"combo-collapsed-substitute-icon"===t.get("name")})),d=h&&!h.destroyed,p=e.get("keyShape");if(r&&s){if(d)h.show();else{var v={width:c||2*n.r||n.width,height:l||2*n.r||n.height};h=f.addShape("image",{attrs:Object(g.__assign)({img:u,x:-v.width/2,y:-v.height/2},v),name:"combo-collapsed-substitute-icon",draggable:!0})}p.hide()}else d&&(h.hide(),p.show())},updateShape:function(t,e,n){var r=this,i=e.get("keyShape");e.get("animate")&&(void 0===t.animate?this.options.animate:t.animate)&&i.animate?(t.collapsed||this.updateCollapsedIcon(t,e,n),i.animate(n,{duration:200,easing:"easeLinear",callback:function(){t.collapsed&&r.updateCollapsedIcon(t,e,n)}})):(i.attr(Object(g.__assign)({},n)),this.updateCollapsedIcon(t,e,n)),this.updateLabel(t,e)}},cr=Object(g.__assign)(Object(g.__assign)({},rr),ur);bn.registerCombo("single-combo",cr),bn.registerCombo("circle",{options:{size:[Ae.defaultCombo.size[0],Ae.defaultCombo.size[0]],padding:Math.max.apply(Math,Ae.defaultCombo.padding),animate:!0,style:{stroke:Ae.defaultCombo.style.stroke,fill:Ae.defaultCombo.style.fill,lineWidth:Ae.defaultCombo.style.lineWidth},labelCfg:{style:{fill:Ae.comboLabel.style.fill,fontSize:Ae.comboLabel.style.fontSize},refX:0,refY:0},stateStyles:Object(g.__assign)({},Ae.comboStateStyles),collapsedSubstituteIcon:{show:!1,img:"https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*RsnHRqLfJn4AAAAAAAAAAAAAARQnAQ"}},shapeType:"circle",labelPosition:"top",drawShape:function(t,e){var n=this.getShapeStyle(t);return delete n.height,delete n.width,e.addShape("circle",{attrs:n,className:"circle-combo",name:"circle-combo",draggable:!0})},getShapeStyle:function(t){var e=this.options.style,n=t.padding||this.options.padding;Object(v.isArray)(n)&&(n=Math.max.apply(Math,n));var r,i={stroke:t.color},o=Object(v.mix)({},e,i,t.style),a=t.collapsed&&t.fixCollapseSize?t.fixCollapseSize:t.fixSize;if(a)r=Object(v.isNumber)(a)?a/2:a[0]/2;else{var s=this.getSize(t);r=!Object(v.isNumber)(o.r)||isNaN(o.r)?s[0]/2||Ae.defaultCombo.style.r:Math.max(o.r,s[0]/2)||s[0]/2}o.r=r+n;var u=Object(g.__assign)({x:0,y:0},o);return t.style?t.style.r=r:t.style={r:r},u},update:function(t,e){var n=this.getSize(t),r=t.padding||this.options.padding;Object(v.isArray)(r)&&(r=Math.max.apply(Math,r));var i,o=Object(v.clone)(t.style),a=t.collapsed&&t.fixCollapseSize?t.fixCollapseSize:t.fixSize;i=a?Object(v.isNumber)(a)?a/2:a[0]/2:Math.max(o.r,n[0]/2)||n[0]/2,o.r=i+r;var s=e.get("sizeCache");s&&(s.r=o.r);var u={stroke:t.color},c=e.get("keyShape"),l=Object(v.mix)({},c.attr(),u,o);t.style?t.style.r=i:t.style={r:i},this.updateShape(t,e,l,!0)}},"single-combo"),bn.registerCombo("rect",{options:{size:[40,5],padding:[25,20,15,20],animate:!0,style:{radius:0,stroke:Ae.defaultCombo.style.stroke,fill:Ae.defaultCombo.style.fill,lineWidth:Ae.defaultCombo.style.lineWidth},labelCfg:{style:{fill:Ae.comboLabel.style.fill,fontSize:Ae.comboLabel.style.fontSize,fontFamily:Ae.windowFontFamily}},anchorPoints:[[0,.5],[1,.5]],stateStyles:Object(g.__assign)({},Ae.comboStateStyles),collapsedSubstituteIcon:{show:!1,img:"https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*RsnHRqLfJn4AAAAAAAAAAAAAARQnAQ"}},shapeType:"rect",labelPosition:"top",drawShape:function(t,e){var n=this.getShapeStyle(t);return e.addShape("rect",{attrs:n,className:"rect-combo",name:"rect-combo",draggable:!0})},getLabelStyleByPosition:function(t,e){var n=e.position||this.labelPosition,r=t.style,i=t.padding||this.options.padding;Object(v.isNumber)(i)&&(i=[i,i,i,i]);var o=e.refX,a=e.refY;Object(v.isNil)(o)&&(o=this.refX),Object(v.isNil)(a)&&(a=this.refY);var s,u=-r.width/2-i[3],c=r.width/2+i[1],l=-r.height/2-i[0],f=r.height/2+i[2];switch(n){case"top":s={x:u+o,y:l+a,textBaseline:"top",textAlign:"left"};break;case"bottom":s={x:0,y:f+a,textBaseline:"top",textAlign:"center"};break;case"left":s={x:u+a,y:0,textAlign:"left"};break;case"center":s={x:0,y:0,text:t.label,textAlign:"center"};break;case"top-center":s={x:0,y:l+a,textBaseline:"top",textAlign:"center"};break;default:s={x:c+o,y:0,textAlign:"right"}}return s.text=t.label,s},getShapeStyle:function(t){var e=this.options.style,n=t.padding||this.options.padding;Object(v.isNumber)(n)&&(n=[n,n,n,n]);var r,i,o={stroke:t.color},a=Object(v.mix)({},e,o,t.style),s=this.getSize(t),u=t.collapsed&&t.fixCollapseSize?t.fixCollapseSize:t.fixSize;u?Object(v.isNumber)(u)?(r=u,i=u):(r=u[0],i=u[1]):(r=!Object(v.isNumber)(a.width)||isNaN(a.width)?s[0]||Ae.defaultCombo.style.width:Math.max(a.width,s[0])||s[0],i=!Object(v.isNumber)(a.height)||isNaN(a.height)?s[1]||Ae.defaultCombo.style.height:Math.max(a.height,s[1])||s[1]);var c=-r/2-n[3],l=-i/2-n[0];a.width=r+n[1]+n[3],a.height=i+n[0]+n[2];var f=Object(g.__assign)({x:c,y:l},a);return t.style?(t.style.width=r,t.style.height=i):t.style={width:r,height:i},f},update:function(t,e){var n=this.getSize(t),r=t.padding||this.options.padding;Object(v.isNumber)(r)&&(r=[r,r,r,r]);var i,o,a=Object(v.clone)(t.style),s=t.collapsed&&t.fixCollapseSize?t.fixCollapseSize:t.fixSize;s?Object(v.isNumber)(s)?(i=s,o=s):(i=s[0],o=s[1]):(i=Math.max(a.width,n[0])||n[0],o=Math.max(a.height,n[1])||n[1]),a.width=i+r[1]+r[3],a.height=o+r[0]+r[2];var u=e.get("sizeCache");u&&(u.width=a.width,u.height=a.height),a.x=-i/2-r[3],a.y=-o/2-r[0];var c={stroke:t.color},l=e.get("keyShape"),f=Object(v.mix)({},l.attr(),c,a);t.style?(t.style.width=i,t.style.height=o):t.style={width:i,height:o},this.updateShape(t,e,f,!1)}},"single-combo"),bn.registerNode("simple-circle",{options:{size:Ae.defaultNode.size,style:{x:0,y:0,stroke:Ae.defaultNode.style.stroke,fill:Ae.defaultNode.style.fill,lineWidth:Ae.defaultNode.style.lineWidth},labelCfg:{style:{fill:Ae.nodeLabel.style.fill,fontSize:Ae.nodeLabel.style.fontSize,fontFamily:Ae.windowFontFamily}},stateStyles:Object(g.__assign)({},Ae.nodeStateStyles)},shapeType:"simple-circle",labelPosition:"center",shapeMap:{},drawShape:function(t,e){var n=this.getShapeStyle(t),r="".concat(this.type,"-keyShape"),i=e.addShape("circle",{attrs:n,className:"".concat(this.type,"-keyShape"),name:r,draggable:!0});return e.shapeMap[r]=i,i},getShapeStyle:function(t){var e=(this.mergeStyle||this.getOptions(t)).style,n={stroke:t.color},r=Object(v.deepMix)({},e,n),i=this.getSize(t)[0]/2;return Object(g.__assign)({x:0,y:0,r:i},r)},update:function(t,e,n){var r=this.getSize(t),i={stroke:t.color,r:r[0]/2},o=e.get("keyShape"),a=Object(v.deepMix)({},o.attr(),i,t.style);this.updateShape(t,e,a,!0,n)}},"single-node"),bn.registerNode("simple-rect",{options:{size:[100,30],style:{radius:0,stroke:Ae.defaultNode.style.stroke,fill:Ae.defaultNode.style.fill,lineWidth:Ae.defaultNode.style.lineWidth},labelCfg:{style:{fill:Ae.nodeLabel.style.fill,fontSize:Ae.nodeLabel.style.fontSize,fontFamily:Ae.windowFontFamily}},anchorPoints:[[0,.5],[1,.5]],stateStyles:Object(g.__assign)({},Ae.nodeStateStyles)},shapeType:"simple-rect",labelPosition:"center",drawShape:function(t,e){var n=this.getShapeStyle(t);return e.addShape("rect",{attrs:n,className:"".concat(this.type,"-keyShape"),name:"".concat(this.type,"-keyShape"),draggable:!0})},getShapeStyle:function(t){var e=(this.mergeStyle||this.getOptions(t)).style,n={stroke:t.color},r=Object(v.mix)({},e,n),i=this.getSize(t),o=r.width||i[0],a=r.height||i[1];return Object(g.__assign)({x:-o/2,y:-a/2,width:o,height:a},r)},update:function(t,e,n){e.getContainer();var r=(this.mergeStyle||this.getOptions(t)).style,i=this.getSize(t),o=e.get("keyShape");t.size||(i[0]=o.attr("width")||r.width,i[1]=o.attr("height")||r.height);var a={stroke:t.color,x:-i[0]/2,y:-i[1]/2,width:i[0],height:i[1]},s=Object(v.mix)({},r,o.attr(),a);s=Object(v.mix)(s,t.style),this.updateShape(t,e,s,!1,n)}},"single-node"),bn.registerNode("image",{options:{img:"https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*eD7nT6tmYgAAAAAAAAAAAABkARQnAQ",size:200,labelCfg:{style:{fontFamily:Ae.windowFontFamily}},clipCfg:{show:!1,type:"circle",r:50,rx:50,ry:35,width:50,height:35,points:[[30,12],[12,30],[30,48],[48,30]],path:[["M",25,25],["L",50,25],["A",12.5,12.5,0,1,1,50,50],["A",12.5,12.5,0,1,0,50,50],["L",25,75],["Z"]],x:0,y:0}},shapeType:"image",labelPosition:"bottom",drawShape:function(t,e){var n=this.shapeType,r=this.getShapeStyle(t);delete r.fill;var i=e.addShape(n,{attrs:r,className:"".concat(this.type,"-keyShape"),name:"".concat(this.type,"-keyShape"),draggable:!0});return this.drawClip(t,i),i},drawClip:function(t,e){var n=(this.mergeStyle||this.getOptions(t)).clipCfg;if(n.show){var r=n.type,i=n.x,o=n.y,a=n.style;if("circle"===r){var s=n.r;e.setClip({type:"circle",attrs:Object(g.__assign)({r:s,x:i,y:o},a)})}else if("rect"===r){var u=n.width,c=n.height,l=i-u/2,f=o-c/2;e.setClip({type:"rect",attrs:Object(g.__assign)({x:l,y:f,width:u,height:c},a)})}else if("ellipse"===r){var h=n.rx,d=n.ry;e.setClip({type:"ellipse",attrs:Object(g.__assign)({x:i,y:o,rx:h,ry:d},a)})}else if("polygon"===r){var p=n.points;e.setClip({type:"polygon",attrs:Object(g.__assign)({points:p},a)})}else if("path"===r){var v=n.path;e.setClip({type:"path",attrs:Object(g.__assign)({path:v},a)})}}},getShapeStyle:function(t){var e=this.mergeStyle||this.getOptions(t),n=e.style,r=e.img,i=this.getSize(t),o=i[0],a=i[1];return n&&(o=n.width||i[0],a=n.height||i[1]),Object(g.__assign)({x:-o/2,y:-a/2,width:o,height:a,img:r},n)},updateShapeStyle:function(t,e){var n=e.getContainer(),r="".concat(this.itemType,"-shape"),i=n.shapeMap[r]||n.find((function(t){return t.get("className")===r}))||e.getKeyShape(),o=this.getShapeStyle(t);i&&!i.destroyed&&i.attr(o)}},"single-node");var lr,fr,hr,dr,pr={triangle:function(t,e,n){void 0===t&&(t=10),void 0===e&&(e=15),void 0===n&&(n=0);var r=2*n;return"M ".concat(r,",0 L ").concat(r+e,",-").concat(t/2," L ").concat(r+e,",").concat(t/2," Z")},vee:function(t,e,n){void 0===t&&(t=15),void 0===e&&(e=20),void 0===n&&(n=0);var r=2*n;return"M ".concat(r,",0 L ").concat(r+e,",-").concat(t/2,"\n L ").concat(r+2*e/3,",0 L ").concat(r+e,",").concat(t/2," Z")},circle:function(t,e){return void 0===t&&(t=5),void 0===e&&(e=0),"M ".concat(2*e,", 0\n a ").concat(t,",").concat(t," 0 1,0 ").concat(2*t,",0\n a ").concat(t,",").concat(t," 0 1,0 ").concat(2*-t,",0")},rect:function(t,e,n){void 0===t&&(t=10),void 0===e&&(e=10),void 0===n&&(n=0);var r=2*n;return"M ".concat(r,",").concat(-t/2," \n L ").concat(r+e,",").concat(-t/2," \n L ").concat(r+e,",").concat(t/2," \n L ").concat(r,",").concat(t/2," Z")},diamond:function(t,e,n){void 0===t&&(t=15),void 0===e&&(e=15),void 0===n&&(n=0);var r=2*n;return"M ".concat(r,",0 \n L ").concat(r+e/2,",").concat(-t/2," \n L ").concat(r+e,",0 \n L ").concat(r+e/2,",").concat(t/2," Z")},triangleRect:function(t,e,n,r,i,o){void 0===t&&(t=15),void 0===e&&(e=15),void 0===n&&(n=15),void 0===r&&(r=3),void 0===i&&(i=5),void 0===o&&(o=0);var a=2*o,s=a+e+i;return"M ".concat(a,",0 L ").concat(a+e,",-").concat(t/2," L ").concat(a+e,",").concat(t/2," Z\n M ").concat(s,", -").concat(n/2,"\n L ").concat(s+r," -").concat(n/2,"\n L ").concat(s+r," ").concat(n/2,"\n L ").concat(s," ").concat(n/2,"\n Z")}},gr={collapse:function(t,e,n){return[["M",t-n,e],["a",n,n,0,1,0,2*n,0],["a",n,n,0,1,0,2*-n,0],["M",t-n+4,e],["L",t+n-4,e]]},expand:function(t,e,n){return[["M",t-n,e],["a",n,n,0,1,0,2*n,0],["a",n,n,0,1,0,2*-n,0],["M",t-n+4,e],["L",t-n+2*n-4,e],["M",t-n+n,e-n+4],["L",t,e+n-4]]},upTriangle:function(t,e,n){var r=n*Math.cos(Math.PI/6),i=n*Math.sin(Math.PI/6);return[["M",t-r,e+i],["L",t+r,e+i],["L",t,e-n],["Z"]]},downTriangle:function(t,e,n){var r=n*Math.cos(Math.PI/6),i=n*Math.sin(Math.PI/6);return[["M",t-r,e-i],["L",t+r,e-i],["L",t,e+n],["Z"]]}},vr=bn,yr=["#5F95FF","#61DDAA","#65789B","#F6BD16","#7262FD","#78D3F8","#9661BC","#F6903D","#008685","#F08BB4"],mr=function(t){return"force"===t||"g6force"===t||"gForce"===t||"force2"===t},br=w.a.transform,xr=Object(g.__assign)(Object(g.__assign)(Object(g.__assign)(Object(g.__assign)(Object(g.__assign)(Object(g.__assign)(Object(g.__assign)({},a),o),s),i),u),c),{transform:br,mat3:w.b}),wr=function(){function t(t){this.graph=t,this.layoutCfg=t.get("layout")||{},this.layoutType=this.getLayoutType(),this.layoutMethods=[],this.initLayout()}return t.prototype.initLayout=function(){},t.prototype.getLayoutType=function(){return this.getLayoutCfgType(this.layoutCfg)},t.prototype.getLayoutCfgType=function(t){var e=t.type;if(e)return e;var n=t.pipes;return Array.isArray(n)?n.map((function(t){return(null==t?void 0:t.type)||""})):null},t.prototype.isLayoutTypeSame=function(t){var e=this.getLayoutCfgType(t),n=Array.isArray(this.layoutType),r=Array.isArray(e);return n&&r?this.layoutType.every((function(t,n){return t===e[n]})):!Array.isArray(e)&&!Array.isArray(this.layoutType)&&(null==t?void 0:t.type)===this.layoutType},t.prototype.refreshLayout=function(){var t=this.graph,e=this.layoutType,n=this.layoutCfg;if(t){var r=(void 0===n?{}:n).animate,i=void 0===r&&("force"===e||"force2"===e),o=mr(e)&&(r||i);t.get("animate")&&!o?t.positionsAnimate("comboCombined"===e):t.refreshPositions("comboCombined"===e)}},t.prototype.changeLayout=function(t){var e=t.disableTriggerLayout,n=Object(g.__rest)(t,["disableTriggerLayout"]);this.layoutCfg=n,this.layoutType=n.type||this.layoutType,e||this.layout()},t.prototype.changeData=function(t){this.layout(t)},t.prototype.destoryLayoutMethods=function(){var t=this.layoutMethods,e=[];return null==t||t.forEach((function(t){var n,r=null===(n=t.getType)||void 0===n?void 0:n.call(t);r&&e.push(r),t.destroy()})),this.layoutMethods=[],e},t.prototype.destroyLayout=function(){this.destoryLayoutMethods();var t=this.graph;t&&!t.get("destroyed")&&t.set("layout",void 0),this.layoutCfg=void 0,this.layoutType=void 0,this.layoutMethods=void 0},t.prototype.setDataFromGraph=function(){for(var t,e=[],n=[],r=[],i=[],o=[],a=[],s=[],u=this.graph.getNodes(),c=this.graph.getEdges(),l=this.graph.getCombos(),f=u.length,h=0;h<f;h++){var d=u[h];if(d&&!d.destroyed){var p=d.getModel();d.isVisible()?e.push(p):n.push(p)}}var g=c.length;for(h=0;h<g;h++){var v=c[h];if(v&&!v.destroyed){p=v.getModel();v.isVisible()?p.isComboEdge?o.push(p):r.push(p):i.push(p)}}var y=l.length;for(h=0;h<y;h++){var m=l[h];if(!m.destroyed){p=m.getModel();m.isVisible()?a.push(p):s.push(p)}}return{nodes:e,hiddenNodes:n,edges:r,hiddenEdges:i,combos:a,hiddenCombos:s,comboEdges:o,vedges:null===(t=this.graph.get("vedges"))||void 0===t?void 0:t.map((function(t){return t.getModel()}))}},t.prototype.relayout=function(t){var e=this,n=this.graph,r=this.layoutMethods,i=this.layoutCfg;if(n&&!n.get("destroyed")){var o=Promise.resolve();if(t){this.data=this.setDataFromGraph();var a=this.data.nodes;if(!a)return!1;o=this.initPositions(i.center,a)}n.emit("beforelayout"),null==r||r.forEach((function(t,n){var a=i[n]||i;o=o.then((function(){var t,o=e.execLayoutMethod(a,n);return n===r.length-1&&(null===(t=i.onAllLayoutEnd)||void 0===t||t.call(i)),o}))}))}},t.prototype.filterLayoutData=function(t,e){var n,r,i=t.nodes,o=t.edges,a=Object(g.__rest)(t,["nodes","edges"]);if(!i)return t;n=Object(v.isFunction)(null==e?void 0:e.nodesFilter)?e.nodesFilter:function(){return!0};var s=i.filter(n);if(Object(v.isFunction)(null==e?void 0:e.edgesFilter))r=e.edgesFilter;else{var u=s.reduce((function(t,e){return t[e.id]=!0,t}),{});r=function(t){return u[t.source]&&u[t.target]}}return Object(g.__assign)({nodes:s,edges:o.filter(r)},a)},t.prototype.getLayoutBBox=function(t){var e=this.graph,n=Object(v.groupBy)(e.getNodes(),(function(t){return t.getModel().layoutOrder})),r=Object.values(n).map((function(t){var e=an(t);return e.size=[e.width,e.height],e}));return{groupNodes:Object.values(Object(v.groupBy)(t,"layoutOrder")),layoutNodes:r}},t.prototype.layoutAnimate=function(){},t.prototype.moveToZero=function(){var t=this.graph.get("data").nodes;if(void 0!==t[0].x&&null!==t[0].x&&!on(t[0].x)){for(var e=[0,0],n=t.length,r=0;r<n;r++){var i=t[r];e[0]+=i.x,e[1]+=i.y}e[0]/=t.length,e[1]/=t.length;for(r=0;r<n;r++){(i=t[r]).x-=e[0],i.y-=e[1]}}},t.prototype.initPositions=function(t,e){var n;return Object(g.__awaiter)(this,void 0,void 0,(function(){var r,i,o;return Object(g.__generator)(this,(function(a){return r=this.graph,(null==e?void 0:e.length)?(i=e.filter((function(t){return on(t.x)||on(t.y)})),(o=i?i.length:0)?[2,null===(n=this.initWithPreset)||void 0===n?void 0:n.call(this,(function(){}),(function(){var e=.85*r.get("width"),n=.85*r.get("height"),a=Math.ceil(Math.sqrt(o)*(e/n)),s=e/(a-1),u=n/(Math.ceil(o/a)-1);isFinite(s)&&s||(s=0),isFinite(u)&&s||(u=0);for(var c=t[0]-e/2,l=t[1]-n/2,f=0;f<o;f++){var h=i[f];on(+h.x)&&(!1,h.x=f%a*s+c),on(+h.y)&&(!1,h.y=Math.floor(f/a)*u+l)}}))]:[2]):[2,Promise.resolve()]}))}))},t.prototype.destroy=function(){this.graph=null,this.destoryLayoutMethods(),this.destroyed=!0},t}(),_r=function(t){this.graph=t,this.destroyed=!1,this.initEvents()},Er=vr.registerNode,Sr=vr.registerEdge,Mr=vr.registerCombo,Or=b.registerBehavior,kr=Ae,Ar=(vr.registerNode,vr.registerEdge,vr.registerCombo,b.registerBehavior,n(115)),Cr=n(23),jr=n(31);function Ir(t,e,n){if(t){if("function"==typeof t.addEventListener)return t.addEventListener(e,n,!1),{remove:function(){t.removeEventListener(e,n,!1)}};if("function"==typeof t.attachEvent)return t.attachEvent("on"+e,n),{remove:function(){t.detachEvent("on"+e,n)}}}}function Tr(t){lr||(lr=document.createElement("table"),fr=document.createElement("tr"),hr=/^\s*<(\w+|!)[^>]*>/,dr={tr:document.createElement("tbody"),tbody:lr,thead:lr,tfoot:lr,td:fr,th:fr,"*":document.createElement("div")});var e=hr.test(t)&&RegExp.$1;e&&e in dr||(e="*");var n=dr[e];t="string"==typeof t?t.replace(/(^\s*)|(\s*$)/g,""):t,n.innerHTML=""+t;var r=n.childNodes[0];return r&&n.contains(r)&&n.removeChild(r),r}function Nr(t,e){if(t)for(var n in e)e.hasOwnProperty(n)&&(t.style[n]=e[n]);return t}var Pr=n(41),Dr=n.n(Pr),Lr=n(44),Rr=n.n(Lr),Br=[{index:7,opacity:.15},{index:6,opacity:.25},{index:5,opacity:.3},{index:5,opacity:.45},{index:5,opacity:.65},{index:5,opacity:.85},{index:4,opacity:.9},{index:3,opacity:.95},{index:2,opacity:.97},{index:1,opacity:.98}];function Fr(t,e,n){var r;return(r=Math.round(t.h)>=60&&Math.round(t.h)<=240?n?Math.round(t.h)-2*e:Math.round(t.h)+2*e:n?Math.round(t.h)+2*e:Math.round(t.h)-2*e)<0?r+=360:r>=360&&(r-=360),r}function zr(t,e,n){return 0===t.h&&0===t.s?t.s:((r=n?t.s-.16*e:4===e?t.s+.16:t.s+.05*e)>1&&(r=1),n&&5===e&&r>.1&&(r=.1),r<.06&&(r=.06),Number(r.toFixed(2)));var r}function Gr(t,e,n){var r;return(r=n?t.v+.05*e:t.v-.15*e)>1&&(r=1),Number(r.toFixed(2))}function Yr(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=[],r=Rr()(t),i=5;i>0;i-=1){var o=r.toHsv(),a=Rr()({h:Fr(o,i,!0),s:zr(o,i,!0),v:Gr(o,i,!0)}).toHexString();n.push(a)}n.push(r.toHexString());for(var s=1;s<=4;s+=1){var u=r.toHsv(),c=Rr()({h:Fr(u,s),s:zr(u,s),v:Gr(u,s)}).toHexString();n.push(c)}return"dark"===e.theme?Br.map((function(t){var r=t.index,i=t.opacity;return Rr.a.mix(e.backgroundColor||"#141414",n[r],100*i).toHexString()})):n}var Ur={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1890FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"},Xr={},Wr={};Object.keys(Ur).forEach((function(t){Xr[t]=Yr(Ur[t]),Xr[t].primary=Xr[t][5],Wr[t]=Yr(Ur[t],{theme:"dark",backgroundColor:"#141414"}),Wr[t].primary=Wr[t][5]}));Xr.red,Xr.volcano,Xr.gold,Xr.orange,Xr.yellow,Xr.lime,Xr.green,Xr.cyan,Xr.blue,Xr.geekblue,Xr.purple,Xr.magenta,Xr.grey;var Vr=function(t,e,n){var r=Dr()(t),i=Dr()(e);return Dr()([(1-n)*r.red()+n*i.red(),(1-n)*r.green()+n*i.green(),(1-n)*r.blue()+n*i.blue()]).rgb()},Hr=function(t,e,n,r){return void 0===e&&(e="#fff"),void 0===n&&(n="default"),void 0===r&&(r="rgb(150, 150, 150)"),"default"===n?function(t,e,n){void 0===e&&(e="#fff"),void 0===n&&(n="rgb(150, 150, 150)");var r=Vr(e,t,.05).rgb().toString(),i=Vr(e,t,.1).rgb().toString(),o=Vr(e,t,.2).rgb().toString(),a=Vr(e,t,.4).rgb().toString(),s=Vr(e,n,.02).rgb().toString(),u=Vr(e,n,.05).rgb().toString(),c=Vr(e,n,.1).rgb().toString(),l=Vr(e,n,.2).rgb().toString(),f=Vr(e,n,.3).rgb().toString(),h=Yr(t,{theme:"default",backgroundColor:e}),d=Dr()(t).hex().toLowerCase(),p=h.indexOf(d),g=t;return-1!==p&&(g=h[p+1]),{mainStroke:t,mainFill:i,activeStroke:t,activeFill:r,inactiveStroke:a,inactiveFill:r,selectedStroke:t,selectedFill:e,highlightStroke:g,highlightFill:o,disableStroke:f,disableFill:u,edgeMainStroke:f,edgeActiveStroke:t,edgeInactiveStroke:l,edgeSelectedStroke:t,edgeHighlightStroke:t,edgeDisableStroke:c,comboMainStroke:f,comboMainFill:s,comboActiveStroke:t,comboActiveFill:r,comboInactiveStroke:f,comboInactiveFill:s,comboSelectedStroke:t,comboSelectedFill:s,comboHighlightStroke:g,comboHighlightFill:s,comboDisableStroke:l,comboDisableFill:u}}(t,e,"rgb(150, 150, 150)"):function(t,e,n){void 0===e&&(e="#fff"),void 0===n&&(n="#777");var r=Vr(e,t,.2).rgb().toString(),i=Vr(e,t,.3).rgb().toString(),o=Vr(e,t,.6).rgb().toString(),a=Vr(e,t,.8).rgb().toString(),s=Vr(e,n,.2).rgb().toString(),u=Vr(e,n,.25).rgb().toString(),c=Vr(e,n,.3).rgb().toString(),l=Vr(e,n,.4).rgb().toString(),f=Vr(e,n,.5).rgb().toString(),h=Yr(t,{theme:"dark",backgroundColor:e}),d=Dr()(t).hex().toLowerCase(),p=h.indexOf(d),g=t;return-1!==p&&(g=h[p+1]),{mainStroke:a,mainFill:r,activeStroke:t,activeFill:i,inactiveStroke:a,inactiveFill:r,selectedStroke:t,selectedFill:r,highlightStroke:t,highlightFill:o,disableStroke:f,disableFill:u,edgeMainStroke:n,edgeActiveStroke:t,edgeInactiveStroke:n,edgeSelectedStroke:t,edgeHighlightStroke:t,edgeDisableStroke:c,comboMainStroke:l,comboMainFill:u,comboActiveStroke:t,comboActiveFill:s,comboInactiveStroke:l,comboInactiveFill:u,comboSelectedStroke:t,comboSelectedFill:s,comboHighlightStroke:g,comboHighlightFill:u,comboDisableStroke:l,comboDisableFill:s}}(t,e,"#777")},qr=function(t,e,n,r){void 0===e&&(e="#fff"),void 0===n&&(n="default"),void 0===r&&(r="rgb(150, 150, 150)");var i=[];return t.forEach((function(t){i.push(Hr(t,e,n,r))})),i},Zr=Hr("rgb(95, 149, 255)","rgb(255, 255, 255)"),Kr={version:"0.8.23",rootContainerClassName:"root-container",nodeContainerClassName:"node-container",edgeContainerClassName:"edge-container",comboContainerClassName:"combo-container",delegateContainerClassName:"delegate-container",defaultLoopPosition:"top",nodeLabel:{style:{fill:"#000",fontSize:12,textAlign:"center",textBaseline:"middle"},offset:4},defaultNode:{type:"circle",style:{lineWidth:1,stroke:Zr.mainStroke,fill:Zr.mainFill},size:20,color:Zr.mainStroke,linkPoints:{size:8,lineWidth:1,fill:Zr.activeFill,stroke:Zr.activeStroke}},nodeStateStyles:{active:{fill:Zr.activeFill,stroke:Zr.activeStroke,lineWidth:2,shadowColor:Zr.mainStroke,shadowBlur:10},selected:{fill:Zr.selectedFill,stroke:Zr.selectedStroke,lineWidth:4,shadowColor:Zr.selectedStroke,shadowBlur:10,"text-shape":{fontWeight:500}},highlight:{fill:Zr.highlightFill,stroke:Zr.highlightStroke,lineWidth:2,"text-shape":{fontWeight:500}},inactive:{fill:Zr.inactiveFill,stroke:Zr.inactiveStroke,lineWidth:1},disable:{fill:Zr.disableFill,stroke:Zr.disableStroke,lineWidth:1}},edgeLabel:{style:{fill:"rgb(0, 0, 0)",textAlign:"center",textBaseline:"middle",fontSize:12}},defaultEdge:{type:"line",size:1,style:{stroke:Zr.edgeMainStroke,lineAppendWidth:2},color:Zr.edgeMainStroke},edgeStateStyles:{active:{stroke:Zr.edgeActiveStroke,lineWidth:1},selected:{stroke:Zr.edgeSelectedStroke,lineWidth:2,shadowColor:Zr.edgeSelectedStroke,shadowBlur:10,"text-shape":{fontWeight:500}},highlight:{stroke:Zr.edgeHighlightStroke,lineWidth:2,"text-shape":{fontWeight:500}},inactive:{stroke:Zr.edgeInactiveStroke,lineWidth:1},disable:{stroke:Zr.edgeDisableStroke,lineWidth:1}},comboLabel:{style:{fill:"rgb(0, 0, 0)",textBaseline:"middle",fontSize:12},refY:10,refX:10},defaultCombo:{type:"circle",style:{fill:Zr.comboMainFill,lineWidth:1,stroke:Zr.comboMainStroke,r:5,width:20,height:10},size:[20,5],color:Zr.comboMainStroke,padding:[25,20,15,20]},comboStateStyles:{active:{stroke:Zr.comboActiveStroke,lineWidth:1,fill:Zr.comboActiveFill},selected:{stroke:Zr.comboSelectedStroke,lineWidth:2,fill:Zr.comboSelectedFill,shadowColor:Zr.comboSelectedStroke,shadowBlur:10,"text-shape":{fontWeight:500}},highlight:{stroke:Zr.comboHighlightStroke,lineWidth:2,fill:Zr.comboHighlightFill,"text-shape":{fontWeight:500}},inactive:{stroke:Zr.comboInactiveStroke,fill:Zr.comboInactiveFill,lineWidth:1},disable:{stroke:Zr.comboDisableStroke,fill:Zr.comboDisableFill,lineWidth:1}},delegateStyle:{fill:"#F3F9FF",fillOpacity:.5,stroke:"#1890FF",strokeOpacity:.9,lineDash:[5,5]},textWaterMarkerConfig:{width:150,height:100,compatible:!1,text:{x:0,y:60,lineHeight:20,rotate:20,fontSize:14,fontFamily:"Microsoft YaHei",fill:"rgba(0, 0, 0, 0.1)",baseline:"Middle"}},imageWaterMarkerConfig:{width:150,height:130,compatible:!1,image:{x:0,y:0,width:30,height:20,rotate:0}},waterMarkerImage:"https://gw.alipayobjects.com/os/s/prod/antv/assets/image/logo-with-text-73b8a.svg"},Qr=function(t,e){var n;t.isGroup()&&e.isGroup()&&(null===(n=t.get("children"))||void 0===n||n.forEach((function(t,n){var r=e.get("children")[n];Qr(t,r)})));var r=t.get("type"),i=e.get("type");if("image"===r&&"image"===i){var o=t.get("clipShape");o&&e.setClip({type:o.get("type"),attrs:o.attr()})}},$r=xr.cloneEvent,Jr=xr.isViewportChanged,ti=function(t){function e(e){var n=t.call(this,e)||this;return n.extendEvents=[],n.dragging=!1,n.mousedown=!1,n.preItem=null,n.destroy(),n.graph=e,n.destroyed=!1,n.initEvents(),n}return Object(g.__extends)(e,t),e.prototype.initEvents=function(){var t=this.graph,e=this.extendEvents,n=void 0===e?[]:e,r=t.get("canvas"),i=r.get("el"),o=Object(v.wrapBehavior)(this,"onCanvasEvents"),a=Object(v.wrapBehavior)(this,"onExtendEvents"),s=Object(v.wrapBehavior)(this,"onWheelEvent");r.off("*").on("*",o),this.canvasHandler=o,n.push(Ir(i,"wheel",s)),"undefined"!=typeof window&&(n.push(Ir(window,"keydown",a)),n.push(Ir(window,"keyup",a)),n.push(Ir(window,"focus",a))),this.resetHandler&&t.off("afterchangedata",this.resetHandler),this.resetHandler=Object(v.wrapBehavior)(this,"resetStatus"),t.on("afterchangedata",this.resetHandler)},e.getItemRoot=function(t){for(;t&&!t.get("item");)t=t.get("parent");return t},e.prototype.onCanvasEvents=function(t){var n=this,r=this.graph,i=r.get("canvas"),o=t.target,a=t.type;switch(a){case"drag":this.onCanvasEvents(Object.assign({},t,{type:"mousemove"}));break;case"dragend":this.onCanvasEvents(Object.assign({},t,{type:"mouseup"}));break;case"mousedown":this.mousedown=!0;break;case"mouseup":setTimeout((function(){return n.mousedown=!1}));break;case"click":if(!this.mousedown)return}t.canvasX=t.x,t.canvasY=t.y;var s={x:t.canvasX,y:t.canvasY},u=r.get("group").getMatrix();if(u||(u=[1,0,0,0,1,0,0,0,1]),Jr(u)&&(s=r.getPointByClient(t.clientX,t.clientY)),t.x=s.x,t.y=s.y,t.currentTarget=r,o===i)return"mousemove"!==a&&"mouseleave"!==a||this.handleMouseMove(t,"canvas"),t.target=i,t.item=null,r.emit(a,t),void r.emit("canvas:".concat(a),t);var c=e.getItemRoot(o);if(c){var l=c.get("item");if(!l.destroyed){var f=l.getType();if(t.target=o,t.item=l,t.canvasX===t.x&&t.canvasY===t.y){var h=r.getCanvasByPoint(t.x,t.y);t.canvasX=h.x,t.canvasY=h.y}t.name&&!t.name.includes(":")?(r.emit("".concat(f,":").concat(a),t),r.emit(a,t)):t.name&&r.emit(t.name,t),"dragstart"===a&&(this.dragging=!0),"dragend"===a&&(this.dragging=!1),"mousemove"===a&&this.handleMouseMove(t,f)}}else r.emit(a,t)},e.prototype.onExtendEvents=function(t){this.graph.emit(t.type,t)},e.prototype.onWheelEvent=function(t){Object(v.isNil)(t.wheelDelta)&&(t.wheelDelta=-t.detail),this.graph.emit("wheel",t)},e.prototype.handleMouseMove=function(t,e){var n=this.graph,r=this.preItem,i=n.get("canvas"),o=t.target===i?null:t.item;t=$r(t),r&&r!==o&&!r.destroyed&&(t.item=r,this.emitCustomEvent(r.getType(),"mouseleave",t),this.dragging&&this.emitCustomEvent(r.getType(),"dragleave",t)),o&&r!==o&&(t.item=o,this.emitCustomEvent(e,"mouseenter",t),this.dragging&&this.emitCustomEvent(e,"dragenter",t)),this.preItem=o},e.prototype.emitCustomEvent=function(t,e,n){n.type=e,this.graph.emit("".concat(t,":").concat(e),n)},e.prototype.resetStatus=function(){this.mousedown=!1,this.dragging=!1,this.preItem=null},e.prototype.destroy=function(){var t=this.graph,e=this.canvasHandler,n=this.extendEvents;t.get("canvas").off("*",e),Object(v.each)(n,(function(t){t.remove()})),this.resetStatus(),this.extendEvents.length=0,this.canvasHandler=null,this.resetHandler=null,this.destroyed=!0},e}(_r),ei=n(7),ni=n(40),ri=n.n(ni),ii=xr.traverseTree,oi=function(t,e){return t?Object(v.isNumber)(t)?function(e){return t}:t:function(t){return e||1}},ai=function(t,e){var n=[],r=[],i={},o=0;for(o=0;o<t.length;o++){var a=t[o];i[a.id]=o,n.push(a.x),n.push(a.y),n.push(0),n.push(0),r.push([])}for(o=0;o<e.length;o++){var s=e[o];r[i[s.source]].push(i[s.target]),r[i[s.target]].push(i[s.source])}var u=0;for(o=0;o<t.length;o++){var c=n.length,l=r[o],f=l.length;n[4*o+2]=c,n[4*o+3]=l.length,u=Math.max(u,l.length);for(var h=0;h<f;++h){var d=l[h];n.push(+d)}}for(;n.length%4!=0;)n.push(0);return{array:new Float32Array(n),maxEdgePerVetex:u}},si=function(t,e,n){var r=[],i=[],o={},a=0;for(a=0;a<t.length;a++){var s=t[a];o[s.id]=a,r.push(s.x),r.push(s.y),r.push(0),r.push(0),i.push([])}for(a=0;a<e.length;a++){var u=e[a];i[o[u.source]].push(o[u.target]),i[o[u.source]].push(n(u)),i[o[u.target]].push(o[u.source]),i[o[u.target]].push(n(u))}var c=0;for(a=0;a<t.length;a++){var l=r.length,f=i[a],h=f.length;r[4*a+2]=l,r[4*a+3]=h/2,c=Math.max(c,h/2);for(var d=0;d<h;++d){var p=f[d];r.push(+p)}}for(;r.length%4!=0;)r.push(0);return{array:new Float32Array(r),maxEdgePerVetex:c}},ui=function(t,e,n,r){var i=[],o=[],a={},s=0;for(s=0;s<t.length;s++){var u=t[s];a[u.id]=s,i.push(u.x),i.push(u.y),i.push(0),i.push(0),o.push([])}for(s=0;s<e.length;s++){var c=e[s];o[a[c.source]].push(a[c.target]),o[a[c.source]].push(n(c)),o[a[c.source]].push(r(c)),o[a[c.source]].push(0),o[a[c.target]].push(a[c.source]),o[a[c.target]].push(n(c)),o[a[c.target]].push(r(c)),o[a[c.target]].push(0)}var l=0;for(s=0;s<t.length;s++){var f=i.length,h=o[s],d=h.length;i[4*s+2]=f+1048576*d/4,i[4*s+3]=0,l=Math.max(l,d/4);for(var p=0;p<d;++p){var g=h[p];i.push(+g)}}for(;i.length%4!=0;)i.push(0);return{array:new Float32Array(i),maxEdgePerVetex:l}},ci=function(t,e){var n=[],r=t.length,i={};return e.forEach((function(e){t.forEach((function(t,o){if(void 0===i[e[t]]&&(i[e[t]]=Object.keys(i).length),n.push(i[e[t]]),o===r-1)for(;n.length%4!=0;)n.push(0)}))})),{array:new Float32Array(n),count:Object.keys(i).length}},li=function(t){for(var e=[],n=t.length,r=t[0].length,i=function(r){t.forEach((function(t,i){if(e.push(t[r]),i===n-1)for(;e.length%4!=0;)e.push(0)}))},o=0;o<r;o++)i(o);return new Float32Array(e)},fi=function(t,e){var n={x:1/0,y:1/0},r={x:-1/0,y:-1/0},i="x",o="y";e&&["V","TB","BT"].indexOf(e)>=0&&(o="x",i="y");var a=0;ii(t,(function(t){return a++,t.x>r.x&&(r.x=t.x),t.x<n.x&&(n.x=t.x),t.y>r.y&&(r.y=t.y),t.y<n.y&&(n.y=t.y),!0}));var s=2*Math.PI/a,u=r[o]-n[o];return 0===u||ii(t,(function(e){var r=(e[o]-n[o])/u*(2*Math.PI-s)+s,a=Math.abs("x"===i?e.x-t.x:e.y-t.y);return e.x=a*Math.cos(r),e.y=a*Math.sin(r),!0})),t},hi=function(){return"undefined"==typeof window||"undefined"==typeof document?{}:{canvas:!!window.CanvasRenderingContext2D,webgl:function(){try{var t=document.createElement("canvas");return!(!window.WebGLRenderingContext||!t.getContext("webgl")&&!t.getContext("experimental-webgl"))}catch(t){return!1}}(),workers:!!window.Worker,fileapi:window.File&&window.FileReader&&window.FileList&&window.Blob,getWebGLErrorMessage:function(){var t=document.createElement("div");return t.id="webgl-error-message",t.style.fontFamily="monospace",t.style.fontSize="13px",t.style.fontWeight="normal",t.style.textAlign="center",t.style.background="#fff",t.style.color="#000",t.style.padding="1.5em",t.style.width="400px",t.style.margin="5em auto 0",this.webgl||(t.innerHTML=window.WebGLRenderingContext?['Your graphics card does not seem to support <a href="http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation" rel="external nofollow" rel="external nofollow" style="color:#000">WebGL</a>.<br />','Find out how to get it <a href="http://get.webgl.org/" rel="external nofollow" rel="external nofollow" style="color:#000">here</a>.'].join("\n"):['Your browser does not seem to support <a href="http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation" rel="external nofollow" rel="external nofollow" style="color:#000">WebGL</a>.<br/>','Find out how to get it <a href="http://get.webgl.org/" rel="external nofollow" rel="external nofollow" style="color:#000">here</a>.'].join("\n")),t},addGetWebGLMessage:function(t){var e=void 0!==(t=t||{}).parent?t.parent:document.body,n=void 0!==t.id?t.id:"oldie",r=hi().getWebGLErrorMessage();r.id=n,e.appendChild(r)}}},di=function(){var t=navigator.userAgent.toLowerCase();return t.indexOf("firefox")>-1?"firefox":t.indexOf("safari")>-1?"safari":t.indexOf("opr")>-1?"opera":t.indexOf("chrome")>-1?"chrome":t.indexOf("trident")>-1?"ie 11":t.indexOf("ie")>-1?"ie":"unknown"},pi=Object(g.__assign)(Object(g.__assign)(Object(g.__assign)(Object(g.__assign)(Object(g.__assign)({},xr),l),f),h),d),gi=pi.radialLayout,vi=function(){function t(t){this.type=t.type,this.radial=t.radial,this.config=t}return t.prototype.init=function(t){var e=this;this.data=t,this.radial?this.layoutMethod=function(t){var n=ri.a[e.type](t,e.config);return gi(n),n}:this.layoutMethod=function(t){return ri.a[e.type](t,e.config)}},t.prototype.execute=function(){return this.layoutMethod(this.data,this.config)},t.prototype.layout=function(t){return this.init(t),this.execute()},t}();Object(ei.registerLayout)("grid",ei.GridLayout),Object(ei.registerLayout)("random",ei.RandomLayout),Object(ei.registerLayout)("force",ei.ForceLayout),Object(ei.registerLayout)("circular",ei.CircularLayout),Object(ei.registerLayout)("dagre",ei.DagreLayout),Object(ei.registerLayout)("dagreCompound",ei.DagreCompoundLayout),Object(ei.registerLayout)("radial",ei.RadialLayout),Object(ei.registerLayout)("concentric",ei.ConcentricLayout),Object(ei.registerLayout)("mds",ei.MDSLayout),Object(ei.registerLayout)("fruchterman",ei.FruchtermanLayout),Object(ei.registerLayout)("fruchterman-gpu",ei.FruchtermanGPULayout),Object(ei.registerLayout)("gForce",ei.GForceLayout),Object(ei.registerLayout)("force2",ei.Force2Layout),Object(ei.registerLayout)("gForce-gpu",ei.GForceGPULayout),Object(ei.registerLayout)("comboForce",ei.ComboForceLayout),Object(ei.registerLayout)("comboCombined",ei.ComboCombinedLayout),Object(ei.registerLayout)("forceAtlas2",ei.ForceAtlas2Layout);var yi=function(t,e){e.isCustomLayout=!0,ei.Layouts[t]=Object(ei.registerLayout)(t,e)},mi=function(t,e){var n=t.toString(),r=new Blob(["importScripts('".concat(e,"');(").concat(n,")()")],{type:"text/javascript"});return new Worker(URL.createObjectURL(r))},bi=function(t){return void 0===t&&(t="https://unpkg.com/@antv/layout@0.3.23/dist/layout.min.js"),new mi((function(){var t="LAYOUT_RUN",e="LAYOUT_END",n="LAYOUT_ERROR",r="GPU_LAYOUT_RUN";layout.registerLayout("grid",layout.GridLayout),layout.registerLayout("random",layout.RandomLayout),layout.registerLayout("force",layout.ForceLayout),layout.registerLayout("force2",layout.Force2Layout),layout.registerLayout("circular",layout.CircularLayout),layout.registerLayout("dagre",layout.DagreLayout),layout.registerLayout("dagreCompound",layout.DagreCompoundLayout),layout.registerLayout("radial",layout.RadialLayout),layout.registerLayout("concentric",layout.ConcentricLayout),layout.registerLayout("mds",layout.MDSLayout),layout.registerLayout("fruchterman",layout.FruchtermanLayout),layout.registerLayout("fruchterman-gpu",layout.FruchtermanGPULayout),layout.registerLayout("gForce",layout.GForceLayout),layout.registerLayout("gForce-gpu",layout.GForceGPULayout),layout.registerLayout("comboForce",layout.ComboForceLayout),layout.registerLayout("comboCombined",layout.ComboCombinedLayout),layout.registerLayout("forceAtlas2",layout.ForceAtlas2Layout),onmessage=function(i){(function(e){var n=e.data.type;return n===t||n===r})(i)&&function(i){var o=this;switch(i.data.type){case t:var a,s=i.data,u=s.nodes,c=s.edges,l=s.layoutCfg,f=(v=void 0===l?{}:l).type;if(!(h=layout.getLayoutByName(f))){this.postMessage({type:n,message:"layout ".concat(f," not found")});break}v.onLayoutEnd=function(){o.postMessage({type:e,nodes:u}),null==a||a.destroy()},(a=new h(v)).init({nodes:u,edges:c}),a.execute();break;case r:var h,d=i.data,p=d.nodes,g=(c=d.edges,d.layoutCfg),v=void 0===g?{}:g,y=d.canvas;f=v.type;if(!(h=layout.getLayoutByName(f))){this.postMessage({type:n,message:"layout ".concat(f," not found")});break}if("gpu"!==f.split("-")[1]){this.postMessage({type:n,message:"layout ".concat(f," does not support GPU")});break}var m=new h(v);m.init({nodes:p,edges:c}),m.executeWithWorker(y,this)}}(i)}}),t)},xi="LAYOUT_RUN",wi="LAYOUT_END",_i="LAYOUT_ERROR",Ei="LAYOUT_TICK",Si="GPU_LAYOUT_RUN",Mi="GPU_LAYOUT_END";function Oi(t){return(Oi="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var ki=function(t){return setTimeout(t,16)},Ai=function(t){return clearTimeout(t)},Ci=function(t){return("undefined"!=typeof window&&(window.requestAnimationFrame||window.webkitRequestAnimationFrame)||ki)(t)},ji=function(t){return("undefined"!=typeof window&&(window.cancelAnimationFrame||window.webkitCancelAnimationFrame)||Ai)(t)},Ii=["fruchterman","gForce"],Ti=["force","grid","circular"],Ni=function(t){function e(e){var n=t.call(this,e)||this;return n.graph=e,n.layoutCfg=e.get("layout")||{},n.layoutType=n.getLayoutType(),n.worker=null,n.workerData={},n.initLayout(),n}return Object(g.__extends)(e,t),e.prototype.initLayout=function(){},e.prototype.getWorker=function(){return this.worker||("undefined"==typeof Worker?(console.warn("Web worker is not supported in current browser."),this.worker=null):this.worker=bi(this.layoutCfg.workerScriptURL)),this.worker},e.prototype.stopWorker=function(){var t=this.workerData;this.worker&&(this.worker.terminate(),this.worker=null,t.requestId&&(ji(t.requestId),t.requestId=null),t.requestId2&&(ji(t.requestId2),t.requestId2=null))},e.prototype.execLayoutMethod=function(t,e){var n=this;return new Promise((function(r,i){return Object(g.__awaiter)(n,void 0,void 0,(function(){var n,o,a,s,u,c,l,f,h;return Object(g.__generator)(this,(function(d){switch(d.label){case 0:if(!(n=this.graph)||n.get("destroyed"))return[2];o=t.type,t.onLayoutEnd=function(){n.emit("aftersublayout",{type:o}),r()},o&&this.isGPU&&(Di(o)?o="".concat(o,"-gpu"):console.warn("The '".concat(o,"' layout does not support GPU calculation for now, it will run in CPU."))),xr.isForce(o)?(a=t.onTick,s=t.animate,u=void 0===s&&("force"===o||"force2"===o),f=function(){a&&a(),(s||u)&&n.refreshPositions()},t.tick=f):"comboForce"!==o&&"comboCombined"!==o||(t.comboTrees=n.get("comboTrees")),!1;try{c=new ei.Layouts[o](t),this.layoutMethods[e]&&this.layoutMethods[e].destroy(),this.layoutMethods[e]=c}catch(t){console.warn("The layout method: '".concat(o,"' does not exist! Please specify it first.")),i()}return c.enableTick&&(l=t.onTick,f=function(){l&&l(),n.refreshPositions()},c.tick=f),function(t,e){var n;if(!(null===(n=null==t?void 0:t.nodes)||void 0===n?void 0:n.length))return;t.nodes.forEach((function(t){t.layoutOrder=e}))}(h=this.filterLayoutData(this.data,t),e),c.init(h),n.emit("beforesublayout",{type:o}),[4,c.execute()];case 1:return d.sent(),c.isCustomLayout&&t.onLayoutEnd&&t.onLayoutEnd(),[2]}}))}))}))},e.prototype.updateLayoutMethod=function(t,e){var n=this;return new Promise((function(r,i){return Object(g.__awaiter)(n,void 0,void 0,(function(){var n,i,o,a,s,u,c;return Object(g.__generator)(this,(function(l){switch(l.label){case 0:return n=this.graph,i=null==e?void 0:e.type,e.onLayoutEnd=function(){n.emit("aftersublayout",{type:i}),r()},xr.isForce(i)&&(o=e.onTick,a=e.animate,s=void 0===a&&("force"===i||"force2"===i),u=function(){null==o||o(),(a||s)&&n.refreshPositions()},e.tick=u),c=this.filterLayoutData(this.data,e),t.init(c),t.updateCfg(e),n.emit("beforesublayout",{type:i}),[4,t.execute()];case 1:return l.sent(),t.isCustomLayout&&e.onLayoutEnd&&e.onLayoutEnd(),[2]}}))}))}))},e.prototype.layout=function(t){var e,n=this,r=this.graph;if(r&&!r.get("destroyed")){this.data=this.setDataFromGraph();var i=this.data,o=i.nodes,a=i.hiddenNodes;if(!o)return!1;var s=r.get("width"),u=r.get("height"),c={};Object.assign(c,{width:s,height:u,center:[s/2,u/2]},this.layoutCfg),this.layoutCfg=c;var l=c.type,f=!1;null===(e=this.layoutMethods)||void 0===e||e.forEach((function(t){var e;return f=!!(null===(e=t.nodes)||void 0===e?void 0:e.length)||f}));var h=this.destoryLayoutMethods();r.emit("beforelayout");var d=Promise.resolve();f&&l&&1===(null==h?void 0:h.length)&&h[0]===l?this.tweakInit():d=this.initPositions(c.center,o),this.initPositions(c.center,a).then(),this.isGPU=Li(c,l);var p=c.onLayoutEnd,v=c.layoutEndFormatted,y=c.adjust;if(v||(c.layoutEndFormatted=!0,c.onAllLayoutEnd=function(){return Object(g.__awaiter)(n,void 0,void 0,(function(){return Object(g.__generator)(this,(function(t){switch(t.label){case 0:return p&&p(o),this.refreshLayout(),y&&c.pipes?[4,this.adjustPipesBox(this.data,y)]:[3,2];case 1:t.sent(),this.refreshLayout(),t.label=2;case 2:return r.emit("afterlayout"),[2]}}))}))}),this.stopWorker(),c.workerEnabled&&this.layoutWithWorker(this.data,t))return!0;var m=!1;return c.type?(m=!0,d=d.then((function(){return Object(g.__awaiter)(n,void 0,void 0,(function(){return Object(g.__generator)(this,(function(t){switch(t.label){case 0:return[4,this.execLayoutMethod(c,0)];case 1:return[2,t.sent()]}}))}))}))):c.pipes&&(m=!0,c.pipes.forEach((function(t,e){d=d.then((function(){return Object(g.__awaiter)(n,void 0,void 0,(function(){return Object(g.__generator)(this,(function(n){switch(n.label){case 0:return[4,this.execLayoutMethod(t,e)];case 1:return[2,n.sent()]}}))}))}))}))),m?d.then((function(){c.onAllLayoutEnd&&c.onAllLayoutEnd(),t&&t()})).catch((function(t){console.warn("graph layout failed,",t)})):(r.refreshPositions(),null==t||t()),!1}},e.prototype.tweakInit=function(){var t=this.data,e=this.graph,n=t.nodes,r=t.edges;if(null==n?void 0:n.length){var i={};n.forEach((function(t){var e=t.x,n=t.y;isNaN(e)||isNaN(n)||(i[t.id]={x:e,y:n},t.mass=t.mass||2)})),r.forEach((function(t){var e=t.source,n=t.target,r=i[e],o=i[n];!r&&o?i[e]={x:o.x+80*(Math.random()-.5),y:o.y+80*(Math.random()-.5)}:!o&&r&&(i[n]={x:r.x+80*(Math.random()-.5),y:r.y+80*(Math.random()-.5)})}));var o=e.get("width"),a=e.get("height");n.forEach((function(t){var e=i[t.id]||{x:o/2+20*(Math.random()-.5),y:a/2+20*(Math.random()-.5)};t.x=e.x,t.y=e.y}))}},e.prototype.initWithPreset=function(t,e){var n=this;return new Promise((function(r,i){return Object(g.__awaiter)(n,void 0,void 0,(function(){var n,i,o,a,s,u,c;return Object(g.__generator)(this,(function(l){switch(l.label){case 0:return i=(n=this).layoutCfg,o=n.data,(null==(a=i.preset)?void 0:a.type)&&ei.Layouts[null==a?void 0:a.type]?(s=Li(a,a.type),u=s?"".concat(a.type,"-gpu"):a.type,c=new ei.Layouts[u](a),delete i.preset,c.init(o),[4,c.execute()]):(null==e||e(),r(),[2,!1]);case 1:return l.sent(),null==t||t(),r(),[2,!0]}}))}))}))},e.prototype.layoutWithWorker=function(t,e){var n=this,r=this.layoutCfg,i=this.graph,o=this.getWorker(),a=this.workerData;if(!o)return!1;a.requestId=null,a.requestId2=null,a.currentTick=null,a.currentTickData=null,i.emit("beforelayout");var s=Promise.resolve(),u=!1;if(r.type)u=!0,s=s.then((function(){return n.runWebworker(o,t,r)}));else if(r.pipes){u=!0;for(var c=function(e){s=s.then((function(){return n.runWebworker(o,t,e)}))},l=0,f=r.pipes;l<f.length;l++){c(f[l])}}return u&&s.then((function(){r.onAllLayoutEnd&&r.onAllLayoutEnd(),null==e||e()})).catch((function(t){console.error("layout failed",t)})),!0},e.prototype.runWebworker=function(t,e,n){var r=this,i=this.isGPU,o=this.filterLayoutData(e,n),a=o.nodes,s=o.edges,u=document.createElement("canvas"),c=i&&"undefined"!=typeof window&&window.navigator&&!navigator.gpu&&"OffscreenCanvas"in window&&"transferControlToOffscreen"in u,l=function(t,e){var n={};if(t&&"object"===Oi(t))return Object.keys(t).forEach((function(r){t.hasOwnProperty(r)&&e(t[r])&&(n[r]=t[r])})),n;return t}(n,(function(t){return"function"!=typeof t}));if(c){var f=u.transferControlToOffscreen();l.type="".concat(l.type,"-gpu"),t.postMessage({type:Si,nodes:a,edges:s,layoutCfg:l,canvas:f},[f])}else t.postMessage({type:xi,nodes:a,edges:s,layoutCfg:l});return new Promise((function(e,i){t.onmessage=function(t){r.handleWorkerMessage(e,i,t,o,n)}}))},e.prototype.handleWorkerMessage=function(t,e,n,r,i){var o=this.graph,a=this.workerData,s=n.data,u=s.type,c=function(){i.onTick&&i.onTick()};switch(u){case Ei:a.currentTick=s.currentTick,a.currentTickData=s,a.requestId||(a.requestId=Ci((function(){Pi(r,s),o.refreshPositions(),c(),s.currentTick===s.totalTicks?t():a.currentTick===s.totalTicks&&(a.requestId2=Ci((function(){Pi(r,a.currentTickData),o.refreshPositions(),a.requestId2=null,c(),t()}))),a.requestId=null})));break;case wi:null==a.currentTick&&(Pi(r,s),t());break;case Mi:null==a.currentTick&&(!function(t,e){for(var n=t.nodes,r=e.vertexEdgeData,i=n.length,o=0;o<i;o++){var a=n[o],s=r[4*o],u=r[4*o+1];a.x=s,a.y=u}}(r,s),t());break;case _i:console.warn("Web-Worker layout error!",s.message),e();break;default:e()}},e.prototype.updateLayoutCfg=function(t){var e=this,n=this.graph,r=this.layoutMethods;if(n&&!n.get("destroyed")){var i=t.disableTriggerLayout,o=Object(g.__rest)(t,["disableTriggerLayout"]),a=Object(v.mix)({},this.layoutCfg,o);if(this.layoutCfg=a,!i)if(null==r?void 0:r.length){if(this.data=this.setDataFromGraph(),this.stopWorker(),!o.workerEnabled||!this.layoutWithWorker(this.data,null)){n.emit("beforelayout");var s=Promise.resolve(),u=!1;1===(null==r?void 0:r.length)?(u=!0,s=s.then((function(){return Object(g.__awaiter)(e,void 0,void 0,(function(){return Object(g.__generator)(this,(function(t){switch(t.label){case 0:return[4,this.updateLayoutMethod(r[0],a)];case 1:return[2,t.sent()]}}))}))}))):(null==r?void 0:r.length)&&(u=!0,r.forEach((function(t,n){var r=a.pipes[n];s=s.then((function(){return Object(g.__awaiter)(e,void 0,void 0,(function(){return Object(g.__generator)(this,(function(e){switch(e.label){case 0:return[4,this.updateLayoutMethod(t,r)];case 1:return[2,e.sent()]}}))}))}))}))),u&&s.then((function(){a.onAllLayoutEnd&&a.onAllLayoutEnd()})).catch((function(t){console.warn("layout failed",t)}))}}else this.layout()}},e.prototype.adjustPipesBox=function(t,e){var n=this;return new Promise((function(r){var i=t.nodes;(null==i?void 0:i.length)||r(),Ti.includes(e)||(console.warn("The adjust type ".concat(e," is not supported yet, please assign it with 'force', 'grid', or 'circular'.")),r());var o={center:n.layoutCfg.center,nodeSize:function(t){return Math.max(t.height,t.width)},preventOverlap:!0,onLayoutEnd:function(){}},a=n.getLayoutBBox(i),s=a.groupNodes,u=a.layoutNodes,c=Object(v.clone)(u);o.onLayoutEnd=function(){null==u||u.forEach((function(t,e){var n,r,i,o=t.x-(null===(n=c[e])||void 0===n?void 0:n.x),a=t.y-(null===(r=c[e])||void 0===r?void 0:r.y);null===(i=s[e])||void 0===i||i.forEach((function(t){t.x+=o,t.y+=a}))})),r()},new ei.Layouts[e](o).layout({nodes:u})}))},e.prototype.destroy=function(){this.destoryLayoutMethods();var t=this.worker;t&&(t.terminate(),this.worker=null),this.destroyed=!0,this.graph.set("layout",void 0),this.layoutCfg=void 0,this.layoutType=void 0,this.layoutMethods=void 0,this.graph=null},e}(wr);function Pi(t,e){for(var n=t.nodes,r=e.nodes,i=n.length,o=0;o<i;o++){var a=n[o];a.x=r[o].x,a.y=r[o].y}}function Di(t){return Ii.includes(t)}function Li(t,e){var n=e;e&&"gpu"===e.split("-")[1]&&(n=e.split("-")[0],t.gpuEnabled=!0);var r=!1;return t.gpuEnabled&&(r=!0,hi().webgl||(console.warn("Your browser does not support webGL or GPGPU. The layout will run in CPU."),r=!1)),r&&!Di(n)&&(console.warn("The '".concat(n,"' layout does not support GPU calculation for now, it will run in CPU.")),r=!1),r}var Ri=w.a.transform,Bi=function(t){function e(e){var n=t.call(this,e)||this,r=n.get("defaultNode");return r||n.set("defaultNode",{type:"circle"}),r.type||(r.type="circle",n.set("defaultNode",r)),n.destroyed=!1,n}return Object(g.__extends)(e,t),e.prototype.initLayoutController=function(){var t=new Ni(this);this.set({layoutController:t})},e.prototype.initEventController=function(){var t=new ti(this);this.set({eventController:t})},e.prototype.initCanvas=function(){var t=this.get("container");if("string"==typeof t&&(t=document.getElementById(t),this.set("container",t)),!t)throw new Error("invalid container");var e,n=t.clientWidth,r=t.clientHeight,i=this.get("width")||n,o=this.get("height")||r;if(this.get("width")||this.get("height")||(this.set("width",n),this.set("height",r)),"svg"===this.get("renderer"))e=new jr.Canvas({container:t,width:i,height:o});else{var a={container:t,width:i,height:o},s=this.get("pixelRatio");s&&(a.pixelRatio=s,window.devicePixelRatio=s),e=new Cr.Canvas(a)}this.set("canvas",e)},e.prototype.initPlugins=function(){var t=this;Object(v.each)(t.get("plugins"),(function(e){!e.destroyed&&e.initPlugin&&e.initPlugin(t)}))},e.prototype.downloadImageWatermark=function(t,e,n,r){return Object(g.__awaiter)(this,void 0,void 0,(function(){var i,o,a;return Object(g.__generator)(this,(function(s){switch(s.label){case 0:return i=t.style.backgroundImage,o=i.slice(5,i.length-2),(a=new Image).src=o,[4,new Promise((function(t){a.onload=function(){var i=e.createPattern(a,"repeat");e.rect(0,0,n,r),e.fillStyle=i,e.fill(),t("")}}))];case 1:return s.sent(),[2]}}))}))},e.prototype.asyncToDataUrl=function(t,e,n,r,i,o){var a=this,s=document.querySelector(".g6-graph-watermarker"),u=this.get("canvas"),c=u.getRenderer(),l=o||u.get("el"),f="";t||(t="image/png"),setTimeout((function(){return Object(g.__awaiter)(a,void 0,void 0,(function(){var o,a,u,h,d,p,v,y,m,b;return Object(g.__generator)(this,(function(g){switch(g.label){case 0:return"svg"!==c?[3,1]:(o=l.cloneNode(!0),a=document.implementation.createDocumentType("svg","-//W3C//DTD SVG 1.1//EN","http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"),(u=document.implementation.createDocument("http://www.w3.org/2000/svg","svg",a)).replaceChild(o,u.documentElement),h=(new XMLSerializer).serializeToString(u),f="data:image/svg+xml;charset=utf8,".concat(encodeURIComponent(h)),[3,4]);case 1:return d=void 0,p=l.getContext("2d"),v=r||this.get("width"),y=i||this.get("height"),m=void 0,s?[4,this.downloadImageWatermark(s,p,v,y)]:[3,3];case 2:g.sent(),g.label=3;case 3:if(e){b="undefined"!=typeof window?window.devicePixelRatio:1;try{d=p.getImageData(0,0,v*b,y*b),m=p.globalCompositeOperation,p.globalCompositeOperation="destination-over",p.fillStyle=e,p.fillRect(0,0,v,y)}catch(t){console.error("Download image failed. Out of memory at ImageData creation")}}f=l.toDataURL(t),e&&(p.clearRect(0,0,v,y),p.putImageData(d,0,0),p.globalCompositeOperation=m),g.label=4;case 4:return n&&n(f),[2]}}))}))}),16)},e.prototype.toDataURL=function(t,e){var n=this.get("canvas"),r=n.getRenderer(),i=n.get("el");t||(t="image/png");var o="";if("svg"===r){var a=i.cloneNode(!0),s=document.implementation.createDocumentType("svg","-//W3C//DTD SVG 1.1//EN","http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"),u=document.implementation.createDocument("http://www.w3.org/2000/svg","svg",s);u.replaceChild(a,u.documentElement);var c=(new XMLSerializer).serializeToString(u);o="data:image/svg+xml;charset=utf8,".concat(encodeURIComponent(c))}else{var l=void 0,f=i.getContext("2d"),h=Math.max(this.get("width"),500),d=Math.max(this.get("height"),500),p=void 0;if(e){var g="undefined"!=typeof window&&window.devicePixelRatio||1;try{l=f.getImageData(0,0,h*g,d*g),p=f.globalCompositeOperation,f.globalCompositeOperation="destination-over",f.fillStyle=e,f.fillRect(0,0,h,d)}catch(t){console.error("Download image failed. Out of memory at ImageData creation")}}o=i.toDataURL(t),e&&(f.clearRect(0,0,h,d),f.putImageData(l,0,0),f.globalCompositeOperation=p)}return o},e.prototype.toFullDataURL=function(t,e,n){var r=this.get("group").getCanvasBBox(),i=r.height,o=r.width,a=this.get("renderer"),s=Tr('<div id="virtual-image"></div>'),u=n?n.backgroundColor:void 0,c=n?n.padding:void 0;c?Object(v.isNumber)(c)&&(c=[c,c,c,c]):c=[0,0,0,0];var l=i+c[0]+c[2],f=o+c[1]+c[3],h={container:s,height:l,width:f,quickHit:!0},d="svg"===a?new jr.Canvas(h):new Cr.Canvas(h),p=this.get("group").clone(),g=Object(v.clone)(p.getMatrix());g||(g=[1,0,0,0,1,0,0,0,1]);var y=(r.maxX+r.minX)/2,m=(r.maxY+r.minY)/2;g=Ri(g,[["t",-y,-m],["t",o/2+c[3],i/2+c[0]]]),p.resetMatrix(),p.setMatrix(g),d.add(p);var b=d.get("el"),x="";e||(e="image/png"),setTimeout((function(){if("svg"===a){var n=b.cloneNode(!0),r=document.implementation.createDocumentType("svg","-//W3C//DTD SVG 1.1//EN","http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"),i=document.implementation.createDocument("http://www.w3.org/2000/svg","svg",r);i.replaceChild(n,i.documentElement);var o=(new XMLSerializer).serializeToString(i);x="data:image/svg+xml;charset=utf8,".concat(encodeURIComponent(o))}else{var s=void 0,c=b.getContext("2d"),h=void 0;if(u){var d="undefined"!=typeof window?window.devicePixelRatio:1;try{s=c.getImageData(0,0,f*d,l*d),h=c.globalCompositeOperation,c.globalCompositeOperation="destination-over",c.fillStyle=u,c.fillRect(0,0,f,l)}catch(t){console.error("Download image failed. Out of memory at ImageData creation")}}x=b.toDataURL(e),u&&(c.clearRect(0,0,f,l),c.putImageData(s,0,0),c.globalCompositeOperation=h)}t&&t(x)}),16)},e.prototype.downloadFullImage=function(t,e,n){var r=this,i=this.get("group").getCanvasBBox(),o=i.height,a=i.width,s=this.get("renderer"),u=Tr('<div id="virtual-image"></div>'),c=document.querySelector(".g6-graph-watermarker"),l=n?n.backgroundColor:void 0,f=n?n.padding:void 0;f?Object(v.isNumber)(f)&&(f=[f,f,f,f]):f=[0,0,0,0];var h=o+f[0]+f[2],d=a+f[1]+f[3];if(c){var p=this.get("graphWaterMarker").cfg||{},g=p.width,y=p.height;h=Math.ceil(h/y)*y,d=Math.ceil(d/g)*g}var m,b,x={container:u,height:h,width:d},w="svg"===s?new jr.Canvas(x):new Cr.Canvas(x),_=this.get("group"),E=(b=(m=_).clone(),Qr(m,b),b),S=Object(v.clone)(E.getMatrix());S||(S=[1,0,0,0,1,0,0,0,1]);var M=(i.maxX+i.minX)/2,O=(i.maxY+i.minY)/2;S=Ri(S,[["t",-M,-O],["t",a/2+f[3],o/2+f[0]]]),E.resetMatrix(),E.setMatrix(S),w.add(E);var k=w.get("el");e||(e="image/png"),this.asyncToDataUrl(e,l,(function(n){var i=document.createElement("a"),o=(t||"graph")+("svg"===s?".svg":".".concat(e.split("/")[1]));r.dataURLToImage(n,s,i,o);var a=document.createEvent("MouseEvents");a.initEvent("click",!1,!1),i.dispatchEvent(a)}),d,h,k)},e.prototype.downloadImage=function(t,e,n){var r=this;this.stopAnimate();var i=this.get("canvas").getRenderer();e||(e="image/png");var o=(t||"graph")+("svg"===i?".svg":".".concat(e.split("/")[1])),a=document.createElement("a");this.asyncToDataUrl(e,n,(function(t){r.dataURLToImage(t,i,a,o);var e=document.createEvent("MouseEvents");e.initEvent("click",!1,!1),a.dispatchEvent(e)}))},e.prototype.dataURLToImage=function(t,e,n,r){if(t&&"data:"!==t){if("undefined"!=typeof window)if(window.Blob&&window.URL&&"svg"!==e){var i=t.split(","),o="";if(i&&i.length>0){var a=i[0].match(/:(.*?);/);a&&a.length>=2&&(o=a[1])}for(var s=atob(i[1]),u=s.length,c=new Uint8Array(u);u--;)c[u]=s.charCodeAt(u);var l=new Blob([c],{type:o});window.navigator.msSaveBlob?window.navigator.msSaveBlob(l,r):n.addEventListener("click",(function(){n.download=r,n.href=window.URL.createObjectURL(l)}))}else n.addEventListener("click",(function(){n.download=r,n.href=t}))}else console.error("Download image failed. The graph is too large or there is invalid attribute values in graph items")},e.prototype.addPlugin=function(t){t.destroyed||(this.get("plugins").push(t),t.initPlugin(this))},e.prototype.removePlugin=function(t){var e=this.get("plugins"),n=e.indexOf(t);n>=0&&(t.destroyPlugin(),e.splice(n,1))},e.prototype.setImageWaterMarker=function(t,e){void 0===t&&(t=Kr.waterMarkerImage);var n=this.get("container");Object(v.isString)(n)&&(n=document.getElementById(n)),n.style.position||(n.style.position="relative");var r=this.get("graphWaterMarker"),i=Object(v.deepMix)({},Kr.imageWaterMarkerConfig,e),o=i.width,a=i.height,s=i.compatible,u=i.image;if(!t){var c=s?n:document.querySelector(".g6-graph-watermarker");return c&&(c.style.cssText=void 0),void(r&&r.clear())}if(r)r.clear();else{var l={container:n,width:o,height:a,capture:!1},f=this.get("pixelRatio");f&&(l.pixelRatio=f,window.devicePixelRatio=f),r=new Cr.Canvas(l),this.set("graphWaterMarker",r)}r.get("el").style.display="none";var h=r.get("context"),d=u.rotate,p=u.x,g=u.y;h.rotate(-d*Math.PI/180);var y=new Image;y.crossOrigin="anonymous",y.src=t,y.onload=function(){if(h.drawImage(y,p,g,u.width,u.height),h.rotate(d*Math.PI/180),s)n.style.cssText="background-image: url(".concat(r.get("el").toDataURL("image/png"),");background-repeat:repeat;");else{var t=document.querySelector(".g6-graph-watermarker");t||((t=document.createElement("div")).className="g6-graph-watermarker"),t.className="g6-graph-watermarker",r.destroyed||(t.style.cssText="background-image: url(".concat(r.get("el").toDataURL("image/png"),");background-repeat:repeat;position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none;z-index:-1;"),n.appendChild(t))}}},e.prototype.setTextWaterMarker=function(t,e){var n=this.get("container");Object(v.isString)(n)&&(n=document.getElementById(n)),n.style.position||(n.style.position="relative");var r=this.get("graphWaterMarker"),i=Object(v.deepMix)({},Kr.textWaterMarkerConfig,e),o=i.width,a=i.height,s=i.compatible,u=i.text;if(!(null==t?void 0:t.length)){var c=s?n:document.querySelector(".g6-graph-watermarker");return c&&(c.style.cssText=void 0),void(r&&r.clear())}if(r)r.clear();else{var l={container:n,width:o,height:a,capture:!1},f=this.get("pixelRatio");f&&(l.pixelRatio=f,window.devicePixelRatio=f),r=new Cr.Canvas(l),this.set("graphWaterMarker",r)}r.get("el").style.display="none";var h=r.get("context"),d=u.rotate,p=u.fill,g=u.fontFamily,y=u.fontSize,m=u.baseline,b=u.x,x=u.y,w=u.lineHeight;h.rotate(-d*Math.PI/180),h.font="".concat(y,"px ").concat(g),h.fillStyle=p,h.textBaseline=m;for(var _=Object(v.isString)(t)?[t]:t,E=_.length-1;E>=0;E--)h.fillText(_[E],b,x+E*w);if(h.rotate(d*Math.PI/180),s)n.style.cssText="background-image: url(".concat(r.get("el").toDataURL("image/png"),");background-repeat:repeat;");else{var S=document.querySelector(".g6-graph-watermarker");S||((S=document.createElement("div")).className="g6-graph-watermarker"),S.style.cssText="background-image: url(".concat(r.get("el").toDataURL("image/png"),");background-repeat:repeat;position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none;z-index:99;"),n.appendChild(S)}},e.prototype.destroy=function(){var e,n,r,i;Object(v.each)(this.get("plugins"),(function(t){t.destroyPlugin()}));var o=this.get("tooltips");if(o)for(var a=0;a<o.length;a++){var s=o[a];if(s){var u=s.parentElement;u&&u.removeChild(s)}}null===(e=this.get("eventController"))||void 0===e||e.destroy(),null===(n=this.get("layoutController"))||void 0===n||n.destroy(),null===(r=this.get("graphWaterMarker"))||void 0===r||r.destroy(),null===(i=document.querySelector(".g6-graph-watermarker"))||void 0===i||i.remove(),t.prototype.destroy.call(this)},e}(Qn);function Fi(t){return(Fi="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function zi(t){try{return structuredClone(t)}catch(e){return function t(e,n){if(void 0===n&&(n=new WeakMap),null===e)return e;if(e instanceof Date)return new Date(e);if(e instanceof RegExp)return new RegExp(e);if("object"!==Fi(e))return e;if(n.get(e))return n.get(e);var r=Array.isArray(e)?[]:{};for(var i in n.set(e,r),e)e.hasOwnProperty(i)&&void 0!==e[i]&&(r[i]=t(e[i],n));return r}(t)}}var Gi,Yi=pi.radialLayout,Ui=pi.traverseTree,Xi=function(t){function e(e){var n=t.call(this,e)||this;return n.layoutAnimating=!1,n.set("removeList",[]),n.set("layoutMethod",n.getLayout()),n}return Object(g.__extends)(e,t),e.prototype.getLayout=function(){var t=this.get("layout");return t?"function"==typeof t?t:(t.type||(t.type="dendrogram"),t.direction||(t.direction="indented"===t.type?"LR":"TB"),t.radial?function(e){var n=ri.a[t.type](e,t);return Yi(n),n}:function(e){return ri.a[t.type](e,t)}):null},e.indexOfChild=function(t,e){var n=-1;return Object(v.each)(t,(function(t,r){if(e===t.id)return n=r,!1})),n},e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return e.animate=!0,e},e.prototype.innerAddChild=function(t,e,n){var r=this,i=t.data;i&&(i.x=t.x,i.y=t.y,i.depth=t.depth);var o=r.addItem("node",i,!1);if(e){if(o.set("parent",e),n){var a=e.get("originAttrs");if(a)o.set("originAttrs",a);else{var s=e.getModel();o.set("originAttrs",{x:s.x,y:s.y})}}var u=e.get("children");u?u.push(o):e.set("children",[o]),r.addItem("edge",{source:e.get("id"),target:o.get("id"),id:"".concat(e.get("id"),":").concat(o.get("id"))},!1)}return Object(v.each)(t.children||[],(function(t){r.innerAddChild(t,o,n)})),r.emit("afteraddchild",{item:o,parent:e}),o},e.prototype.innerUpdateChild=function(t,n,r){var i=this,o=i.findById(t.id);if(o){Object(v.each)(t.children||[],(function(t){i.innerUpdateChild(t,o,r)}));var a,s,u=o.get("children");if(u)if(u.length>0)for(var c=u.length-1;c>=0;c--){var l=u[c].getModel();-1===e.indexOfChild(t.children||[],l.id)&&(i.innerRemoveChild(l.id,{x:t.x,y:t.y},r),u.splice(c,1))}o.get("originAttrs")&&(a=o.get("originAttrs").x,s=o.get("originAttrs").y);var f=o.getModel();r&&o.set("originAttrs",{x:f.x,y:f.y}),o.set("model",Object.assign(f,t.data)),a===t.x&&s===t.y||o.updatePosition({x:t.x,y:t.y})}else i.innerAddChild(t,n,r)},e.prototype.innerRemoveChild=function(t,e,n){var r=this,i=r.findById(t);if(i)if(Object(v.each)(i.get("children"),(function(t){r.innerRemoveChild(t.getModel().id,e,n)})),n){var o=i.getModel();i.set("to",e),i.set("originAttrs",{x:o.x,y:o.y}),r.get("removeList").push(i)}else r.removeItem(i,!1)},e.prototype.changeData=function(t,e){void 0===e&&(e=!0);var n=this;this.getNodes().map((function(t){return n.clearItemStates(t)})),this.getEdges().map((function(t){return n.clearItemStates(t)})),e&&this.get("enabledStack")&&this.pushStack("changedata",{before:n.get("originData"),after:t||n.get("data")}),t?(n.data(t),n.render(!1)):n.layout(this.get("fitView"))},e.prototype.changeLayout=function(t){console.warn("Please call updateLayout instead of changeLayout. changeLayout will be discarded soon");this.updateLayout(t)},e.prototype.updateLayout=function(t,e,n,r){void 0===r&&(r=!0);if(t){if(r&&this.get("enabledStack")&&this.pushStack("layout",{before:this.get("layout"),after:t}),this.set("layout",t),this.set("layoutMethod",this.getLayout()),this.layout(),e){var i=n;i||(i="begin"===e?{x:0,y:0}:{x:this.getWidth()/2,y:this.getHeight()/2}),i=this.getPointByCanvas(i.x,i.y);var o=this.getGroup().getMatrix()||[1,0,0,0,1,0,0,0,1];i.x=i.x*o[0]+o[6],i.y=i.y*o[0]+o[7];var a=this.getGroup().getCanvasBBox(),s=a.minX,u=a.maxX,c=a.minY,l={x:(s+u)/2,y:(c+a.maxY)/2};"begin"===e&&(l.x=s,l.y=c),this.translate(i.x-l.x,i.y-l.y)}}else console.warn("layout cannot be null")},e.prototype.refreshLayout=function(t){console.warn("Please call layout instead of refreshLayout. refreshLayout will be discarded soon");this.layout(t)},e.prototype.layout=function(t){var e=this,n=this.get("data"),r=this.get("layoutMethod"),i=this.get("layout"),o=n;if(null==i?void 0:i.excludeInvisibles){n=Object(v.clone)(this.get("data"));var a={};Ui(n,(function(t){var n=t.children;if(!(null==n?void 0:n.length))return!0;for(var r=n.length-1;r>=0;r--){var i=e.findById(n[r].id);(i?!i.isVisible():!1===n[r].visible)&&(a[t.id]=a[t.id]||[],a[t.id].push({idx:r,child:n.splice(r,1)[0]}))}})),o=r?r(n,this.get("layout")):n,Ui(o,(function(t){var e=a[t.id];if(null==e?void 0:e.length)for(var n=e.length-1;n>=0;n--){var r=e[n],i=r.idx,o=r.child;t.children.splice(i,0,o)}}))}else o=r?r(n,this.get("layout")):n;var s=this.get("animate");(this.emit("beforerefreshlayout",{data:n,layoutData:o}),this.emit("beforelayout"),this.innerUpdateChild(o,void 0,s),t)&&this.get("viewController").fitView();s?this.layoutAnimate(o):(this.refresh(),this.paint()),this.emit("afterrefreshlayout",{data:n,layoutData:o}),this.emit("afterlayout")},e.prototype.addChild=function(t,e,n){void 0===n&&(n=!0);this.emit("beforeaddchild",{model:t,parent:e}),Object(v.isString)(e)||(e=e.get("id"));var r=this.findDataById(e);r&&(r.children||(r.children=[]),r.children.push(t),this.findById(e).refresh(),this.changeData(void 0,n))},e.prototype.updateChildren=function(t,e,n){void 0===n&&(n=!0);var r=this.findById(e);e&&r?(this.findDataById(e).children=t,r.refresh(),this.changeData(void 0,n)):console.warn("Update children failed! There is no node with id '".concat(e,"'"))},e.prototype.updateChild=function(t,n,r){void 0===r&&(r=!0);if(n&&this.findById(n)){var i=this.findDataById(n),o=this.findById(t.id);if(i.children||(i.children=[]),o){var a=e.indexOfChild(i.children,t.id);a>-1&&(i.children[a]=t)}else i.children.push(t);var s=this.findById(n);null==s||s.refresh(),this.changeData(void 0,r)}else this.changeData(t,r)},e.prototype.removeChild=function(t,n){void 0===n&&(n=!0);var r,i=this.findById(t);if((r=i?null==i?void 0:i.get("parent"):this.getNodes().find((function(e){return!!(e.getModel().children||[]).find((function(e){return e.id===t}))})))&&!r.destroyed){var o=r.get("id"),a=this.findDataById(o),s=a&&a.children||[],u=e.indexOfChild(s,t);s.splice(u,1),r.refresh()}this.changeData(void 0,n)},e.prototype.findDataById=function(t,e){var n=this;if(e||(e=n.get("data")),t===e.id)return e;var r=null;return Object(v.each)(e.children||[],(function(e){return e.id===t?(r=e,!1):!(r=n.findDataById(t,e))&&void 0})),r},e.prototype.layoutAnimate=function(t,e){var n=this,r=this.get("animateCfg");n.emit("beforeanimate",{data:t}),n.getEdges().forEach((function(t){var e=t.get("model");e.sourceAnchor||(e.sourceAnchor=t.get("sourceAnchorIndex"))})),this.get("canvas").animate((function(r){Ui(t,(function(i){var o=n.findById(i.id);if(o){var a=o.get("originAttrs"),s=o.get("model");if(a||(a={x:s.x,y:s.y},o.set("originAttrs",a)),e){var u=e(o,r,a,t);o.set("model",Object.assign(s,u))}else s.x=a.x+(i.x-a.x)*r,s.y=a.y+(i.y-a.y)*r}return!0})),Object(v.each)(n.get("removeList"),(function(t){var e=t.getModel(),n=t.get("originAttrs"),i=t.get("to");e.x=n.x+(i.x-n.x)*r,e.y=n.y+(i.y-n.y)*r})),n.refreshPositions()}),{duration:r.duration,easing:r.ease,callback:function(){Object(v.each)(n.getNodes(),(function(t){t.set("originAttrs",null)})),Object(v.each)(n.get("removeList"),(function(t){n.removeItem(t,!1)})),n.set("removeList",[]),r.callback&&r.callback(),n.emit("afteranimate",{data:t})},delay:r.delay})},e.prototype.stopLayoutAnimate=function(){this.get("canvas").stopAnimate(),this.emit("layoutanimateend",{data:this.get("data")}),this.layoutAnimating=!1},e.prototype.isLayoutAnimating=function(){return this.layoutAnimating},e.prototype.render=function(t){void 0===t&&(t=!0);var e=this.get("data");if(!e||!Object(v.isObject)(e)||!Object.keys(e).length)throw new Error("data must be defined first");this.clear(),t&&this.get("enabledStack")&&this.clearStack(),this.emit("beforerender"),this.layout(this.get("fitView")),this.emit("afterrender")},e.prototype.save=function(){return this.get("data")},e.prototype.data=function(e){t.prototype.data.call(this,e),this.set("originData",zi(e))},e}(Bi),Wi=function(){function t(t){this._cfgs=Object(v.deepMix)(this.getDefaultCfgs(),t),this._events={},this.destroyed=!1}return t.prototype.getDefaultCfgs=function(){return{}},t.prototype.initPlugin=function(t){var e=this;e.set("graph",t);var n=e.getEvents(),r={};Object(v.each)(n,(function(n,i){var o=Object(v.wrapBehavior)(e,n);r[i]=o,t.on(i,o)})),this._events=r,this.init()},t.prototype.getEvents=function(){return{}},t.prototype.get=function(t){var e;return null===(e=this._cfgs)||void 0===e?void 0:e[t]},t.prototype.set=function(t,e){this._cfgs[t]=e},t.prototype.destroy=function(){},t.prototype.destroyPlugin=function(){this.destroy();var t=this.get("graph"),e=this._events;Object(v.each)(e,(function(e,n){t.off(n,e)})),this._events=null,this._cfgs=null,this.destroyed=!0},t}(),Vi=(Gi=function(t,e){return(Gi=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}Gi(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),Hi="url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHBhdHRlcm4gaWQ9ImdyaWQiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgcGF0dGVyblVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHBhdGggZD0iTSAwIDEwIEwgNDAgMTAgTSAxMCAwIEwgMTAgNDAgTSAwIDIwIEwgNDAgMjAgTSAyMCAwIEwgMjAgNDAgTSAwIDMwIEwgNDAgMzAgTSAzMCAwIEwgMzAgNDAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2UwZTBlMCIgb3BhY2l0eT0iMC4yIiBzdHJva2Utd2lkdGg9IjEiLz48cGF0aCBkPSJNIDQwIDAgTCAwIDAgMCA0MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZTBlMGUwIiBzdHJva2Utd2lkdGg9IjEiLz48L3BhdHRlcm4+PC9kZWZzPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JpZCkiLz48L3N2Zz4=)",qi=function(t){function e(e){return t.call(this,e)||this}return Vi(e,t),e.prototype.getDefaultCfgs=function(){return{img:Hi,follow:!0}},e.prototype.init=function(){var t=this.get("graph"),e=t.get("container"),n=t.get("canvas").get("el"),r=this.get("img")||Hi;r.includes("url(")||(r='url("'.concat(r,'")'));var i=Tr("<div class='g6-grid-container' style=\"position:absolute;overflow:hidden;z-index: -1;\"></div>"),o=Tr("<div\n class='g6-grid'\n style='position:absolute;\n background-image: ".concat(r,";\n user-select: none\n '></div>"));this.set("container",i),this.set("gridContainer",o),this.positionInit(),i.appendChild(o),e.insertBefore(i,n)},e.prototype.positionInit=function(){var t=this.get("graph"),e=t.get("minZoom"),n=t.get("width"),r=t.get("height");Nr(this.get("container"),{width:"".concat(n,"px"),height:"".concat(r,"px")});var i=80*n/e,o=80*r/e;Nr(this.get("gridContainer"),{width:"".concat(i,"px"),height:"".concat(o,"px"),left:"-".concat(i/2,"px"),top:"-".concat(o/2,"px")})},e.prototype.getEvents=function(){return{viewportchange:"updateGrid"}},e.prototype.updateGrid=function(t){var e=this.get("gridContainer"),n=t.matrix;n||(n=[1,0,0,0,1,0,0,0,1]);var r=this.get("follow");Nr(e,{transform:"matrix(".concat(n[0],", ").concat(n[1],", ").concat(n[3],", ").concat(n[4],", ").concat(r?n[6]:"0",", ").concat(r?n[7]:"0",")")})},e.prototype.getContainer=function(){return this.get("container")},e.prototype.destroy=function(){var t=this.get("graph").get("container"),e=this.get("container");t.removeChild(e)},e}(Wi),Zi=n(30),Ki=n.n(Zi),Qi=function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();"undefined"!=typeof document&&Ki()("\n .g6-component-contextmenu {\n border: 1px solid #e2e2e2;\n border-radius: 4px;\n font-size: 12px;\n color: #545454;\n background-color: rgba(255, 255, 255, 0.9);\n padding: 10px 8px;\n box-shadow: rgb(174, 174, 174) 0px 0px 10px;\n }\n .g6-contextmenu-ul {\n padding: 0;\n margin: 0;\n list-style: none;\n }\n\n");var $i=function(t){function e(e){return t.call(this,e)||this}return Qi(e,t),e.prototype.getDefaultCfgs=function(){return{offsetX:6,offsetY:6,handleMenuClick:void 0,getContent:function(t){return"\n <ul class='g6-contextmenu-ul'>\n <li>菜单项1</li>\n <li>菜单项2</li>\n </ul>\n "},shouldBegin:function(t){return!0},onHide:function(){return!0},itemTypes:["node","edge","combo"],trigger:"contextmenu"}},e.prototype.getEvents=function(){return"click"===this.get("trigger")?{click:"onMenuShow",touchend:"onMenuShow"}:{contextmenu:"onMenuShow"}},e.prototype.init=function(){var t=this.get("className"),e=Tr("<div class=".concat(t||"g6-component-contextmenu","></div>"));Nr(e,{top:"0px",position:"absolute",visibility:"hidden"});var n=this.get("container");n||(n=this.get("graph").get("container")),Object(v.isString)(n)&&(n=document.getElementById(n)),n.appendChild(e),this.set("menu",e)},e.prototype.onMenuShow=function(t){var e=this;t.preventDefault();var n=this.get("itemTypes");if(t.item){if(t.item&&t.item.getType&&-1===n.indexOf(t.item.getType()))return void e.onMenuHide()}else if(-1===n.indexOf("canvas"))return void e.onMenuHide();if(this.get("shouldBegin")(t)){var r=this.get("menu"),i=this.get("getContent"),o=this.get("graph"),a=i(t,o);Object(v.isString)(a)?r.innerHTML=a:r.innerHTML=a.outerHTML,this.removeMenuEventListener();var s=this.get("handleMenuClick");if(s){var u=function(e){s(e.target,t.item,o)};this.set("handleMenuClickWrapper",u),r.addEventListener("click",u)}var c=o.get("width"),l=o.get("height"),f=r.getBoundingClientRect(),h=this.get("offsetX")||0,d=this.get("offsetY")||0,p=o.getContainer().offsetTop,g=o.getContainer().offsetLeft,y=t.canvasX+g+h,m=t.canvasY+p+d;y+f.width>c&&(y=t.canvasX-f.width-h+g),m+f.height>l&&(m=t.canvasY-f.height-d+p),m<0&&(m=0),Nr(r,{top:"".concat(m,"px"),left:"".concat(y,"px"),visibility:"visible"});var b="click"===this.get("trigger"),x=function(t){b?b=!1:e.onMenuHide()};document.body.addEventListener("click",x),this.set("handler",x)}},e.prototype.removeMenuEventListener=function(){var t=this.get("handleMenuClickWrapper"),e=this.get("handler");t&&(this.get("menu").removeEventListener("click",t),this.set("handleMenuClickWrapper",null));e&&document.body.removeEventListener("click",e)},e.prototype.onMenuHide=function(){var t=this.get("menu");t&&Nr(t,{visibility:"hidden"}),this.removeMenuEventListener()},e.prototype.destroy=function(){var t=this.get("menu");if(this.removeMenuEventListener(),t){var e=this.get("container");e||(e=this.get("graph").get("container")),Object(v.isString)(e)&&(e=document.getElementById(e)),e.removeChild(t)}},e}(Wi),Ji=function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),to=function(){return(to=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)},eo=Math.max,no=w.a.transform,ro=function(t){function e(e){var n=t.call(this,e)||this;return n.handleUpdateCanvas=Object(v.debounce)((function(t){var e=n;e.destroyed||e.updateCanvas()}),100,!1),n}return Ji(e,t),e.prototype.getDefaultCfgs=function(){return{container:null,className:"g6-minimap",viewportClassName:"g6-minimap-viewport",type:"default",padding:50,size:[200,120],delegateStyle:{fill:"#40a9ff",stroke:"#096dd9"},refresh:!0,hideEdge:!1}},e.prototype.getEvents=function(){return{beforepaint:"updateViewport",beforeanimate:"disableRefresh",afteranimate:"enableRefresh",viewportchange:"disableOneRefresh"}},e.prototype.disableRefresh=function(){this.set("refresh",!1)},e.prototype.enableRefresh=function(){this.set("refresh",!0),this.updateCanvas()},e.prototype.disableOneRefresh=function(){this.set("viewportChange",!0)},e.prototype.initViewport=function(){var t=this,e=this._cfgs,n=e.size,r=e.graph;if(!this.destroyed){var i=this.get("canvas").get("container"),o=navigator.userAgent.toLowerCase().indexOf("firefox")>-1,a=navigator.userAgent.toLowerCase().indexOf("safari")>-1,s=Tr("\n <div\n class=".concat(e.viewportClassName,"\n style='position:absolute;\n left:0;\n top:0;\n box-sizing:border-box;\n outline: 2px solid #1980ff;\n cursor:move'\n draggable=").concat(!a&&!o,"\n </div>")),u=0,c=0,l=!1,f=0,h=0,d=0,p=0,g=0,y=0,m=a||o?"mousedown":"dragstart";s.addEventListener(m,(function(i){var o,a;if(i.dataTransfer){var v=new Image;v.src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' %3E%3Cpath /%3E%3C/svg%3E",null===(a=(o=i.dataTransfer).setDragImage)||void 0===a||a.call(o,v,0,0);try{i.dataTransfer.setData("text/html","view-port-minimap")}catch(t){i.dataTransfer.setData("text","view-port-minimap")}}if(e.refresh=!1,i.target===s){var m=s.style;f=parseInt(m.left,10),h=parseInt(m.top,10),d=parseInt(m.width,10),p=parseInt(m.height,10),d>n[0]||p>n[1]||(y=r.getZoom(),g=t.get("ratio"),l=!0,u=i.clientX,c=i.clientY)}}),!1);var b=function(t){if(l&&!Object(v.isNil)(t.clientX)&&!Object(v.isNil)(t.clientY)){var e=u-t.clientX,i=c-t.clientY;(f-e<0||f-e+d>=n[0])&&(e=0),(h-i<0||h-i+p>=n[1])&&(i=0),h-=i,Nr(s,{left:"".concat(f-=e,"px"),top:"".concat(h,"px")}),r.translate(e*y/g,i*y/g),u=t.clientX,c=t.clientY}};a||o||s.addEventListener("drag",b,!1);var x=function(){l=!1,e.refresh=!0},w=a||o?"mouseup":"dragend";s.addEventListener(w,x,!1),i.addEventListener("mouseleave",x),i.addEventListener("mouseup",x),(a||o)&&i.addEventListener("mousemove",b,!1),this.set("viewport",s),i.appendChild(s)}},e.prototype.updateViewport=function(){if(!this.destroyed){var t=this.get("ratio"),e=this.get("totaldx"),n=this.get("totaldy"),r=this.get("graph"),i=this.get("size"),o=r.get("canvas").get("el"),a=r.get("width")||o.scrollWidth||500,s=r.get("height")||o.scrollHeight||500,u=r.getPointByCanvas(0,0),c=r.getPointByCanvas(a,s),l=this.get("viewport");l||this.initViewport();var f=(c.x-u.x)*t,h=(c.y-u.y)*t,d=u.x*t+e,p=u.y*t+n,g=d+f,v=p+h;d<0&&(f+=d,d=0),g>i[0]&&(f-=g-i[0]),p<0&&(h+=p,p=0),v>i[1]&&(h-=v-i[1]),this.set("ratio",t),Nr(l,{left:"".concat(d,"px"),top:"".concat(p,"px"),width:"".concat(f,"px"),height:"".concat(h,"px")})}},e.prototype.updateGraphShapes=function(){var t,e=this._cfgs.graph,n=this.get("canvas"),r=e.get("group");r.destroyed||(n.clear(),this.get("hideEdge")?(t=n.addGroup(),r.get("children").forEach((function(e){e.get("id").includes("-edge")||t.add(e.clone())}))):((t=r.clone()).resetMatrix(),n.add(t)),"svg"===e.get("renderer")&&this.updateVisible(t))},e.prototype.updateVisible=function(t){var e=this;if(t.isGroup()||t.get("visible")){var n=t.get("children");if(!n||!n.length)return;n.forEach((function(t){t.get("visible")||t.hide(),e.updateVisible(t)}))}else t.hide()},e.prototype.updateKeyShapes=function(){var t=this,e=this._cfgs.graph,n=this.get("canvas"),r=n.get("children")[0]||n.addGroup();this.get("hideEdge")||Object(v.each)(e.getEdges(),(function(e){t.updateOneEdgeKeyShape(e,r)})),Object(v.each)(e.getNodes(),(function(e){t.updateOneNodeKeyShape(e,r)}));var i=e.getCombos();if(i&&i.length){var o=r.find((function(t){return"comboGroup"===t.get("name")}))||r.addGroup({name:"comboGroup"});setTimeout((function(){t.destroyed||(Object(v.each)(i,(function(e){t.updateOneComboKeyShape(e,o)})),null==o||o.sort(),null==o||o.toBack(),t.updateCanvas())}),250)}this.clearDestroyedShapes()},e.prototype.updateOneComboKeyShape=function(t,e){if(!this.destroyed){var n=this.get("itemMap")||{},r=n[t.get("id")],i=t.getBBox(),o=t.get("keyShape").clone(),a=o.attr(),s={x:i.centerX,y:i.centerY};r?s=Object.assign(a,s):(r=o,e.add(r));var u=r.get("type");"rect"!==u&&"image"!==u||(s.x=i.minX,s.y=i.minY),r.attr(s),t.isVisible()?r.show():r.hide(),r.exist=!0;var c=t.getModel().depth;isNaN(c)||r.set("zIndex",c),n[t.get("id")]=r,this.set("itemMap",n)}},e.prototype.updateOneNodeKeyShape=function(t,e){var n=this.get("itemMap")||{},r=n[t.get("id")],i=t.getBBox(),o=t.get("keyShape").clone(),a=o.attr(),s={x:i.centerX,y:i.centerY};r?(s=Object.assign(a,s),r.toFront()):(r=o,e.add(r));var u=r.get("type");"rect"!==u&&"image"!==u||(s.x=i.minX,s.y=i.minY),r.attr(s),t.isVisible()?r.show():r.hide(),r.exist=!0;var c=t.getModel().depth;isNaN(c)||r.set("zIndex",c),n[t.get("id")]=r,this.set("itemMap",n)},e.prototype.updateDelegateShapes=function(){var t=this,e=this._cfgs.graph,n=this.get("canvas"),r=n.get("children")[0]||n.addGroup();this.get("hideEdge")||Object(v.each)(e.getEdges(),(function(e){t.updateOneEdgeKeyShape(e,r)})),Object(v.each)(e.getNodes(),(function(e){t.updateOneNodeDelegateShape(e,r)}));var i=e.getCombos();if(i&&i.length){var o=r.find((function(t){return"comboGroup"===t.get("name")}))||r.addGroup({name:"comboGroup"});setTimeout((function(){t.destroyed||(Object(v.each)(i,(function(e){t.updateOneComboKeyShape(e,o)})),null==o||o.sort(),null==o||o.toBack(),t.updateCanvas())}),250)}this.clearDestroyedShapes()},e.prototype.clearDestroyedShapes=function(){var t=this.get("itemMap")||{},e=Object.keys(t);if(e&&0!==e.length)for(var n=e.length-1;n>=0;n--){var r=t[e[n]],i=r.exist;r.exist=!1,i||(r.remove(),delete t[e[n]])}},e.prototype.updateOneEdgeKeyShape=function(t,e){var n=this.get("itemMap")||{},r=n[t.get("id")];if(r){var i=t.get("keyShape").attr("path");r.attr("path",i)}else r=t.get("keyShape").clone(),e.add(r);t.isVisible()?r.show():r.hide(),r.exist=!0,n[t.get("id")]=r,this.set("itemMap",n)},e.prototype.updateOneNodeDelegateShape=function(t,e){var n=this.get("delegateStyle"),r=this.get("itemMap")||{},i=r[t.get("id")],o=t.getBBox();if(i){var a={x:o.minX,y:o.minY,width:o.width,height:o.height};i.attr(a),i.toFront()}else i=e.addShape("rect",{attrs:to({x:o.minX,y:o.minY,width:o.width,height:o.height},n),name:"minimap-node-shape"});t.isVisible()?i.show():i.hide(),i.exist=!0,r[t.get("id")]=i,this.set("itemMap",r)},e.prototype.init=function(){this.initContainer(),this.get("graph").on("afterupdateitem",this.handleUpdateCanvas),this.get("graph").on("afteritemstatechange",this.handleUpdateCanvas),this.get("graph").on("afteradditem",this.handleUpdateCanvas),this.get("graph").on("afterremoveitem",this.handleUpdateCanvas),this.get("graph").on("afterrender",this.handleUpdateCanvas),this.get("graph").on("afterlayout",this.handleUpdateCanvas)},e.prototype.initContainer=function(){var t=this.get("graph"),e=this.get("size"),n=this.get("className"),r=this.get("container"),i=Tr("<div class='".concat(n,"' style='width: ").concat(e[0],"px; height: ").concat(e[1],"px; overflow: hidden'></div>"));Object(v.isString)(r)&&(r=document.getElementById(r)),r?r.appendChild(i):t.get("container").appendChild(i),this.set("container",i);var o,a=Tr('<div class="g6-minimap-container" style="position: relative;"></div>');i.appendChild(a),a.addEventListener("dragenter",(function(t){t.preventDefault()})),a.addEventListener("dragover",(function(t){t.preventDefault()})),o="svg"===t.get("renderer")?new jr.Canvas({container:a,width:e[0],height:e[1]}):new Cr.Canvas({container:a,width:e[0],height:e[1]}),this.set("canvas",o),this.updateCanvas()},e.prototype.updateCanvas=function(){if(!this.destroyed&&this.get("refresh")){var t=this.get("graph");if(!t.get("destroyed")){this.get("viewportChange")&&(this.set("viewportChange",!1),this.updateViewport());var e=this.get("size"),n=this.get("canvas"),r=this.get("type"),i=this.get("padding");if(!n.destroyed){switch(r){case"default":this.updateGraphShapes();break;case"keyShape":this.updateKeyShapes();break;case"delegate":this.updateDelegateShapes()}var o=n.get("children")[0];if(o){o.resetMatrix();var a=o.getCanvasBBox(),s=t.get("canvas").getCanvasBBox(),u=t.getZoom()||1,c=s.width/u,l=s.height/u;Number.isFinite(a.width)&&(c=eo(a.width,c),l=eo(a.height,l)),c+=2*i,l+=2*i;var f=Math.min(e[0]/c,e[1]/l),h=[1,0,0,0,1,0,0,0,1],d=0,p=0;Number.isFinite(a.minX)&&(d=-a.minX),Number.isFinite(a.minY)&&(p=-a.minY);var g=(e[0]-(c-2*i)*f)/2,v=(e[1]-(l-2*i)*f)/2;h=no(h,[["t",d,p],["s",f,f],["t",g,v]]),o.setMatrix(h),this.set("ratio",f),this.set("totaldx",g+d*f),this.set("totaldy",v+p*f),this.set("dx",g),this.set("dy",v),this.updateViewport()}}}}},e.prototype.getCanvas=function(){return this.get("canvas")},e.prototype.getViewport=function(){return this.get("viewport")},e.prototype.getContainer=function(){return this.get("container")},e.prototype.destroy=function(){var t;null===(t=this.get("canvas"))||void 0===t||t.destroy();var e=this.get("container");(null==e?void 0:e.parentNode)&&e.parentNode.removeChild(e)},e}(Wi),io=function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();function oo(t,e,n){var r=t.x-e.x,i=t.y-e.y;return!n||Math.abs(r)>n||Math.abs(i)>n?Math.sqrt(r*r+i*i):n}function ao(t,e){var n=(e.source.y-e.target.y)/(e.source.x-e.target.x),r=(n*n*e.source.x+n*(t.y-e.source.y)+t.x)/(n*n+1);return{x:r,y:n*(r-e.source.x)+e.source.y}}var so=function(t){function e(e){return t.call(this,e)||this}return io(e,t),e.prototype.getDefaultCfgs=function(){return{edgeBundles:[],edgePoints:[],K:.1,lambda:.1,divisions:1,divRate:2,cycles:6,iterations:90,iterRate:.6666667,bundleThreshold:.6,eps:1e-6,onLayoutEnd:function(){},onTick:function(){}}},e.prototype.init=function(){var t=this.get("graph"),e=this.get("onTick");this.set("tick",(function(){e&&e(),t.refreshPositions()}))},e.prototype.bundling=function(t){var e=this;if(e.set("data",t),!e.isTicking()){var n=t.edges||[],r=t.nodes||[],i={},o=!1;if(r.forEach((function(t){null!==t.x&&null!==!t.y&&void 0!==t.x&&void 0!==!t.y||(o=!0),i[t.id]=t})),o)throw new Error("please layout the graph or assign x and y for nodes first");e.set("nodeIdMap",i);var a=e.get("divisions"),s=e.get("divRate"),u=e.divideEdges(a);e.set("edgePoints",u);var c=e.getEdgeBundles();e.set("edgeBundles",c);for(var l=e.get("cycles"),f=e.get("iterations"),h=e.get("iterRate"),d=e.get("lambda"),p=0;p<l;p++){for(var g=function(t){var r=[];n.forEach((function(t,n){if(t.source!==t.target){var o=i[t.source],s=i[t.target];r[n]=e.getEdgeForces({source:o,target:s},n,a,d);for(var c=0;c<a+1;c++)u[n][c].x+=r[n][c].x,u[n][c].y+=r[n][c].y}}))},v=0;v<f;v++)g();d/=2,a*=s,f*=h,u=e.divideEdges(a),e.set("edgePoints",u)}n.forEach((function(t,e){t.source!==t.target&&(t.type="polyline",t.controlPoints=u[e].slice(1,u[e].length-1))})),e.get("graph").refresh()}},e.prototype.updateBundling=function(t){var e=this,n=t.data;if(n&&e.set("data",n),e.get("ticking")&&e.set("ticking",!1),Object.keys(t).forEach((function(n){e.set(n,t[n])})),t.onTick){var r=this.get("graph");e.set("tick",(function(){t.onTick(),r.refresh()}))}e.bundling(n)},e.prototype.divideEdges=function(t){var e=this,n=e.get("data").edges,r=e.get("nodeIdMap"),i=e.get("edgePoints");return i&&void 0!==i||(i=[]),n.forEach((function(n,o){var a;i[o]&&void 0!==i[o]||(i[o]=[]);var s=r[n.source],u=r[n.target];if(1===t)i[o].push({x:s.x,y:s.y}),i[o].push({x:.5*(s.x+u.x),y:.5*(s.y+u.y)}),i[o].push({x:u.x,y:u.y});else{var c=((null===(a=i[o])||void 0===a?void 0:a.length)?e.getEdgeLength(i[o]):oo({x:s.x,y:s.y},{x:u.x,y:u.y}))/(t+1),l=c,f=[{x:s.x,y:s.y}];i[o].forEach((function(t,e){if(0!==e){for(var n=oo(t,i[o][e-1]);n>l;){var r=l/n,a={x:i[o][e-1].x,y:i[o][e-1].y};a.x+=r*(t.x-i[o][e-1].x),a.y+=r*(t.y-i[o][e-1].y),f.push(a),n-=l,l=c}l-=n}})),f.push({x:u.x,y:u.y}),i[o]=f}})),i},e.prototype.getEdgeLength=function(t){var e=0;return t.forEach((function(n,r){0!==r&&(e+=oo(n,t[r-1]))})),e},e.prototype.getEdgeBundles=function(){var t=this,e=t.get("data").edges||[],n=t.get("bundleThreshold"),r=t.get("nodeIdMap"),i=t.get("edgeBundles");return i||(i=[]),e.forEach((function(t,e){i[e]&&void 0!==i[e]||(i[e]=[])})),e.forEach((function(o,a){var s=r[o.source],u=r[o.target];e.forEach((function(e,o){if(!(o<=a)){var c=r[e.source],l=r[e.target];t.getBundleScore({source:s,target:u},{source:c,target:l})>=n&&(i[a].push(o),i[o].push(a))}}))})),i},e.prototype.getBundleScore=function(t,e){return t.vx=t.target.x-t.source.x,t.vy=t.target.y-t.source.y,e.vx=e.target.x-e.source.x,e.vy=e.target.y-e.source.y,t.length=oo({x:t.source.x,y:t.source.y},{x:t.target.x,y:t.target.y}),e.length=oo({x:e.source.x,y:e.source.y},{x:e.target.x,y:e.target.y}),this.getAngleScore(t,e)*this.getScaleScore(t,e)*this.getPositionScore(t,e)*this.getVisibilityScore(t,e)},e.prototype.getAngleScore=function(t,e){return function(t,e){return t.x*e.x+t.y*e.y}({x:t.vx,y:t.vy},{x:e.vx,y:e.vy})/(t.length*e.length)},e.prototype.getScaleScore=function(t,e){var n=(t.length+e.length)/2;return 2/(n/Math.min(t.length,e.length)+Math.max(t.length,e.length)/n)},e.prototype.getPositionScore=function(t,e){var n=(t.length+e.length)/2;return n/(n+oo({x:(t.source.x+t.target.x)/2,y:(t.source.y+t.target.y)/2},{x:(e.source.x+e.target.x)/2,y:(e.source.y+e.target.y)/2}))},e.prototype.getVisibilityScore=function(t,e){var n=this.getEdgeVisibility(t,e),r=this.getEdgeVisibility(e,t);return n<r?n:r},e.prototype.getEdgeVisibility=function(t,e){var n=ao(e.source,t),r=ao(e.target,t),i={x:(n.x+r.x)/2,y:(n.y+r.y)/2},o={x:(t.source.x+t.target.x)/2,y:(t.source.y+t.target.y)/2};return Math.max(0,1-2*oo(i,o)/oo(n,r))},e.prototype.getEdgeForces=function(t,e,n,r){for(var i=this.get("edgePoints"),o=this.get("K")/(oo(t.source,t.target)*(n+1)),a=[{x:0,y:0}],s=1;s<n;s++){var u={x:0,y:0},c=this.getSpringForce({pre:i[e][s-1],cur:i[e][s],next:i[e][s+1]},o),l=this.getElectrostaticForce(s,e);u.x=r*(c.x+l.x),u.y=r*(c.y+l.y),a.push(u)}return a.push({x:0,y:0}),a},e.prototype.getSpringForce=function(t,e){var n=t.pre.x+t.next.x-2*t.cur.x,r=t.pre.y+t.next.y-2*t.cur.y;return{x:n*=e,y:r*=e}},e.prototype.getElectrostaticForce=function(t,e){var n=this.get("eps"),r=this.get("edgeBundles"),i=this.get("edgePoints"),o=r[e],a={x:0,y:0};return o.forEach((function(r){var o={x:i[r][t].x-i[e][t].x,y:i[r][t].y-i[e][t].y};if(Math.abs(o.x)>n||Math.abs(o.y)>n){var s=1/oo(i[r][t],i[e][t]);a.x+=o.x*s,a.y+=o.y*s}})),a},e.prototype.isTicking=function(){return this.get("ticking")},e.prototype.getSimulation=function(){return this.get("forceSimulation")},e.prototype.destroy=function(){this.get("ticking")&&this.getSimulation().stop(),t.prototype.destroy.call(this)},e}(Wi),uo=function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),co=function(){return(co=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)},lo={stroke:"#000",strokeOpacity:.8,lineWidth:2,fillOpacity:.1,fill:"#ccc"},fo=function(t){function e(e){return t.call(this,e)||this}return uo(e,t),e.prototype.getDefaultCfgs=function(){return{trigger:"mousemove",d:1.5,r:300,delegateStyle:Object(v.clone)(lo),showLabel:!1,maxD:5,minD:0,scaleRBy:"unset",scaleDBy:"unset",showDPercent:!0}},e.prototype.getEvents=function(){var t;switch(this.get("trigger")){case"click":t={click:"magnify"};break;case"drag":t={click:"createDelegate"};break;default:t={mousemove:"magnify"}}return t},e.prototype.init=function(){var t=this.get("r");this.set("cachedMagnifiedModels",[]),this.set("cachedOriginPositions",{}),this.set("r2",t*t);var e=this.get("d");this.set("molecularParam",(e+1)*t)},e.prototype.createDelegate=function(t){var e=this,n=this,r=n.get("delegate");r&&!r.destroyed||(n.magnify(t),(r=n.get("delegate")).on("dragstart",(function(t){n.set("delegateCenterDiff",{x:r.attr("x")-t.x,y:r.attr("y")-t.y})})),r.on("drag",(function(t){n.magnify(t)})),"wheel"===this.get("scaleDBy")&&r.on("mousewheel",(function(t){e.scaleDByWheel(t)})),"wheel"===this.get("scaleRBy")&&r.on("mousewheel",(function(t){n.scaleRByWheel(t)})))},e.prototype.scaleRByWheel=function(t){if(t&&t.originalEvent){t.preventDefault&&t.preventDefault();var e,n=this.get("graph"),r=this.get("delegate"),i=(r?{x:r.attr("x"),y:r.attr("y")}:void 0)||n.getPointByClient(t.clientX,t.clientY);e=t.originalEvent.wheelDelta<0?.95:1/.95;var o=this.get("maxR"),a=this.get("minR"),s=this.get("r");(s>(o||n.get("height"))&&e>1||s<(a||.05*n.get("height"))&&e<1)&&(e=1),s*=e,this.set("r",s),this.set("r2",s*s);var u=this.get("d");this.set("molecularParam",(u+1)*s),this.set("delegateCenterDiff",void 0),this.magnify(t,i)}},e.prototype.scaleRByDrag=function(t){if(t){var e,n=this.get("dragPrePos"),r=this.get("graph"),i=r.getPointByClient(t.clientX,t.clientY);e=t.x-n.x<0?.95:1/.95;var o=this.get("maxR"),a=this.get("minR"),s=this.get("r");(s>(o||r.get("height"))&&e>1||s<(a||.05*r.get("height"))&&e<1)&&(e=1),s*=e,this.set("r",s),this.set("r2",s*s);var u=this.get("d");this.set("molecularParam",(u+1)*s),this.magnify(t,i),this.set("dragPrePos",{x:t.x,y:t.y})}},e.prototype.scaleDByWheel=function(t){if(t||t.originalEvent){t.preventDefault&&t.preventDefault();var e=0;e=t.originalEvent.wheelDelta<0?-.1:.1;var n=this.get("d")+e,r=this.get("maxD"),i=this.get("minD");if(n<r&&n>i){this.set("d",n);var o=this.get("r");this.set("molecularParam",(n+1)*o);var a=this.get("delegate"),s=a?{x:a.attr("x"),y:a.attr("y")}:void 0;this.set("delegateCenterDiff",void 0),this.magnify(t,s)}}},e.prototype.scaleDByDrag=function(t){var e=this.get("dragPrePos"),n=t.x-e.x>0?.1:-.1,r=this.get("d")+n,i=this.get("maxD"),o=this.get("minD");if(r<i&&r>o){this.set("d",r);var a=this.get("r");this.set("molecularParam",(r+1)*a),this.magnify(t)}this.set("dragPrePos",{x:t.x,y:t.y})},e.prototype.magnify=function(t,e){this.restoreCache();var n=this.get("graph"),r=this.get("cachedMagnifiedModels"),i=this.get("cachedOriginPositions"),o=this.get("showLabel"),a=this.get("r"),s=this.get("r2"),u=this.get("d"),c=this.get("molecularParam"),l=n.getNodes(),f=l.length,h=e?{x:e.x,y:e.y}:{x:t.x,y:t.y};!this.get("dragging")||"mousemove"!==this.get("trigger")&&"click"!==this.get("trigger")||(h=this.get("cacheCenter"));var d=this.get("delegateCenterDiff");d&&(h.x+=d.x,h.y+=d.y),this.updateDelegate(h,a);for(var p=0;p<f;p++){var g=l[p].getModel(),v=g.x,y=g.y;if(!isNaN(v)&&!isNaN(y)){var m=(v-h.x)*(v-h.x)+(y-h.y)*(y-h.y);if(!isNaN(m)&&m<s&&0!==m){var b=Math.sqrt(m),x=c*b/(u*b+a),w=(v-h.x)/b,_=(y-h.y)/b;if(g.x=w*x+h.x,g.y=_*x+h.y,i[g.id]||(i[g.id]={x:v,y:y,texts:[]}),r.push(g),o&&2*b<a)for(var E=l[p].getContainer().getChildren(),S=E.length,M=0;M<S;M++){var O=E[M];"text"===O.get("type")&&(i[g.id].texts.push({visible:O.get("visible"),shape:O}),O.set("visible",!0))}}}}n.refreshPositions()},e.prototype.restoreCache=function(){for(var t=this.get("cachedMagnifiedModels"),e=this.get("cachedOriginPositions"),n=t.length,r=0;r<n;r++){var i=t[r],o=e[i.id];i.x=o.x,i.y=o.y;for(var a=o.texts.length,s=0;s<a;s++){var u=o.texts[s];u.shape.set("visible",u.visible)}}this.set("cachedMagnifiedModels",[]),this.set("cachedOriginPositions",{})},e.prototype.updateParams=function(t){var e=t.r,n=t.d,r=t.trigger,i=t.minD,o=t.maxD,a=t.minR,s=t.maxR,u=t.scaleDBy,c=t.scaleRBy;isNaN(t.r)||(this.set("r",e),this.set("r2",e*e)),isNaN(n)||this.set("d",n),isNaN(o)||this.set("maxD",o),isNaN(i)||this.set("minD",i),isNaN(s)||this.set("maxR",s),isNaN(a)||this.set("minR",a);var l,f=this.get("d"),h=this.get("r");(this.set("molecularParam",(f+1)*h),"mousemove"!==r&&"click"!==r&&"drag"!==r||this.set("trigger",r),"drag"===u||"wheel"===u||"unset"===u)&&(this.set("scaleDBy",u),this.get("delegate").remove(),this.get("delegate").destroy(),(l=this.get("dPercentText"))&&(l.remove(),l.destroy()));"drag"!==c&&"wheel"!==c&&"unset"!==c||(this.set("scaleRBy",c),this.get("delegate").remove(),this.get("delegate").destroy(),(l=this.get("dPercentText"))&&(l.remove(),l.destroy()))},e.prototype.updateDelegate=function(t,e){var n=this,r=this,i=r.get("graph"),o=r.get("delegate");if(!o||o.destroyed){var a=i.get("group"),s=r.get("delegateStyle")||lo;o=a.addShape("circle",{attrs:co({r:e/1.5,x:t.x,y:t.y},s),name:"lens-shape",draggable:!0}),"drag"!==this.get("trigger")&&("wheel"===this.get("scaleRBy")?o.on("mousewheel",(function(t){r.scaleRByWheel(t)})):"drag"===this.get("scaleRBy")&&(o.on("dragstart",(function(t){r.set("dragging",!0),r.set("cacheCenter",{x:t.x,y:t.y}),r.set("dragPrePos",{x:t.x,y:t.y})})),o.on("drag",(function(t){r.scaleRByDrag(t)})),o.on("dragend",(function(t){r.set("dragging",!1)}))),"wheel"===this.get("scaleDBy")?o.on("mousewheel",(function(t){n.scaleDByWheel(t)})):"drag"===this.get("scaleDBy")&&(o.on("dragstart",(function(t){r.set("dragging",!0),r.set("cacheCenter",{x:t.x,y:t.y}),r.set("dragPrePos",{x:t.x,y:t.y})})),o.on("drag",(function(t){n.scaleDByDrag(t)})),o.on("dragend",(function(t){r.set("dragging",!1)}))))}else o.attr({x:t.x,y:t.y,r:e/1.5});if(r.get("showDPercent")){var u=Math.round((r.get("d")-r.get("minD"))/(r.get("maxD")-r.get("minD"))*100),c=r.get("dPercentText"),l=t.y+e/1.5+16;if(!c||c.destroyed)c=i.get("group").addShape("text",{attrs:{text:"".concat(u,"%"),x:t.x,y:l,fill:"#aaa",stroke:"#fff",lineWidth:1,fontSize:12}}),r.set("dPercentText",c);else c.attr({text:"".concat(u,"%"),x:t.x,y:l})}r.set("delegate",o)},e.prototype.clear=function(){var t=this.get("graph");this.restoreCache(),t.refreshPositions();var e=this.get("delegate");e&&!e.destroyed&&(e.remove(),e.destroy());var n=this.get("dPercentText");n&&!n.destroyed&&(n.remove(),n.destroy())},e.prototype.destroy=function(){this.clear()},e}(Wi),ho=function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();"undefined"!=typeof document&&Ki()("\n .g6-component-toolbar {\n position: absolute;\n list-style-type: none;\n padding: 6px;\n left: 0px;\n top: 0px;\n background-color: rgba(255, 255, 255, 0.9);\n border: 1px solid #e2e2e2;\n border-radius: 4px;\n font-size: 12px;\n color: #545454;\n margin: 0;\n }\n .g6-component-toolbar li {\n float: left;\n text-align: center;\n width: 35px;\n height: 24px;\n cursor: pointer;\n\t\tlist-style-type:none;\n list-style: none;\n margin-left: 0px;\n }\n .g6-component-toolbar li .icon {\n opacity: 0.7;\n }\n .g6-component-toolbar li .icon:hover {\n opacity: 1;\n }\n");var po=function(t){function e(e){return t.call(this,e)||this}return ho(e,t),e.prototype.getDefaultCfgs=function(){return{handleClick:void 0,getContent:function(t){return'\n <ul class=\'g6-component-toolbar\'>\n <li code=\'redo\'>\n <svg class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="24" height="24">\n <path d="M256 682.666667c0-102.741333 66.730667-213.333333 213.333333-213.333334 107.008 0 190.762667 56.576 230.570667 125.354667L611.968 682.666667H853.333333v-241.365334l-91.562666 91.562667C704.768 448.469333 601.130667 384 469.333333 384c-196.096 0-298.666667 150.229333-298.666666 298.666667h85.333333z" fill="" p-id="2041"></path>\n </svg>\n </li>\n <li code=\'undo\'>\n <svg class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="24" height="24">\n <path d="M170.666667 682.666667h241.365333l-87.936-87.978667C363.904 525.909333 447.658667 469.333333 554.666667 469.333333c146.602667 0 213.333333 110.592 213.333333 213.333334h85.333333c0-148.437333-102.570667-298.666667-298.666666-298.666667-131.797333 0-235.392 64.469333-292.48 148.821333L170.666667 441.301333V682.666667z" fill="" p-id="2764"></path>\n </svg>\n </li>\n <li code=\'zoomOut\'>\n <svg class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="24" height="24">\n <path d="M658.432 428.736a33.216 33.216 0 0 1-33.152 33.152H525.824v99.456a33.216 33.216 0 0 1-66.304 0V461.888H360.064a33.152 33.152 0 0 1 0-66.304H459.52V296.128a33.152 33.152 0 0 1 66.304 0V395.52H625.28c18.24 0 33.152 14.848 33.152 33.152z m299.776 521.792a43.328 43.328 0 0 1-60.864-6.912l-189.248-220.992a362.368 362.368 0 0 1-215.36 70.848 364.8 364.8 0 1 1 364.8-364.736 363.072 363.072 0 0 1-86.912 235.968l192.384 224.64a43.392 43.392 0 0 1-4.8 61.184z m-465.536-223.36a298.816 298.816 0 0 0 298.432-298.432 298.816 298.816 0 0 0-298.432-298.432A298.816 298.816 0 0 0 194.24 428.8a298.816 298.816 0 0 0 298.432 298.432z"></path>\n </svg>\n </li>\n <li code=\'zoomIn\'>\n <svg class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="24" height="24">\n <path d="M639.936 416a32 32 0 0 1-32 32h-256a32 32 0 0 1 0-64h256a32 32 0 0 1 32 32z m289.28 503.552a41.792 41.792 0 0 1-58.752-6.656l-182.656-213.248A349.76 349.76 0 0 1 480 768 352 352 0 1 1 832 416a350.4 350.4 0 0 1-83.84 227.712l185.664 216.768a41.856 41.856 0 0 1-4.608 59.072zM479.936 704c158.784 0 288-129.216 288-288S638.72 128 479.936 128a288.32 288.32 0 0 0-288 288c0 158.784 129.216 288 288 288z" p-id="3853"></path>\n </svg>\n </li>\n <li code=\'realZoom\'>\n <svg class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="24">\n <path d="M384 320v384H320V320h64z m256 0v384H576V320h64zM512 576v64H448V576h64z m0-192v64H448V384h64z m355.968 576H92.032A28.16 28.16 0 0 1 64 931.968V28.032C64 12.608 76.608 0 95.168 0h610.368L896 192v739.968a28.16 28.16 0 0 1-28.032 28.032zM704 64v128h128l-128-128z m128 192h-190.464V64H128v832h704V256z"></path>\n </svg>\n </li>\n <li code=\'autoZoom\'>\n <svg class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="24">\n <path d="M684.288 305.28l0.128-0.64-0.128-0.64V99.712c0-19.84 15.552-35.904 34.496-35.712a35.072 35.072 0 0 1 34.56 35.776v171.008h170.944c19.648 0 35.84 15.488 35.712 34.432a35.072 35.072 0 0 1-35.84 34.496h-204.16l-0.64-0.128a32.768 32.768 0 0 1-20.864-7.552c-1.344-1.024-2.816-1.664-3.968-2.816-0.384-0.32-0.512-0.768-0.832-1.088a33.472 33.472 0 0 1-9.408-22.848zM305.28 64a35.072 35.072 0 0 0-34.56 35.776v171.008H99.776A35.072 35.072 0 0 0 64 305.216c0 18.944 15.872 34.496 35.84 34.496h204.16l0.64-0.128a32.896 32.896 0 0 0 20.864-7.552c1.344-1.024 2.816-1.664 3.904-2.816 0.384-0.32 0.512-0.768 0.768-1.088a33.024 33.024 0 0 0 9.536-22.848l-0.128-0.64 0.128-0.704V99.712A35.008 35.008 0 0 0 305.216 64z m618.944 620.288h-204.16l-0.64 0.128-0.512-0.128c-7.808 0-14.72 3.2-20.48 7.68-1.28 1.024-2.752 1.664-3.84 2.752-0.384 0.32-0.512 0.768-0.832 1.088a33.664 33.664 0 0 0-9.408 22.912l0.128 0.64-0.128 0.704v204.288c0 19.712 15.552 35.904 34.496 35.712a35.072 35.072 0 0 0 34.56-35.776V753.28h170.944c19.648 0 35.84-15.488 35.712-34.432a35.072 35.072 0 0 0-35.84-34.496z m-593.92 11.52c-0.256-0.32-0.384-0.768-0.768-1.088-1.088-1.088-2.56-1.728-3.84-2.688a33.088 33.088 0 0 0-20.48-7.68l-0.512 0.064-0.64-0.128H99.84a35.072 35.072 0 0 0-35.84 34.496 35.072 35.072 0 0 0 35.712 34.432H270.72v171.008c0 19.84 15.552 35.84 34.56 35.776a35.008 35.008 0 0 0 34.432-35.712V720l-0.128-0.64 0.128-0.704a33.344 33.344 0 0 0-9.472-22.848zM512 374.144a137.92 137.92 0 1 0 0.128 275.84A137.92 137.92 0 0 0 512 374.08z"></path>\n </svg>\n </li>\n </ul>\n '},zoomSensitivity:2}},e.prototype.init=function(){var t=this,e=this.get("graph"),n=this.get("getContent")(e),r=n;Object(v.isString)(n)&&(r=Tr(n));var i=this.get("className");r.setAttribute("class",i||"g6-component-toolbar");var o=this.get("container");o||(o=this.get("graph").get("container")),Object(v.isString)(o)&&(o=document.getElementById(o)),o.appendChild(r),this.set("toolBar",r);var a=this.get("handleClick");r.addEventListener("click",(function(n){var r=function(t){if(!t)return[];if(t.composedPath)return t.composedPath();for(var e=[],n=t.target;n;){if(e.push(n),"HTML"===n.tagName)return e.push(document,window),e;n=n.parentElement}return e}(n).filter((function(t){return"LI"===t.nodeName}));if(0!==r.length){var i=r[0].getAttribute("code");i&&(a?a(i,e):t.handleDefaultOperator(i))}}));var s=this.get("position");s&&Nr(r,{top:"".concat(s.y,"px"),left:"".concat(s.x,"px")}),this.bindUndoRedo()},e.prototype.bindUndoRedo=function(){var t=this.get("graph"),e=document.querySelector('.g6-component-toolbar li[code="undo"]'),n=document.querySelector('.g6-component-toolbar li[code="undo"] svg'),r=document.querySelector('.g6-component-toolbar li[code="redo"]'),i=document.querySelector('.g6-component-toolbar li[code="redo"] svg');e&&n&&r&&i&&(e.setAttribute("style","cursor: not-allowed"),n.setAttribute("style","opacity: 0.4"),r.setAttribute("style","cursor: not-allowed"),i.setAttribute("style","opacity: 0.4"),t.on("stackchange",(function(t){var o=t.undoStack,a=t.redoStack,s=o.length,u=a.length;0===s?(e.setAttribute("style","cursor: not-allowed"),n.setAttribute("style","opacity: 0.4")):(e.removeAttribute("style"),n.removeAttribute("style")),0===u?(r.setAttribute("style","cursor: not-allowed"),i.setAttribute("style","opacity: 0.4")):(r.removeAttribute("style"),i.removeAttribute("style"))})))},e.prototype.undo=function(){var t=this.get("graph"),e=t.getUndoStack();if(e&&0!==e.length){var n=e.pop();if(n){var r=n.action;t.pushStack(r,Object(v.clone)(n.data),"redo");var i=n.data.before;if("add"===r&&(i=n.data.after),!i)return;switch(r){case"visible":Object.keys(i).forEach((function(e){var n=i[e];n&&n.forEach((function(e){var n=t.findById(e.id);e.visible?t.showItem(n,!1):t.hideItem(n,!1)}))}));break;case"render":case"update":Object.keys(i).forEach((function(e){var n=i[e];n&&n.forEach((function(e){var n=t.findById(e.id);delete e.id,t.updateItem(n,e,!1),"combo"===n.getType()&&t.updateCombo(n)}))}));break;case"changedata":t.changeData(i,!1);break;case"delete":Object.keys(i).forEach((function(e){var n=i[e];n&&n.forEach((function(e){var n=e.itemType;delete e.itemType,t.addItem(n,e,!1)}))}));break;case"add":Object.keys(i).forEach((function(e){var n=i[e];n&&n.forEach((function(e){t.removeItem(e.id,!1)}))}));break;case"updateComboTree":Object.keys(i).forEach((function(e){var n=i[e];n&&n.forEach((function(e){t.updateComboTree(e.id,e.parentId,!1)}))}));break;case"createCombo":var o=n.data.after.combos,a=o[o.length-1];Object.keys(i).forEach((function(e){var n=i[e];n&&n.forEach((function(e){t.updateComboTree(e.id,e.parentId,!1)}))})),t.removeItem(a.id,!1);break;case"uncombo":var s=i.combos[i.combos.length-1],u=i.nodes.concat(i.combos).map((function(t){return t.id})).filter((function(t){return t!==s.id}));t.createCombo(s,u,!1);break;case"layout":t.updateLayout(i,void 0,void 0,!1)}}}},e.prototype.redo=function(){var t=this.get("graph"),e=t.getRedoStack();if(e&&0!==e.length){var n=e.pop();if(n){var r=n.action,i=n.data.after;if(t.pushStack(r,Object(v.clone)(n.data)),"delete"===r&&(i=n.data.before),!i)return;switch(r){case"visible":Object.keys(i).forEach((function(e){var n=i[e];n&&n.forEach((function(e){var n=t.findById(e.id);e.visible?t.showItem(n,!1):t.hideItem(n,!1)}))}));break;case"render":case"update":Object.keys(i).forEach((function(e){var n=i[e];n&&n.forEach((function(e){var n=t.findById(e.id);delete e.id,t.updateItem(n,e,!1),"combo"===n.getType()&&t.updateCombo(n)}))}));break;case"changedata":t.changeData(i,!1);break;case"delete":i.edges&&i.edges.forEach((function(e){t.removeItem(e.id,!1)})),i.nodes&&i.nodes.forEach((function(e){t.removeItem(e.id,!1)})),i.combos&&i.combos.forEach((function(e){t.removeItem(e.id,!1)}));break;case"add":Object.keys(i).forEach((function(e){var n=i[e];n&&n.forEach((function(e){var n=e.itemType;delete e.itemType,t.addItem(n,e,!1)}))}));break;case"updateComboTree":Object.keys(i).forEach((function(e){var n=i[e];n&&n.forEach((function(e){t.updateComboTree(e.id,e.parentId,!1)}))}));break;case"createCombo":var o=i.combos[i.combos.length-1];t.createCombo(o,o.children.map((function(t){return t.id})),!1);break;case"uncombo":var a=n.data.before.combos,s=a[a.length-1];t.uncombo(s.id,!1);break;case"layout":t.updateLayout(i,void 0,void 0,!1)}}}},e.prototype.zoomOut=function(){var t=this.get("graph"),e=t.getZoom(),n=1/(1-.05*this.get("zoomSensitivity"));n*e>(this.get("maxZoom")||t.get("maxZoom"))||t.zoomTo(e*n)},e.prototype.zoomIn=function(){var t=this.get("graph"),e=t.getZoom(),n=1-.05*this.get("zoomSensitivity");n*e<(this.get("minZoom")||t.get("minZoom"))||t.zoomTo(e*n)},e.prototype.realZoom=function(){this.get("graph").zoomTo(1)},e.prototype.autoZoom=function(){this.get("graph").fitView([20,20])},e.prototype.handleDefaultOperator=function(t){switch(t){case"redo":this.redo();break;case"undo":this.undo();break;case"zoomOut":this.zoomOut();break;case"zoomIn":this.zoomIn();break;case"realZoom":this.realZoom();break;case"autoZoom":this.autoZoom()}},e.prototype.destroy=function(){var t=this.get("toolBar");if(t){var e=this.get("container");e||(e=this.get("graph").get("container")),Object(v.isString)(e)&&(e=document.getElementById(e)),e.removeChild(t)}var n=this.get("handleClick");n&&t.removeEventListener("click",n)},e}(Wi),go=function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();"undefined"!=typeof document&&Ki()("\n .g6-component-tooltip {\n border: 1px solid #e2e2e2;\n border-radius: 4px;\n font-size: 12px;\n color: #545454;\n background-color: rgba(255, 255, 255, 0.9);\n padding: 10px 8px;\n box-shadow: rgb(174, 174, 174) 0px 0px 10px;\n }\n .tooltip-type {\n padding: 0;\n margin: 0;\n }\n .tooltip-id {\n color: #531dab;\n }\n");var vo=function(t){function e(e){return t.call(this,e)||this}return go(e,t),e.prototype.getDefaultCfgs=function(){return{offsetX:6,offsetY:6,getContent:function(t){return"\n <h4 class='tooltip-type'>类型:".concat(t.item.getType(),"</h4>\n <span class='tooltip-id'>ID:").concat(t.item.getID(),"</span>\n ")},shouldBegin:function(t){return!0},itemTypes:["node","edge","combo"],trigger:"mouseenter",fixToNode:void 0}},e.prototype.getEvents=function(){return"click"===this.get("trigger")?{"node:click":"onClick","edge:click":"onClick","combo:click":"onClick","canvas:click":"onMouseLeave",afterremoveitem:"onMouseLeave",contextmenu:"onMouseLeave",drag:"onMouseLeave"}:{"node:mouseenter":"onMouseEnter","node:mouseleave":"onMouseLeave","node:mousemove":"onMouseMove","edge:mouseenter":"onMouseEnter","edge:mouseleave":"onMouseLeave","edge:mousemove":"onMouseMove","combo:mouseenter":"onMouseEnter","combo:mouseleave":"onMouseLeave","combo:mousemove":"onMouseMove",afterremoveitem:"onMouseLeave",contextmenu:"onMouseLeave","node:drag":"onMouseLeave"}},e.prototype.init=function(){var t=this,e=t.get("className")||"g6-component-tooltip",n=Tr("<div class='".concat(e,"'></div>")),r=t.get("container");r||(r=t.get("graph").get("container")),Object(v.isString)(r)&&(r=document.getElementById(r)),Nr(n,{position:"absolute",visibility:"hidden",display:"none"}),r.appendChild(n),"click"!==t.get("trigger")&&(n.addEventListener("mouseenter",(function(t){Nr(n,{visibility:"visible",display:"unset"})})),n.addEventListener("mouseleave",(function(e){t.hideTooltip()}))),t.set("tooltip",n)},e.prototype.onClick=function(t){var e=this.get("itemTypes");if(!t.item||!t.item.getType||-1!==e.indexOf(t.item.getType())){var n=t.item,r=this.get("graph");this.currentTarget===n?(this.currentTarget=null,this.hideTooltip(),r.emit("tooltipchange",{item:t.item,action:"hide"})):(this.currentTarget=n,this.showTooltip(t),r.emit("tooltipchange",{item:t.item,action:"show"}))}},e.prototype.onMouseEnter=function(t){var e=this.get("itemTypes");if(!t.item||!t.item.getType||-1!==e.indexOf(t.item.getType())){var n=t.item,r=this.get("graph");this.currentTarget=n,this.showTooltip(t),r.emit("tooltipchange",{item:t.item,action:"show"})}},e.prototype.onMouseMove=function(t){var e=this.get("itemTypes");t.item&&t.item.getType&&-1===e.indexOf(t.item.getType())||this.currentTarget&&t.item===this.currentTarget&&this.showTooltip(t)},e.prototype.onMouseLeave=function(){this.hideTooltip(),this.get("graph").emit("tooltipchange",{item:this.currentTarget,action:"hide"}),this.currentTarget=null},e.prototype.clearContainer=function(){var t=this.get("tooltip");t&&(t.innerHTML="")},e.prototype.showTooltip=function(t){if(t.item){var e=this.get("itemTypes");if(!t.item.getType||-1!==e.indexOf(t.item.getType())){var n=this.get("tooltip"),r=this.get("getContent")(t);Object(v.isString)(r)?n.innerHTML=r:(this.clearContainer(),n.appendChild(r)),this.updatePosition(t)}}},e.prototype.hideTooltip=function(){var t=this.get("tooltip");t&&Nr(t,{visibility:"hidden",display:"none"})},e.prototype.updatePosition=function(t){var e=this.get("shouldBegin"),n=this.get("tooltip");if(e(t)){var r=this.get("graph"),i=r.get("width"),o=r.get("height"),a=this.get("offsetX")||0,s=this.get("offsetY")||0,u=r.getPointByClient(t.clientX,t.clientY),c=this.get("fixToNode"),l=t.item;if(l.getType&&"node"===l.getType()&&c&&Object(v.isArray)(c)&&c.length>=2){var f=l.getBBox();u={x:f.minX+f.width*c[0],y:f.minY+f.height*c[1]}}var h=r.getCanvasByPoint(u.x,u.y),d=h.x,p=h.y,g=r.getContainer(),y={x:d+g.offsetLeft+a,y:p+g.offsetTop+s};Nr(n,{visibility:"visible",display:"unset"});var m=n.getBoundingClientRect();d+m.width+a>i&&(y.x-=m.width+a),p+m.height+s>o&&(y.y-=m.height+s,y.y<0&&(y.y=0)),Nr(n,{left:"".concat(y.x,"px"),top:"".concat(y.y,"px")})}else Nr(n,{visibility:"hidden",display:"none"})},e.prototype.hide=function(){this.onMouseLeave()},e.prototype.destroy=function(){var t=this.get("tooltip");if(t){var e=this.get("container");e||(e=this.get("graph").get("container")),Object(v.isString)(e)&&(e=document.getElementById(e)),e.removeChild(t)}},e}(Wi),yo=function(){function t(t){var e=t.x,n=void 0===e?0:e,r=t.y,i=void 0===r?0:r,o=t.container,a=t.text,s=t.padding,u=void 0===s?[4,4,4,4]:s,c=t.className,l=void 0===c?"g6-component-timebar-tooltip":c,f=t.backgroundColor,h=void 0===f?"#000":f,d=t.textColor,p=void 0===d?"#fff":d,g=t.opacity,v=void 0===g?.8:g,y=t.fontSize,m=void 0===y?12:y;this.container=o,this.className=l,this.backgroundColor=h,this.textColor=p,this.x=n,this.y=i,this.text=a,this.padding=u,this.opacity=v,this.fontSize=m,this.render()}return t.prototype.render=function(){var t=this.className,e=(this.x,this.y,this.backgroundColor),n=this.textColor,r=this.text,i=this.padding,o=this.opacity,a=this.fontSize,s=this.container,u=Tr("<div class='".concat(t,"' style=\"position: absolute; width: fit-content; height: fit-content; opacity: ").concat(o,'"></div>'));Object(v.isString)(s)&&(s=document.getElementById(s)),s.appendChild(u),this.parentHeight=s.offsetHeight,this.parentWidth=s.offsetWidth,Nr(u,{visibility:"hidden",top:0,left:0});var c=Tr("\n <div style='position: absolute; white-space:nowrap; background-color: ".concat(e,"; font-size: ").concat(a,"px; border-radius: 4px; width: fit-content; height: fit-content; color: ").concat(n,"; padding: ").concat(i[0],"px ").concat(i[1],"px ").concat(i[2],"px ").concat(i[3],"px'></div>"));c.innerHTML=r,u.appendChild(c),this.backgroundDOM=c;var l=Tr("<div style='position: absolute; width: 0px; height: 0px; border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 10px solid ".concat(e,"'></div>"));u.appendChild(l),this.arrowDOM=l,this.container=u},t.prototype.show=function(t){var e=t.text,n=t.x;t.y,t.clientX,t.clientY;this.backgroundDOM.innerHTML=e;var r=this.backgroundDOM.offsetWidth,i=this.backgroundDOM.offsetHeight,o=this.arrowDOM.offsetWidth,a=this.arrowDOM.offsetHeight;Nr(this.container,{top:"".concat(-i-a,"px"),left:"".concat(n,"px"),visibility:"visible"}),Nr(this.backgroundDOM,{marginLeft:"".concat(-r/2,"px")}),Nr(this.arrowDOM,{marginLeft:"".concat(-o/2,"px"),top:"".concat(i,"px")});var s=n-r/2,u=n+r/2;s<0?Nr(this.backgroundDOM,{marginLeft:"".concat(-r/2-s,"px")}):u>this.parentWidth&&Nr(this.backgroundDOM,{marginLeft:"".concat(-r/2-u+this.parentWidth+12,"px")})},t.prototype.hide=function(){Nr(this.container,{top:0,left:0,visibility:"hidden"})},t}(),mo=function(){return(mo=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)},bo=function(){function t(t){this.config=Object(v.deepMix)({},t),this.init()}return t.prototype.update=function(t){this.config=Object(v.deepMix)({},this.config,t),this.updateElement(),this.renderMarker()},t.prototype.init=function(){this.initElement(),this.renderMarker()},t.prototype.initElement=function(){var t=this.config,e=t.group,n=t.style,r=n.scale,i=void 0===r?1:r,o=n.offsetX,a=void 0===o?0:o,s=n.offsetY,u=void 0===s?0:s,c=this.config.x+a,l=this.config.y+u,f=e.addGroup({name:"playPauseBtn"});this.startMarkerGroup=f.addGroup({name:"playPauseBtn"}),this.circle=e.addShape("circle",{attrs:mo({x:c,y:l,r:this.config.r*i},n),name:"playPauseBtn"}),this.startMarker=this.startMarkerGroup.addShape("path",{attrs:{path:this.getStartMarkerPath(c,l,i),fill:n.stroke||"#aaa"},name:"start-marker"}),this.pauseMarkerGroup=f.addGroup({name:"playPauseBtn"});var h=.25*this.config.r*i,d=.5*this.config.r*Math.sqrt(3)*i;this.pauseLeftMarker=this.pauseMarkerGroup.addShape("rect",{attrs:{x:c-.375*this.config.r*i,y:l-d/2,width:h,height:d,fill:n.stroke||"#aaa",lineWidth:0}}),this.pauseRightMarker=this.pauseMarkerGroup.addShape("rect",{attrs:{x:c+1/8*this.config.r*i,y:l-d/2,width:h,height:d,fill:n.stroke||"#aaa",lineWidth:0}})},t.prototype.updateElement=function(){var t=this.config.style,e=t.scale,n=void 0===e?1:e,r=t.offsetX,i=void 0===r?0:r,o=t.offsetY,a=void 0===o?0:o,s=this.config.x+i,u=this.config.y+a;this.circle.attr("x",s),this.circle.attr("y",u),this.circle.attr("r",this.config.r*n),this.startMarker.attr("path",this.getStartMarkerPath(s,u,n));var c=.25*this.config.r*n,l=.5*this.config.r*Math.sqrt(3)*n;this.pauseLeftMarker.attr("x",s-.375*this.config.r*n),this.pauseLeftMarker.attr("y",u-l/2),this.pauseLeftMarker.attr("width",c),this.pauseLeftMarker.attr("height",l),this.pauseRightMarker.attr("x",s+1/8*this.config.r*n),this.pauseRightMarker.attr("y",u-l/2),this.pauseRightMarker.attr("width",c),this.pauseRightMarker.attr("height",l)},t.prototype.renderMarker=function(){this.config.isPlay?(this.startMarkerGroup.hide(),this.pauseMarkerGroup.show()):(this.startMarkerGroup.show(),this.pauseMarkerGroup.hide())},t.prototype.getStartMarkerPath=function(t,e,n){var r=.5*this.config.r*Math.sqrt(3)*n;return[["M",t-r/Math.sqrt(3)/2,e-r/2],["L",t+r/Math.sqrt(3),e],["L",t-r/Math.sqrt(3)/2,e+r/2]]},t}(),xo=function(){return(xo=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)},wo=w.a.transform,_o={fill:"#aaa",fillOpacity:.35,stroke:"#aaa"},Eo={fill:"#fff"},So={fill:"green"},Mo={pointer:{fill:"#aaa",lineWidth:0},scroller:{stroke:"#aaa",fill:"#aaa",lineWidth:1,lineAppendWidth:5,cursor:"pointer"},text:{fill:"#aaa",textBaseline:"top"}},Oo={check:{stroke:"green",lineWidth:3},box:{fill:"#fff",stroke:"#aaa",lineWidth:2,radius:3,width:12,height:12},text:{fill:"#aaa",fontSize:12,textBaseline:"top"}},ko={speed:1,loop:!1,fill:"#fff",stroke:"#fff",hideTimeTypeController:!1,preBtnStyle:{fill:"#aaa",stroke:"#aaa"},nextBtnStyle:{fill:"#aaa",stroke:"#aaa"},playBtnStyle:{fill:"#aaa",stroke:"#aaa",fillOpacity:.05},speedControllerStyle:Mo,timeTypeControllerStyle:Oo},Ao="single",Co="range",jo=function(){function t(t){this.controllerCfg=Object(v.deepMix)({},ko,t),this.group=t.group,this.controllerGroup=this.group.addGroup({name:"controller-group"}),this.speedAxisY=[],this.currentSpeed=this.controllerCfg.speed,this.currentType=this.controllerCfg.defaultTimeType||Co,this.fontFamily=t.fontFamily||"Arial, sans-serif",this.init()}return t.prototype.init=function(){this.renderPlayButton()},t.prototype.getNextMarkerPath=function(t,e,n){return[["M",t,e-n],["L",t+n,e],["L",t,e+n],["Z",t,e-n],["M",t,e],["L",t-n,e-n],["L",t-n,e+n],["Z"]]},t.prototype.getPreMarkerPath=function(t,e,n){return[["M",t,e-n],["L",t-n,e],["L",t,e+n],["L",t,e-n],["M",t,e],["L",t+n,e-n],["L",t+n,e+n],["Z"]]},t.prototype.renderPlayButton=function(){var t=this.controllerCfg,e=t.width,n=t.height,r=t.x,i=t.y,o=t.hideTimeTypeController,a=t.fill,s=void 0===a?"#aaa":a,u=t.stroke,c=void 0===u?"green":u,l=t.containerStyle,f=void 0===l?{}:l,h=xo(xo({},_o),t.playBtnStyle||{}),d=xo(xo({},Eo),t.preBtnStyle||{}),p=xo(xo({},So),t.nextBtnStyle||{}),g=n/2-5,v=i+10,y=this.controllerGroup.addShape("rect",{attrs:xo({x:r,y:v,width:e,height:n,stroke:c,fill:s},f),name:"container-rect"});this.playButton?this.playButton.update({x:e/2,y:v,r:g}):this.playButton=new bo({group:this.controllerGroup,x:e/2,y:v+g+5,r:g,isPlay:this.isPlay,style:h});var m=d.offsetX||0,b=d.offsetY||0,x=(d.scale||1)*g;this.controllerGroup.addShape("path",{attrs:xo({path:this.getPreMarkerPath(e/2-5*g+m,v+g+5+b,.5*x)},d),name:"preStepBtn"});var w=p.offsetX||0,_=p.offsetY||0,E=(p.scale||1)*g;this.controllerGroup.addShape("path",{attrs:xo({path:this.getNextMarkerPath(e/2+5*g+w,v+g+5+_,.5*E)},p),name:"nextStepBtn"}),y.toBack(),this.renderSpeedBtn(),o||this.renderToggleTime(),this.bindEvent();var S=this.controllerCfg.scale,M=void 0===S?1:S,O=this.controllerGroup.getCanvasBBox(),k=(O.maxX+O.minX)/2,A=(O.maxY+O.minY)/2,C=wo([1,0,0,0,1,0,0,0,1],[["t",-k,-A],["s",M,M],["t",k,A]]);this.controllerGroup.setMatrix(C)},t.prototype.renderSpeedBtn=function(){var t=this.controllerCfg,e=t.y,n=t.width,r=t.hideTimeTypeController,i=xo(xo({},Mo),this.controllerCfg.speedControllerStyle||{}),o=i.scroller,a=void 0===o?{}:o,s=i.text,u=void 0===s?{}:s,c=i.pointer,l=void 0===c?{}:c,f=i.scale,h=void 0===f?1:f,d=i.offsetX,p=void 0===d?0:d,g=i.offsetY,v=void 0===g?0:g,y=this.controllerGroup.addGroup({name:"speed-group"});this.speedGroup=y;var m=[],b=5;this.speedAxisY=[19,22,26,32,39];for(var x=0;x<5;x++){var w=e+this.speedAxisY[x],_=n-(r?50:110);y.addShape("line",{attrs:xo({x1:_,x2:_+15,y1:w,y2:w},a),speed:b,name:"speed-rect"}),this.speedAxisY[x]=w,m.push(b),b-=1}this.speedText=y.addShape("text",{attrs:xo({x:n-(r?50:110)+20,y:this.speedAxisY[0]+4,text:"1.0X",fontFamily:this.fontFamily||"Arial, sans-serif"},u),name:"speed-text"}),this.speedPoint=y.addShape("path",{attrs:xo({path:this.getPointerPath(n-(r?50:110),0),matrix:[1,0,0,0,1,0,0,this.speedAxisY[4],1]},l),name:"speed-pointer"});var E=this.speedGroup.getCanvasBBox(),S=(E.maxX+E.minX)/2,M=(E.maxY+E.minY)/2,O=this.speedGroup.getMatrix()||[1,0,0,0,1,0,0,0,1];O=wo(O,[["t",-S,-M],["s",h,h],["t",S+p*h,M+v*h]]),this.speedGroup.setMatrix(O)},t.prototype.getPointerPath=function(t,e){return[["M",t,e],["L",t-10,e-4],["L",t-10,e+4],["Z"]]},t.prototype.renderToggleTime=function(){var t,e,n=this.controllerCfg,r=n.width,i=n.defaultTimeType,o=xo(xo({},Oo),this.controllerCfg.timeTypeControllerStyle||{}),a=o.scale,s=void 0===a?1:a,u=o.offsetX,c=void 0===u?0:u,l=o.offsetY,f=void 0===l?0:l,h=o.box,d=void 0===h?{}:h,p=o.check,g=void 0===p?{}:p,v=o.text,y=void 0===v?{}:v;this.toggleGroup=this.controllerGroup.addGroup({name:"toggle-group"});var m=i===Ao;this.toggleGroup.addShape("rect",{attrs:xo({x:r-50,y:this.speedAxisY[0]+3.5},d),isChecked:m,name:"toggle-model"}),this.checkedIcon=this.toggleGroup.addShape("path",{attrs:xo({path:[["M",r-50+3,this.speedAxisY[1]+6],["L",r-50+7,this.speedAxisY[1]+10],["L",r-50+12,this.speedAxisY[1]+4]]},g),capture:!1,name:"check-icon"}),m||this.checkedIcon.hide(),this.checkedText=this.toggleGroup.addShape("text",{attrs:xo({text:m?(null===(t=this.controllerCfg)||void 0===t?void 0:t.timeRangeControllerText)||"时间范围":(null===(e=this.controllerCfg)||void 0===e?void 0:e.timePointControllerText)||"单一时间",x:r-50+15,y:this.speedAxisY[0]+4,fontFamily:"undefined"!=typeof window&&window.getComputedStyle(document.body,null).getPropertyValue("font-family")||"Arial, sans-serif"},y),name:"checked-text"});var b=this.toggleGroup.getCanvasBBox(),x=(b.maxX+b.minX)/2,w=(b.maxY+b.minY)/2,_=this.toggleGroup.getMatrix()||[1,0,0,0,1,0,0,0,1];_=wo(_,[["t",-x,-w],["s",s,s],["t",x+c*s,w+f*s]]),this.toggleGroup.setMatrix(_)},t.prototype.bindEvent=function(){var t=this;this.speedGroup.on("speed-rect:click",(function(e){var n=e.target.attr("y1"),r=t.speedPoint.attr("matrix"),i=t.speedAxisY.indexOf(r[7]||0),o=t.speedAxisY.indexOf(n),a=t.speedAxisY[o]-t.speedAxisY[i];r=wo(r,[["t",0,a]]),t.speedPoint.setMatrix(r),t.currentSpeed=t.speedAxisY.length-o,t.speedText.attr("text","".concat(t.currentSpeed,".0X")),t.group.emit("timebarConfigChanged",{speed:t.currentSpeed,type:t.currentType})})),this.speedGroup.on("mousewheel",(function(e){e.preventDefault();var n=t.speedPoint.attr("matrix")||[1,0,0,0,1,0,0,0,1],r=n[7],i=t.speedAxisY.indexOf(r);if(-1===i){var o=1/0;t.speedAxisY.forEach((function(t,e){var n=Math.abs(t-r);o>n&&(o=n,i=e)}))}i=e.originalEvent.deltaY>0?Math.max(0,i-1):Math.min(t.speedAxisY.length-1,i+1);var a=t.speedAxisY[i]-r;n=wo(n,[["t",0,a]]),t.speedPoint.setMatrix(n),t.currentSpeed=t.speedAxisY.length-i,t.speedText.attr("text","".concat(t.currentSpeed,".0X")),t.group.emit("timebarConfigChanged",{speed:t.currentSpeed,type:t.currentType})})),this.toggleGroup&&this.toggleGroup.on("toggle-model:click",(function(e){var n,r,i=e.target.get("isChecked");i?(t.checkedIcon.hide(),t.checkedText.attr("text",(null===(r=t.controllerCfg)||void 0===r?void 0:r.timePointControllerText)||"单一时间"),t.currentType=Co):(t.checkedIcon.show(),t.checkedText.attr("text",(null===(n=t.controllerCfg)||void 0===n?void 0:n.timeRangeControllerText)||"时间范围"),t.currentType=Ao),e.target.set("isChecked",!i),t.group.emit("timebarConfigChanged",{type:t.currentType,speed:t.currentSpeed})}))},t.prototype.destroy=function(){this.speedGroup.off("speed-rect:click"),this.toggleGroup&&(this.toggleGroup.off("toggle-model:click"),this.toggleGroup.destroy()),this.speedGroup.destroy()},t}(),Io=function(){return(Io=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)},To=w.a.transform,No={fill:"#5B8FF9"},Po={fill:"#e6e8e9"},Do=function(){function t(t){this.frameCount=0,this.fontFamily="Arial, sans-serif";var e=t.graph,n=t.canvas,r=t.group,i=t.width,o=t.height,a=t.padding,s=t.data,u=t.start,c=t.end,l=t.x,f=void 0===l?0:l,h=t.y,d=void 0===h?0:h,p=t.tickLabelFormatter,g=t.selectedTickStyle,v=void 0===g?No:g,y=t.unselectedTickStyle,m=void 0===y?Po:y,b=t.tooltipBackgroundColor,x=t.tooltipFomatter,w=t.tickLabelStyle,_=t.controllerCfg,E=void 0===_?{speed:1}:_;this.graph=e,this.group=r,this.sliceGroup=r.addGroup({name:"slice-group"}),this.canvas=n,this.width=i,this.height=o,this.padding=a,this.data=s,this.start=u,this.end=c,this.tickLabelFormatter=p,this.tickLabelStyle=w||{},this.selectedTickStyle=v,this.unselectedTickStyle=m,this.controllerCfg=E,this.currentSpeed=E.speed||1,this.x=f,this.y=d,this.tooltipBackgroundColor=b,this.tooltipFomatter=x,this.fontFamily="undefined"!=typeof window&&window.getComputedStyle(document.body,null).getPropertyValue("font-family")||"Arial, sans-serif",this.renderSlices(),this.initEvent()}return t.prototype.renderSlices=function(){var t=this,e=this,n=e.width,r=e.height,i=e.padding,o=e.data,a=e.start,s=e.end,u=e.tickLabelFormatter,c=e.selectedTickStyle,l=e.unselectedTickStyle,f=e.tickLabelStyle,h=n-2*i,d=r-(3*i+4+10)-2*i,p=o.length,g=(h-2*(p-1))/p;this.tickWidth=g;var y=this.sliceGroup,m=[],b=[],x=Math.round(p*a),w=Math.round(p*s);this.startTickRectId=x,this.endTickRectId=w;var _=f.rotate;delete f.rotate,o.forEach((function(e,r){var o=r>=x&&r<=w?c:l,a=y.addShape("rect",{attrs:Io({x:i+r*(g+2),y:i,width:g,height:d},o),draggable:!0,name:"tick-rect-".concat(r)}),s=y.addShape("rect",{attrs:{x:i+r*g+2*(2*r-1)/2,y:i,width:0===r||r===p-1?g+1:g+2,height:d,fill:"#fff",opacity:0},draggable:!0,name:"pick-rect-".concat(r)});s.toFront();var h,E=a.getBBox(),S=(E.minX+E.maxX)/2;if(m.push({rect:a,pickRect:s,value:e.date,x:S,y:E.minY}),u?(h=u(e),!Object(v.isString)(h)&&h&&(h=e.date)):r%Math.round(p/10)==0&&(h=e.date),h){b.push(h);var M=E.maxY+2*i;y.addShape("line",{attrs:{stroke:"#BFBFBF",x1:S,y1:M,x2:S,y2:M+4},name:"tick-line"});var O=M+4+i,k=y.addShape("text",{attrs:Io({fill:"#8c8c8c",stroke:"#fff",lineWidth:1,x:S,y:O,textAlign:"center",text:h,textBaseline:"top",fontSize:10,fontFamily:t.fontFamily||"Arial, sans-serif"},f),capture:!1,name:"tick-label"}),A=k.getBBox();if(A.maxX>n?k.attr("textAlign","right"):A.minX<0&&k.attr("textAlign","left"),Object(v.isNumber)(_)&&10!==b.length){var C=To([1,0,0,0,1,0,0,0,1],[["t",-S,-O],["r",_],["t",S-5,O+2]]);k.attr({textAlign:"left",matrix:C})}1===b.length?k.attr({textAlign:"left"}):10===b.length&&k.attr({textAlign:"right"})}})),this.tickRects=m;var E=this.group;this.currentSpeed=1,this.controllerBtnGroup=new jo(Io({group:E,x:this.x,y:this.y+r+5,width:n,height:40,hideTimeTypeController:!0,speed:this.currentSpeed,fontFamily:this.fontFamily||"Arial, sans-serif"},this.controllerCfg))},t.prototype.initEvent=function(){var t=this,e=this.sliceGroup;e.on("click",(function(e){var n=e.target;if("rect"===n.get("type")&&n.get("name")){var r=parseInt(n.get("name").split("-")[2],10);if(!isNaN(r)){var i=t.tickRects,o=t.unselectedTickStyle;i.forEach((function(t){t.rect.attr(o)}));var a=t.selectedTickStyle;i[r].rect.attr(a),t.startTickRectId=r,t.endTickRectId=r;var s=r/i.length;t.graph.emit("valuechange",{value:[s,s]})}}})),e.on("dragstart",(function(e){var n=t.tickRects,r=t.unselectedTickStyle;n.forEach((function(t){t.rect.attr(r)}));var i=e.target,o=parseInt(i.get("name").split("-")[2],10),a=t.selectedTickStyle;n[o].rect.attr(a),t.startTickRectId=o;var s=o/n.length;t.graph.emit("valuechange",{value:[s,s]}),t.dragging=!0})),e.on("dragover",(function(e){if(t.dragging&&"rect"===e.target.get("type")){for(var n=parseInt(e.target.get("name").split("-")[2],10),r=t.startTickRectId,i=t.tickRects,o=t.selectedTickStyle,a=t.unselectedTickStyle,s=0;s<i.length;s++){var u=s>=r&&s<=n?o:a;i[s].rect.attr(u)}var c=i.length;t.endTickRectId=n;var l=r/c,f=n/c;t.graph.emit("valuechange",{value:[l,f]})}})),e.on("drop",(function(e){if(t.dragging&&(t.dragging=!1,"rect"===e.target.get("type"))){var n=t.startTickRectId,r=parseInt(e.target.get("name").split("-")[2],10);if(!(r<n)){var i=t.selectedTickStyle,o=t.tickRects;o[r].rect.attr(i),t.endTickRectId=r;var a=o.length,s=n/a,u=r/a;t.graph.emit("valuechange",{value:[s,u]})}}}));var n=this.tooltipBackgroundColor,r=this.tooltipFomatter,i=this.canvas,o=new yo({container:i.get("container"),backgroundColor:n}),a=this.tickRects;a.forEach((function(t){var e=t.pickRect;e.on("mouseenter",(function(t){var e=t.target;if("rect"===e.get("type")){var n=parseInt(e.get("name").split("-")[2],10),s=i.getClientByPoint(a[n].x,a[n].y);o.show({x:a[n].x,y:a[n].y,clientX:s.x,clientY:s.y,text:r?r(a[n].value):a[n].value})}})),e.on("mouseleave",(function(t){o.hide()}))}));var s=this.group;s.on("".concat("playPauseBtn",":click"),(function(){t.isPlay=!t.isPlay,t.changePlayStatus()})),s.on("".concat("nextStepBtn",":click"),(function(){t.updateStartEnd(1)})),s.on("".concat("preStepBtn",":click"),(function(){t.updateStartEnd(-1)})),s.on("timebarConfigChanged",(function(e){e.type;var n=e.speed;t.currentSpeed=n}))},t.prototype.changePlayStatus=function(t){void 0===t&&(t=!0),this.controllerBtnGroup.playButton.update({isPlay:this.isPlay}),this.isPlay?(this.playHandler=this.startPlay(),this.graph.emit("timebarstartplay",null)):this.playHandler&&("undefined"!=typeof window&&window.cancelAnimationFrame(this.playHandler),t&&this.graph.emit("timebarendplay",null))},t.prototype.startPlay=function(){var t=this;return"undefined"!=typeof window?window.requestAnimationFrame((function(){var e=t.currentSpeed;t.frameCount%(60/e)==0&&(t.frameCount=0,t.updateStartEnd(1)),t.frameCount++,t.isPlay&&(t.playHandler=t.startPlay())})):void 0},t.prototype.updateStartEnd=function(t){var e=this.tickRects,n=e.length,r=this.unselectedTickStyle,i=this.selectedTickStyle,o=this.endTickRectId;if(t>0?this.endTickRectId++:(e[this.endTickRectId].rect.attr(r),this.endTickRectId--),o!==this.startTickRectId)this.endTickRectId<this.startTickRectId&&(this.startTickRectId=this.endTickRectId);else{for(var a=this.startTickRectId;a<=this.endTickRectId-1;a++)e[a].rect.attr(r);this.startTickRectId=this.endTickRectId}if(e[this.endTickRectId]){e[this.endTickRectId].rect.attr(i);var s=this.startTickRectId/n,u=this.endTickRectId/n;this.graph.emit("valuechange",{value:[s,u]})}},t.prototype.destory=function(){var t=this.sliceGroup;t.off("click"),t.off("dragstart"),t.off("dragover"),t.off("drop"),this.tickRects.forEach((function(t){var e=t.pickRect;e.off("mouseenter"),e.off("mouseleave")})),this.tickRects.length=0,t.off("".concat("playPauseBtn",":click")),t.off("".concat("nextStepBtn",":click")),t.off("".concat("preStepBtn",":click")),t.off("timebarConfigChanged"),this.sliceGroup.destroy()},t}(),Lo={};function Ro(t,e){Lo[t]=e}var Bo=function(){function t(t){this.type="base",this.isCategory=!1,this.isLinear=!1,this.isContinuous=!1,this.isIdentity=!1,this.values=[],this.range=[0,1],this.ticks=[],this.__cfg__=t,this.initCfg(),this.init()}return t.prototype.translate=function(t){return t},t.prototype.change=function(t){Object(v.assign)(this.__cfg__,t),this.init()},t.prototype.clone=function(){return this.constructor(this.__cfg__)},t.prototype.getTicks=function(){var t=this;return Object(v.map)(this.ticks,(function(e,n){return Object(v.isObject)(e)?e:{text:t.getText(e,n),tickValue:e,value:t.scale(e)}}))},t.prototype.getText=function(t,e){var n=this.formatter,r=n?n(t,e):t;return Object(v.isNil)(r)||!Object(v.isFunction)(r.toString)?"":r.toString()},t.prototype.getConfig=function(t){return this.__cfg__[t]},t.prototype.init=function(){Object(v.assign)(this,this.__cfg__),this.setDomain(),Object(v.isEmpty)(this.getConfig("ticks"))&&(this.ticks=this.calculateTicks())},t.prototype.initCfg=function(){},t.prototype.setDomain=function(){},t.prototype.calculateTicks=function(){var t=this.tickMethod,e=[];if(Object(v.isString)(t)){var n=Lo[t];if(!n)throw new Error("There is no method to to calculate ticks!");e=n(this)}else Object(v.isFunction)(t)&&(e=t(this));return e},t.prototype.rangeMin=function(){return this.range[0]},t.prototype.rangeMax=function(){return this.range[1]},t.prototype.calcPercent=function(t,e,n){return Object(v.isNumber)(t)?(t-e)/(n-e):NaN},t.prototype.calcValue=function(t,e,n){return e+t*(n-e)},t}(),Fo=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="cat",e.isCategory=!0,e}return Object(g.__extends)(e,t),e.prototype.buildIndexMap=function(){if(!this.translateIndexMap){this.translateIndexMap=new Map;for(var t=0;t<this.values.length;t++)this.translateIndexMap.set(this.values[t],t)}},e.prototype.translate=function(t){this.buildIndexMap();var e=this.translateIndexMap.get(t);return void 0===e&&(e=Object(v.isNumber)(t)?t:NaN),e},e.prototype.scale=function(t){var e=this.translate(t),n=this.calcPercent(e,this.min,this.max);return this.calcValue(n,this.rangeMin(),this.rangeMax())},e.prototype.invert=function(t){var e=this.max-this.min,n=this.calcPercent(t,this.rangeMin(),this.rangeMax()),r=Math.round(e*n)+this.min;return r<this.min||r>this.max?NaN:this.values[r]},e.prototype.getText=function(e){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];var i=e;return Object(v.isNumber)(e)&&!this.values.includes(e)&&(i=this.values[i]),t.prototype.getText.apply(this,Object(g.__spreadArrays)([i],n))},e.prototype.initCfg=function(){this.tickMethod="cat"},e.prototype.setDomain=function(){if(Object(v.isNil)(this.getConfig("min"))&&(this.min=0),Object(v.isNil)(this.getConfig("max"))){var t=this.values.length;this.max=t>1?t-1:t}this.translateIndexMap&&(this.translateIndexMap=void 0)},e}(Bo),zo=/d{1,4}|M{1,4}|YY(?:YY)?|S{1,3}|Do|ZZ|Z|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,Go="[^\\s]+",Yo=/\[([^]*?)\]/gm;function Uo(t,e){for(var n=[],r=0,i=t.length;r<i;r++)n.push(t[r].substr(0,e));return n}var Xo=function(t){return function(e,n){var r=n[t].map((function(t){return t.toLowerCase()})).indexOf(e.toLowerCase());return r>-1?r:null}};function Wo(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];for(var r=0,i=e;r<i.length;r++){var o=i[r];for(var a in o)t[a]=o[a]}return t}var Vo=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],Ho=["January","February","March","April","May","June","July","August","September","October","November","December"],qo=Uo(Ho,3),Zo={dayNamesShort:Uo(Vo,3),dayNames:Vo,monthNamesShort:qo,monthNames:Ho,amPm:["am","pm"],DoFn:function(t){return t+["th","st","nd","rd"][t%10>3?0:(t-t%10!=10?1:0)*t%10]}},Ko=Wo({},Zo),Qo=function(t){return Ko=Wo(Ko,t)},$o=function(t){return t.replace(/[|\\{()[^$+*?.-]/g,"\\$&")},Jo=function(t,e){for(void 0===e&&(e=2),t=String(t);t.length<e;)t="0"+t;return t},ta={D:function(t){return String(t.getDate())},DD:function(t){return Jo(t.getDate())},Do:function(t,e){return e.DoFn(t.getDate())},d:function(t){return String(t.getDay())},dd:function(t){return Jo(t.getDay())},ddd:function(t,e){return e.dayNamesShort[t.getDay()]},dddd:function(t,e){return e.dayNames[t.getDay()]},M:function(t){return String(t.getMonth()+1)},MM:function(t){return Jo(t.getMonth()+1)},MMM:function(t,e){return e.monthNamesShort[t.getMonth()]},MMMM:function(t,e){return e.monthNames[t.getMonth()]},YY:function(t){return Jo(String(t.getFullYear()),4).substr(2)},YYYY:function(t){return Jo(t.getFullYear(),4)},h:function(t){return String(t.getHours()%12||12)},hh:function(t){return Jo(t.getHours()%12||12)},H:function(t){return String(t.getHours())},HH:function(t){return Jo(t.getHours())},m:function(t){return String(t.getMinutes())},mm:function(t){return Jo(t.getMinutes())},s:function(t){return String(t.getSeconds())},ss:function(t){return Jo(t.getSeconds())},S:function(t){return String(Math.round(t.getMilliseconds()/100))},SS:function(t){return Jo(Math.round(t.getMilliseconds()/10),2)},SSS:function(t){return Jo(t.getMilliseconds(),3)},a:function(t,e){return t.getHours()<12?e.amPm[0]:e.amPm[1]},A:function(t,e){return t.getHours()<12?e.amPm[0].toUpperCase():e.amPm[1].toUpperCase()},ZZ:function(t){var e=t.getTimezoneOffset();return(e>0?"-":"+")+Jo(100*Math.floor(Math.abs(e)/60)+Math.abs(e)%60,4)},Z:function(t){var e=t.getTimezoneOffset();return(e>0?"-":"+")+Jo(Math.floor(Math.abs(e)/60),2)+":"+Jo(Math.abs(e)%60,2)}},ea=function(t){return+t-1},na=[null,"\\d\\d?"],ra=[null,Go],ia=["isPm",Go,function(t,e){var n=t.toLowerCase();return n===e.amPm[0]?0:n===e.amPm[1]?1:null}],oa=["timezoneOffset","[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z?",function(t){var e=(t+"").match(/([+-]|\d\d)/gi);if(e){var n=60*+e[1]+parseInt(e[2],10);return"+"===e[0]?n:-n}return 0}],aa={D:["day","\\d\\d?"],DD:["day","\\d\\d"],Do:["day","\\d\\d?"+Go,function(t){return parseInt(t,10)}],M:["month","\\d\\d?",ea],MM:["month","\\d\\d",ea],YY:["year","\\d\\d",function(t){var e=+(""+(new Date).getFullYear()).substr(0,2);return+(""+(+t>68?e-1:e)+t)}],h:["hour","\\d\\d?",void 0,"isPm"],hh:["hour","\\d\\d",void 0,"isPm"],H:["hour","\\d\\d?"],HH:["hour","\\d\\d"],m:["minute","\\d\\d?"],mm:["minute","\\d\\d"],s:["second","\\d\\d?"],ss:["second","\\d\\d"],YYYY:["year","\\d{4}"],S:["millisecond","\\d",function(t){return 100*+t}],SS:["millisecond","\\d\\d",function(t){return 10*+t}],SSS:["millisecond","\\d{3}"],d:na,dd:na,ddd:ra,dddd:ra,MMM:["month",Go,Xo("monthNamesShort")],MMMM:["month",Go,Xo("monthNames")],a:ia,A:ia,ZZ:oa,Z:oa},sa={default:"ddd MMM DD YYYY HH:mm:ss",shortDate:"M/D/YY",mediumDate:"MMM D, YYYY",longDate:"MMMM D, YYYY",fullDate:"dddd, MMMM D, YYYY",isoDate:"YYYY-MM-DD",isoDateTime:"YYYY-MM-DDTHH:mm:ssZ",shortTime:"HH:mm",mediumTime:"HH:mm:ss",longTime:"HH:mm:ss.SSS"},ua=function(t){return Wo(sa,t)},ca=function(t,e,n){if(void 0===e&&(e=sa.default),void 0===n&&(n={}),"number"==typeof t&&(t=new Date(t)),"[object Date]"!==Object.prototype.toString.call(t)||isNaN(t.getTime()))throw new Error("Invalid Date pass to format");var r=[];e=(e=sa[e]||e).replace(Yo,(function(t,e){return r.push(e),"@@@"}));var i=Wo(Wo({},Ko),n);return(e=e.replace(zo,(function(e){return ta[e](t,i)}))).replace(/@@@/g,(function(){return r.shift()}))};function la(t,e,n){if(void 0===n&&(n={}),"string"!=typeof e)throw new Error("Invalid format in fecha parse");if(e=sa[e]||e,t.length>1e3)return null;var r={year:(new Date).getFullYear(),month:0,day:1,hour:0,minute:0,second:0,millisecond:0,isPm:null,timezoneOffset:null},i=[],o=[],a=e.replace(Yo,(function(t,e){return o.push($o(e)),"@@@"})),s={},u={};a=$o(a).replace(zo,(function(t){var e=aa[t],n=e[0],r=e[1],o=e[3];if(s[n])throw new Error("Invalid format. "+n+" specified twice in format");return s[n]=!0,o&&(u[o]=!0),i.push(e),"("+r+")"})),Object.keys(u).forEach((function(t){if(!s[t])throw new Error("Invalid format. "+t+" is required in specified format")})),a=a.replace(/@@@/g,(function(){return o.shift()}));var c=t.match(new RegExp(a,"i"));if(!c)return null;for(var l,f=Wo(Wo({},Ko),n),h=1;h<c.length;h++){var d=i[h-1],p=d[0],g=d[2],v=g?g(c[h],f):+c[h];if(null==v)return null;r[p]=v}if(1===r.isPm&&null!=r.hour&&12!=+r.hour?r.hour=+r.hour+12:0===r.isPm&&12==+r.hour&&(r.hour=0),null==r.timezoneOffset){l=new Date(r.year,r.month,r.day,r.hour,r.minute,r.second,r.millisecond);for(var y=[["month","getMonth"],["day","getDate"],["hour","getHours"],["minute","getMinutes"],["second","getSeconds"]],m=(h=0,y.length);h<m;h++)if(s[y[h][0]]&&r[y[h][0]]!==l[y[h][1]]())return null}else if(l=new Date(Date.UTC(r.year,r.month,r.day,r.hour,r.minute-r.timezoneOffset,r.second,r.millisecond)),r.month>11||r.month<0||r.day>31||r.day<1||r.hour>23||r.hour<0||r.minute>59||r.minute<0||r.second>59||r.second<0)return null;return l}var fa={format:ca,parse:la,defaultI18n:Zo,setGlobalDateI18n:Qo,setGlobalDateMasks:ua};function ha(t,e){return(p.format||fa.format)(t,e)}function da(t){return Object(v.isString)(t)&&(t=t.indexOf("T")>0?new Date(t).getTime():new Date(t.replace(/-/gi,"/")).getTime()),Object(v.isDate)(t)&&(t=t.getTime()),t}var pa=36e5,ga=24*pa,va=31*ga,ya=[["HH:mm:ss",1e3],["HH:mm:ss",1e4],["HH:mm:ss",3e4],["HH:mm",6e4],["HH:mm",6e5],["HH:mm",18e5],["HH",pa],["HH",6*pa],["HH",12*pa],["YYYY-MM-DD",ga],["YYYY-MM-DD",4*ga],["YYYY-WW",7*ga],["YYYY-MM",va],["YYYY-MM",4*va],["YYYY-MM",6*va],["YYYY",380*ga]];function ma(t,e,n){var r,i=(r=function(t){return t[1]},function(t,e,n,i){for(var o=Object(v.isNil)(n)?0:n,a=Object(v.isNil)(i)?t.length:i;o<a;){var s=o+a>>>1;r(t[s])>e?a=s:o=s+1}return o})(ya,(e-t)/n)-1,o=ya[i];return i<0?o=ya[0]:i>=ya.length&&(o=Object(v.last)(ya)),o}var ba=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="timeCat",e}return Object(g.__extends)(e,t),e.prototype.translate=function(t){t=da(t);var e=this.values.indexOf(t);return-1===e&&(e=Object(v.isNumber)(t)&&t<this.values.length?t:NaN),e},e.prototype.getText=function(t,e){var n=this.translate(t);if(n>-1){var r=this.values[n],i=this.formatter;return r=i?i(r,e):ha(r,this.mask)}return t},e.prototype.initCfg=function(){this.tickMethod="time-cat",this.mask="YYYY-MM-DD",this.tickCount=7},e.prototype.setDomain=function(){var e=this.values;Object(v.each)(e,(function(t,n){e[n]=da(t)})),e.sort((function(t,e){return t-e})),t.prototype.setDomain.call(this)},e}(Fo),xa=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.isContinuous=!0,e}return Object(g.__extends)(e,t),e.prototype.scale=function(t){if(Object(v.isNil)(t))return NaN;var e=this.rangeMin(),n=this.rangeMax();return this.max===this.min?e:e+this.getScalePercent(t)*(n-e)},e.prototype.init=function(){t.prototype.init.call(this);var e=this.ticks,n=Object(v.head)(e),r=Object(v.last)(e);n<this.min&&(this.min=n),r>this.max&&(this.max=r),Object(v.isNil)(this.minLimit)||(this.min=n),Object(v.isNil)(this.maxLimit)||(this.max=r)},e.prototype.setDomain=function(){var t=Object(v.getRange)(this.values),e=t.min,n=t.max;Object(v.isNil)(this.min)&&(this.min=e),Object(v.isNil)(this.max)&&(this.max=n),this.min>this.max&&(this.min=e,this.max=n)},e.prototype.calculateTicks=function(){var e=this,n=t.prototype.calculateTicks.call(this);return this.nice||(n=Object(v.filter)(n,(function(t){return t>=e.min&&t<=e.max}))),n},e.prototype.getScalePercent=function(t){var e=this.max,n=this.min;return(t-n)/(e-n)},e.prototype.getInvertPercent=function(t){return(t-this.rangeMin())/(this.rangeMax()-this.rangeMin())},e}(Bo),wa=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="linear",e.isLinear=!0,e}return Object(g.__extends)(e,t),e.prototype.invert=function(t){var e=this.getInvertPercent(t);return this.min+e*(this.max-this.min)},e.prototype.initCfg=function(){this.tickMethod="wilkinson-extended",this.nice=!1},e}(xa);function _a(t,e){var n=Math.E;return e>=0?Math.pow(n,Math.log(e)/t):-1*Math.pow(n,Math.log(-e)/t)}function Ea(t,e){return 1===t?1:Math.log(e)/Math.log(t)}function Sa(t,e,n){Object(v.isNil)(n)&&(n=Math.max.apply(null,t));var r=n;return Object(v.each)(t,(function(t){t>0&&t<r&&(r=t)})),r===n&&(r=n/e),r>1&&(r=1),r}var Ma=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="log",e}return Object(g.__extends)(e,t),e.prototype.invert=function(t){var e,n=this.base,r=Ea(n,this.max),i=this.rangeMin(),o=this.rangeMax()-i,a=this.positiveMin;if(a){if(0===t)return 0;var s=1/(r-(e=Ea(n,a/n)))*o;if(t<s)return t/s*a}else e=Ea(n,this.min);var u=(t-i)/o*(r-e)+e;return Math.pow(n,u)},e.prototype.initCfg=function(){this.tickMethod="log",this.base=10,this.tickCount=6,this.nice=!0},e.prototype.setDomain=function(){t.prototype.setDomain.call(this);var e=this.min;if(e<0)throw new Error("When you use log scale, the minimum value must be greater than zero!");0===e&&(this.positiveMin=Sa(this.values,this.base,this.max))},e.prototype.getScalePercent=function(t){var e=this.max,n=this.min;if(e===n)return 0;if(t<=0)return 0;var r=this.base,i=this.positiveMin;return i&&(n=1*i/r),t<i?t/i/(Ea(r,e)-Ea(r,n)):(Ea(r,t)-Ea(r,n))/(Ea(r,e)-Ea(r,n))},e}(xa),Oa=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="pow",e}return Object(g.__extends)(e,t),e.prototype.invert=function(t){var e=this.getInvertPercent(t),n=this.exponent,r=_a(n,this.max),i=_a(n,this.min),o=e*(r-i)+i,a=o>=0?1:-1;return Math.pow(o,n)*a},e.prototype.initCfg=function(){this.tickMethod="pow",this.exponent=2,this.tickCount=5,this.nice=!0},e.prototype.getScalePercent=function(t){var e=this.max,n=this.min;if(e===n)return 0;var r=this.exponent;return(_a(r,t)-_a(r,n))/(_a(r,e)-_a(r,n))},e}(xa),ka=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="time",e}return Object(g.__extends)(e,t),e.prototype.getText=function(t,e){var n=this.translate(t),r=this.formatter;return r?r(n,e):ha(n,this.mask)},e.prototype.scale=function(e){var n=e;return(Object(v.isString)(n)||Object(v.isDate)(n))&&(n=this.translate(n)),t.prototype.scale.call(this,n)},e.prototype.translate=function(t){return da(t)},e.prototype.initCfg=function(){this.tickMethod="time-pretty",this.mask="YYYY-MM-DD",this.tickCount=7,this.nice=!1},e.prototype.setDomain=function(){var t=this.values,e=this.getConfig("min"),n=this.getConfig("max");if(Object(v.isNil)(e)&&Object(v.isNumber)(e)||(this.min=this.translate(this.min)),Object(v.isNil)(n)&&Object(v.isNumber)(n)||(this.max=this.translate(this.max)),t&&t.length){var r=[],i=1/0,o=i,a=0;Object(v.each)(t,(function(t){var e=da(t);if(isNaN(e))throw new TypeError("Invalid Time: "+t+" in time scale!");i>e?(o=i,i=e):o>e&&(o=e),a<e&&(a=e),r.push(e)})),t.length>1&&(this.minTickInterval=o-i),Object(v.isNil)(e)&&(this.min=i),Object(v.isNil)(n)&&(this.max=a)}},e}(wa),Aa=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="quantize",e}return Object(g.__extends)(e,t),e.prototype.invert=function(t){var e=this.ticks,n=e.length,r=this.getInvertPercent(t),i=Math.floor(r*(n-1));if(i>=n-1)return Object(v.last)(e);if(i<0)return Object(v.head)(e);var o=e[i],a=i/(n-1);return o+(r-a)/((i+1)/(n-1)-a)*(e[i+1]-o)},e.prototype.initCfg=function(){this.tickMethod="r-pretty",this.tickCount=5,this.nice=!0},e.prototype.calculateTicks=function(){var e=t.prototype.calculateTicks.call(this);return this.nice||(Object(v.last)(e)!==this.max&&e.push(this.max),Object(v.head)(e)!==this.min&&e.unshift(this.min)),e},e.prototype.getScalePercent=function(t){var e=this.ticks;if(t<Object(v.head)(e))return 0;if(t>Object(v.last)(e))return 1;var n=0;return Object(v.each)(e,(function(e,r){if(!(t>=e))return!1;n=r})),n/(e.length-1)},e}(xa),Ca=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="quantile",e}return Object(g.__extends)(e,t),e.prototype.initCfg=function(){this.tickMethod="quantile",this.tickCount=5,this.nice=!0},e}(Aa),ja={};function Ia(t,e){if(function(t){return ja[t]}(t))throw new Error("type '"+t+"' existed.");ja[t]=e}var Ta=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="identity",e.isIdentity=!0,e}return Object(g.__extends)(e,t),e.prototype.calculateTicks=function(){return this.values},e.prototype.scale=function(t){return this.values[0]!==t&&Object(v.isNumber)(t)?t:this.range[0]},e.prototype.invert=function(t){var e=this.range;return t<e[0]||t>e[1]?NaN:this.values[0]},e}(Bo);function Na(t){var e=t.values,n=t.tickInterval,r=t.tickCount,i=t.showLast;if(Object(v.isNumber)(n)){var o=Object(v.filter)(e,(function(t,e){return e%n==0})),a=Object(v.last)(e);return i&&Object(v.last)(o)!==a&&o.push(a),o}var s=e.length,u=t.min,c=t.max;if(Object(v.isNil)(u)&&(u=0),Object(v.isNil)(c)&&(c=e.length-1),!Object(v.isNumber)(r)||r>=s)return e.slice(u,c+1);if(r<=0||c<=0)return[];for(var l=1===r?s:Math.floor(s/(r-1)),f=[],h=u,d=0;d<r&&!(h>=c);d++)h=Math.min(u+d*l,c),d===r-1&&i?f.push(e[c]):f.push(e[h]);return f}var Pa=Math.sqrt(50),Da=Math.sqrt(10),La=Math.sqrt(2),Ra=function(){function t(){this._domain=[0,1]}return t.prototype.domain=function(t){return t?(this._domain=Array.from(t,Number),this):this._domain.slice()},t.prototype.nice=function(t){var e,n;void 0===t&&(t=5);var r,i=this._domain.slice(),o=0,a=this._domain.length-1,s=this._domain[o],u=this._domain[a];return u<s&&(s=(e=[u,s])[0],u=e[1],o=(n=[a,o])[0],a=n[1]),(r=Ba(s,u,t))>0?r=Ba(s=Math.floor(s/r)*r,u=Math.ceil(u/r)*r,t):r<0&&(r=Ba(s=Math.ceil(s*r)/r,u=Math.floor(u*r)/r,t)),r>0?(i[o]=Math.floor(s/r)*r,i[a]=Math.ceil(u/r)*r,this.domain(i)):r<0&&(i[o]=Math.ceil(s*r)/r,i[a]=Math.floor(u*r)/r,this.domain(i)),this},t.prototype.ticks=function(t){return void 0===t&&(t=5),function(t,e,n){var r,i,o,a,s=-1;if(n=+n,(t=+t)===(e=+e)&&n>0)return[t];(r=e<t)&&(i=t,t=e,e=i);if(0===(a=Ba(t,e,n))||!isFinite(a))return[];if(a>0)for(t=Math.ceil(t/a),e=Math.floor(e/a),o=new Array(i=Math.ceil(e-t+1));++s<i;)o[s]=(t+s)*a;else for(t=Math.floor(t*a),e=Math.ceil(e*a),o=new Array(i=Math.ceil(t-e+1));++s<i;)o[s]=(t-s)/a;r&&o.reverse();return o}(this._domain[0],this._domain[this._domain.length-1],t||5)},t}();function Ba(t,e,n){var r=(e-t)/Math.max(0,n),i=Math.floor(Math.log(r)/Math.LN10),o=r/Math.pow(10,i);return i>=0?(o>=Pa?10:o>=Da?5:o>=La?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(o>=Pa?10:o>=Da?5:o>=La?2:1)}function Fa(t,e,n){return("ceil"===n?Math.ceil(t/e):"floor"===n?Math.floor(t/e):Math.round(t/e))*e}function za(t,e,n){var r=Fa(t,n,"floor"),i=Fa(e,n,"ceil");r=Object(v.fixedBase)(r,n),i=Object(v.fixedBase)(i,n);for(var o=[],a=Math.max((i-r)/(Math.pow(2,12)-1),n),s=r;s<=i;s+=a){var u=Object(v.fixedBase)(s,a);o.push(u)}return{min:r,max:i,ticks:o}}function Ga(t,e,n){var r,i=t.minLimit,o=t.maxLimit,a=t.min,s=t.max,u=t.tickCount,c=void 0===u?5:u,l=Object(v.isNil)(i)?Object(v.isNil)(e)?a:e:i,f=Object(v.isNil)(o)?Object(v.isNil)(n)?s:n:o;if(l>f&&(f=(r=[l,f])[0],l=r[1]),c<=2)return[l,f];for(var h=(f-l)/(c-1),d=[],p=0;p<c;p++)d.push(l+h*p);return d}function Ya(t){return Math.abs(t)<1e-15?t:parseFloat(t.toFixed(15))}var Ua=[1,5,2,2.5,4,3],Xa=100*Number.EPSILON;function Wa(t,e,n,r,i,o){var a=Object(v.size)(e),s=Object(v.indexOf)(e,t),u=0,c=function(t,e){return(t%e+e)%e}(r,o);return(c<Xa||o-c<Xa)&&r<=0&&i>=0&&(u=1),1-s/(a-1)-n+u}function Va(t,e,n){var r=Object(v.size)(e);return 1-Object(v.indexOf)(e,t)/(r-1)-n+1}function Ha(t,e,n,r,i,o){var a=(t-1)/(o-i),s=(e-1)/(Math.max(o,r)-Math.min(n,i));return 2-Math.max(a/s,s/a)}function qa(t,e){return t>=e?2-(t-1)/(e-1):1}function Za(t,e,n,r){var i=e-t;return 1-.5*(Math.pow(e-r,2)+Math.pow(t-n,2))/Math.pow(.1*i,2)}function Ka(t,e,n){var r=e-t;if(n>r){var i=(n-r)/2;return 1-Math.pow(i,2)/Math.pow(.1*r,2)}return 1}function Qa(t,e,n,r,i,o){void 0===n&&(n=5),void 0===r&&(r=!0),void 0===i&&(i=Ua),void 0===o&&(o=[.25,.2,.5,.05]);var a=n<0?0:Math.round(n);if(Number.isNaN(t)||Number.isNaN(e)||"number"!=typeof t||"number"!=typeof e||!a)return{min:0,max:0,ticks:[]};if(e-t<1e-15||1===a)return{min:t,max:e,ticks:[t]};if(e-t>1e148){var s=(e-t)/(_=n||5);return{min:t,max:e,ticks:Array(_).fill(null).map((function(e,n){return Ya(t+s*n)}))}}for(var u={score:-2,lmin:0,lmax:0,lstep:0},c=1;c<1/0;){for(var l=0;l<i.length;l+=1){var f=i[l],h=Va(f,i,c);if(o[0]*h+o[1]+o[2]+o[3]<u.score){c=1/0;break}for(var d=2;d<1/0;){var p=qa(d,a);if(o[0]*h+o[1]+o[2]*p+o[3]<u.score)break;for(var g=(e-t)/(d+1)/c/f,y=Math.ceil(Math.log10(g));y<1/0;){var m=c*f*Math.pow(10,y),b=Ka(t,e,m*(d-1));if(o[0]*h+o[1]*b+o[2]*p+o[3]<u.score)break;var x=Math.floor(e/m)*c-(d-1)*c,w=Math.ceil(t/m)*c;if(x<=w)for(var _=w-x,E=0;E<=_;E+=1){var S=(x+E)*(m/c),M=S+m*(d-1),O=m,k=Wa(f,i,c,S,M,O),A=Za(t,e,S,M),C=Ha(d,a,t,e,S,M),j=o[0]*k+o[1]*A+o[2]*C+1*o[3];j>u.score&&(!r||S<=t&&M>=e)&&(u.lmin=S,u.lmax=M,u.lstep=O,u.score=j)}y+=1}d+=1}}c+=1}var I=Ya(u.lmax),T=Ya(u.lmin),N=Ya(u.lstep),P=Math.floor(function(t){return Math.round(1e12*t)/1e12}((I-T)/N))+1,D=new Array(P);D[0]=Ya(T);for(l=1;l<P;l++)D[l]=Ya(D[l-1]+N);return{min:Math.min(t,Object(v.head)(D)),max:Math.max(e,Object(v.last)(D)),ticks:D}}function $a(t,e,n){if(void 0===n&&(n=5),t===e)return{max:e,min:t,ticks:[t]};var r=n<0?0:Math.round(n);if(0===r)return{max:e,min:t,ticks:[]};var i=(e-t)/r,o=Math.pow(10,Math.floor(Math.log10(i))),a=o;2*o-i<1.5*(i-a)&&5*o-i<2.75*(i-(a=2*o))&&10*o-i<1.5*(i-(a=5*o))&&(a=10*o);for(var s=Math.ceil(e/a),u=Math.floor(t/a),c=Math.max(s*a,e),l=Math.min(u*a,t),f=Math.floor((c-l)/a)+1,h=new Array(f),d=0;d<f;d++)h[d]=Ya(l+d*a);return{min:l,max:c,ticks:h}}function Ja(t,e){var n=t.length*e;return 1===e?t[t.length-1]:0===e?t[0]:n%1!=0?t[Math.ceil(n)-1]:t.length%2==0?(t[n-1]+t[n])/2:t[n]}function ts(t){return new Date(t).getFullYear()}function es(t){return new Date(t,0,1).getTime()}function ns(t){return new Date(t).getMonth()}function rs(t,e){return new Date(t,e,1).getTime()}Ro("cat",Na),Ro("time-cat",(function(t){return Na(Object(g.__assign)({showLast:!0},t))})),Ro("wilkinson-extended",(function(t){var e=t.min,n=t.max,r=t.tickCount,i=t.nice,o=t.tickInterval,a=t.minLimit,s=t.maxLimit,u=Qa(e,n,r,i).ticks;return Object(v.isNil)(a)&&Object(v.isNil)(s)?o?za(e,n,o).ticks:u:Ga(t,Object(v.head)(u),Object(v.last)(u))})),Ro("r-pretty",(function(t){var e=t.min,n=t.max,r=t.tickCount,i=t.tickInterval,o=t.minLimit,a=t.maxLimit,s=$a(e,n,r).ticks;return Object(v.isNil)(o)&&Object(v.isNil)(a)?i?za(e,n,i).ticks:s:Ga(t,Object(v.head)(s),Object(v.last)(s))})),Ro("time",(function(t){var e=t.min,n=t.max,r=t.minTickInterval,i=t.tickInterval,o=t.tickCount;if(i)o=Math.ceil((n-e)/i);else{var a=(n-e)/(i=ma(e,n,o)[1])/o;a>1&&(i*=Math.ceil(a)),r&&i<r&&(i=r)}i=Math.max(Math.floor((n-e)/(Math.pow(2,12)-1)),i);for(var s=[],u=e;u<n+i;u+=i)s.push(u);return s})),Ro("time-pretty",(function(t){var e=t.min,n=t.max,r=t.minTickInterval,i=t.tickCount,o=t.tickInterval,a=[];o||(o=(n-e)/i,r&&o<r&&(o=r)),o=Math.max(Math.floor((n-e)/(Math.pow(2,12)-1)),o);var s=ts(e);if(o>31536e6)for(var u=ts(n),c=Math.ceil(o/31536e6),l=s;l<=u+c;l+=c)a.push(es(l));else if(o>va){var f=Math.ceil(o/va),h=ns(e),d=function(t,e){var n=ts(t),r=ts(e),i=ns(t);return 12*(r-n)+(ns(e)-i)%12}(e,n);for(l=0;l<=d+f;l+=f)a.push(rs(s,l+h))}else if(o>ga){var p=(b=new Date(e)).getFullYear(),g=b.getMonth(),v=b.getDate(),y=Math.ceil(o/ga),m=function(t,e){return Math.ceil((e-t)/ga)}(e,n);for(l=0;l<m+y;l+=y)a.push(new Date(p,g,v+l).getTime())}else if(o>pa){p=(b=new Date(e)).getFullYear(),g=b.getMonth(),y=b.getDate();var b,x=b.getHours(),w=Math.ceil(o/pa),_=function(t,e){return Math.ceil((e-t)/pa)}(e,n);for(l=0;l<=_+w;l+=w)a.push(new Date(p,g,y,x+l).getTime())}else if(o>6e4){var E=function(t,e){return Math.ceil((e-t)/6e4)}(e,n),S=Math.ceil(o/6e4);for(l=0;l<=E+S;l+=S)a.push(e+6e4*l)}else{var M=o;M<1e3&&(M=1e3);var O=1e3*Math.floor(e/1e3),k=Math.ceil((n-e)/1e3),A=Math.ceil(M/1e3);for(l=0;l<k+A;l+=A)a.push(O+1e3*l)}return a.length>=512&&console.warn("Notice: current ticks length("+a.length+') >= 512, may cause performance issues, even out of memory. Because of the configure "tickInterval"(in milliseconds, current is '+o+") is too small, increase the value to solve the problem!"),a})),Ro("log",(function(t){var e,n=t.base,r=t.tickCount,i=t.min,o=t.max,a=t.values,s=Ea(n,o);if(i>0)e=Math.floor(Ea(n,i));else{var u=Sa(a,n,o);e=Math.floor(Ea(n,u))}for(var c=s-e,l=Math.ceil(c/r),f=[],h=e;h<s+l;h+=l)f.push(Math.pow(n,h));return i<=0&&f.unshift(0),f})),Ro("pow",(function(t){var e=t.exponent,n=t.tickCount,r=Math.ceil(_a(e,t.max));return $a(Math.floor(_a(e,t.min)),r,n).ticks.map((function(t){var n=t>=0?1:-1;return Math.pow(t,e)*n}))})),Ro("quantile",(function(t){var e=t.tickCount,n=t.values;if(!n||!n.length)return[];for(var r=n.slice().sort((function(t,e){return t-e})),i=[],o=0;o<e;o++){var a=o/(e-1);i.push(Ja(r,a))}return i})),Ro("d3-linear",(function(t){var e=t.min,n=t.max,r=t.tickInterval,i=t.minLimit,o=t.maxLimit,a=function(t){var e=t.min,n=t.max,r=t.nice,i=t.tickCount,o=new Ra;return o.domain([e,n]),r&&o.nice(i),o.ticks(i)}(t);return Object(v.isNil)(i)&&Object(v.isNil)(o)?r?za(e,n,r).ticks:a:Ga(t,Object(v.head)(a),Object(v.last)(a))})),Ia("cat",Fo),Ia("category",Fo),Ia("identity",Ta),Ia("linear",wa),Ia("log",Ma),Ia("pow",Oa),Ia("time",ka),Ia("timeCat",ba),Ia("quantize",Aa),Ia("quantile",Ca);var is=function(t,e,n){if(n||2===arguments.length)for(var r,i=0,o=e.length;i<o;i++)!r&&i in e||(r||(r=Array.prototype.slice.call(e,0,i)),r[i]=e[i]);return t.concat(r||Array.prototype.slice.call(e))};function os(t){return function(t){return Object(v.map)(t,(function(t,e){return[0===e?"M":"L",t[0],t[1]]}))}(t)}function as(t,e,n,r){void 0===r&&(r=!0);var i=new wa({values:t}),o=new Fo({values:Object(v.map)(t,(function(t,e){return e}))}),a=Object(v.map)(t,(function(t,r){return[o.scale(r)*e,n-i.scale(t)*n]}));return r?function(t){if(t.length<=2)return os(t);var e=[];Object(v.each)(t,(function(t){Object(v.isEqual)(t,e.slice(e.length-2))||e.push(t[0],t[1])}));var n=kn.a(e,!1),r=Object(v.head)(t),i=r[0],o=r[1];return n.unshift(["M",i,o]),n}(a):os(a)}function ss(t,e,n,r){void 0===r&&(r=5);for(var i=new wa({values:t}),o=new Fo({values:Object(v.map)(t,(function(t,e){return e}))}),a=Object(v.map)(t,(function(t,r){return[o.scale(r)*e,n-i.scale(t)*n]})),s=[],u=0;u<a.length;u++){var c=a[u],l=cs({x:c[0],y:c[1],y0:n,size:r});s.push.apply(s,l)}return function(t,e){void 0===e&&(e=!0);var n=[],r=t[0];n.push(["M",r.x,r.y]);for(var i=1,o=t.length;i<o;i++)n.push(["L",t[i].x,t[i].y]);e&&(n.push(["L",r.x,r.y]),n.push(["z"]));return n}(s)}function us(t,e,n,r){var i=is([],t,!0),o=function(t,e){var n=new wa({values:t}),r=Math.max(0,n.min);return e-n.scale(r)*e}(r,n);return i.push(["L",e,o]),i.push(["L",0,o]),i.push(["Z"]),i}function cs(t){var e,n,r,i,o=t.x,a=t.y,s=t.y0,u=t.size;Object(v.isArray)(a)?(e=a[0],n=a[1]):(e=s,n=a),Object(v.isArray)(o)?(r=o[0],i=o[1]):(r=o-u/2,i=o+u/2);var c=[{x:r,y:e},{x:r,y:n}];return c.push({x:i,y:n},{x:i,y:e}),c}var ls=function(){return(ls=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)},fs={stroke:"#C5C5C5",strokeOpacity:.85},hs={fill:"#CACED4",opacity:.85},ds=function(){function t(t){var e=t.x,n=void 0===e?0:e,r=t.y,i=void 0===r?0:r,o=t.width,a=void 0===o?200:o,s=t.height,u=void 0===s?26:s,c=t.smooth,l=void 0===c||c,f=t.isArea,h=void 0!==f&&f,d=t.data,p=void 0===d?[]:d,g=t.lineStyle,v=t.areaStyle,y=t.group,m=t.interval,b=void 0===m?null:m;this.group=y,this.x=n,this.y=i,this.width=a,this.height=u,this.data=p,this.smooth=l,this.isArea=h,this.lineStyle=Object.assign({},fs,g),this.areaStyle=Object.assign({},hs,v),this.intervalConfig=b,this.renderLine()}return t.prototype.renderLine=function(){var t=this,e=t.x,n=t.y,r=t.width,i=t.height,o=(t.barWidth,t.data),a=t.smooth,s=t.isArea,u=t.lineStyle,c=t.areaStyle,l=this.group.addGroup({name:"trend-group"});if(o){var f=as(o,r,i,a);if(l.addShape("path",{attrs:ls({path:f},u),name:"trend-line"}),s){var h=us(f,r,i,o);l.addShape("path",{attrs:ls({path:h},c),name:"trend-area"})}}this.intervalConfig&&l.addShape("path",{attrs:ls({path:ss(this.intervalConfig.data,r,i,this.intervalConfig.style.barWidth)},this.intervalConfig.style),name:"trend-interval"}),l.move(e,n)},t.prototype.destory=function(){this.group.destroy()},t}(),ps=function(){return(ps=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)},gs={fill:"#1890ff",stroke:"#1890ff",type:"trend",radius:2,opacity:1,cursor:"ew-resize",highLightFill:"#0050b3"},vs={fill:"#fff",stroke:"#1890ff",radius:2,opacity:1,cursor:"ew-resize",highLightFill:"#0050b3"},ys=function(){function t(t){var e=t.group,n=t.name,r=t.type,i=t.x,o=void 0===i?0:i,a=t.y,s=void 0===a?0:a,u=t.width,c=void 0===u?2:u,l=t.height,f=void 0===l?24:l,h=t.style,d=void 0===h?{}:h;this.group=e,this.name=n,this.handleType=r,this.x=o,this.y=s,this.width=c,this.height=f,"trend"===r?this.style=ps(ps({},gs),d):"simple"===r&&(this.style=ps(ps({},vs),d)),this.renderHandle()}return t.prototype.setX=function(t){this.setXY(t,void 0)},t.prototype.setY=function(t){this.setXY(void 0,t)},t.prototype.setXY=function(t,e){Object(v.isNumber)(t)&&(this.x=t),Object(v.isNumber)(e)&&(this.y=e),this.updateXY()},t.prototype.renderHandle=function(){var t=this.width,e=this.height,n=this.style,r=this.name,i=n.fill,o=n.stroke,a=n.radius,s=n.opacity,u=n.cursor;this.handleGroup=this.group.addGroup(),"trend"===this.handleType?(this.verticalLine=this.handleGroup.addShape("rect",{attrs:{x:0,y:0,width:t,height:e,fill:i,stroke:o,radius:a,opacity:s,cursor:u},name:"".concat(r,"-handler")}),this.topCircle=this.handleGroup.addShape("circle",{attrs:{x:t/2,y:0,r:2*t,fill:i,stroke:o,radius:a,opacity:s,cursor:u,lineAppendWidth:12},name:"".concat(r,"-handler")}),this.bottomCircle=this.handleGroup.addShape("circle",{attrs:{x:t/2,y:e,r:2*t,fill:i,stroke:o,radius:a,opacity:s,cursor:u},name:"".concat(r,"-handler")})):"simple"===this.handleType&&(this.topCircle=this.handleGroup.addShape("circle",{attrs:{x:t/2,y:e/2,r:2*t,fill:i,stroke:o,radius:a,opacity:s,cursor:u,lineWidth:2},name:"".concat(r,"-handler")})),this.updateXY(),"trend"===this.handleType?this.bindTrendEvents():"simple"===this.handleType&&this.bindSimpleEvents()},t.prototype.bindSimpleEvents=function(){var t=this,e=this.name;this.handleGroup.on("".concat(e,"-handler:mouseenter"),(function(){var e=t.style.highLightFill;t.topCircle.attr("fill",e)})),this.handleGroup.on("".concat(e,"-handler:mouseleave"),(function(){var e=t.style.fill;t.topCircle.attr("fill",e)}))},t.prototype.bindTrendEvents=function(){var t=this,e=this.name;this.handleGroup.on("".concat(e,"-handler:mouseenter"),(function(){var e=t.style.highLightFill;t.verticalLine.attr("fill",e),t.topCircle.attr("fill",e),t.bottomCircle.attr("fill",e)})),this.handleGroup.on("".concat(e,"-handler:mouseleave"),(function(){var e=t.style.fill;t.verticalLine.attr("fill",e),t.topCircle.attr("fill",e),t.bottomCircle.attr("fill",e)}))},t.prototype.show=function(){this.handleGroup.show()},t.prototype.hide=function(){this.handleGroup.hide()},t.prototype.updateXY=function(){this.handleGroup.setMatrix([1,0,0,0,1,0,this.x,this.y,1])},t}(),ms=function(){return(ms=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)},bs=w.a.transform,xs={fill:"#416180",opacity:.05},ws={fill:"#416180",opacity:.15,radius:5},_s={fill:"#5B8FF9",opacity:.3,cursor:"grab"},Es={width:2,height:24},Ss={textBaseline:"middle",fill:"#000",opacity:.45},Ms={textAlign:"center",textBaseline:"top",fill:"#607889",opacity:.35},Os={lineWidth:1,stroke:"#ccc"},ks=function(){function t(t){var e=this;this.prevX=0,this.onMouseDown=function(t){return function(n){e.currentHandler=t;var r=n.originalEvent;r.stopPropagation(),r.preventDefault(),e.prevX=Object(v.get)(r,"touches.0.pageX",r.pageX);var i=e.canvas.get("container");i.addEventListener("mousemove",e.onMouseMove),i.addEventListener("mouseup",e.onMouseUp),i.addEventListener("mouseleave",e.onMouseUp),i.addEventListener("touchmove",e.onMouseMove),i.addEventListener("touchend",e.onMouseUp),i.addEventListener("touchcancel",e.onMouseUp)}},this.onMouseMove=function(t){t.stopPropagation(),t.preventDefault();var n=Object(v.get)(t,"touches.0.pageX",t.pageX),r=n-e.prevX,i=e.adjustOffsetRange(r/e.width);e.updateStartEnd(i),e.updateUI(),e.prevX=n},this.onMouseUp=function(){e.currentHandler&&(e.currentHandler=void 0);var t=e.canvas.get("container");t&&(t.removeEventListener("mousemove",e.onMouseMove),t.removeEventListener("mouseup",e.onMouseUp),t.removeEventListener("mouseleave",e.onMouseUp),t.removeEventListener("touchmove",e.onMouseMove),t.removeEventListener("touchend",e.onMouseUp),t.removeEventListener("touchcancel",e.onMouseUp))};var n=t.x,r=void 0===n?0:n,i=t.y,o=void 0===i?0:i,a=t.width,s=void 0===a?100:a,u=t.height,c=t.padding,l=void 0===c?10:c,f=t.trendCfg,h=t.controllerCfg,d=void 0===h?{speed:1}:h,p=t.backgroundStyle,g=void 0===p?{}:p,y=t.foregroundStyle,m=void 0===y?{}:y,b=t.handlerStyle,x=void 0===b?{}:b,w=t.textStyle,_=void 0===w?{}:w,E=t.start,S=void 0===E?0:E,M=t.end,O=void 0===M?1:M,k=t.minText,A=void 0===k?"":k,C=t.maxText,j=void 0===C?"":C,I=t.group,T=t.graph,N=t.canvas,P=t.tick,D=void 0===P?{tickLabelStyle:{},tickLineStyle:{},tickLabelFormatter:function(t){return t},ticks:[]}:P,L=t.type;this.graph=T,this.canvas=N,this.group=I,this.timeBarType=L,this.x=r,this.y=o,this.width=s,this.height=u,this.padding=l,this.ticks=D.ticks,this.trendCfg=f,this.controllerCfg=d,this.currentSpeed=d.speed||1,this.tickLabelFormatter=D.tickLabelFormatter,"trend"===L?this.backgroundStyle=ms(ms({},xs),g):"simple"===L&&(this.backgroundStyle=ms(ms({},ws),g)),this.foregroundStyle=ms(ms({},_s),m),this.handlerStyle=ms(ms({},Es),x),this.textStyle=ms(ms({},Ss),_),this.tickLabelStyle=ms(ms({},Ms),D.tickLabelStyle),this.tickLineStyle=ms(ms({},Os),D.tickLineStyle),this.currentMode=d.defaultTimeType||Co,this.start=S,this.end=O,this.minText=A,this.maxText=j,this.fontFamily="undefined"!=typeof window&&window.getComputedStyle(document.body,null).getPropertyValue("font-family")||"Arial, sans-serif",this.renderSlider()}return t.prototype.update=function(t){var e=t.x,n=t.y,r=t.width,i=t.height,o=t.minText,a=t.maxText,s=t.start,u=t.end;this.start=Math.min(1,Math.max(s,0)),this.end=Math.min(1,Math.max(u,0)),Object(v.assign)(this,{x:e,y:n,width:r,height:i,minText:o,maxText:a}),this.updateUI()},t.prototype.setText=function(t,e){this.minTextShape.attr("text",t),this.maxTextShape.attr("text",e)},t.prototype.renderSlider=function(){var t=this,e=this.width,n=this.height,r=this.timeBarType;if("trend"===r&&Object(v.size)(Object(v.get)(this.trendCfg,"data"))){var i=new ds(ms(ms({x:this.x,y:this.y,width:e,height:n},this.trendCfg),{group:this.group}));this.trendComponent=i}var o=this.group.addGroup({name:"slider-group"});o.addShape("rect",{attrs:ms({x:0,y:0,width:e,height:n},this.backgroundStyle),name:"background"});var a=this.group.addGroup();"trend"===r?(this.minTextShape=a.addShape("text",{attrs:ms({x:0,y:n/2+this.y,textAlign:"right",text:this.minText,silent:!1,fontFamily:this.fontFamily||"Arial, sans-serif",stroke:"#fff",lineWidth:5},this.textStyle),capture:!1,name:"min-text-shape"}),this.maxTextShape=a.addShape("text",{attrs:ms({y:n/2+this.y,textAlign:"left",text:this.maxText,silent:!1,fontFamily:this.fontFamily||"Arial, sans-serif",stroke:"#fff",lineWidth:5},this.textStyle),capture:!1,name:"max-text-shape"})):(this.minTextShape=a.addShape("text",{attrs:ms({x:0,y:this.y-10,textAlign:"center",text:this.minText,silent:!1,fontFamily:this.fontFamily||"Arial, sans-serif",stroke:"#fff",lineWidth:5},this.textStyle),capture:!1,name:"min-text-shape"}),this.maxTextShape=a.addShape("text",{attrs:ms({y:this.y-10,textAlign:"center",text:this.maxText,silent:!1,fontFamily:this.fontFamily||"Arial, sans-serif",stroke:"#fff",lineWidth:5},this.textStyle),capture:!1,name:"max-text-shape"})),this.foregroundShape=this.group.addGroup().addShape("rect",{attrs:ms({x:0,y:this.y,height:n},this.foregroundStyle),name:"foreground-shape"}),this.foregroundShape.on("mousedown",(function(t){t.target.attr("cursor","grabbing")})),this.foregroundShape.on("mouseup",(function(e){e.target.attr("cursor",t.foregroundStyle.cursor||"grab")}));var s=Object(v.get)(this.handlerStyle,"width",2),u=Object(v.get)(this.handlerStyle,"height",24),c=this.group.addGroup({name:"minHandlerShape"});this.minHandlerShape=new ys({name:"minHandlerShape",group:c,type:r,x:this.x,y:this.y,width:s,height:u,style:this.handlerStyle});var l=this.group.addGroup({name:"maxHandlerShape"});this.maxHandlerShape=new ys({name:"maxHandlerShape",group:l,type:r,x:this.x,y:this.y,width:s,height:u,style:this.handlerStyle});var f=this.ticks,h=e/(f.length-1);this.tickPosList=[],this.textList&&this.textList.length&&this.textList.forEach((function(t){t.destroy()}));var d=-1/0,p=this.tickLabelStyle.rotate;delete this.tickLabelStyle.rotate,this.textList=f.map((function(e,r){var i;t.tickPosList.push(t.x+r*h),t.tickLabelFormatter?(i=t.tickLabelFormatter(e),!Object(v.isString)(i)&&i&&(i=e.date)):i=e.date;var o=t.x+r*h,a=t.y+n+5,s=t.group.addShape("text",{attrs:ms({x:o,y:a,text:i,fontFamily:t.fontFamily||"Arial, sans-serif"},t.tickLabelStyle),name:"tick-label"});if(Object(v.isNumber)(p)&&r!==f.length-1){var u=bs([1,0,0,0,1,0,0,0,1],[["t",-o,-a],["r",p],["t",o-5,a+2]]);s.attr({textAlign:"left",matrix:u})}0===r?s.attr({textAlign:"left"}):r!==f.length-1&&s.attr({textAlign:"right"});var c=t.group.addShape("line",{attrs:ms({x1:t.x+r*h,y1:t.y+n+2,x2:t.x+r*h,y2:t.y+n+6},t.tickLineStyle),name:"tick-line"});c.toBack();var l=s.getBBox();return l.minX>d?(s.show(),c.show(),d=l.minX+l.width+10):(s.hide(),c.hide()),s})),this.controllerBtnGroup=new jo(ms({group:this.group,x:this.x,y:this.y+n+25,width:e,height:35},this.controllerCfg)),this.updateStartEnd(0),this.updateUI(),o.move(this.x,this.y),this.bindEvents(),this.currentMode===Ao&&(this.minHandlerShape.hide(),this.foregroundShape.hide(),this.minTextShape.hide())},t.prototype.bindEvents=function(){var t=this,e=this.group.find((function(t){return"minHandlerShape"===t.get("name")}));e&&(e.on("minHandlerShape-handler:mousedown",this.onMouseDown(this.minHandlerShape)),e.on("minHandlerShape-handler:touchstart",this.onMouseDown(this.minHandlerShape)));var n=this.group.find((function(t){return"maxHandlerShape"===t.get("name")}));n&&(n.on("maxHandlerShape-handler:mousedown",this.onMouseDown(this.maxHandlerShape)),n.on("maxHandlerShape-handler:touchstart",this.onMouseDown(this.maxHandlerShape))),this.foregroundShape.on("mousedown",this.onMouseDown(this.foregroundShape)),this.foregroundShape.on("touchstart",this.onMouseDown(this.foregroundShape)),this.group.on("".concat("playPauseBtn",":click"),(function(){t.isPlay=!t.isPlay,t.currentHandler=t.maxHandlerShape,t.changePlayStatus()})),this.group.on("".concat("nextStepBtn",":click"),(function(){t.currentHandler=t.maxHandlerShape,t.updateStartEnd(.01),t.updateUI()})),this.group.on("".concat("preStepBtn",":click"),(function(){t.currentHandler=t.maxHandlerShape,t.updateStartEnd(-.01),t.updateUI()})),this.group.on("timebarConfigChanged",(function(e){var n=e.type,r=e.speed;t.currentSpeed=r,t.currentMode=n,n===Ao?(t.minHandlerShape.hide(),t.foregroundShape.hide(),t.minTextShape.hide()):n===Co&&(t.minHandlerShape.show(),t.foregroundShape.show(),t.minTextShape.show())}))},t.prototype.adjustTickIndex=function(t){for(var e=0;e<this.tickPosList.length-1;e++)if(this.tickPosList[e]<=t&&t<=this.tickPosList[e+1])return Math.abs(this.tickPosList[e]-t)<Math.abs(t-this.tickPosList[e+1])?e:e+1;return 0},t.prototype.adjustOffsetRange=function(t){switch(this.currentHandler){case this.minHandlerShape:var e=0-this.start,n=1-this.start;return Math.min(n,Math.max(e,t));case this.maxHandlerShape:e=0-this.end,n=1-this.end;return Math.min(n,Math.max(e,t));case this.foregroundShape:e=0-this.start,n=1-this.end;return Math.min(n,Math.max(e,t));default:return 0}},t.prototype.updateStartEnd=function(t){var e=this.ticks[this.adjustTickIndex(this.start*this.width)],n=this.ticks[this.adjustTickIndex(this.end*this.width)];if(!this.currentHandler)return this.minText=this.tickLabelFormatter?this.tickLabelFormatter(e):null==e?void 0:e.date,void(this.maxText=this.tickLabelFormatter?this.tickLabelFormatter(n):null==n?void 0:n.date);switch(this.currentHandler){case this.minHandlerShape:this.maxText=this.maxTextShape.attr("text"),this.start+=t,this.minText=this.tickLabelFormatter?this.tickLabelFormatter(e):e.date;break;case this.maxHandlerShape:this.minText=this.minTextShape.attr("text"),this.end+=t,this.maxText=this.tickLabelFormatter?this.tickLabelFormatter(n):n.date;break;case this.foregroundShape:this.start+=t,this.end+=t,this.minText=this.tickLabelFormatter?this.tickLabelFormatter(e):e.date,this.maxText=this.tickLabelFormatter?this.tickLabelFormatter(n):n.date}},t.prototype.updateUI=function(){var t=this;this.start<0&&(this.start=0),this.start>1&&(this.start=1),this.end>1&&(this.end=1),this.end<0&&(this.end=0);var e=this.x+this.start*this.width,n=this.x+this.end*this.width;this.foregroundShape.attr("x",e),this.foregroundShape.attr("width",n-e);var r=Object(v.get)(this.handlerStyle,"width",2);this.setText(this.minText,this.maxText);var i=this.dodgeText([e,n]),o=i[0],a=i[1];this.minHandlerShape.setX(e-r/2),Object(v.each)(o,(function(e,n){return t.minTextShape.attr(n,e)})),this.maxHandlerShape.setX(n-r/2),Object(v.each)(a,(function(e,n){return t.maxTextShape.attr(n,e)})),this.currentMode===Co?this.graph.emit("valuechange",{value:[this.start,this.end].sort()}):this.currentMode===Ao&&this.graph.emit("valuechange",{value:[this.end,this.end]})},t.prototype.dodgeText=function(t){var e,n,r=Object(v.get)(this.handlerStyle,"width",2),i=this.minTextShape,o=this.maxTextShape,a=t[0],s=t[1],u=!1;a>s&&(a=(e=[s,a])[0],s=e[1],i=(n=[o,i])[0],o=n[1],u=!0);var c=i.getBBox(),l=o.getBBox(),f=null,h=null;return"trend"===this.timeBarType?(f=a-c.width<this.x+2?{x:a+r/2+2,textAlign:"left"}:{x:a-r/2-2,textAlign:"right"},h=s+l.width>this.x+this.width?{x:s-r/2-2,textAlign:"right"}:{x:s+r/2+2,textAlign:"left"}):"simple"===this.timeBarType&&(f=i.attr("x")>c.width?{x:a,textAlign:"center"}:{x:a,textAlign:"left"},h=o.attr("x")>this.width-l.width?{x:s,textAlign:"right"}:{x:s,textAlign:"center"}),u?[h,f]:[f,h]},t.prototype.startPlay=function(){var t=this;return"undefined"!=typeof window?window.requestAnimationFrame((function(){var e=t,n=e.ticks,r=e.width,i=t.currentSpeed,o=r/n.length/(1e3*(10-i)/60),a=t.adjustOffsetRange(o/t.width);t.updateStartEnd(a),t.updateUI(),t.isPlay&&(t.playHandler=t.startPlay())})):void 0},t.prototype.changePlayStatus=function(t){void 0===t&&(t=!0),this.controllerBtnGroup.playButton.update({isPlay:this.isPlay}),this.isPlay?(this.playHandler=this.startPlay(),this.graph.emit("timebarstartplay",null)):this.playHandler&&("undefined"!=typeof window&&window.cancelAnimationFrame(this.playHandler),t&&this.graph.emit("timebarendplay",null))},t.prototype.destory=function(){this.graph.off("valuechange",(function(){}));var t=this.group,e=t.find((function(t){return"minHandlerShape"===t.get("name")}));e&&(e.off("minHandlerShape-handler:mousedown"),e.off("minHandlerShape-handler:touchstart"),e.destroy());var n=t.find((function(t){return"maxHandlerShape"===t.get("name")}));n&&(n.off("maxHandlerShape-handler:mousedown"),n.off("maxHandlerShape-handler:touchstart"),n.destroy()),this.foregroundShape.off("mousedown"),this.foregroundShape.off("touchstart"),this.foregroundShape.destroy(),t.off("".concat("playPauseBtn",":click")),t.off("".concat("nextStepBtn",":click")),t.off("".concat("preStepBtn",":click")),t.off("timebarConfigChanged"),t.destroy(),this.trendComponent&&this.trendComponent.destory()},t}(),As=function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Cs=function(){return(Cs=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)},js=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]])}return n},Is=function(t){function e(e){var n=t.call(this,e)||this;return n.afterrenderListener=function(t){return n.filterData({})},n.valueChangeListener=Object(v.throttle)((function(t){return n.filterData(t)}),200,{trailing:!0,leading:!0}),n.changeData=function(t){var e=n.get("graph");n.cacheGraphData=e.get("data"),n.filterData({})},n}return As(e,t),e.prototype.getDefaultCfgs=function(){return{container:null,className:"g6-component-timebar",padding:10,type:"trend",trend:{data:[],isArea:!1,smooth:!0},controllerCfg:{speed:1,loop:!1},slider:{start:.1,end:.9,minText:"min",maxText:"max"},tick:{start:.1,end:.9,data:[]},textStyle:{},filterEdge:!1,filterItemTypes:["node"],containerCSS:{},putInGraphContainer:!0}},e.prototype.initContainer=function(){var t,e,n=this.get("graph"),r=this._cfgs,i=r.width,o=r.height,a=r.putInGraphContainer,s=this.get("className")||"g6-component-timebar",u=this.get("container");(u?(Object(v.isString)(u)&&(u=document.getElementById(u)),t=u):Nr(t=Tr("<div class='".concat(s,"'></div>")),{position:"relative"}),a)&&this.get("graph").get("container").appendChild(t);this.set("timeBarContainer",t),e="SVG"===n.get("renderer")?new jr.Canvas({container:t,width:i,height:o}):new Cr.Canvas({container:t,width:i,height:o}),this.get("containerCSS")&&Nr(t,this.get("containerCSS")),this.set("canvas",e)},e.prototype.init=function(){this.initContainer();var t=this.get("canvas").addGroup({name:"timebar-group"});this.set("timeBarGroup",t),this.renderTrend(),this.initEvent();var e="undefined"!=typeof window&&window.getComputedStyle(document.body,null).getPropertyValue("font-family")||"Arial, sans-serif";this.set("fontFamily",e)},e.prototype.play=function(){this.togglePlay(!0)},e.prototype.pause=function(){this.togglePlay(!1)},e.prototype.togglePlay=function(t){var e=this.get("timebar");e&&(e.isPlay=!!t,e.changePlayStatus())},e.prototype.renderTrend=function(){var t=this,e=this._cfgs,n=e.width,r=e.x,i=e.y,o=e.padding,a=e.type,s=e.trend,u=e.slider,c=e.controllerCfg,l=e.textStyle,f=e.tick,h=e.backgroundStyle,d=e.foregroundStyle,p=s.data,g=js(s,["data"]),v=n-2*o,y="trend"===a?26:4,m=this.get("graph"),b=this.get("timeBarGroup"),x=this.get("canvas"),w=null;if("trend"===a||"simple"===a){var _=this.get("getValue");w=new ks(Cs(Cs({graph:m,canvas:x,group:b,type:a,x:r+o,y:"trend"===a?i+o:i+o+15,width:v,height:y,padding:o,backgroundStyle:h,foregroundStyle:d,trendCfg:Cs(Cs({},g),{data:p.map((function(t){return(null==_?void 0:_(t))||t.value}))})},u),{tick:{ticks:p,tickLabelFormatter:f.tickLabelFormatter,tickLabelStyle:f.tickLabelStyle,tickLineStyle:f.tickLineStyle},handlerStyle:Cs(Cs({},u.handlerStyle),{height:u.height||y}),controllerCfg:c,textStyle:l}))}else"tick"===a&&(w=new Do(Cs({graph:m,canvas:x,group:b,x:r+o,y:i+o,width:n,height:42,padding:2,controllerCfg:c},f)));var E=function(){var e=t.get("timebar");e.draggingHandler=!1,e.isPlay&&(e.isPlay=!1,e.currentHandler=e.maxHandlerShape,e.changePlayStatus()),document.removeEventListener("mouseup",E)};x.on("mousedown",(function(t){"maxHandlerShape-handler"!==t.target.get("name")&&"minHandlerShape-handler"!==t.target.get("name")&&t.target!==w.foregroundShape||document.addEventListener("mouseup",E)})),this.set("timebar",w)},e.prototype.filterData=function(t){var e,n=t.value;if(!n){n=[];var r=this._cfgs.type;r&&"trend"!==r&&"simple"!==r?"tick"===r&&(n[0]=this._cfgs.tick.start,n[1]=this._cfgs.tick.end):(n[0]=this._cfgs.slider.start,n[1]=this._cfgs.slider.end)}var i=null,o=this._cfgs.type;if("trend"===o||"simple"===o?i=this._cfgs.trend.data:"tick"===o&&(i=this._cfgs.tick.data),i&&0!==i.length){var a=this.get("rangeChange"),s=this.get("graph"),u=Math.round(i.length*n[0]),c=Math.round(i.length*n[1]);c=c>=i.length?i.length-1:c,u=u>=i.length?i.length-1:u;var l=null===(e=this._cfgs.tick)||void 0===e?void 0:e.tickLabelFormatter,f=l?l(i[u]):i[u].date,h=l?l(i[c]):i[c].date;if("tick"!==o)this.get("timebar").setText(f,h);if(a)a(s,f,h);else{(!this.cacheGraphData||this.cacheGraphData.nodes&&0===this.cacheGraphData.nodes.length)&&(this.cacheGraphData=s.get("data"));var d=this.get("filterItemTypes"),p=this.get("changeData"),g=this.get("getDate"),v=this.get("shouldIgnore"),y=i[u].date,m=i[c].date;if(p||void 0===p){var b=this.cacheGraphData.nodes,x=this.cacheGraphData.edges,w={},_={};s.getNodes().forEach((function(t){return w[t.getID()]=!0})),s.getEdges().forEach((function(t){return _[t.getID()]=!0})),d.includes("node")&&(null==b||b.forEach((function(t){var e=+((null==g?void 0:g(t))||t.date),n=e>=y&&e<=m||(null==v?void 0:v("node",t,{min:y,max:m})),r=w[t.id];r&&!n?(s.removeItem(t.id),w[t.id]=!1):!r&&n&&(s.addItem("node",t),w[t.id]=!0)})),null==x||x.forEach((function(t){var e=w[t.source]&&w[t.target]||(null==v?void 0:v("edge",t,{min:y,max:m})),n=!!s.findById(t.id);n&&!e?(s.removeItem(t.id),_[t.id]=!1):!n&&e?(s.addItem("edge",t),_[t.id]=!0):n||(_[t.id]=!1)}))),(this.get("filterEdge")||d.includes("edge"))&&(null==x||x.filter((function(t){var e=+((null==g?void 0:g(t))||t.date),n=e>=y&&e<=m||(null==v?void 0:v("edge",t,{min:y,max:m})),r=w[t.source]&&w[t.target],i=n&&r,o=_[t.id];o&&!i?(_[t.id]=!1,s.removeItem(t.id)):!o&&i&&(_[t.id]=!0,s.addItem("edge",t))})))}else d.includes("node")&&s.getNodes().forEach((function(t){var e=t.getModel();if(!(null==v?void 0:v("node",e,{min:y,max:m}))){var n=+((null==g?void 0:g(e))||e.date);n<y||n>m?s.hideItem(t):s.showItem(t)}})),(this.get("filterEdge")||d.includes("edge"))&&s.getEdges().forEach((function(t){var e=t.getModel();if(!(null==v?void 0:v("edge",e,{min:i[u].date,max:i[c].date}))){var n=+((null==g?void 0:g(e))||e.date);if(n<i[u].date||n>i[c].date)s.hideItem(t);else{var r=t.getSource().isVisible(),o=t.getTarget().isVisible();r&&o&&s.showItem(t)}}}))}}else console.warn("请配置 TimeBar 组件的数据")},e.prototype.initEvent=function(){var t=this.get("graph");t.on("afterchangedata",this.changeData),t.on("afterrender",this.afterrenderListener),t.on("valuechange",this.valueChangeListener)},e.prototype.destroy=function(){var e=this.get("graph");e.off("afterchangedata",this.changeData),e.off("afterrender",this.afterrenderListener),e.off("valuechange",this.valueChangeListener);var n=this.get("timebar");n&&n.destory&&n.destory(),t.prototype.destroy.call(this);var r=this.get("timeBarContainer");if(r){var i=this.get("container");i||(i=this.get("graph").get("container")),Object(v.isString)(i)&&(i=document.getElementById(i)),i===r&&(i=i.parentElement),i.removeChild(r)}},e}(Wi),Ts=function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Ns=xr.applyMatrix;var Ps=function(t){function e(e){return t.call(this,e)||this}return Ts(e,t),e.prototype.getDefaultCfgs=function(){return{container:null,className:"g6-minimap",viewportClassName:"g6-minimap-viewport",width:200,delegateStyle:{fill:"#40a9ff",stroke:"#096dd9"},refresh:!0}},e.prototype.getEvents=function(){return{beforepaint:"updateViewport",beforeanimate:"disableRefresh",afteranimate:"enableRefresh",viewportchange:"disableOneRefresh"}},e.prototype.disableRefresh=function(){this.set("refresh",!1)},e.prototype.enableRefresh=function(){this.set("refresh",!0),this.updateCanvas()},e.prototype.disableOneRefresh=function(){this.set("viewportChange",!0)},e.prototype.initViewport=function(){var t=this,e=this._cfgs,n=e.graph;if(!this.destroyed){var r=this.get("container");Object(v.isString)(r)&&(r=document.getElementById(r));var i=Tr("<div class=".concat(e.viewportClassName,"\n style='position:absolute;\n left:0;\n top:0;\n box-sizing:border-box;\n border: 2px solid #1980ff;\n cursor:move'\n </div>")),o=0,a=0,s=!1,u=0,c=0,l=0,f=0,h=0,d=0;r.addEventListener("mousedown",(function(r){if(e.refresh=!1,r.target===i){var u=i.style;l=parseInt(u.width,10),f=parseInt(u.height,10);var c=t.get("width"),p=t.get("height");l>c||f>p||(d=n.getZoom(),h=t.get("ratio"),s=!0,o=r.clientX,a=r.clientY)}}),!1),r.addEventListener("mousemove",(function(e){if(s&&!Object(v.isNil)(e.clientX)&&!Object(v.isNil)(e.clientY)){var r=t.get("width"),p=t.get("height"),g=i.style;u=parseInt(g.left,10),c=parseInt(g.top,10),l=parseInt(g.width,10),f=parseInt(g.height,10);var y=o-e.clientX,m=a-e.clientY;u-y<0?y=u:u-y+l>=r&&(y=0),c-m<0?m=c:c-m+f>=p&&(m=0),c-=m,Nr(i,{left:"".concat(u-=y,"px"),top:"".concat(c,"px")}),n.translate(y*d/h,m*d/h),o=e.clientX,a=e.clientY}}),!1),r.addEventListener("mouseleave",(function(){s=!1,e.refresh=!0}),!1),r.addEventListener("mouseup",(function(){s=!1,e.refresh=!0}),!1),this.set("viewport",i),r.appendChild(i)}},e.prototype.updateViewport=function(){if(!this.destroyed){var t=this.get("ratio"),e=this.get("width"),n=this.get("height"),r=this.get("graph"),i=r.get("width"),o=i/r.get("height"),a=r.getGroup(),s=a.getCanvasBBox(),u=[(s.minX+s.maxX)/2,(s.minY+s.maxY)/2],c=[s.maxX-s.minX,s.maxY-s.minY],l={centerX:u[0],centerY:u[1],width:0,height:0,minX:0,minY:0};s[0]/s[1]>o?(l.width=c[0],l.height=l.width/o):(l.height=c[1],l.width=l.height*o),l.minX=u[0]-l.width/2,l.minY=u[1]-l.height/2;var f=a.getMatrix();f||(f=[1,0,0,0,1,0,0,0,1]);var h=w.b.invert([1,0,0,0,1,0,0,0,1],f),d=Ns({x:l.minX,y:l.minY},h),p=r.getCanvasByPoint(d.x,d.y),g=this.get("viewport");g||this.initViewport();var v=i/l.width,y=v*e,m=v*n,b=e*-p.x/l.width,x=n*-p.y/l.height,_=b+y,E=x+m;b<0&&(y+=b,b=0),_>e&&(y-=_-e),x<0&&(m+=x,x=0),E>n&&(m-=E-n),this.set("ratio",t),Nr(g,{left:"".concat(b,"px"),top:"".concat(x,"px"),width:"".concat(y,"px"),height:"".concat(m,"px")})}},e.prototype.init=function(){this.initContainer()},e.prototype.initContainer=function(){var t=this.get("graph"),e=t.get("width"),n=t.get("height")/e,r=this.get("className"),i=this.get("container"),o=this.get("width"),a=this.get("height");o||a||(o=200),o?(a=n*o,this.set("height",a)):(o=1/n*a,this.set("width",o));var s=Tr("<div class='".concat(r,"' style='width: ").concat(o,"px; height: ").concat(a,"px; overflow: hidden; position: relative;'></div>"));Object(v.isString)(i)&&(i=document.getElementById(i)),i?i.appendChild(s):t.get("container").appendChild(s),this.set("container",s);var u=Tr('<div class="g6-minimap-container" style="position: relative; width: 100%; height: 100%; text-align: center; display: table;"></div>');s.appendChild(u);var c=Tr('<span style="display: table-cell; vertical-align: middle; "></span>');u.appendChild(c),this.set("containerDOM",u),this.set("containerSpan",c);var l=Tr('<img alt="" src="'.concat(this.get("graphImg"),'" style="display: inline-block; user-select: none;" draggable="false" />'));this.set("imgDOM",l),this.updateImgSize(),c.appendChild(l),this.updateCanvas()},e.prototype.updateImgSize=function(){var t=this.get("imgDOM"),e=this.get("width"),n=this.get("height");t.onload=function(){var r=function(t,e){var n,r;if(t.naturalWidth)n=t.naturalWidth,r=t.naturalHeight;else{var i=new Image;i.src=t.src,i.onload=function(){e&&e(i.width,i.height)}}return[n,r]}(t);r[0]>r[1]?t.width=e:t.height=n}},e.prototype.updateCanvas=function(){if(this.get("refresh")){var t=this.get("graph");if(!t.get("destroyed")){this.get("viewportChange")&&(this.set("viewportChange",!1),this.updateViewport());var e=this.get("width")/t.get("canvas").getCanvasBBox().width;this.set("ratio",e),this.updateViewport()}}},e.prototype.getViewport=function(){return this.get("viewport")},e.prototype.getContainer=function(){return this.get("container")},e.prototype.updateGraphImg=function(t){this.get("imgDOM").remove(),this.set("graphImg",t);var e=Tr('<img alt="" src="'.concat(t,'" style="display: inline-block;" ondragstart="return false;" onselectstart="return false;"/>'));this.set("imgDOM",e),e.src=t,this.updateImgSize(),this.get("containerSpan").appendChild(e),this.updateCanvas()},e.prototype.destroy=function(){var t=this.get("container");t.parentNode.removeChild(t)},e}(Wi),Ds=function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Ls=function(){return(Ls=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)},Rs=xr.distance,Bs={stroke:"#000",strokeOpacity:.8,lineWidth:2,fillOpacity:1,fill:"#fff"},Fs=function(t){function e(e){return t.call(this,e)||this}return Ds(e,t),e.prototype.getDefaultCfgs=function(){return{type:"both",trigger:"mousemove",r:60,delegateStyle:Object(v.clone)(Bs),showLabel:"edge",scaleRBy:"wheel"}},e.prototype.getEvents=function(){var t;switch(this.get("trigger")){case"click":t={click:"filter"};break;case"drag":t={click:"createDelegate"};break;default:t={mousemove:"filter"}}return t},e.prototype.init=function(){var t=this.get("showLabel"),e="node"===t||"both"===t,n="edge"===t||"both"===t;this.set("showNodeLabel",e),this.set("showEdgeLabel",n),this.get("shouldShow")||this.set("shouldShow",(function(){return!0}))},e.prototype.createDelegate=function(t){var e=this,n=e.get("delegate");n&&!n.destroyed||(e.filter(t),(n=e.get("delegate")).on("dragstart",(function(t){})),n.on("drag",(function(t){e.filter(t)})),"wheel"===this.get("scaleRBy")&&n.on("mousewheel",(function(t){e.scaleRByWheel(t)})))},e.prototype.scaleRByWheel=function(t){if(t&&t.originalEvent){t.preventDefault&&t.preventDefault();var e,n=this.get("graph"),r=this.get("delegate");(r?{x:r.attr("x"),y:r.attr("y")}:void 0)||n.getPointByClient(t.clientX,t.clientY);e=t.originalEvent.wheelDelta<0?.95:1/.95;var i=this.get("maxR"),o=this.get("minR"),a=this.get("r");(a>(i||n.get("height"))&&e>1||a<(o||.05*n.get("height"))&&e<1)&&(e=1),a*=e,this.set("r",a),this.filter(t)}},e.prototype.filter=function(t){var e=this.get("graph"),n=e.getNodes(),r={},i=this.get("r"),o=this.get("type"),a={x:t.x,y:t.y};this.updateDelegate(a,i);var s=this.get("shouldShow"),u=this.get("vShapes");u&&u.forEach((function(t){t.remove(),t.destroy()})),u=[],n.forEach((function(t){var e=t.getModel(),n=e.x,o=e.y;Rs({x:n,y:o},a)<i&&(r[e.id]=t)}));var c=e.getEdges(),l=[];c.forEach((function(t){var e=t.getModel(),n=e.source,i=e.target;s(e)&&("only-source"===o||"one"===o?r[n]&&!r[i]&&l.push(t):"only-target"===o||"one"===o?r[i]&&!r[n]&&l.push(t):"both"===o&&r[n]&&r[i]&&l.push(t))}));var f=this.get("showNodeLabel"),h=this.get("showEdgelabel"),d=e.get("group");l.forEach((function(t){t.get("group").get("children").forEach((function(t){var e=t.get("type"),n=d.addShape(e,{attrs:t.attr()});u.push(n),f&&"text"===e&&n.set("visible",!0)}))})),Object.keys(r).forEach((function(t){var e=r[t].get("group").clone();if(d.add(e),u.push(e),h)for(var n=e.get("children"),i=0;i<n.length;i++){var o=n[i];"text"===o.get("type")&&o.set("visible",!0)}})),this.set("vShapes",u)},e.prototype.updateParams=function(t){var e=t.r,n=t.trigger,r=t.minR,i=t.maxR,o=t.scaleRBy,a=t.showLabel,s=t.shouldShow;if(isNaN(t.r)||this.set("r",e),isNaN(i)||this.set("maxR",i),isNaN(r)||this.set("minR",r),"mousemove"!==n&&"click"!==n||this.set("trigger",n),"wheel"===o||"unset"===o){this.set("scaleRBy",o),this.get("delegate").remove(),this.get("delegate").destroy();var u=this.get("dPercentText");u&&(u.remove(),u.destroy())}"node"!==a&&"both"!==a||this.set("showNodeLabel",!0),"edge"!==a&&"both"!==a||this.set("showEdgeLabel",!0),s&&this.set("shouldShow",s)},e.prototype.updateDelegate=function(t,e){var n=this,r=n.get("graph"),i=n.get("delegate");if(!i||i.destroyed){var o=r.get("group"),a=n.get("delegateStyle")||Bs;i=o.addShape("circle",{attrs:Ls({r:e,x:t.x,y:t.y},a),name:"lens-shape",draggable:!0}),"drag"!==this.get("trigger")&&"wheel"===this.get("scaleRBy")&&i.on("mousewheel",(function(t){n.scaleRByWheel(t)}))}else i.attr({x:t.x,y:t.y,r:e});n.set("delegate",i)},e.prototype.clear=function(){var t=this.get("vShapes");t&&t.forEach((function(t){t.remove(),t.destroy()})),t=[],this.set("vShapes",t);var e=this.get("delegate");e&&!e.destroyed&&(e.remove(),e.destroy())},e.prototype.destroy=function(){this.clear()},e}(Wi),zs=function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Gs=xr.pointLineDistance,Ys={stroke:"#FA8C16",lineWidth:1},Us=function(t){function e(e){return t.call(this,e)||this}return zs(e,t),e.prototype.getDefaultCfgs=function(){return{line:Ys,itemAlignType:"center",tolerance:5,horizontalLines:{},verticalLines:{},alignLines:[]}},e.prototype.init=function(){},e.prototype.getEvents=function(){return{"node:dragstart":"onDragStart","node:drag":"onDrag","node:dragend":"onDragEnd"}},e.prototype.onDragStart=function(){this.initBoxLine()},e.prototype.onDrag=function(t){var e=t.item,n=(e.get("delegateShape")||e).getBBox(),r=e.getModel(),i=r.x-n.x,o=r.y-n.y;this.show({x:n.minX+i,y:n.minY+o},{width:n.width,height:n.height})},e.prototype.onDragEnd=function(){this.destory()},e.prototype.initBoxLine=function(){var t=this._cfgs,e=t.horizontalLines,n=t.verticalLines,r=t.itemAlignType;this.get("graph").getNodes().forEach((function(t){var i=t.getBBox(),o=t.get("id");!0===r||"horizontal"===r?(e["".concat(o,"tltr")]=[i.minX,i.minY,i.maxX,i.minY,t],e["".concat(o,"lcrc")]=[i.minX,i.centerY,i.maxX,i.centerY,t],e["".concat(o,"blbr")]=[i.minX,i.maxY,i.maxX,i.maxY,t]):"center"===r&&(e["".concat(o,"lcrc")]=[i.minX,i.centerY,i.maxX,i.centerY,t]),!0===r||"vertical"===r?(n["".concat(o,"tlbl")]=[i.minX,i.minY,i.minX,i.maxY,t],n["".concat(o,"tcbc")]=[i.centerX,i.minY,i.centerX,i.maxY,t],n["".concat(o,"trbr")]=[i.maxX,i.minY,i.maxX,i.maxY,t]):"center"===r&&(n["".concat(o,"tcbc")]=[i.centerX,i.minY,i.centerX,i.maxY,t])}))},e.prototype.show=function(t,e){var n=Object(v.mix)({},t);return this.itemAlign(t,e,n),t},e.prototype.itemAlign=function(t,e,n){var r=this,i=this._cfgs,o=i.horizontalLines,a=i.verticalLines,s=i.tolerance,u={x:n.x+e.width/2,y:n.y},c={x:n.x+e.width/2,y:n.y+e.height/2},l={x:n.x+e.width/2,y:n.y+e.height},f={x:n.x,y:n.y+e.height/2},h={x:n.x+e.width,y:n.y+e.height/2},d=[],p=[],g=null;if(this.clearAlignLine(),Object(v.each)(o,(function(t){t[4].isVisible&&(d.push(r.getLineDisObject(t,u)),d.push(r.getLineDisObject(t,c)),d.push(r.getLineDisObject(t,l)))})),Object(v.each)(a,(function(t){t[4].isVisible&&(p.push(r.getLineDisObject(t,f)),p.push(r.getLineDisObject(t,c)),p.push(r.getLineDisObject(t,h)))})),d.sort((function(t,e){return t.dis-e.dis})),p.sort((function(t,e){return t.dis-e.dis})),0!==d.length&&d[0].dis<s){t.y=d[0].line[1]-d[0].point.y+n.y,g={type:"item",horizontals:[d[0]]};for(var y=1;y<3;y++)d[0].dis===d[y].dis&&g.horizontals.push(d[y])}if(0!==p.length&&p[0].dis<s){t.x=p[0].line[0]-p[0].point.x+n.x,g?g.verticals=[p[0]]:g={type:"item",verticals:[p[0]]};for(y=1;y<3;y++)p[0].dis===p[y].dis&&g.verticals.push(p[y])}g&&(g.bbox=e,this.addAlignLine(g))},e.prototype.addAlignLine=function(t){var e=t.bbox,n=t.type,r=t.horizontals,i=t.verticals,o=this._cfgs,a=o.line,s=o.alignLines,u=this.get("graph").get("group");"item"===n&&(r&&Object(v.each)(r,(function(t){var n,r,i=t.line,o=t.point,c=(i[0]+i[2])/2;o.x<c?(n=o.x-e.width/2,r=Math.max(i[0],i[2])):(n=o.x+e.width/2,r=Math.min(i[0],i[2]));var l=Object(v.mix)({x1:n,y1:i[1],x2:r,y2:i[1]},a),f=u.addShape("line",{attrs:l,capture:!1});s.push(f)})),i&&Object(v.each)(i,(function(t){var n,r,i=t.line,o=t.point,c=(i[1]+i[3])/2;o.y<c?(n=o.y-e.height/2,r=Math.max(i[1],i[3])):(n=o.y+e.height/2,r=Math.min(i[1],i[3]));var l=Object(v.mix)({x1:i[0],y1:n,x2:i[0],y2:r},a),f=u.addShape("line",{attrs:l,capture:!1});s.push(f)})))},e.prototype.getLineDisObject=function(t,e){return{line:t,point:e,dis:Gs(t,e)}},e.prototype.getContainer=function(){return this.get("container")},e.prototype.clearAlignLine=function(){var t=this._cfgs.alignLines;Object(v.each)(t,(function(t){t.remove()})),t.length=0},e.prototype.destory=function(){var t=this._cfgs,e=t.horizontalLines,n=t.verticalLines;this.get("graph").getNodes().forEach((function(t){var r=t.get("id");delete e["".concat(r,"tltr")],delete e["".concat(r,"lcrc")],delete e["".concat(r,"blbr")],delete n["".concat(r,"tlbl")],delete n["".concat(r,"tcbc")],delete n["".concat(r,"trbr")]})),this.clearAlignLine()},e}(Wi),Xs=function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Ws=function(){return(Ws=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)},Vs=["click","mouseenter"],Hs=function(t){function e(e){return t.call(this,e)||this}return Xs(e,t),e.prototype.getDefaultCfgs=function(){return{data:{},position:"top",padding:8,margin:8,offsetX:0,offsetY:0,layout:"horizontal",flipPage:!1,containerStyle:{},align:void 0,horiSep:8,vertiSep:8,filter:{enable:!1,trigger:"click"}}},e.prototype.init=function(){this.formatArray("padding"),this.formatArray("margin");var t=this.get("filter")||{};t.multiple&&"mouseenter"===t.trigger&&this.set("multiple",!1);var e=this.get("align");if(!e){var n=this.get("position").split("-");n.includes("left")&&(e="left"),e=n.includes("right")?"right":"center",this.set("align",e)}var r=this.get("graph").get("container"),i=Tr("<div class='g6-legend-container' style=\"position: absolute;\"></div>");r.appendChild(i),this.set("container",i);var o=this.render();Nr(i,this.getContainerPos(o)),this.bindEvents()},e.prototype.getContainerPos=function(t){void 0===t&&(t=[0,0]);var e=this.get("graph"),n=this.get("offsetX"),r=this.get("offsetY"),i=this.get("margin"),o=this.get("position").split("-"),a={top:0,right:1,bottom:2,left:3},s={left:(e.getWidth()-t[0])/2+0,top:(e.getHeight()-t[1])/2+0};return o.forEach((function(n){var r=i[a[n]],o=n;switch(n){case"top":case"left":r+=0;break;case"bottom":r=e.getHeight()-t[1]-r+0,o="top";break;default:r=e.getWidth()-t[0]-r+0,o="left"}s[o]=r})),s.top+=r+e.getContainer().offsetTop,s.left+=n+e.getContainer().offsetLeft,Object.keys(s).forEach((function(t){s[t]="".concat(s[t],"px")})),s},e.prototype.bindEvents=function(){var t=this,e=t.get("filter");if(e&&e.enable){var n=e.trigger||"click";Vs.includes(n)||(console.warn("Trigger for legend filterling must be 'click' or 'mouseenter', 'click' will take effect by default."),n="click");var r=t.get("legendCanvas");"mouseenter"===n?(r.on("node-container:mouseenter",(function(e){return t.filterData(e)})),r.on("node-container:mouseleave",(function(e){t.clearFilter(),t.clearActiveLegend()}))):(r.on("node-container:click",(function(e){return t.filterData(e)})),r.on("click",(function(e){e.target&&e.target.isCanvas&&e.target.isCanvas()&&(t.clearFilter(),t.clearActiveLegend())})))}},e.prototype.changeData=function(t){this.set("data",t);var e=this.render();Nr(this.get("container"),this.getContainerPos(e))},e.prototype.activateLegend=function(t){var e=this.get("filter");(null==e?void 0:e.multiple)||this.clearActiveLegend();var n=t.get("parent");n.get("active")?(n.set("active",!1),this.findLegendItemsByState("active").length&&n.set("inactive",!0)):(n.set("inactive",!1),n.set("active",!0)),this.findLegendItemsByState("active").length?this.findLegendItemsByState("active","all",!1).forEach((function(t){t.set("inactive",!0)})):this.clearActiveLegend();var r=(null==e?void 0:e.legendStateStyles)||{},i=(null==r?void 0:r.inactive)||{opacity:.5,"text-shape":{opacity:.5}},o=i["text-shape"]||{};this.findLegendItemsByState("inactive").forEach((function(t){var e=t.get("children"),n=e[0],r=e[1];n.attr(Ws(Ws({},n.get("oriAttrs")),i)),r.attr(Ws(Ws({},r.get("oriAttrs")),o))}));var a=(null==r?void 0:r.active)||{stroke:"#000",lineWidth:2,"text-shape":{fontWeight:"bold"}},s=a["text-shape"]||{};this.findLegendItemsByState("active").forEach((function(t){var e=t.get("children"),n=e[0],r=e[1];n.attr(Ws(Ws({},n.get("oriAttrs")),a)),r.attr(Ws(Ws({},r.get("oriAttrs")),s))}))},e.prototype.findLegendItemsByState=function(t,e,n){void 0===e&&(e="all"),void 0===n&&(n=!0);var r=this.get("legendCanvas").find((function(t){return"root"===t.get("name")})),i=r.find((function(t){return"node-group"===t.get("name")})),o=r.find((function(t){return"edge-group"===t.get("name")}));return"node"===e?i.get("children").filter((function(e){return!!e.get(t)===n})):"edge"===e?o.get("children").filter((function(e){return!!e.get(t)===n})):i.get("children").filter((function(e){return!!e.get(t)===n})).concat(o.get("children").filter((function(e){return!!e.get(t)===n})))},e.prototype.clearActiveLegend=function(){var t=this.get("legendCanvas").find((function(t){return"root"===t.get("name")}));[t.find((function(t){return"node-group"===t.get("name")})),t.find((function(t){return"edge-group"===t.get("name")}))].forEach((function(t){t.get("children").forEach((function(t){t.set("active",!1),t.set("inactive",!1);var e=t.get("children"),n=e[0],r=e[1];n.attr(n.get("oriAttrs")),r.attr(r.get("oriAttrs"))}))}))},e.prototype.filterData=function(t){var e=this.get("filter"),n=null==e?void 0:e.filterFunctions;if(e&&n){var r=this.get("legendCanvas"),i=this.get("graph"),o=e.graphActiveState||"active",a=e.graphInactiveState||"inactive",s=e.multiple;this.clearFilter(),s||this.clearActiveLegend(),this.activateLegend(t.target);var u=r.find((function(t){return"root"===t.get("name")})),c=u.find((function(t){return"node-group"===t.get("name")})),l=u.find((function(t){return"edge-group"===t.get("name")})),f=c.get("children").filter((function(t){return t.get("active")})),h=l.get("children").filter((function(t){return t.get("active")})),d=0,p=["getNodes","getEdges"];p.forEach((function(t){i[t]().forEach((function(e){var r=!1;("getNodes"===t?f:h).forEach((function(t){var i=n[t.get("id")];r=r||i(e.getModel())})),r?(i.setItemState(e,a,!1),i.setItemState(e,o,!0),d++):(i.setItemState(e,o,!1),i.setItemState(e,a,!0))}))})),d||p.forEach((function(t){i[t]().forEach((function(t){i.clearItemStates(t,[a])}))}))}},e.prototype.clearFilter=function(){var t=this.get("graph"),e=this.get("filter");if(e){var n=e.graphActiveState||"active",r=e.graphInactiveState||"inactive";t.getNodes().forEach((function(e){t.clearItemStates(e,[n,r])})),t.getEdges().forEach((function(e){t.clearItemStates(e,[n,r])}))}},e.prototype.render=function(){var t=this;this.processData();var e=this.get("legendCanvas");e?e.clear():e=new Cr.Canvas({container:this.get("container"),width:200,height:200});var n=e.addGroup({name:"root"}),r=n.addGroup({name:"node-group"}),i=n.addGroup({name:"edge-group"});this.set("legendCanvas",e);var o=this.get("itemsData"),a=[r,i];["nodes","edges"].forEach((function(e,n){o[e].forEach((function(r){var i,o,s=a[n].addGroup({id:r.id,name:"node-container"}),u=r.type,c=t.getShapeSize(r),l=c.width,f=c.height,h=c.r,d=t.getStyle(e.substr(0,4),r);switch(r.type){case"circle":o={r:h,x:0,y:0};break;case"rect":o={width:l,height:f,x:-l/2,y:-f/2};break;case"ellipse":o={rx:l,ry:f,x:0,y:0},u="ellipse";break;case"line":o={x1:-l/2,y1:0,x2:l/2,y2:0},u="line";break;case"quadratic":o={path:[["M",-l/2,0],["Q",0,l/2,l/2,0]]},u="path";break;case"cubic":o={path:[["M",-l/2,0],["C",-l/6,l/2,l/6,-l/2,l/2,0]]},u="path";break;case"diamond":o={path:[["M",0,-f],["L",l,0],["L",0,f],["L",-l,0],["Z"]]},u="path";break;case"triangle":o={path:[["M",-l,f],["L",0,-f],["L",l,f],["Z"]]},u="path";break;case"star":o={path:xr.getStarPath(3*h,1.2*h)},u="path";break;default:o={r:h,x:0,y:0}}var p=s.addShape(u,{attrs:Ws(Ws({},o),d),name:"".concat(r.type,"-node-keyShape"),oriAttrs:Ws({opacity:1},d)});if(r.label){var g=p.getBBox(),v=(null===(i=r.labelCfg)||void 0===i?void 0:i.style)||{},y=Ws({textAlign:"begin",fontSize:12,textBaseline:"middle",fill:"#000",opacity:1,fontWeight:"normal"},v);s.addShape("text",{attrs:Ws({x:g.maxX+4,y:0,text:r.label},y),className:"legend-label",name:"".concat(r.type,"-node-text"),oriAttrs:y})}}))}));var s,u=this.get("padding"),c=n.find((function(t){return"title-container"===t.get("name")})),l={height:0,maxY:0,width:0};if(this.get("title")){c||(c=n.addGroup({name:"title-container"}));var f={fontSize:20,fontFamily:"Arial",fontWeight:300,textBaseline:"top",textAlign:"center",fill:"#000",x:0,y:u[0]},h=this.get("titleConfig")||{},d=Object.assign(f,h.style||{});s=c.addShape("text",{attrs:Ws({text:this.get("title")},d)}),l=c.getCanvasBBox(),c.setMatrix([1,0,0,0,1,0,h.offsetX,h.offsetY,1])}this.layoutItems();var p=n.getCanvasBBox(),g=r.getCanvasBBox(),v=g.minX<0?Math.abs(g.minX)+u[3]:u[3],y=l.maxY<g.minY?Math.abs(l.maxY-g.minY)+u[0]:l.maxY+u[0],m=[1,0,0,0,1,0,v,y,1];r.setMatrix(m);var b=[(p=n.getCanvasBBox()).minX+p.width+u[1],p.minY+p.height+u[2]];if(s){h=Ws({position:"center",offsetX:0,offsetY:0},this.get("titleConfig"));l=c.getCanvasBBox();var x=c.getMatrix()||[1,0,0,0,1,0,0,0,1];"center"===h.position?x[6]=b[0]/2+h.offsetX:"right"===h.position?(x[6]=b[0]-u[3]+h.offsetX,s.attr({textAlign:"right"})):(x[6]=u[3]+h.offsetX,s.attr({textAlign:"left"})),c.setMatrix(x),l=c.getCanvasBBox(),m=[1,0,0,0,1,0,v=g.minX<0?Math.abs(g.minX)+u[3]:u[3],y=g.minY<l.maxY?Math.abs(l.maxY-g.minY)+u[0]:l.maxY+u[0],1],r.setMatrix(m);var w=[1,0,0,0,1,0,v,y,1];"vertical"===this.get("layout")?w[6]+=g.maxX+this.get("horiSep"):w[7]+=g.maxY+this.get("vertiSep"),i.setMatrix(w)}else{g=r.getCanvasBBox();var _=[1,0,0,0,1,0,0,0,1];"vertical"===this.get("layout")?_[6]+=m[6]+g.maxX+this.get("horiSep"):_[7]+=m[7]+g.maxY+this.get("vertiSep"),i.setMatrix(_)}p=n.getCanvasBBox(),g=r.getCanvasBBox(),m=r.getMatrix()||[1,0,0,0,1,0,0,0,1];var E=i.getMatrix()||[1,0,0,0,1,0,0,0,1],S=i.getCanvasBBox();b=[Math.max(g.width+m[6],S.width+E[6])+u[1],Math.max(g.height+m[7],S.height+E[7])+u[2]],e.changeSize(b[0],b[1]);var M=this.get("containerStyle"),O=n.getMatrix()||[1,0,0,0,1,0,0,0,1],k=xr.invertMatrix({x:0,y:0},O);return n.addShape("rect",{attrs:Ws({x:k.x+(M.lineWidth||1),y:k.y+(M.lineWidth||1),width:b[0]-2*(M.lineWidth||1),height:b[1]-2*(M.lineWidth||1),fill:"#f00",stroke:"#000",lineWidth:1,opacity:.5},M),name:"legend-back-rect",capture:!1}).toBack(),b},e.prototype.layoutItems=function(){var t=this.get("legendCanvas"),e=this.get("horiSep"),n=this.get("vertiSep"),r=this.get("layout"),i=this.get("align"),o=[0,0],a=t.find((function(t){return"root"===t.get("name")})),s=a.find((function(t){return"node-group"===t.get("name")})),u=a.find((function(t){return"edge-group"===t.get("name")})),c={min:0,max:-1/0},l=-1/0;s.get("children").forEach((function(t,i){0===i&&(c.min=o[0]);var a=t.get("children")[0],s=t.getCanvasBBox(),u=a.getBBox(),f=u.width,h=u.height,d=0,p=0,g=0;"vertical"===r?(p=o[1],g=o[0]+f/2,o[0]=g+s.height+n,d=s.maxX+p+f/2):(p=o[0]+f/2,g=o[1],o[0]=p+s.width+e,d=s.maxY+g+h/2),o[0]>c.max&&(c.max=o[0]),d>l&&(l=d),t.setMatrix([1,0,0,0,1,0,p,g,1])}));var f=c.max-c.min,h={min:0,max:-1/0},d=s.getCanvasBBox();o[0]=0,o[1]="vertical"===r?d.maxX+e:d.maxY+n,u.get("children").forEach((function(t,i){0===i&&(h.min=o[0]);var a=t.get("children")[0],s=t.getCanvasBBox(),u=a.getBBox(),c=u.width,l=u.height,f=0,d=0;"vertical"===r?(f=o[1],d=o[0],o[0]=d+s.height+n,t.setMatrix([1,0,0,0,1,0,0,d+l/2,1])):(f=o[0],d=o[1],o[0]=f+s.width+e,t.setMatrix([1,0,0,0,1,0,f+c/2,0,1])),o[0]>h.max&&(h.max=o[0])}));var p=h.max-h.min;if(i&&""!==i&&"left"!==i){var g=f-p,v="center"===i?Math.abs(g)/2:Math.abs(g);(g<0?s:u).get("children").forEach((function(t){var e=t.getMatrix()||[1,0,0,0,1,0,0,0,1];"vertical"===r?e[7]+=v:e[6]+=v,t.setMatrix(e)}))}},e.prototype.processData=function(){var t=this.get("data"),e={nodes:[],edges:[]};t.nodes&&(t.nodes.sort((function(t,e){return t.order-e.order})),t.nodes.forEach((function(t){var n,r,i,o,a,s=t.size||[(null===(n=t.style)||void 0===n?void 0:n.width)||(null===(r=t.style)||void 0===r?void 0:r.r)||8,(null===(i=t.style)||void 0===i?void 0:i.height)||(null===(o=t.style)||void 0===o?void 0:o.r)||8],u=(null===(a=t.labelCfg)||void 0===a?void 0:a.style)||{};e.nodes.push({id:t.id||Object(v.uniqueId)(),type:t.type||"circle",style:Ws({},t.style),order:t.order,label:t.label,itemType:"node",size:s,labelCfg:{position:"right",style:Ws({fontFamily:"Arial"},u)}})}))),t.edges&&(t.edges.sort((function(t,e){return t.order-e.order})),t.edges.forEach((function(t){var n,r,i=t.type||"line";"cubic-horizontal"===t.type&&(i="cubic");var o=(null===(n=t.labelCfg)||void 0===n?void 0:n.style)||{},a=t.size||[(null===(r=t.style)||void 0===r?void 0:r.width)||8,1];e.edges.push({id:t.id||Object(v.uniqueId)(),type:i,size:a,style:Ws({lineWidth:Object(v.isArray)(a)?a[1]:1},t.style),order:t.order,label:t.label,itemType:"edge",labelCfg:{position:"right",style:Ws({fontFamily:"Arial"},o)}})}))),this.set("itemsData",e)},e.prototype.getContainer=function(){return this.get("container")},e.prototype.formatArray=function(t){var e=this.get(t);if(Object(v.isNumber)(e))this.set(t,[e,e,e,e]);else if(Object(v.isArray)(e))switch(e.length){case 0:this.set(t,[0,0,0,0]);break;case 1:this.set(t,[e[0],e[0],e[0],e[0]]);break;case 2:this.set(t,[e[0],e[1],e[0],e[1]]);break;case 3:this.set(t,[e[0],e[1],e[2],e[1]])}return this.get(t)},e.prototype.getShapeSize=function(t){var e,n,r;return t.size&&(Object(v.isArray)(t.size)?(e=t.size[0],n=t.size[1]||t.size[0],r=t.size[0]/2):Object(v.isNumber)(t.size)&&(e=t.size,n=t.size,r=t.size/2)),t.style&&(t.style.width&&(e=t.style.width),t.style.height&&(n=t.style.height),t.style.r&&(r=t.style.r)),r||(r=5),e||(e=r),n||(n=r),{width:e,height:n,r:r}},e.prototype.getStyle=function(t,e){return Ws(Ws({},"node"===t?{fill:"#ccc",lineWidth:0}:{stroke:"#000",lineWidth:1}),e.style||{})},e.prototype.destroy=function(){var t=this.get("legendCanvas");null==t||t.destroy();var e=this.get("graph").get("container"),n=this.get("container");e.removeChild(n)},e}(Wi),qs=function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Zs=function(){return(Zs=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)},Ks=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]])}return n};"undefined"!=typeof document&&Ki()("\n .g6-annotation-container {\n background-color: rgba(255, 255, 255, 0.3);\n padding: 8px;\n }\n .g6-annotation-wrapper {\n background-color: #fff;\n box-shadow: 0 0 8px rgba(0, 0, 0, 0.85);\n }\n .g6-annotation-header-wapper {\n height: fit-content;\n width: 100%;\n background-color: #5B8FF9;\n display: inline-flex;\n cursor: move;\n }\n .g6-annotation-title {\n margin: 4px 40px 4px 8px;\n cursor: text;\n min-width: 32px;\n }\n .g6-annotation-collapse {\n margin: 4px;\n cursor: pointer;\n }\n .g6-annotation-expand {\n margin: 4px;\n cursor: pointer;\n }\n .g6-annotation-close {\n margin: 4px 8px 4px 0;\n cursor: pointer;\n }\n .g6-annotation-content {\n padding: 8px;\n width: fit-content;\n cursor: text;\n word-break: break-all;\n min-width: 32px;\n }\n .g6-annotation-title-input-wrapper {\n margin: 4px 40px 4px 8px;\n }\n .g6-annotation-content-input {\n height: 100%;\n word-break: break-all;\n }\n .g6-annotation-content-input-wrapper {\n margin: 8px;\n height: 100%;\n }\n");var Qs=function(t){function e(e){return t.call(this,e)||this}return qs(e,t),e.prototype.getDefaultCfgs=function(){return{trigger:"click",editable:!0,itemHighlightState:"highlight",linkHighlightStyle:{shadowColor:"#5B8FF9",shadowBlur:10},cardCfg:{minHeight:60,width:"fit-content",height:"fit-content",collapseType:"minimize",closeType:"hide",borderRadius:5,maxTitleLength:20}}},e.prototype.getEvents=function(){var t={viewportchange:"updateLinks",afterlayout:"updateLinks",aftergraphrefreshposition:"updateLinks",afterupdateitem:"updateLink",afterchangedata:"onGraphDataChange",afteritemvisibilitychange:"onGraphItemVisibilityChange"};switch(this.get("trigger")){case"click":t=Zs(Zs({},t),{"node:click":"showAnnotation","edge:click":"showAnnotation"})}return t},e.prototype.getDOMContent=function(t){if(!this.destroyed){var e=t.collapsed,n=t.maxWidth,r=t.title,i=void 0===r?"":r,o=t.content,a=void 0===o?"":o,s=t.borderRadius,u=void 0===s?5:s,c=e?"<p class='g6-annotation-expand'>+</p>":"<p class='g6-annotation-collapse'>-</p>",l=e?"":" <p class='g6-annotation-content'>".concat(a,"</p>"),f=e?"".concat(u,"px"):"".concat(u,"px ").concat(u,"px 0 0");return'<div class="g6-annotation-wrapper" style="border-radius: '.concat(u,"px; max-width: ").concat(n,'px">\n <div\n class="g6-annotation-header-wapper"\n style="border-radius: ').concat(f,";\"\n >\n <h4 class='g6-annotation-title'>").concat(i,"</h4>\n ").concat(c,"\n ").concat("<p class='g6-annotation-close'>x</p>","\n </div>\n ").concat(l,"\n </div>")}},e.prototype.init=function(){var t=this;if(!t.destroyed){var e=t.get("graph").getContainer(),n=t.get("container");this.get("containerCfg")?(n=this.createContainer(),e.appendChild(n)):n=e,this.set("container",n);var r=e.getBoundingClientRect(),i=new Cr.Canvas({container:e,width:r.right-r.left,height:r.bottom-r.top});Nr(i.get("el"),{position:"absolute",top:0,left:0,pointerEvents:"none"}),window.addEventListener("resize",Object(v.debounce)((function(){return t.resizeCanvas(t)}),100));var o=i.addGroup({id:"annotation-link-group"});t.set("linkGroup",o),t.set("canvas",i),t.get("getTitle")||t.set("getTitle",(function(t){var e,n=(null===(e=null==t?void 0:t.getModel)||void 0===e?void 0:e.call(t))||{},r=n.label,i=n.id;return r||i||"-"})),t.get("getContent")||t.set("getContent",(function(t){var e,n;if(!t)return"-";var r=(null===(e=t.getModel)||void 0===e?void 0:e.call(t))||{},i=r.label,o=r.id,a=null===(n=t.getType)||void 0===n?void 0:n.call(t),s=a?"".concat(a,": "):"";return"".concat(s).concat(i||o||"")}));var a=t.get("defaultData");a&&this.readData(a)}},e.prototype.createContainer=function(){var t=this;if(!this.destroyed){var e=this.get("containerCfg"),n=this.get("graph"),r=n.getContainer(),i=r.getBoundingClientRect(),o=i.left,a=i.right,s=i.top,u=i.bottom-s,c=a-o,l=e.position,f=void 0===l?"top":l,h=e.offsetX,d=void 0===h?0:h,p=e.offsetY,g=void 0===p?0:p,y=Ks(e,["position","offsetX","offsetY"]),m=e.height,b=void 0===m?"fit-content":m,x=e.width,w=void 0===x?n.getWidth():x;"100%"===b&&(b=u),"100%"===w&&(w=c);var _="unset",E="unset",S={};switch(f){case"right":_="".concat(u,"px"),(S={top:0,right:0}).right+=o+d,S.top+=s+g;break;case"bottom":E="".concat(c,"px"),(S={bottom:0,left:0}).left+=o+d,S.bottom+=s+g;break;case"top":E="".concat(c,"px");case"left":_="".concat(u,"px");default:(S={top:0,left:0}).left+=o+d,S.top+=s+g}Object.keys(S).forEach((function(t){S[t]="".concat(S[t],"px")}));var M=Tr("<div class='".concat(e.className," g6-annotation-container'></div>"));return Nr(M,Zs(Zs({position:"absolute",display:"top"===f||"bottom"===f?"inline-flex":"unset",width:Object(v.isNumber)(w)?"".concat(w,"px"):w,height:Object(v.isNumber)(b)?"".concat(b,"px"):b,maxHeight:_,maxWidth:E,overflow:"scroll"},S),y)),r.appendChild(M),M.addEventListener("scroll",(function(e){t.updateLinks()})),M}},e.prototype.resizeCanvas=function(t){clearTimeout(t.resizeTimer),t.resizeTimer=setTimeout((function(){if(t&&!t.destroyed){var e=t.get("container").getBoundingClientRect(),n=e.right-e.left,r=e.bottom-e.top;t.get("canvas").changeSize(n,r),t.updateOutsideCards(t)}}),250)},e.prototype.updateOutsideCards=function(t){var e=t||this,n=e.get("cardInfoMap")||{},r=e.get("graph"),i=r.getPointByCanvas(0,0),o=r.getPointByCanvas(r.getWidth(),r.getHeight()),a=r.getClientByPoint(i.x,i.y),s=a.x,u=a.y,c=r.getClientByPoint(o.x,o.y),l=c.x,f=c.y;Object.values(n).forEach((function(t){var e=t.card;if(e){var n=e.style,r=Js(n.left),i=Js(n.top),o=e.getBoundingClientRect(),a=o.width,c=o.height,h=r,d=i;r+a>l-s&&(h=l-s-a),r<0&&(h=0),i+c>f-u&&(d=f-u-c),i<0&&(d=0),Nr(e,{left:"".concat(h,"px"),top:"".concat(d,"px")})}})),e.updateLinks()},e.prototype.showAnnotation=function(t){if(!this.destroyed){var e=t.item;this.toggleAnnotation(e)}},e.prototype.hideCards=function(){var t=this;if(!t.destroyed){var e=t.get("cardInfoMap")||{};Object.keys(e).forEach((function(e){t.hideCard(e)}))}},e.prototype.toggleAnnotation=function(t,e){var n,r;void 0===e&&(e={});if(!this.destroyed){var i=this.get("cardInfoMap")||{},o=this.get("graph"),a=this.get("container"),s=this.get("containerCfg"),u=Object.assign({},this.get("cardCfg")||{},e),c=u.minHeight,l=u.minWidth,f=u.width,h=u.height,d=u.collapsed,p=void 0!==d&&d,g=u.x,y=u.y,m=u.title,b=u.content,x=u.maxTitleLength,w=u.defaultBegin,_=Ks(u,["minHeight","minWidth","width","height","collapsed","x","y","title","content","maxTitleLength","defaultBegin"]),E=this.get("linkGroup"),S=this.get("rows")||[[]],M=null===(n=t.isCanvas)||void 0===n?void 0:n.call(t),O=M?"canvas-annotation":t.getID(),k=i[O]||{},A=k.card,C=k.link,j=k.x,I=k.y,T=k.title,N=k.content,P=this.get("getTitle"),D=this.get("getContent"),L=this.get("getContentPlaceholder")||function(){return""},R=this.get("getTitlePlaceHolder")||function(){return""},B=L(t),F=R(t),z=Tr(this.getDOMContent(Zs({itemId:O,collapsed:p,title:(null===(r=T||m||(null==P?void 0:P(t)))||void 0===r?void 0:r.substr(0,x))||F,content:N||b||(null==D?void 0:D(t))||B},_))),G=Object(v.isNumber)(c)?"".concat(c,"px"):c;Nr(z,{minHeight:p?"unset":G,minWidth:Object(v.isNumber)(l)?"".concat(l,"px"):l,height:h,width:f});var Y,U=!!A;if(U?(null==C||C.remove(!0),a.replaceChild(z,A)):a.appendChild(z),!s){if(Y=a.getBoundingClientRect()||{},void 0!==g&&void 0!==y)j=g,I=y;else if(!U&&!M){var X=Y.top,W=w||{},V=W.left,H=W.right,q=void 0===H?16:H,Z=W.top,K=void 0===Z?8:Z,Q=W.bottom,$=q,J=K;isNaN(V)||($=a.scrollWidth-V),isNaN(Q)||(J=a.scrollHeight-Q);var tt=Object(v.isNumber)(l)?l:100;j=a.scrollWidth-z.scrollWidth-(S.length-1)*tt-$;var et=S[S.length-1],nt=(et[et.length-1]||{}).bbox;I=(null==nt?void 0:nt.bottom)-X||J}Nr(z,{position:"absolute",left:"".concat(j,"px"),top:"".concat(I,"px"),cusor:s?"unset":"move"})}this.bindListener(z,O);var rt=z.getBoundingClientRect();if(!M){var it=$s(t,rt,o,this.get("canvas")),ot=this.get("linkStyle");C=E.addShape("path",{attrs:Zs({lineWidth:1,lineDash:[5,5],stroke:"#ccc",path:it},ot)})}if(i[O]=Zs(Zs({},i[O]||{}),{id:O,collapsed:p,card:z,link:C,x:j,y:I,cardBBox:rt,content:N||b,title:T||m,contentPlaceholder:B,titlePlaceholder:F,isCanvas:M}),this.set("cardInfoMap",i),s)this.updateCardPositionsInConatainer(),this.updateLinks();else{var at=!isNaN(g)&&!isNaN(y);if(!U&&!M&&!at){var st=Y.bottom,ut=void 0===st?0:st;X=Y.top;S[S.length-1].push({id:O,bbox:rt}),rt.top>ut-X-rt.height-16&&S.push([]),this.set("rows",S)}}this.updateCardSize(O);var ct=this.get("onAnnotationChange");null==ct||ct(i[O],U?"update":"create")}},e.prototype.updateCardPositionsInConatainer=function(){if(!this.destroyed){var t=this.get("cardInfoMap");if(t){var e=this.get("container"),n=this.get("containerCfg").position,r=e.getBoundingClientRect().width,i=getComputedStyle(e),o=Js(i.paddingLeft)+Js(i.paddingRight);r-=o,Object.values(t).forEach((function(t){var e=t.card,i=e.getBoundingClientRect().width;switch(n){case"right":Nr(e,{marginLeft:r?"".concat(r-i,"px"):"0px"});break;case"top":case"bottom":Nr(e,{marginLeft:"8px"})}}))}}},e.prototype.handleExpandCollapseCard=function(t){if(!this.destroyed){var e=this.get("graph"),n=this.get("cardInfoMap");if(n){var r=n[t].collapsed,i=e.findById(t);if(i)"hide"!==this.get("cardCfg").collapseType||r?this.toggleAnnotation(i,{collapsed:!r}):this.hideCard(t),n[t]=Zs(Zs({},n[t]),{collapsed:!r})}}},e.prototype.hideCard=function(t){if(!this.destroyed){var e=this.get("cardInfoMap");if(e&&e[t]){var n=e[t],r=n.card,i=n.link;Nr(r,{display:"none"}),null==i||i.hide(),this.get("onAnnotationChange")(e[t],"hide")}}},e.prototype.removeCard=function(t){if(!this.destroyed){var e=this.get("cardInfoMap");if(e){var n=e[t],r=n.card,i=n.link;this.get("container").removeChild(r),null==i||i.remove(!0),delete e[t],this.get("onAnnotationChange")(n,"remove")}}},e.prototype.bindListener=function(t,e){var n=this;if(!this.destroyed){t.addEventListener("mousemove",(function(t){var r;if("g6-annotation-collapse"===t.target.className?r="collapse":"g6-annotation-expand"===t.target.className?r="expand":"g6-annotation-close"===t.target.className&&(r="close"),r){var i=n.get("cardCfg").onMouseEnterIcon;(void 0===i?function(){}:i)(t,e,r)}})),t.addEventListener("mouseout",(function(t){var r;if("g6-annotation-collapse"===t.target.className?r="collapse":"g6-annotation-expand"===t.target.className?r="expand":"g6-annotation-close"===t.target.className&&(r="close"),r){var i=n.get("cardCfg").onMouseLeaveIcon;(void 0===i?function(){}:i)(t,e,r)}})),t.addEventListener("mouseenter",(function(t){var r=n.get("cardInfoMap");if(r){var i=n.get("graph"),o=i.findById(e);if(o){var a=n.get("itemHighlightState");i.setItemState(o,a,!0)}var s=r[e].link;if(s){var u=n.get("linkHighlightStyle")||{};s.attr(u)}}})),t.addEventListener("mouseleave",(function(t){var r=n.get("cardInfoMap");if(r){var i=n.get("graph"),o=i.findById(e);if(o){var a=n.get("itemHighlightState");i.setItemState(o,a,!1)}var s=r[e].link;if(s){var u=n.get("linkHighlightStyle")||{};Object.keys(u).forEach((function(t){s.attr(t,void 0),s.attr(t,void 0)}));var c=n.get("linkStyle");s.attr(c)}}})),t.addEventListener("click",(function(t){var r=(n.get("cardCfg")||{}).onClickIcon;if("g6-annotation-collapse"===t.target.className||"g6-annotation-expand"===t.target.className)"hide"===n.get("cardCfg").collapseType?n.hideCard(e):n.handleExpandCollapseCard(e),null==r||r(t,e,"g6-annotation-collapse"===t.target.className?"collapse":"expand");else if("g6-annotation-close"===t.target.className){"remove"===n.get("cardCfg").closeType?n.removeCard(e):n.hideCard(e),null==r||r(t,e,"close")}})),this.get("editable")&&t.addEventListener("dblclick",(function(t){var r=n.get("cardInfoMap"),i=(n.get("cardCfg")||{}).maxTitleLength,o=void 0===i?20:i;if(r){var a=t.target,s=a.className;if("g6-annotation-title"===s||"g6-annotation-content"===s){var u="g6-annotation-title"===s?a.getBoundingClientRect():a.parentNode.getBoundingClientRect(),c=u.width,l=u.height,f=getComputedStyle(a),h=Tr("<".concat("g6-annotation-title"===s?"input":"textarea",' class="').concat(s,'-input" type="textarea" style="width:').concat(c,"px; height: ").concat(l,'px; min-width: 16px;"/>')),d=Tr('<div class="'.concat(s,'-input-wrapper" style="width: ').concat(c,"px; height: ").concat(l,"px; min-width: 16px; margin-right: ").concat(f.marginRight,'" />'));d.appendChild(h),a.parentNode.replaceChild(d,a);var p=r[e],g=p.contentPlaceholder,v=p.titlePlaceholder,y=p.content,m=p.title,b=y;"g6-annotation-title"===s?(h.name="title",h.maxLength=o,b=m):h.name="content",b?(h.innerHTML=a.innerHTML,h.value=a.innerHTML):h.placeholder="g6-annotation-title"===s?v:g,h.focus(),h.addEventListener("blur",(function(t){h.value&&(a.innerHTML=h.value,p[h.name||"title"]=h.value),d.parentNode.replaceChild(a,d),n.updateCardSize(e);var r=n.get("onAnnotationChange");null==r||r(p,"update")}))}}}));var r=["g6-annotation-title","g6-annotation-content","g6-annotation-title-input","g6-annotation-content-input"];t.draggable=!0,t.addEventListener("dragstart",(function(e){var i=e.target.className;if(!r.includes(i)){var o=t.style;n.set("dragging",{card:t,x:e.clientX,y:e.clientY,left:Js(o.left),top:Js(o.top)})}})),t.addEventListener("drag",(function(t){t.preventDefault();var r=n.get("cardInfoMap");if(r){var i=t.clientX,o=t.clientY,a=n.get("dragging");if(!isNaN(i)&&!isNaN(o)&&a){var s=a.x,u=a.y,c=a.left,l=a.top,f=a.card,h=i-s,d=o-u;c+=h,l+=d;var p=n.get("graph"),g=p.getPointByCanvas(0,0),v=p.getPointByCanvas(p.getWidth(),p.getHeight()),y=p.getClientByPoint(g.x,g.y),m=y.x,b=y.y,x=p.getClientByPoint(v.x,v.y),w=x.x,_=x.y,E=f.getBoundingClientRect();(c>w-m-(E.right-E.left)&&h>0||c<0&&h<0)&&(c-=h),(l>_-b-(E.bottom-E.top)&&d>0||l<0&&d<0)&&(l-=d),Nr(f,{left:"".concat(c,"px"),top:"".concat(l,"px"),visibility:"hidden"}),s=i,u=o;var S=(r[e]||{}).link;if(S){var M=p.findById(e);S.attr("path",$s(M,E,p,n.get("canvas")))}n.set("dragging",{x:s,y:u,left:c,top:l,card:f})}}}));t.addEventListener("dragend",(function(t){var r=n.get("cardInfoMap");if(r){var i=n.get("dragging");if(i){var o=i.left,a=i.top,s=i.card;r[e].x=o,r[e].y=a,Nr(s,{visibility:"visible"}),n.set("dragging",!1);var u=n.get("rows");null==u||u.forEach((function(t){for(var n=t.length-1;n>=0;n--)t[n].id===e&&t.splice(n,1)}));var c=n.get("onAnnotationChange");null==c||c(r[e],"update")}}}))}},e.prototype.updateCardSize=function(t){var e=this.get("cardInfoMap");if(e){var n=e[t].card,r=n.getBoundingClientRect().width,i=n.getElementsByClassName("g6-annotation-title")[0];if(i){var o=getComputedStyle(i),a=Js(o.marginLeft),s=i.getBoundingClientRect().width;Nr(i,{marginRight:"".concat(r-a-24-16-s,"px")})}}},e.prototype.updateLink=function(t){var e=t.item;if(e){var n=this.get("cardInfoMap");if(n){var r=this.get("canvas"),i=this.get("graph"),o=n[e.getID()]||{},a=o.link,s=o.card;if(a){var u=$s(e,s.getBoundingClientRect(),i,r);a.attr("path",u)}}}},e.prototype.updateLinks=function(){var t=this;if(!this.destroyed){var e=this.get("cardInfoMap");if(e){var n=this.get("graph");Object.values(e).forEach((function(e){var r=e.id,i=n.findById(r);t.updateLink({item:i})}))}}},e.prototype.onGraphDataChange=function(){var t=this,e=this.get("cardInfoMap");if(e){var n=this.get("graph");Object.values(e).forEach((function(e){var r=e.id,i=e.card,o=e.isCanvas;if(i&&!o&&"none"!==i.style.display){var a=n.findById(r);a&&a.isVisible()?t.toggleAnnotation(a):t.hideCard(r)}}))}},e.prototype.onGraphItemVisibilityChange=function(t){var e=t.item,n=t.visible;if(e&&!e.destroyed){var r=this.get("cardInfoMap");if(r){var i=e.getID();r[i]&&(n||this.hideCard(i))}}},e.prototype.saveData=function(t){void 0===t&&(t=!1);var e=this.get("cardInfoMap");if(e){var n=this.get("graph"),r=this.get("getTitle"),i=this.get("getContent"),o=[];return Object.values(e).forEach((function(e){var a=e.title,s=e.content,u=e.x,c=e.y,l=e.id,f=e.collapsed,h=e.card;if(!h||"none"!==h.style.display||t){var d=n.findById(l)||n.get("canvas");o.push({id:l,x:u,y:c,collapsed:f,title:a||(null==r?void 0:r(d)),content:s||(null==i?void 0:i(d)),visible:h&&"none"!==h.style.display})}})),o}},e.prototype.readData=function(t){var e=this,n=this.get("graph");t.forEach((function(t){var r=t.id,i=t.x,o=t.y,a=t.title,s=t.content,u=t.collapsed,c=t.visible,l=n.findById(r);if(l||"canvas-annotation"!==r||(l=n.get("canvas")),!l){var f=e.get("cardInfoMap")||{};return f[r]=t,void e.set("cardInfoMap",f)}e.toggleAnnotation(l,{x:i,y:o,title:a,content:s,collapsed:u}),c||e.hideCard(r)}))},e.prototype.clear=function(){var t=this.get("cardInfoMap");if(t){var e=this.get("container");Object.values(t).forEach((function(t){var n=t.card,r=t.link;e.removeChild(n),null==r||r.remove(!0)})),this.set("cardInfoMap",{})}},e.prototype.destroy=function(){var t;this.clear(),null===(t=this.get("canvas"))||void 0===t||t.destroy();var e=this.get("graph");e&&!e.destroyed&&(this.get("containerCfg")&&e.getContainer().removeChild(this.get("container")),this.destroyed=!0)},e}(Wi),$s=function(t,e,n,r){var i,o;if("edge"===t.getType())o=[t.getKeyShape().getPoint(.5)];else{var a=null===(i=t.getKeyShape)||void 0===i?void 0:i.call(t).getBBox(),s=a.minX,u=a.minY,c=a.maxX,l=a.maxY,f=t.getModel(),h=f.x,d=f.y;o={left:{x:s+=h,y:((u+=d)+(l+=d))/2},right:{x:c+=h,y:(u+l)/2},top:{x:(s+c)/2,y:u},bottom:{x:(s+c)/2,y:l}}}Object.keys(o).forEach((function(t){var e=o[t],i=e.x,a=e.y,s=n.getClientByPoint(i,a);o[t]=r.getPointByClient(s.x,s.y)}));var p=e.top,g=void 0===p?0:p,v=e.left,y=void 0===v?0:v,m=e.right,b=void 0===m?0:m,x=e.bottom,w=void 0===x?0:x,_={left:r.getPointByClient(y,(g+w)/2),right:r.getPointByClient(b,(g+w)/2),top:r.getPointByClient((y+b)/2,g),bottom:r.getPointByClient((y+b)/2,w)};return function(t,e){var n,r,i=1/0;Object.keys(t).forEach((function(o){var a=t[o];Object.keys(e).forEach((function(t){var s=e[t],u=a.x-s.x,c=a.y-s.y,l=u*u+c*c;i>l&&(i=l,n=a,r=s,[o,t])}))}));var o=xr.getControlPoint(n,r,.5,20);return[["M",n.x,n.y],["Q",o.x,o.y,r.x,r.y]]}(o,_)},Js=function(t){return Number(t.replace(/\s+|px/gi,""))||0},tu={PluginBase:Wi,Menu:$i,Grid:qi,Minimap:ro,Bundling:so,ToolBar:po,Tooltip:vo,Fisheye:fo,TimeBar:Is,ImageMinimap:Ps,EdgeFilterLens:Fs,SnapLine:Us,Legend:Hs,Annotation:Qs};Er("circle",{options:{size:kr.defaultNode.size,style:{x:0,y:0,stroke:kr.defaultNode.style.stroke,fill:kr.defaultNode.style.fill,lineWidth:kr.defaultNode.style.lineWidth},labelCfg:{style:{fill:kr.nodeLabel.style.fill,fontSize:kr.nodeLabel.style.fontSize,fontFamily:kr.windowFontFamily}},linkPoints:{top:!1,right:!1,bottom:!1,left:!1,size:kr.defaultNode.linkPoints.size,lineWidth:kr.defaultNode.linkPoints.lineWidth,fill:kr.defaultNode.linkPoints.fill,stroke:kr.defaultNode.linkPoints.stroke},icon:{show:!1,img:"https://gw.alipayobjects.com/zos/bmw-prod/5d015065-8505-4e7a-baec-976f81e3c41d.svg",width:20,height:20},stateStyles:Object(g.__assign)({},kr.nodeStateStyles)},shapeType:"circle",labelPosition:"center",drawShape:function(t,e){var n=(this.mergeStyle||this.getOptions(t)).icon,r=void 0===n?{}:n,i=this.getShapeStyle(t),o=Object(v.deepMix)({},r,t.icon),a="".concat(this.type,"-keyShape"),s=e.addShape("circle",{attrs:i,className:a,name:a,draggable:!0});e.shapeMap[a]=s;var u=o.width,c=o.height,l=o.show,f=o.text;if(l){var h="".concat(this.type,"-icon");e.shapeMap[h]=f?e.addShape("text",{attrs:Object(g.__assign)({x:0,y:0,fontSize:12,fill:"#000",stroke:"#000",textBaseline:"middle",textAlign:"center"},o),className:h,name:h,draggable:!0}):e.addShape("image",{attrs:Object(g.__assign)({x:-u/2,y:-c/2},o),className:h,name:h,draggable:!0})}return this.drawLinkPoints(t,e),s},drawLinkPoints:function(t,e){var n=(this.mergeStyle||this.getOptions(t)).linkPoints;if(n){var r=n||{},i=r.top,o=r.left,a=r.right,s=r.bottom,u=r.size,c=r.r,l=Object(g.__rest)(r,["top","left","right","bottom","size","r"]),f=this.getSize(t)[0]/2;if(o){var h="link-point-left";e.shapeMap[h]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},l),{x:-f,y:0,r:u/2||c||5}),className:h,name:h,isAnchorPoint:!0})}if(a){var d="link-point-right";e.shapeMap[d]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},l),{x:f,y:0,r:u/2||c||5}),className:d,name:d,isAnchorPoint:!0})}if(i){var p="link-point-top";e.shapeMap[p]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},l),{x:0,y:-f,r:u/2||c||5}),className:p,name:p,isAnchorPoint:!0})}if(s){var v="link-point-bottom";e.shapeMap[v]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},l),{x:0,y:f,r:u/2||c||5}),className:v,name:v,isAnchorPoint:!0})}}},getShapeStyle:function(t){var e=(this.mergeStyle||this.getOptions(t)).style,n={stroke:t.color},r=Object(v.deepMix)({},e,n),i=this.getSize(t)[0]/2;return Object(g.__assign)({x:0,y:0,r:i},r)},update:function(t,e,n){var r=e.getContainer(),i=this.getSize(t),o=Object(g.__assign)({},t.style);void 0===t.style.stroke&&t.color&&(o.stroke=t.color),void 0!==t.style.r||isNaN(i[0])||(o.r=i[0]/2),this.updateShape(t,e,o,!0,n),this.updateLinkPoints(t,r)}},"single-node"),Er("rect",{options:{size:[100,30],style:{radius:0,stroke:kr.defaultNode.style.stroke,fill:kr.defaultNode.style.fill,lineWidth:kr.defaultNode.style.lineWidth},labelCfg:{style:{fill:kr.nodeLabel.style.fill,fontSize:kr.nodeLabel.style.fontSize,fontFamily:kr.windowFontFamily}},linkPoints:{top:!1,right:!1,bottom:!1,left:!1,size:kr.defaultNode.linkPoints.size,lineWidth:kr.defaultNode.linkPoints.lineWidth,fill:kr.defaultNode.linkPoints.fill,stroke:kr.defaultNode.linkPoints.stroke},icon:{show:!1,img:"https://gw.alipayobjects.com/zos/bmw-prod/5d015065-8505-4e7a-baec-976f81e3c41d.svg",width:20,height:20},anchorPoints:[[0,.5],[1,.5]],stateStyles:Object(g.__assign)({},kr.nodeStateStyles)},shapeType:"rect",labelPosition:"center",drawShape:function(t,e){var n=this.getShapeStyle(t),r=e.addShape("rect",{attrs:n,className:"".concat(this.type,"-keyShape"),name:"".concat(this.type,"-keyShape"),draggable:!0});return e.shapeMap["".concat(this.type,"-keyShape")]=r,this.drawLinkPoints(t,e),r},drawLinkPoints:function(t,e){var n=(this.mergeStyle||this.getOptions(t)).linkPoints,r=void 0===n?{}:n,i=r.top,o=r.left,a=r.right,s=r.bottom,u=r.size,c=r.r,l=Object(g.__rest)(r,["top","left","right","bottom","size","r"]),f=this.getSize(t),h=f[0],d=f[1];o&&(e.shapeMap["link-point-left"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},l),{x:-h/2,y:0,r:u/2||c||5}),className:"link-point-left",name:"link-point-left",isAnchorPoint:!0})),a&&(e.shapeMap["link-point-right"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},l),{x:h/2,y:0,r:u/2||c||5}),className:"link-point-right",name:"link-point-right",isAnchorPoint:!0})),i&&(e.shapeMap["link-point-top"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},l),{x:0,y:-d/2,r:u/2||c||5}),className:"link-point-top",name:"link-point-top",isAnchorPoint:!0})),s&&(e.shapeMap["link-point-bottom"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},l),{x:0,y:d/2,r:u/2||c||5}),className:"link-point-bottom",name:"link-point-bottom",isAnchorPoint:!0}))},getShapeStyle:function(t){var e=(this.mergeStyle||this.getOptions(t)).style,n={stroke:t.color},r=Object(v.mix)({},e,n),i=this.getSize(t),o=r.width||i[0],a=r.height||i[1];return Object(g.__assign)({x:-o/2,y:-a/2,width:o,height:a},r)},update:function(t,e,n){var r=e.getContainer(),i=this.getOptions({}).style,o=this.getSize(t),a=e.get("keyShape");t.size||(o[0]=a.attr("width")||i.width,o[1]=a.attr("height")||i.height);var s={stroke:t.color,x:-o[0]/2,y:-o[1]/2,width:o[0],height:o[1]},u=Object(v.mix)({},i,a.attr(),s);u=Object(v.mix)(u,t.style),this.updateShape(t,e,u,!1,n),this.updateLinkPoints(t,r)}},"single-node"),Er("ellipse",{options:{size:[80,40],style:{x:0,y:0,stroke:kr.defaultNode.style.stroke,fill:kr.defaultNode.style.fill,lineWidth:kr.defaultNode.style.lineWidth},labelCfg:{style:{fill:kr.nodeLabel.style.fill,fontSize:kr.nodeLabel.style.fontSize,fontFamily:kr.windowFontFamily}},linkPoints:{top:!1,right:!1,bottom:!1,left:!1,size:kr.defaultNode.linkPoints.size,lineWidth:kr.defaultNode.linkPoints.lineWidth,fill:kr.defaultNode.linkPoints.fill,stroke:kr.defaultNode.linkPoints.stroke},icon:{show:!1,img:"https://gw.alipayobjects.com/zos/bmw-prod/5d015065-8505-4e7a-baec-976f81e3c41d.svg",width:20,height:20},stateStyles:Object(g.__assign)({},kr.nodeStateStyles)},shapeType:"ellipse",labelPosition:"center",drawShape:function(t,e){var n=(this.mergeStyle||this.getOptions(t)).icon,r=void 0===n?{}:n,i=this.getShapeStyle(t),o=e.addShape("ellipse",{attrs:i,className:"ellipse-keyShape",name:"ellipse-keyShape",draggable:!0});e.shapeMap["ellipse-keyShape"]=o;var a=r.width,s=r.height,u=r.show,c=r.text;return u&&(e.shapeMap["".concat(this.type,"-icon")]=c?e.addShape("text",{attrs:Object(g.__assign)({x:0,y:0,fontSize:12,fill:"#000",stroke:"#000",textBaseline:"middle",textAlign:"center"},r),className:"".concat(this.type,"-icon"),name:"".concat(this.type,"-icon"),draggable:!0}):e.addShape("image",{attrs:Object(g.__assign)({x:-a/2,y:-s/2},r),className:"".concat(this.type,"-icon"),name:"".concat(this.type,"-icon"),draggable:!0})),this.drawLinkPoints(t,e),o},drawLinkPoints:function(t,e){var n=(this.mergeStyle||this.getOptions(t)).linkPoints,r=void 0===n?{}:n,i=r.top,o=r.left,a=r.right,s=r.bottom,u=r.size,c=r.r,l=Object(g.__rest)(r,["top","left","right","bottom","size","r"]),f=this.getSize(t),h=f[0]/2,d=f[1]/2;o&&(e.shapeMap["link-point-left"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},l),{x:-h,y:0,r:u/2||c||5}),className:"link-point-left",name:"link-point-left",isAnchorPoint:!0})),a&&(e.shapeMap["link-point-right"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},l),{x:h,y:0,r:u/2||c||5}),className:"link-point-right",name:"link-point-right",isAnchorPoint:!0})),i&&(e.shapeMap["link-point-top"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},l),{x:0,y:-d,r:u/2||c||5}),className:"link-point-top",name:"link-point-top",isAnchorPoint:!0})),s&&(e.shapeMap["link-point-bottom"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},l),{x:0,y:d,r:u/2||c||5}),className:"link-point-bottom",name:"link-point-bottom",isAnchorPoint:!0}))},getShapeStyle:function(t){var e=(this.mergeStyle||this.getOptions(t)).style,n={stroke:t.color},r=Object(v.mix)({},e,n),i=this.getSize(t),o=i[0]/2,a=i[1]/2;return Object(g.__assign)({x:0,y:0,rx:o,ry:a},r)},update:function(t,e,n){var r=e.getContainer(),i=this.getOptions({}).style,o=this.getSize(t),a={stroke:t.color,rx:o[0]/2,ry:o[1]/2},s=e.get("keyShape"),u=Object(v.mix)({},i,s.attr(),a);u=Object(v.mix)(u,t.style),this.updateShape(t,e,u,!0,n),this.updateLinkPoints(t,r)}},"single-node"),Er("diamond",{options:{size:[80,80],style:{stroke:kr.defaultNode.style.stroke,fill:kr.defaultNode.style.fill,lineWidth:kr.defaultNode.style.lineWidth},labelCfg:{style:{fill:kr.nodeLabel.style.fill,fontSize:kr.nodeLabel.style.fontSize,fontFamily:kr.windowFontFamily}},linkPoints:{top:!1,right:!1,bottom:!1,left:!1,size:kr.defaultNode.linkPoints.size,lineWidth:kr.defaultNode.linkPoints.lineWidth,fill:kr.defaultNode.linkPoints.fill,stroke:kr.defaultNode.linkPoints.stroke},icon:{show:!1,img:"https://gw.alipayobjects.com/zos/bmw-prod/5d015065-8505-4e7a-baec-976f81e3c41d.svg",width:20,height:20},stateStyles:Object(g.__assign)({},kr.nodeStateStyles)},shapeType:"diamond",labelPosition:"center",drawShape:function(t,e){var n=(this.mergeStyle||this.getOptions(t)).icon,r=void 0===n?{}:n,i=this.getShapeStyle(t),o=e.addShape("path",{attrs:i,className:"".concat(this.type,"-keyShape"),name:"".concat(this.type,"-keyShape"),draggable:!0});e.shapeMap["".concat(this.type,"-keyShape")]=o;var a=r.width,s=r.height,u=r.show,c=r.text;return u&&(e.shapeMap["".concat(this.type,"-icon")]=c?e.addShape("text",{attrs:Object(g.__assign)({x:0,y:0,fontSize:12,fill:"#000",stroke:"#000",textBaseline:"middle",textAlign:"center"},r),className:"".concat(this.type,"-icon"),name:"".concat(this.type,"-icon"),draggable:!0}):e.addShape("image",{attrs:Object(g.__assign)({x:-a/2,y:-s/2},r),className:"".concat(this.type,"-icon"),name:"".concat(this.type,"-icon"),draggable:!0})),this.drawLinkPoints(t,e),o},drawLinkPoints:function(t,e){var n=(this.mergeStyle||this.getOptions(t)).linkPoints,r=void 0===n?{}:n,i=r.top,o=r.left,a=r.right,s=r.bottom,u=r.size,c=r.r,l=Object(g.__rest)(r,["top","left","right","bottom","size","r"]),f=this.getSize(t),h=f[0],d=f[1];o&&(e.shapeMap["link-point-left"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},l),{x:-h/2,y:0,r:u/2||c||5}),className:"link-point-left",name:"link-point-left",isAnchorPoint:!0})),a&&(e.shapeMap["link-point-right"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},l),{x:h/2,y:0,r:u/2||c||5}),className:"link-point-right",name:"link-point-right",isAnchorPoint:!0})),i&&(e.shapeMap["link-point-top"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},l),{x:0,y:-d/2,r:u/2||c||5}),className:"link-point-top",name:"link-point-top",isAnchorPoint:!0})),s&&(e.shapeMap["link-point-bottom"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},l),{x:0,y:d/2,r:u/2||c||5}),className:"link-point-bottom",name:"link-point-bottom",isAnchorPoint:!0}))},getPath:function(t){var e=this.getSize(t),n=e[0],r=e[1];return[["M",0,-r/2],["L",n/2,0],["L",0,r/2],["L",-n/2,0],["Z"]]},getShapeStyle:function(t){var e=(this.mergeStyle||this.getOptions(t)).style,n={stroke:t.color},r=Object(v.mix)({},e,n),i=this.getPath(t);return Object(g.__assign)({path:i},r)},update:function(t,e,n){var r=e.getContainer(),i=this.getOptions({}).style,o=this.getPath(t),a={stroke:t.color,path:o},s=e.get("keyShape"),u=Object(v.mix)({},i,s.attr(),a);u=Object(v.mix)(u,t.style),this.updateShape(t,e,u,!0,n),this.updateLinkPoints(t,r)}},"single-node"),Er("triangle",{options:{size:40,direction:"up",style:{stroke:kr.defaultNode.style.stroke,fill:kr.defaultNode.style.fill,lineWidth:kr.defaultNode.style.lineWidth},labelCfg:{style:{fill:kr.nodeLabel.style.fill,fontSize:kr.nodeLabel.style.fontSize},offset:15},linkPoints:{top:!1,right:!1,bottom:!1,left:!1,size:kr.defaultNode.linkPoints.size,lineWidth:kr.defaultNode.linkPoints.lineWidth,fill:kr.defaultNode.linkPoints.fill,stroke:kr.defaultNode.linkPoints.stroke},icon:{show:!1,img:"https://gw.alipayobjects.com/zos/bmw-prod/5d015065-8505-4e7a-baec-976f81e3c41d.svg",width:20,height:20,offset:6},stateStyles:Object(g.__assign)({},kr.nodeStateStyles)},shapeType:"triangle",labelPosition:"bottom",drawShape:function(t,e){var n=this.mergeStyle||this.getOptions(t),r=n.icon,i=void 0===r?{}:r,o=n.direction,a=this.getShapeStyle(t),s=t.direction||o,u=e.addShape("path",{attrs:a,className:"".concat(this.type,"-keyShape"),name:"".concat(this.type,"-keyShape"),draggable:!0});e.shapeMap["".concat(this.type,"-keyShape")]=u;var c=i.width,l=i.height,f=i.show,h=i.offset,d=i.text;if(f)if(d)e.shapeMap["".concat(this.type,"-icon")]=e.addShape("text",{attrs:Object(g.__assign)({x:0,y:0,fontSize:12,fill:"#000",stroke:"#000",textBaseline:"middle",textAlign:"center"},i),className:"".concat(this.type,"-icon"),name:"".concat(this.type,"-icon"),draggable:!0});else{var p=-c/2,v=-l/2;"up"!==s&&"down"!==s||(v+=h),"left"!==s&&"right"!==s||(p+=h),e.shapeMap["".concat(this.type,"-icon")]=e.addShape("image",{attrs:Object(g.__assign)({x:p,y:v},i),className:"".concat(this.type,"-icon"),name:"".concat(this.type,"-icon"),draggable:!0})}return this.drawLinkPoints(t,e),u},drawLinkPoints:function(t,e){var n=this.mergeStyle||this.getOptions(t),r=n.linkPoints,i=void 0===r?{}:r,o=n.direction,a=t.direction||o,s=i.top,u=i.left,c=i.right,l=i.bottom,f=i.size,h=i.r,d=Object(g.__rest)(i,["top","left","right","bottom","size","r"]),p=this.getSize(t)[0];if(u){var v=null,y=p*Math.sin(1/3*Math.PI),m=p*Math.sin(1/3*Math.PI);"up"===a?v=[-m,y]:"down"===a?v=[-m,-y]:"left"===a&&(v=[-m,m-y]),v&&(e.shapeMap["link-point-left"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},d),{x:v[0],y:v[1],r:f/2||h||5}),className:"link-point-left",name:"link-point-left"}))}if(c){var b=null;y=p*Math.sin(1/3*Math.PI),m=p*Math.sin(1/3*Math.PI);"up"===a?b=[m,y]:"down"===a?b=[m,-y]:"right"===a&&(b=[m,m-y]),b&&(e.shapeMap["link-point-right"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},d),{x:b[0],y:b[1],r:f/2||h||5}),className:"link-point-right",name:"link-point-right"}))}if(s){var x=null;y=p*Math.sin(1/3*Math.PI),m=p*Math.sin(1/3*Math.PI);"up"===a?x=[m-y,-y]:"left"===a?x=[m,-y]:"right"===a&&(x=[-m,-y]),x&&(e.shapeMap["link-point-top"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},d),{x:x[0],y:x[1],r:f/2||h||5}),className:"link-point-top",name:"link-point-top"}))}if(l){var w=null;y=p*Math.sin(1/3*Math.PI),m=p*Math.sin(1/3*Math.PI);"down"===a?w=[-m+y,y]:"left"===a?w=[m,y]:"right"===a&&(w=[-m,y]),w&&(e.shapeMap["link-point-bottom"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},d),{x:w[0],y:w[1],r:f/2||h||5}),className:"link-point-bottom",name:"link-point-bottom"}))}},getPath:function(t){var e=(this.mergeStyle||this.getOptions(t)).direction,n=t.direction||e,r=this.getSize(t)[0],i=r*Math.sin(1/3*Math.PI),o=r*Math.sin(1/3*Math.PI),a=[["M",-o,i],["L",0,-i],["L",o,i],["Z"]];return"down"===n?a=[["M",-o,-i],["L",o,-i],["L",0,i],["Z"]]:"left"===n?a=[["M",-o,o-i],["L",o,-o],["L",o,o],["Z"]]:"right"===n&&(a=[["M",o,o-i],["L",-o,o],["L",-o,-o],["Z"]]),a},getShapeStyle:function(t){var e=(this.mergeStyle||this.getOptions(t)).style,n={stroke:t.color},r=Object(v.mix)({},e,n),i=this.getPath(t);return Object(g.__assign)({path:i},r)},update:function(t,e,n){var r=e.getContainer(),i=this.getOptions({}).style,o=this.getPath(t),a={stroke:t.color,path:o},s=e.get("keyShape"),u=Object(v.mix)({},i,s.attr(),a);u=Object(v.mix)(u,t.style),this.updateShape(t,e,u,!0,n),this.updateLinkPoints(t,r)},updateLinkPoints:function(t,e){var n=this.getOptions({}),r=n.linkPoints,i=n.direction,o=t.direction||i,a=e.shapeMap["link-point-left"]||e.find((function(t){return"link-point-left"===t.get("className")})),s=e.shapeMap["link-point-right"]||e.find((function(t){return"link-point-right"===t.get("className")})),u=e.shapeMap["link-point-top"]||e.find((function(t){return"link-point-top"===t.get("className")})),c=e.shapeMap["link-point-bottom"]||e.find((function(t){return"link-point-bottom"===t.get("className")})),l=r,f=a||s||u||c;f&&(l=f.attr());var h=Object(v.mix)({},l,t.linkPoints),d=h.fill,p=h.stroke,y=h.lineWidth,m=h.size/2;m||(m=h.r);var b=t.linkPoints?t.linkPoints:{left:void 0,right:void 0,top:void 0,bottom:void 0},x=b.left,w=b.right,_=b.top,E=b.bottom,S=this.getSize(t)[0],M={r:m,fill:d,stroke:p,lineWidth:y},O=null,k=S*Math.sin(1/3*Math.PI),A=S*Math.sin(1/3*Math.PI);"up"===o?O=[-A,k]:"down"===o?O=[-A,-k]:"left"===o&&(O=[-A,A-k]),O&&(a?x||void 0===x?a.attr(Object(g.__assign)(Object(g.__assign)({},M),{x:O[0],y:O[1]})):(a.remove(),delete e.shapeMap["link-point-left"]):x&&(e.shapeMap["link-point-left"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},M),{x:O[0],y:O[1]}),className:"link-point-left",name:"link-point-left",isAnchorPoint:!0})));var C=null;"up"===o?C=[A,k]:"down"===o?C=[A,-k]:"right"===o&&(C=[A,A-k]),C&&(s?w||void 0===w?s.attr(Object(g.__assign)(Object(g.__assign)({},M),{x:C[0],y:C[1]})):(s.remove(),delete e.shapeMap["link-point-right"]):w&&(e.shapeMap["link-point-right"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},M),{x:C[0],y:C[1]}),className:"link-point-right",name:"link-point-right",isAnchorPoint:!0})));var j=null;"up"===o?j=[A-k,-k]:"left"===o?j=[A,-k]:"right"===o&&(j=[-A,-k]),j&&(u?_||void 0===_?u.attr(Object(g.__assign)(Object(g.__assign)({},M),{x:j[0],y:j[1]})):(u.remove(),delete e.shapeMap["link-point-top"]):_&&(e.shapeMap["link-point-top"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},M),{x:j[0],y:j[1]}),className:"link-point-top",name:"link-point-top",isAnchorPoint:!0})));var I=null;"down"===o?I=[-A+k,k]:"left"===o?I=[A,k]:"right"===o&&(I=[-A,k]),I&&(c?E||void 0===E?c.attr(Object(g.__assign)(Object(g.__assign)({},M),{x:I[0],y:I[1]})):(c.remove(),delete e.shapeMap["link-point-bottom"]):E&&(e.shapeMap["link-point-bottom"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},M),{x:I[0],y:I[1]}),className:"link-point-bottom",name:"link-point-bottom",isAnchorPoint:!0})))}},"single-node"),Er("modelRect",{options:{size:[185,70],style:{radius:5,stroke:"#69c0ff",fill:"#ffffff",lineWidth:kr.defaultNode.style.lineWidth,fillOpacity:1},labelCfg:{style:{fill:"#595959",fontSize:14,fontFamily:kr.windowFontFamily},offset:30},descriptionCfg:{style:{fontSize:12,fill:"#bfbfbf",fontFamily:kr.windowFontFamily},paddingTop:0},preRect:{show:!0,width:4,fill:"#40a9ff",radius:2},linkPoints:{top:!1,right:!1,bottom:!1,left:!1,size:10,lineWidth:1,fill:"#72CC4A",stroke:"#72CC4A"},logoIcon:{show:!0,x:0,y:0,img:"https://gw.alipayobjects.com/zos/basement_prod/4f81893c-1806-4de4-aff3-9a6b266bc8a2.svg",width:16,height:16,offset:0},stateIcon:{show:!0,x:0,y:0,img:"https://gw.alipayobjects.com/zos/basement_prod/300a2523-67e0-4cbf-9d4a-67c077b40395.svg",width:16,height:16,offset:-5},anchorPoints:[[0,.5],[1,.5]]},shapeType:"modelRect",drawShape:function(t,e){var n=(this.mergeStyle||this.getOptions(t)).preRect,r=void 0===n?{}:n,i=this.getShapeStyle(t),o=this.getSize(t),a=o[0],s=o[1],u=e.addShape("rect",{attrs:i,className:"".concat(this.type,"-keyShape"),name:"".concat(this.type,"-keyShape"),draggable:!0});e.shapeMap["".concat(this.type,"-keyShape")]=u;var c=r.show,l=Object(g.__rest)(r,["show"]);return c&&(e.shapeMap["pre-rect"]=e.addShape("rect",{attrs:Object(g.__assign)({x:-a/2,y:-s/2,height:s},l),className:"pre-rect",name:"pre-rect",draggable:!0})),this.drawLogoIcon(t,e),this.drawStateIcon(t,e),this.drawLinkPoints(t,e),u},drawLogoIcon:function(t,e){var n=(this.mergeStyle||this.getOptions(t)).logoIcon,r=void 0===n?{}:n,i=this.getSize(t)[0];if(r.show){var o=r.width,a=r.height,s=r.x,u=r.y,c=r.offset,l=r.text,f=Object(g.__rest)(r,["width","height","x","y","offset","text"]);e.shapeMap["rect-logo-icon"]=l?e.addShape("text",{attrs:Object(g.__assign)({x:0,y:0,fontSize:12,fill:"#000",stroke:"#000",textBaseline:"middle",textAlign:"center"},f),className:"rect-logo-icon",name:"rect-logo-icon",draggable:!0}):e.addShape("image",{attrs:Object(g.__assign)(Object(g.__assign)({},f),{x:s||-i/2+o+c,y:u||-a/2,width:o,height:a}),className:"rect-logo-icon",name:"rect-logo-icon",draggable:!0})}},drawStateIcon:function(t,e){var n=(this.mergeStyle||this.getOptions(t)).stateIcon,r=void 0===n?{}:n,i=this.getSize(t)[0];if(r.show){var o=r.width,a=r.height,s=r.x,u=r.y,c=r.offset,l=r.text,f=Object(g.__rest)(r,["width","height","x","y","offset","text"]);e.shapeMap["rect-state-icon"]=l?e.addShape("text",{attrs:Object(g.__assign)({x:0,y:0,fontSize:12,fill:"#000",stroke:"#000",textBaseline:"middle",textAlign:"center"},f),className:"rect-state-icon",name:"rect-state-icon",draggable:!0}):e.addShape("image",{attrs:Object(g.__assign)(Object(g.__assign)({},f),{x:s||i/2-o+c,y:u||-a/2,width:o,height:a}),className:"rect-state-icon",name:"rect-state-icon",draggable:!0})}},drawLinkPoints:function(t,e){var n=(this.mergeStyle||this.getOptions(t)).linkPoints,r=void 0===n?{}:n,i=r.top,o=r.left,a=r.right,s=r.bottom,u=r.size,c=r.r,l=Object(g.__rest)(r,["top","left","right","bottom","size","r"]),f=this.getSize(t),h=f[0],d=f[1];o&&(e.shapeMap["link-point-left"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},l),{x:-h/2,y:0,r:u/2||c||5}),className:"link-point-left",name:"link-point-left",isAnchorPoint:!0})),a&&(e.shapeMap["link-point-right"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},l),{x:h/2,y:0,r:u/2||c||5}),className:"link-point-right",name:"link-point-right",isAnchorPoint:!0})),i&&(e.shapeMap["link-point-top"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},l),{x:0,y:-d/2,r:u/2||c||5}),className:"link-point-top",name:"link-point-top",isAnchorPoint:!0})),s&&(e.shapeMap["link-point-bottom"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},l),{x:0,y:d/2,r:u/2||c||5}),className:"link-point-bottom",name:"link-point-bottom",isAnchorPoint:!0}))},drawLabel:function(t,e){var n=this.getOptions(t),r=n.labelCfg,i=void 0===r?{}:r,o=n.logoIcon,a=void 0===o?{}:o,s=n.descriptionCfg,u=void 0===s?{}:s,c=this.getSize(t)[0],l=null,f=a.show,h=a.width,d=-c/2+i.offset;f&&(d=-c/2+h+i.offset);var p=i.style,y=u.style,m=u.paddingTop;return Object(v.isString)(t.description)?(l=e.addShape("text",{attrs:Object(g.__assign)(Object(g.__assign)({},p),{x:d,y:-5,text:t.label}),className:"text-shape",name:"text-shape",draggable:!0,labelRelated:!0}),e.shapeMap["text-shape"]=l,e.shapeMap["rect-description"]=e.addShape("text",{attrs:Object(g.__assign)(Object(g.__assign)({},y),{x:d,y:17+(m||0),text:t.description}),className:"rect-description",name:"rect-description",draggable:!0,labelRelated:!0})):(l=e.addShape("text",{attrs:Object(g.__assign)(Object(g.__assign)({},p),{x:d,y:7,text:t.label}),className:"text-shape",name:"text-shape",draggable:!0,labelRelated:!0}),e.shapeMap["text-shape"]=l),l},getShapeStyle:function(t){var e=(this.mergeStyle||this.getOptions(t)).style,n={stroke:t.color},r=Object(v.mix)({},e,n),i=this.getSize(t),o=r.width||i[0],a=r.height||i[1];return Object(g.__assign)({x:-o/2,y:-a/2,width:o,height:a},r)},update:function(t,e){var n=this.mergeStyle||this.getOptions(t),r=n.style,i=void 0===r?{}:r,o=n.labelCfg,a=void 0===o?{}:o,s=n.descriptionCfg,u=void 0===s?{}:s,c=this.getSize(t),l=c[0],f=c[1];e.get("keyShape").attr(Object(g.__assign)(Object(g.__assign)({},i),{x:-l/2,y:-f/2,width:l,height:f}));var h=e.getContainer(),d=h.shapeMap["rect-logo-icon"]||h.find((function(t){return"rect-logo-icon"===t.get("className")})),p=d?d.attr():{},y=Object(v.mix)({},p,t.logoIcon),m=y.width;void 0===m&&(m=this.options.logoIcon.width);var b=t.logoIcon?t.logoIcon.show:void 0,x=a.offset,w=-l/2+m+x;b||void 0===b||(w=-l/2+x);var _=h.shapeMap["node-label"]||h.find((function(t){return"node-label"===t.get("className")})),E=h.shapeMap["rect-description"]||h.find((function(t){return"rect-description"===t.get("className")}));if(t.label)if(_){var S=t.labelCfg?t.labelCfg.style:{},M=Object(v.mix)({},_.attr(),S);t.label&&(M.text=t.label),M.x=w,Object(v.isString)(t.description)&&(M.y=-5),E&&(E.resetMatrix(),E.attr({x:w})),_.resetMatrix(),_.attr(M)}else h.shapeMap["node-label"]=h.addShape("text",{attrs:Object(g.__assign)(Object(g.__assign)({},a.style),{x:w,y:t.description?-5:7,text:t.label}),className:"node-label",name:"node-label",draggable:!0,labelRelated:!0});if(Object(v.isString)(t.description)){var O=u.paddingTop;if(E){S=t.descriptionCfg?t.descriptionCfg.style:{};var k=Object(v.mix)({},E.attr(),S);Object(v.isString)(t.description)&&(k.text=t.description),k.x=w,E.resetMatrix(),E.attr(Object(g.__assign)(Object(g.__assign)({},k),{y:17+(O||0)}))}else h.shapeMap["rect-description"]=h.addShape("text",{attrs:Object(g.__assign)(Object(g.__assign)({},u.style),{x:w,y:17+(O||0),text:t.description}),className:"rect-description",name:"rect-description",draggable:!0,labelRelated:!0})}var A=h.shapeMap["pre-rect"]||h.find((function(t){return"pre-rect"===t.get("className")}));if(A&&!A.destroyed){var C=Object(v.mix)({},A.attr(),t.preRect);A.attr(Object(g.__assign)(Object(g.__assign)({},C),{x:-l/2,y:-f/2,height:f}))}if(d&&!d.destroyed)if(b||void 0===b){var j=y.width,I=y.height,T=y.x,N=y.y,P=y.offset,D=Object(g.__rest)(y,["width","height","x","y","offset"]);d.attr(Object(g.__assign)(Object(g.__assign)({},D),{x:T||-l/2+j+P,y:N||-I/2,width:j,height:I}))}else d.remove(),delete h.shapeMap["pre-rect"];else b&&this.drawLogoIcon(t,h);var L=h.shapeMap["rect-state-icon"]||h.find((function(t){return"rect-state-icon"===t.get("className")})),R=L?L.attr():{},B=Object(v.mix)({},R,t.stateIcon);if(L){B.show||void 0===B.show||(L.remove(),delete h.shapeMap["rect-state-icon"]);var F=B.width,z=(I=B.height,T=B.x,N=B.y,B.offset),G=Object(g.__rest)(B,["width","height","x","y","offset"]);L.attr(Object(g.__assign)(Object(g.__assign)({},G),{x:T||l/2-F+z,y:N||-I/2,width:F,height:I}))}else B.show&&this.drawStateIcon(t,h);this.updateLinkPoints(t,h)},getOptions:function(t,e){return"move"===e?t:Object(v.deepMix)({},this.options,this.getCustomConfig(t)||{},t)}},"single-node"),Er("star",{options:{size:60,style:{stroke:kr.defaultNode.style.stroke,fill:kr.defaultNode.style.fill,lineWidth:kr.defaultNode.style.lineWidth},labelCfg:{style:{fill:kr.nodeLabel.style.fill,fontSize:kr.nodeLabel.style.fontSize,fontFamily:kr.windowFontFamily}},linkPoints:{top:!1,right:!1,bottom:!1,left:!1,size:kr.defaultNode.linkPoints.size,lineWidth:kr.defaultNode.linkPoints.lineWidth,fill:kr.defaultNode.linkPoints.fill,stroke:kr.defaultNode.linkPoints.stroke},icon:{show:!1,img:"https://gw.alipayobjects.com/zos/bmw-prod/5d015065-8505-4e7a-baec-976f81e3c41d.svg",width:20,height:20},stateStyles:Object(g.__assign)({},kr.nodeStateStyles)},shapeType:"star",labelPosition:"center",drawShape:function(t,e){var n=(this.mergeStyle||this.getOptions(t)).icon,r=void 0===n?{}:n,i=this.getShapeStyle(t),o=e.addShape("path",{attrs:i,className:"".concat(this.type,"-keyShape"),name:"".concat(this.type,"-keyShape"),draggable:!0});e.shapeMap["".concat(this.type,"-keyShape")]=o;var a=r.width,s=r.height,u=r.show,c=r.text;return u&&(e.shapeMap["".concat(this.type,"-icon")]=c?e.addShape("text",{attrs:Object(g.__assign)({x:0,y:0,fontSize:12,fill:"#000",stroke:"#000",textBaseline:"middle",textAlign:"center"},r),className:"".concat(this.type,"-icon"),name:"".concat(this.type,"-icon"),draggable:!0}):e.addShape("image",{attrs:Object(g.__assign)({x:-a/2,y:-s/2},r),className:"".concat(this.type,"-icon"),name:"".concat(this.type,"-icon"),draggable:!0})),this.drawLinkPoints(t,e),o},drawLinkPoints:function(t,e){var n=(this.mergeStyle||this.getOptions(t)).linkPoints,r=void 0===n?{}:n,i=r.top,o=r.left,a=r.right,s=r.leftBottom,u=r.rightBottom,c=r.size,l=r.r,f=Object(g.__rest)(r,["top","left","right","leftBottom","rightBottom","size","r"]),h=this.getSize(t)[0];if(a){var d=Math.cos(.1*Math.PI)*h,p=Math.sin(.1*Math.PI)*h;e.shapeMap["link-point-right"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},f),{x:d,y:-p,r:c/2||l||5}),className:"link-point-right",name:"link-point-right"})}if(i){d=Math.cos(.5*Math.PI)*h,p=Math.sin(.5*Math.PI)*h;e.shapeMap["link-point-top"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},f),{x:d,y:-p,r:c/2||l||5}),className:"link-point-top",name:"link-point-top"})}if(o){d=Math.cos(.9*Math.PI)*h,p=Math.sin(.9*Math.PI)*h;e.shapeMap["link-point-left"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},f),{x:d,y:-p,r:c/2||l||5}),className:"link-point-left",name:"link-point-left"})}if(s){d=Math.cos(1.3*Math.PI)*h,p=Math.sin(1.3*Math.PI)*h;e.shapeMap["link-point-bottom"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},f),{x:d,y:-p,r:c/2||l||5}),className:"link-point-left-bottom",name:"link-point-left-bottom"})}if(u){d=Math.cos(1.7*Math.PI)*h,p=Math.sin(1.7*Math.PI)*h;e.shapeMap["link-point-right-bottom"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},f),{x:d,y:-p,r:c/2||l||5}),className:"link-point-right-bottom",name:"link-point-right-bottom"})}},getPath:function(t){var e=this.getSize(t)[0],n=3*e/8,r=t.innerR||n;return xr.getStarPath(e,r)},getShapeStyle:function(t){var e=(this.mergeStyle||this.getOptions(t)).style,n={stroke:t.color},r=Object(v.mix)({},e,n),i=this.getPath(t);return Object(g.__assign)({path:i},r)},update:function(t,e,n){var r=e.getContainer(),i=this.getOptions({}).style,o=this.getPath(t),a={stroke:t.color,path:o},s=e.get("keyShape"),u=Object(v.mix)({},i,s.attr(),a);u=Object(v.mix)(u,t.style),this.updateShape(t,e,u,!0,n),this.updateLinkPoints(t,r)},updateLinkPoints:function(t,e){var n=this.getOptions({}).linkPoints,r=e.shapeMap["link-point-left"]||e.find((function(t){return"link-point-left"===t.get("className")})),i=e.shapeMap["link-point-right"]||e.find((function(t){return"link-point-right"===t.get("className")})),o=e.shapeMap["link-point-top"]||e.find((function(t){return"link-point-top"===t.get("className")})),a=e.shapeMap["link-point-left-bottom"]||e.find((function(t){return"link-point-left-bottom"===t.get("className")})),s=e.shapeMap["link-point-left-bottom"]||e.find((function(t){return"link-point-right-bottom"===t.get("className")})),u=n,c=r||i||o||a||s;c&&(u=c.attr());var l=Object(v.mix)({},u,t.linkPoints),f=l.fill,h=l.stroke,d=l.lineWidth,p=l.size/2;p||(p=l.r);var y=t.linkPoints?t.linkPoints:{left:void 0,right:void 0,top:void 0,leftBottom:void 0,rightBottom:void 0},m=y.left,b=y.right,x=y.top,w=y.leftBottom,_=y.rightBottom,E=this.getSize(t)[0],S={r:p,fill:f,stroke:h,lineWidth:d},M=Math.cos(.1*Math.PI)*E,O=Math.sin(.1*Math.PI)*E;i?b||void 0===b?i.attr(Object(g.__assign)(Object(g.__assign)({},S),{x:M,y:-O})):(i.remove(),delete e.shapeMap["link-point-right"]):b&&(e.shapeMap["link-point-right"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},S),{x:M,y:-O}),className:"link-point-right",name:"link-point-right",isAnchorPoint:!0})),M=Math.cos(.5*Math.PI)*E,O=Math.sin(.5*Math.PI)*E,o?x||void 0===x?o.attr(Object(g.__assign)(Object(g.__assign)({},S),{x:M,y:-O})):(o.remove(),delete e.shapeMap["link-point-top"]):x&&(e.shapeMap["link-point-top"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},S),{x:M,y:-O}),className:"link-point-top",name:"link-point-top",isAnchorPoint:!0})),M=Math.cos(.9*Math.PI)*E,O=Math.sin(.9*Math.PI)*E,r?m||void 0===m?r.attr(Object(g.__assign)(Object(g.__assign)({},S),{x:M,y:-O})):(r.remove(),delete e.shapeMap["link-point-left"]):m&&(e.shapeMap["link-point-left"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},S),{x:M,y:-O}),className:"link-point-left",name:"link-point-left",isAnchorPoint:!0})),M=Math.cos(1.3*Math.PI)*E,O=Math.sin(1.3*Math.PI)*E,a?w||void 0===w?a.attr(Object(g.__assign)(Object(g.__assign)({},S),{x:M,y:-O})):(a.remove(),delete e.shapeMap["link-point-left-bottom"]):w&&(e.shapeMap["link-point-left-bottom"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},S),{x:M,y:-O}),className:"link-point-left-bottom",name:"link-point-left-bottom",isAnchorPoint:!0})),M=Math.cos(1.7*Math.PI)*E,O=Math.sin(1.7*Math.PI)*E,s?_||void 0===_?s.attr(Object(g.__assign)(Object(g.__assign)({},S),{x:M,y:-O})):(s.remove(),delete e.shapeMap["link-point-right-bottom"]):_&&(e.shapeMap["link-point-right-bottom"]=e.addShape("circle",{attrs:Object(g.__assign)(Object(g.__assign)({},S),{x:M,y:-O}),className:"link-point-right-bottom",name:"link-point-right-bottom",isAnchorPoint:!0}))}},"single-node");var eu=xr.defaultSubjectColors,nu=function(t,e){var n=0,r=[];return Object.keys(t).forEach((function(i){var o=+t[i];isNaN(o)||(r.push({key:i,value:o,color:e[i]}),n+=o)})),{totalValue:n,configs:r}},ru=function(t){var e=t.attr("r"),n=.6*e;return{lineWidth:e-n,arcR:(e+n)/2}},iu=function(t,e){var n,r,i,o=e.arcR,a=e.arcBegin,s=e.beginAngle,u=e.config,c=e.fanIndex,l=e.lineWidth,f=e.totalValue,h=e.drawWhole,d=void 0!==h&&h,p=e.updateShape,g=void 0===p?void 0:p,v=u.value/f;if(v<.001)return{beginAngle:s,arcBegin:a,shape:void 0,shouldEnd:!1};if(d||v>.999)n=[o,1e-4],i=1;else{var y=v*Math.PI*2;r=s+y,n=[o*Math.cos(r),-o*Math.sin(r)],i=y>Math.PI?1:0}var m={path:[["M",a[0],a[1]],["A",o,o,0,i,0,n[0],n[1]]],stroke:u.color||(null==g?void 0:g.attr("stroke"))||eu[c%eu.length],lineWidth:l};return g?g.attr(m):t.shapeMap["".concat("fan-shape-").concat(c)]=t.addShape("path",{attrs:m,name:"".concat("fan-shape-").concat(c),draggable:!0}),{beginAngle:r,arcBegin:n,shape:t.shapeMap["".concat("fan-shape-").concat(c)],shouldEnd:d||v>.999}};Er("donut",{options:{size:kr.defaultNode.size,style:{x:0,y:0,stroke:kr.defaultNode.style.stroke,fill:kr.defaultNode.style.fill,lineWidth:kr.defaultNode.style.lineWidth},labelCfg:{style:{fill:kr.nodeLabel.style.fill,fontSize:kr.nodeLabel.style.fontSize,fontFamily:kr.windowFontFamily}},linkPoints:{top:!1,right:!1,bottom:!1,left:!1,size:kr.defaultNode.linkPoints.size,lineWidth:kr.defaultNode.linkPoints.lineWidth,fill:kr.defaultNode.linkPoints.fill,stroke:kr.defaultNode.linkPoints.stroke},icon:{show:!1,img:"https://gw.alipayobjects.com/zos/bmw-prod/5d015065-8505-4e7a-baec-976f81e3c41d.svg",width:20,height:20},stateStyles:Object(g.__assign)({},kr.nodeStateStyles)},shapeType:"circle",labelPosition:"center",drawShape:function(t,e){var n=(this.mergeStyle||this.getOptions(t)).icon,r=void 0===n?{}:n,i=this.getShapeStyle(t),o=Object(v.deepMix)({},r,t.icon),a=e.addShape("circle",{attrs:i,className:"".concat(this.type,"-keyShape"),draggable:!0,name:"".concat(this.type,"-keyShape")});e.shapeMap["".concat(this.type,"-keyShape")]=a;var s=o.width,u=o.height,c=o.show,l=o.text;return c&&(e.shapeMap["".concat(this.type,"-icon")]=l?e.addShape("text",{attrs:Object(g.__assign)({x:0,y:0,fontSize:12,fill:"#000",stroke:"#000",textBaseline:"middle",textAlign:"center"},o),className:"".concat(this.type,"-icon"),name:"".concat(this.type,"-icon"),draggable:!0}):e.addShape("image",{attrs:Object(g.__assign)({x:-s/2,y:-u/2},o),className:"".concat(this.type,"-icon"),name:"".concat(this.type,"-icon"),draggable:!0})),function(t,e,n){var r=t.donutAttrs,i=void 0===r?{}:r,o=t.donutColorMap,a=void 0===o?{}:o,s=Object.keys(i).length;if(i&&s>1){var u=nu(i,a),c=u.configs,l=u.totalValue;if(l){var f=ru(n),h=f.lineWidth,d=f.arcR,p=[d,0],g=0;if(1===s)return void iu(e,{arcR:d,arcBegin:p,beginAngle:g,config:c[0],fanIndex:0,lineWidth:h,totalValue:l,drawWhole:!0});for(var v=0;v<c.length;v++){var y=iu(e,{arcR:d,arcBegin:p,beginAngle:g,config:c[v],fanIndex:v,lineWidth:h,totalValue:l});if(y.shouldEnd)return;p=y.arcBegin,g=y.beginAngle}}}}(t,e,a),this.drawLinkPoints(t,e),a},updateShape:function(t,e,n,r,i){var o=e.get("keyShape");o.attr(Object(g.__assign)({},n)),function(t,e,n){var r=t.donutAttrs,i=t.donutColorMap,o=void 0===i?{}:i,a={},s=e.getContainer();if(r){var u=nu(r,o),c=u.configs,l=u.totalValue;if(l)for(var f=ru(n),h=f.lineWidth,d=f.arcR,p=[d,0],g=0,v=0;v<c.length;v++){var y="".concat("fan-shape-").concat(v),m=iu(s,{arcR:d,arcBegin:p,beginAngle:g,config:c[v],fanIndex:v,lineWidth:h,totalValue:l,drawWhole:1===c.length,updateShape:s.shapeMap[y]});if(m.shape&&(a[y]=!0),m.shouldEnd)break;p=m.arcBegin,g=m.beginAngle}}Object.keys(s.shapeMap).filter((function(t){return t.includes("fan-shape-")})).forEach((function(t){a[t]||(s.shapeMap[t].remove(!0),delete s.shapeMap[t])}))}(t,e,o),this.updateLabel(t,e,i),r&&this.updateIcon(t,e)}},"circle");var ou=function(t){var e=t.x,n=t.y;return{x:e,y:n,centerX:e,centerY:n,minX:e,minY:n,maxX:e,maxY:n,height:0,width:0}},au=function(t){for(var e=[],n={},r=t.length-1;r>=0;r--){var i=t[r];i.id="".concat(i.x,"|||").concat(i.y),n[i.id]||(n[i.id]=i,e.push(i))}return e},su=function(t){return au(t)},uu=function(t,e){return t.width||t.height?{centerX:t.centerX,centerY:t.centerY,minX:t.minX-e,minY:t.minY-e,maxX:t.maxX+e,maxY:t.maxY+e,height:t.height+2*e,width:t.width+2*e}:t},cu=function(t,e,n){var r=function(t,e){var n=Math.abs(t.x-e.centerX),r=Math.abs(t.y-e.centerY);return 0===n&&0===r?0:n/e.width>r/e.height}(e,t);if(0===r){var i=t.centerX,o=t.centerY;return n.y<e.y?o=t.minY:n.x>e.x?i=t.maxX:n.x<e.x?i=t.minX:n.x===e.x&&(o=t.maxY),{x:i,y:o}}return r?{x:e.x>t.centerX?t.maxX:t.minX,y:e.y}:{x:e.x,y:e.y>t.centerY?t.maxY:t.minY}},lu=function(t,e){var n=Math.min(t.minX,e.minX),r=Math.min(t.minY,e.minY),i=Math.max(t.maxX,e.maxX),o=Math.max(t.maxY,e.maxY);return{centerX:(n+i)/2,centerY:(r+o)/2,minX:n,minY:r,maxX:i,maxY:o,height:o-r,width:i-n}},fu=function(t){return[{x:t.minX,y:t.minY},{x:t.maxX,y:t.minY},{x:t.maxX,y:t.maxY},{x:t.minX,y:t.maxY}]},hu=function(t,e){var n=t.x,r=t.y;return n<e.minX||n>e.maxX||r<e.minY||r>e.maxY},du=function(t,e){return Math.abs(t.x-e.x)+Math.abs(t.y-e.y)},pu=function(t,e,n,r,i){return du(t,e)+du(t,n)+function(t,e){var n=0;return e.forEach((function(e){e&&(t.x===e.x&&(n+=-2),t.y===e.y&&(n+=-2))})),n}(t,[e,n,r,i])},gu=function(t,e,n,r,i){void 0===i&&(i=0),t.unshift(e[r]),n[r]&&n[r]!==r&&i<=100&&gu(t,e,n,n[r],i+1)},vu=function(t,e,n,r){var i=n.x-t.x,o=n.y-t.y,a=r.x-t.x,s=r.y-t.y,u=n.x-e.x,c=n.y-e.y,l=r.x-e.x,f=r.y-e.y;return(i*s-o*a)*(u*f-c*l)<=0&&(i*c-o*u)*(a*f-s*l)<=0},yu=function(t,e,n){if(n.width||n.height){var r=fu(n),i=r[0],o=r[1],a=r[2],s=r[3];return vu(t,e,i,o)||vu(t,e,i,s)||vu(t,e,o,a)||vu(t,e,a,s)}return!1},mu=function(t,e,n,r){var i=[];return t.forEach((function(t){if(t!==e&&(t.x===e.x||t.y===e.y)){if(yu(t,e,n)||yu(t,e,r))return;i.push(t)}})),au(i)},bu=function(){function t(){this.arr=[],this.map={},this.arr=[],this.map={}}return t.prototype._innerAdd=function(t,e){for(var n=[0,e-1];n[1]-n[0]>1;){var r=Math.floor((n[0]+n[1])/2);if(this.arr[r].value>t.value)n[1]=r;else{if(!(this.arr[r].value<t.value))return this.arr.splice(r,0,t),void(this.map[t.id]=!0);n[0]=r}}this.arr.splice(n[1],0,t),this.map[t.id]=!0},t.prototype.add=function(t){delete this.map[t.id];var e=this.arr.length;return e?this.arr[e-1].value<t.value?(this.arr.push(t),void(this.map[t.id]=!0)):void this._innerAdd(t,e):(this.arr.push(t),void(this.map[t.id]=!0))},t.prototype.remove=function(t){this.map[t]&&delete this.map[t]},t.prototype._clearAndGetMinId=function(){for(var t,e=this.arr.length-1;e>=0;e--)this.map[this.arr[e].id]?t=this.arr[e].id:this.arr.splice(e,1);return t},t.prototype._findFirstId=function(){for(;this.arr.length;){var t=this.arr.shift();if(this.map[t.id])return t.id}},t.prototype.minId=function(t){return t?this._clearAndGetMinId():this._findFirstId()},t}(),xu=function(t,e){var n=[],r=t[0];return n.push("M".concat(r.x," ").concat(r.y)),t.forEach((function(r,i){var o=t[i+1],a=t[i+2];if(o&&a)if(function(t,e,n){return!(t.x===e.x&&e.x===n.x||t.y===e.y&&e.y===n.y)}(r,o,a)){var s=function(t,e,n,r){var i=du(t,e),o=du(n,e);return i<r&&(r=i),o<r&&(r=o),[{x:e.x-r/i*(e.x-t.x),y:e.y-r/i*(e.y-t.y)},{x:e.x-r/o*(e.x-n.x),y:e.y-r/o*(e.y-n.y)}]}(r,o,a,e),u=s[0],c=s[1];n.push("L".concat(u.x," ").concat(u.y)),n.push("Q".concat(o.x," ").concat(o.y," ").concat(c.x," ").concat(c.y)),n.push("L".concat(c.x," ").concat(c.y))}else n.push("L".concat(o.x," ").concat(o.y));else o&&n.push("L".concat(o.x," ").concat(o.y))})),n.join("")},wu=function(t,e,n,r,i){var o,a;if(n&&n.getType())if("combo"===n.getType()){var s=n.getKeyShape().getBBox();if(s){var u=n.getModel(),c=u.x,l=u.y;(o={x:c,y:l,width:s.width,height:s.height,minX:s.minX+c,maxX:s.maxX+c,minY:s.minY+l,maxY:s.maxY+l}).centerX=(o.minX+o.maxX)/2,o.centerY=(o.minY+o.maxY)/2}else o=ou(t)}else o=n&&n.getBBox();else o=ou(t);if(r&&r.getType())if("combo"===r.getType()){var f=r.getKeyShape().getBBox();if(f){var h=r.getModel(),d=h.x,p=h.y;(a={x:d,y:p,width:f.width,height:f.height,minX:f.minX+d,maxX:f.maxX+d,minY:f.minY+p,maxY:f.maxY+p}).centerX=(a.minX+a.maxX)/2,a.centerY=(a.minY+a.maxY)/2}else a=ou(e)}else a=r&&r.getBBox();else a=ou(e);var g=uu(o,i),v=uu(a,i),y=cu(g,t,e),m=cu(v,e,t),b=function(t){void 0===t&&(t=[]);var e=[],n=[];t.forEach((function(t){e.push(t.x),n.push(t.y)}));var r=Math.min.apply(Math,e),i=Math.max.apply(Math,e),o=Math.min.apply(Math,n),a=Math.max.apply(Math,n);return{centerX:(r+i)/2,centerY:(o+a)/2,maxX:i,maxY:a,minX:r,minY:o,height:a-o,width:i-r}}([y,m]),x=lu(g,b),w=lu(v,b),_=[];_=_.concat(fu(x)).concat(fu(w));var E={x:(t.x+e.x)/2,y:(t.y+e.y)/2};[b,x,w].forEach((function(t){_=_.concat(function(t,e){return function(t,e){return e<t.minX||e>t.maxX?[]:[{x:e,y:t.minY},{x:e,y:t.maxY}]}(t,e.x).concat(function(t,e){return e<t.minY||e>t.maxY?[]:[{x:t.minX,y:e},{x:t.maxX,y:e}]}(t,e.y))}(t,E).filter((function(t){return hu(t,g)&&hu(t,v)})))})),[{x:y.x,y:m.y},{x:m.x,y:y.y}].forEach((function(t){hu(t,g)&&hu(t,v)&&_.push(t)})),_.unshift(y),_.push(m);var S=function(t,e,n,r,i,o,a){var s,u=[],c=((s={})[e.id]=e,s),l={},f={},h={};f[e.id]=0,h[e.id]=pu(e,n,e);var d=new bu;d.add({id:e.id,value:h[e.id]});var p,g={};for(t.forEach((function(t){g[t.id]=t}));Object.keys(c).length;){var v=d.minId(!1);if(!v)break;if((p=c[v])===n){var y=[];return gu(y,g,l,n.id),y}delete c[p.id],d.remove(p.id),u.push(p);var m=mu(t,p,r,i);m.forEach((function(t){if(-1===u.indexOf(t)){var r=t.id;c[r]||(c[r]=t);var i=h[p.id]+du(p,t);f[r]&&i>=f[r]||(l[r]=p.id,f[r]=i,h[r]=f[r]+pu(t,n,e,o,a)),d.add({id:r,value:h[r]})}}))}return[e,n]}(_=au(_),y,m,o,a,t,e);return S.unshift(t),S.push(e),su(S)},_u={offset:20,maxAllowedDirectionChange:Math.PI/2,maximumLoops:2e3,gridSize:10,directions:[{stepX:1,stepY:0},{stepX:-1,stepY:0},{stepX:0,stepY:1},{stepX:0,stepY:-1}],get penalties(){return{0:0,45:this.gridSize/2,90:this.gridSize/2}},distFunc:function(t,e){return Math.abs(t.x-e.x)+Math.abs(t.y-e.y)},fallbackRoute:function(t,e,n,r,i){return su(wu(t,e,n,r,i.offset))}},Eu=(Math.PI,function(t,e){var n=Math.round(Math.abs(t/e));return n<0?0:(t<0?-1:1)*n}),Su=function(t,e){var n=e.x-t.x,r=e.y-t.y;return n||r?Math.atan2(r,n):0},Mu=function(t,e){var n=Math.abs(t-e);return n>Math.PI?2*Math.PI-n:n},Ou=function(t,e,n){for(var r=1/0,i=0,o=e.length;i<o;i++){var a=n(t,e[i]);a<r&&(r=a)}return r},ku=function(t,e,n,r,i){var o=[];if(!n)return[t];var a=i.directions,s=i.offset,u=n.getBBox(),c=e.x>u.minX&&e.x<u.maxX&&e.y>u.minY&&e.y<u.maxY,l=uu(u,s);for(var f in l)l[f]=Eu(l[f],i.gridSize);if(c){for(var h=0,d=a;h<d.length;h++){var p=d[h],g=[[{x:l.minX,y:l.minY},{x:l.maxX,y:l.minY}],[{x:l.minX,y:l.minY},{x:l.minX,y:l.maxY}],[{x:l.maxX,y:l.minY},{x:l.maxX,y:l.maxY}],[{x:l.minX,y:l.maxY},{x:l.maxX,y:l.maxY}]];for(f=0;f<4;f++){var v=g[f],y=xr.getLineIntersect(t,{x:t.x+p.stepX*l.width,y:t.y+p.stepY*l.height},v[0],v[1]);y&&!yu(t,y,u)&&(y.id="".concat(y.x,"|||").concat(y.y),o.push(y))}}return o}var m=cu(l,t,r);return m.id="".concat(m.x,"|||").concat(m.y),[m]},Au=function(t,e,n,r){var i=Su(t,e),o=n[t.id];if(!o){var a=Su(r,t);return Mu(a,i)}var s=Su({x:o.x,y:o.y},t);return Mu(s,i)},Cu=function(t,e,n,r,i,o,a){var s=[r],u=r,c=t.id,l=t.x,f=t.y,h={x:l,y:f,id:c};Au(h,o,e,n)&&(u={x:o.x===r.x?r.x:h.x*a,y:o.y===r.y?r.y:h.y*a},s.unshift(u));for(var d=e[c];d&&d.id!==c;){var p={x:l,y:f,id:c},g={x:d.x,y:d.y,id:d.id};Au(g,p,e,n)&&(u={x:g.x===p.x?u.x:g.x*a,y:g.y===p.y?u.y:g.y*a},s.unshift(u)),l=g.x,f=g.y,d=e[c=g.id]}return s[0].x=l===n.x?i.x:u.x,s[0].y=f===n.y?i.y:u.y,s.unshift(i),s},ju=function(t,e,n,r,i){if(isNaN(t.x)||isNaN(e.x))return[];var o=Object(v.deepMix)(_u,i);o.obstacles=o.obstacles||[];var a=o.penalties,s=o.gridSize,u=function(t,e,n){var r={};return t.forEach((function(t){if(t)for(var i=uu(t.getBBox(),n),o=Eu(i.minX,e);o<=Eu(i.maxX,e);o+=1)for(var a=Eu(i.minY,e);a<=Eu(i.maxY,e);a+=1)r["".concat(o,"|||").concat(a)]=!0})),r}(o.obstacles.concat([n,r]),s,o.offset),c={x:Eu(t.x,s),y:Eu(t.y,s)},l={x:Eu(e.x,s),y:Eu(e.y,s)};t.id="".concat(c.x,"|||").concat(c.y),e.id="".concat(l.x,"|||").concat(l.y);var f=ku(c,t,n,l,o),h=ku(l,e,r,c,o);f.forEach((function(t){delete u[t.id]})),h.forEach((function(t){delete u[t.id]}));for(var d={},p={},g={},y={},m={},b=new bu,x=0;x<f.length;x++){var w=f[x];d[w.id]=w,y[w.id]=0,m[w.id]=Ou(w,h,o.distFunc),b.add({id:w.id,value:m[w.id]})}var _,E,S,M,O,k,A=o.maximumLoops,C=1/0,j={};for(h.forEach((function(t){j["".concat(t.x,"|||").concat(t.y)]=!0})),Object.keys(d).forEach((function(t){var e=d[t].id;m[e]<=C&&(C=m[e],_=d[e])}));Object.keys(d).length>0&&A>0;){var I=b.minId((A+1)%30==0);if(!I)break;if(_=d[I],j["".concat(_.x,"|||").concat(_.y)])return Cu(_,g,c,e,t,l,s);delete d[_.id],b.remove(_.id),p[_.id]=!0;for(x=0;x<o.directions.length;x++){E=o.directions[x];var T="".concat(Math.round(_.x)+E.stepX,"|||").concat(Math.round(_.y)+E.stepY);if(S={x:_.x+E.stepX,y:_.y+E.stepY,id:T},!p[T]&&!((k=Au(_,S,g,c))>o.maxAllowedDirectionChange||u[T])){d[T]||(d[T]=S);var N=a[k];M=o.distFunc(_,S)+(isNaN(N)?s:N),O=y[_.id]+M;var P=y[T];P&&O>=P||(g[T]=_,y[T]=O,m[T]=O+Ou(S,h,o.distFunc),b.add({id:T,value:m[T]}))}}A-=1}return o.fallbackRoute(t,e,n,r,o)};Sr("polyline",{options:{color:kr.defaultEdge.color,size:kr.defaultEdge.size,style:{radius:0,offset:15,x:0,y:0,stroke:kr.defaultEdge.style.stroke,lineAppendWidth:kr.defaultEdge.style.lineAppendWidth},labelCfg:{style:{fill:kr.edgeLabel.style.fill,fontSize:kr.edgeLabel.style.fontSize,fontFamily:kr.windowFontFamily}},routeCfg:{obstacles:[],maxAllowedDirectionChange:Math.PI,maximumLoops:500,gridSize:10},stateStyles:Object(g.__assign)({},kr.edgeStateStyles)},shapeType:"polyline",labelPosition:"center",drawShape:function(t,e){var n=this.getShapeStyle(t);0===n.radius&&delete n.radius;var r=e.addShape("path",{className:"edge-shape",name:"edge-shape",attrs:n});return e.shapeMap["edge-shape"]=r,r},getShapeStyle:function(t){var e=this.options.style,n={stroke:t.color},r=Object(v.mix)({},e,n,t.style);t=this.getPathPoints(t),this.radius=r.radius,this.offset=r.offset;var i=t.startPoint,o=t.endPoint,a=this.getControlPoints(t),s=[i];a&&(s=s.concat(a)),s.push(o);var u=t.sourceNode,c=t.targetNode,l=r.radius,f=this.options.routeCfg,h=Object(v.mix)({},f,t.routeCfg);h.offset=r.offset;var d=this.getPath(s,u,c,l,h,!Boolean(a));return(Object(v.isArray)(d)&&d.length<=1||Object(v.isString)(d)&&-1===d.indexOf("L"))&&(d="M0 0, L0 0"),(isNaN(i.x)||isNaN(i.y)||isNaN(o.x)||isNaN(o.y))&&(d="M0 0, L0 0"),Object(v.mix)({},kr.defaultEdge.style,r,{lineWidth:t.size,path:d})},updateShapeStyle:function(t,e){var n=e.getContainer();if(e.isVisible()){var r={stroke:t.color},i=n.shapeMap["edge-shape"]||n.find((function(t){return"edge-shape"===t.get("className")}))||e.getKeyShape(),o=t.size,a=(t=this.getPathPoints(t)).startPoint,s=t.endPoint,u=this.getControlPoints(t),c=[a];u&&(c=c.concat(u)),c.push(s);var l=i.attr(),f=Object(v.mix)({},r,l,t.style),h=t.sourceNode,d=t.targetNode,p=f.radius,g=this.options.routeCfg,y=Object(v.mix)({},g,t.routeCfg);y.offset=f.offset;var m=this.getPath(c,h,d,p,y,!Boolean(u));(Object(v.isArray)(m)&&m.length<=1||Object(v.isString)(m)&&-1===m.indexOf("L"))&&(m="M0 0, L0 0"),(isNaN(a.x)||isNaN(a.y)||isNaN(s.x)||isNaN(s.y))&&(m="M0 0, L0 0"),l.endArrow&&!1===f.endArrow&&(t.style.endArrow={path:""}),l.startArrow&&!1===f.startArrow&&(t.style.startArrow={path:""});var b=Object(v.mix)(r,i.attr(),{lineWidth:o,path:m},t.style);i&&i.attr(b)}},getPath:function(t,e,n,r,i,o){var a=i.offset,s=i.obstacles,u=i.simple;if(!a||t.length>2||!1===o){if(r)return xu(t,r);var c=[];return Object(v.each)(t,(function(t,e){0===e?c.push(["M",t.x,t.y]):c.push(["L",t.x,t.y])})),c}!1===u||(null==s?void 0:s.length)||(u=!0);var l=u?wu(t[t.length-1],t[0],n,e,a):ju(t[0],t[t.length-1],e,n,i);return l&&l.length?r?xu(l,r):(l=function(t){if(!(null==t?void 0:t.length))return t;for(var e=t[t.length-1],n={x:e.x,y:e.y},r=[e],i=[e],o=t.length-2;o>=0;o--){var a,s=t[o];if(s.x===n.x?r.push(s):(r=[s],n.x=s.x),s.y===n.y?i.push(s):(i=[s],n.y=s.y),r.length>2)(a=t.indexOf(r[1]))>-1&&t.splice(a,1);else if(i.length>2)(a=t.indexOf(i[1]))>-1&&t.splice(a,1)}return t}(l),xr.pointsToPolygon(l)):"M0 0, L0 0"}},"single-edge");var Iu=pi.cloneEvent,Tu=pi.isNaN,Nu=Math.abs,Pu=["shift","ctrl","alt","control"],Du={getDefaultCfg:function(){return{direction:"both",enableOptimize:!1,scalableRange:0,allowDragOnItem:!1}},getEvents:function(){return{mousedown:"onMouseDown",drag:"onDragMove",dragend:"onMouseUp","canvas:click":"onMouseUp",keyup:"onKeyUp",focus:"onKeyUp",keydown:"onKeyDown",touchstart:"onTouchStart",touchmove:"onTouchMove",touchend:"onMouseUp"}},updateViewport:function(t){var e=this.origin,n=+t.clientX,r=+t.clientY;if(!Tu(n)&&!Tu(r)){var i=n-e.x,o=r-e.y;"x"===this.get("direction")?o=0:"y"===this.get("direction")&&(i=0),this.origin={x:n,y:r};var a=this.graph.get("width"),s=this.graph.get("height"),u=this.graph.get("canvas").getCanvasBBox(),c=this.scalableRange,l=this.scalableRange;c<1&&c>-1&&(c*=a,l*=s),(u.minX<=a+c&&u.minX+i>a+c||u.maxX+c>=0&&u.maxX+c+i<0)&&(i=0),(u.minY<=s+l&&u.minY+o>s+l||u.maxY+l>=0&&u.maxY+l+o<0)&&(o=0),this.graph.translate(i,o)}},onTouchStart:function(t){var e=t.originalEvent.touches,n=e[0],r=e[1];n&&r||(t.preventDefault(),this.mousedown=!0,this.onDragStart(t))},onMouseDown:function(t){this.mousedown=!0},onDragMove:function(t){this.mousedown&&(this.dragstart?this.onDrag(t):(this.dragstart=!0,this.onDragStart(t)))},onDragStart:function(t){var e=t.originalEvent;if((!e||"touchstart"===t.name||0===e.button)&&("touchstart"===t.name||"undefined"==typeof window||!window.event||window.event.buttons||window.event.button)&&this.shouldBegin(t,this)&&!this.keydown&&this.allowDrag(t)){if(this.origin={x:t.clientX,y:t.clientY},this.dragging=!1,this.enableOptimize){for(var n=this.graph,r=n.getEdges(),i=0,o=r.length;i<o;i++){var a=r[i].get("group").get("children");a&&a.forEach((function(t){t.set("ori-visibility",t.get("ori-visibility")||t.get("visible")),t.hide()}))}for(var s=n.getNodes(),u=0,c=s.length;u<c;u++)for(var l=0,f=s[u].getContainer().get("children");l<f.length;l++){var h=f[l];h.get("isKeyShape")||(h.set("ori-visibility",h.get("ori-visibility")||h.get("visible")),h.hide())}}if("undefined"!=typeof window){var d=this;this.handleDOMContextMenu=function(t){return d.onMouseUp(t)},document.body.addEventListener("contextmenu",this.handleDOMContextMenu)}}},onTouchMove:function(t){var e=t.originalEvent.touches,n=e[0],r=e[1];n&&r?this.onMouseUp(t):(t.preventDefault(),this.onDrag(t))},onDrag:function(t){if(this.mousedown){var e=this.graph;if(!this.keydown&&this.allowDrag(t)&&(t=Iu(t),this.origin)){if(this.dragging)t.type="drag",e.emit("canvas:drag",t);else{if(Nu(this.origin.x-t.clientX)+Nu(this.origin.y-t.clientY)<10)return;this.shouldBegin(t,this)&&(t.type="dragstart",e.emit("canvas:dragstart",t),this.originPosition={x:t.clientX,y:t.clientY},this.dragging=!0)}this.shouldUpdate(t,this)&&this.updateViewport(t)}}},onMouseUp:function(t){var e,n;this.mousedown=!1,this.dragstart=!1;var r=this.graph;if(!this.keydown){var i=r.getZoom(),o=r.get("modeController"),a=null===(n=null===(e=null==o?void 0:o.modes[o.mode])||void 0===e?void 0:e.filter((function(t){return"zoom-canvas"===t.type})))||void 0===n?void 0:n[0],s=a?a.optimizeZoom||.1:0;if(this.enableOptimize){for(var u=r.getEdges(),c=0,l=u.length;c<l;c++){var f=u[c].get("group").get("children");f&&f.forEach((function(t){var e=t.get("ori-visibility");t.set("ori-visibility",void 0),e&&t.show()}))}if(i>s)for(var h=r.getNodes(),d=0,p=h.length;d<p;d++)for(var g=0,v=h[d].getContainer().get("children");g<v.length;g++){var y=v[g];if(!y.get("isKeyShape")){var m=y.get("ori-visibility");y.set("ori-visibility",void 0),m&&y.show()}}}this.dragging?(t=Iu(t),this.shouldEnd(t,this)&&this.updateViewport(t),t.type="dragend",t.dx=t.clientX-this.originPosition.x,t.dy=t.clientY-this.originPosition.y,r.emit("canvas:dragend",t),this.endDrag(),"undefined"!=typeof window&&document.body.removeEventListener("contextmenu",this.handleDOMContextMenu)):this.origin=null}},endDrag:function(){this.origin=null,this.dragging=!1,this.dragbegin=!1,this.mousedown=!1,this.dragstart=!1},onKeyDown:function(t){var e=t.key;e&&(Pu.indexOf(e.toLowerCase())>-1?this.keydown=!0:this.keydown=!1)},onKeyUp:function(){this.keydown=!1,this.origin=null,this.dragging=!1,this.dragbegin=!1},allowDrag:function(t){var e,n,r=t.target,i=r&&r.isCanvas&&r.isCanvas();if(Object(v.isBoolean)(this.allowDragOnItem)&&!this.allowDragOnItem&&!i)return!1;if(Object(v.isObject)(this.allowDragOnItem)){var o=this.allowDragOnItem,a=o.node,s=o.edge,u=o.combo,c=null===(n=null===(e=t.item)||void 0===e?void 0:e.getType)||void 0===n?void 0:n.call(e);if(!a&&"node"===c)return!1;if(!s&&"edge"===c)return!1;if(!u&&"combo"===c)return!1}return!0}},Lu={getDefaultCfg:function(){return{updateEdge:!0,delegateStyle:{},enableDelegate:!1,onlyChangeComboSize:!1,comboActiveState:"",selectedState:"selected",enableOptimize:!1,enableDebounce:!1,enableStack:!0}},getEvents:function(){return{"node:mousedown":"onMouseDown",drag:"onDragMove",dragend:"onDragEnd","combo:dragenter":"onDragEnter","combo:dragleave":"onDragLeave","combo:drop":"onDropCombo","node:drop":"onDropNode","canvas:drop":"onDropCanvas",touchstart:"onTouchStart",touchmove:"onTouchMove",touchend:"onDragEnd",afterchangedata:"onDragEnd"}},validationCombo:function(t){return!(!this.origin||!t||t.destroyed)&&"combo"===t.getType()},onTouchStart:function(t){if(t.item){try{var e=t.originalEvent.touches,n=e[0],r=e[1];if(n&&r)return;t.preventDefault()}catch(t){console.warn("Touch original event not exist!")}this.mousedown={item:t.item,target:t.target,origin:{x:t.x,y:t.y}},this.dragstart=!0,this.onDragStart(t)}},onTouchMove:function(t){try{var e=t.originalEvent.touches,n=e[0],r=e[1];if(n&&r)return void this.onDragEnd(t);t.preventDefault()}catch(t){console.warn("Touch original event not exist!")}this.onDrag(t)},onMouseDown:function(t){this.mousedown={item:t.item,target:t.target,origin:{x:t.x,y:t.y}},"undefined"==typeof window||this.windowEventBinded||(this.windowEventBinded=!0,document.body.addEventListener("contextmenu",this.onDragEnd.bind(this)),document.body.addEventListener("mouseup",this.onDragEnd.bind(this)))},onDragMove:function(t){var e,n;"node"===(null===(n=null===(e=t.item)||void 0===e?void 0:e.getType)||void 0===n?void 0:n.call(e))?this.mousedown&&(this.dragstart?this.onDrag(Object(g.__assign)(Object(g.__assign)({},t),this.mousedown)):(this.dragstart=!0,this.onDragStart(t))):this.onDragEnd()},onDragStart:function(t){var e=this;if(this.currentShouldEnd=!0,this.shouldBegin(Object(g.__assign)(Object(g.__assign)({},t),this.mousedown),this)){var n=this.mousedown,r=n.item,i=n.target;if(r&&!r.destroyed&&!r.hasLocked()){if(r.getContainer().set("capture",!1),this.cachedCaptureItems||(this.cachedCaptureItems=[]),this.cachedCaptureItems.push(r),i)if(i.get("isAnchorPoint"))return;var o=this.graph;this.targets=[],this.targetCombo=null;var a=o.findAllByState("node",this.selectedState),s=r.get("id");if(0===a.filter((function(t){var e=t.get("id");return s===e})).length?this.targets.push(r):a.length>1?a.forEach((function(t){t.hasLocked()||e.targets.push(t)})):this.targets.push(r),this.graph.get("enabledStack")&&this.enableStack){var u=[];this.targets.forEach((function(t){var e=t.getModel(),n=e.x,r=e.y,i=e.id;u.push({x:n,y:r,id:i})})),this.set("beforeDragNodes",u)}this.hidenEdge={},this.get("updateEdge")&&this.enableOptimize&&!this.enableDelegate&&this.targets.forEach((function(t){t.getEdges().forEach((function(t){t.isVisible()&&(e.hidenEdge[t.getID()]=!0,t.hide())}))})),this.origin=this.mousedown.origin,this.point={},this.originPoint={}}}},onDrag:function(t){var e=this;if(this.mousedown&&this.origin&&this.shouldUpdate(t,this))if(this.get("enableDelegate"))this.updateDelegate(t);else if(this.enableDebounce)this.debounceUpdate({targets:this.targets,graph:this.graph,point:this.point,origin:this.origin,evt:t,updateEdge:this.get("updateEdge"),onlyChangeComboSize:this.onlyChangeComboSize,updateParentCombos:this.updateParentCombos});else{var n={};this.targets.map((function(r){e.update(r,t);var i=r.getModel().comboId;i&&(n[i]=e.graph.findById(i))})),this.onlyChangeComboSize&&this.updateParentCombos()}},onDragEnd:function(t){var e,n=this;if(this.mousedown=!1,this.dragstart=!1,"undefined"!=typeof window&&this.windowEventBinded&&(this.windowEventBinded=!1,document.body.removeEventListener("contextmenu",this.onDragEnd.bind(this)),document.body.removeEventListener("mouseup",this.onDragEnd.bind(this))),this.origin){null===(e=this.cachedCaptureItems)||void 0===e||e.forEach((function(t){t.getContainer().set("capture",!0)})),this.cachedCaptureItems=[],this.delegateRect&&(this.delegateRect.remove(),this.delegateRect=null),this.get("updateEdge")&&this.enableOptimize&&!this.enableDelegate&&this.targets.forEach((function(t){t.getEdges().forEach((function(t){n.hidenEdge[t.getID()]&&t.show(),t.refresh()}))})),this.hidenEdge={};var r=this.graph;if(r.get("enabledStack")&&this.enableStack){var i={before:{nodes:[],edges:[],combos:[]},after:{nodes:[],edges:[],combos:[]}};this.get("beforeDragNodes").forEach((function(t){i.before.nodes.push(t)})),this.targets.forEach((function(t){var e=t.getModel(),n=e.x,r=e.y,o=e.id;i.after.nodes.push({x:n,y:r,id:o})})),r.pushStack("update",Object(v.clone)(i))}r.emit("dragnodeend",{items:this.targets,targetItem:null}),this.point={},this.origin=null,this.originPoint={},this.targets.length=0,this.targetCombo=null}},onDropCombo:function(t){var e=t.item;if(this.currentShouldEnd=this.shouldEnd(t,e,this),this.updatePositions(t,!this.currentShouldEnd),this.currentShouldEnd&&this.validationCombo(e)){var n=this.graph;if(this.comboActiveState&&n.setItemState(e,this.comboActiveState,!1),this.targetCombo=e,this.onlyChangeComboSize)n.updateCombos();else{var r=e.getModel();this.targets.map((function(t){t.getModel().comboId!==r.id&&n.updateComboTree(t,r.id)})),n.updateCombo(e)}n.emit("dragnodeend",{items:this.targets,targetItem:this.targetCombo})}},onDropCanvas:function(t){var e=this.graph;this.currentShouldEnd=this.shouldEnd(t,void 0,this),this.updatePositions(t,!this.currentShouldEnd),this.targets&&0!==this.targets.length&&this.currentShouldEnd&&(this.onlyChangeComboSize?this.updateParentCombos():this.targets.map((function(t){t.getModel().comboId&&e.updateComboTree(t)})))},onDropNode:function(t){if(this.targets&&0!==this.targets.length){var e=t.item,n=this.graph,r=e.getModel().comboId,i=r?n.findById(r):void 0;if(this.currentShouldEnd=this.shouldEnd(t,i,this),this.updatePositions(t,!this.currentShouldEnd),this.currentShouldEnd){if(this.onlyChangeComboSize)this.updateParentCombos();else if(r){var o=n.findById(r);this.comboActiveState&&n.setItemState(o,this.comboActiveState,!1),this.targets.map((function(t){var e=t.getModel();r!==e.comboId&&n.updateComboTree(t,r)})),n.updateCombo(o)}else this.targets.map((function(t){t.getModel().comboId&&n.updateComboTree(t)}));n.emit("dragnodeend",{items:this.targets,targetItem:e})}}},onDragEnter:function(t){var e=t.item;if(this.validationCombo(e)){var n=this.graph;this.comboActiveState&&n.setItemState(e,this.comboActiveState,!0)}},onDragLeave:function(t){var e=t.item;if(this.validationCombo(e)){var n=this.graph;this.comboActiveState&&n.setItemState(e,this.comboActiveState,!1)}},updatePositions:function(t,e){var n=this;this.targets&&0!==this.targets.length&&(this.get("enableDelegate")?this.enableDebounce?this.debounceUpdate({targets:this.targets,graph:this.graph,point:this.point,origin:this.origin,evt:t,updateEdge:this.get("updateEdge"),onlyChangeComboSize:this.onlyChangeComboSize,updateParentCombos:this.updateParentCombos}):e||this.targets.map((function(e){return n.update(e,t)})):this.targets.map((function(r){return n.update(r,t,e)})))},update:function(t,e,n){var r=this.origin,i=t.get("model"),o=t.get("id");this.point[o]||(this.point[o]={x:i.x||0,y:i.y||0});var a=e.x-r.x+this.point[o].x,s=e.y-r.y+this.point[o].y;n&&(a+=r.x-e.x,s+=r.y-e.y);var u={x:a,y:s};this.get("updateEdge")?this.graph.updateItem(t,u,!1):t.updatePosition(u)},debounceUpdate:Object(v.debounce)((function(t){var e=t.targets,n=t.graph,r=t.point,i=t.origin,o=t.evt,a=t.updateEdge,s=t.onlyChangeComboSize,u=t.updateParentCombos;e.map((function(t){var e=t.get("model"),s=t.get("id");r[s]||(r[s]={x:e.x||0,y:e.y||0});var u={x:o.x-i.x+r[s].x,y:o.y-i.y+r[s].y};a?n.updateItem(t,u,!1):t.updatePosition(u)})),s&&u(n,e)}),50,!0),updateDelegate:function(t){var e=this.graph;if(this.delegateRect){var n=t.x-this.origin.x+this.originPoint.minX,r=t.y-this.origin.y+this.originPoint.minY;this.delegateRect.attr({x:n,y:r})}else{var i=e.get("group"),o=Object(v.deepMix)({},Kr.delegateStyle,this.delegateStyle),a=this.calculationGroupPosition(t),s=a.x,u=a.y,c=a.width,l=a.height,f=a.minX,h=a.minY;this.originPoint={x:s,y:u,width:c,height:l,minX:f,minY:h},this.delegateRect=i.addShape("rect",{attrs:Object(g.__assign)({width:c,height:l,x:s,y:u},o),name:"rect-delegate-shape"}),this.delegate=this.delegateRect,this.delegateRect.set("capture",!1)}},calculationGroupPosition:function(t){var e=this.targets;0===e.length&&e.push(t.item);for(var n=1/0,r=-1/0,i=1/0,o=-1/0,a=0;a<e.length;a++){var s=e[a].getBBox(),u=s.minX,c=s.minY,l=s.maxX,f=s.maxY;u<n&&(n=u),c<i&&(i=c),l>r&&(r=l),f>o&&(o=f)}return{x:Math.floor(n),y:Math.floor(i),width:Math.ceil(r)-Math.floor(n),height:Math.ceil(o)-Math.floor(i),minX:n,minY:i}},updateParentCombos:function(t,e){var n=t||this.graph,r=e||this.targets,i={};null==r||r.forEach((function(t){var e=t.getModel().comboId;e&&(i[e]=n.findById(e))})),Object.values(i).forEach((function(t){t&&n.updateCombo(t)}))}},Ru=null,Bu={getDefaultCfg:function(){return{trigger:"mouseenter",activeState:"active",inactiveState:"inactive",resetSelected:!1,shouldClearStatusOnSecond:!1,shouldUpdate:function(){return!0}}},getEvents:function(){return"mouseenter"===this.get("trigger")?{"node:mouseenter":"setAllItemStates","combo:mouseenter":"setAllItemStates","node:mouseleave":"clearActiveState","combo:mouseleave":"clearActiveState"}:{"node:click":"setAllItemStates","combo:click":"setAllItemStates","canvas:click":"clearActiveState","node:touchstart":"setOnTouchStart","combo:touchstart":"setOnTouchStart","canvas:touchstart":"clearOnTouchStart"}},setOnTouchStart:function(t){try{var e=t.originalEvent.touches,n=e[0],r=e[1];if(n&&r)return;t.preventDefault()}catch(t){console.warn("Touch original event not exist!")}this.setAllItemStates(t)},clearOnTouchStart:function(t){try{var e=t.originalEvent.touches,n=e[0],r=e[1];if(n&&r)return;t.preventDefault()}catch(t){console.warn("Touch original event not exist!")}this.clearActiveState(t)},setAllItemStates:function(t){clearTimeout(this.timer),this.throttleSetAllItemStates(t,this)},clearActiveState:function(t){var e=this;this.shouldClearStatusOnSecond&&(Ru=null),this.timer=setTimeout((function(){e.throttleClearActiveState(t,e)}),50)},throttleSetAllItemStates:Object(v.throttle)((function(t,e){var n=t.item,r=e.graph;if(r&&!r.destroyed&&(e.item=n,e.shouldUpdate(t.item,{event:t,action:"activate"},e))){var i=e.shouldClearStatusOnSecond,o=n.getModel().id;if(Ru===o&&i)return e.throttleClearActiveState(t,e),void(Ru=null);for(var a=e.activeState,s=e.inactiveState,u=r.getNodes(),c=r.getCombos(),l=r.getEdges(),f=r.get("vedges"),h=u.length,d=c.length,p=l.length,g=f.length,v=e.inactiveItems||{},y=e.activeItems||{},m=0;m<h;m++){var b=u[m],x=b.getID(),w=b.hasState("selected");e.resetSelected&&w&&r.setItemState(b,"selected",!1),y[x]&&(r.setItemState(b,a,!1),delete y[x]),s&&!v[x]&&(r.setItemState(b,s,!0),v[x]=b)}for(m=0;m<d;m++){var _=c[m],E=_.getID();w=_.hasState("selected");e.resetSelected&&w&&r.setItemState(_,"selected",!1),y[E]&&(r.setItemState(_,a,!1),delete y[E]),s&&!v[E]&&(r.setItemState(_,s,!0),v[E]=_)}for(m=0;m<p;m++){y[C=(A=l[m]).getID()]&&(r.setItemState(A,a,!1),delete y[C]),s&&!v[C]&&(r.setItemState(A,s,!0),v[C]=A)}for(m=0;m<g;m++){var S=f[m],M=S.getID();y[M]&&(r.setItemState(S,a,!1),delete y[M]),s&&!v[M]&&(r.setItemState(S,s,!0),v[M]=S)}if(n&&!n.destroyed){s&&(r.setItemState(n,s,!1),delete v[n.getID()]),y[n.getID()]||(r.setItemState(n,a,!0),y[n.getID()]=n);var O=n.getEdges(),k=O.length;for(m=0;m<k;m++){var A,C=(A=O[m]).getID(),j=void 0,I=(j=A.getSource()===n?A.getTarget():A.getSource()).getID();s&&v[I]&&(r.setItemState(j,s,!1),delete v[I]),y[I]||(r.setItemState(j,a,!0),y[I]=j),v[C]&&(r.setItemState(A,s,!1),delete v[C]),y[C]||(r.setItemState(A,a,!0),y[C]=A),A.toFront()}}e.activeItems=y,e.inactiveItems=v,i&&(Ru=n.getModel().id),r.emit("afteractivaterelations",{item:t.item,action:"activate"})}}),50,{trailing:!0,leading:!0}),throttleClearActiveState:Object(v.throttle)((function(t,e){var n=e.get("graph");if(n&&!n.destroyed&&e.shouldUpdate(t.item,{event:t,action:"deactivate"},e)){var r=e.activeState,i=e.inactiveState,o=e.activeItems||{},a=e.inactiveItems||{};Object.values(o).filter((function(t){return!t.destroyed})).forEach((function(t){n.clearItemStates(t,r)})),Object.values(a).filter((function(t){return!t.destroyed})).forEach((function(t){n.clearItemStates(t,i)})),e.activeItems={},e.inactiveItems={},n.emit("afteractivaterelations",{item:t.item||e.get("item"),action:"deactivate"})}}),50,{trailing:!0,leading:!0})},Fu=Math.min,zu=Math.max,Gu=Math.abs,Yu=["drag","shift","ctrl","alt","control"],Uu={getDefaultCfg:function(){return{brushStyle:{fill:"#EEF6FF",fillOpacity:.4,stroke:"#DDEEFE",lineWidth:1},onSelect:function(){},onDeselect:function(){},selectedState:"selected",trigger:"shift",includeEdges:!0,includeCombos:!1,selectOnCombo:!1,selectedEdges:[],selectedNodes:[],selectedCombos:[]}},getEvents:function(){return Yu.indexOf(this.trigger.toLowerCase())>-1||(this.trigger="shift",console.warn("Behavior brush-select 的 trigger 参数不合法,请输入 'drag'、'shift'、'ctrl' 或 'alt'")),"drag"===this.trigger?{dragstart:"onMouseDown",drag:"onMouseMove",dragend:"onMouseUp","canvas:click":"clearStates"}:{dragstart:"onMouseDown",drag:"onMouseMove",dragend:"onMouseUp","canvas:click":"clearStates",keyup:"onKeyUp",keydown:"onKeyDown"}},onMouseDown:function(t){var e=t.item,n=this.brush,r=this.selectOnCombo,i="combo"===(null==e?void 0:e.getType());i&&!r||!i&&e||("drag"===this.trigger||this.keydown)&&(this.selectedNodes&&0!==this.selectedNodes.length&&this.clearStates(),n||(n=this.createBrush()),this.originPoint={x:t.canvasX,y:t.canvasY},n.attr({width:0,height:0}),n.show(),this.dragging=!0)},onMouseMove:function(t){this.dragging&&("drag"===this.trigger||this.keydown)&&this.updateBrush(t)},onMouseUp:function(t){this.graph;(this.brush||this.dragging)&&("drag"===this.trigger||this.keydown)&&(this.brush.remove(!0),this.brush=null,this.getSelectedNodes(t),this.dragging=!1)},clearStates:function(){var t=this.graph,e=this.selectedState,n=t.findAllByState("node",e),r=t.findAllByState("edge",e),i=t.findAllByState("combo",e);n.forEach((function(n){return t.setItemState(n,e,!1)})),r.forEach((function(n){return t.setItemState(n,e,!1)})),i.forEach((function(n){return t.setItemState(n,e,!1)})),this.selectedNodes=[],this.selectedEdges=[],this.selectedCombos=[],this.onDeselect&&this.onDeselect(this.selectedNodes,this.selectedEdges,this.selectedCombos),t.emit("nodeselectchange",{selectedItems:{nodes:[],edges:[],combos:[]},select:!1})},isBBoxCenterInRect:function(t,e,n,r,i){var o=t.getBBox();return o.centerX>=e&&o.centerX<=n&&o.centerY>=r&&o.centerY<=i},getSelectedNodes:function(t){var e=this,n=this.graph,r=this.originPoint,i=this.shouldUpdate,o=this.isBBoxCenterInRect,a=this.selectedState,s={x:t.x,y:t.y},u=n.getPointByCanvas(r.x,r.y),c=Fu(s.x,u.x),l=zu(s.x,u.x),f=Fu(s.y,u.y),h=zu(s.y,u.y),d=[],p=[];n.getNodes().forEach((function(t){if(t.isVisible()&&o(t,c,l,f,h)&&i(t,"select",e)){d.push(t);var r=t.getModel();p.push(r.id),n.setItemState(t,a,!0)}}));var g=[];this.includeEdges&&d.forEach((function(t){t.getOutEdges().forEach((function(t){if(t.isVisible()){var r=t.getModel(),o=r.source,a=r.target;p.includes(o)&&p.includes(a)&&i(t,"select",e)&&(g.push(t),n.setItemState(t,e.selectedState,!0))}}))}));var v=[];this.includeCombos&&n.getCombos().forEach((function(t){if(t.isVisible()&&o(t,c,l,f,h)&&i(t,"select",e)){v.push(t);var r=t.getModel();p.push(r.id),n.setItemState(t,a,!0)}})),this.selectedEdges=g,this.selectedNodes=d,this.selectedCombos=v,this.onSelect&&this.onSelect(d,g,v),n.emit("nodeselectchange",{selectedItems:{nodes:d,edges:g,combos:v},select:!0})},createBrush:function(){var t=this.graph.get("canvas").addShape("rect",{attrs:this.brushStyle,capture:!1,name:"brush-shape"});return this.brush=t,this.delegate=t,t},updateBrush:function(t){var e=this.originPoint;this.brush.attr({width:Gu(t.canvasX-e.x),height:Gu(t.canvasY-e.y),x:Fu(t.canvasX,e.x),y:Fu(t.canvasY,e.y)})},onKeyDown:function(t){var e=t.key;if(e){var n=this.trigger.toLowerCase(),r=e.toLowerCase();this.keydown=r===n||"control"===r&&"ctrl"===n||"ctrl"===r&&"control"===n}},onKeyUp:function(){this.brush&&(this.brush.remove(!0),this.brush=null,this.dragging=!1),this.keydown=!1}},Xu=["shift","ctrl","alt","control"],Wu={getDefaultCfg:function(){return{multiple:!0,trigger:"shift",selectedState:"selected",selectNode:!0,selectEdge:!1,selectCombo:!0}},getEvents:function(){return Xu.indexOf(this.trigger.toLowerCase())>-1||(this.trigger="shift",console.warn("Behavior click-select 的 trigger 参数不合法,请输入 'drag'、'shift'、'ctrl' 或 'alt'")),this.multiple?{"node:click":"onClick","combo:click":"onClick","edge:click":"onClick","canvas:click":"onCanvasClick",keyup:"onKeyUp",keydown:"onKeyDown"}:{"node:click":"onClick","combo:click":"onClick","edge:click":"onClick","canvas:click":"onCanvasClick"}},onClick:function(t){var e=this,n=t.item;if(n&&!n.destroyed){var r=n.getType(),i=e.graph,o=e.keydown,a=e.multiple,s=e.shouldUpdate;if((0,e.shouldBegin)(t,e)){if(!o||!a){var u=i.findAllByState("node",e.selectedState).concat(i.findAllByState("edge",e.selectedState)).concat(i.findAllByState("combo",e.selectedState));Object(v.each)(u,(function(t){t!==n&&i.setItemState(t,e.selectedState,!1)}))}if(function(){switch(r){case"node":return e.selectNode;case"edge":return e.selectEdge;case"combo":return e.selectCombo;default:return!1}}())if(n.hasState(e.selectedState)){s(t,e)&&i.setItemState(n,e.selectedState,!1);c=i.findAllByState("node",e.selectedState),l=i.findAllByState("edge",e.selectedState),f=i.findAllByState("combo",e.selectedState);i.emit("nodeselectchange",{target:n,selectedItems:{nodes:c,edges:l,combos:f},select:!1})}else{s(t,e)&&i.setItemState(n,e.selectedState,!0);c=i.findAllByState("node",e.selectedState),l=i.findAllByState("edge",e.selectedState),f=i.findAllByState("combo",e.selectedState);i.emit("nodeselectchange",{target:n,selectedItems:{nodes:c,edges:l,combos:f},select:!0})}else{var c=i.findAllByState("node",e.selectedState),l=i.findAllByState("edge",e.selectedState),f=i.findAllByState("combo",e.selectedState);i.emit("nodeselectchange",{selectedItems:{nodes:c,edges:l,combos:f},select:!1})}}}},onCanvasClick:function(t){var e=this,n=this.graph;if((0,this.shouldBegin)(t,this)){var r=n.findAllByState("node",this.selectedState);Object(v.each)(r,(function(t){n.setItemState(t,e.selectedState,!1)}));var i=n.findAllByState("edge",this.selectedState);Object(v.each)(i,(function(t){n.setItemState(t,e.selectedState,!1)}));var o=n.findAllByState("combo",this.selectedState);Object(v.each)(o,(function(t){n.setItemState(t,e.selectedState,!1)})),n.emit("nodeselectchange",{selectedItems:{nodes:[],edges:[],combos:[]},select:!1})}},onKeyDown:function(t){var e=t.key;e&&(e.toLowerCase()===this.trigger.toLowerCase()||"control"===e.toLowerCase()?this.keydown=!0:this.keydown=!1)},onKeyUp:function(){this.keydown=!1}},Vu=w.a.transform,Hu={getDefaultCfg:function(){return this.isFireFox="firefox"===di(),{sensitivity:2,minZoom:void 0,maxZoom:void 0,enableOptimize:!1,optimizeZoom:.1,fixSelectedItems:{fixAll:!1,fixLineWidth:!1,fixLabel:!1,fixState:"selected"},animate:!1,animateCfg:{duration:500}}},getEvents:function(){var t=this.fixSelectedItems;return t.fixState||(t.fixState="selected"),t.fixAll&&(t.fixLineWidth=!0,t.fixLabel=!0),{wheel:"onWheel",touchstart:"onTouchStart",touchmove:"onTouchMove",touchend:"onTouchEnd"}},onTouchStart:function(t){var e=t.originalEvent.touches,n=e[0],r=e[1];t.preventDefault(),r&&(this.shouldBegin&&!this.shouldBegin(t,this)||(this.startPoint={pageX:n.pageX,pageY:n.pageY},this.moveable=!0,r&&(this.endPoint={pageX:r.pageX,pageY:r.pageY}),this.originScale=this.graph.getZoom()||this.currentScale||1))},onTouchMove:function(t){if(this.moveable){t.preventDefault();var e=t.originalEvent.touches,n=e[0],r=e[1];if(r){this.endPoint||(this.endPoint={pageX:r.pageX,pageY:r.pageY});var i=function(t,e){return Math.hypot(e.x-t.x,e.y-t.y)},o=i({x:n.pageX,y:n.pageY},{x:r.pageX,y:r.pageY})/i({x:this.startPoint.pageX,y:this.startPoint.pageY},{x:this.endPoint.pageX,y:this.endPoint.pageY}),a=this.originScale*o;this.currentScale=a;var s=this.get("minZoom")||this.graph.get("minZoom");if(!(a>(this.get("maxZoom")||this.graph.get("maxZoom"))||a<s)){var u=this.get("animate"),c=this.get("animateCfg"),l=this.graph.get("canvas").getPointByClient(t.clientX,t.clientY);this.graph.zoomTo(a,{x:l.x,y:l.y},u,c),this.graph.emit("wheelzoom",t)}}}},onTouchEnd:function(){this.moveable=!1,this.endPoint=null},onWheel:function(t){var e=this,n=this.graph,r=this.fixSelectedItems;if((!this.shouldBegin||this.shouldBegin(t,this))&&this.shouldUpdate(t,this)){t.preventDefault();var i=n.get("canvas").getPointByClient(t.clientX,t.clientY),o=this.get("sensitivity"),a=n.getZoom(),s=a;s=a*(this.isFireFox?t.deltaY>0||t.wheelDelta<0?1-.05*o:1/(1-.05*o):t.wheelDelta<0?1-.05*o:1/(1-.05*o));var u=this.get("minZoom")||n.get("minZoom"),c=this.get("maxZoom")||n.get("maxZoom");if(s>c?s=c:s<u&&(s=u),this.get("enableOptimize")){var l=this.get("optimizeZoom"),f=this.get("optimized"),h=n.getNodes(),d=n.getEdges(),p=h.length,g=d.length;if(!f){for(var y=0;y<p;y++){if(!(k=h[y]).destroyed)for(var m=(Z=k.get("group").get("children")).length,b=0;b<m;b++){(R=Z[b]).destoryed||R.get("isKeyShape")||(R.set("ori-visibility",R.get("ori-visibility")||R.get("visible")),R.hide())}}for(var x=0;x<g;x++)for(m=(Z=(q=d[x]).get("group").get("children")).length,b=0;b<m;b++){(R=Z[b]).set("ori-visibility",R.get("ori-visibility")||R.get("visible")),R.hide()}this.set("optimized",!0)}clearTimeout(this.get("timeout"));var w=setTimeout((function(){var t=n.getZoom();if(e.get("optimized")){e.set("optimized",!1);for(var r=0;r<p;r++){var i=h[r],o=(c=i.get("group").get("children")).length;if(t<l){var a=(v=i.getKeyShape()).get("ori-visibility");v.set("ori-visibility",void 0),a&&v.show()}else for(var s=0;s<o;s++){a=(y=c[s]).get("ori-visibility");y.set("ori-visibility",void 0),!y.get("visible")&&a&&a&&y.show()}}for(var u=0;u<g;u++){var c,f=d[u];o=(c=f.get("group").get("children")).length;if(t<l){var v;a=(v=f.getKeyShape()).get("ori-visibility");v.set("ori-visibility",void 0),a&&v.show()}else for(s=0;s<o;s++){var y;if(!(y=c[s]).get("visible")){a=y.get("ori-visibility");y.set("ori-visibility",void 0),a&&y.show()}}}}}),100);this.set("timeout",w)}if(a<=1){var _=void 0,E=void 0;if(r.fixAll||r.fixLineWidth||r.fixLabel){_=n.findAllByState("node",r.fixState),E=n.findAllByState("edge",r.fixState);for(var S=a/s,M=_.length,O=0;O<M;O++){var k,A=(k=_[O]).getContainer(),C=k.getModel(),j=k.getOriginStyle(),I=k.getStateStyle(r.fixState),T=k.get("shapeFactory").getShape(C.type).getStateStyle(r.fixState,k)[r.fixState];if(r.fixAll){if(s<=1){var N=Object(v.clone)(A.getMatrix());N||(N=[1,0,0,0,1,0,0,0,1]);var P=k.getModel(),D=P.x,L=P.y;N=Vu(N,[["t",-D,-L],["s",S,S],["t",D,L]]),A.setMatrix(N)}}else for(m=(Z=A.get("children")).length,b=0;b<m;b++){var R=Z[b],B=void 0,F=void 0;if(r.fixLabel)if("text"===R.get("type")){B=R.attr("fontSize")||12;var z=I[R.get("name")],G=T[R.get("name")],Y=z?z.fontSize:12,U=G?G.fontSize:12,X=Y||U||12;if(s<=1&&R.attr("fontSize",X/s),F)break}if(r.fixLineWidth&&R.get("isKeyShape")){F=R.attr("lineWidth")||0;var W=I.lineWidth||T.lineWidth||j.lineWidth||0;if(s<=1&&R.attr("lineWidth",W/s),B)break}}}for(var V=E.length,H=0;H<V;H++){var q,Z=(A=(q=E[H]).getContainer()).get("children");for(C=q.getModel(),I=q.getStateStyle(r.fixState),T=q.get("shapeFactory").getShape(C.type).getStateStyle(r.fixState,q)[r.fixState],m=Z.length,b=0;b<m;b++){R=Z[b],B=void 0,F=void 0;if(r.fixLabel||r.fixAll)if("text"===R.get("type")){B=R.attr("fontSize")||12;z=I[R.get("name")],G=T[R.get("name")],Y=z?z.fontSize:12,U=G?G.fontSize:12,X=Y||U||12;if(s<=1&&R.attr("fontSize",X/s),F)break}if((r.fixLineWidth||r.fixAll)&&R.get("isKeyShape")){F=R.attr("lineWidth")||0;W=I.lineWidth||T.lineWidth||1;if(s<=1&&R.attr("lineWidth",W/s),B)break}}}}}var K=this.get("animate"),Q=this.get("animateCfg");n.zoomTo(s,{x:i.x,y:i.y},K,Q),n.emit("wheelzoom",t)}}},qu={onMouseEnter:function(t){var e=t.item;this.currentTarget=e,this.showTooltip(t),this.graph.emit("tooltipchange",{item:t.item,action:"show"})},onMouseMove:function(t){this.shouldUpdate(t,this)?this.currentTarget&&t.item===this.currentTarget&&this.updatePosition(t):this.hideTooltip()},onMouseLeave:function(t){this.shouldEnd(t,this)&&(this.hideTooltip(),this.graph.emit("tooltipchange",{item:this.currentTarget,action:"hide"}),this.currentTarget=null)},showTooltip:function(t){var e=this.container;if(t.item&&!t.item.destroyed){e||(e=this.createTooltip(this.graph.get("canvas")),this.container=e);var n=this.formatText(t.item.get("model"),t);Object(v.isString)(n)?e.innerHTML=n:e.appendChild(n),Nr(this.container,{visibility:"visible"}),this.updatePosition(t)}},hideTooltip:function(){Nr(this.container,{visibility:"hidden"})},updatePosition:function(t){var e=this.get("shouldBegin"),n=this.width,r=this.height,i=this.container,o=this.graph;if(e(t,this)){var a=o.getPointByClient(t.clientX,t.clientY),s=o.getCanvasByPoint(a.x,a.y),u=s.x,c=s.y,l=i.getBoundingClientRect();u>n/2?u-=l.width:u+=this.offset,c>r/2?c-=l.height:c+=this.offset;var f="".concat(u,"px"),h="".concat(c,"px");Nr(this.container,{left:f,top:h,visibility:"visible"})}else Nr(i,{visibility:"hidden"})},createTooltip:function(t){var e=t.get("el");e.style.position="relative";var n=Tr('<div class="g6-tooltip g6-'.concat(this.item,'-tooltip"></div>'));return e.parentNode.appendChild(n),Nr(n,{position:"absolute",visibility:"visible"}),this.width=t.get("width"),this.height=t.get("height"),this.container=n,this.graph.get("tooltips").push(n),n}},Zu=Object(g.__assign)({getDefaultCfg:function(){return{item:"node",offset:12,formatText:function(t){return t.label}}},getEvents:function(){return{"node:mouseenter":"onMouseEnter","node:mouseleave":"onMouseLeave","node:mousemove":"onMouseMove",afterremoveitem:"onMouseLeave"}}},qu),Ku=Object(g.__assign)({getDefaultCfg:function(){return{item:"edge",offset:12,formatText:function(t){return"source: ".concat(t.source," target: ").concat(t.target)}}},getEvents:function(){return{"edge:mouseenter":"onMouseEnter","edge:mouseleave":"onMouseLeave","edge:mousemove":"onMouseMove",afterremoveitem:"onMouseLeave"}}},qu),Qu=["click","dblclick"],$u={getDefaultCfg:function(){return{trigger:"click",onChange:function(){}}},getEvents:function(){var t,e;return Qu.includes(this.trigger)?e=this.trigger:(e="click",console.warn("Behavior collapse-expand 的 trigger 参数不合法,请输入 'click' 或 'dblclick'")),(t={})["node:".concat(e)]="onNodeClick",t.touchstart="onNodeClick",t},onNodeClick:function(t){var e=this;if("click"===this.trigger){if(this.timer)return clearTimeout(this.timer),void(this.timer=0);this.timer=setTimeout((function(){e.toggle(t),clearTimeout(e.timer),e.timer=0}),200)}else this.toggle(t)},toggle:function(t){var e=t.item;if(e){var n=this.graph.findDataById(e.get("id"));if(n){var r=n.children;if(r&&0!==r.length){var i=!n.collapsed;this.shouldBegin(t,i,this)&&(n.collapsed=i,e.getModel().collapsed=i,this.graph.emit("itemcollapsed",{item:t.item,collapsed:i}),this.shouldUpdate(t,i,this)&&(this.onChange(e,i,this),this.graph.layout()))}}}}},Ju=pi.calculationItemsBBox,tc=function(t,e){if(!1!==e(t)&&t){var n=t.get("combos");if(0===n.length)return!1;Object(v.each)(n,(function(t){tc(t,e)}))}},ec={getDefaultCfg:function(){return{enableDelegate:!1,delegateStyle:{},onlyChangeComboSize:!1,activeState:"",selectedState:"selected",enableStack:!0}},getEvents:function(){return{"combo:mousedown":"onMouseDown","combo:dragstart":"onDragStart","combo:drag":"onDrag","combo:dragend":"onDragEnd","combo:drop":"onDrop","node:drop":"onNodeDrop","combo:dragenter":"onDragEnter","combo:dragleave":"onDragLeave"}},validationCombo:function(t){var e=t.item;return!(!e||e.destroyed)&&(!!this.shouldUpdate(t,this)&&"combo"===e.getType())},onMouseDown:function(t){this.origin={x:t.x,y:t.y}},onDragStart:function(t){var e=this,n=this.graph,r=t.item;if(this.currentShouldEnd=!0,this.validationCombo(t)&&!r.hasLocked()){this.targets=[];var i=n.findAllByState("combo",this.selectedState),o=r.get("id");0===i.filter((function(t){var e=t.get("id");return o===e})).length?this.targets.push(r):this.targets=i.filter((function(t){return!t.hasLocked()}));var a=[];this.targets.forEach((function(t){var e=t.getModel(),n=e.x,r=e.y,i=e.id;a.push({x:n,y:r,id:i})})),this.set("beforeDragItems",a),this.activeState&&this.targets.map((function(t){var r=t.getModel();if(r.parentId){var i=n.findById(r.parentId);i&&n.setItemState(i,e.activeState,!0)}})),this.point={},this.originPoint={},this.currentItemChildCombos=[],tc(r,(function(t){if(t.destroyed)return!1;var n=t.getModel();return e.currentItemChildCombos.push(n.id),!0}))}},onDrag:function(t){var e=this;if(this.origin&&this.validationCombo(t))if(this.enableDelegate)this.updateDelegate(t);else{if(this.activeState){var n=this.graph,r=t.item,i=r.getModel(),o=n.getCombos(),a=r.getBBox(),s=a.centerX,u=a.centerY,c=a.width;o.filter((function(t){var n=t.getModel();return i.parentId,n.id!==i.id&&!e.currentItemChildCombos.includes(n.id)})).map((function(t){var r=t.getBBox(),i=r.centerX,o=r.centerY,a=r.width,l=s-i,f=u-o,h=2*Math.sqrt(l*l+f*f);c+a-h>.8*c?n.setItemState(t,e.activeState,!0):n.setItemState(t,e.activeState,!1)}))}Object(v.each)(this.targets,(function(n){e.updateCombo(n,t)})),this.onlyChangeComboSize&&this.updateParentCombos()}},updatePositions:function(t,e){var n=this;(this.enableDelegate||e)&&Object(v.each)(this.targets,(function(r){n.updateCombo(r,t,e)}))},onDrop:function(t){var e=this,n=t.item;if(this.currentShouldEnd=this.shouldEnd(t,n,this),this.updatePositions(t,!this.currentShouldEnd),this.currentShouldEnd&&n&&this.targets&&!n.destroyed){var r=this.graph,i=n.getModel();this.targets.map((function(t){t.getModel().parentId!==i.id?(e.activeState&&r.setItemState(n,e.activeState,!1),e.onlyChangeComboSize?r.updateCombo(t):r.updateComboTree(t,i.id,!1)):r.updateCombo(n)})),this.end(n,t),this.endComparison=!0}},onNodeDrop:function(t){var e=this;if(this.targets&&0!==this.targets.length){var n=this.graph,r=t.item.getModel().comboId,i=r?n.findById(r):void 0;if(this.currentShouldEnd=this.shouldEnd(t,i,this),this.updatePositions(t,!this.currentShouldEnd),this.currentShouldEnd){var o;if(r){if(this.activeState){var a=n.findById(r);n.setItemState(a,this.activeState,!1)}this.targets.map((function(t){e.onlyChangeComboSize?n.updateCombo(t):r!==t.getID()&&(o=n.findById(r),r!==t.getModel().parentId&&n.updateComboTree(t,r,!1))}))}else this.targets.map((function(t){e.onlyChangeComboSize?n.updateCombo(t):t.getModel().comboId&&n.updateComboTree(t,void 0,!1)}));this.endComparison=!0,this.end(o,t)}}},onDragEnter:function(t){if(this.origin&&this.validationCombo(t)){var e=t.item,n=this.graph;this.activeState&&n.setItemState(e,this.activeState,!0)}},onDragLeave:function(t){if(this.origin&&this.validationCombo(t)){var e=t.item,n=this.graph;this.activeState&&n.setItemState(e,this.activeState,!1)}},onDragEnd:function(t){if(this.targets&&0!==this.targets.length){var e=t.item;this.currentShouldEnd&&this.updatePositions(t);var n=this.getParentCombo(e.getModel().parentId),r=this.graph;n&&this.activeState&&r.setItemState(n,this.activeState,!1),this.end(void 0,t)}},end:function(t,e){var n=this;if(this.origin){var r=this.graph;if(this.delegateShape)r.get("delegateGroup").clear(),this.delegateShape=null;if(t&&this.activeState&&r.setItemState(t,this.activeState,!1),!t){var i=r.get("enabledStack")&&this.enableStack,o={before:{nodes:[],edges:[],combos:[].concat(this.get("beforeDragItems"))},after:{nodes:[],edges:[],combos:[]}};this.targets.map((function(t){if(n.onlyChangeComboSize){r.updateCombo(t);var e=t.getModel(),a=e.x,s=e.y,u=e.id;o.after.combos.push({x:a,y:s,id:u}),r.pushStack("update",o)}else r.updateComboTree(t,void 0,i)}))}this.point=[],this.origin=null,this.originPoint=null,this.targets.length=0}},traverse:function(t,e,n){var r=this;if(void 0===n&&(n={}),!1!==e(t,n)&&t){var i=t.get("combos");Object(v.each)(i,(function(t){r.traverse(t,e,n)}));var o=t.get("nodes");Object(v.each)(o,(function(t){r.traverse(t,e,n)}))}},updateCombo:function(t,e,n){this.updateSingleItem(t,e,n);var r={};this.traverse(t,(function(t,e){return!t.destroyed&&(t.getEdges().forEach((function(t){return e[t.getID()]=t})),!0)}),r),Object.values(r).forEach((function(t){return t.refresh()}))},updateSingleItem:function(t,e,n){var r=this.origin,i=this.graph,o=t.getModel(),a=t.get("id");this.point[a]||(this.point[a]={x:o.x,y:o.y});var s=e.x-r.x+this.point[a].x,u=e.y-r.y+this.point[a].y;n&&(s+=r.x-e.x,u+=r.y-e.y),i.updateItem(t,{x:s,y:u},!1)},getParentCombo:function(t){var e=this.graph;if(t){var n=e.findById(t);if(n)return n}},updateDelegate:function(t){var e=this.graph;if(this.delegateShape){var n=t.x-this.origin.x+this.originPoint.minX,r=t.y-this.origin.y+this.originPoint.minY;this.delegateShape.attr({x:n,y:r})}else{var i=e.get("delegateGroup"),o=null,a=(o=this.targets.length>1?Ju(this.targets):this.targets[0].getBBox()).x,s=o.y,u=o.width,c=o.height,l=o.minX,f=o.minY;this.originPoint={x:a,y:s,width:u,height:c,minX:l,minY:f};var h=Object(g.__assign)(Object(g.__assign)({},Kr.delegateStyle),this.delegateStyle);this.delegateShape=i.addShape("rect",{attrs:Object(g.__assign)({width:o.width,height:o.height,x:o.x,y:o.y},h),name:"combo-delegate-shape"}),this.delegateShape.set("capture",!1),this.delegate=this.delegateShape}},updateParentCombos:function(){var t=this.graph,e=this.targets,n={};null==e||e.forEach((function(e){var r=e.getModel().parentId;r&&(n[r]=t.findById(r))})),Object.values(n).forEach((function(e){e&&t.updateCombo(e)}))}},nc=["click","dblclick"],rc={getDefaultCfg:function(){return{trigger:"dblclick",relayout:!0}},getEvents:function(){var t,e;return nc.includes(this.trigger)?e=this.trigger:(e="dblclick",console.warn("Behavior collapse-expand-group 的 trigger 参数不合法,请输入 'click' 或 'dblclick'")),(t={})["combo:".concat(e)]="onComboClick",t},onComboClick:function(t){var e=t.item,n=this.graph,r=this.relayout;if(e&&!e.destroyed&&"combo"===e.getType()){var i=e.getModel().id;i&&(n.collapseExpandCombo(i),r&&n.get("layout")?n.layout():n.refreshPositions())}}},ic=pi.isPolygonsIntersect,oc=pi.pathToPoints,ac=["drag","shift","ctrl","alt","control"],sc=["click","drag"],uc=["shift","ctrl","control","alt","meta",void 0],cc=["shift","ctrl","alt","control"],lc=["shift","ctrl","alt","control","meta"],fc={"drag-canvas":Du,"zoom-canvas":Hu,"drag-node":Lu,"activate-relations":Bu,"brush-select":Uu,"click-select":Wu,"lasso-select":{getDefaultCfg:function(){return{delegateStyle:{fill:"#EEF6FF",fillOpacity:.4,stroke:"#DDEEFE",lineWidth:1},onSelect:function(){},onDeselect:function(){},shouldDeselect:void 0,selectedState:"selected",trigger:"shift",includeEdges:!0,selectedEdges:[],selectedNodes:[]}},getEvents:function(){return ac.indexOf(this.trigger.toLowerCase())>-1||(this.trigger="shift",console.warn("Behavior lasso-select 的 trigger 参数不合法,请输入 'drag'、'shift'、'ctrl' 或 'alt'")),"drag"===this.trigger?{dragstart:"onDragStart",drag:"onDragMove",dragend:"onDragEnd","canvas:click":"clearStates"}:{dragstart:"onDragStart",drag:"onDragMove",dragend:"onDragEnd",keyup:"onKeyUp",keydown:"onKeyDown","canvas:click":"clearStates"}},onDragStart:function(t){var e=this.lasso;t.item||("drag"===this.trigger||this.keydown)&&(this.selectedNodes&&0!==this.selectedNodes.length&&this.clearStates("dragstart"),e||(e=this.createLasso()),this.dragging=!0,this.originPoint={x:t.x,y:t.y},this.points.push(this.originPoint),e.show())},onDragMove:function(t){this.dragging&&("drag"===this.trigger||this.keydown)&&(this.points.push({x:t.x,y:t.y}),this.updateLasso(t))},onDragEnd:function(t){(this.lasso||this.dragging)&&("drag"===this.trigger||this.keydown)&&(this.points.push(this.originPoint),this.getSelectedItems(),this.lasso.remove(!0),this.lasso=null,this.points=[],this.dragging=!1)},getLassoPath:function(){var t=this.points,e=[];return t.length&&(t.forEach((function(t,n){0===n?e.push(["M",t.x,t.y]):e.push(["L",t.x,t.y])})),e.push(["L",t[0].x,t[0].y])),e},clearStates:function(t){void 0===t&&(t="canvas:click");var e=this.graph,n=this.selectedState,r=this.shouldDeselect,i=e.findAllByState("node",n),o=e.findAllByState("edge",n);r&&!r({action:t,nodes:i,edges:o})||(i.forEach((function(t){return e.setItemState(t,n,!1)})),o.forEach((function(t){return e.setItemState(t,n,!1)}))),this.onDeselect&&this.onDeselect(this.selectedNodes,this.selectedEdges),this.selectedNodes=[],this.selectedEdges=[],e.emit("nodeselectchange",{selectedItems:{nodes:[],edges:[]},select:!1})},getSelectedItems:function(){var t=this,e=this.graph,n=this.shouldUpdate,r=this.points.map((function(t){return[e.getCanvasByPoint(t.x,t.y).x,e.getCanvasByPoint(t.x,t.y).y]})),i=this.selectedState,o=[],a=[];e.getNodes().forEach((function(s){if(s.isVisible()&&function(t,e){var n,r=t.getKeyShape();if("path"===t.get("type"))n=oc(r.attr("path"));else{var i=r.getCanvasBBox();n=[[i.minX,i.minY],[i.maxX,i.minY],[i.maxX,i.maxY],[i.minX,i.maxY]]}return ic(e,n)}(s,r)&&n(s,"select",t)){o.push(s);var u=s.getModel();a.push(u.id),e.setItemState(s,i,!0)}}));var s=[];this.includeEdges&&o.forEach((function(r){r.getOutEdges().forEach((function(r){if(r.isVisible()){var i=r.getModel(),o=i.source,u=i.target;a.includes(o)&&a.includes(u)&&n(r,"select",t)&&(s.push(r),e.setItemState(r,t.selectedState,!0))}}))})),this.selectedEdges=s,this.selectedNodes=o,this.onSelect&&this.onSelect(o,s),e.emit("nodeselectchange",{selectedItems:{nodes:o,edges:s},select:!0})},createLasso:function(){var t=this.graph.get("delegateGroup").addShape("path",{attrs:Object(g.__assign)({path:[]},this.delegateStyle),capture:!1,name:"lasso-shape"});return this.lasso=t,this.delegate=t,this.points=[],t},updateLasso:function(t){this.lasso.attr({path:this.getLassoPath()})},onKeyDown:function(t){var e=t.key;e&&(e.toLowerCase()===this.trigger.toLowerCase()?this.keydown=!0:this.keydown=!1)},onKeyUp:function(){this.lasso&&(this.lasso.remove(!0),this.lasso=null,this.points=[],this.dragging=!1),this.keydown=!1}},tooltip:Zu,"edge-tooltip":Ku,"collapse-expand":$u,"drag-combo":ec,"collapse-expand-combo":rc,"create-edge":{getDefaultCfg:function(){return{trigger:"click",key:void 0,edgeConfig:{},getEdgeConfig:void 0}},getEvents:function(){var t;return sc.indexOf(this.trigger.toLowerCase())>-1||(this.trigger="click",console.warn("Behavior create-edge 的 trigger 参数不合法,请输入 'click','drag'")),this.key&&-1===uc.indexOf(this.key.toLowerCase())&&(this.trigger=void 0,console.warn("Behavior create-edge 的 key 参数不合法,请输入 'shift','ctrl','alt','control',或 undefined")),"drag"===this.trigger?t={"node:dragstart":"onClick","combo:dragstart":"onClick",drag:"updateEndPoint","node:drop":"onClick","combo:drop":"onClick",dragend:"onDragEnd"}:"click"===this.trigger&&(t={"node:click":"onClick",mousemove:"updateEndPoint","edge:click":"cancelCreating","canvas:click":"cancelCreating","combo:click":"onClick"}),this.key&&(t.keydown="onKeyDown",t.keyup="onKeyUp"),t},onDragEnd:function(t){if(!this.key||this.keydown){var e=t.item;e&&e.getID()!==this.source&&"node"===e.getType()||this.cancelCreating({item:this.edge,x:t.x,y:t.y})}},onClick:function(t){if(!this.key||this.keydown){var e=t.item,n=this.graph,r=e.getModel(),i=this.getEdgeConfig;if(this.addingEdge&&this.edge){if(!this.shouldEnd(t,this))return;var o=void 0;o=i&&Object(v.isFunction)(i)?i({source:this.source,target:r.id},this):this.edgeConfig;var a=Object(g.__assign)({target:r.id},o);if(this.source===r.id&&(a.type="loop"),n.emit("beforecreateedge",{}),n.updateItem(this.edge,a,!1),n.get("enabledStack")){var s=Object(g.__assign)(Object(g.__assign)({},this.edge.getModel()),{itemType:"edge"}),u={};u.edges=[s],n.pushStack("add",{before:{},after:u})}n.emit("aftercreateedge",{edge:this.edge}),this.edge.getKeyShape().set("capture",!0),this.edge=null,this.addingEdge=!1}else{if(!this.shouldBegin(t,this))return;o=void 0;o=i&&Object(v.isFunction)(i)?i({source:r.id,target:r.id},this):this.edgeConfig,this.edge=n.addItem("edge",Object(g.__assign)({source:r.id,target:r.id},o),!1),this.source=r.id,this.addingEdge=!0,this.edge.getKeyShape().set("capture",!1)}}},updateEndPoint:function(t){if(!this.key||this.keydown){this.edge&&this.edge.destroyed&&this.cancelCreating({item:this.edge});var e={x:t.x,y:t.y};this.graph.findById(this.source)?this.addingEdge&&this.edge&&this.graph.updateItem(this.edge,{target:e},!1):this.addingEdge=!1}},cancelCreating:function(t){var e,n;if(!this.key||this.keydown){var r=this.graph,i=t.item;return this.addingEdge&&(this.edge===i||(null===(n=null===(e=t.target)||void 0===e?void 0:e.isCanvas)||void 0===n?void 0:n.call(e)))?(this.edge&&!this.edge.destroyed&&r.removeItem(this.edge,!1),this.edge=null,void(this.addingEdge=!1)):void 0}},onKeyDown:function(t){var e=t.key;e&&(e.toLowerCase()===this.key.toLowerCase()?this.keydown=!0:this.keydown=!1)},onKeyUp:function(){this.addingEdge&&this.edge&&(this.graph.removeItem(this.edge,!1),this.addingEdge=!1,this.edge=null),this.keydown=!1}},"shortcuts-call":{getDefaultCfg:function(){return{trigger:"ctrl",combinedKey:"1",functionName:"fitView",functionParams:[]}},getEvents:function(){return cc.indexOf(this.trigger.toLowerCase())>-1||(this.trigger="ctrl",console.warn("Behavior shortcuts-fit-view 的 trigger 参数 '".concat(this.trigger,"' 不合法,请输入 'drag'、'shift'、'ctrl' 或 'alt'"))),this.combinedKey===this.trigger&&(this.combinedKey=void 0),{keyup:"onKeyUp",keydown:"onKeyDown"}},onKeyDown:function(t){var e=t.key;if(e){var n=this.trigger.toLowerCase(),r=e.toLowerCase();this.triggerKeydown||(this.triggerKeydown=r===n||"control"===r&&"ctrl"===n||"ctrl"===r&&"control"===n);var i=this.graph;if(!i[this.functionName])return console.warn("Behavior shortcuts-fit-view 的 functionName 参数 '".concat(this.functionName,"' 不合法,它不是 Graph 的一个函数名")),{};if(!this.triggerKeydown||this.combinedKey){var o=this.combinedKey.toLowerCase();this.triggerKeydown&&(r===o||"control"===r&&"ctrl"===o||"ctrl"===r&&"control"===o)&&(this.functionParams&&this.functionParams.length?i[this.functionName].apply(i,this.functionParams):i[this.functionName]())}else this.functionParams&&this.functionParams.length?i[this.functionName].apply(i,this.functionParams):i[this.functionName]()}},onKeyUp:function(){this.brush&&(this.brush.remove(!0),this.brush=null,this.dragging=!1),this.triggerKeydown=!1}},"scroll-canvas":{getDefaultCfg:function(){return{direction:"both",enableOptimize:!1,zoomKey:"ctrl",scalableRange:0,allowDragOnItem:!0}},getEvents:function(){return this.zoomKey&&-1!==lc.indexOf(this.zoomKey)||(this.zoomKey="ctrl"),{wheel:"onWheel"}},onWheel:function(t){var e=this;if(this.allowDrag(t)){var n=this.graph,r=Array.isArray(this.zoomKey)?[].concat(this.zoomKey):[this.zoomKey];if(r.includes("control")&&r.push("ctrl"),r.some((function(e){return t["".concat(e,"Key")]}))){var i=n.get("canvas").getPointByClient(t.clientX,t.clientY),o=n.getZoom();t.wheelDelta>0?o+=.05*o:o-=.05*o,n.zoomTo(o,{x:i.x,y:i.y})}else{var a=t.deltaX||t.movementX,s=t.deltaY||t.movementY;!s&&navigator.userAgent.indexOf("Firefox")>-1&&(s=125*-t.wheelDelta/3);var u=this.graph.get("width"),c=this.graph.get("height"),l=this.graph.get("canvas").getCanvasBBox(),f=this.scalableRange,h=this.scalableRange;f<1&&f>-1&&(f*=u,h*=c);var d=l.minX,p=l.maxX,g=l.minY,v=l.maxY;a>0?p<-f?a=0:p-a<-f&&(a=p+f):a<0&&(d>u+f?a=0:d-a>u+f&&(a=d-(u+f))),s>0?v<-h?s=0:v-s<-h&&(s=v+h):s<0&&(g>c+h?s=0:g-s>c+h&&(s=g-(c+h))),"x"===this.get("direction")?s=0:"y"===this.get("direction")&&(a=0),n.translate(-a,-s)}if(t.preventDefault(),this.get("enableOptimize")){var y=this.get("optimizeZoom"),m=this.get("optimized"),b=n.getNodes(),x=n.getEdges(),w=b.length,_=x.length;if(!m){for(var E=0;E<w;E++){var S=b[E];if(!S.destroyed)for(var M=(A=S.get("group").get("children")).length,O=0;O<M;O++){(C=A[O]).destoryed||C.get("isKeyShape")||(C.set("ori-visibility",C.get("ori-visibility")||C.get("visible")),C.hide())}}for(var k=0;k<_;k++){var A;for(M=(A=x[k].get("group").get("children")).length,O=0;O<M;O++){var C;(C=A[O]).set("ori-visibility",C.get("ori-visibility")||C.get("visible")),C.hide()}}this.set("optimized",!0)}clearTimeout(this.get("timeout"));var j=setTimeout((function(){var t=n.getZoom();if(e.get("optimized")){e.set("optimized",!1);for(var r=0;r<w;r++){var i=b[r],o=(c=i.get("group").get("children")).length;if(t<y)(s=(l=i.getKeyShape()).get("ori-visibility"))&&l.show();else for(var a=0;a<o;a++){var s=(h=c[a]).get("ori-visibility");!h.get("visible")&&s&&s&&h.show()}}for(var u=0;u<_;u++){var c,l,f=x[u];o=(c=f.get("group").get("children")).length;if(t<y)(s=(l=f.getKeyShape()).get("ori-visibility"))&&l.show();else for(a=0;a<o;a++){var h;if(!(h=c[a]).get("visible"))(s=h.get("ori-visibility"))&&h.show()}}}}),100);this.set("timeout",j)}}},allowDrag:function(t){var e,n,r=t.target,i=r&&r.isCanvas&&r.isCanvas();if(Object(v.isBoolean)(this.allowDragOnItem)&&!this.allowDragOnItem&&!i)return!1;if(Object(v.isObject)(this.allowDragOnItem)){var o=this.allowDragOnItem,a=o.node,s=o.edge,u=o.combo,c=null===(n=null===(e=t.item)||void 0===e?void 0:e.getType)||void 0===n?void 0:n.call(e);if(!a&&"node"===c)return!1;if(!s&&"edge"===c)return!1;if(!u&&"combo"===c)return!1}return!0}}};Object(v.each)(fc,(function(t,e){Or(e,t)}));var hc=Object(g.__assign)(Object(g.__assign)({},r),Ar),dc=tu.Grid,pc=tu.Minimap,gc=tu.Bundling,vc=tu.Menu,yc=tu.Fisheye,mc=tu.ToolBar,bc=tu.Tooltip,xc=tu.TimeBar,wc=tu.ImageMinimap,_c=tu.EdgeFilterLens,Ec=tu.SnapLine,Sc=tu.Legend,Mc=tu.Annotation,Oc={version:Kr.version,Graph:Bi,TreeGraph:Xi,Util:pi,Layout:ei.Layouts,TreeLayout:vi,registerLayout:yi,Global:Kr,registerBehavior:Or,registerCombo:Mr,registerEdge:Sr,registerNode:Er,Minimap:tu.Minimap,Grid:tu.Grid,Bundling:tu.Bundling,Menu:tu.Menu,ToolBar:tu.ToolBar,Tooltip:tu.Tooltip,Legend:tu.Legend,TimeBar:xc,SnapLine:Ec,Fisheye:yc,ImageMinimap:wc,EdgeFilterLens:_c,Annotation:Mc,Algorithm:hc,Arrow:pr,Marker:gr,Shape:vr};Oc.version="4.8.23";e.default=Oc;var kc="4.8.23"}]).default}));
|
||
//# sourceMappingURL=g6.min.js.map |