/*! * @license * TradingView Lightweight Charts™ v5.2.0 * Copyright (c) 2026 TradingView, Inc. * Licensed under Apache License 2.0 https://www.apache.org/licenses/LICENSE-2.0 */ import{size as t,bindCanvasElementBitmapSizeTo as i,equalSizes as n,tryCreateCanvasRenderingTarget2D as s}from"fancy-canvas";const e={title:"",visible:!0,hitTestTolerance:3,lastValueVisible:!0,priceLineVisible:!0,priceLineSource:0,priceLineWidth:1,priceLineColor:"",priceLineStyle:2,baseLineVisible:!0,baseLineWidth:1,baseLineColor:"#B2B5BE",baseLineStyle:0,priceFormat:{type:"price",precision:2,minMove:.01}};var r,h;function a(t,i){const n=function(t,i){switch(t){case 0:default:return[];case 1:return[i,i];case 2:return[2*i,2*i];case 3:return[6*i,6*i];case 4:return[i,4*i]}}(i,t.lineWidth);return t.setLineDash(n),n}function l(t,i,n,s){t.beginPath();const e=t.lineWidth%2?.5:0;t.moveTo(n,i+e),t.lineTo(s,i+e),t.stroke()}function o(t,i){if(!t)throw new Error("Assertion failed"+(i?": "+i:""))}function _(t){if(void 0===t)throw new Error("Value is undefined");return t}function u(t){if(null===t)throw new Error("Value is null");return t}function c(t){return u(_(t))}!function(t){t[t.Simple=0]="Simple",t[t.WithSteps=1]="WithSteps",t[t.Curved=2]="Curved"}(r||(r={})),function(t){t[t.Solid=0]="Solid",t[t.Dotted=1]="Dotted",t[t.Dashed=2]="Dashed",t[t.LargeDashed=3]="LargeDashed",t[t.SparseDotted=4]="SparseDotted"}(h||(h={}));class d{constructor(){this.t=[]}i(t,i,n){const s={h:t,l:i,o:!0===n};this.t.push(s)}_(t){const i=this.t.findIndex((i=>t===i.h));i>-1&&this.t.splice(i,1)}u(t){this.t=this.t.filter((i=>i.l!==t))}p(t,i,n){const s=[...this.t];this.t=this.t.filter((t=>!t.o)),s.forEach((s=>s.h(t,i,n)))}v(){return this.t.length>0}m(){this.t=[]}}function f(t,...i){for(const n of i)for(const i in n)void 0!==n[i]&&Object.prototype.hasOwnProperty.call(n,i)&&!["__proto__","constructor","prototype"].includes(i)&&("object"!=typeof n[i]||void 0===t[i]||Array.isArray(n[i])?t[i]=n[i]:f(t[i],n[i]));return t}function p(t){return"number"==typeof t&&isFinite(t)}function v(t){return"number"==typeof t&&t%1==0}function m(t){return"string"==typeof t}function w(t){return"boolean"==typeof t}function M(t){const i=t;if(!i||"object"!=typeof i)return i;let n,s,e;for(s in n=Array.isArray(i)?[]:{},i)i.hasOwnProperty(s)&&(e=i[s],n[s]=e&&"object"==typeof e?M(e):e);return n}function g(t){return null!==t}function b(t){return null===t?void 0:t}const S="-apple-system, BlinkMacSystemFont, 'Trebuchet MS', Roboto, Ubuntu, sans-serif";function x(t,i,n){return void 0===i&&(i=S),`${n=void 0!==n?`${n} `:""}${t}px ${i}`}class C{constructor(t){this.M={S:1,C:5,k:NaN,P:"",T:"",R:"",D:"",I:0,V:0,B:0,A:0,L:0},this.O=t}N(){const t=this.M,i=this.F(),n=this.W();return t.k===i&&t.T===n||(t.k=i,t.T=n,t.P=x(i,n),t.A=2.5/12*i,t.I=t.A,t.V=i/12*t.C,t.B=i/12*t.C,t.L=0),t.R=this.H(),t.D=this.U(),this.M}H(){return this.O.N().layout.textColor}U(){return this.O.$()}F(){return this.O.N().layout.fontSize}W(){return this.O.N().layout.fontFamily}}function y(t){return t<0?0:t>255?255:Math.round(t)||0}function k(t){return.199*t[0]+.687*t[1]+.114*t[2]}class P{constructor(t,i){this.j=new Map,this.q=t,i&&(this.j=i)}Y(t,i){if("transparent"===t)return t;const n=this.K(t),s=n[3];return`rgba(${n[0]}, ${n[1]}, ${n[2]}, ${i*s})`}Z(t){const i=this.K(t);return{G:`rgb(${i[0]}, ${i[1]}, ${i[2]})`,X:k(i)>160?"black":"white"}}J(t){return k(this.K(t))}tt(t,i,n){const[s,e,r,h]=this.K(t),[a,l,o,_]=this.K(i),u=[y(s+n*(a-s)),y(e+n*(l-e)),y(r+n*(o-r)),(c=h+n*(_-h),c<=0||c>1?Math.min(Math.max(c,0),1):Math.round(1e4*c)/1e4)];var c;return`rgba(${u[0]}, ${u[1]}, ${u[2]}, ${u[3]})`}K(t){const i=this.j.get(t);if(i)return i;const n=function(t){const i=document.createElement("div");i.style.display="none",document.body.appendChild(i),i.style.color=t;const n=window.getComputedStyle(i).color;return document.body.removeChild(i),n}(t),s=n.match(/^rgba?\s*\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d*\.?\d+))?\)$/);if(!s){if(this.q.length)for(const i of this.q){const n=i(t);if(n)return this.j.set(t,n),n}throw new Error(`Failed to parse color: ${t}`)}const e=[parseInt(s[1],10),parseInt(s[2],10),parseInt(s[3],10),s[4]?parseFloat(s[4]):1];return this.j.set(t,e),e}}class T{constructor(){this.it=[]}nt(t){this.it=t}st(t,i,n){this.it.forEach((s=>{s.st(t,i,n)}))}}class R{st(t,i,n){t.useBitmapCoordinateSpace((t=>this.et(t,i,n)))}}class D extends R{constructor(){super(...arguments),this.rt=null}ht(t){this.rt=t}et({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){if(null===this.rt||null===this.rt.lt)return;const s=this.rt.lt,e=this.rt,r=Math.max(1,Math.floor(i))%2/2,h=h=>{t.beginPath();for(let a=s.to-1;a>=s.from;--a){const s=e.ot[a],l=Math.round(s._t*i)+r,o=s.ut*n,_=h*n+r;t.moveTo(l,o),t.arc(l,o,_,0,2*Math.PI)}t.fill()};e.ct>0&&(t.fillStyle=e.dt,h(e.ft+e.ct)),t.fillStyle=e.vt,h(e.ft)}}function I(){return{ot:[{_t:0,ut:0,wt:0,Mt:0}],vt:"",dt:"",ft:0,ct:0,lt:null}}const V={from:0,to:1};class B{constructor(t,i,n){this.gt=new T,this.bt=[],this.St=[],this.xt=!0,this.O=t,this.Ct=i,this.yt=n,this.gt.nt(this.bt)}kt(t){this.Pt(),this.xt=!0}Tt(){return this.xt&&(this.Rt(),this.xt=!1),this.gt}Pt(){const t=this.yt.Dt();t.length!==this.bt.length&&(this.St=t.map(I),this.bt=this.St.map((t=>{const i=new D;return i.ht(t),i})),this.gt.nt(this.bt))}Rt(){const t=2===this.Ct.N().mode||!this.Ct.It(),i=this.yt.Vt(),n=this.Ct.Bt(),s=this.O.Et();this.Pt(),i.forEach(((i,e)=>{const r=this.St[e],h=i.At(n),a=i.Lt();!t&&null!==h&&i.It()&&null!==a?(r.vt=h.zt,r.ft=h.ft,r.ct=h.Ot,r.ot[0].Mt=h.Mt,r.ot[0].ut=i.Ft().Nt(h.Mt,a.Wt),r.dt=h.Ht??this.O.Ut(r.ot[0].ut/i.Ft().$t()),r.ot[0].wt=n,r.ot[0]._t=s.jt(n),r.lt=V):r.lt=null}))}}class E extends R{constructor(t){super(),this.qt=t}et({context:t,bitmapSize:i,horizontalPixelRatio:n,verticalPixelRatio:s}){if(null===this.qt)return;const e=this.qt.Yt.It,r=this.qt.Kt.It;if(!e&&!r)return;const h=Math.round(this.qt._t*n),o=Math.round(this.qt.ut*s);t.lineCap="butt",e&&h>=0&&(t.lineWidth=Math.floor(this.qt.Yt.ct*n),t.strokeStyle=this.qt.Yt.R,t.fillStyle=this.qt.Yt.R,a(t,this.qt.Yt.Zt),function(t,i,n,s){t.beginPath();const e=t.lineWidth%2?.5:0;t.moveTo(i+e,n),t.lineTo(i+e,s),t.stroke()}(t,h,0,i.height)),r&&o>=0&&(t.lineWidth=Math.floor(this.qt.Kt.ct*s),t.strokeStyle=this.qt.Kt.R,t.fillStyle=this.qt.Kt.R,a(t,this.qt.Kt.Zt),l(t,o,0,i.width))}}class A{constructor(t,i){this.xt=!0,this.Gt={Yt:{ct:1,Zt:0,R:"",It:!1},Kt:{ct:1,Zt:0,R:"",It:!1},_t:0,ut:0},this.Xt=new E(this.Gt),this.Jt=t,this.yt=i}kt(){this.xt=!0}Tt(t){return this.xt&&(this.Rt(),this.xt=!1),this.Xt}Rt(){const t=this.Jt.It(),i=this.yt.Qt().N().crosshair,n=this.Gt;if(2===i.mode)return n.Kt.It=!1,void(n.Yt.It=!1);n.Kt.It=t&&this.Jt.ti(this.yt),n.Yt.It=t&&this.Jt.ii(),n.Kt.ct=i.horzLine.width,n.Kt.Zt=i.horzLine.style,n.Kt.R=i.horzLine.color,n.Yt.ct=i.vertLine.width,n.Yt.Zt=i.vertLine.style,n.Yt.R=i.vertLine.color,n._t=this.Jt.ni(),n.ut=this.Jt.si()}}function L(t,i,n,s,e,r){t.fillRect(i+r,n,s-2*r,r),t.fillRect(i+r,n+e-r,s-2*r,r),t.fillRect(i,n,r,e),t.fillRect(i+s-r,n,r,e)}function z(t,i,n,s,e,r){t.save(),t.globalCompositeOperation="copy",t.fillStyle=r,t.fillRect(i,n,s,e),t.restore()}function O(t,i,n,s,e,r){t.beginPath(),t.roundRect?t.roundRect(i,n,s,e,r):(t.lineTo(i+s-r[1],n),0!==r[1]&&t.arcTo(i+s,n,i+s,n+r[1],r[1]),t.lineTo(i+s,n+e-r[2]),0!==r[2]&&t.arcTo(i+s,n+e,i+s-r[2],n+e,r[2]),t.lineTo(i+r[3],n+e),0!==r[3]&&t.arcTo(i,n+e,i,n+e-r[3],r[3]),t.lineTo(i,n+r[0]),0!==r[0]&&t.arcTo(i,n,i+r[0],n,r[0]))}function N(t,i,n,s,e,r,h=0,a=[0,0,0,0],l=""){if(t.save(),!h||!l||l===r)return O(t,i,n,s,e,a),t.fillStyle=r,t.fill(),void t.restore();const o=h/2;var _;O(t,i+o,n+o,s-h,e-h,(_=-o,a.map((t=>0===t?t:t+_)))),"transparent"!==r&&(t.fillStyle=r,t.fill()),"transparent"!==l&&(t.lineWidth=h,t.strokeStyle=l,t.closePath(),t.stroke()),t.restore()}function F(t,i,n,s,e,r,h){t.save(),t.globalCompositeOperation="copy";const a=t.createLinearGradient(0,0,0,e);a.addColorStop(0,r),a.addColorStop(1,h),t.fillStyle=a,t.fillRect(i,n,s,e),t.restore()}class W{constructor(t,i){this.ht(t,i)}ht(t,i){this.qt=t,this.ei=i}$t(t,i){return this.qt.It?t.k+t.A+t.I:0}st(t,i,n,s){if(!this.qt.It||0===this.qt.ri.length)return;const e=this.qt.R,r=this.ei.G,h=t.useBitmapCoordinateSpace((t=>{const h=t.context;h.font=i.P;const a=this.hi(t,i,n,s),l=a.ai;return a.li?N(h,l.oi,l._i,l.ui,l.ci,r,l.di,[l.ft,0,0,l.ft],r):N(h,l.fi,l._i,l.ui,l.ci,r,l.di,[0,l.ft,l.ft,0],r),this.qt.pi&&(h.fillStyle=e,h.fillRect(l.fi,l.mi,l.wi-l.fi,l.Mi)),this.qt.gi&&(h.fillStyle=i.D,h.fillRect(a.li?l.bi-l.di:0,l._i,l.di,l.Si-l._i)),a}));t.useMediaCoordinateSpace((({context:t})=>{const n=h.xi;t.font=i.P,t.textAlign=h.li?"right":"left",t.textBaseline="middle",t.fillStyle=e,t.fillText(this.qt.ri,n.Ci,(n._i+n.Si)/2+n.yi)}))}hi(t,i,n,s){const{context:e,bitmapSize:r,mediaSize:h,horizontalPixelRatio:a,verticalPixelRatio:l}=t,o=this.qt.pi||!this.qt.ki?i.C:0,_=this.qt.Pi?i.S:0,u=i.A+this.ei.Ti,c=i.I+this.ei.Ri,d=i.V,f=i.B,p=this.qt.ri,v=i.k,m=n.Di(e,p),w=Math.ceil(n.Ii(e,p)),M=v+u+c,g=i.S+d+f+w+o,b=Math.max(1,Math.floor(l));let S=Math.round(M*l);S%2!=b%2&&(S+=1);const x=_>0?Math.max(1,Math.floor(_*a)):0,C=Math.round(g*a),y=Math.round(o*a),k=this.ei.Vi??this.ei.Bi??this.ei.Ei,P=Math.round(k*l)-Math.floor(.5*l),T=Math.floor(P+b/2-S/2),R=T+S,D="right"===s,I=D?h.width-_:_,V=D?r.width-x:x;let B,E,A;return D?(B=V-C,E=V-y,A=I-o-d-_):(B=V+C,E=V+y,A=I+o+d),{li:D,ai:{_i:T,mi:P,Si:R,ui:C,ci:S,ft:2*a,di:x,oi:B,fi:V,wi:E,Mi:b,bi:r.width},xi:{_i:T/l,Si:R/l,Ci:A,yi:m}}}}class H{constructor(t){this.Ai={Ei:0,G:"#000",Ri:0,Ti:0},this.Li={ri:"",It:!1,pi:!0,ki:!1,Ht:"",R:"#FFF",gi:!1,Pi:!1},this.zi={ri:"",It:!1,pi:!1,ki:!0,Ht:"",R:"#FFF",gi:!0,Pi:!0},this.xt=!0,this.Oi=new(t||W)(this.Li,this.Ai),this.Ni=new(t||W)(this.zi,this.Ai)}ri(){return this.Fi(),this.Li.ri}Ei(){return this.Fi(),this.Ai.Ei}kt(){this.xt=!0}$t(t,i=!1){return Math.max(this.Oi.$t(t,i),this.Ni.$t(t,i))}Wi(){return this.Ai.Vi??null}Hi(){return this.Ai.Vi??this.Ai.Bi??this.Ei()}Ui(t){this.Ai.Bi=t??void 0}$i(){return this.Fi(),this.Li.It||this.zi.It}ji(){return this.Fi(),this.Li.It}Tt(t){return this.Fi(),this.Li.pi=this.Li.pi&&t.N().ticksVisible,this.zi.pi=this.zi.pi&&t.N().ticksVisible,this.Oi.ht(this.Li,this.Ai),this.Ni.ht(this.zi,this.Ai),this.Oi}qi(){return this.Fi(),this.Oi.ht(this.Li,this.Ai),this.Ni.ht(this.zi,this.Ai),this.Ni}Fi(){this.xt&&(this.Li.pi=!0,this.zi.pi=!1,this.Yi(this.Li,this.zi,this.Ai))}}class U extends H{constructor(t,i,n){super(),this.Jt=t,this.Ki=i,this.Zi=n}Yi(t,i,n){if(t.It=!1,2===this.Jt.N().mode)return;const s=this.Jt.N().horzLine;if(!s.labelVisible)return;const e=this.Ki.Lt();if(!this.Jt.It()||this.Ki.Gi()||null===e)return;const r=this.Ki.Xi().Z(s.labelBackgroundColor);n.G=r.G,t.R=r.X;const h=2/12*this.Ki.k();n.Ti=h,n.Ri=h;const a=this.Zi(this.Ki);n.Ei=a.Ei,t.ri=this.Ki.Ji(a.Mt,e),t.It=!0}}const $=/[1-9]/g;class j{constructor(){this.qt=null}ht(t){this.qt=t}st(t,i){if(null===this.qt||!1===this.qt.It||0===this.qt.ri.length)return;const n=t.useMediaCoordinateSpace((({context:t})=>(t.font=i.P,Math.round(i.Qi.Ii(t,u(this.qt).ri,$)))));if(n<=0)return;const s=i.tn,e=n+2*s,r=e/2,h=this.qt.nn;let a=this.qt.Ei,l=Math.floor(a-r)+.5;l<0?(a+=Math.abs(0-l),l=Math.floor(a-r)+.5):l+e>h&&(a-=Math.abs(h-(l+e)),l=Math.floor(a-r)+.5);const o=l+e,_=Math.ceil(0+i.S+i.C+i.A+i.k+i.I);t.useBitmapCoordinateSpace((({context:t,horizontalPixelRatio:n,verticalPixelRatio:s})=>{const e=u(this.qt);t.fillStyle=e.G;const r=Math.round(l*n),h=Math.round(0*s),a=Math.round(o*n),c=Math.round(_*s),d=Math.round(2*n);if(t.beginPath(),t.moveTo(r,h),t.lineTo(r,c-d),t.arcTo(r,c,r+d,c,d),t.lineTo(a-d,c),t.arcTo(a,c,a,c-d,d),t.lineTo(a,h),t.fill(),e.pi){const r=Math.round(e.Ei*n),a=h,l=Math.round((a+i.C)*s);t.fillStyle=e.R;const o=Math.max(1,Math.floor(n)),_=Math.floor(.5*n);t.fillRect(r-_,a,o,l-a)}})),t.useMediaCoordinateSpace((({context:t})=>{const n=u(this.qt),e=0+i.S+i.C+i.A+i.k/2;t.font=i.P,t.textAlign="left",t.textBaseline="middle",t.fillStyle=n.R;const r=i.Qi.Di(t,"Apr0");t.translate(l+s,e+r),t.fillText(n.ri,0,0)}))}}class q{constructor(t,i,n){this.xt=!0,this.Xt=new j,this.Gt={It:!1,G:"#4c525e",R:"white",ri:"",nn:0,Ei:NaN,pi:!0},this.Ct=t,this.sn=i,this.Zi=n}kt(){this.xt=!0}Tt(){return this.xt&&(this.Rt(),this.xt=!1),this.Xt.ht(this.Gt),this.Xt}Rt(){const t=this.Gt;if(t.It=!1,2===this.Ct.N().mode)return;const i=this.Ct.N().vertLine;if(!i.labelVisible)return;const n=this.sn.Et();if(n.Gi())return;t.nn=n.nn();const s=this.Zi();if(null===s)return;t.Ei=s.Ei;const e=n.en(this.Ct.Bt());t.ri=n.rn(u(e)),t.It=!0;const r=this.sn.Xi().Z(i.labelBackgroundColor);t.G=r.G,t.R=r.X,t.pi=n.N().ticksVisible}}class Y{constructor(){this.hn=null,this.an=0}ln(){return this.an}_n(t){this.an=t}Ft(){return this.hn}un(t){this.hn=t}cn(t){return[]}dn(){return[]}It(){return!0}}var K;!function(t){t[t.Normal=0]="Normal",t[t.Magnet=1]="Magnet",t[t.Hidden=2]="Hidden",t[t.MagnetOHLC=3]="MagnetOHLC"}(K||(K={}));class Z extends Y{constructor(t,i){super(),this.yt=null,this.fn=NaN,this.pn=0,this.vn=!1,this.mn=new Map,this.wn=!1,this.Mn=new WeakMap,this.gn=new WeakMap,this.bn=NaN,this.Sn=NaN,this.xn=NaN,this.Cn=NaN,this.sn=t,this.yn=i;this.kn=((t,i)=>n=>{const s=i(),e=t();if(n===u(this.yt).Pn())return{Mt:e,Ei:s};{const t=u(n.Lt());return{Mt:n.Tn(s,t),Ei:s}}})((()=>this.fn),(()=>this.Sn));const n=((t,i)=>()=>{const n=this.sn.Et().Rn(t()),s=i();return n&&Number.isFinite(s)?{wt:n,Ei:s}:null})((()=>this.pn),(()=>this.ni()));this.Dn=new q(this,t,n)}N(){return this.yn}In(t,i){this.xn=t,this.Cn=i}Vn(){this.xn=NaN,this.Cn=NaN}Bn(){return this.xn}En(){return this.Cn}An(t,i,n){this.wn||(this.wn=!0),this.vn=!0,this.Ln(t,i,n)}Bt(){return this.pn}ni(){return this.bn}si(){return this.Sn}It(){return this.vn}zn(){this.vn=!1,this.On(),this.fn=NaN,this.bn=NaN,this.Sn=NaN,this.yt=null,this.Vn(),this.Nn()}Fn(t){if(!this.yn.doNotSnapToHiddenSeriesIndices)return t;const i=this.sn,n=i.Et();let s=null,e=null;for(const n of i.Wn()){const i=n.Un().Hn(t,-1);if(i){if(i.$n===t)return t;(null===s||i.$n>s)&&(s=i.$n)}const r=n.Un().Hn(t,1);if(r){if(r.$n===t)return t;(null===e||r.$nMath.abs(h-n.jt(t))));return r[a.indexOf(Math.min(...a))]}jn(t){let i=this.Mn.get(t);i||(i=new A(this,t),this.Mn.set(t,i));let n=this.gn.get(t);return n||(n=new B(this.sn,this,t),this.gn.set(t,n)),[i,n]}ti(t){return t===this.yt&&this.yn.horzLine.visible}ii(){return this.yn.vertLine.visible}qn(t,i){this.vn&&this.yt===t||this.mn.clear();const n=[];return this.yt===t&&n.push(this.Yn(this.mn,i,this.kn)),n}dn(){return this.vn?[this.Dn]:[]}Kn(){return this.yt}Nn(){this.sn.Zn().forEach((t=>{this.Mn.get(t)?.kt(),this.gn.get(t)?.kt()})),this.mn.forEach((t=>t.kt())),this.Dn.kt()}Gn(t){return t&&!t.Pn().Gi()?t.Pn():null}Ln(t,i,n){this.Xn(t,i,n)&&this.Nn()}Xn(t,i,n){const s=this.bn,e=this.Sn,r=this.fn,h=this.pn,a=this.yt,l=this.Gn(n);this.pn=t,this.bn=isNaN(t)?NaN:this.sn.Et().jt(t),this.yt=n;const o=null!==l?l.Lt():null;return null!==l&&null!==o?(this.fn=i,this.Sn=l.Nt(i,o)):(this.fn=NaN,this.Sn=NaN),s!==this.bn||e!==this.Sn||h!==this.pn||r!==this.fn||a!==this.yt}On(){const t=this.sn.Jn().map((t=>t.Un().Qn())).filter(g),i=0===t.length?null:Math.max(...t);this.pn=null!==i?i:NaN}Yn(t,i,n){let s=t.get(i);return void 0===s&&(s=new U(this,i,n),t.set(i,s)),s}}function G(t){return"left"===t||"right"===t}class X{constructor(t){this.ts=new Map,this.ns=[],this.ss=t}es(t,i){const n=function(t,i){return void 0===t?i:{rs:Math.max(t.rs,i.rs),hs:t.hs||i.hs}}(this.ts.get(t),i);this.ts.set(t,n)}ls(){return this.ss}_s(t){const i=this.ts.get(t);return void 0===i?{rs:this.ss}:{rs:Math.max(this.ss,i.rs),hs:i.hs}}us(){this.cs(),this.ns=[{ds:0}]}fs(t){this.cs(),this.ns=[{ds:1,Wt:t}]}ps(t){this.vs(),this.ns.push({ds:5,Wt:t})}cs(){this.vs(),this.ns.push({ds:6})}ws(){this.cs(),this.ns=[{ds:4}]}Ms(t){this.cs(),this.ns.push({ds:2,Wt:t})}gs(t){this.cs(),this.ns.push({ds:3,Wt:t})}bs(){return this.ns}Ss(t){for(const i of t.ns)this.xs(i);this.ss=Math.max(this.ss,t.ss),t.ts.forEach(((t,i)=>{this.es(i,t)}))}static Cs(){return new X(2)}static ys(){return new X(3)}xs(t){switch(t.ds){case 0:this.us();break;case 1:this.fs(t.Wt);break;case 2:this.Ms(t.Wt);break;case 3:this.gs(t.Wt);break;case 4:this.ws();break;case 5:this.ps(t.Wt);break;case 6:this.vs()}}vs(){const t=this.ns.findIndex((t=>5===t.ds));-1!==t&&this.ns.splice(t,1)}}class J{formatTickmarks(t){return t.map((t=>this.format(t)))}}const Q=".";function tt(t,i){if(!p(t))return"n/a";if(!v(i))throw new TypeError("invalid length");if(i<0||i>16)throw new TypeError("invalid length");if(0===i)return t.toString();return("0000000000000000"+t.toString()).slice(-i)}class it extends J{constructor(t,i){if(super(),i||(i=1),p(t)&&v(t)||(t=100),t<0)throw new TypeError("invalid base");this.Ki=t,this.ks=i,this.Ps()}format(t){const i=t<0?"−":"";return t=Math.abs(t),i+this.Ts(t)}Ps(){if(this.Rs=0,this.Ki>0&&this.ks>0){let t=this.Ki;for(;t>1;)t/=10,this.Rs++}}Ts(t){const i=this.Ki/this.ks;let n=Math.floor(t),s="";const e=void 0!==this.Rs?this.Rs:NaN;if(i>1){let r=+(Math.round(t*i)-n*i).toFixed(this.Rs);r>=i&&(r-=i,n+=1),s=Q+tt(+r.toFixed(this.Rs)*this.ks,e)}else n=Math.round(n*i)/i,e>0&&(s=Q+tt(0,e));return n.toFixed(0)+s}}class nt extends it{constructor(t=100){super(t)}format(t){return`${super.format(t)}%`}}class st extends J{constructor(t){super(),this.Ds=t}format(t){let i="";return t<0&&(i="-",t=-t),t<995?i+this.Is(t):t<999995?i+this.Is(t/1e3)+"K":t<999999995?(t=1e3*Math.round(t/1e3),i+this.Is(t/1e6)+"M"):(t=1e6*Math.round(t/1e6),i+this.Is(t/1e9)+"B")}Is(t){let i;const n=Math.pow(10,this.Ds);return i=(t=Math.round(t*n)/n)>=1e-15&&t<1?t.toFixed(this.Ds).replace(/\.?0+$/,""):String(t),i.replace(/(\.[1-9]*)0+$/,((t,i)=>i))}}const et=/[2-9]/g;class rt{constructor(t=50){this.Vs=0,this.Bs=1,this.Es=1,this.As={},this.Ls=new Map,this.zs=t}Os(){this.Vs=0,this.Ls.clear(),this.Bs=1,this.Es=1,this.As={}}Ii(t,i,n){return this.Ns(t,i,n).width}Di(t,i,n){const s=this.Ns(t,i,n);return((s.actualBoundingBoxAscent||0)-(s.actualBoundingBoxDescent||0))/2}Ns(t,i,n){const s=n||et,e=String(i).replace(s,"0");if(this.Ls.has(e))return _(this.Ls.get(e)).Fs;if(this.Vs===this.zs){const t=this.As[this.Es];delete this.As[this.Es],this.Ls.delete(t),this.Es++,this.Vs--}t.save(),t.textBaseline="middle";const r=t.measureText(e);return t.restore(),0===r.width&&i.length||(this.Ls.set(e,{Fs:r,Ws:this.Bs}),this.As[this.Bs]=e,this.Vs++,this.Bs++),r}}class ht{constructor(t){this.Hs=null,this.M=null,this.Us="right",this.$s=t}js(t,i,n){this.Hs=t,this.M=i,this.Us=n}st(t){null!==this.M&&null!==this.Hs&&this.Hs.st(t,this.M,this.$s,this.Us)}}class at{constructor(t,i,n){this.qs=t,this.$s=new rt(50),this.Ys=i,this.O=n,this.F=-1,this.Xt=new ht(this.$s)}Tt(){const t=this.O.Ks(this.Ys);if(null===t)return null;const i=t.Zs(this.Ys)?t.Gs():this.Ys.Ft();if(null===i)return null;const n=t.Xs(i);if("overlay"===n)return null;const s=this.O.Js();return s.k!==this.F&&(this.F=s.k,this.$s.Os()),this.Xt.js(this.qs.qi(),s,n),this.Xt}}class lt extends R{constructor(){super(...arguments),this.qt=null}ht(t){this.qt=t}Qs(t,i){if(!this.qt?.It)return null;const{ut:n,ct:s,te:e}=this.qt;return i>=n-s-7&&i<=n+s+7?{ie:this.qt,ne:Math.abs(i-n),se:2,ee:"price-line",te:e}:null}et({context:t,bitmapSize:i,horizontalPixelRatio:n,verticalPixelRatio:s}){if(null===this.qt)return;if(!1===this.qt.It)return;const e=Math.round(this.qt.ut*s);e<0||e>i.height||(t.lineCap="butt",t.strokeStyle=this.qt.R,t.lineWidth=Math.floor(this.qt.ct*n),a(t,this.qt.Zt),l(t,e,0,i.width))}}class ot{constructor(t){this.re={ut:0,R:"rgba(0, 0, 0, 0)",ct:1,Zt:0,It:!1},this.he=new lt,this.xt=!0,this.ae=t,this.le=t.Qt(),this.he.ht(this.re)}kt(){this.xt=!0}Tt(){return this.ae.It()?(this.xt&&(this.oe(),this.xt=!1),this.he):null}}class _t extends ot{constructor(t){super(t)}oe(){this.re.It=!1;const t=this.ae.Ft(),i=t._e()._e;if(2!==i&&3!==i)return;const n=this.ae.N();if(!n.baseLineVisible||!this.ae.It())return;const s=this.ae.Lt();null!==s&&(this.re.It=!0,this.re.ut=t.Nt(s.Wt,s.Wt),this.re.R=n.baseLineColor,this.re.ct=n.baseLineWidth,this.re.Zt=n.baseLineStyle)}}class ut extends R{constructor(){super(...arguments),this.qt=null}ht(t){this.qt=t}ue(){return this.qt}et({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){const s=this.qt;if(null===s)return;const e=Math.max(1,Math.floor(i)),r=e%2/2,h=Math.round(s.ce.x*i)+r,a=s.ce.y*n;t.fillStyle=s.de,t.beginPath();const l=Math.max(2,1.5*s.fe)*i;t.arc(h,a,l,0,2*Math.PI,!1),t.fill(),t.fillStyle=s.pe,t.beginPath(),t.arc(h,a,s.ft*i,0,2*Math.PI,!1),t.fill(),t.lineWidth=e,t.strokeStyle=s.ve,t.beginPath(),t.arc(h,a,s.ft*i+e/2,0,2*Math.PI,!1),t.stroke()}}const ct=[{me:0,we:.25,Me:4,ge:10,be:.25,Se:0,xe:.4,Ce:.8},{me:.25,we:.525,Me:10,ge:14,be:0,Se:0,xe:.8,Ce:0},{me:.525,we:1,Me:14,ge:14,be:0,Se:0,xe:0,Ce:0}];class dt{constructor(t){this.Xt=new ut,this.xt=!0,this.ye=!0,this.ke=performance.now(),this.Pe=this.ke-1,this.Te=t}Re(){this.Pe=this.ke-1,this.kt()}De(){if(this.kt(),2===this.Te.N().lastPriceAnimation){const t=performance.now(),i=this.Pe-t;if(i>0)return void(i<650&&(this.Pe+=2600));this.ke=t,this.Pe=t+2600}}kt(){this.xt=!0}Ie(){this.ye=!0}It(){return 0!==this.Te.N().lastPriceAnimation}Ve(){switch(this.Te.N().lastPriceAnimation){case 0:return!1;case 1:return!0;case 2:return performance.now()<=this.Pe}}Tt(){return this.xt?(this.Rt(),this.xt=!1,this.ye=!1):this.ye&&(this.Be(),this.ye=!1),this.Xt}Rt(){this.Xt.ht(null);const t=this.Te.Qt().Et(),i=t.Ee(),n=this.Te.Lt();if(null===i||null===n)return;const s=this.Te.Ae(!0);if(s.Le||!i.ze(s.$n))return;const e={x:t.jt(s.$n),y:this.Te.Ft().Nt(s.Mt,n.Wt)},r=s.R,h=this.Te.N().lineWidth,a=this.Oe(this.Ne(),r);this.Xt.ht({de:r,fe:h,pe:a.pe,ve:a.ve,ft:a.ft,ce:e})}Be(){const t=this.Xt.ue();if(null!==t){const i=this.Oe(this.Ne(),t.de);t.pe=i.pe,t.ve=i.ve,t.ft=i.ft}}Ne(){return this.Ve()?performance.now()-this.ke:2599}Fe(t,i,n,s){const e=n+(s-n)*i;return this.Te.Qt().Xi().Y(t,e)}Oe(t,i){const n=t%2600/2600;let s;for(const t of ct)if(n>=t.me&&n<=t.we){s=t;break}o(void 0!==s,"Last price animation internal logic error");const e=(n-s.me)/(s.we-s.me);return{pe:this.Fe(i,e,s.be,s.Se),ve:this.Fe(i,e,s.xe,s.Ce),ft:(r=e,h=s.Me,a=s.ge,h+(a-h)*r)};var r,h,a}}class ft extends ot{constructor(t){super(t)}oe(){const t=this.re;t.It=!1;const i=this.ae.N();if(!i.priceLineVisible||!this.ae.It())return;const n=this.ae.Ae(0===i.priceLineSource);n.Le||(t.It=!0,t.ut=n.Ei,t.R=this.ae.We(n.R),t.ct=i.priceLineWidth,t.Zt=i.priceLineStyle)}}class pt extends H{constructor(t){super(),this.Jt=t}Yi(t,i,n){t.It=!1,i.It=!1;const s=this.Jt;if(!s.It())return;const e=s.N(),r=e.lastValueVisible,h=""!==s.He(),a=0===e.seriesLastValueMode,l=s.Ae(!1);if(l.Le)return;r&&(t.ri=this.Ue(l,r,a),t.It=0!==t.ri.length),(h||a)&&(i.ri=this.$e(l,r,h,a),i.It=i.ri.length>0);const o=s.We(l.R),_=this.Jt.Qt().Xi().Z(o);n.G=_.G,n.Ei=l.Ei,i.Ht=s.Qt().Ut(l.Ei/s.Ft().$t()),t.Ht=o,t.R=_.X,i.R=_.X}$e(t,i,n,s){let e="";const r=this.Jt.He();return n&&0!==r.length&&(e+=`${r} `),i&&s&&(e+=this.Jt.Ft().je()?t.qe:t.Ye),e.trim()}Ue(t,i,n){return i?n?this.Jt.Ft().je()?t.Ye:t.qe:t.ri:""}}function vt(t,i,n,s){const e=Number.isFinite(i),r=Number.isFinite(n);return e&&r?t(i,n):e||r?e?i:n:s}class mt{constructor(t,i){this.Ke=t,this.Ze=i}Ge(t){return null!==t&&(this.Ke===t.Ke&&this.Ze===t.Ze)}Xe(){return new mt(this.Ke,this.Ze)}Je(){return this.Ke}Qe(){return this.Ze}tr(){return this.Ze-this.Ke}Gi(){return this.Ze===this.Ke||Number.isNaN(this.Ze)||Number.isNaN(this.Ke)}Ss(t){return null===t?this:new mt(vt(Math.min,this.Je(),t.Je(),-1/0),vt(Math.max,this.Qe(),t.Qe(),1/0))}ir(t){if(!p(t))return;if(0===this.Ze-this.Ke)return;const i=.5*(this.Ze+this.Ke);let n=this.Ze-i,s=this.Ke-i;n*=t,s*=t,this.Ze=i+n,this.Ke=i+s}nr(t){p(t)&&(this.Ze+=t,this.Ke+=t)}sr(){return{minValue:this.Ke,maxValue:this.Ze}}static er(t){return null===t?null:new mt(t.minValue,t.maxValue)}}class wt{constructor(t,i){this.rr=t,this.hr=i||null}ar(){return this.rr}lr(){return this.hr}sr(){return{priceRange:null===this.rr?null:this.rr.sr(),margins:this.hr||void 0}}static er(t){return null===t?null:new wt(mt.er(t.priceRange),t.margins)}}const Mt=[2,4,8,16,32,64,128,256,512],gt="Custom series with conflation reducer must have a priceValueBuilder method";class bt extends ot{constructor(t,i){super(t),this._r=i}oe(){const t=this.re;t.It=!1;const i=this._r.N();if(!this.ae.It()||!i.lineVisible)return;const n=this._r.ur();null!==n&&(t.It=!0,t.ut=n,t.R=i.color,t.ct=i.lineWidth,t.Zt=i.lineStyle,t.te=this._r.N().id)}}class St extends H{constructor(t,i){super(),this.Te=t,this._r=i}Yi(t,i,n){t.It=!1,i.It=!1;const s=this._r.N(),e=s.axisLabelVisible,r=""!==s.title,h=this.Te;if(!e||!h.It())return;const a=this._r.ur();if(null===a)return;r&&(i.ri=s.title,i.It=!0),i.Ht=h.Qt().Ut(a/h.Ft().$t()),t.ri=this.cr(s.price),t.It=!0;const l=this.Te.Qt().Xi().Z(s.axisLabelColor||s.color);n.G=l.G;const o=s.axisLabelTextColor||l.X;t.R=o,i.R=o,n.Ei=a}cr(t){const i=this.Te.Lt();return null===i?"":this.Te.Ft().Ji(t,i.Wt)}}class xt{constructor(t,i){this.Te=t,this.yn=i,this.dr=new bt(t,this),this.qs=new St(t,this),this.pr=new at(this.qs,t,t.Qt())}vr(t){f(this.yn,t),this.kt(),this.Te.Qt().mr()}N(){return this.yn}wr(){return this.dr}Mr(){return this.pr}gr(){return this.qs}kt(){this.dr.kt(),this.qs.kt()}ur(){const t=this.Te,i=t.Ft();if(t.Qt().Et().Gi()||i.Gi())return null;const n=t.Lt();return null===n?null:i.Nt(this.yn.price,n.Wt)}}class Ct{constructor(){this.br=new WeakMap}Sr(t,i,n){const s=1/i*n;if(t>=s)return 1;const e=s/t,r=Math.pow(2,Math.floor(Math.log2(e)));return Math.min(r,512)}Cr(t,i,n,s=!1,e){if(0===t.length||i<=1)return t;const r=this.yr(i);if(r<=1)return t;const h=this.kr(t);let a=h.Pr.get(r);return void 0!==a||(a=this.Tr(t,r,n,s,e,h.Pr),h.Pr.set(r,a)),a}Rr(t,i,n,s,e=!1,r){if(n<1||0===t.length)return t;const h=this.kr(t),a=h.Pr.get(n);if(!a)return this.Cr(t,n,s,e,r);const l=this.Dr(t,i,n,a,e,s,r);return h.Pr.set(n,l),l}yr(t){if(t<=2)return 2;for(const i of Mt)if(t<=i)return i;return 512}Ir(t){if(0===t.length)return 0;const i=t[0],n=t[t.length-1];return 31*t.length+17*i.$n+13*n.$n}Tr(t,i,n,s=!1,e,r=new Map){if(2===i)return this.Vr(t,2,n,s,e);const h=i/2;let a=r.get(h);return a||(a=this.Tr(t,h,n,s,e,r),r.set(h,a)),this.Br(a,n,s,e)}Vr(t,i,n,s=!1,e){const r=this.Er(t,i,n,s,e);return this.Ar(r,s)}Br(t,i,n=!1,s){const e=this.Er(t,2,i,n,s);return this.Ar(e,n)}Er(t,i,n,s=!1,e){const r=[];for(let h=0;h=i){const i=this.Lr(t[h],t[h+1],n,s,e);i.zr=!1,r.push(i)}else if(0===r.length)r.push(this.Or(t[h],!0));else{const i=r[r.length-1];r[r.length-1]=this.Nr(i,t[h],n,s,e)}}return r}Fr(t,i){return(t??1)+(i??1)}Lr(t,i,n,s=!1,e){if(!s||!n||!e){const n=t.Wt[1]>i.Wt[1]?t.Wt[1]:i.Wt[1],s=t.Wt[2]i.Wt[1]?t.qr:i.Wt[1],Yr:t.Yrthis.th(t,i)))}Dr(t,i,n,s,e=!1,r,h){if(0===s.length)return s;const a=t.length-1,l=Math.floor(a/n)*n;if(Math.min(l+n,t.length)-ln){const s=t.slice();return s[s.length-1]=i,this.Cr(s,n,r,e,h)}if(Math.floor((a-1)/n)===Math.floor(a/n)||1===s.length){const o=Math.min(l+n,t.length),_=o-l;if(_<=0)return s;const u=1===_?this.Or(l===a?i:t[l],!0):this.Jr(t,l,o,a,i,r,e,h);return s[s.length-1]=this.th(u,e),s}{const s=t.slice();return s[s.length-1]=i,this.Cr(s,n,r,e,h)}}Or(t,i=!1){return{Wr:t.$n,Hr:t.$n,Ur:t.wt,$r:t.wt,jr:t.Wt[0],qr:t.Wt[1],Yr:t.Wt[2],Kr:t.Wt[3],Zr:t.Zr??1,Gr:t.ue,zr:i}}kr(t){const i=this.ih(t),n=this.Ir(t);return i.nh!==n&&(i.Pr.clear(),i.nh=n),i}ih(t){let i=this.br.get(t);return void 0===i&&(i={nh:this.Ir(t),Pr:new Map},this.br.set(t,i)),i}}class yt extends Y{constructor(t){super(),this.sn=t}Qt(){return this.sn}}const kt={Bar:(t,i,n,s)=>{const e=i.upColor,r=i.downColor,h=u(t(n,s)),a=c(h.Wt[0])<=c(h.Wt[3]);return{sh:h.R??(a?e:r)}},Candlestick:(t,i,n,s)=>{const e=i.upColor,r=i.downColor,h=i.borderUpColor,a=i.borderDownColor,l=i.wickUpColor,o=i.wickDownColor,_=u(t(n,s)),d=c(_.Wt[0])<=c(_.Wt[3]);return{sh:_.R??(d?e:r),eh:_.Ht??(d?h:a),rh:_.hh??(d?l:o)}},Custom:(t,i,n,s)=>({sh:u(t(n,s)).R??i.color}),Area:(t,i,n,s)=>{const e=u(t(n,s));return{sh:e.vt??i.lineColor,vt:e.vt??i.lineColor,ah:e.ah??i.topColor,oh:e.oh??i.bottomColor}},Baseline:(t,i,n,s)=>{const e=u(t(n,s));return{sh:e.Wt[3]>=i.baseValue.price?i.topLineColor:i.bottomLineColor,_h:e._h??i.topLineColor,uh:e.uh??i.bottomLineColor,dh:e.dh??i.topFillColor1,fh:e.fh??i.topFillColor2,ph:e.ph??i.bottomFillColor1,mh:e.mh??i.bottomFillColor2}},Line:(t,i,n,s)=>{const e=u(t(n,s));return{sh:e.R??i.color,vt:e.R??i.color}},Histogram:(t,i,n,s)=>({sh:u(t(n,s)).R??i.color})};class Pt{constructor(t){this.wh=(t,i)=>void 0!==i?i.Wt:this.Te.Un().Mh(t),this.Te=t,this.gh=kt[t.bh()]}Sh(t,i){return this.gh(this.wh,this.Te.N(),t,i)}}function Tt(t,i,n,s,e=0,r=i.length){let h=r-e;for(;0>1,a=e+r;s(i[a],n)===t?(e=a+1,h-=r+1):h=r}return e}const Rt=Tt.bind(null,!0),Dt=Tt.bind(null,!1);var It;!function(t){t[t.NearestLeft=-1]="NearestLeft",t[t.None=0]="None",t[t.NearestRight=1]="NearestRight"}(It||(It={}));const Vt=30;class Bt{constructor(){this.xh=[],this.Ch=new Map,this.yh=new Map,this.kh=[]}Ph(){return this.Th()>0?this.xh[this.xh.length-1]:null}Rh(){return this.Th()>0?this.Dh(0):null}Qn(){return this.Th()>0?this.Dh(this.xh.length-1):null}Th(){return this.xh.length}Gi(){return 0===this.Th()}ze(t){return null!==this.Ih(t,0)}Mh(t){return this.Hn(t)}Hn(t,i=0){const n=this.Ih(t,i);return null===n?null:{...this.Vh(n),$n:this.Dh(n)}}Bh(){return this.xh}Eh(t,i,n){if(this.Gi())return null;let s=null;for(const e of n){s=Et(s,this.Ah(t,i,e))}return s}ht(t){this.yh.clear(),this.Ch.clear(),this.xh=t,this.kh=t.map((t=>t.$n))}Lh(){return this.kh}Dh(t){return this.xh[t].$n}Vh(t){return this.xh[t]}Ih(t,i){const n=this.zh(t);if(null===n&&0!==i)switch(i){case-1:return this.Oh(t);case 1:return this.Nh(t);default:throw new TypeError("Unknown search mode")}return n}Oh(t){let i=this.Fh(t);return i>0&&(i-=1),i!==this.xh.length&&this.Dh(i)t.$nt.$n>i))}Hh(t,i,n){let s=null;for(let e=t;es.$h&&(s.$h=t)))}return s}Ah(t,i,n){if(this.Gi())return null;let s=null;const e=u(this.Rh()),r=u(this.Qn()),h=Math.max(t,e),a=Math.min(i,r),l=Math.ceil(h/Vt)*Vt,o=Math.max(l,Math.floor(a/Vt)*Vt);{const t=this.Fh(h),e=this.Wh(Math.min(a,l,i));s=Et(s,this.Hh(t,e,n))}let _=this.Ch.get(n);void 0===_&&(_=new Map,this.Ch.set(n,_));for(let t=Math.max(l+1,h);tnew Ot(t)));return this.Xh={Kh:t,Zh:i},i}Qs(t,i){return this.Jh.hitTest?.(t,i)??null}}let Ft=class extends Nt{cn(){return[]}};class Wt{constructor(t){this.jh=t}st(t,i,n){this.jh.draw(t,Lt)}qh(t,i,n){this.jh.drawBackground?.(t,Lt)}}class Ht{constructor(t){this.Ls=null,this.Yh=t}Tt(){const t=this.Yh.renderer();if(null===t)return null;if(this.Ls?.Kh===t)return this.Ls.Zh;const i=new Wt(t);return this.Ls={Kh:t,Zh:i},i}Gh(){return this.Yh.zOrder?.()??"normal"}}function Ut(t){return{ri:t.text(),Ei:t.coordinate(),Vi:t.fixedCoordinate?.(),R:t.textColor(),G:t.backColor(),It:t.visible?.()??!0,pi:t.tickVisible?.()??!0}}class $t{constructor(t,i){this.Xt=new j,this.ta=t,this.ia=i}Tt(){return this.Xt.ht({nn:this.ia.nn(),...Ut(this.ta)}),this.Xt}}class jt extends H{constructor(t,i){super(),this.ta=t,this.Ki=i}Yi(t,i,n){const s=Ut(this.ta);n.G=s.G,t.R=s.R;const e=2/12*this.Ki.k();n.Ti=e,n.Ri=e,n.Ei=s.Ei,n.Vi=s.Vi,t.ri=s.ri,t.It=s.It,t.pi=s.pi}}class qt extends Nt{constructor(t,i){super(t),this.na=null,this.sa=null,this.ea=null,this.ra=null,this.Te=i}dn(){const t=this.Jh.timeAxisViews?.()??[];if(this.na?.Kh===t)return this.na.Zh;const i=this.Te.Qt().Et(),n=t.map((t=>new $t(t,i)));return this.na={Kh:t,Zh:n},n}qn(){const t=this.Jh.priceAxisViews?.()??[];if(this.sa?.Kh===t)return this.sa.Zh;const i=this.Te.Ft(),n=t.map((t=>new jt(t,i)));return this.sa={Kh:t,Zh:n},n}ha(){const t=this.Jh.priceAxisPaneViews?.()??[];if(this.ea?.Kh===t)return this.ea.Zh;const i=t.map((t=>new Ht(t)));return this.ea={Kh:t,Zh:i},i}aa(){const t=this.Jh.timeAxisPaneViews?.()??[];if(this.ra?.Kh===t)return this.ra.Zh;const i=t.map((t=>new Ht(t)));return this.ra={Kh:t,Zh:i},i}la(t,i){return this.Jh.autoscaleInfo?.(t,i)??null}}function Yt(t,i,n,s){t.forEach((t=>{i(t).forEach((t=>{t.Gh()===n&&s.push(t)}))}))}function Kt(t){return t.jn()}function Zt(t){return t.ha()}function Gt(t){return t.aa()}const Xt=["Area","Line","Baseline"];class Jt extends yt{constructor(t,i,n,s,e){super(t),this.qt=At(),this.dr=new ft(this),this.oa=[],this._a=new _t(this),this.ua=null,this.ca=null,this.da=null,this.fa=[],this.pa=new Ct,this.va=new Map,this.ma=null,this.yn=n,this.wa=i;const r=new pt(this);if(this.mn=[r],this.pr=new at(r,this,t),Xt.includes(this.wa)&&(this.ua=new dt(this)),this.Ma(),this.Yh=s(this,this.Qt(),e),"Custom"===this.wa){const t=this.Yh;t.ga&&this.ba(t.ga)}}m(){null!==this.da&&clearTimeout(this.da)}We(t){return this.yn.priceLineColor||t}Ae(t){const i={Le:!0},n=this.Ft();if(this.Qt().Et().Gi()||n.Gi()||this.qt.Gi())return i;const s=this.Qt().Et().Ee(),e=this.Lt();if(null===s||null===e)return i;let r,h;if(t){const t=this.qt.Ph();if(null===t)return i;r=t,h=t.$n}else{const t=this.qt.Hn(s.bi(),-1);if(null===t)return i;if(r=this.qt.Mh(t.$n),null===r)return i;h=t.$n}const a=r.Wt[3],l=this.Sa().Sh(h,{Wt:r}),o=n.Nt(a,e.Wt);return{Le:!1,Mt:a,ri:n.Ji(a,e.Wt),qe:n.xa(a),Ye:n.Ca(a,e.Wt),R:l.sh,Ei:o,$n:h}}Sa(){return null!==this.ca||(this.ca=new Pt(this)),this.ca}N(){return this.yn}vr(t){const i=this.Qt(),{priceScaleId:n,visible:s,priceFormat:e}=t;void 0!==n&&n!==this.yn.priceScaleId&&i.ya(this,n),void 0!==s&&s!==this.yn.visible&&i.ka();const r=void 0!==t.conflationThresholdFactor;f(this.yn,t),r&&(this.va.clear(),this.Qt().mr()),void 0!==e&&(this.Ma(),i.Pa()),i.Ta(this),i.Ra(),this.Yh.kt("options")}ht(t,i){this.qt.ht(t),this.va.clear();const n=this.Qt().Et().N();n.enableConflation&&n.precomputeConflationOnInit&&this.Da(n.precomputeConflationPriority),this.Yh.kt("data"),null!==this.ua&&(i&&i.Ia?this.ua.De():0===t.length&&this.ua.Re());const s=this.Qt().Ks(this);this.Qt().Va(s),this.Qt().Ta(this),this.Qt().Ra(),this.Qt().mr()}Ba(t){const i=new xt(this,t);return this.oa.push(i),this.Qt().Ta(this),i}Ea(t){const i=this.oa.indexOf(t);-1!==i&&this.oa.splice(i,1),this.Qt().Ta(this)}Aa(){return this.oa}bh(){return this.wa}Lt(){const t=this.La();return null===t?null:{Wt:t.Wt[3],za:t.wt}}La(){const t=this.Qt().Et().Ee();if(null===t)return null;const i=t.Oa();return this.qt.Hn(i,1)}Un(){return this.qt}ba(t){this.ma=t,this.va.clear()}Na(){return!!this.Qt().Et().N().enableConflation&&this.Fa()>1}Rr(t){if(!this.Na())return;const i=this.Fa();if(!this.va.has(i))return;const n="Custom"===this.wa,s=n&&this.ma||void 0,e=n&&this.Yh.Wa?t=>{const i=t,n=this.Yh.Wa(i);return Array.isArray(n)?n:["number"==typeof n?n:0]}:void 0,r=this.pa.Rr(this.qt.Bh(),t,i,s,n,e),h=At();h.ht(r),this.va.set(i,h)}Ha(){const t=this.Qt().Et().N().enableConflation;if("Custom"===this.wa&&null===this.ma)return this.qt;if(!t)return this.qt;const i=this.Fa(),n=this.va.get(i);if(n)return n;this.Ua(i);return this.va.get(i)??this.qt}$a(t){const i=this.qt.Mh(t);return null===i?null:"Bar"===this.wa||"Candlestick"===this.wa||"Custom"===this.wa?{jr:i.Wt[0],qr:i.Wt[1],Yr:i.Wt[2],Kr:i.Wt[3]}:i.Wt[3]}ja(t){const i=[];Yt(this.fa,Kt,"top",i);const n=this.ua;return null!==n&&n.It()?(null===this.da&&n.Ve()&&(this.da=setTimeout((()=>{this.da=null,this.Qt().qa()}),0)),n.Ie(),i.unshift(n),i):i}jn(){const t=[];this.Ya()||t.push(this._a),t.push(this.Yh,this.dr);const i=this.oa.map((t=>t.wr()));return t.push(...i),Yt(this.fa,Kt,"normal",t),t}Ka(){return this.Za(Kt,"bottom")}Ga(t){return this.Za(Zt,t)}Xa(t){return this.Za(Gt,t)}Ja(t,i){return this.fa.map((n=>n.Qs(t,i))).filter((t=>null!==t))}cn(){return[this.pr,...this.oa.map((t=>t.Mr()))]}qn(t,i){if(i!==this.hn&&!this.Ya())return[];const n=[...this.mn];for(const t of this.oa)n.push(t.gr());return this.fa.forEach((t=>{n.push(...t.qn())})),n}dn(){const t=[];return this.fa.forEach((i=>{t.push(...i.dn())})),t}la(t,i){if(void 0!==this.yn.autoscaleInfoProvider){const n=this.yn.autoscaleInfoProvider((()=>{const n=this.Qa(t,i);return null===n?null:n.sr()}));return wt.er(n)}return this.Qa(t,i)}Kh(){const t=this.yn.priceFormat;return t.base??1/t.minMove}tl(){return this.il}Nn(){this.Yh.kt();for(const t of this.mn)t.kt();for(const t of this.oa)t.kt();this.dr.kt(),this._a.kt(),this.ua?.kt(),this.fa.forEach((t=>t.Nn()))}Ft(){return u(super.Ft())}At(t){if(!(("Line"===this.wa||"Area"===this.wa||"Baseline"===this.wa)&&this.yn.crosshairMarkerVisible))return null;const i=this.qt.Mh(t);if(null===i)return null;return{Mt:i.Wt[3],ft:this.nl(),Ht:this.sl(),Ot:this.el(),zt:this.rl(t)}}He(){return this.yn.title}It(){return this.yn.visible}hl(t){this.fa.push(new qt(t,this))}al(t){this.fa=this.fa.filter((i=>i.Qh()!==t))}ll(){if("Custom"===this.wa)return t=>this.Yh.Wa(t)}ol(){if("Custom"===this.wa)return t=>this.Yh._l(t)}ul(){return this.qt.Lh()}Ya(){return!G(this.Ft().cl())}Qa(t,i){if(!v(t)||!v(i)||this.qt.Gi())return null;const n="Line"===this.wa||"Area"===this.wa||"Baseline"===this.wa||"Histogram"===this.wa?[3]:[2,1],s=this.qt.Eh(t,i,n);let e=null!==s?new mt(s.Uh,s.$h):null,r=null;if("Histogram"===this.bh()){const t=this.yn.base,i=new mt(t,t);e=null!==e?e.Ss(i):i}return this.fa.forEach((n=>{const s=n.la(t,i);if(s?.priceRange){const t=new mt(s.priceRange.minValue,s.priceRange.maxValue);e=null!==e?e.Ss(t):t}s?.margins&&(r=s.margins)})),new wt(e,r)}nl(){switch(this.wa){case"Line":case"Area":case"Baseline":return this.yn.crosshairMarkerRadius}return 0}sl(){switch(this.wa){case"Line":case"Area":case"Baseline":{const t=this.yn.crosshairMarkerBorderColor;if(0!==t.length)return t}}return null}el(){switch(this.wa){case"Line":case"Area":case"Baseline":return this.yn.crosshairMarkerBorderWidth}return 0}rl(t){switch(this.wa){case"Line":case"Area":case"Baseline":{const t=this.yn.crosshairMarkerBackgroundColor;if(0!==t.length)return t}}return this.Sa().Sh(t).sh}Ma(){switch(this.yn.priceFormat.type){case"custom":{const t=this.yn.priceFormat.formatter;this.il={format:t,formatTickmarks:this.yn.priceFormat.tickmarksFormatter??(i=>i.map(t))};break}case"volume":this.il=new st(this.yn.priceFormat.precision);break;case"percent":this.il=new nt(this.yn.priceFormat.precision);break;default:{const t=Math.pow(10,this.yn.priceFormat.precision);this.il=new it(t,this.yn.priceFormat.minMove*t)}}null!==this.hn&&this.hn.dl()}Za(t,i){const n=[];return Yt(this.fa,t,i,n),n}Fa(){const{fl:t,pl:i,vl:n}=this.ml();return this.pa.Sr(t,i,n)}ml(){const t=this.Qt().Et(),i=t.fl(),n=window.devicePixelRatio||1,s=t.N().conflationThresholdFactor;return{fl:i,pl:n,vl:this.yn.conflationThresholdFactor??s??1}}wl(t){const i=this.qt.Bh();let n;if("Custom"===this.wa&&null!==this.ma){const s=this.ll();if(!s)throw new Error(gt);n=this.pa.Cr(i,t,this.ma,!0,(t=>s(t)))}else n=this.pa.Cr(i,t);const s=At();return s.ht(n),s}Ua(t){const i=this.wl(t);this.va.set(t,i)}Da(t){if("Custom"===this.wa&&(null===this.ma||!this.ll()))return;this.va.clear();const i=this.Qt().Et().Ml();for(const n of i){const i=()=>{this.gl(n)},s="object"==typeof window&&window||"object"==typeof self&&self;s?.Sl?.bl?s.Sl.bl((()=>{i()}),{se:t}):Promise.resolve().then((()=>i()))}}gl(t){if(this.va.has(t))return;if(0===this.qt.Bh().length)return;const i=this.wl(t);this.va.set(t,i)}}const Qt=[3],ti=[0,1,2,3];class ii{constructor(t){this.yn=t}xl(t,i,n){let s=t;if(0===this.yn.mode)return s;const e=n.Pn(),r=e.Lt();if(null===r)return s;const h=e.Nt(t,r),a=n.Cl().filter((t=>t instanceof Jt)).reduce(((t,s)=>{if(n.Zs(s)||!s.It())return t;const e=s.Ft(),r=s.Un();if(e.Gi()||!r.ze(i))return t;const h=r.Mh(i);if(null===h)return t;const a=c(s.Lt()),l=3===this.yn.mode?ti:Qt;return t.concat(l.map((t=>e.Nt(h.Wt[t],a.Wt))))}),[]);if(0===a.length)return s;a.sort(((t,i)=>Math.abs(t-h)-Math.abs(i-h)));const l=a[0];return s=e.Tn(l,r),s}}function ni(t,i,n){return Math.min(Math.max(t,i),n)}function si(t,i,n){return i-t<=n}function ei(t){const i=Math.ceil(t);return i%2==0?i-1:i}class ri extends R{constructor(){super(...arguments),this.qt=null}ht(t){this.qt=t}et({context:t,bitmapSize:i,horizontalPixelRatio:n,verticalPixelRatio:s}){if(null===this.qt)return;const e=Math.max(1,Math.floor(n));t.lineWidth=e,function(t,i){t.save(),t.lineWidth%2&&t.translate(.5,.5),i(),t.restore()}(t,(()=>{const r=u(this.qt);if(r.yl){t.strokeStyle=r.kl,a(t,r.Pl),t.beginPath();for(const s of r.Tl){const r=Math.round(s.Rl*n);t.moveTo(r,-e),t.lineTo(r,i.height+e)}t.stroke()}if(r.Dl){t.strokeStyle=r.Il,a(t,r.Vl),t.beginPath();for(const n of r.Bl){const r=Math.round(n.Rl*s);t.moveTo(-e,r),t.lineTo(i.width+e,r)}t.stroke()}}))}}class hi{constructor(t){this.Xt=new ri,this.xt=!0,this.yt=t}kt(){this.xt=!0}Tt(){if(this.xt){const t=this.yt.Qt().N().grid,i={Dl:t.horzLines.visible,yl:t.vertLines.visible,Il:t.horzLines.color,kl:t.vertLines.color,Vl:t.horzLines.style,Pl:t.vertLines.style,Bl:this.yt.Pn().El(),Tl:(this.yt.Qt().Et().El()||[]).map((t=>({Rl:t.coord})))};this.Xt.ht(i),this.xt=!1}return this.Xt}}class ai{constructor(t){this.Yh=new hi(t)}wr(){return this.Yh}}const li={Al:4,Ll:1e-4};function oi(t,i){const n=100*(t-i)/i;return i<0?-n:n}function _i(t,i){const n=oi(t.Je(),i),s=oi(t.Qe(),i);return new mt(n,s)}function ui(t,i){const n=100*(t-i)/i+100;return i<0?-n:n}function ci(t,i){const n=ui(t.Je(),i),s=ui(t.Qe(),i);return new mt(n,s)}function di(t,i){const n=Math.abs(t);if(n<1e-15)return 0;const s=Math.log10(n+i.Ll)+i.Al;return t<0?-s:s}function fi(t,i){const n=Math.abs(t);if(n<1e-15)return 0;const s=Math.pow(10,n-i.Al)-i.Ll;return t<0?-s:s}function pi(t,i){if(null===t)return null;const n=di(t.Je(),i),s=di(t.Qe(),i);return new mt(n,s)}function vi(t,i){if(null===t)return null;const n=fi(t.Je(),i),s=fi(t.Qe(),i);return new mt(n,s)}function mi(t){if(null===t)return li;const i=Math.abs(t.Qe()-t.Je());if(i>=1||i<1e-15)return li;const n=Math.ceil(Math.abs(Math.log10(i))),s=li.Al+n;return{Al:s,Ll:1/Math.pow(10,s)}}class wi{constructor(t,i){if(this.zl=t,this.Ol=i,function(t){if(t<0)return!1;if(t>1e18)return!0;for(let i=t;i>1;i/=10)if(i%10!=0)return!1;return!0}(this.zl))this.Nl=[2,2.5,2];else{this.Nl=[];for(let t=this.zl;1!==t;){if(t%2==0)this.Nl.push(2),t/=2;else{if(t%5!=0)throw new Error("unexpected base");this.Nl.push(2,2.5),t/=5}if(this.Nl.length>100)throw new Error("something wrong with base")}}}Fl(t,i,n){const s=0===this.zl?0:1/this.zl;let e=Math.pow(10,Math.max(0,Math.ceil(Math.log10(t-i)))),r=0,h=this.Ol[0];for(;;){const t=si(e,s,1e-14)&&e>s+1e-14,i=si(e,n*h,1e-14),a=si(e,1,1e-14);if(!(t&&i&&a))break;e/=h,h=this.Ol[++r%this.Ol.length]}if(e<=s+1e-14&&(e=s),e=Math.max(1,e),this.Nl.length>0&&(a=e,l=1,o=1e-14,Math.abs(a-l)s+1e-14;)e/=h,h=this.Nl[++r%this.Nl.length];var a,l,o;return e}}class Mi{constructor(t,i,n,s){this.Wl=[],this.Ki=t,this.zl=i,this.Hl=n,this.Ul=s}Fl(t,i){if(tt.Jl)),c=this.Ki.Ql(u);for(let t=0;t=s?1:-1;let _=null,u=0;for(let c=n-l;c>s;c-=i){const n=this.Ul(c,t,!0);null!==_&&Math.abs(n-_)r||(u0&&h[0].Rl-a.Rl0&&l.Rl-h[h.length-1].Rlu(t.ln())-u(i.ln())))}var bi;!function(t){t[t.Normal=0]="Normal",t[t.Logarithmic=1]="Logarithmic",t[t.Percentage=2]="Percentage",t[t.IndexedTo100=3]="IndexedTo100"}(bi||(bi={}));const Si=new nt,xi=new it(100,1);class Ci{constructor(t,i,n,s,e){this.ho=0,this.ao=null,this.rr=null,this.lo=null,this.oo={_o:!1,uo:null},this.co=!1,this.do=0,this.fo=0,this.po=new d,this.vo=new d,this.mo=[],this.wo=null,this.Mo=null,this.bo=null,this.So=null,this.xo=null,this.il=xi,this.Co=mi(null),this.yo=t,this.yn=i,this.ko=n,this.Po=s,this.To=e,this.Ro=new Mi(this,100,this.Do.bind(this),this.Io.bind(this))}cl(){return this.yo}N(){return this.yn}vr(t){if(f(this.yn,t),this.dl(),void 0!==t.mode&&this.Vo({_e:t.mode}),void 0!==t.scaleMargins){const i=_(t.scaleMargins.top),n=_(t.scaleMargins.bottom);if(i<0||i>1)throw new Error(`Invalid top margin - expect value between 0 and 1, given=${i}`);if(n<0||n>1)throw new Error(`Invalid bottom margin - expect value between 0 and 1, given=${n}`);if(i+n>1)throw new Error(`Invalid margins - sum of margins must be less than 1, given=${i+n}`);this.Bo(),this.bo=null}}Eo(){return this.yn.autoScale}Ao(){return this.co}so(){return 1===this.yn.mode}je(){return 2===this.yn.mode}Lo(){return 3===this.yn.mode}ro(){return this.Co}_e(){return{hs:this.yn.autoScale,zo:this.yn.invertScale,_e:this.yn.mode}}Vo(t){const i=this._e();let n=null;void 0!==t.hs&&(this.yn.autoScale=t.hs),void 0!==t._e&&(this.yn.mode=t._e,2!==t._e&&3!==t._e||(this.yn.autoScale=!0),this.oo._o=!1),1===i._e&&t._e!==i._e&&(!function(t,i){if(null===t)return!1;const n=fi(t.Je(),i),s=fi(t.Qe(),i);return isFinite(n)&&isFinite(s)}(this.rr,this.Co)?this.yn.autoScale=!0:(n=vi(this.rr,this.Co),null!==n&&this.Oo(n))),1===t._e&&t._e!==i._e&&(n=pi(this.rr,this.Co),null!==n&&this.Oo(n));const s=i._e!==this.yn.mode;s&&(2===i._e||this.je())&&this.dl(),s&&(3===i._e||this.Lo())&&this.dl(),void 0!==t.zo&&i.zo!==t.zo&&(this.yn.invertScale=t.zo,this.No()),this.vo.p(i,this._e())}Fo(){return this.vo}k(){return this.ko.fontSize}$t(){return this.ho}Wo(t){this.ho!==t&&(this.ho=t,this.Bo(),this.bo=null)}Ho(){if(this.ao)return this.ao;const t=this.$t()-this.Uo()-this.$o();return this.ao=t,t}ar(){return this.jo(),this.rr}Oo(t,i){const n=this.rr;(i||null===n&&null!==t||null!==n&&!n.Ge(t))&&(this.bo=null,this.rr=t)}qo(t){this.Oo(t),this.Yo(null!==t)}Gi(){return this.jo(),0===this.ho||!this.rr||this.rr.Gi()}Ko(t){return this.zo()?t:this.$t()-1-t}Nt(t,i){return this.je()?t=oi(t,i):this.Lo()&&(t=ui(t,i)),this.Io(t,i)}Zo(t,i,n){this.jo();const s=this.$o(),e=u(this.ar()),r=e.Je(),h=e.Qe(),a=this.Ho()-1,l=this.zo(),o=a/(h-r),_=void 0===n?0:n.from,c=void 0===n?t.length:n.to,d=this.Go();for(let n=_;nt.Nn()))}Kl(){return this.yn.ensureEdgeTickMarksVisible&&this.Eo()}Gl(){return this.k()/2}dl(){this.bo=null;let t=1/0;this.wo=null;for(const i of this.mo)i.ln()di(t,this.Co):null}b_(t,i,n){return void 0===i?(void 0===n&&(n=this.tl()),n.format(t)):i(t)}S_(t,i,n){return void 0===i?(void 0===n&&(n=this.tl()),n.formatTickmarks(t)):i(t)}cr(t,i){return this.b_(t,this.Po.priceFormatter,i)}v_(t,i){const n=this.Po.priceFormatter;return this.S_(t,this.Po.tickmarksPriceFormatter??(n?t=>t.map(n):void 0),i)}f_(t,i){return this.b_(t,this.Po.percentageFormatter,i)}p_(t,i){const n=this.Po.percentageFormatter;return this.S_(t,this.Po.tickmarksPercentageFormatter??(n?t=>t.map(n):void 0),i)}}function yi(t){return t instanceof Jt}class ki{constructor(t,i){this.mo=[],this.x_=new Map,this.ho=0,this.C_=0,this.y_=1,this.Mo=null,this.k_=null,this.P_=!1,this.T_=new d,this.fa=[],this.ia=t,this.sn=i,this.R_=new ai(this);const n=i.N();this.D_=this.I_("left",n.leftPriceScale),this.V_=this.I_("right",n.rightPriceScale),this.D_.Fo().i(this.B_.bind(this,this.D_),this),this.V_.Fo().i(this.B_.bind(this,this.V_),this),this.E_(n)}E_(t){if(t.leftPriceScale&&this.D_.vr(t.leftPriceScale),t.rightPriceScale&&this.V_.vr(t.rightPriceScale),t.localization&&(this.D_.dl(),this.V_.dl()),t.overlayPriceScales){const i=Array.from(this.x_.values());for(const n of i){const i=u(n[0].Ft());i.vr(t.overlayPriceScales),t.localization&&i.dl()}}}A_(t){switch(t){case"left":return this.D_;case"right":return this.V_}return this.x_.has(t)?_(this.x_.get(t))[0].Ft():null}m(){this.Qt().L_().u(this),this.D_.Fo().u(this),this.V_.Fo().u(this),this.mo.forEach((t=>{t.m&&t.m()})),this.fa=this.fa.filter((t=>{const i=t.Qh();return i.detached&&i.detached(),!1})),this.T_.p()}z_(){return this.y_}O_(t){this.y_=t}Qt(){return this.sn}nn(){return this.C_}$t(){return this.ho}N_(t){this.C_=t,this.F_()}Wo(t){this.ho=t,this.D_.Wo(t),this.V_.Wo(t),this.mo.forEach((i=>{if(this.Zs(i)){const n=i.Ft();null!==n&&n.Wo(t)}})),this.F_()}W_(t){this.P_=t}H_(){return this.P_}U_(){return this.mo.filter(yi)}Cl(){return this.mo}Zs(t){const i=t.Ft();return null===i||this.D_!==i&&this.V_!==i}s_(t,i,n){this.j_(t,i,n?t.ln():this.mo.length)}r_(t,i){const n=this.mo.indexOf(t);o(-1!==n,"removeDataSource: invalid data source"),this.mo.splice(n,1),i||this.mo.forEach(((t,i)=>t._n(i)));const s=u(t.Ft()).cl();if(this.x_.has(s)){const i=_(this.x_.get(s)),n=i.indexOf(t);-1!==n&&(i.splice(n,1),0===i.length&&this.x_.delete(s))}const e=t.Ft();e&&e.Cl().indexOf(t)>=0&&(e.r_(t),this.q_(e)),this.Y_()}Xs(t){return t===this.D_?"left":t===this.V_?"right":"overlay"}K_(){return this.D_}Z_(){return this.V_}G_(t,i){t.l_(i)}X_(t,i){t.o_(i),this.F_()}J_(t){t.__()}Q_(t,i){t.u_(i)}tu(t,i){t.c_(i),this.F_()}iu(t){t.d_()}F_(){this.mo.forEach((t=>{t.Nn()}))}Pn(){const[t,i]=this.nu();let n=null;return t.N().visible&&0!==t.Cl().length?n=t:i.N().visible&&0!==i.Cl().length?n=i:0!==this.mo.length&&(n=this.mo[0].Ft()),null===n&&(n=this.Gs()??t),n}Gs(){const[t,i]=this.nu();return t.N().visible?t:i.N().visible?i:null}q_(t){null!==t&&t.Eo()&&this.su(t)}eu(t){const i=this.ia.Ee();t.Vo({hs:!0}),null!==i&&t.w_(i),this.F_()}ru(){this.su(this.D_),this.su(this.V_)}hu(){this.q_(this.D_),this.q_(this.V_),this.mo.forEach((t=>{this.Zs(t)&&this.q_(t.Ft())})),this.F_(),this.sn.mr()}Dt(){return null===this.Mo&&(this.Mo=gi(this.mo)),this.Mo}au(){const t=this.Dt(),i=this.sn.ou()?.lu,n=this.sn.N().hoveredSeriesOnTop,s=this.k_;if(null!==s&&s.Kh===t&&s._u===i&&s.uu===n)return s.cu;const e=function(t,i,n){if(!n)return t;const s=t.indexOf(i);if(-1===s||s===t.length-1)return t;const e=[];for(let i=0;it._n(i))),this.Y_();for(const t of[this.D_,this.V_])t.e_(),t.dl();this.sn.mr()}Vt(){return this.Dt().filter(yi)}fu(){return this.T_}pu(){return this.R_}hl(t){this.fa.push(new Ft(t))}al(t){this.fa=this.fa.filter((i=>i.Qh()!==t)),t.detached&&t.detached(),this.sn.mr()}vu(){return this.fa}Ja(t,i){return this.fa.map((n=>n.Qs(t,i))).filter((t=>null!==t))}su(t){const i=t.m_();if(i&&i.length>0&&!this.ia.Gi()){const i=this.ia.Ee();null!==i&&t.w_(i)}t.Nn()}j_(t,i,n){let s=this.A_(i);if(null===s&&(s=this.I_(i,this.sn.N().overlayPriceScales)),this.mo.splice(n,0,t),!G(i)){const n=this.x_.get(i)||[];n.push(t),this.x_.set(i,n)}t._n(n),s.s_(t),t.un(s),this.q_(s),this.Y_()}Y_(){this.Mo=null,this.k_=null}nu(){return"left"===this.sn.N().defaultVisiblePriceScaleId?[this.D_,this.V_]:[this.V_,this.D_]}B_(t,i,n){i._e!==n._e&&this.su(t)}I_(t,i){const n={visible:!0,autoScale:!0,...M(i)},s=new Ci(t,n,this.sn.N().layout,this.sn.N().localization,this.sn.Xi());return s.Wo(this.$t()),s}}function Pi(t,i){return null===i||(2===t.se&&2!==i.se||(2!==i.se||2===t.se)&&(t.ne!==i.ne&&t.ne= left"),this.ku=t,this.Pu=i}Oa(){return this.ku}bi(){return this.Pu}Tu(){return this.Pu-this.ku+1}ze(t){return this.ku<=t&&t<=this.Pu}Ge(t){return this.ku===t.Oa()&&this.Pu===t.bi()}}function Li(t,i){return null===t||null===i?t===i:t.Ge(i)}class zi{constructor(){this.Ru=new Map,this.Ls=null,this.Du=!1}Iu(t){this.Du=t,this.Ls=null}Vu(t,i){this.Bu(i),this.Ls=null;for(let n=i;n{t<=n[0].index?i.push(s):n.splice(Rt(n,t,(i=>i.index!i||n.has(t.index);for(const i of Array.from(this.Ru.keys()).sort(((t,i)=>i-t))){if(!this.Ru.get(i))continue;const n=s;s=[];const r=n.length;let h=0;const a=_(this.Ru.get(i)),l=a.length;let o=1/0,u=-1/0;for(let i=0;i=t&&_-u>=t&&e(l))s.push(l),u=_;else if(this.Du)return n}for(;hi.weight?t:i}class Fi{constructor(t,i,n,s){this.C_=0,this.Uu=null,this.$u=[],this.xo=null,this.So=null,this.ju=new zi,this.qu=new Map,this.Yu=Oi.Hu(),this.Ku=!0,this.Zu=new d,this.Gu=new d,this.Xu=new d,this.Ju=null,this.Qu=null,this.tc=new Map,this.nc=-1,this.sc=[],this.ec=1,this.yn=i,this.Po=n,this.rc=i.rightOffset,this.hc=i.barSpacing,this.sn=t,this.ac(i),this.xu=s,this.lc(),this.ju.Iu(i.uniformDistribution),this.oc(),this._c()}N(){return this.yn}uc(t){f(this.Po,t),this.cc(),this.lc()}vr(t,i){f(this.yn,t),this.yn.fixLeftEdge&&this.dc(),this.yn.fixRightEdge&&this.fc(),void 0!==t.barSpacing&&this.sn.Ms(t.barSpacing),void 0!==t.rightOffset&&this.sn.gs(t.rightOffset),this.ac(t),void 0===t.minBarSpacing&&void 0===t.maxBarSpacing||this.sn.Ms(t.barSpacing??this.hc),void 0!==t.ignoreWhitespaceIndices&&t.ignoreWhitespaceIndices!==this.yn.ignoreWhitespaceIndices&&this._c(),this.cc(),this.lc(),void 0===t.enableConflation&&void 0===t.conflationThresholdFactor||this.oc(),this.Xu.p()}Rn(t){return this.$u[t]?.time??null}en(t){return this.$u[t]??null}vc(t,i){if(this.$u.length<1)return null;if(this.xu.key(t)>this.xu.key(this.$u[this.$u.length-1].time))return i?this.$u.length-1:null;const n=Rt(this.$u,this.xu.key(t),((t,i)=>this.xu.key(t.time)0}Ee(){return this.wc(),this.Yu.Fu()}Mc(){return this.wc(),this.Yu.Wu()}gc(){const t=this.Ee();if(null===t)return null;const i={from:t.Oa(),to:t.bi()};return this.bc(i)}bc(t){const i=Math.round(t.from),n=Math.round(t.to),s=u(this.Sc()),e=u(this.xc());return{from:u(this.en(Math.max(s,i))),to:u(this.en(Math.min(e,n)))}}Cc(t){return{from:u(this.vc(t.from,!0)),to:u(this.vc(t.to,!0))}}nn(){return this.C_}N_(t){if(!isFinite(t)||t<=0)return;if(this.C_===t)return;const i=this.Mc(),n=this.C_;if(this.C_=t,this.Ku=!0,this.yn.lockVisibleTimeRangeOnResize&&0!==n){const i=this.hc*t/n;this.hc=i}if(this.yn.fixLeftEdge&&null!==i&&i.Oa()<=0){const i=n-t;this.rc-=Math.round(i/this.hc)+1,this.Ku=!0}this.yc(),this.kc()}jt(t){if(this.Gi()||!v(t))return 0;const i=this.Pc()+this.rc-t;return this.C_-(i+.5)*this.hc-1}Tc(t,i){const n=this.Pc(),s=void 0===i?0:i.from,e=void 0===i?t.length:i.to;for(let i=s;ii/2&&!o?n.needAlignCoordinate=!1:n.needAlignCoordinate=_&&t.index<=a||c&&t.index>=l,d++}return this.sc.length=d,this.Qu=this.sc,this.sc}Oc(){let t;this.Ku=!0,this.Ms(this.yn.barSpacing),t=void 0!==this.yn.rightOffsetPixels?this.yn.rightOffsetPixels/this.fl():this.yn.rightOffset,this.gs(t)}Nc(t){this.Ku=!0,this.Uu=t,this.kc(),this.dc()}Fc(t,i){const n=this.Dc(t),s=this.fl(),e=s+i*(s/10);this.Ms(e),this.yn.rightBarStaysOnScroll||this.gs(this.Ac()+(n-this.Dc(t)))}l_(t){this.xo&&this.d_(),null===this.So&&null===this.Ju&&(this.Gi()||(this.So=t,this.Wc()))}o_(t){if(null===this.Ju)return;const i=ni(this.C_-t,0,this.C_),n=ni(this.C_-u(this.So),0,this.C_);0!==i&&0!==n&&this.Ms(this.Ju.fl*i/n)}__(){null!==this.So&&(this.So=null,this.Hc())}u_(t){null===this.xo&&null===this.Ju&&(this.Gi()||(this.xo=t,this.Wc()))}c_(t){if(null===this.xo)return;const i=(this.xo-t)/this.fl();this.rc=u(this.Ju).Ac+i,this.Ku=!0,this.kc()}d_(){null!==this.xo&&(this.xo=null,this.Hc())}Uc(){this.$c(this.yn.rightOffset)}$c(t,i=400){if(!isFinite(t))throw new RangeError("offset is required and must be finite number");if(!isFinite(i)||i<=0)throw new RangeError("animationDuration (optional) must be finite positive number");const n=this.rc,s=performance.now();this.sn.ps({jc:t=>(t-s)/i>=1,qc:e=>{const r=(e-s)/i;return r>=1?t:n+(t-n)*r}})}kt(t,i){this.Ku=!0,this.$u=t,this.ju.Vu(t,i),this.kc()}Yc(){return this.Zu}Kc(){return this.Gu}Zc(){return this.Xu}Pc(){return this.Uu||0}Gc(t,i){const n=t.Tu(),s=i&&this.yn.rightOffsetPixels||0;this.Ec((this.C_-s)/n),this.rc=t.bi()-this.Pc(),i&&(this.rc=s?s/this.fl():this.yn.rightOffset),this.kc(),this.Ku=!0,this.sn.Bc(),this.sn.mr()}Xc(){const t=this.Sc(),i=this.xc();if(null===t||null===i)return;const n=!this.yn.rightOffsetPixels&&this.yn.rightOffset||0;this.Gc(new Ai(t,i+n),!0)}Jc(t){const i=new Ai(t.from,t.to);this.Gc(i)}rn(t){return void 0!==this.Po.timeFormatter?this.Po.timeFormatter(t.originalTime):this.xu.formatHorzItem(t.time)}_c(){if(!this.yn.ignoreWhitespaceIndices)return;this.tc.clear();const t=this.sn.Jn();for(const i of t)for(const t of i.ul())this.tc.set(t,!0);this.nc++}Qc(){return this.ec}Ml(){const t=1/(window.devicePixelRatio||1),i=this.yn.minBarSpacing;if(i>=t)return[1];const n=[1];let s=2;for(;s<=512;){i0?this.yn.maxBarSpacing:.5*this.C_}ed(){return this.yn.fixLeftEdge&&this.yn.fixRightEdge&&0!==this.$u.length?this.C_/this.$u.length:this.yn.minBarSpacing}oc(){if(!this.yn.enableConflation)return void(this.ec=1);const t=1/(window.devicePixelRatio||1)*(this.yn.conflationThresholdFactor??1);if(this.hc>=t)return void(this.ec=1);const i=t/this.hc,n=Math.pow(2,Math.floor(Math.log2(i)));this.ec=Math.min(n,512)}kc(){const t=this.hd();null!==t&&this.rci&&(this.rc=i,this.Ku=!0)}hd(){const t=this.Sc(),i=this.Uu;if(null===t||null===i)return null;return t-i-1+(this.yn.fixLeftEdge?this.C_/this.hc:Math.min(2,this.$u.length))}ad(){return this.yn.fixRightEdge?0:this.C_/this.hc-Math.min(2,this.$u.length)}Wc(){this.Ju={fl:this.fl(),Ac:this.Ac()}}Hc(){this.Ju=null}zc(t){let i=this.qu.get(t.weight);return void 0===i&&(i=new Ei((t=>this.ld(t)),this.xu),this.qu.set(t.weight,i)),i.Cu(t)}ld(t){return this.xu.formatTickmark(t,this.Po)}sd(t){const i=this.Yu;this.Yu=t,Li(i.Fu(),this.Yu.Fu())||this.Zu.p(),Li(i.Wu(),this.Yu.Wu())||this.Gu.p(),this.nd()}nd(){this.Qu=null}cc(){this.nd(),this.qu.clear()}lc(){this.xu.updateFormatter(this.Po)}dc(){if(!this.yn.fixLeftEdge)return;const t=this.Sc();if(null===t)return;const i=this.Ee();if(null===i)return;const n=i.Oa()-t;if(n<0){const t=this.rc-n-1;this.gs(t)}this.yc()}fc(){this.kc(),this.yc()}Ic(t){return!this.yn.ignoreWhitespaceIndices||(this.tc.get(t)||!1)}Vc(t){const i=function*(t){const i=Math.round(t),n=in)break}return t}ac(t){if(void 0!==t.rightOffsetPixels){const i=t.rightOffsetPixels/(t.barSpacing||this.hc);this.sn.gs(i)}}}var Wi,Hi,Ui,$i,ji;!function(t){t[t.OnTouchEnd=0]="OnTouchEnd",t[t.OnNextTap=1]="OnNextTap"}(Wi||(Wi={}));class qi{constructor(t,i,n){this.od=[],this._d=[],this.ud=null,this.C_=0,this.dd=null,this.fd=new d,this.pd=new d,this.vd=null,this.md=t,this.yn=i,this.xu=n,this.To=new P(this.yn.layout.colorParsers),this.wd=new C(this),this.ia=new Fi(this,i.timeScale,this.yn.localization,n),this.Ct=new Z(this,i.crosshair),this.Md=new ii(i.crosshair),i.addDefaultPane&&(this.gd(0),this.od[0].O_(2)),this.bd=this.Sd(0),this.xd=this.Sd(1)}Pa(){this.Cd(X.ys())}mr(){this.Cd(X.Cs())}qa(){this.Cd(new X(1))}Ta(t){const i=this.yd(t);this.Cd(i)}ou(){return this.dd}kd(t){if(this.dd?.lu===t?.lu&&this.dd?.wu?.te===t?.wu?.te&&this.dd?.wu?.ie===t?.wu?.ie&&this.dd?.mu===t?.mu&&this.dd?.ee===t?.ee)return;const i=this.dd;this.dd=t,null!==i&&this.Ta(i.lu),null!==t&&t.lu!==i?.lu&&this.Ta(t.lu)}N(){return this.yn}vr(t){f(this.yn,t),this.od.forEach((i=>i.E_(t))),void 0!==t.timeScale&&this.ia.vr(t.timeScale),void 0!==t.localization&&this.ia.uc(t.localization),(t.leftPriceScale||t.rightPriceScale)&&this.fd.p(),this.bd=this.Sd(0),this.xd=this.Sd(1),this.Pa()}Pd(t,i,n=0){const s=this.od[n];if(void 0===s)return;if("left"===t)return f(this.yn,{leftPriceScale:i}),s.E_({leftPriceScale:i}),this.fd.p(),void this.Pa();if("right"===t)return f(this.yn,{rightPriceScale:i}),s.E_({rightPriceScale:i}),this.fd.p(),void this.Pa();const e=this.Td(t,n);null!==e&&(e.Ft.vr(i),this.fd.p())}Td(t,i){const n=this.od[i];if(void 0===n)return null;const s=n.A_(t);return null!==s?{Kn:n,Ft:s}:null}Et(){return this.ia}Zn(){return this.od}Rd(){return this.Ct}Dd(){return this.pd}Id(t,i){t.Wo(i),this.Bc()}N_(t){this.C_=t,this.ia.N_(this.C_),this.od.forEach((i=>i.N_(t))),this.Bc()}Vd(t){1!==this.od.length&&(o(t>=0&&t=0&&tt+i.z_()),0),e=this.od.reduce(((t,i)=>t+i.$t()),0),r=e-30*(this.od.length-1);i=Math.min(r,Math.max(30,i));const h=s/e,a=n.$t();n.O_(i*h);let l=i-a,_=this.od.length-1;for(const t of this.od)if(t!==n){const i=Math.min(r,Math.max(30,t.$t()-l/_));l-=t.$t()-i,_-=1;const n=i*h;t.O_(n)}this.Pa()}Ed(t,i){o(t>=0&&t=0&&i=0&&t=0&&it.It()))),this.ud}ka(){this.ud=null}jd(t,i,n,s,e){this.Ct.In(t,i);let r=NaN,h=this.ia.Rc(t,!0);const a=this.ia.Ee();null!==a&&(h=Math.min(Math.max(a.Oa(),h),a.bi())),h=this.Ct.Fn(h);const l=s.Pn(),o=l.Lt();if(null!==o&&(r=l.Tn(i,o)),r=this.Md.xl(r,h,s),this.Ct.An(h,r,s),this.qa(),!e){const e=Bi(s,t,i);this.kd(e&&{lu:e.lu,wu:e.wu,mu:e.mu||null,ee:e.ee}),this.pd.p(this.Ct.Bt(),{x:t,y:i},n)}}qd(t,i,n){const s=n.Pn(),e=s.Lt(),r=s.Nt(t,u(e)),h=this.ia.vc(i,!0),a=this.ia.jt(u(h));this.jd(a,r,null,n,!0)}Yd(t){this.Rd().zn(),this.qa(),t||this.pd.p(null,null,null)}Ra(){const t=this.Ct.Kn();if(null!==t){const i=this.Ct.Bn(),n=this.Ct.En();this.jd(i,n,null,t)}this.Ct.Nn()}Kd(t,i,n){const s=this.ia.Rn(0);void 0!==i&&void 0!==n&&this.ia.kt(i,n);const e=this.ia.Rn(0),r=this.ia.Pc(),h=this.ia.Ee();if(null!==h&&null!==s&&null!==e){const i=h.ze(r),a=this.xu.key(s)>this.xu.key(e),l=null!==t&&t>r&&!a,o=this.ia.N().allowShiftVisibleRangeOnWhitespaceReplacement,_=i&&(!(void 0===n)||o)&&this.ia.N().shiftVisibleRangeOnNewBar;if(l&&!_){const i=t-r;this.ia.gs(this.ia.Ac()-i)}}this.ia.Nc(t)}Va(t){null!==t&&t.hu()}Ks(t){if(function(t){return t instanceof ki}(t))return t;const i=this.od.find((i=>i.Dt().includes(t)));return void 0===i?null:i}Bc(){this.od.forEach((t=>t.hu())),this.Ra()}m(){this.od.forEach((t=>t.m())),this.od.length=0,this.yn.localization.priceFormatter=void 0,this.yn.localization.percentageFormatter=void 0,this.yn.localization.timeFormatter=void 0}Zd(){return this.wd}Js(){return this.wd.N()}L_(){return this.fd}Gd(t,i){const n=this.gd(i);this.Xd(t,n),this._d.push(t),this.ka(),1===this._d.length?this.Pa():this.mr()}Jd(t){const i=this.Ks(t),n=this._d.indexOf(t);o(-1!==n,"Series not found");const s=u(i);this._d.splice(n,1),s.r_(t),t.m&&t.m(),this.ka(),this.ia._c(),this.Qd(s)}ya(t,i){const n=u(this.Ks(t));n.r_(t,!0),n.s_(t,i,!0)}Xc(){const t=X.Cs();t.us(),this.Cd(t)}tf(t){const i=X.Cs();i.fs(t),this.Cd(i)}ws(){const t=X.Cs();t.ws(),this.Cd(t)}Ms(t){const i=X.Cs();i.Ms(t),this.Cd(i)}gs(t){const i=X.Cs();i.gs(t),this.Cd(i)}ps(t){const i=X.Cs();i.ps(t),this.Cd(i)}cs(){const t=X.Cs();t.cs(),this.Cd(t)}if(){const t=this.yn.defaultVisiblePriceScaleId,i=this.yn.leftPriceScale.visible;return i!==this.yn.rightPriceScale.visible?i?"left":"right":t}nf(t,i){o(i>=0,"Index should be greater or equal to 0");if(i===this.sf(t))return;const n=u(this.Ks(t));n.r_(t);const s=this.gd(i);this.Xd(t,s);let e=!1;0===n.Cl().length&&(e=this.Qd(n)),e||this.Pa()}ef(){return this.xd}$(){return this.bd}Ut(t){const i=this.xd,n=this.bd;if(i===n)return i;if(t=Math.max(0,Math.min(100,Math.round(100*t))),null===this.vd||this.vd.ah!==n||this.vd.oh!==i)this.vd={ah:n,oh:i,rf:new Map};else{const i=this.vd.rf.get(t);if(void 0!==i)return i}const s=this.To.tt(n,i,t/100);return this.vd.rf.set(t,s),s}hf(t){return this.od.indexOf(t)}Xi(){return this.To}af(){return this.lf()}lf(t){const i=new ki(this.ia,this);this.od.push(i);const n=t??this.od.length-1,s=X.ys();return s.es(n,{rs:0,hs:!0}),this.Cd(s),i}gd(t){return o(t>=0,"Index should be greater or equal to 0"),(t=Math.min(this.od.length,t))i.U_().includes(t)))}Ld(t,i){const n=new X(i);if(null!==t){const s=this.od.indexOf(t);n.es(s,{rs:i})}return n}yd(t,i){return void 0===i&&(i=2),this.Ld(this.Ks(t),i)}Cd(t){this.md&&this.md(t),this.od.forEach((t=>t.pu().wr().kt()))}Xd(t,i){const n=t.N().priceScaleId,s=void 0!==n?n:this.if();i.s_(t,s),G(s)||t.vr(t.N())}Sd(t){const i=this.yn.layout;return"gradient"===i.background.type?0===t?i.background.topColor:i.background.bottomColor:i.background.color}Qd(t){return!t.H_()&&0===t.Cl().length&&this.od.length>1&&(this.od.splice(this.hf(t),1),this.Pa(),!0)}}function Yi(t){if(t>=1)return 0;let i=0;for(;i<8;i++){const n=Math.round(t);if(Math.abs(n-t)<1e-8)return i;t*=10}return i}function Ki(t){return!p(t)&&!m(t)}function Zi(t){return p(t)}!function(t){t[t.Disabled=0]="Disabled",t[t.Continuous=1]="Continuous",t[t.OnDataUpdate=2]="OnDataUpdate"}(Hi||(Hi={})),function(t){t[t.LastBar=0]="LastBar",t[t.LastVisible=1]="LastVisible"}(Ui||(Ui={})),function(t){t.Solid="solid",t.VerticalGradient="gradient"}($i||($i={})),function(t){t[t.Year=0]="Year",t[t.Month=1]="Month",t[t.DayOfMonth=2]="DayOfMonth",t[t.Time=3]="Time",t[t.TimeWithSeconds=4]="TimeWithSeconds"}(ji||(ji={}));const Gi=t=>t.getUTCFullYear();function Xi(t,i,n){return i.replace(/yyyy/g,(t=>tt(Gi(t),4))(t)).replace(/yy/g,(t=>tt(Gi(t)%100,2))(t)).replace(/MMMM/g,((t,i)=>new Date(t.getUTCFullYear(),t.getUTCMonth(),1).toLocaleString(i,{month:"long"}))(t,n)).replace(/MMM/g,((t,i)=>new Date(t.getUTCFullYear(),t.getUTCMonth(),1).toLocaleString(i,{month:"short"}))(t,n)).replace(/MM/g,(t=>tt((t=>t.getUTCMonth()+1)(t),2))(t)).replace(/dd/g,(t=>tt((t=>t.getUTCDate())(t),2))(t))}class Ji{constructor(t="yyyy-MM-dd",i="default"){this._f=t,this.uf=i}Cu(t){return Xi(t,this._f,this.uf)}}class Qi{constructor(t){this.cf=t||"%h:%m:%s"}Cu(t){return this.cf.replace("%h",tt(t.getUTCHours(),2)).replace("%m",tt(t.getUTCMinutes(),2)).replace("%s",tt(t.getUTCSeconds(),2))}}const tn={df:"yyyy-MM-dd",ff:"%h:%m:%s",pf:" ",vf:"default"};class nn{constructor(t={}){const i={...tn,...t};this.mf=new Ji(i.df,i.vf),this.wf=new Qi(i.ff),this.Mf=i.pf}Cu(t){return`${this.mf.Cu(t)}${this.Mf}${this.wf.Cu(t)}`}}function sn(t){return 60*t*60*1e3}function en(t){return 60*t*1e3}const rn=[{gf:(hn=1,1e3*hn),bf:10},{gf:en(1),bf:20},{gf:en(5),bf:21},{gf:en(30),bf:22},{gf:sn(1),bf:30},{gf:sn(3),bf:31},{gf:sn(6),bf:32},{gf:sn(12),bf:33}];var hn;function an(t,i){if(t.getUTCFullYear()!==i.getUTCFullYear())return 70;if(t.getUTCMonth()!==i.getUTCMonth())return 60;if(t.getUTCDate()!==i.getUTCDate())return 50;for(let n=rn.length-1;n>=0;--n)if(Math.floor(i.getTime()/rn[n].gf)!==Math.floor(t.getTime()/rn[n].gf))return rn[n].bf;return 0}function ln(t){let i=t;if(m(t)&&(i=_n(t)),!Ki(i))throw new Error("time must be of type BusinessDay");const n=new Date(Date.UTC(i.year,i.month-1,i.day,0,0,0,0));return{Sf:Math.round(n.getTime()/1e3),xf:i}}function on(t){if(!Zi(t))throw new Error("time must be of type isUTCTimestamp");return{Sf:t}}function _n(t){const i=new Date(t);if(isNaN(i.getTime()))throw new Error(`Invalid date string=${t}, expected format=yyyy-mm-dd`);return{day:i.getUTCDate(),month:i.getUTCMonth()+1,year:i.getUTCFullYear()}}function un(t){m(t.time)&&(t.time=_n(t.time))}class cn{options(){return this.yn}setOptions(t){this.yn=t,this.updateFormatter(t.localization)}preprocessData(t){Array.isArray(t)?function(t){t.forEach(un)}(t):un(t)}createConverterToInternalObj(t){return u(function(t){return 0===t.length?null:Ki(t[0].time)||m(t[0].time)?ln:on}(t))}key(t){return"object"==typeof t&&"Sf"in t?t.Sf:this.key(this.convertHorzItemToInternal(t))}cacheKey(t){const i=t;return void 0===i.xf?new Date(1e3*i.Sf).getTime():new Date(Date.UTC(i.xf.year,i.xf.month-1,i.xf.day)).getTime()}convertHorzItemToInternal(t){return Zi(i=t)?on(i):Ki(i)?ln(i):ln(_n(i));var i}updateFormatter(t){if(!this.yn)return;const i=t.dateFormat;this.yn.timeScale.timeVisible?this.Cf=new nn({df:i,ff:this.yn.timeScale.secondsVisible?"%h:%m:%s":"%h:%m",pf:" ",vf:t.locale}):this.Cf=new Ji(i,t.locale)}formatHorzItem(t){const i=t;return this.Cf.Cu(new Date(1e3*i.Sf))}formatTickmark(t,i){const n=function(t,i,n){switch(t){case 0:case 10:return i?n?4:3:2;case 20:case 21:case 22:case 30:case 31:case 32:case 33:return i?3:2;case 50:return 2;case 60:return 1;case 70:return 0}}(t.weight,this.yn.timeScale.timeVisible,this.yn.timeScale.secondsVisible),s=this.yn.timeScale;if(void 0!==s.tickMarkFormatter){const e=s.tickMarkFormatter(t.originalTime,n,i.locale);if(null!==e)return e}return function(t,i,n){const s={};switch(i){case 0:s.year="numeric";break;case 1:s.month="short";break;case 2:s.day="numeric";break;case 3:s.hour12=!1,s.hour="2-digit",s.minute="2-digit";break;case 4:s.hour12=!1,s.hour="2-digit",s.minute="2-digit",s.second="2-digit"}const e=void 0===t.xf?new Date(1e3*t.Sf):new Date(Date.UTC(t.xf.year,t.xf.month-1,t.xf.day));return new Date(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()).toLocaleString(n,s)}(t.time,n,i.locale)}maxTickMarkWeight(t){let i=t.reduce(Ni,t[0]).weight;return i>30&&i<50&&(i=30),i}fillWeightsForPoints(t,i){!function(t,i=0){if(0===t.length)return;let n=0===i?null:t[i-1].time.Sf,s=null!==n?new Date(1e3*n):null,e=0;for(let r=i;r1){const i=Math.ceil(e/(t.length-1)),n=new Date(1e3*(t[0].time.Sf-i));t[0].timeWeight=an(new Date(1e3*t[0].time.Sf),n)}}(t,i)}static yf(t){return f({localization:{dateFormat:"dd MMM 'yy"}},t??{})}}const dn="undefined"!=typeof window;function fn(){return!!dn&&window.navigator.userAgent.toLowerCase().indexOf("firefox")>-1}function pn(){return!!dn&&/iPhone|iPad|iPod/.test(window.navigator.platform)}function vn(t,i){switch(t){case"custom":return void 0!==i?"custom-object":"series";case"price-line":return"custom-price-line";case"marker":return"series-marker";case"primitive":return"primitive";default:return"series"}}function mn(t){return t+t%2}function wn(t){dn&&void 0!==window.chrome&&t.addEventListener("mousedown",(t=>{if(1===t.button)return t.preventDefault(),!1}))}class Mn{constructor(t,i,n){this.kf=0,this.Pf=null,this.Tf={_t:Number.NEGATIVE_INFINITY,ut:Number.POSITIVE_INFINITY},this.Rf=0,this.Df=null,this.If={_t:Number.NEGATIVE_INFINITY,ut:Number.POSITIVE_INFINITY},this.Vf=null,this.Bf=!1,this.Ef=null,this.Af=null,this.Lf=!1,this.zf=!1,this.Of=!1,this.Nf=null,this.Ff=null,this.Wf=null,this.Hf=null,this.Uf=null,this.$f=null,this.jf=null,this.qf=0,this.Yf=!1,this.Kf=!1,this.Zf=!1,this.Gf=0,this.Xf=null,this.Jf=!pn(),this.Qf=t=>{this.tp(t)},this.ip=t=>{if(this.np(t)){const i=this.sp(t);if(++this.Rf,this.Df&&this.Rf>1){const{ep:n}=this.rp(Sn(t),this.If);n<30&&!this.Of&&this.hp(i,this.lp.ap),this.op()}}else{const i=this.sp(t);if(++this.kf,this.Pf&&this.kf>1){const{ep:n}=this.rp(Sn(t),this.Tf);n<5&&!this.zf&&this._p(i,this.lp.up),this.cp()}}},this.dp=t,this.lp=i,this.yn=n,this.fp()}m(){null!==this.Nf&&(this.Nf(),this.Nf=null),null!==this.Ff&&(this.Ff(),this.Ff=null),null!==this.Hf&&(this.Hf(),this.Hf=null),null!==this.Uf&&(this.Uf(),this.Uf=null),null!==this.$f&&(this.$f(),this.$f=null),null!==this.Wf&&(this.Wf(),this.Wf=null),this.pp(),this.cp()}vp(t){this.Hf&&this.Hf();const i=this.mp.bind(this);if(this.Hf=()=>{this.dp.removeEventListener("mousemove",i)},this.dp.addEventListener("mousemove",i),this.np(t))return;const n=this.sp(t);this._p(n,this.lp.wp),this.Jf=!0}cp(){null!==this.Pf&&clearTimeout(this.Pf),this.kf=0,this.Pf=null,this.Tf={_t:Number.NEGATIVE_INFINITY,ut:Number.POSITIVE_INFINITY}}op(){null!==this.Df&&clearTimeout(this.Df),this.Rf=0,this.Df=null,this.If={_t:Number.NEGATIVE_INFINITY,ut:Number.POSITIVE_INFINITY}}mp(t){if(this.Zf||null!==this.Af)return;if(this.np(t))return;const i=this.sp(t);this._p(i,this.lp.Mp),this.Jf=!0}gp(t){const i=Cn(t.changedTouches,u(this.Xf));if(null===i)return;if(this.Gf=xn(t),null!==this.jf)return;if(this.Kf)return;this.Yf=!0;const n=this.rp(Sn(i),u(this.Af)),{bp:s,Sp:e,ep:r}=n;if(this.Lf||!(r<5)){if(!this.Lf){const t=.5*s,i=e>=t&&!this.yn.xp(),n=t>e&&!this.yn.Cp();i||n||(this.Kf=!0),this.Lf=!0,this.Of=!0,this.pp(),this.op()}if(!this.Kf){const n=this.sp(t,i);this.hp(n,this.lp.yp),bn(t)}}}kp(t){if(0!==t.button)return;const i=this.rp(Sn(t),u(this.Ef)),{ep:n}=i;if(n>=5&&(this.zf=!0,this.cp()),this.zf){const i=this.sp(t);this._p(i,this.lp.Pp)}}rp(t,i){const n=Math.abs(i._t-t._t),s=Math.abs(i.ut-t.ut);return{bp:n,Sp:s,ep:n+s}}Tp(t){let i=Cn(t.changedTouches,u(this.Xf));if(null===i&&0===t.touches.length&&(i=t.changedTouches[0]),null===i)return;this.Xf=null,this.Gf=xn(t),this.pp(),this.Af=null,this.$f&&(this.$f(),this.$f=null);const n=this.sp(t,i);if(this.hp(n,this.lp.Rp),++this.Rf,this.Df&&this.Rf>1){const{ep:t}=this.rp(Sn(i),this.If);t<30&&!this.Of&&this.hp(n,this.lp.ap),this.op()}else this.Of||(this.hp(n,this.lp.Dp),this.lp.Dp&&bn(t));0===this.Rf&&bn(t),0===t.touches.length&&this.Bf&&(this.Bf=!1,bn(t))}tp(t){if(0!==t.button)return;const i=this.sp(t);if(this.Ef=null,this.Zf=!1,this.Uf&&(this.Uf(),this.Uf=null),fn()){this.dp.ownerDocument.documentElement.removeEventListener("mouseleave",this.Qf)}if(!this.np(t))if(this._p(i,this.lp.Ip),++this.kf,this.Pf&&this.kf>1){const{ep:n}=this.rp(Sn(t),this.Tf);n<5&&!this.zf&&this._p(i,this.lp.up),this.cp()}else this.zf||this._p(i,this.lp.Vp)}pp(){null!==this.Vf&&(clearTimeout(this.Vf),this.Vf=null)}Bp(t){if(null!==this.Xf)return;const i=t.changedTouches[0];this.Xf=i.identifier,this.Gf=xn(t);const n=this.dp.ownerDocument.documentElement;this.Of=!1,this.Lf=!1,this.Kf=!1,this.Af=Sn(i),this.$f&&(this.$f(),this.$f=null);{const i=this.gp.bind(this),s=this.Tp.bind(this);this.$f=()=>{n.removeEventListener("touchmove",i),n.removeEventListener("touchend",s)},n.addEventListener("touchmove",i,{passive:!1}),n.addEventListener("touchend",s,{passive:!1}),this.pp(),this.Vf=setTimeout(this.Ep.bind(this,t),240)}const s=this.sp(t,i);this.hp(s,this.lp.Ap),this.Df||(this.Rf=0,this.Df=setTimeout(this.op.bind(this),500),this.If=Sn(i))}Lp(t){if(0!==t.button)return;const i=this.dp.ownerDocument.documentElement;fn()&&i.addEventListener("mouseleave",this.Qf),this.zf=!1,this.Ef=Sn(t),this.Uf&&(this.Uf(),this.Uf=null);{const t=this.kp.bind(this),n=this.tp.bind(this);this.Uf=()=>{i.removeEventListener("mousemove",t),i.removeEventListener("mouseup",n)},i.addEventListener("mousemove",t),i.addEventListener("mouseup",n)}if(this.Zf=!0,this.np(t))return;const n=this.sp(t);this._p(n,this.lp.zp),this.Pf||(this.kf=0,this.Pf=setTimeout(this.cp.bind(this),500),this.Tf=Sn(t))}fp(){this.dp.addEventListener("mouseenter",this.vp.bind(this)),this.dp.addEventListener("touchcancel",this.pp.bind(this));{const t=this.dp.ownerDocument,i=t=>{this.lp.Op&&(t.composed&&this.dp.contains(t.composedPath()[0])||t.target&&this.dp.contains(t.target)||this.lp.Op())};this.Ff=()=>{t.removeEventListener("touchstart",i)},this.Nf=()=>{t.removeEventListener("mousedown",i)},t.addEventListener("mousedown",i),t.addEventListener("touchstart",i,{passive:!0})}pn()&&(this.Wf=()=>{this.dp.removeEventListener("dblclick",this.ip)},this.dp.addEventListener("dblclick",this.ip)),this.dp.addEventListener("mouseleave",this.Np.bind(this)),this.dp.addEventListener("touchstart",this.Bp.bind(this),{passive:!0}),wn(this.dp),this.dp.addEventListener("mousedown",this.Lp.bind(this)),this.Fp(),this.dp.addEventListener("touchmove",(()=>{}),{passive:!1})}Fp(){void 0===this.lp.Wp&&void 0===this.lp.Hp&&void 0===this.lp.Up||(this.dp.addEventListener("touchstart",(t=>this.$p(t.touches)),{passive:!0}),this.dp.addEventListener("touchmove",(t=>{if(2===t.touches.length&&null!==this.jf&&void 0!==this.lp.Hp){const i=gn(t.touches[0],t.touches[1])/this.qf;this.lp.Hp(this.jf,i),bn(t)}}),{passive:!1}),this.dp.addEventListener("touchend",(t=>{this.$p(t.touches)})))}$p(t){1===t.length&&(this.Yf=!1),2!==t.length||this.Yf||this.Bf?this.jp():this.qp(t)}qp(t){const i=this.dp.getBoundingClientRect()||{left:0,top:0};this.jf={_t:(t[0].clientX-i.left+(t[1].clientX-i.left))/2,ut:(t[0].clientY-i.top+(t[1].clientY-i.top))/2},this.qf=gn(t[0],t[1]),void 0!==this.lp.Wp&&this.lp.Wp(),this.pp()}jp(){null!==this.jf&&(this.jf=null,void 0!==this.lp.Up&&this.lp.Up())}Np(t){if(this.Hf&&this.Hf(),this.np(t))return;if(!this.Jf)return;const i=this.sp(t);this._p(i,this.lp.Yp),this.Jf=!pn()}Ep(t){const i=Cn(t.touches,u(this.Xf));if(null===i)return;const n=this.sp(t,i);this.hp(n,this.lp.Kp),this.Of=!0,this.Bf=!0}np(t){return t.sourceCapabilities&&void 0!==t.sourceCapabilities.firesTouchEvents?t.sourceCapabilities.firesTouchEvents:xn(t){"touchstart"!==t.type&&bn(t)}}}}function gn(t,i){const n=t.clientX-i.clientX,s=t.clientY-i.clientY;return Math.sqrt(n*n+s*s)}function bn(t){t.cancelable&&t.preventDefault()}function Sn(t){return{_t:t.pageX,ut:t.pageY}}function xn(t){return t.timeStamp||performance.now()}function Cn(t,i){for(let n=0;n!1,Cp:()=>!0}),this.Qp={vv:n,pv:t}}ov(){this.lv.style.background=this.sv.N().layout.panes.separatorColor}mv(t){null!==this.Qp&&(this.Qp.vv.style.backgroundColor=this.sv.N().layout.panes.separatorHoverColor)}wv(t){null!==this.Qp&&null===this.nv&&(this.Qp.vv.style.backgroundColor="")}Mv(t){if(null===this.Qp)return;const i=this.ev.Sv().z_()+this.hv.Sv().z_(),n=i/(this.ev.cv().height+this.hv.cv().height),s=30*n;i<=2*s||(this.nv={xv:t.pageY,Cv:this.ev.Sv().z_(),yv:i-s,kv:i,Pv:n,Tv:s},this.Qp.pv.style.display="block")}gv(t){const i=this.nv;if(null===i)return;const n=(t.pageY-i.xv)*i.Pv,s=ni(i.Cv+n,i.Tv,i.yv);this.ev.Sv().O_(s),this.hv.Sv().O_(i.kv-s),this.sv.Qt().Pa()}bv(t){null!==this.nv&&null!==this.Qp&&(this.nv=null,this.Qp.pv.style.display="none")}}function kn(t,i){return t.Rv-i.Rv}function Pn(t,i,n){const s=(t.Rv-i.Rv)/(t.wt-i.wt);return Math.sign(s)*Math.min(Math.abs(s),n)}class Tn{constructor(t,i,n,s){this.Dv=null,this.Iv=null,this.Vv=null,this.Bv=null,this.Ev=null,this.Av=0,this.Lv=0,this.zv=t,this.Ov=i,this.Nv=n,this.ks=s}Fv(t,i){if(null!==this.Dv){if(this.Dv.wt===i)return void(this.Dv.Rv=t);if(Math.abs(this.Dv.Rv-t)50)return;let n=0;const s=Pn(this.Dv,this.Iv,this.Ov),e=kn(this.Dv,this.Iv),r=[s],h=[e];if(n+=e,null!==this.Vv){const t=Pn(this.Iv,this.Vv,this.Ov);if(Math.sign(t)===Math.sign(s)){const i=kn(this.Iv,this.Vv);if(r.push(t),h.push(i),n+=i,null!==this.Bv){const t=Pn(this.Vv,this.Bv,this.Ov);if(Math.sign(t)===Math.sign(s)){const i=kn(this.Vv,this.Bv);r.push(t),h.push(i),n+=i}}}}let a=0;for(let t=0;t160?"dark":"light"}Gv(){return this.qv.N().layout.attributionLogo}Jv(){const t=new URL(location.href);return t.hostname?"&utm_source="+t.hostname+t.pathname:""}Yv(){this.Zv()&&(this.Kv(),this.vn=this.Gv(),this.vn&&(this.$v=this.Xv(),this.Uv=document.createElement("style"),this.Uv.innerText="a#tv-attr-logo{--fill:#131722;--stroke:#fff;position:absolute;left:10px;bottom:10px;height:19px;width:35px;margin:0;padding:0;border:0;z-index:3;}a#tv-attr-logo[data-dark]{--fill:#D1D4DC;--stroke:#131722;}",this.Hv=document.createElement("a"),this.Hv.href=`https://www.tradingview.com/?utm_medium=lwc-link&utm_campaign=lwc-chart${this.Jv()}`,this.Hv.title="Charting by TradingView",this.Hv.id="tv-attr-logo",this.Hv.target="_blank",this.Hv.innerHTML='',this.Hv.toggleAttribute("data-dark","dark"===this.$v),this.jv.appendChild(this.Uv),this.jv.appendChild(this.Hv)))}}function Dn(t,n){const s=u(t.ownerDocument).createElement("canvas");t.appendChild(s);const e=i(s,{type:"device-pixel-content-box",options:{allowResizeObserver:!0},transform:(t,i)=>({width:Math.max(t.width,i.width),height:Math.max(t.height,i.height)})});return e.resizeCanvasElement(n),e}function In(t){t.width=1,t.height=1,t.getContext("2d")?.clearRect(0,0,1,1)}function Vn(t,i,n,s){t.qh&&t.qh(i,n,s)}function Bn(t,i,n,s){t.st(i,n,s)}function En(t,i,n,s){const e=t(n,s);for(const t of e){const n=t.Tt(s);null!==n&&i(n)}}function An(t,i){return n=>{if(!function(t){return void 0!==t.Ft}(n))return[];return(n.Ft()?.cl()??"")!==i?[]:n.Ga?.(t)??[]}}function Ln(t,i,n,s){if(!t.length)return;let e=0;const r=t[0].$t(s,!0);let h=1===i?n/2-(t[0].Hi()-r/2):t[0].Hi()-r/2-n/2;h=Math.max(0,h);for(let r=1;ru-o:_n)&&h>0){const s=1===i?-1-r:r-n,a=Math.min(s,h);for(let n=e;n{this.rm||this.yt.am().Qt().mr()},this.lm=()=>{this.rm||this.yt.am().Qt().mr()},this.yt=i,this.yn=n,this.ko=n.layout,this.wd=s,this.om="left"===e,this._m=An("normal",e),this.um=An("top",e),this.dm=An("bottom",e),this.lv=document.createElement("div"),this.lv.style.height="100%",this.lv.style.overflow="hidden",this.lv.style.width="25px",this.lv.style.left="0",this.lv.style.position="relative",this.fm=Dn(this.lv,t({width:16,height:16})),this.fm.subscribeSuggestedBitmapSizeChanged(this.hm);const r=this.fm.canvasElement;r.style.position="absolute",r.style.zIndex="1",r.style.left="0",r.style.top="0",this.pm=Dn(this.lv,t({width:16,height:16})),this.pm.subscribeSuggestedBitmapSizeChanged(this.lm);const h=this.pm.canvasElement;h.style.position="absolute",h.style.zIndex="2",h.style.left="0",h.style.top="0";const a={zp:this.Mv.bind(this),Ap:this.Mv.bind(this),Pp:this.gv.bind(this),yp:this.gv.bind(this),Op:this.vm.bind(this),Ip:this.bv.bind(this),Rp:this.bv.bind(this),up:this.wm.bind(this),ap:this.wm.bind(this),wp:this.Mm.bind(this),Yp:this.wv.bind(this)};this.tv=new Mn(this.pm.canvasElement,a,{xp:()=>!this.yn.handleScroll.vertTouchDrag,Cp:()=>!0})}m(){this.tv.m(),this.pm.unsubscribeSuggestedBitmapSizeChanged(this.lm),In(this.pm.canvasElement),this.pm.dispose(),this.fm.unsubscribeSuggestedBitmapSizeChanged(this.hm),In(this.fm.canvasElement),this.fm.dispose(),null!==this.Ki&&this.Ki.a_().u(this),this.Ki=null}uv(){return this.lv}k(){return this.ko.fontSize}gm(){const t=this.wd.N();return this.nm!==t.P&&(this.im.Os(),this.nm=t.P),t}bm(){if(null===this.Ki)return 0;let t=0;const i=this.gm(),n=u(this.fm.canvasElement.getContext("2d",{colorSpace:this.yt.am().N().layout.colorSpace}));n.save();const s=this.Ki.El();n.font=this.Sm(),s.length>0&&(t=Math.max(this.im.Ii(n,s[0].io),this.im.Ii(n,s[s.length-1].io)));const e=this.xm();for(let i=e.length;i--;){const s=this.im.Ii(n,e[i].ri());s>t&&(t=s)}const r=this.Ki.Lt();if(null!==r&&null!==this.Qv&&(2!==(h=this.yn.crosshair).mode&&h.horzLine.visible&&h.horzLine.labelVisible)){const i=this.Ki.Tn(1,r),s=this.Ki.Tn(this.Qv.height-2,r);t=Math.max(t,this.im.Ii(n,this.Ki.Ji(Math.floor(Math.min(i,s))+.11111111111111,r)),this.im.Ii(n,this.Ki.Ji(Math.ceil(Math.max(i,s))-.11111111111111,r)))}var h;n.restore();const a=t||34;return mn(Math.ceil(i.S+i.C+i.V+i.B+5+a))}Cm(t){null!==this.Qv&&n(this.Qv,t)||(this.Qv=t,this.rm=!0,this.fm.resizeCanvasElement(t),this.pm.resizeCanvasElement(t),this.rm=!1,this.lv.style.width=`${t.width}px`,this.lv.style.height=`${t.height}px`)}ym(){return u(this.Qv).width}un(t){this.Ki!==t&&(null!==this.Ki&&this.Ki.a_().u(this),this.Ki=t,t.a_().i(this.po.bind(this),this))}Ft(){return this.Ki}Os(){const t=this.yt.Sv();this.yt.am().Qt().eu(t,u(this.Ft()))}km(t){if(null===this.Qv)return;const i={colorSpace:this.yt.am().N().layout.colorSpace};if(1!==t){this.Pm(),this.fm.applySuggestedBitmapSize();const t=s(this.fm,i);null!==t&&(t.useBitmapCoordinateSpace((t=>{this.Tm(t),this.Rm(t)})),this.yt.Dm(t,this.dm),this.Im(t),this.yt.Dm(t,this._m),this.Vm(t))}this.pm.applySuggestedBitmapSize();const n=s(this.pm,i);null!==n&&(n.useBitmapCoordinateSpace((({context:t,bitmapSize:i})=>{t.clearRect(0,0,i.width,i.height)})),this.Bm(n),this.yt.Dm(n,this.um))}dv(){return this.fm.bitmapSize}fv(t,i,n,s){const e=this.dv();if(e.width>0&&e.height>0&&(t.drawImage(this.fm.canvasElement,i,n),s)){const s=this.pm.canvasElement;t.drawImage(s,i,n)}}kt(){this.Ki?.El()}Mv(t){if(null===this.Ki||this.Ki.Gi()||!this.yn.handleScale.axisPressedMouseMove.price)return;const i=this.yt.am().Qt(),n=this.yt.Sv();this.tm=!0,i.G_(n,this.Ki,t.localY)}gv(t){if(null===this.Ki||!this.yn.handleScale.axisPressedMouseMove.price)return;const i=this.yt.am().Qt(),n=this.yt.Sv(),s=this.Ki;i.X_(n,s,t.localY)}vm(){if(null===this.Ki||!this.yn.handleScale.axisPressedMouseMove.price)return;const t=this.yt.am().Qt(),i=this.yt.Sv(),n=this.Ki;this.tm&&(this.tm=!1,t.J_(i,n))}bv(t){if(null===this.Ki||!this.yn.handleScale.axisPressedMouseMove.price)return;const i=this.yt.am().Qt(),n=this.yt.Sv();this.tm=!1,i.J_(n,this.Ki)}wm(t){this.yn.handleScale.axisDoubleClickReset.price&&this.Os()}Mm(t){if(null===this.Ki)return;!this.yt.am().Qt().N().handleScale.axisPressedMouseMove.price||this.Ki.je()||this.Ki.Lo()||this.Em(1)}wv(t){this.Em(0)}xm(){const t=[],i=null===this.Ki?void 0:this.Ki;return(n=>{for(let s=0;s{t.fillStyle=n.borderColor;const a=Math.max(1,Math.floor(h)),l=Math.floor(.5*h),o=Math.round(s.C*r);t.beginPath();for(const n of i)t.rect(Math.floor(e*r),Math.round(n.Rl*h)-l,o,a);t.fill()})),t.useMediaCoordinateSpace((({context:t})=>{t.font=this.Sm(),t.fillStyle=n.textColor??this.ko.textColor,t.textAlign=this.om?"right":"left",t.textBaseline="middle";const r=this.om?Math.round(e-s.V):Math.round(e+s.C+s.V),h=i.map((i=>this.im.Di(t,i.io)));for(let n=i.length;n--;){const s=i[n];t.fillText(s.io,r,s.Rl+h[n])}}))}Pm(){if(null===this.Qv||null===this.Ki)return;let t=this.Qv.height/2;const i=[],n=this.Ki.Dt().slice(),s=this.yt.Sv(),e=this.gm();this.Ki===s.Gs()&&this.yt.Sv().Dt().forEach((t=>{s.Zs(t)&&n.push(t)}));const r=this.Ki.Cl()[0],h=this.Ki;n.forEach((n=>{const e=n.qn(s,h);e.forEach((t=>{t.$i()&&null===t.Wi()&&(t.Ui(null),i.push(t))})),r===n&&e.length>0&&(t=e[0].Ei())}));this.Ki.N().alignLabels&&this.Am(i,e,t)}Am(t,i,n){if(null===this.Qv)return;const s=t.filter((t=>t.Ei()<=n)),e=t.filter((t=>t.Ei()>n));s.sort(((t,i)=>i.Ei()-t.Ei())),s.length&&e.length&&e.push(s[0]),e.sort(((t,i)=>t.Ei()-i.Ei()));for(const n of t){const t=Math.floor(n.$t(i)/2),s=n.Ei();s>-t&&sthis.Qv.height-t&&s{if(i.ji()){i.Tt(u(this.Ki)).st(t,n,this.im,s)}}))}Bm(t){if(null===this.Qv||null===this.Ki)return;const i=this.yt.am().Qt(),n=[],s=this.yt.Sv(),e=i.Rd().qn(s,this.Ki);e.length&&n.push(e);const r=this.gm(),h=this.om?"right":"left";n.forEach((i=>{i.forEach((i=>{i.Tt(u(this.Ki)).st(t,r,this.im,h)}))}))}Em(t){this.lv.style.cursor=1===t?"ns-resize":"default"}po(){const t=this.bm();this.sm{this.rm||null===this.Zm||this.sn().mr()},this.lm=()=>{this.rm||null===this.Zm||this.sn().mr()},this.qv=i,this.Zm=n,this.Zm.fu().i(this.Gm.bind(this),this,!0),this.Xm=document.createElement("td"),this.Xm.style.padding="0",this.Xm.style.position="relative";const s=document.createElement("div");s.style.width="100%",s.style.height="100%",s.style.position="relative",s.style.overflow="hidden",this.Jm=document.createElement("td"),this.Jm.style.padding="0",this.Qm=document.createElement("td"),this.Qm.style.padding="0",this.Xm.appendChild(s),this.fm=Dn(s,t({width:16,height:16})),this.fm.subscribeSuggestedBitmapSizeChanged(this.hm);const e=this.fm.canvasElement;e.style.position="absolute",e.style.zIndex="1",e.style.left="0",e.style.top="0",this.pm=Dn(s,t({width:16,height:16})),this.pm.subscribeSuggestedBitmapSizeChanged(this.lm);const r=this.pm.canvasElement;r.style.position="absolute",r.style.zIndex="2",r.style.left="0",r.style.top="0",this.av=document.createElement("tr"),this.av.appendChild(this.Jm),this.av.appendChild(this.Xm),this.av.appendChild(this.Qm),this.tw(),this.tv=new Mn(this.pm.canvasElement,this,{xp:()=>null===this.jm&&!this.qv.N().handleScroll.vertTouchDrag,Cp:()=>null===this.jm&&!this.qv.N().handleScroll.horzTouchDrag})}m(){null!==this.Lm&&this.Lm.m(),null!==this.zm&&this.zm.m(),this.Om=null,this.pm.unsubscribeSuggestedBitmapSizeChanged(this.lm),In(this.pm.canvasElement),this.pm.dispose(),this.fm.unsubscribeSuggestedBitmapSizeChanged(this.hm),In(this.fm.canvasElement),this.fm.dispose(),null!==this.Zm&&(this.Zm.fu().u(this),this.Zm.m()),this.tv.m()}Sv(){return u(this.Zm)}iw(t){null!==this.Zm&&this.Zm.fu().u(this),this.Zm=t,null!==this.Zm&&this.Zm.fu().i(Hn.prototype.Gm.bind(this),this,!0),this.tw(),this.qv.rv().indexOf(this)===this.qv.rv().length-1?(this.Om=this.Om??new Rn(this.Xm,this.qv),this.Om.kt()):(this.Om?.Kv(),this.Om=null)}am(){return this.qv}uv(){return this.av}tw(){if(null!==this.Zm&&(this.nw(),0!==this.sn().Jn().length)){if(null!==this.Lm){const t=this.Zm.K_();this.Lm.un(u(t))}if(null!==this.zm){const t=this.Zm.Z_();this.zm.un(u(t))}}}sw(){null!==this.Lm&&this.Lm.kt(),null!==this.zm&&this.zm.kt()}z_(){return null!==this.Zm?this.Zm.z_():0}O_(t){this.Zm&&this.Zm.O_(t)}wp(t){if(!this.Zm)return;this.ew();const i=t.localX,n=t.localY;this.rw(i,n,t)}zp(t){this.ew(),this.hw(),this.rw(t.localX,t.localY,t)}Mp(t){if(!this.Zm)return;this.ew();const i=t.localX,n=t.localY;this.rw(i,n,t)}Vp(t){null!==this.Zm&&(this.ew(),this.rw(t.localX,t.localY,t),this.aw(t))}up(t){null!==this.Zm&&this.lw(this.Hm,t)}ap(t){this.up(t)}Pp(t){this.ew(),this.ow(t),this.rw(t.localX,t.localY,t)}Ip(t){null!==this.Zm&&(this.ew(),this.$m=!1,this._w(t))}Dp(t){null!==this.Zm&&this.aw(t)}Kp(t){if(this.$m=!0,null===this.jm){const i={x:t.localX,y:t.localY};this.uw(i,i,t)}}Yp(t){null!==this.Zm&&(this.ew(),this.Zm.Qt().kd(null),this.cw())}dw(){return this.Wm}fw(){return this.Hm}Wp(){this.Um=1,this.sn().cs()}Hp(t,i){if(!this.qv.N().handleScale.pinch)return;const n=5*(i-this.Um);this.Um=i,this.sn().Od(t._t,n)}Ap(t){this.$m=!1,this.qm=null!==this.jm,this.hw();const i=this.sn().Rd();null!==this.jm&&i.It()&&(this.Ym={x:i.ni(),y:i.si()},this.jm={x:t.localX,y:t.localY})}yp(t){if(null===this.Zm)return;const i=t.localX,n=t.localY;if(null===this.jm)this.ow(t);else{this.qm=!1;const s=u(this.Ym),e=s.x+(i-this.jm.x),r=s.y+(n-this.jm.y);this.rw(e,r,t)}}Rp(t){0===this.am().N().trackingMode.exitMode&&(this.qm=!0),this.pw(),this._w(t)}Qs(t,i){const n=this.Zm;return null===n?null:Bi(n,t,i)}mw(i,n){u("left"===n?this.Lm:this.zm).Cm(t({width:i,height:this.Qv.height}))}cv(){return this.Qv}Cm(t){n(this.Qv,t)||(this.Qv=t,this.rm=!0,this.fm.resizeCanvasElement(t),this.pm.resizeCanvasElement(t),this.rm=!1,this.Xm.style.width=t.width+"px",this.Xm.style.height=t.height+"px")}ww(){const t=u(this.Zm);t.q_(t.K_()),t.q_(t.Z_());for(const i of t.Cl())if(t.Zs(i)){const n=i.Ft();null!==n&&t.q_(n),i.Nn()}for(const i of t.vu())i.Nn()}dv(){return this.fm.bitmapSize}fv(t,i,n,s){const e=this.dv();if(e.width>0&&e.height>0&&(t.drawImage(this.fm.canvasElement,i,n),s)){const s=this.pm.canvasElement;null!==t&&t.drawImage(s,i,n)}}km(t){if(0===t)return;if(null===this.Zm)return;t>1&&this.ww(),null!==this.Lm&&this.Lm.km(t),null!==this.zm&&this.zm.km(t);const i={colorSpace:this.qv.N().layout.colorSpace};if(1!==t){this.fm.applySuggestedBitmapSize();const t=s(this.fm,i);null!==t&&(t.useBitmapCoordinateSpace((t=>{this.Tm(t)})),this.Zm&&(this.Mw(t,On),this.gw(t),this.Mw(t,Nn),this.Mw(t,Fn)))}this.pm.applySuggestedBitmapSize();const n=s(this.pm,i);null!==n&&(n.useBitmapCoordinateSpace((({context:t,bitmapSize:i})=>{t.clearRect(0,0,i.width,i.height)})),this.bw(n),this.Mw(n,Wn),this.Mw(n,Fn))}Sw(){return this.Lm}xw(){return this.zm}Dm(t,i){this.Mw(t,i)}Gm(){null!==this.Zm&&this.Zm.fu().u(this),this.Zm=null}aw(t){this.lw(this.Wm,t)}lw(t,i){const n=i.localX,s=i.localY;t.v()&&t.p(this.sn().Et().Rc(n),{x:n,y:s},i)}Tm({context:t,bitmapSize:i}){const{width:n,height:s}=i,e=this.sn(),r=e.$(),h=e.ef();r===h?z(t,0,0,n,s,h):F(t,0,0,n,s,r,h)}gw(t){const i=u(this.Zm),n=i.pu().wr().Tt(i);null!==n&&n.st(t,!1)}bw(t){this.Cw(t,Nn,Bn,this.sn().Rd())}Mw(t,i){const n=u(this.Zm),s=n.au(),e=n.vu();for(const n of e)this.Cw(t,i,Vn,n);for(const n of s)this.Cw(t,i,Vn,n);for(const n of e)this.Cw(t,i,Bn,n);for(const n of s)this.Cw(t,i,Bn,n)}Cw(t,i,n,s){const e=u(this.Zm),r=e.Qt().ou(),h=null!==r&&r.lu===s,a=null!==r&&h&&void 0!==r.wu?r.wu.ie:void 0;En(i,(i=>n(i,t,h,a)),s,e)}nw(){if(null===this.Zm)return;const t=this.qv,i=this.Zm.K_().N().visible,n=this.Zm.Z_().N().visible;i||null===this.Lm||(this.Jm.removeChild(this.Lm.uv()),this.Lm.m(),this.Lm=null),n||null===this.zm||(this.Qm.removeChild(this.zm.uv()),this.zm.m(),this.zm=null);const s=t.Qt().Zd();i&&null===this.Lm&&(this.Lm=new zn(this,t.N(),s,"left"),this.Jm.appendChild(this.Lm.uv())),n&&null===this.zm&&(this.zm=new zn(this,t.N(),s,"right"),this.Qm.appendChild(this.zm.uv()))}yw(t){return t.Zp&&this.$m||null!==this.jm}rw(t,i,n){t=Math.max(0,Math.min(t,this.Qv.width-1)),i=Math.max(0,Math.min(i,this.Qv.height-1)),this.sn().jd(t,i,n,u(this.Zm))}cw(){this.sn().Yd()}pw(){this.qm&&(this.jm=null,this.cw())}uw(t,i,n){this.jm=t,this.qm=!1,this.rw(i.x,i.y,n);const s=this.sn().Rd();this.Ym={x:s.ni(),y:s.si()}}sn(){return this.qv.Qt()}_w(t){if(!this.Fm)return;const i=this.sn(),n=this.Sv();if(i.iu(n,n.Pn()),this.Nm=null,this.Fm=!1,i.Hd(),null!==this.Km){const t=performance.now(),n=i.Et();this.Km.me(n.Ac(),t),this.Km.jc(t)||i.ps(this.Km)}}ew(){this.jm=null}hw(){if(!this.Zm)return;if(this.sn().cs(),document.activeElement!==document.body&&document.activeElement!==document.documentElement)u(document.activeElement).blur();else{const t=document.getSelection();null!==t&&t.removeAllRanges()}!this.Zm.Pn().Gi()&&this.sn().Et().Gi()}ow(t){if(null===this.Zm)return;const i=this.sn(),n=i.Et();if(n.Gi())return;const s=this.qv.N(),e=s.handleScroll,r=s.kineticScroll;if((!e.pressedMouseMove||t.Zp)&&(!e.horzTouchDrag&&!e.vertTouchDrag||!t.Zp))return;const h=this.Zm.Pn(),a=performance.now();if(null!==this.Nm||this.yw(t)||(this.Nm={x:t.clientX,y:t.clientY,Sf:a,kw:t.localX,Pw:t.localY}),null!==this.Nm&&!this.Fm&&(this.Nm.x!==t.clientX||this.Nm.y!==t.clientY)){if(t.Zp&&r.touch||!t.Zp&&r.mouse){const t=n.fl();this.Km=new Tn(.2/t,7/t,.997,15/t),this.Km.Fv(n.Ac(),this.Nm.Sf)}else this.Km=null;h.Gi()||i.Q_(this.Zm,h,t.localY),i.Fd(t.localX),this.Fm=!0}this.Fm&&(h.Gi()||i.tu(this.Zm,h,t.localY),i.Wd(t.localX),null!==this.Km&&this.Km.Fv(n.Ac(),a))}}class Un{constructor(i,n,s,e,r){this.xt=!0,this.Qv=t({width:0,height:0}),this.hm=()=>this.km(3),this.om="left"===i,this.wd=s.Zd,this.yn=n,this.Tw=e,this.Rw=r,this.lv=document.createElement("div"),this.lv.style.width="25px",this.lv.style.height="100%",this.lv.style.overflow="hidden",this.fm=Dn(this.lv,t({width:16,height:16})),this.fm.subscribeSuggestedBitmapSizeChanged(this.hm)}m(){this.fm.unsubscribeSuggestedBitmapSizeChanged(this.hm),In(this.fm.canvasElement),this.fm.dispose()}uv(){return this.lv}cv(){return this.Qv}Cm(t){n(this.Qv,t)||(this.Qv=t,this.fm.resizeCanvasElement(t),this.lv.style.width=`${t.width}px`,this.lv.style.height=`${t.height}px`,this.xt=!0)}km(t){if(t<3&&!this.xt)return;if(0===this.Qv.width||0===this.Qv.height)return;this.xt=!1,this.fm.applySuggestedBitmapSize();const i=s(this.fm,{colorSpace:this.yn.layout.colorSpace});null!==i&&i.useBitmapCoordinateSpace((t=>{this.Tm(t),this.Rm(t)}))}dv(){return this.fm.bitmapSize}fv(t,i,n){const s=this.dv();s.width>0&&s.height>0&&t.drawImage(this.fm.canvasElement,i,n)}Rm({context:t,bitmapSize:i,horizontalPixelRatio:n,verticalPixelRatio:s}){if(!this.Tw())return;t.fillStyle=this.yn.timeScale.borderColor;const e=Math.floor(this.wd.N().S*n),r=Math.floor(this.wd.N().S*s),h=this.om?i.width-e:0;t.fillRect(h,0,e,r)}Tm({context:t,bitmapSize:i}){z(t,0,0,i.width,i.height,this.Rw())}}function $n(t){return i=>i.Xa?.(t)??[]}const jn=$n("normal"),qn=$n("top"),Yn=$n("bottom");class Kn{constructor(i,n){this.Dw=null,this.Iw=null,this.M=null,this.Vw=!1,this.Qv=t({width:0,height:0}),this.Bw=new d,this.im=new rt(5),this.rm=!1,this.hm=()=>{this.rm||this.qv.Qt().mr()},this.lm=()=>{this.rm||this.qv.Qt().mr()},this.qv=i,this.xu=n,this.yn=i.N().layout,this.Hv=document.createElement("tr"),this.Ew=document.createElement("td"),this.Ew.style.padding="0",this.Aw=document.createElement("td"),this.Aw.style.padding="0",this.lv=document.createElement("td"),this.lv.style.height="25px",this.lv.style.padding="0",this.Lw=document.createElement("div"),this.Lw.style.width="100%",this.Lw.style.height="100%",this.Lw.style.position="relative",this.Lw.style.overflow="hidden",this.lv.appendChild(this.Lw),this.fm=Dn(this.Lw,t({width:16,height:16})),this.fm.subscribeSuggestedBitmapSizeChanged(this.hm);const s=this.fm.canvasElement;s.style.position="absolute",s.style.zIndex="1",s.style.left="0",s.style.top="0",this.pm=Dn(this.Lw,t({width:16,height:16})),this.pm.subscribeSuggestedBitmapSizeChanged(this.lm);const e=this.pm.canvasElement;e.style.position="absolute",e.style.zIndex="2",e.style.left="0",e.style.top="0",this.Hv.appendChild(this.Ew),this.Hv.appendChild(this.lv),this.Hv.appendChild(this.Aw),this.zw(),this.qv.Qt().L_().i(this.zw.bind(this),this),this.tv=new Mn(this.pm.canvasElement,this,{xp:()=>!0,Cp:()=>!this.qv.N().handleScroll.horzTouchDrag})}m(){this.tv.m(),null!==this.Dw&&this.Dw.m(),null!==this.Iw&&this.Iw.m(),this.pm.unsubscribeSuggestedBitmapSizeChanged(this.lm),In(this.pm.canvasElement),this.pm.dispose(),this.fm.unsubscribeSuggestedBitmapSizeChanged(this.hm),In(this.fm.canvasElement),this.fm.dispose()}uv(){return this.Hv}Ow(){return this.Dw}Nw(){return this.Iw}zp(t){if(this.Vw)return;this.Vw=!0;const i=this.qv.Qt();!i.Et().Gi()&&this.qv.N().handleScale.axisPressedMouseMove.time&&i.zd(t.localX)}Ap(t){this.zp(t)}Op(){const t=this.qv.Qt();!t.Et().Gi()&&this.Vw&&(this.Vw=!1,this.qv.N().handleScale.axisPressedMouseMove.time&&t.$d())}Pp(t){const i=this.qv.Qt();!i.Et().Gi()&&this.qv.N().handleScale.axisPressedMouseMove.time&&i.Ud(t.localX)}yp(t){this.Pp(t)}Ip(){this.Vw=!1;const t=this.qv.Qt();t.Et().Gi()&&!this.qv.N().handleScale.axisPressedMouseMove.time||t.$d()}Rp(){this.Ip()}up(){this.qv.N().handleScale.axisDoubleClickReset.time&&this.qv.Qt().ws()}ap(){this.up()}wp(){this.qv.Qt().N().handleScale.axisPressedMouseMove.time&&this.Em(1)}Yp(){this.Em(0)}cv(){return this.Qv}Fw(){return this.Bw}Ww(i,s,e){n(this.Qv,i)||(this.Qv=i,this.rm=!0,this.fm.resizeCanvasElement(i),this.pm.resizeCanvasElement(i),this.rm=!1,this.lv.style.width=`${i.width}px`,this.lv.style.height=`${i.height}px`,this.Bw.p(i)),null!==this.Dw&&this.Dw.Cm(t({width:s,height:i.height})),null!==this.Iw&&this.Iw.Cm(t({width:e,height:i.height}))}Hw(){const t=this.Uw();return Math.ceil(t.S+t.C+t.k+t.A+t.I+t.$w)}kt(){this.qv.Qt().Et().El()}dv(){return this.fm.bitmapSize}fv(t,i,n,s){const e=this.dv();if(e.width>0&&e.height>0&&(t.drawImage(this.fm.canvasElement,i,n),s)){const s=this.pm.canvasElement;t.drawImage(s,i,n)}}km(t){if(0===t)return;const i={colorSpace:this.yn.colorSpace};if(1!==t){this.fm.applySuggestedBitmapSize();const n=s(this.fm,i);null!==n&&(n.useBitmapCoordinateSpace((t=>{this.Tm(t),this.Rm(t),this.jw(n,Yn)})),this.Im(n),this.jw(n,jn)),null!==this.Dw&&this.Dw.km(t),null!==this.Iw&&this.Iw.km(t)}this.pm.applySuggestedBitmapSize();const n=s(this.pm,i);null!==n&&(n.useBitmapCoordinateSpace((({context:t,bitmapSize:i})=>{t.clearRect(0,0,i.width,i.height)})),this.qw([...this.qv.Qt().Jn(),this.qv.Qt().Rd()],n),this.jw(n,qn))}jw(t,i){const n=this.qv.Qt().Jn();for(const s of n)En(i,(i=>Vn(i,t,!1,void 0)),s,void 0);for(const s of n)En(i,(i=>Bn(i,t,!1,void 0)),s,void 0)}Tm({context:t,bitmapSize:i}){z(t,0,0,i.width,i.height,this.qv.Qt().ef())}Rm({context:t,bitmapSize:i,verticalPixelRatio:n}){if(this.qv.N().timeScale.borderVisible){t.fillStyle=this.Yw();const s=Math.max(1,Math.floor(this.Uw().S*n));t.fillRect(0,0,i.width,s)}}Im(t){const i=this.qv.Qt().Et(),n=i.El();if(!n||0===n.length)return;const s=this.xu.maxTickMarkWeight(n),e=this.Uw(),r=i.N();r.borderVisible&&r.ticksVisible&&t.useBitmapCoordinateSpace((({context:t,horizontalPixelRatio:i,verticalPixelRatio:s})=>{t.strokeStyle=this.Yw(),t.fillStyle=this.Yw();const r=Math.max(1,Math.floor(i)),h=Math.floor(.5*i);t.beginPath();const a=Math.round(e.C*s);for(let s=n.length;s--;){const e=Math.round(n[s].coord*i);t.rect(e-h,0,r,a)}t.fill()})),t.useMediaCoordinateSpace((({context:t})=>{const i=e.S+e.C+e.A+e.k/2;t.textAlign="center",t.textBaseline="middle",t.fillStyle=this.H(),t.font=this.Sm();for(const e of n)if(e.weight=s){const n=e.needAlignCoordinate?this.Kw(t,e.coord,e.label):e.coord;t.fillText(e.label,n,i)}}))}Kw(t,i,n){const s=this.im.Ii(t,n),e=s/2,r=Math.floor(i-e)+.5;return r<0?i+=Math.abs(0-r):r+s>this.Qv.width&&(i-=Math.abs(this.Qv.width-(r+s))),i}qw(t,i){const n=this.Uw();for(const s of t)for(const t of s.dn())t.Tt().st(i,n)}Yw(){return this.qv.N().timeScale.borderColor}H(){return this.yn.textColor}F(){return this.yn.fontSize}Sm(){return x(this.F(),this.yn.fontFamily)}Zw(){return x(this.F(),this.yn.fontFamily,"bold")}Uw(){null===this.M&&(this.M={S:1,L:NaN,A:NaN,I:NaN,tn:NaN,C:5,k:NaN,P:"",Qi:new rt,$w:0});const t=this.M,i=this.Sm();if(t.P!==i){const n=this.F();t.k=n,t.P=i,t.A=3*n/12,t.I=3*n/12,t.tn=9*n/12,t.L=0,t.$w=4*n/12,t.Qi.Os()}return this.M}Em(t){this.lv.style.cursor=1===t?"ew-resize":"default"}zw(){const t=this.qv.Qt(),i=t.N();i.leftPriceScale.visible||null===this.Dw||(this.Ew.removeChild(this.Dw.uv()),this.Dw.m(),this.Dw=null),i.rightPriceScale.visible||null===this.Iw||(this.Aw.removeChild(this.Iw.uv()),this.Iw.m(),this.Iw=null);const n={Zd:this.qv.Qt().Zd()},s=()=>i.leftPriceScale.borderVisible&&t.Et().N().borderVisible,e=()=>t.ef();i.leftPriceScale.visible&&null===this.Dw&&(this.Dw=new Un("left",i,n,s,e),this.Ew.appendChild(this.Dw.uv())),i.rightPriceScale.visible&&null===this.Iw&&(this.Iw=new Un("right",i,n,s,e),this.Aw.appendChild(this.Iw.uv()))}}const Zn=!!dn&&!!navigator.userAgentData&&navigator.userAgentData.brands.some((t=>t.brand.includes("Chromium")))&&!!dn&&(navigator?.userAgentData?.platform?"Windows"===navigator.userAgentData.platform:navigator.userAgent.toLowerCase().indexOf("win")>=0);class Gn{constructor(t,i,n){var s;this.Gw=[],this.Xw=[],this.Jw=0,this.ho=0,this.C_=0,this.Qw=0,this.tM=0,this.iM=null,this.nM=!1,this.Wm=new d,this.Hm=new d,this.pd=new d,this.sM=null,this.eM=null,this.jv=t,this.yn=i,this.xu=n,this.Hv=document.createElement("div"),this.Hv.classList.add("tv-lightweight-charts"),this.Hv.style.overflow="hidden",this.Hv.style.direction="ltr",this.Hv.style.width="100%",this.Hv.style.height="100%",(s=this.Hv).style.userSelect="none",s.style.webkitUserSelect="none",s.style.msUserSelect="none",s.style.MozUserSelect="none",s.style.webkitTapHighlightColor="transparent",this.rM=document.createElement("table"),this.rM.setAttribute("cellspacing","0"),this.Hv.appendChild(this.rM),this.hM=this.aM.bind(this),Xn(this.yn)&&this.lM(!0),this.sn=new qi(this.md.bind(this),this.yn,n),this.Qt().Dd().i(this.oM.bind(this),this),this._M=new Kn(this,this.xu),this.rM.appendChild(this._M.uv());const e=i.autoSize&&this.uM();let r=this.yn.width,h=this.yn.height;if(e||0===r||0===h){const i=t.getBoundingClientRect();r=r||i.width,h=h||i.height}this.cM(r,h),this.dM(),t.appendChild(this.Hv),this.fM(),this.sn.Et().Zc().i(this.sn.Pa.bind(this.sn),this),this.sn.L_().i(this.sn.Pa.bind(this.sn),this)}Qt(){return this.sn}N(){return this.yn}rv(){return this.Gw}pM(){return this._M}m(){this.lM(!1),0!==this.Jw&&window.cancelAnimationFrame(this.Jw),this.sn.Dd().u(this),this.sn.Et().Zc().u(this),this.sn.L_().u(this),this.sn.m();for(const t of this.Gw)this.rM.removeChild(t.uv()),t.dw().u(this),t.fw().u(this),t.m();this.Gw=[];for(const t of this.Xw)this.vM(t);this.Xw=[],u(this._M).m(),null!==this.Hv.parentElement&&this.Hv.parentElement.removeChild(this.Hv),this.pd.m(),this.Wm.m(),this.Hm.m(),this.mM()}cM(i,n,s=!1){if(this.ho===n&&this.C_===i)return;const e=function(i){const n=Math.floor(i.width),s=Math.floor(i.height);return t({width:n-n%2,height:s-s%2})}(t({width:i,height:n}));this.ho=e.height,this.C_=e.width;const r=this.ho+"px",h=this.C_+"px";if(this.wM()||(u(this.Hv).style.height=r,u(this.Hv).style.width=h),this.rM.style.height=r,this.rM.style.width=h,s){0!==this.Jw&&(window.cancelAnimationFrame(this.Jw),this.Jw=0),this.nM=!1;const t=X.ys();null!==this.iM&&(t.Ss(this.iM),this.iM=null),this.MM(t,performance.now())}else this.sn.Pa()}km(t){void 0===t&&(t=X.ys());for(let i=0;i{t.kt()}))}bM(t){(void 0!==t.autoSize||!this.sM||void 0===t.width&&void 0===t.height)&&(t.autoSize&&!this.sM&&this.uM(),!1===t.autoSize&&null!==this.sM&&this.mM(),t.autoSize||void 0===t.width&&void 0===t.height||this.cM(t.width||this.C_,t.height||this.ho))}xM(i,n){let s=0,e=0;const r=this.Gw[0],h=(t,s)=>{let e=0;for(let r=0;r{u("left"===t?this._M.Ow():this._M.Nw()).fv(u(i),n,s)};if(this.yn.timeScale.visible){const t=this._M.dv();if(null!==i){let s=0;this.yM()&&(a("left",s,e),s=u(r.Sw()).dv().width),this._M.fv(i,s,e,n),s+=t.width,this.kM()&&a("right",s,e)}e+=t.height}return t({width:s,height:e})}DM(){let i=0,n=0,s=0;for(const t of this.Gw)this.yM()&&(n=Math.max(n,u(t.Sw()).bm(),this.yn.leftPriceScale.minimumWidth)),this.kM()&&(s=Math.max(s,u(t.xw()).bm(),this.yn.rightPriceScale.minimumWidth)),i+=t.z_();n=mn(n),s=mn(s);const e=this.C_,r=this.ho,h=Math.max(e-n-s,0),a=1*this.Xw.length,l=this.yn.timeScale.visible;let o=l?Math.max(this._M.Hw(),this.yn.timeScale.minimumHeight):0;var _;o=(_=o)+_%2;const c=a+o,d=r{t.sw()})),3===this.iM?.ls()&&(this.iM.Ss(t),this.VM(),this.BM(this.iM),this.EM(this.iM,i),t=this.iM,this.iM=null)),this.km(t)}EM(t,i){for(const n of t.bs())this.xs(n,i)}BM(t){const i=this.sn.Zn();for(let n=0;n{if(this.nM=!1,this.Jw=0,null!==this.iM){const i=this.iM;this.iM=null,this.MM(i,t);for(const n of i.bs())if(5===n.ds&&!n.Wt.jc(t)){this.Qt().ps(n.Wt);break}}})))}VM(){this.dM()}vM(t){this.rM.removeChild(t.uv()),t.m()}dM(){const t=this.sn.Zn(),i=t.length,n=this.Gw.length;for(let t=i;t0){const t=new yn(this,s-1,s);this.Xw.push(t),this.rM.insertBefore(t.uv(),this._M.uv())}this.rM.insertBefore(i.uv(),this._M.uv())}for(let n=0;n{const n=i.Un().Hn(t);null!==n&&e.set(i,n)}))}let r;if(null!==t){const i=this.sn.Et().en(t)?.originalTime;void 0!==i&&(r=i)}const h=this.Qt().ou(),a=this.OM(s),l=function(t,i){const n=null!==t&&t.lu instanceof Jt?t.lu:void 0,s=t?.wu?.te,e=void 0!==i&&-1!==i?i:void 0;return null===t||void 0===t.ee?{NM:n,FM:s}:{NM:n,FM:s,WM:{ds:t.ee,HM:(r=t.lu,h=t.ee,r instanceof ki?"pane-primitive":"marker"===h||"primitive"===h?"series-primitive":"series"),UM:vn(t.ee,s),U_:n,$M:s,jM:e}};var r,h}(h,a);return{Qr:r,$n:t??void 0,qM:i??void 0,jM:-1!==a?a:void 0,NM:l.NM,YM:e,FM:l.FM,WM:l.WM,KM:n??void 0}}OM(t){let i=-1;if(t)i=this.Gw.indexOf(t);else{const t=this.Qt().Rd().Kn();null!==t&&(i=this.Qt().Zn().indexOf(t))}return i}AM(t,i,n,s){this.Wm.p((()=>this.zM(i,n,s,t)))}LM(t,i,n,s){this.Hm.p((()=>this.zM(i,n,s,t)))}oM(t,i,n){this.PM(this.Qt().ou()?.mu??null),this.pd.p((()=>this.zM(t,i,n)))}fM(){const t=this.yn.timeScale.visible?"":"none";this._M.uv().style.display=t}yM(){return this.Gw[0].Sv().K_().N().visible}kM(){return this.Gw[0].Sv().Z_().N().visible}uM(){return"ResizeObserver"in window&&(this.sM=new ResizeObserver((t=>{const i=t[t.length-1];if(!i)return;const n=i.contentRect.width,s=i.contentRect.height;this.cM(n,s,!0)})),this.sM.observe(this.jv,{box:"border-box"}),!0)}mM(){null!==this.sM&&this.sM.disconnect(),this.sM=null}}function Xn(t){return Boolean(t.handleScroll.mouseWheel||t.handleScale.mouseWheel)}function Jn(t){return void 0===t.open&&void 0===t.value}function Qn(t){return function(t){return void 0!==t.open}(t)||function(t){return void 0!==t.value}(t)}function ts(t,i,n,s){const e=n.value,r={$n:i,wt:t,Wt:[e,e,e,e],Qr:s};return void 0!==n.color&&(r.R=n.color),r}function is(t,i,n,s){const e=n.value,r={$n:i,wt:t,Wt:[e,e,e,e],Qr:s};return void 0!==n.lineColor&&(r.vt=n.lineColor),void 0!==n.topColor&&(r.ah=n.topColor),void 0!==n.bottomColor&&(r.oh=n.bottomColor),r}function ns(t,i,n,s){const e=n.value,r={$n:i,wt:t,Wt:[e,e,e,e],Qr:s};return void 0!==n.topLineColor&&(r._h=n.topLineColor),void 0!==n.bottomLineColor&&(r.uh=n.bottomLineColor),void 0!==n.topFillColor1&&(r.dh=n.topFillColor1),void 0!==n.topFillColor2&&(r.fh=n.topFillColor2),void 0!==n.bottomFillColor1&&(r.ph=n.bottomFillColor1),void 0!==n.bottomFillColor2&&(r.mh=n.bottomFillColor2),r}function ss(t,i,n,s){const e={$n:i,wt:t,Wt:[n.open,n.high,n.low,n.close],Qr:s};return void 0!==n.color&&(e.R=n.color),e}function es(t,i,n,s){const e={$n:i,wt:t,Wt:[n.open,n.high,n.low,n.close],Qr:s};return void 0!==n.color&&(e.R=n.color),void 0!==n.borderColor&&(e.Ht=n.borderColor),void 0!==n.wickColor&&(e.hh=n.wickColor),e}function rs(t,i,n,s,e){const r=_(e)(n),h=Math.max(...r),a=Math.min(...r),l=r[r.length-1],o=[l,h,a,l],{time:u,color:c,...d}=n;return{$n:i,wt:t,Wt:o,Qr:s,ue:d,R:c}}function hs(t){return void 0!==t.Wt}function as(t,i){return void 0!==i.customValues&&(t.ZM=i.customValues),t}function ls(t){return(i,n,s,e,r,h)=>function(t,i){return i?i(t):Jn(t)}(s,h)?as({wt:i,$n:n,Qr:e},s):as(t(i,n,s,e,r),s)}function os(t){return{Candlestick:ls(es),Bar:ls(ss),Area:ls(is),Baseline:ls(ns),Histogram:ls(ts),Line:ls(ts),Custom:ls(rs)}[t]}function _s(t){return{$n:0,GM:new Map,za:t}}function us(t,i){if(void 0!==t&&0!==t.length)return{XM:i.key(t[0].wt),JM:i.key(t[t.length-1].wt)}}function cs(t){let i;return t.forEach((t=>{void 0===i&&(i=t.Qr)})),_(i)}class ds{constructor(t){this.QM=new Map,this.tg=new Map,this.ig=new Map,this.ng=[],this.xu=t}m(){this.QM.clear(),this.tg.clear(),this.ig.clear(),this.ng=[]}sg(t,i){let n=0!==this.QM.size,s=!1;const e=this.tg.get(t);if(void 0!==e)if(1===this.tg.size)n=!1,s=!0,this.QM.clear();else for(const i of this.ng)i.pointData.GM.delete(t)&&(s=!0);let r=[];if(0!==i.length){const n=i.map((t=>t.time)),e=this.xu.createConverterToInternalObj(i),h=os(t.bh()),a=t.ll(),l=t.ol();r=i.map(((i,r)=>{const o=e(i.time),_=this.xu.key(o);let u=this.QM.get(_);void 0===u&&(u=_s(o),this.QM.set(_,u),s=!0);const c=h(o,u.$n,i,n[r],a,l);return u.GM.set(t,c),c}))}n&&this.eg(),this.rg(t,r);let h=-1;if(s){const t=[];this.QM.forEach((i=>{t.push({timeWeight:0,time:i.za,pointData:i,originalTime:cs(i.GM)})})),t.sort(((t,i)=>this.xu.key(t.time)-this.xu.key(i.time))),h=this.hg(t)}return this.ag(t,h,function(t,i,n){const s=us(t,n),e=us(i,n);if(void 0!==s&&void 0!==e)return{lg:!1,Ia:s.JM>=e.JM&&s.XM>=e.XM}}(this.tg.get(t),e,this.xu))}Jd(t){return this.sg(t,[])}og(t,i,n){if(n&&t.Na())throw new Error("Historical updates are not supported when conflation is enabled. Conflation requires data to be processed in order.");const s=i;!function(t){void 0===t.Qr&&(t.Qr=t.time)}(s),this.xu.preprocessData(i);const e=this.xu.createConverterToInternalObj([i])(i.time),r=this.ig.get(t);if(!n&&void 0!==r&&this.xu.key(e)this.xu.key(t.time)this.xu.key(s.wt)?hs(i)&&n.push(i):hs(i)?n[n.length-1]=i:n.splice(-1,1),this.ig.set(t,i.wt)}_g(t,i,n){const s=this.tg.get(t);if(void 0===s)return;const e=Rt(s,n,((t,i)=>t.$n{0!==i.length&&(t=Math.max(t,i[i.length-1].$n))})),t}ag(t,i,n){const s=this.dg();if(-1!==i)this.tg.forEach(((i,e)=>{s.U_.set(e,{ue:i,pg:e===t?n:void 0})})),this.tg.has(t)||s.U_.set(t,{ue:[],pg:n}),s.Et.vg=this.ng,s.Et.mg=i;else{const i=this.tg.get(t);s.U_.set(t,{ue:i||[],pg:n})}return s}dg(){return{U_:new Map,Et:{Pc:this.fg()}}}}function fs(t,i){t.$n=i,t.GM.forEach((t=>{t.$n=i}))}function ps(t,i){return t._t=i-s&&t<=n+s}function bs(t,i,n,s,e,r){const h=e-n,a=r-s;if(0===h&&0===a)return Math.hypot(t-n,i-s);const l=((t-n)*h+(i-s)*a)/(h*h+a*a),o=Math.max(0,Math.min(1,l)),_=n+h*o,u=s+a*o;return Math.hypot(t-_,i-u)}const Ss=[0,0];function xs(t,i,n){return void 0===i||i.wt!==t.wt-1?t._t-n/2:(i._t+t._t)/2}function Cs(t,i,n){return void 0===i||i.wt!==t.wt+1?t._t+n/2:(t._t+i._t)/2}function ys(t,i,n,s,e,r,h){if(null===i||i.from>=i.to||0===t.length)return null;const a=e/2+r,l=ms(t,n-a,i.from,i.to),o=ws(t,n+a,l,i.to);if(l>=o)return null;let _=Number.POSITIVE_INFINITY;for(let a=l;ai.from?t[a-1]:void 0,u=ad)continue;h(l,Ss);const f=Ss[0],p=Ss[1],v=Math.min(f,p),m=Math.max(f,p),w=v-r,M=m+r;if(s>=v&&s<=m)_=Math.min(_,0);else if(s>=w&&s<=M){const t=Math.min(Math.abs(s-v),Math.abs(m-s));_=Math.min(_,t)}}return Number.isFinite(_)?Ms(_,0,"series-range"):null}function ks(t,i){return t.wt0&&r=s&&(a=r-1),h>0&&h({...t,...this.ae.Sa().Sh(t.wt)})))}Rg(){this.Sg=null}yg(){const t=this.le.Et(),i=t.N().enableConflation?t.Qc():0;i!==this.xg&&(this.Mg=!0,this.xg=i),this.Mg&&(this.Dg(),this.Mg=!1),this.gg&&(this.Tg(),this.gg=!1),this.wg&&(this.Ig(),this.wg=!1)}Ig(){const t=this.ae.Ft(),i=this.le.Et();if(this.Rg(),i.Gi()||t.Gi())return;const n=i.Ee();if(null===n)return;if(0===this.ae.Un().Th())return;const s=this.ae.Lt();null!==s&&(this.Sg=Ts(this.bg,n,this.Cg),this.Vg(t,i,s.Wt),this.Bg())}}class Ds{constructor(t,i){this.Eg=t,this.Ki=i}st(t,i,n){this.Eg.draw(t,this.Ki,i,n)}}function Is(t){switch(t){case"point":return 2;case"range":return 0;default:return 1}}class Vs extends Rs{constructor(t,i,n){super(t,i,!1),this.Yh=n,this.Eg=this.Yh.renderer(),this.kg=new Ds(this.Eg,(t=>this.Ag(t)))}get ga(){return this.Yh.conflationReducer}Wa(t){return this.Yh.priceValueBuilder(t)}_l(t){return this.Yh.isWhitespace(t)}Pg(t,i){const n=this.Eg.hitTest?.(t,i,(t=>this.Ag(t)));if(null!=n)return{ne:(s=n).distance,se:Is(s.type),ee:"custom",mu:s.cursorStyle,te:s.objectId,ie:s.hitTestData};var s;const e=ys(this.bg,this.Sg,t,i,this.le.Et().fl(),this.ae.N().hitTestTolerance,((t,i)=>{const n=t.Lg;let s=NaN,e=NaN;if(void 0!==n&&!this.Yh.isWhitespace(n))for(const t of this.Yh.priceValueBuilder(n)){const i=this.Ag(t);null!==i&&(s=Number.isNaN(s)?i:Math.min(s,i),e=Number.isNaN(e)?i:Math.max(e,i))}i[0]=s,i[1]=e}));return null===e?null:{...e,ee:"custom"}}Dg(){const t=this.ae.Sa();this.bg=this.ae.Ha().Bh().map((i=>({wt:i.$n,_t:NaN,...t.Sh(i.$n),Lg:i.ue})))}Vg(t,i){i.Tc(this.bg,b(this.Sg))}Bg(){this.Yh.update({bars:this.bg.map(Bs),barSpacing:this.le.Et().fl(),visibleRange:this.Sg,conflationFactor:this.le.Et().Qc()},this.ae.N())}Ag(t){const i=this.ae.Lt();return null===i?null:this.ae.Ft().Nt(t,i.Wt)}}function Bs(t){return{x:t._t,time:t.wt,originalData:t.Lg,barColor:t.sh}}const Es={color:"#2196f3"},As=(t,i,n)=>{const s=c(n);return new Vs(t,i,s)};function Ls(t){const i={value:t.Wt[3],time:t.Qr};return void 0!==t.ZM&&(i.customValues=t.ZM),i}function zs(t){const i=Ls(t);return void 0!==t.R&&(i.color=t.R),i}function Os(t){const i=Ls(t);return void 0!==t.vt&&(i.lineColor=t.vt),void 0!==t.ah&&(i.topColor=t.ah),void 0!==t.oh&&(i.bottomColor=t.oh),i}function Ns(t){const i=Ls(t);return void 0!==t._h&&(i.topLineColor=t._h),void 0!==t.uh&&(i.bottomLineColor=t.uh),void 0!==t.dh&&(i.topFillColor1=t.dh),void 0!==t.fh&&(i.topFillColor2=t.fh),void 0!==t.ph&&(i.bottomFillColor1=t.ph),void 0!==t.mh&&(i.bottomFillColor2=t.mh),i}function Fs(t){const i={open:t.Wt[0],high:t.Wt[1],low:t.Wt[2],close:t.Wt[3],time:t.Qr};return void 0!==t.ZM&&(i.customValues=t.ZM),i}function Ws(t){const i=Fs(t);return void 0!==t.R&&(i.color=t.R),i}function Hs(t){const i=Fs(t),{R:n,Ht:s,hh:e}=t;return void 0!==n&&(i.color=n),void 0!==s&&(i.borderColor=s),void 0!==e&&(i.wickColor=e),i}function Us(t){return{Area:Os,Line:zs,Baseline:Ns,Histogram:zs,Bar:Ws,Candlestick:Hs,Custom:$s}[t]}function $s(t){const i=t.Qr;return{...t.ue,time:i}}const js={vertLine:{color:"#9598A1",width:1,style:3,visible:!0,labelVisible:!0,labelBackgroundColor:"#131722"},horzLine:{color:"#9598A1",width:1,style:3,visible:!0,labelVisible:!0,labelBackgroundColor:"#131722"},mode:1,doNotSnapToHiddenSeriesIndices:!1},qs={vertLines:{color:"#D6DCDE",style:0,visible:!0},horzLines:{color:"#D6DCDE",style:0,visible:!0}},Ys={background:{type:"solid",color:"#FFFFFF"},textColor:"#191919",fontSize:12,fontFamily:S,panes:{enableResize:!0,separatorColor:"#E0E3EB",separatorHoverColor:"rgba(178, 181, 189, 0.2)"},attributionLogo:!0,colorSpace:"srgb",colorParsers:[]},Ks={autoScale:!0,mode:0,invertScale:!1,alignLabels:!0,borderVisible:!0,borderColor:"#2B2B43",entireTextOnly:!1,visible:!1,ticksVisible:!1,scaleMargins:{bottom:.1,top:.2},minimumWidth:0,ensureEdgeTickMarksVisible:!1,tickMarkDensity:2.5},Zs={rightOffset:0,barSpacing:6,minBarSpacing:.5,maxBarSpacing:0,fixLeftEdge:!1,fixRightEdge:!1,lockVisibleTimeRangeOnResize:!1,rightBarStaysOnScroll:!1,borderVisible:!0,borderColor:"#2B2B43",visible:!0,timeVisible:!1,secondsVisible:!0,shiftVisibleRangeOnNewBar:!0,allowShiftVisibleRangeOnWhitespaceReplacement:!1,ticksVisible:!1,uniformDistribution:!1,minimumHeight:0,allowBoldLabels:!0,ignoreWhitespaceIndices:!1,enableConflation:!1,conflationThresholdFactor:1,precomputeConflationOnInit:!1,precomputeConflationPriority:"background"};function Gs(){return{addDefaultPane:!0,hoveredSeriesOnTop:!0,width:0,height:0,autoSize:!1,layout:Ys,crosshair:js,grid:qs,overlayPriceScales:{...Ks},leftPriceScale:{...Ks,visible:!1},rightPriceScale:{...Ks,visible:!0},defaultVisiblePriceScaleId:"right",timeScale:Zs,localization:{locale:dn?navigator.language:"",dateFormat:"dd MMM 'yy"},handleScroll:{mouseWheel:!0,pressedMouseMove:!0,horzTouchDrag:!0,vertTouchDrag:!0},handleScale:{axisPressedMouseMove:{time:!0,price:!0},axisDoubleClickReset:{time:!0,price:!0},mouseWheel:!0,pinch:!0},kineticScroll:{mouse:!1,touch:!0},trackingMode:{exitMode:1}}}class Xs{constructor(t,i,n){this.sv=t,this.zg=i,this.Og=n??0}applyOptions(t){this.sv.Qt().Pd(this.zg,t,this.Og)}options(){return this.Ki().N()}width(){return G(this.zg)?this.sv.CM(this.zg):0}setVisibleRange(t){this.setAutoScale(!1),this.Ki().qo(new mt(t.from,t.to))}getVisibleRange(){let t,i,n=this.Ki().ar();if(null===n)return null;if(this.Ki().so()){const s=this.Ki().M_(),e=Yi(s);n=vi(n,this.Ki().ro()),t=Number((Math.round(n.Je()/s)*s).toFixed(e)),i=Number((Math.round(n.Qe()/s)*s).toFixed(e))}else t=n.Je(),i=n.Qe();return{from:t,to:i}}setAutoScale(t){this.applyOptions({autoScale:t})}Ki(){return u(this.sv.Qt().Td(this.zg,this.Og)).Ft}}class Js{constructor(t,i,n,s){this.sv=t,this.yt=n,this.Ng=i,this.Fg=s}getHeight(){return this.yt.$t()}setHeight(t){const i=this.sv.Qt(),n=i.hf(this.yt);i.Bd(n,t)}getStretchFactor(){return this.yt.z_()}setStretchFactor(t){this.yt.O_(t),this.sv.Qt().Pa()}paneIndex(){return this.sv.Qt().hf(this.yt)}moveTo(t){const i=this.paneIndex();i!==t&&(o(t>=0&&tthis.Ng(t)))??[]}getHTMLElement(){const t=this.sv.rv();return t&&0!==t.length&&t[this.paneIndex()]?t[this.paneIndex()].uv():null}attachPrimitive(t){this.yt.hl(t),t.attached&&t.attached({chart:this.Fg,requestUpdate:()=>this.yt.Qt().Pa()})}detachPrimitive(t){this.yt.al(t)}priceScale(t){if(null===this.yt.A_(t))throw new Error(`Cannot find price scale with id: ${t}`);return new Xs(this.sv,t,this.paneIndex())}setPreserveEmptyPane(t){this.yt.W_(t)}preserveEmptyPane(){return this.yt.H_()}addCustomSeries(t,i={},n=0){return this.Fg.addCustomSeries(t,i,n)}addSeries(t,i={}){return this.Fg.addSeries(t,i,this.paneIndex())}}const Qs={color:"#FF0000",price:0,lineStyle:2,lineWidth:1,lineVisible:!0,axisLabelVisible:!0,title:"",axisLabelColor:"",axisLabelTextColor:""};class te{constructor(t){this._r=t}applyOptions(t){this._r.vr(t)}options(){return this._r.N()}Wg(){return this._r}}class ie{constructor(t,i,n,s,e,r){this.Hg=new d,this.ae=t,this.Ug=i,this.$g=n,this.xu=e,this.Fg=s,this.jg=r}m(){this.Hg.m()}priceFormatter(){return this.ae.tl()}priceToCoordinate(t){const i=this.ae.Lt();return null===i?null:this.ae.Ft().Nt(t,i.Wt)}coordinateToPrice(t){const i=this.ae.Lt();return null===i?null:this.ae.Ft().Tn(t,i.Wt)}barsInLogicalRange(t){if(null===t)return null;const i=new Oi(new Ai(t.from,t.to)).Fu(),n=this.ae.Un();if(n.Gi())return null;const s=n.Hn(i.Oa(),1),e=n.Hn(i.bi(),-1),r=u(n.Rh()),h=u(n.Qn());if(null!==s&&null!==e&&s.$n>e.$n)return{barsBefore:t.from-r,barsAfter:h-t.to};const a={barsBefore:null===s||s.$n===r?t.from-r:s.$n-r,barsAfter:null===e||e.$n===h?h-t.to:h-e.$n};return null!==s&&null!==e&&(a.from=s.Qr,a.to=e.Qr),a}setData(t){this.xu,this.ae.bh(),this.Ug.qg(this.ae,t),this.Yg("full")}update(t,i=!1){this.ae.bh(),this.Ug.Kg(this.ae,t,i),this.Yg("update")}pop(t=1){const i=this.Ug.Zg(this.ae,t);0!==i.length&&this.Yg("update");const n=Us(this.seriesType());return i.map((t=>n(t)))}dataByIndex(t,i){const n=this.ae.Un().Hn(t,i);if(null===n)return null;return Us(this.seriesType())(n)}data(){const t=Us(this.seriesType());return this.ae.Un().Bh().map((i=>t(i)))}subscribeDataChanged(t){this.Hg.i(t)}unsubscribeDataChanged(t){this.Hg._(t)}applyOptions(t){this.ae.vr(t)}options(){return M(this.ae.N())}priceScale(){return this.$g.priceScale(this.ae.Ft().cl(),this.getPane().paneIndex())}createPriceLine(t){const i=f(M(Qs),t),n=this.ae.Ba(i);return new te(n)}removePriceLine(t){this.ae.Ea(t.Wg())}priceLines(){return this.ae.Aa().map((t=>new te(t)))}seriesType(){return this.ae.bh()}lastValueData(t){const i=this.ae.Ae(t);return i.Le?{noData:!0}:{noData:!1,price:i.Mt,color:i.R}}attachPrimitive(t){this.ae.hl(t),t.attached&&t.attached({chart:this.Fg,series:this,requestUpdate:()=>this.ae.Qt().Pa(),horzScaleBehavior:this.xu})}detachPrimitive(t){this.ae.al(t),t.detached&&t.detached(),this.ae.Qt().Pa()}getPane(){const t=this.ae,i=u(this.ae.Qt().Ks(t));return this.jg(i)}moveToPane(t){this.ae.Qt().nf(this.ae,t)}seriesOrder(){const t=this.ae.Qt().Ks(this.ae);return null===t?-1:t.U_().indexOf(this.ae)}setSeriesOrder(t){const i=this.ae.Qt().Ks(this.ae);null!==i&&i.du(this.ae,t)}Yg(t){this.Hg.v()&&this.Hg.p(t)}}class ne{constructor(t,i,n){this.Gg=new d,this.Gu=new d,this.Bw=new d,this.sn=t,this.ia=t.Et(),this._M=i,this.ia.Yc().i(this.Xg.bind(this)),this.ia.Kc().i(this.Jg.bind(this)),this._M.Fw().i(this.Qg.bind(this)),this.xu=n}m(){this.ia.Yc().u(this),this.ia.Kc().u(this),this._M.Fw().u(this),this.Gg.m(),this.Gu.m(),this.Bw.m()}scrollPosition(){return this.ia.Ac()}scrollToPosition(t,i){i?this.ia.$c(t,1e3):this.sn.gs(t)}scrollToRealTime(){this.ia.Uc()}getVisibleRange(){const t=this.ia.gc();return null===t?null:{from:t.from.originalTime,to:t.to.originalTime}}setVisibleRange(t){const i={from:this.xu.convertHorzItemToInternal(t.from),to:this.xu.convertHorzItemToInternal(t.to)},n=this.ia.Cc(i);this.sn.tf(n)}getVisibleLogicalRange(){const t=this.ia.Mc();return null===t?null:{from:t.Oa(),to:t.bi()}}setVisibleLogicalRange(t){o(t.from<=t.to,"The from index cannot be after the to index."),this.sn.tf(t)}resetTimeScale(){this.sn.ws()}fitContent(){this.sn.Xc()}logicalToCoordinate(t){const i=this.sn.Et();return i.Gi()?null:i.jt(t)}coordinateToLogical(t){return this.ia.Gi()?null:this.ia.Rc(t)}timeToIndex(t,i){const n=this.xu.convertHorzItemToInternal(t);return this.ia.vc(n,i)}timeToCoordinate(t){const i=this.timeToIndex(t,!1);return null===i?null:this.ia.jt(i)}coordinateToTime(t){const i=this.sn.Et(),n=i.Rc(t),s=i.en(n);return null===s?null:s.originalTime}width(){return this._M.cv().width}height(){return this._M.cv().height}subscribeVisibleTimeRangeChange(t){this.Gg.i(t)}unsubscribeVisibleTimeRangeChange(t){this.Gg._(t)}subscribeVisibleLogicalRangeChange(t){this.Gu.i(t)}unsubscribeVisibleLogicalRangeChange(t){this.Gu._(t)}subscribeSizeChange(t){this.Bw.i(t)}unsubscribeSizeChange(t){this.Bw._(t)}applyOptions(t){this.ia.vr(t)}options(){return{...M(this.ia.N()),barSpacing:this.ia.fl()}}Xg(){this.Gg.v()&&this.Gg.p(this.getVisibleRange())}Jg(){this.Gu.v()&&this.Gu.p(this.getVisibleLogicalRange())}Qg(t){this.Bw.p(t.width,t.height)}}function se(t){return function(t){if(w(t.handleScale)){const i=t.handleScale;t.handleScale={axisDoubleClickReset:{time:i,price:i},axisPressedMouseMove:{time:i,price:i},mouseWheel:i,pinch:i}}else if(void 0!==t.handleScale){const{axisPressedMouseMove:i,axisDoubleClickReset:n}=t.handleScale;w(i)&&(t.handleScale.axisPressedMouseMove={time:i,price:i}),w(n)&&(t.handleScale.axisDoubleClickReset={time:n,price:n})}const i=t.handleScroll;w(i)&&(t.handleScroll={horzTouchDrag:i,vertTouchDrag:i,mouseWheel:i,pressedMouseMove:i})}(t),t}class ee{constructor(t,i,n){this.tb=new Map,this.ib=new Map,this.nb=new d,this.sb=new d,this.eb=new d,this.od=new WeakMap,this.rb=new ds(i);const s=void 0===n?M(Gs()):f(M(Gs()),se(n));this.hb=i,this.sv=new Gn(t,s,i),this.sv.dw().i((t=>{this.nb.v()&&this.nb.p(this.ab(t()))}),this),this.sv.fw().i((t=>{this.sb.v()&&this.sb.p(this.ab(t()))}),this),this.sv.Dd().i((t=>{this.eb.v()&&this.eb.p(this.ab(t()))}),this);const e=this.sv.Qt();this.lb=new ne(e,this.sv.pM(),this.hb)}remove(){this.sv.dw().u(this),this.sv.fw().u(this),this.sv.Dd().u(this),this.lb.m(),this.sv.m(),this.tb.clear(),this.ib.clear(),this.nb.m(),this.sb.m(),this.eb.m(),this.rb.m()}resize(t,i,n){this.autoSizeActive()||this.sv.cM(t,i,n)}addCustomSeries(t,i={},n=0){const s=(t=>({type:"Custom",isBuiltIn:!1,defaultOptions:{...Es,...t.defaultOptions()},ob:As,_b:t}))(c(t));return this.ub(s,i,n)}addSeries(t,i={},n=0){return this.ub(t,i,n)}removeSeries(t){const i=_(this.tb.get(t)),n=this.rb.Jd(i);this.sv.Qt().Jd(i),this.cb(n),this.tb.delete(t),this.ib.delete(i)}qg(t,i){this.cb(this.rb.sg(t,i))}Kg(t,i,n){this.cb(this.rb.og(t,i,n))}Zg(t,i){const[n,s]=this.rb.cg(t,i);return 0!==n.length&&this.cb(s),n}subscribeClick(t){this.nb.i(t)}unsubscribeClick(t){this.nb._(t)}subscribeCrosshairMove(t){this.eb.i(t)}unsubscribeCrosshairMove(t){this.eb._(t)}subscribeDblClick(t){this.sb.i(t)}unsubscribeDblClick(t){this.sb._(t)}priceScale(t,i=0){return new Xs(this.sv,t,i)}timeScale(){return this.lb}applyOptions(t){this.sv.vr(se(t))}options(){return this.sv.N()}takeScreenshot(t=!1,i=!1){let n,s;try{i||(n=this.sv.Qt().N().crosshair.mode,this.sv.vr({crosshair:{mode:2}})),s=this.sv.SM(t)}finally{i||void 0===n||this.sv.Qt().vr({crosshair:{mode:n}})}return s}addPane(t=!1){const i=this.sv.Qt().af();return i.W_(t),this.fb(i)}removePane(t){this.sv.Qt().Vd(t)}swapPanes(t,i){this.sv.Qt().Ed(t,i)}autoSizeActive(){return this.sv.wM()}chartElement(){return this.sv.vv()}panes(){return this.sv.Qt().Zn().map((t=>this.fb(t)))}paneSize(t=0){const i=this.sv.RM(t);return{height:i.height,width:i.width}}setCrosshairPosition(t,i,n){const s=this.tb.get(n);if(void 0===s)return;const e=this.sv.Qt().Ks(s);null!==e&&this.sv.Qt().qd(t,i,e)}clearCrosshairPosition(){this.sv.Qt().Yd(!0)}horzBehaviour(){return this.hb}ub(t,i={},n=0){o(void 0!==t.ob),function(t){if(void 0===t||"custom"===t.type)return;const i=t;void 0!==i.minMove&&void 0===i.precision&&(i.precision=Yi(i.minMove))}(i.priceFormat),"Candlestick"===t.type&&function(t){void 0!==t.borderColor&&(t.borderUpColor=t.borderColor,t.borderDownColor=t.borderColor),void 0!==t.wickColor&&(t.wickUpColor=t.wickColor,t.wickDownColor=t.wickColor)}(i);const s=f(M(e),M(t.defaultOptions),i),r=t.ob,h=new Jt(this.sv.Qt(),t.type,s,r,t._b);this.sv.Qt().Gd(h,n);const a=new ie(h,this,this,this,this.hb,(t=>this.fb(t)));return this.tb.set(a,h),this.ib.set(h,a),a}cb(t){const i=this.sv.Qt();i.Kd(t.Et.Pc,t.Et.vg,t.Et.mg),t.U_.forEach(((t,i)=>i.ht(t.ue,t.pg))),i.Et()._c(),i.Bc()}pb(t){return _(this.ib.get(t))}mb(t){return void 0!==t&&this.ib.has(t)?this.pb(t):void 0}ab(t){const i=new Map;t.YM.forEach(((t,n)=>{const s=n.bh(),e=Us(s)(t);if("Custom"!==s)o(Qn(e));else{const t=n.ol();o(!t||!1===t(e))}i.set(this.pb(n),e)}));const n=this.mb(t.NM),s=void 0===t.WM?void 0:{type:t.WM.ds,sourceKind:t.WM.HM,objectKind:t.WM.UM,series:this.mb(t.WM.U_),objectId:t.WM.$M,paneIndex:t.WM.jM};return{time:t.Qr,logical:t.$n,point:t.qM,paneIndex:t.jM,hoveredInfo:s,hoveredSeries:n,hoveredObjectId:t.FM,seriesData:i,sourceEvent:t.KM}}fb(t){let i=this.od.get(t);return i||(i=new Js(this.sv,(t=>this.pb(t)),t,this),this.od.set(t,i)),i}}function re(t){if(m(t)){const i=document.getElementById(t);return o(null!==i,`Cannot find element in DOM with id=${t}`),i}return t}function he(t,i,n){const s=re(t),e=new ee(s,i,n);return i.setOptions(e.options()),e}function ae(t,i){return he(t,new cn,cn.yf(i))}function le(){return cn}function oe(t,i,n,s){return Math.hypot(n-t,s-i)}function _e(t,i,n,s,e,r,h,a=0){if(0===i.length||s.from>=i.length||s.to<=0)return;const{context:l,horizontalPixelRatio:o,verticalPixelRatio:_}=t,u=i[s.from];let c=r(t,u),d=u;if(s.to-s.from<2){const i=e/2;l.beginPath();const n={_t:u._t-i,ut:u.ut},s={_t:u._t+i,ut:u.ut};l.moveTo(n._t*o,n.ut*_),l.lineTo(s._t*o,s.ut*_),h(t,c,n,s)}else{const e=a>0;let f=0;const p=(i,n)=>{if(h(t,c,d,n),l.beginPath(),c=i,d=n,e){const t=f%a;l.lineDashOffset=t,f=t}};let v=d;l.beginPath(),l.moveTo(u._t*o,u.ut*_);for(let h=s.from+1;ht+i),0)}(_);void 0!==e&&_e(t,i,e,n,s,u,pe,c),l&&function(t,i,n,s,e){if(s.to-s.from<=0)return;const{horizontalPixelRatio:r,verticalPixelRatio:h,context:a}=t;let l=null;const o=Math.max(1,Math.floor(r))%2/2,_=n*h+o;for(let n=s.to-1;n>=s.from;--n){const s=i[n];if(s){const i=e(t,s);i!==l&&(null!==l&&a.fill(),a.beginPath(),a.fillStyle=i,l=i);const n=Math.round(s._t*r)+o,u=s.ut*h;a.moveTo(n,u),a.arc(n,u,_,0,2*Math.PI)}}a.fill()}(t,i,l,n,u)}}class me extends ve{bb(t,i){return i.vt}}function we(t,i,n,s,e){const r=1-e;return r*r*r*t+3*r*r*e*i+3*r*e*e*n+e*e*e*s}function Me(t,i,n,s,e){if(2===n){const[n,r]=fe(s,e-1,e);return[Math.min(t._t,i._t,n._t,r._t),Math.max(t._t,i._t,n._t,r._t)]}return[Math.min(t._t,i._t),Math.max(t._t,i._t)]}function ge(t,i,n,s,e,r,h,a){switch(e){case 1:{const e=bs(t,i,n._t,n.ut,s._t,n.ut),r=bs(t,i,s._t,n.ut,s._t,s.ut),h=Math.min(e,r);return h<=a?h:null}case 2:{const[e,l]=fe(r,h-1,h),o=function(t,i,n){let s=Number.POSITIVE_INFINITY,e=n[0];for(let r=1;r<=12;r++){const h=r/12,a={_t:we(n[0]._t,n[1]._t,n[2]._t,n[3]._t,h),ut:we(n[0].ut,n[1].ut,n[2].ut,n[3].ut,h)};s=Math.min(s,bs(t,i,e._t,e.ut,a._t,a.ut)),e=a}return s}(t,i,[n,e,l,s]);return o<=a?o:null}default:{const e=bs(t,i,n._t,n.ut,s._t,s.ut);return e<=a?e:null}}}class be extends Rs{constructor(t,i){super(t,i,!0)}Vg(t,i,n){i.Tc(this.bg,b(this.Sg)),t.Zo(this.bg,n,b(this.Sg))}Sb(t,i){return{wt:t,Mt:i,_t:NaN,ut:NaN}}Dg(){const t=this.ae.Sa();this.bg=this.ae.Ha().Bh().map((i=>{let n;if((i.Zr??1)>1){const t=i.Wt[1],s=i.Wt[2],e=i.Wt[3];n=Math.abs(t-e)>Math.abs(s-e)?t:s}else n=i.Wt[3];return this.xb(i.$n,n,t)}))}}class Se extends be{Pg(t,i){const n=this.ae.N();return function(t,i,n,s,e,r,h,a=0,l=0){if(null===i||i.from>=i.to||0===t.length)return null;const o=Math.max(r/2,h??0)+l;let _=Number.POSITIVE_INFINITY;if(void 0!==h){const e=h+l,r=ms(t,n-e,i.from,i.to),a=ws(t,n+e,r,i.to);for(let i=r;inew xe(t,i)};function ye(t,i){return t.weight>i.weight?t:i}class ke{constructor(){this.Cb=new d,this.yb=function(t){let i=!1;return function(...n){i||(i=!0,queueMicrotask((()=>{t(...n),i=!1})))}}((()=>this.Cb.p(this.kb))),this.kb=0}Pb(){return this.Cb}m(){this.Cb.m()}options(){return this.yn}setOptions(t){this.yn=t}preprocessData(t){}updateFormatter(t){this.yn&&(this.yn.localization=t)}createConverterToInternalObj(t){return this.yb(),t=>(t>this.kb&&(this.kb=t),t)}key(t){return t}cacheKey(t){return t}convertHorzItemToInternal(t){return t}formatHorzItem(t){return this.Tb(t)}formatTickmark(t){return this.Tb(t.time)}maxTickMarkWeight(t){return t.reduce(ye,t[0]).weight}fillWeightsForPoints(t,i){for(let s=i;st.toFixed(3)+"%"}},Te={lastValueVisible:!1,priceLineVisible:!1};class Re extends ee{constructor(t,i){const n=f(Pe,i||{}),s=new ke;super(t,s,n),s.setOptions(this.options()),this._initWhitespaceSeries()}addSeries(t,i={},n=0){if(t.isBuiltIn&&!1===["Area","Line"].includes(t.type))throw new Error("Yield curve only support Area and Line series");const s={...Te,...i};return super.addSeries(t,s,n)}_initWhitespaceSeries(){const t=this.horzBehaviour(),i=this.addSeries(Ce);let n;function s(s){const e=function(t,i){return{me:Math.max(0,t.startTimeRange),we:Math.max(0,t.minimumTimeRange,i||0),Rb:Math.max(1,t.baseResolution)}}(t.options().yieldCurve,s),r=(({me:t,we:i,Rb:n})=>`${t}~${i}~${n}`)(e);r!==n&&(n=r,i.setData(function({me:t,we:i,Rb:n}){return Array.from({length:Math.floor((i-t)/n)+1},((i,s)=>({time:t+s*n})))}(e)))}s(0),t.Pb().i(s)}}function De(t,i){const n=re(t);return new Re(n,i)}function Ie(t,i){return t.weight>i.weight?t:i}class Ve{options(){return this.yn}setOptions(t){this.yn=t}preprocessData(t){}updateFormatter(t){this.yn&&(this.yn.localization=t)}createConverterToInternalObj(t){return t=>t}key(t){return t}cacheKey(t){return t}convertHorzItemToInternal(t){return t}formatHorzItem(t){return t.toFixed(this.Ds())}formatTickmark(t,i){return t.time.toFixed(this.Ds())}maxTickMarkWeight(t){return t.reduce(Ie,t[0]).weight}fillWeightsForPoints(t,i){for(let s=i;s0?n:1,u=l*_,c=o===t.bitmapSize.height?o:o*_,d=(a??0)*_,f=t.context.createLinearGradient(0,u,0,c);if(f.addColorStop(0,s),null!=a){const t=ni((d-u)/(c-u),0,1);f.addColorStop(t,e),f.addColorStop(t,r)}f.addColorStop(1,h),this.Wb=f,this.Eb=i}return this.Wb}}class ze extends Ae{constructor(){super(...arguments),this.Hb=new Le}Vb(t,i){const n=this.rt;return this.Hb.Bb(t,{Ab:i.dh,Lb:i.fh,zb:i.ph,Ob:i.mh,Db:n.Db,Nb:n.Nb??0,Fb:n.Fb??t.bitmapSize.height})}}class Oe extends ve{constructor(){super(...arguments),this.Ub=new Le}bb(t,i){const n=this.rt;return this.Ub.Bb(t,{Ab:i._h,Lb:i._h,zb:i.uh,Ob:i.uh,Db:n.Db,Nb:n.Nb??0,Fb:n.Fb??t.bitmapSize.height})}}class Ne extends Se{constructor(t,i){super(t,i),this.kg=new T,this.$b=new ze,this.jb=new Oe,this.kg.nt([this.$b,this.jb])}xb(t,i,n){return{...this.Sb(t,i),...n.Sh(t)}}Bg(){const t=this.ae.Lt();if(null===t)return;const i=this.ae.N(),n=this.ae.Ft().Nt(i.baseValue.price,t.Wt),s=this.le.Et().fl();if(null===this.Sg||0===this.bg.length)return;let e,r;if(i.relativeGradient){e=this.bg[this.Sg.from].ut,r=this.bg[this.Sg.from].ut;for(let t=this.Sg.from;tr&&(r=i.ut)}}this.$b.ht({ot:this.bg,ct:i.lineWidth,Zt:i.lineStyle,Mb:i.lineType,Db:n,Nb:e,Fb:r,Ib:!1,lt:this.Sg,wb:s}),this.jb.ht({ot:this.bg,ct:i.lineWidth,Zt:i.lineStyle,Mb:i.lineVisible?i.lineType:void 0,gb:i.pointMarkersVisible?i.pointMarkersRadius||i.lineWidth/2+2:void 0,Db:n,Nb:e,Fb:r,lt:this.Sg,wb:s})}}const Fe={type:"Baseline",isBuiltIn:!0,defaultOptions:{baseValue:{type:"price",price:0},relativeGradient:!1,topFillColor1:"rgba(38, 166, 154, 0.28)",topFillColor2:"rgba(38, 166, 154, 0.05)",topLineColor:"rgba(38, 166, 154, 1)",bottomFillColor1:"rgba(239, 83, 80, 0.05)",bottomFillColor2:"rgba(239, 83, 80, 0.28)",bottomLineColor:"rgba(239, 83, 80, 1)",lineWidth:3,lineStyle:0,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:"",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:"",lastPriceAnimation:0,pointMarkersVisible:!1},ob:(t,i)=>new Ne(t,i)};class We extends Ae{constructor(){super(...arguments),this.Hb=new Le}Vb(t,i){return this.Hb.Bb(t,{Ab:i.ah,Lb:"",zb:"",Ob:i.oh,Nb:this.rt?.Nb??0,Fb:t.bitmapSize.height})}}class He extends Se{constructor(t,i){super(t,i),this.kg=new T,this.qb=new We,this.Yb=new me,this.kg.nt([this.qb,this.Yb])}xb(t,i,n){return{...this.Sb(t,i),...n.Sh(t)}}Bg(){const t=this.ae.N();if(null===this.Sg||0===this.bg.length)return;let i;if(t.relativeGradient){i=this.bg[this.Sg.from].ut;for(let t=this.Sg.from;tnew He(t,i)};class $e extends R{constructor(){super(...arguments),this.qt=null,this.Kb=0,this.Zb=0}ht(t){this.qt=t}et({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){if(null===this.qt||0===this.qt.Un.length||null===this.qt.lt)return;if(this.Kb=this.Gb(i),this.Kb>=2){Math.max(1,Math.floor(i))%2!=this.Kb%2&&this.Kb--}this.Zb=this.qt.Xb?Math.min(this.Kb,Math.floor(i)):this.Kb;let s=null;const e=this.Zb<=this.Kb&&this.qt.fl>=Math.floor(1.5*i);for(let r=this.qt.lt.from;rf+v-1&&(e=f+v-1,s=e-_+1),t.fillRect(i,s,o-i,e-s+1)}const i=l+m;let s=Math.max(f,Math.round(h.i_*n)-a),e=s+_-1;e>f+v-1&&(e=f+v-1,s=e-_+1),t.fillRect(u+1,s,i-u,e-s+1)}}}Gb(t){const i=Math.floor(t);return Math.max(i,Math.floor(function(t,i){return Math.floor(.3*t*i)}(u(this.qt).fl,t)))}}class je extends Rs{constructor(t,i){super(t,i,!1)}Pg(t,i){return ys(this.bg,this.Sg,t,i,this.le.Et().fl(),this.ae.N().hitTestTolerance,((t,i)=>{i[0]=t.Qo,i[1]=t.t_}))}Vg(t,i,n){i.Tc(this.bg,b(this.Sg)),t.Xo(this.bg,n,b(this.Sg))}Qb(t,i,n){return{wt:t,jr:i.Wt[0],qr:i.Wt[1],Yr:i.Wt[2],Kr:i.Wt[3],_t:NaN,Jo:NaN,Qo:NaN,t_:NaN,i_:NaN}}Dg(){const t=this.ae.Sa();this.bg=this.ae.Ha().Bh().map((i=>this.xb(i.$n,i,t)))}}class qe extends je{constructor(){super(...arguments),this.kg=new $e}xb(t,i,n){return{...this.Qb(t,i,n),...n.Sh(t)}}Bg(){const t=this.ae.N();this.kg.ht({Un:this.bg,fl:this.le.Et().fl(),Jb:t.openVisible,Xb:t.thinBars,lt:this.Sg})}}const Ye={type:"Bar",isBuiltIn:!0,defaultOptions:{upColor:"#26a69a",downColor:"#ef5350",openVisible:!0,thinBars:!0},ob:(t,i)=>new qe(t,i)};class Ke extends R{constructor(){super(...arguments),this.qt=null,this.Kb=0}ht(t){this.qt=t}et(t){if(null===this.qt||0===this.qt.Un.length||null===this.qt.lt)return;const{horizontalPixelRatio:i}=t;if(this.Kb=function(t,i){if(t>=2.5&&t<=4)return Math.floor(3*i);const n=1-.2*Math.atan(Math.max(4,t)-4)/(.5*Math.PI),s=Math.floor(t*n*i),e=Math.floor(t*i),r=Math.min(s,e);return Math.max(Math.floor(i),r)}(this.qt.fl,i),this.Kb>=2){Math.floor(i)%2!=this.Kb%2&&this.Kb--}const n=this.qt.Un;this.qt.tS&&this.iS(t,n,this.qt.lt),this.qt.gi&&this.Rm(t,n,this.qt.lt);const s=this.nS(i);(!this.qt.gi||this.Kb>2*s)&&this.sS(t,n,this.qt.lt)}iS(t,i,n){if(null===this.qt)return;const{context:s,horizontalPixelRatio:e,verticalPixelRatio:r}=t;let h="",a=Math.min(Math.floor(e),Math.floor(this.qt.fl*e));a=Math.max(Math.floor(e),Math.min(a,this.Kb));const l=Math.floor(.5*a);let o=null;for(let t=n.from;t2*a)L(s,o,u,_-o+1,c-u+1,a);else{const t=_-o+1;s.fillRect(o,u,t,c-u+1)}l=_}}sS(t,i,n){if(null===this.qt)return;const{context:s,horizontalPixelRatio:e,verticalPixelRatio:r}=t;let h="";const a=this.nS(e);for(let t=n.from;to||s.fillRect(_,l,u-_+1,o-l+1)}}}class Ze extends je{constructor(){super(...arguments),this.kg=new Ke}xb(t,i,n){return{...this.Qb(t,i,n),...n.Sh(t)}}Bg(){const t=this.ae.N();this.kg.ht({Un:this.bg,fl:this.le.Et().fl(),tS:t.wickVisible,gi:t.borderVisible,lt:this.Sg})}}const Ge={type:"Candlestick",isBuiltIn:!0,defaultOptions:{upColor:"#26a69a",downColor:"#ef5350",wickVisible:!0,borderVisible:!0,borderColor:"#378658",borderUpColor:"#26a69a",borderDownColor:"#ef5350",wickColor:"#737375",wickUpColor:"#26a69a",wickDownColor:"#ef5350"},ob:(t,i)=>new Ze(t,i)};class Xe extends R{constructor(){super(...arguments),this.qt=null,this.eS=[]}ht(t){this.qt=t,this.eS=[]}et({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){if(null===this.qt||0===this.qt.ot.length||null===this.qt.lt)return;this.eS.length||this.rS(i);const s=Math.max(1,Math.floor(n)),e=Math.round(this.qt.hS*n)-Math.floor(s/2),r=e+s;for(let i=this.qt.lt.from;is.ce?s.bi=n.Oa-i-1:n.Oa=s.bi+i+1))}let s=Math.ceil(this.qt.fl*t);for(let t=this.qt.lt.from;t0&&s<4)for(let t=this.qt.lt.from;ts&&(i.aS>i.ce?i.bi-=1:i.Oa+=1)}}}class Je extends be{constructor(){super(...arguments),this.kg=new Xe}Pg(t,i){const n=this.ae.Ft().Nt(this.ae.N().base,u(this.ae.Lt()).Wt);return null===n?null:ys(this.bg,this.Sg,t,i,this.le.Et().fl(),this.ae.N().hitTestTolerance,((t,i)=>{i[0]=t.ut,i[1]=n}))}xb(t,i,n){return{...this.Sb(t,i),...n.Sh(t)}}Bg(){const t={ot:this.bg,fl:this.le.Et().fl(),lt:this.Sg,hS:this.ae.Ft().Nt(this.ae.N().base,u(this.ae.Lt()).Wt)};this.kg.ht(t)}}const Qe={type:"Histogram",isBuiltIn:!0,defaultOptions:{color:"#26a69a",base:0},ob:(t,i)=>new Je(t,i)};class tr{constructor(t,i){this.yt=t,this.lS=i,this.oS()}detach(){this.yt.detachPrimitive(this.lS)}getPane(){return this.yt}applyOptions(t){this.lS.vr?.(t)}oS(){this.yt.attachPrimitive(this.lS)}}const ir={visible:!0,horzAlign:"center",vertAlign:"center",lines:[]},nr={color:"rgba(0, 0, 0, 0.5)",fontSize:48,fontFamily:S,fontStyle:"",text:""};class sr{constructor(t){this._S=new Map,this.qt=t}draw(t){t.useMediaCoordinateSpace((t=>{if(!this.qt.visible)return;const{context:i,mediaSize:n}=t;let s=0;for(const t of this.qt.lines){if(0===t.text.length)continue;i.font=t.P;const e=this.uS(i,t.text);e>n.width?t.Fc=n.width/e:t.Fc=1,s+=t.lineHeight*t.Fc}let e=0;switch(this.qt.vertAlign){case"top":e=0;break;case"center":e=Math.max((n.height-s)/2,0);break;case"bottom":e=Math.max(n.height-s,0)}for(const t of this.qt.lines){i.save(),i.fillStyle=t.color;let s=0;switch(this.qt.horzAlign){case"left":i.textAlign="left",s=t.lineHeight/2;break;case"center":i.textAlign="center",s=n.width/2;break;case"right":i.textAlign="right",s=n.width-1-t.lineHeight/2}i.translate(s,e),i.textBaseline="top",i.font=t.P,i.scale(t.Fc,t.Fc),i.fillText(t.text,0,t.cS),i.restore(),e+=t.lineHeight*t.Fc}}))}uS(t,i){const n=this.dS(t.font);let s=n.get(i);return void 0===s&&(s=t.measureText(i).width,n.set(i,s)),s}dS(t){let i=this._S.get(t);return void 0===i&&(i=new Map,this._S.set(t,i)),i}}class er{constructor(t){this.yn=hr(t)}kt(t){this.yn=hr(t)}renderer(){return new sr(this.yn)}}function rr(t){return{...t,P:x(t.fontSize,t.fontFamily,t.fontStyle),lineHeight:t.lineHeight||1.2*t.fontSize,cS:0,Fc:0}}function hr(t){return{...t,lines:t.lines.map(rr)}}function ar(t){return{...nr,...t}}function lr(t){return{...ir,...t,lines:t.lines?.map(ar)??[]}}class or{constructor(t){this.yn=lr(t),this.fS=[new er(this.yn)]}updateAllViews(){this.fS.forEach((t=>t.kt(this.yn)))}paneViews(){return this.fS}attached({requestUpdate:t}){this.pS=t}detached(){this.pS=void 0}vr(t){this.yn=lr({...this.yn,...t}),this.pS&&this.pS()}}function _r(t,i){return new tr(t,new or(i))}const ur={alpha:1,padding:0};class cr{constructor(t){this.qt=t}draw(t){t.useMediaCoordinateSpace((t=>{const i=t.context,n=this.vS(this.qt,t.mediaSize);n&&this.qt.mS&&(i.globalAlpha=this.qt.alpha??1,i.drawImage(this.qt.mS,n._t,n.ut,n.nn,n.$t))}))}vS(t,i){const{maxHeight:n,maxWidth:s,wS:e,MS:r,padding:h}=t,a=Math.round(i.width/2),l=Math.round(i.height/2),o=h??0;let _=i.width-2*o,u=i.height-2*o;n&&(u=Math.min(u,n)),s&&(_=Math.min(_,s));const c=_/r,d=u/e,f=Math.min(c,d),p=r*f,v=e*f;return{_t:a-.5*p,ut:l-.5*v,$t:v,nn:p}}}class dr{constructor(t){this.gS=null,this.bS=0,this.SS=0,this.yn=t,this.M=fr(this.yn,this.gS,this.bS,this.SS)}xS(t){void 0!==t.CS&&(this.bS=t.CS),void 0!==t.yS&&(this.SS=t.yS),void 0!==t.kS&&(this.gS=t.kS),this.kt()}PS(t){this.yn=t,this.kt()}zOrder(){return"bottom"}kt(){this.M=fr(this.yn,this.gS,this.bS,this.SS)}renderer(){return new cr(this.M)}}function fr(t,i,n,s){return{...t,mS:i,MS:n,wS:s}}function pr(t){return{...ur,...t}}class vr{constructor(t,i){this.TS=null,this.RS=t,this.yn=pr(i),this.fS=[new dr(this.yn)]}updateAllViews(){this.fS.forEach((t=>t.kt()))}paneViews(){return this.fS}attached(t){const{requestUpdate:i}=t;this.DS=i,this.TS=new Image,this.TS.onload=()=>{const t=this.TS?.naturalHeight??1,i=this.TS?.naturalWidth??1;this.fS.forEach((n=>n.xS({yS:t,CS:i,kS:this.TS}))),this.DS&&this.DS()},this.TS.src=this.RS}detached(){this.DS=void 0,this.TS=null}vr(t){this.yn=pr({...this.yn,...t}),this.IS(),this.pS&&this.pS()}pS(){this.DS&&this.DS()}IS(){this.fS.forEach((t=>t.PS(this.yn)))}}function mr(t,i,n){return new tr(t,new vr(i,n))}class wr{constructor(t,i){this.ae=t,this.Jh=i,this.oS()}detach(){this.ae.detachPrimitive(this.Jh)}getSeries(){return this.ae}applyOptions(t){this.Jh&&this.Jh.vr&&this.Jh.vr(t)}oS(){this.ae.attachPrimitive(this.Jh)}}const Mr={autoScale:!0,zOrder:"normal"};function gr(t,i){return ei(Math.min(Math.max(t,12),30)*i)}function br(t,i){switch(t){case"arrowDown":case"arrowUp":return gr(i,1);case"circle":return gr(i,.8);case"square":return gr(i,.7)}}function Sr(t){return function(t){const i=Math.ceil(t);return i%2!=0?i-1:i}(gr(t,1))}function xr(t){return Math.max(gr(t,.1),3)}function Cr(t,i,n){return i?t:n?Math.ceil(t/2):0}function yr(t,i,n,s){const e=(br("arrowUp",s)-1)/2*n.VS,r=(ei(s/2)-1)/2*n.VS;i.beginPath(),t?(i.moveTo(n._t-e,n.ut),i.lineTo(n._t,n.ut-e),i.lineTo(n._t+e,n.ut),i.lineTo(n._t+r,n.ut),i.lineTo(n._t+r,n.ut+e),i.lineTo(n._t-r,n.ut+e),i.lineTo(n._t-r,n.ut)):(i.moveTo(n._t-e,n.ut),i.lineTo(n._t,n.ut+e),i.lineTo(n._t+e,n.ut),i.lineTo(n._t+r,n.ut),i.lineTo(n._t+r,n.ut-e),i.lineTo(n._t-r,n.ut-e),i.lineTo(n._t-r,n.ut)),i.fill()}function kr(t,i,n,s,e,r){const h=(br("arrowUp",s)-1)/2,a=(ei(s/2)-1)/2;if(e>=i-a-2&&e<=i+a+2&&r>=(t?n:n-h)-2&&r<=(t?n+h:n)+2)return!0;return(()=>{if(ei+h+3||r<(t?n-h-3:n)||r>(t?n:n+h+3))return!1;const s=Math.abs(e-i);return Math.abs(r-n)+3>=s/2})()}class Pr{constructor(){this.qt=null,this.$s=new rt,this.F=-1,this.W="",this.nm="",this.BS="normal"}ht(t){this.qt=t}js(t,i,n){this.F===t&&this.W===i||(this.F=t,this.W=i,this.nm=x(t,i),this.$s.Os()),this.BS=n}Qs(t,i){if(null===this.qt||null===this.qt.lt)return null;for(let n=this.qt.lt.from;n{this.et(t)}))}drawBackground(t){"aboveSeries"===this.BS&&t.useBitmapCoordinateSpace((t=>{this.et(t)}))}et({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){if(null!==this.qt&&null!==this.qt.lt){t.textBaseline="middle",t.font=this.nm;for(let s=this.qt.lt.from;s=t&&e<=t+n&&r>=i-h&&r<=i+h}(t.ri._t,t.ri.ut,t.ri.nn,t.ri.$t,i,n))||function(t,i,n){if(0===t.Th)return!1;switch(t.AS){case"arrowDown":return kr(!0,t._t,t.ut,t.Th,i,n);case"arrowUp":return kr(!1,t._t,t.ut,t.Th,i,n);case"circle":return function(t,i,n,s,e){const r=2+br("circle",n)/2,h=t-s,a=i-e;return Math.sqrt(h*h+a*a)<=r}(t._t,t.ut,t.Th,i,n);case"square":return function(t,i,n,s,e){const r=br("square",n),h=(r-1)/2,a=t-h,l=i-h;return s>=a&&s<=a+r&&e>=l&&e<=l+r}(t._t,t.ut,t.Th,i,n)}}(t,i,n)}function Dr(t){return"atPriceTop"===t||"atPriceBottom"===t||"atPriceMiddle"===t}function Ir(t,i,n,s,e,r,h,a){const l=function(t,i,n){if(Dr(i.position)&&void 0!==i.price)return i.price;if("value"in(s=t)&&"number"==typeof s.value)return t.value;var s;if(function(t){return"open"in t&&"high"in t&&"low"in t&&"close"in t}(t)){if("inBar"===i.position)return t.close;if("aboveBar"===i.position)return n?t.low:t.high;if("belowBar"===i.position)return n?t.high:t.low}}(n,i,h.priceScale().options().invertScale);if(void 0===l)return;const o=Dr(i.position),_=a.timeScale(),c=p(i.size)?Math.max(i.size,0):1,d=Sr(_.options().barSpacing)*c,f=d/2;t.Th=d;switch(i.position){case"inBar":case"atPriceMiddle":return t.ut=u(h.priceToCoordinate(l)),void(void 0!==t.ri&&(t.ri.ut=t.ut+f+r+.6*e));case"aboveBar":case"atPriceTop":{const i=o?0:s.LS;return t.ut=u(h.priceToCoordinate(l))-f-i,void 0!==t.ri&&(t.ri.ut=t.ut-f-.6*e,s.LS+=1.2*e),void(o||(s.LS+=d+r))}case"belowBar":case"atPriceBottom":{const i=o?0:s.zS;return t.ut=u(h.priceToCoordinate(l))+f+i,void 0!==t.ri&&(t.ri.ut=t.ut+f+r+.6*e,s.zS+=1.2*e),void(o||(s.zS+=d+r))}}}class Vr{constructor(t,i,n){this.OS=[],this.xt=!0,this.NS=!0,this.Xt=new Pr,this.Te=t,this.qv=i,this.qt={ot:[],lt:null},this.yn=n}renderer(){if(!this.Te.options().visible)return null;this.xt&&this.yg();const t=this.qv.options().layout;return this.Xt.js(t.fontSize,t.fontFamily,this.yn.zOrder),this.Xt.ht(this.qt),this.Xt}FS(t){this.OS=t,this.kt("data")}kt(t){this.xt=!0,"data"===t&&(this.NS=!0)}WS(t){this.xt=!0,this.yn=t}zOrder(){return"aboveSeries"===this.yn.zOrder?"top":this.yn.zOrder}yg(){const t=this.qv.timeScale(),i=this.OS;this.NS&&(this.qt.ot=i.map((t=>({wt:t.time,_t:0,ut:0,Th:0,AS:t.shape,R:t.color,te:t.id,HS:t.HS,ri:void 0}))),this.NS=!1);const n=this.qv.options().layout;this.qt.lt=null;const s=t.getVisibleLogicalRange();if(null===s)return;const e=new Ai(Math.floor(s.from),Math.ceil(s.to));if(null===this.Te.data()[0])return;if(0===this.qt.ot.length)return;let r=NaN;const h=xr(t.options().barSpacing),a={LS:h,zS:h};this.qt.lt=Ts(this.qt.ot,e,!0);for(let s=this.qt.lt.from;s0&&(l.ri={ES:e.text,_t:0,ut:0,nn:0,$t:0});const o=this.Te.dataByIndex(e.time,0);null!==o&&Ir(l,e,o,a,n.fontSize,h,this.Te,this.qv)}this.xt=!1}}function Br(t){return{...Mr,...t}}class Er{constructor(t){this.Yh=null,this.OS=[],this.US=[],this.$S=null,this.Te=null,this.qv=null,this.jS=!0,this.qS=null,this.YS=null,this.KS=null,this.ZS=!0,this.yn=Br(t)}attached(t){this.GS(),this.qv=t.chart,this.Te=t.series,this.Yh=new Vr(this.Te,u(this.qv),this.yn),this.DS=t.requestUpdate,this.Te.subscribeDataChanged((t=>this.Yg(t))),this.ZS=!0,this.pS()}pS(){this.DS&&this.DS()}detached(){this.Te&&this.$S&&this.Te.unsubscribeDataChanged(this.$S),this.qv=null,this.Te=null,this.Yh=null,this.$S=null}FS(t){this.ZS=!0,this.OS=t,this.GS(),this.jS=!0,this.YS=null,this.pS()}XS(){return this.OS}paneViews(){return this.Yh?[this.Yh]:[]}updateAllViews(){this.JS()}hitTest(t,i){return this.Yh?this.Yh.renderer()?.Qs(t,i)??null:null}autoscaleInfo(t,i){if(this.yn.autoScale&&this.Yh){const t=this.QS();if(t)return{priceRange:null,margins:t}}return null}vr(t){this.yn=Br({...this.yn,...t}),this.pS&&this.pS()}QS(){const t=u(this.qv).timeScale().options().barSpacing;if(this.jS||t!==this.KS){if(this.KS=t,this.OS.length>0){const i=xr(t),n=1.5*Sr(t)+2*i,s=this.tx();this.qS={above:Cr(n,s.aboveBar,s.inBar),below:Cr(n,s.belowBar,s.inBar)}}else this.qS=null;this.jS=!1}return this.qS}tx(){return null===this.YS&&(this.YS=this.OS.reduce(((t,i)=>(t[i.position]||(t[i.position]=!0),t)),{inBar:!1,aboveBar:!1,belowBar:!1,atPriceTop:!1,atPriceBottom:!1,atPriceMiddle:!1})),this.YS}GS(){if(!this.ZS||!this.qv||!this.Te)return;const t=this.qv.timeScale(),i=this.Te?.data();if(null==t.getVisibleLogicalRange()||!this.Te||0===i.length)return void(this.US=[]);const n=t.timeToIndex(u(i[0].time),!0);this.US=this.OS.map(((i,s)=>{const e=t.timeToIndex(i.time,!0),r=e{this.OS.delete(i),this.hx()}),n),e={...t,lx:s,ox:Date.now()+n};this.OS.set(i,e)}else this.OS.set(i,{...t,lx:void 0,ox:void 0});this.hx()}sx(t){const i=this.OS.get(t);i&&void 0!==i.lx&&window.clearTimeout(i.lx),this.OS.delete(t),this.hx()}_x(){for(const[t]of this.OS)this.sx(t)}ux(){const t=Date.now(),i=[];for(const[n,s]of this.OS)!s.ox||s.ox>t?i.push({time:s.time,sign:s.sign,value:s.value}):this.sx(n);return i}vx(t){this.ix=t}hx(){this.ix&&this.ix()}}const Or={positiveColor:"#22AB94",negativeColor:"#F7525F",updateVisibilityDuration:5e3};class Nr{constructor(t,i,n,s){this.qt=t,this.mx=i,this.wx=n,this.Mx=s}draw(t){t.useBitmapCoordinateSpace((t=>{const i=t.context,n=Math.max(1,Math.floor(t.horizontalPixelRatio))%2/2,s=4*t.verticalPixelRatio+n;this.qt.forEach((e=>{const r=Math.round(e._t*t.horizontalPixelRatio)+n;i.beginPath();const h=this.gx(e.bx);i.fillStyle=h,i.arc(r,e.ut*t.verticalPixelRatio,s,0,2*Math.PI,!1),i.fill(),e.bx&&(i.strokeStyle=h,i.lineWidth=Math.floor(2*t.horizontalPixelRatio),i.beginPath(),i.moveTo((e._t-4.7)*t.horizontalPixelRatio+n,(e.ut-7*e.bx)*t.verticalPixelRatio),i.lineTo(e._t*t.horizontalPixelRatio+n,(e.ut-7*e.bx-7*e.bx*.5)*t.verticalPixelRatio),i.lineTo((e._t+4.7)*t.horizontalPixelRatio+n,(e.ut-7*e.bx)*t.verticalPixelRatio),i.stroke())}))}))}gx(t){return 0===t?this.mx:t>0?this.Mx:this.wx}}class Fr{constructor(t,i,n){this.qt=[],this.Te=t,this.ia=i,this.yn=n}kt(t){this.qt=t.map((t=>{const i=this.Te.priceToCoordinate(t.value);if(null===i)return null;return{_t:u(this.ia.timeToCoordinate(t.time)),ut:i,bx:t.sign}})).filter(g)}renderer(){const t=function(t,i){return function(t,i){return"Area"===i}(0,i)?t.lineColor:t.color}(this.Te.options(),this.Te.seriesType());return new Nr(this.qt,t,this.yn.negativeColor,this.yn.positiveColor)}}function Wr(t,i){return"Line"===i||"Area"===i}class Hr{constructor(t){this.qv=void 0,this.Te=void 0,this.fS=[],this.xu=null,this.Sx=new Map,this.xx=new zr((()=>this.pS())),this.yn={...Or,...t}}vr(t){this.yn={...this.yn,...t},this.pS()}FS(t){this.xx._x();const i=this.xu;i&&t.forEach((t=>{this.xx.nx(t,i.key(t.time))}))}XS(){return this.xx.ux()}pS(){this.DS?.()}attached(t){const{chart:i,series:n,requestUpdate:s,horzScaleBehavior:e}=t;this.qv=i,this.Te=n,this.xu=e;const r=this.Te.seriesType();if("Area"!==r&&"Line"!==r)throw new Error("UpDownMarkersPrimitive is only supported for Area and Line series types");this.fS=[new Fr(this.Te,this.qv.timeScale(),this.yn)],this.DS=s,this.pS()}detached(){this.qv=void 0,this.Te=void 0,this.DS=void 0}am(){return _(this.qv)}U_(){return _(this.Te)}updateAllViews(){this.fS.forEach((t=>t.kt(this.XS())))}paneViews(){return this.fS}ht(t){if(!this.Te)throw new Error("Primitive not attached to series");const i=this.Te.seriesType();this.Sx.clear();const n=this.xu;n&&t.forEach((t=>{Qn(t)&&Wr(0,i)&&this.Sx.set(n.key(t.time),t.value)})),_(this.Te).setData(t)}kt(t,i){if(!this.Te||!this.xu)throw new Error("Primitive not attached to series");const n=this.Te.seriesType(),s=this.xu.key(t.time);if(Jn(t)&&this.Sx.delete(s),Qn(t)&&Wr(0,n)){const i=this.Sx.get(s);i&&this.xx.nx({time:t.time,value:t.value,sign:Ur(t.value,i)},s,this.yn.updateVisibilityDuration)}_(this.Te).update(t,i)}Cx(){this.xx._x()}}function Ur(t,i){return t===i?0:t-i>0?1:-1}class $r extends wr{setData(t){return this.Jh.ht(t)}update(t,i){return this.Jh.kt(t,i)}markers(){return this.Jh.XS()}setMarkers(t){return this.Jh.FS(t)}clearMarkers(){return this.Jh.Cx()}}function jr(t,i={}){return new $r(t,new Hr(i))}const qr={...e,color:"#2196f3"};function Yr(){return"5.2.0"}export{Ue as AreaSeries,Ye as BarSeries,Fe as BaselineSeries,Ge as CandlestickSeries,$i as ColorType,K as CrosshairMode,Qe as HistogramSeries,Hi as LastPriceAnimationMode,Ce as LineSeries,h as LineStyle,r as LineType,It as MismatchDirection,Ui as PriceLineSource,bi as PriceScaleMode,ji as TickMarkType,Wi as TrackingModeExitMode,ae as createChart,he as createChartEx,mr as createImageWatermark,Be as createOptionsChart,Lr as createSeriesMarkers,_r as createTextWatermark,jr as createUpDownMarkers,De as createYieldCurveChart,qr as customSeriesDefaultOptions,le as defaultHorzScaleBehavior,Ki as isBusinessDay,Zi as isUTCTimestamp,Yr as version};