plotly.js
Version:
The open source javascript graphing library that powers plotly
18 lines • 1.42 MB
JavaScript
/**
* plotly.js (cartesian - minified) v3.5.0
* Copyright 2012-2026, Plotly, Inc.
* All rights reserved.
* Licensed under the MIT license
*/
(
function(root, factory) {
if (typeof module === "object" && module.exports) {
module.exports = factory();
} else {
root.moduleName = factory();
}
} (typeof self !== "undefined" ? self : this, () => {
"use strict";var Plotly=(()=>{var ooe=Object.defineProperty,loe=Object.defineProperties;var soe=Object.getOwnPropertyDescriptors;var J8=Object.getOwnPropertySymbols;var uoe=Object.prototype.hasOwnProperty,foe=Object.prototype.propertyIsEnumerable;var $8=(e,r,t)=>r in e?ooe(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,Ks=(e,r)=>{for(var t in r||(r={}))uoe.call(r,t)&&$8(e,t,r[t]);if(J8)for(var t of J8(r))foe.call(r,t)&&$8(e,t,r[t]);return e},yp=(e,r)=>loe(e,soe(r));var N=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var mp=N(K8=>{"use strict";K8.version="3.5.0"});var eM=N((Q8,gp)=>{(function(r,t,a){t[r]=t[r]||a(),typeof gp!="undefined"&&gp.exports&&(gp.exports=t[r])})("Promise",typeof window!="undefined"?window:Q8,function(){"use strict";var r,t,a,n=Object.prototype.toString,i=typeof setImmediate!="undefined"?function(T){return setImmediate(T)}:setTimeout;try{Object.defineProperty({},"x",{}),r=function(T,_,b,w){return Object.defineProperty(T,_,{value:b,writable:!0,configurable:w!==!1})}}catch(x){r=function(_,b,w){return _[b]=w,_}}a=function(){var T,_,b;function w(k,M){this.fn=k,this.self=M,this.next=void 0}return{add:function(M,q){b=new w(M,q),_?_.next=b:T=b,_=b,b=void 0},drain:function(){var M=T;for(T=_=t=void 0;M;)M.fn.call(M.self),M=M.next}}}();function o(x,T){a.add(x,T),t||(t=i(a.drain))}function l(x){var T,_=typeof x;return x!=null&&(_=="object"||_=="function")&&(T=x.then),typeof T=="function"?T:!1}function s(){for(var x=0;x<this.chain.length;x++)u(this,this.state===1?this.chain[x].success:this.chain[x].failure,this.chain[x]);this.chain.length=0}function u(x,T,_){var b,w;try{T===!1?_.reject(x.msg):(T===!0?b=x.msg:b=T.call(void 0,x.msg),b===_.promise?_.reject(TypeError("Promise-chain cycle")):(w=l(b))?w.call(b,_.resolve,_.reject):_.resolve(b))}catch(k){_.reject(k)}}function f(x){var T,_=this;if(!_.triggered){_.triggered=!0,_.def&&(_=_.def);try{(T=l(x))?o(function(){var b=new d(_);try{T.call(x,function(){f.apply(b,arguments)},function(){c.apply(b,arguments)})}catch(w){c.call(b,w)}}):(_.msg=x,_.state=1,_.chain.length>0&&o(s,_))}catch(b){c.call(new d(_),b)}}}function c(x){var T=this;T.triggered||(T.triggered=!0,T.def&&(T=T.def),T.msg=x,T.state=2,T.chain.length>0&&o(s,T))}function v(x,T,_,b){for(var w=0;w<T.length;w++)(function(M){x.resolve(T[M]).then(function(E){_(M,E)},b)})(w)}function d(x){this.def=x,this.triggered=!1}function p(x){this.promise=x,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function y(x){if(typeof x!="function")throw TypeError("Not a function");if(this.__NPO__!==0)throw TypeError("Not a promise");this.__NPO__=1;var T=new p(this);this.then=function(b,w){var k={success:typeof b=="function"?b:!0,failure:typeof w=="function"?w:!1};return k.promise=new this.constructor(function(q,E){if(typeof q!="function"||typeof E!="function")throw TypeError("Not a function");k.resolve=q,k.reject=E}),T.chain.push(k),T.state!==0&&o(s,T),k.promise},this.catch=function(b){return this.then(void 0,b)};try{x.call(void 0,function(b){f.call(T,b)},function(b){c.call(T,b)})}catch(_){c.call(T,_)}}var m=r({},"constructor",y,!1);return y.prototype=m,r(m,"__NPO__",0,!1),r(y,"resolve",function(T){var _=this;return T&&typeof T=="object"&&T.__NPO__===1?T:new _(function(w,k){if(typeof w!="function"||typeof k!="function")throw TypeError("Not a function");w(T)})}),r(y,"reject",function(T){return new this(function(b,w){if(typeof b!="function"||typeof w!="function")throw TypeError("Not a function");w(T)})}),r(y,"all",function(T){var _=this;return n.call(T)!="[object Array]"?_.reject(TypeError("Not an array")):T.length===0?_.resolve([]):new _(function(w,k){if(typeof w!="function"||typeof k!="function")throw TypeError("Not a function");var M=T.length,q=Array(M),E=0;v(_,T,function(P,R){q[P]=R,++E===M&&w(q)},k)})}),r(y,"race",function(T){var _=this;return n.call(T)!="[object Array]"?_.reject(TypeError("Not an array")):new _(function(w,k){if(typeof w!="function"||typeof k!="function")throw TypeError("Not a function");v(_,T,function(q,E){w(E)},k)})}),y})});var Sr=N((CCe,bp)=>{(function(){var e={version:"3.8.2"},r=[].slice,t=function(h){return r.call(h)},a=self.document;function n(h){return h&&(h.ownerDocument||h.document||h).documentElement}function i(h){return h&&(h.ownerDocument&&h.ownerDocument.defaultView||h.document&&h||h.defaultView)}if(a)try{t(a.documentElement.childNodes)[0].nodeType}catch(h){t=function(g){for(var A=g.length,S=new Array(A);A--;)S[A]=g[A];return S}}if(Date.now||(Date.now=function(){return+new Date}),a)try{a.createElement("DIV").style.setProperty("opacity",0,"")}catch(h){var o=this.Element.prototype,l=o.setAttribute,s=o.setAttributeNS,u=this.CSSStyleDeclaration.prototype,f=u.setProperty;o.setAttribute=function(g,A){l.call(this,g,A+"")},o.setAttributeNS=function(g,A,S){s.call(this,g,A,S+"")},u.setProperty=function(g,A,S){f.call(this,g,A+"",S)}}e.ascending=c;function c(h,g){return h<g?-1:h>g?1:h>=g?0:NaN}e.descending=function(h,g){return g<h?-1:g>h?1:g>=h?0:NaN},e.min=function(h,g){var A=-1,S=h.length,L,C;if(arguments.length===1){for(;++A<S;)if((C=h[A])!=null&&C>=C){L=C;break}for(;++A<S;)(C=h[A])!=null&&L>C&&(L=C)}else{for(;++A<S;)if((C=g.call(h,h[A],A))!=null&&C>=C){L=C;break}for(;++A<S;)(C=g.call(h,h[A],A))!=null&&L>C&&(L=C)}return L},e.max=function(h,g){var A=-1,S=h.length,L,C;if(arguments.length===1){for(;++A<S;)if((C=h[A])!=null&&C>=C){L=C;break}for(;++A<S;)(C=h[A])!=null&&C>L&&(L=C)}else{for(;++A<S;)if((C=g.call(h,h[A],A))!=null&&C>=C){L=C;break}for(;++A<S;)(C=g.call(h,h[A],A))!=null&&C>L&&(L=C)}return L},e.extent=function(h,g){var A=-1,S=h.length,L,C,O;if(arguments.length===1){for(;++A<S;)if((C=h[A])!=null&&C>=C){L=O=C;break}for(;++A<S;)(C=h[A])!=null&&(L>C&&(L=C),O<C&&(O=C))}else{for(;++A<S;)if((C=g.call(h,h[A],A))!=null&&C>=C){L=O=C;break}for(;++A<S;)(C=g.call(h,h[A],A))!=null&&(L>C&&(L=C),O<C&&(O=C))}return[L,O]};function v(h){return h===null?NaN:+h}function d(h){return!isNaN(h)}e.sum=function(h,g){var A=0,S=h.length,L,C=-1;if(arguments.length===1)for(;++C<S;)d(L=+h[C])&&(A+=L);else for(;++C<S;)d(L=+g.call(h,h[C],C))&&(A+=L);return A},e.mean=function(h,g){var A=0,S=h.length,L,C=-1,O=S;if(arguments.length===1)for(;++C<S;)d(L=v(h[C]))?A+=L:--O;else for(;++C<S;)d(L=v(g.call(h,h[C],C)))?A+=L:--O;if(O)return A/O},e.quantile=function(h,g){var A=(h.length-1)*g+1,S=Math.floor(A),L=+h[S-1],C=A-S;return C?L+C*(h[S]-L):L},e.median=function(h,g){var A=[],S=h.length,L,C=-1;if(arguments.length===1)for(;++C<S;)d(L=v(h[C]))&&A.push(L);else for(;++C<S;)d(L=v(g.call(h,h[C],C)))&&A.push(L);if(A.length)return e.quantile(A.sort(c),.5)},e.variance=function(h,g){var A=h.length,S=0,L,C,O=0,F=-1,U=0;if(arguments.length===1)for(;++F<A;)d(L=v(h[F]))&&(C=L-S,S+=C/++U,O+=C*(L-S));else for(;++F<A;)d(L=v(g.call(h,h[F],F)))&&(C=L-S,S+=C/++U,O+=C*(L-S));if(U>1)return O/(U-1)},e.deviation=function(){var h=e.variance.apply(this,arguments);return h&&Math.sqrt(h)};function p(h){return{left:function(g,A,S,L){for(arguments.length<3&&(S=0),arguments.length<4&&(L=g.length);S<L;){var C=S+L>>>1;h(g[C],A)<0?S=C+1:L=C}return S},right:function(g,A,S,L){for(arguments.length<3&&(S=0),arguments.length<4&&(L=g.length);S<L;){var C=S+L>>>1;h(g[C],A)>0?L=C:S=C+1}return S}}}var y=p(c);e.bisectLeft=y.left,e.bisect=e.bisectRight=y.right,e.bisector=function(h){return p(h.length===1?function(g,A){return c(h(g),A)}:h)},e.shuffle=function(h,g,A){(S=arguments.length)<3&&(A=h.length,S<2&&(g=0));for(var S=A-g,L,C;S;)C=Math.random()*S--|0,L=h[S+g],h[S+g]=h[C+g],h[C+g]=L;return h},e.permute=function(h,g){for(var A=g.length,S=new Array(A);A--;)S[A]=h[g[A]];return S},e.pairs=function(h){for(var g=0,A=h.length-1,S,L=h[0],C=new Array(A<0?0:A);g<A;)C[g]=[S=L,L=h[++g]];return C},e.transpose=function(h){if(!(C=h.length))return[];for(var g=-1,A=e.min(h,m),S=new Array(A);++g<A;)for(var L=-1,C,O=S[g]=new Array(C);++L<C;)O[L]=h[L][g];return S};function m(h){return h.length}e.zip=function(){return e.transpose(arguments)},e.keys=function(h){var g=[];for(var A in h)g.push(A);return g},e.values=function(h){var g=[];for(var A in h)g.push(h[A]);return g},e.entries=function(h){var g=[];for(var A in h)g.push({key:A,value:h[A]});return g},e.merge=function(h){for(var g=h.length,A,S=-1,L=0,C,O;++S<g;)L+=h[S].length;for(C=new Array(L);--g>=0;)for(O=h[g],A=O.length;--A>=0;)C[--L]=O[A];return C};var x=Math.abs;e.range=function(h,g,A){if(arguments.length<3&&(A=1,arguments.length<2&&(g=h,h=0)),(g-h)/A===1/0)throw new Error("infinite range");var S=[],L=T(x(A)),C=-1,O;if(h*=L,g*=L,A*=L,A<0)for(;(O=h+A*++C)>g;)S.push(O/L);else for(;(O=h+A*++C)<g;)S.push(O/L);return S};function T(h){for(var g=1;h*g%1;)g*=10;return g}function _(h,g){for(var A in g)Object.defineProperty(h.prototype,A,{value:g[A],enumerable:!1})}e.map=function(h,g){var A=new b;if(h instanceof b)h.forEach(function(F,U){A.set(F,U)});else if(Array.isArray(h)){var S=-1,L=h.length,C;if(arguments.length===1)for(;++S<L;)A.set(S,h[S]);else for(;++S<L;)A.set(g.call(h,C=h[S],S),C)}else for(var O in h)A.set(O,h[O]);return A};function b(){this._=Object.create(null)}var w="__proto__",k="\0";_(b,{has:E,get:function(h){return this._[M(h)]},set:function(h,g){return this._[M(h)]=g},remove:D,keys:P,values:function(){var h=[];for(var g in this._)h.push(this._[g]);return h},entries:function(){var h=[];for(var g in this._)h.push({key:q(g),value:this._[g]});return h},size:R,empty:z,forEach:function(h){for(var g in this._)h.call(this,q(g),this._[g])}});function M(h){return(h+="")===w||h[0]===k?k+h:h}function q(h){return(h+="")[0]===k?h.slice(1):h}function E(h){return M(h)in this._}function D(h){return(h=M(h))in this._&&delete this._[h]}function P(){var h=[];for(var g in this._)h.push(q(g));return h}function R(){var h=0;for(var g in this._)++h;return h}function z(){for(var h in this._)return!1;return!0}e.nest=function(){var h={},g=[],A=[],S,L;function C(F,U,J){if(J>=g.length)return L?L.call(h,U):S?U.sort(S):U;for(var $=-1,re=U.length,te=g[J++],_e,ke,ae,pe=new b,ge;++$<re;)(ge=pe.get(_e=te(ke=U[$])))?ge.push(ke):pe.set(_e,[ke]);return F?(ke=F(),ae=function(Me,Se){ke.set(Me,C(F,Se,J))}):(ke={},ae=function(Me,Se){ke[Me]=C(F,Se,J)}),pe.forEach(ae),ke}function O(F,U){if(U>=g.length)return F;var J=[],$=A[U++];return F.forEach(function(re,te){J.push({key:re,values:O(te,U)})}),$?J.sort(function(re,te){return $(re.key,te.key)}):J}return h.map=function(F,U){return C(U,F,0)},h.entries=function(F){return O(C(e.map,F,0),0)},h.key=function(F){return g.push(F),h},h.sortKeys=function(F){return A[g.length-1]=F,h},h.sortValues=function(F){return S=F,h},h.rollup=function(F){return L=F,h},h},e.set=function(h){var g=new I;if(h)for(var A=0,S=h.length;A<S;++A)g.add(h[A]);return g};function I(){this._=Object.create(null)}_(I,{has:E,add:function(h){return this._[M(h+="")]=!0,h},remove:D,values:P,size:R,empty:z,forEach:function(h){for(var g in this._)h.call(this,q(g))}}),e.behavior={};function B(h){return h}e.rebind=function(h,g){for(var A=1,S=arguments.length,L;++A<S;)h[L=arguments[A]]=G(h,g,g[L]);return h};function G(h,g,A){return function(){var S=A.apply(g,arguments);return S===g?h:S}}function Y(h,g){if(g in h)return g;g=g.charAt(0).toUpperCase()+g.slice(1);for(var A=0,S=V.length;A<S;++A){var L=V[A]+g;if(L in h)return L}}var V=["webkit","ms","moz","Moz","o","O"];function H(){}e.dispatch=function(){for(var h=new X,g=-1,A=arguments.length;++g<A;)h[arguments[g]]=j(h);return h};function X(){}X.prototype.on=function(h,g){var A=h.indexOf("."),S="";if(A>=0&&(S=h.slice(A+1),h=h.slice(0,A)),h)return arguments.length<2?this[h].on(S):this[h].on(S,g);if(arguments.length===2){if(g==null)for(h in this)this.hasOwnProperty(h)&&this[h].on(S,null);return this}};function j(h){var g=[],A=new b;function S(){for(var L=g,C=-1,O=L.length,F;++C<O;)(F=L[C].on)&&F.apply(this,arguments);return h}return S.on=function(L,C){var O=A.get(L),F;return arguments.length<2?O&&O.on:(O&&(O.on=null,g=g.slice(0,F=g.indexOf(O)).concat(g.slice(F+1)),A.remove(L)),C&&g.push(A.set(L,{on:C})),h)},S}e.event=null;function ee(){e.event.preventDefault()}function fe(){for(var h=e.event,g;g=h.sourceEvent;)h=g;return h}function ie(h){for(var g=new X,A=0,S=arguments.length;++A<S;)g[arguments[A]]=j(g);return g.of=function(L,C){return function(O){try{var F=O.sourceEvent=e.event;O.target=h,e.event=O,g[O.type].apply(L,C)}finally{e.event=F}}},g}e.requote=function(h){return h.replace(ue,"\\$&")};var ue=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,K={}.__proto__?function(h,g){h.__proto__=g}:function(h,g){for(var A in g)h[A]=g[A]};function we(h){return K(h,ye),h}var se=function(h,g){return g.querySelector(h)},ce=function(h,g){return g.querySelectorAll(h)},he=function(h,g){var A=h.matches||h[Y(h,"matchesSelector")];return he=function(S,L){return A.call(S,L)},he(h,g)};typeof Sizzle=="function"&&(se=function(h,g){return Sizzle(h,g)[0]||null},ce=Sizzle,he=Sizzle.matchesSelector),e.selection=function(){return e.select(a.documentElement)};var ye=e.selection.prototype=[];ye.select=function(h){var g=[],A,S,L,C;h=W(h);for(var O=-1,F=this.length;++O<F;){g.push(A=[]),A.parentNode=(L=this[O]).parentNode;for(var U=-1,J=L.length;++U<J;)(C=L[U])?(A.push(S=h.call(C,C.__data__,U,O)),S&&"__data__"in C&&(S.__data__=C.__data__)):A.push(null)}return we(g)};function W(h){return typeof h=="function"?h:function(){return se(h,this)}}ye.selectAll=function(h){var g=[],A,S;h=Q(h);for(var L=-1,C=this.length;++L<C;)for(var O=this[L],F=-1,U=O.length;++F<U;)(S=O[F])&&(g.push(A=t(h.call(S,S.__data__,F,L))),A.parentNode=S);return we(g)};function Q(h){return typeof h=="function"?h:function(){return ce(h,this)}}var Z="http://www.w3.org/1999/xhtml",le={svg:"http://www.w3.org/2000/svg",xhtml:Z,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};e.ns={prefix:le,qualify:function(h){var g=h.indexOf(":"),A=h;return g>=0&&(A=h.slice(0,g))!=="xmlns"&&(h=h.slice(g+1)),le.hasOwnProperty(A)?{space:le[A],local:h}:h}},ye.attr=function(h,g){if(arguments.length<2){if(typeof h=="string"){var A=this.node();return h=e.ns.qualify(h),h.local?A.getAttributeNS(h.space,h.local):A.getAttribute(h)}for(g in h)this.each(ve(g,h[g]));return this}return this.each(ve(h,g))};function ve(h,g){h=e.ns.qualify(h);function A(){this.removeAttribute(h)}function S(){this.removeAttributeNS(h.space,h.local)}function L(){this.setAttribute(h,g)}function C(){this.setAttributeNS(h.space,h.local,g)}function O(){var U=g.apply(this,arguments);U==null?this.removeAttribute(h):this.setAttribute(h,U)}function F(){var U=g.apply(this,arguments);U==null?this.removeAttributeNS(h.space,h.local):this.setAttributeNS(h.space,h.local,U)}return g==null?h.local?S:A:typeof g=="function"?h.local?F:O:h.local?C:L}function me(h){return h.trim().replace(/\s+/g," ")}ye.classed=function(h,g){if(arguments.length<2){if(typeof h=="string"){var A=this.node(),S=(h=Pe(h)).length,L=-1;if(g=A.classList){for(;++L<S;)if(!g.contains(h[L]))return!1}else for(g=A.getAttribute("class");++L<S;)if(!Ce(h[L]).test(g))return!1;return!0}for(g in h)this.each(Le(g,h[g]));return this}return this.each(Le(h,g))};function Ce(h){return new RegExp("(?:^|\\s+)"+e.requote(h)+"(?:\\s+|$)","g")}function Pe(h){return(h+"").trim().split(/^|\s+/)}function Le(h,g){h=Pe(h).map(ze);var A=h.length;function S(){for(var C=-1;++C<A;)h[C](this,g)}function L(){for(var C=-1,O=g.apply(this,arguments);++C<A;)h[C](this,O)}return typeof g=="function"?L:S}function ze(h){var g=Ce(h);return function(A,S){if(L=A.classList)return S?L.add(h):L.remove(h);var L=A.getAttribute("class")||"";S?(g.lastIndex=0,g.test(L)||A.setAttribute("class",me(L+" "+h))):A.setAttribute("class",me(L.replace(g," ")))}}ye.style=function(h,g,A){var S=arguments.length;if(S<3){if(typeof h!="string"){S<2&&(g="");for(A in h)this.each(Be(A,h[A],g));return this}if(S<2){var L=this.node();return i(L).getComputedStyle(L,null).getPropertyValue(h)}A=""}return this.each(Be(h,g,A))};function Be(h,g,A){function S(){this.style.removeProperty(h)}function L(){this.style.setProperty(h,g,A)}function C(){var O=g.apply(this,arguments);O==null?this.style.removeProperty(h):this.style.setProperty(h,O,A)}return g==null?S:typeof g=="function"?C:L}ye.property=function(h,g){if(arguments.length<2){if(typeof h=="string")return this.node()[h];for(g in h)this.each(Ge(g,h[g]));return this}return this.each(Ge(h,g))};function Ge(h,g){function A(){delete this[h]}function S(){this[h]=g}function L(){var C=g.apply(this,arguments);C==null?delete this[h]:this[h]=C}return g==null?A:typeof g=="function"?L:S}ye.text=function(h){return arguments.length?this.each(typeof h=="function"?function(){var g=h.apply(this,arguments);this.textContent=g==null?"":g}:h==null?function(){this.textContent=""}:function(){this.textContent=h}):this.node().textContent},ye.html=function(h){return arguments.length?this.each(typeof h=="function"?function(){var g=h.apply(this,arguments);this.innerHTML=g==null?"":g}:h==null?function(){this.innerHTML=""}:function(){this.innerHTML=h}):this.node().innerHTML},ye.append=function(h){return h=De(h),this.select(function(){return this.appendChild(h.apply(this,arguments))})};function De(h){function g(){var S=this.ownerDocument,L=this.namespaceURI;return L===Z&&S.documentElement.namespaceURI===Z?S.createElement(h):S.createElementNS(L,h)}function A(){return this.ownerDocument.createElementNS(h.space,h.local)}return typeof h=="function"?h:(h=e.ns.qualify(h)).local?A:g}ye.insert=function(h,g){return h=De(h),g=W(g),this.select(function(){return this.insertBefore(h.apply(this,arguments),g.apply(this,arguments)||null)})},ye.remove=function(){return this.each(Oe)};function Oe(){var h=this.parentNode;h&&h.removeChild(this)}ye.data=function(h,g){var A=-1,S=this.length,L,C;if(!arguments.length){for(h=new Array(S=(L=this[0]).length);++A<S;)(C=L[A])&&(h[A]=C.__data__);return h}function O($,re){var te,_e=$.length,ke=re.length,ae=Math.min(_e,ke),pe=new Array(ke),ge=new Array(ke),Me=new Array(_e),Se,xe;if(g){var Ye=new b,or=new Array(_e),vr;for(te=-1;++te<_e;)(Se=$[te])&&(Ye.has(vr=g.call(Se,Se.__data__,te))?Me[te]=Se:Ye.set(vr,Se),or[te]=vr);for(te=-1;++te<ke;)(Se=Ye.get(vr=g.call(re,xe=re[te],te)))?Se!==!0&&(pe[te]=Se,Se.__data__=xe):ge[te]=Ue(xe),Ye.set(vr,!0);for(te=-1;++te<_e;)te in or&&Ye.get(or[te])!==!0&&(Me[te]=$[te])}else{for(te=-1;++te<ae;)Se=$[te],xe=re[te],Se?(Se.__data__=xe,pe[te]=Se):ge[te]=Ue(xe);for(;te<ke;++te)ge[te]=Ue(re[te]);for(;te<_e;++te)Me[te]=$[te]}ge.update=pe,ge.parentNode=pe.parentNode=Me.parentNode=$.parentNode,F.push(ge),U.push(pe),J.push(Me)}var F=dr([]),U=we([]),J=we([]);if(typeof h=="function")for(;++A<S;)O(L=this[A],h.call(L,L.parentNode.__data__,A));else for(;++A<S;)O(L=this[A],h);return U.enter=function(){return F},U.exit=function(){return J},U};function Ue(h){return{__data__:h}}ye.datum=function(h){return arguments.length?this.property("__data__",h):this.property("__data__")},ye.filter=function(h){var g=[],A,S,L;typeof h!="function"&&(h=oe(h));for(var C=0,O=this.length;C<O;C++){g.push(A=[]),A.parentNode=(S=this[C]).parentNode;for(var F=0,U=S.length;F<U;F++)(L=S[F])&&h.call(L,L.__data__,F,C)&&A.push(L)}return we(g)};function oe(h){return function(){return he(this,h)}}ye.order=function(){for(var h=-1,g=this.length;++h<g;)for(var A=this[h],S=A.length-1,L=A[S],C;--S>=0;)(C=A[S])&&(L&&L!==C.nextSibling&&L.parentNode.insertBefore(C,L),L=C);return this},ye.sort=function(h){h=Ae.apply(this,arguments);for(var g=-1,A=this.length;++g<A;)this[g].sort(h);return this.order()};function Ae(h){return arguments.length||(h=c),function(g,A){return g&&A?h(g.__data__,A.__data__):!g-!A}}ye.each=function(h){return Xe(this,function(g,A,S){h.call(g,g.__data__,A,S)})};function Xe(h,g){for(var A=0,S=h.length;A<S;A++)for(var L=h[A],C=0,O=L.length,F;C<O;C++)(F=L[C])&&g(F,C,A);return h}ye.call=function(h){var g=t(arguments);return h.apply(g[0]=this,g),this},ye.empty=function(){return!this.node()},ye.node=function(){for(var h=0,g=this.length;h<g;h++)for(var A=this[h],S=0,L=A.length;S<L;S++){var C=A[S];if(C)return C}return null},ye.size=function(){var h=0;return Xe(this,function(){++h}),h};function dr(h){return K(h,Ne),h}var Ne=[];e.selection.enter=dr,e.selection.enter.prototype=Ne,Ne.append=ye.append,Ne.empty=ye.empty,Ne.node=ye.node,Ne.call=ye.call,Ne.size=ye.size,Ne.select=function(h){for(var g=[],A,S,L,C,O,F=-1,U=this.length;++F<U;){L=(C=this[F]).update,g.push(A=[]),A.parentNode=C.parentNode;for(var J=-1,$=C.length;++J<$;)(O=C[J])?(A.push(L[J]=S=h.call(C.parentNode,O.__data__,J,F)),S.__data__=O.__data__):A.push(null)}return we(g)},Ne.insert=function(h,g){return arguments.length<2&&(g=Te(this)),ye.insert.call(this,h,g)};function Te(h){var g,A;return function(S,L,C){var O=h[C].update,F=O.length,U;for(C!=A&&(A=C,g=0),L>=g&&(g=L+1);!(U=O[g])&&++g<F;);return U}}e.select=function(h){var g;return typeof h=="string"?(g=[se(h,a)],g.parentNode=a.documentElement):(g=[h],g.parentNode=n(h)),we([g])},e.selectAll=function(h){var g;return typeof h=="string"?(g=t(ce(h,a)),g.parentNode=a.documentElement):(g=t(h),g.parentNode=null),we([g])},ye.on=function(h,g,A){var S=arguments.length;if(S<3){if(typeof h!="string"){S<2&&(g=!1);for(A in h)this.each(qe(A,h[A],g));return this}if(S<2)return(S=this.node()["__on"+h])&&S._;A=!1}return this.each(qe(h,g,A))};function qe(h,g,A){var S="__on"+h,L=h.indexOf("."),C=Je;L>0&&(h=h.slice(0,L));var O=He.get(h);O&&(h=O,C=We);function F(){var $=this[S];$&&(this.removeEventListener(h,$,$.$),delete this[S])}function U(){var $=C(g,t(arguments));F.call(this),this.addEventListener(h,this[S]=$,$.$=A),$._=g}function J(){var $=new RegExp("^__on([^.]+)"+e.requote(h)+"$"),re;for(var te in this)if(re=te.match($)){var _e=this[te];this.removeEventListener(re[1],_e,_e.$),delete this[te]}}return L?g?U:F:g?H:J}var He=e.map({mouseenter:"mouseover",mouseleave:"mouseout"});a&&He.forEach(function(h){"on"+h in a&&He.remove(h)});function Je(h,g){return function(A){var S=e.event;e.event=A,g[0]=this.__data__;try{h.apply(this,g)}finally{e.event=S}}}function We(h,g){var A=Je(h,g);return function(S){var L=this,C=S.relatedTarget;(!C||C!==L&&!(C.compareDocumentPosition(L)&8))&&A.call(L,S)}}var Ze,lr=0;function rr(h){var g=".dragsuppress-"+ ++lr,A="click"+g,S=e.select(i(h)).on("touchmove"+g,ee).on("dragstart"+g,ee).on("selectstart"+g,ee);if(Ze==null&&(Ze="onselectstart"in h?!1:Y(h.style,"userSelect")),Ze){var L=n(h).style,C=L[Ze];L[Ze]="none"}return function(O){if(S.on(g,null),Ze&&(L[Ze]=C),O){var F=function(){S.on(A,null)};S.on(A,function(){ee(),F()},!0),setTimeout(F,0)}}}e.mouse=function(h){return Ie(h,fe())};var er=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function Ie(h,g){g.changedTouches&&(g=g.changedTouches[0]);var A=h.ownerSVGElement||h;if(A.createSVGPoint){var S=A.createSVGPoint();if(er<0){var L=i(h);if(L.scrollX||L.scrollY){A=e.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var C=A[0][0].getScreenCTM();er=!(C.f||C.e),A.remove()}}return er?(S.x=g.pageX,S.y=g.pageY):(S.x=g.clientX,S.y=g.clientY),S=S.matrixTransform(h.getScreenCTM().inverse()),[S.x,S.y]}var O=h.getBoundingClientRect();return[g.clientX-O.left-h.clientLeft,g.clientY-O.top-h.clientTop]}e.touch=function(h,g,A){if(arguments.length<3&&(A=g,g=fe().changedTouches),g){for(var S=0,L=g.length,C;S<L;++S)if((C=g[S]).identifier===A)return Ie(h,C)}},e.behavior.drag=function(){var h=ie(L,"drag","dragstart","dragend"),g=null,A=C(H,e.mouse,i,"mousemove","mouseup"),S=C(ne,e.touch,B,"touchmove","touchend");function L(){this.on("mousedown.drag",A).on("touchstart.drag",S)}function C(O,F,U,J,$){return function(){var re=this,te=e.event.target.correspondingElement||e.event.target,_e=re.parentNode,ke=h.of(re,arguments),ae=0,pe=O(),ge=".drag"+(pe==null?"":"-"+pe),Me,Se=e.select(U(te)).on(J+ge,or).on($+ge,vr),xe=rr(te),Ye=F(_e,pe);g?(Me=g.apply(re,arguments),Me=[Me.x-Ye[0],Me.y-Ye[1]]):Me=[0,0],ke({type:"dragstart"});function or(){var sr=F(_e,pe),pr,yr;sr&&(pr=sr[0]-Ye[0],yr=sr[1]-Ye[1],ae|=pr|yr,Ye=sr,ke({type:"drag",x:sr[0]+Me[0],y:sr[1]+Me[1],dx:pr,dy:yr}))}function vr(){F(_e,pe)&&(Se.on(J+ge,null).on($+ge,null),xe(ae),ke({type:"dragend"}))}}}return L.origin=function(O){return arguments.length?(g=O,L):g},e.rebind(L,h,"on")};function ne(){return e.event.changedTouches[0].identifier}e.touches=function(h,g){return arguments.length<2&&(g=fe().touches),g?t(g).map(function(A){var S=Ie(h,A);return S.identifier=A.identifier,S}):[]};var de=1e-6,Re=de*de,Fe=Math.PI,Ke=2*Fe,cr=Ke-de,ur=Fe/2,Mr=Fe/180,Ir=180/Fe;function Gr(h){return h>0?1:h<0?-1:0}function et(h,g,A){return(g[0]-h[0])*(A[1]-h[1])-(g[1]-h[1])*(A[0]-h[0])}function qt(h){return h>1?0:h<-1?Fe:Math.acos(h)}function ct(h){return h>1?ur:h<-1?-ur:Math.asin(h)}function Ot(h){return((h=Math.exp(h))-1/h)/2}function gt(h){return((h=Math.exp(h))+1/h)/2}function wa(h){return((h=Math.exp(2*h))-1)/(h+1)}function Zt(h){return(h=Math.sin(h/2))*h}var Xt=Math.SQRT2,Na=2,ua=4;e.interpolateZoom=function(h,g){var A=h[0],S=h[1],L=h[2],C=g[0],O=g[1],F=g[2],U=C-A,J=O-S,$=U*U+J*J,re,te;if($<Re)te=Math.log(F/L)/Xt,re=function(Me){return[A+Me*U,S+Me*J,L*Math.exp(Xt*Me*te)]};else{var _e=Math.sqrt($),ke=(F*F-L*L+ua*$)/(2*L*Na*_e),ae=(F*F-L*L-ua*$)/(2*F*Na*_e),pe=Math.log(Math.sqrt(ke*ke+1)-ke),ge=Math.log(Math.sqrt(ae*ae+1)-ae);te=(ge-pe)/Xt,re=function(Me){var Se=Me*te,xe=gt(pe),Ye=L/(Na*_e)*(xe*wa(Xt*Se+pe)-Ot(pe));return[A+Ye*U,S+Ye*J,L*xe/gt(Xt*Se+pe)]}}return re.duration=te*1e3,re},e.behavior.zoom=function(){var h={x:0,y:0,k:1},g,A,S,L=[960,500],C=Jt,O=250,F=0,U="mousedown.zoom",J="mousemove.zoom",$="mouseup.zoom",re,te="touchstart.zoom",_e,ke=ie(Se,"zoomstart","zoom","zoomend"),ae,pe,ge,Me;Jr||(Jr="onwheel"in a?(ar=function(){return-e.event.deltaY*(e.event.deltaMode?120:1)},"wheel"):"onmousewheel"in a?(ar=function(){return e.event.wheelDelta},"mousewheel"):(ar=function(){return-e.event.detail},"MozMousePixelScroll"));function Se(nr){nr.on(U,kr).on(Jr+".zoom",Qt).on("dblclick.zoom",pt).on(te,at)}Se.event=function(nr){nr.each(function(){var Dr=ke.of(this,arguments),Pr=h;Xs?e.select(this).transition().each("start.zoom",function(){h=this.__chart__||{x:0,y:0,k:1},yr(Dr)}).tween("zoom:zoom",function(){var nt=L[0],Bt=L[1],ma=A?A[0]:nt/2,Oa=A?A[1]:Bt/2,nn=e.interpolateZoom([(ma-h.x)/h.k,(Oa-h.y)/h.k,nt/h.k],[(ma-Pr.x)/Pr.k,(Oa-Pr.y)/Pr.k,nt/Pr.k]);return function(mn){var on=nn(mn),kn=nt/on[2];this.__chart__=h={x:ma-on[0]*kn,y:Oa-on[1]*kn,k:kn},Er(Dr)}}).each("interrupt.zoom",function(){gr(Dr)}).each("end.zoom",function(){gr(Dr)}):(this.__chart__=h,yr(Dr),Er(Dr),gr(Dr))})},Se.translate=function(nr){return arguments.length?(h={x:+nr[0],y:+nr[1],k:h.k},pr(),Se):[h.x,h.y]},Se.scale=function(nr){return arguments.length?(h={x:h.x,y:h.y,k:null},or(+nr),pr(),Se):h.k},Se.scaleExtent=function(nr){return arguments.length?(C=nr==null?Jt:[+nr[0],+nr[1]],Se):C},Se.center=function(nr){return arguments.length?(S=nr&&[+nr[0],+nr[1]],Se):S},Se.size=function(nr){return arguments.length?(L=nr&&[+nr[0],+nr[1]],Se):L},Se.duration=function(nr){return arguments.length?(O=+nr,Se):O},Se.x=function(nr){return arguments.length?(pe=nr,ae=nr.copy(),h={x:0,y:0,k:1},Se):pe},Se.y=function(nr){return arguments.length?(Me=nr,ge=nr.copy(),h={x:0,y:0,k:1},Se):Me};function xe(nr){return[(nr[0]-h.x)/h.k,(nr[1]-h.y)/h.k]}function Ye(nr){return[nr[0]*h.k+h.x,nr[1]*h.k+h.y]}function or(nr){h.k=Math.max(C[0],Math.min(C[1],nr))}function vr(nr,Dr){Dr=Ye(Dr),h.x+=nr[0]-Dr[0],h.y+=nr[1]-Dr[1]}function sr(nr,Dr,Pr,nt){nr.__chart__={x:h.x,y:h.y,k:h.k},or(Math.pow(2,nt)),vr(A=Dr,Pr),nr=e.select(nr),O>0&&(nr=nr.transition().duration(O)),nr.call(Se.event)}function pr(){pe&&pe.domain(ae.range().map(function(nr){return(nr-h.x)/h.k}).map(ae.invert)),Me&&Me.domain(ge.range().map(function(nr){return(nr-h.y)/h.k}).map(ge.invert))}function yr(nr){F++||nr({type:"zoomstart"})}function Er(nr){pr(),nr({type:"zoom",scale:h.k,translate:[h.x,h.y]})}function gr(nr){--F||(nr({type:"zoomend"}),A=null)}function kr(){var nr=this,Dr=ke.of(nr,arguments),Pr=0,nt=e.select(i(nr)).on(J,Oa).on($,nn),Bt=xe(e.mouse(nr)),ma=rr(nr);vp.call(nr),yr(Dr);function Oa(){Pr=1,vr(e.mouse(nr),Bt),Er(Dr)}function nn(){nt.on(J,null).on($,null),ma(Pr),gr(Dr)}}function at(){var nr=this,Dr=ke.of(nr,arguments),Pr={},nt=0,Bt,ma=".zoom-"+e.event.changedTouches[0].identifier,Oa="touchmove"+ma,nn="touchend"+ma,mn=[],on=e.select(nr),kn=rr(nr);Sn(),yr(Dr),on.on(U,null).on(te,Sn);function Ja(){var $i=e.touches(nr);return Bt=h.k,$i.forEach(function(Ba){Ba.identifier in Pr&&(Pr[Ba.identifier]=xe(Ba))}),$i}function Sn(){var $i=e.event.target;e.select($i).on(Oa,Js).on(nn,ioe),mn.push($i);for(var Ba=e.event.changedTouches,si=0,ko=Ba.length;si<ko;++si)Pr[Ba[si].identifier]=null;var ui=Ja(),Cf=Date.now();if(ui.length===1){if(Cf-_e<500){var $s=ui[0];sr(nr,$s,Pr[$s.identifier],Math.floor(Math.log(h.k)/Math.LN2)+1),ee()}_e=Cf}else if(ui.length>1){var $s=ui[0],Gl=ui[1],pp=$s[0]-Gl[0],X8=$s[1]-Gl[1];nt=pp*pp+X8*X8}}function Js(){var $i=e.touches(nr),Ba,si,ko,ui;vp.call(nr);for(var Cf=0,$s=$i.length;Cf<$s;++Cf,ui=null)if(ko=$i[Cf],ui=Pr[ko.identifier]){if(si)break;Ba=ko,si=ui}if(ui){var Gl=(Gl=ko[0]-Ba[0])*Gl+(Gl=ko[1]-Ba[1])*Gl,pp=nt&&Math.sqrt(Gl/nt);Ba=[(Ba[0]+ko[0])/2,(Ba[1]+ko[1])/2],si=[(si[0]+ui[0])/2,(si[1]+ui[1])/2],or(pp*Bt)}_e=null,vr(Ba,si),Er(Dr)}function ioe(){if(e.event.touches.length){for(var $i=e.event.changedTouches,Ba=0,si=$i.length;Ba<si;++Ba)delete Pr[$i[Ba].identifier];for(var ko in Pr)return void Ja()}e.selectAll(mn).on(ma,null),on.on(U,kr).on(te,at),kn(),gr(Dr)}}function Qt(){var nr=ke.of(this,arguments);re?clearTimeout(re):(vp.call(this),g=xe(A=S||e.mouse(this)),yr(nr)),re=setTimeout(function(){re=null,gr(nr)},50),ee(),or(Math.pow(2,ar()*.002)*h.k),vr(A,g),Er(nr)}function pt(){var nr=e.mouse(this),Dr=Math.log(h.k)/Math.LN2;sr(this,nr,xe(nr),e.event.shiftKey?Math.ceil(Dr)-1:Math.floor(Dr)+1)}return e.rebind(Se,ke,"on")};var Jt=[0,1/0],ar,Jr;e.color=Xr;function Xr(){}Xr.prototype.toString=function(){return this.rgb()+""},e.hsl=$r;function $r(h,g,A){return this instanceof $r?(this.h=+h,this.s=+g,void(this.l=+A)):arguments.length<2?h instanceof $r?new $r(h.h,h.s,h.l):Kr(""+h,ht,$r):new $r(h,g,A)}var Rt=$r.prototype=new Xr;Rt.brighter=function(h){return h=Math.pow(.7,arguments.length?h:1),new $r(this.h,this.s,this.l/h)},Rt.darker=function(h){return h=Math.pow(.7,arguments.length?h:1),new $r(this.h,this.s,h*this.l)},Rt.rgb=function(){return $t(this.h,this.s,this.l)};function $t(h,g,A){var S,L;h=isNaN(h)?0:(h%=360)<0?h+360:h,g=isNaN(g)||g<0?0:g>1?1:g,A=A<0?0:A>1?1:A,L=A<=.5?A*(1+g):A+g-A*g,S=2*A-L;function C(F){return F>360?F-=360:F<0&&(F+=360),F<60?S+(L-S)*F/60:F<180?L:F<240?S+(L-S)*(240-F)/60:S}function O(F){return Math.round(C(F)*255)}return new Yt(O(h+120),O(h),O(h-120))}e.hcl=ft;function ft(h,g,A){return this instanceof ft?(this.h=+h,this.c=+g,void(this.l=+A)):arguments.length<2?h instanceof ft?new ft(h.h,h.c,h.l):h instanceof Kt?Pt(h.l,h.a,h.b):Pt((h=fr((h=e.rgb(h)).r,h.g,h.b)).l,h.a,h.b):new ft(h,g,A)}var Ea=ft.prototype=new Xr;Ea.brighter=function(h){return new ft(this.h,this.c,Math.min(100,this.l+_t*(arguments.length?h:1)))},Ea.darker=function(h){return new ft(this.h,this.c,Math.max(0,this.l-_t*(arguments.length?h:1)))},Ea.rgb=function(){return An(this.h,this.c,this.l).rgb()};function An(h,g,A){return isNaN(h)&&(h=0),isNaN(g)&&(g=0),new Kt(A,Math.cos(h*=Mr)*g,Math.sin(h)*g)}e.lab=Kt;function Kt(h,g,A){return this instanceof Kt?(this.l=+h,this.a=+g,void(this.b=+A)):arguments.length<2?h instanceof Kt?new Kt(h.l,h.a,h.b):h instanceof ft?An(h.h,h.c,h.l):fr((h=Yt(h)).r,h.g,h.b):new Kt(h,g,A)}var _t=18,Vt=.95047,Xa=1,ol=1.08883,vt=Kt.prototype=new Xr;vt.brighter=function(h){return new Kt(Math.min(100,this.l+_t*(arguments.length?h:1)),this.a,this.b)},vt.darker=function(h){return new Kt(Math.max(0,this.l-_t*(arguments.length?h:1)),this.a,this.b)},vt.rgb=function(){return Mn(this.l,this.a,this.b)};function Mn(h,g,A){var S=(h+16)/116,L=S+g/500,C=S-A/200;return L=Ys(L)*Vt,S=Ys(S)*Xa,C=Ys(C)*ol,new Yt(ji(3.2404542*L-1.5371385*S-.4985314*C),ji(-.969266*L+1.8760108*S+.041556*C),ji(.0556434*L-.2040259*S+1.0572252*C))}function Pt(h,g,A){return h>0?new ft(Math.atan2(A,g)*Ir,Math.sqrt(g*g+A*A),h):new ft(NaN,NaN,h)}function Ys(h){return h>.206893034?h*h*h:(h-4/29)/7.787037}function yn(h){return h>.008856?Math.pow(h,1/3):7.787037*h+4/29}function ji(h){return Math.round(255*(h<=.00304?12.92*h:1.055*Math.pow(h,1/2.4)-.055))}e.rgb=Yt;function Yt(h,g,A){return this instanceof Yt?(this.r=~~h,this.g=~~g,void(this.b=~~A)):arguments.length<2?h instanceof Yt?new Yt(h.r,h.g,h.b):Kr(""+h,Yt,$t):new Yt(h,g,A)}function Zi(h){return new Yt(h>>16,h>>8&255,h&255)}function Bl(h){return Zi(h)+""}var Hl=Yt.prototype=new Xr;Hl.brighter=function(h){h=Math.pow(.7,arguments.length?h:1);var g=this.r,A=this.g,S=this.b,L=30;return!g&&!A&&!S?new Yt(L,L,L):(g&&g<L&&(g=L),A&&A<L&&(A=L),S&&S<L&&(S=L),new Yt(Math.min(255,g/h),Math.min(255,A/h),Math.min(255,S/h)))},Hl.darker=function(h){return h=Math.pow(.7,arguments.length?h:1),new Yt(h*this.r,h*this.g,h*this.b)},Hl.hsl=function(){return ht(this.r,this.g,this.b)},Hl.toString=function(){return"#"+mr(this.r)+mr(this.g)+mr(this.b)};function mr(h){return h<16?"0"+Math.max(0,h).toString(16):Math.min(255,h).toString(16)}function Kr(h,g,A){var S=0,L=0,C=0,O,F,U;if(O=/([a-z]+)\((.*)\)/.exec(h=h.toLowerCase()),O)switch(F=O[2].split(","),O[1]){case"hsl":return A(parseFloat(F[0]),parseFloat(F[1])/100,parseFloat(F[2])/100);case"rgb":return g(At(F[0]),At(F[1]),At(F[2]))}return(U=za.get(h))?g(U.r,U.g,U.b):(h!=null&&h.charAt(0)==="#"&&!isNaN(U=parseInt(h.slice(1),16))&&(h.length===4?(S=(U&3840)>>4,S=S>>4|S,L=U&240,L=L>>4|L,C=U&15,C=C<<4|C):h.length===7&&(S=(U&16711680)>>16,L=(U&65280)>>8,C=U&255)),g(S,L,C))}function ht(h,g,A){var S=Math.min(h/=255,g/=255,A/=255),L=Math.max(h,g,A),C=L-S,O,F,U=(L+S)/2;return C?(F=U<.5?C/(L+S):C/(2-L-S),h==L?O=(g-A)/C+(g<A?6:0):g==L?O=(A-h)/C+2:O=(h-g)/C+4,O*=60):(O=NaN,F=U>0&&U<1?0:O),new $r(O,F,U)}function fr(h,g,A){h=Ia(h),g=Ia(g),A=Ia(A);var S=yn((.4124564*h+.3575761*g+.1804375*A)/Vt),L=yn((.2126729*h+.7151522*g+.072175*A)/Xa),C=yn((.0193339*h+.119192*g+.9503041*A)/ol);return Kt(116*L-16,500*(S-L),200*(L-C))}function Ia(h){return(h/=255)<=.04045?h/12.92:Math.pow((h+.055)/1.055,2.4)}function At(h){var g=parseFloat(h);return h.charAt(h.length-1)==="%"?Math.round(g*2.55):g}var za=e.map({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});za.forEach(function(h,g){za.set(h,Zi(g))});function Or(h){return typeof h=="function"?h:function(){return h}}e.functor=Or,e.xhr=Xi(B);function Xi(h){return function(g,A,S){return arguments.length===2&&typeof A=="function"&&(S=A,A=null),Ws(g,A,h,S)}}function Ws(h,g,A,S){var L={},C=e.dispatch("beforesend","progress","load","error"),O={},F=new XMLHttpRequest,U=null;self.XDomainRequest&&!("withCredentials"in F)&&/^(http(s)?:)?\/\//.test(h)&&(F=new XDomainRequest),"onload"in F?F.onload=F.onerror=J:F.onreadystatechange=function(){F.readyState>3&&J()};function J(){var $=F.status,re;if(!$&&lne(F)||$>=200&&$<300||$===304){try{re=A.call(L,F)}catch(te){C.error.call(L,te);return}C.load.call(L,re)}else C.error.call(L,F)}return F.onprogress=function($){var re=e.event;e.event=$;try{C.progress.call(L,F)}finally{e.event=re}},L.header=function($,re){return $=($+"").toLowerCase(),arguments.length<2?O[$]:(re==null?delete O[$]:O[$]=re+"",L)},L.mimeType=function($){return arguments.length?(g=$==null?null:$+"",L):g},L.responseType=function($){return arguments.length?(U=$,L):U},L.response=function($){return A=$,L},["get","post"].forEach(function($){L[$]=function(){return L.send.apply(L,[$].concat(t(arguments)))}}),L.send=function($,re,te){if(arguments.length===2&&typeof re=="function"&&(te=re,re=null),F.open($,h,!0),g!=null&&!("accept"in O)&&(O.accept=g+",*/*"),F.setRequestHeader)for(var _e in O)F.setRequestHeader(_e,O[_e]);return g!=null&&F.overrideMimeType&&F.overrideMimeType(g),U!=null&&(F.responseType=U),te!=null&&L.on("error",te).on("load",function(ke){te(null,ke)}),C.beforesend.call(L,F),F.send(re==null?null:re),L},L.abort=function(){return F.abort(),L},e.rebind(L,C,"on"),S==null?L:L.get(one(S))}function one(h){return h.length===1?function(g,A){h(g==null?A:null)}:h}function lne(h){var g=h.responseType;return g&&g!=="text"?h.response:h.responseText}e.dsv=function(h,g){var A=new RegExp('["'+h+`
]`),S=h.charCodeAt(0);function L(J,$,re){arguments.length<3&&(re=$,$=null);var te=Ws(J,g,$==null?C:O($),re);return te.row=function(_e){return arguments.length?te.response(($=_e)==null?C:O(_e)):$},te}function C(J){return L.parse(J.responseText)}function O(J){return function($){return L.parse($.responseText,J)}}L.parse=function(J,$){var re;return L.parseRows(J,function(te,_e){if(re)return re(te,_e-1);var ke=function(ae){for(var pe={},ge=te.length,Me=0;Me<ge;++Me)pe[te[Me]]=ae[Me];return pe};re=$?function(ae,pe){return $(ke(ae),pe)}:ke})},L.parseRows=function(J,$){var re={},te={},_e=[],ke=J.length,ae=0,pe=0,ge,Me;function Se(){if(ae>=ke)return te;if(Me)return Me=!1,re;var Ye=ae;if(J.charCodeAt(Ye)===34){for(var or=Ye;or++<ke;)if(J.charCodeAt(or)===34){if(J.charCodeAt(or+1)!==34)break;++or}ae=or+2;var vr=J.charCodeAt(or+1);return vr===13?(Me=!0,J.charCodeAt(or+2)===10&&++ae):vr===10&&(Me=!0),J.slice(Ye+1,or).replace(/""/g,'"')}for(;ae<ke;){var vr=J.charCodeAt(ae++),sr=1;if(vr===10)Me=!0;else if(vr===13)Me=!0,J.charCodeAt(ae)===10&&(++ae,++sr);else if(vr!==S)continue;return J.slice(Ye,ae-sr)}return J.slice(Ye)}for(;(ge=Se())!==te;){for(var xe=[];ge!==re&&ge!==te;)xe.push(ge),ge=Se();$&&(xe=$(xe,pe++))==null||_e.push(xe)}return _e},L.format=function(J){if(Array.isArray(J[0]))return L.formatRows(J);var $=new I,re=[];return J.forEach(function(te){for(var _e in te)$.has(_e)||re.push($.add(_e))}),[re.map(U).join(h)].concat(J.map(function(te){return re.map(function(_e){return U(te[_e])}).join(h)})).join(`
`)},L.formatRows=function(J){return J.map(F).join(`
`)};function F(J){return J.map(U).join(h)}function U(J){return A.test(J)?'"'+J.replace(/\"/g,'""')+'"':J}return L},e.csv=e.dsv(",","text/csv"),e.tsv=e.dsv(" ","text/tab-separated-values");var jd,Zd,Xd,Jd,FA=this[Y(this,"requestAnimationFrame")]||function(h){setTimeout(h,17)};e.timer=function(){$d.apply(this,arguments)};function $d(h,g,A){var S=arguments.length;S<2&&(g=0),S<3&&(A=Date.now());var L=A+g,C={c:h,t:L,n:null};return Zd?Zd.n=C:jd=C,Zd=C,Xd||(Jd=clearTimeout(Jd),Xd=1,FA(D3)),C}function D3(){var h=NA(),g=IA()-h;g>24?(isFinite(g)&&(clearTimeout(Jd),Jd=setTimeout(D3,g)),Xd=0):(Xd=1,FA(D3))}e.timer.flush=function(){NA(),IA()};function NA(){for(var h=Date.now(),g=jd;g;)h>=g.t&&g.c(h-g.t)&&(g.c=null),g=g.n;return h}function IA(){for(var h,g=jd,A=1/0;g;)g.c?(g.t<A&&(A=g.t),g=(h=g).n):g=h?h.n=g.n:jd=g.n;return Zd=h,A}e.round=function(h,g){return g?Math.round(h*(g=Math.pow(10,g)))/g:Math.round(h)},e.geom={};function Af(h){return h[0]}function Hv(h){return h[1]}e.geom.hull=function(h){var g=Af,A=Hv;if(arguments.length)return S(h);function S(L){if(L.length<3)return[];var C=Or(g),O=Or(A),F,U=L.length,J=[],$=[];for(F=0;F<U;F++)J.push([+C.call(this,L[F],F),+O.call(this,L[F],F),F]);for(J.sort(sne),F=0;F<U;F++)$.push([J[F][0],-J[F][1]]);var re=zA(J),te=zA($),_e=te[0]===re[0],ke=te[te.length-1]===re[re.length-1],ae=[];for(F=re.length-1;F>=0;--F)ae.push(L[J[re[F]][2]]);for(F=+_e;F<te.length-ke;++F)ae.push(L[J[te[F]][2]]);return ae}return S.x=function(L){return arguments.length?(g=L,S):g},S.y=function(L){return arguments.length?(A=L,S):A},S};function zA(h){for(var g=h.length,A=[0,1],S=2,L=2;L<g;L++){for(;S>1&&et(h[A[S-2]],h[A[S-1]],h[L])<=0;)--S;A[S++]=L}return A.slice(0,S)}function sne(h,g){return h[0]-g[0]||h[1]-g[1]}e.geom.polygon=function(h){return K(h,Kd),h};var Kd=e.geom.polygon.prototype=[];Kd.area=function(){for(var h=-1,g=this.length,A,S=this[g-1],L=0;++h<g;)A=S,S=this[h],L+=A[1]*S[0]-A[0]*S[1];return L*.5},Kd.centroid=function(h){var g=-1,A=this.length,S=0,L=0,C,O=this[A-1],F;for(arguments.length||(h=-1/(6*this.area()));++g<A;)C=O,O=this[g],F=C[0]*O[1]-O[0]*C[1],S+=(C[0]+O[0])*F,L+=(C[1]+O[1])*F;return[S*h,L*h]},Kd.clip=function(h){for(var g,A=OA(h),S=-1,L=this.length-OA(this),C,O,F=this[L-1],U,J,$;++S<L;){for(g=h.slice(),h.length=0,U=this[S],J=g[(O=g.length-A)-1],C=-1;++C<O;)$=g[C],R3($,F,U)?(R3(J,F,U)||h.push(P3(J,$,F,U)),h.push($)):R3(J,F,U)&&h.push(P3(J,$,F,U)),J=$;A&&h.push(h[0]),F=U}return h};function R3(h,g,A){return(A[0]-g[0])*(h[1]-g[1])<(A[1]-g[1])*(h[0]-g[0])}function P3(h,g,A,S){var L=h[0],C=A[0],O=g[0]-L,F=S[0]-C,U=h[1],J=A[1],$=g[1]-U,re=S[1]-J,te=(F*(U-J)-re*(L-C))/(re*O-F*$);return[L+te*O,U+te*$]}function OA(h){var g=h[0],A=h[h.length-1];return!(g[0]-A[0]||g[1]-A[1])}var Mf,js,kf,BA=[],F3,Uv,HA=[];function une(){rp(this),this.edge=this.site=this.circle=null}function UA(h){var g=BA.pop()||new une;return g.site=h,g}function N3(h){qf(h),kf.remove(h),BA.push(h),rp(h)}function fne(h){var g=h.circle,A=g.x,S=g.cy,L={x:A,y:S},C=h.P,O=h.N,F=[h];N3(h);for(var U=C;U.circle&&x(A-U.circle.x)<de&&x(S-U.circle.cy)<de;)C=U.P,F.unshift(U),N3(U),U=C;F.unshift(U),qf(U);for(var J=O;J.circle&&x(A-J.circle.x)<de&&x(S-J.circle.cy)<de;)O=J.N,F.push(J),N3(J),J=O;F.push(J),qf(J);var $=F.length,re;for(re=1;re<$;++re)J=F[re],U=F[re-1],Qd(J.edge,U.site,J.site,L);U=F[0],J=F[$-1],J.edge=Gv(U.site,J.site,null,L),Sf(U),Sf(J)}function cne(h){for(var g=h.x,A=h.y,S,L,C,O,F=kf._;F;)if(C=GA(F,A)-g,C>de)F=F.L;else if(O=g-vne(F,A),O>de){if(!F.R){S=F;break}F=F.R}else{C>-de?(S=F.P,L=F):O>-de?(S=F,L=F.N):S=L=F;break}var U=UA(h);if(kf.insert(S,U),!(!S&&!L)){if(S===L){qf(S),L=UA(S.site),kf.insert(U,L),U.edge=L.edge=Gv(S.site,U.site),Sf(S),Sf(L);return}if(!L){U.edge=Gv(S.site,U.site);return}qf(S),qf(L);var J=S.site,$=J.x,re=J.y,te=h.x-$,_e=h.y-re,ke=L.site,ae=ke.x-$,pe=ke.y-re,ge=2*(te*pe-_e*ae),Me=te*te+_e*_e,Se=ae*ae+pe*pe,xe={x:(pe*Me-_e*Se)/ge+$,y:(te*Se-ae*Me)/ge+re};Qd(L.edge,J,ke,xe),U.edge=Gv(J,h,null,xe),L.edge=Gv(h,ke,null,xe),Sf(S),Sf(L)}}function GA(h,g){var A=h.site,S=A.x,L=A.y,C=L-g;if(!C)return S;var O=h.P;if(!O)return-1/0;A=O.site;var F=A.x,U=A.y,J=U-g;if(!J)return F;var $=F-S,re=1/C-1/J,te=$/J;return re?(-te+Math.sqrt(te*te-2*re*($*$/(-2*J)-U+J/2+L-C/2)))/re+S:(S+F)/2}function vne(h,g){var A=h.N;if(A)return GA(A,g);var S=h.site;return S.y===g?S.x:1/0}function VA(h){this.site=h,this.edges=[]}VA.prototype.prepare=function(){for(var h=this.edges,g=h.length,A;g--;)A=h[g].edge,(!A.b||!A.a)&&h.splice(g,1);return h.sort(YA),h.length};function hne(h){for(var g=h[0][0],A=h[1][0],S=h[0][1],L=h[1][1],C,O,F,U,J=js,$=J.length,re,te,_e,ke,ae,pe;$--;)if(re=J[$],!(!re||!re.prepare()))for(_e=re.edges,ke=_e.length,te=0;te<ke;)pe=_e[te].end(),F=pe.x,U=pe.y,ae=_e[++te%ke].start(),C=ae.x,O=ae.y,(x(F-C)>de||x(U-O)>de)&&(_e.splice(te,0,new ep(gne(re.site,pe,x(F-g)<de&&L-U>de?{x:g,y:x(C-g)<de?O:L}:x(U-L)<de&&A-F>de?{x:x(O-L)<de?C:A,y:L}:x(F-A)<de&&U-S>de?{x:A,y:x(C-A)<de?O:S}:x(U-S)<de&&F-g>de?{x:x(O-S)<de?C:g,y:S}:null),re.site,null)),++ke)}function YA(h,g){return g.angle-h.angle}function dne(){rp(this),this.x=this.y=this.arc=this.site=this.cy=null}function Sf(h){var g=h.P,A=h.N;if(!(!g||!A)){var S=g.site,L=h.site,C=A.site;if(S!==C){var O=L.x,F=L.y,U=S.x-O,J=S.y-F,$=C.x-O,pe=C.y-F,re=2*(U*pe-J*$);if(!(re>=-Re)){var te=U*U+J*J,_e=$*$+pe*pe,ke=(pe*te-J*_e)/re,ae=(U*_e-$*te)/re,pe=ae+F,ge=HA.pop()||new dne;ge.arc=h,ge.site=L,ge.x=ke+O,ge.y=pe+Math.sqrt(ke*ke+ae*ae),ge.cy=pe,h.circle=ge;for(var Me=null,Se=Uv._;Se;)if(ge.y<Se.y||ge.y===Se.y&&ge.x<=Se.x)if(Se.L)Se=Se.L;else{Me=Se.P;break}else if(Se.R)Se=Se.R;else{Me=Se;break}Uv.insert(Me,ge),Me||(F3=ge)}}}}function qf(h){var g=h.circle;g&&(g.P||(F3=g.N),Uv.remove(g),HA.push(g),rp(g),h.circle=null)}function pne(h,g,A,S){return function(L){var C=L.a,O=L.b,F=C.x,U=C.y,J=O.x,$=O.y,re=0,te=1,_e=J-F,ke=$-U,ae;if(ae=h-F,!(!_e&&ae>0)){if(ae/=_e,_e<0){if(ae<re)return;ae<te&&(te=ae)}else if(_e>0){if(ae>te)return;ae>re&&(re=ae)}if(ae=A-F,!(!_e&&ae<0)){if(ae/=_e,_e<0){if(ae>te)return;ae>re&&(re=ae)}else if(_e>0){if(ae<re)return;ae<te&&(te=ae)}if(ae=g-U,!(!ke&&ae>0)){if(ae/=ke,ke<0){if(ae<re)return;ae<te&&(te=ae)}else if(ke>0){if(ae>te)return;ae>re&&(re=ae)}if(ae=S-U,!(!ke&&ae<0)){if(ae/=ke,ke<0){if(ae>te)return;ae>re&&(re=ae)}else if(ke>0){if(ae<re)return;ae<te&&(te=ae)}return re>0&&(L.a={x:F+re*_e,y:U+re*ke}),te<1&&(L.b={x:F+te*_e,y:U+te*ke}),L}}}}}}function yne(h){for(var g=Mf,A=pne(h[0][0],h[0][1],h[1][0],h[1][1]),S=g.length,L;S--;)L=g[S],(!mne(L,h)||!A(L)||x(L.a.x-L.b.x)<de&&x(L.a.y-L.b.y)<de)&&(L.a=L.b=null,g.splice(S,1))}function mne(h,g){var A=h.b;if(A)return!0;var S=h.a,L=g[0][0],C=g[1][0],O=g[0][1],F=g[1][1],U=h.l,J=h.r,$=U.x,re=U.y,te=J.x,_e=J.y,ke=($+te)/2,ae=(re+_e)/2,pe,ge;if(_e===re){if(ke<L||ke>=C)return;if($>te){if(!S)S={x:ke,y:O};else if(S.y>=F)return;A={x:ke,y:F}}else{if(!S)S={x:ke,y:F};else if(S.y<O)return;A={x:ke,y:O}}}else if(pe=($-te)/(_e-re),ge=ae-pe*ke,pe<-1||pe>1)if($>te){if(!S)S={x:(O-ge)/pe,y:O};else if(S.y>=F)return;A={x:(F-ge)/pe,y:F}}else{if(!S)S={x:(F-ge)/pe,y:F};else if(S.y<O)return;A={x:(O-ge)/pe,y:O}}else if(re<_e){if(!S)S={x:L,y:pe*L+ge};else if(S.x>=C)return;A={x:C,y:pe*C+ge}}else{if(!S)S={x:C,y:pe*C+ge};else if(S.x<L)return;A={x:L,y:pe*L+ge}}return h.a=S,h.b=A,!0}function WA(h,g){this.l=h,this.r=g,this.a=this.b=null}function Gv(h,g,A,S){var L=new WA(h,g);return Mf.push(L),A&&Qd(L,h,g,A),S&&Qd(L,g,h,S),js[h.i].edges.push(new ep(L,h,g)),js[g.i].edges.push(new ep(L,g,h)),L}function gne(h,g,A){var S=new WA(h,null);return S.a=g,S.b=A,Mf.push(S),S}function Qd(h,g,A,S){!h.a&&!h.b?(h.a=S,h.l=g,h.r=A):h.l===A?h.b=S:h.a=S}function ep(h,g,A){var S=h.a,L=h.b;this.edge=h,this.site=g,this.angle=A?Math.atan2(A.y-g.y,A.x-g.x):h.l===g?Math.atan2(L.x-S.x,S.y-L.y):Math.atan2(S.x-L.x,L.y-S.y)}ep.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}};function I3(){this._=null}function rp(h){h.U=h.C=h.L=h.R=h.P=h.N=null}I3.prototype={insert:function(h,g){var A,S,L;if(h){if(g.P=h,g.N=h.N,h.N&&(h.N.P=g),h.N=g,h.R){for(h=h.R;h.L;)h=h.L;h.L=g}else h.R=g;A=h}else this._?(h=jA(this._),g.P=null,g.N=h,h.P=h.L=g,A=h):(g.P=g.N=null,this._=g,A=null);for(g.L=g.R=null,g.U=A,g.C=!0,h=g;A&&A.C;)S=A.U,A===S.L?(L=S.R,L&&L.C?(A.C=L.C=!1,S.C=!0,h=S):(h===A.R&&(Vv(this,A),h=A,A=h.U),A.C=!1,S.C=!0,Yv(this,S))):(L=S.L,L&&L.C?(A.C=L.C=!1,S.C=!0,h=S):(h===A.L&&(Yv(this,A),h=A,A=h.U),A.C=!1,S.C=!0,Vv(this,S))),A=h.U;this._.C=!1},remove:function(h){h.N&&(h.N.P=h.P),h.P&&(h.P.N=h.N),h.N=h.P=null;var g=h.U,A,S=h.L,L=h.R,C,O;if(S?L?C=jA(L):C=S:C=L,g?g.L===h?g.L=C:g.R=C:this._=C,S&&L?(O=C.C,C.C=h.C,C.L=S,S.U=C,C!==L?(g=C.U,C.U=h.U,h=C.R,g.L=h,C.R=L,L.U=C):(C.U=g,g=C,h=C.R)):(O=h.C,h=C),h&&(h.U=g),!O){if(h&&h.C){h.C=!1;return}do{if(h===this._)break;if(h===g.L){if(A=g.R,A.C&&(A.C=!1,g.C=!0,Vv(this,g),A=g.R),A.L&&A.L.C||A.R&&A.R.C){(!A.R||!A.R.C)&&(A.L.C=!1,A.C=!0,Yv(this,A),A=g.R),A.C=g.C,g.C=A.R.C=!1,Vv(this,g),h=this._;break}}else if(A=g.L,A.C&&(A.C=!1,g.C=!0,Yv(this,g),A=g.L),A.L&&A.L.C||A.R&&A.R.C){(!A.L||!A.L.C)&&(A.R.C=!1,A.C=!0,Vv(this,A),A=g.L),A.C=g.C,g.C=A.L.C=!1,Yv(this,g),h=this._;break}A.C=!0,h=g,g=g.U}while(!h.C);h&&(h.C=!1)}}};function Vv(