UNPKG

plotly.js

Version:

The open source javascript graphing library that powers plotly

18 lines 1.68 MB
/** * plotly.js (gl3d - 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 NB=Object.defineProperty,zB=Object.defineProperties;var qB=Object.getOwnPropertyDescriptors;var db=Object.getOwnPropertySymbols;var OB=Object.prototype.hasOwnProperty,BB=Object.prototype.propertyIsEnumerable;var pb=(e,r,t)=>r in e?NB(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,Cl=(e,r)=>{for(var t in r||(r={}))OB.call(r,t)&&pb(e,t,r[t]);if(db)for(var t of db(r))BB.call(r,t)&&pb(e,t,r[t]);return e},Cc=(e,r)=>zB(e,qB(r));var be=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var Ec=be(gb=>{"use strict";gb.version="3.5.0"});var mb=be((yb,Lc)=>{(function(r,t,n){t[r]=t[r]||n(),typeof Lc!="undefined"&&Lc.exports&&(Lc.exports=t[r])})("Promise",typeof window!="undefined"?window:yb,function(){"use strict";var r,t,n,a=Object.prototype.toString,o=typeof setImmediate!="undefined"?function(k){return setImmediate(k)}:setTimeout;try{Object.defineProperty({},"x",{}),r=function(k,S,x,M){return Object.defineProperty(k,S,{value:x,writable:!0,configurable:M!==!1})}}catch(m){r=function(S,x,M){return S[x]=M,S}}n=function(){var k,S,x;function M(v,w){this.fn=v,this.self=w,this.next=void 0}return{add:function(w,g){x=new M(w,g),S?S.next=x:k=x,S=x,x=void 0},drain:function(){var w=k;for(k=S=t=void 0;w;)w.fn.call(w.self),w=w.next}}}();function i(m,k){n.add(m,k),t||(t=o(n.drain))}function l(m){var k,S=typeof m;return m!=null&&(S=="object"||S=="function")&&(k=m.then),typeof k=="function"?k:!1}function u(){for(var m=0;m<this.chain.length;m++)s(this,this.state===1?this.chain[m].success:this.chain[m].failure,this.chain[m]);this.chain.length=0}function s(m,k,S){var x,M;try{k===!1?S.reject(m.msg):(k===!0?x=m.msg:x=k.call(void 0,m.msg),x===S.promise?S.reject(TypeError("Promise-chain cycle")):(M=l(x))?M.call(x,S.resolve,S.reject):S.resolve(x))}catch(v){S.reject(v)}}function f(m){var k,S=this;if(!S.triggered){S.triggered=!0,S.def&&(S=S.def);try{(k=l(m))?i(function(){var x=new _(S);try{k.call(m,function(){f.apply(x,arguments)},function(){h.apply(x,arguments)})}catch(M){h.call(x,M)}}):(S.msg=m,S.state=1,S.chain.length>0&&i(u,S))}catch(x){h.call(new _(S),x)}}}function h(m){var k=this;k.triggered||(k.triggered=!0,k.def&&(k=k.def),k.msg=m,k.state=2,k.chain.length>0&&i(u,k))}function p(m,k,S,x){for(var M=0;M<k.length;M++)(function(w){m.resolve(k[w]).then(function(c){S(w,c)},x)})(M)}function _(m){this.def=m,this.triggered=!1}function y(m){this.promise=m,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function b(m){if(typeof m!="function")throw TypeError("Not a function");if(this.__NPO__!==0)throw TypeError("Not a promise");this.__NPO__=1;var k=new y(this);this.then=function(x,M){var v={success:typeof x=="function"?x:!0,failure:typeof M=="function"?M:!1};return v.promise=new this.constructor(function(g,c){if(typeof g!="function"||typeof c!="function")throw TypeError("Not a function");v.resolve=g,v.reject=c}),k.chain.push(v),k.state!==0&&i(u,k),v.promise},this.catch=function(x){return this.then(void 0,x)};try{m.call(void 0,function(x){f.call(k,x)},function(x){h.call(k,x)})}catch(S){h.call(k,S)}}var T=r({},"constructor",b,!1);return b.prototype=T,r(T,"__NPO__",0,!1),r(b,"resolve",function(k){var S=this;return k&&typeof k=="object"&&k.__NPO__===1?k:new S(function(M,v){if(typeof M!="function"||typeof v!="function")throw TypeError("Not a function");M(k)})}),r(b,"reject",function(k){return new this(function(x,M){if(typeof x!="function"||typeof M!="function")throw TypeError("Not a function");M(k)})}),r(b,"all",function(k){var S=this;return a.call(k)!="[object Array]"?S.reject(TypeError("Not an array")):k.length===0?S.resolve([]):new S(function(M,v){if(typeof M!="function"||typeof v!="function")throw TypeError("Not a function");var w=k.length,g=Array(w),c=0;p(S,k,function(d,D){g[d]=D,++c===w&&M(g)},v)})}),r(b,"race",function(k){var S=this;return a.call(k)!="[object Array]"?S.reject(TypeError("Not an array")):new S(function(M,v){if(typeof M!="function"||typeof v!="function")throw TypeError("Not a function");p(S,k,function(g,c){M(c)},v)})}),b})});var ot=be((ffe,Dc)=>{(function(){var e={version:"3.8.2"},r=[].slice,t=function(C){return r.call(C)},n=self.document;function a(C){return C&&(C.ownerDocument||C.document||C).documentElement}function o(C){return C&&(C.ownerDocument&&C.ownerDocument.defaultView||C.document&&C||C.defaultView)}if(n)try{t(n.documentElement.childNodes)[0].nodeType}catch(C){t=function(z){for(var B=z.length,G=new Array(B);B--;)G[B]=z[B];return G}}if(Date.now||(Date.now=function(){return+new Date}),n)try{n.createElement("DIV").style.setProperty("opacity",0,"")}catch(C){var i=this.Element.prototype,l=i.setAttribute,u=i.setAttributeNS,s=this.CSSStyleDeclaration.prototype,f=s.setProperty;i.setAttribute=function(z,B){l.call(this,z,B+"")},i.setAttributeNS=function(z,B,G){u.call(this,z,B,G+"")},s.setProperty=function(z,B,G){f.call(this,z,B+"",G)}}e.ascending=h;function h(C,z){return C<z?-1:C>z?1:C>=z?0:NaN}e.descending=function(C,z){return z<C?-1:z>C?1:z>=C?0:NaN},e.min=function(C,z){var B=-1,G=C.length,W,J;if(arguments.length===1){for(;++B<G;)if((J=C[B])!=null&&J>=J){W=J;break}for(;++B<G;)(J=C[B])!=null&&W>J&&(W=J)}else{for(;++B<G;)if((J=z.call(C,C[B],B))!=null&&J>=J){W=J;break}for(;++B<G;)(J=z.call(C,C[B],B))!=null&&W>J&&(W=J)}return W},e.max=function(C,z){var B=-1,G=C.length,W,J;if(arguments.length===1){for(;++B<G;)if((J=C[B])!=null&&J>=J){W=J;break}for(;++B<G;)(J=C[B])!=null&&J>W&&(W=J)}else{for(;++B<G;)if((J=z.call(C,C[B],B))!=null&&J>=J){W=J;break}for(;++B<G;)(J=z.call(C,C[B],B))!=null&&J>W&&(W=J)}return W},e.extent=function(C,z){var B=-1,G=C.length,W,J,fe;if(arguments.length===1){for(;++B<G;)if((J=C[B])!=null&&J>=J){W=fe=J;break}for(;++B<G;)(J=C[B])!=null&&(W>J&&(W=J),fe<J&&(fe=J))}else{for(;++B<G;)if((J=z.call(C,C[B],B))!=null&&J>=J){W=fe=J;break}for(;++B<G;)(J=z.call(C,C[B],B))!=null&&(W>J&&(W=J),fe<J&&(fe=J))}return[W,fe]};function p(C){return C===null?NaN:+C}function _(C){return!isNaN(C)}e.sum=function(C,z){var B=0,G=C.length,W,J=-1;if(arguments.length===1)for(;++J<G;)_(W=+C[J])&&(B+=W);else for(;++J<G;)_(W=+z.call(C,C[J],J))&&(B+=W);return B},e.mean=function(C,z){var B=0,G=C.length,W,J=-1,fe=G;if(arguments.length===1)for(;++J<G;)_(W=p(C[J]))?B+=W:--fe;else for(;++J<G;)_(W=p(z.call(C,C[J],J)))?B+=W:--fe;if(fe)return B/fe},e.quantile=function(C,z){var B=(C.length-1)*z+1,G=Math.floor(B),W=+C[G-1],J=B-G;return J?W+J*(C[G]-W):W},e.median=function(C,z){var B=[],G=C.length,W,J=-1;if(arguments.length===1)for(;++J<G;)_(W=p(C[J]))&&B.push(W);else for(;++J<G;)_(W=p(z.call(C,C[J],J)))&&B.push(W);if(B.length)return e.quantile(B.sort(h),.5)},e.variance=function(C,z){var B=C.length,G=0,W,J,fe=0,le=-1,he=0;if(arguments.length===1)for(;++le<B;)_(W=p(C[le]))&&(J=W-G,G+=J/++he,fe+=J*(W-G));else for(;++le<B;)_(W=p(z.call(C,C[le],le)))&&(J=W-G,G+=J/++he,fe+=J*(W-G));if(he>1)return fe/(he-1)},e.deviation=function(){var C=e.variance.apply(this,arguments);return C&&Math.sqrt(C)};function y(C){return{left:function(z,B,G,W){for(arguments.length<3&&(G=0),arguments.length<4&&(W=z.length);G<W;){var J=G+W>>>1;C(z[J],B)<0?G=J+1:W=J}return G},right:function(z,B,G,W){for(arguments.length<3&&(G=0),arguments.length<4&&(W=z.length);G<W;){var J=G+W>>>1;C(z[J],B)>0?W=J:G=J+1}return G}}}var b=y(h);e.bisectLeft=b.left,e.bisect=e.bisectRight=b.right,e.bisector=function(C){return y(C.length===1?function(z,B){return h(C(z),B)}:C)},e.shuffle=function(C,z,B){(G=arguments.length)<3&&(B=C.length,G<2&&(z=0));for(var G=B-z,W,J;G;)J=Math.random()*G--|0,W=C[G+z],C[G+z]=C[J+z],C[J+z]=W;return C},e.permute=function(C,z){for(var B=z.length,G=new Array(B);B--;)G[B]=C[z[B]];return G},e.pairs=function(C){for(var z=0,B=C.length-1,G,W=C[0],J=new Array(B<0?0:B);z<B;)J[z]=[G=W,W=C[++z]];return J},e.transpose=function(C){if(!(J=C.length))return[];for(var z=-1,B=e.min(C,T),G=new Array(B);++z<B;)for(var W=-1,J,fe=G[z]=new Array(J);++W<J;)fe[W]=C[W][z];return G};function T(C){return C.length}e.zip=function(){return e.transpose(arguments)},e.keys=function(C){var z=[];for(var B in C)z.push(B);return z},e.values=function(C){var z=[];for(var B in C)z.push(C[B]);return z},e.entries=function(C){var z=[];for(var B in C)z.push({key:B,value:C[B]});return z},e.merge=function(C){for(var z=C.length,B,G=-1,W=0,J,fe;++G<z;)W+=C[G].length;for(J=new Array(W);--z>=0;)for(fe=C[z],B=fe.length;--B>=0;)J[--W]=fe[B];return J};var m=Math.abs;e.range=function(C,z,B){if(arguments.length<3&&(B=1,arguments.length<2&&(z=C,C=0)),(z-C)/B===1/0)throw new Error("infinite range");var G=[],W=k(m(B)),J=-1,fe;if(C*=W,z*=W,B*=W,B<0)for(;(fe=C+B*++J)>z;)G.push(fe/W);else for(;(fe=C+B*++J)<z;)G.push(fe/W);return G};function k(C){for(var z=1;C*z%1;)z*=10;return z}function S(C,z){for(var B in z)Object.defineProperty(C.prototype,B,{value:z[B],enumerable:!1})}e.map=function(C,z){var B=new x;if(C instanceof x)C.forEach(function(le,he){B.set(le,he)});else if(Array.isArray(C)){var G=-1,W=C.length,J;if(arguments.length===1)for(;++G<W;)B.set(G,C[G]);else for(;++G<W;)B.set(z.call(C,J=C[G],G),J)}else for(var fe in C)B.set(fe,C[fe]);return B};function x(){this._=Object.create(null)}var M="__proto__",v="\0";S(x,{has:c,get:function(C){return this._[w(C)]},set:function(C,z){return this._[w(C)]=z},remove:A,keys:d,values:function(){var C=[];for(var z in this._)C.push(this._[z]);return C},entries:function(){var C=[];for(var z in this._)C.push({key:g(z),value:this._[z]});return C},size:D,empty:E,forEach:function(C){for(var z in this._)C.call(this,g(z),this._[z])}});function w(C){return(C+="")===M||C[0]===v?v+C:C}function g(C){return(C+="")[0]===v?C.slice(1):C}function c(C){return w(C)in this._}function A(C){return(C=w(C))in this._&&delete this._[C]}function d(){var C=[];for(var z in this._)C.push(g(z));return C}function D(){var C=0;for(var z in this._)++C;return C}function E(){for(var C in this._)return!1;return!0}e.nest=function(){var C={},z=[],B=[],G,W;function J(le,he,we){if(we>=z.length)return W?W.call(C,he):G?he.sort(G):he;for(var Me=-1,De=he.length,Re=z[we++],Ge,Je,Ne,qe=new x,Ue;++Me<De;)(Ue=qe.get(Ge=Re(Je=he[Me])))?Ue.push(Je):qe.set(Ge,[Je]);return le?(Je=le(),Ne=function(Ze,Ke){Je.set(Ze,J(le,Ke,we))}):(Je={},Ne=function(Ze,Ke){Je[Ze]=J(le,Ke,we)}),qe.forEach(Ne),Je}function fe(le,he){if(he>=z.length)return le;var we=[],Me=B[he++];return le.forEach(function(De,Re){we.push({key:De,values:fe(Re,he)})}),Me?we.sort(function(De,Re){return Me(De.key,Re.key)}):we}return C.map=function(le,he){return J(he,le,0)},C.entries=function(le){return fe(J(e.map,le,0),0)},C.key=function(le){return z.push(le),C},C.sortKeys=function(le){return B[z.length-1]=le,C},C.sortValues=function(le){return G=le,C},C.rollup=function(le){return W=le,C},C},e.set=function(C){var z=new R;if(C)for(var B=0,G=C.length;B<G;++B)z.add(C[B]);return z};function R(){this._=Object.create(null)}S(R,{has:c,add:function(C){return this._[w(C+="")]=!0,C},remove:A,values:d,size:D,empty:E,forEach:function(C){for(var z in this._)C.call(this,g(z))}}),e.behavior={};function N(C){return C}e.rebind=function(C,z){for(var B=1,G=arguments.length,W;++B<G;)C[W=arguments[B]]=I(C,z,z[W]);return C};function I(C,z,B){return function(){var G=B.apply(z,arguments);return G===z?C:G}}function F(C,z){if(z in C)return z;z=z.charAt(0).toUpperCase()+z.slice(1);for(var B=0,G=L.length;B<G;++B){var W=L[B]+z;if(W in C)return W}}var L=["webkit","ms","moz","Moz","o","O"];function P(){}e.dispatch=function(){for(var C=new O,z=-1,B=arguments.length;++z<B;)C[arguments[z]]=U(C);return C};function O(){}O.prototype.on=function(C,z){var B=C.indexOf("."),G="";if(B>=0&&(G=C.slice(B+1),C=C.slice(0,B)),C)return arguments.length<2?this[C].on(G):this[C].on(G,z);if(arguments.length===2){if(z==null)for(C in this)this.hasOwnProperty(C)&&this[C].on(G,null);return this}};function U(C){var z=[],B=new x;function G(){for(var W=z,J=-1,fe=W.length,le;++J<fe;)(le=W[J].on)&&le.apply(this,arguments);return C}return G.on=function(W,J){var fe=B.get(W),le;return arguments.length<2?fe&&fe.on:(fe&&(fe.on=null,z=z.slice(0,le=z.indexOf(fe)).concat(z.slice(le+1)),B.remove(W)),J&&z.push(B.set(W,{on:J})),C)},G}e.event=null;function X(){e.event.preventDefault()}function $(){for(var C=e.event,z;z=C.sourceEvent;)C=z;return C}function j(C){for(var z=new O,B=0,G=arguments.length;++B<G;)z[arguments[B]]=U(z);return z.of=function(W,J){return function(fe){try{var le=fe.sourceEvent=e.event;fe.target=C,e.event=fe,z[fe.type].apply(W,J)}finally{e.event=le}}},z}e.requote=function(C){return C.replace(Y,"\\$&")};var Y=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,q={}.__proto__?function(C,z){C.__proto__=z}:function(C,z){for(var B in z)C[B]=z[B]};function Q(C){return q(C,re),C}var oe=function(C,z){return z.querySelector(C)},Z=function(C,z){return z.querySelectorAll(C)},se=function(C,z){var B=C.matches||C[F(C,"matchesSelector")];return se=function(G,W){return B.call(G,W)},se(C,z)};typeof Sizzle=="function"&&(oe=function(C,z){return Sizzle(C,z)[0]||null},Z=Sizzle,se=Sizzle.matchesSelector),e.selection=function(){return e.select(n.documentElement)};var re=e.selection.prototype=[];re.select=function(C){var z=[],B,G,W,J;C=H(C);for(var fe=-1,le=this.length;++fe<le;){z.push(B=[]),B.parentNode=(W=this[fe]).parentNode;for(var he=-1,we=W.length;++he<we;)(J=W[he])?(B.push(G=C.call(J,J.__data__,he,fe)),G&&"__data__"in J&&(G.__data__=J.__data__)):B.push(null)}return Q(z)};function H(C){return typeof C=="function"?C:function(){return oe(C,this)}}re.selectAll=function(C){var z=[],B,G;C=ee(C);for(var W=-1,J=this.length;++W<J;)for(var fe=this[W],le=-1,he=fe.length;++le<he;)(G=fe[le])&&(z.push(B=t(C.call(G,G.__data__,le,W))),B.parentNode=G);return Q(z)};function ee(C){return typeof C=="function"?C:function(){return Z(C,this)}}var V="http://www.w3.org/1999/xhtml",ne={svg:"http://www.w3.org/2000/svg",xhtml:V,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:ne,qualify:function(C){var z=C.indexOf(":"),B=C;return z>=0&&(B=C.slice(0,z))!=="xmlns"&&(C=C.slice(z+1)),ne.hasOwnProperty(B)?{space:ne[B],local:C}:C}},re.attr=function(C,z){if(arguments.length<2){if(typeof C=="string"){var B=this.node();return C=e.ns.qualify(C),C.local?B.getAttributeNS(C.space,C.local):B.getAttribute(C)}for(z in C)this.each(ue(z,C[z]));return this}return this.each(ue(C,z))};function ue(C,z){C=e.ns.qualify(C);function B(){this.removeAttribute(C)}function G(){this.removeAttributeNS(C.space,C.local)}function W(){this.setAttribute(C,z)}function J(){this.setAttributeNS(C.space,C.local,z)}function fe(){var he=z.apply(this,arguments);he==null?this.removeAttribute(C):this.setAttribute(C,he)}function le(){var he=z.apply(this,arguments);he==null?this.removeAttributeNS(C.space,C.local):this.setAttributeNS(C.space,C.local,he)}return z==null?C.local?G:B:typeof z=="function"?C.local?le:fe:C.local?J:W}function ye(C){return C.trim().replace(/\s+/g," ")}re.classed=function(C,z){if(arguments.length<2){if(typeof C=="string"){var B=this.node(),G=(C=Te(C)).length,W=-1;if(z=B.classList){for(;++W<G;)if(!z.contains(C[W]))return!1}else for(z=B.getAttribute("class");++W<G;)if(!Ae(C[W]).test(z))return!1;return!0}for(z in C)this.each(ge(z,C[z]));return this}return this.each(ge(C,z))};function Ae(C){return new RegExp("(?:^|\\s+)"+e.requote(C)+"(?:\\s+|$)","g")}function Te(C){return(C+"").trim().split(/^|\s+/)}function ge(C,z){C=Te(C).map(Ce);var B=C.length;function G(){for(var J=-1;++J<B;)C[J](this,z)}function W(){for(var J=-1,fe=z.apply(this,arguments);++J<B;)C[J](this,fe)}return typeof z=="function"?W:G}function Ce(C){var z=Ae(C);return function(B,G){if(W=B.classList)return G?W.add(C):W.remove(C);var W=B.getAttribute("class")||"";G?(z.lastIndex=0,z.test(W)||B.setAttribute("class",ye(W+" "+C))):B.setAttribute("class",ye(W.replace(z," ")))}}re.style=function(C,z,B){var G=arguments.length;if(G<3){if(typeof C!="string"){G<2&&(z="");for(B in C)this.each(Ee(B,C[B],z));return this}if(G<2){var W=this.node();return o(W).getComputedStyle(W,null).getPropertyValue(C)}B=""}return this.each(Ee(C,z,B))};function Ee(C,z,B){function G(){this.style.removeProperty(C)}function W(){this.style.setProperty(C,z,B)}function J(){var fe=z.apply(this,arguments);fe==null?this.style.removeProperty(C):this.style.setProperty(C,fe,B)}return z==null?G:typeof z=="function"?J:W}re.property=function(C,z){if(arguments.length<2){if(typeof C=="string")return this.node()[C];for(z in C)this.each(Fe(z,C[z]));return this}return this.each(Fe(C,z))};function Fe(C,z){function B(){delete this[C]}function G(){this[C]=z}function W(){var J=z.apply(this,arguments);J==null?delete this[C]:this[C]=J}return z==null?B:typeof z=="function"?W:G}re.text=function(C){return arguments.length?this.each(typeof C=="function"?function(){var z=C.apply(this,arguments);this.textContent=z==null?"":z}:C==null?function(){this.textContent=""}:function(){this.textContent=C}):this.node().textContent},re.html=function(C){return arguments.length?this.each(typeof C=="function"?function(){var z=C.apply(this,arguments);this.innerHTML=z==null?"":z}:C==null?function(){this.innerHTML=""}:function(){this.innerHTML=C}):this.node().innerHTML},re.append=function(C){return C=ie(C),this.select(function(){return this.appendChild(C.apply(this,arguments))})};function ie(C){function z(){var G=this.ownerDocument,W=this.namespaceURI;return W===V&&G.documentElement.namespaceURI===V?G.createElement(C):G.createElementNS(W,C)}function B(){return this.ownerDocument.createElementNS(C.space,C.local)}return typeof C=="function"?C:(C=e.ns.qualify(C)).local?B:z}re.insert=function(C,z){return C=ie(C),z=H(z),this.select(function(){return this.insertBefore(C.apply(this,arguments),z.apply(this,arguments)||null)})},re.remove=function(){return this.each(K)};function K(){var C=this.parentNode;C&&C.removeChild(this)}re.data=function(C,z){var B=-1,G=this.length,W,J;if(!arguments.length){for(C=new Array(G=(W=this[0]).length);++B<G;)(J=W[B])&&(C[B]=J.__data__);return C}function fe(Me,De){var Re,Ge=Me.length,Je=De.length,Ne=Math.min(Ge,Je),qe=new Array(Je),Ue=new Array(Je),Ze=new Array(Ge),Ke,Ve;if(z){var tr=new x,fr=new Array(Ge),vr;for(Re=-1;++Re<Ge;)(Ke=Me[Re])&&(tr.has(vr=z.call(Ke,Ke.__data__,Re))?Ze[Re]=Ke:tr.set(vr,Ke),fr[Re]=vr);for(Re=-1;++Re<Je;)(Ke=tr.get(vr=z.call(De,Ve=De[Re],Re)))?Ke!==!0&&(qe[Re]=Ke,Ke.__data__=Ve):Ue[Re]=te(Ve),tr.set(vr,!0);for(Re=-1;++Re<Ge;)Re in fr&&tr.get(fr[Re])!==!0&&(Ze[Re]=Me[Re])}else{for(Re=-1;++Re<Ne;)Ke=Me[Re],Ve=De[Re],Ke?(Ke.__data__=Ve,qe[Re]=Ke):Ue[Re]=te(Ve);for(;Re<Je;++Re)Ue[Re]=te(De[Re]);for(;Re<Ge;++Re)Ze[Re]=Me[Re]}Ue.update=qe,Ue.parentNode=qe.parentNode=Ze.parentNode=Me.parentNode,le.push(Ue),he.push(qe),we.push(Ze)}var le=ve([]),he=Q([]),we=Q([]);if(typeof C=="function")for(;++B<G;)fe(W=this[B],C.call(W,W.parentNode.__data__,B));else for(;++B<G;)fe(W=this[B],C);return he.enter=function(){return le},he.exit=function(){return we},he};function te(C){return{__data__:C}}re.datum=function(C){return arguments.length?this.property("__data__",C):this.property("__data__")},re.filter=function(C){var z=[],B,G,W;typeof C!="function"&&(C=ae(C));for(var J=0,fe=this.length;J<fe;J++){z.push(B=[]),B.parentNode=(G=this[J]).parentNode;for(var le=0,he=G.length;le<he;le++)(W=G[le])&&C.call(W,W.__data__,le,J)&&B.push(W)}return Q(z)};function ae(C){return function(){return se(this,C)}}re.order=function(){for(var C=-1,z=this.length;++C<z;)for(var B=this[C],G=B.length-1,W=B[G],J;--G>=0;)(J=B[G])&&(W&&W!==J.nextSibling&&W.parentNode.insertBefore(J,W),W=J);return this},re.sort=function(C){C=ce.apply(this,arguments);for(var z=-1,B=this.length;++z<B;)this[z].sort(C);return this.order()};function ce(C){return arguments.length||(C=h),function(z,B){return z&&B?C(z.__data__,B.__data__):!z-!B}}re.each=function(C){return pe(this,function(z,B,G){C.call(z,z.__data__,B,G)})};function pe(C,z){for(var B=0,G=C.length;B<G;B++)for(var W=C[B],J=0,fe=W.length,le;J<fe;J++)(le=W[J])&&z(le,J,B);return C}re.call=function(C){var z=t(arguments);return C.apply(z[0]=this,z),this},re.empty=function(){return!this.node()},re.node=function(){for(var C=0,z=this.length;C<z;C++)for(var B=this[C],G=0,W=B.length;G<W;G++){var J=B[G];if(J)return J}return null},re.size=function(){var C=0;return pe(this,function(){++C}),C};function ve(C){return q(C,xe),C}var xe=[];e.selection.enter=ve,e.selection.enter.prototype=xe,xe.append=re.append,xe.empty=re.empty,xe.node=re.node,xe.call=re.call,xe.size=re.size,xe.select=function(C){for(var z=[],B,G,W,J,fe,le=-1,he=this.length;++le<he;){W=(J=this[le]).update,z.push(B=[]),B.parentNode=J.parentNode;for(var we=-1,Me=J.length;++we<Me;)(fe=J[we])?(B.push(W[we]=G=C.call(J.parentNode,fe.__data__,we,le)),G.__data__=fe.__data__):B.push(null)}return Q(z)},xe.insert=function(C,z){return arguments.length<2&&(z=me(this)),re.insert.call(this,C,z)};function me(C){var z,B;return function(G,W,J){var fe=C[J].update,le=fe.length,he;for(J!=B&&(B=J,z=0),W>=z&&(z=W+1);!(he=fe[z])&&++z<le;);return he}}e.select=function(C){var z;return typeof C=="string"?(z=[oe(C,n)],z.parentNode=n.documentElement):(z=[C],z.parentNode=a(C)),Q([z])},e.selectAll=function(C){var z;return typeof C=="string"?(z=t(Z(C,n)),z.parentNode=n.documentElement):(z=t(C),z.parentNode=null),Q([z])},re.on=function(C,z,B){var G=arguments.length;if(G<3){if(typeof C!="string"){G<2&&(z=!1);for(B in C)this.each(de(B,C[B],z));return this}if(G<2)return(G=this.node()["__on"+C])&&G._;B=!1}return this.each(de(C,z,B))};function de(C,z,B){var G="__on"+C,W=C.indexOf("."),J=ke;W>0&&(C=C.slice(0,W));var fe=_e.get(C);fe&&(C=fe,J=Ie);function le(){var Me=this[G];Me&&(this.removeEventListener(C,Me,Me.$),delete this[G])}function he(){var Me=J(z,t(arguments));le.call(this),this.addEventListener(C,this[G]=Me,Me.$=B),Me._=z}function we(){var Me=new RegExp("^__on([^.]+)"+e.requote(C)+"$"),De;for(var Re in this)if(De=Re.match(Me)){var Ge=this[Re];this.removeEventListener(De[1],Ge,Ge.$),delete this[Re]}}return W?z?he:le:z?P:we}var _e=e.map({mouseenter:"mouseover",mouseleave:"mouseout"});n&&_e.forEach(function(C){"on"+C in n&&_e.remove(C)});function ke(C,z){return function(B){var G=e.event;e.event=B,z[0]=this.__data__;try{C.apply(this,z)}finally{e.event=G}}}function Ie(C,z){var B=ke(C,z);return function(G){var W=this,J=G.relatedTarget;(!J||J!==W&&!(J.compareDocumentPosition(W)&8))&&B.call(W,G)}}var Pe,We=0;function Oe(C){var z=".dragsuppress-"+ ++We,B="click"+z,G=e.select(o(C)).on("touchmove"+z,X).on("dragstart"+z,X).on("selectstart"+z,X);if(Pe==null&&(Pe="onselectstart"in C?!1:F(C.style,"userSelect")),Pe){var W=a(C).style,J=W[Pe];W[Pe]="none"}return function(fe){if(G.on(z,null),Pe&&(W[Pe]=J),fe){var le=function(){G.on(B,null)};G.on(B,function(){X(),le()},!0),setTimeout(le,0)}}}e.mouse=function(C){return Be(C,$())};var ze=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function Be(C,z){z.changedTouches&&(z=z.changedTouches[0]);var B=C.ownerSVGElement||C;if(B.createSVGPoint){var G=B.createSVGPoint();if(ze<0){var W=o(C);if(W.scrollX||W.scrollY){B=e.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var J=B[0][0].getScreenCTM();ze=!(J.f||J.e),B.remove()}}return ze?(G.x=z.pageX,G.y=z.pageY):(G.x=z.clientX,G.y=z.clientY),G=G.matrixTransform(C.getScreenCTM().inverse()),[G.x,G.y]}var fe=C.getBoundingClientRect();return[z.clientX-fe.left-C.clientLeft,z.clientY-fe.top-C.clientTop]}e.touch=function(C,z,B){if(arguments.length<3&&(B=z,z=$().changedTouches),z){for(var G=0,W=z.length,J;G<W;++G)if((J=z[G]).identifier===B)return Be(C,J)}},e.behavior.drag=function(){var C=j(W,"drag","dragstart","dragend"),z=null,B=J(P,e.mouse,o,"mousemove","mouseup"),G=J(Se,e.touch,N,"touchmove","touchend");function W(){this.on("mousedown.drag",B).on("touchstart.drag",G)}function J(fe,le,he,we,Me){return function(){var De=this,Re=e.event.target.correspondingElement||e.event.target,Ge=De.parentNode,Je=C.of(De,arguments),Ne=0,qe=fe(),Ue=".drag"+(qe==null?"":"-"+qe),Ze,Ke=e.select(he(Re)).on(we+Ue,fr).on(Me+Ue,vr),Ve=Oe(Re),tr=le(Ge,qe);z?(Ze=z.apply(De,arguments),Ze=[Ze.x-tr[0],Ze.y-tr[1]]):Ze=[0,0],Je({type:"dragstart"});function fr(){var cr=le(Ge,qe),pr,gr;cr&&(pr=cr[0]-tr[0],gr=cr[1]-tr[1],Ne|=pr|gr,tr=cr,Je({type:"drag",x:cr[0]+Ze[0],y:cr[1]+Ze[1],dx:pr,dy:gr}))}function vr(){le(Ge,qe)&&(Ke.on(we+Ue,null).on(Me+Ue,null),Ve(Ne),Je({type:"dragend"}))}}}return W.origin=function(fe){return arguments.length?(z=fe,W):z},e.rebind(W,C,"on")};function Se(){return e.event.changedTouches[0].identifier}e.touches=function(C,z){return arguments.length<2&&(z=$().touches),z?t(z).map(function(B){var G=Be(C,B);return G.identifier=B.identifier,G}):[]};var Le=1e-6,Ye=Le*Le,Xe=Math.PI,$e=2*Xe,Qe=$e-Le,je=Xe/2,ir=Xe/180,yr=180/Xe;function xr(C){return C>0?1:C<0?-1:0}function wr(C,z,B){return(z[0]-C[0])*(B[1]-C[1])-(z[1]-C[1])*(B[0]-C[0])}function $r(C){return C>1?0:C<-1?Xe:Math.acos(C)}function _r(C){return C>1?je:C<-1?-je:Math.asin(C)}function Nr(C){return((C=Math.exp(C))-1/C)/2}function et(C){return((C=Math.exp(C))+1/C)/2}function Sr(C){return((C=Math.exp(2*C))-1)/(C+1)}function qr(C){return(C=Math.sin(C/2))*C}var gt=Math.SQRT2,Hr=2,Zr=4;e.interpolateZoom=function(C,z){var B=C[0],G=C[1],W=C[2],J=z[0],fe=z[1],le=z[2],he=J-B,we=fe-G,Me=he*he+we*we,De,Re;if(Me<Ye)Re=Math.log(le/W)/gt,De=function(Ze){return[B+Ze*he,G+Ze*we,W*Math.exp(gt*Ze*Re)]};else{var Ge=Math.sqrt(Me),Je=(le*le-W*W+Zr*Me)/(2*W*Hr*Ge),Ne=(le*le-W*W-Zr*Me)/(2*le*Hr*Ge),qe=Math.log(Math.sqrt(Je*Je+1)-Je),Ue=Math.log(Math.sqrt(Ne*Ne+1)-Ne);Re=(Ue-qe)/gt,De=function(Ze){var Ke=Ze*Re,Ve=et(qe),tr=W/(Hr*Ge)*(Ve*Sr(gt*Ke+qe)-Nr(qe));return[B+tr*he,G+tr*we,W*Ve/et(gt*Ke+qe)]}}return De.duration=Re*1e3,De},e.behavior.zoom=function(){var C={x:0,y:0,k:1},z,B,G,W=[960,500],J=zt,fe=250,le=0,he="mousedown.zoom",we="mousemove.zoom",Me="mouseup.zoom",De,Re="touchstart.zoom",Ge,Je=j(Ke,"zoomstart","zoom","zoomend"),Ne,qe,Ue,Ze;Pr||(Pr="onwheel"in n?(nr=function(){return-e.event.deltaY*(e.event.deltaMode?120:1)},"wheel"):"onmousewheel"in n?(nr=function(){return e.event.wheelDelta},"mousewheel"):(nr=function(){return-e.event.detail},"MozMousePixelScroll"));function Ke(sr){sr.on(he,Cr).on(Pr+".zoom",Bt).on("dblclick.zoom",dt).on(Re,ut)}Ke.event=function(sr){sr.each(function(){var Ir=Je.of(this,arguments),Or=C;Al?e.select(this).transition().each("start.zoom",function(){C=this.__chart__||{x:0,y:0,k:1},gr(Ir)}).tween("zoom:zoom",function(){var ft=W[0],Ft=W[1],rn=B?B[0]:ft/2,_n=B?B[1]:Ft/2,zn=e.interpolateZoom([(rn-C.x)/C.k,(_n-C.y)/C.k,ft/C.k],[(rn-Or.x)/Or.k,(_n-Or.y)/Or.k,ft/Or.k]);return function(Xn){var qn=zn(Xn),ea=ft/qn[2];this.__chart__=C={x:rn-qn[0]*ea,y:_n-qn[1]*ea,k:ea},Fr(Ir)}}).each("interrupt.zoom",function(){mr(Ir)}).each("end.zoom",function(){mr(Ir)}):(this.__chart__=C,gr(Ir),Fr(Ir),mr(Ir))})},Ke.translate=function(sr){return arguments.length?(C={x:+sr[0],y:+sr[1],k:C.k},pr(),Ke):[C.x,C.y]},Ke.scale=function(sr){return arguments.length?(C={x:C.x,y:C.y,k:null},fr(+sr),pr(),Ke):C.k},Ke.scaleExtent=function(sr){return arguments.length?(J=sr==null?zt:[+sr[0],+sr[1]],Ke):J},Ke.center=function(sr){return arguments.length?(G=sr&&[+sr[0],+sr[1]],Ke):G},Ke.size=function(sr){return arguments.length?(W=sr&&[+sr[0],+sr[1]],Ke):W},Ke.duration=function(sr){return arguments.length?(fe=+sr,Ke):fe},Ke.x=function(sr){return arguments.length?(qe=sr,Ne=sr.copy(),C={x:0,y:0,k:1},Ke):qe},Ke.y=function(sr){return arguments.length?(Ze=sr,Ue=sr.copy(),C={x:0,y:0,k:1},Ke):Ze};function Ve(sr){return[(sr[0]-C.x)/C.k,(sr[1]-C.y)/C.k]}function tr(sr){return[sr[0]*C.k+C.x,sr[1]*C.k+C.y]}function fr(sr){C.k=Math.max(J[0],Math.min(J[1],sr))}function vr(sr,Ir){Ir=tr(Ir),C.x+=sr[0]-Ir[0],C.y+=sr[1]-Ir[1]}function cr(sr,Ir,Or,ft){sr.__chart__={x:C.x,y:C.y,k:C.k},fr(Math.pow(2,ft)),vr(B=Ir,Or),sr=e.select(sr),fe>0&&(sr=sr.transition().duration(fe)),sr.call(Ke.event)}function pr(){qe&&qe.domain(Ne.range().map(function(sr){return(sr-C.x)/C.k}).map(Ne.invert)),Ze&&Ze.domain(Ue.range().map(function(sr){return(sr-C.y)/C.k}).map(Ue.invert))}function gr(sr){le++||sr({type:"zoomstart"})}function Fr(sr){pr(),sr({type:"zoom",scale:C.k,translate:[C.x,C.y]})}function mr(sr){--le||(sr({type:"zoomend"}),B=null)}function Cr(){var sr=this,Ir=Je.of(sr,arguments),Or=0,ft=e.select(o(sr)).on(we,_n).on(Me,zn),Ft=Ve(e.mouse(sr)),rn=Oe(sr);Tc.call(sr),gr(Ir);function _n(){Or=1,vr(e.mouse(sr),Ft),Fr(Ir)}function zn(){ft.on(we,null).on(Me,null),rn(Or),mr(Ir)}}function ut(){var sr=this,Ir=Je.of(sr,arguments),Or={},ft=0,Ft,rn=".zoom-"+e.event.changedTouches[0].identifier,_n="touchmove"+rn,zn="touchend"+rn,Xn=[],qn=e.select(sr),ea=Oe(sr);ra(),gr(Ir),qn.on(he,null).on(Re,ra);function kn(){var Ka=e.touches(sr);return Ft=C.k,Ka.forEach(function(wn){wn.identifier in Or&&(Or[wn.identifier]=Ve(wn))}),Ka}function ra(){var Ka=e.event.target;e.select(Ka).on(_n,kl).on(zn,IB),Xn.push(Ka);for(var wn=e.event.changedTouches,Aa=0,ki=wn.length;Aa<ki;++Aa)Or[wn[Aa].identifier]=null;var ka=kn(),Is=Date.now();if(ka.length===1){if(Is-Ge<500){var Sl=ka[0];cr(sr,Sl,Or[Sl.identifier],Math.floor(Math.log(C.k)/Math.LN2)+1),X()}Ge=Is}else if(ka.length>1){var Sl=ka[0],Co=ka[1],Sc=Sl[0]-Co[0],vb=Sl[1]-Co[1];ft=Sc*Sc+vb*vb}}function kl(){var Ka=e.touches(sr),wn,Aa,ki,ka;Tc.call(sr);for(var Is=0,Sl=Ka.length;Is<Sl;++Is,ka=null)if(ki=Ka[Is],ka=Or[ki.identifier]){if(Aa)break;wn=ki,Aa=ka}if(ka){var Co=(Co=ki[0]-wn[0])*Co+(Co=ki[1]-wn[1])*Co,Sc=ft&&Math.sqrt(Co/ft);wn=[(wn[0]+ki[0])/2,(wn[1]+ki[1])/2],Aa=[(Aa[0]+ka[0])/2,(Aa[1]+ka[1])/2],fr(Sc*Ft)}Ge=null,vr(wn,Aa),Fr(Ir)}function IB(){if(e.event.touches.length){for(var Ka=e.event.changedTouches,wn=0,Aa=Ka.length;wn<Aa;++wn)delete Or[Ka[wn].identifier];for(var ki in Or)return void kn()}e.selectAll(Xn).on(rn,null),qn.on(he,Cr).on(Re,ut),ea(),mr(Ir)}}function Bt(){var sr=Je.of(this,arguments);De?clearTimeout(De):(Tc.call(this),z=Ve(B=G||e.mouse(this)),gr(sr)),De=setTimeout(function(){De=null,mr(sr)},50),X(),fr(Math.pow(2,nr()*.002)*C.k),vr(B,z),Fr(sr)}function dt(){var sr=e.mouse(this),Ir=Math.log(C.k)/Math.LN2;cr(this,sr,Ve(sr),e.event.shiftKey?Math.ceil(Ir)-1:Math.floor(Ir)+1)}return e.rebind(Ke,Je,"on")};var zt=[0,1/0],nr,Pr;e.color=Kr;function Kr(){}Kr.prototype.toString=function(){return this.rgb()+""},e.hsl=Er;function Er(C,z,B){return this instanceof Er?(this.h=+C,this.s=+z,void(this.l=+B)):arguments.length<2?C instanceof Er?new Er(C.h,C.s,C.l):it(""+C,ct,Er):new Er(C,z,B)}var Qr=Er.prototype=new Kr;Qr.brighter=function(C){return C=Math.pow(.7,arguments.length?C:1),new Er(this.h,this.s,this.l/C)},Qr.darker=function(C){return C=Math.pow(.7,arguments.length?C:1),new Er(this.h,this.s,C*this.l)},Qr.rgb=function(){return Dt(this.h,this.s,this.l)};function Dt(C,z,B){var G,W;C=isNaN(C)?0:(C%=360)<0?C+360:C,z=isNaN(z)||z<0?0:z>1?1:z,B=B<0?0:B>1?1:B,W=B<=.5?B*(1+z):B+z-B*z,G=2*B-W;function J(le){return le>360?le-=360:le<0&&(le+=360),le<60?G+(W-G)*le/60:le<180?W:le<240?G+(W-G)*(240-le)/60:G}function fe(le){return Math.round(J(le)*255)}return new on(fe(C+120),fe(C),fe(C-120))}e.hcl=at;function at(C,z,B){return this instanceof at?(this.h=+C,this.c=+z,void(this.l=+B)):arguments.length<2?C instanceof at?new at(C.h,C.c,C.l):C instanceof Rt?wi(C.l,C.a,C.b):wi((C=hr((C=e.rgb(C)).r,C.g,C.b)).l,C.a,C.b):new at(C,z,B)}var $t=at.prototype=new Kr;$t.brighter=function(C){return new at(this.h,this.c,Math.min(100,this.l+vt*(arguments.length?C:1)))},$t.darker=function(C){return new at(this.h,this.c,Math.max(0,this.l-vt*(arguments.length?C:1)))},$t.rgb=function(){return Zt(this.h,this.c,this.l).rgb()};function Zt(C,z,B){return isNaN(C)&&(C=0),isNaN(z)&&(z=0),new Rt(B,Math.cos(C*=ir)*z,Math.sin(C)*z)}e.lab=Rt;function Rt(C,z,B){return this instanceof Rt?(this.l=+C,this.a=+z,void(this.b=+B)):arguments.length<2?C instanceof Rt?new Rt(C.l,C.a,C.b):C instanceof at?Zt(C.h,C.c,C.l):hr((C=on(C)).r,C.g,C.b):new Rt(C,z,B)}var vt=18,Mt=.95047,jt=1,jn=1.08883,Nn=Rt.prototype=new Kr;Nn.brighter=function(C){return new Rt(Math.min(100,this.l+vt*(arguments.length?C:1)),this.a,this.b)},Nn.darker=function(C){return new Rt(Math.max(0,this.l-vt*(arguments.length?C:1)),this.a,this.b)},Nn.rgb=function(){return Ma(this.l,this.a,this.b)};function Ma(C,z,B){var G=(C+16)/116,W=G+z/500,J=G-B/200;return W=Ki(W)*Mt,G=Ki(G)*jt,J=Ki(J)*jn,new on($i(3.2404542*W-1.5371385*G-.4985314*J),$i(-.969266*W+1.8760108*G+.041556*J),$i(.0556434*W-.2040259*G+1.0572252*J))}function wi(C,z,B){return C>0?new at(Math.atan2(B,z)*yr,Math.sqrt(z*z+B*B),C):new at(NaN,NaN,C)}function Ki(C){return C>.206893034?C*C*C:(C-4/29)/7.787037}function Qi(C){return C>.008856?Math.pow(C,1/3):7.787037*C+4/29}function $i(C){return Math.round(255*(C<=.00304?12.92*C:1.055*Math.pow(C,1/2.4)-.055))}e.rgb=on;function on(C,z,B){return this instanceof on?(this.r=~~C,this.g=~~z,void(this.b=~~B)):arguments.length<2?C instanceof on?new on(C.r,C.g,C.b):it(""+C,on,Dt):new on(C,z,B)}function ko(C){return new on(C>>16,C>>8&255,C&255)}function Mi(C){return ko(C)+""}var Ti=on.prototype=new Kr;Ti.brighter=function(C){C=Math.pow(.7,arguments.length?C:1);var z=this.r,B=this.g,G=this.b,W=30;return!z&&!B&&!G?new on(W,W,W):(z&&z<W&&(z=W),B&&B<W&&(B=W),G&&G<W&&(G=W),new on(Math.min(255,z/C),Math.min(255,B/C),Math.min(255,G/C)))},Ti.darker=function(C){return C=Math.pow(.7,arguments.length?C:1),new on(C*this.r,C*this.g,C*this.b)},Ti.hsl=function(){return ct(this.r,this.g,this.b)},Ti.toString=function(){return"#"+br(this.r)+br(this.g)+br(this.b)};function br(C){return C<16?"0"+Math.max(0,C).toString(16):Math.min(255,C).toString(16)}function it(C,z,B){var G=0,W=0,J=0,fe,le,he;if(fe=/([a-z]+)\((.*)\)/.exec(C=C.toLowerCase()),fe)switch(le=fe[2].split(","),fe[1]){case"hsl":return B(parseFloat(le[0]),parseFloat(le[1])/100,parseFloat(le[2])/100);case"rgb":return z(bt(le[0]),bt(le[1]),bt(le[2]))}return(he=bn.get(C))?z(he.r,he.g,he.b):(C!=null&&C.charAt(0)==="#"&&!isNaN(he=parseInt(C.slice(1),16))&&(C.length===4?(G=(he&3840)>>4,G=G>>4|G,W=he&240,W=W>>4|W,J=he&15,J=J<<4|J):C.length===7&&(G=(he&16711680)>>16,W=(he&65280)>>8,J=he&255)),z(G,W,J))}function ct(C,z,B){var G=Math.min(C/=255,z/=255,B/=255),W=Math.max(C,z,B),J=W-G,fe,le,he=(W+G)/2;return J?(le=he<.5?J/(W+G):J/(2-W-G),C==W?fe=(z-B)/J+(z<B?6:0):z==W?fe=(B-C)/J+2:fe=(C-z)/J+4,fe*=60):(fe=NaN,le=he>0&&he<1?0:fe),new Er(fe,le,he)}function hr(C,z,B){C=xn(C),z=xn(z),B=xn(B);var G=Qi((.4124564*C+.3575761*z+.1804375*B)/Mt),W=Qi((.2126729*C+.7151522*z+.072175*B)/jt),J=Qi((.0193339*C+.119192*z+.9503041*B)/jn);return Rt(116*W-16,500*(G-W),200*(W-J))}function xn(C){return(C/=255)<=.04045?C/12.92:Math.pow((C+.055)/1.055,2.4)}function bt(C){var z=parseFloat(C);return C.charAt(C.length-1)==="%"?Math.round(z*2.55):z}var bn=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});bn.forEach(function(C,z){bn.set(C,ko(z))});function Vr(C){return typeof C=="function"?C:function(){return C}}e.functor=Vr,e.xhr=Za(N);function Za(C){return function(z,B,G){return arguments.length===2&&typeof B=="function"&&(G=B,B=null),wl(z,B,C,G)}}function wl(C,z,B,G){var W={},J=e.dispatch("beforesend","progress","load","error"),fe={},le=new XMLHttpRequest,he=null;self.XDomainRequest&&!("withCredentials"in le)&&/^(http(s)?:)?\/\//.test(C)&&(le=new XDomainRequest),"onload"in le?le.onload=le.onerror=we:le.onreadystatechange=function(){le.readyState>3&&we()};function we(){var Me=le.status,De;if(!Me&&zq(le)||Me>=200&&Me<300||Me===304){try{De=B.call(W,le)}catch(Re){J.error.call(W,Re);return}J.load.call(W,De)}else J.error.call(W,le)}return le.onprogress=function(Me){var De=e.event;e.event=Me;try{J.progress.call(W,le)}finally{e.event=De}},W.header=function(Me,De){return Me=(Me+"").toLowerCase(),arguments.length<2?fe[Me]:(De==null?delete fe[Me]:fe[Me]=De+"",W)},W.mimeType=function(Me){return arguments.length?(z=Me==null?null:Me+"",W):z},W.responseType=function(Me){return arguments.length?(he=Me,W):he},W.response=function(Me){return B=Me,W},["get","post"].forEach(function(Me){W[Me]=function(){return W.send.apply(W,[Me].concat(t(arguments)))}}),W.send=function(Me,De,Re){if(arguments.length===2&&typeof De=="function"&&(Re=De,De=null),le.open(Me,C,!0),z!=null&&!("accept"in fe)&&(fe.accept=z+",*/*"),le.setRequestHeader)for(var Ge in fe)le.setRequestHeader(Ge,fe[Ge]);return z!=null&&le.overrideMimeType&&le.overrideMimeType(z),he!=null&&(le.responseType=he),Re!=null&&W.on("error",Re).on("load",function(Je){Re(null,Je)}),J.beforesend.call(W,le),le.send(De==null?null:De),W},W.abort=function(){return le.abort(),W},e.rebind(W,J,"on"),G==null?W:W.get(Nq(G))}function Nq(C){return C.length===1?function(z,B){C(z==null?B:null)}:C}function zq(C){var z=C.responseType;return z&&z!=="text"?C.response:C.responseText}e.dsv=function(C,z){var B=new RegExp('["'+C+` ]`),G=C.charCodeAt(0);function W(we,Me,De){arguments.length<3&&(De=Me,Me=null);var Re=wl(we,z,Me==null?J:fe(Me),De);return Re.row=function(Ge){return arguments.length?Re.response((Me=Ge)==null?J:fe(Ge)):Me},Re}function J(we){return W.parse(we.responseText)}function fe(we){return function(Me){return W.parse(Me.responseText,we)}}W.parse=function(we,Me){var De;return W.parseRows(we,function(Re,Ge){if(De)return De(Re,Ge-1);var Je=function(Ne){for(var qe={},Ue=Re.length,Ze=0;Ze<Ue;++Ze)qe[Re[Ze]]=Ne[Ze];return qe};De=Me?function(Ne,qe){return Me(Je(Ne),qe)}:Je})},W.parseRows=function(we,Me){var De={},Re={},Ge=[],Je=we.length,Ne=0,qe=0,Ue,Ze;function Ke(){if(Ne>=Je)return Re;if(Ze)return Ze=!1,De;var tr=Ne;if(we.charCodeAt(tr)===34){for(var fr=tr;fr++<Je;)if(we.charCodeAt(fr)===34){if(we.charCodeAt(fr+1)!==34)break;++fr}Ne=fr+2;var vr=we.charCodeAt(fr+1);return vr===13?(Ze=!0,we.charCodeAt(fr+2)===10&&++Ne):vr===10&&(Ze=!0),we.slice(tr+1,fr).replace(/""/g,'"')}for(;Ne<Je;){var vr=we.charCodeAt(Ne++),cr=1;if(vr===10)Ze=!0;else if(vr===13)Ze=!0,we.charCodeAt(Ne)===10&&(++Ne,++cr);else if(vr!==G)continue;return we.slice(tr,Ne-cr)}return we.slice(tr)}for(;(Ue=Ke())!==Re;){for(var Ve=[];Ue!==De&&Ue!==Re;)Ve.push(Ue),Ue=Ke();Me&&(Ve=Me(Ve,qe++))==null||Ge.push(Ve)}return Ge},W.format=function(we){if(Array.isArray(we[0]))return W.formatRows(we);var Me=new R,De=[];return we.forEach(function(Re){for(var Ge in Re)Me.has(Ge)||De.push(Me.add(Ge))}),[De.map(he).join(C)].concat(we.map(function(Re){return De.map(function(Ge){return he(Re[Ge])}).join(C)})).join(` `)},W.formatRows=function(we){return we.map(le).join(` `)};function le(we){return we.map(he).join(C)}function he(we){return B.test(we)?'"'+we.replace(/\"/g,'""')+'"':we}return W},e.csv=e.dsv(",","text/csv"),e.tsv=e.dsv(" ","text/tab-separated-values");var ic,oc,lc,sc,j5=this[F(this,"requestAnimationFrame")]||function(C){setTimeout(C,17)};e.timer=function(){uc.apply(this,arguments)};function uc(C,z,B){var G=arguments.length;G<2&&(z=0),G<3&&(B=Date.now());var W=B+z,J={c:C,t:W,n:null};return oc?oc.n=J:ic=J,oc=J,lc||(sc=clearTimeout(sc),lc=1,j5(Od)),J}function Od(){var C=ex(),z=rx()-C;z>24?(isFinite(z)&&(clearTimeout(sc),sc=setTimeout(Od,z)),lc=0):(lc=1,j5(Od))}e.timer.flush=function(){ex(),rx()};function ex(){for(var C=Date.now(),z=ic;z;)C>=z.t&&z.c(C-z.t)&&(z.c=null),z=z.n;return C}function rx(){for(var C,z=ic,B=1/0;z;)z.c?(z.t<B&&(B=z.t),z=(C=z).n):z=C?C.n=z.n:ic=z.n;return oc=C,B}e.round=function(C,z){return z?Math.round(C*(z=Math.pow(10,z)))/z:Math.round(C)},e.geom={};function Es(C){return C[0]}function rf(C){return C[1]}e.geom.hull=function(C){var z=Es,B=rf;if(arguments.length)return G(C);function G(W){if(W.length<3)return[];var J=Vr(z),fe=Vr(B),le,he=W.length,we=[],Me=[];for(le=0;le<he;le++)we.push([+J.call(this,W[le],le),+fe.call(this,W[le],le),le]);for(we.sort(qq),le=0;le<he;le++)Me.push([we[le][0],-we[le][1]]);var De=tx(we),Re=tx(Me),Ge=Re[0]===De[0],Je=Re[Re.length-1]===De[De.length-1],Ne=[];for(le=De.length-1;le>=0;--le)Ne.push(W[we[De[le]][2]]);for(le=+Ge;le<Re.length-Je;++le)Ne.push(W[we[Re[le]][2]]);return Ne}return G.x=function(W){return arguments.length?(z=W,G):z},G.y=function(W){return arguments.length?(B=W,G):B},G};function tx(C){for(var z=C.length,B=[0,1],G=2,W=2;W<z;W++){for(;G>1&&wr(C[B[G-2]],C[B[G-1]],C[W])<=0;)--G;B[G++]=W}return B.slice(0,G)}function qq(C,z){return C[0]-z[0]||C[1]-z[1]}e.geom.polygon=function(C){return q(C,fc),C};var fc=e.geom.polygon.prototype=[];fc.area=function(){for(var C=-1,z=this.length,B,G=this[z-1],W=0;++C<z;)B=G,G=this[C],W+=B[1]*G[0]-B[0]*G[1];return W*.5},fc.centroid=function(C){var z=-1,B=this.length,G=0,W=0,J,fe=this[B-1],le;for(arguments.length||(C=-1/(6*this.area()));++z<B;)J=fe,fe=this[z],le=J[0]*fe[1]-fe[0]*J[1],G+=(J[0]+fe[0])*le,W+=(J[1]+fe[1])*le;return[G*C,W*C]},fc.clip=function(C){for(var z,B=nx(C),G=-1,W=this.length-nx(this),J,fe,le=this[W-1],he,we,Me;++G<W;){for(z=C.slice(),C.length=0,he=this[G],we=z[(fe=z.length-B)-1],J=-1;++J<fe;)Me=z[J],Bd(Me,le,he)?(Bd(we,le,he)||C.push(Ud(we,Me,le,he)),C.push(Me)):Bd(we,le,he)&&C.push(Ud(we,Me,le,he)),we=Me;B&&C.push(C[0]),le=he}return C};function Bd(C,z,B){return(B[0]-z[0])*(C[1]-z[1])<(B[1]-z[1])*(C[0]-z[0])}function Ud(C,z,B,G){var W=C[0],J=B[0],fe=z[0]-W,le=G[0]-J,he=C[1],we=B[1],Me=z[1]-he,De=G[1]-we,Re=(le*(he-we)-De*(W-J))/(De*fe-le*Me);return[W+Re*fe,he+Re*Me]}function nx(C){var z=C[0],B=C[C.length-1];return!(z[0]-B[0]||z[1]-B[1])}var Ls,Ml,Ds,ax=[],Hd,tf,ix=[];function Oq(){vc(this),this.edge=this.site=this.circle=null}function ox(C){var z=ax.pop()||new Oq;return z.site=C,z}function Vd(C){Ps(C),Ds.remove(C),ax.push(C),vc(C)}function Bq(C){var z=C.circle,B=z.x,G=z.cy,W={x:B,y:G},J=C.P,fe=C.N,le=[C];Vd(C);for(var he=J;he.circle&&m(B-he.circle.x)<Le&&m(G-he.circle.cy)<Le;)J=he.P,le.unshift(he),Vd(he),he=J;le.unshift(he),Ps(he);for(var we=fe;we.circle&&m(B-we.circle.x)<Le&&m(G-we.circle.cy)<Le;)fe=we.N,le.push(we),Vd(we),we=fe;le.push(we),Ps(we);var Me=le.length,De;for(De=1;De<Me;++De)we=le[De],he=le[De-1],cc(we.edge,he.site,we.site,W);he=le[0],we=le[Me-1],we.edge=nf(he.site,we.site,null,W),Rs(he),Rs(we)}function Uq(C){for(var z=C.x,B=C.y,G,W,J,fe,le=Ds._;le;)if(J=lx(le,B)-z,J>Le)le=le.L;else if(fe=z-Hq(le,B),fe>Le){if(!le.R){G=le;break}le=le.R}else{J>-Le?(G=le.P,W=le):fe>-Le?(G=le,W=le.N):G=W=le;break}var he=ox(C);if(Ds.insert(G,he),!(!G&&!W)){if(G===W){Ps(G),W=ox(G.site),Ds.insert(he,W),he.edge=W.edge=nf(G.site,he.site),Rs(G),Rs(W);return}if(!W){he.edge=nf(G.site,he.site);return}Ps(G),Ps(W);var we=G.site,Me=we.x,De=we.y,Re=C.x-Me,Ge=C.y-De,Je=W.site,Ne=Je.x-Me,qe=Je.y-De,Ue=2*(Re*qe-Ge*Ne),Ze=Re*Re+Ge*Ge,Ke=Ne*Ne+qe*qe,Ve={x:(qe*Ze-Ge*Ke)/Ue+Me,y:(Re*Ke-Ne*Ze)/Ue+De};cc(W.edge,we,Je,Ve),he.edge=nf(we,C,null,Ve),W.edge=nf(C,Je,null,Ve),Rs(G),Rs(W)}}function lx(C,z){var B=C.site,G=B.x,W=B.y,J=W-z;if(!J)return G;var fe=C.P;if(!fe)return-1/0;B=fe.site;var le=B.x,he=B.y,we=he-z;if(!we)return le;var Me=le-G,De=1/J-1/we,Re=Me/we;return De?(-Re+Math.sqrt(Re*Re-2*De*(Me*Me/(-2*we)-he+we/2+W-J/2)))/De+G:(G+le)/2}function Hq(C,z){var B=C.N;if(B)return lx(B,z);var G=C.site;return G.y===z?G.x:1/0}function sx(C){this.site=C,this.edges=[]}sx.prototype.prepare=function(){for(var C=this.edges,z=C.length,B;z--;)B=C[z].edge,(!B.b||!B.a)&&C.splice(z,1);return C.sort(ux),C.length};function Vq(C){for(var z=C[0][0],B=C[1][0],G=C[0][1],W=C[1][1],J,fe,le,he,we=Ml,Me=we.length,De,Re,Ge,Je,Ne,qe;Me--;)if(De=we[Me],!(!De||!De.prepare()))for(Ge=De.edges,Je=Ge.length,Re=0;Re<Je;)qe=Ge[Re].end(),le=qe.x,he=qe.y,Ne=Ge[++Re%Je].start(),J=Ne.x,fe=Ne.y,(m(le-J)>Le||m(he-fe)>Le)&&(Ge.splice(Re,0,new hc(Zq(De.site,qe,m(le-z)<Le&&W-he>Le?{x:z,y:m(J-z)<Le?fe:W}:m(he-W)<Le&&B-le>Le?{x:m(fe-W)<Le?J:B,y:W}:m(le-B)<Le&&he-G>Le?{x:B,y:m(J-B)<Le?fe:G}:m(he-G)<Le&&le-z>Le?{x:m(fe-G)<Le?J:z,y:G}:null),De.site,null)),++Je)}function ux(C,z){return z.angle-C.angle}function Gq(){vc(this),this.x=this.y=this.arc=this.site=this.cy=null}function Rs(C){var z=C.P,B=C.N;if(!(!z||!B)){var G=z.site,W=C.site,J=B.site;if(G!==J){var fe=W.x,le=W.y,he=G.x-fe,we=G.y-le,Me=J.x-fe,qe=J.y-le,De=2*(he*qe-we*Me);if(!(De>=-Ye)){var Re=he*he+we*we,Ge=Me*Me+qe*qe,Je=(qe*Re-we*Ge)/De,Ne=(he*Ge-Me*Re)/De,qe=Ne+le,Ue=ix.pop()||new Gq;Ue.arc=C,Ue.site=W,Ue.x=Je+fe,Ue.y=qe+Math.sqrt(Je*Je+Ne*Ne),Ue.cy=qe,C.circle=Ue;for(var Ze=null,Ke=tf._;Ke;)if(Ue.y<Ke.y||Ue.y===Ke.y&&Ue.x<=Ke.x)if(Ke.L)Ke=Ke.L;else{Ze=Ke.P;break}else if(Ke.R)Ke=Ke.R;else{Ze=Ke;break}tf.insert(Ze,Ue),Ze||(Hd=Ue)}}}}function Ps(C){var z=C.circle;z&&(z.P||(Hd=z.N),tf.remove(z),ix.push(z),vc(z),C.circle=null)}function Yq(C,z,B,G){return function(W){var J=W.a,fe=W.b,le=J.x,he=J.y,we=fe.x,Me=fe.y,De=0,Re=1,Ge=we-le,Je=Me-he,Ne;if(Ne=C-le,!(!Ge&&Ne>0)){if(Ne/=Ge,Ge<0){if(Ne<De)return;Ne<Re&&(Re=Ne)}else if(Ge>0){if(Ne>Re)return;Ne>De&&(De=Ne)}if(Ne=B-le,!(!Ge&&Ne<0)){if(Ne/=Ge,Ge<0){if(Ne>Re)return;Ne>De&&(De=Ne)}else if(Ge>0){if(Ne<De)return;Ne<Re&&(Re=Ne)}if(Ne=z-he,!(!Je&&Ne>0)){if(Ne/=Je,Je<0){if(Ne<De)return;Ne<Re&&(Re=Ne)}else if(Je>0){if(Ne>Re)return;Ne>De&&(De=Ne)}if(Ne=G-he,!(!Je&&Ne<0)){if(Ne/=Je,Je<0){if(Ne>Re)return;Ne>De&&(De=Ne)}else if(Je>0){if(Ne<De)return;Ne<Re&&(Re=Ne)}return De>0&&(W.a={x:le+De*Ge,y:he+De*Je}),Re<1&&(W.b={x:le+Re*Ge,y:he+Re*Je}),W}}}}}}function Wq(C){for(var z=Ls,B=Yq(C[0][0],C[0][1],C[1][0],C[1][1]),G=z.length,W;G--;)W=z[G],(!Xq(W,C)||!B(W)||m(W.a.x-W.b.x)<Le&&m(W.a.y-W.b.y)<Le)&&(W.a=W.b=null,z.splice(G,1))}function Xq(C,z){var B=C.b;if(B)return!0;var G=C.a,W=z[0][0],J=z[1][0],fe=z[0][1],le=z[1][1],he=C.l,we=C.r,Me=he.x,De=he.y,Re=we.x,Ge=we.y,Je=(Me+Re)/2,Ne=(De+Ge)/2,qe,Ue;if(Ge===De){if(Je<W||Je>=J)return;if(Me>Re){if(!G)G={x:Je,y:fe};else if(G.y>=le)return;B={x:Je,y:le}}else{if(!G)G={x:Je,y:le};else if(G.y<fe)return;B={x:Je,y:fe}}}else if(qe=(Me-Re)/(Ge-De),Ue=Ne-qe*Je,qe<-1||qe>1)if(Me>Re){if(!G)G={x:(fe-Ue)/qe,y:fe};else if(G.y>=le)return;B={x:(le-Ue)/qe,y:le}}else{if(!G)G={x:(le-Ue)/qe,y:le};else if(G.y<fe)return;B={x:(fe-Ue)/qe,y:fe}}else if(De<Ge){if(!G)G={x:W,y:qe*W+Ue};else if(G.x>=J)return;B={x:J,y:qe*J+Ue}}else{if(!G)G={x:J,y:qe*J+Ue};else if(G.x<W)return;B={x:W,y:qe*W+Ue}}return C.a=G,C.b=B,!0}function fx(C,z){this.l=C,this.r=z,this.a=this.b=null}function nf(C,z,B,G){var W=new fx(C,z);return Ls.push(W),B&&cc(W,C,z,B),G&&cc(W,z,C,G),Ml[C.i].edges.push(new hc(W,C,z)),Ml[z.i].edges.push(new hc(W,z,C)),W}function Zq(C,z,B){var G=new fx(C,null);return G.a=z,G.b=B,Ls.push(G),G}function cc(C,z,B,G){!C.a&&!C.b?(C.a=G,C.l=z,C.r=B):C.l===B?C.b=G:C.a=G}function hc(C,z,B){var G=C.a,W=C.b;this.edge=C,this.site=z,this.angle=B?Math.atan2(B.y-z.y,B.x-z.x):C.l===z?Math.atan2(W.x-G.x,G.y-W.y):Math.atan2(G.x-W.x,W.y-G.y)}hc.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 Gd(){this._=null}function vc(C){C.U=C.C=C.L=C.R=C.P=C.N=null}Gd.prototype={insert:function(C,z){var B,G,W;if(C){if(z.P=C,z.N=C.N,C.N&&(C.N.P=z),C.N=z,C.R){for(C=C.R;C.L;)C=C.L;C.L=z}else C.R=z;B=C}else this._?(C=cx(this._),z.P=null,z.N=C,C.P=C.L=z,B=C):(z.P=z.N=null,this._=z,B=null);for(z.L=z.R=null,z.U=B,z.C=!0,C=z;B&&B.C;)G=B.U,B===G.L?(W=G.R,W&&W.C?(B.C=W.C=!1,G.C=!0,C=G):(C===B.R&&(af(this,B),C=B,B=C.U),B.C=!1,G.C=!0,of(this,G))):(W=G.L,W&&W.C?(B.C=W.C=!1,G.C=!0,C=G):(C===B.L&&(of(this,B),C=B,B=C.U),B.C=!1,G.C=!0,af(this,G))),B=C.U;this._.C=!1},remove:function