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