!/**
 * Highcharts JS v12.5.0 (2026-01-12)
 * @module highcharts/modules/marker-clusters
 * @requires highcharts
 *
 * Marker clusters module for Highcharts
 *
 * (c) 2010-2026 Highsoft AS
 * Author: Wojciech Chmiel
 *
 * A commercial license may be required depending on use.
 * See www.highcharts.com/license
 */function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("highcharts")):"function"==typeof define&&define.amd?define("highcharts/modules/marker-clusters",[["highcharts/highcharts"]],e):"object"==typeof exports?exports["highcharts/modules/marker-clusters"]=e(require("highcharts")):t.Highcharts=e(t.Highcharts)}(this,function(t){return function(){"use strict";var e,i={944:function(e){e.exports=t}},r={};function n(t){var e=r[t];if(void 0!==e)return e.exports;var a=r[t]={exports:{}};return i[t](a,a.exports,n),a.exports}n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,{a:e}),e},n.d=function(t,e){for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)};var a={};n.d(a,{default:function(){return tb}});var o=n(944),s=n.n(o),l={cluster:{enabled:!1,allowOverlap:!0,animation:{duration:500},drillToCluster:!0,minimumClusterSize:2,layoutAlgorithm:{gridSize:50,distance:40,kmeansThreshold:100},marker:{symbol:"cluster",radius:15,lineWidth:0,lineColor:"#ffffff"},dataLabels:{enabled:!0,format:"{point.clusterPointsAmount}",verticalAlign:"middle",align:"center",style:{color:"contrast"},inside:!0}},tooltip:{clusterFormat:"<span>Clustered points: {point.clusterPointsAmount}</span><br/>"}},u=function(t,e,i){if(i||2==arguments.length)for(var r,n=0,a=e.length;n<a;n++)!r&&n in e||(r||(r=Array.prototype.slice.call(e,0,n)),r[n]=e[n]);return t.concat(r||Array.prototype.slice.call(e))};(p=d||(d={})).setLength=function(t,e,i){return Array.isArray(t)?(t.length=e,t):t[i?"subarray":"slice"](0,e)},p.splice=function(t,e,i,r,n){if(void 0===n&&(n=[]),Array.isArray(t))return Array.isArray(n)||(n=Array.from(n)),{removed:t.splice.apply(t,u([e,i],n,!1)),array:t};var a=Object.getPrototypeOf(t).constructor,o=t[r?"subarray":"slice"](e,e+i),s=new a(t.length-i+n.length);return s.set(t.subarray(0,e),0),s.set(n,e),s.set(t.subarray(e+i),e+n.length),{removed:o,array:s}},p.convertToNumber=function(t,e){switch(typeof t){case"boolean":return+!!t;case"number":return isNaN(t)&&!e?null:t;default:return isNaN(t=parseFloat("".concat(null!=t?t:"")))&&!e?null:t}};var p,d,h,c=d,f=c.setLength,m=c.splice,g=s().fireEvent,v=s().objectEach,y=s().uniqueKey,x=function(){function t(t){void 0===t&&(t={});var e=this;this.autoId=!t.id,this.columns={},this.id=t.id||y(),this.rowCount=0,this.versionTag=y();var i=0;v(t.columns||{},function(t,r){e.columns[r]=t.slice(),i=Math.max(i,t.length)}),this.applyRowCount(i)}return t.prototype.applyRowCount=function(t){var e=this;this.rowCount=t,v(this.columns,function(i,r){i.length!==t&&(e.columns[r]=f(i,t))})},t.prototype.deleteRows=function(t,e){var i=this;if(void 0===e&&(e=1),e>0&&t<this.rowCount){var r=0;v(this.columns,function(n,a){i.columns[a]=m(n,t,e).array,r=n.length}),this.rowCount=r}g(this,"afterDeleteRows",{rowIndex:t,rowCount:e}),this.versionTag=y()},t.prototype.getColumn=function(t,e){return this.columns[t]},t.prototype.getColumns=function(t,e){var i=this;return(t||Object.keys(this.columns)).reduce(function(t,e){return t[e]=i.columns[e],t},{})},t.prototype.getRow=function(t,e){var i=this;return(e||Object.keys(this.columns)).map(function(e){var r;return null==(r=i.columns[e])?void 0:r[t]})},t.prototype.setColumn=function(t,e,i,r){var n;void 0===e&&(e=[]),void 0===i&&(i=0),this.setColumns(((n={})[t]=e,n),i,r)},t.prototype.setColumns=function(t,e,i){var r=this,n=this.rowCount;v(t,function(t,e){r.columns[e]=t.slice(),n=t.length}),this.applyRowCount(n),(null==i?void 0:i.silent)||(g(this,"afterSetColumns"),this.versionTag=y())},t.prototype.setRow=function(t,e,i,r){void 0===e&&(e=this.rowCount);var n=this.columns,a=i?this.rowCount+1:e+1,o=Object.keys(t);if((null==r?void 0:r.addColumns)!==!1)for(var s=0,l=o.length;s<l;s++){var u=o[s];n[u]||(n[u]=[])}v(n,function(o,s){var l,u;o||(null==r?void 0:r.addColumns)===!1||(o=Array(a)),o&&(i?o=m(o,e,0,!0,[null!=(l=t[s])?l:null]).array:o[e]=null!=(u=t[s])?u:null,n[s]=o)}),a>this.rowCount&&this.applyRowCount(a),(null==r?void 0:r.silent)||(g(this,"afterSetRows"),this.versionTag=y())},t.prototype.getModified=function(){return this.modified||this},t}(),C=s().animObject,I=l.cluster,b=s().addEvent,k=s().defined,M=s().error,S=s().isArray,A=s().isFunction,w=s().isObject,X=s().isNumber,Y=s().merge,P=s().objectEach,L=s().relativeLength,O=s().syncTimeout,z={grid:function(t,e,i,r){var n,a,o,s,l,u={},p=this.getGridOffset(),d=this.getScaledGridSize(r);for(l=0;l<t.length;l++){var h=tr(this,{x:t[l],y:e[l]});n=h.x-p.plotLeft,a=h.y-p.plotTop,o=Math.floor(n/d),null!=u[s=Math.floor(a/d)+":"+o]||(u[s]=[]),u[s].push({dataIndex:i[l],x:t[l],y:e[l]})}return u},kmeans:function(t,e,i,r){var n,a=[],o=[],s={},l=r.processedDistance||I.layoutAlgorithm.distance,u=r.iterations,p=0,d=!0,h=0,c=0,f=[];r.processedGridSize=r.processedDistance;var m=this.markerClusterAlgorithms?this.markerClusterAlgorithms.grid.call(this,t,e,i,r):{};for(var g in m)m[g].length>1&&(n=R(m[g]),a.push({posX:n.x,posY:n.y,oldX:0,oldY:0,startPointsLen:m[g].length,points:[]}));for(;d;){for(var v=0;v<a.length;v++)a[v].points.length=0;o.length=0;for(var y=0;y<t.length;y++)h=t[y],c=e[y],(f=this.getClusterDistancesFromPoint(a,h,c)).length&&f[0].distance<l?a[f[0].clusterIndex].points.push({x:h,y:c,dataIndex:i[y]}):o.push({x:h,y:c,dataIndex:i[y]});for(var y=0;y<a.length;y++)1===a[y].points.length&&(f=this.getClusterDistancesFromPoint(a,a[y].points[0].x,a[y].points[0].y))[1].distance<l&&(a[f[1].clusterIndex].points.push(a[y].points[0]),a[f[0].clusterIndex].points.length=0);d=!1;for(var y=0;y<a.length;y++)n=R(a[y].points),a[y].oldX=a[y].posX,a[y].oldY=a[y].posY,a[y].posX=n.x,a[y].posY=n.y,(a[y].posX>a[y].oldX+1||a[y].posX<a[y].oldX-1||a[y].posY>a[y].oldY+1||a[y].posY<a[y].oldY-1)&&(d=!0);u&&(d=p<u-1),p++}for(var y=0,x=a.length;y<x;++y)s["cluster"+y]=a[y].points;for(var y=0,x=o.length;y<x;++y)s["noise"+y]=[o[y]];return s},optimizedKmeans:function(t,e,i,r){var n,a,o,s,l,u=r.processedDistance||I.layoutAlgorithm.gridSize,p=this.getRealExtremes(),d=(this.options.cluster||{}).marker,h={};if(!this.markerClusterInfo||this.initMaxX&&this.initMaxX<p.maxX||this.initMinX&&this.initMinX>p.minX||this.initMaxY&&this.initMaxY<p.maxY||this.initMinY&&this.initMinY>p.minY)this.initMaxX=p.maxX,this.initMinX=p.minX,this.initMaxY=p.maxY,this.initMinY=p.minY,h=this.markerClusterAlgorithms?this.markerClusterAlgorithms.kmeans.call(this,t,e,i,r):{},this.baseClusters=null;else{null!=this.baseClusters||(this.baseClusters={clusters:this.markerClusterInfo.clusters,noise:this.markerClusterInfo.noise});for(var c=0,f=this.baseClusters.clusters;c<f.length;c++){var m=f[c];m.pointsOutside=[],m.pointsInside=[];for(var g=0,v=m.data;g<v.length;g++){var y=v[g],x=tr(this,y),C=tr(this,m);o=Math.sqrt(Math.pow(x.x-C.x,2)+Math.pow(x.y-C.y,2)),s=u-(l=(null==(a=null==(n=m.clusterZone)?void 0:n.marker)?void 0:a.radius)?m.clusterZone.marker.radius:(null==d?void 0:d.radius)?d.radius:I.marker.radius)>=0?u-l:l,o>l+s&&k(m.pointsOutside)?m.pointsOutside.push(y):k(m.pointsInside)&&m.pointsInside.push(y)}m.pointsInside.length&&(h[m.id]=m.pointsInside);for(var b=0,M=0,S=m.pointsOutside;M<S.length;M++){var A=S[M];h[m.id+"_noise"+b++]=[A]}}for(var w=0,X=this.baseClusters.noise;w<X.length;w++){var Y=X[w];h[Y.id]=Y.data}}return h}},D=[],T=0;function j(t,e,i){t.attr({opacity:e}).animate({opacity:1},i)}function V(t,e,i,r){var n,a;E(t,r,i,!0,!0);for(var o=0;o<e.length;o++)null==(a=null==(n=e[o].point)?void 0:n.destroy)||a.call(n)}function E(t,e,i,r,n){t.point&&(r&&t.point.graphic&&(t.point.graphic.show(),j(t.point.graphic,e,i)),n&&t.point.dataLabel&&(t.point.dataLabel.show(),j(t.point.dataLabel,e,i)))}function R(t){for(var e=t.length,i=0,r=0,n=0;n<e;n++)i+=t[n].x,r+=t[n].y;return{x:i/e,y:r/e}}function G(t,e){var i=[];return i.length=e,t.clusters.forEach(function(t){t.data.forEach(function(t){i[t.dataIndex]=t})}),t.noise.forEach(function(t){i[t.data[0].dataIndex]=t.data[0]}),i}function F(){return Math.random().toString(36).substring(2,7)+"-"+T++}function N(t,e,i){t.point&&(e&&t.point.graphic&&t.point.graphic.hide(),i&&t.point.dataLabel&&t.point.dataLabel.hide())}function Z(t){(t.point||t.target).firePointEvent("drillToCluster",t,function(t){var e,i,r,n,a=t.point||t.target,o=a.series,s=o.xAxis,l=o.yAxis,u=o.chart,p=u.inverted,d=u.mapView,h=u.pointer;if((null==(n=o.options.cluster)?void 0:n.drillToCluster)&&a.clusteredData){var c=a.clusteredData.map(function(t){return t.x}).sort(function(t,e){return t-e}),f=a.clusteredData.map(function(t){return t.y}).sort(function(t,e){return t-e}),m=c[0],g=c[c.length-1],v=f[0],y=f[f.length-1],x=Math.abs((g-m)*.1),C=Math.abs((y-v)*.1),I=Math.min(m,g)-x,b=Math.max(m,g)+x,k=Math.min(v,y)-C,M=Math.max(v,y)+C;if(d)d.fitToBounds({x1:I,x2:b,y1:k,y2:M});else if(s&&l){var S=s.toPixels(I),A=s.toPixels(b),w=l.toPixels(k),X=l.toPixels(M);p&&(S=(e=[w,X,S,A])[0],A=e[1],w=e[2],X=e[3]),S>A&&(S=(i=[A,S])[0],A=i[1]),w>X&&(w=(r=[X,w])[0],X=r[1]),h&&(h.zoomX=!0,h.zoomY=!0),u.transform({from:{x:S,y:w,width:A-S,height:X-w}})}}})}function q(t,e){var i=t.chart,r=t.xAxis,n=t.yAxis;return i.mapView?i.mapView.pixelsToProjectedUnits(e):{x:r?r.toValue(e.x):0,y:n?n.toValue(e.y):0}}function H(t){var e,i,r,n,a,o,s,l,u,p,d=this.chart,h=d.mapView,c=C(null==(e=this.options.cluster)?void 0:e.animation),f=c.duration||500,m=null==(i=this.markerClusterInfo)?void 0:i.pointsState,g=null==m?void 0:m.newState,v=null==m?void 0:m.oldState,y=[],x=0,I=0,b=0,k=!1,M=!1;if(v&&g){var S=tr(this,u=g[t.stateId]);I=S.x-(h?0:d.plotLeft),b=S.y-(h?0:d.plotTop),1===u.parentsId.length?(l=v[null==g?void 0:g[t.stateId].parentsId[0]],(null==(r=u.point)?void 0:r.graphic)&&(null==(n=l.point)?void 0:n.plotX)&&l.point.plotY&&(l.point.plotX!==u.point.plotX||l.point.plotY!==u.point.plotY)&&(p=u.point.graphic.getBBox(),x=(null==(a=u.point.graphic)?void 0:a.isImg)?0:p.width/2,u.point.graphic.attr({x:l.point.plotX-x,y:l.point.plotY-x}),u.point.graphic.animate({x:I-(u.point.graphic.radius||0),y:b-(u.point.graphic.radius||0)},c,function(){var t,e;M=!0,null==(e=null==(t=l.point)?void 0:t.destroy)||e.call(t)}),(null==(o=u.point.dataLabel)?void 0:o.alignAttr)&&(null==(s=l.point.dataLabel)?void 0:s.alignAttr)&&(u.point.dataLabel.attr({x:l.point.dataLabel.alignAttr.x,y:l.point.dataLabel.alignAttr.y}),u.point.dataLabel.animate({x:u.point.dataLabel.alignAttr.x,y:u.point.dataLabel.alignAttr.y},c)))):0===u.parentsId.length?(N(u,!0,!0),O(function(){E(u,.1,c,!0,!0)},f/2)):(N(u,!0,!0),u.parentsId.forEach(function(t){var e,i,r;(null==v?void 0:v[t])&&(l=v[t],y.push(l),(null==(e=l.point)?void 0:e.graphic)&&(k=!0,l.point.graphic.show(),l.point.graphic.animate({x:I-(l.point.graphic.radius||0),y:b-(l.point.graphic.radius||0),opacity:.4},c,function(){M=!0,V(u,y,c,.7)}),l.point.dataLabel&&-9999!==l.point.dataLabel.y&&(null==(r=null==(i=u.point)?void 0:i.dataLabel)?void 0:r.alignAttr)&&(l.point.dataLabel.show(),l.point.dataLabel.animate({x:u.point.dataLabel.alignAttr.x,y:u.point.dataLabel.alignAttr.y,opacity:.4},c))))}),O(function(){M||V(u,y,c,.85)},f),k||O(function(){V(u,y,c,.1)},f/2))}}function W(){var t;null==(t=this.markerClusterSeriesData)||t.forEach(function(t){var e;null==(e=null==t?void 0:t.destroy)||e.call(t)}),this.markerClusterSeriesData=null}function B(){var t,e,i,r,n,a,o,s,l,u,p,d,c,f,m,g,v,y,C,M,S=this,w=S.chart,Y=w.mapView,P=S.getColumn("x"),O=S.getColumn("y"),z=S.options.cluster,D=S.getRealExtremes(),T=[],j=[],V=[];if(Y&&S.is("mappoint")&&P&&O&&(null==(t=S.options.data)||t.forEach(function(t,e){var i=S.projectPoint(t);i&&(P[e]=i.x,O[e]=i.y)})),(null==z?void 0:z.enabled)&&(null==P?void 0:P.length)&&(null==O?void 0:O.length)&&!w.polar){g=z.layoutAlgorithm.type,(C=z.layoutAlgorithm).processedGridSize=L(C.gridSize||I.layoutAlgorithm.gridSize,w.plotWidth),C.processedDistance=L(C.distance||I.layoutAlgorithm.distance,w.plotWidth),l=C.kmeansThreshold||I.layoutAlgorithm.kmeansThreshold;var E=C.processedGridSize/2,R=q(S,{x:0,y:0}),G=q(S,{x:E,y:E});u=Math.abs(R.x-G.x),p=Math.abs(R.y-G.y);for(var F=0;F<P.length;F++)!S.dataMaxX&&(k(c)&&k(d)&&k(m)&&k(f)?X(O[F])&&X(m)&&X(f)&&(c=Math.max(P[F],c),d=Math.min(P[F],d),m=Math.max(O[F]||m,m),f=Math.min(O[F]||f,f)):(c=d=P[F],m=f=O[F])),P[F]>=D.minX-u&&P[F]<=D.maxX+u&&(O[F]||D.minY)>=D.minY-p&&(O[F]||D.maxY)<=D.maxY+p&&(T.push(P[F]),j.push(O[F]),V.push(F));k(c)&&k(d)&&X(m)&&X(f)&&(S.dataMaxX=c,S.dataMinX=d,S.dataMaxY=m,S.dataMinY=f),v=(y=(A(g)?g:S.markerClusterAlgorithms?g&&S.markerClusterAlgorithms[g]?S.markerClusterAlgorithms[g]:T.length<l?S.markerClusterAlgorithms.kmeans:S.markerClusterAlgorithms.grid:function(){return!1}).call(this,T,j,V,C))?S.getClusteredData(y,z):y,z.animation&&(null==(i=null==(e=S.markerClusterInfo)?void 0:e.pointsState)?void 0:i.oldState)?(!function(t){for(var e,i,r=0,n=Object.keys(t);r<n.length;r++)null==(i=null==(e=t[n[r]].point)?void 0:e.destroy)||i.call(e)}(S.markerClusterInfo.pointsState.oldState),a=S.markerClusterInfo.pointsState.newState):a={},o=P.length,s=S.markerClusterInfo,v&&(S.dataTable.modified=new x({columns:{x:v.groupedXData,y:v.groupedYData}}),S.hasGroupedData=!0,S.markerClusterInfo=v,S.groupMap=v.groupMap),h.apply(this),v&&S.markerClusterInfo&&(null==(r=S.markerClusterInfo.clusters)||r.forEach(function(t){(M=S.points[t.index]).isCluster=!0,M.clusteredData=t.data,M.clusterPointsAmount=t.data.length,t.point=M,b(M,"click",Z)}),null==(n=S.markerClusterInfo.noise)||n.forEach(function(t){t.point=S.points[t.index]}),z.animation&&S.markerClusterInfo&&(S.markerClusterInfo.pointsState={oldState:a,newState:S.getPointsState(v,s,o)}),z.animation?this.hideClusteredData():this.destroyClusteredData(),this.markerClusterSeriesData=this.hasGroupedData?this.points:null)}else h.apply(this)}function U(t,e,i){for(var r=[],n=0;n<t.length;n++){var a=tr(this,{x:e,y:i}),o=tr(this,{x:t[n].posX,y:t[n].posY}),s=Math.sqrt(Math.pow(a.x-o.x,2)+Math.pow(a.y-o.y,2));r.push({clusterIndex:n,distance:s})}return r.sort(function(t,e){return t.distance-e.distance})}function _(t,e){var i,r,n,a,o,s,l,u,p,d,h,c,f=this.options.data,m=[],g=[],v=[],y=[],x=[],C=Math.max(2,e.minimumClusterSize||2),b=0;if(A(e.layoutAlgorithm.type)&&!this.isValidGroupedDataObject(t))return M("Highcharts marker-clusters module: The custom algorithm result is not valid!",!1,this.chart),!1;for(var k in t)if(t[k].length>=C){if(n=t[k],i=F(),o=n.length,e.zones)for(var X=0;X<e.zones.length;X++)o>=e.zones[X].from&&o<=e.zones[X].to&&((h=e.zones[X]).zoneIndex=X,d=e.zones[X].marker,c=e.zones[X].className);p=R(n),"grid"!==e.layoutAlgorithm.type||e.allowOverlap?l={x:p.x,y:p.y}:(s=this.options.marker||{},l=this.preventClusterCollisions({x:p.x,y:p.y,key:k,groupedData:t,gridSize:this.getScaledGridSize(e.layoutAlgorithm),defaultRadius:s.radius||3+(s.lineWidth||0),clusterRadius:d&&d.radius?d.radius:(e.marker||{}).radius||I.marker.radius}));for(var X=0;X<o;X++)n[X].parentStateId=i;if(v.push({x:l.x,y:l.y,id:k,stateId:i,index:b,data:n,clusterZone:h,clusterZoneClassName:c}),m.push(l.x),g.push(l.y),x.push({options:{formatPrefix:"cluster",dataLabels:e.dataLabels,marker:Y(e.marker,{states:e.states},d||{})}}),null==f?void 0:f.length)for(var X=0;X<o;X++)w(f[n[X].dataIndex])&&(n[X].options=f[n[X].dataIndex]);b++,d=null}else for(var X=0;X<t[k].length;X++)r=t[k][X],i=F(),u=null,a=null==f?void 0:f[r.dataIndex],m.push(r.x),g.push(r.y),r.parentStateId=i,y.push({x:r.x,y:r.y,id:k,stateId:i,index:b,data:t[k]}),u=a&&"object"==typeof a&&!S(a)?Y(a,{x:r.x,y:r.y}):{userOptions:a,x:r.x,y:r.y},x.push({options:u}),b++;return{clusters:v,noise:y,groupedXData:m,groupedYData:g,groupMap:x}}function K(){var t=this.chart,e=this.xAxis,i=this.yAxis,r=0;return{plotLeft:r=e&&this.dataMinX&&this.dataMaxX?e.reversed?e.toPixels(this.dataMaxX):e.toPixels(this.dataMinX):t.plotLeft,plotTop:i&&this.dataMinY&&this.dataMaxY?i.reversed?i.toPixels(this.dataMinY):i.toPixels(this.dataMaxY):t.plotTop}}function J(t,e,i){var r,n,a,o=e?G(e,i):[],s=G(t,i),l={};D=[],t.clusters.forEach(function(t){l[t.stateId]={x:t.x,y:t.y,id:t.stateId,point:t.point,parentsId:[]}}),t.noise.forEach(function(t){l[t.stateId]={x:t.x,y:t.y,id:t.stateId,point:t.point,parentsId:[]}});for(var u=0;u<s.length;u++)n=s[u],a=o[u],(null==n?void 0:n.parentStateId)&&(null==a?void 0:a.parentStateId)&&(null==(r=l[n.parentStateId])?void 0:r.parentsId.indexOf(a.parentStateId))===-1&&(l[n.parentStateId].parentsId.push(a.parentStateId),-1===D.indexOf(a.parentStateId)&&D.push(a.parentStateId));return l}function Q(){var t=this.chart,e=t.mapView?0:t.plotLeft,i=q(this,{x:e,y:t.mapView?0:t.plotTop}),r=q(this,{x:e+t.plotWidth,y:e+t.plotHeight}),n=i.x,a=r.x,o=i.y,s=r.y;return{minX:Math.min(n,a),maxX:Math.max(n,a),minY:Math.min(o,s),maxY:Math.max(o,s)}}function $(t){var e=this.xAxis,i=this.chart.mapView,r=t.processedGridSize||I.layoutAlgorithm.gridSize,n=!0,a=1,o=1;this.gridValueSize||(i?this.gridValueSize=r/i.getScale():this.gridValueSize=Math.abs(e.toValue(r)-e.toValue(0)));for(var s=+(r/(i?this.gridValueSize*i.getScale():e.toPixels(this.gridValueSize)-e.toPixels(0))).toFixed(14);n&&1!==s;){var l=Math.pow(2,a);s>.75&&s<1.25?n=!1:s>=1/l&&s<1/l*2?(n=!1,o=l):s<=l&&s>l/2&&(n=!1,o=1/l),a++}return r/o/s}function tt(){var t,e,i=this.markerClusterSeriesData,r=null==(e=null==(t=this.markerClusterInfo)?void 0:t.pointsState)?void 0:e.oldState,n=D.map(function(t){var e;return(null==(e=null==r?void 0:r[t].point)?void 0:e.id)||""});null==i||i.forEach(function(t){var e;t&&-1!==n.indexOf(t.id)?(t.graphic&&t.graphic.hide(),t.dataLabel&&t.dataLabel.hide()):null==(e=null==t?void 0:t.destroy)||e.call(t)})}function te(t){var e=!1;return!!w(t)&&(P(t,function(t){if(e=!0,!S(t)||!t.length){e=!1;return}for(var i=0;i<t.length;i++)if(!w(t[i])||!t[i].x||!t[i].y){e=!1;return}}),e)}function ti(t){var e,i,r,n,a,o,s,l,u,p,d,h,c,f,m,g,v=t.key.split(":").map(parseFloat),y=v[0],x=v[1],C=t.gridSize,b=t.groupedData,M=t.defaultRadius,S=t.clusterRadius,A=x*C,w=y*C,X=tr(this,t),Y=[],P=null==(i=this.options.cluster)?void 0:i.marker,L=null==(r=this.options.cluster)?void 0:r.zones,O=this.getGridOffset(),z=X.x,D=X.y,T=0,j=0;z-=O.plotLeft,D-=O.plotTop;for(var V=1;V<5;V++)for(d=0,s=V%2?-1:1,l=V<3?-1:1,u=Math.floor((z+s*S)/C),g=[(p=Math.floor((D+l*S)/C))+":"+u,p+":"+x,y+":"+u];d<g.length;d++)-1===Y.indexOf(g[d])&&g[d]!==t.key&&Y.push(g[d]);for(var E=0;E<Y.length;E++){var G=Y[E];if(b[G]){b[G].posX||(f=R(b[G]),b[G].posX=f.x,b[G].posY=f.y);var F=tr(this,{x:b[G].posX||0,y:b[G].posY||0});if(a=F.x-O.plotLeft,o=F.y-O.plotTop,c=(e=G.split(":").map(parseFloat))[0],h=e[1],L){T=b[G].length;for(var V=0;V<L.length;V++)T>=L[V].from&&T<=L[V].to&&(j=k(null==(n=L[V].marker)?void 0:n.radius)?L[V].marker.radius||0:(null==P?void 0:P.radius)?P.radius:I.marker.radius)}b[G].length>1&&0===j&&(null==P?void 0:P.radius)?j=P.radius:1===b[G].length&&(j=M),m=S+j,j=0,h!==x&&Math.abs(z-a)<m&&(z=h-x<0?A+S:A+C-S),c!==y&&Math.abs(D-o)<m&&(D=c-y<0?w+S:w+C-S)}}var N=q(this,{x:z+O.plotLeft,y:D+O.plotTop});return b[t.key].posX=N.x,b[t.key].posY=N.y,N}function tr(t,e){var i=t.chart,r=t.xAxis,n=t.yAxis;return i.mapView?i.mapView.projectedUnitsToPixels(e):{x:r?r.toPixels(e.x):0,y:n?n.toPixels(e.y):0}}var tn=function(t,e){var i=e.prototype;!i.markerClusterAlgorithms&&(h=i.generatePoints,i.markerClusterAlgorithms=z,i.animateClusterPoint=H,i.destroyClusteredData=W,i.generatePoints=B,i.getClusterDistancesFromPoint=U,i.getClusteredData=_,i.getGridOffset=K,i.getPointsState=J,i.getRealExtremes=Q,i.getScaledGridSize=$,i.hideClusteredData=tt,i.isValidGroupedDataObject=te,i.preventClusterCollisions=ti,b(e,"destroy",i.destroyClusteredData),t.plotOptions&&(t.plotOptions.series=Y(t.plotOptions.series,l)))},ta=s().animObject,to=s().defaultOptions,ts=s().composed,tl=s().addEvent,tu=s().defined,tp=s().error,td=s().isFunction,th=s().merge,tc=s().pushUnique,tf=s().syncTimeout;function tm(){for(var t=this.chart,e=0,i=0,r=t.series;i<r.length;i++){var n=r[i];n.markerClusterInfo&&(e=ta((n.options.cluster||{}).animation).duration||0)}tf(function(){t.tooltip&&t.tooltip.destroy()},e)}function tg(){for(var t,e=0,i=this.series||[];e<i.length;e++){var r=i[e];if(r.markerClusterInfo){var n=r.options.cluster,a=((r.markerClusterInfo||{}).pointsState||{}).oldState;if((n||{}).animation&&r.markerClusterInfo&&0===((null==(t=r.chart.pointer)?void 0:t.pinchDown)||[]).length&&"pan"!==((r.xAxis||{}).eventArgs||{}).trigger&&a&&Object.keys(a).length){for(var o=0,s=r.markerClusterInfo.clusters;o<s.length;o++){var l=s[o];r.animateClusterPoint(l)}for(var u=0,p=r.markerClusterInfo.noise;u<p.length;u++){var d=p[u];r.animateClusterPoint(d)}}}}}function tv(t){var e=(((t.point||t.target).series.options.cluster||{}).events||{}).drillToCluster;td(e)&&e.call(this,t)}function ty(){if(this.dataGroup)return tp("Highcharts marker-clusters module: Running `Point.update` when point belongs to clustered series is not supported.",!1,this.series.chart),!1}function tx(){var t=(this.options.cluster||{}).drillToCluster;if(this.markerClusterInfo&&this.markerClusterInfo.clusters)for(var e=0,i=this.markerClusterInfo.clusters;e<i.length;e++){var r=i[e];r.point&&r.point.graphic&&(r.point.graphic.addClass("highcharts-cluster-point"),t&&r.point&&(r.point.graphic.css({cursor:"pointer"}),r.point.dataLabel&&r.point.dataLabel.css({cursor:"pointer"})),tu(r.clusterZone)&&r.point.graphic.addClass(r.clusterZoneClassName||"highcharts-cluster-zone-"+r.clusterZone.zoneIndex))}}function tC(t,i,r,n){var a=r/2,o=n/2,s=e.arc(t+a,i+o,a-4,o-4,{start:.5*Math.PI,end:2.5*Math.PI,open:!1}),l=e.arc(t+a,i+o,a-3,o-3,{start:.5*Math.PI,end:2.5*Math.PI,innerR:a-2,open:!1});return e.arc(t+a,i+o,a-1,o-1,{start:.5*Math.PI,end:2.5*Math.PI,innerR:a,open:!1}).concat(l,s)}(to.plotOptions||{}).series=th((to.plotOptions||{}).series,l);var tI=s();({compose:function(t,e,i,r){if(tc(ts,"MarkerClusters")){var n=r.prototype.pointClass,a=r.types.scatter;tl(t,"setExtremes",tm),tl(e,"render",tg),tl(n,"drillToCluster",tv),tl(n,"update",ty),tl(r,"afterRender",tx),a&&tn(i,a)}}}).compose(tI.Axis,tI.Chart,tI.defaultOptions,tI.Series),({compose:function(t){(e=t.prototype.symbols).cluster=tC}}).compose(tI.SVGRenderer);var tb=s();return a.default}()});