text: (window.webpackJsonpdash_bio=window.webpackJsonpdash_bio||[]).push([[5],{42:function(t,n,e){"use strict";e.r(n),e.d(n,"default",(function(){return v}));var r=e(1),i=e.n(r),o=e(434),u=e.n(o),a=e(465),c=e(16);function f(t){return(f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function s(){return(s=Object.assign||function(t){for(var n=1;n<arguments.length;n++){var e=arguments[n];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])}return t}).apply(this,arguments)}function l(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function h(t){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function d(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function p(t,n){return(p=Object.setPrototypeOf||function(t,n){return t.__proto__=n,t})(t,n)}var v=function(t){function n(t){var e;return function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,n),(e=function(t,n){return!n||"object"!==f(n)&&"function"!=typeof n?d(t):n}(this,h(n).call(this,t))).onChangeSelection=e.onChangeSelection.bind(d(e)),e.key=0,e}var e,r,o;return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(n&&n.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),n&&p(t,n)}(n,t),e=n,(r=[{key:"onChangeSelection",value:function(t){this.props.setProps({selectedAtomIds:t})}},{key:"shouldComponentUpdate",value:function(t){var n=this;return!!(this.props.modelData!==t.modelData||!this.props.selectedAtomIds&&t.selectedAtomIds||this.props.selectedAtomIds&&!t.selectedAtomIds||this.props.selectedAtomIds&&t.selectedAtomIds&&this.props.selectedAtomIds.length!==t.selectedAtomIds.length||this.props.selectedAtomIds&&t.selectedAtomIds&&(this.props.selectedAtomIds.some((function(n){return!(n in t.selectedAtomIds)}))||t.selectedAtomIds.some((function(t){return!(t in n.props.selectedAtomIds)}))))}},{key:"componentDidUpdate",value:function(t){var n=this.props.modelData;n&&t.modelData&&Object.keys(n).some((function(e){return n[e].length!==t.modelData[e].length}))&&this.forceUpdate()}},{key:"render",value:function(){return this.key++,i.a.createElement("div",{id:this.props.id},i.a.createElement(u.a,s({key:this.key,onChangeSelection:this.onChangeSelection},Object(a.a)(["id","setProps"],this.props))))}}])&&l(e.prototype,r),o&&l(e,o),n}(r.Component);v.defaultProps=c.b,v.propTypes=c.c},434:function(t,n,e){t.exports=function(t){function n(r){if(e[r])return e[r].exports;var i=e[r]={exports:{},id:r,loaded:!1};return t[r].call(i.exports,i,i.exports,n),i.loaded=!0,i.exports}var e={};return n.m=t,n.c=e,n.p="/js/",n(0)}([function(t,n,e){t.exports=e(10)},function(t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var e={getBondWidth:function(t){if(!t||isNaN(parseInt(t.bond,10)))throw new Error("Invalid input");if(t.bond<0)throw new Error("d.bond must be at least 0");return 4*t.bond-2+"px"},chooseColor:function(t,n){var e=t.category||t.color;return e||n},withDefault:function(t,n){return void 0===t?n:t}};n.default=e},function(t,n){t.exports=e(460)},function(t,n){t.exports=e(435)},function(t,n){t.exports=e(1)},function(t,n){t.exports=function(){var t=[];return t.toString=function(){for(var t=[],n=0;n<this.length;n++){var e=this[n];e[2]?t.push("@media "+e[2]+"{"+e[1]+"}"):t.push(e[1])}return t.join("")},t.i=function(n,e){"string"==typeof n&&(n=[[null,n,""]]);for(var r={},i=0;i<this.length;i++){var o=this[i][0];"number"==typeof o&&(r[o]=!0)}for(i=0;i<n.length;i++){var u=n[i];"number"==typeof u[0]&&r[u[0]]||(e&&!u[2]?u[2]=e:e&&(u[2]="("+u[2]+") and ("+e+")"),t.push(u))}},t}},function(t,n,e){function r(t,n){for(var e=0;e<t.length;e++){var r=t[e],i=d[r.id];if(i){i.refs++;for(var o=0;o<i.parts.length;o++)i.parts[o](r.parts[o]);for(;o<r.parts.length;o++)i.parts.push(f(r.parts[o],n))}else{var u=[];for(o=0;o<r.parts.length;o++)u.push(f(r.parts[o],n));d[r.id]={id:r.id,refs:1,parts:u}}}}function i(t){for(var n=[],e={},r=0;r<t.length;r++){var i=t[r],o=i[0],u={css:i[1],media:i[2],sourceMap:i[3]};e[o]?e[o].parts.push(u):n.push(e[o]={id:o,parts:[u]})}return n}function o(t,n){var e=y(),r=m[m.length-1];if("top"===t.insertAt)r?r.nextSibling?e.insertBefore(n,r.nextSibling):e.appendChild(n):e.insertBefore(n,e.firstChild),m.push(n);else{if("bottom"!==t.insertAt)throw new Error("Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'.");e.appendChild(n)}}function u(t){t.parentNode.removeChild(t);var n=m.indexOf(t);n>=0&&m.splice(n,1)}function a(t){var n=document.createElement("style");return n.type="text/css",o(t,n),n}function c(t){var n=document.createElement("link");return n.rel="stylesheet",o(t,n),n}function f(t,n){var e,r,i;if(n.singleton){var o=_++;e=g||(g=a(n)),r=s.bind(null,e,o,!1),i=s.bind(null,e,o,!0)}else t.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(e=c(n),r=h.bind(null,e),i=function(){u(e),e.href&&URL.revokeObjectURL(e.href)}):(e=a(n),r=l.bind(null,e),i=function(){u(e)});return r(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;r(t=n)}else i()}}function s(t,n,e,r){var i=e?"":r.css;if(t.styleSheet)t.styleSheet.cssText=x(n,i);else{var o=document.createTextNode(i),u=t.childNodes;u[n]&&t.removeChild(u[n]),u.length?t.insertBefore(o,u[n]):t.appendChild(o)}}function l(t,n){var e=n.css,r=n.media;if(r&&t.setAttribute("media",r),t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}function h(t,n){var e=n.css,r=n.sourceMap;r&&(e+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(r))))+" */");var i=new Blob([e],{type:"text/css"}),o=t.href;t.href=URL.createObjectURL(i),o&&URL.revokeObjectURL(o)}var d={},p=function(t){var n;return function(){return void 0===n&&(n=t.apply(this,arguments)),n}},v=p((function(){return/msie [6-9]\b/.test(self.navigator.userAgent.toLowerCase())})),y=p((function(){return document.head||document.getElementsByTagName("head")[0]})),g=null,_=0,m=[];t.exports=function(t,n){void 0===(n=n||{}).singleton&&(n.singleton=v()),void 0===n.insertAt&&(n.insertAt="bottom");var e=i(t);return r(e,n),function(t){for(var o=[],u=0;u<e.length;u++){var a=e[u];(c=d[a.id]).refs--,o.push(c)}t&&r(i(t),n);for(u=0;u<o.length;u++){var c;if(0===(c=o[u]).refs){for(var f=0;f<c.parts.length;f++)c.parts[f]();delete d[c.id]}}}};var x=function(){var t=[];return function(n,e){return t[n]=e,t.filter(Boolean).join("\n")}}()},function(t,n,e){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}function o(t,n){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?t:n}Object.defineProperty(n,"__esModule",{value:!0});var u=function(){function t(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(n,e,r){return e&&t(n.prototype,e),r&&t(n,r),n}}(),a=r(e(4)),c=r(e(3)),f=e(2),s=r(e(1));e(14);var l=function(t){function n(){return i(this,n),o(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);t.prototype=Object.create(n&&n.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(t,n):t.__proto__=n)}(n,t),u(n,[{key:"componentDidMount",value:function(){this.renderD3()}},{key:"componentDidUpdate",value:function(){this.renderD3()}},{key:"renderD3",value:function(){if(this.linksContainer){var t=(0,f.select)(this.linksContainer),n=t.selectAll(".link").data(this.props.links,(function(t){return t.id})),e=n.enter().append("g").attr("class","link");e.append("line").attr("class","link-line"),t.selectAll(".link-line").attr("source",(function(t){return void 0!==t.source.id?t.source.id:t.source})).attr("target",(function(t){return void 0!==t.target.id?t.target.id:t.target})).style("stroke-width",s.default.getBondWidth).style("stroke-dasharray",(function(t){return"dashed"===t.style?5:0})).style("stroke",(function(t){return s.default.chooseColor(t,"black")})).style("opacity",(function(t){if(0===t.bond)return 0})),e.append("text"),t.selectAll(".link").selectAll("text").attr("x",(function(t){return t.source.x||0})).attr("y",(function(t){return t.source.y||0})).attr("text-anchor","middle").text((function(){return" "})),e.filter((function(t){return t.bond>1})).append("line").attr("class","separator separator-double"),t.selectAll(".separator-double").style("stroke","#FFF").style("stroke-width",(function(t){return 4*t.bond-5+"px"})),e.filter((function(t){return 3===t.bond})).append("line").attr("class","separator separator-triple"),t.selectAll(".separator-triple").style("stroke",(function(t){return s.default.chooseColor(t,"black")})).style("stroke-width","1px"),n.exit().remove()}}},{key:"render",value:function(){var t=this;return a.default.createElement("g",{className:"links-container",ref:function(n){t.linksContainer=n}})}}]),n}(a.default.Component);l.propTypes={links:c.default.arrayOf(c.default.object)},n.default=l},function(t,n,e){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(n,"__esModule",{value:!0});var i=function(){function t(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(n,e,r){return e&&t(n.prototype,e),r&&t(n,r),n}}(),o=r(e(4)),u=r(e(3)),a=e(2),c=r(e(9)),f=r(e(7)),s=r(e(11)),l=r(e(1)),h=function(t){function n(t){!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,n);var e=function(t,n){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?t:n}(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,t));return e.onClickNode=function(t){var n=e.state.selectedAtomIds.slice(0),r=n.indexOf(t.id);-1!==r?n.splice(r,1):n.push(t.id),e.setState({selectedAtomIds:n}),e.props.onChangeSelection(n)},e.onDragStartedNode=function(t){a.event.active||e.simulation.alphaTarget(.3).restart(),t.fx=t.x,t.fy=t.y},e.onDragEndedNode=function(t){a.event.active||e.simulation.alphaTarget(0),t.fx=null,t.fy=null},e.renderTransform=function(){if(e.svg){var t=(0,a.select)(e.svg);t.selectAll(".node").attr("transform",(function(t){return"translate("+(t.x||0)+","+(t.y||0)+")"}));var n=t.selectAll(".link");n.selectAll("line").attr("x1",(function(t){return t.source.x||0})).attr("y1",(function(t){return t.source.y||0})).attr("x2",(function(t){return t.target.x||0})).attr("y2",(function(t){return t.target.y||0})),n.selectAll("text").attr("x",(function(t){return((t.source.x||0)+(t.target.x||0))/2})).attr("y",(function(t){return((t.source.y||0)+(t.target.y||0))/2}))}},e.state={selectedAtomIds:t.selectedAtomIds||[]},e}return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);t.prototype=Object.create(n&&n.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(t,n):t.__proto__=n)}(n,t),i(n,[{key:"componentDidMount",value:function(){this.renderD3()}},{key:"componentWillReceiveProps",value:function(t){s.default.compareIds(this.state.selectedAtomIds,t.selectedAtomIds)||this.setState({selectedAtomIds:t.selectedAtomIds})}},{key:"componentDidUpdate",value:function(){this.renderD3()}},{key:"renderD3",value:function(){var t=this;this.simulation=(0,a.forceSimulation)().force("link",(0,a.forceLink)().distance((function(t){return l.default.withDefault(t.distance,20)})).strength((function(t){return l.default.withDefault(t.strength,1)}))).force("charge",(0,a.forceManyBody)()).force("center",(0,a.forceCenter)(this.props.width/2,this.props.height/2)),this.simulation.nodes(this.nodes).on("tick",(function(){return t.renderTransform()})),this.simulation.force("link").id((function(t){return t.id})).links(this.links)}},{key:"render",value:function(){var t=this;return this.props.modelData||(this.props.modelData={nodes:[],links:[]}),this.nodes=s.default.updateModels(this.nodes||[],this.props.modelData.nodes),this.links=s.default.updateModels(this.links||[],this.props.modelData.links),o.default.createElement("svg",{ref:function(n){t.svg=n},width:this.props.width,height:this.props.height},o.default.createElement(f.default,{links:this.links}),o.default.createElement(c.default,{selectedAtomIds:this.state.selectedAtomIds,nodes:this.nodes,onClickNode:this.onClickNode,onDragStartedNode:this.onDragStartedNode,onDragEndedNode:this.onDragEndedNode}))}}]),n}(o.default.Component);h.defaultProps={width:500,height:500,selectedAtomIds:[],onChangeSelection:function(){},modelData:{nodes:[],links:[]}},h.propTypes={width:u.default.number,height:u.default.number,modelData:u.default.shape({nodes:u.default.array,links:u.default.array}).isRequired,selectedAtomIds:u.default.arrayOf(u.default.number),onChangeSelection:u.default.func},n.default=h},function(t,n,e){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}function o(t,n){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?t:n}Object.defineProperty(n,"__esModule",{value:!0});var u=function(){function t(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(n,e,r){return e&&t(n.prototype,e),r&&t(n,r),n}}(),a=r(e(4)),c=r(e(3)),f=e(2),s=r(e(1));e(15);var l="#39f8ff",h=function(t){function n(){return i(this,n),o(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);t.prototype=Object.create(n&&n.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(t,n):t.__proto__=n)}(n,t),u(n,[{key:"componentDidMount",value:function(){this.renderD3()}},{key:"componentDidUpdate",value:function(){this.renderD3()}},{key:"renderD3",value:function(){var t=this;if(this.nodesContainer){var e=(0,f.select)(this.nodesContainer),r=e.selectAll(".node").data(this.props.nodes,(function(t){return t.id})),i=r.enter().append("g");i.attr("class","node").on("click",this.props.onClickNode).attr("index",(function(t){return t.id})).call((0,f.drag)().on("start",this.props.onDragStartedNode).on("drag",n.onDragged).on("end",this.props.onDragEndedNode)),e.selectAll(".node").classed("selected",(function(n){return-1!==t.props.selectedAtomIds.indexOf(n.id)?l:""}));var o=(0,f.scaleSqrt)().range([0,6]);i.append("circle").attr("class","atom-circle").attr("r",(function(t){return o(s.default.withDefault(t.size,1.5))})).style("fill",(function(t){return s.default.chooseColor(t,"white")})),(0,f.selectAll)(".atom-circle").style("stroke",(function(n){return-1!==t.props.selectedAtomIds.indexOf(n.id)?l:""})),i.append("text").attr("class","atom-label").attr("dy",".35em").attr("text-anchor","middle").text((function(t){return t.atom})),e.selectAll(".atom-label").attr("fill",(function(n){var e=-1!==t.props.selectedAtomIds.indexOf(n.id)?l:"";return s.default.withDefault(n.textcolor,e)})),r.exit().remove()}}},{key:"render",value:function(){var t=this;return a.default.createElement("g",{className:"nodes-container",ref:function(n){t.nodesContainer=n}})}}],[{key:"onDragged",value:function(t){t.fx=f.event.x,t.fy=f.event.y}}]),n}(a.default.Component);h.propTypes={selectedAtomIds:c.default.arrayOf(c.default.number),nodes:c.default.arrayOf(c.default.object),onClickNode:c.default.func,onDragStartedNode:c.default.func,onDragEndedNode:c.default.func},n.default=h},function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=function(t){return t&&t.__esModule?t:{default:t}}(e(8));n.default=r.default},function(t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var e={compareIds:function(t,n){if(!t.length&&n.length||t.length&&!n.length)return!1;var e=new Map;t.forEach((function(t){e.set(t,!1)}));var r=!0,i=!1,o=void 0;try{for(var u,a=n[Symbol.iterator]();!(r=(u=a.next()).done);r=!0){var c=u.value;if(!e.has(c))return!1;e.set(c,!0)}}catch(t){i=!0,o=t}finally{try{!r&&a.return&&a.return()}finally{if(i)throw o}}var f=!0,s=!1,l=void 0;try{for(var h,d=e[Symbol.iterator]();!(f=(h=d.next()).done);f=!0){if(!h.value[1])return!1}}catch(t){s=!0,l=t}finally{try{!f&&d.return&&d.return()}finally{if(s)throw l}}return!0},updateObjectInPlace:function(t,n){return Object.keys(n).forEach((function(r){t[r]instanceof Object&&n[r]instanceof Object?t[r]=e.updateObjectInPlace(t[r],n[r]):t[r]=n[r]})),t},updateModels:function(t,n){if(!e.compareIds(t.map((function(t){return t.id})),n.map((function(t){return t.id}))))return n;n.forEach((function(n){for(var r=!1,i=0;i<t.length;i+=1)if(t[i].id===n.id){t[i]=e.updateObjectInPlace(t[i],n),r=!0;break}r||t.push(n)}));for(var r=function(e){var r=t[e];n.find((function(t){return t.id===r.id}))||(t.splice(e,1),e-=1),i=e},i=0;i<t.length;i+=1)r(i);return t}};n.default=e},function(t,n,e){(t.exports=e(5)()).push([t.id,".link line{stroke:#696969}.link line.separator{stroke:#fff;stroke-width:2px}",""])},function(t,n,e){(t.exports=e(5)()).push([t.id,".node text{font:10px sans-serif;pointer-events:none}",""])},function(t,n,e){var r=e(12);"string"==typeof r&&(r=[[t.id,r,""]]),e(6)(r,{}),r.locals&&(t.exports=r.locals)},function(t,n,e){var r=e(13);"string"==typeof r&&(r=[[t.id,r,""]]),e(6)(r,{}),r.locals&&(t.exports=r.locals)}])},435:function(t,n,e){t.exports=e(436)()},436:function(t,n,e){"use strict";var r=e(437);function i(){}function o(){}o.resetWarningCache=i,t.exports=function(){function t(t,n,e,i,o,u){if(u!==r){var a=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");throw a.name="Invariant Violation",a}}function n(){return t}t.isRequired=t;var e={array:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:n,element:t,elementType:t,instanceOf:n,node:t,objectOf:n,oneOf:n,oneOfType:n,shape:n,exact:n,checkPropTypes:o,resetWarningCache:i};return e.PropTypes=e,e}},437:function(t,n,e){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},460:function(t,n,e){"use strict";e.r(n);var r=function(t,n){return t<n?-1:t>n?1:t>=n?0:NaN},i=function(t){var n;return 1===t.length&&(n=t,t=function(t,e){return r(n(t),e)}),{left:function(n,e,r,i){for(null==r&&(r=0),null==i&&(i=n.length);r<i;){var o=r+i>>>1;t(n[o],e)<0?r=o+1:i=o}return r},right:function(n,e,r,i){for(null==r&&(r=0),null==i&&(i=n.length);r<i;){var o=r+i>>>1;t(n[o],e)>0?i=o:r=o+1}return r}}};var o=i(r),u=o.right,a=o.left,c=u,f=function(t,n){null==n&&(n=s);for(var e=0,r=t.length-1,i=t[0],o=new Array(r<0?0:r);e<r;)o[e]=n(i,i=t[++e]);return o};function s(t,n){return[t,n]}var l=function(t,n,e){var r,i,o,u,a=t.length,c=n.length,f=new Array(a*c);for(null==e&&(e=s),r=o=0;r<a;++r)for(u=t[r],i=0;i<c;++i,++o)f[o]=e(u,n[i]);return f},h=function(t,n){return n<t?-1:n>t?1:n>=t?0:NaN},d=function(t){return null===t?NaN:+t},p=function(t,n){var e,r,i=t.length,o=0,u=-1,a=0,c=0;if(null==n)for(;++u<i;)isNaN(e=d(t[u]))||(c+=(r=e-a)*(e-(a+=r/++o)));else for(;++u<i;)isNaN(e=d(n(t[u],u,t)))||(c+=(r=e-a)*(e-(a+=r/++o)));if(o>1)return c/(o-1)},v=function(t,n){var e=p(t,n);return e?Math.sqrt(e):e},y=function(t,n){var e,r,i,o=t.length,u=-1;if(null==n){for(;++u<o;)if(null!=(e=t[u])&&e>=e)for(r=i=e;++u<o;)null!=(e=t[u])&&(r>e&&(r=e),i<e&&(i=e))}else for(;++u<o;)if(null!=(e=n(t[u],u,t))&&e>=e)for(r=i=e;++u<o;)null!=(e=n(t[u],u,t))&&(r>e&&(r=e),i<e&&(i=e));return[r,i]},g=Array.prototype,_=g.slice,m=g.map,x=function(t){return function(){return t}},b=function(t){return t},w=function(t,n,e){t=+t,n=+n,e=(i=arguments.length)<2?(n=t,t=0,1):i<3?1:+e;for(var r=-1,i=0|Math.max(0,Math.ceil((n-t)/e)),o=new Array(i);++r<i;)o[r]=t+r*e;return o},M=Math.sqrt(50),k=Math.sqrt(10),T=Math.sqrt(2),S=function(t,n,e){var r,i,o,u,a=-1;if(e=+e,(t=+t)===(n=+n)&&e>0)return[t];if((r=n<t)&&(i=t,t=n,n=i),0===(u=A(t,n,e))||!isFinite(u))return[];if(u>0)for(t=Math.ceil(t/u),n=Math.floor(n/u),o=new Array(i=Math.ceil(n-t+1));++a<i;)o[a]=(t+a)*u;else for(t=Math.floor(t*u),n=Math.ceil(n*u),o=new Array(i=Math.ceil(t-n+1));++a<i;)o[a]=(t-a)/u;return r&&o.reverse(),o};function A(t,n,e){var r=(n-t)/Math.max(0,e),i=Math.floor(Math.log(r)/Math.LN10),o=r/Math.pow(10,i);return i>=0?(o>=M?10:o>=k?5:o>=T?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(o>=M?10:o>=k?5:o>=T?2:1)}function N(t,n,e){var r=Math.abs(n-t)/Math.max(0,e),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),o=r/i;return o>=M?i*=10:o>=k?i*=5:o>=T&&(i*=2),n<t?-i:i}var E=function(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1},C=function(){var t=b,n=y,e=E;function r(r){var i,o,u=r.length,a=new Array(u);for(i=0;i<u;++i)a[i]=t(r[i],i,r);var f=n(a),s=f[0],l=f[1],h=e(a,s,l);Array.isArray(h)||(h=N(s,l,h),h=w(Math.ceil(s/h)*h,Math.floor(l/h)*h,h));for(var d=h.length;h[0]<=s;)h.shift(),--d;for(;h[d-1]>l;)h.pop(),--d;var p,v=new Array(d+1);for(i=0;i<=d;++i)(p=v[i]=[]).x0=i>0?h[i-1]:s,p.x1=i<d?h[i]:l;for(i=0;i<u;++i)s<=(o=a[i])&&o<=l&&v[c(h,o,0,d)].push(r[i]);return v}return r.value=function(n){return arguments.length?(t="function"==typeof n?n:x(n),r):t},r.domain=function(t){return arguments.length?(n="function"==typeof t?t:x([t[0],t[1]]),r):n},r.thresholds=function(t){return arguments.length?(e="function"==typeof t?t:Array.isArray(t)?x(_.call(t)):x(t),r):e},r},P=function(t,n,e){if(null==e&&(e=d),r=t.length){if((n=+n)<=0||r<2)return+e(t[0],0,t);if(n>=1)return+e(t[r-1],r-1,t);var r,i=(r-1)*n,o=Math.floor(i),u=+e(t[o],o,t);return u+(+e(t[o+1],o+1,t)-u)*(i-o)}},O=function(t,n,e){return t=m.call(t,d).sort(r),Math.ceil((e-n)/(2*(P(t,.75)-P(t,.25))*Math.pow(t.length,-1/3)))},D=function(t,n,e){return Math.ceil((e-n)/(3.5*v(t)*Math.pow(t.length,-1/3)))},z=function(t,n){var e,r,i=t.length,o=-1;if(null==n){for(;++o<i;)if(null!=(e=t[o])&&e>=e)for(r=e;++o<i;)null!=(e=t[o])&&e>r&&(r=e)}else for(;++o<i;)if(null!=(e=n(t[o],o,t))&&e>=e)for(r=e;++o<i;)null!=(e=n(t[o],o,t))&&e>r&&(r=e);return r},R=function(t,n){var e,r=t.length,i=r,o=-1,u=0;if(null==n)for(;++o<r;)isNaN(e=d(t[o]))?--i:u+=e;else for(;++o<r;)isNaN(e=d(n(t[o],o,t)))?--i:u+=e;if(i)return u/i},L=function(t,n){var e,i=t.length,o=-1,u=[];if(null==n)for(;++o<i;)isNaN(e=d(t[o]))||u.push(e);else for(;++o<i;)isNaN(e=d(n(t[o],o,t)))||u.push(e);return P(u.sort(r),.5)},U=function(t){for(var n,e,r,i=t.length,o=-1,u=0;++o<i;)u+=t[o].length;for(e=new Array(u);--i>=0;)for(n=(r=t[i]).length;--n>=0;)e[--u]=r[n];return e},I=function(t,n){var e,r,i=t.length,o=-1;if(null==n){for(;++o<i;)if(null!=(e=t[o])&&e>=e)for(r=e;++o<i;)null!=(e=t[o])&&r>e&&(r=e)}else for(;++o<i;)if(null!=(e=n(t[o],o,t))&&e>=e)for(r=e;++o<i;)null!=(e=n(t[o],o,t))&&r>e&&(r=e);return r},q=function(t,n){for(var e=n.length,r=new Array(e);e--;)r[e]=t[n[e]];return r},j=function(t,n){if(e=t.length){var e,i,o=0,u=0,a=t[u];for(null==n&&(n=r);++o<e;)(n(i=t[o],a)<0||0!==n(a,a))&&(a=i,u=o);return 0===n(a,a)?u:void 0}},F=function(t,n,e){for(var r,i,o=(null==e?t.length:e)-(n=null==n?0:+n);o;)i=Math.random()*o--|0,r=t[o+n],t[o+n]=t[i+n],t[i+n]=r;return t},Y=function(t,n){var e,r=t.length,i=-1,o=0;if(null==n)for(;++i<r;)(e=+t[i])&&(o+=e);else for(;++i<r;)(e=+n(t[i],i,t))&&(o+=e);return o},B=function(t){if(!(i=t.length))return[];for(var n=-1,e=I(t,H),r=new Array(e);++n<e;)for(var i,o=-1,u=r[n]=new Array(i);++o<i;)u[o]=t[o][n];return r};function H(t){return t.length}var X=function(){return B(arguments)},V=Array.prototype.slice,W=function(t){return t};function $(t){return"translate("+(t+.5)+",0)"}function Z(t){return"translate(0,"+(t+.5)+")"}function G(t){return function(n){return+t(n)}}function Q(t){var n=Math.max(0,t.bandwidth()-1)/2;return t.round()&&(n=Math.round(n)),function(e){return+t(e)+n}}function J(){return!this.__axis}function K(t,n){var e=[],r=null,i=null,o=6,u=6,a=3,c=1===t||4===t?-1:1,f=4===t||2===t?"x":"y",s=1===t||3===t?$:Z;function l(l){var h=null==r?n.ticks?n.ticks.apply(n,e):n.domain():r,d=null==i?n.tickFormat?n.tickFormat.apply(n,e):W:i,p=Math.max(o,0)+a,v=n.range(),y=+v[0]+.5,g=+v[v.length-1]+.5,_=(n.bandwidth?Q:G)(n.copy()),m=l.selection?l.selection():l,x=m.selectAll(".domain").data([null]),b=m.selectAll(".tick").data(h,n).order(),w=b.exit(),M=b.enter().append("g").attr("class","tick"),k=b.select("line"),T=b.select("text");x=x.merge(x.enter().insert("path",".tick").attr("class","domain").attr("stroke","#000")),b=b.merge(M),k=k.merge(M.append("line").attr("stroke","#000").attr(f+"2",c*o)),T=T.merge(M.append("text").attr("fill","#000").attr(f,c*p).attr("dy",1===t?"0em":3===t?"0.71em":"0.32em")),l!==m&&(x=x.transition(l),b=b.transition(l),k=k.transition(l),T=T.transition(l),w=w.transition(l).attr("opacity",1e-6).attr("transform",(function(t){return isFinite(t=_(t))?s(t):this.getAttribute("transform")})),M.attr("opacity",1e-6).attr("transform",(function(t){var n=this.parentNode.__axis;return s(n&&isFinite(n=n(t))?n:_(t))}))),w.remove(),x.attr("d",4===t||2==t?"M"+c*u+","+y+"H0.5V"+g+"H"+c*u:"M"+y+","+c*u+"V0.5H"+g+"V"+c*u),b.attr("opacity",1).attr("transform",(function(t){return s(_(t))})),k.attr(f+"2",c*o),T.attr(f,c*p).text(d),m.filter(J).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",2===t?"start":4===t?"end":"middle"),m.each((function(){this.__axis=_}))}return l.scale=function(t){return arguments.length?(n=t,l):n},l.ticks=function(){return e=V.call(arguments),l},l.tickArguments=function(t){return arguments.length?(e=null==t?[]:V.call(t),l):e.slice()},l.tickValues=function(t){return arguments.length?(r=null==t?null:V.call(t),l):r&&r.slice()},l.tickFormat=function(t){return arguments.length?(i=t,l):i},l.tickSize=function(t){return arguments.length?(o=u=+t,l):o},l.tickSizeInner=function(t){return arguments.length?(o=+t,l):o},l.tickSizeOuter=function(t){return arguments.length?(u=+t,l):u},l.tickPadding=function(t){return arguments.length?(a=+t,l):a},l}function tt(t){return K(1,t)}function nt(t){return K(2,t)}function et(t){return K(3,t)}function rt(t){return K(4,t)}var it={value:function(){}};function ot(){for(var t,n=0,e=arguments.length,r={};n<e;++n){if(!(t=arguments[n]+"")||t in r)throw new Error("illegal type: "+t);r[t]=[]}return new ut(r)}function ut(t){this._=t}function at(t,n){return t.trim().split(/^|\s+/).map((function(t){var e="",r=t.indexOf(".");if(r>=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}}))}function ct(t,n){for(var e,r=0,i=t.length;r<i;++r)if((e=t[r]).name===n)return e.value}function ft(t,n,e){for(var r=0,i=t.length;r<i;++r)if(t[r].name===n){t[r]=it,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=e&&t.push({name:n,value:e}),t}ut.prototype=ot.prototype={constructor:ut,on:function(t,n){var e,r=this._,i=at(t+"",r),o=-1,u=i.length;if(!(arguments.length<2)){if(null!=n&&"function"!=typeof n)throw new Error("invalid callback: "+n);for(;++o<u;)if(e=(t=i[o]).type)r[e]=ft(r[e],t.name,n);else if(null==n)for(e in r)r[e]=ft(r[e],t.name,null);return this}for(;++o<u;)if((e=(t=i[o]).type)&&(e=ct(r[e],t.name)))return e},copy:function(){var t={},n=this._;for(var e in n)t[e]=n[e].slice();return new ut(t)},call:function(t,n){if((e=arguments.length-2)>0)for(var e,r,i=new Array(e),o=0;o<e;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(o=0,e=(r=this._[t]).length;o<e;++o)r[o].value.apply(n,i)},apply:function(t,n,e){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,o=r.length;i<o;++i)r[i].value.apply(n,e)}};var st=ot,lt="http://www.w3.org/1999/xhtml",ht={svg:"http://www.w3.org/2000/svg",xhtml:lt,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},dt=function(t){var n=t+="",e=n.indexOf(":");return e>=0&&"xmlns"!==(n=t.slice(0,e))&&(t=t.slice(e+1)),ht.hasOwnProperty(n)?{space:ht[n],local:t}:t};function pt(t){return function(){var n=this.ownerDocument,e=this.namespaceURI;return e===lt&&n.documentElement.namespaceURI===lt?n.createElement(t):n.createElementNS(e,t)}}function vt(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}var yt=function(t){var n=dt(t);return(n.local?vt:pt)(n)};function gt(){}var _t=function(t){return null==t?gt:function(){return this.querySelector(t)}};function mt(){return[]}var xt=function(t){return null==t?mt:function(){return this.querySelectorAll(t)}},bt=function(t){return function(){return this.matches(t)}};if("undefined"!=typeof document){var wt=document.documentElement;if(!wt.matches){var Mt=wt.webkitMatchesSelector||wt.msMatchesSelector||wt.mozMatchesSelector||wt.oMatchesSelector;bt=function(t){return function(){return Mt.call(this,t)}}}}var kt=bt,Tt=function(t){return new Array(t.length)};function St(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}St.prototype={constructor:St,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,n){return this._parent.insertBefore(t,n)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function At(t,n,e,r,i,o){for(var u,a=0,c=n.length,f=o.length;a<f;++a)(u=n[a])?(u.__data__=o[a],r[a]=u):e[a]=new St(t,o[a]);for(;a<c;++a)(u=n[a])&&(i[a]=u)}function Nt(t,n,e,r,i,o,u){var a,c,f,s={},l=n.length,h=o.length,d=new Array(l);for(a=0;a<l;++a)(c=n[a])&&(d[a]=f="$"+u.call(c,c.__data__,a,n),f in s?i[a]=c:s[f]=c);for(a=0;a<h;++a)(c=s[f="$"+u.call(t,o[a],a,o)])?(r[a]=c,c.__data__=o[a],s[f]=null):e[a]=new St(t,o[a]);for(a=0;a<l;++a)(c=n[a])&&s[d[a]]===c&&(i[a]=c)}function Et(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function Ct(t){return function(){this.removeAttribute(t)}}function Pt(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Ot(t,n){return function(){this.setAttribute(t,n)}}function Dt(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function zt(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttribute(t):this.setAttribute(t,e)}}function Rt(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}}var Lt=function(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView};function Ut(t){return function(){this.style.removeProperty(t)}}function It(t,n,e){return function(){this.style.setProperty(t,n,e)}}function qt(t,n,e){return function(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}function jt(t,n){return t.style.getPropertyValue(n)||Lt(t).getComputedStyle(t,null).getPropertyValue(n)}function Ft(t){return function(){delete this[t]}}function Yt(t,n){return function(){this[t]=n}}function Bt(t,n){return function(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}}function Ht(t){return t.trim().split(/^|\s+/)}function Xt(t){return t.classList||new Vt(t)}function Vt(t){this._node=t,this._names=Ht(t.getAttribute("class")||"")}function Wt(t,n){for(var e=Xt(t),r=-1,i=n.length;++r<i;)e.add(n[r])}function $t(t,n){for(var e=Xt(t),r=-1,i=n.length;++r<i;)e.remove(n[r])}function Zt(t){return function(){Wt(this,t)}}function Gt(t){return function(){$t(this,t)}}function Qt(t,n){return function(){(n.apply(this,arguments)?Wt:$t)(this,t)}}Vt.prototype={add:function(t){this._names.indexOf(t)<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var n=this._names.indexOf(t);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function Jt(){this.textContent=""}function Kt(t){return function(){this.textContent=t}}function tn(t){return function(){var n=t.apply(this,arguments);this.textContent=null==n?"":n}}function nn(){this.innerHTML=""}function en(t){return function(){this.innerHTML=t}}function rn(t){return function(){var n=t.apply(this,arguments);this.innerHTML=null==n?"":n}}function on(){this.nextSibling&&this.parentNode.appendChild(this)}function un(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function an(){return null}function cn(){var t=this.parentNode;t&&t.removeChild(this)}function fn(){return this.parentNode.insertBefore(this.cloneNode(!1),this.nextSibling)}function sn(){return this.parentNode.insertBefore(this.cloneNode(!0),this.nextSibling)}var ln={},hn=null;"undefined"!=typeof document&&("onmouseenter"in document.documentElement||(ln={mouseenter:"mouseover",mouseleave:"mouseout"}));function dn(t,n,e){return t=pn(t,n,e),function(n){var e=n.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||t.call(this,n)}}function pn(t,n,e){return function(r){var i=hn;hn=r;try{t.call(this,this.__data__,n,e)}finally{hn=i}}}function vn(t){return t.trim().split(/^|\s+/).map((function(t){var n="",e=t.indexOf(".");return e>=0&&(n=t.slice(e+1),t=t.slice(0,e)),{type:t,name:n}}))}function yn(t){return function(){var n=this.__on;if(n){for(var e,r=0,i=-1,o=n.length;r<o;++r)e=n[r],t.type&&e.type!==t.type||e.name!==t.name?n[++i]=e:this.removeEventListener(e.type,e.listener,e.capture);++i?n.length=i:delete this.__on}}}function gn(t,n,e){var r=ln.hasOwnProperty(t.type)?dn:pn;return function(i,o,u){var a,c=this.__on,f=r(n,o,u);if(c)for(var s=0,l=c.length;s<l;++s)if((a=c[s]).type===t.type&&a.name===t.name)return this.removeEventListener(a.type,a.listener,a.capture),this.addEventListener(a.type,a.listener=f,a.capture=e),void(a.value=n);this.addEventListener(t.type,f,e),a={type:t.type,name:t.name,value:n,listener:f,capture:e},c?c.push(a):this.__on=[a]}}function _n(t,n,e,r){var i=hn;t.sourceEvent=hn,hn=t;try{return n.apply(e,r)}finally{hn=i}}function mn(t,n,e){var r=Lt(t),i=r.CustomEvent;"function"==typeof i?i=new i(n,e):(i=r.document.createEvent("Event"),e?(i.initEvent(n,e.bubbles,e.cancelable),i.detail=e.detail):i.initEvent(n,!1,!1)),t.dispatchEvent(i)}function xn(t,n){return function(){return mn(this,t,n)}}function bn(t,n){return function(){return mn(this,t,n.apply(this,arguments))}}var wn=[null];function Mn(t,n){this._groups=t,this._parents=n}function kn(){return new Mn([[document.documentElement]],wn)}Mn.prototype=kn.prototype={constructor:Mn,select:function(t){"function"!=typeof t&&(t=_t(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,u,a=n[i],c=a.length,f=r[i]=new Array(c),s=0;s<c;++s)(o=a[s])&&(u=t.call(o,o.__data__,s,a))&&("__data__"in o&&(u.__data__=o.__data__),f[s]=u);return new Mn(r,this._parents)},selectAll:function(t){"function"!=typeof t&&(t=xt(t));for(var n=this._groups,e=n.length,r=[],i=[],o=0;o<e;++o)for(var u,a=n[o],c=a.length,f=0;f<c;++f)(u=a[f])&&(r.push(t.call(u,u.__data__,f,a)),i.push(u));return new Mn(r,i)},filter:function(t){"function"!=typeof t&&(t=kt(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,u=n[i],a=u.length,c=r[i]=[],f=0;f<a;++f)(o=u[f])&&t.call(o,o.__data__,f,u)&&c.push(o);return new Mn(r,this._parents)},data:function(t,n){if(!t)return p=new Array(this.size()),s=-1,this.each((function(t){p[++s]=t})),p;var e,r=n?Nt:At,i=this._parents,o=this._groups;"function"!=typeof t&&(e=t,t=function(){return e});for(var u=o.length,a=new Array(u),c=new Array(u),f=new Array(u),s=0;s<u;++s){var l=i[s],h=o[s],d=h.length,p=t.call(l,l&&l.__data__,s,i),v=p.length,y=c[s]=new Array(v),g=a[s]=new Array(v);r(l,h,y,g,f[s]=new Array(d),p,n);for(var _,m,x=0,b=0;x<v;++x)if(_=y[x]){for(x>=b&&(b=x+1);!(m=g[b])&&++b<v;);_._next=m||null}}return(a=new Mn(a,i))._enter=c,a._exit=f,a},enter:function(){return new Mn(this._enter||this._groups.map(Tt),this._parents)},exit:function(){return new Mn(this._exit||this._groups.map(Tt),this._parents)},merge:function(t){for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),u=new Array(r),a=0;a<o;++a)for(var c,f=n[a],s=e[a],l=f.length,h=u[a]=new Array(l),d=0;d<l;++d)(c=f[d]||s[d])&&(h[d]=c);for(;a<r;++a)u[a]=n[a];return new Mn(u,this._parents)},order:function(){for(var t=this._groups,n=-1,e=t.length;++n<e;)for(var r,i=t[n],o=i.length-1,u=i[o];--o>=0;)(r=i[o])&&(u&&u!==r.nextSibling&&u.parentNode.insertBefore(r,u),u=r);return this},sort:function(t){function n(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e}t||(t=Et);for(var e=this._groups,r=e.length,i=new Array(r),o=0;o<r;++o){for(var u,a=e[o],c=a.length,f=i[o]=new Array(c),s=0;s<c;++s)(u=a[s])&&(f[s]=u);f.sort(n)}return new Mn(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){var t=new Array(this.size()),n=-1;return this.each((function(){t[++n]=this})),t},node:function(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r=t[n],i=0,o=r.length;i<o;++i){var u=r[i];if(u)return u}return null},size:function(){var t=0;return this.each((function(){++t})),t},empty:function(){return!this.node()},each:function(t){for(var n=this._groups,e=0,r=n.length;e<r;++e)for(var i,o=n[e],u=0,a=o.length;u<a;++u)(i=o[u])&&t.call(i,i.__data__,u,o);return this},attr:function(t,n){var e=dt(t);if(arguments.length<2){var r=this.node();return e.local?r.getAttributeNS(e.space,e.local):r.getAttribute(e)}return this.each((null==n?e.local?Pt:Ct:"function"==typeof n?e.local?Rt:zt:e.local?Dt:Ot)(e,n))},style:function(t,n,e){return arguments.length>1?this.each((null==n?Ut:"function"==typeof n?qt:It)(t,n,null==e?"":e)):jt(this.node(),t)},property:function(t,n){return arguments.length>1?this.each((null==n?Ft:"function"==typeof n?Bt:Yt)(t,n)):this.node()[t]},classed:function(t,n){var e=Ht(t+"");if(arguments.length<2){for(var r=Xt(this.node()),i=-1,o=e.length;++i<o;)if(!r.contains(e[i]))return!1;return!0}return this.each(("function"==typeof n?Qt:n?Zt:Gt)(e,n))},text:function(t){return arguments.length?this.each(null==t?Jt:("function"==typeof t?tn:Kt)(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?nn:("function"==typeof t?rn:en)(t)):this.node().innerHTML},raise:function(){return this.each(on)},lower:function(){return this.each(un)},append:function(t){var n="function"==typeof t?t:yt(t);return this.select((function(){return this.appendChild(n.apply(this,arguments))}))},insert:function(t,n){var e="function"==typeof t?t:yt(t),r=null==n?an:"function"==typeof n?n:_t(n);return this.select((function(){return this.insertBefore(e.apply(this,arguments),r.apply(this,arguments)||null)}))},remove:function(){return this.each(cn)},clone:function(t){return this.select(t?sn:fn)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,n,e){var r,i,o=vn(t+""),u=o.length;if(!(arguments.length<2)){for(a=n?gn:yn,null==e&&(e=!1),r=0;r<u;++r)this.each(a(o[r],n,e));return this}var a=this.node().__on;if(a)for(var c,f=0,s=a.length;f<s;++f)for(r=0,c=a[f];r<u;++r)if((i=o[r]).type===c.type&&i.name===c.name)return c.value},dispatch:function(t,n){return this.each(("function"==typeof n?bn:xn)(t,n))}};var Tn=kn,Sn=function(t){return"string"==typeof t?new Mn([[document.querySelector(t)]],[document.documentElement]):new Mn([[t]],wn)},An=function(t){return Sn(yt(t).call(document.documentElement))},Nn=0;function En(){return new Cn}function Cn(){this._="@"+(++Nn).toString(36)}Cn.prototype=En.prototype={constructor:Cn,get:function(t){for(var n=this._;!(n in t);)if(!(t=t.parentNode))return;return t[n]},set:function(t,n){return t[this._]=n},remove:function(t){return this._ in t&&delete t[this._]},toString:function(){return this._}};var Pn=function(){for(var t,n=hn;t=n.sourceEvent;)n=t;return n},On=function(t,n){var e=t.ownerSVGElement||t;if(e.createSVGPoint){var r=e.createSVGPoint();return r.x=n.clientX,r.y=n.clientY,[(r=r.matrixTransform(t.getScreenCTM().inverse())).x,r.y]}var i=t.getBoundingClientRect();return[n.clientX-i.left-t.clientLeft,n.clientY-i.top-t.clientTop]},Dn=function(t){var n=Pn();return n.changedTouches&&(n=n.changedTouches[0]),On(t,n)},zn=function(t){return"string"==typeof t?new Mn([document.querySelectorAll(t)],[document.documentElement]):new Mn([null==t?[]:t],wn)},Rn=function(t,n,e){arguments.length<3&&(e=n,n=Pn().changedTouches);for(var r,i=0,o=n?n.length:0;i<o;++i)if((r=n[i]).identifier===e)return On(t,r);return null},Ln=function(t,n){null==n&&(n=Pn().touches);for(var e=0,r=n?n.length:0,i=new Array(r);e<r;++e)i[e]=On(t,n[e]);return i};function Un(){hn.stopImmediatePropagation()}var In=function(){hn.preventDefault(),hn.stopImmediatePropagation()},qn=function(t){var n=t.document.documentElement,e=Sn(t).on("dragstart.drag",In,!0);"onselectstart"in n?e.on("selectstart.drag",In,!0):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")};function jn(t,n){var e=t.document.documentElement,r=Sn(t).on("dragstart.drag",null);n&&(r.on("click.drag",In,!0),setTimeout((function(){r.on("click.drag",null)}),0)),"onselectstart"in e?r.on("selectstart.drag",null):(e.style.MozUserSelect=e.__noselect,delete e.__noselect)}var Fn=function(t){return function(){return t}};function Yn(t,n,e,r,i,o,u,a,c,f){this.target=t,this.type=n,this.subject=e,this.identifier=r,this.active=i,this.x=o,this.y=u,this.dx=a,this.dy=c,this._=f}function Bn(){return!hn.button}function Hn(){return this.parentNode}function Xn(t){return null==t?{x:hn.x,y:hn.y}:t}function Vn(){return"ontouchstart"in this}Yn.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};var Wn=function(){var t,n,e,r,i=Bn,o=Hn,u=Xn,a=Vn,c={},f=st("start","drag","end"),s=0,l=0;function h(t){t.on("mousedown.drag",d).filter(a).on("touchstart.drag",y).on("touchmove.drag",g).on("touchend.drag touchcancel.drag",_).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function d(){if(!r&&i.apply(this,arguments)){var u=m("mouse",o.apply(this,arguments),Dn,this,arguments);u&&(Sn(hn.view).on("mousemove.drag",p,!0).on("mouseup.drag",v,!0),qn(hn.view),Un(),e=!1,t=hn.clientX,n=hn.clientY,u("start"))}}function p(){if(In(),!e){var r=hn.clientX-t,i=hn.clientY-n;e=r*r+i*i>l}c.mouse("drag")}function v(){Sn(hn.view).on("mousemove.drag mouseup.drag",null),jn(hn.view,e),In(),c.mouse("end")}function y(){if(i.apply(this,arguments)){var t,n,e=hn.changedTouches,r=o.apply(this,arguments),u=e.length;for(t=0;t<u;++t)(n=m(e[t].identifier,r,Rn,this,arguments))&&(Un(),n("start"))}}function g(){var t,n,e=hn.changedTouches,r=e.length;for(t=0;t<r;++t)(n=c[e[t].identifier])&&(In(),n("drag"))}function _(){var t,n,e=hn.changedTouches,i=e.length;for(r&&clearTimeout(r),r=setTimeout((function(){r=null}),500),t=0;t<i;++t)(n=c[e[t].identifier])&&(Un(),n("end"))}function m(t,n,e,r,i){var o,a,l,d=e(n,t),p=f.copy();if(_n(new Yn(h,"beforestart",o,t,s,d[0],d[1],0,0,p),(function(){return null!=(hn.subject=o=u.apply(r,i))&&(a=o.x-d[0]||0,l=o.y-d[1]||0,!0)})))return function u(f){var v,y=d;switch(f){case"start":c[t]=u,v=s++;break;case"end":delete c[t],--s;case"drag":d=e(n,t),v=s}_n(new Yn(h,f,o,t,v,d[0]+a,d[1]+l,d[0]-y[0],d[1]-y[1],p),p.apply,p,[f,r,i])}}return h.filter=function(t){return arguments.length?(i="function"==typeof t?t:Fn(!!t),h):i},h.container=function(t){return arguments.length?(o="function"==typeof t?t:Fn(t),h):o},h.subject=function(t){return arguments.length?(u="function"==typeof t?t:Fn(t),h):u},h.touchable=function(t){return arguments.length?(a="function"==typeof t?t:Fn(!!t),h):a},h.on=function(){var t=f.on.apply(f,arguments);return t===f?h:t},h.clickDistance=function(t){return arguments.length?(l=(t=+t)*t,h):Math.sqrt(l)},h},$n=function(t,n,e){t.prototype=n.prototype=e,e.constructor=t};function Zn(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function Gn(){}var Qn="\\s*([+-]?\\d+)\\s*",Jn="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",Kn="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",te=/^#([0-9a-f]{3})$/,ne=/^#([0-9a-f]{6})$/,ee=new RegExp("^rgb\\("+[Qn,Qn,Qn]+"\\)$"),re=new RegExp("^rgb\\("+[Kn,Kn,Kn]+"\\)$"),ie=new RegExp("^rgba\\("+[Qn,Qn,Qn,Jn]+"\\)$"),oe=new RegExp("^rgba\\("+[Kn,Kn,Kn,Jn]+"\\)$"),ue=new RegExp("^hsl\\("+[Jn,Kn,Kn]+"\\)$"),ae=new RegExp("^hsla\\("+[Jn,Kn,Kn,Jn]+"\\)$"),ce={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function fe(t){var n;return t=(t+"").trim().toLowerCase(),(n=te.exec(t))?new pe((n=parseInt(n[1],16))>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):(n=ne.exec(t))?se(parseInt(n[1],16)):(n=ee.exec(t))?new pe(n[1],n[2],n[3],1):(n=re.exec(t))?new pe(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=ie.exec(t))?le(n[1],n[2],n[3],n[4]):(n=oe.exec(t))?le(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=ue.exec(t))?ve(n[1],n[2]/100,n[3]/100,1):(n=ae.exec(t))?ve(n[1],n[2]/100,n[3]/100,n[4]):ce.hasOwnProperty(t)?se(ce[t]):"transparent"===t?new pe(NaN,NaN,NaN,0):null}function se(t){return new pe(t>>16&255,t>>8&255,255&t,1)}function le(t,n,e,r){return r<=0&&(t=n=e=NaN),new pe(t,n,e,r)}function he(t){return t instanceof Gn||(t=fe(t)),t?new pe((t=t.rgb()).r,t.g,t.b,t.opacity):new pe}function de(t,n,e,r){return 1===arguments.length?he(t):new pe(t,n,e,null==r?1:r)}function pe(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}function ve(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new _e(t,n,e,r)}function ye(t){if(t instanceof _e)return new _e(t.h,t.s,t.l,t.opacity);if(t instanceof Gn||(t=fe(t)),!t)return new _e;if(t instanceof _e)return t;var n=(t=t.rgb()).r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),o=Math.max(n,e,r),u=NaN,a=o-i,c=(o+i)/2;return a?(u=n===o?(e-r)/a+6*(e<r):e===o?(r-n)/a+2:(n-e)/a+4,a/=c<.5?o+i:2-o-i,u*=60):a=c>0&&c<1?0:u,new _e(u,a,c,t.opacity)}function ge(t,n,e,r){return 1===arguments.length?ye(t):new _e(t,n,e,null==r?1:r)}function _e(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function me(t,n,e){return 255*(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)}$n(Gn,fe,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+""}}),$n(pe,de,Zn(Gn,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new pe(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new pe(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},toString:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}})),$n(_e,ge,Zn(Gn,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new _e(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new _e(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,r=e+(e<.5?e:1-e)*n,i=2*e-r;return new pe(me(t>=240?t-240:t+120,i,r),me(t,i,r),me(t<120?t+240:t-120,i,r),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));var xe=Math.PI/180,be=180/Math.PI;function we(t){if(t instanceof ke)return new ke(t.l,t.a,t.b,t.opacity);if(t instanceof Pe){var n=t.h*xe;return new ke(t.l,Math.cos(n)*t.c,Math.sin(n)*t.c,t.opacity)}t instanceof pe||(t=he(t));var e=Ne(t.r),r=Ne(t.g),i=Ne(t.b),o=Te((.4124564*e+.3575761*r+.1804375*i)/.95047),u=Te((.2126729*e+.7151522*r+.072175*i)/1);return new ke(116*u-16,500*(o-u),200*(u-Te((.0193339*e+.119192*r+.9503041*i)/1.08883)),t.opacity)}function Me(t,n,e,r){return 1===arguments.length?we(t):new ke(t,n,e,null==r?1:r)}function ke(t,n,e,r){this.l=+t,this.a=+n,this.b=+e,this.opacity=+r}function Te(t){return t>6/29*(6/29)*(6/29)?Math.pow(t,1/3):t/(6/29*3*(6/29))+4/29}function Se(t){return t>6/29?t*t*t:6/29*3*(6/29)*(t-4/29)}function Ae(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Ne(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Ee(t){if(t instanceof Pe)return new Pe(t.h,t.c,t.l,t.opacity);t instanceof ke||(t=we(t));var n=Math.atan2(t.b,t.a)*be;return new Pe(n<0?n+360:n,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function Ce(t,n,e,r){return 1===arguments.length?Ee(t):new Pe(t,n,e,null==r?1:r)}function Pe(t,n,e,r){this.h=+t,this.c=+n,this.l=+e,this.opacity=+r}$n(ke,Me,Zn(Gn,{brighter:function(t){return new ke(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new ke(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,n=isNaN(this.a)?t:t+this.a/500,e=isNaN(this.b)?t:t-this.b/200;return t=1*Se(t),new pe(Ae(3.2404542*(n=.95047*Se(n))-1.5371385*t-.4985314*(e=1.08883*Se(e))),Ae(-.969266*n+1.8760108*t+.041556*e),Ae(.0556434*n-.2040259*t+1.0572252*e),this.opacity)}})),$n(Pe,Ce,Zn(Gn,{brighter:function(t){return new Pe(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new Pe(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return we(this).rgb()}}));var Oe=-.29227,De=-1.7884503806,ze=3.5172982438,Re=-.6557636667999999;function Le(t){if(t instanceof Ie)return new Ie(t.h,t.s,t.l,t.opacity);t instanceof pe||(t=he(t));var n=t.r/255,e=t.g/255,r=t.b/255,i=(Re*r+De*n-ze*e)/(Re+De-ze),o=r-i,u=(1.97294*(e-i)-Oe*o)/-.90649,a=Math.sqrt(u*u+o*o)/(1.97294*i*(1-i)),c=a?Math.atan2(u,o)*be-120:NaN;return new Ie(c<0?c+360:c,a,i,t.opacity)}function Ue(t,n,e,r){return 1===arguments.length?Le(t):new Ie(t,n,e,null==r?1:r)}function Ie(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function qe(t,n,e,r,i){var o=t*t,u=o*t;return((1-3*t+3*o-u)*n+(4-6*o+3*u)*e+(1+3*t+3*o-3*u)*r+u*i)/6}$n(Ie,Ue,Zn(Gn,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new Ie(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new Ie(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*xe,n=+this.l,e=isNaN(this.s)?0:this.s*n*(1-n),r=Math.cos(t),i=Math.sin(t);return new pe(255*(n+e*(-.14861*r+1.78277*i)),255*(n+e*(Oe*r+-.90649*i)),255*(n+e*(1.97294*r)),this.opacity)}}));var je=function(t){var n=t.length-1;return function(e){var r=e<=0?e=0:e>=1?(e=1,n-1):Math.floor(e*n),i=t[r],o=t[r+1],u=r>0?t[r-1]:2*i-o,a=r<n-1?t[r+2]:2*o-i;return qe((e-r/n)*n,u,i,o,a)}},Fe=function(t){var n=t.length;return function(e){var r=Math.floor(((e%=1)<0?++e:e)*n),i=t[(r+n-1)%n],o=t[r%n],u=t[(r+1)%n],a=t[(r+2)%n];return qe((e-r/n)*n,i,o,u,a)}},Ye=function(t){return function(){return t}};function Be(t,n){return function(e){return t+e*n}}function He(t,n){var e=n-t;return e?Be(t,e>180||e<-180?e-360*Math.round(e/360):e):Ye(isNaN(t)?n:t)}function Xe(t){return 1==(t=+t)?Ve:function(n,e){return e-n?function(t,n,e){return t=Math.pow(t,e),n=Math.pow(n,e)-t,e=1/e,function(r){return Math.pow(t+r*n,e)}}(n,e,t):Ye(isNaN(n)?e:n)}}function Ve(t,n){var e=n-t;return e?Be(t,e):Ye(isNaN(t)?n:t)}var We=function t(n){var e=Xe(n);function r(t,n){var r=e((t=de(t)).r,(n=de(n)).r),i=e(t.g,n.g),o=e(t.b,n.b),u=Ve(t.opacity,n.opacity);return function(n){return t.r=r(n),t.g=i(n),t.b=o(n),t.opacity=u(n),t+""}}return r.gamma=t,r}(1);function $e(t){return function(n){var e,r,i=n.length,o=new Array(i),u=new Array(i),a=new Array(i);for(e=0;e<i;++e)r=de(n[e]),o[e]=r.r||0,u[e]=r.g||0,a[e]=r.b||0;return o=t(o),u=t(u),a=t(a),r.opacity=1,function(t){return r.r=o(t),r.g=u(t),r.b=a(t),r+""}}}var Ze=$e(je),Ge=$e(Fe),Qe=function(t,n){var e,r=n?n.length:0,i=t?Math.min(r,t.length):0,o=new Array(i),u=new Array(r);for(e=0;e<i;++e)o[e]=cr(t[e],n[e]);for(;e<r;++e)u[e]=n[e];return function(t){for(e=0;e<i;++e)u[e]=o[e](t);return u}},Je=function(t,n){var e=new Date;return n-=t=+t,function(r){return e.setTime(t+n*r),e}},Ke=function(t,n){return n-=t=+t,function(e){return t+n*e}},tr=function(t,n){var e,r={},i={};for(e in null!==t&&"object"==typeof t||(t={}),null!==n&&"object"==typeof n||(n={}),n)e in t?r[e]=cr(t[e],n[e]):i[e]=n[e];return function(t){for(e in r)i[e]=r[e](t);return i}},nr=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,er=new RegExp(nr.source,"g");var rr,ir,or,ur,ar=function(t,n){var e,r,i,o=nr.lastIndex=er.lastIndex=0,u=-1,a=[],c=[];for(t+="",n+="";(e=nr.exec(t))&&(r=er.exec(n));)(i=r.index)>o&&(i=n.slice(o,i),a[u]?a[u]+=i:a[++u]=i),(e=e[0])===(r=r[0])?a[u]?a[u]+=r:a[++u]=r:(a[++u]=null,c.push({i:u,x:Ke(e,r)})),o=er.lastIndex;return o<n.length&&(i=n.slice(o),a[u]?a[u]+=i:a[++u]=i),a.length<2?c[0]?function(t){return function(n){return t(n)+""}}(c[0].x):function(t){return function(){return t}}(n):(n=c.length,function(t){for(var e,r=0;r<n;++r)a[(e=c[r]).i]=e.x(t);return a.join("")})},cr=function(t,n){var e,r=typeof n;return null==n||"boolean"===r?Ye(n):("number"===r?Ke:"string"===r?(e=fe(n))?(n=e,We):ar:n instanceof fe?We:n instanceof Date?Je:Array.isArray(n)?Qe:"function"!=typeof n.valueOf&&"function"!=typeof n.toString||isNaN(n)?tr:Ke)(t,n)},fr=function(t,n){return n-=t=+t,function(e){return Math.round(t+n*e)}},sr=180/Math.PI,lr={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},hr=function(t,n,e,r,i,o){var u,a,c;return(u=Math.sqrt(t*t+n*n))&&(t/=u,n/=u),(c=t*e+n*r)&&(e-=t*c,r-=n*c),(a=Math.sqrt(e*e+r*r))&&(e/=a,r/=a,c/=a),t*r<n*e&&(t=-t,n=-n,c=-c,u=-u),{translateX:i,translateY:o,rotate:Math.atan2(n,t)*sr,skewX:Math.atan(c)*sr,scaleX:u,scaleY:a}};function dr(t,n,e,r){function i(t){return t.length?t.pop()+" ":""}return function(o,u){var a=[],c=[];return o=t(o),u=t(u),function(t,r,i,o,u,a){if(t!==i||r!==o){var c=u.push("translate(",null,n,null,e);a.push({i:c-4,x:Ke(t,i)},{i:c-2,x:Ke(r,o)})}else(i||o)&&u.push("translate("+i+n+o+e)}(o.translateX,o.translateY,u.translateX,u.translateY,a,c),function(t,n,e,o){t!==n?(t-n>180?n+=360:n-t>180&&(t+=360),o.push({i:e.push(i(e)+"rotate(",null,r)-2,x:Ke(t,n)})):n&&e.push(i(e)+"rotate("+n+r)}(o.rotate,u.rotate,a,c),function(t,n,e,o){t!==n?o.push({i:e.push(i(e)+"skewX(",null,r)-2,x:Ke(t,n)}):n&&e.push(i(e)+"skewX("+n+r)}(o.skewX,u.skewX,a,c),function(t,n,e,r,o,u){if(t!==e||n!==r){var a=o.push(i(o)+"scale(",null,",",null,")");u.push({i:a-4,x:Ke(t,e)},{i:a-2,x:Ke(n,r)})}else 1===e&&1===r||o.push(i(o)+"scale("+e+","+r+")")}(o.scaleX,o.scaleY,u.scaleX,u.scaleY,a,c),o=u=null,function(t){for(var n,e=-1,r=c.length;++e<r;)a[(n=c[e]).i]=n.x(t);return a.join("")}}}var pr=dr((function(t){return"none"===t?lr:(rr||(rr=document.createElement("DIV"),ir=document.documentElement,or=document.defaultView),rr.style.transform=t,t=or.getComputedStyle(ir.appendChild(rr),null).getPropertyValue("transform"),ir.removeChild(rr),t=t.slice(7,-1).split(","),hr(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]))}),"px, ","px)","deg)"),vr=dr((function(t){return null==t?lr:(ur||(ur=document.createElementNS("http://www.w3.org/2000/svg","g")),ur.setAttribute("transform",t),(t=ur.transform.baseVal.consolidate())?(t=t.matrix,hr(t.a,t.b,t.c,t.d,t.e,t.f)):lr)}),", ",")",")"),yr=Math.SQRT2;function gr(t){return((t=Math.exp(t))+1/t)/2}var _r=function(t,n){var e,r,i=t[0],o=t[1],u=t[2],a=n[0],c=n[1],f=n[2],s=a-i,l=c-o,h=s*s+l*l;if(h<1e-12)r=Math.log(f/u)/yr,e=function(t){return[i+t*s,o+t*l,u*Math.exp(yr*t*r)]};else{var d=Math.sqrt(h),p=(f*f-u*u+4*h)/(2*u*2*d),v=(f*f-u*u-4*h)/(2*f*2*d),y=Math.log(Math.sqrt(p*p+1)-p),g=Math.log(Math.sqrt(v*v+1)-v);r=(g-y)/yr,e=function(t){var n,e=t*r,a=gr(y),c=u/(2*d)*(a*(n=yr*e+y,((n=Math.exp(2*n))-1)/(n+1))-function(t){return((t=Math.exp(t))-1/t)/2}(y));return[i+c*s,o+c*l,u*a/gr(yr*e+y)]}}return e.duration=1e3*r,e};function mr(t){return function(n,e){var r=t((n=ge(n)).h,(e=ge(e)).h),i=Ve(n.s,e.s),o=Ve(n.l,e.l),u=Ve(n.opacity,e.opacity);return function(t){return n.h=r(t),n.s=i(t),n.l=o(t),n.opacity=u(t),n+""}}}var xr=mr(He),br=mr(Ve);function wr(t,n){var e=Ve((t=Me(t)).l,(n=Me(n)).l),r=Ve(t.a,n.a),i=Ve(t.b,n.b),o=Ve(t.opacity,n.opacity);return function(n){return t.l=e(n),t.a=r(n),t.b=i(n),t.opacity=o(n),t+""}}function Mr(t){return function(n,e){var r=t((n=Ce(n)).h,(e=Ce(e)).h),i=Ve(n.c,e.c),o=Ve(n.l,e.l),u=Ve(n.opacity,e.opacity);return function(t){return n.h=r(t),n.c=i(t),n.l=o(t),n.opacity=u(t),n+""}}}var kr=Mr(He),Tr=Mr(Ve);function Sr(t){return function n(e){function r(n,r){var i=t((n=Ue(n)).h,(r=Ue(r)).h),o=Ve(n.s,r.s),u=Ve(n.l,r.l),a=Ve(n.opacity,r.opacity);return function(t){return n.h=i(t),n.s=o(t),n.l=u(Math.pow(t,e)),n.opacity=a(t),n+""}}return e=+e,r.gamma=n,r}(1)}var Ar,Nr,Er=Sr(He),Cr=Sr(Ve),Pr=function(t,n){for(var e=new Array(n),r=0;r<n;++r)e[r]=t(r/(n-1));return e},Or=0,Dr=0,zr=0,Rr=0,Lr=0,Ur=0,Ir="object"==typeof performance&&performance.now?performance:Date,qr="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function jr(){return Lr||(qr(Fr),Lr=Ir.now()+Ur)}function Fr(){Lr=0}function Yr(){this._call=this._time=this._next=null}function Br(t,n,e){var r=new Yr;return r.restart(t,n,e),r}function Hr(){jr(),++Or;for(var t,n=Ar;n;)(t=Lr-n._time)>=0&&n._call.call(null,t),n=n._next;--Or}function Xr(){Lr=(Rr=Ir.now())+Ur,Or=Dr=0;try{Hr()}finally{Or=0,function(){var t,n,e=Ar,r=1/0;for(;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:Ar=n);Nr=t,Wr(r)}(),Lr=0}}function Vr(){var t=Ir.now(),n=t-Rr;n>1e3&&(Ur-=n,Rr=t)}function Wr(t){Or||(Dr&&(Dr=clearTimeout(Dr)),t-Lr>24?(t<1/0&&(Dr=setTimeout(Xr,t-Ir.now()-Ur)),zr&&(zr=clearInterval(zr))):(zr||(Rr=Ir.now(),zr=setInterval(Vr,1e3)),Or=1,qr(Xr)))}Yr.prototype=Br.prototype={constructor:Yr,restart:function(t,n,e){if("function"!=typeof t)throw new TypeError("callback is not a function");e=(null==e?jr():+e)+(null==n?0:+n),this._next||Nr===this||(Nr?Nr._next=this:Ar=this,Nr=this),this._call=t,this._time=e,Wr()},stop:function(){this._call&&(this._call=null,this._time=1/0,Wr())}};var $r=function(t,n,e){var r=new Yr;return n=null==n?0:+n,r.restart((function(e){r.stop(),t(e+n)}),n,e),r},Zr=function(t,n,e){var r=new Yr,i=n;return null==n?(r.restart(t,n,e),r):(n=+n,e=null==e?jr():+e,r.restart((function o(u){u+=i,r.restart(o,i+=n,e),t(u)}),n,e),r)},Gr=st("start","end","interrupt"),Qr=[],Jr=function(t,n,e,r,i,o){var u=t.__transition;if(u){if(e in u)return}else t.__transition={};!function(t,n,e){var r,i=t.__transition;function o(c){var f,s,l,h;if(1!==e.state)return a();for(f in i)if((h=i[f]).name===e.name){if(3===h.state)return $r(o);4===h.state?(h.state=6,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete i[f]):+f<n&&(h.state=6,h.timer.stop(),delete i[f])}if($r((function(){3===e.state&&(e.state=4,e.timer.restart(u,e.delay,e.time),u(c))})),e.state=2,e.on.call("start",t,t.__data__,e.index,e.group),2===e.state){for(e.state=3,r=new Array(l=e.tween.length),f=0,s=-1;f<l;++f)(h=e.tween[f].value.call(t,t.__data__,e.index,e.group))&&(r[++s]=h);r.length=s+1}}function u(n){for(var i=n<e.duration?e.ease.call(null,n/e.duration):(e.timer.restart(a),e.state=5,1),o=-1,u=r.length;++o<u;)r[o].call(null,i);5===e.state&&(e.on.call("end",t,t.__data__,e.index,e.group),a())}function a(){for(var r in e.state=6,e.timer.stop(),delete i[n],i)return;delete t.__transition}i[n]=e,e.timer=Br((function(t){e.state=1,e.timer.restart(o,e.delay,e.time),e.delay<=t&&o(t-e.delay)}),0,e.time)}(t,e,{name:n,index:r,group:i,on:Gr,tween:Qr,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:0})};function Kr(t,n){var e=ni(t,n);if(e.state>0)throw new Error("too late; already scheduled");return e}function ti(t,n){var e=ni(t,n);if(e.state>2)throw new Error("too late; already started");return e}function ni(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("transition not found");return e}var ei=function(t,n){var e,r,i,o=t.__transition,u=!0;if(o){for(i in n=null==n?null:n+"",o)(e=o[i]).name===n?(r=e.state>2&&e.state<5,e.state=6,e.timer.stop(),r&&e.on.call("interrupt",t,t.__data__,e.index,e.group),delete o[i]):u=!1;u&&delete t.__transition}};function ri(t,n){var e,r;return function(){var i=ti(this,t),o=i.tween;if(o!==e)for(var u=0,a=(r=e=o).length;u<a;++u)if(r[u].name===n){(r=r.slice()).splice(u,1);break}i.tween=r}}function ii(t,n,e){var r,i;if("function"!=typeof e)throw new Error;return function(){var o=ti(this,t),u=o.tween;if(u!==r){i=(r=u).slice();for(var a={name:n,value:e},c=0,f=i.length;c<f;++c)if(i[c].name===n){i[c]=a;break}c===f&&i.push(a)}o.tween=i}}function oi(t,n,e){var r=t._id;return t.each((function(){var t=ti(this,r);(t.value||(t.value={}))[n]=e.apply(this,arguments)})),function(t){return ni(t,r).value[n]}}var ui=function(t,n){var e;return("number"==typeof n?Ke:n instanceof fe?We:(e=fe(n))?(n=e,We):ar)(t,n)};function ai(t){return function(){this.removeAttribute(t)}}function ci(t){return function(){this.removeAttributeNS(t.space,t.local)}}function fi(t,n,e){var r,i;return function(){var o=this.getAttribute(t);return o===e?null:o===r?i:i=n(r=o,e)}}function si(t,n,e){var r,i;return function(){var o=this.getAttributeNS(t.space,t.local);return o===e?null:o===r?i:i=n(r=o,e)}}function li(t,n,e){var r,i,o;return function(){var u,a=e(this);if(null!=a)return(u=this.getAttribute(t))===a?null:u===r&&a===i?o:o=n(r=u,i=a);this.removeAttribute(t)}}function hi(t,n,e){var r,i,o;return function(){var u,a=e(this);if(null!=a)return(u=this.getAttributeNS(t.space,t.local))===a?null:u===r&&a===i?o:o=n(r=u,i=a);this.removeAttributeNS(t.space,t.local)}}function di(t,n){function e(){var e=this,r=n.apply(e,arguments);return r&&function(n){e.setAttributeNS(t.space,t.local,r(n))}}return e._value=n,e}function pi(t,n){function e(){var e=this,r=n.apply(e,arguments);return r&&function(n){e.setAttribute(t,r(n))}}return e._value=n,e}function vi(t,n){return function(){Kr(this,t).delay=+n.apply(this,arguments)}}function yi(t,n){return n=+n,function(){Kr(this,t).delay=n}}function gi(t,n){return function(){ti(this,t).duration=+n.apply(this,arguments)}}function _i(t,n){return n=+n,function(){ti(this,t).duration=n}}function mi(t,n){if("function"!=typeof n)throw new Error;return function(){ti(this,t).ease=n}}function xi(t,n,e){var r,i,o=function(t){return(t+"").trim().split(/^|\s+/).every((function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||"start"===t}))}(n)?Kr:ti;return function(){var u=o(this,t),a=u.on;a!==r&&(i=(r=a).copy()).on(n,e),u.on=i}}var bi=Tn.prototype.constructor;function wi(t,n,e){function r(){var r=this,i=n.apply(r,arguments);return i&&function(n){r.style.setProperty(t,i(n),e)}}return r._value=n,r}var Mi=0;function ki(t,n,e,r){this._groups=t,this._parents=n,this._name=e,this._id=r}function Ti(t){return Tn().transition(t)}function Si(){return++Mi}var Ai=Tn.prototype;function Ni(t){return+t}function Ei(t){return t*t}function Ci(t){return t*(2-t)}function Pi(t){return((t*=2)<=1?t*t:--t*(2-t)+1)/2}function Oi(t){return t*t*t}function Di(t){return--t*t*t+1}function zi(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}ki.prototype=Ti.prototype={constructor:ki,select:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=_t(t));for(var r=this._groups,i=r.length,o=new Array(i),u=0;u<i;++u)for(var a,c,f=r[u],s=f.length,l=o[u]=new Array(s),h=0;h<s;++h)(a=f[h])&&(c=t.call(a,a.__data__,h,f))&&("__data__"in a&&(c.__data__=a.__data__),l[h]=c,Jr(l[h],n,e,h,l,ni(a,e)));return new ki(o,this._parents,n,e)},selectAll:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=xt(t));for(var r=this._groups,i=r.length,o=[],u=[],a=0;a<i;++a)for(var c,f=r[a],s=f.length,l=0;l<s;++l)if(c=f[l]){for(var h,d=t.call(c,c.__data__,l,f),p=ni(c,e),v=0,y=d.length;v<y;++v)(h=d[v])&&Jr(h,n,e,v,d,p);o.push(d),u.push(c)}return new ki(o,u,n,e)},filter:function(t){"function"!=typeof t&&(t=kt(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,u=n[i],a=u.length,c=r[i]=[],f=0;f<a;++f)(o=u[f])&&t.call(o,o.__data__,f,u)&&c.push(o);return new ki(r,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw new Error;for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),u=new Array(r),a=0;a<o;++a)for(var c,f=n[a],s=e[a],l=f.length,h=u[a]=new Array(l),d=0;d<l;++d)(c=f[d]||s[d])&&(h[d]=c);for(;a<r;++a)u[a]=n[a];return new ki(u,this._parents,this._name,this._id)},selection:function(){return new bi(this._groups,this._parents)},transition:function(){for(var t=this._name,n=this._id,e=Si(),r=this._groups,i=r.length,o=0;o<i;++o)for(var u,a=r[o],c=a.length,f=0;f<c;++f)if(u=a[f]){var s=ni(u,n);Jr(u,t,e,f,a,{time:s.time+s.delay+s.duration,delay:0,duration:s.duration,ease:s.ease})}return new ki(r,this._parents,t,e)},call:Ai.call,nodes:Ai.nodes,node:Ai.node,size:Ai.size,empty:Ai.empty,each:Ai.each,on:function(t,n){var e=this._id;return arguments.length<2?ni(this.node(),e).on.on(t):this.each(xi(e,t,n))},attr:function(t,n){var e=dt(t),r="transform"===e?vr:ui;return this.attrTween(t,"function"==typeof n?(e.local?hi:li)(e,r,oi(this,"attr."+t,n)):null==n?(e.local?ci:ai)(e):(e.local?si:fi)(e,r,n+""))},attrTween:function(t,n){var e="attr."+t;if(arguments.length<2)return(e=this.tween(e))&&e._value;if(null==n)return this.tween(e,null);if("function"!=typeof n)throw new Error;var r=dt(t);return this.tween(e,(r.local?di:pi)(r,n))},style:function(t,n,e){var r="transform"==(t+="")?pr:ui;return null==n?this.styleTween(t,function(t,n){var e,r,i;return function(){var o=jt(this,t),u=(this.style.removeProperty(t),jt(this,t));return o===u?null:o===e&&u===r?i:i=n(e=o,r=u)}}(t,r)).on("end.style."+t,function(t){return function(){this.style.removeProperty(t)}}(t)):this.styleTween(t,"function"==typeof n?function(t,n,e){var r,i,o;return function(){var u=jt(this,t),a=e(this);return null==a&&(this.style.removeProperty(t),a=jt(this,t)),u===a?null:u===r&&a===i?o:o=n(r=u,i=a)}}(t,r,oi(this,"style."+t,n)):function(t,n,e){var r,i;return function(){var o=jt(this,t);return o===e?null:o===r?i:i=n(r=o,e)}}(t,r,n+""),e)},styleTween:function(t,n,e){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==n)return this.tween(r,null);if("function"!=typeof n)throw new Error;return this.tween(r,wi(t,n,null==e?"":e))},text:function(t){return this.tween("text","function"==typeof t?function(t){return function(){var n=t(this);this.textContent=null==n?"":n}}(oi(this,"text",t)):function(t){return function(){this.textContent=t}}(null==t?"":t+""))},remove:function(){return this.on("end.remove",(t=this._id,function(){var n=this.parentNode;for(var e in this.__transition)if(+e!==t)return;n&&n.removeChild(this)}));var t},tween:function(t,n){var e=this._id;if(t+="",arguments.length<2){for(var r,i=ni(this.node(),e).tween,o=0,u=i.length;o<u;++o)if((r=i[o]).name===t)return r.value;return null}return this.each((null==n?ri:ii)(e,t,n))},delay:function(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?vi:yi)(n,t)):ni(this.node(),n).delay},duration:function(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?gi:_i)(n,t)):ni(this.node(),n).duration},ease:function(t){var n=this._id;return arguments.length?this.each(mi(n,t)):ni(this.node(),n).ease}};var Ri=function t(n){function e(t){return Math.pow(t,n)}return n=+n,e.exponent=t,e}(3),Li=function t(n){function e(t){return 1-Math.pow(1-t,n)}return n=+n,e.exponent=t,e}(3),Ui=function t(n){function e(t){return((t*=2)<=1?Math.pow(t,n):2-Math.pow(2-t,n))/2}return n=+n,e.exponent=t,e}(3),Ii=Math.PI,qi=Ii/2;function ji(t){return 1-Math.cos(t*qi)}function Fi(t){return Math.sin(t*qi)}function Yi(t){return(1-Math.cos(Ii*t))/2}function Bi(t){return Math.pow(2,10*t-10)}function Hi(t){return 1-Math.pow(2,-10*t)}function Xi(t){return((t*=2)<=1?Math.pow(2,10*t-10):2-Math.pow(2,10-10*t))/2}function Vi(t){return 1-Math.sqrt(1-t*t)}function Wi(t){return Math.sqrt(1- --t*t)}function $i(t){return((t*=2)<=1?1-Math.sqrt(1-t*t):Math.sqrt(1-(t-=2)*t)+1)/2}function Zi(t){return 1-Gi(1-t)}function Gi(t){return(t=+t)<4/11?7.5625*t*t:t<8/11?7.5625*(t-=6/11)*t+.75:t<10/11?7.5625*(t-=9/11)*t+.9375:7.5625*(t-=21/22)*t+63/64}function Qi(t){return((t*=2)<=1?1-Gi(1-t):Gi(t-1)+1)/2}var Ji=function t(n){function e(t){return t*t*((n+1)*t-n)}return n=+n,e.overshoot=t,e}(1.70158),Ki=function t(n){function e(t){return--t*t*((n+1)*t+n)+1}return n=+n,e.overshoot=t,e}(1.70158),to=function t(n){function e(t){return((t*=2)<1?t*t*((n+1)*t-n):(t-=2)*t*((n+1)*t+n)+2)/2}return n=+n,e.overshoot=t,e}(1.70158),no=2*Math.PI,eo=function t(n,e){var r=Math.asin(1/(n=Math.max(1,n)))*(e/=no);function i(t){return n*Math.pow(2,10*--t)*Math.sin((r-t)/e)}return i.amplitude=function(n){return t(n,e*no)},i.period=function(e){return t(n,e)},i}(1,.3),ro=function t(n,e){var r=Math.asin(1/(n=Math.max(1,n)))*(e/=no);function i(t){return 1-n*Math.pow(2,-10*(t=+t))*Math.sin((t+r)/e)}return i.amplitude=function(n){return t(n,e*no)},i.period=function(e){return t(n,e)},i}(1,.3),io=function t(n,e){var r=Math.asin(1/(n=Math.max(1,n)))*(e/=no);function i(t){return((t=2*t-1)<0?n*Math.pow(2,10*t)*Math.sin((r-t)/e):2-n*Math.pow(2,-10*t)*Math.sin((r+t)/e))/2}return i.amplitude=function(n){return t(n,e*no)},i.period=function(e){return t(n,e)},i}(1,.3),oo={time:null,delay:0,duration:250,ease:zi};function uo(t,n){for(var e;!(e=t.__transition)||!(e=e[n]);)if(!(t=t.parentNode))return oo.time=jr(),oo;return e}Tn.prototype.interrupt=function(t){return this.each((function(){ei(this,t)}))},Tn.prototype.transition=function(t){var n,e;t instanceof ki?(n=t._id,t=t._name):(n=Si(),(e=oo).time=jr(),t=null==t?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var u,a=r[o],c=a.length,f=0;f<c;++f)(u=a[f])&&Jr(u,t,n,f,a,e||uo(u,n));return new ki(r,this._parents,t,n)};var ao=[null],co=function(t,n){var e,r,i=t.__transition;if(i)for(r in n=null==n?null:n+"",i)if((e=i[r]).state>1&&e.name===n)return new ki([[t]],ao,n,+r);return null},fo=function(t){return function(){return t}},so=function(t,n,e){this.target=t,this.type=n,this.selection=e};function lo(){hn.stopImmediatePropagation()}var ho=function(){hn.preventDefault(),hn.stopImmediatePropagation()},po={name:"drag"},vo={name:"space"},yo={name:"handle"},go={name:"center"},_o={name:"x",handles:["e","w"].map(So),input:function(t,n){return t&&[[t[0],n[0][1]],[t[1],n[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},mo={name:"y",handles:["n","s"].map(So),input:function(t,n){return t&&[[n[0][0],t[0]],[n[1][0],t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},xo={name:"xy",handles:["n","e","s","w","nw","ne","se","sw"].map(So),input:function(t){return t},output:function(t){return t}},bo={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},wo={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},Mo={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},ko={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},To={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function So(t){return{type:t}}function Ao(){return!hn.button}function No(){var t=this.ownerSVGElement||this;return[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function Eo(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function Co(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function Po(t){var n=t.__brush;return n?n.dim.output(n.selection):null}function Oo(){return Ro(_o)}function Do(){return Ro(mo)}var zo=function(){return Ro(xo)};function Ro(t){var n,e=No,r=Ao,i=st(u,"start","brush","end"),o=6;function u(n){var e=n.property("__brush",l).selectAll(".overlay").data([So("overlay")]);e.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",bo.overlay).merge(e).each((function(){var t=Eo(this).extent;Sn(this).attr("x",t[0][0]).attr("y",t[0][1]).attr("width",t[1][0]-t[0][0]).attr("height",t[1][1]-t[0][1])})),n.selectAll(".selection").data([So("selection")]).enter().append("rect").attr("class","selection").attr("cursor",bo.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var r=n.selectAll(".handle").data(t.handles,(function(t){return t.type}));r.exit().remove(),r.enter().append("rect").attr("class",(function(t){return"handle handle--"+t.type})).attr("cursor",(function(t){return bo[t.type]})),n.each(a).attr("fill","none").attr("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush touchstart.brush",s)}function a(){var t=Sn(this),n=Eo(this).selection;n?(t.selectAll(".selection").style("display",null).attr("x",n[0][0]).attr("y",n[0][1]).attr("width",n[1][0]-n[0][0]).attr("height",n[1][1]-n[0][1]),t.selectAll(".handle").style("display",null).attr("x",(function(t){return"e"===t.type[t.type.length-1]?n[1][0]-o/2:n[0][0]-o/2})).attr("y",(function(t){return"s"===t.type[0]?n[1][1]-o/2:n[0][1]-o/2})).attr("width",(function(t){return"n"===t.type||"s"===t.type?n[1][0]-n[0][0]+o:o})).attr("height",(function(t){return"e"===t.type||"w"===t.type?n[1][1]-n[0][1]+o:o}))):t.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function c(t,n){return t.__brush.emitter||new f(t,n)}function f(t,n){this.that=t,this.args=n,this.state=t.__brush,this.active=0}function s(){if(hn.touches){if(hn.changedTouches.length<hn.touches.length)return ho()}else if(n)return;if(r.apply(this,arguments)){var e,i,o,u,f,s,l,h,d,p,v,y,g,_=this,m=hn.target.__data__.type,x="selection"===(hn.metaKey?m="overlay":m)?po:hn.altKey?go:yo,b=t===mo?null:ko[m],w=t===_o?null:To[m],M=Eo(_),k=M.extent,T=M.selection,S=k[0][0],A=k[0][1],N=k[1][0],E=k[1][1],C=b&&w&&hn.shiftKey,P=Dn(_),O=P,D=c(_,arguments).beforestart();"overlay"===m?M.selection=T=[[e=t===mo?S:P[0],o=t===_o?A:P[1]],[f=t===mo?N:e,l=t===_o?E:o]]:(e=T[0][0],o=T[0][1],f=T[1][0],l=T[1][1]),i=e,u=o,s=f,h=l;var z=Sn(_).attr("pointer-events","none"),R=z.selectAll(".overlay").attr("cursor",bo[m]);if(hn.touches)z.on("touchmove.brush",U,!0).on("touchend.brush touchcancel.brush",q,!0);else{var L=Sn(hn.view).on("keydown.brush",j,!0).on("keyup.brush",F,!0).on("mousemove.brush",U,!0).on("mouseup.brush",q,!0);qn(hn.view)}lo(),ei(_),a.call(_),D.start()}function U(){var t=Dn(_);!C||y||g||(Math.abs(t[0]-O[0])>Math.abs(t[1]-O[1])?g=!0:y=!0),O=t,v=!0,ho(),I()}function I(){var t;switch(d=O[0]-P[0],p=O[1]-P[1],x){case vo:case po:b&&(d=Math.max(S-e,Math.min(N-f,d)),i=e+d,s=f+d),w&&(p=Math.max(A-o,Math.min(E-l,p)),u=o+p,h=l+p);break;case yo:b<0?(d=Math.max(S-e,Math.min(N-e,d)),i=e+d,s=f):b>0&&(d=Math.max(S-f,Math.min(N-f,d)),i=e,s=f+d),w<0?(p=Math.max(A-o,Math.min(E-o,p)),u=o+p,h=l):w>0&&(p=Math.max(A-l,Math.min(E-l,p)),u=o,h=l+p);break;case go:b&&(i=Math.max(S,Math.min(N,e-d*b)),s=Math.max(S,Math.min(N,f+d*b))),w&&(u=Math.max(A,Math.min(E,o-p*w)),h=Math.max(A,Math.min(E,l+p*w)))}s<i&&(b*=-1,t=e,e=f,f=t,t=i,i=s,s=t,m in wo&&R.attr("cursor",bo[m=wo[m]])),h<u&&(w*=-1,t=o,o=l,l=t,t=u,u=h,h=t,m in Mo&&R.attr("cursor",bo[m=Mo[m]])),M.selection&&(T=M.selection),y&&(i=T[0][0],s=T[1][0]),g&&(u=T[0][1],h=T[1][1]),T[0][0]===i&&T[0][1]===u&&T[1][0]===s&&T[1][1]===h||(M.selection=[[i,u],[s,h]],a.call(_),D.brush())}function q(){if(lo(),hn.touches){if(hn.touches.length)return;n&&clearTimeout(n),n=setTimeout((function(){n=null}),500),z.on("touchmove.brush touchend.brush touchcancel.brush",null)}else jn(hn.view,v),L.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);z.attr("pointer-events","all"),R.attr("cursor",bo.overlay),M.selection&&(T=M.selection),Co(T)&&(M.selection=null,a.call(_)),D.end()}function j(){switch(hn.keyCode){case 16:C=b&&w;break;case 18:x===yo&&(b&&(f=s-d*b,e=i+d*b),w&&(l=h-p*w,o=u+p*w),x=go,I());break;case 32:x!==yo&&x!==go||(b<0?f=s-d:b>0&&(e=i-d),w<0?l=h-p:w>0&&(o=u-p),x=vo,R.attr("cursor",bo.selection),I());break;default:return}ho()}function F(){switch(hn.keyCode){case 16:C&&(y=g=C=!1,I());break;case 18:x===go&&(b<0?f=s:b>0&&(e=i),w<0?l=h:w>0&&(o=u),x=yo,I());break;case 32:x===vo&&(hn.altKey?(b&&(f=s-d*b,e=i+d*b),w&&(l=h-p*w,o=u+p*w),x=go):(b<0?f=s:b>0&&(e=i),w<0?l=h:w>0&&(o=u),x=yo),R.attr("cursor",bo[m]),I());break;default:return}ho()}}function l(){var n=this.__brush||{selection:null};return n.extent=e.apply(this,arguments),n.dim=t,n}return u.move=function(n,e){n.selection?n.on("start.brush",(function(){c(this,arguments).beforestart().start()})).on("interrupt.brush end.brush",(function(){c(this,arguments).end()})).tween("brush",(function(){var n=this,r=n.__brush,i=c(n,arguments),o=r.selection,u=t.input("function"==typeof e?e.apply(this,arguments):e,r.extent),f=cr(o,u);function s(t){r.selection=1===t&&Co(u)?null:f(t),a.call(n),i.brush()}return o&&u?s:s(1)})):n.each((function(){var n=this,r=arguments,i=n.__brush,o=t.input("function"==typeof e?e.apply(n,r):e,i.extent),u=c(n,r).beforestart();ei(n),i.selection=null==o||Co(o)?null:o,a.call(n),u.start().brush().end()}))},f.prototype={beforestart:function(){return 1==++this.active&&(this.state.emitter=this,this.starting=!0),this},start:function(){return this.starting&&(this.starting=!1,this.emit("start")),this},brush:function(){return this.emit("brush"),this},end:function(){return 0==--this.active&&(delete this.state.emitter,this.emit("end")),this},emit:function(n){_n(new so(u,n,t.output(this.state.selection)),i.apply,i,[n,this.that,this.args])}},u.extent=function(t){return arguments.length?(e="function"==typeof t?t:fo([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),u):e},u.filter=function(t){return arguments.length?(r="function"==typeof t?t:fo(!!t),u):r},u.handleSize=function(t){return arguments.length?(o=+t,u):o},u.on=function(){var t=i.on.apply(i,arguments);return t===i?u:t},u}var Lo=Math.cos,Uo=Math.sin,Io=Math.PI,qo=Io/2,jo=2*Io,Fo=Math.max;function Yo(t){return function(n,e){return t(n.source.value+n.target.value,e.source.value+e.target.value)}}var Bo=function(){var t=0,n=null,e=null,r=null;function i(i){var o,u,a,c,f,s,l=i.length,h=[],d=w(l),p=[],v=[],y=v.groups=new Array(l),g=new Array(l*l);for(o=0,f=-1;++f<l;){for(u=0,s=-1;++s<l;)u+=i[f][s];h.push(u),p.push(w(l)),o+=u}for(n&&d.sort((function(t,e){return n(h[t],h[e])})),e&&p.forEach((function(t,n){t.sort((function(t,r){return e(i[n][t],i[n][r])}))})),c=(o=Fo(0,jo-t*l)/o)?t:jo/l,u=0,f=-1;++f<l;){for(a=u,s=-1;++s<l;){var _=d[f],m=p[_][s],x=i[_][m],b=u,M=u+=x*o;g[m*l+_]={index:_,subindex:m,startAngle:b,endAngle:M,value:x}}y[_]={index:_,startAngle:a,endAngle:u,value:h[_]},u+=c}for(f=-1;++f<l;)for(s=f-1;++s<l;){var k=g[s*l+f],T=g[f*l+s];(k.value||T.value)&&v.push(k.value<T.value?{source:T,target:k}:{source:k,target:T})}return r?v.sort(r):v}return i.padAngle=function(n){return arguments.length?(t=Fo(0,n),i):t},i.sortGroups=function(t){return arguments.length?(n=t,i):n},i.sortSubgroups=function(t){return arguments.length?(e=t,i):e},i.sortChords=function(t){return arguments.length?(null==t?r=null:(r=Yo(t))._=t,i):r&&r._},i},Ho=Array.prototype.slice,Xo=function(t){return function(){return t}},Vo=Math.PI,Wo=2*Vo,$o=Wo-1e-6;function Zo(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function Go(){return new Zo}Zo.prototype=Go.prototype={constructor:Zo,moveTo:function(t,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,n){this._+="L"+(this._x1=+t)+","+(this._y1=+n)},quadraticCurveTo:function(t,n,e,r){this._+="Q"+ +t+","+ +n+","+(this._x1=+e)+","+(this._y1=+r)},bezierCurveTo:function(t,n,e,r,i,o){this._+="C"+ +t+","+ +n+","+ +e+","+ +r+","+(this._x1=+i)+","+(this._y1=+o)},arcTo:function(t,n,e,r,i){t=+t,n=+n,e=+e,r=+r,i=+i;var o=this._x1,u=this._y1,a=e-t,c=r-n,f=o-t,s=u-n,l=f*f+s*s;if(i<0)throw new Error("negative radius: "+i);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=n);else if(l>1e-6)if(Math.abs(s*a-c*f)>1e-6&&i){var h=e-o,d=r-u,p=a*a+c*c,v=h*h+d*d,y=Math.sqrt(p),g=Math.sqrt(l),_=i*Math.tan((Vo-Math.acos((p+l-v)/(2*y*g)))/2),m=_/g,x=_/y;Math.abs(m-1)>1e-6&&(this._+="L"+(t+m*f)+","+(n+m*s)),this._+="A"+i+","+i+",0,0,"+ +(s*h>f*d)+","+(this._x1=t+x*a)+","+(this._y1=n+x*c)}else this._+="L"+(this._x1=t)+","+(this._y1=n);else;},arc:function(t,n,e,r,i,o){t=+t,n=+n;var u=(e=+e)*Math.cos(r),a=e*Math.sin(r),c=t+u,f=n+a,s=1^o,l=o?r-i:i-r;if(e<0)throw new Error("negative radius: "+e);null===this._x1?this._+="M"+c+","+f:(Math.abs(this._x1-c)>1e-6||Math.abs(this._y1-f)>1e-6)&&(this._+="L"+c+","+f),e&&(l<0&&(l=l%Wo+Wo),l>$o?this._+="A"+e+","+e+",0,1,"+s+","+(t-u)+","+(n-a)+"A"+e+","+e+",0,1,"+s+","+(this._x1=c)+","+(this._y1=f):l>1e-6&&(this._+="A"+e+","+e+",0,"+ +(l>=Vo)+","+s+","+(this._x1=t+e*Math.cos(i))+","+(this._y1=n+e*Math.sin(i))))},rect:function(t,n,e,r){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)+"h"+ +e+"v"+ +r+"h"+-e+"Z"},toString:function(){return this._}};var Qo=Go;function Jo(t){return t.source}function Ko(t){return t.target}function tu(t){return t.radius}function nu(t){return t.startAngle}function eu(t){return t.endAngle}var ru=function(){var t=Jo,n=Ko,e=tu,r=nu,i=eu,o=null;function u(){var u,a=Ho.call(arguments),c=t.apply(this,a),f=n.apply(this,a),s=+e.apply(this,(a[0]=c,a)),l=r.apply(this,a)-qo,h=i.apply(this,a)-qo,d=s*Lo(l),p=s*Uo(l),v=+e.apply(this,(a[0]=f,a)),y=r.apply(this,a)-qo,g=i.apply(this,a)-qo;if(o||(o=u=Qo()),o.moveTo(d,p),o.arc(0,0,s,l,h),l===y&&h===g||(o.quadraticCurveTo(0,0,v*Lo(y),v*Uo(y)),o.arc(0,0,v,y,g)),o.quadraticCurveTo(0,0,d,p),o.closePath(),u)return o=null,u+""||null}return u.radius=function(t){return arguments.length?(e="function"==typeof t?t:Xo(+t),u):e},u.startAngle=function(t){return arguments.length?(r="function"==typeof t?t:Xo(+t),u):r},u.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:Xo(+t),u):i},u.source=function(n){return arguments.length?(t=n,u):t},u.target=function(t){return arguments.length?(n=t,u):n},u.context=function(t){return arguments.length?(o=null==t?null:t,u):o},u};function iu(){}function ou(t,n){var e=new iu;if(t instanceof iu)t.each((function(t,n){e.set(n,t)}));else if(Array.isArray(t)){var r,i=-1,o=t.length;if(null==n)for(;++i<o;)e.set(i,t[i]);else for(;++i<o;)e.set(n(r=t[i],i,t),r)}else if(t)for(var u in t)e.set(u,t[u]);return e}iu.prototype=ou.prototype={constructor:iu,has:function(t){return"$"+t in this},get:function(t){return this["$"+t]},set:function(t,n){return this["$"+t]=n,this},remove:function(t){var n="$"+t;return n in this&&delete this[n]},clear:function(){for(var t in this)"$"===t[0]&&delete this[t]},keys:function(){var t=[];for(var n in this)"$"===n[0]&&t.push(n.slice(1));return t},values:function(){var t=[];for(var n in this)"$"===n[0]&&t.push(this[n]);return t},entries:function(){var t=[];for(var n in this)"$"===n[0]&&t.push({key:n.slice(1),value:this[n]});return t},size:function(){var t=0;for(var n in this)"$"===n[0]&&++t;return t},empty:function(){for(var t in this)if("$"===t[0])return!1;return!0},each:function(t){for(var n in this)"$"===n[0]&&t(this[n],n.slice(1),this)}};var uu=ou,au=function(){var t,n,e,r=[],i=[];function o(e,i,u,a){if(i>=r.length)return null!=t&&e.sort(t),null!=n?n(e):e;for(var c,f,s,l=-1,h=e.length,d=r[i++],p=uu(),v=u();++l<h;)(s=p.get(c=d(f=e[l])+""))?s.push(f):p.set(c,[f]);return p.each((function(t,n){a(v,n,o(t,i,u,a))})),v}return e={object:function(t){return o(t,0,cu,fu)},map:function(t){return o(t,0,su,lu)},entries:function(t){return function t(e,o){if(++o>r.length)return e;var u,a=i[o-1];return null!=n&&o>=r.length?u=e.entries():(u=[],e.each((function(n,e){u.push({key:e,values:t(n,o)})}))),null!=a?u.sort((function(t,n){return a(t.key,n.key)})):u}(o(t,0,su,lu),0)},key:function(t){return r.push(t),e},sortKeys:function(t){return i[r.length-1]=t,e},sortValues:function(n){return t=n,e},rollup:function(t){return n=t,e}}};function cu(){return{}}function fu(t,n,e){t[n]=e}function su(){return uu()}function lu(t,n,e){t.set(n,e)}function hu(){}var du=uu.prototype;function pu(t,n){var e=new hu;if(t instanceof hu)t.each((function(t){e.add(t)}));else if(t){var r=-1,i=t.length;if(null==n)for(;++r<i;)e.add(t[r]);else for(;++r<i;)e.add(n(t[r],r,t))}return e}hu.prototype=pu.prototype={constructor:hu,has:du.has,add:function(t){return this["$"+(t+="")]=t,this},remove:du.remove,clear:du.clear,values:du.keys,size:du.size,empty:du.empty,each:du.each};var vu=pu,yu=function(t){var n=[];for(var e in t)n.push(e);return n},gu=function(t){var n=[];for(var e in t)n.push(t[e]);return n},_u=function(t){var n=[];for(var e in t)n.push({key:e,value:t[e]});return n},mu={},xu={};function bu(t){return new Function("d","return {"+t.map((function(t,n){return JSON.stringify(t)+": d["+n+"]"})).join(",")+"}")}var wu=function(t){var n=new RegExp('["'+t+"\n\r]"),e=t.charCodeAt(0);function r(t,n){var r,i=[],o=t.length,u=0,a=0,c=o<=0,f=!1;function s(){if(c)return xu;if(f)return f=!1,mu;var n,r,i=u;if(34===t.charCodeAt(i)){for(;u++<o&&34!==t.charCodeAt(u)||34===t.charCodeAt(++u););return(n=u)>=o?c=!0:10===(r=t.charCodeAt(u++))?f=!0:13===r&&(f=!0,10===t.charCodeAt(u)&&++u),t.slice(i+1,n-1).replace(/""/g,'"')}for(;u<o;){if(10===(r=t.charCodeAt(n=u++)))f=!0;else if(13===r)f=!0,10===t.charCodeAt(u)&&++u;else if(r!==e)continue;return t.slice(i,n)}return c=!0,t.slice(i,o)}for(10===t.charCodeAt(o-1)&&--o,13===t.charCodeAt(o-1)&&--o;(r=s())!==xu;){for(var l=[];r!==mu&&r!==xu;)l.push(r),r=s();n&&null==(l=n(l,a++))||i.push(l)}return i}function i(n){return n.map(o).join(t)}function o(t){return null==t?"":n.test(t+="")?'"'+t.replace(/"/g,'""')+'"':t}return{parse:function(t,n){var e,i,o=r(t,(function(t,r){if(e)return e(t,r-1);i=t,e=n?function(t,n){var e=bu(t);return function(r,i){return n(e(r),i,t)}}(t,n):bu(t)}));return o.columns=i||[],o},parseRows:r,format:function(n,e){return null==e&&(e=function(t){var n=Object.create(null),e=[];return t.forEach((function(t){for(var r in t)r in n||e.push(n[r]=r)})),e}(n)),[e.map(o).join(t)].concat(n.map((function(n){return e.map((function(t){return o(n[t])})).join(t)}))).join("\n")},formatRows:function(t){return t.map(i).join("\n")}}},Mu=wu(","),ku=Mu.parse,Tu=Mu.parseRows,Su=Mu.format,Au=Mu.formatRows,Nu=wu("\t"),Eu=Nu.parse,Cu=Nu.parseRows,Pu=Nu.format,Ou=Nu.formatRows,Du=function(t,n){var e;function r(){var r,i,o=e.length,u=0,a=0;for(r=0;r<o;++r)u+=(i=e[r]).x,a+=i.y;for(u=u/o-t,a=a/o-n,r=0;r<o;++r)(i=e[r]).x-=u,i.y-=a}return null==t&&(t=0),null==n&&(n=0),r.initialize=function(t){e=t},r.x=function(n){return arguments.length?(t=+n,r):t},r.y=function(t){return arguments.length?(n=+t,r):n},r},zu=function(t){return function(){return t}},Ru=function(){return 1e-6*(Math.random()-.5)};function Lu(t,n,e,r){if(isNaN(n)||isNaN(e))return t;var i,o,u,a,c,f,s,l,h,d=t._root,p={data:r},v=t._x0,y=t._y0,g=t._x1,_=t._y1;if(!d)return t._root=p,t;for(;d.length;)if((f=n>=(o=(v+g)/2))?v=o:g=o,(s=e>=(u=(y+_)/2))?y=u:_=u,i=d,!(d=d[l=s<<1|f]))return i[l]=p,t;if(a=+t._x.call(null,d.data),c=+t._y.call(null,d.data),n===a&&e===c)return p.next=d,i?i[l]=p:t._root=p,t;do{i=i?i[l]=new Array(4):t._root=new Array(4),(f=n>=(o=(v+g)/2))?v=o:g=o,(s=e>=(u=(y+_)/2))?y=u:_=u}while((l=s<<1|f)==(h=(c>=u)<<1|a>=o));return i[h]=d,i[l]=p,t}var Uu=function(t,n,e,r,i){this.node=t,this.x0=n,this.y0=e,this.x1=r,this.y1=i};function Iu(t){return t[0]}function qu(t){return t[1]}function ju(t,n,e){var r=new Fu(null==n?Iu:n,null==e?qu:e,NaN,NaN,NaN,NaN);return null==t?r:r.addAll(t)}function Fu(t,n,e,r,i,o){this._x=t,this._y=n,this._x0=e,this._y0=r,this._x1=i,this._y1=o,this._root=void 0}function Yu(t){for(var n={data:t.data},e=n;t=t.next;)e=e.next={data:t.data};return n}var Bu=ju.prototype=Fu.prototype;function Hu(t){return t.x+t.vx}function Xu(t){return t.y+t.vy}Bu.copy=function(){var t,n,e=new Fu(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return e;if(!r.length)return e._root=Yu(r),e;for(t=[{source:r,target:e._root=new Array(4)}];r=t.pop();)for(var i=0;i<4;++i)(n=r.source[i])&&(n.length?t.push({source:n,target:r.target[i]=new Array(4)}):r.target[i]=Yu(n));return e},Bu.add=function(t){var n=+this._x.call(null,t),e=+this._y.call(null,t);return Lu(this.cover(n,e),n,e,t)},Bu.addAll=function(t){var n,e,r,i,o=t.length,u=new Array(o),a=new Array(o),c=1/0,f=1/0,s=-1/0,l=-1/0;for(e=0;e<o;++e)isNaN(r=+this._x.call(null,n=t[e]))||isNaN(i=+this._y.call(null,n))||(u[e]=r,a[e]=i,r<c&&(c=r),r>s&&(s=r),i<f&&(f=i),i>l&&(l=i));for(s<c&&(c=this._x0,s=this._x1),l<f&&(f=this._y0,l=this._y1),this.cover(c,f).cover(s,l),e=0;e<o;++e)Lu(this,u[e],a[e],t[e]);return this},Bu.cover=function(t,n){if(isNaN(t=+t)||isNaN(n=+n))return this;var e=this._x0,r=this._y0,i=this._x1,o=this._y1;if(isNaN(e))i=(e=Math.floor(t))+1,o=(r=Math.floor(n))+1;else{if(!(e>t||t>i||r>n||n>o))return this;var u,a,c=i-e,f=this._root;switch(a=(n<(r+o)/2)<<1|t<(e+i)/2){case 0:do{(u=new Array(4))[a]=f,f=u}while(o=r+(c*=2),t>(i=e+c)||n>o);break;case 1:do{(u=new Array(4))[a]=f,f=u}while(o=r+(c*=2),(e=i-c)>t||n>o);break;case 2:do{(u=new Array(4))[a]=f,f=u}while(r=o-(c*=2),t>(i=e+c)||r>n);break;case 3:do{(u=new Array(4))[a]=f,f=u}while(r=o-(c*=2),(e=i-c)>t||r>n)}this._root&&this._root.length&&(this._root=f)}return this._x0=e,this._y0=r,this._x1=i,this._y1=o,this},Bu.data=function(){var t=[];return this.visit((function(n){if(!n.length)do{t.push(n.data)}while(n=n.next)})),t},Bu.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},Bu.find=function(t,n,e){var r,i,o,u,a,c,f,s=this._x0,l=this._y0,h=this._x1,d=this._y1,p=[],v=this._root;for(v&&p.push(new Uu(v,s,l,h,d)),null==e?e=1/0:(s=t-e,l=n-e,h=t+e,d=n+e,e*=e);c=p.pop();)if(!(!(v=c.node)||(i=c.x0)>h||(o=c.y0)>d||(u=c.x1)<s||(a=c.y1)<l))if(v.length){var y=(i+u)/2,g=(o+a)/2;p.push(new Uu(v[3],y,g,u,a),new Uu(v[2],i,g,y,a),new Uu(v[1],y,o,u,g),new Uu(v[0],i,o,y,g)),(f=(n>=g)<<1|t>=y)&&(c=p[p.length-1],p[p.length-1]=p[p.length-1-f],p[p.length-1-f]=c)}else{var _=t-+this._x.call(null,v.data),m=n-+this._y.call(null,v.data),x=_*_+m*m;if(x<e){var b=Math.sqrt(e=x);s=t-b,l=n-b,h=t+b,d=n+b,r=v.data}}return r},Bu.remove=function(t){if(isNaN(o=+this._x.call(null,t))||isNaN(u=+this._y.call(null,t)))return this;var n,e,r,i,o,u,a,c,f,s,l,h,d=this._root,p=this._x0,v=this._y0,y=this._x1,g=this._y1;if(!d)return this;if(d.length)for(;;){if((f=o>=(a=(p+y)/2))?p=a:y=a,(s=u>=(c=(v+g)/2))?v=c:g=c,n=d,!(d=d[l=s<<1|f]))return this;if(!d.length)break;(n[l+1&3]||n[l+2&3]||n[l+3&3])&&(e=n,h=l)}for(;d.data!==t;)if(r=d,!(d=d.next))return this;return(i=d.next)&&delete d.next,r?(i?r.next=i:delete r.next,this):n?(i?n[l]=i:delete n[l],(d=n[0]||n[1]||n[2]||n[3])&&d===(n[3]||n[2]||n[1]||n[0])&&!d.length&&(e?e[h]=d:this._root=d),this):(this._root=i,this)},Bu.removeAll=function(t){for(var n=0,e=t.length;n<e;++n)this.remove(t[n]);return this},Bu.root=function(){return this._root},Bu.size=function(){var t=0;return this.visit((function(n){if(!n.length)do{++t}while(n=n.next)})),t},Bu.visit=function(t){var n,e,r,i,o,u,a=[],c=this._root;for(c&&a.push(new Uu(c,this._x0,this._y0,this._x1,this._y1));n=a.pop();)if(!t(c=n.node,r=n.x0,i=n.y0,o=n.x1,u=n.y1)&&c.length){var f=(r+o)/2,s=(i+u)/2;(e=c[3])&&a.push(new Uu(e,f,s,o,u)),(e=c[2])&&a.push(new Uu(e,r,s,f,u)),(e=c[1])&&a.push(new Uu(e,f,i,o,s)),(e=c[0])&&a.push(new Uu(e,r,i,f,s))}return this},Bu.visitAfter=function(t){var n,e=[],r=[];for(this._root&&e.push(new Uu(this._root,this._x0,this._y0,this._x1,this._y1));n=e.pop();){var i=n.node;if(i.length){var o,u=n.x0,a=n.y0,c=n.x1,f=n.y1,s=(u+c)/2,l=(a+f)/2;(o=i[0])&&e.push(new Uu(o,u,a,s,l)),(o=i[1])&&e.push(new Uu(o,s,a,c,l)),(o=i[2])&&e.push(new Uu(o,u,l,s,f)),(o=i[3])&&e.push(new Uu(o,s,l,c,f))}r.push(n)}for(;n=r.pop();)t(n.node,n.x0,n.y0,n.x1,n.y1);return this},Bu.x=function(t){return arguments.length?(this._x=t,this):this._x},Bu.y=function(t){return arguments.length?(this._y=t,this):this._y};var Vu=function(t){var n,e,r=1,i=1;function o(){for(var t,o,a,c,f,s,l,h=n.length,d=0;d<i;++d)for(o=ju(n,Hu,Xu).visitAfter(u),t=0;t<h;++t)a=n[t],s=e[a.index],l=s*s,c=a.x+a.vx,f=a.y+a.vy,o.visit(p);function p(t,n,e,i,o){var u=t.data,h=t.r,d=s+h;if(!u)return n>c+d||i<c-d||e>f+d||o<f-d;if(u.index>a.index){var p=c-u.x-u.vx,v=f-u.y-u.vy,y=p*p+v*v;y<d*d&&(0===p&&(y+=(p=Ru())*p),0===v&&(y+=(v=Ru())*v),y=(d-(y=Math.sqrt(y)))/y*r,a.vx+=(p*=y)*(d=(h*=h)/(l+h)),a.vy+=(v*=y)*d,u.vx-=p*(d=1-d),u.vy-=v*d)}}}function u(t){if(t.data)return t.r=e[t.data.index];for(var n=t.r=0;n<4;++n)t[n]&&t[n].r>t.r&&(t.r=t[n].r)}function a(){if(n){var r,i,o=n.length;for(e=new Array(o),r=0;r<o;++r)i=n[r],e[i.index]=+t(i,r,n)}}return"function"!=typeof t&&(t=zu(null==t?1:+t)),o.initialize=function(t){n=t,a()},o.iterations=function(t){return arguments.length?(i=+t,o):i},o.strength=function(t){return arguments.length?(r=+t,o):r},o.radius=function(n){return arguments.length?(t="function"==typeof n?n:zu(+n),a(),o):t},o};function Wu(t){return t.index}function $u(t,n){var e=t.get(n);if(!e)throw new Error("missing: "+n);return e}var Zu=function(t){var n,e,r,i,o,u=Wu,a=function(t){return 1/Math.min(i[t.source.index],i[t.target.index])},c=zu(30),f=1;function s(r){for(var i=0,u=t.length;i<f;++i)for(var a,c,s,l,h,d,p,v=0;v<u;++v)c=(a=t[v]).source,l=(s=a.target).x+s.vx-c.x-c.vx||Ru(),h=s.y+s.vy-c.y-c.vy||Ru(),l*=d=((d=Math.sqrt(l*l+h*h))-e[v])/d*r*n[v],h*=d,s.vx-=l*(p=o[v]),s.vy-=h*p,c.vx+=l*(p=1-p),c.vy+=h*p}function l(){if(r){var a,c,f=r.length,s=t.length,l=uu(r,u);for(a=0,i=new Array(f);a<s;++a)(c=t[a]).index=a,"object"!=typeof c.source&&(c.source=$u(l,c.source)),"object"!=typeof c.target&&(c.target=$u(l,c.target)),i[c.source.index]=(i[c.source.index]||0)+1,i[c.target.index]=(i[c.target.index]||0)+1;for(a=0,o=new Array(s);a<s;++a)c=t[a],o[a]=i[c.source.index]/(i[c.source.index]+i[c.target.index]);n=new Array(s),h(),e=new Array(s),d()}}function h(){if(r)for(var e=0,i=t.length;e<i;++e)n[e]=+a(t[e],e,t)}function d(){if(r)for(var n=0,i=t.length;n<i;++n)e[n]=+c(t[n],n,t)}return null==t&&(t=[]),s.initialize=function(t){r=t,l()},s.links=function(n){return arguments.length?(t=n,l(),s):t},s.id=function(t){return arguments.length?(u=t,s):u},s.iterations=function(t){return arguments.length?(f=+t,s):f},s.strength=function(t){return arguments.length?(a="function"==typeof t?t:zu(+t),h(),s):a},s.distance=function(t){return arguments.length?(c="function"==typeof t?t:zu(+t),d(),s):c},s};function Gu(t){return t.x}function Qu(t){return t.y}var Ju,Ku=Math.PI*(3-Math.sqrt(5)),ta=function(t){var n,e=1,r=.001,i=1-Math.pow(r,1/300),o=0,u=.6,a=uu(),c=Br(s),f=st("tick","end");function s(){l(),f.call("tick",n),e<r&&(c.stop(),f.call("end",n))}function l(){var n,r,c=t.length;for(e+=(o-e)*i,a.each((function(t){t(e)})),n=0;n<c;++n)null==(r=t[n]).fx?r.x+=r.vx*=u:(r.x=r.fx,r.vx=0),null==r.fy?r.y+=r.vy*=u:(r.y=r.fy,r.vy=0)}function h(){for(var n,e=0,r=t.length;e<r;++e){if((n=t[e]).index=e,isNaN(n.x)||isNaN(n.y)){var i=10*Math.sqrt(e),o=e*Ku;n.x=i*Math.cos(o),n.y=i*Math.sin(o)}(isNaN(n.vx)||isNaN(n.vy))&&(n.vx=n.vy=0)}}function d(n){return n.initialize&&n.initialize(t),n}return null==t&&(t=[]),h(),n={tick:l,restart:function(){return c.restart(s),n},stop:function(){return c.stop(),n},nodes:function(e){return arguments.length?(t=e,h(),a.each(d),n):t},alpha:function(t){return arguments.length?(e=+t,n):e},alphaMin:function(t){return arguments.length?(r=+t,n):r},alphaDecay:function(t){return arguments.length?(i=+t,n):+i},alphaTarget:function(t){return arguments.length?(o=+t,n):o},velocityDecay:function(t){return arguments.length?(u=1-t,n):1-u},force:function(t,e){return arguments.length>1?(null==e?a.remove(t):a.set(t,d(e)),n):a.get(t)},find:function(n,e,r){var i,o,u,a,c,f=0,s=t.length;for(null==r?r=1/0:r*=r,f=0;f<s;++f)(u=(i=n-(a=t[f]).x)*i+(o=e-a.y)*o)<r&&(c=a,r=u);return c},on:function(t,e){return arguments.length>1?(f.on(t,e),n):f.on(t)}}},na=function(){var t,n,e,r,i=zu(-30),o=1,u=1/0,a=.81;function c(r){var i,o=t.length,u=ju(t,Gu,Qu).visitAfter(s);for(e=r,i=0;i<o;++i)n=t[i],u.visit(l)}function f(){if(t){var n,e,o=t.length;for(r=new Array(o),n=0;n<o;++n)e=t[n],r[e.index]=+i(e,n,t)}}function s(t){var n,e,i,o,u,a=0,c=0;if(t.length){for(i=o=u=0;u<4;++u)(n=t[u])&&(e=Math.abs(n.value))&&(a+=n.value,c+=e,i+=e*n.x,o+=e*n.y);t.x=i/c,t.y=o/c}else{(n=t).x=n.data.x,n.y=n.data.y;do{a+=r[n.data.index]}while(n=n.next)}t.value=a}function l(t,i,c,f){if(!t.value)return!0;var s=t.x-n.x,l=t.y-n.y,h=f-i,d=s*s+l*l;if(h*h/a<d)return d<u&&(0===s&&(d+=(s=Ru())*s),0===l&&(d+=(l=Ru())*l),d<o&&(d=Math.sqrt(o*d)),n.vx+=s*t.value*e/d,n.vy+=l*t.value*e/d),!0;if(!(t.length||d>=u)){(t.data!==n||t.next)&&(0===s&&(d+=(s=Ru())*s),0===l&&(d+=(l=Ru())*l),d<o&&(d=Math.sqrt(o*d)));do{t.data!==n&&(h=r[t.data.index]*e/d,n.vx+=s*h,n.vy+=l*h)}while(t=t.next)}}return c.initialize=function(n){t=n,f()},c.strength=function(t){return arguments.length?(i="function"==typeof t?t:zu(+t),f(),c):i},c.distanceMin=function(t){return arguments.length?(o=t*t,c):Math.sqrt(o)},c.distanceMax=function(t){return arguments.length?(u=t*t,c):Math.sqrt(u)},c.theta=function(t){return arguments.length?(a=t*t,c):Math.sqrt(a)},c},ea=function(t,n,e){var r,i,o,u=zu(.1);function a(t){for(var u=0,a=r.length;u<a;++u){var c=r[u],f=c.x-n||1e-6,s=c.y-e||1e-6,l=Math.sqrt(f*f+s*s),h=(o[u]-l)*i[u]*t/l;c.vx+=f*h,c.vy+=s*h}}function c(){if(r){var n,e=r.length;for(i=new Array(e),o=new Array(e),n=0;n<e;++n)o[n]=+t(r[n],n,r),i[n]=isNaN(o[n])?0:+u(r[n],n,r)}}return"function"!=typeof t&&(t=zu(+t)),null==n&&(n=0),null==e&&(e=0),a.initialize=function(t){r=t,c()},a.strength=function(t){return arguments.length?(u="function"==typeof t?t:zu(+t),c(),a):u},a.radius=function(n){return arguments.length?(t="function"==typeof n?n:zu(+n),c(),a):t},a.x=function(t){return arguments.length?(n=+t,a):n},a.y=function(t){return arguments.length?(e=+t,a):e},a},ra=function(t){var n,e,r,i=zu(.1);function o(t){for(var i,o=0,u=n.length;o<u;++o)(i=n[o]).vx+=(r[o]-i.x)*e[o]*t}function u(){if(n){var o,u=n.length;for(e=new Array(u),r=new Array(u),o=0;o<u;++o)e[o]=isNaN(r[o]=+t(n[o],o,n))?0:+i(n[o],o,n)}}return"function"!=typeof t&&(t=zu(null==t?0:+t)),o.initialize=function(t){n=t,u()},o.strength=function(t){return arguments.length?(i="function"==typeof t?t:zu(+t),u(),o):i},o.x=function(n){return arguments.length?(t="function"==typeof n?n:zu(+n),u(),o):t},o},ia=function(t){var n,e,r,i=zu(.1);function o(t){for(var i,o=0,u=n.length;o<u;++o)(i=n[o]).vy+=(r[o]-i.y)*e[o]*t}function u(){if(n){var o,u=n.length;for(e=new Array(u),r=new Array(u),o=0;o<u;++o)e[o]=isNaN(r[o]=+t(n[o],o,n))?0:+i(n[o],o,n)}}return"function"!=typeof t&&(t=zu(null==t?0:+t)),o.initialize=function(t){n=t,u()},o.strength=function(t){return arguments.length?(i="function"==typeof t?t:zu(+t),u(),o):i},o.y=function(n){return arguments.length?(t="function"==typeof n?n:zu(+n),u(),o):t},o},oa=function(t,n){if((e=(t=n?t.toExponential(n-1):t.toExponential()).indexOf("e"))<0)return null;var e,r=t.slice(0,e);return[r.length>1?r[0]+r.slice(2):r,+t.slice(e+1)]},ua=function(t){return(t=oa(Math.abs(t)))?t[1]:NaN},aa=function(t,n){var e=oa(t,n);if(!e)return t+"";var r=e[0],i=e[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")},ca={"":function(t,n){t:for(var e,r=(t=t.toPrecision(n)).length,i=1,o=-1;i<r;++i)switch(t[i]){case".":o=e=i;break;case"0":0===o&&(o=i),e=i;break;case"e":break t;default:o>0&&(o=0)}return o>0?t.slice(0,o)+t.slice(e+1):t},"%":function(t,n){return(100*t).toFixed(n)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.round(t).toString(10)},e:function(t,n){return t.toExponential(n)},f:function(t,n){return t.toFixed(n)},g:function(t,n){return t.toPrecision(n)},o:function(t){return Math.round(t).toString(8)},p:function(t,n){return aa(100*t,n)},r:aa,s:function(t,n){var e=oa(t,n);if(!e)return t+"";var r=e[0],i=e[1],o=i-(Ju=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,u=r.length;return o===u?r:o>u?r+new Array(o-u+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+oa(t,Math.max(0,n+o-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}},fa=/^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i;function sa(t){return new la(t)}function la(t){if(!(n=fa.exec(t)))throw new Error("invalid format: "+t);var n,e=n[1]||" ",r=n[2]||">",i=n[3]||"-",o=n[4]||"",u=!!n[5],a=n[6]&&+n[6],c=!!n[7],f=n[8]&&+n[8].slice(1),s=n[9]||"";"n"===s?(c=!0,s="g"):ca[s]||(s=""),(u||"0"===e&&"="===r)&&(u=!0,e="0",r="="),this.fill=e,this.align=r,this.sign=i,this.symbol=o,this.zero=u,this.width=a,this.comma=c,this.precision=f,this.type=s}sa.prototype=la.prototype,la.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(null==this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(null==this.precision?"":"."+Math.max(0,0|this.precision))+this.type};var ha,da,pa,va=function(t){return t},ya=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"],ga=function(t){var n,e,r=t.grouping&&t.thousands?(n=t.grouping,e=t.thousands,function(t,r){for(var i=t.length,o=[],u=0,a=n[0],c=0;i>0&&a>0&&(c+a+1>r&&(a=Math.max(1,r-c)),o.push(t.substring(i-=a,i+a)),!((c+=a+1)>r));)a=n[u=(u+1)%n.length];return o.reverse().join(e)}):va,i=t.currency,o=t.decimal,u=t.numerals?function(t){return function(n){return n.replace(/[0-9]/g,(function(n){return t[+n]}))}}(t.numerals):va,a=t.percent||"%";function c(t){var n=(t=sa(t)).fill,e=t.align,c=t.sign,f=t.symbol,s=t.zero,l=t.width,h=t.comma,d=t.precision,p=t.type,v="$"===f?i[0]:"#"===f&&/[boxX]/.test(p)?"0"+p.toLowerCase():"",y="$"===f?i[1]:/[%p]/.test(p)?a:"",g=ca[p],_=!p||/[defgprs%]/.test(p);function m(t){var i,a,f,m=v,x=y;if("c"===p)x=g(t)+x,t="";else{var b=(t=+t)<0;if(t=g(Math.abs(t),d),b&&0==+t&&(b=!1),m=(b?"("===c?c:"-":"-"===c||"("===c?"":c)+m,x=("s"===p?ya[8+Ju/3]:"")+x+(b&&"("===c?")":""),_)for(i=-1,a=t.length;++i<a;)if(48>(f=t.charCodeAt(i))||f>57){x=(46===f?o+t.slice(i+1):t.slice(i))+x,t=t.slice(0,i);break}}h&&!s&&(t=r(t,1/0));var w=m.length+t.length+x.length,M=w<l?new Array(l-w+1).join(n):"";switch(h&&s&&(t=r(M+t,M.length?l-x.length:1/0),M=""),e){case"<":t=m+t+x+M;break;case"=":t=m+M+t+x;break;case"^":t=M.slice(0,w=M.length>>1)+m+t+x+M.slice(w);break;default:t=M+m+t+x}return u(t)}return d=null==d?p?6:12:/[gprs]/.test(p)?Math.max(1,Math.min(21,d)):Math.max(0,Math.min(20,d)),m.toString=function(){return t+""},m}return{format:c,formatPrefix:function(t,n){var e=c(((t=sa(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(ua(n)/3))),i=Math.pow(10,-r),o=ya[8+r/3];return function(t){return e(i*t)+o}}}};function _a(t){return ha=ga(t),da=ha.format,pa=ha.formatPrefix,ha}_a({decimal:".",thousands:",",grouping:[3],currency:["$",""]});var ma=function(t){return Math.max(0,-ua(Math.abs(t)))},xa=function(t,n){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(ua(n)/3)))-ua(Math.abs(t)))},ba=function(t,n){return t=Math.abs(t),n=Math.abs(n)-t,Math.max(0,ua(n)-ua(t))+1},wa=function(){return new Ma};function Ma(){this.reset()}Ma.prototype={constructor:Ma,reset:function(){this.s=this.t=0},add:function(t){Ta(ka,t,this.t),Ta(this,ka.s,this.s),this.s?this.t+=ka.t:this.s=ka.t},valueOf:function(){return this.s}};var ka=new Ma;function Ta(t,n,e){var r=t.s=n+e,i=r-n,o=r-i;t.t=n-o+(e-i)}var Sa=Math.PI,Aa=Sa/2,Na=Sa/4,Ea=2*Sa,Ca=180/Sa,Pa=Sa/180,Oa=Math.abs,Da=Math.atan,za=Math.atan2,Ra=Math.cos,La=Math.ceil,Ua=Math.exp,Ia=(Math.floor,Math.log),qa=Math.pow,ja=Math.sin,Fa=Math.sign||function(t){return t>0?1:t<0?-1:0},Ya=Math.sqrt,Ba=Math.tan;function Ha(t){return t>1?0:t<-1?Sa:Math.acos(t)}function Xa(t){return t>1?Aa:t<-1?-Aa:Math.asin(t)}function Va(t){return(t=ja(t/2))*t}function Wa(){}function $a(t,n){t&&Ga.hasOwnProperty(t.type)&&Ga[t.type](t,n)}var Za={Feature:function(t,n){$a(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,i=e.length;++r<i;)$a(e[r].geometry,n)}},Ga={Sphere:function(t,n){n.sphere()},Point:function(t,n){t=t.coordinates,n.point(t[0],t[1],t[2])},MultiPoint:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)t=e[r],n.point(t[0],t[1],t[2])},LineString:function(t,n){Qa(t.coordinates,n,0)},MultiLineString:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)Qa(e[r],n,0)},Polygon:function(t,n){Ja(t.coordinates,n)},MultiPolygon:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)Ja(e[r],n)},GeometryCollection:function(t,n){for(var e=t.geometries,r=-1,i=e.length;++r<i;)$a(e[r],n)}};function Qa(t,n,e){var r,i=-1,o=t.length-e;for(n.lineStart();++i<o;)r=t[i],n.point(r[0],r[1],r[2]);n.lineEnd()}function Ja(t,n){var e=-1,r=t.length;for(n.polygonStart();++e<r;)Qa(t[e],n,1);n.polygonEnd()}var Ka,tc,nc,ec,rc,ic=function(t,n){t&&Za.hasOwnProperty(t.type)?Za[t.type](t,n):$a(t,n)},oc=wa(),uc=wa(),ac={point:Wa,lineStart:Wa,lineEnd:Wa,polygonStart:function(){oc.reset(),ac.lineStart=cc,ac.lineEnd=fc},polygonEnd:function(){var t=+oc;uc.add(t<0?Ea+t:t),this.lineStart=this.lineEnd=this.point=Wa},sphere:function(){uc.add(Ea)}};function cc(){ac.point=sc}function fc(){lc(Ka,tc)}function sc(t,n){ac.point=lc,Ka=t,tc=n,nc=t*=Pa,ec=Ra(n=(n*=Pa)/2+Na),rc=ja(n)}function lc(t,n){var e=(t*=Pa)-nc,r=e>=0?1:-1,i=r*e,o=Ra(n=(n*=Pa)/2+Na),u=ja(n),a=rc*u,c=ec*o+a*Ra(i),f=a*r*ja(i);oc.add(za(f,c)),nc=t,ec=o,rc=u}var hc=function(t){return uc.reset(),ic(t,ac),2*uc};function dc(t){return[za(t[1],t[0]),Xa(t[2])]}function pc(t){var n=t[0],e=t[1],r=Ra(e);return[r*Ra(n),r*ja(n),ja(e)]}function vc(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function yc(t,n){return[t[1]*n[2]-t[2]*n[1],t[2]*n[0]-t[0]*n[2],t[0]*n[1]-t[1]*n[0]]}function gc(t,n){t[0]+=n[0],t[1]+=n[1],t[2]+=n[2]}function _c(t,n){return[t[0]*n,t[1]*n,t[2]*n]}function mc(t){var n=Ya(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=n,t[1]/=n,t[2]/=n}var xc,bc,wc,Mc,kc,Tc,Sc,Ac,Nc,Ec,Cc=wa(),Pc={point:Oc,lineStart:zc,lineEnd:Rc,polygonStart:function(){Pc.point=Lc,Pc.lineStart=Uc,Pc.lineEnd=Ic,Cc.reset(),ac.polygonStart()},polygonEnd:function(){ac.polygonEnd(),Pc.point=Oc,Pc.lineStart=zc,Pc.lineEnd=Rc,oc<0?(xc=-(wc=180),bc=-(Mc=90)):Cc>1e-6?Mc=90:Cc<-1e-6&&(bc=-90),Ec[0]=xc,Ec[1]=wc}};function Oc(t,n){Nc.push(Ec=[xc=t,wc=t]),n<bc&&(bc=n),n>Mc&&(Mc=n)}function Dc(t,n){var e=pc([t*Pa,n*Pa]);if(Ac){var r=yc(Ac,e),i=yc([r[1],-r[0],0],r);mc(i),i=dc(i);var o,u=t-kc,a=u>0?1:-1,c=i[0]*Ca*a,f=Oa(u)>180;f^(a*kc<c&&c<a*t)?(o=i[1]*Ca)>Mc&&(Mc=o):f^(a*kc<(c=(c+360)%360-180)&&c<a*t)?(o=-i[1]*Ca)<bc&&(bc=o):(n<bc&&(bc=n),n>Mc&&(Mc=n)),f?t<kc?qc(xc,t)>qc(xc,wc)&&(wc=t):qc(t,wc)>qc(xc,wc)&&(xc=t):wc>=xc?(t<xc&&(xc=t),t>wc&&(wc=t)):t>kc?qc(xc,t)>qc(xc,wc)&&(wc=t):qc(t,wc)>qc(xc,wc)&&(xc=t)}else Nc.push(Ec=[xc=t,wc=t]);n<bc&&(bc=n),n>Mc&&(Mc=n),Ac=e,kc=t}function zc(){Pc.point=Dc}function Rc(){Ec[0]=xc,Ec[1]=wc,Pc.point=Oc,Ac=null}function Lc(t,n){if(Ac){var e=t-kc;Cc.add(Oa(e)>180?e+(e>0?360:-360):e)}else Tc=t,Sc=n;ac.point(t,n),Dc(t,n)}function Uc(){ac.lineStart()}function Ic(){Lc(Tc,Sc),ac.lineEnd(),Oa(Cc)>1e-6&&(xc=-(wc=180)),Ec[0]=xc,Ec[1]=wc,Ac=null}function qc(t,n){return(n-=t)<0?n+360:n}function jc(t,n){return t[0]-n[0]}function Fc(t,n){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:n<t[0]||t[1]<n}var Yc,Bc,Hc,Xc,Vc,Wc,$c,Zc,Gc,Qc,Jc,Kc,tf,nf,ef,rf,of=function(t){var n,e,r,i,o,u,a;if(Mc=wc=-(xc=bc=1/0),Nc=[],ic(t,Pc),e=Nc.length){for(Nc.sort(jc),n=1,o=[r=Nc[0]];n<e;++n)Fc(r,(i=Nc[n])[0])||Fc(r,i[1])?(qc(r[0],i[1])>qc(r[0],r[1])&&(r[1]=i[1]),qc(i[0],r[1])>qc(r[0],r[1])&&(r[0]=i[0])):o.push(r=i);for(u=-1/0,n=0,r=o[e=o.length-1];n<=e;r=i,++n)i=o[n],(a=qc(r[1],i[0]))>u&&(u=a,xc=i[0],wc=r[1])}return Nc=Ec=null,xc===1/0||bc===1/0?[[NaN,NaN],[NaN,NaN]]:[[xc,bc],[wc,Mc]]},uf={sphere:Wa,point:af,lineStart:ff,lineEnd:hf,polygonStart:function(){uf.lineStart=df,uf.lineEnd=pf},polygonEnd:function(){uf.lineStart=ff,uf.lineEnd=hf}};function af(t,n){t*=Pa;var e=Ra(n*=Pa);cf(e*Ra(t),e*ja(t),ja(n))}function cf(t,n,e){++Yc,Hc+=(t-Hc)/Yc,Xc+=(n-Xc)/Yc,Vc+=(e-Vc)/Yc}function ff(){uf.point=sf}function sf(t,n){t*=Pa;var e=Ra(n*=Pa);nf=e*Ra(t),ef=e*ja(t),rf=ja(n),uf.point=lf,cf(nf,ef,rf)}function lf(t,n){t*=Pa;var e=Ra(n*=Pa),r=e*Ra(t),i=e*ja(t),o=ja(n),u=za(Ya((u=ef*o-rf*i)*u+(u=rf*r-nf*o)*u+(u=nf*i-ef*r)*u),nf*r+ef*i+rf*o);Bc+=u,Wc+=u*(nf+(nf=r)),$c+=u*(ef+(ef=i)),Zc+=u*(rf+(rf=o)),cf(nf,ef,rf)}function hf(){uf.point=af}function df(){uf.point=vf}function pf(){yf(Kc,tf),uf.point=af}function vf(t,n){Kc=t,tf=n,t*=Pa,n*=Pa,uf.point=yf;var e=Ra(n);nf=e*Ra(t),ef=e*ja(t),rf=ja(n),cf(nf,ef,rf)}function yf(t,n){t*=Pa;var e=Ra(n*=Pa),r=e*Ra(t),i=e*ja(t),o=ja(n),u=ef*o-rf*i,a=rf*r-nf*o,c=nf*i-ef*r,f=Ya(u*u+a*a+c*c),s=Xa(f),l=f&&-s/f;Gc+=l*u,Qc+=l*a,Jc+=l*c,Bc+=s,Wc+=s*(nf+(nf=r)),$c+=s*(ef+(ef=i)),Zc+=s*(rf+(rf=o)),cf(nf,ef,rf)}var gf=function(t){Yc=Bc=Hc=Xc=Vc=Wc=$c=Zc=Gc=Qc=Jc=0,ic(t,uf);var n=Gc,e=Qc,r=Jc,i=n*n+e*e+r*r;return i<1e-12&&(n=Wc,e=$c,r=Zc,Bc<1e-6&&(n=Hc,e=Xc,r=Vc),(i=n*n+e*e+r*r)<1e-12)?[NaN,NaN]:[za(e,n)*Ca,Xa(r/Ya(i))*Ca]},_f=function(t){return function(){return t}},mf=function(t,n){function e(e,r){return e=t(e,r),n(e[0],e[1])}return t.invert&&n.invert&&(e.invert=function(e,r){return(e=n.invert(e,r))&&t.invert(e[0],e[1])}),e};function xf(t,n){return[t>Sa?t-Ea:t<-Sa?t+Ea:t,n]}function bf(t,n,e){return(t%=Ea)?n||e?mf(Mf(t),kf(n,e)):Mf(t):n||e?kf(n,e):xf}function wf(t){return function(n,e){return[(n+=t)>Sa?n-Ea:n<-Sa?n+Ea:n,e]}}function Mf(t){var n=wf(t);return n.invert=wf(-t),n}function kf(t,n){var e=Ra(t),r=ja(t),i=Ra(n),o=ja(n);function u(t,n){var u=Ra(n),a=Ra(t)*u,c=ja(t)*u,f=ja(n),s=f*e+a*r;return[za(c*i-s*o,a*e-f*r),Xa(s*i+c*o)]}return u.invert=function(t,n){var u=Ra(n),a=Ra(t)*u,c=ja(t)*u,f=ja(n),s=f*i-c*o;return[za(c*i+f*o,a*e+s*r),Xa(s*e-a*r)]},u}xf.invert=xf;var Tf=function(t){function n(n){return(n=t(n[0]*Pa,n[1]*Pa))[0]*=Ca,n[1]*=Ca,n}return t=bf(t[0]*Pa,t[1]*Pa,t.length>2?t[2]*Pa:0),n.invert=function(n){return(n=t.invert(n[0]*Pa,n[1]*Pa))[0]*=Ca,n[1]*=Ca,n},n};function Sf(t,n,e,r,i,o){if(e){var u=Ra(n),a=ja(n),c=r*e;null==i?(i=n+r*Ea,o=n-c/2):(i=Af(u,i),o=Af(u,o),(r>0?i<o:i>o)&&(i+=r*Ea));for(var f,s=i;r>0?s>o:s<o;s-=c)f=dc([u,-a*Ra(s),-a*ja(s)]),t.point(f[0],f[1])}}function Af(t,n){(n=pc(n))[0]-=t,mc(n);var e=Ha(-n[1]);return((-n[2]<0?-e:e)+Ea-1e-6)%Ea}var Nf=function(){var t,n,e=_f([0,0]),r=_f(90),i=_f(6),o={point:function(e,r){t.push(e=n(e,r)),e[0]*=Ca,e[1]*=Ca}};function u(){var u=e.apply(this,arguments),a=r.apply(this,arguments)*Pa,c=i.apply(this,arguments)*Pa;return t=[],n=bf(-u[0]*Pa,-u[1]*Pa,0).invert,Sf(o,a,c,1),u={type:"Polygon",coordinates:[t]},t=n=null,u}return u.center=function(t){return arguments.length?(e="function"==typeof t?t:_f([+t[0],+t[1]]),u):e},u.radius=function(t){return arguments.length?(r="function"==typeof t?t:_f(+t),u):r},u.precision=function(t){return arguments.length?(i="function"==typeof t?t:_f(+t),u):i},u},Ef=function(){var t,n=[];return{point:function(n,e){t.push([n,e])},lineStart:function(){n.push(t=[])},lineEnd:Wa,rejoin:function(){n.length>1&&n.push(n.pop().concat(n.shift()))},result:function(){var e=n;return n=[],t=null,e}}},Cf=function(t,n){return Oa(t[0]-n[0])<1e-6&&Oa(t[1]-n[1])<1e-6};function Pf(t,n,e,r){this.x=t,this.z=n,this.o=e,this.e=r,this.v=!1,this.n=this.p=null}var Of=function(t,n,e,r,i){var o,u,a=[],c=[];if(t.forEach((function(t){if(!((n=t.length-1)<=0)){var n,e,r=t[0],u=t[n];if(Cf(r,u)){for(i.lineStart(),o=0;o<n;++o)i.point((r=t[o])[0],r[1]);i.lineEnd()}else a.push(e=new Pf(r,t,null,!0)),c.push(e.o=new Pf(r,null,e,!1)),a.push(e=new Pf(u,t,null,!1)),c.push(e.o=new Pf(u,null,e,!0))}})),a.length){for(c.sort(n),Df(a),Df(c),o=0,u=c.length;o<u;++o)c[o].e=e=!e;for(var f,s,l=a[0];;){for(var h=l,d=!0;h.v;)if((h=h.n)===l)return;f=h.z,i.lineStart();do{if(h.v=h.o.v=!0,h.e){if(d)for(o=0,u=f.length;o<u;++o)i.point((s=f[o])[0],s[1]);else r(h.x,h.n.x,1,i);h=h.n}else{if(d)for(f=h.p.z,o=f.length-1;o>=0;--o)i.point((s=f[o])[0],s[1]);else r(h.x,h.p.x,-1,i);h=h.p}f=(h=h.o).z,d=!d}while(!h.v);i.lineEnd()}}};function Df(t){if(n=t.length){for(var n,e,r=0,i=t[0];++r<n;)i.n=e=t[r],e.p=i,i=e;i.n=e=t[0],e.p=i}}var zf=wa(),Rf=function(t,n){var e=n[0],r=n[1],i=[ja(e),-Ra(e),0],o=0,u=0;zf.reset();for(var a=0,c=t.length;a<c;++a)if(s=(f=t[a]).length)for(var f,s,l=f[s-1],h=l[0],d=l[1]/2+Na,p=ja(d),v=Ra(d),y=0;y<s;++y,h=_,p=x,v=b,l=g){var g=f[y],_=g[0],m=g[1]/2+Na,x=ja(m),b=Ra(m),w=_-h,M=w>=0?1:-1,k=M*w,T=k>Sa,S=p*x;if(zf.add(za(S*M*ja(k),v*b+S*Ra(k))),o+=T?w+M*Ea:w,T^h>=e^_>=e){var A=yc(pc(l),pc(g));mc(A);var N=yc(i,A);mc(N);var E=(T^w>=0?-1:1)*Xa(N[2]);(r>E||r===E&&(A[0]||A[1]))&&(u+=T^w>=0?1:-1)}}return(o<-1e-6||o<1e-6&&zf<-1e-6)^1&u},Lf=function(t,n,e,r){return function(i){var o,u,a,c=n(i),f=Ef(),s=n(f),l=!1,h={point:d,lineStart:v,lineEnd:y,polygonStart:function(){h.point=g,h.lineStart=_,h.lineEnd=m,u=[],o=[]},polygonEnd:function(){h.point=d,h.lineStart=v,h.lineEnd=y,u=U(u);var t=Rf(o,r);u.length?(l||(i.polygonStart(),l=!0),Of(u,If,t,e,i)):t&&(l||(i.polygonStart(),l=!0),i.lineStart(),e(null,null,1,i),i.lineEnd()),l&&(i.polygonEnd(),l=!1),u=o=null},sphere:function(){i.polygonStart(),i.lineStart(),e(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function d(n,e){t(n,e)&&i.point(n,e)}function p(t,n){c.point(t,n)}function v(){h.point=p,c.lineStart()}function y(){h.point=d,c.lineEnd()}function g(t,n){a.push([t,n]),s.point(t,n)}function _(){s.lineStart(),a=[]}function m(){g(a[0][0],a[0][1]),s.lineEnd();var t,n,e,r,c=s.clean(),h=f.result(),d=h.length;if(a.pop(),o.push(a),a=null,d)if(1&c){if((n=(e=h[0]).length-1)>0){for(l||(i.polygonStart(),l=!0),i.lineStart(),t=0;t<n;++t)i.point((r=e[t])[0],r[1]);i.lineEnd()}}else d>1&&2&c&&h.push(h.pop().concat(h.shift())),u.push(h.filter(Uf))}return h}};function Uf(t){return t.length>1}function If(t,n){return((t=t.x)[0]<0?t[1]-Aa-1e-6:Aa-t[1])-((n=n.x)[0]<0?n[1]-Aa-1e-6:Aa-n[1])}var qf=Lf((function(){return!0}),(function(t){var n,e=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),n=1},point:function(o,u){var a=o>0?Sa:-Sa,c=Oa(o-e);Oa(c-Sa)<1e-6?(t.point(e,r=(r+u)/2>0?Aa:-Aa),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(a,r),t.point(o,r),n=0):i!==a&&c>=Sa&&(Oa(e-i)<1e-6&&(e-=1e-6*i),Oa(o-a)<1e-6&&(o-=1e-6*a),r=function(t,n,e,r){var i,o,u=ja(t-e);return Oa(u)>1e-6?Da((ja(n)*(o=Ra(r))*ja(e)-ja(r)*(i=Ra(n))*ja(t))/(i*o*u)):(n+r)/2}(e,r,o,u),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(a,r),n=0),t.point(e=o,r=u),i=a},lineEnd:function(){t.lineEnd(),e=r=NaN},clean:function(){return 2-n}}}),(function(t,n,e,r){var i;if(null==t)i=e*Aa,r.point(-Sa,i),r.point(0,i),r.point(Sa,i),r.point(Sa,0),r.point(Sa,-i),r.point(0,-i),r.point(-Sa,-i),r.point(-Sa,0),r.point(-Sa,i);else if(Oa(t[0]-n[0])>1e-6){var o=t[0]<n[0]?Sa:-Sa;i=e*o/2,r.point(-o,i),r.point(0,i),r.point(o,i)}else r.point(n[0],n[1])}),[-Sa,-Aa]);var jf=function(t){var n=Ra(t),e=6*Pa,r=n>0,i=Oa(n)>1e-6;function o(t,e){return Ra(t)*Ra(e)>n}function u(t,e,r){var i=[1,0,0],o=yc(pc(t),pc(e)),u=vc(o,o),a=o[0],c=u-a*a;if(!c)return!r&&t;var f=n*u/c,s=-n*a/c,l=yc(i,o),h=_c(i,f);gc(h,_c(o,s));var d=l,p=vc(h,d),v=vc(d,d),y=p*p-v*(vc(h,h)-1);if(!(y<0)){var g=Ya(y),_=_c(d,(-p-g)/v);if(gc(_,h),_=dc(_),!r)return _;var m,x=t[0],b=e[0],w=t[1],M=e[1];b<x&&(m=x,x=b,b=m);var k=b-x,T=Oa(k-Sa)<1e-6;if(!T&&M<w&&(m=w,w=M,M=m),T||k<1e-6?T?w+M>0^_[1]<(Oa(_[0]-x)<1e-6?w:M):w<=_[1]&&_[1]<=M:k>Sa^(x<=_[0]&&_[0]<=b)){var S=_c(d,(-p+g)/v);return gc(S,h),[_,dc(S)]}}}function a(n,e){var i=r?t:Sa-t,o=0;return n<-i?o|=1:n>i&&(o|=2),e<-i?o|=4:e>i&&(o|=8),o}return Lf(o,(function(t){var n,e,c,f,s;return{lineStart:function(){f=c=!1,s=1},point:function(l,h){var d,p=[l,h],v=o(l,h),y=r?v?0:a(l,h):v?a(l+(l<0?Sa:-Sa),h):0;if(!n&&(f=c=v)&&t.lineStart(),v!==c&&(!(d=u(n,p))||Cf(n,d)||Cf(p,d))&&(p[0]+=1e-6,p[1]+=1e-6,v=o(p[0],p[1])),v!==c)s=0,v?(t.lineStart(),d=u(p,n),t.point(d[0],d[1])):(d=u(n,p),t.point(d[0],d[1]),t.lineEnd()),n=d;else if(i&&n&&r^v){var g;y&e||!(g=u(p,n,!0))||(s=0,r?(t.lineStart(),t.point(g[0][0],g[0][1]),t.point(g[1][0],g[1][1]),t.lineEnd()):(t.point(g[1][0],g[1][1]),t.lineEnd(),t.lineStart(),t.point(g[0][0],g[0][1])))}!v||n&&Cf(n,p)||t.point(p[0],p[1]),n=p,c=v,e=y},lineEnd:function(){c&&t.lineEnd(),n=null},clean:function(){return s|(f&&c)<<1}}}),(function(n,r,i,o){Sf(o,t,e,i,n,r)}),r?[0,-t]:[-Sa,t-Sa])};function Ff(t,n,e,r){function i(i,o){return t<=i&&i<=e&&n<=o&&o<=r}function o(i,o,a,f){var s=0,l=0;if(null==i||(s=u(i,a))!==(l=u(o,a))||c(i,o)<0^a>0)do{f.point(0===s||3===s?t:e,s>1?r:n)}while((s=(s+a+4)%4)!==l);else f.point(o[0],o[1])}function u(r,i){return Oa(r[0]-t)<1e-6?i>0?0:3:Oa(r[0]-e)<1e-6?i>0?2:1:Oa(r[1]-n)<1e-6?i>0?1:0:i>0?3:2}function a(t,n){return c(t.x,n.x)}function c(t,n){var e=u(t,1),r=u(n,1);return e!==r?e-r:0===e?n[1]-t[1]:1===e?t[0]-n[0]:2===e?t[1]-n[1]:n[0]-t[0]}return function(u){var c,f,s,l,h,d,p,v,y,g,_,m=u,x=Ef(),b={point:w,lineStart:function(){b.point=M,f&&f.push(s=[]);g=!0,y=!1,p=v=NaN},lineEnd:function(){c&&(M(l,h),d&&y&&x.rejoin(),c.push(x.result()));b.point=w,y&&m.lineEnd()},polygonStart:function(){m=x,c=[],f=[],_=!0},polygonEnd:function(){var n=function(){for(var n=0,e=0,i=f.length;e<i;++e)for(var o,u,a=f[e],c=1,s=a.length,l=a[0],h=l[0],d=l[1];c<s;++c)o=h,u=d,l=a[c],h=l[0],d=l[1],u<=r?d>r&&(h-o)*(r-u)>(d-u)*(t-o)&&++n:d<=r&&(h-o)*(r-u)<(d-u)*(t-o)&&--n;return n}(),e=_&&n,i=(c=U(c)).length;(e||i)&&(u.polygonStart(),e&&(u.lineStart(),o(null,null,1,u),u.lineEnd()),i&&Of(c,a,n,o,u),u.polygonEnd());m=u,c=f=s=null}};function w(t,n){i(t,n)&&m.point(t,n)}function M(o,u){var a=i(o,u);if(f&&s.push([o,u]),g)l=o,h=u,d=a,g=!1,a&&(m.lineStart(),m.point(o,u));else if(a&&y)m.point(o,u);else{var c=[p=Math.max(-1e9,Math.min(1e9,p)),v=Math.max(-1e9,Math.min(1e9,v))],x=[o=Math.max(-1e9,Math.min(1e9,o)),u=Math.max(-1e9,Math.min(1e9,u))];!function(t,n,e,r,i,o){var u,a=t[0],c=t[1],f=0,s=1,l=n[0]-a,h=n[1]-c;if(u=e-a,l||!(u>0)){if(u/=l,l<0){if(u<f)return;u<s&&(s=u)}else if(l>0){if(u>s)return;u>f&&(f=u)}if(u=i-a,l||!(u<0)){if(u/=l,l<0){if(u>s)return;u>f&&(f=u)}else if(l>0){if(u<f)return;u<s&&(s=u)}if(u=r-c,h||!(u>0)){if(u/=h,h<0){if(u<f)return;u<s&&(s=u)}else if(h>0){if(u>s)return;u>f&&(f=u)}if(u=o-c,h||!(u<0)){if(u/=h,h<0){if(u>s)return;u>f&&(f=u)}else if(h>0){if(u<f)return;u<s&&(s=u)}return f>0&&(t[0]=a+f*l,t[1]=c+f*h),s<1&&(n[0]=a+s*l,n[1]=c+s*h),!0}}}}}(c,x,t,n,e,r)?a&&(m.lineStart(),m.point(o,u),_=!1):(y||(m.lineStart(),m.point(c[0],c[1])),m.point(x[0],x[1]),a||m.lineEnd(),_=!1)}p=o,v=u,y=a}return b}}var Yf,Bf,Hf,Xf=function(){var t,n,e,r=0,i=0,o=960,u=500;return e={stream:function(e){return t&&n===e?t:t=Ff(r,i,o,u)(n=e)},extent:function(a){return arguments.length?(r=+a[0][0],i=+a[0][1],o=+a[1][0],u=+a[1][1],t=n=null,e):[[r,i],[o,u]]}}},Vf=wa(),Wf={sphere:Wa,point:Wa,lineStart:function(){Wf.point=Zf,Wf.lineEnd=$f},lineEnd:Wa,polygonStart:Wa,polygonEnd:Wa};function $f(){Wf.point=Wf.lineEnd=Wa}function Zf(t,n){Yf=t*=Pa,Bf=ja(n*=Pa),Hf=Ra(n),Wf.point=Gf}function Gf(t,n){t*=Pa;var e=ja(n*=Pa),r=Ra(n),i=Oa(t-Yf),o=Ra(i),u=r*ja(i),a=Hf*e-Bf*r*o,c=Bf*e+Hf*r*o;Vf.add(za(Ya(u*u+a*a),c)),Yf=t,Bf=e,Hf=r}var Qf=function(t){return Vf.reset(),ic(t,Wf),+Vf},Jf=[null,null],Kf={type:"LineString",coordinates:Jf},ts=function(t,n){return Jf[0]=t,Jf[1]=n,Qf(Kf)},ns={Feature:function(t,n){return rs(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,i=e.length;++r<i;)if(rs(e[r].geometry,n))return!0;return!1}},es={Sphere:function(){return!0},Point:function(t,n){return is(t.coordinates,n)},MultiPoint:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)if(is(e[r],n))return!0;return!1},LineString:function(t,n){return os(t.coordinates,n)},MultiLineString:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)if(os(e[r],n))return!0;return!1},Polygon:function(t,n){return us(t.coordinates,n)},MultiPolygon:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)if(us(e[r],n))return!0;return!1},GeometryCollection:function(t,n){for(var e=t.geometries,r=-1,i=e.length;++r<i;)if(rs(e[r],n))return!0;return!1}};function rs(t,n){return!(!t||!es.hasOwnProperty(t.type))&&es[t.type](t,n)}function is(t,n){return 0===ts(t,n)}function os(t,n){var e=ts(t[0],t[1]);return ts(t[0],n)+ts(n,t[1])<=e+1e-6}function us(t,n){return!!Rf(t.map(as),cs(n))}function as(t){return(t=t.map(cs)).pop(),t}function cs(t){return[t[0]*Pa,t[1]*Pa]}var fs=function(t,n){return(t&&ns.hasOwnProperty(t.type)?ns[t.type]:rs)(t,n)};function ss(t,n,e){var r=w(t,n-1e-6,e).concat(n);return function(t){return r.map((function(n){return[t,n]}))}}function ls(t,n,e){var r=w(t,n-1e-6,e).concat(n);return function(t){return r.map((function(n){return[n,t]}))}}function hs(){var t,n,e,r,i,o,u,a,c,f,s,l,h=10,d=h,p=90,v=360,y=2.5;function g(){return{type:"MultiLineString",coordinates:_()}}function _(){return w(La(r/p)*p,e,p).map(s).concat(w(La(a/v)*v,u,v).map(l)).concat(w(La(n/h)*h,t,h).filter((function(t){return Oa(t%p)>1e-6})).map(c)).concat(w(La(o/d)*d,i,d).filter((function(t){return Oa(t%v)>1e-6})).map(f))}return g.lines=function(){return _().map((function(t){return{type:"LineString",coordinates:t}}))},g.outline=function(){return{type:"Polygon",coordinates:[s(r).concat(l(u).slice(1),s(e).reverse().slice(1),l(a).reverse().slice(1))]}},g.extent=function(t){return arguments.length?g.extentMajor(t).extentMinor(t):g.extentMinor()},g.extentMajor=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],a=+t[0][1],u=+t[1][1],r>e&&(t=r,r=e,e=t),a>u&&(t=a,a=u,u=t),g.precision(y)):[[r,a],[e,u]]},g.extentMinor=function(e){return arguments.length?(n=+e[0][0],t=+e[1][0],o=+e[0][1],i=+e[1][1],n>t&&(e=n,n=t,t=e),o>i&&(e=o,o=i,i=e),g.precision(y)):[[n,o],[t,i]]},g.step=function(t){return arguments.length?g.stepMajor(t).stepMinor(t):g.stepMinor()},g.stepMajor=function(t){return arguments.length?(p=+t[0],v=+t[1],g):[p,v]},g.stepMinor=function(t){return arguments.length?(h=+t[0],d=+t[1],g):[h,d]},g.precision=function(h){return arguments.length?(y=+h,c=ss(o,i,90),f=ls(n,t,y),s=ss(a,u,90),l=ls(r,e,y),g):y},g.extentMajor([[-180,1e-6-90],[180,90-1e-6]]).extentMinor([[-180,-80-1e-6],[180,80+1e-6]])}function ds(){return hs()()}var ps,vs,ys,gs,_s=function(t,n){var e=t[0]*Pa,r=t[1]*Pa,i=n[0]*Pa,o=n[1]*Pa,u=Ra(r),a=ja(r),c=Ra(o),f=ja(o),s=u*Ra(e),l=u*ja(e),h=c*Ra(i),d=c*ja(i),p=2*Xa(Ya(Va(o-r)+u*c*Va(i-e))),v=ja(p),y=p?function(t){var n=ja(t*=p)/v,e=ja(p-t)/v,r=e*s+n*h,i=e*l+n*d,o=e*a+n*f;return[za(i,r)*Ca,za(o,Ya(r*r+i*i))*Ca]}:function(){return[e*Ca,r*Ca]};return y.distance=p,y},ms=function(t){return t},xs=wa(),bs=wa(),ws={point:Wa,lineStart:Wa,lineEnd:Wa,polygonStart:function(){ws.lineStart=Ms,ws.lineEnd=Ss},polygonEnd:function(){ws.lineStart=ws.lineEnd=ws.point=Wa,xs.add(Oa(bs)),bs.reset()},result:function(){var t=xs/2;return xs.reset(),t}};function Ms(){ws.point=ks}function ks(t,n){ws.point=Ts,ps=ys=t,vs=gs=n}function Ts(t,n){bs.add(gs*t-ys*n),ys=t,gs=n}function Ss(){Ts(ps,vs)}var As=ws,Ns=1/0,Es=Ns,Cs=-Ns,Ps=Cs;var Os,Ds,zs,Rs,Ls={point:function(t,n){t<Ns&&(Ns=t);t>Cs&&(Cs=t);n<Es&&(Es=n);n>Ps&&(Ps=n)},lineStart:Wa,lineEnd:Wa,polygonStart:Wa,polygonEnd:Wa,result:function(){var t=[[Ns,Es],[Cs,Ps]];return Cs=Ps=-(Es=Ns=1/0),t}},Us=0,Is=0,qs=0,js=0,Fs=0,Ys=0,Bs=0,Hs=0,Xs=0,Vs={point:Ws,lineStart:$s,lineEnd:Qs,polygonStart:function(){Vs.lineStart=Js,Vs.lineEnd=Ks},polygonEnd:function(){Vs.point=Ws,Vs.lineStart=$s,Vs.lineEnd=Qs},result:function(){var t=Xs?[Bs/Xs,Hs/Xs]:Ys?[js/Ys,Fs/Ys]:qs?[Us/qs,Is/qs]:[NaN,NaN];return Us=Is=qs=js=Fs=Ys=Bs=Hs=Xs=0,t}};function Ws(t,n){Us+=t,Is+=n,++qs}function $s(){Vs.point=Zs}function Zs(t,n){Vs.point=Gs,Ws(zs=t,Rs=n)}function Gs(t,n){var e=t-zs,r=n-Rs,i=Ya(e*e+r*r);js+=i*(zs+t)/2,Fs+=i*(Rs+n)/2,Ys+=i,Ws(zs=t,Rs=n)}function Qs(){Vs.point=Ws}function Js(){Vs.point=tl}function Ks(){nl(Os,Ds)}function tl(t,n){Vs.point=nl,Ws(Os=zs=t,Ds=Rs=n)}function nl(t,n){var e=t-zs,r=n-Rs,i=Ya(e*e+r*r);js+=i*(zs+t)/2,Fs+=i*(Rs+n)/2,Ys+=i,Bs+=(i=Rs*t-zs*n)*(zs+t),Hs+=i*(Rs+n),Xs+=3*i,Ws(zs=t,Rs=n)}var el=Vs;function rl(t){this._context=t}rl.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,n){switch(this._point){case 0:this._context.moveTo(t,n),this._point=1;break;case 1:this._context.lineTo(t,n);break;default:this._context.moveTo(t+this._radius,n),this._context.arc(t,n,this._radius,0,Ea)}},result:Wa};var il,ol,ul,al,cl,fl=wa(),sl={point:Wa,lineStart:function(){sl.point=ll},lineEnd:function(){il&&hl(ol,ul),sl.point=Wa},polygonStart:function(){il=!0},polygonEnd:function(){il=null},result:function(){var t=+fl;return fl.reset(),t}};function ll(t,n){sl.point=hl,ol=al=t,ul=cl=n}function hl(t,n){al-=t,cl-=n,fl.add(Ya(al*al+cl*cl)),al=t,cl=n}var dl=sl;function pl(){this._string=[]}function vl(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}pl.prototype={_radius:4.5,_circle:vl(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(t,n){switch(this._point){case 0:this._string.push("M",t,",",n),this._point=1;break;case 1:this._string.push("L",t,",",n);break;default:null==this._circle&&(this._circle=vl(this._radius)),this._string.push("M",t,",",n,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}};var yl=function(t,n){var e,r,i=4.5;function o(t){return t&&("function"==typeof i&&r.pointRadius(+i.apply(this,arguments)),ic(t,e(r))),r.result()}return o.area=function(t){return ic(t,e(As)),As.result()},o.measure=function(t){return ic(t,e(dl)),dl.result()},o.bounds=function(t){return ic(t,e(Ls)),Ls.result()},o.centroid=function(t){return ic(t,e(el)),el.result()},o.projection=function(n){return arguments.length?(e=null==n?(t=null,ms):(t=n).stream,o):t},o.context=function(t){return arguments.length?(r=null==t?(n=null,new pl):new rl(n=t),"function"!=typeof i&&r.pointRadius(i),o):n},o.pointRadius=function(t){return arguments.length?(i="function"==typeof t?t:(r.pointRadius(+t),+t),o):i},o.projection(t).context(n)},gl=function(t){return{stream:_l(t)}};function _l(t){return function(n){var e=new ml;for(var r in t)e[r]=t[r];return e.stream=n,e}}function ml(){}function xl(t,n,e){var r=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),null!=r&&t.clipExtent(null),ic(e,t.stream(Ls)),n(Ls.result()),null!=r&&t.clipExtent(r),t}function bl(t,n,e){return xl(t,(function(e){var r=n[1][0]-n[0][0],i=n[1][1]-n[0][1],o=Math.min(r/(e[1][0]-e[0][0]),i/(e[1][1]-e[0][1])),u=+n[0][0]+(r-o*(e[1][0]+e[0][0]))/2,a=+n[0][1]+(i-o*(e[1][1]+e[0][1]))/2;t.scale(150*o).translate([u,a])}),e)}function wl(t,n,e){return bl(t,[[0,0],n],e)}function Ml(t,n,e){return xl(t,(function(e){var r=+n,i=r/(e[1][0]-e[0][0]),o=(r-i*(e[1][0]+e[0][0]))/2,u=-i*e[0][1];t.scale(150*i).translate([o,u])}),e)}function kl(t,n,e){return xl(t,(function(e){var r=+n,i=r/(e[1][1]-e[0][1]),o=-i*e[0][0],u=(r-i*(e[1][1]+e[0][1]))/2;t.scale(150*i).translate([o,u])}),e)}ml.prototype={constructor:ml,point:function(t,n){this.stream.point(t,n)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var Tl=Ra(30*Pa),Sl=function(t,n){return+n?function(t,n){function e(r,i,o,u,a,c,f,s,l,h,d,p,v,y){var g=f-r,_=s-i,m=g*g+_*_;if(m>4*n&&v--){var x=u+h,b=a+d,w=c+p,M=Ya(x*x+b*b+w*w),k=Xa(w/=M),T=Oa(Oa(w)-1)<1e-6||Oa(o-l)<1e-6?(o+l)/2:za(b,x),S=t(T,k),A=S[0],N=S[1],E=A-r,C=N-i,P=_*E-g*C;(P*P/m>n||Oa((g*E+_*C)/m-.5)>.3||u*h+a*d+c*p<Tl)&&(e(r,i,o,u,a,c,A,N,T,x/=M,b/=M,w,v,y),y.point(A,N),e(A,N,T,x,b,w,f,s,l,h,d,p,v,y))}}return function(n){var r,i,o,u,a,c,f,s,l,h,d,p,v={point:y,lineStart:g,lineEnd:m,polygonStart:function(){n.polygonStart(),v.lineStart=x},polygonEnd:function(){n.polygonEnd(),v.lineStart=g}};function y(e,r){e=t(e,r),n.point(e[0],e[1])}function g(){s=NaN,v.point=_,n.lineStart()}function _(r,i){var o=pc([r,i]),u=t(r,i);e(s,l,f,h,d,p,s=u[0],l=u[1],f=r,h=o[0],d=o[1],p=o[2],16,n),n.point(s,l)}function m(){v.point=y,n.lineEnd()}function x(){g(),v.point=b,v.lineEnd=w}function b(t,n){_(r=t,n),i=s,o=l,u=h,a=d,c=p,v.point=_}function w(){e(s,l,f,h,d,p,i,o,r,u,a,c,16,n),v.lineEnd=m,m()}return v}}(t,n):function(t){return _l({point:function(n,e){n=t(n,e),this.stream.point(n[0],n[1])}})}(t)};var Al=_l({point:function(t,n){this.stream.point(t*Pa,n*Pa)}});function Nl(t){return El((function(){return t}))()}function El(t){var n,e,r,i,o,u,a,c,f,s,l=150,h=480,d=250,p=0,v=0,y=0,g=0,_=0,m=null,x=qf,b=null,w=ms,M=.5,k=Sl(A,M);function T(t){return[(t=o(t[0]*Pa,t[1]*Pa))[0]*l+e,r-t[1]*l]}function S(t){return(t=o.invert((t[0]-e)/l,(r-t[1])/l))&&[t[0]*Ca,t[1]*Ca]}function A(t,i){return[(t=n(t,i))[0]*l+e,r-t[1]*l]}function N(){o=mf(i=bf(y,g,_),n);var t=n(p,v);return e=h-t[0]*l,r=d+t[1]*l,E()}function E(){return f=s=null,T}return T.stream=function(t){return f&&s===t?f:f=Al(function(t){return _l({point:function(n,e){var r=t(n,e);return this.stream.point(r[0],r[1])}})}(i)(x(k(w(s=t)))))},T.preclip=function(t){return arguments.length?(x=t,m=void 0,E()):x},T.postclip=function(t){return arguments.length?(w=t,b=u=a=c=null,E()):w},T.clipAngle=function(t){return arguments.length?(x=+t?jf(m=t*Pa):(m=null,qf),E()):m*Ca},T.clipExtent=function(t){return arguments.length?(w=null==t?(b=u=a=c=null,ms):Ff(b=+t[0][0],u=+t[0][1],a=+t[1][0],c=+t[1][1]),E()):null==b?null:[[b,u],[a,c]]},T.scale=function(t){return arguments.length?(l=+t,N()):l},T.translate=function(t){return arguments.length?(h=+t[0],d=+t[1],N()):[h,d]},T.center=function(t){return arguments.length?(p=t[0]%360*Pa,v=t[1]%360*Pa,N()):[p*Ca,v*Ca]},T.rotate=function(t){return arguments.length?(y=t[0]%360*Pa,g=t[1]%360*Pa,_=t.length>2?t[2]%360*Pa:0,N()):[y*Ca,g*Ca,_*Ca]},T.precision=function(t){return arguments.length?(k=Sl(A,M=t*t),E()):Ya(M)},T.fitExtent=function(t,n){return bl(T,t,n)},T.fitSize=function(t,n){return wl(T,t,n)},T.fitWidth=function(t,n){return Ml(T,t,n)},T.fitHeight=function(t,n){return kl(T,t,n)},function(){return n=t.apply(this,arguments),T.invert=n.invert&&S,N()}}function Cl(t){var n=0,e=Sa/3,r=El(t),i=r(n,e);return i.parallels=function(t){return arguments.length?r(n=t[0]*Pa,e=t[1]*Pa):[n*Ca,e*Ca]},i}function Pl(t,n){var e=ja(t),r=(e+ja(n))/2;if(Oa(r)<1e-6)return function(t){var n=Ra(t);function e(t,e){return[t*n,ja(e)/n]}return e.invert=function(t,e){return[t/n,Xa(e*n)]},e}(t);var i=1+e*(2*r-e),o=Ya(i)/r;function u(t,n){var e=Ya(i-2*r*ja(n))/r;return[e*ja(t*=r),o-e*Ra(t)]}return u.invert=function(t,n){var e=o-n;return[za(t,Oa(e))/r*Fa(e),Xa((i-(t*t+e*e)*r*r)/(2*r))]},u}var Ol=function(){return Cl(Pl).scale(155.424).center([0,33.6442])},Dl=function(){return Ol().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])};var zl=function(){var t,n,e,r,i,o,u=Dl(),a=Ol().rotate([154,0]).center([-2,58.5]).parallels([55,65]),c=Ol().rotate([157,0]).center([-3,19.9]).parallels([8,18]),f={point:function(t,n){o=[t,n]}};function s(t){var n=t[0],u=t[1];return o=null,e.point(n,u),o||(r.point(n,u),o)||(i.point(n,u),o)}function l(){return t=n=null,s}return s.invert=function(t){var n=u.scale(),e=u.translate(),r=(t[0]-e[0])/n,i=(t[1]-e[1])/n;return(i>=.12&&i<.234&&r>=-.425&&r<-.214?a:i>=.166&&i<.234&&r>=-.214&&r<-.115?c:u).invert(t)},s.stream=function(e){return t&&n===e?t:(r=[u.stream(n=e),a.stream(e),c.stream(e)],i=r.length,t={point:function(t,n){for(var e=-1;++e<i;)r[e].point(t,n)},sphere:function(){for(var t=-1;++t<i;)r[t].sphere()},lineStart:function(){for(var t=-1;++t<i;)r[t].lineStart()},lineEnd:function(){for(var t=-1;++t<i;)r[t].lineEnd()},polygonStart:function(){for(var t=-1;++t<i;)r[t].polygonStart()},polygonEnd:function(){for(var t=-1;++t<i;)r[t].polygonEnd()}});var r,i},s.precision=function(t){return arguments.length?(u.precision(t),a.precision(t),c.precision(t),l()):u.precision()},s.scale=function(t){return arguments.length?(u.scale(t),a.scale(.35*t),c.scale(t),s.translate(u.translate())):u.scale()},s.translate=function(t){if(!arguments.length)return u.translate();var n=u.scale(),o=+t[0],s=+t[1];return e=u.translate(t).clipExtent([[o-.455*n,s-.238*n],[o+.455*n,s+.238*n]]).stream(f),r=a.translate([o-.307*n,s+.201*n]).clipExtent([[o-.425*n+1e-6,s+.12*n+1e-6],[o-.214*n-1e-6,s+.234*n-1e-6]]).stream(f),i=c.translate([o-.205*n,s+.212*n]).clipExtent([[o-.214*n+1e-6,s+.166*n+1e-6],[o-.115*n-1e-6,s+.234*n-1e-6]]).stream(f),l()},s.fitExtent=function(t,n){return bl(s,t,n)},s.fitSize=function(t,n){return wl(s,t,n)},s.fitWidth=function(t,n){return Ml(s,t,n)},s.fitHeight=function(t,n){return kl(s,t,n)},s.scale(1070)};function Rl(t){return function(n,e){var r=Ra(n),i=Ra(e),o=t(r*i);return[o*i*ja(n),o*ja(e)]}}function Ll(t){return function(n,e){var r=Ya(n*n+e*e),i=t(r),o=ja(i),u=Ra(i);return[za(n*o,r*u),Xa(r&&e*o/r)]}}var Ul=Rl((function(t){return Ya(2/(1+t))}));Ul.invert=Ll((function(t){return 2*Xa(t/2)}));var Il=function(){return Nl(Ul).scale(124.75).clipAngle(179.999)},ql=Rl((function(t){return(t=Ha(t))&&t/ja(t)}));ql.invert=Ll((function(t){return t}));var jl=function(){return Nl(ql).scale(79.4188).clipAngle(179.999)};function Fl(t,n){return[t,Ia(Ba((Aa+n)/2))]}Fl.invert=function(t,n){return[t,2*Da(Ua(n))-Aa]};var Yl=function(){return Bl(Fl).scale(961/Ea)};function Bl(t){var n,e,r,i=Nl(t),o=i.center,u=i.scale,a=i.translate,c=i.clipExtent,f=null;function s(){var o=Sa*u(),a=i(Tf(i.rotate()).invert([0,0]));return c(null==f?[[a[0]-o,a[1]-o],[a[0]+o,a[1]+o]]:t===Fl?[[Math.max(a[0]-o,f),n],[Math.min(a[0]+o,e),r]]:[[f,Math.max(a[1]-o,n)],[e,Math.min(a[1]+o,r)]])}return i.scale=function(t){return arguments.length?(u(t),s()):u()},i.translate=function(t){return arguments.length?(a(t),s()):a()},i.center=function(t){return arguments.length?(o(t),s()):o()},i.clipExtent=function(t){return arguments.length?(null==t?f=n=e=r=null:(f=+t[0][0],n=+t[0][1],e=+t[1][0],r=+t[1][1]),s()):null==f?null:[[f,n],[e,r]]},s()}function Hl(t){return Ba((Aa+t)/2)}function Xl(t,n){var e=Ra(t),r=t===n?ja(t):Ia(e/Ra(n))/Ia(Hl(n)/Hl(t)),i=e*qa(Hl(t),r)/r;if(!r)return Fl;function o(t,n){i>0?n<1e-6-Aa&&(n=1e-6-Aa):n>Aa-1e-6&&(n=Aa-1e-6);var e=i/qa(Hl(n),r);return[e*ja(r*t),i-e*Ra(r*t)]}return o.invert=function(t,n){var e=i-n,o=Fa(r)*Ya(t*t+e*e);return[za(t,Oa(e))/r*Fa(e),2*Da(qa(i/o,1/r))-Aa]},o}var Vl=function(){return Cl(Xl).scale(109.5).parallels([30,30])};function Wl(t,n){return[t,n]}Wl.invert=Wl;var $l=function(){return Nl(Wl).scale(152.63)};function Zl(t,n){var e=Ra(t),r=t===n?ja(t):(e-Ra(n))/(n-t),i=e/r+t;if(Oa(r)<1e-6)return Wl;function o(t,n){var e=i-n,o=r*t;return[e*ja(o),i-e*Ra(o)]}return o.invert=function(t,n){var e=i-n;return[za(t,Oa(e))/r*Fa(e),i-Fa(r)*Ya(t*t+e*e)]},o}var Gl=function(){return Cl(Zl).scale(131.154).center([0,13.9389])};function Ql(t,n){var e=Ra(n),r=Ra(t)*e;return[e*ja(t)/r,ja(n)/r]}Ql.invert=Ll(Da);var Jl=function(){return Nl(Ql).scale(144.049).clipAngle(60)};function Kl(t,n,e,r){return 1===t&&1===n&&0===e&&0===r?ms:_l({point:function(i,o){this.stream.point(i*t+e,o*n+r)}})}var th=function(){var t,n,e,r,i,o,u=1,a=0,c=0,f=1,s=1,l=ms,h=null,d=ms;function p(){return r=i=null,o}return o={stream:function(t){return r&&i===t?r:r=l(d(i=t))},postclip:function(r){return arguments.length?(d=r,h=t=n=e=null,p()):d},clipExtent:function(r){return arguments.length?(d=null==r?(h=t=n=e=null,ms):Ff(h=+r[0][0],t=+r[0][1],n=+r[1][0],e=+r[1][1]),p()):null==h?null:[[h,t],[n,e]]},scale:function(t){return arguments.length?(l=Kl((u=+t)*f,u*s,a,c),p()):u},translate:function(t){return arguments.length?(l=Kl(u*f,u*s,a=+t[0],c=+t[1]),p()):[a,c]},reflectX:function(t){return arguments.length?(l=Kl(u*(f=t?-1:1),u*s,a,c),p()):f<0},reflectY:function(t){return arguments.length?(l=Kl(u*f,u*(s=t?-1:1),a,c),p()):s<0},fitExtent:function(t,n){return bl(o,t,n)},fitSize:function(t,n){return wl(o,t,n)},fitWidth:function(t,n){return Ml(o,t,n)},fitHeight:function(t,n){return kl(o,t,n)}}};function nh(t,n){var e=n*n,r=e*e;return[t*(.8707-.131979*e+r*(r*(.003971*e-.001529*r)-.013791)),n*(1.007226+e*(.015085+r*(.028874*e-.044475-.005916*r)))]}nh.invert=function(t,n){var e,r=n,i=25;do{var o=r*r,u=o*o;r-=e=(r*(1.007226+o*(.015085+u*(.028874*o-.044475-.005916*u)))-n)/(1.007226+o*(.045255+u*(.259866*o-.311325-.005916*11*u)))}while(Oa(e)>1e-6&&--i>0);return[t/(.8707+(o=r*r)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),r]};var eh=function(){return Nl(nh).scale(175.295)};function rh(t,n){return[Ra(n)*ja(t),ja(n)]}rh.invert=Ll(Xa);var ih=function(){return Nl(rh).scale(249.5).clipAngle(90+1e-6)};function oh(t,n){var e=Ra(n),r=1+Ra(t)*e;return[e*ja(t)/r,ja(n)/r]}oh.invert=Ll((function(t){return 2*Da(t)}));var uh=function(){return Nl(oh).scale(250).clipAngle(142)};function ah(t,n){return[Ia(Ba((Aa+n)/2)),-t]}ah.invert=function(t,n){return[-n,2*Da(Ua(t))-Aa]};var ch=function(){var t=Bl(ah),n=t.center,e=t.rotate;return t.center=function(t){return arguments.length?n([-t[1],t[0]]):[(t=n())[1],-t[0]]},t.rotate=function(t){return arguments.length?e([t[0],t[1],t.length>2?t[2]+90:90]):[(t=e())[0],t[1],t[2]-90]},e([0,0,90]).scale(159.155)};function fh(t,n){return t.parent===n.parent?1:2}function sh(t,n){return t+n.x}function lh(t,n){return Math.max(t,n.y)}var hh=function(){var t=fh,n=1,e=1,r=!1;function i(i){var o,u=0;i.eachAfter((function(n){var e=n.children;e?(n.x=function(t){return t.reduce(sh,0)/t.length}(e),n.y=function(t){return 1+t.reduce(lh,0)}(e)):(n.x=o?u+=t(n,o):0,n.y=0,o=n)}));var a=function(t){for(var n;n=t.children;)t=n[0];return t}(i),c=function(t){for(var n;n=t.children;)t=n[n.length-1];return t}(i),f=a.x-t(a,c)/2,s=c.x+t(c,a)/2;return i.eachAfter(r?function(t){t.x=(t.x-i.x)*n,t.y=(i.y-t.y)*e}:function(t){t.x=(t.x-f)/(s-f)*n,t.y=(1-(i.y?t.y/i.y:1))*e})}return i.separation=function(n){return arguments.length?(t=n,i):t},i.size=function(t){return arguments.length?(r=!1,n=+t[0],e=+t[1],i):r?null:[n,e]},i.nodeSize=function(t){return arguments.length?(r=!0,n=+t[0],e=+t[1],i):r?[n,e]:null},i};function dh(t){var n=0,e=t.children,r=e&&e.length;if(r)for(;--r>=0;)n+=e[r].value;else n=1;t.value=n}function ph(t,n){var e,r,i,o,u,a=new _h(t),c=+t.value&&(a.value=t.value),f=[a];for(null==n&&(n=vh);e=f.pop();)if(c&&(e.value=+e.data.value),(i=n(e.data))&&(u=i.length))for(e.children=new Array(u),o=u-1;o>=0;--o)f.push(r=e.children[o]=new _h(i[o])),r.parent=e,r.depth=e.depth+1;return a.eachBefore(gh)}function vh(t){return t.children}function yh(t){t.data=t.data.data}function gh(t){var n=0;do{t.height=n}while((t=t.parent)&&t.height<++n)}function _h(t){this.data=t,this.depth=this.height=0,this.parent=null}_h.prototype=ph.prototype={constructor:_h,count:function(){return this.eachAfter(dh)},each:function(t){var n,e,r,i,o=this,u=[o];do{for(n=u.reverse(),u=[];o=n.pop();)if(t(o),e=o.children)for(r=0,i=e.length;r<i;++r)u.push(e[r])}while(u.length);return this},eachAfter:function(t){for(var n,e,r,i=this,o=[i],u=[];i=o.pop();)if(u.push(i),n=i.children)for(e=0,r=n.length;e<r;++e)o.push(n[e]);for(;i=u.pop();)t(i);return this},eachBefore:function(t){for(var n,e,r=this,i=[r];r=i.pop();)if(t(r),n=r.children)for(e=n.length-1;e>=0;--e)i.push(n[e]);return this},sum:function(t){return this.eachAfter((function(n){for(var e=+t(n.data)||0,r=n.children,i=r&&r.length;--i>=0;)e+=r[i].value;n.value=e}))},sort:function(t){return this.eachBefore((function(n){n.children&&n.children.sort(t)}))},path:function(t){for(var n=this,e=function(t,n){if(t===n)return t;var e=t.ancestors(),r=n.ancestors(),i=null;t=e.pop(),n=r.pop();for(;t===n;)i=t,t=e.pop(),n=r.pop();return i}(n,t),r=[n];n!==e;)n=n.parent,r.push(n);for(var i=r.length;t!==e;)r.splice(i,0,t),t=t.parent;return r},ancestors:function(){for(var t=this,n=[t];t=t.parent;)n.push(t);return n},descendants:function(){var t=[];return this.each((function(n){t.push(n)})),t},leaves:function(){var t=[];return this.eachBefore((function(n){n.children||t.push(n)})),t},links:function(){var t=this,n=[];return t.each((function(e){e!==t&&n.push({source:e.parent,target:e})})),n},copy:function(){return ph(this).eachBefore(yh)}};var mh=Array.prototype.slice;var xh=function(t){for(var n,e,r=0,i=(t=function(t){for(var n,e,r=t.length;r;)e=Math.random()*r--|0,n=t[r],t[r]=t[e],t[e]=n;return t}(mh.call(t))).length,o=[];r<i;)n=t[r],e&&Mh(e,n)?++r:(e=Th(o=bh(o,n)),r=0);return e};function bh(t,n){var e,r;if(kh(n,t))return[n];for(e=0;e<t.length;++e)if(wh(n,t[e])&&kh(Sh(t[e],n),t))return[t[e],n];for(e=0;e<t.length-1;++e)for(r=e+1;r<t.length;++r)if(wh(Sh(t[e],t[r]),n)&&wh(Sh(t[e],n),t[r])&&wh(Sh(t[r],n),t[e])&&kh(Ah(t[e],t[r],n),t))return[t[e],t[r],n];throw new Error}function wh(t,n){var e=t.r-n.r,r=n.x-t.x,i=n.y-t.y;return e<0||e*e<r*r+i*i}function Mh(t,n){var e=t.r-n.r+1e-6,r=n.x-t.x,i=n.y-t.y;return e>0&&e*e>r*r+i*i}function kh(t,n){for(var e=0;e<n.length;++e)if(!Mh(t,n[e]))return!1;return!0}function Th(t){switch(t.length){case 1:return{x:(n=t[0]).x,y:n.y,r:n.r};case 2:return Sh(t[0],t[1]);case 3:return Ah(t[0],t[1],t[2])}var n}function Sh(t,n){var e=t.x,r=t.y,i=t.r,o=n.x,u=n.y,a=n.r,c=o-e,f=u-r,s=a-i,l=Math.sqrt(c*c+f*f);return{x:(e+o+c/l*s)/2,y:(r+u+f/l*s)/2,r:(l+i+a)/2}}function Ah(t,n,e){var r=t.x,i=t.y,o=t.r,u=n.x,a=n.y,c=n.r,f=e.x,s=e.y,l=e.r,h=r-u,d=r-f,p=i-a,v=i-s,y=c-o,g=l-o,_=r*r+i*i-o*o,m=_-u*u-a*a+c*c,x=_-f*f-s*s+l*l,b=d*p-h*v,w=(p*x-v*m)/(2*b)-r,M=(v*y-p*g)/b,k=(d*m-h*x)/(2*b)-i,T=(h*g-d*y)/b,S=M*M+T*T-1,A=2*(o+w*M+k*T),N=w*w+k*k-o*o,E=-(S?(A+Math.sqrt(A*A-4*S*N))/(2*S):N/A);return{x:r+w+M*E,y:i+k+T*E,r:E}}function Nh(t,n,e){var r=t.x,i=t.y,o=n.r+e.r,u=t.r+e.r,a=n.x-r,c=n.y-i,f=a*a+c*c;if(f){var s=.5+((u*=u)-(o*=o))/(2*f),l=Math.sqrt(Math.max(0,2*o*(u+f)-(u-=f)*u-o*o))/(2*f);e.x=r+s*a+l*c,e.y=i+s*c-l*a}else e.x=r+u,e.y=i}function Eh(t,n){var e=n.x-t.x,r=n.y-t.y,i=t.r+n.r;return i*i-1e-6>e*e+r*r}function Ch(t){var n=t._,e=t.next._,r=n.r+e.r,i=(n.x*e.r+e.x*n.r)/r,o=(n.y*e.r+e.y*n.r)/r;return i*i+o*o}function Ph(t){this._=t,this.next=null,this.previous=null}function Oh(t){if(!(i=t.length))return 0;var n,e,r,i,o,u,a,c,f,s,l;if((n=t[0]).x=0,n.y=0,!(i>1))return n.r;if(e=t[1],n.x=-e.r,e.x=n.r,e.y=0,!(i>2))return n.r+e.r;Nh(e,n,r=t[2]),n=new Ph(n),e=new Ph(e),r=new Ph(r),n.next=r.previous=e,e.next=n.previous=r,r.next=e.previous=n;t:for(a=3;a<i;++a){Nh(n._,e._,r=t[a]),r=new Ph(r),c=e.next,f=n.previous,s=e._.r,l=n._.r;do{if(s<=l){if(Eh(c._,r._)){e=c,n.next=e,e.previous=n,--a;continue t}s+=c._.r,c=c.next}else{if(Eh(f._,r._)){(n=f).next=e,e.previous=n,--a;continue t}l+=f._.r,f=f.previous}}while(c!==f.next);for(r.previous=n,r.next=e,n.next=e.previous=e=r,o=Ch(n);(r=r.next)!==e;)(u=Ch(r))<o&&(n=r,o=u);e=n.next}for(n=[e._],r=e;(r=r.next)!==e;)n.push(r._);for(r=xh(n),a=0;a<i;++a)(n=t[a]).x-=r.x,n.y-=r.y;return r.r}var Dh=function(t){return Oh(t),t};function zh(t){return null==t?null:Rh(t)}function Rh(t){if("function"!=typeof t)throw new Error;return t}function Lh(){return 0}var Uh=function(t){return function(){return t}};function Ih(t){return Math.sqrt(t.value)}var qh=function(){var t=null,n=1,e=1,r=Lh;function i(i){return i.x=n/2,i.y=e/2,t?i.eachBefore(jh(t)).eachAfter(Fh(r,.5)).eachBefore(Yh(1)):i.eachBefore(jh(Ih)).eachAfter(Fh(Lh,1)).eachAfter(Fh(r,i.r/Math.min(n,e))).eachBefore(Yh(Math.min(n,e)/(2*i.r))),i}return i.radius=function(n){return arguments.length?(t=zh(n),i):t},i.size=function(t){return arguments.length?(n=+t[0],e=+t[1],i):[n,e]},i.padding=function(t){return arguments.length?(r="function"==typeof t?t:Uh(+t),i):r},i};function jh(t){return function(n){n.children||(n.r=Math.max(0,+t(n)||0))}}function Fh(t,n){return function(e){if(r=e.children){var r,i,o,u=r.length,a=t(e)*n||0;if(a)for(i=0;i<u;++i)r[i].r+=a;if(o=Oh(r),a)for(i=0;i<u;++i)r[i].r-=a;e.r=o+a}}}function Yh(t){return function(n){var e=n.parent;n.r*=t,e&&(n.x=e.x+t*n.x,n.y=e.y+t*n.y)}}var Bh=function(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)},Hh=function(t,n,e,r,i){for(var o,u=t.children,a=-1,c=u.length,f=t.value&&(r-n)/t.value;++a<c;)(o=u[a]).y0=e,o.y1=i,o.x0=n,o.x1=n+=o.value*f},Xh=function(){var t=1,n=1,e=0,r=!1;function i(i){var o=i.height+1;return i.x0=i.y0=e,i.x1=t,i.y1=n/o,i.eachBefore(function(t,n){return function(r){r.children&&Hh(r,r.x0,t*(r.depth+1)/n,r.x1,t*(r.depth+2)/n);var i=r.x0,o=r.y0,u=r.x1-e,a=r.y1-e;u<i&&(i=u=(i+u)/2),a<o&&(o=a=(o+a)/2),r.x0=i,r.y0=o,r.x1=u,r.y1=a}}(n,o)),r&&i.eachBefore(Bh),i}return i.round=function(t){return arguments.length?(r=!!t,i):r},i.size=function(e){return arguments.length?(t=+e[0],n=+e[1],i):[t,n]},i.padding=function(t){return arguments.length?(e=+t,i):e},i},Vh={depth:-1},Wh={};function $h(t){return t.id}function Zh(t){return t.parentId}var Gh=function(){var t=$h,n=Zh;function e(e){var r,i,o,u,a,c,f,s=e.length,l=new Array(s),h={};for(i=0;i<s;++i)r=e[i],a=l[i]=new _h(r),null!=(c=t(r,i,e))&&(c+="")&&(h[f="$"+(a.id=c)]=f in h?Wh:a);for(i=0;i<s;++i)if(a=l[i],null!=(c=n(e[i],i,e))&&(c+="")){if(!(u=h["$"+c]))throw new Error("missing: "+c);if(u===Wh)throw new Error("ambiguous: "+c);u.children?u.children.push(a):u.children=[a],a.parent=u}else{if(o)throw new Error("multiple roots");o=a}if(!o)throw new Error("no root");if(o.parent=Vh,o.eachBefore((function(t){t.depth=t.parent.depth+1,--s})).eachBefore(gh),o.parent=null,s>0)throw new Error("cycle");return o}return e.id=function(n){return arguments.length?(t=Rh(n),e):t},e.parentId=function(t){return arguments.length?(n=Rh(t),e):n},e};function Qh(t,n){return t.parent===n.parent?1:2}function Jh(t){var n=t.children;return n?n[0]:t.t}function Kh(t){var n=t.children;return n?n[n.length-1]:t.t}function td(t,n,e){var r=e/(n.i-t.i);n.c-=r,n.s+=e,t.c+=r,n.z+=e,n.m+=e}function nd(t,n,e){return t.a.parent===n.parent?t.a:e}function ed(t,n){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=n}ed.prototype=Object.create(_h.prototype);var rd=function(){var t=Qh,n=1,e=1,r=null;function i(i){var c=function(t){for(var n,e,r,i,o,u=new ed(t,0),a=[u];n=a.pop();)if(r=n._.children)for(n.children=new Array(o=r.length),i=o-1;i>=0;--i)a.push(e=n.children[i]=new ed(r[i],i)),e.parent=n;return(u.parent=new ed(null,0)).children=[u],u}(i);if(c.eachAfter(o),c.parent.m=-c.z,c.eachBefore(u),r)i.eachBefore(a);else{var f=i,s=i,l=i;i.eachBefore((function(t){t.x<f.x&&(f=t),t.x>s.x&&(s=t),t.depth>l.depth&&(l=t)}));var h=f===s?1:t(f,s)/2,d=h-f.x,p=n/(s.x+h+d),v=e/(l.depth||1);i.eachBefore((function(t){t.x=(t.x+d)*p,t.y=t.depth*v}))}return i}function o(n){var e=n.children,r=n.parent.children,i=n.i?r[n.i-1]:null;if(e){!function(t){for(var n,e=0,r=0,i=t.children,o=i.length;--o>=0;)(n=i[o]).z+=e,n.m+=e,e+=n.s+(r+=n.c)}(n);var o=(e[0].z+e[e.length-1].z)/2;i?(n.z=i.z+t(n._,i._),n.m=n.z-o):n.z=o}else i&&(n.z=i.z+t(n._,i._));n.parent.A=function(n,e,r){if(e){for(var i,o=n,u=n,a=e,c=o.parent.children[0],f=o.m,s=u.m,l=a.m,h=c.m;a=Kh(a),o=Jh(o),a&&o;)c=Jh(c),(u=Kh(u)).a=n,(i=a.z+l-o.z-f+t(a._,o._))>0&&(td(nd(a,n,r),n,i),f+=i,s+=i),l+=a.m,f+=o.m,h+=c.m,s+=u.m;a&&!Kh(u)&&(u.t=a,u.m+=l-s),o&&!Jh(c)&&(c.t=o,c.m+=f-h,r=n)}return r}(n,i,n.parent.A||r[0])}function u(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function a(t){t.x*=n,t.y=t.depth*e}return i.separation=function(n){return arguments.length?(t=n,i):t},i.size=function(t){return arguments.length?(r=!1,n=+t[0],e=+t[1],i):r?null:[n,e]},i.nodeSize=function(t){return arguments.length?(r=!0,n=+t[0],e=+t[1],i):r?[n,e]:null},i},id=function(t,n,e,r,i){for(var o,u=t.children,a=-1,c=u.length,f=t.value&&(i-e)/t.value;++a<c;)(o=u[a]).x0=n,o.x1=r,o.y0=e,o.y1=e+=o.value*f},od=(1+Math.sqrt(5))/2;function ud(t,n,e,r,i,o){for(var u,a,c,f,s,l,h,d,p,v,y,g=[],_=n.children,m=0,x=0,b=_.length,w=n.value;m<b;){c=i-e,f=o-r;do{s=_[x++].value}while(!s&&x<b);for(l=h=s,y=s*s*(v=Math.max(f/c,c/f)/(w*t)),p=Math.max(h/y,y/l);x<b;++x){if(s+=a=_[x].value,a<l&&(l=a),a>h&&(h=a),y=s*s*v,(d=Math.max(h/y,y/l))>p){s-=a;break}p=d}g.push(u={value:s,dice:c<f,children:_.slice(m,x)}),u.dice?Hh(u,e,r,i,w?r+=f*s/w:o):id(u,e,r,w?e+=c*s/w:i,o),w-=s,m=x}return g}var ad=function t(n){function e(t,e,r,i,o){ud(n,t,e,r,i,o)}return e.ratio=function(n){return t((n=+n)>1?n:1)},e}(od),cd=function(){var t=ad,n=!1,e=1,r=1,i=[0],o=Lh,u=Lh,a=Lh,c=Lh,f=Lh;function s(t){return t.x0=t.y0=0,t.x1=e,t.y1=r,t.eachBefore(l),i=[0],n&&t.eachBefore(Bh),t}function l(n){var e=i[n.depth],r=n.x0+e,s=n.y0+e,l=n.x1-e,h=n.y1-e;l<r&&(r=l=(r+l)/2),h<s&&(s=h=(s+h)/2),n.x0=r,n.y0=s,n.x1=l,n.y1=h,n.children&&(e=i[n.depth+1]=o(n)/2,r+=f(n)-e,s+=u(n)-e,(l-=a(n)-e)<r&&(r=l=(r+l)/2),(h-=c(n)-e)<s&&(s=h=(s+h)/2),t(n,r,s,l,h))}return s.round=function(t){return arguments.length?(n=!!t,s):n},s.size=function(t){return arguments.length?(e=+t[0],r=+t[1],s):[e,r]},s.tile=function(n){return arguments.length?(t=Rh(n),s):t},s.padding=function(t){return arguments.length?s.paddingInner(t).paddingOuter(t):s.paddingInner()},s.paddingInner=function(t){return arguments.length?(o="function"==typeof t?t:Uh(+t),s):o},s.paddingOuter=function(t){return arguments.length?s.paddingTop(t).paddingRight(t).paddingBottom(t).paddingLeft(t):s.paddingTop()},s.paddingTop=function(t){return arguments.length?(u="function"==typeof t?t:Uh(+t),s):u},s.paddingRight=function(t){return arguments.length?(a="function"==typeof t?t:Uh(+t),s):a},s.paddingBottom=function(t){return arguments.length?(c="function"==typeof t?t:Uh(+t),s):c},s.paddingLeft=function(t){return arguments.length?(f="function"==typeof t?t:Uh(+t),s):f},s},fd=function(t,n,e,r,i){var o,u,a=t.children,c=a.length,f=new Array(c+1);for(f[0]=u=o=0;o<c;++o)f[o+1]=u+=a[o].value;!function t(n,e,r,i,o,u,c){if(n>=e-1){var s=a[n];return s.x0=i,s.y0=o,s.x1=u,void(s.y1=c)}var l=f[n],h=r/2+l,d=n+1,p=e-1;for(;d<p;){var v=d+p>>>1;f[v]<h?d=v+1:p=v}h-f[d-1]<f[d]-h&&n+1<d&&--d;var y=f[d]-l,g=r-y;if(u-i>c-o){var _=(i*g+u*y)/r;t(n,d,y,i,o,_,c),t(d,e,g,_,o,u,c)}else{var m=(o*g+c*y)/r;t(n,d,y,i,o,u,m),t(d,e,g,i,m,u,c)}}(0,c,t.value,n,e,r,i)},sd=function(t,n,e,r,i){(1&t.depth?id:Hh)(t,n,e,r,i)},ld=function t(n){function e(t,e,r,i,o){if((u=t._squarify)&&u.ratio===n)for(var u,a,c,f,s,l=-1,h=u.length,d=t.value;++l<h;){for(c=(a=u[l]).children,f=a.value=0,s=c.length;f<s;++f)a.value+=c[f].value;a.dice?Hh(a,e,r,i,r+=(o-r)*a.value/d):id(a,e,r,e+=(i-e)*a.value/d,o),d-=a.value}else t._squarify=u=ud(n,t,e,r,i,o),u.ratio=n}return e.ratio=function(n){return t((n=+n)>1?n:1)},e}(od),hd=function(t){for(var n,e=-1,r=t.length,i=t[r-1],o=0;++e<r;)n=i,i=t[e],o+=n[1]*i[0]-n[0]*i[1];return o/2},dd=function(t){for(var n,e,r=-1,i=t.length,o=0,u=0,a=t[i-1],c=0;++r<i;)n=a,a=t[r],c+=e=n[0]*a[1]-a[0]*n[1],o+=(n[0]+a[0])*e,u+=(n[1]+a[1])*e;return[o/(c*=3),u/c]};function pd(t,n){return t[0]-n[0]||t[1]-n[1]}function vd(t){for(var n,e,r,i=t.length,o=[0,1],u=2,a=2;a<i;++a){for(;u>1&&(n=t[o[u-2]],e=t[o[u-1]],r=t[a],(e[0]-n[0])*(r[1]-n[1])-(e[1]-n[1])*(r[0]-n[0])<=0);)--u;o[u++]=a}return o.slice(0,u)}var yd=function(t){if((e=t.length)<3)return null;var n,e,r=new Array(e),i=new Array(e);for(n=0;n<e;++n)r[n]=[+t[n][0],+t[n][1],n];for(r.sort(pd),n=0;n<e;++n)i[n]=[r[n][0],-r[n][1]];var o=vd(r),u=vd(i),a=u[0]===o[0],c=u[u.length-1]===o[o.length-1],f=[];for(n=o.length-1;n>=0;--n)f.push(t[r[o[n]][2]]);for(n=+a;n<u.length-c;++n)f.push(t[r[u[n]][2]]);return f},gd=function(t,n){for(var e,r,i=t.length,o=t[i-1],u=n[0],a=n[1],c=o[0],f=o[1],s=!1,l=0;l<i;++l)e=(o=t[l])[0],(r=o[1])>a!=f>a&&u<(c-e)*(a-r)/(f-r)+e&&(s=!s),c=e,f=r;return s},_d=function(t){for(var n,e,r=-1,i=t.length,o=t[i-1],u=o[0],a=o[1],c=0;++r<i;)n=u,e=a,n-=u=(o=t[r])[0],e-=a=o[1],c+=Math.sqrt(n*n+e*e);return c},md=[].slice,xd={};function bd(t){this._size=t,this._call=this._error=null,this._tasks=[],this._data=[],this._waiting=this._active=this._ended=this._start=0}function wd(t){if(!t._start)try{!function(t){for(;t._start=t._waiting&&t._active<t._size;){var n=t._ended+t._active,e=t._tasks[n],r=e.length-1,i=e[r];e[r]=Md(t,n),--t._waiting,++t._active,e=i.apply(null,e),t._tasks[n]&&(t._tasks[n]=e||xd)}}(t)}catch(n){if(t._tasks[t._ended+t._active-1])kd(t,n);else if(!t._data)throw n}}function Md(t,n){return function(e,r){t._tasks[n]&&(--t._active,++t._ended,t._tasks[n]=null,null==t._error&&(null!=e?kd(t,e):(t._data[n]=r,t._waiting?wd(t):Td(t))))}}function kd(t,n){var e,r=t._tasks.length;for(t._error=n,t._data=void 0,t._waiting=NaN;--r>=0;)if((e=t._tasks[r])&&(t._tasks[r]=null,e.abort))try{e.abort()}catch(n){}t._active=NaN,Td(t)}function Td(t){if(!t._active&&t._call){var n=t._data;t._data=void 0,t._call(t._error,n)}}function Sd(t){if(null==t)t=1/0;else if(!((t=+t)>=1))throw new Error("invalid concurrency");return new bd(t)}bd.prototype=Sd.prototype={constructor:bd,defer:function(t){if("function"!=typeof t)throw new Error("invalid callback");if(this._call)throw new Error("defer after await");if(null!=this._error)return this;var n=md.call(arguments,1);return n.push(t),++this._waiting,this._tasks.push(n),wd(this),this},abort:function(){return null==this._error&&kd(this,new Error("abort")),this},await:function(t){if("function"!=typeof t)throw new Error("invalid callback");if(this._call)throw new Error("multiple await");return this._call=function(n,e){t.apply(null,[n].concat(e))},Td(this),this},awaitAll:function(t){if("function"!=typeof t)throw new Error("invalid callback");if(this._call)throw new Error("multiple await");return this._call=t,Td(this),this}};var Ad=function(){return Math.random()},Nd=function t(n){function e(t,e){return t=null==t?0:+t,e=null==e?1:+e,1===arguments.length?(e=t,t=0):e-=t,function(){return n()*e+t}}return e.source=t,e}(Ad),Ed=function t(n){function e(t,e){var r,i;return t=null==t?0:+t,e=null==e?1:+e,function(){var o;if(null!=r)o=r,r=null;else do{r=2*n()-1,o=2*n()-1,i=r*r+o*o}while(!i||i>1);return t+e*o*Math.sqrt(-2*Math.log(i)/i)}}return e.source=t,e}(Ad),Cd=function t(n){function e(){var t=Ed.source(n).apply(this,arguments);return function(){return Math.exp(t())}}return e.source=t,e}(Ad),Pd=function t(n){function e(t){return function(){for(var e=0,r=0;r<t;++r)e+=n();return e}}return e.source=t,e}(Ad),Od=function t(n){function e(t){var e=Pd.source(n)(t);return function(){return e()/t}}return e.source=t,e}(Ad),Dd=function t(n){function e(t){return function(){return-Math.log(1-n())/t}}return e.source=t,e}(Ad),zd=function(t,n){var e,r,i,o,u=st("beforesend","progress","load","error"),a=uu(),c=new XMLHttpRequest,f=null,s=null,l=0;function h(t){var n,r=c.status;if(!r&&function(t){var n=t.responseType;return n&&"text"!==n?t.response:t.responseText}(c)||r>=200&&r<300||304===r){if(i)try{n=i.call(e,c)}catch(t){return void u.call("error",e,t)}else n=c;u.call("load",e,n)}else u.call("error",e,t)}if("undefined"==typeof XDomainRequest||"withCredentials"in c||!/^(http(s)?:)?\/\//.test(t)||(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=c.ontimeout=h:c.onreadystatechange=function(t){c.readyState>3&&h(t)},c.onprogress=function(t){u.call("progress",e,t)},e={header:function(t,n){return t=(t+"").toLowerCase(),arguments.length<2?a.get(t):(null==n?a.remove(t):a.set(t,n+""),e)},mimeType:function(t){return arguments.length?(r=null==t?null:t+"",e):r},responseType:function(t){return arguments.length?(o=t,e):o},timeout:function(t){return arguments.length?(l=+t,e):l},user:function(t){return arguments.length<1?f:(f=null==t?null:t+"",e)},password:function(t){return arguments.length<1?s:(s=null==t?null:t+"",e)},response:function(t){return i=t,e},get:function(t,n){return e.send("GET",t,n)},post:function(t,n){return e.send("POST",t,n)},send:function(n,i,h){return c.open(n,t,!0,f,s),null==r||a.has("accept")||a.set("accept",r+",*/*"),c.setRequestHeader&&a.each((function(t,n){c.setRequestHeader(n,t)})),null!=r&&c.overrideMimeType&&c.overrideMimeType(r),null!=o&&(c.responseType=o),l>0&&(c.timeout=l),null==h&&"function"==typeof i&&(h=i,i=null),null!=h&&1===h.length&&(h=function(t){return function(n,e){t(null==n?e:null)}}(h)),null!=h&&e.on("error",h).on("load",(function(t){h(null,t)})),u.call("beforesend",e,c),c.send(null==i?null:i),e},abort:function(){return c.abort(),e},on:function(){var t=u.on.apply(u,arguments);return t===u?e:t}},null!=n){if("function"!=typeof n)throw new Error("invalid callback: "+n);return e.get(n)}return e};var Rd=function(t,n){return function(e,r){var i=zd(e).mimeType(t).response(n);if(null!=r){if("function"!=typeof r)throw new Error("invalid callback: "+r);return i.get(r)}return i}},Ld=Rd("text/html",(function(t){return document.createRange().createContextualFragment(t.responseText)})),Ud=Rd("application/json",(function(t){return JSON.parse(t.responseText)})),Id=Rd("text/plain",(function(t){return t.responseText})),qd=Rd("application/xml",(function(t){var n=t.responseXML;if(!n)throw new Error("parse error");return n})),jd=function(t,n){return function(e,r,i){arguments.length<3&&(i=r,r=null);var o=zd(e).mimeType(t);return o.row=function(t){return arguments.length?o.response(Fd(n,r=t)):r},o.row(r),i?o.get(i):o}};function Fd(t,n){return function(e){return t(e.responseText,n)}}var Yd=jd("text/csv",ku),Bd=jd("text/tab-separated-values",Eu),Hd=Array.prototype,Xd=Hd.map,Vd=Hd.slice,Wd={name:"implicit"};function $d(t){var n=uu(),e=[],r=Wd;function i(i){var o=i+"",u=n.get(o);if(!u){if(r!==Wd)return r;n.set(o,u=e.push(i))}return t[(u-1)%t.length]}return t=null==t?[]:Vd.call(t),i.domain=function(t){if(!arguments.length)return e.slice();e=[],n=uu();for(var r,o,u=-1,a=t.length;++u<a;)n.has(o=(r=t[u])+"")||n.set(o,e.push(r));return i},i.range=function(n){return arguments.length?(t=Vd.call(n),i):t.slice()},i.unknown=function(t){return arguments.length?(r=t,i):r},i.copy=function(){return $d().domain(e).range(t).unknown(r)},i}function Zd(){var t,n,e=$d().unknown(void 0),r=e.domain,i=e.range,o=[0,1],u=!1,a=0,c=0,f=.5;function s(){var e=r().length,s=o[1]<o[0],l=o[s-0],h=o[1-s];t=(h-l)/Math.max(1,e-a+2*c),u&&(t=Math.floor(t)),l+=(h-l-t*(e-a))*f,n=t*(1-a),u&&(l=Math.round(l),n=Math.round(n));var d=w(e).map((function(n){return l+t*n}));return i(s?d.reverse():d)}return delete e.unknown,e.domain=function(t){return arguments.length?(r(t),s()):r()},e.range=function(t){return arguments.length?(o=[+t[0],+t[1]],s()):o.slice()},e.rangeRound=function(t){return o=[+t[0],+t[1]],u=!0,s()},e.bandwidth=function(){return n},e.step=function(){return t},e.round=function(t){return arguments.length?(u=!!t,s()):u},e.padding=function(t){return arguments.length?(a=c=Math.max(0,Math.min(1,t)),s()):a},e.paddingInner=function(t){return arguments.length?(a=Math.max(0,Math.min(1,t)),s()):a},e.paddingOuter=function(t){return arguments.length?(c=Math.max(0,Math.min(1,t)),s()):c},e.align=function(t){return arguments.length?(f=Math.max(0,Math.min(1,t)),s()):f},e.copy=function(){return Zd().domain(r()).range(o).round(u).paddingInner(a).paddingOuter(c).align(f)},s()}function Gd(){return function t(n){var e=n.copy;return n.padding=n.paddingOuter,delete n.paddingInner,delete n.paddingOuter,n.copy=function(){return t(e())},n}(Zd().paddingInner(1))}var Qd=function(t){return function(){return t}},Jd=function(t){return+t},Kd=[0,1];function tp(t,n){return(n-=t=+t)?function(e){return(e-t)/n}:Qd(n)}function np(t,n,e,r){var i=t[0],o=t[1],u=n[0],a=n[1];return o<i?(i=e(o,i),u=r(a,u)):(i=e(i,o),u=r(u,a)),function(t){return u(i(t))}}function ep(t,n,e,r){var i=Math.min(t.length,n.length)-1,o=new Array(i),u=new Array(i),a=-1;for(t[i]<t[0]&&(t=t.slice().reverse(),n=n.slice().reverse());++a<i;)o[a]=e(t[a],t[a+1]),u[a]=r(n[a],n[a+1]);return function(n){var e=c(t,n,1,i)-1;return u[e](o[e](n))}}function rp(t,n){return n.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp())}function ip(t,n){var e,r,i,o=Kd,u=Kd,a=cr,c=!1;function f(){return e=Math.min(o.length,u.length)>2?ep:np,r=i=null,s}function s(n){return(r||(r=e(o,u,c?function(t){return function(n,e){var r=t(n=+n,e=+e);return function(t){return t<=n?0:t>=e?1:r(t)}}}(t):t,a)))(+n)}return s.invert=function(t){return(i||(i=e(u,o,tp,c?function(t){return function(n,e){var r=t(n=+n,e=+e);return function(t){return t<=0?n:t>=1?e:r(t)}}}(n):n)))(+t)},s.domain=function(t){return arguments.length?(o=Xd.call(t,Jd),f()):o.slice()},s.range=function(t){return arguments.length?(u=Vd.call(t),f()):u.slice()},s.rangeRound=function(t){return u=Vd.call(t),a=fr,f()},s.clamp=function(t){return arguments.length?(c=!!t,f()):c},s.interpolate=function(t){return arguments.length?(a=t,f()):a},f()}function op(t){var n=t.domain;return t.ticks=function(t){var e=n();return S(e[0],e[e.length-1],null==t?10:t)},t.tickFormat=function(t,e){return function(t,n,e){var r,i=t[0],o=t[t.length-1],u=N(i,o,null==n?10:n);switch((e=sa(null==e?",f":e)).type){case"s":var a=Math.max(Math.abs(i),Math.abs(o));return null!=e.precision||isNaN(r=xa(u,a))||(e.precision=r),pa(e,a);case"":case"e":case"g":case"p":case"r":null!=e.precision||isNaN(r=ba(u,Math.max(Math.abs(i),Math.abs(o))))||(e.precision=r-("e"===e.type));break;case"f":case"%":null!=e.precision||isNaN(r=ma(u))||(e.precision=r-2*("%"===e.type))}return da(e)}(n(),t,e)},t.nice=function(e){null==e&&(e=10);var r,i=n(),o=0,u=i.length-1,a=i[o],c=i[u];return c<a&&(r=a,a=c,c=r,r=o,o=u,u=r),(r=A(a,c,e))>0?r=A(a=Math.floor(a/r)*r,c=Math.ceil(c/r)*r,e):r<0&&(r=A(a=Math.ceil(a*r)/r,c=Math.floor(c*r)/r,e)),r>0?(i[o]=Math.floor(a/r)*r,i[u]=Math.ceil(c/r)*r,n(i)):r<0&&(i[o]=Math.ceil(a*r)/r,i[u]=Math.floor(c*r)/r,n(i)),t},t}function up(){var t=ip(tp,Ke);return t.copy=function(){return rp(t,up())},op(t)}function ap(){var t=[0,1];function n(t){return+t}return n.invert=n,n.domain=n.range=function(e){return arguments.length?(t=Xd.call(e,Jd),n):t.slice()},n.copy=function(){return ap().domain(t)},op(n)}var cp=function(t,n){var e,r=0,i=(t=t.slice()).length-1,o=t[r],u=t[i];return u<o&&(e=r,r=i,i=e,e=o,o=u,u=e),t[r]=n.floor(o),t[i]=n.ceil(u),t};function fp(t,n){return(n=Math.log(n/t))?function(e){return Math.log(e/t)/n}:Qd(n)}function sp(t,n){return t<0?function(e){return-Math.pow(-n,e)*Math.pow(-t,1-e)}:function(e){return Math.pow(n,e)*Math.pow(t,1-e)}}function lp(t){return isFinite(t)?+("1e"+t):t<0?0:t}function hp(t){return 10===t?lp:t===Math.E?Math.exp:function(n){return Math.pow(t,n)}}function dp(t){return t===Math.E?Math.log:10===t&&Math.log10||2===t&&Math.log2||(t=Math.log(t),function(n){return Math.log(n)/t})}function pp(t){return function(n){return-t(-n)}}function vp(){var t=ip(fp,sp).domain([1,10]),n=t.domain,e=10,r=dp(10),i=hp(10);function o(){return r=dp(e),i=hp(e),n()[0]<0&&(r=pp(r),i=pp(i)),t}return t.base=function(t){return arguments.length?(e=+t,o()):e},t.domain=function(t){return arguments.length?(n(t),o()):n()},t.ticks=function(t){var o,u=n(),a=u[0],c=u[u.length-1];(o=c<a)&&(h=a,a=c,c=h);var f,s,l,h=r(a),d=r(c),p=null==t?10:+t,v=[];if(!(e%1)&&d-h<p){if(h=Math.round(h)-1,d=Math.round(d)+1,a>0){for(;h<d;++h)for(s=1,f=i(h);s<e;++s)if(!((l=f*s)<a)){if(l>c)break;v.push(l)}}else for(;h<d;++h)for(s=e-1,f=i(h);s>=1;--s)if(!((l=f*s)<a)){if(l>c)break;v.push(l)}}else v=S(h,d,Math.min(d-h,p)).map(i);return o?v.reverse():v},t.tickFormat=function(n,o){if(null==o&&(o=10===e?".0e":","),"function"!=typeof o&&(o=da(o)),n===1/0)return o;null==n&&(n=10);var u=Math.max(1,e*n/t.ticks().length);return function(t){var n=t/i(Math.round(r(t)));return n*e<e-.5&&(n*=e),n<=u?o(t):""}},t.nice=function(){return n(cp(n(),{floor:function(t){return i(Math.floor(r(t)))},ceil:function(t){return i(Math.ceil(r(t)))}}))},t.copy=function(){return rp(t,vp().base(e))},t}function yp(t,n){return t<0?-Math.pow(-t,n):Math.pow(t,n)}function gp(){var t=1,n=ip((function(n,e){return(e=yp(e,t)-(n=yp(n,t)))?function(r){return(yp(r,t)-n)/e}:Qd(e)}),(function(n,e){return e=yp(e,t)-(n=yp(n,t)),function(r){return yp(n+e*r,1/t)}})),e=n.domain;return n.exponent=function(n){return arguments.length?(t=+n,e(e())):t},n.copy=function(){return rp(n,gp().exponent(t))},op(n)}function _p(){return gp().exponent(.5)}function mp(){var t=[],n=[],e=[];function i(){var r=0,i=Math.max(1,n.length);for(e=new Array(i-1);++r<i;)e[r-1]=P(t,r/i);return o}function o(t){if(!isNaN(t=+t))return n[c(e,t)]}return o.invertExtent=function(r){var i=n.indexOf(r);return i<0?[NaN,NaN]:[i>0?e[i-1]:t[0],i<e.length?e[i]:t[t.length-1]]},o.domain=function(n){if(!arguments.length)return t.slice();t=[];for(var e,o=0,u=n.length;o<u;++o)null==(e=n[o])||isNaN(e=+e)||t.push(e);return t.sort(r),i()},o.range=function(t){return arguments.length?(n=Vd.call(t),i()):n.slice()},o.quantiles=function(){return e.slice()},o.copy=function(){return mp().domain(t).range(n)},o}function xp(){var t=0,n=1,e=1,r=[.5],i=[0,1];function o(t){if(t<=t)return i[c(r,t,0,e)]}function u(){var i=-1;for(r=new Array(e);++i<e;)r[i]=((i+1)*n-(i-e)*t)/(e+1);return o}return o.domain=function(e){return arguments.length?(t=+e[0],n=+e[1],u()):[t,n]},o.range=function(t){return arguments.length?(e=(i=Vd.call(t)).length-1,u()):i.slice()},o.invertExtent=function(o){var u=i.indexOf(o);return u<0?[NaN,NaN]:u<1?[t,r[0]]:u>=e?[r[e-1],n]:[r[u-1],r[u]]},o.copy=function(){return xp().domain([t,n]).range(i)},op(o)}function bp(){var t=[.5],n=[0,1],e=1;function r(r){if(r<=r)return n[c(t,r,0,e)]}return r.domain=function(i){return arguments.length?(t=Vd.call(i),e=Math.min(t.length,n.length-1),r):t.slice()},r.range=function(i){return arguments.length?(n=Vd.call(i),e=Math.min(t.length,n.length-1),r):n.slice()},r.invertExtent=function(e){var r=n.indexOf(e);return[t[r-1],t[r]]},r.copy=function(){return bp().domain(t).range(n)},r}var wp=new Date,Mp=new Date;function kp(t,n,e,r){function i(n){return t(n=new Date(+n)),n}return i.floor=i,i.ceil=function(e){return t(e=new Date(e-1)),n(e,1),t(e),e},i.round=function(t){var n=i(t),e=i.ceil(t);return t-n<e-t?n:e},i.offset=function(t,e){return n(t=new Date(+t),null==e?1:Math.floor(e)),t},i.range=function(e,r,o){var u,a=[];if(e=i.ceil(e),o=null==o?1:Math.floor(o),!(e<r&&o>0))return a;do{a.push(u=new Date(+e)),n(e,o),t(e)}while(u<e&&e<r);return a},i.filter=function(e){return kp((function(n){if(n>=n)for(;t(n),!e(n);)n.setTime(n-1)}),(function(t,r){if(t>=t)if(r<0)for(;++r<=0;)for(;n(t,-1),!e(t););else for(;--r>=0;)for(;n(t,1),!e(t););}))},e&&(i.count=function(n,r){return wp.setTime(+n),Mp.setTime(+r),t(wp),t(Mp),Math.floor(e(wp,Mp))},i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?i.filter(r?function(n){return r(n)%t==0}:function(n){return i.count(0,n)%t==0}):i:null}),i}var Tp=kp((function(){}),(function(t,n){t.setTime(+t+n)}),(function(t,n){return n-t}));Tp.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?kp((function(n){n.setTime(Math.floor(n/t)*t)}),(function(n,e){n.setTime(+n+e*t)}),(function(n,e){return(e-n)/t})):Tp:null};var Sp=Tp,Ap=Tp.range,Np=kp((function(t){t.setTime(1e3*Math.floor(t/1e3))}),(function(t,n){t.setTime(+t+1e3*n)}),(function(t,n){return(n-t)/1e3}),(function(t){return t.getUTCSeconds()})),Ep=Np,Cp=Np.range,Pp=kp((function(t){t.setTime(6e4*Math.floor(t/6e4))}),(function(t,n){t.setTime(+t+6e4*n)}),(function(t,n){return(n-t)/6e4}),(function(t){return t.getMinutes()})),Op=Pp,Dp=Pp.range,zp=kp((function(t){var n=6e4*t.getTimezoneOffset()%36e5;n<0&&(n+=36e5),t.setTime(36e5*Math.floor((+t-n)/36e5)+n)}),(function(t,n){t.setTime(+t+36e5*n)}),(function(t,n){return(n-t)/36e5}),(function(t){return t.getHours()})),Rp=zp,Lp=zp.range,Up=kp((function(t){t.setHours(0,0,0,0)}),(function(t,n){t.setDate(t.getDate()+n)}),(function(t,n){return(n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/864e5}),(function(t){return t.getDate()-1})),Ip=Up,qp=Up.range;function jp(t){return kp((function(n){n.setDate(n.getDate()-(n.getDay()+7-t)%7),n.setHours(0,0,0,0)}),(function(t,n){t.setDate(t.getDate()+7*n)}),(function(t,n){return(n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/6048e5}))}var Fp=jp(0),Yp=jp(1),Bp=jp(2),Hp=jp(3),Xp=jp(4),Vp=jp(5),Wp=jp(6),$p=Fp.range,Zp=Yp.range,Gp=Bp.range,Qp=Hp.range,Jp=Xp.range,Kp=Vp.range,tv=Wp.range,nv=kp((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,n){t.setMonth(t.getMonth()+n)}),(function(t,n){return n.getMonth()-t.getMonth()+12*(n.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()})),ev=nv,rv=nv.range,iv=kp((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,n){t.setFullYear(t.getFullYear()+n)}),(function(t,n){return n.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));iv.every=function(t){return isFinite(t=Math.floor(t))&&t>0?kp((function(n){n.setFullYear(Math.floor(n.getFullYear()/t)*t),n.setMonth(0,1),n.setHours(0,0,0,0)}),(function(n,e){n.setFullYear(n.getFullYear()+e*t)})):null};var ov=iv,uv=iv.range,av=kp((function(t){t.setUTCSeconds(0,0)}),(function(t,n){t.setTime(+t+6e4*n)}),(function(t,n){return(n-t)/6e4}),(function(t){return t.getUTCMinutes()})),cv=av,fv=av.range,sv=kp((function(t){t.setUTCMinutes(0,0,0)}),(function(t,n){t.setTime(+t+36e5*n)}),(function(t,n){return(n-t)/36e5}),(function(t){return t.getUTCHours()})),lv=sv,hv=sv.range,dv=kp((function(t){t.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCDate(t.getUTCDate()+n)}),(function(t,n){return(n-t)/864e5}),(function(t){return t.getUTCDate()-1})),pv=dv,vv=dv.range;function yv(t){return kp((function(n){n.setUTCDate(n.getUTCDate()-(n.getUTCDay()+7-t)%7),n.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCDate(t.getUTCDate()+7*n)}),(function(t,n){return(n-t)/6048e5}))}var gv=yv(0),_v=yv(1),mv=yv(2),xv=yv(3),bv=yv(4),wv=yv(5),Mv=yv(6),kv=gv.range,Tv=_v.range,Sv=mv.range,Av=xv.range,Nv=bv.range,Ev=wv.range,Cv=Mv.range,Pv=kp((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCMonth(t.getUTCMonth()+n)}),(function(t,n){return n.getUTCMonth()-t.getUTCMonth()+12*(n.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()})),Ov=Pv,Dv=Pv.range,zv=kp((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCFullYear(t.getUTCFullYear()+n)}),(function(t,n){return n.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));zv.every=function(t){return isFinite(t=Math.floor(t))&&t>0?kp((function(n){n.setUTCFullYear(Math.floor(n.getUTCFullYear()/t)*t),n.setUTCMonth(0,1),n.setUTCHours(0,0,0,0)}),(function(n,e){n.setUTCFullYear(n.getUTCFullYear()+e*t)})):null};var Rv=zv,Lv=zv.range;function Uv(t){if(0<=t.y&&t.y<100){var n=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return n.setFullYear(t.y),n}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function Iv(t){if(0<=t.y&&t.y<100){var n=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return n.setUTCFullYear(t.y),n}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function qv(t){return{y:t,m:0,d:1,H:0,M:0,S:0,L:0}}function jv(t){var n=t.dateTime,e=t.date,r=t.time,i=t.periods,o=t.days,u=t.shortDays,a=t.months,c=t.shortMonths,f=Jv(i),s=Kv(i),l=Jv(o),h=Kv(o),d=Jv(u),p=Kv(u),v=Jv(a),y=Kv(a),g=Jv(c),_=Kv(c),m={a:function(t){return u[t.getDay()]},A:function(t){return o[t.getDay()]},b:function(t){return c[t.getMonth()]},B:function(t){return a[t.getMonth()]},c:null,d:my,e:my,f:ky,H:xy,I:by,j:wy,L:My,m:Ty,M:Sy,p:function(t){return i[+(t.getHours()>=12)]},Q:tg,s:ng,S:Ay,u:Ny,U:Ey,V:Cy,w:Py,W:Oy,x:null,X:null,y:Dy,Y:zy,Z:Ry,"%":Ky},x={a:function(t){return u[t.getUTCDay()]},A:function(t){return o[t.getUTCDay()]},b:function(t){return c[t.getUTCMonth()]},B:function(t){return a[t.getUTCMonth()]},c:null,d:Ly,e:Ly,f:Fy,H:Uy,I:Iy,j:qy,L:jy,m:Yy,M:By,p:function(t){return i[+(t.getUTCHours()>=12)]},Q:tg,s:ng,S:Hy,u:Xy,U:Vy,V:Wy,w:$y,W:Zy,x:null,X:null,y:Gy,Y:Qy,Z:Jy,"%":Ky},b={a:function(t,n,e){var r=d.exec(n.slice(e));return r?(t.w=p[r[0].toLowerCase()],e+r[0].length):-1},A:function(t,n,e){var r=l.exec(n.slice(e));return r?(t.w=h[r[0].toLowerCase()],e+r[0].length):-1},b:function(t,n,e){var r=g.exec(n.slice(e));return r?(t.m=_[r[0].toLowerCase()],e+r[0].length):-1},B:function(t,n,e){var r=v.exec(n.slice(e));return r?(t.m=y[r[0].toLowerCase()],e+r[0].length):-1},c:function(t,e,r){return k(t,n,e,r)},d:fy,e:fy,f:vy,H:ly,I:ly,j:sy,L:py,m:cy,M:hy,p:function(t,n,e){var r=f.exec(n.slice(e));return r?(t.p=s[r[0].toLowerCase()],e+r[0].length):-1},Q:gy,s:_y,S:dy,u:ny,U:ey,V:ry,w:ty,W:iy,x:function(t,n,r){return k(t,e,n,r)},X:function(t,n,e){return k(t,r,n,e)},y:uy,Y:oy,Z:ay,"%":yy};function w(t,n){return function(e){var r,i,o,u=[],a=-1,c=0,f=t.length;for(e instanceof Date||(e=new Date(+e));++a<f;)37===t.charCodeAt(a)&&(u.push(t.slice(c,a)),null!=(i=Vv[r=t.charAt(++a)])?r=t.charAt(++a):i="e"===r?" ":"0",(o=n[r])&&(r=o(e,i)),u.push(r),c=a+1);return u.push(t.slice(c,a)),u.join("")}}function M(t,n){return function(e){var r,i,o=qv(1900);if(k(o,t,e+="",0)!=e.length)return null;if("Q"in o)return new Date(o.Q);if("p"in o&&(o.H=o.H%12+12*o.p),"V"in o){if(o.V<1||o.V>53)return null;"w"in o||(o.w=1),"Z"in o?(i=(r=Iv(qv(o.y))).getUTCDay(),r=i>4||0===i?_v.ceil(r):_v(r),r=pv.offset(r,7*(o.V-1)),o.y=r.getUTCFullYear(),o.m=r.getUTCMonth(),o.d=r.getUTCDate()+(o.w+6)%7):(i=(r=n(qv(o.y))).getDay(),r=i>4||0===i?Yp.ceil(r):Yp(r),r=Ip.offset(r,7*(o.V-1)),o.y=r.getFullYear(),o.m=r.getMonth(),o.d=r.getDate()+(o.w+6)%7)}else("W"in o||"U"in o)&&("w"in o||(o.w="u"in o?o.u%7:"W"in o?1:0),i="Z"in o?Iv(qv(o.y)).getUTCDay():n(qv(o.y)).getDay(),o.m=0,o.d="W"in o?(o.w+6)%7+7*o.W-(i+5)%7:o.w+7*o.U-(i+6)%7);return"Z"in o?(o.H+=o.Z/100|0,o.M+=o.Z%100,Iv(o)):n(o)}}function k(t,n,e,r){for(var i,o,u=0,a=n.length,c=e.length;u<a;){if(r>=c)return-1;if(37===(i=n.charCodeAt(u++))){if(i=n.charAt(u++),!(o=b[i in Vv?n.charAt(u++):i])||(r=o(t,e,r))<0)return-1}else if(i!=e.charCodeAt(r++))return-1}return r}return(m.x=w(e,m),m.X=w(r,m),m.c=w(n,m),x.x=w(e,x),x.X=w(r,x),x.c=w(n,x),{format:function(t){var n=w(t+="",m);return n.toString=function(){return t},n},parse:function(t){var n=M(t+="",Uv);return n.toString=function(){return t},n},utcFormat:function(t){var n=w(t+="",x);return n.toString=function(){return t},n},utcParse:function(t){var n=M(t,Iv);return n.toString=function(){return t},n}})}var Fv,Yv,Bv,Hv,Xv,Vv={"-":"",_:" ",0:"0"},Wv=/^\s*\d+/,$v=/^%/,Zv=/[\\^$*+?|[\]().{}]/g;function Gv(t,n,e){var r=t<0?"-":"",i=(r?-t:t)+"",o=i.length;return r+(o<e?new Array(e-o+1).join(n)+i:i)}function Qv(t){return t.replace(Zv,"\\$&")}function Jv(t){return new RegExp("^(?:"+t.map(Qv).join("|")+")","i")}function Kv(t){for(var n={},e=-1,r=t.length;++e<r;)n[t[e].toLowerCase()]=e;return n}function ty(t,n,e){var r=Wv.exec(n.slice(e,e+1));return r?(t.w=+r[0],e+r[0].length):-1}function ny(t,n,e){var r=Wv.exec(n.slice(e,e+1));return r?(t.u=+r[0],e+r[0].length):-1}function ey(t,n,e){var r=Wv.exec(n.slice(e,e+2));return r?(t.U=+r[0],e+r[0].length):-1}function ry(t,n,e){var r=Wv.exec(n.slice(e,e+2));return r?(t.V=+r[0],e+r[0].length):-1}function iy(t,n,e){var r=Wv.exec(n.slice(e,e+2));return r?(t.W=+r[0],e+r[0].length):-1}function oy(t,n,e){var r=Wv.exec(n.slice(e,e+4));return r?(t.y=+r[0],e+r[0].length):-1}function uy(t,n,e){var r=Wv.exec(n.slice(e,e+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),e+r[0].length):-1}function ay(t,n,e){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(n.slice(e,e+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),e+r[0].length):-1}function cy(t,n,e){var r=Wv.exec(n.slice(e,e+2));return r?(t.m=r[0]-1,e+r[0].length):-1}function fy(t,n,e){var r=Wv.exec(n.slice(e,e+2));return r?(t.d=+r[0],e+r[0].length):-1}function sy(t,n,e){var r=Wv.exec(n.slice(e,e+3));return r?(t.m=0,t.d=+r[0],e+r[0].length):-1}function ly(t,n,e){var r=Wv.exec(n.slice(e,e+2));return r?(t.H=+r[0],e+r[0].length):-1}function hy(t,n,e){var r=Wv.exec(n.slice(e,e+2));return r?(t.M=+r[0],e+r[0].length):-1}function dy(t,n,e){var r=Wv.exec(n.slice(e,e+2));return r?(t.S=+r[0],e+r[0].length):-1}function py(t,n,e){var r=Wv.exec(n.slice(e,e+3));return r?(t.L=+r[0],e+r[0].length):-1}function vy(t,n,e){var r=Wv.exec(n.slice(e,e+6));return r?(t.L=Math.floor(r[0]/1e3),e+r[0].length):-1}function yy(t,n,e){var r=$v.exec(n.slice(e,e+1));return r?e+r[0].length:-1}function gy(t,n,e){var r=Wv.exec(n.slice(e));return r?(t.Q=+r[0],e+r[0].length):-1}function _y(t,n,e){var r=Wv.exec(n.slice(e));return r?(t.Q=1e3*+r[0],e+r[0].length):-1}function my(t,n){return Gv(t.getDate(),n,2)}function xy(t,n){return Gv(t.getHours(),n,2)}function by(t,n){return Gv(t.getHours()%12||12,n,2)}function wy(t,n){return Gv(1+Ip.count(ov(t),t),n,3)}function My(t,n){return Gv(t.getMilliseconds(),n,3)}function ky(t,n){return My(t,n)+"000"}function Ty(t,n){return Gv(t.getMonth()+1,n,2)}function Sy(t,n){return Gv(t.getMinutes(),n,2)}function Ay(t,n){return Gv(t.getSeconds(),n,2)}function Ny(t){var n=t.getDay();return 0===n?7:n}function Ey(t,n){return Gv(Fp.count(ov(t),t),n,2)}function Cy(t,n){var e=t.getDay();return t=e>=4||0===e?Xp(t):Xp.ceil(t),Gv(Xp.count(ov(t),t)+(4===ov(t).getDay()),n,2)}function Py(t){return t.getDay()}function Oy(t,n){return Gv(Yp.count(ov(t),t),n,2)}function Dy(t,n){return Gv(t.getFullYear()%100,n,2)}function zy(t,n){return Gv(t.getFullYear()%1e4,n,4)}function Ry(t){var n=t.getTimezoneOffset();return(n>0?"-":(n*=-1,"+"))+Gv(n/60|0,"0",2)+Gv(n%60,"0",2)}function Ly(t,n){return Gv(t.getUTCDate(),n,2)}function Uy(t,n){return Gv(t.getUTCHours(),n,2)}function Iy(t,n){return Gv(t.getUTCHours()%12||12,n,2)}function qy(t,n){return Gv(1+pv.count(Rv(t),t),n,3)}function jy(t,n){return Gv(t.getUTCMilliseconds(),n,3)}function Fy(t,n){return jy(t,n)+"000"}function Yy(t,n){return Gv(t.getUTCMonth()+1,n,2)}function By(t,n){return Gv(t.getUTCMinutes(),n,2)}function Hy(t,n){return Gv(t.getUTCSeconds(),n,2)}function Xy(t){var n=t.getUTCDay();return 0===n?7:n}function Vy(t,n){return Gv(gv.count(Rv(t),t),n,2)}function Wy(t,n){var e=t.getUTCDay();return t=e>=4||0===e?bv(t):bv.ceil(t),Gv(bv.count(Rv(t),t)+(4===Rv(t).getUTCDay()),n,2)}function $y(t){return t.getUTCDay()}function Zy(t,n){return Gv(_v.count(Rv(t),t),n,2)}function Gy(t,n){return Gv(t.getUTCFullYear()%100,n,2)}function Qy(t,n){return Gv(t.getUTCFullYear()%1e4,n,4)}function Jy(){return"+0000"}function Ky(){return"%"}function tg(t){return+t}function ng(t){return Math.floor(+t/1e3)}function eg(t){return Fv=jv(t),Yv=Fv.format,Bv=Fv.parse,Hv=Fv.utcFormat,Xv=Fv.utcParse,Fv}eg({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"]});var rg=Date.prototype.toISOString?function(t){return t.toISOString()}:Hv("%Y-%m-%dT%H:%M:%S.%LZ");var ig=+new Date("2000-01-01T00:00:00.000Z")?function(t){var n=new Date(t);return isNaN(n)?null:n}:Xv("%Y-%m-%dT%H:%M:%S.%LZ");function og(t){return new Date(t)}function ug(t){return t instanceof Date?+t:+new Date(+t)}function ag(t,n,e,r,o,u,a,c,f){var s=ip(tp,Ke),l=s.invert,h=s.domain,d=f(".%L"),p=f(":%S"),v=f("%I:%M"),y=f("%I %p"),g=f("%a %d"),_=f("%b %d"),m=f("%B"),x=f("%Y"),b=[[a,1,1e3],[a,5,5e3],[a,15,15e3],[a,30,3e4],[u,1,6e4],[u,5,3e5],[u,15,9e5],[u,30,18e5],[o,1,36e5],[o,3,108e5],[o,6,216e5],[o,12,432e5],[r,1,864e5],[r,2,1728e5],[e,1,6048e5],[n,1,2592e6],[n,3,7776e6],[t,1,31536e6]];function w(i){return(a(i)<i?d:u(i)<i?p:o(i)<i?v:r(i)<i?y:n(i)<i?e(i)<i?g:_:t(i)<i?m:x)(i)}function M(n,e,r,o){if(null==n&&(n=10),"number"==typeof n){var u=Math.abs(r-e)/n,a=i((function(t){return t[2]})).right(b,u);a===b.length?(o=N(e/31536e6,r/31536e6,n),n=t):a?(o=(a=b[u/b[a-1][2]<b[a][2]/u?a-1:a])[1],n=a[0]):(o=Math.max(N(e,r,n),1),n=c)}return null==o?n:n.every(o)}return s.invert=function(t){return new Date(l(t))},s.domain=function(t){return arguments.length?h(Xd.call(t,ug)):h().map(og)},s.ticks=function(t,n){var e,r=h(),i=r[0],o=r[r.length-1],u=o<i;return u&&(e=i,i=o,o=e),e=(e=M(t,i,o,n))?e.range(i,o+1):[],u?e.reverse():e},s.tickFormat=function(t,n){return null==n?w:f(n)},s.nice=function(t,n){var e=h();return(t=M(t,e[0],e[e.length-1],n))?h(cp(e,t)):s},s.copy=function(){return rp(s,ag(t,n,e,r,o,u,a,c,f))},s}var cg=function(){return ag(ov,ev,Fp,Ip,Rp,Op,Ep,Sp,Yv).domain([new Date(2e3,0,1),new Date(2e3,0,2)])},fg=function(){return ag(Rv,Ov,gv,pv,lv,cv,Ep,Sp,Hv).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)])},sg=function(t){return t.match(/.{6}/g).map((function(t){return"#"+t}))},lg=sg("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),hg=sg("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6"),dg=sg("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9"),pg=sg("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5"),vg=Cr(Ue(300,.5,0),Ue(-240,.5,1)),yg=Cr(Ue(-100,.75,.35),Ue(80,1.5,.8)),gg=Cr(Ue(260,.75,.35),Ue(80,1.5,.8)),_g=Ue(),mg=function(t){(t<0||t>1)&&(t-=Math.floor(t));var n=Math.abs(t-.5);return _g.h=360*t-100,_g.s=1.5-1.5*n,_g.l=.8-.9*n,_g+""};function xg(t){var n=t.length;return function(e){return t[Math.max(0,Math.min(n-1,Math.floor(e*n)))]}}var bg=xg(sg("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),wg=xg(sg("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),Mg=xg(sg("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),kg=xg(sg("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));function Tg(t){var n=0,e=1,r=!1;function i(i){var o=(i-n)/(e-n);return t(r?Math.max(0,Math.min(1,o)):o)}return i.domain=function(t){return arguments.length?(n=+t[0],e=+t[1],i):[n,e]},i.clamp=function(t){return arguments.length?(r=!!t,i):r},i.interpolator=function(n){return arguments.length?(t=n,i):t},i.copy=function(){return Tg(t).domain([n,e]).clamp(r)},op(i)}var Sg=function(t){return function(){return t}},Ag=Math.abs,Ng=Math.atan2,Eg=Math.cos,Cg=Math.max,Pg=Math.min,Og=Math.sin,Dg=Math.sqrt,zg=Math.PI,Rg=zg/2,Lg=2*zg;function Ug(t){return t>1?0:t<-1?zg:Math.acos(t)}function Ig(t){return t>=1?Rg:t<=-1?-Rg:Math.asin(t)}function qg(t){return t.innerRadius}function jg(t){return t.outerRadius}function Fg(t){return t.startAngle}function Yg(t){return t.endAngle}function Bg(t){return t&&t.padAngle}function Hg(t,n,e,r,i,o,u,a){var c=e-t,f=r-n,s=u-i,l=a-o,h=(s*(n-o)-l*(t-i))/(l*c-s*f);return[t+h*c,n+h*f]}function Xg(t,n,e,r,i,o,u){var a=t-e,c=n-r,f=(u?o:-o)/Dg(a*a+c*c),s=f*c,l=-f*a,h=t+s,d=n+l,p=e+s,v=r+l,y=(h+p)/2,g=(d+v)/2,_=p-h,m=v-d,x=_*_+m*m,b=i-o,w=h*v-p*d,M=(m<0?-1:1)*Dg(Cg(0,b*b*x-w*w)),k=(w*m-_*M)/x,T=(-w*_-m*M)/x,S=(w*m+_*M)/x,A=(-w*_+m*M)/x,N=k-y,E=T-g,C=S-y,P=A-g;return N*N+E*E>C*C+P*P&&(k=S,T=A),{cx:k,cy:T,x01:-s,y01:-l,x11:k*(i/b-1),y11:T*(i/b-1)}}var Vg=function(){var t=qg,n=jg,e=Sg(0),r=null,i=Fg,o=Yg,u=Bg,a=null;function c(){var c,f,s=+t.apply(this,arguments),l=+n.apply(this,arguments),h=i.apply(this,arguments)-Rg,d=o.apply(this,arguments)-Rg,p=Ag(d-h),v=d>h;if(a||(a=c=Qo()),l<s&&(f=l,l=s,s=f),l>1e-12)if(p>Lg-1e-12)a.moveTo(l*Eg(h),l*Og(h)),a.arc(0,0,l,h,d,!v),s>1e-12&&(a.moveTo(s*Eg(d),s*Og(d)),a.arc(0,0,s,d,h,v));else{var y,g,_=h,m=d,x=h,b=d,w=p,M=p,k=u.apply(this,arguments)/2,T=k>1e-12&&(r?+r.apply(this,arguments):Dg(s*s+l*l)),S=Pg(Ag(l-s)/2,+e.apply(this,arguments)),A=S,N=S;if(T>1e-12){var E=Ig(T/s*Og(k)),C=Ig(T/l*Og(k));(w-=2*E)>1e-12?(x+=E*=v?1:-1,b-=E):(w=0,x=b=(h+d)/2),(M-=2*C)>1e-12?(_+=C*=v?1:-1,m-=C):(M=0,_=m=(h+d)/2)}var P=l*Eg(_),O=l*Og(_),D=s*Eg(b),z=s*Og(b);if(S>1e-12){var R=l*Eg(m),L=l*Og(m),U=s*Eg(x),I=s*Og(x);if(p<zg){var q=w>1e-12?Hg(P,O,U,I,R,L,D,z):[D,z],j=P-q[0],F=O-q[1],Y=R-q[0],B=L-q[1],H=1/Og(Ug((j*Y+F*B)/(Dg(j*j+F*F)*Dg(Y*Y+B*B)))/2),X=Dg(q[0]*q[0]+q[1]*q[1]);A=Pg(S,(s-X)/(H-1)),N=Pg(S,(l-X)/(H+1))}}M>1e-12?N>1e-12?(y=Xg(U,I,P,O,l,N,v),g=Xg(R,L,D,z,l,N,v),a.moveTo(y.cx+y.x01,y.cy+y.y01),N<S?a.arc(y.cx,y.cy,N,Ng(y.y01,y.x01),Ng(g.y01,g.x01),!v):(a.arc(y.cx,y.cy,N,Ng(y.y01,y.x01),Ng(y.y11,y.x11),!v),a.arc(0,0,l,Ng(y.cy+y.y11,y.cx+y.x11),Ng(g.cy+g.y11,g.cx+g.x11),!v),a.arc(g.cx,g.cy,N,Ng(g.y11,g.x11),Ng(g.y01,g.x01),!v))):(a.moveTo(P,O),a.arc(0,0,l,_,m,!v)):a.moveTo(P,O),s>1e-12&&w>1e-12?A>1e-12?(y=Xg(D,z,R,L,s,-A,v),g=Xg(P,O,U,I,s,-A,v),a.lineTo(y.cx+y.x01,y.cy+y.y01),A<S?a.arc(y.cx,y.cy,A,Ng(y.y01,y.x01),Ng(g.y01,g.x01),!v):(a.arc(y.cx,y.cy,A,Ng(y.y01,y.x01),Ng(y.y11,y.x11),!v),a.arc(0,0,s,Ng(y.cy+y.y11,y.cx+y.x11),Ng(g.cy+g.y11,g.cx+g.x11),v),a.arc(g.cx,g.cy,A,Ng(g.y11,g.x11),Ng(g.y01,g.x01),!v))):a.arc(0,0,s,b,x,v):a.lineTo(D,z)}else a.moveTo(0,0);if(a.closePath(),c)return a=null,c+""||null}return c.centroid=function(){var e=(+t.apply(this,arguments)+ +n.apply(this,arguments))/2,r=(+i.apply(this,arguments)+ +o.apply(this,arguments))/2-zg/2;return[Eg(r)*e,Og(r)*e]},c.innerRadius=function(n){return arguments.length?(t="function"==typeof n?n:Sg(+n),c):t},c.outerRadius=function(t){return arguments.length?(n="function"==typeof t?t:Sg(+t),c):n},c.cornerRadius=function(t){return arguments.length?(e="function"==typeof t?t:Sg(+t),c):e},c.padRadius=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:Sg(+t),c):r},c.startAngle=function(t){return arguments.length?(i="function"==typeof t?t:Sg(+t),c):i},c.endAngle=function(t){return arguments.length?(o="function"==typeof t?t:Sg(+t),c):o},c.padAngle=function(t){return arguments.length?(u="function"==typeof t?t:Sg(+t),c):u},c.context=function(t){return arguments.length?(a=null==t?null:t,c):a},c};function Wg(t){this._context=t}Wg.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:this._context.lineTo(t,n)}}};var $g=function(t){return new Wg(t)};function Zg(t){return t[0]}function Gg(t){return t[1]}var Qg=function(){var t=Zg,n=Gg,e=Sg(!0),r=null,i=$g,o=null;function u(u){var a,c,f,s=u.length,l=!1;for(null==r&&(o=i(f=Qo())),a=0;a<=s;++a)!(a<s&&e(c=u[a],a,u))===l&&((l=!l)?o.lineStart():o.lineEnd()),l&&o.point(+t(c,a,u),+n(c,a,u));if(f)return o=null,f+""||null}return u.x=function(n){return arguments.length?(t="function"==typeof n?n:Sg(+n),u):t},u.y=function(t){return arguments.length?(n="function"==typeof t?t:Sg(+t),u):n},u.defined=function(t){return arguments.length?(e="function"==typeof t?t:Sg(!!t),u):e},u.curve=function(t){return arguments.length?(i=t,null!=r&&(o=i(r)),u):i},u.context=function(t){return arguments.length?(null==t?r=o=null:o=i(r=t),u):r},u},Jg=function(){var t=Zg,n=null,e=Sg(0),r=Gg,i=Sg(!0),o=null,u=$g,a=null;function c(c){var f,s,l,h,d,p=c.length,v=!1,y=new Array(p),g=new Array(p);for(null==o&&(a=u(d=Qo())),f=0;f<=p;++f){if(!(f<p&&i(h=c[f],f,c))===v)if(v=!v)s=f,a.areaStart(),a.lineStart();else{for(a.lineEnd(),a.lineStart(),l=f-1;l>=s;--l)a.point(y[l],g[l]);a.lineEnd(),a.areaEnd()}v&&(y[f]=+t(h,f,c),g[f]=+e(h,f,c),a.point(n?+n(h,f,c):y[f],r?+r(h,f,c):g[f]))}if(d)return a=null,d+""||null}function f(){return Qg().defined(i).curve(u).context(o)}return c.x=function(e){return arguments.length?(t="function"==typeof e?e:Sg(+e),n=null,c):t},c.x0=function(n){return arguments.length?(t="function"==typeof n?n:Sg(+n),c):t},c.x1=function(t){return arguments.length?(n=null==t?null:"function"==typeof t?t:Sg(+t),c):n},c.y=function(t){return arguments.length?(e="function"==typeof t?t:Sg(+t),r=null,c):e},c.y0=function(t){return arguments.length?(e="function"==typeof t?t:Sg(+t),c):e},c.y1=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:Sg(+t),c):r},c.lineX0=c.lineY0=function(){return f().x(t).y(e)},c.lineY1=function(){return f().x(t).y(r)},c.lineX1=function(){return f().x(n).y(e)},c.defined=function(t){return arguments.length?(i="function"==typeof t?t:Sg(!!t),c):i},c.curve=function(t){return arguments.length?(u=t,null!=o&&(a=u(o)),c):u},c.context=function(t){return arguments.length?(null==t?o=a=null:a=u(o=t),c):o},c},Kg=function(t,n){return n<t?-1:n>t?1:n>=t?0:NaN},t_=function(t){return t},n_=function(){var t=t_,n=Kg,e=null,r=Sg(0),i=Sg(Lg),o=Sg(0);function u(u){var a,c,f,s,l,h=u.length,d=0,p=new Array(h),v=new Array(h),y=+r.apply(this,arguments),g=Math.min(Lg,Math.max(-Lg,i.apply(this,arguments)-y)),_=Math.min(Math.abs(g)/h,o.apply(this,arguments)),m=_*(g<0?-1:1);for(a=0;a<h;++a)(l=v[p[a]=a]=+t(u[a],a,u))>0&&(d+=l);for(null!=n?p.sort((function(t,e){return n(v[t],v[e])})):null!=e&&p.sort((function(t,n){return e(u[t],u[n])})),a=0,f=d?(g-h*m)/d:0;a<h;++a,y=s)c=p[a],s=y+((l=v[c])>0?l*f:0)+m,v[c]={data:u[c],index:a,value:l,startAngle:y,endAngle:s,padAngle:_};return v}return u.value=function(n){return arguments.length?(t="function"==typeof n?n:Sg(+n),u):t},u.sortValues=function(t){return arguments.length?(n=t,e=null,u):n},u.sort=function(t){return arguments.length?(e=t,n=null,u):e},u.startAngle=function(t){return arguments.length?(r="function"==typeof t?t:Sg(+t),u):r},u.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:Sg(+t),u):i},u.padAngle=function(t){return arguments.length?(o="function"==typeof t?t:Sg(+t),u):o},u},e_=i_($g);function r_(t){this._curve=t}function i_(t){function n(n){return new r_(t(n))}return n._curve=t,n}function o_(t){var n=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?n(i_(t)):n()._curve},t}r_.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,n){this._curve.point(n*Math.sin(t),n*-Math.cos(t))}};var u_=function(){return o_(Qg().curve(e_))},a_=function(){var t=Jg().curve(e_),n=t.curve,e=t.lineX0,r=t.lineX1,i=t.lineY0,o=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return o_(e())},delete t.lineX0,t.lineEndAngle=function(){return o_(r())},delete t.lineX1,t.lineInnerRadius=function(){return o_(i())},delete t.lineY0,t.lineOuterRadius=function(){return o_(o())},delete t.lineY1,t.curve=function(t){return arguments.length?n(i_(t)):n()._curve},t},c_=function(t,n){return[(n=+n)*Math.cos(t-=Math.PI/2),n*Math.sin(t)]},f_=Array.prototype.slice;function s_(t){return t.source}function l_(t){return t.target}function h_(t){var n=s_,e=l_,r=Zg,i=Gg,o=null;function u(){var u,a=f_.call(arguments),c=n.apply(this,a),f=e.apply(this,a);if(o||(o=u=Qo()),t(o,+r.apply(this,(a[0]=c,a)),+i.apply(this,a),+r.apply(this,(a[0]=f,a)),+i.apply(this,a)),u)return o=null,u+""||null}return u.source=function(t){return arguments.length?(n=t,u):n},u.target=function(t){return arguments.length?(e=t,u):e},u.x=function(t){return arguments.length?(r="function"==typeof t?t:Sg(+t),u):r},u.y=function(t){return arguments.length?(i="function"==typeof t?t:Sg(+t),u):i},u.context=function(t){return arguments.length?(o=null==t?null:t,u):o},u}function d_(t,n,e,r,i){t.moveTo(n,e),t.bezierCurveTo(n=(n+r)/2,e,n,i,r,i)}function p_(t,n,e,r,i){t.moveTo(n,e),t.bezierCurveTo(n,e=(e+i)/2,r,e,r,i)}function v_(t,n,e,r,i){var o=c_(n,e),u=c_(n,e=(e+i)/2),a=c_(r,e),c=c_(r,i);t.moveTo(o[0],o[1]),t.bezierCurveTo(u[0],u[1],a[0],a[1],c[0],c[1])}function y_(){return h_(d_)}function g_(){return h_(p_)}function __(){var t=h_(v_);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t}var m_={draw:function(t,n){var e=Math.sqrt(n/zg);t.moveTo(e,0),t.arc(0,0,e,0,Lg)}},x_={draw:function(t,n){var e=Math.sqrt(n/5)/2;t.moveTo(-3*e,-e),t.lineTo(-e,-e),t.lineTo(-e,-3*e),t.lineTo(e,-3*e),t.lineTo(e,-e),t.lineTo(3*e,-e),t.lineTo(3*e,e),t.lineTo(e,e),t.lineTo(e,3*e),t.lineTo(-e,3*e),t.lineTo(-e,e),t.lineTo(-3*e,e),t.closePath()}},b_=Math.sqrt(1/3),w_=2*b_,M_={draw:function(t,n){var e=Math.sqrt(n/w_),r=e*b_;t.moveTo(0,-e),t.lineTo(r,0),t.lineTo(0,e),t.lineTo(-r,0),t.closePath()}},k_=Math.sin(zg/10)/Math.sin(7*zg/10),T_=Math.sin(Lg/10)*k_,S_=-Math.cos(Lg/10)*k_,A_={draw:function(t,n){var e=Math.sqrt(.8908130915292852*n),r=T_*e,i=S_*e;t.moveTo(0,-e),t.lineTo(r,i);for(var o=1;o<5;++o){var u=Lg*o/5,a=Math.cos(u),c=Math.sin(u);t.lineTo(c*e,-a*e),t.lineTo(a*r-c*i,c*r+a*i)}t.closePath()}},N_={draw:function(t,n){var e=Math.sqrt(n),r=-e/2;t.rect(r,r,e,e)}},E_=Math.sqrt(3),C_={draw:function(t,n){var e=-Math.sqrt(n/(3*E_));t.moveTo(0,2*e),t.lineTo(-E_*e,-e),t.lineTo(E_*e,-e),t.closePath()}},P_=Math.sqrt(3)/2,O_=1/Math.sqrt(12),D_=3*(O_/2+1),z_={draw:function(t,n){var e=Math.sqrt(n/D_),r=e/2,i=e*O_,o=r,u=e*O_+e,a=-o,c=u;t.moveTo(r,i),t.lineTo(o,u),t.lineTo(a,c),t.lineTo(-.5*r-P_*i,P_*r+-.5*i),t.lineTo(-.5*o-P_*u,P_*o+-.5*u),t.lineTo(-.5*a-P_*c,P_*a+-.5*c),t.lineTo(-.5*r+P_*i,-.5*i-P_*r),t.lineTo(-.5*o+P_*u,-.5*u-P_*o),t.lineTo(-.5*a+P_*c,-.5*c-P_*a),t.closePath()}},R_=[m_,x_,M_,N_,A_,C_,z_],L_=function(){var t=Sg(m_),n=Sg(64),e=null;function r(){var r;if(e||(e=r=Qo()),t.apply(this,arguments).draw(e,+n.apply(this,arguments)),r)return e=null,r+""||null}return r.type=function(n){return arguments.length?(t="function"==typeof n?n:Sg(n),r):t},r.size=function(t){return arguments.length?(n="function"==typeof t?t:Sg(+t),r):n},r.context=function(t){return arguments.length?(e=null==t?null:t,r):e},r},U_=function(){};function I_(t,n,e){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+n)/6,(t._y0+4*t._y1+e)/6)}function q_(t){this._context=t}q_.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:I_(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:I_(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}};var j_=function(t){return new q_(t)};function F_(t){this._context=t}F_.prototype={areaStart:U_,areaEnd:U_,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x2=t,this._y2=n;break;case 1:this._point=2,this._x3=t,this._y3=n;break;case 2:this._point=3,this._x4=t,this._y4=n,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+n)/6);break;default:I_(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}};var Y_=function(t){return new F_(t)};function B_(t){this._context=t}B_.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var e=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+n)/6;this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break;case 3:this._point=4;default:I_(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}};var H_=function(t){return new B_(t)};function X_(t,n){this._basis=new q_(t),this._beta=n}X_.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,n=this._y,e=t.length-1;if(e>0)for(var r,i=t[0],o=n[0],u=t[e]-i,a=n[e]-o,c=-1;++c<=e;)r=c/e,this._basis.point(this._beta*t[c]+(1-this._beta)*(i+r*u),this._beta*n[c]+(1-this._beta)*(o+r*a));this._x=this._y=null,this._basis.lineEnd()},point:function(t,n){this._x.push(+t),this._y.push(+n)}};var V_=function t(n){function e(t){return 1===n?new q_(t):new X_(t,n)}return e.beta=function(n){return t(+n)},e}(.85);function W_(t,n,e){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-n),t._y2+t._k*(t._y1-e),t._x2,t._y2)}function $_(t,n){this._context=t,this._k=(1-n)/6}$_.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:W_(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2,this._x1=t,this._y1=n;break;case 2:this._point=3;default:W_(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var Z_=function t(n){function e(t){return new $_(t,n)}return e.tension=function(n){return t(+n)},e}(0);function G_(t,n){this._context=t,this._k=(1-n)/6}G_.prototype={areaStart:U_,areaEnd:U_,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:W_(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var Q_=function t(n){function e(t){return new G_(t,n)}return e.tension=function(n){return t(+n)},e}(0);function J_(t,n){this._context=t,this._k=(1-n)/6}J_.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:W_(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var K_=function t(n){function e(t){return new J_(t,n)}return e.tension=function(n){return t(+n)},e}(0);function tm(t,n,e){var r=t._x1,i=t._y1,o=t._x2,u=t._y2;if(t._l01_a>1e-12){var a=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,c=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*a-t._x0*t._l12_2a+t._x2*t._l01_2a)/c,i=(i*a-t._y0*t._l12_2a+t._y2*t._l01_2a)/c}if(t._l23_a>1e-12){var f=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,s=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*f+t._x1*t._l23_2a-n*t._l12_2a)/s,u=(u*f+t._y1*t._l23_2a-e*t._l12_2a)/s}t._context.bezierCurveTo(r,i,o,u,t._x2,t._y2)}function nm(t,n){this._context=t,this._alpha=n}nm.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3;default:tm(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var em=function t(n){function e(t){return n?new nm(t,n):new $_(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function rm(t,n){this._context=t,this._alpha=n}rm.prototype={areaStart:U_,areaEnd:U_,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:tm(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var im=function t(n){function e(t){return n?new rm(t,n):new G_(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function om(t,n){this._context=t,this._alpha=n}om.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:tm(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var um=function t(n){function e(t){return n?new om(t,n):new J_(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function am(t){this._context=t}am.prototype={areaStart:U_,areaEnd:U_,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,n){t=+t,n=+n,this._point?this._context.lineTo(t,n):(this._point=1,this._context.moveTo(t,n))}};var cm=function(t){return new am(t)};function fm(t){return t<0?-1:1}function sm(t,n,e){var r=t._x1-t._x0,i=n-t._x1,o=(t._y1-t._y0)/(r||i<0&&-0),u=(e-t._y1)/(i||r<0&&-0),a=(o*i+u*r)/(r+i);return(fm(o)+fm(u))*Math.min(Math.abs(o),Math.abs(u),.5*Math.abs(a))||0}function lm(t,n){var e=t._x1-t._x0;return e?(3*(t._y1-t._y0)/e-n)/2:n}function hm(t,n,e){var r=t._x0,i=t._y0,o=t._x1,u=t._y1,a=(o-r)/3;t._context.bezierCurveTo(r+a,i+a*n,o-a,u-a*e,o,u)}function dm(t){this._context=t}function pm(t){this._context=new vm(t)}function vm(t){this._context=t}function ym(t){return new dm(t)}function gm(t){return new pm(t)}function _m(t){this._context=t}function mm(t){var n,e,r=t.length-1,i=new Array(r),o=new Array(r),u=new Array(r);for(i[0]=0,o[0]=2,u[0]=t[0]+2*t[1],n=1;n<r-1;++n)i[n]=1,o[n]=4,u[n]=4*t[n]+2*t[n+1];for(i[r-1]=2,o[r-1]=7,u[r-1]=8*t[r-1]+t[r],n=1;n<r;++n)e=i[n]/o[n-1],o[n]-=e,u[n]-=e*u[n-1];for(i[r-1]=u[r-1]/o[r-1],n=r-2;n>=0;--n)i[n]=(u[n]-i[n+1])/o[n];for(o[r-1]=(t[r]+i[r-1])/2,n=0;n<r-1;++n)o[n]=2*t[n+1]-i[n+1];return[i,o]}dm.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:hm(this,this._t0,lm(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){var e=NaN;if(n=+n,(t=+t)!==this._x1||n!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3,hm(this,lm(this,e=sm(this,t,n)),e);break;default:hm(this,this._t0,e=sm(this,t,n))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n,this._t0=e}}},(pm.prototype=Object.create(dm.prototype)).point=function(t,n){dm.prototype.point.call(this,n,t)},vm.prototype={moveTo:function(t,n){this._context.moveTo(n,t)},closePath:function(){this._context.closePath()},lineTo:function(t,n){this._context.lineTo(n,t)},bezierCurveTo:function(t,n,e,r,i,o){this._context.bezierCurveTo(n,t,r,e,o,i)}},_m.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,n=this._y,e=t.length;if(e)if(this._line?this._context.lineTo(t[0],n[0]):this._context.moveTo(t[0],n[0]),2===e)this._context.lineTo(t[1],n[1]);else for(var r=mm(t),i=mm(n),o=0,u=1;u<e;++o,++u)this._context.bezierCurveTo(r[0][o],i[0][o],r[1][o],i[1][o],t[u],n[u]);(this._line||0!==this._line&&1===e)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,n){this._x.push(+t),this._y.push(+n)}};var xm=function(t){return new _m(t)};function bm(t,n){this._context=t,this._t=n}bm.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,n),this._context.lineTo(t,n);else{var e=this._x*(1-this._t)+t*this._t;this._context.lineTo(e,this._y),this._context.lineTo(e,n)}}this._x=t,this._y=n}};var wm=function(t){return new bm(t,.5)};function Mm(t){return new bm(t,0)}function km(t){return new bm(t,1)}var Tm=function(t,n){if((i=t.length)>1)for(var e,r,i,o=1,u=t[n[0]],a=u.length;o<i;++o)for(r=u,u=t[n[o]],e=0;e<a;++e)u[e][1]+=u[e][0]=isNaN(r[e][1])?r[e][0]:r[e][1]},Sm=function(t){for(var n=t.length,e=new Array(n);--n>=0;)e[n]=n;return e};function Am(t,n){return t[n]}var Nm=function(){var t=Sg([]),n=Sm,e=Tm,r=Am;function i(i){var o,u,a=t.apply(this,arguments),c=i.length,f=a.length,s=new Array(f);for(o=0;o<f;++o){for(var l,h=a[o],d=s[o]=new Array(c),p=0;p<c;++p)d[p]=l=[0,+r(i[p],h,p,i)],l.data=i[p];d.key=h}for(o=0,u=n(s);o<f;++o)s[u[o]].index=o;return e(s,u),s}return i.keys=function(n){return arguments.length?(t="function"==typeof n?n:Sg(f_.call(n)),i):t},i.value=function(t){return arguments.length?(r="function"==typeof t?t:Sg(+t),i):r},i.order=function(t){return arguments.length?(n=null==t?Sm:"function"==typeof t?t:Sg(f_.call(t)),i):n},i.offset=function(t){return arguments.length?(e=null==t?Tm:t,i):e},i},Em=function(t,n){if((r=t.length)>0){for(var e,r,i,o=0,u=t[0].length;o<u;++o){for(i=e=0;e<r;++e)i+=t[e][o][1]||0;if(i)for(e=0;e<r;++e)t[e][o][1]/=i}Tm(t,n)}},Cm=function(t,n){if((a=t.length)>1)for(var e,r,i,o,u,a,c=0,f=t[n[0]].length;c<f;++c)for(o=u=0,e=0;e<a;++e)(i=(r=t[n[e]][c])[1]-r[0])>=0?(r[0]=o,r[1]=o+=i):i<0?(r[1]=u,r[0]=u+=i):r[0]=o},Pm=function(t,n){if((e=t.length)>0){for(var e,r=0,i=t[n[0]],o=i.length;r<o;++r){for(var u=0,a=0;u<e;++u)a+=t[u][r][1]||0;i[r][1]+=i[r][0]=-a/2}Tm(t,n)}},Om=function(t,n){if((i=t.length)>0&&(r=(e=t[n[0]]).length)>0){for(var e,r,i,o=0,u=1;u<r;++u){for(var a=0,c=0,f=0;a<i;++a){for(var s=t[n[a]],l=s[u][1]||0,h=(l-(s[u-1][1]||0))/2,d=0;d<a;++d){var p=t[n[d]];h+=(p[u][1]||0)-(p[u-1][1]||0)}c+=l,f+=h*l}e[u-1][1]+=e[u-1][0]=o,c&&(o-=f/c)}e[u-1][1]+=e[u-1][0]=o,Tm(t,n)}},Dm=function(t){var n=t.map(zm);return Sm(t).sort((function(t,e){return n[t]-n[e]}))};function zm(t){for(var n,e=0,r=-1,i=t.length;++r<i;)(n=+t[r][1])&&(e+=n);return e}var Rm=function(t){return Dm(t).reverse()},Lm=function(t){var n,e,r=t.length,i=t.map(zm),o=Sm(t).sort((function(t,n){return i[n]-i[t]})),u=0,a=0,c=[],f=[];for(n=0;n<r;++n)e=o[n],u<a?(u+=i[e],c.push(e)):(a+=i[e],f.push(e));return f.reverse().concat(c)},Um=function(t){return Sm(t).reverse()},Im=function(t){return function(){return t}};function qm(t){return t[0]}function jm(t){return t[1]}function Fm(){this._=null}function Ym(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function Bm(t,n){var e=n,r=n.R,i=e.U;i?i.L===e?i.L=r:i.R=r:t._=r,r.U=i,e.U=r,e.R=r.L,e.R&&(e.R.U=e),r.L=e}function Hm(t,n){var e=n,r=n.L,i=e.U;i?i.L===e?i.L=r:i.R=r:t._=r,r.U=i,e.U=r,e.L=r.R,e.L&&(e.L.U=e),r.R=e}function Xm(t){for(;t.L;)t=t.L;return t}Fm.prototype={constructor:Fm,insert:function(t,n){var e,r,i;if(t){if(n.P=t,n.N=t.N,t.N&&(t.N.P=n),t.N=n,t.R){for(t=t.R;t.L;)t=t.L;t.L=n}else t.R=n;e=t}else this._?(t=Xm(this._),n.P=null,n.N=t,t.P=t.L=n,e=t):(n.P=n.N=null,this._=n,e=null);for(n.L=n.R=null,n.U=e,n.C=!0,t=n;e&&e.C;)e===(r=e.U).L?(i=r.R)&&i.C?(e.C=i.C=!1,r.C=!0,t=r):(t===e.R&&(Bm(this,e),e=(t=e).U),e.C=!1,r.C=!0,Hm(this,r)):(i=r.L)&&i.C?(e.C=i.C=!1,r.C=!0,t=r):(t===e.L&&(Hm(this,e),e=(t=e).U),e.C=!1,r.C=!0,Bm(this,r)),e=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var n,e,r,i=t.U,o=t.L,u=t.R;if(e=o?u?Xm(u):o:u,i?i.L===t?i.L=e:i.R=e:this._=e,o&&u?(r=e.C,e.C=t.C,e.L=o,o.U=e,e!==u?(i=e.U,e.U=t.U,t=e.R,i.L=t,e.R=u,u.U=e):(e.U=i,i=e,t=e.R)):(r=t.C,t=e),t&&(t.U=i),!r)if(t&&t.C)t.C=!1;else{do{if(t===this._)break;if(t===i.L){if((n=i.R).C&&(n.C=!1,i.C=!0,Bm(this,i),n=i.R),n.L&&n.L.C||n.R&&n.R.C){n.R&&n.R.C||(n.L.C=!1,n.C=!0,Hm(this,n),n=i.R),n.C=i.C,i.C=n.R.C=!1,Bm(this,i),t=this._;break}}else if((n=i.L).C&&(n.C=!1,i.C=!0,Hm(this,i),n=i.L),n.L&&n.L.C||n.R&&n.R.C){n.L&&n.L.C||(n.R.C=!1,n.C=!0,Bm(this,n),n=i.L),n.C=i.C,i.C=n.L.C=!1,Hm(this,i),t=this._;break}n.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}};var Vm=Fm;function Wm(t,n,e,r){var i=[null,null],o=gx.push(i)-1;return i.left=t,i.right=n,e&&Zm(i,t,n,e),r&&Zm(i,n,t,r),vx[t.index].halfedges.push(o),vx[n.index].halfedges.push(o),i}function $m(t,n,e){var r=[n,e];return r.left=t,r}function Zm(t,n,e,r){t[0]||t[1]?t.left===e?t[1]=r:t[0]=r:(t[0]=r,t.left=n,t.right=e)}function Gm(t,n,e,r,i){var o,u=t[0],a=t[1],c=u[0],f=u[1],s=0,l=1,h=a[0]-c,d=a[1]-f;if(o=n-c,h||!(o>0)){if(o/=h,h<0){if(o<s)return;o<l&&(l=o)}else if(h>0){if(o>l)return;o>s&&(s=o)}if(o=r-c,h||!(o<0)){if(o/=h,h<0){if(o>l)return;o>s&&(s=o)}else if(h>0){if(o<s)return;o<l&&(l=o)}if(o=e-f,d||!(o>0)){if(o/=d,d<0){if(o<s)return;o<l&&(l=o)}else if(d>0){if(o>l)return;o>s&&(s=o)}if(o=i-f,d||!(o<0)){if(o/=d,d<0){if(o>l)return;o>s&&(s=o)}else if(d>0){if(o<s)return;o<l&&(l=o)}return!(s>0||l<1)||(s>0&&(t[0]=[c+s*h,f+s*d]),l<1&&(t[1]=[c+l*h,f+l*d]),!0)}}}}}function Qm(t,n,e,r,i){var o=t[1];if(o)return!0;var u,a,c=t[0],f=t.left,s=t.right,l=f[0],h=f[1],d=s[0],p=s[1],v=(l+d)/2,y=(h+p)/2;if(p===h){if(v<n||v>=r)return;if(l>d){if(c){if(c[1]>=i)return}else c=[v,e];o=[v,i]}else{if(c){if(c[1]<e)return}else c=[v,i];o=[v,e]}}else if(a=y-(u=(l-d)/(p-h))*v,u<-1||u>1)if(l>d){if(c){if(c[1]>=i)return}else c=[(e-a)/u,e];o=[(i-a)/u,i]}else{if(c){if(c[1]<e)return}else c=[(i-a)/u,i];o=[(e-a)/u,e]}else if(h<p){if(c){if(c[0]>=r)return}else c=[n,u*n+a];o=[r,u*r+a]}else{if(c){if(c[0]<n)return}else c=[r,u*r+a];o=[n,u*n+a]}return t[0]=c,t[1]=o,!0}function Jm(t,n){var e=t.site,r=n.left,i=n.right;return e===i&&(i=r,r=e),i?Math.atan2(i[1]-r[1],i[0]-r[0]):(e===r?(r=n[1],i=n[0]):(r=n[0],i=n[1]),Math.atan2(r[0]-i[0],i[1]-r[1]))}function Km(t,n){return n[+(n.left!==t.site)]}function tx(t,n){return n[+(n.left===t.site)]}var nx,ex=[];function rx(){Ym(this),this.x=this.y=this.arc=this.site=this.cy=null}function ix(t){var n=t.P,e=t.N;if(n&&e){var r=n.site,i=t.site,o=e.site;if(r!==o){var u=i[0],a=i[1],c=r[0]-u,f=r[1]-a,s=o[0]-u,l=o[1]-a,h=2*(c*l-f*s);if(!(h>=-mx)){var d=c*c+f*f,p=s*s+l*l,v=(l*d-f*p)/h,y=(c*p-s*d)/h,g=ex.pop()||new rx;g.arc=t,g.site=i,g.x=v+u,g.y=(g.cy=y+a)+Math.sqrt(v*v+y*y),t.circle=g;for(var _=null,m=yx._;m;)if(g.y<m.y||g.y===m.y&&g.x<=m.x){if(!m.L){_=m.P;break}m=m.L}else{if(!m.R){_=m;break}m=m.R}yx.insert(_,g),_||(nx=g)}}}}function ox(t){var n=t.circle;n&&(n.P||(nx=n.N),yx.remove(n),ex.push(n),Ym(n),t.circle=null)}var ux=[];function ax(){Ym(this),this.edge=this.site=this.circle=null}function cx(t){var n=ux.pop()||new ax;return n.site=t,n}function fx(t){ox(t),px.remove(t),ux.push(t),Ym(t)}function sx(t){var n=t.circle,e=n.x,r=n.cy,i=[e,r],o=t.P,u=t.N,a=[t];fx(t);for(var c=o;c.circle&&Math.abs(e-c.circle.x)<_x&&Math.abs(r-c.circle.cy)<_x;)o=c.P,a.unshift(c),fx(c),c=o;a.unshift(c),ox(c);for(var f=u;f.circle&&Math.abs(e-f.circle.x)<_x&&Math.abs(r-f.circle.cy)<_x;)u=f.N,a.push(f),fx(f),f=u;a.push(f),ox(f);var s,l=a.length;for(s=1;s<l;++s)f=a[s],c=a[s-1],Zm(f.edge,c.site,f.site,i);c=a[0],(f=a[l-1]).edge=Wm(c.site,f.site,null,i),ix(c),ix(f)}function lx(t){for(var n,e,r,i,o=t[0],u=t[1],a=px._;a;)if((r=hx(a,u)-o)>_x)a=a.L;else{if(!((i=o-dx(a,u))>_x)){r>-_x?(n=a.P,e=a):i>-_x?(n=a,e=a.N):n=e=a;break}if(!a.R){n=a;break}a=a.R}!function(t){vx[t.index]={site:t,halfedges:[]}}(t);var c=cx(t);if(px.insert(n,c),n||e){if(n===e)return ox(n),e=cx(n.site),px.insert(c,e),c.edge=e.edge=Wm(n.site,c.site),ix(n),void ix(e);if(e){ox(n),ox(e);var f=n.site,s=f[0],l=f[1],h=t[0]-s,d=t[1]-l,p=e.site,v=p[0]-s,y=p[1]-l,g=2*(h*y-d*v),_=h*h+d*d,m=v*v+y*y,x=[(y*_-d*m)/g+s,(h*m-v*_)/g+l];Zm(e.edge,f,p,x),c.edge=Wm(f,t,null,x),e.edge=Wm(t,p,null,x),ix(n),ix(e)}else c.edge=Wm(n.site,c.site)}}function hx(t,n){var e=t.site,r=e[0],i=e[1],o=i-n;if(!o)return r;var u=t.P;if(!u)return-1/0;var a=(e=u.site)[0],c=e[1],f=c-n;if(!f)return a;var s=a-r,l=1/o-1/f,h=s/f;return l?(-h+Math.sqrt(h*h-2*l*(s*s/(-2*f)-c+f/2+i-o/2)))/l+r:(r+a)/2}function dx(t,n){var e=t.N;if(e)return hx(e,n);var r=t.site;return r[1]===n?r[0]:1/0}var px,vx,yx,gx,_x=1e-6,mx=1e-12;function xx(t,n){return n[1]-t[1]||n[0]-t[0]}function bx(t,n){var e,r,i,o=t.sort(xx).pop();for(gx=[],vx=new Array(t.length),px=new Vm,yx=new Vm;;)if(i=nx,o&&(!i||o[1]<i.y||o[1]===i.y&&o[0]<i.x))o[0]===e&&o[1]===r||(lx(o),e=o[0],r=o[1]),o=t.pop();else{if(!i)break;sx(i.arc)}if(function(){for(var t,n,e,r,i=0,o=vx.length;i<o;++i)if((t=vx[i])&&(r=(n=t.halfedges).length)){var u=new Array(r),a=new Array(r);for(e=0;e<r;++e)u[e]=e,a[e]=Jm(t,gx[n[e]]);for(u.sort((function(t,n){return a[n]-a[t]})),e=0;e<r;++e)a[e]=n[u[e]];for(e=0;e<r;++e)n[e]=a[e]}}(),n){var u=+n[0][0],a=+n[0][1],c=+n[1][0],f=+n[1][1];!function(t,n,e,r){for(var i,o=gx.length;o--;)Qm(i=gx[o],t,n,e,r)&&Gm(i,t,n,e,r)&&(Math.abs(i[0][0]-i[1][0])>_x||Math.abs(i[0][1]-i[1][1])>_x)||delete gx[o]}(u,a,c,f),function(t,n,e,r){var i,o,u,a,c,f,s,l,h,d,p,v,y=vx.length,g=!0;for(i=0;i<y;++i)if(o=vx[i]){for(u=o.site,a=(c=o.halfedges).length;a--;)gx[c[a]]||c.splice(a,1);for(a=0,f=c.length;a<f;)p=(d=tx(o,gx[c[a]]))[0],v=d[1],l=(s=Km(o,gx[c[++a%f]]))[0],h=s[1],(Math.abs(p-l)>_x||Math.abs(v-h)>_x)&&(c.splice(a,0,gx.push($m(u,d,Math.abs(p-t)<_x&&r-v>_x?[t,Math.abs(l-t)<_x?h:r]:Math.abs(v-r)<_x&&e-p>_x?[Math.abs(h-r)<_x?l:e,r]:Math.abs(p-e)<_x&&v-n>_x?[e,Math.abs(l-e)<_x?h:n]:Math.abs(v-n)<_x&&p-t>_x?[Math.abs(h-n)<_x?l:t,n]:null))-1),++f);f&&(g=!1)}if(g){var _,m,x,b=1/0;for(i=0,g=null;i<y;++i)(o=vx[i])&&(x=(_=(u=o.site)[0]-t)*_+(m=u[1]-n)*m)<b&&(b=x,g=o);if(g){var w=[t,n],M=[t,r],k=[e,r],T=[e,n];g.halfedges.push(gx.push($m(u=g.site,w,M))-1,gx.push($m(u,M,k))-1,gx.push($m(u,k,T))-1,gx.push($m(u,T,w))-1)}}for(i=0;i<y;++i)(o=vx[i])&&(o.halfedges.length||delete vx[i])}(u,a,c,f)}this.edges=gx,this.cells=vx,px=yx=gx=vx=null}bx.prototype={constructor:bx,polygons:function(){var t=this.edges;return this.cells.map((function(n){var e=n.halfedges.map((function(e){return Km(n,t[e])}));return e.data=n.site.data,e}))},triangles:function(){var t=[],n=this.edges;return this.cells.forEach((function(e,r){if(o=(i=e.halfedges).length)for(var i,o,u,a,c,f,s=e.site,l=-1,h=n[i[o-1]],d=h.left===s?h.right:h.left;++l<o;)u=d,d=(h=n[i[l]]).left===s?h.right:h.left,u&&d&&r<u.index&&r<d.index&&(c=u,f=d,((a=s)[0]-f[0])*(c[1]-a[1])-(a[0]-c[0])*(f[1]-a[1])<0)&&t.push([s.data,u.data,d.data])})),t},links:function(){return this.edges.filter((function(t){return t.right})).map((function(t){return{source:t.left.data,target:t.right.data}}))},find:function(t,n,e){for(var r,i,o=this,u=o._found||0,a=o.cells.length;!(i=o.cells[u]);)if(++u>=a)return null;var c=t-i.site[0],f=n-i.site[1],s=c*c+f*f;do{i=o.cells[r=u],u=null,i.halfedges.forEach((function(e){var r=o.edges[e],a=r.left;if(a!==i.site&&a||(a=r.right)){var c=t-a[0],f=n-a[1],l=c*c+f*f;l<s&&(s=l,u=a.index)}}))}while(null!==u);return o._found=r,null==e||s<=e*e?i.site:null}};var wx=function(){var t=qm,n=jm,e=null;function r(r){return new bx(r.map((function(e,i){var o=[Math.round(t(e,i,r)/_x)*_x,Math.round(n(e,i,r)/_x)*_x];return o.index=i,o.data=e,o})),e)}return r.polygons=function(t){return r(t).polygons()},r.links=function(t){return r(t).links()},r.triangles=function(t){return r(t).triangles()},r.x=function(n){return arguments.length?(t="function"==typeof n?n:Im(+n),r):t},r.y=function(t){return arguments.length?(n="function"==typeof t?t:Im(+t),r):n},r.extent=function(t){return arguments.length?(e=null==t?null:[[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]],r):e&&[[e[0][0],e[0][1]],[e[1][0],e[1][1]]]},r.size=function(t){return arguments.length?(e=null==t?null:[[0,0],[+t[0],+t[1]]],r):e&&[e[1][0]-e[0][0],e[1][1]-e[0][1]]},r},Mx=function(t){return function(){return t}};function kx(t,n,e){this.target=t,this.type=n,this.transform=e}function Tx(t,n,e){this.k=t,this.x=n,this.y=e}Tx.prototype={constructor:Tx,scale:function(t){return 1===t?this:new Tx(this.k*t,this.x,this.y)},translate:function(t,n){return 0===t&0===n?this:new Tx(this.k,this.x+this.k*t,this.y+this.k*n)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Sx=new Tx(1,0,0);function Ax(t){return t.__zoom||Sx}function Nx(){hn.stopImmediatePropagation()}Ax.prototype=Tx.prototype;var Ex=function(){hn.preventDefault(),hn.stopImmediatePropagation()};function Cx(){return!hn.button}function Px(){var t,n,e=this;return e instanceof SVGElement?(t=(e=e.ownerSVGElement||e).width.baseVal.value,n=e.height.baseVal.value):(t=e.clientWidth,n=e.clientHeight),[[0,0],[t,n]]}function Ox(){return this.__zoom||Sx}function Dx(){return-hn.deltaY*(hn.deltaMode?120:1)/500}function zx(){return"ontouchstart"in this}function Rx(t,n,e){var r=t.invertX(n[0][0])-e[0][0],i=t.invertX(n[1][0])-e[1][0],o=t.invertY(n[0][1])-e[0][1],u=t.invertY(n[1][1])-e[1][1];return t.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),u>o?(o+u)/2:Math.min(0,o)||Math.max(0,u))}var Lx=function(){var t,n,e=Cx,r=Px,i=Rx,o=Dx,u=zx,a=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],f=250,s=_r,l=[],h=st("start","zoom","end"),d=0;function p(t){t.property("__zoom",Ox).on("wheel.zoom",b).on("mousedown.zoom",w).on("dblclick.zoom",M).filter(u).on("touchstart.zoom",k).on("touchmove.zoom",T).on("touchend.zoom touchcancel.zoom",S).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function v(t,n){return(n=Math.max(a[0],Math.min(a[1],n)))===t.k?t:new Tx(n,t.x,t.y)}function y(t,n,e){var r=n[0]-e[0]*t.k,i=n[1]-e[1]*t.k;return r===t.x&&i===t.y?t:new Tx(t.k,r,i)}function g(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function _(t,n,e){t.on("start.zoom",(function(){m(this,arguments).start()})).on("interrupt.zoom end.zoom",(function(){m(this,arguments).end()})).tween("zoom",(function(){var t=this,i=arguments,o=m(t,i),u=r.apply(t,i),a=e||g(u),c=Math.max(u[1][0]-u[0][0],u[1][1]-u[0][1]),f=t.__zoom,l="function"==typeof n?n.apply(t,i):n,h=s(f.invert(a).concat(c/f.k),l.invert(a).concat(c/l.k));return function(t){if(1===t)t=l;else{var n=h(t),e=c/n[2];t=new Tx(e,a[0]-n[0]*e,a[1]-n[1]*e)}o.zoom(null,t)}}))}function m(t,n){for(var e,r=0,i=l.length;r<i;++r)if((e=l[r]).that===t)return e;return new x(t,n)}function x(t,n){this.that=t,this.args=n,this.index=-1,this.active=0,this.extent=r.apply(t,n)}function b(){if(e.apply(this,arguments)){var t=m(this,arguments),n=this.__zoom,r=Math.max(a[0],Math.min(a[1],n.k*Math.pow(2,o.apply(this,arguments)))),u=Dn(this);if(t.wheel)t.mouse[0][0]===u[0]&&t.mouse[0][1]===u[1]||(t.mouse[1]=n.invert(t.mouse[0]=u)),clearTimeout(t.wheel);else{if(n.k===r)return;t.mouse=[u,n.invert(u)],ei(this),t.start()}Ex(),t.wheel=setTimeout(f,150),t.zoom("mouse",i(y(v(n,r),t.mouse[0],t.mouse[1]),t.extent,c))}function f(){t.wheel=null,t.end()}}function w(){if(!n&&e.apply(this,arguments)){var t=m(this,arguments),r=Sn(hn.view).on("mousemove.zoom",f,!0).on("mouseup.zoom",s,!0),o=Dn(this),u=hn.clientX,a=hn.clientY;qn(hn.view),Nx(),t.mouse=[o,this.__zoom.invert(o)],ei(this),t.start()}function f(){if(Ex(),!t.moved){var n=hn.clientX-u,e=hn.clientY-a;t.moved=n*n+e*e>d}t.zoom("mouse",i(y(t.that.__zoom,t.mouse[0]=Dn(t.that),t.mouse[1]),t.extent,c))}function s(){r.on("mousemove.zoom mouseup.zoom",null),jn(hn.view,t.moved),Ex(),t.end()}}function M(){if(e.apply(this,arguments)){var t=this.__zoom,n=Dn(this),o=t.invert(n),u=t.k*(hn.shiftKey?.5:2),a=i(y(v(t,u),n,o),r.apply(this,arguments),c);Ex(),f>0?Sn(this).transition().duration(f).call(_,a,n):Sn(this).call(p.transform,a)}}function k(){if(e.apply(this,arguments)){var n,r,i,o,u=m(this,arguments),a=hn.changedTouches,c=a.length;for(Nx(),r=0;r<c;++r)i=a[r],o=[o=Rn(this,a,i.identifier),this.__zoom.invert(o),i.identifier],u.touch0?u.touch1||(u.touch1=o):(u.touch0=o,n=!0);if(t&&(t=clearTimeout(t),!u.touch1))return u.end(),void((o=Sn(this).on("dblclick.zoom"))&&o.apply(this,arguments));n&&(t=setTimeout((function(){t=null}),500),ei(this),u.start())}}function T(){var n,e,r,o,u=m(this,arguments),a=hn.changedTouches,f=a.length;for(Ex(),t&&(t=clearTimeout(t)),n=0;n<f;++n)e=a[n],r=Rn(this,a,e.identifier),u.touch0&&u.touch0[2]===e.identifier?u.touch0[0]=r:u.touch1&&u.touch1[2]===e.identifier&&(u.touch1[0]=r);if(e=u.that.__zoom,u.touch1){var s=u.touch0[0],l=u.touch0[1],h=u.touch1[0],d=u.touch1[1],p=(p=h[0]-s[0])*p+(p=h[1]-s[1])*p,g=(g=d[0]-l[0])*g+(g=d[1]-l[1])*g;e=v(e,Math.sqrt(p/g)),r=[(s[0]+h[0])/2,(s[1]+h[1])/2],o=[(l[0]+d[0])/2,(l[1]+d[1])/2]}else{if(!u.touch0)return;r=u.touch0[0],o=u.touch0[1]}u.zoom("touch",i(y(e,r,o),u.extent,c))}function S(){var t,e,r=m(this,arguments),i=hn.changedTouches,o=i.length;for(Nx(),n&&clearTimeout(n),n=setTimeout((function(){n=null}),500),t=0;t<o;++t)e=i[t],r.touch0&&r.touch0[2]===e.identifier?delete r.touch0:r.touch1&&r.touch1[2]===e.identifier&&delete r.touch1;r.touch1&&!r.touch0&&(r.touch0=r.touch1,delete r.touch1),r.touch0?r.touch0[1]=this.__zoom.invert(r.touch0[0]):r.end()}return p.transform=function(t,n){var e=t.selection?t.selection():t;e.property("__zoom",Ox),t!==e?_(t,n):e.interrupt().each((function(){m(this,arguments).start().zoom(null,"function"==typeof n?n.apply(this,arguments):n).end()}))},p.scaleBy=function(t,n){p.scaleTo(t,(function(){var t=this.__zoom.k,e="function"==typeof n?n.apply(this,arguments):n;return t*e}))},p.scaleTo=function(t,n){p.transform(t,(function(){var t=r.apply(this,arguments),e=this.__zoom,o=g(t),u=e.invert(o),a="function"==typeof n?n.apply(this,arguments):n;return i(y(v(e,a),o,u),t,c)}))},p.translateBy=function(t,n,e){p.transform(t,(function(){return i(this.__zoom.translate("function"==typeof n?n.apply(this,arguments):n,"function"==typeof e?e.apply(this,arguments):e),r.apply(this,arguments),c)}))},p.translateTo=function(t,n,e){p.transform(t,(function(){var t=r.apply(this,arguments),o=this.__zoom,u=g(t);return i(Sx.translate(u[0],u[1]).scale(o.k).translate("function"==typeof n?-n.apply(this,arguments):-n,"function"==typeof e?-e.apply(this,arguments):-e),t,c)}))},x.prototype={start:function(){return 1==++this.active&&(this.index=l.push(this)-1,this.emit("start")),this},zoom:function(t,n){return this.mouse&&"mouse"!==t&&(this.mouse[1]=n.invert(this.mouse[0])),this.touch0&&"touch"!==t&&(this.touch0[1]=n.invert(this.touch0[0])),this.touch1&&"touch"!==t&&(this.touch1[1]=n.invert(this.touch1[0])),this.that.__zoom=n,this.emit("zoom"),this},end:function(){return 0==--this.active&&(l.splice(this.index,1),this.index=-1,this.emit("end")),this},emit:function(t){_n(new kx(p,t,this.that.__zoom),h.apply,h,[t,this.that,this.args])}},p.wheelDelta=function(t){return arguments.length?(o="function"==typeof t?t:Mx(+t),p):o},p.filter=function(t){return arguments.length?(e="function"==typeof t?t:Mx(!!t),p):e},p.touchable=function(t){return arguments.length?(u="function"==typeof t?t:Mx(!!t),p):u},p.extent=function(t){return arguments.length?(r="function"==typeof t?t:Mx([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),p):r},p.scaleExtent=function(t){return arguments.length?(a[0]=+t[0],a[1]=+t[1],p):[a[0],a[1]]},p.translateExtent=function(t){return arguments.length?(c[0][0]=+t[0][0],c[1][0]=+t[1][0],c[0][1]=+t[0][1],c[1][1]=+t[1][1],p):[[c[0][0],c[0][1]],[c[1][0],c[1][1]]]},p.constrain=function(t){return arguments.length?(i=t,p):i},p.duration=function(t){return arguments.length?(f=+t,p):f},p.interpolate=function(t){return arguments.length?(s=t,p):s},p.on=function(){var t=h.on.apply(h,arguments);return t===h?p:t},p.clickDistance=function(t){return arguments.length?(d=(t=+t)*t,p):Math.sqrt(d)},p};e.d(n,"version",(function(){return"4.13.0"})),e.d(n,"bisect",(function(){return c})),e.d(n,"bisectRight",(function(){return u})),e.d(n,"bisectLeft",(function(){return a})),e.d(n,"ascending",(function(){return r})),e.d(n,"bisector",(function(){return i})),e.d(n,"cross",(function(){return l})),e.d(n,"descending",(function(){return h})),e.d(n,"deviation",(function(){return v})),e.d(n,"extent",(function(){return y})),e.d(n,"histogram",(function(){return C})),e.d(n,"thresholdFreedmanDiaconis",(function(){return O})),e.d(n,"thresholdScott",(function(){return D})),e.d(n,"thresholdSturges",(function(){return E})),e.d(n,"max",(function(){return z})),e.d(n,"mean",(function(){return R})),e.d(n,"median",(function(){return L})),e.d(n,"merge",(function(){return U})),e.d(n,"min",(function(){return I})),e.d(n,"pairs",(function(){return f})),e.d(n,"permute",(function(){return q})),e.d(n,"quantile",(function(){return P})),e.d(n,"range",(function(){return w})),e.d(n,"scan",(function(){return j})),e.d(n,"shuffle",(function(){return F})),e.d(n,"sum",(function(){return Y})),e.d(n,"ticks",(function(){return S})),e.d(n,"tickIncrement",(function(){return A})),e.d(n,"tickStep",(function(){return N})),e.d(n,"transpose",(function(){return B})),e.d(n,"variance",(function(){return p})),e.d(n,"zip",(function(){return X})),e.d(n,"axisTop",(function(){return tt})),e.d(n,"axisRight",(function(){return nt})),e.d(n,"axisBottom",(function(){return et})),e.d(n,"axisLeft",(function(){return rt})),e.d(n,"brush",(function(){return zo})),e.d(n,"brushX",(function(){return Oo})),e.d(n,"brushY",(function(){return Do})),e.d(n,"brushSelection",(function(){return Po})),e.d(n,"chord",(function(){return Bo})),e.d(n,"ribbon",(function(){return ru})),e.d(n,"nest",(function(){return au})),e.d(n,"set",(function(){return vu})),e.d(n,"map",(function(){return uu})),e.d(n,"keys",(function(){return yu})),e.d(n,"values",(function(){return gu})),e.d(n,"entries",(function(){return _u})),e.d(n,"color",(function(){return fe})),e.d(n,"rgb",(function(){return de})),e.d(n,"hsl",(function(){return ge})),e.d(n,"lab",(function(){return Me})),e.d(n,"hcl",(function(){return Ce})),e.d(n,"cubehelix",(function(){return Ue})),e.d(n,"dispatch",(function(){return st})),e.d(n,"drag",(function(){return Wn})),e.d(n,"dragDisable",(function(){return qn})),e.d(n,"dragEnable",(function(){return jn})),e.d(n,"dsvFormat",(function(){return wu})),e.d(n,"csvParse",(function(){return ku})),e.d(n,"csvParseRows",(function(){return Tu})),e.d(n,"csvFormat",(function(){return Su})),e.d(n,"csvFormatRows",(function(){return Au})),e.d(n,"tsvParse",(function(){return Eu})),e.d(n,"tsvParseRows",(function(){return Cu})),e.d(n,"tsvFormat",(function(){return Pu})),e.d(n,"tsvFormatRows",(function(){return Ou})),e.d(n,"easeLinear",(function(){return Ni})),e.d(n,"easeQuad",(function(){return Pi})),e.d(n,"easeQuadIn",(function(){return Ei})),e.d(n,"easeQuadOut",(function(){return Ci})),e.d(n,"easeQuadInOut",(function(){return Pi})),e.d(n,"easeCubic",(function(){return zi})),e.d(n,"easeCubicIn",(function(){return Oi})),e.d(n,"easeCubicOut",(function(){return Di})),e.d(n,"easeCubicInOut",(function(){return zi})),e.d(n,"easePoly",(function(){return Ui})),e.d(n,"easePolyIn",(function(){return Ri})),e.d(n,"easePolyOut",(function(){return Li})),e.d(n,"easePolyInOut",(function(){return Ui})),e.d(n,"easeSin",(function(){return Yi})),e.d(n,"easeSinIn",(function(){return ji})),e.d(n,"easeSinOut",(function(){return Fi})),e.d(n,"easeSinInOut",(function(){return Yi})),e.d(n,"easeExp",(function(){return Xi})),e.d(n,"easeExpIn",(function(){return Bi})),e.d(n,"easeExpOut",(function(){return Hi})),e.d(n,"easeExpInOut",(function(){return Xi})),e.d(n,"easeCircle",(function(){return $i})),e.d(n,"easeCircleIn",(function(){return Vi})),e.d(n,"easeCircleOut",(function(){return Wi})),e.d(n,"easeCircleInOut",(function(){return $i})),e.d(n,"easeBounce",(function(){return Gi})),e.d(n,"easeBounceIn",(function(){return Zi})),e.d(n,"easeBounceOut",(function(){return Gi})),e.d(n,"easeBounceInOut",(function(){return Qi})),e.d(n,"easeBack",(function(){return to})),e.d(n,"easeBackIn",(function(){return Ji})),e.d(n,"easeBackOut",(function(){return Ki})),e.d(n,"easeBackInOut",(function(){return to})),e.d(n,"easeElastic",(function(){return ro})),e.d(n,"easeElasticIn",(function(){return eo})),e.d(n,"easeElasticOut",(function(){return ro})),e.d(n,"easeElasticInOut",(function(){return io})),e.d(n,"forceCenter",(function(){return Du})),e.d(n,"forceCollide",(function(){return Vu})),e.d(n,"forceLink",(function(){return Zu})),e.d(n,"forceManyBody",(function(){return na})),e.d(n,"forceRadial",(function(){return ea})),e.d(n,"forceSimulation",(function(){return ta})),e.d(n,"forceX",(function(){return ra})),e.d(n,"forceY",(function(){return ia})),e.d(n,"formatDefaultLocale",(function(){return _a})),e.d(n,"format",(function(){return da})),e.d(n,"formatPrefix",(function(){return pa})),e.d(n,"formatLocale",(function(){return ga})),e.d(n,"formatSpecifier",(function(){return sa})),e.d(n,"precisionFixed",(function(){return ma})),e.d(n,"precisionPrefix",(function(){return xa})),e.d(n,"precisionRound",(function(){return ba})),e.d(n,"geoArea",(function(){return hc})),e.d(n,"geoBounds",(function(){return of})),e.d(n,"geoCentroid",(function(){return gf})),e.d(n,"geoCircle",(function(){return Nf})),e.d(n,"geoClipAntimeridian",(function(){return qf})),e.d(n,"geoClipCircle",(function(){return jf})),e.d(n,"geoClipExtent",(function(){return Xf})),e.d(n,"geoClipRectangle",(function(){return Ff})),e.d(n,"geoContains",(function(){return fs})),e.d(n,"geoDistance",(function(){return ts})),e.d(n,"geoGraticule",(function(){return hs})),e.d(n,"geoGraticule10",(function(){return ds})),e.d(n,"geoInterpolate",(function(){return _s})),e.d(n,"geoLength",(function(){return Qf})),e.d(n,"geoPath",(function(){return yl})),e.d(n,"geoAlbers",(function(){return Dl})),e.d(n,"geoAlbersUsa",(function(){return zl})),e.d(n,"geoAzimuthalEqualArea",(function(){return Il})),e.d(n,"geoAzimuthalEqualAreaRaw",(function(){return Ul})),e.d(n,"geoAzimuthalEquidistant",(function(){return jl})),e.d(n,"geoAzimuthalEquidistantRaw",(function(){return ql})),e.d(n,"geoConicConformal",(function(){return Vl})),e.d(n,"geoConicConformalRaw",(function(){return Xl})),e.d(n,"geoConicEqualArea",(function(){return Ol})),e.d(n,"geoConicEqualAreaRaw",(function(){return Pl})),e.d(n,"geoConicEquidistant",(function(){return Gl})),e.d(n,"geoConicEquidistantRaw",(function(){return Zl})),e.d(n,"geoEquirectangular",(function(){return $l})),e.d(n,"geoEquirectangularRaw",(function(){return Wl})),e.d(n,"geoGnomonic",(function(){return Jl})),e.d(n,"geoGnomonicRaw",(function(){return Ql})),e.d(n,"geoIdentity",(function(){return th})),e.d(n,"geoProjection",(function(){return Nl})),e.d(n,"geoProjectionMutator",(function(){return El})),e.d(n,"geoMercator",(function(){return Yl})),e.d(n,"geoMercatorRaw",(function(){return Fl})),e.d(n,"geoNaturalEarth1",(function(){return eh})),e.d(n,"geoNaturalEarth1Raw",(function(){return nh})),e.d(n,"geoOrthographic",(function(){return ih})),e.d(n,"geoOrthographicRaw",(function(){return rh})),e.d(n,"geoStereographic",(function(){return uh})),e.d(n,"geoStereographicRaw",(function(){return oh})),e.d(n,"geoTransverseMercator",(function(){return ch})),e.d(n,"geoTransverseMercatorRaw",(function(){return ah})),e.d(n,"geoRotation",(function(){return Tf})),e.d(n,"geoStream",(function(){return ic})),e.d(n,"geoTransform",(function(){return gl})),e.d(n,"cluster",(function(){return hh})),e.d(n,"hierarchy",(function(){return ph})),e.d(n,"pack",(function(){return qh})),e.d(n,"packSiblings",(function(){return Dh})),e.d(n,"packEnclose",(function(){return xh})),e.d(n,"partition",(function(){return Xh})),e.d(n,"stratify",(function(){return Gh})),e.d(n,"tree",(function(){return rd})),e.d(n,"treemap",(function(){return cd})),e.d(n,"treemapBinary",(function(){return fd})),e.d(n,"treemapDice",(function(){return Hh})),e.d(n,"treemapSlice",(function(){return id})),e.d(n,"treemapSliceDice",(function(){return sd})),e.d(n,"treemapSquarify",(function(){return ad})),e.d(n,"treemapResquarify",(function(){return ld})),e.d(n,"interpolate",(function(){return cr})),e.d(n,"interpolateArray",(function(){return Qe})),e.d(n,"interpolateBasis",(function(){return je})),e.d(n,"interpolateBasisClosed",(function(){return Fe})),e.d(n,"interpolateDate",(function(){return Je})),e.d(n,"interpolateNumber",(function(){return Ke})),e.d(n,"interpolateObject",(function(){return tr})),e.d(n,"interpolateRound",(function(){return fr})),e.d(n,"interpolateString",(function(){return ar})),e.d(n,"interpolateTransformCss",(function(){return pr})),e.d(n,"interpolateTransformSvg",(function(){return vr})),e.d(n,"interpolateZoom",(function(){return _r})),e.d(n,"interpolateRgb",(function(){return We})),e.d(n,"interpolateRgbBasis",(function(){return Ze})),e.d(n,"interpolateRgbBasisClosed",(function(){return Ge})),e.d(n,"interpolateHsl",(function(){return xr})),e.d(n,"interpolateHslLong",(function(){return br})),e.d(n,"interpolateLab",(function(){return wr})),e.d(n,"interpolateHcl",(function(){return kr})),e.d(n,"interpolateHclLong",(function(){return Tr})),e.d(n,"interpolateCubehelix",(function(){return Er})),e.d(n,"interpolateCubehelixLong",(function(){return Cr})),e.d(n,"quantize",(function(){return Pr})),e.d(n,"path",(function(){return Qo})),e.d(n,"polygonArea",(function(){return hd})),e.d(n,"polygonCentroid",(function(){return dd})),e.d(n,"polygonHull",(function(){return yd})),e.d(n,"polygonContains",(function(){return gd})),e.d(n,"polygonLength",(function(){return _d})),e.d(n,"quadtree",(function(){return ju})),e.d(n,"queue",(function(){return Sd})),e.d(n,"randomUniform",(function(){return Nd})),e.d(n,"randomNormal",(function(){return Ed})),e.d(n,"randomLogNormal",(function(){return Cd})),e.d(n,"randomBates",(function(){return Od})),e.d(n,"randomIrwinHall",(function(){return Pd})),e.d(n,"randomExponential",(function(){return Dd})),e.d(n,"request",(function(){return zd})),e.d(n,"html",(function(){return Ld})),e.d(n,"json",(function(){return Ud})),e.d(n,"text",(function(){return Id})),e.d(n,"xml",(function(){return qd})),e.d(n,"csv",(function(){return Yd})),e.d(n,"tsv",(function(){return Bd})),e.d(n,"scaleBand",(function(){return Zd})),e.d(n,"scalePoint",(function(){return Gd})),e.d(n,"scaleIdentity",(function(){return ap})),e.d(n,"scaleLinear",(function(){return up})),e.d(n,"scaleLog",(function(){return vp})),e.d(n,"scaleOrdinal",(function(){return $d})),e.d(n,"scaleImplicit",(function(){return Wd})),e.d(n,"scalePow",(function(){return gp})),e.d(n,"scaleSqrt",(function(){return _p})),e.d(n,"scaleQuantile",(function(){return mp})),e.d(n,"scaleQuantize",(function(){return xp})),e.d(n,"scaleThreshold",(function(){return bp})),e.d(n,"scaleTime",(function(){return cg})),e.d(n,"scaleUtc",(function(){return fg})),e.d(n,"schemeCategory10",(function(){return lg})),e.d(n,"schemeCategory20b",(function(){return hg})),e.d(n,"schemeCategory20c",(function(){return dg})),e.d(n,"schemeCategory20",(function(){return pg})),e.d(n,"interpolateCubehelixDefault",(function(){return vg})),e.d(n,"interpolateRainbow",(function(){return mg})),e.d(n,"interpolateWarm",(function(){return yg})),e.d(n,"interpolateCool",(function(){return gg})),e.d(n,"interpolateViridis",(function(){return bg})),e.d(n,"interpolateMagma",(function(){return wg})),e.d(n,"interpolateInferno",(function(){return Mg})),e.d(n,"interpolatePlasma",(function(){return kg})),e.d(n,"scaleSequential",(function(){return Tg})),e.d(n,"create",(function(){return An})),e.d(n,"creator",(function(){return yt})),e.d(n,"local",(function(){return En})),e.d(n,"matcher",(function(){return kt})),e.d(n,"mouse",(function(){return Dn})),e.d(n,"namespace",(function(){return dt})),e.d(n,"namespaces",(function(){return ht})),e.d(n,"clientPoint",(function(){return On})),e.d(n,"select",(function(){return Sn})),e.d(n,"selectAll",(function(){return zn})),e.d(n,"selection",(function(){return Tn})),e.d(n,"selector",(function(){return _t})),e.d(n,"selectorAll",(function(){return xt})),e.d(n,"style",(function(){return jt})),e.d(n,"touch",(function(){return Rn})),e.d(n,"touches",(function(){return Ln})),e.d(n,"window",(function(){return Lt})),e.d(n,"event",(function(){return hn})),e.d(n,"customEvent",(function(){return _n})),e.d(n,"arc",(function(){return Vg})),e.d(n,"area",(function(){return Jg})),e.d(n,"line",(function(){return Qg})),e.d(n,"pie",(function(){return n_})),e.d(n,"areaRadial",(function(){return a_})),e.d(n,"radialArea",(function(){return a_})),e.d(n,"lineRadial",(function(){return u_})),e.d(n,"radialLine",(function(){return u_})),e.d(n,"pointRadial",(function(){return c_})),e.d(n,"linkHorizontal",(function(){return y_})),e.d(n,"linkVertical",(function(){return g_})),e.d(n,"linkRadial",(function(){return __})),e.d(n,"symbol",(function(){return L_})),e.d(n,"symbols",(function(){return R_})),e.d(n,"symbolCircle",(function(){return m_})),e.d(n,"symbolCross",(function(){return x_})),e.d(n,"symbolDiamond",(function(){return M_})),e.d(n,"symbolSquare",(function(){return N_})),e.d(n,"symbolStar",(function(){return A_})),e.d(n,"symbolTriangle",(function(){return C_})),e.d(n,"symbolWye",(function(){return z_})),e.d(n,"curveBasisClosed",(function(){return Y_})),e.d(n,"curveBasisOpen",(function(){return H_})),e.d(n,"curveBasis",(function(){return j_})),e.d(n,"curveBundle",(function(){return V_})),e.d(n,"curveCardinalClosed",(function(){return Q_})),e.d(n,"curveCardinalOpen",(function(){return K_})),e.d(n,"curveCardinal",(function(){return Z_})),e.d(n,"curveCatmullRomClosed",(function(){return im})),e.d(n,"curveCatmullRomOpen",(function(){return um})),e.d(n,"curveCatmullRom",(function(){return em})),e.d(n,"curveLinearClosed",(function(){return cm})),e.d(n,"curveLinear",(function(){return $g})),e.d(n,"curveMonotoneX",(function(){return ym})),e.d(n,"curveMonotoneY",(function(){return gm})),e.d(n,"curveNatural",(function(){return xm})),e.d(n,"curveStep",(function(){return wm})),e.d(n,"curveStepAfter",(function(){return km})),e.d(n,"curveStepBefore",(function(){return Mm})),e.d(n,"stack",(function(){return Nm})),e.d(n,"stackOffsetExpand",(function(){return Em})),e.d(n,"stackOffsetDiverging",(function(){return Cm})),e.d(n,"stackOffsetNone",(function(){return Tm})),e.d(n,"stackOffsetSilhouette",(function(){return Pm})),e.d(n,"stackOffsetWiggle",(function(){return Om})),e.d(n,"stackOrderAscending",(function(){return Dm})),e.d(n,"stackOrderDescending",(function(){return Rm})),e.d(n,"stackOrderInsideOut",(function(){return Lm})),e.d(n,"stackOrderNone",(function(){return Sm})),e.d(n,"stackOrderReverse",(function(){return Um})),e.d(n,"timeInterval",(function(){return kp})),e.d(n,"timeMillisecond",(function(){return Sp})),e.d(n,"timeMilliseconds",(function(){return Ap})),e.d(n,"utcMillisecond",(function(){return Sp})),e.d(n,"utcMilliseconds",(function(){return Ap})),e.d(n,"timeSecond",(function(){return Ep})),e.d(n,"timeSeconds",(function(){return Cp})),e.d(n,"utcSecond",(function(){return Ep})),e.d(n,"utcSeconds",(function(){return Cp})),e.d(n,"timeMinute",(function(){return Op})),e.d(n,"timeMinutes",(function(){return Dp})),e.d(n,"timeHour",(function(){return Rp})),e.d(n,"timeHours",(function(){return Lp})),e.d(n,"timeDay",(function(){return Ip})),e.d(n,"timeDays",(function(){return qp})),e.d(n,"timeWeek",(function(){return Fp})),e.d(n,"timeWeeks",(function(){return $p})),e.d(n,"timeSunday",(function(){return Fp})),e.d(n,"timeSundays",(function(){return $p})),e.d(n,"timeMonday",(function(){return Yp})),e.d(n,"timeMondays",(function(){return Zp})),e.d(n,"timeTuesday",(function(){return Bp})),e.d(n,"timeTuesdays",(function(){return Gp})),e.d(n,"timeWednesday",(function(){return Hp})),e.d(n,"timeWednesdays",(function(){return Qp})),e.d(n,"timeThursday",(function(){return Xp})),e.d(n,"timeThursdays",(function(){return Jp})),e.d(n,"timeFriday",(function(){return Vp})),e.d(n,"timeFridays",(function(){return Kp})),e.d(n,"timeSaturday",(function(){return Wp})),e.d(n,"timeSaturdays",(function(){return tv})),e.d(n,"timeMonth",(function(){return ev})),e.d(n,"timeMonths",(function(){return rv})),e.d(n,"timeYear",(function(){return ov})),e.d(n,"timeYears",(function(){return uv})),e.d(n,"utcMinute",(function(){return cv})),e.d(n,"utcMinutes",(function(){return fv})),e.d(n,"utcHour",(function(){return lv})),e.d(n,"utcHours",(function(){return hv})),e.d(n,"utcDay",(function(){return pv})),e.d(n,"utcDays",(function(){return vv})),e.d(n,"utcWeek",(function(){return gv})),e.d(n,"utcWeeks",(function(){return kv})),e.d(n,"utcSunday",(function(){return gv})),e.d(n,"utcSundays",(function(){return kv})),e.d(n,"utcMonday",(function(){return _v})),e.d(n,"utcMondays",(function(){return Tv})),e.d(n,"utcTuesday",(function(){return mv})),e.d(n,"utcTuesdays",(function(){return Sv})),e.d(n,"utcWednesday",(function(){return xv})),e.d(n,"utcWednesdays",(function(){return Av})),e.d(n,"utcThursday",(function(){return bv})),e.d(n,"utcThursdays",(function(){return Nv})),e.d(n,"utcFriday",(function(){return wv})),e.d(n,"utcFridays",(function(){return Ev})),e.d(n,"utcSaturday",(function(){return Mv})),e.d(n,"utcSaturdays",(function(){return Cv})),e.d(n,"utcMonth",(function(){return Ov})),e.d(n,"utcMonths",(function(){return Dv})),e.d(n,"utcYear",(function(){return Rv})),e.d(n,"utcYears",(function(){return Lv})),e.d(n,"timeFormatDefaultLocale",(function(){return eg})),e.d(n,"timeFormat",(function(){return Yv})),e.d(n,"timeParse",(function(){return Bv})),e.d(n,"utcFormat",(function(){return Hv})),e.d(n,"utcParse",(function(){return Xv})),e.d(n,"timeFormatLocale",(function(){return jv})),e.d(n,"isoFormat",(function(){return rg})),e.d(n,"isoParse",(function(){return ig})),e.d(n,"now",(function(){return jr})),e.d(n,"timer",(function(){return Br})),e.d(n,"timerFlush",(function(){return Hr})),e.d(n,"timeout",(function(){return $r})),e.d(n,"interval",(function(){return Zr})),e.d(n,"transition",(function(){return Ti})),e.d(n,"active",(function(){return co})),e.d(n,"interrupt",(function(){return ei})),e.d(n,"voronoi",(function(){return wx})),e.d(n,"zoom",(function(){return Lx})),e.d(n,"zoomTransform",(function(){return Ax})),e.d(n,"zoomIdentity",(function(){return Sx}))}}]);
  //# sourceMappingURL=async-moleculeviewer2.js.map