/*
 Highmaps JS v5.0.11 (2017-05-04)
 Highmaps as a plugin for Highcharts 4.1.x or Highstock 2.1.x (x being the patch version of this file)

 (c) 2011-2017 Torstein Honsi

 License: www.highcharts.com/license
*/
(function(y){"object"===typeof module&&module.exports?module.exports=y:y(Highcharts)})(function(y){(function(a){var m=a.Axis,p=a.each,l=a.pick;a=a.wrap;a(m.prototype,"getSeriesExtremes",function(a){var g=this.isXAxis,w,m,v=[],d;g&&p(this.series,function(a,c){a.useMapGeometry&&(v[c]=a.xData,a.xData=[])});a.call(this);g&&(w=l(this.dataMin,Number.MAX_VALUE),m=l(this.dataMax,-Number.MAX_VALUE),p(this.series,function(a,c){a.useMapGeometry&&(w=Math.min(w,l(a.minX,w)),m=Math.max(m,l(a.maxX,w)),a.xData=v[c],
d=!0)}),d&&(this.dataMin=w,this.dataMax=m))});a(m.prototype,"setAxisTranslation",function(a){var n=this.chart,g=n.plotWidth/n.plotHeight,n=n.xAxis[0],l;a.call(this);"yAxis"===this.coll&&void 0!==n.transA&&p(this.series,function(a){a.preserveAspectRatio&&(l=!0)});if(l&&(this.transA=n.transA=Math.min(this.transA,n.transA),a=g/((n.max-n.min)/(this.max-this.min)),a=1>a?this:n,g=(a.max-a.min)*a.transA,a.pixelPadding=a.len-g,a.minPixelPadding=a.pixelPadding/2,g=a.fixTo)){g=g[1]-a.toValue(g[0],!0);g*=a.transA;
if(Math.abs(g)>a.minPixelPadding||a.min===a.dataMin&&a.max===a.dataMax)g=0;a.minPixelPadding-=g}});a(m.prototype,"render",function(a){a.call(this);this.fixTo=null})})(y);(function(a){var m=a.Axis,p=a.Chart,l=a.color,g,n=a.each,w=a.extend,x=a.isNumber,v=a.Legend,d=a.LegendSymbolMixin,b=a.noop,c=a.merge,h=a.pick,r=a.wrap;g=a.ColorAxis=function(){this.init.apply(this,arguments)};w(g.prototype,m.prototype);w(g.prototype,{defaultColorAxisOptions:{lineWidth:0,minPadding:0,maxPadding:0,gridLineWidth:1,tickPixelInterval:72,
startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01,color:"#999999"},labels:{overflow:"justify",rotation:0},minColor:"#e6ebf5",maxColor:"#003399",tickLength:5,showInLegend:!0},keepProps:["legendGroup","legendItemHeight","legendItemWidth","legendItem","legendSymbol"].concat(m.prototype.keepProps),init:function(a,e){var k="vertical"!==a.options.legend.layout,b;this.coll="colorAxis";b=c(this.defaultColorAxisOptions,{side:k?2:1,reversed:!k},e,{opposite:!k,showEmpty:!1,title:null});
m.prototype.init.call(this,a,b);e.dataClasses&&this.initDataClasses(e);this.initStops(e);this.horiz=k;this.zoomEnabled=!1;this.defaultLegendLength=200},tweenColors:function(a,e,q){var k;e.rgba.length&&a.rgba.length?(a=a.rgba,e=e.rgba,k=1!==e[3]||1!==a[3],a=(k?"rgba(":"rgb(")+Math.round(e[0]+(a[0]-e[0])*(1-q))+","+Math.round(e[1]+(a[1]-e[1])*(1-q))+","+Math.round(e[2]+(a[2]-e[2])*(1-q))+(k?","+(e[3]+(a[3]-e[3])*(1-q)):"")+")"):a=e.input||"none";return a},initDataClasses:function(a){var k=this,q=this.chart,
b,f=0,h=q.options.chart.colorCount,u=this.options,d=a.dataClasses.length;this.dataClasses=b=[];this.legendItems=[];n(a.dataClasses,function(a,e){a=c(a);b.push(a);a.color||("category"===u.dataClassColor?(e=q.options.colors,h=e.length,a.color=e[f],a.colorIndex=f,f++,f===h&&(f=0)):a.color=k.tweenColors(l(u.minColor),l(u.maxColor),2>d?.5:e/(d-1)))})},initStops:function(a){this.stops=a.stops||[[0,this.options.minColor],[1,this.options.maxColor]];n(this.stops,function(a){a.color=l(a[1])})},setOptions:function(a){m.prototype.setOptions.call(this,
a);this.options.crosshair=this.options.marker},setAxisSize:function(){var a=this.legendSymbol,e=this.chart,q=e.options.legend||{},c,f;a?(this.left=q=a.attr("x"),this.top=c=a.attr("y"),this.width=f=a.attr("width"),this.height=a=a.attr("height"),this.right=e.chartWidth-q-f,this.bottom=e.chartHeight-c-a,this.len=this.horiz?f:a,this.pos=this.horiz?q:c):this.len=(this.horiz?q.symbolWidth:q.symbolHeight)||this.defaultLegendLength},toColor:function(a,e){var k=this.stops,c,f,b=this.dataClasses,h,d;if(b)for(d=
b.length;d--;){if(h=b[d],c=h.from,k=h.to,(void 0===c||a>=c)&&(void 0===k||a<=k)){f=h.color;e&&(e.dataClass=d,e.colorIndex=h.colorIndex);break}}else{this.isLog&&(a=this.val2lin(a));a=1-(this.max-a)/(this.max-this.min||1);for(d=k.length;d--&&!(a>k[d][0]););c=k[d]||k[d+1];k=k[d+1]||c;a=1-(k[0]-a)/(k[0]-c[0]||1);f=this.tweenColors(c.color,k.color,a)}return f},getOffset:function(){var a=this.legendGroup,e=this.chart.axisOffset[this.side];a&&(this.axisParent=a,m.prototype.getOffset.call(this),this.added||
(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=e)},setLegendColor:function(){var a,e=this.options,c=this.reversed;a=c?1:0;c=c?0:1;a=this.horiz?[a,0,c,0]:[0,c,0,a];this.legendColor={linearGradient:{x1:a[0],y1:a[1],x2:a[2],y2:a[3]},stops:e.stops||[[0,e.minColor],[1,e.maxColor]]}},drawLegendSymbol:function(a,e){var c=a.padding,k=a.options,f=this.horiz,b=h(k.symbolWidth,f?this.defaultLegendLength:12),d=h(k.symbolHeight,f?12:this.defaultLegendLength),r=h(k.labelPadding,
f?16:30),k=h(k.itemDistance,10);this.setLegendColor();e.legendSymbol=this.chart.renderer.rect(0,a.baseline-11,b,d).attr({zIndex:1}).add(e.legendGroup);this.legendItemWidth=b+c+(f?k:r);this.legendItemHeight=d+c+(f?r:0)},setState:b,visible:!0,setVisible:b,getSeriesExtremes:function(){var a=this.series,e=a.length;this.dataMin=Infinity;for(this.dataMax=-Infinity;e--;)void 0!==a[e].valueMin&&(this.dataMin=Math.min(this.dataMin,a[e].valueMin),this.dataMax=Math.max(this.dataMax,a[e].valueMax))},drawCrosshair:function(a,
e){var c=e&&e.plotX,k=e&&e.plotY,f,b=this.pos,d=this.len;e&&(f=this.toPixels(e[e.series.colorKey]),f<b?f=b-2:f>b+d&&(f=b+d+2),e.plotX=f,e.plotY=this.len-f,m.prototype.drawCrosshair.call(this,a,e),e.plotX=c,e.plotY=k,this.cross&&(this.cross.addClass("highcharts-coloraxis-marker").add(this.legendGroup),this.cross.attr({fill:this.crosshair.color})))},getPlotLinePath:function(a,e,c,b,f){return x(f)?this.horiz?["M",f-4,this.top-6,"L",f+4,this.top-6,f,this.top,"Z"]:["M",this.left,f,"L",this.left-6,f+6,
this.left-6,f-6,"Z"]:m.prototype.getPlotLinePath.call(this,a,e,c,b)},update:function(a,e){var k=this.chart,b=k.legend;n(this.series,function(a){a.isDirtyData=!0});a.dataClasses&&b.allItems&&(n(b.allItems,function(a){a.isDataClass&&a.legendGroup&&a.legendGroup.destroy()}),k.isDirtyLegend=!0);k.options[this.coll]=c(this.userOptions,a);m.prototype.update.call(this,a,e);this.legendItem&&(this.setLegendColor(),b.colorizeItem(this,!0))},remove:function(){this.legendItem&&this.chart.legend.destroyItem(this);
m.prototype.remove.call(this)},getDataClassLegendSymbols:function(){var c=this,e=this.chart,q=this.legendItems,h=e.options.legend,f=h.valueDecimals,r=h.valueSuffix||"",g;q.length||n(this.dataClasses,function(k,h){var t=!0,z=k.from,u=k.to;g="";void 0===z?g="\x3c ":void 0===u&&(g="\x3e ");void 0!==z&&(g+=a.numberFormat(z,f)+r);void 0!==z&&void 0!==u&&(g+=" - ");void 0!==u&&(g+=a.numberFormat(u,f)+r);q.push(w({chart:e,name:g,options:{},drawLegendSymbol:d.drawRectangle,visible:!0,setState:b,isDataClass:!0,
setVisible:function(){t=this.visible=!t;n(c.series,function(a){n(a.points,function(a){a.dataClass===h&&a.setVisible(t)})});e.legend.colorizeItem(this,t)}},k))});return q},name:""});n(["fill","stroke"],function(c){a.Fx.prototype[c+"Setter"]=function(){this.elem.attr(c,g.prototype.tweenColors(l(this.start),l(this.end),this.pos),null,!0)}});r(p.prototype,"getAxes",function(a){var c=this.options.colorAxis;a.call(this);this.colorAxis=[];c&&new g(this,c)});r(v.prototype,"getAllItems",function(a){var c=
[],b=this.chart.colorAxis[0];b&&b.options&&(b.options.showInLegend&&(b.options.dataClasses?c=c.concat(b.getDataClassLegendSymbols()):c.push(b)),n(b.series,function(a){a.options.showInLegend=!1}));return c.concat(a.call(this))});r(v.prototype,"colorizeItem",function(a,c,b){a.call(this,c,b);b&&c.legendColor&&c.legendSymbol.attr({fill:c.legendColor})})})(y);(function(a){var m=a.defined,p=a.each,l=a.noop,g=a.seriesTypes;a.colorPointMixin={isValid:function(){return null!==this.value},setVisible:function(a){var g=
this,n=a?"show":"hide";p(["graphic","dataLabel"],function(a){if(g[a])g[a][n]()})},setState:function(g){a.Point.prototype.setState.call(this,g);this.graphic&&this.graphic.attr({zIndex:"hover"===g?1:0})}};a.colorSeriesMixin={pointArrayMap:["value"],axisTypes:["xAxis","yAxis","colorAxis"],optionalAxis:"colorAxis",trackerGroups:["group","markerGroup","dataLabelsGroup"],getSymbol:l,parallelArrays:["x","y","value"],colorKey:"value",pointAttribs:g.column.prototype.pointAttribs,translateColors:function(){var a=
this,g=this.options.nullColor,l=this.colorAxis,m=this.colorKey;p(this.data,function(d){var b=d[m];if(b=d.options.color||(d.isNull?g:l&&void 0!==b?l.toColor(b,d):d.color||a.color))d.color=b})},colorAttribs:function(a){var g={};m(a.color)&&(g[this.colorProp||"fill"]=a.color);return g}}})(y);(function(a){function m(a){a&&(a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)}function p(a){this.init(a)}var l=a.addEvent,g=a.Chart,n=a.doc,w=a.each,x=a.extend,v=a.merge,
d=a.pick,b=a.wrap;p.prototype.init=function(a){this.chart=a;a.mapNavButtons=[]};p.prototype.update=function(c){var b=this.chart,g=b.options.mapNavigation,k,e,q,z,f,t=function(a){this.handler.call(b,a);m(a)},u=b.mapNavButtons;c&&(g=b.options.mapNavigation=v(b.options.mapNavigation,c));for(;u.length;)u.pop().destroy();d(g.enableButtons,g.enabled)&&!b.renderer.forExport&&a.objectEach(g.buttons,function(a,c){k=v(g.buttonOptions,a);e=k.theme;e.style=v(k.theme.style,k.style);z=(q=e.states)&&q.hover;f=q&&
q.select;a=b.renderer.button(k.text,0,0,t,e,z,f,0,"zoomIn"===c?"topbutton":"bottombutton").addClass("highcharts-map-navigation").attr({width:k.width,height:k.height,title:b.options.lang[c],padding:k.padding,zIndex:5}).add();a.handler=k.onclick;a.align(x(k,{width:a.width,height:2*a.height}),null,k.alignTo);l(a.element,"dblclick",m);u.push(a)});this.updateEvents(g)};p.prototype.updateEvents=function(a){var b=this.chart;d(a.enableDoubleClickZoom,a.enabled)||a.enableDoubleClickZoomTo?this.unbindDblClick=
this.unbindDblClick||l(b.container,"dblclick",function(a){b.pointer.onContainerDblClick(a)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick());d(a.enableMouseWheelZoom,a.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||l(b.container,void 0===n.onmousewheel?"DOMMouseScroll":"mousewheel",function(a){b.pointer.onContainerMouseWheel(a);m(a);return!1}):this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())};x(g.prototype,{fitToBox:function(a,b){w([["x","width"],["y",
"height"]],function(c){var k=c[0];c=c[1];a[k]+a[c]>b[k]+b[c]&&(a[c]>b[c]?(a[c]=b[c],a[k]=b[k]):a[k]=b[k]+b[c]-a[c]);a[c]>b[c]&&(a[c]=b[c]);a[k]<b[k]&&(a[k]=b[k])});return a},mapZoom:function(a,b,g,k,e){var c=this.xAxis[0],h=c.max-c.min,f=d(b,c.min+h/2),t=h*a,h=this.yAxis[0],u=h.max-h.min,n=d(g,h.min+u/2),u=u*a,f=this.fitToBox({x:f-t*(k?(k-c.pos)/c.len:.5),y:n-u*(e?(e-h.pos)/h.len:.5),width:t,height:u},{x:c.dataMin,y:h.dataMin,width:c.dataMax-c.dataMin,height:h.dataMax-h.dataMin}),t=f.x<=c.dataMin&&
f.width>=c.dataMax-c.dataMin&&f.y<=h.dataMin&&f.height>=h.dataMax-h.dataMin;k&&(c.fixTo=[k-c.pos,b]);e&&(h.fixTo=[e-h.pos,g]);void 0===a||t?(c.setExtremes(void 0,void 0,!1),h.setExtremes(void 0,void 0,!1)):(c.setExtremes(f.x,f.x+f.width,!1),h.setExtremes(f.y,f.y+f.height,!1));this.redraw()}});b(g.prototype,"render",function(a){this.mapNavigation=new p(this);this.mapNavigation.update();a.call(this)})})(y);(function(a){var m=a.extend,p=a.pick,l=a.Pointer;a=a.wrap;m(l.prototype,{onContainerDblClick:function(a){var g=
this.chart;a=this.normalize(a);g.options.mapNavigation.enableDoubleClickZoomTo?g.pointer.inClass(a.target,"highcharts-tracker")&&g.hoverPoint&&g.hoverPoint.zoomTo():g.isInsidePlot(a.chartX-g.plotLeft,a.chartY-g.plotTop)&&g.mapZoom(.5,g.xAxis[0].toValue(a.chartX),g.yAxis[0].toValue(a.chartY),a.chartX,a.chartY)},onContainerMouseWheel:function(a){var g=this.chart,l;a=this.normalize(a);l=a.detail||-(a.wheelDelta/120);g.isInsidePlot(a.chartX-g.plotLeft,a.chartY-g.plotTop)&&g.mapZoom(Math.pow(g.options.mapNavigation.mouseWheelSensitivity,
l),g.xAxis[0].toValue(a.chartX),g.yAxis[0].toValue(a.chartY),a.chartX,a.chartY)}});a(l.prototype,"zoomOption",function(a){var g=this.chart.options.mapNavigation;p(g.enableTouchZoom,g.enabled)&&(this.chart.options.chart.pinchType="xy");a.apply(this,[].slice.call(arguments,1))});a(l.prototype,"pinchTranslate",function(a,l,m,p,v,d,b){a.call(this,l,m,p,v,d,b);"map"===this.chart.options.chart.type&&this.hasZoom&&(a=p.scaleX>p.scaleY,this.pinchTranslateDirection(!a,l,m,p,v,d,b,a?p.scaleX:p.scaleY))})})(y);
(function(a){var m=a.color,p=a.ColorAxis,l=a.colorPointMixin,g=a.each,n=a.extend,w=a.isNumber,x=a.map,v=a.merge,d=a.noop,b=a.pick,c=a.isArray,h=a.Point,r=a.Series,k=a.seriesType,e=a.seriesTypes,q=a.splat,z=void 0!==a.doc.documentElement.style.vectorEffect;k("map","scatter",{allAreas:!0,animation:!1,nullColor:"#f7f7f7",borderColor:"#cccccc",borderWidth:1,marker:null,stickyTracking:!1,joinBy:"hc-key",dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:"middle",crop:!1,
overflow:!1,padding:0},turboThreshold:0,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}\x3cbr/\x3e"},states:{normal:{animation:!0},hover:{brightness:.2,halo:null},select:{color:"#cccccc"}}},v(a.colorSeriesMixin,{type:"map",supportsDrilldown:!0,getExtremesFromAll:!0,useMapGeometry:!0,forceDL:!0,searchPoint:d,directTouch:!0,preserveAspectRatio:!0,pointArrayMap:["value"],getBox:function(f){var c=Number.MAX_VALUE,e=-c,k=c,d=-c,h=c,q=c,l=this.xAxis,r=this.yAxis,z;g(f||[],function(f){if(f.path){"string"===
typeof f.path&&(f.path=a.splitPath(f.path));var g=f.path||[],u=g.length,l=!1,r=-c,t=c,m=-c,n=c,p=f.properties;if(!f._foundBox){for(;u--;)w(g[u])&&(l?(r=Math.max(r,g[u]),t=Math.min(t,g[u])):(m=Math.max(m,g[u]),n=Math.min(n,g[u])),l=!l);f._midX=t+(r-t)*(f.middleX||p&&p["hc-middle-x"]||.5);f._midY=n+(m-n)*(f.middleY||p&&p["hc-middle-y"]||.5);f._maxX=r;f._minX=t;f._maxY=m;f._minY=n;f.labelrank=b(f.labelrank,(r-t)*(m-n));f._foundBox=!0}e=Math.max(e,f._maxX);k=Math.min(k,f._minX);d=Math.max(d,f._maxY);
h=Math.min(h,f._minY);q=Math.min(f._maxX-f._minX,f._maxY-f._minY,q);z=!0}});z&&(this.minY=Math.min(h,b(this.minY,c)),this.maxY=Math.max(d,b(this.maxY,-c)),this.minX=Math.min(k,b(this.minX,c)),this.maxX=Math.max(e,b(this.maxX,-c)),l&&void 0===l.options.minRange&&(l.minRange=Math.min(5*q,(this.maxX-this.minX)/5,l.minRange||c)),r&&void 0===r.options.minRange&&(r.minRange=Math.min(5*q,(this.maxY-this.minY)/5,r.minRange||c)))},getExtremes:function(){r.prototype.getExtremes.call(this,this.valueData);this.chart.hasRendered&&
this.isDirtyData&&this.getBox(this.options.data);this.valueMin=this.dataMin;this.valueMax=this.dataMax;this.dataMin=this.minY;this.dataMax=this.maxY},translatePath:function(a){var f=!1,c=this.xAxis,b=this.yAxis,e=c.min,k=c.transA,c=c.minPixelPadding,d=b.min,g=b.transA,b=b.minPixelPadding,h,q=[];if(a)for(h=a.length;h--;)w(a[h])?(q[h]=f?(a[h]-e)*k+c:(a[h]-d)*g+b,f=!f):q[h]=a[h];return q},setData:function(f,b,e,k){var d=this.options,h=this.chart.options.chart,u=h&&h.map,l=d.mapData,t=d.joinBy,z=null===
t,m=d.keys||this.pointArrayMap,n=[],p={},A=this.chart.mapTransforms;!l&&u&&(l="string"===typeof u?a.maps[u]:u);z&&(t="_i");t=this.joinBy=q(t);t[1]||(t[1]=t[0]);f&&g(f,function(a,b){var e=0;if(w(a))f[b]={value:a};else if(c(a)){f[b]={};!d.keys&&a.length>m.length&&"string"===typeof a[0]&&(f[b]["hc-key"]=a[0],++e);for(var k=0;k<m.length;++k,++e)m[k]&&(f[b][m[k]]=a[e])}z&&(f[b]._i=b)});this.getBox(f);(this.chart.mapTransforms=A=h&&h.mapTransforms||l&&l["hc-transform"]||A)&&a.objectEach(A,function(a){a.rotation&&
(a.cosAngle=Math.cos(a.rotation),a.sinAngle=Math.sin(a.rotation))});if(l){"FeatureCollection"===l.type&&(this.mapTitle=l.title,l=a.geojson(l,this.type,this));this.mapData=l;this.mapMap={};for(A=0;A<l.length;A++)h=l[A],u=h.properties,h._i=A,t[0]&&u&&u[t[0]]&&(h[t[0]]=u[t[0]]),p[h[t[0]]]=h;this.mapMap=p;f&&t[1]&&g(f,function(a){p[a[t[1]]]&&n.push(p[a[t[1]]])});d.allAreas?(this.getBox(l),f=f||[],t[1]&&g(f,function(a){n.push(a[t[1]])}),n="|"+x(n,function(a){return a&&a[t[0]]}).join("|")+"|",g(l,function(a){t[0]&&
-1!==n.indexOf("|"+a[t[0]]+"|")||(f.push(v(a,{value:null})),k=!1)})):this.getBox(n)}r.prototype.setData.call(this,f,b,e,k)},drawGraph:d,drawDataLabels:d,doFullTranslate:function(){return this.isDirtyData||this.chart.isResizing||this.chart.renderer.isVML||!this.baseTrans},translate:function(){var a=this,b=a.xAxis,c=a.yAxis,e=a.doFullTranslate();a.generatePoints();g(a.data,function(f){f.plotX=b.toPixels(f._midX,!0);f.plotY=c.toPixels(f._midY,!0);e&&(f.shapeType="path",f.shapeArgs={d:a.translatePath(f.path)})});
a.translateColors()},pointAttribs:function(a,b){b=e.column.prototype.pointAttribs.call(this,a,b);a.isFading&&delete b.fill;z?b["vector-effect"]="non-scaling-stroke":b["stroke-width"]="inherit";return b},drawPoints:function(){var a=this,b=a.xAxis,c=a.yAxis,k=a.group,d=a.chart,h=d.renderer,q,l,r,n,m=this.baseTrans,p,w,v,x,y;a.transformGroup||(a.transformGroup=h.g().attr({scaleX:1,scaleY:1}).add(k),a.transformGroup.survive=!0);a.doFullTranslate()?(d.hasRendered&&g(a.points,function(b){b.shapeArgs&&(b.shapeArgs.fill=
a.pointAttribs(b,b.state).fill)}),a.group=a.transformGroup,e.column.prototype.drawPoints.apply(a),a.group=k,g(a.points,function(a){a.graphic&&(a.name&&a.graphic.addClass("highcharts-name-"+a.name.replace(/ /g,"-").toLowerCase()),a.properties&&a.properties["hc-key"]&&a.graphic.addClass("highcharts-key-"+a.properties["hc-key"].toLowerCase()))}),this.baseTrans={originX:b.min-b.minPixelPadding/b.transA,originY:c.min-c.minPixelPadding/c.transA+(c.reversed?0:c.len/c.transA),transAX:b.transA,transAY:c.transA},
this.transformGroup.animate({translateX:0,translateY:0,scaleX:1,scaleY:1})):(q=b.transA/m.transAX,l=c.transA/m.transAY,r=b.toPixels(m.originX,!0),n=c.toPixels(m.originY,!0),.99<q&&1.01>q&&.99<l&&1.01>l&&(l=q=1,r=Math.round(r),n=Math.round(n)),p=this.transformGroup,d.renderer.globalAnimation?(w=p.attr("translateX"),v=p.attr("translateY"),x=p.attr("scaleX"),y=p.attr("scaleY"),p.attr({animator:0}).animate({animator:1},{step:function(a,b){p.attr({translateX:w+(r-w)*b.pos,translateY:v+(n-v)*b.pos,scaleX:x+
(q-x)*b.pos,scaleY:y+(l-y)*b.pos})}})):p.attr({translateX:r,translateY:n,scaleX:q,scaleY:l}));z||a.group.element.setAttribute("stroke-width",a.options[a.pointAttrToOptions&&a.pointAttrToOptions["stroke-width"]||"borderWidth"]/(q||1));this.drawMapDataLabels()},drawMapDataLabels:function(){r.prototype.drawDataLabels.call(this);this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)},render:function(){var a=this,b=r.prototype.render;a.chart.renderer.isVML&&3E3<a.data.length?setTimeout(function(){b.call(a)}):
b.call(a)},animate:function(a){var b=this.options.animation,c=this.group,f=this.xAxis,e=this.yAxis,k=f.pos,d=e.pos;this.chart.renderer.isSVG&&(!0===b&&(b={duration:1E3}),a?c.attr({translateX:k+f.len/2,translateY:d+e.len/2,scaleX:.001,scaleY:.001}):(c.animate({translateX:k,translateY:d,scaleX:1,scaleY:1},b),this.animate=null))},animateDrilldown:function(a){var b=this.chart.plotBox,c=this.chart.drilldownLevels[this.chart.drilldownLevels.length-1],f=c.bBox,e=this.chart.options.drilldown.animation;a||
(a=Math.min(f.width/b.width,f.height/b.height),c.shapeArgs={scaleX:a,scaleY:a,translateX:f.x,translateY:f.y},g(this.points,function(a){a.graphic&&a.graphic.attr(c.shapeArgs).animate({scaleX:1,scaleY:1,translateX:0,translateY:0},e)}),this.animate=null)},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,animateDrillupFrom:function(a){e.column.prototype.animateDrillupFrom.call(this,a)},animateDrillupTo:function(a){e.column.prototype.animateDrillupTo.call(this,a)}}),n({applyOptions:function(a,b){a=h.prototype.applyOptions.call(this,
a,b);b=this.series;var c=b.joinBy;b.mapData&&((c=void 0!==a[c[1]]&&b.mapMap[a[c[1]]])?(b.xyFromShape&&(a.x=c._midX,a.y=c._midY),n(a,c)):a.value=a.value||null);return a},onMouseOver:function(a){clearTimeout(this.colorInterval);if(null!==this.value||this.series.options.nullInteraction)h.prototype.onMouseOver.call(this,a);else this.series.onMouseOut(a)},onMouseOut:function(){var a=this,b=+new Date,c=m(this.series.pointAttribs(a).fill),e=m(this.series.pointAttribs(a,"hover").fill),k=a.series.options.states.normal.animation,
d=k&&(k.duration||500);d&&4===c.rgba.length&&4===e.rgba.length&&"select"!==a.state&&(clearTimeout(a.colorInterval),a.colorInterval=setInterval(function(){var k=(new Date-b)/d,f=a.graphic;1<k&&(k=1);f&&f.attr("fill",p.prototype.tweenColors.call(0,e,c,k));1<=k&&clearTimeout(a.colorInterval)},13),a.isFading=!0);h.prototype.onMouseOut.call(a);a.isFading=null},zoomTo:function(){var a=this.series;a.xAxis.setExtremes(this._minX,this._maxX,!1);a.yAxis.setExtremes(this._minY,this._maxY,!1);a.chart.redraw()}},
l))})(y);(function(a){var m=a.seriesType,p=a.seriesTypes;m("mapline","map",{lineWidth:1,fillColor:"none"},{type:"mapline",colorProp:"stroke",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointAttribs:function(a,g){a=p.map.prototype.pointAttribs.call(this,a,g);a.fill=this.options.fillColor;return a},drawLegendSymbol:p.line.prototype.drawLegendSymbol})})(y);(function(a){var m=a.merge,p=a.Point;a=a.seriesType;a("mappoint","scatter",{dataLabels:{enabled:!0,formatter:function(){return this.point.name},
crop:!1,defer:!1,overflow:!1,style:{color:"#000000"}}},{type:"mappoint",forceDL:!0},{applyOptions:function(a,g){a=void 0!==a.lat&&void 0!==a.lon?m(a,this.series.chart.fromLatLonToPoint(a)):a;return p.prototype.applyOptions.call(this,a,g)}})})(y);(function(a){var m=a.arrayMax,p=a.arrayMin,l=a.Axis,g=a.color,n=a.each,w=a.isNumber,x=a.noop,v=a.pick,d=a.pInt,b=a.Point,c=a.Series,h=a.seriesType,r=a.seriesTypes;h("bubble","scatter",{dataLabels:{formatter:function(){return this.point.z},inside:!0,verticalAlign:"middle"},
marker:{lineColor:null,lineWidth:1,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"},{pointArrayMap:["y","z"],parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",bubblePadding:!0,zoneAxis:"z",directTouch:!0,pointAttribs:function(a,b){var e=v(this.options.marker.fillOpacity,
.5);a=c.prototype.pointAttribs.call(this,a,b);1!==e&&(a.fill=g(a.fill).setOpacity(e).get("rgba"));return a},getRadii:function(a,b,c,d){var e,k,h,g=this.zData,q=[],l=this.options,r="width"!==l.sizeBy,n=l.zThreshold,m=b-a;k=0;for(e=g.length;k<e;k++)h=g[k],l.sizeByAbsoluteValue&&null!==h&&(h=Math.abs(h-n),b=Math.max(b-n,Math.abs(a-n)),a=0),null===h?h=null:h<a?h=c/2-1:(h=0<m?(h-a)/m:.5,r&&0<=h&&(h=Math.sqrt(h)),h=Math.ceil(c+h*(d-c))/2),q.push(h);this.radii=q},animate:function(a){var b=this.options.animation;
a||(n(this.points,function(a){var c=a.graphic,e;c&&c.width&&(e={x:c.x,y:c.y,width:c.width,height:c.height},c.attr({x:a.plotX,y:a.plotY,width:1,height:1}),c.animate(e,b))}),this.animate=null)},translate:function(){var b,c=this.data,h,d,f=this.radii;r.scatter.prototype.translate.call(this);for(b=c.length;b--;)h=c[b],d=f?f[b]:0,w(d)&&d>=this.minPxSize/2?(h.marker=a.extend(h.marker,{radius:d,width:2*d,height:2*d}),h.dlBox={x:h.plotX-d,y:h.plotY-d,width:2*d,height:2*d}):h.shapeArgs=h.plotY=h.dlBox=void 0},
alignDataLabel:r.column.prototype.alignDataLabel,buildKDTree:x,applyZones:x},{haloPath:function(a){return b.prototype.haloPath.call(this,0===a?0:(this.marker?this.marker.radius||0:0)+a)},ttBelow:!1});l.prototype.beforePadding=function(){var a=this,b=this.len,c=this.chart,h=0,f=b,g=this.isXAxis,l=g?"xData":"yData",r=this.min,x={},y=Math.min(c.plotWidth,c.plotHeight),C=Number.MAX_VALUE,D=-Number.MAX_VALUE,E=this.max-r,B=b/E,F=[];n(this.series,function(b){var h=b.options;!b.bubblePadding||!b.visible&&
c.options.chart.ignoreHiddenSeries||(a.allowZoomOutside=!0,F.push(b),g&&(n(["minSize","maxSize"],function(a){var b=h[a],c=/%$/.test(b),b=d(b);x[a]=c?y*b/100:b}),b.minPxSize=x.minSize,b.maxPxSize=Math.max(x.maxSize,x.minSize),b=b.zData,b.length&&(C=v(h.zMin,Math.min(C,Math.max(p(b),!1===h.displayNegative?h.zThreshold:-Number.MAX_VALUE))),D=v(h.zMax,Math.max(D,m(b))))))});n(F,function(b){var c=b[l],e=c.length,d;g&&b.getRadii(C,D,b.minPxSize,b.maxPxSize);if(0<E)for(;e--;)w(c[e])&&a.dataMin<=c[e]&&c[e]<=
a.dataMax&&(d=b.radii[e],h=Math.min((c[e]-r)*B-d,h),f=Math.max((c[e]-r)*B+d,f))});F.length&&0<E&&!this.isLog&&(f-=b,B*=(b+h-f)/b,n([["min","userMin",h],["max","userMax",f]],function(b){void 0===v(a.options[b[0]],a[b[1]])&&(a[b[0]]+=b[2]/B)}))}})(y);(function(a){var m=a.merge,p=a.Point,l=a.seriesType,g=a.seriesTypes;g.bubble&&l("mapbubble","bubble",{animationLimit:500,tooltip:{pointFormat:"{point.name}: {point.z}"}},{xyFromShape:!0,type:"mapbubble",pointArrayMap:["z"],getMapData:g.map.prototype.getMapData,
getBox:g.map.prototype.getBox,setData:g.map.prototype.setData},{applyOptions:function(a,l){return a&&void 0!==a.lat&&void 0!==a.lon?p.prototype.applyOptions.call(this,m(a,this.series.chart.fromLatLonToPoint(a)),l):g.map.prototype.pointClass.prototype.applyOptions.call(this,a,l)},ttBelow:!1})})(y);(function(a){var m=a.colorPointMixin,p=a.each,l=a.merge,g=a.noop,n=a.pick,w=a.Series,x=a.seriesType,v=a.seriesTypes;x("heatmap","scatter",{animation:!1,borderWidth:0,nullColor:"#f7f7f7",dataLabels:{formatter:function(){return this.point.value},
inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},marker:null,pointRange:null,tooltip:{pointFormat:"{point.x}, {point.y}: {point.value}\x3cbr/\x3e"},states:{normal:{animation:!0},hover:{halo:!1,brightness:.2}}},l(a.colorSeriesMixin,{pointArrayMap:["y","value"],hasPointSpecificOptions:!0,supportsDrilldown:!0,getExtremesFromAll:!0,directTouch:!0,init:function(){var a;v.scatter.prototype.init.apply(this,arguments);a=this.options;a.pointRange=n(a.pointRange,a.colsize||1);this.yAxis.axisPointRange=
a.rowsize||1},translate:function(){var a=this.options,b=this.xAxis,c=this.yAxis,h=function(a,b,c){return Math.min(Math.max(b,a),c)};this.generatePoints();p(this.points,function(d){var k=(a.colsize||1)/2,e=(a.rowsize||1)/2,g=h(Math.round(b.len-b.translate(d.x-k,0,1,0,1)),-b.len,2*b.len),k=h(Math.round(b.len-b.translate(d.x+k,0,1,0,1)),-b.len,2*b.len),l=h(Math.round(c.translate(d.y-e,0,1,0,1)),-c.len,2*c.len),e=h(Math.round(c.translate(d.y+e,0,1,0,1)),-c.len,2*c.len);d.plotX=d.clientX=(g+k)/2;d.plotY=
(l+e)/2;d.shapeType="rect";d.shapeArgs={x:Math.min(g,k),y:Math.min(l,e),width:Math.abs(k-g),height:Math.abs(e-l)}});this.translateColors()},drawPoints:function(){v.column.prototype.drawPoints.call(this);p(this.points,function(a){a.graphic.attr(this.colorAttribs(a))},this)},animate:g,getBox:g,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,alignDataLabel:v.column.prototype.alignDataLabel,getExtremes:function(){w.prototype.getExtremes.call(this,this.valueData);this.valueMin=this.dataMin;this.valueMax=
this.dataMax;w.prototype.getExtremes.call(this)}}),m)})(y);(function(a){function m(a,b){var c,h,d,k=!1,e=a.x,g=a.y;a=0;for(c=b.length-1;a<b.length;c=a++)h=b[a][1]>g,d=b[c][1]>g,h!==d&&e<(b[c][0]-b[a][0])*(g-b[a][1])/(b[c][1]-b[a][1])+b[a][0]&&(k=!k);return k}var p=a.Chart,l=a.each,g=a.extend,n=a.format,w=a.merge,x=a.win,v=a.wrap;p.prototype.transformFromLatLon=function(d,b){if(void 0===x.proj4)return a.error(21),{x:0,y:null};d=x.proj4(b.crs,[d.lon,d.lat]);var c=b.cosAngle||b.rotation&&Math.cos(b.rotation),
h=b.sinAngle||b.rotation&&Math.sin(b.rotation);d=b.rotation?[d[0]*c+d[1]*h,-d[0]*h+d[1]*c]:d;return{x:((d[0]-(b.xoffset||0))*(b.scale||1)+(b.xpan||0))*(b.jsonres||1)+(b.jsonmarginX||0),y:(((b.yoffset||0)-d[1])*(b.scale||1)+(b.ypan||0))*(b.jsonres||1)-(b.jsonmarginY||0)}};p.prototype.transformToLatLon=function(d,b){if(void 0===x.proj4)a.error(21);else{d={x:((d.x-(b.jsonmarginX||0))/(b.jsonres||1)-(b.xpan||0))/(b.scale||1)+(b.xoffset||0),y:((-d.y-(b.jsonmarginY||0))/(b.jsonres||1)+(b.ypan||0))/(b.scale||
1)+(b.yoffset||0)};var c=b.cosAngle||b.rotation&&Math.cos(b.rotation),h=b.sinAngle||b.rotation&&Math.sin(b.rotation);b=x.proj4(b.crs,"WGS84",b.rotation?{x:d.x*c+d.y*-h,y:d.x*h+d.y*c}:d);return{lat:b.y,lon:b.x}}};p.prototype.fromPointToLatLon=function(d){var b=this.mapTransforms,c;if(b){for(c in b)if(b.hasOwnProperty(c)&&b[c].hitZone&&m({x:d.x,y:-d.y},b[c].hitZone.coordinates[0]))return this.transformToLatLon(d,b[c]);return this.transformToLatLon(d,b["default"])}a.error(22)};p.prototype.fromLatLonToPoint=
function(d){var b=this.mapTransforms,c,h;if(!b)return a.error(22),{x:0,y:null};for(c in b)if(b.hasOwnProperty(c)&&b[c].hitZone&&(h=this.transformFromLatLon(d,b[c]),m({x:h.x,y:-h.y},b[c].hitZone.coordinates[0])))return h;return this.transformFromLatLon(d,b["default"])};a.geojson=function(a,b,c){var h=[],d=[],k=function(a){var b,c=a.length;d.push("M");for(b=0;b<c;b++)1===b&&d.push("L"),d.push(a[b][0],-a[b][1])};b=b||"map";l(a.features,function(a){var c=a.geometry,e=c.type,c=c.coordinates;a=a.properties;
var f;d=[];"map"===b||"mapbubble"===b?("Polygon"===e?(l(c,k),d.push("Z")):"MultiPolygon"===e&&(l(c,function(a){l(a,k)}),d.push("Z")),d.length&&(f={path:d})):"mapline"===b?("LineString"===e?k(c):"MultiLineString"===e&&l(c,k),d.length&&(f={path:d})):"mappoint"===b&&"Point"===e&&(f={x:c[0],y:-c[1]});f&&h.push(g(f,{name:a.name||a.NAME,properties:a}))});c&&a.copyrightShort&&(c.chart.mapCredits=n(c.chart.options.credits.mapText,{geojson:a}),c.chart.mapCreditsFull=n(c.chart.options.credits.mapTextFull,{geojson:a}));
return h};v(p.prototype,"addCredits",function(a,b){b=w(!0,this.options.credits,b);this.mapCredits&&(b.href=null);a.call(this,b);this.credits&&this.mapCreditsFull&&this.credits.attr({title:this.mapCreditsFull})})})(y);(function(a){function m(a,b,d,k,e,g,l,f){return["M",a+e,b,"L",a+d-g,b,"C",a+d-g/2,b,a+d,b+g/2,a+d,b+g,"L",a+d,b+k-l,"C",a+d,b+k-l/2,a+d-l/2,b+k,a+d-l,b+k,"L",a+f,b+k,"C",a+f/2,b+k,a,b+k-f/2,a,b+k-f,"L",a,b+e,"C",a,b+e/2,a+e/2,b,a+e,b,"Z"]}var p=a.Chart,l=a.defaultOptions,g=a.each,n=a.extend,
w=a.merge,x=a.pick,v=a.Renderer,d=a.SVGRenderer,b=a.VMLRenderer;n(l.lang,{zoomIn:"Zoom in",zoomOut:"Zoom out"});l.mapNavigation={buttonOptions:{alignTo:"plotBox",align:"left",verticalAlign:"top",x:0,width:18,height:18,padding:5,style:{fontSize:"15px",fontWeight:"bold"},theme:{"stroke-width":1,"text-align":"center"}},buttons:{zoomIn:{onclick:function(){this.mapZoom(.5)},text:"+",y:0},zoomOut:{onclick:function(){this.mapZoom(2)},text:"-",y:28}},mouseWheelSensitivity:1.1};a.splitPath=function(a){var b;
a=a.replace(/([A-Za-z])/g," $1 ");a=a.replace(/^\s*/,"").replace(/\s*$/,"");a=a.split(/[ ,]+/);for(b=0;b<a.length;b++)/[a-zA-Z]/.test(a[b])||(a[b]=parseFloat(a[b]));return a};a.maps={};d.prototype.symbols.topbutton=function(a,b,d,k,e){return m(a-1,b-1,d,k,e.r,e.r,0,0)};d.prototype.symbols.bottombutton=function(a,b,d,k,e){return m(a-1,b-1,d,k,0,0,e.r,e.r)};v===b&&g(["topbutton","bottombutton"],function(a){b.prototype.symbols[a]=d.prototype.symbols[a]});a.Map=a.mapChart=function(b,d,g){var c="string"===
typeof b||b.nodeName,e=arguments[c?1:0],h={endOnTick:!1,visible:!1,minPadding:0,maxPadding:0,startOnTick:!1},l,f=a.getOptions().credits;l=e.series;e.series=null;e=w({chart:{panning:"xy",type:"map"},credits:{mapText:x(f.mapText,' \u00a9 \x3ca href\x3d"{geojson.copyrightUrl}"\x3e{geojson.copyrightShort}\x3c/a\x3e'),mapTextFull:x(f.mapTextFull,"{geojson.copyright}")},tooltip:{followTouchMove:!1},xAxis:h,yAxis:w(h,{reversed:!0})},e,{chart:{inverted:!1,alignTicks:!1}});e.series=l;return c?new p(b,e,g):
new p(e,d)}})(y)});
