UNPKG

plotly.js

Version:

The open source javascript graphing library that powers plotly

18 lines 1.22 MB
/** * plotly.js (finance - 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 hh=Object.defineProperty,vX=Object.defineProperties,hX=Object.getOwnPropertyDescriptor,dX=Object.getOwnPropertyDescriptors,pX=Object.getOwnPropertyNames,j4=Object.getOwnPropertySymbols;var r6=Object.prototype.hasOwnProperty,mX=Object.prototype.propertyIsEnumerable;var e6=(e,r,t)=>r in e?hh(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,Xo=(e,r)=>{for(var t in r||(r={}))r6.call(r,t)&&e6(e,t,r[t]);if(j4)for(var t of j4(r))mX.call(r,t)&&e6(e,t,r[t]);return e},dh=(e,r)=>vX(e,dX(r));var it=(e,r)=>()=>(e&&(r=e(e=0)),r);var O=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),yX=(e,r)=>{for(var t in r)hh(e,t,{get:r[t],enumerable:!0})},gX=(e,r,t,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of pX(r))!r6.call(e,n)&&n!==t&&hh(e,n,{get:()=>r[n],enumerable:!(a=hX(r,n))||a.enumerable});return e};var t6=e=>gX(hh({},"__esModule",{value:!0}),e);var ph=O(a6=>{"use strict";a6.version="3.5.0"});var i6=O((n6,mh)=>{(function(r,t,a){t[r]=t[r]||a(),typeof mh!="undefined"&&mh.exports&&(mh.exports=t[r])})("Promise",typeof window!="undefined"?window:n6,function(){"use strict";var r,t,a,n=Object.prototype.toString,i=typeof setImmediate!="undefined"?function(_){return setImmediate(_)}:setTimeout;try{Object.defineProperty({},"x",{}),r=function(_,w,x,A){return Object.defineProperty(_,w,{value:x,writable:!0,configurable:A!==!1})}}catch(b){r=function(w,x,A){return w[x]=A,w}}a=function(){var _,w,x;function A(k,M){this.fn=k,this.self=M,this.next=void 0}return{add:function(M,S){x=new A(M,S),w?w.next=x:_=x,w=x,x=void 0},drain:function(){var M=_;for(_=w=t=void 0;M;)M.fn.call(M.self),M=M.next}}}();function l(b,_){a.add(b,_),t||(t=i(a.drain))}function o(b){var _,w=typeof b;return b!=null&&(w=="object"||w=="function")&&(_=b.then),typeof _=="function"?_:!1}function s(){for(var b=0;b<this.chain.length;b++)u(this,this.state===1?this.chain[b].success:this.chain[b].failure,this.chain[b]);this.chain.length=0}function u(b,_,w){var x,A;try{_===!1?w.reject(b.msg):(_===!0?x=b.msg:x=_.call(void 0,b.msg),x===w.promise?w.reject(TypeError("Promise-chain cycle")):(A=o(x))?A.call(x,w.resolve,w.reject):w.resolve(x))}catch(k){w.reject(k)}}function f(b){var _,w=this;if(!w.triggered){w.triggered=!0,w.def&&(w=w.def);try{(_=o(b))?l(function(){var x=new d(w);try{_.call(b,function(){f.apply(x,arguments)},function(){c.apply(x,arguments)})}catch(A){c.call(x,A)}}):(w.msg=b,w.state=1,w.chain.length>0&&l(s,w))}catch(x){c.call(new d(w),x)}}}function c(b){var _=this;_.triggered||(_.triggered=!0,_.def&&(_=_.def),_.msg=b,_.state=2,_.chain.length>0&&l(s,_))}function h(b,_,w,x){for(var A=0;A<_.length;A++)(function(M){b.resolve(_[M]).then(function(D){w(M,D)},x)})(A)}function d(b){this.def=b,this.triggered=!1}function p(b){this.promise=b,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function m(b){if(typeof b!="function")throw TypeError("Not a function");if(this.__NPO__!==0)throw TypeError("Not a promise");this.__NPO__=1;var _=new p(this);this.then=function(x,A){var k={success:typeof x=="function"?x:!0,failure:typeof A=="function"?A:!1};return k.promise=new this.constructor(function(S,D){if(typeof S!="function"||typeof D!="function")throw TypeError("Not a function");k.resolve=S,k.reject=D}),_.chain.push(k),_.state!==0&&l(s,_),k.promise},this.catch=function(x){return this.then(void 0,x)};try{b.call(void 0,function(x){f.call(_,x)},function(x){c.call(_,x)})}catch(w){c.call(_,w)}}var y=r({},"constructor",m,!1);return m.prototype=y,r(y,"__NPO__",0,!1),r(m,"resolve",function(_){var w=this;return _&&typeof _=="object"&&_.__NPO__===1?_:new w(function(A,k){if(typeof A!="function"||typeof k!="function")throw TypeError("Not a function");A(_)})}),r(m,"reject",function(_){return new this(function(x,A){if(typeof x!="function"||typeof A!="function")throw TypeError("Not a function");A(_)})}),r(m,"all",function(_){var w=this;return n.call(_)!="[object Array]"?w.reject(TypeError("Not an array")):_.length===0?w.resolve([]):new w(function(A,k){if(typeof A!="function"||typeof k!="function")throw TypeError("Not a function");var M=_.length,S=Array(M),D=0;h(w,_,function(R,N){S[R]=N,++D===M&&A(S)},k)})}),r(m,"race",function(_){var w=this;return n.call(_)!="[object Array]"?w.reject(TypeError("Not an array")):new w(function(A,k){if(typeof A!="function"||typeof k!="function")throw TypeError("Not a function");h(w,_,function(S,D){A(D)},k)})}),m})});var kr=O((mme,yh)=>{(function(){var e={version:"3.8.2"},r=[].slice,t=function(v){return r.call(v)},a=self.document;function n(v){return v&&(v.ownerDocument||v.document||v).documentElement}function i(v){return v&&(v.ownerDocument&&v.ownerDocument.defaultView||v.document&&v||v.defaultView)}if(a)try{t(a.documentElement.childNodes)[0].nodeType}catch(v){t=function(g){for(var T=g.length,q=new Array(T);T--;)q[T]=g[T];return q}}if(Date.now||(Date.now=function(){return+new Date}),a)try{a.createElement("DIV").style.setProperty("opacity",0,"")}catch(v){var l=this.Element.prototype,o=l.setAttribute,s=l.setAttributeNS,u=this.CSSStyleDeclaration.prototype,f=u.setProperty;l.setAttribute=function(g,T){o.call(this,g,T+"")},l.setAttributeNS=function(g,T,q){s.call(this,g,T,q+"")},u.setProperty=function(g,T,q){f.call(this,g,T+"",q)}}e.ascending=c;function c(v,g){return v<g?-1:v>g?1:v>=g?0:NaN}e.descending=function(v,g){return g<v?-1:g>v?1:g>=v?0:NaN},e.min=function(v,g){var T=-1,q=v.length,C,L;if(arguments.length===1){for(;++T<q;)if((L=v[T])!=null&&L>=L){C=L;break}for(;++T<q;)(L=v[T])!=null&&C>L&&(C=L)}else{for(;++T<q;)if((L=g.call(v,v[T],T))!=null&&L>=L){C=L;break}for(;++T<q;)(L=g.call(v,v[T],T))!=null&&C>L&&(C=L)}return C},e.max=function(v,g){var T=-1,q=v.length,C,L;if(arguments.length===1){for(;++T<q;)if((L=v[T])!=null&&L>=L){C=L;break}for(;++T<q;)(L=v[T])!=null&&L>C&&(C=L)}else{for(;++T<q;)if((L=g.call(v,v[T],T))!=null&&L>=L){C=L;break}for(;++T<q;)(L=g.call(v,v[T],T))!=null&&L>C&&(C=L)}return C},e.extent=function(v,g){var T=-1,q=v.length,C,L,z;if(arguments.length===1){for(;++T<q;)if((L=v[T])!=null&&L>=L){C=z=L;break}for(;++T<q;)(L=v[T])!=null&&(C>L&&(C=L),z<L&&(z=L))}else{for(;++T<q;)if((L=g.call(v,v[T],T))!=null&&L>=L){C=z=L;break}for(;++T<q;)(L=g.call(v,v[T],T))!=null&&(C>L&&(C=L),z<L&&(z=L))}return[C,z]};function h(v){return v===null?NaN:+v}function d(v){return!isNaN(v)}e.sum=function(v,g){var T=0,q=v.length,C,L=-1;if(arguments.length===1)for(;++L<q;)d(C=+v[L])&&(T+=C);else for(;++L<q;)d(C=+g.call(v,v[L],L))&&(T+=C);return T},e.mean=function(v,g){var T=0,q=v.length,C,L=-1,z=q;if(arguments.length===1)for(;++L<q;)d(C=h(v[L]))?T+=C:--z;else for(;++L<q;)d(C=h(g.call(v,v[L],L)))?T+=C:--z;if(z)return T/z},e.quantile=function(v,g){var T=(v.length-1)*g+1,q=Math.floor(T),C=+v[q-1],L=T-q;return L?C+L*(v[q]-C):C},e.median=function(v,g){var T=[],q=v.length,C,L=-1;if(arguments.length===1)for(;++L<q;)d(C=h(v[L]))&&T.push(C);else for(;++L<q;)d(C=h(g.call(v,v[L],L)))&&T.push(C);if(T.length)return e.quantile(T.sort(c),.5)},e.variance=function(v,g){var T=v.length,q=0,C,L,z=0,P=-1,I=0;if(arguments.length===1)for(;++P<T;)d(C=h(v[P]))&&(L=C-q,q+=L/++I,z+=L*(C-q));else for(;++P<T;)d(C=h(g.call(v,v[P],P)))&&(L=C-q,q+=L/++I,z+=L*(C-q));if(I>1)return z/(I-1)},e.deviation=function(){var v=e.variance.apply(this,arguments);return v&&Math.sqrt(v)};function p(v){return{left:function(g,T,q,C){for(arguments.length<3&&(q=0),arguments.length<4&&(C=g.length);q<C;){var L=q+C>>>1;v(g[L],T)<0?q=L+1:C=L}return q},right:function(g,T,q,C){for(arguments.length<3&&(q=0),arguments.length<4&&(C=g.length);q<C;){var L=q+C>>>1;v(g[L],T)>0?C=L:q=L+1}return q}}}var m=p(c);e.bisectLeft=m.left,e.bisect=e.bisectRight=m.right,e.bisector=function(v){return p(v.length===1?function(g,T){return c(v(g),T)}:v)},e.shuffle=function(v,g,T){(q=arguments.length)<3&&(T=v.length,q<2&&(g=0));for(var q=T-g,C,L;q;)L=Math.random()*q--|0,C=v[q+g],v[q+g]=v[L+g],v[L+g]=C;return v},e.permute=function(v,g){for(var T=g.length,q=new Array(T);T--;)q[T]=v[g[T]];return q},e.pairs=function(v){for(var g=0,T=v.length-1,q,C=v[0],L=new Array(T<0?0:T);g<T;)L[g]=[q=C,C=v[++g]];return L},e.transpose=function(v){if(!(L=v.length))return[];for(var g=-1,T=e.min(v,y),q=new Array(T);++g<T;)for(var C=-1,L,z=q[g]=new Array(L);++C<L;)z[C]=v[C][g];return q};function y(v){return v.length}e.zip=function(){return e.transpose(arguments)},e.keys=function(v){var g=[];for(var T in v)g.push(T);return g},e.values=function(v){var g=[];for(var T in v)g.push(v[T]);return g},e.entries=function(v){var g=[];for(var T in v)g.push({key:T,value:v[T]});return g},e.merge=function(v){for(var g=v.length,T,q=-1,C=0,L,z;++q<g;)C+=v[q].length;for(L=new Array(C);--g>=0;)for(z=v[g],T=z.length;--T>=0;)L[--C]=z[T];return L};var b=Math.abs;e.range=function(v,g,T){if(arguments.length<3&&(T=1,arguments.length<2&&(g=v,v=0)),(g-v)/T===1/0)throw new Error("infinite range");var q=[],C=_(b(T)),L=-1,z;if(v*=C,g*=C,T*=C,T<0)for(;(z=v+T*++L)>g;)q.push(z/C);else for(;(z=v+T*++L)<g;)q.push(z/C);return q};function _(v){for(var g=1;v*g%1;)g*=10;return g}function w(v,g){for(var T in g)Object.defineProperty(v.prototype,T,{value:g[T],enumerable:!1})}e.map=function(v,g){var T=new x;if(v instanceof x)v.forEach(function(P,I){T.set(P,I)});else if(Array.isArray(v)){var q=-1,C=v.length,L;if(arguments.length===1)for(;++q<C;)T.set(q,v[q]);else for(;++q<C;)T.set(g.call(v,L=v[q],q),L)}else for(var z in v)T.set(z,v[z]);return T};function x(){this._=Object.create(null)}var A="__proto__",k="\0";w(x,{has:D,get:function(v){return this._[M(v)]},set:function(v,g){return this._[M(v)]=g},remove:E,keys:R,values:function(){var v=[];for(var g in this._)v.push(this._[g]);return v},entries:function(){var v=[];for(var g in this._)v.push({key:S(g),value:this._[g]});return v},size:N,empty:H,forEach:function(v){for(var g in this._)v.call(this,S(g),this._[g])}});function M(v){return(v+="")===A||v[0]===k?k+v:v}function S(v){return(v+="")[0]===k?v.slice(1):v}function D(v){return M(v)in this._}function E(v){return(v=M(v))in this._&&delete this._[v]}function R(){var v=[];for(var g in this._)v.push(S(g));return v}function N(){var v=0;for(var g in this._)++v;return v}function H(){for(var v in this._)return!1;return!0}e.nest=function(){var v={},g=[],T=[],q,C;function L(P,I,$){if($>=g.length)return C?C.call(v,I):q?I.sort(q):I;for(var K=-1,re=I.length,te=g[$++],ye,Ae,ae,ue=new x,ve;++K<re;)(ve=ue.get(ye=te(Ae=I[K])))?ve.push(Ae):ue.set(ye,[Ae]);return P?(Ae=P(),ae=function(Te,Me){Ae.set(Te,L(P,Me,$))}):(Ae={},ae=function(Te,Me){Ae[Te]=L(P,Me,$)}),ue.forEach(ae),Ae}function z(P,I){if(I>=g.length)return P;var $=[],K=T[I++];return P.forEach(function(re,te){$.push({key:re,values:z(te,I)})}),K?$.sort(function(re,te){return K(re.key,te.key)}):$}return v.map=function(P,I){return L(I,P,0)},v.entries=function(P){return z(L(e.map,P,0),0)},v.key=function(P){return g.push(P),v},v.sortKeys=function(P){return T[g.length-1]=P,v},v.sortValues=function(P){return q=P,v},v.rollup=function(P){return C=P,v},v},e.set=function(v){var g=new F;if(v)for(var T=0,q=v.length;T<q;++T)g.add(v[T]);return g};function F(){this._=Object.create(null)}w(F,{has:D,add:function(v){return this._[M(v+="")]=!0,v},remove:E,values:R,size:N,empty:H,forEach:function(v){for(var g in this._)v.call(this,S(g))}}),e.behavior={};function Y(v){return v}e.rebind=function(v,g){for(var T=1,q=arguments.length,C;++T<q;)v[C=arguments[T]]=U(v,g,g[C]);return v};function U(v,g,T){return function(){var q=T.apply(g,arguments);return q===g?v:q}}function V(v,g){if(g in v)return g;g=g.charAt(0).toUpperCase()+g.slice(1);for(var T=0,q=G.length;T<q;++T){var C=G[T]+g;if(C in v)return C}}var G=["webkit","ms","moz","Moz","o","O"];function B(){}e.dispatch=function(){for(var v=new J,g=-1,T=arguments.length;++g<T;)v[arguments[g]]=X(v);return v};function J(){}J.prototype.on=function(v,g){var T=v.indexOf("."),q="";if(T>=0&&(q=v.slice(T+1),v=v.slice(0,T)),v)return arguments.length<2?this[v].on(q):this[v].on(q,g);if(arguments.length===2){if(g==null)for(v in this)this.hasOwnProperty(v)&&this[v].on(q,null);return this}};function X(v){var g=[],T=new x;function q(){for(var C=g,L=-1,z=C.length,P;++L<z;)(P=C[L].on)&&P.apply(this,arguments);return v}return q.on=function(C,L){var z=T.get(C),P;return arguments.length<2?z&&z.on:(z&&(z.on=null,g=g.slice(0,P=g.indexOf(z)).concat(g.slice(P+1)),T.remove(C)),L&&g.push(T.set(C,{on:L})),v)},q}e.event=null;function ee(){e.event.preventDefault()}function le(){for(var v=e.event,g;g=v.sourceEvent;)v=g;return v}function fe(v){for(var g=new J,T=0,q=arguments.length;++T<q;)g[arguments[T]]=X(g);return g.of=function(C,L){return function(z){try{var P=z.sourceEvent=e.event;z.target=v,e.event=z,g[z.type].apply(C,L)}finally{e.event=P}}},g}e.requote=function(v){return v.replace(he,"\\$&")};var he=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,Q={}.__proto__?function(v,g){v.__proto__=g}:function(v,g){for(var T in g)v[T]=g[T]};function Ce(v){return Q(v,_e),v}var ce=function(v,g){return g.querySelector(v)},be=function(v,g){return g.querySelectorAll(v)},ge=function(v,g){var T=v.matches||v[V(v,"matchesSelector")];return ge=function(q,C){return T.call(q,C)},ge(v,g)};typeof Sizzle=="function"&&(ce=function(v,g){return Sizzle(v,g)[0]||null},be=Sizzle,ge=Sizzle.matchesSelector),e.selection=function(){return e.select(a.documentElement)};var _e=e.selection.prototype=[];_e.select=function(v){var g=[],T,q,C,L;v=W(v);for(var z=-1,P=this.length;++z<P;){g.push(T=[]),T.parentNode=(C=this[z]).parentNode;for(var I=-1,$=C.length;++I<$;)(L=C[I])?(T.push(q=v.call(L,L.__data__,I,z)),q&&"__data__"in L&&(q.__data__=L.__data__)):T.push(null)}return Ce(g)};function W(v){return typeof v=="function"?v:function(){return ce(v,this)}}_e.selectAll=function(v){var g=[],T,q;v=j(v);for(var C=-1,L=this.length;++C<L;)for(var z=this[C],P=-1,I=z.length;++P<I;)(q=z[P])&&(g.push(T=t(v.call(q,q.__data__,P,C))),T.parentNode=q);return Ce(g)};function j(v){return typeof v=="function"?v:function(){return be(v,this)}}var Z="http://www.w3.org/1999/xhtml",oe={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:oe,qualify:function(v){var g=v.indexOf(":"),T=v;return g>=0&&(T=v.slice(0,g))!=="xmlns"&&(v=v.slice(g+1)),oe.hasOwnProperty(T)?{space:oe[T],local:v}:v}},_e.attr=function(v,g){if(arguments.length<2){if(typeof v=="string"){var T=this.node();return v=e.ns.qualify(v),v.local?T.getAttributeNS(v.space,v.local):T.getAttribute(v)}for(g in v)this.each(me(g,v[g]));return this}return this.each(me(v,g))};function me(v,g){v=e.ns.qualify(v);function T(){this.removeAttribute(v)}function q(){this.removeAttributeNS(v.space,v.local)}function C(){this.setAttribute(v,g)}function L(){this.setAttributeNS(v.space,v.local,g)}function z(){var I=g.apply(this,arguments);I==null?this.removeAttribute(v):this.setAttribute(v,I)}function P(){var I=g.apply(this,arguments);I==null?this.removeAttributeNS(v.space,v.local):this.setAttributeNS(v.space,v.local,I)}return g==null?v.local?q:T:typeof g=="function"?v.local?P:z:v.local?L:C}function xe(v){return v.trim().replace(/\s+/g," ")}_e.classed=function(v,g){if(arguments.length<2){if(typeof v=="string"){var T=this.node(),q=(v=ze(v)).length,C=-1;if(g=T.classList){for(;++C<q;)if(!g.contains(v[C]))return!1}else for(g=T.getAttribute("class");++C<q;)if(!De(v[C]).test(g))return!1;return!0}for(g in v)this.each(Se(g,v[g]));return this}return this.each(Se(v,g))};function De(v){return new RegExp("(?:^|\\s+)"+e.requote(v)+"(?:\\s+|$)","g")}function ze(v){return(v+"").trim().split(/^|\s+/)}function Se(v,g){v=ze(v).map(Ie);var T=v.length;function q(){for(var L=-1;++L<T;)v[L](this,g)}function C(){for(var L=-1,z=g.apply(this,arguments);++L<T;)v[L](this,z)}return typeof g=="function"?C:q}function Ie(v){var g=De(v);return function(T,q){if(C=T.classList)return q?C.add(v):C.remove(v);var C=T.getAttribute("class")||"";q?(g.lastIndex=0,g.test(C)||T.setAttribute("class",xe(C+" "+v))):T.setAttribute("class",xe(C.replace(g," ")))}}_e.style=function(v,g,T){var q=arguments.length;if(q<3){if(typeof v!="string"){q<2&&(g="");for(T in v)this.each(Be(T,v[T],g));return this}if(q<2){var C=this.node();return i(C).getComputedStyle(C,null).getPropertyValue(v)}T=""}return this.each(Be(v,g,T))};function Be(v,g,T){function q(){this.style.removeProperty(v)}function C(){this.style.setProperty(v,g,T)}function L(){var z=g.apply(this,arguments);z==null?this.style.removeProperty(v):this.style.setProperty(v,z,T)}return g==null?q:typeof g=="function"?L:C}_e.property=function(v,g){if(arguments.length<2){if(typeof v=="string")return this.node()[v];for(g in v)this.each(Ue(g,v[g]));return this}return this.each(Ue(v,g))};function Ue(v,g){function T(){delete this[v]}function q(){this[v]=g}function C(){var L=g.apply(this,arguments);L==null?delete this[v]:this[v]=L}return g==null?T:typeof g=="function"?C:q}_e.text=function(v){return arguments.length?this.each(typeof v=="function"?function(){var g=v.apply(this,arguments);this.textContent=g==null?"":g}:v==null?function(){this.textContent=""}:function(){this.textContent=v}):this.node().textContent},_e.html=function(v){return arguments.length?this.each(typeof v=="function"?function(){var g=v.apply(this,arguments);this.innerHTML=g==null?"":g}:v==null?function(){this.innerHTML=""}:function(){this.innerHTML=v}):this.node().innerHTML},_e.append=function(v){return v=Pe(v),this.select(function(){return this.appendChild(v.apply(this,arguments))})};function Pe(v){function g(){var q=this.ownerDocument,C=this.namespaceURI;return C===Z&&q.documentElement.namespaceURI===Z?q.createElement(v):q.createElementNS(C,v)}function T(){return this.ownerDocument.createElementNS(v.space,v.local)}return typeof v=="function"?v:(v=e.ns.qualify(v)).local?T:g}_e.insert=function(v,g){return v=Pe(v),g=W(g),this.select(function(){return this.insertBefore(v.apply(this,arguments),g.apply(this,arguments)||null)})},_e.remove=function(){return this.each(Oe)};function Oe(){var v=this.parentNode;v&&v.removeChild(this)}_e.data=function(v,g){var T=-1,q=this.length,C,L;if(!arguments.length){for(v=new Array(q=(C=this[0]).length);++T<q;)(L=C[T])&&(v[T]=L.__data__);return v}function z(K,re){var te,ye=K.length,Ae=re.length,ae=Math.min(ye,Ae),ue=new Array(Ae),ve=new Array(Ae),Te=new Array(ye),Me,pe;if(g){var Ve=new x,nr=new Array(ye),ur;for(te=-1;++te<ye;)(Me=K[te])&&(Ve.has(ur=g.call(Me,Me.__data__,te))?Te[te]=Me:Ve.set(ur,Me),nr[te]=ur);for(te=-1;++te<Ae;)(Me=Ve.get(ur=g.call(re,pe=re[te],te)))?Me!==!0&&(ue[te]=Me,Me.__data__=pe):ve[te]=Ge(pe),Ve.set(ur,!0);for(te=-1;++te<ye;)te in nr&&Ve.get(nr[te])!==!0&&(Te[te]=K[te])}else{for(te=-1;++te<ae;)Me=K[te],pe=re[te],Me?(Me.__data__=pe,ue[te]=Me):ve[te]=Ge(pe);for(;te<Ae;++te)ve[te]=Ge(re[te]);for(;te<ye;++te)Te[te]=K[te]}ve.update=ue,ve.parentNode=ue.parentNode=Te.parentNode=K.parentNode,P.push(ve),I.push(ue),$.push(Te)}var P=hr([]),I=Ce([]),$=Ce([]);if(typeof v=="function")for(;++T<q;)z(C=this[T],v.call(C,C.parentNode.__data__,T));else for(;++T<q;)z(C=this[T],v);return I.enter=function(){return P},I.exit=function(){return $},I};function Ge(v){return{__data__:v}}_e.datum=function(v){return arguments.length?this.property("__data__",v):this.property("__data__")},_e.filter=function(v){var g=[],T,q,C;typeof v!="function"&&(v=ie(v));for(var L=0,z=this.length;L<z;L++){g.push(T=[]),T.parentNode=(q=this[L]).parentNode;for(var P=0,I=q.length;P<I;P++)(C=q[P])&&v.call(C,C.__data__,P,L)&&T.push(C)}return Ce(g)};function ie(v){return function(){return ge(this,v)}}_e.order=function(){for(var v=-1,g=this.length;++v<g;)for(var T=this[v],q=T.length-1,C=T[q],L;--q>=0;)(L=T[q])&&(C&&C!==L.nextSibling&&C.parentNode.insertBefore(L,C),C=L);return this},_e.sort=function(v){v=we.apply(this,arguments);for(var g=-1,T=this.length;++g<T;)this[g].sort(v);return this.order()};function we(v){return arguments.length||(v=c),function(g,T){return g&&T?v(g.__data__,T.__data__):!g-!T}}_e.each=function(v){return $e(this,function(g,T,q){v.call(g,g.__data__,T,q)})};function $e(v,g){for(var T=0,q=v.length;T<q;T++)for(var C=v[T],L=0,z=C.length,P;L<z;L++)(P=C[L])&&g(P,L,T);return v}_e.call=function(v){var g=t(arguments);return v.apply(g[0]=this,g),this},_e.empty=function(){return!this.node()},_e.node=function(){for(var v=0,g=this.length;v<g;v++)for(var T=this[v],q=0,C=T.length;q<C;q++){var L=T[q];if(L)return L}return null},_e.size=function(){var v=0;return $e(this,function(){++v}),v};function hr(v){return Q(v,Ne),v}var Ne=[];e.selection.enter=hr,e.selection.enter.prototype=Ne,Ne.append=_e.append,Ne.empty=_e.empty,Ne.node=_e.node,Ne.call=_e.call,Ne.size=_e.size,Ne.select=function(v){for(var g=[],T,q,C,L,z,P=-1,I=this.length;++P<I;){C=(L=this[P]).update,g.push(T=[]),T.parentNode=L.parentNode;for(var $=-1,K=L.length;++$<K;)(z=L[$])?(T.push(C[$]=q=v.call(L.parentNode,z.__data__,$,P)),q.__data__=z.__data__):T.push(null)}return Ce(g)},Ne.insert=function(v,g){return arguments.length<2&&(g=ke(this)),_e.insert.call(this,v,g)};function ke(v){var g,T;return function(q,C,L){var z=v[L].update,P=z.length,I;for(L!=T&&(T=L,g=0),C>=g&&(g=C+1);!(I=z[g])&&++g<P;);return I}}e.select=function(v){var g;return typeof v=="string"?(g=[ce(v,a)],g.parentNode=a.documentElement):(g=[v],g.parentNode=n(v)),Ce([g])},e.selectAll=function(v){var g;return typeof v=="string"?(g=t(be(v,a)),g.parentNode=a.documentElement):(g=t(v),g.parentNode=null),Ce([g])},_e.on=function(v,g,T){var q=arguments.length;if(q<3){if(typeof v!="string"){q<2&&(g=!1);for(T in v)this.each(qe(T,v[T],g));return this}if(q<2)return(q=this.node()["__on"+v])&&q._;T=!1}return this.each(qe(v,g,T))};function qe(v,g,T){var q="__on"+v,C=v.indexOf("."),L=Je;C>0&&(v=v.slice(0,C));var z=He.get(v);z&&(v=z,L=We);function P(){var K=this[q];K&&(this.removeEventListener(v,K,K.$),delete this[q])}function I(){var K=L(g,t(arguments));P.call(this),this.addEventListener(v,this[q]=K,K.$=T),K._=g}function $(){var K=new RegExp("^__on([^.]+)"+e.requote(v)+"$"),re;for(var te in this)if(re=te.match(K)){var ye=this[te];this.removeEventListener(re[1],ye,ye.$),delete this[te]}}return C?g?I:P:g?B:$}var He=e.map({mouseenter:"mouseover",mouseleave:"mouseout"});a&&He.forEach(function(v){"on"+v in a&&He.remove(v)});function Je(v,g){return function(T){var q=e.event;e.event=T,g[0]=this.__data__;try{v.apply(this,g)}finally{e.event=q}}}function We(v,g){var T=Je(v,g);return function(q){var C=this,L=q.relatedTarget;(!L||L!==C&&!(L.compareDocumentPosition(C)&8))&&T.call(C,q)}}var Xe,ir=0;function ar(v){var g=".dragsuppress-"+ ++ir,T="click"+g,q=e.select(i(v)).on("touchmove"+g,ee).on("dragstart"+g,ee).on("selectstart"+g,ee);if(Xe==null&&(Xe="onselectstart"in v?!1:V(v.style,"userSelect")),Xe){var C=n(v).style,L=C[Xe];C[Xe]="none"}return function(z){if(q.on(g,null),Xe&&(C[Xe]=L),z){var P=function(){q.on(T,null)};q.on(T,function(){ee(),P()},!0),setTimeout(P,0)}}}e.mouse=function(v){return Fe(v,le())};var er=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function Fe(v,g){g.changedTouches&&(g=g.changedTouches[0]);var T=v.ownerSVGElement||v;if(T.createSVGPoint){var q=T.createSVGPoint();if(er<0){var C=i(v);if(C.scrollX||C.scrollY){T=e.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var L=T[0][0].getScreenCTM();er=!(L.f||L.e),T.remove()}}return er?(q.x=g.pageX,q.y=g.pageY):(q.x=g.clientX,q.y=g.clientY),q=q.matrixTransform(v.getScreenCTM().inverse()),[q.x,q.y]}var z=v.getBoundingClientRect();return[g.clientX-z.left-v.clientLeft,g.clientY-z.top-v.clientTop]}e.touch=function(v,g,T){if(arguments.length<3&&(T=g,g=le().changedTouches),g){for(var q=0,C=g.length,L;q<C;++q)if((L=g[q]).identifier===T)return Fe(v,L)}},e.behavior.drag=function(){var v=fe(C,"drag","dragstart","dragend"),g=null,T=L(B,e.mouse,i,"mousemove","mouseup"),q=L(ne,e.touch,Y,"touchmove","touchend");function C(){this.on("mousedown.drag",T).on("touchstart.drag",q)}function L(z,P,I,$,K){return function(){var re=this,te=e.event.target.correspondingElement||e.event.target,ye=re.parentNode,Ae=v.of(re,arguments),ae=0,ue=z(),ve=".drag"+(ue==null?"":"-"+ue),Te,Me=e.select(I(te)).on($+ve,nr).on(K+ve,ur),pe=ar(te),Ve=P(ye,ue);g?(Te=g.apply(re,arguments),Te=[Te.x-Ve[0],Te.y-Ve[1]]):Te=[0,0],Ae({type:"dragstart"});function nr(){var lr=P(ye,ue),dr,pr;lr&&(dr=lr[0]-Ve[0],pr=lr[1]-Ve[1],ae|=dr|pr,Ve=lr,Ae({type:"drag",x:lr[0]+Te[0],y:lr[1]+Te[1],dx:dr,dy:pr}))}function ur(){P(ye,ue)&&(Me.on($+ve,null).on(K+ve,null),pe(ae),Ae({type:"dragend"}))}}}return C.origin=function(z){return arguments.length?(g=z,C):g},e.rebind(C,v,"on")};function ne(){return e.event.changedTouches[0].identifier}e.touches=function(v,g){return arguments.length<2&&(g=le().touches),g?t(g).map(function(T){var q=Fe(v,T);return q.identifier=T.identifier,q}):[]};var se=1e-6,Le=se*se,Ee=Math.PI,Qe=2*Ee,cr=Qe-se,sr=Ee/2,Mr=Ee/180,Br=180/Ee;function $r(v){return v>0?1:v<0?-1:0}function ft(v,g,T){return(g[0]-v[0])*(T[1]-v[1])-(g[1]-v[1])*(T[0]-v[0])}function kt(v){return v>1?0:v<-1?Ee:Math.acos(v)}function wt(v){return v>1?sr:v<-1?-sr:Math.asin(v)}function Jt(v){return((v=Math.exp(v))-1/v)/2}function Vt(v){return((v=Math.exp(v))+1/v)/2}function Ja(v){return((v=Math.exp(2*v))-1)/(v+1)}function xa(v){return(v=Math.sin(v/2))*v}var ca=Math.SQRT2,$a=2,va=4;e.interpolateZoom=function(v,g){var T=v[0],q=v[1],C=v[2],L=g[0],z=g[1],P=g[2],I=L-T,$=z-q,K=I*I+$*$,re,te;if(K<Le)te=Math.log(P/C)/ca,re=function(Te){return[T+Te*I,q+Te*$,C*Math.exp(ca*Te*te)]};else{var ye=Math.sqrt(K),Ae=(P*P-C*C+va*K)/(2*C*$a*ye),ae=(P*P-C*C-va*K)/(2*P*$a*ye),ue=Math.log(Math.sqrt(Ae*Ae+1)-Ae),ve=Math.log(Math.sqrt(ae*ae+1)-ae);te=(ve-ue)/ca,re=function(Te){var Me=Te*te,pe=Vt(ue),Ve=C/($a*ye)*(pe*Ja(ca*Me+ue)-Jt(ue));return[T+Ve*I,q+Ve*$,C*pe/Vt(ca*Me+ue)]}}return re.duration=te*1e3,re},e.behavior.zoom=function(){var v={x:0,y:0,k:1},g,T,q,C=[960,500],L=ha,z=250,P=0,I="mousedown.zoom",$="mousemove.zoom",K="mouseup.zoom",re,te="touchstart.zoom",ye,Ae=fe(Me,"zoomstart","zoom","zoomend"),ae,ue,ve,Te;ct||(ct="onwheel"in a?(vr=function(){return-e.event.deltaY*(e.event.deltaMode?120:1)},"wheel"):"onmousewheel"in a?(vr=function(){return e.event.wheelDelta},"mousewheel"):(vr=function(){return-e.event.detail},"MozMousePixelScroll"));function Me(rr){rr.on(I,Ar).on(ct+".zoom",Nt).on("dblclick.zoom",tt).on(te,Qr)}Me.event=function(rr){rr.each(function(){var Dr=Ae.of(this,arguments),Er=v;Go?e.select(this).transition().each("start.zoom",function(){v=this.__chart__||{x:0,y:0,k:1},pr(Dr)}).tween("zoom:zoom",function(){var jr=C[0],qt=C[1],Kt=T?T[0]:jr/2,wa=T?T[1]:qt/2,Ha=e.interpolateZoom([(Kt-v.x)/v.k,(wa-v.y)/v.k,jr/v.k],[(Kt-Er.x)/Er.k,(wa-Er.y)/Er.k,jr/Er.k]);return function(Qa){var Ba=Ha(Qa),nn=jr/Ba[2];this.__chart__=v={x:Kt-Ba[0]*nn,y:wa-Ba[1]*nn,k:nn},Lr(Dr)}}).each("interrupt.zoom",function(){mr(Dr)}).each("end.zoom",function(){mr(Dr)}):(this.__chart__=v,pr(Dr),Lr(Dr),mr(Dr))})},Me.translate=function(rr){return arguments.length?(v={x:+rr[0],y:+rr[1],k:v.k},dr(),Me):[v.x,v.y]},Me.scale=function(rr){return arguments.length?(v={x:v.x,y:v.y,k:null},nr(+rr),dr(),Me):v.k},Me.scaleExtent=function(rr){return arguments.length?(L=rr==null?ha:[+rr[0],+rr[1]],Me):L},Me.center=function(rr){return arguments.length?(q=rr&&[+rr[0],+rr[1]],Me):q},Me.size=function(rr){return arguments.length?(C=rr&&[+rr[0],+rr[1]],Me):C},Me.duration=function(rr){return arguments.length?(z=+rr,Me):z},Me.x=function(rr){return arguments.length?(ue=rr,ae=rr.copy(),v={x:0,y:0,k:1},Me):ue},Me.y=function(rr){return arguments.length?(Te=rr,ve=rr.copy(),v={x:0,y:0,k:1},Me):Te};function pe(rr){return[(rr[0]-v.x)/v.k,(rr[1]-v.y)/v.k]}function Ve(rr){return[rr[0]*v.k+v.x,rr[1]*v.k+v.y]}function nr(rr){v.k=Math.max(L[0],Math.min(L[1],rr))}function ur(rr,Dr){Dr=Ve(Dr),v.x+=rr[0]-Dr[0],v.y+=rr[1]-Dr[1]}function lr(rr,Dr,Er,jr){rr.__chart__={x:v.x,y:v.y,k:v.k},nr(Math.pow(2,jr)),ur(T=Dr,Er),rr=e.select(rr),z>0&&(rr=rr.transition().duration(z)),rr.call(Me.event)}function dr(){ue&&ue.domain(ae.range().map(function(rr){return(rr-v.x)/v.k}).map(ae.invert)),Te&&Te.domain(ve.range().map(function(rr){return(rr-v.y)/v.k}).map(ve.invert))}function pr(rr){P++||rr({type:"zoomstart"})}function Lr(rr){dr(),rr({type:"zoom",scale:v.k,translate:[v.x,v.y]})}function mr(rr){--P||(rr({type:"zoomend"}),T=null)}function Ar(){var rr=this,Dr=Ae.of(rr,arguments),Er=0,jr=e.select(i(rr)).on($,wa).on(K,Ha),qt=pe(e.mouse(rr)),Kt=ar(rr);uh.call(rr),pr(Dr);function wa(){Er=1,ur(e.mouse(rr),qt),Lr(Dr)}function Ha(){jr.on($,null).on(K,null),Kt(Er),mr(Dr)}}function Qr(){var rr=this,Dr=Ae.of(rr,arguments),Er={},jr=0,qt,Kt=".zoom-"+e.event.changedTouches[0].identifier,wa="touchmove"+Kt,Ha="touchend"+Kt,Qa=[],Ba=e.select(rr),nn=ar(rr);ln(),pr(Dr),Ba.on(I,null).on(te,ln);function Ea(){var ci=e.touches(rr);return qt=v.k,ci.forEach(function(Ta){Ta.identifier in Er&&(Er[Ta.identifier]=pe(Ta))}),ci}function ln(){var ci=e.event.target;e.select(ci).on(wa,Uo).on(Ha,cX),Qa.push(ci);for(var Ta=e.event.changedTouches,Nn=0,Hi=Ta.length;Nn<Hi;++Nn)Er[Ta[Nn].identifier]=null;var Fn=Ea(),_u=Date.now();if(Fn.length===1){if(_u-ye<500){var Wo=Fn[0];lr(rr,Wo,Er[Wo.identifier],Math.floor(Math.log(v.k)/Math.LN2)+1),ee()}ye=_u}else if(Fn.length>1){var Wo=Fn[0],Bl=Fn[1],vh=Wo[0]-Bl[0],Q4=Wo[1]-Bl[1];jr=vh*vh+Q4*Q4}}function Uo(){var ci=e.touches(rr),Ta,Nn,Hi,Fn;uh.call(rr);for(var _u=0,Wo=ci.length;_u<Wo;++_u,Fn=null)if(Hi=ci[_u],Fn=Er[Hi.identifier]){if(Nn)break;Ta=Hi,Nn=Fn}if(Fn){var Bl=(Bl=Hi[0]-Ta[0])*Bl+(Bl=Hi[1]-Ta[1])*Bl,vh=jr&&Math.sqrt(Bl/jr);Ta=[(Ta[0]+Hi[0])/2,(Ta[1]+Hi[1])/2],Nn=[(Nn[0]+Fn[0])/2,(Nn[1]+Fn[1])/2],nr(vh*qt)}ye=null,ur(Ta,Nn),Lr(Dr)}function cX(){if(e.event.touches.length){for(var ci=e.event.changedTouches,Ta=0,Nn=ci.length;Ta<Nn;++Ta)delete Er[ci[Ta].identifier];for(var Hi in Er)return void Ea()}e.selectAll(Qa).on(Kt,null),Ba.on(I,Ar).on(te,Qr),nn(),mr(Dr)}}function Nt(){var rr=Ae.of(this,arguments);re?clearTimeout(re):(uh.call(this),g=pe(T=q||e.mouse(this)),pr(rr)),re=setTimeout(function(){re=null,mr(rr)},50),ee(),nr(Math.pow(2,vr()*.002)*v.k),ur(T,g),Lr(rr)}function tt(){var rr=e.mouse(this),Dr=Math.log(v.k)/Math.LN2;lr(this,rr,pe(rr),e.event.shiftKey?Math.ceil(Dr)-1:Math.floor(Dr)+1)}return e.rebind(Me,Ae,"on")};var ha=[0,1/0],vr,ct;e.color=Kr;function Kr(){}Kr.prototype.toString=function(){return this.rgb()+""},e.hsl=lt;function lt(v,g,T){return this instanceof lt?(this.h=+v,this.s=+g,void(this.l=+T)):arguments.length<2?v instanceof lt?new lt(v.h,v.s,v.l):Wr(""+v,et,lt):new lt(v,g,T)}var da=lt.prototype=new Kr;da.brighter=function(v){return v=Math.pow(.7,arguments.length?v:1),new lt(this.h,this.s,this.l/v)},da.darker=function(v){return v=Math.pow(.7,arguments.length?v:1),new lt(this.h,this.s,v*this.l)},da.rgb=function(){return pa(this.h,this.s,this.l)};function pa(v,g,T){var q,C;v=isNaN(v)?0:(v%=360)<0?v+360:v,g=isNaN(g)||g<0?0:g>1?1:g,T=T<0?0:T>1?1:T,C=T<=.5?T*(1+g):T+g-T*g,q=2*T-C;function L(P){return P>360?P-=360:P<0&&(P+=360),P<60?q+(C-q)*P/60:P<180?C:P<240?q+(C-q)*(240-P)/60:q}function z(P){return Math.round(L(P)*255)}return new Ia(z(v+120),z(v),z(v-120))}e.hcl=nt;function nt(v,g,T){return this instanceof nt?(this.h=+v,this.c=+g,void(this.l=+T)):arguments.length<2?v instanceof nt?new nt(v.h,v.c,v.l):v instanceof ea?Y0(v.l,v.a,v.b):Y0((v=or((v=e.rgb(v)).r,v.g,v.b)).l,v.a,v.b):new nt(v,g,T)}var an=nt.prototype=new Kr;an.brighter=function(v){return new nt(this.h,this.c,Math.min(100,this.l+mt*(arguments.length?v:1)))},an.darker=function(v){return new nt(this.h,this.c,Math.max(0,this.l-mt*(arguments.length?v:1)))},an.rgb=function(){return si(this.h,this.c,this.l).rgb()};function si(v,g,T){return isNaN(v)&&(v=0),isNaN(g)&&(g=0),new ea(T,Math.cos(v*=Mr)*g,Math.sin(v)*g)}e.lab=ea;function ea(v,g,T){return this instanceof ea?(this.l=+v,this.a=+g,void(this.b=+T)):arguments.length<2?v instanceof ea?new ea(v.l,v.a,v.b):v instanceof nt?si(v.h,v.c,v.l):or((v=Ia(v)).r,v.g,v.b):new ea(v,g,T)}var mt=18,Gt=.95047,Ka=1,Bo=1.08883,Il=ea.prototype=new Kr;Il.brighter=function(v){return new ea(Math.min(100,this.l+mt*(arguments.length?v:1)),this.a,this.b)},Il.darker=function(v){return new ea(Math.max(0,this.l-mt*(arguments.length?v:1)),this.a,this.b)},Il.rgb=function(){return O0(this.l,this.a,this.b)};function O0(v,g,T){var q=(v+16)/116,C=q+g/500,L=q-T/200;return C=cc(C)*Gt,q=cc(q)*Ka,L=cc(L)*Bo,new Ia(hc(3.2404542*C-1.5371385*q-.4985314*L),hc(-.969266*C+1.8760108*q+.041556*L),hc(.0556434*C-.2040259*q+1.0572252*L))}function Y0(v,g,T){return v>0?new nt(Math.atan2(T,g)*Br,Math.sqrt(g*g+T*T),v):new nt(NaN,NaN,v)}function cc(v){return v>.206893034?v*v*v:(v-4/29)/7.787037}function vc(v){return v>.008856?Math.pow(v,1/3):7.787037*v+4/29}function hc(v){return Math.round(255*(v<=.00304?12.92*v:1.055*Math.pow(v,1/2.4)-.055))}e.rgb=Ia;function Ia(v,g,T){return this instanceof Ia?(this.r=~~v,this.g=~~g,void(this.b=~~T)):arguments.length<2?v instanceof Ia?new Ia(v.r,v.g,v.b):Wr(""+v,Ia,pa):new Ia(v,g,T)}function V0(v){return new Ia(v>>16,v>>8&255,v&255)}function hu(v){return V0(v)+""}var du=Ia.prototype=new Kr;du.brighter=function(v){v=Math.pow(.7,arguments.length?v:1);var g=this.r,T=this.g,q=this.b,C=30;return!g&&!T&&!q?new Ia(C,C,C):(g&&g<C&&(g=C),T&&T<C&&(T=C),q&&q<C&&(q=C),new Ia(Math.min(255,g/v),Math.min(255,T/v),Math.min(255,q/v)))},du.darker=function(v){return v=Math.pow(.7,arguments.length?v:1),new Ia(v*this.r,v*this.g,v*this.b)},du.hsl=function(){return et(this.r,this.g,this.b)},du.toString=function(){return"#"+yr(this.r)+yr(this.g)+yr(this.b)};function yr(v){return v<16?"0"+Math.max(0,v).toString(16):Math.min(255,v).toString(16)}function Wr(v,g,T){var q=0,C=0,L=0,z,P,I;if(z=/([a-z]+)\((.*)\)/.exec(v=v.toLowerCase()),z)switch(P=z[2].split(","),z[1]){case"hsl":return T(parseFloat(P[0]),parseFloat(P[1])/100,parseFloat(P[2])/100);case"rgb":return g(vt(P[0]),vt(P[1]),vt(P[2]))}return(I=_a.get(v))?g(I.r,I.g,I.b):(v!=null&&v.charAt(0)==="#"&&!isNaN(I=parseInt(v.slice(1),16))&&(v.length===4?(q=(I&3840)>>4,q=q>>4|q,C=I&240,C=C>>4|C,L=I&15,L=L<<4|L):v.length===7&&(q=(I&16711680)>>16,C=(I&65280)>>8,L=I&255)),g(q,C,L))}function et(v,g,T){var q=Math.min(v/=255,g/=255,T/=255),C=Math.max(v,g,T),L=C-q,z,P,I=(C+q)/2;return L?(P=I<.5?L/(C+q):L/(2-C-q),v==C?z=(g-T)/L+(g<T?6:0):g==C?z=(T-v)/L+2:z=(v-g)/L+4,z*=60):(z=NaN,P=I>0&&I<1?0:z),new lt(z,P,I)}function or(v,g,T){v=ba(v),g=ba(g),T=ba(T);var q=vc((.4124564*v+.3575761*g+.1804375*T)/Gt),C=vc((.2126729*v+.7151522*g+.072175*T)/Ka),L=vc((.0193339*v+.119192*g+.9503041*T)/Bo);return ea(116*C-16,500*(q-C),200*(C-L))}function ba(v){return(v/=255)<=.04045?v/12.92:Math.pow((v+.055)/1.055,2.4)}function vt(v){var g=parseFloat(v);return v.charAt(v.length-1)==="%"?Math.round(g*2.55):g}var _a=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});_a.forEach(function(v,g){_a.set(v,V0(g))});function Nr(v){return typeof v=="function"?v:function(){return v}}e.functor=Nr,e.xhr=ui(Y);function ui(v){return function(g,T,q){return arguments.length===2&&typeof T=="function"&&(q=T,T=null),Oo(g,T,v,q)}}function Oo(v,g,T,q){var C={},L=e.dispatch("beforesend","progress","load","error"),z={},P=new XMLHttpRequest,I=null;self.XDomainRequest&&!("withCredentials"in P)&&/^(http(s)?:)?\/\//.test(v)&&(P=new XDomainRequest),"onload"in P?P.onload=P.onerror=$:P.onreadystatechange=function(){P.readyState>3&&$()};function $(){var K=P.status,re;if(!K&&hU(P)||K>=200&&K<300||K===304){try{re=T.call(C,P)}catch(te){L.error.call(C,te);return}L.load.call(C,re)}else L.error.call(C,P)}return P.onprogress=function(K){var re=e.event;e.event=K;try{L.progress.call(C,P)}finally{e.event=re}},C.header=function(K,re){return K=(K+"").toLowerCase(),arguments.length<2?z[K]:(re==null?delete z[K]:z[K]=re+"",C)},C.mimeType=function(K){return arguments.length?(g=K==null?null:K+"",C):g},C.responseType=function(K){return arguments.length?(I=K,C):I},C.response=function(K){return T=K,C},["get","post"].forEach(function(K){C[K]=function(){return C.send.apply(C,[K].concat(t(arguments)))}}),C.send=function(K,re,te){if(arguments.length===2&&typeof re=="function"&&(te=re,re=null),P.open(K,v,!0),g!=null&&!("accept"in z)&&(z.accept=g+",*/*"),P.setRequestHeader)for(var ye in z)P.setRequestHeader(ye,z[ye]);return g!=null&&P.overrideMimeType&&P.overrideMimeType(g),I!=null&&(P.responseType=I),te!=null&&C.on("error",te).on("load",function(Ae){te(null,Ae)}),L.beforesend.call(C,P),P.send(re==null?null:re),C},C.abort=function(){return P.abort(),C},e.rebind(C,L,"on"),q==null?C:C.get(vU(q))}function vU(v){return v.length===1?function(g,T){v(g==null?T:null)}:v}function hU(v){var g=v.responseType;return g&&g!=="text"?v.response:v.responseText}e.dsv=function(v,g){var T=new RegExp('["'+v+` ]`),q=v.charCodeAt(0);function C($,K,re){arguments.length<3&&(re=K,K=null);var te=Oo($,g,K==null?L:z(K),re);return te.row=function(ye){return arguments.length?te.response((K=ye)==null?L:z(ye)):K},te}function L($){return C.parse($.responseText)}function z($){return function(K){return C.parse(K.responseText,$)}}C.parse=function($,K){var re;return C.parseRows($,function(te,ye){if(re)return re(te,ye-1);var Ae=function(ae){for(var ue={},ve=te.length,Te=0;Te<ve;++Te)ue[te[Te]]=ae[Te];return ue};re=K?function(ae,ue){return K(Ae(ae),ue)}:Ae})},C.parseRows=function($,K){var re={},te={},ye=[],Ae=$.length,ae=0,ue=0,ve,Te;function Me(){if(ae>=Ae)return te;if(Te)return Te=!1,re;var Ve=ae;if($.charCodeAt(Ve)===34){for(var nr=Ve;nr++<Ae;)if($.charCodeAt(nr)===34){if($.charCodeAt(nr+1)!==34)break;++nr}ae=nr+2;var ur=$.charCodeAt(nr+1);return ur===13?(Te=!0,$.charCodeAt(nr+2)===10&&++ae):ur===10&&(Te=!0),$.slice(Ve+1,nr).replace(/""/g,'"')}for(;ae<Ae;){var ur=$.charCodeAt(ae++),lr=1;if(ur===10)Te=!0;else if(ur===13)Te=!0,$.charCodeAt(ae)===10&&(++ae,++lr);else if(ur!==q)continue;return $.slice(Ve,ae-lr)}return $.slice(Ve)}for(;(ve=Me())!==te;){for(var pe=[];ve!==re&&ve!==te;)pe.push(ve),ve=Me();K&&(pe=K(pe,ue++))==null||ye.push(pe)}return ye},C.format=function($){if(Array.isArray($[0]))return C.formatRows($);var K=new F,re=[];return $.forEach(function(te){for(var ye in te)K.has(ye)||re.push(K.add(ye))}),[re.map(I).join(v)].concat($.map(function(te){return re.map(function(ye){return I(te[ye])}).join(v)})).join(` `)},C.formatRows=function($){return $.map(P).join(` `)};function P($){return $.map(I).join(v)}function I($){return T.test($)?'"'+$.replace(/\"/g,'""')+'"':$}return C},e.csv=e.dsv(",","text/csv"),e.tsv=e.dsv(" ","text/tab-separated-values");var G0,U0,W0,X0,I_=this[V(this,"requestAnimationFrame")]||function(v){setTimeout(v,17)};e.timer=function(){Z0.apply(this,arguments)};function Z0(v,g,T){var q=arguments.length;q<2&&(g=0),q<3&&(T=Date.now());var C=T+g,L={c:v,t:C,n:null};return U0?U0.n=L:G0=L,U0=L,W0||(X0=clearTimeout(X0),W0=1,I_(ny)),L}function ny(){var v=H_(),g=B_()-v;g>24?(isFinite(g)&&(clearTimeout(X0),X0=setTimeout(ny,g)),W0=0):(W0=1,I_(ny))}e.timer.flush=function(){H_(),B_()};function H_(){for(var v=Date.now(),g=G0;g;)v>=g.t&&g.c(v-g.t)&&(g.c=null),g=g.n;return v}function B_(){for(var v,g=G0,T=1/0;g;)g.c?(g.t<T&&(T=g.t),g=(v=g).n):g=v?v.n=g.n:G0=g.n;return U0=v,T}e.round=function(v,g){return g?Math.round(v*(g=Math.pow(10,g)))/g:Math.round(v)},e.geom={};function pu(v){return v[0]}function dc(v){return v[1]}e.geom.hull=function(v){var g=pu,T=dc;if(arguments.length)return q(v);function q(C){if(C.length<3)return[];var L=Nr(g),z=Nr(T),P,I=C.length,$=[],K=[];for(P=0;P<I;P++)$.push([+L.call(this,C[P],P),+z.call(this,C[P],P),P]);for($.sort(dU),P=0;P<I;P++)K.push([$[P][0],-$[P][1]]);var re=O_($),te=O_(K),ye=te[0]===re[0],Ae=te[te.length-1]===re[re.length-1],ae=[];for(P=re.length-1;P>=0;--P)ae.push(C[$[re[P]][2]]);for(P=+ye;P<te.length-Ae;++P)ae.push(C[$[te[P]][2]]);return ae}return q.x=function(C){return arguments.length?(g=C,q):g},q.y=function(C){return arguments.length?(T=C,q):T},q};function O_(v){for(var g=v.length,T=[0,1],q=2,C=2;C<g;C++){for(;q>1&&ft(v[T[q-2]],v[T[q-1]],v[C])<=0;)--q;T[q++]=C}return T.slice(0,q)}function dU(v,g){return v[0]-g[0]||v[1]-g[1]}e.geom.polygon=function(v){return Q(v,J0),v};var J0=e.geom.polygon.prototype=[];J0.area=function(){for(var v=-1,g=this.length,T,q=this[g-1],C=0;++v<g;)T=q,q=this[v],C+=T[1]*q[0]-T[0]*q[1];return C*.5},J0.centroid=function(v){var g=-1,T=this.length,q=0,C=0,L,z=this[T-1],P;for(arguments.length||(v=-1/(6*this.area()));++g<T;)L=z,z=this[g],P=L[0]*z[1]-z[0]*L[1],q+=(L[0]+z[0])*P,C+=(L[1]+z[1])*P;return[q*v,C*v]},J0.clip=function(v){for(var g,T=Y_(v),q=-1,C=this.length-Y_(this),L,z,P=this[C-1],I,$,K;++q<C;){for(g=v.slice(),v.length=0,I=this[q],$=g[(z=g.length-T)-1],L=-1;++L<z;)K=g[L],iy(K,P,I)?(iy($,P,I)||v.push(ly($,K,P,I)),v.push(K)):iy($,P,I)&&v.push(ly($,K,P,I)),$=K;T&&v.push(v[0]),P=I}return v};function iy(v,g,T){return(T[0]-g[0])*(v[1]-g[1])<(T[1]-g[1])*(v[0]-g[0])}function ly(v,g,T,q){var C=v[0],L=T[0],z=g[0]-C,P=q[0]-L,I=v[1],$=T[1],K=g[1]-I,re=q[1]-$,te=(P*(I-$)-re*(C-L))/(re*z-P*K);return[C+te*z,I+te*K]}function Y_(v){var g=v[0],T=v[v.length-1];return!(g[0]-T[0]||g[1]-T[1])}var mu,Yo,yu,V_=[],oy,pc,G_=[];function pU(){Q0(this),this.edge=this.site=this.circle=null}function U_(v){var g=V_.pop()||new pU;return g.site=v,g}function sy(v){xu(v),yu.remove(v),V_.push(v),Q0(v)}function mU(v){var g=v.circle,T=g.x,q=g.cy,C={x:T,y:q},L=v.P,z=v.N,P=[v];sy(v);for(var I=L;I.circle&&b(T-I.circle.x)<se&&b(q-I.circle.cy)<se;)L=I.P,P.unshift(I),sy(I),I=L;P.unshift(I),xu(I);for(var $=z;$.circle&&b(T-$.circle.x)<se&&b(q-$.circle.cy)<se;)z=$.N,P.push($),sy($),$=z;P.push($),xu($);var K=P.length,re;for(re=1;re<K;++re)$=P[re],I=P[re-1],$0($.edge,I.site,$.site,C);I=P[0],$=P[K-1],$.edge=mc(I.site,$.site,null,C),gu(I),gu($)}function yU(v){for(var g=v.x,T=v.y,q,C,L,z,P=yu._;P;)if(L=W_(P,T)-g,L>se)P=P.L;else if(z=g-gU(P,T),z>se){if(!P.R){q=P;break}P=P.R}else{L>-se?(q=P.P,C=P):z>-se?(q=P,C=P.N):q=C=P;break}var I=U_(v);if(yu.insert(q,I),!(!q&&!C)){if(q===C){xu(q),C=U_(q.site),yu.insert(I,C),I.edge=C.edge=mc(q.site,I.site),gu(q),gu(C);return}if(!C){I.edge=mc(q.site,I.site);return}xu(q),xu(C);var $=q.site,K=$.x,re=$.y,te=v.x-K,ye=v.y-re,Ae=C.site,ae=Ae.x-K,ue=Ae.y-re,ve=2*(te*ue-ye*ae),Te=te*te+ye*ye,Me=ae*ae+ue*ue,pe={x:(ue*Te-ye*Me)/ve+K,y:(te*Me-ae*Te)/ve+re};$0(C.edge,$,Ae,pe),I.edge=mc($,v,null,pe),C.edge=mc(v,Ae,null,pe),gu(q),gu(C)}}function W_(v,g){var T=v.site,q=T.x,C=T.y,L=C-g;if(!L)return q;var z=v.P;if(!z)return-1/0;T=z.site;var P=T.x,I=T.y,$=I-g;if(!$)return P;var K=P-q,re=1/L-1/$,te=K/$;return re?(-te+Math.sqrt(te*te-2*re*(K*K/(-2*$)-I+$/2+C-L/2)))/re+q:(q+P)/2}function gU(v,g){var T=v.N;if(T)return W_(T,g);var q=v.site;return q.y===g?q.x:1/0}function X_(v){this.site=v,this.edges=[]}X_.prototype.prepare=function(){for(var v=this.edges,g=v.length,T;g--;)T=v[g].edge,(!T.b||!T.a)&&v.splice(g,1);return v.sort(Z_),v.length};function xU(v){for(var g=v[0][0],T=v[1][0],q=v[0][1],C=v[1][1],L,z,P,I,$=Yo,K=$.length,re,te,ye,Ae,ae,ue;K--;)if(re=$[K],!(!re||!re.prepare()))for(ye=re.edges,Ae=ye.length,te=0;te<Ae;)ue=ye[te].end(),P=ue.x,I=ue.y,ae=ye[++te%Ae].start(),L=ae.x,z=ae.y,(b(P-L)>se||b(I-z)>se)&&(ye.splice(te,0,new K0(AU(re.site,ue,b(P-g)<se&&C-I>se?{x:g,y:b(L-g)<se?z:C}:b(I-C)<se&&T-P>se?{x:b(z-C)<se?L:T,y:C}:b(P-T)<se&&I-q>se?{x:T,y:b(L-T)<se?z:q}:b(I-q)<se&&P-g>se?{x:b(z-q)<se?L:g,y:q}:null),re.site,null)),++Ae)}function Z_(v,g){return g.angle-v.angle}function bU(){Q0(this),this.x=this.y=this.arc=this.site=this.cy=null}function gu(v){var g=v.P,T=v.N;if(!(!g||!T)){var q=g.site,C=v.site,L=T.site;if(q!==L){var z=C.x,P=C.y,I=q.x-z,$=q.y-P,K=L.x-z,ue=L.y-P,re=2*(I*ue-$*K);if(!(re>=-Le)){var te=I*I+$*$,ye=K*K+ue*ue,Ae=(ue*te-$*ye)/re,ae=(I*ye-K*te)/re,ue=ae+P,ve=G_.pop()||new bU;ve.arc=v,ve.site=C,ve.x=Ae+z,ve.y=ue+Math.sqrt(Ae*Ae+ae*ae),ve.cy=ue,v.circle=ve;for(var Te=null,Me=pc._;Me;)if(ve.y<Me.y||ve.y===Me.y&&ve.x<=Me.x)if(Me.L)Me=Me.L;else{Te=Me.P;break}else if(Me.R)Me=Me.R;else{Te=Me;break}pc.insert(Te,ve),Te||(oy=ve)}}}}function xu(v){var g=v.circle;g&&(g.P||(oy=g.N),pc.remove(g),G_.push(g),Q0(g),v.circle=null)}function _U(v,g,T,q){return function(C){var L=C.a,z=C.b,P=L.x,I=L.y,$=z.x,K=z.y,re=0,te=1,ye=$-P,Ae=K-I,ae;if(ae=v-P,!(!ye&&ae>0)){if(ae/=ye,ye<0){if(ae<re)return;ae<te&&(te=ae)}else if(ye>0){if(ae>te)return;ae>re&&(re=ae)}if(ae=T-P,!(!ye&&ae<0)){if(ae/=ye,ye<0){if(ae>te)return;ae>re&&(re=ae)}else if(ye>0){if(ae<re)return;ae<te&&(te=ae)}if(ae=g-I,!(!Ae&&ae>0)){if(ae/=Ae,Ae<0){if(ae<re)return;ae<te&&(te=ae)}else if(Ae>0){if(ae>te)return;ae>re&&(re=ae)}if(ae=q-I,!(!Ae&&ae<0)){if(ae/=Ae,Ae<0){if(ae>te)return;ae>re&&(re=ae)}else if(Ae>0){if(ae<re)return;ae<te&&(te=ae)}return re>0&&(C.a={x:P+re*ye,y:I+re*Ae}),te<1&&(C.b={x:P+te*ye,y:I+te*Ae}),C}}}}}}function wU(v){for(var g=mu,T=_U(v[0][0],v[0][1],v[1][0],v[1][1]),q=g.length,C;q--;)C=g[q],(!TU(C,v)||!T(C)||b(C.a.x-C.b.x)<se&&b(C.a.y-C.b.y)<se)&&(C.a=C.b=null,g.splice(q,1))}function TU(v,g){var T=v.b;if(T)return!0;var q=v.a,C=g[0][0],L=g[1][0],z=g[0][1],P=g[1][1],I=v.l,$=v.r,K=I.x,re=I.y,te=$.x,ye=$.y,Ae=(K+te)/2,ae=(re+ye)/2,ue,ve;if(ye===re){if(Ae<C||Ae>=L)return;if(K>te){if(!q)q={x:Ae,y:z};else if(q.y>=P)return;T={x:Ae,y:P}}else{if(!q)q={x:Ae,y:P};else if(q.y<z)return;T={x:Ae,y:z}}}else if(ue=(K-te)/(ye-re),ve=ae-ue*Ae,ue<-1||ue>1)if(K>te){if(!q)q={x:(z-ve)/ue,y:z};else if(q.y>=P)return;T={x:(P-ve)/ue,y:P}}else{if(!q)q={x:(P-ve)/ue,y:P};else if(q.y<z)return;T={x:(z-ve)/ue,y:z}}else if(re<ye){if(!q)q={x:C,y:ue*C+ve};else if(q.x>=L)return;T={x:L,y:ue*L+ve}}else{if(!q)q={x:L,y:ue*L+ve};else if(q.x<C)return;T={x:C,y:ue*C+ve}}return v.a=q,v.b=T,!0}function J_(v,g){this.l=v,this.r=g,this.a=this.b=null}function mc(v,g,T,q){var C=new J_(v,g);return mu.push(C),T&&$0(C,v,g,T),q&&$0(C,g,v,q),Yo[v.i].edges.push(new K0(C,v,g)),Yo[g.i].edges.push(new K0(C,g,v)),C}function AU(v,g,T){var q=new J_(v,null);return q.a=g,q.b=T,mu.push(q),q}function $0(v,g,T,q){!v.a&&!v.b?(v.a=q,v.l=g,v.r=T):v.l===T?v.b=q:v.a=q}function K0(v,g,T){var q=v.a,C=v.b;this.edge=v,this.site=g,this.angle=T?Math.atan2(T.y-g.y,T.x-g.x):v.l===g?Math.atan2(C.x-q.x,q.y-C.y):Math.atan2(q.x-C.x,C.y-q.y)}K0.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 uy(){this._=null}function Q0(v){v.U=v.C=v.L=v.R=v.P=v.N=null}uy.prototype={insert:function(v,g){var T,q,C;if(v){if(g.P=v,g.N=v.N,v.N&&(v.N.P=g),v.N=g,v.R){for(v=v.R;v.L;)v=v.L;v.L=g}else v.R=g;T=v}else this._?(v=$_(this._),g.P=null,g.N=v,v.P=v.L=g,T=v):(g.P=g.N=null,this._=g,T=null);for(g.L=g.R=null,g.U=T,g.C=!0,v=g;T&&T.C;)q=T.U,T===q.L?(C=q.R,C&&C.C?(T.C=C.C=!1,q.C=!0,v=q):(v===T.R&&(yc(this,T),v=T,T=v.U),T.C=!1,q.C=!0,gc(this,q))):(C=q.L,C&&C.C?(T.C=C.C=!1,q.C=!0,v=q):(v===T.L&&(gc(this,T),v=T,T=v.U),T.C=!1,q.C=!0,yc(this,q))),T=v.U;this._.C=!1},remove:function(v){v.N&&(v.N.P=v.P),v.P&&(v.P.N=v.N),v.N=v.P=null;var g=v.U,T,q=v.L,C=v.R,L,z;if(q?C?L=$_(C):L=q:L=C,g?g.L===v?g.L=L:g.R=L:this._=L,q&&C?(z=L.C,L.C=v.C,L.L=q,q.U=L,L!==C?(g=L.U,L.U=v.U,v=L.R,g.L=v,L.R=C,C.U=L):(L.U=g,g=L,v=L.R)):(z=v.C,v=L),v&&(v.U=g),!z){if(v&&v.C){v.C=!1;return}do{if(v===this._)break;if(v===g.L){if(T=g.R,T.C&&(T.C=!1,g.C=!0,yc(this,g),T=g.R),T.L&&T.L.C||T.R