1import{cB as mt}from"./CSpsc2oa.js";(function(){try{var lt=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};lt.SENTRY_RELEASE={id:"df7ca7a972abe0a2a56b13d50d3194f0664055e5"};var at=new lt.Error().stack;at&&(lt._sentryDebugIds=lt._sentryDebugIds||{},lt._sentryDebugIds[at]="70547f0a-d636-4194-8e4d-93c80132343f",lt._sentryDebugIdIdentifier="sentry-dbid-70547f0a-d636-4194-8e4d-93c80132343f")}catch{}})();function bt(lt,at){for(var b=0;b<at.length;b++){const $=at[b];if(typeof $!="string"&&!Array.isArray($)){for(const D in $)if(D!=="default"&&!(D in lt)){const N=Object.getOwnPropertyDescriptor($,D);N&&Object.defineProperty(lt,D,N.get?N:{enumerable:!0,get:()=>$[D]})}}}return Object.freeze(Object.defineProperty(lt,Symbol.toStringTag,{value:"Module"}))}var ut={exports:{}},ft;function vt(){return ft||(ft=1,(function(lt){(function(at){lt.exports?(at.default=at,lt.exports=at):at(typeof Highcharts<"u"?Highcharts:void 0)})(function(at){var b=at?at._modules:{};function $(D,N,H,Y){D.hasOwnProperty(N)||(D[N]=Y.apply(null,H),typeof CustomEvent=="function"&&at.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:N,module:D[N]}})))}$(b,"Series/DataModifyComposition.js",[b["Core/Axis/Axis.js"],b["Core/Series/Point.js"],b["Core/Series/Series.js"],b["Core/Utilities.js"]],function(D,N,H,Y){var _;let{tooltipFormatter:Z}=N.prototype,{addEvent:L,arrayMax:R,arrayMin:I,correctFloat:F,defined:k,isArray:M,isNumber:S,isString:z,pick:x}=Y;return(function(C){function E(o,i,s){!this.isXAxis&&(this.series.forEach(function(n){o==="compare"&&typeof i!="boolean"?n.setCompare(i,!1):o!=="cumulative"||z(i)||n.setCumulative(i,!1)}),x(s,!0)&&this.chart.redraw())}function g(o){let i=this,{numberFormatter:s}=i.series.chart,n=function(t){o=o.replace("{point."+t+"}",(i[t]>0&&t==="change"?"+":"")+s(i[t],x(i.series.tooltipOptions.changeDecimals,2)))};return k(i.change)&&n("change"),k(i.cumulativeSum)&&n("cumulativeSum"),Z.apply(this,[o])}function w(){let o,i=this.options.compare;(i==="percent"||i==="value"||this.options.cumulative)&&(o=new r(this),i==="percent"||i==="value"?o.initCompare(i):o.initCumulative()),this.dataModify=o}function m(o){let i=o.dataExtremes,s=i.activeYData;if(this.dataModify&&i){let n;this.options.compare?n=[this.dataModify.modifyValue(i.dataMin),this.dataModify.modifyValue(i.dataMax)]:this.options.cumulative&&M(s)&&s.length>=2&&(n=r.getCumulativeExtremes(s)),n&&(i.dataMin=I(n),i.dataMax=R(n))}}function v(o,i){this.options.compare=this.userOptions.compare=o,this.update({},x(i,!0)),this.dataModify&&(o==="value"||o==="percent")?this.dataModify.initCompare(o):this.points.forEach(s=>{delete s.change})}function B(){if(this.xAxis&&this.processedYData&&this.dataModify){let o=this.processedXData,i=this.processedYData,s=i.length,n=this.options.compareStart===!0?0:1,t=-1,e;for(this.pointArrayMap&&(t=this.pointArrayMap.indexOf(this.options.pointValKey||this.pointValKey||"y")),e=0;e<s-n;e++){let a=i[e]&&t>-1?i[e][t]:i[e];if(S(a)&&a!==0&&o[e+n]>=(this.xAxis.min||0)){this.dataModify.compareValue=a;break}}}}function u(o,i){this.setModifier("compare",o,i)}function p(o,i){o=x(o,!1),this.options.cumulative=this.userOptions.cumulative=o,this.update({},x(i,!0)),this.dataModify?this.dataModify.initCumulative():this.points.forEach(s=>{delete s.cumulativeSum})}function O(o,i){this.setModifier("cumulative",o,i)}C.compose=function(o,i,s){let n=i.prototype,t=s.prototype,e=o.prototype;return e.setCompare||(e.setCompare=v,e.setCumulative=p,L(o,"afterInit",w),L(o,"afterGetExtremes",m),L(o,"afterProcessData",B)),n.setCompare||(n.setCompare=u,n.setModifier=E,n.setCumulative=O,t.tooltipFormatter=g),o};class r{constructor(i){this.series=i}modifyValue(){return 0}static getCumulativeExtremes(i){let s=1/0,n=-1/0;return i.reduce((t,e)=>{let a=t+e;return s=Math.min(s,a,t),n=Math.max(n,a,t),a}),[s,n]}initCompare(i){this.modifyValue=function(s,n){s===null&&(s=0);let t=this.compareValue;if(s!==void 0&&t!==void 0){if(i==="value"?s-=t:s=s/t*100-(this.series.options.compareBase===100?0:100),n!==void 0){let e=this.series.points[n];e&&(e.change=s)}return s}return 0}}initCumulative(){this.modifyValue=function(i,s){if(i===null&&(i=0),i!==void 0&&s!==void 0){let n=s>0?this.series.points[s-1]:null;n&&n.cumulativeSum&&(i=F(n.cumulativeSum+i));let t=this.series.points[s],e=t.series.options.cumulativeStart,a=t.x<=this.series.xAxis.max&&t.x>=this.series.xAxis.min;return t&&(!e||a?t.cumulativeSum=i:t.cumulativeSum=void 0),i}return 0}}}C.Additions=r})(_||(_={})),_}),$(b,"Stock/Navigator/ChartNavigatorComposition.js",[b["Core/Globals.js"],b["Core/Utilities.js"]],function(D,N){let H,{isTouchDevice:Y}=D,{addEvent:_,merge:Z,pick:L}=N,R=[];function I(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function F(){let C,E,g,w=this.legend,m=this.navigator;if(m){C=w&&w.options,E=m.xAxis,g=m.yAxis;let{scrollbarHeight:v,scrollButtonSize:B}=m;this.inverted?(m.left=m.opposite?this.chartWidth-v-m.height:this.spacing[3]+v,m.top=this.plotTop+B):(m.left=L(E.left,this.plotLeft+B),m.top=m.navigatorOptions.top||this.chartHe
1ight-m.height-v-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(C&&C.verticalAlign==="bottom"&&C.layout!=="proximate"&&C.enabled&&!C.floating?w.legendHeight+L(C.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),E&&g&&(this.inverted?E.options.left=g.options.left=m.left:E.options.top=g.options.top=m.top,E.setAxisSize(),g.setAxisSize())}}function k(C){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new H(this),L(C.redraw,!0)&&this.redraw(C.animation))}function M(){let C=this.options;(C.navigator.enabled||C.scrollbar.enabled)&&(this.scroller=this.navigator=new H(this))}function S(){let C=this.options,E=C.navigator,g=C.rangeSelector;if((E&&E.enabled||g&&g.enabled)&&(!Y&&this.zooming.type==="x"||Y&&this.zooming.pinchType==="x"))return!1}function z(C){let E=C.navigator;if(E&&C.xAxis[0]){let g=C.xAxis[0].getExtremes();E.render(g.min,g.max)}}function x(C){let E=C.options.navigator||{},g=C.options.scrollbar||{};!this.navigator&&!this.scroller&&(E.enabled||g.enabled)&&(Z(!0,this.options.navigator,E),Z(!0,this.options.scrollbar,g),delete C.options.navigator,delete C.options.scrollbar)}return{compose:function(C,E){if(N.pushUnique(R,C)){let g=C.prototype;H=E,g.callbacks.push(z),_(C,"afterAddSeries",I),_(C,"afterSetChartSize",F),_(C,"afterUpdate",k),_(C,"beforeRender",M),_(C,"beforeShowResetZoom",S),_(C,"update",x)}}}}),$(b,"Core/Axis/NavigatorAxisComposition.js",[b["Core/Globals.js"],b["Core/Utilities.js"]],function(D,N){let{isTouchDevice:H}=D,{addEvent:Y,correctFloat:_,defined:Z,isNumber:L,pick:R}=N;function I(){this.navigatorAxis||(this.navigatorAxis=new k(this))}function F(M){let S,z=this.chart,x=z.options,C=x.navigator,E=this.navigatorAxis,g=z.zooming.pinchType,w=x.rangeSelector,m=z.zooming.type;if(this.isXAxis&&(C?.enabled||w?.enabled)){if(m==="y"&&M.trigger==="zoom")S=!1;else if((M.trigger==="zoom"&&m==="xy"||H&&g==="xy")&&this.options.range){let v=E.previousZoom;Z(M.min)?E.previousZoom=[this.min,this.max]:v&&(M.min=v[0],M.max=v[1],E.previousZoom=void 0)}}S!==void 0&&M.preventDefault()}class k{static compose(S){S.keepProps.includes("navigatorAxis")||(S.keepProps.push("navigatorAxis"),Y(S,"init",I),Y(S,"setExtremes",F))}constructor(S){this.axis=S}destroy(){this.axis=void 0}toFixedRange(S,z,x,C){let E=this.axis,g=(E.pointRange||0)/2,w=R(x,E.translate(S,!0,!E.horiz)),m=R(C,E.translate(z,!0,!E.horiz));return Z(x)||(w=_(w+g)),Z(C)||(m=_(m-g)),L(w)&&L(m)||(w=m=void 0),{min:w,max:m}}}return k}),$(b,"Stock/Navigator/NavigatorDefaults.js",[b["Core/Color/Color.js"],b["Core/Series/SeriesRegistry.js"]],function(D,N){let{parse:H}=D,{seriesTypes:Y}=N;return{height:40,margin:25,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:H("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:Y.areaspline===void 0?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}),$(b,"Stock/Navigator/NavigatorSymbols.js",[b["Core/Renderer/SVG/Symbols.js"],b["Core/Utilities.js"]],function(D,N){let{relativeLength:H}=N;return{"navigator-handle":function(Y,_,Z,L,R={}){let I=R.width?R.width/2:Z,F=H(R.borderRadius||0,Math.min(2*I,L));return[["M",-1.5,(L=R.height||L)/2-3.5],["L",-1.5,L/2+4.5],["M",.5,L/2-3.5],["L",.5,L/2+4.5],...D.rect(-I-1,.5,2*I+1,L,{r:F})]}}}),$(b,"Stock/Utilities/StockUtilities.js",[b["Core/Utilities.js"]],function(D){let{defined:N}=D;return{setFixedRange:function(H){let Y=this.xAxis[0];N(Y.dataMax)&&N(Y.dataMin)&&H?this.fixedRange=Math.min(H,Y.dataMax-Y.dataMin):this.fixedRange=H}}}),$(b,"Stock/Navigator/NavigatorComposition.js",[b["Core/Defaults.js"],b["Core/Globals.js"],b["Core/Axis/NavigatorAxisComposition.js"],b["Stock/Navigator/NavigatorDefaults.js"],b["Stock/Navigator/NavigatorSymbols.js"],b["Core/Renderer/RendererRegistry.js"],b["Stock/Utilities/StockUtilities.js"],b["Core/Utilities.js"]],function(D,N,H,Y,_,Z,L,R){let{setOptions:I}=D,{composed:F}=N,{getRendererType:k}=Z,{setFixedRange:M}=L,{addEvent:S,extend:z,pushUnique:x}=R;function C(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}return{compose:function(E,g,w){H.compose(g),x(F,"Navigator")&&(E.prototype.setFixedRange=M,z(k().prototype.symbols,_),S(w,"afterUpdate",C),I({navigator:Y}))}}}),$(b,"Core/Axis/ScrollbarAxis.js",[b["Core/Globals.js"],b["Core/Utilities.js"]],function(D,N){var H;let{composed:Y}=D,{addEvent:_,defined:Z,pick:L,pushUnique:R}=N;return(function(I){let F;function k(x){let C=L(x.options&&x.options.min,x.min),E=L(x.options&&x.options.max,x.max);return{axisMin:C,axisMax:E,scrollMin:Z(x.dataMin)?Math.min(C,x.min,x.dataMin,L(x.threshold,1/0)):C,scrollMax:Z(x.dataMax)?Math.max(E,x.max,x.dataMax,L(x.threshold,-1/0)):E}}function M(){let x=this.scrollbar,C=x&&!x.options.opposite,E=this.horiz?2:C?3:1;x&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[E]+=x.size+(x.options.margin||0))}function S(){let x=this;x.options&&x.options.scrollbar&&x.options.scrollbar.enabled&&(x.options.scrollbar.vertical=!x.horiz,x.options.startOnTick=x.options.endOnTick=!1,x.scrollbar=new F(x.chart.renderer,x.options.scrollbar,x.chart),_(x.scrollbar,"changed",function(C){let E,g,{axisMin:w,axisMax:m,scrollMin:v,scrollMax:B}
1=k(x),u=B-v;if(Z(w)&&Z(m))if(x.horiz&&!x.reversed||!x.horiz&&x.reversed?(E=v+u*this.to,g=v+u*this.from):(E=v+u*(1-this.from),g=v+u*(1-this.to)),this.shouldUpdateExtremes(C.DOMType)){let p=C.DOMType!=="mousemove"&&C.DOMType!=="touchmove"&&void 0;x.setExtremes(g,E,!0,p,C)}else this.setRange(this.from,this.to)}))}function z(){let x,C,E,{scrollMin:g,scrollMax:w}=k(this),m=this.scrollbar,v=this.axisTitleMargin+(this.titleOffset||0),B=this.chart.scrollbarsOffsets,u=this.options.margin||0;if(m&&B){if(this.horiz)this.opposite||(B[1]+=v),m.position(this.left,this.top+this.height+2+B[1]-(this.opposite?u:0),this.width,this.height),this.opposite||(B[1]+=u),x=1;else{let p;this.opposite&&(B[0]+=v),p=m.options.opposite?this.left+this.width+2+B[0]-(this.opposite?0:u):this.opposite?0:u,m.position(p,this.top,this.width,this.height),this.opposite&&(B[0]+=u),x=0}if(B[x]+=m.size+(m.options.margin||0),isNaN(g)||isNaN(w)||!Z(this.min)||!Z(this.max)||this.dataMin===this.dataMax)m.setRange(0,1);else if(this.min===this.max){let p=this.pointRange/(this.dataMax+1);C=p*this.min,E=p*(this.max+1),m.setRange(C,E)}else C=(this.min-g)/(w-g),E=(this.max-g)/(w-g),this.horiz&&!this.reversed||!this.horiz&&this.reversed?m.setRange(C,E):m.setRange(1-E,1-C)}}I.compose=function(x,C){R(Y,"Axis.Scrollbar")&&(F=C,_(x,"afterGetOffset",M),_(x,"afterInit",S),_(x,"afterRender",z))}})(H||(H={})),H}),$(b,"Stock/Scrollbar/ScrollbarDefaults.js",[],function(){return{height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1}}),$(b,"Stock/Scrollbar/Scrollbar.js",[b["Core/Defaults.js"],b["Core/Globals.js"],b["Core/Axis/ScrollbarAxis.js"],b["Stock/Scrollbar/ScrollbarDefaults.js"],b["Core/Utilities.js"]],function(D,N,H,Y,_){let{defaultOptions:Z}=D,{addEvent:L,correctFloat:R,crisp:I,defined:F,destroyObjectProperties:k,fireEvent:M,merge:S,pick:z,removeEvent:x}=_;class C{static compose(g){H.compose(g,C)}static swapXY(g,w){return w&&g.forEach(m=>{let v,B=m.length;for(let u=0;u<B;u+=2)typeof(v=m[u+1])=="number"&&(m[u+1]=m[u+2],m[u+2]=v)}),g}constructor(g,w,m){this._events=[],this.chartX=0,this.chartY=0,this.from=0,this.scrollbarButtons=[],this.scrollbarLeft=0,this.scrollbarStrokeWidth=1,this.scrollbarTop=0,this.size=0,this.to=0,this.trackBorderWidth=1,this.x=0,this.y=0,this.init(g,w,m)}addEvents(){let g=this.options.inverted?[1,0]:[0,1],w=this.scrollbarButtons,m=this.scrollbarGroup.element,v=this.track.element,B=this.mouseDownHandler.bind(this),u=this.mouseMoveHandler.bind(this),p=this.mouseUpHandler.bind(this),O=[[w[g[0]].element,"click",this.buttonToMinClick.bind(this)],[w[g[1]].element,"click",this.buttonToMaxClick.bind(this)],[v,"click",this.trackClick.bind(this)],[m,"mousedown",B],[m.ownerDocument,"mousemove",u],[m.ownerDocument,"mouseup",p],[m,"touchstart",B],[m.ownerDocument,"touchmove",u],[m.ownerDocument,"touchend",p]];O.forEach(function(r){L.apply(null,r)}),this._events=O}buttonToMaxClick(g){let w=(this.to-this.from)*z(this.options.step,.2);this.updatePosition(this.from+w,this.to+w),M(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:g})}buttonToMinClick(g){let w=R(this.to-this.from)*z(this.options.step,.2);this.updatePosition(R(this.from-w),R(this.to-w)),M(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:g})}cursorToScrollbarPosition(g){let w=this.options,m=w.minWidth>this.calculatedWidth?w.minWidth:0;return{chartX:(g.chartX-this.x-this.xOffset)/(this.barWidth-m),chartY:(g.chartY-this.y-this.yOffset)/(this.barWidth-m)}}destroy(){let g=this,w=g.chart.scroller;g.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(m){g[m]&&g[m].destroy&&(g[m]=g[m].destroy())}),w&&g===w.scrollbar&&(w.scrollbar=null,k(w.scrollbarButtons))}drawScrollbarButton(g){let w=this.renderer,m=this.scrollbarButtons,v=this.options,B=this.size,u=w.g().add(this.group);if(m.push(u),v.buttonsEnabled){let p=w.rect().addClass("highcharts-scrollbar-button").add(u);this.chart.styledMode||p.attr({stroke:v.buttonBorderColor,"stroke-width":v.buttonBorderWidth,fill:v.buttonBackgroun
vendor: 5,136 bytes, line 1
1dColor}),p.attr(p.crisp({x:-.5,y:-.5,width:B,height:B,r:v.buttonBorderRadius},p.strokeWidth()));let O=w.path(C.swapXY([["M",B/2+(g?-1:1),B/2-3],["L",B/2+(g?-1:1),B/2+3],["L",B/2+(g?2:-2),B/2]],v.vertical)).addClass("highcharts-scrollbar-arrow").add(m[g]);this.chart.styledMode||O.attr({fill:v.buttonArrowColor})}}init(g,w,m){this.scrollbarButtons=[],this.renderer=g,this.userOptions=w,this.options=S(Y,Z.scrollbar,w),this.options.margin=z(this.options.margin,10),this.chart=m,this.size=z(this.options.size,this.options.height),w.enabled&&(this.render(),this.addEvents())}mouseDownHandler(g){let w=this.chart.pointer?.normalize(g)||g,m=this.cursorToScrollbarPosition(w);this.chartX=m.chartX,this.chartY=m.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(g){let w,m=this.chart.pointer?.normalize(g)||g,v=this.options.vertical?"chartY":"chartX",B=this.initPositions||[];this.grabbedCenter&&(!g.touches||g.touches[0][v]!==0)&&(w=this.cursorToScrollbarPosition(m)[v]-this[v],this.hasDragged=!0,this.updatePosition(B[0]+w,B[1]+w),this.hasDragged&&M(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:g.type,DOMEvent:g}))}mouseUpHandler(g){this.hasDragged&&M(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:g.type,DOMEvent:g}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(g,w,m,v){let{buttonsEnabled:B,margin:u=0,vertical:p}=this.options,O=this.rendered?"animate":"attr",r=v,o=0;this.group.show(),this.x=g,this.y=w+this.trackBorderWidth,this.width=m,this.height=v,this.xOffset=r,this.yOffset=o,p?(this.width=this.yOffset=m=o=this.size,this.xOffset=r=0,this.yOffset=o=B?this.size:0,this.barWidth=v-(B?2*m:0),this.x=g+=u):(this.height=v=this.size,this.xOffset=r=B?this.size:0,this.barWidth=m-(B?2*v:0),this.y=this.y+u),this.group[O]({translateX:g,translateY:this.y}),this.track[O]({width:m,height:v}),this.scrollbarButtons[1][O]({translateX:p?0:m-r,translateY:p?v-o:0})}removeEvents(){this._events.forEach(function(g){x.apply(null,g)}),this._events.length=0}render(){let g=this.renderer,w=this.options,m=this.size,v=this.chart.styledMode,B=g.g("scrollbar").attr({zIndex:w.zIndex}).hide().add();this.group=B,this.track=g.rect().addClass("highcharts-scrollbar-track").attr({r:w.trackBorderRadius||0,height:m,width:m}).add(B),v||this.track.attr({fill:w.trackBackgroundColor,stroke:w.trackBorderColor,"stroke-width":w.trackBorderWidth});let u=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-I(0,u),y:-I(0,u)}),this.scrollbarGroup=g.g().add(B),this.scrollbar=g.rect().addClass("highcharts-scrollbar-thumb").attr({height:m-u,width:m-u,r:w.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=g.path(C.swapXY([["M",-3,m/4],["L",-3,2*m/3],["M",0,m/4],["L",0,2*m/3],["M",3,m/4],["L",3,2*m/3]],w.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),v||(this.scrollbar.attr({fill:w.barBackgroundColor,stroke:w.barBorderColor,"stroke-width":w.barBorderWidth}),this.scrollbarRifles.attr({stroke:w.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-I(0,this.scrollbarStrokeWidth),-I(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(g,w){let m,v,B=this.options,u=B.vertical,p=B.minWidth,O=this.barWidth,r=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!F(O))return;let o=O*Math.min(w,1);m=Math.ceil(O*(g=Math.max(g,0))),this.calculatedWidth=v=R(o-m),v<p&&(m=(O-p+v)*g,v=p);let i=Math.floor(m+this.xOffset+this.yOffset),s=v/2-.5;this.from=g,this.to=w,u?(this.scrollbarGroup[r]({translateY:i}),this.scrollbar[r]({height:v}),this.scrollbarRifles[r]({translateY:s}),this.scrollbarTop=i,this.scrollbarLeft=0):(this.scrollbarGroup[r]({translateX:i}),this.scrollbar[r]({width:v}),this.scrollbarRifles[r]({translateX:s}),this.scrollbarLeft=i,this.scrollbarTop=0),v<=12?this.scrollbarRifles.hide():this.scrollbarRifles.show(),B.showFull===!1&&(g<=0&&w>=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(g){return z(this.options.liveRedraw,N.svg&&!N.isTouchDevice&&!this.chart.boosted)||g==="mouseup"||g==="touchend"||!F(g)}trackClick(g){let w=this.chart.pointer?.normalize(g)||g,m=this.to-this.from,v=this.y+this.scrollbarTop,B=this.x+this.scrollbarLeft;this.options.vertical&&w.chartY>v||!this.options.vertical&&w.chartX>B?this.updatePosition(this.from+m,this.to+m):this.updatePosition(this.from-m,this.to-m),M(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:g})}update(g){this.destroy(),this.init(this.chart.renderer,S(!0,this.options,g),this.chart)}updatePosition(g,w){w>1&&(g=R(1-R(w-g)),w=1),g<0&&(w=R(w-g),g=0),this.from=g,this.to=w}}return C.defaultOptions=Y,Z.scrollbar=S(!0,C.defaultOptions,Z.scrollbar),C}),$(b,"Stock/Navigator/Navigator.js",[b["Core/Axis/Axis.js"],b["Stock/Navigator/ChartNavigatorComposition.js"],b["Core/Defaults.js"],b["Core/Globals.js"],b["Core/Axis/NavigatorAxisComposition.js"],b["Stock/Navigator/NavigatorComposition.js"],b["Stock/Scrollbar/Scrollbar.
1js"],b["Core/Renderer/SVG/SVGRenderer.js"],b["Core/Utilities.js"]],function(D,N,H,Y,_,Z,L,R,I){let{defaultOptions:F}=H,{isTouchDevice:k}=Y,{prototype:{symbols:M}}=R,{addEvent:S,clamp:z,correctFloat:x,defined:C,destroyObjectProperties:E,erase:g,extend:w,find:m,fireEvent:v,isArray:B,isNumber:u,merge:p,pick:O,removeEvent:r,splat:o}=I;function i(n,...t){let e=[].filter.call(t,u);if(e.length)return Math[n].apply(0,e)}class s{static compose(t,e,a){N.compose(t,s),Z.compose(t,e,a)}constructor(t){this.isDirty=!1,this.scrollbarHeight=0,this.init(t)}drawHandle(t,e,a,l){let h=this.navigatorOptions.handles.height;this.handles[e][l](a?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(t,10)+.5-h)}:{translateX:Math.round(this.left+parseInt(t,10)),translateY:Math.round(this.top+this.height/2-h/2-1)})}drawOutline(t,e,a,l){let h=this.navigatorOptions.maskInside,d=this.outline.strokeWidth(),c=d/2,f=d%2/2,y=this.scrollButtonSize,A=this.size,G=this.top,P=this.height,T=G-c,U=G+P,j=this.left,X,W;a?(X=G+e+f,e=G+t+f,W=[["M",j+P,G-y-f],["L",j+P,X],["L",j,X],["M",j,e],["L",j+P,e],["L",j+P,G+A+y]],h&&W.push(["M",j+P,X-c],["L",j+P,e+c])):(j-=y,t+=j+y-f,e+=j+y-f,W=[["M",j,T],["L",t,T],["L",t,U],["M",e,U],["L",e,T],["L",j+A+2*y,T]],h&&W.push(["M",t-c,T],["L",e+c,T])),this.outline[l]({d:W})}drawMasks(t,e,a,l){let h,d,c,f,y=this.left,A=this.top,G=this.height;a?(c=[y,y,y],f=[A,A+t,A+e],d=[G,G,G],h=[t,e-t,this.size-e]):(c=[y,y+t,y+e],f=[A,A,A],d=[t,e-t,this.size-e],h=[G,G,G]),this.shades.forEach((P,T)=>{P[l]({x:c[T],y:f[T],width:d[T],height:h[T]})})}renderElements(){let t=this,e=t.navigatorOptions,a=e.maskInside,l=t.chart,h=l.inverted,d=l.renderer,c={cursor:h?"ns-resize":"ew-resize"},f=t.navigatorGroup??(t.navigatorGroup=d.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!a,a,!a].forEach((y,A)=>{let G=t.shades[A]??(t.shades[A]=d.rect().addClass("highcharts-navigator-mask"+(A===1?"-inside":"-outside")).add(f));l.styledMode||(G.attr({fill:y?e.maskFill:"rgba(0,0,0,0)"}),A===1&&G.css(c))}),t.outline||(t.outline=d.path().addClass("highcharts-navigator-outline").add(f)),l.styledMode||t.outline.attr({"stroke-width":e.outlineWidth,stroke:e.outlineColor}),e.handles?.enabled){let y=e.handles,{height:A,width:G}=y;[0,1].forEach(P=>{let T=y.symbols[P];if(t.handles[P]&&t.handles[P].symbolUrl===T){if(!t.handles[P].isImg&&t.handles[P].symbolName!==T){let U=M[T].call(M,-G/2-1,0,G,A);t.handles[P].attr({d:U}),t.handles[P].symbolName=T}}else t.handles[P]?.destroy(),t.handles[P]=d.symbol(T,-G/2-1,0,G,A,y),t.handles[P].attr({zIndex:7-P}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][P]).add(f),t.addMouseEvents();l.inverted&&t.handles[P].attr({rotation:90,rotationOriginX:Math.floor(-G/2),rotationOriginY:(A+G)/2}),l.styledMode||t.handles[P].attr({fill:y.backgroundColor,stroke:y.borderColor,"stroke-width":y.lineWidth,width:y.width,height:y.height,x:-G/2-1,y:0}).css(c)})}}update(t,e=!1){let a=this.chart,l=a.options.chart.inverted!==a.scrollbar?.options.vertical;if(p(!0,a.options.navigator,t),this.navigatorOptions=a.options.navigator||{},this.setOpposite(),C(t.enabled)||l)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(a);if(this.navigatorEnabled&&(this.isDirty=!0,t.adaptToUpdatedData===!1&&this.baseSeries.forEach(h=>{r(h,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(h=>{h.eventsToUnbind.push(S(h,"updatedData",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)){this.height=t.height??this.height;let h=this.getXAxisOffsets();this.xAxis.update({...t.xAxis,offsets:h,[a.inverted?"width":"height"]:this.height,[a.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...t.yAxis,[a.inverted?"width":"height"]:this.height},!1)}e&&a.redraw()}render(t,e,a,l){let h=this.chart,d=this.xAxis,c=d.pointRange||0,f=d.navigatorAxis.fake?h.xAxis[0]:d,y=this.navigatorEnabled,A=this.rendered,G=h.inverted,P=h.xAxis[0].minRange,T=h.xAxis[0].options.maxRange,U=this.scrollButtonSize,j,X,W,V=this.scrollbarHeight,K,q;if(this.hasDragged&&!C(a))return;if(this.isDirty&&this.renderElements(),t=x(t-c/2),e=x(e+c/2),!u(t)||!u(e)){if(!A)return;a=0,l=O(d.width,f.width)}this.left=O(d.left,h.plotLeft+U+(G?h.plotWidth:0));let J=this.size=K=O(d.len,(G?h.plotHeight:h.plotWidth)-2*U);j=G?V:K+2*U,a=O(a,d.toPixels(t,!0)),l=O(l,d.toPixels(e,!0)),u(a)&&Math.abs(a)!==1/0||(a=0,l=j);let tt=d.toValue(a,!0),Q=d.toValue(l,!0),et=Math.abs(x(Q-tt));et<P?this.grabbedLeft?a=d.toPixels(Q-P-c,!0):this.grabbedRight&&(l=d.toPixels(tt+P+c,!0)):C(T)&&x(et-c)>T&&(this.grabbedLeft?a=d.toPixels(Q-T-c,!0):this.grabbedRight&&(l=d.toPixels(tt+T+c,!0))),this.zoomedMax=z(Math.max(a,l),0,J),this.zoomedMin=z(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(a,l),0,J),this.range=this.zoomedMax-this.zoomedMin,J=Math.round(this.zoomedMax);let st=Math.round(this.zoomedMin);y&&(this.navigatorGroup.attr({visibility:"inherit"}),q=A&&!this.hasDragged?"animate":"attr",this.drawMasks(st,J,G,q),this.drawOutline(st,J,G,q),this.navigatorOptions.handles.enabled&&(this.drawHandle(st,0,G,q),this.drawHandle(J,1,G,q))),this.scrollbar&&(G?(W=this.top-U,X=this.left-V+(y||!f.opposite?0:(f.titleOffset||0)+f.axisTitleMargin),V=K+2*U):(W=this.top+(y?this.height:-V),X=this.left-U),this.scrollbar.position(X,W,j,V),this.scrollbar.setRange(this.zoomedMin/(K||1),this.zoomedMax/(K||1))),this.rendered=!0,this.isDirty=!1,v(this,"afterRe
1nder")}addMouseEvents(){let t=this,e=t.chart,a=e.container,l=[],h,d;t.mouseMoveHandler=h=function(c){t.onMouseMove(c)},t.mouseUpHandler=d=function(c){t.onMouseUp(c)},(l=t.getPartsEvents("mousedown")).push(S(e.renderTo,"mousemove",h),S(a.ownerDocument,"mouseup",d),S(e.renderTo,"touchmove",h),S(a.ownerDocument,"touchend",d)),l.concat(t.getPartsEvents("touchstart")),t.eventsToUnbind=l,t.series&&t.series[0]&&l.push(S(t.series[0].xAxis,"foundExtremes",function(){e.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(t){let e=this,a=[];return["shades","handles"].forEach(function(l){e[l].forEach(function(h,d){a.push(S(h.element,t,function(c){e[l+"Mousedown"](c,d)}))})}),a}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let a=this.chart,l=this.xAxis,h=this.zoomedMin,d=this.size,c=this.range,f=this.left,y=t.chartX,A,G,P,T;a.inverted&&(y=t.chartY,f=this.top),e===1?(this.grabbedCenter=y,this.fixedWidth=c,this.dragOffset=y-h):(T=y-f-c/2,e===0?T=Math.max(0,T):e===2&&T+c>=d&&(T=d-c,this.reversedExtremes?(T-=c,G=this.getUnionExtremes().dataMin):A=this.getUnionExtremes().dataMax),T!==h&&(this.fixedWidth=c,C((P=l.navigatorAxis.toFixedRange(T,T+c,G,A)).min)&&v(this,"setRange",{min:Math.min(P.min,P.max),max:Math.max(P.min,P.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let a=this.chart,l=a.xAxis[0],h=this.reversedExtremes;e===0?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=h?l.min:l.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=h?l.max:l.min),a.setFixedRange(void 0)}onMouseMove(t){let e=this,a=e.chart,l=e.navigatorSize,h=e.range,d=e.dragOffset,c=a.inverted,f=e.left,y;(!t.touches||t.touches[0].pageX!==0)&&(y=(t=a.pointer?.normalize(t)||t).chartX,c&&(f=e.top,y=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,y-f,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,y-f)):e.grabbedCenter&&(e.hasDragged=!0,y<d?y=d:y>l+d-h&&(y=l+d-h),e.render(0,0,y-d,y-d+h)),e.hasDragged&&e.scrollbar&&O(e.scrollbar.options.liveRedraw,!k&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){let e,a,l,h,d,c,f=this.chart,y=this.xAxis,A=this.scrollbar,G=t.DOMEvent||t,P=f.inverted,T=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!A||!A.hasDragged)||t.trigger==="scrollbar")&&(l=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?h=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(d=this.fixedExtreme),this.zoomedMax===this.size&&(d=this.reversedExtremes?l.dataMin:l.dataMax),this.zoomedMin===0&&(h=this.reversedExtremes?l.dataMax:l.dataMin),C((c=y.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,h,d)).min)&&v(this,"setRange",{min:Math.min(c.min,c.max),max:Math.max(c.min,c.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:G}})),t.DOMType!=="mousemove"&&t.DOMType!=="touchmove"&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&u(this.zoomedMin)&&u(this.zoomedMax)&&(a=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(a,e,P,T),this.outline&&this.drawOutline(a,e,P,T),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(a,0,P,T),this.drawHandle(e,1,P,T)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(this.navigatorOptions.adaptToUpdatedData!==!1&&t.forEach(function(e){r(e,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&r(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(t){let e=t.options,a=e.navigator||{},l=a.enabled,h=e.scrollbar||{},d=h.enabled,c=l&&a.height||0,f=d&&h.height||0,y=h.buttonsEnabled&&f||0;this.handles=[],this.shades=[],this.chart=t,this.setBaseSeries(),this.height=c,this.scrollbarHeight=f,this.scrollButtonSize=y,this.scrollbarEnabled=d,this.navigatorEnabled=l,this.navigatorOptions=a,this.scrollbarOptions=h,this.setOpposite();let A=this,G=A.baseSeries,P=t.xAxis.length,T=t.yAxis.length,U=G&&G[0]&&G[0].xAxis||t.xAxis[0]||{options:{}};if(t.isDirtyBox=!0,A.navigatorEnabled){let j=this.getXAxisOffsets();A.xAxis=new D(t,p({breaks:U.options.breaks,ordinal:U.options.ordinal,overscroll:U.options.overscroll},a.xAxis,{type:"datetime",yAxis:a.yAxis?.id,index:P,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:U.options.ordinal?0:U.options.minPadding,maxPadding:U.options.ordinal?0:U.options.maxPadding,zoomEnabled:!1},t.inverted?{offsets:j,width:c}:{offsets:j,height:c}),"xAxis"),A.yAxis=new D(t,p(a.yAxis,{alignTicks:!1,offset:0,index:T,isInternal:!0,reversed:O(a.yAxis&&a.yAxis.reversed,t.yAxis[0]&&t.yAxis[0].reversed,!1),zoomEnabled:!1},t.inverted?{width:c}:{height:c}),"yAxis"),G||a.series.data?A.updateNavigatorSeries(!1):t.series.length===0&&(A.unbindRedraw=S(t,"beforeRedraw",function(){t.series.length>0&&!A.series&&(A.setBaseSeries(),A.unbindRedraw())})),A.reversedExtremes=t.inverted&&!A.xAxis.reversed||!t.inverted&&A.xAxis.reversed,A.renderElements(),A.addMouseEvents()}else A.xAxis={chart:t,navigatorAxis:{fake:!0},translate:function(j,X){let W=t.xAxis[0],V=W.getExtremes(),K=W.len-2*y,q=i("min",W.options.min,V.dataMin),J=i("max",W.options.max,V.dataMax)-q;return X?j*J/K+q:K*(j-q)/J},toPixels:function(j){return this.translate(j)},toValue:function(j){return this.translate(j,!0)}},A.xAxis.navigatorAxis.axis=A.xAxis,A.xAxis.navigatorAxis.toFixedRange=_.prototype.toFixedRange.bind(A.xAxis.navigatorAxis);if(t.options.scrollbar.enabled){let j=p(t.options.scrollbar,{vertical:t.inverted});!u(j.margin)&&A.navigatorEnabled&&(j.margin=t.inverted?-3:3),t.scrollbar=A.scrollbar=new L(t.renderer,j,t),S(A.scrollbar,"changed",function(X){let W=A.size,V=W*this.to,K=W*this.from;A.hasDragged=A.scrollbar.hasDragged,A.render(0,0,K,V),this.shouldUpdateExtremes(X.DOMType)&&setTimeout(function(){A.onMouseUp(X)})})}A.addBaseSeriesEvents(),A.addChartEvents()}setOpposite(){let t=this.navigatorOptions,e=this.navigatorEnabled,a=this.chart;this.opposite=O(t.opposite,!!(!e&&a.inverted))}getUnionExtremes(t){let e,a=this.chart.xAxis[0],l=this.xAxis,h=l.options,d=a.options;return t&&a.dataMin===null||(e={dataMin:O(h&&h.min,i("min",d.min,a.dataMin,l.dataMin,l.min)),dataMax:O(h&&h.max,i("max",d.max,a.dataMax,l.dataMax,l.max))}),e}setBaseSeries(t,e){let a=this.chart,l=this.baseSeries=[];t=t||a.options&&a.options.navigator.baseSeries||(a.series.length?m(a.series,h=>
vendor: 4,289 bytes, line 1
1!h.options.isInternal).index:0),(a.series||[]).forEach((h,d)=>{!h.options.isInternal&&(h.options.showInNavigator||(d===t||h.options.id===t)&&h.options.showInNavigator!==!1)&&l.push(h)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,e)}updateNavigatorSeries(t,e){let a=this,l=a.chart,h=a.baseSeries,d={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},c=a.series=(a.series||[]).filter(P=>{let T=P.baseSeries;return!(0>h.indexOf(T))||(T&&(r(T,"updatedData",a.updatedDataHandler),delete T.navigatorSeries),P.chart&&P.destroy(),!1)}),f,y,A=a.navigatorOptions.series,G;h&&h.length&&h.forEach(P=>{let T=P.navigatorSeries,U=w({color:P.color,visible:P.visible},B(A)?F.navigator.series:A);if(T&&a.navigatorOptions.adaptToUpdatedData===!1)return;d.name="Navigator "+h.length,G=(f=P.options||{}).navigatorOptions||{},U.dataLabels=o(U.dataLabels),(y=p(f,d,U,G)).pointRange=O(U.pointRange,G.pointRange,F.plotOptions[y.type||"line"].pointRange);let j=G.data||U.data;a.hasNavigatorData=a.hasNavigatorData||!!j,y.data=j||f.data&&f.data.slice(0),T&&T.options?T.update(y,e):(P.navigatorSeries=l.initSeries(y),l.setSortedData(),P.navigatorSeries.baseSeries=P,c.push(P.navigatorSeries))}),(A.data&&!(h&&h.length)||B(A))&&(a.hasNavigatorData=!1,(A=o(A)).forEach((P,T)=>{d.name="Navigator "+(c.length+1),(y=p(F.navigator.series,{color:l.series[T]&&!l.series[T].options.isInternal&&l.series[T].color||l.options.colors[T]||l.options.colors[0]},d,P)).data=P.data,y.data&&(a.hasNavigatorData=!0,c.push(l.initSeries(y)))})),t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let t=this,e=t.baseSeries||[];e[0]&&e[0].xAxis&&e[0].eventsToUnbind.push(S(e[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),e.forEach(a=>{a.eventsToUnbind.push(S(a,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),a.eventsToUnbind.push(S(a,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),this.navigatorOptions.adaptToUpdatedData!==!1&&a.xAxis&&a.eventsToUnbind.push(S(a,"updatedData",this.updatedDataHandler)),a.eventsToUnbind.push(S(a,"remove",function(){e&&g(e,a),this.navigatorSeries&&(g(t.series,this.navigatorSeries),C(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(e,a){return Math.min(e,a.xData&&a.xData.length?a.xData[0]:e)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;if(t.getExtremes!==void 0){let e=this.getUnionExtremes(!0);e&&(e.dataMin!==t.min||e.dataMax!==t.max)&&(t.min=e.dataMin,t.max=e.dataMax)}}modifyBaseAxisExtremes(){let t,e,a=this.chart.navigator,l=this.getExtremes(),h=l.min,d=l.max,c=l.dataMin,f=l.dataMax,y=d-h,A=a.stickToMin,G=a.stickToMax,P=O(this.ordinal?.convertOverscroll(this.options.overscroll),0),T=a.series&&a.series[0],U=!!this.setExtremes;!(this.eventArgs&&this.eventArgs.trigger==="rangeSelectorButton")&&(A&&(t=(e=c)+y),G&&(t=f+P,A||(e=Math.max(c,t-y,a.getBaseSeriesMin(T&&T.xData?T.xData[0]:-Number.MAX_VALUE)))),U&&(A||G)&&u(e)&&(this.min=this.userMin=e,this.max=this.userMax=t)),a.stickToMin=a.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,a=t.reversedExtremes?Math.round(t.zoomedMin)===0:Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=O(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,a),t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.xData[0],e.setData(this.options.data,!1,null,!1))}shouldStickToMin(t,e){let a=e.getBaseSeriesMin(t.xData[0]),l=t.xAxis,h=l.max,d=l.min,c=l.options.range;return!!(u(h)&&u(d))&&(c&&h-a>0?h-a<c:d<=a)}addChartEvents(){this.eventsToUnbind||(this.eventsToUnbind=[]),this.eventsToUnbind.push(S(this.chart,"redraw",function(){let t=this.navigator,e=t&&(t.baseSeries&&t.baseSeries[0]&&t.baseSeries[0].xAxis||this.xAxis[0]);e&&t.render(e.min,e.max)}),S(this.chart,"getMargins",function(){let t=this.navigator,e=t.opposite?"plotTop":"marginBottom";this.inverted&&(e=t.opposite?"marginRight":"plotLeft"),this[e]=(this[e]||0)+(t.navigatorEnabled||!this.inverted?t.he
1ight+t.scrollbarHeight:0)+t.navigatorOptions.margin}),S(s,"setRange",function(t){this.chart.xAxis[0].setExtremes(t.min,t.max,t.redraw,t.animation,t.eventArguments)}))}destroy(){this.removeEvents(),this.xAxis&&(g(this.chart.xAxis,this.xAxis),g(this.chart.axes,this.xAxis)),this.yAxis&&(g(this.chart.yAxis,this.yAxis),g(this.chart.axes,this.yAxis)),(this.series||[]).forEach(t=>{t.destroy&&t.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{E(t)}),this.navigatorEnabled=!1}}return s}),$(b,"Core/Axis/OrdinalAxis.js",[b["Core/Axis/Axis.js"],b["Core/Globals.js"],b["Core/Series/Series.js"],b["Core/Utilities.js"]],function(D,N,H,Y){var _;let{addEvent:Z,correctFloat:L,css:R,defined:I,error:F,isNumber:k,pick:M,timeUnits:S,isString:z}=Y;return(function(x){function C(i,s,n,t,e=[],a=0,l){let h={},d=this.options.tickPixelInterval,c=this.chart.time,f=[],y,A,G,P,T,U=0,j=[],X=-Number.MAX_VALUE;if(!this.options.ordinal&&!this.options.breaks||!e||e.length<3||s===void 0)return c.getTimeTicks.apply(c,arguments);let W=e.length;for(y=0;y<W;y++){if(T=y&&e[y-1]>n,e[y]<s&&(U=y),y===W-1||e[y+1]-e[y]>5*a||T){if(e[y]>X){for(A=c.getTimeTicks(i,e[U],e[y],t);A.length&&A[0]<=X;)A.shift();A.length&&(X=A[A.length-1]),f.push(j.length),j=j.concat(A)}U=y+1}if(T)break}if(A){if(P=A.info,l&&P.unitRange<=S.hour){for(U=1,y=j.length-1;U<y;U++)c.dateFormat("%d",j[U])!==c.dateFormat("%d",j[U-1])&&(h[j[U]]="day",G=!0);G&&(h[j[0]]="day"),P.higherRanks=h}P.segmentStarts=f,j.info=P}else F(12,!1,this.chart);if(l&&I(d)){let V=j.length,K=[],q=[],J,tt,Q,et,st,it=V;for(;it--;)tt=this.translate(j[it]),Q&&(q[it]=Q-tt),K[it]=Q=tt;for(q.sort((ot,ht)=>ot-ht),(et=q[Math.floor(q.length/2)])<.6*d&&(et=null),it=j[V-1]>n?V-1:V,Q=void 0;it--;)st=Math.abs(Q-(tt=K[it])),Q&&st<.8*d&&(et===null||st<.8*et)?(h[j[it]]&&!h[j[it+1]]?(J=it+1,Q=tt):J=it,j.splice(J,1)):Q=tt}return j}function E(i){let s=this.ordinal.positions;if(!s)return i;let n=s.length-1,t;return i<0?i=s[0]:i>n?i=s[n]:(n=Math.floor(i),t=i-n),t!==void 0&&s[n]!==void 0?s[n]+(t?t*(s[n+1]-s[n]):0):i}function g(i){let s=this.ordinal,n=this.old?this.old.min:this.min,t=this.old?this.old.transA:this.transA,e=s.getExtendedPositions();if(e&&e.length){let a=L((i-n)*t+this.minPixelPadding),l=L(s.getIndexOfPoint(a,e)),h=L(l%1);if(l>=0&&l<=e.length-1){let d=e[Math.floor(l)],c=e[Math.ceil(l)];return e[Math.floor(l)]+h*(c-d)}}return i}function w(i,s){let n=x.Additions.findIndexOf(i,s,!0);if(i[n]===s)return n;let t=(s-i[n])/(i[n+1]-i[n]);return n+t}function m(){this.ordinal||(this.ordinal=new x.Additions(this))}function v(){let{eventArgs:i,options:s}=this;if(this.isXAxis&&I(s.overscroll)&&s.overscroll!==0&&k(this.max)&&k(this.min)&&(this.options.ordinal&&!this.ordinal.originalOrdinalRange&&this.ordinal.getExtendedPositions(!1),this.max===this.dataMax&&(i?.trigger!=="pan"||this.isInternal)&&i?.trigger!=="navigator")){let n=this.ordinal.convertOverscroll(s.overscroll);this.max+=n,!this.isInternal&&I(this.userMin)&&i?.trigger!=="mousewheel"&&(this.min+=n)}}function B(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)}function u(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))}function p(i){let s=this.xAxis[0],n=s.ordinal.convertOverscroll(s.options.overscroll),t=i.originalEvent.chartX,e=this.options.chart.panning,a=!1;if(e&&e.type!=="y"&&s.options.ordinal&&s.series.length&&(!i.touches||i.touches.length<=1)){let l,h,d=this.mouseDownX,c=s.getExtremes(),f=c.dataMin,y=c.dataMax,A=c.min,G=c.max,P=this.hoverPoints,T=s.closestPointRange||s.ordinal&&s.ordinal.overscrollPointsRange,U=Math.round((d-t)/(s.translationSlope*(s.ordinal.slope||T))),j=s.ordinal.getExtendedPositions(),X={ordinal:{positions:j,extendedOrdinalPositions:j}},W=s.index2val,V=s.val2lin;if(A<=f&&U<0||G+n>=y&&U>0)return;X.ordinal.positions?Math.abs(U)>1&&(P&&P.forEach(function(K){K.setState()}),y>(h=X.ordinal.positions)[h.length-1]&&h.push(y),this.setFixedRange(G-A),(l=s.navigatorAxis.toFixedRange(void 0,void 0,W.apply(X,[V.apply(X,[A,!0])+U]),W.apply(X,[V.apply(X,[G,!0])+U]))).min>=Math.min(c.dataMin,A)&&l.max<=Math.max(y,G)+n&&s.setExtremes(l.min,l.max,!0,!1,{trigger:"pan"}),this.mouseDownX=t,R(this.container,{cursor:"move"})):a=!0}else a=!0;a||e&&/y/.test(e.type)?n&&(s.max=s.dataMax+n):i.preventDefault()}function O(){let i=this.xAxis;i&&i.options.ordinal&&(delete i.ordinal.index,delete i.ordinal.originalOrdinalRange)}function r(i,s){let n,t=this.ordinal,e=t.positions,a=t.slope,l;if(!e)return i;let h=e.length;if(e[0]<=i&&e[h-1]>=i)n=w(e,i);else{if(!((l=t.getExtendedPositions&&t.getExtendedPositions())&&l.length))return i;let d=l.length;a||(a=(l[d-1]-l[0])/d);let c=w(l,e[0]);if(i>=l[0]&&i<=l[d-1])n=w(l,i)-c;else{if(!s)return i;
1n=i<l[0]?-c-(l[0]-i)/a:(i-l[d-1])/a+d-c}}return s?n:a*(n||0)+t.offset}x.compose=function(i,s,n){let t=i.prototype;return t.ordinal2lin||(t.getTimeTicks=C,t.index2val=E,t.lin2val=g,t.val2lin=r,t.ordinal2lin=t.val2lin,Z(i,"afterInit",m),Z(i,"foundExtremes",v),Z(i,"afterSetScale",B),Z(i,"initialAxisTranslation",u),Z(n,"pan",p),Z(n,"touchpan",p),Z(s,"updatedData",O)),i};class o{constructor(s){this.index={},this.axis=s}beforeSetTickPositions(){let s=this.axis,n=s.ordinal,t=s.getExtremes(),e=t.min,a=t.max,l=s.brokenAxis?.hasBreaks,h=s.options.ordinal,d,c,f,y,A,G,P,T=[],U=Number.MAX_VALUE,j=!1,X=!1,W=!1;if(h||l){let V=0;if(s.series.forEach(function(K,q){if(c=[],q>0&&K.options.id!=="highcharts-navigator-series"&&K.processedXData.length>1&&(X=V!==K.processedXData[1]-K.processedXData[0]),V=K.processedXData[1]-K.processedXData[0],K.boosted&&(W=K.boosted),K.reserveSpace()&&(K.takeOrdinalPosition!==!1||l)&&(d=(T=T.concat(K.processedXData)).length,T.sort(function(J,tt){return J-tt}),U=Math.min(U,M(K.closestPointRange,U)),d)){for(q=0;q<d-1;)T[q]!==T[q+1]&&c.push(T[q+1]),q++;c[0]!==T[0]&&c.unshift(T[0]),T=c}}),s.ordinal.originalOrdinalRange||(s.ordinal.originalOrdinalRange=(T.length-1)*U),X&&W&&(T.pop(),T.shift()),(d=T.length)>2){for(f=T[1]-T[0],P=d-1;P--&&!j;)T[P+1]-T[P]!==f&&(j=!0);!s.options.keepOrdinalPadding&&(T[0]-e>f||a-T[T.length-1]>f)&&(j=!0)}else s.options.overscroll&&(d===2?U=T[1]-T[0]:d===1?(U=s.ordinal.convertOverscroll(s.options.overscroll),T=[T[0],T[0]+U]):U=n.overscrollPointsRange);j||s.forceOrdinal?(s.options.overscroll&&(n.overscrollPointsRange=U,T=T.concat(n.getOverscrollPositions())),n.positions=T,y=s.ordinal2lin(Math.max(e,T[0]),!0),A=Math.max(s.ordinal2lin(Math.min(a,T[T.length-1]),!0),1),n.slope=G=(a-e)/(A-y),n.offset=e-y*G):(n.overscrollPointsRange=M(s.closestPointRange,n.overscrollPointsRange),n.positions=s.ordinal.slope=n.offset=void 0)}s.isOrdinal=h&&j,n.groupIntervalFactor=null}static findIndexOf(s,n,t){let e=0,a=s.length-1,l;for(;e<a;)s[l=Math.ceil((e+a)/2)]<=n?e=l:a=l-1;return s[e]===n||t?e:-1}getExtendedPositions(s=!0){let n=this,t=n.axis,e=t.constructor.prototype,a=t.chart,l=t.series[0]?.currentDataGrouping,h=l?l.count+l.unitName:"raw",d=s?t.ordinal.convertOverscroll(t.options.overscroll):0,c=t.getExtremes(),f,y,A=n.index;return A||(A=n.index={}),A[h]||((f={series:[],chart:a,forceOrdinal:!1,getExtremes:function(){return{min:c.dataMin,max:c.dataMax+d}},applyGrouping:e.applyGrouping,getGroupPixelWidth:e.getGroupPixelWidth,getTimeTicks:e.getTimeTicks,options:{ordinal:!0},ordinal:{getGroupIntervalFactor:this.getGroupIntervalFactor},ordinal2lin:e.ordinal2lin,getIndexOfPoint:e.getIndexOfPoint,val2lin:e.val2lin}).ordinal.axis=f,t.series.forEach(function(G){y={xAxis:f,xData:G.xData.slice(),chart:a,groupPixelWidth:G.groupPixelWidth,destroyGroupedData:N.noop,getProcessedData:H.prototype.getProcessedData,applyGrouping:H.prototype.applyGrouping,reserveSpace:H.prototype.reserveSpace,visible:G.visible},s&&(y.xData=y.xData.concat(n.getOverscrollPositions())),y.options={dataGrouping:l?{firstAnchor:G.options.dataGrouping?.firstAnchor,anchor:G.options.dataGrouping?.anchor,lastAnchor:G.options.dataGrouping?.firstAnchor,enabled:!0,forced:!0,approximation:"open",units:[[l.unitName,[l.count]]]}:{enabled:!1}},f.series.push(y),G.processData.apply(y)}),f.applyGrouping({hasExtremesChanged:!0}),y?.closestPointRange!==y?.basePointRange&&y.currentDataGrouping&&(f.forceOrdinal=!0),t.ordinal.beforeSetTickPositions.apply({axis:f}),!t.ordinal.originalOrdinalRange&&f.ordinal.originalOrdinalRange&&(t.ordinal.originalOrdinalRange=f.ordinal.originalOrdinalRange),A[h]=f.ordinal.positions),A[h]}getGroupIntervalFactor(s,n,t){let e=t.processedXData,a=e.length,l=[],h,d,c=this.groupIntervalFactor;if(!c){for(d=0;d<a-1;d++)l[d]=e[d+1]-e[d];l.sort(function(f,y){return f-y}),h=l[Math.floor(a/2)],s=Math.max(s,e[0]),n=Math.min(n,e[a-1]),this.groupIntervalFactor=c=a*h/(n-s)}return c}getIndexOfPoint(s,n){let t,e=this.axis,a=0,l=function(c){let{min:f,max:y}=e;return!!(I(f)&&I(y))&&c.points.some(A=>A.x>=f&&A.x<=y)};e.series.forEach(c=>{let f=c.points?.[0];I(f?.plotX)&&(f.plotX<t||!I(t))&&l(c)&&(t=f.plotX,a=f.x)}),t??(t=e.minPixelPadding);let h=e.translationSlope*(this.slope||e.closestPointRange||this.overscrollPointsRange),d=L((s-t)/h);return o.findIndexOf(n,a,!0)+d}getOverscrollPositions(){let s=this.axis,n=this.convertOverscroll(s.options.overscroll),t=this.overscrollPointsRange,e=[],a=s.dataMax;if(I(t))for(;a<=s.dataMax+n;)e.push(a+=t);return e}postProcessTickInterval(s){let n=this.axis,t=this.slope;return t?n.options.breaks?n.closestPointRange||s:s/(t/n.closestPointRange):s}convertOverscroll(s=0){let n=this,t=n.axis,e=function(a){return M(n.originalOrdinalRange,I(t.dataMax)&&I(t.dataMin)?t.dataMax-t.dataMin:0)*a};if(z(s)){let a=parseInt(s,10);if(/%$/.test(s))return e(a/100);if(/px/.test(s)){let l=Math.min(a,.9*t.len)/t.len;return e(l/(1-l))}return 0}return s}}x.Additions=o})(_||(_={})),_}),$(b,"Stock/RangeSelector/RangeSelectorDefaults.js",[],function(){return{lang:{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"â"},rangeSelector:{allButtonsEnabled:!1,buttons:void 0,buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%e %b %Y",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:"#334eff",cursor:"pointer",fontSize:"0.8em"},labelStyle:{color:"#666666",fontSize:"0.8em"}}}}),$(b,"Stock/RangeSelector/RangeSelectorComposition.js",[b["Core/Defaults.js"],b["Core/Globals.js"],b["Stock/RangeSelector/RangeSelectorDefaults.js"],b["Core/Utilities.js"]],function(D,N,H,Y){let _,{defaultOptions:Z}=D,{composed:L}=N,{addEvent:R,defined:I,extend:F,isNumber:k,merge:M,pick:S,pushUnique:z}=Y,x=[];function C(){let u,p,O=this.range,r=O.type,o=this.max,i=this.chart.time,s=function(t,e){let a=r==="year"?"FullYear":"Month",l=new i.Date(t),h=i.get(a,l);return i.set(a,l,h+e),h===i.get(a,l)&&i.set("Date",l,0),l.getTime()-t};k(O)?(u=o-O,p=O):O&&(u=o+s(o,-(O.count||1)),this.chart&&this.chart.setFixedRange(o-u));let n=S(this.dataMin,Number.MIN_VALUE);return k(u)||(u=n),u<=n&&(u=n,p===void 0&&(p=s(u,O.count)),this.newMax=Math.min(u+p,S(this.dataMax,Number.MAX_VALUE))),k(o)?!k(O)&&O&&O._offsetMin&&(u+=O._offsetMin):u=void 0,u}function E(){this.options.rangeSelector&&this.options.rangeSelector.enabled&&(this.rangeSelector=new _(this))}function g(){let u=this.rangeSelector;if(u){k(u.deferredYTDClick)&&(u.clickButton(u.deferredYTDClick),delete u.deferredYTDClick);let p=u.options.verticalAlign;u.options.floating||(p==="bottom"?this.extraBottomMargin=!0:p==="middle"||(this.extraTopMargin=!0))}}function w(){let u,p=this.rangeSelector;if(!p)return;let O=this.xAxis[0].getExtremes(),r=this.legend,o=p&&p.options.verticalAlign;k(O.min)&&p.render(O.min,O.max),r.display&&o==="top"&&o===r.options.verticalAlign&&(u=M(this.spacingBox),r.options.layout==="vertical"?u.y=this.plotTop:u.y+=p.getHeight(),r.group.placed=!1,r.align(u))}function m(){for(let u=0,p=x.length;u<p;++u){let O=x[u];
1if(O[0]===this){O[1].forEach(r=>r()),x.splice(u,1);return}}}function v(){let u=this.rangeSelector;if(u){let p=u.getHeight();this.extraTopMargin&&(this.plotTop+=p),this.extraBottomMargin&&(this.marginBottom+=p)}}function B(u){let p=u.options.rangeSelector,O=this.extraBottomMargin,r=this.extraTopMargin,o=this.rangeSelector;if(p&&p.enabled&&!I(o)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=o=new _(this)),this.extraBottomMargin=!1,this.extraTopMargin=!1,o){let i=p&&p.verticalAlign||o.options&&o.options.verticalAlign;o.options.floating||(i==="bottom"?this.extraBottomMargin=!0:i==="middle"||(this.extraTopMargin=!0)),(this.extraBottomMargin!==O||this.extraTopMargin!==r)&&(this.isDirtyBox=!0)}}return{compose:function(u,p,O){if(_=O,z(L,"RangeSelector")){let r=p.prototype;u.prototype.minFromRange=C,R(p,"afterGetContainer",E),R(p,"beforeRender",g),R(p,"destroy",m),R(p,"getMargins",v),R(p,"redraw",w),R(p,"update",B),r.callbacks.push(w),F(Z,{rangeSelector:H.rangeSelector}),F(Z.lang,H.lang)}}}}),$(b,"Stock/RangeSelector/RangeSelector.js",[b["Core/Axis/Axis.js"],b["Core/Defaults.js"],b["Core/Globals.js"],b["Stock/RangeSelector/RangeSelectorComposition.js"],b["Core/Renderer/SVG/SVGElement.js"],b["Core/Utilities.js"],b["Core/Axis/OrdinalAxis.js"]],function(D,N,H,Y,_,Z,L){let{defaultOptions:R}=N,{addEvent:I,createElement:F,css:k,defined:M,destroyObjectProperties:S,discardElement:z,extend:x,fireEvent:C,isNumber:E,merge:g,objectEach:w,pad:m,pick:v,pInt:B,splat:u}=Z;class p{static compose(r,o){Y.compose(r,o,p)}constructor(r){this.buttonOptions=p.prototype.defaultButtons,this.initialButtonGroupWidth=0,this.init(r)}clickButton(r,o){let i=this.chart,s=this.buttonOptions[r],n=i.xAxis[0],t=i.scroller&&i.scroller.getUnionExtremes()||n||{},e=s.type,a=s.dataGrouping,l=t.dataMin,h=t.dataMax,d,c=n&&Math.round(Math.min(n.max,v(h,n.max))),f,y=s._range,A,G,P,T=!0;if(l!==null&&h!==null){if(this.setSelected(r),a&&(this.forcedDataGrouping=!0,D.prototype.setDataGrouping.call(n||{chart:this.chart},a,!1),this.frozenStates=s.preserveDataGrouping),e==="month"||e==="year")n?(G={range:s,max:c,chart:i,dataMin:l,dataMax:h},d=n.minFromRange.call(G),E(G.newMax)&&(c=G.newMax),T=!1):y=s;else if(y)c=Math.min((d=Math.max(c-y,l))+y,h),T=!1;else if(e==="ytd")if(n)(h===void 0||l===void 0)&&(l=Number.MAX_VALUE,h=Number.MIN_VALUE,i.series.forEach(U=>{let j=U.xData;j&&(l=Math.min(j[0],l),h=Math.max(j[j.length-1],h))}),o=!1),d=A=(P=this.getYTDExtremes(h,l,i.time.useUTC)).min,c=P.max;else{this.deferredYTDClick=r;return}else e==="all"&&n&&(i.navigator&&i.navigator.baseSeries[0]&&(i.navigator.baseSeries[0].xAxis.options.range=void 0),d=l,c=h);if(T&&s._offsetMin&&M(d)&&(d+=s._offsetMin),s._offsetMax&&M(c)&&(c+=s._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=r+1),n)n.setExtremes(d,c,v(o,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:s}),i.setFixedRange(s._range);else{f=u(i.options.xAxis)[0];let U=I(i,"afterGetAxes",function(){let j=i.xAxis[0];j.range=j.options.range=y,j.min=j.options.min=A});I(i,"load",function(){let j=i.xAxis[0];i.setFixedRange(s._range),j.options.range=f.range,j.options.min=f.min,U()})}C(this,"afterBtnClick")}}setSelected(r){this.selected=this.options.selected=r}init(r){let o=this,i=r.options.rangeSelector,s=i.buttons||o.defaultButtons.slice(),n=i.selected,t=function(){let e=o.minInput,a=o.maxInput;e&&e.blur&&C(e,"blur"),a&&a.blur&&C(a,"blur")};o.chart=r,o.options=i,o.buttons=[],o.buttonOptions=s,this.eventsToUnbind=[],this.eventsToUnbind.push(I(r.container,"mousedown",t)),this.eventsToUnbind.push(I(r,"resize",t)),s.forEac
1h(o.computeButtonRange),n!==void 0&&s[n]&&this.clickButton(n,!1),this.eventsToUnbind.push(I(r,"load",function(){r.xAxis&&r.xAxis[0]&&I(r.xAxis[0],"setExtremes",function(e){E(this.max)&&E(this.min)&&this.max-this.min!==r.fixedRange&&e.trigger!=="rangeSelectorButton"&&e.trigger!=="updatedData"&&o.forcedDataGrouping&&!o.frozenStates&&this.setDataGrouping(!1,!1)})})),this.createElements()}updateButtonStates(){let r=this,o=this.chart,i=this.dropdown,s=this.dropdownLabel,n=o.xAxis[0],t=Math.round(n.max-n.min),e=!n.hasVisibleSeries,a=24*36e5,l=o.scroller&&o.scroller.getUnionExtremes()||n,h=l.dataMin,d=l.dataMax,c=r.getYTDExtremes(d,h,o.time.useUTC),f=c.min,y=c.max,A=r.selected,G=r.options.allButtonsEnabled,P=Array(r.buttonOptions.length).fill(0),T=E(A),U=r.buttons,j=!1,X=null;r.buttonOptions.forEach((W,V)=>{let K=W._range,q=W.type,J=W.count||1,tt=W._offsetMax-W._offsetMin,Q=V===A,et=K>d-h,st=K<n.minRange,it=!1,ot=K===t;if(Q&&et&&(j=!0),n.isOrdinal&&n.ordinal?.positions&&K&&t<K){let nt=n.ordinal.positions,dt=L.Additions.findIndexOf(nt,n.min,!0),rt=Math.min(L.Additions.findIndexOf(nt,n.max,!0)+1,nt.length-1);nt[rt]-nt[dt]>K&&(ot=!0)}else(q==="month"||q==="year")&&t+36e5>={month:28,year:365}[q]*a*J-tt&&t-36e5<={month:31,year:366}[q]*a*J+tt?ot=!0:q==="ytd"?(ot=y-f+tt===t,it=!Q):q==="all"&&(ot=n.max-n.min>=d-h);let ht=!G&&!(j&&q==="all")&&(et||st||e),pt=j&&q==="all"||!it&&ot||Q&&r.frozenStates;ht?P[V]=3:pt&&(!T||V===A)&&(X=V)}),X!==null?(P[X]=2,r.setSelected(X)):(r.setSelected(),s&&(s.setState(0),s.attr({text:(R.lang.rangeSelectorZoom||"")+" â¾"})));for(let W=0;W<P.length;W++){let V=P[W],K=U[W];if(K.state!==V&&(K.setState(V),i)){i.options[W+1].disabled=V===3,V===2&&(s&&(s.setState(2),s.attr({text:r.buttonOptions[W].text+" â¾"})),i.selectedIndex=W+1);let q=s.getBBox();k(i,{width:`${q.width}px`,height:`${q.height}px`})}}}computeButtonRange(r){let o=r.type,i=r.count||1,s={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5};s[o]?r._range=s[o]*i:(o==="month"||o==="year")&&(r._range=24*{month:30,year:365}[o]*36e5*i),r._offsetMin=v(r.offsetMin,0),r._offsetMax=v(r.offsetMax,0),r._range+=r._offsetMax-r._offsetMin}getInputValue(r){let o=r==="min"?this.minInput:this.maxInput,i=this.chart.options.rangeSelector,s=this.chart.time;return o?(o.type==="text"&&i.inputDateParser||this.defaultInputDateParser)(o.value,s.useUTC,s):0}setInputValue(r,o){let i=this.options,s=this.chart.time,n=r==="min"?this.minInput:this.maxInput,t=r==="min"?this.minDateBox:this.maxDateBox;if(n){let e=n.getAttribute("data-hc-time"),a=M(e)?Number(e):void 0;if(M(o)){let l=a;M(l)&&n.setAttribute("data-hc-time-previous",l),n.setAttribute("data-hc-time",o),a=o}n.value=s.dateFormat(this.inputTypeFormats[n.type]||i.inputEditDateFormat,a),t&&t.attr({text:s.dateFormat(i.inputDateFormat,a)})}}setInputExtremes(r,o,i){let s=r==="min"?this.minInput:this.maxInput;if(s){let n=this.inputTypeFormats[s.type],t=this.chart.time;if(n){let e=t.dateFormat(n,o);s.min!==e&&(s.min=e);let a=t.dateFormat(n,i);s.max!==a&&(s.max=a)}}}showInput(r){let o=r==="min"?this.minDateBox:this.maxDateBox,i=r==="min"?this.minInput:this.maxInput;if(i&&o&&this.inputGroup){let s=i.type==="text",{translateX:n=0,translateY:t=0}=this.inputGroup,{x:e=0,width:a=0,height:l=0}=o,{inputBoxWidth:h}=this.options;k(i,{width:s?a+(h?-2:20)+"px":"auto",height:l-2+"px",border:"2px solid silver"}),s&&h?k(i,{left:n+e+"px",top:t+"px"}):k(i,{left:Math.min(Math.round(e+n-(i.offsetWidth-a)/2),this.chart.chartWidth-i.offsetWidth)+"px",top:t-(i.offsetHeight-l)/2+"px"})}}hideInput(r){let o=r==="min"?this.minInput:this.maxInput;o&&k(o,{top:"-9999em",border:0,width:"1px",height:"1px"})}defaultInputDateParser(r,o,i){let s=r.split("/").join("-").split(" ").join("T");if(s.indexOf("T")===-1&&(s+="T00:00"),o)s+="Z";else{let t;if(H.isSafari&&!((t=s).length>6&&(t.lastIndexOf("-")===t.length-6||t.lastIndexOf("+")===t.length-6))){let e=new Date(s).getTimezoneOffset()/60;s+=e<=0?`+${m(-e)}:00`:`-${m(e)}:00`}}let n=Date.parse(s);if(!E(n)){let t=r.split("-");n=Date.UTC(B(t[0]),B(t[1])-1,B(t[2]))}return i&&o&&E(n)&&(n+=i.getTimezoneOffset(n)),n}drawInput(r){let{chart:o,div:i,inputGroup:s}=this,n=this,t=o.renderer.style||{},e=o.renderer,a=o.options.rangeSelector,l=R.lang,h=r==="min";
1function d(P){let{maxInput:T,minInput:U}=n,j=o.xAxis[0],X=o.scroller?.getUnionExtremes()||j,W=X.dataMin,V=X.dataMax,K=o.xAxis[0].getExtremes()[P],q=n.getInputValue(P);E(q)&&q!==K&&(h&&T&&E(W)?q>Number(T.getAttribute("data-hc-time"))?q=void 0:q<W&&(q=W):U&&E(V)&&(q<Number(U.getAttribute("data-hc-time"))?q=void 0:q>V&&(q=V)),q!==void 0&&j.setExtremes(h?q:j.min,h?j.max:q,void 0,void 0,{trigger:"rangeSelectorInput"}))}let c=l[h?"rangeSelectorFrom":"rangeSelectorTo"]||"",f=e.label(c,0).addClass("highcharts-range-label").attr({padding:c?2:0,height:c?a.inputBoxHeight:0}).add(s),y=e.label("",0).addClass("highcharts-range-input").attr({padding:2,width:a.inputBoxWidth,height:a.inputBoxHeight,"text-align":"center"}).on("click",function(){n.showInput(r),n[r+"Input"].focus()});o.styledMode||y.attr({stroke:a.inputBoxBorderColor,"stroke-width":1}),y.add(s);let A=F("input",{name:r,className:"highcharts-range-selector"},void 0,i);A.setAttribute("type",(function(P){if(P.indexOf("%L")!==-1)return"text";let T=["a","A","d","e","w","b","B","m","o","y","Y"].some(j=>P.indexOf("%"+j)!==-1),U=["H","k","I","l","M","S"].some(j=>P.indexOf("%"+j)!==-1);return T&&U?"datetime-local":T?"date":U?"time":"text"})(a.inputDateFormat||"%e %b %Y")),o.styledMode||(f.css(g(t,a.labelStyle)),y.css(g({color:"#333333"},t,a.inputStyle)),k(A,x({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:t.fontSize,fontFamily:t.fontFamily,top:"-9999em"},a.inputStyle))),A.onfocus=()=>{n.showInput(r)},A.onblur=()=>{A===H.doc.activeElement&&d(r),n.hideInput(r),n.setInputValue(r),A.blur()};let G=!1;return A.onchange=()=>{G||(d(r),n.hideInput(r),A.blur())},A.onkeypress=P=>{P.keyCode===13&&d(r)},A.onkeydown=P=>{G=!0,(P.key==="ArrowUp"||P.key==="ArrowDown"||P.key==="Tab")&&d(r)},A.onkeyup=()=>{G=!1},{dateBox:y,input:A,label:f}}getPosition(){let r=this.chart,o=r.options.rangeSelector,i=o.verticalAlign==="top"?r.plotTop-r.axisOffset[0]:0;return{buttonTop:i+o.buttonPosition.y,inputTop:i+o.inputPosition.y-10}}getYTDExtremes(r,o,i){let s=this.chart.time,n=new s.Date(r),t=s.get("FullYear",n),e=Math.max(o,i?s.Date.UTC(t,0,1):+new s.Date(t,0,1)),a=n.getTime();return{max:Math.min(r||a,a),min:e}}createElements(){let r=this.chart,o=r.renderer,i=r.container,s=r.options,n=s.rangeSelector,t=n.inputEnabled,e=v(s.chart.style?.zIndex,0)+1;if(n.enabled!==!1&&(this.group=o.g("range-selector-group").attr({zIndex:7}).add(),this.div=F("div",void 0,{position:"relative",height:0,zIndex:e}),this.buttonOptions.length&&this.renderButtons(),i.parentNode&&i.parentNode.insertBefore(this.div,i),t)){this.inputGroup=o.g("input-group").add(this.group);let a=this.drawInput("min");this.minDateBox=a.dateBox,this.minLabel=a.label,this.minInput=a.input;let l=this.drawInput("max");this.maxDateBox=l.dateBox,this.maxLabel=l.label,this.maxInput=l.input}}render(r,o){let i=this.chart,s=i.options.rangeSelector,n=s.inputEnabled;if(s.enabled!==!1){if(n){this.setInputValue("min",r),this.setInputValue("max",o);let t=i.scroller&&i.scroller.getUnionExtremes()||i.xAxis[0]||{};if(M(t.dataMin)&&M(t.dataMax)){let e=i.xAxis[0].minRange||0;this.setInputExtremes("min",t.dataMin,Math.min(t.dataMax,this.getInputValue("max"))-e),this.setInputExtremes("max",Math.max(t.dataMin,this.getInputValue("min"))+e,t.dataMax)}if(this.inputGroup){let e=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(a=>{if(a){let{width:l}=a.getBBox();l&&(a.attr({x:e}),e+=l+s.inputSpacing)}})}}this.alignElements(),this.updateButtonStates()}}renderButtons(){let{buttons:r,chart:o,options:i}=this,s=R.lang,n=o.renderer,t=g(i.buttonTheme),e=t&&t.states,a=t.width||28;delete t.width,delete t.states,this.buttonGroup=n.g("range-selector-buttons").add(this.group);let l=this.dropdown=F("select",void 0,{position:"absolute",padding:0,border:0,cursor:"pointer",opacity:1e-4},this.div),h=o.userOptions.rangeSelector?.buttonTheme;this.dropdownLabel=n.button("",0,0,()=>{},g(t,{"stroke-width":v(t["stroke-width"],0),width:"auto",paddingLeft:v(i.buttonTheme.paddingLeft,h?.padding,8),paddingRight:v(i.buttonTheme.paddingRight,h?.padding,8)}),e&&e.hover,e&&e.select,e&&e.disabled).hide().add(this.group),I(l,"touchstart",()=>{l.style.fontSize="16px"});let d=H.isMS?"mouseover":"mouseenter",c=H.isMS?"mouseout":"mouseleave";I(l,d,()=>{C(this.dropdownLabel.element,d)}),I(l,c,()=>{C(this.dropdownLabel.element,c)}),I(l,"change",()=>{C(this.buttons[l.selectedIndex-1].element,"click")}),this.zoomText=n.label(s.rangeSelectorZoom||"",0).attr({padding:i.buttonTheme.padding,height:i.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(i.labelStyle),t["stroke-width"]=v(t["stroke-width"],0)),F("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,l),this.buttonOptions.forEach((f,y)=>{F("option",{textContent:f.title||f.text},void 0,l),r[y]=n.button(f.text,0,0,A=>{let G,P=f.events&&f.events.click;P&&(G=P.call(f,A)),G!==!1&&this.clickButton(y),this.isActive=!0},t,e&&e.hover,e&&e.select,e&&e.disabled).attr({"text-align":"center",width:a}).add(this.buttonGroup),f.title&&r[y].attr("title",f.title)})}alignElements(){let{buttonGroup:r,buttons:o,chart:i,group:s,inputGroup:n,options:t,zoomText:e}=this,a=i.options,l=a.exporting&&a.exporting.enabled!==!1&&a.navigation&&a.navigation.buttonOptions,{buttonPosition:h,inputPosition:d,verticalAlign:c}
1=t,f=(A,G)=>l&&this.titleCollision(i)&&c==="top"&&G.align==="right"&&G.y-A.getBBox().height-12<(l.y||0)+(l.height||0)+i.spacing[0]?-40:0,y=i.plotLeft;if(s&&h&&d){let A=h.x-i.spacing[3];if(r){if(this.positionButtons(),!this.initialButtonGroupWidth){let K=0;e&&(K+=e.getBBox().width+5),o.forEach((q,J)=>{K+=q.width||0,J!==o.length-1&&(K+=t.buttonSpacing)}),this.initialButtonGroupWidth=K}y-=i.spacing[3];let V=f(r,h);this.alignButtonGroup(V),this.buttonGroup?.translateY&&this.dropdownLabel.attr({y:this.buttonGroup.translateY}),s.placed=r.placed=i.hasLoaded}let G=0;n&&(G=f(n,d),d.align==="left"?A=y:d.align==="right"&&(A=-Math.max(i.axisOffset[1],-G)),n.align({y:d.y,width:n.getBBox().width,align:d.align,x:d.x+A-2},!0,i.spacingBox),n.placed=i.hasLoaded),this.handleCollision(G),s.align({verticalAlign:c},!0,i.spacingBox);let P=s.alignAttr.translateY,T=s.getBBox().height+20,U=0;if(c==="bottom"){let V=i.legend&&i.legend.options;U=P-(T=T+(V&&V.verticalAlign==="bottom"&&V.enabled&&!V.floating?i.legend.legendHeight+v(V.margin,10):0)-20)-(t.floating?0:t.y)-(i.titleOffset?i.titleOffset[2]:0)-10}c==="top"?(t.floating&&(U=0),i.titleOffset&&i.titleOffset[0]&&(U=i.titleOffset[0]),U+=i.margin[0]-i.spacing[0]||0):c==="middle"&&(d.y===h.y?U=P:(d.y||h.y)&&(d.y<0||h.y<0?U-=Math.min(d.y,h.y):U=P-T)),s.translate(t.x,t.y+Math.floor(U));
1let{minInput:j,maxInput:X,dropdown:W}=this;t.inputEnabled&&j&&X&&(j.style.marginTop=s.translateY+"px",X.style.marginTop=s.translateY+"px"),W&&(W.style.marginTop=s.translateY+"px")}}alignButtonGroup(r,o){let{chart:i,options:s,buttonGroup:n}=this,{buttonPosition:t}=s,e=i.plotLeft-i.spacing[3],a=t.x-i.spacing[3];t.align==="right"?a+=r-e:t.align==="center"&&(a-=e/2),n&&n.align({y:t.y,width:v(o,this.initialButtonGroupWidth),align:t.align,x:a},!0,i.spacingBox)}positionButtons(){let{buttons:r,chart:o,options:i,zoomText:s}=this,n=o.hasLoaded?"animate":"attr",{buttonPosition:t}=i,e=o.plotLeft,a=e;s&&s.visibility!=="hidden"&&(s[n]({x:v(e+t.x,e)}),a+=t.x+s.getBBox().width+5);for(let l=0,h=this.buttonOptions.length;l<h;++l)r[l].visibility!=="hidden"?(r[l][n]({x:a}),a+=(r[l].width||0)+i.buttonSpacing):r[l][n]({x:e})}handleCollision(r){let{chart:o,buttonGroup:i,inputGroup:s}=this,{buttonPosition:n,dropdown:t,inputPosition:e}=this.options,a=()=>{let d=0;return this.buttons.forEach(c=>{let f=c.getBBox();f.width>d&&(d=f.width)}),d},l=d=>{if(s?.alignOptions&&i){let c=s.alignAttr.translateX+s.alignOptions.x-r+s.getBBox().x+2,f=s.alignOptions.width||0,y=i.alignAttr.translateX+i.getBBox().x;return y+d>c&&c+f>y&&n.y<e.y+s.getBBox().height}return!1},h=()=>{s&&i&&s.attr({translateX:s.alignAttr.translateX+(o.axisOffset[1]>=-r?0:-r),translateY:s.alignAttr.translateY+i.getBBox().height+10})};if(i){if(t==="always"){this.collapseButtons(),l(a())&&h();return}t==="never"&&this.expandButtons()}s&&i?e.align===n.align||l(this.initialButtonGroupWidth+20)?t==="responsive"?(this.collapseButtons(),l(a())&&h()):h():t==="responsive"&&this.expandButtons():i&&t==="responsive"&&(this.initialButtonGroupWidth>o.plotWidth?this.collapseButtons():this.expandButtons())}collapseButtons(){let{buttons:r,zoomText:o}=this;this.isCollapsed!==!0&&(this.isCollapsed=!0,o.hide(),r.forEach(i=>{i.hide()}),this.showDropdown())}expandButtons(){let{buttons:r,zoomText:o}=this;this.isCollapsed!==!1&&(this.isCollapsed=!1,this.hideDropdown(),o.show(),r.forEach(i=>{i.show()}),this.positionButtons())}showDropdown(){let{buttonGroup:r,chart:o,dropdownLabel:i,dropdown:s}=this;if(r&&s){let{translateX:n=0,translateY:t=0}=r,e=o.plotLeft+n;i.attr({x:e,y:t}
1).show(),k(s,{left:e+"px",top:t+"px",visibility:"inherit"}),this.hasVisibleDropdown=!0}}hideDropdown(){let{dropdown:r}=this;r&&(this.dropdownLabel.hide(),k(r,{visibility:"hidden",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)}getHeight(){let r=this.options,o=this.group,i=r.inputPosition,s=r.buttonPosition,n=r.y,t=s.y,e=i.y,a=0;if(r.height)return r.height;this.alignElements(),a=o?o.getBBox(!0).height+13+n:0;let l=Math.min(e,t);return(e<0&&t<0||e>0&&t>0)&&(a+=Math.abs(l)),a}titleCollision(r){return!(r.options.title.text||r.options.subtitle.text)}update(r,o=!0){let i=this.chart;g(!0,i.options.rangeSelector,r),this.destroy(),this.init(i),o&&this.render()}destroy(){let r=this,o=r.minInput,i=r.maxInput;r.eventsToUnbind&&(r.eventsToUnbind.forEach(s=>s()),r.eventsToUnbind=void 0),S(r.buttons),o&&(o.onfocus=o.onblur=o.onchange=null),i&&(i.onfocus=i.onblur=i.onchange=null),w(r,function(s,n){s&&n!=="chart"&&(s instanceof _?s.destroy():s instanceof window.HTMLElement&&z(s)),s!==p.prototype[n]&&(r[n]=null)},this)}}return x(p.prototype,{defaultButtons:[{type:"month",count:1,text:"1m",title:"View 1 month"},{type:"month",count:3,text:"3m",title:"View 3 months"},{type:"month",count:6,text:"6m",title:"View 6 months"},{type:"ytd",text:"YTD",title:"View year to date"},{type:"year",count:1,text:"1y",title:"View 1 year"},{type:"all",text:"All",title:"View all"}],inputTypeFormats:{"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"}}),p}),$(b,"Core/Chart/StockChart.js",[b["Core/Chart/Chart.js"],b["Core/Templating.js"],b["Core/Defaults.js"],b["Stock/Navigator/NavigatorDefaults.js"],b["Stock/RangeSelector/RangeSelectorDefaults.js"],b["Stock/Scrollbar/ScrollbarDefaults.js"],b["Stock/Utilities/StockUtilities.js"],b["Core/Utilities.js"]],function(D,N,H,Y,_,Z,L,R){let{format:I}=N,{getOptions:F}=H,{setFixedRange:k}=L,{addEvent:M,clamp:S,crisp:z,defined:x,extend:C,find:E,isNumber:g,isString:w,merge:m,pick:v,splat:B}=R;function u(r,o,i){return r==="xAxis"?{minPadding:0,maxPadding:0,overscroll:0,ordinal:!0}:r==="yAxis"?{labels:{y:-2},opposite:i.opposite??o.opposite??!0,showLastLabel:!!(o.categories||o.type==="category"),title:{text:i.title?.text!=="Values"?i.title?.text:null}}:{}}function p(r,o){if(r==="xAxis"){let i=v(o.navigator&&o.navigator.enabled,Y.enabled,!0),s={type:"datetime",categories:void 0};return i&&(s.startOnTick=!1,s.endOnTick=!1),s}return{}}class O extends D{init(o,i){let s=F(),n=o.xAxis,t=o.yAxis,e=v(o.navigator&&o.navigator.enabled,Y.enabled,!0);o.xAxis=o.yAxis=void 0;let a=m({chart:{panning:{enabled:!0,type:"x"},zooming:{pinchType:"x",mouseWheel:{type:"x"}}},navigator:{enabled:e},scrollbar:{enabled:v(Z.enabled,!0)},rangeSelector:{enabled:v(_.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:v(s.tooltip&&s.tooltip.split,!0),crosshairs:!0},legend:{enabled:!1}},o,{isStock:!0});o.xAxis=n,o.yAxis=t,a.xAxis=B(o.xAxis||{}).map(l=>m(u("xAxis",l,s.xAxis),l,p("xAxis",o))),a.yAxis=B(o.yAxis||{}).map(l=>m(u("yAxis",l,s.yAxis),l)),super.init(a,i)}createAxis(o,i){return i.axis=m(u(o,i.axis,F()[o]),i.axis,p(o,this.userOptions)),super.createAxis(o,i)}}return M(D,"update",function(r){let o=r.options;"scrollbar"in o&&this.navigator&&(m(!0,this.options.scrollbar,o.scrollbar),this.navigator.update({enabled:!!this.navigator.navigatorEnabled}),delete o.scrollbar)}),(function(r){function o(h){if(!this.crosshair||!this.crosshair.label||!this.crosshair.label.enabled||!this.cross||!g(this.min)||!g(this.max))return;let d=this.chart,c=this.logarithmic,f=this.crosshair.label,y=this.horiz,A=this.opposite,G=this.left,P=this.top,T=this.width,U=this.options.tickPosition==="inside",j=this.crosshair.snap!==!1,X=h.e||this.cross&&this.cross.e,W=h.point,V=this.crossLabel,K,q,J=f.format,tt="",Q,et=0,st=this.min,it=this.max;c&&(st=c.lin2log(this.min),it=c.lin2log(this.max));let ot=y?"center":A?this.labelAlign==="right"?"right":"left":this.labelAlign==="left"?"left":"center";V||(V=this.crossLabel=d.renderer.label("",0,void 0,f.shape||"callout").addClass("highcharts-crosshair-label highcharts-color-"+(W&&W.series?W.series.colorIndex:this.series[0]&&this.series[0].c
1olorIndex)).attr({align:f.align||ot,padding:v(f.padding,8),r:v(f.borderRadius,3),zIndex:2}).add(this.labelGroup),d.styledMode||V.attr({fill:f.backgroundColor||W&&W.series&&W.series.color||"#666666",stroke:f.borderColor||"","stroke-width":f.borderWidth||0}).css(C({color:"#ffffff",fontWeight:"normal",fontSize:"0.7em",textAlign:"center"},f.style||{}))),y?(K=j?(W.plotX||0)+G:X.chartX,q=P+(A?0:this.height)):(K=G+this.offset+(A?T:0),q=j?(W.plotY||0)+P:X.chartY),J||f.formatter||(this.dateTime&&(tt="%b %d, %Y"),J="{value"+(tt?":"+tt:"")+"}");let ht=j?this.isXAxis?W.x:W.y:this.toValue(y?X.chartX:X.chartY),pt=W&&W.series?W.series.isPointInside(W):g(ht)&&ht>st&&ht<it,nt="";J?nt=I(J,{value:ht},d):f.formatter&&g(ht)&&(nt=f.formatter.call(this,ht)),V.attr({text:nt,x:K,y:q,visibility:pt?"inherit":"hidden"});let dt=V.getBBox();!g(V.x)||y||A||(K=V.x-dt.width/2),g(V.y)&&(y?(U&&!A||!U&&A)&&(q=V.y-dt.height):q=V.y-dt.height/2),Q=y?{left:G,right:G+this.width}:{left:this.labelAlign==="left"?G:0,right:this.labelAlign==="right"?G+this.width:d.chartWidth};let rt=V.translateX||0;rt<Q.left&&(et=Q.left-rt),rt+dt.width>=Q.right&&(et=-(rt+dt.width-Q.right)),V.attr({x:K+et,y:q,anchorX:y?K:this.opposite?0:d.chartWidth,anchorY:y?this.opposite?d.chartHeight:0:q+dt.height/2})}function i(){this.crossLabel&&(this.crossLabel=this.crossLabel.hide())}function s(h){let d=this.chart,c=this.options,f=d._labelPanes=d._labelPanes||{},y=c.labels;if(d.options.isStock&&this.coll==="yAxis"){let A=c.top+","+c.height;!f[A]&&y.enabled&&(y.distance===15&&this.side===1&&(y.distance=0),y.align===void 0&&(y.align="right"),f[A]=this,h.align="right",h.preventDefault())}}function n(){let h=this.chart,d=this.options&&this.options.top+","+this.options.height;d&&h._labelPanes&&h._labelPanes[d]===this&&delete h._labelPanes[d]}function t(h){let d=this,c=d.isLinked&&!d.series&&d.linkedParent?d.linkedParent.series:d.series,f=d.chart,y=f.renderer,A=d.left,G=d.top,P=[],T=h.translatedValue,U=h.value,j=h.force,X,W,V,K,q=[],J,tt;if(f.options.isStock&&h.acrossPanes!==!1&&d.coll==="xAxis"||d.coll==="yAxis"){for(let Q of(h.preventDefault(),q=(et=>{let st=et==="xAxis"?"yAxis":"xAxis",it=d.options[st];return g(it)?[f[st][it]]:w(it)?[f.get(it)]:c.map(ot=>ot[st])})(d.coll),d.isXAxis?f.yAxis:f.xAxis))if(!Q.options.isInternal){let et=Q.isXAxis?"yAxis":"xAxis";d===(x(Q.options[et])?f[et][Q.options[et]]:f[et][0])&&q.push(Q)}for(let Q of(J=q.length?[]:[d.isXAxis?f.yAxis[0]:f.xAxis[0]],q))J.indexOf(Q)!==-1||E(J,et=>et.pos===Q.pos&&et.len===Q.len)||J.push(Q);if(g(tt=v(T,d.translate(U||0,void 0,void 0,h.old))))if(d.horiz)for(let Q of J){let et;K=(W=Q.pos)+Q.len,X=V=Math.round(tt+d.transB),j!=="pass"&&(X<A||X>A+d.width)&&(j?X=V=S(X,A,A+d.width):et=!0),et||P.push(["M",X,W],["L",V,K])}else for(let Q of J){let et;V=(X=Q.pos)+Q.len,W=K=Math.round(G+d.height-tt),j!=="pass"&&(W<G||W>G+d.height)&&(j?W=K=S(W,G,G+d.height):et=!0),et||P.push(["M",X,W],["L",V,K])}h.path=P.length>0?y.crispPolyLine(P,h.lineWidth||1):void 0}}function e(h){if(this.chart.options.isStock){let d;this.is("column")||this.is("columnrange")?d={borderWidth:0,shadow:!1}:this.is("scatter")||this.is("sma")||(d={marker:{enabled:!1,radius:2}}),d&&(h.plotOptions[this.type]=m(h.plotOptions[this.type],d))}}function a(){let h=this.chart,d=this.options.dataGrouping;return this.allowDG!==!1&&d&&v(d.enabled,h.options.isStock)}function l(h,d){for(let c=0;c<h.length;c+=2){let f=h[c],y=h[c+1];x(f[1])&&f[1]===y[1]&&(f[1]=y[1]=z(f[1],d)),x(f[2])&&f[2]===y[2]&&(f[2]=y[2]=z(f[2],d))}return h}r.compose=function(h,d,c,f){let y=c.prototype;y.forceCropping||(M(d,"afterDrawCrosshair",o),M(d,"afterHideCrosshair",i),M(d,"autoLabelAlign",s),M(d,"destroy",n),M(d,"getPlotLinePath",t),h.prototype.setFixedRange=k,y.forceCropping=a,M(c,"setOptions",e),f.prototype.crispPolyLine=l)},r.stockChart=function(h,d,c){return new r(h,d,c)}})(O||(O={})),O}),$(b,"Series/HLC/HLCPoint.js",[b["Core/Series/SeriesRegistry.js"]],function(D){let{column:{prototype:{pointClass:N}}}=D.seriesTypes;return class extends N{}}),$(b,"Series/HLC/HLCSeriesDefaults.js",[],function(){return{lineWidth:1,tooltip:{pointFormat:'<span style="color:{point.color}">â</span> <b> {series.name}</b><br/>High: {point.high}<br/>Low: {point.low}<br/>Close: {point.close}<br/>'},threshold:null,states:{hover:{lineWidth:3}},stickyTracking:!0}}),$(b,"Series/HLC/HLCSeries.js",[b["Series/HLC/HLCPoint.js"],b["Series/HLC/HLCSeriesDefaults.js"],b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"]],function(D,N,H,Y){let{column:_}
1=H.seriesTypes,{crisp:Z,extend:L,merge:R}=Y;class I extends _{extendStem(k,M,S){let z=k[0],x=k[1];typeof z[2]=="number"&&(z[2]=Math.max(S+M,z[2])),typeof x[2]=="number"&&(x[2]=Math.min(S-M,x[2]))}getPointPath(k,M){let S=M.strokeWidth(),z=k.series,x=Z(k.plotX||0,S),C=Math.round(k.shapeArgs.width/2),E=[["M",x,Math.round(k.yBottom)],["L",x,Math.round(k.plotHigh)]];if(k.close!==null){let g=Z(k.plotClose,S);E.push(["M",x,g],["L",x+C,g]),z.extendStem(E,S/2,g)}return E}drawSinglePoint(k){let M=k.series,S=M.chart,z,x=k.graphic;k.plotY!==void 0&&(x||(k.graphic=x=S.renderer.path().add(M.group)),S.styledMode||x.attr(M.pointAttribs(k,k.selected&&"select")),z=M.getPointPath(k,x),x[x?"animate":"attr"]({d:z}).addClass(k.getClassName(),!0))}drawPoints(){this.points.forEach(this.drawSinglePoint)}init(){super.init.apply(this,arguments),this.options.stacking=void 0}pointAttribs(k,M){let S=super.pointAttribs.call(this,k,M);return delete S.fill,S}toYData(k){return[k.high,k.low,k.close]}translate(){let k=this,M=k.yAxis,S=this.pointArrayMap&&this.pointArrayMap.slice()||[],z=S.map(x=>`plot${x.charAt(0).toUpperCase()+x.slice(1)}`);z.push("yBottom"),S.push("low"),super.translate.apply(k),k.points.forEach(function(x){S.forEach(function(C,E){let g=x[C];g!==null&&(k.dataModify&&(g=k.dataModify.modifyValue(g)),x[z[E]]=M.toPixels(g,!0))}),x.tooltipPos[1]=x.plotHigh+M.pos-k.chart.plotTop})}}return I.defaultOptions=R(_.defaultOptions,N),L(I.prototype,{pointClass:D,animate:null,directTouch:!1,pointArrayMap:["high","low","close"],pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointValKey:"close"}),H.registerSeriesType("hlc",I),I}),$(b,"Series/OHLC/OHLCPoint.js",[b["Core/Series/SeriesRegistry.js"]],function(D){let{seriesTypes:{hlc:N}}=D;class H extends N.prototype.pointClass{getClassName(){return super.getClassName.call(this)+(this.open<this.close?" highcharts-point-up":" highcharts-point-down")}resolveUpColor(){this.open<this.close&&!this.options.color&&this.series.options.upColor&&(this.color=this.series.options.upColor)}resolveColor(){super.resolveColor(),this.series.is("heikinashi")||this.resolveUpColor()}getZone(){let _=super.getZone();return this.resolveUpColor(),_}applyOptions(){return super.applyOptions.apply(this,arguments),this.resolveColor&&this.resolveColor(),this}}return H}),$(b,"Series/OHLC/OHLCSeriesDefaults.js",[],function(){return{tooltip:{pointFormat:'<span style="color:{point.color}">â</span> <b> {series.name}</b><br/>Open: {point.open}<br/>High: {point.high}<br/>Low: {point.low}<br/>Close: {point.close}<br/>'}}}),$(b,"Series/OHLC/OHLCSeries.js",[b["Core/Globals.js"],b["Series/OHLC/OHLCPoint.js"],b["Series/OHLC/OHLCSeriesDefaults.js"],b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"]],function(D,N,H,Y,_){let{composed:Z}=D,{hlc:L}=Y.seriesTypes,{addEvent:R,crisp:I,extend:F,merge:k,pushUnique:M}=_;function S(C){let E=C.options,g=E.dataGrouping;g&&E.useOhlcData&&E.id!=="highcharts-navigator-series"&&(g.approximation="ohlc")}function z(C){let E=C.options;E.useOhlcData&&E.id!=="highcharts-navigator-series"&&F(this,{pointValKey:x.prototype.pointValKey,pointArrayMap:x.prototype.pointArrayMap,toYData:x.prototype.toYData})}class x extends L{static compose(E,...g){M(Z,"OHLCSeries")&&(R(E,"afterSetOptions",S),R(E,"init",z))}getPointPath(E,g){let w=super.getPointPath(E,g),m=g.strokeWidth(),v=I(E.plotX||0,m),B=Math.round(E.shapeArgs.width/2);if(E.open!==null){let u=I(E.plotOpen,m);w.push(["M",v,u],["L",v-B,u]),super.extendStem(w,m/2,u)}return w}pointAttribs(E,g){let w=super.pointAttribs.call(this,E,g),m=this.options;return delete w.fill,!E.options.color&&m.upColor&&E.open<E.close&&(w.stroke=m.upColor),w}toYData(E){return[E.open,E.high,E.low,E.close]}}return x.defaultOptions=k(L.defaultOptions,H),F(x.prototype,{pointClass:N,pointArrayMap:["open","high","low","close"]}),Y.registerSeriesType("ohlc",x),x}),$(b,"Series/Candlestick/CandlestickSeriesDefaults.js",[],function(){return{states:{hover:{lineWidth:2}},threshold:null,lineColor:"#000000",lineWidth:1,upColor:"#ffffff",stickyTracking:!0}}),$(b,"Series/Candlestick/CandlestickSeries.js",[b["Series/Candlestick/CandlestickSeriesDefaults.js"],b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"]],function(D,N,H){let{column:Y,ohlc:_}
1=N.seriesTypes,{crisp:Z,merge:L}=H;class R extends _{pointAttribs(F,k){let M=Y.prototype.pointAttribs.call(this,F,k),S=this.options,z=F.open<F.close,x=S.lineColor||this.color,C=F.color||this.color;if(M["stroke-width"]=S.lineWidth,M.fill=F.options.color||z&&S.upColor||C,M.stroke=F.options.lineColor||z&&S.upLineColor||x,k){let E=S.states[k];M.fill=E.color||M.fill,M.stroke=E.lineColor||M.stroke,M["stroke-width"]=E.lineWidth||M["stroke-width"]}return M}drawPoints(){let F=this.points,k=this.chart,M=this.yAxis.reversed;for(let S of F){let z=S.graphic,x,C,E,g,w,m,v,B,u,p=!z;if(S.plotY!==void 0){z||(S.graphic=z=k.renderer.path().add(this.group)),this.chart.styledMode||z.attr(this.pointAttribs(S,S.selected&&"select")).shadow(this.options.shadow);let O=z.strokeWidth();v=Z(S.plotX||0,O),E=Math.min(x=S.plotOpen,C=S.plotClose),g=Math.max(x,C),u=Math.round(S.shapeArgs.width/2),w=M?g!==S.yBottom:Math.round(E)!==Math.round(S.plotHigh||0),m=M?Math.round(E)!==Math.round(S.plotHigh||0):g!==S.yBottom,E=Z(E,O),g=Z(g,O),(B=[]).push(["M",v-u,g],["L",v-u,E],["L",v+u,E],["L",v+u,g],["Z"],["M",v,E],["L",v,w?Math.round(M?S.yBottom:S.plotHigh):E],["M",v,g],["L",v,m?Math.round(M?S.plotHigh:S.yBottom):g]),z[p?"attr":"animate"]({d:B}).addClass(S.getClassName(),!0)}}}}return R.defaultOptions=L(_.defaultOptions,{tooltip:_.defaultOptions.tooltip},D),N.registerSeriesType("candlestick",R),R}),$(b,"Series/Flags/FlagsPoint.js",[b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"]],function(D,N){let{column:{prototype:{pointClass:H}}}=D.seriesTypes,{isNumber:Y}=N;return class extends H{constructor(){super(...arguments),this.ttBelow=!1}isValid(){return Y(this.y)||this.y===void 0}hasNewShapeType(){let _=this.options.shape||this.series.options.shape;return this.graphic&&_&&_!==this.graphic.symbolKey}}}),$(b,"Series/Flags/FlagsSeriesDefaults.js",[],function(){return{borderRadius:0,pointRange:0,allowOverlapX:!1,shape:"flag",stackDistance:12,textAlign:"center",tooltip:{pointFormat:"{point.text}"},threshold:null,y:-30,fillColor:"#ffffff",lineWidth:1,states:{hover:{lineColor:"#000000",fillColor:"#ccd3ff"}},style:{fontSize:"0.7em",fontWeight:"bold"}}}),$(b,"Series/Flags/FlagsSymbols.js",[b["Core/Renderer/RendererRegistry.js"]],function(D){var N;return(function(H){let Y=[];function _(L,R,I,F,k){let M=k&&k.anchorX||L,S=k&&k.anchorY||R,z=this.circle(M-1,S-1,2,2);return z.push(["M",M,S],["L",L,R+F],["L",L,R],["L",L+I,R],["L",L+I,R+F],["L",L,R+F],["Z"]),z}function Z(L,R){L[R+"pin"]=function(I,F,k,M,S){let z,x=S&&S.anchorX,C=S&&S.anchorY;if(R==="circle"&&M>k&&(I-=Math.round((M-k)/2),k=M),z=L[R](I,F,k,M,S),x&&C){let E=x;if(R==="circle")E=I+k/2;else{let w=z[0],m=z[1];w[0]==="M"&&m[0]==="L"&&(E=(w[1]+m[1])/2)}let g=F>C?F:F+M;z.push(["M",E,g],["L",x,C]),z=z.concat(L.circle(x-1,C-1,2,2))}return z}}H.compose=function(L){if(Y.indexOf(L)===-1){Y.push(L);let I=L.prototype.symbols;I.flag=_,Z(I,"circle"),Z(I,"square")}let R=D.getRendererType();Y.indexOf(R)&&Y.push(R)}})(N||(N={})),N}),$(b,"Series/OnSeriesComposition.js",[b["Series/Column/ColumnSeries.js"],b["Core/Globals.js"],b["Core/Series/Series.js"],b["Core/Utilities.js"]],function(D,N,H,Y){var _;let{composed:Z}=N,{prototype:L}=D,{prototype:R}=H,{defined:I,pushUnique:F,stableSort:k}=Y;return(function(M){function S(x){return R.getPlotBox.call(this.options.onSeries&&this.chart.get(this.options.onSeries)||this,x)}function z(){L.translate.apply(this);let x=this,C=x.options,E=x.chart,g=x.points,w=C.onSeries,m=w&&E.get(w),v=m&&m.options.step,B=m&&m.points,u=E.inverted,p=x.xAxis,O=x.yAxis,r=g.length-1,o,i,s=C.onKey||"y",n=B&&B.length,t=0,e,a,l,h,d;if(m&&m.visible&&n){for(t=(m.pointXOffset||0)+(m.barW||0)/2,h=m.currentDataGrouping,a=B[n-1].x+(h?h.totalRange:0),k(g,(c,f)=>c.x-f.x),s="plot"+s[0].toUpperCase()+s.substr(1);n--&&g[r];)if(e=B[n],(o=g[r]).y=e.y,e.x<=o.x&&e[s]!==void 0){if(o.x<=a&&(o.plotY=e[s],e.x<o.x&&!v&&(l=B[n+1])&&l[s]!==void 0))if(I(o.plotX)&&m.is("spline")){let c=[e.plotX||0,e.plotY||0],f=[l.plotX||0,l.plotY||0],y=e.controlPoints?.high||c,A=l.controlPoints?.low||f,G=(j,X)=>Math.pow(1-j,3)*c[X]+3*(1-j)*(1-j)*j*y[X]+3*(1-j)*j*j*A[X]+j*j*j*f[X],P=0,T=1,U;for(let j=0;j<100;j++){let X=(P+T)/2,W=G(X,0);if(W===null)break;
1if(.25>Math.abs(W-o.plotX)){U=X;break}W<o.plotX?P=X:T=X}I(U)&&(o.plotY=G(U,1),o.y=O.toValue(o.plotY,!0))}else d=(o.x-e.x)/(l.x-e.x),o.plotY+=d*(l[s]-e[s]),o.y+=d*(l.y-e.y);if(r--,n++,r<0)break}}g.forEach((c,f)=>{let y;c.plotX+=t,(c.plotY===void 0||u)&&(c.plotX>=0&&c.plotX<=p.len?u?(c.plotY=p.translate(c.x,0,1,0,1),c.plotX=I(c.y)?O.translate(c.y,0,0,0,1):0):c.plotY=(p.opposite?0:x.yAxis.len)+p.offset:c.shapeArgs={}),(i=g[f-1])&&i.plotX===c.plotX&&(i.stackIndex===void 0&&(i.stackIndex=0),y=i.stackIndex+1),c.stackIndex=y}),this.onSeries=m}M.compose=function(x){if(F(Z,"OnSeries")){let C=x.prototype;C.getPlotBox=S,C.translate=z}return x},M.getPlotBox=S,M.translate=z})(_||(_={})),_}),$(b,"Series/Flags/FlagsSeries.js",[b["Series/Flags/FlagsPoint.js"],b["Series/Flags/FlagsSeriesDefaults.js"],b["Series/Flags/FlagsSymbols.js"],b["Core/Globals.js"],b["Series/OnSeriesComposition.js"],b["Core/Renderer/RendererUtilities.js"],b["Core/Series/SeriesRegistry.js"],b["Core/Renderer/SVG/SVGElement.js"],b["Core/Utilities.js"]],function(D,N,H,Y,_,Z,L,R,I){let{noop:F}=Y,{distribute:k}=Z,{series:M,seriesTypes:{column:S}}=L,{addEvent:z,defined:x,extend:C,isNumber:E,merge:g,objectEach:w,wrap:m}=I;class v extends S{animate(u){u&&this.setClip()}drawPoints(){let u,p,O,r,o,i,s,n,t,e,a,l=this.points,h=this.chart,d=h.renderer,c=h.inverted,f=this.options,y=f.y,A=this.yAxis,G={},P=[],T=E(f.borderRadius)?f.borderRadius:0;for(r=l.length;r--;)o=l[r],e=(c?o.plotY:o.plotX)>this.xAxis.len,u=o.plotX,s=o.stackIndex,O=o.options.shape||f.shape,(p=o.plotY)!==void 0&&(p=o.plotY+y-(s!==void 0&&s*f.stackDistance)),o.anchorX=s?void 0:o.plotX,n=s?void 0:o.plotY,a=O!=="flag",i=o.graphic,p!==void 0&&u>=0&&!e?(i&&o.hasNewShapeType()&&(i=i.destroy()),i||(i=o.graphic=d.label("",0,void 0,O,void 0,void 0,f.useHTML).addClass("highcharts-point").add(this.markerGroup),o.graphic.div&&(o.graphic.div.point=o),i.isNew=!0),i.attr({align:a?"center":"left",width:f.width,height:f.height,"text-align":f.textAlign,r:T}),h.styledMode||i.attr(this.pointAttribs(o)).css(g(f.style,o.style)).shadow(f.shadow),u>0&&(u-=i.strokeWidth()%2),t={y:p,anchorY:n},f.allowOverlapX&&(t.x=u,t.anchorX=o.anchorX),i.attr({text:o.options.title??f.title??"A"})[i.isNew?"attr":"animate"](t),f.allowOverlapX||(G[o.plotX]?G[o.plotX].size=Math.max(G[o.plotX].size,i.width||0):G[o.plotX]={align:a?.5:0,size:i.width||0,target:u,anchorX:u}),o.tooltipPos=[u,p+A.pos-h.plotTop]):i&&(o.graphic=i.destroy());if(!f.allowOverlapX){let U=100;for(let j of(w(G,function(X){X.plotX=X.anchorX,P.push(X),U=Math.max(X.size,U)}),k(P,c?A.len:this.xAxis.len,U),l)){let X=j.plotX,W=j.graphic,V=W&&G[X];V&&W&&(x(V.pos)?W[W.isNew?"attr":"animate"]({x:V.pos+(V.align||0)*V.size,anchorX:j.anchorX}).show().isNew=!1:W.hide().isNew=!0)}}f.useHTML&&this.markerGroup&&m(this.markerGroup,"on",function(U){return R.prototype.on.apply(U.apply(this,[].slice.call(arguments,1)),[].slice.call(arguments,1))})}drawTracker(){let u=this.points;for(let p of(super.drawTracker(),u)){let O=p.graphic;O&&(p.unbindMouseOver&&p.unbindMouseOver(),p.unbindMouseOver=z(O.element,"mouseover",function(){for(let r of(p.stackIndex>0&&!p.raised&&(p._y=O.y,O.attr({y:p._y-8}),p.raised=!0),u))r!==p&&r.raised&&r.graphic&&(r.graphic.attr({y:r._y}),r.raised=!1)}))}}pointAttribs(u,p){let O=this.options,r=u&&u.color||this.color,o=O.lineColor,i=u&&u.lineWidth,s=u&&u.fillColor||O.fillColor;return p&&(s=O.states[p].fillColor,o=O.states[p].lineColor,i=O.states[p].lineWidth),{fill:s||r,stroke:o||r,"stroke-width":i||O.lineWidth||0}}setClip(){M.prototype.setClip.apply(this,arguments),this.options.clip!==!1&&this.sharedClipKey&&this.markerGroup&&this.markerGroup.clip(this.chart.sharedClips[this.sharedClipKey])}}return v.compose=H.compose,v.defaultOptions=g(S.defaultOptions,N),_.compose(v),C(v.prototype,{allowDG:!1,forceCrop:!0,invertible:!1,noSharedTooltip:!0,pointClass:D,sorted:!1,takeOrdinalPosition:!1,trackerGroups:["markerGroup"],buildKDTree:F,init:M.prototype.init}),L.registerSeriesType("flags",v),v}),$(b,"Core/Axis/BrokenAxis.js",[b["Core/Axis/Stacking/StackItem.js"],b["Core/Utilities.js"]],function(D,N){var H;let{addEvent:Y,find:_,fireEvent:Z,isArray:L,isNumber:R,pick:I}=N;return(function(F){function k(){this.brokenAxis!==void 0&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function M(){this.brokenAxis?.hasBreaks&&(this.options.ordinal=!1)}function S(){let m=this.brokenAxis;if(m?.hasBreaks){let v=this.tickPositions,B=this.tickPositions.info,u=[];for(let p=0;p<v.length;p++)m.isInAnyBreak(v[p])||u.push(v[p]);this.tickPositions=u,this.tickPositions.info=B}}function z(){this.brokenAxis||(this.brokenAxis=new w(this))}function x(){let{isDirty:m,options:{connectNulls:v}
1,points:B,xAxis:u,yAxis:p}=this;if(m){let O=B.length;for(;O--;){let r=B[O],o=!(r.y===null&&v===!1)&&(u?.brokenAxis?.isInAnyBreak(r.x,!0)||p?.brokenAxis?.isInAnyBreak(r.y,!0));r.visible=!o&&r.options.visible!==!1}}}function C(){this.drawBreaks(this.xAxis,["x"]),this.drawBreaks(this.yAxis,I(this.pointArrayMap,["y"]))}function E(m,v){let B,u,p,O=this,r=O.points;if(m?.brokenAxis?.hasBreaks){let o=m.brokenAxis;v.forEach(function(i){B=o?.breakArray||[],u=m.isXAxis?m.min:I(O.options.threshold,m.min);let s=m?.options?.breaks?.filter(function(n){let t=!0;for(let e=0;e<B.length;e++){let a=B[e];if(a.from===n.from&&a.to===n.to){t=!1;break}}return t});r.forEach(function(n){p=I(n["stack"+i.toUpperCase()],n[i]),B.forEach(function(t){if(R(u)&&R(p)){let e="";u<t.from&&p>t.to||u>t.from&&p<t.from?e="pointBreak":(u<t.from&&p>t.from&&p<t.to||u>t.from&&p>t.to&&p<t.from)&&(e="pointInBreak"),e&&Z(m,e,{point:n,brk:t})}}),s?.forEach(function(t){Z(m,"pointOutsideOfBreak",{point:n,brk:t})})})})}}function g(){let m=this.currentDataGrouping,v=m?.gapSize,B=this.points.slice(),u=this.yAxis,p=this.options.gapSize,O=B.length-1;if(p&&O>0){let r,o;for(this.options.gapUnit!=="value"&&(p*=this.basePointRange),v&&v>p&&v>=this.basePointRange&&(p=v);O--;)if(o&&o.visible!==!1||(o=B[O+1]),r=B[O],o.visible!==!1&&r.visible!==!1){if(o.x-r.x>p){let i=(r.x+o.x)/2;B.splice(O+1,0,{isNull:!0,x:i}),u.stacking&&this.options.stacking&&((u.stacking.stacks[this.stackKey][i]=new D(u,u.options.stackLabels,!1,i,this.stack)).total=0)}o=r}}return this.getGraphPath(B)}F.compose=function(m,v){if(!m.keepProps.includes("brokenAxis")){m.keepProps.push("brokenAxis"),Y(m,"init",z),Y(m,"afterInit",k),Y(m,"afterSetTickPositions",S),Y(m,"afterSetOptions",M);let B=v.prototype;B.drawBreaks=E,B.gappedPath=g,Y(v,"afterGeneratePoints",x),Y(v,"afterRender",C)}return m};class w{static isInBreak(v,B){let u=v.repeat||1/0,p=v.from,O=v.to-v.from,r=B>=p?(B-p)%u:u-(p-B)%u;return v.inclusive?r<=O:r<O&&r!==0}static lin2Val(v){let B=this.brokenAxis,u=B&&B.breakArray;if(!u||!R(v))return v;let p=v,O,r;for(r=0;r<u.length&&!((O=u[r]).from>=p);r++)(O.to<p||w.isInBreak(O,p))&&(p+=O.len);return p}static val2Lin(v){let B=this.brokenAxis,u=B&&B.breakArray;if(!u||!R(v))return v;let p=v,O,r;for(r=0;r<u.length;r++)if((O=u[r]).to<=v)p-=O.len;else{if(O.from>=v)break;if(w.isInBreak(O,v)){p-=v-O.from;break}}return p}constructor(v){this.hasBreaks=!1,this.axis=v}findBreakAt(v,B){return _(B,function(u){return u.from<v&&v<u.to})}isInAnyBreak(v,B){let u=this.axis,p=u.options.breaks||[],O=p.length,r,o,i;if(O&&R(v)){for(;O--;)w.isInBreak(p[O],v)&&(r=!0,o||(o=I(p[O].showPoints,!u.isXAxis)));i=r&&B?r&&!o:r}return i}setBreaks(v,B){let u=this,p=u.axis,O=L(v)&&!!v.length&&!!Object.keys(v[0]).length;p.isDirty=u.hasBreaks!==O,u.hasBreaks=O,v!==p.options.breaks&&(p.options.breaks=p.userOptions.breaks=v),p.forceRedraw=!0,p.series.forEach(function(r){r.isDirty=!0}),O||p.val2lin!==w.val2Lin||(delete p.val2lin,delete p.lin2val),O&&(p.userOptions.ordinal=!1,p.lin2val=w.lin2Val,p.val2lin=w.val2Lin,p.setExtremes=function(r,o,i,s,n){if(u.hasBreaks){let t,e=this.options.breaks||[];for(;t=u.findBreakAt(r,e);)r=t.to;for(;t=u.findBreakAt(o,e);)o=t.from;o<r&&(o=r)}p.constructor.prototype.setExtremes.call(this,r,o,i,s,n)},p.setAxisTranslation=function(){if(p.constructor.prototype.setAxisTranslation.call(this),u.unitLength=void 0,u.hasBreaks){let r=p.options.breaks||[],o=[],i=[],s=I(p.pointRangePadding,0),n=0,t,e,a=p.userMin||p.min,l=p.userMax||p.max,h,d;r.forEach(function(c){e=c.repeat||1/0,R(a)&&R(l)&&(w.isInBreak(c,a)&&(a+=c.to%e-a%e),w.isInBreak(c,l)&&(l-=l%e-c.from%e))}),r.forEach(function(c){if(h=c.from,e=c.repeat||1/0,R(a)&&R(l)){for(;h-e>a;)h-=e;for(;h<a;)h+=e;for(d=h;d<l;d+=e)o.push({value:d,move:"in"}),o.push({value:d+c.to-c.from,move:"out",size:c.breakSize})}}),o.sort(function(c,f){return c.value===f.value?(c.move==="in"?0:1)-(f.move==="in"?0:1):c.value-f.value}),t=0,h=a,o.forEach(function(c){(t+=c.move==="in"?1:-1)===1&&c.move==="in"&&(h=c.value),t===0&&R(h)&&(i.push({from:h,to:c.value,len:c.value-h-(c.size||0)}),n+=c.value-h-(c.size||0))}),u.breakArray=i,R(a)&&R(l)&&R(p.min)&&(u.unitLength=l-a-n+s,Z(p,"afterBreaks"),p.staticScale?p.transA=p.staticScale:u.unitLength&&(p.transA*=(l-p.min+s)/u.unitLength),s&&(p.minPixelPadding=p.transA*(p.minPointOffset||0)),p.min=a,p.max=l)}}),I(B,!0)&&p.chart.redraw()}}F.Additions=w})(H||(H={})),H}),$(b,"masters/modules/broken-axis.src.js",[b["Core/Globals.js"],b["Core/Axis/BrokenAxis.js"]],function(D,N){return D.BrokenAxis=D.BrokenAxis||N,D.BrokenAxis.compose(D.Axis,D.Series),D}),$(b,"Extensions/DataGrouping/ApproximationRegistry.js",[],function(){return{}}),$(b,"Extensions/DataGrouping/ApproximationDefaults.js",[b["Extensions/DataGrouping/ApproximationRegistry.js"],b["Core/Utilities.js"]],function(D,N){let{arrayMax:H,arrayMin:Y,correctFloat:_,extend:Z,isNumber:L}=N;function R(k){let M=k.length,S=I(k);return L(S)&&M&&(S=_(S/M)),S}function I(k){let M=k.length,S;if(!M&&k.hasNulls)S=null;else if(M)for(S=0;M--;)S+=k[M];return S}let F={average:R,averages:function(){let k=[];return[].forEach.call(arguments,function(M){k.push(R(M))}),k[0]===void 0?void 0:k},close:function(k){return k.length?k[k.length-1]:k.hasNulls?null:void 0},high:function(k){return k.length?H(k):k.hasNulls?null:void 0},hlc:function(k,M,S){if(k=D.high(k),M=D.low(M),S=D.close(S),L(k)||L(M)||L(S))return[k,M,S]},low:function(k){return k.length?Y(k):k.hasNulls?null:void 0},ohlc:function(k,M,S,z){if(k=D.open(k),M=D.high(M),S=D.low(S),z=D.close(z),L(k)||L(M)||L(S)||L(z))return[k,M,S,z]},open:function(k){return k.length?k[0]:k.hasNulls?null:void 0},range:function(k,M){return k=D.low(k),M=D.high(M),L(k)||L(M)?[k,M]:k===null&&M===null?null:void 0},sum:I};return Z(D,F),F}),$(b,"Extensions/DataGrouping/DataGroupingDefaults.js",[],function(){return{common:{groupPixelWidth:2,dateTimeLabelFormats:{millisecond:["%A, %e %b, %H:%M:%S.%L","%A, %e %b, %H:%M:%S.%L","-%H:%M:%S.%L"],second:["%A, %e %b, %H:%M:%S","%A, %e %b, %H:%M:%S","-%H:%M:%S"],minute:["%A, %e %b, %H:%M","%A, %e %b, %H:%M","-%H:%M"],hour:["%A, %e %b, %H:%M","%A, %e %b, %H:%M","-%H:%M"],day:["%A, %e %b %Y","%A, %e %b","-%A, %e %b %Y"],week:["Week from %A, %e %b %Y","%A, %e %b","-%A, %e %b %Y"],month:["%B %Y","%B","-%B %Y"],year:["%Y","%Y","-%Y"]}},seriesSpecific:{line:{},spline:{},area:{},areaspline:{},arearange:{},column:{groupPixelWidth:10},columnrange:{groupPixelWidth:10},candlestick:{groupPixelWidth:10},ohlc:{groupPixelWidth:5},hlc:{groupPixelWidth:5},heikinashi:{groupPixelWidth:10}},units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1]],["week",[1]],["month",[1,3,6]],["year",null]]}}),$(b,"Extensions/DataGrouping/DataGroupingAxisComposition.js",[b["Extensions/DataGrouping/DataGroupingDefaults.js"],b["Core/Utilities.js"]],function(D,N){let H,{addEvent:Y,extend:_,merge:Z,pick:L}=N;function R(M){let S=this,z=S.series;z.forEach(function(x){x.groupPixelWidth=void 0}),z.forEach(function(x){x.groupPixelWidth=S.getGroupPixelWidth&&S.getGroupPixelWidth(),x.groupPixelWidth&&(x.hasProcessed=!0),x.applyGrouping(!!M.hasExtremesChanged)})}function I(){let M=this.series,S=M.length,z=0,x=!1,C,E;for(;S--;)(E=M[S].options.dataGrouping)&&(z=Math.max(z,L(E.groupPixelWidth,D.common.groupPixelWidth)),C=(M[S].processedXData||M[S].data).length,(M[S].groupPixelWidth||C>this.chart.plotSizeX/z||C&&E.forced)&&(x=!0));return x?z:0}
1function F(){this.series.forEach(function(M){M.hasProcessed=!1})}function k(M,S){let z;if(S=L(S,!0),M||(M={forced:!1,units:null}),this instanceof H)for(z=this.series.length;z--;)this.series[z].update({dataGrouping:M},!1);else this.chart.options.series.forEach(function(x){x.dataGrouping=typeof M=="boolean"?M:Z(M,x.dataGrouping)});this.ordinal&&(this.ordinal.slope=void 0),S&&this.chart.redraw()}return{compose:function(M){H=M;let S=M.prototype;S.applyGrouping||(Y(M,"afterSetScale",F),Y(M,"postProcessData",R),_(S,{applyGrouping:R,getGroupPixelWidth:I,setDataGrouping:k}))}}}),$(b,"Extensions/DataGrouping/DataGroupingSeriesComposition.js",[b["Extensions/DataGrouping/ApproximationRegistry.js"],b["Extensions/DataGrouping/DataGroupingDefaults.js"],b["Core/Axis/DateTimeAxis.js"],b["Core/Defaults.js"],b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"]],function(D,N,H,Y,_,Z){let{series:{prototype:L}}=_,{addEvent:R,defined:I,error:F,extend:k,isNumber:M,merge:S,pick:z}=Z,x=L.generatePoints;function C(B){var u;let p,O,r=this.chart,o=this.options.dataGrouping,i=this.allowDG!==!1&&o&&z(o.enabled,r.options.isStock),s=this.reserveSpace(),n=this.currentDataGrouping,t,e,a=!1;i&&!this.requireSorting&&(this.requireSorting=a=!0);let l=!!(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!B)||!i;if(a&&(this.requireSorting=!1),l)return;this.destroyGroupedData();let h=o.groupAll?this.xData:this.processedXData,d=o.groupAll?this.yData:this.processedYData,c=r.plotSizeX,f=this.xAxis,y=f.options.ordinal,A=this.groupPixelWidth;if(A&&h&&h.length&&c){O=!0,this.isDirty=!0,this.points=null;let G=f.getExtremes(),P=G.min,T=G.max,U=y&&f.ordinal&&f.ordinal.getGroupIntervalFactor(P,T,this)||1,j=A*(T-P)/c*U,X=f.getTimeTicks(H.Additions.prototype.normalizeTimeTickInterval(j,o.units||N.units),Math.min(P,h[0]),Math.max(T,h[h.length-1]),f.options.startOfWeek,h,this.closestPointRange),W=L.groupData.apply(this,[h,d,X,o.approximation]),V=W.groupedXData,K=W.groupedYData,q=0;for(o&&o.smoothed&&V.length&&(o.firstAnchor="firstPoint",o.anchor="middle",o.lastAnchor="lastPoint",F(32,!1,r,{"dataGrouping.smoothed":"use dataGrouping.anchor"})),p=1;p<X.length;p++)X.info.segmentStarts&&X.info.segmentStarts.indexOf(p)!==-1||(q=Math.max(X[p]-X[p-1],q));(t=X.info).gapSize=q,this.closestPointRange=X.info.totalRange,this.groupMap=W.groupMap,this.currentDataGrouping=t,(function(J,tt,Q){let et=J.options.dataGrouping,st=J.currentDataGrouping&&J.currentDataGrouping.gapSize;if(!(et&&J.xData&&st&&J.groupMap))return;let it=tt.length-1,ot=et.anchor,ht=et.firstAnchor,pt=et.lastAnchor,nt=tt.length-1,dt=0;if(ht&&J.xData[0]>=tt[0]){let rt;dt++;let ct=J.groupMap[0].start,gt=J.groupMap[0].length;M(ct)&&M(gt)&&(rt=ct+(gt-1)),tt[0]={start:tt[0],middle:tt[0]+.5*st,end:tt[0]+st,firstPoint:J.xData[0],lastPoint:rt&&J.xData[rt]}[ht]}if(it>0&&pt&&st&&tt[it]>=Q-st){nt--;let rt=J.groupMap[J.groupMap.length-1].start;tt[it]={start:tt[it],middle:tt[it]+.5*st,end:tt[it]+st,firstPoint:rt&&J.xData[rt],lastPoint:J.xData[J.xData.length-1]}[pt]}if(ot&&ot!=="start"){let rt=st*{middle:.5,end:1}[ot];for(;nt>=dt;)tt[nt]+=rt,nt--}})(this,V,T),s&&(I((u=V)[0])&&M(f.min)&&M(f.dataMin)&&u[0]<f.min&&((!I(f.options.min)&&f.min<=f.dataMin||f.min===f.dataMin)&&(f.min=Math.min(u[0],f.min)),f.dataMin=Math.min(u[0],f.dataMin)),I(u[u.length-1])&&M(f.max)&&M(f.dataMax)&&u[u.length-1]>f.max&&((!I(f.options.max)&&M(f.dataMax)&&f.max>=f.dataMax||f.max===f.dataMax)&&(f.max=Math.max(u[u.length-1],f.max)),f.dataMax=Math.max(u[u.length-1],f.dataMax))),o.groupAll&&(this.allGroupedData=K,V=(e=this.cropData(V,K,f.min,f.max)).xData,K=e.yData,this.cropStart=e.start),this.processedXData=V,this.processedYData=K}else this.groupMap=null,this.currentDataGrouping=void 0;this.hasGroupedData=O,this.preventGraphAnimation=(n&&n.totalRange)!==(t&&t.totalRange)}function E(){this.groupedData&&(this.groupedData.forEach(function(B,u){B&&(this.groupedData[u]=B.destroy?B.destroy():null)},this),this.groupedData.length=0,delete this.allGroupedData)}function g(){x.apply(this),this.destroyGroupedData(),this.groupedData=this.hasGroupedData?this.points:null}function w(){return this.is("arearange")?"range":this.is("ohlc")?"ohlc":this.is("hlc")?"hlc":this.is("column")||this.options.cumulative?"sum":"average"}function m(B,u,p,O){let r=this,o=r.data,i=r.options&&r.options.data,s=[],n=[],t=[],e=B.length,a=!!u,l=[],h=r.pointArrayMap,d=h&&h.length,c=["x"].concat(h||["y"]),f=this.options.dataGrouping&&this.options.dataGrouping.groupAll,y,A,G,P=0,T=0,U=typeof O=="function"?O:O&&D[O]?D[O]:D[r.getDGApproximation&&r.getDGApproximation()||"average"];if(d){let X=h.length;for(;X--;)l.push([])}else l.push([]);let j=d||1;for(let X=0;X<=e;X++)if(!(B[X]<p[0])){for(;p[P+1]!==void 0&&B[X]>=p[P+1]||X===e;){y=p[P],r.dataGroupInfo={start:f?T:r.cropStart+T,length:l[0].length,groupStart:y},G=U.apply(r,l),r.pointClass&&!I(r.dataGroupInfo.options)&&(r.dataGroupInfo.options=S(r.pointClass.prototype.optionsToObject.call({series:r}
1,r.options.data[r.cropStart+T])),c.forEach(function(W){delete r.dataGroupInfo.options[W]})),G!==void 0&&(s.push(y),n.push(G),t.push(r.dataGroupInfo)),T=X;for(let W=0;W<j;W++)l[W].length=0,l[W].hasNulls=!1;if(P+=1,X===e)break}if(X===e)break;if(h){let W,V=r.options.dataGrouping&&r.options.dataGrouping.groupAll?X:r.cropStart+X,K=o&&o[V]||r.pointClass.prototype.applyOptions.apply({series:r},[i[V]]);for(let q=0;q<d;q++)M(W=K[h[q]])?l[q].push(W):W===null&&(l[q].hasNulls=!0)}else M(A=a?u[X]:null)?l[0].push(A):A===null&&(l[0].hasNulls=!0)}return{groupedXData:s,groupedYData:n,groupMap:t}}function v(B){let u=B.options,p=this.type,O=this.chart.options.plotOptions,r=this.useCommonDataGrouping&&N.common,o=N.seriesSpecific,i=Y.defaultOptions.plotOptions[p].dataGrouping;if(O&&(o[p]||r)){let s=this.chart.rangeSelector;i||(i=S(N.common,o[p])),u.dataGrouping=S(r,i,O.series&&O.series.dataGrouping,O[p].dataGrouping,this.userOptions.dataGrouping,!u.isInternal&&s&&M(s.selected)&&s.buttonOptions[s.selected].dataGrouping)}}return{compose:function(B){let u=B.prototype;u.applyGrouping||(R(B.prototype.pointClass,"update",function(){if(this.dataGroup)return F(24,!1,this.series.chart),!1}),R(B,"afterSetOptions",v),R(B,"destroy",E),k(u,{applyGrouping:C,destroyGroupedData:E,generatePoints:g,getDGApproximation:w,groupData:m}))},groupData:m}}),$(b,"Extensions/DataGrouping/DataGrouping.js",[b["Extensions/DataGrouping/DataGroupingAxisComposition.js"],b["Extensions/DataGrouping/DataGroupingDefaults.js"],b["Extensions/DataGrouping/DataGroupingSeriesComposition.js"],b["Core/Templating.js"],b["Core/Globals.js"],b["Core/Utilities.js"]],function(D,N,H,Y,_,Z){let{format:L}=Y,{composed:R}=_,{addEvent:I,extend:F,isNumber:k,pick:M,pushUnique:S}=Z;function z(x){let C=this.chart,E=C.time,g=x.labelConfig,w=g.series,m=g.point,v=w.options,B=w.tooltipOptions,u=v.dataGrouping,p=w.xAxis,O=B.xDateFormat,r,o,i,s,n,t=B[x.isFooter?"footerFormat":"headerFormat"];if(p&&p.options.type==="datetime"&&u&&k(g.key)){o=w.currentDataGrouping,i=u.dateTimeLabelFormats||N.common.dateTimeLabelFormats,o?(s=i[o.unitName],o.count===1?O=s[0]:(O=s[1],r=s[2])):!O&&i&&p.dateTime&&(O=p.dateTime.getXDateFormat(g.x,B.dateTimeLabelFormats));let e=M(w.groupMap?.[m.index].groupStart,g.key),a=e+o?.totalRange-1;n=E.dateFormat(O,e),r&&(n+=E.dateFormat(r,a)),w.chart.styledMode&&(t=this.styledModeFormat(t)),x.text=L(t,{point:F(g.point,{key:n}),series:w},C),x.preventDefault()}}return{compose:function(x,C,E){D.compose(x),H.compose(C),E&&S(R,"DataGrouping")&&I(E,"headerFormatter",z)},groupData:H.groupData}}),$(b,"masters/modules/datagrouping.src.js",[b["Core/Globals.js"],b["Extensions/DataGrouping/ApproximationDefaults.js"],b["Extensions/DataGrouping/ApproximationRegistry.js"],b["Extensions/DataGrouping/DataGrouping.js"]],function(D,N,H,Y){return D.dataGrouping=D.dataGrouping||{},D.dataGrouping.approximationDefaults=D.dataGrouping.approximationDefaults||N,D.dataGrouping.approximations=D.dataGrouping.approximations||H,Y.compose(D.Axis,D.Series,D.Tooltip),D}),$(b,"Extensions/Annotations/NavigationBindingsUtilities.js",[b["Core/Utilities.js"]],function(D){let{defined:N,isNumber:H,pick:Y}=D,_={backgroundColor:"string",borderColor:"string",borderRadius:"string",color:"string",fill:"string",fontSize:"string",labels:"string",name:"string",stroke:"string",title:"string"};return{annotationsFieldsTypes:_,getAssignedAxis:function(Z){return Z.filter(L=>{let R=L.axis.getExtremes(),I=R.min,F=R.max,k=Y(L.axis.minPointOffset,0);return H(I)&&H(F)&&L.value>=I-k&&L.value<=F+k&&!L.axis.options.isInternal})[0]},getFieldType:function(Z,L){let R=_[Z],I=typeof L;return N(R)&&(I=R),{string:"text",number:"number",boolean:"checkbox"}[I]}}}),$(b,"Extensions/MouseWheelZoom/MouseWheelZoom.js",[b["Core/Utilities.js"],b["Extensions/Annotations/NavigationBindingsUtilities.js"]],function(D,N){let H,{addEvent:Y,isObject:_,pick:Z,defined:L,merge:R}=D,{getAssignedAxis:I}=N,F=[],k={enabled:!0,sensitivity:1.1},M=x=>(_(x)||(x={enabled:x??!0}),R(k,x)),S=function(x,C,E,g,w,m,v){let B=Z(v.type,x.zooming.type,""),u=[];B==="x"?u=E:B==="y"?u=g:B==="xy"&&(u=x.axes);let p=x.transform({axes:u,to:{x:w-5,y:m-5,width:10,height:10},from:{x:w-5*C,y:m-5*C,width:10*C,height:10*C},trigger:"mousewheel"});return p&&(L(H)&&clearTimeout(H),H=setTimeout(()=>{x.pointer?.drop()},400)),p};function z(){let x=M(this.zooming.mouseWheel);x.enabled&&Y(this.container,"wheel",C=>{C=this.pointer?.normalize(C)||C;let{pointer:E}=this,g=E&&!E.inClass(C.target,"highcharts-no-mousewheel");if(this.isInsidePlot(C.chartX-this.plotLeft,C.chartY-this.plotTop)&&g){let w=x.sensitivity||1.1,m=C.detail||(C.deltaY||0)/120,v=I(E.getCoordinates(C).xAxis),B=I(E.getCoordinates(C).yAxis);
1S(this,Math.pow(w,m),v?[v.axis]:this.xAxis,B?[B.axis]:this.yAxis,C.chartX,C.chartY,x)&&C.preventDefault?.()}})}return{compose:function(x){F.indexOf(x)===-1&&(F.push(x),Y(x,"afterGetContainer",z))}}}),$(b,"masters/modules/mouse-wheel-zoom.src.js",[b["Core/Globals.js"],b["Extensions/MouseWheelZoom/MouseWheelZoom.js"]],function(D,N){return D.MouseWheelZoom=D.MouseWheelZoom||N,D.MouseWheelZoom.compose(D.Chart),D}),$(b,"masters/modules/stock.src.js",[b["Core/Globals.js"],b["Series/DataModifyComposition.js"],b["Stock/Navigator/Navigator.js"],b["Core/Axis/OrdinalAxis.js"],b["Stock/RangeSelector/RangeSelector.js"],b["Stock/Scrollbar/Scrollbar.js"],b["Core/Chart/StockChart.js"],b["Series/OHLC/OHLCSeries.js"],b["Series/Flags/FlagsSeries.js"]],function(D,N,H,Y,_,Z,L,R,I){return D.Navigator=D.Navigator||H,D.OrdinalAxis=D.OrdinalAxis||Y,D.RangeSelector=D.RangeSelector||_,D.Scrollbar=D.Scrollbar||Z,D.stockChart=D.stockChart||L.stockChart,D.StockChart=D.StockChart||D.stockChart,D.extend(D.StockChart,L),N.compose(D.Series,D.Axis,D.Point),I.compose(D.Renderer),R.compose(D.Series),D.Navigator.compose(D.Chart,D.Axis,D.Series),D.OrdinalAxis.compose(D.Axis,D.Series,D.Chart),D.RangeSelector.compose(D.Axis,D.Chart),D.Scrollbar.compose(D.Axis),D.StockChart.compose(D.Chart,D.Axis,D.Series,D.SVGRenderer),D})})})(ut)),ut.exports}var xt=vt();const yt=mt(xt),St=bt({__proto__:null,default:yt},[xt]);export{St as s}; 2//# sourceMappingURL=D1kJZX4W.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.