Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

3 лет назад
1234567891011121314151617181920212223
  1. (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.reactVis=f()}})(function(){var define,module,exports;return function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r}()({1:[function(require,module,exports){var process=module.exports={};var cachedSetTimeout;var cachedClearTimeout;function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}(function(){try{if(typeof setTimeout==="function"){cachedSetTimeout=setTimeout}else{cachedSetTimeout=defaultSetTimout}}catch(e){cachedSetTimeout=defaultSetTimout}try{if(typeof clearTimeout==="function"){cachedClearTimeout=clearTimeout}else{cachedClearTimeout=defaultClearTimeout}}catch(e){cachedClearTimeout=defaultClearTimeout}})();function runTimeout(fun){if(cachedSetTimeout===setTimeout){return setTimeout(fun,0)}if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout){cachedSetTimeout=setTimeout;return setTimeout(fun,0)}try{return cachedSetTimeout(fun,0)}catch(e){try{return cachedSetTimeout.call(null,fun,0)}catch(e){return cachedSetTimeout.call(this,fun,0)}}}function runClearTimeout(marker){if(cachedClearTimeout===clearTimeout){return clearTimeout(marker)}if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout){cachedClearTimeout=clearTimeout;return clearTimeout(marker)}try{return cachedClearTimeout(marker)}catch(e){try{return cachedClearTimeout.call(null,marker)}catch(e){return cachedClearTimeout.call(this,marker)}}}var queue=[];var draining=false;var currentQueue;var queueIndex=-1;function cleanUpNextTick(){if(!draining||!currentQueue){return}draining=false;if(currentQueue.length){queue=currentQueue.concat(queue)}else{queueIndex=-1}if(queue.length){drainQueue()}}function drainQueue(){if(draining){return}var timeout=runTimeout(cleanUpNextTick);draining=true;var len=queue.length;while(len){currentQueue=queue;queue=[];while(++queueIndex<len){if(currentQueue){currentQueue[queueIndex].run()}}queueIndex=-1;len=queue.length}currentQueue=null;draining=false;runClearTimeout(timeout)}process.nextTick=function(fun){var args=new Array(arguments.length-1);if(arguments.length>1){for(var i=1;i<arguments.length;i++){args[i-1]=arguments[i]}}queue.push(new Item(fun,args));if(queue.length===1&&!draining){runTimeout(drainQueue)}};function Item(fun,array){this.fun=fun;this.array=array}Item.prototype.run=function(){this.fun.apply(null,this.array)};process.title="browser";process.browser=true;process.env={};process.argv=[];process.version="";process.versions={};function noop(){}process.on=noop;process.addListener=noop;process.once=noop;process.off=noop;process.removeListener=noop;process.removeAllListeners=noop;process.emit=noop;process.prependListener=noop;process.prependOnceListener=noop;process.listeners=function(name){return[]};process.binding=function(name){throw new Error("process.binding is not supported")};process.cwd=function(){return"/"};process.chdir=function(dir){throw new Error("process.chdir is not supported")};process.umask=function(){return 0}},{}],2:[function(require,module,exports){(function(process){"use strict";var _assign=require("object-assign");var emptyObject=require("fbjs/lib/emptyObject");var _invariant=require("fbjs/lib/invariant");if(process.env.NODE_ENV!=="production"){var warning=require("fbjs/lib/warning")}var MIXINS_KEY="mixins";function identity(fn){return fn}var ReactPropTypeLocationNames;if(process.env.NODE_ENV!=="production"){ReactPropTypeLocationNames={prop:"prop",context:"context",childContext:"child context"}}else{ReactPropTypeLocationNames={}}function factory(ReactComponent,isValidElement,ReactNoopUpdateQueue){var injectedMixins=[];var ReactClassInterface={mixins:"DEFINE_MANY",statics:"DEFINE_MANY",propTypes:"DEFINE_MANY",contextTypes:"DEFINE_MANY",childContextTypes:"DEFINE_MANY",getDefaultProps:"DEFINE_MANY_MERGED",getInitialState:"DEFINE_MANY_MERGED",getChildContext:"DEFINE_MANY_MERGED",render:"DEFINE_ONCE",componentWillMount:"DEFINE_MANY",componentDidMount:"DEFINE_MANY",componentWillReceiveProps:"DEFINE_MANY",shouldComponentUpdate:"DEFINE_ONCE",componentWillUpdate:"DEFINE_MANY",componentDidUpdate:"DEFINE_MANY",componentWillUnmount:"DEFINE_MANY",UNSAFE_componentWillMount:"DEFINE_MANY",UNSAFE_componentWillReceiveProps:"DEFINE_MANY",UNSAFE_componentWillUpdate:"DEFINE_MANY",updateComponent:"OVERRIDE_BASE"};var ReactClassStaticInterface={getDerivedStateFromProps:"DEFINE_MANY_MERGED"};var RESERVED_SPEC_KEYS={displayName:function(Constructor,displayName){Constructor.displayName=displayName},mixins:function(Constructor,mixins){if(mixins){for(var i=0;i<mixins.length;i++){mixSpecIntoComponent(Constructor,mixins[i])}}},childContextTypes:function(Constructor,childContextTypes){if(process.env.NODE_ENV!=="production"){validateTypeDef(Constructor,childContextTypes,"childContext")}Constructor.childContextTypes=_assign({},Constructor.childContextTypes,childContextTypes)},contextTypes:function(Constructor,contextTypes){if(process.env.NODE_ENV!=="production"){validateTypeDef(Constructor,contextTypes,"context")}Constructor.contextTypes=_assign({},Constructor.contextTypes,contextTypes)},getDefaultProps:function(Constructor,getDefaultProps){if(Constructor.getDefaultProps){Constructor.getDefaultProps=createMergedResultFunction(Constructor.getDefaultProps,getDefaultProps)}else{Constructor.getDefaultProps=getDefaultProps}},propTypes:function(Constructor,propTypes){if(process.env.NODE_ENV!=="production"){validateTypeDef(Constructor,propTypes,"prop")}Constructor.propTypes=_assign({},Constructor.propTypes,propTypes)},statics:function(Constructor,statics){mixStaticSpecIntoComponent(Constructor,statics)},autobind:function(){}};function validateTypeDef(Constructor,typeDef,location){for(var propName in typeDef){if(typeDef.hasOwnProperty(propName)){if(process.env.NODE_ENV!=="production"){warning(typeof typeDef[propName]==="function","%s: %s type `%s` is invalid; it must be a function, usually from "+"React.PropTypes.",Constructor.displayName||"ReactClass",ReactPropTypeLocationNames[location],propName)}}}}function validateMethodOverride(isAlreadyDefined,name){var specPolicy=ReactClassInterface.hasOwnProperty(name)?ReactClassInterface[name]:null;if(ReactClassMixin.hasOwnProperty(name)){_invariant(specPolicy==="OVERRIDE_BASE","ReactClassInterface: You are attempting to override "+"`%s` from your class specification. Ensure that your method names "+"do not overlap with React methods.",name)}if(isAlreadyDefined){_invariant(specPolicy==="DEFINE_MANY"||specPolicy==="DEFINE_MANY_MERGED","ReactClassInterface: You are attempting to define "+"`%s` on your component more than once. This conflict may be due "+"to a mixin.",name)}}function mixSpecIntoComponent(Constructor,spec){if(!spec){if(process.env.NODE_ENV!=="production"){var typeofSpec=typeof spec;var isMixinValid=typeofSpec==="object"&&spec!==null;if(process.env.NODE_ENV!=="production"){warning(isMixinValid,"%s: You're attempting to include a mixin that is either null "+"or not an object. Check the mixins included by the component, "+"as well as any mixins they include themselves. "+"Expected object but got %s.",Constructor.displayName||"ReactClass",spec===null?null:typeofSpec)}}return}_invariant(typeof spec!=="function","ReactClass: You're attempting to "+"use a component class or function as a mixin. Instead, just use a "+"regular object.");_invariant(!isValidElement(spec),"ReactClass: You're attempting to "+"use a component as a mixin. Instead, just use a regular object.");var proto=Constructor.prototype;var autoBindPairs=proto.__reactAutoBindPairs;if(spec.hasOwnProperty(MIXINS_KEY)){RESERVED_SPEC_KEYS.mixins(Constructor,spec.mixins)}for(var name in spec){if(!spec.hasOwnProperty(name)){continue}if(name===MIXINS_KEY){continue}var property=spec[name];var isAlreadyDefined=proto.hasOwnProperty(name);validateMethodOverride(isAlreadyDefined,name);if(RESERVED_SPEC_KEYS.hasOwnProperty(name)){RESERVED_SPEC_KEYS[name](Constructor,property)}else{var isReactClassMethod=ReactClassInterface.hasOwnProperty(name);var isFunction=typeof property==="function";var shouldAutoBind=isFunction&&!isReactClassMethod&&!isAlreadyDefined&&spec.autobind!==false;if(shouldAutoBind){autoBindPairs.push(name,property);proto[name]=property}else{if(isAlreadyDefined){var specPolicy=ReactClassInterface[name];_invariant(isReactClassMethod&&(specPolicy==="DEFINE_MANY_MERGED"||specPolicy==="DEFINE_MANY"),"ReactClass: Unexpected spec policy %s for key %s "+"when mixing in component specs.",specPolicy,name);if(specPolicy==="DEFINE_MANY_MERGED"){proto[name]=createMergedResultFunction(proto[name],property)}else if(specPolicy==="DEFINE_MANY"){proto[name]=createChainedFunction(proto[name],property)}}else{proto[name]=property;if(process.env.NODE_ENV!=="production"){if(typeof property==="function"&&spec.displayName){proto[name].displayName=spec.displayName+"_"+name}}}}}}}function mixStaticSpecIntoComponent(Constructor,statics){if(!statics){return}for(var name in statics){var property=statics[name];if(!statics.hasOwnProperty(name)){continue}var isReserved=name in RESERVED_SPEC_KEYS;_invariant(!isReserved,"ReactClass: You are attempting to define a reserved "+'property, `%s`, that shouldn\'t be on the "statics" key. Define it '+"as an instance property instead; it will still be accessible on the "+"constructor.",name);var isAlreadyDefined=name in Constructor;if(isAlreadyDefined){var specPolicy=ReactClassStaticInterface.hasOwnProperty(name)?ReactClassStaticInterface[name]:null;_invariant(specPolicy==="DEFINE_MANY_MERGED","ReactClass: You are attempting to define "+"`%s` on your component more than once. This conflict may be "+"due to a mixin.",name);Constructor[name]=createMergedResultFunction(Constructor[name],property);return}Constructor[name]=property}}function mergeIntoWithNoDuplicateKeys(one,two){_invariant(one&&two&&typeof one==="object"&&typeof two==="object","mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.");for(var key in two){if(two.hasOwnProperty(key)){_invariant(one[key]===undefined,"mergeIntoWithNoDuplicateKeys(): "+"Tried to merge two objects with the same key: `%s`. This conflict "+"may be due to a mixin; in particular, this may be caused by two "+"getInitialState() or getDefaultProps() methods returning objects "+"with clashing keys.",key);one[key]=two[key]}}return one}function createMergedResultFunction(one,two){return function mergedResult(){var a=one.apply(this,arguments);var b=two.apply(this,arguments);if(a==null){return b}else if(b==null){return a}var c={};mergeIntoWithNoDuplicateKeys(c,a);mergeIntoWithNoDuplicateKeys(c,b);return c}}function createChainedFunction(one,two){return function chainedFunction(){one.apply(this,arguments);two.apply(this,arguments)}}function bindAutoBindMethod(component,method){var boundMethod=method.bind(component);if(process.env.NODE_ENV!=="production"){boundMethod.__reactBoundContext=component;boundMethod.__reactBoundMethod=method;boundMethod.__reactBoundArguments=null;var componentName=component.constructor.displayName;var _bind=boundMethod.bind;boundMethod.bind=function(newThis){for(var _len=arguments.length,args=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}if(newThis!==component&&newThis!==null){if(process.env.NODE_ENV!=="production"){warning(false,"bind(): React component methods may only be bound to the "+"component instance. See %s",componentName)}}else if(!args.length){if(process.env.NODE_ENV!=="production"){warning(false,"bind(): You are binding a component method to the component. "+"React does this for you automatically in a high-performance "+"way, so you can safely remove this call. See %s",componentName)}return boundMethod}var reboundMethod=_bind.apply(boundMethod,arguments);reboundMethod.__reactBoundContext=component;reboundMethod.__reactBoundMethod=method;reboundMethod.__reactBoundArguments=args;return reboundMethod}}return boundMethod}function bindAutoBindMethods(component){var pairs=component.__reactAutoBindPairs;for(var i=0;i<pairs.length;i+=2){var autoBindKey=pairs[i];var method=pairs[i+1];component[autoBindKey]=bindAutoBindMethod(component,method)}}var IsMountedPreMixin={componentDidMount:function(){this.__isMounted=true}};var IsMountedPostMixin={componentWillUnmount:function(){this.__isMounted=false}};var ReactClassMixin={replaceState:function(newState,callback){this.updater.enqueueReplaceState(this,newState,callback)},isMounted:function(){if(process.env.NODE_ENV!=="production"){warning(this.__didWarnIsMounted,"%s: isMounted is deprecated. Instead, make sure to clean up "+"subscriptions and pending requests in componentWillUnmount to "+"prevent memory leaks.",this.constructor&&this.constructor.displayName||this.name||"Component");this.__didWarnIsMounted=true}return!!this.__isMounted}};var ReactClassComponent=function(){};_assign(ReactClassComponent.prototype,ReactComponent.prototype,ReactClassMixin);function createClass(spec){var Constructor=identity(function(props,context,updater){if(process.env.NODE_ENV!=="production"){warning(this instanceof Constructor,"Something is calling a React component directly. Use a factory or "+"JSX instead. See: https://fb.me/react-legacyfactory")}if(this.__reactAutoBindPairs.length){bindAutoBindMethods(this)}this.props=props;this.context=context;this.refs=emptyObject;this.updater=updater||ReactNoopUpdateQueue;this.state=null;var initialState=this.getInitialState?this.getInitialState():null;if(process.env.NODE_ENV!=="production"){if(initialState===undefined&&this.getInitialState._isMockFunction){initialState=null}}_invariant(typeof initialState==="object"&&!Array.isArray(initialState),"%s.getInitialState(): must return an object or null",Constructor.displayName||"ReactCompositeComponent");this.state=initialState});Constructor.prototype=new ReactClassComponent;Constructor.prototype.constructor=Constructor;Constructor.prototype.__reactAutoBindPairs=[];injectedMixins.forEach(mixSpecIntoComponent.bind(null,Constructor));mixSpecIntoComponent(Constructor,IsMountedPreMixin);mixSpecIntoComponent(Constructor,spec);mixSpecIntoComponent(Constructor,IsMountedPostMixin);if(Constructor.getDefaultProps){Constructor.defaultProps=Constructor.getDefaultProps()}if(process.env.NODE_ENV!=="production"){if(Constructor.getDefaultProps){Constructor.getDefaultProps.isReactClassApproved={}}if(Constructor.prototype.getInitialState){Constructor.prototype.getInitialState.isReactClassApproved={}}}_invariant(Constructor.prototype.render,"createClass(...): Class specification must implement a `render` method.");if(process.env.NODE_ENV!=="production"){warning(!Constructor.prototype.componentShouldUpdate,"%s has a method called "+"componentShouldUpdate(). Did you mean shouldComponentUpdate()? "+"The name is phrased as a question because the function is "+"expected to return a value.",spec.displayName||"A component");warning(!Constructor.prototype.componentWillRecieveProps,"%s has a method called "+"componentWillRecieveProps(). Did you mean componentWillReceiveProps()?",spec.displayName||"A component");warning(!Constructor.prototype.UNSAFE_componentWillRecieveProps,"%s has a method called UNSAFE_componentWillRecieveProps(). "+"Did you mean UNSAFE_componentWillReceiveProps()?",spec.displayName||"A component")}for(var methodName in ReactClassInterface){if(!Constructor.prototype[methodName]){Constructor.prototype[methodName]=null}}return Constructor}return createClass}module.exports=factory}).call(this,require("_process"))},{_process:1,"fbjs/lib/emptyObject":23,"fbjs/lib/invariant":24,"fbjs/lib/warning":25,"object-assign":27}],3:[function(require,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports):typeof define==="function"&&define.amd?define(["exports"],factory):factory(global.d3=global.d3||{})})(this,function(exports){"use strict";function ascending(a,b){return a<b?-1:a>b?1:a>=b?0:NaN}function bisector(compare){if(compare.length===1)compare=ascendingComparator(compare);return{left:function(a,x,lo,hi){if(lo==null)lo=0;if(hi==null)hi=a.length;while(lo<hi){var mid=lo+hi>>>1;if(compare(a[mid],x)<0)lo=mid+1;else hi=mid}return lo},right:function(a,x,lo,hi){if(lo==null)lo=0;if(hi==null)hi=a.length;while(lo<hi){var mid=lo+hi>>>1;if(compare(a[mid],x)>0)hi=mid;else lo=mid+1}return lo}}}function ascendingComparator(f){return function(d,x){return ascending(f(d),x)}}var ascendingBisect=bisector(ascending);var bisectRight=ascendingBisect.right;var bisectLeft=ascendingBisect.left;function pairs(array,f){if(f==null)f=pair;var i=0,n=array.length-1,p=array[0],pairs=new Array(n<0?0:n);while(i<n)pairs[i]=f(p,p=array[++i]);return pairs}function pair(a,b){return[a,b]}function cross(values0,values1,reduce){var n0=values0.length,n1=values1.length,values=new Array(n0*n1),i0,i1,i,value0;if(reduce==null)reduce=pair;for(i0=i=0;i0<n0;++i0){for(value0=values0[i0],i1=0;i1<n1;++i1,++i){values[i]=reduce(value0,values1[i1])}}return values}function descending(a,b){return b<a?-1:b>a?1:b>=a?0:NaN}function number(x){return x===null?NaN:+x}function variance(values,valueof){var n=values.length,m=0,i=-1,mean=0,value,delta,sum=0;if(valueof==null){while(++i<n){if(!isNaN(value=number(values[i]))){delta=value-mean;mean+=delta/++m;sum+=delta*(value-mean)}}}else{while(++i<n){if(!isNaN(value=number(valueof(values[i],i,values)))){delta=value-mean;mean+=delta/++m;sum+=delta*(value-mean)}}}if(m>1)return sum/(m-1)}function deviation(array,f){var v=variance(array,f);return v?Math.sqrt(v):v}function extent(values,valueof){var n=values.length,i=-1,value,min,max;if(valueof==null){while(++i<n){if((value=values[i])!=null&&value>=value){min=max=value;while(++i<n){if((value=values[i])!=null){if(min>value)min=value;if(max<value)max=value}}}}}else{while(++i<n){if((value=valueof(values[i],i,values))!=null&&value>=value){min=max=value;while(++i<n){if((value=valueof(values[i],i,values))!=null){if(min>value)min=value;if(max<value)max=value}}}}}return[min,max]}var array=Array.prototype;var slice=array.slice;var map=array.map;function constant(x){return function(){return x}}function identity(x){return x}function range(start,stop,step){start=+start,stop=+stop,step=(n=arguments.length)<2?(stop=start,start=0,1):n<3?1:+step;var i=-1,n=Math.max(0,Math.ceil((stop-start)/step))|0,range=new Array(n);while(++i<n){range[i]=start+i*step}return range}var e10=Math.sqrt(50),e5=Math.sqrt(10),e2=Math.sqrt(2);function ticks(start,stop,count){var reverse,i=-1,n,ticks,step;stop=+stop,start=+start,count=+count;if(start===stop&&count>0)return[start];if(reverse=stop<start)n=start,start=stop,stop=n;if((step=tickIncrement(start,stop,count))===0||!isFinite(step))return[];if(step>0){start=Math.ceil(start/step);stop=Math.floor(stop/step);ticks=new Array(n=Math.ceil(stop-start+1));while(++i<n)ticks[i]=(start+i)*step}else{start=Math.floor(start*step);stop=Math.ceil(stop*step);ticks=new Array(n=Math.ceil(start-stop+1));while(++i<n)ticks[i]=(start-i)/step}if(reverse)ticks.reverse();return ticks}function tickIncrement(start,stop,count){var step=(stop-start)/Math.max(0,count),power=Math.floor(Math.log(step)/Math.LN10),error=step/Math.pow(10,power);return power>=0?(error>=e10?10:error>=e5?5:error>=e2?2:1)*Math.pow(10,power):-Math.pow(10,-power)/(error>=e10?10:error>=e5?5:error>=e2?2:1)}function tickStep(start,stop,count){var step0=Math.abs(stop-start)/Math.max(0,count),step1=Math.pow(10,Math.floor(Math.log(step0)/Math.LN10)),error=step0/step1;if(error>=e10)step1*=10;else if(error>=e5)step1*=5;else if(error>=e2)step1*=2;return stop<start?-step1:step1}function sturges(values){return Math.ceil(Math.log(values.length)/Math.LN2)+1}function histogram(){var value=identity,domain=extent,threshold=sturges;function histogram(data){var i,n=data.length,x,values=new Array(n);for(i=0;i<n;++i){values[i]=value(data[i],i,data)}var xz=domain(values),x0=xz[0],x1=xz[1],tz=threshold(values,x0,x1);if(!Array.isArray(tz)){tz=tickStep(x0,x1,tz);tz=range(Math.ceil(x0/tz)*tz,x1,tz)}var m=tz.length;while(tz[0]<=x0)tz.shift(),--m;while(tz[m-1]>x1)tz.pop(),--m;var bins=new Array(m+1),bin;for(i=0;i<=m;++i){bin=bins[i]=[];bin.x0=i>0?tz[i-1]:x0;bin.x1=i<m?tz[i]:x1}for(i=0;i<n;++i){x=values[i];if(x0<=x&&x<=x1){bins[bisectRight(tz,x,0,m)].push(data[i])}}return bins}histogram.value=function(_){return arguments.length?(value=typeof _==="function"?_:constant(_),histogram):value};histogram.domain=function(_){return arguments.length?(domain=typeof _==="function"?_:constant([_[0],_[1]]),histogram):domain};histogram.thresholds=function(_){return arguments.length?(threshold=typeof _==="function"?_:Array.isArray(_)?constant(slice.call(_)):constant(_),histogram):threshold};return histogram}function quantile(values,p,valueof){if(valueof==null)valueof=number;if(!(n=values.length))return;if((p=+p)<=0||n<2)return+valueof(values[0],0,values);if(p>=1)return+valueof(values[n-1],n-1,values);var n,i=(n-1)*p,i0=Math.floor(i),value0=+valueof(values[i0],i0,values),value1=+valueof(values[i0+1],i0+1,values);return value0+(value1-value0)*(i-i0)}function freedmanDiaconis(values,min,max){values=map.call(values,number).sort(ascending);return Math.ceil((max-min)/(2*(quantile(values,.75)-quantile(values,.25))*Math.pow(values.length,-1/3)))}function scott(values,min,max){return Math.ceil((max-min)/(3.5*deviation(values)*Math.pow(values.length,-1/3)))}function max(values,valueof){var n=values.length,i=-1,value,max;if(valueof==null){while(++i<n){if((value=values[i])!=null&&value>=value){max=value;while(++i<n){if((value=values[i])!=null&&value>max){max=value}}}}}else{while(++i<n){if((value=valueof(values[i],i,values))!=null&&value>=value){max=value;while(++i<n){if((value=valueof(values[i],i,values))!=null&&value>max){max=value}}}}}return max}function mean(values,valueof){var n=values.length,m=n,i=-1,value,sum=0;if(valueof==null){while(++i<n){if(!isNaN(value=number(values[i])))sum+=value;else--m}}else{while(++i<n){if(!isNaN(value=number(valueof(values[i],i,values))))sum+=value;else--m}}if(m)return sum/m}function median(values,valueof){var n=values.length,i=-1,value,numbers=[];if(valueof==null){while(++i<n){if(!isNaN(value=number(values[i]))){numbers.push(value)}}}else{while(++i<n){if(!isNaN(value=number(valueof(values[i],i,values)))){numbers.push(value)}}}return quantile(numbers.sort(ascending),.5)}function merge(arrays){var n=arrays.length,m,i=-1,j=0,merged,array;while(++i<n)j+=arrays[i].length;merged=new Array(j);while(--n>=0){array=arrays[n];m=array.length;while(--m>=0){merged[--j]=array[m]}}return merged}function min(values,valueof){var n=values.length,i=-1,value,min;if(valueof==null){while(++i<n){if((value=values[i])!=null&&value>=value){min=value;while(++i<n){if((value=values[i])!=null&&min>value){min=value}}}}}else{while(++i<n){if((value=valueof(values[i],i,values))!=null&&value>=value){min=value;while(++i<n){if((value=valueof(values[i],i,values))!=null&&min>value){min=value}}}}}return min}function permute(array,indexes){var i=indexes.length,permutes=new Array(i);while(i--)permutes[i]=array[indexes[i]];return permutes}function scan(values,compare){if(!(n=values.length))return;var n,i=0,j=0,xi,xj=values[j];if(compare==null)compare=ascending;while(++i<n){if(compare(xi=values[i],xj)<0||compare(xj,xj)!==0){xj=xi,j=i}}if(compare(xj,xj)===0)return j}function shuffle(array,i0,i1){var m=(i1==null?array.length:i1)-(i0=i0==null?0:+i0),t,i;while(m){i=Math.random()*m--|0;t=array[m+i0];array[m+i0]=array[i+i0];array[i+i0]=t}return array}function sum(values,valueof){var n=values.length,i=-1,value,sum=0;if(valueof==null){while(++i<n){if(value=+values[i])sum+=value}}else{while(++i<n){if(value=+valueof(values[i],i,values))sum+=value}}return sum}function transpose(matrix){if(!(n=matrix.length))return[];for(var i=-1,m=min(matrix,length),transpose=new Array(m);++i<m;){for(var j=-1,n,row=transpose[i]=new Array(n);++j<n;){row[j]=matrix[j][i]}}return transpose}function length(d){return d.length}function zip(){return transpose(arguments)}exports.bisect=bisectRight;exports.bisectRight=bisectRight;exports.bisectLeft=bisectLeft;exports.ascending=ascending;exports.bisector=bisector;exports.cross=cross;exports.descending=descending;exports.deviation=deviation;exports.extent=extent;exports.histogram=histogram;exports.thresholdFreedmanDiaconis=freedmanDiaconis;exports.thresholdScott=scott;exports.thresholdSturges=sturges;exports.max=max;exports.mean=mean;exports.median=median;exports.merge=merge;exports.min=min;exports.pairs=pairs;exports.permute=permute;exports.quantile=quantile;exports.range=range;exports.scan=scan;exports.shuffle=shuffle;exports.sum=sum;exports.ticks=ticks;exports.tickIncrement=tickIncrement;exports.tickStep=tickStep;exports.transpose=transpose;exports.variance=variance;exports.zip=zip;Object.defineProperty(exports,"__esModule",{value:true})})},{}],4:[function(require,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports):typeof define==="function"&&define.amd?define(["exports"],factory):factory(global.d3=global.d3||{})})(this,function(exports){"use strict";var prefix="$";function Map(){}Map.prototype=map.prototype={constructor:Map,has:function(key){return prefix+key in this},get:function(key){return this[prefix+key]},set:function(key,value){this[prefix+key]=value;return this},remove:function(key){var property=prefix+key;return property in this&&delete this[property]},clear:function(){for(var property in this)if(property[0]===prefix)delete this[property]},keys:function(){var keys=[];for(var property in this)if(property[0]===prefix)keys.push(property.slice(1));return keys},values:function(){var values=[];for(var property in this)if(property[0]===prefix)values.push(this[property]);return values},entries:function(){var entries=[];for(var property in this)if(property[0]===prefix)entries.push({key:property.slice(1),value:this[property]});return entries},size:function(){var size=0;for(var property in this)if(property[0]===prefix)++size;return size},empty:function(){for(var property in this)if(property[0]===prefix)return false;return true},each:function(f){for(var property in this)if(property[0]===prefix)f(this[property],property.slice(1),this)}};function map(object,f){var map=new Map;if(object instanceof Map)object.each(function(value,key){map.set(key,value)});else if(Array.isArray(object)){var i=-1,n=object.length,o;if(f==null)while(++i<n)map.set(i,object[i]);else while(++i<n)map.set(f(o=object[i],i,object),o)}else if(object)for(var key in object)map.set(key,object[key]);return map}function nest(){var keys=[],sortKeys=[],sortValues,rollup,nest;function apply(array,depth,createResult,setResult){if(depth>=keys.length){if(sortValues!=null)array.sort(sortValues);return rollup!=null?rollup(array):array}var i=-1,n=array.length,key=keys[depth++],keyValue,value,valuesByKey=map(),values,result=createResult();while(++i<n){if(values=valuesByKey.get(keyValue=key(value=array[i])+"")){values.push(value)}else{valuesByKey.set(keyValue,[value])}}valuesByKey.each(function(values,key){setResult(result,key,apply(values,depth,createResult,setResult))});return result}function entries(map$$1,depth){if(++depth>keys.length)return map$$1;var array,sortKey=sortKeys[depth-1];if(rollup!=null&&depth>=keys.length)array=map$$1.entries();else array=[],map$$1.each(function(v,k){array.push({key:k,values:entries(v,depth)})});return sortKey!=null?array.sort(function(a,b){return sortKey(a.key,b.key)}):array}return nest={object:function(array){return apply(array,0,createObject,setObject)},map:function(array){return apply(array,0,createMap,setMap)},entries:function(array){return entries(apply(array,0,createMap,setMap),0)},key:function(d){keys.push(d);return nest},sortKeys:function(order){sortKeys[keys.length-1]=order;return nest},sortValues:function(order){sortValues=order;return nest},rollup:function(f){rollup=f;return nest}}}function createObject(){return{}}function setObject(object,key,value){object[key]=value}function createMap(){return map()}function setMap(map$$1,key,value){map$$1.set(key,value)}function Set(){}var proto=map.prototype;Set.prototype=set.prototype={constructor:Set,has:proto.has,add:function(value){value+="";this[prefix+value]=value;return this},remove:proto.remove,clear:proto.clear,values:proto.keys,size:proto.size,empty:proto.empty,each:proto.each};function set(object,f){var set=new Set;if(object instanceof Set)object.each(function(value){set.add(value)});else if(object){var i=-1,n=object.length;if(f==null)while(++i<n)set.add(object[i]);else while(++i<n)set.add(f(object[i],i,object))}return set}function keys(map){var keys=[];for(var key in map)keys.push(key);return keys}function values(map){var values=[];for(var key in map)values.push(map[key]);return values}function entries(map){var entries=[];for(var key in map)entries.push({key:key,value:map[key]});return entries}exports.nest=nest;exports.set=set;exports.map=map;exports.keys=keys;exports.values=values;exports.entries=entries;Object.defineProperty(exports,"__esModule",{value:true})})},{}],5:[function(require,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports):typeof define==="function"&&define.amd?define(["exports"],factory):factory(global.d3=global.d3||{})})(this,function(exports){"use strict";function define(constructor,factory,prototype){constructor.prototype=factory.prototype=prototype;prototype.constructor=constructor}function extend(parent,definition){var prototype=Object.create(parent.prototype);for(var key in definition)prototype[key]=definition[key];return prototype}function Color(){}var darker=.7;var brighter=1/darker;var reI="\\s*([+-]?\\d+)\\s*",reN="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",reP="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",reHex3=/^#([0-9a-f]{3})$/,reHex6=/^#([0-9a-f]{6})$/,reRgbInteger=new RegExp("^rgb\\("+[reI,reI,reI]+"\\)$"),reRgbPercent=new RegExp("^rgb\\("+[reP,reP,reP]+"\\)$"),reRgbaInteger=new RegExp("^rgba\\("+[reI,reI,reI,reN]+"\\)$"),reRgbaPercent=new RegExp("^rgba\\("+[reP,reP,reP,reN]+"\\)$"),reHslPercent=new RegExp("^hsl\\("+[reN,reP,reP]+"\\)$"),reHslaPercent=new RegExp("^hsla\\("+[reN,reP,reP,reN]+"\\)$");var named={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,
  2. 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};define(Color,color,{displayable:function(){return this.rgb().displayable()},hex:function(){return this.rgb().hex()},toString:function(){return this.rgb()+""}});function color(format){var m;format=(format+"").trim().toLowerCase();return(m=reHex3.exec(format))?(m=parseInt(m[1],16),new Rgb(m>>8&15|m>>4&240,m>>4&15|m&240,(m&15)<<4|m&15,1)):(m=reHex6.exec(format))?rgbn(parseInt(m[1],16)):(m=reRgbInteger.exec(format))?new Rgb(m[1],m[2],m[3],1):(m=reRgbPercent.exec(format))?new Rgb(m[1]*255/100,m[2]*255/100,m[3]*255/100,1):(m=reRgbaInteger.exec(format))?rgba(m[1],m[2],m[3],m[4]):(m=reRgbaPercent.exec(format))?rgba(m[1]*255/100,m[2]*255/100,m[3]*255/100,m[4]):(m=reHslPercent.exec(format))?hsla(m[1],m[2]/100,m[3]/100,1):(m=reHslaPercent.exec(format))?hsla(m[1],m[2]/100,m[3]/100,m[4]):named.hasOwnProperty(format)?rgbn(named[format]):format==="transparent"?new Rgb(NaN,NaN,NaN,0):null}function rgbn(n){return new Rgb(n>>16&255,n>>8&255,n&255,1)}function rgba(r,g,b,a){if(a<=0)r=g=b=NaN;return new Rgb(r,g,b,a)}function rgbConvert(o){if(!(o instanceof Color))o=color(o);if(!o)return new Rgb;o=o.rgb();return new Rgb(o.r,o.g,o.b,o.opacity)}function rgb(r,g,b,opacity){return arguments.length===1?rgbConvert(r):new Rgb(r,g,b,opacity==null?1:opacity)}function Rgb(r,g,b,opacity){this.r=+r;this.g=+g;this.b=+b;this.opacity=+opacity}define(Rgb,rgb,extend(Color,{brighter:function(k){k=k==null?brighter:Math.pow(brighter,k);return new Rgb(this.r*k,this.g*k,this.b*k,this.opacity)},darker:function(k){k=k==null?darker:Math.pow(darker,k);return new Rgb(this.r*k,this.g*k,this.b*k,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"#"+hex(this.r)+hex(this.g)+hex(this.b)},toString:function(){var a=this.opacity;a=isNaN(a)?1:Math.max(0,Math.min(1,a));return(a===1?"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))+(a===1?")":", "+a+")")}}));function hex(value){value=Math.max(0,Math.min(255,Math.round(value)||0));return(value<16?"0":"")+value.toString(16)}function hsla(h,s,l,a){if(a<=0)h=s=l=NaN;else if(l<=0||l>=1)h=s=NaN;else if(s<=0)h=NaN;return new Hsl(h,s,l,a)}function hslConvert(o){if(o instanceof Hsl)return new Hsl(o.h,o.s,o.l,o.opacity);if(!(o instanceof Color))o=color(o);if(!o)return new Hsl;if(o instanceof Hsl)return o;o=o.rgb();var r=o.r/255,g=o.g/255,b=o.b/255,min=Math.min(r,g,b),max=Math.max(r,g,b),h=NaN,s=max-min,l=(max+min)/2;if(s){if(r===max)h=(g-b)/s+(g<b)*6;else if(g===max)h=(b-r)/s+2;else h=(r-g)/s+4;s/=l<.5?max+min:2-max-min;h*=60}else{s=l>0&&l<1?0:h}return new Hsl(h,s,l,o.opacity)}function hsl(h,s,l,opacity){return arguments.length===1?hslConvert(h):new Hsl(h,s,l,opacity==null?1:opacity)}function Hsl(h,s,l,opacity){this.h=+h;this.s=+s;this.l=+l;this.opacity=+opacity}define(Hsl,hsl,extend(Color,{brighter:function(k){k=k==null?brighter:Math.pow(brighter,k);return new Hsl(this.h,this.s,this.l*k,this.opacity)},darker:function(k){k=k==null?darker:Math.pow(darker,k);return new Hsl(this.h,this.s,this.l*k,this.opacity)},rgb:function(){var h=this.h%360+(this.h<0)*360,s=isNaN(h)||isNaN(this.s)?0:this.s,l=this.l,m2=l+(l<.5?l:1-l)*s,m1=2*l-m2;return new Rgb(hsl2rgb(h>=240?h-240:h+120,m1,m2),hsl2rgb(h,m1,m2),hsl2rgb(h<120?h+240:h-120,m1,m2),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)}}));function hsl2rgb(h,m1,m2){return(h<60?m1+(m2-m1)*h/60:h<180?m2:h<240?m1+(m2-m1)*(240-h)/60:m1)*255}var deg2rad=Math.PI/180;var rad2deg=180/Math.PI;var K=18,Xn=.96422,Yn=1,Zn=.82521,t0=4/29,t1=6/29,t2=3*t1*t1,t3=t1*t1*t1;function labConvert(o){if(o instanceof Lab)return new Lab(o.l,o.a,o.b,o.opacity);if(o instanceof Hcl){if(isNaN(o.h))return new Lab(o.l,0,0,o.opacity);var h=o.h*deg2rad;return new Lab(o.l,Math.cos(h)*o.c,Math.sin(h)*o.c,o.opacity)}if(!(o instanceof Rgb))o=rgbConvert(o);var r=rgb2lrgb(o.r),g=rgb2lrgb(o.g),b=rgb2lrgb(o.b),y=xyz2lab((.2225045*r+.7168786*g+.0606169*b)/Yn),x,z;if(r===g&&g===b)x=z=y;else{x=xyz2lab((.4360747*r+.3850649*g+.1430804*b)/Xn);z=xyz2lab((.0139322*r+.0971045*g+.7141733*b)/Zn)}return new Lab(116*y-16,500*(x-y),200*(y-z),o.opacity)}function gray(l,opacity){return new Lab(l,0,0,opacity==null?1:opacity)}function lab(l,a,b,opacity){return arguments.length===1?labConvert(l):new Lab(l,a,b,opacity==null?1:opacity)}function Lab(l,a,b,opacity){this.l=+l;this.a=+a;this.b=+b;this.opacity=+opacity}define(Lab,lab,extend(Color,{brighter:function(k){return new Lab(this.l+K*(k==null?1:k),this.a,this.b,this.opacity)},darker:function(k){return new Lab(this.l-K*(k==null?1:k),this.a,this.b,this.opacity)},rgb:function(){var y=(this.l+16)/116,x=isNaN(this.a)?y:y+this.a/500,z=isNaN(this.b)?y:y-this.b/200;x=Xn*lab2xyz(x);y=Yn*lab2xyz(y);z=Zn*lab2xyz(z);return new Rgb(lrgb2rgb(3.1338561*x-1.6168667*y-.4906146*z),lrgb2rgb(-.9787684*x+1.9161415*y+.033454*z),lrgb2rgb(.0719453*x-.2289914*y+1.4052427*z),this.opacity)}}));function xyz2lab(t){return t>t3?Math.pow(t,1/3):t/t2+t0}function lab2xyz(t){return t>t1?t*t*t:t2*(t-t0)}function lrgb2rgb(x){return 255*(x<=.0031308?12.92*x:1.055*Math.pow(x,1/2.4)-.055)}function rgb2lrgb(x){return(x/=255)<=.04045?x/12.92:Math.pow((x+.055)/1.055,2.4)}function hclConvert(o){if(o instanceof Hcl)return new Hcl(o.h,o.c,o.l,o.opacity);if(!(o instanceof Lab))o=labConvert(o);if(o.a===0&&o.b===0)return new Hcl(NaN,0,o.l,o.opacity);var h=Math.atan2(o.b,o.a)*rad2deg;return new Hcl(h<0?h+360:h,Math.sqrt(o.a*o.a+o.b*o.b),o.l,o.opacity)}function lch(l,c,h,opacity){return arguments.length===1?hclConvert(l):new Hcl(h,c,l,opacity==null?1:opacity)}function hcl(h,c,l,opacity){return arguments.length===1?hclConvert(h):new Hcl(h,c,l,opacity==null?1:opacity)}function Hcl(h,c,l,opacity){this.h=+h;this.c=+c;this.l=+l;this.opacity=+opacity}define(Hcl,hcl,extend(Color,{brighter:function(k){return new Hcl(this.h,this.c,this.l+K*(k==null?1:k),this.opacity)},darker:function(k){return new Hcl(this.h,this.c,this.l-K*(k==null?1:k),this.opacity)},rgb:function(){return labConvert(this).rgb()}}));var A=-.14861,B=+1.78277,C=-.29227,D=-.90649,E=+1.97294,ED=E*D,EB=E*B,BC_DA=B*C-D*A;function cubehelixConvert(o){if(o instanceof Cubehelix)return new Cubehelix(o.h,o.s,o.l,o.opacity);if(!(o instanceof Rgb))o=rgbConvert(o);var r=o.r/255,g=o.g/255,b=o.b/255,l=(BC_DA*b+ED*r-EB*g)/(BC_DA+ED-EB),bl=b-l,k=(E*(g-l)-C*bl)/D,s=Math.sqrt(k*k+bl*bl)/(E*l*(1-l)),h=s?Math.atan2(k,bl)*rad2deg-120:NaN;return new Cubehelix(h<0?h+360:h,s,l,o.opacity)}function cubehelix(h,s,l,opacity){return arguments.length===1?cubehelixConvert(h):new Cubehelix(h,s,l,opacity==null?1:opacity)}function Cubehelix(h,s,l,opacity){this.h=+h;this.s=+s;this.l=+l;this.opacity=+opacity}define(Cubehelix,cubehelix,extend(Color,{brighter:function(k){k=k==null?brighter:Math.pow(brighter,k);return new Cubehelix(this.h,this.s,this.l*k,this.opacity)},darker:function(k){k=k==null?darker:Math.pow(darker,k);return new Cubehelix(this.h,this.s,this.l*k,this.opacity)},rgb:function(){var h=isNaN(this.h)?0:(this.h+120)*deg2rad,l=+this.l,a=isNaN(this.s)?0:this.s*l*(1-l),cosh=Math.cos(h),sinh=Math.sin(h);return new Rgb(255*(l+a*(A*cosh+B*sinh)),255*(l+a*(C*cosh+D*sinh)),255*(l+a*(E*cosh)),this.opacity)}}));exports.color=color;exports.rgb=rgb;exports.hsl=hsl;exports.lab=lab;exports.hcl=hcl;exports.lch=lch;exports.gray=gray;exports.cubehelix=cubehelix;Object.defineProperty(exports,"__esModule",{value:true})})},{}],6:[function(require,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports,require("d3-array")):typeof define==="function"&&define.amd?define(["exports","d3-array"],factory):factory(global.d3=global.d3||{},global.d3)})(this,function(exports,d3Array){"use strict";var array=Array.prototype;var slice=array.slice;function ascending(a,b){return a-b}function area(ring){var i=0,n=ring.length,area=ring[n-1][1]*ring[0][0]-ring[n-1][0]*ring[0][1];while(++i<n)area+=ring[i-1][1]*ring[i][0]-ring[i-1][0]*ring[i][1];return area}function constant(x){return function(){return x}}function contains(ring,hole){var i=-1,n=hole.length,c;while(++i<n)if(c=ringContains(ring,hole[i]))return c;return 0}function ringContains(ring,point){var x=point[0],y=point[1],contains=-1;for(var i=0,n=ring.length,j=n-1;i<n;j=i++){var pi=ring[i],xi=pi[0],yi=pi[1],pj=ring[j],xj=pj[0],yj=pj[1];if(segmentContains(pi,pj,point))return 0;if(yi>y!==yj>y&&x<(xj-xi)*(y-yi)/(yj-yi)+xi)contains=-contains}return contains}function segmentContains(a,b,c){var i;return collinear(a,b,c)&&within(a[i=+(a[0]===b[0])],c[i],b[i])}function collinear(a,b,c){return(b[0]-a[0])*(c[1]-a[1])===(c[0]-a[0])*(b[1]-a[1])}function within(p,q,r){return p<=q&&q<=r||r<=q&&q<=p}function noop(){}var cases=[[],[[[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 contours(){var dx=1,dy=1,threshold=d3Array.thresholdSturges,smooth=smoothLinear;function contours(values){var tz=threshold(values);if(!Array.isArray(tz)){var domain=d3Array.extent(values),start=domain[0],stop=domain[1];tz=d3Array.tickStep(start,stop,tz);tz=d3Array.range(Math.floor(start/tz)*tz,Math.floor(stop/tz)*tz,tz)}else{tz=tz.slice().sort(ascending)}return tz.map(function(value){return contour(values,value)})}function contour(values,value){var polygons=[],holes=[];isorings(values,value,function(ring){smooth(ring,values,value);if(area(ring)>0)polygons.push([ring]);else holes.push(ring)});holes.forEach(function(hole){for(var i=0,n=polygons.length,polygon;i<n;++i){if(contains((polygon=polygons[i])[0],hole)!==-1){polygon.push(hole);return}}});return{type:"MultiPolygon",value:value,coordinates:polygons}}function isorings(values,value,callback){var fragmentByStart=new Array,fragmentByEnd=new Array,x,y,t0,t1,t2,t3;x=y=-1;t1=values[0]>=value;cases[t1<<1].forEach(stitch);while(++x<dx-1){t0=t1,t1=values[x+1]>=value;cases[t0|t1<<1].forEach(stitch)}cases[t1<<0].forEach(stitch);while(++y<dy-1){x=-1;t1=values[y*dx+dx]>=value;t2=values[y*dx]>=value;cases[t1<<1|t2<<2].forEach(stitch);while(++x<dx-1){t0=t1,t1=values[y*dx+dx+x+1]>=value;t3=t2,t2=values[y*dx+x+1]>=value;cases[t0|t1<<1|t2<<2|t3<<3].forEach(stitch)}cases[t1|t2<<3].forEach(stitch)}x=-1;t2=values[y*dx]>=value;cases[t2<<2].forEach(stitch);while(++x<dx-1){t3=t2,t2=values[y*dx+x+1]>=value;cases[t2<<2|t3<<3].forEach(stitch)}cases[t2<<3].forEach(stitch);function stitch(line){var start=[line[0][0]+x,line[0][1]+y],end=[line[1][0]+x,line[1][1]+y],startIndex=index(start),endIndex=index(end),f,g;if(f=fragmentByEnd[startIndex]){if(g=fragmentByStart[endIndex]){delete fragmentByEnd[f.end];delete fragmentByStart[g.start];if(f===g){f.ring.push(end);callback(f.ring)}else{fragmentByStart[f.start]=fragmentByEnd[g.end]={start:f.start,end:g.end,ring:f.ring.concat(g.ring)}}}else{delete fragmentByEnd[f.end];f.ring.push(end);fragmentByEnd[f.end=endIndex]=f}}else if(f=fragmentByStart[endIndex]){if(g=fragmentByEnd[startIndex]){delete fragmentByStart[f.start];delete fragmentByEnd[g.end];if(f===g){f.ring.push(end);callback(f.ring)}else{fragmentByStart[g.start]=fragmentByEnd[f.end]={start:g.start,end:f.end,ring:g.ring.concat(f.ring)}}}else{delete fragmentByStart[f.start];f.ring.unshift(start);fragmentByStart[f.start=startIndex]=f}}else{fragmentByStart[startIndex]=fragmentByEnd[endIndex]={start:startIndex,end:endIndex,ring:[start,end]}}}}function index(point){return point[0]*2+point[1]*(dx+1)*4}function smoothLinear(ring,values,value){ring.forEach(function(point){var x=point[0],y=point[1],xt=x|0,yt=y|0,v0,v1=values[yt*dx+xt];if(x>0&&x<dx&&xt===x){v0=values[yt*dx+xt-1];point[0]=x+(value-v0)/(v1-v0)-.5}if(y>0&&y<dy&&yt===y){v0=values[(yt-1)*dx+xt];point[1]=y+(value-v0)/(v1-v0)-.5}})}contours.contour=contour;contours.size=function(_){if(!arguments.length)return[dx,dy];var _0=Math.ceil(_[0]),_1=Math.ceil(_[1]);if(!(_0>0)||!(_1>0))throw new Error("invalid size");return dx=_0,dy=_1,contours};contours.thresholds=function(_){return arguments.length?(threshold=typeof _==="function"?_:Array.isArray(_)?constant(slice.call(_)):constant(_),contours):threshold};contours.smooth=function(_){return arguments.length?(smooth=_?smoothLinear:noop,contours):smooth===smoothLinear};return contours}function blurX(source,target,r){var n=source.width,m=source.height,w=(r<<1)+1;for(var j=0;j<m;++j){for(var i=0,sr=0;i<n+r;++i){if(i<n){sr+=source.data[i+j*n]}if(i>=r){if(i>=w){sr-=source.data[i-w+j*n]}target.data[i-r+j*n]=sr/Math.min(i+1,n-1+w-i,w)}}}}function blurY(source,target,r){var n=source.width,m=source.height,w=(r<<1)+1;for(var i=0;i<n;++i){for(var j=0,sr=0;j<m+r;++j){if(j<m){sr+=source.data[i+j*n]}if(j>=r){if(j>=w){sr-=source.data[i+(j-w)*n]}target.data[i+(j-r)*n]=sr/Math.min(j+1,m-1+w-j,w)}}}}function defaultX(d){return d[0]}function defaultY(d){return d[1]}function defaultWeight(){return 1}function density(){var x=defaultX,y=defaultY,weight=defaultWeight,dx=960,dy=500,r=20,k=2,o=r*3,n=dx+o*2>>k,m=dy+o*2>>k,threshold=constant(20);function density(data){var values0=new Float32Array(n*m),values1=new Float32Array(n*m);data.forEach(function(d,i,data){var xi=+x(d,i,data)+o>>k,yi=+y(d,i,data)+o>>k,wi=+weight(d,i,data);if(xi>=0&&xi<n&&yi>=0&&yi<m){values0[xi+yi*n]+=wi}});blurX({width:n,height:m,data:values0},{width:n,height:m,data:values1},r>>k);blurY({width:n,height:m,data:values1},{width:n,height:m,data:values0},r>>k);blurX({width:n,height:m,data:values0},{width:n,height:m,data:values1},r>>k);blurY({width:n,height:m,data:values1},{width:n,height:m,data:values0},r>>k);blurX({width:n,height:m,data:values0},{width:n,height:m,data:values1},r>>k);blurY({width:n,height:m,data:values1},{width:n,height:m,data:values0},r>>k);var tz=threshold(values0);if(!Array.isArray(tz)){var stop=d3Array.max(values0);tz=d3Array.tickStep(0,stop,tz);tz=d3Array.range(0,Math.floor(stop/tz)*tz,tz);tz.shift()}return contours().thresholds(tz).size([n,m])(values0).map(transform)}function transform(geometry){geometry.value*=Math.pow(2,-2*k);geometry.coordinates.forEach(transformPolygon);return geometry}function transformPolygon(coordinates){coordinates.forEach(transformRing)}function transformRing(coordinates){coordinates.forEach(transformPoint)}function transformPoint(coordinates){coordinates[0]=coordinates[0]*Math.pow(2,k)-o;coordinates[1]=coordinates[1]*Math.pow(2,k)-o}function resize(){o=r*3;n=dx+o*2>>k;m=dy+o*2>>k;return density}density.x=function(_){return arguments.length?(x=typeof _==="function"?_:constant(+_),density):x};density.y=function(_){return arguments.length?(y=typeof _==="function"?_:constant(+_),density):y};density.weight=function(_){return arguments.length?(weight=typeof _==="function"?_:constant(+_),density):weight};density.size=function(_){if(!arguments.length)return[dx,dy];var _0=Math.ceil(_[0]),_1=Math.ceil(_[1]);if(!(_0>=0)&&!(_0>=0))throw new Error("invalid size");return dx=_0,dy=_1,resize()};density.cellSize=function(_){if(!arguments.length)return 1<<k;if(!((_=+_)>=1))throw new Error("invalid cell size");return k=Math.floor(Math.log(_)/Math.LN2),resize()};density.thresholds=function(_){return arguments.length?(threshold=typeof _==="function"?_:Array.isArray(_)?constant(slice.call(_)):constant(_),density):threshold};density.bandwidth=function(_){if(!arguments.length)return Math.sqrt(r*(r+1));if(!((_=+_)>=0))throw new Error("invalid bandwidth");return r=Math.round((Math.sqrt(4*_*_+1)-1)/2),resize()};return density}exports.contours=contours;exports.contourDensity=density;Object.defineProperty(exports,"__esModule",{value:true})})},{"d3-array":3}],7:[function(require,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports):typeof define==="function"&&define.amd?define(["exports"],factory):factory(global.d3=global.d3||{})})(this,function(exports){"use strict";function formatDecimal(x,p){if((i=(x=p?x.toExponential(p-1):x.toExponential()).indexOf("e"))<0)return null;var i,coefficient=x.slice(0,i);return[coefficient.length>1?coefficient[0]+coefficient.slice(2):coefficient,+x.slice(i+1)]}function exponent(x){return x=formatDecimal(Math.abs(x)),x?x[1]:NaN}function formatGroup(grouping,thousands){return function(value,width){var i=value.length,t=[],j=0,g=grouping[0],length=0;while(i>0&&g>0){if(length+g+1>width)g=Math.max(1,width-length);t.push(value.substring(i-=g,i+g));if((length+=g+1)>width)break;g=grouping[j=(j+1)%grouping.length]}return t.reverse().join(thousands)}}function formatNumerals(numerals){return function(value){return value.replace(/[0-9]/g,function(i){return numerals[+i]})}}var re=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function formatSpecifier(specifier){return new FormatSpecifier(specifier)}formatSpecifier.prototype=FormatSpecifier.prototype;function FormatSpecifier(specifier){if(!(match=re.exec(specifier)))throw new Error("invalid format: "+specifier);var match;this.fill=match[1]||" ";this.align=match[2]||">";this.sign=match[3]||"-";this.symbol=match[4]||"";this.zero=!!match[5];this.width=match[6]&&+match[6];this.comma=!!match[7];this.precision=match[8]&&+match[8].slice(1);this.trim=!!match[9];this.type=match[10]||""}FormatSpecifier.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width==null?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision==null?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function formatTrim(s){out:for(var n=s.length,i=1,i0=-1,i1;i<n;++i){switch(s[i]){case".":i0=i1=i;break;case"0":if(i0===0)i0=i;i1=i;break;default:if(i0>0){if(!+s[i])break out;i0=0}break}}return i0>0?s.slice(0,i0)+s.slice(i1+1):s}var prefixExponent;function formatPrefixAuto(x,p){var d=formatDecimal(x,p);if(!d)return x+"";var coefficient=d[0],exponent=d[1],i=exponent-(prefixExponent=Math.max(-8,Math.min(8,Math.floor(exponent/3)))*3)+1,n=coefficient.length;return i===n?coefficient:i>n?coefficient+new Array(i-n+1).join("0"):i>0?coefficient.slice(0,i)+"."+coefficient.slice(i):"0."+new Array(1-i).join("0")+formatDecimal(x,Math.max(0,p+i-1))[0]}function formatRounded(x,p){var d=formatDecimal(x,p);if(!d)return x+"";var coefficient=d[0],exponent=d[1];return exponent<0?"0."+new Array(-exponent).join("0")+coefficient:coefficient.length>exponent+1?coefficient.slice(0,exponent+1)+"."+coefficient.slice(exponent+1):coefficient+new Array(exponent-coefficient.length+2).join("0")}var formatTypes={"%":function(x,p){return(x*100).toFixed(p)},b:function(x){return Math.round(x).toString(2)},c:function(x){return x+""},d:function(x){return Math.round(x).toString(10)},e:function(x,p){return x.toExponential(p)},f:function(x,p){return x.toFixed(p)},g:function(x,p){return x.toPrecision(p)},o:function(x){return Math.round(x).toString(8)},p:function(x,p){return formatRounded(x*100,p)},r:formatRounded,s:formatPrefixAuto,X:function(x){return Math.round(x).toString(16).toUpperCase()},x:function(x){return Math.round(x).toString(16)}};function identity(x){return x}var prefixes=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function formatLocale(locale){var group=locale.grouping&&locale.thousands?formatGroup(locale.grouping,locale.thousands):identity,currency=locale.currency,decimal=locale.decimal,numerals=locale.numerals?formatNumerals(locale.numerals):identity,percent=locale.percent||"%";function newFormat(specifier){specifier=formatSpecifier(specifier);var fill=specifier.fill,align=specifier.align,sign=specifier.sign,symbol=specifier.symbol,zero=specifier.zero,width=specifier.width,comma=specifier.comma,precision=specifier.precision,trim=specifier.trim,type=specifier.type;if(type==="n")comma=true,type="g";else if(!formatTypes[type])precision==null&&(precision=12),trim=true,type="g";if(zero||fill==="0"&&align==="=")zero=true,fill="0",align="=";var prefix=symbol==="$"?currency[0]:symbol==="#"&&/[boxX]/.test(type)?"0"+type.toLowerCase():"",suffix=symbol==="$"?currency[1]:/[%p]/.test(type)?percent:"";var formatType=formatTypes[type],maybeSuffix=/[defgprs%]/.test(type);precision=precision==null?6:/[gprs]/.test(type)?Math.max(1,Math.min(21,precision)):Math.max(0,Math.min(20,precision));function format(value){var valuePrefix=prefix,valueSuffix=suffix,i,n,c;if(type==="c"){valueSuffix=formatType(value)+valueSuffix;value=""}else{value=+value;var valueNegative=value<0;value=formatType(Math.abs(value),precision);if(trim)value=formatTrim(value);if(valueNegative&&+value===0)valueNegative=false;valuePrefix=(valueNegative?sign==="("?sign:"-":sign==="-"||sign==="("?"":sign)+valuePrefix;valueSuffix=(type==="s"?prefixes[8+prefixExponent/3]:"")+valueSuffix+(valueNegative&&sign==="("?")":"");if(maybeSuffix){i=-1,n=value.length;while(++i<n){if(c=value.charCodeAt(i),48>c||c>57){valueSuffix=(c===46?decimal+value.slice(i+1):value.slice(i))+valueSuffix;value=value.slice(0,i);break}}}}if(comma&&!zero)value=group(value,Infinity);var length=valuePrefix.length+value.length+valueSuffix.length,padding=length<width?new Array(width-length+1).join(fill):"";if(comma&&zero)value=group(padding+value,padding.length?width-valueSuffix.length:Infinity),padding="";switch(align){case"<":value=valuePrefix+value+valueSuffix+padding;break;case"=":value=valuePrefix+padding+value+valueSuffix;break;case"^":value=padding.slice(0,length=padding.length>>1)+valuePrefix+value+valueSuffix+padding.slice(length);break;default:value=padding+valuePrefix+value+valueSuffix;break}return numerals(value)}format.toString=function(){return specifier+""};return format}function formatPrefix(specifier,value){var f=newFormat((specifier=formatSpecifier(specifier),specifier.type="f",specifier)),e=Math.max(-8,Math.min(8,Math.floor(exponent(value)/3)))*3,k=Math.pow(10,-e),prefix=prefixes[8+e/3];return function(value){return f(k*value)+prefix}}return{format:newFormat,formatPrefix:formatPrefix}}var locale;defaultLocale({decimal:".",thousands:",",grouping:[3],currency:["$",""]});function defaultLocale(definition){locale=formatLocale(definition);exports.format=locale.format;exports.formatPrefix=locale.formatPrefix;return locale}function precisionFixed(step){return Math.max(0,-exponent(Math.abs(step)))}function precisionPrefix(step,value){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(exponent(value)/3)))*3-exponent(Math.abs(step)))}function precisionRound(step,max){step=Math.abs(step),max=Math.abs(max)-step;return Math.max(0,exponent(max)-exponent(step))+1}exports.formatDefaultLocale=defaultLocale;exports.formatLocale=formatLocale;exports.formatSpecifier=formatSpecifier;exports.precisionFixed=precisionFixed;exports.precisionPrefix=precisionPrefix;exports.precisionRound=precisionRound;Object.defineProperty(exports,"__esModule",{value:true})})},{}],8:[function(require,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports,require("d3-array")):typeof define==="function"&&define.amd?define(["exports","d3-array"],factory):factory(global.d3=global.d3||{},global.d3)})(this,function(exports,d3Array){"use strict";function adder(){return new Adder}function Adder(){this.reset()}Adder.prototype={constructor:Adder,reset:function(){this.s=this.t=0},add:function(y){add(temp,y,this.t);add(this,temp.s,this.s);if(this.s)this.t+=temp.t;else this.s=temp.t},valueOf:function(){return this.s}};var temp=new Adder;function add(adder,a,b){var x=adder.s=a+b,bv=x-a,av=x-bv;adder.t=a-av+(b-bv)}var epsilon=1e-6;var epsilon2=1e-12;var pi=Math.PI;var halfPi=pi/2;var quarterPi=pi/4;var tau=pi*2;var degrees=180/pi;var radians=pi/180;var abs=Math.abs;var atan=Math.atan;var atan2=Math.atan2;var cos=Math.cos;var ceil=Math.ceil;var exp=Math.exp;var log=Math.log;var pow=Math.pow;var sin=Math.sin;var sign=Math.sign||function(x){return x>0?1:x<0?-1:0};var sqrt=Math.sqrt;var tan=Math.tan;function acos(x){return x>1?0:x<-1?pi:Math.acos(x)}function asin(x){return x>1?halfPi:x<-1?-halfPi:Math.asin(x)}function haversin(x){return(x=sin(x/2))*x}function noop(){}function streamGeometry(geometry,stream){if(geometry&&streamGeometryType.hasOwnProperty(geometry.type)){streamGeometryType[geometry.type](geometry,stream)}}var streamObjectType={Feature:function(object,stream){streamGeometry(object.geometry,stream)},FeatureCollection:function(object,stream){var features=object.features,i=-1,n=features.length;while(++i<n)streamGeometry(features[i].geometry,stream)}};var streamGeometryType={Sphere:function(object,stream){stream.sphere()},Point:function(object,stream){object=object.coordinates;stream.point(object[0],object[1],object[2])},MultiPoint:function(object,stream){var coordinates=object.coordinates,i=-1,n=coordinates.length;while(++i<n)object=coordinates[i],stream.point(object[0],object[1],object[2])},LineString:function(object,stream){streamLine(object.coordinates,stream,0)},MultiLineString:function(object,stream){var coordinates=object.coordinates,i=-1,n=coordinates.length;while(++i<n)streamLine(coordinates[i],stream,0)},Polygon:function(object,stream){streamPolygon(object.coordinates,stream)},MultiPolygon:function(object,stream){var coordinates=object.coordinates,i=-1,n=coordinates.length;while(++i<n)streamPolygon(coordinates[i],stream)},GeometryCollection:function(object,stream){var geometries=object.geometries,i=-1,n=geometries.length;while(++i<n)streamGeometry(geometries[i],stream)}};function streamLine(coordinates,stream,closed){var i=-1,n=coordinates.length-closed,coordinate;stream.lineStart();while(++i<n)coordinate=coordinates[i],stream.point(coordinate[0],coordinate[1],coordinate[2]);stream.lineEnd()}function streamPolygon(coordinates,stream){var i=-1,n=coordinates.length;stream.polygonStart();while(++i<n)streamLine(coordinates[i],stream,1);stream.polygonEnd()}function geoStream(object,stream){if(object&&streamObjectType.hasOwnProperty(object.type)){streamObjectType[object.type](object,stream)}else{streamGeometry(object,stream)}}var areaRingSum=adder();var areaSum=adder(),lambda00,phi00,lambda0,cosPhi0,sinPhi0;var areaStream={point:noop,lineStart:noop,lineEnd:noop,polygonStart:function(){areaRingSum.reset();areaStream.lineStart=areaRingStart;areaStream.lineEnd=areaRingEnd},polygonEnd:function(){var areaRing=+areaRingSum;areaSum.add(areaRing<0?tau+areaRing:areaRing);this.lineStart=this.lineEnd=this.point=noop},sphere:function(){areaSum.add(tau)}};function areaRingStart(){areaStream.point=areaPointFirst}function areaRingEnd(){areaPoint(lambda00,phi00)}function areaPointFirst(lambda,phi){areaStream.point=areaPoint;lambda00=lambda,phi00=phi;lambda*=radians,phi*=radians;lambda0=lambda,cosPhi0=cos(phi=phi/2+quarterPi),sinPhi0=sin(phi)}function areaPoint(lambda,phi){lambda*=radians,phi*=radians;phi=phi/2+quarterPi;var dLambda=lambda-lambda0,sdLambda=dLambda>=0?1:-1,adLambda=sdLambda*dLambda,cosPhi=cos(phi),sinPhi=sin(phi),k=sinPhi0*sinPhi,u=cosPhi0*cosPhi+k*cos(adLambda),v=k*sdLambda*sin(adLambda);areaRingSum.add(atan2(v,u));lambda0=lambda,cosPhi0=cosPhi,sinPhi0=sinPhi}function area(object){areaSum.reset();geoStream(object,areaStream);return areaSum*2}function spherical(cartesian){return[atan2(cartesian[1],cartesian[0]),asin(cartesian[2])]}function cartesian(spherical){var lambda=spherical[0],phi=spherical[1],cosPhi=cos(phi);return[cosPhi*cos(lambda),cosPhi*sin(lambda),sin(phi)]}function cartesianDot(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]}function cartesianCross(a,b){return[a[1]*b[2]-a[2]*b[1],a[2]*b[0]-a[0]*b[2],a[0]*b[1]-a[1]*b[0]]}function cartesianAddInPlace(a,b){a[0]+=b[0],a[1]+=b[1],a[2]+=b[2]}function cartesianScale(vector,k){return[vector[0]*k,vector[1]*k,vector[2]*k]}function cartesianNormalizeInPlace(d){var l=sqrt(d[0]*d[0]+d[1]*d[1]+d[2]*d[2]);d[0]/=l,d[1]/=l,d[2]/=l}var lambda0$1,phi0,lambda1,phi1,lambda2,lambda00$1,phi00$1,p0,deltaSum=adder(),ranges,range;var boundsStream={point:boundsPoint,lineStart:boundsLineStart,lineEnd:boundsLineEnd,polygonStart:function(){boundsStream.point=boundsRingPoint;boundsStream.lineStart=boundsRingStart;boundsStream.lineEnd=boundsRingEnd;deltaSum.reset();areaStream.polygonStart()},polygonEnd:function(){areaStream.polygonEnd();boundsStream.point=boundsPoint;boundsStream.lineStart=boundsLineStart;boundsStream.lineEnd=boundsLineEnd;if(areaRingSum<0)lambda0$1=-(lambda1=180),phi0=-(phi1=90);else if(deltaSum>epsilon)phi1=90;else if(deltaSum<-epsilon)phi0=-90;range[0]=lambda0$1,range[1]=lambda1}};function boundsPoint(lambda,phi){ranges.push(range=[lambda0$1=lambda,lambda1=lambda]);if(phi<phi0)phi0=phi;if(phi>phi1)phi1=phi}function linePoint(lambda,phi){var p=cartesian([lambda*radians,phi*radians]);if(p0){var normal=cartesianCross(p0,p),equatorial=[normal[1],-normal[0],0],inflection=cartesianCross(equatorial,normal);cartesianNormalizeInPlace(inflection);inflection=spherical(inflection);var delta=lambda-lambda2,sign$$1=delta>0?1:-1,lambdai=inflection[0]*degrees*sign$$1,phii,antimeridian=abs(delta)>180;if(antimeridian^(sign$$1*lambda2<lambdai&&lambdai<sign$$1*lambda)){phii=inflection[1]*degrees;if(phii>phi1)phi1=phii}else if(lambdai=(lambdai+360)%360-180,antimeridian^(sign$$1*lambda2<lambdai&&lambdai<sign$$1*lambda)){phii=-inflection[1]*degrees;if(phii<phi0)phi0=phii}else{if(phi<phi0)phi0=phi;if(phi>phi1)phi1=phi}if(antimeridian){if(lambda<lambda2){if(angle(lambda0$1,lambda)>angle(lambda0$1,lambda1))lambda1=lambda}else{if(angle(lambda,lambda1)>angle(lambda0$1,lambda1))lambda0$1=lambda}}else{if(lambda1>=lambda0$1){if(lambda<lambda0$1)lambda0$1=lambda;if(lambda>lambda1)lambda1=lambda}else{if(lambda>lambda2){if(angle(lambda0$1,lambda)>angle(lambda0$1,lambda1))lambda1=lambda}else{if(angle(lambda,lambda1)>angle(lambda0$1,lambda1))lambda0$1=lambda}}}}else{ranges.push(range=[lambda0$1=lambda,lambda1=lambda])}if(phi<phi0)phi0=phi;if(phi>phi1)phi1=phi;p0=p,lambda2=lambda}function boundsLineStart(){boundsStream.point=linePoint}function boundsLineEnd(){range[0]=lambda0$1,range[1]=lambda1;boundsStream.point=boundsPoint;p0=null}function boundsRingPoint(lambda,phi){if(p0){var delta=lambda-lambda2;deltaSum.add(abs(delta)>180?delta+(delta>0?360:-360):delta)}else{lambda00$1=lambda,phi00$1=phi}areaStream.point(lambda,phi);linePoint(lambda,phi)}function boundsRingStart(){areaStream.lineStart()}function boundsRingEnd(){
  3. boundsRingPoint(lambda00$1,phi00$1);areaStream.lineEnd();if(abs(deltaSum)>epsilon)lambda0$1=-(lambda1=180);range[0]=lambda0$1,range[1]=lambda1;p0=null}function angle(lambda0,lambda1){return(lambda1-=lambda0)<0?lambda1+360:lambda1}function rangeCompare(a,b){return a[0]-b[0]}function rangeContains(range,x){return range[0]<=range[1]?range[0]<=x&&x<=range[1]:x<range[0]||range[1]<x}function bounds(feature){var i,n,a,b,merged,deltaMax,delta;phi1=lambda1=-(lambda0$1=phi0=Infinity);ranges=[];geoStream(feature,boundsStream);if(n=ranges.length){ranges.sort(rangeCompare);for(i=1,a=ranges[0],merged=[a];i<n;++i){b=ranges[i];if(rangeContains(a,b[0])||rangeContains(a,b[1])){if(angle(a[0],b[1])>angle(a[0],a[1]))a[1]=b[1];if(angle(b[0],a[1])>angle(a[0],a[1]))a[0]=b[0]}else{merged.push(a=b)}}for(deltaMax=-Infinity,n=merged.length-1,i=0,a=merged[n];i<=n;a=b,++i){b=merged[i];if((delta=angle(a[1],b[0]))>deltaMax)deltaMax=delta,lambda0$1=b[0],lambda1=a[1]}}ranges=range=null;return lambda0$1===Infinity||phi0===Infinity?[[NaN,NaN],[NaN,NaN]]:[[lambda0$1,phi0],[lambda1,phi1]]}var W0,W1,X0,Y0,Z0,X1,Y1,Z1,X2,Y2,Z2,lambda00$2,phi00$2,x0,y0,z0;var centroidStream={sphere:noop,point:centroidPoint,lineStart:centroidLineStart,lineEnd:centroidLineEnd,polygonStart:function(){centroidStream.lineStart=centroidRingStart;centroidStream.lineEnd=centroidRingEnd},polygonEnd:function(){centroidStream.lineStart=centroidLineStart;centroidStream.lineEnd=centroidLineEnd}};function centroidPoint(lambda,phi){lambda*=radians,phi*=radians;var cosPhi=cos(phi);centroidPointCartesian(cosPhi*cos(lambda),cosPhi*sin(lambda),sin(phi))}function centroidPointCartesian(x,y,z){++W0;X0+=(x-X0)/W0;Y0+=(y-Y0)/W0;Z0+=(z-Z0)/W0}function centroidLineStart(){centroidStream.point=centroidLinePointFirst}function centroidLinePointFirst(lambda,phi){lambda*=radians,phi*=radians;var cosPhi=cos(phi);x0=cosPhi*cos(lambda);y0=cosPhi*sin(lambda);z0=sin(phi);centroidStream.point=centroidLinePoint;centroidPointCartesian(x0,y0,z0)}function centroidLinePoint(lambda,phi){lambda*=radians,phi*=radians;var cosPhi=cos(phi),x=cosPhi*cos(lambda),y=cosPhi*sin(lambda),z=sin(phi),w=atan2(sqrt((w=y0*z-z0*y)*w+(w=z0*x-x0*z)*w+(w=x0*y-y0*x)*w),x0*x+y0*y+z0*z);W1+=w;X1+=w*(x0+(x0=x));Y1+=w*(y0+(y0=y));Z1+=w*(z0+(z0=z));centroidPointCartesian(x0,y0,z0)}function centroidLineEnd(){centroidStream.point=centroidPoint}function centroidRingStart(){centroidStream.point=centroidRingPointFirst}function centroidRingEnd(){centroidRingPoint(lambda00$2,phi00$2);centroidStream.point=centroidPoint}function centroidRingPointFirst(lambda,phi){lambda00$2=lambda,phi00$2=phi;lambda*=radians,phi*=radians;centroidStream.point=centroidRingPoint;var cosPhi=cos(phi);x0=cosPhi*cos(lambda);y0=cosPhi*sin(lambda);z0=sin(phi);centroidPointCartesian(x0,y0,z0)}function centroidRingPoint(lambda,phi){lambda*=radians,phi*=radians;var cosPhi=cos(phi),x=cosPhi*cos(lambda),y=cosPhi*sin(lambda),z=sin(phi),cx=y0*z-z0*y,cy=z0*x-x0*z,cz=x0*y-y0*x,m=sqrt(cx*cx+cy*cy+cz*cz),w=asin(m),v=m&&-w/m;X2+=v*cx;Y2+=v*cy;Z2+=v*cz;W1+=w;X1+=w*(x0+(x0=x));Y1+=w*(y0+(y0=y));Z1+=w*(z0+(z0=z));centroidPointCartesian(x0,y0,z0)}function centroid(object){W0=W1=X0=Y0=Z0=X1=Y1=Z1=X2=Y2=Z2=0;geoStream(object,centroidStream);var x=X2,y=Y2,z=Z2,m=x*x+y*y+z*z;if(m<epsilon2){x=X1,y=Y1,z=Z1;if(W1<epsilon)x=X0,y=Y0,z=Z0;m=x*x+y*y+z*z;if(m<epsilon2)return[NaN,NaN]}return[atan2(y,x)*degrees,asin(z/sqrt(m))*degrees]}function constant(x){return function(){return x}}function compose(a,b){function compose(x,y){return x=a(x,y),b(x[0],x[1])}if(a.invert&&b.invert)compose.invert=function(x,y){return x=b.invert(x,y),x&&a.invert(x[0],x[1])};return compose}function rotationIdentity(lambda,phi){return[abs(lambda)>pi?lambda+Math.round(-lambda/tau)*tau:lambda,phi]}rotationIdentity.invert=rotationIdentity;function rotateRadians(deltaLambda,deltaPhi,deltaGamma){return(deltaLambda%=tau)?deltaPhi||deltaGamma?compose(rotationLambda(deltaLambda),rotationPhiGamma(deltaPhi,deltaGamma)):rotationLambda(deltaLambda):deltaPhi||deltaGamma?rotationPhiGamma(deltaPhi,deltaGamma):rotationIdentity}function forwardRotationLambda(deltaLambda){return function(lambda,phi){return lambda+=deltaLambda,[lambda>pi?lambda-tau:lambda<-pi?lambda+tau:lambda,phi]}}function rotationLambda(deltaLambda){var rotation=forwardRotationLambda(deltaLambda);rotation.invert=forwardRotationLambda(-deltaLambda);return rotation}function rotationPhiGamma(deltaPhi,deltaGamma){var cosDeltaPhi=cos(deltaPhi),sinDeltaPhi=sin(deltaPhi),cosDeltaGamma=cos(deltaGamma),sinDeltaGamma=sin(deltaGamma);function rotation(lambda,phi){var cosPhi=cos(phi),x=cos(lambda)*cosPhi,y=sin(lambda)*cosPhi,z=sin(phi),k=z*cosDeltaPhi+x*sinDeltaPhi;return[atan2(y*cosDeltaGamma-k*sinDeltaGamma,x*cosDeltaPhi-z*sinDeltaPhi),asin(k*cosDeltaGamma+y*sinDeltaGamma)]}rotation.invert=function(lambda,phi){var cosPhi=cos(phi),x=cos(lambda)*cosPhi,y=sin(lambda)*cosPhi,z=sin(phi),k=z*cosDeltaGamma-y*sinDeltaGamma;return[atan2(y*cosDeltaGamma+z*sinDeltaGamma,x*cosDeltaPhi+k*sinDeltaPhi),asin(k*cosDeltaPhi-x*sinDeltaPhi)]};return rotation}function rotation(rotate){rotate=rotateRadians(rotate[0]*radians,rotate[1]*radians,rotate.length>2?rotate[2]*radians:0);function forward(coordinates){coordinates=rotate(coordinates[0]*radians,coordinates[1]*radians);return coordinates[0]*=degrees,coordinates[1]*=degrees,coordinates}forward.invert=function(coordinates){coordinates=rotate.invert(coordinates[0]*radians,coordinates[1]*radians);return coordinates[0]*=degrees,coordinates[1]*=degrees,coordinates};return forward}function circleStream(stream,radius,delta,direction,t0,t1){if(!delta)return;var cosRadius=cos(radius),sinRadius=sin(radius),step=direction*delta;if(t0==null){t0=radius+direction*tau;t1=radius-step/2}else{t0=circleRadius(cosRadius,t0);t1=circleRadius(cosRadius,t1);if(direction>0?t0<t1:t0>t1)t0+=direction*tau}for(var point,t=t0;direction>0?t>t1:t<t1;t-=step){point=spherical([cosRadius,-sinRadius*cos(t),-sinRadius*sin(t)]);stream.point(point[0],point[1])}}function circleRadius(cosRadius,point){point=cartesian(point),point[0]-=cosRadius;cartesianNormalizeInPlace(point);var radius=acos(-point[1]);return((-point[2]<0?-radius:radius)+tau-epsilon)%tau}function circle(){var center=constant([0,0]),radius=constant(90),precision=constant(6),ring,rotate,stream={point:point};function point(x,y){ring.push(x=rotate(x,y));x[0]*=degrees,x[1]*=degrees}function circle(){var c=center.apply(this,arguments),r=radius.apply(this,arguments)*radians,p=precision.apply(this,arguments)*radians;ring=[];rotate=rotateRadians(-c[0]*radians,-c[1]*radians,0).invert;circleStream(stream,r,p,1);c={type:"Polygon",coordinates:[ring]};ring=rotate=null;return c}circle.center=function(_){return arguments.length?(center=typeof _==="function"?_:constant([+_[0],+_[1]]),circle):center};circle.radius=function(_){return arguments.length?(radius=typeof _==="function"?_:constant(+_),circle):radius};circle.precision=function(_){return arguments.length?(precision=typeof _==="function"?_:constant(+_),circle):precision};return circle}function clipBuffer(){var lines=[],line;return{point:function(x,y){line.push([x,y])},lineStart:function(){lines.push(line=[])},lineEnd:noop,rejoin:function(){if(lines.length>1)lines.push(lines.pop().concat(lines.shift()))},result:function(){var result=lines;lines=[];line=null;return result}}}function pointEqual(a,b){return abs(a[0]-b[0])<epsilon&&abs(a[1]-b[1])<epsilon}function Intersection(point,points,other,entry){this.x=point;this.z=points;this.o=other;this.e=entry;this.v=false;this.n=this.p=null}function clipRejoin(segments,compareIntersection,startInside,interpolate,stream){var subject=[],clip=[],i,n;segments.forEach(function(segment){if((n=segment.length-1)<=0)return;var n,p0=segment[0],p1=segment[n],x;if(pointEqual(p0,p1)){stream.lineStart();for(i=0;i<n;++i)stream.point((p0=segment[i])[0],p0[1]);stream.lineEnd();return}subject.push(x=new Intersection(p0,segment,null,true));clip.push(x.o=new Intersection(p0,null,x,false));subject.push(x=new Intersection(p1,segment,null,false));clip.push(x.o=new Intersection(p1,null,x,true))});if(!subject.length)return;clip.sort(compareIntersection);link(subject);link(clip);for(i=0,n=clip.length;i<n;++i){clip[i].e=startInside=!startInside}var start=subject[0],points,point;while(1){var current=start,isSubject=true;while(current.v)if((current=current.n)===start)return;points=current.z;stream.lineStart();do{current.v=current.o.v=true;if(current.e){if(isSubject){for(i=0,n=points.length;i<n;++i)stream.point((point=points[i])[0],point[1])}else{interpolate(current.x,current.n.x,1,stream)}current=current.n}else{if(isSubject){points=current.p.z;for(i=points.length-1;i>=0;--i)stream.point((point=points[i])[0],point[1])}else{interpolate(current.x,current.p.x,-1,stream)}current=current.p}current=current.o;points=current.z;isSubject=!isSubject}while(!current.v);stream.lineEnd()}}function link(array){if(!(n=array.length))return;var n,i=0,a=array[0],b;while(++i<n){a.n=b=array[i];b.p=a;a=b}a.n=b=array[0];b.p=a}var sum=adder();function polygonContains(polygon,point){var lambda=point[0],phi=point[1],sinPhi=sin(phi),normal=[sin(lambda),-cos(lambda),0],angle=0,winding=0;sum.reset();if(sinPhi===1)phi=halfPi+epsilon;else if(sinPhi===-1)phi=-halfPi-epsilon;for(var i=0,n=polygon.length;i<n;++i){if(!(m=(ring=polygon[i]).length))continue;var ring,m,point0=ring[m-1],lambda0=point0[0],phi0=point0[1]/2+quarterPi,sinPhi0=sin(phi0),cosPhi0=cos(phi0);for(var j=0;j<m;++j,lambda0=lambda1,sinPhi0=sinPhi1,cosPhi0=cosPhi1,point0=point1){var point1=ring[j],lambda1=point1[0],phi1=point1[1]/2+quarterPi,sinPhi1=sin(phi1),cosPhi1=cos(phi1),delta=lambda1-lambda0,sign$$1=delta>=0?1:-1,absDelta=sign$$1*delta,antimeridian=absDelta>pi,k=sinPhi0*sinPhi1;sum.add(atan2(k*sign$$1*sin(absDelta),cosPhi0*cosPhi1+k*cos(absDelta)));angle+=antimeridian?delta+sign$$1*tau:delta;if(antimeridian^lambda0>=lambda^lambda1>=lambda){var arc=cartesianCross(cartesian(point0),cartesian(point1));cartesianNormalizeInPlace(arc);var intersection=cartesianCross(normal,arc);cartesianNormalizeInPlace(intersection);var phiArc=(antimeridian^delta>=0?-1:1)*asin(intersection[2]);if(phi>phiArc||phi===phiArc&&(arc[0]||arc[1])){winding+=antimeridian^delta>=0?1:-1}}}}return(angle<-epsilon||angle<epsilon&&sum<-epsilon)^winding&1}function clip(pointVisible,clipLine,interpolate,start){return function(sink){var line=clipLine(sink),ringBuffer=clipBuffer(),ringSink=clipLine(ringBuffer),polygonStarted=false,polygon,segments,ring;var clip={point:point,lineStart:lineStart,lineEnd:lineEnd,polygonStart:function(){clip.point=pointRing;clip.lineStart=ringStart;clip.lineEnd=ringEnd;segments=[];polygon=[]},polygonEnd:function(){clip.point=point;clip.lineStart=lineStart;clip.lineEnd=lineEnd;segments=d3Array.merge(segments);var startInside=polygonContains(polygon,start);if(segments.length){if(!polygonStarted)sink.polygonStart(),polygonStarted=true;clipRejoin(segments,compareIntersection,startInside,interpolate,sink)}else if(startInside){if(!polygonStarted)sink.polygonStart(),polygonStarted=true;sink.lineStart();interpolate(null,null,1,sink);sink.lineEnd()}if(polygonStarted)sink.polygonEnd(),polygonStarted=false;segments=polygon=null},sphere:function(){sink.polygonStart();sink.lineStart();interpolate(null,null,1,sink);sink.lineEnd();sink.polygonEnd()}};function point(lambda,phi){if(pointVisible(lambda,phi))sink.point(lambda,phi)}function pointLine(lambda,phi){line.point(lambda,phi)}function lineStart(){clip.point=pointLine;line.lineStart()}function lineEnd(){clip.point=point;line.lineEnd()}function pointRing(lambda,phi){ring.push([lambda,phi]);ringSink.point(lambda,phi)}function ringStart(){ringSink.lineStart();ring=[]}function ringEnd(){pointRing(ring[0][0],ring[0][1]);ringSink.lineEnd();var clean=ringSink.clean(),ringSegments=ringBuffer.result(),i,n=ringSegments.length,m,segment,point;ring.pop();polygon.push(ring);ring=null;if(!n)return;if(clean&1){segment=ringSegments[0];if((m=segment.length-1)>0){if(!polygonStarted)sink.polygonStart(),polygonStarted=true;sink.lineStart();for(i=0;i<m;++i)sink.point((point=segment[i])[0],point[1]);sink.lineEnd()}return}if(n>1&&clean&2)ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));segments.push(ringSegments.filter(validSegment))}return clip}}function validSegment(segment){return segment.length>1}function compareIntersection(a,b){return((a=a.x)[0]<0?a[1]-halfPi-epsilon:halfPi-a[1])-((b=b.x)[0]<0?b[1]-halfPi-epsilon:halfPi-b[1])}var clipAntimeridian=clip(function(){return true},clipAntimeridianLine,clipAntimeridianInterpolate,[-pi,-halfPi]);function clipAntimeridianLine(stream){var lambda0=NaN,phi0=NaN,sign0=NaN,clean;return{lineStart:function(){stream.lineStart();clean=1},point:function(lambda1,phi1){var sign1=lambda1>0?pi:-pi,delta=abs(lambda1-lambda0);if(abs(delta-pi)<epsilon){stream.point(lambda0,phi0=(phi0+phi1)/2>0?halfPi:-halfPi);stream.point(sign0,phi0);stream.lineEnd();stream.lineStart();stream.point(sign1,phi0);stream.point(lambda1,phi0);clean=0}else if(sign0!==sign1&&delta>=pi){if(abs(lambda0-sign0)<epsilon)lambda0-=sign0*epsilon;if(abs(lambda1-sign1)<epsilon)lambda1-=sign1*epsilon;phi0=clipAntimeridianIntersect(lambda0,phi0,lambda1,phi1);stream.point(sign0,phi0);stream.lineEnd();stream.lineStart();stream.point(sign1,phi0);clean=0}stream.point(lambda0=lambda1,phi0=phi1);sign0=sign1},lineEnd:function(){stream.lineEnd();lambda0=phi0=NaN},clean:function(){return 2-clean}}}function clipAntimeridianIntersect(lambda0,phi0,lambda1,phi1){var cosPhi0,cosPhi1,sinLambda0Lambda1=sin(lambda0-lambda1);return abs(sinLambda0Lambda1)>epsilon?atan((sin(phi0)*(cosPhi1=cos(phi1))*sin(lambda1)-sin(phi1)*(cosPhi0=cos(phi0))*sin(lambda0))/(cosPhi0*cosPhi1*sinLambda0Lambda1)):(phi0+phi1)/2}function clipAntimeridianInterpolate(from,to,direction,stream){var phi;if(from==null){phi=direction*halfPi;stream.point(-pi,phi);stream.point(0,phi);stream.point(pi,phi);stream.point(pi,0);stream.point(pi,-phi);stream.point(0,-phi);stream.point(-pi,-phi);stream.point(-pi,0);stream.point(-pi,phi)}else if(abs(from[0]-to[0])>epsilon){var lambda=from[0]<to[0]?pi:-pi;phi=direction*lambda/2;stream.point(-lambda,phi);stream.point(0,phi);stream.point(lambda,phi)}else{stream.point(to[0],to[1])}}function clipCircle(radius){var cr=cos(radius),delta=6*radians,smallRadius=cr>0,notHemisphere=abs(cr)>epsilon;function interpolate(from,to,direction,stream){circleStream(stream,radius,delta,direction,from,to)}function visible(lambda,phi){return cos(lambda)*cos(phi)>cr}function clipLine(stream){var point0,c0,v0,v00,clean;return{lineStart:function(){v00=v0=false;clean=1},point:function(lambda,phi){var point1=[lambda,phi],point2,v=visible(lambda,phi),c=smallRadius?v?0:code(lambda,phi):v?code(lambda+(lambda<0?pi:-pi),phi):0;if(!point0&&(v00=v0=v))stream.lineStart();if(v!==v0){point2=intersect(point0,point1);if(!point2||pointEqual(point0,point2)||pointEqual(point1,point2)){point1[0]+=epsilon;point1[1]+=epsilon;v=visible(point1[0],point1[1])}}if(v!==v0){clean=0;if(v){stream.lineStart();point2=intersect(point1,point0);stream.point(point2[0],point2[1])}else{point2=intersect(point0,point1);stream.point(point2[0],point2[1]);stream.lineEnd()}point0=point2}else if(notHemisphere&&point0&&smallRadius^v){var t;if(!(c&c0)&&(t=intersect(point1,point0,true))){clean=0;if(smallRadius){stream.lineStart();stream.point(t[0][0],t[0][1]);stream.point(t[1][0],t[1][1]);stream.lineEnd()}else{stream.point(t[1][0],t[1][1]);stream.lineEnd();stream.lineStart();stream.point(t[0][0],t[0][1])}}}if(v&&(!point0||!pointEqual(point0,point1))){stream.point(point1[0],point1[1])}point0=point1,v0=v,c0=c},lineEnd:function(){if(v0)stream.lineEnd();point0=null},clean:function(){return clean|(v00&&v0)<<1}}}function intersect(a,b,two){var pa=cartesian(a),pb=cartesian(b);var n1=[1,0,0],n2=cartesianCross(pa,pb),n2n2=cartesianDot(n2,n2),n1n2=n2[0],determinant=n2n2-n1n2*n1n2;if(!determinant)return!two&&a;var c1=cr*n2n2/determinant,c2=-cr*n1n2/determinant,n1xn2=cartesianCross(n1,n2),A=cartesianScale(n1,c1),B=cartesianScale(n2,c2);cartesianAddInPlace(A,B);var u=n1xn2,w=cartesianDot(A,u),uu=cartesianDot(u,u),t2=w*w-uu*(cartesianDot(A,A)-1);if(t2<0)return;var t=sqrt(t2),q=cartesianScale(u,(-w-t)/uu);cartesianAddInPlace(q,A);q=spherical(q);if(!two)return q;var lambda0=a[0],lambda1=b[0],phi0=a[1],phi1=b[1],z;if(lambda1<lambda0)z=lambda0,lambda0=lambda1,lambda1=z;var delta=lambda1-lambda0,polar=abs(delta-pi)<epsilon,meridian=polar||delta<epsilon;if(!polar&&phi1<phi0)z=phi0,phi0=phi1,phi1=z;if(meridian?polar?phi0+phi1>0^q[1]<(abs(q[0]-lambda0)<epsilon?phi0:phi1):phi0<=q[1]&&q[1]<=phi1:delta>pi^(lambda0<=q[0]&&q[0]<=lambda1)){var q1=cartesianScale(u,(-w+t)/uu);cartesianAddInPlace(q1,A);return[q,spherical(q1)]}}function code(lambda,phi){var r=smallRadius?radius:pi-radius,code=0;if(lambda<-r)code|=1;else if(lambda>r)code|=2;if(phi<-r)code|=4;else if(phi>r)code|=8;return code}return clip(visible,clipLine,interpolate,smallRadius?[0,-radius]:[-pi,radius-pi])}function clipLine(a,b,x0,y0,x1,y1){var ax=a[0],ay=a[1],bx=b[0],by=b[1],t0=0,t1=1,dx=bx-ax,dy=by-ay,r;r=x0-ax;if(!dx&&r>0)return;r/=dx;if(dx<0){if(r<t0)return;if(r<t1)t1=r}else if(dx>0){if(r>t1)return;if(r>t0)t0=r}r=x1-ax;if(!dx&&r<0)return;r/=dx;if(dx<0){if(r>t1)return;if(r>t0)t0=r}else if(dx>0){if(r<t0)return;if(r<t1)t1=r}r=y0-ay;if(!dy&&r>0)return;r/=dy;if(dy<0){if(r<t0)return;if(r<t1)t1=r}else if(dy>0){if(r>t1)return;if(r>t0)t0=r}r=y1-ay;if(!dy&&r<0)return;r/=dy;if(dy<0){if(r>t1)return;if(r>t0)t0=r}else if(dy>0){if(r<t0)return;if(r<t1)t1=r}if(t0>0)a[0]=ax+t0*dx,a[1]=ay+t0*dy;if(t1<1)b[0]=ax+t1*dx,b[1]=ay+t1*dy;return true}var clipMax=1e9,clipMin=-clipMax;function clipRectangle(x0,y0,x1,y1){function visible(x,y){return x0<=x&&x<=x1&&y0<=y&&y<=y1}function interpolate(from,to,direction,stream){var a=0,a1=0;if(from==null||(a=corner(from,direction))!==(a1=corner(to,direction))||comparePoint(from,to)<0^direction>0){do{stream.point(a===0||a===3?x0:x1,a>1?y1:y0)}while((a=(a+direction+4)%4)!==a1)}else{stream.point(to[0],to[1])}}function corner(p,direction){return abs(p[0]-x0)<epsilon?direction>0?0:3:abs(p[0]-x1)<epsilon?direction>0?2:1:abs(p[1]-y0)<epsilon?direction>0?1:0:direction>0?3:2}function compareIntersection(a,b){return comparePoint(a.x,b.x)}function comparePoint(a,b){var ca=corner(a,1),cb=corner(b,1);return ca!==cb?ca-cb:ca===0?b[1]-a[1]:ca===1?a[0]-b[0]:ca===2?a[1]-b[1]:b[0]-a[0]}return function(stream){var activeStream=stream,bufferStream=clipBuffer(),segments,polygon,ring,x__,y__,v__,x_,y_,v_,first,clean;var clipStream={point:point,lineStart:lineStart,lineEnd:lineEnd,polygonStart:polygonStart,polygonEnd:polygonEnd};function point(x,y){if(visible(x,y))activeStream.point(x,y)}function polygonInside(){var winding=0;for(var i=0,n=polygon.length;i<n;++i){for(var ring=polygon[i],j=1,m=ring.length,point=ring[0],a0,a1,b0=point[0],b1=point[1];j<m;++j){a0=b0,a1=b1,point=ring[j],b0=point[0],b1=point[1];if(a1<=y1){if(b1>y1&&(b0-a0)*(y1-a1)>(b1-a1)*(x0-a0))++winding}else{if(b1<=y1&&(b0-a0)*(y1-a1)<(b1-a1)*(x0-a0))--winding}}}return winding}function polygonStart(){activeStream=bufferStream,segments=[],polygon=[],clean=true}function polygonEnd(){var startInside=polygonInside(),cleanInside=clean&&startInside,visible=(segments=d3Array.merge(segments)).length;if(cleanInside||visible){stream.polygonStart();if(cleanInside){stream.lineStart();interpolate(null,null,1,stream);stream.lineEnd()}if(visible){clipRejoin(segments,compareIntersection,startInside,interpolate,stream)}stream.polygonEnd()}activeStream=stream,segments=polygon=ring=null}function lineStart(){clipStream.point=linePoint;if(polygon)polygon.push(ring=[]);first=true;v_=false;x_=y_=NaN}function lineEnd(){if(segments){linePoint(x__,y__);if(v__&&v_)bufferStream.rejoin();segments.push(bufferStream.result())}clipStream.point=point;if(v_)activeStream.lineEnd()}function linePoint(x,y){var v=visible(x,y);if(polygon)ring.push([x,y]);if(first){x__=x,y__=y,v__=v;first=false;if(v){activeStream.lineStart();activeStream.point(x,y)}}else{if(v&&v_)activeStream.point(x,y);else{var a=[x_=Math.max(clipMin,Math.min(clipMax,x_)),y_=Math.max(clipMin,Math.min(clipMax,y_))],b=[x=Math.max(clipMin,Math.min(clipMax,x)),y=Math.max(clipMin,Math.min(clipMax,y))];if(clipLine(a,b,x0,y0,x1,y1)){if(!v_){activeStream.lineStart();activeStream.point(a[0],a[1])}activeStream.point(b[0],b[1]);if(!v)activeStream.lineEnd();clean=false}else if(v){activeStream.lineStart();activeStream.point(x,y);clean=false}}}x_=x,y_=y,v_=v}return clipStream}}function extent(){var x0=0,y0=0,x1=960,y1=500,cache,cacheStream,clip;return clip={stream:function(stream){return cache&&cacheStream===stream?cache:cache=clipRectangle(x0,y0,x1,y1)(cacheStream=stream)},extent:function(_){return arguments.length?(x0=+_[0][0],y0=+_[0][1],x1=+_[1][0],y1=+_[1][1],cache=cacheStream=null,clip):[[x0,y0],[x1,y1]]}}}var lengthSum=adder(),lambda0$2,sinPhi0$1,cosPhi0$1;var lengthStream={sphere:noop,point:noop,lineStart:lengthLineStart,lineEnd:noop,polygonStart:noop,polygonEnd:noop};function lengthLineStart(){lengthStream.point=lengthPointFirst;lengthStream.lineEnd=lengthLineEnd}function lengthLineEnd(){lengthStream.point=lengthStream.lineEnd=noop}function lengthPointFirst(lambda,phi){lambda*=radians,phi*=radians;lambda0$2=lambda,sinPhi0$1=sin(phi),cosPhi0$1=cos(phi);lengthStream.point=lengthPoint}function lengthPoint(lambda,phi){lambda*=radians,phi*=radians;var sinPhi=sin(phi),cosPhi=cos(phi),delta=abs(lambda-lambda0$2),cosDelta=cos(delta),sinDelta=sin(delta),x=cosPhi*sinDelta,y=cosPhi0$1*sinPhi-sinPhi0$1*cosPhi*cosDelta,z=sinPhi0$1*sinPhi+cosPhi0$1*cosPhi*cosDelta;lengthSum.add(atan2(sqrt(x*x+y*y),z));lambda0$2=lambda,sinPhi0$1=sinPhi,cosPhi0$1=cosPhi}function length(object){lengthSum.reset();geoStream(object,lengthStream);return+lengthSum}var coordinates=[null,null],object={type:"LineString",coordinates:coordinates};function distance(a,b){coordinates[0]=a;coordinates[1]=b;return length(object)}var containsObjectType={Feature:function(object,point){return containsGeometry(object.geometry,point)},FeatureCollection:function(object,point){var features=object.features,i=-1,n=features.length;while(++i<n)if(containsGeometry(features[i].geometry,point))return true;return false}};var containsGeometryType={Sphere:function(){return true},Point:function(object,point){return containsPoint(object.coordinates,point)},MultiPoint:function(object,point){var coordinates=object.coordinates,i=-1,n=coordinates.length;while(++i<n)if(containsPoint(coordinates[i],point))return true;return false},LineString:function(object,point){return containsLine(object.coordinates,point)},MultiLineString:function(object,point){var coordinates=object.coordinates,i=-1,n=coordinates.length;while(++i<n)if(containsLine(coordinates[i],point))return true;return false},Polygon:function(object,point){return containsPolygon(object.coordinates,point)},MultiPolygon:function(object,point){var coordinates=object.coordinates,i=-1,n=coordinates.length;while(++i<n)if(containsPolygon(coordinates[i],point))return true;return false},GeometryCollection:function(object,point){var geometries=object.geometries,i=-1,n=geometries.length;while(++i<n)if(containsGeometry(geometries[i],point))return true;return false}};function containsGeometry(geometry,point){return geometry&&containsGeometryType.hasOwnProperty(geometry.type)?containsGeometryType[geometry.type](geometry,point):false}function containsPoint(coordinates,point){return distance(coordinates,point)===0}function containsLine(coordinates,point){var ab=distance(coordinates[0],coordinates[1]),ao=distance(coordinates[0],point),ob=distance(point,coordinates[1]);return ao+ob<=ab+epsilon}function containsPolygon(coordinates,point){return!!polygonContains(coordinates.map(ringRadians),pointRadians(point))}function ringRadians(ring){return ring=ring.map(pointRadians),ring.pop(),ring}function pointRadians(point){return[point[0]*radians,point[1]*radians]}function contains(object,point){return(object&&containsObjectType.hasOwnProperty(object.type)?containsObjectType[object.type]:containsGeometry)(object,point)}function graticuleX(y0,y1,dy){var y=d3Array.range(y0,y1-epsilon,dy).concat(y1);return function(x){return y.map(function(y){return[x,y]})}}function graticuleY(x0,x1,dx){var x=d3Array.range(x0,x1-epsilon,dx).concat(x1);return function(y){return x.map(function(x){return[x,y]})}}function graticule(){var x1,x0,X1,X0,y1,y0,Y1,Y0,dx=10,dy=dx,DX=90,DY=360,x,y,X,Y,precision=2.5;function graticule(){return{type:"MultiLineString",coordinates:lines()}}function lines(){return d3Array.range(ceil(X0/DX)*DX,X1,DX).map(X).concat(d3Array.range(ceil(Y0/DY)*DY,Y1,DY).map(Y)).concat(d3Array.range(ceil(x0/dx)*dx,x1,dx).filter(function(x){return abs(x%DX)>epsilon}).map(x)).concat(d3Array.range(ceil(y0/dy)*dy,y1,dy).filter(function(y){return abs(y%DY)>epsilon}).map(y))}graticule.lines=function(){return lines().map(function(coordinates){return{type:"LineString",coordinates:coordinates}})};graticule.outline=function(){return{type:"Polygon",coordinates:[X(X0).concat(Y(Y1).slice(1),X(X1).reverse().slice(1),Y(Y0).reverse().slice(1))]}};graticule.extent=function(_){if(!arguments.length)return graticule.extentMinor();return graticule.extentMajor(_).extentMinor(_)};graticule.extentMajor=function(_){if(!arguments.length)return[[X0,Y0],[X1,Y1]];X0=+_[0][0],X1=+_[1][0];Y0=+_[0][1],Y1=+_[1][1];if(X0>X1)_=X0,X0=X1,X1=_;if(Y0>Y1)_=Y0,Y0=Y1,Y1=_;return graticule.precision(precision)};graticule.extentMinor=function(_){if(!arguments.length)return[[x0,y0],[x1,y1]];x0=+_[0][0],x1=+_[1][0];y0=+_[0][1],y1=+_[1][1];if(x0>x1)_=x0,x0=x1,x1=_;if(y0>y1)_=y0,y0=y1,y1=_;return graticule.precision(precision)};graticule.step=function(_){if(!arguments.length)return graticule.stepMinor();return graticule.stepMajor(_).stepMinor(_)};graticule.stepMajor=function(_){if(!arguments.length)return[DX,DY];DX=+_[0],DY=+_[1];return graticule};graticule.stepMinor=function(_){if(!arguments.length)return[dx,dy];dx=+_[0],dy=+_[1];return graticule};graticule.precision=function(_){if(!arguments.length)return precision;precision=+_;x=graticuleX(y0,y1,90);y=graticuleY(x0,x1,precision);X=graticuleX(Y0,Y1,90);Y=graticuleY(X0,X1,precision);return graticule};return graticule.extentMajor([[-180,-90+epsilon],[180,90-epsilon]]).extentMinor([[-180,-80-epsilon],[180,80+epsilon]])}function graticule10(){return graticule()()}function interpolate(a,b){var x0=a[0]*radians,y0=a[1]*radians,x1=b[0]*radians,y1=b[1]*radians,cy0=cos(y0),sy0=sin(y0),cy1=cos(y1),sy1=sin(y1),kx0=cy0*cos(x0),ky0=cy0*sin(x0),kx1=cy1*cos(x1),ky1=cy1*sin(x1),d=2*asin(sqrt(haversin(y1-y0)+cy0*cy1*haversin(x1-x0))),k=sin(d);var interpolate=d?function(t){var B=sin(t*=d)/k,A=sin(d-t)/k,x=A*kx0+B*kx1,y=A*ky0+B*ky1,z=A*sy0+B*sy1;return[atan2(y,x)*degrees,atan2(z,sqrt(x*x+y*y))*degrees]}:function(){return[x0*degrees,y0*degrees]};interpolate.distance=d;return interpolate}function identity(x){return x}var areaSum$1=adder(),areaRingSum$1=adder(),x00,y00,x0$1,y0$1;var areaStream$1={point:noop,lineStart:noop,lineEnd:noop,polygonStart:function(){areaStream$1.lineStart=areaRingStart$1;areaStream$1.lineEnd=areaRingEnd$1},polygonEnd:function(){areaStream$1.lineStart=areaStream$1.lineEnd=areaStream$1.point=noop;areaSum$1.add(abs(areaRingSum$1));areaRingSum$1.reset()},result:function(){var area=areaSum$1/2;areaSum$1.reset();return area}};function areaRingStart$1(){areaStream$1.point=areaPointFirst$1}function areaPointFirst$1(x,y){areaStream$1.point=areaPoint$1;x00=x0$1=x,y00=y0$1=y}function areaPoint$1(x,y){areaRingSum$1.add(y0$1*x-x0$1*y);x0$1=x,y0$1=y}function areaRingEnd$1(){areaPoint$1(x00,y00)}var x0$2=Infinity,y0$2=x0$2,x1=-x0$2,y1=x1;var boundsStream$1={point:boundsPoint$1,lineStart:noop,lineEnd:noop,polygonStart:noop,polygonEnd:noop,result:function(){var bounds=[[x0$2,y0$2],[x1,y1]];x1=y1=-(y0$2=x0$2=Infinity);return bounds}};function boundsPoint$1(x,y){if(x<x0$2)x0$2=x;if(x>x1)x1=x;if(y<y0$2)y0$2=y;if(y>y1)y1=y}var X0$1=0,Y0$1=0,Z0$1=0,X1$1=0,Y1$1=0,Z1$1=0,X2$1=0,Y2$1=0,Z2$1=0,x00$1,y00$1,x0$3,y0$3;var centroidStream$1={point:centroidPoint$1,lineStart:centroidLineStart$1,lineEnd:centroidLineEnd$1,polygonStart:function(){centroidStream$1.lineStart=centroidRingStart$1;centroidStream$1.lineEnd=centroidRingEnd$1},polygonEnd:function(){centroidStream$1.point=centroidPoint$1;centroidStream$1.lineStart=centroidLineStart$1;centroidStream$1.lineEnd=centroidLineEnd$1},result:function(){var centroid=Z2$1?[X2$1/Z2$1,Y2$1/Z2$1]:Z1$1?[X1$1/Z1$1,Y1$1/Z1$1]:Z0$1?[X0$1/Z0$1,Y0$1/Z0$1]:[NaN,NaN];X0$1=Y0$1=Z0$1=X1$1=Y1$1=Z1$1=X2$1=Y2$1=Z2$1=0;return centroid}};function centroidPoint$1(x,y){X0$1+=x;Y0$1+=y;++Z0$1}function centroidLineStart$1(){centroidStream$1.point=centroidPointFirstLine}function centroidPointFirstLine(x,y){centroidStream$1.point=centroidPointLine;centroidPoint$1(x0$3=x,y0$3=y)}function centroidPointLine(x,y){var dx=x-x0$3,dy=y-y0$3,z=sqrt(dx*dx+dy*dy);X1$1+=z*(x0$3+x)/2;Y1$1+=z*(y0$3+y)/2;Z1$1+=z;centroidPoint$1(x0$3=x,y0$3=y)}function centroidLineEnd$1(){centroidStream$1.point=centroidPoint$1}function centroidRingStart$1(){centroidStream$1.point=centroidPointFirstRing}function centroidRingEnd$1(){centroidPointRing(x00$1,y00$1)}function centroidPointFirstRing(x,y){centroidStream$1.point=centroidPointRing;centroidPoint$1(x00$1=x0$3=x,y00$1=y0$3=y)}function centroidPointRing(x,y){var dx=x-x0$3,dy=y-y0$3,z=sqrt(dx*dx+dy*dy);X1$1+=z*(x0$3+x)/2;Y1$1+=z*(y0$3+y)/2;Z1$1+=z;z=y0$3*x-x0$3*y;X2$1+=z*(x0$3+x);Y2$1+=z*(y0$3+y);Z2$1+=z*3;centroidPoint$1(x0$3=x,y0$3=y)}function PathContext(context){this._context=context}PathContext.prototype={_radius:4.5,pointRadius:function(_){return this._radius=_,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){if(this._line===0)this._context.closePath();this._point=NaN},point:function(x,y){switch(this._point){case 0:{this._context.moveTo(x,y);this._point=1;break}case 1:{this._context.lineTo(x,y);break}default:{this._context.moveTo(x+this._radius,y);this._context.arc(x,y,this._radius,0,tau);break}}},result:noop};var lengthSum$1=adder(),lengthRing,x00$2,y00$2,x0$4,y0$4;var lengthStream$1={point:noop,lineStart:function(){lengthStream$1.point=lengthPointFirst$1},lineEnd:function(){if(lengthRing)lengthPoint$1(x00$2,y00$2);lengthStream$1.point=noop},polygonStart:function(){lengthRing=true},polygonEnd:function(){lengthRing=null},result:function(){var length=+lengthSum$1;lengthSum$1.reset();return length}};function lengthPointFirst$1(x,y){lengthStream$1.point=lengthPoint$1;x00$2=x0$4=x,y00$2=y0$4=y}function lengthPoint$1(x,y){x0$4-=x,y0$4-=y;lengthSum$1.add(sqrt(x0$4*x0$4+y0$4*y0$4));x0$4=x,y0$4=y}function PathString(){this._string=[]}PathString.prototype={_radius:4.5,_circle:circle$1(4.5),pointRadius:function(_){if((_=+_)!==this._radius)this._radius=_,this._circle=null;return this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){if(this._line===0)this._string.push("Z");this._point=NaN},point:function(x,y){switch(this._point){case 0:{this._string.push("M",x,",",y);this._point=1;break}case 1:{this._string.push("L",x,",",y);break}default:{if(this._circle==null)this._circle=circle$1(this._radius);this._string.push("M",x,",",y,this._circle);break}}},result:function(){if(this._string.length){var result=this._string.join("");this._string=[];return result}else{return null}}};function circle$1(radius){return"m0,"+radius+"a"+radius+","+radius+" 0 1,1 0,"+-2*radius+"a"+radius+","+radius+" 0 1,1 0,"+2*radius+"z"}function index(projection,context){var pointRadius=4.5,projectionStream,contextStream;function path(object){if(object){if(typeof pointRadius==="function")contextStream.pointRadius(+pointRadius.apply(this,arguments));geoStream(object,projectionStream(contextStream))}return contextStream.result()}path.area=function(object){geoStream(object,projectionStream(areaStream$1));return areaStream$1.result()};path.measure=function(object){
  4. geoStream(object,projectionStream(lengthStream$1));return lengthStream$1.result()};path.bounds=function(object){geoStream(object,projectionStream(boundsStream$1));return boundsStream$1.result()};path.centroid=function(object){geoStream(object,projectionStream(centroidStream$1));return centroidStream$1.result()};path.projection=function(_){return arguments.length?(projectionStream=_==null?(projection=null,identity):(projection=_).stream,path):projection};path.context=function(_){if(!arguments.length)return context;contextStream=_==null?(context=null,new PathString):new PathContext(context=_);if(typeof pointRadius!=="function")contextStream.pointRadius(pointRadius);return path};path.pointRadius=function(_){if(!arguments.length)return pointRadius;pointRadius=typeof _==="function"?_:(contextStream.pointRadius(+_),+_);return path};return path.projection(projection).context(context)}function transform(methods){return{stream:transformer(methods)}}function transformer(methods){return function(stream){var s=new TransformStream;for(var key in methods)s[key]=methods[key];s.stream=stream;return s}}function TransformStream(){}TransformStream.prototype={constructor:TransformStream,point:function(x,y){this.stream.point(x,y)},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()}};function fit(projection,fitBounds,object){var clip=projection.clipExtent&&projection.clipExtent();projection.scale(150).translate([0,0]);if(clip!=null)projection.clipExtent(null);geoStream(object,projection.stream(boundsStream$1));fitBounds(boundsStream$1.result());if(clip!=null)projection.clipExtent(clip);return projection}function fitExtent(projection,extent,object){return fit(projection,function(b){var w=extent[1][0]-extent[0][0],h=extent[1][1]-extent[0][1],k=Math.min(w/(b[1][0]-b[0][0]),h/(b[1][1]-b[0][1])),x=+extent[0][0]+(w-k*(b[1][0]+b[0][0]))/2,y=+extent[0][1]+(h-k*(b[1][1]+b[0][1]))/2;projection.scale(150*k).translate([x,y])},object)}function fitSize(projection,size,object){return fitExtent(projection,[[0,0],size],object)}function fitWidth(projection,width,object){return fit(projection,function(b){var w=+width,k=w/(b[1][0]-b[0][0]),x=(w-k*(b[1][0]+b[0][0]))/2,y=-k*b[0][1];projection.scale(150*k).translate([x,y])},object)}function fitHeight(projection,height,object){return fit(projection,function(b){var h=+height,k=h/(b[1][1]-b[0][1]),x=-k*b[0][0],y=(h-k*(b[1][1]+b[0][1]))/2;projection.scale(150*k).translate([x,y])},object)}var maxDepth=16,cosMinDistance=cos(30*radians);function resample(project,delta2){return+delta2?resample$1(project,delta2):resampleNone(project)}function resampleNone(project){return transformer({point:function(x,y){x=project(x,y);this.stream.point(x[0],x[1])}})}function resample$1(project,delta2){function resampleLineTo(x0,y0,lambda0,a0,b0,c0,x1,y1,lambda1,a1,b1,c1,depth,stream){var dx=x1-x0,dy=y1-y0,d2=dx*dx+dy*dy;if(d2>4*delta2&&depth--){var a=a0+a1,b=b0+b1,c=c0+c1,m=sqrt(a*a+b*b+c*c),phi2=asin(c/=m),lambda2=abs(abs(c)-1)<epsilon||abs(lambda0-lambda1)<epsilon?(lambda0+lambda1)/2:atan2(b,a),p=project(lambda2,phi2),x2=p[0],y2=p[1],dx2=x2-x0,dy2=y2-y0,dz=dy*dx2-dx*dy2;if(dz*dz/d2>delta2||abs((dx*dx2+dy*dy2)/d2-.5)>.3||a0*a1+b0*b1+c0*c1<cosMinDistance){resampleLineTo(x0,y0,lambda0,a0,b0,c0,x2,y2,lambda2,a/=m,b/=m,c,depth,stream);stream.point(x2,y2);resampleLineTo(x2,y2,lambda2,a,b,c,x1,y1,lambda1,a1,b1,c1,depth,stream)}}}return function(stream){var lambda00,x00,y00,a00,b00,c00,lambda0,x0,y0,a0,b0,c0;var resampleStream={point:point,lineStart:lineStart,lineEnd:lineEnd,polygonStart:function(){stream.polygonStart();resampleStream.lineStart=ringStart},polygonEnd:function(){stream.polygonEnd();resampleStream.lineStart=lineStart}};function point(x,y){x=project(x,y);stream.point(x[0],x[1])}function lineStart(){x0=NaN;resampleStream.point=linePoint;stream.lineStart()}function linePoint(lambda,phi){var c=cartesian([lambda,phi]),p=project(lambda,phi);resampleLineTo(x0,y0,lambda0,a0,b0,c0,x0=p[0],y0=p[1],lambda0=lambda,a0=c[0],b0=c[1],c0=c[2],maxDepth,stream);stream.point(x0,y0)}function lineEnd(){resampleStream.point=point;stream.lineEnd()}function ringStart(){lineStart();resampleStream.point=ringPoint;resampleStream.lineEnd=ringEnd}function ringPoint(lambda,phi){linePoint(lambda00=lambda,phi),x00=x0,y00=y0,a00=a0,b00=b0,c00=c0;resampleStream.point=linePoint}function ringEnd(){resampleLineTo(x0,y0,lambda0,a0,b0,c0,x00,y00,lambda00,a00,b00,c00,maxDepth,stream);resampleStream.lineEnd=lineEnd;lineEnd()}return resampleStream}}var transformRadians=transformer({point:function(x,y){this.stream.point(x*radians,y*radians)}});function transformRotate(rotate){return transformer({point:function(x,y){var r=rotate(x,y);return this.stream.point(r[0],r[1])}})}function scaleTranslate(k,dx,dy){function transform$$1(x,y){return[dx+k*x,dy-k*y]}transform$$1.invert=function(x,y){return[(x-dx)/k,(dy-y)/k]};return transform$$1}function scaleTranslateRotate(k,dx,dy,alpha){var cosAlpha=cos(alpha),sinAlpha=sin(alpha),a=cosAlpha*k,b=sinAlpha*k,ai=cosAlpha/k,bi=sinAlpha/k,ci=(sinAlpha*dy-cosAlpha*dx)/k,fi=(sinAlpha*dx+cosAlpha*dy)/k;function transform$$1(x,y){return[a*x-b*y+dx,dy-b*x-a*y]}transform$$1.invert=function(x,y){return[ai*x-bi*y+ci,fi-bi*x-ai*y]};return transform$$1}function projection(project){return projectionMutator(function(){return project})()}function projectionMutator(projectAt){var project,k=150,x=480,y=250,lambda=0,phi=0,deltaLambda=0,deltaPhi=0,deltaGamma=0,rotate,alpha=0,theta=null,preclip=clipAntimeridian,x0=null,y0,x1,y1,postclip=identity,delta2=.5,projectResample,projectTransform,projectRotateTransform,cache,cacheStream;function projection(point){return projectRotateTransform(point[0]*radians,point[1]*radians)}function invert(point){point=projectRotateTransform.invert(point[0],point[1]);return point&&[point[0]*degrees,point[1]*degrees]}projection.stream=function(stream){return cache&&cacheStream===stream?cache:cache=transformRadians(transformRotate(rotate)(preclip(projectResample(postclip(cacheStream=stream)))))};projection.preclip=function(_){return arguments.length?(preclip=_,theta=undefined,reset()):preclip};projection.postclip=function(_){return arguments.length?(postclip=_,x0=y0=x1=y1=null,reset()):postclip};projection.clipAngle=function(_){return arguments.length?(preclip=+_?clipCircle(theta=_*radians):(theta=null,clipAntimeridian),reset()):theta*degrees};projection.clipExtent=function(_){return arguments.length?(postclip=_==null?(x0=y0=x1=y1=null,identity):clipRectangle(x0=+_[0][0],y0=+_[0][1],x1=+_[1][0],y1=+_[1][1]),reset()):x0==null?null:[[x0,y0],[x1,y1]]};projection.scale=function(_){return arguments.length?(k=+_,recenter()):k};projection.translate=function(_){return arguments.length?(x=+_[0],y=+_[1],recenter()):[x,y]};projection.center=function(_){return arguments.length?(lambda=_[0]%360*radians,phi=_[1]%360*radians,recenter()):[lambda*degrees,phi*degrees]};projection.rotate=function(_){return arguments.length?(deltaLambda=_[0]%360*radians,deltaPhi=_[1]%360*radians,deltaGamma=_.length>2?_[2]%360*radians:0,recenter()):[deltaLambda*degrees,deltaPhi*degrees,deltaGamma*degrees]};projection.angle=function(_){return arguments.length?(alpha=_%360*radians,recenter()):alpha*degrees};projection.precision=function(_){return arguments.length?(projectResample=resample(projectTransform,delta2=_*_),reset()):sqrt(delta2)};projection.fitExtent=function(extent,object){return fitExtent(projection,extent,object)};projection.fitSize=function(size,object){return fitSize(projection,size,object)};projection.fitWidth=function(width,object){return fitWidth(projection,width,object)};projection.fitHeight=function(height,object){return fitHeight(projection,height,object)};function recenter(){var center=scaleTranslateRotate(k,0,0,alpha).apply(null,project(lambda,phi)),transform$$1=(alpha?scaleTranslateRotate:scaleTranslate)(k,x-center[0],y-center[1],alpha);rotate=rotateRadians(deltaLambda,deltaPhi,deltaGamma);projectTransform=compose(project,transform$$1);projectRotateTransform=compose(rotate,projectTransform);projectResample=resample(projectTransform,delta2);return reset()}function reset(){cache=cacheStream=null;return projection}return function(){project=projectAt.apply(this,arguments);projection.invert=project.invert&&invert;return recenter()}}function conicProjection(projectAt){var phi0=0,phi1=pi/3,m=projectionMutator(projectAt),p=m(phi0,phi1);p.parallels=function(_){return arguments.length?m(phi0=_[0]*radians,phi1=_[1]*radians):[phi0*degrees,phi1*degrees]};return p}function cylindricalEqualAreaRaw(phi0){var cosPhi0=cos(phi0);function forward(lambda,phi){return[lambda*cosPhi0,sin(phi)/cosPhi0]}forward.invert=function(x,y){return[x/cosPhi0,asin(y*cosPhi0)]};return forward}function conicEqualAreaRaw(y0,y1){var sy0=sin(y0),n=(sy0+sin(y1))/2;if(abs(n)<epsilon)return cylindricalEqualAreaRaw(y0);var c=1+sy0*(2*n-sy0),r0=sqrt(c)/n;function project(x,y){var r=sqrt(c-2*n*sin(y))/n;return[r*sin(x*=n),r0-r*cos(x)]}project.invert=function(x,y){var r0y=r0-y;return[atan2(x,abs(r0y))/n*sign(r0y),asin((c-(x*x+r0y*r0y)*n*n)/(2*n))]};return project}function conicEqualArea(){return conicProjection(conicEqualAreaRaw).scale(155.424).center([0,33.6442])}function albers(){return conicEqualArea().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function multiplex(streams){var n=streams.length;return{point:function(x,y){var i=-1;while(++i<n)streams[i].point(x,y)},sphere:function(){var i=-1;while(++i<n)streams[i].sphere()},lineStart:function(){var i=-1;while(++i<n)streams[i].lineStart()},lineEnd:function(){var i=-1;while(++i<n)streams[i].lineEnd()},polygonStart:function(){var i=-1;while(++i<n)streams[i].polygonStart()},polygonEnd:function(){var i=-1;while(++i<n)streams[i].polygonEnd()}}}function albersUsa(){var cache,cacheStream,lower48=albers(),lower48Point,alaska=conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),alaskaPoint,hawaii=conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),hawaiiPoint,point,pointStream={point:function(x,y){point=[x,y]}};function albersUsa(coordinates){var x=coordinates[0],y=coordinates[1];return point=null,(lower48Point.point(x,y),point)||(alaskaPoint.point(x,y),point)||(hawaiiPoint.point(x,y),point)}albersUsa.invert=function(coordinates){var k=lower48.scale(),t=lower48.translate(),x=(coordinates[0]-t[0])/k,y=(coordinates[1]-t[1])/k;return(y>=.12&&y<.234&&x>=-.425&&x<-.214?alaska:y>=.166&&y<.234&&x>=-.214&&x<-.115?hawaii:lower48).invert(coordinates)};albersUsa.stream=function(stream){return cache&&cacheStream===stream?cache:cache=multiplex([lower48.stream(cacheStream=stream),alaska.stream(stream),hawaii.stream(stream)])};albersUsa.precision=function(_){if(!arguments.length)return lower48.precision();lower48.precision(_),alaska.precision(_),hawaii.precision(_);return reset()};albersUsa.scale=function(_){if(!arguments.length)return lower48.scale();lower48.scale(_),alaska.scale(_*.35),hawaii.scale(_);return albersUsa.translate(lower48.translate())};albersUsa.translate=function(_){if(!arguments.length)return lower48.translate();var k=lower48.scale(),x=+_[0],y=+_[1];lower48Point=lower48.translate(_).clipExtent([[x-.455*k,y-.238*k],[x+.455*k,y+.238*k]]).stream(pointStream);alaskaPoint=alaska.translate([x-.307*k,y+.201*k]).clipExtent([[x-.425*k+epsilon,y+.12*k+epsilon],[x-.214*k-epsilon,y+.234*k-epsilon]]).stream(pointStream);hawaiiPoint=hawaii.translate([x-.205*k,y+.212*k]).clipExtent([[x-.214*k+epsilon,y+.166*k+epsilon],[x-.115*k-epsilon,y+.234*k-epsilon]]).stream(pointStream);return reset()};albersUsa.fitExtent=function(extent,object){return fitExtent(albersUsa,extent,object)};albersUsa.fitSize=function(size,object){return fitSize(albersUsa,size,object)};albersUsa.fitWidth=function(width,object){return fitWidth(albersUsa,width,object)};albersUsa.fitHeight=function(height,object){return fitHeight(albersUsa,height,object)};function reset(){cache=cacheStream=null;return albersUsa}return albersUsa.scale(1070)}function azimuthalRaw(scale){return function(x,y){var cx=cos(x),cy=cos(y),k=scale(cx*cy);return[k*cy*sin(x),k*sin(y)]}}function azimuthalInvert(angle){return function(x,y){var z=sqrt(x*x+y*y),c=angle(z),sc=sin(c),cc=cos(c);return[atan2(x*sc,z*cc),asin(z&&y*sc/z)]}}var azimuthalEqualAreaRaw=azimuthalRaw(function(cxcy){return sqrt(2/(1+cxcy))});azimuthalEqualAreaRaw.invert=azimuthalInvert(function(z){return 2*asin(z/2)});function azimuthalEqualArea(){return projection(azimuthalEqualAreaRaw).scale(124.75).clipAngle(180-.001)}var azimuthalEquidistantRaw=azimuthalRaw(function(c){return(c=acos(c))&&c/sin(c)});azimuthalEquidistantRaw.invert=azimuthalInvert(function(z){return z});function azimuthalEquidistant(){return projection(azimuthalEquidistantRaw).scale(79.4188).clipAngle(180-.001)}function mercatorRaw(lambda,phi){return[lambda,log(tan((halfPi+phi)/2))]}mercatorRaw.invert=function(x,y){return[x,2*atan(exp(y))-halfPi]};function mercator(){return mercatorProjection(mercatorRaw).scale(961/tau)}function mercatorProjection(project){var m=projection(project),center=m.center,scale=m.scale,translate=m.translate,clipExtent=m.clipExtent,x0=null,y0,x1,y1;m.scale=function(_){return arguments.length?(scale(_),reclip()):scale()};m.translate=function(_){return arguments.length?(translate(_),reclip()):translate()};m.center=function(_){return arguments.length?(center(_),reclip()):center()};m.clipExtent=function(_){return arguments.length?(_==null?x0=y0=x1=y1=null:(x0=+_[0][0],y0=+_[0][1],x1=+_[1][0],y1=+_[1][1]),reclip()):x0==null?null:[[x0,y0],[x1,y1]]};function reclip(){var k=pi*scale(),t=m(rotation(m.rotate()).invert([0,0]));return clipExtent(x0==null?[[t[0]-k,t[1]-k],[t[0]+k,t[1]+k]]:project===mercatorRaw?[[Math.max(t[0]-k,x0),y0],[Math.min(t[0]+k,x1),y1]]:[[x0,Math.max(t[1]-k,y0)],[x1,Math.min(t[1]+k,y1)]])}return reclip()}function tany(y){return tan((halfPi+y)/2)}function conicConformalRaw(y0,y1){var cy0=cos(y0),n=y0===y1?sin(y0):log(cy0/cos(y1))/log(tany(y1)/tany(y0)),f=cy0*pow(tany(y0),n)/n;if(!n)return mercatorRaw;function project(x,y){if(f>0){if(y<-halfPi+epsilon)y=-halfPi+epsilon}else{if(y>halfPi-epsilon)y=halfPi-epsilon}var r=f/pow(tany(y),n);return[r*sin(n*x),f-r*cos(n*x)]}project.invert=function(x,y){var fy=f-y,r=sign(n)*sqrt(x*x+fy*fy);return[atan2(x,abs(fy))/n*sign(fy),2*atan(pow(f/r,1/n))-halfPi]};return project}function conicConformal(){return conicProjection(conicConformalRaw).scale(109.5).parallels([30,30])}function equirectangularRaw(lambda,phi){return[lambda,phi]}equirectangularRaw.invert=equirectangularRaw;function equirectangular(){return projection(equirectangularRaw).scale(152.63)}function conicEquidistantRaw(y0,y1){var cy0=cos(y0),n=y0===y1?sin(y0):(cy0-cos(y1))/(y1-y0),g=cy0/n+y0;if(abs(n)<epsilon)return equirectangularRaw;function project(x,y){var gy=g-y,nx=n*x;return[gy*sin(nx),g-gy*cos(nx)]}project.invert=function(x,y){var gy=g-y;return[atan2(x,abs(gy))/n*sign(gy),g-sign(n)*sqrt(x*x+gy*gy)]};return project}function conicEquidistant(){return conicProjection(conicEquidistantRaw).scale(131.154).center([0,13.9389])}var A1=1.340264,A2=-.081106,A3=893e-6,A4=.003796,M=sqrt(3)/2,iterations=12;function equalEarthRaw(lambda,phi){var l=asin(M*sin(phi)),l2=l*l,l6=l2*l2*l2;return[lambda*cos(l)/(M*(A1+3*A2*l2+l6*(7*A3+9*A4*l2))),l*(A1+A2*l2+l6*(A3+A4*l2))]}equalEarthRaw.invert=function(x,y){var l=y,l2=l*l,l6=l2*l2*l2;for(var i=0,delta,fy,fpy;i<iterations;++i){fy=l*(A1+A2*l2+l6*(A3+A4*l2))-y;fpy=A1+3*A2*l2+l6*(7*A3+9*A4*l2);l-=delta=fy/fpy,l2=l*l,l6=l2*l2*l2;if(abs(delta)<epsilon2)break}return[M*x*(A1+3*A2*l2+l6*(7*A3+9*A4*l2))/cos(l),asin(sin(l)/M)]};function equalEarth(){return projection(equalEarthRaw).scale(177.158)}function gnomonicRaw(x,y){var cy=cos(y),k=cos(x)*cy;return[cy*sin(x)/k,sin(y)/k]}gnomonicRaw.invert=azimuthalInvert(atan);function gnomonic(){return projection(gnomonicRaw).scale(144.049).clipAngle(60)}function scaleTranslate$1(kx,ky,tx,ty){return kx===1&&ky===1&&tx===0&&ty===0?identity:transformer({point:function(x,y){this.stream.point(x*kx+tx,y*ky+ty)}})}function identity$1(){var k=1,tx=0,ty=0,sx=1,sy=1,transform$$1=identity,x0=null,y0,x1,y1,postclip=identity,cache,cacheStream,projection;function reset(){cache=cacheStream=null;return projection}return projection={stream:function(stream){return cache&&cacheStream===stream?cache:cache=transform$$1(postclip(cacheStream=stream))},postclip:function(_){return arguments.length?(postclip=_,x0=y0=x1=y1=null,reset()):postclip},clipExtent:function(_){return arguments.length?(postclip=_==null?(x0=y0=x1=y1=null,identity):clipRectangle(x0=+_[0][0],y0=+_[0][1],x1=+_[1][0],y1=+_[1][1]),reset()):x0==null?null:[[x0,y0],[x1,y1]]},scale:function(_){return arguments.length?(transform$$1=scaleTranslate$1((k=+_)*sx,k*sy,tx,ty),reset()):k},translate:function(_){return arguments.length?(transform$$1=scaleTranslate$1(k*sx,k*sy,tx=+_[0],ty=+_[1]),reset()):[tx,ty]},reflectX:function(_){return arguments.length?(transform$$1=scaleTranslate$1(k*(sx=_?-1:1),k*sy,tx,ty),reset()):sx<0},reflectY:function(_){return arguments.length?(transform$$1=scaleTranslate$1(k*sx,k*(sy=_?-1:1),tx,ty),reset()):sy<0},fitExtent:function(extent,object){return fitExtent(projection,extent,object)},fitSize:function(size,object){return fitSize(projection,size,object)},fitWidth:function(width,object){return fitWidth(projection,width,object)},fitHeight:function(height,object){return fitHeight(projection,height,object)}}}function naturalEarth1Raw(lambda,phi){var phi2=phi*phi,phi4=phi2*phi2;return[lambda*(.8707-.131979*phi2+phi4*(-.013791+phi4*(.003971*phi2-.001529*phi4))),phi*(1.007226+phi2*(.015085+phi4*(-.044475+.028874*phi2-.005916*phi4)))]}naturalEarth1Raw.invert=function(x,y){var phi=y,i=25,delta;do{var phi2=phi*phi,phi4=phi2*phi2;phi-=delta=(phi*(1.007226+phi2*(.015085+phi4*(-.044475+.028874*phi2-.005916*phi4)))-y)/(1.007226+phi2*(.015085*3+phi4*(-.044475*7+.028874*9*phi2-.005916*11*phi4)))}while(abs(delta)>epsilon&&--i>0);return[x/(.8707+(phi2=phi*phi)*(-.131979+phi2*(-.013791+phi2*phi2*phi2*(.003971-.001529*phi2)))),phi]};function naturalEarth1(){return projection(naturalEarth1Raw).scale(175.295)}function orthographicRaw(x,y){return[cos(y)*sin(x),sin(y)]}orthographicRaw.invert=azimuthalInvert(asin);function orthographic(){return projection(orthographicRaw).scale(249.5).clipAngle(90+epsilon)}function stereographicRaw(x,y){var cy=cos(y),k=1+cos(x)*cy;return[cy*sin(x)/k,sin(y)/k]}stereographicRaw.invert=azimuthalInvert(function(z){return 2*atan(z)});function stereographic(){return projection(stereographicRaw).scale(250).clipAngle(142)}function transverseMercatorRaw(lambda,phi){return[log(tan((halfPi+phi)/2)),-lambda]}transverseMercatorRaw.invert=function(x,y){return[-y,2*atan(exp(x))-halfPi]};function transverseMercator(){var m=mercatorProjection(transverseMercatorRaw),center=m.center,rotate=m.rotate;m.center=function(_){return arguments.length?center([-_[1],_[0]]):(_=center(),[_[1],-_[0]])};m.rotate=function(_){return arguments.length?rotate([_[0],_[1],_.length>2?_[2]+90:90]):(_=rotate(),[_[0],_[1],_[2]-90])};return rotate([0,0,90]).scale(159.155)}exports.geoArea=area;exports.geoBounds=bounds;exports.geoCentroid=centroid;exports.geoCircle=circle;exports.geoClipAntimeridian=clipAntimeridian;exports.geoClipCircle=clipCircle;exports.geoClipExtent=extent;exports.geoClipRectangle=clipRectangle;exports.geoContains=contains;exports.geoDistance=distance;exports.geoGraticule=graticule;exports.geoGraticule10=graticule10;exports.geoInterpolate=interpolate;exports.geoLength=length;exports.geoPath=index;exports.geoAlbers=albers;exports.geoAlbersUsa=albersUsa;exports.geoAzimuthalEqualArea=azimuthalEqualArea;exports.geoAzimuthalEqualAreaRaw=azimuthalEqualAreaRaw;exports.geoAzimuthalEquidistant=azimuthalEquidistant;exports.geoAzimuthalEquidistantRaw=azimuthalEquidistantRaw;exports.geoConicConformal=conicConformal;exports.geoConicConformalRaw=conicConformalRaw;exports.geoConicEqualArea=conicEqualArea;exports.geoConicEqualAreaRaw=conicEqualAreaRaw;exports.geoConicEquidistant=conicEquidistant;exports.geoConicEquidistantRaw=conicEquidistantRaw;exports.geoEqualEarth=equalEarth;exports.geoEqualEarthRaw=equalEarthRaw;exports.geoEquirectangular=equirectangular;exports.geoEquirectangularRaw=equirectangularRaw;exports.geoGnomonic=gnomonic;exports.geoGnomonicRaw=gnomonicRaw;exports.geoIdentity=identity$1;exports.geoProjection=projection;exports.geoProjectionMutator=projectionMutator;exports.geoMercator=mercator;exports.geoMercatorRaw=mercatorRaw;exports.geoNaturalEarth1=naturalEarth1;exports.geoNaturalEarth1Raw=naturalEarth1Raw;exports.geoOrthographic=orthographic;exports.geoOrthographicRaw=orthographicRaw;exports.geoStereographic=stereographic;exports.geoStereographicRaw=stereographicRaw;exports.geoTransverseMercator=transverseMercator;exports.geoTransverseMercatorRaw=transverseMercatorRaw;exports.geoRotation=rotation;exports.geoStream=geoStream;exports.geoTransform=transform;Object.defineProperty(exports,"__esModule",{value:true})})},{"d3-array":3}],9:[function(require,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports):typeof define==="function"&&define.amd?define(["exports"],factory):factory(global.d3=global.d3||{})})(this,function(exports){"use strict";var thirdPi=Math.PI/3;var angles=[0,thirdPi,2*thirdPi,3*thirdPi,4*thirdPi,5*thirdPi];function pointX(d){return d[0]}function pointY(d){return d[1]}var hexbin=function(){var x0=0,y0=0,x1=1,y1=1,x=pointX,y=pointY,r,dx,dy;function hexbin(points){var binsById={},bins=[],i,n=points.length;for(i=0;i<n;++i){if(isNaN(px=+x.call(null,point=points[i],i,points))||isNaN(py=+y.call(null,point,i,points)))continue;var point,px,py,pj=Math.round(py=py/dy),pi=Math.round(px=px/dx-(pj&1)/2),py1=py-pj;if(Math.abs(py1)*3>1){var px1=px-pi,pi2=pi+(px<pi?-1:1)/2,pj2=pj+(py<pj?-1:1),px2=px-pi2,py2=py-pj2;if(px1*px1+py1*py1>px2*px2+py2*py2)pi=pi2+(pj&1?1:-1)/2,pj=pj2}var id=pi+"-"+pj,bin=binsById[id];if(bin)bin.push(point);else{bins.push(bin=binsById[id]=[point]);bin.x=(pi+(pj&1)/2)*dx;bin.y=pj*dy}}return bins}function hexagon(radius){var x0=0,y0=0;return angles.map(function(angle){var x1=Math.sin(angle)*radius,y1=-Math.cos(angle)*radius,dx=x1-x0,dy=y1-y0;x0=x1,y0=y1;return[dx,dy]})}hexbin.hexagon=function(radius){return"m"+hexagon(radius==null?r:+radius).join("l")+"z"};hexbin.centers=function(){var centers=[],j=Math.round(y0/dy),i=Math.round(x0/dx);for(var y=j*dy;y<y1+r;y+=dy,++j){for(var x=i*dx+(j&1)*dx/2;x<x1+dx/2;x+=dx){centers.push([x,y])}}return centers};hexbin.mesh=function(){var fragment=hexagon(r).slice(0,4).join("l");return hexbin.centers().map(function(p){return"M"+p+"m"+fragment}).join("")};hexbin.x=function(_){return arguments.length?(x=_,hexbin):x};hexbin.y=function(_){return arguments.length?(y=_,hexbin):y};hexbin.radius=function(_){return arguments.length?(r=+_,dx=r*2*Math.sin(thirdPi),dy=r*1.5,hexbin):r};hexbin.size=function(_){return arguments.length?(x0=y0=0,x1=+_[0],y1=+_[1],hexbin):[x1-x0,y1-y0]};hexbin.extent=function(_){return arguments.length?(x0=+_[0][0],y0=+_[0][1],x1=+_[1][0],y1=+_[1][1],hexbin):[[x0,y0],[x1,y1]]};return hexbin.radius(1)};exports.hexbin=hexbin;Object.defineProperty(exports,"__esModule",{value:true})})},{}],10:[function(require,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports):typeof define==="function"&&define.amd?define(["exports"],factory):factory(global.d3=global.d3||{})})(this,function(exports){"use strict";function defaultSeparation(a,b){return a.parent===b.parent?1:2}function meanX(children){return children.reduce(meanXReduce,0)/children.length}function meanXReduce(x,c){return x+c.x}function maxY(children){return 1+children.reduce(maxYReduce,0)}function maxYReduce(y,c){return Math.max(y,c.y)}function leafLeft(node){var children;while(children=node.children)node=children[0];return node}function leafRight(node){var children;while(children=node.children)node=children[children.length-1];return node}function cluster(){var separation=defaultSeparation,dx=1,dy=1,nodeSize=false;function cluster(root){var previousNode,x=0;root.eachAfter(function(node){var children=node.children;if(children){node.x=meanX(children);node.y=maxY(children)}else{node.x=previousNode?x+=separation(node,previousNode):0;node.y=0;previousNode=node}});var left=leafLeft(root),right=leafRight(root),x0=left.x-separation(left,right)/2,x1=right.x+separation(right,left)/2;return root.eachAfter(nodeSize?function(node){node.x=(node.x-root.x)*dx;node.y=(root.y-node.y)*dy}:function(node){node.x=(node.x-x0)/(x1-x0)*dx;node.y=(1-(root.y?node.y/root.y:1))*dy})}cluster.separation=function(x){return arguments.length?(separation=x,cluster):separation};cluster.size=function(x){return arguments.length?(nodeSize=false,dx=+x[0],dy=+x[1],cluster):nodeSize?null:[dx,dy]};cluster.nodeSize=function(x){return arguments.length?(nodeSize=true,dx=+x[0],dy=+x[1],cluster):nodeSize?[dx,dy]:null};return cluster}function count(node){var sum=0,children=node.children,i=children&&children.length;if(!i)sum=1;else while(--i>=0)sum+=children[i].value;node.value=sum}function node_count(){return this.eachAfter(count)}function node_each(callback){var node=this,current,next=[node],children,i,n;do{current=next.reverse(),next=[];while(node=current.pop()){callback(node),children=node.children;if(children)for(i=0,n=children.length;i<n;++i){next.push(children[i])}}}while(next.length);return this}function node_eachBefore(callback){var node=this,nodes=[node],children,i;while(node=nodes.pop()){callback(node),children=node.children;if(children)for(i=children.length-1;i>=0;--i){nodes.push(children[i])}}return this}function node_eachAfter(callback){var node=this,nodes=[node],next=[],children,i,n;while(node=nodes.pop()){next.push(node),children=node.children;if(children)for(i=0,n=children.length;i<n;++i){nodes.push(children[i])}}while(node=next.pop()){callback(node)}return this}function node_sum(value){return this.eachAfter(function(node){var sum=+value(node.data)||0,children=node.children,i=children&&children.length;while(--i>=0)sum+=children[i].value;node.value=sum})}function node_sort(compare){return this.eachBefore(function(node){if(node.children){node.children.sort(compare)}})}function node_path(end){var start=this,ancestor=leastCommonAncestor(start,end),nodes=[start];while(start!==ancestor){start=start.parent;nodes.push(start)}var k=nodes.length;while(end!==ancestor){nodes.splice(k,0,end);end=end.parent}return nodes}function leastCommonAncestor(a,b){if(a===b)return a;var aNodes=a.ancestors(),bNodes=b.ancestors(),c=null;a=aNodes.pop();b=bNodes.pop();while(a===b){c=a;a=aNodes.pop();b=bNodes.pop()}return c}function node_ancestors(){var node=this,nodes=[node];while(node=node.parent){nodes.push(node)}return nodes}function node_descendants(){var nodes=[];this.each(function(node){nodes.push(node)});return nodes}function node_leaves(){var leaves=[];this.eachBefore(function(node){if(!node.children){leaves.push(node)}});return leaves}function node_links(){var root=this,links=[];root.each(function(node){if(node!==root){links.push({source:node.parent,target:node})}});return links}function hierarchy(data,children){var root=new Node(data),valued=+data.value&&(root.value=data.value),node,nodes=[root],child,childs,i,n;if(children==null)children=defaultChildren;while(node=nodes.pop()){if(valued)node.value=+node.data.value;if((childs=children(node.data))&&(n=childs.length)){node.children=new Array(n);for(i=n-1;i>=0;--i){nodes.push(child=node.children[i]=new Node(childs[i]));child.parent=node;child.depth=node.depth+1}}}return root.eachBefore(computeHeight)}function node_copy(){return hierarchy(this).eachBefore(copyData)}function defaultChildren(d){return d.children}function copyData(node){node.data=node.data.data}function computeHeight(node){var height=0;do{node.height=height}while((node=node.parent)&&node.height<++height)}function Node(data){this.data=data;this.depth=this.height=0;this.parent=null}Node.prototype=hierarchy.prototype={constructor:Node,count:node_count,each:node_each,eachAfter:node_eachAfter,eachBefore:node_eachBefore,sum:node_sum,sort:node_sort,path:node_path,ancestors:node_ancestors,descendants:node_descendants,leaves:node_leaves,links:node_links,copy:node_copy};var slice=Array.prototype.slice;function shuffle(array){var m=array.length,t,i;while(m){i=Math.random()*m--|0;t=array[m];array[m]=array[i];array[i]=t}return array}function enclose(circles){var i=0,n=(circles=shuffle(slice.call(circles))).length,B=[],p,e;while(i<n){p=circles[i];if(e&&enclosesWeak(e,p))++i;else e=encloseBasis(B=extendBasis(B,p)),i=0}return e}function extendBasis(B,p){var i,j;if(enclosesWeakAll(p,B))return[p];for(i=0;i<B.length;++i){if(enclosesNot(p,B[i])&&enclosesWeakAll(encloseBasis2(B[i],p),B)){return[B[i],p]}}for(i=0;i<B.length-1;++i){for(j=i+1;j<B.length;++j){if(enclosesNot(encloseBasis2(B[i],B[j]),p)&&enclosesNot(encloseBasis2(B[i],p),B[j])&&enclosesNot(encloseBasis2(B[j],p),B[i])&&enclosesWeakAll(encloseBasis3(B[i],B[j],p),B)){return[B[i],B[j],p]}}}throw new Error}function enclosesNot(a,b){var dr=a.r-b.r,dx=b.x-a.x,dy=b.y-a.y;return dr<0||dr*dr<dx*dx+dy*dy}function enclosesWeak(a,b){var dr=a.r-b.r+1e-6,dx=b.x-a.x,dy=b.y-a.y;return dr>0&&dr*dr>dx*dx+dy*dy}function enclosesWeakAll(a,B){for(var i=0;i<B.length;++i){if(!enclosesWeak(a,B[i])){return false}}return true}function encloseBasis(B){switch(B.length){case 1:return encloseBasis1(B[0]);case 2:return encloseBasis2(B[0],B[1]);case 3:return encloseBasis3(B[0],B[1],B[2])}}function encloseBasis1(a){return{x:a.x,y:a.y,r:a.r}}function encloseBasis2(a,b){var x1=a.x,y1=a.y,r1=a.r,x2=b.x,y2=b.y,r2=b.r,x21=x2-x1,y21=y2-y1,r21=r2-r1,l=Math.sqrt(x21*x21+y21*y21);return{x:(x1+x2+x21/l*r21)/2,y:(y1+y2+y21/l*r21)/2,r:(l+r1+r2)/2}}function encloseBasis3(a,b,c){var x1=a.x,y1=a.y,r1=a.r,x2=b.x,y2=b.y,r2=b.r,x3=c.x,y3=c.y,r3=c.r,a2=x1-x2,a3=x1-x3,b2=y1-y2,b3=y1-y3,c2=r2-r1,c3=r3-r1,d1=x1*x1+y1*y1-r1*r1,d2=d1-x2*x2-y2*y2+r2*r2,d3=d1-x3*x3-y3*y3+r3*r3,ab=a3*b2-a2*b3,xa=(b2*d3-b3*d2)/(ab*2)-x1,xb=(b3*c2-b2*c3)/ab,ya=(a3*d2-a2*d3)/(ab*2)-y1,yb=(a2*c3-a3*c2)/ab,A=xb*xb+yb*yb-1,B=2*(r1+xa*xb+ya*yb),C=xa*xa+ya*ya-r1*r1,r=-(A?(B+Math.sqrt(B*B-4*A*C))/(2*A):C/B);return{x:x1+xa+xb*r,y:y1+ya+yb*r,r:r}}function place(b,a,c){var dx=b.x-a.x,x,a2,dy=b.y-a.y,y,b2,d2=dx*dx+dy*dy;if(d2){a2=a.r+c.r,a2*=a2;b2=b.r+c.r,b2*=b2;if(a2>b2){x=(d2+b2-a2)/(2*d2);y=Math.sqrt(Math.max(0,b2/d2-x*x));c.x=b.x-x*dx-y*dy;c.y=b.y-x*dy+y*dx}else{x=(d2+a2-b2)/(2*d2);y=Math.sqrt(Math.max(0,a2/d2-x*x));c.x=a.x+x*dx-y*dy;c.y=a.y+x*dy+y*dx}}else{c.x=a.x+c.r;c.y=a.y}}function intersects(a,b){var dr=a.r+b.r-1e-6,dx=b.x-a.x,dy=b.y-a.y;return dr>0&&dr*dr>dx*dx+dy*dy}function score(node){var a=node._,b=node.next._,ab=a.r+b.r,dx=(a.x*b.r+b.x*a.r)/ab,dy=(a.y*b.r+b.y*a.r)/ab;return dx*dx+dy*dy}function Node$1(circle){this._=circle;this.next=null;this.previous=null}function packEnclose(circles){if(!(n=circles.length))return 0;var a,b,c,n,aa,ca,i,j,k,sj,sk;a=circles[0],a.x=0,a.y=0;if(!(n>1))return a.r;b=circles[1],a.x=-b.r,b.x=a.r,b.y=0;if(!(n>2))return a.r+b.r;place(b,a,c=circles[2]);a=new Node$1(a),b=new Node$1(b),c=new Node$1(c);a.next=c.previous=b;b.next=a.previous=c;c.next=b.previous=a;pack:for(i=3;i<n;++i){place(a._,b._,c=circles[i]),c=new Node$1(c);j=b.next,k=a.previous,sj=b._.r,sk=a._.r;do{if(sj<=sk){if(intersects(j._,c._)){b=j,a.next=b,b.previous=a,--i;continue pack}sj+=j._.r,j=j.next}else{if(intersects(k._,c._)){a=k,a.next=b,b.previous=a,--i;continue pack}sk+=k._.r,k=k.previous}}while(j!==k.next);c.previous=a,c.next=b,a.next=b.previous=b=c;aa=score(a);while((c=c.next)!==b){if((ca=score(c))<aa){a=c,aa=ca}}b=a.next}a=[b._],c=b;while((c=c.next)!==b)a.push(c._);c=enclose(a);for(i=0;i<n;++i)a=circles[i],a.x-=c.x,a.y-=c.y;return c.r}function siblings(circles){packEnclose(circles);return circles}function optional(f){
  5. return f==null?null:required(f)}function required(f){if(typeof f!=="function")throw new Error;return f}function constantZero(){return 0}function constant(x){return function(){return x}}function defaultRadius(d){return Math.sqrt(d.value)}function index(){var radius=null,dx=1,dy=1,padding=constantZero;function pack(root){root.x=dx/2,root.y=dy/2;if(radius){root.eachBefore(radiusLeaf(radius)).eachAfter(packChildren(padding,.5)).eachBefore(translateChild(1))}else{root.eachBefore(radiusLeaf(defaultRadius)).eachAfter(packChildren(constantZero,1)).eachAfter(packChildren(padding,root.r/Math.min(dx,dy))).eachBefore(translateChild(Math.min(dx,dy)/(2*root.r)))}return root}pack.radius=function(x){return arguments.length?(radius=optional(x),pack):radius};pack.size=function(x){return arguments.length?(dx=+x[0],dy=+x[1],pack):[dx,dy]};pack.padding=function(x){return arguments.length?(padding=typeof x==="function"?x:constant(+x),pack):padding};return pack}function radiusLeaf(radius){return function(node){if(!node.children){node.r=Math.max(0,+radius(node)||0)}}}function packChildren(padding,k){return function(node){if(children=node.children){var children,i,n=children.length,r=padding(node)*k||0,e;if(r)for(i=0;i<n;++i)children[i].r+=r;e=packEnclose(children);if(r)for(i=0;i<n;++i)children[i].r-=r;node.r=e+r}}}function translateChild(k){return function(node){var parent=node.parent;node.r*=k;if(parent){node.x=parent.x+k*node.x;node.y=parent.y+k*node.y}}}function roundNode(node){node.x0=Math.round(node.x0);node.y0=Math.round(node.y0);node.x1=Math.round(node.x1);node.y1=Math.round(node.y1)}function treemapDice(parent,x0,y0,x1,y1){var nodes=parent.children,node,i=-1,n=nodes.length,k=parent.value&&(x1-x0)/parent.value;while(++i<n){node=nodes[i],node.y0=y0,node.y1=y1;node.x0=x0,node.x1=x0+=node.value*k}}function partition(){var dx=1,dy=1,padding=0,round=false;function partition(root){var n=root.height+1;root.x0=root.y0=padding;root.x1=dx;root.y1=dy/n;root.eachBefore(positionNode(dy,n));if(round)root.eachBefore(roundNode);return root}function positionNode(dy,n){return function(node){if(node.children){treemapDice(node,node.x0,dy*(node.depth+1)/n,node.x1,dy*(node.depth+2)/n)}var x0=node.x0,y0=node.y0,x1=node.x1-padding,y1=node.y1-padding;if(x1<x0)x0=x1=(x0+x1)/2;if(y1<y0)y0=y1=(y0+y1)/2;node.x0=x0;node.y0=y0;node.x1=x1;node.y1=y1}}partition.round=function(x){return arguments.length?(round=!!x,partition):round};partition.size=function(x){return arguments.length?(dx=+x[0],dy=+x[1],partition):[dx,dy]};partition.padding=function(x){return arguments.length?(padding=+x,partition):padding};return partition}var keyPrefix="$",preroot={depth:-1},ambiguous={};function defaultId(d){return d.id}function defaultParentId(d){return d.parentId}function stratify(){var id=defaultId,parentId=defaultParentId;function stratify(data){var d,i,n=data.length,root,parent,node,nodes=new Array(n),nodeId,nodeKey,nodeByKey={};for(i=0;i<n;++i){d=data[i],node=nodes[i]=new Node(d);if((nodeId=id(d,i,data))!=null&&(nodeId+="")){nodeKey=keyPrefix+(node.id=nodeId);nodeByKey[nodeKey]=nodeKey in nodeByKey?ambiguous:node}}for(i=0;i<n;++i){node=nodes[i],nodeId=parentId(data[i],i,data);if(nodeId==null||!(nodeId+="")){if(root)throw new Error("multiple roots");root=node}else{parent=nodeByKey[keyPrefix+nodeId];if(!parent)throw new Error("missing: "+nodeId);if(parent===ambiguous)throw new Error("ambiguous: "+nodeId);if(parent.children)parent.children.push(node);else parent.children=[node];node.parent=parent}}if(!root)throw new Error("no root");root.parent=preroot;root.eachBefore(function(node){node.depth=node.parent.depth+1;--n}).eachBefore(computeHeight);root.parent=null;if(n>0)throw new Error("cycle");return root}stratify.id=function(x){return arguments.length?(id=required(x),stratify):id};stratify.parentId=function(x){return arguments.length?(parentId=required(x),stratify):parentId};return stratify}function defaultSeparation$1(a,b){return a.parent===b.parent?1:2}function nextLeft(v){var children=v.children;return children?children[0]:v.t}function nextRight(v){var children=v.children;return children?children[children.length-1]:v.t}function moveSubtree(wm,wp,shift){var change=shift/(wp.i-wm.i);wp.c-=change;wp.s+=shift;wm.c+=change;wp.z+=shift;wp.m+=shift}function executeShifts(v){var shift=0,change=0,children=v.children,i=children.length,w;while(--i>=0){w=children[i];w.z+=shift;w.m+=shift;shift+=w.s+(change+=w.c)}}function nextAncestor(vim,v,ancestor){return vim.a.parent===v.parent?vim.a:ancestor}function TreeNode(node,i){this._=node;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=i}TreeNode.prototype=Object.create(Node.prototype);function treeRoot(root){var tree=new TreeNode(root,0),node,nodes=[tree],child,children,i,n;while(node=nodes.pop()){if(children=node._.children){node.children=new Array(n=children.length);for(i=n-1;i>=0;--i){nodes.push(child=node.children[i]=new TreeNode(children[i],i));child.parent=node}}}(tree.parent=new TreeNode(null,0)).children=[tree];return tree}function tree(){var separation=defaultSeparation$1,dx=1,dy=1,nodeSize=null;function tree(root){var t=treeRoot(root);t.eachAfter(firstWalk),t.parent.m=-t.z;t.eachBefore(secondWalk);if(nodeSize)root.eachBefore(sizeNode);else{var left=root,right=root,bottom=root;root.eachBefore(function(node){if(node.x<left.x)left=node;if(node.x>right.x)right=node;if(node.depth>bottom.depth)bottom=node});var s=left===right?1:separation(left,right)/2,tx=s-left.x,kx=dx/(right.x+s+tx),ky=dy/(bottom.depth||1);root.eachBefore(function(node){node.x=(node.x+tx)*kx;node.y=node.depth*ky})}return root}function firstWalk(v){var children=v.children,siblings=v.parent.children,w=v.i?siblings[v.i-1]:null;if(children){executeShifts(v);var midpoint=(children[0].z+children[children.length-1].z)/2;if(w){v.z=w.z+separation(v._,w._);v.m=v.z-midpoint}else{v.z=midpoint}}else if(w){v.z=w.z+separation(v._,w._)}v.parent.A=apportion(v,w,v.parent.A||siblings[0])}function secondWalk(v){v._.x=v.z+v.parent.m;v.m+=v.parent.m}function apportion(v,w,ancestor){if(w){var vip=v,vop=v,vim=w,vom=vip.parent.children[0],sip=vip.m,sop=vop.m,sim=vim.m,som=vom.m,shift;while(vim=nextRight(vim),vip=nextLeft(vip),vim&&vip){vom=nextLeft(vom);vop=nextRight(vop);vop.a=v;shift=vim.z+sim-vip.z-sip+separation(vim._,vip._);if(shift>0){moveSubtree(nextAncestor(vim,v,ancestor),v,shift);sip+=shift;sop+=shift}sim+=vim.m;sip+=vip.m;som+=vom.m;sop+=vop.m}if(vim&&!nextRight(vop)){vop.t=vim;vop.m+=sim-sop}if(vip&&!nextLeft(vom)){vom.t=vip;vom.m+=sip-som;ancestor=v}}return ancestor}function sizeNode(node){node.x*=dx;node.y=node.depth*dy}tree.separation=function(x){return arguments.length?(separation=x,tree):separation};tree.size=function(x){return arguments.length?(nodeSize=false,dx=+x[0],dy=+x[1],tree):nodeSize?null:[dx,dy]};tree.nodeSize=function(x){return arguments.length?(nodeSize=true,dx=+x[0],dy=+x[1],tree):nodeSize?[dx,dy]:null};return tree}function treemapSlice(parent,x0,y0,x1,y1){var nodes=parent.children,node,i=-1,n=nodes.length,k=parent.value&&(y1-y0)/parent.value;while(++i<n){node=nodes[i],node.x0=x0,node.x1=x1;node.y0=y0,node.y1=y0+=node.value*k}}var phi=(1+Math.sqrt(5))/2;function squarifyRatio(ratio,parent,x0,y0,x1,y1){var rows=[],nodes=parent.children,row,nodeValue,i0=0,i1=0,n=nodes.length,dx,dy,value=parent.value,sumValue,minValue,maxValue,newRatio,minRatio,alpha,beta;while(i0<n){dx=x1-x0,dy=y1-y0;do{sumValue=nodes[i1++].value}while(!sumValue&&i1<n);minValue=maxValue=sumValue;alpha=Math.max(dy/dx,dx/dy)/(value*ratio);beta=sumValue*sumValue*alpha;minRatio=Math.max(maxValue/beta,beta/minValue);for(;i1<n;++i1){sumValue+=nodeValue=nodes[i1].value;if(nodeValue<minValue)minValue=nodeValue;if(nodeValue>maxValue)maxValue=nodeValue;beta=sumValue*sumValue*alpha;newRatio=Math.max(maxValue/beta,beta/minValue);if(newRatio>minRatio){sumValue-=nodeValue;break}minRatio=newRatio}rows.push(row={value:sumValue,dice:dx<dy,children:nodes.slice(i0,i1)});if(row.dice)treemapDice(row,x0,y0,x1,value?y0+=dy*sumValue/value:y1);else treemapSlice(row,x0,y0,value?x0+=dx*sumValue/value:x1,y1);value-=sumValue,i0=i1}return rows}var squarify=function custom(ratio){function squarify(parent,x0,y0,x1,y1){squarifyRatio(ratio,parent,x0,y0,x1,y1)}squarify.ratio=function(x){return custom((x=+x)>1?x:1)};return squarify}(phi);function index$1(){var tile=squarify,round=false,dx=1,dy=1,paddingStack=[0],paddingInner=constantZero,paddingTop=constantZero,paddingRight=constantZero,paddingBottom=constantZero,paddingLeft=constantZero;function treemap(root){root.x0=root.y0=0;root.x1=dx;root.y1=dy;root.eachBefore(positionNode);paddingStack=[0];if(round)root.eachBefore(roundNode);return root}function positionNode(node){var p=paddingStack[node.depth],x0=node.x0+p,y0=node.y0+p,x1=node.x1-p,y1=node.y1-p;if(x1<x0)x0=x1=(x0+x1)/2;if(y1<y0)y0=y1=(y0+y1)/2;node.x0=x0;node.y0=y0;node.x1=x1;node.y1=y1;if(node.children){p=paddingStack[node.depth+1]=paddingInner(node)/2;x0+=paddingLeft(node)-p;y0+=paddingTop(node)-p;x1-=paddingRight(node)-p;y1-=paddingBottom(node)-p;if(x1<x0)x0=x1=(x0+x1)/2;if(y1<y0)y0=y1=(y0+y1)/2;tile(node,x0,y0,x1,y1)}}treemap.round=function(x){return arguments.length?(round=!!x,treemap):round};treemap.size=function(x){return arguments.length?(dx=+x[0],dy=+x[1],treemap):[dx,dy]};treemap.tile=function(x){return arguments.length?(tile=required(x),treemap):tile};treemap.padding=function(x){return arguments.length?treemap.paddingInner(x).paddingOuter(x):treemap.paddingInner()};treemap.paddingInner=function(x){return arguments.length?(paddingInner=typeof x==="function"?x:constant(+x),treemap):paddingInner};treemap.paddingOuter=function(x){return arguments.length?treemap.paddingTop(x).paddingRight(x).paddingBottom(x).paddingLeft(x):treemap.paddingTop()};treemap.paddingTop=function(x){return arguments.length?(paddingTop=typeof x==="function"?x:constant(+x),treemap):paddingTop};treemap.paddingRight=function(x){return arguments.length?(paddingRight=typeof x==="function"?x:constant(+x),treemap):paddingRight};treemap.paddingBottom=function(x){return arguments.length?(paddingBottom=typeof x==="function"?x:constant(+x),treemap):paddingBottom};treemap.paddingLeft=function(x){return arguments.length?(paddingLeft=typeof x==="function"?x:constant(+x),treemap):paddingLeft};return treemap}function binary(parent,x0,y0,x1,y1){var nodes=parent.children,i,n=nodes.length,sum,sums=new Array(n+1);for(sums[0]=sum=i=0;i<n;++i){sums[i+1]=sum+=nodes[i].value}partition(0,n,parent.value,x0,y0,x1,y1);function partition(i,j,value,x0,y0,x1,y1){if(i>=j-1){var node=nodes[i];node.x0=x0,node.y0=y0;node.x1=x1,node.y1=y1;return}var valueOffset=sums[i],valueTarget=value/2+valueOffset,k=i+1,hi=j-1;while(k<hi){var mid=k+hi>>>1;if(sums[mid]<valueTarget)k=mid+1;else hi=mid}if(valueTarget-sums[k-1]<sums[k]-valueTarget&&i+1<k)--k;var valueLeft=sums[k]-valueOffset,valueRight=value-valueLeft;if(x1-x0>y1-y0){var xk=(x0*valueRight+x1*valueLeft)/value;partition(i,k,valueLeft,x0,y0,xk,y1);partition(k,j,valueRight,xk,y0,x1,y1)}else{var yk=(y0*valueRight+y1*valueLeft)/value;partition(i,k,valueLeft,x0,y0,x1,yk);partition(k,j,valueRight,x0,yk,x1,y1)}}}function sliceDice(parent,x0,y0,x1,y1){(parent.depth&1?treemapSlice:treemapDice)(parent,x0,y0,x1,y1)}var resquarify=function custom(ratio){function resquarify(parent,x0,y0,x1,y1){if((rows=parent._squarify)&&rows.ratio===ratio){var rows,row,nodes,i,j=-1,n,m=rows.length,value=parent.value;while(++j<m){row=rows[j],nodes=row.children;for(i=row.value=0,n=nodes.length;i<n;++i)row.value+=nodes[i].value;if(row.dice)treemapDice(row,x0,y0,x1,y0+=(y1-y0)*row.value/value);else treemapSlice(row,x0,y0,x0+=(x1-x0)*row.value/value,y1);value-=row.value}}else{parent._squarify=rows=squarifyRatio(ratio,parent,x0,y0,x1,y1);rows.ratio=ratio}}resquarify.ratio=function(x){return custom((x=+x)>1?x:1)};return resquarify}(phi);exports.cluster=cluster;exports.hierarchy=hierarchy;exports.pack=index;exports.packSiblings=siblings;exports.packEnclose=enclose;exports.partition=partition;exports.stratify=stratify;exports.tree=tree;exports.treemap=index$1;exports.treemapBinary=binary;exports.treemapDice=treemapDice;exports.treemapSlice=treemapSlice;exports.treemapSliceDice=sliceDice;exports.treemapSquarify=squarify;exports.treemapResquarify=resquarify;Object.defineProperty(exports,"__esModule",{value:true})})},{}],11:[function(require,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports,require("d3-color")):typeof define==="function"&&define.amd?define(["exports","d3-color"],factory):factory(global.d3=global.d3||{},global.d3)})(this,function(exports,d3Color){"use strict";function basis(t1,v0,v1,v2,v3){var t2=t1*t1,t3=t2*t1;return((1-3*t1+3*t2-t3)*v0+(4-6*t2+3*t3)*v1+(1+3*t1+3*t2-3*t3)*v2+t3*v3)/6}function basis$1(values){var n=values.length-1;return function(t){var i=t<=0?t=0:t>=1?(t=1,n-1):Math.floor(t*n),v1=values[i],v2=values[i+1],v0=i>0?values[i-1]:2*v1-v2,v3=i<n-1?values[i+2]:2*v2-v1;return basis((t-i/n)*n,v0,v1,v2,v3)}}function basisClosed(values){var n=values.length;return function(t){var i=Math.floor(((t%=1)<0?++t:t)*n),v0=values[(i+n-1)%n],v1=values[i%n],v2=values[(i+1)%n],v3=values[(i+2)%n];return basis((t-i/n)*n,v0,v1,v2,v3)}}function constant(x){return function(){return x}}function linear(a,d){return function(t){return a+t*d}}function exponential(a,b,y){return a=Math.pow(a,y),b=Math.pow(b,y)-a,y=1/y,function(t){return Math.pow(a+t*b,y)}}function hue(a,b){var d=b-a;return d?linear(a,d>180||d<-180?d-360*Math.round(d/360):d):constant(isNaN(a)?b:a)}function gamma(y){return(y=+y)===1?nogamma:function(a,b){return b-a?exponential(a,b,y):constant(isNaN(a)?b:a)}}function nogamma(a,b){var d=b-a;return d?linear(a,d):constant(isNaN(a)?b:a)}var rgb=function rgbGamma(y){var color=gamma(y);function rgb(start,end){var r=color((start=d3Color.rgb(start)).r,(end=d3Color.rgb(end)).r),g=color(start.g,end.g),b=color(start.b,end.b),opacity=nogamma(start.opacity,end.opacity);return function(t){start.r=r(t);start.g=g(t);start.b=b(t);start.opacity=opacity(t);return start+""}}rgb.gamma=rgbGamma;return rgb}(1);function rgbSpline(spline){return function(colors){var n=colors.length,r=new Array(n),g=new Array(n),b=new Array(n),i,color;for(i=0;i<n;++i){color=d3Color.rgb(colors[i]);r[i]=color.r||0;g[i]=color.g||0;b[i]=color.b||0}r=spline(r);g=spline(g);b=spline(b);color.opacity=1;return function(t){color.r=r(t);color.g=g(t);color.b=b(t);return color+""}}}var rgbBasis=rgbSpline(basis$1);var rgbBasisClosed=rgbSpline(basisClosed);function array(a,b){var nb=b?b.length:0,na=a?Math.min(nb,a.length):0,x=new Array(na),c=new Array(nb),i;for(i=0;i<na;++i)x[i]=value(a[i],b[i]);for(;i<nb;++i)c[i]=b[i];return function(t){for(i=0;i<na;++i)c[i]=x[i](t);return c}}function date(a,b){var d=new Date;return a=+a,b-=a,function(t){return d.setTime(a+b*t),d}}function number(a,b){return a=+a,b-=a,function(t){return a+b*t}}function object(a,b){var i={},c={},k;if(a===null||typeof a!=="object")a={};if(b===null||typeof b!=="object")b={};for(k in b){if(k in a){i[k]=value(a[k],b[k])}else{c[k]=b[k]}}return function(t){for(k in i)c[k]=i[k](t);return c}}var reA=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,reB=new RegExp(reA.source,"g");function zero(b){return function(){return b}}function one(b){return function(t){return b(t)+""}}function string(a,b){var bi=reA.lastIndex=reB.lastIndex=0,am,bm,bs,i=-1,s=[],q=[];a=a+"",b=b+"";while((am=reA.exec(a))&&(bm=reB.exec(b))){if((bs=bm.index)>bi){bs=b.slice(bi,bs);if(s[i])s[i]+=bs;else s[++i]=bs}if((am=am[0])===(bm=bm[0])){if(s[i])s[i]+=bm;else s[++i]=bm}else{s[++i]=null;q.push({i:i,x:number(am,bm)})}bi=reB.lastIndex}if(bi<b.length){bs=b.slice(bi);if(s[i])s[i]+=bs;else s[++i]=bs}return s.length<2?q[0]?one(q[0].x):zero(b):(b=q.length,function(t){for(var i=0,o;i<b;++i)s[(o=q[i]).i]=o.x(t);return s.join("")})}function value(a,b){var t=typeof b,c;return b==null||t==="boolean"?constant(b):(t==="number"?number:t==="string"?(c=d3Color.color(b))?(b=c,rgb):string:b instanceof d3Color.color?rgb:b instanceof Date?date:Array.isArray(b)?array:typeof b.valueOf!=="function"&&typeof b.toString!=="function"||isNaN(b)?object:number)(a,b)}function discrete(range){var n=range.length;return function(t){return range[Math.max(0,Math.min(n-1,Math.floor(t*n)))]}}function hue$1(a,b){var i=hue(+a,+b);return function(t){var x=i(t);return x-360*Math.floor(x/360)}}function round(a,b){return a=+a,b-=a,function(t){return Math.round(a+b*t)}}var degrees=180/Math.PI;var identity={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function decompose(a,b,c,d,e,f){var scaleX,scaleY,skewX;if(scaleX=Math.sqrt(a*a+b*b))a/=scaleX,b/=scaleX;if(skewX=a*c+b*d)c-=a*skewX,d-=b*skewX;if(scaleY=Math.sqrt(c*c+d*d))c/=scaleY,d/=scaleY,skewX/=scaleY;if(a*d<b*c)a=-a,b=-b,skewX=-skewX,scaleX=-scaleX;return{translateX:e,translateY:f,rotate:Math.atan2(b,a)*degrees,skewX:Math.atan(skewX)*degrees,scaleX:scaleX,scaleY:scaleY}}var cssNode,cssRoot,cssView,svgNode;function parseCss(value){if(value==="none")return identity;if(!cssNode)cssNode=document.createElement("DIV"),cssRoot=document.documentElement,cssView=document.defaultView;cssNode.style.transform=value;value=cssView.getComputedStyle(cssRoot.appendChild(cssNode),null).getPropertyValue("transform");cssRoot.removeChild(cssNode);value=value.slice(7,-1).split(",");return decompose(+value[0],+value[1],+value[2],+value[3],+value[4],+value[5])}function parseSvg(value){if(value==null)return identity;if(!svgNode)svgNode=document.createElementNS("http://www.w3.org/2000/svg","g");svgNode.setAttribute("transform",value);if(!(value=svgNode.transform.baseVal.consolidate()))return identity;value=value.matrix;return decompose(value.a,value.b,value.c,value.d,value.e,value.f)}function interpolateTransform(parse,pxComma,pxParen,degParen){function pop(s){return s.length?s.pop()+" ":""}function translate(xa,ya,xb,yb,s,q){if(xa!==xb||ya!==yb){var i=s.push("translate(",null,pxComma,null,pxParen);q.push({i:i-4,x:number(xa,xb)},{i:i-2,x:number(ya,yb)})}else if(xb||yb){s.push("translate("+xb+pxComma+yb+pxParen)}}function rotate(a,b,s,q){if(a!==b){if(a-b>180)b+=360;else if(b-a>180)a+=360;q.push({i:s.push(pop(s)+"rotate(",null,degParen)-2,x:number(a,b)})}else if(b){s.push(pop(s)+"rotate("+b+degParen)}}function skewX(a,b,s,q){if(a!==b){q.push({i:s.push(pop(s)+"skewX(",null,degParen)-2,x:number(a,b)})}else if(b){s.push(pop(s)+"skewX("+b+degParen)}}function scale(xa,ya,xb,yb,s,q){if(xa!==xb||ya!==yb){var i=s.push(pop(s)+"scale(",null,",",null,")");q.push({i:i-4,x:number(xa,xb)},{i:i-2,x:number(ya,yb)})}else if(xb!==1||yb!==1){s.push(pop(s)+"scale("+xb+","+yb+")")}}return function(a,b){var s=[],q=[];a=parse(a),b=parse(b);translate(a.translateX,a.translateY,b.translateX,b.translateY,s,q);rotate(a.rotate,b.rotate,s,q);skewX(a.skewX,b.skewX,s,q);scale(a.scaleX,a.scaleY,b.scaleX,b.scaleY,s,q);a=b=null;return function(t){var i=-1,n=q.length,o;while(++i<n)s[(o=q[i]).i]=o.x(t);return s.join("")}}}var interpolateTransformCss=interpolateTransform(parseCss,"px, ","px)","deg)");var interpolateTransformSvg=interpolateTransform(parseSvg,", ",")",")");var rho=Math.SQRT2,rho2=2,rho4=4,epsilon2=1e-12;function cosh(x){return((x=Math.exp(x))+1/x)/2}function sinh(x){return((x=Math.exp(x))-1/x)/2}function tanh(x){return((x=Math.exp(2*x))-1)/(x+1)}function zoom(p0,p1){var ux0=p0[0],uy0=p0[1],w0=p0[2],ux1=p1[0],uy1=p1[1],w1=p1[2],dx=ux1-ux0,dy=uy1-uy0,d2=dx*dx+dy*dy,i,S;if(d2<epsilon2){S=Math.log(w1/w0)/rho;i=function(t){return[ux0+t*dx,uy0+t*dy,w0*Math.exp(rho*t*S)]}}else{var d1=Math.sqrt(d2),b0=(w1*w1-w0*w0+rho4*d2)/(2*w0*rho2*d1),b1=(w1*w1-w0*w0-rho4*d2)/(2*w1*rho2*d1),r0=Math.log(Math.sqrt(b0*b0+1)-b0),r1=Math.log(Math.sqrt(b1*b1+1)-b1);S=(r1-r0)/rho;i=function(t){var s=t*S,coshr0=cosh(r0),u=w0/(rho2*d1)*(coshr0*tanh(rho*s+r0)-sinh(r0));return[ux0+u*dx,uy0+u*dy,w0*coshr0/cosh(rho*s+r0)]}}i.duration=S*1e3;return i}function hsl(hue$$1){return function(start,end){var h=hue$$1((start=d3Color.hsl(start)).h,(end=d3Color.hsl(end)).h),s=nogamma(start.s,end.s),l=nogamma(start.l,end.l),opacity=nogamma(start.opacity,end.opacity);return function(t){start.h=h(t);start.s=s(t);start.l=l(t);start.opacity=opacity(t);return start+""}}}var hsl$1=hsl(hue);var hslLong=hsl(nogamma);function lab(start,end){var l=nogamma((start=d3Color.lab(start)).l,(end=d3Color.lab(end)).l),a=nogamma(start.a,end.a),b=nogamma(start.b,end.b),opacity=nogamma(start.opacity,end.opacity);return function(t){start.l=l(t);start.a=a(t);start.b=b(t);start.opacity=opacity(t);return start+""}}function hcl(hue$$1){return function(start,end){var h=hue$$1((start=d3Color.hcl(start)).h,(end=d3Color.hcl(end)).h),c=nogamma(start.c,end.c),l=nogamma(start.l,end.l),opacity=nogamma(start.opacity,end.opacity);return function(t){start.h=h(t);start.c=c(t);start.l=l(t);start.opacity=opacity(t);return start+""}}}var hcl$1=hcl(hue);var hclLong=hcl(nogamma);function cubehelix(hue$$1){return function cubehelixGamma(y){y=+y;function cubehelix(start,end){var h=hue$$1((start=d3Color.cubehelix(start)).h,(end=d3Color.cubehelix(end)).h),s=nogamma(start.s,end.s),l=nogamma(start.l,end.l),opacity=nogamma(start.opacity,end.opacity);return function(t){start.h=h(t);start.s=s(t);start.l=l(Math.pow(t,y));start.opacity=opacity(t);return start+""}}cubehelix.gamma=cubehelixGamma;return cubehelix}(1)}var cubehelix$1=cubehelix(hue);var cubehelixLong=cubehelix(nogamma);function piecewise(interpolate,values){var i=0,n=values.length-1,v=values[0],I=new Array(n<0?0:n);while(i<n)I[i]=interpolate(v,v=values[++i]);return function(t){var i=Math.max(0,Math.min(n-1,Math.floor(t*=n)));return I[i](t-i)}}function quantize(interpolator,n){var samples=new Array(n);for(var i=0;i<n;++i)samples[i]=interpolator(i/(n-1));return samples}exports.interpolate=value;exports.interpolateArray=array;exports.interpolateBasis=basis$1;exports.interpolateBasisClosed=basisClosed;exports.interpolateDate=date;exports.interpolateDiscrete=discrete;exports.interpolateHue=hue$1;exports.interpolateNumber=number;exports.interpolateObject=object;exports.interpolateRound=round;exports.interpolateString=string;exports.interpolateTransformCss=interpolateTransformCss;exports.interpolateTransformSvg=interpolateTransformSvg;exports.interpolateZoom=zoom;exports.interpolateRgb=rgb;exports.interpolateRgbBasis=rgbBasis;exports.interpolateRgbBasisClosed=rgbBasisClosed;exports.interpolateHsl=hsl$1;exports.interpolateHslLong=hslLong;exports.interpolateLab=lab;exports.interpolateHcl=hcl$1;exports.interpolateHclLong=hclLong;exports.interpolateCubehelix=cubehelix$1;exports.interpolateCubehelixLong=cubehelixLong;exports.piecewise=piecewise;exports.quantize=quantize;Object.defineProperty(exports,"__esModule",{value:true})})},{"d3-color":5}],12:[function(require,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports):typeof define==="function"&&define.amd?define(["exports"],factory):factory(global.d3=global.d3||{})})(this,function(exports){"use strict";var pi=Math.PI,tau=2*pi,epsilon=1e-6,tauEpsilon=tau-epsilon;function Path(){this._x0=this._y0=this._x1=this._y1=null;this._=""}function path(){return new Path}Path.prototype=path.prototype={constructor:Path,moveTo:function(x,y){this._+="M"+(this._x0=this._x1=+x)+","+(this._y0=this._y1=+y)},closePath:function(){if(this._x1!==null){this._x1=this._x0,this._y1=this._y0;this._+="Z"}},lineTo:function(x,y){this._+="L"+(this._x1=+x)+","+(this._y1=+y)},quadraticCurveTo:function(x1,y1,x,y){this._+="Q"+ +x1+","+ +y1+","+(this._x1=+x)+","+(this._y1=+y)},bezierCurveTo:function(x1,y1,x2,y2,x,y){this._+="C"+ +x1+","+ +y1+","+ +x2+","+ +y2+","+(this._x1=+x)+","+(this._y1=+y)},arcTo:function(x1,y1,x2,y2,r){x1=+x1,y1=+y1,x2=+x2,y2=+y2,r=+r;var x0=this._x1,y0=this._y1,x21=x2-x1,y21=y2-y1,x01=x0-x1,y01=y0-y1,l01_2=x01*x01+y01*y01;if(r<0)throw new Error("negative radius: "+r);if(this._x1===null){this._+="M"+(this._x1=x1)+","+(this._y1=y1)}else if(!(l01_2>epsilon));else if(!(Math.abs(y01*x21-y21*x01)>epsilon)||!r){this._+="L"+(this._x1=x1)+","+(this._y1=y1)}else{var x20=x2-x0,y20=y2-y0,l21_2=x21*x21+y21*y21,l20_2=x20*x20+y20*y20,l21=Math.sqrt(l21_2),l01=Math.sqrt(l01_2),l=r*Math.tan((pi-Math.acos((l21_2+l01_2-l20_2)/(2*l21*l01)))/2),t01=l/l01,t21=l/l21;if(Math.abs(t01-1)>epsilon){this._+="L"+(x1+t01*x01)+","+(y1+t01*y01)}this._+="A"+r+","+r+",0,0,"+ +(y01*x20>x01*y20)+","+(this._x1=x1+t21*x21)+","+(this._y1=y1+t21*y21)}},arc:function(x,y,r,a0,a1,ccw){x=+x,y=+y,r=+r;var dx=r*Math.cos(a0),dy=r*Math.sin(a0),x0=x+dx,y0=y+dy,cw=1^ccw,da=ccw?a0-a1:a1-a0;if(r<0)throw new Error("negative radius: "+r);if(this._x1===null){this._+="M"+x0+","+y0}else if(Math.abs(this._x1-x0)>epsilon||Math.abs(this._y1-y0)>epsilon){this._+="L"+x0+","+y0}if(!r)return;if(da<0)da=da%tau+tau;if(da>tauEpsilon){this._+="A"+r+","+r+",0,1,"+cw+","+(x-dx)+","+(y-dy)+"A"+r+","+r+",0,1,"+cw+","+(this._x1=x0)+","+(this._y1=y0)}else if(da>epsilon){this._+="A"+r+","+r+",0,"+ +(da>=pi)+","+cw+","+(this._x1=x+r*Math.cos(a1))+","+(this._y1=y+r*Math.sin(a1))}},rect:function(x,y,w,h){this._+="M"+(this._x0=this._x1=+x)+","+(this._y0=this._y1=+y)+"h"+ +w+"v"+ +h+"h"+-w+"Z"},toString:function(){return this._}};exports.path=path;Object.defineProperty(exports,"__esModule",{value:true})})},{}],13:[function(require,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports,require("d3-array"),require("d3-collection"),require("d3-shape")):typeof define==="function"&&define.amd?define(["exports","d3-array","d3-collection","d3-shape"],factory):factory(global.d3=global.d3||{},global.d3,global.d3,global.d3)})(this,function(exports,d3Array,d3Collection,d3Shape){"use strict";function targetDepth(d){return d.target.depth}function left(node){return node.depth}function right(node,n){return n-1-node.height}function justify(node,n){return node.sourceLinks.length?node.depth:n-1}function center(node){return node.targetLinks.length?node.depth:node.sourceLinks.length?d3Array.min(node.sourceLinks,targetDepth)-1:0}function constant(x){return function(){return x}}function ascendingSourceBreadth(a,b){return ascendingBreadth(a.source,b.source)||a.index-b.index}function ascendingTargetBreadth(a,b){return ascendingBreadth(a.target,b.target)||a.index-b.index}function ascendingBreadth(a,b){return a.y0-b.y0}function value(d){return d.value}function nodeCenter(node){return(node.y0+node.y1)/2}function weightedSource(link){return nodeCenter(link.source)*link.value}function weightedTarget(link){return nodeCenter(link.target)*link.value}function defaultId(d){return d.index}function defaultNodes(graph){return graph.nodes}function defaultLinks(graph){return graph.links}function find(nodeById,id){var node=nodeById.get(id);if(!node)throw new Error("missing: "+id);return node}var sankey=function(){var x0=0,y0=0,x1=1,y1=1,dx=24,py=8,id=defaultId,align=justify,nodes=defaultNodes,links=defaultLinks,iterations=32;function sankey(){var graph={nodes:nodes.apply(null,arguments),links:links.apply(null,arguments)};computeNodeLinks(graph);computeNodeValues(graph);computeNodeDepths(graph);computeNodeBreadths(graph,iterations);computeLinkBreadths(graph);return graph}sankey.update=function(graph){computeLinkBreadths(graph);return graph};sankey.nodeId=function(_){return arguments.length?(id=typeof _==="function"?_:constant(_),sankey):id};sankey.nodeAlign=function(_){return arguments.length?(align=typeof _==="function"?_:constant(_),sankey):align};sankey.nodeWidth=function(_){return arguments.length?(dx=+_,sankey):dx};sankey.nodePadding=function(_){return arguments.length?(py=+_,sankey):py};sankey.nodes=function(_){return arguments.length?(nodes=typeof _==="function"?_:constant(_),sankey):nodes};sankey.links=function(_){return arguments.length?(links=typeof _==="function"?_:constant(_),sankey):links};sankey.size=function(_){return arguments.length?(x0=y0=0,x1=+_[0],y1=+_[1],sankey):[x1-x0,y1-y0]};sankey.extent=function(_){return arguments.length?(x0=+_[0][0],x1=+_[1][0],y0=+_[0][1],y1=+_[1][1],sankey):[[x0,y0],[x1,y1]]};sankey.iterations=function(_){return arguments.length?(iterations=+_,sankey):iterations};function computeNodeLinks(graph){graph.nodes.forEach(function(node,i){node.index=i;node.sourceLinks=[];node.targetLinks=[]});var nodeById=d3Collection.map(graph.nodes,id);graph.links.forEach(function(link,i){link.index=i;var source=link.source,target=link.target;if(typeof source!=="object")source=link.source=find(nodeById,source);if(typeof target!=="object")target=link.target=find(nodeById,target);source.sourceLinks.push(link);target.targetLinks.push(link)})}function computeNodeValues(graph){graph.nodes.forEach(function(node){node.value=Math.max(d3Array.sum(node.sourceLinks,value),d3Array.sum(node.targetLinks,value))})}function computeNodeDepths(graph){var nodes,next,x;for(nodes=graph.nodes,next=[],x=0;nodes.length;++x,nodes=next,next=[]){nodes.forEach(function(node){node.depth=x;node.sourceLinks.forEach(function(link){if(next.indexOf(link.target)<0){next.push(link.target)}})})}for(nodes=graph.nodes,next=[],x=0;nodes.length;++x,nodes=next,next=[]){nodes.forEach(function(node){node.height=x;node.targetLinks.forEach(function(link){if(next.indexOf(link.source)<0){next.push(link.source)}})})}var kx=(x1-x0-dx)/(x-1);graph.nodes.forEach(function(node){node.x1=(node.x0=x0+Math.max(0,Math.min(x-1,Math.floor(align.call(null,node,x))))*kx)+dx})}function computeNodeBreadths(graph){var columns=d3Collection.nest().key(function(d){return d.x0}).sortKeys(d3Array.ascending).entries(graph.nodes).map(function(d){return d.values});initializeNodeBreadth();resolveCollisions();for(var alpha=1,n=iterations;n>0;--n){relaxRightToLeft(alpha*=.99);resolveCollisions();relaxLeftToRight(alpha);resolveCollisions()}function initializeNodeBreadth(){var ky=d3Array.min(columns,function(nodes){return(y1-y0-(nodes.length-1)*py)/d3Array.sum(nodes,value)});columns.forEach(function(nodes){nodes.forEach(function(node,i){node.y1=(node.y0=i)+node.value*ky})});graph.links.forEach(function(link){link.width=link.value*ky})}function relaxLeftToRight(alpha){columns.forEach(function(nodes){nodes.forEach(function(node){if(node.targetLinks.length){var dy=(d3Array.sum(node.targetLinks,weightedSource)/d3Array.sum(node.targetLinks,value)-nodeCenter(node))*alpha;node.y0+=dy,node.y1+=dy}})})}function relaxRightToLeft(alpha){columns.slice().reverse().forEach(function(nodes){nodes.forEach(function(node){if(node.sourceLinks.length){var dy=(d3Array.sum(node.sourceLinks,weightedTarget)/d3Array.sum(node.sourceLinks,value)-nodeCenter(node))*alpha;node.y0+=dy,node.y1+=dy}})})}function resolveCollisions(){columns.forEach(function(nodes){var node,dy,y=y0,n=nodes.length,i;nodes.sort(ascendingBreadth);for(i=0;i<n;++i){node=nodes[i];dy=y-node.y0;if(dy>0)node.y0+=dy,node.y1+=dy;y=node.y1+py}dy=y-py-y1;if(dy>0){y=node.y0-=dy,node.y1-=dy;for(i=n-2;i>=0;--i){node=nodes[i];dy=node.y1+py-y;if(dy>0)node.y0-=dy,node.y1-=dy;y=node.y0}}})}}function computeLinkBreadths(graph){graph.nodes.forEach(function(node){node.sourceLinks.sort(ascendingTargetBreadth);node.targetLinks.sort(ascendingSourceBreadth)});graph.nodes.forEach(function(node){var y0=node.y0,y1=y0;node.sourceLinks.forEach(function(link){link.y0=y0+link.width/2,y0+=link.width});node.targetLinks.forEach(function(link){link.y1=y1+link.width/2,y1+=link.width})})}return sankey};function horizontalSource(d){return[d.source.x1,d.y0]}function horizontalTarget(d){return[d.target.x0,d.y1]}var sankeyLinkHorizontal=function(){return d3Shape.linkHorizontal().source(horizontalSource).target(horizontalTarget)};exports.sankey=sankey;exports.sankeyCenter=center;exports.sankeyLeft=left;exports.sankeyRight=right;exports.sankeyJustify=justify;exports.sankeyLinkHorizontal=sankeyLinkHorizontal;Object.defineProperty(exports,"__esModule",{value:true})})},{"d3-array":3,"d3-collection":4,"d3-shape":15}],14:[function(require,module,exports){(function(global,factory){
  6. typeof exports==="object"&&typeof module!=="undefined"?factory(exports,require("d3-array"),require("d3-collection"),require("d3-interpolate"),require("d3-format"),require("d3-time"),require("d3-time-format"),require("d3-color")):typeof define==="function"&&define.amd?define(["exports","d3-array","d3-collection","d3-interpolate","d3-format","d3-time","d3-time-format","d3-color"],factory):factory(global.d3=global.d3||{},global.d3,global.d3,global.d3,global.d3,global.d3,global.d3,global.d3)})(this,function(exports,d3Array,d3Collection,d3Interpolate,d3Format,d3Time,d3TimeFormat,d3Color){"use strict";var array=Array.prototype;var map$1=array.map;var slice=array.slice;var implicit={name:"implicit"};function ordinal(range$$1){var index=d3Collection.map(),domain=[],unknown=implicit;range$$1=range$$1==null?[]:slice.call(range$$1);function scale(d){var key=d+"",i=index.get(key);if(!i){if(unknown!==implicit)return unknown;index.set(key,i=domain.push(d))}return range$$1[(i-1)%range$$1.length]}scale.domain=function(_){if(!arguments.length)return domain.slice();domain=[],index=d3Collection.map();var i=-1,n=_.length,d,key;while(++i<n)if(!index.has(key=(d=_[i])+""))index.set(key,domain.push(d));return scale};scale.range=function(_){return arguments.length?(range$$1=slice.call(_),scale):range$$1.slice()};scale.unknown=function(_){return arguments.length?(unknown=_,scale):unknown};scale.copy=function(){return ordinal().domain(domain).range(range$$1).unknown(unknown)};return scale}function band(){var scale=ordinal().unknown(undefined),domain=scale.domain,ordinalRange=scale.range,range$$1=[0,1],step,bandwidth,round=false,paddingInner=0,paddingOuter=0,align=.5;delete scale.unknown;function rescale(){var n=domain().length,reverse=range$$1[1]<range$$1[0],start=range$$1[reverse-0],stop=range$$1[1-reverse];step=(stop-start)/Math.max(1,n-paddingInner+paddingOuter*2);if(round)step=Math.floor(step);start+=(stop-start-step*(n-paddingInner))*align;bandwidth=step*(1-paddingInner);if(round)start=Math.round(start),bandwidth=Math.round(bandwidth);var values=d3Array.range(n).map(function(i){return start+step*i});return ordinalRange(reverse?values.reverse():values)}scale.domain=function(_){return arguments.length?(domain(_),rescale()):domain()};scale.range=function(_){return arguments.length?(range$$1=[+_[0],+_[1]],rescale()):range$$1.slice()};scale.rangeRound=function(_){return range$$1=[+_[0],+_[1]],round=true,rescale()};scale.bandwidth=function(){return bandwidth};scale.step=function(){return step};scale.round=function(_){return arguments.length?(round=!!_,rescale()):round};scale.padding=function(_){return arguments.length?(paddingInner=paddingOuter=Math.max(0,Math.min(1,_)),rescale()):paddingInner};scale.paddingInner=function(_){return arguments.length?(paddingInner=Math.max(0,Math.min(1,_)),rescale()):paddingInner};scale.paddingOuter=function(_){return arguments.length?(paddingOuter=Math.max(0,Math.min(1,_)),rescale()):paddingOuter};scale.align=function(_){return arguments.length?(align=Math.max(0,Math.min(1,_)),rescale()):align};scale.copy=function(){return band().domain(domain()).range(range$$1).round(round).paddingInner(paddingInner).paddingOuter(paddingOuter).align(align)};return rescale()}function pointish(scale){var copy=scale.copy;scale.padding=scale.paddingOuter;delete scale.paddingInner;delete scale.paddingOuter;scale.copy=function(){return pointish(copy())};return scale}function point(){return pointish(band().paddingInner(1))}var constant=function(x){return function(){return x}};var number=function(x){return+x};var unit=[0,1];function deinterpolateLinear(a,b){return(b-=a=+a)?function(x){return(x-a)/b}:constant(b)}function deinterpolateClamp(deinterpolate){return function(a,b){var d=deinterpolate(a=+a,b=+b);return function(x){return x<=a?0:x>=b?1:d(x)}}}function reinterpolateClamp(reinterpolate){return function(a,b){var r=reinterpolate(a=+a,b=+b);return function(t){return t<=0?a:t>=1?b:r(t)}}}function bimap(domain,range$$1,deinterpolate,reinterpolate){var d0=domain[0],d1=domain[1],r0=range$$1[0],r1=range$$1[1];if(d1<d0)d0=deinterpolate(d1,d0),r0=reinterpolate(r1,r0);else d0=deinterpolate(d0,d1),r0=reinterpolate(r0,r1);return function(x){return r0(d0(x))}}function polymap(domain,range$$1,deinterpolate,reinterpolate){var j=Math.min(domain.length,range$$1.length)-1,d=new Array(j),r=new Array(j),i=-1;if(domain[j]<domain[0]){domain=domain.slice().reverse();range$$1=range$$1.slice().reverse()}while(++i<j){d[i]=deinterpolate(domain[i],domain[i+1]);r[i]=reinterpolate(range$$1[i],range$$1[i+1])}return function(x){var i=d3Array.bisect(domain,x,1,j)-1;return r[i](d[i](x))}}function copy(source,target){return target.domain(source.domain()).range(source.range()).interpolate(source.interpolate()).clamp(source.clamp())}function continuous(deinterpolate,reinterpolate){var domain=unit,range$$1=unit,interpolate$$1=d3Interpolate.interpolate,clamp=false,piecewise,output,input;function rescale(){piecewise=Math.min(domain.length,range$$1.length)>2?polymap:bimap;output=input=null;return scale}function scale(x){return(output||(output=piecewise(domain,range$$1,clamp?deinterpolateClamp(deinterpolate):deinterpolate,interpolate$$1)))(+x)}scale.invert=function(y){return(input||(input=piecewise(range$$1,domain,deinterpolateLinear,clamp?reinterpolateClamp(reinterpolate):reinterpolate)))(+y)};scale.domain=function(_){return arguments.length?(domain=map$1.call(_,number),rescale()):domain.slice()};scale.range=function(_){return arguments.length?(range$$1=slice.call(_),rescale()):range$$1.slice()};scale.rangeRound=function(_){return range$$1=slice.call(_),interpolate$$1=d3Interpolate.interpolateRound,rescale()};scale.clamp=function(_){return arguments.length?(clamp=!!_,rescale()):clamp};scale.interpolate=function(_){return arguments.length?(interpolate$$1=_,rescale()):interpolate$$1};return rescale()}var tickFormat=function(domain,count,specifier){var start=domain[0],stop=domain[domain.length-1],step=d3Array.tickStep(start,stop,count==null?10:count),precision;specifier=d3Format.formatSpecifier(specifier==null?",f":specifier);switch(specifier.type){case"s":{var value=Math.max(Math.abs(start),Math.abs(stop));if(specifier.precision==null&&!isNaN(precision=d3Format.precisionPrefix(step,value)))specifier.precision=precision;return d3Format.formatPrefix(specifier,value)}case"":case"e":case"g":case"p":case"r":{if(specifier.precision==null&&!isNaN(precision=d3Format.precisionRound(step,Math.max(Math.abs(start),Math.abs(stop)))))specifier.precision=precision-(specifier.type==="e");break}case"f":case"%":{if(specifier.precision==null&&!isNaN(precision=d3Format.precisionFixed(step)))specifier.precision=precision-(specifier.type==="%")*2;break}}return d3Format.format(specifier)};function linearish(scale){var domain=scale.domain;scale.ticks=function(count){var d=domain();return d3Array.ticks(d[0],d[d.length-1],count==null?10:count)};scale.tickFormat=function(count,specifier){return tickFormat(domain(),count,specifier)};scale.nice=function(count){if(count==null)count=10;var d=domain(),i0=0,i1=d.length-1,start=d[i0],stop=d[i1],step;if(stop<start){step=start,start=stop,stop=step;step=i0,i0=i1,i1=step}step=d3Array.tickIncrement(start,stop,count);if(step>0){start=Math.floor(start/step)*step;stop=Math.ceil(stop/step)*step;step=d3Array.tickIncrement(start,stop,count)}else if(step<0){start=Math.ceil(start*step)/step;stop=Math.floor(stop*step)/step;step=d3Array.tickIncrement(start,stop,count)}if(step>0){d[i0]=Math.floor(start/step)*step;d[i1]=Math.ceil(stop/step)*step;domain(d)}else if(step<0){d[i0]=Math.ceil(start*step)/step;d[i1]=Math.floor(stop*step)/step;domain(d)}return scale};return scale}function linear(){var scale=continuous(deinterpolateLinear,d3Interpolate.interpolateNumber);scale.copy=function(){return copy(scale,linear())};return linearish(scale)}function identity(){var domain=[0,1];function scale(x){return+x}scale.invert=scale;scale.domain=scale.range=function(_){return arguments.length?(domain=map$1.call(_,number),scale):domain.slice()};scale.copy=function(){return identity().domain(domain)};return linearish(scale)}var nice=function(domain,interval){domain=domain.slice();var i0=0,i1=domain.length-1,x0=domain[i0],x1=domain[i1],t;if(x1<x0){t=i0,i0=i1,i1=t;t=x0,x0=x1,x1=t}domain[i0]=interval.floor(x0);domain[i1]=interval.ceil(x1);return domain};function deinterpolate(a,b){return(b=Math.log(b/a))?function(x){return Math.log(x/a)/b}:constant(b)}function reinterpolate(a,b){return a<0?function(t){return-Math.pow(-b,t)*Math.pow(-a,1-t)}:function(t){return Math.pow(b,t)*Math.pow(a,1-t)}}function pow10(x){return isFinite(x)?+("1e"+x):x<0?0:x}function powp(base){return base===10?pow10:base===Math.E?Math.exp:function(x){return Math.pow(base,x)}}function logp(base){return base===Math.E?Math.log:base===10&&Math.log10||base===2&&Math.log2||(base=Math.log(base),function(x){return Math.log(x)/base})}function reflect(f){return function(x){return-f(-x)}}function log(){var scale=continuous(deinterpolate,reinterpolate).domain([1,10]),domain=scale.domain,base=10,logs=logp(10),pows=powp(10);function rescale(){logs=logp(base),pows=powp(base);if(domain()[0]<0)logs=reflect(logs),pows=reflect(pows);return scale}scale.base=function(_){return arguments.length?(base=+_,rescale()):base};scale.domain=function(_){return arguments.length?(domain(_),rescale()):domain()};scale.ticks=function(count){var d=domain(),u=d[0],v=d[d.length-1],r;if(r=v<u)i=u,u=v,v=i;var i=logs(u),j=logs(v),p,k,t,n=count==null?10:+count,z=[];if(!(base%1)&&j-i<n){i=Math.round(i)-1,j=Math.round(j)+1;if(u>0)for(;i<j;++i){for(k=1,p=pows(i);k<base;++k){t=p*k;if(t<u)continue;if(t>v)break;z.push(t)}}else for(;i<j;++i){for(k=base-1,p=pows(i);k>=1;--k){t=p*k;if(t<u)continue;if(t>v)break;z.push(t)}}}else{z=d3Array.ticks(i,j,Math.min(j-i,n)).map(pows)}return r?z.reverse():z};scale.tickFormat=function(count,specifier){if(specifier==null)specifier=base===10?".0e":",";if(typeof specifier!=="function")specifier=d3Format.format(specifier);if(count===Infinity)return specifier;if(count==null)count=10;var k=Math.max(1,base*count/scale.ticks().length);return function(d){var i=d/pows(Math.round(logs(d)));if(i*base<base-.5)i*=base;return i<=k?specifier(d):""}};scale.nice=function(){return domain(nice(domain(),{floor:function(x){return pows(Math.floor(logs(x)))},ceil:function(x){return pows(Math.ceil(logs(x)))}}))};scale.copy=function(){return copy(scale,log().base(base))};return scale}function raise(x,exponent){return x<0?-Math.pow(-x,exponent):Math.pow(x,exponent)}function pow(){var exponent=1,scale=continuous(deinterpolate,reinterpolate),domain=scale.domain;function deinterpolate(a,b){return(b=raise(b,exponent)-(a=raise(a,exponent)))?function(x){return(raise(x,exponent)-a)/b}:constant(b)}function reinterpolate(a,b){b=raise(b,exponent)-(a=raise(a,exponent));return function(t){return raise(a+b*t,1/exponent)}}scale.exponent=function(_){return arguments.length?(exponent=+_,domain(domain())):exponent};scale.copy=function(){return copy(scale,pow().exponent(exponent))};return linearish(scale)}function sqrt(){return pow().exponent(.5)}function quantile$1(){var domain=[],range$$1=[],thresholds=[];function rescale(){var i=0,n=Math.max(1,range$$1.length);thresholds=new Array(n-1);while(++i<n)thresholds[i-1]=d3Array.quantile(domain,i/n);return scale}function scale(x){if(!isNaN(x=+x))return range$$1[d3Array.bisect(thresholds,x)]}scale.invertExtent=function(y){var i=range$$1.indexOf(y);return i<0?[NaN,NaN]:[i>0?thresholds[i-1]:domain[0],i<thresholds.length?thresholds[i]:domain[domain.length-1]]};scale.domain=function(_){if(!arguments.length)return domain.slice();domain=[];for(var i=0,n=_.length,d;i<n;++i)if(d=_[i],d!=null&&!isNaN(d=+d))domain.push(d);domain.sort(d3Array.ascending);return rescale()};scale.range=function(_){return arguments.length?(range$$1=slice.call(_),rescale()):range$$1.slice()};scale.quantiles=function(){return thresholds.slice()};scale.copy=function(){return quantile$1().domain(domain).range(range$$1)};return scale}function quantize(){var x0=0,x1=1,n=1,domain=[.5],range$$1=[0,1];function scale(x){if(x<=x)return range$$1[d3Array.bisect(domain,x,0,n)]}function rescale(){var i=-1;domain=new Array(n);while(++i<n)domain[i]=((i+1)*x1-(i-n)*x0)/(n+1);return scale}scale.domain=function(_){return arguments.length?(x0=+_[0],x1=+_[1],rescale()):[x0,x1]};scale.range=function(_){return arguments.length?(n=(range$$1=slice.call(_)).length-1,rescale()):range$$1.slice()};scale.invertExtent=function(y){var i=range$$1.indexOf(y);return i<0?[NaN,NaN]:i<1?[x0,domain[0]]:i>=n?[domain[n-1],x1]:[domain[i-1],domain[i]]};scale.copy=function(){return quantize().domain([x0,x1]).range(range$$1)};return linearish(scale)}function threshold(){var domain=[.5],range$$1=[0,1],n=1;function scale(x){if(x<=x)return range$$1[d3Array.bisect(domain,x,0,n)]}scale.domain=function(_){return arguments.length?(domain=slice.call(_),n=Math.min(domain.length,range$$1.length-1),scale):domain.slice()};scale.range=function(_){return arguments.length?(range$$1=slice.call(_),n=Math.min(domain.length,range$$1.length-1),scale):range$$1.slice()};scale.invertExtent=function(y){var i=range$$1.indexOf(y);return[domain[i-1],domain[i]]};scale.copy=function(){return threshold().domain(domain).range(range$$1)};return scale}var durationSecond=1e3;var durationMinute=durationSecond*60;var durationHour=durationMinute*60;var durationDay=durationHour*24;var durationWeek=durationDay*7;var durationMonth=durationDay*30;var durationYear=durationDay*365;function date(t){return new Date(t)}function number$1(t){return t instanceof Date?+t:+new Date(+t)}function calendar(year,month,week,day,hour,minute,second,millisecond,format$$1){var scale=continuous(deinterpolateLinear,d3Interpolate.interpolateNumber),invert=scale.invert,domain=scale.domain;var formatMillisecond=format$$1(".%L"),formatSecond=format$$1(":%S"),formatMinute=format$$1("%I:%M"),formatHour=format$$1("%I %p"),formatDay=format$$1("%a %d"),formatWeek=format$$1("%b %d"),formatMonth=format$$1("%B"),formatYear=format$$1("%Y");var tickIntervals=[[second,1,durationSecond],[second,5,5*durationSecond],[second,15,15*durationSecond],[second,30,30*durationSecond],[minute,1,durationMinute],[minute,5,5*durationMinute],[minute,15,15*durationMinute],[minute,30,30*durationMinute],[hour,1,durationHour],[hour,3,3*durationHour],[hour,6,6*durationHour],[hour,12,12*durationHour],[day,1,durationDay],[day,2,2*durationDay],[week,1,durationWeek],[month,1,durationMonth],[month,3,3*durationMonth],[year,1,durationYear]];function tickFormat(date){return(second(date)<date?formatMillisecond:minute(date)<date?formatSecond:hour(date)<date?formatMinute:day(date)<date?formatHour:month(date)<date?week(date)<date?formatDay:formatWeek:year(date)<date?formatMonth:formatYear)(date)}function tickInterval(interval,start,stop,step){if(interval==null)interval=10;if(typeof interval==="number"){var target=Math.abs(stop-start)/interval,i=d3Array.bisector(function(i){return i[2]}).right(tickIntervals,target);if(i===tickIntervals.length){step=d3Array.tickStep(start/durationYear,stop/durationYear,interval);interval=year}else if(i){i=tickIntervals[target/tickIntervals[i-1][2]<tickIntervals[i][2]/target?i-1:i];step=i[1];interval=i[0]}else{step=Math.max(d3Array.tickStep(start,stop,interval),1);interval=millisecond}}return step==null?interval:interval.every(step)}scale.invert=function(y){return new Date(invert(y))};scale.domain=function(_){return arguments.length?domain(map$1.call(_,number$1)):domain().map(date)};scale.ticks=function(interval,step){var d=domain(),t0=d[0],t1=d[d.length-1],r=t1<t0,t;if(r)t=t0,t0=t1,t1=t;t=tickInterval(interval,t0,t1,step);t=t?t.range(t0,t1+1):[];return r?t.reverse():t};scale.tickFormat=function(count,specifier){return specifier==null?tickFormat:format$$1(specifier)};scale.nice=function(interval,step){var d=domain();return(interval=tickInterval(interval,d[0],d[d.length-1],step))?domain(nice(d,interval)):scale};scale.copy=function(){return copy(scale,calendar(year,month,week,day,hour,minute,second,millisecond,format$$1))};return scale}var time=function(){return calendar(d3Time.timeYear,d3Time.timeMonth,d3Time.timeWeek,d3Time.timeDay,d3Time.timeHour,d3Time.timeMinute,d3Time.timeSecond,d3Time.timeMillisecond,d3TimeFormat.timeFormat).domain([new Date(2e3,0,1),new Date(2e3,0,2)])};var utcTime=function(){return calendar(d3Time.utcYear,d3Time.utcMonth,d3Time.utcWeek,d3Time.utcDay,d3Time.utcHour,d3Time.utcMinute,d3Time.utcSecond,d3Time.utcMillisecond,d3TimeFormat.utcFormat).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)])};var colors=function(s){return s.match(/.{6}/g).map(function(x){return"#"+x})};var category10=colors("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf");var category20b=colors("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6");var category20c=colors("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9");var category20=colors("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5");var cubehelix$1=d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(300,.5,0),d3Color.cubehelix(-240,.5,1));var warm=d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(-100,.75,.35),d3Color.cubehelix(80,1.5,.8));var cool=d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(260,.75,.35),d3Color.cubehelix(80,1.5,.8));var rainbow=d3Color.cubehelix();var rainbow$1=function(t){if(t<0||t>1)t-=Math.floor(t);var ts=Math.abs(t-.5);rainbow.h=360*t-100;rainbow.s=1.5-1.5*ts;rainbow.l=.8-.9*ts;return rainbow+""};function ramp(range$$1){var n=range$$1.length;return function(t){return range$$1[Math.max(0,Math.min(n-1,Math.floor(t*n)))]}}var viridis=ramp(colors("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));var magma=ramp(colors("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf"));var inferno=ramp(colors("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4"));var plasma=ramp(colors("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));function sequential(interpolator){var x0=0,x1=1,clamp=false;function scale(x){var t=(x-x0)/(x1-x0);return interpolator(clamp?Math.max(0,Math.min(1,t)):t)}scale.domain=function(_){return arguments.length?(x0=+_[0],x1=+_[1],scale):[x0,x1]};scale.clamp=function(_){return arguments.length?(clamp=!!_,scale):clamp};scale.interpolator=function(_){return arguments.length?(interpolator=_,scale):interpolator};scale.copy=function(){return sequential(interpolator).domain([x0,x1]).clamp(clamp)};return linearish(scale)}exports.scaleBand=band;exports.scalePoint=point;exports.scaleIdentity=identity;exports.scaleLinear=linear;exports.scaleLog=log;exports.scaleOrdinal=ordinal;exports.scaleImplicit=implicit;exports.scalePow=pow;exports.scaleSqrt=sqrt;exports.scaleQuantile=quantile$1;exports.scaleQuantize=quantize;exports.scaleThreshold=threshold;exports.scaleTime=time;exports.scaleUtc=utcTime;exports.schemeCategory10=category10;exports.schemeCategory20b=category20b;exports.schemeCategory20c=category20c;exports.schemeCategory20=category20;exports.interpolateCubehelixDefault=cubehelix$1;exports.interpolateRainbow=rainbow$1;exports.interpolateWarm=warm;exports.interpolateCool=cool;exports.interpolateViridis=viridis;exports.interpolateMagma=magma;exports.interpolateInferno=inferno;exports.interpolatePlasma=plasma;exports.scaleSequential=sequential;Object.defineProperty(exports,"__esModule",{value:true})})},{"d3-array":3,"d3-collection":4,"d3-color":5,"d3-format":7,"d3-interpolate":11,"d3-time":17,"d3-time-format":16}],15:[function(require,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports,require("d3-path")):typeof define==="function"&&define.amd?define(["exports","d3-path"],factory):factory(global.d3=global.d3||{},global.d3)})(this,function(exports,d3Path){"use strict";function constant(x){return function constant(){return x}}var abs=Math.abs;var atan2=Math.atan2;var cos=Math.cos;var max=Math.max;var min=Math.min;var sin=Math.sin;var sqrt=Math.sqrt;var epsilon=1e-12;var pi=Math.PI;var halfPi=pi/2;var tau=2*pi;function acos(x){return x>1?0:x<-1?pi:Math.acos(x)}function asin(x){return x>=1?halfPi:x<=-1?-halfPi:Math.asin(x)}function arcInnerRadius(d){return d.innerRadius}function arcOuterRadius(d){return d.outerRadius}function arcStartAngle(d){return d.startAngle}function arcEndAngle(d){return d.endAngle}function arcPadAngle(d){return d&&d.padAngle}function intersect(x0,y0,x1,y1,x2,y2,x3,y3){var x10=x1-x0,y10=y1-y0,x32=x3-x2,y32=y3-y2,t=y32*x10-x32*y10;if(t*t<epsilon)return;t=(x32*(y0-y2)-y32*(x0-x2))/t;return[x0+t*x10,y0+t*y10]}function cornerTangents(x0,y0,x1,y1,r1,rc,cw){var x01=x0-x1,y01=y0-y1,lo=(cw?rc:-rc)/sqrt(x01*x01+y01*y01),ox=lo*y01,oy=-lo*x01,x11=x0+ox,y11=y0+oy,x10=x1+ox,y10=y1+oy,x00=(x11+x10)/2,y00=(y11+y10)/2,dx=x10-x11,dy=y10-y11,d2=dx*dx+dy*dy,r=r1-rc,D=x11*y10-x10*y11,d=(dy<0?-1:1)*sqrt(max(0,r*r*d2-D*D)),cx0=(D*dy-dx*d)/d2,cy0=(-D*dx-dy*d)/d2,cx1=(D*dy+dx*d)/d2,cy1=(-D*dx+dy*d)/d2,dx0=cx0-x00,dy0=cy0-y00,dx1=cx1-x00,dy1=cy1-y00;if(dx0*dx0+dy0*dy0>dx1*dx1+dy1*dy1)cx0=cx1,cy0=cy1;return{cx:cx0,cy:cy0,x01:-ox,y01:-oy,x11:cx0*(r1/r-1),y11:cy0*(r1/r-1)}}function arc(){var innerRadius=arcInnerRadius,outerRadius=arcOuterRadius,cornerRadius=constant(0),padRadius=null,startAngle=arcStartAngle,endAngle=arcEndAngle,padAngle=arcPadAngle,context=null;function arc(){var buffer,r,r0=+innerRadius.apply(this,arguments),r1=+outerRadius.apply(this,arguments),a0=startAngle.apply(this,arguments)-halfPi,a1=endAngle.apply(this,arguments)-halfPi,da=abs(a1-a0),cw=a1>a0;if(!context)context=buffer=d3Path.path();if(r1<r0)r=r1,r1=r0,r0=r;if(!(r1>epsilon))context.moveTo(0,0);else if(da>tau-epsilon){context.moveTo(r1*cos(a0),r1*sin(a0));context.arc(0,0,r1,a0,a1,!cw);if(r0>epsilon){context.moveTo(r0*cos(a1),r0*sin(a1));context.arc(0,0,r0,a1,a0,cw)}}else{var a01=a0,a11=a1,a00=a0,a10=a1,da0=da,da1=da,ap=padAngle.apply(this,arguments)/2,rp=ap>epsilon&&(padRadius?+padRadius.apply(this,arguments):sqrt(r0*r0+r1*r1)),rc=min(abs(r1-r0)/2,+cornerRadius.apply(this,arguments)),rc0=rc,rc1=rc,t0,t1;if(rp>epsilon){var p0=asin(rp/r0*sin(ap)),p1=asin(rp/r1*sin(ap));if((da0-=p0*2)>epsilon)p0*=cw?1:-1,a00+=p0,a10-=p0;else da0=0,a00=a10=(a0+a1)/2;if((da1-=p1*2)>epsilon)p1*=cw?1:-1,a01+=p1,a11-=p1;else da1=0,a01=a11=(a0+a1)/2}var x01=r1*cos(a01),y01=r1*sin(a01),x10=r0*cos(a10),y10=r0*sin(a10);if(rc>epsilon){var x11=r1*cos(a11),y11=r1*sin(a11),x00=r0*cos(a00),y00=r0*sin(a00),oc;if(da<pi&&(oc=intersect(x01,y01,x00,y00,x11,y11,x10,y10))){var ax=x01-oc[0],ay=y01-oc[1],bx=x11-oc[0],by=y11-oc[1],kc=1/sin(acos((ax*bx+ay*by)/(sqrt(ax*ax+ay*ay)*sqrt(bx*bx+by*by)))/2),lc=sqrt(oc[0]*oc[0]+oc[1]*oc[1]);rc0=min(rc,(r0-lc)/(kc-1));rc1=min(rc,(r1-lc)/(kc+1))}}if(!(da1>epsilon))context.moveTo(x01,y01);else if(rc1>epsilon){t0=cornerTangents(x00,y00,x01,y01,r1,rc1,cw);t1=cornerTangents(x11,y11,x10,y10,r1,rc1,cw);context.moveTo(t0.cx+t0.x01,t0.cy+t0.y01);if(rc1<rc)context.arc(t0.cx,t0.cy,rc1,atan2(t0.y01,t0.x01),atan2(t1.y01,t1.x01),!cw);else{context.arc(t0.cx,t0.cy,rc1,atan2(t0.y01,t0.x01),atan2(t0.y11,t0.x11),!cw);context.arc(0,0,r1,atan2(t0.cy+t0.y11,t0.cx+t0.x11),atan2(t1.cy+t1.y11,t1.cx+t1.x11),!cw);context.arc(t1.cx,t1.cy,rc1,atan2(t1.y11,t1.x11),atan2(t1.y01,t1.x01),!cw)}}else context.moveTo(x01,y01),context.arc(0,0,r1,a01,a11,!cw);if(!(r0>epsilon)||!(da0>epsilon))context.lineTo(x10,y10);else if(rc0>epsilon){t0=cornerTangents(x10,y10,x11,y11,r0,-rc0,cw);t1=cornerTangents(x01,y01,x00,y00,r0,-rc0,cw);context.lineTo(t0.cx+t0.x01,t0.cy+t0.y01);if(rc0<rc)context.arc(t0.cx,t0.cy,rc0,atan2(t0.y01,t0.x01),atan2(t1.y01,t1.x01),!cw);else{context.arc(t0.cx,t0.cy,rc0,atan2(t0.y01,t0.x01),atan2(t0.y11,t0.x11),!cw);context.arc(0,0,r0,atan2(t0.cy+t0.y11,t0.cx+t0.x11),atan2(t1.cy+t1.y11,t1.cx+t1.x11),cw);context.arc(t1.cx,t1.cy,rc0,atan2(t1.y11,t1.x11),atan2(t1.y01,t1.x01),!cw)}}else context.arc(0,0,r0,a10,a00,cw)}context.closePath();if(buffer)return context=null,buffer+""||null}arc.centroid=function(){var r=(+innerRadius.apply(this,arguments)+ +outerRadius.apply(this,arguments))/2,a=(+startAngle.apply(this,arguments)+ +endAngle.apply(this,arguments))/2-pi/2;return[cos(a)*r,sin(a)*r]};arc.innerRadius=function(_){return arguments.length?(innerRadius=typeof _==="function"?_:constant(+_),arc):innerRadius};arc.outerRadius=function(_){return arguments.length?(outerRadius=typeof _==="function"?_:constant(+_),arc):outerRadius};arc.cornerRadius=function(_){return arguments.length?(cornerRadius=typeof _==="function"?_:constant(+_),arc):cornerRadius};arc.padRadius=function(_){return arguments.length?(padRadius=_==null?null:typeof _==="function"?_:constant(+_),arc):padRadius};arc.startAngle=function(_){return arguments.length?(startAngle=typeof _==="function"?_:constant(+_),arc):startAngle};arc.endAngle=function(_){return arguments.length?(endAngle=typeof _==="function"?_:constant(+_),arc):endAngle};arc.padAngle=function(_){return arguments.length?(padAngle=typeof _==="function"?_:constant(+_),arc):padAngle};arc.context=function(_){return arguments.length?(context=_==null?null:_,arc):context};return arc}function Linear(context){this._context=context}Linear.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point:function(x,y){x=+x,y=+y;switch(this._point){case 0:this._point=1;this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2;default:this._context.lineTo(x,y);break}}};function curveLinear(context){return new Linear(context)}function x(p){return p[0]}function y(p){return p[1]}function line(){var x$$1=x,y$$1=y,defined=constant(true),context=null,curve=curveLinear,output=null;function line(data){var i,n=data.length,d,defined0=false,buffer;if(context==null)output=curve(buffer=d3Path.path())
  7. ;for(i=0;i<=n;++i){if(!(i<n&&defined(d=data[i],i,data))===defined0){if(defined0=!defined0)output.lineStart();else output.lineEnd()}if(defined0)output.point(+x$$1(d,i,data),+y$$1(d,i,data))}if(buffer)return output=null,buffer+""||null}line.x=function(_){return arguments.length?(x$$1=typeof _==="function"?_:constant(+_),line):x$$1};line.y=function(_){return arguments.length?(y$$1=typeof _==="function"?_:constant(+_),line):y$$1};line.defined=function(_){return arguments.length?(defined=typeof _==="function"?_:constant(!!_),line):defined};line.curve=function(_){return arguments.length?(curve=_,context!=null&&(output=curve(context)),line):curve};line.context=function(_){return arguments.length?(_==null?context=output=null:output=curve(context=_),line):context};return line}function area(){var x0=x,x1=null,y0=constant(0),y1=y,defined=constant(true),context=null,curve=curveLinear,output=null;function area(data){var i,j,k,n=data.length,d,defined0=false,buffer,x0z=new Array(n),y0z=new Array(n);if(context==null)output=curve(buffer=d3Path.path());for(i=0;i<=n;++i){if(!(i<n&&defined(d=data[i],i,data))===defined0){if(defined0=!defined0){j=i;output.areaStart();output.lineStart()}else{output.lineEnd();output.lineStart();for(k=i-1;k>=j;--k){output.point(x0z[k],y0z[k])}output.lineEnd();output.areaEnd()}}if(defined0){x0z[i]=+x0(d,i,data),y0z[i]=+y0(d,i,data);output.point(x1?+x1(d,i,data):x0z[i],y1?+y1(d,i,data):y0z[i])}}if(buffer)return output=null,buffer+""||null}function arealine(){return line().defined(defined).curve(curve).context(context)}area.x=function(_){return arguments.length?(x0=typeof _==="function"?_:constant(+_),x1=null,area):x0};area.x0=function(_){return arguments.length?(x0=typeof _==="function"?_:constant(+_),area):x0};area.x1=function(_){return arguments.length?(x1=_==null?null:typeof _==="function"?_:constant(+_),area):x1};area.y=function(_){return arguments.length?(y0=typeof _==="function"?_:constant(+_),y1=null,area):y0};area.y0=function(_){return arguments.length?(y0=typeof _==="function"?_:constant(+_),area):y0};area.y1=function(_){return arguments.length?(y1=_==null?null:typeof _==="function"?_:constant(+_),area):y1};area.lineX0=area.lineY0=function(){return arealine().x(x0).y(y0)};area.lineY1=function(){return arealine().x(x0).y(y1)};area.lineX1=function(){return arealine().x(x1).y(y0)};area.defined=function(_){return arguments.length?(defined=typeof _==="function"?_:constant(!!_),area):defined};area.curve=function(_){return arguments.length?(curve=_,context!=null&&(output=curve(context)),area):curve};area.context=function(_){return arguments.length?(_==null?context=output=null:output=curve(context=_),area):context};return area}function descending(a,b){return b<a?-1:b>a?1:b>=a?0:NaN}function identity(d){return d}function pie(){var value=identity,sortValues=descending,sort=null,startAngle=constant(0),endAngle=constant(tau),padAngle=constant(0);function pie(data){var i,n=data.length,j,k,sum=0,index=new Array(n),arcs=new Array(n),a0=+startAngle.apply(this,arguments),da=Math.min(tau,Math.max(-tau,endAngle.apply(this,arguments)-a0)),a1,p=Math.min(Math.abs(da)/n,padAngle.apply(this,arguments)),pa=p*(da<0?-1:1),v;for(i=0;i<n;++i){if((v=arcs[index[i]=i]=+value(data[i],i,data))>0){sum+=v}}if(sortValues!=null)index.sort(function(i,j){return sortValues(arcs[i],arcs[j])});else if(sort!=null)index.sort(function(i,j){return sort(data[i],data[j])});for(i=0,k=sum?(da-n*pa)/sum:0;i<n;++i,a0=a1){j=index[i],v=arcs[j],a1=a0+(v>0?v*k:0)+pa,arcs[j]={data:data[j],index:i,value:v,startAngle:a0,endAngle:a1,padAngle:p}}return arcs}pie.value=function(_){return arguments.length?(value=typeof _==="function"?_:constant(+_),pie):value};pie.sortValues=function(_){return arguments.length?(sortValues=_,sort=null,pie):sortValues};pie.sort=function(_){return arguments.length?(sort=_,sortValues=null,pie):sort};pie.startAngle=function(_){return arguments.length?(startAngle=typeof _==="function"?_:constant(+_),pie):startAngle};pie.endAngle=function(_){return arguments.length?(endAngle=typeof _==="function"?_:constant(+_),pie):endAngle};pie.padAngle=function(_){return arguments.length?(padAngle=typeof _==="function"?_:constant(+_),pie):padAngle};return pie}var curveRadialLinear=curveRadial(curveLinear);function Radial(curve){this._curve=curve}Radial.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(a,r){this._curve.point(r*Math.sin(a),r*-Math.cos(a))}};function curveRadial(curve){function radial(context){return new Radial(curve(context))}radial._curve=curve;return radial}function lineRadial(l){var c=l.curve;l.angle=l.x,delete l.x;l.radius=l.y,delete l.y;l.curve=function(_){return arguments.length?c(curveRadial(_)):c()._curve};return l}function lineRadial$1(){return lineRadial(line().curve(curveRadialLinear))}function areaRadial(){var a=area().curve(curveRadialLinear),c=a.curve,x0=a.lineX0,x1=a.lineX1,y0=a.lineY0,y1=a.lineY1;a.angle=a.x,delete a.x;a.startAngle=a.x0,delete a.x0;a.endAngle=a.x1,delete a.x1;a.radius=a.y,delete a.y;a.innerRadius=a.y0,delete a.y0;a.outerRadius=a.y1,delete a.y1;a.lineStartAngle=function(){return lineRadial(x0())},delete a.lineX0;a.lineEndAngle=function(){return lineRadial(x1())},delete a.lineX1;a.lineInnerRadius=function(){return lineRadial(y0())},delete a.lineY0;a.lineOuterRadius=function(){return lineRadial(y1())},delete a.lineY1;a.curve=function(_){return arguments.length?c(curveRadial(_)):c()._curve};return a}function pointRadial(x,y){return[(y=+y)*Math.cos(x-=Math.PI/2),y*Math.sin(x)]}var slice=Array.prototype.slice;function linkSource(d){return d.source}function linkTarget(d){return d.target}function link(curve){var source=linkSource,target=linkTarget,x$$1=x,y$$1=y,context=null;function link(){var buffer,argv=slice.call(arguments),s=source.apply(this,argv),t=target.apply(this,argv);if(!context)context=buffer=d3Path.path();curve(context,+x$$1.apply(this,(argv[0]=s,argv)),+y$$1.apply(this,argv),+x$$1.apply(this,(argv[0]=t,argv)),+y$$1.apply(this,argv));if(buffer)return context=null,buffer+""||null}link.source=function(_){return arguments.length?(source=_,link):source};link.target=function(_){return arguments.length?(target=_,link):target};link.x=function(_){return arguments.length?(x$$1=typeof _==="function"?_:constant(+_),link):x$$1};link.y=function(_){return arguments.length?(y$$1=typeof _==="function"?_:constant(+_),link):y$$1};link.context=function(_){return arguments.length?(context=_==null?null:_,link):context};return link}function curveHorizontal(context,x0,y0,x1,y1){context.moveTo(x0,y0);context.bezierCurveTo(x0=(x0+x1)/2,y0,x0,y1,x1,y1)}function curveVertical(context,x0,y0,x1,y1){context.moveTo(x0,y0);context.bezierCurveTo(x0,y0=(y0+y1)/2,x1,y0,x1,y1)}function curveRadial$1(context,x0,y0,x1,y1){var p0=pointRadial(x0,y0),p1=pointRadial(x0,y0=(y0+y1)/2),p2=pointRadial(x1,y0),p3=pointRadial(x1,y1);context.moveTo(p0[0],p0[1]);context.bezierCurveTo(p1[0],p1[1],p2[0],p2[1],p3[0],p3[1])}function linkHorizontal(){return link(curveHorizontal)}function linkVertical(){return link(curveVertical)}function linkRadial(){var l=link(curveRadial$1);l.angle=l.x,delete l.x;l.radius=l.y,delete l.y;return l}var circle={draw:function(context,size){var r=Math.sqrt(size/pi);context.moveTo(r,0);context.arc(0,0,r,0,tau)}};var cross={draw:function(context,size){var r=Math.sqrt(size/5)/2;context.moveTo(-3*r,-r);context.lineTo(-r,-r);context.lineTo(-r,-3*r);context.lineTo(r,-3*r);context.lineTo(r,-r);context.lineTo(3*r,-r);context.lineTo(3*r,r);context.lineTo(r,r);context.lineTo(r,3*r);context.lineTo(-r,3*r);context.lineTo(-r,r);context.lineTo(-3*r,r);context.closePath()}};var tan30=Math.sqrt(1/3),tan30_2=tan30*2;var diamond={draw:function(context,size){var y=Math.sqrt(size/tan30_2),x=y*tan30;context.moveTo(0,-y);context.lineTo(x,0);context.lineTo(0,y);context.lineTo(-x,0);context.closePath()}};var ka=.8908130915292852,kr=Math.sin(pi/10)/Math.sin(7*pi/10),kx=Math.sin(tau/10)*kr,ky=-Math.cos(tau/10)*kr;var star={draw:function(context,size){var r=Math.sqrt(size*ka),x=kx*r,y=ky*r;context.moveTo(0,-r);context.lineTo(x,y);for(var i=1;i<5;++i){var a=tau*i/5,c=Math.cos(a),s=Math.sin(a);context.lineTo(s*r,-c*r);context.lineTo(c*x-s*y,s*x+c*y)}context.closePath()}};var square={draw:function(context,size){var w=Math.sqrt(size),x=-w/2;context.rect(x,x,w,w)}};var sqrt3=Math.sqrt(3);var triangle={draw:function(context,size){var y=-Math.sqrt(size/(sqrt3*3));context.moveTo(0,y*2);context.lineTo(-sqrt3*y,-y);context.lineTo(sqrt3*y,-y);context.closePath()}};var c=-.5,s=Math.sqrt(3)/2,k=1/Math.sqrt(12),a=(k/2+1)*3;var wye={draw:function(context,size){var r=Math.sqrt(size/a),x0=r/2,y0=r*k,x1=x0,y1=r*k+r,x2=-x1,y2=y1;context.moveTo(x0,y0);context.lineTo(x1,y1);context.lineTo(x2,y2);context.lineTo(c*x0-s*y0,s*x0+c*y0);context.lineTo(c*x1-s*y1,s*x1+c*y1);context.lineTo(c*x2-s*y2,s*x2+c*y2);context.lineTo(c*x0+s*y0,c*y0-s*x0);context.lineTo(c*x1+s*y1,c*y1-s*x1);context.lineTo(c*x2+s*y2,c*y2-s*x2);context.closePath()}};var symbols=[circle,cross,diamond,square,star,triangle,wye];function symbol(){var type=constant(circle),size=constant(64),context=null;function symbol(){var buffer;if(!context)context=buffer=d3Path.path();type.apply(this,arguments).draw(context,+size.apply(this,arguments));if(buffer)return context=null,buffer+""||null}symbol.type=function(_){return arguments.length?(type=typeof _==="function"?_:constant(_),symbol):type};symbol.size=function(_){return arguments.length?(size=typeof _==="function"?_:constant(+_),symbol):size};symbol.context=function(_){return arguments.length?(context=_==null?null:_,symbol):context};return symbol}function noop(){}function point(that,x,y){that._context.bezierCurveTo((2*that._x0+that._x1)/3,(2*that._y0+that._y1)/3,(that._x0+2*that._x1)/3,(that._y0+2*that._y1)/3,(that._x0+4*that._x1+x)/6,(that._y0+4*that._y1+y)/6)}function Basis(context){this._context=context}Basis.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:point(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point:function(x,y){x=+x,y=+y;switch(this._point){case 0:this._point=1;this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);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:point(this,x,y);break}this._x0=this._x1,this._x1=x;this._y0=this._y1,this._y1=y}};function basis(context){return new Basis(context)}function BasisClosed(context){this._context=context}BasisClosed.prototype={areaStart:noop,areaEnd:noop,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);break}}},point:function(x,y){x=+x,y=+y;switch(this._point){case 0:this._point=1;this._x2=x,this._y2=y;break;case 1:this._point=2;this._x3=x,this._y3=y;break;case 2:this._point=3;this._x4=x,this._y4=y;this._context.moveTo((this._x0+4*this._x1+x)/6,(this._y0+4*this._y1+y)/6);break;default:point(this,x,y);break}this._x0=this._x1,this._x1=x;this._y0=this._y1,this._y1=y}};function basisClosed(context){return new BasisClosed(context)}function BasisOpen(context){this._context=context}BasisOpen.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(){if(this._line||this._line!==0&&this._point===3)this._context.closePath();this._line=1-this._line},point:function(x,y){x=+x,y=+y;switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var x0=(this._x0+4*this._x1+x)/6,y0=(this._y0+4*this._y1+y)/6;this._line?this._context.lineTo(x0,y0):this._context.moveTo(x0,y0);break;case 3:this._point=4;default:point(this,x,y);break}this._x0=this._x1,this._x1=x;this._y0=this._y1,this._y1=y}};function basisOpen(context){return new BasisOpen(context)}function Bundle(context,beta){this._basis=new Basis(context);this._beta=beta}Bundle.prototype={lineStart:function(){this._x=[];this._y=[];this._basis.lineStart()},lineEnd:function(){var x=this._x,y=this._y,j=x.length-1;if(j>0){var x0=x[0],y0=y[0],dx=x[j]-x0,dy=y[j]-y0,i=-1,t;while(++i<=j){t=i/j;this._basis.point(this._beta*x[i]+(1-this._beta)*(x0+t*dx),this._beta*y[i]+(1-this._beta)*(y0+t*dy))}}this._x=this._y=null;this._basis.lineEnd()},point:function(x,y){this._x.push(+x);this._y.push(+y)}};var bundle=function custom(beta){function bundle(context){return beta===1?new Basis(context):new Bundle(context,beta)}bundle.beta=function(beta){return custom(+beta)};return bundle}(.85);function point$1(that,x,y){that._context.bezierCurveTo(that._x1+that._k*(that._x2-that._x0),that._y1+that._k*(that._y2-that._y0),that._x2+that._k*(that._x1-x),that._y2+that._k*(that._y1-y),that._x2,that._y2)}function Cardinal(context,tension){this._context=context;this._k=(1-tension)/6}Cardinal.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:point$1(this,this._x1,this._y1);break}if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point:function(x,y){x=+x,y=+y;switch(this._point){case 0:this._point=1;this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2;this._x1=x,this._y1=y;break;case 2:this._point=3;default:point$1(this,x,y);break}this._x0=this._x1,this._x1=this._x2,this._x2=x;this._y0=this._y1,this._y1=this._y2,this._y2=y}};var cardinal=function custom(tension){function cardinal(context){return new Cardinal(context,tension)}cardinal.tension=function(tension){return custom(+tension)};return cardinal}(0);function CardinalClosed(context,tension){this._context=context;this._k=(1-tension)/6}CardinalClosed.prototype={areaStart:noop,areaEnd:noop,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);break}}},point:function(x,y){x=+x,y=+y;switch(this._point){case 0:this._point=1;this._x3=x,this._y3=y;break;case 1:this._point=2;this._context.moveTo(this._x4=x,this._y4=y);break;case 2:this._point=3;this._x5=x,this._y5=y;break;default:point$1(this,x,y);break}this._x0=this._x1,this._x1=this._x2,this._x2=x;this._y0=this._y1,this._y1=this._y2,this._y2=y}};var cardinalClosed=function custom(tension){function cardinal$$1(context){return new CardinalClosed(context,tension)}cardinal$$1.tension=function(tension){return custom(+tension)};return cardinal$$1}(0);function CardinalOpen(context,tension){this._context=context;this._k=(1-tension)/6}CardinalOpen.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(){if(this._line||this._line!==0&&this._point===3)this._context.closePath();this._line=1-this._line},point:function(x,y){x=+x,y=+y;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:point$1(this,x,y);break}this._x0=this._x1,this._x1=this._x2,this._x2=x;this._y0=this._y1,this._y1=this._y2,this._y2=y}};var cardinalOpen=function custom(tension){function cardinal$$1(context){return new CardinalOpen(context,tension)}cardinal$$1.tension=function(tension){return custom(+tension)};return cardinal$$1}(0);function point$2(that,x,y){var x1=that._x1,y1=that._y1,x2=that._x2,y2=that._y2;if(that._l01_a>epsilon){var a=2*that._l01_2a+3*that._l01_a*that._l12_a+that._l12_2a,n=3*that._l01_a*(that._l01_a+that._l12_a);x1=(x1*a-that._x0*that._l12_2a+that._x2*that._l01_2a)/n;y1=(y1*a-that._y0*that._l12_2a+that._y2*that._l01_2a)/n}if(that._l23_a>epsilon){var b=2*that._l23_2a+3*that._l23_a*that._l12_a+that._l12_2a,m=3*that._l23_a*(that._l23_a+that._l12_a);x2=(x2*b+that._x1*that._l23_2a-x*that._l12_2a)/m;y2=(y2*b+that._y1*that._l23_2a-y*that._l12_2a)/m}that._context.bezierCurveTo(x1,y1,x2,y2,that._x2,that._y2)}function CatmullRom(context,alpha){this._context=context;this._alpha=alpha}CatmullRom.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);break}if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point:function(x,y){x=+x,y=+y;if(this._point){var x23=this._x2-x,y23=this._y2-y;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(x23*x23+y23*y23,this._alpha))}switch(this._point){case 0:this._point=1;this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2;break;case 2:this._point=3;default:point$2(this,x,y);break}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=x;this._y0=this._y1,this._y1=this._y2,this._y2=y}};var catmullRom=function custom(alpha){function catmullRom(context){return alpha?new CatmullRom(context,alpha):new Cardinal(context,0)}catmullRom.alpha=function(alpha){return custom(+alpha)};return catmullRom}(.5);function CatmullRomClosed(context,alpha){this._context=context;this._alpha=alpha}CatmullRomClosed.prototype={areaStart:noop,areaEnd:noop,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);break}}},point:function(x,y){x=+x,y=+y;if(this._point){var x23=this._x2-x,y23=this._y2-y;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(x23*x23+y23*y23,this._alpha))}switch(this._point){case 0:this._point=1;this._x3=x,this._y3=y;break;case 1:this._point=2;this._context.moveTo(this._x4=x,this._y4=y);break;case 2:this._point=3;this._x5=x,this._y5=y;break;default:point$2(this,x,y);break}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=x;this._y0=this._y1,this._y1=this._y2,this._y2=y}};var catmullRomClosed=function custom(alpha){function catmullRom$$1(context){return alpha?new CatmullRomClosed(context,alpha):new CardinalClosed(context,0)}catmullRom$$1.alpha=function(alpha){return custom(+alpha)};return catmullRom$$1}(.5);function CatmullRomOpen(context,alpha){this._context=context;this._alpha=alpha}CatmullRomOpen.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(){if(this._line||this._line!==0&&this._point===3)this._context.closePath();this._line=1-this._line},point:function(x,y){x=+x,y=+y;if(this._point){var x23=this._x2-x,y23=this._y2-y;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(x23*x23+y23*y23,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:point$2(this,x,y);break}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=x;this._y0=this._y1,this._y1=this._y2,this._y2=y}};var catmullRomOpen=function custom(alpha){function catmullRom$$1(context){return alpha?new CatmullRomOpen(context,alpha):new CardinalOpen(context,0)}catmullRom$$1.alpha=function(alpha){return custom(+alpha)};return catmullRom$$1}(.5);function LinearClosed(context){this._context=context}LinearClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._point=0},lineEnd:function(){if(this._point)this._context.closePath()},point:function(x,y){x=+x,y=+y;if(this._point)this._context.lineTo(x,y);else this._point=1,this._context.moveTo(x,y)}};function linearClosed(context){return new LinearClosed(context)}function sign(x){return x<0?-1:1}function slope3(that,x2,y2){var h0=that._x1-that._x0,h1=x2-that._x1,s0=(that._y1-that._y0)/(h0||h1<0&&-0),s1=(y2-that._y1)/(h1||h0<0&&-0),p=(s0*h1+s1*h0)/(h0+h1);return(sign(s0)+sign(s1))*Math.min(Math.abs(s0),Math.abs(s1),.5*Math.abs(p))||0}function slope2(that,t){var h=that._x1-that._x0;return h?(3*(that._y1-that._y0)/h-t)/2:t}function point$3(that,t0,t1){var x0=that._x0,y0=that._y0,x1=that._x1,y1=that._y1,dx=(x1-x0)/3;that._context.bezierCurveTo(x0+dx,y0+dx*t0,x1-dx,y1-dx*t1,x1,y1)}function MonotoneX(context){this._context=context}MonotoneX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN;this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:point$3(this,this._t0,slope2(this,this._t0));break}if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point:function(x,y){var t1=NaN;x=+x,y=+y;if(x===this._x1&&y===this._y1)return;switch(this._point){case 0:this._point=1;this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2;break;case 2:this._point=3;point$3(this,slope2(this,t1=slope3(this,x,y)),t1);break;default:point$3(this,this._t0,t1=slope3(this,x,y));break}this._x0=this._x1,this._x1=x;this._y0=this._y1,this._y1=y;this._t0=t1}};function MonotoneY(context){this._context=new ReflectContext(context)}(MonotoneY.prototype=Object.create(MonotoneX.prototype)).point=function(x,y){MonotoneX.prototype.point.call(this,y,x)};function ReflectContext(context){this._context=context}ReflectContext.prototype={moveTo:function(x,y){this._context.moveTo(y,x)},closePath:function(){this._context.closePath()},lineTo:function(x,y){this._context.lineTo(y,x)},bezierCurveTo:function(x1,y1,x2,y2,x,y){this._context.bezierCurveTo(y1,x1,y2,x2,y,x)}};function monotoneX(context){return new MonotoneX(context)}function monotoneY(context){return new MonotoneY(context)}function Natural(context){this._context=context}Natural.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[];this._y=[]},lineEnd:function(){var x=this._x,y=this._y,n=x.length;if(n){this._line?this._context.lineTo(x[0],y[0]):this._context.moveTo(x[0],y[0]);if(n===2){this._context.lineTo(x[1],y[1])}else{var px=controlPoints(x),py=controlPoints(y);for(var i0=0,i1=1;i1<n;++i0,++i1){this._context.bezierCurveTo(px[0][i0],py[0][i0],px[1][i0],py[1][i0],x[i1],y[i1])}}}if(this._line||this._line!==0&&n===1)this._context.closePath();this._line=1-this._line;this._x=this._y=null},point:function(x,y){this._x.push(+x);this._y.push(+y)}};function controlPoints(x){var i,n=x.length-1,m,a=new Array(n),b=new Array(n),r=new Array(n);a[0]=0,b[0]=2,r[0]=x[0]+2*x[1];for(i=1;i<n-1;++i)a[i]=1,b[i]=4,r[i]=4*x[i]+2*x[i+1];a[n-1]=2,b[n-1]=7,r[n-1]=8*x[n-1]+x[n];for(i=1;i<n;++i)m=a[i]/b[i-1],b[i]-=m,r[i]-=m*r[i-1];a[n-1]=r[n-1]/b[n-1];for(i=n-2;i>=0;--i)a[i]=(r[i]-a[i+1])/b[i];b[n-1]=(x[n]+a[n-1])/2;for(i=0;i<n-1;++i)b[i]=2*x[i+1]-a[i+1];return[a,b]}function natural(context){return new Natural(context)}function Step(context,t){this._context=context;this._t=t}Step.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN;this._point=0},lineEnd:function(){if(0<this._t&&this._t<1&&this._point===2)this._context.lineTo(this._x,this._y);if(this._line||this._line!==0&&this._point===1)this._context.closePath();if(this._line>=0)this._t=1-this._t,this._line=1-this._line},point:function(x,y){x=+x,y=+y;switch(this._point){case 0:this._point=1;this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2;default:{if(this._t<=0){this._context.lineTo(this._x,y);this._context.lineTo(x,y)}else{var x1=this._x*(1-this._t)+x*this._t;this._context.lineTo(x1,this._y);this._context.lineTo(x1,y)}break}}this._x=x,this._y=y}};function step(context){return new Step(context,.5)}function stepBefore(context){return new Step(context,0)}function stepAfter(context){return new Step(context,1)}function none(series,order){if(!((n=series.length)>1))return;for(var i=1,j,s0,s1=series[order[0]],n,m=s1.length;i<n;++i){s0=s1,s1=series[order[i]];for(j=0;j<m;++j){s1[j][1]+=s1[j][0]=isNaN(s0[j][1])?s0[j][0]:s0[j][1]}}}function none$1(series){var n=series.length,o=new Array(n);while(--n>=0)o[n]=n;return o}function stackValue(d,key){return d[key]}function stack(){var keys=constant([]),order=none$1,offset=none,value=stackValue;function stack(data){var kz=keys.apply(this,arguments),i,m=data.length,n=kz.length,sz=new Array(n),oz;for(i=0;i<n;++i){for(var ki=kz[i],si=sz[i]=new Array(m),j=0,sij;j<m;++j){si[j]=sij=[0,+value(data[j],ki,j,data)];sij.data=data[j]}si.key=ki}for(i=0,oz=order(sz);i<n;++i){sz[oz[i]].index=i}offset(sz,oz);return sz}stack.keys=function(_){return arguments.length?(keys=typeof _==="function"?_:constant(slice.call(_)),stack):keys};stack.value=function(_){return arguments.length?(value=typeof _==="function"?_:constant(+_),stack):value};stack.order=function(_){return arguments.length?(order=_==null?none$1:typeof _==="function"?_:constant(slice.call(_)),stack):order};stack.offset=function(_){return arguments.length?(offset=_==null?none:_,stack):offset};return stack}function expand(series,order){if(!((n=series.length)>0))return;for(var i,n,j=0,m=series[0].length,y;j<m;++j){for(y=i=0;i<n;++i)y+=series[i][j][1]||0;if(y)for(i=0;i<n;++i)series[i][j][1]/=y}none(series,order)}function diverging(series,order){if(!((n=series.length)>1))return;for(var i,j=0,d,dy,yp,yn,n,m=series[order[0]].length;j<m;++j){for(yp=yn=0,i=0;i<n;++i){if((dy=(d=series[order[i]][j])[1]-d[0])>=0){d[0]=yp,d[1]=yp+=dy}else if(dy<0){d[1]=yn,d[0]=yn+=dy}else{d[0]=yp}}}}function silhouette(series,order){if(!((n=series.length)>0))return;for(var j=0,s0=series[order[0]],n,m=s0.length;j<m;++j){for(var i=0,y=0;i<n;++i)y+=series[i][j][1]||0;s0[j][1]+=s0[j][0]=-y/2}none(series,order)}function wiggle(series,order){if(!((n=series.length)>0)||!((m=(s0=series[order[0]]).length)>0))return;for(var y=0,j=1,s0,m,n;j<m;++j){for(var i=0,s1=0,s2=0;i<n;++i){var si=series[order[i]],sij0=si[j][1]||0,sij1=si[j-1][1]||0,s3=(sij0-sij1)/2;for(var k=0;k<i;++k){var sk=series[order[k]],skj0=sk[j][1]||0,skj1=sk[j-1][1]||0;s3+=skj0-skj1}s1+=sij0,s2+=s3*sij0}s0[j-1][1]+=s0[j-1][0]=y;if(s1)y-=s2/s1}s0[j-1][1]+=s0[j-1][0]=y;none(series,order)}function appearance(series){var peaks=series.map(peak);return none$1(series).sort(function(a,b){return peaks[a]-peaks[b]})}function peak(series){var i=-1,j=0,n=series.length,vi,vj=-Infinity;while(++i<n)if((vi=+series[i][1])>vj)vj=vi,j=i;return j}function ascending(series){var sums=series.map(sum);return none$1(series).sort(function(a,b){return sums[a]-sums[b]})}function sum(series){var s=0,i=-1,n=series.length,v;while(++i<n)if(v=+series[i][1])s+=v;return s}function descending$1(series){return ascending(series).reverse()}function insideOut(series){var n=series.length,i,j,sums=series.map(sum),order=appearance(series),top=0,bottom=0,tops=[],bottoms=[];for(i=0;i<n;++i){j=order[i];if(top<bottom){top+=sums[j];tops.push(j)}else{bottom+=sums[j];bottoms.push(j)}}return bottoms.reverse().concat(tops)}function reverse(series){return none$1(series).reverse()}exports.arc=arc;exports.area=area;exports.line=line;exports.pie=pie;exports.areaRadial=areaRadial;exports.radialArea=areaRadial;exports.lineRadial=lineRadial$1;exports.radialLine=lineRadial$1;exports.pointRadial=pointRadial;exports.linkHorizontal=linkHorizontal;exports.linkVertical=linkVertical;exports.linkRadial=linkRadial;exports.symbol=symbol;exports.symbols=symbols;exports.symbolCircle=circle;exports.symbolCross=cross;exports.symbolDiamond=diamond;exports.symbolSquare=square;exports.symbolStar=star;exports.symbolTriangle=triangle;exports.symbolWye=wye;exports.curveBasisClosed=basisClosed;exports.curveBasisOpen=basisOpen;exports.curveBasis=basis;exports.curveBundle=bundle;exports.curveCardinalClosed=cardinalClosed;exports.curveCardinalOpen=cardinalOpen;exports.curveCardinal=cardinal;exports.curveCatmullRomClosed=catmullRomClosed;exports.curveCatmullRomOpen=catmullRomOpen;exports.curveCatmullRom=catmullRom;exports.curveLinearClosed=linearClosed;exports.curveLinear=curveLinear;exports.curveMonotoneX=monotoneX;exports.curveMonotoneY=monotoneY;exports.curveNatural=natural;exports.curveStep=step;exports.curveStepAfter=stepAfter;exports.curveStepBefore=stepBefore;exports.stack=stack;exports.stackOffsetExpand=expand;exports.stackOffsetDiverging=diverging;exports.stackOffsetNone=none;exports.stackOffsetSilhouette=silhouette;exports.stackOffsetWiggle=wiggle;exports.stackOrderAppearance=appearance;exports.stackOrderAscending=ascending;exports.stackOrderDescending=descending$1;exports.stackOrderInsideOut=insideOut;exports.stackOrderNone=none$1;exports.stackOrderReverse=reverse;Object.defineProperty(exports,"__esModule",{value:true})})},{"d3-path":12}],16:[function(require,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports,require("d3-time")):typeof define==="function"&&define.amd?define(["exports","d3-time"],factory):factory(global.d3=global.d3||{},global.d3)})(this,function(exports,d3Time){"use strict";function localDate(d){if(0<=d.y&&d.y<100){var date=new Date(-1,d.m,d.d,d.H,d.M,d.S,d.L);date.setFullYear(d.y);return date}return new Date(d.y,d.m,d.d,d.H,d.M,d.S,d.L)}function utcDate(d){if(0<=d.y&&d.y<100){var date=new Date(Date.UTC(-1,d.m,d.d,d.H,d.M,d.S,d.L));date.setUTCFullYear(d.y);return date}return new Date(Date.UTC(d.y,d.m,d.d,d.H,d.M,d.S,d.L))}function newYear(y){return{y:y,m:0,d:1,H:0,M:0,S:0,L:0}}function formatLocale(locale){var locale_dateTime=locale.dateTime,locale_date=locale.date,locale_time=locale.time,locale_periods=locale.periods,locale_weekdays=locale.days,locale_shortWeekdays=locale.shortDays,locale_months=locale.months,locale_shortMonths=locale.shortMonths
  8. ;var periodRe=formatRe(locale_periods),periodLookup=formatLookup(locale_periods),weekdayRe=formatRe(locale_weekdays),weekdayLookup=formatLookup(locale_weekdays),shortWeekdayRe=formatRe(locale_shortWeekdays),shortWeekdayLookup=formatLookup(locale_shortWeekdays),monthRe=formatRe(locale_months),monthLookup=formatLookup(locale_months),shortMonthRe=formatRe(locale_shortMonths),shortMonthLookup=formatLookup(locale_shortMonths);var formats={a:formatShortWeekday,A:formatWeekday,b:formatShortMonth,B:formatMonth,c:null,d:formatDayOfMonth,e:formatDayOfMonth,f:formatMicroseconds,H:formatHour24,I:formatHour12,j:formatDayOfYear,L:formatMilliseconds,m:formatMonthNumber,M:formatMinutes,p:formatPeriod,Q:formatUnixTimestamp,s:formatUnixTimestampSeconds,S:formatSeconds,u:formatWeekdayNumberMonday,U:formatWeekNumberSunday,V:formatWeekNumberISO,w:formatWeekdayNumberSunday,W:formatWeekNumberMonday,x:null,X:null,y:formatYear,Y:formatFullYear,Z:formatZone,"%":formatLiteralPercent};var utcFormats={a:formatUTCShortWeekday,A:formatUTCWeekday,b:formatUTCShortMonth,B:formatUTCMonth,c:null,d:formatUTCDayOfMonth,e:formatUTCDayOfMonth,f:formatUTCMicroseconds,H:formatUTCHour24,I:formatUTCHour12,j:formatUTCDayOfYear,L:formatUTCMilliseconds,m:formatUTCMonthNumber,M:formatUTCMinutes,p:formatUTCPeriod,Q:formatUnixTimestamp,s:formatUnixTimestampSeconds,S:formatUTCSeconds,u:formatUTCWeekdayNumberMonday,U:formatUTCWeekNumberSunday,V:formatUTCWeekNumberISO,w:formatUTCWeekdayNumberSunday,W:formatUTCWeekNumberMonday,x:null,X:null,y:formatUTCYear,Y:formatUTCFullYear,Z:formatUTCZone,"%":formatLiteralPercent};var parses={a:parseShortWeekday,A:parseWeekday,b:parseShortMonth,B:parseMonth,c:parseLocaleDateTime,d:parseDayOfMonth,e:parseDayOfMonth,f:parseMicroseconds,H:parseHour24,I:parseHour24,j:parseDayOfYear,L:parseMilliseconds,m:parseMonthNumber,M:parseMinutes,p:parsePeriod,Q:parseUnixTimestamp,s:parseUnixTimestampSeconds,S:parseSeconds,u:parseWeekdayNumberMonday,U:parseWeekNumberSunday,V:parseWeekNumberISO,w:parseWeekdayNumberSunday,W:parseWeekNumberMonday,x:parseLocaleDate,X:parseLocaleTime,y:parseYear,Y:parseFullYear,Z:parseZone,"%":parseLiteralPercent};formats.x=newFormat(locale_date,formats);formats.X=newFormat(locale_time,formats);formats.c=newFormat(locale_dateTime,formats);utcFormats.x=newFormat(locale_date,utcFormats);utcFormats.X=newFormat(locale_time,utcFormats);utcFormats.c=newFormat(locale_dateTime,utcFormats);function newFormat(specifier,formats){return function(date){var string=[],i=-1,j=0,n=specifier.length,c,pad,format;if(!(date instanceof Date))date=new Date(+date);while(++i<n){if(specifier.charCodeAt(i)===37){string.push(specifier.slice(j,i));if((pad=pads[c=specifier.charAt(++i)])!=null)c=specifier.charAt(++i);else pad=c==="e"?" ":"0";if(format=formats[c])c=format(date,pad);string.push(c);j=i+1}}string.push(specifier.slice(j,i));return string.join("")}}function newParse(specifier,newDate){return function(string){var d=newYear(1900),i=parseSpecifier(d,specifier,string+="",0),week,day;if(i!=string.length)return null;if("Q"in d)return new Date(d.Q);if("p"in d)d.H=d.H%12+d.p*12;if("V"in d){if(d.V<1||d.V>53)return null;if(!("w"in d))d.w=1;if("Z"in d){week=utcDate(newYear(d.y)),day=week.getUTCDay();week=day>4||day===0?d3Time.utcMonday.ceil(week):d3Time.utcMonday(week);week=d3Time.utcDay.offset(week,(d.V-1)*7);d.y=week.getUTCFullYear();d.m=week.getUTCMonth();d.d=week.getUTCDate()+(d.w+6)%7}else{week=newDate(newYear(d.y)),day=week.getDay();week=day>4||day===0?d3Time.timeMonday.ceil(week):d3Time.timeMonday(week);week=d3Time.timeDay.offset(week,(d.V-1)*7);d.y=week.getFullYear();d.m=week.getMonth();d.d=week.getDate()+(d.w+6)%7}}else if("W"in d||"U"in d){if(!("w"in d))d.w="u"in d?d.u%7:"W"in d?1:0;day="Z"in d?utcDate(newYear(d.y)).getUTCDay():newDate(newYear(d.y)).getDay();d.m=0;d.d="W"in d?(d.w+6)%7+d.W*7-(day+5)%7:d.w+d.U*7-(day+6)%7}if("Z"in d){d.H+=d.Z/100|0;d.M+=d.Z%100;return utcDate(d)}return newDate(d)}}function parseSpecifier(d,specifier,string,j){var i=0,n=specifier.length,m=string.length,c,parse;while(i<n){if(j>=m)return-1;c=specifier.charCodeAt(i++);if(c===37){c=specifier.charAt(i++);parse=parses[c in pads?specifier.charAt(i++):c];if(!parse||(j=parse(d,string,j))<0)return-1}else if(c!=string.charCodeAt(j++)){return-1}}return j}function parsePeriod(d,string,i){var n=periodRe.exec(string.slice(i));return n?(d.p=periodLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseShortWeekday(d,string,i){var n=shortWeekdayRe.exec(string.slice(i));return n?(d.w=shortWeekdayLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseWeekday(d,string,i){var n=weekdayRe.exec(string.slice(i));return n?(d.w=weekdayLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseShortMonth(d,string,i){var n=shortMonthRe.exec(string.slice(i));return n?(d.m=shortMonthLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseMonth(d,string,i){var n=monthRe.exec(string.slice(i));return n?(d.m=monthLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseLocaleDateTime(d,string,i){return parseSpecifier(d,locale_dateTime,string,i)}function parseLocaleDate(d,string,i){return parseSpecifier(d,locale_date,string,i)}function parseLocaleTime(d,string,i){return parseSpecifier(d,locale_time,string,i)}function formatShortWeekday(d){return locale_shortWeekdays[d.getDay()]}function formatWeekday(d){return locale_weekdays[d.getDay()]}function formatShortMonth(d){return locale_shortMonths[d.getMonth()]}function formatMonth(d){return locale_months[d.getMonth()]}function formatPeriod(d){return locale_periods[+(d.getHours()>=12)]}function formatUTCShortWeekday(d){return locale_shortWeekdays[d.getUTCDay()]}function formatUTCWeekday(d){return locale_weekdays[d.getUTCDay()]}function formatUTCShortMonth(d){return locale_shortMonths[d.getUTCMonth()]}function formatUTCMonth(d){return locale_months[d.getUTCMonth()]}function formatUTCPeriod(d){return locale_periods[+(d.getUTCHours()>=12)]}return{format:function(specifier){var f=newFormat(specifier+="",formats);f.toString=function(){return specifier};return f},parse:function(specifier){var p=newParse(specifier+="",localDate);p.toString=function(){return specifier};return p},utcFormat:function(specifier){var f=newFormat(specifier+="",utcFormats);f.toString=function(){return specifier};return f},utcParse:function(specifier){var p=newParse(specifier,utcDate);p.toString=function(){return specifier};return p}}}var pads={"-":"",_:" ",0:"0"},numberRe=/^\s*\d+/,percentRe=/^%/,requoteRe=/[\\^$*+?|[\]().{}]/g;function pad(value,fill,width){var sign=value<0?"-":"",string=(sign?-value:value)+"",length=string.length;return sign+(length<width?new Array(width-length+1).join(fill)+string:string)}function requote(s){return s.replace(requoteRe,"\\$&")}function formatRe(names){return new RegExp("^(?:"+names.map(requote).join("|")+")","i")}function formatLookup(names){var map={},i=-1,n=names.length;while(++i<n)map[names[i].toLowerCase()]=i;return map}function parseWeekdayNumberSunday(d,string,i){var n=numberRe.exec(string.slice(i,i+1));return n?(d.w=+n[0],i+n[0].length):-1}function parseWeekdayNumberMonday(d,string,i){var n=numberRe.exec(string.slice(i,i+1));return n?(d.u=+n[0],i+n[0].length):-1}function parseWeekNumberSunday(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.U=+n[0],i+n[0].length):-1}function parseWeekNumberISO(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.V=+n[0],i+n[0].length):-1}function parseWeekNumberMonday(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.W=+n[0],i+n[0].length):-1}function parseFullYear(d,string,i){var n=numberRe.exec(string.slice(i,i+4));return n?(d.y=+n[0],i+n[0].length):-1}function parseYear(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.y=+n[0]+(+n[0]>68?1900:2e3),i+n[0].length):-1}function parseZone(d,string,i){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(string.slice(i,i+6));return n?(d.Z=n[1]?0:-(n[2]+(n[3]||"00")),i+n[0].length):-1}function parseMonthNumber(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.m=n[0]-1,i+n[0].length):-1}function parseDayOfMonth(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.d=+n[0],i+n[0].length):-1}function parseDayOfYear(d,string,i){var n=numberRe.exec(string.slice(i,i+3));return n?(d.m=0,d.d=+n[0],i+n[0].length):-1}function parseHour24(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.H=+n[0],i+n[0].length):-1}function parseMinutes(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.M=+n[0],i+n[0].length):-1}function parseSeconds(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.S=+n[0],i+n[0].length):-1}function parseMilliseconds(d,string,i){var n=numberRe.exec(string.slice(i,i+3));return n?(d.L=+n[0],i+n[0].length):-1}function parseMicroseconds(d,string,i){var n=numberRe.exec(string.slice(i,i+6));return n?(d.L=Math.floor(n[0]/1e3),i+n[0].length):-1}function parseLiteralPercent(d,string,i){var n=percentRe.exec(string.slice(i,i+1));return n?i+n[0].length:-1}function parseUnixTimestamp(d,string,i){var n=numberRe.exec(string.slice(i));return n?(d.Q=+n[0],i+n[0].length):-1}function parseUnixTimestampSeconds(d,string,i){var n=numberRe.exec(string.slice(i));return n?(d.Q=+n[0]*1e3,i+n[0].length):-1}function formatDayOfMonth(d,p){return pad(d.getDate(),p,2)}function formatHour24(d,p){return pad(d.getHours(),p,2)}function formatHour12(d,p){return pad(d.getHours()%12||12,p,2)}function formatDayOfYear(d,p){return pad(1+d3Time.timeDay.count(d3Time.timeYear(d),d),p,3)}function formatMilliseconds(d,p){return pad(d.getMilliseconds(),p,3)}function formatMicroseconds(d,p){return formatMilliseconds(d,p)+"000"}function formatMonthNumber(d,p){return pad(d.getMonth()+1,p,2)}function formatMinutes(d,p){return pad(d.getMinutes(),p,2)}function formatSeconds(d,p){return pad(d.getSeconds(),p,2)}function formatWeekdayNumberMonday(d){var day=d.getDay();return day===0?7:day}function formatWeekNumberSunday(d,p){return pad(d3Time.timeSunday.count(d3Time.timeYear(d),d),p,2)}function formatWeekNumberISO(d,p){var day=d.getDay();d=day>=4||day===0?d3Time.timeThursday(d):d3Time.timeThursday.ceil(d);return pad(d3Time.timeThursday.count(d3Time.timeYear(d),d)+(d3Time.timeYear(d).getDay()===4),p,2)}function formatWeekdayNumberSunday(d){return d.getDay()}function formatWeekNumberMonday(d,p){return pad(d3Time.timeMonday.count(d3Time.timeYear(d),d),p,2)}function formatYear(d,p){return pad(d.getFullYear()%100,p,2)}function formatFullYear(d,p){return pad(d.getFullYear()%1e4,p,4)}function formatZone(d){var z=d.getTimezoneOffset();return(z>0?"-":(z*=-1,"+"))+pad(z/60|0,"0",2)+pad(z%60,"0",2)}function formatUTCDayOfMonth(d,p){return pad(d.getUTCDate(),p,2)}function formatUTCHour24(d,p){return pad(d.getUTCHours(),p,2)}function formatUTCHour12(d,p){return pad(d.getUTCHours()%12||12,p,2)}function formatUTCDayOfYear(d,p){return pad(1+d3Time.utcDay.count(d3Time.utcYear(d),d),p,3)}function formatUTCMilliseconds(d,p){return pad(d.getUTCMilliseconds(),p,3)}function formatUTCMicroseconds(d,p){return formatUTCMilliseconds(d,p)+"000"}function formatUTCMonthNumber(d,p){return pad(d.getUTCMonth()+1,p,2)}function formatUTCMinutes(d,p){return pad(d.getUTCMinutes(),p,2)}function formatUTCSeconds(d,p){return pad(d.getUTCSeconds(),p,2)}function formatUTCWeekdayNumberMonday(d){var dow=d.getUTCDay();return dow===0?7:dow}function formatUTCWeekNumberSunday(d,p){return pad(d3Time.utcSunday.count(d3Time.utcYear(d),d),p,2)}function formatUTCWeekNumberISO(d,p){var day=d.getUTCDay();d=day>=4||day===0?d3Time.utcThursday(d):d3Time.utcThursday.ceil(d);return pad(d3Time.utcThursday.count(d3Time.utcYear(d),d)+(d3Time.utcYear(d).getUTCDay()===4),p,2)}function formatUTCWeekdayNumberSunday(d){return d.getUTCDay()}function formatUTCWeekNumberMonday(d,p){return pad(d3Time.utcMonday.count(d3Time.utcYear(d),d),p,2)}function formatUTCYear(d,p){return pad(d.getUTCFullYear()%100,p,2)}function formatUTCFullYear(d,p){return pad(d.getUTCFullYear()%1e4,p,4)}function formatUTCZone(){return"+0000"}function formatLiteralPercent(){return"%"}function formatUnixTimestamp(d){return+d}function formatUnixTimestampSeconds(d){return Math.floor(+d/1e3)}var locale;defaultLocale({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"]});function defaultLocale(definition){locale=formatLocale(definition);exports.timeFormat=locale.format;exports.timeParse=locale.parse;exports.utcFormat=locale.utcFormat;exports.utcParse=locale.utcParse;return locale}var isoSpecifier="%Y-%m-%dT%H:%M:%S.%LZ";function formatIsoNative(date){return date.toISOString()}var formatIso=Date.prototype.toISOString?formatIsoNative:exports.utcFormat(isoSpecifier);function parseIsoNative(string){var date=new Date(string);return isNaN(date)?null:date}var parseIso=+new Date("2000-01-01T00:00:00.000Z")?parseIsoNative:exports.utcParse(isoSpecifier);exports.timeFormatDefaultLocale=defaultLocale;exports.timeFormatLocale=formatLocale;exports.isoFormat=formatIso;exports.isoParse=parseIso;Object.defineProperty(exports,"__esModule",{value:true})})},{"d3-time":17}],17:[function(require,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports):typeof define==="function"&&define.amd?define(["exports"],factory):factory(global.d3=global.d3||{})})(this,function(exports){"use strict";var t0=new Date,t1=new Date;function newInterval(floori,offseti,count,field){function interval(date){return floori(date=new Date(+date)),date}interval.floor=interval;interval.ceil=function(date){return floori(date=new Date(date-1)),offseti(date,1),floori(date),date};interval.round=function(date){var d0=interval(date),d1=interval.ceil(date);return date-d0<d1-date?d0:d1};interval.offset=function(date,step){return offseti(date=new Date(+date),step==null?1:Math.floor(step)),date};interval.range=function(start,stop,step){var range=[],previous;start=interval.ceil(start);step=step==null?1:Math.floor(step);if(!(start<stop)||!(step>0))return range;do{range.push(previous=new Date(+start)),offseti(start,step),floori(start)}while(previous<start&&start<stop);return range};interval.filter=function(test){return newInterval(function(date){if(date>=date)while(floori(date),!test(date))date.setTime(date-1)},function(date,step){if(date>=date){if(step<0)while(++step<=0){while(offseti(date,-1),!test(date)){}}else while(--step>=0){while(offseti(date,+1),!test(date)){}}}})};if(count){interval.count=function(start,end){t0.setTime(+start),t1.setTime(+end);floori(t0),floori(t1);return Math.floor(count(t0,t1))};interval.every=function(step){step=Math.floor(step);return!isFinite(step)||!(step>0)?null:!(step>1)?interval:interval.filter(field?function(d){return field(d)%step===0}:function(d){return interval.count(0,d)%step===0})}}return interval}var millisecond=newInterval(function(){},function(date,step){date.setTime(+date+step)},function(start,end){return end-start});millisecond.every=function(k){k=Math.floor(k);if(!isFinite(k)||!(k>0))return null;if(!(k>1))return millisecond;return newInterval(function(date){date.setTime(Math.floor(date/k)*k)},function(date,step){date.setTime(+date+step*k)},function(start,end){return(end-start)/k})};var milliseconds=millisecond.range;var durationSecond=1e3;var durationMinute=6e4;var durationHour=36e5;var durationDay=864e5;var durationWeek=6048e5;var second=newInterval(function(date){date.setTime(date-date.getMilliseconds())},function(date,step){date.setTime(+date+step*durationSecond)},function(start,end){return(end-start)/durationSecond},function(date){return date.getUTCSeconds()});var seconds=second.range;var minute=newInterval(function(date){date.setTime(date-date.getMilliseconds()-date.getSeconds()*durationSecond)},function(date,step){date.setTime(+date+step*durationMinute)},function(start,end){return(end-start)/durationMinute},function(date){return date.getMinutes()});var minutes=minute.range;var hour=newInterval(function(date){date.setTime(date-date.getMilliseconds()-date.getSeconds()*durationSecond-date.getMinutes()*durationMinute)},function(date,step){date.setTime(+date+step*durationHour)},function(start,end){return(end-start)/durationHour},function(date){return date.getHours()});var hours=hour.range;var day=newInterval(function(date){date.setHours(0,0,0,0)},function(date,step){date.setDate(date.getDate()+step)},function(start,end){return(end-start-(end.getTimezoneOffset()-start.getTimezoneOffset())*durationMinute)/durationDay},function(date){return date.getDate()-1});var days=day.range;function weekday(i){return newInterval(function(date){date.setDate(date.getDate()-(date.getDay()+7-i)%7);date.setHours(0,0,0,0)},function(date,step){date.setDate(date.getDate()+step*7)},function(start,end){return(end-start-(end.getTimezoneOffset()-start.getTimezoneOffset())*durationMinute)/durationWeek})}var sunday=weekday(0);var monday=weekday(1);var tuesday=weekday(2);var wednesday=weekday(3);var thursday=weekday(4);var friday=weekday(5);var saturday=weekday(6);var sundays=sunday.range;var mondays=monday.range;var tuesdays=tuesday.range;var wednesdays=wednesday.range;var thursdays=thursday.range;var fridays=friday.range;var saturdays=saturday.range;var month=newInterval(function(date){date.setDate(1);date.setHours(0,0,0,0)},function(date,step){date.setMonth(date.getMonth()+step)},function(start,end){return end.getMonth()-start.getMonth()+(end.getFullYear()-start.getFullYear())*12},function(date){return date.getMonth()});var months=month.range;var year=newInterval(function(date){date.setMonth(0,1);date.setHours(0,0,0,0)},function(date,step){date.setFullYear(date.getFullYear()+step)},function(start,end){return end.getFullYear()-start.getFullYear()},function(date){return date.getFullYear()});year.every=function(k){return!isFinite(k=Math.floor(k))||!(k>0)?null:newInterval(function(date){date.setFullYear(Math.floor(date.getFullYear()/k)*k);date.setMonth(0,1);date.setHours(0,0,0,0)},function(date,step){date.setFullYear(date.getFullYear()+step*k)})};var years=year.range;var utcMinute=newInterval(function(date){date.setUTCSeconds(0,0)},function(date,step){date.setTime(+date+step*durationMinute)},function(start,end){return(end-start)/durationMinute},function(date){return date.getUTCMinutes()});var utcMinutes=utcMinute.range;var utcHour=newInterval(function(date){date.setUTCMinutes(0,0,0)},function(date,step){date.setTime(+date+step*durationHour)},function(start,end){return(end-start)/durationHour},function(date){return date.getUTCHours()});var utcHours=utcHour.range;var utcDay=newInterval(function(date){date.setUTCHours(0,0,0,0)},function(date,step){date.setUTCDate(date.getUTCDate()+step)},function(start,end){return(end-start)/durationDay},function(date){return date.getUTCDate()-1});var utcDays=utcDay.range;function utcWeekday(i){return newInterval(function(date){date.setUTCDate(date.getUTCDate()-(date.getUTCDay()+7-i)%7);date.setUTCHours(0,0,0,0)},function(date,step){date.setUTCDate(date.getUTCDate()+step*7)},function(start,end){return(end-start)/durationWeek})}var utcSunday=utcWeekday(0);var utcMonday=utcWeekday(1);var utcTuesday=utcWeekday(2);var utcWednesday=utcWeekday(3);var utcThursday=utcWeekday(4);var utcFriday=utcWeekday(5);var utcSaturday=utcWeekday(6);var utcSundays=utcSunday.range;var utcMondays=utcMonday.range;var utcTuesdays=utcTuesday.range;var utcWednesdays=utcWednesday.range;var utcThursdays=utcThursday.range;var utcFridays=utcFriday.range;var utcSaturdays=utcSaturday.range;var utcMonth=newInterval(function(date){date.setUTCDate(1);date.setUTCHours(0,0,0,0)},function(date,step){date.setUTCMonth(date.getUTCMonth()+step)},function(start,end){return end.getUTCMonth()-start.getUTCMonth()+(end.getUTCFullYear()-start.getUTCFullYear())*12},function(date){return date.getUTCMonth()});var utcMonths=utcMonth.range;var utcYear=newInterval(function(date){date.setUTCMonth(0,1);date.setUTCHours(0,0,0,0)},function(date,step){date.setUTCFullYear(date.getUTCFullYear()+step)},function(start,end){return end.getUTCFullYear()-start.getUTCFullYear()},function(date){return date.getUTCFullYear()});utcYear.every=function(k){return!isFinite(k=Math.floor(k))||!(k>0)?null:newInterval(function(date){date.setUTCFullYear(Math.floor(date.getUTCFullYear()/k)*k);date.setUTCMonth(0,1);date.setUTCHours(0,0,0,0)},function(date,step){date.setUTCFullYear(date.getUTCFullYear()+step*k)})};var utcYears=utcYear.range;exports.timeInterval=newInterval;exports.timeMillisecond=millisecond;exports.timeMilliseconds=milliseconds;exports.utcMillisecond=millisecond;exports.utcMilliseconds=milliseconds;exports.timeSecond=second;exports.timeSeconds=seconds;exports.utcSecond=second;exports.utcSeconds=seconds;exports.timeMinute=minute;exports.timeMinutes=minutes;exports.timeHour=hour;exports.timeHours=hours;exports.timeDay=day;exports.timeDays=days;exports.timeWeek=sunday;exports.timeWeeks=sundays;exports.timeSunday=sunday;exports.timeSundays=sundays;exports.timeMonday=monday;exports.timeMondays=mondays;exports.timeTuesday=tuesday;exports.timeTuesdays=tuesdays;exports.timeWednesday=wednesday;exports.timeWednesdays=wednesdays;exports.timeThursday=thursday;exports.timeThursdays=thursdays;exports.timeFriday=friday;exports.timeFridays=fridays;exports.timeSaturday=saturday;exports.timeSaturdays=saturdays;exports.timeMonth=month;exports.timeMonths=months;exports.timeYear=year;exports.timeYears=years;exports.utcMinute=utcMinute;exports.utcMinutes=utcMinutes;exports.utcHour=utcHour;exports.utcHours=utcHours;exports.utcDay=utcDay;exports.utcDays=utcDays;exports.utcWeek=utcSunday;exports.utcWeeks=utcSundays;exports.utcSunday=utcSunday;exports.utcSundays=utcSundays;exports.utcMonday=utcMonday;exports.utcMondays=utcMondays;exports.utcTuesday=utcTuesday;exports.utcTuesdays=utcTuesdays;exports.utcWednesday=utcWednesday;exports.utcWednesdays=utcWednesdays;exports.utcThursday=utcThursday;exports.utcThursdays=utcThursdays;exports.utcFriday=utcFriday;exports.utcFridays=utcFridays;exports.utcSaturday=utcSaturday;exports.utcSaturdays=utcSaturdays;exports.utcMonth=utcMonth;exports.utcMonths=utcMonths;exports.utcYear=utcYear;exports.utcYears=utcYears;Object.defineProperty(exports,"__esModule",{value:true})})},{}],18:[function(require,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports):typeof define==="function"&&define.amd?define(["exports"],factory):factory(global.d3=global.d3||{})})(this,function(exports){"use strict";function constant(x){return function(){return x}}function x(d){return d[0]}function y(d){return d[1]}function RedBlackTree(){this._=null}function RedBlackNode(node){node.U=node.C=node.L=node.R=node.P=node.N=null}RedBlackTree.prototype={constructor:RedBlackTree,insert:function(after,node){var parent,grandpa,uncle;if(after){node.P=after;node.N=after.N;if(after.N)after.N.P=node;after.N=node;if(after.R){after=after.R;while(after.L)after=after.L;after.L=node}else{after.R=node}parent=after}else if(this._){after=RedBlackFirst(this._);node.P=null;node.N=after;after.P=after.L=node;parent=after}else{node.P=node.N=null;this._=node;parent=null}node.L=node.R=null;node.U=parent;node.C=true;after=node;while(parent&&parent.C){grandpa=parent.U;if(parent===grandpa.L){uncle=grandpa.R;if(uncle&&uncle.C){parent.C=uncle.C=false;grandpa.C=true;after=grandpa}else{if(after===parent.R){RedBlackRotateLeft(this,parent);after=parent;parent=after.U}parent.C=false;grandpa.C=true;RedBlackRotateRight(this,grandpa)}}else{uncle=grandpa.L;if(uncle&&uncle.C){parent.C=uncle.C=false;grandpa.C=true;after=grandpa}else{if(after===parent.L){RedBlackRotateRight(this,parent);after=parent;parent=after.U}parent.C=false;grandpa.C=true;RedBlackRotateLeft(this,grandpa)}}parent=after.U}this._.C=false},remove:function(node){if(node.N)node.N.P=node.P;if(node.P)node.P.N=node.N;node.N=node.P=null;var parent=node.U,sibling,left=node.L,right=node.R,next,red;if(!left)next=right;else if(!right)next=left;else next=RedBlackFirst(right);if(parent){if(parent.L===node)parent.L=next;else parent.R=next}else{this._=next}if(left&&right){red=next.C;next.C=node.C;next.L=left;left.U=next;if(next!==right){parent=next.U;next.U=node.U;node=next.R;parent.L=node;next.R=right;right.U=next}else{next.U=parent;parent=next;node=next.R}}else{red=node.C;node=next}if(node)node.U=parent;if(red)return;if(node&&node.C){node.C=false;return}do{if(node===this._)break;if(node===parent.L){sibling=parent.R;if(sibling.C){sibling.C=false;parent.C=true;RedBlackRotateLeft(this,parent);sibling=parent.R}if(sibling.L&&sibling.L.C||sibling.R&&sibling.R.C){if(!sibling.R||!sibling.R.C){sibling.L.C=false;sibling.C=true;RedBlackRotateRight(this,sibling);sibling=parent.R}sibling.C=parent.C;parent.C=sibling.R.C=false;RedBlackRotateLeft(this,parent);node=this._;break}}else{sibling=parent.L;if(sibling.C){sibling.C=false;parent.C=true;RedBlackRotateRight(this,parent);sibling=parent.L}if(sibling.L&&sibling.L.C||sibling.R&&sibling.R.C){if(!sibling.L||!sibling.L.C){sibling.R.C=false;sibling.C=true;RedBlackRotateLeft(this,sibling);sibling=parent.L}sibling.C=parent.C;parent.C=sibling.L.C=false;RedBlackRotateRight(this,parent);node=this._;break}}sibling.C=true;node=parent;parent=parent.U}while(!node.C);if(node)node.C=false}};function RedBlackRotateLeft(tree,node){var p=node,q=node.R,parent=p.U;if(parent){if(parent.L===p)parent.L=q;else parent.R=q}else{tree._=q}q.U=parent;p.U=q;p.R=q.L;if(p.R)p.R.U=p;q.L=p}function RedBlackRotateRight(tree,node){var p=node,q=node.L,parent=p.U;if(parent){if(parent.L===p)parent.L=q;else parent.R=q}else{tree._=q}q.U=parent;p.U=q;p.L=q.R;if(p.L)p.L.U=p;q.R=p}function RedBlackFirst(node){while(node.L)node=node.L;return node}function createEdge(left,right,v0,v1){var edge=[null,null],index=edges.push(edge)-1;edge.left=left;edge.right=right;if(v0)setEdgeEnd(edge,left,right,v0);if(v1)setEdgeEnd(edge,right,left,v1);cells[left.index].halfedges.push(index);cells[right.index].halfedges.push(index);return edge}function createBorderEdge(left,v0,v1){var edge=[v0,v1];edge.left=left;return edge}function setEdgeEnd(edge,left,right,vertex){if(!edge[0]&&!edge[1]){edge[0]=vertex;edge.left=left;edge.right=right}else if(edge.left===right){edge[1]=vertex}else{edge[0]=vertex}}function clipEdge(edge,x0,y0,x1,y1){var a=edge[0],b=edge[1],ax=a[0],ay=a[1],bx=b[0],by=b[1],t0=0,t1=1,dx=bx-ax,dy=by-ay,r;r=x0-ax;if(!dx&&r>0)return;r/=dx;if(dx<0){if(r<t0)return;if(r<t1)t1=r}else if(dx>0){if(r>t1)return;if(r>t0)t0=r}r=x1-ax;if(!dx&&r<0)return;r/=dx;if(dx<0){if(r>t1)return;if(r>t0)t0=r}else if(dx>0){if(r<t0)return;if(r<t1)t1=r}r=y0-ay;if(!dy&&r>0)return;r/=dy;if(dy<0){if(r<t0)return;if(r<t1)t1=r}else if(dy>0){if(r>t1)return;if(r>t0)t0=r}r=y1-ay;if(!dy&&r<0)return;r/=dy;if(dy<0){if(r>t1)return;if(r>t0)t0=r}else if(dy>0){if(r<t0)return;if(r<t1)t1=r}if(!(t0>0)&&!(t1<1))return true;if(t0>0)edge[0]=[ax+t0*dx,ay+t0*dy];if(t1<1)edge[1]=[ax+t1*dx,ay+t1*dy];return true}function connectEdge(edge,x0,y0,x1,y1){var v1=edge[1];if(v1)return true;var v0=edge[0],left=edge.left,right=edge.right,lx=left[0],ly=left[1],rx=right[0],ry=right[1],fx=(lx+rx)/2,fy=(ly+ry)/2,fm,fb;if(ry===ly){if(fx<x0||fx>=x1)return;if(lx>rx){if(!v0)v0=[fx,y0];else if(v0[1]>=y1)return;v1=[fx,y1]}else{if(!v0)v0=[fx,y1];else if(v0[1]<y0)return;v1=[fx,y0]}}else{fm=(lx-rx)/(ry-ly);fb=fy-fm*fx;if(fm<-1||fm>1){if(lx>rx){if(!v0)v0=[(y0-fb)/fm,y0];else if(v0[1]>=y1)return;v1=[(y1-fb)/fm,y1]}else{if(!v0)v0=[(y1-fb)/fm,y1];else if(v0[1]<y0)return;v1=[(y0-fb)/fm,y0]}}else{if(ly<ry){if(!v0)v0=[x0,fm*x0+fb];else if(v0[0]>=x1)return;v1=[x1,fm*x1+fb]}else{if(!v0)v0=[x1,fm*x1+fb];else if(v0[0]<x0)return;v1=[x0,fm*x0+fb]}}}edge[0]=v0;edge[1]=v1;return true}function clipEdges(x0,y0,x1,y1){var i=edges.length,edge;while(i--){if(!connectEdge(edge=edges[i],x0,y0,x1,y1)||!clipEdge(edge,x0,y0,x1,y1)||!(Math.abs(edge[0][0]-edge[1][0])>epsilon||Math.abs(edge[0][1]-edge[1][1])>epsilon)){delete edges[i]}}}function createCell(site){return cells[site.index]={site:site,halfedges:[]}}function cellHalfedgeAngle(cell,edge){var site=cell.site,va=edge.left,vb=edge.right;if(site===vb)vb=va,va=site;if(vb)return Math.atan2(vb[1]-va[1],vb[0]-va[0]);if(site===va)va=edge[1],vb=edge[0];else va=edge[0],vb=edge[1];return Math.atan2(va[0]-vb[0],vb[1]-va[1])}function cellHalfedgeStart(cell,edge){return edge[+(edge.left!==cell.site)]}function cellHalfedgeEnd(cell,edge){return edge[+(edge.left===cell.site)]}function sortCellHalfedges(){for(var i=0,n=cells.length,cell,halfedges,j,m;i<n;++i){if((cell=cells[i])&&(m=(halfedges=cell.halfedges).length)){var index=new Array(m),array=new Array(m);for(j=0;j<m;++j)index[j]=j,array[j]=cellHalfedgeAngle(cell,edges[halfedges[j]]);index.sort(function(i,j){return array[j]-array[i]});for(j=0;j<m;++j)array[j]=halfedges[index[j]];for(j=0;j<m;++j)halfedges[j]=array[j]}}}function clipCells(x0,y0,x1,y1){var nCells=cells.length,iCell,cell,site,iHalfedge,halfedges,nHalfedges,start,startX,startY,end,endX,endY,cover=true;for(iCell=0;iCell<nCells;++iCell){if(cell=cells[iCell]){site=cell.site;halfedges=cell.halfedges;iHalfedge=halfedges.length;while(iHalfedge--){if(!edges[halfedges[iHalfedge]]){halfedges.splice(iHalfedge,1)}}iHalfedge=0,nHalfedges=halfedges.length;while(iHalfedge<nHalfedges){end=cellHalfedgeEnd(cell,edges[halfedges[iHalfedge]]),endX=end[0],endY=end[1];start=cellHalfedgeStart(cell,edges[halfedges[++iHalfedge%nHalfedges]]),startX=start[0],startY=start[1];if(Math.abs(endX-startX)>epsilon||Math.abs(endY-startY)>epsilon){halfedges.splice(iHalfedge,0,edges.push(createBorderEdge(site,end,Math.abs(endX-x0)<epsilon&&y1-endY>epsilon?[x0,Math.abs(startX-x0)<epsilon?startY:y1]:Math.abs(endY-y1)<epsilon&&x1-endX>epsilon?[Math.abs(startY-y1)<epsilon?startX:x1,y1]:Math.abs(endX-x1)<epsilon&&endY-y0>epsilon?[x1,Math.abs(startX-x1)<epsilon?startY:y0]:Math.abs(endY-y0)<epsilon&&endX-x0>epsilon?[Math.abs(startY-y0)<epsilon?startX:x0,y0]:null))-1);++nHalfedges}}if(nHalfedges)cover=false}}if(cover){var dx,dy,d2,dc=Infinity;for(iCell=0,cover=null;iCell<nCells;++iCell){if(cell=cells[iCell]){site=cell.site;dx=site[0]-x0;dy=site[1]-y0;d2=dx*dx+dy*dy;if(d2<dc)dc=d2,cover=cell}}if(cover){var v00=[x0,y0],v01=[x0,y1],v11=[x1,y1],v10=[x1,y0];cover.halfedges.push(edges.push(createBorderEdge(site=cover.site,v00,v01))-1,edges.push(createBorderEdge(site,v01,v11))-1,edges.push(createBorderEdge(site,v11,v10))-1,edges.push(createBorderEdge(site,v10,v00))-1)}}for(iCell=0;iCell<nCells;++iCell){if(cell=cells[iCell]){if(!cell.halfedges.length){delete cells[iCell]}}}}var circlePool=[];var firstCircle;function Circle(){RedBlackNode(this);this.x=this.y=this.arc=this.site=this.cy=null}function attachCircle(arc){var lArc=arc.P,rArc=arc.N;if(!lArc||!rArc)return;var lSite=lArc.site,cSite=arc.site,rSite=rArc.site;if(lSite===rSite)return;var bx=cSite[0],by=cSite[1],ax=lSite[0]-bx,ay=lSite[1]-by,cx=rSite[0]-bx,cy=rSite[1]-by;var d=2*(ax*cy-ay*cx);if(d>=-epsilon2)return;var ha=ax*ax+ay*ay,hc=cx*cx+cy*cy,x=(cy*ha-ay*hc)/d,y=(ax*hc-cx*ha)/d;var circle=circlePool.pop()||new Circle;circle.arc=arc;circle.site=cSite;circle.x=x+bx;circle.y=(circle.cy=y+by)+Math.sqrt(x*x+y*y);arc.circle=circle;var before=null,node=circles._;while(node){if(circle.y<node.y||circle.y===node.y&&circle.x<=node.x){if(node.L)node=node.L;else{before=node.P;break}}else{if(node.R)node=node.R;else{before=node;break}}}circles.insert(before,circle);if(!before)firstCircle=circle}function detachCircle(arc){var circle=arc.circle;if(circle){if(!circle.P)firstCircle=circle.N;circles.remove(circle);circlePool.push(circle);RedBlackNode(circle);arc.circle=null}}var beachPool=[];function Beach(){RedBlackNode(this);this.edge=this.site=this.circle=null}function createBeach(site){var beach=beachPool.pop()||new Beach;beach.site=site;return beach
  9. }function detachBeach(beach){detachCircle(beach);beaches.remove(beach);beachPool.push(beach);RedBlackNode(beach)}function removeBeach(beach){var circle=beach.circle,x=circle.x,y=circle.cy,vertex=[x,y],previous=beach.P,next=beach.N,disappearing=[beach];detachBeach(beach);var lArc=previous;while(lArc.circle&&Math.abs(x-lArc.circle.x)<epsilon&&Math.abs(y-lArc.circle.cy)<epsilon){previous=lArc.P;disappearing.unshift(lArc);detachBeach(lArc);lArc=previous}disappearing.unshift(lArc);detachCircle(lArc);var rArc=next;while(rArc.circle&&Math.abs(x-rArc.circle.x)<epsilon&&Math.abs(y-rArc.circle.cy)<epsilon){next=rArc.N;disappearing.push(rArc);detachBeach(rArc);rArc=next}disappearing.push(rArc);detachCircle(rArc);var nArcs=disappearing.length,iArc;for(iArc=1;iArc<nArcs;++iArc){rArc=disappearing[iArc];lArc=disappearing[iArc-1];setEdgeEnd(rArc.edge,lArc.site,rArc.site,vertex)}lArc=disappearing[0];rArc=disappearing[nArcs-1];rArc.edge=createEdge(lArc.site,rArc.site,null,vertex);attachCircle(lArc);attachCircle(rArc)}function addBeach(site){var x=site[0],directrix=site[1],lArc,rArc,dxl,dxr,node=beaches._;while(node){dxl=leftBreakPoint(node,directrix)-x;if(dxl>epsilon)node=node.L;else{dxr=x-rightBreakPoint(node,directrix);if(dxr>epsilon){if(!node.R){lArc=node;break}node=node.R}else{if(dxl>-epsilon){lArc=node.P;rArc=node}else if(dxr>-epsilon){lArc=node;rArc=node.N}else{lArc=rArc=node}break}}}createCell(site);var newArc=createBeach(site);beaches.insert(lArc,newArc);if(!lArc&&!rArc)return;if(lArc===rArc){detachCircle(lArc);rArc=createBeach(lArc.site);beaches.insert(newArc,rArc);newArc.edge=rArc.edge=createEdge(lArc.site,newArc.site);attachCircle(lArc);attachCircle(rArc);return}if(!rArc){newArc.edge=createEdge(lArc.site,newArc.site);return}detachCircle(lArc);detachCircle(rArc);var lSite=lArc.site,ax=lSite[0],ay=lSite[1],bx=site[0]-ax,by=site[1]-ay,rSite=rArc.site,cx=rSite[0]-ax,cy=rSite[1]-ay,d=2*(bx*cy-by*cx),hb=bx*bx+by*by,hc=cx*cx+cy*cy,vertex=[(cy*hb-by*hc)/d+ax,(bx*hc-cx*hb)/d+ay];setEdgeEnd(rArc.edge,lSite,rSite,vertex);newArc.edge=createEdge(lSite,site,null,vertex);rArc.edge=createEdge(site,rSite,null,vertex);attachCircle(lArc);attachCircle(rArc)}function leftBreakPoint(arc,directrix){var site=arc.site,rfocx=site[0],rfocy=site[1],pby2=rfocy-directrix;if(!pby2)return rfocx;var lArc=arc.P;if(!lArc)return-Infinity;site=lArc.site;var lfocx=site[0],lfocy=site[1],plby2=lfocy-directrix;if(!plby2)return lfocx;var hl=lfocx-rfocx,aby2=1/pby2-1/plby2,b=hl/plby2;if(aby2)return(-b+Math.sqrt(b*b-2*aby2*(hl*hl/(-2*plby2)-lfocy+plby2/2+rfocy-pby2/2)))/aby2+rfocx;return(rfocx+lfocx)/2}function rightBreakPoint(arc,directrix){var rArc=arc.N;if(rArc)return leftBreakPoint(rArc,directrix);var site=arc.site;return site[1]===directrix?site[0]:Infinity}var epsilon=1e-6;var epsilon2=1e-12;var beaches;var cells;var circles;var edges;function triangleArea(a,b,c){return(a[0]-c[0])*(b[1]-a[1])-(a[0]-b[0])*(c[1]-a[1])}function lexicographic(a,b){return b[1]-a[1]||b[0]-a[0]}function Diagram(sites,extent){var site=sites.sort(lexicographic).pop(),x,y,circle;edges=[];cells=new Array(sites.length);beaches=new RedBlackTree;circles=new RedBlackTree;while(true){circle=firstCircle;if(site&&(!circle||site[1]<circle.y||site[1]===circle.y&&site[0]<circle.x)){if(site[0]!==x||site[1]!==y){addBeach(site);x=site[0],y=site[1]}site=sites.pop()}else if(circle){removeBeach(circle.arc)}else{break}}sortCellHalfedges();if(extent){var x0=+extent[0][0],y0=+extent[0][1],x1=+extent[1][0],y1=+extent[1][1];clipEdges(x0,y0,x1,y1);clipCells(x0,y0,x1,y1)}this.edges=edges;this.cells=cells;beaches=circles=edges=cells=null}Diagram.prototype={constructor:Diagram,polygons:function(){var edges=this.edges;return this.cells.map(function(cell){var polygon=cell.halfedges.map(function(i){return cellHalfedgeStart(cell,edges[i])});polygon.data=cell.site.data;return polygon})},triangles:function(){var triangles=[],edges=this.edges;this.cells.forEach(function(cell,i){if(!(m=(halfedges=cell.halfedges).length))return;var site=cell.site,halfedges,j=-1,m,s0,e1=edges[halfedges[m-1]],s1=e1.left===site?e1.right:e1.left;while(++j<m){s0=s1;e1=edges[halfedges[j]];s1=e1.left===site?e1.right:e1.left;if(s0&&s1&&i<s0.index&&i<s1.index&&triangleArea(site,s0,s1)<0){triangles.push([site.data,s0.data,s1.data])}}});return triangles},links:function(){return this.edges.filter(function(edge){return edge.right}).map(function(edge){return{source:edge.left.data,target:edge.right.data}})},find:function(x,y,radius){var that=this,i0,i1=that._found||0,n=that.cells.length,cell;while(!(cell=that.cells[i1]))if(++i1>=n)return null;var dx=x-cell.site[0],dy=y-cell.site[1],d2=dx*dx+dy*dy;do{cell=that.cells[i0=i1],i1=null;cell.halfedges.forEach(function(e){var edge=that.edges[e],v=edge.left;if((v===cell.site||!v)&&!(v=edge.right))return;var vx=x-v[0],vy=y-v[1],v2=vx*vx+vy*vy;if(v2<d2)d2=v2,i1=v.index})}while(i1!==null);that._found=i0;return radius==null||d2<=radius*radius?cell.site:null}};function voronoi(){var x$$1=x,y$$1=y,extent=null;function voronoi(data){return new Diagram(data.map(function(d,i){var s=[Math.round(x$$1(d,i,data)/epsilon)*epsilon,Math.round(y$$1(d,i,data)/epsilon)*epsilon];s.index=i;s.data=d;return s}),extent)}voronoi.polygons=function(data){return voronoi(data).polygons()};voronoi.links=function(data){return voronoi(data).links()};voronoi.triangles=function(data){return voronoi(data).triangles()};voronoi.x=function(_){return arguments.length?(x$$1=typeof _==="function"?_:constant(+_),voronoi):x$$1};voronoi.y=function(_){return arguments.length?(y$$1=typeof _==="function"?_:constant(+_),voronoi):y$$1};voronoi.extent=function(_){return arguments.length?(extent=_==null?null:[[+_[0][0],+_[0][1]],[+_[1][0],+_[1][1]]],voronoi):extent&&[[extent[0][0],extent[0][1]],[extent[1][0],extent[1][1]]]};voronoi.size=function(_){return arguments.length?(extent=_==null?null:[[0,0],[+_[0],+_[1]]],voronoi):extent&&[extent[1][0]-extent[0][0],extent[1][1]-extent[0][1]]};return voronoi}exports.voronoi=voronoi;Object.defineProperty(exports,"__esModule",{value:true})})},{}],19:[function(require,module,exports){var pSlice=Array.prototype.slice;var objectKeys=require("./lib/keys.js");var isArguments=require("./lib/is_arguments.js");var deepEqual=module.exports=function(actual,expected,opts){if(!opts)opts={};if(actual===expected){return true}else if(actual instanceof Date&&expected instanceof Date){return actual.getTime()===expected.getTime()}else if(!actual||!expected||typeof actual!="object"&&typeof expected!="object"){return opts.strict?actual===expected:actual==expected}else{return objEquiv(actual,expected,opts)}};function isUndefinedOrNull(value){return value===null||value===undefined}function isBuffer(x){if(!x||typeof x!=="object"||typeof x.length!=="number")return false;if(typeof x.copy!=="function"||typeof x.slice!=="function"){return false}if(x.length>0&&typeof x[0]!=="number")return false;return true}function objEquiv(a,b,opts){var i,key;if(isUndefinedOrNull(a)||isUndefinedOrNull(b))return false;if(a.prototype!==b.prototype)return false;if(isArguments(a)){if(!isArguments(b)){return false}a=pSlice.call(a);b=pSlice.call(b);return deepEqual(a,b,opts)}if(isBuffer(a)){if(!isBuffer(b)){return false}if(a.length!==b.length)return false;for(i=0;i<a.length;i++){if(a[i]!==b[i])return false}return true}try{var ka=objectKeys(a),kb=objectKeys(b)}catch(e){return false}if(ka.length!=kb.length)return false;ka.sort();kb.sort();for(i=ka.length-1;i>=0;i--){if(ka[i]!=kb[i])return false}for(i=ka.length-1;i>=0;i--){key=ka[i];if(!deepEqual(a[key],b[key],opts))return false}return typeof a===typeof b}},{"./lib/is_arguments.js":20,"./lib/keys.js":21}],20:[function(require,module,exports){var supportsArgumentsClass=function(){return Object.prototype.toString.call(arguments)}()=="[object Arguments]";exports=module.exports=supportsArgumentsClass?supported:unsupported;exports.supported=supported;function supported(object){return Object.prototype.toString.call(object)=="[object Arguments]"}exports.unsupported=unsupported;function unsupported(object){return object&&typeof object=="object"&&typeof object.length=="number"&&Object.prototype.hasOwnProperty.call(object,"callee")&&!Object.prototype.propertyIsEnumerable.call(object,"callee")||false}},{}],21:[function(require,module,exports){exports=module.exports=typeof Object.keys==="function"?Object.keys:shim;exports.shim=shim;function shim(obj){var keys=[];for(var key in obj)keys.push(key);return keys}},{}],22:[function(require,module,exports){"use strict";function makeEmptyFunction(arg){return function(){return arg}}var emptyFunction=function emptyFunction(){};emptyFunction.thatReturns=makeEmptyFunction;emptyFunction.thatReturnsFalse=makeEmptyFunction(false);emptyFunction.thatReturnsTrue=makeEmptyFunction(true);emptyFunction.thatReturnsNull=makeEmptyFunction(null);emptyFunction.thatReturnsThis=function(){return this};emptyFunction.thatReturnsArgument=function(arg){return arg};module.exports=emptyFunction},{}],23:[function(require,module,exports){(function(process){"use strict";var emptyObject={};if(process.env.NODE_ENV!=="production"){Object.freeze(emptyObject)}module.exports=emptyObject}).call(this,require("_process"))},{_process:1}],24:[function(require,module,exports){(function(process){"use strict";var validateFormat=function validateFormat(format){};if(process.env.NODE_ENV!=="production"){validateFormat=function validateFormat(format){if(format===undefined){throw new Error("invariant requires an error message argument")}}}function invariant(condition,format,a,b,c,d,e,f){validateFormat(format);if(!condition){var error;if(format===undefined){error=new Error("Minified exception occurred; use the non-minified dev environment "+"for the full error message and additional helpful warnings.")}else{var args=[a,b,c,d,e,f];var argIndex=0;error=new Error(format.replace(/%s/g,function(){return args[argIndex++]}));error.name="Invariant Violation"}error.framesToPop=1;throw error}}module.exports=invariant}).call(this,require("_process"))},{_process:1}],25:[function(require,module,exports){(function(process){"use strict";var emptyFunction=require("./emptyFunction");var warning=emptyFunction;if(process.env.NODE_ENV!=="production"){var printWarning=function printWarning(format){for(var _len=arguments.length,args=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}var argIndex=0;var message="Warning: "+format.replace(/%s/g,function(){return args[argIndex++]});if(typeof console!=="undefined"){console.error(message)}try{throw new Error(message)}catch(x){}};warning=function warning(condition,format){if(format===undefined){throw new Error("`warning(condition, format, ...args)` requires a warning "+"message argument")}if(format.indexOf("Failed Composite propType: ")===0){return}if(!condition){for(var _len2=arguments.length,args=Array(_len2>2?_len2-2:0),_key2=2;_key2<_len2;_key2++){args[_key2-2]=arguments[_key2]}printWarning.apply(undefined,[format].concat(args))}}}module.exports=warning}).call(this,require("_process"))},{"./emptyFunction":22,_process:1}],26:[function(require,module,exports){(function(global){var win;if(typeof window!=="undefined"){win=window}else if(typeof global!=="undefined"){win=global}else if(typeof self!=="undefined"){win=self}else{win={}}module.exports=win}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}],27:[function(require,module,exports){"use strict";var getOwnPropertySymbols=Object.getOwnPropertySymbols;var hasOwnProperty=Object.prototype.hasOwnProperty;var propIsEnumerable=Object.prototype.propertyIsEnumerable;function toObject(val){if(val===null||val===undefined){throw new TypeError("Object.assign cannot be called with null or undefined")}return Object(val)}function shouldUseNative(){try{if(!Object.assign){return false}var test1=new String("abc");test1[5]="de";if(Object.getOwnPropertyNames(test1)[0]==="5"){return false}var test2={};for(var i=0;i<10;i++){test2["_"+String.fromCharCode(i)]=i}var order2=Object.getOwnPropertyNames(test2).map(function(n){return test2[n]});if(order2.join("")!=="0123456789"){return false}var test3={};"abcdefghijklmnopqrst".split("").forEach(function(letter){test3[letter]=letter});if(Object.keys(Object.assign({},test3)).join("")!=="abcdefghijklmnopqrst"){return false}return true}catch(err){return false}}module.exports=shouldUseNative()?Object.assign:function(target,source){var from;var to=toObject(target);var symbols;for(var s=1;s<arguments.length;s++){from=Object(arguments[s]);for(var key in from){if(hasOwnProperty.call(from,key)){to[key]=from[key]}}if(getOwnPropertySymbols){symbols=getOwnPropertySymbols(from);for(var i=0;i<symbols.length;i++){if(propIsEnumerable.call(from,symbols[i])){to[symbols[i]]=from[symbols[i]]}}}}return to}},{}],28:[function(require,module,exports){(function(process){(function(){var getNanoSeconds,hrtime,loadTime;if(typeof performance!=="undefined"&&performance!==null&&performance.now){module.exports=function(){return performance.now()}}else if(typeof process!=="undefined"&&process!==null&&process.hrtime){module.exports=function(){return(getNanoSeconds()-loadTime)/1e6};hrtime=process.hrtime;getNanoSeconds=function(){var hr;hr=hrtime();return hr[0]*1e9+hr[1]};loadTime=getNanoSeconds()}else if(Date.now){module.exports=function(){return Date.now()-loadTime};loadTime=Date.now()}else{module.exports=function(){return(new Date).getTime()-loadTime};loadTime=(new Date).getTime()}}).call(this)}).call(this,require("_process"))},{_process:1}],29:[function(require,module,exports){(function(process){"use strict";var printWarning=function(){};if(process.env.NODE_ENV!=="production"){var ReactPropTypesSecret=require("./lib/ReactPropTypesSecret");var loggedTypeFailures={};var has=Function.call.bind(Object.prototype.hasOwnProperty);printWarning=function(text){var message="Warning: "+text;if(typeof console!=="undefined"){console.error(message)}try{throw new Error(message)}catch(x){}}}function checkPropTypes(typeSpecs,values,location,componentName,getStack){if(process.env.NODE_ENV!=="production"){for(var typeSpecName in typeSpecs){if(has(typeSpecs,typeSpecName)){var error;try{if(typeof typeSpecs[typeSpecName]!=="function"){var err=Error((componentName||"React class")+": "+location+" type `"+typeSpecName+"` is invalid; "+"it must be a function, usually from the `prop-types` package, but received `"+typeof typeSpecs[typeSpecName]+"`.");err.name="Invariant Violation";throw err}error=typeSpecs[typeSpecName](values,typeSpecName,componentName,location,null,ReactPropTypesSecret)}catch(ex){error=ex}if(error&&!(error instanceof Error)){printWarning((componentName||"React class")+": type specification of "+location+" `"+typeSpecName+"` is invalid; the type checker "+"function must return `null` or an `Error` but returned a "+typeof error+". "+"You may have forgotten to pass an argument to the type checker "+"creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and "+"shape all require an argument).")}if(error instanceof Error&&!(error.message in loggedTypeFailures)){loggedTypeFailures[error.message]=true;var stack=getStack?getStack():"";printWarning("Failed "+location+" type: "+error.message+(stack!=null?stack:""))}}}}}checkPropTypes.resetWarningCache=function(){if(process.env.NODE_ENV!=="production"){loggedTypeFailures={}}};module.exports=checkPropTypes}).call(this,require("_process"))},{"./lib/ReactPropTypesSecret":34,_process:1}],30:[function(require,module,exports){"use strict";var factory=require("./factoryWithTypeCheckers");module.exports=function(isValidElement){var throwOnDirectAccess=false;return factory(isValidElement,throwOnDirectAccess)}},{"./factoryWithTypeCheckers":32}],31:[function(require,module,exports){"use strict";var ReactPropTypesSecret=require("./lib/ReactPropTypesSecret");function emptyFunction(){}function emptyFunctionWithReset(){}emptyFunctionWithReset.resetWarningCache=emptyFunction;module.exports=function(){function shim(props,propName,componentName,location,propFullName,secret){if(secret===ReactPropTypesSecret){return}var err=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. "+"Use PropTypes.checkPropTypes() to call them. "+"Read more at http://fb.me/use-check-prop-types");err.name="Invariant Violation";throw err}shim.isRequired=shim;function getShim(){return shim}var ReactPropTypes={array:shim,bool:shim,func:shim,number:shim,object:shim,string:shim,symbol:shim,any:shim,arrayOf:getShim,element:shim,elementType:shim,instanceOf:getShim,node:shim,objectOf:getShim,oneOf:getShim,oneOfType:getShim,shape:getShim,exact:getShim,checkPropTypes:emptyFunctionWithReset,resetWarningCache:emptyFunction};ReactPropTypes.PropTypes=ReactPropTypes;return ReactPropTypes}},{"./lib/ReactPropTypesSecret":34}],32:[function(require,module,exports){(function(process){"use strict";var ReactIs=require("react-is");var assign=require("object-assign");var ReactPropTypesSecret=require("./lib/ReactPropTypesSecret");var checkPropTypes=require("./checkPropTypes");var has=Function.call.bind(Object.prototype.hasOwnProperty);var printWarning=function(){};if(process.env.NODE_ENV!=="production"){printWarning=function(text){var message="Warning: "+text;if(typeof console!=="undefined"){console.error(message)}try{throw new Error(message)}catch(x){}}}function emptyFunctionThatReturnsNull(){return null}module.exports=function(isValidElement,throwOnDirectAccess){var ITERATOR_SYMBOL=typeof Symbol==="function"&&Symbol.iterator;var FAUX_ITERATOR_SYMBOL="@@iterator";function getIteratorFn(maybeIterable){var iteratorFn=maybeIterable&&(ITERATOR_SYMBOL&&maybeIterable[ITERATOR_SYMBOL]||maybeIterable[FAUX_ITERATOR_SYMBOL]);if(typeof iteratorFn==="function"){return iteratorFn}}var ANONYMOUS="<<anonymous>>";var ReactPropTypes={array:createPrimitiveTypeChecker("array"),bool:createPrimitiveTypeChecker("boolean"),func:createPrimitiveTypeChecker("function"),number:createPrimitiveTypeChecker("number"),object:createPrimitiveTypeChecker("object"),string:createPrimitiveTypeChecker("string"),symbol:createPrimitiveTypeChecker("symbol"),any:createAnyTypeChecker(),arrayOf:createArrayOfTypeChecker,element:createElementTypeChecker(),elementType:createElementTypeTypeChecker(),instanceOf:createInstanceTypeChecker,node:createNodeChecker(),objectOf:createObjectOfTypeChecker,oneOf:createEnumTypeChecker,oneOfType:createUnionTypeChecker,shape:createShapeTypeChecker,exact:createStrictShapeTypeChecker};function is(x,y){if(x===y){return x!==0||1/x===1/y}else{return x!==x&&y!==y}}function PropTypeError(message){this.message=message;this.stack=""}PropTypeError.prototype=Error.prototype;function createChainableTypeChecker(validate){if(process.env.NODE_ENV!=="production"){var manualPropTypeCallCache={};var manualPropTypeWarningCount=0}function checkType(isRequired,props,propName,componentName,location,propFullName,secret){componentName=componentName||ANONYMOUS;propFullName=propFullName||propName;if(secret!==ReactPropTypesSecret){if(throwOnDirectAccess){var err=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. "+"Use `PropTypes.checkPropTypes()` to call them. "+"Read more at http://fb.me/use-check-prop-types");err.name="Invariant Violation";throw err}else if(process.env.NODE_ENV!=="production"&&typeof console!=="undefined"){var cacheKey=componentName+":"+propName;if(!manualPropTypeCallCache[cacheKey]&&manualPropTypeWarningCount<3){printWarning("You are manually calling a React.PropTypes validation "+"function for the `"+propFullName+"` prop on `"+componentName+"`. This is deprecated "+"and will throw in the standalone `prop-types` package. "+"You may be seeing this warning due to a third-party PropTypes "+"library. See https://fb.me/react-warning-dont-call-proptypes "+"for details.");manualPropTypeCallCache[cacheKey]=true;manualPropTypeWarningCount++}}}if(props[propName]==null){if(isRequired){if(props[propName]===null){return new PropTypeError("The "+location+" `"+propFullName+"` is marked as required "+("in `"+componentName+"`, but its value is `null`."))}return new PropTypeError("The "+location+" `"+propFullName+"` is marked as required in "+("`"+componentName+"`, but its value is `undefined`."))}return null}else{return validate(props,propName,componentName,location,propFullName)}}var chainedCheckType=checkType.bind(null,false);chainedCheckType.isRequired=checkType.bind(null,true);return chainedCheckType}function createPrimitiveTypeChecker(expectedType){function validate(props,propName,componentName,location,propFullName,secret){var propValue=props[propName];var propType=getPropType(propValue);if(propType!==expectedType){var preciseType=getPreciseType(propValue);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+preciseType+"` supplied to `"+componentName+"`, expected ")+("`"+expectedType+"`."))}return null}return createChainableTypeChecker(validate)}function createAnyTypeChecker(){return createChainableTypeChecker(emptyFunctionThatReturnsNull)}function createArrayOfTypeChecker(typeChecker){function validate(props,propName,componentName,location,propFullName){if(typeof typeChecker!=="function"){return new PropTypeError("Property `"+propFullName+"` of component `"+componentName+"` has invalid PropType notation inside arrayOf.")}var propValue=props[propName];if(!Array.isArray(propValue)){var propType=getPropType(propValue);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+propType+"` supplied to `"+componentName+"`, expected an array."))}for(var i=0;i<propValue.length;i++){var error=typeChecker(propValue,i,componentName,location,propFullName+"["+i+"]",ReactPropTypesSecret);if(error instanceof Error){return error}}return null}return createChainableTypeChecker(validate)}function createElementTypeChecker(){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName];if(!isValidElement(propValue)){var propType=getPropType(propValue);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+propType+"` supplied to `"+componentName+"`, expected a single ReactElement."))}return null}return createChainableTypeChecker(validate)}function createElementTypeTypeChecker(){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName];if(!ReactIs.isValidElementType(propValue)){var propType=getPropType(propValue);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+propType+"` supplied to `"+componentName+"`, expected a single ReactElement type."))}return null}return createChainableTypeChecker(validate)}function createInstanceTypeChecker(expectedClass){function validate(props,propName,componentName,location,propFullName){if(!(props[propName]instanceof expectedClass)){var expectedClassName=expectedClass.name||ANONYMOUS;var actualClassName=getClassName(props[propName]);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+actualClassName+"` supplied to `"+componentName+"`, expected ")+("instance of `"+expectedClassName+"`."))}return null}return createChainableTypeChecker(validate)}function createEnumTypeChecker(expectedValues){if(!Array.isArray(expectedValues)){if(process.env.NODE_ENV!=="production"){if(arguments.length>1){printWarning("Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. "+"A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).")}else{printWarning("Invalid argument supplied to oneOf, expected an array.")}}return emptyFunctionThatReturnsNull}function validate(props,propName,componentName,location,propFullName){var propValue=props[propName];for(var i=0;i<expectedValues.length;i++){if(is(propValue,expectedValues[i])){return null}}var valuesString=JSON.stringify(expectedValues,function replacer(key,value){var type=getPreciseType(value);if(type==="symbol"){return String(value)}return value});return new PropTypeError("Invalid "+location+" `"+propFullName+"` of value `"+String(propValue)+"` "+("supplied to `"+componentName+"`, expected one of "+valuesString+"."))}return createChainableTypeChecker(validate)}function createObjectOfTypeChecker(typeChecker){function validate(props,propName,componentName,location,propFullName){if(typeof typeChecker!=="function"){return new PropTypeError("Property `"+propFullName+"` of component `"+componentName+"` has invalid PropType notation inside objectOf.")}var propValue=props[propName];var propType=getPropType(propValue);if(propType!=="object"){return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+propType+"` supplied to `"+componentName+"`, expected an object."))}for(var key in propValue){if(has(propValue,key)){var error=typeChecker(propValue,key,componentName,location,propFullName+"."+key,ReactPropTypesSecret);if(error instanceof Error){return error}}}return null}return createChainableTypeChecker(validate)}function createUnionTypeChecker(arrayOfTypeCheckers){if(!Array.isArray(arrayOfTypeCheckers)){process.env.NODE_ENV!=="production"?printWarning("Invalid argument supplied to oneOfType, expected an instance of array."):void 0;return emptyFunctionThatReturnsNull}for(var i=0;i<arrayOfTypeCheckers.length;i++){var checker=arrayOfTypeCheckers[i];if(typeof checker!=="function"){printWarning("Invalid argument supplied to oneOfType. Expected an array of check functions, but "+"received "+getPostfixForTypeWarning(checker)+" at index "+i+".");return emptyFunctionThatReturnsNull}}function validate(props,propName,componentName,location,propFullName){for(var i=0;i<arrayOfTypeCheckers.length;i++){var checker=arrayOfTypeCheckers[i];if(checker(props,propName,componentName,location,propFullName,ReactPropTypesSecret)==null){return null}}return new PropTypeError("Invalid "+location+" `"+propFullName+"` supplied to "+("`"+componentName+"`."))}return createChainableTypeChecker(validate)}function createNodeChecker(){function validate(props,propName,componentName,location,propFullName){if(!isNode(props[propName])){return new PropTypeError("Invalid "+location+" `"+propFullName+"` supplied to "+("`"+componentName+"`, expected a ReactNode."))}return null}return createChainableTypeChecker(validate)}function createShapeTypeChecker(shapeTypes){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName];var propType=getPropType(propValue);if(propType!=="object"){return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type `"+propType+"` "+("supplied to `"+componentName+"`, expected `object`."))}for(var key in shapeTypes){var checker=shapeTypes[key];if(!checker){continue}var error=checker(propValue,key,componentName,location,propFullName+"."+key,ReactPropTypesSecret);if(error){return error}}return null}return createChainableTypeChecker(validate)}function createStrictShapeTypeChecker(shapeTypes){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName];var propType=getPropType(propValue);if(propType!=="object"){return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type `"+propType+"` "+("supplied to `"+componentName+"`, expected `object`."))}var allKeys=assign({},props[propName],shapeTypes);for(var key in allKeys){var checker=shapeTypes[key];if(!checker){return new PropTypeError("Invalid "+location+" `"+propFullName+"` key `"+key+"` supplied to `"+componentName+"`."+"\nBad object: "+JSON.stringify(props[propName],null," ")+"\nValid keys: "+JSON.stringify(Object.keys(shapeTypes),null," "))}var error=checker(propValue,key,componentName,location,propFullName+"."+key,ReactPropTypesSecret);if(error){return error}}return null}return createChainableTypeChecker(validate)}function isNode(propValue){switch(typeof propValue){case"number":case"string":case"undefined":return true;case"boolean":return!propValue;case"object":if(Array.isArray(propValue)){return propValue.every(isNode)}if(propValue===null||isValidElement(propValue)){return true}var iteratorFn=getIteratorFn(propValue);if(iteratorFn){var iterator=iteratorFn.call(propValue);var step;if(iteratorFn!==propValue.entries){while(!(step=iterator.next()).done){if(!isNode(step.value)){return false}}}else{while(!(step=iterator.next()).done){var entry=step.value;if(entry){if(!isNode(entry[1])){return false}}}}}else{return false}return true;default:return false}}function isSymbol(propType,propValue){if(propType==="symbol"){return true}if(!propValue){return false}if(propValue["@@toStringTag"]==="Symbol"){return true}if(typeof Symbol==="function"&&propValue instanceof Symbol){return true}return false}function getPropType(propValue){var propType=typeof propValue;if(Array.isArray(propValue)){return"array"}if(propValue instanceof RegExp){return"object"}if(isSymbol(propType,propValue)){return"symbol"}return propType}function getPreciseType(propValue){if(typeof propValue==="undefined"||propValue===null){return""+propValue}var propType=getPropType(propValue);if(propType==="object"){if(propValue instanceof Date){return"date"}else if(propValue instanceof RegExp){return"regexp"}}return propType}function getPostfixForTypeWarning(value){var type=getPreciseType(value);switch(type){case"array":case"object":return"an "+type;case"boolean":case"date":case"regexp":return"a "+type;default:return type}}function getClassName(propValue){if(!propValue.constructor||!propValue.constructor.name){return ANONYMOUS}return propValue.constructor.name}ReactPropTypes.checkPropTypes=checkPropTypes;ReactPropTypes.resetWarningCache=checkPropTypes.resetWarningCache;ReactPropTypes.PropTypes=ReactPropTypes;return ReactPropTypes}}).call(this,require("_process"))},{"./checkPropTypes":29,"./lib/ReactPropTypesSecret":34,_process:1,"object-assign":27,"react-is":39}],33:[function(require,module,exports){(function(process){if(process.env.NODE_ENV!=="production"){var ReactIs=require("react-is");var throwOnDirectAccess=true;module.exports=require("./factoryWithTypeCheckers")(ReactIs.isElement,throwOnDirectAccess)}else{module.exports=require("./factoryWithThrowingShims")()}}).call(this,require("_process"))},{"./factoryWithThrowingShims":31,"./factoryWithTypeCheckers":32,_process:1,"react-is":39}],34:[function(require,module,exports){"use strict";var ReactPropTypesSecret="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";module.exports=ReactPropTypesSecret},{}],35:[function(require,module,exports){(function(global){var now=require("performance-now"),root=typeof window==="undefined"?global:window,vendors=["moz","webkit"],suffix="AnimationFrame",raf=root["request"+suffix],caf=root["cancel"+suffix]||root["cancelRequest"+suffix];for(var i=0;!raf&&i<vendors.length;i++){raf=root[vendors[i]+"Request"+suffix];caf=root[vendors[i]+"Cancel"+suffix]||root[vendors[i]+"CancelRequest"+suffix]}if(!raf||!caf){var last=0,id=0,queue=[],frameDuration=1e3/60;raf=function(callback){if(queue.length===0){var _now=now(),next=Math.max(0,frameDuration-(_now-last));last=next+_now;setTimeout(function(){var cp=queue.slice(0);queue.length=0;for(var i=0;i<cp.length;i++){if(!cp[i].cancelled){try{cp[i].callback(last)}catch(e){setTimeout(function(){throw e},0)}}}},Math.round(next))}queue.push({handle:++id,callback:callback,cancelled:false});return id};caf=function(handle){for(var i=0;i<queue.length;i++){if(queue[i].handle===handle){queue[i].cancelled=true}}}}module.exports=function(fn){return raf.call(root,fn)};module.exports.cancel=function(){caf.apply(root,arguments)};module.exports.polyfill=function(object){if(!object){object=root}object.requestAnimationFrame=raf;object.cancelAnimationFrame=caf}}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"performance-now":36}],36:[function(require,module,exports){(function(process){(function(){var getNanoSeconds,hrtime,loadTime,moduleLoadTime,nodeLoadTime,upTime;if(typeof performance!=="undefined"&&performance!==null&&performance.now){module.exports=function(){
  10. return performance.now()}}else if(typeof process!=="undefined"&&process!==null&&process.hrtime){module.exports=function(){return(getNanoSeconds()-nodeLoadTime)/1e6};hrtime=process.hrtime;getNanoSeconds=function(){var hr;hr=hrtime();return hr[0]*1e9+hr[1]};moduleLoadTime=getNanoSeconds();upTime=process.uptime()*1e9;nodeLoadTime=moduleLoadTime-upTime}else if(Date.now){module.exports=function(){return Date.now()-loadTime};loadTime=Date.now()}else{module.exports=function(){return(new Date).getTime()-loadTime};loadTime=(new Date).getTime()}}).call(this)}).call(this,require("_process"))},{_process:1}],37:[function(require,module,exports){(function(process){"use strict";if(process.env.NODE_ENV!=="production"){(function(){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var hasSymbol=typeof Symbol==="function"&&Symbol.for;var REACT_ELEMENT_TYPE=hasSymbol?Symbol.for("react.element"):60103;var REACT_PORTAL_TYPE=hasSymbol?Symbol.for("react.portal"):60106;var REACT_FRAGMENT_TYPE=hasSymbol?Symbol.for("react.fragment"):60107;var REACT_STRICT_MODE_TYPE=hasSymbol?Symbol.for("react.strict_mode"):60108;var REACT_PROFILER_TYPE=hasSymbol?Symbol.for("react.profiler"):60114;var REACT_PROVIDER_TYPE=hasSymbol?Symbol.for("react.provider"):60109;var REACT_CONTEXT_TYPE=hasSymbol?Symbol.for("react.context"):60110;var REACT_ASYNC_MODE_TYPE=hasSymbol?Symbol.for("react.async_mode"):60111;var REACT_CONCURRENT_MODE_TYPE=hasSymbol?Symbol.for("react.concurrent_mode"):60111;var REACT_FORWARD_REF_TYPE=hasSymbol?Symbol.for("react.forward_ref"):60112;var REACT_SUSPENSE_TYPE=hasSymbol?Symbol.for("react.suspense"):60113;var REACT_MEMO_TYPE=hasSymbol?Symbol.for("react.memo"):60115;var REACT_LAZY_TYPE=hasSymbol?Symbol.for("react.lazy"):60116;function isValidElementType(type){return typeof type==="string"||typeof type==="function"||type===REACT_FRAGMENT_TYPE||type===REACT_CONCURRENT_MODE_TYPE||type===REACT_PROFILER_TYPE||type===REACT_STRICT_MODE_TYPE||type===REACT_SUSPENSE_TYPE||typeof type==="object"&&type!==null&&(type.$$typeof===REACT_LAZY_TYPE||type.$$typeof===REACT_MEMO_TYPE||type.$$typeof===REACT_PROVIDER_TYPE||type.$$typeof===REACT_CONTEXT_TYPE||type.$$typeof===REACT_FORWARD_REF_TYPE)}var lowPriorityWarning=function(){};{var printWarning=function(format){for(var _len=arguments.length,args=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}var argIndex=0;var message="Warning: "+format.replace(/%s/g,function(){return args[argIndex++]});if(typeof console!=="undefined"){console.warn(message)}try{throw new Error(message)}catch(x){}};lowPriorityWarning=function(condition,format){if(format===undefined){throw new Error("`lowPriorityWarning(condition, format, ...args)` requires a warning "+"message argument")}if(!condition){for(var _len2=arguments.length,args=Array(_len2>2?_len2-2:0),_key2=2;_key2<_len2;_key2++){args[_key2-2]=arguments[_key2]}printWarning.apply(undefined,[format].concat(args))}}}var lowPriorityWarning$1=lowPriorityWarning;function typeOf(object){if(typeof object==="object"&&object!==null){var $$typeof=object.$$typeof;switch($$typeof){case REACT_ELEMENT_TYPE:var type=object.type;switch(type){case REACT_ASYNC_MODE_TYPE:case REACT_CONCURRENT_MODE_TYPE:case REACT_FRAGMENT_TYPE:case REACT_PROFILER_TYPE:case REACT_STRICT_MODE_TYPE:case REACT_SUSPENSE_TYPE:return type;default:var $$typeofType=type&&type.$$typeof;switch($$typeofType){case REACT_CONTEXT_TYPE:case REACT_FORWARD_REF_TYPE:case REACT_PROVIDER_TYPE:return $$typeofType;default:return $$typeof}}case REACT_LAZY_TYPE:case REACT_MEMO_TYPE:case REACT_PORTAL_TYPE:return $$typeof}}return undefined}var AsyncMode=REACT_ASYNC_MODE_TYPE;var ConcurrentMode=REACT_CONCURRENT_MODE_TYPE;var ContextConsumer=REACT_CONTEXT_TYPE;var ContextProvider=REACT_PROVIDER_TYPE;var Element=REACT_ELEMENT_TYPE;var ForwardRef=REACT_FORWARD_REF_TYPE;var Fragment=REACT_FRAGMENT_TYPE;var Lazy=REACT_LAZY_TYPE;var Memo=REACT_MEMO_TYPE;var Portal=REACT_PORTAL_TYPE;var Profiler=REACT_PROFILER_TYPE;var StrictMode=REACT_STRICT_MODE_TYPE;var Suspense=REACT_SUSPENSE_TYPE;var hasWarnedAboutDeprecatedIsAsyncMode=false;function isAsyncMode(object){{if(!hasWarnedAboutDeprecatedIsAsyncMode){hasWarnedAboutDeprecatedIsAsyncMode=true;lowPriorityWarning$1(false,"The ReactIs.isAsyncMode() alias has been deprecated, "+"and will be removed in React 17+. Update your code to use "+"ReactIs.isConcurrentMode() instead. It has the exact same API.")}}return isConcurrentMode(object)||typeOf(object)===REACT_ASYNC_MODE_TYPE}function isConcurrentMode(object){return typeOf(object)===REACT_CONCURRENT_MODE_TYPE}function isContextConsumer(object){return typeOf(object)===REACT_CONTEXT_TYPE}function isContextProvider(object){return typeOf(object)===REACT_PROVIDER_TYPE}function isElement(object){return typeof object==="object"&&object!==null&&object.$$typeof===REACT_ELEMENT_TYPE}function isForwardRef(object){return typeOf(object)===REACT_FORWARD_REF_TYPE}function isFragment(object){return typeOf(object)===REACT_FRAGMENT_TYPE}function isLazy(object){return typeOf(object)===REACT_LAZY_TYPE}function isMemo(object){return typeOf(object)===REACT_MEMO_TYPE}function isPortal(object){return typeOf(object)===REACT_PORTAL_TYPE}function isProfiler(object){return typeOf(object)===REACT_PROFILER_TYPE}function isStrictMode(object){return typeOf(object)===REACT_STRICT_MODE_TYPE}function isSuspense(object){return typeOf(object)===REACT_SUSPENSE_TYPE}exports.typeOf=typeOf;exports.AsyncMode=AsyncMode;exports.ConcurrentMode=ConcurrentMode;exports.ContextConsumer=ContextConsumer;exports.ContextProvider=ContextProvider;exports.Element=Element;exports.ForwardRef=ForwardRef;exports.Fragment=Fragment;exports.Lazy=Lazy;exports.Memo=Memo;exports.Portal=Portal;exports.Profiler=Profiler;exports.StrictMode=StrictMode;exports.Suspense=Suspense;exports.isValidElementType=isValidElementType;exports.isAsyncMode=isAsyncMode;exports.isConcurrentMode=isConcurrentMode;exports.isContextConsumer=isContextConsumer;exports.isContextProvider=isContextProvider;exports.isElement=isElement;exports.isForwardRef=isForwardRef;exports.isFragment=isFragment;exports.isLazy=isLazy;exports.isMemo=isMemo;exports.isPortal=isPortal;exports.isProfiler=isProfiler;exports.isStrictMode=isStrictMode;exports.isSuspense=isSuspense})()}}).call(this,require("_process"))},{_process:1}],38:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var b="function"===typeof Symbol&&Symbol.for,c=b?Symbol.for("react.element"):60103,d=b?Symbol.for("react.portal"):60106,e=b?Symbol.for("react.fragment"):60107,f=b?Symbol.for("react.strict_mode"):60108,g=b?Symbol.for("react.profiler"):60114,h=b?Symbol.for("react.provider"):60109,k=b?Symbol.for("react.context"):60110,l=b?Symbol.for("react.async_mode"):60111,m=b?Symbol.for("react.concurrent_mode"):60111,n=b?Symbol.for("react.forward_ref"):60112,p=b?Symbol.for("react.suspense"):60113,q=b?Symbol.for("react.memo"):60115,r=b?Symbol.for("react.lazy"):60116;function t(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case h:return a;default:return u}}case r:case q:case d:return u}}}function v(a){return t(a)===m}exports.typeOf=t;exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=r;exports.Memo=q;exports.Portal=d;exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isValidElementType=function(a){return"string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f||a===p||"object"===typeof a&&null!==a&&(a.$$typeof===r||a.$$typeof===q||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n)};exports.isAsyncMode=function(a){return v(a)||t(a)===l};exports.isConcurrentMode=v;exports.isContextConsumer=function(a){return t(a)===k};exports.isContextProvider=function(a){return t(a)===h};exports.isElement=function(a){return"object"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return t(a)===n};exports.isFragment=function(a){return t(a)===e};exports.isLazy=function(a){return t(a)===r};exports.isMemo=function(a){return t(a)===q};exports.isPortal=function(a){return t(a)===d};exports.isProfiler=function(a){return t(a)===g};exports.isStrictMode=function(a){return t(a)===f};exports.isSuspense=function(a){return t(a)===p}},{}],39:[function(require,module,exports){(function(process){"use strict";if(process.env.NODE_ENV==="production"){module.exports=require("./cjs/react-is.production.min.js")}else{module.exports=require("./cjs/react-is.development.js")}}).call(this,require("_process"))},{"./cjs/react-is.development.js":37,"./cjs/react-is.production.min.js":38,_process:1}],40:[function(require,module,exports){"use strict";exports.__esModule=true;var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var _mapToZero=require("./mapToZero");var _mapToZero2=_interopRequireDefault(_mapToZero);var _stripStyle=require("./stripStyle");var _stripStyle2=_interopRequireDefault(_stripStyle);var _stepper3=require("./stepper");var _stepper4=_interopRequireDefault(_stepper3);var _performanceNow=require("performance-now");var _performanceNow2=_interopRequireDefault(_performanceNow);var _raf=require("raf");var _raf2=_interopRequireDefault(_raf);var _shouldStopAnimation=require("./shouldStopAnimation");var _shouldStopAnimation2=_interopRequireDefault(_shouldStopAnimation);var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var msPerFrame=1e3/60;var Motion=function(_React$Component){_inherits(Motion,_React$Component);_createClass(Motion,null,[{key:"propTypes",value:{defaultStyle:_propTypes2["default"].objectOf(_propTypes2["default"].number),style:_propTypes2["default"].objectOf(_propTypes2["default"].oneOfType([_propTypes2["default"].number,_propTypes2["default"].object])).isRequired,children:_propTypes2["default"].func.isRequired,onRest:_propTypes2["default"].func},enumerable:true}]);function Motion(props){var _this=this;_classCallCheck(this,Motion);_React$Component.call(this,props);this.wasAnimating=false;this.animationID=null;this.prevTime=0;this.accumulatedTime=0;this.unreadPropStyle=null;this.clearUnreadPropStyle=function(destStyle){var dirty=false;var _state=_this.state;var currentStyle=_state.currentStyle;var currentVelocity=_state.currentVelocity;var lastIdealStyle=_state.lastIdealStyle;var lastIdealVelocity=_state.lastIdealVelocity;for(var key in destStyle){if(!Object.prototype.hasOwnProperty.call(destStyle,key)){continue}var styleValue=destStyle[key];if(typeof styleValue==="number"){if(!dirty){dirty=true;currentStyle=_extends({},currentStyle);currentVelocity=_extends({},currentVelocity);lastIdealStyle=_extends({},lastIdealStyle);lastIdealVelocity=_extends({},lastIdealVelocity)}currentStyle[key]=styleValue;currentVelocity[key]=0;lastIdealStyle[key]=styleValue;lastIdealVelocity[key]=0}}if(dirty){_this.setState({currentStyle:currentStyle,currentVelocity:currentVelocity,lastIdealStyle:lastIdealStyle,lastIdealVelocity:lastIdealVelocity})}};this.startAnimationIfNecessary=function(){_this.animationID=_raf2["default"](function(timestamp){var propsStyle=_this.props.style;if(_shouldStopAnimation2["default"](_this.state.currentStyle,propsStyle,_this.state.currentVelocity)){if(_this.wasAnimating&&_this.props.onRest){_this.props.onRest()}_this.animationID=null;_this.wasAnimating=false;_this.accumulatedTime=0;return}_this.wasAnimating=true;var currentTime=timestamp||_performanceNow2["default"]();var timeDelta=currentTime-_this.prevTime;_this.prevTime=currentTime;_this.accumulatedTime=_this.accumulatedTime+timeDelta;if(_this.accumulatedTime>msPerFrame*10){_this.accumulatedTime=0}if(_this.accumulatedTime===0){_this.animationID=null;_this.startAnimationIfNecessary();return}var currentFrameCompletion=(_this.accumulatedTime-Math.floor(_this.accumulatedTime/msPerFrame)*msPerFrame)/msPerFrame;var framesToCatchUp=Math.floor(_this.accumulatedTime/msPerFrame);var newLastIdealStyle={};var newLastIdealVelocity={};var newCurrentStyle={};var newCurrentVelocity={};for(var key in propsStyle){if(!Object.prototype.hasOwnProperty.call(propsStyle,key)){continue}var styleValue=propsStyle[key];if(typeof styleValue==="number"){newCurrentStyle[key]=styleValue;newCurrentVelocity[key]=0;newLastIdealStyle[key]=styleValue;newLastIdealVelocity[key]=0}else{var newLastIdealStyleValue=_this.state.lastIdealStyle[key];var newLastIdealVelocityValue=_this.state.lastIdealVelocity[key];for(var i=0;i<framesToCatchUp;i++){var _stepper=_stepper4["default"](msPerFrame/1e3,newLastIdealStyleValue,newLastIdealVelocityValue,styleValue.val,styleValue.stiffness,styleValue.damping,styleValue.precision);newLastIdealStyleValue=_stepper[0];newLastIdealVelocityValue=_stepper[1]}var _stepper2=_stepper4["default"](msPerFrame/1e3,newLastIdealStyleValue,newLastIdealVelocityValue,styleValue.val,styleValue.stiffness,styleValue.damping,styleValue.precision);var nextIdealX=_stepper2[0];var nextIdealV=_stepper2[1];newCurrentStyle[key]=newLastIdealStyleValue+(nextIdealX-newLastIdealStyleValue)*currentFrameCompletion;newCurrentVelocity[key]=newLastIdealVelocityValue+(nextIdealV-newLastIdealVelocityValue)*currentFrameCompletion;newLastIdealStyle[key]=newLastIdealStyleValue;newLastIdealVelocity[key]=newLastIdealVelocityValue}}_this.animationID=null;_this.accumulatedTime-=framesToCatchUp*msPerFrame;_this.setState({currentStyle:newCurrentStyle,currentVelocity:newCurrentVelocity,lastIdealStyle:newLastIdealStyle,lastIdealVelocity:newLastIdealVelocity});_this.unreadPropStyle=null;_this.startAnimationIfNecessary()})};this.state=this.defaultState()}Motion.prototype.defaultState=function defaultState(){var _props=this.props;var defaultStyle=_props.defaultStyle;var style=_props.style;var currentStyle=defaultStyle||_stripStyle2["default"](style);var currentVelocity=_mapToZero2["default"](currentStyle);return{currentStyle:currentStyle,currentVelocity:currentVelocity,lastIdealStyle:currentStyle,lastIdealVelocity:currentVelocity}};Motion.prototype.componentDidMount=function componentDidMount(){this.prevTime=_performanceNow2["default"]();this.startAnimationIfNecessary()};Motion.prototype.componentWillReceiveProps=function componentWillReceiveProps(props){if(this.unreadPropStyle!=null){this.clearUnreadPropStyle(this.unreadPropStyle)}this.unreadPropStyle=props.style;if(this.animationID==null){this.prevTime=_performanceNow2["default"]();this.startAnimationIfNecessary()}};Motion.prototype.componentWillUnmount=function componentWillUnmount(){if(this.animationID!=null){_raf2["default"].cancel(this.animationID);this.animationID=null}};Motion.prototype.render=function render(){var renderedChildren=this.props.children(this.state.currentStyle);return renderedChildren&&_react2["default"].Children.only(renderedChildren)};return Motion}(_react2["default"].Component);exports["default"]=Motion;module.exports=exports["default"]},{"./mapToZero":43,"./shouldStopAnimation":48,"./stepper":50,"./stripStyle":51,"performance-now":28,"prop-types":33,raf:35,react:76}],41:[function(require,module,exports){"use strict";exports.__esModule=true;var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var _mapToZero=require("./mapToZero");var _mapToZero2=_interopRequireDefault(_mapToZero);var _stripStyle=require("./stripStyle");var _stripStyle2=_interopRequireDefault(_stripStyle);var _stepper3=require("./stepper");var _stepper4=_interopRequireDefault(_stepper3);var _performanceNow=require("performance-now");var _performanceNow2=_interopRequireDefault(_performanceNow);var _raf=require("raf");var _raf2=_interopRequireDefault(_raf);var _shouldStopAnimation=require("./shouldStopAnimation");var _shouldStopAnimation2=_interopRequireDefault(_shouldStopAnimation);var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var msPerFrame=1e3/60;function shouldStopAnimationAll(currentStyles,styles,currentVelocities){for(var i=0;i<currentStyles.length;i++){if(!_shouldStopAnimation2["default"](currentStyles[i],styles[i],currentVelocities[i])){return false}}return true}var StaggeredMotion=function(_React$Component){_inherits(StaggeredMotion,_React$Component);_createClass(StaggeredMotion,null,[{key:"propTypes",value:{defaultStyles:_propTypes2["default"].arrayOf(_propTypes2["default"].objectOf(_propTypes2["default"].number)),styles:_propTypes2["default"].func.isRequired,children:_propTypes2["default"].func.isRequired},enumerable:true}]);function StaggeredMotion(props){var _this=this;_classCallCheck(this,StaggeredMotion);_React$Component.call(this,props);this.animationID=null;this.prevTime=0;this.accumulatedTime=0;this.unreadPropStyles=null;this.clearUnreadPropStyle=function(unreadPropStyles){var _state=_this.state;var currentStyles=_state.currentStyles;var currentVelocities=_state.currentVelocities;var lastIdealStyles=_state.lastIdealStyles;var lastIdealVelocities=_state.lastIdealVelocities;var someDirty=false;for(var i=0;i<unreadPropStyles.length;i++){var unreadPropStyle=unreadPropStyles[i];var dirty=false;for(var key in unreadPropStyle){if(!Object.prototype.hasOwnProperty.call(unreadPropStyle,key)){continue}var styleValue=unreadPropStyle[key];if(typeof styleValue==="number"){if(!dirty){dirty=true;someDirty=true;currentStyles[i]=_extends({},currentStyles[i]);currentVelocities[i]=_extends({},currentVelocities[i]);lastIdealStyles[i]=_extends({},lastIdealStyles[i]);lastIdealVelocities[i]=_extends({},lastIdealVelocities[i])}currentStyles[i][key]=styleValue;currentVelocities[i][key]=0;lastIdealStyles[i][key]=styleValue;lastIdealVelocities[i][key]=0}}}if(someDirty){_this.setState({currentStyles:currentStyles,currentVelocities:currentVelocities,lastIdealStyles:lastIdealStyles,lastIdealVelocities:lastIdealVelocities})}};this.startAnimationIfNecessary=function(){_this.animationID=_raf2["default"](function(timestamp){var destStyles=_this.props.styles(_this.state.lastIdealStyles);if(shouldStopAnimationAll(_this.state.currentStyles,destStyles,_this.state.currentVelocities)){_this.animationID=null;_this.accumulatedTime=0;return}var currentTime=timestamp||_performanceNow2["default"]();var timeDelta=currentTime-_this.prevTime;_this.prevTime=currentTime;_this.accumulatedTime=_this.accumulatedTime+timeDelta;if(_this.accumulatedTime>msPerFrame*10){_this.accumulatedTime=0}if(_this.accumulatedTime===0){_this.animationID=null;_this.startAnimationIfNecessary();return}var currentFrameCompletion=(_this.accumulatedTime-Math.floor(_this.accumulatedTime/msPerFrame)*msPerFrame)/msPerFrame;var framesToCatchUp=Math.floor(_this.accumulatedTime/msPerFrame);var newLastIdealStyles=[];var newLastIdealVelocities=[];var newCurrentStyles=[];var newCurrentVelocities=[];for(var i=0;i<destStyles.length;i++){var destStyle=destStyles[i];var newCurrentStyle={};var newCurrentVelocity={};var newLastIdealStyle={};var newLastIdealVelocity={};for(var key in destStyle){if(!Object.prototype.hasOwnProperty.call(destStyle,key)){continue}var styleValue=destStyle[key];if(typeof styleValue==="number"){newCurrentStyle[key]=styleValue;newCurrentVelocity[key]=0;newLastIdealStyle[key]=styleValue;newLastIdealVelocity[key]=0}else{var newLastIdealStyleValue=_this.state.lastIdealStyles[i][key];var newLastIdealVelocityValue=_this.state.lastIdealVelocities[i][key];for(var j=0;j<framesToCatchUp;j++){var _stepper=_stepper4["default"](msPerFrame/1e3,newLastIdealStyleValue,newLastIdealVelocityValue,styleValue.val,styleValue.stiffness,styleValue.damping,styleValue.precision);newLastIdealStyleValue=_stepper[0];newLastIdealVelocityValue=_stepper[1]}var _stepper2=_stepper4["default"](msPerFrame/1e3,newLastIdealStyleValue,newLastIdealVelocityValue,styleValue.val,styleValue.stiffness,styleValue.damping,styleValue.precision);var nextIdealX=_stepper2[0];var nextIdealV=_stepper2[1];newCurrentStyle[key]=newLastIdealStyleValue+(nextIdealX-newLastIdealStyleValue)*currentFrameCompletion;newCurrentVelocity[key]=newLastIdealVelocityValue+(nextIdealV-newLastIdealVelocityValue)*currentFrameCompletion;newLastIdealStyle[key]=newLastIdealStyleValue;newLastIdealVelocity[key]=newLastIdealVelocityValue}}newCurrentStyles[i]=newCurrentStyle;newCurrentVelocities[i]=newCurrentVelocity;newLastIdealStyles[i]=newLastIdealStyle;newLastIdealVelocities[i]=newLastIdealVelocity}_this.animationID=null;_this.accumulatedTime-=framesToCatchUp*msPerFrame;_this.setState({currentStyles:newCurrentStyles,currentVelocities:newCurrentVelocities,lastIdealStyles:newLastIdealStyles,lastIdealVelocities:newLastIdealVelocities});_this.unreadPropStyles=null;_this.startAnimationIfNecessary()})};this.state=this.defaultState()}StaggeredMotion.prototype.defaultState=function defaultState(){var _props=this.props;var defaultStyles=_props.defaultStyles;var styles=_props.styles;var currentStyles=defaultStyles||styles().map(_stripStyle2["default"]);var currentVelocities=currentStyles.map(function(currentStyle){return _mapToZero2["default"](currentStyle)});return{currentStyles:currentStyles,currentVelocities:currentVelocities,lastIdealStyles:currentStyles,lastIdealVelocities:currentVelocities}};StaggeredMotion.prototype.componentDidMount=function componentDidMount(){this.prevTime=_performanceNow2["default"]();this.startAnimationIfNecessary()};StaggeredMotion.prototype.componentWillReceiveProps=function componentWillReceiveProps(props){if(this.unreadPropStyles!=null){this.clearUnreadPropStyle(this.unreadPropStyles)}this.unreadPropStyles=props.styles(this.state.lastIdealStyles);if(this.animationID==null){this.prevTime=_performanceNow2["default"]();this.startAnimationIfNecessary()}};StaggeredMotion.prototype.componentWillUnmount=function componentWillUnmount(){if(this.animationID!=null){_raf2["default"].cancel(this.animationID);this.animationID=null}};StaggeredMotion.prototype.render=function render(){var renderedChildren=this.props.children(this.state.currentStyles);return renderedChildren&&_react2["default"].Children.only(renderedChildren)};return StaggeredMotion}(_react2["default"].Component);exports["default"]=StaggeredMotion;module.exports=exports["default"]},{"./mapToZero":43,"./shouldStopAnimation":48,"./stepper":50,"./stripStyle":51,"performance-now":28,"prop-types":33,raf:35,react:76}],42:[function(require,module,exports){"use strict";exports.__esModule=true;var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var _mapToZero=require("./mapToZero");var _mapToZero2=_interopRequireDefault(_mapToZero);var _stripStyle=require("./stripStyle");var _stripStyle2=_interopRequireDefault(_stripStyle);var _stepper3=require("./stepper");var _stepper4=_interopRequireDefault(_stepper3);var _mergeDiff=require("./mergeDiff");var _mergeDiff2=_interopRequireDefault(_mergeDiff);var _performanceNow=require("performance-now");var _performanceNow2=_interopRequireDefault(_performanceNow);var _raf=require("raf");var _raf2=_interopRequireDefault(_raf);var _shouldStopAnimation=require("./shouldStopAnimation");var _shouldStopAnimation2=_interopRequireDefault(_shouldStopAnimation);var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var msPerFrame=1e3/60;function rehydrateStyles(mergedPropsStyles,unreadPropStyles,plainStyles){var cUnreadPropStyles=unreadPropStyles;if(cUnreadPropStyles==null){return mergedPropsStyles.map(function(mergedPropsStyle,i){return{key:mergedPropsStyle.key,data:mergedPropsStyle.data,style:plainStyles[i]}})}return mergedPropsStyles.map(function(mergedPropsStyle,i){for(var j=0;j<cUnreadPropStyles.length;j++){if(cUnreadPropStyles[j].key===mergedPropsStyle.key){return{key:cUnreadPropStyles[j].key,data:cUnreadPropStyles[j].data,style:plainStyles[i]}}}return{key:mergedPropsStyle.key,data:mergedPropsStyle.data,style:plainStyles[i]}})}function shouldStopAnimationAll(currentStyles,destStyles,currentVelocities,mergedPropsStyles){if(mergedPropsStyles.length!==destStyles.length){return false}for(var i=0;i<mergedPropsStyles.length;i++){if(mergedPropsStyles[i].key!==destStyles[i].key){return false}}for(var i=0;i<mergedPropsStyles.length;i++){if(!_shouldStopAnimation2["default"](currentStyles[i],destStyles[i].style,currentVelocities[i])){return false}}return true}function mergeAndSync(willEnter,willLeave,didLeave,oldMergedPropsStyles,destStyles,oldCurrentStyles,oldCurrentVelocities,oldLastIdealStyles,oldLastIdealVelocities){var newMergedPropsStyles=_mergeDiff2["default"](oldMergedPropsStyles,destStyles,function(oldIndex,oldMergedPropsStyle){var leavingStyle=willLeave(oldMergedPropsStyle);if(leavingStyle==null){didLeave({key:oldMergedPropsStyle.key,data:oldMergedPropsStyle.data});return null}if(_shouldStopAnimation2["default"](oldCurrentStyles[oldIndex],leavingStyle,oldCurrentVelocities[oldIndex])){didLeave({key:oldMergedPropsStyle.key,data:oldMergedPropsStyle.data});return null}return{key:oldMergedPropsStyle.key,data:oldMergedPropsStyle.data,style:leavingStyle}});var newCurrentStyles=[];var newCurrentVelocities=[];var newLastIdealStyles=[];var newLastIdealVelocities=[];for(var i=0;i<newMergedPropsStyles.length;i++){var newMergedPropsStyleCell=newMergedPropsStyles[i];var foundOldIndex=null;for(var j=0;j<oldMergedPropsStyles.length;j++){if(oldMergedPropsStyles[j].key===newMergedPropsStyleCell.key){foundOldIndex=j;break}}if(foundOldIndex==null){var plainStyle=willEnter(newMergedPropsStyleCell);newCurrentStyles[i]=plainStyle;newLastIdealStyles[i]=plainStyle;var velocity=_mapToZero2["default"](newMergedPropsStyleCell.style);newCurrentVelocities[i]=velocity;newLastIdealVelocities[i]=velocity}else{newCurrentStyles[i]=oldCurrentStyles[foundOldIndex];newLastIdealStyles[i]=oldLastIdealStyles[foundOldIndex];newCurrentVelocities[i]=oldCurrentVelocities[foundOldIndex];newLastIdealVelocities[i]=oldLastIdealVelocities[foundOldIndex]}}return[newMergedPropsStyles,newCurrentStyles,newCurrentVelocities,newLastIdealStyles,newLastIdealVelocities]}var TransitionMotion=function(_React$Component){_inherits(TransitionMotion,_React$Component);_createClass(TransitionMotion,null,[{key:"propTypes",value:{defaultStyles:_propTypes2["default"].arrayOf(_propTypes2["default"].shape({key:_propTypes2["default"].string.isRequired,data:_propTypes2["default"].any,style:_propTypes2["default"].objectOf(_propTypes2["default"].number).isRequired})),styles:_propTypes2["default"].oneOfType([_propTypes2["default"].func,_propTypes2["default"].arrayOf(_propTypes2["default"].shape({key:_propTypes2["default"].string.isRequired,data:_propTypes2["default"].any,style:_propTypes2["default"].objectOf(_propTypes2["default"].oneOfType([_propTypes2["default"].number,_propTypes2["default"].object])).isRequired}))]).isRequired,children:_propTypes2["default"].func.isRequired,willEnter:_propTypes2["default"].func,willLeave:_propTypes2["default"].func,didLeave:_propTypes2["default"].func},enumerable:true},{key:"defaultProps",value:{willEnter:function willEnter(styleThatEntered){return _stripStyle2["default"](styleThatEntered.style)},willLeave:function willLeave(){return null},didLeave:function didLeave(){}},enumerable:true}]);function TransitionMotion(props){var _this=this;_classCallCheck(this,TransitionMotion);_React$Component.call(this,props);this.unmounting=false;this.animationID=null;this.prevTime=0;this.accumulatedTime=0;this.unreadPropStyles=null;this.clearUnreadPropStyle=function(unreadPropStyles){var _mergeAndSync=mergeAndSync(_this.props.willEnter,_this.props.willLeave,_this.props.didLeave,_this.state.mergedPropsStyles,unreadPropStyles,_this.state.currentStyles,_this.state.currentVelocities,_this.state.lastIdealStyles,_this.state.lastIdealVelocities);var mergedPropsStyles=_mergeAndSync[0];var currentStyles=_mergeAndSync[1];var currentVelocities=_mergeAndSync[2]
  11. ;var lastIdealStyles=_mergeAndSync[3];var lastIdealVelocities=_mergeAndSync[4];for(var i=0;i<unreadPropStyles.length;i++){var unreadPropStyle=unreadPropStyles[i].style;var dirty=false;for(var key in unreadPropStyle){if(!Object.prototype.hasOwnProperty.call(unreadPropStyle,key)){continue}var styleValue=unreadPropStyle[key];if(typeof styleValue==="number"){if(!dirty){dirty=true;currentStyles[i]=_extends({},currentStyles[i]);currentVelocities[i]=_extends({},currentVelocities[i]);lastIdealStyles[i]=_extends({},lastIdealStyles[i]);lastIdealVelocities[i]=_extends({},lastIdealVelocities[i]);mergedPropsStyles[i]={key:mergedPropsStyles[i].key,data:mergedPropsStyles[i].data,style:_extends({},mergedPropsStyles[i].style)}}currentStyles[i][key]=styleValue;currentVelocities[i][key]=0;lastIdealStyles[i][key]=styleValue;lastIdealVelocities[i][key]=0;mergedPropsStyles[i].style[key]=styleValue}}}_this.setState({currentStyles:currentStyles,currentVelocities:currentVelocities,mergedPropsStyles:mergedPropsStyles,lastIdealStyles:lastIdealStyles,lastIdealVelocities:lastIdealVelocities})};this.startAnimationIfNecessary=function(){if(_this.unmounting){return}_this.animationID=_raf2["default"](function(timestamp){if(_this.unmounting){return}var propStyles=_this.props.styles;var destStyles=typeof propStyles==="function"?propStyles(rehydrateStyles(_this.state.mergedPropsStyles,_this.unreadPropStyles,_this.state.lastIdealStyles)):propStyles;if(shouldStopAnimationAll(_this.state.currentStyles,destStyles,_this.state.currentVelocities,_this.state.mergedPropsStyles)){_this.animationID=null;_this.accumulatedTime=0;return}var currentTime=timestamp||_performanceNow2["default"]();var timeDelta=currentTime-_this.prevTime;_this.prevTime=currentTime;_this.accumulatedTime=_this.accumulatedTime+timeDelta;if(_this.accumulatedTime>msPerFrame*10){_this.accumulatedTime=0}if(_this.accumulatedTime===0){_this.animationID=null;_this.startAnimationIfNecessary();return}var currentFrameCompletion=(_this.accumulatedTime-Math.floor(_this.accumulatedTime/msPerFrame)*msPerFrame)/msPerFrame;var framesToCatchUp=Math.floor(_this.accumulatedTime/msPerFrame);var _mergeAndSync2=mergeAndSync(_this.props.willEnter,_this.props.willLeave,_this.props.didLeave,_this.state.mergedPropsStyles,destStyles,_this.state.currentStyles,_this.state.currentVelocities,_this.state.lastIdealStyles,_this.state.lastIdealVelocities);var newMergedPropsStyles=_mergeAndSync2[0];var newCurrentStyles=_mergeAndSync2[1];var newCurrentVelocities=_mergeAndSync2[2];var newLastIdealStyles=_mergeAndSync2[3];var newLastIdealVelocities=_mergeAndSync2[4];for(var i=0;i<newMergedPropsStyles.length;i++){var newMergedPropsStyle=newMergedPropsStyles[i].style;var newCurrentStyle={};var newCurrentVelocity={};var newLastIdealStyle={};var newLastIdealVelocity={};for(var key in newMergedPropsStyle){if(!Object.prototype.hasOwnProperty.call(newMergedPropsStyle,key)){continue}var styleValue=newMergedPropsStyle[key];if(typeof styleValue==="number"){newCurrentStyle[key]=styleValue;newCurrentVelocity[key]=0;newLastIdealStyle[key]=styleValue;newLastIdealVelocity[key]=0}else{var newLastIdealStyleValue=newLastIdealStyles[i][key];var newLastIdealVelocityValue=newLastIdealVelocities[i][key];for(var j=0;j<framesToCatchUp;j++){var _stepper=_stepper4["default"](msPerFrame/1e3,newLastIdealStyleValue,newLastIdealVelocityValue,styleValue.val,styleValue.stiffness,styleValue.damping,styleValue.precision);newLastIdealStyleValue=_stepper[0];newLastIdealVelocityValue=_stepper[1]}var _stepper2=_stepper4["default"](msPerFrame/1e3,newLastIdealStyleValue,newLastIdealVelocityValue,styleValue.val,styleValue.stiffness,styleValue.damping,styleValue.precision);var nextIdealX=_stepper2[0];var nextIdealV=_stepper2[1];newCurrentStyle[key]=newLastIdealStyleValue+(nextIdealX-newLastIdealStyleValue)*currentFrameCompletion;newCurrentVelocity[key]=newLastIdealVelocityValue+(nextIdealV-newLastIdealVelocityValue)*currentFrameCompletion;newLastIdealStyle[key]=newLastIdealStyleValue;newLastIdealVelocity[key]=newLastIdealVelocityValue}}newLastIdealStyles[i]=newLastIdealStyle;newLastIdealVelocities[i]=newLastIdealVelocity;newCurrentStyles[i]=newCurrentStyle;newCurrentVelocities[i]=newCurrentVelocity}_this.animationID=null;_this.accumulatedTime-=framesToCatchUp*msPerFrame;_this.setState({currentStyles:newCurrentStyles,currentVelocities:newCurrentVelocities,lastIdealStyles:newLastIdealStyles,lastIdealVelocities:newLastIdealVelocities,mergedPropsStyles:newMergedPropsStyles});_this.unreadPropStyles=null;_this.startAnimationIfNecessary()})};this.state=this.defaultState()}TransitionMotion.prototype.defaultState=function defaultState(){var _props=this.props;var defaultStyles=_props.defaultStyles;var styles=_props.styles;var willEnter=_props.willEnter;var willLeave=_props.willLeave;var didLeave=_props.didLeave;var destStyles=typeof styles==="function"?styles(defaultStyles):styles;var oldMergedPropsStyles=undefined;if(defaultStyles==null){oldMergedPropsStyles=destStyles}else{oldMergedPropsStyles=defaultStyles.map(function(defaultStyleCell){for(var i=0;i<destStyles.length;i++){if(destStyles[i].key===defaultStyleCell.key){return destStyles[i]}}return defaultStyleCell})}var oldCurrentStyles=defaultStyles==null?destStyles.map(function(s){return _stripStyle2["default"](s.style)}):defaultStyles.map(function(s){return _stripStyle2["default"](s.style)});var oldCurrentVelocities=defaultStyles==null?destStyles.map(function(s){return _mapToZero2["default"](s.style)}):defaultStyles.map(function(s){return _mapToZero2["default"](s.style)});var _mergeAndSync3=mergeAndSync(willEnter,willLeave,didLeave,oldMergedPropsStyles,destStyles,oldCurrentStyles,oldCurrentVelocities,oldCurrentStyles,oldCurrentVelocities);var mergedPropsStyles=_mergeAndSync3[0];var currentStyles=_mergeAndSync3[1];var currentVelocities=_mergeAndSync3[2];var lastIdealStyles=_mergeAndSync3[3];var lastIdealVelocities=_mergeAndSync3[4];return{currentStyles:currentStyles,currentVelocities:currentVelocities,lastIdealStyles:lastIdealStyles,lastIdealVelocities:lastIdealVelocities,mergedPropsStyles:mergedPropsStyles}};TransitionMotion.prototype.componentDidMount=function componentDidMount(){this.prevTime=_performanceNow2["default"]();this.startAnimationIfNecessary()};TransitionMotion.prototype.componentWillReceiveProps=function componentWillReceiveProps(props){if(this.unreadPropStyles){this.clearUnreadPropStyle(this.unreadPropStyles)}var styles=props.styles;if(typeof styles==="function"){this.unreadPropStyles=styles(rehydrateStyles(this.state.mergedPropsStyles,this.unreadPropStyles,this.state.lastIdealStyles))}else{this.unreadPropStyles=styles}if(this.animationID==null){this.prevTime=_performanceNow2["default"]();this.startAnimationIfNecessary()}};TransitionMotion.prototype.componentWillUnmount=function componentWillUnmount(){this.unmounting=true;if(this.animationID!=null){_raf2["default"].cancel(this.animationID);this.animationID=null}};TransitionMotion.prototype.render=function render(){var hydratedStyles=rehydrateStyles(this.state.mergedPropsStyles,this.unreadPropStyles,this.state.currentStyles);var renderedChildren=this.props.children(hydratedStyles);return renderedChildren&&_react2["default"].Children.only(renderedChildren)};return TransitionMotion}(_react2["default"].Component);exports["default"]=TransitionMotion;module.exports=exports["default"]},{"./mapToZero":43,"./mergeDiff":44,"./shouldStopAnimation":48,"./stepper":50,"./stripStyle":51,"performance-now":28,"prop-types":33,raf:35,react:76}],43:[function(require,module,exports){"use strict";exports.__esModule=true;exports["default"]=mapToZero;function mapToZero(obj){var ret={};for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key)){ret[key]=0}}return ret}module.exports=exports["default"]},{}],44:[function(require,module,exports){"use strict";exports.__esModule=true;exports["default"]=mergeDiff;function mergeDiff(prev,next,onRemove){var prevKeyIndex={};for(var i=0;i<prev.length;i++){prevKeyIndex[prev[i].key]=i}var nextKeyIndex={};for(var i=0;i<next.length;i++){nextKeyIndex[next[i].key]=i}var ret=[];for(var i=0;i<next.length;i++){ret[i]=next[i]}for(var i=0;i<prev.length;i++){if(!Object.prototype.hasOwnProperty.call(nextKeyIndex,prev[i].key)){var fill=onRemove(i,prev[i]);if(fill!=null){ret.push(fill)}}}return ret.sort(function(a,b){var nextOrderA=nextKeyIndex[a.key];var nextOrderB=nextKeyIndex[b.key];var prevOrderA=prevKeyIndex[a.key];var prevOrderB=prevKeyIndex[b.key];if(nextOrderA!=null&&nextOrderB!=null){return nextKeyIndex[a.key]-nextKeyIndex[b.key]}else if(prevOrderA!=null&&prevOrderB!=null){return prevKeyIndex[a.key]-prevKeyIndex[b.key]}else if(nextOrderA!=null){for(var i=0;i<next.length;i++){var pivot=next[i].key;if(!Object.prototype.hasOwnProperty.call(prevKeyIndex,pivot)){continue}if(nextOrderA<nextKeyIndex[pivot]&&prevOrderB>prevKeyIndex[pivot]){return-1}else if(nextOrderA>nextKeyIndex[pivot]&&prevOrderB<prevKeyIndex[pivot]){return 1}}return 1}for(var i=0;i<next.length;i++){var pivot=next[i].key;if(!Object.prototype.hasOwnProperty.call(prevKeyIndex,pivot)){continue}if(nextOrderB<nextKeyIndex[pivot]&&prevOrderA>prevKeyIndex[pivot]){return 1}else if(nextOrderB>nextKeyIndex[pivot]&&prevOrderA<prevKeyIndex[pivot]){return-1}}return-1})}module.exports=exports["default"]},{}],45:[function(require,module,exports){"use strict";exports.__esModule=true;exports["default"]={noWobble:{stiffness:170,damping:26},gentle:{stiffness:120,damping:14},wobbly:{stiffness:180,damping:12},stiff:{stiffness:210,damping:20}};module.exports=exports["default"]},{}],46:[function(require,module,exports){"use strict";exports.__esModule=true;function _interopRequire(obj){return obj&&obj.__esModule?obj["default"]:obj}var _Motion=require("./Motion");exports.Motion=_interopRequire(_Motion);var _StaggeredMotion=require("./StaggeredMotion");exports.StaggeredMotion=_interopRequire(_StaggeredMotion);var _TransitionMotion=require("./TransitionMotion");exports.TransitionMotion=_interopRequire(_TransitionMotion);var _spring=require("./spring");exports.spring=_interopRequire(_spring);var _presets=require("./presets");exports.presets=_interopRequire(_presets);var _stripStyle=require("./stripStyle");exports.stripStyle=_interopRequire(_stripStyle);var _reorderKeys=require("./reorderKeys");exports.reorderKeys=_interopRequire(_reorderKeys)},{"./Motion":40,"./StaggeredMotion":41,"./TransitionMotion":42,"./presets":45,"./reorderKeys":47,"./spring":49,"./stripStyle":51}],47:[function(require,module,exports){(function(process){"use strict";exports.__esModule=true;exports["default"]=reorderKeys;var hasWarned=false;function reorderKeys(){if(process.env.NODE_ENV==="development"){if(!hasWarned){hasWarned=true;console.error("`reorderKeys` has been removed, since it is no longer needed for TransitionMotion's new styles array API.")}}}module.exports=exports["default"]}).call(this,require("_process"))},{_process:1}],48:[function(require,module,exports){"use strict";exports.__esModule=true;exports["default"]=shouldStopAnimation;function shouldStopAnimation(currentStyle,style,currentVelocity){for(var key in style){if(!Object.prototype.hasOwnProperty.call(style,key)){continue}if(currentVelocity[key]!==0){return false}var styleValue=typeof style[key]==="number"?style[key]:style[key].val;if(currentStyle[key]!==styleValue){return false}}return true}module.exports=exports["default"]},{}],49:[function(require,module,exports){"use strict";exports.__esModule=true;var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};exports["default"]=spring;function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var _presets=require("./presets");var _presets2=_interopRequireDefault(_presets);var defaultConfig=_extends({},_presets2["default"].noWobble,{precision:.01});function spring(val,config){return _extends({},defaultConfig,config,{val:val})}module.exports=exports["default"]},{"./presets":45}],50:[function(require,module,exports){"use strict";exports.__esModule=true;exports["default"]=stepper;var reusedTuple=[0,0];function stepper(secondPerFrame,x,v,destX,k,b,precision){var Fspring=-k*(x-destX);var Fdamper=-b*v;var a=Fspring+Fdamper;var newV=v+a*secondPerFrame;var newX=x+newV*secondPerFrame;if(Math.abs(newV)<precision&&Math.abs(newX-destX)<precision){reusedTuple[0]=destX;reusedTuple[1]=0;return reusedTuple}reusedTuple[0]=newX;reusedTuple[1]=newV;return reusedTuple}module.exports=exports["default"]},{}],51:[function(require,module,exports){"use strict";exports.__esModule=true;exports["default"]=stripStyle;function stripStyle(style){var ret={};for(var key in style){if(!Object.prototype.hasOwnProperty.call(style,key)){continue}ret[key]=typeof style[key]==="number"?style[key]:style[key].val}return ret}module.exports=exports["default"]},{}],52:[function(require,module,exports){"use strict";function escape(key){var escapeRegex=/[=:]/g;var escaperLookup={"=":"=0",":":"=2"};var escapedString=(""+key).replace(escapeRegex,function(match){return escaperLookup[match]});return"$"+escapedString}function unescape(key){var unescapeRegex=/(=0|=2)/g;var unescaperLookup={"=0":"=","=2":":"};var keySubstring=key[0]==="."&&key[1]==="$"?key.substring(2):key.substring(1);return(""+keySubstring).replace(unescapeRegex,function(match){return unescaperLookup[match]})}var KeyEscapeUtils={escape:escape,unescape:unescape};module.exports=KeyEscapeUtils},{}],53:[function(require,module,exports){(function(process){"use strict";var _prodInvariant=require("./reactProdInvariant");var invariant=require("fbjs/lib/invariant");var oneArgumentPooler=function(copyFieldsFrom){var Klass=this;if(Klass.instancePool.length){var instance=Klass.instancePool.pop();Klass.call(instance,copyFieldsFrom);return instance}else{return new Klass(copyFieldsFrom)}};var twoArgumentPooler=function(a1,a2){var Klass=this;if(Klass.instancePool.length){var instance=Klass.instancePool.pop();Klass.call(instance,a1,a2);return instance}else{return new Klass(a1,a2)}};var threeArgumentPooler=function(a1,a2,a3){var Klass=this;if(Klass.instancePool.length){var instance=Klass.instancePool.pop();Klass.call(instance,a1,a2,a3);return instance}else{return new Klass(a1,a2,a3)}};var fourArgumentPooler=function(a1,a2,a3,a4){var Klass=this;if(Klass.instancePool.length){var instance=Klass.instancePool.pop();Klass.call(instance,a1,a2,a3,a4);return instance}else{return new Klass(a1,a2,a3,a4)}};var standardReleaser=function(instance){var Klass=this;!(instance instanceof Klass)?process.env.NODE_ENV!=="production"?invariant(false,"Trying to release an instance into a pool of a different type."):_prodInvariant("25"):void 0;instance.destructor();if(Klass.instancePool.length<Klass.poolSize){Klass.instancePool.push(instance)}};var DEFAULT_POOL_SIZE=10;var DEFAULT_POOLER=oneArgumentPooler;var addPoolingTo=function(CopyConstructor,pooler){var NewKlass=CopyConstructor;NewKlass.instancePool=[];NewKlass.getPooled=pooler||DEFAULT_POOLER;if(!NewKlass.poolSize){NewKlass.poolSize=DEFAULT_POOL_SIZE}NewKlass.release=standardReleaser;return NewKlass};var PooledClass={addPoolingTo:addPoolingTo,oneArgumentPooler:oneArgumentPooler,twoArgumentPooler:twoArgumentPooler,threeArgumentPooler:threeArgumentPooler,fourArgumentPooler:fourArgumentPooler};module.exports=PooledClass}).call(this,require("_process"))},{"./reactProdInvariant":74,_process:1,"fbjs/lib/invariant":24}],54:[function(require,module,exports){(function(process){"use strict";var _assign=require("object-assign");var ReactBaseClasses=require("./ReactBaseClasses");var ReactChildren=require("./ReactChildren");var ReactDOMFactories=require("./ReactDOMFactories");var ReactElement=require("./ReactElement");var ReactPropTypes=require("./ReactPropTypes");var ReactVersion=require("./ReactVersion");var createReactClass=require("./createClass");var onlyChild=require("./onlyChild");var createElement=ReactElement.createElement;var createFactory=ReactElement.createFactory;var cloneElement=ReactElement.cloneElement;if(process.env.NODE_ENV!=="production"){var lowPriorityWarning=require("./lowPriorityWarning");var canDefineProperty=require("./canDefineProperty");var ReactElementValidator=require("./ReactElementValidator");var didWarnPropTypesDeprecated=false;createElement=ReactElementValidator.createElement;createFactory=ReactElementValidator.createFactory;cloneElement=ReactElementValidator.cloneElement}var __spread=_assign;var createMixin=function(mixin){return mixin};if(process.env.NODE_ENV!=="production"){var warnedForSpread=false;var warnedForCreateMixin=false;__spread=function(){lowPriorityWarning(warnedForSpread,"React.__spread is deprecated and should not be used. Use "+"Object.assign directly or another helper function with similar "+"semantics. You may be seeing this warning due to your compiler. "+"See https://fb.me/react-spread-deprecation for more details.");warnedForSpread=true;return _assign.apply(null,arguments)};createMixin=function(mixin){lowPriorityWarning(warnedForCreateMixin,"React.createMixin is deprecated and should not be used. "+"In React v16.0, it will be removed. "+"You can use this mixin directly instead. "+"See https://fb.me/createmixin-was-never-implemented for more info.");warnedForCreateMixin=true;return mixin}}var React={Children:{map:ReactChildren.map,forEach:ReactChildren.forEach,count:ReactChildren.count,toArray:ReactChildren.toArray,only:onlyChild},Component:ReactBaseClasses.Component,PureComponent:ReactBaseClasses.PureComponent,createElement:createElement,cloneElement:cloneElement,isValidElement:ReactElement.isValidElement,PropTypes:ReactPropTypes,createClass:createReactClass,createFactory:createFactory,createMixin:createMixin,DOM:ReactDOMFactories,version:ReactVersion,__spread:__spread};if(process.env.NODE_ENV!=="production"){var warnedForCreateClass=false;if(canDefineProperty){Object.defineProperty(React,"PropTypes",{get:function(){lowPriorityWarning(didWarnPropTypesDeprecated,"Accessing PropTypes via the main React package is deprecated,"+" and will be removed in React v16.0."+" Use the latest available v15.* prop-types package from npm instead."+" For info on usage, compatibility, migration and more, see "+"https://fb.me/prop-types-docs");didWarnPropTypesDeprecated=true;return ReactPropTypes}});Object.defineProperty(React,"createClass",{get:function(){lowPriorityWarning(warnedForCreateClass,"Accessing createClass via the main React package is deprecated,"+" and will be removed in React v16.0."+" Use a plain JavaScript class instead. If you're not yet "+"ready to migrate, create-react-class v15.* is available "+"on npm as a temporary, drop-in replacement. "+"For more info see https://fb.me/react-create-class");warnedForCreateClass=true;return createReactClass}})}React.DOM={};var warnedForFactories=false;Object.keys(ReactDOMFactories).forEach(function(factory){React.DOM[factory]=function(){if(!warnedForFactories){lowPriorityWarning(false,"Accessing factories like React.DOM.%s has been deprecated "+"and will be removed in v16.0+. Use the "+"react-dom-factories package instead. "+" Version 1.0 provides a drop-in replacement."+" For more info, see https://fb.me/react-dom-factories",factory);warnedForFactories=true}return ReactDOMFactories[factory].apply(ReactDOMFactories,arguments)}})}module.exports=React}).call(this,require("_process"))},{"./ReactBaseClasses":55,"./ReactChildren":56,"./ReactDOMFactories":59,"./ReactElement":60,"./ReactElementValidator":62,"./ReactPropTypes":65,"./ReactVersion":67,"./canDefineProperty":68,"./createClass":70,"./lowPriorityWarning":72,"./onlyChild":73,_process:1,"object-assign":27}],55:[function(require,module,exports){(function(process){"use strict";var _prodInvariant=require("./reactProdInvariant"),_assign=require("object-assign");var ReactNoopUpdateQueue=require("./ReactNoopUpdateQueue");var canDefineProperty=require("./canDefineProperty");var emptyObject=require("fbjs/lib/emptyObject");var invariant=require("fbjs/lib/invariant");var lowPriorityWarning=require("./lowPriorityWarning");function ReactComponent(props,context,updater){this.props=props;this.context=context;this.refs=emptyObject;this.updater=updater||ReactNoopUpdateQueue}ReactComponent.prototype.isReactComponent={};ReactComponent.prototype.setState=function(partialState,callback){!(typeof partialState==="object"||typeof partialState==="function"||partialState==null)?process.env.NODE_ENV!=="production"?invariant(false,"setState(...): takes an object of state variables to update or a function which returns an object of state variables."):_prodInvariant("85"):void 0;this.updater.enqueueSetState(this,partialState);if(callback){this.updater.enqueueCallback(this,callback,"setState")}};ReactComponent.prototype.forceUpdate=function(callback){this.updater.enqueueForceUpdate(this);if(callback){this.updater.enqueueCallback(this,callback,"forceUpdate")}};if(process.env.NODE_ENV!=="production"){var deprecatedAPIs={isMounted:["isMounted","Instead, make sure to clean up subscriptions and pending requests in "+"componentWillUnmount to prevent memory leaks."],replaceState:["replaceState","Refactor your code to use setState instead (see "+"https://github.com/facebook/react/issues/3236)."]};var defineDeprecationWarning=function(methodName,info){if(canDefineProperty){Object.defineProperty(ReactComponent.prototype,methodName,{get:function(){lowPriorityWarning(false,"%s(...) is deprecated in plain JavaScript React classes. %s",info[0],info[1]);return undefined}})}};for(var fnName in deprecatedAPIs){if(deprecatedAPIs.hasOwnProperty(fnName)){defineDeprecationWarning(fnName,deprecatedAPIs[fnName])}}}function ReactPureComponent(props,context,updater){this.props=props;this.context=context;this.refs=emptyObject;this.updater=updater||ReactNoopUpdateQueue}function ComponentDummy(){}ComponentDummy.prototype=ReactComponent.prototype;ReactPureComponent.prototype=new ComponentDummy;ReactPureComponent.prototype.constructor=ReactPureComponent;_assign(ReactPureComponent.prototype,ReactComponent.prototype);ReactPureComponent.prototype.isPureReactComponent=true;module.exports={Component:ReactComponent,PureComponent:ReactPureComponent}}).call(this,require("_process"))},{"./ReactNoopUpdateQueue":63,"./canDefineProperty":68,"./lowPriorityWarning":72,"./reactProdInvariant":74,_process:1,"fbjs/lib/emptyObject":23,"fbjs/lib/invariant":24,"object-assign":27}],56:[function(require,module,exports){"use strict";var PooledClass=require("./PooledClass");var ReactElement=require("./ReactElement");var emptyFunction=require("fbjs/lib/emptyFunction");var traverseAllChildren=require("./traverseAllChildren");var twoArgumentPooler=PooledClass.twoArgumentPooler;var fourArgumentPooler=PooledClass.fourArgumentPooler;var userProvidedKeyEscapeRegex=/\/+/g;function escapeUserProvidedKey(text){return(""+text).replace(userProvidedKeyEscapeRegex,"$&/")}function ForEachBookKeeping(forEachFunction,forEachContext){this.func=forEachFunction;this.context=forEachContext;this.count=0}ForEachBookKeeping.prototype.destructor=function(){this.func=null;this.context=null;this.count=0};PooledClass.addPoolingTo(ForEachBookKeeping,twoArgumentPooler);function forEachSingleChild(bookKeeping,child,name){var func=bookKeeping.func,context=bookKeeping.context;func.call(context,child,bookKeeping.count++)}function forEachChildren(children,forEachFunc,forEachContext){if(children==null){return children}var traverseContext=ForEachBookKeeping.getPooled(forEachFunc,forEachContext);traverseAllChildren(children,forEachSingleChild,traverseContext);ForEachBookKeeping.release(traverseContext)}function MapBookKeeping(mapResult,keyPrefix,mapFunction,mapContext){this.result=mapResult;this.keyPrefix=keyPrefix;this.func=mapFunction;this.context=mapContext;this.count=0}MapBookKeeping.prototype.destructor=function(){this.result=null;this.keyPrefix=null;this.func=null;this.context=null;this.count=0};PooledClass.addPoolingTo(MapBookKeeping,fourArgumentPooler);function mapSingleChildIntoContext(bookKeeping,child,childKey){var result=bookKeeping.result,keyPrefix=bookKeeping.keyPrefix,func=bookKeeping.func,context=bookKeeping.context;var mappedChild=func.call(context,child,bookKeeping.count++);if(Array.isArray(mappedChild)){mapIntoWithKeyPrefixInternal(mappedChild,result,childKey,emptyFunction.thatReturnsArgument)}else if(mappedChild!=null){if(ReactElement.isValidElement(mappedChild)){mappedChild=ReactElement.cloneAndReplaceKey(mappedChild,keyPrefix+(mappedChild.key&&(!child||child.key!==mappedChild.key)?escapeUserProvidedKey(mappedChild.key)+"/":"")+childKey)}result.push(mappedChild)}}function mapIntoWithKeyPrefixInternal(children,array,prefix,func,context){var escapedPrefix="";if(prefix!=null){escapedPrefix=escapeUserProvidedKey(prefix)+"/"}var traverseContext=MapBookKeeping.getPooled(array,escapedPrefix,func,context);traverseAllChildren(children,mapSingleChildIntoContext,traverseContext);MapBookKeeping.release(traverseContext)}function mapChildren(children,func,context){if(children==null){return children}var result=[];mapIntoWithKeyPrefixInternal(children,result,null,func,context);return result}function forEachSingleChildDummy(traverseContext,child,name){return null}function countChildren(children,context){return traverseAllChildren(children,forEachSingleChildDummy,null)}function toArray(children){var result=[];mapIntoWithKeyPrefixInternal(children,result,null,emptyFunction.thatReturnsArgument);return result}var ReactChildren={forEach:forEachChildren,map:mapChildren,mapIntoWithKeyPrefixInternal:mapIntoWithKeyPrefixInternal,count:countChildren,toArray:toArray};module.exports=ReactChildren},{"./PooledClass":53,"./ReactElement":60,"./traverseAllChildren":75,"fbjs/lib/emptyFunction":22}],57:[function(require,module,exports){(function(process){"use strict";var _prodInvariant=require("./reactProdInvariant");var ReactCurrentOwner=require("./ReactCurrentOwner");var invariant=require("fbjs/lib/invariant");var warning=require("fbjs/lib/warning");function isNative(fn){var funcToString=Function.prototype.toString;var hasOwnProperty=Object.prototype.hasOwnProperty;var reIsNative=RegExp("^"+funcToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");try{var source=funcToString.call(fn);return reIsNative.test(source)}catch(err){return false}}var canUseCollections=typeof Array.from==="function"&&typeof Map==="function"&&isNative(Map)&&Map.prototype!=null&&typeof Map.prototype.keys==="function"&&isNative(Map.prototype.keys)&&typeof Set==="function"&&isNative(Set)&&Set.prototype!=null&&typeof Set.prototype.keys==="function"&&isNative(Set.prototype.keys);var setItem;var getItem;var removeItem;var getItemIDs;var addRoot;var removeRoot;var getRootIDs;if(canUseCollections){var itemMap=new Map;var rootIDSet=new Set;setItem=function(id,item){itemMap.set(id,item)};getItem=function(id){return itemMap.get(id)};removeItem=function(id){itemMap["delete"](id)};getItemIDs=function(){return Array.from(itemMap.keys())};addRoot=function(id){rootIDSet.add(id)};removeRoot=function(id){rootIDSet["delete"](id)};getRootIDs=function(){return Array.from(rootIDSet.keys())}}else{var itemByKey={};var rootByKey={};var getKeyFromID=function(id){return"."+id};var getIDFromKey=function(key){return parseInt(key.substr(1),10)};setItem=function(id,item){var key=getKeyFromID(id);itemByKey[key]=item};getItem=function(id){var key=getKeyFromID(id);return itemByKey[key]};removeItem=function(id){var key=getKeyFromID(id);delete itemByKey[key]};getItemIDs=function(){return Object.keys(itemByKey).map(getIDFromKey)};addRoot=function(id){var key=getKeyFromID(id);rootByKey[key]=true};removeRoot=function(id){var key=getKeyFromID(id);delete rootByKey[key]};getRootIDs=function(){return Object.keys(rootByKey).map(getIDFromKey)}}var unmountedIDs=[];function purgeDeep(id){var item=getItem(id);if(item){var childIDs=item.childIDs;removeItem(id);childIDs.forEach(purgeDeep)}}function describeComponentFrame(name,source,ownerName){return"\n in "+(name||"Unknown")+(source?" (at "+source.fileName.replace(/^.*[\\\/]/,"")+":"+source.lineNumber+")":ownerName?" (created by "+ownerName+")":"")}function getDisplayName(element){if(element==null){return"#empty"}else if(typeof element==="string"||typeof element==="number"){return"#text"}else if(typeof element.type==="string"){return element.type}else{return element.type.displayName||element.type.name||"Unknown"}}function describeID(id){var name=ReactComponentTreeHook.getDisplayName(id);var element=ReactComponentTreeHook.getElement(id);var ownerID=ReactComponentTreeHook.getOwnerID(id);var ownerName;if(ownerID){ownerName=ReactComponentTreeHook.getDisplayName(ownerID)}process.env.NODE_ENV!=="production"?warning(element,"ReactComponentTreeHook: Missing React element for debugID %s when "+"building stack",id):void 0;return describeComponentFrame(name,element&&element._source,ownerName)}var ReactComponentTreeHook={onSetChildren:function(id,nextChildIDs){var item=getItem(id);!item?process.env.NODE_ENV!=="production"?invariant(false,"Item must have been set"):_prodInvariant("144"):void 0;item.childIDs=nextChildIDs;for(var i=0;i<nextChildIDs.length;i++){var nextChildID=nextChildIDs[i];var nextChild=getItem(nextChildID);!nextChild?process.env.NODE_ENV!=="production"?invariant(false,"Expected hook events to fire for the child before its parent includes it in onSetChildren()."):_prodInvariant("140"):void 0;!(nextChild.childIDs!=null||typeof nextChild.element!=="object"||nextChild.element==null)?process.env.NODE_ENV!=="production"?invariant(false,"Expected onSetChildren() to fire for a container child before its parent includes it in onSetChildren()."):_prodInvariant("141"):void 0;!nextChild.isMounted?process.env.NODE_ENV!=="production"?invariant(false,"Expected onMountComponent() to fire for the child before its parent includes it in onSetChildren()."):_prodInvariant("71"):void 0;if(nextChild.parentID==null){nextChild.parentID=id}!(nextChild.parentID===id)?process.env.NODE_ENV!=="production"?invariant(false,"Expected onBeforeMountComponent() parent and onSetChildren() to be consistent (%s has parents %s and %s).",nextChildID,nextChild.parentID,id):_prodInvariant("142",nextChildID,nextChild.parentID,id):void 0}},onBeforeMountComponent:function(id,element,parentID){var item={element:element,parentID:parentID,text:null,childIDs:[],isMounted:false,updateCount:0};setItem(id,item)},onBeforeUpdateComponent:function(id,element){var item=getItem(id);if(!item||!item.isMounted){return}item.element=element},onMountComponent:function(id){var item=getItem(id);!item?process.env.NODE_ENV!=="production"?invariant(false,"Item must have been set"):_prodInvariant("144"):void 0;item.isMounted=true;var isRoot=item.parentID===0;if(isRoot){addRoot(id)}},onUpdateComponent:function(id){var item=getItem(id);if(!item||!item.isMounted){return}item.updateCount++},onUnmountComponent:function(id){var item=getItem(id);if(item){item.isMounted=false;var isRoot=item.parentID===0;if(isRoot){removeRoot(id)}}unmountedIDs.push(id)},purgeUnmountedComponents:function(){if(ReactComponentTreeHook._preventPurging){return}for(var i=0;i<unmountedIDs.length;i++){var id=unmountedIDs[i];purgeDeep(id)}unmountedIDs.length=0},isMounted:function(id){var item=getItem(id);return item?item.isMounted:false},getCurrentStackAddendum:function(topElement){var info="";if(topElement){var name=getDisplayName(topElement);var owner=topElement._owner;info+=describeComponentFrame(name,topElement._source,owner&&owner.getName())}var currentOwner=ReactCurrentOwner.current;var id=currentOwner&&currentOwner._debugID;info+=ReactComponentTreeHook.getStackAddendumByID(id);return info},getStackAddendumByID:function(id){var info="";while(id){info+=describeID(id);id=ReactComponentTreeHook.getParentID(id)}return info},getChildIDs:function(id){var item=getItem(id)
  12. ;return item?item.childIDs:[]},getDisplayName:function(id){var element=ReactComponentTreeHook.getElement(id);if(!element){return null}return getDisplayName(element)},getElement:function(id){var item=getItem(id);return item?item.element:null},getOwnerID:function(id){var element=ReactComponentTreeHook.getElement(id);if(!element||!element._owner){return null}return element._owner._debugID},getParentID:function(id){var item=getItem(id);return item?item.parentID:null},getSource:function(id){var item=getItem(id);var element=item?item.element:null;var source=element!=null?element._source:null;return source},getText:function(id){var element=ReactComponentTreeHook.getElement(id);if(typeof element==="string"){return element}else if(typeof element==="number"){return""+element}else{return null}},getUpdateCount:function(id){var item=getItem(id);return item?item.updateCount:0},getRootIDs:getRootIDs,getRegisteredIDs:getItemIDs,pushNonStandardWarningStack:function(isCreatingElement,currentSource){if(typeof console.reactStack!=="function"){return}var stack=[];var currentOwner=ReactCurrentOwner.current;var id=currentOwner&&currentOwner._debugID;try{if(isCreatingElement){stack.push({name:id?ReactComponentTreeHook.getDisplayName(id):null,fileName:currentSource?currentSource.fileName:null,lineNumber:currentSource?currentSource.lineNumber:null})}while(id){var element=ReactComponentTreeHook.getElement(id);var parentID=ReactComponentTreeHook.getParentID(id);var ownerID=ReactComponentTreeHook.getOwnerID(id);var ownerName=ownerID?ReactComponentTreeHook.getDisplayName(ownerID):null;var source=element&&element._source;stack.push({name:ownerName,fileName:source?source.fileName:null,lineNumber:source?source.lineNumber:null});id=parentID}}catch(err){}console.reactStack(stack)},popNonStandardWarningStack:function(){if(typeof console.reactStackEnd!=="function"){return}console.reactStackEnd()}};module.exports=ReactComponentTreeHook}).call(this,require("_process"))},{"./ReactCurrentOwner":58,"./reactProdInvariant":74,_process:1,"fbjs/lib/invariant":24,"fbjs/lib/warning":25}],58:[function(require,module,exports){"use strict";var ReactCurrentOwner={current:null};module.exports=ReactCurrentOwner},{}],59:[function(require,module,exports){(function(process){"use strict";var ReactElement=require("./ReactElement");var createDOMFactory=ReactElement.createFactory;if(process.env.NODE_ENV!=="production"){var ReactElementValidator=require("./ReactElementValidator");createDOMFactory=ReactElementValidator.createFactory}var ReactDOMFactories={a:createDOMFactory("a"),abbr:createDOMFactory("abbr"),address:createDOMFactory("address"),area:createDOMFactory("area"),article:createDOMFactory("article"),aside:createDOMFactory("aside"),audio:createDOMFactory("audio"),b:createDOMFactory("b"),base:createDOMFactory("base"),bdi:createDOMFactory("bdi"),bdo:createDOMFactory("bdo"),big:createDOMFactory("big"),blockquote:createDOMFactory("blockquote"),body:createDOMFactory("body"),br:createDOMFactory("br"),button:createDOMFactory("button"),canvas:createDOMFactory("canvas"),caption:createDOMFactory("caption"),cite:createDOMFactory("cite"),code:createDOMFactory("code"),col:createDOMFactory("col"),colgroup:createDOMFactory("colgroup"),data:createDOMFactory("data"),datalist:createDOMFactory("datalist"),dd:createDOMFactory("dd"),del:createDOMFactory("del"),details:createDOMFactory("details"),dfn:createDOMFactory("dfn"),dialog:createDOMFactory("dialog"),div:createDOMFactory("div"),dl:createDOMFactory("dl"),dt:createDOMFactory("dt"),em:createDOMFactory("em"),embed:createDOMFactory("embed"),fieldset:createDOMFactory("fieldset"),figcaption:createDOMFactory("figcaption"),figure:createDOMFactory("figure"),footer:createDOMFactory("footer"),form:createDOMFactory("form"),h1:createDOMFactory("h1"),h2:createDOMFactory("h2"),h3:createDOMFactory("h3"),h4:createDOMFactory("h4"),h5:createDOMFactory("h5"),h6:createDOMFactory("h6"),head:createDOMFactory("head"),header:createDOMFactory("header"),hgroup:createDOMFactory("hgroup"),hr:createDOMFactory("hr"),html:createDOMFactory("html"),i:createDOMFactory("i"),iframe:createDOMFactory("iframe"),img:createDOMFactory("img"),input:createDOMFactory("input"),ins:createDOMFactory("ins"),kbd:createDOMFactory("kbd"),keygen:createDOMFactory("keygen"),label:createDOMFactory("label"),legend:createDOMFactory("legend"),li:createDOMFactory("li"),link:createDOMFactory("link"),main:createDOMFactory("main"),map:createDOMFactory("map"),mark:createDOMFactory("mark"),menu:createDOMFactory("menu"),menuitem:createDOMFactory("menuitem"),meta:createDOMFactory("meta"),meter:createDOMFactory("meter"),nav:createDOMFactory("nav"),noscript:createDOMFactory("noscript"),object:createDOMFactory("object"),ol:createDOMFactory("ol"),optgroup:createDOMFactory("optgroup"),option:createDOMFactory("option"),output:createDOMFactory("output"),p:createDOMFactory("p"),param:createDOMFactory("param"),picture:createDOMFactory("picture"),pre:createDOMFactory("pre"),progress:createDOMFactory("progress"),q:createDOMFactory("q"),rp:createDOMFactory("rp"),rt:createDOMFactory("rt"),ruby:createDOMFactory("ruby"),s:createDOMFactory("s"),samp:createDOMFactory("samp"),script:createDOMFactory("script"),section:createDOMFactory("section"),select:createDOMFactory("select"),small:createDOMFactory("small"),source:createDOMFactory("source"),span:createDOMFactory("span"),strong:createDOMFactory("strong"),style:createDOMFactory("style"),sub:createDOMFactory("sub"),summary:createDOMFactory("summary"),sup:createDOMFactory("sup"),table:createDOMFactory("table"),tbody:createDOMFactory("tbody"),td:createDOMFactory("td"),textarea:createDOMFactory("textarea"),tfoot:createDOMFactory("tfoot"),th:createDOMFactory("th"),thead:createDOMFactory("thead"),time:createDOMFactory("time"),title:createDOMFactory("title"),tr:createDOMFactory("tr"),track:createDOMFactory("track"),u:createDOMFactory("u"),ul:createDOMFactory("ul"),var:createDOMFactory("var"),video:createDOMFactory("video"),wbr:createDOMFactory("wbr"),circle:createDOMFactory("circle"),clipPath:createDOMFactory("clipPath"),defs:createDOMFactory("defs"),ellipse:createDOMFactory("ellipse"),g:createDOMFactory("g"),image:createDOMFactory("image"),line:createDOMFactory("line"),linearGradient:createDOMFactory("linearGradient"),mask:createDOMFactory("mask"),path:createDOMFactory("path"),pattern:createDOMFactory("pattern"),polygon:createDOMFactory("polygon"),polyline:createDOMFactory("polyline"),radialGradient:createDOMFactory("radialGradient"),rect:createDOMFactory("rect"),stop:createDOMFactory("stop"),svg:createDOMFactory("svg"),text:createDOMFactory("text"),tspan:createDOMFactory("tspan")};module.exports=ReactDOMFactories}).call(this,require("_process"))},{"./ReactElement":60,"./ReactElementValidator":62,_process:1}],60:[function(require,module,exports){(function(process){"use strict";var _assign=require("object-assign");var ReactCurrentOwner=require("./ReactCurrentOwner");var warning=require("fbjs/lib/warning");var canDefineProperty=require("./canDefineProperty");var hasOwnProperty=Object.prototype.hasOwnProperty;var REACT_ELEMENT_TYPE=require("./ReactElementSymbol");var RESERVED_PROPS={key:true,ref:true,__self:true,__source:true};var specialPropKeyWarningShown,specialPropRefWarningShown;function hasValidRef(config){if(process.env.NODE_ENV!=="production"){if(hasOwnProperty.call(config,"ref")){var getter=Object.getOwnPropertyDescriptor(config,"ref").get;if(getter&&getter.isReactWarning){return false}}}return config.ref!==undefined}function hasValidKey(config){if(process.env.NODE_ENV!=="production"){if(hasOwnProperty.call(config,"key")){var getter=Object.getOwnPropertyDescriptor(config,"key").get;if(getter&&getter.isReactWarning){return false}}}return config.key!==undefined}function defineKeyPropWarningGetter(props,displayName){var warnAboutAccessingKey=function(){if(!specialPropKeyWarningShown){specialPropKeyWarningShown=true;process.env.NODE_ENV!=="production"?warning(false,"%s: `key` is not a prop. Trying to access it will result "+"in `undefined` being returned. If you need to access the same "+"value within the child component, you should pass it as a different "+"prop. (https://fb.me/react-special-props)",displayName):void 0}};warnAboutAccessingKey.isReactWarning=true;Object.defineProperty(props,"key",{get:warnAboutAccessingKey,configurable:true})}function defineRefPropWarningGetter(props,displayName){var warnAboutAccessingRef=function(){if(!specialPropRefWarningShown){specialPropRefWarningShown=true;process.env.NODE_ENV!=="production"?warning(false,"%s: `ref` is not a prop. Trying to access it will result "+"in `undefined` being returned. If you need to access the same "+"value within the child component, you should pass it as a different "+"prop. (https://fb.me/react-special-props)",displayName):void 0}};warnAboutAccessingRef.isReactWarning=true;Object.defineProperty(props,"ref",{get:warnAboutAccessingRef,configurable:true})}var ReactElement=function(type,key,ref,self,source,owner,props){var element={$$typeof:REACT_ELEMENT_TYPE,type:type,key:key,ref:ref,props:props,_owner:owner};if(process.env.NODE_ENV!=="production"){element._store={};if(canDefineProperty){Object.defineProperty(element._store,"validated",{configurable:false,enumerable:false,writable:true,value:false});Object.defineProperty(element,"_self",{configurable:false,enumerable:false,writable:false,value:self});Object.defineProperty(element,"_source",{configurable:false,enumerable:false,writable:false,value:source})}else{element._store.validated=false;element._self=self;element._source=source}if(Object.freeze){Object.freeze(element.props);Object.freeze(element)}}return element};ReactElement.createElement=function(type,config,children){var propName;var props={};var key=null;var ref=null;var self=null;var source=null;if(config!=null){if(hasValidRef(config)){ref=config.ref}if(hasValidKey(config)){key=""+config.key}self=config.__self===undefined?null:config.__self;source=config.__source===undefined?null:config.__source;for(propName in config){if(hasOwnProperty.call(config,propName)&&!RESERVED_PROPS.hasOwnProperty(propName)){props[propName]=config[propName]}}}var childrenLength=arguments.length-2;if(childrenLength===1){props.children=children}else if(childrenLength>1){var childArray=Array(childrenLength);for(var i=0;i<childrenLength;i++){childArray[i]=arguments[i+2]}if(process.env.NODE_ENV!=="production"){if(Object.freeze){Object.freeze(childArray)}}props.children=childArray}if(type&&type.defaultProps){var defaultProps=type.defaultProps;for(propName in defaultProps){if(props[propName]===undefined){props[propName]=defaultProps[propName]}}}if(process.env.NODE_ENV!=="production"){if(key||ref){if(typeof props.$$typeof==="undefined"||props.$$typeof!==REACT_ELEMENT_TYPE){var displayName=typeof type==="function"?type.displayName||type.name||"Unknown":type;if(key){defineKeyPropWarningGetter(props,displayName)}if(ref){defineRefPropWarningGetter(props,displayName)}}}}return ReactElement(type,key,ref,self,source,ReactCurrentOwner.current,props)};ReactElement.createFactory=function(type){var factory=ReactElement.createElement.bind(null,type);factory.type=type;return factory};ReactElement.cloneAndReplaceKey=function(oldElement,newKey){var newElement=ReactElement(oldElement.type,newKey,oldElement.ref,oldElement._self,oldElement._source,oldElement._owner,oldElement.props);return newElement};ReactElement.cloneElement=function(element,config,children){var propName;var props=_assign({},element.props);var key=element.key;var ref=element.ref;var self=element._self;var source=element._source;var owner=element._owner;if(config!=null){if(hasValidRef(config)){ref=config.ref;owner=ReactCurrentOwner.current}if(hasValidKey(config)){key=""+config.key}var defaultProps;if(element.type&&element.type.defaultProps){defaultProps=element.type.defaultProps}for(propName in config){if(hasOwnProperty.call(config,propName)&&!RESERVED_PROPS.hasOwnProperty(propName)){if(config[propName]===undefined&&defaultProps!==undefined){props[propName]=defaultProps[propName]}else{props[propName]=config[propName]}}}}var childrenLength=arguments.length-2;if(childrenLength===1){props.children=children}else if(childrenLength>1){var childArray=Array(childrenLength);for(var i=0;i<childrenLength;i++){childArray[i]=arguments[i+2]}props.children=childArray}return ReactElement(element.type,key,ref,self,source,owner,props)};ReactElement.isValidElement=function(object){return typeof object==="object"&&object!==null&&object.$$typeof===REACT_ELEMENT_TYPE};module.exports=ReactElement}).call(this,require("_process"))},{"./ReactCurrentOwner":58,"./ReactElementSymbol":61,"./canDefineProperty":68,_process:1,"fbjs/lib/warning":25,"object-assign":27}],61:[function(require,module,exports){"use strict";var REACT_ELEMENT_TYPE=typeof Symbol==="function"&&Symbol["for"]&&Symbol["for"]("react.element")||60103;module.exports=REACT_ELEMENT_TYPE},{}],62:[function(require,module,exports){(function(process){"use strict";var ReactCurrentOwner=require("./ReactCurrentOwner");var ReactComponentTreeHook=require("./ReactComponentTreeHook");var ReactElement=require("./ReactElement");var checkReactTypeSpec=require("./checkReactTypeSpec");var canDefineProperty=require("./canDefineProperty");var getIteratorFn=require("./getIteratorFn");var warning=require("fbjs/lib/warning");var lowPriorityWarning=require("./lowPriorityWarning");function getDeclarationErrorAddendum(){if(ReactCurrentOwner.current){var name=ReactCurrentOwner.current.getName();if(name){return" Check the render method of `"+name+"`."}}return""}function getSourceInfoErrorAddendum(elementProps){if(elementProps!==null&&elementProps!==undefined&&elementProps.__source!==undefined){var source=elementProps.__source;var fileName=source.fileName.replace(/^.*[\\\/]/,"");var lineNumber=source.lineNumber;return" Check your code at "+fileName+":"+lineNumber+"."}return""}var ownerHasKeyUseWarning={};function getCurrentComponentErrorInfo(parentType){var info=getDeclarationErrorAddendum();if(!info){var parentName=typeof parentType==="string"?parentType:parentType.displayName||parentType.name;if(parentName){info=" Check the top-level render call using <"+parentName+">."}}return info}function validateExplicitKey(element,parentType){if(!element._store||element._store.validated||element.key!=null){return}element._store.validated=true;var memoizer=ownerHasKeyUseWarning.uniqueKey||(ownerHasKeyUseWarning.uniqueKey={});var currentComponentErrorInfo=getCurrentComponentErrorInfo(parentType);if(memoizer[currentComponentErrorInfo]){return}memoizer[currentComponentErrorInfo]=true;var childOwner="";if(element&&element._owner&&element._owner!==ReactCurrentOwner.current){childOwner=" It was passed a child from "+element._owner.getName()+"."}process.env.NODE_ENV!=="production"?warning(false,'Each child in an array or iterator should have a unique "key" prop.'+"%s%s See https://fb.me/react-warning-keys for more information.%s",currentComponentErrorInfo,childOwner,ReactComponentTreeHook.getCurrentStackAddendum(element)):void 0}function validateChildKeys(node,parentType){if(typeof node!=="object"){return}if(Array.isArray(node)){for(var i=0;i<node.length;i++){var child=node[i];if(ReactElement.isValidElement(child)){validateExplicitKey(child,parentType)}}}else if(ReactElement.isValidElement(node)){if(node._store){node._store.validated=true}}else if(node){var iteratorFn=getIteratorFn(node);if(iteratorFn){if(iteratorFn!==node.entries){var iterator=iteratorFn.call(node);var step;while(!(step=iterator.next()).done){if(ReactElement.isValidElement(step.value)){validateExplicitKey(step.value,parentType)}}}}}}function validatePropTypes(element){var componentClass=element.type;if(typeof componentClass!=="function"){return}var name=componentClass.displayName||componentClass.name;if(componentClass.propTypes){checkReactTypeSpec(componentClass.propTypes,element.props,"prop",name,element,null)}if(typeof componentClass.getDefaultProps==="function"){process.env.NODE_ENV!=="production"?warning(componentClass.getDefaultProps.isReactClassApproved,"getDefaultProps is only used on classic React.createClass "+"definitions. Use a static property named `defaultProps` instead."):void 0}}var ReactElementValidator={createElement:function(type,props,children){var validType=typeof type==="string"||typeof type==="function";if(!validType){if(typeof type!=="function"&&typeof type!=="string"){var info="";if(type===undefined||typeof type==="object"&&type!==null&&Object.keys(type).length===0){info+=" You likely forgot to export your component from the file "+"it's defined in."}var sourceInfo=getSourceInfoErrorAddendum(props);if(sourceInfo){info+=sourceInfo}else{info+=getDeclarationErrorAddendum()}info+=ReactComponentTreeHook.getCurrentStackAddendum();var currentSource=props!==null&&props!==undefined&&props.__source!==undefined?props.__source:null;ReactComponentTreeHook.pushNonStandardWarningStack(true,currentSource);process.env.NODE_ENV!=="production"?warning(false,"React.createElement: type is invalid -- expected a string (for "+"built-in components) or a class/function (for composite "+"components) but got: %s.%s",type==null?type:typeof type,info):void 0;ReactComponentTreeHook.popNonStandardWarningStack()}}var element=ReactElement.createElement.apply(this,arguments);if(element==null){return element}if(validType){for(var i=2;i<arguments.length;i++){validateChildKeys(arguments[i],type)}}validatePropTypes(element);return element},createFactory:function(type){var validatedFactory=ReactElementValidator.createElement.bind(null,type);validatedFactory.type=type;if(process.env.NODE_ENV!=="production"){if(canDefineProperty){Object.defineProperty(validatedFactory,"type",{enumerable:false,get:function(){lowPriorityWarning(false,"Factory.type is deprecated. Access the class directly "+"before passing it to createFactory.");Object.defineProperty(this,"type",{value:type});return type}})}}return validatedFactory},cloneElement:function(element,props,children){var newElement=ReactElement.cloneElement.apply(this,arguments);for(var i=2;i<arguments.length;i++){validateChildKeys(arguments[i],newElement.type)}validatePropTypes(newElement);return newElement}};module.exports=ReactElementValidator}).call(this,require("_process"))},{"./ReactComponentTreeHook":57,"./ReactCurrentOwner":58,"./ReactElement":60,"./canDefineProperty":68,"./checkReactTypeSpec":69,"./getIteratorFn":71,"./lowPriorityWarning":72,_process:1,"fbjs/lib/warning":25}],63:[function(require,module,exports){(function(process){"use strict";var warning=require("fbjs/lib/warning");function warnNoop(publicInstance,callerName){if(process.env.NODE_ENV!=="production"){var constructor=publicInstance.constructor;process.env.NODE_ENV!=="production"?warning(false,"%s(...): Can only update a mounted or mounting component. "+"This usually means you called %s() on an unmounted component. "+"This is a no-op. Please check the code for the %s component.",callerName,callerName,constructor&&(constructor.displayName||constructor.name)||"ReactClass"):void 0}}var ReactNoopUpdateQueue={isMounted:function(publicInstance){return false},enqueueCallback:function(publicInstance,callback){},enqueueForceUpdate:function(publicInstance){warnNoop(publicInstance,"forceUpdate")},enqueueReplaceState:function(publicInstance,completeState){warnNoop(publicInstance,"replaceState")},enqueueSetState:function(publicInstance,partialState){warnNoop(publicInstance,"setState")}};module.exports=ReactNoopUpdateQueue}).call(this,require("_process"))},{_process:1,"fbjs/lib/warning":25}],64:[function(require,module,exports){(function(process){"use strict";var ReactPropTypeLocationNames={};if(process.env.NODE_ENV!=="production"){ReactPropTypeLocationNames={prop:"prop",context:"context",childContext:"child context"}}module.exports=ReactPropTypeLocationNames}).call(this,require("_process"))},{_process:1}],65:[function(require,module,exports){"use strict";var _require=require("./ReactElement"),isValidElement=_require.isValidElement;var factory=require("prop-types/factory");module.exports=factory(isValidElement)},{"./ReactElement":60,"prop-types/factory":30}],66:[function(require,module,exports){"use strict";var ReactPropTypesSecret="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";module.exports=ReactPropTypesSecret},{}],67:[function(require,module,exports){"use strict";module.exports="15.6.2"},{}],68:[function(require,module,exports){(function(process){"use strict";var canDefineProperty=false;if(process.env.NODE_ENV!=="production"){try{Object.defineProperty({},"x",{get:function(){}});canDefineProperty=true}catch(x){}}module.exports=canDefineProperty}).call(this,require("_process"))},{_process:1}],69:[function(require,module,exports){(function(process){"use strict";var _prodInvariant=require("./reactProdInvariant");var ReactPropTypeLocationNames=require("./ReactPropTypeLocationNames");var ReactPropTypesSecret=require("./ReactPropTypesSecret");var invariant=require("fbjs/lib/invariant");var warning=require("fbjs/lib/warning");var ReactComponentTreeHook;if(typeof process!=="undefined"&&process.env&&process.env.NODE_ENV==="test"){ReactComponentTreeHook=require("./ReactComponentTreeHook")}var loggedTypeFailures={};function checkReactTypeSpec(typeSpecs,values,location,componentName,element,debugID){for(var typeSpecName in typeSpecs){if(typeSpecs.hasOwnProperty(typeSpecName)){var error;try{!(typeof typeSpecs[typeSpecName]==="function")?process.env.NODE_ENV!=="production"?invariant(false,"%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.",componentName||"React class",ReactPropTypeLocationNames[location],typeSpecName):_prodInvariant("84",componentName||"React class",ReactPropTypeLocationNames[location],typeSpecName):void 0;error=typeSpecs[typeSpecName](values,typeSpecName,componentName,location,null,ReactPropTypesSecret)}catch(ex){error=ex}process.env.NODE_ENV!=="production"?warning(!error||error instanceof Error,"%s: type specification of %s `%s` is invalid; the type checker "+"function must return `null` or an `Error` but returned a %s. "+"You may have forgotten to pass an argument to the type checker "+"creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and "+"shape all require an argument).",componentName||"React class",ReactPropTypeLocationNames[location],typeSpecName,typeof error):void 0;if(error instanceof Error&&!(error.message in loggedTypeFailures)){loggedTypeFailures[error.message]=true;var componentStackInfo="";if(process.env.NODE_ENV!=="production"){if(!ReactComponentTreeHook){ReactComponentTreeHook=require("./ReactComponentTreeHook")}if(debugID!==null){componentStackInfo=ReactComponentTreeHook.getStackAddendumByID(debugID)}else if(element!==null){componentStackInfo=ReactComponentTreeHook.getCurrentStackAddendum(element)}}process.env.NODE_ENV!=="production"?warning(false,"Failed %s type: %s%s",location,error.message,componentStackInfo):void 0}}}}module.exports=checkReactTypeSpec}).call(this,require("_process"))},{"./ReactComponentTreeHook":57,"./ReactPropTypeLocationNames":64,"./ReactPropTypesSecret":66,"./reactProdInvariant":74,_process:1,"fbjs/lib/invariant":24,"fbjs/lib/warning":25}],70:[function(require,module,exports){"use strict";var _require=require("./ReactBaseClasses"),Component=_require.Component;var _require2=require("./ReactElement"),isValidElement=_require2.isValidElement;var ReactNoopUpdateQueue=require("./ReactNoopUpdateQueue");var factory=require("create-react-class/factory");module.exports=factory(Component,isValidElement,ReactNoopUpdateQueue)},{"./ReactBaseClasses":55,"./ReactElement":60,"./ReactNoopUpdateQueue":63,"create-react-class/factory":2}],71:[function(require,module,exports){"use strict";var ITERATOR_SYMBOL=typeof Symbol==="function"&&Symbol.iterator;var FAUX_ITERATOR_SYMBOL="@@iterator";function getIteratorFn(maybeIterable){var iteratorFn=maybeIterable&&(ITERATOR_SYMBOL&&maybeIterable[ITERATOR_SYMBOL]||maybeIterable[FAUX_ITERATOR_SYMBOL]);if(typeof iteratorFn==="function"){return iteratorFn}}module.exports=getIteratorFn},{}],72:[function(require,module,exports){(function(process){"use strict";var lowPriorityWarning=function(){};if(process.env.NODE_ENV!=="production"){var printWarning=function(format){for(var _len=arguments.length,args=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}var argIndex=0;var message="Warning: "+format.replace(/%s/g,function(){return args[argIndex++]});if(typeof console!=="undefined"){console.warn(message)}try{throw new Error(message)}catch(x){}};lowPriorityWarning=function(condition,format){if(format===undefined){throw new Error("`warning(condition, format, ...args)` requires a warning "+"message argument")}if(!condition){for(var _len2=arguments.length,args=Array(_len2>2?_len2-2:0),_key2=2;_key2<_len2;_key2++){args[_key2-2]=arguments[_key2]}printWarning.apply(undefined,[format].concat(args))}}}module.exports=lowPriorityWarning}).call(this,require("_process"))},{_process:1}],73:[function(require,module,exports){(function(process){"use strict";var _prodInvariant=require("./reactProdInvariant");var ReactElement=require("./ReactElement");var invariant=require("fbjs/lib/invariant");function onlyChild(children){!ReactElement.isValidElement(children)?process.env.NODE_ENV!=="production"?invariant(false,"React.Children.only expected to receive a single React element child."):_prodInvariant("143"):void 0;return children}module.exports=onlyChild}).call(this,require("_process"))},{"./ReactElement":60,"./reactProdInvariant":74,_process:1,"fbjs/lib/invariant":24}],74:[function(require,module,exports){"use strict";function reactProdInvariant(code){var argCount=arguments.length-1;var message="Minified React error #"+code+"; visit "+"http://facebook.github.io/react/docs/error-decoder.html?invariant="+code;for(var argIdx=0;argIdx<argCount;argIdx++){message+="&args[]="+encodeURIComponent(arguments[argIdx+1])}message+=" for the full message or use the non-minified dev environment"+" for full errors and additional helpful warnings.";var error=new Error(message);error.name="Invariant Violation";error.framesToPop=1;throw error}module.exports=reactProdInvariant},{}],75:[function(require,module,exports){(function(process){"use strict";var _prodInvariant=require("./reactProdInvariant");var ReactCurrentOwner=require("./ReactCurrentOwner");var REACT_ELEMENT_TYPE=require("./ReactElementSymbol");var getIteratorFn=require("./getIteratorFn");var invariant=require("fbjs/lib/invariant");var KeyEscapeUtils=require("./KeyEscapeUtils");var warning=require("fbjs/lib/warning");var SEPARATOR=".";var SUBSEPARATOR=":";var didWarnAboutMaps=false;function getComponentKey(component,index){if(component&&typeof component==="object"&&component.key!=null){return KeyEscapeUtils.escape(component.key)}return index.toString(36)}function traverseAllChildrenImpl(children,nameSoFar,callback,traverseContext){var type=typeof children;if(type==="undefined"||type==="boolean"){children=null}if(children===null||type==="string"||type==="number"||type==="object"&&children.$$typeof===REACT_ELEMENT_TYPE){callback(traverseContext,children,nameSoFar===""?SEPARATOR+getComponentKey(children,0):nameSoFar);return 1}var child;var nextName;var subtreeCount=0;var nextNamePrefix=nameSoFar===""?SEPARATOR:nameSoFar+SUBSEPARATOR;if(Array.isArray(children)){for(var i=0;i<children.length;i++){child=children[i];nextName=nextNamePrefix+getComponentKey(child,i);subtreeCount+=traverseAllChildrenImpl(child,nextName,callback,traverseContext)}}else{var iteratorFn=getIteratorFn(children);if(iteratorFn){var iterator=iteratorFn.call(children);var step;if(iteratorFn!==children.entries){var ii=0;while(!(step=iterator.next()).done){child=step.value;nextName=nextNamePrefix+getComponentKey(child,ii++);subtreeCount+=traverseAllChildrenImpl(child,nextName,callback,traverseContext)}}else{if(process.env.NODE_ENV!=="production"){var mapsAsChildrenAddendum="";if(ReactCurrentOwner.current){var mapsAsChildrenOwnerName=ReactCurrentOwner.current.getName();if(mapsAsChildrenOwnerName){mapsAsChildrenAddendum=" Check the render method of `"+mapsAsChildrenOwnerName+"`."}}process.env.NODE_ENV!=="production"?warning(didWarnAboutMaps,"Using Maps as children is not yet fully supported. It is an "+"experimental feature that might be removed. Convert it to a "+"sequence / iterable of keyed ReactElements instead.%s",mapsAsChildrenAddendum):void 0;didWarnAboutMaps=true}while(!(step=iterator.next()).done){var entry=step.value;if(entry){child=entry[1];nextName=nextNamePrefix+KeyEscapeUtils.escape(entry[0])+SUBSEPARATOR+getComponentKey(child,0);subtreeCount+=traverseAllChildrenImpl(child,nextName,callback,traverseContext)}}}}else if(type==="object"){var addendum="";if(process.env.NODE_ENV!=="production"){addendum=" If you meant to render a collection of children, use an array "+"instead or wrap the object using createFragment(object) from the "+"React add-ons.";if(children._isReactElement){addendum=" It looks like you're using an element created by a different "+"version of React. Make sure to use only one copy of React."}if(ReactCurrentOwner.current){var name=ReactCurrentOwner.current.getName();if(name){addendum+=" Check the render method of `"+name+"`."}}}var childrenString=String(children);!false?process.env.NODE_ENV!=="production"?invariant(false,"Objects are not valid as a React child (found: %s).%s",childrenString==="[object Object]"?"object with keys {"+Object.keys(children).join(", ")+"}":childrenString,addendum):_prodInvariant("31",childrenString==="[object Object]"?"object with keys {"+Object.keys(children).join(", ")+"}":childrenString,addendum):void 0}}return subtreeCount}function traverseAllChildren(children,callback,traverseContext){if(children==null){return 0}return traverseAllChildrenImpl(children,"",callback,traverseContext)}module.exports=traverseAllChildren}).call(this,require("_process"))},{"./KeyEscapeUtils":52,"./ReactCurrentOwner":58,"./ReactElementSymbol":61,"./getIteratorFn":71,"./reactProdInvariant":74,_process:1,"fbjs/lib/invariant":24,"fbjs/lib/warning":25}],76:[function(require,module,exports){"use strict";module.exports=require("./lib/React")},{"./lib/React":54}],77:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.AnimationPropType=undefined;var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};exports.extractAnimatedPropValues=extractAnimatedPropValues;var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _d3Interpolate=require("d3-interpolate");var _reactMotion=require("react-motion");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}
  13. subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}function _objectWithoutProperties(obj,keys){var target={};for(var i in obj){if(keys.indexOf(i)>=0)continue;if(!Object.prototype.hasOwnProperty.call(obj,i))continue;target[i]=obj[i]}return target}var ANIMATION_PROPTYPES=_propTypes2.default.oneOfType([_propTypes2.default.string,_propTypes2.default.shape({stiffness:_propTypes2.default.number,nonAnimatedProps:_propTypes2.default.arrayOf(_propTypes2.default.string),damping:_propTypes2.default.number}),_propTypes2.default.bool]);var propTypes={animatedProps:_propTypes2.default.arrayOf(_propTypes2.default.string).isRequired,animation:ANIMATION_PROPTYPES,onStart:_propTypes2.default.func,onEnd:_propTypes2.default.func};function getAnimationStyle(){var animationStyle=arguments.length>0&&arguments[0]!==undefined?arguments[0]:_reactMotion.presets.noWobble;if(typeof animationStyle==="string"){return _reactMotion.presets[animationStyle]||_reactMotion.presets.noWobble}var damping=animationStyle.damping,stiffness=animationStyle.stiffness;return _extends({damping:damping||_reactMotion.presets.noWobble.damping,stiffness:stiffness||_reactMotion.presets.noWobble.stiffness},animationStyle)}function extractAnimatedPropValues(props){var animatedProps=props.animatedProps,otherProps=_objectWithoutProperties(props,["animatedProps"]);return animatedProps.reduce(function(result,animatedPropName){if(otherProps.hasOwnProperty(animatedPropName)){result[animatedPropName]=otherProps[animatedPropName]}return result},{})}var Animation=function(_PureComponent){_inherits(Animation,_PureComponent);function Animation(props){_classCallCheck(this,Animation);var _this=_possibleConstructorReturn(this,(Animation.__proto__||Object.getPrototypeOf(Animation)).call(this,props));_this._motionEndHandler=function(){if(_this.props.onEnd){_this.props.onEnd()}};_this._renderChildren=function(_ref){var i=_ref.i;var children=_this.props.children;var interpolator=_this._interpolator;var child=_react2.default.Children.only(children);var interpolatedProps=interpolator?interpolator(i):interpolator;var data=interpolatedProps&&interpolatedProps.data||null;if(data&&child.props._data){data=data.map(function(row,index){var correspondingCell=child.props._data[index];return _extends({},row,{parent:correspondingCell.parent,children:correspondingCell.children})})}return _react2.default.cloneElement(child,_extends({},child.props,interpolatedProps,{data:data||child.props.data||null,_animation:Math.random()}))};_this._updateInterpolator(props);return _this}_createClass(Animation,[{key:"componentWillUpdate",value:function componentWillUpdate(props){this._updateInterpolator(this.props,props);if(props.onStart){props.onStart()}}},{key:"_updateInterpolator",value:function _updateInterpolator(oldProps,newProps){this._interpolator=(0,_d3Interpolate.interpolate)(extractAnimatedPropValues(oldProps),newProps?extractAnimatedPropValues(newProps):null)}},{key:"render",value:function render(){var animationStyle=getAnimationStyle(this.props.animation);var defaultStyle={i:0};var style={i:(0,_reactMotion.spring)(1,animationStyle)};var key=Math.random();return _react2.default.createElement(_reactMotion.Motion,_extends({defaultStyle:defaultStyle,style:style,key:key},{onRest:this._motionEndHandler}),this._renderChildren)}}]);return Animation}(_react.PureComponent);Animation.propTypes=propTypes;Animation.displayName="Animation";exports.default=Animation;var AnimationPropType=exports.AnimationPropType=ANIMATION_PROPTYPES},{"d3-interpolate":11,"prop-types":33,react:76,"react-motion":46}],78:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.ScaleUtils=exports.AxisUtils=exports.FlexibleHeightXYPlot=exports.FlexibleWidthXYPlot=exports.FlexibleXYPlot=exports.makeWidthFlexible=exports.makeVisFlexible=exports.makeHeightFlexible=exports.Treemap=exports.Sunburst=exports.Sankey=exports.RadialChart=exports.RadarChart=exports.ParallelCoordinates=exports.SearchableDiscreteColorLegend=exports.DiscreteColorLegend=exports.ContinuousSizeLegend=exports.ContinuousColorLegend=exports.YAxis=exports.XAxis=exports.XYPlot=exports.WhiskerSeries=exports.RectSeriesCanvas=exports.RectSeries=exports.Voronoi=exports.VerticalRectSeriesCanvas=exports.VerticalRectSeries=exports.VerticalGridLines=exports.VerticalBarSeriesCanvas=exports.VerticalBarSeries=exports.PolygonSeries=exports.MarkSeriesCanvas=exports.MarkSeries=exports.LineSeriesCanvas=exports.LineSeries=exports.LineMarkSeriesCanvas=exports.LineMarkSeries=exports.LabelSeries=exports.HorizontalRectSeriesCanvas=exports.HorizontalRectSeries=exports.HorizontalGridLines=exports.HorizontalBarSeriesCanvas=exports.HorizontalBarSeries=exports.Hint=exports.Highlight=exports.HexbinSeries=exports.HeatmapSeries=exports.GridLines=exports.GradientDefs=exports.DecorativeAxis=exports.CustomSVGSeries=exports.Crosshair=exports.ContourSeries=exports.CircularGridLines=exports.ChartLabel=exports.Borders=exports.AreaSeries=exports.ArcSeries=exports.AbstractSeries=undefined;var _makeVisFlexible=require("./make-vis-flexible");Object.defineProperty(exports,"makeHeightFlexible",{enumerable:true,get:function get(){return _makeVisFlexible.makeHeightFlexible}});Object.defineProperty(exports,"makeVisFlexible",{enumerable:true,get:function get(){return _makeVisFlexible.makeVisFlexible}});Object.defineProperty(exports,"makeWidthFlexible",{enumerable:true,get:function get(){return _makeVisFlexible.makeWidthFlexible}});Object.defineProperty(exports,"FlexibleXYPlot",{enumerable:true,get:function get(){return _makeVisFlexible.FlexibleXYPlot}});Object.defineProperty(exports,"FlexibleWidthXYPlot",{enumerable:true,get:function get(){return _makeVisFlexible.FlexibleWidthXYPlot}});Object.defineProperty(exports,"FlexibleHeightXYPlot",{enumerable:true,get:function get(){return _makeVisFlexible.FlexibleHeightXYPlot}});var _abstractSeries=require("./plot/series/abstract-series");var _abstractSeries2=_interopRequireDefault(_abstractSeries);var _arcSeries=require("./plot/series/arc-series");var _arcSeries2=_interopRequireDefault(_arcSeries);var _areaSeries=require("./plot/series/area-series");var _areaSeries2=_interopRequireDefault(_areaSeries);var _borders=require("./plot/borders");var _borders2=_interopRequireDefault(_borders);var _chartLabel=require("./plot/chart-label");var _chartLabel2=_interopRequireDefault(_chartLabel);var _circularGridLines=require("./plot/circular-grid-lines");var _circularGridLines2=_interopRequireDefault(_circularGridLines);var _contourSeries=require("./plot/series/contour-series");var _contourSeries2=_interopRequireDefault(_contourSeries);var _crosshair=require("./plot/crosshair");var _crosshair2=_interopRequireDefault(_crosshair);var _customSvgSeries=require("./plot/series/custom-svg-series");var _customSvgSeries2=_interopRequireDefault(_customSvgSeries);var _decorativeAxis=require("./plot/axis/decorative-axis");var _decorativeAxis2=_interopRequireDefault(_decorativeAxis);var _gradientDefs=require("./plot/gradient-defs");var _gradientDefs2=_interopRequireDefault(_gradientDefs);var _gridLines=require("./plot/grid-lines");var _gridLines2=_interopRequireDefault(_gridLines);var _heatmapSeries=require("./plot/series/heatmap-series");var _heatmapSeries2=_interopRequireDefault(_heatmapSeries);var _hexbinSeries=require("./plot/series/hexbin-series");var _hexbinSeries2=_interopRequireDefault(_hexbinSeries);var _highlight=require("./plot/highlight");var _highlight2=_interopRequireDefault(_highlight);var _hint=require("./plot/hint");var _hint2=_interopRequireDefault(_hint);var _horizontalBarSeries=require("./plot/series/horizontal-bar-series");var _horizontalBarSeries2=_interopRequireDefault(_horizontalBarSeries);var _horizontalBarSeriesCanvas=require("./plot/series/horizontal-bar-series-canvas");var _horizontalBarSeriesCanvas2=_interopRequireDefault(_horizontalBarSeriesCanvas);var _horizontalGridLines=require("./plot/horizontal-grid-lines");var _horizontalGridLines2=_interopRequireDefault(_horizontalGridLines);var _horizontalRectSeries=require("./plot/series/horizontal-rect-series");var _horizontalRectSeries2=_interopRequireDefault(_horizontalRectSeries);var _horizontalRectSeriesCanvas=require("./plot/series/horizontal-rect-series-canvas");var _horizontalRectSeriesCanvas2=_interopRequireDefault(_horizontalRectSeriesCanvas);var _labelSeries=require("./plot/series/label-series");var _labelSeries2=_interopRequireDefault(_labelSeries);var _lineMarkSeries=require("./plot/series/line-mark-series");var _lineMarkSeries2=_interopRequireDefault(_lineMarkSeries);var _lineMarkSeriesCanvas=require("./plot/series/line-mark-series-canvas");var _lineMarkSeriesCanvas2=_interopRequireDefault(_lineMarkSeriesCanvas);var _lineSeries=require("./plot/series/line-series");var _lineSeries2=_interopRequireDefault(_lineSeries);var _lineSeriesCanvas=require("./plot/series/line-series-canvas");var _lineSeriesCanvas2=_interopRequireDefault(_lineSeriesCanvas);var _markSeries=require("./plot/series/mark-series");var _markSeries2=_interopRequireDefault(_markSeries);var _markSeriesCanvas=require("./plot/series/mark-series-canvas");var _markSeriesCanvas2=_interopRequireDefault(_markSeriesCanvas);var _polygonSeries=require("./plot/series/polygon-series");var _polygonSeries2=_interopRequireDefault(_polygonSeries);var _verticalBarSeries=require("./plot/series/vertical-bar-series");var _verticalBarSeries2=_interopRequireDefault(_verticalBarSeries);var _verticalBarSeriesCanvas=require("./plot/series/vertical-bar-series-canvas");var _verticalBarSeriesCanvas2=_interopRequireDefault(_verticalBarSeriesCanvas);var _verticalGridLines=require("./plot/vertical-grid-lines");var _verticalGridLines2=_interopRequireDefault(_verticalGridLines);var _verticalRectSeries=require("./plot/series/vertical-rect-series");var _verticalRectSeries2=_interopRequireDefault(_verticalRectSeries);var _verticalRectSeriesCanvas=require("./plot/series/vertical-rect-series-canvas");var _verticalRectSeriesCanvas2=_interopRequireDefault(_verticalRectSeriesCanvas);var _voronoi=require("./plot/voronoi");var _voronoi2=_interopRequireDefault(_voronoi);var _rectSeries=require("./plot/series/rect-series");var _rectSeries2=_interopRequireDefault(_rectSeries);var _rectSeriesCanvas=require("./plot/series/rect-series-canvas");var _rectSeriesCanvas2=_interopRequireDefault(_rectSeriesCanvas);var _whiskerSeries=require("./plot/series/whisker-series");var _whiskerSeries2=_interopRequireDefault(_whiskerSeries);var _xyPlot=require("./plot/xy-plot");var _xyPlot2=_interopRequireDefault(_xyPlot);var _xAxis=require("./plot/axis/x-axis");var _xAxis2=_interopRequireDefault(_xAxis);var _yAxis=require("./plot/axis/y-axis");var _yAxis2=_interopRequireDefault(_yAxis);var _continuousColorLegend=require("./legends/continuous-color-legend");var _continuousColorLegend2=_interopRequireDefault(_continuousColorLegend);var _continuousSizeLegend=require("./legends/continuous-size-legend");var _continuousSizeLegend2=_interopRequireDefault(_continuousSizeLegend);var _discreteColorLegend=require("./legends/discrete-color-legend");var _discreteColorLegend2=_interopRequireDefault(_discreteColorLegend);var _searchableDiscreteColorLegend=require("./legends/searchable-discrete-color-legend");var _searchableDiscreteColorLegend2=_interopRequireDefault(_searchableDiscreteColorLegend);var _parallelCoordinates=require("./parallel-coordinates");var _parallelCoordinates2=_interopRequireDefault(_parallelCoordinates);var _radarChart=require("./radar-chart");var _radarChart2=_interopRequireDefault(_radarChart);var _radialChart=require("./radial-chart");var _radialChart2=_interopRequireDefault(_radialChart);var _sankey=require("./sankey");var _sankey2=_interopRequireDefault(_sankey);var _sunburst=require("./sunburst");var _sunburst2=_interopRequireDefault(_sunburst);var _treemap=require("./treemap");var _treemap2=_interopRequireDefault(_treemap);var _axisUtils=require("./utils/axis-utils");var _axisUtils2=_interopRequireDefault(_axisUtils);var _scalesUtils=require("./utils/scales-utils");var _scalesUtils2=_interopRequireDefault(_scalesUtils);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.AbstractSeries=_abstractSeries2.default;exports.ArcSeries=_arcSeries2.default;exports.AreaSeries=_areaSeries2.default;exports.Borders=_borders2.default;exports.ChartLabel=_chartLabel2.default;exports.CircularGridLines=_circularGridLines2.default;exports.ContourSeries=_contourSeries2.default;exports.Crosshair=_crosshair2.default;exports.CustomSVGSeries=_customSvgSeries2.default;exports.DecorativeAxis=_decorativeAxis2.default;exports.GradientDefs=_gradientDefs2.default;exports.GridLines=_gridLines2.default;exports.HeatmapSeries=_heatmapSeries2.default;exports.HexbinSeries=_hexbinSeries2.default;exports.Highlight=_highlight2.default;exports.Hint=_hint2.default;exports.HorizontalBarSeries=_horizontalBarSeries2.default;exports.HorizontalBarSeriesCanvas=_horizontalBarSeriesCanvas2.default;exports.HorizontalGridLines=_horizontalGridLines2.default;exports.HorizontalRectSeries=_horizontalRectSeries2.default;exports.HorizontalRectSeriesCanvas=_horizontalRectSeriesCanvas2.default;exports.LabelSeries=_labelSeries2.default;exports.LineMarkSeries=_lineMarkSeries2.default;exports.LineMarkSeriesCanvas=_lineMarkSeriesCanvas2.default;exports.LineSeries=_lineSeries2.default;exports.LineSeriesCanvas=_lineSeriesCanvas2.default;exports.MarkSeries=_markSeries2.default;exports.MarkSeriesCanvas=_markSeriesCanvas2.default;exports.PolygonSeries=_polygonSeries2.default;exports.VerticalBarSeries=_verticalBarSeries2.default;exports.VerticalBarSeriesCanvas=_verticalBarSeriesCanvas2.default;exports.VerticalGridLines=_verticalGridLines2.default;exports.VerticalRectSeries=_verticalRectSeries2.default;exports.VerticalRectSeriesCanvas=_verticalRectSeriesCanvas2.default;exports.Voronoi=_voronoi2.default;exports.RectSeries=_rectSeries2.default;exports.RectSeriesCanvas=_rectSeriesCanvas2.default;exports.WhiskerSeries=_whiskerSeries2.default;exports.XYPlot=_xyPlot2.default;exports.XAxis=_xAxis2.default;exports.YAxis=_yAxis2.default;exports.ContinuousColorLegend=_continuousColorLegend2.default;exports.ContinuousSizeLegend=_continuousSizeLegend2.default;exports.DiscreteColorLegend=_discreteColorLegend2.default;exports.SearchableDiscreteColorLegend=_searchableDiscreteColorLegend2.default;exports.ParallelCoordinates=_parallelCoordinates2.default;exports.RadarChart=_radarChart2.default;exports.RadialChart=_radialChart2.default;exports.Sankey=_sankey2.default;exports.Sunburst=_sunburst2.default;exports.Treemap=_treemap2.default;exports.AxisUtils=_axisUtils2.default;exports.ScaleUtils=_scalesUtils2.default},{"./legends/continuous-color-legend":79,"./legends/continuous-size-legend":80,"./legends/discrete-color-legend":82,"./legends/searchable-discrete-color-legend":83,"./make-vis-flexible":84,"./parallel-coordinates":85,"./plot/axis/decorative-axis":91,"./plot/axis/x-axis":92,"./plot/axis/y-axis":93,"./plot/borders":94,"./plot/chart-label":95,"./plot/circular-grid-lines":96,"./plot/crosshair":97,"./plot/gradient-defs":98,"./plot/grid-lines":99,"./plot/highlight":100,"./plot/hint":101,"./plot/horizontal-grid-lines":102,"./plot/series/abstract-series":103,"./plot/series/arc-series":104,"./plot/series/area-series":105,"./plot/series/contour-series":109,"./plot/series/custom-svg-series":110,"./plot/series/heatmap-series":111,"./plot/series/hexbin-series":112,"./plot/series/horizontal-bar-series":114,"./plot/series/horizontal-bar-series-canvas":113,"./plot/series/horizontal-rect-series":116,"./plot/series/horizontal-rect-series-canvas":115,"./plot/series/label-series":117,"./plot/series/line-mark-series":119,"./plot/series/line-mark-series-canvas":118,"./plot/series/line-series":121,"./plot/series/line-series-canvas":120,"./plot/series/mark-series":123,"./plot/series/mark-series-canvas":122,"./plot/series/polygon-series":124,"./plot/series/rect-series":126,"./plot/series/rect-series-canvas":125,"./plot/series/vertical-bar-series":128,"./plot/series/vertical-bar-series-canvas":127,"./plot/series/vertical-rect-series":130,"./plot/series/vertical-rect-series-canvas":129,"./plot/series/whisker-series":131,"./plot/vertical-grid-lines":132,"./plot/voronoi":133,"./plot/xy-plot":134,"./radar-chart":135,"./radial-chart":136,"./sankey":137,"./sunburst":139,"./treemap":141,"./utils/axis-utils":145,"./utils/scales-utils":149}],79:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _theme=require("../theme");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var propTypes={className:_propTypes2.default.string,height:_propTypes2.default.number,endColor:_propTypes2.default.string,endTitle:_propTypes2.default.oneOfType([_propTypes2.default.number,_propTypes2.default.string]).isRequired,midColor:_propTypes2.default.string,midTitle:_propTypes2.default.oneOfType([_propTypes2.default.number,_propTypes2.default.string]),startColor:_propTypes2.default.string,startTitle:_propTypes2.default.oneOfType([_propTypes2.default.number,_propTypes2.default.string]).isRequired,width:_propTypes2.default.number};var defaultProps={className:"",startColor:_theme.CONTINUOUS_COLOR_RANGE[0],endColor:_theme.CONTINUOUS_COLOR_RANGE[1]};function ContinuousColorLegend(_ref){var startColor=_ref.startColor,midColor=_ref.midColor,endColor=_ref.endColor,startTitle=_ref.startTitle,midTitle=_ref.midTitle,endTitle=_ref.endTitle,height=_ref.height,width=_ref.width,className=_ref.className;var colors=[startColor];if(midColor){colors.push(midColor)}colors.push(endColor);return _react2.default.createElement("div",{className:"rv-continuous-color-legend "+className,style:{width:width,height:height}},_react2.default.createElement("div",{className:"rv-gradient",style:{background:"linear-gradient(to right, "+colors.join(",")+")"}}),_react2.default.createElement("div",{className:"rv-legend-titles"},_react2.default.createElement("span",{className:"rv-legend-titles__left"},startTitle),_react2.default.createElement("span",{className:"rv-legend-titles__right"},endTitle),midTitle?_react2.default.createElement("span",{className:"rv-legend-titles__center"},midTitle):null))}ContinuousColorLegend.displayName="ContinuousColorLegend";ContinuousColorLegend.propTypes=propTypes;ContinuousColorLegend.defaultProps=defaultProps;exports.default=ContinuousColorLegend},{"../theme":140,"prop-types":33,react:76}],80:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var propTypes={className:_propTypes2.default.string,circlesTotal:_propTypes2.default.number,endSize:_propTypes2.default.number,endTitle:_propTypes2.default.oneOfType([_propTypes2.default.number,_propTypes2.default.string]).isRequired,height:_propTypes2.default.number,startSize:_propTypes2.default.number,startTitle:_propTypes2.default.oneOfType([_propTypes2.default.number,_propTypes2.default.string]).isRequired,width:_propTypes2.default.number};var defaultProps={circlesTotal:10,className:"",endSize:20,startSize:2};function ContinuousSizeLegend(_ref){var startTitle=_ref.startTitle,endTitle=_ref.endTitle,startSize=_ref.startSize,endSize=_ref.endSize,circlesTotal=_ref.circlesTotal,height=_ref.height,width=_ref.width,className=_ref.className;var circles=[];var step=(endSize-startSize)/(circlesTotal-1);for(var i=0;i<circlesTotal;i++){var size=step*i+startSize;circles.push(_react2.default.createElement("div",{key:i,className:"rv-bubble",style:{width:size,height:size,borderRadius:size/2}}));circles.push(" ")}return _react2.default.createElement("div",{className:"rv-continuous-size-legend "+className,style:{width:width,height:height}},_react2.default.createElement("div",{className:"rv-bubbles",style:{height:endSize}},circles,_react2.default.createElement("div",{className:"rv-spacer"})),_react2.default.createElement("div",{className:"rv-legend-titles"},_react2.default.createElement("span",{className:"rv-legend-titles__left"},startTitle),_react2.default.createElement("span",{className:"rv-legend-titles__right"},endTitle)))}ContinuousSizeLegend.displayName="ContinuousSizeLegend";ContinuousSizeLegend.propTypes=propTypes;ContinuousSizeLegend.defaultProps=defaultProps;exports.default=ContinuousSizeLegend},{"prop-types":33,react:76}],81:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var STROKE_STYLES={dashed:"6, 2",solid:null};function DiscreteColorLegendItem(_ref){var color=_ref.color,strokeDasharray=_ref.strokeDasharray,strokeStyle=_ref.strokeStyle,strokeWidth=_ref.strokeWidth,disabled=_ref.disabled,onClick=_ref.onClick,orientation=_ref.orientation,onMouseEnter=_ref.onMouseEnter,onMouseLeave=_ref.onMouseLeave,title=_ref.title;var className="rv-discrete-color-legend-item "+orientation;if(disabled){className+=" disabled"}if(onClick){className+=" clickable"}var strokeDasharrayStyle=STROKE_STYLES[strokeStyle]||strokeDasharray;return _react2.default.createElement("div",{className:className,onClick:onClick,onMouseEnter:onMouseEnter,onMouseLeave:onMouseLeave},_react2.default.createElement("svg",{className:"rv-discrete-color-legend-item__color",height:2,width:14},_react2.default.createElement("path",{className:"rv-discrete-color-legend-item__color__path",d:"M 0, 1 L 14, 1",style:_extends({},strokeWidth?{strokeWidth:strokeWidth}:{},strokeDasharrayStyle?{strokeDasharray:strokeDasharrayStyle}:{},{stroke:disabled?null:color})})),_react2.default.createElement("span",{className:"rv-discrete-color-legend-item__title"},title))}DiscreteColorLegendItem.propTypes={color:_propTypes2.default.string.isRequired,disabled:_propTypes2.default.bool,title:_propTypes2.default.oneOfType([_propTypes2.default.string,_propTypes2.default.element]).isRequired,onClick:_propTypes2.default.func,onMouseEnter:_propTypes2.default.func,onMouseLeave:_propTypes2.default.func,orientation:_propTypes2.default.oneOf(["vertical","horizontal"]).isRequired,strokeDasharray:_propTypes2.default.string,strokeWidth:_propTypes2.default.number,strokeStyle:_propTypes2.default.oneOf(Object.keys(STROKE_STYLES))};DiscreteColorLegendItem.defaultProps={disabled:false,strokeStyle:"solid"};DiscreteColorLegendItem.displayName="DiscreteColorLegendItem";exports.default=DiscreteColorLegendItem},{"prop-types":33,react:76}],82:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _discreteColorLegendItem=require("./discrete-color-legend-item");var _discreteColorLegendItem2=_interopRequireDefault(_discreteColorLegendItem);var _theme=require("../theme");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function DiscreteColorLegend(_ref){var className=_ref.className,colors=_ref.colors,height=_ref.height,items=_ref.items,onItemClick=_ref.onItemClick,onItemMouseEnter=_ref.onItemMouseEnter,onItemMouseLeave=_ref.onItemMouseLeave,orientation=_ref.orientation,style=_ref.style,width=_ref.width;return _react2.default.createElement("div",{className:"rv-discrete-color-legend "+orientation+" "+className,style:_extends({width:width,height:height},style)},items.map(function(item,i){return _react2.default.createElement(_discreteColorLegendItem2.default,{title:item.title?item.title:item,color:item.color?item.color:colors[i%colors.length],strokeDasharray:item.strokeDasharray,strokeStyle:item.strokeStyle,strokeWidth:item.strokeWidth,disabled:Boolean(item.disabled),orientation:orientation,key:i,onClick:onItemClick?function(e){return onItemClick(item,i,e)}:null,onMouseEnter:onItemMouseEnter?function(e){return onItemMouseEnter(item,i,e)}:null,onMouseLeave:onItemMouseEnter?function(e){return onItemMouseLeave(item,i,e)}:null})}))}DiscreteColorLegend.displayName="DiscreteColorLegendItem";DiscreteColorLegend.propTypes={className:_propTypes2.default.string,items:_propTypes2.default.arrayOf(_propTypes2.default.oneOfType([_propTypes2.default.shape({title:_propTypes2.default.oneOfType([_propTypes2.default.string,_propTypes2.default.element]).isRequired,color:_propTypes2.default.string,disabled:_propTypes2.default.bool}),_propTypes2.default.string.isRequired,_propTypes2.default.element])).isRequired,onItemClick:_propTypes2.default.func,onItemMouseEnter:_propTypes2.default.func,onItemMouseLeave:_propTypes2.default.func,height:_propTypes2.default.number,width:_propTypes2.default.number,orientation:_propTypes2.default.oneOf(["vertical","horizontal"])};DiscreteColorLegend.defaultProps={className:"",colors:_theme.DISCRETE_COLOR_RANGE,orientation:"vertical"};exports.default=DiscreteColorLegend},{"../theme":140,"./discrete-color-legend-item":81,"prop-types":33,react:76}],83:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _discreteColorLegend=require("./discrete-color-legend");var _discreteColorLegend2=_interopRequireDefault(_discreteColorLegend);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var propTypes=_extends({},_discreteColorLegend2.default.propTypes,{searchText:_propTypes2.default.string,onSearchChange:_propTypes2.default.func,searchPlaceholder:_propTypes2.default.string,searchFn:_propTypes2.default.func});var defaultProps={className:"",searchText:"",searchFn:function searchFn(items,s){return items.filter(function(item){return String(item.title||item).toLowerCase().indexOf(s)!==-1})}};function SearchableDiscreteColorLegend(props){var className=props.className,colors=props.colors,height=props.height,items=props.items,onItemClick=props.onItemClick,onSearchChange=props.onSearchChange,orientation=props.orientation,searchFn=props.searchFn,searchPlaceholder=props.searchPlaceholder,searchText=props.searchText,width=props.width;var onChange=onSearchChange?function(_ref){var value=_ref.target.value;return onSearchChange(value)}:null;var filteredItems=searchFn(items,searchText);return _react2.default.createElement("div",{className:"rv-search-wrapper "+className,style:{width:width,height:height}},_react2.default.createElement("form",{className:"rv-search-wrapper__form"},_react2.default.createElement("input",{type:"search",placeholder:searchPlaceholder,className:"rv-search-wrapper__form__input",value:searchText,onChange:onChange})),_react2.default.createElement("div",{className:"rv-search-wrapper__contents"},_react2.default.createElement(_discreteColorLegend2.default,{colors:colors,items:filteredItems,onItemClick:onItemClick,orientation:orientation})))}SearchableDiscreteColorLegend.propTypes=propTypes;SearchableDiscreteColorLegend.defaultProps=defaultProps;SearchableDiscreteColorLegend.displayName="SearchableDiscreteColorLegend";exports.default=SearchableDiscreteColorLegend},{"./discrete-color-legend":82,"prop-types":33,react:76}],84:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.FlexibleXYPlot=exports.FlexibleHeightXYPlot=exports.FlexibleWidthXYPlot=undefined;var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();exports.makeHeightFlexible=makeHeightFlexible;exports.makeVisFlexible=makeVisFlexible;exports.makeWidthFlexible=makeWidthFlexible;var _react=require("react");var _react2=_interopRequireDefault(_react);var _window=require("global/window");var _window2=_interopRequireDefault(_window);var _xyPlot=require("./plot/xy-plot");var _xyPlot2=_interopRequireDefault(_xyPlot);var _reactUtils=require("./utils/react-utils");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _objectWithoutProperties(obj,keys){var target={};for(var i in obj){if(keys.indexOf(i)>=0)continue;if(!Object.prototype.hasOwnProperty.call(obj,i))continue;target[i]=obj[i]}return target}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var CONTAINER_REF="container";var resizeSubscribers=[];var DEBOUNCE_DURATION=100;var timeoutId=null;function debounceEmitResize(){_window2.default.clearTimeout(timeoutId);timeoutId=_window2.default.setTimeout(emitResize,DEBOUNCE_DURATION)}function emitResize(){resizeSubscribers.forEach(function(cb){return cb()})}function subscribeToDebouncedResize(cb){resizeSubscribers.push(cb);if(resizeSubscribers.length===1){_window2.default.addEventListener("resize",debounceEmitResize)}return function unsubscribe(){removeSubscriber(cb);if(resizeSubscribers.length===0){_window2.default.clearTimeout(timeoutId);_window2.default.removeEventListener("resize",debounceEmitResize)}}}function removeSubscriber(cb){var index=resizeSubscribers.indexOf(cb);if(index>-1){resizeSubscribers.splice(index,1)}}function getDisplayName(Component){return Component.displayName||Component.name||"Component"}function makeFlexible(Component,isWidthFlexible,isHeightFlexible){
  14. var ResultClass=function(_React$Component){_inherits(ResultClass,_React$Component);_createClass(ResultClass,null,[{key:"propTypes",get:function get(){var _Component$propTypes=Component.propTypes,height=_Component$propTypes.height,width=_Component$propTypes.width,otherPropTypes=_objectWithoutProperties(_Component$propTypes,["height","width"]);return otherPropTypes}}]);function ResultClass(props){_classCallCheck(this,ResultClass);var _this=_possibleConstructorReturn(this,(ResultClass.__proto__||Object.getPrototypeOf(ResultClass)).call(this,props));_this._onResize=function(){var containerElement=(0,_reactUtils.getDOMNode)(_this[CONTAINER_REF]);var offsetHeight=containerElement.offsetHeight,offsetWidth=containerElement.offsetWidth;var newHeight=_this.state.height===offsetHeight?{}:{height:offsetHeight};var newWidth=_this.state.width===offsetWidth?{}:{width:offsetWidth};_this.setState(_extends({},newHeight,newWidth))};_this.state={height:0,width:0};return _this}_createClass(ResultClass,[{key:"componentDidMount",value:function componentDidMount(){this._onResize();this.cancelSubscription=subscribeToDebouncedResize(this._onResize)}},{key:"componentWillReceiveProps",value:function componentWillReceiveProps(){this._onResize()}},{key:"componentWillUnmount",value:function componentWillUnmount(){this.cancelSubscription()}},{key:"render",value:function render(){var _this2=this;var _state=this.state,height=_state.height,width=_state.width;var props=_extends({},this.props,{animation:height===0&&width===0?null:this.props.animation});var updatedDimensions=_extends({},isHeightFlexible?{height:height}:{},isWidthFlexible?{width:width}:{});return _react2.default.createElement("div",{ref:function ref(_ref){return _this2[CONTAINER_REF]=_ref},style:{width:"100%",height:"100%"}},_react2.default.createElement(Component,_extends({},updatedDimensions,props)))}}]);return ResultClass}(_react2.default.Component);ResultClass.displayName="Flexible"+getDisplayName(Component);return ResultClass}function makeHeightFlexible(component){return makeFlexible(component,false,true)}function makeVisFlexible(component){return makeFlexible(component,true,true)}function makeWidthFlexible(component){return makeFlexible(component,true,false)}var FlexibleWidthXYPlot=exports.FlexibleWidthXYPlot=makeWidthFlexible(_xyPlot2.default);var FlexibleHeightXYPlot=exports.FlexibleHeightXYPlot=makeHeightFlexible(_xyPlot2.default);var FlexibleXYPlot=exports.FlexibleXYPlot=makeVisFlexible(_xyPlot2.default)},{"./plot/xy-plot":134,"./utils/react-utils":148,"global/window":26,react:76}],85:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _d3Scale=require("d3-scale");var _d3Format=require("d3-format");var _animation=require("../animation");var _xyPlot=require("../plot/xy-plot");var _xyPlot2=_interopRequireDefault(_xyPlot);var _theme=require("../theme");var _chartUtils=require("../utils/chart-utils");var _lineSeries=require("../plot/series/line-series");var _lineSeries2=_interopRequireDefault(_lineSeries);var _lineMarkSeries=require("../plot/series/line-mark-series");var _lineMarkSeries2=_interopRequireDefault(_lineMarkSeries);var _labelSeries=require("../plot/series/label-series");var _labelSeries2=_interopRequireDefault(_labelSeries);var _decorativeAxis=require("../plot/axis/decorative-axis");var _decorativeAxis2=_interopRequireDefault(_decorativeAxis);var _highlight=require("../plot/highlight");var _highlight2=_interopRequireDefault(_highlight);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var predefinedClassName="rv-parallel-coordinates-chart";var DEFAULT_FORMAT=(0,_d3Format.format)(".2r");function getAxes(props){var animation=props.animation,domains=props.domains,style=props.style,tickFormat=props.tickFormat;return domains.map(function(domain,index){var sortedDomain=domain.domain;var domainTickFormat=function domainTickFormat(t){return domain.tickFormat?domain.tickFormat(t):tickFormat(t)};return _react2.default.createElement(_decorativeAxis2.default,{animation:animation,key:index+"-axis",axisStart:{x:domain.name,y:0},axisEnd:{x:domain.name,y:1},axisDomain:sortedDomain,numberOfTicks:5,tickValue:domainTickFormat,style:style.axes})})}function getLabels(props){var domains=props.domains,style=props.style;return domains.map(function(domain,index){return{x:domain.name,y:1.1,label:domain.name,style:style}})}function getLines(props){var animation=props.animation,brushFilters=props.brushFilters,colorRange=props.colorRange,domains=props.domains,data=props.data,style=props.style,showMarks=props.showMarks;var scales=domains.reduce(function(acc,_ref){var domain=_ref.domain,name=_ref.name;acc[name]=(0,_d3Scale.scaleLinear)().domain(domain).range([0,1]);return acc},{});return data.map(function(row,rowIndex){var withinFilteredRange=true;var mappedData=domains.map(function(domain,index){var getValue=domain.getValue,name=domain.name;var yVal=scales[name](getValue?getValue(row):row[name]);var filter=brushFilters[name];if(filter&&(yVal<filter.min||yVal>filter.max)){withinFilteredRange=false}return{x:name,y:yVal}});var selectedName=predefinedClassName+"-line";var unselectedName=selectedName+" "+predefinedClassName+"-line-unselected";var lineProps={animation:animation,className:withinFilteredRange?selectedName:unselectedName,key:rowIndex+"-polygon",data:mappedData,color:row.color||colorRange[rowIndex%colorRange.length],style:_extends({},style.lines,row.style||{})};if(!withinFilteredRange){lineProps.style=_extends({},lineProps.style,style.deselectedLineStyle)}return showMarks?_react2.default.createElement(_lineMarkSeries2.default,lineProps):_react2.default.createElement(_lineSeries2.default,lineProps)})}var ParallelCoordinates=function(_Component){_inherits(ParallelCoordinates,_Component);function ParallelCoordinates(){var _ref2;var _temp,_this,_ret;_classCallCheck(this,ParallelCoordinates);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}return _ret=(_temp=(_this=_possibleConstructorReturn(this,(_ref2=ParallelCoordinates.__proto__||Object.getPrototypeOf(ParallelCoordinates)).call.apply(_ref2,[this].concat(args))),_this),_this.state={brushFilters:{}},_temp),_possibleConstructorReturn(_this,_ret)}_createClass(ParallelCoordinates,[{key:"render",value:function render(){var _this2=this;var brushFilters=this.state.brushFilters;var _props=this.props,animation=_props.animation,brushing=_props.brushing,className=_props.className,children=_props.children,colorRange=_props.colorRange,data=_props.data,domains=_props.domains,height=_props.height,hideInnerMostValues=_props.hideInnerMostValues,margin=_props.margin,onMouseLeave=_props.onMouseLeave,onMouseEnter=_props.onMouseEnter,showMarks=_props.showMarks,style=_props.style,tickFormat=_props.tickFormat,width=_props.width;var axes=getAxes({domains:domains,animation:animation,hideInnerMostValues:hideInnerMostValues,style:style,tickFormat:tickFormat});var lines=getLines({animation:animation,brushFilters:brushFilters,colorRange:colorRange,domains:domains,data:data,showMarks:showMarks,style:style});var labelSeries=_react2.default.createElement(_labelSeries2.default,{animation:true,key:className,className:predefinedClassName+"-label",data:getLabels({domains:domains,style:style.labels})});var _getInnerDimensions=(0,_chartUtils.getInnerDimensions)(this.props,_chartUtils.DEFAULT_MARGINS),marginLeft=_getInnerDimensions.marginLeft,marginRight=_getInnerDimensions.marginRight;return _react2.default.createElement(_xyPlot2.default,{height:height,width:width,margin:margin,dontCheckIfEmpty:true,className:className+" "+predefinedClassName,onMouseLeave:onMouseLeave,onMouseEnter:onMouseEnter,xType:"ordinal",yDomain:[0,1]},children,axes.concat(lines).concat(labelSeries),brushing&&domains.map(function(d){var trigger=function trigger(row){_this2.setState({brushFilters:_extends({},brushFilters,_defineProperty({},d.name,row?{min:row.bottom,max:row.top}:null))})};return _react2.default.createElement(_highlight2.default,{key:d.name,drag:true,highlightX:d.name,onBrushEnd:trigger,onDragEnd:trigger,highlightWidth:(width-marginLeft-marginRight)/domains.length,enableX:false})}))}}]);return ParallelCoordinates}(_react.Component);ParallelCoordinates.displayName="ParallelCoordinates";ParallelCoordinates.propTypes={animation:_animation.AnimationPropType,brushing:_propTypes2.default.bool,className:_propTypes2.default.string,colorType:_propTypes2.default.string,colorRange:_propTypes2.default.arrayOf(_propTypes2.default.string),data:_propTypes2.default.arrayOf(_propTypes2.default.object).isRequired,domains:_propTypes2.default.arrayOf(_propTypes2.default.shape({name:_propTypes2.default.string.isRequired,domain:_propTypes2.default.arrayOf(_propTypes2.default.number).isRequired,tickFormat:_propTypes2.default.func})).isRequired,height:_propTypes2.default.number.isRequired,margin:_chartUtils.MarginPropType,style:_propTypes2.default.shape({axes:_propTypes2.default.object,labels:_propTypes2.default.object,lines:_propTypes2.default.object}),showMarks:_propTypes2.default.bool,tickFormat:_propTypes2.default.func,width:_propTypes2.default.number.isRequired};ParallelCoordinates.defaultProps={className:"",colorType:"category",colorRange:_theme.DISCRETE_COLOR_RANGE,style:{axes:{line:{},ticks:{},text:{}},labels:{fontSize:10,textAnchor:"middle"},lines:{strokeWidth:1,strokeOpacity:1},deselectedLineStyle:{strokeOpacity:.1}},tickFormat:DEFAULT_FORMAT};exports.default=ParallelCoordinates},{"../animation":77,"../plot/axis/decorative-axis":91,"../plot/highlight":100,"../plot/series/label-series":117,"../plot/series/line-mark-series":119,"../plot/series/line-series":121,"../plot/xy-plot":134,"../theme":140,"../utils/chart-utils":146,"d3-format":7,"d3-scale":14,"prop-types":33,react:76}],86:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _axisUtils=require("../../utils/axis-utils");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var LEFT=_axisUtils.ORIENTATION.LEFT,RIGHT=_axisUtils.ORIENTATION.RIGHT,TOP=_axisUtils.ORIENTATION.TOP,BOTTOM=_axisUtils.ORIENTATION.BOTTOM;var propTypes={height:_propTypes2.default.number.isRequired,style:_propTypes2.default.object,orientation:_propTypes2.default.oneOf([LEFT,RIGHT,TOP,BOTTOM]).isRequired,width:_propTypes2.default.number.isRequired};var defaultProps={style:{}};function AxisLine(_ref){var orientation=_ref.orientation,width=_ref.width,height=_ref.height,style=_ref.style;var lineProps=void 0;if(orientation===LEFT){lineProps={x1:width,x2:width,y1:0,y2:height}}else if(orientation===RIGHT){lineProps={x1:0,x2:0,y1:0,y2:height}}else if(orientation===TOP){lineProps={x1:0,x2:width,y1:height,y2:height}}else{lineProps={x1:0,x2:width,y1:0,y2:0}}return _react2.default.createElement("line",_extends({},lineProps,{className:"rv-xy-plot__axis__line",style:style}))}AxisLine.defaultProps=defaultProps;AxisLine.displayName="AxisLine";AxisLine.propTypes=propTypes;exports.default=AxisLine},{"../../utils/axis-utils":145,"prop-types":33,react:76}],87:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _axisUtils=require("../../utils/axis-utils");var _scalesUtils=require("../../utils/scales-utils");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var LEFT=_axisUtils.ORIENTATION.LEFT,RIGHT=_axisUtils.ORIENTATION.RIGHT,TOP=_axisUtils.ORIENTATION.TOP,BOTTOM=_axisUtils.ORIENTATION.BOTTOM;var propTypes={height:_propTypes2.default.number.isRequired,orientation:_propTypes2.default.oneOf([LEFT,RIGHT,TOP,BOTTOM]).isRequired,style:_propTypes2.default.object,width:_propTypes2.default.number.isRequired};var defaultProps={style:{}};function _getTickFormatFn(scale,tickTotal,tickFormat){return!tickFormat?scale.tickFormat?scale.tickFormat(tickTotal):function(v){return v}:tickFormat}var AxisTicks=function(_React$Component){_inherits(AxisTicks,_React$Component);function AxisTicks(){_classCallCheck(this,AxisTicks);return _possibleConstructorReturn(this,(AxisTicks.__proto__||Object.getPrototypeOf(AxisTicks)).apply(this,arguments))}_createClass(AxisTicks,[{key:"_areTicksWrapped",value:function _areTicksWrapped(){var orientation=this.props.orientation;return orientation===LEFT||orientation===TOP}},{key:"_getTickContainerPropsGetterFn",value:function _getTickContainerPropsGetterFn(){if(this._isAxisVertical()){return function(pos){return{transform:"translate(0, "+pos+")"}}}return function(pos){return{transform:"translate("+pos+", 0)"}}}},{key:"_getTickLabelProps",value:function _getTickLabelProps(){var _props=this.props,orientation=_props.orientation,tickLabelAngle=_props.tickLabelAngle,tickSize=_props.tickSize,_props$tickSizeOuter=_props.tickSizeOuter,tickSizeOuter=_props$tickSizeOuter===undefined?tickSize:_props$tickSizeOuter,_props$tickPadding=_props.tickPadding,tickPadding=_props$tickPadding===undefined?tickSize:_props$tickPadding;var textAnchor=void 0;if(orientation===LEFT||orientation===BOTTOM&&tickLabelAngle){textAnchor="end"}else if(orientation===RIGHT||orientation===TOP&&tickLabelAngle){textAnchor="start"}else{textAnchor="middle"}var isVertical=this._isAxisVertical();var wrap=this._areTicksWrapped()?-1:1;var labelOffset=wrap*(tickSizeOuter+tickPadding);var transform=(isVertical?"translate("+labelOffset+", 0)":"translate(0, "+labelOffset+")")+(tickLabelAngle?" rotate("+tickLabelAngle+")":"");var dy=orientation===TOP||tickLabelAngle?"0":orientation===BOTTOM?"0.72em":"0.32em";return{textAnchor:textAnchor,dy:dy,transform:transform}}},{key:"_getTickLineProps",value:function _getTickLineProps(){var _ref;var _props2=this.props,tickSize=_props2.tickSize,_props2$tickSizeOuter=_props2.tickSizeOuter,tickSizeOuter=_props2$tickSizeOuter===undefined?tickSize:_props2$tickSizeOuter,_props2$tickSizeInner=_props2.tickSizeInner,tickSizeInner=_props2$tickSizeInner===undefined?tickSize:_props2$tickSizeInner;var isVertical=this._isAxisVertical();var tickXAttr=isVertical?"y":"x";var tickYAttr=isVertical?"x":"y";var wrap=this._areTicksWrapped()?-1:1;return _ref={},_defineProperty(_ref,tickXAttr+"1",0),_defineProperty(_ref,tickXAttr+"2",0),_defineProperty(_ref,tickYAttr+"1",-wrap*tickSizeInner),_defineProperty(_ref,tickYAttr+"2",wrap*tickSizeOuter),_ref}},{key:"_isAxisVertical",value:function _isAxisVertical(){var orientation=this.props.orientation;return orientation===LEFT||orientation===RIGHT}},{key:"render",value:function render(){var _props3=this.props,attr=_props3.attr,orientation=_props3.orientation,width=_props3.width,height=_props3.height,style=_props3.style,tickFormat=_props3.tickFormat,tickTotal=_props3.tickTotal,tickValues=_props3.tickValues;var x=orientation===LEFT?width:0;var y=orientation===TOP?height:0;var scale=(0,_scalesUtils.getAttributeScale)(this.props,attr);var values=(0,_axisUtils.getTickValues)(scale,tickTotal,tickValues);var tickFormatFn=_getTickFormatFn(scale,tickTotal,tickFormat);var translateFn=this._getTickContainerPropsGetterFn();var pathProps=this._getTickLineProps();var textProps=this._getTickLabelProps();var ticks=values.map(function(v,i){var pos=scale(v);var labelNode=tickFormatFn(v,i,scale,tickTotal);var shouldRenderAsOwnNode=_react2.default.isValidElement(labelNode)&&!["tspan","textPath"].includes(labelNode.type);var shouldAddProps=labelNode&&typeof labelNode.type!=="string";return _react2.default.createElement("g",_extends({key:i},translateFn(pos,0),{className:"rv-xy-plot__axis__tick",style:style}),_react2.default.createElement("line",_extends({},pathProps,{className:"rv-xy-plot__axis__tick__line",style:_extends({},style,style.line)})),shouldRenderAsOwnNode?_react2.default.cloneElement(labelNode,shouldAddProps?_extends({},textProps,{containerWidth:width,tickCount:values.length}):undefined):_react2.default.createElement("text",_extends({},textProps,{className:"rv-xy-plot__axis__tick__text",style:_extends({},style,style.text)}),labelNode))});return _react2.default.createElement("g",{transform:"translate("+x+", "+y+")",className:"rv-xy-plot__axis__ticks"},ticks)}}]);return AxisTicks}(_react2.default.Component);AxisTicks.defaultProps=defaultProps;AxisTicks.displayName="AxisTicks";AxisTicks.propTypes=propTypes;AxisTicks.requiresSVG=true;exports.default=AxisTicks},{"../../utils/axis-utils":145,"../../utils/scales-utils":149,"prop-types":33,react:76}],88:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _axisUtils=require("../../utils/axis-utils");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}var ADJUSTMENT_FOR_TEXT_SIZE=16;var MARGIN=6;var LEFT=_axisUtils.ORIENTATION.LEFT,RIGHT=_axisUtils.ORIENTATION.RIGHT,TOP=_axisUtils.ORIENTATION.TOP,BOTTOM=_axisUtils.ORIENTATION.BOTTOM;var defaultProps={position:"end"};var transformation=function transformation(width,height){var _ref;return _ref={},_defineProperty(_ref,LEFT,{end:{x:ADJUSTMENT_FOR_TEXT_SIZE,y:MARGIN,rotation:-90,textAnchor:"end"},middle:{x:ADJUSTMENT_FOR_TEXT_SIZE,y:height/2-MARGIN,rotation:-90,textAnchor:"middle"},start:{x:ADJUSTMENT_FOR_TEXT_SIZE,y:height-MARGIN,rotation:-90,textAnchor:"start"}}),_defineProperty(_ref,RIGHT,{end:{x:ADJUSTMENT_FOR_TEXT_SIZE*-.5,y:MARGIN,rotation:-90,textAnchor:"end"},middle:{x:ADJUSTMENT_FOR_TEXT_SIZE*-.5,y:height/2-MARGIN,rotation:-90,textAnchor:"middle"},start:{x:ADJUSTMENT_FOR_TEXT_SIZE*-.5,y:height-MARGIN,rotation:-90,textAnchor:"start"}}),_defineProperty(_ref,TOP,{start:{x:MARGIN,y:ADJUSTMENT_FOR_TEXT_SIZE,rotation:0,textAnchor:"start"},middle:{x:width/2-MARGIN,y:ADJUSTMENT_FOR_TEXT_SIZE,rotation:0,textAnchor:"middle"},end:{x:width-MARGIN,y:ADJUSTMENT_FOR_TEXT_SIZE,rotation:0,textAnchor:"end"}}),_defineProperty(_ref,BOTTOM,{start:{x:MARGIN,y:-MARGIN,rotation:0,textAnchor:"start"},middle:{x:width/2-MARGIN,y:-MARGIN,rotation:0,textAnchor:"middle"},end:{x:width-MARGIN,y:-MARGIN,rotation:0,textAnchor:"end"}}),_ref};var propTypes={width:_propTypes2.default.number.isRequired,height:_propTypes2.default.number.isRequired,orientation:_propTypes2.default.oneOf([LEFT,RIGHT,TOP,BOTTOM]).isRequired,style:_propTypes2.default.object,title:_propTypes2.default.string.isRequired};function AxisTitle(_ref2){var orientation=_ref2.orientation,position=_ref2.position,width=_ref2.width,height=_ref2.height,style=_ref2.style,title=_ref2.title;var outerGroupTranslateX=orientation===LEFT?width:0;var outerGroupTranslateY=orientation===TOP?height:0;var outerGroupTransform="translate("+outerGroupTranslateX+", "+outerGroupTranslateY+")";var _transformation$orien=transformation(width,height)[orientation][position],x=_transformation$orien.x,y=_transformation$orien.y,rotation=_transformation$orien.rotation,textAnchor=_transformation$orien.textAnchor;var innerGroupTransform="translate("+x+", "+y+") rotate("+rotation+")";return _react2.default.createElement("g",{transform:outerGroupTransform,className:"rv-xy-plot__axis__title"},_react2.default.createElement("g",{style:_extends({textAnchor:textAnchor},style),transform:innerGroupTransform},_react2.default.createElement("text",{style:style},title)))}AxisTitle.displayName="AxisTitle";AxisTitle.propTypes=propTypes;AxisTitle.defaultProps=defaultProps;exports.default=AxisTitle},{"../../utils/axis-utils":145,"prop-types":33,react:76}],89:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _animation=require("../../animation");var _animation2=_interopRequireDefault(_animation);var _axisUtils=require("../../utils/axis-utils");var _scalesUtils=require("../../utils/scales-utils");var _axisLine=require("./axis-line");var _axisLine2=_interopRequireDefault(_axisLine);var _axisTicks=require("./axis-ticks");var _axisTicks2=_interopRequireDefault(_axisTicks);var _axisTitle=require("./axis-title");var _axisTitle2=_interopRequireDefault(_axisTitle);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var defaultAnimatedProps=["xRange","yRange","xDomain","yDomain","width","height","marginLeft","marginTop","marginRight","marginBottom","tickSize","tickTotal","tickSizeInner","tickSizeOuter"];var LEFT=_axisUtils.ORIENTATION.LEFT,RIGHT=_axisUtils.ORIENTATION.RIGHT,TOP=_axisUtils.ORIENTATION.TOP,BOTTOM=_axisUtils.ORIENTATION.BOTTOM;var propTypes={orientation:_propTypes2.default.oneOf([LEFT,RIGHT,TOP,BOTTOM]),attr:_propTypes2.default.string.isRequired,attrAxis:_propTypes2.default.string,width:_propTypes2.default.number,height:_propTypes2.default.number,top:_propTypes2.default.number,left:_propTypes2.default.number,title:_propTypes2.default.string,style:_propTypes2.default.object,className:_propTypes2.default.string,hideTicks:_propTypes2.default.bool,hideLine:_propTypes2.default.bool,on0:_propTypes2.default.bool,tickLabelAngle:_propTypes2.default.number,tickSize:_propTypes2.default.number,tickSizeInner:_propTypes2.default.number,tickSizeOuter:_propTypes2.default.number,tickPadding:_propTypes2.default.number,tickValues:_propTypes2.default.arrayOf(_propTypes2.default.oneOfType([_propTypes2.default.number,_propTypes2.default.string])),tickFormat:_propTypes2.default.func,tickTotal:_propTypes2.default.number,marginTop:_propTypes2.default.number,marginBottom:_propTypes2.default.number,marginLeft:_propTypes2.default.number,marginRight:_propTypes2.default.number,innerWidth:_propTypes2.default.number,innerHeight:_propTypes2.default.number};var defaultProps={className:"",on0:false,style:{},tickSize:6,tickPadding:8,orientation:BOTTOM};var predefinedClassName="rv-xy-plot__axis";var VERTICAL_CLASS_NAME="rv-xy-plot__axis--vertical";var HORIZONTAL_CLASS_NAME="rv-xy-plot__axis--horizontal";var Axis=function(_PureComponent){_inherits(Axis,_PureComponent);function Axis(){_classCallCheck(this,Axis);return _possibleConstructorReturn(this,(Axis.__proto__||Object.getPrototypeOf(Axis)).apply(this,arguments))}_createClass(Axis,[{key:"_getDefaultAxisProps",value:function _getDefaultAxisProps(){var _props=this.props,innerWidth=_props.innerWidth,innerHeight=_props.innerHeight,marginTop=_props.marginTop,marginBottom=_props.marginBottom,marginLeft=_props.marginLeft,marginRight=_props.marginRight,orientation=_props.orientation;if(orientation===BOTTOM){return{tickTotal:(0,_axisUtils.getTicksTotalFromSize)(innerWidth),top:innerHeight+marginTop,left:marginLeft,width:innerWidth,height:marginBottom}}else if(orientation===TOP){return{tickTotal:(0,_axisUtils.getTicksTotalFromSize)(innerWidth),top:0,left:marginLeft,width:innerWidth,height:marginTop}}else if(orientation===LEFT){return{tickTotal:(0,_axisUtils.getTicksTotalFromSize)(innerHeight),top:marginTop,left:0,width:marginLeft,height:innerHeight}}return{tickTotal:(0,_axisUtils.getTicksTotalFromSize)(innerHeight),top:marginTop,left:marginLeft+innerWidth,width:marginRight,height:innerHeight}}},{key:"render",value:function render(){var animation=this.props.animation;if(animation){var animatedProps=animation.nonAnimatedProps?defaultAnimatedProps.filter(function(prop){return animation.nonAnimatedProps.indexOf(prop)<0}):defaultAnimatedProps;return _react2.default.createElement(_animation2.default,_extends({},this.props,{animatedProps:animatedProps}),_react2.default.createElement(Axis,_extends({},this.props,{animation:null})))}var props=_extends({},this._getDefaultAxisProps(),this.props);var attrAxis=props.attrAxis,className=props.className,height=props.height,hideLine=props.hideLine,hideTicks=props.hideTicks,left=props.left,marginTop=props.marginTop,on0=props.on0,orientation=props.orientation,position=props.position,style=props.style,title=props.title,top=props.top,width=props.width;var isVertical=[LEFT,RIGHT].indexOf(orientation)>-1;var axisClassName=isVertical?VERTICAL_CLASS_NAME:HORIZONTAL_CLASS_NAME;var leftPos=left;var topPos=top;if(on0){var scale=(0,_scalesUtils.getAttributeScale)(props,attrAxis);if(isVertical){leftPos=scale(0)}else{topPos=marginTop+scale(0)}}return _react2.default.createElement("g",{transform:"translate("+leftPos+","+topPos+")",className:predefinedClassName+" "+axisClassName+" "+className,style:style},!hideLine&&_react2.default.createElement(_axisLine2.default,{height:height,width:width,orientation:orientation,style:_extends({},style,style.line)}),!hideTicks&&_react2.default.createElement(_axisTicks2.default,_extends({},props,{style:_extends({},style,style.ticks)})),title?_react2.default.createElement(_axisTitle2.default,{position:position,title:title,height:height,width:width,style:_extends({},style,style.title),orientation:orientation}):null)}}]);return Axis}(_react.PureComponent);Axis.displayName="Axis";Axis.propTypes=propTypes;Axis.defaultProps=defaultProps;Axis.requiresSVG=true;exports.default=Axis},{"../../animation":77,"../../utils/axis-utils":145,"../../utils/scales-utils":149,"./axis-line":86,"./axis-ticks":87,"./axis-title":88,"prop-types":33,react:76}],90:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};exports.default=decorativeAxisTick;var _react=require("react");var _react2=_interopRequireDefault(_react);var _axisUtils=require("../../utils/axis-utils");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function decorativeAxisTick(props){
  15. var axisDomain=props.axisDomain,numberOfTicks=props.numberOfTicks,axisStart=props.axisStart,axisEnd=props.axisEnd,tickValue=props.tickValue,tickSize=props.tickSize,style=props.style;var _generatePoints=(0,_axisUtils.generatePoints)({axisStart:axisStart,axisEnd:axisEnd,numberOfTicks:numberOfTicks,axisDomain:axisDomain}),points=_generatePoints.points;var tickAngle=(0,_axisUtils.getAxisAngle)(axisStart,axisEnd)+Math.PI/2;return points.map(function(point,index){var tickProps=_extends({x1:0,y1:0,x2:tickSize*Math.cos(tickAngle),y2:tickSize*Math.sin(tickAngle)},style.ticks);var textProps=_extends({x:tickSize*Math.cos(tickAngle),y:tickSize*Math.sin(tickAngle),textAnchor:"start"},style.text);return _react2.default.createElement("g",{key:index,transform:"translate("+point.x+", "+point.y+")",className:"rv-xy-plot__axis__tick"},_react2.default.createElement("line",_extends({},tickProps,{className:"rv-xy-plot__axis__tick__line"})),_react2.default.createElement("text",_extends({},textProps,{className:"rv-xy-plot__axis__tick__text"}),tickValue(point.text)))})}},{"../../utils/axis-utils":145,react:76}],91:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _react=require("react");var _react2=_interopRequireDefault(_react);var _d3Format=require("d3-format");var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _abstractSeries=require("../series/abstract-series");var _abstractSeries2=_interopRequireDefault(_abstractSeries);var _decorativeAxisTicks=require("./decorative-axis-ticks");var _decorativeAxisTicks2=_interopRequireDefault(_decorativeAxisTicks);var _animation=require("../../animation");var _animation2=_interopRequireDefault(_animation);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var predefinedClassName="rv-xy-manipulable-axis rv-xy-plot__axis";var animatedProps=["xRange","yRange","xDomain","yDomain","width","height","marginLeft","marginTop","marginRight","marginBottom","tickSize","tickTotal","tickSizeInner","tickSizeOuter"];var DecorativeAxis=function(_AbstractSeries){_inherits(DecorativeAxis,_AbstractSeries);function DecorativeAxis(){_classCallCheck(this,DecorativeAxis);return _possibleConstructorReturn(this,(DecorativeAxis.__proto__||Object.getPrototypeOf(DecorativeAxis)).apply(this,arguments))}_createClass(DecorativeAxis,[{key:"render",value:function render(){var _props=this.props,animation=_props.animation,className=_props.className,marginLeft=_props.marginLeft,marginTop=_props.marginTop,axisStart=_props.axisStart,axisEnd=_props.axisEnd,axisDomain=_props.axisDomain,numberOfTicks=_props.numberOfTicks,tickValue=_props.tickValue,tickSize=_props.tickSize,style=_props.style;if(animation){return _react2.default.createElement(_animation2.default,_extends({},this.props,{animatedProps:animatedProps}),_react2.default.createElement(DecorativeAxis,_extends({},this.props,{animation:null})))}var x=this._getAttributeFunctor("x");var y=this._getAttributeFunctor("y");return _react2.default.createElement("g",{className:predefinedClassName+" "+className,transform:"translate("+marginLeft+","+marginTop+")"},_react2.default.createElement("line",_extends({},_extends({x1:x({x:axisStart.x}),x2:x({x:axisEnd.x}),y1:y({y:axisStart.y}),y2:y({y:axisEnd.y})},style.line),{className:"rv-xy-plot__axis__line"})),_react2.default.createElement("g",{className:"rv-xy-manipulable-axis__ticks"},(0,_decorativeAxisTicks2.default)({axisDomain:axisDomain,axisEnd:{x:x(axisEnd),y:y(axisEnd)},axisStart:{x:x(axisStart),y:y(axisStart)},numberOfTicks:numberOfTicks,tickValue:tickValue,tickSize:tickSize,style:style})))}}]);return DecorativeAxis}(_abstractSeries2.default);var DEFAULT_FORMAT=(0,_d3Format.format)(".2r");DecorativeAxis.defaultProps={className:"",numberOfTicks:10,tickValue:function tickValue(d){return DEFAULT_FORMAT(d)},tickSize:5,style:{line:{strokeWidth:1},ticks:{strokeWidth:2},text:{}}};DecorativeAxis.propTypes=_extends({},_abstractSeries2.default.propTypes,{axisDomain:_propTypes2.default.arrayOf(_propTypes2.default.number).isRequired,axisEnd:_propTypes2.default.shape({x:_propTypes2.default.oneOfType([_propTypes2.default.number,_propTypes2.default.string]),y:_propTypes2.default.oneOfType([_propTypes2.default.number,_propTypes2.default.string])}).isRequired,axisStart:_propTypes2.default.shape({x:_propTypes2.default.oneOfType([_propTypes2.default.number,_propTypes2.default.string]),y:_propTypes2.default.oneOfType([_propTypes2.default.number,_propTypes2.default.string])}).isRequired,className:_propTypes2.default.string,numberOfTicks:_propTypes2.default.number,tickValue:_propTypes2.default.func,tickSize:_propTypes2.default.number,style:_propTypes2.default.shape({line:_propTypes2.default.object,ticks:_propTypes2.default.object,text:_propTypes2.default.object})});DecorativeAxis.displayName="DecorativeAxis";exports.default=DecorativeAxis},{"../../animation":77,"../series/abstract-series":103,"./decorative-axis-ticks":90,"d3-format":7,"prop-types":33,react:76}],92:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _axisUtils=require("../../utils/axis-utils");var _axis=require("./axis");var _axis2=_interopRequireDefault(_axis);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var TOP=_axisUtils.ORIENTATION.TOP,BOTTOM=_axisUtils.ORIENTATION.BOTTOM;var propTypes=_extends({},_axis2.default.propTypes,{orientation:_propTypes2.default.oneOf([TOP,BOTTOM])});var defaultProps={orientation:BOTTOM,attr:"x",attrAxis:"y"};function XAxis(props){return _react2.default.createElement(_axis2.default,props)}XAxis.displayName="XAxis";XAxis.propTypes=propTypes;XAxis.defaultProps=defaultProps;XAxis.requiresSVG=true;exports.default=XAxis},{"../../utils/axis-utils":145,"./axis":89,"prop-types":33,react:76}],93:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _axisUtils=require("../../utils/axis-utils");var _axis=require("./axis");var _axis2=_interopRequireDefault(_axis);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var LEFT=_axisUtils.ORIENTATION.LEFT,RIGHT=_axisUtils.ORIENTATION.RIGHT;var propTypes=_extends({},_axis2.default.propTypes,{orientation:_propTypes2.default.oneOf([LEFT,RIGHT])});var defaultProps={orientation:LEFT,attr:"y",attrAxis:"x"};function YAxis(props){return _react2.default.createElement(_axis2.default,props)}YAxis.displayName="YAxis";YAxis.propTypes=propTypes;YAxis.defaultProps=defaultProps;YAxis.requiresSVG=true;exports.default=YAxis},{"../../utils/axis-utils":145,"./axis":89,"prop-types":33,react:76}],94:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var propTypes={style:_propTypes2.default.shape({bottom:_propTypes2.default.object,left:_propTypes2.default.object,right:_propTypes2.default.object,top:_propTypes2.default.object}),marginTop:_propTypes2.default.number,marginBottom:_propTypes2.default.number,marginLeft:_propTypes2.default.number,marginRight:_propTypes2.default.number,innerWidth:_propTypes2.default.number,innerHeight:_propTypes2.default.number};var CLASSES={bottom:"rv-xy-plot__borders-bottom",container:"rv-xy-plot__borders",left:"rv-xy-plot__borders-left",right:"rv-xy-plot__borders-right",top:"rv-xy-plot__borders-top"};function Borders(props){var marginTop=props.marginTop,marginBottom=props.marginBottom,marginLeft=props.marginLeft,marginRight=props.marginRight,innerWidth=props.innerWidth,innerHeight=props.innerHeight,style=props.style,className=props.className;var height=innerHeight+marginTop+marginBottom;var width=innerWidth+marginLeft+marginRight;return _react2.default.createElement("g",{className:CLASSES.container+" "+className},_react2.default.createElement("rect",{className:CLASSES.bottom+" "+className+"-bottom",style:_extends({},style.all,style.bottom),x:0,y:height-marginBottom,width:width,height:marginBottom}),_react2.default.createElement("rect",{className:CLASSES.left+" "+className+"-left",style:_extends({},style.all,style.left),x:0,y:0,width:marginLeft,height:height}),_react2.default.createElement("rect",{className:CLASSES.right+" "+className+"-right",style:_extends({},style.all,style.right),x:width-marginRight,y:0,width:marginRight,height:height}),_react2.default.createElement("rect",{className:CLASSES.top+" "+className+"-top",style:_extends({},style.all,style.top),x:0,y:0,width:width,height:marginTop}))}Borders.displayName="Borders";Borders.defaultProps={className:"",style:{all:{},bottom:{},left:{},right:{},top:{}}};Borders.propTypes=propTypes;Borders.requiresSVG=true;exports.default=Borders},{"prop-types":33,react:76}],95:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var ChartLabel=function(_React$PureComponent){_inherits(ChartLabel,_React$PureComponent);function ChartLabel(){_classCallCheck(this,ChartLabel);return _possibleConstructorReturn(this,(ChartLabel.__proto__||Object.getPrototypeOf(ChartLabel)).apply(this,arguments))}_createClass(ChartLabel,[{key:"render",value:function render(){var _props=this.props,innerHeight=_props.innerHeight,innerWidth=_props.innerWidth,marginBottom=_props.marginBottom,marginLeft=_props.marginLeft,marginRight=_props.marginRight,marginTop=_props.marginTop,className=_props.className,includeMargin=_props.includeMargin,style=_props.style,text=_props.text,xPercent=_props.xPercent,yPercent=_props.yPercent;var width=innerWidth+(includeMargin?marginLeft+marginRight:0);var height=innerHeight+(includeMargin?marginTop+marginBottom:0);var xPos=width*xPercent+(includeMargin?0:marginLeft);var yPos=height*yPercent+(includeMargin?marginLeft:0);return _react2.default.createElement("g",{transform:"translate("+xPos+", "+yPos+")",className:"rv-xy-plot__axis__title "+className},_react2.default.createElement("text",style,text))}}],[{key:"requiresSVG",get:function get(){return true}}]);return ChartLabel}(_react2.default.PureComponent);ChartLabel.displayName="ChartLabel";ChartLabel.propTypes={className:_propTypes2.default.string,includeMargin:_propTypes2.default.bool,style:_propTypes2.default.object,text:_propTypes2.default.string.isRequired,xPercent:_propTypes2.default.number.isRequired,yPercent:_propTypes2.default.number.isRequired};ChartLabel.defaultProps={className:"",includeMargin:true,text:"",xPercent:0,yPercent:0,style:{}};exports.default=ChartLabel},{"prop-types":33,react:76}],96:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _scalesUtils=require("../utils/scales-utils");var _animation=require("../animation");var _animation2=_interopRequireDefault(_animation);var _axisUtils=require("../utils/axis-utils");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var animatedProps=["xRange","yRange","xDomain","yDomain","width","height","marginLeft","marginTop","marginRight","marginBottom","tickTotal"];var CircularGridLines=function(_PureComponent){_inherits(CircularGridLines,_PureComponent);function CircularGridLines(){_classCallCheck(this,CircularGridLines);return _possibleConstructorReturn(this,(CircularGridLines.__proto__||Object.getPrototypeOf(CircularGridLines)).apply(this,arguments))}_createClass(CircularGridLines,[{key:"_getDefaultProps",value:function _getDefaultProps(){var _props=this.props,innerWidth=_props.innerWidth,innerHeight=_props.innerHeight,marginTop=_props.marginTop,marginLeft=_props.marginLeft;return{left:marginLeft,top:marginTop,width:innerWidth,height:innerHeight,style:{},tickTotal:(0,_axisUtils.getTicksTotalFromSize)(Math.min(innerWidth,innerHeight))}}},{key:"render",value:function render(){var _props2=this.props,animation=_props2.animation,centerX=_props2.centerX,centerY=_props2.centerY;if(animation){return _react2.default.createElement(_animation2.default,_extends({},this.props,{animatedProps:animatedProps}),_react2.default.createElement(CircularGridLines,_extends({},this.props,{animation:null})))}var props=_extends({},this._getDefaultProps(),this.props);var tickTotal=props.tickTotal,tickValues=props.tickValues,marginLeft=props.marginLeft,marginTop=props.marginTop,rRange=props.rRange,style=props.style;var xScale=(0,_scalesUtils.getAttributeScale)(props,"x");var yScale=(0,_scalesUtils.getAttributeScale)(props,"y");var values=(0,_axisUtils.getTickValues)(xScale,tickTotal,tickValues);return _react2.default.createElement("g",{transform:"translate("+(xScale(centerX)+marginLeft)+","+(yScale(centerY)+marginTop)+")",className:"rv-xy-plot__circular-grid-lines"},values.reduce(function(res,value,index){var radius=xScale(value);if(rRange&&(radius<rRange[0]||radius>rRange[1])){return res}return res.concat([_react2.default.createElement("circle",_extends({cx:0,cy:0,r:radius},{key:index,className:"rv-xy-plot__circular-grid-lines__line",style:style}))])},[]))}}]);return CircularGridLines}(_react.PureComponent);CircularGridLines.displayName="CircularGridLines";CircularGridLines.propTypes={centerX:_propTypes2.default.number,centerY:_propTypes2.default.number,width:_propTypes2.default.number,height:_propTypes2.default.number,top:_propTypes2.default.number,left:_propTypes2.default.number,rRange:_propTypes2.default.arrayOf(_propTypes2.default.number),style:_propTypes2.default.object,tickValues:_propTypes2.default.arrayOf(_propTypes2.default.number),tickTotal:_propTypes2.default.number,animation:_animation.AnimationPropType,marginTop:_propTypes2.default.number,marginBottom:_propTypes2.default.number,marginLeft:_propTypes2.default.number,marginRight:_propTypes2.default.number,innerWidth:_propTypes2.default.number,innerHeight:_propTypes2.default.number};CircularGridLines.defaultProps={centerX:0,centerY:0};CircularGridLines.requiresSVG=true;exports.default=CircularGridLines},{"../animation":77,"../utils/axis-utils":145,"../utils/scales-utils":149,"prop-types":33,react:76}],97:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _dataUtils=require("../utils/data-utils");var _scalesUtils=require("../utils/scales-utils");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}function defaultTitleFormat(values){var value=getFirstNonEmptyValue(values);if(value){return{title:"x",value:(0,_dataUtils.transformValueToString)(value.x)}}}function defaultItemsFormat(values){return values.map(function(v,i){if(v){return{value:v.y,title:i}}})}function getFirstNonEmptyValue(values){return(values||[]).find(function(v){return Boolean(v)})}var Crosshair=function(_PureComponent){_inherits(Crosshair,_PureComponent);function Crosshair(){_classCallCheck(this,Crosshair);return _possibleConstructorReturn(this,(Crosshair.__proto__||Object.getPrototypeOf(Crosshair)).apply(this,arguments))}_createClass(Crosshair,[{key:"_renderCrosshairItems",value:function _renderCrosshairItems(){var _props=this.props,values=_props.values,itemsFormat=_props.itemsFormat;var items=itemsFormat(values);if(!items){return null}return items.filter(function(i){return i}).map(function renderValue(item,i){return _react2.default.createElement("div",{className:"rv-crosshair__item",key:"item"+i},_react2.default.createElement("span",{className:"rv-crosshair__item__title"},item.title),": ",_react2.default.createElement("span",{className:"rv-crosshair__item__value"},item.value))})}},{key:"_renderCrosshairTitle",value:function _renderCrosshairTitle(){var _props2=this.props,values=_props2.values,titleFormat=_props2.titleFormat,style=_props2.style;var titleItem=titleFormat(values);if(!titleItem){return null}return _react2.default.createElement("div",{className:"rv-crosshair__title",key:"title",style:style.title},_react2.default.createElement("span",{className:"rv-crosshair__title__title"},titleItem.title),": ",_react2.default.createElement("span",{className:"rv-crosshair__title__value"},titleItem.value))}},{key:"render",value:function render(){var _props3=this.props,children=_props3.children,className=_props3.className,values=_props3.values,marginTop=_props3.marginTop,marginLeft=_props3.marginLeft,innerWidth=_props3.innerWidth,innerHeight=_props3.innerHeight,style=_props3.style;var value=getFirstNonEmptyValue(values);if(!value){return null}var x=(0,_scalesUtils.getAttributeFunctor)(this.props,"x");var innerLeft=x(value);var _props$orientation=this.props.orientation,orientation=_props$orientation===undefined?innerLeft>innerWidth/2?"left":"right":_props$orientation;var left=marginLeft+innerLeft;var top=marginTop;var innerClassName="rv-crosshair__inner rv-crosshair__inner--"+orientation;return _react2.default.createElement("div",{className:"rv-crosshair "+className,style:{left:left+"px",top:top+"px"}},_react2.default.createElement("div",{className:"rv-crosshair__line",style:_extends({height:innerHeight+"px"},style.line)}),_react2.default.createElement("div",{className:innerClassName},children?children:_react2.default.createElement("div",{className:"rv-crosshair__inner__content",style:style.box},_react2.default.createElement("div",null,this._renderCrosshairTitle(),this._renderCrosshairItems()))))}}],[{key:"defaultProps",get:function get(){return{titleFormat:defaultTitleFormat,itemsFormat:defaultItemsFormat,style:{line:{},title:{},box:{}}}}},{key:"propTypes",get:function get(){return{className:_propTypes2.default.string,values:_propTypes2.default.arrayOf(_propTypes2.default.oneOfType([_propTypes2.default.number,_propTypes2.default.string,_propTypes2.default.object])),series:_propTypes2.default.object,innerWidth:_propTypes2.default.number,innerHeight:_propTypes2.default.number,marginLeft:_propTypes2.default.number,marginTop:_propTypes2.default.number,orientation:_propTypes2.default.oneOf(["left","right"]),itemsFormat:_propTypes2.default.func,titleFormat:_propTypes2.default.func,style:_propTypes2.default.shape({line:_propTypes2.default.object,title:_propTypes2.default.object,box:_propTypes2.default.object})}}}]);return Crosshair}(_react.PureComponent);Crosshair.displayName="Crosshair";exports.default=Crosshair},{"../utils/data-utils":147,"../utils/scales-utils":149,"prop-types":33,react:76}],98:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var predefinedClassName="rv-gradient-defs";function GradientDefs(props){var className=props.className;return _react2.default.createElement("defs",{className:predefinedClassName+" "+className},props.children)}GradientDefs.displayName="GradientDefs";GradientDefs.requiresSVG=true;GradientDefs.propTypes={className:_propTypes2.default.string};GradientDefs.defaultProps={className:""};exports.default=GradientDefs},{"prop-types":33,react:76}],99:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _scalesUtils=require("../utils/scales-utils");var _animation=require("../animation");var _animation2=_interopRequireDefault(_animation);var _axisUtils=require("../utils/axis-utils");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var VERTICAL=_axisUtils.DIRECTION.VERTICAL,HORIZONTAL=_axisUtils.DIRECTION.HORIZONTAL;var propTypes={direction:_propTypes2.default.oneOf([VERTICAL,HORIZONTAL]),attr:_propTypes2.default.string.isRequired,width:_propTypes2.default.number,height:_propTypes2.default.number,top:_propTypes2.default.number,left:_propTypes2.default.number,style:_propTypes2.default.object,tickValues:_propTypes2.default.arrayOf(_propTypes2.default.oneOfType([_propTypes2.default.number,_propTypes2.default.string])),tickTotal:_propTypes2.default.number,animation:_animation.AnimationPropType,marginTop:_propTypes2.default.number,marginBottom:_propTypes2.default.number,marginLeft:_propTypes2.default.number,marginRight:_propTypes2.default.number,innerWidth:_propTypes2.default.number,innerHeight:_propTypes2.default.number};var defaultProps={direction:VERTICAL};var animatedProps=["xRange","yRange","xDomain","yDomain","width","height","marginLeft","marginTop","marginRight","marginBottom","tickTotal"];var GridLines=function(_PureComponent){_inherits(GridLines,_PureComponent);function GridLines(){_classCallCheck(this,GridLines);return _possibleConstructorReturn(this,(GridLines.__proto__||Object.getPrototypeOf(GridLines)).apply(this,arguments))}_createClass(GridLines,[{key:"_getDefaultProps",value:function _getDefaultProps(){var _props=this.props,innerWidth=_props.innerWidth,innerHeight=_props.innerHeight,marginTop=_props.marginTop,marginLeft=_props.marginLeft,direction=_props.direction;return{left:marginLeft,top:marginTop,width:innerWidth,height:innerHeight,tickTotal:(0,_axisUtils.getTicksTotalFromSize)(direction===VERTICAL?innerWidth:innerHeight)}}},{key:"render",value:function render(){var _props2=this.props,animation=_props2.animation,className=_props2.className;if(animation){return _react2.default.createElement(_animation2.default,_extends({},this.props,{animatedProps:animatedProps}),_react2.default.createElement(GridLines,_extends({},this.props,{animation:null})))}var props=_extends({},this._getDefaultProps(),this.props);var attr=props.attr,direction=props.direction,width=props.width,height=props.height,style=props.style,tickTotal=props.tickTotal,tickValues=props.tickValues,top=props.top,left=props.left;var isVertical=direction===VERTICAL;var tickXAttr=isVertical?"y":"x";var tickYAttr=isVertical?"x":"y";var length=isVertical?height:width;var scale=(0,_scalesUtils.getAttributeScale)(props,attr);var values=(0,_axisUtils.getTickValues)(scale,tickTotal,tickValues);return _react2.default.createElement("g",{transform:"translate("+left+","+top+")",className:"rv-xy-plot__grid-lines "+className},values.map(function(v,i){var _pathProps;var pos=scale(v);var pathProps=(_pathProps={},_defineProperty(_pathProps,tickYAttr+"1",pos),_defineProperty(_pathProps,tickYAttr+"2",pos),_defineProperty(_pathProps,tickXAttr+"1",0),_defineProperty(_pathProps,tickXAttr+"2",length),_pathProps);return _react2.default.createElement("line",_extends({},pathProps,{key:i,className:"rv-xy-plot__grid-lines__line",style:style}))}))}}]);return GridLines}(_react.PureComponent);GridLines.displayName="GridLines"
  16. ;GridLines.defaultProps=defaultProps;GridLines.propTypes=propTypes;GridLines.requiresSVG=true;exports.default=GridLines},{"../animation":77,"../utils/axis-utils":145,"../utils/scales-utils":149,"prop-types":33,react:76}],100:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _react=require("react");var _react2=_interopRequireDefault(_react);var _abstractSeries=require("./series/abstract-series");var _abstractSeries2=_interopRequireDefault(_abstractSeries);var _scalesUtils=require("../utils/scales-utils");var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}function getLocs(evt){var xLoc=evt.type==="touchstart"?evt.pageX:evt.offsetX;var yLoc=evt.type==="touchstart"?evt.pageY:evt.offsetY;return{xLoc:xLoc,yLoc:yLoc}}var Highlight=function(_AbstractSeries){_inherits(Highlight,_AbstractSeries);function Highlight(){var _ref;var _temp,_this,_ret;_classCallCheck(this,Highlight);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}return _ret=(_temp=(_this=_possibleConstructorReturn(this,(_ref=Highlight.__proto__||Object.getPrototypeOf(Highlight)).call.apply(_ref,[this].concat(args))),_this),_this.state={dragging:false,brushArea:{top:0,right:0,bottom:0,left:0},brushing:false,startLocX:0,startLocY:0,dragArea:null},_temp),_possibleConstructorReturn(_this,_ret)}_createClass(Highlight,[{key:"_getDrawArea",value:function _getDrawArea(xLoc,yLoc){var _state=this.state,startLocX=_state.startLocX,startLocY=_state.startLocY;var _props=this.props,enableX=_props.enableX,enableY=_props.enableY,highlightWidth=_props.highlightWidth,highlightHeight=_props.highlightHeight,innerWidth=_props.innerWidth,innerHeight=_props.innerHeight,marginLeft=_props.marginLeft,marginRight=_props.marginRight,marginBottom=_props.marginBottom,marginTop=_props.marginTop;var plotHeight=innerHeight+marginTop+marginBottom;var plotWidth=innerWidth+marginLeft+marginRight;var touchWidth=highlightWidth||plotWidth;var touchHeight=highlightHeight||plotHeight;return{bottom:enableY?Math.max(startLocY,yLoc):touchHeight,right:enableX?Math.max(startLocX,xLoc):touchWidth,left:enableX?Math.min(xLoc,startLocX):0,top:enableY?Math.min(yLoc,startLocY):0}}},{key:"_getDragArea",value:function _getDragArea(xLoc,yLoc){var _props2=this.props,enableX=_props2.enableX,enableY=_props2.enableY;var _state2=this.state,startLocX=_state2.startLocX,startLocY=_state2.startLocY,dragArea=_state2.dragArea;return{bottom:dragArea.bottom+(enableY?yLoc-startLocY:0),left:dragArea.left+(enableX?xLoc-startLocX:0),right:dragArea.right+(enableX?xLoc-startLocX:0),top:dragArea.top+(enableY?yLoc-startLocY:0)}}},{key:"_clickedOutsideDrag",value:function _clickedOutsideDrag(xLoc,yLoc){var _props3=this.props,enableX=_props3.enableX,enableY=_props3.enableY;var _state3=this.state,dragArea=_state3.dragArea,_state3$brushArea=_state3.brushArea,left=_state3$brushArea.left,right=_state3$brushArea.right,top=_state3$brushArea.top,bottom=_state3$brushArea.bottom;var clickedOutsideDragX=dragArea&&(xLoc<left||xLoc>right);var clickedOutsideDragY=dragArea&&(yLoc<top||yLoc>bottom);if(enableX&&enableY){return clickedOutsideDragX||clickedOutsideDragY}if(enableX){return clickedOutsideDragX}if(enableY){return clickedOutsideDragY}return true}},{key:"_convertAreaToCoordinates",value:function _convertAreaToCoordinates(brushArea){var _props4=this.props,enableX=_props4.enableX,enableY=_props4.enableY,marginLeft=_props4.marginLeft,marginTop=_props4.marginTop;var xScale=(0,_scalesUtils.getAttributeScale)(this.props,"x");var yScale=(0,_scalesUtils.getAttributeScale)(this.props,"y");if(enableX&&enableY){return{bottom:yScale.invert(brushArea.bottom),left:xScale.invert(brushArea.left-marginLeft),right:xScale.invert(brushArea.right-marginLeft),top:yScale.invert(brushArea.top)}}if(enableY){return{bottom:yScale.invert(brushArea.bottom-marginTop),top:yScale.invert(brushArea.top-marginTop)}}if(enableX){return{left:xScale.invert(brushArea.left-marginLeft),right:xScale.invert(brushArea.right-marginLeft)}}return{}}},{key:"startBrushing",value:function startBrushing(e){var _this2=this;var _props5=this.props,onBrushStart=_props5.onBrushStart,onDragStart=_props5.onDragStart,drag=_props5.drag;var dragArea=this.state.dragArea;var _getLocs=getLocs(e.nativeEvent),xLoc=_getLocs.xLoc,yLoc=_getLocs.yLoc;var startArea=function startArea(dragging,resetDrag){var emptyBrush={bottom:yLoc,left:xLoc,right:xLoc,top:yLoc};_this2.setState({dragging:dragging,brushArea:dragArea&&!resetDrag?dragArea:emptyBrush,brushing:!dragging,startLocX:xLoc,startLocY:yLoc})};var clickedOutsideDrag=this._clickedOutsideDrag(xLoc,yLoc);if(drag&&!dragArea||!drag||clickedOutsideDrag){startArea(false,clickedOutsideDrag);if(onBrushStart){onBrushStart(e)}return}if(drag&&dragArea){startArea(true,clickedOutsideDrag);if(onDragStart){onDragStart(e)}}}},{key:"stopBrushing",value:function stopBrushing(e){var _state4=this.state,brushing=_state4.brushing,dragging=_state4.dragging,brushArea=_state4.brushArea;if(!brushing&&!dragging){return}var _props6=this.props,onBrushEnd=_props6.onBrushEnd,onDragEnd=_props6.onDragEnd,drag=_props6.drag;var noHorizontal=Math.abs(brushArea.right-brushArea.left)<5;var noVertical=Math.abs(brushArea.top-brushArea.bottom)<5;var isNulled=noVertical||noHorizontal;this.setState({brushing:false,dragging:false,brushArea:drag?brushArea:{top:0,right:0,bottom:0,left:0},startLocX:0,startLocY:0,dragArea:drag&&!isNulled&&brushArea});if(brushing&&onBrushEnd){onBrushEnd(!isNulled?this._convertAreaToCoordinates(brushArea):null)}if(drag&&onDragEnd){onDragEnd(!isNulled?this._convertAreaToCoordinates(brushArea):null)}}},{key:"onBrush",value:function onBrush(e){var _props7=this.props,onBrush=_props7.onBrush,onDrag=_props7.onDrag,drag=_props7.drag;var _state5=this.state,brushing=_state5.brushing,dragging=_state5.dragging;var _getLocs2=getLocs(e.nativeEvent),xLoc=_getLocs2.xLoc,yLoc=_getLocs2.yLoc;if(brushing){var brushArea=this._getDrawArea(xLoc,yLoc);this.setState({brushArea:brushArea});if(onBrush){onBrush(this._convertAreaToCoordinates(brushArea))}}if(drag&&dragging){var _brushArea=this._getDragArea(xLoc,yLoc);this.setState({brushArea:_brushArea});if(onDrag){onDrag(this._convertAreaToCoordinates(_brushArea))}}}},{key:"render",value:function render(){var _this3=this;var _props8=this.props,color=_props8.color,className=_props8.className,highlightHeight=_props8.highlightHeight,highlightWidth=_props8.highlightWidth,highlightX=_props8.highlightX,highlightY=_props8.highlightY,innerWidth=_props8.innerWidth,innerHeight=_props8.innerHeight,marginLeft=_props8.marginLeft,marginRight=_props8.marginRight,marginTop=_props8.marginTop,marginBottom=_props8.marginBottom,opacity=_props8.opacity;var _state$brushArea=this.state.brushArea,left=_state$brushArea.left,right=_state$brushArea.right,top=_state$brushArea.top,bottom=_state$brushArea.bottom;var leftPos=0;if(highlightX){var xScale=(0,_scalesUtils.getAttributeScale)(this.props,"x");leftPos=xScale(highlightX)}var topPos=0;if(highlightY){var yScale=(0,_scalesUtils.getAttributeScale)(this.props,"y");topPos=yScale(highlightY)}var plotWidth=marginLeft+marginRight+innerWidth;var plotHeight=marginTop+marginBottom+innerHeight;var touchWidth=highlightWidth||plotWidth;var touchHeight=highlightHeight||plotHeight;return _react2.default.createElement("g",{transform:"translate("+leftPos+", "+topPos+")",className:className+" rv-highlight-container"},_react2.default.createElement("rect",{className:"rv-mouse-target",fill:"black",opacity:"0",x:"0",y:"0",width:Math.max(touchWidth,0),height:Math.max(touchHeight,0),onMouseDown:function onMouseDown(e){return _this3.startBrushing(e)},onMouseMove:function onMouseMove(e){return _this3.onBrush(e)},onMouseUp:function onMouseUp(e){return _this3.stopBrushing(e)},onMouseLeave:function onMouseLeave(e){return _this3.stopBrushing(e)},onTouchEnd:function onTouchEnd(e){e.preventDefault();_this3.stopBrushing(e)},onTouchCancel:function onTouchCancel(e){e.preventDefault();_this3.stopBrushing(e)},onContextMenu:function onContextMenu(e){return e.preventDefault()},onContextMenuCapture:function onContextMenuCapture(e){return e.preventDefault()}}),_react2.default.createElement("rect",{className:"rv-highlight",pointerEvents:"none",opacity:opacity,fill:color,x:left,y:top,width:Math.min(Math.max(0,right-left),touchWidth),height:Math.min(Math.max(0,bottom-top),touchHeight)}))}}]);return Highlight}(_abstractSeries2.default);Highlight.displayName="HighlightOverlay";Highlight.defaultProps={color:"rgb(77, 182, 172)",className:"",enableX:true,enableY:true,opacity:.3};Highlight.propTypes=_extends({},_abstractSeries2.default.propTypes,{enableX:_propTypes2.default.bool,enableY:_propTypes2.default.bool,highlightHeight:_propTypes2.default.number,highlightWidth:_propTypes2.default.number,highlightX:_propTypes2.default.oneOfType([_propTypes2.default.string,_propTypes2.default.number]),highlightY:_propTypes2.default.oneOfType([_propTypes2.default.string,_propTypes2.default.number]),onBrushStart:_propTypes2.default.func,onDragStart:_propTypes2.default.func,onBrush:_propTypes2.default.func,onDrag:_propTypes2.default.func,onBrushEnd:_propTypes2.default.func,onDragEnd:_propTypes2.default.func});exports.default=Highlight},{"../utils/scales-utils":149,"./series/abstract-series":103,"prop-types":33,react:76}],101:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _dataUtils=require("../utils/data-utils");var _scalesUtils=require("../utils/scales-utils");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var ALIGN={AUTO:"auto",LEFT:"left",RIGHT:"right",LEFT_EDGE:"leftEdge",RIGHT_EDGE:"rightEdge",BOTTOM:"bottom",TOP:"top",BOTTOM_EDGE:"bottomEdge",TOP_EDGE:"topEdge"};var ORIENTATION={BOTTOM_LEFT:"bottomleft",BOTTOM_RIGHT:"bottomright",TOP_LEFT:"topleft",TOP_RIGHT:"topright"};function defaultFormat(value){return Object.keys(value).map(function getProp(key){return{title:key,value:(0,_dataUtils.transformValueToString)(value[key])}})}var Hint=function(_PureComponent){_inherits(Hint,_PureComponent);function Hint(){_classCallCheck(this,Hint);return _possibleConstructorReturn(this,(Hint.__proto__||Object.getPrototypeOf(Hint)).apply(this,arguments))}_createClass(Hint,[{key:"_getAlign",value:function _getAlign(x,y){var _props=this.props,innerWidth=_props.innerWidth,innerHeight=_props.innerHeight,orientation=_props.orientation,_props$align=_props.align,horizontal=_props$align.horizontal,vertical=_props$align.vertical;var align=orientation?this._mapOrientationToAlign(orientation):{horizontal:horizontal,vertical:vertical};if(horizontal===ALIGN.AUTO){align.horizontal=x>innerWidth/2?ALIGN.LEFT:ALIGN.RIGHT}if(vertical===ALIGN.AUTO){align.vertical=y>innerHeight/2?ALIGN.TOP:ALIGN.BOTTOM}return align}},{key:"_getAlignClassNames",value:function _getAlignClassNames(align){var orientation=this.props.orientation;var orientationClass=orientation?"rv-hint--orientation-"+orientation:"";return orientationClass+" rv-hint--horizontalAlign-"+align.horizontal+"\n rv-hint--verticalAlign-"+align.vertical}},{key:"_getAlignStyle",value:function _getAlignStyle(align,x,y){return _extends({},this._getXCSS(align.horizontal,x),this._getYCSS(align.vertical,y))}},{key:"_getCSSBottom",value:function _getCSSBottom(y){if(y===undefined||y===null){return{bottom:0}}var _props2=this.props,innerHeight=_props2.innerHeight,marginBottom=_props2.marginBottom;return{bottom:marginBottom+innerHeight-y}}},{key:"_getCSSLeft",value:function _getCSSLeft(x){if(x===undefined||x===null){return{left:0}}var marginLeft=this.props.marginLeft;return{left:marginLeft+x}}},{key:"_getCSSRight",value:function _getCSSRight(x){if(x===undefined||x===null){return{right:0}}var _props3=this.props,innerWidth=_props3.innerWidth,marginRight=_props3.marginRight;return{right:marginRight+innerWidth-x}}},{key:"_getCSSTop",value:function _getCSSTop(y){if(y===undefined||y===null){return{top:0}}var marginTop=this.props.marginTop;return{top:marginTop+y}}},{key:"_getPositionInfo",value:function _getPositionInfo(){var _props4=this.props,value=_props4.value,getAlignStyle=_props4.getAlignStyle;var x=(0,_scalesUtils.getAttributeFunctor)(this.props,"x")(value);var y=(0,_scalesUtils.getAttributeFunctor)(this.props,"y")(value);var align=this._getAlign(x,y);return{position:getAlignStyle?getAlignStyle(align,x,y):this._getAlignStyle(align,x,y),positionClassName:this._getAlignClassNames(align)}}},{key:"_getXCSS",value:function _getXCSS(horizontal,x){switch(horizontal){case ALIGN.LEFT_EDGE:return this._getCSSLeft(null);case ALIGN.RIGHT_EDGE:return this._getCSSRight(null);case ALIGN.LEFT:return this._getCSSRight(x);case ALIGN.RIGHT:default:return this._getCSSLeft(x)}}},{key:"_getYCSS",value:function _getYCSS(verticalAlign,y){switch(verticalAlign){case ALIGN.TOP_EDGE:return this._getCSSTop(null);case ALIGN.BOTTOM_EDGE:return this._getCSSBottom(null);case ALIGN.BOTTOM:return this._getCSSTop(y);case ALIGN.TOP:default:return this._getCSSBottom(y)}}},{key:"_mapOrientationToAlign",value:function _mapOrientationToAlign(orientation){switch(orientation){case ORIENTATION.BOTTOM_LEFT:return{horizontal:ALIGN.LEFT,vertical:ALIGN.BOTTOM};case ORIENTATION.BOTTOM_RIGHT:return{horizontal:ALIGN.RIGHT,vertical:ALIGN.BOTTOM};case ORIENTATION.TOP_LEFT:return{horizontal:ALIGN.LEFT,vertical:ALIGN.TOP};case ORIENTATION.TOP_RIGHT:return{horizontal:ALIGN.RIGHT,vertical:ALIGN.TOP};default:break}}},{key:"render",value:function render(){var _props5=this.props,value=_props5.value,format=_props5.format,children=_props5.children,style=_props5.style,className=_props5.className;var _getPositionInfo2=this._getPositionInfo(),position=_getPositionInfo2.position,positionClassName=_getPositionInfo2.positionClassName;return _react2.default.createElement("div",{className:"rv-hint "+positionClassName+" "+className,style:_extends({},style,position,{position:"absolute"})},children?children:_react2.default.createElement("div",{className:"rv-hint__content",style:style.content},format(value).map(function(formattedProp,i){return _react2.default.createElement("div",{key:"rv-hint"+i,style:style.row},_react2.default.createElement("span",{className:"rv-hint__title",style:style.title},formattedProp.title),": ",_react2.default.createElement("span",{className:"rv-hint__value",style:style.value},formattedProp.value))})))}}],[{key:"defaultProps",get:function get(){return{format:defaultFormat,align:{horizontal:ALIGN.AUTO,vertical:ALIGN.AUTO},style:{}}}},{key:"propTypes",get:function get(){return{marginTop:_propTypes2.default.number,marginLeft:_propTypes2.default.number,innerWidth:_propTypes2.default.number,innerHeight:_propTypes2.default.number,scales:_propTypes2.default.object,value:_propTypes2.default.object,format:_propTypes2.default.func,style:_propTypes2.default.object,className:_propTypes2.default.string,align:_propTypes2.default.shape({horizontal:_propTypes2.default.oneOf([ALIGN.AUTO,ALIGN.LEFT,ALIGN.RIGHT,ALIGN.LEFT_EDGE,ALIGN.RIGHT_EDGE]),vertical:_propTypes2.default.oneOf([ALIGN.AUTO,ALIGN.BOTTOM,ALIGN.TOP,ALIGN.BOTTOM_EDGE,ALIGN.TOP_EDGE])}),getAlignStyle:_propTypes2.default.func,orientation:_propTypes2.default.oneOf([ORIENTATION.BOTTOM_LEFT,ORIENTATION.BOTTOM_RIGHT,ORIENTATION.TOP_LEFT,ORIENTATION.TOP_RIGHT])}}}]);return Hint}(_react.PureComponent);Hint.displayName="Hint";Hint.ORIENTATION=ORIENTATION;Hint.ALIGN=ALIGN;exports.default=Hint},{"../utils/data-utils":147,"../utils/scales-utils":149,"prop-types":33,react:76}],102:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _axisUtils=require("../utils/axis-utils");var _gridLines=require("./grid-lines");var _gridLines2=_interopRequireDefault(_gridLines);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var HORIZONTAL=_axisUtils.DIRECTION.HORIZONTAL;var propTypes=_extends({},_gridLines2.default.propTypes,{direction:_propTypes2.default.oneOf([HORIZONTAL])});var defaultProps={direction:HORIZONTAL,attr:"y"};function HorizontalGridLines(props){return _react2.default.createElement(_gridLines2.default,props)}HorizontalGridLines.displayName="HorizontalGridLines";HorizontalGridLines.propTypes=propTypes;HorizontalGridLines.defaultProps=defaultProps;HorizontalGridLines.requiresSVG=true;exports.default=HorizontalGridLines},{"../utils/axis-utils":145,"./grid-lines":99,"prop-types":33,react:76}],103:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _d3Voronoi=require("d3-voronoi");var _react=require("react");var _animation=require("../../animation");var _scalesUtils=require("../../utils/scales-utils");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var propTypes=_extends({},(0,_scalesUtils.getScalePropTypesByAttribute)("x"),(0,_scalesUtils.getScalePropTypesByAttribute)("y"),(0,_scalesUtils.getScalePropTypesByAttribute)("size"),(0,_scalesUtils.getScalePropTypesByAttribute)("opacity"),(0,_scalesUtils.getScalePropTypesByAttribute)("color"),{width:_propTypes2.default.number,height:_propTypes2.default.number,data:_propTypes2.default.arrayOf(_propTypes2.default.oneOfType([_propTypes2.default.object,_propTypes2.default.array])),onValueMouseOver:_propTypes2.default.func,onValueMouseOut:_propTypes2.default.func,onValueClick:_propTypes2.default.func,onValueRightClick:_propTypes2.default.func,onSeriesMouseOver:_propTypes2.default.func,onSeriesMouseOut:_propTypes2.default.func,onSeriesClick:_propTypes2.default.func,onSeriesRightClick:_propTypes2.default.func,onNearestX:_propTypes2.default.func,onNearestXY:_propTypes2.default.func,style:_propTypes2.default.object,animation:_animation.AnimationPropType,stack:_propTypes2.default.bool});var defaultProps={className:"",stack:false,style:{}};var AbstractSeries=function(_PureComponent){_inherits(AbstractSeries,_PureComponent);function AbstractSeries(){var _ref;var _temp,_this,_ret;_classCallCheck(this,AbstractSeries);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}return _ret=(_temp=(_this=_possibleConstructorReturn(this,(_ref=AbstractSeries.__proto__||Object.getPrototypeOf(AbstractSeries)).call.apply(_ref,[this].concat(args))),_this),_this._seriesClickHandler=function(event){var onSeriesClick=_this.props.onSeriesClick;if(onSeriesClick){onSeriesClick({event:event})}},_this._seriesMouseOutHandler=function(event){var onSeriesMouseOut=_this.props.onSeriesMouseOut;if(onSeriesMouseOut){onSeriesMouseOut({event:event})}},_this._seriesMouseOverHandler=function(event){var onSeriesMouseOver=_this.props.onSeriesMouseOver;if(onSeriesMouseOver){onSeriesMouseOver({event:event})}},_this._seriesRightClickHandler=function(event){var onSeriesRightClick=_this.props.onSeriesRightClick;if(onSeriesRightClick){onSeriesRightClick({event:event})}},_this._valueClickHandler=function(d,event){var _this$props=_this.props,onValueClick=_this$props.onValueClick,onSeriesClick=_this$props.onSeriesClick;if(onValueClick){onValueClick(d,{event:event})}if(onSeriesClick){onSeriesClick({event:event})}},_this._valueMouseOutHandler=function(d,event){var _this$props2=_this.props,onValueMouseOut=_this$props2.onValueMouseOut,onSeriesMouseOut=_this$props2.onSeriesMouseOut;if(onValueMouseOut){onValueMouseOut(d,{event:event})}if(onSeriesMouseOut){onSeriesMouseOut({event:event})}},_this._valueMouseOverHandler=function(d,event){var _this$props3=_this.props,onValueMouseOver=_this$props3.onValueMouseOver,onSeriesMouseOver=_this$props3.onSeriesMouseOver;if(onValueMouseOver){onValueMouseOver(d,{event:event})}if(onSeriesMouseOver){onSeriesMouseOver({event:event})}},_this._valueRightClickHandler=function(d,event){var _this$props4=_this.props,onValueRightClick=_this$props4.onValueRightClick,onSeriesRightClick=_this$props4.onSeriesRightClick;if(onValueRightClick){onValueRightClick(d,{event:event})}if(onSeriesRightClick){onSeriesRightClick({event:event})}},_temp),_possibleConstructorReturn(_this,_ret)}_createClass(AbstractSeries,[{key:"onParentMouseMove",value:function onParentMouseMove(event){var _props=this.props,onNearestX=_props.onNearestX,onNearestXY=_props.onNearestXY,data=_props.data;if(!onNearestX&&!onNearestXY||!data){return}if(onNearestXY){this._handleNearestXY(event)}else{this._handleNearestX(event)}}},{key:"onParentTouchMove",value:function onParentTouchMove(e){e.preventDefault();this.onParentMouseMove(e)}},{key:"onParentTouchStart",value:function onParentTouchStart(e){e.preventDefault()}},{key:"_getAttr0Functor",value:function _getAttr0Functor(attr){return(0,_scalesUtils.getAttr0Functor)(this.props,attr)}},{key:"_getAttributeFunctor",value:function _getAttributeFunctor(attr){return(0,_scalesUtils.getAttributeFunctor)(this.props,attr)}},{key:"_getAttributeValue",value:function _getAttributeValue(attr){return(0,_scalesUtils.getAttributeValue)(this.props,attr)}},{key:"_getScaleDistance",value:function _getScaleDistance(attr){var scaleObject=(0,_scalesUtils.getScaleObjectFromProps)(this.props,attr);return scaleObject?scaleObject.distance:0}},{key:"_getXYCoordinateInContainer",value:function _getXYCoordinateInContainer(event){var _props2=this.props,_props2$marginTop=_props2.marginTop,marginTop=_props2$marginTop===undefined?0:_props2$marginTop,_props2$marginLeft=_props2.marginLeft,marginLeft=_props2$marginLeft===undefined?0:_props2$marginLeft;var evt=event.nativeEvent,currentTarget=event.currentTarget;var rect=currentTarget.getBoundingClientRect();var x=evt.clientX;var y=evt.clientY;if(evt.type==="touchmove"){x=evt.touches[0].pageX;y=evt.touches[0].pageY}return{x:x-rect.left-currentTarget.clientLeft-marginLeft,y:y-rect.top-currentTarget.clientTop-marginTop}}},{key:"_handleNearestX",value:function _handleNearestX(event){var _props3=this.props,onNearestX=_props3.onNearestX,data=_props3.data;var minDistance=Number.POSITIVE_INFINITY;var value=null;var valueIndex=null;var coordinate=this._getXYCoordinateInContainer(event);var xScaleFn=this._getAttributeFunctor("x");data.forEach(function(item,i){var currentCoordinate=xScaleFn(item);var newDistance=Math.abs(coordinate.x-currentCoordinate);if(newDistance<minDistance){minDistance=newDistance;value=item;valueIndex=i}});if(!value){return}onNearestX(value,{innerX:xScaleFn(value),index:valueIndex,event:event.nativeEvent})}},{key:"_handleNearestXY",value:function _handleNearestXY(event){var _props4=this.props,onNearestXY=_props4.onNearestXY,data=_props4.data;var coordinate=this._getXYCoordinateInContainer(event);var xScaleFn=this._getAttributeFunctor("x");var yScaleFn=this._getAttributeFunctor("y");var voronoiInstance=(0,_d3Voronoi.voronoi)().x(xScaleFn).y(yScaleFn);var foundPoint=voronoiInstance(data).find(coordinate.x,coordinate.y);var value=foundPoint.data;if(!value){return}onNearestXY(value,{innerX:foundPoint[0],innerY:foundPoint[1],index:foundPoint.index,event:event.nativeEvent})}}],[{key:"getParentConfig",value:function getParentConfig(){return{}}},{key:"requiresSVG",get:function get(){return true}}]);return AbstractSeries}(_react.PureComponent);AbstractSeries.displayName="AbstractSeries";AbstractSeries.propTypes=propTypes;AbstractSeries.defaultProps=defaultProps;exports.default=AbstractSeries},{"../../animation":77,"../../utils/scales-utils":149,"d3-voronoi":18,"prop-types":33,react:76}],104:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _animation=require("../../animation");var _animation2=_interopRequireDefault(_animation);var _seriesUtils=require("../../utils/series-utils");var _d3Shape=require("d3-shape");var _abstractSeries=require("./abstract-series");var _abstractSeries2=_interopRequireDefault(_abstractSeries);var _scalesUtils=require("../../utils/scales-utils");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var predefinedClassName="rv-xy-plot__series rv-xy-plot__series--arc";var ATTRIBUTES=["radius","angle"];var defaultProps=_extends({},_abstractSeries2.default.defaultProps,{center:{x:0,y:0},arcClassName:"",className:"",style:{},padAngle:0});function modifyRow(row){var radius=row.radius,angle=row.angle,angle0=row.angle0;var truedAngle=-1*angle+Math.PI/2;var truedAngle0=-1*angle0+Math.PI/2;return _extends({},row,{x:radius*Math.cos(truedAngle),y:radius*Math.sin(truedAngle),angle:truedAngle,angle0:truedAngle0})}var ArcSeries=function(_AbstractSeries){_inherits(ArcSeries,_AbstractSeries);function ArcSeries(props){_classCallCheck(this,ArcSeries);var _this=_possibleConstructorReturn(this,(ArcSeries.__proto__||Object.getPrototypeOf(ArcSeries)).call(this,props));var scaleProps=_this._getAllScaleProps(props);_this.state={scaleProps:scaleProps};return _this}_createClass(ArcSeries,[{key:"componentWillReceiveProps",value:function componentWillReceiveProps(nextProps){this.setState({scaleProps:this._getAllScaleProps(nextProps)})}},{key:"_getAllScaleProps",value:function _getAllScaleProps(props){
  17. var defaultScaleProps=this._getDefaultScaleProps(props);var userScaleProps=(0,_scalesUtils.extractScalePropsFromProps)(props,ATTRIBUTES);var missingScaleProps=(0,_scalesUtils.getMissingScaleProps)(_extends({},defaultScaleProps,userScaleProps),props.data,ATTRIBUTES);return _extends({},defaultScaleProps,userScaleProps,missingScaleProps)}},{key:"_getDefaultScaleProps",value:function _getDefaultScaleProps(props){var innerWidth=props.innerWidth,innerHeight=props.innerHeight;var radius=Math.min(innerWidth/2,innerHeight/2);return{radiusRange:[0,radius],_radiusValue:radius,angleType:"literal"}}},{key:"render",value:function render(){var _this2=this;var _props=this.props,arcClassName=_props.arcClassName,animation=_props.animation,className=_props.className,center=_props.center,data=_props.data,disableSeries=_props.disableSeries,hideSeries=_props.hideSeries,marginLeft=_props.marginLeft,marginTop=_props.marginTop,padAngle=_props.padAngle,style=_props.style;if(!data){return null}if(animation){var cloneData=data.map(function(d){return _extends({},d)});return _react2.default.createElement("g",{className:"rv-xy-plot__series--arc__animation-wrapper"},_react2.default.createElement(_animation2.default,_extends({},this.props,{animatedProps:_seriesUtils.ANIMATED_SERIES_PROPS,data:cloneData}),_react2.default.createElement(ArcSeries,_extends({},this.props,{animation:null,disableSeries:true,data:cloneData}))),_react2.default.createElement(ArcSeries,_extends({},this.props,{animation:null,hideSeries:true,style:{stroke:"red"}})))}var scaleProps=this.state.scaleProps;var radiusDomain=scaleProps.radiusDomain;var radius=(0,_scalesUtils.getAttributeFunctor)(scaleProps,"radius");var radius0=(0,_scalesUtils.getAttr0Functor)(scaleProps,"radius");var angle=(0,_scalesUtils.getAttributeFunctor)(scaleProps,"angle");var angle0=(0,_scalesUtils.getAttr0Functor)(scaleProps,"angle");var fill=this._getAttributeFunctor("fill")||this._getAttributeFunctor("color");var stroke=this._getAttributeFunctor("stroke")||this._getAttributeFunctor("color");var opacity=this._getAttributeFunctor("opacity");var x=this._getAttributeFunctor("x");var y=this._getAttributeFunctor("y");return _react2.default.createElement("g",{className:predefinedClassName+" "+className,onMouseOver:this._seriesMouseOverHandler,onMouseOut:this._seriesMouseOutHandler,onClick:this._seriesClickHandler,onContextMenu:this._seriesRightClickHandler,opacity:hideSeries?0:1,pointerEvents:disableSeries?"none":"all",transform:"translate("+(marginLeft+x(center))+","+(marginTop+y(center))+")"},data.map(function(row,i){var noRadius=radiusDomain[1]===radiusDomain[0];var arcArg={innerRadius:noRadius?0:radius0(row),outerRadius:radius(row),startAngle:angle0(row)||0,endAngle:angle(row)};var arcedData=(0,_d3Shape.arc)().padAngle(padAngle);var rowStyle=row.style||{};var rowClassName=row.className||"";return _react2.default.createElement("path",{style:_extends({opacity:opacity&&opacity(row),stroke:stroke&&stroke(row),fill:fill&&fill(row)},style,rowStyle),onClick:function onClick(e){return _this2._valueClickHandler(modifyRow(row),e)},onContextMenu:function onContextMenu(e){return _this2._valueRightClickHandler(modifyRow(row),e)},onMouseOver:function onMouseOver(e){return _this2._valueMouseOverHandler(modifyRow(row),e)},onMouseOut:function onMouseOut(e){return _this2._valueMouseOutHandler(modifyRow(row),e)},key:i,className:predefinedClassName+"-path "+arcClassName+" "+rowClassName,d:arcedData(arcArg)})}))}}]);return ArcSeries}(_abstractSeries2.default);ArcSeries.propTypes=_extends({},_abstractSeries2.default.propTypes,(0,_scalesUtils.getScalePropTypesByAttribute)("radius"),(0,_scalesUtils.getScalePropTypesByAttribute)("angle"),{center:_propTypes2.default.shape({x:_propTypes2.default.number,y:_propTypes2.default.number}),arcClassName:_propTypes2.default.string,padAngle:_propTypes2.default.oneOfType([_propTypes2.default.func,_propTypes2.default.number])});ArcSeries.defaultProps=defaultProps;ArcSeries.displayName="ArcSeries";exports.default=ArcSeries},{"../../animation":77,"../../utils/scales-utils":149,"../../utils/series-utils":150,"./abstract-series":103,"d3-shape":15,"prop-types":33,react:76}],105:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _d3Shape=require("d3-shape");var d3Shape=_interopRequireWildcard(_d3Shape);var _animation=require("../../animation");var _animation2=_interopRequireDefault(_animation);var _theme=require("../../theme");var _seriesUtils=require("../../utils/series-utils");var _reactUtils=require("../../utils/react-utils");var _abstractSeries=require("./abstract-series");var _abstractSeries2=_interopRequireDefault(_abstractSeries);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key]}}newObj.default=obj;return newObj}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var predefinedClassName="rv-xy-plot__series rv-xy-plot__series--line";var AreaSeries=function(_AbstractSeries){_inherits(AreaSeries,_AbstractSeries);function AreaSeries(){_classCallCheck(this,AreaSeries);return _possibleConstructorReturn(this,(AreaSeries.__proto__||Object.getPrototypeOf(AreaSeries)).apply(this,arguments))}_createClass(AreaSeries,[{key:"_renderArea",value:function _renderArea(data,x,y0,y,curve,getNull){var area=d3Shape.area();if(curve!==null){if(typeof curve==="string"&&d3Shape[curve]){area=area.curve(d3Shape[curve])}else if(typeof curve==="function"){area=area.curve(curve)}}area=area.defined(getNull);area=area.x(x).y0(y0).y1(y);return area(data)}},{key:"render",value:function render(){var _props=this.props,animation=_props.animation,className=_props.className,curve=_props.curve,data=_props.data,marginLeft=_props.marginLeft,marginTop=_props.marginTop,style=_props.style;if(this.props.nullAccessor){(0,_reactUtils.warning)("nullAccessor has been renamed to getNull",true)}if(!data){return null}if(animation){return _react2.default.createElement(_animation2.default,_extends({},this.props,{animatedProps:_seriesUtils.ANIMATED_SERIES_PROPS}),_react2.default.createElement(AreaSeries,_extends({},this.props,{animation:null})))}var x=this._getAttributeFunctor("x");var y=this._getAttributeFunctor("y");var y0=this._getAttr0Functor("y");var stroke=this._getAttributeValue("stroke")||this._getAttributeValue("color");var fill=this._getAttributeValue("fill")||this._getAttributeValue("color");var newOpacity=this._getAttributeValue("opacity");var opacity=Number.isFinite(newOpacity)?newOpacity:_theme.DEFAULT_OPACITY;var getNull=this.props.nullAccessor||this.props.getNull;var d=this._renderArea(data,x,y0,y,curve,getNull);return _react2.default.createElement("path",{d:d,className:predefinedClassName+" "+className,transform:"translate("+marginLeft+","+marginTop+")",onMouseOver:this._seriesMouseOverHandler,onMouseOut:this._seriesMouseOutHandler,onClick:this._seriesClickHandler,onContextMenu:this._seriesRightClickHandler,style:_extends({opacity:opacity,stroke:stroke,fill:fill},style)})}}]);return AreaSeries}(_abstractSeries2.default);AreaSeries.displayName="AreaSeries";AreaSeries.propTypes=_extends({},_abstractSeries2.default.propTypes,{getNull:_propTypes2.default.func});AreaSeries.defaultProps=_extends({},_abstractSeries2.default.defaultProps,{getNull:function getNull(){return true}});exports.default=AreaSeries},{"../../animation":77,"../../theme":140,"../../utils/react-utils":148,"../../utils/series-utils":150,"./abstract-series":103,"d3-shape":15,"prop-types":33,react:76}],106:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _d3Color=require("d3-color");var _theme=require("../../theme");var _scalesUtils=require("../../utils/scales-utils");var _seriesUtils=require("../../utils/series-utils");var _abstractSeries=require("./abstract-series");var _abstractSeries2=_interopRequireDefault(_abstractSeries);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}function getScaleDistance(props,attr){var scaleObject=(0,_scalesUtils.getScaleObjectFromProps)(props,attr);return scaleObject?scaleObject.distance:0}var BarSeriesCanvas=function(_AbstractSeries){_inherits(BarSeriesCanvas,_AbstractSeries);function BarSeriesCanvas(){_classCallCheck(this,BarSeriesCanvas);return _possibleConstructorReturn(this,(BarSeriesCanvas.__proto__||Object.getPrototypeOf(BarSeriesCanvas)).apply(this,arguments))}_createClass(BarSeriesCanvas,[{key:"render",value:function render(){return null}}],[{key:"renderLayer",value:function renderLayer(props,ctx){var data=props.data,linePosAttr=props.linePosAttr,lineSizeAttr=props.lineSizeAttr,valuePosAttr=props.valuePosAttr,marginTop=props.marginTop,marginBottom=props.marginBottom;if(!data||data.length===0){return}var distance=getScaleDistance(props,linePosAttr);var line=(0,_scalesUtils.getAttributeFunctor)(props,linePosAttr);var value=(0,_scalesUtils.getAttributeFunctor)(props,valuePosAttr);var value0=(0,_scalesUtils.getAttr0Functor)(props,valuePosAttr);var fill=(0,_scalesUtils.getAttributeFunctor)(props,"fill")||(0,_scalesUtils.getAttributeFunctor)(props,"color");var stroke=(0,_scalesUtils.getAttributeFunctor)(props,"stroke")||(0,_scalesUtils.getAttributeFunctor)(props,"color");var opacity=(0,_scalesUtils.getAttributeFunctor)(props,"opacity");var halfSpace=distance/2*.85;var totalSpaceAvailable=halfSpace*2;var _getStackParams=(0,_seriesUtils.getStackParams)(props),sameTypeTotal=_getStackParams.sameTypeTotal,sameTypeIndex=_getStackParams.sameTypeIndex;data.forEach(function(row){var totalSpaceCenter=line(row);var totalSpaceStartingPoint=totalSpaceCenter-halfSpace;var spaceTakenByInterBarsPixels=(sameTypeTotal-1)/sameTypeTotal;var lineSize=totalSpaceAvailable/sameTypeTotal-spaceTakenByInterBarsPixels;var fillColor=(0,_d3Color.rgb)(fill(row));var strokeColor=(0,_d3Color.rgb)(stroke(row));var rowOpacity=opacity(row)||_theme.DEFAULT_OPACITY;var linePos=totalSpaceStartingPoint+lineSize*sameTypeIndex+sameTypeIndex;var valuePos=Math.min(value0(row),value(row));var x=valuePosAttr==="x"?valuePos:linePos;var y=valuePosAttr==="y"?valuePos:linePos;var valueSize=Math.abs(-value0(row)+value(row));var height=lineSizeAttr==="height"?lineSize:valueSize;var width=lineSizeAttr==="width"?lineSize:valueSize;ctx.beginPath();ctx.rect(x+marginBottom,y+marginTop,width,height);ctx.fillStyle="rgba("+fillColor.r+", "+fillColor.g+", "+fillColor.b+", "+rowOpacity+")";ctx.fill();ctx.strokeStyle="rgba("+strokeColor.r+", "+strokeColor.g+", "+strokeColor.b+", "+rowOpacity+")";ctx.stroke()})}},{key:"requiresSVG",get:function get(){return false}},{key:"isCanvas",get:function get(){return true}}]);return BarSeriesCanvas}(_abstractSeries2.default);BarSeriesCanvas.displayName="BarSeriesCanvas";BarSeriesCanvas.defaultProps=_extends({},_abstractSeries2.default.defaultProps,{linePosAttr:_propTypes2.default.string.isRequired,valuePosAttr:_propTypes2.default.string.isRequired,lineSizeAttr:_propTypes2.default.string.isRequired,valueSizeAttr:_propTypes2.default.string.isRequired});BarSeriesCanvas.propTypes=_extends({},_abstractSeries2.default.propTypes);exports.default=BarSeriesCanvas},{"../../theme":140,"../../utils/scales-utils":149,"../../utils/series-utils":150,"./abstract-series":103,"d3-color":5,"prop-types":33}],107:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _animation=require("../../animation");var _animation2=_interopRequireDefault(_animation);var _seriesUtils=require("../../utils/series-utils");var _abstractSeries=require("./abstract-series");var _abstractSeries2=_interopRequireDefault(_abstractSeries);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var predefinedClassName="rv-xy-plot__series rv-xy-plot__series--bar";var BarSeries=function(_AbstractSeries){_inherits(BarSeries,_AbstractSeries);function BarSeries(){_classCallCheck(this,BarSeries);return _possibleConstructorReturn(this,(BarSeries.__proto__||Object.getPrototypeOf(BarSeries)).apply(this,arguments))}_createClass(BarSeries,[{key:"render",value:function render(){var _this2=this;var _props=this.props,animation=_props.animation,className=_props.className,data=_props.data,linePosAttr=_props.linePosAttr,lineSizeAttr=_props.lineSizeAttr,marginLeft=_props.marginLeft,marginTop=_props.marginTop,style=_props.style,valuePosAttr=_props.valuePosAttr,valueSizeAttr=_props.valueSizeAttr,barWidth=_props.barWidth;if(!data){return null}if(animation){return _react2.default.createElement(_animation2.default,_extends({},this.props,{animatedProps:_seriesUtils.ANIMATED_SERIES_PROPS}),_react2.default.createElement(BarSeries,_extends({},this.props,{animation:null})))}var _getStackParams=(0,_seriesUtils.getStackParams)(this.props),sameTypeTotal=_getStackParams.sameTypeTotal,sameTypeIndex=_getStackParams.sameTypeIndex;var distance=this._getScaleDistance(linePosAttr);var lineFunctor=this._getAttributeFunctor(linePosAttr);var valueFunctor=this._getAttributeFunctor(valuePosAttr);var value0Functor=this._getAttr0Functor(valuePosAttr);var fillFunctor=this._getAttributeFunctor("fill")||this._getAttributeFunctor("color");var strokeFunctor=this._getAttributeFunctor("stroke")||this._getAttributeFunctor("color");var opacityFunctor=this._getAttributeFunctor("opacity");var halfSpace=distance/2*barWidth;return _react2.default.createElement("g",{className:predefinedClassName+" "+className,transform:"translate("+marginLeft+","+marginTop+")"},data.map(function(d,i){var _attrs;var totalSpaceAvailable=halfSpace*2;var totalSpaceCenter=lineFunctor(d);var totalSpaceStartingPoint=totalSpaceCenter-halfSpace;var spaceTakenByInterBarsPixels=(sameTypeTotal-1)/sameTypeTotal;var spacePerBar=totalSpaceAvailable/sameTypeTotal-spaceTakenByInterBarsPixels;var barStartingPoint=totalSpaceStartingPoint+spacePerBar*sameTypeIndex+sameTypeIndex;var attrs=(_attrs={style:_extends({opacity:opacityFunctor&&opacityFunctor(d),stroke:strokeFunctor&&strokeFunctor(d),fill:fillFunctor&&fillFunctor(d)},style)},_defineProperty(_attrs,linePosAttr,barStartingPoint),_defineProperty(_attrs,lineSizeAttr,spacePerBar),_defineProperty(_attrs,valuePosAttr,Math.min(value0Functor(d),valueFunctor(d))),_defineProperty(_attrs,valueSizeAttr,Math.abs(-value0Functor(d)+valueFunctor(d))),_defineProperty(_attrs,"onClick",function onClick(e){return _this2._valueClickHandler(d,e)}),_defineProperty(_attrs,"onContextMenu",function onContextMenu(e){return _this2._valueRightClickHandler(d,e)}),_defineProperty(_attrs,"onMouseOver",function onMouseOver(e){return _this2._valueMouseOverHandler(d,e)}),_defineProperty(_attrs,"onMouseOut",function onMouseOut(e){return _this2._valueMouseOutHandler(d,e)}),_defineProperty(_attrs,"key",i),_attrs);return _react2.default.createElement("rect",attrs)}))}}],[{key:"propTypes",get:function get(){return _extends({},_abstractSeries2.default.propTypes,{linePosAttr:_propTypes2.default.string,valuePosAttr:_propTypes2.default.string,lineSizeAttr:_propTypes2.default.string,valueSizeAttr:_propTypes2.default.string,cluster:_propTypes2.default.string,barWidth:_propTypes2.default.number})}},{key:"defaultProps",get:function get(){return{barWidth:.85}}}]);return BarSeries}(_abstractSeries2.default);BarSeries.displayName="BarSeries";exports.default=BarSeries},{"../../animation":77,"../../utils/series-utils":150,"./abstract-series":103,"prop-types":33,react:76}],108:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _d3Interpolate=require("d3-interpolate");var _animation=require("../../animation");var _seriesUtils=require("../../utils/series-utils");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var MAX_DRAWS=30;function engageDrawLoop(ctx,height,width,layers){var drawIteration=0;var drawCycle=setInterval(function(){if(!ctx){clearInterval(drawCycle);return}drawLayers(ctx,height,width,layers,drawIteration);if(drawIteration>MAX_DRAWS){clearInterval(drawCycle)}drawIteration+=1},1)}function drawLayers(ctx,height,width,layers,drawIteration){ctx.clearRect(0,0,width,height);layers.forEach(function(layer){var interpolator=layer.interpolator,newProps=layer.newProps,animation=layer.animation;var interpolatedProps=animation?interpolator?interpolator(drawIteration/MAX_DRAWS):interpolator:function(){return{}};layer.renderLayer(_extends({},newProps,interpolatedProps),ctx)})}function buildLayers(newChildren,oldChildren){return newChildren.map(function(child,index){var oldProps=oldChildren[index]?oldChildren[index].props:{};var newProps=child.props;var oldAnimatedProps=(0,_animation.extractAnimatedPropValues)(_extends({},oldProps,{animatedProps:_seriesUtils.ANIMATED_SERIES_PROPS}));var newAnimatedProps=newProps?(0,_animation.extractAnimatedPropValues)(_extends({},newProps,{animatedProps:_seriesUtils.ANIMATED_SERIES_PROPS})):null;var interpolator=(0,_d3Interpolate.interpolate)(oldAnimatedProps,newAnimatedProps);return{renderLayer:child.type.renderLayer,newProps:child.props,animation:child.props.animation,interpolator:interpolator}})}var CanvasWrapper=function(_Component){_inherits(CanvasWrapper,_Component);function CanvasWrapper(){_classCallCheck(this,CanvasWrapper);return _possibleConstructorReturn(this,(CanvasWrapper.__proto__||Object.getPrototypeOf(CanvasWrapper)).apply(this,arguments))}_createClass(CanvasWrapper,[{key:"componentDidMount",value:function componentDidMount(){var ctx=this.canvas.getContext("2d");if(!ctx){return}var pixelRatio=this.props.pixelRatio;if(!ctx){return}ctx.scale(pixelRatio,pixelRatio);this.drawChildren(null,this.props,ctx)}},{key:"componentDidUpdate",value:function componentDidUpdate(oldProps){this.drawChildren(oldProps,this.props,this.canvas.getContext("2d"))}},{key:"drawChildren",value:function drawChildren(oldProps,newProps,ctx){var children=newProps.children,innerHeight=newProps.innerHeight,innerWidth=newProps.innerWidth,marginBottom=newProps.marginBottom,marginLeft=newProps.marginLeft,marginRight=newProps.marginRight,marginTop=newProps.marginTop;if(!ctx){return}var childrenShouldAnimate=children.find(function(child){return child.props.animation});var height=innerHeight+marginTop+marginBottom;var width=innerWidth+marginLeft+marginRight;var layers=buildLayers(newProps.children,oldProps?oldProps.children:[]);if(!childrenShouldAnimate){drawLayers(ctx,height,width,layers);return}engageDrawLoop(ctx,height,width,layers)}},{key:"render",value:function render(){var _this2=this;var _props=this.props,innerHeight=_props.innerHeight,innerWidth=_props.innerWidth,marginBottom=_props.marginBottom,marginLeft=_props.marginLeft,marginRight=_props.marginRight,marginTop=_props.marginTop,pixelRatio=_props.pixelRatio;var height=innerHeight+marginTop+marginBottom;var width=innerWidth+marginLeft+marginRight;return _react2.default.createElement("div",{style:{left:0,top:0},className:"rv-xy-canvas"},_react2.default.createElement("canvas",{className:"rv-xy-canvas-element",height:height*pixelRatio,width:width*pixelRatio,style:{height:height+"px",width:width+"px"},ref:function ref(_ref){return _this2.canvas=_ref}}),this.props.children)}}],[{key:"defaultProps",get:function get(){return{pixelRatio:window&&window.devicePixelRatio||1}}}]);return CanvasWrapper}(_react.Component);CanvasWrapper.displayName="CanvasWrapper";CanvasWrapper.propTypes={marginBottom:_propTypes2.default.number.isRequired,marginLeft:_propTypes2.default.number.isRequired,marginRight:_propTypes2.default.number.isRequired,marginTop:_propTypes2.default.number.isRequired,innerHeight:_propTypes2.default.number.isRequired,innerWidth:_propTypes2.default.number.isRequired,pixelRatio:_propTypes2.default.number.isRequired};exports.default=CanvasWrapper},{"../../animation":77,"../../utils/series-utils":150,"d3-interpolate":11,"prop-types":33,react:76}],109:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _d3Contour=require("d3-contour");var _d3Geo=require("d3-geo");var _d3Scale=require("d3-scale");var _abstractSeries=require("./abstract-series");var _abstractSeries2=_interopRequireDefault(_abstractSeries);var _animation=require("../../animation");var _animation2=_interopRequireDefault(_animation);var _seriesUtils=require("../../utils/series-utils");var _theme=require("../../theme");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var predefinedClassName="rv-xy-plot__series rv-xy-plot__series--contour";function getDomain(data){return data.reduce(function(acc,row){return{min:Math.min(acc.min,row.value),max:Math.max(acc.max,row.value)}},{min:Infinity,max:-Infinity})}var ContourSeries=function(_AbstractSeries){_inherits(ContourSeries,_AbstractSeries);function ContourSeries(){_classCallCheck(this,ContourSeries);return _possibleConstructorReturn(this,(ContourSeries.__proto__||Object.getPrototypeOf(ContourSeries)).apply(this,arguments))}_createClass(ContourSeries,[{key:"render",value:function render(){var _props=this.props,animation=_props.animation,bandwidth=_props.bandwidth,className=_props.className,colorRange=_props.colorRange,data=_props.data,innerHeight=_props.innerHeight,innerWidth=_props.innerWidth,marginLeft=_props.marginLeft,marginTop=_props.marginTop,style=_props.style;if(!data||!innerWidth||!innerHeight){return null}if(animation){return _react2.default.createElement(_animation2.default,_extends({},this.props,{animatedProps:_seriesUtils.ANIMATED_SERIES_PROPS}),_react2.default.createElement(ContourSeries,_extends({},this.props,{animation:null})))}var x=this._getAttributeFunctor("x");var y=this._getAttributeFunctor("y");var contouredData=(0,_d3Contour.contourDensity)().x(function(d){return x(d)}).y(function(d){return y(d)}).size([innerWidth,innerHeight]).bandwidth(bandwidth)(data);var geo=(0,_d3Geo.geoPath)();var _getDomain=getDomain(contouredData),min=_getDomain.min,max=_getDomain.max;var colorScale=(0,_d3Scale.scaleLinear)().domain([min,max]).range(colorRange||_theme.CONTINUOUS_COLOR_RANGE);return _react2.default.createElement("g",{className:predefinedClassName+" "+className,transform:"translate("+marginLeft+","+marginTop+")"},contouredData.map(function(polygon,index){return _react2.default.createElement("path",{className:"rv-xy-plot__series--contour-line",key:"rv-xy-plot__series--contour-line-"+index,d:geo(polygon),style:_extends({fill:colorScale(polygon.value)},style)})}))}}]);return ContourSeries}(_abstractSeries2.default);ContourSeries.propTypes=_extends({},_abstractSeries2.default.propTypes,{animation:_propTypes2.default.bool,bandwidth:_propTypes2.default.number,className:_propTypes2.default.string,marginLeft:_propTypes2.default.number,marginTop:_propTypes2.default.number,style:_propTypes2.default.object});ContourSeries.defaultProps=_extends({},_abstractSeries2.default.defaultProps,{bandwidth:40,style:{}});exports.default=ContourSeries},{"../../animation":77,"../../theme":140,"../../utils/series-utils":150,"./abstract-series":103,"d3-contour":6,"d3-geo":8,"d3-scale":14,"prop-types":33,react:76}],110:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false
  18. ;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _abstractSeries=require("./abstract-series");var _abstractSeries2=_interopRequireDefault(_abstractSeries);var _animation=require("../../animation");var _animation2=_interopRequireDefault(_animation);var _seriesUtils=require("../../utils/series-utils");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++){arr2[i]=arr[i]}return arr2}else{return Array.from(arr)}}var predefinedClassName="rv-xy-plot__series rv-xy-plot__series--custom-svg-wrapper";var DEFAULT_STYLE={stroke:"blue",fill:"blue"};function predefinedComponents(type){var size=arguments.length>1&&arguments[1]!==undefined?arguments[1]:2;var style=arguments.length>2&&arguments[2]!==undefined?arguments[2]:DEFAULT_STYLE;switch(type){case"diamond":return _react2.default.createElement("polygon",{style:style,points:"0 0 "+size/2+" "+size/2+" 0 "+size+" "+-size/2+" "+size/2+" 0 0"});case"star":var starPoints=[].concat(_toConsumableArray(new Array(5))).map(function(c,index){var angle=index/5*Math.PI*2;var innerAngle=angle+Math.PI/10;var outerAngle=angle-Math.PI/10;var innerRadius=size/2.61;return"\n "+Math.cos(outerAngle)*size+" "+Math.sin(outerAngle)*size+"\n "+Math.cos(innerAngle)*innerRadius+" "+Math.sin(innerAngle)*innerRadius+"\n "}).join(" ");return _react2.default.createElement("polygon",{points:starPoints,x:"0",y:"0",height:size,width:size,style:style});case"square":return _react2.default.createElement("rect",{x:""+-size/2,y:""+-size/2,height:size,width:size,style:style});default:case"circle":return _react2.default.createElement("circle",{cx:"0",cy:"0",r:size/2,style:style})}}function getInnerComponent(_ref){var customComponent=_ref.customComponent,defaultType=_ref.defaultType,positionInPixels=_ref.positionInPixels,positionFunctions=_ref.positionFunctions,style=_ref.style,propsSize=_ref.propsSize;var size=customComponent.size;var aggStyle=_extends({},style,customComponent.style||{});var innerComponent=customComponent.customComponent;if(!innerComponent&&typeof defaultType==="string"){return predefinedComponents(defaultType,size||propsSize,aggStyle)}if(!innerComponent){return defaultType(customComponent,positionInPixels,aggStyle)}if(typeof innerComponent==="string"){return predefinedComponents(innerComponent||defaultType,size,aggStyle)}return innerComponent(customComponent,positionInPixels,aggStyle)}var CustomSVGSeries=function(_AbstractSeries){_inherits(CustomSVGSeries,_AbstractSeries);function CustomSVGSeries(){_classCallCheck(this,CustomSVGSeries);return _possibleConstructorReturn(this,(CustomSVGSeries.__proto__||Object.getPrototypeOf(CustomSVGSeries)).apply(this,arguments))}_createClass(CustomSVGSeries,[{key:"render",value:function render(){var _this2=this;var _props=this.props,animation=_props.animation,className=_props.className,customComponent=_props.customComponent,data=_props.data,innerHeight=_props.innerHeight,innerWidth=_props.innerWidth,marginLeft=_props.marginLeft,marginTop=_props.marginTop,style=_props.style,size=_props.size;if(!data||!innerWidth||!innerHeight){return null}if(animation){return _react2.default.createElement(_animation2.default,_extends({},this.props,{animatedProps:_seriesUtils.ANIMATED_SERIES_PROPS}),_react2.default.createElement(CustomSVGSeries,_extends({},this.props,{animation:false})))}var x=this._getAttributeFunctor("x");var y=this._getAttributeFunctor("y");var contents=data.map(function(seriesComponent,index){var positionInPixels={x:x(seriesComponent),y:y(seriesComponent)};var innerComponent=getInnerComponent({customComponent:seriesComponent,positionInPixels:positionInPixels,defaultType:customComponent,positionFunctions:{x:x,y:y},style:style,propsSize:size});return _react2.default.createElement("g",{className:"rv-xy-plot__series--custom-svg",key:"rv-xy-plot__series--custom-svg-"+index,transform:"translate("+positionInPixels.x+","+positionInPixels.y+")",onMouseEnter:function onMouseEnter(e){return _this2._valueMouseOverHandler(seriesComponent,e)},onMouseLeave:function onMouseLeave(e){return _this2._valueMouseOutHandler(seriesComponent,e)}},innerComponent)});return _react2.default.createElement("g",{className:predefinedClassName+" "+className,transform:"translate("+marginLeft+","+marginTop+")"},contents)}}]);return CustomSVGSeries}(_abstractSeries2.default);CustomSVGSeries.propTypes={animation:_propTypes2.default.bool,className:_propTypes2.default.string,customComponent:_propTypes2.default.oneOfType([_propTypes2.default.string,_propTypes2.default.func]),data:_propTypes2.default.arrayOf(_propTypes2.default.shape({x:_propTypes2.default.oneOfType([_propTypes2.default.string,_propTypes2.default.number]).isRequired,y:_propTypes2.default.oneOfType([_propTypes2.default.string,_propTypes2.default.number]).isRequired})).isRequired,marginLeft:_propTypes2.default.number,marginTop:_propTypes2.default.number,style:_propTypes2.default.object,size:_propTypes2.default.number,onValueMouseOver:_propTypes2.default.func,onValueMouseOut:_propTypes2.default.func};CustomSVGSeries.defaultProps=_extends({},_abstractSeries2.default.defaultProps,{animation:false,customComponent:"circle",style:{},size:2});exports.default=CustomSVGSeries},{"../../animation":77,"../../utils/series-utils":150,"./abstract-series":103,"prop-types":33,react:76}],111:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _react=require("react");var _react2=_interopRequireDefault(_react);var _animation=require("../../animation");var _animation2=_interopRequireDefault(_animation);var _seriesUtils=require("../../utils/series-utils");var _abstractSeries=require("./abstract-series");var _abstractSeries2=_interopRequireDefault(_abstractSeries);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var predefinedClassName="rv-xy-plot__series rv-xy-plot__series--heatmap";var HeatmapSeries=function(_AbstractSeries){_inherits(HeatmapSeries,_AbstractSeries);function HeatmapSeries(){_classCallCheck(this,HeatmapSeries);return _possibleConstructorReturn(this,(HeatmapSeries.__proto__||Object.getPrototypeOf(HeatmapSeries)).apply(this,arguments))}_createClass(HeatmapSeries,[{key:"render",value:function render(){var _this2=this;var _props=this.props,animation=_props.animation,className=_props.className,data=_props.data,marginLeft=_props.marginLeft,marginTop=_props.marginTop,style=_props.style;if(!data){return null}if(animation){return _react2.default.createElement(_animation2.default,_extends({},this.props,{animatedProps:_seriesUtils.ANIMATED_SERIES_PROPS}),_react2.default.createElement(HeatmapSeries,_extends({},this.props,{animation:null})))}var _rectStyle$style=_extends({rectStyle:{}},style),rectStyle=_rectStyle$style.rectStyle;var x=this._getAttributeFunctor("x");var y=this._getAttributeFunctor("y");var opacity=this._getAttributeFunctor("opacity");var fill=this._getAttributeFunctor("fill")||this._getAttributeFunctor("color");var stroke=this._getAttributeFunctor("stroke")||this._getAttributeFunctor("color");var xDistance=this._getScaleDistance("x");var yDistance=this._getScaleDistance("y");return _react2.default.createElement("g",{className:predefinedClassName+" "+className,transform:"translate("+marginLeft+","+marginTop+")"},data.map(function(d,i){var attrs=_extends({style:_extends({stroke:stroke&&stroke(d),fill:fill&&fill(d),opacity:opacity&&opacity(d)},style)},rectStyle,{x:x(d)-xDistance/2,y:y(d)-yDistance/2,width:xDistance,height:yDistance,key:i,onClick:function onClick(e){return _this2._valueClickHandler(d,e)},onContextMenu:function onContextMenu(e){return _this2._valueRightClickHandler(d,e)},onMouseOver:function onMouseOver(e){return _this2._valueMouseOverHandler(d,e)},onMouseOut:function onMouseOut(e){return _this2._valueMouseOutHandler(d,e)}});return _react2.default.createElement("rect",attrs)}))}}],[{key:"getParentConfig",value:function getParentConfig(attr){var isDomainAdjustmentNeeded=attr==="x"||attr==="y";return{isDomainAdjustmentNeeded:isDomainAdjustmentNeeded}}}]);return HeatmapSeries}(_abstractSeries2.default);HeatmapSeries.propTypes=_extends({},_abstractSeries2.default.propTypes);HeatmapSeries.displayName="HeatmapSeries";exports.default=HeatmapSeries},{"../../animation":77,"../../utils/series-utils":150,"./abstract-series":103,react:76}],112:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _animation=require("../../animation");var _animation2=_interopRequireDefault(_animation);var _d3Hexbin=require("d3-hexbin");var _d3Scale=require("d3-scale");var _seriesUtils=require("../../utils/series-utils");var _theme=require("../../theme");var _abstractSeries=require("./abstract-series");var _abstractSeries2=_interopRequireDefault(_abstractSeries);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++){arr2[i]=arr[i]}return arr2}else{return Array.from(arr)}}var predefinedClassName="rv-xy-plot__series rv-xy-plot__series--hexbin";function getColorDomain(_ref,hexes){var countDomain=_ref.countDomain;if(countDomain){return countDomain}return[0,Math.max.apply(Math,_toConsumableArray(hexes.map(function(row){return row.length})))]}var HexbinSeries=function(_AbstractSeries){_inherits(HexbinSeries,_AbstractSeries);function HexbinSeries(){_classCallCheck(this,HexbinSeries);return _possibleConstructorReturn(this,(HexbinSeries.__proto__||Object.getPrototypeOf(HexbinSeries)).apply(this,arguments))}_createClass(HexbinSeries,[{key:"render",value:function render(){var _this2=this;var _props=this.props,animation=_props.animation,className=_props.className,colorRange=_props.colorRange,data=_props.data,innerHeight=_props.innerHeight,innerWidth=_props.innerWidth,marginLeft=_props.marginLeft,marginTop=_props.marginTop,radius=_props.radius,sizeHexagonsWithCount=_props.sizeHexagonsWithCount,style=_props.style,xOffset=_props.xOffset,yOffset=_props.yOffset;if(!data){return null}if(animation){return _react2.default.createElement(_animation2.default,_extends({},this.props,{animatedProps:_seriesUtils.ANIMATED_SERIES_PROPS}),_react2.default.createElement(HexbinSeries,_extends({},this.props,{animation:null})))}var x=this._getAttributeFunctor("x");var y=this._getAttributeFunctor("y");var hex=(0,_d3Hexbin.hexbin)().x(function(d){return x(d)+xOffset}).y(function(d){return y(d)+yOffset}).radius(radius).size([innerWidth,innerHeight]);var hexagonPath=hex.hexagon();var hexes=hex(data);var countDomain=getColorDomain(this.props,hexes);var color=(0,_d3Scale.scaleLinear)().domain(countDomain).range(colorRange);var size=(0,_d3Scale.scaleLinear)().domain(countDomain).range([0,radius]);return _react2.default.createElement("g",{className:predefinedClassName+" "+className,transform:"translate("+marginLeft+","+marginTop+")"},hexes.map(function(d,i){var attrs={style:style,d:sizeHexagonsWithCount?hex.hexagon(size(d.length)):hexagonPath,fill:color(d.length),transform:"translate("+d.x+", "+d.y+")",key:i,onClick:function onClick(e){return _this2._valueClickHandler(d,e)},onContextMenu:function onContextMenu(e){return _this2._valueRightClickHandler(d,e)},onMouseOver:function onMouseOver(e){return _this2._valueMouseOverHandler(d,e)},onMouseOut:function onMouseOut(e){return _this2._valueMouseOutHandler(d,e)}};return _react2.default.createElement("path",attrs)}))}}]);return HexbinSeries}(_abstractSeries2.default);HexbinSeries.propTypes=_extends({},_abstractSeries2.default.propTypes,{radius:_propTypes2.default.number});HexbinSeries.defaultProps={radius:20,colorRange:_theme.CONTINUOUS_COLOR_RANGE,xOffset:0,yOffset:0};HexbinSeries.displayName="HexbinSeries";exports.default=HexbinSeries},{"../../animation":77,"../../theme":140,"../../utils/series-utils":150,"./abstract-series":103,"d3-hexbin":9,"d3-scale":14,"prop-types":33,react:76}],113:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _abstractSeries=require("./abstract-series");var _abstractSeries2=_interopRequireDefault(_abstractSeries);var _barSeriesCanvas=require("./bar-series-canvas");var _barSeriesCanvas2=_interopRequireDefault(_barSeriesCanvas);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var HorizontalBarSeriesCanvas=function(_AbstractSeries){_inherits(HorizontalBarSeriesCanvas,_AbstractSeries);function HorizontalBarSeriesCanvas(){_classCallCheck(this,HorizontalBarSeriesCanvas);return _possibleConstructorReturn(this,(HorizontalBarSeriesCanvas.__proto__||Object.getPrototypeOf(HorizontalBarSeriesCanvas)).apply(this,arguments))}_createClass(HorizontalBarSeriesCanvas,[{key:"render",value:function render(){return null}}],[{key:"getParentConfig",value:function getParentConfig(attr){var isDomainAdjustmentNeeded=attr==="y";var zeroBaseValue=attr==="x";return{isDomainAdjustmentNeeded:isDomainAdjustmentNeeded,zeroBaseValue:zeroBaseValue}}},{key:"renderLayer",value:function renderLayer(props,ctx){_barSeriesCanvas2.default.renderLayer(_extends({},props,{linePosAttr:"y",valuePosAttr:"x",lineSizeAttr:"height",valueSizeAttr:"width"}),ctx)}},{key:"requiresSVG",get:function get(){return false}},{key:"isCanvas",get:function get(){return true}}]);return HorizontalBarSeriesCanvas}(_abstractSeries2.default);HorizontalBarSeriesCanvas.displayName="HorizontalBarSeriesCanvas";HorizontalBarSeriesCanvas.propTypes=_extends({},_abstractSeries2.default.propTypes);exports.default=HorizontalBarSeriesCanvas},{"./abstract-series":103,"./bar-series-canvas":106}],114:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _react=require("react");var _react2=_interopRequireDefault(_react);var _abstractSeries=require("./abstract-series");var _abstractSeries2=_interopRequireDefault(_abstractSeries);var _barSeries=require("./bar-series");var _barSeries2=_interopRequireDefault(_barSeries);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var HorizontalBarSeries=function(_AbstractSeries){_inherits(HorizontalBarSeries,_AbstractSeries);function HorizontalBarSeries(){_classCallCheck(this,HorizontalBarSeries);return _possibleConstructorReturn(this,(HorizontalBarSeries.__proto__||Object.getPrototypeOf(HorizontalBarSeries)).apply(this,arguments))}_createClass(HorizontalBarSeries,[{key:"render",value:function render(){return _react2.default.createElement(_barSeries2.default,_extends({},this.props,{linePosAttr:"y",valuePosAttr:"x",lineSizeAttr:"height",valueSizeAttr:"width"}))}}],[{key:"getParentConfig",value:function getParentConfig(attr){var isDomainAdjustmentNeeded=attr==="y";var zeroBaseValue=attr==="x";return{isDomainAdjustmentNeeded:isDomainAdjustmentNeeded,zeroBaseValue:zeroBaseValue}}}]);return HorizontalBarSeries}(_abstractSeries2.default);HorizontalBarSeries.displayName="HorizontalBarSeries";exports.default=HorizontalBarSeries},{"./abstract-series":103,"./bar-series":107,react:76}],115:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _abstractSeries=require("./abstract-series");var _abstractSeries2=_interopRequireDefault(_abstractSeries);var _rectSeriesCanvas=require("./rect-series-canvas");var _rectSeriesCanvas2=_interopRequireDefault(_rectSeriesCanvas);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var HorizontalRectSeriesCanvas=function(_AbstractSeries){_inherits(HorizontalRectSeriesCanvas,_AbstractSeries);function HorizontalRectSeriesCanvas(){_classCallCheck(this,HorizontalRectSeriesCanvas);return _possibleConstructorReturn(this,(HorizontalRectSeriesCanvas.__proto__||Object.getPrototypeOf(HorizontalRectSeriesCanvas)).apply(this,arguments))}_createClass(HorizontalRectSeriesCanvas,[{key:"render",value:function render(){return null}}],[{key:"getParentConfig",value:function getParentConfig(attr){var isDomainAdjustmentNeeded=false;var zeroBaseValue=attr==="x";return{isDomainAdjustmentNeeded:isDomainAdjustmentNeeded,zeroBaseValue:zeroBaseValue}}},{key:"renderLayer",value:function renderLayer(props,ctx){_rectSeriesCanvas2.default.renderLayer(_extends({},props,{linePosAttr:"y",valuePosAttr:"x",lineSizeAttr:"height",valueSizeAttr:"width"}),ctx)}},{key:"requiresSVG",get:function get(){return false}},{key:"isCanvas",get:function get(){return true}}]);return HorizontalRectSeriesCanvas}(_abstractSeries2.default);HorizontalRectSeriesCanvas.displayName="HorizontalRectSeriesCanvas";HorizontalRectSeriesCanvas.propTypes=_extends({},_abstractSeries2.default.propTypes);exports.default=HorizontalRectSeriesCanvas},{"./abstract-series":103,"./rect-series-canvas":125}],116:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _react=require("react");var _react2=_interopRequireDefault(_react);var _abstractSeries=require("./abstract-series");var _abstractSeries2=_interopRequireDefault(_abstractSeries);var _rectSeries=require("./rect-series");var _rectSeries2=_interopRequireDefault(_rectSeries);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var HorizontalRectSeries=function(_AbstractSeries){_inherits(HorizontalRectSeries,_AbstractSeries);function HorizontalRectSeries(){_classCallCheck(this,HorizontalRectSeries);return _possibleConstructorReturn(this,(HorizontalRectSeries.__proto__||Object.getPrototypeOf(HorizontalRectSeries)).apply(this,arguments))}_createClass(HorizontalRectSeries,[{key:"render",value:function render(){return _react2.default.createElement(_rectSeries2.default,_extends({},this.props,{linePosAttr:"y",valuePosAttr:"x",lineSizeAttr:"height",valueSizeAttr:"width"}))}}],[{key:"getParentConfig",value:function getParentConfig(attr){var isDomainAdjustmentNeeded=false;var zeroBaseValue=attr==="x";return{isDomainAdjustmentNeeded:isDomainAdjustmentNeeded,zeroBaseValue:zeroBaseValue}}}]);return HorizontalRectSeries}(_abstractSeries2.default);HorizontalRectSeries.displayName="HorizontalRectSeries";exports.default=HorizontalRectSeries},{"./abstract-series":103,"./rect-series":126,react:76}],117:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _abstractSeries=require("./abstract-series");var _abstractSeries2=_interopRequireDefault(_abstractSeries);var _animation=require("../../animation");var _animation2=_interopRequireDefault(_animation);var _seriesUtils=require("../../utils/series-utils");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var predefinedClassName="rv-xy-plot__series rv-xy-plot__series--label";var getTextAnchor=function getTextAnchor(labelAnchorX,leftOfMiddle){return labelAnchorX?labelAnchorX:leftOfMiddle?"start":"end"};var getDominantBaseline=function getDominantBaseline(labelAnchorY,aboveMiddle){return labelAnchorY?labelAnchorY:aboveMiddle?"text-before-edge":"text-after-edge"};var LabelSeries=function(_AbstractSeries){_inherits(LabelSeries,_AbstractSeries);function LabelSeries(){_classCallCheck(this,LabelSeries);return _possibleConstructorReturn(this,(LabelSeries.__proto__||Object.getPrototypeOf(LabelSeries)).apply(this,arguments))}_createClass(LabelSeries,[{key:"render",value:function render(){var _this2=this
  19. ;var _props=this.props,animation=_props.animation,allowOffsetToBeReversed=_props.allowOffsetToBeReversed,className=_props.className,data=_props.data,_data=_props._data,getLabel=_props.getLabel,marginLeft=_props.marginLeft,marginTop=_props.marginTop,rotation=_props.rotation,style=_props.style,xRange=_props.xRange,yRange=_props.yRange,labelAnchorX=_props.labelAnchorX,labelAnchorY=_props.labelAnchorY;if(!data){return null}if(animation){return _react2.default.createElement(_animation2.default,_extends({},this.props,{animatedProps:_seriesUtils.ANIMATED_SERIES_PROPS}),_react2.default.createElement(LabelSeries,_extends({},this.props,{animation:null,_data:data})))}var xFunctor=this._getAttributeFunctor("x");var yFunctor=this._getAttributeFunctor("y");return _react2.default.createElement("g",{className:predefinedClassName+" "+className,transform:"translate("+marginLeft+","+marginTop+")",style:style},data.reduce(function(res,d,i){var markStyle=d.style,xOffset=d.xOffset,yOffset=d.yOffset;if(!getLabel(d)){return res}var xVal=xFunctor(d);var yVal=yFunctor(d);var leftOfMiddle=xVal<(xRange[1]-xRange[0])/2;var aboveMiddle=yVal<Math.abs(yRange[1]-yRange[0])/2;var x=xVal+(allowOffsetToBeReversed&&leftOfMiddle?-1:1)*(xOffset||0);var y=yVal+(allowOffsetToBeReversed&&aboveMiddle?-1:1)*(yOffset||0);var hasRotationValueSet=d.rotation===0||d.rotation;var labelRotation=hasRotationValueSet?d.rotation:rotation;var attrs=_extends({dominantBaseline:getDominantBaseline(labelAnchorY,aboveMiddle),className:"rv-xy-plot__series--label-text",key:i,onClick:function onClick(e){return _this2._valueClickHandler(d,e)},onContextMenu:function onContextMenu(e){return _this2._valueRightClickHandler(d,e)},onMouseOver:function onMouseOver(e){return _this2._valueMouseOverHandler(d,e)},onMouseOut:function onMouseOut(e){return _this2._valueMouseOutHandler(d,e)},textAnchor:getTextAnchor(labelAnchorX,leftOfMiddle),x:x,y:y,transform:"rotate("+labelRotation+","+x+","+y+")"},markStyle);var textContent=getLabel(_data?_data[i]:d);return res.concat([_react2.default.createElement("text",attrs,textContent)])},[]))}}]);return LabelSeries}(_abstractSeries2.default);LabelSeries.propTypes={animation:_propTypes2.default.bool,allowOffsetToBeReversed:_propTypes2.default.bool,className:_propTypes2.default.string,data:_propTypes2.default.arrayOf(_propTypes2.default.shape({x:_propTypes2.default.oneOfType([_propTypes2.default.number,_propTypes2.default.string]),y:_propTypes2.default.oneOfType([_propTypes2.default.number,_propTypes2.default.string]),angle:_propTypes2.default.number,radius:_propTypes2.default.number,label:_propTypes2.default.string,xOffset:_propTypes2.default.number,yOffset:_propTypes2.default.number,style:_propTypes2.default.object})).isRequired,marginLeft:_propTypes2.default.number,marginTop:_propTypes2.default.number,rotation:_propTypes2.default.number,style:_propTypes2.default.object,xRange:_propTypes2.default.arrayOf(_propTypes2.default.number),yRange:_propTypes2.default.arrayOf(_propTypes2.default.number),labelAnchorX:_propTypes2.default.string,labelAnchorY:_propTypes2.default.string};LabelSeries.defaultProps=_extends({},_abstractSeries2.default.defaultProps,{animation:false,rotation:0,getLabel:function getLabel(d){return d.label}});LabelSeries.displayName="LabelSeries";exports.default=LabelSeries},{"../../animation":77,"../../utils/series-utils":150,"./abstract-series":103,"prop-types":33,react:76}],118:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _abstractSeries=require("./abstract-series");var _abstractSeries2=_interopRequireDefault(_abstractSeries);var _markSeriesCanvas=require("./mark-series-canvas");var _markSeriesCanvas2=_interopRequireDefault(_markSeriesCanvas);var _lineSeriesCanvas=require("./line-series-canvas");var _lineSeriesCanvas2=_interopRequireDefault(_lineSeriesCanvas);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var LineMarkSeriesCanvas=function(_AbstractSeries){_inherits(LineMarkSeriesCanvas,_AbstractSeries);function LineMarkSeriesCanvas(){_classCallCheck(this,LineMarkSeriesCanvas);return _possibleConstructorReturn(this,(LineMarkSeriesCanvas.__proto__||Object.getPrototypeOf(LineMarkSeriesCanvas)).apply(this,arguments))}_createClass(LineMarkSeriesCanvas,[{key:"render",value:function render(){return null}}],[{key:"renderLayer",value:function renderLayer(props,ctx){_lineSeriesCanvas2.default.renderLayer(props,ctx);_markSeriesCanvas2.default.renderLayer(props,ctx)}},{key:"requiresSVG",get:function get(){return false}},{key:"isCanvas",get:function get(){return true}}]);return LineMarkSeriesCanvas}(_abstractSeries2.default);LineMarkSeriesCanvas.displayName="LineMarkSeriesCanvas";LineMarkSeriesCanvas.propTypes=_extends({},_abstractSeries2.default.propTypes);exports.default=LineMarkSeriesCanvas},{"./abstract-series":103,"./line-series-canvas":120,"./mark-series-canvas":122}],119:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _abstractSeries=require("./abstract-series");var _abstractSeries2=_interopRequireDefault(_abstractSeries);var _lineSeries=require("./line-series");var _lineSeries2=_interopRequireDefault(_lineSeries);var _markSeries=require("./mark-series");var _markSeries2=_interopRequireDefault(_markSeries);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var propTypes=_extends({},_lineSeries2.default.propTypes,{lineStyle:_propTypes2.default.object,markStyle:_propTypes2.default.object});var LineMarkSeries=function(_AbstractSeries){_inherits(LineMarkSeries,_AbstractSeries);function LineMarkSeries(){_classCallCheck(this,LineMarkSeries);return _possibleConstructorReturn(this,(LineMarkSeries.__proto__||Object.getPrototypeOf(LineMarkSeries)).apply(this,arguments))}_createClass(LineMarkSeries,[{key:"render",value:function render(){var _props=this.props,lineStyle=_props.lineStyle,markStyle=_props.markStyle,style=_props.style;return _react2.default.createElement("g",{className:"rv-xy-plot__series rv-xy-plot__series--linemark"},_react2.default.createElement(_lineSeries2.default,_extends({},this.props,{style:_extends({},style,lineStyle)})),_react2.default.createElement(_markSeries2.default,_extends({},this.props,{style:_extends({},style,markStyle)})))}}],[{key:"defaultProps",get:function get(){return _extends({},_lineSeries2.default.defaultProps,{lineStyle:{},markStyle:{}})}}]);return LineMarkSeries}(_abstractSeries2.default);LineMarkSeries.displayName="LineMarkSeries";LineMarkSeries.propTypes=propTypes;exports.default=LineMarkSeries},{"./abstract-series":103,"./line-series":121,"./mark-series":123,"prop-types":33,react:76}],120:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _d3Color=require("d3-color");var _d3Shape=require("d3-shape");var d3Shape=_interopRequireWildcard(_d3Shape);var _react=require("react");var _react2=_interopRequireDefault(_react);var _theme=require("../../theme");var _scalesUtils=require("../../utils/scales-utils");var _abstractSeries=require("./abstract-series");var _abstractSeries2=_interopRequireDefault(_abstractSeries);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key]}}newObj.default=obj;return newObj}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var LineSeriesCanvas=function(_AbstractSeries){_inherits(LineSeriesCanvas,_AbstractSeries);function LineSeriesCanvas(){_classCallCheck(this,LineSeriesCanvas);return _possibleConstructorReturn(this,(LineSeriesCanvas.__proto__||Object.getPrototypeOf(LineSeriesCanvas)).apply(this,arguments))}_createClass(LineSeriesCanvas,[{key:"render",value:function render(){return _react2.default.createElement("div",null)}}],[{key:"renderLayer",value:function renderLayer(props,ctx){var curve=props.curve,data=props.data,marginLeft=props.marginLeft,marginTop=props.marginTop,strokeWidth=props.strokeWidth,strokeDasharray=props.strokeDasharray;if(!data||data.length===0){return}var x=(0,_scalesUtils.getAttributeFunctor)(props,"x");var y=(0,_scalesUtils.getAttributeFunctor)(props,"y");var stroke=(0,_scalesUtils.getAttributeValue)(props,"stroke")||(0,_scalesUtils.getAttributeValue)(props,"color");var strokeColor=(0,_d3Color.rgb)(stroke);var newOpacity=(0,_scalesUtils.getAttributeValue)(props,"opacity");var opacity=Number.isFinite(newOpacity)?newOpacity:_theme.DEFAULT_OPACITY;var line=d3Shape.line().x(function(row){return x(row)+marginLeft}).y(function(row){return y(row)+marginTop});if(typeof curve==="string"&&d3Shape[curve]){line=line.curve(d3Shape[curve])}else if(typeof curve==="function"){line=line.curve(curve)}ctx.beginPath();ctx.strokeStyle="rgba("+strokeColor.r+", "+strokeColor.g+", "+strokeColor.b+", "+opacity+")";ctx.lineWidth=strokeWidth;if(strokeDasharray){ctx.setLineDash(strokeDasharray)}line.context(ctx)(data);ctx.stroke();ctx.closePath();ctx.lineWidth=1;ctx.setLineDash([])}},{key:"requiresSVG",get:function get(){return false}},{key:"isCanvas",get:function get(){return true}}]);return LineSeriesCanvas}(_abstractSeries2.default);LineSeriesCanvas.displayName="LineSeriesCanvas";LineSeriesCanvas.defaultProps=_extends({},_abstractSeries2.default.defaultProps,{strokeWidth:2});LineSeriesCanvas.propTypes=_extends({},_abstractSeries2.default.propTypes,{strokeWidth:_propTypes2.default.number});exports.default=LineSeriesCanvas},{"../../theme":140,"../../utils/scales-utils":149,"./abstract-series":103,"d3-color":5,"d3-shape":15,"prop-types":33,react:76}],121:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _d3Shape=require("d3-shape");var d3Shape=_interopRequireWildcard(_d3Shape);var _animation=require("../../animation");var _animation2=_interopRequireDefault(_animation);var _theme=require("../../theme");var _seriesUtils=require("../../utils/series-utils");var _reactUtils=require("../../utils/react-utils");var _abstractSeries=require("./abstract-series");var _abstractSeries2=_interopRequireDefault(_abstractSeries);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key]}}newObj.default=obj;return newObj}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var predefinedClassName="rv-xy-plot__series rv-xy-plot__series--line";var STROKE_STYLES={dashed:"6, 2",solid:null};var LineSeries=function(_AbstractSeries){_inherits(LineSeries,_AbstractSeries);function LineSeries(){_classCallCheck(this,LineSeries);return _possibleConstructorReturn(this,(LineSeries.__proto__||Object.getPrototypeOf(LineSeries)).apply(this,arguments))}_createClass(LineSeries,[{key:"_renderLine",value:function _renderLine(data,x,y,curve,getNull){var line=d3Shape.line();if(curve!==null){if(typeof curve==="string"&&d3Shape[curve]){line=line.curve(d3Shape[curve])}else if(typeof curve==="function"){line=line.curve(curve)}}line=line.defined(getNull);line=line.x(x).y(y);return line(data)}},{key:"render",value:function render(){var _props=this.props,animation=_props.animation,className=_props.className,data=_props.data;if(this.props.nullAccessor){(0,_reactUtils.warning)("nullAccessor has been renamed to getNull",true)}if(!data){return null}if(animation){return _react2.default.createElement(_animation2.default,_extends({},this.props,{animatedProps:_seriesUtils.ANIMATED_SERIES_PROPS}),_react2.default.createElement(LineSeries,_extends({},this.props,{animation:null})))}var _props2=this.props,curve=_props2.curve,marginLeft=_props2.marginLeft,marginTop=_props2.marginTop,strokeDasharray=_props2.strokeDasharray,strokeStyle=_props2.strokeStyle,strokeWidth=_props2.strokeWidth,style=_props2.style;var x=this._getAttributeFunctor("x");var y=this._getAttributeFunctor("y");var stroke=this._getAttributeValue("stroke")||this._getAttributeValue("color");var newOpacity=this._getAttributeValue("opacity");var opacity=Number.isFinite(newOpacity)?newOpacity:_theme.DEFAULT_OPACITY;var getNull=this.props.nullAccessor||this.props.getNull;var d=this._renderLine(data,x,y,curve,getNull);return _react2.default.createElement("path",{d:d,className:predefinedClassName+" "+className,transform:"translate("+marginLeft+","+marginTop+")",onMouseOver:this._seriesMouseOverHandler,onMouseOut:this._seriesMouseOutHandler,onClick:this._seriesClickHandler,onContextMenu:this._seriesRightClickHandler,style:_extends({opacity:opacity,strokeDasharray:STROKE_STYLES[strokeStyle]||strokeDasharray,strokeWidth:strokeWidth,stroke:stroke},style)})}}]);return LineSeries}(_abstractSeries2.default);LineSeries.displayName="LineSeries";LineSeries.propTypes=_extends({},_abstractSeries2.default.propTypes,{strokeStyle:_propTypes2.default.oneOf(Object.keys(STROKE_STYLES)),curve:_propTypes2.default.oneOfType([_propTypes2.default.string,_propTypes2.default.func]),getNull:_propTypes2.default.func});LineSeries.defaultProps=_extends({},_abstractSeries2.default.defaultProps,{strokeStyle:"solid",style:{},opacity:1,curve:null,className:"",getNull:function getNull(){return true}});exports.default=LineSeries},{"../../animation":77,"../../theme":140,"../../utils/react-utils":148,"../../utils/series-utils":150,"./abstract-series":103,"d3-shape":15,"prop-types":33,react:76}],122:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _d3Color=require("d3-color");var _theme=require("../../theme");var _scalesUtils=require("../../utils/scales-utils");var _abstractSeries=require("./abstract-series");var _abstractSeries2=_interopRequireDefault(_abstractSeries);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var MarkSeriesCanvas=function(_AbstractSeries){_inherits(MarkSeriesCanvas,_AbstractSeries);function MarkSeriesCanvas(){_classCallCheck(this,MarkSeriesCanvas);return _possibleConstructorReturn(this,(MarkSeriesCanvas.__proto__||Object.getPrototypeOf(MarkSeriesCanvas)).apply(this,arguments))}_createClass(MarkSeriesCanvas,[{key:"render",value:function render(){return null}}],[{key:"renderLayer",value:function renderLayer(props,ctx){var data=props.data,marginLeft=props.marginLeft,marginTop=props.marginTop;var x=(0,_scalesUtils.getAttributeFunctor)(props,"x");var y=(0,_scalesUtils.getAttributeFunctor)(props,"y");var size=(0,_scalesUtils.getAttributeFunctor)(props,"size")||function(p){return _theme.DEFAULT_SIZE};var fill=(0,_scalesUtils.getAttributeFunctor)(props,"fill")||(0,_scalesUtils.getAttributeFunctor)(props,"color");var stroke=(0,_scalesUtils.getAttributeFunctor)(props,"stroke")||(0,_scalesUtils.getAttributeFunctor)(props,"color");var opacity=(0,_scalesUtils.getAttributeFunctor)(props,"opacity");data.forEach(function(row){var fillColor=(0,_d3Color.rgb)(fill(row));var strokeColor=(0,_d3Color.rgb)(stroke(row));var rowOpacity=opacity(row)||_theme.DEFAULT_OPACITY;ctx.beginPath();ctx.arc(x(row)+marginLeft,y(row)+marginTop,size(row),0,2*Math.PI);ctx.fillStyle="rgba("+fillColor.r+", "+fillColor.g+", "+fillColor.b+", "+rowOpacity+")";ctx.fill();ctx.strokeStyle="rgba("+strokeColor.r+", "+strokeColor.g+", "+strokeColor.b+", "+rowOpacity+")";ctx.stroke()})}},{key:"requiresSVG",get:function get(){return false}},{key:"isCanvas",get:function get(){return true}}]);return MarkSeriesCanvas}(_abstractSeries2.default);MarkSeriesCanvas.displayName="MarkSeriesCanvas";MarkSeriesCanvas.propTypes=_extends({},_abstractSeries2.default.propTypes);exports.default=MarkSeriesCanvas},{"../../theme":140,"../../utils/scales-utils":149,"./abstract-series":103,"d3-color":5}],123:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _animation=require("../../animation");var _animation2=_interopRequireDefault(_animation);var _seriesUtils=require("../../utils/series-utils");var _reactUtils=require("../../utils/react-utils");var _theme=require("../../theme");var _abstractSeries=require("./abstract-series");var _abstractSeries2=_interopRequireDefault(_abstractSeries);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var predefinedClassName="rv-xy-plot__series rv-xy-plot__series--mark";var DEFAULT_STROKE_WIDTH=1;var MarkSeries=function(_AbstractSeries){_inherits(MarkSeries,_AbstractSeries);function MarkSeries(){_classCallCheck(this,MarkSeries);return _possibleConstructorReturn(this,(MarkSeries.__proto__||Object.getPrototypeOf(MarkSeries)).apply(this,arguments))}_createClass(MarkSeries,[{key:"_renderCircle",value:function _renderCircle(d,i,strokeWidth,style,scalingFunctions){var _this2=this;var fill=scalingFunctions.fill,opacity=scalingFunctions.opacity,size=scalingFunctions.size,stroke=scalingFunctions.stroke,x=scalingFunctions.x,y=scalingFunctions.y;var attrs={r:size?size(d):_theme.DEFAULT_SIZE,cx:x(d),cy:y(d),style:_extends({opacity:opacity?opacity(d):_theme.DEFAULT_OPACITY,stroke:stroke&&stroke(d),fill:fill&&fill(d),strokeWidth:strokeWidth||DEFAULT_STROKE_WIDTH},style),key:i,onClick:function onClick(e){return _this2._valueClickHandler(d,e)},onContextMenu:function onContextMenu(e){return _this2._valueRightClickHandler(d,e)},onMouseOver:function onMouseOver(e){return _this2._valueMouseOverHandler(d,e)},onMouseOut:function onMouseOut(e){return _this2._valueMouseOutHandler(d,e)}};return _react2.default.createElement("circle",attrs)}},{key:"render",value:function render(){var _this3=this;var _props=this.props,animation=_props.animation,className=_props.className,data=_props.data,marginLeft=_props.marginLeft,marginTop=_props.marginTop,strokeWidth=_props.strokeWidth,style=_props.style;if(this.props.nullAccessor){(0,_reactUtils.warning)("nullAccessor has been renamed to getNull",true)}var getNull=this.props.nullAccessor||this.props.getNull;if(!data){return null}if(animation){return _react2.default.createElement(_animation2.default,_extends({},this.props,{animatedProps:_seriesUtils.ANIMATED_SERIES_PROPS}),_react2.default.createElement(MarkSeries,_extends({},this.props,{animation:null})))}var scalingFunctions={fill:this._getAttributeFunctor("fill")||this._getAttributeFunctor("color"),opacity:this._getAttributeFunctor("opacity"),size:this._getAttributeFunctor("size"),stroke:this._getAttributeFunctor("stroke")||this._getAttributeFunctor("color"),x:this._getAttributeFunctor("x"),y:this._getAttributeFunctor("y")};return _react2.default.createElement("g",{className:predefinedClassName+" "+className,transform:"translate("+marginLeft+","+marginTop+")"},data.map(function(d,i){return getNull(d)&&_this3._renderCircle(d,i,strokeWidth,style,scalingFunctions)}))}}]);return MarkSeries}(_abstractSeries2.default);MarkSeries.displayName="MarkSeries";MarkSeries.propTypes=_extends({},_abstractSeries2.default.propTypes,{getNull:_propTypes2.default.func,strokeWidth:_propTypes2.default.number});MarkSeries.defaultProps={getNull:function getNull(){return true}};exports.default=MarkSeries},{"../../animation":77,"../../theme":140,"../../utils/react-utils":148,"../../utils/series-utils":150,"./abstract-series":103,"prop-types":33,react:76}],124:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _react=require("react");var _react2=_interopRequireDefault(_react);var _animation=require("../../animation");var _animation2=_interopRequireDefault(_animation);var _seriesUtils=require("../../utils/series-utils");var _abstractSeries=require("./abstract-series");var _abstractSeries2=_interopRequireDefault(_abstractSeries);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var predefinedClassName="rv-xy-plot__series rv-xy-plot__series--polygon";var DEFAULT_COLOR="#12939A";var generatePath=function generatePath(data,xFunctor,yFunctor){return data.reduce(function(res,row,i){return res+" "+(i?"L":"M")+xFunctor(row)+" "+yFunctor(row)},"")+" Z"};var PolygonSeries=function(_AbstractSeries){_inherits(PolygonSeries,_AbstractSeries);function PolygonSeries(){_classCallCheck(this,PolygonSeries);return _possibleConstructorReturn(this,(PolygonSeries.__proto__||Object.getPrototypeOf(PolygonSeries)).apply(this,arguments))}_createClass(PolygonSeries,[{key:"render",value:function render(){var _this2=this;var _props=this.props,animation=_props.animation,color=_props.color,className=_props.className,data=_props.data,marginLeft=_props.marginLeft,marginTop=_props.marginTop,style=_props.style;if(!data){return null}if(animation){
  20. return _react2.default.createElement(_animation2.default,_extends({},this.props,{animatedProps:_seriesUtils.ANIMATED_SERIES_PROPS}),_react2.default.createElement(PolygonSeries,_extends({},this.props,{animation:null})))}var xFunctor=this._getAttributeFunctor("x");var yFunctor=this._getAttributeFunctor("y");return _react2.default.createElement("path",{className:predefinedClassName+" "+className,onMouseOver:function onMouseOver(e){return _this2._seriesMouseOverHandler(data,e)},onMouseOut:function onMouseOut(e){return _this2._seriesMouseOutHandler(data,e)},onClick:this._seriesClickHandler,onContextMenu:this._seriesRightClickHandler,fill:color||DEFAULT_COLOR,style:style,d:generatePath(data,xFunctor,yFunctor),transform:"translate("+marginLeft+","+marginTop+")"})}}],[{key:"propTypes",get:function get(){return _extends({},_abstractSeries2.default.propTypes)}}]);return PolygonSeries}(_abstractSeries2.default);PolygonSeries.displayName="PolygonSeries";exports.default=PolygonSeries},{"../../animation":77,"../../utils/series-utils":150,"./abstract-series":103,react:76}],125:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _d3Color=require("d3-color");var _theme=require("../../theme");var _scalesUtils=require("../../utils/scales-utils");var _abstractSeries=require("./abstract-series");var _abstractSeries2=_interopRequireDefault(_abstractSeries);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var RectSeriesCanvas=function(_AbstractSeries){_inherits(RectSeriesCanvas,_AbstractSeries);function RectSeriesCanvas(){_classCallCheck(this,RectSeriesCanvas);return _possibleConstructorReturn(this,(RectSeriesCanvas.__proto__||Object.getPrototypeOf(RectSeriesCanvas)).apply(this,arguments))}_createClass(RectSeriesCanvas,[{key:"render",value:function render(){return null}}],[{key:"renderLayer",value:function renderLayer(props,ctx){var data=props.data,linePosAttr=props.linePosAttr,lineSizeAttr=props.lineSizeAttr,marginLeft=props.marginLeft,marginTop=props.marginTop,valuePosAttr=props.valuePosAttr;if(!data||data.length===0){return}var line=(0,_scalesUtils.getAttributeFunctor)(props,linePosAttr);var line0=(0,_scalesUtils.getAttr0Functor)(props,linePosAttr);var value=(0,_scalesUtils.getAttributeFunctor)(props,valuePosAttr);var value0=(0,_scalesUtils.getAttr0Functor)(props,valuePosAttr);var fill=(0,_scalesUtils.getAttributeFunctor)(props,"fill")||(0,_scalesUtils.getAttributeFunctor)(props,"color");var stroke=(0,_scalesUtils.getAttributeFunctor)(props,"stroke")||(0,_scalesUtils.getAttributeFunctor)(props,"color");var opacity=(0,_scalesUtils.getAttributeFunctor)(props,"opacity");data.forEach(function(row){var fillColor=(0,_d3Color.rgb)(fill(row));var strokeColor=(0,_d3Color.rgb)(stroke(row));var rowOpacity=opacity(row)||_theme.DEFAULT_OPACITY;var linePos=line0(row);var valuePos=Math.min(value0(row),value(row));var x=valuePosAttr==="x"?valuePos:linePos;var y=valuePosAttr==="y"?valuePos:linePos;var lineSize=Math.abs(line(row)-line0(row));var valueSize=Math.abs(-value0(row)+value(row));var height=lineSizeAttr==="height"?lineSize:valueSize;var width=lineSizeAttr==="width"?lineSize:valueSize;ctx.beginPath();ctx.rect(x+marginLeft,y+marginTop,width,height);ctx.fillStyle="rgba("+fillColor.r+", "+fillColor.g+", "+fillColor.b+", "+rowOpacity+")";ctx.fill();ctx.strokeStyle="rgba("+strokeColor.r+", "+strokeColor.g+", "+strokeColor.b+", "+rowOpacity+")";ctx.stroke()})}},{key:"requiresSVG",get:function get(){return false}},{key:"isCanvas",get:function get(){return true}}]);return RectSeriesCanvas}(_abstractSeries2.default);RectSeriesCanvas.displayName="RectSeriesCanvas";RectSeriesCanvas.defaultProps=_extends({},_abstractSeries2.default.defaultProps,{linePosAttr:_propTypes2.default.string.isRequired,valuePosAttr:_propTypes2.default.string.isRequired,lineSizeAttr:_propTypes2.default.string.isRequired,valueSizeAttr:_propTypes2.default.string.isRequired});RectSeriesCanvas.propTypes=_extends({},_abstractSeries2.default.propTypes);exports.default=RectSeriesCanvas},{"../../theme":140,"../../utils/scales-utils":149,"./abstract-series":103,"d3-color":5,"prop-types":33}],126:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _animation=require("../../animation");var _animation2=_interopRequireDefault(_animation);var _seriesUtils=require("../../utils/series-utils");var _abstractSeries=require("./abstract-series");var _abstractSeries2=_interopRequireDefault(_abstractSeries);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var predefinedClassName="rv-xy-plot__series rv-xy-plot__series--rect";var RectSeries=function(_AbstractSeries){_inherits(RectSeries,_AbstractSeries);function RectSeries(){_classCallCheck(this,RectSeries);return _possibleConstructorReturn(this,(RectSeries.__proto__||Object.getPrototypeOf(RectSeries)).apply(this,arguments))}_createClass(RectSeries,[{key:"render",value:function render(){var _this2=this;var _props=this.props,animation=_props.animation,className=_props.className,data=_props.data,linePosAttr=_props.linePosAttr,lineSizeAttr=_props.lineSizeAttr,marginLeft=_props.marginLeft,marginTop=_props.marginTop,style=_props.style,valuePosAttr=_props.valuePosAttr,valueSizeAttr=_props.valueSizeAttr;if(!data){return null}if(animation){return _react2.default.createElement(_animation2.default,_extends({},this.props,{animatedProps:_seriesUtils.ANIMATED_SERIES_PROPS}),_react2.default.createElement(RectSeries,_extends({},this.props,{animation:null})))}var lineFunctor=this._getAttributeFunctor(linePosAttr);var line0Functor=this._getAttr0Functor(linePosAttr);var valueFunctor=this._getAttributeFunctor(valuePosAttr);var value0Functor=this._getAttr0Functor(valuePosAttr);var fillFunctor=this._getAttributeFunctor("fill")||this._getAttributeFunctor("color");var strokeFunctor=this._getAttributeFunctor("stroke")||this._getAttributeFunctor("color");var opacityFunctor=this._getAttributeFunctor("opacity");return _react2.default.createElement("g",{className:predefinedClassName+" "+className,transform:"translate("+marginLeft+","+marginTop+")"},data.map(function(d,i){var _attrs;var attrs=(_attrs={style:_extends({opacity:opacityFunctor&&opacityFunctor(d),stroke:strokeFunctor&&strokeFunctor(d),fill:fillFunctor&&fillFunctor(d)},style)},_defineProperty(_attrs,linePosAttr,line0Functor(d)),_defineProperty(_attrs,lineSizeAttr,Math.abs(lineFunctor(d)-line0Functor(d))),_defineProperty(_attrs,valuePosAttr,Math.min(value0Functor(d),valueFunctor(d))),_defineProperty(_attrs,valueSizeAttr,Math.abs(-value0Functor(d)+valueFunctor(d))),_defineProperty(_attrs,"onClick",function onClick(e){return _this2._valueClickHandler(d,e)}),_defineProperty(_attrs,"onContextMenu",function onContextMenu(e){return _this2._valueRightClickHandler(d,e)}),_defineProperty(_attrs,"onMouseOver",function onMouseOver(e){return _this2._valueMouseOverHandler(d,e)}),_defineProperty(_attrs,"onMouseOut",function onMouseOut(e){return _this2._valueMouseOutHandler(d,e)}),_defineProperty(_attrs,"key",i),_attrs);return _react2.default.createElement("rect",attrs)}))}}],[{key:"propTypes",get:function get(){return _extends({},_abstractSeries2.default.propTypes,{linePosAttr:_propTypes2.default.string,valuePosAttr:_propTypes2.default.string,lineSizeAttr:_propTypes2.default.string,valueSizeAttr:_propTypes2.default.string})}}]);return RectSeries}(_abstractSeries2.default);RectSeries.displayName="RectSeries";exports.default=RectSeries},{"../../animation":77,"../../utils/series-utils":150,"./abstract-series":103,"prop-types":33,react:76}],127:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _abstractSeries=require("./abstract-series");var _abstractSeries2=_interopRequireDefault(_abstractSeries);var _barSeriesCanvas=require("./bar-series-canvas");var _barSeriesCanvas2=_interopRequireDefault(_barSeriesCanvas);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var HorizontalBarSeriesCanvas=function(_AbstractSeries){_inherits(HorizontalBarSeriesCanvas,_AbstractSeries);function HorizontalBarSeriesCanvas(){_classCallCheck(this,HorizontalBarSeriesCanvas);return _possibleConstructorReturn(this,(HorizontalBarSeriesCanvas.__proto__||Object.getPrototypeOf(HorizontalBarSeriesCanvas)).apply(this,arguments))}_createClass(HorizontalBarSeriesCanvas,[{key:"render",value:function render(){return null}}],[{key:"getParentConfig",value:function getParentConfig(attr){var isDomainAdjustmentNeeded=attr==="x";var zeroBaseValue=attr==="y";return{isDomainAdjustmentNeeded:isDomainAdjustmentNeeded,zeroBaseValue:zeroBaseValue}}},{key:"renderLayer",value:function renderLayer(props,ctx){_barSeriesCanvas2.default.renderLayer(_extends({},props,{linePosAttr:"x",valuePosAttr:"y",lineSizeAttr:"width",valueSizeAttr:"height"}),ctx)}},{key:"requiresSVG",get:function get(){return false}},{key:"isCanvas",get:function get(){return true}}]);return HorizontalBarSeriesCanvas}(_abstractSeries2.default);HorizontalBarSeriesCanvas.displayName="HorizontalBarSeriesCanvas";HorizontalBarSeriesCanvas.propTypes=_extends({},_abstractSeries2.default.propTypes);exports.default=HorizontalBarSeriesCanvas},{"./abstract-series":103,"./bar-series-canvas":106}],128:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _react=require("react");var _react2=_interopRequireDefault(_react);var _abstractSeries=require("./abstract-series");var _abstractSeries2=_interopRequireDefault(_abstractSeries);var _barSeries=require("./bar-series");var _barSeries2=_interopRequireDefault(_barSeries);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var VerticalBarSeries=function(_AbstractSeries){_inherits(VerticalBarSeries,_AbstractSeries);function VerticalBarSeries(){_classCallCheck(this,VerticalBarSeries);return _possibleConstructorReturn(this,(VerticalBarSeries.__proto__||Object.getPrototypeOf(VerticalBarSeries)).apply(this,arguments))}_createClass(VerticalBarSeries,[{key:"render",value:function render(){return _react2.default.createElement(_barSeries2.default,_extends({},this.props,{linePosAttr:"x",valuePosAttr:"y",lineSizeAttr:"width",valueSizeAttr:"height"}))}}],[{key:"getParentConfig",value:function getParentConfig(attr){var isDomainAdjustmentNeeded=attr==="x";var zeroBaseValue=attr==="y";return{isDomainAdjustmentNeeded:isDomainAdjustmentNeeded,zeroBaseValue:zeroBaseValue}}}]);return VerticalBarSeries}(_abstractSeries2.default);VerticalBarSeries.displayName="VerticalBarSeries";exports.default=VerticalBarSeries},{"./abstract-series":103,"./bar-series":107,react:76}],129:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _abstractSeries=require("./abstract-series");var _abstractSeries2=_interopRequireDefault(_abstractSeries);var _rectSeriesCanvas=require("./rect-series-canvas");var _rectSeriesCanvas2=_interopRequireDefault(_rectSeriesCanvas);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var HorizontalRectSeriesCanvas=function(_AbstractSeries){_inherits(HorizontalRectSeriesCanvas,_AbstractSeries);function HorizontalRectSeriesCanvas(){_classCallCheck(this,HorizontalRectSeriesCanvas);return _possibleConstructorReturn(this,(HorizontalRectSeriesCanvas.__proto__||Object.getPrototypeOf(HorizontalRectSeriesCanvas)).apply(this,arguments))}_createClass(HorizontalRectSeriesCanvas,[{key:"render",value:function render(){return null}}],[{key:"getParentConfig",value:function getParentConfig(attr){var isDomainAdjustmentNeeded=false;var zeroBaseValue=attr==="y";return{isDomainAdjustmentNeeded:isDomainAdjustmentNeeded,zeroBaseValue:zeroBaseValue}}},{key:"renderLayer",value:function renderLayer(props,ctx){_rectSeriesCanvas2.default.renderLayer(_extends({},props,{linePosAttr:"x",valuePosAttr:"y",lineSizeAttr:"width",valueSizeAttr:"height"}),ctx)}},{key:"requiresSVG",get:function get(){return false}},{key:"isCanvas",get:function get(){return true}}]);return HorizontalRectSeriesCanvas}(_abstractSeries2.default);HorizontalRectSeriesCanvas.displayName="HorizontalRectSeriesCanvas";HorizontalRectSeriesCanvas.propTypes=_extends({},_abstractSeries2.default.propTypes);exports.default=HorizontalRectSeriesCanvas},{"./abstract-series":103,"./rect-series-canvas":125}],130:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _react=require("react");var _react2=_interopRequireDefault(_react);var _abstractSeries=require("./abstract-series");var _abstractSeries2=_interopRequireDefault(_abstractSeries);var _rectSeries=require("./rect-series");var _rectSeries2=_interopRequireDefault(_rectSeries);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var VerticalRectSeries=function(_AbstractSeries){_inherits(VerticalRectSeries,_AbstractSeries);function VerticalRectSeries(){_classCallCheck(this,VerticalRectSeries);return _possibleConstructorReturn(this,(VerticalRectSeries.__proto__||Object.getPrototypeOf(VerticalRectSeries)).apply(this,arguments))}_createClass(VerticalRectSeries,[{key:"render",value:function render(){return _react2.default.createElement(_rectSeries2.default,_extends({},this.props,{linePosAttr:"x",valuePosAttr:"y",lineSizeAttr:"width",valueSizeAttr:"height"}))}}],[{key:"getParentConfig",value:function getParentConfig(attr){var isDomainAdjustmentNeeded=false;var zeroBaseValue=attr==="y";return{isDomainAdjustmentNeeded:isDomainAdjustmentNeeded,zeroBaseValue:zeroBaseValue}}}]);return VerticalRectSeries}(_abstractSeries2.default);VerticalRectSeries.displayName="VerticalRectSeries";exports.default=VerticalRectSeries},{"./abstract-series":103,"./rect-series":126,react:76}],131:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _animation=require("../../animation");var _animation2=_interopRequireDefault(_animation);var _seriesUtils=require("../../utils/series-utils");var _theme=require("../../theme");var _abstractSeries=require("./abstract-series");var _abstractSeries2=_interopRequireDefault(_abstractSeries);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var predefinedClassName="rv-xy-plot__series rv-xy-plot__series--whisker";var DEFAULT_STROKE_WIDTH=1;var DEFAULT_CROSS_BAR_WIDTH=6;var renderWhiskerMark=function renderWhiskerMark(whiskerMarkProps){return function(d,i){var crossBarWidth=whiskerMarkProps.crossBarWidth,opacityFunctor=whiskerMarkProps.opacityFunctor,sizeFunctor=whiskerMarkProps.sizeFunctor,strokeFunctor=whiskerMarkProps.strokeFunctor,strokeWidth=whiskerMarkProps.strokeWidth,style=whiskerMarkProps.style,valueClickHandler=whiskerMarkProps.valueClickHandler,valueMouseOutHandler=whiskerMarkProps.valueMouseOutHandler,valueMouseOverHandler=whiskerMarkProps.valueMouseOverHandler,valueRightClickHandler=whiskerMarkProps.valueRightClickHandler,xFunctor=whiskerMarkProps.xFunctor,yFunctor=whiskerMarkProps.yFunctor;var r=sizeFunctor?sizeFunctor(d):0;var cx=xFunctor(d);var cy=yFunctor(d);var positiveXVariance=xFunctor({x:d.x+d.xVariance/2});var negativeXVariance=xFunctor({x:d.x-d.xVariance/2});var positiveYVariance=yFunctor({y:d.y+d.yVariance/2});var negativeYVariance=yFunctor({y:d.y-d.yVariance/2});var hasXWhiskers=positiveXVariance&&cx+r<positiveXVariance;var hasYWhiskers=positiveYVariance&&cy-r>positiveYVariance;if(!hasXWhiskers&&!hasYWhiskers){return null}var styleAttr=_extends({opacity:opacityFunctor?opacityFunctor(d):_theme.DEFAULT_OPACITY,stroke:strokeFunctor&&strokeFunctor(d),strokeWidth:strokeWidth||DEFAULT_STROKE_WIDTH},style);var crossBarExtension=crossBarWidth/2;var rightLineAttrs={x1:cx+r,y1:cy,x2:positiveXVariance,y2:cy,style:styleAttr};var leftLineAttrs={x1:cx-r,y1:cy,x2:negativeXVariance,y2:cy,style:styleAttr};var rightCrossBarAttrs={x1:positiveXVariance,y1:cy-crossBarExtension,x2:positiveXVariance,y2:cy+crossBarExtension,style:styleAttr};var leftCrossBarAttrs={x1:negativeXVariance,y1:cy-crossBarExtension,x2:negativeXVariance,y2:cy+crossBarExtension,style:styleAttr};var upperLineAttrs={x1:cx,y1:cy-r,x2:cx,y2:positiveYVariance,style:styleAttr};var lowerLineAttrs={x1:cx,y1:cy+r,x2:cx,y2:negativeYVariance,style:styleAttr};var upperCrossBarAttrs={x1:cx-crossBarExtension,y1:positiveYVariance,x2:cx+crossBarExtension,y2:positiveYVariance,style:styleAttr};var lowerCrossBarAttrs={x1:cx-crossBarExtension,y1:negativeYVariance,x2:cx+crossBarExtension,y2:negativeYVariance,style:styleAttr};return _react2.default.createElement("g",{className:"mark-whiskers",key:i,onClick:function onClick(e){return valueClickHandler(d,e)},onContextMenu:function onContextMenu(e){return valueRightClickHandler(d,e)},onMouseOver:function onMouseOver(e){return valueMouseOverHandler(d,e)},onMouseOut:function onMouseOut(e){return valueMouseOutHandler(d,e)}},hasXWhiskers?_react2.default.createElement("g",{className:"x-whiskers"},_react2.default.createElement("line",rightLineAttrs),_react2.default.createElement("line",leftLineAttrs),_react2.default.createElement("line",rightCrossBarAttrs),_react2.default.createElement("line",leftCrossBarAttrs)):null,hasYWhiskers?_react2.default.createElement("g",{className:"y-whiskers"},_react2.default.createElement("line",upperLineAttrs),_react2.default.createElement("line",lowerLineAttrs),_react2.default.createElement("line",upperCrossBarAttrs),_react2.default.createElement("line",lowerCrossBarAttrs)):null)}};var WhiskerSeries=function(_AbstractSeries){_inherits(WhiskerSeries,_AbstractSeries);function WhiskerSeries(){_classCallCheck(this,WhiskerSeries);return _possibleConstructorReturn(this,(WhiskerSeries.__proto__||Object.getPrototypeOf(WhiskerSeries)).apply(this,arguments))}_createClass(WhiskerSeries,[{key:"render",value:function render(){var _props=this.props,animation=_props.animation,className=_props.className,crossBarWidth=_props.crossBarWidth,data=_props.data,marginLeft=_props.marginLeft,marginTop=_props.marginTop,strokeWidth=_props.strokeWidth,style=_props.style;if(!data){return null}if(animation){return _react2.default.createElement(_animation2.default,_extends({},this.props,{animatedProps:_seriesUtils.ANIMATED_SERIES_PROPS}),_react2.default.createElement(WhiskerSeries,_extends({},this.props,{animation:null})))}var whiskerMarkProps={crossBarWidth:crossBarWidth,opacityFunctor:this._getAttributeFunctor("opacity"),sizeFunctor:this._getAttributeFunctor("size"),strokeFunctor:this._getAttributeFunctor("stroke")||this._getAttributeFunctor("color"),strokeWidth:strokeWidth,style:style,xFunctor:this._getAttributeFunctor("x"),yFunctor:this._getAttributeFunctor("y"),valueClickHandler:this._valueClickHandler,valueRightClickHandler:this._valueRightClickHandler,valueMouseOverHandler:this._valueMouseOverHandler,valueMouseOutHandler:this._valueMouseOutHandler};return _react2.default.createElement("g",{className:predefinedClassName+" "+className,transform:"translate("+marginLeft+","+marginTop+")"},data.map(renderWhiskerMark(whiskerMarkProps)))}}]);return WhiskerSeries}(_abstractSeries2.default);WhiskerSeries.displayName="WhiskerSeries";WhiskerSeries.propTypes=_extends({},_abstractSeries2.default.propTypes,{strokeWidth:_propTypes2.default.number});WhiskerSeries.defaultProps=_extends({},_abstractSeries2.default.defaultProps,{crossBarWidth:DEFAULT_CROSS_BAR_WIDTH,size:0,strokeWidth:DEFAULT_STROKE_WIDTH});exports.default=WhiskerSeries},{"../../animation":77,"../../theme":140,"../../utils/series-utils":150,"./abstract-series":103,"prop-types":33,react:76}],132:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _gridLines=require("./grid-lines");var _gridLines2=_interopRequireDefault(_gridLines);var _axisUtils=require("../utils/axis-utils");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var VERTICAL=_axisUtils.DIRECTION.VERTICAL;var propTypes=_extends({},_gridLines2.default.propTypes,{direction:_propTypes2.default.oneOf([VERTICAL])});var defaultProps={direction:VERTICAL,attr:"x"};function VerticalGridLines(props){return _react2.default.createElement(_gridLines2.default,props)}
  21. VerticalGridLines.displayName="VerticalGridLines";VerticalGridLines.propTypes=propTypes;VerticalGridLines.defaultProps=defaultProps;VerticalGridLines.requiresSVG=true;exports.default=VerticalGridLines},{"../utils/axis-utils":145,"./grid-lines":99,"prop-types":33,react:76}],133:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _d3Voronoi=require("d3-voronoi");var _scalesUtils=require("../utils/scales-utils");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var NOOP=function NOOP(f){return f};function getNodeIndex(evt){var _evt$nativeEvent=evt.nativeEvent,pageX=_evt$nativeEvent.pageX,pageY=_evt$nativeEvent.pageY;var target=document.elementFromPoint(pageX,pageY);if(!target){return-1}var parentNode=target.parentNode;return Array.prototype.indexOf.call(parentNode.childNodes,target)}function getExtent(_ref){var innerWidth=_ref.innerWidth,innerHeight=_ref.innerHeight,marginLeft=_ref.marginLeft,marginTop=_ref.marginTop;return[[marginLeft,marginTop],[innerWidth+marginLeft,innerHeight+marginTop]]}function Voronoi(props){var className=props.className,extent=props.extent,nodes=props.nodes,onBlur=props.onBlur,_onClick=props.onClick,_onMouseUp=props.onMouseUp,_onMouseDown=props.onMouseDown,onHover=props.onHover,polygonStyle=props.polygonStyle,style=props.style,x=props.x,y=props.y;var voronoiInstance=(0,_d3Voronoi.voronoi)().x(x||(0,_scalesUtils.getAttributeFunctor)(props,"x")).y(y||(0,_scalesUtils.getAttributeFunctor)(props,"y")).extent(extent||getExtent(props));var polygons=voronoiInstance.polygons(nodes);var handleTouchEvent=function handleTouchEvent(handler){return function(evt){evt.preventDefault();var index=getNodeIndex(evt);if(index>-1&&index<polygons.length){var d=polygons[index];handler(d.data)}}};return _react2.default.createElement("g",{className:className+" rv-voronoi",style:style,onTouchEnd:handleTouchEvent(_onMouseUp),onTouchStart:handleTouchEvent(_onMouseDown),onTouchMove:handleTouchEvent(onHover),onTouchCancel:handleTouchEvent(onBlur)},polygons.map(function(d,i){return _react2.default.createElement("path",{className:"rv-voronoi__cell "+(d.data&&d.data.className||""),d:"M"+d.join("L")+"Z",onClick:function onClick(){return _onClick(d.data)},onMouseUp:function onMouseUp(){return _onMouseUp(d.data)},onMouseDown:function onMouseDown(){return _onMouseDown(d.data)},onMouseOver:function onMouseOver(){return onHover(d.data)},onMouseOut:function onMouseOut(){return onBlur(d.data)},fill:"none",style:_extends({pointerEvents:"all"},polygonStyle,d.data&&d.data.style),key:i})}))}Voronoi.requiresSVG=true;Voronoi.displayName="Voronoi";Voronoi.defaultProps={className:"",onBlur:NOOP,onClick:NOOP,onHover:NOOP,onMouseDown:NOOP,onMouseUp:NOOP};Voronoi.propTypes={className:_propTypes2.default.string,extent:_propTypes2.default.arrayOf(_propTypes2.default.arrayOf(_propTypes2.default.number)),nodes:_propTypes2.default.arrayOf(_propTypes2.default.object).isRequired,onBlur:_propTypes2.default.func,onClick:_propTypes2.default.func,onHover:_propTypes2.default.func,onMouseDown:_propTypes2.default.func,onMouseUp:_propTypes2.default.func,x:_propTypes2.default.func,y:_propTypes2.default.func};exports.default=Voronoi},{"../utils/scales-utils":149,"d3-voronoi":18,"prop-types":33,react:76}],134:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _deepEqual=require("deep-equal");var _deepEqual2=_interopRequireDefault(_deepEqual);var _scalesUtils=require("../utils/scales-utils");var _seriesUtils=require("../utils/series-utils");var _chartUtils=require("../utils/chart-utils");var _animation=require("../animation");var _theme=require("../theme");var _canvasWrapper=require("./series/canvas-wrapper");var _canvasWrapper2=_interopRequireDefault(_canvasWrapper);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++){arr2[i]=arr[i]}return arr2}else{return Array.from(arr)}}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var ATTRIBUTES=["x","y","radius","angle","color","fill","stroke","opacity","size"];function cleanseData(data){return data.map(function(series){if(!Array.isArray(series)){return series}return series.map(function(row){return _extends({},row,{parent:null})})})}function checkIfMixinsAreEqual(nextScaleMixins,scaleMixins,hasTreeStructure){var newMixins=_extends({},nextScaleMixins,{_allData:hasTreeStructure?cleanseData(nextScaleMixins._allData):nextScaleMixins._allData});var oldMixins=_extends({},scaleMixins,{_allData:hasTreeStructure?cleanseData(scaleMixins._allData):scaleMixins._allData});return(0,_deepEqual2.default)(newMixins,oldMixins)}var XYPlot=function(_React$Component){_inherits(XYPlot,_React$Component);_createClass(XYPlot,null,[{key:"defaultProps",get:function get(){return{className:""}}},{key:"propTypes",get:function get(){return{animation:_animation.AnimationPropType,className:_propTypes2.default.string,dontCheckIfEmpty:_propTypes2.default.bool,height:_propTypes2.default.number.isRequired,margin:_chartUtils.MarginPropType,onClick:_propTypes2.default.func,onDoubleClick:_propTypes2.default.func,onMouseDown:_propTypes2.default.func,onMouseUp:_propTypes2.default.func,onMouseEnter:_propTypes2.default.func,onMouseLeave:_propTypes2.default.func,onMouseMove:_propTypes2.default.func,onTouchStart:_propTypes2.default.func,onTouchMove:_propTypes2.default.func,onTouchEnd:_propTypes2.default.func,onTouchCancel:_propTypes2.default.func,onWheel:_propTypes2.default.func,stackBy:_propTypes2.default.oneOf(ATTRIBUTES),style:_propTypes2.default.object,width:_propTypes2.default.number.isRequired}}}]);function XYPlot(props){_classCallCheck(this,XYPlot);var _this=_possibleConstructorReturn(this,(XYPlot.__proto__||Object.getPrototypeOf(XYPlot)).call(this,props));_initialiseProps.call(_this);var stackBy=props.stackBy;var children=(0,_seriesUtils.getSeriesChildren)(props.children);var data=(0,_seriesUtils.getStackedData)(children,stackBy);_this.state={scaleMixins:_this._getScaleMixins(data,props),data:data};return _this}_createClass(XYPlot,[{key:"componentWillReceiveProps",value:function componentWillReceiveProps(nextProps){var children=(0,_seriesUtils.getSeriesChildren)(nextProps.children);var nextData=(0,_seriesUtils.getStackedData)(children,nextProps.stackBy);var scaleMixins=this.state.scaleMixins;var nextScaleMixins=this._getScaleMixins(nextData,nextProps);if(!checkIfMixinsAreEqual(nextScaleMixins,scaleMixins,nextProps.hasTreeStructure)){this.setState({scaleMixins:nextScaleMixins,data:nextData})}}},{key:"_getClonedChildComponents",value:function _getClonedChildComponents(){var _this2=this;var props=this.props;var animation=this.props.animation;var _state=this.state,scaleMixins=_state.scaleMixins,data=_state.data;var dimensions=(0,_chartUtils.getInnerDimensions)(this.props,_chartUtils.DEFAULT_MARGINS);var children=_react2.default.Children.toArray(this.props.children);var seriesProps=(0,_seriesUtils.getSeriesPropsFromChildren)(children);var XYPlotValues=(0,_scalesUtils.getXYPlotValues)(props,children);return children.map(function(child,index){var dataProps=null;if(seriesProps[index]){var seriesIndex=seriesProps[index].seriesIndex;dataProps={data:data[seriesIndex]}}return _react2.default.cloneElement(child,_extends({},dimensions,{animation:animation},dataProps&&child.type.prototype&&child.type.prototype.render?{ref:function ref(_ref){return _this2["series"+seriesProps[index].seriesIndex]=_ref}}:{},seriesProps[index],scaleMixins,child.props,XYPlotValues[index],dataProps))})}},{key:"_getDefaultScaleProps",value:function _getDefaultScaleProps(props){var _getInnerDimensions=(0,_chartUtils.getInnerDimensions)(props,_chartUtils.DEFAULT_MARGINS),innerWidth=_getInnerDimensions.innerWidth,innerHeight=_getInnerDimensions.innerHeight;var colorRanges=["color","fill","stroke"].reduce(function(acc,attr){var range=props[attr+"Type"]==="category"?_theme.EXTENDED_DISCRETE_COLOR_RANGE:_theme.CONTINUOUS_COLOR_RANGE;return _extends({},acc,_defineProperty({},attr+"Range",range))},{});return _extends({xRange:[0,innerWidth],yRange:[innerHeight,0]},colorRanges,{opacityType:_theme.OPACITY_TYPE,sizeRange:_theme.SIZE_RANGE})}},{key:"_getScaleMixins",value:function _getScaleMixins(data,props){var _ref2;var filteredData=data.filter(function(d){return d});var allData=(_ref2=[]).concat.apply(_ref2,_toConsumableArray(filteredData));var defaultScaleProps=this._getDefaultScaleProps(props);var optionalScaleProps=(0,_scalesUtils.getOptionalScaleProps)(props);var userScaleProps=(0,_scalesUtils.extractScalePropsFromProps)(props,ATTRIBUTES);var missingScaleProps=(0,_scalesUtils.getMissingScaleProps)(_extends({},defaultScaleProps,optionalScaleProps,userScaleProps),allData,ATTRIBUTES);var children=(0,_seriesUtils.getSeriesChildren)(props.children);var zeroBaseProps={};var adjustBy=new Set;var adjustWhat=new Set;children.forEach(function(child,index){if(!child||!data[index]){return}ATTRIBUTES.forEach(function(attr){var _child$type$getParent=child.type.getParentConfig(attr,child.props),isDomainAdjustmentNeeded=_child$type$getParent.isDomainAdjustmentNeeded,zeroBaseValue=_child$type$getParent.zeroBaseValue;if(isDomainAdjustmentNeeded){adjustBy.add(attr);adjustWhat.add(index)}if(zeroBaseValue){var specifiedDomain=props[attr+"Domain"];zeroBaseProps[attr+"BaseValue"]=specifiedDomain?specifiedDomain[0]:0}})});return _extends({},defaultScaleProps,zeroBaseProps,userScaleProps,missingScaleProps,{_allData:data,_adjustBy:Array.from(adjustBy),_adjustWhat:Array.from(adjustWhat),_stackBy:props.stackBy})}},{key:"_isPlotEmpty",value:function _isPlotEmpty(){var data=this.state.data;return!data||!data.length||!data.some(function(series){return series&&series.some(function(d){return d})})}},{key:"renderCanvasComponents",value:function renderCanvasComponents(components,props){var componentsToRender=components.filter(function(c){return c&&!c.type.requiresSVG&&c.type.isCanvas});if(componentsToRender.length===0){return null}var _componentsToRender$=componentsToRender[0].props,marginLeft=_componentsToRender$.marginLeft,marginTop=_componentsToRender$.marginTop,marginBottom=_componentsToRender$.marginBottom,marginRight=_componentsToRender$.marginRight,innerHeight=_componentsToRender$.innerHeight,innerWidth=_componentsToRender$.innerWidth;return _react2.default.createElement(_canvasWrapper2.default,{innerHeight:innerHeight,innerWidth:innerWidth,marginLeft:marginLeft,marginTop:marginTop,marginBottom:marginBottom,marginRight:marginRight},componentsToRender)}},{key:"render",value:function render(){var _props=this.props,className=_props.className,dontCheckIfEmpty=_props.dontCheckIfEmpty,style=_props.style,width=_props.width,height=_props.height;if(!dontCheckIfEmpty&&this._isPlotEmpty()){return _react2.default.createElement("div",{className:"rv-xy-plot "+className,style:_extends({width:width+"px",height:height+"px"},this.props.style)})}var components=this._getClonedChildComponents();return _react2.default.createElement("div",{style:{width:width+"px",height:height+"px"},className:"rv-xy-plot "+className},_react2.default.createElement("svg",{className:"rv-xy-plot__inner",width:width,height:height,style:style,onClick:this._clickHandler,onDoubleClick:this._doubleClickHandler,onMouseDown:this._mouseDownHandler,onMouseUp:this._mouseUpHandler,onMouseMove:this._mouseMoveHandler,onMouseLeave:this._mouseLeaveHandler,onMouseEnter:this._mouseEnterHandler,onTouchStart:this._mouseDownHandler,onTouchMove:this._touchMoveHandler,onTouchEnd:this._touchEndHandler,onTouchCancel:this._touchCancelHandler,onWheel:this._wheelHandler},components.filter(function(c){return c&&c.type.requiresSVG})),this.renderCanvasComponents(components,this.props),components.filter(function(c){return c&&!c.type.requiresSVG&&!c.type.isCanvas}))}}]);return XYPlot}(_react2.default.Component);var _initialiseProps=function _initialiseProps(){var _this3=this;this._clickHandler=function(event){var onClick=_this3.props.onClick;if(onClick){onClick(event)}};this._doubleClickHandler=function(event){var onDoubleClick=_this3.props.onDoubleClick;if(onDoubleClick){onDoubleClick(event)}};this._mouseDownHandler=function(event){var _props2=_this3.props,onMouseDown=_props2.onMouseDown,children=_props2.children;if(onMouseDown){onMouseDown(event)}var seriesChildren=(0,_seriesUtils.getSeriesChildren)(children);seriesChildren.forEach(function(child,index){var component=_this3["series"+index];if(component&&component.onParentMouseDown){component.onParentMouseDown(event)}})};this._mouseEnterHandler=function(event){var _props3=_this3.props,onMouseEnter=_props3.onMouseEnter,children=_props3.children;if(onMouseEnter){onMouseEnter(event)}var seriesChildren=(0,_seriesUtils.getSeriesChildren)(children);seriesChildren.forEach(function(child,index){var component=_this3["series"+index];if(component&&component.onParentMouseEnter){component.onParentMouseEnter(event)}})};this._mouseLeaveHandler=function(event){var _props4=_this3.props,onMouseLeave=_props4.onMouseLeave,children=_props4.children;if(onMouseLeave){onMouseLeave(event)}var seriesChildren=(0,_seriesUtils.getSeriesChildren)(children);seriesChildren.forEach(function(child,index){var component=_this3["series"+index];if(component&&component.onParentMouseLeave){component.onParentMouseLeave(event)}})};this._mouseMoveHandler=function(event){var _props5=_this3.props,onMouseMove=_props5.onMouseMove,children=_props5.children;if(onMouseMove){onMouseMove(event)}var seriesChildren=(0,_seriesUtils.getSeriesChildren)(children);seriesChildren.forEach(function(child,index){var component=_this3["series"+index];if(component&&component.onParentMouseMove){component.onParentMouseMove(event)}})};this._mouseUpHandler=function(event){var _props6=_this3.props,onMouseUp=_props6.onMouseUp,children=_props6.children;if(onMouseUp){onMouseUp(event)}var seriesChildren=(0,_seriesUtils.getSeriesChildren)(children);seriesChildren.forEach(function(child,index){var component=_this3["series"+index];if(component&&component.onParentMouseUp){component.onParentMouseUp(event)}})};this._touchCancelHandler=function(event){var onTouchCancel=_this3.props.onTouchCancel;if(onTouchCancel){onTouchCancel(event)}};this._touchEndHandler=function(event){var onTouchEnd=_this3.props.onTouchEnd;if(onTouchEnd){onTouchEnd(event)}};this._touchMoveHandler=function(event){var _props7=_this3.props,onTouchMove=_props7.onTouchMove,children=_props7.children;if(onTouchMove){onTouchMove(event)}var seriesChildren=(0,_seriesUtils.getSeriesChildren)(children);seriesChildren.forEach(function(child,index){var component=_this3["series"+index];if(component&&component.onParentTouchMove){component.onParentTouchMove(event)}})};this._touchStartHandler=function(event){var _props8=_this3.props,onTouchStart=_props8.onTouchStart,children=_props8.children;if(onTouchStart){onTouchStart(event)}var seriesChildren=(0,_seriesUtils.getSeriesChildren)(children);seriesChildren.forEach(function(child,index){var component=_this3["series"+index];if(component&&component.onParentTouchStart){component.onParentTouchStart(event)}})};this._wheelHandler=function(event){var onWheel=_this3.props.onWheel;if(onWheel){onWheel(event)}}};XYPlot.displayName="XYPlot";exports.default=XYPlot},{"../animation":77,"../theme":140,"../utils/chart-utils":146,"../utils/scales-utils":149,"../utils/series-utils":150,"./series/canvas-wrapper":108,"deep-equal":19,"prop-types":33,react:76}],135:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _d3Scale=require("d3-scale");var _d3Format=require("d3-format");var _animation=require("../animation");var _xyPlot=require("../plot/xy-plot");var _xyPlot2=_interopRequireDefault(_xyPlot);var _theme=require("../theme");var _chartUtils=require("../utils/chart-utils");var _markSeries=require("../plot/series/mark-series");var _markSeries2=_interopRequireDefault(_markSeries);var _polygonSeries=require("../plot/series/polygon-series");var _polygonSeries2=_interopRequireDefault(_polygonSeries);var _labelSeries=require("../plot/series/label-series");var _labelSeries2=_interopRequireDefault(_labelSeries);var _decorativeAxis=require("../plot/axis/decorative-axis");var _decorativeAxis2=_interopRequireDefault(_decorativeAxis);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var predefinedClassName="rv-radar-chart";var DEFAULT_FORMAT=(0,_d3Format.format)(".2r");function getAxes(props){var animation=props.animation,domains=props.domains,startingAngle=props.startingAngle,style=props.style,tickFormat=props.tickFormat,hideInnerMostValues=props.hideInnerMostValues;return domains.map(function(domain,index){var angle=index/domains.length*Math.PI*2+startingAngle;var sortedDomain=domain.domain;var domainTickFormat=function domainTickFormat(t){if(hideInnerMostValues&&t===sortedDomain[0]){return""}return domain.tickFormat?domain.tickFormat(t):tickFormat(t)};return _react2.default.createElement(_decorativeAxis2.default,{animation:animation,key:index+"-axis",axisStart:{x:0,y:0},axisEnd:{x:getCoordinate(Math.cos(angle)),y:getCoordinate(Math.sin(angle))},axisDomain:sortedDomain,numberOfTicks:5,tickValue:domainTickFormat,style:style.axes})})}function getCoordinate(axisEndPoint){var epsilon=1e-12;if(Math.abs(axisEndPoint)<=epsilon){axisEndPoint=0}else if(axisEndPoint>0){if(Math.abs(axisEndPoint-.5)<=epsilon){axisEndPoint=.5}}else if(axisEndPoint<0){if(Math.abs(axisEndPoint+.5)<=epsilon){axisEndPoint=-.5}}return axisEndPoint}function getLabels(props){var domains=props.domains,startingAngle=props.startingAngle,style=props.style;return domains.map(function(_ref,index){var name=_ref.name;var angle=index/domains.length*Math.PI*2+startingAngle;var radius=1.2;return{x:radius*Math.cos(angle),y:radius*Math.sin(angle),label:name,style:style}})}function getPolygons(props){var animation=props.animation,colorRange=props.colorRange,domains=props.domains,data=props.data,style=props.style,startingAngle=props.startingAngle,onSeriesMouseOver=props.onSeriesMouseOver,onSeriesMouseOut=props.onSeriesMouseOut;var scales=domains.reduce(function(acc,_ref2){var domain=_ref2.domain,name=_ref2.name;acc[name]=(0,_d3Scale.scaleLinear)().domain(domain).range([0,1]);return acc},{});return data.map(function(row,rowIndex){var mappedData=domains.map(function(_ref3,index){var name=_ref3.name,getValue=_ref3.getValue;var dataPoint=getValue?getValue(row):row[name];var angle=index/domains.length*Math.PI*2+startingAngle;var radius=Math.max(scales[name](dataPoint),0);return{x:radius*Math.cos(angle),y:radius*Math.sin(angle),name:row.name}});return _react2.default.createElement(_polygonSeries2.default,{animation:animation,className:predefinedClassName+"-polygon",key:rowIndex+"-polygon",data:mappedData,style:_extends({stroke:row.color||row.stroke||colorRange[rowIndex%colorRange.length],fill:row.color||row.fill||colorRange[rowIndex%colorRange.length]},style.polygons),onSeriesMouseOver:onSeriesMouseOver,onSeriesMouseOut:onSeriesMouseOut})})}function getPolygonPoints(props){var animation=props.animation,domains=props.domains,data=props.data,startingAngle=props.startingAngle,style=props.style,onValueMouseOver=props.onValueMouseOver,onValueMouseOut=props.onValueMouseOut;if(!onValueMouseOver){return}var scales=domains.reduce(function(acc,_ref4){var domain=_ref4.domain,name=_ref4.name;acc[name]=(0,_d3Scale.scaleLinear)().domain(domain).range([0,1]);return acc},{});return data.map(function(row,rowIndex){var mappedData=domains.map(function(_ref5,index){var name=_ref5.name,getValue=_ref5.getValue;var dataPoint=getValue?getValue(row):row[name];var angle=index/domains.length*Math.PI*2+startingAngle;var radius=Math.max(scales[name](dataPoint),0);return{x:radius*Math.cos(angle),y:radius*Math.sin(angle),domain:name,value:dataPoint,dataName:row.name}});return _react2.default.createElement(_markSeries2.default,{animation:animation,className:predefinedClassName+"-polygonPoint",key:rowIndex+"-polygonPoint",data:mappedData,size:10,style:_extends({},style.polygons,{fill:"transparent",stroke:"transparent"}),onValueMouseOver:onValueMouseOver,onValueMouseOut:onValueMouseOut})})}function RadarChart(props){var animation=props.animation,className=props.className,children=props.children,colorRange=props.colorRange,data=props.data,domains=props.domains,height=props.height,hideInnerMostValues=props.hideInnerMostValues,margin=props.margin,onMouseLeave=props.onMouseLeave,onMouseEnter=props.onMouseEnter,startingAngle=props.startingAngle,style=props.style,tickFormat=props.tickFormat,width=props.width,renderAxesOverPolygons=props.renderAxesOverPolygons,onValueMouseOver=props.onValueMouseOver,onValueMouseOut=props.onValueMouseOut,onSeriesMouseOver=props.onSeriesMouseOver,onSeriesMouseOut=props.onSeriesMouseOut;var axes=getAxes({domains:domains,animation:animation,hideInnerMostValues:hideInnerMostValues,startingAngle:startingAngle,style:style,tickFormat:tickFormat});var polygons=getPolygons({animation:animation,colorRange:colorRange,domains:domains,data:data,startingAngle:startingAngle,style:style,onSeriesMouseOver:onSeriesMouseOver,onSeriesMouseOut:onSeriesMouseOut});var polygonPoints=getPolygonPoints({animation:animation,colorRange:colorRange,domains:domains,data:data,startingAngle:startingAngle,style:style,onValueMouseOver:onValueMouseOver,onValueMouseOut:onValueMouseOut});var labelSeries=_react2.default.createElement(_labelSeries2.default,{animation:animation,key:className,className:predefinedClassName+"-label",data:getLabels({domains:domains,style:style.labels,startingAngle:startingAngle})});return _react2.default.createElement(_xyPlot2.default,{height:height,width:width,margin:margin,dontCheckIfEmpty:true,className:className+" "+predefinedClassName,onMouseLeave:onMouseLeave,onMouseEnter:onMouseEnter,xDomain:[-1,1],yDomain:[-1,1]},children,!renderAxesOverPolygons&&axes.concat(polygons).concat(labelSeries).concat(polygonPoints),renderAxesOverPolygons&&polygons.concat(labelSeries).concat(axes).concat(polygonPoints))}RadarChart.displayName="RadarChart";RadarChart.propTypes={animation:_animation.AnimationPropType,className:_propTypes2.default.string,colorType:_propTypes2.default.string,colorRange:_propTypes2.default.arrayOf(_propTypes2.default.string),data:_propTypes2.default.arrayOf(_propTypes2.default.object).isRequired,domains:_propTypes2.default.arrayOf(_propTypes2.default.shape({name:_propTypes2.default.string.isRequired,domain:_propTypes2.default.arrayOf(_propTypes2.default.number).isRequired,tickFormat:_propTypes2.default.func})).isRequired,height:_propTypes2.default.number.isRequired,hideInnerMostValues:_propTypes2.default.bool,margin:_chartUtils.MarginPropType,startingAngle:_propTypes2.default.number,style:_propTypes2.default.shape({axes:_propTypes2.default.object,labels:_propTypes2.default.object,polygons:_propTypes2.default.object}),tickFormat:_propTypes2.default.func,width:_propTypes2.default.number.isRequired,renderAxesOverPolygons:_propTypes2.default.bool,onValueMouseOver:_propTypes2.default.func,onValueMouseOut:_propTypes2.default.func,onSeriesMouseOver:_propTypes2.default.func,onSeriesMouseOut:_propTypes2.default.func};RadarChart.defaultProps={className:"",colorType:"category",colorRange:_theme.DISCRETE_COLOR_RANGE,hideInnerMostValues:true,startingAngle:Math.PI/2,style:{axes:{line:{},ticks:{},text:{}},labels:{fontSize:10,textAnchor:"middle"},polygons:{strokeWidth:.5,strokeOpacity:1,fillOpacity:.1}},tickFormat:DEFAULT_FORMAT,renderAxesOverPolygons:false};exports.default=RadarChart},{"../animation":77,"../plot/axis/decorative-axis":91,"../plot/series/label-series":117,"../plot/series/mark-series":123,"../plot/series/polygon-series":124,"../plot/xy-plot":134,"../theme":140,"../utils/chart-utils":146,"d3-format":7,"d3-scale":14,"prop-types":33,react:76}],136:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _d3Shape=require("d3-shape");var _animation=require("../animation");var _arcSeries=require("../plot/series/arc-series");var _arcSeries2=_interopRequireDefault(_arcSeries);var _labelSeries=require("../plot/series/label-series");var _labelSeries2=_interopRequireDefault(_labelSeries);var _xyPlot=require("../plot/xy-plot");var _xyPlot2=_interopRequireDefault(_xyPlot);var _theme=require("../theme");var _chartUtils=require("../utils/chart-utils");var _seriesUtils=require("../utils/series-utils");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var predefinedClassName="rv-radial-chart";var DEFAULT_RADIUS_MARGIN=15;function getWedgesToRender(_ref){var data=_ref.data,getAngle=_ref.getAngle;var pie=(0,_d3Shape.pie)().sort(null).value(getAngle);var pieData=pie(data).reverse();return pieData.map(function(row,index){return _extends({},row.data,{angle0:row.startAngle,angle:row.endAngle,radius0:row.data.innerRadius||0,radius:row.data.radius||1,color:row.data.color||index})})}function generateLabels(mappedData,accessors){var labelsRadiusMultiplier=arguments.length>2&&arguments[2]!==undefined?arguments[2]:1.1;var getLabel=accessors.getLabel,getSubLabel=accessors.getSubLabel;return mappedData.reduce(function(res,row){var angle=row.angle,angle0=row.angle0,radius=row.radius;var centeredAngle=(angle+angle0)/2;var updatedAngle=-1*centeredAngle+Math.PI/2;var newLabels=[];if(getLabel(row)){newLabels.push({angle:updatedAngle,radius:radius*labelsRadiusMultiplier,label:getLabel(row)})}if(getSubLabel(row)){newLabels.push({angle:updatedAngle,radius:radius*labelsRadiusMultiplier,label:getSubLabel(row),style:{fontSize:10},yOffset:12})}return res.concat(newLabels)},[])}function getMaxRadius(width,height){return Math.min(width,height)/2-DEFAULT_RADIUS_MARGIN}function RadialChart(props){var animation=props.animation,className=props.className,children=props.children,colorType=props.colorType,data=props.data,getAngle=props.getAngle,getLabel=props.getLabel,getSubLabel=props.getSubLabel,height=props.height,hideRootNode=props.hideRootNode,innerRadius=props.innerRadius,labelsAboveChildren=props.labelsAboveChildren,labelsRadiusMultiplier=props.labelsRadiusMultiplier,labelsStyle=props.labelsStyle,margin=props.margin,onMouseLeave=props.onMouseLeave,onMouseEnter=props.onMouseEnter,radius=props.radius,showLabels=props.showLabels,style=props.style,width=props.width;var mappedData=getWedgesToRender({data:data,height:height,hideRootNode:hideRootNode,width:width,getAngle:getAngle});var radialDomain=(0,_seriesUtils.getRadialDomain)(mappedData);var arcProps=_extends({colorType:colorType},props,{animation:animation,radiusDomain:[0,radialDomain],data:mappedData,radiusNoFallBack:true,style:style,arcClassName:"rv-radial-chart__series--pie__slice"});if(radius){arcProps.radiusDomain=[0,1];arcProps.radiusRange=[innerRadius||0,radius];arcProps.radiusType="linear"}var maxRadius=radius?radius:getMaxRadius(width,height);var defaultMargin=(0,_chartUtils.getRadialLayoutMargin)(width,height,maxRadius);var labels=generateLabels(mappedData,{getLabel:getLabel,getSubLabel:getSubLabel},labelsRadiusMultiplier);return _react2.default.createElement(_xyPlot2.default,{height:height,width:width,margin:_extends({},margin,defaultMargin),className:className+" "+predefinedClassName,onMouseLeave:onMouseLeave,onMouseEnter:onMouseEnter,xDomain:[-radialDomain,radialDomain],yDomain:[-radialDomain,radialDomain]},_react2.default.createElement(_arcSeries2.default,_extends({},arcProps,{getAngle:function getAngle(d){return d.angle}})),showLabels&&!labelsAboveChildren&&_react2.default.createElement(_labelSeries2.default,{data:labels,style:labelsStyle}),children,showLabels&&labelsAboveChildren&&_react2.default.createElement(_labelSeries2.default,{data:labels,style:labelsStyle}))}RadialChart.displayName="RadialChart";RadialChart.propTypes={animation:_animation.AnimationPropType,className:_propTypes2.default.string,colorType:_propTypes2.default.string,data:_propTypes2.default.arrayOf(_propTypes2.default.shape({angle:_propTypes2.default.number,className:_propTypes2.default.string,label:_propTypes2.default.string,radius:_propTypes2.default.number,style:_propTypes2.default.object})).isRequired,getAngle:_propTypes2.default.func,getAngle0:_propTypes2.default.func,padAngle:_propTypes2.default.oneOfType([_propTypes2.default.func,_propTypes2.default.number]),getRadius:_propTypes2.default.func,getRadius0:_propTypes2.default.func,getLabel:_propTypes2.default.func,height:_propTypes2.default.number.isRequired,labelsAboveChildren:_propTypes2.default.bool,labelsStyle:_propTypes2.default.object,margin:_chartUtils.MarginPropType,onValueClick:_propTypes2.default.func,onValueMouseOver:_propTypes2.default.func,onValueMouseOut:_propTypes2.default.func,showLabels:_propTypes2.default.bool,style:_propTypes2.default.object,subLabel:_propTypes2.default.func,width:_propTypes2.default.number.isRequired};RadialChart.defaultProps={className:"",colorType:"category",colorRange:_theme.DISCRETE_COLOR_RANGE,padAngle:0,getAngle:function getAngle(d){
  22. return d.angle},getAngle0:function getAngle0(d){return d.angle0},getRadius:function getRadius(d){return d.radius},getRadius0:function getRadius0(d){return d.radius0},getLabel:function getLabel(d){return d.label},getSubLabel:function getSubLabel(d){return d.subLabel}};exports.default=RadialChart},{"../animation":77,"../plot/series/arc-series":104,"../plot/series/label-series":117,"../plot/xy-plot":134,"../theme":140,"../utils/chart-utils":146,"../utils/series-utils":150,"d3-shape":15,"prop-types":33,react:76}],137:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _d3Sankey=require("d3-sankey");var _xyPlot=require("../plot/xy-plot");var _xyPlot2=_interopRequireDefault(_xyPlot);var _chartUtils=require("../utils/chart-utils");var _verticalRectSeries=require("../plot/series/vertical-rect-series");var _verticalRectSeries2=_interopRequireDefault(_verticalRectSeries);var _labelSeries=require("../plot/series/label-series");var _labelSeries2=_interopRequireDefault(_labelSeries);var _voronoi=require("../plot/voronoi");var _voronoi2=_interopRequireDefault(_voronoi);var _theme=require("../theme");var _sankeyLink=require("./sankey-link");var _sankeyLink2=_interopRequireDefault(_sankeyLink);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++){arr2[i]=arr[i]}return arr2}else{return Array.from(arr)}}var NOOP=function NOOP(f){return f};var ALIGNMENTS={justify:_d3Sankey.sankeyJustify,center:_d3Sankey.sankeyCenter,left:_d3Sankey.sankeyLeft,right:_d3Sankey.sankeyRight};var DEFAULT_MARGINS={top:20,left:20,right:20,bottom:20};function Sankey(props){var align=props.align,animation=props.animation,children=props.children,className=props.className,hasVoronoi=props.hasVoronoi,height=props.height,hideLabels=props.hideLabels,labelRotation=props.labelRotation,layout=props.layout,links=props.links,linkOpacity=props.linkOpacity,margin=props.margin,nodePadding=props.nodePadding,nodes=props.nodes,nodeWidth=props.nodeWidth,onValueClick=props.onValueClick,onValueMouseOver=props.onValueMouseOver,onValueMouseOut=props.onValueMouseOut,onLinkClick=props.onLinkClick,onLinkMouseOver=props.onLinkMouseOver,onLinkMouseOut=props.onLinkMouseOut,style=props.style,width=props.width;var nodesCopy=[].concat(_toConsumableArray(new Array(nodes.length))).map(function(e,i){return _extends({},nodes[i])});var linksCopy=[].concat(_toConsumableArray(new Array(links.length))).map(function(e,i){return _extends({},links[i])});var _getInnerDimensions=(0,_chartUtils.getInnerDimensions)({margin:margin,height:height,width:width},DEFAULT_MARGINS),marginLeft=_getInnerDimensions.marginLeft,marginTop=_getInnerDimensions.marginTop,marginRight=_getInnerDimensions.marginRight,marginBottom=_getInnerDimensions.marginBottom;var sankeyInstance=(0,_d3Sankey.sankey)().extent([[marginLeft,marginTop],[width-marginRight,height-marginBottom-marginTop]]).nodeWidth(nodeWidth).nodePadding(nodePadding).nodes(nodesCopy).links(linksCopy).nodeAlign(ALIGNMENTS[align]).iterations(layout);sankeyInstance(nodesCopy);var nWidth=sankeyInstance.nodeWidth();var path=(0,_d3Sankey.sankeyLinkHorizontal)();return _react2.default.createElement(_xyPlot2.default,_extends({},props,{yType:"literal",className:"rv-sankey "+className}),linksCopy.map(function(link,i){return _react2.default.createElement(_sankeyLink2.default,{style:style.links,data:path(link),opacity:link.opacity||linkOpacity,color:link.color,onLinkClick:onLinkClick,onLinkMouseOver:onLinkMouseOver,onLinkMouseOut:onLinkMouseOut,strokeWidth:Math.max(link.width,1),node:link,nWidth:nWidth,key:"link-"+i})}),_react2.default.createElement(_verticalRectSeries2.default,{animation:animation,className:className+" rv-sankey__node",data:nodesCopy.map(function(node){return _extends({},node,{y:node.y1-marginTop,y0:node.y0-marginTop,x:node.x1,x0:node.x0,color:node.color||_theme.DISCRETE_COLOR_RANGE[0],sourceLinks:null,targetLinks:null})}),style:style.rects,onValueClick:onValueClick,onValueMouseOver:onValueMouseOver,onValueMouseOut:onValueMouseOut,colorType:"literal"}),!hideLabels&&_react2.default.createElement(_labelSeries2.default,{animation:animation,className:className,rotation:labelRotation,labelAnchorY:"text-before-edge",data:nodesCopy.map(function(node,i){return _extends({x:node.x0+(node.x0<width/2?nWidth+10:-10),y:(node.y0+node.y1)/2-marginTop,label:node.name,style:_extends({textAnchor:node.x0<width/2?"start":"end",dy:"-.5em"},style.labels)},nodes[i])})}),hasVoronoi&&_react2.default.createElement(_voronoi2.default,{className:"rv-sankey__voronoi",extent:[[-marginLeft,-marginTop],[width+marginRight,height+marginBottom]],nodes:nodesCopy,onClick:onValueClick,onHover:onValueMouseOver,onBlur:onValueMouseOut,x:function x(d){return d.x0+(d.x1-d.x0)/2},y:function y(d){return d.y0+(d.y1-d.y0)/2}}),children)}Sankey.defaultProps={align:"justify",className:"",hasVoronoi:false,hideLabels:false,labelRotation:0,layout:50,margin:DEFAULT_MARGINS,nodePadding:10,nodeWidth:10,onValueMouseOver:NOOP,onValueClick:NOOP,onValueMouseOut:NOOP,onLinkClick:NOOP,onLinkMouseOver:NOOP,onLinkMouseOut:NOOP,style:{links:{},rects:{},labels:{}}};Sankey.propTypes={align:_propTypes2.default.oneOf(["justify","left","right","center"]),className:_propTypes2.default.string,hasVoronoi:_propTypes2.default.bool,height:_propTypes2.default.number.isRequired,hideLabels:_propTypes2.default.bool,labelRotation:_propTypes2.default.number,layout:_propTypes2.default.number,links:_propTypes2.default.arrayOf(_propTypes2.default.shape({source:_propTypes2.default.oneOfType([_propTypes2.default.number,_propTypes2.default.object]).isRequired,target:_propTypes2.default.oneOfType([_propTypes2.default.number,_propTypes2.default.object]).isRequired})).isRequired,margin:_chartUtils.MarginPropType,nodePadding:_propTypes2.default.number,nodes:_propTypes2.default.arrayOf(_propTypes2.default.object).isRequired,nodeWidth:_propTypes2.default.number,onValueMouseOver:_propTypes2.default.func,onValueClick:_propTypes2.default.func,onValueMouseOut:_propTypes2.default.func,onLinkClick:_propTypes2.default.func,onLinkMouseOver:_propTypes2.default.func,onLinkMouseOut:_propTypes2.default.func,style:_propTypes2.default.shape({links:_propTypes2.default.object,rects:_propTypes2.default.object,labels:_propTypes2.default.object}),width:_propTypes2.default.number.isRequired};exports.default=Sankey},{"../plot/series/label-series":117,"../plot/series/vertical-rect-series":130,"../plot/voronoi":133,"../plot/xy-plot":134,"../theme":140,"../utils/chart-utils":146,"./sankey-link":138,"d3-sankey":13,"prop-types":33,react:76}],138:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _react=require("react");var _react2=_interopRequireDefault(_react);var _theme=require("../theme");var _animation=require("../animation");var _animation2=_interopRequireDefault(_animation);var _seriesUtils=require("../utils/series-utils");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var DEFAULT_LINK_COLOR=_theme.DISCRETE_COLOR_RANGE[1];var DEFAULT_LINK_OPACITY=.7;function SankeyLink(props){var animation=props.animation,data=props.data,node=props.node,opacity=props.opacity,color=props.color,strokeWidth=props.strokeWidth,style=props.style,onLinkClick=props.onLinkClick,onLinkMouseOver=props.onLinkMouseOver,onLinkMouseOut=props.onLinkMouseOut;if(animation){return _react2.default.createElement(_animation2.default,_extends({},props,{animatedProps:_seriesUtils.ANIMATED_SERIES_PROPS}),_react2.default.createElement(SankeyLink,_extends({},props,{animation:null})))}return _react2.default.createElement("path",_extends({d:data},style,{className:"rv-sankey__link",opacity:Number.isFinite(opacity)?opacity:DEFAULT_LINK_OPACITY,stroke:color||DEFAULT_LINK_COLOR,onClick:function onClick(e){return onLinkClick(node,e)},onMouseOver:function onMouseOver(e){return onLinkMouseOver(node,e)},onMouseOut:function onMouseOut(e){return onLinkMouseOut(node,e)},strokeWidth:strokeWidth,fill:"none"}))}SankeyLink.displayName="SankeyLink";SankeyLink.requiresSVG=true;exports.default=SankeyLink},{"../animation":77,"../theme":140,"../utils/series-utils":150,react:76}],139:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _d3Hierarchy=require("d3-hierarchy");var _d3Scale=require("d3-scale");var _animation=require("../animation");var _labelSeries=require("../plot/series/label-series");var _labelSeries2=_interopRequireDefault(_labelSeries);var _arcSeries=require("../plot/series/arc-series");var _arcSeries2=_interopRequireDefault(_arcSeries);var _xyPlot=require("../plot/xy-plot");var _xyPlot2=_interopRequireDefault(_xyPlot);var _seriesUtils=require("../utils/series-utils");var _chartUtils=require("../utils/chart-utils");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var predefinedClassName="rv-sunburst";var LISTENERS_TO_OVERWRITE=["onValueMouseOver","onValueMouseOut","onValueClick","onValueRightClick","onSeriesMouseOver","onSeriesMouseOut","onSeriesClick","onSeriesRightClick"];function getNodesToRender(_ref){var data=_ref.data,height=_ref.height,hideRootNode=_ref.hideRootNode,width=_ref.width,getSize=_ref.getSize;var partitionFunction=(0,_d3Hierarchy.partition)();var structuredInput=(0,_d3Hierarchy.hierarchy)(data).sum(getSize);var radius=Math.min(width,height)/2-10;var x=(0,_d3Scale.scaleLinear)().range([0,2*Math.PI]);var y=(0,_d3Scale.scaleSqrt)().range([0,radius]);return partitionFunction(structuredInput).descendants().reduce(function(res,cell,index){if(hideRootNode&&index===0){return res}return res.concat([_extends({angle0:Math.max(0,Math.min(2*Math.PI,x(cell.x0))),angle:Math.max(0,Math.min(2*Math.PI,x(cell.x1))),radius0:Math.max(0,y(cell.y0)),radius:Math.max(0,y(cell.y1)),depth:cell.depth,parent:cell.parent},cell.data)])},[])}function buildLabels(mappedData,accessors){var getAngle=accessors.getAngle,getAngle0=accessors.getAngle0,getLabel=accessors.getLabel,getRadius0=accessors.getRadius0;return mappedData.filter(getLabel).map(function(row){var truedAngle=-1*getAngle(row)+Math.PI/2;var truedAngle0=-1*getAngle0(row)+Math.PI/2;var angle=(truedAngle0+truedAngle)/2;var rotateLabels=!row.dontRotateLabel;var rotAngle=-angle/(2*Math.PI)*360;return _extends({},row,{children:null,angle:null,radius:null,x:getRadius0(row)*Math.cos(angle),y:getRadius0(row)*Math.sin(angle),style:_extends({textAnchor:rotAngle>90?"end":"start"},row.labelStyle),rotation:rotateLabels?rotAngle>90?rotAngle+180:rotAngle===90?90:rotAngle:null})})}var NOOP=function NOOP(){};function Sunburst(props){var getAngle=props.getAngle,getAngle0=props.getAngle0,animation=props.animation,className=props.className,children=props.children,data=props.data,height=props.height,hideRootNode=props.hideRootNode,getLabel=props.getLabel,width=props.width,getSize=props.getSize,colorType=props.colorType;var mappedData=getNodesToRender({data:data,height:height,hideRootNode:hideRootNode,width:width,getSize:getSize});var radialDomain=(0,_seriesUtils.getRadialDomain)(mappedData);var margin=(0,_chartUtils.getRadialLayoutMargin)(width,height,radialDomain);var labelData=buildLabels(mappedData,{getAngle:getAngle,getAngle0:getAngle0,getLabel:getLabel,getRadius0:function getRadius0(d){return d.radius0}});var hofBuilder=function hofBuilder(f){return function(e,i){return f?f(mappedData[e.index],i):NOOP}};return _react2.default.createElement(_xyPlot2.default,{height:height,hasTreeStructure:true,width:width,className:predefinedClassName+" "+className,margin:margin,xDomain:[-radialDomain,radialDomain],yDomain:[-radialDomain,radialDomain]},_react2.default.createElement(_arcSeries2.default,_extends({colorType:colorType},props,{animation:animation,radiusDomain:[0,radialDomain],data:animation?mappedData.map(function(row,index){return _extends({},row,{parent:null,children:null,index:index})}):mappedData,_data:animation?mappedData:null,arcClassName:predefinedClassName+"__series--radial__arc"},LISTENERS_TO_OVERWRITE.reduce(function(acc,propName){var prop=props[propName];acc[propName]=animation?hofBuilder(prop):prop;return acc},{}))),labelData.length>0&&_react2.default.createElement(_labelSeries2.default,{data:labelData,getLabel:getLabel}),children)}Sunburst.displayName="Sunburst";Sunburst.propTypes={animation:_animation.AnimationPropType,getAngle:_propTypes2.default.func,getAngle0:_propTypes2.default.func,className:_propTypes2.default.string,colorType:_propTypes2.default.string,data:_propTypes2.default.object.isRequired,height:_propTypes2.default.number.isRequired,hideRootNode:_propTypes2.default.bool,getLabel:_propTypes2.default.func,onValueClick:_propTypes2.default.func,onValueMouseOver:_propTypes2.default.func,onValueMouseOut:_propTypes2.default.func,getSize:_propTypes2.default.func,width:_propTypes2.default.number.isRequired,padAngle:_propTypes2.default.oneOfType([_propTypes2.default.func,_propTypes2.default.number])};Sunburst.defaultProps={getAngle:function getAngle(d){return d.angle},getAngle0:function getAngle0(d){return d.angle0},className:"",colorType:"literal",getColor:function getColor(d){return d.color},hideRootNode:false,getLabel:function getLabel(d){return d.label},getSize:function getSize(d){return d.size},padAngle:0};exports.default=Sunburst},{"../animation":77,"../plot/series/arc-series":104,"../plot/series/label-series":117,"../plot/xy-plot":134,"../utils/chart-utils":146,"../utils/series-utils":150,"d3-hierarchy":10,"d3-scale":14,"prop-types":33,react:76}],140:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var DISCRETE_COLOR_RANGE=exports.DISCRETE_COLOR_RANGE=["#12939A","#79C7E3","#1A3177","#FF9833","#EF5D28"];var EXTENDED_DISCRETE_COLOR_RANGE=exports.EXTENDED_DISCRETE_COLOR_RANGE=["#19CDD7","#DDB27C","#88572C","#FF991F","#F15C17","#223F9A","#DA70BF","#125C77","#4DC19C","#776E57","#12939A","#17B8BE","#F6D18A","#B7885E","#FFCB99","#F89570","#829AE3","#E79FD5","#1E96BE","#89DAC1","#B3AD9E"];var CONTINUOUS_COLOR_RANGE=exports.CONTINUOUS_COLOR_RANGE=["#EF5D28","#FF9833"];var SIZE_RANGE=exports.SIZE_RANGE=[1,10];var OPACITY_RANGE=exports.OPACITY_RANGE=[.1,1];var OPACITY_TYPE=exports.OPACITY_TYPE="literal";var DEFAULT_OPACITY=exports.DEFAULT_OPACITY=1;var DEFAULT_SIZE=exports.DEFAULT_SIZE=5;var DEFAULT_COLOR=exports.DEFAULT_COLOR=DISCRETE_COLOR_RANGE[0];var DEFAULT_TICK_SIZE=exports.DEFAULT_TICK_SIZE=7},{}],141:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _d3Hierarchy=require("d3-hierarchy");var _theme=require("../theme");var _animation=require("../animation");var _scalesUtils=require("../utils/scales-utils");var _chartUtils=require("../utils/chart-utils");var _treemapDom=require("./treemap-dom");var _treemapDom2=_interopRequireDefault(_treemapDom);var _treemapSvg=require("./treemap-svg");var _treemapSvg2=_interopRequireDefault(_treemapSvg);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var TREEMAP_TILE_MODES={squarify:_d3Hierarchy.treemapSquarify,resquarify:_d3Hierarchy.treemapResquarify,slice:_d3Hierarchy.treemapSlice,dice:_d3Hierarchy.treemapDice,slicedice:_d3Hierarchy.treemapSliceDice,binary:_d3Hierarchy.treemapBinary};var TREEMAP_LAYOUT_MODES=["circlePack","partition","partition-pivot"];var NOOP=function NOOP(d){return d};var ATTRIBUTES=["opacity","color"];var DEFAULT_MARGINS={left:40,right:10,top:10,bottom:40};function _getScaleFns(props){var data=props.data;var allData=data.children||[];var compatibleProps=_extends({},props,(0,_scalesUtils.getMissingScaleProps)(props,allData,ATTRIBUTES),{_allData:allData});return{opacity:(0,_scalesUtils.getAttributeFunctor)(compatibleProps,"opacity"),color:(0,_scalesUtils.getAttributeFunctor)(compatibleProps,"color")}}var Treemap=function(_React$Component){_inherits(Treemap,_React$Component);function Treemap(props){_classCallCheck(this,Treemap);var _this=_possibleConstructorReturn(this,(Treemap.__proto__||Object.getPrototypeOf(Treemap)).call(this,props));_this.state=_extends({scales:_getScaleFns(props)},(0,_chartUtils.getInnerDimensions)(props,props.margin));return _this}_createClass(Treemap,[{key:"componentWillReceiveProps",value:function componentWillReceiveProps(props){this.setState(_extends({scales:_getScaleFns(props)},(0,_chartUtils.getInnerDimensions)(props,props.margin)))}},{key:"_getNodesToRender",value:function _getNodesToRender(){var _state=this.state,innerWidth=_state.innerWidth,innerHeight=_state.innerHeight;var _props=this.props,data=_props.data,mode=_props.mode,padding=_props.padding,sortFunction=_props.sortFunction,getSize=_props.getSize;if(!data){return[]}if(mode==="partition"||mode==="partition-pivot"){var partitionFunction=(0,_d3Hierarchy.partition)().size(mode==="partition-pivot"?[innerHeight,innerWidth]:[innerWidth,innerHeight]).padding(padding);var _structuredInput=(0,_d3Hierarchy.hierarchy)(data).sum(getSize).sort(function(a,b){return sortFunction(a,b,getSize)});var mappedNodes=partitionFunction(_structuredInput).descendants();if(mode==="partition-pivot"){return mappedNodes.map(function(node){return _extends({},node,{x0:node.y0,x1:node.y1,y0:node.x0,y1:node.x1})})}return mappedNodes}if(mode==="circlePack"){var packingFunction=(0,_d3Hierarchy.pack)().size([innerWidth,innerHeight]).padding(padding);var _structuredInput2=(0,_d3Hierarchy.hierarchy)(data).sum(getSize).sort(function(a,b){return sortFunction(a,b,getSize)});return packingFunction(_structuredInput2).descendants()}var tileFn=TREEMAP_TILE_MODES[mode];var treemapingFunction=(0,_d3Hierarchy.treemap)(tileFn).tile(tileFn).size([innerWidth,innerHeight]).padding(padding);var structuredInput=(0,_d3Hierarchy.hierarchy)(data).sum(getSize).sort(function(a,b){return sortFunction(a,b,getSize)});return treemapingFunction(structuredInput).descendants()}},{key:"render",value:function render(){var renderMode=this.props.renderMode;var scales=this.state.scales;var nodes=this._getNodesToRender();var TreemapElement=renderMode==="SVG"?_treemapSvg2.default:_treemapDom2.default;return _react2.default.createElement(TreemapElement,_extends({},this.props,{nodes:nodes,scales:scales}))}}]);return Treemap}(_react2.default.Component);Treemap.displayName="Treemap";Treemap.propTypes={animation:_animation.AnimationPropType,className:_propTypes2.default.string,data:_propTypes2.default.object.isRequired,height:_propTypes2.default.number.isRequired,hideRootNode:_propTypes2.default.bool,margin:_chartUtils.MarginPropType,mode:_propTypes2.default.oneOf(Object.keys(TREEMAP_TILE_MODES).concat(TREEMAP_LAYOUT_MODES)),onLeafClick:_propTypes2.default.func,onLeafMouseOver:_propTypes2.default.func,onLeafMouseOut:_propTypes2.default.func,useCirclePacking:_propTypes2.default.bool,padding:_propTypes2.default.number.isRequired,sortFunction:_propTypes2.default.func,width:_propTypes2.default.number.isRequired,getSize:_propTypes2.default.func,getColor:_propTypes2.default.func};Treemap.defaultProps={className:"",colorRange:_theme.CONTINUOUS_COLOR_RANGE,_colorValue:_theme.DEFAULT_COLOR,data:{children:[]},hideRootNode:false,margin:DEFAULT_MARGINS,mode:"squarify",onLeafClick:NOOP,onLeafMouseOver:NOOP,onLeafMouseOut:NOOP,opacityType:_theme.OPACITY_TYPE,_opacityValue:_theme.DEFAULT_OPACITY,padding:1,sortFunction:function sortFunction(a,b,accessor){if(!accessor){return 0}return accessor(a)-accessor(b)},getSize:function getSize(d){return d.size},getColor:function getColor(d){return d.color},getLabel:function getLabel(d){return d.title}};exports.default=Treemap},{"../animation":77,"../theme":140,"../utils/chart-utils":146,"../utils/scales-utils":149,"./treemap-dom":142,"./treemap-svg":144,"d3-hierarchy":10,"prop-types":33,react:76}],142:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _react=require("react");var _react2=_interopRequireDefault(_react);var _treemapLeaf=require("./treemap-leaf");var _treemapLeaf2=_interopRequireDefault(_treemapLeaf);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function TreemapDOM(props){var animation=props.animation,className=props.className,height=props.height,hideRootNode=props.hideRootNode,getLabel=props.getLabel,mode=props.mode,nodes=props.nodes,width=props.width,scales=props.scales,style=props.style;var useCirclePacking=mode==="circlePack";return _react2.default.createElement("div",{className:"rv-treemap "+(useCirclePacking?"rv-treemap-circle-packed":"")+" "+className,style:{height:height,width:width}},nodes.map(function(node,index){if(hideRootNode&&!index){return null}var nodeProps=_extends({animation:animation,node:node,getLabel:getLabel},props,{x0:useCirclePacking?node.x:node.x0,x1:useCirclePacking?node.x:node.x1,y0:useCirclePacking?node.y:node.y0,y1:useCirclePacking?node.y:node.y1,r:useCirclePacking?node.r:1,scales:scales,style:style});return _react2.default.createElement(_treemapLeaf2.default,_extends({},nodeProps,{key:"leaf-"+index}))}))}TreemapDOM.displayName="TreemapDOM";exports.default=TreemapDOM},{"./treemap-leaf":143,react:76}],143:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _react=require("react");var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _animation=require("../animation");var _animation2=_interopRequireDefault(_animation);var _scalesUtils=require("../utils/scales-utils");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var ANIMATED_PROPS=["colorRange","colorDomain","color","opacityRange","opacityDomain","opacity","x0","x1","y0","y1","r"];function TreemapLeaf(props){var animation=props.animation,getLabel=props.getLabel,mode=props.mode,node=props.node,onLeafClick=props.onLeafClick,onLeafMouseOver=props.onLeafMouseOver,onLeafMouseOut=props.onLeafMouseOut,r=props.r,scales=props.scales,x0=props.x0,x1=props.x1,y0=props.y0,y1=props.y1,style=props.style;if(animation){return _react2.default.createElement(_animation2.default,_extends({},props,{animatedProps:ANIMATED_PROPS}),_react2.default.createElement(TreemapLeaf,_extends({},props,{animation:null})))}var useCirclePacking=mode==="circlePack";var background=scales.color(node);var opacity=scales.opacity(node);var color=(0,_scalesUtils.getFontColorFromBackground)(background);var data=node.data;var title=getLabel(data);var leafStyle=_extends({top:useCirclePacking?y0-r:y0,left:useCirclePacking?x0-r:x0,width:useCirclePacking?r*2:x1-x0,height:useCirclePacking?r*2:y1-y0,background:background,opacity:opacity,color:color},style,node.data.style);return _react2.default.createElement("div",{className:"rv-treemap__leaf "+(useCirclePacking?"rv-treemap__leaf--circle":""),onMouseEnter:function onMouseEnter(event){return onLeafMouseOver(node,event)},onMouseLeave:function onMouseLeave(event){return onLeafMouseOut(node,event)},onClick:function onClick(event){return onLeafClick(node,event)},style:leafStyle},_react2.default.createElement("div",{className:"rv-treemap__leaf__content"},title))}TreemapLeaf.propTypes={animation:_animation.AnimationPropType,height:_propTypes2.default.number.isRequired,mode:_propTypes2.default.string,node:_propTypes2.default.object.isRequired,onLeafClick:_propTypes2.default.func,onLeafMouseOver:_propTypes2.default.func,onLeafMouseOut:_propTypes2.default.func,scales:_propTypes2.default.object.isRequired,width:_propTypes2.default.number.isRequired,r:_propTypes2.default.number.isRequired,x0:_propTypes2.default.number.isRequired,x1:_propTypes2.default.number.isRequired,y0:_propTypes2.default.number.isRequired,y1:_propTypes2.default.number.isRequired};exports.default=TreemapLeaf},{"../animation":77,"../utils/scales-utils":149,"prop-types":33,react:76}],144:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _react=require("react");var _react2=_interopRequireDefault(_react);var _xyPlot=require("../plot/xy-plot");var _xyPlot2=_interopRequireDefault(_xyPlot);var _polygonSeries=require("../plot/series/polygon-series");var _polygonSeries2=_interopRequireDefault(_polygonSeries);var _markSeries=require("../plot/series/mark-series");var _markSeries2=_interopRequireDefault(_markSeries);var _labelSeries=require("../plot/series/label-series");var _labelSeries2=_interopRequireDefault(_labelSeries);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var MARGIN_ADJUST=1.2;var TreemapSVG=function(_React$Component){_inherits(TreemapSVG,_React$Component);function TreemapSVG(){_classCallCheck(this,TreemapSVG);return _possibleConstructorReturn(this,(TreemapSVG.__proto__||Object.getPrototypeOf(TreemapSVG)).apply(this,arguments))}_createClass(TreemapSVG,[{key:"getCircularNodes",value:function getCircularNodes(){var _props=this.props,animation=_props.animation,hideRootNode=_props.hideRootNode,nodes=_props.nodes,onLeafMouseOver=_props.onLeafMouseOver,onLeafMouseOut=_props.onLeafMouseOut,onLeafClick=_props.onLeafClick,scales=_props.scales,style=_props.style;var _nodes$reduce=nodes.reduce(function(acc,node,index){if(!index&&hideRootNode){return acc}var x=node.x,y=node.y,r=node.r;return{maxY:Math.max(y+r,acc.maxY),minY:Math.min(y-r,acc.minY),maxX:Math.max(x+MARGIN_ADJUST*r,acc.maxX),minX:Math.min(x-MARGIN_ADJUST*r,acc.minX),rows:acc.rows.concat([{x:x,y:y,size:r,color:scales.color(node)}])}},{rows:[],maxY:-Infinity,minY:Infinity,maxX:-Infinity,minX:Infinity}),rows=_nodes$reduce.rows,minY=_nodes$reduce.minY,maxY=_nodes$reduce.maxY,minX=_nodes$reduce.minX,maxX=_nodes$reduce.maxX;return{updatedNodes:_react2.default.createElement(_markSeries2.default,{animation:animation,className:"rv-treemap__leaf rv-treemap__leaf--circle",onSeriesMouseEnter:onLeafMouseOver,onSeriesMouseLeave:onLeafMouseOut,onSeriesClick:onLeafClick,data:rows,colorType:"literal",getColor:function getColor(d){return d.color},sizeType:"literal",getSize:function getSize(d){return d.size},style:style}),minY:minY,maxY:maxY,minX:minX,maxX:maxX}}},{key:"getNonCircularNodes",value:function getNonCircularNodes(){var _props2=this.props,animation=_props2.animation,hideRootNode=_props2.hideRootNode,nodes=_props2.nodes,onLeafMouseOver=_props2.onLeafMouseOver,onLeafMouseOut=_props2.onLeafMouseOut,onLeafClick=_props2.onLeafClick,scales=_props2.scales,style=_props2.style;var color=scales.color;return nodes.reduce(function(acc,node,index){if(!index&&hideRootNode){return acc}var x0=node.x0,x1=node.x1,y1=node.y1,y0=node.y0;var x=x0;var y=y0;var nodeHeight=y1-y0;var nodeWidth=x1-x0;acc.maxY=Math.max(y+nodeHeight,acc.maxY);acc.minY=Math.min(y,acc.minY);acc.maxX=Math.max(x+nodeWidth,acc.maxX);acc.minX=Math.min(x,acc.minX);var data=[{x:x,y:y},{x:x,y:y+nodeHeight},{x:x+nodeWidth,y:y+nodeHeight},{x:x+nodeWidth,y:y}];acc.updatedNodes=acc.updatedNodes.concat([_react2.default.createElement(_polygonSeries2.default,{animation:animation,className:"rv-treemap__leaf",key:index,color:color(node),type:"literal",onSeriesMouseEnter:onLeafMouseOver,onSeriesMouseLeave:onLeafMouseOut,onSeriesClick:onLeafClick,data:data,style:_extends({},style,node.style)})]);return acc},{updatedNodes:[],maxY:-Infinity,minY:Infinity,maxX:-Infinity,minX:Infinity})}},{
  23. key:"render",value:function render(){var _props3=this.props,className=_props3.className,height=_props3.height,mode=_props3.mode,nodes=_props3.nodes,width=_props3.width;var useCirclePacking=mode==="circlePack";var _ref=useCirclePacking?this.getCircularNodes():this.getNonCircularNodes(),minY=_ref.minY,maxY=_ref.maxY,minX=_ref.minX,maxX=_ref.maxX,updatedNodes=_ref.updatedNodes;var labels=nodes.reduce(function(acc,node){if(!node.data.title){return acc}return acc.concat(_extends({},node.data,{x:node.x0||node.x,y:node.y0||node.y,label:""+node.data.title}))},[]);return _react2.default.createElement(_xyPlot2.default,_extends({className:"rv-treemap "+(useCirclePacking?"rv-treemap-circle-packed":"")+" "+className,width:width,height:height,yDomain:[maxY,minY],xDomain:[minX,maxX],colorType:"literal",hasTreeStructure:true},this.props),updatedNodes,_react2.default.createElement(_labelSeries2.default,{data:labels}))}}]);return TreemapSVG}(_react2.default.Component);TreemapSVG.displayName="TreemapSVG";exports.default=TreemapSVG},{"../plot/series/label-series":117,"../plot/series/mark-series":123,"../plot/series/polygon-series":124,"../plot/xy-plot":134,react:76}],145:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.DIRECTION=exports.ORIENTATION=undefined;exports.getTicksTotalFromSize=getTicksTotalFromSize;exports.getTickValues=getTickValues;exports.generateFit=generateFit;exports.generatePoints=generatePoints;exports.getAxisAngle=getAxisAngle;var _d3Array=require("d3-array");var _d3Scale=require("d3-scale");var ORIENTATION=exports.ORIENTATION={TOP:"top",LEFT:"left",RIGHT:"right",BOTTOM:"bottom",VERTICAL:"vertical",HORIZONTAL:"horizontal"};var DIRECTION=exports.DIRECTION={VERTICAL:"vertical",HORIZONTAL:"horizontal"};function getTicksTotalFromSize(size){if(size<700){if(size>300){return 10}return 5}return 20}function getTickValues(scale,tickTotal,tickValues){return!tickValues?scale.ticks?scale.ticks(tickTotal):scale.domain():tickValues}function generateFit(axisStart,axisEnd){if(axisStart.x===axisEnd.x){return{left:axisStart.y,right:axisEnd.y,slope:0,offset:axisStart.x}}var slope=(axisStart.y-axisEnd.y)/(axisStart.x-axisEnd.x);return{left:axisStart.x,right:axisEnd.x,slope:slope,offset:axisStart.y-slope*axisStart.x}}function generatePoints(_ref){var axisStart=_ref.axisStart,axisEnd=_ref.axisEnd,numberOfTicks=_ref.numberOfTicks,axisDomain=_ref.axisDomain;var _generateFit=generateFit(axisStart,axisEnd),left=_generateFit.left,right=_generateFit.right,slope=_generateFit.slope,offset=_generateFit.offset;var pointSlope=(right-left)/numberOfTicks;var axisScale=(0,_d3Scale.scaleLinear)().domain([left,right]).range(axisDomain);var slopeVertical=axisStart.x===axisEnd.x;return{slope:slopeVertical?Infinity:slope,points:(0,_d3Array.range)(left,right+pointSlope,pointSlope).map(function(val){if(slopeVertical){return{y:val,x:slope*val+offset,text:axisScale(val)}}return{x:val,y:slope*val+offset,text:axisScale(val)}}).slice(0,numberOfTicks+1)}}function getAxisAngle(axisStart,axisEnd){if(axisStart.x===axisEnd.x){return axisEnd.y>axisStart.y?Math.PI/2:3*Math.PI/2}return Math.atan((axisEnd.y-axisStart.y)/(axisEnd.x-axisStart.x))}exports.default={DIRECTION:DIRECTION,ORIENTATION:ORIENTATION,getTicksTotalFromSize:getTicksTotalFromSize,getTickValues:getTickValues}},{"d3-array":3,"d3-scale":14}],146:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.DEFAULT_MARGINS=exports.MarginPropType=undefined;var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};exports.getInnerDimensions=getInnerDimensions;exports.getRadialLayoutMargin=getRadialLayoutMargin;var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function getInnerDimensions(props,defaultMargins){var margin=props.margin,width=props.width,height=props.height;var marginProps=_extends({},defaultMargins,typeof margin==="number"?{left:margin,right:margin,top:margin,bottom:margin}:margin);var _marginProps$left=marginProps.left,marginLeft=_marginProps$left===undefined?0:_marginProps$left,_marginProps$top=marginProps.top,marginTop=_marginProps$top===undefined?0:_marginProps$top,_marginProps$right=marginProps.right,marginRight=_marginProps$right===undefined?0:_marginProps$right,_marginProps$bottom=marginProps.bottom,marginBottom=_marginProps$bottom===undefined?0:_marginProps$bottom;return{marginLeft:marginLeft,marginTop:marginTop,marginRight:marginRight,marginBottom:marginBottom,innerHeight:height-marginBottom-marginTop,innerWidth:width-marginLeft-marginRight}}function getRadialLayoutMargin(width,height,radius){var marginX=width/2-radius;var marginY=height/2-radius;return{bottom:marginY,left:marginX,right:marginX,top:marginY}}var MarginPropType=exports.MarginPropType=_propTypes2.default.oneOfType([_propTypes2.default.shape({left:_propTypes2.default.number,top:_propTypes2.default.number,right:_propTypes2.default.number,bottom:_propTypes2.default.number}),_propTypes2.default.number]);var DEFAULT_MARGINS=exports.DEFAULT_MARGINS={left:40,right:10,top:10,bottom:40}},{"prop-types":33}],147:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getUniquePropertyValues=getUniquePropertyValues;exports.addValueToArray=addValueToArray;exports.transformValueToString=transformValueToString;function getUniquePropertyValues(arr,accessor){var setOfValues=new Set(arr.map(accessor));return Array.from(setOfValues)}function addValueToArray(arr,value){var result=[].concat(arr);if(result[0]>value){result[0]=value}if(result[result.length-1]<value){result[result.length-1]=value}return result}function transformValueToString(value){return Object.prototype.toString.call(value)==="[object Date]"?value.toDateString():value}},{}],148:[function(require,module,exports){(function(process,global){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getDOMNode=exports.isReactDOMSupported=undefined;var _slicedToArray=function(){function sliceIterator(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"])_i["return"]()}finally{if(_d)throw _e}}return _arr}return function(arr,i){if(Array.isArray(arr)){return arr}else if(Symbol.iterator in Object(arr)){return sliceIterator(arr,i)}else{throw new TypeError("Invalid attempt to destructure non-iterable instance")}}}();exports.warning=warning;exports.warnOnce=warnOnce;var _react=require("react");var _react2=_interopRequireDefault(_react);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var _React$version$split=_react2.default.version.split("."),_React$version$split2=_slicedToArray(_React$version$split,2),major=_React$version$split2[0],minor=_React$version$split2[1];var versionHigherThanThirteen=Number(minor)>13||Number(major)>13;var isReactDOMSupported=exports.isReactDOMSupported=function isReactDOMSupported(){return versionHigherThanThirteen};var getDOMNode=exports.getDOMNode=function getDOMNode(ref){if(!isReactDOMSupported()){return ref&&ref.getDOMNode()}return ref};var USED_MESSAGES={};var HIDDEN_PROCESSES={test:true,production:true};function warning(message){var onlyShowMessageOnce=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;if(global.process&&HIDDEN_PROCESSES[process.env.NODE_ENV]){return}if(!onlyShowMessageOnce||!USED_MESSAGES[message]){console.warn(message);USED_MESSAGES[message]=true}}function warnOnce(message){warning(message,true)}}).call(this,require("_process"),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{_process:1,react:76}],149:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _slicedToArray=function(){function sliceIterator(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"])_i["return"]()}finally{if(_d)throw _e}}return _arr}return function(arr,i){if(Array.isArray(arr)){return arr}else if(Symbol.iterator in Object(arr)){return sliceIterator(arr,i)}else{throw new TypeError("Invalid attempt to destructure non-iterable instance")}}}();var _SCALE_FUNCTIONS;exports._getSmallestDistanceIndex=_getSmallestDistanceIndex;exports.getScaleFnFromScaleObject=getScaleFnFromScaleObject;exports.getDomainByAccessor=getDomainByAccessor;exports._getScaleDistanceAndAdjustedDomain=_getScaleDistanceAndAdjustedDomain;exports._adjustCategoricalScale=_adjustCategoricalScale;exports.getScaleObjectFromProps=getScaleObjectFromProps;exports.getAttributeScale=getAttributeScale;exports.getAttributeFunctor=getAttributeFunctor;exports.getAttr0Functor=getAttr0Functor;exports.getAttributeValue=getAttributeValue;exports.getScalePropTypesByAttribute=getScalePropTypesByAttribute;exports.extractScalePropsFromProps=extractScalePropsFromProps;exports.getMissingScaleProps=getMissingScaleProps;exports.literalScale=literalScale;exports.getFontColorFromBackground=getFontColorFromBackground;exports.getXYPlotValues=getXYPlotValues;exports.getOptionalScaleProps=getOptionalScaleProps;var _d3Scale=require("d3-scale");var _d3Array=require("d3-array");var _d3Collection=require("d3-collection");var _d3Color=require("d3-color");var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _reactUtils=require("./react-utils");var _dataUtils=require("./data-utils");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++){arr2[i]=arr[i]}return arr2}else{return Array.from(arr)}}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}var LINEAR_SCALE_TYPE="linear";var ORDINAL_SCALE_TYPE="ordinal";var CATEGORY_SCALE_TYPE="category";var LITERAL_SCALE_TYPE="literal";var LOG_SCALE_TYPE="log";var TIME_SCALE_TYPE="time";var TIME_UTC_SCALE_TYPE="time-utc";var SCALE_FUNCTIONS=(_SCALE_FUNCTIONS={},_defineProperty(_SCALE_FUNCTIONS,LINEAR_SCALE_TYPE,_d3Scale.scaleLinear),_defineProperty(_SCALE_FUNCTIONS,ORDINAL_SCALE_TYPE,_d3Scale.scalePoint),_defineProperty(_SCALE_FUNCTIONS,CATEGORY_SCALE_TYPE,_d3Scale.scaleOrdinal),_defineProperty(_SCALE_FUNCTIONS,LITERAL_SCALE_TYPE,literalScale),_defineProperty(_SCALE_FUNCTIONS,LOG_SCALE_TYPE,_d3Scale.scaleLog),_defineProperty(_SCALE_FUNCTIONS,TIME_SCALE_TYPE,_d3Scale.scaleTime),_defineProperty(_SCALE_FUNCTIONS,TIME_UTC_SCALE_TYPE,_d3Scale.scaleUtc),_SCALE_FUNCTIONS);var XYPLOT_ATTR=["color","fill","opacity","stroke"];function toTitleCase(str){return""+str[0].toUpperCase()+str.slice(1)}function _getSmallestDistanceIndex(values,scaleObject){var scaleFn=getScaleFnFromScaleObject(scaleObject);var result=0;if(scaleFn){var nextValue=void 0;var currentValue=scaleFn(values[0]);var distance=Infinity;var nextDistance=void 0;for(var i=1;i<values.length;i++){nextValue=scaleFn(values[i]);nextDistance=Math.abs(nextValue-currentValue);if(nextDistance<distance){distance=nextDistance;result=i}currentValue=nextValue}}return result}function addInvertFunctionToOrdinalScaleObject(scale){if(scale.invert){return}scale.invert=function invert(value){var _scale$range=scale.range(),_scale$range2=_slicedToArray(_scale$range,2),lower=_scale$range2[0],upper=_scale$range2[1];var start=Math.min(lower,upper);var stop=Math.max(lower,upper);if(value<start+scale.padding()*scale.step()){return scale.domain()[0]}if(value>stop-scale.padding()*scale.step()){return scale.domain()[scale.domain().length-1]}var index=Math.floor((value-start-scale.padding()*scale.step())/scale.step());return scale.domain()[index]}}function getScaleFnFromScaleObject(scaleObject){if(!scaleObject){return null}var type=scaleObject.type,domain=scaleObject.domain,range=scaleObject.range;var modDomain=domain[0]===domain[1]?domain[0]===0?[-1,0]:[-domain[0],domain[0]]:domain;if(type===LITERAL_SCALE_TYPE){return literalScale(range[0])}var scale=SCALE_FUNCTIONS[type]().domain(modDomain).range(range);if(type===ORDINAL_SCALE_TYPE){scale.padding(.5);addInvertFunctionToOrdinalScaleObject(scale)}return scale}function getDomainByAccessor(allData,accessor,accessor0,type){var domain=void 0;var values=allData.reduce(function(data,d){var value=accessor(d);var value0=accessor0(d);if(_isDefined(value)){data.push(value)}if(_isDefined(value0)){data.push(value0)}return data},[]);if(!values.length){return[]}if(type!==ORDINAL_SCALE_TYPE&&type!==CATEGORY_SCALE_TYPE){domain=(0,_d3Array.extent)(values)}else{domain=(0,_d3Collection.set)(values).values()}return domain}function _createScaleObjectForValue(attr,value,type,accessor,accessor0){if(type===LITERAL_SCALE_TYPE){return{type:LITERAL_SCALE_TYPE,domain:[],range:[value],distance:0,attr:attr,baseValue:undefined,isValue:true,accessor:accessor,accessor0:accessor0}}if(typeof value==="undefined"){return null}return{type:CATEGORY_SCALE_TYPE,range:[value],domain:[],distance:0,attr:attr,baseValue:undefined,isValue:true,accessor:accessor,accessor0:accessor0}}function _createScaleObjectForFunction(_ref){var domain=_ref.domain,range=_ref.range,type=_ref.type,distance=_ref.distance,attr=_ref.attr,baseValue=_ref.baseValue,accessor=_ref.accessor,accessor0=_ref.accessor0;return{domain:domain,range:range,type:type,distance:distance,attr:attr,baseValue:baseValue,isValue:false,accessor:accessor,accessor0:accessor0}}function _collectScaleObjectFromProps(props,attr){var value=props[attr],fallbackValue=props["_"+attr+"Value"],range=props[attr+"Range"],_props$=props[attr+"Distance"],distance=_props$===undefined?0:_props$,baseValue=props[attr+"BaseValue"],_props$2=props[attr+"Type"],type=_props$2===undefined?LINEAR_SCALE_TYPE:_props$2,noFallBack=props[attr+"NoFallBack"],_props$3=props["get"+toTitleCase(attr)],accessor=_props$3===undefined?function(d){return d[attr]}:_props$3,_props$4=props["get"+toTitleCase(attr)+"0"],accessor0=_props$4===undefined?function(d){return d[attr+"0"]}:_props$4;var domain=props[attr+"Domain"];if(!noFallBack&&typeof value!=="undefined"){return _createScaleObjectForValue(attr,value,props[attr+"Type"],accessor,accessor0)}if(typeof baseValue!=="undefined"){domain=(0,_dataUtils.addValueToArray)(domain,baseValue)}if(!range||!domain||!domain.length){return _createScaleObjectForValue(attr,fallbackValue,props[attr+"Type"],accessor,accessor0)}return _createScaleObjectForFunction({domain:domain,range:range,type:type,distance:distance,attr:attr,baseValue:baseValue,accessor:accessor,accessor0:accessor0})}function _computeLeftDomainAdjustment(values){if(values.length>1){return(values[1]-values[0])/2}if(values.length===1){return values[0]-.5}return 0}function _computeRightDomainAdjustment(values){if(values.length>1){return(values[values.length-1]-values[values.length-2])/2}if(values.length===1){return values[0]-.5}return 0}function _computeScaleDistance(values,domain,bestDistIndex,scaleFn){if(values.length>1){var i=Math.max(bestDistIndex,1);return Math.abs(scaleFn(values[i])-scaleFn(values[i-1]))}if(values.length===1){return Math.abs(scaleFn(domain[1])-scaleFn(domain[0]))}return 0}function _normalizeValues(data,values,accessor0,type){if(type===TIME_SCALE_TYPE&&values.length===1){var attr0=accessor0(data[0]);return[attr0].concat(_toConsumableArray(values))}return values}function _getScaleDistanceAndAdjustedDomain(data,scaleObject){var domain=scaleObject.domain,type=scaleObject.type,accessor=scaleObject.accessor,accessor0=scaleObject.accessor0;var uniqueValues=(0,_dataUtils.getUniquePropertyValues)(data,accessor);var values=_normalizeValues(data,uniqueValues,accessor0,type);var index=_getSmallestDistanceIndex(values,scaleObject);var adjustedDomain=[].concat(domain);adjustedDomain[0]-=_computeLeftDomainAdjustment(values);adjustedDomain[domain.length-1]+=_computeRightDomainAdjustment(values);if(type===LOG_SCALE_TYPE&&domain[0]<=0){adjustedDomain[0]=Math.min(domain[1]/10,1)}var adjustedScaleFn=getScaleFnFromScaleObject(_extends({},scaleObject,{domain:adjustedDomain}));var distance=_computeScaleDistance(values,adjustedDomain,index,adjustedScaleFn);return{domain0:adjustedDomain[0],domainN:adjustedDomain[adjustedDomain.length-1],distance:distance}}function _isScaleAdjustmentPossible(props,scaleObject){var attr=scaleObject.attr;var _props$_adjustBy=props._adjustBy,adjustBy=_props$_adjustBy===undefined?[]:_props$_adjustBy,_props$_adjustWhat=props._adjustWhat,adjustWhat=_props$_adjustWhat===undefined?[]:_props$_adjustWhat;return adjustWhat.length&&adjustBy.length&&adjustBy.indexOf(attr)!==-1}function _adjustContinuousScale(props,scaleObject){var allSeriesData=props._allData,_props$_adjustWhat2=props._adjustWhat,adjustWhat=_props$_adjustWhat2===undefined?[]:_props$_adjustWhat2;var domainLength=scaleObject.domain.length;var domain=scaleObject.domain;var scaleDomain0=domain[0];var scaleDomainN=domain[domainLength-1];var scaleDistance=scaleObject.distance;allSeriesData.forEach(function(data,index){if(adjustWhat.indexOf(index)===-1){return}if(data&&data.length){var _getScaleDistanceAndA=_getScaleDistanceAndAdjustedDomain(data,scaleObject),domain0=_getScaleDistanceAndA.domain0,domainN=_getScaleDistanceAndA.domainN,distance=_getScaleDistanceAndA.distance;scaleDomain0=Math.min(scaleDomain0,domain0);scaleDomainN=Math.max(scaleDomainN,domainN);scaleDistance=Math.max(scaleDistance,distance)}});scaleObject.domain=[scaleDomain0].concat(_toConsumableArray(domain.slice(1,-1)),[scaleDomainN]);scaleObject.distance=scaleDistance;return scaleObject}function _adjustCategoricalScale(scaleObject){var scaleFn=getScaleFnFromScaleObject(scaleObject);var domain=scaleObject.domain,range=scaleObject.range;if(domain.length>1){scaleObject.distance=Math.abs(scaleFn(domain[1])-scaleFn(domain[0]))}else{scaleObject.distance=Math.abs(range[1]-range[0])}return scaleObject}function getScaleObjectFromProps(props,attr){var scaleObject=_collectScaleObjectFromProps(props,attr);if(!scaleObject){return null}if(!_isScaleAdjustmentPossible(props,scaleObject)){return scaleObject}var type=scaleObject.type;if(type===ORDINAL_SCALE_TYPE||type===CATEGORY_SCALE_TYPE){return _adjustCategoricalScale(scaleObject)}return _adjustContinuousScale(props,scaleObject)}function getAttributeScale(props,attr){var scaleObject=getScaleObjectFromProps(props,attr);return getScaleFnFromScaleObject(scaleObject)}function _getAttrValue(d,accessor){return accessor(d.data?d.data:d)}function _isDefined(value){return typeof value!=="undefined"}function _padDomain(domain,padding){if(!domain){return domain}if(isNaN(parseFloat(domain[0]))||isNaN(parseFloat(domain[1]))){return domain}var _domain=_slicedToArray(domain,2),min=_domain[0],max=_domain[1];var domainPadding=(max-min)*(padding*.01);return[min-domainPadding,max+domainPadding]}function getAttributeFunctor(props,attr){var scaleObject=getScaleObjectFromProps(props,attr);if(scaleObject){var scaleFn=getScaleFnFromScaleObject(scaleObject);return function(d){return scaleFn(_getAttrValue(d,scaleObject.accessor))}}return null}function getAttr0Functor(props,attr){var scaleObject=getScaleObjectFromProps(props,attr);if(scaleObject){var domain=scaleObject.domain;var _scaleObject$baseValu=scaleObject.baseValue,baseValue=_scaleObject$baseValu===undefined?domain[0]:_scaleObject$baseValu;var scaleFn=getScaleFnFromScaleObject(scaleObject);return function(d){var value=_getAttrValue(d,scaleObject.accessor0);return scaleFn(_isDefined(value)?value:baseValue)}}return null}function getAttributeValue(props,attr){var scaleObject=getScaleObjectFromProps(props,attr);if(scaleObject){if(!scaleObject.isValue&&props["_"+attr+"Value"]===undefined){(0,_reactUtils.warning)("[React-vis] Cannot use data defined "+attr+" for this "+"series type. Using fallback value instead.")}return props["_"+attr+"Value"]||scaleObject.range[0]}return null}function getScalePropTypesByAttribute(attr){var _ref2;return _ref2={},_defineProperty(_ref2,"_"+attr+"Value",_propTypes2.default.any),_defineProperty(_ref2,attr+"Domain",_propTypes2.default.array),_defineProperty(_ref2,"get"+toTitleCase(attr),_propTypes2.default.func),_defineProperty(_ref2,"get"+toTitleCase(attr)+"0",_propTypes2.default.func),_defineProperty(_ref2,attr+"Range",_propTypes2.default.array),_defineProperty(_ref2,attr+"Type",_propTypes2.default.oneOf(Object.keys(SCALE_FUNCTIONS))),_defineProperty(_ref2,attr+"Distance",_propTypes2.default.number),_defineProperty(_ref2,attr+"BaseValue",_propTypes2.default.any),_ref2}function extractScalePropsFromProps(props,attributes){var result={};Object.keys(props).forEach(function(key){var attr=attributes.find(function(a){var isPlainSet=key.indexOf(a)===0;var isUnderscoreSet=key.indexOf("_"+a)===0;var usesGet=key.indexOf("get"+toTitleCase(a))===0;return isPlainSet||isUnderscoreSet||usesGet});if(!attr){return}result[key]=props[key]});return result}function getMissingScaleProps(props,data,attributes){var result={};attributes.forEach(function(attr){if(!props["get"+toTitleCase(attr)]){result["get"+toTitleCase(attr)]=function(d){return d[attr]}}if(!props["get"+toTitleCase(attr)+"0"]){result["get"+toTitleCase(attr)+"0"]=function(d){return d[attr+"0"]}}if(!props[attr+"Domain"]){result[attr+"Domain"]=getDomainByAccessor(data,props["get"+toTitleCase(attr)]||result["get"+toTitleCase(attr)],props["get"+toTitleCase(attr)+"0"]||result["get"+toTitleCase(attr)+"0"],props[attr+"Type"]);if(props[attr+"Padding"]){result[attr+"Domain"]=_padDomain(result[attr+"Domain"],props[attr+"Padding"])}}});return result}function literalScale(defaultValue){function scale(d){if(d===undefined){return defaultValue}return d}function response(){return scale}scale.domain=response;scale.range=response;scale.unknown=response;scale.copy=response;return scale}function getFontColorFromBackground(background){if(background){return(0,_d3Color.hsl)(background).l>.57?"#222":"#fff"}return null}function getXYPlotValues(props,children){var XYPlotScales=XYPLOT_ATTR.reduce(function(prev,attr){var domain=props[attr+"Domain"],range=props[attr+"Range"],type=props[attr+"Type"];if(domain&&range&&type){return _extends({},prev,_defineProperty({},attr,SCALE_FUNCTIONS[type]().domain(domain).range(range)))}return prev},{});return children.map(function(child){return XYPLOT_ATTR.reduce(function(prev,attr){if(child.props&&child.props[attr]!==undefined){var scaleInput=child.props[attr];var scale=XYPlotScales[attr];var fallbackValue=scale?scale(scaleInput):scaleInput;return _extends({},prev,_defineProperty({},"_"+attr+"Value",fallbackValue))}return prev},{})})}var OPTIONAL_SCALE_PROPS=["Padding"];var OPTIONAL_SCALE_PROPS_REGS=OPTIONAL_SCALE_PROPS.map(function(str){return new RegExp(str+"$","i")});function getOptionalScaleProps(props){return Object.keys(props).reduce(function(acc,prop){var propIsNotOptional=OPTIONAL_SCALE_PROPS_REGS.every(function(reg){return!prop.match(reg)});if(propIsNotOptional){return acc}acc[prop]=props[prop];return acc},{})}exports.default={extractScalePropsFromProps:extractScalePropsFromProps,getAttributeScale:getAttributeScale,getAttributeFunctor:getAttributeFunctor,getAttr0Functor:getAttr0Functor,getAttributeValue:getAttributeValue,getDomainByAccessor:getDomainByAccessor,getFontColorFromBackground:getFontColorFromBackground,getMissingScaleProps:getMissingScaleProps,getOptionalScaleProps:getOptionalScaleProps,getScaleObjectFromProps:getScaleObjectFromProps,getScalePropTypesByAttribute:getScalePropTypesByAttribute,getXYPlotValues:getXYPlotValues,literalScale:literalScale}},{"./data-utils":147,"./react-utils":148,"d3-array":3,"d3-collection":4,"d3-color":5,"d3-scale":14,"prop-types":33}],150:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.ANIMATED_SERIES_PROPS=undefined;var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};exports.isSeriesChild=isSeriesChild;exports.getSeriesChildren=getSeriesChildren;exports.getStackedData=getStackedData;exports.getSeriesPropsFromChildren=getSeriesPropsFromChildren;exports.getRadialDomain=getRadialDomain;exports.getStackParams=getStackParams;var _react=require("react");var _react2=_interopRequireDefault(_react);var _abstractSeries=require("../plot/series/abstract-series");var _abstractSeries2=_interopRequireDefault(_abstractSeries);var _theme=require("../theme");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function isSeriesChild(child){var prototype=child.type.prototype;return prototype instanceof _abstractSeries2.default}function getSeriesChildren(children){return _react2.default.Children.toArray(children).filter(function(child){return child&&isSeriesChild(child)})}function collectSeriesTypesInfo(children){var result={};children.filter(isSeriesChild).forEach(function(child){var displayName=child.type.displayName;var cluster=child.props.cluster;if(!result[displayName]){result[displayName]={sameTypeTotal:0,sameTypeIndex:0,clusters:new Set}}result[displayName].clusters.add(cluster);result[displayName].sameTypeTotal++});return result}function seriesHasAngleRadius(){var data=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];if(!data){return false}return data.some(function(row){return row.radius&&row.angle})}function prepareData(data){if(!seriesHasAngleRadius(data)){return data}return data.map(function(row){return _extends({},row,{x:row.radius*Math.cos(row.angle),y:row.radius*Math.sin(row.angle)})})}function getStackedData(children,attr){var areSomeSeriesStacked=children.some(function(series){return series&&series.props.stack});var latestAttrPositions={};return children.reduce(function(accumulator,series,seriesIndex){if(!series){accumulator.push(null);return accumulator}var seriesType=series.type.displayName;var _series$props=series.props,data=_series$props.data,_series$props$cluster=_series$props.cluster,cluster=_series$props$cluster===undefined?"default":_series$props$cluster,stack=_series$props.stack;var preppedData=prepareData(data,attr);if(!attr||!preppedData||!preppedData.length||areSomeSeriesStacked&&!stack){accumulator.push(preppedData);return accumulator}var attr0=attr+"0";var baseAttr=attr==="y"?"x":"y";accumulator.push(preppedData.map(function(d,dIndex){var _extends2,_latestAttrPositions$2;if(!latestAttrPositions[cluster]){latestAttrPositions[cluster]={}}if(!latestAttrPositions[cluster][seriesType]){latestAttrPositions[cluster][seriesType]={}}var prevD=latestAttrPositions[cluster][seriesType][d[baseAttr]];if(!prevD){var _latestAttrPositions$;latestAttrPositions[cluster][seriesType][d[baseAttr]]=(_latestAttrPositions$={},_defineProperty(_latestAttrPositions$,attr0,d[attr0]),_defineProperty(_latestAttrPositions$,attr,d[attr]),_latestAttrPositions$);return _extends({},d)}var nextD=_extends({},d,(_extends2={},_defineProperty(_extends2,attr0,prevD[attr]),_defineProperty(_extends2,attr,prevD[attr]+d[attr]-(d[attr0]||0)),_extends2));latestAttrPositions[cluster][seriesType][d[baseAttr]]=(_latestAttrPositions$2={},_defineProperty(_latestAttrPositions$2,attr0,nextD[attr0]),_defineProperty(_latestAttrPositions$2,attr,nextD[attr]),_latestAttrPositions$2);return nextD}));return accumulator},[])}function getSeriesPropsFromChildren(children){var result=[];var seriesTypesInfo=collectSeriesTypesInfo(children);var seriesIndex=0;var _opacityValue=_theme.DEFAULT_OPACITY;children.forEach(function(child){var props=void 0;if(isSeriesChild(child)){var seriesTypeInfo=seriesTypesInfo[child.type.displayName];var _colorValue=_theme.DISCRETE_COLOR_RANGE[seriesIndex%_theme.DISCRETE_COLOR_RANGE.length];props=_extends({},seriesTypeInfo,{seriesIndex:seriesIndex,_colorValue:_colorValue,_opacityValue:_opacityValue});seriesTypeInfo.sameTypeIndex++;seriesIndex++;if(child.props.cluster){props.cluster=child.props.cluster;props.clusters=Array.from(seriesTypeInfo.clusters);props.sameTypeTotal=props.clusters.length;props.sameTypeIndex=props.clusters.indexOf(child.props.cluster)}}result.push(props)});return result}function getRadialDomain(data){return data.reduce(function(res,row){return Math.max(row.radius,res)},0)}var ANIMATED_SERIES_PROPS=exports.ANIMATED_SERIES_PROPS=["xRange","xDomain","x","yRange","yDomain","y","colorRange","colorDomain","color","opacityRange","opacityDomain","opacity","strokeRange","strokeDomain","stroke","fillRange","fillDomain","fill","width","height","marginLeft","marginTop","marginRight","marginBottom","data","angleDomain","angleRange","angle","radiusDomain","radiusRange","radius","innerRadiusDomain","innerRadiusRange","innerRadius"];function getStackParams(props){var _stackBy=props._stackBy,valuePosAttr=props.valuePosAttr,cluster=props.cluster;var _props$sameTypeTotal=props.sameTypeTotal,sameTypeTotal=_props$sameTypeTotal===undefined?1:_props$sameTypeTotal,_props$sameTypeIndex=props.sameTypeIndex,sameTypeIndex=_props$sameTypeIndex===undefined?0:_props$sameTypeIndex;if(_stackBy===valuePosAttr&&!cluster){sameTypeTotal=1;sameTypeIndex=0}return{sameTypeTotal:sameTypeTotal,sameTypeIndex:sameTypeIndex}}},{"../plot/series/abstract-series":103,"../theme":140,react:76}]},{},[78])(78)});