@nebula.js/sn-org-chart 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  /*
2
- * @nebula.js/sn-org-chart v1.0.0
2
+ * @nebula.js/sn-org-chart v1.1.0
3
3
  * Copyright (c) 2022 QlikTech International AB
4
4
  * Released under the MIT license.
5
5
  */
6
6
 
7
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("@nebula.js/stardust")):"function"==typeof define&&define.amd?define(["@nebula.js/stardust"],e):(t="undefined"!=typeof globalThis?globalThis:t||self)["sn-org-chart"]=e(t.stardust)}(this,(function(t){"use strict";var e={FONT_COLOR_TYPE:"auto",FONT_COLOR_DARK:{index:-1,color:"#484848"},FONT_COLOR_LIGHT:{index:-1,color:"#e6e6e6"},BACKGROUND_COLOR_TYPE:"colorPicker",BACKGROUND_COLOR:{index:-1,color:"#ffffff"},BORDER_COLOR_TYPE:"auto",BORDER_COLOR:{index:-1,color:"#737373"},BORDER_FULL:!0,BORDER_TOP:!0};const n={qHyperCubeDef:{qDimensions:[],qMeasures:[],qInitialDataFetch:[{qWidth:5,qHeight:500}],qSuppressZero:!1,qSuppressMissing:!0},showTitles:!0,title:"",subtitle:"",footnote:"",navigationMode:"free",resizeOnExpand:!1,style:{fontColor:{colorType:e.FONT_COLOR_TYPE,color:e.FONT_COLOR_DARK,colorExpression:""},backgroundColor:{colorType:e.BACKGROUND_COLOR_TYPE,color:e.BACKGROUND_COLOR,colorExpression:""},border:{top:e.BORDER_TOP,fullBorder:e.BORDER_FULL,colorType:e.BORDER_COLOR_TYPE,color:e.BORDER_COLOR,colorExpression:""}}};var r={targets:[{path:"/qHyperCubeDef",dimensions:{min:2,max:2},measures:{min:0,max:1}}]};var o={getValue:function(t,e,n){const r=e.split(".");let o;if(void 0===t)return n;let i=t;for(o=0;o<r.length;++o){if(void 0===i[r[o]])return n;i=i[r[o]]}return i}};const i=[{value:"auto",translation:"Common.Auto"},{value:"colorPicker",translation:"properties.colorMode.primary"},{value:"byExpression",translation:"properties.colorMode.byExpression"}],a=t=>o.getValue(t,"style.border.top")||o.getValue(t,"style.border.fullBorder");var s,l,u={definition:{type:"items",component:"accordion",items:{data:{uses:"data",items:{measures:{disabledRef:""},dimensions:{disabledRef:"",items:{dimensionLimits:{show:!1},attributes:{component:"attribute-expression-reference",defaultValue:[],show:(t,e)=>e.getDimensions()[0]===t,ref:"qAttributeExpressions",items:[{component:"expression",ref:"qExpression",translation:"Object.OrgChart.LabelExpression",defaultValue:"",id:"labelExpression",tid:"labelExpression"},{component:"expression",ref:"qExpression",translation:"Object.OrgChart.SubLabelExpression",defaultValue:"",id:"subLabelExpression",tid:"subLabelExpression"},{component:"expression",ref:"qExpression",translation:"Object.OrgChart.ExtraLabelExpression",defaultValue:"",id:"extraLabelExpression",tid:"extraLabelExpression"},{component:"expression",ref:"qExpression",translation:"Object.OrgChart.ColorLabelExpression",defaultValue:"",id:"colorByExpression",tid:"nodeColorByExpression"}]},desc:{show:(t,e)=>e.getDimensions()[0]===t,component:"text",translation:"Object.OrgChart.ExtraLabelDesc",style:"hint"}}}}},sorting:{uses:"sorting"},addOns:{type:"items",component:"expandable-items",translation:"properties.addons",items:{dataHandling:{uses:"dataHandling",items:{calcCond:{uses:"calcCond"},rowLimit:{type:"integer",translation:"$RowLimit",ref:"rowLimit",defaultValue:3e4,min:5e3,max:1e5,show:!1}}}}},settings:{uses:"settings",items:{styling:{grouped:!0,translation:"properties.presentation",type:"items",items:{navigation:{type:"items",items:{navigationMode:{ref:"navigationMode",type:"string",translation:"Object.OrgChart.NavigationMode",component:"dropdown",defaultValue:"free",options:[{value:"free",translation:"Object.OrgChart.FreeMode"},{value:"expandAll",translation:"Object.OrgChart.ExpandAll"}]},resizeOnExpand:{ref:"resizeOnExpand",type:"boolean",defaultValue:!1,translation:"Object.OrgChart.resizeOnExpand",show:t=>"expandAll"!==o.getValue(t,"navigationMode")}}},backgroundColor:{type:"items",items:{useColorExpression:{ref:"style.backgroundColor.colorType",type:"string",translation:"Object.OrgChart.BackgroundColor",component:"dropdown",defaultValue:e.BACKGROUND_COLOR_TYPE,options:i},colorPicker:{component:"color-picker",type:"object",ref:"style.backgroundColor.color",translation:"properties.color",dualOutput:!0,defaultValue:e.BACKGROUND_COLOR,show:t=>"colorPicker"===o.getValue(t,"style.backgroundColor.colorType")},colorExpression:{component:"string",type:"string",ref:"style.backgroundColor.colorExpression",translation:"Common.Expression",expression:"optional",defaultValue:"",show:t=>"byExpression"===o.getValue(t,"style.backgroundColor.colorType")}}},fontColor:{type:"items",items:{useColorExpression:{ref:"style.fontColor.colorType",type:"string",translation:"Object.OrgChart.FontColor",component:"dropdown",defaultValue:e.FONT_COLOR_TYPE,options:i},colorPicker:{component:"color-picker",type:"object",ref:"style.fontColor.color",translation:"properties.color",dualOutput:!0,defaultValue:e.FONT_COLOR_DARK,show:t=>"colorPicker"===o.getValue(t,"style.fontColor.colorType")},colorExpression:{component:"string",type:"string",ref:"style.fontColor.colorExpression",translation:"Common.Expression",expression:"optional",defaultValue:"",show:t=>"byExpression"===o.getValue(t,"style.fontColor.colorType")}}},border:{type:"items",items:{appearanceHeader:{component:"text",translation:"Object.OrgChart.CardAppearance",style:"pp-nm-hcd__list-header"},topBar:{type:"boolean",ref:"style.border.top",translation:"Object.OrgChart.TopBar",defaultValue:e.BORDER_TOP},fullBorder:{type:"boolean",ref:"style.border.fullBorder",translation:"properties.border",defaultValue:e.BORDER_FULL},colorType:{component:"dropdown",type:"string",ref:"style.border.colorType",translation:"properties.border.color",defaultValue:e.BORDER_COLOR_TYPE,options:i,show:t=>a(t)},colorPicker:{component:"color-picker",type:"object",ref:"style.border.color",translation:"properties.color",dualOutput:!0,defaultValue:e.BORDER_COLOR,show:t=>a(t)&&"colorPicker"===o.getValue(t,"style.border.colorType")},colorExpression:{component:"string",type:"string",ref:"style.border.colorExpression",translation:"Common.Expression",expression:"optional",defaultValue:"",show:t=>a(t)&&"byExpression"===o.getValue(t,"style.border.colorType")}}}}}}}}},support:{export:!0,exportData:!0,snapshot:!0,viewData:!0}};function c(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}1===(s=c).length&&(l=s,s=function(t,e){return c(l(t),e)});var h={value:function(){}};function d(){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 p(r)}function p(t){this._=t}function f(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 g(t,e){for(var n,r=0,o=t.length;r<o;++r)if((n=t[r]).name===e)return n.value}function m(t,e,n){for(var r=0,o=t.length;r<o;++r)if(t[r].name===e){t[r]=h,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=n&&t.push({name:e,value:n}),t}p.prototype=d.prototype={constructor:p,on:function(t,e){var n,r=this._,o=f(t+"",r),i=-1,a=o.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++i<a;)if(n=(t=o[i]).type)r[n]=m(r[n],t.name,e);else if(null==e)for(n in r)r[n]=m(r[n],t.name,null);return this}for(;++i<a;)if((n=(t=o[i]).type)&&(n=g(r[n],t.name)))return n},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new p(t)},call:function(t,e){if((n=arguments.length-2)>0)for(var n,r,o=new Array(n),i=0;i<n;++i)o[i]=arguments[i+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(i=0,n=(r=this._[t]).length;i<n;++i)r[i].value.apply(e,o)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],o=0,i=r.length;o<i;++o)r[o].value.apply(e,n)}};var y="http://www.w3.org/1999/xhtml",b={svg:"http://www.w3.org/2000/svg",xhtml:y,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function v(t){var e=t+="",n=e.indexOf(":");return n>=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),b.hasOwnProperty(e)?{space:b[e],local:t}:t}function x(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===y&&e.documentElement.namespaceURI===y?e.createElement(t):e.createElementNS(n,t)}}function w(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function _(t){var e=v(t);return(e.local?w:x)(e)}function C(){}function E(t){return null==t?C:function(){return this.querySelector(t)}}function O(){return[]}function k(t){return null==t?O:function(){return this.querySelectorAll(t)}}function L(t){return function(){return this.matches(t)}}function M(t){return new Array(t.length)}function A(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}A.prototype={constructor:A,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function T(t,e,n,r,o,i){for(var a,s=0,l=e.length,u=i.length;s<u;++s)(a=e[s])?(a.__data__=i[s],r[s]=a):n[s]=new A(t,i[s]);for(;s<l;++s)(a=e[s])&&(o[s]=a)}function S(t,e,n,r,o,i,a){var s,l,u,c={},h=e.length,d=i.length,p=new Array(h);for(s=0;s<h;++s)(l=e[s])&&(p[s]=u="$"+a.call(l,l.__data__,s,e),u in c?o[s]=l:c[u]=l);for(s=0;s<d;++s)(l=c[u="$"+a.call(t,i[s],s,i)])?(r[s]=l,l.__data__=i[s],c[u]=null):n[s]=new A(t,i[s]);for(s=0;s<h;++s)(l=e[s])&&c[p[s]]===l&&(o[s]=l)}function z(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function D(t){return function(){this.removeAttribute(t)}}function R(t){return function(){this.removeAttributeNS(t.space,t.local)}}function N(t,e){return function(){this.setAttribute(t,e)}}function q(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function $(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}}function B(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}function P(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function j(t){return function(){this.style.removeProperty(t)}}function H(t,e,n){return function(){this.style.setProperty(t,e,n)}}function I(t,e,n){return function(){var r=e.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}function V(t,e){return t.style.getPropertyValue(e)||P(t).getComputedStyle(t,null).getPropertyValue(e)}function Z(t){return function(){delete this[t]}}function Y(t,e){return function(){this[t]=e}}function X(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}function F(t){return t.trim().split(/^|\s+/)}function W(t){return t.classList||new U(t)}function U(t){this._node=t,this._names=F(t.getAttribute("class")||"")}function G(t,e){for(var n=W(t),r=-1,o=e.length;++r<o;)n.add(e[r])}function K(t,e){for(var n=W(t),r=-1,o=e.length;++r<o;)n.remove(e[r])}function Q(t){return function(){G(this,t)}}function J(t){return function(){K(this,t)}}function tt(t,e){return function(){(e.apply(this,arguments)?G:K)(this,t)}}function et(){this.textContent=""}function nt(t){return function(){this.textContent=t}}function rt(t){return function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}}function ot(){this.innerHTML=""}function it(t){return function(){this.innerHTML=t}}function at(t){return function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}}function st(){this.nextSibling&&this.parentNode.appendChild(this)}function lt(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function ut(){return null}function ct(){var t=this.parentNode;t&&t.removeChild(this)}function ht(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function dt(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}U.prototype={add:function(t){this._names.indexOf(t)<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var pt={},ft=null;"undefined"!=typeof document&&("onmouseenter"in document.documentElement||(pt={mouseenter:"mouseover",mouseleave:"mouseout"}));function gt(t,e,n){return t=mt(t,e,n),function(e){var n=e.relatedTarget;n&&(n===this||8&n.compareDocumentPosition(this))||t.call(this,e)}}function mt(t,e,n){return function(r){var o=ft;ft=r;try{t.call(this,this.__data__,e,n)}finally{ft=o}}}function yt(t){return t.trim().split(/^|\s+/).map((function(t){var e="",n=t.indexOf(".");return n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}}))}function bt(t){return function(){var e=this.__on;if(e){for(var n,r=0,o=-1,i=e.length;r<i;++r)n=e[r],t.type&&n.type!==t.type||n.name!==t.name?e[++o]=n:this.removeEventListener(n.type,n.listener,n.capture);++o?e.length=o:delete this.__on}}}function vt(t,e,n){var r=pt.hasOwnProperty(t.type)?gt:mt;return function(o,i,a){var s,l=this.__on,u=r(e,i,a);if(l)for(var c=0,h=l.length;c<h;++c)if((s=l[c]).type===t.type&&s.name===t.name)return this.removeEventListener(s.type,s.listener,s.capture),this.addEventListener(s.type,s.listener=u,s.capture=n),void(s.value=e);this.addEventListener(t.type,u,n),s={type:t.type,name:t.name,value:e,listener:u,capture:n},l?l.push(s):this.__on=[s]}}function xt(t,e,n){var r=P(t),o=r.CustomEvent;"function"==typeof o?o=new o(e,n):(o=r.document.createEvent("Event"),n?(o.initEvent(e,n.bubbles,n.cancelable),o.detail=n.detail):o.initEvent(e,!1,!1)),t.dispatchEvent(o)}function wt(t,e){return function(){return xt(this,t,e)}}function _t(t,e){return function(){return xt(this,t,e.apply(this,arguments))}}var Ct=[null];function Et(t,e){this._groups=t,this._parents=e}function Ot(){return new Et([[document.documentElement]],Ct)}function kt(t){return"string"==typeof t?new Et([[document.querySelector(t)]],[document.documentElement]):new Et([[t]],Ct)}function Lt(){for(var t,e=ft;t=e.sourceEvent;)e=t;return e}function Mt(t,e){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,[(r=r.matrixTransform(t.getScreenCTM().inverse())).x,r.y]}var o=t.getBoundingClientRect();return[e.clientX-o.left-t.clientLeft,e.clientY-o.top-t.clientTop]}function At(t){var e=Lt();return e.changedTouches&&(e=e.changedTouches[0]),Mt(t,e)}function Tt(t,e,n){arguments.length<3&&(n=e,e=Lt().changedTouches);for(var r,o=0,i=e?e.length:0;o<i;++o)if((r=e[o]).identifier===n)return Mt(t,r);return null}function St(){ft.preventDefault(),ft.stopImmediatePropagation()}function zt(t){var e=t.document.documentElement,n=kt(t).on("dragstart.drag",St,!0);"onselectstart"in e?n.on("selectstart.drag",St,!0):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function Dt(t,e){var n=t.document.documentElement,r=kt(t).on("dragstart.drag",null);e&&(r.on("click.drag",St,!0),setTimeout((function(){r.on("click.drag",null)}),0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}function Rt(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function Nt(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function qt(){}Et.prototype=Ot.prototype={constructor:Et,select:function(t){"function"!=typeof t&&(t=E(t));for(var e=this._groups,n=e.length,r=new Array(n),o=0;o<n;++o)for(var i,a,s=e[o],l=s.length,u=r[o]=new Array(l),c=0;c<l;++c)(i=s[c])&&(a=t.call(i,i.__data__,c,s))&&("__data__"in i&&(a.__data__=i.__data__),u[c]=a);return new Et(r,this._parents)},selectAll:function(t){"function"!=typeof t&&(t=k(t));for(var e=this._groups,n=e.length,r=[],o=[],i=0;i<n;++i)for(var a,s=e[i],l=s.length,u=0;u<l;++u)(a=s[u])&&(r.push(t.call(a,a.__data__,u,s)),o.push(a));return new Et(r,o)},filter:function(t){"function"!=typeof t&&(t=L(t));for(var e=this._groups,n=e.length,r=new Array(n),o=0;o<n;++o)for(var i,a=e[o],s=a.length,l=r[o]=[],u=0;u<s;++u)(i=a[u])&&t.call(i,i.__data__,u,a)&&l.push(i);return new Et(r,this._parents)},data:function(t,e){if(!t)return f=new Array(this.size()),c=-1,this.each((function(t){f[++c]=t})),f;var n,r=e?S:T,o=this._parents,i=this._groups;"function"!=typeof t&&(n=t,t=function(){return n});for(var a=i.length,s=new Array(a),l=new Array(a),u=new Array(a),c=0;c<a;++c){var h=o[c],d=i[c],p=d.length,f=t.call(h,h&&h.__data__,c,o),g=f.length,m=l[c]=new Array(g),y=s[c]=new Array(g);r(h,d,m,y,u[c]=new Array(p),f,e);for(var b,v,x=0,w=0;x<g;++x)if(b=m[x]){for(x>=w&&(w=x+1);!(v=y[w])&&++w<g;);b._next=v||null}}return(s=new Et(s,o))._enter=l,s._exit=u,s},enter:function(){return new Et(this._enter||this._groups.map(M),this._parents)},exit:function(){return new Et(this._exit||this._groups.map(M),this._parents)},join:function(t,e,n){var r=this.enter(),o=this,i=this.exit();return r="function"==typeof t?t(r):r.append(t+""),null!=e&&(o=e(o)),null==n?i.remove():n(i),r&&o?r.merge(o).order():o},merge:function(t){for(var e=this._groups,n=t._groups,r=e.length,o=n.length,i=Math.min(r,o),a=new Array(r),s=0;s<i;++s)for(var l,u=e[s],c=n[s],h=u.length,d=a[s]=new Array(h),p=0;p<h;++p)(l=u[p]||c[p])&&(d[p]=l);for(;s<r;++s)a[s]=e[s];return new Et(a,this._parents)},order:function(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var r,o=t[e],i=o.length-1,a=o[i];--i>=0;)(r=o[i])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},sort:function(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=z);for(var n=this._groups,r=n.length,o=new Array(r),i=0;i<r;++i){for(var a,s=n[i],l=s.length,u=o[i]=new Array(l),c=0;c<l;++c)(a=s[c])&&(u[c]=a);u.sort(e)}return new Et(o,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){var t=new Array(this.size()),e=-1;return this.each((function(){t[++e]=this})),t},node:function(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],o=0,i=r.length;o<i;++o){var a=r[o];if(a)return a}return null},size:function(){var t=0;return this.each((function(){++t})),t},empty:function(){return!this.node()},each:function(t){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var o,i=e[n],a=0,s=i.length;a<s;++a)(o=i[a])&&t.call(o,o.__data__,a,i);return this},attr:function(t,e){var n=v(t);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==e?n.local?R:D:"function"==typeof e?n.local?B:$:n.local?q:N)(n,e))},style:function(t,e,n){return arguments.length>1?this.each((null==e?j:"function"==typeof e?I:H)(t,e,null==n?"":n)):V(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?Z:"function"==typeof e?X:Y)(t,e)):this.node()[t]},classed:function(t,e){var n=F(t+"");if(arguments.length<2){for(var r=W(this.node()),o=-1,i=n.length;++o<i;)if(!r.contains(n[o]))return!1;return!0}return this.each(("function"==typeof e?tt:e?Q:J)(n,e))},text:function(t){return arguments.length?this.each(null==t?et:("function"==typeof t?rt:nt)(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?ot:("function"==typeof t?at:it)(t)):this.node().innerHTML},raise:function(){return this.each(st)},lower:function(){return this.each(lt)},append:function(t){var e="function"==typeof t?t:_(t);return this.select((function(){return this.appendChild(e.apply(this,arguments))}))},insert:function(t,e){var n="function"==typeof t?t:_(t),r=null==e?ut:"function"==typeof e?e:E(e);return this.select((function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)}))},remove:function(){return this.each(ct)},clone:function(t){return this.select(t?dt:ht)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,e,n){var r,o,i=yt(t+""),a=i.length;if(!(arguments.length<2)){for(s=e?vt:bt,null==n&&(n=!1),r=0;r<a;++r)this.each(s(i[r],e,n));return this}var s=this.node().__on;if(s)for(var l,u=0,c=s.length;u<c;++u)for(r=0,l=s[u];r<a;++r)if((o=i[r]).type===l.type&&o.name===l.name)return l.value},dispatch:function(t,e){return this.each(("function"==typeof e?_t:wt)(t,e))}};var $t=.7,Bt=1/$t,Pt="\\s*([+-]?\\d+)\\s*",jt="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",Ht="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",It=/^#([0-9a-f]{3,8})$/,Vt=new RegExp("^rgb\\("+[Pt,Pt,Pt]+"\\)$"),Zt=new RegExp("^rgb\\("+[Ht,Ht,Ht]+"\\)$"),Yt=new RegExp("^rgba\\("+[Pt,Pt,Pt,jt]+"\\)$"),Xt=new RegExp("^rgba\\("+[Ht,Ht,Ht,jt]+"\\)$"),Ft=new RegExp("^hsl\\("+[jt,Ht,Ht]+"\\)$"),Wt=new RegExp("^hsla\\("+[jt,Ht,Ht,jt]+"\\)$"),Ut={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 Gt(){return this.rgb().formatHex()}function Kt(){return this.rgb().formatRgb()}function Qt(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=It.exec(t))?(n=e[1].length,e=parseInt(e[1],16),6===n?Jt(e):3===n?new re(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?te(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?te(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=Vt.exec(t))?new re(e[1],e[2],e[3],1):(e=Zt.exec(t))?new re(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=Yt.exec(t))?te(e[1],e[2],e[3],e[4]):(e=Xt.exec(t))?te(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=Ft.exec(t))?se(e[1],e[2]/100,e[3]/100,1):(e=Wt.exec(t))?se(e[1],e[2]/100,e[3]/100,e[4]):Ut.hasOwnProperty(t)?Jt(Ut[t]):"transparent"===t?new re(NaN,NaN,NaN,0):null}function Jt(t){return new re(t>>16&255,t>>8&255,255&t,1)}function te(t,e,n,r){return r<=0&&(t=e=n=NaN),new re(t,e,n,r)}function ee(t){return t instanceof qt||(t=Qt(t)),t?new re((t=t.rgb()).r,t.g,t.b,t.opacity):new re}function ne(t,e,n,r){return 1===arguments.length?ee(t):new re(t,e,n,null==r?1:r)}function re(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function oe(){return"#"+ae(this.r)+ae(this.g)+ae(this.b)}function ie(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}function ae(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function se(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new ue(t,e,n,r)}function le(t){if(t instanceof ue)return new ue(t.h,t.s,t.l,t.opacity);if(t instanceof qt||(t=Qt(t)),!t)return new ue;if(t instanceof ue)return t;var e=(t=t.rgb()).r/255,n=t.g/255,r=t.b/255,o=Math.min(e,n,r),i=Math.max(e,n,r),a=NaN,s=i-o,l=(i+o)/2;return s?(a=e===i?(n-r)/s+6*(n<r):n===i?(r-e)/s+2:(e-n)/s+4,s/=l<.5?i+o:2-i-o,a*=60):s=l>0&&l<1?0:a,new ue(a,s,l,t.opacity)}function ue(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function ce(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 he(t){return function(){return t}}function de(t){return 1==(t=+t)?pe: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):he(isNaN(e)?n:e)}}function pe(t,e){var n=e-t;return n?function(t,e){return function(n){return t+n*e}}(t,n):he(isNaN(t)?e:t)}Rt(qt,Qt,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:Gt,formatHex:Gt,formatHsl:function(){return le(this).formatHsl()},formatRgb:Kt,toString:Kt}),Rt(re,ne,Nt(qt,{brighter:function(t){return t=null==t?Bt:Math.pow(Bt,t),new re(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?$t:Math.pow($t,t),new re(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},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:oe,formatHex:oe,formatRgb:ie,toString:ie})),Rt(ue,(function(t,e,n,r){return 1===arguments.length?le(t):new ue(t,e,n,null==r?1:r)}),Nt(qt,{brighter:function(t){return t=null==t?Bt:Math.pow(Bt,t),new ue(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?$t:Math.pow($t,t),new ue(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,o=2*n-r;return new re(ce(t>=240?t-240:t+120,o,r),ce(t,o,r),ce(t<120?t+240:t-120,o,r),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=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===t?")":", "+t+")")}}));var fe=function t(e){var n=de(e);function r(t,e){var r=n((t=ne(t)).r,(e=ne(e)).r),o=n(t.g,e.g),i=n(t.b,e.b),a=pe(t.opacity,e.opacity);return function(e){return t.r=r(e),t.g=o(e),t.b=i(e),t.opacity=a(e),t+""}}return r.gamma=t,r}(1);function ge(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}var me=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,ye=new RegExp(me.source,"g");function be(t,e){var n,r,o,i=me.lastIndex=ye.lastIndex=0,a=-1,s=[],l=[];for(t+="",e+="";(n=me.exec(t))&&(r=ye.exec(e));)(o=r.index)>i&&(o=e.slice(i,o),s[a]?s[a]+=o:s[++a]=o),(n=n[0])===(r=r[0])?s[a]?s[a]+=r:s[++a]=r:(s[++a]=null,l.push({i:a,x:ge(n,r)})),i=ye.lastIndex;return i<e.length&&(o=e.slice(i),s[a]?s[a]+=o:s[++a]=o),s.length<2?l[0]?function(t){return function(e){return t(e)+""}}(l[0].x):function(t){return function(){return t}}(e):(e=l.length,function(t){for(var n,r=0;r<e;++r)s[(n=l[r]).i]=n.x(t);return s.join("")})}var ve,xe,we,_e,Ce=180/Math.PI,Ee={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Oe(t,e,n,r,o,i){var a,s,l;return(a=Math.sqrt(t*t+e*e))&&(t/=a,e/=a),(l=t*n+e*r)&&(n-=t*l,r-=e*l),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,l/=s),t*r<e*n&&(t=-t,e=-e,l=-l,a=-a),{translateX:o,translateY:i,rotate:Math.atan2(e,t)*Ce,skewX:Math.atan(l)*Ce,scaleX:a,scaleY:s}}function ke(t,e,n,r){function o(t){return t.length?t.pop()+" ":""}return function(i,a){var s=[],l=[];return i=t(i),a=t(a),function(t,r,o,i,a,s){if(t!==o||r!==i){var l=a.push("translate(",null,e,null,n);s.push({i:l-4,x:ge(t,o)},{i:l-2,x:ge(r,i)})}else(o||i)&&a.push("translate("+o+e+i+n)}(i.translateX,i.translateY,a.translateX,a.translateY,s,l),function(t,e,n,i){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),i.push({i:n.push(o(n)+"rotate(",null,r)-2,x:ge(t,e)})):e&&n.push(o(n)+"rotate("+e+r)}(i.rotate,a.rotate,s,l),function(t,e,n,i){t!==e?i.push({i:n.push(o(n)+"skewX(",null,r)-2,x:ge(t,e)}):e&&n.push(o(n)+"skewX("+e+r)}(i.skewX,a.skewX,s,l),function(t,e,n,r,i,a){if(t!==n||e!==r){var s=i.push(o(i)+"scale(",null,",",null,")");a.push({i:s-4,x:ge(t,n)},{i:s-2,x:ge(e,r)})}else 1===n&&1===r||i.push(o(i)+"scale("+n+","+r+")")}(i.scaleX,i.scaleY,a.scaleX,a.scaleY,s,l),i=a=null,function(t){for(var e,n=-1,r=l.length;++n<r;)s[(e=l[n]).i]=e.x(t);return s.join("")}}}var Le=ke((function(t){return"none"===t?Ee:(ve||(ve=document.createElement("DIV"),xe=document.documentElement,we=document.defaultView),ve.style.transform=t,t=we.getComputedStyle(xe.appendChild(ve),null).getPropertyValue("transform"),xe.removeChild(ve),Oe(+(t=t.slice(7,-1).split(","))[0],+t[1],+t[2],+t[3],+t[4],+t[5]))}),"px, ","px)","deg)"),Me=ke((function(t){return null==t?Ee:(_e||(_e=document.createElementNS("http://www.w3.org/2000/svg","g")),_e.setAttribute("transform",t),(t=_e.transform.baseVal.consolidate())?Oe((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):Ee)}),", ",")",")"),Ae=Math.SQRT2;function Te(t){return((t=Math.exp(t))+1/t)/2}function Se(t,e){var n,r,o=t[0],i=t[1],a=t[2],s=e[0],l=e[1],u=e[2],c=s-o,h=l-i,d=c*c+h*h;if(d<1e-12)r=Math.log(u/a)/Ae,n=function(t){return[o+t*c,i+t*h,a*Math.exp(Ae*t*r)]};else{var p=Math.sqrt(d),f=(u*u-a*a+4*d)/(2*a*2*p),g=(u*u-a*a-4*d)/(2*u*2*p),m=Math.log(Math.sqrt(f*f+1)-f),y=Math.log(Math.sqrt(g*g+1)-g);r=(y-m)/Ae,n=function(t){var e,n=t*r,s=Te(m),l=a/(2*p)*(s*(e=Ae*n+m,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(m));return[o+l*c,i+l*h,a*s/Te(Ae*n+m)]}}return n.duration=1e3*r,n}var ze,De,Re=0,Ne=0,qe=0,$e=0,Be=0,Pe=0,je="object"==typeof performance&&performance.now?performance:Date,He="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Ie(){return Be||(He(Ve),Be=je.now()+Pe)}function Ve(){Be=0}function Ze(){this._call=this._time=this._next=null}function Ye(t,e,n){var r=new Ze;return r.restart(t,e,n),r}function Xe(){Be=($e=je.now())+Pe,Re=Ne=0;try{!function(){Ie(),++Re;for(var t,e=ze;e;)(t=Be-e._time)>=0&&e._call.call(null,t),e=e._next;--Re}()}finally{Re=0,function(){var t,e,n=ze,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:ze=e);De=t,We(r)}(),Be=0}}function Fe(){var t=je.now(),e=t-$e;e>1e3&&(Pe-=e,$e=t)}function We(t){Re||(Ne&&(Ne=clearTimeout(Ne)),t-Be>24?(t<1/0&&(Ne=setTimeout(Xe,t-je.now()-Pe)),qe&&(qe=clearInterval(qe))):(qe||($e=je.now(),qe=setInterval(Fe,1e3)),Re=1,He(Xe)))}function Ue(t,e,n){var r=new Ze;return e=null==e?0:+e,r.restart((function(n){r.stop(),t(n+e)}),e,n),r}Ze.prototype=Ye.prototype={constructor:Ze,restart:function(t,e,n){if("function"!=typeof t)throw new TypeError("callback is not a function");n=(null==n?Ie():+n)+(null==e?0:+e),this._next||De===this||(De?De._next=this:ze=this,De=this),this._call=t,this._time=n,We()},stop:function(){this._call&&(this._call=null,this._time=1/0,We())}};var Ge=d("start","end","cancel","interrupt"),Ke=[];function Qe(t,e,n,r,o,i){var a=t.__transition;if(a){if(n in a)return}else t.__transition={};!function(t,e,n){var r,o=t.__transition;function i(t){n.state=1,n.timer.restart(a,n.delay,n.time),n.delay<=t&&a(t-n.delay)}function a(i){var u,c,h,d;if(1!==n.state)return l();for(u in o)if((d=o[u]).name===n.name){if(3===d.state)return Ue(a);4===d.state?(d.state=6,d.timer.stop(),d.on.call("interrupt",t,t.__data__,d.index,d.group),delete o[u]):+u<e&&(d.state=6,d.timer.stop(),d.on.call("cancel",t,t.__data__,d.index,d.group),delete o[u])}if(Ue((function(){3===n.state&&(n.state=4,n.timer.restart(s,n.delay,n.time),s(i))})),n.state=2,n.on.call("start",t,t.__data__,n.index,n.group),2===n.state){for(n.state=3,r=new Array(h=n.tween.length),u=0,c=-1;u<h;++u)(d=n.tween[u].value.call(t,t.__data__,n.index,n.group))&&(r[++c]=d);r.length=c+1}}function s(e){for(var o=e<n.duration?n.ease.call(null,e/n.duration):(n.timer.restart(l),n.state=5,1),i=-1,a=r.length;++i<a;)r[i].call(t,o);5===n.state&&(n.on.call("end",t,t.__data__,n.index,n.group),l())}function l(){for(var r in n.state=6,n.timer.stop(),delete o[e],o)return;delete t.__transition}o[e]=n,n.timer=Ye(i,0,n.time)}(t,n,{name:e,index:r,group:o,on:Ge,tween:Ke,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:0})}function Je(t,e){var n=en(t,e);if(n.state>0)throw new Error("too late; already scheduled");return n}function tn(t,e){var n=en(t,e);if(n.state>3)throw new Error("too late; already running");return n}function en(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function nn(t,e){var n,r,o,i=t.__transition,a=!0;if(i){for(o in e=null==e?null:e+"",i)(n=i[o]).name===e?(r=n.state>2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(r?"interrupt":"cancel",t,t.__data__,n.index,n.group),delete i[o]):a=!1;a&&delete t.__transition}}function rn(t,e){var n,r;return function(){var o=tn(this,t),i=o.tween;if(i!==n)for(var a=0,s=(r=n=i).length;a<s;++a)if(r[a].name===e){(r=r.slice()).splice(a,1);break}o.tween=r}}function on(t,e,n){var r,o;if("function"!=typeof n)throw new Error;return function(){var i=tn(this,t),a=i.tween;if(a!==r){o=(r=a).slice();for(var s={name:e,value:n},l=0,u=o.length;l<u;++l)if(o[l].name===e){o[l]=s;break}l===u&&o.push(s)}i.tween=o}}function an(t,e,n){var r=t._id;return t.each((function(){var t=tn(this,r);(t.value||(t.value={}))[e]=n.apply(this,arguments)})),function(t){return en(t,r).value[e]}}function sn(t,e){var n;return("number"==typeof e?ge:e instanceof Qt?fe:(n=Qt(e))?(e=n,fe):be)(t,e)}function ln(t){return function(){this.removeAttribute(t)}}function un(t){return function(){this.removeAttributeNS(t.space,t.local)}}function cn(t,e,n){var r,o,i=n+"";return function(){var a=this.getAttribute(t);return a===i?null:a===r?o:o=e(r=a,n)}}function hn(t,e,n){var r,o,i=n+"";return function(){var a=this.getAttributeNS(t.space,t.local);return a===i?null:a===r?o:o=e(r=a,n)}}function dn(t,e,n){var r,o,i;return function(){var a,s,l=n(this);if(null!=l)return(a=this.getAttribute(t))===(s=l+"")?null:a===r&&s===o?i:(o=s,i=e(r=a,l));this.removeAttribute(t)}}function pn(t,e,n){var r,o,i;return function(){var a,s,l=n(this);if(null!=l)return(a=this.getAttributeNS(t.space,t.local))===(s=l+"")?null:a===r&&s===o?i:(o=s,i=e(r=a,l));this.removeAttributeNS(t.space,t.local)}}function fn(t,e){return function(n){this.setAttribute(t,e.call(this,n))}}function gn(t,e){return function(n){this.setAttributeNS(t.space,t.local,e.call(this,n))}}function mn(t,e){var n,r;function o(){var o=e.apply(this,arguments);return o!==r&&(n=(r=o)&&gn(t,o)),n}return o._value=e,o}function yn(t,e){var n,r;function o(){var o=e.apply(this,arguments);return o!==r&&(n=(r=o)&&fn(t,o)),n}return o._value=e,o}function bn(t,e){return function(){Je(this,t).delay=+e.apply(this,arguments)}}function vn(t,e){return e=+e,function(){Je(this,t).delay=e}}function xn(t,e){return function(){tn(this,t).duration=+e.apply(this,arguments)}}function wn(t,e){return e=+e,function(){tn(this,t).duration=e}}function _n(t,e){if("function"!=typeof e)throw new Error;return function(){tn(this,t).ease=e}}function Cn(t,e,n){var r,o,i=function(t){return(t+"").trim().split(/^|\s+/).every((function(t){var e=t.indexOf(".");return e>=0&&(t=t.slice(0,e)),!t||"start"===t}))}(e)?Je:tn;return function(){var a=i(this,t),s=a.on;s!==r&&(o=(r=s).copy()).on(e,n),a.on=o}}var En=Ot.prototype.constructor;function On(t){return function(){this.style.removeProperty(t)}}function kn(t,e,n){return function(r){this.style.setProperty(t,e.call(this,r),n)}}function Ln(t,e,n){var r,o;function i(){var i=e.apply(this,arguments);return i!==o&&(r=(o=i)&&kn(t,i,n)),r}return i._value=e,i}function Mn(t){return function(e){this.textContent=t.call(this,e)}}function An(t){var e,n;function r(){var r=t.apply(this,arguments);return r!==n&&(e=(n=r)&&Mn(r)),e}return r._value=t,r}var Tn=0;function Sn(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}function zn(){return++Tn}var Dn=Ot.prototype;Sn.prototype={constructor:Sn,select:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=E(t));for(var r=this._groups,o=r.length,i=new Array(o),a=0;a<o;++a)for(var s,l,u=r[a],c=u.length,h=i[a]=new Array(c),d=0;d<c;++d)(s=u[d])&&(l=t.call(s,s.__data__,d,u))&&("__data__"in s&&(l.__data__=s.__data__),h[d]=l,Qe(h[d],e,n,d,h,en(s,n)));return new Sn(i,this._parents,e,n)},selectAll:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=k(t));for(var r=this._groups,o=r.length,i=[],a=[],s=0;s<o;++s)for(var l,u=r[s],c=u.length,h=0;h<c;++h)if(l=u[h]){for(var d,p=t.call(l,l.__data__,h,u),f=en(l,n),g=0,m=p.length;g<m;++g)(d=p[g])&&Qe(d,e,n,g,p,f);i.push(p),a.push(l)}return new Sn(i,a,e,n)},filter:function(t){"function"!=typeof t&&(t=L(t));for(var e=this._groups,n=e.length,r=new Array(n),o=0;o<n;++o)for(var i,a=e[o],s=a.length,l=r[o]=[],u=0;u<s;++u)(i=a[u])&&t.call(i,i.__data__,u,a)&&l.push(i);return new Sn(r,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,r=e.length,o=n.length,i=Math.min(r,o),a=new Array(r),s=0;s<i;++s)for(var l,u=e[s],c=n[s],h=u.length,d=a[s]=new Array(h),p=0;p<h;++p)(l=u[p]||c[p])&&(d[p]=l);for(;s<r;++s)a[s]=e[s];return new Sn(a,this._parents,this._name,this._id)},selection:function(){return new En(this._groups,this._parents)},transition:function(){for(var t=this._name,e=this._id,n=zn(),r=this._groups,o=r.length,i=0;i<o;++i)for(var a,s=r[i],l=s.length,u=0;u<l;++u)if(a=s[u]){var c=en(a,e);Qe(a,t,n,u,s,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new Sn(r,this._parents,t,n)},call:Dn.call,nodes:Dn.nodes,node:Dn.node,size:Dn.size,empty:Dn.empty,each:Dn.each,on:function(t,e){var n=this._id;return arguments.length<2?en(this.node(),n).on.on(t):this.each(Cn(n,t,e))},attr:function(t,e){var n=v(t),r="transform"===n?Me:sn;return this.attrTween(t,"function"==typeof e?(n.local?pn:dn)(n,r,an(this,"attr."+t,e)):null==e?(n.local?un:ln)(n):(n.local?hn:cn)(n,r,e))},attrTween:function(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==e)return this.tween(n,null);if("function"!=typeof e)throw new Error;var r=v(t);return this.tween(n,(r.local?mn:yn)(r,e))},style:function(t,e,n){var r="transform"==(t+="")?Le:sn;return null==e?this.styleTween(t,function(t,e){var n,r,o;return function(){var i=V(this,t),a=(this.style.removeProperty(t),V(this,t));return i===a?null:i===n&&a===r?o:o=e(n=i,r=a)}}(t,r)).on("end.style."+t,On(t)):"function"==typeof e?this.styleTween(t,function(t,e,n){var r,o,i;return function(){var a=V(this,t),s=n(this),l=s+"";return null==s&&(this.style.removeProperty(t),l=s=V(this,t)),a===l?null:a===r&&l===o?i:(o=l,i=e(r=a,s))}}(t,r,an(this,"style."+t,e))).each(function(t,e){var n,r,o,i,a="style."+e,s="end."+a;return function(){var l=tn(this,t),u=l.on,c=null==l.value[a]?i||(i=On(e)):void 0;u===n&&o===c||(r=(n=u).copy()).on(s,o=c),l.on=r}}(this._id,t)):this.styleTween(t,function(t,e,n){var r,o,i=n+"";return function(){var a=V(this,t);return a===i?null:a===r?o:o=e(r=a,n)}}(t,r,e),n).on("end.style."+t,null)},styleTween:function(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==e)return this.tween(r,null);if("function"!=typeof e)throw new Error;return this.tween(r,Ln(t,e,null==n?"":n))},text:function(t){return this.tween("text","function"==typeof t?function(t){return function(){var e=t(this);this.textContent=null==e?"":e}}(an(this,"text",t)):function(t){return function(){this.textContent=t}}(null==t?"":t+""))},textTween:function(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(null==t)return this.tween(e,null);if("function"!=typeof t)throw new Error;return this.tween(e,An(t))},remove:function(){return this.on("end.remove",function(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}(this._id))},tween:function(t,e){var n=this._id;if(t+="",arguments.length<2){for(var r,o=en(this.node(),n).tween,i=0,a=o.length;i<a;++i)if((r=o[i]).name===t)return r.value;return null}return this.each((null==e?rn:on)(n,t,e))},delay:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?bn:vn)(e,t)):en(this.node(),e).delay},duration:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?xn:wn)(e,t)):en(this.node(),e).duration},ease:function(t){var e=this._id;return arguments.length?this.each(_n(e,t)):en(this.node(),e).ease},end:function(){var t,e,n=this,r=n._id,o=n.size();return new Promise((function(i,a){var s={value:a},l={value:function(){0==--o&&i()}};n.each((function(){var n=tn(this,r),o=n.on;o!==t&&((e=(t=o).copy())._.cancel.push(s),e._.interrupt.push(s),e._.end.push(l)),n.on=e}))}))}};var Rn={time:null,delay:0,duration:250,ease:function(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}};function Nn(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))return Rn.time=Ie(),Rn;return n}Ot.prototype.interrupt=function(t){return this.each((function(){nn(this,t)}))},Ot.prototype.transition=function(t){var e,n;t instanceof Sn?(e=t._id,t=t._name):(e=zn(),(n=Rn).time=Ie(),t=null==t?null:t+"");for(var r=this._groups,o=r.length,i=0;i<o;++i)for(var a,s=r[i],l=s.length,u=0;u<l;++u)(a=s[u])&&Qe(a,t,e,u,s,n||Nn(a,e));return new Sn(r,this._parents,t,e)};var qn="$";function $n(){}function Bn(t,e){var n=new $n;if(t instanceof $n)t.each((function(t,e){n.set(e,t)}));else if(Array.isArray(t)){var r,o=-1,i=t.length;if(null==e)for(;++o<i;)n.set(o,t[o]);else for(;++o<i;)n.set(e(r=t[o],o,t),r)}else if(t)for(var a in t)n.set(a,t[a]);return n}function Pn(){}$n.prototype=Bn.prototype={constructor:$n,has:function(t){return qn+t in this},get:function(t){return this[qn+t]},set:function(t,e){return this[qn+t]=e,this},remove:function(t){var e=qn+t;return e in this&&delete this[e]},clear:function(){for(var t in this)t[0]===qn&&delete this[t]},keys:function(){var t=[];for(var e in this)e[0]===qn&&t.push(e.slice(1));return t},values:function(){var t=[];for(var e in this)e[0]===qn&&t.push(this[e]);return t},entries:function(){var t=[];for(var e in this)e[0]===qn&&t.push({key:e.slice(1),value:this[e]});return t},size:function(){var t=0;for(var e in this)e[0]===qn&&++t;return t},empty:function(){for(var t in this)if(t[0]===qn)return!1;return!0},each:function(t){for(var e in this)e[0]===qn&&t(this[e],e.slice(1),this)}};var jn=Bn.prototype;function Hn(t){var e=0,n=t.children,r=n&&n.length;if(r)for(;--r>=0;)e+=n[r].value;else e=1;t.value=e}function In(t,e){var n,r,o,i,a,s=new Xn(t),l=+t.value&&(s.value=t.value),u=[s];for(null==e&&(e=Vn);n=u.pop();)if(l&&(n.value=+n.data.value),(o=e(n.data))&&(a=o.length))for(n.children=new Array(a),i=a-1;i>=0;--i)u.push(r=n.children[i]=new Xn(o[i])),r.parent=n,r.depth=n.depth+1;return s.eachBefore(Yn)}function Vn(t){return t.children}function Zn(t){t.data=t.data.data}function Yn(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function Xn(t){this.data=t,this.depth=this.height=0,this.parent=null}function Fn(t,e){return t.parent===e.parent?1:2}function Wn(t){var e=t.children;return e?e[0]:t.t}function Un(t){var e=t.children;return e?e[e.length-1]:t.t}function Gn(t,e,n){var r=n/(e.i-t.i);e.c-=r,e.s+=n,t.c+=r,e.z+=n,e.m+=n}function Kn(t,e,n){return t.a.parent===e.parent?t.a:n}function Qn(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}function Jn(){var t=Fn,e=1,n=1,r=null;function o(o){var l=function(t){for(var e,n,r,o,i,a=new Qn(t,0),s=[a];e=s.pop();)if(r=e._.children)for(e.children=new Array(i=r.length),o=i-1;o>=0;--o)s.push(n=e.children[o]=new Qn(r[o],o)),n.parent=e;return(a.parent=new Qn(null,0)).children=[a],a}(o);if(l.eachAfter(i),l.parent.m=-l.z,l.eachBefore(a),r)o.eachBefore(s);else{var u=o,c=o,h=o;o.eachBefore((function(t){t.x<u.x&&(u=t),t.x>c.x&&(c=t),t.depth>h.depth&&(h=t)}));var d=u===c?1:t(u,c)/2,p=d-u.x,f=e/(c.x+d+p),g=n/(h.depth||1);o.eachBefore((function(t){t.x=(t.x+p)*f,t.y=t.depth*g}))}return o}function i(e){var n=e.children,r=e.parent.children,o=e.i?r[e.i-1]:null;if(n){!function(t){for(var e,n=0,r=0,o=t.children,i=o.length;--i>=0;)(e=o[i]).z+=n,e.m+=n,n+=e.s+(r+=e.c)}(e);var i=(n[0].z+n[n.length-1].z)/2;o?(e.z=o.z+t(e._,o._),e.m=e.z-i):e.z=i}else o&&(e.z=o.z+t(e._,o._));e.parent.A=function(e,n,r){if(n){for(var o,i=e,a=e,s=n,l=i.parent.children[0],u=i.m,c=a.m,h=s.m,d=l.m;s=Un(s),i=Wn(i),s&&i;)l=Wn(l),(a=Un(a)).a=e,(o=s.z+h-i.z-u+t(s._,i._))>0&&(Gn(Kn(s,e,r),e,o),u+=o,c+=o),h+=s.m,u+=i.m,d+=l.m,c+=a.m;s&&!Un(a)&&(a.t=s,a.m+=h-c),i&&!Wn(l)&&(l.t=i,l.m+=u-d,r=e)}return r}(e,o,e.parent.A||r[0])}function a(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=e,t.y=t.depth*n}return o.separation=function(e){return arguments.length?(t=e,o):t},o.size=function(t){return arguments.length?(r=!1,e=+t[0],n=+t[1],o):r?null:[e,n]},o.nodeSize=function(t){return arguments.length?(r=!0,e=+t[0],n=+t[1],o):r?[e,n]:null},o}function tr(t){return function(){return t}}function er(t,e,n){this.target=t,this.type=e,this.transform=n}function nr(t,e,n){this.k=t,this.x=e,this.y=n}Pn.prototype={constructor:Pn,has:jn.has,add:function(t){return this[qn+(t+="")]=t,this},remove:jn.remove,clear:jn.clear,values:jn.keys,size:jn.size,empty:jn.empty,each:jn.each},Xn.prototype=In.prototype={constructor:Xn,count:function(){return this.eachAfter(Hn)},each:function(t){var e,n,r,o,i=this,a=[i];do{for(e=a.reverse(),a=[];i=e.pop();)if(t(i),n=i.children)for(r=0,o=n.length;r<o;++r)a.push(n[r])}while(a.length);return this},eachAfter:function(t){for(var e,n,r,o=this,i=[o],a=[];o=i.pop();)if(a.push(o),e=o.children)for(n=0,r=e.length;n<r;++n)i.push(e[n]);for(;o=a.pop();)t(o);return this},eachBefore:function(t){for(var e,n,r=this,o=[r];r=o.pop();)if(t(r),e=r.children)for(n=e.length-1;n>=0;--n)o.push(e[n]);return this},sum:function(t){return this.eachAfter((function(e){for(var n=+t(e.data)||0,r=e.children,o=r&&r.length;--o>=0;)n+=r[o].value;e.value=n}))},sort:function(t){return this.eachBefore((function(e){e.children&&e.children.sort(t)}))},path:function(t){for(var e=this,n=function(t,e){if(t===e)return t;var n=t.ancestors(),r=e.ancestors(),o=null;t=n.pop(),e=r.pop();for(;t===e;)o=t,t=n.pop(),e=r.pop();return o}(e,t),r=[e];e!==n;)e=e.parent,r.push(e);for(var o=r.length;t!==n;)r.splice(o,0,t),t=t.parent;return r},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each((function(e){t.push(e)})),t},leaves:function(){var t=[];return this.eachBefore((function(e){e.children||t.push(e)})),t},links:function(){var t=this,e=[];return t.each((function(n){n!==t&&e.push({source:n.parent,target:n})})),e},copy:function(){return In(this).eachBefore(Zn)}},Qn.prototype=Object.create(Xn.prototype),nr.prototype={constructor:nr,scale:function(t){return 1===t?this:new nr(this.k*t,this.x,this.y)},translate:function(t,e){return 0===t&0===e?this:new nr(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var rr=new nr(1,0,0);function or(){ft.stopImmediatePropagation()}function ir(){ft.preventDefault(),ft.stopImmediatePropagation()}function ar(){return!ft.ctrlKey&&!ft.button}function sr(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t).hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]:[[0,0],[t.clientWidth,t.clientHeight]]}function lr(){return this.__zoom||rr}function ur(){return-ft.deltaY*(1===ft.deltaMode?.05:ft.deltaMode?1:.002)}function cr(){return navigator.maxTouchPoints||"ontouchstart"in this}function hr(t,e,n){var r=t.invertX(e[0][0])-n[0][0],o=t.invertX(e[1][0])-n[1][0],i=t.invertY(e[0][1])-n[0][1],a=t.invertY(e[1][1])-n[1][1];return t.translate(o>r?(r+o)/2:Math.min(0,r)||Math.max(0,o),a>i?(i+a)/2:Math.min(0,i)||Math.max(0,a))}function dr(){var t,e,n=ar,r=sr,o=hr,i=ur,a=cr,s=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],u=250,c=Se,h=d("start","zoom","end"),p=500,f=0;function g(t){t.property("__zoom",lr).on("wheel.zoom",_).on("mousedown.zoom",C).on("dblclick.zoom",E).filter(a).on("touchstart.zoom",O).on("touchmove.zoom",k).on("touchend.zoom touchcancel.zoom",L).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(t,e){return(e=Math.max(s[0],Math.min(s[1],e)))===t.k?t:new nr(e,t.x,t.y)}function y(t,e,n){var r=e[0]-n[0]*t.k,o=e[1]-n[1]*t.k;return r===t.x&&o===t.y?t:new nr(t.k,r,o)}function b(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function v(t,e,n){t.on("start.zoom",(function(){x(this,arguments).start()})).on("interrupt.zoom end.zoom",(function(){x(this,arguments).end()})).tween("zoom",(function(){var t=this,o=arguments,i=x(t,o),a=r.apply(t,o),s=null==n?b(a):"function"==typeof n?n.apply(t,o):n,l=Math.max(a[1][0]-a[0][0],a[1][1]-a[0][1]),u=t.__zoom,h="function"==typeof e?e.apply(t,o):e,d=c(u.invert(s).concat(l/u.k),h.invert(s).concat(l/h.k));return function(t){if(1===t)t=h;else{var e=d(t),n=l/e[2];t=new nr(n,s[0]-e[0]*n,s[1]-e[1]*n)}i.zoom(null,t)}}))}function x(t,e,n){return!n&&t.__zooming||new w(t,e)}function w(t,e){this.that=t,this.args=e,this.active=0,this.extent=r.apply(t,e),this.taps=0}function _(){if(n.apply(this,arguments)){var t=x(this,arguments),e=this.__zoom,r=Math.max(s[0],Math.min(s[1],e.k*Math.pow(2,i.apply(this,arguments)))),a=At(this);if(t.wheel)t.mouse[0][0]===a[0]&&t.mouse[0][1]===a[1]||(t.mouse[1]=e.invert(t.mouse[0]=a)),clearTimeout(t.wheel);else{if(e.k===r)return;t.mouse=[a,e.invert(a)],nn(this),t.start()}ir(),t.wheel=setTimeout(u,150),t.zoom("mouse",o(y(m(e,r),t.mouse[0],t.mouse[1]),t.extent,l))}function u(){t.wheel=null,t.end()}}function C(){if(!e&&n.apply(this,arguments)){var t=x(this,arguments,!0),r=kt(ft.view).on("mousemove.zoom",u,!0).on("mouseup.zoom",c,!0),i=At(this),a=ft.clientX,s=ft.clientY;zt(ft.view),or(),t.mouse=[i,this.__zoom.invert(i)],nn(this),t.start()}function u(){if(ir(),!t.moved){var e=ft.clientX-a,n=ft.clientY-s;t.moved=e*e+n*n>f}t.zoom("mouse",o(y(t.that.__zoom,t.mouse[0]=At(t.that),t.mouse[1]),t.extent,l))}function c(){r.on("mousemove.zoom mouseup.zoom",null),Dt(ft.view,t.moved),ir(),t.end()}}function E(){if(n.apply(this,arguments)){var t=this.__zoom,e=At(this),i=t.invert(e),a=t.k*(ft.shiftKey?.5:2),s=o(y(m(t,a),e,i),r.apply(this,arguments),l);ir(),u>0?kt(this).transition().duration(u).call(v,s,e):kt(this).call(g.transform,s)}}function O(){if(n.apply(this,arguments)){var e,r,o,i,a=ft.touches,s=a.length,l=x(this,arguments,ft.changedTouches.length===s);for(or(),r=0;r<s;++r)i=[i=Tt(this,a,(o=a[r]).identifier),this.__zoom.invert(i),o.identifier],l.touch0?l.touch1||l.touch0[2]===i[2]||(l.touch1=i,l.taps=0):(l.touch0=i,e=!0,l.taps=1+!!t);t&&(t=clearTimeout(t)),e&&(l.taps<2&&(t=setTimeout((function(){t=null}),p)),nn(this),l.start())}}function k(){if(this.__zooming){var e,n,r,i,a=x(this,arguments),s=ft.changedTouches,u=s.length;for(ir(),t&&(t=clearTimeout(t)),a.taps=0,e=0;e<u;++e)r=Tt(this,s,(n=s[e]).identifier),a.touch0&&a.touch0[2]===n.identifier?a.touch0[0]=r:a.touch1&&a.touch1[2]===n.identifier&&(a.touch1[0]=r);if(n=a.that.__zoom,a.touch1){var c=a.touch0[0],h=a.touch0[1],d=a.touch1[0],p=a.touch1[1],f=(f=d[0]-c[0])*f+(f=d[1]-c[1])*f,g=(g=p[0]-h[0])*g+(g=p[1]-h[1])*g;n=m(n,Math.sqrt(f/g)),r=[(c[0]+d[0])/2,(c[1]+d[1])/2],i=[(h[0]+p[0])/2,(h[1]+p[1])/2]}else{if(!a.touch0)return;r=a.touch0[0],i=a.touch0[1]}a.zoom("touch",o(y(n,r,i),a.extent,l))}}function L(){if(this.__zooming){var t,n,r=x(this,arguments),o=ft.changedTouches,i=o.length;for(or(),e&&clearTimeout(e),e=setTimeout((function(){e=null}),p),t=0;t<i;++t)n=o[t],r.touch0&&r.touch0[2]===n.identifier?delete r.touch0:r.touch1&&r.touch1[2]===n.identifier&&delete r.touch1;if(r.touch1&&!r.touch0&&(r.touch0=r.touch1,delete r.touch1),r.touch0)r.touch0[1]=this.__zoom.invert(r.touch0[0]);else if(r.end(),2===r.taps){var a=kt(this).on("dblclick.zoom");a&&a.apply(this,arguments)}}}return g.transform=function(t,e,n){var r=t.selection?t.selection():t;r.property("__zoom",lr),t!==r?v(t,e,n):r.interrupt().each((function(){x(this,arguments).start().zoom(null,"function"==typeof e?e.apply(this,arguments):e).end()}))},g.scaleBy=function(t,e,n){g.scaleTo(t,(function(){var t=this.__zoom.k,n="function"==typeof e?e.apply(this,arguments):e;return t*n}),n)},g.scaleTo=function(t,e,n){g.transform(t,(function(){var t=r.apply(this,arguments),i=this.__zoom,a=null==n?b(t):"function"==typeof n?n.apply(this,arguments):n,s=i.invert(a),u="function"==typeof e?e.apply(this,arguments):e;return o(y(m(i,u),a,s),t,l)}),n)},g.translateBy=function(t,e,n){g.transform(t,(function(){return o(this.__zoom.translate("function"==typeof e?e.apply(this,arguments):e,"function"==typeof n?n.apply(this,arguments):n),r.apply(this,arguments),l)}))},g.translateTo=function(t,e,n,i){g.transform(t,(function(){var t=r.apply(this,arguments),a=this.__zoom,s=null==i?b(t):"function"==typeof i?i.apply(this,arguments):i;return o(rr.translate(s[0],s[1]).scale(a.k).translate("function"==typeof e?-e.apply(this,arguments):-e,"function"==typeof n?-n.apply(this,arguments):-n),t,l)}),i)},w.prototype={start:function(){return 1==++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(t,e){return this.mouse&&"mouse"!==t&&(this.mouse[1]=e.invert(this.mouse[0])),this.touch0&&"touch"!==t&&(this.touch0[1]=e.invert(this.touch0[0])),this.touch1&&"touch"!==t&&(this.touch1[1]=e.invert(this.touch1[0])),this.that.__zoom=e,this.emit("zoom"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(t){!function(t,e,n,r){var o=ft;t.sourceEvent=ft,ft=t;try{e.apply(n,r)}finally{ft=o}}(new er(g,t,this.that.__zoom),h.apply,h,[t,this.that,this.args])}},g.wheelDelta=function(t){return arguments.length?(i="function"==typeof t?t:tr(+t),g):i},g.filter=function(t){return arguments.length?(n="function"==typeof t?t:tr(!!t),g):n},g.touchable=function(t){return arguments.length?(a="function"==typeof t?t:tr(!!t),g):a},g.extent=function(t){return arguments.length?(r="function"==typeof t?t:tr([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),g):r},g.scaleExtent=function(t){return arguments.length?(s[0]=+t[0],s[1]=+t[1],g):[s[0],s[1]]},g.translateExtent=function(t){return arguments.length?(l[0][0]=+t[0][0],l[1][0]=+t[1][0],l[0][1]=+t[0][1],l[1][1]=+t[1][1],g):[[l[0][0],l[0][1]],[l[1][0],l[1][1]]]},g.constrain=function(t){return arguments.length?(o=t,g):o},g.duration=function(t){return arguments.length?(u=+t,g):u},g.interpolate=function(t){return arguments.length?(c=t,g):c},g.on=function(){var t=h.on.apply(h,arguments);return t===h?g:t},g.clickDistance=function(t){return arguments.length?(f=(t=+t)*t,g):Math.sqrt(f)},g}const pr={aliceblue:{r:240,g:248,b:255},antiquewhite:{r:250,g:235,b:215},aqua:{r:0,g:255,b:255},aquamarine:{r:127,g:255,b:212},azure:{r:240,g:255,b:255},beige:{r:245,g:245,b:220},bisque:{r:255,g:228,b:196},black:{r:0,g:0,b:0},blanchedalmond:{r:255,g:235,b:205},blue:{r:0,g:0,b:255},blueviolet:{r:138,g:43,b:226},brown:{r:165,g:42,b:42},burlywood:{r:222,g:184,b:135},cadetblue:{r:95,g:158,b:160},chartreuse:{r:127,g:255,b:0},chocolate:{r:210,g:105,b:30},coral:{r:255,g:127,b:80},cornflowerblue:{r:100,g:149,b:237},cornsilk:{r:255,g:248,b:220},crimson:{r:220,g:20,b:60},cyan:{r:0,g:255,b:255},darkblue:{r:0,g:0,b:139},darkcyan:{r:0,g:139,b:139},darkgoldenrod:{r:184,g:134,b:11},darkgray:{r:169,g:169,b:169},darkgreen:{r:0,g:100,b:0},darkgrey:{r:169,g:169,b:169},darkkhaki:{r:189,g:183,b:107},darkmagenta:{r:139,g:0,b:139},darkolivegreen:{r:85,g:107,b:47},darkorange:{r:255,g:140,b:0},darkorchid:{r:153,g:50,b:204},darkred:{r:139,g:0,b:0},darksalmon:{r:233,g:150,b:122},darkseagreen:{r:143,g:188,b:143},darkslateblue:{r:72,g:61,b:139},darkslategray:{r:47,g:79,b:79},darkslategrey:{r:47,g:79,b:79},darkturquoise:{r:0,g:206,b:209},darkviolet:{r:148,g:0,b:211},deeppink:{r:255,g:20,b:147},deepskyblue:{r:0,g:191,b:255},dimgray:{r:105,g:105,b:105},dimgrey:{r:105,g:105,b:105},dodgerblue:{r:30,g:144,b:255},firebrick:{r:178,g:34,b:34},floralwhite:{r:255,g:250,b:240},forestgreen:{r:34,g:139,b:34},fuchsia:{r:255,g:0,b:255},gainsboro:{r:220,g:220,b:220},ghostwhite:{r:248,g:248,b:255},gold:{r:255,g:215,b:0},goldenrod:{r:218,g:165,b:32},gray:{r:128,g:128,b:128},green:{r:0,g:128,b:0},greenyellow:{r:173,g:255,b:47},grey:{r:128,g:128,b:128},honeydew:{r:240,g:255,b:240},hotpink:{r:255,g:105,b:180},indianred:{r:205,g:92,b:92},indigo:{r:75,g:0,b:130},ivory:{r:255,g:255,b:240},khaki:{r:240,g:230,b:140},lavender:{r:230,g:230,b:250},lavenderblush:{r:255,g:240,b:245},lawngreen:{r:124,g:252,b:0},lemonchiffon:{r:255,g:250,b:205},lightblue:{r:173,g:216,b:230},lightcoral:{r:240,g:128,b:128},lightcyan:{r:224,g:255,b:255},lightgoldenrodyellow:{r:250,g:250,b:210},lightgray:{r:211,g:211,b:211},lightgreen:{r:144,g:238,b:144},lightgrey:{r:211,g:211,b:211},lightpink:{r:255,g:182,b:193},lightsalmon:{r:255,g:160,b:122},lightseagreen:{r:32,g:178,b:170},lightskyblue:{r:135,g:206,b:250},lightslategray:{r:119,g:136,b:153},lightslategrey:{r:119,g:136,b:153},lightsteelblue:{r:176,g:196,b:222},lightyellow:{r:255,g:255,b:224},lime:{r:0,g:255,b:0},limegreen:{r:50,g:205,b:50},linen:{r:250,g:240,b:230},magenta:{r:255,g:0,b:255},maroon:{r:128,g:0,b:0},mediumaquamarine:{r:102,g:205,b:170},mediumblue:{r:0,g:0,b:205},mediumorchid:{r:186,g:85,b:211},mediumpurple:{r:147,g:112,b:219},mediumseagreen:{r:60,g:179,b:113},mediumslateblue:{r:123,g:104,b:238},mediumspringgreen:{r:0,g:250,b:154},mediumturquoise:{r:72,g:209,b:204},mediumvioletred:{r:199,g:21,b:133},midnightblue:{r:25,g:25,b:112},mintcream:{r:245,g:255,b:250},mistyrose:{r:255,g:228,b:225},moccasin:{r:255,g:228,b:181},navajowhite:{r:255,g:222,b:173},navy:{r:0,g:0,b:128},oldlace:{r:253,g:245,b:230},olive:{r:128,g:128,b:0},olivedrab:{r:107,g:142,b:35},orange:{r:255,g:165,b:0},orangered:{r:255,g:69,b:0},orchid:{r:218,g:112,b:214},palegoldenrod:{r:238,g:232,b:170},palegreen:{r:152,g:251,b:152},paleturquoise:{r:175,g:238,b:238},palevioletred:{r:219,g:112,b:147},papayawhip:{r:255,g:239,b:213},peachpuff:{r:255,g:218,b:185},peru:{r:205,g:133,b:63},pink:{r:255,g:192,b:203},plum:{r:221,g:160,b:221},powderblue:{r:176,g:224,b:230},purple:{r:128,g:0,b:128},rebeccapurple:{r:102,g:51,b:153},red:{r:255,g:0,b:0},rosybrown:{r:188,g:143,b:143},royalblue:{r:65,g:105,b:225},saddlebrown:{r:139,g:69,b:19},salmon:{r:250,g:128,b:114},sandybrown:{r:244,g:164,b:96},seagreen:{r:46,g:139,b:87},seashell:{r:255,g:245,b:238},sienna:{r:160,g:82,b:45},silver:{r:192,g:192,b:192},skyblue:{r:135,g:206,b:235},slateblue:{r:106,g:90,b:205},slategray:{r:112,g:128,b:144},slategrey:{r:112,g:128,b:144},snow:{r:255,g:250,b:250},springgreen:{r:0,g:255,b:127},steelblue:{r:70,g:130,b:180},tan:{r:210,g:180,b:140},teal:{r:0,g:128,b:128},thistle:{r:216,g:191,b:216},tomato:{r:255,g:99,b:71},transparent:{r:255,g:255,b:255,a:0},turquoise:{r:64,g:224,b:208},violet:{r:238,g:130,b:238},wheat:{r:245,g:222,b:179},white:{r:255,g:255,b:255},whitesmoke:{r:245,g:245,b:245},yellow:{r:255,g:255,b:0},yellowgreen:{r:154,g:205,b:50}},fr={resolveExpression:t=>{let e=/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/i.exec(t);if(e)return`rgb(${e[1]},${e[2]},${e[3]})`;if(e=/^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d(\.\d+)?)\s*\)$/i.exec(t),e)return`rgba(${e[1]},${e[2]},${e[3]},${e[4]})`;if(e=/^argb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/i.exec(t),e){const t=Math.round(e[1]/2.55)/100;return`rgba(${e[2]},${e[3]},${e[4]},${t})`}if(e=/^#([A-f0-9]{2})([A-f0-9]{2})([A-f0-9]{2})$/i.exec(t),e)return t;const n=t&&pr[t.toLowerCase()];if(n){const t=void 0!==n.a?n.a:1;return`rgba(${n.r},${n.g},${n.b},${t})`}return"none"},getDarkColor(t){const e=.5;let n,r,o,i;if(t.length>7){n=t.split(",");const a=-1!==n[0].indexOf("a");return r=a?parseInt(n[0].slice(5),10):parseInt(n[0].slice(4),10),i=parseInt(n[1],10),o=parseInt(n[2],10),`${(a?"rgba(":"rgb(")+(Math.round((0-r)*e)+r)},${Math.round((0-i)*e)+i},${Math.round((0-o)*e)+o}${a?`,${n[3]}`:")"}`}return n=parseInt(t.slice(1),16),r=n>>16,i=n>>8&255,o=255&n,`#${(16777216+65536*(Math.round((0-r)*e)+r)+256*(Math.round((0-i)*e)+i)+(Math.round((0-o)*e)+o)).toString(16).slice(1)}`},isDarkColor(t){let e,n,r,o;return(o=/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/i.exec(t))||(o=/^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d(\.\d+)?)\s*\)$/i.exec(t))?(e=parseInt(o[1],10),n=parseInt(o[2],10),r=parseInt(o[3],10)):(o=/^#([A-f0-9]{2})([A-f0-9]{2})([A-f0-9]{2})$/i.exec(t))&&(e=parseInt(o[1],16),n=parseInt(o[2],16),r=parseInt(o[3],16)),.299*e+.587*n+.114*r<125}},gr={colorByExpression:"color",labelExpression:"label",subLabelExpression:"subLabel",extraLabelExpression:"extraLabel"},mr="max-data-limit";function yr(t){return t[0].qText}function br(t){return t[1].qText}async function vr(t,e,n,r,o,i,a){return await n.getHyperCubeData("/qHyperCubeDef",[{qTop:o,qLeft:0,qWidth:3,qHeight:3300}]).then((n=>{t.push(n[0]),e.push(...n[0].qMatrix),o+=n[0].qArea.qHeight})),i>=a?mr:r>o?vr(t,e,n,r,o,i+1,a):""}const xr=async(t,e)=>{if(t.snapshotData)return{status:"",dataMatrix:t.snapshotData.dataMatrix};const n=t.qHyperCube&&t.qHyperCube.qDataPages,r=t.qHyperCube.qSize.qcy,o=n[0].qArea.qHeight,i=[...n[0].qMatrix];let a="";return r>o&&1===n.length&&e?a=await vr(t.qHyperCube.qDataPages,i,e,r,o,0,t.rowLimit/3300||10):n.forEach(((t,e)=>{e>0&&i.push(...t.qMatrix)})),{status:a,dataMatrix:i}};function wr(t,e){const n={};return t.forEach((t=>{"color"===t.prop?n[t.prop]=fr.resolveExpression(e.qValues[t.index].qText):n[t.prop]=e.qValues[t.index].qText})),n}function _r(t){if(!t)return!0;for(let e=0;e<t.length;++e)if(void 0!==t[e].children)return!1;return!0}async function Cr({layout:t,model:e,translator:n}){if(!t.qHyperCube)throw new Error("Require a hypercube");if(t.qHyperCube.qDimensionInfo.length<2)return!1;const{status:r,dataMatrix:o}=await xr(t,e),i=function(t){if(t&&t.length){const e=[];return t.forEach(((t,n)=>{gr[t.id]&&e.push({prop:gr[t.id],index:n})})),e}return[]}(t.qHyperCube.qDimensionInfo[0].qAttrExprInfo);return o?o.length<1?null:function(t,e,n,r,o){const i={},a=[];for(let n=0;n<t.length;++n){const r=t[n],o=yr(r),s={id:o,parentId:br(r),children:[],elemNo:r[0].qElemNumber,attributes:wr(e,r[0].qAttrExps),measure:r[2]&&r[2].qText,rowNo:n};i[o]=s,a.push(s)}const s=[];let l=!1;for(let t=0;t<a.length;++t){const e=a[t],n=i[e.parentId];e.parent=n,n?n.children.length>98?l=!0:n.children.push({childNumber:n.children.length,...e}):s.length>98?l=!0:s.push(e)}if(0===s.length)return{error:"no_root",message:o.get("Object.OrgChart.MissingRoot")};const u=[];if(n===mr&&u.push(o.get("Object.OrgChart.MaxData")),l&&u.push(o.get("Object.OrgChart.MaxChildren")),function(t){const e={},n={};function r(t){e[t.id]=!0,n[t.id]=!0;for(let o=0;o<t.children.length;++o){if(!e[t.children[o].id]&&r(t.children[o]))return!0;if(n[t.children[o].id])return!0}return n[t.id]=!1,!1}for(let n=0;n<t.length;++n){const o=t[n];if(!e[o.id]&&r(o))return!0}return!1}(a)&&u.push(o.get("Object.OrgChart.CycleWarning")),1===s.length)return s[0].warn=u,s[0].navigationMode=r,s[0];u.push(o.get("Object.OrgChart.DummyWarn"));const c={id:"Root",name:o.get("Object.OrgChart.DummyRoot"),isDummy:!0,warn:u,children:s,navigationMode:r};return s.forEach(((t,e)=>{t.parentId="Root",t.parent=c,t.childNumber=e})),c}(o,i,r,t.navigationMode,n):null}const Er={cardWidth:152,cardHeight:64,widthMargin:32,heightMargin:56,buttonMargin:16,leafMargin:16,cardPadding:8,buttonWidth:48,buttonHeight:24,rootDiameter:20,r:4,tooltipWidth:240,tooltipPadding:15,maxZoom:6,minZoom:.2},Or=(t,e,n,r,o,i)=>{const{buttonMargin:a}=Er,s=o&&o.initialX||0;return"expandAll"===i?(t[r]=t.x+s,t[r]):(t.parent?(t.parent[r]||(t.parent[r]=Or(t.parent,e,n,r,o)),"Root"===t.parent.data.id?t[r]=t.parent[r]+(t.data.childNumber-(t.parent.children.length-1)/2)*e:t[r]=_r(t.parent.children)?t.parent[r]+a:t.parent[r]+(t.data.childNumber-(t.parent.children.length-1)/2)*e):t[r]=s,t[r])};function kr(t,e,n,r){const{widthMargin:o,heightMargin:i,cardWidth:a,cardHeight:s,cardPadding:l}=Er;let u,c,h;if("ttb"===t)u=a+o,c="expandAll"===r?s+2*l:s+i,h={depthSpacing:c,isVertical:!0,x:t=>Or(t,u,e,"xActual",n,r),y:t=>((t,e,n,r,o)=>{const{cardHeight:i,leafMargin:a}=Er,s=r&&r.initialY||0;return t.parent&&"Root"!==t.parent.data.id&&"expandAll"!==o&&_r(t.parent.children)?t[n]=t.parent.y+e+t.data.childNumber*(i+a)+s:t[n]=t.y+s,t[n]})(t,c,"yActual",n,r)};return h}const Lr=t=>{const e=document.createElement("div"),n=document.createTextNode(t);return e.appendChild(n),e.innerHTML},Mr=t=>{const e=["#"," ","(",")"];let n="";for(let r=0;r<t.length;r++){const o=t.charAt(r),i=t.charCodeAt(r);if(!o.match(/[a-zA-Z0-9]/)&&e.indexOf(o)<0){const t=i.toString(16);n+=`\\${"000000".substr(t.length)}${t}`}else n+=o}return n};function Ar(t){const e=fr.resolveExpression(t);return"none"!==e?e:Mr(t)}var Tr=(t,n,r)=>{const{api:o,state:i}=r,a=o&&o.isActive()&&-1!==i.indexOf(t.elemNo),s=function(t,e){if(t.attributes&&t.attributes.color){const e=fr.resolveExpression(t.attributes.color);if("none"!==e)return e}return Ar(e.backgroundColor)}(t,n),l=Ar(function(t,n){return"default"===t.fontColor?fr.isDarkColor(n)?e.FONT_COLOR_LIGHT.color:e.FONT_COLOR_DARK.color:t.fontColor}(n,s)),u=t.attributes||{};let c=`<div class="sn-org-card-title">${Lr(u.label||t.id)}</div>`;if(u.subLabel&&(c+=`<div class="sn-org-card-label">${Lr(u.subLabel)}</div>`),t.measure){const e=n.measureLabel?`${n.measureLabel}: `:"";c+=`<div class="sn-org-card-label">${Lr(e+t.measure)}</div>`}else u.extraLabel&&(c+=`<div class="sn-org-card-label">${Lr(u.extraLabel)}</div>`);const h=o&&o.isActive()?a?" selected":" not-selected":"",{top:d=e.BORDER_TOP,fullBorder:p=e.BORDER_FULL,colorType:f=e.BORDER_COLOR_TYPE}=n.border,g="auto"===f?fr.getDarkColor(s):Ar(n.borderColor);let m=Er.cardHeight;return a?m-=8:p?m-=4:d&&(m-=3),`<div class="sn-org-card-text${h}" style="background-color:${s};color:${l}; border:${p&&!a?`1px solid ${g}`:""}; border-top:${d&&!a?`3px solid ${g}`:""}; height:${m}px;">${c}</div>`},Sr=(t,e)=>{const{api:n,state:r,singleSelect:o,setState:i}=e;if(t&&n){let e;if(t.data.elemNo<0&&-3!==t.data.elemNo)return;if(t.data.isLocked)return;n.isActive()&&r?e=r.concat():(n.begin("/qHyperCubeDef"),e=[]);const a=e.indexOf(t.data.elemNo),s=-1===a;let l=[];o||(l=function(t,e){const n=[],r=t=>{t.children.forEach((t=>{t.data.selected=e,n.push(t.data.elemNo),t.children&&t.children.length>0&&r(t)}))};return t.children&&r(t),n}(t,s)),s?(e.push(t.data.elemNo),l.forEach((t=>{-1===e.indexOf(t)&&e.push(t)}))):(e.splice(a,1),l.forEach((t=>{const n=e.indexOf(t);-1!==n&&e.splice(n,1)}))),0===e.length?n.clear():n.select({method:"selectHyperCubeValues",params:["/qHyperCubeDef",0,e,!1]}),i(e)}};function zr(t,e,n,r,o,i,a,s=250){t.active=!0,t.timeout=setTimeout((()=>{t.active&&t.html(function(t,e){return`<div class="sn-org-tooltip-inner"><div class="sn-org-tooltip-header">${Lr(t.data.attributes.label||t.data.id)}</div>${t.data.attributes.subLabel?`${Lr(t.data.attributes.subLabel)}<br />`:""}${t.data.attributes.extraLabel?`${Lr(t.data.attributes.extraLabel)}<br />`:""}${Lr(t.data.measure?`${e.measureLabel?`${e.measureLabel}: `:""}${t.data.measure}`:"")}</div>`}(e,r)).classed("sn-org-tooltip-visible",!0).attr("style",(()=>function(t,e,n,r,o){const{cardWidth:i,tooltipPadding:a}=Er,s=i/2;return`bottom:${e-(r(t)*o.zoom+o.y-a)}px;left:${n(t)*o.zoom+o.x+s*o.zoom}px;`}(e,n,o,i,a)))}),s)}function Dr(t){clearTimeout(t.timeout),t.active=!1,t.classed("sn-org-tooltip-visible",!1)}function Rr({positioning:t,divBox:e,nodes:n,styling:r,setExpandedCallback:o,wrapperState:i,selectionObj:a,navigationMode:s,element:l,tooltip:u}){const{x:c,y:h}=t,{cardWidth:d,cardHeight:p,buttonWidth:f,buttonHeight:g,cardPadding:m,rootDiameter:y}=Er,{topId:b}=i.expandedState,v=n.find((t=>t.data.id===b)),x=v&&v.parent?v.parent.ancestors().map((t=>t.data.id)):[],w=document.getElementsByTagName("html")[0].classList.contains("touch-on");e.selectAll(".sn-org-nodes").data(n.filter((t=>t.parent&&"Root"===t.parent.data.id))).enter().append("div").attr("class","sn-org-root").attr("style",(t=>`top:${h(t)-y-m}px;left:${c(t)+(d-y)/2}px`)).attr("id",(t=>t.data.id)),e.selectAll(".sn-org-nodes").data(n.filter((t=>"Root"!==t.data.id))).enter().append("div").attr("class","sn-org-card").attr("style",(t=>`width:${d}px;height:${p}px; top:${h(t)}px;left:${c(t)}px;`)).attr("id",(t=>t.data.id)).on("click",(t=>{i.constraints.active||"Root"===t.data.id||(w&&zr(u,t,l.clientHeight,r,c,h,i.transform,0),Sr(t,a))})).html((t=>Tr(t.data,r,a))).on("mouseenter",(t=>{w||i.constraints.active||0!==event.buttons||zr(u,t,l.clientHeight,r,c,h,i.transform)})).on("mouseleave",(()=>{!w&&Dr(u)})).on("mousedown",(()=>{Dr(u)})).on("touchmove",(()=>{Dr(u)})).on("wheel",(()=>{Dr(u)})),"expandAll"!==s&&e.selectAll(".sn-org-nodes").data(n.filter((t=>!!t.children&&"Root"!==t.data.id))).enter().append("div").attr("class","sn-org-traverse").attr("style",(t=>`width:${f}px;height:${g}px;top:${h(t)+p+m}px;left:${c(t)+(d-f)/2}px;`)).attr("id",(t=>`${t.data.id}-expand`)).on("mouseenter",(()=>{i.constraints.active||(event.target.style.cursor="pointer")})).on("click",(t=>{i.constraints.active||(o(((t,{topId:e,isExpanded:n,expandedChildren:r},o)=>{if(t.data.id===e)n=!n,r=[];else if(o.includes(t.data.id))e=t.parent?t.parent.data.id:t.data.id,n=!!t.parent,r=[];else if(t.parent.data.id===e){const e=t.parent.children.filter((t=>r.includes(t.data.id))).every((t=>_r(t.children)));r.includes(t.data.id)?r.splice(r.indexOf(t.data.id),1):_r(t.children)&&e?r.push(t.data.id):r=[t.data.id]}else e=t.parent.data.id,n=!0,r=[t.data.id];return{topId:e,isExpanded:n,expandedChildren:r}})(t,i.expandedState,x)),event.stopPropagation())})).html((t=>`${((t,{topId:e,isExpanded:n,expandedChildren:r},o)=>t.data.id===e&&n||t.parent&&t.parent.data.id===e&&r.includes(t.data.id)||o.includes(t.data.id)?"-":"+")(t,i.expandedState,x)} ${t.data.children.length}`))}function Nr(t,e,n,r){t.append("path").attr("class","sn-org-path").attr("id",(t=>t.data.id)).attr("d",(t=>{let n="";const o=function(t,e,{depthSpacing:n,isVertical:r,x:o,y:i},a){const{cardWidth:s,cardHeight:l,buttonHeight:u,cardPadding:c,buttonMargin:h}=Er,d=[],p=s/2,f=l/2,g={x:t.xActual,y:t.yActual};if(t.parent&&"Root"!==t.parent.data.id){const e=n/2,s="expandAll"===a?l:l+c+u,m={x:o(t.parent)+p,y:i(t.parent)+s};"expandAll"!==a&&_r(t.parent.children)?d.push(r?[{x:g.x,y:g.y+f},{x:m.x-p,y:g.y+f},{x:m.x-p,y:m.y+h},{x:m.x,y:m.y+h},{x:m.x,y:m.y}]:[{x:g.x,y:g.y},{x:g.x,y:m.y-f},{x:m.x+e,y:m.y-f},{x:m.x+e,y:m.y},{x:m.x,y:m.y}]):g.x===o(t.parent)||g.y===i(t.parent)?d.push([{x:g.x+p,y:g.y},{x:m.x,y:m.y}]):d.push(r?[{x:g.x+p,y:g.y},{x:g.x+p,y:g.y-c},{x:m.x,y:g.y-c},{x:m.x,y:m.y}]:[{x:g.x,y:g.y},{x:g.x-c,y:g.y},{x:g.x-c,y:m.y},{x:m.x,y:m.y}])}else t.parent&&d.push([{x:g.x+p,y:g.y},{x:g.x+p,y:g.y-c}]);return t.children&&"Root"!==t.data.id&&d.push([{x:g.x+p,y:g.y+l},{x:g.x+p,y:g.y+l+c}]),d}(t,0,e,r);return o.forEach((t=>{n+=function(t){const{r:e}=Er;let n,r=`M ${t[0].x} ${t[0].y} `;const o=e=>{const r=t[e].x-t[e-1].x,o=t[e].y-t[e-1].y;n={x:(r>0)-(r<0)||+r,y:(o>0)-(o<0)||+o}};o(1);for(let i=1;i<t.length;++i){const a=t[i];i<t.length-1?(r+=`L ${a.x-n.x*e} ${a.y-n.y*e} `,o(i+1),r+=`Q ${a.x} ${a.y} ${a.x+n.x*e} ${a.y+n.y*e} `):r+=`L ${a.x} ${a.y} `}return r}(t).slice(0,-1)})),n}))}const qr=(t,e,n,r,o)=>{const i=t.k,a=`${t.x}px, ${t.y}px`;e.attr("transform",t),n.classed("org-disable-transition",!0),e.classed("org-disable-transition",!0),n.attr("style",`width:${r}px;height:${o}px; transform: translate(${a}) scale(${i})`)};const $r=({topId:t,isExpanded:e,expandedChildren:n},r,o,i)=>{if("expandAll"===i)return r.descendants();const a=r.descendants().find((e=>e.data.id===t))||r,s=[];if(e&&a.children&&a.children.forEach((t=>{s.push(t),t.children&&(-1!==n.indexOf(t.data.id)||o)&&t.children.forEach((e=>{s.push(e),-1!==n.indexOf(t.data.id)&&o&&e.children&&e.children.forEach((t=>{s.push(t)}))}))})),"free"===r.data.navigationMode&&a.parent){const t=a.parent.ancestors(),e=t.map((t=>t.data.id));t.forEach((t=>{o&&t.children.forEach((t=>{t.children&&-1===e.indexOf(t.data.id)&&t.data.id!==a.data.id&&s.unshift(...t.children)})),s.unshift(...t.children),t.parent||s.unshift(t)}))}else s.unshift(a);return s},Br=({element:t,dataTree:e,selectionObj:n,wrapperState:r,setInitialZoom:o,setTransform:i,setExpandedState:a,viewState:s,setContainerData:l,layout:u})=>{t.innerHTML="",t.className="sn-org-chart";const{navigationMode:c}=u;let h=kr("ttb",t,{},c);const{width:d,height:p}=t.getBoundingClientRect(),f=kt(t).append("span").attr("class","sn-org-zoomwrapper").on("click",(()=>{r.constraints.active||n.api.isActive()&&n.state||(n.api.begin("/qHyperCubeDef"),n.setState([]))})).node(),g=kt(f).selectAll("svg").data([{}]).enter().append("svg").attr("class","sn-org-svg").attr("width","100%").attr("height","100%"),m=kt(f).selectAll("div").data([{}]).enter().append("div").attr("class","sn-org-nodes"),y=kt(t).append("button").attr("class","sn-org-homebutton disabled").on("click",(()=>{Br({element:t,dataTree:e,selectionObj:n,wrapperState:r,setInitialZoom:o,setTransform:i,setExpandedState:a,viewState:s,setContainerData:l,layout:u})})).html('<span class="lui-fade-button__icon sn-org-home-icon">\n <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20" viewBox="0 0 16 16">\n <defs>\n <path id="home-a" d="M2,7.9 L8,3.4 L14,7.9 L14,16 L12,16 L12,11.2 C12,11.0895431 11.9104569,11 11.8,11 L9.2,11 C9.08954305,11 9,11.0895431 9,11.2 L9,16 L2,16 L2,7.9 Z M7,13.8 L7,11.2 C7,11.0895431 6.91045695,11 6.8,11 L4.2,11 C4.08954305,11 4,11.0895431 4,11.2 L4,13.8 C4,13.9104569 4.08954305,14 4.2,14 L6.8,14 C6.91045695,14 7,13.9104569 7,13.8 Z M13,4.1 L16,6.5 L15,7.5 L8,2 L1,7.5 L0,6.5 L8,0 L11,2.4 L11,1 L13,1 L13,4.1 Z"/>\n </defs>\n <use xlink:href="#home-a"/>\n </svg>\n </span>').node(),b=function(t){const e=kt(t).append("div").attr("class","sn-org-tooltip").on("mousedown",(()=>{e.classed("sn-org-tooltip-visible",!1)}));return e}(t);if(e.error)return kt(f).append("div").attr("class","sn-org-error").html(e.message),!1;e.warn&&e.warn.length&&kt(f).append("span").attr("class","sn-org-warning").html(`*${e.warn.join(" ")}`);const v=g.append("g").attr("class","sn-org-paths"),x=Jn().size([d,p]).nodeSize([Er.cardWidth+Er.cardPadding,h.depthSpacing])(In(e)),w=!r.expandedState||!x.descendants().find((t=>t.data.id===r.expandedState.topId)),_=w?{topId:x.data.id,isExpanded:!0,expandedChildren:[],useTransitions:!1}:r.expandedState,C=$r(_,x,!1,c);C.forEach((t=>{t.xActual&&t.yActual||(h.x(t),h.y(t))}));const E=(t=>{const{cardWidth:e,cardHeight:n,buttonHeight:r,buttonMargin:o}=Er,i={left:1/0,top:1/0,right:-1/0,bottom:-1/0};return t.forEach((t=>{i.left=Math.min(t.xActual,i.left),i.top=Math.min(t.yActual,i.top),i.right=Math.max(t.xActual,i.right),i.bottom=Math.max(t.yActual,i.bottom)})),{x:i.left,y:i.top-r-o,width:i.right-i.left+e,height:i.bottom-i.top+n+2*(r+o)}})(C),O=s&&s.initialZoom?s.initialZoom:((t,e,n)=>{const{widthMargin:r,cardHeight:o,minZoom:i}=Er,a="expandAll"===n?1/0:Er.maxZoom,{width:s,height:l}=t,{clientHeight:u,clientWidth:c}=e,h=s+2*r,d=l+o,p=Math.max(Math.min(h/c,a),i),f=Math.max(Math.min(d/u,a),i);return p>f?{initialX:-t.x+r,initialY:-t.y+(u*p-l)/2,initialZoom:p}:{initialX:-t.x+(c*f-s)/2,initialY:o/2,initialZoom:f}})(E,t,c);return o(O),h=kr("ttb",t,O,c),function({containerData:t,setTransform:e,transformState:n,wrapperState:r,initialZoomState:o,navigationMode:i}){const{svg:a,divBox:s,width:l,height:u,zoomWrapper:c,element:h,tooltip:d,homeButton:p}=t,{x:f=0,y:g=0}=n,{minZoom:m,maxZoom:y}=Er,b=n&&1/n.zoom||o.initialZoom,v="expandAll"===i?b:Math.max(Math.min(y,b),m),x=()=>{const t=document.createEvent("MouseEvents");t.initEvent("mousedown",!0,!1),h.dispatchEvent(t)};kt(c).call(dr().extent([[0,0],[l,u]]).filter((()=>!(r.constraints.active||"dblclick"===ft.type||"mousedown"===ft.type&&3===ft.which))).scaleExtent(["expandAll"===i?.8:m*v,y*v]).on("start",x).on("zoom",(()=>{kt(p).attr("class","sn-org-homebutton lui-fade-button lui-fade-button--large"),e({zoom:ft.transform.k/v,x:ft.transform.x,y:ft.transform.y}),x(),Dr(d),qr(rr.translate(ft.transform.x,ft.transform.y).scale(ft.transform.k/v),a,s,l,u)}))),e({zoom:1/v,x:f,y:g}),qr(rr.translate(f,g).scale(1/v),a,s,l,u)}({containerData:{svg:v,divBox:m,width:d,height:p,zoomWrapper:f,element:t,tooltip:b,homeButton:y},setTransform:i,transformState:s&&s.transform||{},wrapperState:r,initialZoomState:O,navigationMode:c}),w&&a(_),l({svg:v,divBox:m,allNodes:x,positioning:h,width:d,height:p,element:t,zoomWrapper:f,tooltip:b,homeButton:y})},Pr=(t,e,n,r)=>{const o={expandedState:t,transform:e,size:{w:r.clientWidth,h:r.clientHeight},initialZoom:n};return o.expandedState.useTransitions=!1,o};function jr(e,n,r,o,i){const a=t.useElement();t.onTakeSnapshot((t=>{t.snapshotData||(t.snapshotData={}),r.snapshotData&&r.snapshotData.viewState||(t.snapshotData.viewState=Pr(e,o,i,a)),t.snapshotData.dataMatrix=((t,e,n)=>{if(n.snapshotData&&n.snapshotData.dataMatrix)return n.snapshotData.dataMatrix;const{navigationMode:r}=n,o=$r(t,e,!0,r),i=[],{qDataPages:a}=n.qHyperCube,s=[];return a.forEach((t=>{s.push(...t.qMatrix)})),o.forEach((t=>{void 0!==t.data.rowNo&&i.push(s[t.data.rowNo])})),i})(e,n.allNodes,r)})),t.useImperativeHandle((()=>({getViewState:()=>Pr(e,o,i,a)})))}var Hr={"Object.OrgChart":"Org chart","Object.OrgChart.Description":"Displays the relations of an organization or similarly structured data. Starts at the top and allows for navigation through the hierarchy.","Object.OrgChart.MaxData":"The maximum data limit is reached. The tree may display incorrectly.","Object.OrgChart.DummyWarn":"The data contains multiple root nodes.","Object.OrgChart.CycleWarning":"Data contains circular references, nodes are omitted.","Object.OrgChart.MissingRoot":"No root node, check your data for circular references.","Object.OrgChart.MaxChildren":"Maximum number of child nodes reached, nodes are omitted.","Object.OrgChart.LabelExpression":"Card title","Object.OrgChart.SubLabelExpression":"Card sub-title","Object.OrgChart.ExtraLabelExpression":"Card description","Object.OrgChart.ColorLabelExpression":"Card background color","Object.OrgChart.BackgroundColor":"Background color","Object.OrgChart.FontColor":"Font color","Object.OrgChart.IncludeDescendants":"Include descendants","Object.OrgChart.ExtraLabelDesc":"Description is only visible when a measure is not used"};function Ir(t){if(t&&t.get&&t.add){const e="Object.OrgChart.MaxData";if(t.get(e)!==e)return;Object.keys(Hr).forEach((e=>{t.add({id:e,locale:{"en-US":Hr[e]}})}))}}function Vr(t,e,n){let r;switch(t.colorType){case"byExpression":r=fr.resolveExpression(t.colorExpression);break;case"colorPicker":r=e.getColorPickerColor(t.color);break;default:r=n}return"none"===r?n:r}const Zr=({Theme:t,layout:n})=>{const r=Vr(n.style.backgroundColor,t,e.BACKGROUND_COLOR.color),o=Vr(n.style.fontColor,t,"default"),i=n.qHyperCube.qMeasureInfo.length?n.qHyperCube.qMeasureInfo[0].qFallbackTitle:null,{border:a={colorType:e.BORDER_COLOR_TYPE}}=n.style;return{backgroundColor:r,fontColor:o,measureLabel:i,border:a,borderColor:"auto"!==a.colorType?Vr(a,t,fr.getDarkColor(r)):fr.getDarkColor(r)}},Yr=(t,e)=>{let{viewState:n}=t;return!n&&e.snapshotData&&e.snapshotData.viewState&&(n=e.snapshotData.viewState),n};function Xr(t,e){void 0===e&&(e={});var n=e.insertAt;if(t&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===n&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=t:o.appendChild(document.createTextNode(t))}}Xr(".sn-org-chart {\n /* Tooltip arrow */\n}\n.sn-org-chart .sn-org-tooltip {\n visibility: hidden;\n opacity: 0;\n /* Unsupported in IE, so there we set width explicitly */\n width: 230px;\n width: -moz-max-content;\n width: fit-content;\n /* Position the tooltip text */\n position: absolute;\n z-index: 1;\n}\n.sn-org-chart .sn-org-tooltip::after {\n content: '';\n position: absolute;\n top: 100%;\n left: 0%;\n margin-left: -10px;\n border-width: 10px;\n border-style: solid;\n border-color: #404040 transparent transparent transparent;\n}\n.sn-org-chart .sn-org-tooltip-visible {\n opacity: 0.9;\n visibility: visible;\n}\n.sn-org-chart .sn-org-tooltip-inner {\n max-width: 240px;\n right: 50%;\n font-family: 'QlikView Sans', sans-serif;\n position: relative;\n max-height: 150px;\n background-color: #404040;\n color: #e6e6e6;\n text-align: left;\n font-size: 13px;\n line-height: 15px;\n padding: 10px 10px 10px 10px;\n border-radius: 6px;\n overflow-wrap: break-word;\n word-wrap: break-word;\n word-break: break-word;\n overflow: hidden;\n}\n.sn-org-chart .sn-org-tooltip-inner .sn-org-tooltip-header {\n font-weight: bold;\n padding-bottom: 5px;\n}\n");Xr(".sn-org-chart .sn-org-svg {\n position: absolute;\n /* For css only transitions, does not work in IE11 */\n}\n.sn-org-chart .sn-org-svg .sn-org-path {\n fill: none;\n stroke: #4c4c4c;\n stroke-width: 1;\n}\n.sn-org-chart .sn-org-svg .sn-org-paths:not(.org-disable-transition) {\n transform-origin: 0% 0%;\n transition-property: all;\n transition-duration: 0.5s;\n}\n");Xr(".sn-org-chart .sn-org-warning {\n position: absolute;\n bottom: 0px;\n left: 0px;\n font-style: italic;\n font-size: 13px;\n color: #7b7a78;\n}\n.sn-org-chart .sn-org-error {\n margin: 0;\n position: absolute;\n top: 50%;\n left: 50%;\n font-size: 1.2em;\n transform: translate(-50%, -50%);\n}\n");Xr(".sn-org-chart {\n overflow: hidden;\n}\n.sn-org-chart .sn-org-nodes {\n position: absolute;\n transform-origin: 0% 0%;\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n backface-visibility: hidden;\n}\n.sn-org-chart .sn-org-nodes:not(.org-disable-transition) {\n transition-property: all;\n transition-duration: 0.5s;\n}\n.sn-org-chart .sn-org-nodes .sn-org-traverse {\n position: absolute;\n background-color: white;\n font-size: 20px;\n font-weight: bold;\n border-radius: 3px;\n border: 1px solid #8c8c8c;\n text-align: center;\n line-height: 24px;\n}\n.sn-org-chart .sn-org-nodes .sn-org-root {\n position: absolute;\n background-color: #8c8c8c;\n width: 20px;\n height: 20px;\n border-radius: 20px;\n}\n.sn-org-chart .sn-org-nodes .sn-org-card {\n position: absolute;\n}\n.sn-org-chart .sn-org-nodes .sn-org-card .sn-org-card-text {\n padding-left: 5px;\n padding-right: 5px;\n border-radius: 3px;\n}\n.sn-org-chart .sn-org-nodes .sn-org-card .sn-org-card-text.selected {\n border: 4px solid black;\n border-radius: 4px;\n}\n.sn-org-chart .sn-org-nodes .sn-org-card .sn-org-card-text.not-selected {\n opacity: 0.5;\n}\n.sn-org-chart .sn-org-nodes .sn-org-card .sn-org-card-title {\n font-size: 14px;\n font-weight: bold;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.sn-org-chart .sn-org-nodes .sn-org-card .sn-org-card-label {\n font-size: 11px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n");return Xr(".sn-org-chart .sn-org-homebutton {\n position: absolute;\n top: 20px;\n right: 20px;\n height: 20px;\n width: 20px;\n border-color: transparent;\n background-color: transparent;\n fill: rgba(89, 89, 89, 0.8);\n transition: fill 200ms ease-out;\n}\n.sn-org-chart .sn-org-homebutton:hover {\n fill: #595959;\n}\n.sn-org-chart .sn-org-homebutton.disabled {\n display: none;\n}\n"),function(e){return{qae:{properties:n,data:r},component:()=>{const e=t.useStaleLayout(),n=t.useModel(),r=t.useElement(),o=t.useTheme(),i=t.useOptions(),a=t.useRect(),s=t.useConstraints(),l=t.useTranslator(),[u,c]=t.useState(null),[h,d]=t.useState(null),[p,f]=t.useState(null),[g,m]=t.useState(null),[y,b]=t.useState(null),[v]=t.useState({transform:{},constraints:s,expandedState:p}),x=function(e){const[n,r]=t.useState(!1),o=t.useSelections(),i=!!t.useLayout().qSelectionInfo.qInSelections,[a]=t.useState({api:o,setState:t=>{a.state=t},state:[],singleSelect:!1});t.useEffect((()=>{Ir(e)}),[e]);const s=()=>{a.state=[]},l=()=>{a.state=[],r(!1)};return t.useEffect((()=>a.api?(a.api=o,a.api.on("deactivated",s),a.api.on("canceled",l),a.api.on("confirmed",l),a.api.on("cleared",s),()=>{a.api.removeListener("deactivated",s),a.api.removeListener("canceled",l),a.api.removeListener("confirmed",l),a.api.removeListener("cleared",s)}):()=>{}),[o]),t.useEffect((()=>{a.singleSelect=n}),[n]),t.useAction((()=>({action(){r(!n)},icon:{shapes:[{type:"path",attrs:{d:"M9.5,15 C9.77614237,15 10,15.2238576 10,15.5 C10,15.7761424 9.77614237,16 9.5,16 L6.5,16 C6.22385763,16 6,15.7761424 6,15.5 C6,15.2238576 6.22385763,15 6.5,15 L9.5,15 Z M15.5,13 C15.7761424,13 16,13.2238576 16,13.5 L16,15 C16,15.5522847 15.5522847,16 15,16 L13.5,16 C13.2238576,16 13,15.7761424 13,15.5 C13,15.2238576 13.2238576,15 13.5,15 L14.4,15 C14.7313708,15 15,14.7313708 15,14.4 L15,13.5 C15,13.2238576 15.2238576,13 15.5,13 Z M0.5,13 C0.776142375,13 1,13.2238576 1,13.5 L1,14.4 C1,14.7313708 1.26862915,15 1.6,15 L2.5,15 C2.77614237,15 3,15.2238576 3,15.5 C3,15.7761424 2.77614237,16 2.5,16 L1,16 C0.44771525,16 0,15.5522847 0,15 L0,13.5 C0,13.2238576 0.223857625,13 0.5,13 Z M6.8,9 C6.91045695,9 7,9.08954305 7,9.2 L7,12.8 C7,12.9104569 6.91045695,13 6.8,13 L3.2,13 C3.08954305,13 3,12.9104569 3,12.8 L3,9.2 C3,9.08954305 3.08954305,9 3.2,9 L6.8,9 Z M12.8,9 C12.9104569,9 13,9.08954305 13,9.2 L13,12.8 C13,12.9104569 12.9104569,13 12.8,13 L9.2,13 C9.08954305,13 9,12.9104569 9,12.8 L9,9.2 C9,9.08954305 9.08954305,9 9.2,9 L12.8,9 Z M6,10 L4,10 L4,12 L6,12 L6,10 Z M12,10 L10,10 L10,12 L12,12 L12,10 Z M15.5,6 C15.7761424,6 16,6.22385763 16,6.5 L16,9.5 C16,9.77614237 15.7761424,10 15.5,10 C15.2238576,10 15,9.77614237 15,9.5 L15,6.5 C15,6.22385763 15.2238576,6 15.5,6 Z M0.5,6 C0.776142375,6 1,6.22385763 1,6.5 L1,9.5 C1,9.77614237 0.776142375,10 0.5,10 C0.223857625,10 0,9.77614237 0,9.5 L0,6.5 C0,6.22385763 0.223857625,6 0.5,6 Z M6.8,3 C6.91045695,3 7,3.08954305 7,3.2 L7,6.8 C7,6.91045695 6.91045695,7 6.8,7 L3.2,7 C3.08954305,7 3,6.91045695 3,6.8 L3,3.2 C3,3.08954305 3.08954305,3 3.2,3 L6.8,3 Z M12.8,3 C12.9104569,3 13,3.08954305 13,3.2 L13,6.8 C13,6.91045695 12.9104569,7 12.8,7 L9.2,7 C9.08954305,7 9,6.91045695 9,6.8 L9,3.2 C9,3.08954305 9.08954305,3 9.2,3 L12.8,3 Z M12,4 L10,4 L10,6 L12,6 L12,4 Z M2.5,5.70654635e-14 C2.77614237,5.70654635e-14 3,0.223857625 3,0.5 C3,0.776142375 2.77614237,1 2.5,1 L1.6,1 C1.26862915,1 1,1.26862915 1,1.6 L1,2.5 C1,2.77614237 0.776142375,3 0.5,3 C0.223857625,3 0,2.77614237 0,2.5 L0,1 C0,0.44771525 0.44771525,5.70654635e-14 1,5.70654635e-14 L2.5,5.70654635e-14 Z M15,0 C15.5522847,0 16,0.44771525 16,1 L16,2.5 C16,2.77614237 15.7761424,3 15.5,3 C15.2238576,3 15,2.77614237 15,2.5 L15,1.6 C15,1.26862915 14.7313708,1 14.4,1 L13.5,1 C13.2238576,1 13,0.776142375 13,0.5 C13,0.223857625 13.2238576,0 13.5,0 L15,0 Z M9.5,5.67323966e-14 C9.77614237,5.67323966e-14 10,0.223857625 10,0.5 C10,0.776142375 9.77614237,1 9.5,1 L6.5,1 C6.22385763,1 6,0.776142375 6,0.5 C6,0.223857625 6.22385763,5.67323966e-14 6.5,5.67323966e-14 L9.5,5.67323966e-14 Z"}}]},active:n,hidden:!i,label:e.get("Object.OrgChart.SingleSelect")})),[n,i]),t.useEffect((()=>{const t=t=>{"Shift"===t.key&&r(!0)},e=t=>{"Shift"===t.key&&r(!1)};return document.addEventListener("keydown",t),document.addEventListener("keyup",e),()=>{document.removeEventListener("keydown",t),document.removeEventListener("keyup",e)}}),[]),a}(l);t.useEffect((()=>{Ir(l)}),[l.language()]),t.useEffect((()=>{v.constraints=s}),[s]),t.useEffect((()=>{v.transform=g}),[g]),t.useEffect((()=>{v.expandedState=p}),[p]);const w=t=>{t.useTransitions=!0,f(t)},[_]=t.usePromise((()=>{if(!e)return Promise.resolve();const t=Yr(i,e);return t&&t.expandedState&&f(t.expandedState),t&&t.transform&&m(t.transform),Cr({layout:e,model:n,translator:l}).then((t=>(d(Zr({Theme:o,layout:e})),x.setState([]),t)))}),[e,n,l.language(),o.name()]),C=()=>{if(r&&_){const t=Yr(i,e);Br({element:r,dataTree:_,viewState:t,wrapperState:v,selectionObj:x,setInitialZoom:b,setTransform:m,setExpandedState:f,setContainerData:c,layout:e})}},E=()=>{u&&p&&h&&(({containerData:t,styling:e,setExpandedCallback:n,wrapperState:r,selectionObj:o,element:i})=>{const{svg:a,divBox:s,allNodes:l,positioning:u,tooltip:c}=t,{navigationMode:h}=l.data;s.selectAll("*").remove(),a.selectAll("*").remove();const d=$r(r.expandedState,l,!1,h);Rr({positioning:u,divBox:s,nodes:d,styling:e,setExpandedCallback:n,wrapperState:r,selectionObj:o,navigationMode:h,element:i,tooltip:c}),Nr(a.selectAll(".sn-org-paths").data(d).enter(),u,r.expandedState.topId,h)})({containerData:u,styling:h,setExpandedCallback:w,wrapperState:v,selectionObj:x,useTransitions:p.useTransitions,element:r})};t.useEffect((()=>{E()}),[u,x.state]),t.useEffect((()=>{C()}),[r,_,s]),t.useEffect((()=>{e.resizeOnExpand?C():E()}),[p]),t.useEffect((()=>{if(u&&e&&e.snapshotData){const t=((t,e,n)=>{if(!e)return rr.translate(n.x,n.y).scale(n.zoom);const{size:r}=e,o=t.width/r.w>t.height/r.h?t.height/r.h:t.width/r.w,i=e.transform.x*o,a=e.transform.y*o,s=e.transform.zoom*o;return rr.translate(i,a).scale(s)})(a,e.snapshotData.viewState,g);qr(t,u.svg,u.divBox,a.width,a.height)}}),[a,u]),jr(p,u,e,g,y)},ext:u}}}));
7
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("@nebula.js/stardust")):"function"==typeof define&&define.amd?define(["@nebula.js/stardust"],e):(t="undefined"!=typeof globalThis?globalThis:t||self)["sn-org-chart"]=e(t.stardust)}(this,(function(t){"use strict";var e={FONT_COLOR_TYPE:"auto",FONT_COLOR_DARK:{index:-1,color:"#484848"},FONT_COLOR_LIGHT:{index:-1,color:"#e6e6e6"},BACKGROUND_COLOR_TYPE:"colorPicker",BACKGROUND_COLOR:{index:-1,color:"#ffffff"},BORDER_COLOR_TYPE:"auto",BORDER_COLOR:{index:-1,color:"#737373"},BORDER_FULL:!0,BORDER_TOP:!0};const n={qHyperCubeDef:{qDimensions:[],qMeasures:[],qInitialDataFetch:[{qWidth:5,qHeight:500}],qSuppressZero:!1,qSuppressMissing:!0},showTitles:!0,title:"",subtitle:"",footnote:"",navigationMode:"free",resizeOnExpand:!1,style:{fontColor:{colorType:e.FONT_COLOR_TYPE,color:e.FONT_COLOR_DARK,colorExpression:""},backgroundColor:{colorType:e.BACKGROUND_COLOR_TYPE,color:e.BACKGROUND_COLOR,colorExpression:""},border:{top:e.BORDER_TOP,fullBorder:e.BORDER_FULL,colorType:e.BORDER_COLOR_TYPE,color:e.BORDER_COLOR,colorExpression:""}}};var r={targets:[{path:"/qHyperCubeDef",dimensions:{min:2,max:2},measures:{min:0,max:1}}]};var o={getValue:function(t,e,n){const r=e.split(".");let o;if(void 0===t)return n;let i=t;for(o=0;o<r.length;++o){if(void 0===i[r[o]])return n;i=i[r[o]]}return i}};const i=[{value:"auto",translation:"Common.Auto"},{value:"colorPicker",translation:"properties.colorMode.primary"},{value:"byExpression",translation:"properties.colorMode.byExpression"}],a=t=>o.getValue(t,"style.border.top")||o.getValue(t,"style.border.fullBorder");var s,l,u={definition:{type:"items",component:"accordion",items:{data:{uses:"data",items:{measures:{disabledRef:""},dimensions:{disabledRef:"",items:{dimensionLimits:{show:!1},attributes:{component:"attribute-expression-reference",defaultValue:[],show:(t,e)=>e.getDimensions()[0]===t,ref:"qAttributeExpressions",items:[{component:"expression",ref:"qExpression",translation:"Object.OrgChart.LabelExpression",defaultValue:"",id:"labelExpression",tid:"labelExpression"},{component:"expression",ref:"qExpression",translation:"Object.OrgChart.SubLabelExpression",defaultValue:"",id:"subLabelExpression",tid:"subLabelExpression"},{component:"expression",ref:"qExpression",translation:"Object.OrgChart.ExtraLabelExpression",defaultValue:"",id:"extraLabelExpression",tid:"extraLabelExpression"},{component:"expression",ref:"qExpression",translation:"Object.OrgChart.ColorLabelExpression",defaultValue:"",id:"colorByExpression",tid:"nodeColorByExpression"}]},desc:{show:(t,e)=>e.getDimensions()[0]===t,component:"text",translation:"Object.OrgChart.ExtraLabelDesc",style:"hint"}}}}},sorting:{uses:"sorting"},addOns:{type:"items",component:"expandable-items",translation:"properties.addons",items:{dataHandling:{uses:"dataHandling",items:{calcCond:{uses:"calcCond"},rowLimit:{type:"integer",translation:"$RowLimit",ref:"rowLimit",defaultValue:3e4,min:5e3,max:1e5,show:!1}}}}},settings:{uses:"settings",items:{styling:{grouped:!0,translation:"properties.presentation",type:"items",items:{navigation:{type:"items",items:{navigationMode:{ref:"navigationMode",type:"string",translation:"Object.OrgChart.NavigationMode",component:"dropdown",defaultValue:"free",options:[{value:"free",translation:"Object.OrgChart.FreeMode"},{value:"expandAll",translation:"Object.OrgChart.ExpandAll"}]},resizeOnExpand:{ref:"resizeOnExpand",type:"boolean",defaultValue:!1,translation:"Object.OrgChart.resizeOnExpand",show:t=>"expandAll"!==o.getValue(t,"navigationMode")}}},backgroundColor:{type:"items",items:{useColorExpression:{ref:"style.backgroundColor.colorType",type:"string",translation:"Object.OrgChart.BackgroundColor",component:"dropdown",defaultValue:e.BACKGROUND_COLOR_TYPE,options:i},colorPicker:{component:"color-picker",type:"object",ref:"style.backgroundColor.color",translation:"properties.color",dualOutput:!0,defaultValue:e.BACKGROUND_COLOR,show:t=>"colorPicker"===o.getValue(t,"style.backgroundColor.colorType")},colorExpression:{component:"string",type:"string",ref:"style.backgroundColor.colorExpression",translation:"Common.Expression",expression:"optional",defaultValue:"",show:t=>"byExpression"===o.getValue(t,"style.backgroundColor.colorType")}}},fontColor:{type:"items",items:{useColorExpression:{ref:"style.fontColor.colorType",type:"string",translation:"Object.OrgChart.FontColor",component:"dropdown",defaultValue:e.FONT_COLOR_TYPE,options:i},colorPicker:{component:"color-picker",type:"object",ref:"style.fontColor.color",translation:"properties.color",dualOutput:!0,defaultValue:e.FONT_COLOR_DARK,show:t=>"colorPicker"===o.getValue(t,"style.fontColor.colorType")},colorExpression:{component:"string",type:"string",ref:"style.fontColor.colorExpression",translation:"Common.Expression",expression:"optional",defaultValue:"",show:t=>"byExpression"===o.getValue(t,"style.fontColor.colorType")}}},border:{type:"items",items:{appearanceHeader:{component:"text",translation:"Object.OrgChart.CardAppearance",style:"pp-nm-hcd__list-header"},topBar:{type:"boolean",ref:"style.border.top",translation:"Object.OrgChart.TopBar",defaultValue:e.BORDER_TOP},fullBorder:{type:"boolean",ref:"style.border.fullBorder",translation:"properties.border",defaultValue:e.BORDER_FULL},colorType:{component:"dropdown",type:"string",ref:"style.border.colorType",translation:"properties.border.color",defaultValue:e.BORDER_COLOR_TYPE,options:i,show:t=>a(t)},colorPicker:{component:"color-picker",type:"object",ref:"style.border.color",translation:"properties.color",dualOutput:!0,defaultValue:e.BORDER_COLOR,show:t=>a(t)&&"colorPicker"===o.getValue(t,"style.border.colorType")},colorExpression:{component:"string",type:"string",ref:"style.border.colorExpression",translation:"Common.Expression",expression:"optional",defaultValue:"",show:t=>a(t)&&"byExpression"===o.getValue(t,"style.border.colorType")}}}}}}}}},support:{export:!0,exportData:!0,snapshot:!0,viewData:!0}};function c(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}1===(s=c).length&&(l=s,s=function(t,e){return c(l(t),e)});var h={value:function(){}};function f(){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 d(r)}function d(t){this._=t}function p(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 g(t,e){for(var n,r=0,o=t.length;r<o;++r)if((n=t[r]).name===e)return n.value}function m(t,e,n){for(var r=0,o=t.length;r<o;++r)if(t[r].name===e){t[r]=h,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=n&&t.push({name:e,value:n}),t}d.prototype=f.prototype={constructor:d,on:function(t,e){var n,r=this._,o=p(t+"",r),i=-1,a=o.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++i<a;)if(n=(t=o[i]).type)r[n]=m(r[n],t.name,e);else if(null==e)for(n in r)r[n]=m(r[n],t.name,null);return this}for(;++i<a;)if((n=(t=o[i]).type)&&(n=g(r[n],t.name)))return n},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new d(t)},call:function(t,e){if((n=arguments.length-2)>0)for(var n,r,o=new Array(n),i=0;i<n;++i)o[i]=arguments[i+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(i=0,n=(r=this._[t]).length;i<n;++i)r[i].value.apply(e,o)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],o=0,i=r.length;o<i;++o)r[o].value.apply(e,n)}};var y="http://www.w3.org/1999/xhtml",v={svg:"http://www.w3.org/2000/svg",xhtml:y,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function b(t){var e=t+="",n=e.indexOf(":");return n>=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),v.hasOwnProperty(e)?{space:v[e],local:t}:t}function x(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===y&&e.documentElement.namespaceURI===y?e.createElement(t):e.createElementNS(n,t)}}function w(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function _(t){var e=b(t);return(e.local?w:x)(e)}function C(){}function L(t){return null==t?C:function(){return this.querySelector(t)}}function k(){return[]}function E(t){return null==t?k:function(){return this.querySelectorAll(t)}}function O(t){return function(){return this.matches(t)}}function M(t){return new Array(t.length)}function R(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}R.prototype={constructor:R,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function A(t,e,n,r,o,i){for(var a,s=0,l=e.length,u=i.length;s<u;++s)(a=e[s])?(a.__data__=i[s],r[s]=a):n[s]=new R(t,i[s]);for(;s<l;++s)(a=e[s])&&(o[s]=a)}function T(t,e,n,r,o,i,a){var s,l,u,c={},h=e.length,f=i.length,d=new Array(h);for(s=0;s<h;++s)(l=e[s])&&(d[s]=u="$"+a.call(l,l.__data__,s,e),u in c?o[s]=l:c[u]=l);for(s=0;s<f;++s)(l=c[u="$"+a.call(t,i[s],s,i)])?(r[s]=l,l.__data__=i[s],c[u]=null):n[s]=new R(t,i[s]);for(s=0;s<h;++s)(l=e[s])&&c[d[s]]===l&&(o[s]=l)}function S(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function N(t){return function(){this.removeAttribute(t)}}function z(t){return function(){this.removeAttributeNS(t.space,t.local)}}function D(t,e){return function(){this.setAttribute(t,e)}}function q(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function $(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}}function P(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}function B(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function j(t){return function(){this.style.removeProperty(t)}}function H(t,e,n){return function(){this.style.setProperty(t,e,n)}}function I(t,e,n){return function(){var r=e.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}function V(t,e){return t.style.getPropertyValue(e)||B(t).getComputedStyle(t,null).getPropertyValue(e)}function U(t){return function(){delete this[t]}}function Z(t,e){return function(){this[t]=e}}function Y(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}function X(t){return t.trim().split(/^|\s+/)}function F(t){return t.classList||new W(t)}function W(t){this._node=t,this._names=X(t.getAttribute("class")||"")}function G(t,e){for(var n=F(t),r=-1,o=e.length;++r<o;)n.add(e[r])}function K(t,e){for(var n=F(t),r=-1,o=e.length;++r<o;)n.remove(e[r])}function Q(t){return function(){G(this,t)}}function J(t){return function(){K(this,t)}}function tt(t,e){return function(){(e.apply(this,arguments)?G:K)(this,t)}}function et(){this.textContent=""}function nt(t){return function(){this.textContent=t}}function rt(t){return function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}}function ot(){this.innerHTML=""}function it(t){return function(){this.innerHTML=t}}function at(t){return function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}}function st(){this.nextSibling&&this.parentNode.appendChild(this)}function lt(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function ut(){return null}function ct(){var t=this.parentNode;t&&t.removeChild(this)}function ht(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function ft(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}W.prototype={add:function(t){this._names.indexOf(t)<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var dt={},pt=null;"undefined"!=typeof document&&("onmouseenter"in document.documentElement||(dt={mouseenter:"mouseover",mouseleave:"mouseout"}));function gt(t,e,n){return t=mt(t,e,n),function(e){var n=e.relatedTarget;n&&(n===this||8&n.compareDocumentPosition(this))||t.call(this,e)}}function mt(t,e,n){return function(r){var o=pt;pt=r;try{t.call(this,this.__data__,e,n)}finally{pt=o}}}function yt(t){return t.trim().split(/^|\s+/).map((function(t){var e="",n=t.indexOf(".");return n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}}))}function vt(t){return function(){var e=this.__on;if(e){for(var n,r=0,o=-1,i=e.length;r<i;++r)n=e[r],t.type&&n.type!==t.type||n.name!==t.name?e[++o]=n:this.removeEventListener(n.type,n.listener,n.capture);++o?e.length=o:delete this.__on}}}function bt(t,e,n){var r=dt.hasOwnProperty(t.type)?gt:mt;return function(o,i,a){var s,l=this.__on,u=r(e,i,a);if(l)for(var c=0,h=l.length;c<h;++c)if((s=l[c]).type===t.type&&s.name===t.name)return this.removeEventListener(s.type,s.listener,s.capture),this.addEventListener(s.type,s.listener=u,s.capture=n),void(s.value=e);this.addEventListener(t.type,u,n),s={type:t.type,name:t.name,value:e,listener:u,capture:n},l?l.push(s):this.__on=[s]}}function xt(t,e,n){var r=B(t),o=r.CustomEvent;"function"==typeof o?o=new o(e,n):(o=r.document.createEvent("Event"),n?(o.initEvent(e,n.bubbles,n.cancelable),o.detail=n.detail):o.initEvent(e,!1,!1)),t.dispatchEvent(o)}function wt(t,e){return function(){return xt(this,t,e)}}function _t(t,e){return function(){return xt(this,t,e.apply(this,arguments))}}var Ct=[null];function Lt(t,e){this._groups=t,this._parents=e}function kt(){return new Lt([[document.documentElement]],Ct)}function Et(t){return"string"==typeof t?new Lt([[document.querySelector(t)]],[document.documentElement]):new Lt([[t]],Ct)}function Ot(){for(var t,e=pt;t=e.sourceEvent;)e=t;return e}function Mt(t,e){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,[(r=r.matrixTransform(t.getScreenCTM().inverse())).x,r.y]}var o=t.getBoundingClientRect();return[e.clientX-o.left-t.clientLeft,e.clientY-o.top-t.clientTop]}function Rt(t){var e=Ot();return e.changedTouches&&(e=e.changedTouches[0]),Mt(t,e)}function At(t,e,n){arguments.length<3&&(n=e,e=Ot().changedTouches);for(var r,o=0,i=e?e.length:0;o<i;++o)if((r=e[o]).identifier===n)return Mt(t,r);return null}function Tt(){pt.preventDefault(),pt.stopImmediatePropagation()}function St(t){var e=t.document.documentElement,n=Et(t).on("dragstart.drag",Tt,!0);"onselectstart"in e?n.on("selectstart.drag",Tt,!0):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function Nt(t,e){var n=t.document.documentElement,r=Et(t).on("dragstart.drag",null);e&&(r.on("click.drag",Tt,!0),setTimeout((function(){r.on("click.drag",null)}),0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}function zt(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function Dt(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function qt(){}Lt.prototype=kt.prototype={constructor:Lt,select:function(t){"function"!=typeof t&&(t=L(t));for(var e=this._groups,n=e.length,r=new Array(n),o=0;o<n;++o)for(var i,a,s=e[o],l=s.length,u=r[o]=new Array(l),c=0;c<l;++c)(i=s[c])&&(a=t.call(i,i.__data__,c,s))&&("__data__"in i&&(a.__data__=i.__data__),u[c]=a);return new Lt(r,this._parents)},selectAll:function(t){"function"!=typeof t&&(t=E(t));for(var e=this._groups,n=e.length,r=[],o=[],i=0;i<n;++i)for(var a,s=e[i],l=s.length,u=0;u<l;++u)(a=s[u])&&(r.push(t.call(a,a.__data__,u,s)),o.push(a));return new Lt(r,o)},filter:function(t){"function"!=typeof t&&(t=O(t));for(var e=this._groups,n=e.length,r=new Array(n),o=0;o<n;++o)for(var i,a=e[o],s=a.length,l=r[o]=[],u=0;u<s;++u)(i=a[u])&&t.call(i,i.__data__,u,a)&&l.push(i);return new Lt(r,this._parents)},data:function(t,e){if(!t)return p=new Array(this.size()),c=-1,this.each((function(t){p[++c]=t})),p;var n,r=e?T:A,o=this._parents,i=this._groups;"function"!=typeof t&&(n=t,t=function(){return n});for(var a=i.length,s=new Array(a),l=new Array(a),u=new Array(a),c=0;c<a;++c){var h=o[c],f=i[c],d=f.length,p=t.call(h,h&&h.__data__,c,o),g=p.length,m=l[c]=new Array(g),y=s[c]=new Array(g);r(h,f,m,y,u[c]=new Array(d),p,e);for(var v,b,x=0,w=0;x<g;++x)if(v=m[x]){for(x>=w&&(w=x+1);!(b=y[w])&&++w<g;);v._next=b||null}}return(s=new Lt(s,o))._enter=l,s._exit=u,s},enter:function(){return new Lt(this._enter||this._groups.map(M),this._parents)},exit:function(){return new Lt(this._exit||this._groups.map(M),this._parents)},join:function(t,e,n){var r=this.enter(),o=this,i=this.exit();return r="function"==typeof t?t(r):r.append(t+""),null!=e&&(o=e(o)),null==n?i.remove():n(i),r&&o?r.merge(o).order():o},merge:function(t){for(var e=this._groups,n=t._groups,r=e.length,o=n.length,i=Math.min(r,o),a=new Array(r),s=0;s<i;++s)for(var l,u=e[s],c=n[s],h=u.length,f=a[s]=new Array(h),d=0;d<h;++d)(l=u[d]||c[d])&&(f[d]=l);for(;s<r;++s)a[s]=e[s];return new Lt(a,this._parents)},order:function(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var r,o=t[e],i=o.length-1,a=o[i];--i>=0;)(r=o[i])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},sort:function(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=S);for(var n=this._groups,r=n.length,o=new Array(r),i=0;i<r;++i){for(var a,s=n[i],l=s.length,u=o[i]=new Array(l),c=0;c<l;++c)(a=s[c])&&(u[c]=a);u.sort(e)}return new Lt(o,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){var t=new Array(this.size()),e=-1;return this.each((function(){t[++e]=this})),t},node:function(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],o=0,i=r.length;o<i;++o){var a=r[o];if(a)return a}return null},size:function(){var t=0;return this.each((function(){++t})),t},empty:function(){return!this.node()},each:function(t){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var o,i=e[n],a=0,s=i.length;a<s;++a)(o=i[a])&&t.call(o,o.__data__,a,i);return this},attr:function(t,e){var n=b(t);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==e?n.local?z:N:"function"==typeof e?n.local?P:$:n.local?q:D)(n,e))},style:function(t,e,n){return arguments.length>1?this.each((null==e?j:"function"==typeof e?I:H)(t,e,null==n?"":n)):V(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?U:"function"==typeof e?Y:Z)(t,e)):this.node()[t]},classed:function(t,e){var n=X(t+"");if(arguments.length<2){for(var r=F(this.node()),o=-1,i=n.length;++o<i;)if(!r.contains(n[o]))return!1;return!0}return this.each(("function"==typeof e?tt:e?Q:J)(n,e))},text:function(t){return arguments.length?this.each(null==t?et:("function"==typeof t?rt:nt)(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?ot:("function"==typeof t?at:it)(t)):this.node().innerHTML},raise:function(){return this.each(st)},lower:function(){return this.each(lt)},append:function(t){var e="function"==typeof t?t:_(t);return this.select((function(){return this.appendChild(e.apply(this,arguments))}))},insert:function(t,e){var n="function"==typeof t?t:_(t),r=null==e?ut:"function"==typeof e?e:L(e);return this.select((function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)}))},remove:function(){return this.each(ct)},clone:function(t){return this.select(t?ft:ht)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,e,n){var r,o,i=yt(t+""),a=i.length;if(!(arguments.length<2)){for(s=e?bt:vt,null==n&&(n=!1),r=0;r<a;++r)this.each(s(i[r],e,n));return this}var s=this.node().__on;if(s)for(var l,u=0,c=s.length;u<c;++u)for(r=0,l=s[u];r<a;++r)if((o=i[r]).type===l.type&&o.name===l.name)return l.value},dispatch:function(t,e){return this.each(("function"==typeof e?_t:wt)(t,e))}};var $t=.7,Pt=1/$t,Bt="\\s*([+-]?\\d+)\\s*",jt="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",Ht="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",It=/^#([0-9a-f]{3,8})$/,Vt=new RegExp("^rgb\\("+[Bt,Bt,Bt]+"\\)$"),Ut=new RegExp("^rgb\\("+[Ht,Ht,Ht]+"\\)$"),Zt=new RegExp("^rgba\\("+[Bt,Bt,Bt,jt]+"\\)$"),Yt=new RegExp("^rgba\\("+[Ht,Ht,Ht,jt]+"\\)$"),Xt=new RegExp("^hsl\\("+[jt,Ht,Ht]+"\\)$"),Ft=new RegExp("^hsla\\("+[jt,Ht,Ht,jt]+"\\)$"),Wt={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 Gt(){return this.rgb().formatHex()}function Kt(){return this.rgb().formatRgb()}function Qt(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=It.exec(t))?(n=e[1].length,e=parseInt(e[1],16),6===n?Jt(e):3===n?new re(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?te(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?te(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=Vt.exec(t))?new re(e[1],e[2],e[3],1):(e=Ut.exec(t))?new re(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=Zt.exec(t))?te(e[1],e[2],e[3],e[4]):(e=Yt.exec(t))?te(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=Xt.exec(t))?se(e[1],e[2]/100,e[3]/100,1):(e=Ft.exec(t))?se(e[1],e[2]/100,e[3]/100,e[4]):Wt.hasOwnProperty(t)?Jt(Wt[t]):"transparent"===t?new re(NaN,NaN,NaN,0):null}function Jt(t){return new re(t>>16&255,t>>8&255,255&t,1)}function te(t,e,n,r){return r<=0&&(t=e=n=NaN),new re(t,e,n,r)}function ee(t){return t instanceof qt||(t=Qt(t)),t?new re((t=t.rgb()).r,t.g,t.b,t.opacity):new re}function ne(t,e,n,r){return 1===arguments.length?ee(t):new re(t,e,n,null==r?1:r)}function re(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function oe(){return"#"+ae(this.r)+ae(this.g)+ae(this.b)}function ie(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}function ae(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function se(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new ue(t,e,n,r)}function le(t){if(t instanceof ue)return new ue(t.h,t.s,t.l,t.opacity);if(t instanceof qt||(t=Qt(t)),!t)return new ue;if(t instanceof ue)return t;var e=(t=t.rgb()).r/255,n=t.g/255,r=t.b/255,o=Math.min(e,n,r),i=Math.max(e,n,r),a=NaN,s=i-o,l=(i+o)/2;return s?(a=e===i?(n-r)/s+6*(n<r):n===i?(r-e)/s+2:(e-n)/s+4,s/=l<.5?i+o:2-i-o,a*=60):s=l>0&&l<1?0:a,new ue(a,s,l,t.opacity)}function ue(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function ce(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 he(t){return function(){return t}}function fe(t){return 1==(t=+t)?de: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):he(isNaN(e)?n:e)}}function de(t,e){var n=e-t;return n?function(t,e){return function(n){return t+n*e}}(t,n):he(isNaN(t)?e:t)}zt(qt,Qt,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:Gt,formatHex:Gt,formatHsl:function(){return le(this).formatHsl()},formatRgb:Kt,toString:Kt}),zt(re,ne,Dt(qt,{brighter:function(t){return t=null==t?Pt:Math.pow(Pt,t),new re(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?$t:Math.pow($t,t),new re(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},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:oe,formatHex:oe,formatRgb:ie,toString:ie})),zt(ue,(function(t,e,n,r){return 1===arguments.length?le(t):new ue(t,e,n,null==r?1:r)}),Dt(qt,{brighter:function(t){return t=null==t?Pt:Math.pow(Pt,t),new ue(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?$t:Math.pow($t,t),new ue(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,o=2*n-r;return new re(ce(t>=240?t-240:t+120,o,r),ce(t,o,r),ce(t<120?t+240:t-120,o,r),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=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===t?")":", "+t+")")}}));var pe=function t(e){var n=fe(e);function r(t,e){var r=n((t=ne(t)).r,(e=ne(e)).r),o=n(t.g,e.g),i=n(t.b,e.b),a=de(t.opacity,e.opacity);return function(e){return t.r=r(e),t.g=o(e),t.b=i(e),t.opacity=a(e),t+""}}return r.gamma=t,r}(1);function ge(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}var me=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,ye=new RegExp(me.source,"g");function ve(t,e){var n,r,o,i=me.lastIndex=ye.lastIndex=0,a=-1,s=[],l=[];for(t+="",e+="";(n=me.exec(t))&&(r=ye.exec(e));)(o=r.index)>i&&(o=e.slice(i,o),s[a]?s[a]+=o:s[++a]=o),(n=n[0])===(r=r[0])?s[a]?s[a]+=r:s[++a]=r:(s[++a]=null,l.push({i:a,x:ge(n,r)})),i=ye.lastIndex;return i<e.length&&(o=e.slice(i),s[a]?s[a]+=o:s[++a]=o),s.length<2?l[0]?function(t){return function(e){return t(e)+""}}(l[0].x):function(t){return function(){return t}}(e):(e=l.length,function(t){for(var n,r=0;r<e;++r)s[(n=l[r]).i]=n.x(t);return s.join("")})}var be,xe,we,_e,Ce=180/Math.PI,Le={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function ke(t,e,n,r,o,i){var a,s,l;return(a=Math.sqrt(t*t+e*e))&&(t/=a,e/=a),(l=t*n+e*r)&&(n-=t*l,r-=e*l),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,l/=s),t*r<e*n&&(t=-t,e=-e,l=-l,a=-a),{translateX:o,translateY:i,rotate:Math.atan2(e,t)*Ce,skewX:Math.atan(l)*Ce,scaleX:a,scaleY:s}}function Ee(t,e,n,r){function o(t){return t.length?t.pop()+" ":""}return function(i,a){var s=[],l=[];return i=t(i),a=t(a),function(t,r,o,i,a,s){if(t!==o||r!==i){var l=a.push("translate(",null,e,null,n);s.push({i:l-4,x:ge(t,o)},{i:l-2,x:ge(r,i)})}else(o||i)&&a.push("translate("+o+e+i+n)}(i.translateX,i.translateY,a.translateX,a.translateY,s,l),function(t,e,n,i){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),i.push({i:n.push(o(n)+"rotate(",null,r)-2,x:ge(t,e)})):e&&n.push(o(n)+"rotate("+e+r)}(i.rotate,a.rotate,s,l),function(t,e,n,i){t!==e?i.push({i:n.push(o(n)+"skewX(",null,r)-2,x:ge(t,e)}):e&&n.push(o(n)+"skewX("+e+r)}(i.skewX,a.skewX,s,l),function(t,e,n,r,i,a){if(t!==n||e!==r){var s=i.push(o(i)+"scale(",null,",",null,")");a.push({i:s-4,x:ge(t,n)},{i:s-2,x:ge(e,r)})}else 1===n&&1===r||i.push(o(i)+"scale("+n+","+r+")")}(i.scaleX,i.scaleY,a.scaleX,a.scaleY,s,l),i=a=null,function(t){for(var e,n=-1,r=l.length;++n<r;)s[(e=l[n]).i]=e.x(t);return s.join("")}}}var Oe=Ee((function(t){return"none"===t?Le:(be||(be=document.createElement("DIV"),xe=document.documentElement,we=document.defaultView),be.style.transform=t,t=we.getComputedStyle(xe.appendChild(be),null).getPropertyValue("transform"),xe.removeChild(be),ke(+(t=t.slice(7,-1).split(","))[0],+t[1],+t[2],+t[3],+t[4],+t[5]))}),"px, ","px)","deg)"),Me=Ee((function(t){return null==t?Le:(_e||(_e=document.createElementNS("http://www.w3.org/2000/svg","g")),_e.setAttribute("transform",t),(t=_e.transform.baseVal.consolidate())?ke((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):Le)}),", ",")",")"),Re=Math.SQRT2;function Ae(t){return((t=Math.exp(t))+1/t)/2}function Te(t,e){var n,r,o=t[0],i=t[1],a=t[2],s=e[0],l=e[1],u=e[2],c=s-o,h=l-i,f=c*c+h*h;if(f<1e-12)r=Math.log(u/a)/Re,n=function(t){return[o+t*c,i+t*h,a*Math.exp(Re*t*r)]};else{var d=Math.sqrt(f),p=(u*u-a*a+4*f)/(2*a*2*d),g=(u*u-a*a-4*f)/(2*u*2*d),m=Math.log(Math.sqrt(p*p+1)-p),y=Math.log(Math.sqrt(g*g+1)-g);r=(y-m)/Re,n=function(t){var e,n=t*r,s=Ae(m),l=a/(2*d)*(s*(e=Re*n+m,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(m));return[o+l*c,i+l*h,a*s/Ae(Re*n+m)]}}return n.duration=1e3*r,n}var Se,Ne,ze=0,De=0,qe=0,$e=0,Pe=0,Be=0,je="object"==typeof performance&&performance.now?performance:Date,He="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Ie(){return Pe||(He(Ve),Pe=je.now()+Be)}function Ve(){Pe=0}function Ue(){this._call=this._time=this._next=null}function Ze(t,e,n){var r=new Ue;return r.restart(t,e,n),r}function Ye(){Pe=($e=je.now())+Be,ze=De=0;try{!function(){Ie(),++ze;for(var t,e=Se;e;)(t=Pe-e._time)>=0&&e._call.call(null,t),e=e._next;--ze}()}finally{ze=0,function(){var t,e,n=Se,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:Se=e);Ne=t,Fe(r)}(),Pe=0}}function Xe(){var t=je.now(),e=t-$e;e>1e3&&(Be-=e,$e=t)}function Fe(t){ze||(De&&(De=clearTimeout(De)),t-Pe>24?(t<1/0&&(De=setTimeout(Ye,t-je.now()-Be)),qe&&(qe=clearInterval(qe))):(qe||($e=je.now(),qe=setInterval(Xe,1e3)),ze=1,He(Ye)))}function We(t,e,n){var r=new Ue;return e=null==e?0:+e,r.restart((function(n){r.stop(),t(n+e)}),e,n),r}Ue.prototype=Ze.prototype={constructor:Ue,restart:function(t,e,n){if("function"!=typeof t)throw new TypeError("callback is not a function");n=(null==n?Ie():+n)+(null==e?0:+e),this._next||Ne===this||(Ne?Ne._next=this:Se=this,Ne=this),this._call=t,this._time=n,Fe()},stop:function(){this._call&&(this._call=null,this._time=1/0,Fe())}};var Ge=f("start","end","cancel","interrupt"),Ke=[];function Qe(t,e,n,r,o,i){var a=t.__transition;if(a){if(n in a)return}else t.__transition={};!function(t,e,n){var r,o=t.__transition;function i(t){n.state=1,n.timer.restart(a,n.delay,n.time),n.delay<=t&&a(t-n.delay)}function a(i){var u,c,h,f;if(1!==n.state)return l();for(u in o)if((f=o[u]).name===n.name){if(3===f.state)return We(a);4===f.state?(f.state=6,f.timer.stop(),f.on.call("interrupt",t,t.__data__,f.index,f.group),delete o[u]):+u<e&&(f.state=6,f.timer.stop(),f.on.call("cancel",t,t.__data__,f.index,f.group),delete o[u])}if(We((function(){3===n.state&&(n.state=4,n.timer.restart(s,n.delay,n.time),s(i))})),n.state=2,n.on.call("start",t,t.__data__,n.index,n.group),2===n.state){for(n.state=3,r=new Array(h=n.tween.length),u=0,c=-1;u<h;++u)(f=n.tween[u].value.call(t,t.__data__,n.index,n.group))&&(r[++c]=f);r.length=c+1}}function s(e){for(var o=e<n.duration?n.ease.call(null,e/n.duration):(n.timer.restart(l),n.state=5,1),i=-1,a=r.length;++i<a;)r[i].call(t,o);5===n.state&&(n.on.call("end",t,t.__data__,n.index,n.group),l())}function l(){for(var r in n.state=6,n.timer.stop(),delete o[e],o)return;delete t.__transition}o[e]=n,n.timer=Ze(i,0,n.time)}(t,n,{name:e,index:r,group:o,on:Ge,tween:Ke,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:0})}function Je(t,e){var n=en(t,e);if(n.state>0)throw new Error("too late; already scheduled");return n}function tn(t,e){var n=en(t,e);if(n.state>3)throw new Error("too late; already running");return n}function en(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function nn(t,e){var n,r,o,i=t.__transition,a=!0;if(i){for(o in e=null==e?null:e+"",i)(n=i[o]).name===e?(r=n.state>2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(r?"interrupt":"cancel",t,t.__data__,n.index,n.group),delete i[o]):a=!1;a&&delete t.__transition}}function rn(t,e){var n,r;return function(){var o=tn(this,t),i=o.tween;if(i!==n)for(var a=0,s=(r=n=i).length;a<s;++a)if(r[a].name===e){(r=r.slice()).splice(a,1);break}o.tween=r}}function on(t,e,n){var r,o;if("function"!=typeof n)throw new Error;return function(){var i=tn(this,t),a=i.tween;if(a!==r){o=(r=a).slice();for(var s={name:e,value:n},l=0,u=o.length;l<u;++l)if(o[l].name===e){o[l]=s;break}l===u&&o.push(s)}i.tween=o}}function an(t,e,n){var r=t._id;return t.each((function(){var t=tn(this,r);(t.value||(t.value={}))[e]=n.apply(this,arguments)})),function(t){return en(t,r).value[e]}}function sn(t,e){var n;return("number"==typeof e?ge:e instanceof Qt?pe:(n=Qt(e))?(e=n,pe):ve)(t,e)}function ln(t){return function(){this.removeAttribute(t)}}function un(t){return function(){this.removeAttributeNS(t.space,t.local)}}function cn(t,e,n){var r,o,i=n+"";return function(){var a=this.getAttribute(t);return a===i?null:a===r?o:o=e(r=a,n)}}function hn(t,e,n){var r,o,i=n+"";return function(){var a=this.getAttributeNS(t.space,t.local);return a===i?null:a===r?o:o=e(r=a,n)}}function fn(t,e,n){var r,o,i;return function(){var a,s,l=n(this);if(null!=l)return(a=this.getAttribute(t))===(s=l+"")?null:a===r&&s===o?i:(o=s,i=e(r=a,l));this.removeAttribute(t)}}function dn(t,e,n){var r,o,i;return function(){var a,s,l=n(this);if(null!=l)return(a=this.getAttributeNS(t.space,t.local))===(s=l+"")?null:a===r&&s===o?i:(o=s,i=e(r=a,l));this.removeAttributeNS(t.space,t.local)}}function pn(t,e){return function(n){this.setAttribute(t,e.call(this,n))}}function gn(t,e){return function(n){this.setAttributeNS(t.space,t.local,e.call(this,n))}}function mn(t,e){var n,r;function o(){var o=e.apply(this,arguments);return o!==r&&(n=(r=o)&&gn(t,o)),n}return o._value=e,o}function yn(t,e){var n,r;function o(){var o=e.apply(this,arguments);return o!==r&&(n=(r=o)&&pn(t,o)),n}return o._value=e,o}function vn(t,e){return function(){Je(this,t).delay=+e.apply(this,arguments)}}function bn(t,e){return e=+e,function(){Je(this,t).delay=e}}function xn(t,e){return function(){tn(this,t).duration=+e.apply(this,arguments)}}function wn(t,e){return e=+e,function(){tn(this,t).duration=e}}function _n(t,e){if("function"!=typeof e)throw new Error;return function(){tn(this,t).ease=e}}function Cn(t,e,n){var r,o,i=function(t){return(t+"").trim().split(/^|\s+/).every((function(t){var e=t.indexOf(".");return e>=0&&(t=t.slice(0,e)),!t||"start"===t}))}(e)?Je:tn;return function(){var a=i(this,t),s=a.on;s!==r&&(o=(r=s).copy()).on(e,n),a.on=o}}var Ln=kt.prototype.constructor;function kn(t){return function(){this.style.removeProperty(t)}}function En(t,e,n){return function(r){this.style.setProperty(t,e.call(this,r),n)}}function On(t,e,n){var r,o;function i(){var i=e.apply(this,arguments);return i!==o&&(r=(o=i)&&En(t,i,n)),r}return i._value=e,i}function Mn(t){return function(e){this.textContent=t.call(this,e)}}function Rn(t){var e,n;function r(){var r=t.apply(this,arguments);return r!==n&&(e=(n=r)&&Mn(r)),e}return r._value=t,r}var An=0;function Tn(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}function Sn(){return++An}var Nn=kt.prototype;Tn.prototype={constructor:Tn,select:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=L(t));for(var r=this._groups,o=r.length,i=new Array(o),a=0;a<o;++a)for(var s,l,u=r[a],c=u.length,h=i[a]=new Array(c),f=0;f<c;++f)(s=u[f])&&(l=t.call(s,s.__data__,f,u))&&("__data__"in s&&(l.__data__=s.__data__),h[f]=l,Qe(h[f],e,n,f,h,en(s,n)));return new Tn(i,this._parents,e,n)},selectAll:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=E(t));for(var r=this._groups,o=r.length,i=[],a=[],s=0;s<o;++s)for(var l,u=r[s],c=u.length,h=0;h<c;++h)if(l=u[h]){for(var f,d=t.call(l,l.__data__,h,u),p=en(l,n),g=0,m=d.length;g<m;++g)(f=d[g])&&Qe(f,e,n,g,d,p);i.push(d),a.push(l)}return new Tn(i,a,e,n)},filter:function(t){"function"!=typeof t&&(t=O(t));for(var e=this._groups,n=e.length,r=new Array(n),o=0;o<n;++o)for(var i,a=e[o],s=a.length,l=r[o]=[],u=0;u<s;++u)(i=a[u])&&t.call(i,i.__data__,u,a)&&l.push(i);return new Tn(r,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,r=e.length,o=n.length,i=Math.min(r,o),a=new Array(r),s=0;s<i;++s)for(var l,u=e[s],c=n[s],h=u.length,f=a[s]=new Array(h),d=0;d<h;++d)(l=u[d]||c[d])&&(f[d]=l);for(;s<r;++s)a[s]=e[s];return new Tn(a,this._parents,this._name,this._id)},selection:function(){return new Ln(this._groups,this._parents)},transition:function(){for(var t=this._name,e=this._id,n=Sn(),r=this._groups,o=r.length,i=0;i<o;++i)for(var a,s=r[i],l=s.length,u=0;u<l;++u)if(a=s[u]){var c=en(a,e);Qe(a,t,n,u,s,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new Tn(r,this._parents,t,n)},call:Nn.call,nodes:Nn.nodes,node:Nn.node,size:Nn.size,empty:Nn.empty,each:Nn.each,on:function(t,e){var n=this._id;return arguments.length<2?en(this.node(),n).on.on(t):this.each(Cn(n,t,e))},attr:function(t,e){var n=b(t),r="transform"===n?Me:sn;return this.attrTween(t,"function"==typeof e?(n.local?dn:fn)(n,r,an(this,"attr."+t,e)):null==e?(n.local?un:ln)(n):(n.local?hn:cn)(n,r,e))},attrTween:function(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==e)return this.tween(n,null);if("function"!=typeof e)throw new Error;var r=b(t);return this.tween(n,(r.local?mn:yn)(r,e))},style:function(t,e,n){var r="transform"==(t+="")?Oe:sn;return null==e?this.styleTween(t,function(t,e){var n,r,o;return function(){var i=V(this,t),a=(this.style.removeProperty(t),V(this,t));return i===a?null:i===n&&a===r?o:o=e(n=i,r=a)}}(t,r)).on("end.style."+t,kn(t)):"function"==typeof e?this.styleTween(t,function(t,e,n){var r,o,i;return function(){var a=V(this,t),s=n(this),l=s+"";return null==s&&(this.style.removeProperty(t),l=s=V(this,t)),a===l?null:a===r&&l===o?i:(o=l,i=e(r=a,s))}}(t,r,an(this,"style."+t,e))).each(function(t,e){var n,r,o,i,a="style."+e,s="end."+a;return function(){var l=tn(this,t),u=l.on,c=null==l.value[a]?i||(i=kn(e)):void 0;u===n&&o===c||(r=(n=u).copy()).on(s,o=c),l.on=r}}(this._id,t)):this.styleTween(t,function(t,e,n){var r,o,i=n+"";return function(){var a=V(this,t);return a===i?null:a===r?o:o=e(r=a,n)}}(t,r,e),n).on("end.style."+t,null)},styleTween:function(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==e)return this.tween(r,null);if("function"!=typeof e)throw new Error;return this.tween(r,On(t,e,null==n?"":n))},text:function(t){return this.tween("text","function"==typeof t?function(t){return function(){var e=t(this);this.textContent=null==e?"":e}}(an(this,"text",t)):function(t){return function(){this.textContent=t}}(null==t?"":t+""))},textTween:function(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(null==t)return this.tween(e,null);if("function"!=typeof t)throw new Error;return this.tween(e,Rn(t))},remove:function(){return this.on("end.remove",function(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}(this._id))},tween:function(t,e){var n=this._id;if(t+="",arguments.length<2){for(var r,o=en(this.node(),n).tween,i=0,a=o.length;i<a;++i)if((r=o[i]).name===t)return r.value;return null}return this.each((null==e?rn:on)(n,t,e))},delay:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?vn:bn)(e,t)):en(this.node(),e).delay},duration:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?xn:wn)(e,t)):en(this.node(),e).duration},ease:function(t){var e=this._id;return arguments.length?this.each(_n(e,t)):en(this.node(),e).ease},end:function(){var t,e,n=this,r=n._id,o=n.size();return new Promise((function(i,a){var s={value:a},l={value:function(){0==--o&&i()}};n.each((function(){var n=tn(this,r),o=n.on;o!==t&&((e=(t=o).copy())._.cancel.push(s),e._.interrupt.push(s),e._.end.push(l)),n.on=e}))}))}};var zn={time:null,delay:0,duration:250,ease:function(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}};function Dn(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))return zn.time=Ie(),zn;return n}kt.prototype.interrupt=function(t){return this.each((function(){nn(this,t)}))},kt.prototype.transition=function(t){var e,n;t instanceof Tn?(e=t._id,t=t._name):(e=Sn(),(n=zn).time=Ie(),t=null==t?null:t+"");for(var r=this._groups,o=r.length,i=0;i<o;++i)for(var a,s=r[i],l=s.length,u=0;u<l;++u)(a=s[u])&&Qe(a,t,e,u,s,n||Dn(a,e));return new Tn(r,this._parents,t,e)};var qn="$";function $n(){}function Pn(t,e){var n=new $n;if(t instanceof $n)t.each((function(t,e){n.set(e,t)}));else if(Array.isArray(t)){var r,o=-1,i=t.length;if(null==e)for(;++o<i;)n.set(o,t[o]);else for(;++o<i;)n.set(e(r=t[o],o,t),r)}else if(t)for(var a in t)n.set(a,t[a]);return n}function Bn(){}$n.prototype=Pn.prototype={constructor:$n,has:function(t){return qn+t in this},get:function(t){return this[qn+t]},set:function(t,e){return this[qn+t]=e,this},remove:function(t){var e=qn+t;return e in this&&delete this[e]},clear:function(){for(var t in this)t[0]===qn&&delete this[t]},keys:function(){var t=[];for(var e in this)e[0]===qn&&t.push(e.slice(1));return t},values:function(){var t=[];for(var e in this)e[0]===qn&&t.push(this[e]);return t},entries:function(){var t=[];for(var e in this)e[0]===qn&&t.push({key:e.slice(1),value:this[e]});return t},size:function(){var t=0;for(var e in this)e[0]===qn&&++t;return t},empty:function(){for(var t in this)if(t[0]===qn)return!1;return!0},each:function(t){for(var e in this)e[0]===qn&&t(this[e],e.slice(1),this)}};var jn=Pn.prototype;function Hn(t){var e=0,n=t.children,r=n&&n.length;if(r)for(;--r>=0;)e+=n[r].value;else e=1;t.value=e}function In(t,e){var n,r,o,i,a,s=new Yn(t),l=+t.value&&(s.value=t.value),u=[s];for(null==e&&(e=Vn);n=u.pop();)if(l&&(n.value=+n.data.value),(o=e(n.data))&&(a=o.length))for(n.children=new Array(a),i=a-1;i>=0;--i)u.push(r=n.children[i]=new Yn(o[i])),r.parent=n,r.depth=n.depth+1;return s.eachBefore(Zn)}function Vn(t){return t.children}function Un(t){t.data=t.data.data}function Zn(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function Yn(t){this.data=t,this.depth=this.height=0,this.parent=null}function Xn(t,e){return t.parent===e.parent?1:2}function Fn(t){var e=t.children;return e?e[0]:t.t}function Wn(t){var e=t.children;return e?e[e.length-1]:t.t}function Gn(t,e,n){var r=n/(e.i-t.i);e.c-=r,e.s+=n,t.c+=r,e.z+=n,e.m+=n}function Kn(t,e,n){return t.a.parent===e.parent?t.a:n}function Qn(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}function Jn(){var t=Xn,e=1,n=1,r=null;function o(o){var l=function(t){for(var e,n,r,o,i,a=new Qn(t,0),s=[a];e=s.pop();)if(r=e._.children)for(e.children=new Array(i=r.length),o=i-1;o>=0;--o)s.push(n=e.children[o]=new Qn(r[o],o)),n.parent=e;return(a.parent=new Qn(null,0)).children=[a],a}(o);if(l.eachAfter(i),l.parent.m=-l.z,l.eachBefore(a),r)o.eachBefore(s);else{var u=o,c=o,h=o;o.eachBefore((function(t){t.x<u.x&&(u=t),t.x>c.x&&(c=t),t.depth>h.depth&&(h=t)}));var f=u===c?1:t(u,c)/2,d=f-u.x,p=e/(c.x+f+d),g=n/(h.depth||1);o.eachBefore((function(t){t.x=(t.x+d)*p,t.y=t.depth*g}))}return o}function i(e){var n=e.children,r=e.parent.children,o=e.i?r[e.i-1]:null;if(n){!function(t){for(var e,n=0,r=0,o=t.children,i=o.length;--i>=0;)(e=o[i]).z+=n,e.m+=n,n+=e.s+(r+=e.c)}(e);var i=(n[0].z+n[n.length-1].z)/2;o?(e.z=o.z+t(e._,o._),e.m=e.z-i):e.z=i}else o&&(e.z=o.z+t(e._,o._));e.parent.A=function(e,n,r){if(n){for(var o,i=e,a=e,s=n,l=i.parent.children[0],u=i.m,c=a.m,h=s.m,f=l.m;s=Wn(s),i=Fn(i),s&&i;)l=Fn(l),(a=Wn(a)).a=e,(o=s.z+h-i.z-u+t(s._,i._))>0&&(Gn(Kn(s,e,r),e,o),u+=o,c+=o),h+=s.m,u+=i.m,f+=l.m,c+=a.m;s&&!Wn(a)&&(a.t=s,a.m+=h-c),i&&!Fn(l)&&(l.t=i,l.m+=u-f,r=e)}return r}(e,o,e.parent.A||r[0])}function a(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=e,t.y=t.depth*n}return o.separation=function(e){return arguments.length?(t=e,o):t},o.size=function(t){return arguments.length?(r=!1,e=+t[0],n=+t[1],o):r?null:[e,n]},o.nodeSize=function(t){return arguments.length?(r=!0,e=+t[0],n=+t[1],o):r?[e,n]:null},o}function tr(){return Math.random()}Bn.prototype={constructor:Bn,has:jn.has,add:function(t){return this[qn+(t+="")]=t,this},remove:jn.remove,clear:jn.clear,values:jn.keys,size:jn.size,empty:jn.empty,each:jn.each},Yn.prototype=In.prototype={constructor:Yn,count:function(){return this.eachAfter(Hn)},each:function(t){var e,n,r,o,i=this,a=[i];do{for(e=a.reverse(),a=[];i=e.pop();)if(t(i),n=i.children)for(r=0,o=n.length;r<o;++r)a.push(n[r])}while(a.length);return this},eachAfter:function(t){for(var e,n,r,o=this,i=[o],a=[];o=i.pop();)if(a.push(o),e=o.children)for(n=0,r=e.length;n<r;++n)i.push(e[n]);for(;o=a.pop();)t(o);return this},eachBefore:function(t){for(var e,n,r=this,o=[r];r=o.pop();)if(t(r),e=r.children)for(n=e.length-1;n>=0;--n)o.push(e[n]);return this},sum:function(t){return this.eachAfter((function(e){for(var n=+t(e.data)||0,r=e.children,o=r&&r.length;--o>=0;)n+=r[o].value;e.value=n}))},sort:function(t){return this.eachBefore((function(e){e.children&&e.children.sort(t)}))},path:function(t){for(var e=this,n=function(t,e){if(t===e)return t;var n=t.ancestors(),r=e.ancestors(),o=null;t=n.pop(),e=r.pop();for(;t===e;)o=t,t=n.pop(),e=r.pop();return o}(e,t),r=[e];e!==n;)e=e.parent,r.push(e);for(var o=r.length;t!==n;)r.splice(o,0,t),t=t.parent;return r},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each((function(e){t.push(e)})),t},leaves:function(){var t=[];return this.eachBefore((function(e){e.children||t.push(e)})),t},links:function(){var t=this,e=[];return t.each((function(n){n!==t&&e.push({source:n.parent,target:n})})),e},copy:function(){return In(this).eachBefore(Un)}},Qn.prototype=Object.create(Yn.prototype),function t(e){function n(t,n){return t=null==t?0:+t,n=null==n?1:+n,1===arguments.length?(n=t,t=0):n-=t,function(){return e()*n+t}}return n.source=t,n}(tr);var er=function t(e){function n(t,n){var r,o;return t=null==t?0:+t,n=null==n?1:+n,function(){var i;if(null!=r)i=r,r=null;else do{r=2*e()-1,i=2*e()-1,o=r*r+i*i}while(!o||o>1);return t+n*i*Math.sqrt(-2*Math.log(o)/o)}}return n.source=t,n}(tr);!function t(e){function n(){var t=er.source(e).apply(this,arguments);return function(){return Math.exp(t())}}return n.source=t,n}(tr);var nr=function t(e){function n(t){return function(){for(var n=0,r=0;r<t;++r)n+=e();return n}}return n.source=t,n}(tr);function rr(){this._=null}function or(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function ir(t,e){var n=e,r=e.R,o=n.U;o?o.L===n?o.L=r:o.R=r:t._=r,r.U=o,n.U=r,n.R=r.L,n.R&&(n.R.U=n),r.L=n}function ar(t,e){var n=e,r=e.L,o=n.U;o?o.L===n?o.L=r:o.R=r:t._=r,r.U=o,n.U=r,n.L=r.R,n.L&&(n.L.U=n),r.R=n}function sr(t){for(;t.L;)t=t.L;return t}function lr(t,e,n,r){var o=[null,null],i=Sr.push(o)-1;return o.left=t,o.right=e,n&&cr(o,t,e,n),r&&cr(o,e,t,r),Ar[t.index].halfedges.push(i),Ar[e.index].halfedges.push(i),o}function ur(t,e,n){var r=[e,n];return r.left=t,r}function cr(t,e,n,r){t[0]||t[1]?t.left===n?t[1]=r:t[0]=r:(t[0]=r,t.left=e,t.right=n)}function hr(t,e,n,r,o){var i,a=t[0],s=t[1],l=a[0],u=a[1],c=0,h=1,f=s[0]-l,d=s[1]-u;if(i=e-l,f||!(i>0)){if(i/=f,f<0){if(i<c)return;i<h&&(h=i)}else if(f>0){if(i>h)return;i>c&&(c=i)}if(i=r-l,f||!(i<0)){if(i/=f,f<0){if(i>h)return;i>c&&(c=i)}else if(f>0){if(i<c)return;i<h&&(h=i)}if(i=n-u,d||!(i>0)){if(i/=d,d<0){if(i<c)return;i<h&&(h=i)}else if(d>0){if(i>h)return;i>c&&(c=i)}if(i=o-u,d||!(i<0)){if(i/=d,d<0){if(i>h)return;i>c&&(c=i)}else if(d>0){if(i<c)return;i<h&&(h=i)}return!(c>0||h<1)||(c>0&&(t[0]=[l+c*f,u+c*d]),h<1&&(t[1]=[l+h*f,u+h*d]),!0)}}}}}function fr(t,e,n,r,o){var i=t[1];if(i)return!0;var a,s,l=t[0],u=t.left,c=t.right,h=u[0],f=u[1],d=c[0],p=c[1],g=(h+d)/2,m=(f+p)/2;if(p===f){if(g<e||g>=r)return;if(h>d){if(l){if(l[1]>=o)return}else l=[g,n];i=[g,o]}else{if(l){if(l[1]<n)return}else l=[g,o];i=[g,n]}}else if(s=m-(a=(h-d)/(p-f))*g,a<-1||a>1)if(h>d){if(l){if(l[1]>=o)return}else l=[(n-s)/a,n];i=[(o-s)/a,o]}else{if(l){if(l[1]<n)return}else l=[(o-s)/a,o];i=[(n-s)/a,n]}else if(f<p){if(l){if(l[0]>=r)return}else l=[e,a*e+s];i=[r,a*r+s]}else{if(l){if(l[0]<e)return}else l=[r,a*r+s];i=[e,a*e+s]}return t[0]=l,t[1]=i,!0}function dr(t,e){var n=t.site,r=e.left,o=e.right;return n===o&&(o=r,r=n),o?Math.atan2(o[1]-r[1],o[0]-r[0]):(n===r?(r=e[1],o=e[0]):(r=e[0],o=e[1]),Math.atan2(r[0]-o[0],o[1]-r[1]))}function pr(t,e){return e[+(e.left!==t.site)]}function gr(t,e){return e[+(e.left===t.site)]}!function t(e){function n(t){var n=nr.source(e)(t);return function(){return n()/t}}return n.source=t,n}(tr),function t(e){function n(t){return function(){return-Math.log(1-e())/t}}return n.source=t,n}(tr),rr.prototype={constructor:rr,insert:function(t,e){var n,r,o;if(t){if(e.P=t,e.N=t.N,t.N&&(t.N.P=e),t.N=e,t.R){for(t=t.R;t.L;)t=t.L;t.L=e}else t.R=e;n=t}else this._?(t=sr(this._),e.P=null,e.N=t,t.P=t.L=e,n=t):(e.P=e.N=null,this._=e,n=null);for(e.L=e.R=null,e.U=n,e.C=!0,t=e;n&&n.C;)n===(r=n.U).L?(o=r.R)&&o.C?(n.C=o.C=!1,r.C=!0,t=r):(t===n.R&&(ir(this,n),n=(t=n).U),n.C=!1,r.C=!0,ar(this,r)):(o=r.L)&&o.C?(n.C=o.C=!1,r.C=!0,t=r):(t===n.L&&(ar(this,n),n=(t=n).U),n.C=!1,r.C=!0,ir(this,r)),n=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var e,n,r,o=t.U,i=t.L,a=t.R;if(n=i?a?sr(a):i:a,o?o.L===t?o.L=n:o.R=n:this._=n,i&&a?(r=n.C,n.C=t.C,n.L=i,i.U=n,n!==a?(o=n.U,n.U=t.U,t=n.R,o.L=t,n.R=a,a.U=n):(n.U=o,o=n,t=n.R)):(r=t.C,t=n),t&&(t.U=o),!r)if(t&&t.C)t.C=!1;else{do{if(t===this._)break;if(t===o.L){if((e=o.R).C&&(e.C=!1,o.C=!0,ir(this,o),e=o.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,ar(this,e),e=o.R),e.C=o.C,o.C=e.R.C=!1,ir(this,o),t=this._;break}}else if((e=o.L).C&&(e.C=!1,o.C=!0,ar(this,o),e=o.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,ir(this,e),e=o.L),e.C=o.C,o.C=e.L.C=!1,ar(this,o),t=this._;break}e.C=!0,t=o,o=o.U}while(!t.C);t&&(t.C=!1)}}};var mr,yr=[];function vr(){or(this),this.x=this.y=this.arc=this.site=this.cy=null}function br(t){var e=t.P,n=t.N;if(e&&n){var r=e.site,o=t.site,i=n.site;if(r!==i){var a=o[0],s=o[1],l=r[0]-a,u=r[1]-s,c=i[0]-a,h=i[1]-s,f=2*(l*h-u*c);if(!(f>=-zr)){var d=l*l+u*u,p=c*c+h*h,g=(h*d-u*p)/f,m=(l*p-c*d)/f,y=yr.pop()||new vr;y.arc=t,y.site=o,y.x=g+a,y.y=(y.cy=m+s)+Math.sqrt(g*g+m*m),t.circle=y;for(var v=null,b=Tr._;b;)if(y.y<b.y||y.y===b.y&&y.x<=b.x){if(!b.L){v=b.P;break}b=b.L}else{if(!b.R){v=b;break}b=b.R}Tr.insert(v,y),v||(mr=y)}}}}function xr(t){var e=t.circle;e&&(e.P||(mr=e.N),Tr.remove(e),yr.push(e),or(e),t.circle=null)}var wr=[];function _r(){or(this),this.edge=this.site=this.circle=null}function Cr(t){var e=wr.pop()||new _r;return e.site=t,e}function Lr(t){xr(t),Rr.remove(t),wr.push(t),or(t)}function kr(t){var e=t.circle,n=e.x,r=e.cy,o=[n,r],i=t.P,a=t.N,s=[t];Lr(t);for(var l=i;l.circle&&Math.abs(n-l.circle.x)<Nr&&Math.abs(r-l.circle.cy)<Nr;)i=l.P,s.unshift(l),Lr(l),l=i;s.unshift(l),xr(l);for(var u=a;u.circle&&Math.abs(n-u.circle.x)<Nr&&Math.abs(r-u.circle.cy)<Nr;)a=u.N,s.push(u),Lr(u),u=a;s.push(u),xr(u);var c,h=s.length;for(c=1;c<h;++c)u=s[c],l=s[c-1],cr(u.edge,l.site,u.site,o);l=s[0],(u=s[h-1]).edge=lr(l.site,u.site,null,o),br(l),br(u)}function Er(t){for(var e,n,r,o,i=t[0],a=t[1],s=Rr._;s;)if((r=Or(s,a)-i)>Nr)s=s.L;else{if(!((o=i-Mr(s,a))>Nr)){r>-Nr?(e=s.P,n=s):o>-Nr?(e=s,n=s.N):e=n=s;break}if(!s.R){e=s;break}s=s.R}!function(t){Ar[t.index]={site:t,halfedges:[]}}(t);var l=Cr(t);if(Rr.insert(e,l),e||n){if(e===n)return xr(e),n=Cr(e.site),Rr.insert(l,n),l.edge=n.edge=lr(e.site,l.site),br(e),void br(n);if(n){xr(e),xr(n);var u=e.site,c=u[0],h=u[1],f=t[0]-c,d=t[1]-h,p=n.site,g=p[0]-c,m=p[1]-h,y=2*(f*m-d*g),v=f*f+d*d,b=g*g+m*m,x=[(m*v-d*b)/y+c,(f*b-g*v)/y+h];cr(n.edge,u,p,x),l.edge=lr(u,t,null,x),n.edge=lr(t,p,null,x),br(e),br(n)}else l.edge=lr(e.site,l.site)}}function Or(t,e){var n=t.site,r=n[0],o=n[1],i=o-e;if(!i)return r;var a=t.P;if(!a)return-1/0;var s=(n=a.site)[0],l=n[1],u=l-e;if(!u)return s;var c=s-r,h=1/i-1/u,f=c/u;return h?(-f+Math.sqrt(f*f-2*h*(c*c/(-2*u)-l+u/2+o-i/2)))/h+r:(r+s)/2}function Mr(t,e){var n=t.N;if(n)return Or(n,e);var r=t.site;return r[1]===e?r[0]:1/0}var Rr,Ar,Tr,Sr,Nr=1e-6,zr=1e-12;function Dr(t,e){return e[1]-t[1]||e[0]-t[0]}function qr(t,e){var n,r,o,i=t.sort(Dr).pop();for(Sr=[],Ar=new Array(t.length),Rr=new rr,Tr=new rr;;)if(o=mr,i&&(!o||i[1]<o.y||i[1]===o.y&&i[0]<o.x))i[0]===n&&i[1]===r||(Er(i),n=i[0],r=i[1]),i=t.pop();else{if(!o)break;kr(o.arc)}if(function(){for(var t,e,n,r,o=0,i=Ar.length;o<i;++o)if((t=Ar[o])&&(r=(e=t.halfedges).length)){var a=new Array(r),s=new Array(r);for(n=0;n<r;++n)a[n]=n,s[n]=dr(t,Sr[e[n]]);for(a.sort((function(t,e){return s[e]-s[t]})),n=0;n<r;++n)s[n]=e[a[n]];for(n=0;n<r;++n)e[n]=s[n]}}(),e){var a=+e[0][0],s=+e[0][1],l=+e[1][0],u=+e[1][1];!function(t,e,n,r){for(var o,i=Sr.length;i--;)fr(o=Sr[i],t,e,n,r)&&hr(o,t,e,n,r)&&(Math.abs(o[0][0]-o[1][0])>Nr||Math.abs(o[0][1]-o[1][1])>Nr)||delete Sr[i]}(a,s,l,u),function(t,e,n,r){var o,i,a,s,l,u,c,h,f,d,p,g,m=Ar.length,y=!0;for(o=0;o<m;++o)if(i=Ar[o]){for(a=i.site,s=(l=i.halfedges).length;s--;)Sr[l[s]]||l.splice(s,1);for(s=0,u=l.length;s<u;)p=(d=gr(i,Sr[l[s]]))[0],g=d[1],h=(c=pr(i,Sr[l[++s%u]]))[0],f=c[1],(Math.abs(p-h)>Nr||Math.abs(g-f)>Nr)&&(l.splice(s,0,Sr.push(ur(a,d,Math.abs(p-t)<Nr&&r-g>Nr?[t,Math.abs(h-t)<Nr?f:r]:Math.abs(g-r)<Nr&&n-p>Nr?[Math.abs(f-r)<Nr?h:n,r]:Math.abs(p-n)<Nr&&g-e>Nr?[n,Math.abs(h-n)<Nr?f:e]:Math.abs(g-e)<Nr&&p-t>Nr?[Math.abs(f-e)<Nr?h:t,e]:null))-1),++u);u&&(y=!1)}if(y){var v,b,x,w=1/0;for(o=0,y=null;o<m;++o)(i=Ar[o])&&(x=(v=(a=i.site)[0]-t)*v+(b=a[1]-e)*b)<w&&(w=x,y=i);if(y){var _=[t,e],C=[t,r],L=[n,r],k=[n,e];y.halfedges.push(Sr.push(ur(a=y.site,_,C))-1,Sr.push(ur(a,C,L))-1,Sr.push(ur(a,L,k))-1,Sr.push(ur(a,k,_))-1)}}for(o=0;o<m;++o)(i=Ar[o])&&(i.halfedges.length||delete Ar[o])}(a,s,l,u)}this.edges=Sr,this.cells=Ar,Rr=Tr=Sr=Ar=null}function $r(t){return function(){return t}}function Pr(t,e,n){this.target=t,this.type=e,this.transform=n}function Br(t,e,n){this.k=t,this.x=e,this.y=n}qr.prototype={constructor:qr,polygons:function(){var t=this.edges;return this.cells.map((function(e){var n=e.halfedges.map((function(n){return pr(e,t[n])}));return n.data=e.site.data,n}))},triangles:function(){var t=[],e=this.edges;return this.cells.forEach((function(n,r){if(i=(o=n.halfedges).length)for(var o,i,a,s,l,u,c=n.site,h=-1,f=e[o[i-1]],d=f.left===c?f.right:f.left;++h<i;)a=d,d=(f=e[o[h]]).left===c?f.right:f.left,a&&d&&r<a.index&&r<d.index&&(l=a,u=d,((s=c)[0]-u[0])*(l[1]-s[1])-(s[0]-l[0])*(u[1]-s[1])<0)&&t.push([c.data,a.data,d.data])})),t},links:function(){return this.edges.filter((function(t){return t.right})).map((function(t){return{source:t.left.data,target:t.right.data}}))},find:function(t,e,n){for(var r,o,i=this,a=i._found||0,s=i.cells.length;!(o=i.cells[a]);)if(++a>=s)return null;var l=t-o.site[0],u=e-o.site[1],c=l*l+u*u;do{o=i.cells[r=a],a=null,o.halfedges.forEach((function(n){var r=i.edges[n],s=r.left;if(s!==o.site&&s||(s=r.right)){var l=t-s[0],u=e-s[1],h=l*l+u*u;h<c&&(c=h,a=s.index)}}))}while(null!==a);return i._found=r,null==n||c<=n*n?o.site:null}},Br.prototype={constructor:Br,scale:function(t){return 1===t?this:new Br(this.k*t,this.x,this.y)},translate:function(t,e){return 0===t&0===e?this:new Br(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var jr=new Br(1,0,0);function Hr(){pt.stopImmediatePropagation()}function Ir(){pt.preventDefault(),pt.stopImmediatePropagation()}function Vr(){return!pt.ctrlKey&&!pt.button}function Ur(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t).hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]:[[0,0],[t.clientWidth,t.clientHeight]]}function Zr(){return this.__zoom||jr}function Yr(){return-pt.deltaY*(1===pt.deltaMode?.05:pt.deltaMode?1:.002)}function Xr(){return navigator.maxTouchPoints||"ontouchstart"in this}function Fr(t,e,n){var r=t.invertX(e[0][0])-n[0][0],o=t.invertX(e[1][0])-n[1][0],i=t.invertY(e[0][1])-n[0][1],a=t.invertY(e[1][1])-n[1][1];return t.translate(o>r?(r+o)/2:Math.min(0,r)||Math.max(0,o),a>i?(i+a)/2:Math.min(0,i)||Math.max(0,a))}function Wr(){var t,e,n=Vr,r=Ur,o=Fr,i=Yr,a=Xr,s=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],u=250,c=Te,h=f("start","zoom","end"),d=500,p=0;function g(t){t.property("__zoom",Zr).on("wheel.zoom",_).on("mousedown.zoom",C).on("dblclick.zoom",L).filter(a).on("touchstart.zoom",k).on("touchmove.zoom",E).on("touchend.zoom touchcancel.zoom",O).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(t,e){return(e=Math.max(s[0],Math.min(s[1],e)))===t.k?t:new Br(e,t.x,t.y)}function y(t,e,n){var r=e[0]-n[0]*t.k,o=e[1]-n[1]*t.k;return r===t.x&&o===t.y?t:new Br(t.k,r,o)}function v(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function b(t,e,n){t.on("start.zoom",(function(){x(this,arguments).start()})).on("interrupt.zoom end.zoom",(function(){x(this,arguments).end()})).tween("zoom",(function(){var t=this,o=arguments,i=x(t,o),a=r.apply(t,o),s=null==n?v(a):"function"==typeof n?n.apply(t,o):n,l=Math.max(a[1][0]-a[0][0],a[1][1]-a[0][1]),u=t.__zoom,h="function"==typeof e?e.apply(t,o):e,f=c(u.invert(s).concat(l/u.k),h.invert(s).concat(l/h.k));return function(t){if(1===t)t=h;else{var e=f(t),n=l/e[2];t=new Br(n,s[0]-e[0]*n,s[1]-e[1]*n)}i.zoom(null,t)}}))}function x(t,e,n){return!n&&t.__zooming||new w(t,e)}function w(t,e){this.that=t,this.args=e,this.active=0,this.extent=r.apply(t,e),this.taps=0}function _(){if(n.apply(this,arguments)){var t=x(this,arguments),e=this.__zoom,r=Math.max(s[0],Math.min(s[1],e.k*Math.pow(2,i.apply(this,arguments)))),a=Rt(this);if(t.wheel)t.mouse[0][0]===a[0]&&t.mouse[0][1]===a[1]||(t.mouse[1]=e.invert(t.mouse[0]=a)),clearTimeout(t.wheel);else{if(e.k===r)return;t.mouse=[a,e.invert(a)],nn(this),t.start()}Ir(),t.wheel=setTimeout(u,150),t.zoom("mouse",o(y(m(e,r),t.mouse[0],t.mouse[1]),t.extent,l))}function u(){t.wheel=null,t.end()}}function C(){if(!e&&n.apply(this,arguments)){var t=x(this,arguments,!0),r=Et(pt.view).on("mousemove.zoom",u,!0).on("mouseup.zoom",c,!0),i=Rt(this),a=pt.clientX,s=pt.clientY;St(pt.view),Hr(),t.mouse=[i,this.__zoom.invert(i)],nn(this),t.start()}function u(){if(Ir(),!t.moved){var e=pt.clientX-a,n=pt.clientY-s;t.moved=e*e+n*n>p}t.zoom("mouse",o(y(t.that.__zoom,t.mouse[0]=Rt(t.that),t.mouse[1]),t.extent,l))}function c(){r.on("mousemove.zoom mouseup.zoom",null),Nt(pt.view,t.moved),Ir(),t.end()}}function L(){if(n.apply(this,arguments)){var t=this.__zoom,e=Rt(this),i=t.invert(e),a=t.k*(pt.shiftKey?.5:2),s=o(y(m(t,a),e,i),r.apply(this,arguments),l);Ir(),u>0?Et(this).transition().duration(u).call(b,s,e):Et(this).call(g.transform,s)}}function k(){if(n.apply(this,arguments)){var e,r,o,i,a=pt.touches,s=a.length,l=x(this,arguments,pt.changedTouches.length===s);for(Hr(),r=0;r<s;++r)i=[i=At(this,a,(o=a[r]).identifier),this.__zoom.invert(i),o.identifier],l.touch0?l.touch1||l.touch0[2]===i[2]||(l.touch1=i,l.taps=0):(l.touch0=i,e=!0,l.taps=1+!!t);t&&(t=clearTimeout(t)),e&&(l.taps<2&&(t=setTimeout((function(){t=null}),d)),nn(this),l.start())}}function E(){if(this.__zooming){var e,n,r,i,a=x(this,arguments),s=pt.changedTouches,u=s.length;for(Ir(),t&&(t=clearTimeout(t)),a.taps=0,e=0;e<u;++e)r=At(this,s,(n=s[e]).identifier),a.touch0&&a.touch0[2]===n.identifier?a.touch0[0]=r:a.touch1&&a.touch1[2]===n.identifier&&(a.touch1[0]=r);if(n=a.that.__zoom,a.touch1){var c=a.touch0[0],h=a.touch0[1],f=a.touch1[0],d=a.touch1[1],p=(p=f[0]-c[0])*p+(p=f[1]-c[1])*p,g=(g=d[0]-h[0])*g+(g=d[1]-h[1])*g;n=m(n,Math.sqrt(p/g)),r=[(c[0]+f[0])/2,(c[1]+f[1])/2],i=[(h[0]+d[0])/2,(h[1]+d[1])/2]}else{if(!a.touch0)return;r=a.touch0[0],i=a.touch0[1]}a.zoom("touch",o(y(n,r,i),a.extent,l))}}function O(){if(this.__zooming){var t,n,r=x(this,arguments),o=pt.changedTouches,i=o.length;for(Hr(),e&&clearTimeout(e),e=setTimeout((function(){e=null}),d),t=0;t<i;++t)n=o[t],r.touch0&&r.touch0[2]===n.identifier?delete r.touch0:r.touch1&&r.touch1[2]===n.identifier&&delete r.touch1;if(r.touch1&&!r.touch0&&(r.touch0=r.touch1,delete r.touch1),r.touch0)r.touch0[1]=this.__zoom.invert(r.touch0[0]);else if(r.end(),2===r.taps){var a=Et(this).on("dblclick.zoom");a&&a.apply(this,arguments)}}}return g.transform=function(t,e,n){var r=t.selection?t.selection():t;r.property("__zoom",Zr),t!==r?b(t,e,n):r.interrupt().each((function(){x(this,arguments).start().zoom(null,"function"==typeof e?e.apply(this,arguments):e).end()}))},g.scaleBy=function(t,e,n){g.scaleTo(t,(function(){var t=this.__zoom.k,n="function"==typeof e?e.apply(this,arguments):e;return t*n}),n)},g.scaleTo=function(t,e,n){g.transform(t,(function(){var t=r.apply(this,arguments),i=this.__zoom,a=null==n?v(t):"function"==typeof n?n.apply(this,arguments):n,s=i.invert(a),u="function"==typeof e?e.apply(this,arguments):e;return o(y(m(i,u),a,s),t,l)}),n)},g.translateBy=function(t,e,n){g.transform(t,(function(){return o(this.__zoom.translate("function"==typeof e?e.apply(this,arguments):e,"function"==typeof n?n.apply(this,arguments):n),r.apply(this,arguments),l)}))},g.translateTo=function(t,e,n,i){g.transform(t,(function(){var t=r.apply(this,arguments),a=this.__zoom,s=null==i?v(t):"function"==typeof i?i.apply(this,arguments):i;return o(jr.translate(s[0],s[1]).scale(a.k).translate("function"==typeof e?-e.apply(this,arguments):-e,"function"==typeof n?-n.apply(this,arguments):-n),t,l)}),i)},w.prototype={start:function(){return 1==++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(t,e){return this.mouse&&"mouse"!==t&&(this.mouse[1]=e.invert(this.mouse[0])),this.touch0&&"touch"!==t&&(this.touch0[1]=e.invert(this.touch0[0])),this.touch1&&"touch"!==t&&(this.touch1[1]=e.invert(this.touch1[0])),this.that.__zoom=e,this.emit("zoom"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(t){!function(t,e,n,r){var o=pt;t.sourceEvent=pt,pt=t;try{e.apply(n,r)}finally{pt=o}}(new Pr(g,t,this.that.__zoom),h.apply,h,[t,this.that,this.args])}},g.wheelDelta=function(t){return arguments.length?(i="function"==typeof t?t:$r(+t),g):i},g.filter=function(t){return arguments.length?(n="function"==typeof t?t:$r(!!t),g):n},g.touchable=function(t){return arguments.length?(a="function"==typeof t?t:$r(!!t),g):a},g.extent=function(t){return arguments.length?(r="function"==typeof t?t:$r([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),g):r},g.scaleExtent=function(t){return arguments.length?(s[0]=+t[0],s[1]=+t[1],g):[s[0],s[1]]},g.translateExtent=function(t){return arguments.length?(l[0][0]=+t[0][0],l[1][0]=+t[1][0],l[0][1]=+t[0][1],l[1][1]=+t[1][1],g):[[l[0][0],l[0][1]],[l[1][0],l[1][1]]]},g.constrain=function(t){return arguments.length?(o=t,g):o},g.duration=function(t){return arguments.length?(u=+t,g):u},g.interpolate=function(t){return arguments.length?(c=t,g):c},g.on=function(){var t=h.on.apply(h,arguments);return t===h?g:t},g.clickDistance=function(t){return arguments.length?(p=(t=+t)*t,g):Math.sqrt(p)},g}Br.prototype;const Gr={aliceblue:{r:240,g:248,b:255},antiquewhite:{r:250,g:235,b:215},aqua:{r:0,g:255,b:255},aquamarine:{r:127,g:255,b:212},azure:{r:240,g:255,b:255},beige:{r:245,g:245,b:220},bisque:{r:255,g:228,b:196},black:{r:0,g:0,b:0},blanchedalmond:{r:255,g:235,b:205},blue:{r:0,g:0,b:255},blueviolet:{r:138,g:43,b:226},brown:{r:165,g:42,b:42},burlywood:{r:222,g:184,b:135},cadetblue:{r:95,g:158,b:160},chartreuse:{r:127,g:255,b:0},chocolate:{r:210,g:105,b:30},coral:{r:255,g:127,b:80},cornflowerblue:{r:100,g:149,b:237},cornsilk:{r:255,g:248,b:220},crimson:{r:220,g:20,b:60},cyan:{r:0,g:255,b:255},darkblue:{r:0,g:0,b:139},darkcyan:{r:0,g:139,b:139},darkgoldenrod:{r:184,g:134,b:11},darkgray:{r:169,g:169,b:169},darkgreen:{r:0,g:100,b:0},darkgrey:{r:169,g:169,b:169},darkkhaki:{r:189,g:183,b:107},darkmagenta:{r:139,g:0,b:139},darkolivegreen:{r:85,g:107,b:47},darkorange:{r:255,g:140,b:0},darkorchid:{r:153,g:50,b:204},darkred:{r:139,g:0,b:0},darksalmon:{r:233,g:150,b:122},darkseagreen:{r:143,g:188,b:143},darkslateblue:{r:72,g:61,b:139},darkslategray:{r:47,g:79,b:79},darkslategrey:{r:47,g:79,b:79},darkturquoise:{r:0,g:206,b:209},darkviolet:{r:148,g:0,b:211},deeppink:{r:255,g:20,b:147},deepskyblue:{r:0,g:191,b:255},dimgray:{r:105,g:105,b:105},dimgrey:{r:105,g:105,b:105},dodgerblue:{r:30,g:144,b:255},firebrick:{r:178,g:34,b:34},floralwhite:{r:255,g:250,b:240},forestgreen:{r:34,g:139,b:34},fuchsia:{r:255,g:0,b:255},gainsboro:{r:220,g:220,b:220},ghostwhite:{r:248,g:248,b:255},gold:{r:255,g:215,b:0},goldenrod:{r:218,g:165,b:32},gray:{r:128,g:128,b:128},green:{r:0,g:128,b:0},greenyellow:{r:173,g:255,b:47},grey:{r:128,g:128,b:128},honeydew:{r:240,g:255,b:240},hotpink:{r:255,g:105,b:180},indianred:{r:205,g:92,b:92},indigo:{r:75,g:0,b:130},ivory:{r:255,g:255,b:240},khaki:{r:240,g:230,b:140},lavender:{r:230,g:230,b:250},lavenderblush:{r:255,g:240,b:245},lawngreen:{r:124,g:252,b:0},lemonchiffon:{r:255,g:250,b:205},lightblue:{r:173,g:216,b:230},lightcoral:{r:240,g:128,b:128},lightcyan:{r:224,g:255,b:255},lightgoldenrodyellow:{r:250,g:250,b:210},lightgray:{r:211,g:211,b:211},lightgreen:{r:144,g:238,b:144},lightgrey:{r:211,g:211,b:211},lightpink:{r:255,g:182,b:193},lightsalmon:{r:255,g:160,b:122},lightseagreen:{r:32,g:178,b:170},lightskyblue:{r:135,g:206,b:250},lightslategray:{r:119,g:136,b:153},lightslategrey:{r:119,g:136,b:153},lightsteelblue:{r:176,g:196,b:222},lightyellow:{r:255,g:255,b:224},lime:{r:0,g:255,b:0},limegreen:{r:50,g:205,b:50},linen:{r:250,g:240,b:230},magenta:{r:255,g:0,b:255},maroon:{r:128,g:0,b:0},mediumaquamarine:{r:102,g:205,b:170},mediumblue:{r:0,g:0,b:205},mediumorchid:{r:186,g:85,b:211},mediumpurple:{r:147,g:112,b:219},mediumseagreen:{r:60,g:179,b:113},mediumslateblue:{r:123,g:104,b:238},mediumspringgreen:{r:0,g:250,b:154},mediumturquoise:{r:72,g:209,b:204},mediumvioletred:{r:199,g:21,b:133},midnightblue:{r:25,g:25,b:112},mintcream:{r:245,g:255,b:250},mistyrose:{r:255,g:228,b:225},moccasin:{r:255,g:228,b:181},navajowhite:{r:255,g:222,b:173},navy:{r:0,g:0,b:128},oldlace:{r:253,g:245,b:230},olive:{r:128,g:128,b:0},olivedrab:{r:107,g:142,b:35},orange:{r:255,g:165,b:0},orangered:{r:255,g:69,b:0},orchid:{r:218,g:112,b:214},palegoldenrod:{r:238,g:232,b:170},palegreen:{r:152,g:251,b:152},paleturquoise:{r:175,g:238,b:238},palevioletred:{r:219,g:112,b:147},papayawhip:{r:255,g:239,b:213},peachpuff:{r:255,g:218,b:185},peru:{r:205,g:133,b:63},pink:{r:255,g:192,b:203},plum:{r:221,g:160,b:221},powderblue:{r:176,g:224,b:230},purple:{r:128,g:0,b:128},rebeccapurple:{r:102,g:51,b:153},red:{r:255,g:0,b:0},rosybrown:{r:188,g:143,b:143},royalblue:{r:65,g:105,b:225},saddlebrown:{r:139,g:69,b:19},salmon:{r:250,g:128,b:114},sandybrown:{r:244,g:164,b:96},seagreen:{r:46,g:139,b:87},seashell:{r:255,g:245,b:238},sienna:{r:160,g:82,b:45},silver:{r:192,g:192,b:192},skyblue:{r:135,g:206,b:235},slateblue:{r:106,g:90,b:205},slategray:{r:112,g:128,b:144},slategrey:{r:112,g:128,b:144},snow:{r:255,g:250,b:250},springgreen:{r:0,g:255,b:127},steelblue:{r:70,g:130,b:180},tan:{r:210,g:180,b:140},teal:{r:0,g:128,b:128},thistle:{r:216,g:191,b:216},tomato:{r:255,g:99,b:71},transparent:{r:255,g:255,b:255,a:0},turquoise:{r:64,g:224,b:208},violet:{r:238,g:130,b:238},wheat:{r:245,g:222,b:179},white:{r:255,g:255,b:255},whitesmoke:{r:245,g:245,b:245},yellow:{r:255,g:255,b:0},yellowgreen:{r:154,g:205,b:50}},Kr={resolveExpression:t=>{let e=/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/i.exec(t);if(e)return`rgb(${e[1]},${e[2]},${e[3]})`;if(e=/^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d(\.\d+)?)\s*\)$/i.exec(t),e)return`rgba(${e[1]},${e[2]},${e[3]},${e[4]})`;if(e=/^argb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/i.exec(t),e){const t=Math.round(e[1]/2.55)/100;return`rgba(${e[2]},${e[3]},${e[4]},${t})`}if(e=/^#([A-f0-9]{2})([A-f0-9]{2})([A-f0-9]{2})$/i.exec(t),e)return t;const n=t&&Gr[t.toLowerCase()];if(n){const t=void 0!==n.a?n.a:1;return`rgba(${n.r},${n.g},${n.b},${t})`}return"none"},getDarkColor(t){const e=.5;let n,r,o,i;if(t.length>7){n=t.split(",");const a=-1!==n[0].indexOf("a");return r=a?parseInt(n[0].slice(5),10):parseInt(n[0].slice(4),10),i=parseInt(n[1],10),o=parseInt(n[2],10),`${(a?"rgba(":"rgb(")+(Math.round((0-r)*e)+r)},${Math.round((0-i)*e)+i},${Math.round((0-o)*e)+o}${a?`,${n[3]}`:")"}`}return n=parseInt(t.slice(1),16),r=n>>16,i=n>>8&255,o=255&n,`#${(16777216+65536*(Math.round((0-r)*e)+r)+256*(Math.round((0-i)*e)+i)+(Math.round((0-o)*e)+o)).toString(16).slice(1)}`},isDarkColor(t){let e,n,r,o;return(o=/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/i.exec(t))||(o=/^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d(\.\d+)?)\s*\)$/i.exec(t))?(e=parseInt(o[1],10),n=parseInt(o[2],10),r=parseInt(o[3],10)):(o=/^#([A-f0-9]{2})([A-f0-9]{2})([A-f0-9]{2})$/i.exec(t))&&(e=parseInt(o[1],16),n=parseInt(o[2],16),r=parseInt(o[3],16)),.299*e+.587*n+.114*r<125}},Qr={colorByExpression:"color",labelExpression:"label",subLabelExpression:"subLabel",extraLabelExpression:"extraLabel"},Jr="max-data-limit";function to(t){return t[0].qText}function eo(t){return t[1].qText}async function no(t,e,n,r,o,i,a){return await n.getHyperCubeData("/qHyperCubeDef",[{qTop:o,qLeft:0,qWidth:3,qHeight:3300}]).then((n=>{t.push(n[0]),e.push(...n[0].qMatrix),o+=n[0].qArea.qHeight})),i>=a?Jr:r>o?no(t,e,n,r,o,i+1,a):""}const ro=async(t,e)=>{if(t.snapshotData)return{status:"",dataMatrix:t.snapshotData.dataMatrix};const n=t.qHyperCube&&t.qHyperCube.qDataPages,r=t.qHyperCube.qSize.qcy,o=n[0].qArea.qHeight,i=[...n[0].qMatrix];let a="";return r>o&&1===n.length&&e?a=await no(t.qHyperCube.qDataPages,i,e,r,o,0,t.rowLimit/3300||10):n.forEach(((t,e)=>{e>0&&i.push(...t.qMatrix)})),{status:a,dataMatrix:i}};function oo(t,e){const n={};return t.forEach((t=>{"color"===t.prop?n[t.prop]=Kr.resolveExpression(e.qValues[t.index].qText):n[t.prop]=e.qValues[t.index].qText})),n}function io(t){if(!t)return!0;for(let e=0;e<t.length;++e)if(void 0!==t[e].children)return!1;return!0}async function ao({layout:t,model:e,translator:n}){if(!t.qHyperCube)throw new Error("Require a hypercube");if(t.qHyperCube.qDimensionInfo.length<2)return!1;const{status:r,dataMatrix:o}=await ro(t,e),i=function(t){if(t&&t.length){const e=[];return t.forEach(((t,n)=>{Qr[t.id]&&e.push({prop:Qr[t.id],index:n})})),e}return[]}(t.qHyperCube.qDimensionInfo[0].qAttrExprInfo);return o?o.length<1?null:function(t,e,n,r,o){const i={},a=[];for(let n=0;n<t.length;++n){const r=t[n],o=to(r),s={id:o,parentId:eo(r),children:[],elemNo:r[0].qElemNumber,attributes:oo(e,r[0].qAttrExps),measure:r[2]&&r[2].qText,rowNo:n};i[o]=s,a.push(s)}const s=[];let l=!1;for(let t=0;t<a.length;++t){const e=a[t],n=i[e.parentId];e.parent=n,n?n.children.length>98?l=!0:n.children.push({childNumber:n.children.length,...e}):s.length>98?l=!0:s.push(e)}if(0===s.length)return{error:"no_root",message:o.get("Object.OrgChart.MissingRoot")};const u=[];if(n===Jr&&u.push(o.get("Object.OrgChart.MaxData")),l&&u.push(o.get("Object.OrgChart.MaxChildren")),function(t){const e={},n={};function r(t){e[t.id]=!0,n[t.id]=!0;for(let o=0;o<t.children.length;++o){if(!e[t.children[o].id]&&r(t.children[o]))return!0;if(n[t.children[o].id])return!0}return n[t.id]=!1,!1}for(let n=0;n<t.length;++n){const o=t[n];if(!e[o.id]&&r(o))return!0}return!1}(a)&&u.push(o.get("Object.OrgChart.CycleWarning")),1===s.length)return s[0].warn=u,s[0].navigationMode=r,s[0];u.push(o.get("Object.OrgChart.DummyWarn"));const c={id:"Root",name:o.get("Object.OrgChart.DummyRoot"),isDummy:!0,warn:u,children:s,navigationMode:r};return s.forEach(((t,e)=>{t.parentId="Root",t.parent=c,t.childNumber=e})),c}(o,i,r,t.navigationMode,n):null}const so={cardWidth:152,cardHeight:64,widthMargin:32,heightMargin:56,buttonMargin:16,leafMargin:16,cardPadding:8,buttonWidth:48,buttonHeight:24,rootDiameter:20,r:4,tooltipWidth:240,tooltipPadding:15,maxZoom:6,minZoom:.2},lo=(t,e,n,r,o,i)=>{const{buttonMargin:a}=so,s=o&&o.initialX||0;return"expandAll"===i?(t[r]=t.x+s,t[r]):(t.parent?(t.parent[r]||(t.parent[r]=lo(t.parent,e,n,r,o)),"Root"===t.parent.data.id?t[r]=t.parent[r]+(t.data.childNumber-(t.parent.children.length-1)/2)*e:t[r]=io(t.parent.children)?t.parent[r]+a:t.parent[r]+(t.data.childNumber-(t.parent.children.length-1)/2)*e):t[r]=s,t[r])};function uo(t,e,n,r){const{widthMargin:o,heightMargin:i,cardWidth:a,cardHeight:s,cardPadding:l}=so;let u,c,h;if("ttb"===t)u=a+o,c="expandAll"===r?s+2*l:s+i,h={depthSpacing:c,isVertical:!0,x:t=>lo(t,u,e,"xActual",n,r),y:t=>((t,e,n,r,o)=>{const{cardHeight:i,leafMargin:a}=so,s=r&&r.initialY||0;return t.parent&&"Root"!==t.parent.data.id&&"expandAll"!==o&&io(t.parent.children)?t[n]=t.parent.y+e+t.data.childNumber*(i+a)+s:t[n]=t.y+s,t[n]})(t,c,"yActual",n,r)};return h}const co=t=>{const e=document.createElement("div"),n=document.createTextNode(t);return e.appendChild(n),e.innerHTML},ho=t=>{const e=["#"," ","(",")"];let n="";for(let r=0;r<t.length;r++){const o=t.charAt(r),i=t.charCodeAt(r);if(!o.match(/[a-zA-Z0-9]/)&&e.indexOf(o)<0){const t=i.toString(16);n+=`\\${"000000".substr(t.length)}${t}`}else n+=o}return n};function fo(t){const e=Kr.resolveExpression(t);return"none"!==e?e:ho(t)}var po=(t,n,r)=>{const{api:o,state:i}=r,a=o&&o.isActive()&&-1!==i.indexOf(t.elemNo),s=function(t,e){if(t.attributes&&t.attributes.color){const e=Kr.resolveExpression(t.attributes.color);if("none"!==e)return e}return fo(e.backgroundColor)}(t,n),l=fo(function(t,n){return"default"===t.fontColor?Kr.isDarkColor(n)?e.FONT_COLOR_LIGHT.color:e.FONT_COLOR_DARK.color:t.fontColor}(n,s)),u=t.attributes||{};let c=`<div class="sn-org-card-title">${co(u.label||t.id)}</div>`;if(u.subLabel&&(c+=`<div class="sn-org-card-label">${co(u.subLabel)}</div>`),t.measure){const e=n.measureLabel?`${n.measureLabel}: `:"";c+=`<div class="sn-org-card-label">${co(e+t.measure)}</div>`}else u.extraLabel&&(c+=`<div class="sn-org-card-label">${co(u.extraLabel)}</div>`);const h=o&&o.isActive()?a?" selected":" not-selected":"",{top:f=e.BORDER_TOP,fullBorder:d=e.BORDER_FULL,colorType:p=e.BORDER_COLOR_TYPE}=n.border,g="auto"===p?Kr.getDarkColor(s):fo(n.borderColor);let m=so.cardHeight;return a?m-=8:d?m-=4:f&&(m-=3),`<div class="sn-org-card-text${h}" style="background-color:${s};color:${l}; border:${d&&!a?`1px solid ${g}`:""}; border-top:${f&&!a?`3px solid ${g}`:""}; height:${m}px;">${c}</div>`},go=(t,e)=>{const{api:n,state:r,singleSelect:o,setState:i}=e;if(t&&n){let e;if(t.data.elemNo<0&&-3!==t.data.elemNo)return;if(t.data.isLocked)return;n.isActive()&&r?e=r.concat():(n.begin("/qHyperCubeDef"),e=[]);const a=e.indexOf(t.data.elemNo),s=-1===a;let l=[];o||(l=function(t,e){const n=[],r=t=>{t.children.forEach((t=>{t.data.selected=e,n.push(t.data.elemNo),t.children&&t.children.length>0&&r(t)}))};return t.children&&r(t),n}(t,s)),s?(e.push(t.data.elemNo),l.forEach((t=>{-1===e.indexOf(t)&&e.push(t)}))):(e.splice(a,1),l.forEach((t=>{const n=e.indexOf(t);-1!==n&&e.splice(n,1)}))),0===e.length?n.clear():n.select({method:"selectHyperCubeValues",params:["/qHyperCubeDef",0,e,!1]}),i(e)}};function mo(t,e,n,r,o,i,a,s=250){t.active=!0,t.timeout=setTimeout((()=>{t.active&&t.html(function(t,e){return`<div class="sn-org-tooltip-inner"><div class="sn-org-tooltip-header">${co(t.data.attributes.label||t.data.id)}</div>${t.data.attributes.subLabel?`${co(t.data.attributes.subLabel)}<br />`:""}${t.data.attributes.extraLabel?`${co(t.data.attributes.extraLabel)}<br />`:""}${co(t.data.measure?`${e.measureLabel?`${e.measureLabel}: `:""}${t.data.measure}`:"")}</div>`}(e,r)).classed("sn-org-tooltip-visible",!0).attr("style",(()=>function(t,e,n,r,o){const{cardWidth:i,tooltipPadding:a}=so,s=i/2;return`bottom:${e-(r(t)*o.zoom+o.y-a)}px;left:${n(t)*o.zoom+o.x+s*o.zoom}px;`}(e,n,o,i,a)))}),s)}function yo(t){clearTimeout(t.timeout),t.active=!1,t.classed("sn-org-tooltip-visible",!1)}function vo({positioning:t,divBox:e,nodes:n,styling:r,setExpandedCallback:o,wrapperState:i,selectionObj:a,navigationMode:s,element:l,tooltip:u}){const{x:c,y:h}=t,{cardWidth:f,cardHeight:d,buttonWidth:p,buttonHeight:g,cardPadding:m,rootDiameter:y}=so,{topId:v}=i.expandedState,b=n.find((t=>t.data.id===v)),x=b&&b.parent?b.parent.ancestors().map((t=>t.data.id)):[],w=document.getElementsByTagName("html")[0].classList.contains("touch-on");e.selectAll(".sn-org-nodes").data(n.filter((t=>t.parent&&"Root"===t.parent.data.id))).enter().append("div").attr("class","sn-org-root").attr("style",(t=>`top:${h(t)-y-m}px;left:${c(t)+(f-y)/2}px`)).attr("id",(t=>t.data.id)),e.selectAll(".sn-org-nodes").data(n.filter((t=>"Root"!==t.data.id))).enter().append("div").attr("class","sn-org-card").attr("style",(t=>`width:${f}px;height:${d}px; top:${h(t)}px;left:${c(t)}px;`)).attr("id",(t=>t.data.id)).on("click",(t=>{i.constraints.active||"Root"===t.data.id||(w&&mo(u,t,l.clientHeight,r,c,h,i.transform,0),go(t,a))})).html((t=>po(t.data,r,a))).on("mouseenter",(t=>{w||i.constraints.active||0!==event.buttons||mo(u,t,l.clientHeight,r,c,h,i.transform)})).on("mouseleave",(()=>{!w&&yo(u)})).on("mousedown",(()=>{yo(u)})).on("touchmove",(()=>{yo(u)})).on("wheel",(()=>{yo(u)})),"expandAll"!==s&&e.selectAll(".sn-org-nodes").data(n.filter((t=>!!t.children&&"Root"!==t.data.id))).enter().append("div").attr("class","sn-org-traverse").attr("style",(t=>`width:${p}px;height:${g}px;top:${h(t)+d+m}px;left:${c(t)+(f-p)/2}px;`)).attr("id",(t=>`${t.data.id}-expand`)).on("mouseenter",(()=>{i.constraints.active||(event.target.style.cursor="pointer")})).on("click",(t=>{i.constraints.active||(o(((t,{topId:e,isExpanded:n,expandedChildren:r},o)=>{if(t.data.id===e)n=!n,r=[];else if(o.includes(t.data.id))e=t.parent?t.parent.data.id:t.data.id,n=!!t.parent,r=[];else if(t.parent.data.id===e){const e=t.parent.children.filter((t=>r.includes(t.data.id))).every((t=>io(t.children)));r.includes(t.data.id)?r.splice(r.indexOf(t.data.id),1):io(t.children)&&e?r.push(t.data.id):r=[t.data.id]}else e=t.parent.data.id,n=!0,r=[t.data.id];return{topId:e,isExpanded:n,expandedChildren:r}})(t,i.expandedState,x)),event.stopPropagation())})).html((t=>`${((t,{topId:e,isExpanded:n,expandedChildren:r},o)=>t.data.id===e&&n||t.parent&&t.parent.data.id===e&&r.includes(t.data.id)||o.includes(t.data.id)?"-":"+")(t,i.expandedState,x)} ${t.data.children.length}`))}function bo(t,e,n,r){t.append("path").attr("class","sn-org-path").attr("id",(t=>t.data.id)).attr("d",(t=>{let n="";const o=function(t,e,{depthSpacing:n,isVertical:r,x:o,y:i},a){const{cardWidth:s,cardHeight:l,buttonHeight:u,cardPadding:c,buttonMargin:h}=so,f=[],d=s/2,p=l/2,g={x:t.xActual,y:t.yActual};if(t.parent&&"Root"!==t.parent.data.id){const e=n/2,s="expandAll"===a?l:l+c+u,m={x:o(t.parent)+d,y:i(t.parent)+s};"expandAll"!==a&&io(t.parent.children)?f.push(r?[{x:g.x,y:g.y+p},{x:m.x-d,y:g.y+p},{x:m.x-d,y:m.y+h},{x:m.x,y:m.y+h},{x:m.x,y:m.y}]:[{x:g.x,y:g.y},{x:g.x,y:m.y-p},{x:m.x+e,y:m.y-p},{x:m.x+e,y:m.y},{x:m.x,y:m.y}]):g.x===o(t.parent)||g.y===i(t.parent)?f.push([{x:g.x+d,y:g.y},{x:m.x,y:m.y}]):f.push(r?[{x:g.x+d,y:g.y},{x:g.x+d,y:g.y-c},{x:m.x,y:g.y-c},{x:m.x,y:m.y}]:[{x:g.x,y:g.y},{x:g.x-c,y:g.y},{x:g.x-c,y:m.y},{x:m.x,y:m.y}])}else t.parent&&f.push([{x:g.x+d,y:g.y},{x:g.x+d,y:g.y-c}]);return t.children&&"Root"!==t.data.id&&f.push([{x:g.x+d,y:g.y+l},{x:g.x+d,y:g.y+l+c}]),f}(t,0,e,r);return o.forEach((t=>{n+=function(t){const{r:e}=so;let n,r=`M ${t[0].x} ${t[0].y} `;const o=e=>{const r=t[e].x-t[e-1].x,o=t[e].y-t[e-1].y;n={x:(r>0)-(r<0)||+r,y:(o>0)-(o<0)||+o}};o(1);for(let i=1;i<t.length;++i){const a=t[i];i<t.length-1?(r+=`L ${a.x-n.x*e} ${a.y-n.y*e} `,o(i+1),r+=`Q ${a.x} ${a.y} ${a.x+n.x*e} ${a.y+n.y*e} `):r+=`L ${a.x} ${a.y} `}return r}(t).slice(0,-1)})),n}))}const xo=(t,e,n,r,o)=>{const i=t.k,a=`${t.x}px, ${t.y}px`;e.attr("transform",t),n.classed("org-disable-transition",!0),e.classed("org-disable-transition",!0),n.attr("style",`width:${r}px;height:${o}px; transform: translate(${a}) scale(${i})`)};const wo=({topId:t,isExpanded:e,expandedChildren:n},r,o,i)=>{if("expandAll"===i)return r.descendants();const a=r.descendants().find((e=>e.data.id===t))||r,s=[];if(e&&a.children&&a.children.forEach((t=>{s.push(t),t.children&&(-1!==n.indexOf(t.data.id)||o)&&t.children.forEach((e=>{s.push(e),-1!==n.indexOf(t.data.id)&&o&&e.children&&e.children.forEach((t=>{s.push(t)}))}))})),"free"===r.data.navigationMode&&a.parent){const t=a.parent.ancestors(),e=t.map((t=>t.data.id));t.forEach((t=>{o&&t.children.forEach((t=>{t.children&&-1===e.indexOf(t.data.id)&&t.data.id!==a.data.id&&s.unshift(...t.children)})),s.unshift(...t.children),t.parent||s.unshift(t)}))}else s.unshift(a);return s},_o=({element:t,dataTree:e,selectionObj:n,wrapperState:r,setInitialZoom:o,setTransform:i,setExpandedState:a,viewState:s,setContainerData:l,layout:u})=>{t.innerHTML="",t.className="sn-org-chart";const{navigationMode:c}=u;let h=uo("ttb",t,{},c);const{width:f,height:d}=t.getBoundingClientRect(),p=Et(t).append("span").attr("class","sn-org-zoomwrapper").on("click",(()=>{r.constraints.active||n.api.isActive()&&n.state||(n.api.begin("/qHyperCubeDef"),n.setState([]))})).node(),g=Et(p).selectAll("svg").data([{}]).enter().append("svg").attr("class","sn-org-svg").attr("width","100%").attr("height","100%"),m=Et(p).selectAll("div").data([{}]).enter().append("div").attr("class","sn-org-nodes"),y=Et(t).append("button").attr("class","sn-org-homebutton disabled").on("click",(()=>{_o({element:t,dataTree:e,selectionObj:n,wrapperState:r,setInitialZoom:o,setTransform:i,setExpandedState:a,viewState:s,setContainerData:l,layout:u})})).html('<span class="lui-fade-button__icon sn-org-home-icon">\n <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20" viewBox="0 0 16 16">\n <defs>\n <path id="home-a" d="M2,7.9 L8,3.4 L14,7.9 L14,16 L12,16 L12,11.2 C12,11.0895431 11.9104569,11 11.8,11 L9.2,11 C9.08954305,11 9,11.0895431 9,11.2 L9,16 L2,16 L2,7.9 Z M7,13.8 L7,11.2 C7,11.0895431 6.91045695,11 6.8,11 L4.2,11 C4.08954305,11 4,11.0895431 4,11.2 L4,13.8 C4,13.9104569 4.08954305,14 4.2,14 L6.8,14 C6.91045695,14 7,13.9104569 7,13.8 Z M13,4.1 L16,6.5 L15,7.5 L8,2 L1,7.5 L0,6.5 L8,0 L11,2.4 L11,1 L13,1 L13,4.1 Z"/>\n </defs>\n <use xlink:href="#home-a"/>\n </svg>\n </span>').node(),v=function(t){const e=Et(t).append("div").attr("class","sn-org-tooltip").on("mousedown",(()=>{e.classed("sn-org-tooltip-visible",!1)}));return e}(t);if(e.error)return Et(p).append("div").attr("class","sn-org-error").html(e.message),!1;e.warn&&e.warn.length&&Et(p).append("span").attr("class","sn-org-warning").html(`*${e.warn.join(" ")}`);const b=g.append("g").attr("class","sn-org-paths"),x=Jn().size([f,d]).nodeSize([so.cardWidth+so.cardPadding,h.depthSpacing])(In(e)),w=!r.expandedState||!x.descendants().find((t=>t.data.id===r.expandedState.topId)),_=w?{topId:x.data.id,isExpanded:!0,expandedChildren:[],useTransitions:!1}:r.expandedState,C=wo(_,x,!1,c);C.forEach((t=>{t.xActual&&t.yActual||(h.x(t),h.y(t))}));const L=(t=>{const{cardWidth:e,cardHeight:n,buttonHeight:r,buttonMargin:o}=so,i={left:1/0,top:1/0,right:-1/0,bottom:-1/0};return t.forEach((t=>{i.left=Math.min(t.xActual,i.left),i.top=Math.min(t.yActual,i.top),i.right=Math.max(t.xActual,i.right),i.bottom=Math.max(t.yActual,i.bottom)})),{x:i.left,y:i.top-r-o,width:i.right-i.left+e,height:i.bottom-i.top+n+2*(r+o)}})(C),k=s&&s.initialZoom?s.initialZoom:((t,e,n)=>{const{widthMargin:r,cardHeight:o,minZoom:i}=so,a="expandAll"===n?1/0:so.maxZoom,{width:s,height:l}=t,{clientHeight:u,clientWidth:c}=e,h=s+2*r,f=l+o,d=Math.max(Math.min(h/c,a),i),p=Math.max(Math.min(f/u,a),i);return d>p?{initialX:-t.x+r,initialY:-t.y+(u*d-l)/2,initialZoom:d}:{initialX:-t.x+(c*p-s)/2,initialY:o/2,initialZoom:p}})(L,t,c);return o(k),h=uo("ttb",t,k,c),function({containerData:t,setTransform:e,transformState:n,wrapperState:r,initialZoomState:o,navigationMode:i}){const{svg:a,divBox:s,width:l,height:u,zoomWrapper:c,element:h,tooltip:f,homeButton:d}=t,{x:p=0,y:g=0}=n,{minZoom:m,maxZoom:y}=so,v=n&&1/n.zoom||o.initialZoom,b="expandAll"===i?v:Math.max(Math.min(y,v),m),x=()=>{const t=document.createEvent("MouseEvents");t.initEvent("mousedown",!0,!1),h.dispatchEvent(t)};Et(c).call(Wr().extent([[0,0],[l,u]]).filter((()=>!(r.constraints.active||"dblclick"===pt.type||"mousedown"===pt.type&&3===pt.which))).scaleExtent(["expandAll"===i?.8:m*b,y*b]).on("start",x).on("zoom",(()=>{Et(d).attr("class","sn-org-homebutton lui-fade-button lui-fade-button--large"),e({zoom:pt.transform.k/b,x:pt.transform.x,y:pt.transform.y}),x(),yo(f),xo(jr.translate(pt.transform.x,pt.transform.y).scale(pt.transform.k/b),a,s,l,u)}))),e({zoom:1/b,x:p,y:g}),xo(jr.translate(p,g).scale(1/b),a,s,l,u)}({containerData:{svg:b,divBox:m,width:f,height:d,zoomWrapper:p,element:t,tooltip:v,homeButton:y},setTransform:i,transformState:s&&s.transform||{},wrapperState:r,initialZoomState:k,navigationMode:c}),w&&a(_),l({svg:b,divBox:m,allNodes:x,positioning:h,width:f,height:d,element:t,zoomWrapper:p,tooltip:v,homeButton:y})},Co=(t,e,n,r)=>{const o={expandedState:t,transform:e,size:{w:r.clientWidth,h:r.clientHeight},initialZoom:n};return o.expandedState.useTransitions=!1,o};function Lo(e,n,r,o,i){const a=t.useElement();t.onTakeSnapshot((t=>{t.snapshotData||(t.snapshotData={}),r.snapshotData&&r.snapshotData.viewState||(t.snapshotData.viewState=Co(e,o,i,a)),t.snapshotData.dataMatrix=((t,e,n)=>{if(n.snapshotData&&n.snapshotData.dataMatrix)return n.snapshotData.dataMatrix;const{navigationMode:r}=n,o=wo(t,e,!0,r),i=[],{qDataPages:a}=n.qHyperCube,s=[];return a.forEach((t=>{s.push(...t.qMatrix)})),o.forEach((t=>{void 0!==t.data.rowNo&&i.push(s[t.data.rowNo])})),i})(e,n.allNodes,r)})),t.useImperativeHandle((()=>({getViewState:()=>Co(e,o,i,a)})))}var ko={"Object.OrgChart":"Org chart","Object.OrgChart.Description":"Displays the relations of an organization or similarly structured data. Starts at the top and allows for navigation through the hierarchy.","Object.OrgChart.MaxData":"The maximum data limit is reached. The tree may display incorrectly.","Object.OrgChart.DummyWarn":"The data contains multiple root nodes.","Object.OrgChart.CycleWarning":"Data contains circular references, nodes are omitted.","Object.OrgChart.MissingRoot":"No root node, check your data for circular references.","Object.OrgChart.MaxChildren":"Maximum number of child nodes reached, nodes are omitted.","Object.OrgChart.LabelExpression":"Card title","Object.OrgChart.SubLabelExpression":"Card sub-title","Object.OrgChart.ExtraLabelExpression":"Card description","Object.OrgChart.ColorLabelExpression":"Card background color","Object.OrgChart.BackgroundColor":"Background color","Object.OrgChart.FontColor":"Font color","Object.OrgChart.IncludeDescendants":"Include descendants","Object.OrgChart.ExtraLabelDesc":"Description is only visible when a measure is not used"};function Eo(t){if(t&&t.get&&t.add){const e="Object.OrgChart.MaxData";if(t.get(e)!==e)return;Object.keys(ko).forEach((e=>{t.add({id:e,locale:{"en-US":ko[e]}})}))}}function Oo(t,e,n){let r;switch(t.colorType){case"byExpression":r=Kr.resolveExpression(t.colorExpression);break;case"colorPicker":r=e.getColorPickerColor(t.color);break;default:r=n}return"none"===r?n:r}const Mo=({Theme:t,layout:n})=>{const r=Oo(n.style.backgroundColor,t,e.BACKGROUND_COLOR.color),o=Oo(n.style.fontColor,t,"default"),i=n.qHyperCube.qMeasureInfo.length?n.qHyperCube.qMeasureInfo[0].qFallbackTitle:null,{border:a={colorType:e.BORDER_COLOR_TYPE}}=n.style;return{backgroundColor:r,fontColor:o,measureLabel:i,border:a,borderColor:"auto"!==a.colorType?Oo(a,t,Kr.getDarkColor(r)):Kr.getDarkColor(r)}},Ro=(t,e)=>{let{viewState:n}=t;return!n&&e.snapshotData&&e.snapshotData.viewState&&(n=e.snapshotData.viewState),n};function Ao(t,e){void 0===e&&(e={});var n=e.insertAt;if(t&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===n&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=t:o.appendChild(document.createTextNode(t))}}Ao(".sn-org-chart {\n /* Tooltip arrow */\n}\n.sn-org-chart .sn-org-tooltip {\n visibility: hidden;\n opacity: 0;\n /* Unsupported in IE, so there we set width explicitly */\n width: 230px;\n width: -moz-max-content;\n width: fit-content;\n /* Position the tooltip text */\n position: absolute;\n z-index: 1;\n}\n.sn-org-chart .sn-org-tooltip::after {\n content: '';\n position: absolute;\n top: 100%;\n left: 0%;\n margin-left: -10px;\n border-width: 10px;\n border-style: solid;\n border-color: #404040 transparent transparent transparent;\n}\n.sn-org-chart .sn-org-tooltip-visible {\n opacity: 0.9;\n visibility: visible;\n}\n.sn-org-chart .sn-org-tooltip-inner {\n max-width: 240px;\n right: 50%;\n font-family: 'QlikView Sans', sans-serif;\n position: relative;\n max-height: 150px;\n background-color: #404040;\n color: #e6e6e6;\n text-align: left;\n font-size: 13px;\n line-height: 15px;\n padding: 10px 10px 10px 10px;\n border-radius: 6px;\n overflow-wrap: break-word;\n word-wrap: break-word;\n word-break: break-word;\n overflow: hidden;\n}\n.sn-org-chart .sn-org-tooltip-inner .sn-org-tooltip-header {\n font-weight: bold;\n padding-bottom: 5px;\n}\n");Ao(".sn-org-chart .sn-org-svg {\n position: absolute;\n /* For css only transitions, does not work in IE11 */\n}\n.sn-org-chart .sn-org-svg .sn-org-path {\n fill: none;\n stroke: #4c4c4c;\n stroke-width: 1;\n}\n.sn-org-chart .sn-org-svg .sn-org-paths:not(.org-disable-transition) {\n transform-origin: 0% 0%;\n transition-property: all;\n transition-duration: 0.5s;\n}\n");Ao(".sn-org-chart .sn-org-warning {\n position: absolute;\n bottom: 0px;\n left: 0px;\n font-style: italic;\n font-size: 13px;\n color: #7b7a78;\n}\n.sn-org-chart .sn-org-error {\n margin: 0;\n position: absolute;\n top: 50%;\n left: 50%;\n font-size: 1.2em;\n transform: translate(-50%, -50%);\n}\n");Ao(".sn-org-chart {\n overflow: hidden;\n}\n.sn-org-chart .sn-org-nodes {\n position: absolute;\n transform-origin: 0% 0%;\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n backface-visibility: hidden;\n}\n.sn-org-chart .sn-org-nodes:not(.org-disable-transition) {\n transition-property: all;\n transition-duration: 0.5s;\n}\n.sn-org-chart .sn-org-nodes .sn-org-traverse {\n position: absolute;\n background-color: white;\n font-size: 20px;\n font-weight: bold;\n border-radius: 3px;\n border: 1px solid #8c8c8c;\n text-align: center;\n line-height: 24px;\n}\n.sn-org-chart .sn-org-nodes .sn-org-root {\n position: absolute;\n background-color: #8c8c8c;\n width: 20px;\n height: 20px;\n border-radius: 20px;\n}\n.sn-org-chart .sn-org-nodes .sn-org-card {\n position: absolute;\n}\n.sn-org-chart .sn-org-nodes .sn-org-card .sn-org-card-text {\n padding-left: 5px;\n padding-right: 5px;\n border-radius: 3px;\n}\n.sn-org-chart .sn-org-nodes .sn-org-card .sn-org-card-text.selected {\n border: 4px solid black;\n border-radius: 4px;\n}\n.sn-org-chart .sn-org-nodes .sn-org-card .sn-org-card-text.not-selected {\n opacity: 0.5;\n}\n.sn-org-chart .sn-org-nodes .sn-org-card .sn-org-card-title {\n font-size: 14px;\n font-weight: bold;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.sn-org-chart .sn-org-nodes .sn-org-card .sn-org-card-label {\n font-size: 11px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n");return Ao(".sn-org-chart .sn-org-homebutton {\n position: absolute;\n top: 20px;\n right: 20px;\n height: 20px;\n width: 20px;\n border-color: transparent;\n background-color: transparent;\n fill: rgba(89, 89, 89, 0.8);\n transition: fill 200ms ease-out;\n}\n.sn-org-chart .sn-org-homebutton:hover {\n fill: #595959;\n}\n.sn-org-chart .sn-org-homebutton.disabled {\n display: none;\n}\n"),function(e){return{qae:{properties:n,data:r},component:()=>{const e=t.useStaleLayout(),n=t.useModel(),r=t.useElement(),o=t.useTheme(),i=t.useOptions(),a=t.useRect(),s=t.useConstraints(),l=t.useTranslator(),[u,c]=t.useState(null),[h,f]=t.useState(null),[d,p]=t.useState(null),[g,m]=t.useState(null),[y,v]=t.useState(null),[b]=t.useState({transform:{},constraints:s,expandedState:d}),x=function(e){const[n,r]=t.useState(!1),o=t.useSelections(),i=!!t.useLayout().qSelectionInfo.qInSelections,[a]=t.useState({api:o,setState:t=>{a.state=t},state:[],singleSelect:!1});t.useEffect((()=>{Eo(e)}),[e]);const s=()=>{a.state=[]},l=()=>{a.state=[],r(!1)};return t.useEffect((()=>a.api?(a.api=o,a.api.on("deactivated",s),a.api.on("canceled",l),a.api.on("confirmed",l),a.api.on("cleared",s),()=>{a.api.removeListener("deactivated",s),a.api.removeListener("canceled",l),a.api.removeListener("confirmed",l),a.api.removeListener("cleared",s)}):()=>{}),[o]),t.useEffect((()=>{a.singleSelect=n}),[n]),t.useAction((()=>({action(){r(!n)},icon:{shapes:[{type:"path",attrs:{d:"M9.5,15 C9.77614237,15 10,15.2238576 10,15.5 C10,15.7761424 9.77614237,16 9.5,16 L6.5,16 C6.22385763,16 6,15.7761424 6,15.5 C6,15.2238576 6.22385763,15 6.5,15 L9.5,15 Z M15.5,13 C15.7761424,13 16,13.2238576 16,13.5 L16,15 C16,15.5522847 15.5522847,16 15,16 L13.5,16 C13.2238576,16 13,15.7761424 13,15.5 C13,15.2238576 13.2238576,15 13.5,15 L14.4,15 C14.7313708,15 15,14.7313708 15,14.4 L15,13.5 C15,13.2238576 15.2238576,13 15.5,13 Z M0.5,13 C0.776142375,13 1,13.2238576 1,13.5 L1,14.4 C1,14.7313708 1.26862915,15 1.6,15 L2.5,15 C2.77614237,15 3,15.2238576 3,15.5 C3,15.7761424 2.77614237,16 2.5,16 L1,16 C0.44771525,16 0,15.5522847 0,15 L0,13.5 C0,13.2238576 0.223857625,13 0.5,13 Z M6.8,9 C6.91045695,9 7,9.08954305 7,9.2 L7,12.8 C7,12.9104569 6.91045695,13 6.8,13 L3.2,13 C3.08954305,13 3,12.9104569 3,12.8 L3,9.2 C3,9.08954305 3.08954305,9 3.2,9 L6.8,9 Z M12.8,9 C12.9104569,9 13,9.08954305 13,9.2 L13,12.8 C13,12.9104569 12.9104569,13 12.8,13 L9.2,13 C9.08954305,13 9,12.9104569 9,12.8 L9,9.2 C9,9.08954305 9.08954305,9 9.2,9 L12.8,9 Z M6,10 L4,10 L4,12 L6,12 L6,10 Z M12,10 L10,10 L10,12 L12,12 L12,10 Z M15.5,6 C15.7761424,6 16,6.22385763 16,6.5 L16,9.5 C16,9.77614237 15.7761424,10 15.5,10 C15.2238576,10 15,9.77614237 15,9.5 L15,6.5 C15,6.22385763 15.2238576,6 15.5,6 Z M0.5,6 C0.776142375,6 1,6.22385763 1,6.5 L1,9.5 C1,9.77614237 0.776142375,10 0.5,10 C0.223857625,10 0,9.77614237 0,9.5 L0,6.5 C0,6.22385763 0.223857625,6 0.5,6 Z M6.8,3 C6.91045695,3 7,3.08954305 7,3.2 L7,6.8 C7,6.91045695 6.91045695,7 6.8,7 L3.2,7 C3.08954305,7 3,6.91045695 3,6.8 L3,3.2 C3,3.08954305 3.08954305,3 3.2,3 L6.8,3 Z M12.8,3 C12.9104569,3 13,3.08954305 13,3.2 L13,6.8 C13,6.91045695 12.9104569,7 12.8,7 L9.2,7 C9.08954305,7 9,6.91045695 9,6.8 L9,3.2 C9,3.08954305 9.08954305,3 9.2,3 L12.8,3 Z M12,4 L10,4 L10,6 L12,6 L12,4 Z M2.5,5.70654635e-14 C2.77614237,5.70654635e-14 3,0.223857625 3,0.5 C3,0.776142375 2.77614237,1 2.5,1 L1.6,1 C1.26862915,1 1,1.26862915 1,1.6 L1,2.5 C1,2.77614237 0.776142375,3 0.5,3 C0.223857625,3 0,2.77614237 0,2.5 L0,1 C0,0.44771525 0.44771525,5.70654635e-14 1,5.70654635e-14 L2.5,5.70654635e-14 Z M15,0 C15.5522847,0 16,0.44771525 16,1 L16,2.5 C16,2.77614237 15.7761424,3 15.5,3 C15.2238576,3 15,2.77614237 15,2.5 L15,1.6 C15,1.26862915 14.7313708,1 14.4,1 L13.5,1 C13.2238576,1 13,0.776142375 13,0.5 C13,0.223857625 13.2238576,0 13.5,0 L15,0 Z M9.5,5.67323966e-14 C9.77614237,5.67323966e-14 10,0.223857625 10,0.5 C10,0.776142375 9.77614237,1 9.5,1 L6.5,1 C6.22385763,1 6,0.776142375 6,0.5 C6,0.223857625 6.22385763,5.67323966e-14 6.5,5.67323966e-14 L9.5,5.67323966e-14 Z"}}]},active:n,hidden:!i,label:e.get("Object.OrgChart.SingleSelect")})),[n,i]),t.useEffect((()=>{const t=t=>{"Shift"===t.key&&r(!0)},e=t=>{"Shift"===t.key&&r(!1)};return document.addEventListener("keydown",t),document.addEventListener("keyup",e),()=>{document.removeEventListener("keydown",t),document.removeEventListener("keyup",e)}}),[]),a}(l);t.useEffect((()=>{Eo(l)}),[l.language()]),t.useEffect((()=>{b.constraints=s}),[s]),t.useEffect((()=>{b.transform=g}),[g]),t.useEffect((()=>{b.expandedState=d}),[d]);const w=t=>{t.useTransitions=!0,p(t)},[_]=t.usePromise((()=>{if(!e)return Promise.resolve();const t=Ro(i,e);return t&&t.expandedState&&p(t.expandedState),t&&t.transform&&m(t.transform),ao({layout:e,model:n,translator:l}).then((t=>(f(Mo({Theme:o,layout:e})),x.setState([]),t)))}),[e,n,l.language(),o.name()]),C=()=>{if(r&&_){const t=Ro(i,e);_o({element:r,dataTree:_,viewState:t,wrapperState:b,selectionObj:x,setInitialZoom:v,setTransform:m,setExpandedState:p,setContainerData:c,layout:e})}},L=()=>{u&&d&&h&&(({containerData:t,styling:e,setExpandedCallback:n,wrapperState:r,selectionObj:o,element:i})=>{const{svg:a,divBox:s,allNodes:l,positioning:u,tooltip:c}=t,{navigationMode:h}=l.data;s.selectAll("*").remove(),a.selectAll("*").remove();const f=wo(r.expandedState,l,!1,h);vo({positioning:u,divBox:s,nodes:f,styling:e,setExpandedCallback:n,wrapperState:r,selectionObj:o,navigationMode:h,element:i,tooltip:c}),bo(a.selectAll(".sn-org-paths").data(f).enter(),u,r.expandedState.topId,h)})({containerData:u,styling:h,setExpandedCallback:w,wrapperState:b,selectionObj:x,useTransitions:d.useTransitions,element:r})};t.useEffect((()=>{L()}),[u,x.state]),t.useEffect((()=>{C()}),[r,_,s]),t.useEffect((()=>{e.resizeOnExpand?C():L()}),[d]),t.useEffect((()=>{if(u&&e&&e.snapshotData){const t=((t,e,n)=>{if(!e)return jr.translate(n.x,n.y).scale(n.zoom);const{size:r}=e,o=t.width/r.w>t.height/r.h?t.height/r.h:t.width/r.w,i=e.transform.x*o,a=e.transform.y*o,s=e.transform.zoom*o;return jr.translate(i,a).scale(s)})(a,e.snapshotData.viewState,g);xo(t,u.svg,u.divBox,a.width,a.height)}}),[a,u]),Lo(d,u,e,g,y)},ext:u}}}));
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sn-org-chart",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "Org chart supernova",
5
5
  "author": "QlikTech International AB",
6
6
  "icon": "extension",