(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[17036],{353336:t=>{t.exports={fade:"fade-zUA5953i",hidden:"hidden-zUA5953i"}},411153:(t,e,i)=>{"use strict";function s(t){return t.getElementsByTagName("div").item(0)?.getElementsByTagName("table").item(0)?.getElementsByTagName("tr").item(0)?.getElementsByTagName("td").item(1)?.getElementsByTagName("div").item(0)??null}i.d(e,{getChartLayoutContainer:()=>s})},598367:(t,e,i)=>{"use strict";i.d(e,{defaultVolumeOptions:()=>r});var s=i(336748),a=i(534328);const r={scaleMargins:{top:.8,bottom:0},priceScaleId:"overlay",upColor:(0,a.applyTransparency)(s.colorsPalette["color-minty-green-500"],50),downColor:(0,a.applyTransparency)(s.colorsPalette["color-ripe-red-500"],50),visible:!1,lastValueVisible:!1,priceLineVisible:!1}},195317:(t,e,i)=>{"use strict";i.d(e,{MiniChartPlot:()=>l});var s=i(998034),a=i(132565),r=i(584785),o=i(535422),n=i(306543),h=i(293659);class l extends h.MiniChartPlotBase{constructor(t,e,i,a,r,o){super(t,e,i,r),this._seriesDataSource=null,this._cachedData=null,this._studyPlots=a,this._options=r,this._horzMargins=(0,s.default)({},h.seriesHorzMarginsDefaults,e.horzMargins),o&&this._loadCache(o)}destroy(){this._seriesDataSource?.destroy(),super.destroy()}updateHorzMargins(t){this._horzMargins=(0,s.default)(this._horzMargins,t),this._miniChart.fitContent()}reloadCache(t){this._cache=t,t?this._loadCache(t):(this._minBarIndex=null,this._maxBarIndex=null,this._cachedData=null,this._onData().then((()=>{this.fitContent()})))}requestData(){const t=this._getSeriesDataSource();this._status.setValue(0),this._noData.setValue(null),t.modifySeries(this.extendedSymbol(),(0,n.getServerInterval)(this.resolution()),this._miniChart.timeframe().value()),t.isStarted()||t.start()}clearSourceData(){this._seriesDataSource?.clearData(),this._studyPlots().forEach((t=>t.clearSourceData()))}moveSourceData(t){this._seriesDataSource?.moveData(t)}onTickmarksAdded(t,e){const i=this.maxBarIndex();this._isLastSessionInterval.value()&&null!==i&&i>=t&&i<=e&&(this.updateData(!1,!0),this.fitContent())}disconnect(){this._seriesDataSource?.stop()}isConnected(){return Boolean(this._seriesDataSource?.isStarted())}clearData(){if(super.clearData(),this._minBarIndex=null,this._maxBarIndex=null,null!==this._seriesDataSource&&(this._seriesDataSource.stop(),this.clearSourceData()),this._cache){const{minBarIndex:t,maxBarIndex:e,symbolInfo:i}=this._cache;this._minBarIndex=t,this._maxBarIndex=e,i&&(this._symbolInfo=i,this._initBarBuilder(i).then((()=>{this._isDestroyed.value()||this._onData().then((()=>{this.fitContent()}))})))}}seriesDataSource(){return this._getSeriesDataSource()}firstBar(){return(0,h.isTimePointIndex)(this._minBarIndex)?this._bars().search(this._minBarIndex):this._bars().first()}lastBar(){return(0,h.isTimePointIndex)(this._maxBarIndex)?this._bars().search(this._maxBarIndex,r.PlotRowSearchMode.NearestLeft):this._bars().last()}cacheData(){const t=this._seriesDataSource?.data()?.clone(),e=this._symbolInfo,i=this._minBarIndex,s=this._maxBarIndex ;return t&&null!==e&&null!==i&&null!==s?{data:t,symbolInfo:e,minBarIndex:i,maxBarIndex:s}:null}fitContent(){if(null===this._dataLengthInfo||0===this._dataLengthInfo.history)return;const{history:t,realtime:e,whitespaces:i,lastBarTime:s,fixLeftEdgeUntil:a=0}=this._dataLengthInfo,r=this._miniChart.widget(),o=r.paneSize().width;if(0===o)return;const{leftLogical:n,rightLogical:h,leftPx:l,rightPx:c}=this._horzMargins;let m=this._fitContentLeftIndex()-n-(null===s||a>=s?0:e),d=t+h+i+e;if(0!==l){m-=l/((o-l)/(d-m+1))}if(0!==c){d+=c/((o-c)/(d-m+1))}d=Math.max(m,d),r.timeScale().setVisibleLogicalRange({from:m,to:d}),r.timeScale().applyOptions({lockVisibleTimeRangeOnResize:!0})}_fitContentLeftIndex(){return 0}_updateSeriesOptions(t){super._updateSeriesOptions(t),t.horzMargins&&this.updateHorzMargins(t.horzMargins)}_isMainPlot(){return!0}_dataUpdated(t,e,i){if(super._dataUpdated(t,e,i),!this._isLastSessionInterval.value()||!this._miniChart.supportRealtimeUpdates()||!i)return;const s=i.lastBarSession;0!==s&&1!==s||2!==e.lastBarSession||Promise.resolve().then((()=>{this._miniChart.setTimeframe(this._miniChart.timeframe().value(),!1,!0)}))}_onChartStyleChanged(){super._onChartStyleChanged(),this._studyPlots().forEach((t=>t.updateSeriesOptions({chartType:this._currentSeriesOptions.chartType})))}_beforeDataReady(){super._beforeDataReady(),this._studyPlots().forEach((t=>t.deleteView()))}_getSeriesDataSource(){if(null===this._seriesDataSource){const t=this._seriesDataSource=new o.SeriesDataSource(this.chartSession(),"s"),e=t.dataEvents();e.symbolResolved().subscribe(this,this._onSymbolResolved),e.symbolNotPermitted().subscribe(this,this._onSymbolNotPermitted),e.symbolGroupNotPermitted().subscribe(this,this._onSymbolGroupNotPermitted),e.intradaySpreadNotPermitted().subscribe(this,this._onIntradaySpreadNotPermitted),e.symbolInvalid().subscribe(this,this._onSymbolInvalid),e.symbolError().subscribe(this,this._onSymbolError),e.intradayExchangeNotPermitted().subscribe(this,this._onResolutionOrExchangeNotPermittedError),e.customIntervalNotPermitted().subscribe(this,this._onResolutionOrExchangeNotPermittedError),e.completed().subscribe(this,this._onDataCompleted),e.seriesError().subscribe(this,this._onDataError),e.seriesTimeFrame().subscribe(this,this._onTimeFrame),e.dataUpdated().subscribe(this,this._onDataInternal),e.created().subscribe(null,(()=>performance.mark("RFD",{detail:"Request first data"})),!0),e.created().subscribe(null,(()=>t.setFutureTickmarksMode("full_single_session"))),e.dataUpdated().subscribe(null,(()=>{performance.mark("FDR",{detail:"First data response"}),performance.measure("Response idle","RFD","FDR")}),!0)}return this._seriesDataSource}_bars(){return this._cachedData?this._cachedData.seriesData.bars():this._seriesDataSource?.data().bars()??new a.PlotList}_onTimeFrame(t,e){this._cachedData||(this._minBarIndex=t,this._maxBarIndex=e),this.updateData(!1),this._studyPlots().forEach((t=>t.updateData(!1,!0)))}_onDataCompleted(){this._cachedData&&(this._cachedData=null),super._onDataCompleted(),this.updateData(!1,!0), this.fitContent()}_onDataInternal(t,e,i){this._onData(e?void 0:i?.index)}async _loadCache(t){const{data:e,symbolInfo:i,minBarIndex:s,maxBarIndex:a}=t;this._minBarIndex=s,this._maxBarIndex=a,this._cachedData={symbol:this.extendedSymbol(),resolution:this.resolution(),timeFrame:this._miniChart.timeframe().value(),seriesData:e},this._symbolInfo=i;const r=await this._initBarBuilder(i);!this._isDestroyed.value()&&this._symbolInfo&&(this._symbolInfo!==i&&r.update(this._symbolInfo),await this._onData(),this._status.setValue(3),this.fitContent())}}},254688:(t,e,i)=>{"use strict";i.d(e,{LightweightMiniChart:()=>$});var s=i(305152),a=i(998034),r=i(650151),o=i(790188),n=i(735566),h=i(444372),l=i(603801),c=i(423623),m=i(981191),d=i(477786),u=i(941285),_=i(985841),p=i(500874),f=i(67231),g=i(598367),b=i(195317);const y=(0,s.defaultHorzScaleBehavior)();class S extends y{constructor(){super(...arguments),this._lastHash=""}shouldResetTickmarkLabels(t){const e=this.calculateItemsHash(t),i=e!==this._lastHash;return this._lastHash=e,i}calculateItemsHash(t){return t.reduce(((t,e)=>t+e.index),"")}}var v=i(547465),T=i(862150),D=i(820028),C=i(751094),F=i(411153),w=i(133691),P=i(353336);const k=(0,n.getLogger)("Chart.MiniChart"),M={value:"12M",type:"period-back"},x={top:.01,bottom:.01},I={chartType:"area",lineWidth:2,priceLineVisible:!1,crosshairMarkerVisible:!1,lastValueVisible:!1,scaleMargins:x},O={lineWidth:2,priceLineVisible:!1,crosshairMarkerVisible:!1,lastValueVisible:!1,scaleMargins:x},R={chartType:"baseline"},L={priceLineVisible:!1,lastValueVisible:!1,scaleMargins:x},V={priceLineVisible:!1,lastValueVisible:!1,scaleMargins:x},E={scaleMargins:x},z={visible:!1,color:o.colorsPalette["color-tv-blue-500"],lineWidth:1,length:9,lastValueVisible:!1,priceLineVisible:!1},B={spinner:{visible:!1,width:4,color:o.colorsPalette["color-brand"]},fade:{visible:!1,waitForStudyPlots:"none"},clearDataOnSymbolChange:!0,clearDataOnTimeframeChange:!0},H={onFirstData:null,description:"",showDescription:!0,noDataTimeout:15e3,timeframe:{visible:!1,value:M},chartOptions:{minWidth:0,minHeight:0,chart:{grid:{horzLines:{color:"rgba(120, 123, 134, 0.1)",visible:!1},vertLines:{color:"#ffffff",visible:!1}},crosshair:{horzLine:{visible:!1,style:3,width:1,labelVisible:!1,labelBackgroundColor:"#0f0f0f"},vertLine:{visible:!1,style:3,width:1,labelVisible:!1,labelBackgroundColor:"#0f0f0f"}},layout:{fontFamily:"Trebuchet MS",fontSize:10,textColor:"#83888D",background:{type:s.ColorType.Solid,color:"transparent"},attributionLogo:!1},rightPriceScale:{visible:!0,borderVisible:!1,entireTextOnly:!0,mode:s.PriceScaleMode.Normal},leftPriceScale:{visible:!1,borderVisible:!1,entireTextOnly:!0,mode:s.PriceScaleMode.Normal},timeScale:{borderVisible:!1,timeVisible:!0,secondsVisible:!1,lockVisibleTimeRangeOnResize:!0},handleScale:!1,handleScroll:!1},series:I,volume:g.defaultVolumeOptions,ma:z,loading:B}},N={"1y":{value:"12M",type:"period-back"},"5y":{value:"60M",type:"period-back"},max:{value:"ALL",type:"period-back"}};function W(t,e,i,a,r,o){ return!!t.dayAndTimeTickMarkFixEnabled&&(a===s.TickMarkType.Time?function(t){return"time-range"!==t.type&&(t.value.endsWith("M")||t.value.endsWith("Y")||["YTD","ALL"].includes(t.value))}(e):!(!r||!o||a<=o)&&(a===s.TickMarkType.DayOfMonth&&(i.getMonth()!==r.getMonth()||i.getFullYear()!==r.getFullYear())))}const U=(()=>{let t=null,e=null,i=null;return(a,r,o,n,h,c)=>{const m={},d=new Date(1e3*n);i&&(0,l.areEqualTimeFrames)(i,o)||(t=null,e=null,i=o);let u=!1;if(r){u=(r.suppressFn??W)(r,o,d,h,t,e)}if(t=d,e=h,u)return"";switch(h){case s.TickMarkType.Year:r?.hideYearsTickMarks?m.month="short":m.year="numeric";break;case s.TickMarkType.Month:m.month="short";break;case s.TickMarkType.DayOfMonth:m.day="numeric";break;case s.TickMarkType.Time:m.hour12="12-hours"===a,m.hour="2-digit",m.minute="2-digit";break;case s.TickMarkType.TimeWithSeconds:m.hour12="12-hours"===a,m.hour="2-digit",m.minute="2-digit",m.second="2-digit"}const _=new Date(d.getUTCFullYear(),d.getUTCMonth(),d.getUTCDate(),d.getUTCHours(),d.getUTCMinutes(),d.getUTCSeconds(),d.getUTCMilliseconds());return t=d,e=h,_.toLocaleString(c,m)}})();function A(t,e){return t.series().seriesOrder()-e.series().seriesOrder()}"undefined"!=typeof window&&(window.lightweightMiniChartInstances=window.lightweightMiniChartInstances||{});const q="undefined"!=typeof window?window.lightweightMiniChartInstances:{};let Z=0;const Y={acquire:()=>(0,T.ownership)(new c.ChartSession(window.ChartApiInstance,!0))};class ${constructor(t,e,i,r){this._isDestroyed=!1,this._studyPlotsOrderInvalidated=!0,this._studyPlots=[],this._elTimeframe=null,this._timeframeView=null,this._tickmarks=new Map,this._cachedTickmarks=new Map,this._chartSession=null,this._chartSessionConnected=null,this._connectCallback=null,this._connected=!1,this._loadErrorTimeout=null,this._isLoading=!1,this._spinner=null,this._crosshairMoveHandlers=new Map,this._atomicUpdateIsGoing=!1,this._seriesUpDownColors={},this._isDWMResolution=!1,this._updateTimerId=null,this._width=new D.WatchedValue(0),this._height=new D.WatchedValue(0),this._status=new D.WatchedValue("loading"),this._timeScaleSizeChanged=new v.Delegate,this._onPlotStatusChanged=()=>{const t=this._mainPlot.status().value(),e=this._studyPlots.every((t=>0!==t.status().value())),i=e||this._studyPlots.some((t=>0!==t.status().value()&&t.isVisible().value()));switch(t){case 3:e&&this._onPlotsDataReady();break;case 2:this._onMainPlotDataError();break;case 1:this._onMainPlotSymbolResolvingError()}const s=this._options.chartOptions.loading.fade;if(s.visible)switch(this._cachedTickmarks.size>0||t){case 0:this._innerContainer.classList.add(P.fade);break;case 2:case 1:case!0:this._innerContainer.classList.remove(P.fade);break;case 3:("none"===s.waitForStudyPlots||"all"===s.waitForStudyPlots&&e||"any"===s.waitForStudyPlots&&i)&&this._innerContainer.classList.remove(P.fade)}this._updateStatus()},this._timeFrameOptions=i?.timeframe?.options??(0,m.getMiniTimeFrameOptions)(),this._options=(0,a.default)({},H,i),this._chartSessionProvider=r??Y,this._container=e, this._innerContainer=e.ownerDocument.createElement("div"),this._innerContainer.style.width="100%",this._innerContainer.style.height="100%",this._innerContainer.style.minHeight="inherit",this._innerContainer.style.minWidth="inherit",e.appendChild(this._innerContainer),this._widget=(0,s.createChartEx)(this._innerContainer,new S,{...this._options.chartOptions?.chart,autoSize:!0});const o=this._widget.panes()[0];this._textWatermark=(0,s.createTextWatermark)(o,{visible:!1}),this._timeframe=new C.WatchedObject(this._options.timeframe.value),this._mainPlot=this._createMainPlot(t),this.setTimeframe(this._timeframe.value(),!0);const n=(0,w.convertTimeFrameToStr)(this._timeframe.value()),h=this._options.cache?.loadData(n);h?(this._cachedTickmarks=h.tickmarks,this._tickmarks=new Map(this._cachedTickmarks),this._createTooltipDateFormatter()):this.connect(),this._parentResizeObserver=new ResizeObserver((t=>{this._mainPlot.fitContent();for(const e of t)if(e.contentBoxSize){const t=e.contentBoxSize[0];this._width.setValue(t.inlineSize),this._height.setValue(t.blockSize)}})),this._parentResizeObserver.observe(e);const l=e.getBoundingClientRect();this._width.setValue(l.width),this._height.setValue(l.height),this._createLegend(),this._updateSeriesUpDownColors(),this._boundTimeScaleSizeChangedHandler=this._timeScaleSizeChangedHandler.bind(this),this._widget.timeScale().subscribeSizeChange(this._boundTimeScaleSizeChangedHandler),Z+=1,this._innerContainer.dataset.lightweightMiniChartId=`${Z}`,q[this._innerContainer.dataset.lightweightMiniChartId]=this}async takeScreenshot(){const{takeScreenshot:t}=await Promise.all([i.e(5468),i.e(94231),i.e(85182),i.e(67738),i.e(6633)]).then(i.bind(i,748231));return t(this.widget(),this.mainPlot().symbolInfo())}screenshotSymbol(){return this.mainPlot().symbol()}container(){return this._container}innerContainer(){return this._innerContainer}getChartContainer(){return this._container?(0,F.getChartLayoutContainer)(this._container):null}width(){return this._width.readonly()}height(){return this._height.readonly()}status(){return this._status.readonly()}seriesDataSource(){return this._mainPlot.seriesDataSource()}supportRealtimeUpdates(){return Boolean(this._options.doNotDisconnectOnDataReady)}connect(t){const e=(0,w.convertTimeFrameToStr)(this._timeframe.value());(0,r.assert)(!this._options.cache?.loadData(e),"Chart can not to connect if there is an existing cache data"),"function"==typeof t&&(this._connectCallback=t),this._clearReconnectionTimeout(),this.connected()||(this._showLoading(),this._mainPlot.clearData(),this._studyPlots.forEach((t=>t.clearData())),this._chartSession||(this._chartSession=this._chartSessionProvider.acquire(),this._chartSession.criticalError().subscribe(this,this._onChartSessionCriticalError),this._chartSessionConnected=this._chartSession.isConnected().spawn(),this._chartSessionConnected.subscribe(this._onChartSessionIsConnectedChanged.bind(this),{callWithLast:!0})),this._chartSession.connect(this._onData.bind(this)),this._chartSession.isConnected().value()&&this._requestData(), this._clearNoDataTimeout(),this._createNoDataTimeout())}disconnect(){this._studyPlots.forEach((t=>t.disconnect())),this._mainPlot.disconnect(),this._chartSession?.disconnect(),this._connected=!1,this._clearNoDataTimeout()}connected(){return Boolean(this._connected&&this._chartSession&&this._chartSession.isConnected().value())}setTimeframe(t,e,i){const s=this._timeframe.value();let a=t;const r="period-back"===a.type?N[a.value]:void 0;void 0!==r&&(a=r);const o=this._timeframeIsAvailable(a)?a:M;this._options.timeframe.currentTimeframeCallback&&this._options.timeframe.currentTimeframeCallback(o),this._timeframe.setValue(o);const n=(0,w.convertTimeFrameToStr)(this._timeframe.value());this._activeRange=n,this._timeframeView&&this._options.timeframe.visible&&this._timeframeView.update({activeRange:this._activeRange});const h=this._options.cache?.loadData(n);if(h)return this._cachedTickmarks=h.tickmarks,this._tickmarks=new Map(this._cachedTickmarks),this._createTooltipDateFormatter(),void this._mainPlot.reloadCache(h.mainPlot);this._cachedTickmarks.size&&(this._cachedTickmarks=new Map,this._tickmarks=new Map,this._mainPlot.reloadCache(),this._mainPlot.clearData()),(!e&&s!==this._timeframe.value()||i)&&this._requestDataOnTimeframeChange()}chartSession(){return(0,r.ensureNotNull)(this._chartSession)}widget(){return this._widget}timeframe(){return this._timeframe.readonly()}setTimeFrameOptions(t,e){if(t===this._timeFrameOptions)return;const i=this.resolution();this._timeFrameOptions=t,e?this.setTimeframe(e):this.resolution()!==i&&this._requestDataOnTimeframeChange(),this._initTimeframesRenderer()}timeFrameOptions(){return this._timeFrameOptions}resolution(){const t=this._timeFrameOptions.find((t=>(0,l.areEqualTimeFrames)(t.value,this.timeframe().value())));return(0,r.ensureDefined)(t?.targetResolution)}changeSymbol(t,e){void 0!==e&&this._updateSeriesOptions(e),this._options.chartOptions.loading.clearDataOnSymbolChange&&(this._mainPlot.clearData(),this._mainPlot.deleteView(),this._studyPlots.forEach((t=>t.clearData())),this._studyPlots.forEach((t=>t.deleteView()))),this._mainPlot.setSymbol(t,this._options.chartOptions.series),this._mainPlot.requestData(),this._studyPlots.forEach((t=>t.requestData())),this.connect()}updateSeriesOptions(t){this._atomicUpdateIsGoing=!0,this._updateSeriesOptions(t),this._updateSeriesUpDownColors(),this._mainPlot.updateSeriesOptions(t),this._atomicUpdateIsGoing=!1}getSeriesOptions(){return this._mainPlot.currentSeriesOptions()}updateAdditionalSeriesOptions(t,e){this._studyPlots[e].updateSeriesOptions(t)}showMessage(t){this._hideLoading(),this._mainPlot.deleteView(),this._studyPlots.forEach((t=>t.deleteView())),this._textWatermark.applyOptions?.({visible:!0,lines:[{color:"#83888D",text:t,fontSize:12}]})}hideMessage(){this._textWatermark.applyOptions?.({visible:!1,lines:[]})}from(){const t=this._timeFrameOptions.find((t=>(0,l.areEqualTimeFrames)(t.value,this.timeframe().value())));return[t?.from]}enable(t){this.connect(t)}disable(){this.disconnect()}destroy(){ this._boundTimeScaleSizeChangedHandler&&(this._widget.timeScale().unsubscribeSizeChange(this._boundTimeScaleSizeChangedHandler),this._boundTimeScaleSizeChangedHandler=void 0),this._parentResizeObserver.disconnect(),this.disconnect(),this._widget.remove(),this._mainPlot.symbolResolved().unsubscribeAll(null),this._mainPlot.timeFrameInvalidated().unsubscribeAll(this),this._mainPlot.destroy(),this._studyPlots.forEach((t=>t.destroy())),this._timeframeView?.destroy(),this._chartSessionConnected?.destroy(),this._chartSession?.criticalError().unsubscribeAll(this),this._chartSession?.release(),delete q[this._innerContainer.dataset.lightweightMiniChartId],this._innerContainer.remove(),this._isDestroyed=!0}updateAvailableTimeframes(){this._mainPlot.symbolInfo()?(this._timeframeView&&this._options.timeframe.visible&&this._timeframeView.update({ranges:this._getAvailableTimeFrames()}),this.setTimeframe(this._timeframe.value())):k.logWarn("Updating available resolutions without full symbol info")}mainPlot(){return this._mainPlot}fitContent(){this._mainPlot.fitContent()}hasStudyPlots(){return this._studyPlots.length>0}studyPlots(){return this._studyPlotsOrderInvalidated&&(this._studyPlots.sort(A),this._studyPlotsOrderInvalidated=!1),this._studyPlots}addStudyPlot(t){return this._addStudyPlot(t),{noData:t.noData(),status:t.status(),remove:()=>{this._removeStudyPlot(t)},symbol:()=>t.symbol(),extendedSymbol:()=>t.extendedSymbol(),options:()=>t.currentSeriesOptions()}}indexToTime(t){const e=this._tickmarks.size?this._tickmarks:this._cachedTickmarks;return e.get(t)?.time??null}subscribeCrosshairMove(t){const e=e=>{this._atomicUpdateIsGoing||t(e)};this._crosshairMoveHandlers.set(t,e),this._widget.subscribeCrosshairMove(e)}unsubscribeCrosshairMove(t){const e=this._crosshairMoveHandlers.get(t);e&&(this._crosshairMoveHandlers.delete(t),this._widget.unsubscribeCrosshairMove(e))}upDownColors(){return this._seriesUpDownColors}dateTimeFormatter(){return this._dateTimeFormatter}isDWMResolution(){return this._isDWMResolution}updateChartRightMarginAccordingToTitles(){const t=this.mainPlot().currentSeriesOptions().horzMargins?.rightPx;if(t)this.mainPlot().updateHorzMargins({rightPx:t});else{const t=[this.mainPlot(),...this._studyPlots];let e=0;for(const i of t)for(const t of i.titles())e=Math.max(e,t.length);this.mainPlot().updateHorzMargins({rightPx:12*e})}this.mainPlot().fitContent()}activeRange(){return this._activeRange}timeScaleSizeChanged(){return this._timeScaleSizeChanged}_getChartPlotClass(){return b.MiniChartPlot}_createMainPlot(t){const e=(0,w.convertTimeFrameToStr)(this._timeframe.value()),i=new(this._getChartPlotClass())(this,this._options.chartOptions.series,this._options.chartOptions.volume,(()=>this._studyPlots),this._options.mainPlotOptions,this._options.cache?.loadData(e)?.mainPlot);return i.setSymbol(t),i.symbolResolved().subscribe(this,this._onSymbolResolved),i.timeFrameInvalidated().subscribe(this,this._onTimeFrameInvalidated),i.status().subscribe(this._onPlotStatusChanged),i}_onPlotsDataReady(){ "function"==typeof this._options.onFirstData&&(this._options.onFirstData(),this._options.onFirstData=null),this._hideLoading(),this.hideMessage(),this._clearNoDataTimeout(),this._options.doNotDisconnectOnDataReady||this.disconnect(),this._createReconnectionTimeout(),this._saveCache()}_addStudyPlot(t){this._studyPlots.push(t),t.status().subscribe(this._onPlotStatusChanged),this.connected()?t.requestData():this.connect(),t.forcePercentageMode()&&this._mainPlot.switchToPercentageScaleMode(),this._updateStatus(),this._studyPlotsOrderInvalidated=!0}_removeStudyPlot(t){const e=this._studyPlots.indexOf(t);(0,r.assert)(-1!==e),this._studyPlots.splice(e,1),t.status().unsubscribe(this._onPlotStatusChanged),t.deleteView(),t.clearData(),t.destroy(),this._autoRestoreOriginalScaleMode()&&this._studyPlots.every((t=>!t.forcePercentageMode()))&&this._mainPlot.restoreOriginalScaleMode(),this._studyPlotsOrderInvalidated=!0,this._updateStatus()}_autoRestoreOriginalScaleMode(){return!0}_updateSeriesUpDownColors(){const t=this._options.chartOptions.series;switch(t.chartType){case"candlesticks":this._seriesUpDownColors.Candlestick={up:t.borderUpColor??t.upColor,down:t.borderDownColor??t.downColor};break;case"bars":this._seriesUpDownColors.Bar={up:t.upColor,down:t.downColor};break;case"histogram":this._seriesUpDownColors.Histogram={up:t.upColor||t.color,down:t.downColor||t.color}}}_updateSeriesOptions(t){this._options.chartOptions.series=function(t){let e;switch(t.chartType??"area"){case"bars":e=L;break;case"candlesticks":e=V;break;case"area":e=I;break;case"line":e=O;break;case"histogram":e=E;break;case"baseline":e=R}return(0,a.default)({},e,t)}(t)}_saveCache(){const{cache:t}=this._options;if(!t)return;const e=this._prepareCacheData(),i=(0,w.convertTimeFrameToStr)(this._timeframe.value());e&&(t.saveData(i,e),this._cachedTickmarks=e.tickmarks)}_prepareCacheData(){if(!this._tickmarks.size)return null;const t=this._mainPlot.cacheData();return t?{mainPlot:t,tickmarks:new Map(this._tickmarks)}:null}_onMainPlotDataError(){this._hideLoading(),this.showMessage(h.t(null,void 0,i(57335))),this._clearNoDataTimeout(),this.disconnect()}_onMainPlotSymbolResolvingError(){this._hideLoading(),this.showMessage(h.t(null,void 0,i(653273))),this._clearNoDataTimeout(),this.disconnect()}_createReconnectionTimeout(){if(this._options.doNotDisconnectOnDataReady)return;const t=this._options.updateTimeout;void 0!==t&&t>0&&(this._updateTimerId=setTimeout((()=>{this._updateTimerId=null,this.connected()?this._requestData():this.connect()}),t))}_clearReconnectionTimeout(){null!==this._updateTimerId&&(clearInterval(this._updateTimerId),this._updateTimerId=null)}_createNoDataTimeout(){const t=this._options.noDataTimeout;void 0!==t&&t>0&&(this._loadErrorTimeout=setTimeout((()=>{this.showMessage(h.t(null,void 0,i(653273))),"function"==typeof this._options.onFirstData&&(this._options.onFirstData(),this._options.onFirstData=null)}),t))}_clearNoDataTimeout(){this._loadErrorTimeout&&(clearTimeout(this._loadErrorTimeout),this._loadErrorTimeout=null)}_initTimeframesRenderer(){ if(!this._options.timeframe.visible)return;{const t=this._timeFrameOptions.length<2;if(this._timeframeView?.update({hidden:t}),(this._elTimeframe??this._options.timeframe.container)?.classList.toggle(P.hidden,t),t)return}if(this._elTimeframe)return;this._options.timeframe.container?this._elTimeframe=this._options.timeframe.container:(this._elTimeframe=document.createElement("div"),this._container.appendChild(this._elTimeframe));const t=(t,e)=>{const i=this._timeFrameOptions.length<2,s=(0,r.ensureNotNull)(this._elTimeframe);s.classList.toggle(P.hidden,i),this._timeframeView=new t.TimeFrameViewRenderer(s,{name:"minichart_timeframe",activeRange:this._activeRange,ranges:this._getAvailableTimeFrames(),onSelectRange:t=>{this.setTimeframe({value:t,type:"period-back"})},size:this._options.timeframe.size,hidden:i,theme:e})};Promise.all([i.e(61171),i.e(72104),i.e(82321),i.e(31891)]).then(i.bind(i,957001)).then((e=>{(this._options.timeframe.getTheme||(()=>Promise.resolve(void 0)))().then((i=>t(e,i)))}))}_createLegend(){this._options.legend&&this._options.legend.visible&&Promise.all([i.e(80735),i.e(15169),i.e(84986),i.e(82321),i.e(42980)]).then(i.bind(i,718520)).then((t=>t.createLegend(this._options.legend.container,this._options.legend.items)))}_getAvailableTimeFrames(){const t=[];for(const e of this._timeFrameOptions){if(!this._timeframeIsAvailable(e.value))continue;const i=(0,w.convertTimeFrameToStr)(e.value);t.push({value:i,text:e.text,description:e.description})}return t}_timeframeIsAvailable(t){const e=this._timeFrameOptions.find((e=>(0,l.areEqualTimeFrames)(e.value,t)));if(!e)return!1;const i=this.mainPlot().symbolInfo();if(!i||i.pro_name!==this._mainPlot.symbol())return!0;if(i.has_intraday)return!0;return!d.Interval.parse(e.targetResolution).isIntraday()}_onChartSessionIsConnectedChanged(t){t!==this._connected&&(t?(this._connected=!0,"function"==typeof this._connectCallback&&this._connectCallback(),this._chartSession?.switchTimezone("Etc/UTC"),this._requestData()):(this._connected=!1,this._mainPlot.disconnect(),this._studyPlots.forEach((t=>t.disconnect()))))}_onChartSessionCriticalError(){this._connected=!1}_createTooltipDateFormatter(){const t=d.Interval.parse(this.resolution());let e;this._isDWMResolution=t.isDWM(),this._widget.timeScale().applyOptions({timeVisible:!this._isDWMResolution,secondsVisible:t.isSeconds()});const{dateFormat:i="dd MMM 'yy",timeHoursFormat:s="24-hours",suppressTickMarks:a}=this._options.chartOptions;e=this._isDWMResolution?new _.DateFormatter(i):new p.DateTimeFormatter({dateFormat:i,timeFormat:(0,f.getTimeFormatForInterval)(t,s)}),this._dateTimeFormatter=e,this._widget.applyOptions({localization:{timeFormatter:t=>e.format(new Date(1e3*t))},timeScale:{tickMarkFormatter:U.bind(null,s,a,this._timeframe.value())}}),this._widget.applyOptions({timeScale:{timeVisible:!d.Interval.parse(this._mainPlot.resolution()).isDWM()}})}_requestData(){this._createTooltipDateFormatter(),this._clearReconnectionTimeout(),this._mainPlot.requestData(),this._studyPlots.forEach((t=>t.requestData()))}_onData(t){ if(this._mainPlot.isConnected())switch(t.method){case"timescale_update":{const e=t.params;if(e.clear){this._tickmarks.clear(),this._mainPlot.clearSourceData();for(const t of this._studyPlots)t.clearSourceData()}if(e.index_diff.length>0){this._mainPlot.moveSourceData(e.index_diff);for(const t of this._studyPlots)t.moveSourceData(e.index_diff)}const i=e.marks;let s=1/0,a=-1/0;for(const t of i)this._tickmarks.has(t.index)||(s=Math.min(s,t.index),a=Math.max(a,t.index)),this._tickmarks.set(t.index,t);Number.isFinite(s)&&this._mainPlot.onTickmarksAdded(s,a),this._saveCache();break}}}_onSymbolResolved(){this.updateAvailableTimeframes(),this._initTimeframesRenderer()}_onTimeFrameInvalidated(){this._activeRange=void 0,this._timeframeView?.update({activeRange:void 0})}_showLoading(){if(this._isLoading)return;this.hideMessage();const t=this._options.chartOptions.loading;t.spinner.visible&&(null===this._spinner&&(this._spinner=new u.Spinner("mini").setStyle({color:t.spinner.color,width:t.spinner.width.toString(),zIndex:"10"})),this._spinner.spin(this._innerContainer)),t.fade.visible&&this._innerContainer.classList.add(P.fade),this._isLoading=!0}_hideLoading(){this._isLoading&&(this._spinner&&this._spinner.stop(),this._isLoading=!1)}_requestDataOnTimeframeChange(){this._options.chartOptions.loading.clearDataOnTimeframeChange&&(this._studyPlots.forEach((t=>t.clearData())),this._studyPlots.forEach((t=>t.deleteView())),this.mainPlot().clearData(),this.mainPlot().deleteView()),this.connected()?this._requestData():this.connect()}_updateStatus(){const t=[this._mainPlot.status().value(),...this._studyPlots.map((t=>t.status().value()))],e=t.every((t=>0!==t))?3===t[0]?"ready":"error":"loading";this._status.setValue(e)}_timeScaleSizeChangedHandler(t,e){this._timeScaleSizeChanged.fire(t,e)}}},603801:(t,e,i)=>{"use strict";var s,a;function r(t,e){return"period-back"===t.type&&"period-back"===e.type?t.value===e.value:"time-range"===t.type&&"time-range"===e.type&&(t.from===e.from&&t.to===e.to)}i.d(e,{areEqualTimeFrames:()=>r}),function(t){t.extractErrorReason=function(t){return t.params[1]}}(s||(s={})),function(t){t.PeriodBack="period-back",t.TimeRange="time-range"}(a||(a={}))},751094:(t,e,i)=>{"use strict";i.d(e,{WatchedObject:()=>s.WatchedObject});var s=i(158942)},985841:(t,e,i)=>{"use strict";i.d(e,{DateFormatter:()=>r});var s=i(191914),a=i(608571);class r{constructor(t="yyyy-MM-dd",e=!1,i="UTC"){this._dateFormatFunc=e?(0,a.getDateFormatWithWeekday)(t,i):a.dateFormatFunctions[t]}format(t){return s.customFormatters&&s.customFormatters.dateFormatter?s.customFormatters.dateFormatter.format(t):this._dateFormatFunc(t,!1)}formatLocal(t){return s.customFormatters.dateFormatter?s.customFormatters.dateFormatter.formatLocal?s.customFormatters.dateFormatter.formatLocal(t):s.customFormatters.dateFormatter.format(t):this._dateFormatFunc(t,!0)}parse(t){if(""===t)return{res:!1};let e=t ;return s.customFormatters&&s.customFormatters.dateFormatter&&!s.customFormatters.dateFormatter.parse&&console.warn("You need to provide a `parse` function as part of `dateFormatter`"),s.customFormatters&&s.customFormatters.dateFormatter&&s.customFormatters.dateFormatter.parse&&(e=String(s.customFormatters.dateFormatter.parse(t))),{res:!0,value:e}}}},500874:(t,e,i)=>{"use strict";i.d(e,{DateTimeFormatter:()=>o});var s=i(74752),a=i(985841);const r={dateFormat:"yyyy-MM-dd",withWeekday:!1,timeFormat:s.hourMinuteSecondFormat,dateTimeSeparator:" "};class o{constructor(t={}){const e=Object.assign({},r,t);this._dateFormatter=new a.DateFormatter(e.dateFormat,e.withWeekday,e.timezone),this._timeFormatter=new s.TimeFormatter(e.timeFormat),this._separator=e.dateTimeSeparator}format(t,e){const i=e?.dateTimeSeparator??this._separator;return`${this._dateFormatter.format(t)}${i}${this._timeFormatter.format(t)}`}formatLocal(t,e){const i=e?.dateTimeSeparator??this._separator;return`${this._dateFormatter.formatLocal(t)}${i}${this._timeFormatter.formatLocal(t)}`}}},253674:(t,e,i)=>{"use strict";i.d(e,{hourMinuteFormat:()=>o,hourMinuteNonZeroSecondFormat:()=>a,hourMinuteSecondFormat:()=>s,hourMinuteSecondMillisecFormat:()=>r,twelveHourMinuteFormat:()=>l,twelveHourMinuteNonZeroSecondFormat:()=>h,twelveHourMinuteSecondFormat:()=>n});const s="%h:%m:%s",a="%h:%m:%s+",r="%h:%m:%s.%ss+",o="%h:%m",n="%h:%m:%s %ampm",h="%h:%m:%s+ %ampm",l="%h:%m %ampm"},74752:(t,e,i)=>{"use strict";i.d(e,{TimeFormatter:()=>o,hourMinuteFormat:()=>r.hourMinuteFormat,hourMinuteNonZeroSecondFormat:()=>r.hourMinuteNonZeroSecondFormat,hourMinuteSecondFormat:()=>r.hourMinuteSecondFormat,hourMinuteSecondMillisecFormat:()=>r.hourMinuteSecondMillisecFormat,twelveHourMinuteFormat:()=>r.twelveHourMinuteFormat,twelveHourMinuteNonZeroSecondFormat:()=>r.twelveHourMinuteNonZeroSecondFormat,twelveHourMinuteSecondFormat:()=>r.twelveHourMinuteSecondFormat});var s=i(191914),a=i(909456),r=i(253674);class o{constructor(t){this._isTwelveHoursFormat=!1,this._valuesAndDelimeters=[];const e=t||r.hourMinuteSecondFormat,i=new RegExp("%h|%m|%s\\+|%ss\\+|%ss|%ampm|%s","g");let s=i.exec(e),a=0;for(;null!==s;){const t=s[0];"%ampm"===t&&(this._isTwelveHoursFormat=!0);const r=e.substring(a,s.index);""!==r&&this._valuesAndDelimeters.push(r),this._valuesAndDelimeters.push(t),a=s.index+t.length,s=i.exec(e)}}format(t){return s.customFormatters.timeFormatter?s.customFormatters.timeFormatter.format(t):this._formatTime(t,!1)}formatLocal(t){return s.customFormatters.timeFormatter?s.customFormatters.timeFormatter.formatLocal?s.customFormatters.timeFormatter.formatLocal(t):s.customFormatters.timeFormatter.format(t):this._formatTime(t,!0)}_formatTime(t,e){let i=e?t.getHours():t.getUTCHours();const s=e?t.getMinutes():t.getUTCMinutes(),r=e?t.getSeconds():t.getUTCSeconds(),o=e?t.getMilliseconds():t.getUTCMilliseconds();let n="";this._isTwelveHoursFormat&&(n=i>=12?"PM":"AM",i%=12,i=i||12);let h="",l=!1;for(let t=this._valuesAndDelimeters.length-1;t>=0;t--){const e=this._valuesAndDelimeters[t];let c;switch(e){ case"%h":c=(0,a.numberToStringWithLeadingZero)(i,2);break;case"%m":c=(0,a.numberToStringWithLeadingZero)(s,2);break;case"%s+":0!==r?c=(0,a.numberToStringWithLeadingZero)(r,2):(c="",l=!0);break;case"%s":c=(0,a.numberToStringWithLeadingZero)(r,2);break;case"%ss":c=(0,a.numberToStringWithLeadingZero)(o,3);break;case"%ss+":0!==o?c=(0,a.numberToStringWithLeadingZero)(o,3):(c="",l=!0);break;case"%ampm":c=n;break;default:if(l){l=!1;continue}c=e}h=c+h}return h}}},44049:(t,e,i)=>{"use strict";i.d(e,{AsyncResourceWrapper:()=>s});class s{constructor(t,e){this._destroyed=!1,this._callbacks=[],this._resource={pendingResource:t},this._destroyFn=e,t.then((t=>{if(this._destroyed)this._destroyFn?.(t);else{for(const e of this._callbacks)e(t);this._resource.resource=t}})).finally((()=>{this._callbacks=[]}))}destroy(){this._resource.resource&&this._destroyFn?.(this._resource.resource),this._resource={pendingResource:Promise.reject("Resource is destroyed").catch((()=>{}))},this._callbacks=[],this._destroyed=!0}callFunction(t){this._destroyed||(this._resource.resource?t(this._resource.resource):this._callbacks.push(t))}get(){return this._destroyed||!this._resource.resource?null:this._resource.resource}promise(){return this._resource.pendingResource}}}}]);