/** * Highcharts JS v11.2.0 (2023-10-30) * * (c) 2017-2021 Highsoft AS * Authors: Jon Arild Nygard * * License: www.highcharts.com/license */!function(t){"object"==typeof module&&module.exports?(t.default=t,module.exports=t):"function"==typeof define&&define.amd?define("highcharts/modules/venn",["highcharts"],function(e){return t(e),t.Highcharts=e,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(t){"use strict";var e=t?t._modules:{};function r(t,e,r,n){t.hasOwnProperty(e)||(t[e]=n.apply(null,r),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}r(e,"Core/Geometry/GeometryUtilities.js",[],function(){var t,e;return(e=t||(t={})).getCenterOfPoints=function(t){var e=t.reduce(function(t,e){return t.x+=e.x,t.y+=e.y,t},{x:0,y:0});return{x:e.x/t.length,y:e.y/t.length}},e.getDistanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},e.getAngleBetweenPoints=function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},t}),r(e,"Core/Geometry/CircleUtilities.js",[e["Core/Geometry/GeometryUtilities.js"]],function(t){var e,r=t.getAngleBetweenPoints,n=t.getCenterOfPoints,i=t.getDistanceBetweenPoints;return function(t){function e(t,e){var r=Math.pow(10,e);return Math.round(t*r)/r}function o(t){if(t<=0)throw Error("radius of circle must be a positive number.");return Math.PI*t*t}function s(t,e){return t*t*Math.acos(1-e/t)-(t-e)*Math.sqrt(e*(2*t-e))}function a(t,r){var n=i(t,r),o=t.r,s=r.r,a=[];if(nMath.abs(o-s)){var u=o*o,c=(u-s*s+n*n)/(2*n),l=Math.sqrt(u-c*c),f=t.x,p=r.x,h=t.y,d=r.y,y=f+c*(p-f)/n,v=h+c*(d-h)/n,g=-(d-h)*(l/n),m=-(p-f)*(l/n);a=[{x:e(y+g,14),y:e(v-m,14)},{x:e(y-g,14),y:e(v+m,14)}]}return a}function u(t){return t.reduce(function(t,e,r,n){var i=n.slice(r+1).reduce(function(t,n,i,o){var s=[r,i+r+1];return t.concat(a(e,n).map(function(t){return t.indexes=s,t}))},[]);return t.concat(i)},[])}function c(t,e){return i(t,e)<=e.r+1e-10}function l(t,e){return!e.some(function(e){return!c(t,e)})}function f(t){return u(t).filter(function(e){return l(e,t)})}t.round=e,t.getAreaOfCircle=o,t.getCircularSegmentArea=s,t.getOverlapBetweenCircles=function(t,r,n){var i=0;if(n1){var s=n(o),a=(o=o.map(function(t){return t.angle=r(s,t),t}).sort(function(t,e){return e.angle-t.angle}))[o.length-1],u=o.reduce(function(e,o){var s=e.startPoint,a=n([s,o]),u=o.indexes.filter(function(t){return s.indexes.indexOf(t)>-1}).reduce(function(e,n){var u=t[n],c=r(u,o),l=r(u,s),f=l-(l-c+(l2*h&&(p=2*h),(!e||e.width>p)&&(e={r:h,largeArc:p>h?1:0,width:p,x:o.x,y:o.y}),e},null);if(u){var c=u.r;e.arcs.push(["A",c,c,0,u.largeArc,1,u.x,u.y]),e.startPoint=o}return e},{startPoint:a,arcs:[]}).arcs;0===u.length||1===u.length||(u.unshift(["M",a.x,a.y]),e={center:s,d:u})}return e}}(e||(e={})),e}),r(e,"Series/DrawPointUtilities.js",[e["Core/Utilities.js"]],function(t){var e=this&&this.__assign||function(){return(e=Object.assign||function(t){for(var e,r=1,n=arguments.length;r=r)throw Error("a must be smaller than b.");if(a*u>0)throw Error("f(a) and f(b) must have opposite signs.");if(0===a)o=e;else if(0===u)o=r;else for(;p++<=c&&0!==s&&f>l;)f=(r-e)/2,a*(s=t(o=e+f))>0?e=o:r=o;return o}function m(t){for(var e=t.slice(0,-1),r=e.length,n=[],i=function(t,e){return t.sum+=e[t.i],t},o=0;o-1&&p(t.sets)&&t.sets.length>0&&!t.sets.some(function(t){var r=!1;return!e[t]&&y(t)?e[t]=!0:r=!0,r})}function O(t,e){return e.reduce(function(e,r){var n=0;if(r.sets.length>1){var i=r.value-function(t){var e=0;if(2===t.length){var r=t[0],n=t[1];e=s(r.r,n.r,l(r,n))}return e}(r.sets.map(function(e){return t[e]}));n=Math.round(i*i*1e11)/1e11}return e+n},0)}function A(t,e){return void 0!==e.totalOverlap&&void 0!==t.totalOverlap?e.totalOverlap-t.totalOverlap:NaN}return{geometry:e,geometryCircles:t,addOverlapToSets:v,getCentroid:m,getDistanceBetweenCirclesByOverlap:x,getLabelWidth:function(t,e,r){var n=e.reduce(function(t,e){return Math.min(e.r,t)},1/0),i=r.filter(function(e){return!u(t,e)}),o=function(r,n){return g(function(o){var s={x:t.x+n*o,y:t.y};return-(r-o)+(a(s,e)&&c(s,i)?0:Number.MAX_VALUE)},0,r)};return 2*Math.min(o(n,-1),o(n,1))},getMarginFromCircles:function(t,e,r){var n=e.reduce(function(e,r){var n=r.r-l(t,r);return n<=e?n:e},Number.MAX_VALUE);return r.reduce(function(e,r){var n=l(t,r)-r.r;return n<=e?n:e},n)},isSet:b,layoutGreedyVenn:function(t){var e=[],r={};t.filter(function(t){return 1===t.sets.length}).forEach(function(t){r[t.sets[0]]=t.circle={x:Number.MAX_VALUE,y:Number.MAX_VALUE,r:Math.sqrt(t.value/Math.PI)}});var n=function(t,r){var n=t.circle;n&&(n.x=r.x,n.y=r.y),e.push(t)};v(t);var i=t.filter(b).sort(A);n(i.shift(),{x:0,y:0});for(var s=t.filter(function(t){return 2===t.sets.length}),a=0;a=a[a.length-2].fx){var h=void 0;a=f.fx>c.fx?(h=s(l,c,.5,.5)).fx0&&-1===t.indexOf(e.sets[0])&&t.push(e.sets[0]),t},[]).sort(),i=r.reduce(function(t,r){return r.sets&&C(r)&&!r.sets.some(function(t){return -1===n.indexOf(t)})&&(t[r.sets.sort().join(e)]={sets:r.sets,value:r.value||0}),t},{});return n.reduce(function(t,r,n,i){return i.slice(n+1).forEach(function(n){t.push(r+e+n)}),t},[]).forEach(function(t){if(!i[t]){var r={sets:t.split(e),value:0};i[t]=r}}),Object.keys(i).map(function(t){return i[t]})},sortByTotalOverlap:A}}),r(e,"Series/Venn/VennSeries.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Color/Color.js"],e["Core/Geometry/CircleUtilities.js"],e["Series/DrawPointUtilities.js"],e["Core/Geometry/GeometryUtilities.js"],e["Core/Series/SeriesRegistry.js"],e["Series/Venn/VennPoint.js"],e["Series/Venn/VennSeriesDefaults.js"],e["Series/Venn/VennUtils.js"],e["Core/Utilities.js"]],function(t,e,r,n,i,o,s,a,u,c){var l,f=this&&this.__extends||(l=function(t,e){return(l=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}l(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),p=t.animObject,h=e.parse,d=r.getAreaOfIntersectionBetweenCircles,y=r.getCirclesIntersectionPolygon,v=r.isCircle1CompletelyOverlappingCircle2,g=r.isPointInsideAllCircles,m=r.isPointOutsideAllCircles,x=i.getCenterOfPoints,b=o.seriesTypes.scatter,C=c.addEvent,O=c.extend,A=c.isArray,j=c.isNumber,w=c.isObject,P=c.merge,M=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.data=void 0,e.mapOfIdToRelation=void 0,e.options=void 0,e.points=void 0,e}return f(e,t),e.getLabelPosition=function(t,e){var r=t.reduce(function(r,n){var i=n.r/2;return[{x:n.x,y:n.y},{x:n.x+i,y:n.y},{x:n.x-i,y:n.y},{x:n.x,y:n.y+i},{x:n.x,y:n.y-i}].reduce(function(r,n){var i=u.getMarginFromCircles(n,t,e);return r.margin1?x(y(t)):{x:t[0].x,y:t[0].y}),r},e.getLabelValues=function(t,r){var n=t.sets,i=r.reduce(function(t,e){var r=n.indexOf(e.sets[0])>-1;return e.circle&&t[r?"internal":"external"].push(e.circle),t},{internal:[],external:[]});i.external=i.external.filter(function(t){return i.internal.some(function(e){return!v(t,e)})});var o=e.getLabelPosition(i.internal,i.external),s=u.getLabelWidth(o,i.internal,i.external);return{position:o,width:s}},e.layout=function(t){var r={},n={};if(t.length>0)for(var i=u.layoutGreedyVenn(t),o=t.filter(u.isSet),s=0;s0?1/i*t:1,n>0?1/n*e:1);return{scale:a,centerX:t/2-o*a,centerY:e/2-s*a}},e.updateFieldBoundaries=function(t,e){var r=e.x-e.r,n=e.x+e.r,i=e.y+e.r,o=e.y-e.r;return(!j(t.left)||t.left>r)&&(t.left=r),(!j(t.right)||t.righto)&&(t.top=o),(!j(t.bottom)||t.bottom