!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((t=t||self).vega={})}(this,function(t){"use strict";function n(t,n,e){return t.fields=n||[],t.fname=e,t}function e(t){return null==t?null:t.fname}function r(t){return null==t?null:t.fields}function i(t){throw Error(t)}function a(t){var n,e,r,a=[],u=null,o=0,s=t.length,l="";function c(){a.push(l+t.substring(n,e)),l="",n=e+1}for(t+="",n=e=0;en&&c(),o=n=e+1):"]"===r&&(o||i("Access path missing open bracket: "+t),o>0&&c(),o=0,n=e+1):e>n?c():n=e+1}return o&&i("Access path missing closing bracket: "+t),u&&i("Access path missing closing quote: "+t),e>n&&(e++,c()),a}var u=Array.isArray;function o(t){return t===Object(t)}function s(t){return"string"==typeof t}function l(t){return u(t)?"["+t.map(l)+"]":o(t)||s(t)?JSON.stringify(t).replace("\u2028","\\u2028").replace("\u2029","\\u2029"):t}function c(t,e){var r=a(t),i="return _["+r.map(l).join("][")+"];";return n(Function("_",i),[t=1===r.length?r[0]:t],e||t)}var f=[],h=c("id"),d=n(function(t){return t},f,"identity"),p=n(function(){return 0},f,"zero"),g=n(function(){return 1},f,"one"),m=n(function(){return!0},f,"true"),v=n(function(){return!1},f,"false");function y(t,n,e){var r=[n].concat([].slice.call(e));console[t](...r)}var x=0,_=1,b=2,w=3,A=4;function M(t,n){var e=t||x;return{level:function(t){return arguments.length?(e=+t,this):e},error:function(){return e>=_&&y(n||"error","ERROR",arguments),this},warn:function(){return e>=b&&y(n||"warn","WARN",arguments),this},info:function(){return e>=w&&y(n||"log","INFO",arguments),this},debug:function(){return e>=A&&y(n||"log","DEBUG",arguments),this}}}function k(t){return t[t.length-1]}function E(t){return null==t||""===t?null:+t}function C(t){return function(n){return t*Math.exp(n)}}function D(t){return function(n){return Math.log(t*n)}}function F(t){return function(n){return Math.sign(n)*Math.log1p(Math.abs(n/t))}}function S(t){return function(n){return Math.sign(n)*Math.expm1(Math.abs(n))*t}}function B(t){return function(n){return n<0?-Math.pow(-n,t):Math.pow(n,t)}}function O(t,n,e,r){var i=e(t[0]),a=e(k(t)),u=(a-i)*n;return[r(i-u),r(a-u)]}function z(t,n){return O(t,n,E,d)}function N(t,n){var e=Math.sign(t[0]);return O(t,n,D(e),C(e))}function T(t,n,e){return O(t,n,B(e),B(1/e))}function R(t,n,e){return O(t,n,F(e),S(e))}function P(t,n,e,r,i){var a=r(t[0]),u=r(k(t)),o=null!=n?r(n):(a+u)/2;return[i(o+(a-o)*e),i(o+(u-o)*e)]}function L(t,n,e){return P(t,n,e,E,d)}function q(t,n,e){var r=Math.sign(t[0]);return P(t,n,e,D(r),C(r))}function U(t,n,e,r){return P(t,n,e,B(r),B(1/r))}function j(t,n,e,r){return P(t,n,e,F(r),S(r))}function $(t){return 1+~~(new Date(t).getMonth()/3)}function I(t){return 1+~~(new Date(t).getUTCMonth()/3)}function W(t){return null!=t?u(t)?t:[t]:[]}function H(t,n,e){var r,i=t[0],a=t[1];return a=e-n?[n,e]:[i=Math.min(Math.max(i,n),e-r),i+r]}function Y(t){return"function"==typeof t}function G(t,e){var i,u,o,s,c,f,h,d,p,g=[],m=(t=W(t)).map(function(t,n){return null==t?null:(g.push(n),Y(t)?t:a(t).map(l).join("]["))}),v=g.length-1,y=W(e),x="var u,v;return ";if(v<0)return null;for(u=0;u<=v;++u)Y(o=m[i=g[u]])?(s="(u=this."+(f="f"+i)+"(a))",c="(v=this."+f+"(b))",(h=h||{})[f]=o):(s="(u=a["+o+"])",c="(v=b["+o+"])"),f="((v=v instanceof Date?+v:v),(u=u instanceof Date?+u:u))","descending"!==y[i]?(p=1,d=-1):(p=-1,d=1),x+="("+s+"<"+c+"||u==null)&&v!=null?"+d+":(u>v||v==null)&&u!=null?"+p+":"+f+"!==u&&v===v?"+d+":v!==v&&u===u?"+p+(ia&&(a=r))}else{for(r=n(t[u]);null==r||r!=r;r=n(t[++u]));for(i=a=r;ua&&(a=r))}return[i,a]}function Q(t,n){var e,r,i,a,u,o=-1,s=t.length;if(null==n){for(;++o=r){e=i=r;break}for(a=u=o;++or&&(e=r,a=o),i=r){e=i=r;break}for(a=u=o;++or&&(e=r,a=o),iu&&(i=a,a=u,u=i),r=void 0===r||r,((e=void 0===e||e)?a<=t:a0?e[s++]:n[o++];for(;o=0;)e+=t;return e}function ht(t,n,e,r){var i=e||" ",a=t+"",u=n-a.length;return u<=0?a:"left"===r?ft(i,u)+a:"center"===r?ft(i,~~(u/2))+a+ft(i,Math.ceil(u/2)):a+ft(i,u)}function dt(t){return k(t)-t[0]||0}function pt(t){return null==t||""===t?null:!(!t||"false"===t||"0"===t)&&!!t}function gt(t){return ut(t)?t:at(t)?t:Date.parse(t)}function mt(t,n){return n=n||gt,null==t||""===t?null:n(t)}function vt(t){return null==t||""===t?null:t+""}function yt(t){for(var n={},e=0,r=t.length;e=0&&e.splice(i,1)),e},e}async function wt(t,n){try{await n(t)}catch(n){t.error(n)}}var At=Symbol("vega_id"),Mt=1;function kt(t){return!(!t||!Et(t))}function Et(t){return t[At]}function Ct(t,n){return t[At]=n,t}function Dt(t){var n=t===Object(t)?t:{data:t};return Et(n)?n:Ct(n,Mt++)}function Ft(t){return St(t,Dt({}))}function St(t,n){for(var e in t)n[e]=t[e];return n}function Bt(t,n){return Ct(n,Et(t))}function Ot(t){return t&&t.constructor===zt}function zt(){var t=[],n=[],e=[],r=[],i=[],a=!1;return{constructor:zt,insert:function(n){for(var e=W(n),r=0,i=e.length;r0&&(m(h,f,c.value),u.modifies(f));for(s=0,l=i.length;s0&&m(t,c.field,c.value)}),u.modifies(c.field);if(a)u.mod=n.length||r.length?o.filter(function(t){return p[Et(t)]>0}):o.slice();else for(d in g)u.mod.push(g[d]);return u}}}var Nt="_:mod:_";function Tt(){Object.defineProperty(this,Nt,{writable:!0,value:{}})}var Rt=Tt.prototype;Rt.set=function(t,n,e,r){var i=this,a=i[t],o=i[Nt];return null!=n&&n>=0?(a[n]!==e||r)&&(a[n]=e,o[n+":"+t]=-1,o[t]=-1):(a!==e||r)&&(i[t]=e,o[t]=u(e)?1+e.length:-1),i},Rt.modified=function(t,n){var e,r=this[Nt];if(!arguments.length){for(e in r)if(r[e])return!0;return!1}if(u(t)){for(e=0;e=0?n+1t?(n=e,1):0})},Ht.debounce=function(t){var n=Wt();return this.targets().add(Wt(null,null,X(t,function(t){var e=t.dataflow;n.receive(t),e&&e.run&&e.run()}))),n},Ht.between=function(t,n){var e=!1;return t.targets().add(Wt(null,null,function(){e=!0})),n.targets().add(Wt(null,null,function(){e=!1})),this.filter(function(){return e})};var Yt=/^([A-Za-z]+:)?\/\//,Gt="file://";async function Vt(t,n){const e=await this.sanitize(t,n),r=e.href;return e.localFile?this.file(r):this.http(r,n)}async function Xt(t,n){n=Z({},this.options,n);const e=this.fileAccess,r={href:null};let a,u,o,s;return null!=t&&"string"==typeof t||i("Sanitize failure, invalid URI: "+l(t)),u=Yt.test(t),(s=n.baseURL)&&!u&&(t.startsWith("/")||"/"===s[s.length-1]||(t="/"+t),t=s+t),o=(a=t.startsWith(Gt))||"file"===n.mode||"http"!==n.mode&&!u&&e,a?t=t.slice(Gt.length):t.startsWith("//")&&("file"===n.defaultProtocol?(t=t.slice(2),o=!0):t=(n.defaultProtocol||"http")+":"+t),Object.defineProperty(r,"localFile",{value:!!o}),r.href=t,n.target&&(r.target=n.target+""),n.rel&&(r.rel=n.rel+""),r}function Zt(t){return t?function(n){return new Promise(function(e,r){t.readFile(n,function(t,n){t?r(t):e(n)})})}:Jt}async function Jt(){i("No file system access.")}function Qt(t){return t?async function(n,e){const r=Z({},this.options.http,e),a=e&&e.response,u=await t(n,r);return u.ok?Y(u[a])?u[a]():u.text():i(u.status+""+u.statusText)}:Kt}async function Kt(){i("No HTTP fetch method available.")}var tn={boolean:pt,integer:E,number:E,date:mt,string:vt,unknown:d},nn=[function(t){return"true"===t||"false"===t||!0===t||!1===t},function(t){return un(t)&&(t=+t)==~~t},un,function(t){return!isNaN(Date.parse(t))}],en=["boolean","integer","number","date"];function rn(t,n){if(!t||!t.length)return"unknown";var e,r,i,a,u=0,o=t.length,s=nn.length,l=nn.map(function(t,n){return n+1});for(r=0,o=t.length;r9999?"+"+pn(n,6):pn(n,4))+"-"+pn(t.getUTCMonth()+1,2)+"-"+pn(t.getUTCDate(),2)+(a?"T"+pn(e,2)+":"+pn(r,2)+":"+pn(i,2)+"."+pn(a,3)+"Z":i?"T"+pn(e,2)+":"+pn(r,2)+":"+pn(i,2)+"Z":r||e?"T"+pn(e,2)+":"+pn(r,2)+"Z":"")}function mn(t){var n=new RegExp('["'+t+"\n\r]"),e=t.charCodeAt(0);function r(t,n){var r,i=[],a=t.length,u=0,o=0,s=a<=0,l=!1;function c(){if(s)return sn;if(l)return l=!1,on;var n,r,i=u;if(t.charCodeAt(i)===ln){for(;u++=a?s=!0:(r=t.charCodeAt(u++))===cn?l=!0:r===fn&&(l=!0,t.charCodeAt(u)===cn&&++u),t.slice(i+1,n-1).replace(/""/g,'"')}for(;u1)r=function(t,n,e){var r,i=[],a=[];function u(t){var n=t<0?~t:t;(a[n]||(a[n]=[])).push({i:t,g:r})}function o(t){t.forEach(u)}function s(t){t.forEach(o)}return function t(n){switch(r=n,n.type){case"GeometryCollection":n.geometries.forEach(t);break;case"LineString":o(n.arcs);break;case"MultiLineString":case"Polygon":s(n.arcs);break;case"MultiPolygon":n.arcs.forEach(s)}}(n),a.forEach(null==e?function(t){i.push(t[0].i)}:function(t){e(t[0].g,t[t.length-1].g)&&i.push(t[0].i)}),i}(0,n,e);else for(i=0,r=new Array(a=t.arcs.length);it!==n,exterior:(t,n)=>t===n};function Cn(t,n){let e,r,a,u;return t=xn(t,n),n&&n.feature?(e=bn,a=n.feature):n&&n.mesh?(e=kn,a=n.mesh,u=En[n.filter]):i("Missing TopoJSON feature or mesh parameter."),(r=(r=t.objects[a])?e(t,r,u):i("Invalid TopoJSON object: "+a))&&r.features||[r]}Cn.responseType="json";const Dn={dsv:yn,csv:vn(","),tsv:vn("\t"),json:xn,topojson:Cn};function Fn(t,n){return arguments.length>1?(Dn[t]=n,this):Dn.hasOwnProperty(t)?Dn[t]:null}function Sn(t){const n=Fn(t);return n&&n.responseType||"text"}var Bn=new Date,On=new Date;function zn(t,n,e,r){function i(n){return t(n=new Date(+n)),n}return i.floor=i,i.ceil=function(e){return t(e=new Date(e-1)),n(e,1),t(e),e},i.round=function(t){var n=i(t),e=i.ceil(t);return t-n0))return o;do{o.push(u=new Date(+e)),n(e,a),t(e)}while(u=n)for(;t(n),!e(n);)n.setTime(n-1)},function(t,r){if(t>=t)if(r<0)for(;++r<=0;)for(;n(t,-1),!e(t););else for(;--r>=0;)for(;n(t,1),!e(t););})},e&&(i.count=function(n,r){return Bn.setTime(+n),On.setTime(+r),t(Bn),t(On),Math.floor(e(Bn,On))},i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?i.filter(r?function(n){return r(n)%t==0}:function(n){return i.count(0,n)%t==0}):i:null}),i}var Nn=zn(function(){},function(t,n){t.setTime(+t+n)},function(t,n){return n-t});Nn.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?zn(function(n){n.setTime(Math.floor(n/t)*t)},function(n,e){n.setTime(+n+e*t)},function(n,e){return(e-n)/t}):Nn:null};var Tn=6e4,Rn=6048e5,Pn=zn(function(t){t.setTime(t-t.getMilliseconds())},function(t,n){t.setTime(+t+1e3*n)},function(t,n){return(n-t)/1e3},function(t){return t.getUTCSeconds()}),Ln=zn(function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds())},function(t,n){t.setTime(+t+n*Tn)},function(t,n){return(n-t)/Tn},function(t){return t.getMinutes()}),qn=zn(function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds()-t.getMinutes()*Tn)},function(t,n){t.setTime(+t+36e5*n)},function(t,n){return(n-t)/36e5},function(t){return t.getHours()}),Un=zn(function(t){t.setHours(0,0,0,0)},function(t,n){t.setDate(t.getDate()+n)},function(t,n){return(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*Tn)/864e5},function(t){return t.getDate()-1});function jn(t){return zn(function(n){n.setDate(n.getDate()-(n.getDay()+7-t)%7),n.setHours(0,0,0,0)},function(t,n){t.setDate(t.getDate()+7*n)},function(t,n){return(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*Tn)/Rn})}var $n=jn(0),In=jn(1),Wn=(jn(2),jn(3),jn(4)),Hn=(jn(5),jn(6),zn(function(t){t.setDate(1),t.setHours(0,0,0,0)},function(t,n){t.setMonth(t.getMonth()+n)},function(t,n){return n.getMonth()-t.getMonth()+12*(n.getFullYear()-t.getFullYear())},function(t){return t.getMonth()})),Yn=zn(function(t){t.setMonth(0,1),t.setHours(0,0,0,0)},function(t,n){t.setFullYear(t.getFullYear()+n)},function(t,n){return n.getFullYear()-t.getFullYear()},function(t){return t.getFullYear()});Yn.every=function(t){return isFinite(t=Math.floor(t))&&t>0?zn(function(n){n.setFullYear(Math.floor(n.getFullYear()/t)*t),n.setMonth(0,1),n.setHours(0,0,0,0)},function(n,e){n.setFullYear(n.getFullYear()+e*t)}):null};var Gn=zn(function(t){t.setUTCSeconds(0,0)},function(t,n){t.setTime(+t+n*Tn)},function(t,n){return(n-t)/Tn},function(t){return t.getUTCMinutes()}),Vn=zn(function(t){t.setUTCMinutes(0,0,0)},function(t,n){t.setTime(+t+36e5*n)},function(t,n){return(n-t)/36e5},function(t){return t.getUTCHours()}),Xn=zn(function(t){t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCDate(t.getUTCDate()+n)},function(t,n){return(n-t)/864e5},function(t){return t.getUTCDate()-1});function Zn(t){return zn(function(n){n.setUTCDate(n.getUTCDate()-(n.getUTCDay()+7-t)%7),n.setUTCHours(0,0,0,0)},function(t,n){t.setUTCDate(t.getUTCDate()+7*n)},function(t,n){return(n-t)/Rn})}var Jn=Zn(0),Qn=Zn(1),Kn=(Zn(2),Zn(3),Zn(4)),te=(Zn(5),Zn(6),zn(function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCMonth(t.getUTCMonth()+n)},function(t,n){return n.getUTCMonth()-t.getUTCMonth()+12*(n.getUTCFullYear()-t.getUTCFullYear())},function(t){return t.getUTCMonth()})),ne=zn(function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCFullYear(t.getUTCFullYear()+n)},function(t,n){return n.getUTCFullYear()-t.getUTCFullYear()},function(t){return t.getUTCFullYear()});function ee(t){if(0<=t.y&&t.y<100){var n=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return n.setFullYear(t.y),n}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function re(t){if(0<=t.y&&t.y<100){var n=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return n.setUTCFullYear(t.y),n}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function ie(t){return{y:t,m:0,d:1,H:0,M:0,S:0,L:0}}ne.every=function(t){return isFinite(t=Math.floor(t))&&t>0?zn(function(n){n.setUTCFullYear(Math.floor(n.getUTCFullYear()/t)*t),n.setUTCMonth(0,1),n.setUTCHours(0,0,0,0)},function(n,e){n.setUTCFullYear(n.getUTCFullYear()+e*t)}):null};var ae,ue,oe,se,le,ce={"-":"",_:" ",0:"0"},fe=/^\s*\d+/,he=/^%/,de=/[\\^$*+?|[\]().{}]/g;function pe(t,n,e){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a68?1900:2e3),e+r[0].length):-1}function ke(t,n,e){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(n.slice(e,e+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),e+r[0].length):-1}function Ee(t,n,e){var r=fe.exec(n.slice(e,e+2));return r?(t.m=r[0]-1,e+r[0].length):-1}function Ce(t,n,e){var r=fe.exec(n.slice(e,e+2));return r?(t.d=+r[0],e+r[0].length):-1}function De(t,n,e){var r=fe.exec(n.slice(e,e+3));return r?(t.m=0,t.d=+r[0],e+r[0].length):-1}function Fe(t,n,e){var r=fe.exec(n.slice(e,e+2));return r?(t.H=+r[0],e+r[0].length):-1}function Se(t,n,e){var r=fe.exec(n.slice(e,e+2));return r?(t.M=+r[0],e+r[0].length):-1}function Be(t,n,e){var r=fe.exec(n.slice(e,e+2));return r?(t.S=+r[0],e+r[0].length):-1}function Oe(t,n,e){var r=fe.exec(n.slice(e,e+3));return r?(t.L=+r[0],e+r[0].length):-1}function ze(t,n,e){var r=fe.exec(n.slice(e,e+6));return r?(t.L=Math.floor(r[0]/1e3),e+r[0].length):-1}function Ne(t,n,e){var r=he.exec(n.slice(e,e+1));return r?e+r[0].length:-1}function Te(t,n,e){var r=fe.exec(n.slice(e));return r?(t.Q=+r[0],e+r[0].length):-1}function Re(t,n,e){var r=fe.exec(n.slice(e));return r?(t.Q=1e3*+r[0],e+r[0].length):-1}function Pe(t,n){return pe(t.getDate(),n,2)}function Le(t,n){return pe(t.getHours(),n,2)}function qe(t,n){return pe(t.getHours()%12||12,n,2)}function Ue(t,n){return pe(1+Un.count(Yn(t),t),n,3)}function je(t,n){return pe(t.getMilliseconds(),n,3)}function $e(t,n){return je(t,n)+"000"}function Ie(t,n){return pe(t.getMonth()+1,n,2)}function We(t,n){return pe(t.getMinutes(),n,2)}function He(t,n){return pe(t.getSeconds(),n,2)}function Ye(t){var n=t.getDay();return 0===n?7:n}function Ge(t,n){return pe($n.count(Yn(t),t),n,2)}function Ve(t,n){var e=t.getDay();return t=e>=4||0===e?Wn(t):Wn.ceil(t),pe(Wn.count(Yn(t),t)+(4===Yn(t).getDay()),n,2)}function Xe(t){return t.getDay()}function Ze(t,n){return pe(In.count(Yn(t),t),n,2)}function Je(t,n){return pe(t.getFullYear()%100,n,2)}function Qe(t,n){return pe(t.getFullYear()%1e4,n,4)}function Ke(t){var n=t.getTimezoneOffset();return(n>0?"-":(n*=-1,"+"))+pe(n/60|0,"0",2)+pe(n%60,"0",2)}function tr(t,n){return pe(t.getUTCDate(),n,2)}function nr(t,n){return pe(t.getUTCHours(),n,2)}function er(t,n){return pe(t.getUTCHours()%12||12,n,2)}function rr(t,n){return pe(1+Xn.count(ne(t),t),n,3)}function ir(t,n){return pe(t.getUTCMilliseconds(),n,3)}function ar(t,n){return ir(t,n)+"000"}function ur(t,n){return pe(t.getUTCMonth()+1,n,2)}function or(t,n){return pe(t.getUTCMinutes(),n,2)}function sr(t,n){return pe(t.getUTCSeconds(),n,2)}function lr(t){var n=t.getUTCDay();return 0===n?7:n}function cr(t,n){return pe(Jn.count(ne(t),t),n,2)}function fr(t,n){var e=t.getUTCDay();return t=e>=4||0===e?Kn(t):Kn.ceil(t),pe(Kn.count(ne(t),t)+(4===ne(t).getUTCDay()),n,2)}function hr(t){return t.getUTCDay()}function dr(t,n){return pe(Qn.count(ne(t),t),n,2)}function pr(t,n){return pe(t.getUTCFullYear()%100,n,2)}function gr(t,n){return pe(t.getUTCFullYear()%1e4,n,4)}function mr(){return"+0000"}function vr(){return"%"}function yr(t){return+t}function xr(t){return Math.floor(+t/1e3)}function _r(t){return ae=function(t){var n=t.dateTime,e=t.date,r=t.time,i=t.periods,a=t.days,u=t.shortDays,o=t.months,s=t.shortMonths,l=me(i),c=ve(i),f=me(a),h=ve(a),d=me(u),p=ve(u),g=me(o),m=ve(o),v=me(s),y=ve(s),x={a:function(t){return u[t.getDay()]},A:function(t){return a[t.getDay()]},b:function(t){return s[t.getMonth()]},B:function(t){return o[t.getMonth()]},c:null,d:Pe,e:Pe,f:$e,H:Le,I:qe,j:Ue,L:je,m:Ie,M:We,p:function(t){return i[+(t.getHours()>=12)]},Q:yr,s:xr,S:He,u:Ye,U:Ge,V:Ve,w:Xe,W:Ze,x:null,X:null,y:Je,Y:Qe,Z:Ke,"%":vr},_={a:function(t){return u[t.getUTCDay()]},A:function(t){return a[t.getUTCDay()]},b:function(t){return s[t.getUTCMonth()]},B:function(t){return o[t.getUTCMonth()]},c:null,d:tr,e:tr,f:ar,H:nr,I:er,j:rr,L:ir,m:ur,M:or,p:function(t){return i[+(t.getUTCHours()>=12)]},Q:yr,s:xr,S:sr,u:lr,U:cr,V:fr,w:hr,W:dr,x:null,X:null,y:pr,Y:gr,Z:mr,"%":vr},b={a:function(t,n,e){var r=d.exec(n.slice(e));return r?(t.w=p[r[0].toLowerCase()],e+r[0].length):-1},A:function(t,n,e){var r=f.exec(n.slice(e));return r?(t.w=h[r[0].toLowerCase()],e+r[0].length):-1},b:function(t,n,e){var r=v.exec(n.slice(e));return r?(t.m=y[r[0].toLowerCase()],e+r[0].length):-1},B:function(t,n,e){var r=g.exec(n.slice(e));return r?(t.m=m[r[0].toLowerCase()],e+r[0].length):-1},c:function(t,e,r){return M(t,n,e,r)},d:Ce,e:Ce,f:ze,H:Fe,I:Fe,j:De,L:Oe,m:Ee,M:Se,p:function(t,n,e){var r=l.exec(n.slice(e));return r?(t.p=c[r[0].toLowerCase()],e+r[0].length):-1},Q:Te,s:Re,S:Be,u:xe,U:_e,V:be,w:ye,W:we,x:function(t,n,r){return M(t,e,n,r)},X:function(t,n,e){return M(t,r,n,e)},y:Me,Y:Ae,Z:ke,"%":Ne};function w(t,n){return function(e){var r,i,a,u=[],o=-1,s=0,l=t.length;for(e instanceof Date||(e=new Date(+e));++o53)return null;"w"in a||(a.w=1),"Z"in a?(i=(r=re(ie(a.y))).getUTCDay(),r=i>4||0===i?Qn.ceil(r):Qn(r),r=Xn.offset(r,7*(a.V-1)),a.y=r.getUTCFullYear(),a.m=r.getUTCMonth(),a.d=r.getUTCDate()+(a.w+6)%7):(i=(r=n(ie(a.y))).getDay(),r=i>4||0===i?In.ceil(r):In(r),r=Un.offset(r,7*(a.V-1)),a.y=r.getFullYear(),a.m=r.getMonth(),a.d=r.getDate()+(a.w+6)%7)}else("W"in a||"U"in a)&&("w"in a||(a.w="u"in a?a.u%7:"W"in a?1:0),i="Z"in a?re(ie(a.y)).getUTCDay():n(ie(a.y)).getDay(),a.m=0,a.d="W"in a?(a.w+6)%7+7*a.W-(i+5)%7:a.w+7*a.U-(i+6)%7);return"Z"in a?(a.H+=a.Z/100|0,a.M+=a.Z%100,re(a)):n(a)}}function M(t,n,e,r){for(var i,a,u=0,o=n.length,s=e.length;u=s)return-1;if(37===(i=n.charCodeAt(u++))){if(i=n.charAt(u++),!(a=b[i in ce?n.charAt(u++):i])||(r=a(t,e,r))<0)return-1}else if(i!=e.charCodeAt(r++))return-1}return r}return x.x=w(e,x),x.X=w(r,x),x.c=w(n,x),_.x=w(e,_),_.X=w(r,_),_.c=w(n,_),{format:function(t){var n=w(t+="",x);return n.toString=function(){return t},n},parse:function(t){var n=A(t+="",ee);return n.toString=function(){return t},n},utcFormat:function(t){var n=w(t+="",_);return n.toString=function(){return t},n},utcParse:function(t){var n=A(t,re);return n.toString=function(){return t},n}}}(t),ue=ae.format,oe=ae.parse,se=ae.utcFormat,le=ae.utcParse,ae}_r({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});Date.prototype.toISOString||se("%Y-%m-%dT%H:%M:%S.%LZ");+new Date("2000-01-01T00:00:00.000Z")||le("%Y-%m-%dT%H:%M:%S.%LZ");function br(t,n,e){const r=Fn((n=n||{}).type||"json");return r||i("Unknown data format type: "+n.type),t=r(t,n),n.parse&&function(t,n,e){if(!t.length)return;e=e||oe;var r,i,a,u,o,s,l,c=t.columns||Object.keys(t[0]);"auto"===n&&(n=an(t,c));for(c=Object.keys(n),r=c.map(function(t){var r,i,a=n[t];if(a&&(0===a.indexOf("date:")||0===a.indexOf("utc:")))return("'"===(i=(r=a.split(/:(.+)?/,2))[1])[0]&&"'"===i[i.length-1]||'"'===i[0]&&'"'===i[i.length-1])&&(i=i.slice(1,-1)),"utc"===r[0]?le(i):e(i);if(!tn[a])throw Error("Illegal format pattern: "+t+":"+a);return tn[a]}),u=0,s=t.length,l=c.length;ut.touch(e(n))):Y(r)?(o=new qt(null,r,i,!1),u=(n=>{o.evaluate(n);const r=e(n),i=o.value;Ot(i)?t.pulse(r,i,a):t.update(r,i,s)})):u=(n=>t.update(e(n),r,s)),n.apply(u)}function Er(t,n,e,r,i,a){if(void 0===r)n.targets().add(e);else{const u=a||{},o=new qt(null,function(t,n){return n=Y(n)?n:V(n),t?function(e,r){const i=n(e,r);return t.skip()||(t.skip(i!==this.value).value=i),i}:n}(e,r),i,!1);o.modified(u.force),o.rank=n.rank,n.targets().add(o),e&&(o.skip(!0),o.value=e.value,o.targets().add(e),t.connect(e,[o]))}}var Cr={};function Dr(t,n,e){this.dataflow=t,this.stamp=null==n?-1:n,this.add=[],this.rem=[],this.mod=[],this.fields=null,this.encode=e||null}var Fr=Dr.prototype;function Sr(t,n){return t?function(e,r){return t(e,r)&&n(e,r)}:n}function Br(t,n){var e=[];return _t(t,n,function(t){e.push(t)}),e}function Or(t,n){var e={};return t.visit(n,function(t){e[Et(t)]=1}),function(t){return e[Et(t)]?null:t}}function zr(t,n,e,r){var i,a,u,o,s,l=this,c=0;for(this.dataflow=t,this.stamp=n,this.fields=null,this.encode=r||null,this.pulses=e,u=0,o=e.length;un.length,peek:()=>n[0],push:e=>(n.push(e),Lr(n,0,n.length-1,t)),pop:()=>{var e,r=n.pop();return n.length?(e=n[0],n[0]=r,function(t,n,e){var r,i=n,a=t.length,u=t[n],o=1+(n<<1);for(;o=0&&(o=r),t[n]=t[o],o=1+((n=o)<<1);t[n]=u,Lr(t,i,n,e)}(n,0,t)):e=r,e}}}function Lr(t,n,e,r){var i,a,u;for(i=t[e];e>n&&r(i,a=t[u=e-1>>1])<0;)t[e]=a,e=u;return t[e]=i}function qr(){this.logger(M()),this.logLevel(_),this._clock=0,this._rank=0;try{this._loader=wr()}catch(t){}this._touched=bt(h),this._pulses={},this._pulse=null,this._heap=Pr((t,n)=>t.qrank-n.qrank),this._postrun=[]}var Ur=qr.prototype;function jr(t){return function(){return this._log[t].apply(this,arguments)}}function $r(t,n){qt.call(this,t,null,n)}Ur.stamp=function(){return this._clock},Ur.loader=function(t){return arguments.length?(this._loader=t,this):this._loader},Ur.cleanThreshold=1e4,Ur.add=function(t,n,e,r){var i,a=1;return t instanceof qt?i=t:t&&t.prototype instanceof qt?i=new t:Y(t)?i=new qt(null,t):(a=0,i=new qt(t,n)),this.rank(i),a&&(r=e,e=n),e&&this.connect(i,i.parameters(e,r)),this.touch(i),i},Ur.connect=function(t,n){var e,r,i=t.rank;for(e=0,r=n.length;e=0;)a.push(n=e[r]),n===t&&i("Cycle detected in dataflow graph.")},Ur.pulse=function(t,n,e){this.touch(t,e||Rr);var r=new Dr(this,this._clock+(this._pulse?0:1)),i=t.pulse&&t.pulse.source||[];return r.target=t,this._pulses[t.id]=n.pulse(r,i),this},Ur.touch=function(t,n){var e=n||Rr;return this._pulse?this._enqueue(t):this._touched.add(t),e.skip&&t.skip(!0),this},Ur.update=function(t,n,e){var r=e||Rr;return(t.set(n)||r.force)&&this.touch(t,r),this},Ur.changeset=zt,Ur.ingest=function(t,n,e){return this.pulse(t,this.changeset().insert(Ar(n,e)))},Ur.parse=Ar,Ur.preload=async function(t,n,e){const r=this,i=r._pending||function(t){var n,e=new Promise(function(t){n=t});return e.requests=0,e.done=function(){0==--e.requests&&(t._pending=null,n(t))},t._pending=e}(r);i.requests+=1;const a=await r.request(n,e);return r.pulse(t,r.changeset().remove(m).insert(a.data||[])),i.done(),a},Ur.request=async function(t,n){const e=this;let r,i=0;try{r=await e.loader().load(t,{context:"dataflow",response:Sn(n&&n.type)});try{r=Ar(r,n)}catch(n){i=-2,e.warn("Data ingestion failed",t,n)}}catch(n){i=-1,e.warn("Loading failed",t,n)}return{data:r,status:i}},Ur.events=function(t,n,e,r){for(var i,a=this,u=Wt(e,r),o=function(t){t.dataflow=a;try{u.receive(t)}catch(t){a.error(t)}finally{a.run()}},s=0,l=(i="string"==typeof t&&"undefined"!=typeof document?document.querySelectorAll(t):W(t)).length;s=w&&(o=Date.now(),r.debug("-- START PROPAGATION ("+l+") -----")),r._touched.forEach(function(t){r._enqueue(t,!0)}),r._touched=bt(h);try{for(;r._heap.size()>0;)(a=r._heap.pop()).rank===a.qrank?((u=a.run(r._getPulse(a,t))).then&&(u=await u),i>=A&&r.debug(a.id,u===Cr?"STOP":u,a),u!==Cr&&(r._pulse=u,a._targets&&a._targets.forEach(t=>r._enqueue(t))),++c):r._enqueue(a,!0)}catch(t){s=t}if(r._pulses={},r._pulse=null,i>=w&&(o=Date.now()-o,r.info("> Pulse "+l+": "+c+" operators; "+o+"ms")),s&&(r._postrun=[],r.error(s)),r._postrun.length){const t=r._postrun.sort((t,n)=>n.priority-t.priority);r._postrun=[];for(let n=0;nthis._running=null;return(this._running=this.evaluate(t,n,e)).then(r,r),this._running},Ur.runAfter=function(t,n,e){if(this._pulse||n)this._postrun.push({priority:e||0,callback:t});else try{t(this)}catch(t){this.error(t)}},Ur._enqueue=function(t,n){var e=!this._pulses[t.id];e&&(this._pulses[t.id]=this._pulse),(e||n)&&(t.qrank=t.rank,this._heap.push(t))},Ur._getPulse=function(t,n){var e,r=t.source,i=this._clock;return r&&u(r)?new zr(this,i,e=r.map(function(t){return t.pulse}),n):(e=this._pulses[t.id],r&&((r=r.pulse)&&r!==Cr?r.stamp===i&&e.target!==t?e=r:e.source=r.source:e.source=[]),e)},Ur.logger=function(t){return arguments.length?(this._log=t,this):this._log},Ur.error=jr("error"),Ur.warn=jr("warn"),Ur.info=jr("info"),Ur.debug=jr("debug"),Ur.logLevel=jr("level");var Ir=et($r,qt);Ir.run=function(t){return t.stamp<=this.stamp?t.StopPropagation:(this.skip()?this.skip(!1):n=this.evaluate(t),n=n||t,this.stamp=t.stamp,n.then?n=n.then(t=>this.pulse=t):n!==t.StopPropagation&&(this.pulse=n),n);var n},Ir.evaluate=function(t){var n=this.marshall(t.stamp),e=this.transform(n,t);return n.clear(),e},Ir.transform=function(){};var Wr={};function Hr(t){var n=Yr(t);return n&&n.Definition||null}function Yr(t){return t=t&&t.toLowerCase(),Wr.hasOwnProperty(t)?Wr[t]:null}function Gr(t){return t&&t.length?1===t.length?t[0]:(n=t,function(t){for(var e=n.length,r=1,i=String(n[0](t));r 1 ? this.dev / (this.valid-1) : undefined",req:["mean"],idx:1}),variancep:Qr({name:"variancep",set:"this.valid > 1 ? this.dev / this.valid : undefined",req:["variance"],idx:2}),stdev:Qr({name:"stdev",set:"this.valid > 1 ? Math.sqrt(this.dev / (this.valid-1)) : undefined",req:["variance"],idx:2}),stdevp:Qr({name:"stdevp",set:"this.valid > 1 ? Math.sqrt(this.dev / this.valid) : undefined",req:["variance"],idx:2}),stderr:Qr({name:"stderr",set:"this.valid > 1 ? Math.sqrt(this.dev / (this.valid * (this.valid-1))) : undefined",req:["variance"],idx:2}),distinct:Qr({name:"distinct",set:"cell.data.distinct(this.get)",req:["values"],idx:3}),ci0:Qr({name:"ci0",set:"cell.data.ci0(this.get)",req:["values"],idx:3}),ci1:Qr({name:"ci1",set:"cell.data.ci1(this.get)",req:["values"],idx:3}),median:Qr({name:"median",set:"cell.data.q2(this.get)",req:["values"],idx:3}),q1:Qr({name:"q1",set:"cell.data.q1(this.get)",req:["values"],idx:3}),q3:Qr({name:"q3",set:"cell.data.q3(this.get)",req:["values"],idx:3}),argmin:Qr({name:"argmin",init:"this.argmin = undefined;",add:"if (v < this.min) this.argmin = t;",rem:"if (v <= this.min) this.argmin = undefined;",set:"this.argmin || cell.data.argmin(this.get)",req:["min"],str:["values"],idx:3}),argmax:Qr({name:"argmax",init:"this.argmax = undefined;",add:"if (v > this.max) this.argmax = t;",rem:"if (v >= this.max) this.argmax = undefined;",set:"this.argmax || cell.data.argmax(this.get)",req:["max"],str:["values"],idx:3}),min:Qr({name:"min",init:"this.min = undefined;",add:"if (v < this.min || this.min === undefined) this.min = v;",rem:"if (v <= this.min) this.min = NaN;",set:"this.min = (isNaN(this.min) ? cell.data.min(this.get) : this.min)",str:["values"],idx:4}),max:Qr({name:"max",init:"this.max = undefined;",add:"if (v > this.max || this.max === undefined) this.max = v;",rem:"if (v >= this.max) this.max = NaN;",set:"this.max = (isNaN(this.max) ? cell.data.max(this.get) : this.max)",str:["values"],idx:4})},Zr=Object.keys(Xr);function Jr(t,n){return Xr[t](n)}function Qr(t){return function(n){var e=Z({init:"",add:"",rem:"",idx:0},t);return e.out=n||t.name,e}}function Kr(t,n){return t.idx-n.idx}function ti(t,n){var e=n||d,r=function(t,n){var e,r=t.reduce(function t(e,r){function i(n){e[n]||t(e,e[n]=Xr[n]())}return r.req&&r.req.forEach(i),n&&r.str&&r.str.forEach(i),e},t.reduce(function(t,n){return t[n.name]=n,t},{})),i=[];for(e in r)i.push(r[e]);return i.sort(Kr)}(t,!0),i="var cell = this.cell; this.valid = 0; this.missing = 0;",a="this.cell = cell; this.init();",u="if(v==null){++this.missing; return;} if(v!==v) return; ++this.valid;",o="if(v==null){--this.missing; return;} if(v!==v) return; --this.valid;",s="var cell = this.cell;";return r.forEach(function(t){i+=t.init,u+=t.add,o+=t.rem}),t.slice().sort(Kr).forEach(function(t){s+="t['"+t.out+"']="+t.set+";"}),s+="return t;",(a=Function("cell",a)).prototype.init=Function(i),a.prototype.add=Function("v","t",u),a.prototype.rem=Function("v","t",o),a.prototype.set=Function("t",s),a.prototype.get=e,a.fields=t.map(function(t){return t.out}),a}function ni(t){var n,e,r,i,a,u,o,s,l=t.maxbins||20,c=t.base||10,f=Math.log(c),h=t.divide||[5,2],d=t.extent[0],p=t.extent[1],g=p-d||Math.abs(d)||1;if(t.step)n=t.step;else if(t.steps){for(a=g/l,u=0,o=t.steps.length;ul;)n*=c;for(u=0,o=h.length;u=r&&g/a<=l&&(n=a)}return i=(a=Math.log(n))>=0?0:1+~~(-a/f),s=Math.pow(c,-i-1),(t.nice||void 0===t.nice)&&(d=d<(a=Math.floor(d/n+s)*n)?a-n:a,p=Math.ceil(p/n)*n),{start:d,stop:p===d?d+n:p,step:n}}function*ei(t,n){if(void 0===n)for(let n of t)null!=n&&(n=+n)>=n&&(yield n);else{let e=-1;for(let r of t)null!=(r=n(r,++e,t))&&(r=+r)>=r&&(yield r)}}function ri(t,n){return tn?1:t>=n?0:NaN}function ii(t){var n;return 1===t.length&&(n=t,t=function(t,e){return ri(n(t),e)}),{left:function(n,e,r,i){for(null==r&&(r=0),null==i&&(i=n.length);r>>1;t(n[a],e)<0?r=a+1:i=a}return r},right:function(n,e,r,i){for(null==r&&(r=0),null==i&&(i=n.length);r>>1;t(n[a],e)>0?i=a:r=a+1}return r}}}t.random=Math.random;var ai=ii(ri),ui=ai.right,oi=ai.left;function si(t,n){let e,r;if(void 0===n)for(let n of t)null!=n&&n>=n&&(void 0===e?e=r=n:(e>n&&(e=n),r=a&&(void 0===e?e=r=a:(e>a&&(e=a),r0)return[t];if((r=n0)for(t=Math.ceil(t/u),n=Math.floor(n/u),a=new Array(i=Math.ceil(n-t+1));++o=0?(a>=ci?10:a>=fi?5:a>=hi?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=ci?10:a>=fi?5:a>=hi?2:1)}function gi(t,n,e){var r=Math.abs(n-t)/Math.max(0,e),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),a=r/i;return a>=ci?i*=10:a>=fi?i*=5:a>=hi&&(i*=2),n=1)return+e(t[r-1],r-1,t);var r,i=(r-1)*n,a=Math.floor(i),u=+e(t[a],a,t);return u+(+e(t[a+1],a+1,t)-u)*(i-a)}}function vi(t,n,e=0,r=t.length-1,i=ri){for(;r>e;){if(r-e>600){const a=r-e+1,u=n-e+1,o=Math.log(a),s=.5*Math.exp(2*o/3),l=.5*Math.sqrt(o*s*(a-s)/a)*(u-a/2<0?-1:1);vi(t,n,Math.max(e,Math.floor(n-u*s/a+l)),Math.min(r,Math.floor(n+(a-u)*s/a+l)),i)}const a=t[n];let u=e,o=r;for(yi(t,e,n),i(t[r],a)>0&&yi(t,e,r);u0;)--o}0===i(t[e],a)?yi(t,e,o):yi(t,++o,r),o<=n&&(e=o+1),n<=o&&(r=o-1)}return t}function yi(t,n,e){const r=t[n];t[n]=t[e],t[e]=r}function xi(t,n){if(!(t=Float64Array.from(function*(t,n){if(void 0===n)for(let n of t)null!=n&&(n=+n)>=n&&(yield n);else{let e=-1;for(let r of t)null!=(r=n(r,++e,t))&&(r=+r)>=r&&(yield r)}}(t,n))).length)return;const e=t.length,r=e>>1;return vi(t,r-1,0),0==(1&e)&&vi(t,r,r),mi(t,.5)}function _i(n,e,r,i){if(!n.length)return[void 0,void 0];var a,u,o,s,l=Float64Array.from(ei(n,i)),c=l.length,f=e;for(o=0,s=Array(f);o1);return e=Math.sqrt(-2*Math.log(n)/n),a=r+o*e*i,r+u*e*i},pdf:function(t){var n=Math.exp(Math.pow(t-r,2)/(-2*Math.pow(i,2)));return 1/(i*Math.sqrt(2*Math.PI))*n},cdf:function(t){var n,e=(t-r)/i,a=Math.abs(e);if(a>37)n=0;else{var u=Math.exp(-a*a/2);a<7.07106781186547?(n=u*((((((.0352624965998911*a+.700383064443688)*a+6.37396220353165)*a+33.912866078383)*a+112.079291497871)*a+221.213596169931)*a+220.206867912376),n/=((((((.0883883476483184*a+1.75566716318264)*a+16.064177579207)*a+86.7807322029461)*a+296.564248779674)*a+637.333633378831)*a+793.826512519948)*a+440.413735824752):n=u/(a+1/(a+2/(a+3/(a+4/(a+.65)))))/2.506628274631}return e>0?1-n:n},icdf:function(t){if(t<=0||t>=1)return NaN;var n=2*t-1,e=8*(Math.PI-3)/(3*Math.PI*(4-Math.PI)),a=2/(Math.PI*e)+Math.log(1-Math.pow(n,2))/2,u=Math.log(1-n*n)/e,o=(n>0?1:-1)*Math.sqrt(Math.sqrt(a*a-u)-a);return r+i*Math.SQRT2*o}};return u.mean(n).stdev(e)}function Ai(n,e){var r=wi(),i={},a=0;return i.data=function(t){return arguments.length?(n=t,a=t?t.length:0,i.bandwidth(e)):n},i.bandwidth=function(t){return arguments.length?(!(e=t)&&n&&(a=(r=n).length,u=bi(r),o=(u[2]-u[0])/1.34,e=1.06*Math.min(Math.sqrt(function(t,n){let e,r=0,i=0,a=0;if(void 0===n)for(let n of t)null!=n&&(n=+n)>=n&&(a+=(e=n-i)*(n-(i+=e/++r)));else{let u=-1;for(let o of t)null!=(o=n(o,++u,t))&&(o=+o)>=o&&(a+=(e=o-i)*(o-(i+=e/++r)))}if(r>1)return a/(r-1)}(r)),o)*Math.pow(a,-.2)),i):e;var r,a,u,o},i.sample=function(){return n[~~(t.random()*a)]+e*r.sample()},i.pdf=function(t){for(var i=0,u=0;u=r&&t<=i?1/a:0},u.cdf=function(t){return ti?1:(t-r)/a},u.icdf=function(t){return t>=0&&t<=1?r+t*a:NaN},u.min(n).max(e)}function Ei(t,n,e,r){const i=r-t*t,a=Math.abs(i)<1e-24?0:(e-t*n)/i;return[n-a*t,a]}function Ci(t,n,e,r){t=t.filter(t=>{let r=n(t),i=e(t);return null!=r&&(r=+r)>=r&&null!=i&&(i=+i)>=i}),r&&t.sort((t,e)=>n(t)-n(e));const i=new Float64Array(t.length),a=new Float64Array(t.length);let u=0;for(let r of t)i[u]=n(r),a[u]=e(r),++u;return[i,a]}function Di(t,n,e,r){let i,a,u=-1,o=-1;for(let s of t)i=n(s,++u,t),a=e(s,u,t),null!=i&&(i=+i)>=i&&null!=a&&(a=+a)>=a&&r(i,a,++o)}function Fi(t,n,e,r,i){let a=0,u=0;return Di(t,n,e,(t,n)=>{const e=n-i(t),o=n-r;a+=e*e,u+=o*o}),1-a/u}function Si(t,n,e){let r=0,i=0,a=0,u=0,o=0;Di(t,n,e,(t,n)=>{r+=t,i+=n,a+=t*n,u+=t*t,++o});const s=Ei(r/o,i/o,a/o,u/o),l=t=>s[0]+s[1]*t;return{coef:s,predict:l,rSquared:Fi(t,n,e,i/o,l)}}function Bi(t,n,e){let r=0,i=0,a=0,u=0,o=0;Di(t,n,e,(t,n)=>{t=Math.log(t),r+=t,i+=n,a+=t*n,u+=t*t,++o});const s=Ei(r/o,i/o,a/o,u/o),l=t=>s[0]+s[1]*Math.log(t);return{coef:s,predict:l,rSquared:Fi(t,n,e,i/o,l)}}function Oi(t,n,e){let r=0,i=0,a=0,u=0,o=0,s=0;Di(t,n,e,(t,n)=>{const e=Math.log(n),l=t*n;r+=n,a+=l,o+=t*l,i+=n*e,u+=l*e,++s});const l=Ei(a/r,i/r,u/r,o/r),c=t=>l[0]*Math.exp(l[1]*t);return l[0]=Math.exp(l[0]),{coef:l,predict:c,rSquared:Fi(t,n,e,r/s,c)}}function zi(t,n,e){let r=0,i=0,a=0,u=0,o=0,s=0;Di(t,n,e,(t,n)=>{const e=Math.log(t),l=Math.log(n);r+=e,i+=l,a+=e*l,u+=e*e,o+=n,++s});const l=Ei(r/s,i/s,a/s,u/s),c=t=>l[0]*Math.pow(t,l[1]);return l[0]=Math.exp(l[0]),{coef:l,predict:c,rSquared:Fi(t,n,e,o/s,c)}}function Ni(t,n,e){let r=0,i=0,a=0,u=0,o=0,s=0,l=0,c=0;Di(t,n,e,(t,n)=>{const e=t*t;r+=t,i+=n,a+=e,u+=e*t,o+=e*e,s+=t*n,l+=e*n,++c});const f=a-r*r/c,h=u-a*r/c,d=o-a*a/c,p=f*d-h*h,g=((l-=a*(i/=c))*f-(s-=r*i)*h)/p,m=(s*d-l*h)/p,v=i-m*(r/c)-g*(a/c),y=t=>g*t*t+m*t+v;return{coef:[v,m,g],predict:y,rSquared:Fi(t,n,e,i,y)}}function Ti(t,n,e,r){if(1===r)return Si(t,n,e);if(2===r)return Ni(t,n,e);const[i,a]=Ci(t,n,e),u=i.length,o=[],s=[],l=r+1;let c,f,h,d,p,g=0;for(c=0;cMath.abs(t[r][u])&&(u=i);for(a=r;a=r;a--)t[a][i]-=t[a][r]*t[r][i]/t[r][r]}for(i=n-1;i>=0;--i){for(o=0,a=i+1;a{let n=0,e=0,r=m.length;for(;ei[u]-e?r:u;let f=0,h=0,d=0,p=0,g=0,m=1/Math.abs(i[o]-e||1);for(let t=r;t<=u;++t){const n=i[t],r=a[t],u=qi(Math.abs(e-n)*m)*c[t],o=n*u;f+=u,h+=o,d+=r*u,p+=r*o,g+=n*o}const[v,y]=Ei(h/f,d/f,p/f,g/f);s[t]=v+y*e,l[t]=Math.abs(a[t]-s[t]),Ui(i,t+1,n)}if(t===Ri)break;const e=xi(l);if(Math.abs(e)=1?Pi:(n=1-t*t)*n}return function(t,n){const e=t.length,r=[];for(let i,a=0,u=0,o=[];a=t.length))for(;n>i&&t[a]-r<=r-t[i];)e[0]=++i,e[1]=a,++a}const ji=.1*Math.PI/180;function $i(t,n,e,r){e=e||25,r=Math.max(e,r||200);const i=n=>[n,t(n)],a=n[0],u=n[1],o=u-a,s=o/r,l=[i(a)],c=[];if(e===r){for(let t=1;t0;)c.push(i(a+t/e*o));let f=l[0],h=c[c.length-1];for(;h;){const t=i((f[0]+h[0])/2);t[0]-f[0]>=s&&Ii(f,t,h)>ji?c.push(t):(f=h,l.push(h),c.pop()),h=c[c.length-1]}return l}function Ii(t,n,e){const r=Math.atan2(e[1]-t[1],e[0]-t[0]),i=Math.atan2(n[1]-t[1],n[0]-t[0]);return Math.abs(r-i)}function Wi(t){this._key=t?c(t):Et,this.reset()}var Hi=Wi.prototype;function Yi(t){$r.call(this,null,t),this._adds=[],this._mods=[],this._alen=0,this._mlen=0,this._drop=!0,this._cross=!1,this._dims=[],this._dnames=[],this._measures=[],this._countOnly=!1,this._counts=null,this._prev=null,this._inputs=null,this._outputs=null}Hi.reset=function(){this._add=[],this._rem=[],this._ext=null,this._get=null,this._q=null},Hi.add=function(t){this._add.push(t)},Hi.rem=function(t){this._rem.push(t)},Hi.values=function(){if(this._get=null,0===this._rem.length)return this._add;var t,n,e,r=this._add,i=this._rem,a=this._key,u=r.length,o=i.length,s=Array(u-o),l={};for(t=0;t=0;)n=t(e[r])+"",i.hasOwnProperty(n)||(i[n]=1,++a);return a},Hi.extent=function(t){if(this._get!==t||!this._ext){var n=this.values(),e=Q(n,t);this._ext=[n[e[0]],n[e[1]]],this._get=t}return this._ext},Hi.argmin=function(t){return this.extent(t)[0]||{}},Hi.argmax=function(t){return this.extent(t)[1]||{}},Hi.min=function(t){var n=this.extent(t)[0];return null!=n?t(n):void 0},Hi.max=function(t){var n=this.extent(t)[1];return null!=n?t(n):void 0},Hi.quartile=function(t){return this._get===t&&this._q||(this._q=bi(this.values(),t),this._get=t),this._q},Hi.q1=function(t){return this.quartile(t)[0]},Hi.q2=function(t){return this.quartile(t)[1]},Hi.q3=function(t){return this.quartile(t)[2]},Hi.ci=function(t){return this._get===t&&this._ci||(this._ci=_i(this.values(),1e3,.05,t),this._get=t),this._ci},Hi.ci0=function(t){return this.ci(t)[0]},Hi.ci1=function(t){return this.ci(t)[1]},Yi.Definition={type:"Aggregate",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:Zr},{name:"fields",type:"field",null:!0,array:!0},{name:"as",type:"string",null:!0,array:!0},{name:"drop",type:"boolean",default:!0},{name:"cross",type:"boolean",default:!1},{name:"key",type:"field"}]};var Gi=et(Yi,$r);Gi.transform=function(t,n){var e,r=this,i=n.fork(n.NO_SOURCE|n.NO_FIELDS);return this.stamp=i.stamp,this.value&&((e=t.modified())||n.modified(this._inputs))?(this._prev=this.value,this.value=e?this.init(t):{},n.visit(n.SOURCE,function(t){r.add(t)})):(this.value=this.value||this.init(t),n.visit(n.REM,function(t){r.rem(t)}),n.visit(n.ADD,function(t){r.add(t)})),i.modifies(this._outputs),r._drop=!1!==t.drop,t.cross&&r._dims.length>1&&(r._drop=!1,this.cross()),r.changes(i)},Gi.cross=function(){var t=this,n=t.value,e=t._dnames,r=e.map(function(){return{}}),i=e.length;function a(t){var n,a,u,o;for(n in t)for(u=t[n].tuple,a=0;ai(n,t),r(i),e(i))}function ha(t){$r.call(this,[void 0,void 0],t)}function da(t,n){qt.call(this,t),this.parent=n}oa.Definition={type:"Density",metadata:{generates:!0},params:[{name:"extent",type:"number",array:!0,length:2},{name:"steps",type:"number"},{name:"minsteps",type:"number",default:25},{name:"maxsteps",type:"number",default:200},{name:"method",type:"string",default:"pdf",values:["pdf","cdf"]},{name:"distribution",type:"param",params:sa.concat(la)},{name:"as",type:"string",array:!0,default:["value","density"]}]},et(oa,$r).transform=function(t,n){var e=n.fork(n.NO_SOURCE|n.NO_FIELDS);if(!this.value||n.changed()||t.modified()){var r=function t(n,e){var r=n[aa];ra.hasOwnProperty(r)||i("Unknown distribution function: "+r);var a=ra[r]();for(var u in n)u===ua?a.data((n.from||e()).map(n[u])):u===ia?a[u](n[u].map(function(n){return t(n,e)})):typeof a[u]===aa&&a[u](n[u]);return a}(t.distribution,function(t){return function(){return t.materialize(t.SOURCE).source}}(n)),a=t.steps||t.minsteps||25,u=t.steps||t.maxsteps||200,o=t.method||"pdf";"pdf"!==o&&"cdf"!==o&&i("Invalid density method: "+o),t.extent||r.data||i("Missing density extent parameter."),o=r[o];var s=t.as||["value","density"],l=$i(o,t.extent||J(r.data()),a,u).map(t=>{var n={};return n[s[0]]=t[0],n[s[1]]=t[1],Dt(n)});this.value&&(e.rem=this.value),this.value=e.add=e.source=l}return e},et(ca,qt),ha.Definition={type:"Extent",metadata:{},params:[{name:"field",type:"field",required:!0}]},et(ha,$r).transform=function(t,n){var e,r=this.value,i=t.field,a=r[0],u=r[1];((e=n.changed()||n.modified(i.fields)||t.modified("field"))||null==a)&&(a=1/0,u=-1/0),n.visit(e?n.SOURCE:n.ADD,function(t){var n=i(t);null!=n&&((n=+n)u&&(u=n))}),isFinite(a)&&isFinite(u)||(a=u=void 0),this.value=[a,u]};var pa=et(da,qt);function ga(t){$r.call(this,{},t),this._keys=tt();var n=this._targets=[];n.active=0,n.forEach=function(t){for(var e=0,r=n.active;ee.cleanThreshold&&e.runAfter(u.clean),n},et(va,qt),xa.Definition={type:"Filter",metadata:{changes:!0},params:[{name:"expr",type:"expr",required:!0}]},et(xa,$r).transform=function(t,n){var e=n.dataflow,r=this.value,i=n.fork(),a=i.add,u=i.rem,o=i.mod,s=t.expr,l=!0;function c(n){var e=Et(n),i=s(n,t),c=r.get(e);i&&c?(r.delete(e),a.push(n)):i||c?l&&i&&!c&&o.push(n):(r.set(e,1),u.push(n))}return n.visit(n.REM,function(t){var n=Et(t);r.has(n)?r.delete(n):u.push(t)}),n.visit(n.ADD,function(n){s(n,t)?a.push(n):r.set(Et(n),1)}),n.visit(n.MOD,c),t.modified()&&(l=!1,n.visit(n.REFLOW,c)),r.empty>e.cleanThreshold&&e.runAfter(r.clean),i},ba.Definition={type:"Flatten",metadata:{generates:!0},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"as",type:"string",array:!0}]},et(ba,$r).transform=function(t,n){var e=n.fork(n.NO_SOURCE),r=t.fields,i=_a(r,t.as||[]),a=i.length;return e.rem=this.value,n.visit(n.SOURCE,function(t){for(var n,u,o,s=r.map(function(n){return n(t)}),l=s.reduce(function(t,n){return Math.max(t,n.length)},0),c=0;c0){for(e=[];--o>=0;)e.push(i=Dt(s(t))),a.push(i);u.add=u.add.length?u.materialize(u.ADD).add.concat(e):e}else r=a.slice(0,-o),u.rem=u.rem.length?u.materialize(u.REM).rem.concat(r):r,a=a.slice(-o);return u.source=this.value=a,u};var ka={value:"value",median:xi,mean:function(t,n){let e=0,r=0;if(void 0===n)for(let n of t)null!=n&&(n=+n)>=n&&(++e,r+=n);else{let i=-1;for(let a of t)null!=(a=n(a,++i,t))&&(a=+a)>=a&&(++e,r+=a)}if(e)return r/e},min:function(t,n){let e;if(void 0===n)for(let n of t)null!=n&&n>=n&&(void 0===e||e>n)&&(e=n);else{let r=-1;for(let i of t)null!=(i=n(i,++r,t))&&i>=i&&(void 0===e||e>i)&&(e=i)}return e},max:function(t,n){let e;if(void 0===n)for(let n of t)null!=n&&n>=n&&(void 0===e||e=i&&(void 0===e||ea&&(a=r[1]);return[i,a]}function La(t){qt.call(this,null,qa,t)}function qa(t){return this.value&&!t.modified()?this.value:t.values.reduce(function(t,n){return t.concat(n)},[])}function Ua(t){$r.call(this,null,t)}function ja(t){Yi.call(this,t)}Fa.transform=function(t,n){var e,r=this,i=t.modified();return r.value&&(i||n.modified(r._inputs))?(e=r.value=i?r.init(t):{},n.visit(n.SOURCE,function(t){r.add(t)})):(e=r.value=r.value||this.init(t),n.visit(n.REM,function(t){r.rem(t)}),n.visit(n.ADD,function(t){r.add(t)})),r.changes(),n.visit(n.SOURCE,function(t){Z(t,e[r.cellkey(t)].tuple)}),n.reflow(i).modifies(this._outputs)},Fa.changes=function(){var t,n,e=this._adds,r=this._mods;for(t=0,n=this._alen;t{const e=Ai(n,o)[s],r=t.counts?n.length:1;$i(e,t.extent||si(n),l,c).forEach(t=>{const e={};for(let t=0;tNa(this,n,t.data||[]))},Ta.Definition={type:"Lookup",metadata:{modifies:!0},params:[{name:"index",type:"index",params:[{name:"from",type:"data",required:!0},{name:"key",type:"field",required:!0}]},{name:"values",type:"field",array:!0},{name:"fields",type:"field",array:!0,required:!0},{name:"as",type:"string",array:!0},{name:"default",default:null}]},et(Ta,$r).transform=function(t,n){var r,a,u=n,o=t.as,s=t.fields,l=t.index,c=t.values,f=null==t.default?null:t.default,h=t.modified(),d=h?n.SOURCE:n.ADD,p=s.length;return c?(a=c.length,p>1&&!o&&i('Multi-field lookup requires explicit "as" parameter.'),o&&o.length!==p*a&&i('The "as" parameter has too few output field names.'),o=o||c.map(e),r=function(t){for(var n,e,r=0,i=0;rn||null==n)&&null!=t?1:(n=n instanceof Date?+n:n,(t=t instanceof Date?+t:t)!==t&&n==n?-1:n!=n&&t==t?1:0)}),n?i.slice(0,n):i}(i,t.limit||0,e);return{key:t.key,groupby:t.groupby,ops:s.map(function(){return u}),fields:s.map(function(t){return function(t,e,r,i){return n(function(n){return e(n)===t?r(n):NaN},i,t+"")}(t,i,a,o)}),as:s.map(function(t){return t+""}),modified:t.modified.bind(t)}}(t,e),e)},et(Ia,ga).transform=function(t,n){var e=this,a=t.subflow,u=t.field;return(t.modified("field")||u&&n.modified(r(u)))&&i("PreFacet does not support field modification."),this._targets.active=0,n.visit(n.MOD,function(t){var r=e.subflow(Et(t),a,n,t);u?u(t).forEach(function(t){r.mod(t)}):r.mod(t)}),n.visit(n.ADD,function(t){var r=e.subflow(Et(t),a,n,t);u?u(t).forEach(function(t){r.add(Dt(t))}):r.add(t)}),n.visit(n.REM,function(t){var r=e.subflow(Et(t),a,n,t);u?u(t).forEach(function(t){r.rem(t)}):r.rem(t)}),n},Wa.Definition={type:"Project",metadata:{generates:!0,changes:!0},params:[{name:"fields",type:"field",array:!0},{name:"as",type:"string",null:!0,array:!0}]},et(Wa,$r).transform=function(t,n){var e,r,i=t.fields,a=_a(t.fields,t.as||[]),u=i?function(t,n){return function(t,n,e,r){for(var i=0,a=e.length;i=s&&(e=u[i],l[Et(e)]&&r.rem.push(e),u[i]=n),++o}if(e.rem.length&&(e.visit(e.REM,function(t){var n=Et(t);l[n]&&(l[n]=-1,r.rem.push(t)),--o}),u=u.filter(function(t){return-1!==l[Et(t)]})),(e.rem.length||i)&&u.lengtha){for(var f=0,h=u.length-a;fe.cleanThreshold&&e.runAfter(i.clean),n.fork()},et(Ja,$r).transform=function(t,n){(!this.value||t.modified("field")||t.modified("sort")||n.changed()||t.sort&&n.modified(t.sort.fields))&&(this.value=(t.sort?n.source.slice().sort(t.sort):n.source).map(t.field))};const Qa={row_number:function(){return{next:t=>t.index+1}},rank:function(){let t;return{init:()=>t=1,next:n=>{let e=n.index,r=n.data;return e&&n.compare(r[e-1],r[e])?t=e+1:t}}},dense_rank:function(){let t;return{init:()=>t=1,next:n=>{let e=n.index,r=n.data;return e&&n.compare(r[e-1],r[e])?++t:t}}},percent_rank:function(){let t=Qa.rank(),n=t.next;return{init:t.init,next:t=>(n(t)-1)/(t.data.length-1)}},cume_dist:function(){let t;return{init:()=>t=0,next:n=>{let e=n.index,r=n.data,i=n.compare;if(t0||i("ntile num must be greater than zero.");let e=Qa.cume_dist(),r=e.next;return{init:e.init,next:t=>Math.ceil(n*r(t))}},lag:function(t,n){return n=+n||1,{next:e=>{let r=e.index-n;return r>=0?t(e.data[r]):null}}},lead:function(t,n){return n=+n||1,{next:e=>{let r=e.index+n,i=e.data;return rt(n.data[n.i0])}},last_value:function(t){return{next:n=>t(n.data[n.i1-1])}},nth_value:function(t,n){return(n=+n)>0||i("nth_value nth must be greater than zero."),{next:e=>{let r=e.i0+(n-1);return r{let r=t(e.data[e.index]);return null!=r?n=r:n}}},next_value:function(t){let n=null,e=-1;return{next:r=>{let i=r.data;return r.index<=e?n:(e=function(t,n,e){for(let r=n.length;ef[t]=1)}v(t.sort),a.forEach(function(t,n){let r=u[n],a=e(r),f=Vr(t,a,s[n]);if(v(r),l.push(f),Qa.hasOwnProperty(t))c.push(function(t,n,e,r){let i=Qa[t](n,e);return{init:i.init||p,update:function(t,n){n[r]=i.next(t)}}}(t,u[n],o[n],f));else{if(null==r&&"count"!==t&&i("Null aggregate field specified."),"count"===t)return void g.push(f);d=!1;let n=h[a];n||((n=h[a]=[]).field=r,m.push(n)),n.push(Jr(t,f))}}),(g.length||m.length)&&(n.cell=function(t,n,e){t=t.map(t=>ti(t,t.field));let r={num:0,agg:null,store:!1,count:n};if(!e)for(var i=t.length,a=r.agg=Array(i),u=0;ut.init()),this.cell&&this.cell.init()},nu.update=function(t,n){let e,r=this.cell,i=this.windows,a=t.data,u=i&&i.length;if(r){for(e=t.p0;e0&&!i(a[e],a[e-1])&&(t.i0=n.left(a,a[e])),rthis.x2&&(this.x2=t),n>this.y2&&(this.y2=n),this},Yu.expand=function(t){return this.x1-=t,this.y1-=t,this.x2+=t,this.y2+=t,this},Yu.round=function(){return this.x1=Math.floor(this.x1),this.y1=Math.floor(this.y1),this.x2=Math.ceil(this.x2),this.y2=Math.ceil(this.y2),this},Yu.translate=function(t,n){return this.x1+=t,this.x2+=t,this.y1+=n,this.y2+=n,this},Yu.rotate=function(t,n,e){const r=this.rotatedPoints(t,n,e);return this.clear().add(r[0],r[1]).add(r[2],r[3]).add(r[4],r[5]).add(r[6],r[7])},Yu.rotatedPoints=function(t,n,e){var{x1:r,y1:i,x2:a,y2:u}=this,o=Math.cos(t),s=Math.sin(t),l=n-n*o+e*s,c=e-n*s-e*o;return[o*r-s*i+l,s*r+o*i+c,o*r-s*u+l,s*r+o*u+c,o*a-s*i+l,s*a+o*i+c,o*a-s*u+l,s*a+o*u+c]},Yu.union=function(t){return t.x1this.x2&&(this.x2=t.x2),t.y2>this.y2&&(this.y2=t.y2),this},Yu.intersect=function(t){return t.x1>this.x1&&(this.x1=t.x1),t.y1>this.y1&&(this.y1=t.y1),t.x2=t.x2&&this.y1<=t.y1&&this.y2>=t.y2},Yu.alignsWith=function(t){return t&&(this.x1==t.x1||this.x2==t.x2||this.y1==t.y1||this.y2==t.y2)},Yu.intersects=function(t){return t&&!(this.x2t.x2||this.y2t.y2)},Yu.contains=function(t,n){return!(tthis.x2||nthis.y2)},Yu.width=function(){return this.x2-this.x1},Yu.height=function(){return this.y2-this.y1};var Gu=0;const Vu="p_";function Xu(t){return t&&t.gradient}function Zu(t,n,e){let r=t.id,i=t.gradient,a="radial"===i?Vu:"";return r||(r=t.id="gradient_"+Gu++,"radial"===i?(t.x1=Ju(t.x1,.5),t.y1=Ju(t.y1,.5),t.r1=Ju(t.r1,0),t.x2=Ju(t.x2,.5),t.y2=Ju(t.y2,.5),t.r2=Ju(t.r2,.5),a=Vu):(t.x1=Ju(t.x1,0),t.y1=Ju(t.y1,0),t.x2=Ju(t.x2,1),t.y2=Ju(t.y2,0))),n[r]=t,"url("+(e||"")+"#"+a+r+")"}function Ju(t,n){return null!=t?t:n}function Qu(t,n){var e,r=[];return e={gradient:"linear",x1:t?t[0]:0,y1:t?t[1]:0,x2:n?n[0]:1,y2:n?n[1]:0,stops:r,stop:function(t,n){return r.push({offset:t,color:n}),e}}}function Ku(t){this.mark=t,this.bounds=this.bounds||new Hu}function to(t){Ku.call(this,t),this.items=this.items||[]}function no(t,n){if("undefined"!=typeof document&&document.createElement){var e=document.createElement("canvas");if(e&&e.getContext)return e.width=t,e.height=n,e}return null}function eo(){return"undefined"!=typeof Image?Image:null}function ro(t){this._pending=0,this._loader=t||wr()}et(to,Ku);var io=ro.prototype;function ao(t){t._pending+=1}function uo(t){t._pending-=1}io.pending=function(){return this._pending},io.sanitizeURL=function(t){var n=this;return ao(n),n._loader.sanitize(t,{context:"href"}).then(function(t){return uo(n),t}).catch(function(){return uo(n),null})},io.loadImage=function(t){var n=this,e=eo();return ao(n),n._loader.sanitize(t,{context:"image"}).then(function(t){var r=t.href;if(!r||!e)throw{url:r};var i=new e;return i.onload=function(){uo(n),i.loaded=!0},i.onerror=function(){uo(n),i.loaded=!1},i.src=r,i}).catch(function(t){return uo(n),{loaded:!1,width:0,height:0,src:t&&t.url||""}})},io.ready=function(){var t=this;return new Promise(function(n){!function e(r){t.pending()?setTimeout(function(){e(!0)},10):n(r)}(!1)})};var oo=Math.PI,so=2*oo,lo=so-1e-6;function co(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function fo(){return new co}function ho(t){return function(){return t}}co.prototype=fo.prototype={constructor:co,moveTo:function(t,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,n){this._+="L"+(this._x1=+t)+","+(this._y1=+n)},quadraticCurveTo:function(t,n,e,r){this._+="Q"+ +t+","+ +n+","+(this._x1=+e)+","+(this._y1=+r)},bezierCurveTo:function(t,n,e,r,i,a){this._+="C"+ +t+","+ +n+","+ +e+","+ +r+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,n,e,r,i){t=+t,n=+n,e=+e,r=+r,i=+i;var a=this._x1,u=this._y1,o=e-t,s=r-n,l=a-t,c=u-n,f=l*l+c*c;if(i<0)throw new Error("negative radius: "+i);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=n);else if(f>1e-6)if(Math.abs(c*o-s*l)>1e-6&&i){var h=e-a,d=r-u,p=o*o+s*s,g=h*h+d*d,m=Math.sqrt(p),v=Math.sqrt(f),y=i*Math.tan((oo-Math.acos((p+f-g)/(2*m*v)))/2),x=y/v,_=y/m;Math.abs(x-1)>1e-6&&(this._+="L"+(t+x*l)+","+(n+x*c)),this._+="A"+i+","+i+",0,0,"+ +(c*h>l*d)+","+(this._x1=t+_*o)+","+(this._y1=n+_*s)}else this._+="L"+(this._x1=t)+","+(this._y1=n);else;},arc:function(t,n,e,r,i,a){t=+t,n=+n;var u=(e=+e)*Math.cos(r),o=e*Math.sin(r),s=t+u,l=n+o,c=1^a,f=a?r-i:i-r;if(e<0)throw new Error("negative radius: "+e);null===this._x1?this._+="M"+s+","+l:(Math.abs(this._x1-s)>1e-6||Math.abs(this._y1-l)>1e-6)&&(this._+="L"+s+","+l),e&&(f<0&&(f=f%so+so),f>lo?this._+="A"+e+","+e+",0,1,"+c+","+(t-u)+","+(n-o)+"A"+e+","+e+",0,1,"+c+","+(this._x1=s)+","+(this._y1=l):f>1e-6&&(this._+="A"+e+","+e+",0,"+ +(f>=oo)+","+c+","+(this._x1=t+e*Math.cos(i))+","+(this._y1=n+e*Math.sin(i))))},rect:function(t,n,e,r){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)+"h"+ +e+"v"+ +r+"h"+-e+"Z"},toString:function(){return this._}};var po=Math.abs,go=Math.atan2,mo=Math.cos,vo=Math.max,yo=Math.min,xo=Math.sin,_o=Math.sqrt,bo=1e-12,wo=Math.PI,Ao=wo/2,Mo=2*wo;function ko(t){return t>=1?Ao:t<=-1?-Ao:Math.asin(t)}function Eo(t){return t.innerRadius}function Co(t){return t.outerRadius}function Do(t){return t.startAngle}function Fo(t){return t.endAngle}function So(t){return t&&t.padAngle}function Bo(t,n,e,r,i,a,u){var o=t-e,s=n-r,l=(u?a:-a)/_o(o*o+s*s),c=l*s,f=-l*o,h=t+c,d=n+f,p=e+c,g=r+f,m=(h+p)/2,v=(d+g)/2,y=p-h,x=g-d,_=y*y+x*x,b=i-a,w=h*g-p*d,A=(x<0?-1:1)*_o(vo(0,b*b*_-w*w)),M=(w*x-y*A)/_,k=(-w*y-x*A)/_,E=(w*x+y*A)/_,C=(-w*y+x*A)/_,D=M-m,F=k-v,S=E-m,B=C-v;return D*D+F*F>S*S+B*B&&(M=E,k=C),{cx:M,cy:k,x01:-c,y01:-f,x11:M*(i/b-1),y11:k*(i/b-1)}}function Oo(t){this._context=t}function zo(t){return new Oo(t)}function No(t){return t[0]}function To(t){return t[1]}function Ro(){var t=No,n=To,e=ho(!0),r=null,i=zo,a=null;function u(u){var o,s,l,c=u.length,f=!1;for(null==r&&(a=i(l=fo())),o=0;o<=c;++o)!(o=c;--f)o.point(m[f],v[f]);o.lineEnd(),o.areaEnd()}g&&(m[l]=+t(h,l,s),v[l]=+e(h,l,s),o.point(n?+n(h,l,s):m[l],r?+r(h,l,s):v[l]))}if(d)return o=null,d+""||null}function l(){return Ro().defined(i).curve(u).context(a)}return s.x=function(e){return arguments.length?(t="function"==typeof e?e:ho(+e),n=null,s):t},s.x0=function(n){return arguments.length?(t="function"==typeof n?n:ho(+n),s):t},s.x1=function(t){return arguments.length?(n=null==t?null:"function"==typeof t?t:ho(+t),s):n},s.y=function(t){return arguments.length?(e="function"==typeof t?t:ho(+t),r=null,s):e},s.y0=function(t){return arguments.length?(e="function"==typeof t?t:ho(+t),s):e},s.y1=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:ho(+t),s):r},s.lineX0=s.lineY0=function(){return l().x(t).y(e)},s.lineY1=function(){return l().x(t).y(r)},s.lineX1=function(){return l().x(n).y(e)},s.defined=function(t){return arguments.length?(i="function"==typeof t?t:ho(!!t),s):i},s.curve=function(t){return arguments.length?(u=t,null!=a&&(o=u(a)),s):u},s.context=function(t){return arguments.length?(null==t?a=o=null:o=u(a=t),s):a},s}Oo.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:this._context.lineTo(t,n)}}};var Lo={draw:function(t,n){var e=Math.sqrt(n/wo);t.moveTo(e,0),t.arc(0,0,e,0,Mo)}};function qo(){}function Uo(t,n,e){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+n)/6,(t._y0+4*t._y1+e)/6)}function jo(t){this._context=t}function $o(t){this._context=t}function Io(t){this._context=t}function Wo(t,n){this._basis=new jo(t),this._beta=n}jo.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Uo(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Uo(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},$o.prototype={areaStart:qo,areaEnd:qo,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x2=t,this._y2=n;break;case 1:this._point=2,this._x3=t,this._y3=n;break;case 2:this._point=3,this._x4=t,this._y4=n,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+n)/6);break;default:Uo(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},Io.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var e=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+n)/6;this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break;case 3:this._point=4;default:Uo(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},Wo.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,n=this._y,e=t.length-1;if(e>0)for(var r,i=t[0],a=n[0],u=t[e]-i,o=n[e]-a,s=-1;++s<=e;)r=s/e,this._basis.point(this._beta*t[s]+(1-this._beta)*(i+r*u),this._beta*n[s]+(1-this._beta)*(a+r*o));this._x=this._y=null,this._basis.lineEnd()},point:function(t,n){this._x.push(+t),this._y.push(+n)}};var Ho=function t(n){function e(t){return 1===n?new jo(t):new Wo(t,n)}return e.beta=function(n){return t(+n)},e}(.85);function Yo(t,n,e){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-n),t._y2+t._k*(t._y1-e),t._x2,t._y2)}function Go(t,n){this._context=t,this._k=(1-n)/6}Go.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Yo(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2,this._x1=t,this._y1=n;break;case 2:this._point=3;default:Yo(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var Vo=function t(n){function e(t){return new Go(t,n)}return e.tension=function(n){return t(+n)},e}(0);function Xo(t,n){this._context=t,this._k=(1-n)/6}Xo.prototype={areaStart:qo,areaEnd:qo,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:Yo(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var Zo=function t(n){function e(t){return new Xo(t,n)}return e.tension=function(n){return t(+n)},e}(0);function Jo(t,n){this._context=t,this._k=(1-n)/6}Jo.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Yo(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var Qo=function t(n){function e(t){return new Jo(t,n)}return e.tension=function(n){return t(+n)},e}(0);function Ko(t,n,e){var r=t._x1,i=t._y1,a=t._x2,u=t._y2;if(t._l01_a>bo){var o=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,s=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*o-t._x0*t._l12_2a+t._x2*t._l01_2a)/s,i=(i*o-t._y0*t._l12_2a+t._y2*t._l01_2a)/s}if(t._l23_a>bo){var l=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,c=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*l+t._x1*t._l23_2a-n*t._l12_2a)/c,u=(u*l+t._y1*t._l23_2a-e*t._l12_2a)/c}t._context.bezierCurveTo(r,i,a,u,t._x2,t._y2)}function ts(t,n){this._context=t,this._alpha=n}ts.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3;default:Ko(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var ns=function t(n){function e(t){return n?new ts(t,n):new Go(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function es(t,n){this._context=t,this._alpha=n}es.prototype={areaStart:qo,areaEnd:qo,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:Ko(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var rs=function t(n){function e(t){return n?new es(t,n):new Xo(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function is(t,n){this._context=t,this._alpha=n}is.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Ko(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var as=function t(n){function e(t){return n?new is(t,n):new Jo(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function us(t){this._context=t}function os(t){return t<0?-1:1}function ss(t,n,e){var r=t._x1-t._x0,i=n-t._x1,a=(t._y1-t._y0)/(r||i<0&&-0),u=(e-t._y1)/(i||r<0&&-0),o=(a*i+u*r)/(r+i);return(os(a)+os(u))*Math.min(Math.abs(a),Math.abs(u),.5*Math.abs(o))||0}function ls(t,n){var e=t._x1-t._x0;return e?(3*(t._y1-t._y0)/e-n)/2:n}function cs(t,n,e){var r=t._x0,i=t._y0,a=t._x1,u=t._y1,o=(a-r)/3;t._context.bezierCurveTo(r+o,i+o*n,a-o,u-o*e,a,u)}function fs(t){this._context=t}function hs(t){this._context=new ds(t)}function ds(t){this._context=t}function ps(t){this._context=t}function gs(t){var n,e,r=t.length-1,i=new Array(r),a=new Array(r),u=new Array(r);for(i[0]=0,a[0]=2,u[0]=t[0]+2*t[1],n=1;n=0;--n)i[n]=(u[n]-i[n+1])/a[n];for(a[r-1]=(t[r]+i[r-1])/2,n=0;n=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,n),this._context.lineTo(t,n);else{var e=this._x*(1-this._t)+t*this._t;this._context.lineTo(e,this._y),this._context.lineTo(e,n)}}this._x=t,this._y=n}};var vs={basis:{curve:function(t){return new jo(t)}},"basis-closed":{curve:function(t){return new $o(t)}},"basis-open":{curve:function(t){return new Io(t)}},bundle:{curve:Ho,tension:"beta",value:.85},cardinal:{curve:Vo,tension:"tension",value:0},"cardinal-open":{curve:Qo,tension:"tension",value:0},"cardinal-closed":{curve:Zo,tension:"tension",value:0},"catmull-rom":{curve:ns,tension:"alpha",value:.5},"catmull-rom-closed":{curve:rs,tension:"alpha",value:.5},"catmull-rom-open":{curve:as,tension:"alpha",value:.5},linear:{curve:zo},"linear-closed":{curve:function(t){return new us(t)}},monotone:{horizontal:function(t){return new hs(t)},vertical:function(t){return new fs(t)}},natural:{curve:function(t){return new ps(t)}},step:{curve:function(t){return new ms(t,.5)}},"step-after":{curve:function(t){return new ms(t,1)}},"step-before":{curve:function(t){return new ms(t,0)}}};function ys(t,n,e){var r=vs.hasOwnProperty(t)&&vs[t],i=null;return r&&(i=r.curve||r[n||"vertical"],r.tension&&null!=e&&(i=i[r.tension](e))),i}var xs={m:2,l:2,h:1,v:1,c:6,s:4,q:4,t:2,a:7},_s=[/([MLHVCSQTAZmlhvcsqtaz])/g,/###/,/(\d)([-+])/g,/\s|,|###/];function bs(t){var n,e,r,i,a,u,o,s,l,c,f,h=[];for(s=0,c=(n=t.slice().replace(_s[0],"###$1").split(_s[1]).slice(1)).length;so)for(l=1,f=i.length;l1&&(e*=g=Math.sqrt(g),r*=g);var m=h/e,v=f/e,y=-f/r,x=h/r,_=m*o+v*s,b=y*o+x*s,w=m*t+v*n,A=y*t+x*n,M=1/((w-_)*(w-_)+(A-b)*(A-b))-.25;M<0&&(M=0);var k=Math.sqrt(M);a==i&&(k=-k);var E=.5*(_+w)-k*(A-b),C=.5*(b+A)+k*(w-_),D=Math.atan2(b-C,_-E),F=Math.atan2(A-C,w-E)-D;F<0&&1===a?F+=Ms:F>0&&0===a&&(F-=Ms);for(var S=Math.ceil(Math.abs(F/(As+.001))),B=[],O=0;Od;if(o||(o=s=fo()),hbo)if(g>Mo-bo)o.moveTo(h*mo(d),h*xo(d)),o.arc(0,0,h,d,p,!m),f>bo&&(o.moveTo(f*mo(p),f*xo(p)),o.arc(0,0,f,p,d,m));else{var v,y,x=d,_=p,b=d,w=p,A=g,M=g,k=u.apply(this,arguments)/2,E=k>bo&&(r?+r.apply(this,arguments):_o(f*f+h*h)),C=yo(po(h-f)/2,+e.apply(this,arguments)),D=C,F=C;if(E>bo){var S=ko(E/f*xo(k)),B=ko(E/h*xo(k));(A-=2*S)>bo?(b+=S*=m?1:-1,w-=S):(A=0,b=w=(d+p)/2),(M-=2*B)>bo?(x+=B*=m?1:-1,_-=B):(M=0,x=_=(d+p)/2)}var O=h*mo(x),z=h*xo(x),N=f*mo(w),T=f*xo(w);if(C>bo){var R,P=h*mo(_),L=h*xo(_),q=f*mo(b),U=f*xo(b);if(g1?0:c<-1?wo:Math.acos(c))/2),Y=_o(R[0]*R[0]+R[1]*R[1]);D=yo(C,(f-Y)/(H-1)),F=yo(C,(h-Y)/(H+1))}}M>bo?F>bo?(v=Bo(q,U,O,z,h,F,m),y=Bo(P,L,N,T,h,F,m),o.moveTo(v.cx+v.x01,v.cy+v.y01),Fbo&&A>bo?D>bo?(v=Bo(N,T,P,L,f,-D,m),y=Bo(O,z,q,U,f,-D,m),o.lineTo(v.cx+v.x01,v.cy+v.y01),Dil)return ol(t-e,n-e),void ol(t+e,n+e);var u,o,s,l,c=1/0,f=-1/0,h=1/0,d=-1/0;function p(t){s=e*Math.cos(t),l=e*Math.sin(t),sf&&(f=s),ld&&(d=l)}if(p(r),p(i),i!==r)if((r%=Ms)<0&&(r+=Ms),(i%=Ms)<0&&(i+=Ms),ii;++o,u-=As)p(u);else for(u=r-r%As+As,o=0;o<4&&um)return!1;d>g&&(g=d)}else if(f>0){if(d0&&(t.globalAlpha=e,t.fillStyle=gl(t,n,n.fill),!0)}var vl=[];function yl(t,n,e){var r=null!=(r=n.strokeWidth)?r:1;return!(r<=0)&&((e*=null==n.strokeOpacity?1:n.strokeOpacity)>0&&(t.globalAlpha=e,t.strokeStyle=gl(t,n,n.stroke),t.lineWidth=r,t.lineCap=n.strokeCap||"butt",t.lineJoin=n.strokeJoin||"miter",t.miterLimit=n.strokeMiterLimit||10,t.setLineDash&&(t.setLineDash(n.strokeDash||vl),t.lineDashOffset=n.strokeDashOffset||0),!0))}function xl(t,n){return t.zindex-n.zindex||t.index-n.index}function _l(t){if(!t.zdirty)return t.zitems;var n,e,r,i=t.items,a=[];for(e=0,r=i.length;e=0;)if(e=n(i[r]))return e;if(i===a)for(r=(i=t.items).length;--r>=0;)if(!i[r].zindex&&(e=n(i[r])))return e;return null}function Al(t){return function(n,e,r){bl(e,function(e){r&&!r.intersects(e.bounds)||Ml(t,n,e,e)})}}function Ml(t,n,e,r){var i=null==e.opacity?1:e.opacity;0!==i&&(t(n,r)||(e.fill&&ml(n,e,i)&&n.fill(),e.stroke&&yl(n,e,i)&&n.stroke()))}function kl(t){return t=t||m,function(n,e,r,i,a,u){return r*=n.pixelRatio,i*=n.pixelRatio,wl(e,function(e){var o=e.bounds;if((!o||o.contains(a,u))&&o)return t(n,e,r,i,a,u)?e:void 0})}}function El(t,n){return function(e,r,i,a){var u,o,s=Array.isArray(r)?r[0]:r,l=null==n?s.fill:n,c=s.stroke&&e.isPointInStroke;return c&&(u=s.strokeWidth,o=s.strokeCap,e.lineWidth=null!=u?u:1,e.lineCap=null!=o?o:"butt"),!t(e,r)&&(l&&e.isPointInPath(i,a)||c&&e.isPointInStroke(i,a))}}function Cl(t){return kl(El(t))}function Dl(t,n){return"translate("+t+","+n+")"}function Fl(t){return"rotate("+t+")"}function Sl(t){return Dl(t.x||0,t.y||0)}function Bl(t,n,e){function r(t,e){var r=e.x||0,i=e.y||0,a=e.angle||0;t.translate(r,i),a&&t.rotate(a*=ws),t.beginPath(),n(t,e),a&&t.rotate(-a),t.translate(-r,-i)}return{type:t,tag:"path",nested:!1,attr:function(t,e){t("transform",function(t){return Dl(t.x||0,t.y||0)+(t.angle?" "+Fl(t.angle):"")}(e)),t("d",n(null,e))},bound:function(t,e){var r=e.x||0,i=e.y||0;return n(al(t),e),el(t,e).translate(r,i),e.angle&&t.rotate(e.angle*ws,r,i),t},draw:Al(r),pick:Cl(r),isect:e||cl(r)}}var Ol=Bl("arc",function(t,n){return Vs.context(t)(n)});function zl(t,n,e){function r(t,e){t.beginPath(),n(t,e)}var i,a=El(r);return{type:t,tag:"path",nested:!0,attr:function(t,e){var r=e.mark.items;r.length&&t("d",n(null,r))},bound:function(t,e){var r=e.items;return 0===r.length?t:(n(al(t),r),el(t,r[0]))},draw:(i=r,function(t,n,e){!n.items.length||e&&!e.intersects(n.bounds)||Ml(i,t,n.items[0],n.items)}),pick:function(t,n,e,r,i,u){var o=n.items,s=n.bounds;return!o||!o.length||s&&!s.contains(i,u)?null:(e*=t.pixelRatio,r*=t.pixelRatio,a(t,o,e,r)?o[0]:null)},isect:fl,tip:e}}var Nl=zl("area",function(t,n){var e=n[0],r=e.interpolate||"linear";return("horizontal"===e.orient?Zs:Xs).curve(ys(r,e.orient,e.tension)).context(t)(n)},function(t,n){for(var e,r,i="horizontal"===t[0].orient?n[1]:n[0],a="horizontal"===t[0].orient?"y":"x",u=t.length,o=1/0;--u>=0;)!1!==t[u].defined&&(r=Math.abs(t[u][a]-i))0&&(Ll(t,n),n.fill&&ml(t,n,i)&&t.fill(),n.stroke&&yl(t,n,i)&&t.stroke()),n.clip&&(t.beginPath(),t.rect(0,0,o,s),t.clip()),e&&e.translate(-a,-u),bl(n,function(n){r.draw(t,n,e)}),e&&e.translate(a,u),t.restore()})},pick:function(t,n,e,r,i,a){if(n.bounds&&!n.bounds.contains(i,a)||!n.items)return null;var u=this,o=e*t.pixelRatio,s=r*t.pixelRatio;return wl(n,function(l){var c,f,h,d;if(!(d=l.bounds)||d.contains(i,a))return f=l.x||0,h=l.y||0,t.save(),t.translate(f,h),f=i-f,h=a-h,!(c=wl(l,function(t){return function(t,n,e){return(!1!==t.interactive||"group"===t.marktype)&&t.bounds&&t.bounds.contains(n,e)}(t,f,h)?u.pick(t,e,r,f,h):null}))&&!1!==n.interactive&&(l.fill||l.stroke)&&ql(t,l,o,s)&&(c=l),t.restore(),c||null})},isect:hl,background:function(t,n){var e=n.stroke?Pl:0;t("class","background"),t("d",nl(null,n,e,e))},foreground:function(t,n,e){t("clip-path",n.clip?Rl(e,n,n):null)}};function jl(t,n){var e=t.image;return e&&e.url===t.url||(e={loaded:!1,width:0,height:0},n.loadImage(t.url).then(function(n){t.image=n,t.image.url=t.url})),e}function $l(t,n){return"center"===t?n/2:"right"===t?n:0}function Il(t,n){return"middle"===t?n/2:"bottom"===t?n:0}var Wl={type:"image",tag:"image",nested:!1,attr:function(t,n,e){var r=jl(n,e),i=n.x||0,a=n.y||0,u=(null!=n.width?n.width:r.width)||0,o=(null!=n.height?n.height:r.height)||0,s=!1===n.aspect?"none":"xMidYMid";i-=$l(n.align,u),a-=Il(n.baseline,o),t("href",r.src||"","http://www.w3.org/1999/xlink","xlink:href"),t("transform",Dl(i,a)),t("width",u),t("height",o),t("preserveAspectRatio",s)},bound:function(t,n){var e=n.image,r=n.x||0,i=n.y||0,a=(null!=n.width?n.width:e&&e.width)||0,u=(null!=n.height?n.height:e&&e.height)||0;return r-=$l(n.align,a),i-=Il(n.baseline,u),t.set(r,i,r+a,i+u)},draw:function(t,n,e){var r=this;bl(n,function(n){if(!e||e.intersects(n.bounds)){var i,a,u,o,s=jl(n,r),l=n.x||0,c=n.y||0,f=(null!=n.width?n.width:s.width)||0,h=(null!=n.height?n.height:s.height)||0;l-=$l(n.align,f),c-=Il(n.baseline,h),!1!==n.aspect&&(a=s.width/s.height,u=n.width/n.height,a==a&&u==u&&a!==u&&(u=0;)if(!1!==t[a].defined&&(e=t[a].x-n[0])*e+(r=t[a].y-n[1])*r0?function(t){var n,e=+t.limit,r=t.text+"";nc.width===ic?(sl.font=cc(t),n=ac):(Jl=uc(t),n=rc);if(n(r)>>1,n(r.slice(i))>e?o=i+1:s=i;return a+r.slice(o)}for(;o>>1),n(r.slice(0,i))=0;)if(!1!==t[i].defined&&(e=t[i].x-n[0])*e+(r=t[i].y-n[1])*r<(e=t[i].size||1)*e)return t[i];return null})};function vc(t,n,e){var r=mc[t.mark.marktype],i=n||r.bound;return r.nested&&(t=t.mark),i(t.bounds||(t.bounds=new Hu),t,e)}var yc={mark:null};function xc(t,n,e){var r,i,a,u,o=mc[t.marktype],s=o.bound,l=t.items,c=l&&l.length;if(o.nested)return c?a=l[0]:(yc.mark=t,a=yc),u=vc(a,s,e),n=n&&n.union(u)||u;if(n=n||t.bounds&&t.bounds.clear()||new Hu,c)for(r=0,i=l.length;rn;)t.removeChild(e[--r]);return t}function Sc(t){return"mark-"+t.marktype+(t.role?" role-"+t.role:"")+(t.name?" "+t.name:"")}function Bc(t,n){var e=n.getBoundingClientRect();return[t.clientX-e.left-(n.clientLeft||0),t.clientY-e.top-(n.clientTop||0)]}function Oc(t,n){this._active=null,this._handlers={},this._loader=t||wr(),this._tooltip=n||zc}function zc(t,n,e,r){t.element().setAttribute("title",r||"")}Mc.toJSON=function(t){return bc(this.root,t||0)},Mc.mark=function(t,n,e){var r=kc(t,n=n||this.root.items[0]);return n.items[e]=r,r.zindex&&(r.group.zdirty=!0),r};var Nc=Oc.prototype;function Tc(t){this._el=null,this._bgcolor=null,this._loader=new ro(t)}Nc.initialize=function(t,n,e){return this._el=t,this._obj=e||null,this.origin(n)},Nc.element=function(){return this._el},Nc.canvas=function(){return this._el&&this._el.firstChild},Nc.origin=function(t){return arguments.length?(this._origin=t||[0,0],this):this._origin.slice()},Nc.scene=function(t){return arguments.length?(this._scene=t,this):this._scene},Nc.on=function(){},Nc.off=function(){},Nc._handlerIndex=function(t,n,e){for(var r=t?t.length:0;--r>=0;)if(t[r].type===n&&(!e||t[r].handler===e))return r;return-1},Nc.handlers=function(t){var n,e=this._handlers,r=[];if(t)r.push.apply(r,e[this.eventName(t)]);else for(n in e)r.push.apply(r,e[n]);return r},Nc.eventName=function(t){var n=t.indexOf(".");return n<0?t:t.slice(0,n)},Nc.handleHref=function(t,n,e){this._loader.sanitize(e,{context:"href"}).then(function(n){var e=new MouseEvent(t.type,t),r=Ec(null,"a");for(var i in n)r.setAttribute(i,n[i]);r.dispatchEvent(e)}).catch(function(){})},Nc.handleTooltip=function(t,n,e){if(n&&null!=n.tooltip){n=function(t,n,e,r){var i,a,u=t&&t.mark;if(u&&(i=mc[u.marktype]).tip){for((a=Bc(n,e))[0]-=r[0],a[1]-=r[1];t=t.mark.group;)a[0]-=t.x||0,a[1]-=t.y||0;t=i.tip(u.items,a)}return t}(n,t,this.canvas(),this._origin);var r=e&&n&&n.tooltip||null;this._tooltip.call(this._obj,this,t,n,r)}},Nc.getItemBoundingClientRect=function(t){if(n=this.canvas()){for(var n,e=n.getBoundingClientRect(),r=this._origin,i=t.bounds,a=i.x1+r[0]+e.left,u=i.y1+r[1]+e.top,o=i.width(),s=i.height();t.mark&&(t=t.mark.group);)a+=t.x||0,u+=t.y||0;return{x:a,y:u,width:o,height:s,left:a,top:u,right:a+o,bottom:u+s}}};var Rc=Tc.prototype;Rc.initialize=function(t,n,e,r,i){return this._el=t,this.resize(n,e,r,i)},Rc.element=function(){return this._el},Rc.canvas=function(){return this._el&&this._el.firstChild},Rc.background=function(t){return 0===arguments.length?this._bgcolor:(this._bgcolor=t,this)},Rc.resize=function(t,n,e,r){return this._width=t,this._height=n,this._origin=e||[0,0],this._scale=r||1,this},Rc.dirty=function(){},Rc.render=function(t){var n=this;return n._call=function(){n._render(t)},n._call(),n._call=null,n},Rc._render=function(){},Rc.renderAsync=function(t){var n=this.render(t);return this._ready?this._ready.then(function(){return n}):Promise.resolve(n)},Rc._load=function(t,n){var e=this,r=e._loader[t](n);if(!e._ready){var i=e._call;e._ready=e._loader.ready().then(function(t){t&&i(),e._ready=null})}return r},Rc.sanitizeURL=function(t){return this._load("sanitizeURL",t)},Rc.loadImage=function(t){return this._load("loadImage",t)};var Pc="mouseout";function Lc(t,n){Oc.call(this,t,n),this._down=null,this._touch=null,this._first=!0}var qc=et(Lc,Oc);function Uc(t,n,e){return function(r){var i=this._active,a=this.pickEvent(r);a===i?this.fire(t,r):(i&&i.exit||this.fire(e,r),this._active=a,this.fire(n,r),this.fire(t,r))}}function jc(t){return function(n){this.fire(t,n),this._active=null}}qc.initialize=function(t,n,e){var r=this._canvas=t&&Cc(t,"canvas");if(r){var i=this;this.events.forEach(function(t){r.addEventListener(t,function(n){qc[t]?qc[t].call(i,n):i.fire(t,n)})})}return Oc.prototype.initialize.call(this,t,n,e)},qc.canvas=function(){return this._canvas},qc.context=function(){return this._canvas.getContext("2d")},qc.events=["keydown","keypress","keyup","dragenter","dragleave","dragover","mousedown","mouseup","mousemove","mouseout","mouseover","click","dblclick","wheel","mousewheel","touchstart","touchmove","touchend"],qc.DOMMouseScroll=function(t){this.fire("mousewheel",t)},qc.mousemove=Uc("mousemove","mouseover","mouseout"),qc.dragover=Uc("dragover","dragenter","dragleave"),qc.mouseout=jc("mouseout"),qc.dragleave=jc("dragleave"),qc.mousedown=function(t){this._down=this._active,this.fire("mousedown",t)},qc.click=function(t){this._down===this._active&&(this.fire("click",t),this._down=null)},qc.touchstart=function(t){this._touch=this.pickEvent(t.changedTouches[0]),this._first&&(this._active=this._touch,this._first=!1),this.fire("touchstart",t,!0)},qc.touchmove=function(t){this.fire("touchmove",t,!0)},qc.touchend=function(t){this.fire("touchend",t,!0),this._touch=null},qc.fire=function(t,n,e){var r,i,a=e?this._touch:this._active,u=this._handlers[t];if(n.vegaType=t,"click"===t&&a&&a.href?this.handleHref(n,a,a.href):"mousemove"!==t&&t!==Pc||this.handleTooltip(n,a,t!==Pc),u)for(r=0,i=u.length;r=0&&r.splice(i,1),this},qc.pickEvent=function(t){var n=Bc(t,this._canvas),e=this._origin;return this.pick(this._scene,n[0],n[1],n[0]-e[0],n[1]-e[1])},qc.pick=function(t,n,e,r,i){var a=this.context();return mc[t.marktype].pick.call(this,a,t,n,e,r,i)};var $c="undefined"!=typeof window&&window.devicePixelRatio||1;function Ic(t){Tc.call(this,t),this._redraw=!1,this._dirty=new Hu}var Wc=et(Ic,Tc),Hc=Tc.prototype,Yc=new Hu;function Gc(t,n){Oc.call(this,t,n);var e=this;e._hrefHandler=Xc(e,function(t,n){n&&n.href&&e.handleHref(t,n,n.href)}),e._tooltipHandler=Xc(e,function(t,n){e.handleTooltip(t,n,t.type!==Pc)})}Wc.initialize=function(t,n,e,r,i,a){return this._options=a,this._canvas=no(1,1,a&&a.type),t&&(Fc(t,0).appendChild(this._canvas),this._canvas.setAttribute("class","marks")),Hc.initialize.call(this,t,n,e,r,i)},Wc.resize=function(t,n,e,r){return Hc.resize.call(this,t,n,e,r),function(t,n,e,r,i,a){var u,o="undefined"!=typeof HTMLElement&&t instanceof HTMLElement&&null!=t.parentNode,s=t.getContext("2d"),l=o?$c:i;for(u in t.width=n*l,t.height=e*l,a)s[u]=a[u];o&&1!==l&&(t.style.width=n+"px",t.style.height=e+"px"),s.pixelRatio=l,s.setTransform(l,0,0,l,l*r[0],l*r[1])}(this._canvas,this._width,this._height,this._origin,this._scale,this._options&&this._options.context),this._redraw=!0,this},Wc.canvas=function(){return this._canvas},Wc.context=function(){return this._canvas?this._canvas.getContext("2d"):null},Wc.dirty=function(t){var n=function(t,n){if(null==n)return t;for(var e=Yc.clear().union(t);null!=n;n=n.mark.group)e.translate(n.x||0,n.y||0);return e}(t.bounds,t.mark.group);this._dirty.union(n)},Wc._render=function(t){var n=this.context(),e=this._origin,r=this._width,i=this._height,a=this._dirty;return n.save(),this._redraw||a.empty()?(this._redraw=!1,a=null):a=function(t,n,e){return n.expand(1).round(),n.translate(-e[0]%1,-e[1]%1),t.beginPath(),t.rect(n.x1,n.y1,n.width(),n.height()),t.clip(),n}(n,a,e),this.clear(-e[0],-e[1],r,i),this.draw(n,t,a),n.restore(),this._dirty.clear(),this},Wc.draw=function(t,n,e){var r=mc[n.marktype];n.clip&&function(t,n){var e=n.clip;if(t.save(),t.beginPath(),Y(e))e(t);else{var r=n.group;t.rect(0,0,r.width||0,r.height||0)}t.clip()}(t,n),r.draw.call(this,t,n,e),n.clip&&t.restore()},Wc.clear=function(t,n,e,r){var i=this.context();i.clearRect(t,n,e,r),null!=this._bgcolor&&(i.fillStyle=this._bgcolor,i.fillRect(t,n,e,r))};var Vc=et(Gc,Oc);function Xc(t,n){return function(e){var r=e.target.__data__;e.vegaType=e.type,r=Array.isArray(r)?r[0]:r,n.call(t._obj,e,r)}}function Zc(t,n,e){var r,i,a="<"+t;if(n)for(r in n)null!=(i=n[r])&&(a+=" "+r+'="'+i+'"');return e&&(a+=" "+e),a+">"}function Jc(t){return""}Vc.initialize=function(t,n,e){var r=this._svg;return r&&(r.removeEventListener("click",this._hrefHandler),r.removeEventListener("mousemove",this._tooltipHandler),r.removeEventListener(Pc,this._tooltipHandler)),this._svg=r=t&&Cc(t,"svg"),r&&(r.addEventListener("click",this._hrefHandler),r.addEventListener("mousemove",this._tooltipHandler),r.addEventListener(Pc,this._tooltipHandler)),Oc.prototype.initialize.call(this,t,n,e)},Vc.canvas=function(){return this._svg},Vc.on=function(t,n){var e=this.eventName(t),r=this._handlers;if(this._handlerIndex(r[e],t,n)<0){var i={type:t,handler:n,listener:Xc(this,n)};(r[e]||(r[e]=[])).push(i),this._svg&&this._svg.addEventListener(e,i.listener)}return this},Vc.off=function(t,n){var e=this.eventName(t),r=this._handlers[e],i=this._handlerIndex(r,t,n);return i>=0&&(this._svg&&this._svg.removeEventListener(e,r[i].listener),r.splice(i,1)),this};var Qc={version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},Kc={fill:"fill",fillOpacity:"fill-opacity",stroke:"stroke",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",strokeCap:"stroke-linecap",strokeJoin:"stroke-linejoin",strokeDash:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeMiterLimit:"stroke-miterlimit",opacity:"opacity"},tf=Object.keys(Kc),nf=Qc.xmlns;function ef(t){Tc.call(this,t),this._dirtyID=1,this._dirty=[],this._svg=null,this._root=null,this._defs=null}var rf=et(ef,Tc),af=Tc.prototype;function uf(t,n,e){var r,i,a;if("radial"===n.gradient){var u=Dc(t,e++,"pattern",nf);u.setAttribute("id",Vu+n.id),u.setAttribute("viewBox","0,0,1,1"),u.setAttribute("width","100%"),u.setAttribute("height","100%"),u.setAttribute("preserveAspectRatio","xMidYMid slice"),(u=Dc(u,0,"rect",nf)).setAttribute("width","1"),u.setAttribute("height","1"),u.setAttribute("fill","url("+gf()+"#"+n.id+")"),(t=Dc(t,e++,"radialGradient",nf)).setAttribute("id",n.id),t.setAttribute("fx",n.x1),t.setAttribute("fy",n.y1),t.setAttribute("fr",n.r1),t.setAttribute("cx",n.x2),t.setAttribute("cy",n.y2),t.setAttribute("r",n.r2)}else(t=Dc(t,e++,"linearGradient",nf)).setAttribute("id",n.id),t.setAttribute("x1",n.x1),t.setAttribute("x2",n.x2),t.setAttribute("y1",n.y1),t.setAttribute("y2",n.y2);for(r=0,i=n.stops.length;r1}(t)&&u.previousSibling!==e)&&n.insertBefore(u,e?e.nextSibling:n.firstChild),u}rf.initialize=function(t,n,e,r){return t&&(this._svg=Dc(t,0,"svg",nf),this._svg.setAttribute("class","marks"),Fc(t,1),this._root=Dc(this._svg,0,"g",nf),Fc(this._svg,1)),this._defs={gradient:{},clipping:{}},this.background(this._bgcolor),af.initialize.call(this,t,n,e,r)},rf.background=function(t){return arguments.length&&this._svg&&this._svg.style.setProperty("background-color",t),af.background.apply(this,arguments)},rf.resize=function(t,n,e,r){return af.resize.call(this,t,n,e,r),this._svg&&(this._svg.setAttribute("width",this._width*this._scale),this._svg.setAttribute("height",this._height*this._scale),this._svg.setAttribute("viewBox","0 0 "+this._width+" "+this._height),this._root.setAttribute("transform","translate("+this._origin+")")),this._dirty=[],this},rf.canvas=function(){return this._svg},rf.svg=function(){if(!this._svg)return null;var t={class:"marks",width:this._width*this._scale,height:this._height*this._scale,viewBox:"0 0 "+this._width+" "+this._height};for(var n in Qc)t[n]=Qc[n];var e=this._bgcolor?Zc("rect",{width:this._width,height:this._height,style:"fill: "+this._bgcolor+";"})+Jc("rect"):"";return Zc("svg",t)+e+this._svg.innerHTML+Jc("svg")},rf._render=function(t){return this._dirtyCheck()&&(this._dirtyAll&&this._resetDefs(),this.draw(this._root,t),Fc(this._root,1)),this.updateDefs(),this._dirty=[],++this._dirtyID,this},rf.updateDefs=function(){var t,n=this._svg,e=this._defs,r=e.el,i=0;for(t in e.gradient)r||(e.el=r=Dc(n,0,"defs",nf)),i=uf(r,e.gradient[t],i);for(t in e.clipping)r||(e.el=r=Dc(n,0,"defs",nf)),i=of(r,e.clipping[t],i);r&&(0===i?(n.removeChild(r),e.el=null):Fc(r,i))},rf._resetDefs=function(){var t=this._defs;t.gradient={},t.clipping={}},rf.dirty=function(t){t.dirty!==this._dirtyID&&(t.dirty=this._dirtyID,this._dirty.push(t))},rf.isDirty=function(t){return this._dirtyAll||!t._svg||t.dirty===this._dirtyID},rf._dirtyCheck=function(){this._dirtyAll=!0;var t=this._dirty;if(!t.length)return!0;var n,e,r,i,a,u,o,s=++this._dirtyID;for(a=0,u=t.length;a0?Zc("defs")+u+Jc("defs"):""},yf.attributes=function(t,n){return vf={},t(_f,n,this),vf},yf.href=function(t){var n,e=this,r=t.href;if(r){if(n=e._hrefs&&e._hrefs[r])return n;e.sanitizeURL(r).then(function(t){t["xlink:href"]=t.href,t.href=null,(e._hrefs||(e._hrefs={}))[r]=t})}return null},yf.mark=function(t){var n,e=this,r=mc[t.marktype],i=r.tag,a=this._defs,u="";function o(o){var s=e.href(o);s&&(u+=Zc("a",s)),n="g"!==i?bf(o,t,i,a):null,u+=Zc(i,e.attributes(r.attr,o),n),"text"===i?u+=sc(o).replace(/&/g,"&").replace(//g,">"):"g"===i&&(u+=Zc("path",e.attributes(r.background,o),bf(o,t,"bgrect",a))+Jc("path"),u+=Zc("g",e.attributes(r.foreground,o))+e.markGroup(o)+Jc("g")),u+=Jc(i),s&&(u+=Jc("a"))}return"g"!==i&&!1===t.interactive&&(n='style="pointer-events: none;"'),u+=Zc("g",{class:Sc(t),"clip-path":t.clip?Rl(e,t,t.group):null},n),r.nested?t.items&&t.items.length&&o(t.items[0]):bl(t,o),u+Jc("g")},yf.markGroup=function(t){var n=this,e="";return bl(t,function(t){e+=n.mark(t)}),e};var wf={Canvas:"canvas",PNG:"png",SVG:"svg",None:"none"},Af={};function Mf(t,n){return t=String(t||"").toLowerCase(),arguments.length>1?(Af[t]=n,this):Af[t]}function kf(t,n,e){const r=[],a=(new Hu).union(n),u=t.marktype;return u?Ef(t,a,e,r):"group"===u?Cf(t,a,e,r):i("Intersect scene must be mark node or group item.")}function Ef(t,n,e,r){if(function(t,n,e){return t.bounds&&n.intersects(t.bounds)&&("group"===t.marktype||!1!==t.interactive&&(!e||e(t)))}(t,n,e)){const i=t.items,a=t.marktype,u=i.length;let o=0;if("group"===a)for(;o=0;r--)if(i[r]!=a[r])return!1;for(r=i.length-1;r>=0;r--)if(e=i[r],!Of(t[e],n[e],e))return!1;return typeof t==typeof n}(t,n):t==n)}function zf(t,n){return Of(bs(t),bs(n))}function Nf(t){$r.call(this,null,t)}function Tf(t,n,e){return n(t.bounds.clear(),t,e)}et(Nf,$r).transform=function(t,n){var e,r=n.dataflow,i=t.mark,a=i.marktype,u=mc[a],o=u.bound,s=i.bounds;return u.nested?(i.items.length&&r.dirty(i.items[0]),s=Tf(i,o),i.items.forEach(function(t){t.bounds.clear().union(s)})):a===bu||t.modified()?(n.visit(n.MOD,function(t){r.dirty(t)}),s.clear(),i.items.forEach(function(t){s.union(Tf(t,o))}),i.role===Eu&&n.reflow()):(e=n.changed(n.REM),n.visit(n.ADD,function(t){s.union(Tf(t,o))}),n.visit(n.MOD,function(t){e=e||s.alignsWith(t.bounds),r.dirty(t),s.union(Tf(t,o))}),e&&(s.clear(),i.items.forEach(function(t){s.union(t.bounds)}))),Sf(i),n.modifies("bounds")};var Rf=":vega_identifier:";function Pf(t){$r.call(this,0,t)}function Lf(t){$r.call(this,null,t)}function qf(t){$r.call(this,null,t)}Pf.Definition={type:"Identifier",metadata:{modifies:!0},params:[{name:"as",type:"string",required:!0}]},et(Pf,$r).transform=function(t,n){var e=function(t){var n=t._signals[Rf];n||(t._signals[Rf]=n=t.add(0));return n}(n.dataflow),r=e.value,i=t.as;return n.visit(n.ADD,function(t){t[i]||(t[i]=++r)}),e.set(this.value=r),n},et(Lf,$r).transform=function(t,n){var e=this.value;e||((e=n.dataflow.scenegraph().mark(t.markdef,function(t){var n=t.groups,e=t.parent;return n&&1===n.size?n.get(Object.keys(n.object)[0]):n&&e?n.lookup(e):null}(t),t.index)).group.context=t.context,t.context.group||(t.context.group=e.group),e.source=this,e.clip=t.clip,e.interactive=t.interactive,this.value=e);var r=e.marktype===bu?to:Ku;return n.visit(n.ADD,function(t){r.call(t,e)}),(t.modified("clip")||t.modified("interactive"))&&(e.clip=t.clip,e.interactive=!!t.interactive,e.zdirty=!0,n.reflow()),e.items=n.source,n};var Uf=et(qf,$r),jf={parity:function(t){return t.filter((t,n)=>n%2?t.opacity=0:1)},greedy:function(t,n){var e;return t.filter((t,r)=>r&&$f(e.bounds,t.bounds,n)?t.opacity=0:(e=t,1))}};function $f(t,n,e){return e>Math.max(n.x1-t.x2,t.x1-n.x2,n.y1-t.y2,t.y1-n.y2)}function If(t,n){for(var e,r=1,i=t.length,a=t[0].bounds;r1&&n.height()>1}function Hf(t){return t.forEach(t=>t.opacity=1),t}function Yf(t,n){return t.reflow(n.modified()).modifies("opacity")}function Gf(t){$r.call(this,null,t)}Uf.transform=function(t,n){var e,r,i,a=jf[t.method]||jf.parity,u=n.materialize(n.SOURCE).source,o=t.separation||0;if(u&&u.length){if(!t.method)return t.modified("method")&&(Hf(u),n=Yf(n,t)),n;if(t.sort&&(u=u.slice().sort(t.sort)),e=Hf(u=u.filter(Wf)),n=Yf(n,t),e.length>=3&&If(e,o)){do{e=a(e,o)}while(e.length>=3&&If(e,o));e.length<3&&!k(u).opacity&&(e.length>1&&(k(e).opacity=0),k(u).opacity=1)}var s,l,c,f,h;return t.boundScale&&t.boundTolerance>=0&&(s=t.boundScale,l=t.boundOrient,c=+t.boundTolerance,f=s.range(),h=new Hu,l===su||l===fu?h.set(f[0],-1/0,f[1],1/0):h.set(-1/0,f[0],1/0,f[1]),h.expand(c||1),r=(t=>h.encloses(t.bounds)),u.forEach(t=>{r(t)||(t.opacity=0)})),i=e[0].mark.bounds.clear(),u.forEach(t=>{t.opacity&&i.union(t.bounds)}),n}},et(Gf,$r).transform=function(t,n){var e=n.dataflow;if(n.visit(n.ALL,function(t){e.dirty(t)}),n.fields&&n.fields.zindex){var r=n.source&&n.source[0];r&&(r.mark.zdirty=!0)}};const Vf=new Hu;function Xf(t,n,e){return t[n]===e?0:(t[n]=e,1)}const Zf=.5;function Jf(t){var n=t.items[0].datum.orient;return n===lu||n===cu}function Qf(t,n,e,r){var i,a,u=n.items[0],o=u.datum,s=o.orient,l=function(t){var n=+t.grid;return[t.ticks?n++:-1,t.labels?n++:-1,n+ +t.domain]}(o),c=u.range,f=u.offset,h=u.position,d=u.minExtent,p=u.maxExtent,g=o.title&&u.items[l[2]].items[0],m=u.titlePadding,v=u.bounds,y=0,x=0;switch(Vf.clear().union(v),v.clear(),(i=l[0])>-1&&v.union(u.items[i].bounds),(i=l[1])>-1&&v.union(u.items[i].bounds),s){case su:y=h||0,x=-f,a=Math.max(d,Math.min(p,-v.y1)),g&&(a=Kf(g,a,m,0,-1,v)),v.add(0,-a).add(c,0);break;case lu:y=-f,x=h||0,a=Math.max(d,Math.min(p,-v.x1)),g&&(a=Kf(g,a,m,1,-1,v)),v.add(-a,0).add(0,c);break;case cu:y=e+f,x=h||0,a=Math.max(d,Math.min(p,v.x2)),g&&(a=Kf(g,a,m,1,1,v)),v.add(0,0).add(a,c);break;case fu:y=h||0,x=r+f,a=Math.max(d,Math.min(p,v.y2)),g&&(a=Kf(g,a,m,0,1,v)),v.add(0,0).add(c,a);break;default:y=u.x,x=u.y}return el(v.translate(y,x),u),Xf(u,"x",y+Zf)|Xf(u,"y",x+Zf)&&(u.bounds=Vf,t.dirty(u),u.bounds=v,t.dirty(u)),u.mark.bounds.clear().union(v)}function Kf(t,n,e,r,i,a){var u=t.bounds,o=0,s=0;return t.auto?(n+=e,r?o=(t.x||0)-(t.x=i*n):s=(t.y||0)-(t.y=i*n),u.translate(-o,-s),t.mark.bounds.set(u.x1,u.y1,u.x2,u.y2),r?(a.add(0,u.y1).add(0,u.y2),n+=u.width()):(a.add(u.x1,0).add(u.x2,0),n+=u.height())):a.union(u),n}function th(t){return(new Hu).set(0,0,t.width||0,t.height||0)}function nh(t){var n=t.bounds.clone();return n.empty()?n.set(0,0,0,0):n.translate(-(t.x||0),-(t.y||0))}function eh(t,n,e){var r=o(t)?t[n]:t;return null!=r?r:void 0!==e?e:0}function rh(t){return t<0?Math.ceil(-t):0}function ih(t,n,e){var r,i,a,u,o,s,l,c,f,h,d,p=!e.nodirty,g=e.bounds===$u?th:nh,m=Vf.set(0,0,0,0),v=eh(e.align,Iu),y=eh(e.align,Wu),x=eh(e.padding,Iu),_=eh(e.padding,Wu),b=e.columns||n.length,w=b<0?1:Math.ceil(n.length/b),A=n.length,M=Array(A),k=Array(b),E=0,C=Array(A),D=Array(w),F=0,S=Array(A),B=Array(A),O=Array(A);for(i=0;i1)for(i=0;i0&&(S[i]+=f/2);if(y&&eh(e.center,Wu)&&1!==b)for(i=0;i0&&(B[i]+=h/2);for(i=0;ii&&(t.warn("Grid headers exceed limit: "+i),n=n.slice(0,i)),M+=a,g=0,v=n.length;g=0&&null==(_=e[m]);m-=h);o?(b=null==d?_.x:Math.round(_.bounds.x1+d*_.bounds.width()),w=M):(b=M,w=null==d?_.y:Math.round(_.bounds.y1+d*_.bounds.height())),y.union(x.bounds.translate(b-(x.x||0),w-(x.y||0))),x.x=b,x.y=w,t.dirty(x),k=u(k,y[l])}return k}function fh(t,n,e,r,i,a){if(n){t.dirty(n);var u=e,o=e;r?u=Math.round(i.x1+a*i.width()):o=Math.round(i.y1+a*i.height()),n.bounds.translate(u-(n.x||0),o-(n.y||0)),n.mark.bounds.clear().union(n.bounds),n.x=u,n.y=o,t.dirty(n)}}function hh(t,n,e,r,i,a,u){const o=function(t,n){const e=t[n]||{};return(n,r)=>null!=e[n]?e[n]:null!=t[n]?t[n]:r}(e,n),s=(f=t,h=o("offset",0),d=-1/0,f.forEach(t=>{null!=t.offset&&(d=Math.max(d,t.offset))}),d>-1/0?d:h),l=o("anchor",mu),c=l===yu?1:l===vu?.5:0;var f,h,d;const p={align:ju,bounds:o("bounds",$u),columns:"vertical"===o("direction")?1:t.length,padding:o("margin",8),center:o("center"),nodirty:!0};switch(n){case lu:p.anchor={x:Math.floor(r.x1)-s,column:yu,y:c*(u||r.height()+2*r.y1),row:l};break;case cu:p.anchor={x:Math.ceil(r.x2)+s,y:c*(u||r.height()+2*r.y1),row:l};break;case su:p.anchor={y:Math.floor(i.y1)-s,row:yu,x:c*(a||i.width()+2*i.x1),column:l};break;case fu:p.anchor={y:Math.ceil(i.y2)+s,x:c*(a||i.width()+2*i.x1),column:l};break;case hu:p.anchor={x:s,y:s};break;case du:p.anchor={x:a-s,y:s,column:yu};break;case pu:p.anchor={x:s,y:u-s,row:yu};break;case gu:p.anchor={x:a-s,y:u-s,column:yu,row:yu}}return p}function dh(t,n){var e,r,i,a,u=n.items[0],o=u.datum,s=u.orient,l=u.bounds,c=u.x,f=u.y;return u._bounds?u._bounds.clear().union(l):u._bounds=l.clone(),l.clear(),function(t,n,e){var r=n.padding,i=r-e.x,a=r-e.y;if(n.datum.title){var u=n.items[1].items[0],o=u.anchor,s=n.titlePadding||0,l=r-u.x,c=r-u.y;switch(u.orient){case lu:i+=Math.ceil(u.bounds.width())+s;break;case cu:case fu:break;default:a+=u.fontSize+s}switch((i||a)&&gh(t,e,i,a),u.orient){case lu:c+=ph(n,e,u,o,0,1);break;case cu:l+=ph(n,e,u,yu,1,0)+s,c+=ph(n,e,u,o,0,1);break;case fu:l+=ph(n,e,u,o,1,0),c+=ph(n,e,u,yu,0,0,1)+s;break;default:l+=ph(n,e,u,o,1,0)}(l||c)&&gh(t,u,l,c),(l=Math.round(u.bounds.x1-r))<0&&(gh(t,e,-l,0),gh(t,u,-l,0))}else(i||a)&&gh(t,e,i,a)}(t,u,u.items[0].items[0]),l=function(t,n){return t.items.forEach(t=>n.union(t.bounds)),n.x1=t.padding,n.y1=t.padding,n}(u,l),e=2*u.padding,r=2*u.padding,l.empty()||(e=Math.ceil(l.width()+e),r=Math.ceil(l.height()+r)),o.type===Nu&&(i=u.items[0].items[0].items[0].items,a=i.reduce(function(t,n){return t[n.column]=Math.max(n.bounds.x2-n.x,t[n.column]||0),t},{}),i.forEach(function(t){t.width=a[t.column],t.height=t.bounds.y2-t.y})),s!==qu&&(u.x=c=0,u.y=f=0),u.width=e,u.height=r,el(l.set(c,f,c+e,f+r),u),u.mark.bounds.clear().union(l),u}function ph(t,n,e,r,i,a,u){const o="symbol"!==t.datum.type,s=e.datum.vgrad,l=(!o||!a&&s||u?n:n.items[0]).bounds[i?"x2":"y2"]-t.padding,c=s&&a?l:0,f=s&&a?0:l;return Math.round(r===mu?c:r===yu?f:.5*l)}function gh(t,n,e,r){n.x+=e,n.y+=r,n.bounds.translate(e,r),n.mark.bounds.translate(e,r),t.dirty(n)}function mh(t){$r.call(this,null,t)}et(mh,$r).transform=function(t,n){var e=n.dataflow;return t.mark.items.forEach(function(n){t.layout&&ah(e,n,t.layout),function(t,n,e){var r,i,a,u,o,s=n.items,l=Math.max(0,n.width||0),c=Math.max(0,n.height||0),f=(new Hu).set(0,0,l,c),h=f.clone(),d=f.clone(),p=[];for(u=0,o=s.length;u{(a=t.orient||cu)!==qu&&(n[a]||(n[a]=[])).push(t)});for(let r in n){const i=n[r];ih(t,i,hh(i,r,e.legends,h,d,l,c))}p.forEach(n=>{const r=n.bounds;if(r.equals(n._bounds)||(n.bounds=n._bounds,t.dirty(n),n.bounds=r,t.dirty(n)),e.autosize&&e.autosize.type===Tu)switch(n.orient){case lu:case cu:f.add(r.x1,0).add(r.x2,0);break;case su:case fu:f.add(0,r.y1).add(0,r.y2)}else f.union(r)})}f.union(h).union(d),r&&f.union(function(t,n,e,r,i){var a,u=n.items[0],o=u.frame,s=u.orient,l=u.anchor,c=u.offset,f=u.bounds,h=0,d=s===lu||s===cu?r:e,p=0,g=0;switch(o!==bu?s===lu?(h=i.y2,d=i.y1):s===cu?(h=i.y1,d=i.y2):(h=i.x1,d=i.x2):s===lu&&(h=r,d=0),a=l===mu?h:l===yu?d:(h+d)/2,Vf.clear().union(f),s){case su:p=a,g=i.y1-c;break;case lu:p=i.x1-c,g=a;break;case cu:p=i.x2+c,g=a;break;case fu:p=a,g=i.y2+c;break;default:p=u.x,g=u.y}return f.translate(p-(u.x||0),g-(u.y||0)),Xf(u,"x",p)|Xf(u,"y",g)&&(u.bounds=Vf,t.dirty(u),u.bounds=f,t.dirty(u)),n.bounds.clear().union(f)}(t,r,l,c,f));!function(t,n,e,r){var i=r.autosize||{},a=i.type,u=t._width,o=t._height,s=t.padding();if(t._autosize<1||!a)return;var l=Math.max(0,n.width||0),c=Math.max(0,Math.ceil(-e.x1)),f=Math.max(0,Math.ceil(e.x2-l)),h=Math.max(0,n.height||0),d=Math.max(0,Math.ceil(-e.y1)),p=Math.max(0,Math.ceil(e.y2-h));i.contains===zu&&(u-=s.left+s.right,o-=s.top+s.bottom);a===qu?(c=0,d=0,l=u,h=o):a===Tu?(l=Math.max(0,u-c-f),h=Math.max(0,o-d-p)):a===Ru?(l=Math.max(0,u-c-f),o=h+d+p):a===Pu?(u=l+c+f,h=Math.max(0,o-d-p)):a===Lu&&(u=l+c+f,o=h+d+p);t._resizeView(u,o,l,h,[c,d],i.resize)}(t,n,f,e)}(e,n,t)}),t.modified()&&n.reflow(),n};var vh=Object.freeze({bound:Nf,identifier:Pf,mark:Lf,overlap:qf,render:Gf,viewlayout:mh});function yh(t,n,e){var r=t-n+2*e;return t?r>0?r:1:0}const xh="identity",_h="linear",bh="log",wh="pow",Ah="sqrt",Mh="symlog",kh="time",Eh="utc",Ch="sequential",Dh="diverging",Fh="quantile",Sh="quantize",Bh="threshold",Oh="ordinal",zh="point",Nh="band",Th="bin-ordinal";function Rh(t){return t===Fh}function Ph(t){return function(t){return t&&t.startsWith(Ch)}(t)||function(t){return t&&t.startsWith(Dh)}(t)}function Lh(t){return t===bh||t.endsWith("-log")}function qh(t){switch(t){case _h:case bh:case wh:case Ah:case Mh:case kh:case Eh:case Ch:return!0}return!1}function Uh(t){return t===Th||t===Oh||t===Nh||t===zh}function jh(t){return t===Th||t===Fh||t===Sh||t===Bh}var $h={millisecond:Nn,second:Pn,minute:Ln,hour:qn,day:Un,week:$n,month:Hn,year:Yn},Ih={millisecond:Nn,second:Pn,minute:Gn,hour:Vn,day:Xn,week:Jn,month:te,year:ne};function Wh(t,n){const e=n===Eh?Ih:$h;return e.hasOwnProperty(t)&&e[t]}function Hh(t,n){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(n).domain(t)}return this}function Yh(t,n){switch(arguments.length){case 0:break;case 1:this.interpolator(t);break;default:this.interpolator(n).domain(t)}return this}const Gh=Symbol("implicit");function Vh(){var t=new Map,n=[],e=[],r=Gh;function i(i){var a=i+"",u=t.get(a);if(!u){if(r!==Gh)return r;t.set(a,u=n.push(i))}return e[(u-1)%e.length]}return i.domain=function(e){if(!arguments.length)return n.slice();n=[],t=new Map;for(const r of e){const e=r+"";t.has(e)||t.set(e,n.push(r))}return i},i.range=function(t){return arguments.length?(e=Array.from(t),i):e.slice()},i.unknown=function(t){return arguments.length?(r=t,i):r},i.copy=function(){return Vh(n,e).unknown(r)},Hh.apply(i,arguments),i}function Xh(t,n,e){t.prototype=n.prototype=e,e.constructor=t}function Zh(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function Jh(){}var Qh="\\s*([+-]?\\d+)\\s*",Kh="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",td="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",nd=/^#([0-9a-f]{3})$/,ed=/^#([0-9a-f]{6})$/,rd=new RegExp("^rgb\\("+[Qh,Qh,Qh]+"\\)$"),id=new RegExp("^rgb\\("+[td,td,td]+"\\)$"),ad=new RegExp("^rgba\\("+[Qh,Qh,Qh,Kh]+"\\)$"),ud=new RegExp("^rgba\\("+[td,td,td,Kh]+"\\)$"),od=new RegExp("^hsl\\("+[Kh,td,td]+"\\)$"),sd=new RegExp("^hsla\\("+[Kh,td,td,Kh]+"\\)$"),ld={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function cd(t){var n;return t=(t+"").trim().toLowerCase(),(n=nd.exec(t))?new gd((n=parseInt(n[1],16))>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):(n=ed.exec(t))?fd(parseInt(n[1],16)):(n=rd.exec(t))?new gd(n[1],n[2],n[3],1):(n=id.exec(t))?new gd(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=ad.exec(t))?hd(n[1],n[2],n[3],n[4]):(n=ud.exec(t))?hd(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=od.exec(t))?vd(n[1],n[2]/100,n[3]/100,1):(n=sd.exec(t))?vd(n[1],n[2]/100,n[3]/100,n[4]):ld.hasOwnProperty(t)?fd(ld[t]):"transparent"===t?new gd(NaN,NaN,NaN,0):null}function fd(t){return new gd(t>>16&255,t>>8&255,255&t,1)}function hd(t,n,e,r){return r<=0&&(t=n=e=NaN),new gd(t,n,e,r)}function dd(t){return t instanceof Jh||(t=cd(t)),t?new gd((t=t.rgb()).r,t.g,t.b,t.opacity):new gd}function pd(t,n,e,r){return 1===arguments.length?dd(t):new gd(t,n,e,null==r?1:r)}function gd(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}function md(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function vd(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new xd(t,n,e,r)}function yd(t,n,e,r){return 1===arguments.length?function(t){if(t instanceof xd)return new xd(t.h,t.s,t.l,t.opacity);if(t instanceof Jh||(t=cd(t)),!t)return new xd;if(t instanceof xd)return t;var n=(t=t.rgb()).r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),a=Math.max(n,e,r),u=NaN,o=a-i,s=(a+i)/2;return o?(u=n===a?(e-r)/o+6*(e0&&s<1?0:u,new xd(u,o,s,t.opacity)}(t):new xd(t,n,e,null==r?1:r)}function xd(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function _d(t,n,e){return 255*(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)}Xh(Jh,cd,{displayable:function(){return this.rgb().displayable()},hex:function(){return this.rgb().hex()},toString:function(){return this.rgb()+""}}),Xh(gd,pd,Zh(Jh,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new gd(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new gd(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},hex:function(){return"#"+md(this.r)+md(this.g)+md(this.b)},toString:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}})),Xh(xd,yd,Zh(Jh,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new xd(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new xd(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,r=e+(e<.5?e:1-e)*n,i=2*e-r;return new gd(_d(t>=240?t-240:t+120,i,r),_d(t,i,r),_d(t<120?t+240:t-120,i,r),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));var bd=Math.PI/180,wd=180/Math.PI,Ad=.96422,Md=1,kd=.82521,Ed=4/29,Cd=6/29,Dd=3*Cd*Cd,Fd=Cd*Cd*Cd;function Sd(t){if(t instanceof Od)return new Od(t.l,t.a,t.b,t.opacity);if(t instanceof Ld){if(isNaN(t.h))return new Od(t.l,0,0,t.opacity);var n=t.h*bd;return new Od(t.l,Math.cos(n)*t.c,Math.sin(n)*t.c,t.opacity)}t instanceof gd||(t=dd(t));var e,r,i=Rd(t.r),a=Rd(t.g),u=Rd(t.b),o=zd((.2225045*i+.7168786*a+.0606169*u)/Md);return i===a&&a===u?e=r=o:(e=zd((.4360747*i+.3850649*a+.1430804*u)/Ad),r=zd((.0139322*i+.0971045*a+.7141733*u)/kd)),new Od(116*o-16,500*(e-o),200*(o-r),t.opacity)}function Bd(t,n,e,r){return 1===arguments.length?Sd(t):new Od(t,n,e,null==r?1:r)}function Od(t,n,e,r){this.l=+t,this.a=+n,this.b=+e,this.opacity=+r}function zd(t){return t>Fd?Math.pow(t,1/3):t/Dd+Ed}function Nd(t){return t>Cd?t*t*t:Dd*(t-Ed)}function Td(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Rd(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Pd(t,n,e,r){return 1===arguments.length?function(t){if(t instanceof Ld)return new Ld(t.h,t.c,t.l,t.opacity);if(t instanceof Od||(t=Sd(t)),0===t.a&&0===t.b)return new Ld(NaN,0,t.l,t.opacity);var n=Math.atan2(t.b,t.a)*wd;return new Ld(n<0?n+360:n,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}(t):new Ld(t,n,e,null==r?1:r)}function Ld(t,n,e,r){this.h=+t,this.c=+n,this.l=+e,this.opacity=+r}Xh(Od,Bd,Zh(Jh,{brighter:function(t){return new Od(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new Od(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,n=isNaN(this.a)?t:t+this.a/500,e=isNaN(this.b)?t:t-this.b/200;return new gd(Td(3.1338561*(n=Ad*Nd(n))-1.6168667*(t=Md*Nd(t))-.4906146*(e=kd*Nd(e))),Td(-.9787684*n+1.9161415*t+.033454*e),Td(.0719453*n-.2289914*t+1.4052427*e),this.opacity)}})),Xh(Ld,Pd,Zh(Jh,{brighter:function(t){return new Ld(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new Ld(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return Sd(this).rgb()}}));var qd=-.14861,Ud=1.78277,jd=-.29227,$d=-.90649,Id=1.97294,Wd=Id*$d,Hd=Id*Ud,Yd=Ud*jd-$d*qd;function Gd(t,n,e,r){return 1===arguments.length?function(t){if(t instanceof Vd)return new Vd(t.h,t.s,t.l,t.opacity);t instanceof gd||(t=dd(t));var n=t.r/255,e=t.g/255,r=t.b/255,i=(Yd*r+Wd*n-Hd*e)/(Yd+Wd-Hd),a=r-i,u=(Id*(e-i)-jd*a)/$d,o=Math.sqrt(u*u+a*a)/(Id*i*(1-i)),s=o?Math.atan2(u,a)*wd-120:NaN;return new Vd(s<0?s+360:s,o,i,t.opacity)}(t):new Vd(t,n,e,null==r?1:r)}function Vd(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function Xd(t,n,e,r,i){var a=t*t,u=a*t;return((1-3*t+3*a-u)*n+(4-6*a+3*u)*e+(1+3*t+3*a-3*u)*r+u*i)/6}function Zd(t){var n=t.length-1;return function(e){var r=e<=0?e=0:e>=1?(e=1,n-1):Math.floor(e*n),i=t[r],a=t[r+1],u=r>0?t[r-1]:2*i-a,o=r180||e<-180?e-360*Math.round(e/360):e):Qd(isNaN(t)?n:t)}function np(t){return 1==(t=+t)?ep:function(n,e){return e-n?function(t,n,e){return t=Math.pow(t,e),n=Math.pow(n,e)-t,e=1/e,function(r){return Math.pow(t+r*n,e)}}(n,e,t):Qd(isNaN(n)?e:n)}}function ep(t,n){var e=n-t;return e?Kd(t,e):Qd(isNaN(t)?n:t)}Xh(Vd,Gd,Zh(Jh,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new Vd(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new Vd(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*bd,n=+this.l,e=isNaN(this.s)?0:this.s*n*(1-n),r=Math.cos(t),i=Math.sin(t);return new gd(255*(n+e*(qd*r+Ud*i)),255*(n+e*(jd*r+$d*i)),255*(n+e*(Id*r)),this.opacity)}}));var rp=function t(n){var e=np(n);function r(t,n){var r=e((t=pd(t)).r,(n=pd(n)).r),i=e(t.g,n.g),a=e(t.b,n.b),u=ep(t.opacity,n.opacity);return function(n){return t.r=r(n),t.g=i(n),t.b=a(n),t.opacity=u(n),t+""}}return r.gamma=t,r}(1);function ip(t){return function(n){var e,r,i=n.length,a=new Array(i),u=new Array(i),o=new Array(i);for(e=0;ea&&(i=n.slice(a,i),o[u]?o[u]+=i:o[++u]=i),(e=e[0])===(r=r[0])?o[u]?o[u]+=r:o[++u]=r:(o[++u]=null,s.push({i:u,x:lp(e,r)})),a=hp.lastIndex;return a180?n+=360:n-t>180&&(t+=360),a.push({i:e.push(i(e)+"rotate(",null,r)-2,x:lp(t,n)})):n&&e.push(i(e)+"rotate("+n+r)}(a.rotate,u.rotate,o,s),function(t,n,e,a){t!==n?a.push({i:e.push(i(e)+"skewX(",null,r)-2,x:lp(t,n)}):n&&e.push(i(e)+"skewX("+n+r)}(a.skewX,u.skewX,o,s),function(t,n,e,r,a,u){if(t!==e||n!==r){var o=a.push(i(a)+"scale(",null,",",null,")");u.push({i:o-4,x:lp(t,e)},{i:o-2,x:lp(n,r)})}else 1===e&&1===r||a.push(i(a)+"scale("+e+","+r+")")}(a.scaleX,a.scaleY,u.scaleX,u.scaleY,o,s),a=u=null,function(t){for(var n,e=-1,r=s.length;++er&&(n=e,e=r,r=n),function(t){return Math.max(e,Math.min(r,t))}}function Gp(t,n,e){var r=t[0],i=t[1],a=n[0],u=n[1];return i2?Vp:Gp,i=a=null,f}function f(n){return isNaN(n=+n)?e:(i||(i=r(u.map(t),o,s)))(t(l(n)))}return f.invert=function(e){return l(n((a||(a=r(o,u.map(t),lp)))(e)))},f.domain=function(t){return arguments.length?(u=Array.from(t,$p),l===Wp||(l=Yp(u)),c()):u.slice()},f.range=function(t){return arguments.length?(o=Array.from(t),c()):o.slice()},f.rangeRound=function(t){return o=Array.from(t),s=gp,c()},f.clamp=function(t){return arguments.length?(l=t?Yp(u):Wp,f):l!==Wp},f.interpolate=function(t){return arguments.length?(s=t,c()):s},f.unknown=function(t){return arguments.length?(e=t,f):e},function(e,r){return t=e,n=r,c()}}function Jp(t,n){return Zp()(t,n)}function Qp(t,n){if((e=(t=n?t.toExponential(n-1):t.toExponential()).indexOf("e"))<0)return null;var e,r=t.slice(0,e);return[r.length>1?r[0]+r.slice(2):r,+t.slice(e+1)]}function Kp(t){return(t=Qp(Math.abs(t)))?t[1]:NaN}var tg,ng=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function eg(t){return new rg(t)}function rg(t){if(!(n=ng.exec(t)))throw new Error("invalid format: "+t);var n;this.fill=n[1]||" ",this.align=n[2]||">",this.sign=n[3]||"-",this.symbol=n[4]||"",this.zero=!!n[5],this.width=n[6]&&+n[6],this.comma=!!n[7],this.precision=n[8]&&+n[8].slice(1),this.trim=!!n[9],this.type=n[10]||""}function ig(t,n){var e=Qp(t,n);if(!e)return t+"";var r=e[0],i=e[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}eg.prototype=rg.prototype,rg.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(null==this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(null==this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var ag={"%":function(t,n){return(100*t).toFixed(n)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.round(t).toString(10)},e:function(t,n){return t.toExponential(n)},f:function(t,n){return t.toFixed(n)},g:function(t,n){return t.toPrecision(n)},o:function(t){return Math.round(t).toString(8)},p:function(t,n){return ig(100*t,n)},r:ig,s:function(t,n){var e=Qp(t,n);if(!e)return t+"";var r=e[0],i=e[1],a=i-(tg=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,u=r.length;return a===u?r:a>u?r+new Array(a-u+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+new Array(1-a).join("0")+Qp(t,Math.max(0,n+a-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}};function ug(t){return t}var og,sg,lg,cg=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function fg(t){var n,e,r=t.grouping&&t.thousands?(n=t.grouping,e=t.thousands,function(t,r){for(var i=t.length,a=[],u=0,o=n[0],s=0;i>0&&o>0&&(s+o+1>r&&(o=Math.max(1,r-s)),a.push(t.substring(i-=o,i+o)),!((s+=o+1)>r));)o=n[u=(u+1)%n.length];return a.reverse().join(e)}):ug,i=t.currency,a=t.decimal,u=t.numerals?function(t){return function(n){return n.replace(/[0-9]/g,function(n){return t[+n]})}}(t.numerals):ug,o=t.percent||"%";function s(t){var n=(t=eg(t)).fill,e=t.align,s=t.sign,l=t.symbol,c=t.zero,f=t.width,h=t.comma,d=t.precision,p=t.trim,g=t.type;"n"===g?(h=!0,g="g"):ag[g]||(null==d&&(d=12),p=!0,g="g"),(c||"0"===n&&"="===e)&&(c=!0,n="0",e="=");var m="$"===l?i[0]:"#"===l&&/[boxX]/.test(g)?"0"+g.toLowerCase():"",v="$"===l?i[1]:/[%p]/.test(g)?o:"",y=ag[g],x=/[defgprs%]/.test(g);function _(t){var i,o,l,_=m,b=v;if("c"===g)b=y(t)+b,t="";else{var w=(t=+t)<0;if(t=y(Math.abs(t),d),p&&(t=function(t){t:for(var n,e=t.length,r=1,i=-1;r0){if(!+t[r])break t;i=0}}return i>0?t.slice(0,i)+t.slice(n+1):t}(t)),w&&0==+t&&(w=!1),_=(w?"("===s?s:"-":"-"===s||"("===s?"":s)+_,b=("s"===g?cg[8+tg/3]:"")+b+(w&&"("===s?")":""),x)for(i=-1,o=t.length;++i(l=t.charCodeAt(i))||l>57){b=(46===l?a+t.slice(i+1):t.slice(i))+b,t=t.slice(0,i);break}}h&&!c&&(t=r(t,1/0));var A=_.length+t.length+b.length,M=A>1)+_+t+b+M.slice(A);break;default:t=M+_+t+b}return u(t)}return d=null==d?6:/[gprs]/.test(g)?Math.max(1,Math.min(21,d)):Math.max(0,Math.min(20,d)),_.toString=function(){return t+""},_}return{format:s,formatPrefix:function(t,n){var e=s(((t=eg(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(Kp(n)/3))),i=Math.pow(10,-r),a=cg[8+r/3];return function(t){return e(i*t)+a}}}}function hg(t){return og=fg(t),sg=og.format,lg=og.formatPrefix,og}function dg(t,n,e,r){var i,a=gi(t,n,e);switch((r=eg(null==r?",f":r)).type){case"s":var u=Math.max(Math.abs(t),Math.abs(n));return null!=r.precision||isNaN(i=function(t,n){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Kp(n)/3)))-Kp(Math.abs(t)))}(a,u))||(r.precision=i),lg(r,u);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(i=function(t,n){return t=Math.abs(t),n=Math.abs(n)-t,Math.max(0,Kp(n)-Kp(t))+1}(a,Math.max(Math.abs(t),Math.abs(n))))||(r.precision=i-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(i=function(t){return Math.max(0,-Kp(Math.abs(t)))}(a))||(r.precision=i-2*("%"===r.type))}return sg(r)}function pg(t){var n=t.domain;return t.ticks=function(t){var e=n();return di(e[0],e[e.length-1],null==t?10:t)},t.tickFormat=function(t,e){var r=n();return dg(r[0],r[r.length-1],null==t?10:t,e)},t.nice=function(e){null==e&&(e=10);var r,i=n(),a=0,u=i.length-1,o=i[a],s=i[u];return s0?r=pi(o=Math.floor(o/r)*r,s=Math.ceil(s/r)*r,e):r<0&&(r=pi(o=Math.ceil(o*r)/r,s=Math.floor(s*r)/r,e)),r>0?(i[a]=Math.floor(o/r)*r,i[u]=Math.ceil(s/r)*r,n(i)):r<0&&(i[a]=Math.ceil(o*r)/r,i[u]=Math.floor(s*r)/r,n(i)),t},t}function gg(t,n){var e,r=0,i=(t=t.slice()).length-1,a=t[r],u=t[i];return u0){for(;hs)break;g.push(f)}}else for(;h=1;--c)if(!((f=l*c)s)break;g.push(f)}}else g=di(h,d,Math.min(d-h,p)).map(e);return r?g.reverse():g},r.tickFormat=function(t,i){if(null==i&&(i=10===a?".0e":","),"function"!=typeof i&&(i=sg(i)),t===1/0)return i;null==t&&(t=10);var u=Math.max(1,a*t/r.ticks().length);return function(t){var r=t/e(Math.round(n(t)));return r*aa[1-c])))return e=Math.max(0,ui(f,s)-1),u=s===l?e:ui(f,l)-1,s-f[e]>n+1e-10&&++e,c&&(o=e,e=h-u,u=h-o),e>u?void 0:r().slice(e,u+1)}},e.invert=function(t){var n=e.invertRange([t,t]);return n?n[0]:n},e.copy=function(){return Gg().domain(r()).range(a).round(u).paddingInner(o).paddingOuter(s).align(l)},c()}var Vg=Array.prototype.map;var Xg=Array.prototype.slice;function Zg(t,n){return arguments.length>1?(Jg[t]=function(t,n){return function(){var e=n();return e.invertRange||(e.invertRange=e.invert?function(t){return function(n){var e,r=n[0],i=n[1];return i=o&&u[i]<=s&&(l<0&&(l=i),e=i);if(!(l<0))return o=t.invertExtent(u[l]),s=t.invertExtent(u[e]),[void 0===o[0]?o[1]:o[0],void 0===s[1]?s[0]:s[1]]}}(e):void 0),e.type=t,e}}(t,n),this):Jg.hasOwnProperty(t)?Jg[t]:void 0}var Jg={[xh]:function t(n){var e;function r(t){return isNaN(t=+t)?e:t}return r.invert=r,r.domain=r.range=function(t){return arguments.length?(n=Array.from(t,$p),r):n.slice()},r.unknown=function(t){return arguments.length?(e=t,r):e},r.copy=function(){return t(n).unknown(e)},n=arguments.length?Array.from(n,$p):[0,1],pg(r)},[_h]:function t(){var n=Jp(Wp,Wp);return n.copy=function(){return Xp(n,t())},Hh.apply(n,arguments),pg(n)},[bh]:function t(){var n=wg(Zp()).domain([1,10]);return n.copy=function(){return Xp(n,t()).base(n.base())},Hh.apply(n,arguments),n},[wh]:Sg,[Ah]:function(){return Sg.apply(null,arguments).exponent(.5)},[Mh]:function t(){var n=kg(Zp());return n.copy=function(){return Xp(n,t()).constant(n.constant())},Hh.apply(n,arguments)},[kh]:function(){return Hh.apply(Ug(Yn,Hn,$n,Un,qn,Ln,Pn,Nn,ue).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)},[Eh]:function(){return Hh.apply(Ug(ne,te,Jn,Xn,Vn,Gn,Pn,Nn,se).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)},[Ch]:Ig,[Ch+"-"+_h]:Ig,[Ch+"-"+bh]:function t(){var n=wg(jg()).domain([1,10]);return n.copy=function(){return $g(n,t()).base(n.base())},Yh.apply(n,arguments)},[Ch+"-"+wh]:Wg,[Ch+"-"+Ah]:function(){return Wg.apply(null,arguments).exponent(.5)},[Ch+"-"+Mh]:function t(){var n=kg(jg());return n.copy=function(){return $g(n,t()).constant(n.constant())},Yh.apply(n,arguments)},[Dh+"-"+_h]:function t(){var n=pg(Hg()(Wp));return n.copy=function(){return $g(n,t())},Yh.apply(n,arguments)},[Dh+"-"+bh]:function t(){var n=wg(Hg()).domain([.1,1,10]);return n.copy=function(){return $g(n,t()).base(n.base())},Yh.apply(n,arguments)},[Dh+"-"+wh]:Yg,[Dh+"-"+Ah]:function(){return Yg.apply(null,arguments).exponent(.5)},[Dh+"-"+Mh]:function t(){var n=kg(Hg());return n.copy=function(){return $g(n,t()).constant(n.constant())},Yh.apply(n,arguments)},[Fh]:function t(){var n,e=[],r=[],i=[];function a(){var t=0,n=Math.max(1,r.length);for(i=new Array(n-1);++t0?i[n-1]:e[0],n=i?[a[i-1],r]:[a[n-1],a[n]]},o.unknown=function(t){return arguments.length?(n=t,o):o},o.thresholds=function(){return a.slice()},o.copy=function(){return t().domain([e,r]).range(u).unknown(n)},Hh.apply(pg(o),arguments)},[Bh]:function t(){var n,e=[.5],r=[0,1],i=1;function a(t){return t<=t?r[ui(e,t,0,i)]:n}return a.domain=function(t){return arguments.length?(e=Array.from(t),i=Math.min(e.length,r.length-1),a):e.slice()},a.range=function(t){return arguments.length?(r=Array.from(t),i=Math.min(e.length,r.length-1),a):r.slice()},a.invertExtent=function(t){var n=r.indexOf(t);return[e[n-1],e[n]]},a.unknown=function(t){return arguments.length?(n=t,a):n},a.copy=function(){return t().domain(e).range(r).unknown(n)},Hh.apply(a,arguments)},[Th]:function t(){var n=[],e=[];function r(t){return null==t||t!=t?void 0:e[(ui(n,t)-1)%e.length]}return r.domain=function(t){return arguments.length?(n=function(t){return Vg.call(t,function(t){return+t})}(t),r):n.slice()},r.range=function(t){return arguments.length?(e=Xg.call(t),r):e.slice()},r.tickFormat=function(t,e){return dg(n[0],k(n),null==t?10:t,e)},r.copy=function(){return t().domain(r.domain()).range(r.range())},r},[Oh]:Vh,[Nh]:Gg,[zh]:function(){return function t(n){var e=n.copy;return n.padding=n.paddingOuter,delete n.paddingInner,n.copy=function(){return t(e())},n}(Gg().paddingInner(1))}};for(var Qg in Jg)Zg(Qg,Jg[Qg]);const Kg=["clamp","base","constant","exponent"];function tm(t,n){var e=n[0],r=k(n)-e;return function(n){return t(e+n*r)}}function nm(t,n,e){return Up(im(n||"rgb",e),t)}function em(t,n){for(var e=new Array(n),r=n+1,i=0;it[n]?a[n](t[n]()):0),a):V(.5)}function im(t,n){var e=jp[function(t){return"interpolate"+t.toLowerCase().split("-").map(function(t){return t[0].toUpperCase()+t.slice(1)}).join("")}(t)];return null!=n&&e&&e.gamma?e.gamma(n):e}function am(t){for(var n=t.length/6|0,e=new Array(n),r=0;r1?(om[t]=n,this):om[t]}function lm(t,n,e){var r;return ut(n)&&null!=e&&(n=Math.min(n,~~(dt(t.domain())/e)||1)),o(n)&&(r=n.step,n=n.interval),s(n)&&(n=Wh(n,t.type)||i("Only time and utc scales accept interval strings."),r&&(n=n.every(r))),n}function cm(t,n,e){var r=t.range(),i=Math.floor(r[0]),a=Math.ceil(k(r));if(i>a&&(r=a,a=i,i=r),n=n.filter(function(n){return n=t(n),i<=n&&n<=a}),e>0&&n.length>1){for(var u=[n[0],k(n)];n.length>e&&n.length>=3;)n=n.filter(function(t,n){return!(n%2)});n.length<3&&(n=u)}return n}function fm(t,n){return t.bins?cm(t,function(t,n){var e=t.length,r=~~(e/(n||e));return r<2?t.slice():t.filter(function(t,n){return!(n%r)})}(t.bins,n)):t.ticks?t.ticks(n):t.domain()}function hm(t,n,e,r){var i,a,u=t.tickFormat?t.tickFormat(n,e):e&&r===kh?ue(e):e?sg(e):String;if(Lh(t.type)){var o=function(t){var n=eg(t||",");if(null==n.precision){switch(n.precision=12,n.type){case"%":n.precision-=2;break;case"e":n.precision-=1}return e=sg(n),r=sg(".1f")(1)[1],function(t){var n,i,a=e(t),u=a.indexOf(r);if(u<0)return a;for(n=function(t,n){var e,r=t.lastIndexOf("e");if(r>0)return r;for(r=t.length;--r>n;)if((e=t.charCodeAt(r))>=48&&e<=57)return r+1}(a,u),i=nu;)if("0"!==a[n]){++n;break}return a.slice(0,n)+i}}return sg(n);var e,r}(e);u=t.bins?o:(i=u,a=o,function(t){return i(t)?a(t):""})}return u}function dm(t){$r.call(this,null,t)}function pm(t){$r.call(this,null,t)}function gm(){return Dt({})}function mm(t){return t.exit}function vm(t){$r.call(this,null,t)}um({category10:"1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf",category20:"1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5",category20b:"393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6",category20c:"3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9",tableau10:"4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac",tableau20:"4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5",accent:"7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666",dark2:"1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666",paired:"a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928",pastel1:"fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2",pastel2:"b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc",set1:"e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999",set2:"66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3",set3:"8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f"},am),um({blues:"cfe1f2bed8eca8cee58fc1de74b2d75ba3cf4592c63181bd206fb2125ca40a4a90",greens:"d3eecdc0e6baabdda594d3917bc77d60ba6c46ab5e329a512089430e7735036429",greys:"e2e2e2d4d4d4c4c4c4b1b1b19d9d9d8888887575756262624d4d4d3535351e1e1e",oranges:"fdd8b3fdc998fdb87bfda55efc9244f87f2cf06b18e4580bd14904b93d029f3303",purples:"e2e1efd4d4e8c4c5e0b4b3d6a3a0cc928ec3827cb97566ae684ea25c3696501f8c",reds:"fdc9b4fcb49afc9e80fc8767fa7051f6573fec3f2fdc2a25c81b1db21218970b13",blueGreen:"d5efedc1e8e0a7ddd18bd2be70c6a958ba9144ad77319c5d2089460e7736036429",bluePurple:"ccddecbad0e4a8c2dd9ab0d4919cc98d85be8b6db28a55a6873c99822287730f71",greenBlue:"d3eecec5e8c3b1e1bb9bd8bb82cec269c2ca51b2cd3c9fc7288abd1675b10b60a1",orangeRed:"fddcaffdcf9bfdc18afdad77fb9562f67d53ee6545e24932d32d1ebf130da70403",purpleBlue:"dbdaebc8cee4b1c3de97b7d87bacd15b9fc93a90c01e7fb70b70ab056199045281",purpleBlueGreen:"dbd8eac8cee4b0c3de93b7d872acd1549fc83892bb1c88a3097f8702736b016353",purpleRed:"dcc9e2d3b3d7ce9eccd186c0da6bb2e14da0e23189d91e6fc61159ab07498f023a",redPurple:"fccfccfcbec0faa9b8f98faff571a5ec539ddb3695c41b8aa908808d0179700174",yellowGreen:"e4f4acd1eca0b9e2949ed68880c97c62bb6e47aa5e3297502083440e723b036034",yellowOrangeBrown:"feeaa1fedd84fecc63feb746fca031f68921eb7215db5e0bc54c05ab3d038f3204",yellowOrangeRed:"fee087fed16ffebd59fea849fd903efc7335f9522bee3423de1b20ca0b22af0225",blueOrange:"134b852f78b35da2cb9dcae1d2e5eff2f0ebfce0bafbbf74e8932fc5690d994a07",brownBlueGreen:"704108a0651ac79548e3c78af3e6c6eef1eac9e9e48ed1c74da79e187a72025147",purpleGreen:"5b1667834792a67fb6c9aed3e6d6e8eff0efd9efd5aedda971bb75368e490e5e29",purpleOrange:"4114696647968f83b7b9b4d6dadbebf3eeeafce0bafbbf74e8932fc5690d994a07",redBlue:"8c0d25bf363adf745ef4ae91fbdbc9f2efeed2e5ef9dcae15da2cb2f78b3134b85",redGrey:"8c0d25bf363adf745ef4ae91fcdccbfaf4f1e2e2e2c0c0c0969696646464343434",yellowGreenBlue:"eff9bddbf1b4bde5b594d5b969c5be45b4c22c9ec02182b82163aa23479c1c3185",redYellowBlue:"a50026d4322cf16e43fcac64fedd90faf8c1dcf1ecabd6e875abd04a74b4313695",redYellowGreen:"a50026d4322cf16e43fcac63fedd8df9f7aed7ee8ea4d86e64bc6122964f006837",pinkYellowGreen:"8e0152c0267edd72adf0b3d6faddedf5f3efe1f2cab6de8780bb474f9125276419",spectral:"9e0142d13c4bf0704afcac63fedd8dfbf8b0e0f3a1a9dda269bda94288b55e4fa2",viridis:"440154470e61481a6c482575472f7d443a834144873d4e8a39568c35608d31688e2d708e2a788e27818e23888e21918d1f988b1fa08822a8842ab07f35b77943bf7154c56866cc5d7ad1518fd744a5db36bcdf27d2e21be9e51afde725",magma:"0000040404130b0924150e3720114b2c11603b0f704a107957157e651a80721f817f24828c29819a2e80a8327db6377ac43c75d1426fde4968e95462f1605df76f5cfa7f5efc8f65fe9f6dfeaf78febf84fece91fddea0fcedaffcfdbf",inferno:"0000040403130c0826170c3b240c4f330a5f420a68500d6c5d126e6b176e781c6d86216b932667a12b62ae305cbb3755c73e4cd24644dd513ae65c30ed6925f3771af8850ffb9506fca50afcb519fac62df6d645f2e661f3f484fcffa4",plasma:"0d088723069033059742039d5002a25d01a66a00a87801a88405a7900da49c179ea72198b12a90ba3488c33d80cb4779d35171da5a69e16462e76e5bed7953f2834cf68f44fa9a3dfca636fdb32ffec029fcce25f9dc24f5ea27f0f921",rainbow:"6e40aa883eb1a43db3bf3cafd83fa4ee4395fe4b83ff576eff6659ff7847ff8c38f3a130e2b72fcfcc36bee044aff05b8ff4576ff65b52f6673af27828ea8d1ddfa319d0b81cbecb23abd82f96e03d82e14c6edb5a5dd0664dbf6e40aa",sinebow:"ff4040fc582af47218e78d0bd5a703bfbf00a7d5038de70b72f41858fc2a40ff402afc5818f4720be78d03d5a700bfbf03a7d50b8de71872f42a58fc4040ff582afc7218f48d0be7a703d5bf00bfd503a7e70b8df41872fc2a58ff4040",browns:"eedbbdecca96e9b97ae4a865dc9856d18954c7784cc0673fb85536ad44339f3632",tealBlues:"bce4d89dd3d181c3cb65b3c245a2b9368fae347da0306a932c5985",teals:"bbdfdfa2d4d58ac9c975bcbb61b0af4da5a43799982b8b8c1e7f7f127273006667",warmGreys:"dcd4d0cec5c1c0b8b4b3aaa7a59c9998908c8b827f7e7673726866665c5a59504e",goldGreen:"f4d166d5ca60b6c35c98bb597cb25760a6564b9c533f8f4f33834a257740146c36",goldOrange:"f4d166f8be5cf8aa4cf5983bf3852aef701be2621fd65322c54923b142239e3a26",goldRed:"f4d166f6be59f9aa51fc964ef6834bee734ae56249db5247cf4244c43141b71d3e",lightGreyRed:"efe9e6e1dad7d5cbc8c8bdb9bbaea9cd967ddc7b43e15f19df4011dc000b",lightGreyTeal:"e4eaead6dcddc8ced2b7c2c7a6b4bc64b0bf22a6c32295c11f85be1876bc",lightMulti:"e0f1f2c4e9d0b0de9fd0e181f6e072f6c053f3993ef77440ef4a3c",lightOrange:"f2e7daf7d5baf9c499fab184fa9c73f68967ef7860e8645bde515bd43d5b",lightTealBlue:"e3e9e0c0dccf9aceca7abfc859afc0389fb9328dad2f7ca0276b95255988",darkBlue:"3232322d46681a5c930074af008cbf05a7ce25c0dd38daed50f3faffffff",darkGold:"3c3c3c584b37725e348c7631ae8b2bcfa424ecc31ef9de30fff184ffffff",darkGreen:"3a3a3a215748006f4d048942489e4276b340a6c63dd2d836ffeb2cffffaa",darkMulti:"3737371f5287197d8c29a86995ce3fffe800ffffff",darkRed:"3434347036339e3c38cc4037e75d1eec8620eeab29f0ce32ffeb2c"},t=>nm(am(t))),et(dm,$r).transform=function(t,n){if(this.value&&!t.modified())return n.StopPropagation;var e=n.fork(n.NO_SOURCE|n.NO_FIELDS),r=this.value,i=t.scale,a=lm(i,null==t.count?t.values?t.values.length:10:t.count,t.minstep),u=t.format||hm(i,a,t.formatSpecifier,t.formatType),o=t.values?cm(i,t.values,a):fm(i,a);return r&&(e.rem=r),r=o.map(function(t,n){return Dt({index:n/(o.length-1||1),value:t,label:u(t)})}),t.extra&&r.length&&r.push(Dt({index:-1,extra:{value:r[0].value},label:""})),e.source=r,e.add=r,this.value=r,e},et(pm,$r).transform=function(t,n){var e=n.dataflow,r=n.fork(n.NO_SOURCE|n.NO_FIELDS),a=t.item||gm,o=t.key||Et,s=this.value;return u(r.encode)&&(r.encode=null),s&&(t.modified("key")||n.modified(o))&&i("DataJoin does not support modified key function or fields."),s||(n=n.addAll(),this.value=s=tt().test(mm),s.lookup=function(t){return s.get(o(t))}),n.visit(n.ADD,function(t){var n=o(t),e=s.get(n);e?e.exit?(s.empty--,r.add.push(e)):r.mod.push(e):(s.set(n,e=a(t)),r.add.push(e)),e.datum=t,e.exit=!1}),n.visit(n.MOD,function(t){var n=o(t),e=s.get(n);e&&(e.datum=t,r.mod.push(e))}),n.visit(n.REM,function(t){var n=o(t),e=s.get(n);t!==e.datum||e.exit||(r.rem.push(e),e.exit=!0,++s.empty)}),n.changed(n.ADD_MOD)&&r.modifies("datum"),t.clean&&s.empty>e.cleanThreshold&&e.runAfter(s.clean),r},et(vm,$r).transform=function(t,n){var e=n.fork(n.ADD_REM),r=t.mod||!1,i=t.encoders,a=n.encode;if(u(a)){if(!e.changed()&&!a.every(function(t){return i[t]}))return n.StopPropagation;a=a[0],e.encode=null}var o="enter"===a,s=i.update||v,l=i.enter||v,c=i.exit||v,f=(a&&!o?i[a]:s)||v;if(n.changed(n.ADD)&&(n.visit(n.ADD,function(n){l(n,t),s(n,t)}),e.modifies(l.output),e.modifies(s.output),f!==v&&f!==s&&(n.visit(n.ADD,function(n){f(n,t)}),e.modifies(f.output))),n.changed(n.REM)&&c!==v&&(n.visit(n.REM,function(n){c(n,t)}),e.modifies(c.output)),o||f!==v){var h=n.MOD|(t.modified()?n.REFLOW:0);o?(n.visit(h,function(n){var i=l(n,t)||r;(f(n,t)||i)&&e.mod.push(n)}),e.mod.length&&e.modifies(l.output)):n.visit(h,function(n){(f(n,t)||r)&&e.mod.push(n)}),e.mod.length&&e.modifies(f.output)}return e.changed()?e:n.StopPropagation};var ym="symbol",xm="discrete";const _m={[Fh]:"quantiles",[Sh]:"thresholds",[Bh]:"domain"},bm={[Fh]:"quantiles",[Sh]:"domain"};function wm(t,n){return t.bins?function(t){const n=t.slice(0,-1);return n.max=k(t),n}(t.bins):_m[t.type]?function(t){const n=[-1/0].concat(t);return n.max=1/0,n}(t[_m[t.type]]()):fm(t,n)}function Am(t,n,e,r,i){const a=bm[t.type]&&i!==kh?function(t,n){var e,r=t[bm[t.type]](),i=r.length,a=i>1?r[1]-r[0]:r[0];for(e=1;eMath.PI?e<=t:e>t;return"M"+n*i+","+n*a+"A"+n+","+n+" 0 0,"+(s?1:0)+" "+n*u+","+n*o+"L"+r*u+","+r*o},"diagonal-horizontal":function(t,n,e,r){var i=(t+e)/2;return"M"+t+","+n+"C"+i+","+n+" "+i+","+r+" "+e+","+r},"diagonal-vertical":function(t,n,e,r){var i=(n+r)/2;return"M"+t+","+n+"C"+t+","+i+" "+e+","+i+" "+e+","+r},"diagonal-radial":function(t,n,e,r){var i=Math.cos(t),a=Math.sin(t),u=Math.cos(e),o=Math.sin(e),s=(n+r)/2;return"M"+n*i+","+n*a+"C"+s*i+","+s*a+" "+s*u+","+s*o+" "+r*u+","+r*o}});function Cm(t){return t.source.x}function Dm(t){return t.source.y}function Fm(t){return t.target.x}function Sm(t){return t.target.y}function Bm(t){$r.call(this,{},t)}function Om(t,n,e,r){return"M"+t+","+n+"L"+e+","+r}function zm(t,n,e,r){var i=e-t,a=r-n,u=Math.sqrt(i*i+a*a)/2;return"M"+t+","+n+"A"+u+","+u+" "+180*Math.atan2(a,i)/Math.PI+" 0 1 "+e+","+r}function Nm(t,n,e,r){var i=e-t,a=r-n,u=.2*(i+a),o=.2*(a-i);return"M"+t+","+n+"C"+(t+u)+","+(n+o)+" "+(e+o)+","+(r-u)+" "+e+","+r}function Tm(t){$r.call(this,null,t)}Bm.Definition={type:"LinkPath",metadata:{modifies:!0},params:[{name:"sourceX",type:"field",default:"source.x"},{name:"sourceY",type:"field",default:"source.y"},{name:"targetX",type:"field",default:"target.x"},{name:"targetY",type:"field",default:"target.y"},{name:"orient",type:"enum",default:"vertical",values:["horizontal","vertical","radial"]},{name:"shape",type:"enum",default:"line",values:["line","arc","curve","diagonal","orthogonal"]},{name:"require",type:"signal"},{name:"as",type:"string",default:"path"}]},et(Bm,$r).transform=function(t,n){var e=t.sourceX||Cm,r=t.sourceY||Dm,a=t.targetX||Fm,u=t.targetY||Sm,o=t.as||"path",s=t.orient||"vertical",l=t.shape||"line",c=Em.get(l+"-"+s)||Em.get(l);return c||i("LinkPath unsupported type: "+t.shape+(t.orient?"-"+t.orient:"")),n.visit(n.SOURCE,function(t){t[o]=c(e(t),r(t),a(t),u(t))}),n.reflow(t.modified()).modifies(o)},Tm.Definition={type:"Pie",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"startAngle",type:"number",default:0},{name:"endAngle",type:"number",default:6.283185307179586},{name:"sort",type:"boolean",default:!1},{name:"as",type:"string",array:!0,length:2,default:["startAngle","endAngle"]}]},et(Tm,$r).transform=function(t,n){var e,r,i,a=t.as||["startAngle","endAngle"],u=a[0],o=a[1],s=t.field||g,l=t.startAngle||0,c=null!=t.endAngle?t.endAngle:2*Math.PI,f=n.source,h=f.map(s),d=h.length,p=l,m=(c-l)/function(t,n){let e=0;if(void 0===n)for(let n of t)(n=+n)&&(e+=n);else{let r=-1;for(let i of t)(i=+n(i,++r,t))&&(e+=i)}return e}(h),v=li(d);for(t.sort&&v.sort(function(t,n){return h[t]-h[n]}),e=0;e0?1:0)},0))!==n.length&&e.warn("Log scale domain includes zero: "+l(n)));return n}function jm(t,n,e){return Y(t)&&(n||e)?tm(t,$m(n||[0,1],e)):t}function $m(t,n){return n?t.slice().reverse():t}function Im(t){$r.call(this,null,t)}et(qm,$r).transform=function(t,n){var e=n.dataflow,r=this.value,a=function(t){var n,e=t.type,r="";if(e===Ch)return Ch+"-"+_h;(function(t){const n=t.type;return qh(n)&&n!==kh&&n!==Eh&&(t.scheme||t.range&&t.range.length&&t.range.every(s))})(t)&&(n=t.rawDomain?t.rawDomain.length:t.domain?t.domain.length+ +(null!=t.domainMid):0,r=2===n?Ch+"-":3===n?Dh+"-":"");return(r+e||_h).toLowerCase()}(t);for(a in r&&a===r.type||(this.value=r=Zg(a)()),t)if(!Lm[a]){if("padding"===a&&Pm(r.type))continue;Y(r[a])?r[a](t[a]):e.warn("Unsupported scale property: "+a)}return function(t,n,e){var r=n.round||!1,a=n.range;if(null!=n.rangeStep)a=function(t,n,e){t!==Nh&&t!==zh&&i("Only band and point scales support rangeStep.");var r=(null!=n.paddingOuter?n.paddingOuter:n.padding)||0,a=t===zh?1:(null!=n.paddingInner?n.paddingInner:n.padding)||0;return[0,n.rangeStep*yh(e,a,r)]}(t.type,n,e);else if(n.scheme){if(a=function(t,n,e){var r,a,o=n.schemeExtent;u(n.scheme)?a=nm(n.scheme,n.interpolate,n.interpolateGamma):(r=n.scheme.toLowerCase(),(a=sm(r))||i("Unrecognized scheme name: "+n.scheme));return e=t===Bh?e+1:t===Th?e-1:t===Fh||t===Sh?+n.schemeCount||Rm:e,Ph(t)?jm(a,o,n.reverse):Y(a)?em(jm(a,o),e):t===Oh?a:a.slice(0,e)}(t.type,n,e),Y(a))return t.interpolator(a)}else if(a&&Ph(t.type))return t.interpolator(nm($m(a,n.reverse),n.interpolate,n.interpolateGamma));a&&n.interpolate&&t.interpolate?t.interpolate(im(n.interpolate,n.interpolateGamma)):Y(t.round)?t.round(r):Y(t.rangeRound)&&t.interpolate(r?gp:pp);a&&t.range($m(a,n.reverse))}(r,t,function(t,n,e){let r=n.bins;if(r&&!u(r)){const n=(null==r.start||null==r.stop)&&t.domain(),e=null==r.start?n[0]:r.start,a=null==r.stop?k(n):r.stop,u=r.step;u||i("Scale bins parameter missing step property."),r=li(e,a+u,u)}r?t.bins=r:t.bins&&delete t.bins;t.type===Th&&(r?n.domain||n.domainRaw||(t.domain(r),e=r.length):t.bins=t.domain());return e}(r,t,function(t,n,e){var r=function(t,n,e){return n?(t.domain(Um(t.type,n,e)),n.length):-1}(t,n.domainRaw,e);if(r>-1)return r;var i,a,u=n.domain,o=t.type,s=n.zero||void 0===n.zero&&function(t){const n=t.type;return!t.bins&&(n===_h||n===wh||n===Ah)}(t);if(!u)return 0;Pm(o)&&n.padding&&u[0]!==k(u)&&(u=function(t,n,e,r,i,a){var u=Math.abs(k(e)-e[0]),o=u/(u-2*r),s=t===bh?q(n,null,o):t===Ah?U(n,null,o,.5):t===wh?U(n,null,o,i||1):t===Mh?j(n,null,o,a||1):L(n,null,o);return(n=n.slice())[0]=s[0],n[n.length-1]=s[1],n}(o,u,n.range,n.padding,n.exponent,n.constant));(s||null!=n.domainMin||null!=n.domainMax||null!=n.domainMid)&&(i=(u=u.slice()).length-1||1,s&&(u[0]>0&&(u[0]=0),u[i]<0&&(u[i]=0)),null!=n.domainMin&&(u[0]=n.domainMin),null!=n.domainMax&&(u[i]=n.domainMax),null!=n.domainMid&&(((a=n.domainMid)u[i])&&e.warn("Scale domainMid exceeds domain min or max.",a),u.splice(i,0,a)));t.domain(Um(o,u,e)),o===Oh&&t.unknown(n.domainImplicit?Gh:void 0);n.nice&&t.nice&&t.nice(!0!==n.nice&&lm(t,n.nice)||null);return u.length}(r,t,e))),n.fork(n.NO_SOURCE|n.NO_FIELDS)},et(Im,$r).transform=function(t,n){var e=t.modified("sort")||n.changed(n.ADD)||n.modified(t.sort.fields)||n.modified("datum");return e&&n.source.sort(t.sort),this.modified(e),n};var Wm=["y0","y1"];function Hm(t){$r.call(this,null,t)}function Ym(t,n,e,r,i){for(var a,u=(n-t.sum)/2,o=t.length,s=0;sh&&(h=f),e&&c.sort(e)}return d.max=h,d}(n.source,t.groupby,t.sort,l),r=0,i=e.length,a=e.max;rn?1:t>=n?0:NaN}!function(t){var n;1===t.length&&(n=t,t=function(t,e){return Zm(n(t),e)})}(Zm);function Jm(t,n,e){t=+t,n=+n,e=(i=arguments.length)<2?(n=t,t=0,1):i<3?1:+e;for(var r=-1,i=0|Math.max(0,Math.ceil((n-t)/e)),a=new Array(i);++r=Qm?i*=10:a>=Km?i*=5:a>=tv&&(i*=2),nr!=d>r&&e<(h-l)*(r-c)/(d-c)+l&&(i=-i)}return i}function sv(t,n,e){var r,i,a,u;return function(t,n,e){return(n[0]-t[0])*(e[1]-t[1])==(e[0]-t[0])*(n[1]-t[1])}(t,n,e)&&(i=t[r=+(t[0]===n[0])],a=e[r],u=n[r],i<=a&&a<=u||u<=a&&a<=i)}function lv(){}var cv=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function fv(){var t=1,n=1,e=ev,r=o;function i(t){var n=e(t);if(Array.isArray(n))n=n.slice().sort(iv);else{var r=function(t,n){var e,r,i,a=t.length,u=-1;if(null==n){for(;++u=e)for(r=i=e;++ue&&(r=e),i=e)for(r=i=e;++ue&&(r=e),i=r,cv[l<<1].forEach(p);for(;++a=r,cv[s|l<<1].forEach(p);cv[l<<0].forEach(p);for(;++o=r,c=e[o*t]>=r,cv[l<<1|c<<2].forEach(p);++a=r,f=c,c=e[o*t+a+1]>=r,cv[s|l<<1|c<<2|f<<3].forEach(p);cv[l|c<<3].forEach(p)}a=-1,c=e[o*t]>=r,cv[c<<2].forEach(p);for(;++a=r,cv[c<<2|f<<3].forEach(p);function p(t){var n,e,r=[t[0][0]+a,t[0][1]+o],s=[t[1][0]+a,t[1][1]+o],l=u(r),c=u(s);(n=d[l])?(e=h[c])?(delete d[n.end],delete h[e.start],n===e?(n.ring.push(s),i(n.ring)):h[n.start]=d[e.end]={start:n.start,end:e.end,ring:n.ring.concat(e.ring)}):(delete d[n.end],n.ring.push(s),d[n.end=c]=n):(n=h[c])?(e=d[l])?(delete h[n.start],delete d[e.end],n===e?(n.ring.push(s),i(n.ring)):h[e.start]=d[n.end]={start:e.start,end:n.end,ring:e.ring.concat(n.ring)}):(delete h[n.start],n.ring.unshift(r),h[n.start=l]=n):h[l]=d[c]={start:l,end:c,ring:[r,s]}}cv[c<<3].forEach(p)}(e,i,function(t){r(t,e,i),function(t){for(var n=0,e=t.length,r=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];++n0?a.push([t]):o.push(t)}),o.forEach(function(t){for(var n,e=0,r=a.length;e0&&u0&&o0&&a>0))throw new Error("invalid size");return t=r,n=a,i},i.thresholds=function(t){return arguments.length?(e="function"==typeof t?t:Array.isArray(t)?av(rv.call(t)):av(t),i):e},i.smooth=function(t){return arguments.length?(r=t?o:lv,i):r===o},i}function hv(t,n,e){for(var r=t.width,i=t.height,a=1+(e<<1),u=0;u=e&&(o>=a&&(s-=t.data[o-a+u*r]),n.data[o-e+u*r]=s/Math.min(o+1,r-1+a-o,a))}function dv(t,n,e){for(var r=t.width,i=t.height,a=1+(e<<1),u=0;u=e&&(o>=a&&(s-=t.data[u+(o-a)*r]),n.data[u+(o-e)*r]=s/Math.min(o+1,i-1+a-o,a))}function pv(t){return t[0]}function gv(t){return t[1]}function mv(){return 1}var vv=["size","smooth"],yv=["x","y","weight","size","cellSize","bandwidth"];function xv(t){$r.call(this,null,t)}xv.Definition={type:"Contour",metadata:{generates:!0},params:[{name:"size",type:"number",array:!0,length:2,required:!0},{name:"values",type:"number",array:!0},{name:"x",type:"field"},{name:"y",type:"field"},{name:"weight",type:"field"},{name:"cellSize",type:"number"},{name:"bandwidth",type:"number"},{name:"count",type:"number"},{name:"smooth",type:"boolean"},{name:"nice",type:"boolean",default:!1},{name:"thresholds",type:"number",array:!0}]},et(xv,$r).transform=function(t,n){if(this.value&&!n.changed()&&!t.modified())return n.StopPropagation;var e,r,i,a,u=n.fork(n.NO_SOURCE|n.NO_FIELDS),o=t.count||10;return t.values?(e=fv(),r=vv,i=t.values):(e=function(){var t=pv,n=gv,e=mv,r=960,i=500,a=20,u=2,o=3*a,s=r+2*o>>u,l=i+2*o>>u,c=av(20);function f(r){var i=new Float32Array(s*l),f=new Float32Array(s*l);r.forEach(function(r,a,c){var f=+t(r,a,c)+o>>u,h=+n(r,a,c)+o>>u,d=+e(r,a,c);f>=0&&f=0&&h>u),dv({width:s,height:l,data:f},{width:s,height:l,data:i},a>>u),hv({width:s,height:l,data:i},{width:s,height:l,data:f},a>>u),dv({width:s,height:l,data:f},{width:s,height:l,data:i},a>>u),hv({width:s,height:l,data:i},{width:s,height:l,data:f},a>>u),dv({width:s,height:l,data:f},{width:s,height:l,data:i},a>>u);var d=c(i);if(!Array.isArray(d)){var p=function(t,n){var e,r,i=t.length,a=-1;if(null==n){for(;++a=e)for(r=e;++ar&&(r=e)}else for(;++a=e)for(r=e;++ar&&(r=e);return r}(i);d=nv(0,p,d),(d=Jm(0,Math.floor(p/d)*d,d)).shift()}return fv().thresholds(d).size([s,l])(i).map(h)}function h(t){return t.value*=Math.pow(2,-2*u),t.coordinates.forEach(d),t}function d(t){t.forEach(p)}function p(t){t.forEach(g)}function g(t){t[0]=t[0]*Math.pow(2,u)-o,t[1]=t[1]*Math.pow(2,u)-o}function m(){return s=r+2*(o=3*a)>>u,l=i+2*o>>u,f}return f.x=function(n){return arguments.length?(t="function"==typeof n?n:av(+n),f):t},f.y=function(t){return arguments.length?(n="function"==typeof t?t:av(+t),f):n},f.weight=function(t){return arguments.length?(e="function"==typeof t?t:av(+t),f):e},f.size=function(t){if(!arguments.length)return[r,i];var n=Math.ceil(t[0]),e=Math.ceil(t[1]);if(!(n>=0||n>=0))throw new Error("invalid size");return r=n,i=e,m()},f.cellSize=function(t){if(!arguments.length)return 1<=1))throw new Error("invalid cell size");return u=Math.floor(Math.log(t)/Math.LN2),m()},f.thresholds=function(t){return arguments.length?(c="function"==typeof t?t:Array.isArray(t)?av(rv.call(t)):av(t),f):c},f.bandwidth=function(t){if(!arguments.length)return Math.sqrt(a*(a+1));if(!((t=+t)>=0))throw new Error("invalid bandwidth");return a=Math.round((Math.sqrt(4*t*t+1)-1)/2),m()},f}(),r=yv,i=n.materialize(n.SOURCE).source),e.thresholds(t.thresholds||(t.nice?o:(a=o,function(t){for(var n=si(t),e=n[0],r=n[1]-e,i=[],u=1;u<=a;++u)i.push(e+r*u/(a+1));return i}))),r.forEach(function(n){null!=t[n]&&e[n](t[n])}),this.value&&(u.rem=this.value),i=i&&i.length?e(i).map(Dt):[],this.value=u.source=u.add=i,u};var _v="Feature",bv="FeatureCollection";function wv(t){$r.call(this,null,t)}function Av(){return new Mv}function Mv(){this.reset()}wv.Definition={type:"GeoJSON",metadata:{},params:[{name:"fields",type:"field",array:!0,length:2},{name:"geojson",type:"field"}]},et(wv,$r).transform=function(t,n){var e,i=this._features,a=this._points,u=t.fields,o=u&&u[0],s=u&&u[1],l=t.geojson,c=n.ADD;e=t.modified()||n.changed(n.REM)||n.modified(r(l))||o&&n.modified(r(o))||s&&n.modified(r(s)),this.value&&!e||(c=n.SOURCE,this._features=i=[],this._points=a=[]),l&&n.visit(c,function(t){i.push(l(t))}),o&&s&&(n.visit(c,function(t){var n=o(t),e=s(t);null!=n&&null!=e&&(n=+n)===n&&(e=+e)===e&&a.push([n,e])}),i=i.concat({type:_v,geometry:{type:"MultiPoint",coordinates:a}})),this.value={type:bv,features:i}},Mv.prototype={constructor:Mv,reset:function(){this.s=this.t=0},add:function(t){Ev(kv,t,this.t),Ev(this,kv.s,this.s),this.s?this.t+=kv.t:this.s=kv.t},valueOf:function(){return this.s}};var kv=new Mv;function Ev(t,n,e){var r=t.s=n+e,i=r-n,a=r-i;t.t=n-a+(e-i)}var Cv=1e-6,Dv=1e-12,Fv=Math.PI,Sv=Fv/2,Bv=Fv/4,Ov=2*Fv,zv=180/Fv,Nv=Fv/180,Tv=Math.abs,Rv=Math.atan,Pv=Math.atan2,Lv=Math.cos,qv=Math.ceil,Uv=Math.exp,jv=Math.log,$v=Math.pow,Iv=Math.sin,Wv=Math.sign||function(t){return t>0?1:t<0?-1:0},Hv=Math.sqrt,Yv=Math.tan;function Gv(t){return t>1?0:t<-1?Fv:Math.acos(t)}function Vv(t){return t>1?Sv:t<-1?-Sv:Math.asin(t)}function Xv(){}function Zv(t,n){t&&Qv.hasOwnProperty(t.type)&&Qv[t.type](t,n)}var Jv={Feature:function(t,n){Zv(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,i=e.length;++r=0?1:-1,i=r*e,a=Lv(n=(n*=Nv)/2+Bv),u=Iv(n),o=uy*u,s=ay*a+o*Lv(i),l=o*r*Iv(i);oy.add(Pv(l,s)),iy=t,ay=a,uy=u}function py(t){return[Pv(t[1],t[0]),Vv(t[2])]}function gy(t){var n=t[0],e=t[1],r=Lv(e);return[r*Lv(n),r*Iv(n),Iv(e)]}function my(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function vy(t,n){return[t[1]*n[2]-t[2]*n[1],t[2]*n[0]-t[0]*n[2],t[0]*n[1]-t[1]*n[0]]}function yy(t,n){t[0]+=n[0],t[1]+=n[1],t[2]+=n[2]}function xy(t,n){return[t[0]*n,t[1]*n,t[2]*n]}function _y(t){var n=Hv(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=n,t[1]/=n,t[2]/=n}var by,wy,Ay,My,ky,Ey,Cy,Dy,Fy,Sy,By,Oy,zy,Ny,Ty,Ry,Py,Ly,qy,Uy,jy,$y,Iy,Wy,Hy,Yy,Gy=Av(),Vy={point:Xy,lineStart:Jy,lineEnd:Qy,polygonStart:function(){Vy.point=Ky,Vy.lineStart=tx,Vy.lineEnd=nx,Gy.reset(),ly.polygonStart()},polygonEnd:function(){ly.polygonEnd(),Vy.point=Xy,Vy.lineStart=Jy,Vy.lineEnd=Qy,oy<0?(by=-(Ay=180),wy=-(My=90)):Gy>Cv?My=90:Gy<-Cv&&(wy=-90),Sy[0]=by,Sy[1]=Ay}};function Xy(t,n){Fy.push(Sy=[by=t,Ay=t]),nMy&&(My=n)}function Zy(t,n){var e=gy([t*Nv,n*Nv]);if(Dy){var r=vy(Dy,e),i=vy([r[1],-r[0],0],r);_y(i),i=py(i);var a,u=t-ky,o=u>0?1:-1,s=i[0]*zv*o,l=Tv(u)>180;l^(o*kyMy&&(My=a):l^(o*ky<(s=(s+360)%360-180)&&sMy&&(My=n)),l?tex(by,Ay)&&(Ay=t):ex(t,Ay)>ex(by,Ay)&&(by=t):Ay>=by?(tAy&&(Ay=t)):t>ky?ex(by,t)>ex(by,Ay)&&(Ay=t):ex(t,Ay)>ex(by,Ay)&&(by=t)}else Fy.push(Sy=[by=t,Ay=t]);nMy&&(My=n),Dy=e,ky=t}function Jy(){Vy.point=Zy}function Qy(){Sy[0]=by,Sy[1]=Ay,Vy.point=Xy,Dy=null}function Ky(t,n){if(Dy){var e=t-ky;Gy.add(Tv(e)>180?e+(e>0?360:-360):e)}else Ey=t,Cy=n;ly.point(t,n),Zy(t,n)}function tx(){ly.lineStart()}function nx(){Ky(Ey,Cy),ly.lineEnd(),Tv(Gy)>Cv&&(by=-(Ay=180)),Sy[0]=by,Sy[1]=Ay,Dy=null}function ex(t,n){return(n-=t)<0?n+360:n}function rx(t,n){return t[0]-n[0]}function ix(t,n){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:nFv?t+Math.round(-t/Ov)*Ov:t,n]}function yx(t,n,e){return(t%=Ov)?n||e?mx(_x(t),bx(n,e)):_x(t):n||e?bx(n,e):vx}function xx(t){return function(n,e){return[(n+=t)>Fv?n-Ov:n<-Fv?n+Ov:n,e]}}function _x(t){var n=xx(t);return n.invert=xx(-t),n}function bx(t,n){var e=Lv(t),r=Iv(t),i=Lv(n),a=Iv(n);function u(t,n){var u=Lv(n),o=Lv(t)*u,s=Iv(t)*u,l=Iv(n),c=l*e+o*r;return[Pv(s*i-c*a,o*e-l*r),Vv(c*i+s*a)]}return u.invert=function(t,n){var u=Lv(n),o=Lv(t)*u,s=Iv(t)*u,l=Iv(n),c=l*i-s*a;return[Pv(s*i+l*a,o*e+c*r),Vv(c*e-o*r)]},u}function wx(t,n){(n=gy(n))[0]-=t,_y(n);var e=Gv(-n[1]);return((-n[2]<0?-e:e)+Ov-Cv)%Ov}function Ax(){var t,n=[];return{point:function(n,e){t.push([n,e])},lineStart:function(){n.push(t=[])},lineEnd:Xv,rejoin:function(){n.length>1&&n.push(n.pop().concat(n.shift()))},result:function(){var e=n;return n=[],t=null,e}}}function Mx(t,n){return Tv(t[0]-n[0])=0;--a)i.point((c=l[a])[0],c[1]);else r(h.x,h.p.x,-1,i);h=h.p}l=(h=h.o).z,d=!d}while(!h.v);i.lineEnd()}}}function Cx(t){if(n=t.length){for(var n,e,r=0,i=t[0];++rn?1:t>=n?0:NaN}!function(t){var n;1===t.length&&(n=t,t=function(t,e){return Fx(n(t),e)})}(Fx);function Sx(t,n,e){t=+t,n=+n,e=(i=arguments.length)<2?(n=t,t=0,1):i<3?1:+e;for(var r=-1,i=0|Math.max(0,Math.ceil((n-t)/e)),a=new Array(i);++r=0;)for(n=(r=t[i]).length;--n>=0;)e[--u]=r[n];return e}function Ox(t,n,e,r){return function(i){var a,u,o,s=n(i),l=Ax(),c=n(l),f=!1,h={point:d,lineStart:g,lineEnd:m,polygonStart:function(){h.point=v,h.lineStart=y,h.lineEnd=x,u=[],a=[]},polygonEnd:function(){h.point=d,h.lineStart=g,h.lineEnd=m,u=Bx(u);var t=function(t,n){var e=n[0],r=n[1],i=Iv(r),a=[Iv(e),-Lv(e),0],u=0,o=0;Dx.reset(),1===i?r=Sv+Cv:-1===i&&(r=-Sv-Cv);for(var s=0,l=t.length;s=0?1:-1,k=M*A,E=k>Fv,C=g*b;if(Dx.add(Pv(C*M*Iv(k),m*w+C*Lv(k))),u+=E?A+M*Ov:A,E^d>=e^x>=e){var D=vy(gy(h),gy(y));_y(D);var F=vy(a,D);_y(F);var S=(E^A>=0?-1:1)*Vv(F[2]);(r>S||r===S&&(D[0]||D[1]))&&(o+=E^A>=0?1:-1)}}return(u<-Cv||u0){for(f||(i.polygonStart(),f=!0),i.lineStart(),t=0;t1&&2&s&&h.push(h.pop().concat(h.shift())),u.push(h.filter(zx))}return h}}function zx(t){return t.length>1}function Nx(t,n){return((t=t.x)[0]<0?t[1]-Sv-Cv:Sv-t[1])-((n=n.x)[0]<0?n[1]-Sv-Cv:Sv-n[1])}var Tx=Ox(function(){return!0},function(t){var n,e=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),n=1},point:function(a,u){var o=a>0?Fv:-Fv,s=Tv(a-e);Tv(s-Fv)0?Sv:-Sv),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(o,r),t.point(a,r),n=0):i!==o&&s>=Fv&&(Tv(e-i)Cv?Rv((Iv(n)*(a=Lv(r))*Iv(e)-Iv(r)*(i=Lv(n))*Iv(t))/(i*a*u)):(n+r)/2}(e,r,a,u),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(o,r),n=0),t.point(e=a,r=u),i=o},lineEnd:function(){t.lineEnd(),e=r=NaN},clean:function(){return 2-n}}},function(t,n,e,r){var i;if(null==t)i=e*Sv,r.point(-Fv,i),r.point(0,i),r.point(Fv,i),r.point(Fv,0),r.point(Fv,-i),r.point(0,-i),r.point(-Fv,-i),r.point(-Fv,0),r.point(-Fv,i);else if(Tv(t[0]-n[0])>Cv){var a=t[0]0,i=Tv(n)>Cv;function a(t,e){return Lv(t)*Lv(e)>n}function u(t,e,r){var i=[1,0,0],a=vy(gy(t),gy(e)),u=my(a,a),o=a[0],s=u-o*o;if(!s)return!r&&t;var l=n*u/s,c=-n*o/s,f=vy(i,a),h=xy(i,l);yy(h,xy(a,c));var d=f,p=my(h,d),g=my(d,d),m=p*p-g*(my(h,h)-1);if(!(m<0)){var v=Hv(m),y=xy(d,(-p-v)/g);if(yy(y,h),y=py(y),!r)return y;var x,_=t[0],b=e[0],w=t[1],A=e[1];b<_&&(x=_,_=b,b=x);var M=b-_,k=Tv(M-Fv)0^y[1]<(Tv(y[0]-_)Fv^(_<=y[0]&&y[0]<=b)){var E=xy(d,(-p+v)/g);return yy(E,h),[y,py(E)]}}}function o(n,e){var i=r?t:Fv-t,a=0;return n<-i?a|=1:n>i&&(a|=2),e<-i?a|=4:e>i&&(a|=8),a}return Ox(a,function(t){var n,e,s,l,c;return{lineStart:function(){l=s=!1,c=1},point:function(f,h){var d,p=[f,h],g=a(f,h),m=r?g?0:o(f,h):g?o(f+(f<0?Fv:-Fv),h):0;if(!n&&(l=s=g)&&t.lineStart(),g!==s&&(!(d=u(n,p))||Mx(n,d)||Mx(p,d))&&(p[0]+=Cv,p[1]+=Cv,g=a(p[0],p[1])),g!==s)c=0,g?(t.lineStart(),d=u(p,n),t.point(d[0],d[1])):(d=u(n,p),t.point(d[0],d[1]),t.lineEnd()),n=d;else if(i&&n&&r^g){var v;m&e||!(v=u(p,n,!0))||(c=0,r?(t.lineStart(),t.point(v[0][0],v[0][1]),t.point(v[1][0],v[1][1]),t.lineEnd()):(t.point(v[1][0],v[1][1]),t.lineEnd(),t.lineStart(),t.point(v[0][0],v[0][1])))}!g||n&&Mx(n,p)||t.point(p[0],p[1]),n=p,s=g,e=m},lineEnd:function(){s&&t.lineEnd(),n=null},clean:function(){return c|(l&&s)<<1}}},function(n,r,i,a){!function(t,n,e,r,i,a){if(e){var u=Lv(n),o=Iv(n),s=r*e;null==i?(i=n+r*Ov,a=n-s/2):(i=wx(u,i),a=wx(u,a),(r>0?ia)&&(i+=r*Ov));for(var l,c=i;r>0?c>a:c0)do{l.point(0===c||3===c?t:e,c>1?r:n)}while((c=(c+o+4)%4)!==f);else l.point(a[0],a[1])}function u(r,i){return Tv(r[0]-t)0?0:3:Tv(r[0]-e)0?2:1:Tv(r[1]-n)0?1:0:i>0?3:2}function o(t,n){return s(t.x,n.x)}function s(t,n){var e=u(t,1),r=u(n,1);return e!==r?e-r:0===e?n[1]-t[1]:1===e?t[0]-n[0]:2===e?t[1]-n[1]:n[0]-t[0]}return function(u){var s,l,c,f,h,d,p,g,m,v,y,x=u,_=Ax(),b={point:w,lineStart:function(){b.point=A,l&&l.push(c=[]);v=!0,m=!1,p=g=NaN},lineEnd:function(){s&&(A(f,h),d&&m&&_.rejoin(),s.push(_.result()));b.point=w,m&&x.lineEnd()},polygonStart:function(){x=_,s=[],l=[],y=!0},polygonEnd:function(){var n=function(){for(var n=0,e=0,i=l.length;er&&(h-a)*(r-u)>(d-u)*(t-a)&&++n:d<=r&&(h-a)*(r-u)<(d-u)*(t-a)&&--n;return n}(),e=y&&n,i=(s=Bx(s)).length;(e||i)&&(u.polygonStart(),e&&(u.lineStart(),a(null,null,1,u),u.lineEnd()),i&&Ex(s,o,n,a,u),u.polygonEnd());x=u,s=l=c=null}};function w(t,n){i(t,n)&&x.point(t,n)}function A(a,u){var o=i(a,u);if(l&&c.push([a,u]),v)f=a,h=u,d=o,v=!1,o&&(x.lineStart(),x.point(a,u));else if(o&&m)x.point(a,u);else{var s=[p=Math.max(Lx,Math.min(Px,p)),g=Math.max(Lx,Math.min(Px,g))],_=[a=Math.max(Lx,Math.min(Px,a)),u=Math.max(Lx,Math.min(Px,u))];!function(t,n,e,r,i,a){var u,o=t[0],s=t[1],l=0,c=1,f=n[0]-o,h=n[1]-s;if(u=e-o,f||!(u>0)){if(u/=f,f<0){if(u0){if(u>c)return;u>l&&(l=u)}if(u=i-o,f||!(u<0)){if(u/=f,f<0){if(u>c)return;u>l&&(l=u)}else if(f>0){if(u0)){if(u/=h,h<0){if(u0){if(u>c)return;u>l&&(l=u)}if(u=a-s,h||!(u<0)){if(u/=h,h<0){if(u>c)return;u>l&&(l=u)}else if(h>0){if(u0&&(t[0]=o+l*f,t[1]=s+l*h),c<1&&(n[0]=o+c*f,n[1]=s+c*h),!0}}}}}(s,_,t,n,e,r)?o&&(x.lineStart(),x.point(a,u),y=!1):(m||(x.lineStart(),x.point(s[0],s[1])),x.point(_[0],_[1]),o||x.lineEnd(),y=!1)}p=a,g=u,m=o}return b}}Av();function Ux(t,n,e){var r=Sx(t,n-Cv,e).concat(n);return function(t){return r.map(function(n){return[t,n]})}}function jx(t,n,e){var r=Sx(t,n-Cv,e).concat(n);return function(t){return r.map(function(n){return[n,t]})}}function $x(t){return t}var Ix,Wx,Hx,Yx,Gx=Av(),Vx=Av(),Xx={point:Xv,lineStart:Xv,lineEnd:Xv,polygonStart:function(){Xx.lineStart=Zx,Xx.lineEnd=Kx},polygonEnd:function(){Xx.lineStart=Xx.lineEnd=Xx.point=Xv,Gx.add(Tv(Vx)),Vx.reset()},result:function(){var t=Gx/2;return Gx.reset(),t}};function Zx(){Xx.point=Jx}function Jx(t,n){Xx.point=Qx,Ix=Hx=t,Wx=Yx=n}function Qx(t,n){Vx.add(Yx*t-Hx*n),Hx=t,Yx=n}function Kx(){Qx(Ix,Wx)}var t_=1/0,n_=t_,e_=-t_,r_=e_,i_={point:function(t,n){te_&&(e_=t);nr_&&(r_=n)},lineStart:Xv,lineEnd:Xv,polygonStart:Xv,polygonEnd:Xv,result:function(){var t=[[t_,n_],[e_,r_]];return e_=r_=-(n_=t_=1/0),t}};var a_,u_,o_,s_,l_=0,c_=0,f_=0,h_=0,d_=0,p_=0,g_=0,m_=0,v_=0,y_={point:x_,lineStart:__,lineEnd:A_,polygonStart:function(){y_.lineStart=M_,y_.lineEnd=k_},polygonEnd:function(){y_.point=x_,y_.lineStart=__,y_.lineEnd=A_},result:function(){var t=v_?[g_/v_,m_/v_]:p_?[h_/p_,d_/p_]:f_?[l_/f_,c_/f_]:[NaN,NaN];return l_=c_=f_=h_=d_=p_=g_=m_=v_=0,t}};function x_(t,n){l_+=t,c_+=n,++f_}function __(){y_.point=b_}function b_(t,n){y_.point=w_,x_(o_=t,s_=n)}function w_(t,n){var e=t-o_,r=n-s_,i=Hv(e*e+r*r);h_+=i*(o_+t)/2,d_+=i*(s_+n)/2,p_+=i,x_(o_=t,s_=n)}function A_(){y_.point=x_}function M_(){y_.point=E_}function k_(){C_(a_,u_)}function E_(t,n){y_.point=C_,x_(a_=o_=t,u_=s_=n)}function C_(t,n){var e=t-o_,r=n-s_,i=Hv(e*e+r*r);h_+=i*(o_+t)/2,d_+=i*(s_+n)/2,p_+=i,g_+=(i=s_*t-o_*n)*(o_+t),m_+=i*(s_+n),v_+=3*i,x_(o_=t,s_=n)}function D_(t){this._context=t}D_.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,n){switch(this._point){case 0:this._context.moveTo(t,n),this._point=1;break;case 1:this._context.lineTo(t,n);break;default:this._context.moveTo(t+this._radius,n),this._context.arc(t,n,this._radius,0,Ov)}},result:Xv};var F_,S_,B_,O_,z_,N_=Av(),T_={point:Xv,lineStart:function(){T_.point=R_},lineEnd:function(){F_&&P_(S_,B_),T_.point=Xv},polygonStart:function(){F_=!0},polygonEnd:function(){F_=null},result:function(){var t=+N_;return N_.reset(),t}};function R_(t,n){T_.point=P_,S_=O_=t,B_=z_=n}function P_(t,n){O_-=t,z_-=n,N_.add(Hv(O_*O_+z_*z_)),O_=t,z_=n}function L_(){this._string=[]}function q_(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function U_(t,n){var e,r,i=4.5;function a(t){return t&&("function"==typeof i&&r.pointRadius(+i.apply(this,arguments)),ny(t,e(r))),r.result()}return a.area=function(t){return ny(t,e(Xx)),Xx.result()},a.measure=function(t){return ny(t,e(T_)),T_.result()},a.bounds=function(t){return ny(t,e(i_)),i_.result()},a.centroid=function(t){return ny(t,e(y_)),y_.result()},a.projection=function(n){return arguments.length?(e=null==n?(t=null,$x):(t=n).stream,a):t},a.context=function(t){return arguments.length?(r=null==t?(n=null,new L_):new D_(n=t),"function"!=typeof i&&r.pointRadius(i),a):n},a.pointRadius=function(t){return arguments.length?(i="function"==typeof t?t:(r.pointRadius(+t),+t),a):i},a.projection(t).context(n)}function j_(t){return function(n){var e=new $_;for(var r in t)e[r]=t[r];return e.stream=n,e}}function $_(){}function I_(t,n,e){var r=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),null!=r&&t.clipExtent(null),ny(e,t.stream(i_)),n(i_.result()),null!=r&&t.clipExtent(r),t}function W_(t,n,e){return I_(t,function(e){var r=n[1][0]-n[0][0],i=n[1][1]-n[0][1],a=Math.min(r/(e[1][0]-e[0][0]),i/(e[1][1]-e[0][1])),u=+n[0][0]+(r-a*(e[1][0]+e[0][0]))/2,o=+n[0][1]+(i-a*(e[1][1]+e[0][1]))/2;t.scale(150*a).translate([u,o])},e)}function H_(t,n,e){return W_(t,[[0,0],n],e)}function Y_(t,n,e){return I_(t,function(e){var r=+n,i=r/(e[1][0]-e[0][0]),a=(r-i*(e[1][0]+e[0][0]))/2,u=-i*e[0][1];t.scale(150*i).translate([a,u])},e)}function G_(t,n,e){return I_(t,function(e){var r=+n,i=r/(e[1][1]-e[0][1]),a=-i*e[0][0],u=(r-i*(e[1][1]+e[0][1]))/2;t.scale(150*i).translate([a,u])},e)}L_.prototype={_radius:4.5,_circle:q_(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(t,n){switch(this._point){case 0:this._string.push("M",t,",",n),this._point=1;break;case 1:this._string.push("L",t,",",n);break;default:null==this._circle&&(this._circle=q_(this._radius)),this._string.push("M",t,",",n,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}},$_.prototype={constructor:$_,point:function(t,n){this.stream.point(t,n)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var V_=16,X_=Lv(30*Nv);function Z_(t,n){return+n?function(t,n){function e(r,i,a,u,o,s,l,c,f,h,d,p,g,m){var v=l-r,y=c-i,x=v*v+y*y;if(x>4*n&&g--){var _=u+h,b=o+d,w=s+p,A=Hv(_*_+b*b+w*w),M=Vv(w/=A),k=Tv(Tv(w)-1)n||Tv((v*F+y*S)/x-.5)>.3||u*h+o*d+s*p2?t[2]%360*Nv:0,C()):[m*zv,v*zv,y*zv]},k.angle=function(t){return arguments.length?(x=t%360*Nv,C()):x*zv},k.precision=function(t){return arguments.length?(u=Z_(o,M=t*t),D()):Hv(M)},k.fitExtent=function(t,n){return W_(k,t,n)},k.fitSize=function(t,n){return H_(k,t,n)},k.fitWidth=function(t,n){return Y_(k,t,n)},k.fitHeight=function(t,n){return G_(k,t,n)},function(){return n=t.apply(this,arguments),k.invert=n.invert&&E,C()}}function nb(t){var n=0,e=Fv/3,r=tb(t),i=r(n,e);return i.parallels=function(t){return arguments.length?r(n=t[0]*Nv,e=t[1]*Nv):[n*zv,e*zv]},i}function eb(t,n){var e=Iv(t),r=(e+Iv(n))/2;if(Tv(r)2?t[2]*Nv:0),n.invert=function(n){return(n=t.invert(n[0]*Nv,n[1]*Nv))[0]*=zv,n[1]*=zv,n},n}(i.rotate()).invert([0,0]));return s(null==l?[[o[0]-a,o[1]-a],[o[0]+a,o[1]+a]]:t===lb?[[Math.max(o[0]-a,l),n],[Math.min(o[0]+a,e),r]]:[[l,Math.max(o[1]-a,n)],[e,Math.min(o[1]+a,r)]])}return i.scale=function(t){return arguments.length?(u(t),c()):u()},i.translate=function(t){return arguments.length?(o(t),c()):o()},i.center=function(t){return arguments.length?(a(t),c()):a()},i.clipExtent=function(t){return arguments.length?(null==t?l=n=e=r=null:(l=+t[0][0],n=+t[0][1],e=+t[1][0],r=+t[1][1]),c()):null==l?null:[[l,n],[e,r]]},c()}function fb(t){return Yv((Sv+t)/2)}function hb(t,n){var e=Lv(t),r=t===n?Iv(t):jv(e/Lv(n))/jv(fb(n)/fb(t)),i=e*$v(fb(t),r)/r;if(!r)return lb;function a(t,n){i>0?n<-Sv+Cv&&(n=-Sv+Cv):n>Sv-Cv&&(n=Sv-Cv);var e=i/$v(fb(n),r);return[e*Iv(r*t),i-e*Lv(r*t)]}return a.invert=function(t,n){var e=i-n,a=Wv(r)*Hv(t*t+e*e);return[Pv(t,Tv(e))/r*Wv(e),2*Rv($v(i/a,1/r))-Sv]},a}function db(t,n){return[t,n]}function pb(t,n){var e=Lv(t),r=t===n?Iv(t):(e-Lv(n))/(n-t),i=e/r+t;if(Tv(r)Cv&&--i>0);return[t/(.8707+(a=r*r)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),r]},yb.invert=ub(Vv),xb.invert=ub(function(t){return 2*Rv(t)}),_b.invert=function(t,n){return[-n,2*Rv(Uv(t))-Sv]};var bb=U_(),wb=["clipAngle","clipExtent","scale","translate","center","rotate","parallels","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];function Ab(t,n){if(!t||"string"!=typeof t)throw new Error("Projection type must be a name string.");return t=t.toLowerCase(),arguments.length>1?(kb[t]=function(t,n){return function e(){var r=n();return r.type=t,r.path=U_().projection(r),r.copy=r.copy||function(){var t=e();return wb.forEach(function(n){r.hasOwnProperty(n)&&t[n](r[n]())}),t.path.pointRadius(r.path.pointRadius()),t},r}}(t,n),this):kb.hasOwnProperty(t)?kb[t]:null}function Mb(t){return t&&t.path||bb}var kb={albers:ib,albersusa:function(){var t,n,e,r,i,a,u=ib(),o=rb().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=rb().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,n){a=[t,n]}};function c(t){var n=t[0],u=t[1];return a=null,e.point(n,u),a||(r.point(n,u),a)||(i.point(n,u),a)}function f(){return t=n=null,c}return c.invert=function(t){var n=u.scale(),e=u.translate(),r=(t[0]-e[0])/n,i=(t[1]-e[1])/n;return(i>=.12&&i<.234&&r>=-.425&&r<-.214?o:i>=.166&&i<.234&&r>=-.214&&r<-.115?s:u).invert(t)},c.stream=function(e){return t&&n===e?t:(r=[u.stream(n=e),o.stream(e),s.stream(e)],i=r.length,t={point:function(t,n){for(var e=-1;++e2?t[2]+90:90]):[(t=e())[0],t[1],t[2]-90]},e([0,0,90]).scale(159.155)}};for(var Eb in kb)Ab(Eb,kb[Eb]);function Cb(t){$r.call(this,null,t)}function Db(t){$r.call(this,null,t)}function Fb(t){$r.call(this,null,t)}function Sb(t){$r.call(this,[],t),this.generator=function(){var t,n,e,r,i,a,u,o,s,l,c,f,h=10,d=h,p=90,g=360,m=2.5;function v(){return{type:"MultiLineString",coordinates:y()}}function y(){return Sx(qv(r/p)*p,e,p).map(c).concat(Sx(qv(o/g)*g,u,g).map(f)).concat(Sx(qv(n/h)*h,t,h).filter(function(t){return Tv(t%p)>Cv}).map(s)).concat(Sx(qv(a/d)*d,i,d).filter(function(t){return Tv(t%g)>Cv}).map(l))}return v.lines=function(){return y().map(function(t){return{type:"LineString",coordinates:t}})},v.outline=function(){return{type:"Polygon",coordinates:[c(r).concat(f(u).slice(1),c(e).reverse().slice(1),f(o).reverse().slice(1))]}},v.extent=function(t){return arguments.length?v.extentMajor(t).extentMinor(t):v.extentMinor()},v.extentMajor=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],o=+t[0][1],u=+t[1][1],r>e&&(t=r,r=e,e=t),o>u&&(t=o,o=u,u=t),v.precision(m)):[[r,o],[e,u]]},v.extentMinor=function(e){return arguments.length?(n=+e[0][0],t=+e[1][0],a=+e[0][1],i=+e[1][1],n>t&&(e=n,n=t,t=e),a>i&&(e=a,a=i,i=e),v.precision(m)):[[n,a],[t,i]]},v.step=function(t){return arguments.length?v.stepMajor(t).stepMinor(t):v.stepMinor()},v.stepMajor=function(t){return arguments.length?(p=+t[0],g=+t[1],v):[p,g]},v.stepMinor=function(t){return arguments.length?(h=+t[0],d=+t[1],v):[h,d]},v.precision=function(h){return arguments.length?(m=+h,s=Ux(a,i,90),l=jx(n,t,m),c=Ux(o,u,90),f=jx(r,e,m),v):m},v.extentMajor([[-180,-90+Cv],[180,90-Cv]]).extentMinor([[-180,-80-Cv],[180,80+Cv]])}()}function Bb(t){$r.call(this,null,t),this.modified(!0)}function Ob(t,n,e){Y(t[n])&&t[n](e)}Cb.Definition={type:"GeoPath",metadata:{modifies:!0},params:[{name:"projection",type:"projection"},{name:"field",type:"field"},{name:"pointRadius",type:"number",expr:!0},{name:"as",type:"string",default:"path"}]},et(Cb,$r).transform=function(t,n){var e=n.fork(n.ALL),r=this.value,i=t.field||d,a=t.as||"path",u=e.SOURCE;!r||t.modified()?(this.value=r=Mb(t.projection),e.materialize().reflow()):u=i===d||n.modified(i.fields)?e.ADD_MOD:e.ADD;var o=function(t,n){var e=t.pointRadius();t.context(null),null!=n&&t.pointRadius(n);return e}(r,t.pointRadius);return e.visit(u,function(t){t[a]=r(i(t))}),r.pointRadius(o),e.modifies(a)},Db.Definition={type:"GeoPoint",metadata:{modifies:!0},params:[{name:"projection",type:"projection",required:!0},{name:"fields",type:"field",array:!0,required:!0,length:2},{name:"as",type:"string",array:!0,length:2,default:["x","y"]}]},et(Db,$r).transform=function(t,n){var e,r=t.projection,i=t.fields[0],a=t.fields[1],u=t.as||["x","y"],o=u[0],s=u[1];function l(t){var n=r([i(t),a(t)]);n?(t[o]=n[0],t[s]=n[1]):(t[o]=void 0,t[s]=void 0)}return t.modified()?n=n.materialize().reflow(!0).visit(n.SOURCE,l):(e=n.modified(i.fields)||n.modified(a.fields),n.visit(e?n.ADD_MOD:n.ADD,l)),n.modifies(u)},Fb.Definition={type:"GeoShape",metadata:{modifies:!0,nomod:!0},params:[{name:"projection",type:"projection"},{name:"field",type:"field",default:"datum"},{name:"pointRadius",type:"number",expr:!0},{name:"as",type:"string",default:"shape"}]},et(Fb,$r).transform=function(t,n){var e=n.fork(n.ALL),r=this.value,i=t.as||"shape",a=e.ADD;return r&&!t.modified()||(this.value=r=function(t,n,e){var r=null==e?function(e){return t(n(e))}:function(r){var i=t.pointRadius(),a=t.pointRadius(e)(n(r));return t.pointRadius(i),a};return r.context=function(n){return t.context(n),r},r}(Mb(t.projection),t.field||c("datum"),t.pointRadius),e.materialize().reflow(),a=e.SOURCE),e.visit(a,function(t){t[i]=r}),e.modifies(i)},Sb.Definition={type:"Graticule",metadata:{changes:!0},params:[{name:"extent",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"extentMajor",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"extentMinor",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"step",type:"number",array:!0,length:2},{name:"stepMajor",type:"number",array:!0,length:2,default:[90,360]},{name:"stepMinor",type:"number",array:!0,length:2,default:[10,10]},{name:"precision",type:"number",default:2.5}]},et(Sb,$r).transform=function(t,n){var e,r=this.value,i=this.generator;if(!r.length||t.modified())for(var a in t)Y(i[a])&&i[a](t[a]);return e=i(),r.length?n.mod.push(Bt(r[0],e)):n.add.push(Dt(e)),r[0]=e,n},et(Bb,$r).transform=function(t,n){var e=this.value;return!e||t.modified("type")?(this.value=e=function(t){var n=Ab((t||"mercator").toLowerCase());n||i("Unrecognized projection type: "+t);return n()}(t.type),wb.forEach(function(n){null!=t[n]&&Ob(e,n,t[n])})):wb.forEach(function(n){t.modified(n)&&Ob(e,n,t[n])}),null!=t.pointRadius&&e.path.pointRadius(t.pointRadius),t.fit&&function(t,n){var e=function(t){return 1===(t=W(t)).length?t[0]:{type:bv,features:t.reduce((t,n)=>t.concat(function(t){return t.type===bv?t.features:W(t).filter(t=>null!=t).map(t=>t.type===_v?t:{type:_v,geometry:t})}(n)),[])}}(n.fit);n.extent?t.fitExtent(n.extent,e):n.size&&t.fitSize(n.size,e)}(e,t),n.fork(n.NO_SOURCE|n.NO_FIELDS)};var zb=Object.freeze({contour:xv,geojson:wv,geopath:Cb,geopoint:Db,geoshape:Fb,graticule:Sb,projection:Bb});function Nb(t,n,e,r){if(isNaN(n)||isNaN(e))return t;var i,a,u,o,s,l,c,f,h,d=t._root,p={data:r},g=t._x0,m=t._y0,v=t._x1,y=t._y1;if(!d)return t._root=p,t;for(;d.length;)if((l=n>=(a=(g+v)/2))?g=a:v=a,(c=e>=(u=(m+y)/2))?m=u:y=u,i=d,!(d=d[f=c<<1|l]))return i[f]=p,t;if(o=+t._x.call(null,d.data),s=+t._y.call(null,d.data),n===o&&e===s)return p.next=d,i?i[f]=p:t._root=p,t;do{i=i?i[f]=new Array(4):t._root=new Array(4),(l=n>=(a=(g+v)/2))?g=a:v=a,(c=e>=(u=(m+y)/2))?m=u:y=u}while((f=c<<1|l)==(h=(s>=u)<<1|o>=a));return i[h]=d,i[f]=p,t}function Tb(t,n,e,r,i){this.node=t,this.x0=n,this.y0=e,this.x1=r,this.y1=i}function Rb(t){return t[0]}function Pb(t){return t[1]}function Lb(t,n,e){var r=new qb(null==n?Rb:n,null==e?Pb:e,NaN,NaN,NaN,NaN);return null==t?r:r.addAll(t)}function qb(t,n,e,r,i,a){this._x=t,this._y=n,this._x0=e,this._y0=r,this._x1=i,this._y1=a,this._root=void 0}function Ub(t){for(var n={data:t.data},e=n;t=t.next;)e=e.next={data:t.data};return n}var jb=Lb.prototype=qb.prototype;function $b(t){return function(){return t}}function Ib(){return 1e-6*(Math.random()-.5)}function Wb(t){return t.x+t.vx}function Hb(t){return t.y+t.vy}function Yb(t){return t.index}function Gb(t,n){var e=t.get(n);if(!e)throw new Error("missing: "+n);return e}jb.copy=function(){var t,n,e=new qb(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return e;if(!r.length)return e._root=Ub(r),e;for(t=[{source:r,target:e._root=new Array(4)}];r=t.pop();)for(var i=0;i<4;++i)(n=r.source[i])&&(n.length?t.push({source:n,target:r.target[i]=new Array(4)}):r.target[i]=Ub(n));return e},jb.add=function(t){var n=+this._x.call(null,t),e=+this._y.call(null,t);return Nb(this.cover(n,e),n,e,t)},jb.addAll=function(t){var n,e,r,i,a=t.length,u=new Array(a),o=new Array(a),s=1/0,l=1/0,c=-1/0,f=-1/0;for(e=0;ec&&(c=r),if&&(f=i));if(s>c||l>f)return this;for(this.cover(s,l).cover(c,f),e=0;et||t>=i||r>n||n>=a;)switch(o=(nh||(a=s.y0)>d||(u=s.x1)=v)<<1|t>=m)&&(s=p[p.length-1],p[p.length-1]=p[p.length-1-l],p[p.length-1-l]=s)}else{var y=t-+this._x.call(null,g.data),x=n-+this._y.call(null,g.data),_=y*y+x*x;if(_=(o=(p+m)/2))?p=o:m=o,(c=u>=(s=(g+v)/2))?g=s:v=s,n=d,!(d=d[f=c<<1|l]))return this;if(!d.length)break;(n[f+1&3]||n[f+2&3]||n[f+3&3])&&(e=n,h=f)}for(;d.data!==t;)if(r=d,!(d=d.next))return this;return(i=d.next)&&delete d.next,r?(i?r.next=i:delete r.next,this):n?(i?n[f]=i:delete n[f],(d=n[0]||n[1]||n[2]||n[3])&&d===(n[3]||n[2]||n[1]||n[0])&&!d.length&&(e?e[h]=d:this._root=d),this):(this._root=i,this)},jb.removeAll=function(t){for(var n=0,e=t.length;n=0&&(n=t.slice(e+1),t=t.slice(0,e)),t&&!r.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:n}})),u=-1,o=a.length;if(!(arguments.length<2)){if(null!=n&&"function"!=typeof n)throw new Error("invalid callback: "+n);for(;++u0)for(var e,r,i=new Array(e),a=0;a=0&&n._call.call(null,t),n=n._next;--nw}()}finally{nw=0,function(){var t,n,e=Kb,r=1/0;for(;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:Kb=n);tw=t,mw(r)}(),uw=0}}function gw(){var t=sw.now(),n=t-aw;n>iw&&(ow-=n,aw=t)}function mw(t){nw||(ew&&(ew=clearTimeout(ew)),t-uw>24?(t<1/0&&(ew=setTimeout(pw,t-sw.now()-ow)),rw&&(rw=clearInterval(rw))):(rw||(aw=sw.now(),rw=setInterval(gw,iw)),nw=1,lw(pw)))}function vw(t){return t.x}function yw(t){return t.y}hw.prototype=dw.prototype={constructor:hw,restart:function(t,n,e){if("function"!=typeof t)throw new TypeError("callback is not a function");e=(null==e?cw():+e)+(null==n?0:+n),this._next||tw===this||(tw?tw._next=this:Kb=this,tw=this),this._call=t,this._time=e,mw()},stop:function(){this._call&&(this._call=null,this._time=1/0,mw())}};var xw=10,_w=Math.PI*(3-Math.sqrt(5));var bw={center:function(t,n){var e;function r(){var r,i,a=e.length,u=0,o=0;for(r=0;rs+d||il+d||ao.index){var p=s-u.x-u.vx,g=l-u.y-u.vy,m=p*p+g*g;mt.r&&(t.r=t[n].r)}function o(){if(n){var r,i,a=n.length;for(e=new Array(a),r=0;r=u)){(t.data!==n||t.next)&&(0===c&&(d+=(c=Ib())*c),0===f&&(d+=(f=Ib())*f),d[u(t,n,r),t]));for(o=0,i=new Array(l);o1?(null==e?o.delete(t):o.set(t,d(e)),n):o.get(t)},find:function(n,e,r){var i,a,u,o,s,l=0,c=t.length;for(null==r?r=1/0:r*=r,l=0;l1?(l.on(t,e),n):l.on(t)}}}(t),r=!1,i=e.stop,a=e.restart;return e.stopped=function(){return r},e.restart=function(){return r=!1,a()},e.stop=function(){return r=!0,i()},Dw(e,n,!0).on("end",function(){r=!0})}(n.source,t),i.on("tick",(e=n.dataflow,r=this,function(){e.touch(r).run()})),t.static||(a=!0,i.tick()),n.modifies("index")),u||a||t.modified(Mw)||n.changed()&&t.restart)if(i.alpha(Math.max(i.alpha(),t.alpha||1)).alphaDecay(1-Math.pow(i.alphaMin(),1/o)),t.static)for(i.stop();--o>=0;)i.tick();else if(i.stopped()&&i.restart(),!a)return n.StopPropagation;return this.finish(t,n)},Cw.finish=function(t,n){for(var e,r=n.dataflow,i=this._argops,a=0,u=i.length;a=0;)n+=e[r].value;else n=1;t.value=n}function Lw(t,n){var e,r,i,a,u,o=new $w(t),s=+t.value&&(o.value=t.value),l=[o];for(null==n&&(n=qw);e=l.pop();)if(s&&(e.value=+e.data.value),(i=n(e.data))&&(u=i.length))for(e.children=new Array(u),a=u-1;a>=0;--a)l.push(r=e.children[a]=new $w(i[a])),r.parent=e,r.depth=e.depth+1;return o.eachBefore(jw)}function qw(t){return t.children}function Uw(t){t.data=t.data.data}function jw(t){var n=0;do{t.height=n}while((t=t.parent)&&t.height<++n)}function $w(t){this.data=t,this.depth=this.height=0,this.parent=null}$w.prototype=Lw.prototype={constructor:$w,count:function(){return this.eachAfter(Pw)},each:function(t){var n,e,r,i,a=this,u=[a];do{for(n=u.reverse(),u=[];a=n.pop();)if(t(a),e=a.children)for(r=0,i=e.length;r=0;--e)i.push(n[e]);return this},sum:function(t){return this.eachAfter(function(n){for(var e=+t(n.data)||0,r=n.children,i=r&&r.length;--i>=0;)e+=r[i].value;n.value=e})},sort:function(t){return this.eachBefore(function(n){n.children&&n.children.sort(t)})},path:function(t){for(var n=this,e=function(t,n){if(t===n)return t;var e=t.ancestors(),r=n.ancestors(),i=null;for(t=e.pop(),n=r.pop();t===n;)i=t,t=e.pop(),n=r.pop();return i}(n,t),r=[n];n!==e;)n=n.parent,r.push(n);for(var i=r.length;t!==e;)r.splice(i,0,t),t=t.parent;return r},ancestors:function(){for(var t=this,n=[t];t=t.parent;)n.push(t);return n},descendants:function(){var t=[];return this.each(function(n){t.push(n)}),t},leaves:function(){var t=[];return this.eachBefore(function(n){n.children||t.push(n)}),t},links:function(){var t=this,n=[];return t.each(function(e){e!==t&&n.push({source:e.parent,target:e})}),n},copy:function(){return Lw(this).eachBefore(Uw)}};var Iw=Array.prototype.slice;function Ww(t){for(var n,e,r=0,i=(t=function(t){for(var n,e,r=t.length;r;)e=Math.random()*r--|0,n=t[r],t[r]=t[e],t[e]=n;return t}(Iw.call(t))).length,a=[];r0&&e*e>r*r+i*i}function Vw(t,n){for(var e=0;e(u*=u)?(r=(l+u-i)/(2*l),a=Math.sqrt(Math.max(0,u/l-r*r)),e.x=t.x-r*o-a*s,e.y=t.y-r*s+a*o):(r=(l+i-u)/(2*l),a=Math.sqrt(Math.max(0,i/l-r*r)),e.x=n.x+r*o-a*s,e.y=n.y+r*s+a*o)):(e.x=n.x+e.r,e.y=n.y)}function Kw(t,n){var e=t.r+n.r-1e-6,r=n.x-t.x,i=n.y-t.y;return e>0&&e*e>r*r+i*i}function tA(t){var n=t._,e=t.next._,r=n.r+e.r,i=(n.x*e.r+e.x*n.r)/r,a=(n.y*e.r+e.y*n.r)/r;return i*i+a*a}function nA(t){this._=t,this.next=null,this.previous=null}function eA(t){if("function"!=typeof t)throw new Error;return t}function rA(){return 0}function iA(t){return function(){return t}}function aA(t){return Math.sqrt(t.value)}function uA(t){return function(n){n.children||(n.r=Math.max(0,+t(n)||0))}}function oA(t,n){return function(e){if(r=e.children){var r,i,a,u=r.length,o=t(e)*n||0;if(o)for(i=0;i1))return n.r;if(e=t[1],n.x=-e.r,e.x=n.r,e.y=0,!(i>2))return n.r+e.r;Qw(e,n,r=t[2]),n=new nA(n),e=new nA(e),r=new nA(r),n.next=r.previous=e,e.next=n.previous=r,r.next=e.previous=n;t:for(o=3;o0)throw new Error("cycle");return a}return e.id=function(n){return arguments.length?(t=eA(n),e):t},e.parentId=function(t){return arguments.length?(n=eA(t),e):n},e}function vA(t,n){return t.parent===n.parent?1:2}function yA(t){var n=t.children;return n?n[0]:t.t}function xA(t){var n=t.children;return n?n[n.length-1]:t.t}function _A(t,n,e){var r=e/(n.i-t.i);n.c-=r,n.s+=e,t.c+=r,n.z+=e,n.m+=e}function bA(t,n,e){return t.a.parent===n.parent?t.a:e}function wA(t,n){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=n}function AA(t,n,e,r,i){for(var a,u=t.children,o=-1,s=u.length,l=t.value&&(i-e)/t.value;++oh&&(h=o),m=c*c*g,(d=Math.max(h/m,m/f))>p){c-=o;break}p=d}v.push(u={value:c,dice:s1?n:1)},e}(MA);var CA=function t(n){function e(t,e,r,i,a){if((u=t._squarify)&&u.ratio===n)for(var u,o,s,l,c,f=-1,h=u.length,d=t.value;++f1?n:1)},e}(MA);function DA(t){$r.call(this,null,t)}function FA(t){return t.values}function SA(){var t,n=[];return t={entries:function(t){return function t(e,r){if(++r>n.length)return e;var i,a=[];for(i in e)a.push({key:i,values:t(e[i],r)});return a}(function t(e,r){if(r>=n.length)return e;for(var i,a,u,o=-1,s=e.length,l=n[r++],c={},f={};++o=0;--i)o.push(e=n.children[i]=new wA(r[i],i)),e.parent=n;return(u.parent=new wA(null,0)).children=[u],u}(i);if(s.eachAfter(a),s.parent.m=-s.z,s.eachBefore(u),r)i.eachBefore(o);else{var l=i,c=i,f=i;i.eachBefore(function(t){t.xc.x&&(c=t),t.depth>f.depth&&(f=t)});var h=l===c?1:t(l,c)/2,d=h-l.x,p=n/(c.x+h+d),g=e/(f.depth||1);i.eachBefore(function(t){t.x=(t.x+d)*p,t.y=t.depth*g})}return i}function a(n){var e=n.children,r=n.parent.children,i=n.i?r[n.i-1]:null;if(e){!function(t){for(var n,e=0,r=0,i=t.children,a=i.length;--a>=0;)(n=i[a]).z+=e,n.m+=e,e+=n.s+(r+=n.c)}(n);var a=(e[0].z+e[e.length-1].z)/2;i?(n.z=i.z+t(n._,i._),n.m=n.z-a):n.z=a}else i&&(n.z=i.z+t(n._,i._));n.parent.A=function(n,e,r){if(e){for(var i,a=n,u=n,o=e,s=a.parent.children[0],l=a.m,c=u.m,f=o.m,h=s.m;o=xA(o),a=yA(a),o&&a;)s=yA(s),(u=xA(u)).a=n,(i=o.z+f-a.z-l+t(o._,a._))>0&&(_A(bA(o,n,r),n,i),l+=i,c+=i),f+=o.m,l+=a.m,h+=s.m,c+=u.m;o&&!xA(u)&&(u.t=o,u.m+=f-c),a&&!yA(s)&&(s.t=a,s.m+=l-h,r=n)}return r}(n,i,n.parent.A||r[0])}function u(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function o(t){t.x*=n,t.y=t.depth*e}return i.separation=function(n){return arguments.length?(t=n,i):t},i.size=function(t){return arguments.length?(r=!1,n=+t[0],e=+t[1],i):r?null:[n,e]},i.nodeSize=function(t){return arguments.length?(r=!0,n=+t[0],e=+t[1],i):r?[n,e]:null},i},cluster:function(){var t=Nw,n=1,e=1,r=!1;function i(i){var a,u=0;i.eachAfter(function(n){var e=n.children;e?(n.x=function(t){return t.reduce(Tw,0)/t.length}(e),n.y=function(t){return 1+t.reduce(Rw,0)}(e)):(n.x=a?u+=t(n,a):0,n.y=0,a=n)});var o=function(t){for(var n;n=t.children;)t=n[0];return t}(i),s=function(t){for(var n;n=t.children;)t=n[n.length-1];return t}(i),l=o.x-t(o,s)/2,c=s.x+t(s,o)/2;return i.eachAfter(r?function(t){t.x=(t.x-i.x)*n,t.y=(i.y-t.y)*e}:function(t){t.x=(t.x-l)/(c-l)*n,t.y=(1-(i.y?t.y/i.y:1))*e})}return i.separation=function(n){return arguments.length?(t=n,i):t},i.size=function(t){return arguments.length?(r=!1,n=+t[0],e=+t[1],i):r?null:[n,e]},i.nodeSize=function(t){return arguments.length?(r=!0,n=+t[0],e=+t[1],i):r?[n,e]:null},i}},jA=["x","y","depth","children"];function $A(t){BA.call(this,t)}$A.Definition={type:"Tree",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"method",type:"enum",default:"tidy",values:["tidy","cluster"]},{name:"size",type:"number",array:!0,length:2},{name:"nodeSize",type:"number",array:!0,length:2},{name:"separation",type:"boolean",default:!0},{name:"as",type:"string",array:!0,length:jA.length,default:jA}]};var IA=et($A,BA);function WA(t){$r.call(this,[],t)}IA.layout=function(t){var n=t||"tidy";if(UA.hasOwnProperty(n))return UA[n]();i("Unrecognized Tree layout method: "+n)},IA.params=["size","nodeSize"],IA.fields=jA,WA.Definition={type:"TreeLinks",metadata:{tree:!0,generates:!0,changes:!0},params:[]},et(WA,$r).transform=function(t,n){var e=this.value,r=n.source&&n.source.root,a=n.fork(n.NO_SOURCE),u={};return r||i("TreeLinks transform requires a tree data source."),n.changed(n.ADD_REM)?(a.rem=e,n.visit(n.SOURCE,function(t){u[Et(t)]=1}),r.each(function(t){var n=t.data,e=t.parent&&t.parent.data;e&&u[Et(n)]&&u[Et(e)]&&a.add.push(Dt({source:e,target:n}))}),this.value=a.add):n.changed(n.MOD)&&(n.visit(n.MOD,function(t){u[Et(t)]=1}),e.forEach(function(t){(u[Et(t.source)]||u[Et(t.target)])&&a.mod.push(t)})),a};var HA={binary:function(t,n,e,r,i){var a,u,o=t.children,s=o.length,l=new Array(s+1);for(l[0]=u=a=0;a=e-1){var c=o[n];return c.x0=i,c.y0=a,c.x1=u,void(c.y1=s)}for(var f=l[n],h=r/2+f,d=n+1,p=e-1;d>>1;l[g]s-a){var y=(i*v+u*m)/r;t(n,d,m,i,a,y,s),t(d,e,v,y,a,u,s)}else{var x=(a*v+s*m)/r;t(n,d,m,i,a,u,x),t(d,e,v,i,x,u,s)}}(0,s,t.value,n,e,r,i)},dice:cA,slice:AA,slicedice:function(t,n,e,r,i){(1&t.depth?AA:cA)(t,n,e,r,i)},squarify:EA,resquarify:CA},YA=["x0","y0","x1","y1","depth","children"];function GA(t){BA.call(this,t)}GA.Definition={type:"Treemap",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"method",type:"enum",default:"squarify",values:["squarify","resquarify","binary","dice","slice","slicedice"]},{name:"padding",type:"number",default:0},{name:"paddingInner",type:"number",default:0},{name:"paddingOuter",type:"number",default:0},{name:"paddingTop",type:"number",default:0},{name:"paddingRight",type:"number",default:0},{name:"paddingBottom",type:"number",default:0},{name:"paddingLeft",type:"number",default:0},{name:"ratio",type:"number",default:1.618033988749895},{name:"round",type:"boolean",default:!1},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:YA.length,default:YA}]};var VA=et(GA,BA);VA.layout=function(){var t=function(){var t=EA,n=!1,e=1,r=1,i=[0],a=rA,u=rA,o=rA,s=rA,l=rA;function c(t){return t.x0=t.y0=0,t.x1=e,t.y1=r,t.eachBefore(f),i=[0],n&&t.eachBefore(lA),t}function f(n){var e=i[n.depth],r=n.x0+e,c=n.y0+e,f=n.x1-e,h=n.y1-e;f{Li(n,t.x,t.y,t.bandwidth||.3).forEach(t=>{const e={};for(let t=0;t{if(e.length<=l)return void n.dataflow.warn("Skipping regression with more parameters than data points.");const r=f(e,t.x,t.y,s);if(t.params)return void h.push(Dt({keys:e.dims,coef:r.coef,rSquared:r.rSquared}));const i=d||J(e,t.x),a=t=>{const n={};for(let t=0;ta([t,r.predict(t)])):$i(r.predict,i,25,200).forEach(a)}),this.value&&(r.rem=this.value),this.value=r.add=r.source=h}return r};var tM=Object.freeze({loess:JA,regression:KA});function nM(t){return function(){return t}}function eM(t){return t[0]}function rM(t){return t[1]}function iM(){this._=null}function aM(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function uM(t,n){var e=n,r=n.R,i=e.U;i?i.L===e?i.L=r:i.R=r:t._=r,r.U=i,e.U=r,e.R=r.L,e.R&&(e.R.U=e),r.L=e}function oM(t,n){var e=n,r=n.L,i=e.U;i?i.L===e?i.L=r:i.R=r:t._=r,r.U=i,e.U=r,e.L=r.R,e.L&&(e.L.U=e),r.R=e}function sM(t){for(;t.L;)t=t.L;return t}function lM(t,n,e,r){var i=[null,null],a=zM.push(i)-1;return i.left=t,i.right=n,e&&fM(i,t,n,e),r&&fM(i,n,t,r),BM[t.index].halfedges.push(a),BM[n.index].halfedges.push(a),i}function cM(t,n,e){var r=[n,e];return r.left=t,r}function fM(t,n,e,r){t[0]||t[1]?t.left===e?t[1]=r:t[0]=r:(t[0]=r,t.left=n,t.right=e)}function hM(t,n,e,r,i){var a,u=t[0],o=t[1],s=u[0],l=u[1],c=0,f=1,h=o[0]-s,d=o[1]-l;if(a=n-s,h||!(a>0)){if(a/=h,h<0){if(a0){if(a>f)return;a>c&&(c=a)}if(a=r-s,h||!(a<0)){if(a/=h,h<0){if(a>f)return;a>c&&(c=a)}else if(h>0){if(a0)){if(a/=d,d<0){if(a0){if(a>f)return;a>c&&(c=a)}if(a=i-l,d||!(a<0)){if(a/=d,d<0){if(a>f)return;a>c&&(c=a)}else if(d>0){if(a0||f<1)||(c>0&&(t[0]=[s+c*h,l+c*d]),f<1&&(t[1]=[s+f*h,l+f*d]),!0)}}}}}function dM(t,n,e,r,i){var a=t[1];if(a)return!0;var u,o,s=t[0],l=t.left,c=t.right,f=l[0],h=l[1],d=c[0],p=c[1],g=(f+d)/2,m=(h+p)/2;if(p===h){if(g=r)return;if(f>d){if(s){if(s[1]>=i)return}else s=[g,e];a=[g,i]}else{if(s){if(s[1]1)if(f>d){if(s){if(s[1]>=i)return}else s=[(e-o)/u,e];a=[(i-o)/u,i]}else{if(s){if(s[1]=r)return}else s=[n,u*n+o];a=[r,u*r+o]}else{if(s){if(s[0]=-TM)){var d=s*s+l*l,p=c*c+f*f,g=(f*d-l*p)/h,m=(s*p-c*d)/h,v=yM.pop()||new xM;v.arc=t,v.site=i,v.x=g+u,v.y=(v.cy=m+o)+Math.sqrt(g*g+m*m),t.circle=v;for(var y=null,x=OM._;x;)if(v.yNM)o=o.L;else{if(!((i=a-FM(o,u))>NM)){r>-NM?(n=o.P,e=o):i>-NM?(n=o,e=o.N):n=e=o;break}if(!o.R){n=o;break}o=o.R}!function(t){BM[t.index]={site:t,halfedges:[]}}(t);var s=MM(t);if(SM.insert(n,s),n||e){if(n===e)return bM(n),e=MM(n.site),SM.insert(s,e),s.edge=e.edge=lM(n.site,s.site),_M(n),void _M(e);if(e){bM(n),bM(e);var l=n.site,c=l[0],f=l[1],h=t[0]-c,d=t[1]-f,p=e.site,g=p[0]-c,m=p[1]-f,v=2*(h*m-d*g),y=h*h+d*d,x=g*g+m*m,_=[(m*y-d*x)/v+c,(h*x-g*y)/v+f];fM(e.edge,l,p,_),s.edge=lM(l,t,null,_),e.edge=lM(t,p,null,_),_M(n),_M(e)}else s.edge=lM(n.site,s.site)}}function DM(t,n){var e=t.site,r=e[0],i=e[1],a=i-n;if(!a)return r;var u=t.P;if(!u)return-1/0;var o=(e=u.site)[0],s=e[1],l=s-n;if(!l)return o;var c=o-r,f=1/a-1/l,h=c/l;return f?(-h+Math.sqrt(h*h-2*f*(c*c/(-2*l)-s+l/2+i-a/2)))/f+r:(r+o)/2}function FM(t,n){var e=t.N;if(e)return DM(e,n);var r=t.site;return r[1]===n?r[0]:1/0}var SM,BM,OM,zM,NM=1e-6,TM=1e-12;function RM(t,n){return n[1]-t[1]||n[0]-t[0]}function PM(t,n){var e,r,i,a=t.sort(RM).pop();for(zM=[],BM=new Array(t.length),SM=new iM,OM=new iM;;)if(i=vM,a&&(!i||a[1]NM||Math.abs(i[0][1]-i[1][1])>NM)||delete zM[a]}(u,o,s,l),function(t,n,e,r){var i,a,u,o,s,l,c,f,h,d,p,g,m=BM.length,v=!0;for(i=0;iNM||Math.abs(g-h)>NM)&&(s.splice(o,0,zM.push(cM(u,d,Math.abs(p-t)NM?[t,Math.abs(f-t)NM?[Math.abs(h-r)NM?[e,Math.abs(f-e)NM?[Math.abs(h-n)=o)return null;var s=t-i.site[0],l=n-i.site[1],c=s*s+l*l;do{i=a.cells[r=u],u=null,i.halfedges.forEach(function(e){var r=a.edges[e],o=r.left;if(o!==i.site&&o||(o=r.right)){var s=t-o[0],l=n-o[1],f=s*s+l*l;f=d));)if(n.x=f+i,n.y=h+a,!(n.x+n.x0<0||n.y+n.y0<0||n.x+n.x1>o[0]||n.y+n.y1>o[1]||e&&GM(n,t,o[0])||e&&(l=e,!((u=n).x+u.x1>l[0].x&&u.x+u.x0l[0].y&&u.y+u.y0>5,_=o[0]>>5,b=n.x-(x<<4),w=127&b,A=32-w,M=n.y1-n.y0,k=(n.y+n.y0)*_+(b>>5),E=0;E>>w:0);k+=_}return n.sprite=null,!0}return!1}return f.layout=function(){for(var s=function(t){t.width=t.height=1;var n=Math.sqrt(t.getContext("2d").getImageData(0,0,1,1).data.length>>2);t.width=(IM<<5)/n,t.height=WM/n;var e=t.getContext("2d");return e.fillStyle=e.strokeStyle="red",e.textAlign="center",{context:e,ratio:n}}(no()),f=function(t){var n=[],e=-1;for(;++e>5)*o[1]),d=null,p=l.length,g=-1,m=[],v=l.map(function(o){return{text:t(o),font:n(o),style:r(o),weight:i(o),rotate:a(o),size:~~e(o),padding:u(o),xoff:0,yoff:0,x1:0,y1:0,x0:0,y0:0,hasText:!1,sprite:null,datum:o}}).sort(function(t,n){return n.size-t.size});++g>1,y.y=o[1]*(c()+.5)>>1,YM(s,y,v,g),y.hasText&&h(f,y,d)&&(m.push(y),d?VM(d,y):d=[{x:y.x+y.x0,y:y.y+y.y0},{x:y.x+y.x1,y:y.y+y.y1}],y.x-=o[0]>>1,y.y-=o[1]>>1)}return m},f.words=function(t){return arguments.length?(l=t,f):l},f.size=function(t){return arguments.length?(o=[+t[0],+t[1]],f):o},f.font=function(t){return arguments.length?(n=ZM(t),f):n},f.fontStyle=function(t){return arguments.length?(r=ZM(t),f):r},f.fontWeight=function(t){return arguments.length?(i=ZM(t),f):i},f.rotate=function(t){return arguments.length?(a=ZM(t),f):a},f.text=function(n){return arguments.length?(t=ZM(n),f):t},f.spiral=function(t){return arguments.length?(s=JM[t]||t,f):s},f.fontSize=function(t){return arguments.length?(e=ZM(t),f):e},f.padding=function(t){return arguments.length?(u=ZM(t),f):u},f.random=function(t){return arguments.length?(c=t,f):c},f}function YM(t,n,e,r){if(!n.sprite){var i=t.context,a=t.ratio;i.clearRect(0,0,(IM<<5)/a,WM/a);var u,o,s,l,c,f=0,h=0,d=0,p=e.length;for(--r;++r>5<<5,s=~~Math.max(Math.abs(y+x),Math.abs(y-x))}else u=u+31>>5<<5;if(s>d&&(d=s),f+u>=IM<<5&&(f=0,h+=d,d=0),h+s>=WM)break;i.translate((f+(u>>1))/a,(h+(s>>1))/a),n.rotate&&i.rotate(n.rotate*$M),i.fillText(n.text,0,0),n.padding&&(i.lineWidth=2*n.padding,i.strokeText(n.text,0,0)),i.restore(),n.width=u,n.height=s,n.xoff=f,n.yoff=h,n.x1=u>>1,n.y1=s>>1,n.x0=-n.x1,n.y0=-n.y1,n.hasText=!0,f+=u}for(var b=i.getImageData(0,0,(IM<<5)/a,WM/a).data,w=[];--r>=0;)if((n=e[r]).hasText){for(o=(u=n.width)>>5,s=n.y1-n.y0,l=0;l>5),E=b[(h+c)*(IM<<5)+(f+l)<<2]?1<<31-l%32:0;w[k]|=E,A|=E}A?M=c:(n.y0++,s--,c--,h++)}n.y1=n.y0+M,n.sprite=w.slice(0,(n.y1-n.y0)*o)}}}function GM(t,n,e){e>>=5;for(var r,i=t.sprite,a=t.width>>5,u=t.x-(a<<4),o=127&u,s=32-o,l=t.y1-t.y0,c=(t.y+t.y0)*e+(u>>5),f=0;f>>o:0))&n[c+h])return!0;c+=e}return!1}function VM(t,n){var e=t[0],r=t[1];n.x+n.x0r.x&&(r.x=n.x+n.x1),n.y+n.y1>r.y&&(r.y=n.y+n.y1)}function XM(t){var n=t[0]/t[1];return function(t){return[n*(t*=.1)*Math.cos(t),t*Math.sin(t)]}}function ZM(t){return"function"==typeof t?t:function(){return t}}var JM={archimedean:XM,rectangular:function(t){var n=4*t[0]/t[1],e=0,r=0;return function(t){var i=t<0?-1:1;switch(Math.sqrt(1+4*i*t)-i&3){case 0:e+=n;break;case 1:r+=4;break;case 2:e-=n;break;default:r-=4}return[e,r]}}},QM=["x","y","font","fontSize","fontStyle","fontWeight","angle"],KM=["text","font","rotate","fontSize","fontStyle","fontWeight"];function tk(t){$r.call(this,HM(),t)}tk.Definition={type:"Wordcloud",metadata:{modifies:!0},params:[{name:"size",type:"number",array:!0,length:2},{name:"font",type:"string",expr:!0,default:"sans-serif"},{name:"fontStyle",type:"string",expr:!0,default:"normal"},{name:"fontWeight",type:"string",expr:!0,default:"normal"},{name:"fontSize",type:"number",expr:!0,default:14},{name:"fontSizeRange",type:"number",array:"nullable",default:[10,50]},{name:"rotate",type:"number",expr:!0,default:0},{name:"text",type:"field"},{name:"spiral",type:"string",values:["archimedean","rectangular"]},{name:"padding",type:"number",expr:!0},{name:"as",type:"string",array:!0,length:7,default:QM}]},et(tk,$r).transform=function(n,e){!n.size||n.size[0]&&n.size[1]||i("Wordcloud size dimensions must be non-zero.");var r=n.modified();if(r||e.changed(e.ADD_REM)||KM.some(function(t){var r=n[t];return Y(r)&&e.modified(r.fields)})){var a,u=e.materialize(e.SOURCE).source,o=this.value,s=n.as||QM,l=n.fontSize||14;if(Y(l)?a=n.fontSizeRange:l=V(l),a){var c=l,f=Zg("sqrt")().domain(function(t,n){for(var e,r=1/0,i=-1/0,a=0,u=n.length;ai&&(i=e);return[r,i]}(c,u)).range(a);l=function(t){return f(c(t))}}u.forEach(function(t){t[s[0]]=NaN,t[s[1]]=NaN,t[s[3]]=0});for(var h,d,p=o.words(u).text(n.text).size(n.size||[500,500]).padding(n.padding||1).spiral(n.spiral||"archimedean").rotate(n.rotate||0).font(n.font||"sans-serif").fontStyle(n.fontStyle||"normal").fontWeight(n.fontWeight||"normal").fontSize(l).random(t.random).layout(),g=o.size(),m=g[0]>>1,v=g[1]>>1,y=0,x=p.length;yi?1:0}),function(t,n){for(var e=n.length,r=new Array(e);e--;)r[e]=t[n[e]];return r}(t,n)}(f,h),l)u=n,o=t,n=Array(l+c),t=ek(l+c),function(t,n,e,r,i,a,u,o,s){var l,c=0,f=0;for(l=0;c0)for(s=0;s=n?t:((i=i||new t.constructor(n)).set(t),i);var t,n,i},add:function(t){for(var n,r=0,i=e.length,a=t.length;ri.length||e>n)&&(n=Math.max(e,n),i=rk(t,n,i),a=rk(t,n))}}),t),this._indices=null,this._dims=null}uk.Definition={type:"CrossFilter",metadata:{},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"query",type:"array",array:!0,required:!0,content:{type:"number",array:!0,length:2}}]};var ok=et(uk,$r);function sk(t){$r.call(this,null,t)}ok.transform=function(t,n){return this._dims?t.modified("fields")||t.fields.some(function(t){return n.modified(t.fields)})?this.reinit(t,n):this.eval(t,n):this.init(t,n)},ok.init=function(t,n){for(var e,r,i=t.fields,a=t.query,u=this._indices={},o=this._dims=[],s=a.length,l=0;lm)for(i=m,a=Math.min(p,v);iv)for(i=Math.max(p,v),a=g;id)for(i=d,a=Math.min(f,p);ip)for(i=Math.max(f,p),a=h;i",jk[oE]="Identifier",jk[sE]="Keyword",jk[lE]="Null",jk[cE]="Numeric",jk[fE]="Punctuator",jk[hE]="String",jk[9]="RegularExpression";var dE="ArrayExpression",pE="BinaryExpression",gE="CallExpression",mE="ConditionalExpression",vE="Identifier",yE="Literal",xE="LogicalExpression",_E="MemberExpression",bE="ObjectExpression",wE="Property",AE="UnaryExpression",ME="Unexpected token %0",kE="Unexpected number",EE="Unexpected string",CE="Unexpected identifier",DE="Unexpected reserved word",FE="Unexpected end of input",SE="Invalid regular expression",BE="Invalid regular expression: missing /",OE="Octal literals are not allowed in strict mode.",zE="Duplicate data property in object literal not allowed in strict mode",NE="ILLEGAL",TE="Disabled.",RE=new RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B2\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]"),PE=new RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B2\\u08E4-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58\\u0C59\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D60-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA69D\\uA69F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2D\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]");function LE(t,n){if(!t)throw new Error("ASSERT: "+n)}function qE(t){return t>=48&&t<=57}function UE(t){return"0123456789abcdefABCDEF".indexOf(t)>=0}function jE(t){return"01234567".indexOf(t)>=0}function $E(t){return 32===t||9===t||11===t||12===t||160===t||t>=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(t)>=0}function IE(t){return 10===t||13===t||8232===t||8233===t}function WE(t){return 36===t||95===t||t>=65&&t<=90||t>=97&&t<=122||92===t||t>=128&&RE.test(String.fromCharCode(t))}function HE(t){return 36===t||95===t||t>=65&&t<=90||t>=97&&t<=122||t>=48&&t<=57||92===t||t>=128&&PE.test(String.fromCharCode(t))}var YE={if:1,in:1,do:1,var:1,for:1,new:1,try:1,let:1,this:1,else:1,case:1,void:1,with:1,enum:1,while:1,break:1,catch:1,throw:1,const:1,yield:1,class:1,super:1,return:1,typeof:1,delete:1,switch:1,export:1,import:1,public:1,static:1,default:1,finally:1,extends:1,package:1,private:1,function:1,continue:1,debugger:1,interface:1,protected:1,instanceof:1,implements:1};function GE(){for(var t;Ik1114111||"}"!==t)&&cC({},ME,NE),n<=65535?String.fromCharCode(n):(e=55296+(n-65536>>10),r=56320+(n-65536&1023),String.fromCharCode(e,r))}function ZE(){var t,n;for(t=$k.charCodeAt(Ik++),n=String.fromCharCode(t),92===t&&(117!==$k.charCodeAt(Ik)&&cC({},ME,NE),++Ik,(t=VE("u"))&&"\\"!==t&&WE(t.charCodeAt(0))||cC({},ME,NE),n=t);Ik>>="===(r=$k.substr(Ik,4))?{type:fE,value:r,start:i,end:Ik+=4}:">>>"===(e=r.substr(0,3))||"<<="===e||">>="===e?{type:fE,value:e,start:i,end:Ik+=3}:u===(n=e.substr(0,2))[1]&&"+-<>&|".indexOf(u)>=0||"=>"===n?{type:fE,value:n,start:i,end:Ik+=2}:"<>=!+-*%&|^/".indexOf(u)>=0?{type:fE,value:u,start:i,end:++Ik}:void cC({},ME,NE)}function KE(){var t,n,e;if(LE(qE((e=$k[Ik]).charCodeAt(0))||"."===e,"Numeric literal must start with a decimal digit or a decimal point"),n=Ik,t="","."!==e){if(t=$k[Ik++],e=$k[Ik],"0"===t){if("x"===e||"X"===e)return++Ik,function(t){for(var n="";Ik=0&&cC({},SE,e),{value:e,literal:n}}(),r=function(t,n){var e=t;n.indexOf("u")>=0&&(e=e.replace(/\\u\{([0-9a-fA-F]+)\}/g,function(t,n){if(parseInt(n,16)<=1114111)return"x";cC({},SE)}).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"x"));try{return new RegExp(t,n)}catch(t){return null}}(n.value,e.value),{literal:n.literal+e.literal,value:r,regex:{pattern:n.value,flags:e.value},start:t,end:Ik}}function nC(){var t;return GE(),Ik>=Wk?{type:uE,start:Ik,end:Ik}:WE(t=$k.charCodeAt(Ik))?JE():40===t||41===t||59===t?QE():39===t||34===t?function(){var t,n,e,r,i="",a=!1;for(LE("'"===(t=$k[Ik])||'"'===t,"String literal must starts with a quote"),n=Ik,++Ik;Ik=0&&Ik":case"<=":case">=":case"instanceof":case"in":n=7;break;case"<<":case">>":case">>>":n=8;break;case"+":case"-":n=9;break;case"*":case"/":case"%":n=11}return n}function CC(){var t,n;return t=function(){var t,n,e,r,i,a,u,o,s,l;if(t=Hk,s=kC(),0===(i=EC(r=Hk)))return s;for(r.prec=i,eC(),n=[t,Hk],a=[s,r,u=kC()];(i=EC(Hk))>0;){for(;a.length>2&&i<=a[a.length-2].prec;)u=a.pop(),o=a.pop().value,s=a.pop(),n.pop(),e=iC(o,s,u),a.push(e);(r=eC()).prec=i,a.push(r),n.push(Hk),e=kC(),a.push(e)}for(e=a[l=a.length-1],n.pop();l>1;)n.pop(),e=iC(a[l-1].value,a[l-2],e),l-=2;return e}(),dC("?")&&(eC(),n=CC(),hC(":"),t=function(t,n,e){var r=new iE(mE);return r.test=t,r.consequent=n,r.alternate=e,r}(t,n,CC())),t}function DC(){var t=CC();if(dC(","))throw new Error(TE);return t}var FC={NaN:"NaN",E:"Math.E",LN2:"Math.LN2",LN10:"Math.LN10",LOG2E:"Math.LOG2E",LOG10E:"Math.LOG10E",PI:"Math.PI",SQRT1_2:"Math.SQRT1_2",SQRT2:"Math.SQRT2",MIN_VALUE:"Number.MIN_VALUE",MAX_VALUE:"Number.MAX_VALUE"};function SC(t){function n(n,e,r){return function(i){return function(n,e,r,i){var a=t(e[0]);return r&&(a=r+"("+a+")",0===r.lastIndexOf("new ",0)&&(a="("+a+")")),a+"."+n+(i<0?"":0===i?"()":"("+e.slice(1).map(t).join(",")+")")}(n,i,e,r)}}var e="new Date";return{isNaN:"isNaN",isFinite:"isFinite",abs:"Math.abs",acos:"Math.acos",asin:"Math.asin",atan:"Math.atan",atan2:"Math.atan2",ceil:"Math.ceil",cos:"Math.cos",exp:"Math.exp",floor:"Math.floor",log:"Math.log",max:"Math.max",min:"Math.min",pow:"Math.pow",random:"Math.random",round:"Math.round",sin:"Math.sin",sqrt:"Math.sqrt",tan:"Math.tan",clamp:function(n){n.length<3&&i("Missing arguments to clamp function."),n.length>3&&i("Too many arguments to clamp function.");var e=n.map(t);return"Math.max("+e[1]+", Math.min("+e[2]+","+e[0]+"))"},now:"Date.now",utc:"Date.UTC",datetime:e,date:n("getDate",e,0),day:n("getDay",e,0),year:n("getFullYear",e,0),month:n("getMonth",e,0),hours:n("getHours",e,0),minutes:n("getMinutes",e,0),seconds:n("getSeconds",e,0),milliseconds:n("getMilliseconds",e,0),time:n("getTime",e,0),timezoneoffset:n("getTimezoneOffset",e,0),utcdate:n("getUTCDate",e,0),utcday:n("getUTCDay",e,0),utcyear:n("getUTCFullYear",e,0),utcmonth:n("getUTCMonth",e,0),utchours:n("getUTCHours",e,0),utcminutes:n("getUTCMinutes",e,0),utcseconds:n("getUTCSeconds",e,0),utcmilliseconds:n("getUTCMilliseconds",e,0),length:n("length",null,-1),join:n("join",null),indexof:n("indexOf",null),lastindexof:n("lastIndexOf",null),slice:n("slice",null),reverse:function(n){return"("+t(n[0])+").slice().reverse()"},parseFloat:"parseFloat",parseInt:"parseInt",upper:n("toUpperCase","String",0),lower:n("toLowerCase","String",0),substring:n("substring","String"),split:n("split","String"),replace:n("replace","String"),trim:n("trim","String",0),regexp:"RegExp",test:n("test","RegExp"),if:function(n){n.length<3&&i("Missing arguments to if function."),n.length>3&&i("Too many arguments to if function.");var e=n.map(t);return"("+e[0]+"?"+e[1]+":"+e[2]+")"}}}const BC="intersect",OC="union";var zC="E",NC="R",TC="R-E",RC="R-LE",PC="R-RE",LC="index:unit";function qC(t,n){for(var e,r,i=n.fields,a=n.values,o=i.length,s=0;s=0}):n},R_union:function(t,n){var e=E(n[0]),r=E(n[1]);return e>r&&(e=n[1],r=n[0]),t.length?(t[0]>e&&(t[0]=e),t[1]r&&(e=n[1],r=n[0]),t.length?rr&&(t[1]=r),t):[e,r]}};const jC=":",$C="@";function IC(t,n,e,r){n[0].type!==Gk&&i("First argument to selection functions must be a string literal.");const a=n[0].value,u=n.length>=2&&k(n).value,o=$C+"unit",s=jC+a;u!==BC||r.hasOwnProperty(o)||(r[o]=e.getData(a).indataRef(e,"unit")),r.hasOwnProperty(s)||(r[s]=e.getData(a).tuplesRef())}function WC(t){const n=this.context.data[t];return n?n.values.value:[]}const HC={};function YC(t,n,e){let r=t+":"+e,i=HC[r];return i&&i[0]===n||(HC[r]=i=[n,n(e)]),i[1]}function GC(t,n){return YC("timeFormat",ue,n)(t)}var VC=new Date(2e3,0,1);function XC(t,n,e){return VC.setMonth(t),VC.setDate(n),GC(VC,e)}function ZC(t,n){let e;return Y(t)?t:s(t)?(e=n.scales[t])&&e.value:void 0}function JC(t,n){return function(e,r,i){if(e){const n=ZC(e,(i||this).context);return n&&n.path[t](r)}return n(r)}}const QC=JC("area",function(t){return sy.reset(),ny(t,ly),2*sy}),KC=JC("bounds",function(t){var n,e,r,i,a,u,o;if(My=Ay=-(by=wy=1/0),Fy=[],ny(t,Vy),e=Fy.length){for(Fy.sort(rx),n=1,a=[r=Fy[0]];nex(r[0],r[1])&&(r[1]=i[1]),ex(i[0],r[1])>ex(r[0],r[1])&&(r[0]=i[0])):a.push(r=i);for(u=-1/0,n=0,r=a[e=a.length-1];n<=e;r=i,++n)i=a[n],(o=ex(r[1],i[0]))>u&&(u=o,by=i[0],Ay=r[1])}return Fy=Sy=null,by===1/0||wy===1/0?[[NaN,NaN],[NaN,NaN]]:[[by,wy],[Ay,My]]}),tD=JC("centroid",function(t){By=Oy=zy=Ny=Ty=Ry=Py=Ly=qy=Uy=jy=0,ny(t,ax);var n=qy,e=Uy,r=jy,i=n*n+e*e+r*r;return i(!e.length||e.some(n=>t.marktype===n))&&(!r.length||r.some(n=>t.name===n)))}return n}(n))},clampRange:H,pinchDistance:function(t){const n=t.touches,e=n[0].clientX-n[1].clientX,r=n[0].clientY-n[1].clientY;return Math.sqrt(e*e+r*r)},pinchAngle:function(t){const n=t.touches;return Math.atan2(n[0].clientY-n[1].clientY,n[0].clientX-n[1].clientX)},screen:function(){return oD?oD.screen:{}},containerSize:function(){const t=this.context.dataflow,n=t.container&&t.container();return n?[n.clientWidth,n.clientHeight]:[void 0,void 0]},windowSize:function(){return oD?[oD.innerWidth,oD.innerHeight]:[void 0,void 0]},bandspace:function(t,n,e){return yh(t||0,n||0,e||0)},setdata:function(t,n){const e=this.context.dataflow,r=this.context.data[t].input;return e.pulse(r,e.changeset().remove(m).insert(n)),1},pathShape:function(t){let n=null;return function(e){return e?Os(e,n=n||bs(t)):t}},panLinear:z,panLog:N,panPow:T,panSymlog:R,zoomLinear:L,zoomLog:q,zoomPow:U,zoomSymlog:j,encode:function(t,n,e){if(t){const e=this.context.dataflow,r=t.mark.source;e.pulse(r,e.changeset().encode(t,n))}return void 0!==e?e:t},modify:function(t,n,e,r,i,a){let o,s,l=this.context.dataflow,c=this.context.data[t],f=c.input,h=c.changes,d=l.stamp();if(!1===l._trigger||!(f.value.length||n||r))return 0;if((!h||h.stampa.stop(l(n),t(n))),a},dD),_D("geoArea",QC,dD),_D("geoBounds",KC,dD),_D("geoCentroid",tD,dD),_D("geoShape",function(t,n,e){const r=ZC(t,(e||this).context);return function(t){return r?r.path.context(t)(n):""}},dD),_D("indata",function(t,n,e){const r=this.context.data[t]["index:"+n],i=r?r.value.get(e):void 0;return i?i.count:i},function(t,n,e,r){n[0].type!==Gk&&i("First argument to indata must be a string literal."),n[1].type!==Gk&&i("Second argument to indata must be a string literal.");const a=n[0].value,u=n[1].value,o=lD+u;r.hasOwnProperty(o)||(r[o]=e.getData(a).indataRef(e,u))}),_D("data",WC,hD),_D("treePath",function(t,n,e){const r=uD(t,this),i=r[n],a=r[e];return i&&a?i.path(a).map(aD):void 0},hD),_D("treeAncestors",function(t,n){const e=uD(t,this)[n];return e?e.ancestors().map(aD):void 0},hD),_D("vlSelectionTest",function(t,n,e){for(var r,i,a,u,o,s=this.context.data[t],l=s?s.values.value:[],c=s?s[LC]&&s[LC].value:void 0,f=e===BC,h=l.length,d=0;dn[t]=vD+t);for(let t in gD)n[t]=yD+t;return n},constants:FC,visitors:xD};var wD=function(t){var n=(t=t||{}).whitelist?yt(t.whitelist):{},e=t.blacklist?yt(t.blacklist):{},r=t.constants||FC,a=(t.functions||SC)(d),u=t.globalvar,o=t.fieldvar,l={},c={},f=0,h=Y(u)?u:function(t){return u+'["'+t+'"]'};function d(t){if(s(t))return t;var n=p[t.type];return null==n&&i("Unsupported type: "+t.type),n(t)}var p={Literal:function(t){return t.raw},Identifier:function(t){var a=t.name;return f>0?a:e.hasOwnProperty(a)?i("Illegal identifier: "+a):r.hasOwnProperty(a)?r[a]:n.hasOwnProperty(a)?a:(l[a]=1,h(a))},MemberExpression:function(t){var n=!t.computed,e=d(t.object);n&&(f+=1);var r=d(t.property);return e===o&&(c[function(t){var n=t&&t.length-1;return n&&('"'===t[0]&&'"'===t[n]||"'"===t[0]&&"'"===t[n])?t.slice(1,-1):t}(r)]=1),n&&(f-=1),e+(n?"."+r:"["+r+"]")},CallExpression:function(t){"Identifier"!==t.callee.type&&i("Illegal callee type: "+t.callee.type);var n=t.callee.name,e=t.arguments,r=a.hasOwnProperty(n)&&a[n];return r||i("Unrecognized function: "+n),Y(r)?r(e):r+"("+e.map(d).join(",")+")"},ArrayExpression:function(t){return"["+t.elements.map(d).join(",")+"]"},BinaryExpression:function(t){return"("+d(t.left)+t.operator+d(t.right)+")"},UnaryExpression:function(t){return"("+t.operator+d(t.argument)+")"},ConditionalExpression:function(t){return"("+d(t.test)+"?"+d(t.consequent)+":"+d(t.alternate)+")"},LogicalExpression:function(t){return"("+d(t.left)+t.operator+d(t.right)+")"},ObjectExpression:function(t){return"{"+t.properties.map(d).join(",")+"}"},Property:function(t){f+=1;var n=d(t.key);return f-=1,n+":"+d(t.value)}};function g(t){var n={code:d(t),globals:Object.keys(l),fields:Object.keys(c)};return l={},c={},n}return g.functions=a,g.constants=r,g}(bD);function AD(t,n,e){";"!==n[n.length-1]&&(n="return("+n+");");var r=Function.apply(null,t.concat(n));return e&&e.functions?r.bind(e.functions):r}function MD(t,n){return AD(["event"],t,n)}function kD(t,n){return AD(["item","_"],t,n)}function ED(t,n,e){var r,i;for(r in e=e||{},t)i=t[r],e[r]=u(i)?i.map(function(t){return CD(t,n,e)}):CD(i,n,e);return e}function CD(t,n,e){if(!t||!o(t))return t;for(var r,i=0,a=DD.length;it.resize())},!1,1)},XD.addEventListener=function(t,n,e){var r=n;return e&&!1===e.trap||((r=Lk(this,n)).raw=n),this._handler.on(t,r),this},XD.removeEventListener=function(t,n){for(var e,r,i=this._handler.handlers(t),a=i.length;--a>=0;)if(r=i[a].type,e=i[a].handler,t===r&&(n===e||n===e.raw)){this._handler.off(r,e);break}return this},XD.addResizeListener=function(t){var n=this._resizeListeners;return n.indexOf(t)<0&&n.push(t),this},XD.removeResizeListener=function(t){var n=this._resizeListeners,e=n.indexOf(t);return e>=0&&n.splice(e,1),this},XD.addSignalListener=function(t,n){return QD(this,t,ZD(this,t),n)},XD.removeSignalListener=function(t,n){return KD(this,ZD(this,t),n)},XD.addDataListener=function(t,n){return QD(this,t,hk(this,t).values,n)},XD.removeDataListener=function(t,n){return KD(this,hk(this,t).values,n)},XD.preventDefault=function(t){return arguments.length?(this._preventDefault=t,this):this._preventDefault},XD.timer=function(t,n){this._timers.push(function(t,n,e){var r=new hw,i=n;return null==n?(r.restart(t,n,e),r):(n=+n,e=null==e?cw():+e,r.restart(function a(u){u+=i,r.restart(a,i+=n,e),t(u)},n,e),r)}(function(n){t({timestamp:Date.now(),elapsed:n})},n))},XD.events=function(t,n,e){var r,i=this,a=new It(e),u=function(e,r){i.runAsync(null,()=>{t===yk&&function(t,n){var e=t._eventConfig.defaults,r=e&&e.prevent,i=e&&e.allow;return!1!==r&&!0!==i&&(!0===r||!1===i||(r?r[n]:i?!i[n]:t.preventDefault()))}(i,n)&&e.preventDefault(),a.receive(vk(i,e,r))})};if(t===xk)i.timer(u,n);else if(t===yk)i.addEventListener(n,u,bk);else if(t===_k?"undefined"!=typeof window&&(r=[window]):"undefined"!=typeof document&&(r=document.querySelectorAll(t)),r){for(var o=0,s=r.length;o=0;)i[t].stop();for(t=a.length;--t>=0;)for(n=(e=a[t]).sources.length;--n>=0;)e.sources[n].removeEventListener(e.type,e.handler);return r&&r.call(this,this._handler,null,null,null),this},XD.hover=function(t,n){return n=[n||"update",(t=[t||"hover"])[0]],this.on(this.events("view","mouseover",wk),Ak,Mk(t)),this.on(this.events("view","mouseout",wk),Ak,Mk(n)),this},XD.data=function(t){return hk(this,t).values.value},XD.change=dk,XD.insert=function(t,n){return dk.call(this,t,zt().insert(n))},XD.remove=function(t,n){return dk.call(this,t,zt().remove(n))},XD.scale=function(t){var n=this._runtime.scales;return n.hasOwnProperty(t)||i("Unrecognized scale or projection: "+t),n[t].value},XD.initialize=function(t,n){var e,r,i=this,a=i._renderType,u=Mf(a);return t=i._el=t?qk(i,t):null,u||i.error("Unrecognized renderer type: "+a),e=u.handler||Lc,r=t?u.renderer:u.headless,i._renderer=r?Pk(i,i._renderer,t,r):null,i._handler=function(t,n,e,r){var i=new r(t.loader(),Lk(t,t.tooltip())).scene(t.scenegraph().root).initialize(e,mk(t),t);return n&&n.handlers().forEach(function(t){i.on(t.type,t.handler)}),i}(i,i._handler,t,e),i._redraw=!0,t&&(n=n?i._elBind=qk(i,n):t.appendChild(kk("div",{class:"vega-bindings"})),i._bind.forEach(function(t){t.param.element&&(t.element=qk(i,t.param.element))}),i._bind.forEach(function(t){Sk(i,t.element||n,t)})),i},XD.toImageURL=async function(t,n){t!==wf.Canvas&&t!==wf.SVG&&t!==wf.PNG&&i("Unrecognized image type: "+t);const e=await Uk(this,t,n);return t===wf.SVG?(r=e.svg(),a=new Blob([r],{type:"image/svg+xml"}),window.URL.createObjectURL(a)):e.canvas().toDataURL("image/png");var r,a},XD.toCanvas=async function(t,n){return(await Uk(this,wf.Canvas,t,n)).canvas()},XD.toSVG=async function(t){return(await Uk(this,wf.SVG,t)).svg()},XD.getState=function(t){return this._runtime.getState(t||{data:ID,signals:WD,recurse:!0})},XD.setState=function(t){return this.runAsync(null,n=>{n._trigger=!1,n._runtime.setState(t)},t=>{t._trigger=!0}),this};var nF="outer",eF=["value","update","init","react","bind"];function rF(t,n){i(t+' for "outer" push: '+l(n))}function iF(t,n){var e=t.name;if(t.push===nF)n.signals[e]||rF("No prior signal definition",e),eF.forEach(function(n){void 0!==t[n]&&rF("Invalid property ",n)});else{var r=n.addSignal(e,t.value);!1===t.react&&(r.react=!1),t.bind&&n.addBinding(e,t.bind)}}function aF(t,n,e){var r,a,u={};try{r=function(t){Ik=0,Wk=($k=t).length,Hk=null,rC();var n=DC();if(Hk.type!==uE)throw new Error("Unexpect token after expression.");return n}(t=s(t)?t:l(t)+"")}catch(n){i("Expression parse error: "+t)}return r.visit(function(t){if(t.type===Qk){var e=t.callee.name,r=bD.visitors[e];r&&r(e,t.arguments,n,u)}}),(a=wD(r)).globals.forEach(function(t){var e=fD+t;!u.hasOwnProperty(e)&&n.getSignal(t)&&(u[e]=n.signalRef(t))}),{$expr:e?e+"return("+a.code+");":a.code,$fields:a.fields,$params:u}}function uF(t,n,e,r){this.id=-1,this.type=t,this.value=n,this.params=e,r&&(this.parent=r)}function oF(t,n,e,r){return new uF(t,n,e,r)}function sF(t,n){return oF("operator",t,n)}function lF(t){var n={$ref:t.id};return t.id<0&&(t.refs=t.refs||[]).push(n),n}var cF={$tupleid:1,toString:function(){return":_tupleid_:"}};function fF(t,n){return n?{$field:t,$name:n}:{$field:t}}var hF=fF("key");function dF(t,n){return{$compare:t,$order:n}}var pF="descending";function gF(t,n){return(t&&t.signal?"$"+t.signal:t||"")+(t&&n?"_":"")+(n&&n.signal?"$"+n.signal:n||"")}var mF="scope",vF="view";function yF(t){return t&&t.signal}function xF(t){if(yF(t))return!0;if(o(t))for(var n in t)if(xF(t[n]))return!0;return!1}function _F(t,n){return null!=t?t:n}function bF(t){return t&&t.signal||t}var wF="timer";function AF(t,n){return(t.merge?MF:t.stream?kF:t.type?EF:i("Invalid stream specification: "+l(t)))(t,n)}function MF(t,n){var e=CF({merge:t.merge.map(t=>AF(t,n))},t,n);return n.addStream(e).id}function kF(t,n){var e=CF({stream:AF(t.stream,n)},t,n);return n.addStream(e).id}function EF(t,n){var e,r,i;return t.type===wF?(e=n.event(wF,t.throttle),t={between:t.between,filter:t.filter}):e=n.event((i=t.source)===mF?vF:i||vF,t.type),r=CF({stream:e},t,n),1===Object.keys(r).length?e:n.addStream(r).id}function CF(t,n,e){var r,a,u,o,s=n.between;return s&&(2!==s.length&&i('Stream "between" parameter must have 2 entries: '+l(n)),t.between=[AF(s[0],e),AF(s[1],e)]),s=n.filter?[].concat(n.filter):[],(n.marktype||n.markname||n.markrole)&&s.push((r=n.marktype,a=n.markname,u=n.markrole,(o="event.item")+(r&&"*"!==r?"&&"+o+".mark.marktype==='"+r+"'":"")+(u?"&&"+o+".mark.role==='"+u+"'":"")+(a?"&&"+o+".mark.name==='"+a+"'":""))),n.source===mF&&s.push("inScope(event.item)"),s.length&&(t.filter=aF("("+s.join(")&&(")+")").$expr),null!=(s=n.throttle)&&(t.throttle=+s),null!=(s=n.debounce)&&(t.debounce=+s),n.consume&&(t.consume=!0),t}var DF,FF,SF="view",BF="[",OF="]",zF="{",NF="}",TF=":",RF=",",PF="@",LF=">",qF=/[[\]{}]/,UF={"*":1,arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1};function jF(t,n,e,r,i){for(var a,u=0,o=t.length;n=0?--u:r&&r.indexOf(a)>=0&&++u}return n}function $F(t){for(var n=[],e=0,r=t.length,i=0;i' after between selector: "+t;if(n=n.map(IF),(e=IF(t.slice(1).trim())).between)return{between:n,stream:e};e.between=n;return e}(t):function(t){var n,e,r={source:DF},i=[],a=[0,0],u=0,o=0,s=t.length,l=0;if(t[s-1]===NF){if(!((l=t.lastIndexOf(zF))>=0))throw"Unmatched right brace: "+t;try{a=function(t){var n=t.split(RF);if(!t.length||n.length>2)throw t;return n.map(function(n){var e=+n;if(e!=e)throw t;return e})}(t.substring(l+1,s-1))}catch(n){throw"Invalid throttle specification: "+t}t=t.slice(0,l).trim(),s=t.length,l=0}if(!s)throw t;t[0]===PF&&(u=++l);(n=jF(t,l,TF))1?(r.type=i[1],u?r.markname=i[0].slice(1):(c=i[0],FF.hasOwnProperty(c)?r.marktype=i[0]:r.source=i[0])):r.type=i[0];var c;"!"===r.type.slice(-1)&&(r.consume=!0,r.type=r.type.slice(0,-1));null!=e&&(r.filter=e);a[0]&&(r.throttle=a[0]);a[1]&&(r.debounce=a[1]);return r}(t)}var WF="var datum=event.item&&event.item.datum;";function HF(t,n,e){var r=t.events,a=t.update,u=t.encode,o=[],c={target:e};r||i("Signal update missing events specification."),s(r)&&(r=function(t,n,e){return DF=n||SF,FF=e||UF,$F(t.trim()).map(IF)}(r,n.isSubscope()?mF:vF)),r=W(r).filter(t=>t.signal||t.scale?(o.push(t),0):1),o.length>1&&(o=[YF(o)]),r.length&&o.push(r.length>1?{merge:r}:r[0]),null!=u&&(a&&i("Signal encode and update are mutually exclusive."),a="encode(item(),"+l(u)+")"),c.update=s(a)?aF(a,n,WF):null!=a.expr?aF(a.expr,n,WF):null!=a.value?a.value:null!=a.signal?{$expr:"_.value",$params:{value:n.signalRef(a.signal)}}:i("Invalid signal update specification."),t.force&&(c.options={force:!0}),o.forEach(function(t){n.addUpdate(Z(function(t,n){return{source:t.signal?n.signalRef(t.signal):t.scale?n.scaleRef(t.scale):AF(t,n)}}(t,n),c))})}function YF(t){return{signal:"["+t.map(t=>t.scale?'scale("'+t.scale+'")':t.signal)+"]"}}function GF(t){return function(n,e,r){return oF(t,e,n||void 0,r)}}var VF=GF("aggregate"),XF=GF("axisticks"),ZF=GF("bound"),JF=GF("collect"),QF=GF("compare"),KF=GF("datajoin"),tS=GF("encode"),nS=GF("expression"),eS=GF("facet"),rS=GF("field"),iS=GF("key"),aS=GF("legendentries"),uS=GF("load"),oS=GF("mark"),sS=GF("multiextent"),lS=GF("multivalues"),cS=GF("overlap"),fS=GF("params"),hS=GF("prefacet"),dS=GF("projection"),pS=GF("proxy"),gS=GF("relay"),mS=GF("render"),vS=GF("scale"),yS=GF("sieve"),xS=GF("sortitems"),_S=GF("viewlayout"),bS=GF("values"),wS=0;function AS(t,n){var e=t.type||"linear";(function(t){switch(t){case xh:case _h:case bh:case wh:case Ah:case Mh:case kh:case Eh:case Ch:case Fh:case Sh:case Bh:case Oh:case zh:case Nh:case Th:return!0}return!1})(e)||i("Unrecognized scale type: "+l(e)),n.addScale(t.name,{type:e,domain:void 0})}function MS(t,n){var e,r,a=n.getScale(t.name).params;for(e in a.domain=DS(t.domain,t,n),null!=t.range&&(a.range=function t(n,e,r){var a=n.range,o=e.config.range;if(a.signal)return e.signalRef(a.signal);if(s(a)){if(o&&o.hasOwnProperty(a))return n=Z({},n,{range:o[a]}),t(n,e,r);"width"===a?a=[0,{signal:"width"}]:"height"===a?a=Uh(n.type)?[0,{signal:"height"}]:[{signal:"height"},0]:i("Unrecognized scale range value: "+l(a))}else{if(a.scheme)return r.scheme=u(a.scheme)?ES(a.scheme,e):kS(a.scheme,e),a.extent&&(r.schemeExtent=ES(a.extent,e)),void(a.count&&(r.schemeCount=kS(a.count,e)));if(a.step)return void(r.rangeStep=kS(a.step,e));if(Uh(n.type)&&!u(a))return DS(a,n,e);u(a)||i("Unsupported range type: "+l(a))}return a.map(t=>(u(t)?ES:kS)(t,e))}(t,n,a)),null!=t.interpolate&&function(t,n){n.interpolate=kS(t.type||t),null!=t.gamma&&(n.interpolateGamma=kS(t.gamma))}(t.interpolate,a),null!=t.nice&&(a.nice=o(r=t.nice)?{interval:kS(r.interval),step:kS(r.step)}:kS(r)),null!=t.bins&&(a.bins=function(t,n){return t.signal||u(t)?ES(t,n):n.objectProperty(t)}(t.bins,n)),t)a.hasOwnProperty(e)||"name"===e||(a[e]=kS(t[e],n))}function kS(t,n){return o(t)?t.signal?n.signalRef(t.signal):i("Unsupported object: "+l(t)):t}function ES(t,n){return t.signal?n.signalRef(t.signal):t.map(t=>kS(t,n))}function CS(t){i("Can not find data set: "+l(t))}function DS(t,n,e){if(t)return t.signal?e.signalRef(t.signal):(u(t)?function(t,n,e){return t.map(function(t){return kS(t,e)})}:t.fields?function(t,n,e){var r=t.data,i=t.fields.reduce(function(t,n){return n=s(n)?{data:r,field:n}:u(n)||n.signal?function(t,n){var e="_:vega:_"+wS++,r=JF({});if(u(t))r.value={$ingest:t};else if(t.signal){var i="setdata("+l(e)+","+t.signal+")";r.params.input=n.signalRef(i)}return n.addDataPipeline(e,[r,yS({})]),{data:e,field:"data"}}(n,e):n,t.push(n),t},[]);return(Uh(n.type)?function(t,n,e){var r,i,a,u;return r=e.map(function(t){var e=n.getData(t.data);return e||CS(t.data),e.countsRef(n,t.field)}),i=n.add(VF({groupby:hF,ops:["sum"],fields:[n.fieldRef("count")],as:["count"],pulse:r})),a=n.add(JF({pulse:lF(i)})),u=n.add(bS({field:hF,sort:n.sortRef(FS(t.sort,!0)),pulse:lF(a)})),lF(u)}:Rh(n.type)?function(t,n,e){var r=e.map(function(t){var e=n.getData(t.data);return e||CS(t.data),e.domainRef(n,t.field)});return lF(n.add(lS({values:r})))}:function(t,n,e){var r=e.map(function(t){var e=n.getData(t.data);return e||CS(t.data),e.extentRef(n,t.field)});return lF(n.add(sS({extents:r})))})(t,e,i)}:function(t,n,e){var r=e.getData(t.data);r||CS(t.data);return Uh(n.type)?r.valuesRef(e,t.field,FS(t.sort,!1)):Rh(n.type)?r.domainRef(e,t.field):r.extentRef(e,t.field)})(t,n,e);null==n.domainMin&&null==n.domainMax||i("No scale domain defined for domainMin/domainMax to override.")}function FS(t,n){return t&&(t.field||t.op?t.field||"count"===t.op?n&&t.field?i("Multiple domain scales can not sort by field."):n&&t.op&&"count"!==t.op&&i("Multiple domain scales support op count only."):i("No field provided for sort aggregate op: "+t.op):o(t)?t.field="key":t={field:"key"}),t}function SS(t,n,e){return u(t)?t.map(function(t){return SS(t,n,e)}):o(t)?t.signal?e.signalRef(t.signal):"fit"===n?t:i("Unsupported parameter object: "+l(t)):t}const BS="top",OS="left",zS="right",NS="bottom",TS="vertical",RS="start",PS="end",LS="index",qS="label",US="offset",jS="perc",$S="perc2",IS="size",WS="value",HS="guide-label",YS="guide-title",GS="group-title",VS="symbol",XS="gradient",ZS="discrete",JS=["size","shape","fill","stroke","strokeWidth","strokeDash","opacity"],QS={name:1,interactive:1},KS={value:0},tB={value:1};var nB=yt(["rule"]),eB=yt(["group","image","rect"]);function rB(t,n,e,r){var i=aF(t,n);return i.$fields.forEach(function(t){r[t]=1}),Z(e,i.$params),i.$expr}function iB(t,n,e,r){return function t(n,e,r,u){var o,c,f;if(n.signal)o="datum",f=rB(n.signal,e,r,u);else if(n.group||n.parent){for(c=Math.max(1,n.level||1),o="item";c-- >0;)o+=".mark.group";n.parent?(f=n.parent,o+=".datum"):f=n.group}else n.datum?(o="datum",f=n.datum):i("Invalid field reference: "+l(n));n.signal||(s(f)?(u[f]=1,f=a(f).map(l).join("][")):f=t(f,e,r,u));return o+"["+f+"]"}(o(t)?t:{datum:t},n,e,r)}function aB(t,n,e,r,i){var a,u,o,l=uB(t.scale,e,r,i);return null!=t.range?(u=l+".range()",n=0===(a=+t.range)?u+"[0]":"($="+u+","+(1===a?"$[$.length-1]":"$[0]+"+a+"*($[$.length-1]-$[0])")+")"):(void 0!==n&&(n=l+"("+n+")"),t.band&&(o=function(t,n){if(!s(t))return-1;var e=n.scaleType(t);return"band"===e||"point"===e?1:0}(t.scale,e))&&(a=(u=l+".bandwidth")+"()"+(1===(a=+t.band)?"":"*"+a),o<0&&(a="("+u+"?"+a+":0)"),n=(n?n+"+":"")+a,t.extra&&(n="(datum.extra?"+l+"(datum.extra.value):"+n+")")),null==n&&(n="0")),n}function uB(t,n,e,r){var i;if(s(t))i=cD+t,e.hasOwnProperty(i)||(e[i]=n.scaleRef(t)),i=l(i);else{for(i in n.scales)e[cD+i]=n.scaleRef(i);i=l(cD)+"+"+(t.signal?"("+rB(t.signal,n,e,r)+")":iB(t,n,e,r))}return"_["+i+"]"}function oB(t,n,e,r){return o(t)?"("+sB(null,t,n,e,r)+")":t}function sB(t,n,e,r,i){if(null!=n.gradient)return function(t,n,e,r){return"this.gradient("+uB(t.gradient,n,e,r)+","+l(t.start)+","+l(t.stop)+","+l(t.count)+")"}(n,e,r,i);var a=n.signal?rB(n.signal,e,r,i):n.color?function(t,n,e,r){function i(t,i,a,u){return"this."+t+"("+[sB(null,i,n,e,r),sB(null,a,n,e,r),sB(null,u,n,e,r)].join(",")+").toString()"}return t.c?i("hcl",t.h,t.c,t.l):t.h||t.s?i("hsl",t.h,t.s,t.l):t.l||t.a?i("lab",t.l,t.a,t.b):t.r||t.g||t.b?i("rgb",t.r,t.g,t.b):null}(n.color,e,r,i):null!=n.field?iB(n.field,e,r,i):void 0!==n.value?l(n.value):void 0;return null!=n.scale&&(a=aB(n,a,e,r,i)),void 0===a&&(a=null),null!=n.exponent&&(a="Math.pow("+a+","+oB(n.exponent,e,r,i)+")"),null!=n.mult&&(a+="*"+oB(n.mult,e,r,i)),null!=n.offset&&(a+="+"+oB(n.offset,e,r,i)),n.round&&(a="Math.round("+a+")"),a}function lB(t,n,e){const r=t+"["+l(n)+"]";return`$=${e};if(${r}!==$)${r}=$,m=1;`}function cB(t,n,e,r,i){var a="";return n.forEach(function(t){var n=sB(0,t,e,r,i);a+=t.test?rB(t.test,e,r,i)+"?"+n+":":n}),":"===k(a)&&(a+="null"),lB("o",t,a)}function fB(t,n,e,r){var i,a,o={},s="var o=item,datum=o.datum,m=0,$;";for(i in t)a=t[i],u(a)?s+=cB(i,a,r,e,o):s+=lB("o",i,sB(0,a,r,e,o));return s+=function(t,n){var e="";return nB[n]?e:(t.x2&&(t.x?(eB[n]&&(e+="if(o.x>o.x2)$=o.x,o.x=o.x2,o.x2=$;"),e+="o.width=o.x2-o.x;"):e+="o.x=o.x2-(o.width||0);"),t.xc&&(e+="o.x=o.xc-(o.width||0)/2;"),t.y2&&(t.y?(eB[n]&&(e+="if(o.y>o.y2)$=o.y,o.y=o.y2,o.y2=$;"),e+="o.height=o.y2-o.y;"):e+="o.y=o.y2-(o.height||0);"),t.yc&&(e+="o.y=o.yc-(o.height||0)/2;"),e)}(t,n),{$expr:s+="return m;",$fields:Object.keys(o),$output:Object.keys(t)}}var hB="mark",dB="frame",pB="scope",gB="axis",mB="axis-domain",vB="axis-grid",yB="axis-label",xB="axis-tick",_B="axis-title",bB="legend",wB="legend-band",AB="legend-entry",MB="legend-gradient",kB="legend-label",EB="legend-symbol",CB="legend-title",DB="title";function FB(t){return o(t)?Z({},t):{value:t}}function SB(t,n,e,r){return null!=e?(o(e)&&!u(e)?t.update[n]=e:t[r||"enter"][n]={value:e},1):0}function BB(t,n,e){for(let e in n)SB(t,e,n[e]);for(let n in e)SB(t,n,e[n],"update")}function OB(t,n,e){for(var r in n)e&&e.hasOwnProperty(r)||(t[r]=Z(t[r]||{},n[r]));return t}function zB(t,n,e,r,i,a){var u,o;for(o in(a=a||{}).encoders={$encode:u={}},t=function(t,n,e,r,i){var a,u,o={};"legend"!=e&&0!==String(e).indexOf("axis")||(e=null);for(a in u=e===dB?i.group:e===hB?Z({},i.mark,i[n]):null)TB(a,t)||("fill"===a||"stroke"===a)&&(TB("fill",t)||TB("stroke",t))||(o[a]=NB(u[a]));return W(r).forEach(function(n){var e=i.style&&i.style[n];for(var r in e)TB(r,t)||(o[r]=NB(e[r]))}),(t=Z({},t)).enter=Z(o,t.enter),t}(t,n,e,r,i.config))u[o]=fB(t[o],n,a,i);return a}function NB(t){return t&&t.signal?{signal:t.signal}:{value:t}}function TB(t,n){return n&&(n.enter&&n.enter[t]||n.update&&n.update[t])}function RB(t,n,e,r,i,a,u){return{type:t,name:u?u.name:void 0,role:n,style:u&&u.style||e,key:r,from:i,interactive:!(!u||!u.interactive),encode:OB(a,u,QS)}}function PB(t,n){const e=e=>_F(t[e],n[e]);return e.isVertical=(e=>TS===_F(t.direction,n.direction||(e?n.symbolDirection:n.gradientDirection))),e.gradientLength=(()=>_F(t.gradientLength,n.gradientLength||n.gradientWidth)),e.gradientThickness=(()=>_F(t.gradientThickness,n.gradientThickness||n.gradientHeight)),e.entryColumns=(()=>_F(t.columns,_F(n.columns,+e.isVertical(!0)))),e}function LB(t,n){var e=n&&(n.update&&n.update[t]||n.enter&&n.enter[t]);return e&&e.signal?e:e?e.value:null}function qB(t,n,e){return`item.anchor === "${RS}" ? ${t} : item.anchor === "${PS}" ? ${n} : ${e}`}const UB=qB(l(OS),l(zS),l("center"));var jB="group",$B="rect",IB="rule",WB="symbol",HB="text";function YB(t,n,e,r){var i,a,u,o,s,l,c=PB(t,e),f=c.isVertical(),h=c.gradientThickness(),d=c.gradientLength();return f?(u=[0,1],o=[0,0],s=h,l=d):(u=[0,0],o=[1,0],s=d,l=h),BB(i={enter:a={opacity:KS,x:KS,y:KS,width:FB(s),height:FB(l)},update:Z({},a,{opacity:tB,fill:{gradient:n,start:u,stop:o}}),exit:{opacity:KS}},{stroke:c("gradientStrokeColor"),strokeWidth:c("gradientStrokeWidth")},{opacity:c("gradientOpacity")}),RB($B,MB,null,void 0,void 0,i,r)}function GB(t,n,e,r,i){var a,u,o,s,l,c,f=PB(t,e),h=f.isVertical(),d=f.gradientThickness(),p=f.gradientLength(),g="";return h?(o="y",l="y2",s="x",c="width",g="1-"):(o="x",l="x2",s="y",c="height"),(u={opacity:KS,fill:{scale:n,field:WS}})[o]={signal:g+"datum."+jS,mult:p},u[s]=KS,u[l]={signal:g+"datum."+$S,mult:p},u[c]=FB(d),BB(a={enter:u,update:Z({},u,{opacity:tB}),exit:{opacity:KS}},{stroke:f("gradientStrokeColor"),strokeWidth:f("gradientStrokeWidth")},{opacity:f("gradientOpacity")}),RB($B,wB,null,WS,i,a,r)}const VB=`datum.${jS}<=0?"${OS}":datum.${jS}>=1?"${zS}":"center"`,XB=`datum.${jS}<=0?"${NS}":datum.${jS}>=1?"${BS}":"middle"`;function ZB(t,n,e,r){var i,a,u,o,s,l=PB(t,n),c=l.isVertical(),f=FB(l.gradientThickness()),h=l.gradientLength(),d=l("labelOverlap"),p=l("labelSeparation"),g="";return BB(i={enter:a={opacity:KS},update:u={opacity:tB,text:{field:qS}},exit:{opacity:KS}},{fill:l("labelColor"),fillOpacity:l("labelOpacity"),font:l("labelFont"),fontSize:l("labelFontSize"),fontStyle:l("labelFontStyle"),fontWeight:l("labelFontWeight"),limit:_F(t.labelLimit,n.gradientLabelLimit)}),c?(a.align={value:"left"},a.baseline=u.baseline={signal:XB},o="y",s="x",g="1-"):(a.align=u.align={signal:VB},a.baseline={value:"top"},o="x",s="y"),a[o]=u[o]={signal:g+"datum."+jS,mult:h},a[s]=u[s]=f,f.offset=_F(t.labelOffset,n.gradientLabelOffset)||0,t=RB(HB,kB,HS,WS,r,i,e),d&&(t.overlap={separation:p,method:d,order:"datum."+LS}),t}function JB(t,n,e,r,i,a,u,o){return{type:jB,name:e,role:t,style:n,from:r,interactive:i||!1,encode:a,marks:u,layout:o}}function QB(t,n,e,r,i){var a,u,o,s,l,c,f,h=PB(t,n),d=e.entries,p=!(!d||!d.interactive),g=d?d.name:void 0,m=h("clipHeight"),v=h("symbolOffset"),y={data:"value"},x={},_=`${i} ? datum.${US} : datum.${IS}`,b=m?FB(m):{field:IS},w=`datum.${LS}`,A=`max(1, ${i})`;return b.mult=.5,x={enter:a={opacity:KS,x:{signal:_,mult:.5,offset:v},y:b},update:u={opacity:tB,x:a.x,y:a.y},exit:{opacity:KS}},t.fill||BB(x,{fill:n.symbolBaseFillColor,stroke:n.symbolBaseStrokeColor}),BB(x,{fill:h("symbolFillColor"),shape:h("symbolType"),size:h("symbolSize"),stroke:h("symbolStrokeColor"),strokeDash:h("symbolDash"),strokeDashOffset:h("symbolDashOffset"),strokeWidth:h("symbolStrokeWidth")},{opacity:h("symbolOpacity")}),JS.forEach(function(n){t[n]&&(u[n]=a[n]={scale:t[n],field:WS})}),s=RB(WB,EB,null,WS,y,x,e.symbols),m&&(s.clip=!0),(o=FB(v)).offset=h("labelOffset"),BB(x={enter:a={opacity:KS,x:{signal:_,offset:o},y:b},update:u={opacity:tB,text:{field:qS},x:a.x,y:a.y},exit:{opacity:KS}},{align:h("labelAlign"),baseline:h("labelBaseline"),fill:h("labelColor"),fillOpacity:h("labelOpacity"),font:h("labelFont"),fontSize:h("labelFontSize"),fontStyle:h("labelFontStyle"),fontWeight:h("labelFontWeight"),limit:h("labelLimit")}),l=RB(HB,kB,HS,WS,y,x,e.labels),x={enter:{noBound:{value:!m},width:KS,height:m?FB(m):KS,opacity:KS},exit:{opacity:KS},update:u={opacity:tB,row:{signal:null},column:{signal:null}}},h.isVertical(!0)?(c=`ceil(item.mark.items.length / ${A})`,u.row.signal=`${w}%${c}`,u.column.signal=`floor(${w} / ${c})`,f={field:["row",w]}):(u.row.signal=`floor(${w} / ${A})`,u.column.signal=`${w} % ${A}`,f={field:w}),u.column.signal=`${i}?${u.column.signal}:${w}`,(t=JB(pB,null,g,r={facet:{data:r,name:"value",groupby:LS}},p,OB(x,d,QS),[s,l])).sort=f,t}const KB='item.orient === "left"',tO='item.orient === "right"',nO=`(${KB} || ${tO})`,eO=`datum.vgrad && ${nO}`,rO=qB('"top"','"bottom"','"middle"'),iO=`datum.vgrad && ${tO} ? (${qB('"right"','"left"','"center"')}) : (${nO} && !(datum.vgrad && ${KB})) ? "left" : ${UB}`,aO=`item._anchor || (${nO} ? "middle" : "start")`,uO=`${eO} ? (${KB} ? -90 : 90) : 0`,oO=`${nO} ? (datum.vgrad ? (${tO} ? "bottom" : "top") : ${rO}) : "top"`;function sO(t,n){var e;return o(t)&&(t.signal?e=t.signal:t.path?e="pathShape("+lO(t.path)+")":t.sphere&&(e="geoShape("+lO(t.sphere)+', {type: "Sphere"})')),e?n.signalRef(e):!!t}function lO(t){return o(t)&&t.signal?t.signal:l(t)}function cO(t){var n=t.role||"";return n.indexOf("axis")&&n.indexOf("legend")?t.type===jB?pB:n||hB:n}function fO(t){return{marktype:t.type,name:t.name||void 0,role:t.role||cO(t),zindex:+t.zindex||void 0}}function hO(t,n){return t&&t.signal?n.signalRef(t.signal):!1!==t}function dO(t,n){var e=Hr(t.type);e||i("Unrecognized transform type: "+l(t.type));var r=oF(e.type.toLowerCase(),null,pO(e,t,n));return t.signal&&n.addSignal(t.signal,n.proxy(r)),r.metadata=e.metadata||{},r}function pO(t,n,e){var r,i,a,u={};for(i=0,a=t.params.length;i0?",":"")+(o(n)?n.signal||GO(n):l(n));return e+"]"}:function(t){var n,e,r="{",i=0;for(n in t)e=t[n],r+=(++i>1?",":"")+l(n)+":"+(o(e)?e.signal||GO(e):l(e));return r+"}"})(t)}function VO(t){return(t||[]).reduce((t,n)=>{for(var e in n){var r="legend"===e?{layout:1}:"style"===e||null;XO(t,e,n[e],r)}return t},{padding:0,autosize:"pad",background:null,events:{defaults:{allow:["wheel"]}},group:null,mark:null,arc:{fill:KO},area:{fill:KO},image:null,line:{stroke:KO,strokeWidth:QO},path:{stroke:KO},rect:{fill:KO},rule:{stroke:tz},shape:{stroke:KO},symbol:{fill:KO,size:64},text:{fill:tz,font:ZO,fontSize:11},style:{"guide-label":{fill:tz,font:ZO,fontSize:10},"guide-title":{fill:tz,font:ZO,fontSize:11,fontWeight:"bold"},"group-title":{fill:tz,font:ZO,fontSize:13,fontWeight:"bold"},point:{size:JO,strokeWidth:QO,shape:"circle"},circle:{size:JO,strokeWidth:QO},square:{size:JO,strokeWidth:QO,shape:"square"},cell:{fill:"transparent",stroke:ez}},title:{orient:"top",anchor:"middle",offset:4},axis:{minExtent:0,maxExtent:200,bandPosition:.5,domain:!0,domainWidth:1,domainColor:nz,grid:!1,gridWidth:1,gridColor:ez,labels:!0,labelAngle:0,labelLimit:180,labelPadding:2,ticks:!0,tickColor:nz,tickOffset:0,tickRound:!0,tickSize:5,tickWidth:1,titlePadding:4},axisBand:{tickOffset:-1},legend:{orient:"right",padding:0,gridAlign:"each",columnPadding:10,rowPadding:2,symbolDirection:"vertical",gradientDirection:"vertical",gradientLength:200,gradientThickness:16,gradientStrokeColor:ez,gradientStrokeWidth:0,gradientLabelOffset:2,labelAlign:"left",labelBaseline:"middle",labelLimit:160,labelOffset:4,labelOverlap:!0,symbolType:"circle",symbolSize:100,symbolOffset:0,symbolStrokeWidth:1.5,symbolBaseFillColor:"transparent",symbolBaseStrokeColor:nz,titleLimit:180,titleOrient:"top",titlePadding:5,layout:{offset:18,direction:"horizontal",left:{direction:"vertical"},right:{direction:"vertical"}}},range:{category:{scheme:"tableau10"},ordinal:{scheme:"blues"},heatmap:{scheme:"yellowgreenblue"},ramp:{scheme:"blues"},diverging:{scheme:"blueorange",extent:[1,0]},symbol:["circle","square","triangle-up","cross","diamond","triangle-right","triangle-down","triangle-left"]}})}function XO(t,n,e,r){var i,a;if(o(e)&&!u(e))for(i in a=o(t[n])?t[n]:t[n]={},e)r&&(!0===r||r[i])?XO(a,i,e[i]):a[i]=e[i];else t[n]=e}YO.fork=function(){return new HO(this)},YO.isSubscope=function(){return this._subid>0},YO.toRuntime=function(){return this.finish(),{background:this.background,operators:this.operators,streams:this.streams,updates:this.updates,bindings:this.bindings,eventConfig:this.eventConfig}},YO.id=function(){return(this._subid?this._subid+":":0)+this._id++},YO.add=function(t){return this.operators.push(t),t.id=this.id(),t.refs&&(t.refs.forEach(function(n){n.$ref=t.id}),t.refs=null),t},YO.proxy=function(t){var n=t instanceof uF?lF(t):t;return this.add(pS({value:n}))},YO.addStream=function(t){return this.streams.push(t),t.id=this.id(),t},YO.addUpdate=function(t){return this.updates.push(t),t},YO.finish=function(){var t,n;for(t in this.root&&(this.root.root=!0),this.signals)this.signals[t].signal=t;for(t in this.scales)this.scales[t].scale=t;function e(t,n,e){var r;t&&((r=t.data||(t.data={}))[n]||(r[n]=[])).push(e)}for(t in this.data)for(var r in e((n=this.data[t]).input,t,"input"),e(n.output,t,"output"),e(n.values,t,"values"),n.index)e(n.index[r],t,"index:"+r);return this},YO.pushState=function(t,n,e){this._encode.push(lF(this.add(yS({pulse:t})))),this._parent.push(n),this._lookup.push(e?lF(this.proxy(e)):null),this._markpath.push(-1)},YO.popState=function(){this._encode.pop(),this._parent.pop(),this._lookup.pop(),this._markpath.pop()},YO.parent=function(){return k(this._parent)},YO.encode=function(){return k(this._encode)},YO.lookup=function(){return k(this._lookup)},YO.markpath=function(){var t=this._markpath;return++t[t.length-1]},YO.fieldRef=function(t,n){if(s(t))return fF(t,n);t.signal||i("Unsupported field reference: "+l(t));var e,r=t.signal,a=this.field[r];return a||(e={name:this.signalRef(r)},n&&(e.as=n),this.field[r]=a=lF(this.add(rS(e)))),a},YO.compareRef=function(t,n){function e(t){return yF(t)?(i=!0,r.signalRef(t.signal)):function(t){return t&&t.expr}(t)?(i=!0,r.exprRef(t.expr)):t}var r=this,i=!1,a=W(t.field).map(e),u=W(t.order).map(e);return n&&a.push(cF),i?lF(this.add(QF({fields:a,orders:u}))):dF(a,u)},YO.keyRef=function(t,n){var e=this.signals,r=!1;return t=W(t).map(function(t){return yF(t)?(r=!0,lF(e[t.signal])):t}),r?lF(this.add(iS({fields:t,flat:n}))):function(t,n){var e={$key:t};return n&&(e.$flat=!0),e}(t,n)},YO.sortRef=function(t){if(!t)return t;var n=[gF(t.op,t.field),cF],e=t.order||"ascending";return e.signal?lF(this.add(QF({fields:n,orders:[e=this.signalRef(e.signal),e]}))):dF(n,[e,e])},YO.event=function(t,n){var e=t+":"+n;if(!this.events[e]){var r=this.id();this.streams.push({id:r,source:t,type:n}),this.events[e]=r}return this.events[e]},YO.addSignal=function(t,n){this.signals.hasOwnProperty(t)&&i("Duplicate signal name: "+l(t));var e=n instanceof uF?n:this.add(sF(n));return this.signals[t]=e},YO.getSignal=function(t){return this.signals[t]||i("Unrecognized signal name: "+l(t)),this.signals[t]},YO.signalRef=function(t){return this.signals[t]?lF(this.signals[t]):(this.lambdas.hasOwnProperty(t)||(this.lambdas[t]=this.add(sF(null))),lF(this.lambdas[t]))},YO.parseLambdas=function(){for(var t=Object.keys(this.lambdas),n=0,e=t.length;n=r&&t=i?1:(n-r+1)/a},u.icdf=function(t){return t>=0&&t<=1?r-1+Math.floor(t*a):NaN},u.min(n).max(e)},t.randomKDE=Ai,t.randomLCG=function(t){return function(){return(t=(1103515245*t+12345)%2147483647)/2147483647}},t.randomMixture=Mi,t.randomNormal=wi,t.randomUniform=ki,t.read=br,t.regressionExp=Oi,t.regressionLinear=Si,t.regressionLoess=Li,t.regressionLog=Bi,t.regressionPoly=Ti,t.regressionPow=zi,t.regressionQuad=Ni,t.renderModule=Mf,t.repeat=ft,t.resetSVGClipId=function(){Tl=1},t.responseType=Sn,t.runtime=OD,t.runtimeContext=ND,t.sampleCurve=$i,t.scale=Zg,t.sceneEqual=Of,t.sceneFromJSON=wc,t.scenePickVisit=wl,t.sceneToJSON=bc,t.sceneVisit=bl,t.sceneZOrder=_l,t.scheme=sm,t.setRandom=function(n){t.random=n},t.span=dt,t.splitAccessPath=a,t.stringValue=l,t.textMetrics=nc,t.timeFormatLocale=_r,t.timeInterval=Wh,t.toBoolean=pt,t.toDate=mt,t.toNumber=E,t.toSet=yt,t.toString=vt,t.transform=Yr,t.transforms=Wr,t.truncate=xt,t.truthy=m,t.tupleid=Et,t.typeParsers=tn,t.utcquarter=I,t.version="5.4.0",t.visitArray=_t,t.zero=p,t.zoomLinear=L,t.zoomLog=q,t.zoomPow=U,t.zoomSymlog=j,Object.defineProperty(t,"__esModule",{value:!0})});