/**
 * Highcharts JS v12.6.0 (2026-04-13)
 * @module highcharts/modules/exporting
 * @requires highcharts
 *
 * Exporting module
 *
 * (c) 2010-2026 Highsoft AS
 * Author: Torstein Hønsi
 *
 * A commercial license may be required depending on use.
 * See www.highcharts.com/license
 */import*as e from"../highcharts.js";var t,n,i={};i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);let o=e.default;var r=i.n(o);let a=e.default.AST;var l=i.n(a);let s=e.default.Chart;var c=i.n(s),h=t||(t={});h.compose=function(e){return e.navigation||(e.navigation=new p(e)),e};class p{constructor(e){this.updates=[],this.chart=e}addUpdate(e){this.chart.navigation.updates.push(e)}update(e,t){this.updates.forEach(n=>{n.call(this.chart,e,t)})}}h.Additions=p;let d=t,{isSafari:u,win:f,win:{document:g}}=r(),m=f.URL||f.webkitURL||f;function y(e,t){let n=f.navigator,i=g.createElement("a");if("string"!=typeof e&&!(e instanceof String)&&n.msSaveOrOpenBlob)return void n.msSaveOrOpenBlob(e,t);if(e=""+e,n.userAgent.length>1e3)throw Error("Input too long");let o=/Edge\/\d+/.test(n.userAgent);if((u&&"string"==typeof e&&0===e.indexOf("data:application/pdf")||o||e.length>2e6)&&!(e=function(e){let t=e.replace(/filename=.*;/,"").match(/data:([^;]*)(;base64)?,([A-Z+\d\/]+)/i);if(t&&t.length>3&&f.atob&&f.ArrayBuffer&&f.Uint8Array&&f.Blob&&m.createObjectURL){let e=f.atob(t[3]),n=new f.ArrayBuffer(e.length),i=new f.Uint8Array(n);for(let t=0;t<i.length;++t)i[t]=e.charCodeAt(t);return m.createObjectURL(new f.Blob([i],{type:t[1]}))}}(e)||""))throw Error("Failed to convert to blob");if(void 0!==i.download)i.href=e,i.download=t,g.body.appendChild(i),i.click(),g.body.removeChild(i);else try{if(!f.open(e,"chart"))throw Error("Failed to open window")}catch{f.location.href=e}}let{isTouchDevice:x}=r(),v={exporting:{allowTableSorting:!0,libURL:"https://code.highcharts.com/12.6.0/lib/",local:!0,type:"image/png",url:`https://export-svg.highcharts.com?v=${r().version}`,pdfFont:{normal:void 0,bold:void 0,bolditalic:void 0,italic:void 0},printMaxWidth:780,scale:2,buttons:{contextButton:{className:"highcharts-contextbutton",menuClassName:"highcharts-contextmenu",symbol:"menu",titleKey:"contextButtonTitle",menuItems:["viewFullscreen","printChart","separator","downloadPNG","downloadJPEG","downloadSVG"]}},menuItemDefinitions:{viewFullscreen:{textKey:"viewFullscreen",onclick:function(){this.fullscreen?.toggle()}},printChart:{textKey:"printChart",onclick:function(){this.exporting?.print()}},separator:{separator:!0},downloadPNG:{textKey:"downloadPNG",onclick:async function(){await this.exporting?.exportChart()}},downloadJPEG:{textKey:"downloadJPEG",onclick:async function(){await this.exporting?.exportChart({type:"image/jpeg"})}},downloadPDF:{textKey:"downloadPDF",onclick:async function(){await this.exporting?.exportChart({type:"application/pdf"})}},downloadSVG:{textKey:"downloadSVG",onclick:async function(){await this.exporting?.exportChart({type:"image/svg+xml"})}}}},lang:{viewFullscreen:"View in full screen",exitFullscreen:"Exit from full screen",printChart:"Print chart",downloadPNG:"Download PNG image",downloadJPEG:"Download JPEG image",downloadPDF:"Download PDF document",downloadSVG:"Download SVG vector image",contextButtonTitle:"Chart context menu"},navigation:{buttonOptions:{symbolSize:14,symbolX:14.5,symbolY:13.5,align:"right",buttonSpacing:5,height:28,y:-5,verticalAlign:"top",width:28,symbolFill:"#666666",symbolStroke:"#666666",symbolStrokeWidth:3,theme:{fill:"#ffffff",padding:5,stroke:"none","stroke-linecap":"round"}},menuStyle:{border:"none",borderRadius:"3px",background:"#ffffff",padding:"0.5em"},menuItemStyle:{background:"none",borderRadius:"3px",color:"#333333",padding:"0.5em",fontSize:x?"0.9em":"0.8em",transition:"background 250ms, color 250ms"},menuItemHoverStyle:{background:"#f2f2f2"}}};!function(e){let t=[];function n(e,t,n,i){return[["M",e,t+2.5],["L",e+n,t+2.5],["M",e,t+i/2+.5],["L",e+n,t+i/2+.5],["M",e,t+i-1.5],["L",e+n,t+i-1.5]]}function i(e,t,n,i){let o=i/3-2,r=[];return r.concat(this.circle(n-o,t,o,o),this.circle(n-o,t+o+4,o,o),this.circle(n-o,t+2*(o+4),o,o))}e.compose=function(e){if(-1===t.indexOf(e)){t.push(e);let o=e.prototype.symbols;o.menu=n,o.menuball=i.bind(o)}}}(n||(n={}));let w=n,{doc:b,win:S}=r();function E(e,t,n,i={}){let o="function"==typeof e&&e.prototype||e;Object.hasOwnProperty.call(o,"hcEvents")||(o.hcEvents={});let a=o.hcEvents;r().Point&&e instanceof r().Point&&e.series&&e.series.chart&&(e.series.chart.runTrackerClick=!0);let l=e.addEventListener;l&&l.call(e,t,n,!!r().supportsPassiveEvents&&{passive:void 0===i.passive?-1!==t.indexOf("touch"):i.passive,capture:!1}),a[t]||(a[t]=[]);let s={fn:n,order:"number"==typeof i.order?i.order:1/0};return a[t].push(s),a[t].sort((e,t)=>e.order-t.order),function(){I(e,t,n)}}function O(e,t,n,i,o){let r=b.createElement(e);return t&&k(r,t),o&&C(r,{padding:"0",border:"none",margin:"0"}),n&&C(r,n),i&&i.appendChild(r),r}function C(e,t){k(e.style,t)}function T(e){e?.parentElement?.removeChild(e)}function k(e,t){let n;for(n in e||(e={}),t)e[n]=t[n];return e}function F(e,t,n,i){if(n=n||{},b?.createEvent&&(e.dispatchEvent||e.fireEvent&&e!==r())){let i=b.createEvent("Events");i.initEvent(t,!0,!0),n=k(i,n),e.dispatchEvent?e.dispatchEvent(n):e.fireEvent(t,n)}else if(e.hcEvents){n.target||k(n,{preventDefault:function(){n.defaultPrevented=!0},target:e,type:t});let i=[],o=e,r=!1;for(;o.hcEvents;)Object.hasOwnProperty.call(o,"hcEvents")&&o.hcEvents[t]&&(i.length&&(r=!0),i.unshift.apply(i,o.hcEvents[t])),o=Object.getPrototypeOf(o);r&&i.sort((e,t)=>e.order-t.order),i.forEach(t=>{!1===t.fn.call(e,n,e)&&n.preventDefault()})}i&&!n.defaultPrevented&&i.call(e,n)}let P=Array.prototype.find?function(e,t){return e.find(t)}:function(e,t){let n,i=e.length;for(n=0;n<i;n++)if(t(e[n],n))return e[n]};function R(e){null!=e&&clearTimeout(e)}function N(e){return A(e)&&"number"==typeof e.nodeType}function L(e){let t=Object.prototype.toString.call(e);return"[object Array]"===t||"[object Array Iterator]"===t}function A(e,t){return!!e&&"object"==typeof e&&(!t||!L(e))}function D(e,...t){let n,i=[e,...t],o={},r=function(e,t){return"object"!=typeof e&&(e={}),M(t,function(n,i){if("__proto__"!==i&&"constructor"!==i){let o;!A(n,!0)||(o=n?.constructor,A(n,!0)&&!N(n)&&o?.name&&"Object"!==o.name)||N(n)?e[i]=t[i]:e[i]=r(e[i]||{},n)}}),e};!0===e&&(o=i[1],i=Array.prototype.slice.call(i,2));let a=i.length;for(n=0;n<a;n++)o=r(o,i[n]);return o}function M(e,t,n){for(let i in e)Object.hasOwnProperty.call(e,i)&&t.call(n||e[i],e[i],i,e)}function j(){let e=arguments,t=e.length;for(let n=0;n<t;n++){let t=e[n];if(null!=t)return t}}function H(e,t){return 0>e.indexOf(t)&&!!e.push(t)}function I(e,t,n){function i(t,n){let i=e.removeEventListener;i&&i.call(e,t,n,!1)}function o(n){let o,r;e.nodeName&&(t?(o={})[t]=!0:o=n,M(o,function(e,t){if(n[t])for(r=n[t].length;r--;)i(t,n[t][r].fn)}))}let r="function"==typeof e&&e.prototype||e;if(Object.hasOwnProperty.call(r,"hcEvents")){let e=r.hcEvents;if(t){let r=e[t]||[];n?(e[t]=r.filter(function(e){return n!==e.fn}),i(t,n)):(o(e),e[t]=[])}else o(e),delete r.hcEvents}}let{composed:U}=r();function B(){this.fullscreen=new $(this)}class ${static compose(e){H(U,"Fullscreen")&&E(e,"beforeRender",B)}constructor(e){this.chart=e,this.isOpen=!1;let t=e.renderTo;!this.browserProps&&("function"==typeof t.requestFullscreen?this.browserProps={fullscreenChange:"fullscreenchange",requestFullscreen:"requestFullscreen",exitFullscreen:"exitFullscreen"}:t.mozRequestFullScreen?this.browserProps={fullscreenChange:"mozfullscreenchange",requestFullscreen:"mozRequestFullScreen",exitFullscreen:"mozCancelFullScreen"}:t.webkitRequestFullScreen?this.browserProps={fullscreenChange:"webkitfullscreenchange",requestFullscreen:"webkitRequestFullScreen",exitFullscreen:"webkitExitFullscreen"}:t.msRequestFullscreen&&(this.browserProps={fullscreenChange:"MSFullscreenChange",requestFullscreen:"msRequestFullscreen",exitFullscreen:"msExitFullscreen"}))}close(){let e=this,t=e.chart,n=t.options.chart;F(t,"fullscreenClose",void 0,function(){e.isOpen&&e.browserProps&&t.container.ownerDocument instanceof Document&&t.container.ownerDocument[e.browserProps.exitFullscreen](),e.unbindFullscreenEvent&&(e.unbindFullscreenEvent=e.unbindFullscreenEvent()),t.setSize(e.origWidth,e.origHeight,!1),e.origWidth=void 0,e.origHeight=void 0,n.width=e.origWidthOption,n.height=e.origHeightOption,e.origWidthOption=void 0,e.origHeightOption=void 0,e.isOpen=!1,e.setButtonText()})}open(){let e=this,t=e.chart,n=t.options.chart;F(t,"fullscreenOpen",void 0,function(){if(n&&(e.origWidthOption=n.width,e.origHeightOption=n.height),e.origWidth=t.chartWidth,e.origHeight=t.chartHeight,e.browserProps){let n=E(t.container.ownerDocument,e.browserProps.fullscreenChange,function(){e.isOpen?(e.isOpen=!1,e.close()):(t.setSize(null,null,!1),e.isOpen=!0,e.setButtonText())}),i=E(t,"destroy",n);e.unbindFullscreenEvent=()=>{n(),i()};let o=t.renderTo[e.browserProps.requestFullscreen]();o&&o.catch(function(){alert("Full screen is not supported inside a frame.")})}})}setButtonText(){let e=this.chart,t=e.exporting?.divElements,n=e.options.exporting,i=n&&n.buttons&&n.buttons.contextButton.menuItems,o=e.options.lang;if(n?.menuItemDefinitions&&o?.exitFullscreen&&o.viewFullscreen&&i&&t){let e=t[i.indexOf("viewFullscreen")];e&&l().setElementHTML(e,this.isOpen?o.exitFullscreen:n.menuItemDefinitions.viewFullscreen?.textKey||o.viewFullscreen)}}toggle(){this.isOpen?this.close():this.open()}}let{win:G}=r(),V={ajax:function(e){let t={json:"application/json",xml:"application/xml",text:"text/plain",octet:"application/octet-stream"},n=new XMLHttpRequest;function i(t,n){e.error&&e.error(t,n)}if(!e.url)return!1;n.open((e.type||"get").toUpperCase(),e.url,!0),e.headers?.["Content-Type"]||n.setRequestHeader("Content-Type",t[e.dataType||"json"]||t.text),M(e.headers,function(e,t){n.setRequestHeader(t,e)}),e.responseType&&(n.responseType=e.responseType),n.onreadystatechange=function(){let t;if(4===n.readyState){if(200===n.status){if("blob"!==e.responseType&&(t=n.responseText,"json"===e.dataType))try{t=JSON.parse(t)}catch(e){if(e instanceof Error)return i(n,e)}return e.success?.(t,n)}i(n,n.responseText)}},e.data&&"string"!=typeof e.data&&(e.data=JSON.stringify(e.data)),n.send(e.data)},getJSON:function(e,t){V.ajax({url:e,success:t,dataType:"json",headers:{"Content-Type":"text/plain"}})}};V.post=async function(e,t,n){let i=new G.FormData;M(t,function(e,t){i.append(t,e)}),i.append("b64","true");let o=await G.fetch(e,{method:"POST",body:i,...n});if(o.ok){let e=await o.text(),n=document.createElement("a");n.href=`data:${t.type};base64,${e}`,n.download=t.filename,n.click(),T(n)}};let{defaultOptions:W,setOptions:q}=r(),{composed:z,doc:K,isFirefox:J,isMS:_,isSafari:X,SVG_NS:Y,win:Z}=r();l().allowedAttributes.push("data-z-index","fill-opacity","filter","preserveAspectRatio","rx","ry","stroke-dasharray","stroke-linejoin","stroke-opacity","text-anchor","transform","transform-origin","version","viewBox","visibility","xmlns","xmlns:xlink"),l().allowedTags.push("desc","clippath","fedropshadow","femorphology","g","image");let Q=Z.URL||Z.webkitURL||Z;class ee{constructor(e,t){this.options={},this.chart=e,this.options=t,this.btnCount=0,this.buttonOffset=0,this.divElements=[],this.svgElements=[]}static hyphenate(e){return e.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()})}static async imageToDataURL(e,t,n){let i=await ee.loadImage(e),o=K.createElement("canvas"),r=o?.getContext("2d");if(r)return o.height=i.height*t,o.width=i.width*t,r.drawImage(i,0,0,o.width,o.height),o.toDataURL(n);throw Error("No canvas found!")}static async fetchCSS(e){try{let t=await fetch(e),n=await t.text(),i=new CSSStyleSheet;return i.replaceSync(n),i}catch{(0,o.error)(`Warning: Failed to fetch CSS from ${e}`,!1)}}static async handleStyleSheet(e,t){try{for(let n of Array.from(e.cssRules)){if(n instanceof CSSImportRule){let e=await ee.fetchCSS(n.href);e&&await ee.handleStyleSheet(e,t)}if(n instanceof CSSFontFaceRule){let i=n.cssText;if(e.href){let t=e.href,n=/url\(\s*(['"]?)(?![a-z]+:|\/\/)([^'")]+?)\1\s*\)/gi;i=i.replace(n,(e,n,i)=>{let o=new URL(i,t).href;return`url(${n}${o}${n})`})}t.push(i)}}}catch{if(e.href){let n=await ee.fetchCSS(e.href);n&&await ee.handleStyleSheet(n,t)}}}static async fetchStyleSheets(){let e=[];for(let t of Array.from(K.styleSheets))await ee.handleStyleSheet(t,e);return e}static async inlineFonts(e){let t=await ee.fetchStyleSheets(),n=/url\(([^)]+)\)/g,i=[],o=t.join("\n"),r;for(;r=n.exec(o);){let e=r[1].replace(/['"]/g,"");i.includes(e)||i.push(e)}let a=e=>{let t="",n=new Uint8Array(e);for(let e=0;e<n.byteLength;e++)t+=String.fromCharCode(n[e]);return btoa(t)},l={};for(let e of i)try{let t=await fetch(e),n=t.headers.get("Content-Type")||"",i=a(await t.arrayBuffer());l[e]=`data:${n};base64,${i}`}catch{}o=o.replace(n,(e,t)=>{let n=t.replace(/['"]/g,"");return`url(${l[n]||n})`});let s=document.createElementNS("http://www.w3.org/2000/svg","style");return s.textContent=o,e.append(s),e}static loadImage(e){return new Promise((t,n)=>{let i=new Z.Image;i.crossOrigin="Anonymous",i.onload=()=>{setTimeout(()=>{t(i)},ee.loadEventDeferDelay)},i.onerror=e=>{n(e)},i.src=e})}static prepareImageOptions(e){let t=e?.type||"image/png",n=e?.libURL||W.exporting?.libURL;return{type:t,filename:(e?.filename||"chart")+"."+("image/svg+xml"===t?"svg":t.split("/")[1]),scale:e?.scale||1,libURL:n?.slice(-1)!=="/"?n+"/":n}}static sanitizeSVG(e,t){let n=e.indexOf("</svg>")+6,i=e.indexOf("<foreignObject")>-1,o=e.substr(n);return e=e.substr(0,n),i?e=e.replace(/(<(?:img|br).*?(?=\>))>/g,"$1 />").replace(/(<svg(?![^>]*xmlns=)[^>]*)>/g,'$1 xmlns="http://www.w3.org/2000/svg">'):o&&t?.exporting?.allowHTML&&(o='<foreignObject x="0" y="0" width="'+t.chart.width+'" height="'+t.chart.height+'"><body xmlns="http://www.w3.org/1999/xhtml">'+o.replace(/(<(?:img|br).*?(?=\>))>/g,"$1 />").replace(/(<svg(?![^>]*xmlns=)[^>]*)>/g,'$1 xmlns="http://www.w3.org/2000/svg">')+"</body></foreignObject>",e=e.replace("</svg>",o+"</svg>")),e=e.replace(/zIndex="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery\d+="[^"]+"/g,"").replace(/url\(("|&quot;)(.*?)("|&quot;)\;?\)/g,"url($2)").replace(/url\([^#]+#/g,"url(#").replace(/<svg /,'<svg xmlns:xlink="http://www.w3.org/1999/xlink" ').replace(/ (NS\d+\:)?href=/g," xlink:href=").replace(/(<image[^>]*) xlink:href=/g,"$1 href=").replace(/\n+/g," ").replace(/&nbsp;/g,"\xa0").replace(/&shy;/g,"\xad")}static svgToDataURL(e){let t=Z.navigator.userAgent,n=t.indexOf("WebKit")>-1&&0>t.indexOf("Chrome");try{if(!n&&-1===e.indexOf("<foreignObject"))return Q.createObjectURL(new Z.Blob([e],{type:"image/svg+xml;charset-utf-16"}))}catch{}return"data:image/svg+xml;charset=UTF-8,"+encodeURIComponent(e)}addButton(e){let t,n=this,i=n.chart,o=i.renderer,r=D(i.options.navigation?.buttonOptions,e),a=r.onclick,l=r.menuItems,s=r.symbolSize||12;if(!1===r.enabled||!r.theme)return;let c=i.styledMode?{}:r.theme,h=()=>{};a?h=function(e){e&&e.stopPropagation(),a.call(i,e,i)}:l&&(h=function(e){e&&e.stopPropagation(),n.contextMenu(p.menuClassName,l,p.translateX||0,p.translateY||0,p.width||0,p.height||0,p),p.setState(2)}),r.text&&r.symbol?c.paddingLeft=j(c.paddingLeft,30):r.text||k(c,{width:r.width,height:r.height,padding:0});let p=o.button(r.text||"",0,0,h,c,void 0,void 0,void 0,void 0,r.useHTML).addClass(e.className||"").attr({title:j(i.options.lang[r._titleKey||r.titleKey],"")});p.menuClassName=e.menuClassName||"highcharts-menu-"+n.btnCount++,r.symbol&&(t=o.symbol(r.symbol,Math.round((r.symbolX||0)-s/2),Math.round((r.symbolY||0)-s/2),s,s,{width:s,height:s}).addClass("highcharts-button-symbol").attr({zIndex:1}).add(p),i.styledMode||t.attr({stroke:r.symbolStroke,fill:r.symbolFill,"stroke-width":r.symbolStrokeWidth||1})),p.add(n.group).align(k(r,{width:p.width,x:j(r.x,n.buttonOffset)}),!0,"spacingBox"),n.buttonOffset+=((p.width||0)+(r.buttonSpacing||0))*("right"===r.align?-1:1),n.svgElements.push(p,t)}afterPrint(){let e=this.chart;if(!this.printReverseInfo)return;let{childNodes:t,origDisplay:n,resetParams:i}=this.printReverseInfo;this.moveContainers(e.renderTo),[].forEach.call(t,function(e,t){1===e.nodeType&&(e.style.display=n[t]||"")}),this.isPrinting=!1,i&&e.setSize.apply(e,i),delete this.printReverseInfo,ee.printingChart=void 0,F(e,"afterPrint")}beforePrint(){let e=this.chart,t=K.body,n=this.options.printMaxWidth,i={childNodes:t.childNodes,origDisplay:[],resetParams:void 0};this.isPrinting=!0,e.pointer?.reset(void 0,0),F(e,"beforePrint"),n&&e.chartWidth>n&&(i.resetParams=[e.options.chart.width,void 0,!1],e.setSize(n,void 0,!1)),[].forEach.call(i.childNodes,function(e,t){1===e.nodeType&&(i.origDisplay[t]=e.style.display,e.style.display="none")}),this.moveContainers(t),this.printReverseInfo=i}contextMenu(e,t,n,i,o,r,a){let s=this,c=s.chart,h=c.options.navigation,p=c.chartWidth,d=c.chartHeight,u="cache-"+e,f=Math.max(o,r),g,m=c[u];m||(s.contextMenuEl=c[u]=m=O("div",{className:e},{position:"absolute",zIndex:1e3,padding:f+"px",pointerEvents:"auto",...c.renderer.style},c.scrollablePlotArea?.fixedDiv||c.container),g=O("ul",{className:"highcharts-menu"},c.styledMode?{}:{listStyle:"none",margin:0,padding:0},m),c.styledMode||C(g,k({MozBoxShadow:"3px 3px 10px #0008",WebkitBoxShadow:"3px 3px 10px #0008",boxShadow:"3px 3px 10px #0008"},h?.menuStyle||{})),m.hideMenu=function(){C(m,{display:"none"}),a&&a.setState(0),c.exporting&&(c.exporting.openMenu=!1),C(c.renderTo,{overflow:"hidden"}),C(c.container,{overflow:"hidden"}),R(m.hideTimer),F(c,"exportMenuHidden")},s.events?.push(E(m,"mouseleave",function(){m.hideTimer=Z.setTimeout(m.hideMenu,500)}),E(m,"mouseenter",function(){R(m.hideTimer)}),E(K,"mouseup",function(t){c.pointer?.inClass(t.target,e)||m.hideMenu()}),E(m,"click",function(){c.exporting?.openMenu&&m.hideMenu()})),t.forEach(function(e){if("string"==typeof e&&s.options.menuItemDefinitions?.[e]&&(e=s.options.menuItemDefinitions[e]),A(e,!0)){let t;e.separator?t=O("hr",void 0,void 0,g):("viewData"===e.textKey&&s.isDataTableVisible&&(e.textKey="hideData"),t=O("li",{className:"highcharts-menu-item",onclick:function(t){t&&t.stopPropagation(),m.hideMenu(),"string"!=typeof e&&e.onclick&&e.onclick.apply(c,arguments)}},void 0,g),l().setElementHTML(t,e.text||c.options.lang[e.textKey]),c.styledMode||(t.onmouseover=function(){C(this,h?.menuItemHoverStyle||{})},t.onmouseout=function(){C(this,h?.menuItemStyle||{})},C(t,k({cursor:"pointer"},h?.menuItemStyle||{})))),s.divElements.push(t)}}),s.divElements.push(g,m),s.menuHeight=m.offsetHeight,s.menuWidth=m.offsetWidth);let y={display:"block"};n+(s.menuWidth||0)>p?y.right=p-n-o-f+"px":y.left=n-f+"px",i+r+(s.menuHeight||0)>d&&a.alignOptions?.verticalAlign!=="top"?y.bottom=d-i-f+"px":y.top=i+r-f+"px",C(m,y),C(c.renderTo,{overflow:""}),C(c.container,{overflow:""}),c.exporting&&(c.exporting.openMenu=!0),F(c,"exportMenuShown")}destroy(e){let t,n=e?e.target:this.chart,{divElements:i,events:o,svgElements:r}=this;r.forEach((e,i)=>{e&&(e.onclick=e.ontouchstart=null,n[t="cache-"+e.menuClassName]&&delete n[t],r[i]=e.destroy())}),r.length=0,this.group&&(this.group.destroy(),delete this.group),i.forEach(function(e,t){e&&(R(e.hideTimer),I(e,"mouseleave"),i[t]=e.onmouseout=e.onmouseover=e.ontouchstart=e.onclick=null,T(e))}),i.length=0,o&&(o.forEach(function(e){e()}),o.length=0)}async downloadSVG(e,t){let n,i={svg:e,exportingOptions:t,exporting:this};if(F(ee.prototype,"downloadSVG",i),i.defaultPrevented)return;let{type:r,filename:a,scale:l,libURL:s}=ee.prepareImageOptions(t);if("application/pdf"===r)throw Error("Offline exporting logic for PDF type is not found.");if("image/svg+xml"===r){if(void 0!==Z.MSBlobBuilder){let t=new Z.MSBlobBuilder;t.append(e),n=t.getBlob("image/svg+xml")}else n=ee.svgToDataURL(e);y(n,a)}else{n=ee.svgToDataURL(e);try{ee.objectURLRevoke=!0;let e=await ee.imageToDataURL(n,l,r);y(e,a)}catch(p){if("No canvas found!"===p.message)throw p;if(e.length>1e8)throw Error("Input too long");let t=K.createElement("canvas"),n=t.getContext("2d"),i=e.match(/^<svg[^>]*\s{,1000}width\s{,1000}=\s{,1000}\"?(\d+)\"?[^>]*>/),h=e.match(/^<svg[^>]*\s{0,1000}height\s{,1000}=\s{,1000}\"?(\d+)\"?[^>]*>/);if(n&&i&&h){let p=i[1]*l,d=h[1]*l;if(t.width=p,t.height=d,!Z.canvg){var c;ee.objectURLRevoke=!0,await (c=s+"canvg.js",new Promise((e,t)=>{let n=g.getElementsByTagName("head")[0],i=g.createElement("script");i.type="text/javascript",i.src=c,i.onload=()=>{e()},i.onerror=()=>{let e=`Error loading script ${c}`;(0,o.error)(e),t(Error(e))},n.appendChild(i)}))}Z.canvg.Canvg.fromString(n,e).start(),y(Z.navigator.msSaveOrOpenBlob?t.msToBlob():t.toDataURL(r),a)}}finally{if(ee.objectURLRevoke)try{Q.revokeObjectURL(n)}catch{}}}}async exportChart(e,t){if((e=D(this.options,e)).local)await this.localExport(e,t||{});else{let n=await this.getSVGForExport(e,t);e.url&&await V.post(e.url,{filename:e.filename?e.filename.replace(/\//g,"-"):this.getFilename(),type:e.type,width:e.width,scale:e.scale,svg:n},e.fetchOptions)}}async fallbackToServer(e,t){!1===e.fallbackToExportServer?e.error?e.error(e,t):(0,o.error)(28,!0):"application/pdf"===e.type&&(e.local=!1,await this.exportChart(e))}getChartHTML(e){let t=this.chart;return e&&this.inlineStyles(),this.resolveCSSVariables(),t.container.querySelectorAll("canvas").forEach(function(e){let n=e.toDataURL("image/png"),i=e.parentNode,o=t.renderer.image(n,0,0,e.width,e.height);C(o.element,{width:e.style.width,height:e.style.height}),i.parentNode.insertBefore(o.element,i),i.remove()}),t.container.innerHTML}getFilename(){let e=this.chart.userOptions.title?.text,t=this.options.filename;return t?t.replace(/\//g,"-"):("string"==typeof e&&(t=e.toLowerCase().replace(/<\/?[^>]+(>|$)/g,"").replace(/[\s_]+/g,"-").replace(/[^a-z\d\-]/g,"").replace(/^[\-]+/g,"").replace(/[\-]+/g,"-").substr(0,24).replace(/[\-]+$/g,"")),(!t||t.length<5)&&(t="chart"),t)}getSVG(e,t){let n=this.chart,i,r,a=D(n.options,e);a.plotOptions=D(n.userOptions.plotOptions,e?.plotOptions),a.time=D(n.userOptions.time,e?.time);let l=O("div",void 0,{position:"absolute",top:"-9999em",width:n.chartWidth+"px",height:n.chartHeight+"px"},K.body),s=n.renderTo.style.width,c=n.renderTo.style.height,h=a.exporting?.sourceWidth||a.chart.width||/px$/.test(s)&&parseInt(s,10)||(a.isGantt?800:600),p=a.exporting?.sourceHeight||a.chart.height||/px$/.test(c)&&parseInt(c,10)||400;k(a.chart,{animation:!1,renderTo:l,forExport:!0,renderer:"SVGRenderer",width:h,height:p}),a.exporting&&(a.exporting.enabled=!1),delete a.data,a.series=[],n.series.forEach(function(e){(r=D(e.userOptions,{animation:!1,enableMouseTracking:!1,showCheckbox:!1,visible:e.visible})).isInternal||a?.series?.push(r)});let d={};n.axes.forEach(function(e){e.userOptions.internalKey||(e.userOptions.internalKey=(0,o.uniqueKey)()),a&&!e.options.isInternal&&(d[e.coll]||(d[e.coll]=!0,a[e.coll]=[]),a[e.coll].push(D(e.userOptions,{visible:e.visible,type:e.type,uniqueNames:e.uniqueNames})))}),a.colorAxis=n.userOptions.colorAxis;let u=t=>{e&&["xAxis","yAxis","series"].forEach(function(n){e[n]&&t.update({[n]:e[n]})}),n.axes.forEach(function(n){let i=P(t.axes,e=>e.options.internalKey===n.userOptions.internalKey);if(i){var o;let t=n.getExtremes(),r=(L(o=e?.[n.coll]||{})?o:[o])[0],a="min"in r?r.min:t.userMin,l="max"in r?r.max:t.userMax;(void 0!==a&&a!==i.min||void 0!==l&&l!==i.max)&&i.setExtremes(a??void 0,l??void 0,!0,!1)}});let o=t.exporting;return o?.options.applyStyleSheets&&this.applyShadowDOMStyles(t),i=o?.getChartHTML(n.styledMode||a?.exporting?.applyStyleSheets)||"",F(n,"getSVG",{chartCopy:t}),i=ee.sanitizeSVG(i,a),a=void 0,t.destroy(),T(l),i};return t?new Promise(e=>new n.constructor(a||{},function(t){n.callback?.call(this,t),e(u(this))})):u(new n.constructor(a,n.callback))}applyShadowDOMStyles(e){let t=this.chart,n=[],i=t.container,o;for(;i&&(!(o=i.getRootNode())||"object"!=typeof o.host);)i=i.parentNode,o=null;o?.querySelectorAll("style").forEach(t=>{let i=t.cloneNode(!0);e.container.appendChild(i),n.push(i)}),E(t,"getSVG",()=>{n.forEach(e=>{e.remove()})})}async getSVGForExport(e,t){let n=this.options;return await this.getSVG(D({chart:{borderRadius:0}},n.chartOptions,t,{exporting:{sourceWidth:e?.sourceWidth||n.sourceWidth,sourceHeight:e?.sourceHeight||n.sourceHeight}}),!0)}inlineStyles(){let e,t=ee.inlineDenylist,n=ee.inlineAllowlist,i={},o=O("iframe",void 0,{width:"1px",height:"1px",visibility:"hidden"},K.body),r=o.contentWindow?.document;r&&r.body.appendChild(r.createElementNS(Y,"svg")),!function o(a){let l,s,c,h,p,d,u={};if(r&&1===a.nodeType&&-1===ee.unstyledElements.indexOf(a.nodeName)){if(l=Z.getComputedStyle(a,null),s="svg"===a.nodeName?{}:Z.getComputedStyle(a.parentNode,null),!i[a.nodeName]){e=r.getElementsByTagName("svg")[0],c=r.createElementNS(a.namespaceURI,a.nodeName),e.appendChild(c);let t=Z.getComputedStyle(c,null),n={};for(let e in t)e.length<1e3&&"string"==typeof t[e]&&!/^\d+$/.test(e)&&(n[e]=t[e]);i[a.nodeName]=n,"text"===a.nodeName&&delete i.text.fill,e.removeChild(c)}for(let e in l)(J||_||X||Object.hasOwnProperty.call(l,e))&&function(e,o){if(h=p=!1,n.length){for(d=n.length;d--&&!p;)p=n[d].test(o);h=!p}for("transform"===o&&"none"===e&&(h=!0),d=t.length;d--&&!h;){if(o.length>1e3)throw Error("Input too long");h=t[d].test(o)||"function"==typeof e}!h&&(s[o]!==e||"svg"===a.nodeName)&&i[a.nodeName][o]!==e&&(ee.inlineToAttributes&&-1===ee.inlineToAttributes.indexOf(o)?u[o]=e:e&&a.setAttribute(ee.hyphenate(o),e))}(l[e],e);if(C(a,u),"svg"===a.nodeName&&a.setAttribute("stroke-width","1px"),"text"===a.nodeName)return;[].forEach.call(a.children||a.childNodes,o)}}(this.chart.container.querySelector("svg")),e.parentNode.removeChild(e),o.parentNode.removeChild(o)}async localExport(e,t){let n=this.chart,i,o,r=null,a;if(_&&n.styledMode&&!ee.inlineAllowlist.length&&ee.inlineAllowlist.push(/^blockSize/,/^border/,/^caretColor/,/^color/,/^columnRule/,/^columnRuleColor/,/^cssFloat/,/^cursor/,/^fill$/,/^fillOpacity/,/^font/,/^inlineSize/,/^length/,/^lineHeight/,/^opacity/,/^outline/,/^parentRule/,/^rx$/,/^ry$/,/^stroke/,/^textAlign/,/^textAnchor/,/^textDecoration/,/^transform/,/^vectorEffect/,/^visibility/,/^x$/,/^y$/),_&&("application/pdf"===e.type||n.container.getElementsByTagName("image").length&&"image/svg+xml"!==e.type)||"application/pdf"===e.type&&[].some.call(n.container.getElementsByTagName("image"),function(e){let t=e.getAttribute("href");return""!==t&&"string"==typeof t&&0!==t.indexOf("data:")}))return void await this.fallbackToServer(e,Error("Image type not supported for this chart/browser."));let l=E(n,"getSVG",e=>{o=e.chartCopy.options,a=(i=e.chartCopy.container.cloneNode(!0))&&i.getElementsByTagName("image")||[]});try{let n;for(let n of(await this.getSVGForExport(e,t),a?Array.from(a):[]))if(r=n.getAttributeNS("http://www.w3.org/1999/xlink","href")){ee.objectURLRevoke=!1;let t=await ee.imageToDataURL(r,e?.scale||1,e?.type||"image/png");n.setAttributeNS("http://www.w3.org/1999/xlink","href",t)}else n.parentNode.removeChild(n);let l=i?.querySelector("svg");l&&!e.chartOptions?.chart?.style?.fontFamily&&await ee.inlineFonts(l);let s=(n=i?.innerHTML,ee.sanitizeSVG(n||"",o));if(s.indexOf("<foreignObject")>-1&&"image/svg+xml"!==e.type&&(_||"application/pdf"===e.type))throw Error("Image type not supported for charts with embedded HTML");return await this.downloadSVG(s,k({filename:this.getFilename()},e)),s}catch(t){await this.fallbackToServer(e,t)}finally{l()}}moveContainers(e){let t=this.chart,{scrollablePlotArea:n}=t;(n?[n.fixedDiv,n.scrollingContainer]:[t.container]).forEach(function(t){e.appendChild(t)})}print(){let e=this.chart;this.isPrinting||(ee.printingChart=e,X||this.beforePrint(),setTimeout(()=>{Z.focus(),Z.print(),X||setTimeout(()=>{e.exporting?.afterPrint()},1e3)},1))}render(){let e=this,{chart:t,options:n}=e,i=e?.isDirty||!e?.svgElements.length;e.buttonOffset=0,e.isDirty&&e.destroy(),i&&!1!==n.enabled&&(e.events=[],e.group||(e.group=t.renderer.g("exporting-group").attr({zIndex:3}).add()),M(n?.buttons,function(t){e.addButton(t)}),e.isDirty=!1)}resolveCSSVariables(){Array.from(this.chart.container.querySelectorAll("*")).forEach(e=>{["color","fill","stop-color","stroke"].forEach(t=>{let n=e.getAttribute(t);n?.includes("var(")&&e.setAttribute(t,getComputedStyle(e).getPropertyValue(t));let i=e.style?.[t];i?.includes("var(")&&(e.style[t]=getComputedStyle(e).getPropertyValue(t))})})}update(e,t){this.isDirty=!0,D(!0,this.options,e),j(t,!0)&&this.chart.redraw()}}ee.inlineAllowlist=[],ee.inlineDenylist=[/-/,/^(clipPath|cssText|d|height|width)$/,/^font$/,/[lL]ogical(Width|Height)$/,/^parentRule$/,/^(cssRules|ownerRules)$/,/perspective/,/TapHighlightColor/,/^transition/,/^length$/,/^\d+$/],ee.inlineToAttributes=["fill","stroke","strokeLinecap","strokeLinejoin","strokeWidth","textAnchor","x","y"],ee.loadEventDeferDelay=150*!!_,ee.unstyledElements=["clipPath","defs","desc"],function(e){function t(e){let t=e.exporting;t&&(t.render(),E(e,"redraw",function(){this.exporting?.render()}),E(e,"destroy",function(){this.exporting?.destroy()}))}function n(){let t=this;t.options.exporting&&(t.exporting=new e(t,t.options.exporting),d.compose(t).navigation.addUpdate((e,n)=>{t.exporting&&(t.exporting.isDirty=!0,D(!0,t.options.navigation,e),j(n,!0)&&t.redraw())}))}function i({alignTo:e,key:t,textPxLength:n}){let i=this.options.exporting,{align:o,buttonSpacing:r=0,verticalAlign:a,width:l=0}=D(this.options.navigation?.buttonOptions,i?.buttons?.contextButton),s=e.width-n,c=l+r;(i?.enabled??!0)&&"title"===t&&"right"===o&&"top"===a&&s<2*c&&(s<c?e.width-=c:this.title?.alignValue!=="left"&&(e.x-=c-s/2))}e.compose=function(o,r){w.compose(r),$.compose(o),H(z,"Exporting")&&(k(c().prototype,{exportChart:async function(e,t){await this.exporting?.exportChart(e,t)},getChartHTML:function(e){return this.exporting?.getChartHTML(e)},getFilename:function(){return this.exporting?.getFilename()},getSVG:function(e){return this.exporting?.getSVG(e,!1)},print:function(){return this.exporting?.print()}}),o.prototype.callbacks.push(t),E(o,"afterInit",n),E(o,"layOutTitle",i),X&&Z.matchMedia("print").addListener(function(t){e.printingChart&&(t.matches?e.printingChart.exporting?.beforePrint():e.printingChart.exporting?.afterPrint())}),q(v))}}(ee||(ee={}));let et=r();et.Exporting=ee,et.HttpUtilities=et.HttpUtilities||V,et.ajax=et.HttpUtilities.ajax,et.getJSON=et.HttpUtilities.getJSON,et.post=et.HttpUtilities.post,ee.compose(et.Chart,et.Renderer);let en=r();export{en as default};