You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

69 lines
30 KiB
JavaScript

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