gridviz 2.0.11 → 2.0.12

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 +1,2 @@
1
- !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.gviz=e():t.gviz=e()}(self,(()=>(()=>{"use strict";var t={d:(e,n)=>{for(var r in n)t.o(n,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};function n(){}function r(t){return null==t?n:function(){return this.querySelector(t)}}function o(t){return null==t?[]:Array.isArray(t)?t:Array.from(t)}function i(){return[]}function a(t){return null==t?i:function(){return this.querySelectorAll(t)}}function u(t){return function(){return this.matches(t)}}function l(t){return function(e){return e.matches(t)}}t.r(e),t.d(e,{App:()=>jo,BackgroundLayer:()=>fo,BoundaryLayer:()=>xo,CSVGrid:()=>Gr,ColorCategoryLegend:()=>Ru,ColorDiscreteLegend:()=>Cu,ColorLegend:()=>xu,CompositionStyle:()=>ni,ContourStyle:()=>$i,Dataset:()=>hr,DatasetComponent:()=>Fr,DotDensityStyle:()=>ya,JoyPlotStyle:()=>Vo,KernelSmoothingStyle:()=>Pi,LabelLayer:()=>vo,Layer:()=>ar,LegoStyle:()=>$a,MosaicStyle:()=>Qa,PillarStyle:()=>Mi,SegmentStyle:()=>ci,SegmentWidthLegend:()=>$u,ShapeColorSizeStyle:()=>Ro,SideCatStyle:()=>Ji,SideStyle:()=>Di,SizeLegend:()=>Nu,SquareColorCatWGLStyle:()=>Fa,SquareColorWGLStyle:()=>_a,StrokeStyle:()=>Do,TanakaStyle:()=>ja,TextStyle:()=>di,TiledGrid:()=>uo,getClass:()=>Jr,getEuronymeLabelLayer:()=>wc,getEurostatBoundariesLayer:()=>xc,getParameterByName:()=>Sc,goToStraight:()=>Vu,sCircleHigh:()=>Qu,sCircleLow:()=>Ju,sExp:()=>Hu,sExpInverse:()=>tl,sExpRev:()=>Ku,sExpRevInverse:()=>el,sPow:()=>Xu,sPowInverse:()=>nl,sPowRev:()=>qu,sPowRevInverse:()=>rl,zoomTo:()=>Yu});var c=Array.prototype.find;function f(){return this.firstElementChild}var s=Array.prototype.filter;function h(){return Array.from(this.children)}function y(t){return new Array(t.length)}function p(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}function v(t){return function(){return t}}function d(t,e,n,r,o,i){for(var a,u=0,l=e.length,c=i.length;u<c;++u)(a=e[u])?(a.__data__=i[u],r[u]=a):n[u]=new p(t,i[u]);for(;u<l;++u)(a=e[u])&&(o[u]=a)}function m(t,e,n,r,o,i,a){var u,l,c,f=new Map,s=e.length,h=i.length,y=new Array(s);for(u=0;u<s;++u)(l=e[u])&&(y[u]=c=a.call(l,l.__data__,u,e)+"",f.has(c)?o[u]=l:f.set(c,l));for(u=0;u<h;++u)c=a.call(t,i[u],u,i)+"",(l=f.get(c))?(r[u]=l,l.__data__=i[u],f.delete(c)):n[u]=new p(t,i[u]);for(u=0;u<s;++u)(l=e[u])&&f.get(y[u])===l&&(o[u]=l)}function b(t){return t.__data__}function g(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}function w(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}p.prototype={constructor:p,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)}};var x="http://www.w3.org/1999/xhtml";const S={svg:"http://www.w3.org/2000/svg",xhtml:x,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function _(t){var e=t+="",n=e.indexOf(":");return n>=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),S.hasOwnProperty(e)?{space:S[e],local:t}:t}function P(t){return function(){this.removeAttribute(t)}}function O(t){return function(){this.removeAttributeNS(t.space,t.local)}}function j(t,e){return function(){this.setAttribute(t,e)}}function C(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function k(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}}function E(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 T(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function A(t){return function(){this.style.removeProperty(t)}}function M(t,e,n){return function(){this.style.setProperty(t,e,n)}}function R(t,e,n){return function(){var r=e.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}function z(t,e){return t.style.getPropertyValue(e)||T(t).getComputedStyle(t,null).getPropertyValue(e)}function F(t){return function(){delete this[t]}}function I(t,e){return function(){this[t]=e}}function L(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}function B(t){return t.trim().split(/^|\s+/)}function N(t){return t.classList||new D(t)}function D(t){this._node=t,this._names=B(t.getAttribute("class")||"")}function Z(t,e){for(var n=N(t),r=-1,o=e.length;++r<o;)n.add(e[r])}function U(t,e){for(var n=N(t),r=-1,o=e.length;++r<o;)n.remove(e[r])}function W(t){return function(){Z(this,t)}}function G(t){return function(){U(this,t)}}function $(t,e){return function(){(e.apply(this,arguments)?Z:U)(this,t)}}function Y(){this.textContent=""}function V(t){return function(){this.textContent=t}}function X(t){return function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}}function q(){this.innerHTML=""}function H(t){return function(){this.innerHTML=t}}function K(t){return function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}}function J(){this.nextSibling&&this.parentNode.appendChild(this)}function Q(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function tt(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===x&&e.documentElement.namespaceURI===x?e.createElement(t):e.createElementNS(n,t)}}function et(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function nt(t){var e=_(t);return(e.local?et:tt)(e)}function rt(){return null}function ot(){var t=this.parentNode;t&&t.removeChild(this)}function it(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function at(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function ut(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 lt(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.options);++o?e.length=o:delete this.__on}}}function ct(t,e,n){return function(){var r,o=this.__on,i=function(t){return function(e){t.call(this,e,this.__data__)}}(e);if(o)for(var a=0,u=o.length;a<u;++a)if((r=o[a]).type===t.type&&r.name===t.name)return this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=i,r.options=n),void(r.value=e);this.addEventListener(t.type,i,n),r={type:t.type,name:t.name,value:e,listener:i,options:n},o?o.push(r):this.__on=[r]}}function ft(t,e,n){var r=T(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 st(t,e){return function(){return ft(this,t,e)}}function ht(t,e){return function(){return ft(this,t,e.apply(this,arguments))}}D.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 yt=[null];function pt(t,e){this._groups=t,this._parents=e}function vt(){return new pt([[document.documentElement]],yt)}pt.prototype=vt.prototype={constructor:pt,select:function(t){"function"!=typeof t&&(t=r(t));for(var e=this._groups,n=e.length,o=new Array(n),i=0;i<n;++i)for(var a,u,l=e[i],c=l.length,f=o[i]=new Array(c),s=0;s<c;++s)(a=l[s])&&(u=t.call(a,a.__data__,s,l))&&("__data__"in a&&(u.__data__=a.__data__),f[s]=u);return new pt(o,this._parents)},selectAll:function(t){t="function"==typeof t?function(t){return function(){return o(t.apply(this,arguments))}}(t):a(t);for(var e=this._groups,n=e.length,r=[],i=[],u=0;u<n;++u)for(var l,c=e[u],f=c.length,s=0;s<f;++s)(l=c[s])&&(r.push(t.call(l,l.__data__,s,c)),i.push(l));return new pt(r,i)},selectChild:function(t){return this.select(null==t?f:function(t){return function(){return c.call(this.children,t)}}("function"==typeof t?t:l(t)))},selectChildren:function(t){return this.selectAll(null==t?h:function(t){return function(){return s.call(this.children,t)}}("function"==typeof t?t:l(t)))},filter:function(t){"function"!=typeof t&&(t=u(t));for(var e=this._groups,n=e.length,r=new Array(n),o=0;o<n;++o)for(var i,a=e[o],l=a.length,c=r[o]=[],f=0;f<l;++f)(i=a[f])&&t.call(i,i.__data__,f,a)&&c.push(i);return new pt(r,this._parents)},data:function(t,e){if(!arguments.length)return Array.from(this,b);var n=e?m:d,r=this._parents,o=this._groups;"function"!=typeof t&&(t=v(t));for(var i=o.length,a=new Array(i),u=new Array(i),l=new Array(i),c=0;c<i;++c){var f=r[c],s=o[c],h=s.length,y=g(t.call(f,f&&f.__data__,c,r)),p=y.length,w=u[c]=new Array(p),x=a[c]=new Array(p),S=l[c]=new Array(h);n(f,s,w,x,S,y,e);for(var _,P,O=0,j=0;O<p;++O)if(_=w[O]){for(O>=j&&(j=O+1);!(P=x[j])&&++j<p;);_._next=P||null}}return(a=new pt(a,r))._enter=u,a._exit=l,a},enter:function(){return new pt(this._enter||this._groups.map(y),this._parents)},exit:function(){return new pt(this._exit||this._groups.map(y),this._parents)},join:function(t,e,n){var r=this.enter(),o=this,i=this.exit();return"function"==typeof t?(r=t(r))&&(r=r.selection()):r=r.append(t+""),null!=e&&(o=e(o))&&(o=o.selection()),null==n?i.remove():n(i),r&&o?r.merge(o).order():o},merge:function(t){for(var e=t.selection?t.selection():t,n=this._groups,r=e._groups,o=n.length,i=r.length,a=Math.min(o,i),u=new Array(o),l=0;l<a;++l)for(var c,f=n[l],s=r[l],h=f.length,y=u[l]=new Array(h),p=0;p<h;++p)(c=f[p]||s[p])&&(y[p]=c);for(;l<o;++l)u[l]=n[l];return new pt(u,this._parents)},selection:function(){return this},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=w);for(var n=this._groups,r=n.length,o=new Array(r),i=0;i<r;++i){for(var a,u=n[i],l=u.length,c=o[i]=new Array(l),f=0;f<l;++f)(a=u[f])&&(c[f]=a);c.sort(e)}return new pt(o,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){return Array.from(this)},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(){let t=0;for(const e of this)++t;return 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,u=i.length;a<u;++a)(o=i[a])&&t.call(o,o.__data__,a,i);return this},attr:function(t,e){var n=_(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?O:P:"function"==typeof e?n.local?E:k:n.local?C:j)(n,e))},style:function(t,e,n){return arguments.length>1?this.each((null==e?A:"function"==typeof e?R:M)(t,e,null==n?"":n)):z(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?F:"function"==typeof e?L:I)(t,e)):this.node()[t]},classed:function(t,e){var n=B(t+"");if(arguments.length<2){for(var r=N(this.node()),o=-1,i=n.length;++o<i;)if(!r.contains(n[o]))return!1;return!0}return this.each(("function"==typeof e?$:e?W:G)(n,e))},text:function(t){return arguments.length?this.each(null==t?Y:("function"==typeof t?X:V)(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?q:("function"==typeof t?K:H)(t)):this.node().innerHTML},raise:function(){return this.each(J)},lower:function(){return this.each(Q)},append:function(t){var e="function"==typeof t?t:nt(t);return this.select((function(){return this.appendChild(e.apply(this,arguments))}))},insert:function(t,e){var n="function"==typeof t?t:nt(t),o=null==e?rt:"function"==typeof e?e:r(e);return this.select((function(){return this.insertBefore(n.apply(this,arguments),o.apply(this,arguments)||null)}))},remove:function(){return this.each(ot)},clone:function(t){return this.select(t?at:it)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,e,n){var r,o,i=ut(t+""),a=i.length;if(!(arguments.length<2)){for(u=e?ct:lt,r=0;r<a;++r)this.each(u(i[r],e,n));return this}var u=this.node().__on;if(u)for(var l,c=0,f=u.length;c<f;++c)for(r=0,l=u[c];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?ht:st)(t,e))},[Symbol.iterator]:function*(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r,o=t[e],i=0,a=o.length;i<a;++i)(r=o[i])&&(yield r)}};const dt=vt;function mt(t){return"string"==typeof t?new pt([[document.querySelector(t)]],[document.documentElement]):new pt([[t]],yt)}var bt={value:()=>{}};function gt(){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 wt(r)}function wt(t){this._=t}function xt(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 St(t,e){for(var n,r=0,o=t.length;r<o;++r)if((n=t[r]).name===e)return n.value}function _t(t,e,n){for(var r=0,o=t.length;r<o;++r)if(t[r].name===e){t[r]=bt,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=n&&t.push({name:e,value:n}),t}wt.prototype=gt.prototype={constructor:wt,on:function(t,e){var n,r=this._,o=xt(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]=_t(r[n],t.name,e);else if(null==e)for(n in r)r[n]=_t(r[n],t.name,null);return this}for(;++i<a;)if((n=(t=o[i]).type)&&(n=St(r[n],t.name)))return n},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new wt(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)}};const Pt=gt,Ot={capture:!0,passive:!1};function jt(t){t.preventDefault(),t.stopImmediatePropagation()}function Ct(t){var e=t.document.documentElement,n=mt(t).on("dragstart.drag",jt,Ot);"onselectstart"in e?n.on("selectstart.drag",jt,Ot):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function kt(t,e){var n=t.document.documentElement,r=mt(t).on("dragstart.drag",null);e&&(r.on("click.drag",jt,Ot),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 Et(t){return((t=Math.exp(t))+1/t)/2}const Tt=function t(e,n,r){function o(t,o){var i,a,u=t[0],l=t[1],c=t[2],f=o[0],s=o[1],h=o[2],y=f-u,p=s-l,v=y*y+p*p;if(v<1e-12)a=Math.log(h/c)/e,i=function(t){return[u+t*y,l+t*p,c*Math.exp(e*t*a)]};else{var d=Math.sqrt(v),m=(h*h-c*c+r*v)/(2*c*n*d),b=(h*h-c*c-r*v)/(2*h*n*d),g=Math.log(Math.sqrt(m*m+1)-m),w=Math.log(Math.sqrt(b*b+1)-b);a=(w-g)/e,i=function(t){var r,o=t*a,i=Et(g),f=c/(n*d)*(i*(r=e*o+g,((r=Math.exp(2*r))-1)/(r+1))-function(t){return((t=Math.exp(t))-1/t)/2}(g));return[u+f*y,l+f*p,c*i/Et(e*o+g)]}}return i.duration=1e3*a*e/Math.SQRT2,i}return o.rho=function(e){var n=Math.max(.001,+e),r=n*n;return t(n,r,r*r)},o}(Math.SQRT2,2,4);function At(t,e){if(t=function(t){let e;for(;e=t.sourceEvent;)t=e;return t}(t),void 0===e&&(e=t.currentTarget),e){var n=e.ownerSVGElement||e;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=t.clientX,r.y=t.clientY,[(r=r.matrixTransform(e.getScreenCTM().inverse())).x,r.y]}if(e.getBoundingClientRect){var o=e.getBoundingClientRect();return[t.clientX-o.left-e.clientLeft,t.clientY-o.top-e.clientTop]}}return[t.pageX,t.pageY]}var Mt,Rt,zt=0,Ft=0,It=0,Lt=0,Bt=0,Nt=0,Dt="object"==typeof performance&&performance.now?performance:Date,Zt="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Ut(){return Bt||(Zt(Wt),Bt=Dt.now()+Nt)}function Wt(){Bt=0}function Gt(){this._call=this._time=this._next=null}function $t(t,e,n){var r=new Gt;return r.restart(t,e,n),r}function Yt(){Bt=(Lt=Dt.now())+Nt,zt=Ft=0;try{!function(){Ut(),++zt;for(var t,e=Mt;e;)(t=Bt-e._time)>=0&&e._call.call(void 0,t),e=e._next;--zt}()}finally{zt=0,function(){for(var t,e,n=Mt,r=1/0;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:Mt=e);Rt=t,Xt(r)}(),Bt=0}}function Vt(){var t=Dt.now(),e=t-Lt;e>1e3&&(Nt-=e,Lt=t)}function Xt(t){zt||(Ft&&(Ft=clearTimeout(Ft)),t-Bt>24?(t<1/0&&(Ft=setTimeout(Yt,t-Dt.now()-Nt)),It&&(It=clearInterval(It))):(It||(Lt=Dt.now(),It=setInterval(Vt,1e3)),zt=1,Zt(Yt)))}function qt(t,e,n){var r=new Gt;return e=null==e?0:+e,r.restart((n=>{r.stop(),t(n+e)}),e,n),r}Gt.prototype=$t.prototype={constructor:Gt,restart:function(t,e,n){if("function"!=typeof t)throw new TypeError("callback is not a function");n=(null==n?Ut():+n)+(null==e?0:+e),this._next||Rt===this||(Rt?Rt._next=this:Mt=this,Rt=this),this._call=t,this._time=n,Xt()},stop:function(){this._call&&(this._call=null,this._time=1/0,Xt())}};var Ht=Pt("start","end","cancel","interrupt"),Kt=[];function Jt(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(l){var c,f,s,h;if(1!==n.state)return u();for(c in o)if((h=o[c]).name===n.name){if(3===h.state)return qt(i);4===h.state?(h.state=6,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete o[c]):+c<e&&(h.state=6,h.timer.stop(),h.on.call("cancel",t,t.__data__,h.index,h.group),delete o[c])}if(qt((function(){3===n.state&&(n.state=4,n.timer.restart(a,n.delay,n.time),a(l))})),n.state=2,n.on.call("start",t,t.__data__,n.index,n.group),2===n.state){for(n.state=3,r=new Array(s=n.tween.length),c=0,f=-1;c<s;++c)(h=n.tween[c].value.call(t,t.__data__,n.index,n.group))&&(r[++f]=h);r.length=f+1}}function a(e){for(var o=e<n.duration?n.ease.call(null,e/n.duration):(n.timer.restart(u),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),u())}function u(){for(var r in n.state=6,n.timer.stop(),delete o[e],o)return;delete t.__transition}o[e]=n,n.timer=$t((function(t){n.state=1,n.timer.restart(i,n.delay,n.time),n.delay<=t&&i(t-n.delay)}),0,n.time)}(t,n,{name:e,index:r,group:o,on:Ht,tween:Kt,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:0})}function Qt(t,e){var n=ee(t,e);if(n.state>0)throw new Error("too late; already scheduled");return n}function te(t,e){var n=ee(t,e);if(n.state>3)throw new Error("too late; already running");return n}function ee(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function ne(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 re(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}var oe,ie=180/Math.PI,ae={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function ue(t,e,n,r,o,i){var a,u,l;return(a=Math.sqrt(t*t+e*e))&&(t/=a,e/=a),(l=t*n+e*r)&&(n-=t*l,r-=e*l),(u=Math.sqrt(n*n+r*r))&&(n/=u,r/=u,l/=u),t*r<e*n&&(t=-t,e=-e,l=-l,a=-a),{translateX:o,translateY:i,rotate:Math.atan2(e,t)*ie,skewX:Math.atan(l)*ie,scaleX:a,scaleY:u}}function le(t,e,n,r){function o(t){return t.length?t.pop()+" ":""}return function(i,a){var u=[],l=[];return i=t(i),a=t(a),function(t,r,o,i,a,u){if(t!==o||r!==i){var l=a.push("translate(",null,e,null,n);u.push({i:l-4,x:re(t,o)},{i:l-2,x:re(r,i)})}else(o||i)&&a.push("translate("+o+e+i+n)}(i.translateX,i.translateY,a.translateX,a.translateY,u,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:re(t,e)})):e&&n.push(o(n)+"rotate("+e+r)}(i.rotate,a.rotate,u,l),function(t,e,n,i){t!==e?i.push({i:n.push(o(n)+"skewX(",null,r)-2,x:re(t,e)}):e&&n.push(o(n)+"skewX("+e+r)}(i.skewX,a.skewX,u,l),function(t,e,n,r,i,a){if(t!==n||e!==r){var u=i.push(o(i)+"scale(",null,",",null,")");a.push({i:u-4,x:re(t,n)},{i:u-2,x:re(e,r)})}else 1===n&&1===r||i.push(o(i)+"scale("+n+","+r+")")}(i.scaleX,i.scaleY,a.scaleX,a.scaleY,u,l),i=a=null,function(t){for(var e,n=-1,r=l.length;++n<r;)u[(e=l[n]).i]=e.x(t);return u.join("")}}}var ce=le((function(t){const e=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?ae:ue(e.a,e.b,e.c,e.d,e.e,e.f)}),"px, ","px)","deg)"),fe=le((function(t){return null==t?ae:(oe||(oe=document.createElementNS("http://www.w3.org/2000/svg","g")),oe.setAttribute("transform",t),(t=oe.transform.baseVal.consolidate())?ue((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):ae)}),", ",")",")");function se(t,e){var n,r;return function(){var o=te(this,t),i=o.tween;if(i!==n)for(var a=0,u=(r=n=i).length;a<u;++a)if(r[a].name===e){(r=r.slice()).splice(a,1);break}o.tween=r}}function he(t,e,n){var r,o;if("function"!=typeof n)throw new Error;return function(){var i=te(this,t),a=i.tween;if(a!==r){o=(r=a).slice();for(var u={name:e,value:n},l=0,c=o.length;l<c;++l)if(o[l].name===e){o[l]=u;break}l===c&&o.push(u)}i.tween=o}}function ye(t,e,n){var r=t._id;return t.each((function(){var t=te(this,r);(t.value||(t.value={}))[e]=n.apply(this,arguments)})),function(t){return ee(t,r).value[e]}}function pe(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function ve(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function de(){}var me=.7,be=1/me,ge="\\s*([+-]?\\d+)\\s*",we="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",xe="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Se=/^#([0-9a-f]{3,8})$/,_e=new RegExp(`^rgb\\(${ge},${ge},${ge}\\)$`),Pe=new RegExp(`^rgb\\(${xe},${xe},${xe}\\)$`),Oe=new RegExp(`^rgba\\(${ge},${ge},${ge},${we}\\)$`),je=new RegExp(`^rgba\\(${xe},${xe},${xe},${we}\\)$`),Ce=new RegExp(`^hsl\\(${we},${xe},${xe}\\)$`),ke=new RegExp(`^hsla\\(${we},${xe},${xe},${we}\\)$`),Ee={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 Te(){return this.rgb().formatHex()}function Ae(){return this.rgb().formatRgb()}function Me(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=Se.exec(t))?(n=e[1].length,e=parseInt(e[1],16),6===n?Re(e):3===n?new Le(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?ze(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?ze(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=_e.exec(t))?new Le(e[1],e[2],e[3],1):(e=Pe.exec(t))?new Le(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=Oe.exec(t))?ze(e[1],e[2],e[3],e[4]):(e=je.exec(t))?ze(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=Ce.exec(t))?We(e[1],e[2]/100,e[3]/100,1):(e=ke.exec(t))?We(e[1],e[2]/100,e[3]/100,e[4]):Ee.hasOwnProperty(t)?Re(Ee[t]):"transparent"===t?new Le(NaN,NaN,NaN,0):null}function Re(t){return new Le(t>>16&255,t>>8&255,255&t,1)}function ze(t,e,n,r){return r<=0&&(t=e=n=NaN),new Le(t,e,n,r)}function Fe(t){return t instanceof de||(t=Me(t)),t?new Le((t=t.rgb()).r,t.g,t.b,t.opacity):new Le}function Ie(t,e,n,r){return 1===arguments.length?Fe(t):new Le(t,e,n,null==r?1:r)}function Le(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function Be(){return`#${Ue(this.r)}${Ue(this.g)}${Ue(this.b)}`}function Ne(){const t=De(this.opacity);return`${1===t?"rgb(":"rgba("}${Ze(this.r)}, ${Ze(this.g)}, ${Ze(this.b)}${1===t?")":`, ${t})`}`}function De(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Ze(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Ue(t){return((t=Ze(t))<16?"0":"")+t.toString(16)}function We(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new $e(t,e,n,r)}function Ge(t){if(t instanceof $e)return new $e(t.h,t.s,t.l,t.opacity);if(t instanceof de||(t=Me(t)),!t)return new $e;if(t instanceof $e)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,u=i-o,l=(i+o)/2;return u?(a=e===i?(n-r)/u+6*(n<r):n===i?(r-e)/u+2:(e-n)/u+4,u/=l<.5?i+o:2-i-o,a*=60):u=l>0&&l<1?0:a,new $e(a,u,l,t.opacity)}function $e(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function Ye(t){return(t=(t||0)%360)<0?t+360:t}function Ve(t){return Math.max(0,Math.min(1,t||0))}function Xe(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 qe(t,e,n,r,o){var i=t*t,a=i*t;return((1-3*t+3*i-a)*e+(4-6*i+3*a)*n+(1+3*t+3*i-3*a)*r+a*o)/6}pe(de,Me,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:Te,formatHex:Te,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return Ge(this).formatHsl()},formatRgb:Ae,toString:Ae}),pe(Le,Ie,ve(de,{brighter(t){return t=null==t?be:Math.pow(be,t),new Le(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?me:Math.pow(me,t),new Le(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Le(Ze(this.r),Ze(this.g),Ze(this.b),De(this.opacity))},displayable(){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:Be,formatHex:Be,formatHex8:function(){return`#${Ue(this.r)}${Ue(this.g)}${Ue(this.b)}${Ue(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:Ne,toString:Ne})),pe($e,(function(t,e,n,r){return 1===arguments.length?Ge(t):new $e(t,e,n,null==r?1:r)}),ve(de,{brighter(t){return t=null==t?be:Math.pow(be,t),new $e(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?me:Math.pow(me,t),new $e(this.h,this.s,this.l*t,this.opacity)},rgb(){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 Le(Xe(t>=240?t-240:t+120,o,r),Xe(t,o,r),Xe(t<120?t+240:t-120,o,r),this.opacity)},clamp(){return new $e(Ye(this.h),Ve(this.s),Ve(this.l),De(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=De(this.opacity);return`${1===t?"hsl(":"hsla("}${Ye(this.h)}, ${100*Ve(this.s)}%, ${100*Ve(this.l)}%${1===t?")":`, ${t})`}`}}));const He=t=>()=>t;function Ke(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)}const Je=function t(e){var n=function(t){return 1==(t=+t)?Ke: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)}}(e);function r(t,e){var r=n((t=Ie(t)).r,(e=Ie(e)).r),o=n(t.g,e.g),i=n(t.b,e.b),a=Ke(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 Qe(t){return function(e){var n,r,o=e.length,i=new Array(o),a=new Array(o),u=new Array(o);for(n=0;n<o;++n)r=Ie(e[n]),i[n]=r.r||0,a[n]=r.g||0,u[n]=r.b||0;return i=t(i),a=t(a),u=t(u),r.opacity=1,function(t){return r.r=i(t),r.g=a(t),r.b=u(t),r+""}}}Qe((function(t){var e=t.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),o=t[r],i=t[r+1],a=r>0?t[r-1]:2*o-i,u=r<e-1?t[r+2]:2*i-o;return qe((n-r/e)*e,a,o,i,u)}})),Qe((function(t){var e=t.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*e),o=t[(r+e-1)%e],i=t[r%e],a=t[(r+1)%e],u=t[(r+2)%e];return qe((n-r/e)*e,o,i,a,u)}}));var tn=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,en=new RegExp(tn.source,"g");function nn(t,e){var n,r,o,i=tn.lastIndex=en.lastIndex=0,a=-1,u=[],l=[];for(t+="",e+="";(n=tn.exec(t))&&(r=en.exec(e));)(o=r.index)>i&&(o=e.slice(i,o),u[a]?u[a]+=o:u[++a]=o),(n=n[0])===(r=r[0])?u[a]?u[a]+=r:u[++a]=r:(u[++a]=null,l.push({i:a,x:re(n,r)})),i=en.lastIndex;return i<e.length&&(o=e.slice(i),u[a]?u[a]+=o:u[++a]=o),u.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)u[(n=l[r]).i]=n.x(t);return u.join("")})}function rn(t,e){var n;return("number"==typeof e?re:e instanceof Me?Je:(n=Me(e))?(e=n,Je):nn)(t,e)}function on(t){return function(){this.removeAttribute(t)}}function an(t){return function(){this.removeAttributeNS(t.space,t.local)}}function un(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 ln(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 cn(t,e,n){var r,o,i;return function(){var a,u,l=n(this);if(null!=l)return(a=this.getAttribute(t))===(u=l+"")?null:a===r&&u===o?i:(o=u,i=e(r=a,l));this.removeAttribute(t)}}function fn(t,e,n){var r,o,i;return function(){var a,u,l=n(this);if(null!=l)return(a=this.getAttributeNS(t.space,t.local))===(u=l+"")?null:a===r&&u===o?i:(o=u,i=e(r=a,l));this.removeAttributeNS(t.space,t.local)}}function sn(t,e){return function(n){this.setAttribute(t,e.call(this,n))}}function hn(t,e){return function(n){this.setAttributeNS(t.space,t.local,e.call(this,n))}}function yn(t,e){var n,r;function o(){var o=e.apply(this,arguments);return o!==r&&(n=(r=o)&&hn(t,o)),n}return o._value=e,o}function pn(t,e){var n,r;function o(){var o=e.apply(this,arguments);return o!==r&&(n=(r=o)&&sn(t,o)),n}return o._value=e,o}function vn(t,e){return function(){Qt(this,t).delay=+e.apply(this,arguments)}}function dn(t,e){return e=+e,function(){Qt(this,t).delay=e}}function mn(t,e){return function(){te(this,t).duration=+e.apply(this,arguments)}}function bn(t,e){return e=+e,function(){te(this,t).duration=e}}function gn(t,e){if("function"!=typeof e)throw new Error;return function(){te(this,t).ease=e}}function wn(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)?Qt:te;return function(){var a=i(this,t),u=a.on;u!==r&&(o=(r=u).copy()).on(e,n),a.on=o}}var xn=dt.prototype.constructor;function Sn(t){return function(){this.style.removeProperty(t)}}function _n(t,e,n){return function(r){this.style.setProperty(t,e.call(this,r),n)}}function Pn(t,e,n){var r,o;function i(){var i=e.apply(this,arguments);return i!==o&&(r=(o=i)&&_n(t,i,n)),r}return i._value=e,i}function On(t){return function(e){this.textContent=t.call(this,e)}}function jn(t){var e,n;function r(){var r=t.apply(this,arguments);return r!==n&&(e=(n=r)&&On(r)),e}return r._value=t,r}var Cn=0;function kn(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}function En(){return++Cn}var Tn=dt.prototype;kn.prototype=function(t){return dt().transition(t)}.prototype={constructor:kn,select:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=r(t));for(var o=this._groups,i=o.length,a=new Array(i),u=0;u<i;++u)for(var l,c,f=o[u],s=f.length,h=a[u]=new Array(s),y=0;y<s;++y)(l=f[y])&&(c=t.call(l,l.__data__,y,f))&&("__data__"in l&&(c.__data__=l.__data__),h[y]=c,Jt(h[y],e,n,y,h,ee(l,n)));return new kn(a,this._parents,e,n)},selectAll:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=a(t));for(var r=this._groups,o=r.length,i=[],u=[],l=0;l<o;++l)for(var c,f=r[l],s=f.length,h=0;h<s;++h)if(c=f[h]){for(var y,p=t.call(c,c.__data__,h,f),v=ee(c,n),d=0,m=p.length;d<m;++d)(y=p[d])&&Jt(y,e,n,d,p,v);i.push(p),u.push(c)}return new kn(i,u,e,n)},selectChild:Tn.selectChild,selectChildren:Tn.selectChildren,filter:function(t){"function"!=typeof t&&(t=u(t));for(var e=this._groups,n=e.length,r=new Array(n),o=0;o<n;++o)for(var i,a=e[o],l=a.length,c=r[o]=[],f=0;f<l;++f)(i=a[f])&&t.call(i,i.__data__,f,a)&&c.push(i);return new kn(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),u=0;u<i;++u)for(var l,c=e[u],f=n[u],s=c.length,h=a[u]=new Array(s),y=0;y<s;++y)(l=c[y]||f[y])&&(h[y]=l);for(;u<r;++u)a[u]=e[u];return new kn(a,this._parents,this._name,this._id)},selection:function(){return new xn(this._groups,this._parents)},transition:function(){for(var t=this._name,e=this._id,n=En(),r=this._groups,o=r.length,i=0;i<o;++i)for(var a,u=r[i],l=u.length,c=0;c<l;++c)if(a=u[c]){var f=ee(a,e);Jt(a,t,n,c,u,{time:f.time+f.delay+f.duration,delay:0,duration:f.duration,ease:f.ease})}return new kn(r,this._parents,t,n)},call:Tn.call,nodes:Tn.nodes,node:Tn.node,size:Tn.size,empty:Tn.empty,each:Tn.each,on:function(t,e){var n=this._id;return arguments.length<2?ee(this.node(),n).on.on(t):this.each(wn(n,t,e))},attr:function(t,e){var n=_(t),r="transform"===n?fe:rn;return this.attrTween(t,"function"==typeof e?(n.local?fn:cn)(n,r,ye(this,"attr."+t,e)):null==e?(n.local?an:on)(n):(n.local?ln:un)(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=_(t);return this.tween(n,(r.local?yn:pn)(r,e))},style:function(t,e,n){var r="transform"==(t+="")?ce:rn;return null==e?this.styleTween(t,function(t,e){var n,r,o;return function(){var i=z(this,t),a=(this.style.removeProperty(t),z(this,t));return i===a?null:i===n&&a===r?o:o=e(n=i,r=a)}}(t,r)).on("end.style."+t,Sn(t)):"function"==typeof e?this.styleTween(t,function(t,e,n){var r,o,i;return function(){var a=z(this,t),u=n(this),l=u+"";return null==u&&(this.style.removeProperty(t),l=u=z(this,t)),a===l?null:a===r&&l===o?i:(o=l,i=e(r=a,u))}}(t,r,ye(this,"style."+t,e))).each(function(t,e){var n,r,o,i,a="style."+e,u="end."+a;return function(){var l=te(this,t),c=l.on,f=null==l.value[a]?i||(i=Sn(e)):void 0;c===n&&o===f||(r=(n=c).copy()).on(u,o=f),l.on=r}}(this._id,t)):this.styleTween(t,function(t,e,n){var r,o,i=n+"";return function(){var a=z(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,Pn(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}}(ye(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,jn(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=ee(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?se:he)(n,t,e))},delay:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?vn:dn)(e,t)):ee(this.node(),e).delay},duration:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?mn:bn)(e,t)):ee(this.node(),e).duration},ease:function(t){var e=this._id;return arguments.length?this.each(gn(e,t)):ee(this.node(),e).ease},easeVarying:function(t){if("function"!=typeof t)throw new Error;return this.each(function(t,e){return function(){var n=e.apply(this,arguments);if("function"!=typeof n)throw new Error;te(this,t).ease=n}}(this._id,t))},end:function(){var t,e,n=this,r=n._id,o=n.size();return new Promise((function(i,a){var u={value:a},l={value:function(){0==--o&&i()}};n.each((function(){var n=te(this,r),o=n.on;o!==t&&((e=(t=o).copy())._.cancel.push(u),e._.interrupt.push(u),e._.end.push(l)),n.on=e})),0===o&&i()}))},[Symbol.iterator]:Tn[Symbol.iterator]};var An={time:null,delay:0,duration:250,ease:function(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}};function Mn(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return n}dt.prototype.interrupt=function(t){return this.each((function(){ne(this,t)}))},dt.prototype.transition=function(t){var e,n;t instanceof kn?(e=t._id,t=t._name):(e=En(),(n=An).time=Ut(),t=null==t?null:t+"");for(var r=this._groups,o=r.length,i=0;i<o;++i)for(var a,u=r[i],l=u.length,c=0;c<l;++c)(a=u[c])&&Jt(a,t,e,c,u,n||Mn(a,e));return new kn(r,this._parents,t,e)};const Rn=t=>()=>t;function zn(t,{sourceEvent:e,target:n,transform:r,dispatch:o}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:o}})}function Fn(t,e,n){this.k=t,this.x=e,this.y=n}Fn.prototype={constructor:Fn,scale:function(t){return 1===t?this:new Fn(this.k*t,this.x,this.y)},translate:function(t,e){return 0===t&0===e?this:new Fn(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 In=new Fn(1,0,0);function Ln(t){t.stopImmediatePropagation()}function Bn(t){t.preventDefault(),t.stopImmediatePropagation()}function Nn(t){return!(t.ctrlKey&&"wheel"!==t.type||t.button)}function Dn(){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 Zn(){return this.__zoom||In}function Un(t){return-t.deltaY*(1===t.deltaMode?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function Wn(){return navigator.maxTouchPoints||"ontouchstart"in this}function Gn(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 $n(){var t,e,n,r=Nn,o=Dn,i=Gn,a=Un,u=Wn,l=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],f=250,s=Tt,h=Pt("start","zoom","end"),y=500,p=0,v=10;function d(t){t.property("__zoom",Zn).on("wheel.zoom",_,{passive:!1}).on("mousedown.zoom",P).on("dblclick.zoom",O).filter(u).on("touchstart.zoom",j).on("touchmove.zoom",C).on("touchend.zoom touchcancel.zoom",k).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(t,e){return(e=Math.max(l[0],Math.min(l[1],e)))===t.k?t:new Fn(e,t.x,t.y)}function b(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 Fn(t.k,r,o)}function g(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function w(t,e,n,r){t.on("start.zoom",(function(){x(this,arguments).event(r).start()})).on("interrupt.zoom end.zoom",(function(){x(this,arguments).event(r).end()})).tween("zoom",(function(){var t=this,i=arguments,a=x(t,i).event(r),u=o.apply(t,i),l=null==n?g(u):"function"==typeof n?n.apply(t,i):n,c=Math.max(u[1][0]-u[0][0],u[1][1]-u[0][1]),f=t.__zoom,h="function"==typeof e?e.apply(t,i):e,y=s(f.invert(l).concat(c/f.k),h.invert(l).concat(c/h.k));return function(t){if(1===t)t=h;else{var e=y(t),n=c/e[2];t=new Fn(n,l[0]-e[0]*n,l[1]-e[1]*n)}a.zoom(null,t)}}))}function x(t,e,n){return!n&&t.__zooming||new S(t,e)}function S(t,e){this.that=t,this.args=e,this.active=0,this.sourceEvent=null,this.extent=o.apply(t,e),this.taps=0}function _(t,...e){if(r.apply(this,arguments)){var n=x(this,e).event(t),o=this.__zoom,u=Math.max(l[0],Math.min(l[1],o.k*Math.pow(2,a.apply(this,arguments)))),f=At(t);if(n.wheel)n.mouse[0][0]===f[0]&&n.mouse[0][1]===f[1]||(n.mouse[1]=o.invert(n.mouse[0]=f)),clearTimeout(n.wheel);else{if(o.k===u)return;n.mouse=[f,o.invert(f)],ne(this),n.start()}Bn(t),n.wheel=setTimeout(s,150),n.zoom("mouse",i(b(m(o,u),n.mouse[0],n.mouse[1]),n.extent,c))}function s(){n.wheel=null,n.end()}}function P(t,...e){if(!n&&r.apply(this,arguments)){var o=t.currentTarget,a=x(this,e,!0).event(t),u=mt(t.view).on("mousemove.zoom",h,!0).on("mouseup.zoom",y,!0),l=At(t,o),f=t.clientX,s=t.clientY;Ct(t.view),Ln(t),a.mouse=[l,this.__zoom.invert(l)],ne(this),a.start()}function h(t){if(Bn(t),!a.moved){var e=t.clientX-f,n=t.clientY-s;a.moved=e*e+n*n>p}a.event(t).zoom("mouse",i(b(a.that.__zoom,a.mouse[0]=At(t,o),a.mouse[1]),a.extent,c))}function y(t){u.on("mousemove.zoom mouseup.zoom",null),kt(t.view,a.moved),Bn(t),a.event(t).end()}}function O(t,...e){if(r.apply(this,arguments)){var n=this.__zoom,a=At(t.changedTouches?t.changedTouches[0]:t,this),u=n.invert(a),l=n.k*(t.shiftKey?.5:2),s=i(b(m(n,l),a,u),o.apply(this,e),c);Bn(t),f>0?mt(this).transition().duration(f).call(w,s,a,t):mt(this).call(d.transform,s,a,t)}}function j(n,...o){if(r.apply(this,arguments)){var i,a,u,l,c=n.touches,f=c.length,s=x(this,o,n.changedTouches.length===f).event(n);for(Ln(n),a=0;a<f;++a)l=[l=At(u=c[a],this),this.__zoom.invert(l),u.identifier],s.touch0?s.touch1||s.touch0[2]===l[2]||(s.touch1=l,s.taps=0):(s.touch0=l,i=!0,s.taps=1+!!t);t&&(t=clearTimeout(t)),i&&(s.taps<2&&(e=l[0],t=setTimeout((function(){t=null}),y)),ne(this),s.start())}}function C(t,...e){if(this.__zooming){var n,r,o,a,u=x(this,e).event(t),l=t.changedTouches,f=l.length;for(Bn(t),n=0;n<f;++n)o=At(r=l[n],this),u.touch0&&u.touch0[2]===r.identifier?u.touch0[0]=o:u.touch1&&u.touch1[2]===r.identifier&&(u.touch1[0]=o);if(r=u.that.__zoom,u.touch1){var s=u.touch0[0],h=u.touch0[1],y=u.touch1[0],p=u.touch1[1],v=(v=y[0]-s[0])*v+(v=y[1]-s[1])*v,d=(d=p[0]-h[0])*d+(d=p[1]-h[1])*d;r=m(r,Math.sqrt(v/d)),o=[(s[0]+y[0])/2,(s[1]+y[1])/2],a=[(h[0]+p[0])/2,(h[1]+p[1])/2]}else{if(!u.touch0)return;o=u.touch0[0],a=u.touch0[1]}u.zoom("touch",i(b(r,o,a),u.extent,c))}}function k(t,...r){if(this.__zooming){var o,i,a=x(this,r).event(t),u=t.changedTouches,l=u.length;for(Ln(t),n&&clearTimeout(n),n=setTimeout((function(){n=null}),y),o=0;o<l;++o)i=u[o],a.touch0&&a.touch0[2]===i.identifier?delete a.touch0:a.touch1&&a.touch1[2]===i.identifier&&delete a.touch1;if(a.touch1&&!a.touch0&&(a.touch0=a.touch1,delete a.touch1),a.touch0)a.touch0[1]=this.__zoom.invert(a.touch0[0]);else if(a.end(),2===a.taps&&(i=At(i,this),Math.hypot(e[0]-i[0],e[1]-i[1])<v)){var c=mt(this).on("dblclick.zoom");c&&c.apply(this,arguments)}}}return d.transform=function(t,e,n,r){var o=t.selection?t.selection():t;o.property("__zoom",Zn),t!==o?w(t,e,n,r):o.interrupt().each((function(){x(this,arguments).event(r).start().zoom(null,"function"==typeof e?e.apply(this,arguments):e).end()}))},d.scaleBy=function(t,e,n,r){d.scaleTo(t,(function(){var t=this.__zoom.k,n="function"==typeof e?e.apply(this,arguments):e;return t*n}),n,r)},d.scaleTo=function(t,e,n,r){d.transform(t,(function(){var t=o.apply(this,arguments),r=this.__zoom,a=null==n?g(t):"function"==typeof n?n.apply(this,arguments):n,u=r.invert(a),l="function"==typeof e?e.apply(this,arguments):e;return i(b(m(r,l),a,u),t,c)}),n,r)},d.translateBy=function(t,e,n,r){d.transform(t,(function(){return i(this.__zoom.translate("function"==typeof e?e.apply(this,arguments):e,"function"==typeof n?n.apply(this,arguments):n),o.apply(this,arguments),c)}),null,r)},d.translateTo=function(t,e,n,r,a){d.transform(t,(function(){var t=o.apply(this,arguments),a=this.__zoom,u=null==r?g(t):"function"==typeof r?r.apply(this,arguments):r;return i(In.translate(u[0],u[1]).scale(a.k).translate("function"==typeof e?-e.apply(this,arguments):-e,"function"==typeof n?-n.apply(this,arguments):-n),t,c)}),r,a)},S.prototype={event:function(t){return t&&(this.sourceEvent=t),this},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){var e=mt(this.that).datum();h.call(t,this.that,new zn(t,{sourceEvent:this.sourceEvent,target:d,type:t,transform:this.that.__zoom,dispatch:h}),e)}},d.wheelDelta=function(t){return arguments.length?(a="function"==typeof t?t:Rn(+t),d):a},d.filter=function(t){return arguments.length?(r="function"==typeof t?t:Rn(!!t),d):r},d.touchable=function(t){return arguments.length?(u="function"==typeof t?t:Rn(!!t),d):u},d.extent=function(t){return arguments.length?(o="function"==typeof t?t:Rn([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),d):o},d.scaleExtent=function(t){return arguments.length?(l[0]=+t[0],l[1]=+t[1],d):[l[0],l[1]]},d.translateExtent=function(t){return arguments.length?(c[0][0]=+t[0][0],c[1][0]=+t[1][0],c[0][1]=+t[0][1],c[1][1]=+t[1][1],d):[[c[0][0],c[0][1]],[c[1][0],c[1][1]]]},d.constrain=function(t){return arguments.length?(i=t,d):i},d.duration=function(t){return arguments.length?(f=+t,d):f},d.interpolate=function(t){return arguments.length?(s=t,d):s},d.on=function(){var t=h.on.apply(h,arguments);return t===h?d:t},d.clickDistance=function(t){return arguments.length?(p=(t=+t)*t,d):Math.sqrt(p)},d.tapDistance=function(t){return arguments.length?(v=+t,d):v},d}function Yn(t){return Yn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Yn(t)}function Vn(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return Xn(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Xn(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw i}}}}function Xn(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function qn(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Hn(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==Yn(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Yn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Yn(o)?o:String(o)),r)}var o}Fn.prototype;var Kn=function(){function t(e){var n=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0;qn(this,t),i=i||{},this.canvas=e,this.w=this.canvas.offsetWidth,this.h=this.canvas.offsetHeight,this.canvas.width=this.w,this.canvas.height=this.h;var a=this.canvas.getContext("2d");if(!a)throw"Impossible to create canvas 2D context";this.ctx=a,this.center=r||{x:.5*this.w,y:.5*this.h},this.zf=o,this.backgroundColor=i.backgroundColor||"white",this.onZoomStartFun=i.onZoomStartFun,this.onZoomEndFun=i.onZoomEndFun,this.extGeo={xMin:NaN,xMax:NaN,yMin:NaN,yMax:NaN},this.updateExtentGeo();var u=In,l=$n().wheelDelta((function(t){return-t.deltaY*(1===t.deltaMode?.07:t.deltaMode?1:.004)})).on("zoom",(function(t){var e=t.transform,r=u.k/e.k;if(1==r){var o=u.x-e.x,i=u.y-e.y;n.pan(o*n.getZf(),-i*n.getZf())}else{var a=t.sourceEvent;if(a instanceof WheelEvent)n.zoom(r,n.pixToGeoX(t.sourceEvent.offsetX),n.pixToGeoY(t.sourceEvent.offsetY));else if(a instanceof TouchEvent){var l,c=0,f=0,s=Vn(a.targetTouches);try{for(s.s();!(l=s.n()).done;){var h=l.value;c+=h.clientX,f+=h.clientY}}catch(t){s.e(t)}finally{s.f()}c/=a.targetTouches.length,f/=a.targetTouches.length,n.zoom(r,n.pixToGeoX(c),n.pixToGeoY(f))}}u=e})).on("start",(function(t){n.canvasSave.c=document.createElement("canvas"),n.canvasSave.c.setAttribute("width",""+n.w),n.canvasSave.c.setAttribute("height",""+n.h),n.canvasSave.c.getContext("2d").drawImage(n.canvas,0,0),n.canvasSave.dx=0,n.canvasSave.dy=0,n.canvasSave.f=1,n.onZoomStartFun&&n.onZoomStartFun()})).on("end",(function(t){n.redraw(!0),n.canvasSave={c:null,dx:0,dy:0,f:1},n.onZoomEndFun&&n.onZoomEndFun()}));l(mt(this.canvas)),this.zfExtent=[0,1/0],this.canvasSave={c:null,dx:0,dy:0,f:1}}var e,n,r;return e=t,n=[{key:"setCenter",value:function(t){this.center=t}},{key:"getCenter",value:function(){return this.center}},{key:"setZf",value:function(t){this.zf=t,this.slider&&this.slider.attr("value",+this.zf)}},{key:"getZf",value:function(){return this.zf}},{key:"setZfExtent",value:function(t){this.zfExtent=t}},{key:"getZfExtent",value:function(){return this.zfExtent}},{key:"initCanvasTransform",value:function(){this.ctx.setTransform(1,0,0,1,0,0)}},{key:"setCanvasTransform",value:function(){var t=1/this.getZf(),e=-this.center.x/this.getZf()+.5*this.w,n=this.center.y/this.getZf()+.5*this.h;this.ctx.setTransform(t,0,0,-t,e,n)}},{key:"getWebGLTransform",value:function(){var t=2/(this.w*this.getZf()),e=2/(this.h*this.getZf());return[t,0,0,0,e,0,-t*this.center.x,-e*this.center.y,1]}},{key:"redraw",value:function(){throw new Error("Method redraw not implemented.")}},{key:"clear",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"white";this.ctx&&(this.ctx.fillStyle=t),this.ctx.fillRect(0,0,this.w,this.h)}},{key:"pan",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.center.x+=t,this.center.y+=e,this.updateExtentGeo(),this.canvasSave.c&&(this.canvasSave.dx-=t/this.getZf(),this.canvasSave.dy+=e/this.getZf(),this.clear(this.backgroundColor),this.ctx.drawImage(this.canvasSave.c,this.canvasSave.dx,this.canvasSave.dy))}},{key:"zoom",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.center.x,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.center.y;if(!(this.zfExtent[0]==this.getZf()&&t<=1||this.zfExtent[1]==this.getZf()&&t>=1)){var r=t*this.getZf();r<this.zfExtent[0]&&(t=this.zfExtent[0]/this.getZf()),r>this.zfExtent[1]&&(t=this.zfExtent[1]/this.getZf()),this.setZf(t*this.getZf());var o=(e-this.center.x)*(1-t);this.center.x+=o;var i=(n-this.center.y)*(1-t);this.center.y+=i,this.updateExtentGeo(),this.canvasSave.c&&(this.clear(this.backgroundColor),this.canvasSave.f/=t,this.canvasSave.dx=this.geoToPixX(e)*(1-this.canvasSave.f),this.canvasSave.dy=this.geoToPixY(n)*(1-this.canvasSave.f),this.clear(this.backgroundColor),this.ctx.drawImage(this.canvasSave.c,this.canvasSave.dx,this.canvasSave.dy,this.canvasSave.f*this.canvasSave.c.width,this.canvasSave.f*this.canvasSave.c.height))}}},{key:"updateExtentGeo",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:20;return this.extGeo={xMin:this.pixToGeoX(-t),xMax:this.pixToGeoX(this.w+t),yMin:this.pixToGeoY(this.h+t),yMax:this.pixToGeoY(-t)},this.extGeo}},{key:"toDraw",value:function(t){return!(t.x<this.extGeo.xMin||t.x>this.extGeo.xMax||t.y<this.extGeo.yMin||t.y>this.extGeo.yMax)}},{key:"geoToPixX",value:function(t){return(t-this.center.x)/this.getZf()+.5*this.w}},{key:"geoToPixY",value:function(t){return-(t-this.center.y)/this.getZf()+.5*this.h}},{key:"pixToGeoX",value:function(t){return(t-.5*this.w)*this.getZf()+this.center.x}},{key:"pixToGeoY",value:function(t){return-(t-.5*this.h)*this.getZf()+this.center.y}},{key:"setViewFromURL",value:function(){var e=t.getParameterByName("x"),n=t.getParameterByName("y"),r=t.getParameterByName("z"),o=this.getCenter();null==e||null==e||isNaN(+e)||(o.x=+e),null==n||null==n||isNaN(+n)||(o.y=+n),null==r||null==r||isNaN(+r)||this.setZf(+r)}},{key:"addZoomSlider",value:function(t,e){(e=e||{}).width=e.width||"30px",e.height=e.height||"300px";var n=mt("#"+t);if(n.empty())return console.error("Could not find div element to build zoom slider. Id: "+t),this;var r=this;return this.slider=n.append("input").attr("type","range").attr("min",this.getZfExtent()[0]).attr("max",this.getZfExtent()[1]).attr("value",this.getZf()).on("input",(function(t){if(this&&this.value){var e=+this.value;mt(this).attr("value",e),r.setZf(e),r.redraw()}})).style("width",e.width).style("height",e.height).style("opacity",.7).on("mouseover",(function(t){mt(this).style("opacity",1)})).on("mouseout",(function(t){mt(this).style("opacity",.7)})).style("-webkit-appearance","slider-vertical").style("writing-mode","bt-lr").attr("orient","vertical").style("background","lightgray").style("outline","none").style("-webkit-transition",".2s").style("transition","opacity .2s"),this}}],r=[{key:"getParameterByName",value:function(t){t=t.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var e=new RegExp("[\\?&]"+t+"=([^&#]*)").exec(location.search);return e?decodeURIComponent(e[1].replace(/\+/g," ")):null}}],n&&Hn(e.prototype,n),r&&Hn(e,r),Object.defineProperty(e,"prototype",{writable:!1}),t}();function Jn(t){return Jn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Jn(t)}function Qn(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return tr(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?tr(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw i}}}}function tr(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function er(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==Jn(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Jn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Jn(o)?o:String(o)),r)}var o}var nr=function(){function t(e){if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.offset=e.offset||function(t,e,n){return{dx:0,dy:0}},this.minZoom=e.minZoom||0,this.maxZoom=e.maxZoom||1/0,this.minZoom>=this.maxZoom)throw new Error("Unexpected zoom limits for layer. Zoom min should be smaller than zoom max.");this.legends=[]}var e,n,r;return e=t,r=[{key:"getStatistics",value:function(t,e,n){if(t&&0!=t.length){var r,o=1/0,i=-1/0,a=Qn(t);try{for(a.s();!(r=a.n()).done;){var u=+e(r.value);n&&!u||(u<o&&(o=u),u>i&&(i=u))}}catch(t){a.e(t)}finally{a.f()}return{min:o,max:i}}}}],(n=[{key:"draw",value:function(t,e,n){throw new Error("Method draw not implemented.")}},{key:"getOffset",value:function(){return this.offset}},{key:"setOffset",value:function(t){return this.offset=t,this}},{key:"updateLegends",value:function(t){var e,n=Qn(this.legends);try{for(n.s();!(e=n.n()).done;)e.value.update(t)}catch(t){n.e(t)}finally{n.f()}return this}}])&&er(e.prototype,n),r&&er(e,r),Object.defineProperty(e,"prototype",{writable:!1}),t}();function rr(t){return rr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},rr(t)}function or(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function ir(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==rr(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==rr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===rr(o)?o:String(o)),r)}var o}var ar=function(){function t(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(or(this,t),r=r||{},this.dataset=e,this.styles=n,this.visible=0!=r.visible,this.minZoom=r.minZoom||0,this.maxZoom=r.maxZoom||1/0,this.minZoom>=this.maxZoom)throw new Error("Unexpected zoom limits for layer. Zoom min should be smaller than zoom max.");this.pixNb=r.pixNb||3,this.cellInfoHTML=r.cellInfoHTML||t.defaultCellInfoHTML}var e,n,r;return e=t,r=[{key:"defaultCellInfoHTML",value:function(t){for(var e=[],n=0,r=Object.keys(t);n<r.length;n++){var o=r[n];"x"!==o&&"y"!==o&&e.push("<b>",o,"</b>"," : ",t[o],"<br>")}return e.join("")}}],(n=[{key:"getDatasetComponent",value:function(t){if(!(t<this.minZoom||t>this.maxZoom)){if(1==this.dataset.datasetComponents.length)return this.dataset.datasetComponents[0];for(var e=this.dataset.resolutions,n=0,r=e[n]/this.pixNb;r<t&&n<e.length;)r=e[++n]/this.pixNb;return n==e.length?this.dataset.datasetComponents[e.length-1]:this.dataset.datasetComponents[n]}}}])&&ir(e.prototype,n),r&&ir(e,r),Object.defineProperty(e,"prototype",{writable:!1}),t}();function ur(t){return ur="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ur(t)}function lr(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return cr(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?cr(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw i}}}}function cr(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function fr(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function sr(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==ur(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==ur(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===ur(o)?o:String(o)),r)}var o}var hr=function(){function t(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(fr(this,t),r=r||{},this.datasetComponents=e,this.resolutions=n,this.datasetComponents.length>1&&this.datasetComponents.length!=this.resolutions.length)throw new Error("Uncompatible number of datasets and resolutions: "+this.datasetComponents.length+" "+this.resolutions.length);r.preprocess&&this.setPrepocesses(r.preprocess)}var e,n,r;return e=t,r=[{key:"make",value:function(e,n,r){var o,i=[],a=lr(e);try{for(a.s();!(o=a.n()).done;){var u=o.value;i.push(n(u))}}catch(t){a.e(t)}finally{a.f()}return new t(i,e,r)}}],(n=[{key:"setPrepocesses",value:function(t){var e,n=lr(this.datasetComponents);try{for(n.s();!(e=n.n()).done;)e.value.preprocess=t}catch(t){n.e(t)}finally{n.f()}return this}}])&&sr(e.prototype,n),r&&sr(e,r),Object.defineProperty(e,"prototype",{writable:!1}),t}();function yr(t){return yr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},yr(t)}function pr(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function vr(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==yr(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==yr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===yr(o)?o:String(o)),r)}var o}var dr=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0;pr(this,t),e=e||{},this.div=e.div||"tooltip_eurostat",this.maxWidth=e.maxWidth||"20em",this.fontSize=e.fontSize||"1.2em",this.background=e.background||"white",this.padding=e.padding||"5px",this.border=e.border||"0px",this["border-radius"]=e["border-radius"]||"5px",this["box-shadow"]=e["box-shadow"]||"5px 5px 5px grey",this["font-family"]=e["font-family"]||"Helvetica, Arial, sans-serif",this.transitionDuration=e.transitionDuration||100,this.xOffset=e.xOffset||30,this.yOffset=e.yOffset||20,this.tooltip=mt("#"+this.div),this.tooltip.empty()&&(this.tooltip=mt("body").append("div").attr("id",this.div)),this.tooltip.style("max-width",this.maxWidth),this.tooltip.style("overflow","hidden"),this.tooltip.style("font-size",this.fontSize),this.tooltip.style("background",this.background),this.tooltip.style("padding",this.padding),this.tooltip.style("border",this.border),this.tooltip.style("border-radius",this["border-radius"]),this.tooltip.style("box-shadow",this["box-shadow"]),this.tooltip.style("font-family",this["font-family"]),this.tooltip.style("position","absolute"),this.tooltip.style("pointer-events","none"),this.tooltip.style("opacity","0")}var e,n;return e=t,n=[{key:"show",value:function(){this.tooltip.transition().duration(this.transitionDuration).style("opacity",1)}},{key:"hide",value:function(){this.tooltip.transition().duration(this.transitionDuration).style("opacity",0)}},{key:"html",value:function(t){this.tooltip.html(t)}},{key:"setPosition",value:function(t){this.tooltip.style("left",t.pageX+this.xOffset+"px").style("top",t.pageY-this.yOffset+"px")}},{key:"style",value:function(t,e){return 1==arguments.length?this.tooltip.style(t):(this.tooltip.style(t,e),this)}},{key:"attr",value:function(t,e){return 1==arguments.length?this.tooltip.attr(t):(this.tooltip.attr(t,e),this)}}],n&&vr(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),t}(),mr={},br={};function gr(t){return new Function("d","return {"+t.map((function(t,e){return JSON.stringify(t)+": d["+e+'] || ""'})).join(",")+"}")}function wr(t){var e=Object.create(null),n=[];return t.forEach((function(t){for(var r in t)r in e||n.push(e[r]=r)})),n}function xr(t,e){var n=t+"",r=n.length;return r<e?new Array(e-r+1).join(0)+n:n}function Sr(t){var e=new RegExp('["'+t+"\n\r]"),n=t.charCodeAt(0);function r(t,e){var r,o=[],i=t.length,a=0,u=0,l=i<=0,c=!1;function f(){if(l)return br;if(c)return c=!1,mr;var e,r,o=a;if(34===t.charCodeAt(o)){for(;a++<i&&34!==t.charCodeAt(a)||34===t.charCodeAt(++a););return(e=a)>=i?l=!0:10===(r=t.charCodeAt(a++))?c=!0:13===r&&(c=!0,10===t.charCodeAt(a)&&++a),t.slice(o+1,e-1).replace(/""/g,'"')}for(;a<i;){if(10===(r=t.charCodeAt(e=a++)))c=!0;else if(13===r)c=!0,10===t.charCodeAt(a)&&++a;else if(r!==n)continue;return t.slice(o,e)}return l=!0,t.slice(o,i)}for(10===t.charCodeAt(i-1)&&--i,13===t.charCodeAt(i-1)&&--i;(r=f())!==br;){for(var s=[];r!==mr&&r!==br;)s.push(r),r=f();e&&null==(s=e(s,u++))||o.push(s)}return o}function o(e,n){return e.map((function(e){return n.map((function(t){return a(e[t])})).join(t)}))}function i(e){return e.map(a).join(t)}function a(t){return null==t?"":t instanceof Date?(o=(n=t).getUTCHours(),i=n.getUTCMinutes(),a=n.getUTCSeconds(),u=n.getUTCMilliseconds(),isNaN(n)?"Invalid Date":((r=n.getUTCFullYear())<0?"-"+xr(-r,6):r>9999?"+"+xr(r,6):xr(r,4))+"-"+xr(n.getUTCMonth()+1,2)+"-"+xr(n.getUTCDate(),2)+(u?"T"+xr(o,2)+":"+xr(i,2)+":"+xr(a,2)+"."+xr(u,3)+"Z":a?"T"+xr(o,2)+":"+xr(i,2)+":"+xr(a,2)+"Z":i||o?"T"+xr(o,2)+":"+xr(i,2)+"Z":"")):e.test(t+="")?'"'+t.replace(/"/g,'""')+'"':t;var n,r,o,i,a,u}return{parse:function(t,e){var n,o,i=r(t,(function(t,r){if(n)return n(t,r-1);o=t,n=e?function(t,e){var n=gr(t);return function(r,o){return e(n(r),o,t)}}(t,e):gr(t)}));return i.columns=o||[],i},parseRows:r,format:function(e,n){return null==n&&(n=wr(e)),[n.map(a).join(t)].concat(o(e,n)).join("\n")},formatBody:function(t,e){return null==e&&(e=wr(t)),o(t,e).join("\n")},formatRows:function(t){return t.map(i).join("\n")},formatRow:i,formatValue:a}}var _r=Sr(","),Pr=_r.parse,Or=(_r.parseRows,_r.format,_r.formatBody,_r.formatRows,_r.formatRow,_r.formatValue,Sr("\t")),jr=Or.parse;function Cr(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);return t.text()}function kr(t,e){return fetch(t,e).then(Cr)}function Er(t){return function(e,n,r){return 2===arguments.length&&"function"==typeof n&&(r=n,n=void 0),kr(e,n).then((function(e){return t(e,r)}))}}Or.parseRows,Or.format,Or.formatBody,Or.formatRows,Or.formatRow,Or.formatValue;var Tr=Er(Pr);function Ar(t){return Ar="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ar(t)}function Mr(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function Rr(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function zr(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==Ar(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Ar(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Ar(o)?o:String(o)),r)}var o}Er(jr);var Fr=function(){function t(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Rr(this,t),r=r||{},this.url=e,this.resolution=n,this.preprocess=r.preprocess||void 0,this.cellsViewCache=[]}var e,n;return e=t,(n=[{key:"getData",value:function(t,e){throw new Error("Method getData not implemented.")}},{key:"updateViewCache",value:function(t){throw new Error("Method updateViewCache not implemented.")}},{key:"getCellFromPosition",value:function(t,e){var n,r=this.getResolution(),o=r*Math.floor(t.x/r),i=r*Math.floor(t.y/r),a=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return Mr(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Mr(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw i}}}}(e);try{for(a.s();!(n=a.n()).done;){var u=n.value;if(u.x==o&&u.y==i)return u}}catch(t){a.e(t)}finally{a.f()}}},{key:"getResolution",value:function(){return this.resolution}},{key:"getViewCache",value:function(){return this.cellsViewCache}}])&&zr(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function Ir(t){return Ir="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ir(t)}function Lr(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return Br(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Br(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw i}}}}function Br(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function Nr(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Dr(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==Ir(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Ir(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Ir(o)?o:String(o)),r)}var o}function Zr(t,e){return Zr=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Zr(t,e)}function Ur(t,e){if(e&&("object"===Ir(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function Wr(t){return Wr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Wr(t)}var Gr=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Zr(t,e)}(a,t);var e,n,r,o,i=(r=a,o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=Wr(r);if(o){var n=Wr(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return Ur(this,t)});function a(t,e){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Nr(this,a),(n=i.call(this,t,e,r)).cells=[],n.infoLoadingStatus="notLoaded",n}return e=a,(n=[{key:"getData",value:function(t,e){var n=this;return"notLoaded"!=this.infoLoadingStatus||(this.infoLoadingStatus="loading",Tr(this.url).then((function(t){var r,o=Lr(t);try{for(o.s();!(r=o.n()).done;){var i=r.value;i.x=+i.x,i.y=+i.y}}catch(t){o.e(t)}finally{o.f()}if(n.preprocess){n.cells=[];var a,u=Lr(t);try{for(u.s();!(a=u.n()).done;){var l=a.value;0!=n.preprocess(l)&&n.cells.push(l)}}catch(t){u.e(t)}finally{u.f()}}else n.cells=t;e&&e(),n.infoLoadingStatus="loaded"})).catch((function(){n.infoLoadingStatus="failed",n.cells=[]}))),this}},{key:"updateViewCache",value:function(t){if(this.cells){this.cellsViewCache=[];var e,n=Lr(this.cells);try{for(n.s();!(e=n.n()).done;){var r=e.value;+r.x+this.resolution<t.xMin||+r.x-this.resolution>t.xMax||+r.y+this.resolution<t.yMin||+r.y-this.resolution>t.yMax||this.cellsViewCache.push(r)}}catch(t){n.e(t)}finally{n.f()}}}}])&&Dr(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),a}(Fr);function $r(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);if(204!==t.status&&205!==t.status)return t.json()}function Yr(t,e){return fetch(t,e).then($r)}function Vr(t){return Vr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Vr(t)}function Xr(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function qr(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==Vr(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Vr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Vr(o)?o:String(o)),r)}var o}function Hr(t,e,n){return e&&qr(t.prototype,e),n&&qr(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}var Kr=Hr((function t(e,n,r,o){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.cells=e,this.x=n,this.y=r;var i=o.resolutionGeo,a=o.tileSizeCell;this.extGeo={xMin:o.originPoint.x+i*a*this.x,xMax:o.originPoint.x+i*a*(this.x+1),yMin:o.originPoint.y+i*a*this.y,yMax:o.originPoint.y+i*a*(this.y+1)};var u,l=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return Xr(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Xr(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw i}}}}(this.cells);try{for(l.s();!(u=l.n()).done;){var c=u.value;c.x=this.extGeo.xMin+c.x*i,c.y=this.extGeo.yMin+c.y*i}}catch(t){l.e(t)}finally{l.f()}}));function Jr(t,e){if(e){if(0==e.length)return 0;if(t<=e[0])return 0;for(var n=1;n<e.length;n++)if(e[n-1]<t&&t<=e[n])return n;return e.length}}function Qr(t){return Qr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Qr(t)}function to(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return eo(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?eo(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw i}}}}function eo(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function no(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function ro(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==Qr(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Qr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Qr(o)?o:String(o)),r)}var o}function oo(t,e){return oo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},oo(t,e)}function io(t,e){if(e&&("object"===Qr(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function ao(t){return ao=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},ao(t)}var uo=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&oo(t,e)}(a,t);var e,n,r,o,i=(r=a,o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=ao(r);if(o){var n=ao(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return io(this,t)});function a(t,e){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return no(this,a),(n=i.call(this,t,0,r)).app=e,n.info=void 0,n.infoLoadingStatus="notLoaded",n.cache={},n}return e=a,(n=[{key:"loadInfo",value:function(t){var e=this;return this.info||"notLoaded"!==this.infoLoadingStatus?!t||"loaded"!==this.infoLoadingStatus&&"failed"!==this.infoLoadingStatus||t():(this.infoLoadingStatus="loading",Yr(this.url+"info.json").then((function(n){e.info=n,e.resolution=n.resolutionGeo,e.infoLoadingStatus="loaded",t&&t()})).catch((function(){e.infoLoadingStatus="failed"}))),this}},{key:"getTilingEnvelope",value:function(t){if(this.info){var e=this.info.originPoint,n=this.info.resolutionGeo,r=this.info.tileSizeCell;return{xMin:Math.floor((t.xMin-e.x)/(n*r)),xMax:Math.floor((t.xMax-e.x)/(n*r)),yMin:Math.floor((t.yMin-e.y)/(n*r)),yMax:Math.floor((t.yMax-e.y)/(n*r))}}this.loadInfo((function(){}))}},{key:"getData",value:function(t,e){var n=this;if(!this.info)return this;var r=this.getTilingEnvelope(t);if(!r)return this;for(var o=this.info.tilingBounds,i=function(t){for(var i=function(r){if(n.cache[t]||(n.cache[t]={}),n.cache[t][r])return"continue";n.cache[t][r]="loading",Tr(n.url+t+"/"+r+".csv").then((function(o){var i;if(n.preprocess){i=[];var a,u=to(o);try{for(u.s();!(a=u.n()).done;){var l=a.value;0!=n.preprocess(l)&&i.push(l)}}catch(t){u.e(t)}finally{u.f()}}else i=o;if(n.info){var c=new Kr(i,t,r,n.info);if(n.cache[t][r]=c,e){var f,s=!1,h=to(n.app.getActiveLayers());try{for(h.s();!(f=h.n()).done;)if(f.value.getDatasetComponent(n.app.getZoomFactor())==n){s=!0;break}}catch(t){h.e(t)}finally{h.f()}if(s){var y=n.app.updateExtentGeo(),p=c.extGeo;y.xMax<=p.xMin||y.xMin>=p.xMax||y.yMax<=p.yMin||y.yMin>=p.yMax||e()}}}else console.error("Tile info inknown")})).catch((function(){n.cache[t][r]="failed"}))},a=Math.max(r.yMin,o.yMin);a<=Math.min(r.yMax,o.yMax);a++)i(a)},a=Math.max(r.xMin,o.xMin);a<=Math.min(r.xMax,o.xMax);a++)i(a);return this}},{key:"updateViewCache",value:function(t){if(this.cellsViewCache=[],this.info){var e=this.getTilingEnvelope(t);if(e)for(var n=this.info.tilingBounds,r=Math.max(e.xMin,n.xMin);r<=Math.min(e.xMax,n.xMax);r++)if(this.cache[r])for(var o=Math.max(e.yMin,n.yMin);o<=Math.min(e.yMax,n.yMax);o++){var i=this.cache[r][o];if(i&&"string"!=typeof i){var a,u=to(i.cells);try{for(u.s();!(a=u.n()).done;){var l=a.value;+l.x+this.resolution<t.xMin||+l.x-this.resolution>t.xMax||+l.y+this.resolution<t.yMin||+l.y-this.resolution>t.yMax||this.cellsViewCache.push(l)}}catch(t){u.e(t)}finally{u.f()}}}}}}])&&ro(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),a}(Fr);function lo(t){return lo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},lo(t)}function co(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==lo(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==lo(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===lo(o)?o:String(o)),r)}var o}var fo=function(){function t(e){var n=this;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.visible=0!=e.visible,this.minZoom=e.minZoom||0,this.maxZoom=e.maxZoom||1/0,this.minZoom>=this.maxZoom)throw new Error("Unexpected zoom limits for layer. Zoom min should be smaller than zoom max.");if(this.cache={},this.url=e.url,this.urlFun=e.urlFun||function(t,e,r){return n.url+r+"/"+t+"/"+e+".png"},this.resolutions=e.resolutions,!this.resolutions||0==this.resolutions.length)throw new Error("No resolutions provided for background layer");this.nbPix=e.nbPix||256,this.origin=e.origin||[0,0],this.z0=e.z0||0,this.filterColor=e.filterColor}var e,n;return e=t,n=[{key:"get",value:function(t,e,n){var r=this.cache[t];if(r&&(r=r[e]))return r[n]}},{key:"put",value:function(t,e,n,r){this.cache[e]||(this.cache[e]={}),this.cache[e][n]||(this.cache[e][n]={}),this.cache[e][n][r]=t}},{key:"draw",value:function(t){var e=this;if(this.resolutions&&0!=this.resolutions.length){var n=t.getZf(),r=this.origin[0],o=this.origin[1],i=0;for(i=0;i<this.resolutions.length&&!(this.resolutions[i]<n);i++);i-=1,i=Math.max(0,i),i=Math.min(i,this.resolutions.length-1);var a=this.resolutions[i];i+=this.z0;for(var u=this.nbPix*a,l=u/n,c=function(t){return Math.ceil((t-r)/u)},f=function(t){return Math.ceil(-(t-o)/u)},s=c(t.extGeo.xMin)-1,h=c(t.extGeo.xMax),y=f(t.extGeo.yMin),p=f(t.extGeo.yMax)-1,v=function(n){for(var a=function(a){var c=e.get(i,n,a);if(!c){var f=new Image;return e.put(f,i,n,a),f.onload=function(){t.redraw()},f.onerror=function(){e.put("failed",i,n,a)},f.src=e.urlFun(n,a,i),"continue"}if("failed"===c)return"continue";if(!(c instanceof HTMLImageElement))return console.log(c),"continue";if(0==c.width||0==c.height)return"continue";var s=r+n*u,h=o-a*u;try{t.ctx.drawImage(c,t.geoToPixX(s),t.geoToPixY(h),l,l)}catch(t){console.error(t)}},c=p;c<y;c++)a(c)},d=s;d<h;d++)v(d);if(this.filterColor){var m=this.filterColor(n);m&&"none"!=m&&(t.ctx.fillStyle=m,t.ctx.fillRect(0,0,t.w,t.h))}}else console.error("No resolutions provided for background layer")}}],n&&co(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function so(t){return so="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},so(t)}function ho(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return yo(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?yo(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw i}}}}function yo(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function po(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==so(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==so(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===so(o)?o:String(o)),r)}var o}var vo=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.url=e.url,this.style=e.style||function(){return"bold 1em Arial"},this.color=e.color||(e.dark?function(){return"#ddd"}:function(){return"#222"}),this.haloColor=e.haloColor||(e.dark?function(){return"#000000BB"}:function(){return"#FFFFFFBB"}),this.haloWidth=e.haloWidth||function(){return 4},this.textAlign=e.textAlign||"start",this.offsetPix=e.offsetPix||[5,5],this.preprocess=e.preprocess,this.labels,this.loadingStatus="notLoaded"}var e,n;return e=t,(n=[{key:"draw",value:function(t){if(this.labels){var e=t.getZf();t.ctx.textAlign=this.textAlign||"start",t.ctx.lineJoin="bevel",t.ctx.lineCap="butt",t.initCanvasTransform();var n,r=ho(this.labels);try{for(r.s();!(n=r.n()).done;){var o=n.value,i=this.style(o,e);if(i&&(t.ctx.font=i,t.toDraw(o))){var a=t.geoToPixX(o.x)+this.offsetPix[0],u=t.geoToPixY(o.y)-this.offsetPix[1];if(this.haloColor&&this.haloWidth){var l=this.haloColor(o,e),c=this.haloWidth(o,e);l&&c&&c>0&&(t.ctx.strokeStyle=l,t.ctx.lineWidth=c,t.ctx.strokeText(o.name,a,u))}if(this.color){var f=this.color(o,e);f&&(t.ctx.fillStyle=f,t.ctx.fillText(o.name,a,u))}}}}catch(t){r.e(t)}finally{r.f()}}else this.load(t.redraw)}},{key:"load",value:function(t){var e=this;if(!this.url)return console.log("Failed loading labels: No URL specified. "+this.url),this.loadingStatus="failed",void(this.labels=[]);"notLoaded"===this.loadingStatus&&(this.loadingStatus="loading",Tr(this.url).then((function(n){if(e.preprocess){e.labels=[];var r,o=ho(n);try{for(o.s();!(r=o.n()).done;){var i=r.value;0!=e.preprocess(i)&&e.labels.push(i)}}catch(t){o.e(t)}finally{o.f()}}else e.labels=n;e.loadingStatus="loaded",t&&t()})).catch((function(){console.log("Failed loading labels from "+e.url),e.labels=[],e.loadingStatus="failed"})))}}])&&po(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function mo(t){return mo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},mo(t)}function bo(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return go(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?go(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw i}}}}function go(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function wo(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==mo(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==mo(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===mo(o)?o:String(o)),r)}var o}var xo=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.url=e.url,this.preprocess=e.preprocess,this.color=e.color||function(t,e){return"gray"},this.width=e.width||function(t,e){return 2},this.lineDash=e.lineDash||function(t,e){},this.fs,this.loadingStatus="notLoaded"}var e,n;return e=t,(n=[{key:"draw",value:function(t){if(this.fs){var e=t.getZf();t.setCanvasTransform();var n,r=bo(this.fs);try{for(r.s();!(n=r.n()).done;){var o=n.value,i=o.geometry.coordinates;if(!(i.length<2)){var a=this.color(o,e);if(a&&"none"!=a){t.ctx.strokeStyle=a;var u=this.width(o,e);if(u&&!(u<0)){t.ctx.lineWidth=u*e;var l=this.lineDash(o,e);l&&t.ctx.setLineDash(l),t.ctx.beginPath(),t.ctx.moveTo(i[0][0],i[0][1]);for(var c=1;c<i.length;c++)t.ctx.lineTo(i[c][0],i[c][1]);t.ctx.stroke()}}}}}catch(t){r.e(t)}finally{r.f()}t.ctx.setLineDash([])}else this.load(t.redraw)}},{key:"load",value:function(t){var e=this;if(!this.url)return console.log("Failed loading boundaries: No URL specified. "+this.url),this.loadingStatus="failed",void(this.labels=[]);"notLoaded"===this.loadingStatus&&(this.loadingStatus="loading",Yr(this.url).then((function(n){if(n=n.features,e.preprocess){var r,o=bo(n);try{for(o.s();!(r=o.n()).done;){var i=r.value;e.preprocess(i)}}catch(t){o.e(t)}finally{o.f()}}e.fs=n,e.loadingStatus="loaded",t&&t()})).catch((function(){console.log("Failed loading boundaries from "+e.url),e.fs=[],e.loadingStatus="failed"})))}}])&&wo(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function So(t){return So="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},So(t)}function _o(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return Po(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Po(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw i}}}}function Po(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function Oo(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==So(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==So(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===So(o)?o:String(o)),r)}var o}var jo=function(){function t(e,n){var r=this;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),n=n||{},this.layers=[],e=e||document.getElementById("gridviz")){this.w=n.w||e.offsetWidth,this.h=n.h||e.offsetHeight;var o=document.createElement("canvas");o.setAttribute("width",""+this.w),o.setAttribute("height",""+this.h),e.appendChild(o),this.cg=new Kn(o),this.cg.redraw=function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];r.legend&&t&&r.legend.selectAll("*").remove(),r.cg.initCanvasTransform(),r.cg.clear(r.cg.backgroundColor);var e=r.getZoomFactor();r.updateExtentGeo();var n,o=_o(r.bgLayers);try{for(o.s();!(n=o.n()).done;){var i=n.value;i.visible&&(e>i.maxZoom||e<i.minZoom||i.draw(r.cg))}}catch(t){o.e(t)}finally{o.f()}var a,u=_o(r.layers);try{for(u.s();!(a=u.n()).done;){var l=a.value;if(l.visible&&!(e>l.maxZoom||e<l.minZoom)){var c=l.getDatasetComponent(e);if(c){if(t&&c.getData(r.cg.extGeo,(function(){r.cg.redraw()})),t&&c.updateViewCache(r.cg.extGeo),t){var f,s=_o(l.styles);try{for(s.s();!(f=s.n()).done;){var h=f.value;e>h.maxZoom||e<h.minZoom||h.draw(c.getViewCache(),c.getResolution(),r.cg)}}catch(t){s.e(t)}finally{s.f()}}if(r.legend&&t){var y,p=_o(l.styles);try{for(p.s();!(y=p.n()).done;){var v=y.value;if(!(e>v.maxZoom||e<v.minZoom)){var d,m=_o(v.legends);try{for(m.s();!(d=m.n()).done;){var b=d.value;r.legend.node().append(b.div.node())}}catch(t){m.e(t)}finally{m.f()}}}}catch(t){p.e(t)}finally{p.f()}}}}}}catch(t){u.e(t)}finally{u.f()}return r.showBoundaries&&r.boundaryLayer&&r.boundaryLayer.draw(r.cg),r.showLabels&&r.labelLayer&&r.labelLayer.draw(r.cg),r.canvasSave=null,r},this.bgLayers=[],this.showBgLayers=!0,this.labelLayer=void 0,this.showLabels=!0,this.boundaryLayer=void 0,this.showBoundaries=!0,this.legendDivId=n.legendDivId||"gvizLegend",this.legend=mt("#"+this.legendDivId),this.legend.empty()&&(this.legend=mt("body").append("div").attr("id",this.legendDivId).style("position","absolute").style("width","auto").style("height","auto").style("background","#FFFFFFCC").style("border","0px").style("border-radius","5px").style("box-shadow","3px 3px 3px grey, -3px -3px 3px #ddd").style("font-family","Helvetica, Arial, sans-serif").style("top","20px").style("right","20px")),this.tooltip=new dr;var i=function(t){var e={x:r.cg.pixToGeoX(t.offsetX),y:r.cg.pixToGeoY(t.offsetY)},n=r.getCellFocusInfo(e);n?(r.tooltip.setPosition(t),r.tooltip.show(),r.tooltip.html(n.html),r.canvasSave?r.cg.ctx.drawImage(r.canvasSave,0,0):(r.canvasSave=document.createElement("canvas"),r.canvasSave.setAttribute("width",""+r.w),r.canvasSave.setAttribute("height",""+r.h),r.canvasSave.getContext("2d").drawImage(r.cg.canvas,0,0)),r.cg.initCanvasTransform(),r.cg.ctx.strokeStyle=r.selectionRectangleColor,r.cg.ctx.lineWidth=r.selectionRectangleWidthPix,r.cg.ctx.beginPath(),r.cg.ctx.rect(r.cg.geoToPixX(n.cell.x)-r.selectionRectangleWidthPix/2,r.cg.geoToPixY(n.cell.y)+r.selectionRectangleWidthPix/2,n.resolution/r.getZoomFactor()+r.selectionRectangleWidthPix,-n.resolution/r.getZoomFactor()-r.selectionRectangleWidthPix),r.cg.ctx.stroke()):(r.tooltip.hide(),r.canvasSave&&r.cg.ctx.drawImage(r.canvasSave,0,0))};e.addEventListener("mouseover",(function(t){i(t)})),e.addEventListener("mousemove",(function(t){i(t)})),e.addEventListener("mouseout",(function(){r.tooltip.hide()})),this.cg.onZoomStartFun=function(){r.tooltip.hide()},this.canvasSave=null,this.selectionRectangleColor=n.selectionRectangleColor||"red",this.selectionRectangleWidthPix=n.selectionRectangleWidthPix||4}else console.error("Cannot find gridviz container element.")}var e,n;return e=t,n=[{key:"getActiveLayers",value:function(){var t,e=[],n=this.getZoomFactor(),r=_o(this.layers);try{for(r.s();!(t=r.n()).done;){var o=t.value;o.visible&&o.getDatasetComponent(n)&&e.push(o)}}catch(t){r.e(t)}finally{r.f()}return e}},{key:"hideAllLayers",value:function(){var t,e=_o(this.layers);try{for(e.s();!(t=e.n()).done;)t.value.visible=!1}catch(t){e.e(t)}finally{e.f()}return this}},{key:"updateExtentGeo",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:20;return this.cg.updateExtentGeo(t)}},{key:"getCellFocusInfo",value:function(t){var e=this.getActiveLayers(),n=e[e.length-1];if(n){var r=n.getDatasetComponent(this.getZoomFactor());if(r){var o=r.getCellFromPosition(t,r.getViewCache());if(o)return{cell:o,html:n.cellInfoHTML(o,r.getResolution()),resolution:r.getResolution()}}}}},{key:"getGeoCenter",value:function(){return this.cg.getCenter()}},{key:"setGeoCenter",value:function(t){return this.cg.setCenter(t),this}},{key:"getZoomFactor",value:function(){return this.cg.getZf()}},{key:"setZoomFactor",value:function(t){return this.cg.setZf(t),this}},{key:"getZoomFactorExtent",value:function(){return this.cg.getZfExtent()}},{key:"setZoomFactorExtent",value:function(t){return this.cg.setZfExtent(t),this}},{key:"getBackgroundColor",value:function(){return this.cg.backgroundColor}},{key:"setBackgroundColor",value:function(t){return this.cg.backgroundColor=t,this}},{key:"getBoundaryLayer",value:function(){return this.boundaryLayer}},{key:"setBoundaryLayer",value:function(t){return this.boundaryLayer=new xo(t),this}},{key:"getLabelLayer",value:function(){return this.labelLayer}},{key:"setLabelLayer",value:function(t){return this.labelLayer=new vo(t),this}},{key:"redraw",value:function(){return this.cg.redraw(),this}},{key:"addLayerFromDataset",value:function(t,e,n){var r=new ar(t,e,n);return this.layers.push(r),this}},{key:"makeTiledCSVGridDataset",value:function(t,e){var n=this;return new hr([new uo(t,this,e).loadInfo((function(){n.cg.redraw()}))],[],e)}},{key:"makeMultiScaleCSVGridDataset",value:function(t,e,n){var r=this;return hr.make(t,(function(t){return new Gr(e(t),t,n).getData(void 0,(function(){r.cg.redraw()}))}),n)}},{key:"makeMultiScaleTiledCSVGridDataset",value:function(t,e,n){var r=this;return hr.make(t,(function(t){return new uo(e(t),r,n).loadInfo((function(){r.cg.redraw()}))}),n)}},{key:"addCSVGridLayer",value:function(t,e,n,r){var o=this.makeCSVGridDataset(t,e,r);return this.addLayerFromDataset(o,n,r)}},{key:"addParquetGridLayer",value:function(t,e,n,r){var o=this.makeParquetGridDataset(t,e,r);return this.addLayerFromDataset(o,n,r)}},{key:"addTiledCSVGridLayer",value:function(t,e,n){var r=this.makeTiledCSVGridDataset(t,n);return this.addLayerFromDataset(r,e,n)}},{key:"addMultiScaleCSVGridLayer",value:function(t,e,n,r){var o=this.makeMultiScaleCSVGridDataset(t,e,r);return this.addLayerFromDataset(o,n,r)}},{key:"addMultiScaleTiledCSVGridLayer",value:function(t,e,n,r){var o=this.makeMultiScaleTiledCSVGridDataset(t,e,r);return this.addLayerFromDataset(o,n,r)}},{key:"addBackgroundLayer",value:function(t){return this.bgLayers.push(new fo(t)),this.redraw(),this}},{key:"addZoomSlider",value:function(t,e){return this.cg.addZoomSlider(t,e),this}},{key:"setViewFromURL",value:function(){return this.cg.setViewFromURL(),this}}],n&&Oo(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function Co(t){return Co="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Co(t)}function ko(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function Eo(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==Co(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Co(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Co(o)?o:String(o)),r)}var o}function To(t,e){return To=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},To(t,e)}function Ao(t,e){if(e&&("object"===Co(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function Mo(t){return Mo=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Mo(t)}var Ro=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&To(t,e)}(a,t);var e,n,r,o,i=(r=a,o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=Mo(r);if(o){var n=Mo(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return Ao(this,t)});function a(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),e=i.call(this,t),t=t||{},e.colorCol=t.colorCol,e.color=t.color||function(){return"#EA6BAC"},e.sizeCol=t.sizeCol,e.size=t.size,e.shape=t.shape||function(){return"square"},e}return e=a,(n=[{key:"draw",value:function(t,e,n){var r,o,i=this,a=n.getZf();this.sizeCol&&(t.sort((function(t,e){return e[i.sizeCol]-t[i.sizeCol]})),r=nr.getStatistics(t,(function(t){return t[i.sizeCol]}),!0)),this.colorCol&&(o=nr.getStatistics(t,(function(t){return t[i.colorCol]}),!0)),n.setCanvasTransform();var u,l=.5*e,c=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return ko(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ko(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw i}}}}(t);try{for(c.s();!(u=c.n()).done;){var f=u.value,s=this.color?this.color(f[this.colorCol],e,o):void 0;if(s&&"none"!==s){n.ctx.fillStyle=s;var h=this.shape?this.shape(f):"square";if("none"!==h){var y=(this.size||function(){return e})(f[this.sizeCol],e,r,a),p=this.offset(f,e,a);if("square"===h){var v=e*(1-y/e)*.5;n.ctx.fillRect(f.x+v+p.dx,f.y+v+p.dy,y,y)}else if("circle"===h)n.ctx.beginPath(),n.ctx.arc(f.x+l+p.dx,f.y+l+p.dy,.5*y,0,2*Math.PI,!1),n.ctx.fill();else if("donut"===h){var d=f.x+l+p.dx,m=f.y+l+p.dy;n.ctx.beginPath(),n.ctx.moveTo(d,m),n.ctx.arc(d,m,l,0,2*Math.PI),n.ctx.arc(d,m,(1-y/e)*l,0,2*Math.PI,!0),n.ctx.closePath(),n.ctx.fill()}else{if("diamond"!==h)throw new Error("Unexpected shape:"+h);var b=.5*y;n.ctx.beginPath(),n.ctx.moveTo(f.x+l-b,f.y+l),n.ctx.lineTo(f.x+l,f.y+l+b),n.ctx.lineTo(f.x+l+b,f.y+l),n.ctx.lineTo(f.x+l,f.y+l-b),n.ctx.fill()}}}}}catch(t){c.e(t)}finally{c.f()}this.updateLegends({style:this,r:e,zf:a,sSize:r,sColor:o})}}])&&Eo(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),a}(nr);function zo(t){return zo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},zo(t)}function Fo(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function Io(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==zo(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==zo(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===zo(o)?o:String(o)),r)}var o}function Lo(t,e){return Lo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Lo(t,e)}function Bo(t,e){if(e&&("object"===zo(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function No(t){return No=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},No(t)}var Do=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Lo(t,e)}(a,t);var e,n,r,o,i=(r=a,o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=No(r);if(o){var n=No(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return Bo(this,t)});function a(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),e=i.call(this,t),t=t||{},e.strokeColorCol=t.strokeColorCol,e.strokeColor=t.strokeColor||function(){return"#666"},e.sizeCol=t.sizeCol,e.size=t.size,e.strokeWidthCol=t.strokeWidthCol,e.strokeWidth=t.strokeWidth,e.shape=t.shape||function(){return"square"},e}return e=a,(n=[{key:"draw",value:function(t,e,n){var r,o,i,a=this,u=n.getZf();this.strokeColorCol&&(r=nr.getStatistics(t,(function(t){return t[a.strokeColorCol]}),!0)),this.sizeCol&&(o=nr.getStatistics(t,(function(t){return t[a.sizeCol]}),!0)),this.strokeWidthCol&&(i=nr.getStatistics(t,(function(t){return t[a.strokeWidthCol]}),!0)),n.setCanvasTransform();var l,c=.5*e,f=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return Fo(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Fo(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw i}}}}(t);try{for(f.s();!(l=f.n()).done;){var s=l.value,h=this.strokeColor?this.strokeColor(s[this.strokeColorCol],e,r):void 0;if(h&&"none"!==h){n.ctx.strokeStyle=h;var y=(this.size||function(){return e})(s[this.sizeCol],e,o,u),p=this.strokeWidth?this.strokeWidth(s[this.strokeWidthCol],e,i,u):1*u;if(p&&!(p<=0)){n.ctx.lineWidth=p;var v=this.shape?this.shape(s):"square";if("none"!==v){var d=this.offset(s,e,u);if("square"===v){var m=e*(1-y/e)*.5;n.ctx.beginPath(),n.ctx.rect(s.x+m+d.dx,s.y+m+d.dy,y,y),n.ctx.stroke()}else if("circle"===v)n.ctx.beginPath(),n.ctx.arc(s.x+c+d.dx,s.y+c+d.dy,.5*y,0,2*Math.PI,!1),n.ctx.stroke();else if("diamond"===v){var b=.5*y;n.ctx.beginPath(),n.ctx.moveTo(s.x+c-b,s.y+c),n.ctx.lineTo(s.x+c,s.y+c+b),n.ctx.lineTo(s.x+c+b,s.y+c),n.ctx.lineTo(s.x+c,s.y+c-b),n.ctx.lineTo(s.x+c-b,s.y+c),n.ctx.stroke()}else{if("donut"!==v)throw new Error("Unexpected shape:"+v);console.error("Not implemented")}}}}}}catch(t){f.e(t)}finally{f.f()}}}])&&Io(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),a}(nr);function Zo(t){return Zo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Zo(t)}function Uo(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function Wo(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==Zo(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Zo(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Zo(o)?o:String(o)),r)}var o}function Go(t,e){return Go=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Go(t,e)}function $o(t,e){if(e&&("object"===Zo(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function Yo(t){return Yo=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Yo(t)}var Vo=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Go(t,e)}(a,t);var e,n,r,o,i=(r=a,o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=Yo(r);if(o){var n=Yo(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return $o(this,t)});function a(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),e=i.call(this,t),t=t||{},e.heightCol=t.heightCol,e.height=t.height||function(t){return Math.sqrt(t)},e.lineColor=t.lineColor||function(t,e,n,r){return"#BBB"},e.lineWidth=t.lineWidth||function(t,e,n,r){return r},e.fillColor=t.fillColor||function(t,e,n,r){return"#c08c5968"},e}return e=a,(n=[{key:"draw",value:function(t,e,n){var r=this;n.ctx.lineJoin="round";var o,i=n.getZf(),a=nr.getStatistics(t,(function(t){return t[r.heightCol]}),!0),u={},l=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return Uo(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Uo(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw i}}}}(t);try{for(l.s();!(o=l.n()).done;){var c=o.value,f=u[c.y];f||(f={},u[c.y]=f),f[c.x]=this.height(c[this.heightCol],e,a,i)}}catch(t){l.e(t)}finally{l.f()}var s=n.extGeo;if(s){var h=Math.floor(s.xMin/e)*e,y=Math.floor(s.xMax/e)*e,p=Math.floor(s.yMin/e)*e,v=Math.floor(s.yMax/e)*e,d={min:p,max:v};n.setCanvasTransform();for(var m=v;m>=p;m-=e){var b=u[m];if(b){n.ctx.beginPath(),n.ctx.moveTo(h-e/2,m);for(var g=void 0,w=h;w<=y;w+=e){var x=b[w];x||(x=0),x||g?n.ctx.lineTo(w+e/2,m+x):n.ctx.moveTo(w+e/2,m),g=x}g&&n.ctx.lineTo(y+e/2,m);var S=this.fillColor(m,d,e,i);S&&"none"!=S&&(n.ctx.fillStyle=S,n.ctx.fill());var _=this.lineColor(m,d,e,i),P=this.lineWidth(m,d,e,i);_&&"none"!=_&&P>0&&(n.ctx.strokeStyle=_,n.ctx.lineWidth=P,n.ctx.stroke())}}}}}])&&Wo(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),a}(nr);function Xo(t){return Xo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Xo(t)}function qo(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,i,a,u=[],l=!0,c=!1;try{if(i=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(u.push(r.value),u.length!==e);l=!0);}catch(t){c=!0,o=t}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return u}}(t,e)||Ho(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ho(t,e){if(t){if("string"==typeof t)return Ko(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ko(t,e):void 0}}function Ko(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function Jo(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==Xo(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Xo(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Xo(o)?o:String(o)),r)}var o}function Qo(t,e){return Qo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Qo(t,e)}function ti(t,e){if(e&&("object"===Xo(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function ei(t){return ei=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},ei(t)}var ni=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Qo(t,e)}(a,t);var e,n,r,o,i=(r=a,o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=ei(r);if(o){var n=ei(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return ti(this,t)});function a(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),e=i.call(this,t),t=t||{},e.color=t.color,e.type=t.type,e.sizeCol=t.sizeCol,e.size=t.size||function(t,e,n,r){return e},e.stripesOrientation=t.stripesOrientation||function(){return 0},e.offsetAngle=t.offsetAngle||function(){return 0},e.agePyramidHeight=t.agePyramidHeight||function(t,e,n){return e},e.pieChartInternalRadiusFactor=t.pieChartInternalRadiusFactor||0,e}return e=a,n=[{key:"draw",value:function(t,e,n){var r,o=this,i=n.getZf();this.sizeCol&&(t.sort((function(t,e){return e[o.sizeCol]-t[o.sizeCol]})),r=nr.getStatistics(t,(function(t){return t[o.sizeCol]}),!0));var a=Object.entries(this.color).length;n.setCanvasTransform();var u,l=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=Ho(t))){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw i}}}}(t);try{for(l.s();!(u=l.n()).done;){var c=u.value,f=(this.size||function(){return e})(c[this.sizeCol],e,r,i),s=this.offset(c,e,i),h=this.type?this.type(c):"flag",y=c.x+s.dx+("agepyramid"===h?0:.5*e),p=c.y+s.dy+("agepyramid"===h?0:.5*e);if("agepyramid"===h||"radar"===h||"halftone"===h){for(var v=-1/0,d=0,m=Object.keys(this.color);d<m.length;d++){var b=+c[m[d]];b>v&&(v=b)}var g=0;"agepyramid"===h&&this.agePyramidHeight&&(g=(e-this.agePyramidHeight(c,e,i))/2),"radar"!==h&&"halftone"!==h||(g=Math.PI/2+(this.offsetAngle?this.offsetAngle(c,e,i)*Math.PI/180:0));var w="agepyramid"===h?(this.agePyramidHeight?this.agePyramidHeight(c,e,i):e)/a:"radar"===h||"halftone"===h?2*Math.PI/a:void 0;if(void 0===w)throw new Error("Unexpected symbol type:"+h);for(var x=0,S=Object.entries(this.color);x<S.length;x++){var _=qo(S[x],2),P=_[0],O=_[1];if("agepyramid"===h){n.ctx.fillStyle=O;var j=f*c[P]/v;n.ctx.fillRect(y+(e-j)/2,p+g,j,w),g+=w}else if("radar"===h){n.ctx.fillStyle=O;var C=c[P],k=f/2*Math.sqrt(C/v);n.ctx.beginPath(),n.ctx.moveTo(y,p),n.ctx.arc(y,p,k,g-w,g),n.ctx.lineTo(y,p),n.ctx.fill(),g+=w}else{if("halftone"!==h)throw new Error("Unexpected symbol type:"+h);n.ctx.fillStyle=O;var E=c[P],T=.333*f*Math.sqrt(E/v);n.ctx.beginPath(),n.ctx.arc(y+.25*e*Math.cos(g),p+.25*e*Math.sin(g),T,0,2*Math.PI),n.ctx.fill(),g+=w}}}else{for(var A=0,M=0,R=Object.keys(this.color);M<R.length;M++){var z=+c[R[M]];z&&(A+=z)}if(!A||isNaN(A))continue;for(var F=0,I=e*(1-f/e)*.5,L=this.stripesOrientation(c,e,i),B=0,N=Object.entries(this.color);B<N.length;B++){var D=qo(N[B],2),Z=D[0],U=D[1],W=c[Z]/A;if(W&&!isNaN(W)){if(n.ctx.fillStyle=U,"flag"===h)0==L?n.ctx.fillRect(c.x+I+s.dx,c.y+I+F*f+s.dy,f,W*f):n.ctx.fillRect(c.x+I+F*f+s.dx,c.y+I+s.dy,W*f,f);else if("piechart"===h){var G=2*F*Math.PI,$=2*(F+W)*Math.PI;n.ctx.beginPath(),n.ctx.moveTo(y,p),n.ctx.arc(y,p,.5*f,G,$),this.pieChartInternalRadiusFactor&&n.ctx.arc(y,p,.5*f*this.pieChartInternalRadiusFactor,G,$,!0),n.ctx.closePath(),n.ctx.fill()}else if("ring"===h)n.ctx.beginPath(),n.ctx.arc(y,p,Math.sqrt(1-F)*f*.5,0,2*Math.PI),n.ctx.fill();else{if("segment"!==h)throw new Error("Unexpected symbol type:"+h);var Y=f*f/e;0==L?n.ctx.fillRect(c.x+s.dx,c.y+(e-Y)/2+F*Y+s.dy,e,W*Y):n.ctx.fillRect(c.x+F*e+s.dx,c.y+(e-Y)/2+s.dy,W*e,Y)}F+=W}}}}}catch(t){l.e(t)}finally{l.f()}this.updateLegends({style:this,r:e,zf:i,sSize:r})}}],n&&Jo(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),a}(nr);function ri(t){return ri="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ri(t)}function oi(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function ii(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==ri(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==ri(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===ri(o)?o:String(o)),r)}var o}function ai(t,e){return ai=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},ai(t,e)}function ui(t,e){if(e&&("object"===ri(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function li(t){return li=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},li(t)}var ci=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&ai(t,e)}(a,t);var e,n,r,o,i=(r=a,o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=li(r);if(o){var n=li(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return ui(this,t)});function a(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),e=i.call(this,t),t=t||{},e.orientation=t.orientation||function(){return 0},e.colorCol=t.colorCol,e.color=t.color||function(){return"#EA6BAC"},e.lengthCol=t.lengthCol,e.length=t.length,e.widthCol=t.widthCol,e.width=t.width,e}return e=a,(n=[{key:"draw",value:function(t,e,n){var r,o,i,a=this,u=n.getZf();this.colorCol&&(r=nr.getStatistics(t,(function(t){return t[a.colorCol]}),!0)),this.lengthCol&&(t.sort((function(t,e){return e[a.lengthCol]-t[a.lengthCol]})),o=nr.getStatistics(t,(function(t){return t[a.lengthCol]}),!0)),this.widthCol&&(i=nr.getStatistics(t,(function(t){return t[a.widthCol]}),!0)),n.ctx.lineCap="butt";var l=Math.PI/180;n.setCanvasTransform();var c,f=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return oi(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?oi(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw i}}}}(t);try{for(f.s();!(c=f.n()).done;){var s=c.value,h=this.color?this.color(s[this.colorCol],e,r):void 0;if(h){var y=this.width?this.width(s[this.widthCol],e,i,u):void 0;if(y&&!(y<0)){var p=this.length?this.length(s[this.lengthCol],e,o,u):void 0;if(p&&!(p<0)){var v=this.orientation(s)*l;if(void 0!==v&&!isNaN(v)){var d=this.offset(s,e,u);n.ctx.strokeStyle=h,n.ctx.lineWidth=y;var m=s.x+e/2+d.dx,b=s.y+e/2+d.dy,g=.5*Math.cos(v)*p,w=.5*Math.sin(v)*p;n.ctx.beginPath(),n.ctx.moveTo(m-g,b-w),n.ctx.lineTo(m+g,b+w),n.ctx.stroke()}}}}}}catch(t){f.e(t)}finally{f.f()}this.updateLegends({style:this,r:e,zf:u,sColor:r,sLength:o,sWidth:i})}}])&&ii(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),a}(nr);function fi(t){return fi="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},fi(t)}function si(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function hi(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==fi(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==fi(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===fi(o)?o:String(o)),r)}var o}function yi(t,e){return yi=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},yi(t,e)}function pi(t,e){if(e&&("object"===fi(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function vi(t){return vi=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},vi(t)}var di=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&yi(t,e)}(u,t);var e,n,r,o,i,a=(o=u,i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=vi(o);if(i){var n=vi(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return pi(this,t)});function u(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,u),e=a.call(this,t),t=t||{},e.textCol=t.textCol,e.text=t.text||function(t,e,n,r){return"X"},e.colorCol=t.colorCol,e.color=t.color||function(){return"#EA6BAC"},e.fontSizeCol=t.fontSizeCol,e.fontSize=t.fontSize||function(t,e,n,r){return e-2},e.fontFamily=t.fontFamily||"Arial",e.fontWeight=t.fontWeight||"bold",e}return e=u,r=[{key:"getCharLegendFun",value:function(t){var e=t.length;return function(n){return 0==n?"":1==n?t[e-1]:t[Math.floor(n*e)]}}}],(n=[{key:"draw",value:function(t,e,n){var r,o,i,a=this,u=n.getZf();this.textCol&&(r=nr.getStatistics(t,(function(t){return t[a.textCol]}),!0)),this.colorCol&&(o=nr.getStatistics(t,(function(t){return t[a.colorCol]}),!0)),this.fontSizeCol&&(t.sort((function(t,e){return e[a.fontSizeCol]-t[a.fontSizeCol]})),i=nr.getStatistics(t,(function(t){return t[a.fontSizeCol]}),!0));var l,c=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return si(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?si(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw i}}}}(t);try{for(c.s();!(l=c.n()).done;){var f=l.value,s=this.text?this.text(f[this.textCol],e,r):void 0;if(s){var h=this.color?this.color(f[this.colorCol],e,o):void 0;if(h){n.ctx.fillStyle=h;var y=(this.fontSize||function(){return e/u-2})(f[this.fontSizeCol],e,i,u)/u,p=this.fontFamily||"Arial",v=this.fontWeight||"bold";n.ctx.font=v+" "+y+"px "+p;var d=this.offset(f,e,u);n.ctx.textAlign="center";var m=n.geoToPixX(f.x+.5*e+d.dx),b=n.geoToPixY(f.y+.5*e+d.dy)+.5*y;n.ctx.fillText(s,m,b)}}}}catch(t){c.e(t)}finally{c.f()}this.updateLegends({style:this,r:e,zf:u,sColor:o})}}])&&hi(e.prototype,n),r&&hi(e,r),Object.defineProperty(e,"prototype",{writable:!1}),u}(nr);function mi(t){return mi="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},mi(t)}function bi(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return gi(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?gi(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw i}}}}function gi(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function wi(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==mi(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==mi(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===mi(o)?o:String(o)),r)}var o}function xi(t,e){return xi=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},xi(t,e)}function Si(t,e){if(e&&("object"===mi(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function _i(t){return _i=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},_i(t)}var Pi=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&xi(t,e)}(a,t);var e,n,r,o,i=(r=a,o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=_i(r);if(o){var n=_i(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return Si(this,t)});function a(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),e=i.call(this,t),t=t||{},e.value=t.value,e.sigma=t.sigma,e.styles=t.styles,e}return e=a,(n=[{key:"getKernelMatrix",value:function(t){for(var e,n,r=Math.floor(3*t),o=2*t*t,i=[],a=0;a<=r;a++){for(var u=[],l=0;l<=r;l++){var c=(e=a,n=l,Math.exp(-(e*e+n*n)/o));u.push({w:c,val:0})}i.push(u)}return i}},{key:"kernelSmoothing",value:function(t,e,n,r){var o,i=Math.floor(e.xMin/n)*n,a=Math.floor(e.xMax/n)*n,u=Math.floor(e.yMin/n)*n,l=Math.floor(e.yMax/n)*n,c=(a-i)/n+1,f=(l-u)/n+1,s=bi(t);try{for(s.s();!(o=s.n()).done;)o.value.ksmval=0}catch(t){s.e(t)}finally{s.f()}var h,y={},p=bi(t);try{for(p.s();!(h=p.n()).done;){var v=h.value,d=Math.floor((v.x-i)/n),m=Math.floor((v.y-u)/n);y[d]||(y[d]={}),y[d][m]=v}}catch(t){p.e(t)}finally{p.f()}for(var b=this.getKernelMatrix(r),g=b.length,w=0,x=Object.keys(y);w<x.length;w++)for(var S=x[w],_=+S,P=0,O=Object.keys(y[S]);P<O.length;P++){var j=+O[P],C=y[_][j];if(!C.notInputCell){var k=this.value(C);if(k){for(var E=0,T=0;T<g;T++)for(var A=0;A<g;A++){var M=b[T][A];M.val=M.w*k,E+=M.w}for(var R=function(t,e){return t>=0&&t<c&&e>=0&&e<f},z=function(t,e,r){var o=y[t]?y[t][e]:void 0;o?o.ksmval?o.ksmval+=r:o.ksmval=r:(y[t]||(y[t]={}),y[t][e]={x:i+t*n,y:u+e*n,ksmval:r,notInputCell:!0})},F=0;F<g;F++)for(var I=0;I<g;I++){var L=b[Math.abs(F)][Math.abs(I)];if(L){var B=L.val;B&&(B/=E)&&(R(_+F,j+I)&&z(_+F,j+I,B),0==F&&0==I||(R(_-F,j+I)&&z(_-F,j+I,B),0!=F&&(R(_+F,j-I)&&z(_+F,j-I,B),R(_-F,j-I)&&z(_-F,j-I,B))))}}}}}for(var N=[],D=0,Z=Object.keys(y);D<Z.length;D++)for(var U=Z[D],W=0,G=Object.keys(y[U]);W<G.length;W++){var $=G[W];N.push(y[U][$])}return N}},{key:"draw",value:function(t,e,n){if(t&&0!=t.length){var r=this.sigma(e,n.zf);t=this.kernelSmoothing(t,n.extGeo,e,r/e);var o,i=bi(this.styles);try{for(i.s();!(o=i.n()).done;)o.value.draw(t,e,n)}catch(t){i.e(t)}finally{i.f()}}}}])&&wi(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),a}(nr);function Oi(t){return Oi="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Oi(t)}function ji(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return Ci(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ci(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw i}}}}function Ci(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function ki(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==Oi(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Oi(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Oi(o)?o:String(o)),r)}var o}function Ei(t,e){return Ei=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Ei(t,e)}function Ti(t,e){if(e&&("object"===Oi(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function Ai(t){return Ai=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Ai(t)}var Mi=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Ei(t,e)}(a,t);var e,n,r,o,i=(r=a,o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=Ai(r);if(o){var n=Ai(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return Ti(this,t)});function a(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),e=i.call(this,t),t=t||{},e.heightCol=t.heightCol,e.height=t.height,e.colorCol=t.colorCol,e.color=t.color||function(){return"#c08c59"},e.widthCol=t.widthCol,e.width=t.width||function(t,e){return.5*e},e.simple=null!=t.simple,e.viewHeightFactor=t.viewHeightFactor||1.5,e.viewSX=null==t.viewSX?0:t.viewSX,e.viewSY=null==t.viewSY?-.5:t.viewSY,e.shadowDirection=null==t.shadowDirection?-40.3*Math.PI/180:t.shadowDirection,e.shadowFactor=t.shadowFactor||.3,e.shadowColor=t.shadowColor||"#00000033",e.outlineCol=t.outlineCol||"#FFFFFF",e.outlineWidthPix=null==t.outlineWidthPix?.5:t.outlineWidthPix,e}return e=a,(n=[{key:"draw",value:function(t,e,n){var r,o,i,a=this,u=n.getZf();this.heightCol&&(r=nr.getStatistics(t,(function(t){return t[a.heightCol]}),!0)),this.colorCol&&(o=nr.getStatistics(t,(function(t){return t[a.colorCol]}),!0)),this.widthCol&&(i=nr.getStatistics(t,(function(t){return t[a.widthCol]}),!0));var l=n.getCenter().x+this.viewSX*n.w*u,c=n.getCenter().y+this.viewSY*n.h*u,f=this.viewHeightFactor*(n.w+n.h)*.5*u;t.sort((function(t,e){return 1e8*(e.y-t.y)+t.x-e.x})),n.ctx.lineCap=this.simple?"butt":"round",n.setCanvasTransform(),n.ctx.strokeStyle=this.shadowColor,n.ctx.fillStyle=this.shadowColor;var s,h=ji(t);try{for(h.s();!(s=h.n()).done;){var y=s.value,p=this.width?this.width(y[this.widthCol],e,i,u):void 0;if(p&&!(p<0)){var v=this.height?this.height(y[this.heightCol],e,r,u):void 0;if(v&&!(v<0)){this.offset(y,e,u),n.ctx.lineWidth=p;var d=y.x+e/2,m=y.y+e/2,b=v*this.shadowFactor;n.ctx.beginPath(),n.ctx.moveTo(d,m),n.ctx.lineTo(d+b*Math.cos(this.shadowDirection),m+b*Math.sin(this.shadowDirection)),n.ctx.stroke()}}}}catch(t){h.e(t)}finally{h.f()}var g,w=ji(t);try{for(w.s();!(g=w.n()).done;){var x=g.value,S=this.color?this.color(x[this.colorCol],e,o):void 0;if(S){var _=this.width?this.width(x[this.widthCol],e,i,u):void 0;if(_&&!(_<0)){var P=this.height?this.height(x[this.heightCol],e,r,u):void 0;if(P&&!(P<0)){this.offset(x,e,u);var O=x.x+e/2,j=x.y+e/2,C=O-l,k=j-c,E=Math.atan2(k,C),T=Math.sqrt(C*C+k*k)*P/(f-P);this.simple?(n.ctx.strokeStyle=S,n.ctx.lineWidth=_,n.ctx.beginPath(),n.ctx.moveTo(O,j),n.ctx.lineTo(O+T*Math.cos(E),j+T*Math.sin(E)),n.ctx.stroke()):(n.ctx.strokeStyle=this.outlineCol,n.ctx.lineWidth=_+2*this.outlineWidthPix*u,n.ctx.beginPath(),n.ctx.moveTo(O,j),n.ctx.lineTo(O+T*Math.cos(E),j+T*Math.sin(E)),n.ctx.stroke(),n.ctx.strokeStyle=S,n.ctx.lineWidth=_,n.ctx.beginPath(),n.ctx.moveTo(O,j),n.ctx.lineTo(O+T*Math.cos(E),j+T*Math.sin(E)),n.ctx.stroke(),n.ctx.strokeStyle=this.outlineCol,n.ctx.lineWidth=this.outlineWidthPix*u,n.ctx.beginPath(),n.ctx.arc(O+T*Math.cos(E),j+T*Math.sin(E),.5*_,0,2*Math.PI,!1),n.ctx.stroke())}}}}}catch(t){w.e(t)}finally{w.f()}n.ctx.lineCap="butt",this.updateLegends({style:this,r:e,zf:u,sColor:o})}}])&&ki(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),a}(nr);function Ri(t){return Ri="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ri(t)}function zi(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return Fi(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Fi(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw i}}}}function Fi(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function Ii(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==Ri(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Ri(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Ri(o)?o:String(o)),r)}var o}function Li(t,e){return Li=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Li(t,e)}function Bi(t,e){if(e&&("object"===Ri(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function Ni(t){return Ni=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Ni(t)}var Di=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Li(t,e)}(u,t);var e,n,r,o,i,a=(o=u,i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=Ni(o);if(i){var n=Ni(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return Bi(this,t)});function u(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,u),e=a.call(this,t),t=t||{},e.valueCol=t.valueCol,e.value=t.value||function(t,e,n,r,o){return 1},e.color=t.color||function(){return"#EA6BAC"},e.width=t.width||function(t,e,n,r){return e*t.value/5},e.orientation=t.orientation||0,e.fillColor=t.fillColor,e}return e=u,r=[{key:"getSideStatistics",value:function(t,e){if(t&&0!=t.length){var n,r=1/0,o=-1/0,i=zi(t);try{for(i.s();!(n=i.n()).done;){var a=n.value.value;e&&!a||(a<r&&(r=a),a>o&&(o=a))}}catch(t){i.e(t)}finally{i.f()}return{min:r,max:o}}}}],(n=[{key:"draw",value:function(t,e,n){var r,o=this,i=n.getZf();this.valueCol&&(r=nr.getStatistics(t,(function(t){return t[o.valueCol]}),!0));var a=[];t.sort((function(t,e){return e.x==t.x?t.y-e.y:t.x-e.x}));for(var l=t[0],c=1;c<t.length;c++){var f=t[c];l.y+e==f.y&&l.x==f.x?a.push({x:l.x,y:f.y,or:"h",value:this.value(l[this.valueCol],f[this.valueCol],e,r,i)}):(a.push({x:l.x,y:l.y+e,or:"h",value:this.value(l[this.valueCol],void 0,e,r,i)}),a.push({x:f.x,y:f.y,or:"h",value:this.value(void 0,f[this.valueCol],e,r,i)})),l=f}t.sort((function(t,e){return e.y==t.y?t.x-e.x:t.y-e.y})),l=t[0];for(var s=1;s<t.length;s++){var h=t[s];l.x+e==h.x&&l.y==h.y?a.push({x:l.x+e,y:l.y,or:"v",value:this.value(l[this.valueCol],h[this.valueCol],e,r,i)}):(a.push({x:l.x+e,y:l.y,or:"v",value:this.value(l[this.valueCol],void 0,e,r,i)}),a.push({x:h.x,y:h.y,or:"v",value:this.value(void 0,h[this.valueCol],e,r,i)})),l=h}if(0!=a.length){var y=u.getSideStatistics(a,!0);if(n.setCanvasTransform(),this.fillColor){var p,v=zi(t);try{for(v.s();!(p=v.n()).done;){var d=p.value,m=this.fillColor(d);m&&"none"!=m&&(n.ctx.fillStyle=m,n.ctx.fillRect(d.x,d.y,e,e))}}catch(t){v.e(t)}finally{v.f()}}n.ctx.lineCap="butt";for(var b=e/2,g=0,w=a;g<w.length;g++){var x=w[g],S=this.color?this.color(x,e,y,i):void 0;if(S&&"none"!=S){var _=this.width?this.width(x,e,y,i):void 0;!_||_<=0||(n.ctx.strokeStyle=S,n.ctx.lineWidth=_,n.ctx.beginPath(),90==this.orientation?(n.ctx.moveTo(x.x+b,x.y+b),"h"===x.or?n.ctx.lineTo(x.x+b,x.y-b):n.ctx.lineTo(x.x-b,x.y+b)):(n.ctx.moveTo(x.x,x.y),n.ctx.lineTo(x.x+("h"===x.or?e:0),x.y+("v"===x.or?e:0))),n.ctx.stroke())}}this.updateLegends({style:this,r:e,zf:i})}}}])&&Ii(e.prototype,n),r&&Ii(e,r),Object.defineProperty(e,"prototype",{writable:!1}),u}(nr);function Zi(t){return Zi="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Zi(t)}function Ui(t,e){return Ui=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Ui(t,e)}function Wi(t,e){if(e&&("object"===Zi(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function Gi(t){return Gi=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Gi(t)}var $i=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Ui(t,e)}(i,t);var e,n,r,o=(n=i,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=Gi(n);if(r){var o=Gi(this).constructor;t=Reflect.construct(e,arguments,o)}else t=e.apply(this,arguments);return Wi(this,t)});function i(t){var e;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,i),e=o.call(this,t),(t=t||{}).breaks=t.breaks||[100,1e3,1e4,1e5,1e6],t.width=t.width||function(){return 1},t.color=t.color||function(){return"#E7A935"};var n=function(e){if(null==e)return 0;for(var n=0;n<t.breaks.length;n++)if(e<t.breaks[n])return n;return t.breaks.length};return e.value=function(t,e,r,o,i){return Math.abs(n(e)-n(t))},e.color=function(e,n,r,o){return e.value?t.color(e,n,o):void 0},e.width=function(e,n,r,o){return e.value*o*t.width(e,n,o)},e}return e=i,Object.defineProperty(e,"prototype",{writable:!1}),e}(Di);function Yi(t){return Yi="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Yi(t)}function Vi(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function Xi(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==Yi(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Yi(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Yi(o)?o:String(o)),r)}var o}function qi(t,e){return qi=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},qi(t,e)}function Hi(t,e){if(e&&("object"===Yi(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function Ki(t){return Ki=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Ki(t)}var Ji=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&qi(t,e)}(a,t);var e,n,r,o,i=(r=a,o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=Ki(r);if(o){var n=Ki(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return Hi(this,t)});function a(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),e=i.call(this,t),t=t||{},e.col=t.col,e.color=t.color,e.width=t.width||function(t,e,n){return.2*e},e.fillColor=t.fillColor,e}return e=a,(n=[{key:"draw",value:function(t,e,n){if(t&&0!=t.length){var r=n.getZf(),o=[];t.sort((function(t,e){return e.x==t.x?t.y-e.y:t.x-e.x}));for(var i=t[0],a=i[this.col],u=1;u<t.length;u++){var l=t[u],c=l[this.col];i.y+e==l.y&&i.x==l.x?a!=c&&o.push({x:i.x,y:l.y,or:"h",v1:a,v2:c}):(o.push({x:i.x,y:i.y+e,or:"h",v1:a,v2:void 0}),o.push({x:l.x,y:l.y,or:"h",v1:void 0,v2:c})),i=l,a=c}t.sort((function(t,e){return e.y==t.y?t.x-e.x:t.y-e.y})),a=(i=t[0])[this.col];for(var f=1;f<t.length;f++){var s=t[f],h=s[this.col];i.x+e==s.x&&i.y==s.y?a!=h&&o.push({x:i.x+e,y:i.y,or:"v",v1:a,v2:h}):(o.push({x:i.x+e,y:i.y,or:"v",v1:a,v2:void 0}),o.push({x:s.x,y:s.y,or:"v",v1:void 0,v2:h})),i=s,a=h}if(0!=o.length){if(n.setCanvasTransform(),this.fillColor){var y,p=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return Vi(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Vi(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw i}}}}(t);try{for(p.s();!(y=p.n()).done;){var v=y.value,d=this.fillColor(v);d&&"none"!=d&&(n.ctx.fillStyle=d,n.ctx.fillRect(v.x,v.y,e,e))}}catch(t){p.e(t)}finally{p.f()}}n.ctx.lineCap="butt";for(var m=0,b=o;m<b.length;m++){var g=b[m],w=this.width?this.width(g,e,r):void 0;if(w&&!(w<=0)){var x=.5*w;n.ctx.lineWidth=w,"h"===g.or?(g.v2&&(n.ctx.beginPath(),n.ctx.strokeStyle=this.color[g.v2],n.ctx.moveTo(g.x,g.y+x),n.ctx.lineTo(g.x+e,g.y+x),n.ctx.stroke()),g.v1&&(n.ctx.beginPath(),n.ctx.strokeStyle=this.color[g.v1],n.ctx.moveTo(g.x,g.y-x),n.ctx.lineTo(g.x+e,g.y-x),n.ctx.stroke())):(g.v2&&(n.ctx.beginPath(),n.ctx.strokeStyle=this.color[g.v2],n.ctx.moveTo(g.x+x,g.y),n.ctx.lineTo(g.x+x,g.y+e),n.ctx.stroke()),g.v1&&(n.ctx.beginPath(),n.ctx.strokeStyle=this.color[g.v1],n.ctx.moveTo(g.x-x,g.y),n.ctx.lineTo(g.x-x,g.y+e),n.ctx.stroke()))}}this.updateLegends({style:this,r:e,zf:r})}}}}])&&Xi(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),a}(nr);const Qi=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}(Math.random);function ta(t,e){var n=document.createElement("canvas");n.setAttribute("width",t),n.setAttribute("height",e);var r=n.getContext("webgl");if(!r)throw new Error("Unable to initialize WebGL. Your browser or machine may not support it.");return{canvas:n,gl:r}}function ea(t){var e=t.createProgram();if(null==e)throw new Error("Cannot create webGL program");for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];for(var i=0,a=r;i<a.length;i++){var u=a[i];t.attachShader(e,u)}if(t.linkProgram(e),t.getProgramParameter(e,t.LINK_STATUS))return e;throw new Error(t.getProgramInfoLog(e)||"Cannot create webGL program (2)")}function na(t,e){var n=t.createShader(e);if(null==n)throw new Error("Cannot create webGL shader");for(var r=arguments.length,o=new Array(r>2?r-2:0),i=2;i<r;i++)o[i-2]=arguments[i];if(t.shaderSource(n,o.join("\n")),t.compileShader(n),t.getShaderParameter(n,t.COMPILE_STATUS))return n;throw new Error(t.getShaderInfoLog(n)||"Cannot create webGL shader (2)")}function ra(t){return ra="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ra(t)}function oa(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==ra(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==ra(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===ra(o)?o:String(o)),r)}var o}var ia=function(){function t(e,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.gl=e,this.sizePix=n||10,this.program=ea(e,na(e,e.VERTEX_SHADER,"\n attribute vec2 pos;\n uniform float sizePix;\n uniform mat3 mat;\n attribute vec4 color;\n varying vec4 vColor;\n void main() {\n gl_Position = vec4(mat * vec3(pos, 1.0), 1.0);\n gl_PointSize = sizePix;\n vColor = color;\n }\n "),na(e,e.FRAGMENT_SHADER,"\n precision mediump float;\n varying vec4 vColor;\n void main(void) {\n vec4 vColor_ = vColor / 255.0;\n vColor_[3] = 255.0 * vColor_[3];\n gl_FragColor = vColor_;\n }")),e.useProgram(this.program),this.verticesBuffer=[],this.colorsBuffer=[]}var e,n;return e=t,(n=[{key:"addPointData",value:function(t,e,n){var r=Me(n);r&&(this.verticesBuffer.push(t,e),this.colorsBuffer.push(r.r,r.g,r.b,r.opacity))}},{key:"addPointData2",value:function(t,e,n,r,o,i){this.verticesBuffer.push(t,e),this.colorsBuffer.push(n,r,o,i)}},{key:"draw",value:function(t){var e=this.gl;e.bindBuffer(e.ARRAY_BUFFER,e.createBuffer()),e.bufferData(e.ARRAY_BUFFER,new Float32Array(this.verticesBuffer),e.STATIC_DRAW);var n=e.getAttribLocation(this.program,"pos");e.vertexAttribPointer(n,2,e.FLOAT,!1,0,0),e.enableVertexAttribArray(n),e.bindBuffer(e.ARRAY_BUFFER,e.createBuffer()),e.bufferData(e.ARRAY_BUFFER,new Float32Array(this.colorsBuffer),e.STATIC_DRAW);var r=e.getAttribLocation(this.program,"color");e.vertexAttribPointer(r,4,e.FLOAT,!1,0,0),e.enableVertexAttribArray(r),e.uniform1f(e.getUniformLocation(this.program,"sizePix"),1*this.sizePix),e.uniformMatrix3fv(e.getUniformLocation(this.program,"mat"),!1,new Float32Array(t)),e.clear(e.COLOR_BUFFER_BIT),e.drawArrays(e.POINTS,0,this.verticesBuffer.length/2)}}])&&oa(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function aa(t){return aa="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},aa(t)}function ua(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return la(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?la(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw i}}}}function la(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function ca(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==aa(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==aa(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===aa(o)?o:String(o)),r)}var o}function fa(t,e){return fa=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},fa(t,e)}function sa(t,e){if(e&&("object"===aa(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function ha(t){return ha=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},ha(t)}var ya=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&fa(t,e)}(a,t);var e,n,r,o,i=(r=a,o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=ha(r);if(o){var n=ha(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return sa(this,t)});function a(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),e=i.call(this,t),t=t||{},e.nbCol=t.nbCol,e.nb=t.nb||function(t,e,n,r){return.3*e*e/(r*r)*t/n.max},e.color=t.color||function(){return"#FF5733"},e.dotSize=t.dotSize,e.sigma=t.sigma,e}return e=a,(n=[{key:"draw",value:function(t,e,n){var r,o=this,i=n.getZf();if(this.nbCol&&(r=nr.getStatistics(t,(function(t){return t[o.nbCol]}),!0)),r){var a=this.dotSize?this.dotSize(e,i):2*i,u=this.sigma?this.sigma(e,i):.4*e,l=Qi(0,u);if(function(){try{var t=document.createElement("canvas");return!(!window.WebGLRenderingContext||!t.getContext("webgl")&&!t.getContext("experimental-webgl"))}catch(t){return!1}}()){var c=ta(n.w+"",n.h+"");if(!c)return void console.error("No webGL");var f,s,h,y,p,v,d,m=new ia(c.gl,a/i),b=e/2,g=ua(t);try{for(g.s();!(d=g.n()).done;){var w=d.value;if((f=this.color(w))&&"none"!==f){if(s=this.offset(w,e,i),h=this.nb(w[this.nbCol],e,r,i),y=w.x+s.dx+b,p=w.y+s.dy+b,!(v=Me(f)))return;for(var x=0;x<=h;x++)m.addPointData2(y+l(),p+l(),v.r,v.g,v.b,v.opacity)}}}catch(t){g.e(t)}finally{g.f()}m.draw(n.getWebGLTransform()),n.initCanvasTransform(),n.ctx.drawImage(c.canvas,0,0)}else{n.setCanvasTransform();var S,_=ua(t);try{for(_.s();!(S=_.n()).done;){var P=S.value,O=this.color(P);if(O&&"none"!==O){n.ctx.fillStyle=O;for(var j=this.offset(P,e,i),C=this.nb(P[this.nbCol],e,r,i),k=P.x+j.dx+e/2,E=P.y+j.dy+e/2,T=0;T<=C;T++)n.ctx.fillRect(k+l(),E+l(),a,a)}}}catch(t){_.e(t)}finally{_.f()}}this.updateLegends({style:this,r:e,zf:i})}}}])&&ca(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),a}(nr);function pa(t){return pa="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},pa(t)}function va(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function da(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==pa(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==pa(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===pa(o)?o:String(o)),r)}var o}var ma=function(){function t(e,n,r){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10;va(this,t),this.gl=e;var i=na(e,e.VERTEX_SHADER,"\n attribute vec2 pos;\n uniform float sizePix;\n uniform mat3 mat;\n\n attribute float t;\n varying float vt;\n\n void main() {\n gl_Position = vec4(mat * vec3(pos, 1.0), 1.0);\n gl_PointSize = sizePix;\n vt = t;\n }\n "),a="\n precision mediump float;\n varying float vt;\n uniform float alpha;"+function(){for(var t=[],e=0;e<n.length;e++)t.push("uniform vec4 c"+e+";");return t.join("")}()+"void main(void) {\n ";if(r?"pow"==r.fun?a+="float t = pow(vt, alpha);":"powRev"==r.fun?a+="float t = 1.0-pow(1.0-vt, 1.0/alpha);":"exp"==r.fun?a+=0==r.alpha?"float t = vt;":"float t = (exp(vt * alpha) - 1.0) / (exp(alpha) - 1.0);":"expRev"==r.fun?a+=0==r.alpha?"float t = vt;":"float t = 1.0 - (1.0 / alpha) * log(exp(alpha) * (1.0 - vt) + vt);":"circleLow"==r.fun?0==r.alpha?a+="float t = vt;":1==r.alpha?a+="float t = sqrt(vt * (2.0 - vt));":a+="float a = alpha / (1.0 - alpha);\n float t = sqrt(1.0 / (a * a) + vt * ( 2.0/a + 2.0 - vt )) - 1.0 / a;":"circleHigh"==r.fun?0==r.alpha?a+="float t = vt;":1==r.alpha?a+="float t = 1.0 - sqrt((1.0 - vt) * (1.0 + vt));":a+="float a = alpha / (1.0 - alpha);\n float t = 1.0 - sqrt(1.0 / (a * a) + (1.0-vt) * ( 2.0/a + 1.0 + vt )) + 1.0 / a;":(console.error("Unexpected stretching function code: "+r.fun),a+="float t = vt;"):a+="float t = vt;",1==n.length)a+="\n vec4 cI=c0;\n vec4 cF=c0;";else if(2==n.length)a+="\n vec4 cI=c0;\n vec4 cF=c1;";else{var u=n.length-1,l=u+".0";a+="\n vec4 cI;\n vec4 cF;\n if(t<1.0/"+l+") { cI=c0; cF=c1; t=t*"+l+"; }";for(var c=2;c<u;c++)a+="else if(t<"+c+".0/"+l+") { cI=c"+(c-1)+"; cF=c"+c+"; t="+l+"*t-"+(c-1)+".0; }";a+="else { cI=c"+(u-1)+"; cF=c"+u+"; t="+l+"*t-"+(u-1)+".0; }"}1==n.length?a+="gl_FragColor = vec4(c0[0], c0[1], c0[2], c0[3]);}":a+="gl_FragColor = mix(cI, cF, t);}";var f=na(e,e.FRAGMENT_SHADER,a);this.program=ea(e,i,f),e.useProgram(this.program),e.uniform1f(e.getUniformLocation(this.program,"sizePix"),1*o),e.uniform1f(e.getUniformLocation(this.program,"alpha"),r?1*r.alpha:0);for(var s=0;s<n.length;s++){var h=Me(n[s]);e.uniform4fv(e.getUniformLocation(this.program,"c"+s),[+h.r/255,+h.g/255,+h.b/255,+h.opacity])}}var e,n;return e=t,(n=[{key:"draw",value:function(t,e,n){var r=this.gl,o=this.program;r.bindBuffer(r.ARRAY_BUFFER,r.createBuffer()),r.bufferData(r.ARRAY_BUFFER,new Float32Array(t),r.STATIC_DRAW);var i=r.getAttribLocation(o,"pos");r.vertexAttribPointer(i,2,r.FLOAT,!1,0,0),r.enableVertexAttribArray(i),r.bindBuffer(r.ARRAY_BUFFER,r.createBuffer()),r.bufferData(r.ARRAY_BUFFER,new Float32Array(e),r.STATIC_DRAW);var a=r.getAttribLocation(o,"t");r.vertexAttribPointer(a,1,r.FLOAT,!1,0,0),r.enableVertexAttribArray(a),r.uniformMatrix3fv(r.getUniformLocation(o,"mat"),!1,new Float32Array(n)),r.clear(r.COLOR_BUFFER_BIT),r.drawArrays(r.POINTS,0,t.length/2)}}])&&da(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function ba(t){return ba="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ba(t)}function ga(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==ba(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==ba(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===ba(o)?o:String(o)),r)}var o}function wa(t,e){return wa=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},wa(t,e)}function xa(t,e){if(e&&("object"===ba(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function Sa(t){return Sa=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Sa(t)}var _a=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&wa(t,e)}(a,t);var e,n,r,o,i=(r=a,o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=Sa(r);if(o){var n=Sa(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return xa(this,t)});function a(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),e=i.call(this,t),t=t||{},e.colorCol=t.colorCol,e.tFun=t.tFun||function(t,e,n){return t/n.max},e.stretching=t.stretching,e.colors=t.colors||["rgb(158, 1, 66)","rgb(248, 142, 83)","rgb(251, 248, 176)","rgb(137, 207, 165)","rgb(94, 79, 162)"].reverse(),t.color&&(e.colors=[t.color(0),t.color(.2),t.color(.4),t.color(.6),t.color(.8),t.color(1)]),e.size=t.size,e}return e=a,(n=[{key:"draw",value:function(t,e,n){var r=this,o=n.getZf(),i=nr.getStatistics(t,(function(t){return t[r.colorCol]}),!0);if(i){var a=ta(n.w+"",n.h+"");if(a){for(var u,l=e/2,c=t.length,f=[],s=[],h=0;h<c;h++){u=t[h];var y=this.tFun(u[this.colorCol],e,i);null!=y&&null!=y&&(f.push(u.x+l,u.y+l),s.push(y>1?1:y<0?0:y))}var p=this.size?this.size(e,o):e+.2*o;new ma(a.gl,this.colors,this.stretching,p/o).draw(f,s,n.getWebGLTransform()),n.initCanvasTransform(),n.ctx.drawImage(a.canvas,0,0),this.updateLegends({style:this,r:e,zf:o,sColor:i})}else console.error("No webGL")}}}])&&ga(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),a}(nr);function Pa(t){return Pa="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Pa(t)}function Oa(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==Pa(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Pa(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Pa(o)?o:String(o)),r)}var o}var ja=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t)}var e,n;return e=t,n=[{key:"get",value:function(t,e){if(null!=(e=e||{}).nb){e.nb<2&&(console.error("unexpected number of colors in tanaka (<2): "+e.nb),e.nb=2),e.color||(console.error("color function not defined in tanaka"),e.color=function(){return"gray"}),e.colors=[];for(var n=0;n<e.nb;n++)e.colors.push(e.color(n/(e.nb-1)))}e.colors=e.colors||["#a9bb9e","#c9dcaa","#fde89f","#f9a579","#eb444b"];var r=e.colors.length;e.tFun=e.tFun||function(t,e,n){return(t-n.min)/(n.max-n.min)},e.colDark=e.colDark||"#111",e.colBright=e.colBright||"#ddd",e.widthFactor=e.widthFactor||.08;var o=function(t){if(isNaN(t)||null==t)return console.error("Unexpected t value 1: "+t),-9;for(var e=0;e<r;e++)if(t<=(e+1)/r)return e;return console.error("Unexpected t value 2: "+t),-9};return[new _a({colorCol:t,colors:e.colors,tFun:function(t,n,i){var a=e.tFun(t,n,i);return o(a)/(r-1)},size:function(t,e){return t+.5*e}}),new Di({valueCol:t,value:function(t,n,r,i,a){if(void 0===t&&void 0===n)return 0;if(void 0===n){var u=e.tFun(t,r,i);if(null==u||isNaN(u))throw new Error("Unexpected value: "+t+" - "+u);return o(u)+1}if(void 0===t){var l=e.tFun(n,r,i);if(null==l||isNaN(l))throw new Error("Unexpected value: "+n+" - "+l);return-o(l)-1}var c=e.tFun(t,r,i);if(null==c||isNaN(c))throw new Error("Unexpected value: "+t+" - "+c);var f=e.tFun(n,r,i);if(null==f||isNaN(f))throw new Error("Unexpected value: "+n+" - "+f);var s=o(c);return-o(f)+s},color:function(t,n,r,o){if(0!==t.value)return"v"===t.or?t.value<0?e.colBright:e.colDark:t.value<0?e.colDark:e.colBright},width:function(t,n,r,o){return e.widthFactor*n*Math.abs(t.value)*("v"===t.or?.5:1)}})]}}],null&&Oa(e.prototype,null),n&&Oa(e,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function Ca(t){return Ca="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ca(t)}function ka(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==Ca(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Ca(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Ca(o)?o:String(o)),r)}var o}var Ea=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.colors=e,this.vshString="\n attribute vec2 pos;\n uniform float sizePix;\n uniform mat3 mat;\n\n attribute float i;\n varying float vi;\n\n void main() {\n gl_Position = vec4(mat * vec3(pos, 1.0), 1.0);\n gl_PointSize = sizePix;\n vi = i;\n }\n ";var n=[];n.push("precision mediump float;\nvarying float vi;\n"),n.push("uniform vec4");for(var r=0;r<e.length;r++)r>0&&n.push(","),n.push(" c"+r);n.push(";\n"),n.push("void main(void) {\n");for(var o=0;o<e.length;o++)o>0&&n.push("else "),n.push("if(vi=="),n.push(o),n.push(".0) gl_FragColor = vec4(c"),n.push(o),n.push("[0], c"),n.push(o),n.push("[1], c"),n.push(o),n.push("[2], c"),n.push(o),n.push("[3]);\n");n.push("else gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\n}"),this.fshString=n.join("")}var e,n;return e=t,n=[{key:"draw",value:function(t,e,n,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:10,i=na(t,t.VERTEX_SHADER,this.vshString),a=na(t,t.FRAGMENT_SHADER,this.fshString),u=ea(t,i,a);t.useProgram(u),t.uniform1f(t.getUniformLocation(u,"sizePix"),1*o);for(var l=0;l<this.colors.length;l++){var c=Me(this.colors[l]);t.uniform4fv(t.getUniformLocation(u,"c"+l),[+c.r/255,+c.g/255,+c.b/255,+c.opacity])}t.bindBuffer(t.ARRAY_BUFFER,t.createBuffer()),t.bufferData(t.ARRAY_BUFFER,new Float32Array(e),t.STATIC_DRAW);var f=t.getAttribLocation(u,"pos");t.vertexAttribPointer(f,2,t.FLOAT,!1,0,0),t.enableVertexAttribArray(f),t.bindBuffer(t.ARRAY_BUFFER,t.createBuffer()),t.bufferData(t.ARRAY_BUFFER,new Float32Array(n),t.STATIC_DRAW);var s=t.getAttribLocation(u,"i");t.vertexAttribPointer(s,1,t.FLOAT,!1,0,0),t.enableVertexAttribArray(s),t.uniformMatrix3fv(t.getUniformLocation(u,"mat"),!1,new Float32Array(r)),t.clear(t.COLOR_BUFFER_BIT),t.drawArrays(t.POINTS,0,e.length/2)}}],n&&ka(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function Ta(t){return Ta="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ta(t)}function Aa(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==Ta(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Ta(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Ta(o)?o:String(o)),r)}var o}function Ma(t,e){return Ma=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Ma(t,e)}function Ra(t,e){if(e&&("object"===Ta(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function za(t){return za=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},za(t)}var Fa=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Ma(t,e)}(a,t);var e,n,r,o,i=(r=a,o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=za(r);if(o){var n=za(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return Ra(this,t)});function a(t){var e;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),e=i.call(this,t),t=t||{},e.colorCol=t.colorCol,t.color=t.color||void 0;var n=Object.keys(t.color);e.catToI={};for(var r=0;r<n.length;r++)e.catToI[n[r]]=r+"";e.colors=[];for(var o=0;o<n.length;o++)e.colors.push(t.color[""+n[o]]);return e.size=t.size,e.wgp=new Ea(e.colors),e}return e=a,(n=[{key:"draw",value:function(t,e,n){for(var r,o=n.getZf(),i=e/2,a=t.length,u=[],l=[],c=0;c<a;c++){var f=(r=t[c])[this.colorCol];if(null!=f){var s=this.catToI[f];isNaN(+s)?console.log("Unexpected category index: "+f+" "+s):(u.push(r.x+i,r.y+i),l.push(+s))}else console.log("Unexpected category: "+f)}var h=ta(n.w+"",n.h+"");if(h){var y=this.size?this.size(e,o):e+.2*o;this.wgp.draw(h.gl,u,l,n.getWebGLTransform(),y/o),n.initCanvasTransform(),n.ctx.drawImage(h.canvas,0,0),this.updateLegends({style:this,r:e,zf:o})}else console.error("No webGL")}}])&&Aa(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),a}(nr);function Ia(t){return Ia="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ia(t)}function La(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return Ba(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ba(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw i}}}}function Ba(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function Na(t,e){return Na=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Na(t,e)}function Da(t,e){if(e&&("object"===Ia(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function Za(t){return Za=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Za(t)}function Ua(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Wa(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==Ia(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Ia(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Ia(o)?o:String(o)),r)}var o}function Ga(t,e,n){return e&&Wa(t.prototype,e),n&&Wa(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}var $a=function(){function t(){Ua(this,t)}return Ga(t,null,[{key:"get",value:function(t,e){(e=e||{}).colors=e.colors||["#00852b","#afd246","#fac80a","#d67923","#bb805a","#cb4e29","#b40000","#720012"],e.colDark=e.colDark||"#333",e.colBright=e.colBright||"#aaa",e.widthFactor=e.widthFactor||.12;var n=ja.get(t,e),r=new Do({strokeColor:function(){return"#666"},strokeWidth:function(t,e,n,r){return.2*r}});return[n[0],r,n[1],new Ya({colDark:e.colDark,colBright:e.colBright})]}},{key:"getCat",value:function(t,e){return(e=e||{}).colDark=e.colDark||"#333",e.colBright=e.colBright||"#aaa",[new Fa({colorCol:t,color:e.color}),new Do({strokeColor:function(){return"#666"},strokeWidth:function(t,e,n,r){return.2*r}}),new Ya({colDark:e.colDark,colBright:e.colBright})]}}]),t}(),Ya=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Na(t,e)}(o,t);var e,n,r=(e=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,r=Za(e);if(n){var o=Za(this).constructor;t=Reflect.construct(r,arguments,o)}else t=r.apply(this,arguments);return Da(this,t)});function o(t){var e;return Ua(this,o),e=r.call(this,t),t=t||{},e.colDark=t.colDark||"#333",e.colBright=t.colBright||"#aaa",e}return Ga(o,[{key:"draw",value:function(t,e,n){n.ctx.lineWidth=.6*n.getZf(),n.ctx.strokeStyle=this.colDark;var r,o=La(t);try{for(o.s();!(r=o.n()).done;){var i=r.value;n.ctx.beginPath(),n.ctx.arc(i.x+.5*e,i.y+.5*e,.55*e*.5,Math.PI/4,-Math.PI*(3/4),!0),n.ctx.stroke()}}catch(t){o.e(t)}finally{o.f()}n.ctx.strokeStyle=this.colBright;var a,u=La(t);try{for(u.s();!(a=u.n()).done;){var l=a.value;n.ctx.beginPath(),n.ctx.arc(l.x+.5*e,l.y+.5*e,.55*e*.5,Math.PI/4,-Math.PI*(3/4),!1),n.ctx.stroke()}}catch(t){u.e(t)}finally{u.f()}}}]),o}(nr);function Va(t){return Va="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Va(t)}function Xa(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function qa(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==Va(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Va(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Va(o)?o:String(o)),r)}var o}function Ha(t,e){return Ha=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Ha(t,e)}function Ka(t,e){if(e&&("object"===Va(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function Ja(t){return Ja=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Ja(t)}var Qa=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Ha(t,e)}(a,t);var e,n,r,o,i=(r=a,o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=Ja(r);if(o){var n=Ja(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return Ka(this,t)});function a(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),e=i.call(this,t),t=t||{},e.colorCol=t.colorCol,e.color=t.color||function(){return"#EA6BAC"},e.mosaicFactor=t.mosaicFactor||.15,e.shadowFactor=t.shadowFactor||.2,e.shadowColor=t.shadowColor||"#555",e}return e=a,(n=[{key:"draw",value:function(t,e,n){var r,o=this,i=n.getZf();this.colorCol&&(r=nr.getStatistics(t,(function(t){return t[o.colorCol]}),!0)),n.ctx.strokeStyle=this.shadowColor,n.ctx.lineWidth=this.shadowFactor*e,n.ctx.lineJoin="round",n.ctx.lineCap="butt";var a=e*this.mosaicFactor,u=function(){return{x:Math.random()*a,y:Math.random()*a}};n.setCanvasTransform();var l,c=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return Xa(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Xa(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw i}}}}(t);try{for(c.s();!(l=c.n()).done;){var f=l.value,s=this.color?this.color(f[this.colorCol],e,r):void 0;if(s&&"none"!==s){n.ctx.fillStyle=s;var h=this.offset(f,e,i),y=u(),p=u(),v=u(),d=u();this.shadowFactor>0&&(n.ctx.beginPath(),n.ctx.moveTo(f.x+h.dx+y.x,f.y+h.dy+y.y),n.ctx.lineTo(f.x+h.dx+e-v.x,f.y+h.dy+v.y),n.ctx.lineTo(f.x+h.dx+e-d.x,f.y+h.dy+e-d.y),n.ctx.stroke()),n.ctx.beginPath(),n.ctx.moveTo(f.x+h.dx+y.x,f.y+h.dy+y.y),n.ctx.lineTo(f.x+h.dx+e-v.x,f.y+h.dy+v.y),n.ctx.lineTo(f.x+h.dx+e-d.x,f.y+h.dy+e-d.y),n.ctx.lineTo(f.x+h.dx+p.x,f.y+h.dy+e-p.y),n.ctx.fill()}}}catch(t){c.e(t)}finally{c.f()}this.updateLegends({style:this,r:e,zf:i,sColor:r})}}])&&qa(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),a}(nr);function tu(t){return tu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},tu(t)}function eu(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==tu(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==tu(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===tu(o)?o:String(o)),r)}var o}var nu=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.id=e.id,this.top=e.top,this.bottom=e.bottom,this.left=e.left,this.right=e.right,this.background=e.background||"none",this.padding=e.padding||"5px",this.border=e.border||"0px",this["border-radius"]=e["border-radius"]||"none",this["box-shadow"]=e["box-shadow"]||"none",this["font-family"]=e["font-family"]||"Helvetica, Arial, sans-serif",this.width=e.width,this.height=e.height,this.id&&(this.div=mt("#"+this.id)),this.div&&!this.div.empty()||(this.div=mt(document.createElement("div")),this.id&&this.div.attr("id",this.id)),this.div.style("background",this.background).style("padding",this.padding).style("border",this.border).style("border-radius",this["border-radius"]).style("box-shadow",this["box-shadow"]).style("font-family",this["font-family"]),this.width&&this.div.style("width",this.width),this.height&&this.div.style("height",this.height)}var e,n;return e=t,(n=[{key:"update",value:function(t){console.error("Legend update not implemented yet.")}}])&&eu(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function ru(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}var ou,iu=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function au(t){if(!(e=iu.exec(t)))throw new Error("invalid format: "+t);var e;return new uu({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function uu(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function lu(t,e){var n=ru(t,e);if(!n)return t+"";var r=n[0],o=n[1];return o<0?"0."+new Array(-o).join("0")+r:r.length>o+1?r.slice(0,o+1)+"."+r.slice(o+1):r+new Array(o-r.length+2).join("0")}au.prototype=uu.prototype,uu.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const cu={"%":(t,e)=>(100*t).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>lu(100*t,e),r:lu,s:function(t,e){var n=ru(t,e);if(!n)return t+"";var r=n[0],o=n[1],i=o-(ou=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,a=r.length;return i===a?r:i>a?r+new Array(i-a+1).join("0"):i>0?r.slice(0,i)+"."+r.slice(i):"0."+new Array(1-i).join("0")+ru(t,Math.max(0,e+i-1))[0]},X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function fu(t){return t}var su,hu,yu=Array.prototype.map,pu=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function vu(t){return su=function(t){var e,n,r=void 0===t.grouping||void 0===t.thousands?fu:(e=yu.call(t.grouping,Number),n=t.thousands+"",function(t,r){for(var o=t.length,i=[],a=0,u=e[0],l=0;o>0&&u>0&&(l+u+1>r&&(u=Math.max(1,r-l)),i.push(t.substring(o-=u,o+u)),!((l+=u+1)>r));)u=e[a=(a+1)%e.length];return i.reverse().join(n)}),o=void 0===t.currency?"":t.currency[0]+"",i=void 0===t.currency?"":t.currency[1]+"",a=void 0===t.decimal?".":t.decimal+"",u=void 0===t.numerals?fu:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(yu.call(t.numerals,String)),l=void 0===t.percent?"%":t.percent+"",c=void 0===t.minus?"−":t.minus+"",f=void 0===t.nan?"NaN":t.nan+"";function s(t){var e=(t=au(t)).fill,n=t.align,s=t.sign,h=t.symbol,y=t.zero,p=t.width,v=t.comma,d=t.precision,m=t.trim,b=t.type;"n"===b?(v=!0,b="g"):cu[b]||(void 0===d&&(d=12),m=!0,b="g"),(y||"0"===e&&"="===n)&&(y=!0,e="0",n="=");var g="$"===h?o:"#"===h&&/[boxX]/.test(b)?"0"+b.toLowerCase():"",w="$"===h?i:/[%p]/.test(b)?l:"",x=cu[b],S=/[defgprs%]/.test(b);function _(t){var o,i,l,h=g,_=w;if("c"===b)_=x(t)+_,t="";else{var P=(t=+t)<0||1/t<0;if(t=isNaN(t)?f:x(Math.abs(t),d),m&&(t=function(t){t:for(var e,n=t.length,r=1,o=-1;r<n;++r)switch(t[r]){case".":o=e=r;break;case"0":0===o&&(o=r),e=r;break;default:if(!+t[r])break t;o>0&&(o=0)}return o>0?t.slice(0,o)+t.slice(e+1):t}(t)),P&&0==+t&&"+"!==s&&(P=!1),h=(P?"("===s?s:c:"-"===s||"("===s?"":s)+h,_=("s"===b?pu[8+ou/3]:"")+_+(P&&"("===s?")":""),S)for(o=-1,i=t.length;++o<i;)if(48>(l=t.charCodeAt(o))||l>57){_=(46===l?a+t.slice(o+1):t.slice(o))+_,t=t.slice(0,o);break}}v&&!y&&(t=r(t,1/0));var O=h.length+t.length+_.length,j=O<p?new Array(p-O+1).join(e):"";switch(v&&y&&(t=r(j+t,j.length?p-_.length:1/0),j=""),n){case"<":t=h+t+_+j;break;case"=":t=h+j+t+_;break;case"^":t=j.slice(0,O=j.length>>1)+h+t+_+j.slice(O);break;default:t=j+h+t+_}return u(t)}return d=void 0===d?6:/[gprs]/.test(b)?Math.max(1,Math.min(21,d)):Math.max(0,Math.min(20,d)),_.toString=function(){return t+""},_}return{format:s,formatPrefix:function(t,e){var n,r=s(((t=au(t)).type="f",t)),o=3*Math.max(-8,Math.min(8,Math.floor((n=e,((n=ru(Math.abs(n)))?n[1]:NaN)/3)))),i=Math.pow(10,-o),a=pu[8+o/3];return function(t){return r(i*t)+a}}}}(t),hu=su.format,su.formatPrefix,su}function du(t){return du="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},du(t)}function mu(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==du(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==du(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===du(o)?o:String(o)),r)}var o}function bu(t,e){return bu=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},bu(t,e)}function gu(t,e){if(e&&("object"===du(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function wu(t){return wu=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},wu(t)}vu({thousands:",",grouping:[3],currency:["$",""]});var xu=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&bu(t,e)}(a,t);var e,n,r,o,i=(r=a,o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=wu(r);if(o){var n=wu(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return gu(this,t)});function a(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),e=i.call(this,t),t=t||{},e.colorRamp=t.colorRamp,e.fun=t.fun,e.title=t.title,e.tickSize=t.tickSize||6,e.width=t.width||300,e.height=t.height||15,e.margin=t.margin||5,e.ticks=t.ticks||Math.floor(e.width/50),e.tickFormat=t.tickFormat||",.0f",e.tickUnit=t.tickUnit,e.fontSize=t.fontSize||"0.8em",e.invert=t.invert,e}return e=a,(n=[{key:"update",value:function(t){if(t.sColor){this.div.selectAll("*").remove();var e=this.width+2*this.margin,n=this.height+3*this.margin+12+this.tickSize+10,r=this.div.append("svg").attr("width",e).attr("height",n);r.append("text").attr("x",this.margin).attr("y",this.margin).style("font-size","0.8em").style("font-weight","bold").style("alignment-baseline","top").style("dominant-baseline","hanging").style("pointer-events","none").text(this.title);for(var o=r.append("g").attr("transform","translate("+this.margin+" "+(2*this.margin+12)+")"),i=this.width,a=this.height,u=0;u<i;u+=5){var l=u/(i-1);this.invert&&(l=1-l),o.append("rect").attr("x",u).attr("y",0).attr("width",5).attr("height",a).style("fill",this.colorRamp(l))}for(var c=0;c<this.ticks;c++){var f=c/(this.ticks-1);o.append("line").attr("x1",i*f).attr("y1",0).attr("x2",i*f).attr("y2",a+this.tickSize).style("stroke","black"),o.append("text").attr("id","ticklabel_"+c).attr("x",i*f).attr("y",a+this.tickSize+2).style("font-size",this.fontSize).style("text-anchor",0==c?"start":c==this.ticks-1?"end":"middle").style("alignment-baseline","top").style("dominant-baseline","hanging").style("pointer-events","none")}for(var s=this.tickFormat&&"text"!=this.tickFormat?hu(this.tickFormat):function(t){return t},h=0;h<this.ticks;h++){var y=h/(this.ticks-1),p=this.fun(y,t.r,t.sColor),v=(p?s(p):"0")+(this.tickUnit?this.tickUnit:"");this.div.select("#ticklabel_"+h).text(v)}}}}])&&mu(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),a}(nu);function Su(t){return Su="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Su(t)}function _u(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==Su(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Su(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Su(o)?o:String(o)),r)}var o}function Pu(t,e){return Pu=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Pu(t,e)}function Ou(t,e){if(e&&("object"===Su(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function ju(t){return ju=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},ju(t)}var Cu=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Pu(t,e)}(a,t);var e,n,r,o,i=(r=a,o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=ju(r);if(o){var n=ju(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return Ou(this,t)});function a(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),e=i.call(this,t),t=t||{},e.colors=t.colors,e.breaksText=t.breaksText,e.width=t.width||300,e.height=t.height||15,e.title=t.title,e.titleFontSize=t.titleFontSize||"0.8em",e.titleFontWeight=t.titleFontWeight||"bold",e.tickSize=t.tickSize||3,e.labelFontSize=t.labelFontSize||"0.8em",e.invert=t.invert,e}return e=a,(n=[{key:"update",value:function(t){this.div.selectAll("*").remove(),this.title&&this.div.append("div").style("font-size",this.titleFontSize).style("font-weight",this.titleFontWeight).style("margin-bottom","7px").text(this.title);var e=this.colors.length;if(0!=e){for(var n=this.width/e,r=this.div.append("svg").attr("width",this.width).attr("height",this.height+this.tickSize+2+10),o=0;o<e;o++)r.append("rect").attr("x",o*n).attr("y",0).attr("width",n).attr("height",this.height).style("fill",this.colors[o]);for(var i=1;i<e;i++)r.append("line").attr("x1",n*i).attr("y1",0).attr("x2",n*i).attr("y2",this.height+this.tickSize).style("stroke","black");for(var a=1;a<e;a++)r.append("text").attr("id","ticklabel_"+a).attr("x",n*a).attr("y",this.height+this.tickSize+2).style("font-size",this.labelFontSize).style("text-anchor",0==a?"start":a==this.ticks-1?"end":"middle").style("alignment-baseline","top").style("dominant-baseline","hanging").style("pointer-events","none").text(this.breaksText[a-1])}}}])&&_u(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),a}(nu);function ku(t){return ku="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ku(t)}function Eu(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==ku(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==ku(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===ku(o)?o:String(o)),r)}var o}function Tu(t,e){return Tu=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Tu(t,e)}function Au(t,e){if(e&&("object"===ku(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function Mu(t){return Mu=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Mu(t)}var Ru=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Tu(t,e)}(a,t);var e,n,r,o,i=(r=a,o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=Mu(r);if(o){var n=Mu(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return Au(this,t)});function a(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),e=i.call(this,t),t=t||{},e.colCat=t.colCat||[["gray","-"]],e.shape=t.shape||"circle",e.dimension=t.dimension||{r:8},e.strokeColor=t.strokeColor||"gray",e.strokeWidth=t.strokeWidth||1,e.title=t.title,e.titleFontSize=t.titleFontSize||"0.8em",e.titleFontWeight=t.titleFontWeight||"bold",e.labelFontSize=t.labelFontSize||"0.8em",e}return e=a,(n=[{key:"update",value:function(t){this.div.selectAll("*").remove(),this.title&&this.div.append("div").style("font-size",this.titleFontSize).style("font-weight",this.titleFontWeight).style("margin-bottom","7px").text(this.title);var e=this.colCat.length;if(0!=e)for(var n=0;n<e;n++){var r=this.colCat[n],o=this.div.append("div"),i=this.strokeWidth;if("square"===this.shape){var a=this.dimension.h||15,u=this.dimension.w||20;o.append("div").style("display","inline").append("svg").attr("width",u+2*i).attr("height",a+2*i).append("rect").attr("x",i).attr("y",i).attr("width",u).attr("height",a).style("fill",r[0]).style("stroke",this.strokeColor).style("stroke-width",this.strokeWidth)}else{if("circle"!==this.shape)throw new Error("Unexpected shape:"+this.shape);var l=this.dimension.r||8,c=2*l+2*i;o.append("div").style("display","inline").append("svg").attr("width",c).attr("height",c).append("circle").attr("cx",l+i).attr("cy",l+i).attr("r",l).style("fill",r[0]).style("stroke",this.strokeColor).style("stroke-width",this.strokeWidth)}o.append("div").style("display","inline").style("padding-left","5px").style("font-size",this.labelFontSize).text(r[1])}}}])&&Eu(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),a}(nu);function zu(t){return zu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},zu(t)}function Fu(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==zu(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==zu(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===zu(o)?o:String(o)),r)}var o}function Iu(t,e){return Iu=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Iu(t,e)}function Lu(t,e){if(e&&("object"===zu(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function Bu(t){return Bu=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Bu(t)}var Nu=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Iu(t,e)}(a,t);var e,n,r,o,i=(r=a,o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=Bu(r);if(o){var n=Bu(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return Lu(this,t)});function a(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),e=i.call(this,t),t=t||{},e.exaggerationFactor=t.exaggerationFactor||.8,e.value=t.value||void 0,e.shape=t.shape||"circle",e.fillColor=t.fillColor||"none",e.strokeColor=t.strokeColor||"gray",e.strokeWidth=t.strokeWidth||1,e.labelFontSize=t.labelFontSize||"0.8em",e.labelUnitText=t.labelUnitText||"",e.labelFormat=t.labelFormat||",.2r",e}return e=a,(n=[{key:"update",value:function(t){if(t.sSize){this.div.selectAll("*").remove();var e=this.value;if(null==e){var n=t.sSize.max*this.exaggerationFactor,r=Math.log10(n);r=Math.floor(r),8*(e=Math.pow(10,r))<=n?e*=8:6*e<=n?e*=6:5*e<=n?e*=5:4*e<=n?e*=4:2.5*e<=n?e*=2.5:2*e<=n&&(e*=2)}if(e){var o=this.div.append("div"),i=t.style.size(e,t.r,t.sSize,t.zf)/t.zf,a=o.append("svg").attr("width",i+this.strokeWidth+2).attr("height",i+this.strokeWidth+2).style("","inline-block");if("square"===this.shape)a.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",i).style("fill",this.fillColor).style("stroke",this.strokeColor).style("stroke-width",this.strokeWidth);else if("circle"===this.shape){var u=.5*(i+this.strokeWidth);a.append("circle").attr("cx",u+1).attr("cy",u+1).attr("r",u).style("fill",this.fillColor).style("stroke",this.strokeColor).style("stroke-width",this.strokeWidth)}else if("donut"===this.shape);else if("diamond"!==this.shape)throw new Error("Unexpected shape:"+this.shape);var l=hu(this.labelFormat)(e);o.append("div").style("display","inline").style("padding-left","5px").style("font-size",this.labelFontSize).text(l+(this.labelUnitText?" ":"")+this.labelUnitText)}}}}])&&Fu(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),a}(nu);function Du(t){return Du="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Du(t)}function Zu(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==Du(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Du(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Du(o)?o:String(o)),r)}var o}function Uu(t,e){return Uu=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Uu(t,e)}function Wu(t,e){if(e&&("object"===Du(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function Gu(t){return Gu=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Gu(t)}var $u=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Uu(t,e)}(a,t);var e,n,r,o,i=(r=a,o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=Gu(r);if(o){var n=Gu(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return Wu(this,t)});function a(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),e=i.call(this,t),t=t||{},e.exaggerationFactor=t.exaggerationFactor||.5,e.color=t.color||"gray",e.orientation=t.orientation||0,e.labelFontSize=t.labelFontSize||"0.8em",e.labelUnitText=t.labelUnitText||"",e.div.style("text-align","center"),e}return e=a,(n=[{key:"update",value:function(t){if(t.sWidth){this.div.selectAll("*").remove();var e=t.sWidth.max*this.exaggerationFactor,n=Math.log10(e);n=Math.floor(n);var r=Math.pow(10,n);8*r<=e?r*=8:6*r<=e?r*=6:5*r<=e?r*=5:4*r<=e?r*=4:2.5*r<=e?r*=2.5:2*r<=e&&(r*=2);var o=t.style.width(r,t.r,t.sWidth,t.zf)/t.zf,i=1*t.r/t.zf;this.div.append("svg").attr("width",i).attr("height",o).style("","inline-block").append("line").attr("x1",0).attr("y1",o/2).attr("x2",i).attr("y2",o/2).style("stroke",this.color).style("stroke-width",o);var a=hu(",.2r")(r);this.div.append("div").style("font-size",this.labelFontSize).style("","inline-block").text(a+(this.labelUnitText?" ":"")+this.labelUnitText)}}}])&&Zu(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),a}(nu);function Yu(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1.01,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=arguments.length>4?arguments[4]:void 0,i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;(n=n||1.01)<1&&console.error("Unexpected value for factor: "+n+". Set to default value 1.01");var a=t.getZoomFactor();if(e!=a){e<a&&(n=1/n);var u=a,l=setInterval((function(){u=t.getZoomFactor()*n,e>a&&u>e&&(u=e),e<a&&u<e&&(u=e),t.setZoomFactor(u),t.cg.redraw(),u==e&&(clearInterval(l),o&&setTimeout((function(){o()}),i))}),r);return l}}function Vu(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:NaN,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:NaN,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:NaN,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:5,i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,a=arguments.length>6?arguments[6]:void 0,u=arguments.length>7&&void 0!==arguments[7]?arguments[7]:0,l=t.getZoomFactor(),c=t.getGeoCenter();e=isNaN(e)?c.x:e,n=isNaN(n)?c.y:n,r=isNaN(r)?l:r;var f=e-c.x,s=n-c.y,h=Math.hypot(f,s),y=o*l*f/h,p=o*l*s/h,v=r/l,d=h/(o*l),m=h>0?Math.pow(v,1/d):Math.pow(v,.1),b=setInterval((function(){if(h>0){var o=t.getGeoCenter(),i=o.x+y,l=o.y+p;i<e&&e<o.x&&(i=e),o.x<e&&e<i&&(i=e),l<n&&n<o.y&&(l=n),o.y<n&&n<l&&(l=n),t.setGeoCenter({x:i,y:l}),i==e&&l==n&&(h=0)}if(1!=v){var c=t.getZoomFactor(),f=m*c;f<r&&r<c&&(f=r),c<r&&r<f&&(f=r),t.setZoomFactor(f),f==r&&(v=1)}t.cg.redraw(),0==h&&1==v&&(console.log("OK !"),clearInterval(b),a&&setTimeout((function(){a()}),u))}),i);return b}var Xu=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3;return Math.pow(t,e)},qu=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3;return 1-Math.pow(1-t,1/e)},Hu=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3;return 0==e?t:(Math.exp(t*e)-1)/(Math.exp(e)-1)},Ku=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3;return 0==e?t:1-1/e*Math.log(Math.exp(e)*(1-t)+t)},Ju=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.8;if(0==e)return t;if(1==e)return Math.sqrt(t*(2-t));var n=e/(1-e);return Math.sqrt(1/(n*n)+t*(2/n+2-t))-1/n},Qu=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.8;return 1-Ju(1-t,e)},tl=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3;return 0==e?t:1/e*Math.log(1-t+t*Math.exp(e))},el=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3;return(Math.exp(-e*t)-1)/(Math.exp(-e)-1)},nl=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3;return Math.pow(t,1/e)},rl=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3;return 1-Math.pow(1-t,e)},ol=1e-6,il=Math.PI,al=il/2,ul=il/4,ll=2*il,cl=180/il,fl=il/180,sl=Math.abs,hl=Math.atan,yl=Math.atan2,pl=Math.cos,vl=(Math.ceil,Math.exp,Math.floor,Math.hypot,Math.log,Math.pow,Math.sin),dl=Math.sign||function(t){return t>0?1:t<0?-1:0},ml=Math.sqrt;function bl(t){return t>1?al:t<-1?-al:Math.asin(t)}function gl(){}function wl(){var t,e=[];return{point:function(e,n,r){t.push([e,n,r])},lineStart:function(){e.push(t=[])},lineEnd:gl,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}}function xl(t,e){return sl(t[0]-e[0])<ol&&sl(t[1]-e[1])<ol}function Sl(t,e,n,r){this.x=t,this.z=e,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function _l(t,e,n,r,o){var i,a,u=[],l=[];if(t.forEach((function(t){if(!((e=t.length-1)<=0)){var e,n,r=t[0],a=t[e];if(xl(r,a)){if(!r[2]&&!a[2]){for(o.lineStart(),i=0;i<e;++i)o.point((r=t[i])[0],r[1]);return void o.lineEnd()}a[0]+=2e-6}u.push(n=new Sl(r,t,null,!0)),l.push(n.o=new Sl(r,null,n,!1)),u.push(n=new Sl(a,t,null,!1)),l.push(n.o=new Sl(a,null,n,!0))}})),u.length){for(l.sort(e),Pl(u),Pl(l),i=0,a=l.length;i<a;++i)l[i].e=n=!n;for(var c,f,s=u[0];;){for(var h=s,y=!0;h.v;)if((h=h.n)===s)return;c=h.z,o.lineStart();do{if(h.v=h.o.v=!0,h.e){if(y)for(i=0,a=c.length;i<a;++i)o.point((f=c[i])[0],f[1]);else r(h.x,h.n.x,1,o);h=h.n}else{if(y)for(c=h.p.z,i=c.length-1;i>=0;--i)o.point((f=c[i])[0],f[1]);else r(h.x,h.p.x,-1,o);h=h.p}c=(h=h.o).z,y=!y}while(!h.v);o.lineEnd()}}}function Pl(t){if(e=t.length){for(var e,n,r=0,o=t[0];++r<e;)o.n=n=t[r],n.p=o,o=n;o.n=n=t[0],n.p=o}}Math.tan;class Ol{constructor(){this._partials=new Float64Array(32),this._n=0}add(t){const e=this._partials;let n=0;for(let r=0;r<this._n&&r<32;r++){const o=e[r],i=t+o,a=Math.abs(t)<Math.abs(o)?t-(i-o):o-(i-t);a&&(e[n++]=a),t=i}return e[n]=t,this._n=n+1,this}valueOf(){const t=this._partials;let e,n,r,o=this._n,i=0;if(o>0){for(i=t[--o];o>0&&(e=i,n=t[--o],i=e+n,r=n-(i-e),!r););o>0&&(r<0&&t[o-1]<0||r>0&&t[o-1]>0)&&(n=2*r,e=i+n,n==e-i&&(i=e))}return i}}function jl(t){return[yl(t[1],t[0]),bl(t[2])]}function Cl(t){var e=t[0],n=t[1],r=pl(n);return[r*pl(e),r*vl(e),vl(n)]}function kl(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function El(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function Tl(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Al(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function Ml(t){var e=ml(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}function Rl(t){return sl(t[0])<=il?t[0]:dl(t[0])*((sl(t[0])+il)%ll-il)}function zl(t){return Array.from(function*(t){for(const e of t)yield*e}(t))}function Fl(t,e,n,r){return function(o){var i,a,u,l=e(o),c=wl(),f=e(c),s=!1,h={point:y,lineStart:v,lineEnd:d,polygonStart:function(){h.point=m,h.lineStart=b,h.lineEnd=g,a=[],i=[]},polygonEnd:function(){h.point=y,h.lineStart=v,h.lineEnd=d,a=zl(a);var t=function(t,e){var n=Rl(e),r=e[1],o=vl(r),i=[vl(n),-pl(n),0],a=0,u=0,l=new Ol;1===o?r=al+ol:-1===o&&(r=-al-ol);for(var c=0,f=t.length;c<f;++c)if(h=(s=t[c]).length)for(var s,h,y=s[h-1],p=Rl(y),v=y[1]/2+ul,d=vl(v),m=pl(v),b=0;b<h;++b,p=w,d=S,m=_,y=g){var g=s[b],w=Rl(g),x=g[1]/2+ul,S=vl(x),_=pl(x),P=w-p,O=P>=0?1:-1,j=O*P,C=j>il,k=d*S;if(l.add(yl(k*O*vl(j),m*_+k*pl(j))),a+=C?P+O*ll:P,C^p>=n^w>=n){var E=El(Cl(y),Cl(g));Ml(E);var T=El(i,E);Ml(T);var A=(C^P>=0?-1:1)*bl(T[2]);(r>A||r===A&&(E[0]||E[1]))&&(u+=C^P>=0?1:-1)}}return(a<-ol||a<ol&&l<-1e-12)^1&u}(i,r);a.length?(s||(o.polygonStart(),s=!0),_l(a,Ll,t,n,o)):t&&(s||(o.polygonStart(),s=!0),o.lineStart(),n(null,null,1,o),o.lineEnd()),s&&(o.polygonEnd(),s=!1),a=i=null},sphere:function(){o.polygonStart(),o.lineStart(),n(null,null,1,o),o.lineEnd(),o.polygonEnd()}};function y(e,n){t(e,n)&&o.point(e,n)}function p(t,e){l.point(t,e)}function v(){h.point=p,l.lineStart()}function d(){h.point=y,l.lineEnd()}function m(t,e){u.push([t,e]),f.point(t,e)}function b(){f.lineStart(),u=[]}function g(){m(u[0][0],u[0][1]),f.lineEnd();var t,e,n,r,l=f.clean(),h=c.result(),y=h.length;if(u.pop(),i.push(u),u=null,y)if(1&l){if((e=(n=h[0]).length-1)>0){for(s||(o.polygonStart(),s=!0),o.lineStart(),t=0;t<e;++t)o.point((r=n[t])[0],r[1]);o.lineEnd()}}else y>1&&2&l&&h.push(h.pop().concat(h.shift())),a.push(h.filter(Il))}return h}}function Il(t){return t.length>1}function Ll(t,e){return((t=t.x)[0]<0?t[1]-al-ol:al-t[1])-((e=e.x)[0]<0?e[1]-al-ol:al-e[1])}const Bl=Fl((function(){return!0}),(function(t){var e,n=NaN,r=NaN,o=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(i,a){var u=i>0?il:-il,l=sl(i-n);sl(l-il)<ol?(t.point(n,r=(r+a)/2>0?al:-al),t.point(o,r),t.lineEnd(),t.lineStart(),t.point(u,r),t.point(i,r),e=0):o!==u&&l>=il&&(sl(n-o)<ol&&(n-=o*ol),sl(i-u)<ol&&(i-=u*ol),r=function(t,e,n,r){var o,i,a=vl(t-n);return sl(a)>ol?hl((vl(e)*(i=pl(r))*vl(n)-vl(r)*(o=pl(e))*vl(t))/(o*i*a)):(e+r)/2}(n,r,i,a),t.point(o,r),t.lineEnd(),t.lineStart(),t.point(u,r),e=0),t.point(n=i,r=a),o=u},lineEnd:function(){t.lineEnd(),n=r=NaN},clean:function(){return 2-e}}}),(function(t,e,n,r){var o;if(null==t)o=n*al,r.point(-il,o),r.point(0,o),r.point(il,o),r.point(il,0),r.point(il,-o),r.point(0,-o),r.point(-il,-o),r.point(-il,0),r.point(-il,o);else if(sl(t[0]-e[0])>ol){var i=t[0]<e[0]?il:-il;o=n*i/2,r.point(-i,o),r.point(0,o),r.point(i,o)}else r.point(e[0],e[1])}),[-il,-al]);function Nl(t,e){(e=Cl(e))[0]-=t,Ml(e);var n,r=(n=-e[1])>1?0:n<-1?il:Math.acos(n);return((-e[2]<0?-r:r)+ll-ol)%ll}function Dl(t){var e=pl(t),n=6*fl,r=e>0,o=sl(e)>ol;function i(t,n){return pl(t)*pl(n)>e}function a(t,n,r){var o=[1,0,0],i=El(Cl(t),Cl(n)),a=kl(i,i),u=i[0],l=a-u*u;if(!l)return!r&&t;var c=e*a/l,f=-e*u/l,s=El(o,i),h=Al(o,c);Tl(h,Al(i,f));var y=s,p=kl(h,y),v=kl(y,y),d=p*p-v*(kl(h,h)-1);if(!(d<0)){var m=ml(d),b=Al(y,(-p-m)/v);if(Tl(b,h),b=jl(b),!r)return b;var g,w=t[0],x=n[0],S=t[1],_=n[1];x<w&&(g=w,w=x,x=g);var P=x-w,O=sl(P-il)<ol;if(!O&&_<S&&(g=S,S=_,_=g),O||P<ol?O?S+_>0^b[1]<(sl(b[0]-w)<ol?S:_):S<=b[1]&&b[1]<=_:P>il^(w<=b[0]&&b[0]<=x)){var j=Al(y,(-p+m)/v);return Tl(j,h),[b,jl(j)]}}}function u(e,n){var o=r?t:il-t,i=0;return e<-o?i|=1:e>o&&(i|=2),n<-o?i|=4:n>o&&(i|=8),i}return Fl(i,(function(t){var e,n,l,c,f;return{lineStart:function(){c=l=!1,f=1},point:function(s,h){var y,p=[s,h],v=i(s,h),d=r?v?0:u(s,h):v?u(s+(s<0?il:-il),h):0;if(!e&&(c=l=v)&&t.lineStart(),v!==l&&(!(y=a(e,p))||xl(e,y)||xl(p,y))&&(p[2]=1),v!==l)f=0,v?(t.lineStart(),y=a(p,e),t.point(y[0],y[1])):(y=a(e,p),t.point(y[0],y[1],2),t.lineEnd()),e=y;else if(o&&e&&r^v){var m;d&n||!(m=a(p,e,!0))||(f=0,r?(t.lineStart(),t.point(m[0][0],m[0][1]),t.point(m[1][0],m[1][1]),t.lineEnd()):(t.point(m[1][0],m[1][1]),t.lineEnd(),t.lineStart(),t.point(m[0][0],m[0][1],3)))}!v||e&&xl(e,p)||t.point(p[0],p[1]),e=p,l=v,n=d},lineEnd:function(){l&&t.lineEnd(),e=null},clean:function(){return f|(c&&l)<<1}}}),(function(e,r,o,i){!function(t,e,n,r,o,i){if(n){var a=pl(e),u=vl(e),l=r*n;null==o?(o=e+r*ll,i=e-l/2):(o=Nl(a,o),i=Nl(a,i),(r>0?o<i:o>i)&&(o+=r*ll));for(var c,f=o;r>0?f>i:f<i;f-=l)c=jl([a,-u*pl(f),-u*vl(f)]),t.point(c[0],c[1])}}(i,t,n,o,e,r)}),r?[0,-t]:[-il,t-il])}var Zl=1e9,Ul=-Zl;function Wl(t,e,n,r){function o(o,i){return t<=o&&o<=n&&e<=i&&i<=r}function i(o,i,u,c){var f=0,s=0;if(null==o||(f=a(o,u))!==(s=a(i,u))||l(o,i)<0^u>0)do{c.point(0===f||3===f?t:n,f>1?r:e)}while((f=(f+u+4)%4)!==s);else c.point(i[0],i[1])}function a(r,o){return sl(r[0]-t)<ol?o>0?0:3:sl(r[0]-n)<ol?o>0?2:1:sl(r[1]-e)<ol?o>0?1:0:o>0?3:2}function u(t,e){return l(t.x,e.x)}function l(t,e){var n=a(t,1),r=a(e,1);return n!==r?n-r:0===n?e[1]-t[1]:1===n?t[0]-e[0]:2===n?t[1]-e[1]:e[0]-t[0]}return function(a){var l,c,f,s,h,y,p,v,d,m,b,g=a,w=wl(),x={point:S,lineStart:function(){x.point=_,c&&c.push(f=[]),m=!0,d=!1,p=v=NaN},lineEnd:function(){l&&(_(s,h),y&&d&&w.rejoin(),l.push(w.result())),x.point=S,d&&g.lineEnd()},polygonStart:function(){g=w,l=[],c=[],b=!0},polygonEnd:function(){var e=function(){for(var e=0,n=0,o=c.length;n<o;++n)for(var i,a,u=c[n],l=1,f=u.length,s=u[0],h=s[0],y=s[1];l<f;++l)i=h,a=y,h=(s=u[l])[0],y=s[1],a<=r?y>r&&(h-i)*(r-a)>(y-a)*(t-i)&&++e:y<=r&&(h-i)*(r-a)<(y-a)*(t-i)&&--e;return e}(),n=b&&e,o=(l=zl(l)).length;(n||o)&&(a.polygonStart(),n&&(a.lineStart(),i(null,null,1,a),a.lineEnd()),o&&_l(l,u,e,i,a),a.polygonEnd()),g=a,l=c=f=null}};function S(t,e){o(t,e)&&g.point(t,e)}function _(i,a){var u=o(i,a);if(c&&f.push([i,a]),m)s=i,h=a,y=u,m=!1,u&&(g.lineStart(),g.point(i,a));else if(u&&d)g.point(i,a);else{var l=[p=Math.max(Ul,Math.min(Zl,p)),v=Math.max(Ul,Math.min(Zl,v))],w=[i=Math.max(Ul,Math.min(Zl,i)),a=Math.max(Ul,Math.min(Zl,a))];!function(t,e,n,r,o,i){var a,u=t[0],l=t[1],c=0,f=1,s=e[0]-u,h=e[1]-l;if(a=n-u,s||!(a>0)){if(a/=s,s<0){if(a<c)return;a<f&&(f=a)}else if(s>0){if(a>f)return;a>c&&(c=a)}if(a=o-u,s||!(a<0)){if(a/=s,s<0){if(a>f)return;a>c&&(c=a)}else if(s>0){if(a<c)return;a<f&&(f=a)}if(a=r-l,h||!(a>0)){if(a/=h,h<0){if(a<c)return;a<f&&(f=a)}else if(h>0){if(a>f)return;a>c&&(c=a)}if(a=i-l,h||!(a<0)){if(a/=h,h<0){if(a>f)return;a>c&&(c=a)}else if(h>0){if(a<c)return;a<f&&(f=a)}return c>0&&(t[0]=u+c*s,t[1]=l+c*h),f<1&&(e[0]=u+f*s,e[1]=l+f*h),!0}}}}}(l,w,t,e,n,r)?u&&(g.lineStart(),g.point(i,a),b=!1):(d||(g.lineStart(),g.point(l[0],l[1])),g.point(w[0],w[1]),u||g.lineEnd(),b=!1)}p=i,v=a,d=u}return x}}function Gl(t,e){function n(n,r){return n=t(n,r),e(n[0],n[1])}return t.invert&&e.invert&&(n.invert=function(n,r){return(n=e.invert(n,r))&&t.invert(n[0],n[1])}),n}const $l=t=>t;function Yl(t,e){return[sl(t)>il?t+Math.round(-t/ll)*ll:t,e]}function Vl(t){return function(e,n){return[(e+=t)>il?e-ll:e<-il?e+ll:e,n]}}function Xl(t){var e=Vl(t);return e.invert=Vl(-t),e}function ql(t,e){var n=pl(t),r=vl(t),o=pl(e),i=vl(e);function a(t,e){var a=pl(e),u=pl(t)*a,l=vl(t)*a,c=vl(e),f=c*n+u*r;return[yl(l*o-f*i,u*n-c*r),bl(f*o+l*i)]}return a.invert=function(t,e){var a=pl(e),u=pl(t)*a,l=vl(t)*a,c=vl(e),f=c*o-l*i;return[yl(l*o+c*i,u*n+f*r),bl(f*n-u*r)]},a}function Hl(t){return function(e){var n=new Kl;for(var r in t)n[r]=t[r];return n.stream=e,n}}function Kl(){}function Jl(t,e){t&&tc.hasOwnProperty(t.type)&&tc[t.type](t,e)}Yl.invert=Yl,Kl.prototype={constructor:Kl,point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var Ql={Feature:function(t,e){Jl(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,o=n.length;++r<o;)Jl(n[r].geometry,e)}},tc={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var n=t.coordinates,r=-1,o=n.length;++r<o;)t=n[r],e.point(t[0],t[1],t[2])},LineString:function(t,e){ec(t.coordinates,e,0)},MultiLineString:function(t,e){for(var n=t.coordinates,r=-1,o=n.length;++r<o;)ec(n[r],e,0)},Polygon:function(t,e){nc(t.coordinates,e)},MultiPolygon:function(t,e){for(var n=t.coordinates,r=-1,o=n.length;++r<o;)nc(n[r],e)},GeometryCollection:function(t,e){for(var n=t.geometries,r=-1,o=n.length;++r<o;)Jl(n[r],e)}};function ec(t,e,n){var r,o=-1,i=t.length-n;for(e.lineStart();++o<i;)r=t[o],e.point(r[0],r[1],r[2]);e.lineEnd()}function nc(t,e){var n=-1,r=t.length;for(e.polygonStart();++n<r;)ec(t[n],e,1);e.polygonEnd()}var rc=1/0,oc=rc,ic=-rc,ac=ic,uc={point:function(t,e){t<rc&&(rc=t),t>ic&&(ic=t),e<oc&&(oc=e),e>ac&&(ac=e)},lineStart:gl,lineEnd:gl,polygonStart:gl,polygonEnd:gl,result:function(){var t=[[rc,oc],[ic,ac]];return ic=ac=-(oc=rc=1/0),t}};const lc=uc;function cc(t,e,n){var r=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),null!=r&&t.clipExtent(null),function(t,e){t&&Ql.hasOwnProperty(t.type)?Ql[t.type](t,e):Jl(t,e)}(n,t.stream(lc)),e(lc.result()),null!=r&&t.clipExtent(r),t}function fc(t,e,n){return cc(t,(function(n){var r=e[1][0]-e[0][0],o=e[1][1]-e[0][1],i=Math.min(r/(n[1][0]-n[0][0]),o/(n[1][1]-n[0][1])),a=+e[0][0]+(r-i*(n[1][0]+n[0][0]))/2,u=+e[0][1]+(o-i*(n[1][1]+n[0][1]))/2;t.scale(150*i).translate([a,u])}),n)}var sc=pl(30*fl);function hc(t,e){return+e?function(t,e){function n(r,o,i,a,u,l,c,f,s,h,y,p,v,d){var m=c-r,b=f-o,g=m*m+b*b;if(g>4*e&&v--){var w=a+h,x=u+y,S=l+p,_=ml(w*w+x*x+S*S),P=bl(S/=_),O=sl(sl(S)-1)<ol||sl(i-s)<ol?(i+s)/2:yl(x,w),j=t(O,P),C=j[0],k=j[1],E=C-r,T=k-o,A=b*E-m*T;(A*A/g>e||sl((m*E+b*T)/g-.5)>.3||a*h+u*y+l*p<sc)&&(n(r,o,i,a,u,l,C,k,O,w/=_,x/=_,S,v,d),d.point(C,k),n(C,k,O,w,x,S,c,f,s,h,y,p,v,d))}}return function(e){var r,o,i,a,u,l,c,f,s,h,y,p,v={point:d,lineStart:m,lineEnd:g,polygonStart:function(){e.polygonStart(),v.lineStart=w},polygonEnd:function(){e.polygonEnd(),v.lineStart=m}};function d(n,r){n=t(n,r),e.point(n[0],n[1])}function m(){f=NaN,v.point=b,e.lineStart()}function b(r,o){var i=Cl([r,o]),a=t(r,o);n(f,s,c,h,y,p,f=a[0],s=a[1],c=r,h=i[0],y=i[1],p=i[2],16,e),e.point(f,s)}function g(){v.point=d,e.lineEnd()}function w(){m(),v.point=x,v.lineEnd=S}function x(t,e){b(r=t,e),o=f,i=s,a=h,u=y,l=p,v.point=b}function S(){n(f,s,c,h,y,p,o,i,r,a,u,l,16,e),v.lineEnd=g,g()}return v}}(t,e):function(t){return Hl({point:function(e,n){e=t(e,n),this.stream.point(e[0],e[1])}})}(t)}var yc=Hl({point:function(t,e){this.stream.point(t*fl,e*fl)}});function pc(t,e,n,r,o,i){if(!i)return function(t,e,n,r,o){function i(i,a){return[e+t*(i*=r),n-t*(a*=o)]}return i.invert=function(i,a){return[(i-e)/t*r,(n-a)/t*o]},i}(t,e,n,r,o);var a=pl(i),u=vl(i),l=a*t,c=u*t,f=a/t,s=u/t,h=(u*n-a*e)/t,y=(u*e+a*n)/t;function p(t,i){return[l*(t*=r)-c*(i*=o)+e,n-c*t-l*i]}return p.invert=function(t,e){return[r*(f*t-s*e+h),o*(y-s*t-f*e)]},p}function vc(t){return function(t){var e,n,r,o,i,a,u,l,c,f,s=150,h=480,y=250,p=0,v=0,d=0,m=0,b=0,g=0,w=1,x=1,S=null,_=Bl,P=null,O=$l,j=.5;function C(t){return l(t[0]*fl,t[1]*fl)}function k(t){return(t=l.invert(t[0],t[1]))&&[t[0]*cl,t[1]*cl]}function E(){var t=pc(s,0,0,w,x,g).apply(null,e(p,v)),r=pc(s,h-t[0],y-t[1],w,x,g);return n=function(t,e,n){return(t%=ll)?e||n?Gl(Xl(t),ql(e,n)):Xl(t):e||n?ql(e,n):Yl}(d,m,b),u=Gl(e,r),l=Gl(n,u),a=hc(u,j),T()}function T(){return c=f=null,C}return C.stream=function(t){return c&&f===t?c:c=yc(function(t){return Hl({point:function(e,n){var r=t(e,n);return this.stream.point(r[0],r[1])}})}(n)(_(a(O(f=t)))))},C.preclip=function(t){return arguments.length?(_=t,S=void 0,T()):_},C.postclip=function(t){return arguments.length?(O=t,P=r=o=i=null,T()):O},C.clipAngle=function(t){return arguments.length?(_=+t?Dl(S=t*fl):(S=null,Bl),T()):S*cl},C.clipExtent=function(t){return arguments.length?(O=null==t?(P=r=o=i=null,$l):Wl(P=+t[0][0],r=+t[0][1],o=+t[1][0],i=+t[1][1]),T()):null==P?null:[[P,r],[o,i]]},C.scale=function(t){return arguments.length?(s=+t,E()):s},C.translate=function(t){return arguments.length?(h=+t[0],y=+t[1],E()):[h,y]},C.center=function(t){return arguments.length?(p=t[0]%360*fl,v=t[1]%360*fl,E()):[p*cl,v*cl]},C.rotate=function(t){return arguments.length?(d=t[0]%360*fl,m=t[1]%360*fl,b=t.length>2?t[2]%360*fl:0,E()):[d*cl,m*cl,b*cl]},C.angle=function(t){return arguments.length?(g=t%360*fl,E()):g*cl},C.reflectX=function(t){return arguments.length?(w=t?-1:1,E()):w<0},C.reflectY=function(t){return arguments.length?(x=t?-1:1,E()):x<0},C.precision=function(t){return arguments.length?(a=hc(u,j=t*t),T()):ml(j)},C.fitExtent=function(t,e){return fc(C,t,e)},C.fitSize=function(t,e){return function(t,e,n){return fc(t,[[0,0],e],n)}(C,t,e)},C.fitWidth=function(t,e){return function(t,e,n){return cc(t,(function(n){var r=+e,o=r/(n[1][0]-n[0][0]),i=(r-o*(n[1][0]+n[0][0]))/2,a=-o*n[0][1];t.scale(150*o).translate([i,a])}),n)}(C,t,e)},C.fitHeight=function(t,e){return function(t,e,n){return cc(t,(function(n){var r=+e,o=r/(n[1][1]-n[0][1]),i=-o*n[0][0],a=(r-o*(n[1][1]+n[0][1]))/2;t.scale(150*o).translate([i,a])}),n)}(C,t,e)},function(){return e=t.apply(this,arguments),C.invert=e.invert&&k,E()}}((function(){return t}))()}var dc,mc,bc=(dc=function(t){return ml(2/(1+t))},function(t,e){var n=pl(t),r=pl(e),o=dc(n*r);return o===1/0?[2,0]:[o*r*vl(t),o*vl(e)]});function gc(){return vc(bc).scale(124.75).clipAngle(179.999)}bc.invert=(mc=function(t){return 2*bl(t/2)},function(t,e){var n=ml(t*t+e*e),r=mc(n),o=vl(r),i=pl(r);return[yl(t*o,n*i),bl(n&&e*o/n)]});var wc=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"EUR",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:50,n=arguments.length>2?arguments[2]:void 0,r=(n=n||{}).ex||1.2,o=n.fontFamily||"Arial",i=n.exSize||1;return n.style=n.style||function(t,e){if(!(t.rs<r*e))return t.r1<r*e?i+"em "+o:1.5*i+"em "+o},n.proj=n.proj||gc().rotate([-10,-52]).reflectX(!1).reflectY(!0).scale(6378137).translate([4321e3,321e4]),n.preprocess=function(t){if(n.ccIn&&t.cc&&!(n.ccIn.indexOf(t.cc)>=0))return!1;var e=n.proj([t.lon,t.lat]);t.x=e[0],t.y=e[1],delete t.lon,delete t.lat},n.baseURL=n.baseURL||"https://raw.githubusercontent.com/eurostat/euronym/main/pub/v2/UTF/",n.url=n.baseURL+e+"/"+t+".csv",n},xc=function(t){var e=(t=t||{}).nutsYear||"2021",n=t.crs||"3035",r=t.scale||"03M",o=t.nutsLevel||"3",i=t.col||"#888",a=t.colKosovo||"#bcbcbc",u=null==t.showOth||t.showOth;return t.color=t.color||function(t,e){var n=t.properties;if(u||"T"==n.eu||"T"==n.cc||"T"==n.efta||"T"!==n.oth)return n.id>=1e5?a:"T"===n.co||e<400?i:e<1e3?n.lvl>=3?"":i:e<2e3?n.lvl>=2?"":i:n.lvl>=1?"":i},t.width=t.width||function(t,e){var n=t.properties;return"T"===n.co?.5:e<400?3==n.lvl||2==n.lvl||1==n.lvl?2.2:4:e<1e3?2==n.lvl||1==n.lvl?1.8:2.5:e<2e3?1==n.lvl?1.8:2.5:1.2},t.lineDash=t.lineDash||function(t,e){var n=t.properties;return"T"===n.co?[]:e<400?3==n.lvl?[2*e,2*e]:2==n.lvl||1==n.lvl?[5*e,2*e]:[10*e,3*e]:e<1e3?2==n.lvl||1==n.lvl?[5*e,2*e]:[10*e,3*e]:e<2e3&&1==n.lvl?[5*e,2*e]:[10*e,3*e]},t.baseURL=t.baseURL||"https://raw.githubusercontent.com/eurostat/Nuts2json/master/pub/v2/",t.url=t.baseURL+e+"/"+n+"/"+r+"/nutsbn_"+o+".json",t},Sc=Kn.getParameterByName;return vu({decimal:".",thousands:" ",grouping:[3],currency:["","€"]}),e})()));
1
+ /*! For license information please see gridviz.min.js.LICENSE.txt */
2
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.gviz=e():t.gviz=e()}(self,(()=>(()=>{"use strict";var t={d:(e,n)=>{for(var r in n)t.o(n,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};function n(){}function r(t){return null==t?n:function(){return this.querySelector(t)}}function i(t){return null==t?[]:Array.isArray(t)?t:Array.from(t)}function o(){return[]}function s(t){return null==t?o:function(){return this.querySelectorAll(t)}}function a(t){return function(){return this.matches(t)}}function u(t){return function(e){return e.matches(t)}}t.r(e),t.d(e,{App:()=>hf,BackgroundLayer:()=>Gl,BoundaryLayer:()=>af,CSVGrid:()=>zr,ColorCategoryLegend:()=>Bp,ColorDiscreteLegend:()=>Mp,ColorLegend:()=>xp,CompositionStyle:()=>Zf,ContourStyle:()=>Gh,Dataset:()=>ar,DatasetComponent:()=>Er,DotDensityStyle:()=>pd,JoyPlotStyle:()=>Nf,KernelSmoothingStyle:()=>Ih,LabelLayer:()=>Ql,Layer:()=>er,LegoStyle:()=>Gd,MosaicStyle:()=>tp,PillarStyle:()=>kh,SegmentOrientationLegend:()=>Jp,SegmentStyle:()=>th,SegmentWidthLegend:()=>Gp,ShapeColorSizeStyle:()=>Of,SideCatStyle:()=>Qh,SideStyle:()=>zh,SizeLegend:()=>Up,SquareColorCatWGLStyle:()=>Ld,SquareColorWGLStyle:()=>Od,StrokeStyle:()=>Cf,TanakaStyle:()=>Ad,TextStyle:()=>ah,TiledGrid:()=>Wl,getClass:()=>ui,getEuronymeLabelLayer:()=>Iv,getEurostatBoundariesLayer:()=>Tv,getParameterByName:()=>Av,sCircleHigh:()=>iy,sCircleLow:()=>ry,sExp:()=>ey,sExpInverse:()=>oy,sExpRev:()=>ny,sExpRevInverse:()=>sy,sPow:()=>Qp,sPowInverse:()=>ay,sPowRev:()=>ty,sPowRevInverse:()=>uy});var c=Array.prototype.find;function l(){return this.firstElementChild}var f=Array.prototype.filter;function h(){return Array.from(this.children)}function d(t){return new Array(t.length)}function p(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}function y(t){return function(){return t}}function v(t,e,n,r,i,o){for(var s,a=0,u=e.length,c=o.length;a<c;++a)(s=e[a])?(s.__data__=o[a],r[a]=s):n[a]=new p(t,o[a]);for(;a<u;++a)(s=e[a])&&(i[a]=s)}function b(t,e,n,r,i,o,s){var a,u,c,l=new Map,f=e.length,h=o.length,d=new Array(f);for(a=0;a<f;++a)(u=e[a])&&(d[a]=c=s.call(u,u.__data__,a,e)+"",l.has(c)?i[a]=u:l.set(c,u));for(a=0;a<h;++a)c=s.call(t,o[a],a,o)+"",(u=l.get(c))?(r[a]=u,u.__data__=o[a],l.delete(c)):n[a]=new p(t,o[a]);for(a=0;a<f;++a)(u=e[a])&&l.get(d[a])===u&&(i[a]=u)}function m(t){return t.__data__}function g(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}function w(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}p.prototype={constructor:p,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)}};var _="http://www.w3.org/1999/xhtml";const x={svg:"http://www.w3.org/2000/svg",xhtml:_,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function S(t){var e=t+="",n=e.indexOf(":");return n>=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),x.hasOwnProperty(e)?{space:x[e],local:t}:t}function O(t){return function(){this.removeAttribute(t)}}function I(t){return function(){this.removeAttributeNS(t.space,t.local)}}function T(t,e){return function(){this.setAttribute(t,e)}}function A(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function M(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 E(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function C(t){return function(){this.style.removeProperty(t)}}function j(t,e,n){return function(){this.style.setProperty(t,e,n)}}function k(t,e,n){return function(){var r=e.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}function B(t,e){return t.style.getPropertyValue(e)||E(t).getComputedStyle(t,null).getPropertyValue(e)}function F(t){return function(){delete this[t]}}function L(t,e){return function(){this[t]=e}}function D(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}function N(t){return t.trim().split(/^|\s+/)}function R(t){return t.classList||new U(t)}function U(t){this._node=t,this._names=N(t.getAttribute("class")||"")}function z(t,e){for(var n=R(t),r=-1,i=e.length;++r<i;)n.add(e[r])}function V(t,e){for(var n=R(t),r=-1,i=e.length;++r<i;)n.remove(e[r])}function W(t){return function(){z(this,t)}}function $(t){return function(){V(this,t)}}function Y(t,e){return function(){(e.apply(this,arguments)?z:V)(this,t)}}function G(){this.textContent=""}function Z(t){return function(){this.textContent=t}}function H(t){return function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}}function q(){this.innerHTML=""}function X(t){return function(){this.innerHTML=t}}function K(t){return function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}}function J(){this.nextSibling&&this.parentNode.appendChild(this)}function Q(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function tt(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===_&&e.documentElement.namespaceURI===_?e.createElement(t):e.createElementNS(n,t)}}function et(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function nt(t){var e=S(t);return(e.local?et:tt)(e)}function rt(){return null}function it(){var t=this.parentNode;t&&t.removeChild(this)}function ot(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function st(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function at(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 ut(t){return function(){var e=this.__on;if(e){for(var n,r=0,i=-1,o=e.length;r<o;++r)n=e[r],t.type&&n.type!==t.type||n.name!==t.name?e[++i]=n:this.removeEventListener(n.type,n.listener,n.options);++i?e.length=i:delete this.__on}}}function ct(t,e,n){return function(){var r,i=this.__on,o=function(t){return function(e){t.call(this,e,this.__data__)}}(e);if(i)for(var s=0,a=i.length;s<a;++s)if((r=i[s]).type===t.type&&r.name===t.name)return this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=o,r.options=n),void(r.value=e);this.addEventListener(t.type,o,n),r={type:t.type,name:t.name,value:e,listener:o,options:n},i?i.push(r):this.__on=[r]}}function lt(t,e,n){var r=E(t),i=r.CustomEvent;"function"==typeof i?i=new i(e,n):(i=r.document.createEvent("Event"),n?(i.initEvent(e,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(e,!1,!1)),t.dispatchEvent(i)}function ft(t,e){return function(){return lt(this,t,e)}}function ht(t,e){return function(){return lt(this,t,e.apply(this,arguments))}}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 dt=[null];function pt(t,e){this._groups=t,this._parents=e}function yt(){return new pt([[document.documentElement]],dt)}pt.prototype=yt.prototype={constructor:pt,select:function(t){"function"!=typeof t&&(t=r(t));for(var e=this._groups,n=e.length,i=new Array(n),o=0;o<n;++o)for(var s,a,u=e[o],c=u.length,l=i[o]=new Array(c),f=0;f<c;++f)(s=u[f])&&(a=t.call(s,s.__data__,f,u))&&("__data__"in s&&(a.__data__=s.__data__),l[f]=a);return new pt(i,this._parents)},selectAll:function(t){t="function"==typeof t?function(t){return function(){return i(t.apply(this,arguments))}}(t):s(t);for(var e=this._groups,n=e.length,r=[],o=[],a=0;a<n;++a)for(var u,c=e[a],l=c.length,f=0;f<l;++f)(u=c[f])&&(r.push(t.call(u,u.__data__,f,c)),o.push(u));return new pt(r,o)},selectChild:function(t){return this.select(null==t?l:function(t){return function(){return c.call(this.children,t)}}("function"==typeof t?t:u(t)))},selectChildren:function(t){return this.selectAll(null==t?h:function(t){return function(){return f.call(this.children,t)}}("function"==typeof t?t:u(t)))},filter:function(t){"function"!=typeof t&&(t=a(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var o,s=e[i],u=s.length,c=r[i]=[],l=0;l<u;++l)(o=s[l])&&t.call(o,o.__data__,l,s)&&c.push(o);return new pt(r,this._parents)},data:function(t,e){if(!arguments.length)return Array.from(this,m);var n=e?b:v,r=this._parents,i=this._groups;"function"!=typeof t&&(t=y(t));for(var o=i.length,s=new Array(o),a=new Array(o),u=new Array(o),c=0;c<o;++c){var l=r[c],f=i[c],h=f.length,d=g(t.call(l,l&&l.__data__,c,r)),p=d.length,w=a[c]=new Array(p),_=s[c]=new Array(p),x=u[c]=new Array(h);n(l,f,w,_,x,d,e);for(var S,O,I=0,T=0;I<p;++I)if(S=w[I]){for(I>=T&&(T=I+1);!(O=_[T])&&++T<p;);S._next=O||null}}return(s=new pt(s,r))._enter=a,s._exit=u,s},enter:function(){return new pt(this._enter||this._groups.map(d),this._parents)},exit:function(){return new pt(this._exit||this._groups.map(d),this._parents)},join:function(t,e,n){var r=this.enter(),i=this,o=this.exit();return"function"==typeof t?(r=t(r))&&(r=r.selection()):r=r.append(t+""),null!=e&&(i=e(i))&&(i=i.selection()),null==n?o.remove():n(o),r&&i?r.merge(i).order():i},merge:function(t){for(var e=t.selection?t.selection():t,n=this._groups,r=e._groups,i=n.length,o=r.length,s=Math.min(i,o),a=new Array(i),u=0;u<s;++u)for(var c,l=n[u],f=r[u],h=l.length,d=a[u]=new Array(h),p=0;p<h;++p)(c=l[p]||f[p])&&(d[p]=c);for(;u<i;++u)a[u]=n[u];return new pt(a,this._parents)},selection:function(){return this},order:function(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var r,i=t[e],o=i.length-1,s=i[o];--o>=0;)(r=i[o])&&(s&&4^r.compareDocumentPosition(s)&&s.parentNode.insertBefore(r,s),s=r);return this},sort:function(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=w);for(var n=this._groups,r=n.length,i=new Array(r),o=0;o<r;++o){for(var s,a=n[o],u=a.length,c=i[o]=new Array(u),l=0;l<u;++l)(s=a[l])&&(c[l]=s);c.sort(e)}return new pt(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],i=0,o=r.length;i<o;++i){var s=r[i];if(s)return s}return null},size:function(){let t=0;for(const e of this)++t;return t},empty:function(){return!this.node()},each:function(t){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var i,o=e[n],s=0,a=o.length;s<a;++s)(i=o[s])&&t.call(i,i.__data__,s,o);return this},attr:function(t,e){var n=S(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?I:O:"function"==typeof e?n.local?P:M:n.local?A:T)(n,e))},style:function(t,e,n){return arguments.length>1?this.each((null==e?C:"function"==typeof e?k:j)(t,e,null==n?"":n)):B(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?F:"function"==typeof e?D:L)(t,e)):this.node()[t]},classed:function(t,e){var n=N(t+"");if(arguments.length<2){for(var r=R(this.node()),i=-1,o=n.length;++i<o;)if(!r.contains(n[i]))return!1;return!0}return this.each(("function"==typeof e?Y:e?W:$)(n,e))},text:function(t){return arguments.length?this.each(null==t?G:("function"==typeof t?H:Z)(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?q:("function"==typeof t?K:X)(t)):this.node().innerHTML},raise:function(){return this.each(J)},lower:function(){return this.each(Q)},append:function(t){var e="function"==typeof t?t:nt(t);return this.select((function(){return this.appendChild(e.apply(this,arguments))}))},insert:function(t,e){var n="function"==typeof t?t:nt(t),i=null==e?rt:"function"==typeof e?e:r(e);return this.select((function(){return this.insertBefore(n.apply(this,arguments),i.apply(this,arguments)||null)}))},remove:function(){return this.each(it)},clone:function(t){return this.select(t?st:ot)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,e,n){var r,i,o=at(t+""),s=o.length;if(!(arguments.length<2)){for(a=e?ct:ut,r=0;r<s;++r)this.each(a(o[r],e,n));return this}var a=this.node().__on;if(a)for(var u,c=0,l=a.length;c<l;++c)for(r=0,u=a[c];r<s;++r)if((i=o[r]).type===u.type&&i.name===u.name)return u.value},dispatch:function(t,e){return this.each(("function"==typeof e?ht:ft)(t,e))},[Symbol.iterator]:function*(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r,i=t[e],o=0,s=i.length;o<s;++o)(r=i[o])&&(yield r)}};const vt=yt;function bt(t){return"string"==typeof t?new pt([[document.querySelector(t)]],[document.documentElement]):new pt([[t]],dt)}var mt={value:()=>{}};function gt(){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 wt(r)}function wt(t){this._=t}function _t(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 xt(t,e){for(var n,r=0,i=t.length;r<i;++r)if((n=t[r]).name===e)return n.value}function St(t,e,n){for(var r=0,i=t.length;r<i;++r)if(t[r].name===e){t[r]=mt,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=n&&t.push({name:e,value:n}),t}wt.prototype=gt.prototype={constructor:wt,on:function(t,e){var n,r=this._,i=_t(t+"",r),o=-1,s=i.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++o<s;)if(n=(t=i[o]).type)r[n]=St(r[n],t.name,e);else if(null==e)for(n in r)r[n]=St(r[n],t.name,null);return this}for(;++o<s;)if((n=(t=i[o]).type)&&(n=xt(r[n],t.name)))return n},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new wt(t)},call:function(t,e){if((n=arguments.length-2)>0)for(var n,r,i=new Array(n),o=0;o<n;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(o=0,n=(r=this._[t]).length;o<n;++o)r[o].value.apply(e,i)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,o=r.length;i<o;++i)r[i].value.apply(e,n)}};const Ot=gt,It={capture:!0,passive:!1};function Tt(t){t.preventDefault(),t.stopImmediatePropagation()}function At(t){var e=t.document.documentElement,n=bt(t).on("dragstart.drag",Tt,It);"onselectstart"in e?n.on("selectstart.drag",Tt,It):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function Mt(t,e){var n=t.document.documentElement,r=bt(t).on("dragstart.drag",null);e&&(r.on("click.drag",Tt,It),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 Pt(t){return((t=Math.exp(t))+1/t)/2}const Et=function t(e,n,r){function i(t,i){var o,s,a=t[0],u=t[1],c=t[2],l=i[0],f=i[1],h=i[2],d=l-a,p=f-u,y=d*d+p*p;if(y<1e-12)s=Math.log(h/c)/e,o=function(t){return[a+t*d,u+t*p,c*Math.exp(e*t*s)]};else{var v=Math.sqrt(y),b=(h*h-c*c+r*y)/(2*c*n*v),m=(h*h-c*c-r*y)/(2*h*n*v),g=Math.log(Math.sqrt(b*b+1)-b),w=Math.log(Math.sqrt(m*m+1)-m);s=(w-g)/e,o=function(t){var r,i=t*s,o=Pt(g),l=c/(n*v)*(o*(r=e*i+g,((r=Math.exp(2*r))-1)/(r+1))-function(t){return((t=Math.exp(t))-1/t)/2}(g));return[a+l*d,u+l*p,c*o/Pt(e*i+g)]}}return o.duration=1e3*s*e/Math.SQRT2,o}return i.rho=function(e){var n=Math.max(.001,+e),r=n*n;return t(n,r,r*r)},i}(Math.SQRT2,2,4);function Ct(t,e){if(t=function(t){let e;for(;e=t.sourceEvent;)t=e;return t}(t),void 0===e&&(e=t.currentTarget),e){var n=e.ownerSVGElement||e;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=t.clientX,r.y=t.clientY,[(r=r.matrixTransform(e.getScreenCTM().inverse())).x,r.y]}if(e.getBoundingClientRect){var i=e.getBoundingClientRect();return[t.clientX-i.left-e.clientLeft,t.clientY-i.top-e.clientTop]}}return[t.pageX,t.pageY]}var jt,kt,Bt=0,Ft=0,Lt=0,Dt=0,Nt=0,Rt=0,Ut="object"==typeof performance&&performance.now?performance:Date,zt="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Vt(){return Nt||(zt(Wt),Nt=Ut.now()+Rt)}function Wt(){Nt=0}function $t(){this._call=this._time=this._next=null}function Yt(t,e,n){var r=new $t;return r.restart(t,e,n),r}function Gt(){Nt=(Dt=Ut.now())+Rt,Bt=Ft=0;try{!function(){Vt(),++Bt;for(var t,e=jt;e;)(t=Nt-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Bt}()}finally{Bt=0,function(){for(var t,e,n=jt,r=1/0;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:jt=e);kt=t,Ht(r)}(),Nt=0}}function Zt(){var t=Ut.now(),e=t-Dt;e>1e3&&(Rt-=e,Dt=t)}function Ht(t){Bt||(Ft&&(Ft=clearTimeout(Ft)),t-Nt>24?(t<1/0&&(Ft=setTimeout(Gt,t-Ut.now()-Rt)),Lt&&(Lt=clearInterval(Lt))):(Lt||(Dt=Ut.now(),Lt=setInterval(Zt,1e3)),Bt=1,zt(Gt)))}function qt(t,e,n){var r=new $t;return e=null==e?0:+e,r.restart((n=>{r.stop(),t(n+e)}),e,n),r}$t.prototype=Yt.prototype={constructor:$t,restart:function(t,e,n){if("function"!=typeof t)throw new TypeError("callback is not a function");n=(null==n?Vt():+n)+(null==e?0:+e),this._next||kt===this||(kt?kt._next=this:jt=this,kt=this),this._call=t,this._time=n,Ht()},stop:function(){this._call&&(this._call=null,this._time=1/0,Ht())}};var Xt=Ot("start","end","cancel","interrupt"),Kt=[];function Jt(t,e,n,r,i,o){var s=t.__transition;if(s){if(n in s)return}else t.__transition={};!function(t,e,n){var r,i=t.__transition;function o(u){var c,l,f,h;if(1!==n.state)return a();for(c in i)if((h=i[c]).name===n.name){if(3===h.state)return qt(o);4===h.state?(h.state=6,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete i[c]):+c<e&&(h.state=6,h.timer.stop(),h.on.call("cancel",t,t.__data__,h.index,h.group),delete i[c])}if(qt((function(){3===n.state&&(n.state=4,n.timer.restart(s,n.delay,n.time),s(u))})),n.state=2,n.on.call("start",t,t.__data__,n.index,n.group),2===n.state){for(n.state=3,r=new Array(f=n.tween.length),c=0,l=-1;c<f;++c)(h=n.tween[c].value.call(t,t.__data__,n.index,n.group))&&(r[++l]=h);r.length=l+1}}function s(e){for(var i=e<n.duration?n.ease.call(null,e/n.duration):(n.timer.restart(a),n.state=5,1),o=-1,s=r.length;++o<s;)r[o].call(t,i);5===n.state&&(n.on.call("end",t,t.__data__,n.index,n.group),a())}function a(){for(var r in n.state=6,n.timer.stop(),delete i[e],i)return;delete t.__transition}i[e]=n,n.timer=Yt((function(t){n.state=1,n.timer.restart(o,n.delay,n.time),n.delay<=t&&o(t-n.delay)}),0,n.time)}(t,n,{name:e,index:r,group:i,on:Xt,tween:Kt,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:0})}function Qt(t,e){var n=ee(t,e);if(n.state>0)throw new Error("too late; already scheduled");return n}function te(t,e){var n=ee(t,e);if(n.state>3)throw new Error("too late; already running");return n}function ee(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function ne(t,e){var n,r,i,o=t.__transition,s=!0;if(o){for(i in e=null==e?null:e+"",o)(n=o[i]).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 o[i]):s=!1;s&&delete t.__transition}}function re(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}var ie,oe=180/Math.PI,se={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function ae(t,e,n,r,i,o){var s,a,u;return(s=Math.sqrt(t*t+e*e))&&(t/=s,e/=s),(u=t*n+e*r)&&(n-=t*u,r-=e*u),(a=Math.sqrt(n*n+r*r))&&(n/=a,r/=a,u/=a),t*r<e*n&&(t=-t,e=-e,u=-u,s=-s),{translateX:i,translateY:o,rotate:Math.atan2(e,t)*oe,skewX:Math.atan(u)*oe,scaleX:s,scaleY:a}}function ue(t,e,n,r){function i(t){return t.length?t.pop()+" ":""}return function(o,s){var a=[],u=[];return o=t(o),s=t(s),function(t,r,i,o,s,a){if(t!==i||r!==o){var u=s.push("translate(",null,e,null,n);a.push({i:u-4,x:re(t,i)},{i:u-2,x:re(r,o)})}else(i||o)&&s.push("translate("+i+e+o+n)}(o.translateX,o.translateY,s.translateX,s.translateY,a,u),function(t,e,n,o){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),o.push({i:n.push(i(n)+"rotate(",null,r)-2,x:re(t,e)})):e&&n.push(i(n)+"rotate("+e+r)}(o.rotate,s.rotate,a,u),function(t,e,n,o){t!==e?o.push({i:n.push(i(n)+"skewX(",null,r)-2,x:re(t,e)}):e&&n.push(i(n)+"skewX("+e+r)}(o.skewX,s.skewX,a,u),function(t,e,n,r,o,s){if(t!==n||e!==r){var a=o.push(i(o)+"scale(",null,",",null,")");s.push({i:a-4,x:re(t,n)},{i:a-2,x:re(e,r)})}else 1===n&&1===r||o.push(i(o)+"scale("+n+","+r+")")}(o.scaleX,o.scaleY,s.scaleX,s.scaleY,a,u),o=s=null,function(t){for(var e,n=-1,r=u.length;++n<r;)a[(e=u[n]).i]=e.x(t);return a.join("")}}}var ce=ue((function(t){const e=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?se:ae(e.a,e.b,e.c,e.d,e.e,e.f)}),"px, ","px)","deg)"),le=ue((function(t){return null==t?se:(ie||(ie=document.createElementNS("http://www.w3.org/2000/svg","g")),ie.setAttribute("transform",t),(t=ie.transform.baseVal.consolidate())?ae((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):se)}),", ",")",")");function fe(t,e){var n,r;return function(){var i=te(this,t),o=i.tween;if(o!==n)for(var s=0,a=(r=n=o).length;s<a;++s)if(r[s].name===e){(r=r.slice()).splice(s,1);break}i.tween=r}}function he(t,e,n){var r,i;if("function"!=typeof n)throw new Error;return function(){var o=te(this,t),s=o.tween;if(s!==r){i=(r=s).slice();for(var a={name:e,value:n},u=0,c=i.length;u<c;++u)if(i[u].name===e){i[u]=a;break}u===c&&i.push(a)}o.tween=i}}function de(t,e,n){var r=t._id;return t.each((function(){var t=te(this,r);(t.value||(t.value={}))[e]=n.apply(this,arguments)})),function(t){return ee(t,r).value[e]}}function pe(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function ye(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function ve(){}var be=.7,me=1/be,ge="\\s*([+-]?\\d+)\\s*",we="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",_e="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",xe=/^#([0-9a-f]{3,8})$/,Se=new RegExp(`^rgb\\(${ge},${ge},${ge}\\)$`),Oe=new RegExp(`^rgb\\(${_e},${_e},${_e}\\)$`),Ie=new RegExp(`^rgba\\(${ge},${ge},${ge},${we}\\)$`),Te=new RegExp(`^rgba\\(${_e},${_e},${_e},${we}\\)$`),Ae=new RegExp(`^hsl\\(${we},${_e},${_e}\\)$`),Me=new RegExp(`^hsla\\(${we},${_e},${_e},${we}\\)$`),Pe={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 Ee(){return this.rgb().formatHex()}function Ce(){return this.rgb().formatRgb()}function je(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=xe.exec(t))?(n=e[1].length,e=parseInt(e[1],16),6===n?ke(e):3===n?new De(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?Be(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?Be(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=Se.exec(t))?new De(e[1],e[2],e[3],1):(e=Oe.exec(t))?new De(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=Ie.exec(t))?Be(e[1],e[2],e[3],e[4]):(e=Te.exec(t))?Be(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=Ae.exec(t))?We(e[1],e[2]/100,e[3]/100,1):(e=Me.exec(t))?We(e[1],e[2]/100,e[3]/100,e[4]):Pe.hasOwnProperty(t)?ke(Pe[t]):"transparent"===t?new De(NaN,NaN,NaN,0):null}function ke(t){return new De(t>>16&255,t>>8&255,255&t,1)}function Be(t,e,n,r){return r<=0&&(t=e=n=NaN),new De(t,e,n,r)}function Fe(t){return t instanceof ve||(t=je(t)),t?new De((t=t.rgb()).r,t.g,t.b,t.opacity):new De}function Le(t,e,n,r){return 1===arguments.length?Fe(t):new De(t,e,n,null==r?1:r)}function De(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function Ne(){return`#${Ve(this.r)}${Ve(this.g)}${Ve(this.b)}`}function Re(){const t=Ue(this.opacity);return`${1===t?"rgb(":"rgba("}${ze(this.r)}, ${ze(this.g)}, ${ze(this.b)}${1===t?")":`, ${t})`}`}function Ue(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function ze(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Ve(t){return((t=ze(t))<16?"0":"")+t.toString(16)}function We(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new Ye(t,e,n,r)}function $e(t){if(t instanceof Ye)return new Ye(t.h,t.s,t.l,t.opacity);if(t instanceof ve||(t=je(t)),!t)return new Ye;if(t instanceof Ye)return t;var e=(t=t.rgb()).r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),o=Math.max(e,n,r),s=NaN,a=o-i,u=(o+i)/2;return a?(s=e===o?(n-r)/a+6*(n<r):n===o?(r-e)/a+2:(e-n)/a+4,a/=u<.5?o+i:2-o-i,s*=60):a=u>0&&u<1?0:s,new Ye(s,a,u,t.opacity)}function Ye(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function Ge(t){return(t=(t||0)%360)<0?t+360:t}function Ze(t){return Math.max(0,Math.min(1,t||0))}function He(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 qe(t,e,n,r,i){var o=t*t,s=o*t;return((1-3*t+3*o-s)*e+(4-6*o+3*s)*n+(1+3*t+3*o-3*s)*r+s*i)/6}pe(ve,je,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:Ee,formatHex:Ee,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return $e(this).formatHsl()},formatRgb:Ce,toString:Ce}),pe(De,Le,ye(ve,{brighter(t){return t=null==t?me:Math.pow(me,t),new De(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?be:Math.pow(be,t),new De(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new De(ze(this.r),ze(this.g),ze(this.b),Ue(this.opacity))},displayable(){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:Ne,formatHex:Ne,formatHex8:function(){return`#${Ve(this.r)}${Ve(this.g)}${Ve(this.b)}${Ve(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:Re,toString:Re})),pe(Ye,(function(t,e,n,r){return 1===arguments.length?$e(t):new Ye(t,e,n,null==r?1:r)}),ye(ve,{brighter(t){return t=null==t?me:Math.pow(me,t),new Ye(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?be:Math.pow(be,t),new Ye(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new De(He(t>=240?t-240:t+120,i,r),He(t,i,r),He(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new Ye(Ge(this.h),Ze(this.s),Ze(this.l),Ue(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=Ue(this.opacity);return`${1===t?"hsl(":"hsla("}${Ge(this.h)}, ${100*Ze(this.s)}%, ${100*Ze(this.l)}%${1===t?")":`, ${t})`}`}}));const Xe=t=>()=>t;function Ke(t,e){var n=e-t;return n?function(t,e){return function(n){return t+n*e}}(t,n):Xe(isNaN(t)?e:t)}const Je=function t(e){var n=function(t){return 1==(t=+t)?Ke: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):Xe(isNaN(e)?n:e)}}(e);function r(t,e){var r=n((t=Le(t)).r,(e=Le(e)).r),i=n(t.g,e.g),o=n(t.b,e.b),s=Ke(t.opacity,e.opacity);return function(e){return t.r=r(e),t.g=i(e),t.b=o(e),t.opacity=s(e),t+""}}return r.gamma=t,r}(1);function Qe(t){return function(e){var n,r,i=e.length,o=new Array(i),s=new Array(i),a=new Array(i);for(n=0;n<i;++n)r=Le(e[n]),o[n]=r.r||0,s[n]=r.g||0,a[n]=r.b||0;return o=t(o),s=t(s),a=t(a),r.opacity=1,function(t){return r.r=o(t),r.g=s(t),r.b=a(t),r+""}}}Qe((function(t){var e=t.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[r],o=t[r+1],s=r>0?t[r-1]:2*i-o,a=r<e-1?t[r+2]:2*o-i;return qe((n-r/e)*e,s,i,o,a)}})),Qe((function(t){var e=t.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*e),i=t[(r+e-1)%e],o=t[r%e],s=t[(r+1)%e],a=t[(r+2)%e];return qe((n-r/e)*e,i,o,s,a)}}));var tn=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,en=new RegExp(tn.source,"g");function nn(t,e){var n,r,i,o=tn.lastIndex=en.lastIndex=0,s=-1,a=[],u=[];for(t+="",e+="";(n=tn.exec(t))&&(r=en.exec(e));)(i=r.index)>o&&(i=e.slice(o,i),a[s]?a[s]+=i:a[++s]=i),(n=n[0])===(r=r[0])?a[s]?a[s]+=r:a[++s]=r:(a[++s]=null,u.push({i:s,x:re(n,r)})),o=en.lastIndex;return o<e.length&&(i=e.slice(o),a[s]?a[s]+=i:a[++s]=i),a.length<2?u[0]?function(t){return function(e){return t(e)+""}}(u[0].x):function(t){return function(){return t}}(e):(e=u.length,function(t){for(var n,r=0;r<e;++r)a[(n=u[r]).i]=n.x(t);return a.join("")})}function rn(t,e){var n;return("number"==typeof e?re:e instanceof je?Je:(n=je(e))?(e=n,Je):nn)(t,e)}function on(t){return function(){this.removeAttribute(t)}}function sn(t){return function(){this.removeAttributeNS(t.space,t.local)}}function an(t,e,n){var r,i,o=n+"";return function(){var s=this.getAttribute(t);return s===o?null:s===r?i:i=e(r=s,n)}}function un(t,e,n){var r,i,o=n+"";return function(){var s=this.getAttributeNS(t.space,t.local);return s===o?null:s===r?i:i=e(r=s,n)}}function cn(t,e,n){var r,i,o;return function(){var s,a,u=n(this);if(null!=u)return(s=this.getAttribute(t))===(a=u+"")?null:s===r&&a===i?o:(i=a,o=e(r=s,u));this.removeAttribute(t)}}function ln(t,e,n){var r,i,o;return function(){var s,a,u=n(this);if(null!=u)return(s=this.getAttributeNS(t.space,t.local))===(a=u+"")?null:s===r&&a===i?o:(i=a,o=e(r=s,u));this.removeAttributeNS(t.space,t.local)}}function fn(t,e){return function(n){this.setAttribute(t,e.call(this,n))}}function hn(t,e){return function(n){this.setAttributeNS(t.space,t.local,e.call(this,n))}}function dn(t,e){var n,r;function i(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&hn(t,i)),n}return i._value=e,i}function pn(t,e){var n,r;function i(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&fn(t,i)),n}return i._value=e,i}function yn(t,e){return function(){Qt(this,t).delay=+e.apply(this,arguments)}}function vn(t,e){return e=+e,function(){Qt(this,t).delay=e}}function bn(t,e){return function(){te(this,t).duration=+e.apply(this,arguments)}}function mn(t,e){return e=+e,function(){te(this,t).duration=e}}function gn(t,e){if("function"!=typeof e)throw new Error;return function(){te(this,t).ease=e}}function wn(t,e,n){var r,i,o=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)?Qt:te;return function(){var s=o(this,t),a=s.on;a!==r&&(i=(r=a).copy()).on(e,n),s.on=i}}var _n=vt.prototype.constructor;function xn(t){return function(){this.style.removeProperty(t)}}function Sn(t,e,n){return function(r){this.style.setProperty(t,e.call(this,r),n)}}function On(t,e,n){var r,i;function o(){var o=e.apply(this,arguments);return o!==i&&(r=(i=o)&&Sn(t,o,n)),r}return o._value=e,o}function In(t){return function(e){this.textContent=t.call(this,e)}}function Tn(t){var e,n;function r(){var r=t.apply(this,arguments);return r!==n&&(e=(n=r)&&In(r)),e}return r._value=t,r}var An=0;function Mn(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}function Pn(){return++An}var En=vt.prototype;Mn.prototype=function(t){return vt().transition(t)}.prototype={constructor:Mn,select:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=r(t));for(var i=this._groups,o=i.length,s=new Array(o),a=0;a<o;++a)for(var u,c,l=i[a],f=l.length,h=s[a]=new Array(f),d=0;d<f;++d)(u=l[d])&&(c=t.call(u,u.__data__,d,l))&&("__data__"in u&&(c.__data__=u.__data__),h[d]=c,Jt(h[d],e,n,d,h,ee(u,n)));return new Mn(s,this._parents,e,n)},selectAll:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=s(t));for(var r=this._groups,i=r.length,o=[],a=[],u=0;u<i;++u)for(var c,l=r[u],f=l.length,h=0;h<f;++h)if(c=l[h]){for(var d,p=t.call(c,c.__data__,h,l),y=ee(c,n),v=0,b=p.length;v<b;++v)(d=p[v])&&Jt(d,e,n,v,p,y);o.push(p),a.push(c)}return new Mn(o,a,e,n)},selectChild:En.selectChild,selectChildren:En.selectChildren,filter:function(t){"function"!=typeof t&&(t=a(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var o,s=e[i],u=s.length,c=r[i]=[],l=0;l<u;++l)(o=s[l])&&t.call(o,o.__data__,l,s)&&c.push(o);return new Mn(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,i=n.length,o=Math.min(r,i),s=new Array(r),a=0;a<o;++a)for(var u,c=e[a],l=n[a],f=c.length,h=s[a]=new Array(f),d=0;d<f;++d)(u=c[d]||l[d])&&(h[d]=u);for(;a<r;++a)s[a]=e[a];return new Mn(s,this._parents,this._name,this._id)},selection:function(){return new _n(this._groups,this._parents)},transition:function(){for(var t=this._name,e=this._id,n=Pn(),r=this._groups,i=r.length,o=0;o<i;++o)for(var s,a=r[o],u=a.length,c=0;c<u;++c)if(s=a[c]){var l=ee(s,e);Jt(s,t,n,c,a,{time:l.time+l.delay+l.duration,delay:0,duration:l.duration,ease:l.ease})}return new Mn(r,this._parents,t,n)},call:En.call,nodes:En.nodes,node:En.node,size:En.size,empty:En.empty,each:En.each,on:function(t,e){var n=this._id;return arguments.length<2?ee(this.node(),n).on.on(t):this.each(wn(n,t,e))},attr:function(t,e){var n=S(t),r="transform"===n?le:rn;return this.attrTween(t,"function"==typeof e?(n.local?ln:cn)(n,r,de(this,"attr."+t,e)):null==e?(n.local?sn:on)(n):(n.local?un:an)(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=S(t);return this.tween(n,(r.local?dn:pn)(r,e))},style:function(t,e,n){var r="transform"==(t+="")?ce:rn;return null==e?this.styleTween(t,function(t,e){var n,r,i;return function(){var o=B(this,t),s=(this.style.removeProperty(t),B(this,t));return o===s?null:o===n&&s===r?i:i=e(n=o,r=s)}}(t,r)).on("end.style."+t,xn(t)):"function"==typeof e?this.styleTween(t,function(t,e,n){var r,i,o;return function(){var s=B(this,t),a=n(this),u=a+"";return null==a&&(this.style.removeProperty(t),u=a=B(this,t)),s===u?null:s===r&&u===i?o:(i=u,o=e(r=s,a))}}(t,r,de(this,"style."+t,e))).each(function(t,e){var n,r,i,o,s="style."+e,a="end."+s;return function(){var u=te(this,t),c=u.on,l=null==u.value[s]?o||(o=xn(e)):void 0;c===n&&i===l||(r=(n=c).copy()).on(a,i=l),u.on=r}}(this._id,t)):this.styleTween(t,function(t,e,n){var r,i,o=n+"";return function(){var s=B(this,t);return s===o?null:s===r?i:i=e(r=s,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}}(de(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,Tn(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,i=ee(this.node(),n).tween,o=0,s=i.length;o<s;++o)if((r=i[o]).name===t)return r.value;return null}return this.each((null==e?fe:he)(n,t,e))},delay:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?yn:vn)(e,t)):ee(this.node(),e).delay},duration:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?bn:mn)(e,t)):ee(this.node(),e).duration},ease:function(t){var e=this._id;return arguments.length?this.each(gn(e,t)):ee(this.node(),e).ease},easeVarying:function(t){if("function"!=typeof t)throw new Error;return this.each(function(t,e){return function(){var n=e.apply(this,arguments);if("function"!=typeof n)throw new Error;te(this,t).ease=n}}(this._id,t))},end:function(){var t,e,n=this,r=n._id,i=n.size();return new Promise((function(o,s){var a={value:s},u={value:function(){0==--i&&o()}};n.each((function(){var n=te(this,r),i=n.on;i!==t&&((e=(t=i).copy())._.cancel.push(a),e._.interrupt.push(a),e._.end.push(u)),n.on=e})),0===i&&o()}))},[Symbol.iterator]:En[Symbol.iterator]};var Cn={time:null,delay:0,duration:250,ease:function(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}};function jn(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return n}vt.prototype.interrupt=function(t){return this.each((function(){ne(this,t)}))},vt.prototype.transition=function(t){var e,n;t instanceof Mn?(e=t._id,t=t._name):(e=Pn(),(n=Cn).time=Vt(),t=null==t?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var s,a=r[o],u=a.length,c=0;c<u;++c)(s=a[c])&&Jt(s,t,e,c,a,n||jn(s,e));return new Mn(r,this._parents,t,e)};const kn=t=>()=>t;function Bn(t,{sourceEvent:e,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function Fn(t,e,n){this.k=t,this.x=e,this.y=n}Fn.prototype={constructor:Fn,scale:function(t){return 1===t?this:new Fn(this.k*t,this.x,this.y)},translate:function(t,e){return 0===t&0===e?this:new Fn(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 Ln=new Fn(1,0,0);function Dn(t){t.stopImmediatePropagation()}function Nn(t){t.preventDefault(),t.stopImmediatePropagation()}function Rn(t){return!(t.ctrlKey&&"wheel"!==t.type||t.button)}function Un(){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 zn(){return this.__zoom||Ln}function Vn(t){return-t.deltaY*(1===t.deltaMode?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function Wn(){return navigator.maxTouchPoints||"ontouchstart"in this}function $n(t,e,n){var r=t.invertX(e[0][0])-n[0][0],i=t.invertX(e[1][0])-n[1][0],o=t.invertY(e[0][1])-n[0][1],s=t.invertY(e[1][1])-n[1][1];return t.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s))}function Yn(){var t,e,n,r=Rn,i=Un,o=$n,s=Vn,a=Wn,u=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],l=250,f=Et,h=Ot("start","zoom","end"),d=500,p=0,y=10;function v(t){t.property("__zoom",zn).on("wheel.zoom",S,{passive:!1}).on("mousedown.zoom",O).on("dblclick.zoom",I).filter(a).on("touchstart.zoom",T).on("touchmove.zoom",A).on("touchend.zoom touchcancel.zoom",M).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function b(t,e){return(e=Math.max(u[0],Math.min(u[1],e)))===t.k?t:new Fn(e,t.x,t.y)}function m(t,e,n){var r=e[0]-n[0]*t.k,i=e[1]-n[1]*t.k;return r===t.x&&i===t.y?t:new Fn(t.k,r,i)}function g(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function w(t,e,n,r){t.on("start.zoom",(function(){_(this,arguments).event(r).start()})).on("interrupt.zoom end.zoom",(function(){_(this,arguments).event(r).end()})).tween("zoom",(function(){var t=this,o=arguments,s=_(t,o).event(r),a=i.apply(t,o),u=null==n?g(a):"function"==typeof n?n.apply(t,o):n,c=Math.max(a[1][0]-a[0][0],a[1][1]-a[0][1]),l=t.__zoom,h="function"==typeof e?e.apply(t,o):e,d=f(l.invert(u).concat(c/l.k),h.invert(u).concat(c/h.k));return function(t){if(1===t)t=h;else{var e=d(t),n=c/e[2];t=new Fn(n,u[0]-e[0]*n,u[1]-e[1]*n)}s.zoom(null,t)}}))}function _(t,e,n){return!n&&t.__zooming||new x(t,e)}function x(t,e){this.that=t,this.args=e,this.active=0,this.sourceEvent=null,this.extent=i.apply(t,e),this.taps=0}function S(t,...e){if(r.apply(this,arguments)){var n=_(this,e).event(t),i=this.__zoom,a=Math.max(u[0],Math.min(u[1],i.k*Math.pow(2,s.apply(this,arguments)))),l=Ct(t);if(n.wheel)n.mouse[0][0]===l[0]&&n.mouse[0][1]===l[1]||(n.mouse[1]=i.invert(n.mouse[0]=l)),clearTimeout(n.wheel);else{if(i.k===a)return;n.mouse=[l,i.invert(l)],ne(this),n.start()}Nn(t),n.wheel=setTimeout(f,150),n.zoom("mouse",o(m(b(i,a),n.mouse[0],n.mouse[1]),n.extent,c))}function f(){n.wheel=null,n.end()}}function O(t,...e){if(!n&&r.apply(this,arguments)){var i=t.currentTarget,s=_(this,e,!0).event(t),a=bt(t.view).on("mousemove.zoom",h,!0).on("mouseup.zoom",d,!0),u=Ct(t,i),l=t.clientX,f=t.clientY;At(t.view),Dn(t),s.mouse=[u,this.__zoom.invert(u)],ne(this),s.start()}function h(t){if(Nn(t),!s.moved){var e=t.clientX-l,n=t.clientY-f;s.moved=e*e+n*n>p}s.event(t).zoom("mouse",o(m(s.that.__zoom,s.mouse[0]=Ct(t,i),s.mouse[1]),s.extent,c))}function d(t){a.on("mousemove.zoom mouseup.zoom",null),Mt(t.view,s.moved),Nn(t),s.event(t).end()}}function I(t,...e){if(r.apply(this,arguments)){var n=this.__zoom,s=Ct(t.changedTouches?t.changedTouches[0]:t,this),a=n.invert(s),u=n.k*(t.shiftKey?.5:2),f=o(m(b(n,u),s,a),i.apply(this,e),c);Nn(t),l>0?bt(this).transition().duration(l).call(w,f,s,t):bt(this).call(v.transform,f,s,t)}}function T(n,...i){if(r.apply(this,arguments)){var o,s,a,u,c=n.touches,l=c.length,f=_(this,i,n.changedTouches.length===l).event(n);for(Dn(n),s=0;s<l;++s)u=[u=Ct(a=c[s],this),this.__zoom.invert(u),a.identifier],f.touch0?f.touch1||f.touch0[2]===u[2]||(f.touch1=u,f.taps=0):(f.touch0=u,o=!0,f.taps=1+!!t);t&&(t=clearTimeout(t)),o&&(f.taps<2&&(e=u[0],t=setTimeout((function(){t=null}),d)),ne(this),f.start())}}function A(t,...e){if(this.__zooming){var n,r,i,s,a=_(this,e).event(t),u=t.changedTouches,l=u.length;for(Nn(t),n=0;n<l;++n)i=Ct(r=u[n],this),a.touch0&&a.touch0[2]===r.identifier?a.touch0[0]=i:a.touch1&&a.touch1[2]===r.identifier&&(a.touch1[0]=i);if(r=a.that.__zoom,a.touch1){var f=a.touch0[0],h=a.touch0[1],d=a.touch1[0],p=a.touch1[1],y=(y=d[0]-f[0])*y+(y=d[1]-f[1])*y,v=(v=p[0]-h[0])*v+(v=p[1]-h[1])*v;r=b(r,Math.sqrt(y/v)),i=[(f[0]+d[0])/2,(f[1]+d[1])/2],s=[(h[0]+p[0])/2,(h[1]+p[1])/2]}else{if(!a.touch0)return;i=a.touch0[0],s=a.touch0[1]}a.zoom("touch",o(m(r,i,s),a.extent,c))}}function M(t,...r){if(this.__zooming){var i,o,s=_(this,r).event(t),a=t.changedTouches,u=a.length;for(Dn(t),n&&clearTimeout(n),n=setTimeout((function(){n=null}),d),i=0;i<u;++i)o=a[i],s.touch0&&s.touch0[2]===o.identifier?delete s.touch0:s.touch1&&s.touch1[2]===o.identifier&&delete s.touch1;if(s.touch1&&!s.touch0&&(s.touch0=s.touch1,delete s.touch1),s.touch0)s.touch0[1]=this.__zoom.invert(s.touch0[0]);else if(s.end(),2===s.taps&&(o=Ct(o,this),Math.hypot(e[0]-o[0],e[1]-o[1])<y)){var c=bt(this).on("dblclick.zoom");c&&c.apply(this,arguments)}}}return v.transform=function(t,e,n,r){var i=t.selection?t.selection():t;i.property("__zoom",zn),t!==i?w(t,e,n,r):i.interrupt().each((function(){_(this,arguments).event(r).start().zoom(null,"function"==typeof e?e.apply(this,arguments):e).end()}))},v.scaleBy=function(t,e,n,r){v.scaleTo(t,(function(){var t=this.__zoom.k,n="function"==typeof e?e.apply(this,arguments):e;return t*n}),n,r)},v.scaleTo=function(t,e,n,r){v.transform(t,(function(){var t=i.apply(this,arguments),r=this.__zoom,s=null==n?g(t):"function"==typeof n?n.apply(this,arguments):n,a=r.invert(s),u="function"==typeof e?e.apply(this,arguments):e;return o(m(b(r,u),s,a),t,c)}),n,r)},v.translateBy=function(t,e,n,r){v.transform(t,(function(){return o(this.__zoom.translate("function"==typeof e?e.apply(this,arguments):e,"function"==typeof n?n.apply(this,arguments):n),i.apply(this,arguments),c)}),null,r)},v.translateTo=function(t,e,n,r,s){v.transform(t,(function(){var t=i.apply(this,arguments),s=this.__zoom,a=null==r?g(t):"function"==typeof r?r.apply(this,arguments):r;return o(Ln.translate(a[0],a[1]).scale(s.k).translate("function"==typeof e?-e.apply(this,arguments):-e,"function"==typeof n?-n.apply(this,arguments):-n),t,c)}),r,s)},x.prototype={event:function(t){return t&&(this.sourceEvent=t),this},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){var e=bt(this.that).datum();h.call(t,this.that,new Bn(t,{sourceEvent:this.sourceEvent,target:v,type:t,transform:this.that.__zoom,dispatch:h}),e)}},v.wheelDelta=function(t){return arguments.length?(s="function"==typeof t?t:kn(+t),v):s},v.filter=function(t){return arguments.length?(r="function"==typeof t?t:kn(!!t),v):r},v.touchable=function(t){return arguments.length?(a="function"==typeof t?t:kn(!!t),v):a},v.extent=function(t){return arguments.length?(i="function"==typeof t?t:kn([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),v):i},v.scaleExtent=function(t){return arguments.length?(u[0]=+t[0],u[1]=+t[1],v):[u[0],u[1]]},v.translateExtent=function(t){return arguments.length?(c[0][0]=+t[0][0],c[1][0]=+t[1][0],c[0][1]=+t[0][1],c[1][1]=+t[1][1],v):[[c[0][0],c[0][1]],[c[1][0],c[1][1]]]},v.constrain=function(t){return arguments.length?(o=t,v):o},v.duration=function(t){return arguments.length?(l=+t,v):l},v.interpolate=function(t){return arguments.length?(f=t,v):f},v.on=function(){var t=h.on.apply(h,arguments);return t===h?v:t},v.clickDistance=function(t){return arguments.length?(p=(t=+t)*t,v):Math.sqrt(p)},v.tapDistance=function(t){return arguments.length?(y=+t,v):y},v}function Gn(t){return Gn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Gn(t)}function Zn(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return Hn(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Hn(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){a=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}function Hn(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function qn(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Xn(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==Gn(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Gn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Gn(i)?i:String(i)),r)}var i}Fn.prototype;var Kn=function(){function t(e){var n=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0;qn(this,t),o=o||{},this.canvas=e,this.w=this.canvas.offsetWidth,this.h=this.canvas.offsetHeight,this.canvas.width=this.w,this.canvas.height=this.h;var s=this.canvas.getContext("2d");if(!s)throw"Impossible to create canvas 2D context";this.ctx=s,this.center=r||{x:.5*this.w,y:.5*this.h},this.zf=i,this.backgroundColor=o.backgroundColor||"white",this.onZoomStartFun=o.onZoomStartFun,this.onZoomEndFun=o.onZoomEndFun,this.extGeo={xMin:NaN,xMax:NaN,yMin:NaN,yMax:NaN},this.updateExtentGeo();var a=Ln,u=Yn().wheelDelta((function(t){return-t.deltaY*(1===t.deltaMode?.07:t.deltaMode?1:.004)})).on("zoom",(function(t){var e=t.transform,r=a.k/e.k;if(1==r){var i=a.x-e.x,o=a.y-e.y;n.pan(i*n.getZf(),-o*n.getZf())}else{var s=t.sourceEvent;if(s instanceof WheelEvent)n.zoom(r,n.pixToGeoX(t.sourceEvent.offsetX),n.pixToGeoY(t.sourceEvent.offsetY));else if(s instanceof TouchEvent){var u,c=0,l=0,f=Zn(s.targetTouches);try{for(f.s();!(u=f.n()).done;){var h=u.value;c+=h.clientX,l+=h.clientY}}catch(t){f.e(t)}finally{f.f()}c/=s.targetTouches.length,l/=s.targetTouches.length,n.zoom(r,n.pixToGeoX(c),n.pixToGeoY(l))}}a=e})).on("start",(function(t){n.canvasSave.c=document.createElement("canvas"),n.canvasSave.c.setAttribute("width",""+n.w),n.canvasSave.c.setAttribute("height",""+n.h),n.canvasSave.c.getContext("2d").drawImage(n.canvas,0,0),n.canvasSave.dx=0,n.canvasSave.dy=0,n.canvasSave.f=1,n.onZoomStartFun&&n.onZoomStartFun()})).on("end",(function(t){n.redraw(!0),n.canvasSave={c:null,dx:0,dy:0,f:1},n.onZoomEndFun&&n.onZoomEndFun()}));u(bt(this.canvas)),this.zfExtent=[0,1/0],this.canvasSave={c:null,dx:0,dy:0,f:1}}var e,n,r;return e=t,n=[{key:"setCenter",value:function(t){this.center=t}},{key:"getCenter",value:function(){return this.center}},{key:"setZf",value:function(t){this.zf=t,this.slider&&this.slider.attr("value",+this.zf)}},{key:"getZf",value:function(){return this.zf}},{key:"setZfExtent",value:function(t){this.zfExtent=t}},{key:"getZfExtent",value:function(){return this.zfExtent}},{key:"initCanvasTransform",value:function(){this.ctx.setTransform(1,0,0,1,0,0)}},{key:"setCanvasTransform",value:function(){var t=1/this.getZf(),e=-this.center.x/this.getZf()+.5*this.w,n=this.center.y/this.getZf()+.5*this.h;this.ctx.setTransform(t,0,0,-t,e,n)}},{key:"getWebGLTransform",value:function(){var t=2/(this.w*this.getZf()),e=2/(this.h*this.getZf());return[t,0,0,0,e,0,-t*this.center.x,-e*this.center.y,1]}},{key:"redraw",value:function(){throw new Error("Method redraw not implemented.")}},{key:"clear",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"white";this.ctx&&(this.ctx.fillStyle=t),this.ctx.fillRect(0,0,this.w,this.h)}},{key:"pan",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.center.x+=t,this.center.y+=e,this.updateExtentGeo(),this.canvasSave.c&&(this.canvasSave.dx-=t/this.getZf(),this.canvasSave.dy+=e/this.getZf(),this.clear(this.backgroundColor),this.ctx.drawImage(this.canvasSave.c,this.canvasSave.dx,this.canvasSave.dy))}},{key:"zoom",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.center.x,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.center.y;if(!(this.zfExtent[0]==this.getZf()&&t<=1||this.zfExtent[1]==this.getZf()&&t>=1)){var r=t*this.getZf();r<this.zfExtent[0]&&(t=this.zfExtent[0]/this.getZf()),r>this.zfExtent[1]&&(t=this.zfExtent[1]/this.getZf()),this.setZf(t*this.getZf());var i=(e-this.center.x)*(1-t);this.center.x+=i;var o=(n-this.center.y)*(1-t);this.center.y+=o,this.updateExtentGeo(),this.canvasSave.c&&(this.clear(this.backgroundColor),this.canvasSave.f/=t,this.canvasSave.dx=this.geoToPixX(e)*(1-this.canvasSave.f),this.canvasSave.dy=this.geoToPixY(n)*(1-this.canvasSave.f),this.clear(this.backgroundColor),this.ctx.drawImage(this.canvasSave.c,this.canvasSave.dx,this.canvasSave.dy,this.canvasSave.f*this.canvasSave.c.width,this.canvasSave.f*this.canvasSave.c.height))}}},{key:"updateExtentGeo",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:20;return this.extGeo={xMin:this.pixToGeoX(-t),xMax:this.pixToGeoX(this.w+t),yMin:this.pixToGeoY(this.h+t),yMax:this.pixToGeoY(-t)},this.extGeo}},{key:"toDraw",value:function(t){return!(t.x<this.extGeo.xMin||t.x>this.extGeo.xMax||t.y<this.extGeo.yMin||t.y>this.extGeo.yMax)}},{key:"geoToPixX",value:function(t){return(t-this.center.x)/this.getZf()+.5*this.w}},{key:"geoToPixY",value:function(t){return-(t-this.center.y)/this.getZf()+.5*this.h}},{key:"pixToGeoX",value:function(t){return(t-.5*this.w)*this.getZf()+this.center.x}},{key:"pixToGeoY",value:function(t){return-(t-.5*this.h)*this.getZf()+this.center.y}},{key:"setViewFromURL",value:function(){var e=t.getParameterByName("x"),n=t.getParameterByName("y"),r=t.getParameterByName("z"),i=this.getCenter();null==e||null==e||isNaN(+e)||(i.x=+e),null==n||null==n||isNaN(+n)||(i.y=+n),null==r||null==r||isNaN(+r)||this.setZf(+r)}},{key:"addZoomSlider",value:function(t,e){(e=e||{}).width=e.width||"30px",e.height=e.height||"300px";var n=bt("#"+t);if(n.empty())return console.error("Could not find div element to build zoom slider. Id: "+t),this;var r=this;return this.slider=n.append("input").attr("type","range").attr("min",this.getZfExtent()[0]).attr("max",this.getZfExtent()[1]).attr("value",this.getZf()).on("input",(function(t){if(this&&this.value){var e=+this.value;bt(this).attr("value",e),r.setZf(e),r.redraw()}})).style("width",e.width).style("height",e.height).style("opacity",.7).on("mouseover",(function(t){bt(this).style("opacity",1)})).on("mouseout",(function(t){bt(this).style("opacity",.7)})).style("-webkit-appearance","slider-vertical").style("writing-mode","bt-lr").attr("orient","vertical").style("background","lightgray").style("outline","none").style("-webkit-transition",".2s").style("transition","opacity .2s"),this}}],r=[{key:"getParameterByName",value:function(t){t=t.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var e=new RegExp("[\\?&]"+t+"=([^&#]*)").exec(location.search);return e?decodeURIComponent(e[1].replace(/\+/g," ")):null}}],n&&Xn(e.prototype,n),r&&Xn(e,r),Object.defineProperty(e,"prototype",{writable:!1}),t}();function Jn(t){return Jn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Jn(t)}function Qn(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function tr(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==Jn(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Jn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Jn(i)?i:String(i)),r)}var i}var er=function(){function t(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(Qn(this,t),r=r||{},this.dataset=e,this.styles=n,this.visible=0!=r.visible,this.minZoom=r.minZoom||0,this.maxZoom=r.maxZoom||1/0,this.minZoom>=this.maxZoom)throw new Error("Unexpected zoom limits for layer. Zoom min should be smaller than zoom max.");this.pixNb=r.pixNb||3,this.cellInfoHTML=r.cellInfoHTML||t.defaultCellInfoHTML}var e,n,r;return e=t,r=[{key:"defaultCellInfoHTML",value:function(t){for(var e=[],n=0,r=Object.keys(t);n<r.length;n++){var i=r[n];"x"!==i&&"y"!==i&&e.push("<b>",i,"</b>"," : ",t[i],"<br>")}return e.join("")}}],(n=[{key:"getDatasetComponent",value:function(t){if(!(t<this.minZoom||t>this.maxZoom)){if(1==this.dataset.datasetComponents.length)return this.dataset.datasetComponents[0];for(var e=this.dataset.resolutions,n=0,r=e[n]/this.pixNb;r<t&&n<e.length;)r=e[++n]/this.pixNb;return n==e.length?this.dataset.datasetComponents[e.length-1]:this.dataset.datasetComponents[n]}}}])&&tr(e.prototype,n),r&&tr(e,r),Object.defineProperty(e,"prototype",{writable:!1}),t}();function nr(t){return nr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},nr(t)}function rr(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return ir(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ir(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){a=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}function ir(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function or(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function sr(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==nr(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==nr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===nr(i)?i:String(i)),r)}var i}var ar=function(){function t(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(or(this,t),r=r||{},this.datasetComponents=e,this.resolutions=n,this.datasetComponents.length>1&&this.datasetComponents.length!=this.resolutions.length)throw new Error("Uncompatible number of datasets and resolutions: "+this.datasetComponents.length+" "+this.resolutions.length);r.preprocess&&this.setPrepocesses(r.preprocess)}var e,n,r;return e=t,r=[{key:"make",value:function(e,n,r){var i,o=[],s=rr(e);try{for(s.s();!(i=s.n()).done;){var a=i.value;o.push(n(a))}}catch(t){s.e(t)}finally{s.f()}return new t(o,e,r)}}],(n=[{key:"setPrepocesses",value:function(t){var e,n=rr(this.datasetComponents);try{for(n.s();!(e=n.n()).done;)e.value.preprocess=t}catch(t){n.e(t)}finally{n.f()}return this}}])&&sr(e.prototype,n),r&&sr(e,r),Object.defineProperty(e,"prototype",{writable:!1}),t}();function ur(t){return ur="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ur(t)}function cr(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function lr(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==ur(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==ur(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===ur(i)?i:String(i)),r)}var i}var fr=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0;cr(this,t),e=e||{},this.div=e.div||"tooltip_eurostat",this.maxWidth=e.maxWidth||"20em",this.fontSize=e.fontSize||"1.2em",this.background=e.background||"white",this.padding=e.padding||"5px",this.border=e.border||"0px",this["border-radius"]=e["border-radius"]||"5px",this["box-shadow"]=e["box-shadow"]||"5px 5px 5px grey",this["font-family"]=e["font-family"]||"Helvetica, Arial, sans-serif",this.transitionDuration=e.transitionDuration||100,this.xOffset=e.xOffset||30,this.yOffset=e.yOffset||20,this.tooltip=bt("#"+this.div),this.tooltip.empty()&&(this.tooltip=bt("body").append("div").attr("id",this.div)),this.tooltip.style("max-width",this.maxWidth),this.tooltip.style("overflow","hidden"),this.tooltip.style("font-size",this.fontSize),this.tooltip.style("background",this.background),this.tooltip.style("padding",this.padding),this.tooltip.style("border",this.border),this.tooltip.style("border-radius",this["border-radius"]),this.tooltip.style("box-shadow",this["box-shadow"]),this.tooltip.style("font-family",this["font-family"]),this.tooltip.style("position","absolute"),this.tooltip.style("pointer-events","none"),this.tooltip.style("opacity","0")}var e,n;return e=t,n=[{key:"show",value:function(){this.tooltip.transition().duration(this.transitionDuration).style("opacity",1)}},{key:"hide",value:function(){this.tooltip.transition().duration(this.transitionDuration).style("opacity",0)}},{key:"html",value:function(t){this.tooltip.html(t)}},{key:"setPosition",value:function(t){this.tooltip.style("left",t.pageX+this.xOffset+"px").style("top",t.pageY-this.yOffset+"px")}},{key:"style",value:function(t,e){return 1==arguments.length?this.tooltip.style(t):(this.tooltip.style(t,e),this)}},{key:"attr",value:function(t,e){return 1==arguments.length?this.tooltip.attr(t):(this.tooltip.attr(t,e),this)}}],n&&lr(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),t}(),hr={},dr={};function pr(t){return new Function("d","return {"+t.map((function(t,e){return JSON.stringify(t)+": d["+e+'] || ""'})).join(",")+"}")}function yr(t){var e=Object.create(null),n=[];return t.forEach((function(t){for(var r in t)r in e||n.push(e[r]=r)})),n}function vr(t,e){var n=t+"",r=n.length;return r<e?new Array(e-r+1).join(0)+n:n}function br(t){var e=new RegExp('["'+t+"\n\r]"),n=t.charCodeAt(0);function r(t,e){var r,i=[],o=t.length,s=0,a=0,u=o<=0,c=!1;function l(){if(u)return dr;if(c)return c=!1,hr;var e,r,i=s;if(34===t.charCodeAt(i)){for(;s++<o&&34!==t.charCodeAt(s)||34===t.charCodeAt(++s););return(e=s)>=o?u=!0:10===(r=t.charCodeAt(s++))?c=!0:13===r&&(c=!0,10===t.charCodeAt(s)&&++s),t.slice(i+1,e-1).replace(/""/g,'"')}for(;s<o;){if(10===(r=t.charCodeAt(e=s++)))c=!0;else if(13===r)c=!0,10===t.charCodeAt(s)&&++s;else if(r!==n)continue;return t.slice(i,e)}return u=!0,t.slice(i,o)}for(10===t.charCodeAt(o-1)&&--o,13===t.charCodeAt(o-1)&&--o;(r=l())!==dr;){for(var f=[];r!==hr&&r!==dr;)f.push(r),r=l();e&&null==(f=e(f,a++))||i.push(f)}return i}function i(e,n){return e.map((function(e){return n.map((function(t){return s(e[t])})).join(t)}))}function o(e){return e.map(s).join(t)}function s(t){return null==t?"":t instanceof Date?(i=(n=t).getUTCHours(),o=n.getUTCMinutes(),s=n.getUTCSeconds(),a=n.getUTCMilliseconds(),isNaN(n)?"Invalid Date":((r=n.getUTCFullYear())<0?"-"+vr(-r,6):r>9999?"+"+vr(r,6):vr(r,4))+"-"+vr(n.getUTCMonth()+1,2)+"-"+vr(n.getUTCDate(),2)+(a?"T"+vr(i,2)+":"+vr(o,2)+":"+vr(s,2)+"."+vr(a,3)+"Z":s?"T"+vr(i,2)+":"+vr(o,2)+":"+vr(s,2)+"Z":o||i?"T"+vr(i,2)+":"+vr(o,2)+"Z":"")):e.test(t+="")?'"'+t.replace(/"/g,'""')+'"':t;var n,r,i,o,s,a}return{parse:function(t,e){var n,i,o=r(t,(function(t,r){if(n)return n(t,r-1);i=t,n=e?function(t,e){var n=pr(t);return function(r,i){return e(n(r),i,t)}}(t,e):pr(t)}));return o.columns=i||[],o},parseRows:r,format:function(e,n){return null==n&&(n=yr(e)),[n.map(s).join(t)].concat(i(e,n)).join("\n")},formatBody:function(t,e){return null==e&&(e=yr(t)),i(t,e).join("\n")},formatRows:function(t){return t.map(o).join("\n")},formatRow:o,formatValue:s}}var mr=br(","),gr=mr.parse,wr=(mr.parseRows,mr.format,mr.formatBody,mr.formatRows,mr.formatRow,mr.formatValue,br("\t")),_r=wr.parse;function xr(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);return t.text()}function Sr(t,e){return fetch(t,e).then(xr)}function Or(t){return function(e,n,r){return 2===arguments.length&&"function"==typeof n&&(r=n,n=void 0),Sr(e,n).then((function(e){return t(e,r)}))}}wr.parseRows,wr.format,wr.formatBody,wr.formatRows,wr.formatRow,wr.formatValue;var Ir=Or(gr);function Tr(t){return Tr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Tr(t)}function Ar(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function Mr(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Pr(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==Tr(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Tr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Tr(i)?i:String(i)),r)}var i}Or(_r);var Er=function(){function t(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Mr(this,t),r=r||{},this.url=e,this.resolution=n,this.preprocess=r.preprocess||void 0,this.cellsViewCache=[]}var e,n;return e=t,(n=[{key:"getData",value:function(t,e){throw new Error("Method getData not implemented.")}},{key:"updateViewCache",value:function(t){throw new Error("Method updateViewCache not implemented.")}},{key:"getCellFromPosition",value:function(t,e){var n,r=this.getResolution(),i=r*Math.floor(t.x/r),o=r*Math.floor(t.y/r),s=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return Ar(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ar(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){a=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}(e);try{for(s.s();!(n=s.n()).done;){var a=n.value;if(a.x==i&&a.y==o)return a}}catch(t){s.e(t)}finally{s.f()}}},{key:"getResolution",value:function(){return this.resolution}},{key:"getViewCache",value:function(){return this.cellsViewCache}}])&&Pr(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function Cr(t){return Cr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Cr(t)}function jr(){jr=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",a=i.toStringTag||"@@toStringTag";function u(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,n){return t[e]=n}}function c(t,e,n,i){var o=e&&e.prototype instanceof h?e:h,s=Object.create(o.prototype),a=new I(i||[]);return r(s,"_invoke",{value:_(t,n,a)}),s}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var f={};function h(){}function d(){}function p(){}var y={};u(y,o,(function(){return this}));var v=Object.getPrototypeOf,b=v&&v(v(T([])));b&&b!==e&&n.call(b,o)&&(y=b);var m=p.prototype=h.prototype=Object.create(y);function g(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function i(r,o,s,a){var u=l(t[r],t,o);if("throw"!==u.type){var c=u.arg,f=c.value;return f&&"object"==Cr(f)&&n.call(f,"__await")?e.resolve(f.__await).then((function(t){i("next",t,s,a)}),(function(t){i("throw",t,s,a)})):e.resolve(f).then((function(t){c.value=t,s(c)}),(function(t){return i("throw",t,s,a)}))}a(u.arg)}var o;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){i(t,n,e,r)}))}return o=o?o.then(r,r):r()}})}function _(t,e,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return{value:void 0,done:!0}}for(n.method=i,n.arg=o;;){var s=n.delegate;if(s){var a=x(s,n);if(a){if(a===f)continue;return a}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var u=l(t,e,n);if("normal"===u.type){if(r=n.done?"completed":"suspendedYield",u.arg===f)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r="completed",n.method="throw",n.arg=u.arg)}}}function x(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,x(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),f;var i=l(r,t.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,f;var o=i.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,f):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,f)}function S(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function O(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(S,this),this.reset(!0)}function T(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,i=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return i.next=i}}return{next:A}}function A(){return{value:void 0,done:!0}}return d.prototype=p,r(m,"constructor",{value:p,configurable:!0}),r(p,"constructor",{value:d,configurable:!0}),d.displayName=u(p,a,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===d||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,p):(t.__proto__=p,u(t,a,"GeneratorFunction")),t.prototype=Object.create(m),t},t.awrap=function(t){return{__await:t}},g(w.prototype),u(w.prototype,s,(function(){return this})),t.AsyncIterator=w,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var s=new w(c(e,n,r,i),o);return t.isGeneratorFunction(n)?s:s.next().then((function(t){return t.done?t.value:s.next()}))},g(m),u(m,a,"Generator"),u(m,o,(function(){return this})),u(m,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=T,I.prototype={constructor:I,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(O),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return s.type="throw",s.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],s=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var a=n.call(o,"catchLoc"),u=n.call(o,"finallyLoc");if(a&&u){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(a){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var s=o?o.completion:{};return s.type=t,s.arg=e,o?(this.method="next",this.next=o.finallyLoc,f):this.complete(s)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),f},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),O(n),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;O(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:T(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),f}},t}function kr(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return Br(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Br(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){a=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}function Br(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function Fr(t,e,n,r,i,o,s){try{var a=t[o](s),u=a.value}catch(t){return void n(t)}a.done?e(u):Promise.resolve(u).then(r,i)}function Lr(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Dr(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==Cr(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Cr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Cr(i)?i:String(i)),r)}var i}function Nr(t,e){return Nr=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Nr(t,e)}function Rr(t,e){if(e&&("object"===Cr(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function Ur(t){return Ur=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Ur(t)}var zr=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Nr(t,e)}(s,t);var e,n,r,i,o=(r=s,i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=Ur(r);if(i){var n=Ur(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return Rr(this,t)});function s(t,e){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Lr(this,s),(n=o.call(this,t,e,r)).cells=[],n.infoLoadingStatus="notLoaded",n}return e=s,n=[{key:"getData",value:function(t,e){var n,r=this;return"notLoaded"!=this.infoLoadingStatus||(this.infoLoadingStatus="loading",(n=jr().mark((function t(){var n,i,o,s,a,u,c;return jr().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,Ir(r.url);case 3:n=t.sent,i=kr(n);try{for(i.s();!(o=i.n()).done;)(s=o.value).x=+s.x,s.y=+s.y}catch(t){i.e(t)}finally{i.f()}if(!r.preprocess){t.next=29;break}r.cells=[],a=kr(n),t.prev=9,a.s();case 11:if((u=a.n()).done){t.next=19;break}if(c=u.value,0!=r.preprocess(c)){t.next=16;break}return t.abrupt("continue",17);case 16:r.cells.push(c);case 17:t.next=11;break;case 19:t.next=24;break;case 21:t.prev=21,t.t0=t.catch(9),a.e(t.t0);case 24:return t.prev=24,a.f(),t.finish(24);case 27:t.next=30;break;case 29:r.cells=n;case 30:e&&e(),r.infoLoadingStatus="loaded",t.next=38;break;case 34:t.prev=34,t.t1=t.catch(0),r.infoLoadingStatus="failed",r.cells=[];case 38:case"end":return t.stop()}}),t,null,[[0,34],[9,21,24,27]])})),function(){var t=this,e=arguments;return new Promise((function(r,i){var o=n.apply(t,e);function s(t){Fr(o,r,i,s,a,"next",t)}function a(t){Fr(o,r,i,s,a,"throw",t)}s(void 0)}))})()),this}},{key:"updateViewCache",value:function(t){if(this.cells){this.cellsViewCache=[];var e,n=kr(this.cells);try{for(n.s();!(e=n.n()).done;){var r=e.value;+r.x+this.resolution<t.xMin||+r.x-this.resolution>t.xMax||+r.y+this.resolution<t.yMin||+r.y-this.resolution>t.yMax||this.cellsViewCache.push(r)}}catch(t){n.e(t)}finally{n.f()}}}}],n&&Dr(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),s}(Er);function Vr(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);if(204!==t.status&&205!==t.status)return t.json()}function Wr(t,e){return fetch(t,e).then(Vr)}function $r(t){return $r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},$r(t)}function Yr(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function Gr(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==$r(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==$r(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===$r(i)?i:String(i)),r)}var i}function Zr(t,e,n){return e&&Gr(t.prototype,e),n&&Gr(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}var Hr,qr,Xr,Kr,Jr,Qr,ti,ei,ni,ri,ii,oi,si,ai=Zr((function t(e,n,r,i){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.cells=e,this.x=n,this.y=r;var o=i.resolutionGeo,s=i.tileSizeCell;this.extGeo={xMin:i.originPoint.x+o*s*this.x,xMax:i.originPoint.x+o*s*(this.x+1),yMin:i.originPoint.y+o*s*this.y,yMax:i.originPoint.y+o*s*(this.y+1)};var a,u=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return Yr(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Yr(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){a=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}(this.cells);try{for(u.s();!(a=u.n()).done;){var c=a.value;c.x=this.extGeo.xMin+c.x*o,c.y=this.extGeo.yMin+c.y*o}}catch(t){u.e(t)}finally{u.f()}}));function ui(t,e){if(e){if(0==e.length)return 0;if(t<=e[0])return 0;for(var n=1;n<e.length;n++)if(e[n-1]<t&&t<=e[n])return n;return e.length}}function ci(t){if(null===t)return"null";if(void 0===t)return"undefined";switch(typeof t){case"number":case"bigint":return`${t}`;case"string":return`"${t}"`}return"function"==typeof t[Symbol.toPrimitive]?t[Symbol.toPrimitive]("string"):ArrayBuffer.isView(t)?t instanceof BigInt64Array||t instanceof BigUint64Array?`[${[...t].map((t=>ci(t)))}]`:`[${t}]`:ArrayBuffer.isView(t)?`[${t}]`:JSON.stringify(t,((t,e)=>"bigint"==typeof e?`${e}`:e))}function li(t,e,n,r){return new(n||(n=Promise))((function(i,o){function s(t){try{u(r.next(t))}catch(t){o(t)}}function a(t){try{u(r.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,a)}u((r=r.apply(t,e||[])).next())}))}function fi(t){return this instanceof fi?(this.v=t,this):new fi(t)}function hi(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=n.apply(t,e||[]),o=[];return r={},s("next"),s("throw"),s("return"),r[Symbol.asyncIterator]=function(){return this},r;function s(t){i[t]&&(r[t]=function(e){return new Promise((function(n,r){o.push([t,e,n,r])>1||a(t,e)}))})}function a(t,e){try{(n=i[t](e)).value instanceof fi?Promise.resolve(n.value.v).then(u,c):l(o[0][2],n)}catch(t){l(o[0][3],t)}var n}function u(t){a("next",t)}function c(t){a("throw",t)}function l(t,e){t(e),o.shift(),o.length&&a(o[0][0],o[0][1])}}function di(t){var e,n;return e={},r("next"),r("throw",(function(t){throw t})),r("return"),e[Symbol.iterator]=function(){return this},e;function r(r,i){e[r]=t[r]?function(e){return(n=!n)?{value:fi(t[r](e)),done:"return"===r}:i?i(e):e}:i}}function pi(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,n=t[Symbol.asyncIterator];return n?n.call(t):(t=function(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}(t),e={},r("next"),r("throw"),r("return"),e[Symbol.asyncIterator]=function(){return this},e);function r(n){e[n]=t[n]&&function(e){return new Promise((function(r,i){!function(t,e,n,r){Promise.resolve(r).then((function(e){t({value:e,done:n})}),e)}(r,i,(e=t[n](e)).done,e.value)}))}}}!function(t){t[t.V1=0]="V1",t[t.V2=1]="V2",t[t.V3=2]="V3",t[t.V4=3]="V4",t[t.V5=4]="V5"}(Hr||(Hr={})),(si=qr||(qr={}))[si.Sparse=0]="Sparse",si[si.Dense=1]="Dense",function(t){t[t.HALF=0]="HALF",t[t.SINGLE=1]="SINGLE",t[t.DOUBLE=2]="DOUBLE"}(Xr||(Xr={})),(oi=Kr||(Kr={}))[oi.DAY=0]="DAY",oi[oi.MILLISECOND=1]="MILLISECOND",(ii=Jr||(Jr={}))[ii.SECOND=0]="SECOND",ii[ii.MILLISECOND=1]="MILLISECOND",ii[ii.MICROSECOND=2]="MICROSECOND",ii[ii.NANOSECOND=3]="NANOSECOND",(ri=Qr||(Qr={}))[ri.YEAR_MONTH=0]="YEAR_MONTH",ri[ri.DAY_TIME=1]="DAY_TIME",ri[ri.MONTH_DAY_NANO=2]="MONTH_DAY_NANO",function(t){t[t.NONE=0]="NONE",t[t.Schema=1]="Schema",t[t.DictionaryBatch=2]="DictionaryBatch",t[t.RecordBatch=3]="RecordBatch",t[t.Tensor=4]="Tensor",t[t.SparseTensor=5]="SparseTensor"}(ti||(ti={})),function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.Float=3]="Float",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct=13]="Struct",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Dictionary=-1]="Dictionary",t[t.Int8=-2]="Int8",t[t.Int16=-3]="Int16",t[t.Int32=-4]="Int32",t[t.Int64=-5]="Int64",t[t.Uint8=-6]="Uint8",t[t.Uint16=-7]="Uint16",t[t.Uint32=-8]="Uint32",t[t.Uint64=-9]="Uint64",t[t.Float16=-10]="Float16",t[t.Float32=-11]="Float32",t[t.Float64=-12]="Float64",t[t.DateDay=-13]="DateDay",t[t.DateMillisecond=-14]="DateMillisecond",t[t.TimestampSecond=-15]="TimestampSecond",t[t.TimestampMillisecond=-16]="TimestampMillisecond",t[t.TimestampMicrosecond=-17]="TimestampMicrosecond",t[t.TimestampNanosecond=-18]="TimestampNanosecond",t[t.TimeSecond=-19]="TimeSecond",t[t.TimeMillisecond=-20]="TimeMillisecond",t[t.TimeMicrosecond=-21]="TimeMicrosecond",t[t.TimeNanosecond=-22]="TimeNanosecond",t[t.DenseUnion=-23]="DenseUnion",t[t.SparseUnion=-24]="SparseUnion",t[t.IntervalDayTime=-25]="IntervalDayTime",t[t.IntervalYearMonth=-26]="IntervalYearMonth"}(ei||(ei={})),function(t){t[t.OFFSET=0]="OFFSET",t[t.DATA=1]="DATA",t[t.VALIDITY=2]="VALIDITY",t[t.TYPE=3]="TYPE"}(ni||(ni={})),Object.create,Object.create;const yi=new TextDecoder("utf-8"),vi=t=>yi.decode(t),bi=new TextEncoder,mi=t=>bi.encode(t),[gi,wi]=(()=>{const t=()=>{throw new Error("BigInt is not available in this environment")};function e(){throw t()}return e.asIntN=()=>{throw t()},e.asUintN=()=>{throw t()},"undefined"!=typeof BigInt?[BigInt,!0]:[e,!1]})(),[_i,xi]=(()=>{const t=()=>{throw new Error("BigInt64Array is not available in this environment")};return"undefined"!=typeof BigInt64Array?[BigInt64Array,!0]:[class{static get BYTES_PER_ELEMENT(){return 8}static of(){throw t()}static from(){throw t()}constructor(){throw t()}},!1]})(),[Si,Oi]=(()=>{const t=()=>{throw new Error("BigUint64Array is not available in this environment")};return"undefined"!=typeof BigUint64Array?[BigUint64Array,!0]:[class{static get BYTES_PER_ELEMENT(){return 8}static of(){throw t()}static from(){throw t()}constructor(){throw t()}},!1]})(),Ii=t=>"function"==typeof t,Ti=t=>null!=t&&Object(t)===t,Ai=t=>Ti(t)&&Ii(t.then),Mi=t=>Ti(t)&&Ii(t[Symbol.iterator]),Pi=t=>Ti(t)&&Ii(t[Symbol.asyncIterator]),Ei=t=>Ti(t)&&Ti(t.schema),Ci=t=>Ti(t)&&"done"in t&&"value"in t,ji=t=>Ti(t)&&Ii(t.stat)&&(t=>"number"==typeof t)(t.fd),ki=t=>Ti(t)&&Fi(t.body),Bi=t=>"_getDOMStream"in t&&"_getNodeStream"in t,Fi=t=>Ti(t)&&Ii(t.cancel)&&Ii(t.getReader)&&!Bi(t),Li=t=>Ti(t)&&Ii(t.read)&&Ii(t.pipe)&&(t=>"boolean"==typeof t)(t.readable)&&!Bi(t),Di="undefined"!=typeof SharedArrayBuffer?SharedArrayBuffer:ArrayBuffer;function Ni(t,e,n=0,r=e.byteLength){const i=t.byteLength,o=new Uint8Array(t.buffer,t.byteOffset,i),s=new Uint8Array(e.buffer,e.byteOffset,Math.min(r,i));return o.set(s,n),t}function Ri(t,e){const n=function(t){const e=t[0]?[t[0]]:[];let n,r,i,o;for(let s,a,u=0,c=0,l=t.length;++u<l;)s=e[c],a=t[u],!s||!a||s.buffer!==a.buffer||a.byteOffset<s.byteOffset?a&&(e[++c]=a):(({byteOffset:n,byteLength:i}=s),({byteOffset:r,byteLength:o}=a),n+i<r||r+o<n?a&&(e[++c]=a):e[c]=new Uint8Array(s.buffer,n,r-n+o));return e}(t),r=n.reduce(((t,e)=>t+e.byteLength),0);let i,o,s,a=0,u=-1;const c=Math.min(e||Number.POSITIVE_INFINITY,r);for(const t=n.length;++u<t;){if(i=n[u],o=i.subarray(0,Math.min(i.length,c-a)),c<=a+o.length){o.length<i.length?n[u]=i.subarray(o.length):o.length===i.length&&u++,s?Ni(s,o,a):s=o;break}Ni(s||(s=new Uint8Array(c)),o,a),a+=o.length}return[s||new Uint8Array(0),n.slice(u),r-(s?s.byteLength:0)]}function Ui(t,e){let n=Ci(e)?e.value:e;return n instanceof t?t===Uint8Array?new t(n.buffer,n.byteOffset,n.byteLength):n:n?("string"==typeof n&&(n=mi(n)),n instanceof ArrayBuffer||n instanceof Di?new t(n):Ti(r=n)&&Ii(r.clear)&&Ii(r.bytes)&&Ii(r.position)&&Ii(r.setPosition)&&Ii(r.capacity)&&Ii(r.getBufferIdentifier)&&Ii(r.createLong)?Ui(t,n.bytes()):ArrayBuffer.isView(n)?n.byteLength<=0?new t(0):new t(n.buffer,n.byteOffset,n.byteLength/t.BYTES_PER_ELEMENT):t.from(n)):new t(0);var r}const zi=t=>Ui(Int32Array,t),Vi=t=>Ui(Uint8Array,t),Wi=t=>(t.next(),t);function $i(t,e){return hi(this,arguments,(function*(){if(Ai(e))return yield fi(yield fi(yield*di(pi($i(t,yield fi(e))))));const n=function(t){return hi(this,arguments,(function*(){yield yield fi(yield fi(t))}))},r="string"==typeof e||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof Di?n(e):Mi(e)?function(t){return hi(this,arguments,(function*(){yield fi(yield*di(pi(Wi(function*(t){let e=null;do{e=t.next(yield null==e?void 0:e.value)}while(!e.done)}(t[Symbol.iterator]())))))}))}(e):Pi(e)?e:n(e);return yield fi(yield*di(pi(Wi(function(e){return hi(this,arguments,(function*(){let n=null;do{n=yield fi(e.next(yield yield fi(Ui(t,n))))}while(!n.done)}))}(r[Symbol.asyncIterator]()))))),yield fi(new t)}))}const Yi=t=>$i(Uint8Array,t),Gi=Symbol.for("isArrowBigNum");function Zi(t,...e){return 0===e.length?Object.setPrototypeOf(Ui(this.TypedArray,t),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(t,...e),this.constructor.prototype)}function Hi(...t){return Zi.apply(this,t)}function qi(...t){return Zi.apply(this,t)}function Xi(...t){return Zi.apply(this,t)}function Ki(t){const{buffer:e,byteOffset:n,length:r,signed:i}=t,o=new Si(e,n,r),s=i&&o[o.length-1]&BigInt(1)<<BigInt(63);let a=s?BigInt(1):BigInt(0),u=BigInt(0);if(s){for(const t of o)a+=~t*(BigInt(1)<<BigInt(32)*u++);a*=BigInt(-1)}else for(const t of o)a+=t*(BigInt(1)<<BigInt(32)*u++);return a}let Ji,Qi;function to(t){let e="";const n=new Uint32Array(2);let r=new Uint16Array(t.buffer,t.byteOffset,t.byteLength/2);const i=new Uint32Array((r=new Uint16Array(r).reverse()).buffer);let o=-1;const s=r.length-1;do{for(n[0]=r[o=0];o<s;)r[o++]=n[1]=n[0]/10,n[0]=(n[0]-10*n[1]<<16)+r[o];r[o]=n[1]=n[0]/10,n[0]=n[0]-10*n[1],e=`${n[0]}${e}`}while(i[0]||i[1]||i[2]||i[3]);return null!=e?e:"0"}Zi.prototype[Gi]=!0,Zi.prototype.toJSON=function(){return`"${Ji(this)}"`},Zi.prototype.valueOf=function(){return Ki(this)},Zi.prototype.toString=function(){return Ji(this)},Zi.prototype[Symbol.toPrimitive]=function(t="default"){switch(t){case"number":return Ki(this);case"string":return Ji(this);case"default":return Qi(this)}return Ji(this)},Object.setPrototypeOf(Hi.prototype,Object.create(Int32Array.prototype)),Object.setPrototypeOf(qi.prototype,Object.create(Uint32Array.prototype)),Object.setPrototypeOf(Xi.prototype,Object.create(Uint32Array.prototype)),Object.assign(Hi.prototype,Zi.prototype,{constructor:Hi,signed:!0,TypedArray:Int32Array,BigIntArray:_i}),Object.assign(qi.prototype,Zi.prototype,{constructor:qi,signed:!1,TypedArray:Uint32Array,BigIntArray:Si}),Object.assign(Xi.prototype,Zi.prototype,{constructor:Xi,signed:!0,TypedArray:Uint32Array,BigIntArray:Si}),wi?(Qi=t=>8===t.byteLength?new t.BigIntArray(t.buffer,t.byteOffset,1)[0]:to(t),Ji=t=>8===t.byteLength?`${new t.BigIntArray(t.buffer,t.byteOffset,1)[0]}`:to(t)):(Ji=to,Qi=Ji);class eo{static new(t,e){switch(e){case!0:return new Hi(t);case!1:return new qi(t)}switch(t.constructor){case Int8Array:case Int16Array:case Int32Array:case _i:return new Hi(t)}return 16===t.byteLength?new Xi(t):new qi(t)}static signed(t){return new Hi(t)}static unsigned(t){return new qi(t)}static decimal(t){return new Xi(t)}constructor(t,e){return eo.new(t,e)}}var no,ro,io,oo,so,ao,uo,co,lo,fo,ho,po,yo,vo,bo,mo,go,wo,_o,xo;class So{static isNull(t){return(null==t?void 0:t.typeId)===ei.Null}static isInt(t){return(null==t?void 0:t.typeId)===ei.Int}static isFloat(t){return(null==t?void 0:t.typeId)===ei.Float}static isBinary(t){return(null==t?void 0:t.typeId)===ei.Binary}static isUtf8(t){return(null==t?void 0:t.typeId)===ei.Utf8}static isBool(t){return(null==t?void 0:t.typeId)===ei.Bool}static isDecimal(t){return(null==t?void 0:t.typeId)===ei.Decimal}static isDate(t){return(null==t?void 0:t.typeId)===ei.Date}static isTime(t){return(null==t?void 0:t.typeId)===ei.Time}static isTimestamp(t){return(null==t?void 0:t.typeId)===ei.Timestamp}static isInterval(t){return(null==t?void 0:t.typeId)===ei.Interval}static isList(t){return(null==t?void 0:t.typeId)===ei.List}static isStruct(t){return(null==t?void 0:t.typeId)===ei.Struct}static isUnion(t){return(null==t?void 0:t.typeId)===ei.Union}static isFixedSizeBinary(t){return(null==t?void 0:t.typeId)===ei.FixedSizeBinary}static isFixedSizeList(t){return(null==t?void 0:t.typeId)===ei.FixedSizeList}static isMap(t){return(null==t?void 0:t.typeId)===ei.Map}static isDictionary(t){return(null==t?void 0:t.typeId)===ei.Dictionary}static isDenseUnion(t){return So.isUnion(t)&&t.mode===qr.Dense}static isSparseUnion(t){return So.isUnion(t)&&t.mode===qr.Sparse}get typeId(){return ei.NONE}}no=Symbol.toStringTag,So[no]=((xo=So.prototype).children=null,xo.ArrayType=Array,xo[Symbol.toStringTag]="DataType");class Oo extends So{toString(){return"Null"}get typeId(){return ei.Null}}ro=Symbol.toStringTag,Oo[ro]=(t=>t[Symbol.toStringTag]="Null")(Oo.prototype);class Io extends So{constructor(t,e){super(),this.isSigned=t,this.bitWidth=e}get typeId(){return ei.Int}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?BigInt64Array:BigUint64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}io=Symbol.toStringTag,Io[io]=(t=>(t.isSigned=null,t.bitWidth=null,t[Symbol.toStringTag]="Int"))(Io.prototype);class To extends Io{constructor(){super(!0,32)}get ArrayType(){return Int32Array}}Object.defineProperty(class extends Io{constructor(){super(!0,8)}get ArrayType(){return Int8Array}}.prototype,"ArrayType",{value:Int8Array}),Object.defineProperty(class extends Io{constructor(){super(!0,16)}get ArrayType(){return Int16Array}}.prototype,"ArrayType",{value:Int16Array}),Object.defineProperty(To.prototype,"ArrayType",{value:Int32Array}),Object.defineProperty(class extends Io{constructor(){super(!0,64)}get ArrayType(){return BigInt64Array}}.prototype,"ArrayType",{value:BigInt64Array}),Object.defineProperty(class extends Io{constructor(){super(!1,8)}get ArrayType(){return Uint8Array}}.prototype,"ArrayType",{value:Uint8Array}),Object.defineProperty(class extends Io{constructor(){super(!1,16)}get ArrayType(){return Uint16Array}}.prototype,"ArrayType",{value:Uint16Array}),Object.defineProperty(class extends Io{constructor(){super(!1,32)}get ArrayType(){return Uint32Array}}.prototype,"ArrayType",{value:Uint32Array}),Object.defineProperty(class extends Io{constructor(){super(!1,64)}get ArrayType(){return BigUint64Array}}.prototype,"ArrayType",{value:BigUint64Array});class Ao extends So{constructor(t){super(),this.precision=t}get typeId(){return ei.Float}get ArrayType(){switch(this.precision){case Xr.HALF:return Uint16Array;case Xr.SINGLE:return Float32Array;case Xr.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}}oo=Symbol.toStringTag,Ao[oo]=(t=>(t.precision=null,t[Symbol.toStringTag]="Float"))(Ao.prototype),Object.defineProperty(class extends Ao{constructor(){super(Xr.HALF)}}.prototype,"ArrayType",{value:Uint16Array}),Object.defineProperty(class extends Ao{constructor(){super(Xr.SINGLE)}}.prototype,"ArrayType",{value:Float32Array}),Object.defineProperty(class extends Ao{constructor(){super(Xr.DOUBLE)}}.prototype,"ArrayType",{value:Float64Array});class Mo extends So{constructor(){super()}get typeId(){return ei.Binary}toString(){return"Binary"}}so=Symbol.toStringTag,Mo[so]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Binary"))(Mo.prototype);class Po extends So{constructor(){super()}get typeId(){return ei.Utf8}toString(){return"Utf8"}}ao=Symbol.toStringTag,Po[ao]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Utf8"))(Po.prototype);class Eo extends So{constructor(){super()}get typeId(){return ei.Bool}toString(){return"Bool"}}uo=Symbol.toStringTag,Eo[uo]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Bool"))(Eo.prototype);class Co extends So{constructor(t,e,n=128){super(),this.scale=t,this.precision=e,this.bitWidth=n}get typeId(){return ei.Decimal}toString(){return`Decimal[${this.precision}e${this.scale>0?"+":""}${this.scale}]`}}co=Symbol.toStringTag,Co[co]=(t=>(t.scale=null,t.precision=null,t.ArrayType=Uint32Array,t[Symbol.toStringTag]="Decimal"))(Co.prototype);class jo extends So{constructor(t){super(),this.unit=t}get typeId(){return ei.Date}toString(){return`Date${32*(this.unit+1)}<${Kr[this.unit]}>`}}lo=Symbol.toStringTag,jo[lo]=(t=>(t.unit=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Date"))(jo.prototype);class ko extends So{constructor(t,e){super(),this.unit=t,this.bitWidth=e}get typeId(){return ei.Time}toString(){return`Time${this.bitWidth}<${Jr[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return BigInt64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}}fo=Symbol.toStringTag,ko[fo]=(t=>(t.unit=null,t.bitWidth=null,t[Symbol.toStringTag]="Time"))(ko.prototype);class Bo extends So{constructor(t,e){super(),this.unit=t,this.timezone=e}get typeId(){return ei.Timestamp}toString(){return`Timestamp<${Jr[this.unit]}${this.timezone?`, ${this.timezone}`:""}>`}}ho=Symbol.toStringTag,Bo[ho]=(t=>(t.unit=null,t.timezone=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Timestamp"))(Bo.prototype);class Fo extends So{constructor(t){super(),this.unit=t}get typeId(){return ei.Interval}toString(){return`Interval<${Qr[this.unit]}>`}}po=Symbol.toStringTag,Fo[po]=(t=>(t.unit=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Interval"))(Fo.prototype);class Lo extends So{constructor(t){super(),this.children=[t]}get typeId(){return ei.List}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}}yo=Symbol.toStringTag,Lo[yo]=(t=>(t.children=null,t[Symbol.toStringTag]="List"))(Lo.prototype);class Do extends So{constructor(t){super(),this.children=t}get typeId(){return ei.Struct}toString(){return`Struct<{${this.children.map((t=>`${t.name}:${t.type}`)).join(", ")}}>`}}vo=Symbol.toStringTag,Do[vo]=(t=>(t.children=null,t[Symbol.toStringTag]="Struct"))(Do.prototype);class No extends So{constructor(t,e,n){super(),this.mode=t,this.children=n,this.typeIds=e=Int32Array.from(e),this.typeIdToChildIndex=e.reduce(((t,e,n)=>(t[e]=n)&&t||t),Object.create(null))}get typeId(){return ei.Union}toString(){return`${this[Symbol.toStringTag]}<${this.children.map((t=>`${t.type}`)).join(" | ")}>`}}bo=Symbol.toStringTag,No[bo]=(t=>(t.mode=null,t.typeIds=null,t.children=null,t.typeIdToChildIndex=null,t.ArrayType=Int8Array,t[Symbol.toStringTag]="Union"))(No.prototype);class Ro extends So{constructor(t){super(),this.byteWidth=t}get typeId(){return ei.FixedSizeBinary}toString(){return`FixedSizeBinary[${this.byteWidth}]`}}mo=Symbol.toStringTag,Ro[mo]=(t=>(t.byteWidth=null,t.ArrayType=Uint8Array,t[Symbol.toStringTag]="FixedSizeBinary"))(Ro.prototype);class Uo extends So{constructor(t,e){super(),this.listSize=t,this.children=[e]}get typeId(){return ei.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}go=Symbol.toStringTag,Uo[go]=(t=>(t.children=null,t.listSize=null,t[Symbol.toStringTag]="FixedSizeList"))(Uo.prototype);class zo extends So{constructor(t,e=!1){super(),this.children=[t],this.keysSorted=e}get typeId(){return ei.Map}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map((t=>`${t.name}:${t.type}`)).join(", ")}}>`}}wo=Symbol.toStringTag,zo[wo]=(t=>(t.children=null,t.keysSorted=null,t[Symbol.toStringTag]="Map_"))(zo.prototype);const Vo=(Wo=-1,()=>++Wo);var Wo;class $o extends So{constructor(t,e,n,r){super(),this.indices=e,this.dictionary=t,this.isOrdered=r||!1,this.id=null==n?Vo():"number"==typeof n?n:n.low}get typeId(){return ei.Dictionary}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}}function Yo(t){const e=t;switch(t.typeId){case ei.Decimal:return t.bitWidth/32;case ei.Timestamp:return 2;case ei.Date:case ei.Interval:return 1+e.unit;case ei.FixedSizeList:return e.listSize;case ei.FixedSizeBinary:return e.byteWidth;default:return 1}}_o=Symbol.toStringTag,$o[_o]=(t=>(t.id=null,t.indices=null,t.isOrdered=null,t.dictionary=null,t[Symbol.toStringTag]="Dictionary"))($o.prototype);class Go{visitMany(t,...e){return t.map(((t,n)=>this.visit(t,...e.map((t=>t[n])))))}visit(...t){return this.getVisitFn(t[0],!1).apply(this,t)}getVisitFn(t,e=!0){return function(t,e,n=!0){return"number"==typeof e?Zo(t,e,n):"string"==typeof e&&e in ei?Zo(t,ei[e],n):e&&e instanceof So?Zo(t,Ho(e),n):(null==e?void 0:e.type)&&e.type instanceof So?Zo(t,Ho(e.type),n):Zo(t,ei.NONE,n)}(this,t,e)}getVisitFnByTypeId(t,e=!0){return Zo(this,t,e)}visitNull(t,...e){return null}visitBool(t,...e){return null}visitInt(t,...e){return null}visitFloat(t,...e){return null}visitUtf8(t,...e){return null}visitBinary(t,...e){return null}visitFixedSizeBinary(t,...e){return null}visitDate(t,...e){return null}visitTimestamp(t,...e){return null}visitTime(t,...e){return null}visitDecimal(t,...e){return null}visitList(t,...e){return null}visitStruct(t,...e){return null}visitUnion(t,...e){return null}visitDictionary(t,...e){return null}visitInterval(t,...e){return null}visitFixedSizeList(t,...e){return null}visitMap(t,...e){return null}}function Zo(t,e,n=!0){let r=null;switch(e){case ei.Null:r=t.visitNull;break;case ei.Bool:r=t.visitBool;break;case ei.Int:r=t.visitInt;break;case ei.Int8:r=t.visitInt8||t.visitInt;break;case ei.Int16:r=t.visitInt16||t.visitInt;break;case ei.Int32:r=t.visitInt32||t.visitInt;break;case ei.Int64:r=t.visitInt64||t.visitInt;break;case ei.Uint8:r=t.visitUint8||t.visitInt;break;case ei.Uint16:r=t.visitUint16||t.visitInt;break;case ei.Uint32:r=t.visitUint32||t.visitInt;break;case ei.Uint64:r=t.visitUint64||t.visitInt;break;case ei.Float:r=t.visitFloat;break;case ei.Float16:r=t.visitFloat16||t.visitFloat;break;case ei.Float32:r=t.visitFloat32||t.visitFloat;break;case ei.Float64:r=t.visitFloat64||t.visitFloat;break;case ei.Utf8:r=t.visitUtf8;break;case ei.Binary:r=t.visitBinary;break;case ei.FixedSizeBinary:r=t.visitFixedSizeBinary;break;case ei.Date:r=t.visitDate;break;case ei.DateDay:r=t.visitDateDay||t.visitDate;break;case ei.DateMillisecond:r=t.visitDateMillisecond||t.visitDate;break;case ei.Timestamp:r=t.visitTimestamp;break;case ei.TimestampSecond:r=t.visitTimestampSecond||t.visitTimestamp;break;case ei.TimestampMillisecond:r=t.visitTimestampMillisecond||t.visitTimestamp;break;case ei.TimestampMicrosecond:r=t.visitTimestampMicrosecond||t.visitTimestamp;break;case ei.TimestampNanosecond:r=t.visitTimestampNanosecond||t.visitTimestamp;break;case ei.Time:r=t.visitTime;break;case ei.TimeSecond:r=t.visitTimeSecond||t.visitTime;break;case ei.TimeMillisecond:r=t.visitTimeMillisecond||t.visitTime;break;case ei.TimeMicrosecond:r=t.visitTimeMicrosecond||t.visitTime;break;case ei.TimeNanosecond:r=t.visitTimeNanosecond||t.visitTime;break;case ei.Decimal:r=t.visitDecimal;break;case ei.List:r=t.visitList;break;case ei.Struct:r=t.visitStruct;break;case ei.Union:r=t.visitUnion;break;case ei.DenseUnion:r=t.visitDenseUnion||t.visitUnion;break;case ei.SparseUnion:r=t.visitSparseUnion||t.visitUnion;break;case ei.Dictionary:r=t.visitDictionary;break;case ei.Interval:r=t.visitInterval;break;case ei.IntervalDayTime:r=t.visitIntervalDayTime||t.visitInterval;break;case ei.IntervalYearMonth:r=t.visitIntervalYearMonth||t.visitInterval;break;case ei.FixedSizeList:r=t.visitFixedSizeList;break;case ei.Map:r=t.visitMap}if("function"==typeof r)return r;if(!n)return()=>null;throw new Error(`Unrecognized type '${ei[e]}'`)}function Ho(t){switch(t.typeId){case ei.Null:return ei.Null;case ei.Int:{const{bitWidth:e,isSigned:n}=t;switch(e){case 8:return n?ei.Int8:ei.Uint8;case 16:return n?ei.Int16:ei.Uint16;case 32:return n?ei.Int32:ei.Uint32;case 64:return n?ei.Int64:ei.Uint64}return ei.Int}case ei.Float:switch(t.precision){case Xr.HALF:return ei.Float16;case Xr.SINGLE:return ei.Float32;case Xr.DOUBLE:return ei.Float64}return ei.Float;case ei.Binary:return ei.Binary;case ei.Utf8:return ei.Utf8;case ei.Bool:return ei.Bool;case ei.Decimal:return ei.Decimal;case ei.Time:switch(t.unit){case Jr.SECOND:return ei.TimeSecond;case Jr.MILLISECOND:return ei.TimeMillisecond;case Jr.MICROSECOND:return ei.TimeMicrosecond;case Jr.NANOSECOND:return ei.TimeNanosecond}return ei.Time;case ei.Timestamp:switch(t.unit){case Jr.SECOND:return ei.TimestampSecond;case Jr.MILLISECOND:return ei.TimestampMillisecond;case Jr.MICROSECOND:return ei.TimestampMicrosecond;case Jr.NANOSECOND:return ei.TimestampNanosecond}return ei.Timestamp;case ei.Date:switch(t.unit){case Kr.DAY:return ei.DateDay;case Kr.MILLISECOND:return ei.DateMillisecond}return ei.Date;case ei.Interval:switch(t.unit){case Qr.DAY_TIME:return ei.IntervalDayTime;case Qr.YEAR_MONTH:return ei.IntervalYearMonth}return ei.Interval;case ei.Map:return ei.Map;case ei.List:return ei.List;case ei.Struct:return ei.Struct;case ei.Union:switch(t.mode){case qr.Dense:return ei.DenseUnion;case qr.Sparse:return ei.SparseUnion}return ei.Union;case ei.FixedSizeBinary:return ei.FixedSizeBinary;case ei.FixedSizeList:return ei.FixedSizeList;case ei.Dictionary:return ei.Dictionary}throw new Error(`Unrecognized type '${ei[t.typeId]}'`)}Go.prototype.visitInt8=null,Go.prototype.visitInt16=null,Go.prototype.visitInt32=null,Go.prototype.visitInt64=null,Go.prototype.visitUint8=null,Go.prototype.visitUint16=null,Go.prototype.visitUint32=null,Go.prototype.visitUint64=null,Go.prototype.visitFloat16=null,Go.prototype.visitFloat32=null,Go.prototype.visitFloat64=null,Go.prototype.visitDateDay=null,Go.prototype.visitDateMillisecond=null,Go.prototype.visitTimestampSecond=null,Go.prototype.visitTimestampMillisecond=null,Go.prototype.visitTimestampMicrosecond=null,Go.prototype.visitTimestampNanosecond=null,Go.prototype.visitTimeSecond=null,Go.prototype.visitTimeMillisecond=null,Go.prototype.visitTimeMicrosecond=null,Go.prototype.visitTimeNanosecond=null,Go.prototype.visitDenseUnion=null,Go.prototype.visitSparseUnion=null,Go.prototype.visitIntervalDayTime=null,Go.prototype.visitIntervalYearMonth=null;const qo=new Float64Array(1),Xo=new Uint32Array(qo.buffer);function Ko(t){const e=(31744&t)>>10,n=(1023&t)/1024,r=Math.pow(-1,(32768&t)>>15);switch(e){case 31:return r*(n?Number.NaN:1/0);case 0:return r*(n?6103515625e-14*n:0)}return r*Math.pow(2,e-15)*(1+n)}class Jo extends Go{}function Qo(t){return(e,n,r)=>{if(e.setValid(n,null!=r))return t(e,n,r)}}const ts=(t,e,n)=>{t[e]=Math.trunc(n%4294967296),t[e+1]=Math.trunc(n/4294967296)},es=(t,e,n,r)=>{if(n+1<e.length){const{[n]:i,[n+1]:o}=e;t.set(r.subarray(0,o-i),i)}},ns=({values:t},e,n)=>{t[e]=n},rs=({values:t},e,n)=>{t[e]=n},is=({values:t},e,n)=>{t[e]=function(t){if(t!=t)return 32256;qo[0]=t;const e=(2147483648&Xo[1])>>16&65535;let n=2146435072&Xo[1],r=0;return n>=1089470464?Xo[0]>0?n=31744:(n=(2080374784&n)>>16,r=(1048575&Xo[1])>>10):n<=1056964608?(r=1048576+(1048575&Xo[1]),r=1048576+(r<<(n>>20)-998)>>21,n=0):(n=n-1056964608>>10,r=512+(1048575&Xo[1])>>10),e|n|65535&r}(n)},os=({values:t},e,n)=>{((t,e,n)=>{t[e]=Math.trunc(n/864e5)})(t,e,n.valueOf())},ss=({values:t},e,n)=>{ts(t,2*e,n.valueOf())},as=({values:t},e,n)=>ts(t,2*e,n/1e3),us=({values:t},e,n)=>ts(t,2*e,n),cs=({values:t},e,n)=>((t,e,n)=>{t[e]=Math.trunc(1e3*n%4294967296),t[e+1]=Math.trunc(1e3*n/4294967296)})(t,2*e,n),ls=({values:t},e,n)=>((t,e,n)=>{t[e]=Math.trunc(1e6*n%4294967296),t[e+1]=Math.trunc(1e6*n/4294967296)})(t,2*e,n),fs=({values:t},e,n)=>{t[e]=n},hs=({values:t},e,n)=>{t[e]=n},ds=({values:t},e,n)=>{t[e]=n},ps=({values:t},e,n)=>{t[e]=n},ys=(t,e,n)=>{const r=t.type.typeIdToChildIndex[t.typeIds[e]],i=t.children[r];gs.visit(i,t.valueOffsets[e],n)},vs=(t,e,n)=>{const r=t.type.typeIdToChildIndex[t.typeIds[e]],i=t.children[r];gs.visit(i,e,n)},bs=({values:t},e,n)=>{t.set(n.subarray(0,2),2*e)},ms=({values:t},e,n)=>{t[e]=12*n[0]+n[1]%12};Jo.prototype.visitBool=Qo((({offset:t,values:e},n,r)=>{const i=t+n;r?e[i>>3]|=1<<i%8:e[i>>3]&=~(1<<i%8)})),Jo.prototype.visitInt=Qo(ns),Jo.prototype.visitInt8=Qo(ns),Jo.prototype.visitInt16=Qo(ns),Jo.prototype.visitInt32=Qo(ns),Jo.prototype.visitInt64=Qo(ns),Jo.prototype.visitUint8=Qo(ns),Jo.prototype.visitUint16=Qo(ns),Jo.prototype.visitUint32=Qo(ns),Jo.prototype.visitUint64=Qo(ns),Jo.prototype.visitFloat=Qo(((t,e,n)=>{switch(t.type.precision){case Xr.HALF:return is(t,e,n);case Xr.SINGLE:case Xr.DOUBLE:return rs(t,e,n)}})),Jo.prototype.visitFloat16=Qo(is),Jo.prototype.visitFloat32=Qo(rs),Jo.prototype.visitFloat64=Qo(rs),Jo.prototype.visitUtf8=Qo((({values:t,valueOffsets:e},n,r)=>{es(t,e,n,mi(r))})),Jo.prototype.visitBinary=Qo((({values:t,valueOffsets:e},n,r)=>es(t,e,n,r))),Jo.prototype.visitFixedSizeBinary=Qo((({stride:t,values:e},n,r)=>{e.set(r.subarray(0,t),t*n)})),Jo.prototype.visitDate=Qo(((t,e,n)=>{t.type.unit===Kr.DAY?os(t,e,n):ss(t,e,n)})),Jo.prototype.visitDateDay=Qo(os),Jo.prototype.visitDateMillisecond=Qo(ss),Jo.prototype.visitTimestamp=Qo(((t,e,n)=>{switch(t.type.unit){case Jr.SECOND:return as(t,e,n);case Jr.MILLISECOND:return us(t,e,n);case Jr.MICROSECOND:return cs(t,e,n);case Jr.NANOSECOND:return ls(t,e,n)}})),Jo.prototype.visitTimestampSecond=Qo(as),Jo.prototype.visitTimestampMillisecond=Qo(us),Jo.prototype.visitTimestampMicrosecond=Qo(cs),Jo.prototype.visitTimestampNanosecond=Qo(ls),Jo.prototype.visitTime=Qo(((t,e,n)=>{switch(t.type.unit){case Jr.SECOND:return fs(t,e,n);case Jr.MILLISECOND:return hs(t,e,n);case Jr.MICROSECOND:return ds(t,e,n);case Jr.NANOSECOND:return ps(t,e,n)}})),Jo.prototype.visitTimeSecond=Qo(fs),Jo.prototype.visitTimeMillisecond=Qo(hs),Jo.prototype.visitTimeMicrosecond=Qo(ds),Jo.prototype.visitTimeNanosecond=Qo(ps),Jo.prototype.visitDecimal=Qo((({values:t,stride:e},n,r)=>{t.set(r.subarray(0,e),e*n)})),Jo.prototype.visitList=Qo(((t,e,n)=>{const r=t.children[0],i=t.valueOffsets,o=gs.getVisitFn(r);if(Array.isArray(n))for(let t=-1,s=i[e],a=i[e+1];s<a;)o(r,s++,n[++t]);else for(let t=-1,s=i[e],a=i[e+1];s<a;)o(r,s++,n.get(++t))})),Jo.prototype.visitStruct=Qo(((t,e,n)=>{const r=t.type.children.map((t=>gs.getVisitFn(t.type))),i=n instanceof Map?(o=e,s=n,(t,e,n,r)=>e&&t(e,o,s.get(n.name))):n instanceof Fa?((t,e)=>(n,r,i,o)=>r&&n(r,t,e.get(o)))(e,n):Array.isArray(n)?((t,e)=>(n,r,i,o)=>r&&n(r,t,e[o]))(e,n):((t,e)=>(n,r,i,o)=>r&&n(r,t,e[i.name]))(e,n);var o,s;t.type.children.forEach(((e,n)=>i(r[n],t.children[n],e,n)))})),Jo.prototype.visitUnion=Qo(((t,e,n)=>{t.type.mode===qr.Dense?ys(t,e,n):vs(t,e,n)})),Jo.prototype.visitDenseUnion=Qo(ys),Jo.prototype.visitSparseUnion=Qo(vs),Jo.prototype.visitDictionary=Qo(((t,e,n)=>{var r;null===(r=t.dictionary)||void 0===r||r.set(t.values[e],n)})),Jo.prototype.visitInterval=Qo(((t,e,n)=>{t.type.unit===Qr.DAY_TIME?bs(t,e,n):ms(t,e,n)})),Jo.prototype.visitIntervalDayTime=Qo(bs),Jo.prototype.visitIntervalYearMonth=Qo(ms),Jo.prototype.visitFixedSizeList=Qo(((t,e,n)=>{const{stride:r}=t,i=t.children[0],o=gs.getVisitFn(i);if(Array.isArray(n))for(let t=-1,s=e*r;++t<r;)o(i,s+t,n[t]);else for(let t=-1,s=e*r;++t<r;)o(i,s+t,n.get(t))})),Jo.prototype.visitMap=Qo(((t,e,n)=>{const r=t.children[0],{valueOffsets:i}=t,o=gs.getVisitFn(r);let{[e]:s,[e+1]:a}=i;const u=n instanceof Map?n.entries():Object.entries(n);for(const t of u)if(o(r,s,t),++s>=a)break}));const gs=new Jo,ws=Symbol.for("parent"),_s=Symbol.for("rowIndex");class xs{constructor(t,e){return this[ws]=t,this[_s]=e,new Proxy(this,new Os)}toArray(){return Object.values(this.toJSON())}toJSON(){const t=this[_s],e=this[ws],n=e.type.children,r={};for(let i=-1,o=n.length;++i<o;)r[n[i].name]=Gs.visit(e.children[i],t);return r}toString(){return`{${[...this].map((([t,e])=>`${ci(t)}: ${ci(e)}`)).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}[Symbol.iterator](){return new Ss(this[ws],this[_s])}}class Ss{constructor(t,e){this.childIndex=0,this.children=t.children,this.rowIndex=e,this.childFields=t.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){const t=this.childIndex;return t<this.numChildren?(this.childIndex=t+1,{done:!1,value:[this.childFields[t].name,Gs.visit(this.children[t],this.rowIndex)]}):{done:!0,value:null}}}Object.defineProperties(xs.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[ws]:{writable:!0,enumerable:!1,configurable:!1,value:null},[_s]:{writable:!0,enumerable:!1,configurable:!1,value:-1}});class Os{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(t){return t[ws].type.children.map((t=>t.name))}has(t,e){return-1!==t[ws].type.children.findIndex((t=>t.name===e))}getOwnPropertyDescriptor(t,e){if(-1!==t[ws].type.children.findIndex((t=>t.name===e)))return{writable:!0,enumerable:!0,configurable:!0}}get(t,e){if(Reflect.has(t,e))return t[e];const n=t[ws].type.children.findIndex((t=>t.name===e));if(-1!==n){const r=Gs.visit(t[ws].children[n],t[_s]);return Reflect.set(t,e,r),r}}set(t,e,n){const r=t[ws].type.children.findIndex((t=>t.name===e));return-1!==r?(gs.visit(t[ws].children[r],t[_s],n),Reflect.set(t,e,n)):!(!Reflect.has(t,e)&&"symbol"!=typeof e)&&Reflect.set(t,e,n)}}class Is extends Go{}function Ts(t){return(e,n)=>e.getValid(n)?t(e,n):null}const As=(t,e)=>4294967296*t[e+1]+(t[e]>>>0),Ms=t=>new Date(t),Ps=(t,e,n)=>{if(n+1>=e.length)return null;const r=e[n],i=e[n+1];return t.subarray(r,i)},Es=({values:t},e)=>((t,e)=>Ms(((t,e)=>864e5*t[e])(t,e)))(t,e),Cs=({values:t},e)=>((t,e)=>Ms(As(t,e)))(t,2*e),js=({stride:t,values:e},n)=>e[t*n],ks=({values:t},e)=>t[e],Bs=({values:t},e)=>1e3*As(t,2*e),Fs=({values:t},e)=>As(t,2*e),Ls=({values:t},e)=>((t,e)=>t[e+1]/1e3*4294967296+(t[e]>>>0)/1e3)(t,2*e),Ds=({values:t},e)=>((t,e)=>t[e+1]/1e6*4294967296+(t[e]>>>0)/1e6)(t,2*e),Ns=({values:t},e)=>t[e],Rs=({values:t},e)=>t[e],Us=({values:t},e)=>t[e],zs=({values:t},e)=>t[e],Vs=(t,e)=>{const n=t.type.typeIdToChildIndex[t.typeIds[e]],r=t.children[n];return Gs.visit(r,t.valueOffsets[e])},Ws=(t,e)=>{const n=t.type.typeIdToChildIndex[t.typeIds[e]],r=t.children[n];return Gs.visit(r,e)},$s=({values:t},e)=>t.subarray(2*e,2*(e+1)),Ys=({values:t},e)=>{const n=t[e],r=new Int32Array(2);return r[0]=Math.trunc(n/12),r[1]=Math.trunc(n%12),r};Is.prototype.visitNull=Ts(((t,e)=>null)),Is.prototype.visitBool=Ts((({offset:t,values:e},n)=>{const r=t+n;return 0!=(e[r>>3]&1<<r%8)})),Is.prototype.visitInt=Ts((({values:t},e)=>t[e])),Is.prototype.visitInt8=Ts(js),Is.prototype.visitInt16=Ts(js),Is.prototype.visitInt32=Ts(js),Is.prototype.visitInt64=Ts(ks),Is.prototype.visitUint8=Ts(js),Is.prototype.visitUint16=Ts(js),Is.prototype.visitUint32=Ts(js),Is.prototype.visitUint64=Ts(ks),Is.prototype.visitFloat=Ts((({type:t,values:e},n)=>t.precision!==Xr.HALF?e[n]:Ko(e[n]))),Is.prototype.visitFloat16=Ts((({stride:t,values:e},n)=>Ko(e[t*n]))),Is.prototype.visitFloat32=Ts(js),Is.prototype.visitFloat64=Ts(js),Is.prototype.visitUtf8=Ts((({values:t,valueOffsets:e},n)=>{const r=Ps(t,e,n);return null!==r?vi(r):null})),Is.prototype.visitBinary=Ts((({values:t,valueOffsets:e},n)=>Ps(t,e,n))),Is.prototype.visitFixedSizeBinary=Ts((({stride:t,values:e},n)=>e.subarray(t*n,t*(n+1)))),Is.prototype.visitDate=Ts(((t,e)=>t.type.unit===Kr.DAY?Es(t,e):Cs(t,e))),Is.prototype.visitDateDay=Ts(Es),Is.prototype.visitDateMillisecond=Ts(Cs),Is.prototype.visitTimestamp=Ts(((t,e)=>{switch(t.type.unit){case Jr.SECOND:return Bs(t,e);case Jr.MILLISECOND:return Fs(t,e);case Jr.MICROSECOND:return Ls(t,e);case Jr.NANOSECOND:return Ds(t,e)}})),Is.prototype.visitTimestampSecond=Ts(Bs),Is.prototype.visitTimestampMillisecond=Ts(Fs),Is.prototype.visitTimestampMicrosecond=Ts(Ls),Is.prototype.visitTimestampNanosecond=Ts(Ds),Is.prototype.visitTime=Ts(((t,e)=>{switch(t.type.unit){case Jr.SECOND:return Ns(t,e);case Jr.MILLISECOND:return Rs(t,e);case Jr.MICROSECOND:return Us(t,e);case Jr.NANOSECOND:return zs(t,e)}})),Is.prototype.visitTimeSecond=Ts(Ns),Is.prototype.visitTimeMillisecond=Ts(Rs),Is.prototype.visitTimeMicrosecond=Ts(Us),Is.prototype.visitTimeNanosecond=Ts(zs),Is.prototype.visitDecimal=Ts((({values:t,stride:e},n)=>eo.decimal(t.subarray(e*n,e*(n+1))))),Is.prototype.visitList=Ts(((t,e)=>{const{valueOffsets:n,stride:r,children:i}=t,{[e*r]:o,[e*r+1]:s}=n,a=i[0].slice(o,s-o);return new Fa([a])})),Is.prototype.visitStruct=Ts(((t,e)=>new xs(t,e))),Is.prototype.visitUnion=Ts(((t,e)=>t.type.mode===qr.Dense?Vs(t,e):Ws(t,e))),Is.prototype.visitDenseUnion=Ts(Vs),Is.prototype.visitSparseUnion=Ts(Ws),Is.prototype.visitDictionary=Ts(((t,e)=>{var n;return null===(n=t.dictionary)||void 0===n?void 0:n.get(t.values[e])})),Is.prototype.visitInterval=Ts(((t,e)=>t.type.unit===Qr.DAY_TIME?$s(t,e):Ys(t,e))),Is.prototype.visitIntervalDayTime=Ts($s),Is.prototype.visitIntervalYearMonth=Ts(Ys),Is.prototype.visitFixedSizeList=Ts(((t,e)=>{const{stride:n,children:r}=t,i=r[0].slice(e*n,n);return new Fa([i])})),Is.prototype.visitMap=Ts(((t,e)=>{const{valueOffsets:n,children:r}=t,{[e]:i,[e+1]:o}=n,s=r[0];return new qs(s.slice(i,o-i))}));const Gs=new Is,Zs=Symbol.for("keys"),Hs=Symbol.for("vals");class qs{constructor(t){return this[Zs]=new Fa([t.children[0]]).memoize(),this[Hs]=t.children[1],new Proxy(this,new Ks)}[Symbol.iterator](){return new Xs(this[Zs],this[Hs])}get size(){return this[Zs].length}toArray(){return Object.values(this.toJSON())}toJSON(){const t=this[Zs],e=this[Hs],n={};for(let r=-1,i=t.length;++r<i;)n[t.get(r)]=Gs.visit(e,r);return n}toString(){return`{${[...this].map((([t,e])=>`${ci(t)}: ${ci(e)}`)).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}}class Xs{constructor(t,e){this.keys=t,this.vals=e,this.keyIndex=0,this.numKeys=t.length}[Symbol.iterator](){return this}next(){const t=this.keyIndex;return t===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(t),Gs.visit(this.vals,t)]})}}class Ks{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(t){return t[Zs].toArray().map(String)}has(t,e){return t[Zs].includes(e)}getOwnPropertyDescriptor(t,e){if(-1!==t[Zs].indexOf(e))return{writable:!0,enumerable:!0,configurable:!0}}get(t,e){if(Reflect.has(t,e))return t[e];const n=t[Zs].indexOf(e);if(-1!==n){const r=Gs.visit(Reflect.get(t,Hs),n);return Reflect.set(t,e,r),r}}set(t,e,n){const r=t[Zs].indexOf(e);return-1!==r?(gs.visit(Reflect.get(t,Hs),r,n),Reflect.set(t,e,n)):!!Reflect.has(t,e)&&Reflect.set(t,e,n)}}let Js;function Qs(t,e,n,r){const{length:i=0}=t;let o="number"!=typeof e?0:e,s="number"!=typeof n?i:n;return o<0&&(o=(o%i+i)%i),s<0&&(s=(s%i+i)%i),s<o&&(Js=o,o=s,s=Js),s>i&&(s=i),r?r(t,o,s):[o,s]}Object.defineProperties(qs.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[Zs]:{writable:!0,enumerable:!1,configurable:!1,value:null},[Hs]:{writable:!0,enumerable:!1,configurable:!1,value:null}});const ta=t=>t!=t;function ea(t){if("object"!=typeof t||null===t)return ta(t)?ta:e=>e===t;if(t instanceof Date){const e=t.valueOf();return t=>t instanceof Date&&t.valueOf()===e}return ArrayBuffer.isView(t)?e=>!!e&&function(t,e){let n=0;const r=t.length;if(r!==e.length)return!1;if(r>0)do{if(t[n]!==e[n])return!1}while(++n<r);return!0}(t,e):t instanceof Map?function(t){let e=-1;const n=[];for(const r of t.values())n[++e]=ea(r);return na(n)}(t):Array.isArray(t)?function(t){const e=[];for(let n=-1,r=t.length;++n<r;)e[n]=ea(t[n]);return na(e)}(t):t instanceof Fa?function(t){const e=[];for(let n=-1,r=t.length;++n<r;)e[n]=ea(t.get(n));return na(e)}(t):function(t,e=!1){const n=Object.keys(t);if(!e&&0===n.length)return()=>!1;const r=[];for(let e=-1,i=n.length;++e<i;)r[e]=ea(t[n[e]]);return na(r,n)}(t,!0)}function na(t,e){return n=>{if(!n||"object"!=typeof n)return!1;switch(n.constructor){case Array:return function(t,e){const n=t.length;if(e.length!==n)return!1;for(let r=-1;++r<n;)if(!t[r](e[r]))return!1;return!0}(t,n);case Map:return ra(t,n,n.keys());case qs:case xs:case Object:case void 0:return ra(t,n,e||Object.keys(n))}return n instanceof Fa&&function(t,e){const n=t.length;if(e.length!==n)return!1;for(let r=-1;++r<n;)if(!t[r](e.get(r)))return!1;return!0}(t,n)}}function ra(t,e,n){const r=n[Symbol.iterator](),i=e instanceof Map?e.keys():Object.keys(e)[Symbol.iterator](),o=e instanceof Map?e.values():Object.values(e)[Symbol.iterator]();let s=0;const a=t.length;let u=o.next(),c=r.next(),l=i.next();for(;s<a&&!c.done&&!l.done&&!u.done&&c.value===l.value&&t[s](u.value);++s,c=r.next(),l=i.next(),u=o.next());return!!(s===a&&c.done&&l.done&&u.done)||(r.return&&r.return(),i.return&&i.return(),o.return&&o.return(),!1)}class ia{constructor(t=0,e){this.numChunks=t,this.getChunkIterator=e,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndex<this.numChunks;){const t=this.chunkIterator.next();if(!t.done)return t;++this.chunkIndex<this.numChunks&&(this.chunkIterator=this.getChunkIterator(this.chunkIndex))}return{done:!0,value:null}}[Symbol.iterator](){return this}}function oa(t){return t.reduce(((t,e)=>t+e.nullCount),0)}function sa(t){return t.reduce(((t,e,n)=>(t[n+1]=t[n]+e.length,t)),new Uint32Array(t.length+1))}function aa(t,e,n,r){const i=[];for(let o=-1,s=t.length;++o<s;){const s=t[o],a=e[o],{length:u}=s;if(a>=r)break;if(n>=a+u)continue;if(a>=n&&a+u<=r){i.push(s);continue}const c=Math.max(0,n-a),l=Math.min(r-a,u);i.push(s.slice(c,l-c))}return 0===i.length&&i.push(t[0].slice(0,0)),i}function ua(t,e,n,r){let i=0,o=0,s=e.length-1;do{if(i>=s-1)return n<e[s]?r(t,i,n-e[i]):null;o=i+Math.trunc(.5*(s-i)),n<e[o]?s=o:i=o}while(i<s)}function ca(t,e){return t.getValid(e)}function la(t){function e(e,n,r){return t(e[n],r)}return function(t){return ua(this.data,this._offsets,t,e)}}function fa(t){let e;function n(n,r,i){return t(n[r],i,e)}return function(t,r){const i=this.data;e=r;const o=ua(i,this._offsets,t,n);return e=void 0,o}}function ha(t){let e;function n(n,r,i){let o=i,s=0,a=0;for(let i=r-1,u=n.length;++i<u;){const r=n[i];if(~(s=t(r,e,o)))return a+s;o=0,a+=r.length}return-1}return function(t,r){e=t;const i=this.data,o="number"!=typeof r?n(i,0,0):ua(i,this._offsets,r,n);return e=void 0,o}}function da(t,e,n,r){return 0!=(n&1<<r)}function pa(t,e,n,r){return(n&1<<r)>>r}function ya(t){const e=[];let n=0,r=0,i=0;for(const o of t)o&&(i|=1<<r),8==++r&&(e[n++]=i,i=r=0);(0===n||r>0)&&(e[n++]=i);const o=new Uint8Array(e.length+7&-8);return o.set(e),o}class va{constructor(t,e,n,r,i){this.bytes=t,this.length=n,this.context=r,this.get=i,this.bit=e%8,this.byteIndex=e>>3,this.byte=t[this.byteIndex++],this.index=0}next(){return this.index<this.length?(8===this.bit&&(this.bit=0,this.byte=this.bytes[this.byteIndex++]),{value:this.get(this.context,this.index++,this.byte,this.bit++)}):{done:!0,value:null}}[Symbol.iterator](){return this}}function ba(t,e,n){if(n-e<=0)return 0;if(n-e<8){let r=0;for(const i of new va(t,e,n-e,t,pa))r+=i;return r}const r=n>>3<<3,i=e+(e%8==0?0:8-e%8);return ba(t,e,i)+ba(t,r,n)+function(t,e,n){let r=0,i=Math.trunc(e);const o=new DataView(t.buffer,t.byteOffset,t.byteLength),s=void 0===n?t.byteLength:i+n;for(;s-i>=4;)r+=ma(o.getUint32(i)),i+=4;for(;s-i>=2;)r+=ma(o.getUint16(i)),i+=2;for(;s-i>=1;)r+=ma(o.getUint8(i)),i+=1;return r}(t,i>>3,r-i>>3)}function ma(t){let e=Math.trunc(t);return e-=e>>>1&1431655765,e=(858993459&e)+(e>>>2&858993459),16843009*(e+(e>>>4)&252645135)>>>24}class ga extends Go{}function wa(t,e,n){if(void 0===e)return-1;if(null===e)return function(t,e){const{nullBitmap:n}=t;if(!n||t.nullCount<=0)return-1;let r=0;for(const i of new va(n,t.offset+(e||0),t.length,n,da)){if(!i)return r;++r}return-1}(t,n);const r=Gs.getVisitFn(t),i=ea(e);for(let e=(n||0)-1,o=t.length;++e<o;)if(i(r(t,e)))return e;return-1}function _a(t,e,n){const r=Gs.getVisitFn(t),i=ea(e);for(let e=(n||0)-1,o=t.length;++e<o;)if(i(r(t,e)))return e;return-1}ga.prototype.visitNull=function(t,e){return null===e&&t.length>0?0:-1},ga.prototype.visitBool=wa,ga.prototype.visitInt=wa,ga.prototype.visitInt8=wa,ga.prototype.visitInt16=wa,ga.prototype.visitInt32=wa,ga.prototype.visitInt64=wa,ga.prototype.visitUint8=wa,ga.prototype.visitUint16=wa,ga.prototype.visitUint32=wa,ga.prototype.visitUint64=wa,ga.prototype.visitFloat=wa,ga.prototype.visitFloat16=wa,ga.prototype.visitFloat32=wa,ga.prototype.visitFloat64=wa,ga.prototype.visitUtf8=wa,ga.prototype.visitBinary=wa,ga.prototype.visitFixedSizeBinary=wa,ga.prototype.visitDate=wa,ga.prototype.visitDateDay=wa,ga.prototype.visitDateMillisecond=wa,ga.prototype.visitTimestamp=wa,ga.prototype.visitTimestampSecond=wa,ga.prototype.visitTimestampMillisecond=wa,ga.prototype.visitTimestampMicrosecond=wa,ga.prototype.visitTimestampNanosecond=wa,ga.prototype.visitTime=wa,ga.prototype.visitTimeSecond=wa,ga.prototype.visitTimeMillisecond=wa,ga.prototype.visitTimeMicrosecond=wa,ga.prototype.visitTimeNanosecond=wa,ga.prototype.visitDecimal=wa,ga.prototype.visitList=wa,ga.prototype.visitStruct=wa,ga.prototype.visitUnion=wa,ga.prototype.visitDenseUnion=_a,ga.prototype.visitSparseUnion=_a,ga.prototype.visitDictionary=wa,ga.prototype.visitInterval=wa,ga.prototype.visitIntervalDayTime=wa,ga.prototype.visitIntervalYearMonth=wa,ga.prototype.visitFixedSizeList=wa,ga.prototype.visitMap=wa;const xa=new ga;class Sa extends Go{}function Oa(t){const{type:e}=t;if(0===t.nullCount&&1===t.stride&&(e.typeId===ei.Timestamp||e instanceof Io&&64!==e.bitWidth||e instanceof ko&&64!==e.bitWidth||e instanceof Ao&&e.precision!==Xr.HALF))return new ia(t.data.length,(e=>{const n=t.data[e];return n.values.subarray(0,n.length)[Symbol.iterator]()}));let n=0;return new ia(t.data.length,(e=>{const r=t.data[e].length,i=t.slice(n,n+r);return n+=r,new Ia(i)}))}class Ia{constructor(t){this.vector=t,this.index=0}next(){return this.index<this.vector.length?{value:this.vector.get(this.index++)}:{done:!0,value:null}}[Symbol.iterator](){return this}}Sa.prototype.visitNull=Oa,Sa.prototype.visitBool=Oa,Sa.prototype.visitInt=Oa,Sa.prototype.visitInt8=Oa,Sa.prototype.visitInt16=Oa,Sa.prototype.visitInt32=Oa,Sa.prototype.visitInt64=Oa,Sa.prototype.visitUint8=Oa,Sa.prototype.visitUint16=Oa,Sa.prototype.visitUint32=Oa,Sa.prototype.visitUint64=Oa,Sa.prototype.visitFloat=Oa,Sa.prototype.visitFloat16=Oa,Sa.prototype.visitFloat32=Oa,Sa.prototype.visitFloat64=Oa,Sa.prototype.visitUtf8=Oa,Sa.prototype.visitBinary=Oa,Sa.prototype.visitFixedSizeBinary=Oa,Sa.prototype.visitDate=Oa,Sa.prototype.visitDateDay=Oa,Sa.prototype.visitDateMillisecond=Oa,Sa.prototype.visitTimestamp=Oa,Sa.prototype.visitTimestampSecond=Oa,Sa.prototype.visitTimestampMillisecond=Oa,Sa.prototype.visitTimestampMicrosecond=Oa,Sa.prototype.visitTimestampNanosecond=Oa,Sa.prototype.visitTime=Oa,Sa.prototype.visitTimeSecond=Oa,Sa.prototype.visitTimeMillisecond=Oa,Sa.prototype.visitTimeMicrosecond=Oa,Sa.prototype.visitTimeNanosecond=Oa,Sa.prototype.visitDecimal=Oa,Sa.prototype.visitList=Oa,Sa.prototype.visitStruct=Oa,Sa.prototype.visitUnion=Oa,Sa.prototype.visitDenseUnion=Oa,Sa.prototype.visitSparseUnion=Oa,Sa.prototype.visitDictionary=Oa,Sa.prototype.visitInterval=Oa,Sa.prototype.visitIntervalDayTime=Oa,Sa.prototype.visitIntervalYearMonth=Oa,Sa.prototype.visitFixedSizeList=Oa,Sa.prototype.visitMap=Oa;const Ta=new Sa,Aa=(t,e)=>t+e;class Ma extends Go{visitNull(t,e){return 0}visitInt(t,e){return t.type.bitWidth/8}visitFloat(t,e){return t.type.ArrayType.BYTES_PER_ELEMENT}visitBool(t,e){return 1/8}visitDecimal(t,e){return t.type.bitWidth/8}visitDate(t,e){return 4*(t.type.unit+1)}visitTime(t,e){return t.type.bitWidth/8}visitTimestamp(t,e){return t.type.unit===Jr.SECOND?4:8}visitInterval(t,e){return 4*(t.type.unit+1)}visitStruct(t,e){return t.children.reduce(((t,n)=>t+Ca.visit(n,e)),0)}visitFixedSizeBinary(t,e){return t.type.byteWidth}visitMap(t,e){return 8+t.children.reduce(((t,n)=>t+Ca.visit(n,e)),0)}visitDictionary(t,e){var n;return t.type.indices.bitWidth/8+((null===(n=t.dictionary)||void 0===n?void 0:n.getByteLength(t.values[e]))||0)}}const Pa=({type:t,children:e,typeIds:n,valueOffsets:r},i)=>{const o=t.typeIdToChildIndex[n[i]];return 8+Ca.visit(e[o],r[i])},Ea=({children:t},e)=>4+Ca.visitMany(t,t.map((()=>e))).reduce(Aa,0);Ma.prototype.visitUtf8=({valueOffsets:t},e)=>t[e+1]-t[e]+8,Ma.prototype.visitBinary=({valueOffsets:t},e)=>t[e+1]-t[e]+8,Ma.prototype.visitList=({valueOffsets:t,stride:e,children:n},r)=>{const i=n[0],{[r*e]:o}=t,{[r*e+1]:s}=t,a=Ca.getVisitFn(i.type),u=i.slice(o,s-o);let c=8;for(let t=-1,e=s-o;++t<e;)c+=a(u,t);return c},Ma.prototype.visitFixedSizeList=({stride:t,children:e},n)=>{const r=e[0],i=r.slice(n*t,t),o=Ca.getVisitFn(r.type);let s=0;for(let t=-1,e=i.length;++t<e;)s+=o(i,t);return s},Ma.prototype.visitUnion=(t,e)=>t.type.mode===qr.Dense?Pa(t,e):Ea(t,e),Ma.prototype.visitDenseUnion=Pa,Ma.prototype.visitSparseUnion=Ea;const Ca=new Ma;var ja;const ka={},Ba={};class Fa{constructor(t){var e,n,r;const i=t[0]instanceof Fa?t.flatMap((t=>t.data)):t;if(0===i.length||i.some((t=>!(t instanceof Da))))throw new TypeError("Vector constructor expects an Array of Data instances.");const o=null===(e=i[0])||void 0===e?void 0:e.type;switch(i.length){case 0:this._offsets=[0];break;case 1:{const{get:t,set:e,indexOf:n,byteLength:r}=ka[o.typeId],s=i[0];this.isValid=t=>ca(s,t),this.get=e=>t(s,e),this.set=(t,n)=>e(s,t,n),this.indexOf=t=>n(s,t),this.getByteLength=t=>r(s,t),this._offsets=[0,s.length];break}default:Object.setPrototypeOf(this,Ba[o.typeId]),this._offsets=sa(i)}this.data=i,this.type=o,this.stride=Yo(o),this.numChildren=null!==(r=null===(n=o.children)||void 0===n?void 0:n.length)&&void 0!==r?r:0,this.length=this._offsets[this._offsets.length-1]}get byteLength(){return-1===this._byteLength&&(this._byteLength=this.data.reduce(((t,e)=>t+e.byteLength),0)),this._byteLength}get nullCount(){return-1===this._nullCount&&(this._nullCount=oa(this.data)),this._nullCount}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${ei[this.type.typeId]}Vector`}isValid(t){return!1}get(t){return null}set(t,e){}indexOf(t,e){return-1}includes(t,e){return this.indexOf(t,e)>0}getByteLength(t){return 0}[Symbol.iterator](){return Ta.visit(this)}concat(...t){return new Fa(this.data.concat(t.flatMap((t=>t.data)).flat(Number.POSITIVE_INFINITY)))}slice(t,e){return new Fa(Qs(this,t,e,(({data:t,_offsets:e},n,r)=>aa(t,e,n,r))))}toJSON(){return[...this]}toArray(){const{type:t,data:e,length:n,stride:r,ArrayType:i}=this;switch(t.typeId){case ei.Int:case ei.Float:case ei.Decimal:case ei.Time:case ei.Timestamp:switch(e.length){case 0:return new i;case 1:return e[0].values.subarray(0,n*r);default:return e.reduce(((t,{values:e})=>(t.array.set(e,t.offset),t.offset+=e.length,t)),{array:new i(n*r),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(",")}]`}getChild(t){var e;return this.getChildAt(null===(e=this.type.children)||void 0===e?void 0:e.findIndex((e=>e.name===t)))}getChildAt(t){return t>-1&&t<this.numChildren?new Fa(this.data.map((({children:e})=>e[t]))):null}get isMemoized(){return!!So.isDictionary(this.type)&&this.data[0].dictionary.isMemoized}memoize(){if(So.isDictionary(this.type)){const t=new La(this.data[0].dictionary),e=this.data.map((e=>{const n=e.clone();return n.dictionary=t,n}));return new Fa(e)}return new La(this)}unmemoize(){if(So.isDictionary(this.type)&&this.isMemoized){const t=this.data[0].dictionary.unmemoize(),e=this.data.map((e=>{const n=e.clone();return n.dictionary=t,n}));return new Fa(e)}return this}}ja=Symbol.toStringTag,Fa[ja]=(t=>{t.type=So.prototype,t.data=[],t.length=0,t.stride=1,t.numChildren=0,t._nullCount=-1,t._byteLength=-1,t._offsets=new Uint32Array([0]),t[Symbol.isConcatSpreadable]=!0;const e=Object.keys(ei).map((t=>ei[t])).filter((t=>"number"==typeof t&&t!==ei.NONE));for(const n of e){const e=Gs.getVisitFnByTypeId(n),r=gs.getVisitFnByTypeId(n),i=xa.getVisitFnByTypeId(n),o=Ca.getVisitFnByTypeId(n);ka[n]={get:e,set:r,indexOf:i,byteLength:o},Ba[n]=Object.create(t,{isValid:{value:la(ca)},get:{value:la(Gs.getVisitFnByTypeId(n))},set:{value:fa(gs.getVisitFnByTypeId(n))},indexOf:{value:ha(xa.getVisitFnByTypeId(n))},getByteLength:{value:la(Ca.getVisitFnByTypeId(n))}})}return"Vector"})(Fa.prototype);class La extends Fa{constructor(t){super(t.data);const e=this.get,n=this.set,r=this.slice,i=new Array(this.length);Object.defineProperty(this,"get",{value(t){const n=i[t];if(void 0!==n)return n;const r=e.call(this,t);return i[t]=r,r}}),Object.defineProperty(this,"set",{value(t,e){n.call(this,t,e),i[t]=e}}),Object.defineProperty(this,"slice",{value:(t,e)=>new La(r.call(this,t,e))}),Object.defineProperty(this,"isMemoized",{value:!0}),Object.defineProperty(this,"unmemoize",{value:()=>new Fa(this.data)}),Object.defineProperty(this,"memoize",{value:()=>this})}}class Da{constructor(t,e,n,r,i,o=[],s){let a;this.type=t,this.children=o,this.dictionary=s,this.offset=Math.floor(Math.max(e||0,0)),this.length=Math.floor(Math.max(n||0,0)),this._nullCount=Math.floor(Math.max(r||0,-1)),i instanceof Da?(this.stride=i.stride,this.values=i.values,this.typeIds=i.typeIds,this.nullBitmap=i.nullBitmap,this.valueOffsets=i.valueOffsets):(this.stride=Yo(t),i&&((a=i[0])&&(this.valueOffsets=a),(a=i[1])&&(this.values=a),(a=i[2])&&(this.nullBitmap=a),(a=i[3])&&(this.typeIds=a))),this.nullable=0!==this._nullCount&&this.nullBitmap&&this.nullBitmap.byteLength>0}get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get byteLength(){let t=0;const{valueOffsets:e,values:n,nullBitmap:r,typeIds:i}=this;return e&&(t+=e.byteLength),n&&(t+=n.byteLength),r&&(t+=r.byteLength),i&&(t+=i.byteLength),this.children.reduce(((t,e)=>t+e.byteLength),t)}get nullCount(){let t,e=this._nullCount;return e<=-1&&(t=this.nullBitmap)&&(this._nullCount=e=this.length-ba(t,this.offset,this.offset+this.length)),e}getValid(t){if(this.nullable&&this.nullCount>0){const e=this.offset+t;return 0!=(this.nullBitmap[e>>3]&1<<e%8)}return!0}setValid(t,e){if(!this.nullable)return e;if(!this.nullBitmap||this.nullBitmap.byteLength<=t>>3){const{nullBitmap:t}=this._changeLengthAndBackfillNullBitmap(this.length);Object.assign(this,{nullBitmap:t,_nullCount:0})}const{nullBitmap:n,offset:r}=this,i=r+t>>3,o=(r+t)%8,s=n[i]>>o&1;return e?0===s&&(n[i]|=1<<o,this._nullCount=this.nullCount+1):1===s&&(n[i]&=~(1<<o),this._nullCount=this.nullCount-1),e}clone(t=this.type,e=this.offset,n=this.length,r=this._nullCount,i=this,o=this.children){return new Da(t,e,n,r,i,o,this.dictionary)}slice(t,e){const{stride:n,typeId:r,children:i}=this,o=+(0===this._nullCount)-1,s=16===r?n:1,a=this._sliceBuffers(t,e,n,r);return this.clone(this.type,this.offset+t,e,o,a,0===i.length||this.valueOffsets?i:this._sliceChildren(i,s*t,s*e))}_changeLengthAndBackfillNullBitmap(t){if(this.typeId===ei.Null)return this.clone(this.type,0,t,0);const{length:e,nullCount:n}=this,r=new Uint8Array((t+63&-64)>>3).fill(255,0,e>>3);r[e>>3]=(1<<e-(-8&e))-1,n>0&&r.set(function(t,e,n){const r=n.byteLength+7&-8;if(t>0||n.byteLength<r){const i=new Uint8Array(r);return i.set(t%8==0?n.subarray(t>>3):ya(new va(n,t,e,null,da)).subarray(0,r)),i}return n}(this.offset,e,this.nullBitmap),0);const i=this.buffers;return i[ni.VALIDITY]=r,this.clone(this.type,0,t,n+(t-e),i)}_sliceBuffers(t,e,n,r){let i;const{buffers:o}=this;return(i=o[ni.TYPE])&&(o[ni.TYPE]=i.subarray(t,t+e)),(i=o[ni.OFFSET])&&(o[ni.OFFSET]=i.subarray(t,t+e+1))||(i=o[ni.DATA])&&(o[ni.DATA]=6===r?i:i.subarray(n*t,n*(t+e))),o}_sliceChildren(t,e,n){return t.map((t=>t.slice(e,n)))}}Da.prototype.children=Object.freeze([]);class Na extends Go{visit(t){return this.getVisitFn(t.type).call(this,t)}visitNull(t){const{type:e,offset:n=0,length:r=0}=t;return new Da(e,n,r,0)}visitBool(t){const{type:e,offset:n=0}=t,r=Vi(t.nullBitmap),i=Ui(e.ArrayType,t.data),{length:o=i.length>>3,nullCount:s=(t.nullBitmap?-1:0)}=t;return new Da(e,n,o,s,[void 0,i,r])}visitInt(t){const{type:e,offset:n=0}=t,r=Vi(t.nullBitmap),i=Ui(e.ArrayType,t.data),{length:o=i.length,nullCount:s=(t.nullBitmap?-1:0)}=t;return new Da(e,n,o,s,[void 0,i,r])}visitFloat(t){const{type:e,offset:n=0}=t,r=Vi(t.nullBitmap),i=Ui(e.ArrayType,t.data),{length:o=i.length,nullCount:s=(t.nullBitmap?-1:0)}=t;return new Da(e,n,o,s,[void 0,i,r])}visitUtf8(t){const{type:e,offset:n=0}=t,r=Vi(t.data),i=Vi(t.nullBitmap),o=zi(t.valueOffsets),{length:s=o.length-1,nullCount:a=(t.nullBitmap?-1:0)}=t;return new Da(e,n,s,a,[o,r,i])}visitBinary(t){const{type:e,offset:n=0}=t,r=Vi(t.data),i=Vi(t.nullBitmap),o=zi(t.valueOffsets),{length:s=o.length-1,nullCount:a=(t.nullBitmap?-1:0)}=t;return new Da(e,n,s,a,[o,r,i])}visitFixedSizeBinary(t){const{type:e,offset:n=0}=t,r=Vi(t.nullBitmap),i=Ui(e.ArrayType,t.data),{length:o=i.length/Yo(e),nullCount:s=(t.nullBitmap?-1:0)}=t;return new Da(e,n,o,s,[void 0,i,r])}visitDate(t){const{type:e,offset:n=0}=t,r=Vi(t.nullBitmap),i=Ui(e.ArrayType,t.data),{length:o=i.length/Yo(e),nullCount:s=(t.nullBitmap?-1:0)}=t;return new Da(e,n,o,s,[void 0,i,r])}visitTimestamp(t){const{type:e,offset:n=0}=t,r=Vi(t.nullBitmap),i=Ui(e.ArrayType,t.data),{length:o=i.length/Yo(e),nullCount:s=(t.nullBitmap?-1:0)}=t;return new Da(e,n,o,s,[void 0,i,r])}visitTime(t){const{type:e,offset:n=0}=t,r=Vi(t.nullBitmap),i=Ui(e.ArrayType,t.data),{length:o=i.length/Yo(e),nullCount:s=(t.nullBitmap?-1:0)}=t;return new Da(e,n,o,s,[void 0,i,r])}visitDecimal(t){const{type:e,offset:n=0}=t,r=Vi(t.nullBitmap),i=Ui(e.ArrayType,t.data),{length:o=i.length/Yo(e),nullCount:s=(t.nullBitmap?-1:0)}=t;return new Da(e,n,o,s,[void 0,i,r])}visitList(t){const{type:e,offset:n=0,child:r}=t,i=Vi(t.nullBitmap),o=zi(t.valueOffsets),{length:s=o.length-1,nullCount:a=(t.nullBitmap?-1:0)}=t;return new Da(e,n,s,a,[o,void 0,i],[r])}visitStruct(t){const{type:e,offset:n=0,children:r=[]}=t,i=Vi(t.nullBitmap),{length:o=r.reduce(((t,{length:e})=>Math.max(t,e)),0),nullCount:s=(t.nullBitmap?-1:0)}=t;return new Da(e,n,o,s,[void 0,void 0,i],r)}visitUnion(t){const{type:e,offset:n=0,children:r=[]}=t,i=Vi(t.nullBitmap),o=Ui(e.ArrayType,t.typeIds),{length:s=o.length,nullCount:a=(t.nullBitmap?-1:0)}=t;if(So.isSparseUnion(e))return new Da(e,n,s,a,[void 0,void 0,i,o],r);const u=zi(t.valueOffsets);return new Da(e,n,s,a,[u,void 0,i,o],r)}visitDictionary(t){const{type:e,offset:n=0}=t,r=Vi(t.nullBitmap),i=Ui(e.indices.ArrayType,t.data),{dictionary:o=new Fa([(new Na).visit({type:e.dictionary})])}=t,{length:s=i.length,nullCount:a=(t.nullBitmap?-1:0)}=t;return new Da(e,n,s,a,[void 0,i,r],[],o)}visitInterval(t){const{type:e,offset:n=0}=t,r=Vi(t.nullBitmap),i=Ui(e.ArrayType,t.data),{length:o=i.length/Yo(e),nullCount:s=(t.nullBitmap?-1:0)}=t;return new Da(e,n,o,s,[void 0,i,r])}visitFixedSizeList(t){const{type:e,offset:n=0,child:r=(new Na).visit({type:e.valueType})}=t,i=Vi(t.nullBitmap),{length:o=r.length/Yo(e),nullCount:s=(t.nullBitmap?-1:0)}=t;return new Da(e,n,o,s,[void 0,void 0,i],[r])}visitMap(t){const{type:e,offset:n=0,child:r=(new Na).visit({type:e.childType})}=t,i=Vi(t.nullBitmap),o=zi(t.valueOffsets),{length:s=o.length-1,nullCount:a=(t.nullBitmap?-1:0)}=t;return new Da(e,n,s,a,[o,void 0,i],[r])}}function Ra(t){return(new Na).visit(t)}class Ua{constructor(t=[],e,n){this.fields=t||[],this.metadata=e||new Map,n||(n=Wa(t)),this.dictionaries=n}get[Symbol.toStringTag](){return"Schema"}get names(){return this.fields.map((t=>t.name))}toString(){return`Schema<{ ${this.fields.map(((t,e)=>`${e}: ${t}`)).join(", ")} }>`}select(t){const e=new Set(t),n=this.fields.filter((t=>e.has(t.name)));return new Ua(n,this.metadata)}selectAt(t){const e=t.map((t=>this.fields[t])).filter(Boolean);return new Ua(e,this.metadata)}assign(...t){const e=t[0]instanceof Ua?t[0]:Array.isArray(t[0])?new Ua(t[0]):new Ua(t),n=[...this.fields],r=Va(Va(new Map,this.metadata),e.metadata),i=e.fields.filter((t=>{const e=n.findIndex((e=>e.name===t.name));return!~e||(n[e]=t.clone({metadata:Va(Va(new Map,n[e].metadata),t.metadata)}))&&!1})),o=Wa(i,new Map);return new Ua([...n,...i],r,new Map([...this.dictionaries,...o]))}}Ua.prototype.fields=null,Ua.prototype.metadata=null,Ua.prototype.dictionaries=null;class za{constructor(t,e,n=!1,r){this.name=t,this.type=e,this.nullable=n,this.metadata=r||new Map}static new(...t){let[e,n,r,i]=t;return t[0]&&"object"==typeof t[0]&&(({name:e}=t[0]),void 0===n&&(n=t[0].type),void 0===r&&(r=t[0].nullable),void 0===i&&(i=t[0].metadata)),new za(`${e}`,n,r,i)}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return"Field"}toString(){return`${this.name}: ${this.type}`}clone(...t){let[e,n,r,i]=t;return t[0]&&"object"==typeof t[0]?({name:e=this.name,type:n=this.type,nullable:r=this.nullable,metadata:i=this.metadata}=t[0]):[e=this.name,n=this.type,r=this.nullable,i=this.metadata]=t,za.new(e,n,r,i)}}function Va(t,e){return new Map([...t||new Map,...e||new Map])}function Wa(t,e=new Map){for(let n=-1,r=t.length;++n<r;){const r=t[n].type;if(So.isDictionary(r))if(e.has(r.id)){if(e.get(r.id)!==r.dictionary)throw new Error("Cannot create Schema containing two different dictionaries with the same Id")}else e.set(r.id,r.dictionary);r.children&&r.children.length>0&&Wa(r.children,e)}return e}za.prototype.type=null,za.prototype.name=null,za.prototype.nullable=null,za.prototype.metadata=null;class $a extends Go{compareSchemas(t,e){return t===e||e instanceof t.constructor&&this.compareManyFields(t.fields,e.fields)}compareManyFields(t,e){return t===e||Array.isArray(t)&&Array.isArray(e)&&t.length===e.length&&t.every(((t,n)=>this.compareFields(t,e[n])))}compareFields(t,e){return t===e||e instanceof t.constructor&&t.name===e.name&&t.nullable===e.nullable&&this.visit(t.type,e.type)}}function Ya(t,e){return e instanceof t.constructor}function Ga(t,e){return t===e||Ya(t,e)}function Za(t,e){return t===e||Ya(t,e)&&t.bitWidth===e.bitWidth&&t.isSigned===e.isSigned}function Ha(t,e){return t===e||Ya(t,e)&&t.precision===e.precision}function qa(t,e){return t===e||Ya(t,e)&&t.unit===e.unit}function Xa(t,e){return t===e||Ya(t,e)&&t.unit===e.unit&&t.timezone===e.timezone}function Ka(t,e){return t===e||Ya(t,e)&&t.unit===e.unit&&t.bitWidth===e.bitWidth}function Ja(t,e){return t===e||Ya(t,e)&&t.mode===e.mode&&t.typeIds.every(((t,n)=>t===e.typeIds[n]))&&tu.compareManyFields(t.children,e.children)}function Qa(t,e){return t===e||Ya(t,e)&&t.unit===e.unit}$a.prototype.visitNull=Ga,$a.prototype.visitBool=Ga,$a.prototype.visitInt=Za,$a.prototype.visitInt8=Za,$a.prototype.visitInt16=Za,$a.prototype.visitInt32=Za,$a.prototype.visitInt64=Za,$a.prototype.visitUint8=Za,$a.prototype.visitUint16=Za,$a.prototype.visitUint32=Za,$a.prototype.visitUint64=Za,$a.prototype.visitFloat=Ha,$a.prototype.visitFloat16=Ha,$a.prototype.visitFloat32=Ha,$a.prototype.visitFloat64=Ha,$a.prototype.visitUtf8=Ga,$a.prototype.visitBinary=Ga,$a.prototype.visitFixedSizeBinary=function(t,e){return t===e||Ya(t,e)&&t.byteWidth===e.byteWidth},$a.prototype.visitDate=qa,$a.prototype.visitDateDay=qa,$a.prototype.visitDateMillisecond=qa,$a.prototype.visitTimestamp=Xa,$a.prototype.visitTimestampSecond=Xa,$a.prototype.visitTimestampMillisecond=Xa,$a.prototype.visitTimestampMicrosecond=Xa,$a.prototype.visitTimestampNanosecond=Xa,$a.prototype.visitTime=Ka,$a.prototype.visitTimeSecond=Ka,$a.prototype.visitTimeMillisecond=Ka,$a.prototype.visitTimeMicrosecond=Ka,$a.prototype.visitTimeNanosecond=Ka,$a.prototype.visitDecimal=Ga,$a.prototype.visitList=function(t,e){return t===e||Ya(t,e)&&t.children.length===e.children.length&&tu.compareManyFields(t.children,e.children)},$a.prototype.visitStruct=function(t,e){return t===e||Ya(t,e)&&t.children.length===e.children.length&&tu.compareManyFields(t.children,e.children)},$a.prototype.visitUnion=Ja,$a.prototype.visitDenseUnion=Ja,$a.prototype.visitSparseUnion=Ja,$a.prototype.visitDictionary=function(t,e){return t===e||Ya(t,e)&&t.id===e.id&&t.isOrdered===e.isOrdered&&tu.visit(t.indices,e.indices)&&tu.visit(t.dictionary,e.dictionary)},$a.prototype.visitInterval=Qa,$a.prototype.visitIntervalDayTime=Qa,$a.prototype.visitIntervalYearMonth=Qa,$a.prototype.visitFixedSizeList=function(t,e){return t===e||Ya(t,e)&&t.listSize===e.listSize&&t.children.length===e.children.length&&tu.compareManyFields(t.children,e.children)},$a.prototype.visitMap=function(t,e){return t===e||Ya(t,e)&&t.keysSorted===e.keysSorted&&t.children.length===e.children.length&&tu.compareManyFields(t.children,e.children)};const tu=new $a;function eu(t,e){return tu.compareSchemas(t,e)}var nu,ru;class iu{constructor(...t){switch(t.length){case 2:if([this.schema]=t,!(this.schema instanceof Ua))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");if([,this.data=Ra({nullCount:0,type:new Do(this.schema.fields),children:this.schema.fields.map((t=>Ra({type:t.type,nullCount:0})))})]=t,!(this.data instanceof Da))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");[this.schema,this.data]=ou(this.schema,this.data.children);break;case 1:{const[e]=t,{fields:n,children:r,length:i}=Object.keys(e).reduce(((t,n,r)=>(t.children[r]=e[n],t.length=Math.max(t.length,e[n].length),t.fields[r]=za.new({name:n,type:e[n].type,nullable:!0}),t)),{length:0,fields:new Array,children:new Array}),o=new Ua(n),s=Ra({type:new Do(n),length:i,children:r,nullCount:0});[this.schema,this.data]=ou(o,s.children,i);break}default:throw new TypeError("RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.")}}get dictionaries(){return this._dictionaries||(this._dictionaries=su(this.schema.fields,this.data.children))}get numCols(){return this.schema.fields.length}get numRows(){return this.data.length}get nullCount(){return this.data.nullCount}isValid(t){return this.data.getValid(t)}get(t){return Gs.visit(this.data,t)}set(t,e){return gs.visit(this.data,t,e)}indexOf(t,e){return xa.visit(this.data,t,e)}getByteLength(t){return Ca.visit(this.data,t)}[Symbol.iterator](){return Ta.visit(new Fa([this.data]))}toArray(){return[...this]}concat(...t){return new lu(this.schema,[this,...t])}slice(t,e){const[n]=new Fa([this.data]).slice(t,e).data;return new iu(this.schema,n)}getChild(t){var e;return this.getChildAt(null===(e=this.schema.fields)||void 0===e?void 0:e.findIndex((e=>e.name===t)))}getChildAt(t){return t>-1&&t<this.schema.fields.length?new Fa([this.data.children[t]]):null}setChild(t,e){var n;return this.setChildAt(null===(n=this.schema.fields)||void 0===n?void 0:n.findIndex((e=>e.name===t)),e)}setChildAt(t,e){let n=this.schema,r=this.data;if(t>-1&&t<this.numCols){e||(e=new Fa([Ra({type:new Oo,length:this.numRows})]));const i=n.fields.slice(),o=r.children.slice(),s=i[t].clone({type:e.type});[i[t],o[t]]=[s,e.data[0]],n=new Ua(i,new Map(this.schema.metadata)),r=Ra({type:new Do(i),children:o})}return new iu(n,r)}select(t){const e=this.schema.select(t),n=new Do(e.fields),r=[];for(const e of t){const t=this.schema.fields.findIndex((t=>t.name===e));~t&&(r[t]=this.data.children[t])}return new iu(e,Ra({type:n,length:this.numRows,children:r}))}selectAt(t){const e=this.schema.selectAt(t),n=t.map((t=>this.data.children[t])).filter(Boolean),r=Ra({type:new Do(e.fields),length:this.numRows,children:n});return new iu(e,r)}}function ou(t,e,n=e.reduce(((t,e)=>Math.max(t,e.length)),0)){var r;const i=[...t.fields],o=[...e],s=(n+63&-64)>>3;for(const[a,u]of t.fields.entries()){const t=e[a];t&&t.length===n||(i[a]=u.clone({nullable:!0}),o[a]=null!==(r=null==t?void 0:t._changeLengthAndBackfillNullBitmap(n))&&void 0!==r?r:Ra({type:u.type,length:n,nullCount:n,nullBitmap:new Uint8Array(s)}))}return[t.assign(i),Ra({type:new Do(i),length:n,children:o})]}function su(t,e,n=new Map){for(let r=-1,i=t.length;++r<i;){const i=t[r].type,o=e[r];if(So.isDictionary(i))if(n.has(i.id)){if(n.get(i.id)!==o.dictionary)throw new Error("Cannot create Schema containing two different dictionaries with the same Id")}else o.dictionary&&n.set(i.id,o.dictionary);i.children&&i.children.length>0&&su(i.children,o.children,n)}return n}nu=Symbol.toStringTag,iu[nu]=(t=>(t._nullCount=-1,t[Symbol.isConcatSpreadable]=!0,"RecordBatch"))(iu.prototype);class au extends iu{constructor(t){const e=t.fields.map((t=>Ra({type:t.type})));super(t,Ra({type:new Do(t.fields),nullCount:0,children:e}))}}function uu(t,e){return function(t,e){const n=[...t.fields],r=[],i={numBatches:e.reduce(((t,e)=>Math.max(t,e.length)),0)};let o=0,s=0,a=-1;const u=e.length;let c,l=[];for(;i.numBatches-- >0;){for(s=Number.POSITIVE_INFINITY,a=-1;++a<u;)l[a]=c=e[a].shift(),s=Math.min(s,c?c.length:s);Number.isFinite(s)&&(l=cu(n,s,l,e,i),s>0&&(r[o++]=Ra({type:new Do(n),length:s,nullCount:0,children:l.slice()})))}return[t=t.assign(n),r.map((e=>new iu(t,e)))]}(t,e.map((t=>t.data.concat())))}function cu(t,e,n,r,i){var o;const s=(e+63&-64)>>3;for(let a=-1,u=r.length;++a<u;){const u=n[a],c=null==u?void 0:u.length;if(c>=e)c===e?n[a]=u:(n[a]=u.slice(0,e),i.numBatches=Math.max(i.numBatches,r[a].unshift(u.slice(e,c-e))));else{const r=t[a];t[a]=r.clone({nullable:!0}),n[a]=null!==(o=null==u?void 0:u._changeLengthAndBackfillNullBitmap(e))&&void 0!==o?o:Ra({type:r.type,length:e,nullCount:e,nullBitmap:new Uint8Array(s)})}}return n}class lu{constructor(...t){var e,n;if(0===t.length)return this.batches=[],this.schema=new Ua([]),this._offsets=[0],this;let r,i;t[0]instanceof Ua&&(r=t.shift()),t[t.length-1]instanceof Uint32Array&&(i=t.pop());const o=t=>{if(t){if(t instanceof iu)return[t];if(t instanceof lu)return t.batches;if(t instanceof Da){if(t.type instanceof Do)return[new iu(new Ua(t.type.children),t)]}else{if(Array.isArray(t))return t.flatMap((t=>o(t)));if("function"==typeof t[Symbol.iterator])return[...t].flatMap((t=>o(t)));if("object"==typeof t){const e=Object.keys(t),n=e.map((e=>new Fa([t[e]]))),r=new Ua(e.map(((t,e)=>new za(String(t),n[e].type)))),[,i]=uu(r,n);return 0===i.length?[new iu(t)]:i}}}return[]},s=t.flatMap((t=>o(t)));if(r=null!==(n=null!=r?r:null===(e=s[0])||void 0===e?void 0:e.schema)&&void 0!==n?n:new Ua([]),!(r instanceof Ua))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");for(const t of s){if(!(t instanceof iu))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");if(!eu(r,t.schema))throw new TypeError("Table and inner RecordBatch schemas must be equivalent.")}this.schema=r,this.batches=s,this._offsets=null!=i?i:sa(this.data)}get data(){return this.batches.map((({data:t})=>t))}get numCols(){return this.schema.fields.length}get numRows(){return this.data.reduce(((t,e)=>t+e.length),0)}get nullCount(){return-1===this._nullCount&&(this._nullCount=oa(this.data)),this._nullCount}isValid(t){return!1}get(t){return null}set(t,e){}indexOf(t,e){return-1}getByteLength(t){return 0}[Symbol.iterator](){return this.batches.length>0?Ta.visit(new Fa(this.data)):new Array(0)[Symbol.iterator]()}toArray(){return[...this]}toString(){return`[\n ${this.toArray().join(",\n ")}\n]`}concat(...t){const e=this.schema,n=this.data.concat(t.flatMap((({data:t})=>t)));return new lu(e,n.map((t=>new iu(e,t))))}slice(t,e){const n=this.schema;[t,e]=Qs({length:this.numRows},t,e);const r=aa(this.data,this._offsets,t,e);return new lu(n,r.map((t=>new iu(n,t))))}getChild(t){return this.getChildAt(this.schema.fields.findIndex((e=>e.name===t)))}getChildAt(t){if(t>-1&&t<this.schema.fields.length){const e=this.data.map((e=>e.children[t]));if(0===e.length){const{type:n}=this.schema.fields[t],r=Ra({type:n,length:0,nullCount:0});e.push(r._changeLengthAndBackfillNullBitmap(this.numRows))}return new Fa(e)}return null}setChild(t,e){var n;return this.setChildAt(null===(n=this.schema.fields)||void 0===n?void 0:n.findIndex((e=>e.name===t)),e)}setChildAt(t,e){let n=this.schema,r=[...this.batches];if(t>-1&&t<this.numCols){e||(e=new Fa([Ra({type:new Oo,length:this.numRows})]));const i=n.fields.slice(),o=i[t].clone({type:e.type}),s=this.schema.fields.map(((t,e)=>this.getChildAt(e)));[i[t],s[t]]=[o,e],[n,r]=uu(n,s)}return new lu(n,r)}select(t){const e=this.schema.fields.reduce(((t,e,n)=>t.set(e.name,n)),new Map);return this.selectAt(t.map((t=>e.get(t))).filter((t=>t>-1)))}selectAt(t){const e=this.schema.selectAt(t),n=this.batches.map((e=>e.selectAt(t)));return new lu(e,n)}assign(t){const e=this.schema.fields,[n,r]=t.schema.fields.reduce(((t,n,r)=>{const[i,o]=t,s=e.findIndex((t=>t.name===n.name));return~s?o[s]=r:i.push(r),t}),[[],[]]),i=this.schema.assign(t.schema),o=[...e.map(((t,e)=>[e,r[e]])).map((([e,n])=>void 0===n?this.getChildAt(e):t.getChildAt(n))),...n.map((e=>t.getChildAt(e)))].filter(Boolean);return new lu(...uu(i,o))}}ru=Symbol.toStringTag,lu[ru]=(t=>(t.schema=null,t.batches=[],t._offsets=new Uint32Array([0]),t._nullCount=-1,t[Symbol.isConcatSpreadable]=!0,t.isValid=la(ca),t.get=la(Gs.getVisitFn(ei.Struct)),t.set=fa(gs.getVisitFn(ei.Struct)),t.indexOf=ha(xa.getVisitFn(ei.Struct)),t.getByteLength=la(Ca.getVisitFn(ei.Struct)),"Table"))(lu.prototype);class fu{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static sizeOf(){return 24}static createBlock(t,e,n,r){return t.prep(8,24),t.writeInt64(r),t.pad(4),t.writeInt32(n),t.writeInt64(e),t.offset()}}const hu=new Int32Array(2),du=new Float32Array(hu.buffer),pu=new Float64Array(hu.buffer),yu=1===new Uint16Array(new Uint8Array([1,0]).buffer)[0];class vu{constructor(t,e){this.low=0|t,this.high=0|e}static create(t,e){return 0==t&&0==e?vu.ZERO:new vu(t,e)}toFloat64(){return(this.low>>>0)+4294967296*this.high}equals(t){return this.low==t.low&&this.high==t.high}}var bu,mu,gu,wu,_u;vu.ZERO=new vu(0,0),function(t){t[t.UTF8_BYTES=1]="UTF8_BYTES",t[t.UTF16_STRING=2]="UTF16_STRING"}(bu||(bu={}));class xu{constructor(t){this.bytes_=t,this.position_=0}static allocate(t){return new xu(new Uint8Array(t))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(t){this.position_=t}capacity(){return this.bytes_.length}readInt8(t){return this.readUint8(t)<<24>>24}readUint8(t){return this.bytes_[t]}readInt16(t){return this.readUint16(t)<<16>>16}readUint16(t){return this.bytes_[t]|this.bytes_[t+1]<<8}readInt32(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24}readUint32(t){return this.readInt32(t)>>>0}readInt64(t){return new vu(this.readInt32(t),this.readInt32(t+4))}readUint64(t){return new vu(this.readUint32(t),this.readUint32(t+4))}readFloat32(t){return hu[0]=this.readInt32(t),du[0]}readFloat64(t){return hu[yu?0:1]=this.readInt32(t),hu[yu?1:0]=this.readInt32(t+4),pu[0]}writeInt8(t,e){this.bytes_[t]=e}writeUint8(t,e){this.bytes_[t]=e}writeInt16(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8}writeUint16(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8}writeInt32(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24}writeUint32(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24}writeInt64(t,e){this.writeInt32(t,e.low),this.writeInt32(t+4,e.high)}writeUint64(t,e){this.writeUint32(t,e.low),this.writeUint32(t+4,e.high)}writeFloat32(t,e){du[0]=e,this.writeInt32(t,hu[0])}writeFloat64(t,e){pu[0]=e,this.writeInt32(t,hu[yu?0:1]),this.writeInt32(t+4,hu[yu?1:0])}getBufferIdentifier(){if(this.bytes_.length<this.position_+4+4)throw new Error("FlatBuffers: ByteBuffer is too short to contain an identifier.");let t="";for(let e=0;e<4;e++)t+=String.fromCharCode(this.readInt8(this.position_+4+e));return t}__offset(t,e){const n=t-this.readInt32(t);return e<this.readInt16(n)?this.readInt16(n+e):0}__union(t,e){return t.bb_pos=e+this.readInt32(e),t.bb=this,t}__string(t,e){t+=this.readInt32(t);const n=this.readInt32(t);let r="",i=0;if(t+=4,e===bu.UTF8_BYTES)return this.bytes_.subarray(t,t+n);for(;i<n;){let e;const n=this.readUint8(t+i++);if(n<192)e=n;else{const r=this.readUint8(t+i++);if(n<224)e=(31&n)<<6|63&r;else{const o=this.readUint8(t+i++);e=n<240?(15&n)<<12|(63&r)<<6|63&o:(7&n)<<18|(63&r)<<12|(63&o)<<6|63&this.readUint8(t+i++)}}e<65536?r+=String.fromCharCode(e):(e-=65536,r+=String.fromCharCode(55296+(e>>10),56320+(1023&e)))}return r}__union_with_string(t,e){return"string"==typeof t?this.__string(e):this.__union(t,e)}__indirect(t){return t+this.readInt32(t)}__vector(t){return t+this.readInt32(t)+4}__vector_len(t){return this.readInt32(t+this.readInt32(t))}__has_identifier(t){if(4!=t.length)throw new Error("FlatBuffers: file identifier must be length 4");for(let e=0;e<4;e++)if(t.charCodeAt(e)!=this.readInt8(this.position()+4+e))return!1;return!0}createLong(t,e){return vu.create(t,e)}createScalarList(t,e){const n=[];for(let r=0;r<e;++r)null!==t(r)&&n.push(t(r));return n}createObjList(t,e){const n=[];for(let r=0;r<e;++r){const e=t(r);null!==e&&n.push(e.unpack())}return n}}class Su{constructor(t){let e;this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1,this.string_maps=null,e=t||1024,this.bb=xu.allocate(e),this.space=e}clear(){this.bb.clear(),this.space=this.bb.capacity(),this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1,this.string_maps=null}forceDefaults(t){this.force_defaults=t}dataBuffer(){return this.bb}asUint8Array(){return this.bb.bytes().subarray(this.bb.position(),this.bb.position()+this.offset())}prep(t,e){t>this.minalign&&(this.minalign=t);const n=1+~(this.bb.capacity()-this.space+e)&t-1;for(;this.space<n+t+e;){const t=this.bb.capacity();this.bb=Su.growByteBuffer(this.bb),this.space+=this.bb.capacity()-t}this.pad(n)}pad(t){for(let e=0;e<t;e++)this.bb.writeInt8(--this.space,0)}writeInt8(t){this.bb.writeInt8(this.space-=1,t)}writeInt16(t){this.bb.writeInt16(this.space-=2,t)}writeInt32(t){this.bb.writeInt32(this.space-=4,t)}writeInt64(t){this.bb.writeInt64(this.space-=8,t)}writeFloat32(t){this.bb.writeFloat32(this.space-=4,t)}writeFloat64(t){this.bb.writeFloat64(this.space-=8,t)}addInt8(t){this.prep(1,0),this.writeInt8(t)}addInt16(t){this.prep(2,0),this.writeInt16(t)}addInt32(t){this.prep(4,0),this.writeInt32(t)}addInt64(t){this.prep(8,0),this.writeInt64(t)}addFloat32(t){this.prep(4,0),this.writeFloat32(t)}addFloat64(t){this.prep(8,0),this.writeFloat64(t)}addFieldInt8(t,e,n){(this.force_defaults||e!=n)&&(this.addInt8(e),this.slot(t))}addFieldInt16(t,e,n){(this.force_defaults||e!=n)&&(this.addInt16(e),this.slot(t))}addFieldInt32(t,e,n){(this.force_defaults||e!=n)&&(this.addInt32(e),this.slot(t))}addFieldInt64(t,e,n){!this.force_defaults&&e.equals(n)||(this.addInt64(e),this.slot(t))}addFieldFloat32(t,e,n){(this.force_defaults||e!=n)&&(this.addFloat32(e),this.slot(t))}addFieldFloat64(t,e,n){(this.force_defaults||e!=n)&&(this.addFloat64(e),this.slot(t))}addFieldOffset(t,e,n){(this.force_defaults||e!=n)&&(this.addOffset(e),this.slot(t))}addFieldStruct(t,e,n){e!=n&&(this.nested(e),this.slot(t))}nested(t){if(t!=this.offset())throw new Error("FlatBuffers: struct must be serialized inline.")}notNested(){if(this.isNested)throw new Error("FlatBuffers: object serialization must not be nested.")}slot(t){null!==this.vtable&&(this.vtable[t]=this.offset())}offset(){return this.bb.capacity()-this.space}static growByteBuffer(t){const e=t.capacity();if(3221225472&e)throw new Error("FlatBuffers: cannot grow buffer beyond 2 gigabytes.");const n=e<<1,r=xu.allocate(n);return r.setPosition(n-e),r.bytes().set(t.bytes(),n-e),r}addOffset(t){this.prep(4,0),this.writeInt32(this.offset()-t+4)}startObject(t){this.notNested(),null==this.vtable&&(this.vtable=[]),this.vtable_in_use=t;for(let e=0;e<t;e++)this.vtable[e]=0;this.isNested=!0,this.object_start=this.offset()}endObject(){if(null==this.vtable||!this.isNested)throw new Error("FlatBuffers: endObject called without startObject");this.addInt32(0);const t=this.offset();let e=this.vtable_in_use-1;for(;e>=0&&0==this.vtable[e];e--);const n=e+1;for(;e>=0;e--)this.addInt16(0!=this.vtable[e]?t-this.vtable[e]:0);this.addInt16(t-this.object_start);const r=2*(n+2);this.addInt16(r);let i=0;const o=this.space;t:for(e=0;e<this.vtables.length;e++){const t=this.bb.capacity()-this.vtables[e];if(r==this.bb.readInt16(t)){for(let e=2;e<r;e+=2)if(this.bb.readInt16(o+e)!=this.bb.readInt16(t+e))continue t;i=this.vtables[e];break}}return i?(this.space=this.bb.capacity()-t,this.bb.writeInt32(this.space,i-t)):(this.vtables.push(this.offset()),this.bb.writeInt32(this.bb.capacity()-t,this.offset()-t)),this.isNested=!1,t}finish(t,e,n){const r=n?4:0;if(e){const t=e;if(this.prep(this.minalign,8+r),4!=t.length)throw new Error("FlatBuffers: file identifier must be length 4");for(let e=3;e>=0;e--)this.writeInt8(t.charCodeAt(e))}this.prep(this.minalign,4+r),this.addOffset(t),r&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(t,e){this.finish(t,e,!0)}requiredField(t,e){const n=this.bb.capacity()-t,r=n-this.bb.readInt32(n);if(0==this.bb.readInt16(r+e))throw new Error("FlatBuffers: field "+e+" must be set")}startVector(t,e,n){this.notNested(),this.vector_num_elems=e,this.prep(4,t*e),this.prep(n,t*e)}endVector(){return this.writeInt32(this.vector_num_elems),this.offset()}createSharedString(t){if(!t)return 0;if(this.string_maps||(this.string_maps=new Map),this.string_maps.has(t))return this.string_maps.get(t);const e=this.createString(t);return this.string_maps.set(t,e),e}createString(t){if(!t)return 0;let e;if(t instanceof Uint8Array)e=t;else{e=[];let n=0;for(;n<t.length;){let r;const i=t.charCodeAt(n++);r=i<55296||i>=56320?i:(i<<10)+t.charCodeAt(n++)+-56613888,r<128?e.push(r):(r<2048?e.push(r>>6&31|192):(r<65536?e.push(r>>12&15|224):e.push(r>>18&7|240,r>>12&63|128),e.push(r>>6&63|128)),e.push(63&r|128))}}this.addInt8(0),this.startVector(1,e.length,1),this.bb.setPosition(this.space-=e.length);for(let t=0,n=this.space,r=this.bb.bytes();t<e.length;t++)r[n++]=e[t];return this.endVector()}createLong(t,e){return vu.create(t,e)}createObjectOffset(t){return null===t?0:"string"==typeof t?this.createString(t):t.pack(this)}createObjectOffsetList(t){const e=[];for(let n=0;n<t.length;++n){const r=t[n];if(null===r)throw new Error("FlatBuffers: Argument for createObjectOffsetList cannot contain null.");e.push(this.createObjectOffset(r))}return e}createStructOffsetList(t,e){return e(this,t.length),this.createObjectOffsetList(t),this.endVector()}}class Ou{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsKeyValue(t,e){return(e||new Ou).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsKeyValue(t,e){return t.setPosition(t.position()+4),(e||new Ou).__init(t.readInt32(t.position())+t.position(),t)}key(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}value(t){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__string(this.bb_pos+e,t):null}static startKeyValue(t){t.startObject(2)}static addKey(t,e){t.addFieldOffset(0,e,0)}static addValue(t,e){t.addFieldOffset(1,e,0)}static endKeyValue(t){return t.endObject()}static createKeyValue(t,e,n){return Ou.startKeyValue(t),Ou.addKey(t,e),Ou.addValue(t,n),Ou.endKeyValue(t)}}!function(t){t[t.V1=0]="V1",t[t.V2=1]="V2",t[t.V3=2]="V3",t[t.V4=3]="V4",t[t.V5=4]="V5"}(mu||(mu={})),function(t){t[t.Little=0]="Little",t[t.Big=1]="Big"}(gu||(gu={})),function(t){t[t.DenseArray=0]="DenseArray"}(wu||(wu={}));class Iu{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsInt(t,e){return(e||new Iu).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsInt(t,e){return t.setPosition(t.position()+4),(e||new Iu).__init(t.readInt32(t.position())+t.position(),t)}bitWidth(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}isSigned(){const t=this.bb.__offset(this.bb_pos,6);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}static startInt(t){t.startObject(2)}static addBitWidth(t,e){t.addFieldInt32(0,e,0)}static addIsSigned(t,e){t.addFieldInt8(1,+e,0)}static endInt(t){return t.endObject()}static createInt(t,e,n){return Iu.startInt(t),Iu.addBitWidth(t,e),Iu.addIsSigned(t,n),Iu.endInt(t)}}class Tu{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsDictionaryEncoding(t,e){return(e||new Tu).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDictionaryEncoding(t,e){return t.setPosition(t.position()+4),(e||new Tu).__init(t.readInt32(t.position())+t.position(),t)}id(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt64(this.bb_pos+t):this.bb.createLong(0,0)}indexType(t){const e=this.bb.__offset(this.bb_pos,6);return e?(t||new Iu).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}isOrdered(){const t=this.bb.__offset(this.bb_pos,8);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}dictionaryKind(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):wu.DenseArray}static startDictionaryEncoding(t){t.startObject(4)}static addId(t,e){t.addFieldInt64(0,e,t.createLong(0,0))}static addIndexType(t,e){t.addFieldOffset(1,e,0)}static addIsOrdered(t,e){t.addFieldInt8(2,+e,0)}static addDictionaryKind(t,e){t.addFieldInt16(3,e,wu.DenseArray)}static endDictionaryEncoding(t){return t.endObject()}}!function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.FloatingPoint=3]="FloatingPoint",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct_=13]="Struct_",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Duration=18]="Duration",t[t.LargeBinary=19]="LargeBinary",t[t.LargeUtf8=20]="LargeUtf8",t[t.LargeList=21]="LargeList"}(_u||(_u={}));class Au{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsField(t,e){return(e||new Au).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsField(t,e){return t.setPosition(t.position()+4),(e||new Au).__init(t.readInt32(t.position())+t.position(),t)}name(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}nullable(){const t=this.bb.__offset(this.bb_pos,6);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}typeType(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readUint8(this.bb_pos+t):_u.NONE}type(t){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__union(t,this.bb_pos+e):null}dictionary(t){const e=this.bb.__offset(this.bb_pos,12);return e?(t||new Tu).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}children(t,e){const n=this.bb.__offset(this.bb_pos,14);return n?(e||new Au).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+4*t),this.bb):null}childrenLength(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,e){const n=this.bb.__offset(this.bb_pos,16);return n?(e||new Ou).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+4*t),this.bb):null}customMetadataLength(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}static startField(t){t.startObject(7)}static addName(t,e){t.addFieldOffset(0,e,0)}static addNullable(t,e){t.addFieldInt8(1,+e,0)}static addTypeType(t,e){t.addFieldInt8(2,e,_u.NONE)}static addType(t,e){t.addFieldOffset(3,e,0)}static addDictionary(t,e){t.addFieldOffset(4,e,0)}static addChildren(t,e){t.addFieldOffset(5,e,0)}static createChildrenVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startChildrenVector(t,e){t.startVector(4,e,4)}static addCustomMetadata(t,e){t.addFieldOffset(6,e,0)}static createCustomMetadataVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startCustomMetadataVector(t,e){t.startVector(4,e,4)}static endField(t){return t.endObject()}}class Mu{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsSchema(t,e){return(e||new Mu).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSchema(t,e){return t.setPosition(t.position()+4),(e||new Mu).__init(t.readInt32(t.position())+t.position(),t)}endianness(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):gu.Little}fields(t,e){const n=this.bb.__offset(this.bb_pos,6);return n?(e||new Au).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+4*t),this.bb):null}fieldsLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,e){const n=this.bb.__offset(this.bb_pos,8);return n?(e||new Ou).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+4*t),this.bb):null}customMetadataLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}features(t){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.readInt64(this.bb.__vector(this.bb_pos+e)+8*t):this.bb.createLong(0,0)}featuresLength(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}static startSchema(t){t.startObject(4)}static addEndianness(t,e){t.addFieldInt16(0,e,gu.Little)}static addFields(t,e){t.addFieldOffset(1,e,0)}static createFieldsVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startFieldsVector(t,e){t.startVector(4,e,4)}static addCustomMetadata(t,e){t.addFieldOffset(2,e,0)}static createCustomMetadataVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startCustomMetadataVector(t,e){t.startVector(4,e,4)}static addFeatures(t,e){t.addFieldOffset(3,e,0)}static createFeaturesVector(t,e){t.startVector(8,e.length,8);for(let n=e.length-1;n>=0;n--)t.addInt64(e[n]);return t.endVector()}static startFeaturesVector(t,e){t.startVector(8,e,8)}static endSchema(t){return t.endObject()}static finishSchemaBuffer(t,e){t.finish(e)}static finishSizePrefixedSchemaBuffer(t,e){t.finish(e,void 0,!0)}static createSchema(t,e,n,r,i){return Mu.startSchema(t),Mu.addEndianness(t,e),Mu.addFields(t,n),Mu.addCustomMetadata(t,r),Mu.addFeatures(t,i),Mu.endSchema(t)}}class Pu{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsFooter(t,e){return(e||new Pu).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsFooter(t,e){return t.setPosition(t.position()+4),(e||new Pu).__init(t.readInt32(t.position())+t.position(),t)}version(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):mu.V1}schema(t){const e=this.bb.__offset(this.bb_pos,6);return e?(t||new Mu).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}dictionaries(t,e){const n=this.bb.__offset(this.bb_pos,8);return n?(e||new fu).__init(this.bb.__vector(this.bb_pos+n)+24*t,this.bb):null}dictionariesLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}recordBatches(t,e){const n=this.bb.__offset(this.bb_pos,10);return n?(e||new fu).__init(this.bb.__vector(this.bb_pos+n)+24*t,this.bb):null}recordBatchesLength(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,e){const n=this.bb.__offset(this.bb_pos,12);return n?(e||new Ou).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+4*t),this.bb):null}customMetadataLength(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}static startFooter(t){t.startObject(5)}static addVersion(t,e){t.addFieldInt16(0,e,mu.V1)}static addSchema(t,e){t.addFieldOffset(1,e,0)}static addDictionaries(t,e){t.addFieldOffset(2,e,0)}static startDictionariesVector(t,e){t.startVector(24,e,8)}static addRecordBatches(t,e){t.addFieldOffset(3,e,0)}static startRecordBatchesVector(t,e){t.startVector(24,e,8)}static addCustomMetadata(t,e){t.addFieldOffset(4,e,0)}static createCustomMetadataVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startCustomMetadataVector(t,e){t.startVector(4,e,4)}static endFooter(t){return t.endObject()}static finishFooterBuffer(t,e){t.finish(e)}static finishSizePrefixedFooterBuffer(t,e){t.finish(e,void 0,!0)}}var Eu=vu,Cu=Su,ju=xu;class ku{constructor(t,e=Hr.V4,n,r){this.schema=t,this.version=e,n&&(this._recordBatches=n),r&&(this._dictionaryBatches=r)}static decode(t){t=new ju(Vi(t));const e=Pu.getRootAsFooter(t),n=Ua.decode(e.schema());return new Bu(n,e)}static encode(t){const e=new Cu,n=Ua.encode(e,t.schema);Pu.startRecordBatchesVector(e,t.numRecordBatches);for(const n of[...t.recordBatches()].slice().reverse())Fu.encode(e,n);const r=e.endVector();Pu.startDictionariesVector(e,t.numDictionaries);for(const n of[...t.dictionaryBatches()].slice().reverse())Fu.encode(e,n);const i=e.endVector();return Pu.startFooter(e),Pu.addSchema(e,n),Pu.addVersion(e,Hr.V4),Pu.addRecordBatches(e,r),Pu.addDictionaries(e,i),Pu.finishFooterBuffer(e,Pu.endFooter(e)),e.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}*recordBatches(){for(let t,e=-1,n=this.numRecordBatches;++e<n;)(t=this.getRecordBatch(e))&&(yield t)}*dictionaryBatches(){for(let t,e=-1,n=this.numDictionaries;++e<n;)(t=this.getDictionaryBatch(e))&&(yield t)}getRecordBatch(t){return t>=0&&t<this.numRecordBatches&&this._recordBatches[t]||null}getDictionaryBatch(t){return t>=0&&t<this.numDictionaries&&this._dictionaryBatches[t]||null}}class Bu extends ku{constructor(t,e){super(t,e.version()),this._footer=e}get numRecordBatches(){return this._footer.recordBatchesLength()}get numDictionaries(){return this._footer.dictionariesLength()}getRecordBatch(t){if(t>=0&&t<this.numRecordBatches){const e=this._footer.recordBatches(t);if(e)return Fu.decode(e)}return null}getDictionaryBatch(t){if(t>=0&&t<this.numDictionaries){const e=this._footer.dictionaries(t);if(e)return Fu.decode(e)}return null}}class Fu{constructor(t,e,n){this.metaDataLength=t,this.offset="number"==typeof n?n:n.low,this.bodyLength="number"==typeof e?e:e.low}static decode(t){return new Fu(t.metaDataLength(),t.bodyLength(),t.offset())}static encode(t,e){const{metaDataLength:n}=e,r=new Eu(e.offset,0),i=new Eu(e.bodyLength,0);return fu.createBlock(t,r,n,i)}}const Lu={fromIterable:t=>Du(function*(t){let e,n,r,i,o=!1,s=[],a=0;({cmd:r,size:i}=yield null);const u=(c=t,function*(t,e){const n=function*(t){yield t},r="string"==typeof e||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof Di?n(e):Mi(e)?e:n(e);return yield*Wi(function*(e){let n=null;do{n=e.next(yield Ui(t,n))}while(!n.done)}(r[Symbol.iterator]())),new t}(Uint8Array,c))[Symbol.iterator]();var c;try{do{if(({done:e,value:n}=Number.isNaN(i-a)?u.next():u.next(i-a)),!e&&n.byteLength>0&&(s.push(n),a+=n.byteLength),e||i<=a)do{({cmd:r,size:i}=yield"peek"===r?Ri(s,i)[0]:([n,s,a]=Ri(s,i),n))}while(i<a)}while(!e)}catch(t){(o=!0)&&"function"==typeof u.throw&&u.throw(t)}finally{!1===o&&"function"==typeof u.return&&u.return(null)}return null}(t)),fromAsyncIterable:t=>Du(function(t){return hi(this,arguments,(function*(){let e,n,r,i,o=!1,s=[],a=0;({cmd:r,size:i}=yield yield fi(null));const u=Yi(t)[Symbol.asyncIterator]();try{do{if(({done:e,value:n}=Number.isNaN(i-a)?yield fi(u.next()):yield fi(u.next(i-a))),!e&&n.byteLength>0&&(s.push(n),a+=n.byteLength),e||i<=a)do{({cmd:r,size:i}=yield yield fi("peek"===r?Ri(s,i)[0]:([n,s,a]=Ri(s,i),n)))}while(i<a)}while(!e)}catch(t){(o=!0)&&"function"==typeof u.throw&&(yield fi(u.throw(t)))}finally{!1===o&&"function"==typeof u.return&&(yield fi(u.return(new Uint8Array(0))))}return yield fi(null)}))}(t)),fromDOMStream:t=>Du(function(t){return hi(this,arguments,(function*(){let e,n,r,i=!1,o=!1,s=[],a=0;({cmd:n,size:r}=yield yield fi(null));const u=new Nu(t);try{do{if(({done:i,value:e}=Number.isNaN(r-a)?yield fi(u.read()):yield fi(u.read(r-a))),!i&&e.byteLength>0&&(s.push(Vi(e)),a+=e.byteLength),i||r<=a)do{({cmd:n,size:r}=yield yield fi("peek"===n?Ri(s,r)[0]:([e,s,a]=Ri(s,r),e)))}while(r<a)}while(!i)}catch(t){(o=!0)&&(yield fi(u.cancel(t)))}finally{!1===o?yield fi(u.cancel()):t.locked&&u.releaseLock()}return yield fi(null)}))}(t)),fromNodeStream:t=>Du(function(t){return hi(this,arguments,(function*(){const e=[];let n,r,i,o="error",s=!1,a=null,u=0,c=[];if(({cmd:n,size:r}=yield yield fi(null)),t.isTTY)return yield yield fi(new Uint8Array(0)),yield fi(null);try{e[0]=Ru(t,"end"),e[1]=Ru(t,"error");do{if(e[2]=Ru(t,"readable"),[o,a]=yield fi(Promise.race(e.map((t=>t[2])))),"error"===o)break;if((s="end"===o)||(Number.isFinite(r-u)?(i=Vi(t.read(r-u)),i.byteLength<r-u&&(i=Vi(t.read()))):i=Vi(t.read()),i.byteLength>0&&(c.push(i),u+=i.byteLength)),s||r<=u)do{({cmd:n,size:r}=yield yield fi("peek"===n?Ri(c,r)[0]:([i,c,u]=Ri(c,r),i)))}while(r<u)}while(!s)}finally{yield fi(function(e,n){return i=c=null,new Promise(((r,i)=>{for(const[n,r]of e)t.off(n,r);try{const e=t.destroy;e&&e.call(t,n),n=void 0}catch(t){n=t||n}finally{null!=n?i(n):r()}}))}(e,"error"===o?a:null))}return yield fi(null)}))}(t)),toDOMStream(t,e){throw new Error('"toDOMStream" not available in this environment')},toNodeStream(t,e){throw new Error('"toNodeStream" not available in this environment')}},Du=t=>(t.next(),t);class Nu{constructor(t){this.source=t,this.reader=null,this.reader=this.source.getReader(),this.reader.closed.catch((()=>{}))}get closed(){return this.reader?this.reader.closed.catch((()=>{})):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=null}cancel(t){return li(this,void 0,void 0,(function*(){const{reader:e,source:n}=this;e&&(yield e.cancel(t).catch((()=>{}))),n&&n.locked&&this.releaseLock()}))}read(t){return li(this,void 0,void 0,(function*(){if(0===t)return{done:null==this.reader,value:new Uint8Array(0)};const e=yield this.reader.read();return!e.done&&(e.value=Vi(e)),e}))}}const Ru=(t,e)=>{const n=t=>r([e,t]);let r;return[e,n,new Promise((i=>(r=i)&&t.once(e,n)))]},Uu=Object.freeze({done:!0,value:void 0});class zu{constructor(t){this._json=t}get schema(){return this._json.schema}get batches(){return this._json.batches||[]}get dictionaries(){return this._json.dictionaries||[]}}class Vu{tee(){return this._getDOMStream().tee()}pipe(t,e){return this._getNodeStream().pipe(t,e)}pipeTo(t,e){return this._getDOMStream().pipeTo(t,e)}pipeThrough(t,e){return this._getDOMStream().pipeThrough(t,e)}_getDOMStream(){return this._DOMStream||(this._DOMStream=this.toDOMStream())}_getNodeStream(){return this._nodeStream||(this._nodeStream=this.toNodeStream())}}class Wu extends Vu{constructor(){super(),this._values=[],this.resolvers=[],this._closedPromise=new Promise((t=>this._closedPromiseResolve=t))}get closed(){return this._closedPromise}cancel(t){return li(this,void 0,void 0,(function*(){yield this.return(t)}))}write(t){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(t):this.resolvers.shift().resolve({done:!1,value:t}))}abort(t){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:t}:this.resolvers.shift().reject({done:!0,value:t}))}close(){if(this._closedPromiseResolve){const{resolvers:t}=this;for(;t.length>0;)t.shift().resolve(Uu);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(t){return Lu.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,t)}toNodeStream(t){return Lu.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,t)}throw(t){return li(this,void 0,void 0,(function*(){return yield this.abort(t),Uu}))}return(t){return li(this,void 0,void 0,(function*(){return yield this.close(),Uu}))}read(t){return li(this,void 0,void 0,(function*(){return(yield this.next(t,"read")).value}))}peek(t){return li(this,void 0,void 0,(function*(){return(yield this.next(t,"peek")).value}))}next(...t){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise(((t,e)=>{this.resolvers.push({resolve:t,reject:e})})):Promise.resolve(Uu)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw new Error("AsyncQueue is closed")}}class $u extends Wu{write(t){if((t=Vi(t)).byteLength>0)return super.write(t)}toString(t=!1){return t?vi(this.toUint8Array(!0)):this.toUint8Array(!1).then(vi)}toUint8Array(t=!1){return t?Ri(this._values)[0]:(()=>li(this,void 0,void 0,(function*(){var t,e;const n=[];let r=0;try{for(var i,o=pi(this);!(i=yield o.next()).done;){const t=i.value;n.push(t),r+=t.byteLength}}catch(e){t={error:e}}finally{try{i&&!i.done&&(e=o.return)&&(yield e.call(o))}finally{if(t)throw t.error}}return Ri(n,r)[0]})))()}}class Yu{constructor(t){t&&(this.source=new Zu(Lu.fromIterable(t)))}[Symbol.iterator](){return this}next(t){return this.source.next(t)}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}peek(t){return this.source.peek(t)}read(t){return this.source.read(t)}}class Gu{constructor(t){t instanceof Gu?this.source=t.source:t instanceof $u?this.source=new Hu(Lu.fromAsyncIterable(t)):Li(t)?this.source=new Hu(Lu.fromNodeStream(t)):Fi(t)?this.source=new Hu(Lu.fromDOMStream(t)):ki(t)?this.source=new Hu(Lu.fromDOMStream(t.body)):Mi(t)?this.source=new Hu(Lu.fromIterable(t)):(Ai(t)||Pi(t))&&(this.source=new Hu(Lu.fromAsyncIterable(t)))}[Symbol.asyncIterator](){return this}next(t){return this.source.next(t)}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}get closed(){return this.source.closed}cancel(t){return this.source.cancel(t)}peek(t){return this.source.peek(t)}read(t){return this.source.read(t)}}class Zu{constructor(t){this.source=t}cancel(t){this.return(t)}peek(t){return this.next(t,"peek").value}read(t){return this.next(t,"read").value}next(t,e="read"){return this.source.next({cmd:e,size:t})}throw(t){return Object.create(this.source.throw&&this.source.throw(t)||Uu)}return(t){return Object.create(this.source.return&&this.source.return(t)||Uu)}}class Hu{constructor(t){this.source=t,this._closedPromise=new Promise((t=>this._closedPromiseResolve=t))}cancel(t){return li(this,void 0,void 0,(function*(){yield this.return(t)}))}get closed(){return this._closedPromise}read(t){return li(this,void 0,void 0,(function*(){return(yield this.next(t,"read")).value}))}peek(t){return li(this,void 0,void 0,(function*(){return(yield this.next(t,"peek")).value}))}next(t,e="read"){return li(this,void 0,void 0,(function*(){return yield this.source.next({cmd:e,size:t})}))}throw(t){return li(this,void 0,void 0,(function*(){const e=this.source.throw&&(yield this.source.throw(t))||Uu;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(e)}))}return(t){return li(this,void 0,void 0,(function*(){const e=this.source.return&&(yield this.source.return(t))||Uu;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(e)}))}}class qu extends Yu{constructor(t,e){super(),this.position=0,this.buffer=Vi(t),this.size=void 0===e?this.buffer.byteLength:e}readInt32(t){const{buffer:e,byteOffset:n}=this.readAt(t,4);return new DataView(e,n).getInt32(0,!0)}seek(t){return this.position=Math.min(t,this.size),t<this.size}read(t){const{buffer:e,size:n,position:r}=this;return e&&r<n?("number"!=typeof t&&(t=Number.POSITIVE_INFINITY),this.position=Math.min(n,r+Math.min(n-r,t)),e.subarray(r,this.position)):null}readAt(t,e){const n=this.buffer,r=Math.min(this.size,t+e);return n?n.subarray(t,r):new Uint8Array(e)}close(){this.buffer&&(this.buffer=null)}throw(t){return this.close(),{done:!0,value:t}}return(t){return this.close(),{done:!0,value:t}}}class Xu extends Gu{constructor(t,e){super(),this.position=0,this._handle=t,"number"==typeof e?this.size=e:this._pending=(()=>li(this,void 0,void 0,(function*(){this.size=(yield t.stat()).size,delete this._pending})))()}readInt32(t){return li(this,void 0,void 0,(function*(){const{buffer:e,byteOffset:n}=yield this.readAt(t,4);return new DataView(e,n).getInt32(0,!0)}))}seek(t){return li(this,void 0,void 0,(function*(){return this._pending&&(yield this._pending),this.position=Math.min(t,this.size),t<this.size}))}read(t){return li(this,void 0,void 0,(function*(){this._pending&&(yield this._pending);const{_handle:e,size:n,position:r}=this;if(e&&r<n){"number"!=typeof t&&(t=Number.POSITIVE_INFINITY);let i=r,o=0,s=0;const a=Math.min(n,i+Math.min(n-i,t)),u=new Uint8Array(Math.max(0,(this.position=a)-i));for(;(i+=s)<a&&(o+=s)<u.byteLength;)({bytesRead:s}=yield e.read(u,o,u.byteLength-o,i));return u}return null}))}readAt(t,e){return li(this,void 0,void 0,(function*(){this._pending&&(yield this._pending);const{_handle:n,size:r}=this;if(n&&t+e<r){const i=Math.min(r,t+e),o=new Uint8Array(i-t);return(yield n.read(o,0,e,t)).buffer}return new Uint8Array(e)}))}close(){return li(this,void 0,void 0,(function*(){const t=this._handle;this._handle=null,t&&(yield t.close())}))}throw(t){return li(this,void 0,void 0,(function*(){return yield this.close(),{done:!0,value:t}}))}return(t){return li(this,void 0,void 0,(function*(){return yield this.close(),{done:!0,value:t}}))}}function Ku(t){return t<0&&(t=4294967295+t+1),`0x${t.toString(16)}`}const Ju=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8];class Qu{constructor(t){this.buffer=t}high(){return this.buffer[1]}low(){return this.buffer[0]}_times(t){const e=new Uint32Array([this.buffer[1]>>>16,65535&this.buffer[1],this.buffer[0]>>>16,65535&this.buffer[0]]),n=new Uint32Array([t.buffer[1]>>>16,65535&t.buffer[1],t.buffer[0]>>>16,65535&t.buffer[0]]);let r=e[3]*n[3];this.buffer[0]=65535&r;let i=r>>>16;return r=e[2]*n[3],i+=r,r=e[3]*n[2]>>>0,i+=r,this.buffer[0]+=i<<16,this.buffer[1]=i>>>0<r?65536:0,this.buffer[1]+=i>>>16,this.buffer[1]+=e[1]*n[3]+e[2]*n[2]+e[3]*n[1],this.buffer[1]+=e[0]*n[3]+e[1]*n[2]+e[2]*n[1]+e[3]*n[0]<<16,this}_plus(t){const e=this.buffer[0]+t.buffer[0]>>>0;this.buffer[1]+=t.buffer[1],e<this.buffer[0]>>>0&&++this.buffer[1],this.buffer[0]=e}lessThan(t){return this.buffer[1]<t.buffer[1]||this.buffer[1]===t.buffer[1]&&this.buffer[0]<t.buffer[0]}equals(t){return this.buffer[1]===t.buffer[1]&&this.buffer[0]==t.buffer[0]}greaterThan(t){return t.lessThan(this)}hex(){return`${Ku(this.buffer[1])} ${Ku(this.buffer[0])}`}}class tc extends Qu{times(t){return this._times(t),this}plus(t){return this._plus(t),this}static from(t,e=new Uint32Array(2)){return tc.fromString("string"==typeof t?t:t.toString(),e)}static fromNumber(t,e=new Uint32Array(2)){return tc.fromString(t.toString(),e)}static fromString(t,e=new Uint32Array(2)){const n=t.length,r=new tc(e);for(let e=0;e<n;){const i=8<n-e?8:n-e,o=new tc(new Uint32Array([Number.parseInt(t.slice(e,e+i),10),0])),s=new tc(new Uint32Array([Ju[i],0]));r.times(s),r.plus(o),e+=i}return r}static convertArray(t){const e=new Uint32Array(2*t.length);for(let n=-1,r=t.length;++n<r;)tc.from(t[n],new Uint32Array(e.buffer,e.byteOffset+2*n*4,2));return e}static multiply(t,e){return new tc(new Uint32Array(t.buffer)).times(e)}static add(t,e){return new tc(new Uint32Array(t.buffer)).plus(e)}}class ec extends Qu{negate(){return this.buffer[0]=1+~this.buffer[0],this.buffer[1]=~this.buffer[1],0==this.buffer[0]&&++this.buffer[1],this}times(t){return this._times(t),this}plus(t){return this._plus(t),this}lessThan(t){const e=this.buffer[1]<<0,n=t.buffer[1]<<0;return e<n||e===n&&this.buffer[0]<t.buffer[0]}static from(t,e=new Uint32Array(2)){return ec.fromString("string"==typeof t?t:t.toString(),e)}static fromNumber(t,e=new Uint32Array(2)){return ec.fromString(t.toString(),e)}static fromString(t,e=new Uint32Array(2)){const n=t.startsWith("-"),r=t.length,i=new ec(e);for(let e=n?1:0;e<r;){const n=8<r-e?8:r-e,o=new ec(new Uint32Array([Number.parseInt(t.slice(e,e+n),10),0])),s=new ec(new Uint32Array([Ju[n],0]));i.times(s),i.plus(o),e+=n}return n?i.negate():i}static convertArray(t){const e=new Uint32Array(2*t.length);for(let n=-1,r=t.length;++n<r;)ec.from(t[n],new Uint32Array(e.buffer,e.byteOffset+2*n*4,2));return e}static multiply(t,e){return new ec(new Uint32Array(t.buffer)).times(e)}static add(t,e){return new ec(new Uint32Array(t.buffer)).plus(e)}}class nc{constructor(t){this.buffer=t}high(){return new ec(new Uint32Array(this.buffer.buffer,this.buffer.byteOffset+8,2))}low(){return new ec(new Uint32Array(this.buffer.buffer,this.buffer.byteOffset,2))}negate(){return this.buffer[0]=1+~this.buffer[0],this.buffer[1]=~this.buffer[1],this.buffer[2]=~this.buffer[2],this.buffer[3]=~this.buffer[3],0==this.buffer[0]&&++this.buffer[1],0==this.buffer[1]&&++this.buffer[2],0==this.buffer[2]&&++this.buffer[3],this}times(t){const e=new tc(new Uint32Array([this.buffer[3],0])),n=new tc(new Uint32Array([this.buffer[2],0])),r=new tc(new Uint32Array([this.buffer[1],0])),i=new tc(new Uint32Array([this.buffer[0],0])),o=new tc(new Uint32Array([t.buffer[3],0])),s=new tc(new Uint32Array([t.buffer[2],0])),a=new tc(new Uint32Array([t.buffer[1],0])),u=new tc(new Uint32Array([t.buffer[0],0]));let c=tc.multiply(i,u);this.buffer[0]=c.low();const l=new tc(new Uint32Array([c.high(),0]));return c=tc.multiply(r,u),l.plus(c),c=tc.multiply(i,a),l.plus(c),this.buffer[1]=l.low(),this.buffer[3]=l.lessThan(c)?1:0,this.buffer[2]=l.high(),new tc(new Uint32Array(this.buffer.buffer,this.buffer.byteOffset+8,2)).plus(tc.multiply(n,u)).plus(tc.multiply(r,a)).plus(tc.multiply(i,s)),this.buffer[3]+=tc.multiply(e,u).plus(tc.multiply(n,a)).plus(tc.multiply(r,s)).plus(tc.multiply(i,o)).low(),this}plus(t){const e=new Uint32Array(4);return e[3]=this.buffer[3]+t.buffer[3]>>>0,e[2]=this.buffer[2]+t.buffer[2]>>>0,e[1]=this.buffer[1]+t.buffer[1]>>>0,e[0]=this.buffer[0]+t.buffer[0]>>>0,e[0]<this.buffer[0]>>>0&&++e[1],e[1]<this.buffer[1]>>>0&&++e[2],e[2]<this.buffer[2]>>>0&&++e[3],this.buffer[3]=e[3],this.buffer[2]=e[2],this.buffer[1]=e[1],this.buffer[0]=e[0],this}hex(){return`${Ku(this.buffer[3])} ${Ku(this.buffer[2])} ${Ku(this.buffer[1])} ${Ku(this.buffer[0])}`}static multiply(t,e){return new nc(new Uint32Array(t.buffer)).times(e)}static add(t,e){return new nc(new Uint32Array(t.buffer)).plus(e)}static from(t,e=new Uint32Array(4)){return nc.fromString("string"==typeof t?t:t.toString(),e)}static fromNumber(t,e=new Uint32Array(4)){return nc.fromString(t.toString(),e)}static fromString(t,e=new Uint32Array(4)){const n=t.startsWith("-"),r=t.length,i=new nc(e);for(let e=n?1:0;e<r;){const n=8<r-e?8:r-e,o=new nc(new Uint32Array([Number.parseInt(t.slice(e,e+n),10),0,0,0])),s=new nc(new Uint32Array([Ju[n],0,0,0]));i.times(s),i.plus(o),e+=n}return n?i.negate():i}static convertArray(t){const e=new Uint32Array(4*t.length);for(let n=-1,r=t.length;++n<r;)nc.from(t[n],new Uint32Array(e.buffer,e.byteOffset+16*n,4));return e}}class rc extends Go{constructor(t,e,n,r){super(),this.nodesIndex=-1,this.buffersIndex=-1,this.bytes=t,this.nodes=e,this.buffers=n,this.dictionaries=r}visit(t){return super.visit(t instanceof za?t.type:t)}visitNull(t,{length:e}=this.nextFieldNode()){return Ra({type:t,length:e})}visitBool(t,{length:e,nullCount:n}=this.nextFieldNode()){return Ra({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),data:this.readData(t)})}visitInt(t,{length:e,nullCount:n}=this.nextFieldNode()){return Ra({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),data:this.readData(t)})}visitFloat(t,{length:e,nullCount:n}=this.nextFieldNode()){return Ra({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),data:this.readData(t)})}visitUtf8(t,{length:e,nullCount:n}=this.nextFieldNode()){return Ra({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),valueOffsets:this.readOffsets(t),data:this.readData(t)})}visitBinary(t,{length:e,nullCount:n}=this.nextFieldNode()){return Ra({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),valueOffsets:this.readOffsets(t),data:this.readData(t)})}visitFixedSizeBinary(t,{length:e,nullCount:n}=this.nextFieldNode()){return Ra({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),data:this.readData(t)})}visitDate(t,{length:e,nullCount:n}=this.nextFieldNode()){return Ra({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),data:this.readData(t)})}visitTimestamp(t,{length:e,nullCount:n}=this.nextFieldNode()){return Ra({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),data:this.readData(t)})}visitTime(t,{length:e,nullCount:n}=this.nextFieldNode()){return Ra({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),data:this.readData(t)})}visitDecimal(t,{length:e,nullCount:n}=this.nextFieldNode()){return Ra({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),data:this.readData(t)})}visitList(t,{length:e,nullCount:n}=this.nextFieldNode()){return Ra({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),valueOffsets:this.readOffsets(t),child:this.visit(t.children[0])})}visitStruct(t,{length:e,nullCount:n}=this.nextFieldNode()){return Ra({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),children:this.visitMany(t.children)})}visitUnion(t){return t.mode===qr.Sparse?this.visitSparseUnion(t):this.visitDenseUnion(t)}visitDenseUnion(t,{length:e,nullCount:n}=this.nextFieldNode()){return Ra({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),typeIds:this.readTypeIds(t),valueOffsets:this.readOffsets(t),children:this.visitMany(t.children)})}visitSparseUnion(t,{length:e,nullCount:n}=this.nextFieldNode()){return Ra({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),typeIds:this.readTypeIds(t),children:this.visitMany(t.children)})}visitDictionary(t,{length:e,nullCount:n}=this.nextFieldNode()){return Ra({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),data:this.readData(t.indices),dictionary:this.readDictionary(t)})}visitInterval(t,{length:e,nullCount:n}=this.nextFieldNode()){return Ra({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),data:this.readData(t)})}visitFixedSizeList(t,{length:e,nullCount:n}=this.nextFieldNode()){return Ra({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),child:this.visit(t.children[0])})}visitMap(t,{length:e,nullCount:n}=this.nextFieldNode()){return Ra({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),valueOffsets:this.readOffsets(t),child:this.visit(t.children[0])})}nextFieldNode(){return this.nodes[++this.nodesIndex]}nextBufferRange(){return this.buffers[++this.buffersIndex]}readNullBitmap(t,e,n=this.nextBufferRange()){return e>0&&this.readData(t,n)||new Uint8Array(0)}readOffsets(t,e){return this.readData(t,e)}readTypeIds(t,e){return this.readData(t,e)}readData(t,{length:e,offset:n}=this.nextBufferRange()){return this.bytes.subarray(n,n+e)}readDictionary(t){return this.dictionaries.get(t.id)}}class ic extends rc{constructor(t,e,n,r){super(new Uint8Array(0),e,n,r),this.sources=t}readNullBitmap(t,e,{offset:n}=this.nextBufferRange()){return e<=0?new Uint8Array(0):ya(this.sources[n])}readOffsets(t,{offset:e}=this.nextBufferRange()){return Ui(Uint8Array,Ui(Int32Array,this.sources[e]))}readTypeIds(t,{offset:e}=this.nextBufferRange()){return Ui(Uint8Array,Ui(t.ArrayType,this.sources[e]))}readData(t,{offset:e}=this.nextBufferRange()){const{sources:n}=this;return So.isTimestamp(t)||(So.isInt(t)||So.isTime(t))&&64===t.bitWidth||So.isDate(t)&&t.unit===Kr.MILLISECOND?Ui(Uint8Array,ec.convertArray(n[e])):So.isDecimal(t)?Ui(Uint8Array,nc.convertArray(n[e])):So.isBinary(t)||So.isFixedSizeBinary(t)?function(t){const e=t.join(""),n=new Uint8Array(e.length/2);for(let t=0;t<e.length;t+=2)n[t>>1]=Number.parseInt(e.slice(t,t+2),16);return n}(n[e]):So.isBool(t)?ya(n[e]):So.isUtf8(t)?mi(n[e].join("")):Ui(Uint8Array,Ui(t.ArrayType,n[e].map((t=>+t))))}}var oc,sc,ac,uc,cc,lc,fc,hc;!function(t){t[t.BUFFER=0]="BUFFER"}(oc||(oc={})),function(t){t[t.LZ4_FRAME=0]="LZ4_FRAME",t[t.ZSTD=1]="ZSTD"}(sc||(sc={}));class dc{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsBodyCompression(t,e){return(e||new dc).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsBodyCompression(t,e){return t.setPosition(t.position()+4),(e||new dc).__init(t.readInt32(t.position())+t.position(),t)}codec(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt8(this.bb_pos+t):sc.LZ4_FRAME}method(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt8(this.bb_pos+t):oc.BUFFER}static startBodyCompression(t){t.startObject(2)}static addCodec(t,e){t.addFieldInt8(0,e,sc.LZ4_FRAME)}static addMethod(t,e){t.addFieldInt8(1,e,oc.BUFFER)}static endBodyCompression(t){return t.endObject()}static createBodyCompression(t,e,n){return dc.startBodyCompression(t),dc.addCodec(t,e),dc.addMethod(t,n),dc.endBodyCompression(t)}}class pc{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}offset(){return this.bb.readInt64(this.bb_pos)}length(){return this.bb.readInt64(this.bb_pos+8)}static sizeOf(){return 16}static createBuffer(t,e,n){return t.prep(8,16),t.writeInt64(n),t.writeInt64(e),t.offset()}}class yc{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}length(){return this.bb.readInt64(this.bb_pos)}nullCount(){return this.bb.readInt64(this.bb_pos+8)}static sizeOf(){return 16}static createFieldNode(t,e,n){return t.prep(8,16),t.writeInt64(n),t.writeInt64(e),t.offset()}}class vc{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsRecordBatch(t,e){return(e||new vc).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsRecordBatch(t,e){return t.setPosition(t.position()+4),(e||new vc).__init(t.readInt32(t.position())+t.position(),t)}length(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt64(this.bb_pos+t):this.bb.createLong(0,0)}nodes(t,e){const n=this.bb.__offset(this.bb_pos,6);return n?(e||new yc).__init(this.bb.__vector(this.bb_pos+n)+16*t,this.bb):null}nodesLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}buffers(t,e){const n=this.bb.__offset(this.bb_pos,8);return n?(e||new pc).__init(this.bb.__vector(this.bb_pos+n)+16*t,this.bb):null}buffersLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}compression(t){const e=this.bb.__offset(this.bb_pos,10);return e?(t||new dc).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}static startRecordBatch(t){t.startObject(4)}static addLength(t,e){t.addFieldInt64(0,e,t.createLong(0,0))}static addNodes(t,e){t.addFieldOffset(1,e,0)}static startNodesVector(t,e){t.startVector(16,e,8)}static addBuffers(t,e){t.addFieldOffset(2,e,0)}static startBuffersVector(t,e){t.startVector(16,e,8)}static addCompression(t,e){t.addFieldOffset(3,e,0)}static endRecordBatch(t){return t.endObject()}}class bc{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsDictionaryBatch(t,e){return(e||new bc).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDictionaryBatch(t,e){return t.setPosition(t.position()+4),(e||new bc).__init(t.readInt32(t.position())+t.position(),t)}id(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt64(this.bb_pos+t):this.bb.createLong(0,0)}data(t){const e=this.bb.__offset(this.bb_pos,6);return e?(t||new vc).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}isDelta(){const t=this.bb.__offset(this.bb_pos,8);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}static startDictionaryBatch(t){t.startObject(3)}static addId(t,e){t.addFieldInt64(0,e,t.createLong(0,0))}static addData(t,e){t.addFieldOffset(1,e,0)}static addIsDelta(t,e){t.addFieldInt8(2,+e,0)}static endDictionaryBatch(t){return t.endObject()}}!function(t){t[t.HALF=0]="HALF",t[t.SINGLE=1]="SINGLE",t[t.DOUBLE=2]="DOUBLE"}(ac||(ac={}));class mc{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsFloatingPoint(t,e){return(e||new mc).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsFloatingPoint(t,e){return t.setPosition(t.position()+4),(e||new mc).__init(t.readInt32(t.position())+t.position(),t)}precision(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):ac.HALF}static startFloatingPoint(t){t.startObject(1)}static addPrecision(t,e){t.addFieldInt16(0,e,ac.HALF)}static endFloatingPoint(t){return t.endObject()}static createFloatingPoint(t,e){return mc.startFloatingPoint(t),mc.addPrecision(t,e),mc.endFloatingPoint(t)}}class gc{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsDecimal(t,e){return(e||new gc).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDecimal(t,e){return t.setPosition(t.position()+4),(e||new gc).__init(t.readInt32(t.position())+t.position(),t)}precision(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}scale(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt32(this.bb_pos+t):0}bitWidth(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt32(this.bb_pos+t):128}static startDecimal(t){t.startObject(3)}static addPrecision(t,e){t.addFieldInt32(0,e,0)}static addScale(t,e){t.addFieldInt32(1,e,0)}static addBitWidth(t,e){t.addFieldInt32(2,e,128)}static endDecimal(t){return t.endObject()}static createDecimal(t,e,n,r){return gc.startDecimal(t),gc.addPrecision(t,e),gc.addScale(t,n),gc.addBitWidth(t,r),gc.endDecimal(t)}}!function(t){t[t.DAY=0]="DAY",t[t.MILLISECOND=1]="MILLISECOND"}(uc||(uc={}));class wc{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsDate(t,e){return(e||new wc).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDate(t,e){return t.setPosition(t.position()+4),(e||new wc).__init(t.readInt32(t.position())+t.position(),t)}unit(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):uc.MILLISECOND}static startDate(t){t.startObject(1)}static addUnit(t,e){t.addFieldInt16(0,e,uc.MILLISECOND)}static endDate(t){return t.endObject()}static createDate(t,e){return wc.startDate(t),wc.addUnit(t,e),wc.endDate(t)}}!function(t){t[t.SECOND=0]="SECOND",t[t.MILLISECOND=1]="MILLISECOND",t[t.MICROSECOND=2]="MICROSECOND",t[t.NANOSECOND=3]="NANOSECOND"}(cc||(cc={}));class _c{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsTime(t,e){return(e||new _c).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsTime(t,e){return t.setPosition(t.position()+4),(e||new _c).__init(t.readInt32(t.position())+t.position(),t)}unit(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):cc.MILLISECOND}bitWidth(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt32(this.bb_pos+t):32}static startTime(t){t.startObject(2)}static addUnit(t,e){t.addFieldInt16(0,e,cc.MILLISECOND)}static addBitWidth(t,e){t.addFieldInt32(1,e,32)}static endTime(t){return t.endObject()}static createTime(t,e,n){return _c.startTime(t),_c.addUnit(t,e),_c.addBitWidth(t,n),_c.endTime(t)}}class xc{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsTimestamp(t,e){return(e||new xc).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsTimestamp(t,e){return t.setPosition(t.position()+4),(e||new xc).__init(t.readInt32(t.position())+t.position(),t)}unit(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):cc.SECOND}timezone(t){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__string(this.bb_pos+e,t):null}static startTimestamp(t){t.startObject(2)}static addUnit(t,e){t.addFieldInt16(0,e,cc.SECOND)}static addTimezone(t,e){t.addFieldOffset(1,e,0)}static endTimestamp(t){return t.endObject()}static createTimestamp(t,e,n){return xc.startTimestamp(t),xc.addUnit(t,e),xc.addTimezone(t,n),xc.endTimestamp(t)}}!function(t){t[t.YEAR_MONTH=0]="YEAR_MONTH",t[t.DAY_TIME=1]="DAY_TIME",t[t.MONTH_DAY_NANO=2]="MONTH_DAY_NANO"}(lc||(lc={}));class Sc{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsInterval(t,e){return(e||new Sc).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsInterval(t,e){return t.setPosition(t.position()+4),(e||new Sc).__init(t.readInt32(t.position())+t.position(),t)}unit(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):lc.YEAR_MONTH}static startInterval(t){t.startObject(1)}static addUnit(t,e){t.addFieldInt16(0,e,lc.YEAR_MONTH)}static endInterval(t){return t.endObject()}static createInterval(t,e){return Sc.startInterval(t),Sc.addUnit(t,e),Sc.endInterval(t)}}!function(t){t[t.Sparse=0]="Sparse",t[t.Dense=1]="Dense"}(fc||(fc={}));class Oc{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsUnion(t,e){return(e||new Oc).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsUnion(t,e){return t.setPosition(t.position()+4),(e||new Oc).__init(t.readInt32(t.position())+t.position(),t)}mode(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):fc.Sparse}typeIds(t){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readInt32(this.bb.__vector(this.bb_pos+e)+4*t):0}typeIdsLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}typeIdsArray(){const t=this.bb.__offset(this.bb_pos,6);return t?new Int32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startUnion(t){t.startObject(2)}static addMode(t,e){t.addFieldInt16(0,e,fc.Sparse)}static addTypeIds(t,e){t.addFieldOffset(1,e,0)}static createTypeIdsVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addInt32(e[n]);return t.endVector()}static startTypeIdsVector(t,e){t.startVector(4,e,4)}static endUnion(t){return t.endObject()}static createUnion(t,e,n){return Oc.startUnion(t),Oc.addMode(t,e),Oc.addTypeIds(t,n),Oc.endUnion(t)}}class Ic{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsFixedSizeBinary(t,e){return(e||new Ic).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsFixedSizeBinary(t,e){return t.setPosition(t.position()+4),(e||new Ic).__init(t.readInt32(t.position())+t.position(),t)}byteWidth(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}static startFixedSizeBinary(t){t.startObject(1)}static addByteWidth(t,e){t.addFieldInt32(0,e,0)}static endFixedSizeBinary(t){return t.endObject()}static createFixedSizeBinary(t,e){return Ic.startFixedSizeBinary(t),Ic.addByteWidth(t,e),Ic.endFixedSizeBinary(t)}}class Tc{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsFixedSizeList(t,e){return(e||new Tc).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsFixedSizeList(t,e){return t.setPosition(t.position()+4),(e||new Tc).__init(t.readInt32(t.position())+t.position(),t)}listSize(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}static startFixedSizeList(t){t.startObject(1)}static addListSize(t,e){t.addFieldInt32(0,e,0)}static endFixedSizeList(t){return t.endObject()}static createFixedSizeList(t,e){return Tc.startFixedSizeList(t),Tc.addListSize(t,e),Tc.endFixedSizeList(t)}}class Ac{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsMap(t,e){return(e||new Ac).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsMap(t,e){return t.setPosition(t.position()+4),(e||new Ac).__init(t.readInt32(t.position())+t.position(),t)}keysSorted(){const t=this.bb.__offset(this.bb_pos,4);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}static startMap(t){t.startObject(1)}static addKeysSorted(t,e){t.addFieldInt8(0,+e,0)}static endMap(t){return t.endObject()}static createMap(t,e){return Ac.startMap(t),Ac.addKeysSorted(t,e),Ac.endMap(t)}}!function(t){t[t.NONE=0]="NONE",t[t.Schema=1]="Schema",t[t.DictionaryBatch=2]="DictionaryBatch",t[t.RecordBatch=3]="RecordBatch",t[t.Tensor=4]="Tensor",t[t.SparseTensor=5]="SparseTensor"}(hc||(hc={}));class Mc{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsMessage(t,e){return(e||new Mc).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsMessage(t,e){return t.setPosition(t.position()+4),(e||new Mc).__init(t.readInt32(t.position())+t.position(),t)}version(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):mu.V1}headerType(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint8(this.bb_pos+t):hc.NONE}header(t){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__union(t,this.bb_pos+e):null}bodyLength(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt64(this.bb_pos+t):this.bb.createLong(0,0)}customMetadata(t,e){const n=this.bb.__offset(this.bb_pos,12);return n?(e||new Ou).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+4*t),this.bb):null}customMetadataLength(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}static startMessage(t){t.startObject(5)}static addVersion(t,e){t.addFieldInt16(0,e,mu.V1)}static addHeaderType(t,e){t.addFieldInt8(1,e,hc.NONE)}static addHeader(t,e){t.addFieldOffset(2,e,0)}static addBodyLength(t,e){t.addFieldInt64(3,e,t.createLong(0,0))}static addCustomMetadata(t,e){t.addFieldOffset(4,e,0)}static createCustomMetadataVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startCustomMetadataVector(t,e){t.startVector(4,e,4)}static endMessage(t){return t.endObject()}static finishMessageBuffer(t,e){t.finish(e)}static finishSizePrefixedMessageBuffer(t,e){t.finish(e,void 0,!0)}static createMessage(t,e,n,r,i,o){return Mc.startMessage(t),Mc.addVersion(t,e),Mc.addHeaderType(t,n),Mc.addHeader(t,r),Mc.addBodyLength(t,i),Mc.addCustomMetadata(t,o),Mc.endMessage(t)}}class Pc{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsNull(t,e){return(e||new Pc).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsNull(t,e){return t.setPosition(t.position()+4),(e||new Pc).__init(t.readInt32(t.position())+t.position(),t)}static startNull(t){t.startObject(0)}static endNull(t){return t.endObject()}static createNull(t){return Pc.startNull(t),Pc.endNull(t)}}class Ec{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsBinary(t,e){return(e||new Ec).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsBinary(t,e){return t.setPosition(t.position()+4),(e||new Ec).__init(t.readInt32(t.position())+t.position(),t)}static startBinary(t){t.startObject(0)}static endBinary(t){return t.endObject()}static createBinary(t){return Ec.startBinary(t),Ec.endBinary(t)}}class Cc{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsBool(t,e){return(e||new Cc).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsBool(t,e){return t.setPosition(t.position()+4),(e||new Cc).__init(t.readInt32(t.position())+t.position(),t)}static startBool(t){t.startObject(0)}static endBool(t){return t.endObject()}static createBool(t){return Cc.startBool(t),Cc.endBool(t)}}class jc{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsUtf8(t,e){return(e||new jc).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsUtf8(t,e){return t.setPosition(t.position()+4),(e||new jc).__init(t.readInt32(t.position())+t.position(),t)}static startUtf8(t){t.startObject(0)}static endUtf8(t){return t.endObject()}static createUtf8(t){return jc.startUtf8(t),jc.endUtf8(t)}}class kc{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsList(t,e){return(e||new kc).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsList(t,e){return t.setPosition(t.position()+4),(e||new kc).__init(t.readInt32(t.position())+t.position(),t)}static startList(t){t.startObject(0)}static endList(t){return t.endObject()}static createList(t){return kc.startList(t),kc.endList(t)}}class Bc{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsStruct_(t,e){return(e||new Bc).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsStruct_(t,e){return t.setPosition(t.position()+4),(e||new Bc).__init(t.readInt32(t.position())+t.position(),t)}static startStruct_(t){t.startObject(0)}static endStruct_(t){return t.endObject()}static createStruct_(t){return Bc.startStruct_(t),Bc.endStruct_(t)}}var Fc=vu;const Lc=new class extends Go{visit(t,e){return null==t||null==e?void 0:super.visit(t,e)}visitNull(t,e){return Pc.startNull(e),Pc.endNull(e)}visitInt(t,e){return Iu.startInt(e),Iu.addBitWidth(e,t.bitWidth),Iu.addIsSigned(e,t.isSigned),Iu.endInt(e)}visitFloat(t,e){return mc.startFloatingPoint(e),mc.addPrecision(e,t.precision),mc.endFloatingPoint(e)}visitBinary(t,e){return Ec.startBinary(e),Ec.endBinary(e)}visitBool(t,e){return Cc.startBool(e),Cc.endBool(e)}visitUtf8(t,e){return jc.startUtf8(e),jc.endUtf8(e)}visitDecimal(t,e){return gc.startDecimal(e),gc.addScale(e,t.scale),gc.addPrecision(e,t.precision),gc.addBitWidth(e,t.bitWidth),gc.endDecimal(e)}visitDate(t,e){return wc.startDate(e),wc.addUnit(e,t.unit),wc.endDate(e)}visitTime(t,e){return _c.startTime(e),_c.addUnit(e,t.unit),_c.addBitWidth(e,t.bitWidth),_c.endTime(e)}visitTimestamp(t,e){const n=t.timezone&&e.createString(t.timezone)||void 0;return xc.startTimestamp(e),xc.addUnit(e,t.unit),void 0!==n&&xc.addTimezone(e,n),xc.endTimestamp(e)}visitInterval(t,e){return Sc.startInterval(e),Sc.addUnit(e,t.unit),Sc.endInterval(e)}visitList(t,e){return kc.startList(e),kc.endList(e)}visitStruct(t,e){return Bc.startStruct_(e),Bc.endStruct_(e)}visitUnion(t,e){Oc.startTypeIdsVector(e,t.typeIds.length);const n=Oc.createTypeIdsVector(e,t.typeIds);return Oc.startUnion(e),Oc.addMode(e,t.mode),Oc.addTypeIds(e,n),Oc.endUnion(e)}visitDictionary(t,e){const n=this.visit(t.indices,e);return Tu.startDictionaryEncoding(e),Tu.addId(e,new Fc(t.id,0)),Tu.addIsOrdered(e,t.isOrdered),void 0!==n&&Tu.addIndexType(e,n),Tu.endDictionaryEncoding(e)}visitFixedSizeBinary(t,e){return Ic.startFixedSizeBinary(e),Ic.addByteWidth(e,t.byteWidth),Ic.endFixedSizeBinary(e)}visitFixedSizeList(t,e){return Tc.startFixedSizeList(e),Tc.addListSize(e,t.listSize),Tc.endFixedSizeList(e)}visitMap(t,e){return Ac.startMap(e),Ac.addKeysSorted(e,t.keysSorted),Ac.endMap(e)}};function Dc(t){return new Hc(t.count,Rc(t.columns),Uc(t.columns))}function Nc(t,e){return(t.children||[]).filter(Boolean).map((t=>za.fromJSON(t,e)))}function Rc(t){return(t||[]).reduce(((t,e)=>{return[...t,new Kc(e.count,(n=e.VALIDITY,(n||[]).reduce(((t,e)=>t+ +(0===e)),0))),...Rc(e.children)];var n}),[])}function Uc(t,e=[]){for(let n=-1,r=(t||[]).length;++n<r;){const r=t[n];r.VALIDITY&&e.push(new Xc(e.length,r.VALIDITY.length)),r.TYPE&&e.push(new Xc(e.length,r.TYPE.length)),r.OFFSET&&e.push(new Xc(e.length,r.OFFSET.length)),r.DATA&&e.push(new Xc(e.length,r.DATA.length)),e=Uc(r.children,e)}return e}function zc(t){return new Map(Object.entries(t||{}))}function Vc(t){return new Io(t.isSigned,t.bitWidth)}function Wc(t,e){const n=t.type.name;switch(n){case"NONE":case"null":return new Oo;case"binary":return new Mo;case"utf8":return new Po;case"bool":return new Eo;case"list":return new Lo((e||[])[0]);case"struct":case"struct_":return new Do(e||[])}switch(n){case"int":{const e=t.type;return new Io(e.isSigned,e.bitWidth)}case"floatingpoint":{const e=t.type;return new Ao(Xr[e.precision])}case"decimal":{const e=t.type;return new Co(e.scale,e.precision,e.bitWidth)}case"date":{const e=t.type;return new jo(Kr[e.unit])}case"time":{const e=t.type;return new ko(Jr[e.unit],e.bitWidth)}case"timestamp":{const e=t.type;return new Bo(Jr[e.unit],e.timezone)}case"interval":{const e=t.type;return new Fo(Qr[e.unit])}case"union":{const n=t.type;return new No(qr[n.mode],n.typeIds||[],e||[])}case"fixedsizebinary":{const e=t.type;return new Ro(e.byteWidth)}case"fixedsizelist":{const n=t.type;return new Uo(n.listSize,(e||[])[0])}case"map":{const n=t.type;return new zo((e||[])[0],n.keysSorted)}}throw new Error(`Unrecognized type: "${n}"`)}var $c=vu,Yc=Su,Gc=xu;class Zc{constructor(t,e,n,r){this._version=e,this._headerType=n,this.body=new Uint8Array(0),r&&(this._createHeader=()=>r),this._bodyLength="number"==typeof t?t:t.low}static fromJSON(t,e){const n=new Zc(0,Hr.V4,e);return n._createHeader=function(t,e){return()=>{switch(e){case ti.Schema:return Ua.fromJSON(t);case ti.RecordBatch:return Hc.fromJSON(t);case ti.DictionaryBatch:return qc.fromJSON(t)}throw new Error(`Unrecognized Message type: { name: ${ti[e]}, type: ${e} }`)}}(t,e),n}static decode(t){t=new Gc(Vi(t));const e=Mc.getRootAsMessage(t),n=e.bodyLength(),r=e.version(),i=e.headerType(),o=new Zc(n,r,i);return o._createHeader=function(t,e){return()=>{switch(e){case ti.Schema:return Ua.decode(t.header(new Mu));case ti.RecordBatch:return Hc.decode(t.header(new vc),t.version());case ti.DictionaryBatch:return qc.decode(t.header(new bc),t.version())}throw new Error(`Unrecognized Message type: { name: ${ti[e]}, type: ${e} }`)}}(e,i),o}static encode(t){const e=new Yc;let n=-1;return t.isSchema()?n=Ua.encode(e,t.header()):t.isRecordBatch()?n=Hc.encode(e,t.header()):t.isDictionaryBatch()&&(n=qc.encode(e,t.header())),Mc.startMessage(e),Mc.addVersion(e,Hr.V4),Mc.addHeader(e,n),Mc.addHeaderType(e,t.headerType),Mc.addBodyLength(e,new $c(t.bodyLength,0)),Mc.finishMessageBuffer(e,Mc.endMessage(e)),e.asUint8Array()}static from(t,e=0){if(t instanceof Ua)return new Zc(0,Hr.V4,ti.Schema,t);if(t instanceof Hc)return new Zc(e,Hr.V4,ti.RecordBatch,t);if(t instanceof qc)return new Zc(e,Hr.V4,ti.DictionaryBatch,t);throw new Error(`Unrecognized Message header: ${t}`)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get bodyLength(){return this._bodyLength}header(){return this._createHeader()}isSchema(){return this.headerType===ti.Schema}isRecordBatch(){return this.headerType===ti.RecordBatch}isDictionaryBatch(){return this.headerType===ti.DictionaryBatch}}class Hc{constructor(t,e,n){this._nodes=e,this._buffers=n,this._length="number"==typeof t?t:t.low}get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}}class qc{constructor(t,e,n=!1){this._data=t,this._isDelta=n,this._id="number"==typeof e?e:e.low}get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}}class Xc{constructor(t,e){this.offset="number"==typeof t?t:t.low,this.length="number"==typeof e?e:e.low}}class Kc{constructor(t,e){this.length="number"==typeof t?t:t.low,this.nullCount="number"==typeof e?e:e.low}}function Jc(t,e){const n=[];for(let r,i=-1,o=-1,s=t.childrenLength();++i<s;)(r=t.children(i))&&(n[++o]=za.decode(r,e));return n}function Qc(t){const e=new Map;if(t)for(let n,r,i=-1,o=Math.trunc(t.customMetadataLength());++i<o;)(n=t.customMetadata(i))&&null!=(r=n.key())&&e.set(r,n.value());return e}function tl(t){return new Io(t.isSigned(),t.bitWidth())}function el(t,e){const n=t.typeType();switch(n){case _u.NONE:case _u.Null:return new Oo;case _u.Binary:return new Mo;case _u.Utf8:return new Po;case _u.Bool:return new Eo;case _u.List:return new Lo((e||[])[0]);case _u.Struct_:return new Do(e||[])}switch(n){case _u.Int:{const e=t.type(new Iu);return new Io(e.isSigned(),e.bitWidth())}case _u.FloatingPoint:{const e=t.type(new mc);return new Ao(e.precision())}case _u.Decimal:{const e=t.type(new gc);return new Co(e.scale(),e.precision(),e.bitWidth())}case _u.Date:{const e=t.type(new wc);return new jo(e.unit())}case _u.Time:{const e=t.type(new _c);return new ko(e.unit(),e.bitWidth())}case _u.Timestamp:{const e=t.type(new xc);return new Bo(e.unit(),e.timezone())}case _u.Interval:{const e=t.type(new Sc);return new Fo(e.unit())}case _u.Union:{const n=t.type(new Oc);return new No(n.mode(),n.typeIdsArray()||[],e||[])}case _u.FixedSizeBinary:{const e=t.type(new Ic);return new Ro(e.byteWidth())}case _u.FixedSizeList:{const n=t.type(new Tc);return new Uo(n.listSize(),(e||[])[0])}case _u.Map:{const n=t.type(new Ac);return new zo((e||[])[0],n.keysSorted())}}throw new Error(`Unrecognized type: "${_u[n]}" (${n})`)}za.encode=function(t,e){let n=-1,r=-1,i=-1;const o=e.type;let s=e.typeId;So.isDictionary(o)?(s=o.dictionary.typeId,i=Lc.visit(o,t),r=Lc.visit(o.dictionary,t)):r=Lc.visit(o,t);const a=(o.children||[]).map((e=>za.encode(t,e))),u=Au.createChildrenVector(t,a),c=e.metadata&&e.metadata.size>0?Au.createCustomMetadataVector(t,[...e.metadata].map((([e,n])=>{const r=t.createString(`${e}`),i=t.createString(`${n}`);return Ou.startKeyValue(t),Ou.addKey(t,r),Ou.addValue(t,i),Ou.endKeyValue(t)}))):-1;return e.name&&(n=t.createString(e.name)),Au.startField(t),Au.addType(t,r),Au.addTypeType(t,s),Au.addChildren(t,u),Au.addNullable(t,!!e.nullable),-1!==n&&Au.addName(t,n),-1!==i&&Au.addDictionary(t,i),-1!==c&&Au.addCustomMetadata(t,c),Au.endField(t)},za.decode=function(t,e){let n,r,i,o,s,a;return e&&(a=t.dictionary())?e.has(n=a.id().low)?(o=(o=a.indexType())?tl(o):new To,s=new $o(e.get(n),o,n,a.isOrdered()),r=new za(t.name(),s,t.nullable(),Qc(t))):(o=(o=a.indexType())?tl(o):new To,e.set(n,i=el(t,Jc(t,e))),s=new $o(i,o,n,a.isOrdered()),r=new za(t.name(),s,t.nullable(),Qc(t))):(i=el(t,Jc(t,e)),r=new za(t.name(),i,t.nullable(),Qc(t))),r||null},za.fromJSON=function(t,e){let n,r,i,o,s,a;return e&&(o=t.dictionary)?e.has(n=o.id)?(r=(r=o.indexType)?Vc(r):new To,a=new $o(e.get(n),r,n,o.isOrdered),i=new za(t.name,a,t.nullable,zc(t.customMetadata))):(r=(r=o.indexType)?Vc(r):new To,e.set(n,s=Wc(t,Nc(t,e))),a=new $o(s,r,n,o.isOrdered),i=new za(t.name,a,t.nullable,zc(t.customMetadata))):(s=Wc(t,Nc(t,e)),i=new za(t.name,s,t.nullable,zc(t.customMetadata))),i||null},Ua.encode=function(t,e){const n=e.fields.map((e=>za.encode(t,e)));Mu.startFieldsVector(t,n.length);const r=Mu.createFieldsVector(t,n),i=e.metadata&&e.metadata.size>0?Mu.createCustomMetadataVector(t,[...e.metadata].map((([e,n])=>{const r=t.createString(`${e}`),i=t.createString(`${n}`);return Ou.startKeyValue(t),Ou.addKey(t,r),Ou.addValue(t,i),Ou.endKeyValue(t)}))):-1;return Mu.startSchema(t),Mu.addFields(t,r),Mu.addEndianness(t,nl?gu.Little:gu.Big),-1!==i&&Mu.addCustomMetadata(t,i),Mu.endSchema(t)},Ua.decode=function(t,e=new Map){const n=function(t,e){const n=[];for(let r,i=-1,o=-1,s=t.fieldsLength();++i<s;)(r=t.fields(i))&&(n[++o]=za.decode(r,e));return n}(t,e);return new Ua(n,Qc(t),e)},Ua.fromJSON=function(t,e=new Map){return new Ua(function(t,e){return(t.fields||[]).filter(Boolean).map((t=>za.fromJSON(t,e)))}(t,e),zc(t.customMetadata),e)},Hc.encode=function(t,e){const n=e.nodes||[],r=e.buffers||[];vc.startNodesVector(t,n.length);for(const e of n.slice().reverse())Kc.encode(t,e);const i=t.endVector();vc.startBuffersVector(t,r.length);for(const e of r.slice().reverse())Xc.encode(t,e);const o=t.endVector();return vc.startRecordBatch(t),vc.addLength(t,new $c(e.length,0)),vc.addNodes(t,i),vc.addBuffers(t,o),vc.endRecordBatch(t)},Hc.decode=function(t,e=Hr.V4){if(null!==t.compression())throw new Error("Record batch compression not implemented");return new Hc(t.length(),function(t){const e=[];for(let n,r=-1,i=-1,o=t.nodesLength();++r<o;)(n=t.nodes(r))&&(e[++i]=Kc.decode(n));return e}(t),function(t,e){const n=[];for(let r,i=-1,o=-1,s=t.buffersLength();++i<s;)(r=t.buffers(i))&&(e<Hr.V4&&(r.bb_pos+=8*(i+1)),n[++o]=Xc.decode(r));return n}(t,e))},Hc.fromJSON=Dc,qc.encode=function(t,e){const n=Hc.encode(t,e.data);return bc.startDictionaryBatch(t),bc.addId(t,new $c(e.id,0)),bc.addIsDelta(t,e.isDelta),bc.addData(t,n),bc.endDictionaryBatch(t)},qc.decode=function(t,e=Hr.V4){return new qc(Hc.decode(t.data(),e),t.id(),t.isDelta())},qc.fromJSON=function(t){return new qc(Dc(t.data),t.id,t.isDelta)},Kc.encode=function(t,e){return yc.createFieldNode(t,new $c(e.length,0),new $c(e.nullCount,0))},Kc.decode=function(t){return new Kc(t.length(),t.nullCount())},Xc.encode=function(t,e){return pc.createBuffer(t,new $c(e.offset,0),new $c(e.length,0))},Xc.decode=function(t){return new Xc(t.offset(),t.length())};const nl=(()=>{const t=new ArrayBuffer(2);return new DataView(t).setInt16(0,256,!0),256===new Int16Array(t)[0]})(),rl=t=>`Expected ${ti[t]} Message in stream, but was null or length 0.`,il=t=>`Header pointer of flatbuffer-encoded ${ti[t]} Message is null or length 0.`,ol=(t,e)=>`Expected to read ${t} metadata bytes, but only read ${e}.`,sl=(t,e)=>`Expected to read ${t} bytes for message body, but only read ${e}.`;class al{constructor(t){this.source=t instanceof Yu?t:new Yu(t)}[Symbol.iterator](){return this}next(){let t;return(t=this.readMetadataLength()).done||-1===t.value&&(t=this.readMetadataLength()).done||(t=this.readMetadata(t.value)).done?Uu:t}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}readMessage(t){let e;if((e=this.next()).done)return null;if(null!=t&&e.value.headerType!==t)throw new Error(rl(t));return e.value}readMessageBody(t){if(t<=0)return new Uint8Array(0);const e=Vi(this.source.read(t));if(e.byteLength<t)throw new Error(sl(t,e.byteLength));return e.byteOffset%8==0&&e.byteOffset+e.byteLength<=e.buffer.byteLength?e:e.slice()}readSchema(t=!1){const e=ti.Schema,n=this.readMessage(e),r=null==n?void 0:n.header();if(t&&!r)throw new Error(il(e));return r}readMetadataLength(){const t=this.source.read(ll),e=t&&new xu(t),n=(null==e?void 0:e.readInt32(0))||0;return{done:0===n,value:n}}readMetadata(t){const e=this.source.read(t);if(!e)return Uu;if(e.byteLength<t)throw new Error(ol(t,e.byteLength));return{done:!1,value:Zc.decode(e)}}}class ul{constructor(t,e){this.source=t instanceof Gu?t:ji(t)?new Xu(t,e):new Gu(t)}[Symbol.asyncIterator](){return this}next(){return li(this,void 0,void 0,(function*(){let t;return(t=yield this.readMetadataLength()).done||-1===t.value&&(t=yield this.readMetadataLength()).done||(t=yield this.readMetadata(t.value)).done?Uu:t}))}throw(t){return li(this,void 0,void 0,(function*(){return yield this.source.throw(t)}))}return(t){return li(this,void 0,void 0,(function*(){return yield this.source.return(t)}))}readMessage(t){return li(this,void 0,void 0,(function*(){let e;if((e=yield this.next()).done)return null;if(null!=t&&e.value.headerType!==t)throw new Error(rl(t));return e.value}))}readMessageBody(t){return li(this,void 0,void 0,(function*(){if(t<=0)return new Uint8Array(0);const e=Vi(yield this.source.read(t));if(e.byteLength<t)throw new Error(sl(t,e.byteLength));return e.byteOffset%8==0&&e.byteOffset+e.byteLength<=e.buffer.byteLength?e:e.slice()}))}readSchema(t=!1){return li(this,void 0,void 0,(function*(){const e=ti.Schema,n=yield this.readMessage(e),r=null==n?void 0:n.header();if(t&&!r)throw new Error(il(e));return r}))}readMetadataLength(){return li(this,void 0,void 0,(function*(){const t=yield this.source.read(ll),e=t&&new xu(t),n=(null==e?void 0:e.readInt32(0))||0;return{done:0===n,value:n}}))}readMetadata(t){return li(this,void 0,void 0,(function*(){const e=yield this.source.read(t);if(!e)return Uu;if(e.byteLength<t)throw new Error(ol(t,e.byteLength));return{done:!1,value:Zc.decode(e)}}))}}class cl extends al{constructor(t){super(new Uint8Array(0)),this._schema=!1,this._body=[],this._batchIndex=0,this._dictionaryIndex=0,this._json=t instanceof zu?t:new zu(t)}next(){const{_json:t}=this;if(!this._schema)return this._schema=!0,{done:!1,value:Zc.fromJSON(t.schema,ti.Schema)};if(this._dictionaryIndex<t.dictionaries.length){const e=t.dictionaries[this._dictionaryIndex++];return this._body=e.data.columns,{done:!1,value:Zc.fromJSON(e,ti.DictionaryBatch)}}if(this._batchIndex<t.batches.length){const e=t.batches[this._batchIndex++];return this._body=e.columns,{done:!1,value:Zc.fromJSON(e,ti.RecordBatch)}}return this._body=[],Uu}readMessageBody(t){return function t(e){return(e||[]).reduce(((e,n)=>[...e,...n.VALIDITY&&[n.VALIDITY]||[],...n.TYPE&&[n.TYPE]||[],...n.OFFSET&&[n.OFFSET]||[],...n.DATA&&[n.DATA]||[],...t(n.children)]),[])}(this._body)}readMessage(t){let e;if((e=this.next()).done)return null;if(null!=t&&e.value.headerType!==t)throw new Error(rl(t));return e.value}readSchema(){const t=ti.Schema,e=this.readMessage(t),n=null==e?void 0:e.header();if(!e||!n)throw new Error(il(t));return n}}const ll=4,fl="ARROW1",hl=new Uint8Array(fl.length);for(let t=0;t<fl.length;t+=1)hl[t]=fl.codePointAt(t);function dl(t,e=0){for(let n=-1,r=hl.length;++n<r;)if(hl[n]!==t[e+n])return!1;return!0}const pl=hl.length,yl=pl+ll,vl=2*pl+ll;class bl extends Vu{constructor(t){super(),this._impl=t}get closed(){return this._impl.closed}get schema(){return this._impl.schema}get autoDestroy(){return this._impl.autoDestroy}get dictionaries(){return this._impl.dictionaries}get numDictionaries(){return this._impl.numDictionaries}get numRecordBatches(){return this._impl.numRecordBatches}get footer(){return this._impl.isFile()?this._impl.footer:null}isSync(){return this._impl.isSync()}isAsync(){return this._impl.isAsync()}isFile(){return this._impl.isFile()}isStream(){return this._impl.isStream()}next(){return this._impl.next()}throw(t){return this._impl.throw(t)}return(t){return this._impl.return(t)}cancel(){return this._impl.cancel()}reset(t){return this._impl.reset(t),this._DOMStream=void 0,this._nodeStream=void 0,this}open(t){const e=this._impl.open(t);return Ai(e)?e.then((()=>this)):this}readRecordBatch(t){return this._impl.isFile()?this._impl.readRecordBatch(t):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return Lu.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return Lu.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(t){throw new Error('"throughNode" not available in this environment')}static throughDOM(t,e){throw new Error('"throughDOM" not available in this environment')}static from(t){return t instanceof bl?t:Ei(t)?function(t){return new ml(new Al(t))}(t):ji(t)?function(t){return li(this,void 0,void 0,(function*(){const{size:e}=yield t.stat(),n=new Xu(t,e);return e>=vl&&dl(yield n.readAt(0,pl+7&-8))?new _l(new Tl(n)):new gl(new Ol(n))}))}(t):Ai(t)?(()=>li(this,void 0,void 0,(function*(){return yield bl.from(yield t)})))():ki(t)||Fi(t)||Li(t)||Pi(t)?function(t){return li(this,void 0,void 0,(function*(){const e=yield t.peek(pl+7&-8);return e&&e.byteLength>=4?dl(e)?new wl(new Il(yield t.read())):new gl(new Ol(t)):new gl(new Ol(function(){return hi(this,arguments,(function*(){}))}()))}))}(new Gu(t)):function(t){const e=t.peek(pl+7&-8);return e&&e.byteLength>=4?dl(e)?new wl(new Il(t.read())):new ml(new Sl(t)):new ml(new Sl(function*(){}()))}(new Yu(t))}static readAll(t){return t instanceof bl?t.isSync()?Pl(t):El(t):Ei(t)||ArrayBuffer.isView(t)||Mi(t)||Ci(t)?Pl(t):El(t)}}class ml extends bl{constructor(t){super(t),this._impl=t}readAll(){return[...this]}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return hi(this,arguments,(function*(){yield fi(yield*di(pi(this[Symbol.iterator]())))}))}}class gl extends bl{constructor(t){super(t),this._impl=t}readAll(){var t,e;return li(this,void 0,void 0,(function*(){const n=new Array;try{for(var r,i=pi(this);!(r=yield i.next()).done;){const t=r.value;n.push(t)}}catch(e){t={error:e}}finally{try{r&&!r.done&&(e=i.return)&&(yield e.call(i))}finally{if(t)throw t.error}}return n}))}[Symbol.iterator](){throw new Error("AsyncRecordBatchStreamReader is not Iterable")}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}}class wl extends ml{constructor(t){super(t),this._impl=t}}class _l extends gl{constructor(t){super(t),this._impl=t}}class xl{constructor(t=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=t}get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(t){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=t,this.dictionaries=new Map,this}_loadRecordBatch(t,e){const n=this._loadVectors(t,e,this.schema.fields),r=Ra({type:new Do(this.schema.fields),length:t.length,children:n});return new iu(this.schema,r)}_loadDictionaryBatch(t,e){const{id:n,isDelta:r}=t,{dictionaries:i,schema:o}=this,s=i.get(n);if(r||!s){const i=o.dictionaries.get(n),a=this._loadVectors(t.data,e,[i]);return(s&&r?s.concat(new Fa(a)):new Fa(a)).memoize()}return s.memoize()}_loadVectors(t,e,n){return new rc(e,t.nodes,t.buffers,this.dictionaries).visitMany(n)}}class Sl extends xl{constructor(t,e){super(e),this._reader=Ei(t)?new cl(this._handle=t):new al(this._handle=t)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(t){return this.closed||(this.autoDestroy=Ml(this,t),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}throw(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(t):Uu}return(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(t):Uu}next(){if(this.closed)return Uu;let t;const{_reader:e}=this;for(;t=this._readNextMessageAndValidate();)if(t.isSchema())this.reset(t.header());else{if(t.isRecordBatch()){this._recordBatchIndex++;const n=t.header(),r=e.readMessageBody(t.bodyLength);return{done:!1,value:this._loadRecordBatch(n,r)}}if(t.isDictionaryBatch()){this._dictionaryIndex++;const n=t.header(),r=e.readMessageBody(t.bodyLength),i=this._loadDictionaryBatch(n,r);this.dictionaries.set(n.id,i)}}return this.schema&&0===this._recordBatchIndex?(this._recordBatchIndex++,{done:!1,value:new au(this.schema)}):this.return()}_readNextMessageAndValidate(t){return this._reader.readMessage(t)}}class Ol extends xl{constructor(t,e){super(e),this._reader=new ul(this._handle=t)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}cancel(){return li(this,void 0,void 0,(function*(){!this.closed&&(this.closed=!0)&&(yield this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}))}open(t){return li(this,void 0,void 0,(function*(){return this.closed||(this.autoDestroy=Ml(this,t),this.schema||(this.schema=yield this._reader.readSchema())||(yield this.cancel())),this}))}throw(t){return li(this,void 0,void 0,(function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.throw(t):Uu}))}return(t){return li(this,void 0,void 0,(function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.return(t):Uu}))}next(){return li(this,void 0,void 0,(function*(){if(this.closed)return Uu;let t;const{_reader:e}=this;for(;t=yield this._readNextMessageAndValidate();)if(t.isSchema())yield this.reset(t.header());else{if(t.isRecordBatch()){this._recordBatchIndex++;const n=t.header(),r=yield e.readMessageBody(t.bodyLength);return{done:!1,value:this._loadRecordBatch(n,r)}}if(t.isDictionaryBatch()){this._dictionaryIndex++;const n=t.header(),r=yield e.readMessageBody(t.bodyLength),i=this._loadDictionaryBatch(n,r);this.dictionaries.set(n.id,i)}}return this.schema&&0===this._recordBatchIndex?(this._recordBatchIndex++,{done:!1,value:new au(this.schema)}):yield this.return()}))}_readNextMessageAndValidate(t){return li(this,void 0,void 0,(function*(){return yield this._reader.readMessage(t)}))}}class Il extends Sl{constructor(t,e){super(t instanceof qu?t:new qu(t),e)}get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}isSync(){return!0}isFile(){return!0}open(t){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(const t of this._footer.dictionaryBatches())t&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(t)}readRecordBatch(t){var e;if(this.closed)return null;this._footer||this.open();const n=null===(e=this._footer)||void 0===e?void 0:e.getRecordBatch(t);if(n&&this._handle.seek(n.offset)){const t=this._reader.readMessage(ti.RecordBatch);if(null==t?void 0:t.isRecordBatch()){const e=t.header(),n=this._reader.readMessageBody(t.bodyLength);return this._loadRecordBatch(e,n)}}return null}_readDictionaryBatch(t){var e;const n=null===(e=this._footer)||void 0===e?void 0:e.getDictionaryBatch(t);if(n&&this._handle.seek(n.offset)){const t=this._reader.readMessage(ti.DictionaryBatch);if(null==t?void 0:t.isDictionaryBatch()){const e=t.header(),n=this._reader.readMessageBody(t.bodyLength),r=this._loadDictionaryBatch(e,n);this.dictionaries.set(e.id,r)}}}_readFooter(){const{_handle:t}=this,e=t.size-yl,n=t.readInt32(e),r=t.readAt(e-n,n);return ku.decode(r)}_readNextMessageAndValidate(t){var e;if(this._footer||this.open(),this._footer&&this._recordBatchIndex<this.numRecordBatches){const n=null===(e=this._footer)||void 0===e?void 0:e.getRecordBatch(this._recordBatchIndex);if(n&&this._handle.seek(n.offset))return this._reader.readMessage(t)}return null}}class Tl extends Ol{constructor(t,...e){const n="number"!=typeof e[0]?e.shift():void 0,r=e[0]instanceof Map?e.shift():void 0;super(t instanceof Xu?t:new Xu(t,n),r)}get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}isFile(){return!0}isAsync(){return!0}open(t){const e=Object.create(null,{open:{get:()=>super.open}});return li(this,void 0,void 0,(function*(){if(!this.closed&&!this._footer){this.schema=(this._footer=yield this._readFooter()).schema;for(const t of this._footer.dictionaryBatches())t&&(yield this._readDictionaryBatch(this._dictionaryIndex++))}return yield e.open.call(this,t)}))}readRecordBatch(t){var e;return li(this,void 0,void 0,(function*(){if(this.closed)return null;this._footer||(yield this.open());const n=null===(e=this._footer)||void 0===e?void 0:e.getRecordBatch(t);if(n&&(yield this._handle.seek(n.offset))){const t=yield this._reader.readMessage(ti.RecordBatch);if(null==t?void 0:t.isRecordBatch()){const e=t.header(),n=yield this._reader.readMessageBody(t.bodyLength);return this._loadRecordBatch(e,n)}}return null}))}_readDictionaryBatch(t){var e;return li(this,void 0,void 0,(function*(){const n=null===(e=this._footer)||void 0===e?void 0:e.getDictionaryBatch(t);if(n&&(yield this._handle.seek(n.offset))){const t=yield this._reader.readMessage(ti.DictionaryBatch);if(null==t?void 0:t.isDictionaryBatch()){const e=t.header(),n=yield this._reader.readMessageBody(t.bodyLength),r=this._loadDictionaryBatch(e,n);this.dictionaries.set(e.id,r)}}}))}_readFooter(){return li(this,void 0,void 0,(function*(){const{_handle:t}=this;t._pending&&(yield t._pending);const e=t.size-yl,n=yield t.readInt32(e),r=yield t.readAt(e-n,n);return ku.decode(r)}))}_readNextMessageAndValidate(t){return li(this,void 0,void 0,(function*(){if(this._footer||(yield this.open()),this._footer&&this._recordBatchIndex<this.numRecordBatches){const e=this._footer.getRecordBatch(this._recordBatchIndex);if(e&&(yield this._handle.seek(e.offset)))return yield this._reader.readMessage(t)}return null}))}}class Al extends Sl{constructor(t,e){super(t,e)}_loadVectors(t,e,n){return new ic(e,t.nodes,t.buffers,this.dictionaries).visitMany(n)}}function Ml(t,e){return e&&"boolean"==typeof e.autoDestroy?e.autoDestroy:t.autoDestroy}function*Pl(t){const e=bl.from(t);try{if(!e.open({autoDestroy:!1}).closed)do{yield e}while(!e.reset().open().closed)}finally{e.cancel()}}function El(t){return hi(this,arguments,(function*(){const e=yield fi(bl.from(t));try{if(!(yield fi(e.open({autoDestroy:!1}))).closed)do{yield yield fi(e)}while(!(yield fi(e.reset().open())).closed)}finally{yield fi(e.cancel())}}))}function Cl(t){const e=bl.from(t);return Ai(e)?e.then((t=>Cl(t))):e.isAsync()?e.readAll().then((t=>new lu(t))):new lu(e.readAll())}function jl(t){return jl="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},jl(t)}function kl(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return Bl(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Bl(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){a=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}function Bl(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function Fl(){Fl=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",a=i.toStringTag||"@@toStringTag";function u(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,n){return t[e]=n}}function c(t,e,n,i){var o=e&&e.prototype instanceof h?e:h,s=Object.create(o.prototype),a=new I(i||[]);return r(s,"_invoke",{value:_(t,n,a)}),s}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var f={};function h(){}function d(){}function p(){}var y={};u(y,o,(function(){return this}));var v=Object.getPrototypeOf,b=v&&v(v(T([])));b&&b!==e&&n.call(b,o)&&(y=b);var m=p.prototype=h.prototype=Object.create(y);function g(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function i(r,o,s,a){var u=l(t[r],t,o);if("throw"!==u.type){var c=u.arg,f=c.value;return f&&"object"==jl(f)&&n.call(f,"__await")?e.resolve(f.__await).then((function(t){i("next",t,s,a)}),(function(t){i("throw",t,s,a)})):e.resolve(f).then((function(t){c.value=t,s(c)}),(function(t){return i("throw",t,s,a)}))}a(u.arg)}var o;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){i(t,n,e,r)}))}return o=o?o.then(r,r):r()}})}function _(t,e,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return{value:void 0,done:!0}}for(n.method=i,n.arg=o;;){var s=n.delegate;if(s){var a=x(s,n);if(a){if(a===f)continue;return a}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var u=l(t,e,n);if("normal"===u.type){if(r=n.done?"completed":"suspendedYield",u.arg===f)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r="completed",n.method="throw",n.arg=u.arg)}}}function x(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,x(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),f;var i=l(r,t.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,f;var o=i.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,f):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,f)}function S(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function O(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(S,this),this.reset(!0)}function T(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,i=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return i.next=i}}return{next:A}}function A(){return{value:void 0,done:!0}}return d.prototype=p,r(m,"constructor",{value:p,configurable:!0}),r(p,"constructor",{value:d,configurable:!0}),d.displayName=u(p,a,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===d||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,p):(t.__proto__=p,u(t,a,"GeneratorFunction")),t.prototype=Object.create(m),t},t.awrap=function(t){return{__await:t}},g(w.prototype),u(w.prototype,s,(function(){return this})),t.AsyncIterator=w,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var s=new w(c(e,n,r,i),o);return t.isGeneratorFunction(n)?s:s.next().then((function(t){return t.done?t.value:s.next()}))},g(m),u(m,a,"Generator"),u(m,o,(function(){return this})),u(m,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=T,I.prototype={constructor:I,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(O),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return s.type="throw",s.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],s=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var a=n.call(o,"catchLoc"),u=n.call(o,"finallyLoc");if(a&&u){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(a){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var s=o?o.completion:{};return s.type=t,s.arg=e,o?(this.method="next",this.next=o.finallyLoc,f):this.complete(s)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),f},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),O(n),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;O(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:T(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),f}},t}function Ll(t,e,n,r,i,o,s){try{var a=t[o](s),u=a.value}catch(t){return void n(t)}a.done?e(u):Promise.resolve(u).then(r,i)}function Dl(t){return function(){var e=this,n=arguments;return new Promise((function(r,i){var o=t.apply(e,n);function s(t){Ll(o,r,i,s,a,"next",t)}function a(t){Ll(o,r,i,s,a,"throw",t)}s(void 0)}))}}function Nl(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Rl(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==jl(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==jl(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===jl(i)?i:String(i)),r)}var i}function Ul(t,e){return Ul=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Ul(t,e)}function zl(t,e){if(e&&("object"===jl(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function Vl(t){return Vl=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Vl(t)}var Wl=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Ul(t,e)}(s,t);var e,n,r,i,o=(r=s,i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=Vl(r);if(i){var n=Vl(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return zl(this,t)});function s(t,e){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Nl(this,s),(n=o.call(this,t,0,r)).app=e,n.info=void 0,n.infoLoadingStatus="notLoaded",n.cache={},n.readParquetFun=r.readParquetFun,n}return e=s,n=[{key:"loadInfo",value:function(t){var e=this;return this.info||"notLoaded"!==this.infoLoadingStatus?!t||"loaded"!==this.infoLoadingStatus&&"failed"!==this.infoLoadingStatus||t():Dl(Fl().mark((function n(){var r;return Fl().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,Wr(e.url+"info.json");case 3:r=n.sent,e.info=r,e.resolution=r.resolutionGeo,e.infoLoadingStatus="loaded",t&&t(),n.next=13;break;case 10:n.prev=10,n.t0=n.catch(0),e.infoLoadingStatus="failed";case 13:case"end":return n.stop()}}),n,null,[[0,10]])})))(),this}},{key:"getTilingEnvelope",value:function(t){if(this.info){var e=this.info.originPoint,n=this.info.resolutionGeo,r=this.info.tileSizeCell;return{xMin:Math.floor((t.xMin-e.x)/(n*r)),xMax:Math.floor((t.xMax-e.x)/(n*r)),yMin:Math.floor((t.yMin-e.y)/(n*r)),yMax:Math.floor((t.yMax-e.y)/(n*r))}}this.loadInfo((function(){}))}},{key:"getData",value:function(t,e){var n=this;if(!this.info)return this;var r=this.getTilingEnvelope(t);if(!r)return this;for(var i=this.info.tilingBounds,o=this.info.format,s=function(t){for(var s=function(r){if(n.cache[t]||(n.cache[t]={}),n.cache[t][r])return"continue";n.cache[t][r]="loading",Dl(Fl().mark((function i(){var s,a,u,c,l,f,h,d,p,y,v,b,m,g,w,_,x,S,O,I,T;return Fl().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:if(i.prev=0,o&&"CSV"!==o){i.next=33;break}return i.next=4,Ir(n.url+t+"/"+r+".csv");case 4:if(a=i.sent,!n.preprocess){i.next=29;break}s=[],u=kl(a),i.prev=9,u.s();case 11:if((c=u.n()).done){i.next=19;break}if(l=c.value,0!=n.preprocess(l)){i.next=16;break}return i.abrupt("continue",17);case 16:s.push(l);case 17:i.next=11;break;case 19:i.next=24;break;case 21:i.prev=21,i.t0=i.catch(9),u.e(i.t0);case 24:return i.prev=24,u.f(),i.finish(24);case 27:i.next=30;break;case 29:s=a;case 30:i.next=74;break;case 33:if("PARQUET"!==o){i.next=73;break}if(n.readParquetFun){i.next=36;break}throw new Error("readParquet function needed for parquet dataset");case 36:return i.next=38,fetch(n.url+t+"/"+r+".parquet");case 38:return f=i.sent,i.t1=Uint8Array,i.next=42,f.arrayBuffer();case 42:i.t2=i.sent,h=new i.t1(i.t2),d=n.readParquetFun(h),p=Cl(d),s=[],y=kl(p),i.prev=48,y.s();case 50:if((v=y.n()).done){i.next=63;break}if(b=v.value,m=b.toJSON(),!n.preprocess){i.next=60;break}if(0!=n.preprocess(m)){i.next=57;break}return i.abrupt("continue",61);case 57:s.push(m),i.next=61;break;case 60:s.push(m);case 61:i.next=50;break;case 63:i.next=68;break;case 65:i.prev=65,i.t3=i.catch(48),y.e(i.t3);case 68:return i.prev=68,y.f(),i.finish(68);case 71:i.next=74;break;case 73:throw new Error("Tiled format not supported: "+o);case 74:i.next=80;break;case 76:return i.prev=76,i.t4=i.catch(0),n.cache[t][r]="failed",i.abrupt("return");case 80:if(n.info){i.next=83;break}return console.error("Tile info inknown"),i.abrupt("return");case 83:if(g=new ai(s,t,r,n.info),n.cache[t][r]=g,e){i.next=88;break}return i.abrupt("return");case 88:w=!1,_=n.app.getZoomFactor(),x=kl(n.app.layers),i.prev=91,x.s();case 93:if((S=x.n()).done){i.next=103;break}if((O=S.value).visible){i.next=97;break}return i.abrupt("continue",101);case 97:if(O.getDatasetComponent(_)==n){i.next=99;break}return i.abrupt("continue",101);case 99:return w=!0,i.abrupt("break",103);case 101:i.next=93;break;case 103:i.next=108;break;case 105:i.prev=105,i.t5=i.catch(91),x.e(i.t5);case 108:return i.prev=108,x.f(),i.finish(108);case 111:if(w){i.next=114;break}return i.abrupt("return");case 114:if(I=n.app.updateExtentGeo(),T=g.extGeo,!(I.xMax<=T.xMin)){i.next=118;break}return i.abrupt("return");case 118:if(!(I.xMin>=T.xMax)){i.next=120;break}return i.abrupt("return");case 120:if(!(I.yMax<=T.yMin)){i.next=122;break}return i.abrupt("return");case 122:if(!(I.yMin>=T.yMax)){i.next=124;break}return i.abrupt("return");case 124:e();case 127:case"end":return i.stop()}}),i,null,[[0,76],[9,21,24,27],[48,65,68,71],[91,105,108,111]])})))()},a=Math.max(r.yMin,i.yMin);a<=Math.min(r.yMax,i.yMax);a++)s(a)},a=Math.max(r.xMin,i.xMin);a<=Math.min(r.xMax,i.xMax);a++)s(a);return this}},{key:"updateViewCache",value:function(t){if(this.cellsViewCache=[],this.info){var e=this.getTilingEnvelope(t);if(e)for(var n=this.info.tilingBounds,r=Math.max(e.xMin,n.xMin);r<=Math.min(e.xMax,n.xMax);r++)if(this.cache[r])for(var i=Math.max(e.yMin,n.yMin);i<=Math.min(e.yMax,n.yMax);i++){var o=this.cache[r][i];if(o&&"string"!=typeof o){var s,a=kl(o.cells);try{for(a.s();!(s=a.n()).done;){var u=s.value;+u.x+this.resolution<t.xMin||+u.x-this.resolution>t.xMax||+u.y+this.resolution<t.yMin||+u.y-this.resolution>t.yMax||this.cellsViewCache.push(u)}}catch(t){a.e(t)}finally{a.f()}}}}}}],n&&Rl(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),s}(Er);function $l(t){return $l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},$l(t)}function Yl(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==$l(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==$l(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===$l(i)?i:String(i)),r)}var i}var Gl=function(){function t(e){var n=this;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.visible=0!=e.visible,this.minZoom=e.minZoom||0,this.maxZoom=e.maxZoom||1/0,this.minZoom>=this.maxZoom)throw new Error("Unexpected zoom limits for layer. Zoom min should be smaller than zoom max.");if(this.cache={},this.url=e.url,this.urlFun=e.urlFun||function(t,e,r){return n.url+r+"/"+t+"/"+e+".png"},this.resolutions=e.resolutions,!this.resolutions||0==this.resolutions.length)throw new Error("No resolutions provided for background layer");this.nbPix=e.nbPix||256,this.origin=e.origin||[0,0],this.z0=e.z0||0,this.filterColor=e.filterColor}var e,n;return e=t,n=[{key:"get",value:function(t,e,n){var r=this.cache[t];if(r&&(r=r[e]))return r[n]}},{key:"put",value:function(t,e,n,r){this.cache[e]||(this.cache[e]={}),this.cache[e][n]||(this.cache[e][n]={}),this.cache[e][n][r]=t}},{key:"draw",value:function(t){var e=this;if(this.resolutions&&0!=this.resolutions.length){var n=t.getZf(),r=this.origin[0],i=this.origin[1],o=0;for(o=0;o<this.resolutions.length&&!(this.resolutions[o]<n);o++);o-=1,o=Math.max(0,o),o=Math.min(o,this.resolutions.length-1);var s=this.resolutions[o];o+=this.z0;for(var a=this.nbPix*s,u=a/n,c=function(t){return Math.ceil((t-r)/a)},l=function(t){return Math.ceil(-(t-i)/a)},f=c(t.extGeo.xMin)-1,h=c(t.extGeo.xMax),d=l(t.extGeo.yMin),p=l(t.extGeo.yMax)-1,y=function(n){for(var s=function(s){var c=e.get(o,n,s);if(!c){var l=new Image;return e.put(l,o,n,s),l.onload=function(){t.redraw()},l.onerror=function(){e.put("failed",o,n,s)},l.src=e.urlFun(n,s,o),"continue"}if("failed"===c)return"continue";if(!(c instanceof HTMLImageElement))return console.log(c),"continue";if(0==c.width||0==c.height)return"continue";var f=r+n*a,h=i-s*a;try{t.ctx.drawImage(c,t.geoToPixX(f),t.geoToPixY(h),u,u)}catch(t){console.error(t)}},c=p;c<d;c++)s(c)},v=f;v<h;v++)y(v);if(this.filterColor){var b=this.filterColor(n);b&&"none"!=b&&(t.ctx.fillStyle=b,t.ctx.fillRect(0,0,t.w,t.h))}}else console.error("No resolutions provided for background layer")}}],n&&Yl(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function Zl(t){return Zl="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Zl(t)}function Hl(){Hl=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",a=i.toStringTag||"@@toStringTag";function u(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,n){return t[e]=n}}function c(t,e,n,i){var o=e&&e.prototype instanceof h?e:h,s=Object.create(o.prototype),a=new I(i||[]);return r(s,"_invoke",{value:_(t,n,a)}),s}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var f={};function h(){}function d(){}function p(){}var y={};u(y,o,(function(){return this}));var v=Object.getPrototypeOf,b=v&&v(v(T([])));b&&b!==e&&n.call(b,o)&&(y=b);var m=p.prototype=h.prototype=Object.create(y);function g(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function i(r,o,s,a){var u=l(t[r],t,o);if("throw"!==u.type){var c=u.arg,f=c.value;return f&&"object"==Zl(f)&&n.call(f,"__await")?e.resolve(f.__await).then((function(t){i("next",t,s,a)}),(function(t){i("throw",t,s,a)})):e.resolve(f).then((function(t){c.value=t,s(c)}),(function(t){return i("throw",t,s,a)}))}a(u.arg)}var o;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){i(t,n,e,r)}))}return o=o?o.then(r,r):r()}})}function _(t,e,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return{value:void 0,done:!0}}for(n.method=i,n.arg=o;;){var s=n.delegate;if(s){var a=x(s,n);if(a){if(a===f)continue;return a}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var u=l(t,e,n);if("normal"===u.type){if(r=n.done?"completed":"suspendedYield",u.arg===f)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r="completed",n.method="throw",n.arg=u.arg)}}}function x(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,x(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),f;var i=l(r,t.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,f;var o=i.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,f):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,f)}function S(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function O(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(S,this),this.reset(!0)}function T(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,i=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return i.next=i}}return{next:A}}function A(){return{value:void 0,done:!0}}return d.prototype=p,r(m,"constructor",{value:p,configurable:!0}),r(p,"constructor",{value:d,configurable:!0}),d.displayName=u(p,a,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===d||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,p):(t.__proto__=p,u(t,a,"GeneratorFunction")),t.prototype=Object.create(m),t},t.awrap=function(t){return{__await:t}},g(w.prototype),u(w.prototype,s,(function(){return this})),t.AsyncIterator=w,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var s=new w(c(e,n,r,i),o);return t.isGeneratorFunction(n)?s:s.next().then((function(t){return t.done?t.value:s.next()}))},g(m),u(m,a,"Generator"),u(m,o,(function(){return this})),u(m,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=T,I.prototype={constructor:I,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(O),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return s.type="throw",s.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],s=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var a=n.call(o,"catchLoc"),u=n.call(o,"finallyLoc");if(a&&u){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(a){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var s=o?o.completion:{};return s.type=t,s.arg=e,o?(this.method="next",this.next=o.finallyLoc,f):this.complete(s)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),f},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),O(n),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;O(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:T(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),f}},t}function ql(t,e,n,r,i,o,s){try{var a=t[o](s),u=a.value}catch(t){return void n(t)}a.done?e(u):Promise.resolve(u).then(r,i)}function Xl(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return Kl(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Kl(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){a=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}function Kl(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function Jl(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==Zl(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Zl(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Zl(i)?i:String(i)),r)}var i}var Ql=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.url=e.url,this.style=e.style||function(){return"bold 1em Arial"},this.color=e.color||(e.dark?function(){return"#ddd"}:function(){return"#222"}),this.haloColor=e.haloColor||(e.dark?function(){return"#000000BB"}:function(){return"#FFFFFFBB"}),this.haloWidth=e.haloWidth||function(){return 4},this.textAlign=e.textAlign||"start",this.offsetPix=e.offsetPix||[5,5],this.preprocess=e.preprocess,this.labels=void 0,this.loadingStatus="notLoaded"}var e,n,r,i;return e=t,n=[{key:"draw",value:function(t){if(this.labels){var e=t.getZf();t.ctx.textAlign=this.textAlign||"start",t.ctx.lineJoin="bevel",t.ctx.lineCap="butt",t.initCanvasTransform();var n,r=Xl(this.labels);try{for(r.s();!(n=r.n()).done;){var i=n.value,o=this.style(i,e);if(o&&(t.ctx.font=o,t.toDraw(i))){var s=t.geoToPixX(i.x)+this.offsetPix[0],a=t.geoToPixY(i.y)-this.offsetPix[1];if(this.haloColor&&this.haloWidth){var u=this.haloColor(i,e),c=this.haloWidth(i,e);u&&c&&c>0&&(t.ctx.strokeStyle=u,t.ctx.lineWidth=c,t.ctx.strokeText(i.name,s,a))}if(this.color){var l=this.color(i,e);l&&(t.ctx.fillStyle=l,t.ctx.fillText(i.name,s,a))}}}}catch(t){r.e(t)}finally{r.f()}}else this.load(t.redraw)}},{key:"load",value:(r=Hl().mark((function t(e){var n,r,i,o;return Hl().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this.url){t.next=5;break}return console.log("Failed loading labels: No URL specified. "+this.url),this.loadingStatus="failed",this.labels=[],t.abrupt("return");case 5:if("notLoaded"==this.loadingStatus){t.next=7;break}return t.abrupt("return");case 7:return this.loadingStatus="loading",t.prev=8,t.next=11,Ir(this.url);case 11:if(n=t.sent,!this.preprocess){t.next=35;break}this.labels=[],r=Xl(n),t.prev=15,r.s();case 17:if((i=r.n()).done){t.next=25;break}if(o=i.value,0!=this.preprocess(o)){t.next=22;break}return t.abrupt("continue",23);case 22:this.labels.push(o);case 23:t.next=17;break;case 25:t.next=30;break;case 27:t.prev=27,t.t0=t.catch(15),r.e(t.t0);case 30:return t.prev=30,r.f(),t.finish(30);case 33:t.next=36;break;case 35:this.labels=n;case 36:this.loadingStatus="loaded",e&&e(),t.next=45;break;case 40:t.prev=40,t.t1=t.catch(8),console.log("Failed loading labels from "+this.url),this.labels=[],this.loadingStatus="failed";case 45:case"end":return t.stop()}}),t,this,[[8,40],[15,27,30,33]])})),i=function(){var t=this,e=arguments;return new Promise((function(n,i){var o=r.apply(t,e);function s(t){ql(o,n,i,s,a,"next",t)}function a(t){ql(o,n,i,s,a,"throw",t)}s(void 0)}))},function(t){return i.apply(this,arguments)})}],n&&Jl(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function tf(t){return tf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},tf(t)}function ef(){ef=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",a=i.toStringTag||"@@toStringTag";function u(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,n){return t[e]=n}}function c(t,e,n,i){var o=e&&e.prototype instanceof h?e:h,s=Object.create(o.prototype),a=new I(i||[]);return r(s,"_invoke",{value:_(t,n,a)}),s}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var f={};function h(){}function d(){}function p(){}var y={};u(y,o,(function(){return this}));var v=Object.getPrototypeOf,b=v&&v(v(T([])));b&&b!==e&&n.call(b,o)&&(y=b);var m=p.prototype=h.prototype=Object.create(y);function g(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function i(r,o,s,a){var u=l(t[r],t,o);if("throw"!==u.type){var c=u.arg,f=c.value;return f&&"object"==tf(f)&&n.call(f,"__await")?e.resolve(f.__await).then((function(t){i("next",t,s,a)}),(function(t){i("throw",t,s,a)})):e.resolve(f).then((function(t){c.value=t,s(c)}),(function(t){return i("throw",t,s,a)}))}a(u.arg)}var o;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){i(t,n,e,r)}))}return o=o?o.then(r,r):r()}})}function _(t,e,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return{value:void 0,done:!0}}for(n.method=i,n.arg=o;;){var s=n.delegate;if(s){var a=x(s,n);if(a){if(a===f)continue;return a}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var u=l(t,e,n);if("normal"===u.type){if(r=n.done?"completed":"suspendedYield",u.arg===f)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r="completed",n.method="throw",n.arg=u.arg)}}}function x(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,x(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),f;var i=l(r,t.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,f;var o=i.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,f):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,f)}function S(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function O(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(S,this),this.reset(!0)}function T(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,i=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return i.next=i}}return{next:A}}function A(){return{value:void 0,done:!0}}return d.prototype=p,r(m,"constructor",{value:p,configurable:!0}),r(p,"constructor",{value:d,configurable:!0}),d.displayName=u(p,a,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===d||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,p):(t.__proto__=p,u(t,a,"GeneratorFunction")),t.prototype=Object.create(m),t},t.awrap=function(t){return{__await:t}},g(w.prototype),u(w.prototype,s,(function(){return this})),t.AsyncIterator=w,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var s=new w(c(e,n,r,i),o);return t.isGeneratorFunction(n)?s:s.next().then((function(t){return t.done?t.value:s.next()}))},g(m),u(m,a,"Generator"),u(m,o,(function(){return this})),u(m,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=T,I.prototype={constructor:I,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(O),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return s.type="throw",s.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],s=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var a=n.call(o,"catchLoc"),u=n.call(o,"finallyLoc");if(a&&u){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(a){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var s=o?o.completion:{};return s.type=t,s.arg=e,o?(this.method="next",this.next=o.finallyLoc,f):this.complete(s)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),f},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),O(n),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;O(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:T(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),f}},t}function nf(t,e,n,r,i,o,s){try{var a=t[o](s),u=a.value}catch(t){return void n(t)}a.done?e(u):Promise.resolve(u).then(r,i)}function rf(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return of(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?of(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){a=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}function of(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function sf(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==tf(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==tf(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===tf(i)?i:String(i)),r)}var i}var af=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.url=e.url,this.preprocess=e.preprocess,this.color=e.color||function(t,e){return"gray"},this.width=e.width||function(t,e){return 2},this.lineDash=e.lineDash||function(t,e){},this.fs=void 0,this.loadingStatus="notLoaded"}var e,n,r,i;return e=t,n=[{key:"draw",value:function(t){if(this.fs){var e=t.getZf();t.setCanvasTransform();var n,r=rf(this.fs);try{for(r.s();!(n=r.n()).done;){var i=n.value,o=i.geometry.coordinates;if(!(o.length<2)){var s=this.color(i,e);if(s&&"none"!=s){t.ctx.strokeStyle=s;var a=this.width(i,e);if(a&&!(a<0)){t.ctx.lineWidth=a*e;var u=this.lineDash(i,e);u&&t.ctx.setLineDash(u),t.ctx.beginPath(),t.ctx.moveTo(o[0][0],o[0][1]);for(var c=1;c<o.length;c++)t.ctx.lineTo(o[c][0],o[c][1]);t.ctx.stroke()}}}}}catch(t){r.e(t)}finally{r.f()}t.ctx.setLineDash([])}else this.load(t.redraw)}},{key:"load",value:(r=ef().mark((function t(e){var n,r,i,o,s;return ef().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this.url){t.next=5;break}return console.log("Failed loading boundaries: No URL specified. "+this.url),this.loadingStatus="failed",this.labels=[],t.abrupt("return");case 5:if("notLoaded"==this.loadingStatus){t.next=7;break}return t.abrupt("return");case 7:return this.loadingStatus="loading",t.prev=8,t.next=11,Wr(this.url);case 11:if(n=t.sent,r=n.features,!this.preprocess){t.next=36;break}this.fs=[],i=rf(r),t.prev=16,i.s();case 18:if((o=i.n()).done){t.next=26;break}if(s=o.value,0!=this.preprocess(s)){t.next=23;break}return t.abrupt("continue",24);case 23:this.fs.push(s);case 24:t.next=18;break;case 26:t.next=31;break;case 28:t.prev=28,t.t0=t.catch(16),i.e(t.t0);case 31:return t.prev=31,i.f(),t.finish(31);case 34:t.next=37;break;case 36:this.fs=r;case 37:this.loadingStatus="loaded",e&&e(),t.next=46;break;case 41:t.prev=41,t.t1=t.catch(8),console.log("Failed loading boundaries from "+this.url),this.fs=[],this.loadingStatus="failed";case 46:case"end":return t.stop()}}),t,this,[[8,41],[16,28,31,34]])})),i=function(){var t=this,e=arguments;return new Promise((function(n,i){var o=r.apply(t,e);function s(t){nf(o,n,i,s,a,"next",t)}function a(t){nf(o,n,i,s,a,"throw",t)}s(void 0)}))},function(t){return i.apply(this,arguments)})}],n&&sf(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function uf(t){return uf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},uf(t)}function cf(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return lf(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?lf(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){a=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}function lf(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function ff(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==uf(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==uf(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===uf(i)?i:String(i)),r)}var i}var hf=function(){function t(e,n){var r=this;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),n=n||{},this.layers=[],e=e||document.getElementById("gridviz")){this.w=n.w||e.offsetWidth,this.h=n.h||e.offsetHeight;var i=document.createElement("canvas");i.setAttribute("width",""+this.w),i.setAttribute("height",""+this.h),e.appendChild(i),this.cg=new Kn(i),this.cg.redraw=function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];r.legend&&t&&r.legend.selectAll("*").remove(),r.cg.initCanvasTransform(),r.cg.clear(r.cg.backgroundColor);var e=r.getZoomFactor();r.updateExtentGeo();var n,i=cf(r.bgLayers);try{for(i.s();!(n=i.n()).done;){var o=n.value;o.visible&&(e>o.maxZoom||e<o.minZoom||o.draw(r.cg))}}catch(t){i.e(t)}finally{i.f()}var s,a=cf(r.layers);try{for(a.s();!(s=a.n()).done;){var u=s.value;if(u.visible&&!(e>u.maxZoom||e<u.minZoom)){var c=u.getDatasetComponent(e);if(c){if(t&&c.getData(r.cg.extGeo,(function(){r.cg.redraw()})),t&&c.updateViewCache(r.cg.extGeo),t){var l,f=cf(u.styles);try{for(f.s();!(l=f.n()).done;){var h=l.value;e>h.maxZoom||e<h.minZoom||h.draw(c.getViewCache(),c.getResolution(),r.cg)}}catch(t){f.e(t)}finally{f.f()}}if(r.legend&&t){var d,p=cf(u.styles);try{for(p.s();!(d=p.n()).done;){var y=d.value;if(!(e>y.maxZoom||e<y.minZoom)){var v,b=cf(y.legends);try{for(b.s();!(v=b.n()).done;){var m=v.value;r.legend.node().append(m.div.node())}}catch(t){b.e(t)}finally{b.f()}if(y.styles){var g,w=cf(y.styles);try{for(w.s();!(g=w.n()).done;){var _=g.value;if(!(e>_.maxZoom||e<_.minZoom)){var x,S=cf(_.legends);try{for(S.s();!(x=S.n()).done;){var O=x.value;r.legend.node().append(O.div.node())}}catch(t){S.e(t)}finally{S.f()}}}}catch(t){w.e(t)}finally{w.f()}}}}}catch(t){p.e(t)}finally{p.f()}}}}}}catch(t){a.e(t)}finally{a.f()}return r.showBoundaries&&r.boundaryLayer&&r.boundaryLayer.draw(r.cg),r.showLabels&&r.labelLayer&&r.labelLayer.draw(r.cg),r.canvasSave=null,r},this.bgLayers=[],this.showBgLayers=!0,this.labelLayer=void 0,this.showLabels=!0,this.boundaryLayer=void 0,this.showBoundaries=!0,this.legendDivId=n.legendDivId||"gvizLegend",this.legend=bt("#"+this.legendDivId),this.legend.empty()&&(this.legend=bt("body").append("div").attr("id",this.legendDivId).style("position","absolute").style("width","auto").style("height","auto").style("background","#FFFFFFCC").style("border","0px").style("border-radius","5px").style("box-shadow","3px 3px 3px grey, -3px -3px 3px #ddd").style("font-family","Helvetica, Arial, sans-serif").style("top","20px").style("right","20px")),this.tooltip=new fr;var o=function(t){var e={x:r.cg.pixToGeoX(t.offsetX),y:r.cg.pixToGeoY(t.offsetY)},n=r.getCellFocusInfo(e);n?(r.tooltip.setPosition(t),r.tooltip.show(),r.tooltip.html(n.html),r.canvasSave?r.cg.ctx.drawImage(r.canvasSave,0,0):(r.canvasSave=document.createElement("canvas"),r.canvasSave.setAttribute("width",""+r.w),r.canvasSave.setAttribute("height",""+r.h),r.canvasSave.getContext("2d").drawImage(r.cg.canvas,0,0)),r.cg.initCanvasTransform(),r.cg.ctx.strokeStyle=r.selectionRectangleColor,r.cg.ctx.lineWidth=r.selectionRectangleWidthPix,r.cg.ctx.beginPath(),r.cg.ctx.rect(r.cg.geoToPixX(n.cell.x)-r.selectionRectangleWidthPix/2,r.cg.geoToPixY(n.cell.y)+r.selectionRectangleWidthPix/2,n.resolution/r.getZoomFactor()+r.selectionRectangleWidthPix,-n.resolution/r.getZoomFactor()-r.selectionRectangleWidthPix),r.cg.ctx.stroke()):(r.tooltip.hide(),r.canvasSave&&r.cg.ctx.drawImage(r.canvasSave,0,0))};e.addEventListener("mouseover",(function(t){o(t)})),e.addEventListener("mousemove",(function(t){o(t)})),e.addEventListener("mouseout",(function(){r.tooltip.hide()})),this.cg.onZoomStartFun=function(){r.tooltip.hide()},this.canvasSave=null,this.selectionRectangleColor=n.selectionRectangleColor||"red",this.selectionRectangleWidthPix=n.selectionRectangleWidthPix||4}else console.error("Cannot find gridviz container element.")}var e,n;return e=t,n=[{key:"updateExtentGeo",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:20;return this.cg.updateExtentGeo(t)}},{key:"getCellFocusInfo",value:function(t){for(var e=this.getZoomFactor(),n=this.layers.length-1;n>=0;n--){var r=this.layers[n];if(r.visible&&r.cellInfoHTML&&"none"!==r.cellInfoHTML){var i=r.getDatasetComponent(e);if(i){var o=i.getCellFromPosition(t,i.getViewCache());if(!o)return;var s=r.cellInfoHTML(o,i.getResolution());if(!s)return;return{cell:o,html:s,resolution:i.getResolution()}}}}}},{key:"getGeoCenter",value:function(){return this.cg.getCenter()}},{key:"setGeoCenter",value:function(t){return this.cg.setCenter(t),this}},{key:"getZoomFactor",value:function(){return this.cg.getZf()}},{key:"setZoomFactor",value:function(t){return this.cg.setZf(t),this}},{key:"getZoomFactorExtent",value:function(){return this.cg.getZfExtent()}},{key:"setZoomFactorExtent",value:function(t){return this.cg.setZfExtent(t),this}},{key:"getBackgroundColor",value:function(){return this.cg.backgroundColor}},{key:"setBackgroundColor",value:function(t){return this.cg.backgroundColor=t,this}},{key:"getBoundaryLayer",value:function(){return this.boundaryLayer}},{key:"setBoundaryLayer",value:function(t){return this.boundaryLayer=new af(t),this}},{key:"getLabelLayer",value:function(){return this.labelLayer}},{key:"setLabelLayer",value:function(t){return this.labelLayer=new Ql(t),this}},{key:"redraw",value:function(){return this.cg.redraw(),this}},{key:"addLayerFromDataset",value:function(t,e,n){var r=new er(t,e,n);return this.layers.push(r),this}},{key:"makeCSVGridDataset",value:function(t,e,n){var r=this;return new ar([new zr(t,e,n).getData(void 0,(function(){r.cg.redraw()}))],[],n)}},{key:"makeTiledGridDataset",value:function(t,e){var n=this;return new ar([new Wl(t,this,e).loadInfo((function(){n.cg.redraw()}))],[],e)}},{key:"makeMultiScaleCSVGridDataset",value:function(t,e,n){var r=this;return ar.make(t,(function(t){return new zr(e(t),t,n).getData(void 0,(function(){r.cg.redraw()}))}),n)}},{key:"makeMultiScaleTiledGridDataset",value:function(t,e,n){var r=this;return ar.make(t,(function(t){return new Wl(e(t),r,n).loadInfo((function(){r.cg.redraw()}))}),n)}},{key:"addCSVGridLayer",value:function(t,e,n,r){var i=this.makeCSVGridDataset(t,e,r);return this.addLayerFromDataset(i,n,r)}},{key:"addTiledGridLayer",value:function(t,e,n){var r=this.makeTiledGridDataset(t,n);return this.addLayerFromDataset(r,e,n)}},{key:"addMultiScaleCSVGridLayer",value:function(t,e,n,r){var i=this.makeMultiScaleCSVGridDataset(t,e,r);return this.addLayerFromDataset(i,n,r)}},{key:"addMultiScaleTiledGridLayer",value:function(t,e,n,r){var i=this.makeMultiScaleTiledGridDataset(t,e,r);return this.addLayerFromDataset(i,n,r)}},{key:"addBackgroundLayer",value:function(t){return this.bgLayers.push(new Gl(t)),this.redraw(),this}},{key:"addZoomSlider",value:function(t,e){return this.cg.addZoomSlider(t,e),this}},{key:"setViewFromURL",value:function(){return this.cg.setViewFromURL(),this}}],n&&ff(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function df(t){return df="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},df(t)}function pf(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return yf(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?yf(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){a=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}function yf(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function vf(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==df(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==df(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===df(i)?i:String(i)),r)}var i}var bf=function(){function t(e){if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.filter=e.filter||function(){return!0},this.offset=e.offset||function(t,e,n){return{dx:0,dy:0}},this.minZoom=e.minZoom||0,this.maxZoom=e.maxZoom||1/0,this.minZoom>=this.maxZoom)throw new Error("Unexpected zoom limits for layer. Zoom min should be smaller than zoom max.");this.legends=[]}var e,n,r;return e=t,r=[{key:"getStatistics",value:function(t,e,n){if(t&&0!=t.length){var r,i=1/0,o=-1/0,s=pf(t);try{for(s.s();!(r=s.n()).done;){var a=+e(r.value);n&&!a||(a<i&&(i=a),a>o&&(o=a))}}catch(t){s.e(t)}finally{s.f()}return{min:i,max:o}}}}],(n=[{key:"draw",value:function(t,e,n){throw new Error("Method draw not implemented.")}},{key:"getOffset",value:function(){return this.offset}},{key:"setOffset",value:function(t){return this.offset=t,this}},{key:"updateLegends",value:function(t){var e,n=pf(this.legends);try{for(n.s();!(e=n.n()).done;)e.value.update(t)}catch(t){n.e(t)}finally{n.f()}return this}}])&&vf(e.prototype,n),r&&vf(e,r),Object.defineProperty(e,"prototype",{writable:!1}),t}();function mf(t){return mf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},mf(t)}function gf(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function wf(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==mf(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==mf(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===mf(i)?i:String(i)),r)}var i}function _f(t,e){return _f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},_f(t,e)}function xf(t,e){if(e&&("object"===mf(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function Sf(t){return Sf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Sf(t)}var Of=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_f(t,e)}(s,t);var e,n,r,i,o=(r=s,i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=Sf(r);if(i){var n=Sf(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return xf(this,t)});function s(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,s),e=o.call(this,t),t=t||{},e.colorCol=t.colorCol,e.color=t.color||function(){return"#EA6BAC"},e.sizeCol=t.sizeCol,e.size=t.size,e.shape=t.shape||function(){return"square"},e}return e=s,(n=[{key:"draw",value:function(t,e,n){var r=this;t=t.filter(this.filter);var i,o,s=n.getZf();this.sizeCol&&(t.sort((function(t,e){return e[r.sizeCol]-t[r.sizeCol]})),i=bf.getStatistics(t,(function(t){return t[r.sizeCol]}),!0)),this.colorCol&&(o=bf.getStatistics(t,(function(t){return t[r.colorCol]}),!0)),n.setCanvasTransform();var a,u=.5*e,c=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return gf(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?gf(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){a=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}(t);try{for(c.s();!(a=c.n()).done;){var l=a.value,f=this.color?this.color(l[this.colorCol],e,o):void 0;if(f&&"none"!==f){n.ctx.fillStyle=f;var h=this.shape?this.shape(l):"square";if("none"!==h){var d=(this.size||function(){return e})(l[this.sizeCol],e,i,s),p=this.offset(l,e,s);if("square"===h){var y=e*(1-d/e)*.5;n.ctx.fillRect(l.x+y+p.dx,l.y+y+p.dy,d,d)}else if("circle"===h)n.ctx.beginPath(),n.ctx.arc(l.x+u+p.dx,l.y+u+p.dy,.5*d,0,2*Math.PI,!1),n.ctx.fill();else if("donut"===h){var v=l.x+u+p.dx,b=l.y+u+p.dy;n.ctx.beginPath(),n.ctx.moveTo(v,b),n.ctx.arc(v,b,u,0,2*Math.PI),n.ctx.arc(v,b,(1-d/e)*u,0,2*Math.PI,!0),n.ctx.closePath(),n.ctx.fill()}else{if("diamond"!==h)throw new Error("Unexpected shape:"+h);var m=.5*d;n.ctx.beginPath(),n.ctx.moveTo(l.x+u-m,l.y+u),n.ctx.lineTo(l.x+u,l.y+u+m),n.ctx.lineTo(l.x+u+m,l.y+u),n.ctx.lineTo(l.x+u,l.y+u-m),n.ctx.fill()}}}}}catch(t){c.e(t)}finally{c.f()}this.updateLegends({style:this,r:e,zf:s,sSize:i,sColor:o})}}])&&wf(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),s}(bf);function If(t){return If="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},If(t)}function Tf(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function Af(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==If(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==If(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===If(i)?i:String(i)),r)}var i}function Mf(t,e){return Mf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Mf(t,e)}function Pf(t,e){if(e&&("object"===If(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function Ef(t){return Ef=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Ef(t)}var Cf=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Mf(t,e)}(s,t);var e,n,r,i,o=(r=s,i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=Ef(r);if(i){var n=Ef(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return Pf(this,t)});function s(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,s),e=o.call(this,t),t=t||{},e.strokeColorCol=t.strokeColorCol,e.strokeColor=t.strokeColor||function(){return"#666"},e.sizeCol=t.sizeCol,e.size=t.size,e.strokeWidthCol=t.strokeWidthCol,e.strokeWidth=t.strokeWidth,e.shape=t.shape||function(){return"square"},e}return e=s,(n=[{key:"draw",value:function(t,e,n){var r=this;t=t.filter(this.filter);var i,o,s,a=n.getZf();this.strokeColorCol&&(i=bf.getStatistics(t,(function(t){return t[r.strokeColorCol]}),!0)),this.sizeCol&&(o=bf.getStatistics(t,(function(t){return t[r.sizeCol]}),!0)),this.strokeWidthCol&&(s=bf.getStatistics(t,(function(t){return t[r.strokeWidthCol]}),!0)),n.setCanvasTransform();var u,c=.5*e,l=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return Tf(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Tf(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){a=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}(t);try{for(l.s();!(u=l.n()).done;){var f=u.value,h=this.strokeColor?this.strokeColor(f[this.strokeColorCol],e,i):void 0;if(h&&"none"!==h){n.ctx.strokeStyle=h;var d=(this.size||function(){return e})(f[this.sizeCol],e,o,a),p=this.strokeWidth?this.strokeWidth(f[this.strokeWidthCol],e,s,a):1*a;if(p&&!(p<=0)){n.ctx.lineWidth=p;var y=this.shape?this.shape(f):"square";if("none"!==y){var v=this.offset(f,e,a);if("square"===y){var b=e*(1-d/e)*.5;n.ctx.beginPath(),n.ctx.rect(f.x+b+v.dx,f.y+b+v.dy,d,d),n.ctx.stroke()}else if("circle"===y)n.ctx.beginPath(),n.ctx.arc(f.x+c+v.dx,f.y+c+v.dy,.5*d,0,2*Math.PI,!1),n.ctx.stroke();else if("diamond"===y){var m=.5*d;n.ctx.beginPath(),n.ctx.moveTo(f.x+c-m,f.y+c),n.ctx.lineTo(f.x+c,f.y+c+m),n.ctx.lineTo(f.x+c+m,f.y+c),n.ctx.lineTo(f.x+c,f.y+c-m),n.ctx.lineTo(f.x+c-m,f.y+c),n.ctx.stroke()}else{if("donut"!==y)throw new Error("Unexpected shape:"+y);console.error("Not implemented")}}}}}}catch(t){l.e(t)}finally{l.f()}}}])&&Af(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),s}(bf);function jf(t){return jf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},jf(t)}function kf(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function Bf(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==jf(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==jf(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===jf(i)?i:String(i)),r)}var i}function Ff(t,e){return Ff=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Ff(t,e)}function Lf(t,e){if(e&&("object"===jf(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function Df(t){return Df=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Df(t)}var Nf=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Ff(t,e)}(s,t);var e,n,r,i,o=(r=s,i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=Df(r);if(i){var n=Df(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return Lf(this,t)});function s(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,s),e=o.call(this,t),t=t||{},e.heightCol=t.heightCol,e.height=t.height||function(t){return Math.sqrt(t)},e.lineColor=t.lineColor||function(t,e,n,r){return"#BBB"},e.lineWidth=t.lineWidth||function(t,e,n,r){return r},e.fillColor=t.fillColor||function(t,e,n,r){return"#c08c5968"},e}return e=s,(n=[{key:"draw",value:function(t,e,n){var r=this;t=t.filter(this.filter),n.ctx.lineJoin="round";var i,o=n.getZf(),s=bf.getStatistics(t,(function(t){return t[r.heightCol]}),!0),a={},u=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return kf(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?kf(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){a=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}(t);try{for(u.s();!(i=u.n()).done;){var c=i.value,l=a[c.y];l||(l={},a[c.y]=l),l[c.x]=this.height(c[this.heightCol],e,s,o)}}catch(t){u.e(t)}finally{u.f()}var f=n.extGeo;if(f){var h=Math.floor(f.xMin/e)*e,d=Math.floor(f.xMax/e)*e,p=Math.floor(f.yMin/e)*e,y=Math.floor(f.yMax/e)*e,v={min:p,max:y};n.setCanvasTransform();for(var b=y;b>=p;b-=e){var m=a[b];if(m){n.ctx.beginPath(),n.ctx.moveTo(h-e/2,b);for(var g=void 0,w=h;w<=d;w+=e){var _=m[w];_||(_=0),_||g?n.ctx.lineTo(w+e/2,b+_):n.ctx.moveTo(w+e/2,b),g=_}g&&n.ctx.lineTo(d+e/2,b);var x=this.fillColor(b,v,e,o);x&&"none"!=x&&(n.ctx.fillStyle=x,n.ctx.fill());var S=this.lineColor(b,v,e,o),O=this.lineWidth(b,v,e,o);S&&"none"!=S&&O>0&&(n.ctx.strokeStyle=S,n.ctx.lineWidth=O,n.ctx.stroke())}}}}}])&&Bf(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),s}(bf);function Rf(t){return Rf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Rf(t)}function Uf(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,i,o,s,a=[],u=!0,c=!1;try{if(o=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=o.call(n)).done)&&(a.push(r.value),a.length!==e);u=!0);}catch(t){c=!0,i=t}finally{try{if(!u&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw i}}return a}}(t,e)||zf(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function zf(t,e){if(t){if("string"==typeof t)return Vf(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Vf(t,e):void 0}}function Vf(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function Wf(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==Rf(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Rf(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Rf(i)?i:String(i)),r)}var i}function $f(t,e){return $f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},$f(t,e)}function Yf(t,e){if(e&&("object"===Rf(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function Gf(t){return Gf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Gf(t)}var Zf=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&$f(t,e)}(s,t);var e,n,r,i,o=(r=s,i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=Gf(r);if(i){var n=Gf(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return Yf(this,t)});function s(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,s),e=o.call(this,t),t=t||{},e.color=t.color,e.type=t.type,e.sizeCol=t.sizeCol,e.size=t.size||function(t,e,n,r){return e},e.stripesOrientation=t.stripesOrientation||function(){return 0},e.offsetAngle=t.offsetAngle||function(){return 0},e.agePyramidHeight=t.agePyramidHeight||function(t,e,n){return e},e.pieChartInternalRadiusFactor=t.pieChartInternalRadiusFactor||0,e}return e=s,n=[{key:"draw",value:function(t,e,n){var r=this;t=t.filter(this.filter);var i,o=n.getZf();this.sizeCol&&(t.sort((function(t,e){return e[r.sizeCol]-t[r.sizeCol]})),i=bf.getStatistics(t,(function(t){return t[r.sizeCol]}),!0));var s=Object.entries(this.color).length;n.setCanvasTransform();var a,u=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=zf(t))){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){a=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}(t);try{for(u.s();!(a=u.n()).done;){var c=a.value,l=(this.size||function(){return e})(c[this.sizeCol],e,i,o),f=this.offset(c,e,o),h=this.type?this.type(c):"flag",d=c.x+f.dx+("agepyramid"===h?0:.5*e),p=c.y+f.dy+("agepyramid"===h?0:.5*e);if("agepyramid"===h||"radar"===h||"halftone"===h){for(var y=-1/0,v=0,b=Object.keys(this.color);v<b.length;v++){var m=+c[b[v]];m>y&&(y=m)}var g=0;"agepyramid"===h&&this.agePyramidHeight&&(g=(e-this.agePyramidHeight(c,e,o))/2),"radar"!==h&&"halftone"!==h||(g=Math.PI/2+(this.offsetAngle?this.offsetAngle(c,e,o)*Math.PI/180:0));var w="agepyramid"===h?(this.agePyramidHeight?this.agePyramidHeight(c,e,o):e)/s:"radar"===h||"halftone"===h?2*Math.PI/s:void 0;if(void 0===w)throw new Error("Unexpected symbol type:"+h);for(var _=0,x=Object.entries(this.color);_<x.length;_++){var S=Uf(x[_],2),O=S[0],I=S[1];if("agepyramid"===h){n.ctx.fillStyle=I;var T=l*c[O]/y;n.ctx.fillRect(d+(e-T)/2,p+g,T,w),g+=w}else if("radar"===h){n.ctx.fillStyle=I;var A=c[O],M=l/2*Math.sqrt(A/y);n.ctx.beginPath(),n.ctx.moveTo(d,p),n.ctx.arc(d,p,M,g-w,g),n.ctx.lineTo(d,p),n.ctx.fill(),g+=w}else{if("halftone"!==h)throw new Error("Unexpected symbol type:"+h);n.ctx.fillStyle=I;var P=c[O],E=.333*l*Math.sqrt(P/y);n.ctx.beginPath(),n.ctx.arc(d+.25*e*Math.cos(g),p+.25*e*Math.sin(g),E,0,2*Math.PI),n.ctx.fill(),g+=w}}}else{for(var C=0,j=0,k=Object.keys(this.color);j<k.length;j++){var B=+c[k[j]];B&&(C+=B)}if(!C||isNaN(C))continue;for(var F=0,L=e*(1-l/e)*.5,D=this.stripesOrientation(c,e,o),N=0,R=Object.entries(this.color);N<R.length;N++){var U=Uf(R[N],2),z=U[0],V=U[1],W=c[z]/C;if(W&&!isNaN(W)){if(n.ctx.fillStyle=V,"flag"===h)0==D?n.ctx.fillRect(c.x+L+f.dx,c.y+L+F*l+f.dy,l,W*l):n.ctx.fillRect(c.x+L+F*l+f.dx,c.y+L+f.dy,W*l,l);else if("piechart"===h){var $=2*F*Math.PI,Y=2*(F+W)*Math.PI;n.ctx.beginPath(),n.ctx.moveTo(d,p),n.ctx.arc(d,p,.5*l,$,Y),this.pieChartInternalRadiusFactor&&n.ctx.arc(d,p,.5*l*this.pieChartInternalRadiusFactor,$,Y,!0),n.ctx.closePath(),n.ctx.fill()}else if("ring"===h)n.ctx.beginPath(),n.ctx.arc(d,p,Math.sqrt(1-F)*l*.5,0,2*Math.PI),n.ctx.fill();else{if("segment"!==h)throw new Error("Unexpected symbol type:"+h);var G=l*l/e;0==D?n.ctx.fillRect(c.x+f.dx,c.y+(e-G)/2+F*G+f.dy,e,W*G):n.ctx.fillRect(c.x+F*e+f.dx,c.y+(e-G)/2+f.dy,W*e,G)}F+=W}}}}}catch(t){u.e(t)}finally{u.f()}this.updateLegends({style:this,r:e,zf:o,sSize:i})}}],n&&Wf(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),s}(bf);function Hf(t){return Hf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Hf(t)}function qf(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function Xf(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==Hf(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Hf(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Hf(i)?i:String(i)),r)}var i}function Kf(t,e){return Kf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Kf(t,e)}function Jf(t,e){if(e&&("object"===Hf(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function Qf(t){return Qf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Qf(t)}var th=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Kf(t,e)}(s,t);var e,n,r,i,o=(r=s,i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=Qf(r);if(i){var n=Qf(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return Jf(this,t)});function s(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,s),e=o.call(this,t),t=t||{},e.orientation=t.orientation||function(){return 0},e.colorCol=t.colorCol,e.color=t.color||function(){return"#EA6BAC"},e.lengthCol=t.lengthCol,e.length=t.length,e.widthCol=t.widthCol,e.width=t.width,e}return e=s,(n=[{key:"draw",value:function(t,e,n){var r=this;t=t.filter(this.filter);var i,o,s,a=n.getZf();this.colorCol&&(i=bf.getStatistics(t,(function(t){return t[r.colorCol]}),!0)),this.lengthCol&&(t.sort((function(t,e){return e[r.lengthCol]-t[r.lengthCol]})),o=bf.getStatistics(t,(function(t){return t[r.lengthCol]}),!0)),this.widthCol&&(s=bf.getStatistics(t,(function(t){return t[r.widthCol]}),!0)),n.ctx.lineCap="butt";var u=Math.PI/180;n.setCanvasTransform();var c,l=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return qf(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?qf(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){a=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}(t);try{for(l.s();!(c=l.n()).done;){var f=c.value,h=this.color?this.color(f[this.colorCol],e,i):void 0;if(h){var d=this.width?this.width(f[this.widthCol],e,s,a):void 0;if(d&&!(d<0)){var p=this.length?this.length(f[this.lengthCol],e,o,a):void 0;if(p&&!(p<0)){var y=this.orientation(f)*u;if(void 0!==y&&!isNaN(y)){var v=this.offset(f,e,a);n.ctx.strokeStyle=h,n.ctx.lineWidth=d;var b=f.x+e/2+v.dx,m=f.y+e/2+v.dy,g=.5*Math.cos(y)*p,w=.5*Math.sin(y)*p;n.ctx.beginPath(),n.ctx.moveTo(b-g,m-w),n.ctx.lineTo(b+g,m+w),n.ctx.stroke()}}}}}}catch(t){l.e(t)}finally{l.f()}this.updateLegends({style:this,r:e,zf:a,sColor:i,sLength:o,sWidth:s})}}])&&Xf(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),s}(bf);function eh(t){return eh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},eh(t)}function nh(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function rh(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==eh(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==eh(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===eh(i)?i:String(i)),r)}var i}function ih(t,e){return ih=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},ih(t,e)}function oh(t,e){if(e&&("object"===eh(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function sh(t){return sh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},sh(t)}var ah=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&ih(t,e)}(a,t);var e,n,r,i,o,s=(i=a,o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=sh(i);if(o){var n=sh(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return oh(this,t)});function a(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),e=s.call(this,t),t=t||{},e.textCol=t.textCol,e.text=t.text||function(t,e,n,r){return"X"},e.colorCol=t.colorCol,e.color=t.color||function(){return"#EA6BAC"},e.fontSizeCol=t.fontSizeCol,e.fontSize=t.fontSize||function(t,e,n,r){return.8*e},e.fontFamily=t.fontFamily||"Arial",e.fontWeight=t.fontWeight||"bold",e}return e=a,r=[{key:"getCharLegendFun",value:function(t){var e=t.length;return function(n){return 0==n?"":1==n?t[e-1]:t[Math.floor(n*e)]}}}],(n=[{key:"draw",value:function(t,e,n){var r=this;t=t.filter(this.filter);var i,o,s,a=n.getZf();this.textCol&&(i=bf.getStatistics(t,(function(t){return t[r.textCol]}),!0)),this.colorCol&&(o=bf.getStatistics(t,(function(t){return t[r.colorCol]}),!0)),this.fontSizeCol&&(t.sort((function(t,e){return e[r.fontSizeCol]-t[r.fontSizeCol]})),s=bf.getStatistics(t,(function(t){return t[r.fontSizeCol]}),!0)),n.initCanvasTransform();var u,c=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return nh(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?nh(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){a=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}(t);try{for(c.s();!(u=c.n()).done;){var l=u.value,f=this.text?this.text(l[this.textCol],e,i):void 0;if(null!=f&&null!=f&&f+""!=""){var h=this.color?this.color(l[this.colorCol],e,o):void 0;if(h){n.ctx.fillStyle=h;var d=this.fontSize(l[this.fontSizeCol],e,s,a)/a,p=this.fontFamily||"Arial",y=this.fontWeight||"bold";n.ctx.font=y+" "+d+"px "+p;var v=this.offset(l,e,a);n.ctx.textAlign="center";var b=n.geoToPixX(l.x+.5*e+v.dx),m=n.geoToPixY(l.y+.5*e+v.dy)+.3*d;n.ctx.fillText(f,b,m)}}}}catch(t){c.e(t)}finally{c.f()}this.updateLegends({style:this,r:e,zf:a,sColor:o})}}])&&rh(e.prototype,n),r&&rh(e,r),Object.defineProperty(e,"prototype",{writable:!1}),a}(bf);function uh(t,e){return null==t?e:"function"==typeof t?t:e=>e[t]}function ch(t,e=!1){const n=new Float64Array(5),r=new Float64Array(4);!function(t,e,n){const r=Float64Array.of(.84,1.8675,.84,-1.8675,-.34015,-.1299,-.34015,.1299),i=Math.exp(-1.783/n),o=Math.exp(-1.723/n),s=.6318/n,a=1.997/n,u=Float64Array.of(-i*Math.cos(s),i*Math.sin(s),-i*Math.cos(-s),i*Math.sin(-s),-o*Math.cos(a),o*Math.sin(a),-o*Math.cos(-a),o*Math.sin(-a)),c=2.5066282746310007*n,l=Float64Array.of(r[0],r[1],0,0,0,0,0,0),f=Float64Array.of(1,0,u[0],u[1],0,0,0,0,0,0);let h,d;for(d=2;d<8;d+=2){for(l[d]=u[d]*l[d-2]-u[d+1]*l[d-1],l[d+1]=u[d]*l[d-1]+u[d+1]*l[d-2],h=d-2;h>0;h-=2)l[h]+=u[d]*l[h-2]-u[d+1]*l[h-1],l[h+1]+=u[d]*l[h-1]+u[d+1]*l[h-2];for(h=0;h<=d;h+=2)l[h]+=r[d]*f[h]-r[d+1]*f[h+1],l[h+1]+=r[d]*f[h+1]+r[d+1]*f[h];for(f[d+2]=u[d]*f[d]-u[d+1]*f[d+1],f[d+3]=u[d]*f[d+1]+u[d+1]*f[d],h=d;h>0;h-=2)f[h]+=u[d]*f[h-2]-u[d+1]*f[h-1],f[h+1]+=u[d]*f[h-1]+u[d+1]*f[h-2]}for(d=0;d<4;++d)h=d<<1,e[d]=l[h]/c,t[d+1]=f[h+2]}(n,r,t);const i=Float64Array.of(0,r[1]-n[1]*r[0],r[2]-n[2]*r[0],r[3]-n[3]*r[0],-n[4]*r[0]),o=1+n[1]+n[2]+n[3]+n[4];return{sigma:t,negative:e,a:n,b_causal:r,b_anticausal:i,sum_causal:(r[0]+r[1]+r[2]+r[3])/o,sum_anticausal:(i[1]+i[2]+i[3]+i[4])/o}}function lh(t,e,n,r=1,i=new Float64Array(n),o=new Float64Array(n),s=new Float64Array(5),a=i,u=fh){const c=2*r,l=3*r,f=4*r,h=r*n;let d,p;for(u(i,e,n,r,t.b_causal,3,t.a,4,t.sum_causal,s,t.sigma),p=4,d=f;p<n;++p,d+=r)i[p]=t.b_causal[0]*e[d]+t.b_causal[1]*e[d-r]+t.b_causal[2]*e[d-c]+t.b_causal[3]*e[d-l]-t.a[1]*i[p-1]-t.a[2]*i[p-2]-t.a[3]*i[p-3]-t.a[4]*i[p-4];for(u(o,e,n,-r,t.b_anticausal,4,t.a,4,t.sum_anticausal,s,t.sigma),p=4,d=h-5*r;p<n;++p,d-=r)o[p]=t.b_anticausal[1]*e[d+r]+t.b_anticausal[2]*e[d+c]+t.b_anticausal[3]*e[d+l]+t.b_anticausal[4]*e[d+f]-t.a[1]*o[p-1]-t.a[2]*o[p-2]-t.a[3]*o[p-3]-t.a[4]*o[p-4];if(t.negative)for(p=0,d=0;p<n;++p,d+=r)a[d]=i[p]+o[n-p-1];else for(p=0,d=0;p<n;++p,d+=r)a[d]=Math.max(0,i[p]+o[n-p-1]);return a}function fh(t,e,n,r,i,o,s,a,u,c){const l=Math.abs(r)*n,f=r<0?l+r:0;let h,d,p;for(d=0;d<a;++d)for(c[d]=d<=o?i[d]:0,p=1;p<=a&&p<=d;++p)c[d]-=s[p]*c[d-p];for(p=0;p<a;++p)for(t[p]=0,d=1;d<=p;++d)h=f+r*d,h>=0&&h<l&&(t[p]+=c[p-d]*e[h]);const y=e[f];if(y>0)for(p=0;p<a;++p)t[p]+=c[p]*y}function hh(t,e,n=0){const r=t.length;let i,o;for(let n=0;n<r;++n){const r=e(t[n],n,t);null!=r&&(void 0===i?r>=r&&(i=o=r):(r<i&&(i=r),r>o&&(o=r)))}return[i-n,o+n]}function dh(t,e){const n=t.length;for(let r=0;r<n;++r)t[r]>e&&(e=t[r]);return e}function ph(t,e){const n=t.length;for(let r=0;r<n;++r)t[r]<e&&(e=t[r]);return e}function yh(t,e){const n=t.map(e).filter((t=>null!=t&&t>=t));n.sort(((t,e)=>t-e));const r=function(t){const e=t.length;let n,r=0,i=0,o=0;for(let s=0;s<e;++s){const e=t[s];n=e-i,i+=n/++r,o+=n*(e-i)}return r>1?Math.sqrt(o/(r-1)):NaN}(n),i=vh(n,.25),o=vh(n,.75),s=n.length,a=(o-i)/1.34;return 1.06*(Math.min(r,a)||r||Math.abs(i)||1)*Math.pow(s,-.2)}function vh(t,e){const n=t.length;if(!n)return NaN;if((e=+e)<=0||n<2)return t[0];if(e>=1)return t[n-1];const r=(n-1)*e,i=Math.floor(r),o=t[i];return o+(t[i+1]-o)*(r-i)}function bh(t,e={}){const{adjust:n=1,pad:r=3,bins:i=[256,256]}=e,o=uh(e.x,(t=>t[0])),s=uh(e.y,(t=>t[1])),a=uh(e.weight,(()=>1/t.length));let[u=n*yh(t,o),c=n*yh(t,s)]=mh(e.bandwidth);const[[l,f]=hh(t,o,r*u),[h,d]=hh(t,s,r*c)]=null==(p=e.extent)?[void 0,void 0]:"number"==typeof p[0]?[p,p]:p;var p;const[y,v]=mh(i),b=function(t,e,n,r,i,o,s,a,u,c){const l=new Float64Array(s*c),f=(s-1)/(o-i),h=(c-1)/(u-a);for(let o=0;o<t.length;++o){const u=t[o],d=e(u,o,t),p=n(u,o,t),y=r(u,o,t);if(!(Number.isFinite(d)&&Number.isFinite(p)&&Number.isFinite(y)))continue;const v=(d-i)*f,b=Math.floor(v),m=b+1,g=(p-a)*h,w=Math.floor(g),_=w+1;0<=b&&m<s?0<=w&&_<c?(l[b+w*s]+=(m-v)*(_-g)*y,l[b+_*s]+=(m-v)*(g-w)*y,l[m+w*s]+=(v-b)*(_-g)*y,l[m+_*s]+=(v-b)*(g-w)*y):-1===w?(l[b+_*s]+=(m-v)*(g-w)*y,l[m+_*s]+=(v-b)*(g-w)*y):_===c&&(l[m+w*s]+=(v-b)*(_-g)*y,l[b+w*s]+=(m-v)*(_-g)*y):-1===b?0<=w&&_<c?(l[m+w*s]+=(v-b)*(_-g)*y,l[m+_*s]+=(v-b)*(g-w)*y):-1===w?l[m+_*s]+=(v-b)*(g-w)*y:_===c&&(l[m+w*s]+=(v-b)*(_-g)*y):m===s&&(0<=w&&_<c?(l[b+w*s]+=(m-v)*(_-g)*y,l[b+_*s]+=(m-v)*(g-w)*y):-1===w?l[b+_*s]+=(m-v)*(g-w)*y:_===c&&(l[b+w*s]+=(m-v)*(_-g)*y))}return l}(t,o,s,a,l,f,y,h,d,v),m=(f-l)/(y-1),g=(d-h)/(v-1),w=b.some((t=>t<0));let _,x=ch(u/m,w),S=ch(c/g,w);function*O(t="x",e="y",n="z"){const r=I.grid(),i=1/(m*g);for(let o=0,s=0;s<v;++s)for(let a=0;a<y;++a,++o)yield{[t]:l+a*m,[e]:h+s*g,[n]:r[o]*i}}const I={[Symbol.iterator]:O,points:O,grid:()=>_||(_=function(t,e,n,[r,i]){const o=new Float64Array(Math.max(r,i)),s=new Float64Array(Math.max(r,i)),a=new Float64Array(5),u=new Float64Array(n.length);for(let e=0,c=0;e<i;++e,c+=r){const e=u.subarray(c);lh(t,n.subarray(c),r,1,o,s,a,e)}for(let t=0;t<r;++t){const n=u.subarray(t);lh(e,n,i,r,o,s,a,n)}return u}(x,S,b,[y,v])),extent:()=>[[l,f],[h,d]],heatmap:({color:t,clamp:e,canvas:n,maxColors:r}={})=>function(t,e,n,r=(t=>({r:0,g:0,b:0,opacity:t})),[i,o]=[ph(t,0),dh(t,0)],s=function(t,e){if("undefined"!=typeof document){const n=document.createElement("canvas");return n.setAttribute("width",t),n.setAttribute("height",e),n}throw"Can not create a canvas instance, provide a canvas as a parameter."}(e,n),a=256){const u=1/(o-i),c=s.getContext("2d"),l=c.getImageData(0,0,e,n),f=l.data,h=a-1,d=function(t,e){const n=new Uint8ClampedArray(4*(t+1));for(let r=0;r<=t;++r){const i=e(r/t),{r:o,g:s,b:a,opacity:u=1}="string"==typeof i?Le(i):i,c=r<<2;n[c+0]=o,n[c+1]=s,n[c+2]=a,n[c+3]=255*u|0}return n}(h,r);for(let r=0,o=0;r<n;++r)for(let s=0,a=(n-r-1)*e;s<e;++s,o+=4){const e=h*Math.min(1,Math.max(t[s+a]-i,0)*u)<<2;f[o+0]=d[e+0],f[o+1]=d[e+1],f[o+2]=d[e+2],f[o+3]=d[e+3]}return c.putImageData(l,0,0),s}(I.grid(),y,v,t,e,n,r),bandwidth(t){if(arguments.length){const[e,n]=mh(t);return e!==u&&(_=null,x=ch((u=e)/m,w)),n!==c&&(_=null,S=ch((c=n)/g,w)),I}return[u,c]}};return I}function mh(t){return null==t?[void 0,void 0]:"number"==typeof t?[t,t]:t}function gh(t){return gh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gh(t)}function wh(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function _h(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==gh(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==gh(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===gh(i)?i:String(i)),r)}var i}function xh(t,e){return xh=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},xh(t,e)}function Sh(t,e){if(e&&("object"===gh(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function Oh(t){return Oh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Oh(t)}var Ih=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&xh(t,e)}(s,t);var e,n,r,i,o=(r=s,i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=Oh(r);if(i){var n=Oh(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return Sh(this,t)});function s(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,s),e=o.call(this,t),t=t||{},e.value=t.value,e.sigma=t.sigma,e.factor=2|t.factor,e.threshold=t.threshold,e.sCol="ksmval"|t.sCol,e.styles=t.styles|[],e}return e=s,(n=[{key:"draw",value:function(t,e,n){var r=this;if((t=t.filter(this.filter))&&0!=t.length){var i=this.sigma(e,n.zf),o=Math.ceil(n.w/this.factor),s=Math.ceil(n.h/this.factor),a=[[n.pixToGeoX(0),n.pixToGeoX(o*this.factor)],[n.pixToGeoY(s*this.factor),n.pixToGeoY(0)]],u=bh(t,{x:function(t){return t.x+e/2},y:function(t){return t.y+e/2},weight:function(t){return r.value(t)},bins:[o,s],bandwidth:i,extent:a}).grid(),c=(a[0][1]-a[0][0])/o;t=[];for(var l=0;l<u.length;l++){var f=u[l];if(!(this.threshold&&f<this.threshold)){var h=Math.floor(l/o),d=l%o,p={x:a[0][0]+d*c,y:a[1][0]+h*c};p[this.sCol]=f,t.push(p)}}var y,v=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return wh(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?wh(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){a=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}(this.styles);try{for(v.s();!(y=v.n()).done;)y.value.draw(t,c,n)}catch(t){v.e(t)}finally{v.f()}}}}])&&_h(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),s}(bf);function Th(t){return Th="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Th(t)}function Ah(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return Mh(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Mh(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){a=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}function Mh(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function Ph(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==Th(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Th(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Th(i)?i:String(i)),r)}var i}function Eh(t,e){return Eh=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Eh(t,e)}function Ch(t,e){if(e&&("object"===Th(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function jh(t){return jh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},jh(t)}var kh=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Eh(t,e)}(s,t);var e,n,r,i,o=(r=s,i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=jh(r);if(i){var n=jh(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return Ch(this,t)});function s(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,s),e=o.call(this,t),t=t||{},e.heightCol=t.heightCol,e.height=t.height,e.colorCol=t.colorCol,e.color=t.color||function(){return"#c08c59"},e.widthCol=t.widthCol,e.width=t.width||function(t,e){return.5*e},e.simple=null!=t.simple,e.viewHeightFactor=t.viewHeightFactor||1.5,e.viewSX=null==t.viewSX?0:t.viewSX,e.viewSY=null==t.viewSY?-.5:t.viewSY,e.shadowDirection=null==t.shadowDirection?-40.3*Math.PI/180:t.shadowDirection,e.shadowFactor=t.shadowFactor||.3,e.shadowColor=t.shadowColor||"#00000033",e.outlineCol=t.outlineCol||"#FFFFFF",e.outlineWidthPix=null==t.outlineWidthPix?.5:t.outlineWidthPix,e}return e=s,n=[{key:"draw",value:function(t,e,n){var r=this;t=t.filter(this.filter);var i,o,s,a=n.getZf();this.heightCol&&(i=bf.getStatistics(t,(function(t){return t[r.heightCol]}),!0)),this.colorCol&&(o=bf.getStatistics(t,(function(t){return t[r.colorCol]}),!0)),this.widthCol&&(s=bf.getStatistics(t,(function(t){return t[r.widthCol]}),!0));var u=n.getCenter().x+this.viewSX*n.w*a,c=n.getCenter().y+this.viewSY*n.h*a,l=this.viewHeightFactor*(n.w+n.h)*.5*a;t.sort((function(t,e){return 1e8*(e.y-t.y)+t.x-e.x})),n.ctx.lineCap=this.simple?"butt":"round",n.setCanvasTransform(),n.ctx.strokeStyle=this.shadowColor,n.ctx.fillStyle=this.shadowColor;var f,h=Ah(t);try{for(h.s();!(f=h.n()).done;){var d=f.value,p=this.width?this.width(d[this.widthCol],e,s,a):void 0;if(p&&!(p<0)){var y=this.height?this.height(d[this.heightCol],e,i,a):void 0;if(y&&!(y<0)){this.offset(d,e,a),n.ctx.lineWidth=p;var v=d.x+e/2,b=d.y+e/2,m=y*this.shadowFactor;n.ctx.beginPath(),n.ctx.moveTo(v,b),n.ctx.lineTo(v+m*Math.cos(this.shadowDirection),b+m*Math.sin(this.shadowDirection)),n.ctx.stroke()}}}}catch(t){h.e(t)}finally{h.f()}var g,w=Ah(t);try{for(w.s();!(g=w.n()).done;){var _=g.value,x=this.color?this.color(_[this.colorCol],e,o):void 0;if(x){var S=this.width?this.width(_[this.widthCol],e,s,a):void 0;if(S&&!(S<0)){var O=this.height?this.height(_[this.heightCol],e,i,a):void 0;if(O&&!(O<0)){this.offset(_,e,a);var I=_.x+e/2,T=_.y+e/2,A=I-u,M=T-c,P=Math.atan2(M,A),E=Math.sqrt(A*A+M*M)*O/(l-O);this.simple?(n.ctx.strokeStyle=x,n.ctx.lineWidth=S,n.ctx.beginPath(),n.ctx.moveTo(I,T),n.ctx.lineTo(I+E*Math.cos(P),T+E*Math.sin(P)),n.ctx.stroke()):(n.ctx.strokeStyle=this.outlineCol,n.ctx.lineWidth=S+2*this.outlineWidthPix*a,n.ctx.beginPath(),n.ctx.moveTo(I,T),n.ctx.lineTo(I+E*Math.cos(P),T+E*Math.sin(P)),n.ctx.stroke(),n.ctx.strokeStyle=x,n.ctx.lineWidth=S,n.ctx.beginPath(),n.ctx.moveTo(I,T),n.ctx.lineTo(I+E*Math.cos(P),T+E*Math.sin(P)),n.ctx.stroke(),n.ctx.strokeStyle=this.outlineCol,n.ctx.lineWidth=this.outlineWidthPix*a,n.ctx.beginPath(),n.ctx.arc(I+E*Math.cos(P),T+E*Math.sin(P),.5*S,0,2*Math.PI,!1),n.ctx.stroke())}}}}}catch(t){w.e(t)}finally{w.f()}n.ctx.lineCap="butt",this.updateLegends({style:this,r:e,zf:a,sColor:o})}}],n&&Ph(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),s}(bf);function Bh(t){return Bh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Bh(t)}function Fh(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return Lh(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Lh(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){a=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}function Lh(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function Dh(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==Bh(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Bh(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Bh(i)?i:String(i)),r)}var i}function Nh(t,e){return Nh=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Nh(t,e)}function Rh(t,e){if(e&&("object"===Bh(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function Uh(t){return Uh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Uh(t)}var zh=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Nh(t,e)}(a,t);var e,n,r,i,o,s=(i=a,o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=Uh(i);if(o){var n=Uh(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return Rh(this,t)});function a(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),e=s.call(this,t),t=t||{},e.valueCol=t.valueCol,e.value=t.value||function(t,e,n,r,i){return 1},e.color=t.color||function(){return"#EA6BAC"},e.width=t.width||function(t,e,n,r){return e*t.value/5},e.orientation=t.orientation||0,e.fillColor=t.fillColor,e}return e=a,n=[{key:"draw",value:function(t,e,n){var r=this;t=t.filter(this.filter);var i,o=n.getZf();this.valueCol&&(i=bf.getStatistics(t,(function(t){return t[r.valueCol]}),!0));var s=[],u=.001*e;t.sort((function(t,e){return e.x==t.x?t.y-e.y:t.x-e.x}));for(var c=t[0],l=1;l<t.length;l++){var f=t[l];Math.abs(c.y+e-f.y)<=u&&Math.abs(c.x-f.x)<=u?s.push({x:c.x,y:f.y,or:"h",value:this.value(c[this.valueCol],f[this.valueCol],e,i,o)}):(s.push({x:c.x,y:c.y+e,or:"h",value:this.value(c[this.valueCol],void 0,e,i,o)}),s.push({x:f.x,y:f.y,or:"h",value:this.value(void 0,f[this.valueCol],e,i,o)})),c=f}t.sort((function(t,e){return e.y==t.y?t.x-e.x:t.y-e.y})),c=t[0];for(var h=1;h<t.length;h++){var d=t[h];Math.abs(c.x+e-d.x)<=u&&Math.abs(c.y-d.y)<=u?s.push({x:c.x+e,y:c.y,or:"v",value:this.value(c[this.valueCol],d[this.valueCol],e,i,o)}):(s.push({x:c.x+e,y:c.y,or:"v",value:this.value(c[this.valueCol],void 0,e,i,o)}),s.push({x:d.x,y:d.y,or:"v",value:this.value(void 0,d[this.valueCol],e,i,o)})),c=d}if(0!=s.length){var p=a.getSideStatistics(s,!0);if(n.setCanvasTransform(),this.fillColor){var y,v=Fh(t);try{for(v.s();!(y=v.n()).done;){var b=y.value,m=this.fillColor(b);m&&"none"!=m&&(n.ctx.fillStyle=m,n.ctx.fillRect(b.x,b.y,e,e))}}catch(t){v.e(t)}finally{v.f()}}n.ctx.lineCap="butt";for(var g=e/2,w=0,_=s;w<_.length;w++){var x=_[w],S=this.color?this.color(x,e,p,o):void 0;if(S&&"none"!=S){var O=this.width?this.width(x,e,p,o):void 0;!O||O<=0||(n.ctx.strokeStyle=S,n.ctx.lineWidth=O,n.ctx.beginPath(),90==this.orientation?(n.ctx.moveTo(x.x+g,x.y+g),"h"===x.or?n.ctx.lineTo(x.x+g,x.y-g):n.ctx.lineTo(x.x-g,x.y+g)):(n.ctx.moveTo(x.x,x.y),n.ctx.lineTo(x.x+("h"===x.or?e:0),x.y+("v"===x.or?e:0))),n.ctx.stroke())}}this.updateLegends({style:this,r:e,zf:o})}}}],r=[{key:"getSideStatistics",value:function(t,e){if(t&&0!=t.length){var n,r=1/0,i=-1/0,o=Fh(t);try{for(o.s();!(n=o.n()).done;){var s=n.value.value;e&&!s||(s<r&&(r=s),s>i&&(i=s))}}catch(t){o.e(t)}finally{o.f()}return{min:r,max:i}}}}],n&&Dh(e.prototype,n),r&&Dh(e,r),Object.defineProperty(e,"prototype",{writable:!1}),a}(bf);function Vh(t){return Vh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Vh(t)}function Wh(t,e){return Wh=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Wh(t,e)}function $h(t,e){if(e&&("object"===Vh(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function Yh(t){return Yh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Yh(t)}var Gh=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Wh(t,e)}(o,t);var e,n,r,i=(n=o,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=Yh(n);if(r){var i=Yh(this).constructor;t=Reflect.construct(e,arguments,i)}else t=e.apply(this,arguments);return $h(this,t)});function o(t){var e;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,o),e=i.call(this,t),(t=t||{}).breaks=t.breaks||[100,1e3,1e4,1e5,1e6],t.width=t.width||function(){return 1},t.color=t.color||function(){return"#E7A935"};var n=function(e){if(null==e)return 0;for(var n=0;n<t.breaks.length;n++)if(e<t.breaks[n])return n;return t.breaks.length};return e.value=function(t,e,r,i,o){return Math.abs(n(e)-n(t))},e.color=function(e,n,r,i){return e.value?t.color(e,n,i):void 0},e.width=function(e,n,r,i){return e.value*i*t.width(e,n,i)},e}return e=o,Object.defineProperty(e,"prototype",{writable:!1}),e}(zh);function Zh(t){return Zh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Zh(t)}function Hh(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function qh(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==Zh(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Zh(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Zh(i)?i:String(i)),r)}var i}function Xh(t,e){return Xh=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Xh(t,e)}function Kh(t,e){if(e&&("object"===Zh(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function Jh(t){return Jh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Jh(t)}var Qh=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Xh(t,e)}(s,t);var e,n,r,i,o=(r=s,i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=Jh(r);if(i){var n=Jh(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return Kh(this,t)});function s(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,s),e=o.call(this,t),t=t||{},e.col=t.col,e.color=t.color,e.width=t.width||function(t,e,n){return.2*e},e.fillColor=t.fillColor,e}return e=s,n=[{key:"draw",value:function(t,e,n){if((t=t.filter(this.filter))&&0!=t.length){var r=n.getZf(),i=[];t.sort((function(t,e){return e.x==t.x?t.y-e.y:t.x-e.x}));for(var o=t[0],s=o[this.col],a=1;a<t.length;a++){var u=t[a],c=u[this.col];o.y+e==u.y&&o.x==u.x?s!=c&&i.push({x:o.x,y:u.y,or:"h",v1:s,v2:c}):(i.push({x:o.x,y:o.y+e,or:"h",v1:s,v2:void 0}),i.push({x:u.x,y:u.y,or:"h",v1:void 0,v2:c})),o=u,s=c}t.sort((function(t,e){return e.y==t.y?t.x-e.x:t.y-e.y})),s=(o=t[0])[this.col];for(var l=1;l<t.length;l++){var f=t[l],h=f[this.col];o.x+e==f.x&&o.y==f.y?s!=h&&i.push({x:o.x+e,y:o.y,or:"v",v1:s,v2:h}):(i.push({x:o.x+e,y:o.y,or:"v",v1:s,v2:void 0}),i.push({x:f.x,y:f.y,or:"v",v1:void 0,v2:h})),o=f,s=h}if(0!=i.length){if(n.setCanvasTransform(),this.fillColor){var d,p=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return Hh(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Hh(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){a=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}(t);try{for(p.s();!(d=p.n()).done;){var y=d.value,v=this.fillColor(y);v&&"none"!=v&&(n.ctx.fillStyle=v,n.ctx.fillRect(y.x,y.y,e,e))}}catch(t){p.e(t)}finally{p.f()}}n.ctx.lineCap="butt";for(var b=0,m=i;b<m.length;b++){var g=m[b],w=this.width?this.width(g,e,r):void 0;if(w&&!(w<=0)){var _=.5*w;n.ctx.lineWidth=w,"h"===g.or?(g.v2&&(n.ctx.beginPath(),n.ctx.strokeStyle=this.color[g.v2],n.ctx.moveTo(g.x,g.y+_),n.ctx.lineTo(g.x+e,g.y+_),n.ctx.stroke()),g.v1&&(n.ctx.beginPath(),n.ctx.strokeStyle=this.color[g.v1],n.ctx.moveTo(g.x,g.y-_),n.ctx.lineTo(g.x+e,g.y-_),n.ctx.stroke())):(g.v2&&(n.ctx.beginPath(),n.ctx.strokeStyle=this.color[g.v2],n.ctx.moveTo(g.x+_,g.y),n.ctx.lineTo(g.x+_,g.y+e),n.ctx.stroke()),g.v1&&(n.ctx.beginPath(),n.ctx.strokeStyle=this.color[g.v1],n.ctx.moveTo(g.x-_,g.y),n.ctx.lineTo(g.x-_,g.y+e),n.ctx.stroke()))}}this.updateLegends({style:this,r:e,zf:r})}}}}],n&&qh(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),s}(bf);const td=function t(e){function n(t,n){var r,i;return t=null==t?0:+t,n=null==n?1:+n,function(){var o;if(null!=r)o=r,r=null;else do{r=2*e()-1,o=2*e()-1,i=r*r+o*o}while(!i||i>1);return t+n*o*Math.sqrt(-2*Math.log(i)/i)}}return n.source=t,n}(Math.random);function ed(t,e){var n=document.createElement("canvas");n.setAttribute("width",t),n.setAttribute("height",e);var r=n.getContext("webgl");if(!r)throw new Error("Unable to initialize WebGL. Your browser or machine may not support it.");return{canvas:n,gl:r}}function nd(t){var e=t.createProgram();if(null==e)throw new Error("Cannot create webGL program");for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];for(var o=0,s=r;o<s.length;o++){var a=s[o];t.attachShader(e,a)}if(t.linkProgram(e),t.getProgramParameter(e,t.LINK_STATUS))return e;throw new Error(t.getProgramInfoLog(e)||"Cannot create webGL program (2)")}function rd(t,e){var n=t.createShader(e);if(null==n)throw new Error("Cannot create webGL shader");for(var r=arguments.length,i=new Array(r>2?r-2:0),o=2;o<r;o++)i[o-2]=arguments[o];if(t.shaderSource(n,i.join("\n")),t.compileShader(n),t.getShaderParameter(n,t.COMPILE_STATUS))return n;throw new Error(t.getShaderInfoLog(n)||"Cannot create webGL shader (2)")}function id(t){return id="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},id(t)}function od(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==id(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==id(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===id(i)?i:String(i)),r)}var i}var sd=function(){function t(e,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.gl=e,this.sizePix=n||10,this.program=nd(e,rd(e,e.VERTEX_SHADER,"\n attribute vec2 pos;\n uniform float sizePix;\n uniform mat3 mat;\n attribute vec4 color;\n varying vec4 vColor;\n void main() {\n gl_Position = vec4(mat * vec3(pos, 1.0), 1.0);\n gl_PointSize = sizePix;\n vColor = color;\n }\n "),rd(e,e.FRAGMENT_SHADER,"\n precision mediump float;\n varying vec4 vColor;\n void main(void) {\n vec4 vColor_ = vColor / 255.0;\n vColor_[3] = 255.0 * vColor_[3];\n gl_FragColor = vColor_;\n }")),e.useProgram(this.program),this.verticesBuffer=[],this.colorsBuffer=[]}var e,n;return e=t,(n=[{key:"addPointData",value:function(t,e,n){var r=je(n);r&&(this.verticesBuffer.push(t,e),this.colorsBuffer.push(r.r,r.g,r.b,r.opacity))}},{key:"addPointData2",value:function(t,e,n,r,i,o){this.verticesBuffer.push(t,e),this.colorsBuffer.push(n,r,i,o)}},{key:"draw",value:function(t){var e=this.gl;e.bindBuffer(e.ARRAY_BUFFER,e.createBuffer()),e.bufferData(e.ARRAY_BUFFER,new Float32Array(this.verticesBuffer),e.STATIC_DRAW);var n=e.getAttribLocation(this.program,"pos");e.vertexAttribPointer(n,2,e.FLOAT,!1,0,0),e.enableVertexAttribArray(n),e.bindBuffer(e.ARRAY_BUFFER,e.createBuffer()),e.bufferData(e.ARRAY_BUFFER,new Float32Array(this.colorsBuffer),e.STATIC_DRAW);var r=e.getAttribLocation(this.program,"color");e.vertexAttribPointer(r,4,e.FLOAT,!1,0,0),e.enableVertexAttribArray(r),e.uniform1f(e.getUniformLocation(this.program,"sizePix"),1*this.sizePix),e.uniformMatrix3fv(e.getUniformLocation(this.program,"mat"),!1,new Float32Array(t)),e.clear(e.COLOR_BUFFER_BIT),e.drawArrays(e.POINTS,0,this.verticesBuffer.length/2)}}])&&od(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function ad(t){return ad="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ad(t)}function ud(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return cd(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?cd(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){a=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}function cd(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function ld(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==ad(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==ad(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===ad(i)?i:String(i)),r)}var i}function fd(t,e){return fd=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},fd(t,e)}function hd(t,e){if(e&&("object"===ad(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function dd(t){return dd=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},dd(t)}var pd=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&fd(t,e)}(s,t);var e,n,r,i,o=(r=s,i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=dd(r);if(i){var n=dd(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return hd(this,t)});function s(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,s),e=o.call(this,t),t=t||{},e.nbCol=t.nbCol,e.nb=t.nb||function(t,e,n,r){return.3*e*e/(r*r)*t/n.max},e.color=t.color||function(){return"#FF5733"},e.dotSize=t.dotSize,e.sigma=t.sigma,e}return e=s,n=[{key:"draw",value:function(t,e,n){var r=this;t=t.filter(this.filter);var i,o=n.getZf();if(this.nbCol&&(i=bf.getStatistics(t,(function(t){return t[r.nbCol]}),!0)),i){var s=this.dotSize?this.dotSize(e,o):2*o,a=this.sigma?this.sigma(e,o):.4*e,u=td(0,a);if(function(){try{var t=document.createElement("canvas");return!(!window.WebGLRenderingContext||!t.getContext("webgl")&&!t.getContext("experimental-webgl"))}catch(t){return!1}}()){var c=ed(n.w+"",n.h+"");if(!c)return void console.error("No webGL");var l,f,h,d,p,y,v,b=new sd(c.gl,s/o),m=e/2,g=ud(t);try{for(g.s();!(v=g.n()).done;){var w=v.value;if((l=this.color(w))&&"none"!==l){if(f=this.offset(w,e,o),h=this.nb(w[this.nbCol],e,i,o),d=w.x+f.dx+m,p=w.y+f.dy+m,!(y=je(l)))return;for(var _=0;_<=h;_++)b.addPointData2(d+u(),p+u(),y.r,y.g,y.b,y.opacity)}}}catch(t){g.e(t)}finally{g.f()}b.draw(n.getWebGLTransform()),n.initCanvasTransform(),n.ctx.drawImage(c.canvas,0,0)}else{n.setCanvasTransform();var x,S=ud(t);try{for(S.s();!(x=S.n()).done;){var O=x.value,I=this.color(O);if(I&&"none"!==I){n.ctx.fillStyle=I;for(var T=this.offset(O,e,o),A=this.nb(O[this.nbCol],e,i,o),M=O.x+T.dx+e/2,P=O.y+T.dy+e/2,E=0;E<=A;E++)n.ctx.fillRect(M+u(),P+u(),s,s)}}}catch(t){S.e(t)}finally{S.f()}}this.updateLegends({style:this,r:e,zf:o})}}}],n&&ld(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),s}(bf);function yd(t){return yd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},yd(t)}function vd(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function bd(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==yd(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==yd(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===yd(i)?i:String(i)),r)}var i}var md=function(){function t(e,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10;vd(this,t),this.gl=e;var o=rd(e,e.VERTEX_SHADER,"\n attribute vec2 pos;\n uniform float sizePix;\n uniform mat3 mat;\n\n attribute float t;\n varying float vt;\n\n void main() {\n gl_Position = vec4(mat * vec3(pos, 1.0), 1.0);\n gl_PointSize = sizePix;\n vt = t;\n }\n "),s="\n precision mediump float;\n varying float vt;\n uniform float alpha;"+function(){for(var t=[],e=0;e<n.length;e++)t.push("uniform vec4 c"+e+";");return t.join("")}()+"void main(void) {\n ";if(r?"pow"==r.fun?s+="float t = pow(vt, alpha);":"powRev"==r.fun?s+="float t = 1.0-pow(1.0-vt, 1.0/alpha);":"exp"==r.fun?s+=0==r.alpha?"float t = vt;":"float t = (exp(vt * alpha) - 1.0) / (exp(alpha) - 1.0);":"expRev"==r.fun?s+=0==r.alpha?"float t = vt;":"float t = 1.0 - (1.0 / alpha) * log(exp(alpha) * (1.0 - vt) + vt);":"circleLow"==r.fun?0==r.alpha?s+="float t = vt;":1==r.alpha?s+="float t = sqrt(vt * (2.0 - vt));":s+="float a = alpha / (1.0 - alpha);\n float t = sqrt(1.0 / (a * a) + vt * ( 2.0/a + 2.0 - vt )) - 1.0 / a;":"circleHigh"==r.fun?0==r.alpha?s+="float t = vt;":1==r.alpha?s+="float t = 1.0 - sqrt((1.0 - vt) * (1.0 + vt));":s+="float a = alpha / (1.0 - alpha);\n float t = 1.0 - sqrt(1.0 / (a * a) + (1.0-vt) * ( 2.0/a + 1.0 + vt )) + 1.0 / a;":(console.error("Unexpected stretching function code: "+r.fun),s+="float t = vt;"):s+="float t = vt;",1==n.length)s+="\n vec4 cI=c0;\n vec4 cF=c0;";else if(2==n.length)s+="\n vec4 cI=c0;\n vec4 cF=c1;";else{var a=n.length-1,u=a+".0";s+="\n vec4 cI;\n vec4 cF;\n if(t<1.0/"+u+") { cI=c0; cF=c1; t=t*"+u+"; }";for(var c=2;c<a;c++)s+="else if(t<"+c+".0/"+u+") { cI=c"+(c-1)+"; cF=c"+c+"; t="+u+"*t-"+(c-1)+".0; }";s+="else { cI=c"+(a-1)+"; cF=c"+a+"; t="+u+"*t-"+(a-1)+".0; }"}1==n.length?s+="gl_FragColor = vec4(c0[0], c0[1], c0[2], c0[3]);}":s+="gl_FragColor = mix(cI, cF, t);}";var l=rd(e,e.FRAGMENT_SHADER,s);this.program=nd(e,o,l),e.useProgram(this.program),e.uniform1f(e.getUniformLocation(this.program,"sizePix"),1*i),e.uniform1f(e.getUniformLocation(this.program,"alpha"),r?1*r.alpha:0);for(var f=0;f<n.length;f++){var h=je(n[f]);e.uniform4fv(e.getUniformLocation(this.program,"c"+f),[+h.r/255,+h.g/255,+h.b/255,+h.opacity])}}var e,n;return e=t,(n=[{key:"draw",value:function(t,e,n){var r=this.gl,i=this.program;r.bindBuffer(r.ARRAY_BUFFER,r.createBuffer()),r.bufferData(r.ARRAY_BUFFER,new Float32Array(t),r.STATIC_DRAW);var o=r.getAttribLocation(i,"pos");r.vertexAttribPointer(o,2,r.FLOAT,!1,0,0),r.enableVertexAttribArray(o),r.bindBuffer(r.ARRAY_BUFFER,r.createBuffer()),r.bufferData(r.ARRAY_BUFFER,new Float32Array(e),r.STATIC_DRAW);var s=r.getAttribLocation(i,"t");r.vertexAttribPointer(s,1,r.FLOAT,!1,0,0),r.enableVertexAttribArray(s),r.uniformMatrix3fv(r.getUniformLocation(i,"mat"),!1,new Float32Array(n)),r.clear(r.COLOR_BUFFER_BIT),r.drawArrays(r.POINTS,0,t.length/2)}}])&&bd(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function gd(t){return gd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gd(t)}function wd(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==gd(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==gd(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===gd(i)?i:String(i)),r)}var i}function _d(t,e){return _d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},_d(t,e)}function xd(t,e){if(e&&("object"===gd(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function Sd(t){return Sd=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Sd(t)}var Od=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_d(t,e)}(s,t);var e,n,r,i,o=(r=s,i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=Sd(r);if(i){var n=Sd(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return xd(this,t)});function s(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,s),e=o.call(this,t),t=t||{},e.colorCol=t.colorCol,e.tFun=t.tFun||function(t,e,n){return t/n.max},e.stretching=t.stretching,e.colors=t.colors||["rgb(158, 1, 66)","rgb(248, 142, 83)","rgb(251, 248, 176)","rgb(137, 207, 165)","rgb(94, 79, 162)"].reverse(),t.color&&(e.colors=[t.color(0),t.color(.2),t.color(.4),t.color(.6),t.color(.8),t.color(1)]),e.size=t.size,e}return e=s,(n=[{key:"draw",value:function(t,e,n){var r=this;t=t.filter(this.filter);var i=n.getZf(),o=bf.getStatistics(t,(function(t){return t[r.colorCol]}),!0);if(o){var s=ed(n.w+"",n.h+"");if(s){for(var a,u=e/2,c=t.length,l=[],f=[],h=0;h<c;h++){a=t[h];var d=this.tFun(a[this.colorCol],e,o);null!=d&&null!=d&&(l.push(a.x+u,a.y+u),f.push(d>1?1:d<0?0:d))}var p=this.size?this.size(e,i):e+.2*i;new md(s.gl,this.colors,this.stretching,p/i).draw(l,f,n.getWebGLTransform()),n.initCanvasTransform(),n.ctx.drawImage(s.canvas,0,0),this.updateLegends({style:this,r:e,zf:i,sColor:o})}else console.error("No webGL")}}}])&&wd(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),s}(bf);function Id(t){return Id="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Id(t)}function Td(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==Id(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Id(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Id(i)?i:String(i)),r)}var i}var Ad=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t)}var e,n;return e=t,n=[{key:"get",value:function(t,e){if(null!=(e=e||{}).nb){e.nb<2&&(console.error("unexpected number of colors in tanaka (<2): "+e.nb),e.nb=2),e.color||(console.error("color function not defined in tanaka"),e.color=function(){return"gray"}),e.colors=[];for(var n=0;n<e.nb;n++)e.colors.push(e.color(n/(e.nb-1)))}e.colors=e.colors||["#a9bb9e","#c9dcaa","#fde89f","#f9a579","#eb444b"];var r=e.colors.length;e.tFun=e.tFun||function(t,e,n){return(t-n.min)/(n.max-n.min)},e.colDark=e.colDark||"#111",e.colBright=e.colBright||"#ddd",e.widthFactor=e.widthFactor||.08,e.newShading=e.newShading,e.newShadingWidthPix=e.newShadingWidthPix||2,e.newShadingTr=e.newShadingTr||function(t,e){return Math.abs(t)/Math.max(Math.abs(e.min),Math.abs(e.max))};var i=function(t){if(isNaN(t)||null==t)return console.error("Unexpected t value 1: "+t),-9;for(var e=0;e<r;e++)if(t<=(e+1)/r)return e;return console.error("Unexpected t value 2: "+t),-9},o=new Od({colorCol:t,colors:e.colors,tFun:function(t,n,o){var s=e.tFun(t,n,o);return i(s)/(r-1)},size:function(t,e){return t+.5*e},filter:e.filter}),s=new zh({valueCol:t,value:function(t,n,r,o,s){if(void 0===t&&void 0===n)return 0;if(void 0===n){var a=e.tFun(t,r,o);if(null==a||isNaN(a))throw new Error("Unexpected value: "+t+" - "+a);return i(a)+1}if(void 0===t){var u=e.tFun(n,r,o);if(null==u||isNaN(u))throw new Error("Unexpected value: "+n+" - "+u);return-i(u)-1}var c=e.tFun(t,r,o);if(null==c||isNaN(c))throw new Error("Unexpected value: "+t+" - "+c);var l=e.tFun(n,r,o);if(null==l||isNaN(l))throw new Error("Unexpected value: "+n+" - "+l);var f=i(c);return-i(l)+f},color:e.newShading?function(t,n,r,i){var o=e.newShadingTr(t.value,r);return t.value>0&&"h"===t.or||t.value<0&&"v"===t.or?"rgba(255,255,100,"+o+")":"rgba(0,0,0,"+o+")"}:function(t,n,r,i){if(0!==t.value)return"v"===t.or?t.value<0?e.colBright:e.colDark:t.value<0?e.colDark:e.colBright},width:e.newShading?function(t,n,r,i){return e.newShadingWidthPix*i}:function(t,n,r,i){return e.widthFactor*n*Math.abs(t.value)*("v"===t.or?.5:1)},filter:e.filter});return[o,s]}}],null&&Td(e.prototype,null),n&&Td(e,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function Md(t){return Md="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Md(t)}function Pd(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==Md(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Md(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Md(i)?i:String(i)),r)}var i}var Ed=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.colors=e,this.vshString="\n attribute vec2 pos;\n uniform float sizePix;\n uniform mat3 mat;\n\n attribute float i;\n varying float vi;\n\n void main() {\n gl_Position = vec4(mat * vec3(pos, 1.0), 1.0);\n gl_PointSize = sizePix;\n vi = i;\n }\n ";var n=[];n.push("precision mediump float;\nvarying float vi;\n"),n.push("uniform vec4");for(var r=0;r<e.length;r++)r>0&&n.push(","),n.push(" c"+r);n.push(";\n"),n.push("void main(void) {\n");for(var i=0;i<e.length;i++)i>0&&n.push("else "),n.push("if(vi=="),n.push(i),n.push(".0) gl_FragColor = vec4(c"),n.push(i),n.push("[0], c"),n.push(i),n.push("[1], c"),n.push(i),n.push("[2], c"),n.push(i),n.push("[3]);\n");n.push("else gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\n}"),this.fshString=n.join("")}var e,n;return e=t,n=[{key:"draw",value:function(t,e,n,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:10,o=rd(t,t.VERTEX_SHADER,this.vshString),s=rd(t,t.FRAGMENT_SHADER,this.fshString),a=nd(t,o,s);t.useProgram(a),t.uniform1f(t.getUniformLocation(a,"sizePix"),1*i);for(var u=0;u<this.colors.length;u++){var c=je(this.colors[u]);t.uniform4fv(t.getUniformLocation(a,"c"+u),[+c.r/255,+c.g/255,+c.b/255,+c.opacity])}t.bindBuffer(t.ARRAY_BUFFER,t.createBuffer()),t.bufferData(t.ARRAY_BUFFER,new Float32Array(e),t.STATIC_DRAW);var l=t.getAttribLocation(a,"pos");t.vertexAttribPointer(l,2,t.FLOAT,!1,0,0),t.enableVertexAttribArray(l),t.bindBuffer(t.ARRAY_BUFFER,t.createBuffer()),t.bufferData(t.ARRAY_BUFFER,new Float32Array(n),t.STATIC_DRAW);var f=t.getAttribLocation(a,"i");t.vertexAttribPointer(f,1,t.FLOAT,!1,0,0),t.enableVertexAttribArray(f),t.uniformMatrix3fv(t.getUniformLocation(a,"mat"),!1,new Float32Array(r)),t.clear(t.COLOR_BUFFER_BIT),t.drawArrays(t.POINTS,0,e.length/2)}}],n&&Pd(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function Cd(t){return Cd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Cd(t)}function jd(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==Cd(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Cd(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Cd(i)?i:String(i)),r)}var i}function kd(t,e){return kd=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},kd(t,e)}function Bd(t,e){if(e&&("object"===Cd(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function Fd(t){return Fd=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Fd(t)}var Ld=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&kd(t,e)}(s,t);var e,n,r,i,o=(r=s,i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=Fd(r);if(i){var n=Fd(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return Bd(this,t)});function s(t){var e;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,s),e=o.call(this,t),t=t||{},e.colorCol=t.colorCol,t.color=t.color||void 0;var n=Object.keys(t.color);e.catToI={};for(var r=0;r<n.length;r++)e.catToI[n[r]]=r+"";e.colors=[];for(var i=0;i<n.length;i++)e.colors.push(t.color[""+n[i]]);return e.size=t.size,e.wgp=new Ed(e.colors),e}return e=s,(n=[{key:"draw",value:function(t,e,n){t=t.filter(this.filter);for(var r,i=n.getZf(),o=e/2,s=t.length,a=[],u=[],c=0;c<s;c++){var l=(r=t[c])[this.colorCol];if(null!=l){var f=this.catToI[l];isNaN(+f)?console.log("Unexpected category index: "+l+" "+f):(a.push(r.x+o,r.y+o),u.push(+f))}else console.log("Unexpected category: "+l)}var h=ed(n.w+"",n.h+"");if(h){var d=this.size?this.size(e,i):e+.2*i;this.wgp.draw(h.gl,a,u,n.getWebGLTransform(),d/i),n.initCanvasTransform(),n.ctx.drawImage(h.canvas,0,0),this.updateLegends({style:this,r:e,zf:i})}else console.error("No webGL")}}])&&jd(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),s}(bf);function Dd(t){return Dd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Dd(t)}function Nd(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return Rd(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Rd(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){a=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}function Rd(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function Ud(t,e){return Ud=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Ud(t,e)}function zd(t,e){if(e&&("object"===Dd(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function Vd(t){return Vd=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Vd(t)}function Wd(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function $d(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==Dd(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Dd(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Dd(i)?i:String(i)),r)}var i}function Yd(t,e,n){return e&&$d(t.prototype,e),n&&$d(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}var Gd=function(){function t(){Wd(this,t)}return Yd(t,null,[{key:"get",value:function(t,e){(e=e||{}).colors=e.colors||["#00852b","#afd246","#fac80a","#bb805a","#d67923","#cb4e29","#b40000","#720012"],e.colDark=e.colDark||"#333",e.colBright=e.colBright||"#aaa",e.widthFactor=e.widthFactor||.12;var n=Ad.get(t,e),r=new Cf({strokeColor:function(){return"#666"},strokeWidth:function(t,e,n,r){return.2*r},filter:e.filter});return[n[0],r,n[1],new Zd({colDark:e.colDark,colBright:e.colBright,filter:e.filter})]}},{key:"getCat",value:function(t,e){return(e=e||{}).colDark=e.colDark||"#333",e.colBright=e.colBright||"#aaa",[new Ld({colorCol:t,color:e.color}),new Cf({strokeColor:function(){return"#666"},strokeWidth:function(t,e,n,r){return.2*r}}),new Zd({colDark:e.colDark,colBright:e.colBright})]}}]),t}(),Zd=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Ud(t,e)}(i,t);var e,n,r=(e=i,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,r=Vd(e);if(n){var i=Vd(this).constructor;t=Reflect.construct(r,arguments,i)}else t=r.apply(this,arguments);return zd(this,t)});function i(t){var e;return Wd(this,i),e=r.call(this,t),t=t||{},e.colDark=t.colDark||"#333",e.colBright=t.colBright||"#aaa",e}return Yd(i,[{key:"draw",value:function(t,e,n){t=t.filter(this.filter),n.ctx.lineWidth=.6*n.getZf(),n.ctx.strokeStyle=this.colDark;var r,i=Nd(t);try{for(i.s();!(r=i.n()).done;){var o=r.value;n.ctx.beginPath(),n.ctx.arc(o.x+.5*e,o.y+.5*e,.55*e*.5,Math.PI/4,-Math.PI*(3/4),!0),n.ctx.stroke()}}catch(t){i.e(t)}finally{i.f()}n.ctx.strokeStyle=this.colBright;var s,a=Nd(t);try{for(a.s();!(s=a.n()).done;){var u=s.value;n.ctx.beginPath(),n.ctx.arc(u.x+.5*e,u.y+.5*e,.55*e*.5,Math.PI/4,-Math.PI*(3/4),!1),n.ctx.stroke()}}catch(t){a.e(t)}finally{a.f()}}}]),i}(bf);function Hd(t){return Hd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Hd(t)}function qd(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function Xd(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==Hd(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Hd(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Hd(i)?i:String(i)),r)}var i}function Kd(t,e){return Kd=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Kd(t,e)}function Jd(t,e){if(e&&("object"===Hd(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function Qd(t){return Qd=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Qd(t)}var tp=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Kd(t,e)}(s,t);var e,n,r,i,o=(r=s,i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=Qd(r);if(i){var n=Qd(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return Jd(this,t)});function s(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,s),e=o.call(this,t),t=t||{},e.colorCol=t.colorCol,e.color=t.color||function(){return"#EA6BAC"},e.mosaicFactor=t.mosaicFactor||.15,e.shadowFactor=t.shadowFactor||.2,e.shadowColor=t.shadowColor||"#555",e}return e=s,(n=[{key:"draw",value:function(t,e,n){var r=this;t=t.filter(this.filter);var i,o=n.getZf();this.colorCol&&(i=bf.getStatistics(t,(function(t){return t[r.colorCol]}),!0)),n.ctx.strokeStyle=this.shadowColor,n.ctx.lineWidth=this.shadowFactor*e,n.ctx.lineJoin="round",n.ctx.lineCap="butt";var s=e*this.mosaicFactor,a=function(){return{x:Math.random()*s,y:Math.random()*s}};n.setCanvasTransform();var u,c=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return qd(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?qd(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){a=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}(t);try{for(c.s();!(u=c.n()).done;){var l=u.value,f=this.color?this.color(l[this.colorCol],e,i):void 0;if(f&&"none"!==f){n.ctx.fillStyle=f;var h=this.offset(l,e,o),d=a(),p=a(),y=a(),v=a();this.shadowFactor>0&&(n.ctx.beginPath(),n.ctx.moveTo(l.x+h.dx+d.x,l.y+h.dy+d.y),n.ctx.lineTo(l.x+h.dx+e-y.x,l.y+h.dy+y.y),n.ctx.lineTo(l.x+h.dx+e-v.x,l.y+h.dy+e-v.y),n.ctx.stroke()),n.ctx.beginPath(),n.ctx.moveTo(l.x+h.dx+d.x,l.y+h.dy+d.y),n.ctx.lineTo(l.x+h.dx+e-y.x,l.y+h.dy+y.y),n.ctx.lineTo(l.x+h.dx+e-v.x,l.y+h.dy+e-v.y),n.ctx.lineTo(l.x+h.dx+p.x,l.y+h.dy+e-p.y),n.ctx.fill()}}}catch(t){c.e(t)}finally{c.f()}this.updateLegends({style:this,r:e,zf:o,sColor:i})}}])&&Xd(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),s}(bf);function ep(t){return ep="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ep(t)}function np(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==ep(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==ep(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===ep(i)?i:String(i)),r)}var i}var rp=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=e||{},this.id=e.id,this.top=e.top,this.bottom=e.bottom,this.left=e.left,this.right=e.right,this.background=e.background||"none",this.padding=e.padding||"5px",this.border=e.border||"0px",this["border-radius"]=e["border-radius"]||"none",this["box-shadow"]=e["box-shadow"]||"none",this["font-family"]=e["font-family"]||"Helvetica, Arial, sans-serif",this.width=e.width,this.height=e.height,this.id&&(this.div=bt("#"+this.id)),this.div&&!this.div.empty()||(this.div=bt(document.createElement("div")),this.id&&this.div.attr("id",this.id)),this.div.style("background",this.background),this.div.style("padding",this.padding),this.div.style("border",this.border),this.div.style("border-radius",this["border-radius"]),this.div.style("box-shadow",this["box-shadow"]),this.div.style("font-family",this["font-family"]),this.width&&this.div.style("width",this.width),this.height&&this.div.style("height",this.height)}var e,n;return e=t,(n=[{key:"style",value:function(t,e){return this.div.style(t,e),this}},{key:"update",value:function(t){console.error("Legend update not implemented yet.")}}])&&np(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function ip(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}var op,sp=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function ap(t){if(!(e=sp.exec(t)))throw new Error("invalid format: "+t);var e;return new up({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function up(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function cp(t,e){var n=ip(t,e);if(!n)return t+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}ap.prototype=up.prototype,up.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const lp={"%":(t,e)=>(100*t).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>cp(100*t,e),r:cp,s:function(t,e){var n=ip(t,e);if(!n)return t+"";var r=n[0],i=n[1],o=i-(op=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,s=r.length;return o===s?r:o>s?r+new Array(o-s+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+ip(t,Math.max(0,e+o-1))[0]},X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function fp(t){return t}var hp,dp,pp=Array.prototype.map,yp=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function vp(t){return hp=function(t){var e,n,r=void 0===t.grouping||void 0===t.thousands?fp:(e=pp.call(t.grouping,Number),n=t.thousands+"",function(t,r){for(var i=t.length,o=[],s=0,a=e[0],u=0;i>0&&a>0&&(u+a+1>r&&(a=Math.max(1,r-u)),o.push(t.substring(i-=a,i+a)),!((u+=a+1)>r));)a=e[s=(s+1)%e.length];return o.reverse().join(n)}),i=void 0===t.currency?"":t.currency[0]+"",o=void 0===t.currency?"":t.currency[1]+"",s=void 0===t.decimal?".":t.decimal+"",a=void 0===t.numerals?fp:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(pp.call(t.numerals,String)),u=void 0===t.percent?"%":t.percent+"",c=void 0===t.minus?"−":t.minus+"",l=void 0===t.nan?"NaN":t.nan+"";function f(t){var e=(t=ap(t)).fill,n=t.align,f=t.sign,h=t.symbol,d=t.zero,p=t.width,y=t.comma,v=t.precision,b=t.trim,m=t.type;"n"===m?(y=!0,m="g"):lp[m]||(void 0===v&&(v=12),b=!0,m="g"),(d||"0"===e&&"="===n)&&(d=!0,e="0",n="=");var g="$"===h?i:"#"===h&&/[boxX]/.test(m)?"0"+m.toLowerCase():"",w="$"===h?o:/[%p]/.test(m)?u:"",_=lp[m],x=/[defgprs%]/.test(m);function S(t){var i,o,u,h=g,S=w;if("c"===m)S=_(t)+S,t="";else{var O=(t=+t)<0||1/t<0;if(t=isNaN(t)?l:_(Math.abs(t),v),b&&(t=function(t){t:for(var e,n=t.length,r=1,i=-1;r<n;++r)switch(t[r]){case".":i=e=r;break;case"0":0===i&&(i=r),e=r;break;default:if(!+t[r])break t;i>0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t}(t)),O&&0==+t&&"+"!==f&&(O=!1),h=(O?"("===f?f:c:"-"===f||"("===f?"":f)+h,S=("s"===m?yp[8+op/3]:"")+S+(O&&"("===f?")":""),x)for(i=-1,o=t.length;++i<o;)if(48>(u=t.charCodeAt(i))||u>57){S=(46===u?s+t.slice(i+1):t.slice(i))+S,t=t.slice(0,i);break}}y&&!d&&(t=r(t,1/0));var I=h.length+t.length+S.length,T=I<p?new Array(p-I+1).join(e):"";switch(y&&d&&(t=r(T+t,T.length?p-S.length:1/0),T=""),n){case"<":t=h+t+S+T;break;case"=":t=h+T+t+S;break;case"^":t=T.slice(0,I=T.length>>1)+h+t+S+T.slice(I);break;default:t=T+h+t+S}return a(t)}return v=void 0===v?6:/[gprs]/.test(m)?Math.max(1,Math.min(21,v)):Math.max(0,Math.min(20,v)),S.toString=function(){return t+""},S}return{format:f,formatPrefix:function(t,e){var n,r=f(((t=ap(t)).type="f",t)),i=3*Math.max(-8,Math.min(8,Math.floor((n=e,((n=ip(Math.abs(n)))?n[1]:NaN)/3)))),o=Math.pow(10,-i),s=yp[8+i/3];return function(t){return r(o*t)+s}}}}(t),dp=hp.format,hp.formatPrefix,hp}function bp(t){return bp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},bp(t)}function mp(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==bp(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==bp(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===bp(i)?i:String(i)),r)}var i}function gp(t,e){return gp=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},gp(t,e)}function wp(t,e){if(e&&("object"===bp(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function _p(t){return _p=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},_p(t)}vp({thousands:",",grouping:[3],currency:["$",""]});var xp=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&gp(t,e)}(s,t);var e,n,r,i,o=(r=s,i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=_p(r);if(i){var n=_p(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return wp(this,t)});function s(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,s),e=o.call(this,t),t=t||{},e.colorRamp=t.colorRamp,e.fun=t.fun,e.title=t.title,e.tickSize=t.tickSize||6,e.width=t.width||300,e.height=t.height||15,e.margin=t.margin||5,e.ticks=t.ticks||Math.floor(e.width/50),e.tickFormat=t.tickFormat||",.0f",e.tickUnit=t.tickUnit,e.fontSize=t.fontSize||"0.8em",e.invert=t.invert,e}return e=s,n=[{key:"update",value:function(t){if(t.sColor){this.div.selectAll("*").remove();var e=this.width+2*this.margin,n=this.height+3*this.margin+12+this.tickSize+10,r=this.div.append("svg").attr("width",e).attr("height",n);r.append("text").attr("x",this.margin).attr("y",this.margin).style("font-size","0.8em").style("font-weight","bold").style("alignment-baseline","top").style("dominant-baseline","hanging").style("pointer-events","none").text(this.title);for(var i=r.append("g").attr("transform","translate("+this.margin+" "+(2*this.margin+12)+")"),o=this.width,s=this.height,a=0;a<o;a+=5){var u=a/(o-1);this.invert&&(u=1-u),i.append("rect").attr("x",a).attr("y",0).attr("width",5).attr("height",s).style("fill",this.colorRamp(u))}for(var c=0;c<this.ticks;c++){var l=c/(this.ticks-1);i.append("line").attr("x1",o*l).attr("y1",0).attr("x2",o*l).attr("y2",s+this.tickSize).style("stroke","black"),i.append("text").attr("id","ticklabel_"+c).attr("x",o*l).attr("y",s+this.tickSize+2).style("font-size",this.fontSize).style("text-anchor",0==c?"start":c==this.ticks-1?"end":"middle").style("alignment-baseline","top").style("dominant-baseline","hanging").style("pointer-events","none")}for(var f=this.tickFormat&&"text"!=this.tickFormat?dp(this.tickFormat):function(t){return t},h=0;h<this.ticks;h++){var d=h/(this.ticks-1),p=this.fun(d,t.r,t.sColor),y=(p?f(p):"0")+(this.tickUnit?this.tickUnit:"");this.div.select("#ticklabel_"+h).text(y)}}}}],n&&mp(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),s}(rp);function Sp(t){return Sp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Sp(t)}function Op(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==Sp(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Sp(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Sp(i)?i:String(i)),r)}var i}function Ip(t,e){return Ip=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Ip(t,e)}function Tp(t,e){if(e&&("object"===Sp(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function Ap(t){return Ap=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Ap(t)}var Mp=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Ip(t,e)}(s,t);var e,n,r,i,o=(r=s,i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=Ap(r);if(i){var n=Ap(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return Tp(this,t)});function s(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,s),e=o.call(this,t),t=t||{},e.colors=t.colors,e.breaksText=t.breaksText,e.width=t.width||300,e.height=t.height||15,e.title=t.title,e.titleFontSize=t.titleFontSize||"0.8em",e.titleFontWeight=t.titleFontWeight||"bold",e.tickSize=t.tickSize||3,e.labelFontSize=t.labelFontSize||"0.8em",e.invert=t.invert,e}return e=s,(n=[{key:"update",value:function(t){this.div.selectAll("*").remove(),this.title&&this.div.append("div").style("font-size",this.titleFontSize).style("font-weight",this.titleFontWeight).style("margin-bottom","7px").text(this.title);var e=this.colors.length;if(0!=e){for(var n=this.width/e,r=this.div.append("svg").attr("width",this.width).attr("height",this.height+this.tickSize+2+10),i=0;i<e;i++)r.append("rect").attr("x",i*n).attr("y",0).attr("width",n).attr("height",this.height).style("fill",this.colors[i]);for(var o=1;o<e;o++)r.append("line").attr("x1",n*o).attr("y1",0).attr("x2",n*o).attr("y2",this.height+this.tickSize).style("stroke","black");for(var s=1;s<e;s++)r.append("text").attr("id","ticklabel_"+s).attr("x",n*s).attr("y",this.height+this.tickSize+2).style("font-size",this.labelFontSize).style("text-anchor",0==s?"start":s==this.ticks-1?"end":"middle").style("alignment-baseline","top").style("dominant-baseline","hanging").style("pointer-events","none").text(this.breaksText[s-1])}}}])&&Op(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),s}(rp);function Pp(t){return Pp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Pp(t)}function Ep(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==Pp(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Pp(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Pp(i)?i:String(i)),r)}var i}function Cp(t,e){return Cp=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Cp(t,e)}function jp(t,e){if(e&&("object"===Pp(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function kp(t){return kp=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},kp(t)}var Bp=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Cp(t,e)}(s,t);var e,n,r,i,o=(r=s,i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=kp(r);if(i){var n=kp(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return jp(this,t)});function s(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,s),e=o.call(this,t),t=t||{},e.colCat=t.colCat||[["gray","-"]],e.shape=t.shape||"circle",e.dimension=t.dimension||{r:8},e.strokeColor=t.strokeColor||"gray",e.strokeWidth=t.strokeWidth||1,e.title=t.title,e.titleFontSize=t.titleFontSize||"0.8em",e.titleFontWeight=t.titleFontWeight||"bold",e.labelFontSize=t.labelFontSize||"0.8em",e}return e=s,n=[{key:"update",value:function(t){this.div.selectAll("*").remove(),this.title&&this.div.append("div").style("font-size",this.titleFontSize).style("font-weight",this.titleFontWeight).style("margin-bottom","7px").text(this.title);var e=this.colCat.length;if(0!=e)for(var n=0;n<e;n++){var r=this.colCat[n],i=this.div.append("div"),o=this.strokeWidth;if("square"===this.shape){var s=this.dimension.h||15,a=this.dimension.w||20;i.append("div").style("display","inline").append("svg").attr("width",a+2*o).attr("height",s+2*o).append("rect").attr("x",o).attr("y",o).attr("width",a).attr("height",s).style("fill",r[0]).style("stroke",this.strokeColor).style("stroke-width",this.strokeWidth)}else{if("circle"!==this.shape)throw new Error("Unexpected shape:"+this.shape);var u=this.dimension.r||8,c=2*u+2*o;i.append("div").style("display","inline").append("svg").attr("width",c).attr("height",c).append("circle").attr("cx",u+o).attr("cy",u+o).attr("r",u).style("fill",r[0]).style("stroke",this.strokeColor).style("stroke-width",this.strokeWidth)}i.append("div").style("display","inline").style("padding-left","5px").style("font-size",this.labelFontSize).text(r[1])}}}],n&&Ep(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),s}(rp);function Fp(t){return Fp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Fp(t)}function Lp(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==Fp(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Fp(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Fp(i)?i:String(i)),r)}var i}function Dp(t,e){return Dp=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Dp(t,e)}function Np(t,e){if(e&&("object"===Fp(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function Rp(t){return Rp=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Rp(t)}var Up=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Dp(t,e)}(s,t);var e,n,r,i,o=(r=s,i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=Rp(r);if(i){var n=Rp(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return Np(this,t)});function s(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,s),e=o.call(this,t),t=t||{},e.exaggerationFactor=t.exaggerationFactor||.8,e.value=t.value||void 0,e.title=t.title,e.titleFontSize=t.titleFontSize||"0.8em",e.titleFontWeight=t.titleFontWeight||"bold",e.shape=t.shape||"circle",e.fillColor=t.fillColor||"none",e.strokeColor=t.strokeColor||"gray",e.strokeWidth=t.strokeWidth||1,e.labelFontSize=t.labelFontSize||"0.8em",e.labelUnitText=t.labelUnitText||"",e.labelFormat=t.labelFormat||",.2r",e}return e=s,(n=[{key:"update",value:function(t){if(t.sSize){this.div.selectAll("*").remove();var e=this.value;if(null==e){var n=t.sSize.max*this.exaggerationFactor,r=Math.log10(n);r=Math.floor(r),8*(e=Math.pow(10,r))<=n?e*=8:6*e<=n?e*=6:5*e<=n?e*=5:4*e<=n?e*=4:2.5*e<=n?e*=2.5:2*e<=n&&(e*=2)}if(e){var i=this.div.append("div");this.title&&i.append("div").attr("class","title").style("font-size",this.titleFontSize).style("font-weight",this.titleFontWeight).text(this.title);var o=t.style.size(e,t.r,t.sSize,t.zf)/t.zf,s=i.append("svg").attr("width",o+this.strokeWidth+2).attr("height",o+this.strokeWidth+2).style("","inline-block");if("square"===this.shape)s.append("rect").attr("x",0).attr("y",0).attr("width",o).attr("height",o).style("fill",this.fillColor).style("stroke",this.strokeColor).style("stroke-width",this.strokeWidth);else if("circle"===this.shape){var a=.5*(o+this.strokeWidth);s.append("circle").attr("cx",a+1).attr("cy",a+1).attr("r",a).style("fill",this.fillColor).style("stroke",this.strokeColor).style("stroke-width",this.strokeWidth)}else if("donut"===this.shape);else if("diamond"!==this.shape)throw new Error("Unexpected shape:"+this.shape);var u=dp(this.labelFormat)(e);i.append("div").style("display","inline").style("padding-left","5px").style("font-size",this.labelFontSize).text(u+(this.labelUnitText?" ":"")+this.labelUnitText)}}}}])&&Lp(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),s}(rp);function zp(t){return zp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},zp(t)}function Vp(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==zp(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==zp(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===zp(i)?i:String(i)),r)}var i}function Wp(t,e){return Wp=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Wp(t,e)}function $p(t,e){if(e&&("object"===zp(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function Yp(t){return Yp=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Yp(t)}var Gp=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Wp(t,e)}(s,t);var e,n,r,i,o=(r=s,i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=Yp(r);if(i){var n=Yp(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return $p(this,t)});function s(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,s),e=o.call(this,t),t=t||{},e.title=t.title,e.titleFontSize=t.titleFontSize||"0.8em",e.titleFontWeight=t.titleFontWeight||"bold",e.exaggerationFactor=t.exaggerationFactor||.5,e.color=t.color||"gray",e.orientation=t.orientation||0,e.labelFontSize=t.labelFontSize||"0.8em",e.labelUnitText=t.labelUnitText||"",e}return e=s,(n=[{key:"update",value:function(t){if(t.sWidth){this.div.selectAll("*").remove();var e=this.div.append("div");this.title&&e.append("div").attr("class","title").style("font-size",this.titleFontSize).style("font-weight",this.titleFontWeight).text(this.title);var n=t.sWidth.max*this.exaggerationFactor,r=Math.log10(n);r=Math.floor(r);var i=Math.pow(10,r);8*i<=n?i*=8:6*i<=n?i*=6:5*i<=n?i*=5:4*i<=n?i*=4:2.5*i<=n?i*=2.5:2*i<=n&&(i*=2);var o=t.style.width(i,t.r,t.sWidth,t.zf)/t.zf,s=1*t.r/t.zf;e.append("svg").attr("width",s).attr("height",o).style("","inline-block").append("line").attr("x1",0).attr("y1",o/2).attr("x2",s).attr("y2",o/2).style("stroke",this.color).style("stroke-width",o);var a=dp(",.2r")(i);e.append("div").style("display","inline").style("padding-left","5px").style("font-size",this.labelFontSize).text(a+(this.labelUnitText?" ":"")+this.labelUnitText)}}}])&&Vp(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),s}(rp);function Zp(t){return Zp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Zp(t)}function Hp(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,i=function(t,e){if("object"!==Zp(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Zp(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===Zp(i)?i:String(i)),r)}var i}function qp(t,e){return qp=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},qp(t,e)}function Xp(t,e){if(e&&("object"===Zp(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function Kp(t){return Kp=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Kp(t)}var Jp=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&qp(t,e)}(s,t);var e,n,r,i,o=(r=s,i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=Kp(r);if(i){var n=Kp(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return Xp(this,t)});function s(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,s),e=o.call(this,t),t=t||{},e.title=t.title,e.titleFontSize=t.titleFontSize||"0.8em",e.titleFontWeight=t.titleFontWeight||"bold",e.exaggerationFactor=t.exaggerationFactor||.5,e.color=t.color||"gray",e.orientation=t.orientation||0,e.widthPix=t.widthPix||3,e.labelFontSize=t.labelFontSize||"0.8em",e.labelUnitText=t.labelUnitText||"",e}return e=s,n=[{key:"update",value:function(t){if(t.sWidth){this.div.selectAll("*").remove();var e=this.div.append("div");this.title&&e.append("div").attr("class","title").style("font-size",this.titleFontSize).style("font-weight",this.titleFontWeight).text(this.title);var n=this.widthPix,r=1*t.r/t.zf,i=Math.max(r,n),o=e.append("svg").attr("width",i).attr("height",i).style("","inline-block"),s=Math.cos(-this.orientation*Math.PI/180),a=Math.sin(-this.orientation*Math.PI/180),u=.5*i,c=.5*r;o.append("line").attr("x1",u-s*c).attr("y1",u-a*c).attr("x2",u+s*c).attr("y2",u+a*c).style("stroke",this.color).style("stroke-width",n),e.append("div").style("display","inline").style("padding-left","5px").style("font-size",this.labelFontSize).text(this.labelUnitText)}}}],n&&Hp(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),s}(rp),Qp=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3;return Math.pow(t,e)},ty=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3;return 1-Math.pow(1-t,1/e)},ey=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3;return 0==e?t:(Math.exp(t*e)-1)/(Math.exp(e)-1)},ny=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3;return 0==e?t:1-1/e*Math.log(Math.exp(e)*(1-t)+t)},ry=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.8;if(0==e)return t;if(1==e)return Math.sqrt(t*(2-t));var n=e/(1-e);return Math.sqrt(1/(n*n)+t*(2/n+2-t))-1/n},iy=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.8;return 1-ry(1-t,e)},oy=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3;return 0==e?t:1/e*Math.log(1-t+t*Math.exp(e))},sy=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3;return(Math.exp(-e*t)-1)/(Math.exp(-e)-1)},ay=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3;return Math.pow(t,1/e)},uy=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3;return 1-Math.pow(1-t,e)},cy=1e-6,ly=Math.PI,fy=ly/2,hy=ly/4,dy=2*ly,py=180/ly,yy=ly/180,vy=Math.abs,by=Math.atan,my=Math.atan2,gy=Math.cos,wy=(Math.ceil,Math.exp,Math.floor,Math.hypot,Math.log,Math.pow,Math.sin),_y=Math.sign||function(t){return t>0?1:t<0?-1:0},xy=Math.sqrt;function Sy(t){return t>1?fy:t<-1?-fy:Math.asin(t)}function Oy(){}function Iy(){var t,e=[];return{point:function(e,n,r){t.push([e,n,r])},lineStart:function(){e.push(t=[])},lineEnd:Oy,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}}function Ty(t,e){return vy(t[0]-e[0])<cy&&vy(t[1]-e[1])<cy}function Ay(t,e,n,r){this.x=t,this.z=e,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function My(t,e,n,r,i){var o,s,a=[],u=[];if(t.forEach((function(t){if(!((e=t.length-1)<=0)){var e,n,r=t[0],s=t[e];if(Ty(r,s)){if(!r[2]&&!s[2]){for(i.lineStart(),o=0;o<e;++o)i.point((r=t[o])[0],r[1]);return void i.lineEnd()}s[0]+=2e-6}a.push(n=new Ay(r,t,null,!0)),u.push(n.o=new Ay(r,null,n,!1)),a.push(n=new Ay(s,t,null,!1)),u.push(n.o=new Ay(s,null,n,!0))}})),a.length){for(u.sort(e),Py(a),Py(u),o=0,s=u.length;o<s;++o)u[o].e=n=!n;for(var c,l,f=a[0];;){for(var h=f,d=!0;h.v;)if((h=h.n)===f)return;c=h.z,i.lineStart();do{if(h.v=h.o.v=!0,h.e){if(d)for(o=0,s=c.length;o<s;++o)i.point((l=c[o])[0],l[1]);else r(h.x,h.n.x,1,i);h=h.n}else{if(d)for(c=h.p.z,o=c.length-1;o>=0;--o)i.point((l=c[o])[0],l[1]);else r(h.x,h.p.x,-1,i);h=h.p}c=(h=h.o).z,d=!d}while(!h.v);i.lineEnd()}}}function Py(t){if(e=t.length){for(var e,n,r=0,i=t[0];++r<e;)i.n=n=t[r],n.p=i,i=n;i.n=n=t[0],n.p=i}}Math.tan;class Ey{constructor(){this._partials=new Float64Array(32),this._n=0}add(t){const e=this._partials;let n=0;for(let r=0;r<this._n&&r<32;r++){const i=e[r],o=t+i,s=Math.abs(t)<Math.abs(i)?t-(o-i):i-(o-t);s&&(e[n++]=s),t=o}return e[n]=t,this._n=n+1,this}valueOf(){const t=this._partials;let e,n,r,i=this._n,o=0;if(i>0){for(o=t[--i];i>0&&(e=o,n=t[--i],o=e+n,r=n-(o-e),!r););i>0&&(r<0&&t[i-1]<0||r>0&&t[i-1]>0)&&(n=2*r,e=o+n,n==e-o&&(o=e))}return o}}function Cy(t){return[my(t[1],t[0]),Sy(t[2])]}function jy(t){var e=t[0],n=t[1],r=gy(n);return[r*gy(e),r*wy(e),wy(n)]}function ky(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function By(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function Fy(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Ly(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function Dy(t){var e=xy(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}function Ny(t){return vy(t[0])<=ly?t[0]:_y(t[0])*((vy(t[0])+ly)%dy-ly)}function Ry(t){return Array.from(function*(t){for(const e of t)yield*e}(t))}function Uy(t,e,n,r){return function(i){var o,s,a,u=e(i),c=Iy(),l=e(c),f=!1,h={point:d,lineStart:y,lineEnd:v,polygonStart:function(){h.point=b,h.lineStart=m,h.lineEnd=g,s=[],o=[]},polygonEnd:function(){h.point=d,h.lineStart=y,h.lineEnd=v,s=Ry(s);var t=function(t,e){var n=Ny(e),r=e[1],i=wy(r),o=[wy(n),-gy(n),0],s=0,a=0,u=new Ey;1===i?r=fy+cy:-1===i&&(r=-fy-cy);for(var c=0,l=t.length;c<l;++c)if(h=(f=t[c]).length)for(var f,h,d=f[h-1],p=Ny(d),y=d[1]/2+hy,v=wy(y),b=gy(y),m=0;m<h;++m,p=w,v=x,b=S,d=g){var g=f[m],w=Ny(g),_=g[1]/2+hy,x=wy(_),S=gy(_),O=w-p,I=O>=0?1:-1,T=I*O,A=T>ly,M=v*x;if(u.add(my(M*I*wy(T),b*S+M*gy(T))),s+=A?O+I*dy:O,A^p>=n^w>=n){var P=By(jy(d),jy(g));Dy(P);var E=By(o,P);Dy(E);var C=(A^O>=0?-1:1)*Sy(E[2]);(r>C||r===C&&(P[0]||P[1]))&&(a+=A^O>=0?1:-1)}}return(s<-cy||s<cy&&u<-1e-12)^1&a}(o,r);s.length?(f||(i.polygonStart(),f=!0),My(s,Vy,t,n,i)):t&&(f||(i.polygonStart(),f=!0),i.lineStart(),n(null,null,1,i),i.lineEnd()),f&&(i.polygonEnd(),f=!1),s=o=null},sphere:function(){i.polygonStart(),i.lineStart(),n(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function d(e,n){t(e,n)&&i.point(e,n)}function p(t,e){u.point(t,e)}function y(){h.point=p,u.lineStart()}function v(){h.point=d,u.lineEnd()}function b(t,e){a.push([t,e]),l.point(t,e)}function m(){l.lineStart(),a=[]}function g(){b(a[0][0],a[0][1]),l.lineEnd();var t,e,n,r,u=l.clean(),h=c.result(),d=h.length;if(a.pop(),o.push(a),a=null,d)if(1&u){if((e=(n=h[0]).length-1)>0){for(f||(i.polygonStart(),f=!0),i.lineStart(),t=0;t<e;++t)i.point((r=n[t])[0],r[1]);i.lineEnd()}}else d>1&&2&u&&h.push(h.pop().concat(h.shift())),s.push(h.filter(zy))}return h}}function zy(t){return t.length>1}function Vy(t,e){return((t=t.x)[0]<0?t[1]-fy-cy:fy-t[1])-((e=e.x)[0]<0?e[1]-fy-cy:fy-e[1])}const Wy=Uy((function(){return!0}),(function(t){var e,n=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(o,s){var a=o>0?ly:-ly,u=vy(o-n);vy(u-ly)<cy?(t.point(n,r=(r+s)/2>0?fy:-fy),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(a,r),t.point(o,r),e=0):i!==a&&u>=ly&&(vy(n-i)<cy&&(n-=i*cy),vy(o-a)<cy&&(o-=a*cy),r=function(t,e,n,r){var i,o,s=wy(t-n);return vy(s)>cy?by((wy(e)*(o=gy(r))*wy(n)-wy(r)*(i=gy(e))*wy(t))/(i*o*s)):(e+r)/2}(n,r,o,s),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(a,r),e=0),t.point(n=o,r=s),i=a},lineEnd:function(){t.lineEnd(),n=r=NaN},clean:function(){return 2-e}}}),(function(t,e,n,r){var i;if(null==t)i=n*fy,r.point(-ly,i),r.point(0,i),r.point(ly,i),r.point(ly,0),r.point(ly,-i),r.point(0,-i),r.point(-ly,-i),r.point(-ly,0),r.point(-ly,i);else if(vy(t[0]-e[0])>cy){var o=t[0]<e[0]?ly:-ly;i=n*o/2,r.point(-o,i),r.point(0,i),r.point(o,i)}else r.point(e[0],e[1])}),[-ly,-fy]);function $y(t,e){(e=jy(e))[0]-=t,Dy(e);var n,r=(n=-e[1])>1?0:n<-1?ly:Math.acos(n);return((-e[2]<0?-r:r)+dy-cy)%dy}function Yy(t){var e=gy(t),n=6*yy,r=e>0,i=vy(e)>cy;function o(t,n){return gy(t)*gy(n)>e}function s(t,n,r){var i=[1,0,0],o=By(jy(t),jy(n)),s=ky(o,o),a=o[0],u=s-a*a;if(!u)return!r&&t;var c=e*s/u,l=-e*a/u,f=By(i,o),h=Ly(i,c);Fy(h,Ly(o,l));var d=f,p=ky(h,d),y=ky(d,d),v=p*p-y*(ky(h,h)-1);if(!(v<0)){var b=xy(v),m=Ly(d,(-p-b)/y);if(Fy(m,h),m=Cy(m),!r)return m;var g,w=t[0],_=n[0],x=t[1],S=n[1];_<w&&(g=w,w=_,_=g);var O=_-w,I=vy(O-ly)<cy;if(!I&&S<x&&(g=x,x=S,S=g),I||O<cy?I?x+S>0^m[1]<(vy(m[0]-w)<cy?x:S):x<=m[1]&&m[1]<=S:O>ly^(w<=m[0]&&m[0]<=_)){var T=Ly(d,(-p+b)/y);return Fy(T,h),[m,Cy(T)]}}}function a(e,n){var i=r?t:ly-t,o=0;return e<-i?o|=1:e>i&&(o|=2),n<-i?o|=4:n>i&&(o|=8),o}return Uy(o,(function(t){var e,n,u,c,l;return{lineStart:function(){c=u=!1,l=1},point:function(f,h){var d,p=[f,h],y=o(f,h),v=r?y?0:a(f,h):y?a(f+(f<0?ly:-ly),h):0;if(!e&&(c=u=y)&&t.lineStart(),y!==u&&(!(d=s(e,p))||Ty(e,d)||Ty(p,d))&&(p[2]=1),y!==u)l=0,y?(t.lineStart(),d=s(p,e),t.point(d[0],d[1])):(d=s(e,p),t.point(d[0],d[1],2),t.lineEnd()),e=d;else if(i&&e&&r^y){var b;v&n||!(b=s(p,e,!0))||(l=0,r?(t.lineStart(),t.point(b[0][0],b[0][1]),t.point(b[1][0],b[1][1]),t.lineEnd()):(t.point(b[1][0],b[1][1]),t.lineEnd(),t.lineStart(),t.point(b[0][0],b[0][1],3)))}!y||e&&Ty(e,p)||t.point(p[0],p[1]),e=p,u=y,n=v},lineEnd:function(){u&&t.lineEnd(),e=null},clean:function(){return l|(c&&u)<<1}}}),(function(e,r,i,o){!function(t,e,n,r,i,o){if(n){var s=gy(e),a=wy(e),u=r*n;null==i?(i=e+r*dy,o=e-u/2):(i=$y(s,i),o=$y(s,o),(r>0?i<o:i>o)&&(i+=r*dy));for(var c,l=i;r>0?l>o:l<o;l-=u)c=Cy([s,-a*gy(l),-a*wy(l)]),t.point(c[0],c[1])}}(o,t,n,i,e,r)}),r?[0,-t]:[-ly,t-ly])}var Gy=1e9,Zy=-Gy;function Hy(t,e,n,r){function i(i,o){return t<=i&&i<=n&&e<=o&&o<=r}function o(i,o,a,c){var l=0,f=0;if(null==i||(l=s(i,a))!==(f=s(o,a))||u(i,o)<0^a>0)do{c.point(0===l||3===l?t:n,l>1?r:e)}while((l=(l+a+4)%4)!==f);else c.point(o[0],o[1])}function s(r,i){return vy(r[0]-t)<cy?i>0?0:3:vy(r[0]-n)<cy?i>0?2:1:vy(r[1]-e)<cy?i>0?1:0:i>0?3:2}function a(t,e){return u(t.x,e.x)}function u(t,e){var n=s(t,1),r=s(e,1);return n!==r?n-r:0===n?e[1]-t[1]:1===n?t[0]-e[0]:2===n?t[1]-e[1]:e[0]-t[0]}return function(s){var u,c,l,f,h,d,p,y,v,b,m,g=s,w=Iy(),_={point:x,lineStart:function(){_.point=S,c&&c.push(l=[]),b=!0,v=!1,p=y=NaN},lineEnd:function(){u&&(S(f,h),d&&v&&w.rejoin(),u.push(w.result())),_.point=x,v&&g.lineEnd()},polygonStart:function(){g=w,u=[],c=[],m=!0},polygonEnd:function(){var e=function(){for(var e=0,n=0,i=c.length;n<i;++n)for(var o,s,a=c[n],u=1,l=a.length,f=a[0],h=f[0],d=f[1];u<l;++u)o=h,s=d,h=(f=a[u])[0],d=f[1],s<=r?d>r&&(h-o)*(r-s)>(d-s)*(t-o)&&++e:d<=r&&(h-o)*(r-s)<(d-s)*(t-o)&&--e;return e}(),n=m&&e,i=(u=Ry(u)).length;(n||i)&&(s.polygonStart(),n&&(s.lineStart(),o(null,null,1,s),s.lineEnd()),i&&My(u,a,e,o,s),s.polygonEnd()),g=s,u=c=l=null}};function x(t,e){i(t,e)&&g.point(t,e)}function S(o,s){var a=i(o,s);if(c&&l.push([o,s]),b)f=o,h=s,d=a,b=!1,a&&(g.lineStart(),g.point(o,s));else if(a&&v)g.point(o,s);else{var u=[p=Math.max(Zy,Math.min(Gy,p)),y=Math.max(Zy,Math.min(Gy,y))],w=[o=Math.max(Zy,Math.min(Gy,o)),s=Math.max(Zy,Math.min(Gy,s))];!function(t,e,n,r,i,o){var s,a=t[0],u=t[1],c=0,l=1,f=e[0]-a,h=e[1]-u;if(s=n-a,f||!(s>0)){if(s/=f,f<0){if(s<c)return;s<l&&(l=s)}else if(f>0){if(s>l)return;s>c&&(c=s)}if(s=i-a,f||!(s<0)){if(s/=f,f<0){if(s>l)return;s>c&&(c=s)}else if(f>0){if(s<c)return;s<l&&(l=s)}if(s=r-u,h||!(s>0)){if(s/=h,h<0){if(s<c)return;s<l&&(l=s)}else if(h>0){if(s>l)return;s>c&&(c=s)}if(s=o-u,h||!(s<0)){if(s/=h,h<0){if(s>l)return;s>c&&(c=s)}else if(h>0){if(s<c)return;s<l&&(l=s)}return c>0&&(t[0]=a+c*f,t[1]=u+c*h),l<1&&(e[0]=a+l*f,e[1]=u+l*h),!0}}}}}(u,w,t,e,n,r)?a&&(g.lineStart(),g.point(o,s),m=!1):(v||(g.lineStart(),g.point(u[0],u[1])),g.point(w[0],w[1]),a||g.lineEnd(),m=!1)}p=o,y=s,v=a}return _}}function qy(t,e){function n(n,r){return n=t(n,r),e(n[0],n[1])}return t.invert&&e.invert&&(n.invert=function(n,r){return(n=e.invert(n,r))&&t.invert(n[0],n[1])}),n}const Xy=t=>t;function Ky(t,e){return[vy(t)>ly?t+Math.round(-t/dy)*dy:t,e]}function Jy(t){return function(e,n){return[(e+=t)>ly?e-dy:e<-ly?e+dy:e,n]}}function Qy(t){var e=Jy(t);return e.invert=Jy(-t),e}function tv(t,e){var n=gy(t),r=wy(t),i=gy(e),o=wy(e);function s(t,e){var s=gy(e),a=gy(t)*s,u=wy(t)*s,c=wy(e),l=c*n+a*r;return[my(u*i-l*o,a*n-c*r),Sy(l*i+u*o)]}return s.invert=function(t,e){var s=gy(e),a=gy(t)*s,u=wy(t)*s,c=wy(e),l=c*i-u*o;return[my(u*i+c*o,a*n+l*r),Sy(l*n-a*r)]},s}function ev(t){return function(e){var n=new nv;for(var r in t)n[r]=t[r];return n.stream=e,n}}function nv(){}function rv(t,e){t&&ov.hasOwnProperty(t.type)&&ov[t.type](t,e)}Ky.invert=Ky,nv.prototype={constructor:nv,point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var iv={Feature:function(t,e){rv(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++r<i;)rv(n[r].geometry,e)}},ov={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)t=n[r],e.point(t[0],t[1],t[2])},LineString:function(t,e){sv(t.coordinates,e,0)},MultiLineString:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)sv(n[r],e,0)},Polygon:function(t,e){av(t.coordinates,e)},MultiPolygon:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)av(n[r],e)},GeometryCollection:function(t,e){for(var n=t.geometries,r=-1,i=n.length;++r<i;)rv(n[r],e)}};function sv(t,e,n){var r,i=-1,o=t.length-n;for(e.lineStart();++i<o;)r=t[i],e.point(r[0],r[1],r[2]);e.lineEnd()}function av(t,e){var n=-1,r=t.length;for(e.polygonStart();++n<r;)sv(t[n],e,1);e.polygonEnd()}var uv=1/0,cv=uv,lv=-uv,fv=lv,hv={point:function(t,e){t<uv&&(uv=t),t>lv&&(lv=t),e<cv&&(cv=e),e>fv&&(fv=e)},lineStart:Oy,lineEnd:Oy,polygonStart:Oy,polygonEnd:Oy,result:function(){var t=[[uv,cv],[lv,fv]];return lv=fv=-(cv=uv=1/0),t}};const dv=hv;function pv(t,e,n){var r=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),null!=r&&t.clipExtent(null),function(t,e){t&&iv.hasOwnProperty(t.type)?iv[t.type](t,e):rv(t,e)}(n,t.stream(dv)),e(dv.result()),null!=r&&t.clipExtent(r),t}function yv(t,e,n){return pv(t,(function(n){var r=e[1][0]-e[0][0],i=e[1][1]-e[0][1],o=Math.min(r/(n[1][0]-n[0][0]),i/(n[1][1]-n[0][1])),s=+e[0][0]+(r-o*(n[1][0]+n[0][0]))/2,a=+e[0][1]+(i-o*(n[1][1]+n[0][1]))/2;t.scale(150*o).translate([s,a])}),n)}var vv=gy(30*yy);function bv(t,e){return+e?function(t,e){function n(r,i,o,s,a,u,c,l,f,h,d,p,y,v){var b=c-r,m=l-i,g=b*b+m*m;if(g>4*e&&y--){var w=s+h,_=a+d,x=u+p,S=xy(w*w+_*_+x*x),O=Sy(x/=S),I=vy(vy(x)-1)<cy||vy(o-f)<cy?(o+f)/2:my(_,w),T=t(I,O),A=T[0],M=T[1],P=A-r,E=M-i,C=m*P-b*E;(C*C/g>e||vy((b*P+m*E)/g-.5)>.3||s*h+a*d+u*p<vv)&&(n(r,i,o,s,a,u,A,M,I,w/=S,_/=S,x,y,v),v.point(A,M),n(A,M,I,w,_,x,c,l,f,h,d,p,y,v))}}return function(e){var r,i,o,s,a,u,c,l,f,h,d,p,y={point:v,lineStart:b,lineEnd:g,polygonStart:function(){e.polygonStart(),y.lineStart=w},polygonEnd:function(){e.polygonEnd(),y.lineStart=b}};function v(n,r){n=t(n,r),e.point(n[0],n[1])}function b(){l=NaN,y.point=m,e.lineStart()}function m(r,i){var o=jy([r,i]),s=t(r,i);n(l,f,c,h,d,p,l=s[0],f=s[1],c=r,h=o[0],d=o[1],p=o[2],16,e),e.point(l,f)}function g(){y.point=v,e.lineEnd()}function w(){b(),y.point=_,y.lineEnd=x}function _(t,e){m(r=t,e),i=l,o=f,s=h,a=d,u=p,y.point=m}function x(){n(l,f,c,h,d,p,i,o,r,s,a,u,16,e),y.lineEnd=g,g()}return y}}(t,e):function(t){return ev({point:function(e,n){e=t(e,n),this.stream.point(e[0],e[1])}})}(t)}var mv=ev({point:function(t,e){this.stream.point(t*yy,e*yy)}});function gv(t,e,n,r,i,o){if(!o)return function(t,e,n,r,i){function o(o,s){return[e+t*(o*=r),n-t*(s*=i)]}return o.invert=function(o,s){return[(o-e)/t*r,(n-s)/t*i]},o}(t,e,n,r,i);var s=gy(o),a=wy(o),u=s*t,c=a*t,l=s/t,f=a/t,h=(a*n-s*e)/t,d=(a*e+s*n)/t;function p(t,o){return[u*(t*=r)-c*(o*=i)+e,n-c*t-u*o]}return p.invert=function(t,e){return[r*(l*t-f*e+h),i*(d-f*t-l*e)]},p}function wv(t){return function(t){var e,n,r,i,o,s,a,u,c,l,f=150,h=480,d=250,p=0,y=0,v=0,b=0,m=0,g=0,w=1,_=1,x=null,S=Wy,O=null,I=Xy,T=.5;function A(t){return u(t[0]*yy,t[1]*yy)}function M(t){return(t=u.invert(t[0],t[1]))&&[t[0]*py,t[1]*py]}function P(){var t=gv(f,0,0,w,_,g).apply(null,e(p,y)),r=gv(f,h-t[0],d-t[1],w,_,g);return n=function(t,e,n){return(t%=dy)?e||n?qy(Qy(t),tv(e,n)):Qy(t):e||n?tv(e,n):Ky}(v,b,m),a=qy(e,r),u=qy(n,a),s=bv(a,T),E()}function E(){return c=l=null,A}return A.stream=function(t){return c&&l===t?c:c=mv(function(t){return ev({point:function(e,n){var r=t(e,n);return this.stream.point(r[0],r[1])}})}(n)(S(s(I(l=t)))))},A.preclip=function(t){return arguments.length?(S=t,x=void 0,E()):S},A.postclip=function(t){return arguments.length?(I=t,O=r=i=o=null,E()):I},A.clipAngle=function(t){return arguments.length?(S=+t?Yy(x=t*yy):(x=null,Wy),E()):x*py},A.clipExtent=function(t){return arguments.length?(I=null==t?(O=r=i=o=null,Xy):Hy(O=+t[0][0],r=+t[0][1],i=+t[1][0],o=+t[1][1]),E()):null==O?null:[[O,r],[i,o]]},A.scale=function(t){return arguments.length?(f=+t,P()):f},A.translate=function(t){return arguments.length?(h=+t[0],d=+t[1],P()):[h,d]},A.center=function(t){return arguments.length?(p=t[0]%360*yy,y=t[1]%360*yy,P()):[p*py,y*py]},A.rotate=function(t){return arguments.length?(v=t[0]%360*yy,b=t[1]%360*yy,m=t.length>2?t[2]%360*yy:0,P()):[v*py,b*py,m*py]},A.angle=function(t){return arguments.length?(g=t%360*yy,P()):g*py},A.reflectX=function(t){return arguments.length?(w=t?-1:1,P()):w<0},A.reflectY=function(t){return arguments.length?(_=t?-1:1,P()):_<0},A.precision=function(t){return arguments.length?(s=bv(a,T=t*t),E()):xy(T)},A.fitExtent=function(t,e){return yv(A,t,e)},A.fitSize=function(t,e){return function(t,e,n){return yv(t,[[0,0],e],n)}(A,t,e)},A.fitWidth=function(t,e){return function(t,e,n){return pv(t,(function(n){var r=+e,i=r/(n[1][0]-n[0][0]),o=(r-i*(n[1][0]+n[0][0]))/2,s=-i*n[0][1];t.scale(150*i).translate([o,s])}),n)}(A,t,e)},A.fitHeight=function(t,e){return function(t,e,n){return pv(t,(function(n){var r=+e,i=r/(n[1][1]-n[0][1]),o=-i*n[0][0],s=(r-i*(n[1][1]+n[0][1]))/2;t.scale(150*i).translate([o,s])}),n)}(A,t,e)},function(){return e=t.apply(this,arguments),A.invert=e.invert&&M,P()}}((function(){return t}))()}var _v,xv,Sv=(_v=function(t){return xy(2/(1+t))},function(t,e){var n=gy(t),r=gy(e),i=_v(n*r);return i===1/0?[2,0]:[i*r*wy(t),i*wy(e)]});function Ov(){return wv(Sv).scale(124.75).clipAngle(179.999)}Sv.invert=(xv=function(t){return 2*Sy(t/2)},function(t,e){var n=xy(t*t+e*e),r=xv(n),i=wy(r),o=gy(r);return[my(t*i,n*o),Sy(n&&e*i/n)]});var Iv=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"EUR",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:50,n=arguments.length>2?arguments[2]:void 0,r=(n=n||{}).ex||1.2,i=n.fontFamily||"Arial",o=n.exSize||1;return n.style=n.style||function(t,e){if(!(t.rs<r*e))return t.r1<r*e?o+"em "+i:1.5*o+"em "+i},n.proj=n.proj||Ov().rotate([-10,-52]).reflectX(!1).reflectY(!0).scale(6378137).translate([4321e3,321e4]),n.preprocess=function(t){if(n.ccIn&&t.cc&&!(n.ccIn.indexOf(t.cc)>=0))return!1;var e=n.proj([t.lon,t.lat]);t.x=e[0],t.y=e[1],delete t.lon,delete t.lat},n.baseURL=n.baseURL||"https://raw.githubusercontent.com/eurostat/euronym/main/pub/v2/UTF/",n.url=n.baseURL+e+"/"+t+".csv",n},Tv=function(t){var e=(t=t||{}).nutsYear||"2021",n=t.crs||"3035",r=t.scale||"03M",i=t.nutsLevel||"3",o=t.col||"#888",s=t.colKosovo||"#bcbcbc",a=null==t.showOth||t.showOth;return t.color=t.color||function(t,e){var n=t.properties;if(a||"T"==n.eu||"T"==n.cc||"T"==n.efta||"T"!==n.oth)return n.id>=1e5?s:"T"===n.co||e<400?o:e<1e3?n.lvl>=3?"":o:e<2e3?n.lvl>=2?"":o:n.lvl>=1?"":o},t.width=t.width||function(t,e){var n=t.properties;return"T"===n.co?.5:e<400?3==n.lvl||2==n.lvl||1==n.lvl?2.2:4:e<1e3?2==n.lvl||1==n.lvl?1.8:2.5:e<2e3?1==n.lvl?1.8:2.5:1.2},t.lineDash=t.lineDash||function(t,e){var n=t.properties;return"T"===n.co?[]:e<400?3==n.lvl?[2*e,2*e]:2==n.lvl||1==n.lvl?[5*e,2*e]:[10*e,3*e]:e<1e3?2==n.lvl||1==n.lvl?[5*e,2*e]:[10*e,3*e]:e<2e3&&1==n.lvl?[5*e,2*e]:[10*e,3*e]},t.baseURL=t.baseURL||"https://raw.githubusercontent.com/eurostat/Nuts2json/master/pub/v2/",t.url=t.baseURL+e+"/"+n+"/"+r+"/nutsbn_"+i+".json",t},Av=Kn.getParameterByName;return vp({decimal:".",thousands:" ",grouping:[3],currency:["","€"]}),e})()));