diff --git a/dist/plotly-graph-card.js b/dist/plotly-graph-card.js index ff554e9..79c1def 100644 --- a/dist/plotly-graph-card.js +++ b/dist/plotly-graph-card.js @@ -1,19 +1,19 @@ -(()=>{var $H=Object.create;var cm=Object.defineProperty;var KH=Object.getOwnPropertyDescriptor;var JH=Object.getOwnPropertyNames;var eB=Object.getPrototypeOf,tB=Object.prototype.hasOwnProperty;var rB=e=>cm(e,"__esModule",{value:!0});var E=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var aB=(e,t,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of JH(t))!tB.call(e,a)&&a!=="default"&&cm(e,a,{get:()=>t[a],enumerable:!(r=KH(t,a))||r.enumerable});return e},dm=e=>aB(rB(cm(e!=null?$H(eB(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var Z_=E((dme,Y_)=>{function nB(){this.__data__=[],this.size=0}Y_.exports=nB});var Is=E((hme,X_)=>{function iB(e,t){return e===t||e!==e&&t!==t}X_.exports=iB});var yu=E((vme,Q_)=>{var oB=Is();function sB(e,t){for(var r=e.length;r--;)if(oB(e[r][0],t))return r;return-1}Q_.exports=sB});var K_=E((pme,$_)=>{var lB=yu(),uB=Array.prototype,fB=uB.splice;function cB(e){var t=this.__data__,r=lB(t,e);if(r<0)return!1;var a=t.length-1;return r==a?t.pop():fB.call(t,r,1),--this.size,!0}$_.exports=cB});var ew=E((mme,J_)=>{var dB=yu();function hB(e){var t=this.__data__,r=dB(t,e);return r<0?void 0:t[r][1]}J_.exports=hB});var rw=E((gme,tw)=>{var vB=yu();function pB(e){return vB(this.__data__,e)>-1}tw.exports=pB});var nw=E((yme,aw)=>{var mB=yu();function gB(e,t){var r=this.__data__,a=mB(r,e);return a<0?(++this.size,r.push([e,t])):r[a][1]=t,this}aw.exports=gB});var bu=E((bme,iw)=>{var yB=Z_(),bB=K_(),xB=ew(),_B=rw(),wB=nw();function Es(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t{var TB=bu();function AB(){this.__data__=new TB,this.size=0}ow.exports=AB});var uw=E((_me,lw)=>{function kB(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}lw.exports=kB});var cw=E((wme,fw)=>{function MB(e){return this.__data__.get(e)}fw.exports=MB});var hw=E((Tme,dw)=>{function SB(e){return this.__data__.has(e)}dw.exports=SB});var hm=E((Ame,vw)=>{var CB=typeof global=="object"&&global&&global.Object===Object&&global;vw.exports=CB});var Cn=E((kme,pw)=>{var LB=hm(),qB=typeof self=="object"&&self&&self.Object===Object&&self,DB=LB||qB||Function("return this")();pw.exports=DB});var xu=E((Mme,mw)=>{var PB=Cn(),RB=PB.Symbol;mw.exports=RB});var xw=E((Sme,bw)=>{var gw=xu(),yw=Object.prototype,IB=yw.hasOwnProperty,EB=yw.toString,_u=gw?gw.toStringTag:void 0;function zB(e){var t=IB.call(e,_u),r=e[_u];try{e[_u]=void 0;var a=!0}catch(i){}var n=EB.call(e);return a&&(t?e[_u]=r:delete e[_u]),n}bw.exports=zB});var ww=E((Cme,_w)=>{var NB=Object.prototype,FB=NB.toString;function jB(e){return FB.call(e)}_w.exports=jB});var Lo=E((Lme,kw)=>{var Tw=xu(),OB=xw(),HB=ww(),BB="[object Null]",UB="[object Undefined]",Aw=Tw?Tw.toStringTag:void 0;function GB(e){return e==null?e===void 0?UB:BB:Aw&&Aw in Object(e)?OB(e):HB(e)}kw.exports=GB});var hi=E((qme,Mw)=>{function WB(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}Mw.exports=WB});var Xc=E((Dme,Sw)=>{var VB=Lo(),YB=hi(),ZB="[object AsyncFunction]",XB="[object Function]",QB="[object GeneratorFunction]",$B="[object Proxy]";function KB(e){if(!YB(e))return!1;var t=VB(e);return t==XB||t==QB||t==ZB||t==$B}Sw.exports=KB});var Lw=E((Pme,Cw)=>{var JB=Cn(),eU=JB["__core-js_shared__"];Cw.exports=eU});var Pw=E((Rme,Dw)=>{var vm=Lw(),qw=function(){var e=/[^.]+$/.exec(vm&&vm.keys&&vm.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function tU(e){return!!qw&&qw in e}Dw.exports=tU});var pm=E((Ime,Rw)=>{var rU=Function.prototype,aU=rU.toString;function nU(e){if(e!=null){try{return aU.call(e)}catch(t){}try{return e+""}catch(t){}}return""}Rw.exports=nU});var Ew=E((Eme,Iw)=>{var iU=Xc(),oU=Pw(),sU=hi(),lU=pm(),uU=/[\\^$.*+?()[\]{}|]/g,fU=/^\[object .+?Constructor\]$/,cU=Function.prototype,dU=Object.prototype,hU=cU.toString,vU=dU.hasOwnProperty,pU=RegExp("^"+hU.call(vU).replace(uU,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function mU(e){if(!sU(e)||oU(e))return!1;var t=iU(e)?pU:fU;return t.test(lU(e))}Iw.exports=mU});var Nw=E((zme,zw)=>{function gU(e,t){return e==null?void 0:e[t]}zw.exports=gU});var Bi=E((Nme,Fw)=>{var yU=Ew(),bU=Nw();function xU(e,t){var r=bU(e,t);return yU(r)?r:void 0}Fw.exports=xU});var Qc=E((Fme,jw)=>{var _U=Bi(),wU=Cn(),TU=_U(wU,"Map");jw.exports=TU});var wu=E((jme,Ow)=>{var AU=Bi(),kU=AU(Object,"create");Ow.exports=kU});var Uw=E((Ome,Bw)=>{var Hw=wu();function MU(){this.__data__=Hw?Hw(null):{},this.size=0}Bw.exports=MU});var Ww=E((Hme,Gw)=>{function SU(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}Gw.exports=SU});var Yw=E((Bme,Vw)=>{var CU=wu(),LU="__lodash_hash_undefined__",qU=Object.prototype,DU=qU.hasOwnProperty;function PU(e){var t=this.__data__;if(CU){var r=t[e];return r===LU?void 0:r}return DU.call(t,e)?t[e]:void 0}Vw.exports=PU});var Xw=E((Ume,Zw)=>{var RU=wu(),IU=Object.prototype,EU=IU.hasOwnProperty;function zU(e){var t=this.__data__;return RU?t[e]!==void 0:EU.call(t,e)}Zw.exports=zU});var $w=E((Gme,Qw)=>{var NU=wu(),FU="__lodash_hash_undefined__";function jU(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=NU&&t===void 0?FU:t,this}Qw.exports=jU});var Jw=E((Wme,Kw)=>{var OU=Uw(),HU=Ww(),BU=Yw(),UU=Xw(),GU=$w();function zs(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t{var e2=Jw(),WU=bu(),VU=Qc();function YU(){this.size=0,this.__data__={hash:new e2,map:new(VU||WU),string:new e2}}t2.exports=YU});var n2=E((Yme,a2)=>{function ZU(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}a2.exports=ZU});var Tu=E((Zme,i2)=>{var XU=n2();function QU(e,t){var r=e.__data__;return XU(t)?r[typeof t=="string"?"string":"hash"]:r.map}i2.exports=QU});var s2=E((Xme,o2)=>{var $U=Tu();function KU(e){var t=$U(this,e).delete(e);return this.size-=t?1:0,t}o2.exports=KU});var u2=E((Qme,l2)=>{var JU=Tu();function eG(e){return JU(this,e).get(e)}l2.exports=eG});var c2=E(($me,f2)=>{var tG=Tu();function rG(e){return tG(this,e).has(e)}f2.exports=rG});var h2=E((Kme,d2)=>{var aG=Tu();function nG(e,t){var r=aG(this,e),a=r.size;return r.set(e,t),this.size+=r.size==a?0:1,this}d2.exports=nG});var $c=E((Jme,v2)=>{var iG=r2(),oG=s2(),sG=u2(),lG=c2(),uG=h2();function Ns(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t{var fG=bu(),cG=Qc(),dG=$c(),hG=200;function vG(e,t){var r=this.__data__;if(r instanceof fG){var a=r.__data__;if(!cG||a.length{var pG=bu(),mG=sw(),gG=uw(),yG=cw(),bG=hw(),xG=m2();function Fs(e){var t=this.__data__=new pG(e);this.size=t.size}Fs.prototype.clear=mG;Fs.prototype.delete=gG;Fs.prototype.get=yG;Fs.prototype.has=bG;Fs.prototype.set=xG;g2.exports=Fs});var mm=E((rge,y2)=>{var _G=Bi(),wG=function(){try{var e=_G(Object,"defineProperty");return e({},"",{}),e}catch(t){}}();y2.exports=wG});var Au=E((age,x2)=>{var b2=mm();function TG(e,t,r){t=="__proto__"&&b2?b2(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}x2.exports=TG});var gm=E((nge,_2)=>{var AG=Au(),kG=Is();function MG(e,t,r){(r!==void 0&&!kG(e[t],r)||r===void 0&&!(t in e))&&AG(e,t,r)}_2.exports=MG});var T2=E((ige,w2)=>{function SG(e){return function(t,r,a){for(var n=-1,i=Object(t),o=a(t),s=o.length;s--;){var l=o[e?s:++n];if(r(i[l],l,i)===!1)break}return t}}w2.exports=SG});var ym=E((oge,A2)=>{var CG=T2(),LG=CG();A2.exports=LG});var L2=E((ku,js)=>{var qG=Cn(),k2=typeof ku=="object"&&ku&&!ku.nodeType&&ku,M2=k2&&typeof js=="object"&&js&&!js.nodeType&&js,DG=M2&&M2.exports===k2,S2=DG?qG.Buffer:void 0,C2=S2?S2.allocUnsafe:void 0;function PG(e,t){if(t)return e.slice();var r=e.length,a=C2?C2(r):new e.constructor(r);return e.copy(a),a}js.exports=PG});var bm=E((sge,q2)=>{var RG=Cn(),IG=RG.Uint8Array;q2.exports=IG});var R2=E((lge,P2)=>{var D2=bm();function EG(e){var t=new e.constructor(e.byteLength);return new D2(t).set(new D2(e)),t}P2.exports=EG});var E2=E((uge,I2)=>{var zG=R2();function NG(e,t){var r=t?zG(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}I2.exports=NG});var N2=E((fge,z2)=>{function FG(e,t){var r=-1,a=e.length;for(t||(t=Array(a));++r{var jG=hi(),F2=Object.create,OG=function(){function e(){}return function(t){if(!jG(t))return{};if(F2)return F2(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();j2.exports=OG});var xm=E((dge,H2)=>{function HG(e,t){return function(r){return e(t(r))}}H2.exports=HG});var _m=E((hge,B2)=>{var BG=xm(),UG=BG(Object.getPrototypeOf,Object);B2.exports=UG});var Jc=E((vge,U2)=>{var GG=Object.prototype;function WG(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||GG;return e===r}U2.exports=WG});var W2=E((pge,G2)=>{var VG=O2(),YG=_m(),ZG=Jc();function XG(e){return typeof e.constructor=="function"&&!ZG(e)?VG(YG(e)):{}}G2.exports=XG});var Ui=E((mge,V2)=>{function QG(e){return e!=null&&typeof e=="object"}V2.exports=QG});var Z2=E((gge,Y2)=>{var $G=Lo(),KG=Ui(),JG="[object Arguments]";function eW(e){return KG(e)&&$G(e)==JG}Y2.exports=eW});var ed=E((yge,$2)=>{var X2=Z2(),tW=Ui(),Q2=Object.prototype,rW=Q2.hasOwnProperty,aW=Q2.propertyIsEnumerable,nW=X2(function(){return arguments}())?X2:function(e){return tW(e)&&rW.call(e,"callee")&&!aW.call(e,"callee")};$2.exports=nW});var $n=E((bge,K2)=>{var iW=Array.isArray;K2.exports=iW});var td=E((xge,J2)=>{var oW=9007199254740991;function sW(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=oW}J2.exports=sW});var Mu=E((_ge,eT)=>{var lW=Xc(),uW=td();function fW(e){return e!=null&&uW(e.length)&&!lW(e)}eT.exports=fW});var rT=E((wge,tT)=>{var cW=Mu(),dW=Ui();function hW(e){return dW(e)&&cW(e)}tT.exports=hW});var nT=E((Tge,aT)=>{function vW(){return!1}aT.exports=vW});var rd=E((Su,Os)=>{var pW=Cn(),mW=nT(),iT=typeof Su=="object"&&Su&&!Su.nodeType&&Su,oT=iT&&typeof Os=="object"&&Os&&!Os.nodeType&&Os,gW=oT&&oT.exports===iT,sT=gW?pW.Buffer:void 0,yW=sT?sT.isBuffer:void 0,bW=yW||mW;Os.exports=bW});var fT=E((Age,uT)=>{var xW=Lo(),_W=_m(),wW=Ui(),TW="[object Object]",AW=Function.prototype,kW=Object.prototype,lT=AW.toString,MW=kW.hasOwnProperty,SW=lT.call(Object);function CW(e){if(!wW(e)||xW(e)!=TW)return!1;var t=_W(e);if(t===null)return!0;var r=MW.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&lT.call(r)==SW}uT.exports=CW});var dT=E((kge,cT)=>{var LW=Lo(),qW=td(),DW=Ui(),PW="[object Arguments]",RW="[object Array]",IW="[object Boolean]",EW="[object Date]",zW="[object Error]",NW="[object Function]",FW="[object Map]",jW="[object Number]",OW="[object Object]",HW="[object RegExp]",BW="[object Set]",UW="[object String]",GW="[object WeakMap]",WW="[object ArrayBuffer]",VW="[object DataView]",YW="[object Float32Array]",ZW="[object Float64Array]",XW="[object Int8Array]",QW="[object Int16Array]",$W="[object Int32Array]",KW="[object Uint8Array]",JW="[object Uint8ClampedArray]",eV="[object Uint16Array]",tV="[object Uint32Array]",mr={};mr[YW]=mr[ZW]=mr[XW]=mr[QW]=mr[$W]=mr[KW]=mr[JW]=mr[eV]=mr[tV]=!0;mr[PW]=mr[RW]=mr[WW]=mr[IW]=mr[VW]=mr[EW]=mr[zW]=mr[NW]=mr[FW]=mr[jW]=mr[OW]=mr[HW]=mr[BW]=mr[UW]=mr[GW]=!1;function rV(e){return DW(e)&&qW(e.length)&&!!mr[LW(e)]}cT.exports=rV});var vT=E((Mge,hT)=>{function aV(e){return function(t){return e(t)}}hT.exports=aV});var mT=E((Lu,Hs)=>{var nV=hm(),pT=typeof Lu=="object"&&Lu&&!Lu.nodeType&&Lu,Cu=pT&&typeof Hs=="object"&&Hs&&!Hs.nodeType&&Hs,iV=Cu&&Cu.exports===pT,wm=iV&&nV.process,oV=function(){try{var e=Cu&&Cu.require&&Cu.require("util").types;return e||wm&&wm.binding&&wm.binding("util")}catch(t){}}();Hs.exports=oV});var ad=E((Sge,bT)=>{var sV=dT(),lV=vT(),gT=mT(),yT=gT&&gT.isTypedArray,uV=yT?lV(yT):sV;bT.exports=uV});var Tm=E((Cge,xT)=>{function fV(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}xT.exports=fV});var wT=E((Lge,_T)=>{var cV=Au(),dV=Is(),hV=Object.prototype,vV=hV.hasOwnProperty;function pV(e,t,r){var a=e[t];(!(vV.call(e,t)&&dV(a,r))||r===void 0&&!(t in e))&&cV(e,t,r)}_T.exports=pV});var AT=E((qge,TT)=>{var mV=wT(),gV=Au();function yV(e,t,r,a){var n=!r;r||(r={});for(var i=-1,o=t.length;++i{function bV(e,t){for(var r=-1,a=Array(e);++r{var xV=9007199254740991,_V=/^(?:0|[1-9]\d*)$/;function wV(e,t){var r=typeof e;return t=t??xV,!!t&&(r=="number"||r!="symbol"&&_V.test(e))&&e>-1&&e%1==0&&e{var TV=MT(),AV=ed(),kV=$n(),MV=rd(),SV=nd(),CV=ad(),LV=Object.prototype,qV=LV.hasOwnProperty;function DV(e,t){var r=kV(e),a=!r&&AV(e),n=!r&&!a&&MV(e),i=!r&&!a&&!n&&CV(e),o=r||a||n||i,s=o?TV(e.length,String):[],l=s.length;for(var u in e)(t||qV.call(e,u))&&!(o&&(u=="length"||n&&(u=="offset"||u=="parent")||i&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||SV(u,l)))&&s.push(u);return s}CT.exports=DV});var qT=E((Ige,LT)=>{function PV(e){var t=[];if(e!=null)for(var r in Object(e))t.push(r);return t}LT.exports=PV});var PT=E((Ege,DT)=>{var RV=hi(),IV=Jc(),EV=qT(),zV=Object.prototype,NV=zV.hasOwnProperty;function FV(e){if(!RV(e))return EV(e);var t=IV(e),r=[];for(var a in e)a=="constructor"&&(t||!NV.call(e,a))||r.push(a);return r}DT.exports=FV});var km=E((zge,RT)=>{var jV=Am(),OV=PT(),HV=Mu();function BV(e){return HV(e)?jV(e,!0):OV(e)}RT.exports=BV});var ET=E((Nge,IT)=>{var UV=AT(),GV=km();function WV(e){return UV(e,GV(e))}IT.exports=WV});var HT=E((Fge,OT)=>{var zT=gm(),VV=L2(),YV=E2(),ZV=N2(),XV=W2(),NT=ed(),FT=$n(),QV=rT(),$V=rd(),KV=Xc(),JV=hi(),eY=fT(),tY=ad(),jT=Tm(),rY=ET();function aY(e,t,r,a,n,i,o){var s=jT(e,r),l=jT(t,r),u=o.get(l);if(u){zT(e,r,u);return}var c=i?i(s,l,r+"",e,t,o):void 0,d=c===void 0;if(d){var h=FT(l),p=!h&&$V(l),g=!h&&!p&&tY(l);c=l,h||p||g?FT(s)?c=s:QV(s)?c=ZV(s):p?(d=!1,c=VV(l,!0)):g?(d=!1,c=YV(l,!0)):c=[]:eY(l)||NT(l)?(c=s,NT(s)?c=rY(s):(!JV(s)||KV(s))&&(c=XV(l))):d=!1}d&&(o.set(l,c),n(c,l,a,i,o),o.delete(l)),zT(e,r,c)}OT.exports=aY});var GT=E((jge,UT)=>{var nY=Kc(),iY=gm(),oY=ym(),sY=HT(),lY=hi(),uY=km(),fY=Tm();function BT(e,t,r,a,n){e!==t&&oY(t,function(i,o){if(n||(n=new nY),lY(i))sY(e,t,o,r,BT,a,n);else{var s=a?a(fY(e,o),i,o+"",e,t,n):void 0;s===void 0&&(s=i),iY(e,o,s)}},uY)}UT.exports=BT});var id=E((Oge,WT)=>{function cY(e){return e}WT.exports=cY});var YT=E((Hge,VT)=>{function dY(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}VT.exports=dY});var QT=E((Bge,XT)=>{var hY=YT(),ZT=Math.max;function vY(e,t,r){return t=ZT(t===void 0?e.length-1:t,0),function(){for(var a=arguments,n=-1,i=ZT(a.length-t,0),o=Array(i);++n{function pY(e){return function(){return e}}$T.exports=pY});var tA=E((Gge,eA)=>{var mY=KT(),JT=mm(),gY=id(),yY=JT?function(e,t){return JT(e,"toString",{configurable:!0,enumerable:!1,value:mY(t),writable:!0})}:gY;eA.exports=yY});var aA=E((Wge,rA)=>{var bY=800,xY=16,_Y=Date.now;function wY(e){var t=0,r=0;return function(){var a=_Y(),n=xY-(a-r);if(r=a,n>0){if(++t>=bY)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}rA.exports=wY});var iA=E((Vge,nA)=>{var TY=tA(),AY=aA(),kY=AY(TY);nA.exports=kY});var sA=E((Yge,oA)=>{var MY=id(),SY=QT(),CY=iA();function LY(e,t){return CY(SY(e,t,MY),e+"")}oA.exports=LY});var uA=E((Zge,lA)=>{var qY=Is(),DY=Mu(),PY=nd(),RY=hi();function IY(e,t,r){if(!RY(r))return!1;var a=typeof t;return(a=="number"?DY(r)&&PY(t,r.length):a=="string"&&t in r)?qY(r[t],e):!1}lA.exports=IY});var cA=E((Xge,fA)=>{var EY=sA(),zY=uA();function NY(e){return EY(function(t,r){var a=-1,n=r.length,i=n>1?r[n-1]:void 0,o=n>2?r[2]:void 0;for(i=e.length>3&&typeof i=="function"?(n--,i):void 0,o&&zY(r[0],r[1],o)&&(i=n<3?void 0:i,n=1),t=Object(t);++a{var FY=GT(),jY=cA(),OY=jY(function(e,t,r){FY(e,t,r)});dA.exports=OY});var vA=E(($ge,hA)=>{var HY=xm(),BY=HY(Object.keys,Object);hA.exports=BY});var mA=E((Kge,pA)=>{var UY=Jc(),GY=vA(),WY=Object.prototype,VY=WY.hasOwnProperty;function YY(e){if(!UY(e))return GY(e);var t=[];for(var r in Object(e))VY.call(e,r)&&r!="constructor"&&t.push(r);return t}pA.exports=YY});var od=E((Jge,gA)=>{var ZY=Am(),XY=mA(),QY=Mu();function $Y(e){return QY(e)?ZY(e):XY(e)}gA.exports=$Y});var bA=E((eye,yA)=>{var KY=ym(),JY=od();function eZ(e,t){return e&&KY(e,t,JY)}yA.exports=eZ});var _A=E((tye,xA)=>{var tZ="__lodash_hash_undefined__";function rZ(e){return this.__data__.set(e,tZ),this}xA.exports=rZ});var TA=E((rye,wA)=>{function aZ(e){return this.__data__.has(e)}wA.exports=aZ});var kA=E((aye,AA)=>{var nZ=$c(),iZ=_A(),oZ=TA();function sd(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new nZ;++t{function sZ(e,t){for(var r=-1,a=e==null?0:e.length;++r{function lZ(e,t){return e.has(t)}CA.exports=lZ});var Sm=E((oye,qA)=>{var uZ=kA(),fZ=SA(),cZ=LA(),dZ=1,hZ=2;function vZ(e,t,r,a,n,i){var o=r&dZ,s=e.length,l=t.length;if(s!=l&&!(o&&l>s))return!1;var u=i.get(e),c=i.get(t);if(u&&c)return u==t&&c==e;var d=-1,h=!0,p=r&hZ?new uZ:void 0;for(i.set(e,t),i.set(t,e);++d{function pZ(e){var t=-1,r=Array(e.size);return e.forEach(function(a,n){r[++t]=[n,a]}),r}DA.exports=pZ});var IA=E((lye,RA)=>{function mZ(e){var t=-1,r=Array(e.size);return e.forEach(function(a){r[++t]=a}),r}RA.exports=mZ});var jA=E((uye,FA)=>{var EA=xu(),zA=bm(),gZ=Is(),yZ=Sm(),bZ=PA(),xZ=IA(),_Z=1,wZ=2,TZ="[object Boolean]",AZ="[object Date]",kZ="[object Error]",MZ="[object Map]",SZ="[object Number]",CZ="[object RegExp]",LZ="[object Set]",qZ="[object String]",DZ="[object Symbol]",PZ="[object ArrayBuffer]",RZ="[object DataView]",NA=EA?EA.prototype:void 0,Cm=NA?NA.valueOf:void 0;function IZ(e,t,r,a,n,i,o){switch(r){case RZ:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case PZ:return!(e.byteLength!=t.byteLength||!i(new zA(e),new zA(t)));case TZ:case AZ:case SZ:return gZ(+e,+t);case kZ:return e.name==t.name&&e.message==t.message;case CZ:case qZ:return e==t+"";case MZ:var s=bZ;case LZ:var l=a&_Z;if(s||(s=xZ),e.size!=t.size&&!l)return!1;var u=o.get(e);if(u)return u==t;a|=wZ,o.set(e,t);var c=yZ(s(e),s(t),a,n,i,o);return o.delete(e),c;case DZ:if(Cm)return Cm.call(e)==Cm.call(t)}return!1}FA.exports=IZ});var HA=E((fye,OA)=>{function EZ(e,t){for(var r=-1,a=t.length,n=e.length;++r{var zZ=HA(),NZ=$n();function FZ(e,t,r){var a=t(e);return NZ(e)?a:zZ(a,r(e))}BA.exports=FZ});var WA=E((dye,GA)=>{function jZ(e,t){for(var r=-1,a=e==null?0:e.length,n=0,i=[];++r{function OZ(){return[]}VA.exports=OZ});var QA=E((vye,XA)=>{var HZ=WA(),BZ=YA(),UZ=Object.prototype,GZ=UZ.propertyIsEnumerable,ZA=Object.getOwnPropertySymbols,WZ=ZA?function(e){return e==null?[]:(e=Object(e),HZ(ZA(e),function(t){return GZ.call(e,t)}))}:BZ;XA.exports=WZ});var KA=E((pye,$A)=>{var VZ=UA(),YZ=QA(),ZZ=od();function XZ(e){return VZ(e,ZZ,YZ)}$A.exports=XZ});var tk=E((mye,ek)=>{var JA=KA(),QZ=1,$Z=Object.prototype,KZ=$Z.hasOwnProperty;function JZ(e,t,r,a,n,i){var o=r&QZ,s=JA(e),l=s.length,u=JA(t),c=u.length;if(l!=c&&!o)return!1;for(var d=l;d--;){var h=s[d];if(!(o?h in t:KZ.call(t,h)))return!1}var p=i.get(e),g=i.get(t);if(p&&g)return p==t&&g==e;var m=!0;i.set(e,t),i.set(t,e);for(var b=o;++d{var eX=Bi(),tX=Cn(),rX=eX(tX,"DataView");rk.exports=rX});var ik=E((yye,nk)=>{var aX=Bi(),nX=Cn(),iX=aX(nX,"Promise");nk.exports=iX});var sk=E((bye,ok)=>{var oX=Bi(),sX=Cn(),lX=oX(sX,"Set");ok.exports=lX});var uk=E((xye,lk)=>{var uX=Bi(),fX=Cn(),cX=uX(fX,"WeakMap");lk.exports=cX});var gk=E((_ye,mk)=>{var Lm=ak(),qm=Qc(),Dm=ik(),Pm=sk(),Rm=uk(),fk=Lo(),Bs=pm(),ck="[object Map]",dX="[object Object]",dk="[object Promise]",hk="[object Set]",vk="[object WeakMap]",pk="[object DataView]",hX=Bs(Lm),vX=Bs(qm),pX=Bs(Dm),mX=Bs(Pm),gX=Bs(Rm),qo=fk;(Lm&&qo(new Lm(new ArrayBuffer(1)))!=pk||qm&&qo(new qm)!=ck||Dm&&qo(Dm.resolve())!=dk||Pm&&qo(new Pm)!=hk||Rm&&qo(new Rm)!=vk)&&(qo=function(e){var t=fk(e),r=t==dX?e.constructor:void 0,a=r?Bs(r):"";if(a)switch(a){case hX:return pk;case vX:return ck;case pX:return dk;case mX:return hk;case gX:return vk}return t});mk.exports=qo});var kk=E((wye,Ak)=>{var Im=Kc(),yX=Sm(),bX=jA(),xX=tk(),yk=gk(),bk=$n(),xk=rd(),_X=ad(),wX=1,_k="[object Arguments]",wk="[object Array]",ld="[object Object]",TX=Object.prototype,Tk=TX.hasOwnProperty;function AX(e,t,r,a,n,i){var o=bk(e),s=bk(t),l=o?wk:yk(e),u=s?wk:yk(t);l=l==_k?ld:l,u=u==_k?ld:u;var c=l==ld,d=u==ld,h=l==u;if(h&&xk(e)){if(!xk(t))return!1;o=!0,c=!1}if(h&&!c)return i||(i=new Im),o||_X(e)?yX(e,t,r,a,n,i):bX(e,t,l,r,a,n,i);if(!(r&wX)){var p=c&&Tk.call(e,"__wrapped__"),g=d&&Tk.call(t,"__wrapped__");if(p||g){var m=p?e.value():e,b=g?t.value():t;return i||(i=new Im),n(m,b,r,a,i)}}return h?(i||(i=new Im),xX(e,t,r,a,n,i)):!1}Ak.exports=AX});var Em=E((Tye,Ck)=>{var kX=kk(),Mk=Ui();function Sk(e,t,r,a,n){return e===t?!0:e==null||t==null||!Mk(e)&&!Mk(t)?e!==e&&t!==t:kX(e,t,r,a,Sk,n)}Ck.exports=Sk});var qk=E((Aye,Lk)=>{var MX=Kc(),SX=Em(),CX=1,LX=2;function qX(e,t,r,a){var n=r.length,i=n,o=!a;if(e==null)return!i;for(e=Object(e);n--;){var s=r[n];if(o&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++n{var DX=hi();function PX(e){return e===e&&!DX(e)}Dk.exports=PX});var Rk=E((Mye,Pk)=>{var RX=zm(),IX=od();function EX(e){for(var t=IX(e),r=t.length;r--;){var a=t[r],n=e[a];t[r]=[a,n,RX(n)]}return t}Pk.exports=EX});var Nm=E((Sye,Ik)=>{function zX(e,t){return function(r){return r==null?!1:r[e]===t&&(t!==void 0||e in Object(r))}}Ik.exports=zX});var zk=E((Cye,Ek)=>{var NX=qk(),FX=Rk(),jX=Nm();function OX(e){var t=FX(e);return t.length==1&&t[0][2]?jX(t[0][0],t[0][1]):function(r){return r===e||NX(r,e,t)}}Ek.exports=OX});var ud=E((Lye,Nk)=>{var HX=Lo(),BX=Ui(),UX="[object Symbol]";function GX(e){return typeof e=="symbol"||BX(e)&&HX(e)==UX}Nk.exports=GX});var fd=E((qye,Fk)=>{var WX=$n(),VX=ud(),YX=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ZX=/^\w*$/;function XX(e,t){if(WX(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||VX(e)?!0:ZX.test(e)||!YX.test(e)||t!=null&&e in Object(t)}Fk.exports=XX});var Hk=E((Dye,Ok)=>{var jk=$c(),QX="Expected a function";function Fm(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(QX);var r=function(){var a=arguments,n=t?t.apply(this,a):a[0],i=r.cache;if(i.has(n))return i.get(n);var o=e.apply(this,a);return r.cache=i.set(n,o)||i,o};return r.cache=new(Fm.Cache||jk),r}Fm.Cache=jk;Ok.exports=Fm});var Uk=E((Pye,Bk)=>{var $X=Hk(),KX=500;function JX(e){var t=$X(e,function(a){return r.size===KX&&r.clear(),a}),r=t.cache;return t}Bk.exports=JX});var Wk=E((Rye,Gk)=>{var eQ=Uk(),tQ=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,rQ=/\\(\\)?/g,aQ=eQ(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(tQ,function(r,a,n,i){t.push(n?i.replace(rQ,"$1"):a||r)}),t});Gk.exports=aQ});var Yk=E((Iye,Vk)=>{function nQ(e,t){for(var r=-1,a=e==null?0:e.length,n=Array(a);++r{var Zk=xu(),iQ=Yk(),oQ=$n(),sQ=ud(),lQ=1/0,Xk=Zk?Zk.prototype:void 0,Qk=Xk?Xk.toString:void 0;function $k(e){if(typeof e=="string")return e;if(oQ(e))return iQ(e,$k)+"";if(sQ(e))return Qk?Qk.call(e):"";var t=e+"";return t=="0"&&1/e==-lQ?"-0":t}Kk.exports=$k});var tM=E((zye,eM)=>{var uQ=Jk();function fQ(e){return e==null?"":uQ(e)}eM.exports=fQ});var jm=E((Nye,rM)=>{var cQ=$n(),dQ=fd(),hQ=Wk(),vQ=tM();function pQ(e,t){return cQ(e)?e:dQ(e,t)?[e]:hQ(vQ(e))}rM.exports=pQ});var qu=E((Fye,aM)=>{var mQ=ud(),gQ=1/0;function yQ(e){if(typeof e=="string"||mQ(e))return e;var t=e+"";return t=="0"&&1/e==-gQ?"-0":t}aM.exports=yQ});var Om=E((jye,nM)=>{var bQ=jm(),xQ=qu();function _Q(e,t){t=bQ(t,e);for(var r=0,a=t.length;e!=null&&r{var wQ=Om();function TQ(e,t,r){var a=e==null?void 0:wQ(e,t);return a===void 0?r:a}iM.exports=TQ});var lM=E((Hye,sM)=>{function AQ(e,t){return e!=null&&t in Object(e)}sM.exports=AQ});var fM=E((Bye,uM)=>{var kQ=jm(),MQ=ed(),SQ=$n(),CQ=nd(),LQ=td(),qQ=qu();function DQ(e,t,r){t=kQ(t,e);for(var a=-1,n=t.length,i=!1;++a{var PQ=lM(),RQ=fM();function IQ(e,t){return e!=null&&RQ(e,t,PQ)}cM.exports=IQ});var vM=E((Gye,hM)=>{var EQ=Em(),zQ=oM(),NQ=dM(),FQ=fd(),jQ=zm(),OQ=Nm(),HQ=qu(),BQ=1,UQ=2;function GQ(e,t){return FQ(e)&&jQ(t)?OQ(HQ(e),t):function(r){var a=zQ(r,e);return a===void 0&&a===t?NQ(r,e):EQ(t,a,BQ|UQ)}}hM.exports=GQ});var mM=E((Wye,pM)=>{function WQ(e){return function(t){return t==null?void 0:t[e]}}pM.exports=WQ});var yM=E((Vye,gM)=>{var VQ=Om();function YQ(e){return function(t){return VQ(t,e)}}gM.exports=YQ});var xM=E((Yye,bM)=>{var ZQ=mM(),XQ=yM(),QQ=fd(),$Q=qu();function KQ(e){return QQ(e)?ZQ($Q(e)):XQ(e)}bM.exports=KQ});var wM=E((Zye,_M)=>{var JQ=zk(),e$=vM(),t$=id(),r$=$n(),a$=xM();function n$(e){return typeof e=="function"?e:e==null?t$:typeof e=="object"?r$(e)?e$(e[0],e[1]):JQ(e):a$(e)}_M.exports=n$});var AM=E((Xye,TM)=>{var i$=Au(),o$=bA(),s$=wM();function l$(e,t){var r={};return t=s$(t,3),o$(e,function(a,n,i){i$(r,n,t(a,n,i))}),r}TM.exports=l$});var cd=E(SM=>{"use strict";SM.version="2.14.0"});var LM=E((CM,dd)=>{(function(t,r,a){r[t]=r[t]||a(),typeof dd!="undefined"&&dd.exports?dd.exports=r[t]:typeof define=="function"&&define.amd&&define(function(){return r[t]})})("Promise",typeof global!="undefined"?global:CM,function(){"use strict";var t,r,a,n=Object.prototype.toString,i=typeof setImmediate!="undefined"?function(x){return setImmediate(x)}:setTimeout;try{Object.defineProperty({},"x",{}),t=function(x,A,w,k){return Object.defineProperty(x,A,{value:w,writable:!0,configurable:k!==!1})}}catch(_){t=function(A,w,k){return A[w]=k,A}}a=function(){var x,A,w;function k(L,S){this.fn=L,this.self=S,this.next=void 0}return{add:function(S,q){w=new k(S,q),A?A.next=w:x=w,A=w,w=void 0},drain:function(){var S=x;for(x=A=r=void 0;S;)S.fn.call(S.self),S=S.next}}}();function o(_,x){a.add(_,x),r||(r=i(a.drain))}function s(_){var x,A=typeof _;return _!=null&&(A=="object"||A=="function")&&(x=_.then),typeof x=="function"?x:!1}function l(){for(var _=0;_0&&o(l,A))}catch(w){d.call(new p(A),w)}}}function d(_){var x=this;x.triggered||(x.triggered=!0,x.def&&(x=x.def),x.msg=_,x.state=2,x.chain.length>0&&o(l,x))}function h(_,x,A,w){for(var k=0;k{(function(){var e={version:"3.8.0"},t=[].slice,r=function(f){return t.call(f)},a=self.document;function n(f){return f&&(f.ownerDocument||f.document||f).documentElement}function i(f){return f&&(f.ownerDocument&&f.ownerDocument.defaultView||f.document&&f||f.defaultView)}if(a)try{r(a.documentElement.childNodes)[0].nodeType}catch(f){r=function(v){for(var y=v.length,T=new Array(y);y--;)T[y]=v[y];return T}}if(Date.now||(Date.now=function(){return+new Date}),a)try{a.createElement("DIV").style.setProperty("opacity",0,"")}catch(f){var o=this.Element.prototype,s=o.setAttribute,l=o.setAttributeNS,u=this.CSSStyleDeclaration.prototype,c=u.setProperty;o.setAttribute=function(v,y){s.call(this,v,y+"")},o.setAttributeNS=function(v,y,T){l.call(this,v,y,T+"")},u.setProperty=function(v,y,T){c.call(this,v,y+"",T)}}e.ascending=d;function d(f,v){return fv?1:f>=v?0:NaN}e.descending=function(f,v){return vf?1:v>=f?0:NaN},e.min=function(f,v){var y=-1,T=f.length,M,C;if(arguments.length===1){for(;++y=C){M=C;break}for(;++yC&&(M=C)}else{for(;++y=C){M=C;break}for(;++yC&&(M=C)}return M},e.max=function(f,v){var y=-1,T=f.length,M,C;if(arguments.length===1){for(;++y=C){M=C;break}for(;++yM&&(M=C)}else{for(;++y=C){M=C;break}for(;++yM&&(M=C)}return M},e.extent=function(f,v){var y=-1,T=f.length,M,C,R;if(arguments.length===1){for(;++y=C){M=R=C;break}for(;++yC&&(M=C),R=C){M=R=C;break}for(;++yC&&(M=C),R1)return R/(z-1)},e.deviation=function(){var f=e.variance.apply(this,arguments);return f&&Math.sqrt(f)};function g(f){return{left:function(v,y,T,M){for(arguments.length<3&&(T=0),arguments.length<4&&(M=v.length);T>>1;f(v[C],y)<0?T=C+1:M=C}return T},right:function(v,y,T,M){for(arguments.length<3&&(T=0),arguments.length<4&&(M=v.length);T>>1;f(v[C],y)>0?M=C:T=C+1}return T}}}var m=g(d);e.bisectLeft=m.left,e.bisect=e.bisectRight=m.right,e.bisector=function(f){return g(f.length===1?function(v,y){return d(f(v),y)}:f)},e.shuffle=function(f,v,y){(T=arguments.length)<3&&(y=f.length,T<2&&(v=0));for(var T=y-v,M,C;T;)C=Math.random()*T--|0,M=f[T+v],f[T+v]=f[C+v],f[C+v]=M;return f},e.permute=function(f,v){for(var y=v.length,T=new Array(y);y--;)T[y]=f[v[y]];return T},e.pairs=function(f){for(var v=0,y=f.length-1,T,M=f[0],C=new Array(y<0?0:y);v=0;)for(R=f[v],y=R.length;--y>=0;)C[--M]=R[y];return C};var _=Math.abs;e.range=function(f,v,y){if(arguments.length<3&&(y=1,arguments.length<2&&(v=f,f=0)),(v-f)/y==1/0)throw new Error("infinite range");var T=[],M=x(_(y)),C=-1,R;if(f*=M,v*=M,y*=M,y<0)for(;(R=f+y*++C)>v;)T.push(R/M);else for(;(R=f+y*++C)=v.length)return M?M.call(f,z):T?z.sort(T):z;for(var B=-1,Z=z.length,K=v[H++],ce,me,J,oe=new w,se;++B=v.length)return D;var H=[],B=y[z++];return D.forEach(function(Z,K){H.push({key:Z,values:R(K,z)})}),B?H.sort(function(Z,K){return B(Z.key,K.key)}):H}return f.map=function(D,z){return C(z,D,0)},f.entries=function(D){return R(C(e.map,D,0),0)},f.key=function(D){return v.push(D),f},f.sortKeys=function(D){return y[v.length-1]=D,f},f.sortValues=function(D){return T=D,f},f.rollup=function(D){return M=D,f},f},e.set=function(f){var v=new G;if(f)for(var y=0,T=f.length;y=0&&(T=f.slice(y+1),f=f.slice(0,y)),f)return arguments.length<2?this[f].on(T):this[f].on(T,v);if(arguments.length===2){if(v==null)for(f in this)this.hasOwnProperty(f)&&this[f].on(T,null);return this}};function te(f){var v=[],y=new w;function T(){for(var M=v,C=-1,R=M.length,D;++C=0&&(y=f.slice(0,v))!=="xmlns"&&(f=f.slice(v+1)),ie.hasOwnProperty(y)?{space:ie[y],local:f}:f}},Ce.attr=function(f,v){if(arguments.length<2){if(typeof f=="string"){var y=this.node();return f=e.ns.qualify(f),f.local?y.getAttributeNS(f.space,f.local):y.getAttribute(f)}for(v in f)this.each(be(v,f[v]));return this}return this.each(be(f,v))};function be(f,v){f=e.ns.qualify(f);function y(){this.removeAttribute(f)}function T(){this.removeAttributeNS(f.space,f.local)}function M(){this.setAttribute(f,v)}function C(){this.setAttributeNS(f.space,f.local,v)}function R(){var z=v.apply(this,arguments);z==null?this.removeAttribute(f):this.setAttribute(f,z)}function D(){var z=v.apply(this,arguments);z==null?this.removeAttributeNS(f.space,f.local):this.setAttributeNS(f.space,f.local,z)}return v==null?f.local?T:y:typeof v=="function"?f.local?D:R:f.local?C:M}function xe(f){return f.trim().replace(/\s+/g," ")}Ce.classed=function(f,v){if(arguments.length<2){if(typeof f=="string"){var y=this.node(),T=(f=Fe(f)).length,M=-1;if(v=y.classList){for(;++M=0;)(C=y[T])&&(M&&M!==C.nextSibling&&M.parentNode.insertBefore(C,M),M=C);return this},Ce.sort=function(f){f=he.apply(this,arguments);for(var v=-1,y=this.length;++v=v&&(v=M+1);!(z=R[v])&&++v0&&(f=f.slice(0,M));var R=Ee.get(f);R&&(f=R,C=Ne);function D(){var B=this[T];B&&(this.removeEventListener(f,B,B.$),delete this[T])}function z(){var B=C(v,r(arguments));D.call(this),this.addEventListener(f,this[T]=B,B.$=y),B._=v}function H(){var B=new RegExp("^__on([^.]+)"+e.requote(f)+"$"),Z;for(var K in this)if(Z=K.match(B)){var ce=this[K];this.removeEventListener(Z[1],ce,ce.$),delete this[K]}}return M?v?z:D:v?$:H}var Ee=e.map({mouseenter:"mouseover",mouseleave:"mouseout"});a&&Ee.forEach(function(f){"on"+f in a&&Ee.remove(f)});function ze(f,v){return function(y){var T=e.event;e.event=y,v[0]=this.__data__;try{f.apply(this,v)}finally{e.event=T}}}function Ne(f,v){var y=ze(f,v);return function(T){var M=this,C=T.relatedTarget;(!C||C!==M&&!(C.compareDocumentPosition(M)&8))&&y.call(M,T)}}var Ge,ft=0;function yt(f){var v=".dragsuppress-"+ ++ft,y="click"+v,T=e.select(i(f)).on("touchmove"+v,le).on("dragstart"+v,le).on("selectstart"+v,le);if(Ge==null&&(Ge="onselectstart"in f?!1:Y(f.style,"userSelect")),Ge){var M=n(f).style,C=M[Ge];M[Ge]="none"}return function(R){if(T.on(v,null),Ge&&(M[Ge]=C),R){var D=function(){T.on(y,null)};T.on(y,function(){le(),D()},!0),setTimeout(D,0)}}}e.mouse=function(f){return Pt(f,ge())};var st=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function Pt(f,v){v.changedTouches&&(v=v.changedTouches[0]);var y=f.ownerSVGElement||f;if(y.createSVGPoint){var T=y.createSVGPoint();if(st<0){var M=i(f);if(M.scrollX||M.scrollY){y=e.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var C=y[0][0].getScreenCTM();st=!(C.f||C.e),y.remove()}}return st?(T.x=v.pageX,T.y=v.pageY):(T.x=v.clientX,T.y=v.clientY),T=T.matrixTransform(f.getScreenCTM().inverse()),[T.x,T.y]}var R=f.getBoundingClientRect();return[v.clientX-R.left-f.clientLeft,v.clientY-R.top-f.clientTop]}e.touch=function(f,v,y){if(arguments.length<3&&(y=v,v=ge().changedTouches),v){for(var T=0,M=v.length,C;T0?1:f<0?-1:0}function Lt(f,v,y){return(v[0]-f[0])*(y[1]-f[1])-(v[1]-f[1])*(y[0]-f[0])}function hr(f){return f>1?0:f<-1?St:Math.acos(f)}function Ur(f){return f>1?ne:f<-1?-ne:Math.asin(f)}function Pr(f){return((f=Math.exp(f))-1/f)/2}function cr(f){return((f=Math.exp(f))+1/f)/2}function sa(f){return((f=Math.exp(2*f))-1)/(f+1)}function Zn(f){return(f=Math.sin(f/2))*f}var ta=Math.SQRT2,Va=2,kn=4;e.interpolateZoom=function(f,v){var y=f[0],T=f[1],M=f[2],C=v[0],R=v[1],D=v[2],z=C-y,H=R-T,B=z*z+H*H,Z,K;if(B0&&(Ze=Ze.transition().duration(R)),Ze.call(pe.event)}function nt(){oe&&oe.domain(J.range().map(function(Ze){return(Ze-f.x)/f.k}).map(J.invert)),ve&&ve.domain(se.range().map(function(Ze){return(Ze-f.y)/f.k}).map(se.invert))}function it(Ze){D++||Ze({type:"zoomstart"})}function bt(Ze){nt(),Ze({type:"zoom",scale:f.k,translate:[f.x,f.y]})}function lt(Ze){--D||(Ze({type:"zoomend"}),y=null)}function gt(){var Ze=this,xt=me.of(Ze,arguments),At=0,Ut=e.select(i(Ze)).on(H,$r).on(B,ca),pr=fe(e.mouse(Ze)),Ir=yt(Ze);Wc.call(Ze),it(xt);function $r(){At=1,et(e.mouse(Ze),pr),bt(xt)}function ca(){Ut.on(H,null).on(B,null),Ir(At),lt(xt)}}function Bt(){var Ze=this,xt=me.of(Ze,arguments),At={},Ut=0,pr,Ir=".zoom-"+e.event.changedTouches[0].identifier,$r="touchmove"+Ir,ca="touchend"+Ir,Aa=[],da=e.select(Ze),Ea=yt(Ze);za(),it(xt),da.on(z,null).on(K,za);function ra(){var Sn=e.touches(Ze);return pr=f.k,Sn.forEach(function(Kr){Kr.identifier in At&&(At[Kr.identifier]=fe(Kr))}),Sn}function za(){var Sn=e.event.target;e.select(Sn).on($r,So).on(ca,QH),Aa.push(Sn);for(var Kr=e.event.changedTouches,nn=0,Qn=Kr.length;nn1){var Co=on[0],Hi=on[1],Zc=Co[0]-Hi[0],V_=Co[1]-Hi[1];Ut=Zc*Zc+V_*V_}}function So(){var Sn=e.touches(Ze),Kr,nn,Qn,on;Wc.call(Ze);for(var Rs=0,Co=Sn.length;Rs1?1:v,y=y<0?0:y>1?1:y,M=y<=.5?y*(1+v):y+v-y*v,T=2*y-M;function C(D){return D>360?D-=360:D<0&&(D+=360),D<60?T+(M-T)*D/60:D<180?M:D<240?T+(M-T)*(240-D)/60:T}function R(D){return Math.round(C(D)*255)}return new ua(R(f+120),R(f),R(f-120))}e.hcl=la;function la(f,v,y){return this instanceof la?(this.h=+f,this.c=+v,void(this.l=+y)):arguments.length<2?f instanceof la?new la(f.h,f.c,f.l):f instanceof Gr?kc(f.l,f.a,f.b):kc((f=Lc((f=e.rgb(f)).r,f.g,f.b)).l,f.a,f.b):new la(f,v,y)}var Ia=la.prototype=new Ya;Ia.brighter=function(f){return new la(this.h,this.c,Math.min(100,this.l+vr*(arguments.length?f:1)))},Ia.darker=function(f){return new la(this.h,this.c,Math.max(0,this.l-vr*(arguments.length?f:1)))},Ia.rgb=function(){return ci(this.h,this.c,this.l).rgb()};function ci(f,v,y){return isNaN(f)&&(f=0),isNaN(v)&&(v=0),new Gr(y,Math.cos(f*=Ae)*v,Math.sin(f)*v)}e.lab=Gr;function Gr(f,v,y){return this instanceof Gr?(this.l=+f,this.a=+v,void(this.b=+y)):arguments.length<2?f instanceof Gr?new Gr(f.l,f.a,f.b):f instanceof la?ci(f.h,f.c,f.l):Lc((f=ua(f)).r,f.g,f.b):new Gr(f,v,y)}var vr=18,Zr=.95047,_o=1,wo=1.08883,Fi=Gr.prototype=new Ya;Fi.brighter=function(f){return new Gr(Math.min(100,this.l+vr*(arguments.length?f:1)),this.a,this.b)},Fi.darker=function(f){return new Gr(Math.max(0,this.l-vr*(arguments.length?f:1)),this.a,this.b)},Fi.rgb=function(){return Ac(this.l,this.a,this.b)};function Ac(f,v,y){var T=(f+16)/116,M=T+v/500,C=T-y/200;return M=nu(M)*Zr,T=nu(T)*_o,C=nu(C)*wo,new ua(ou(3.2404542*M-1.5371385*T-.4985314*C),ou(-.969266*M+1.8760108*T+.041556*C),ou(.0556434*M-.2040259*T+1.0572252*C))}function kc(f,v,y){return f>0?new la(Math.atan2(y,v)*Se,Math.sqrt(v*v+y*y),f):new la(NaN,NaN,f)}function nu(f){return f>.206893034?f*f*f:(f-4/29)/7.787037}function iu(f){return f>.008856?Math.pow(f,1/3):7.787037*f+4/29}function ou(f){return Math.round(255*(f<=.00304?12.92*f:1.055*Math.pow(f,1/2.4)-.055))}e.rgb=ua;function ua(f,v,y){return this instanceof ua?(this.r=~~f,this.g=~~v,void(this.b=~~y)):arguments.length<2?f instanceof ua?new ua(f.r,f.g,f.b):Sc(""+f,ua,Ta):new ua(f,v,y)}function Mc(f){return new ua(f>>16,f>>8&255,f&255)}function ks(f){return Mc(f)+""}var Ms=ua.prototype=new Ya;Ms.brighter=function(f){f=Math.pow(.7,arguments.length?f:1);var v=this.r,y=this.g,T=this.b,M=30;return!v&&!y&&!T?new ua(M,M,M):(v&&v>4,T=T>>4|T,M=z&240,M=M>>4|M,C=z&15,C=C<<4|C):f.length===7&&(T=(z&16711680)>>16,M=(z&65280)>>8,C=z&255)),v(T,M,C))}function Cc(f,v,y){var T=Math.min(f/=255,v/=255,y/=255),M=Math.max(f,v,y),C=M-T,R,D,z=(M+T)/2;return C?(D=z<.5?C/(M+T):C/(2-M-T),f==M?R=(v-y)/C+(v0&&z<1?0:R),new _a(R,D,z)}function Lc(f,v,y){f=su(f),v=su(v),y=su(y);var T=iu((.4124564*f+.3575761*v+.1804375*y)/Zr),M=iu((.2126729*f+.7151522*v+.072175*y)/_o),C=iu((.0193339*f+.119192*v+.9503041*y)/wo);return Gr(116*M-16,500*(T-M),200*(M-C))}function su(f){return(f/=255)<=.04045?f/12.92:Math.pow((f+.055)/1.055,2.4)}function lu(f){var v=parseFloat(f);return f.charAt(f.length-1)==="%"?Math.round(v*2.55):v}var dt=e.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});dt.forEach(function(f,v){dt.set(f,Mc(v))});function ct(f){return typeof f=="function"?f:function(){return f}}e.functor=ct,e.xhr=Gt(V);function Gt(f){return function(v,y,T){return arguments.length===2&&typeof y=="function"&&(T=y,y=null),$e(v,y,f,T)}}function $e(f,v,y,T){var M={},C=e.dispatch("beforesend","progress","load","error"),R={},D=new XMLHttpRequest,z=null;self.XDomainRequest&&!("withCredentials"in D)&&/^(http(s)?:)?\/\//.test(f)&&(D=new XDomainRequest),"onload"in D?D.onload=D.onerror=H:D.onreadystatechange=function(){D.readyState>3&&H()};function H(){var B=D.status,Z;if(!B&&rr(D)||B>=200&&B<300||B===304){try{Z=y.call(M,D)}catch(K){C.error.call(M,K);return}C.load.call(M,Z)}else C.error.call(M,D)}return D.onprogress=function(B){var Z=e.event;e.event=B;try{C.progress.call(M,D)}finally{e.event=Z}},M.header=function(B,Z){return B=(B+"").toLowerCase(),arguments.length<2?R[B]:(Z==null?delete R[B]:R[B]=Z+"",M)},M.mimeType=function(B){return arguments.length?(v=B==null?null:B+"",M):v},M.responseType=function(B){return arguments.length?(z=B,M):z},M.response=function(B){return y=B,M},["get","post"].forEach(function(B){M[B]=function(){return M.send.apply(M,[B].concat(r(arguments)))}}),M.send=function(B,Z,K){if(arguments.length===2&&typeof Z=="function"&&(K=Z,Z=null),D.open(B,f,!0),v!=null&&!("accept"in R)&&(R.accept=v+",*/*"),D.setRequestHeader)for(var ce in R)D.setRequestHeader(ce,R[ce]);return v!=null&&D.overrideMimeType&&D.overrideMimeType(v),z!=null&&(D.responseType=z),K!=null&&M.on("error",K).on("load",function(me){K(null,me)}),C.beforesend.call(M,D),D.send(Z??null),M},M.abort=function(){return D.abort(),M},e.rebind(M,C,"on"),T==null?M:M.get(fa(T))}function fa(f){return f.length===1?function(v,y){f(v==null?y:null)}:f}function rr(f){var v=f.responseType;return v&&v!=="text"?f.response:f.responseText}e.dsv=function(f,v){var y=new RegExp('["'+f+` -]`),T=f.charCodeAt(0);function M(H,B,Z){arguments.length<3&&(Z=B,B=null);var K=$e(H,v,B==null?C:R(B),Z);return K.row=function(ce){return arguments.length?K.response((B=ce)==null?C:R(ce)):B},K}function C(H){return M.parse(H.responseText)}function R(H){return function(B){return M.parse(B.responseText,H)}}M.parse=function(H,B){var Z;return M.parseRows(H,function(K,ce){if(Z)return Z(K,ce-1);var me=function(J){for(var oe={},se=K.length,ve=0;ve=me)return K;if(ve)return ve=!1,Z;var Re=J;if(H.charCodeAt(Re)===34){for(var Qe=Re;Qe++24?(isFinite(v)&&(clearTimeout(To),To=setTimeout(Np,v)),rn=0):(rn=1,Px(Np))}e.timer.flush=function(){Rx(),Ix()};function Rx(){for(var f=Date.now(),v=Xr;v;)f>=v.t&&v.c(f-v.t)&&(v.c=null),v=v.n;return f}function Ix(){for(var f,v=Xr,y=1/0;v;)v.c?(v.t=0;--D)J.push(M[H[Z[D]][2]]);for(D=+ce;D1&&Lt(f[y[T-2]],f[y[T-1]],f[M])<=0;)--T;y[T++]=M}return y.slice(0,T)}function Jj(f,v){return f[0]-v[0]||f[1]-v[1]}e.geom.polygon=function(f){return ee(f,Dc),f};var Dc=e.geom.polygon.prototype=[];Dc.area=function(){for(var f=-1,v=this.length,y,T=this[v-1],M=0;++fot)D=D.L;else if(R=v-aO(D,y),R>ot){if(!D.R){T=D;break}D=D.R}else{C>-ot?(T=D.P,M=D):R>-ot?(T=D,M=D.N):T=M=D;break}var z=jx(f);if(Ls.insert(T,z),!(!T&&!M)){if(T===M){Ds(T),M=jx(T.site),Ls.insert(z,M),z.edge=M.edge=cu(T.site,z.site),qs(T),qs(M);return}if(!M){z.edge=cu(T.site,z.site);return}Ds(T),Ds(M);var H=T.site,B=H.x,Z=H.y,K=f.x-B,ce=f.y-Z,me=M.site,J=me.x-B,oe=me.y-Z,se=2*(K*oe-ce*J),ve=K*K+ce*ce,pe=J*J+oe*oe,fe={x:(oe*ve-ce*pe)/se+B,y:(K*pe-J*ve)/se+Z};Pc(M.edge,H,me,fe),z.edge=cu(H,f,null,fe),M.edge=cu(f,me,null,fe),qs(T),qs(M)}}function Ox(f,v){var y=f.site,T=y.x,M=y.y,C=M-v;if(!C)return T;var R=f.P;if(!R)return-1/0;y=R.site;var D=y.x,z=y.y,H=z-v;if(!H)return D;var B=D-T,Z=1/C-1/H,K=B/H;return Z?(-K+Math.sqrt(K*K-2*Z*(B*B/(-2*H)-z+H/2+M-C/2)))/Z+T:(T+D)/2}function aO(f,v){var y=f.N;if(y)return Ox(y,v);var T=f.site;return T.y===v?T.x:1/0}function Hx(f){this.site=f,this.edges=[]}Hx.prototype.prepare=function(){for(var f=this.edges,v=f.length,y;v--;)y=f[v].edge,(!y.b||!y.a)&&f.splice(v,1);return f.sort(Bx),f.length};function nO(f){for(var v=f[0][0],y=f[1][0],T=f[0][1],M=f[1][1],C,R,D,z,H=Ao,B=H.length,Z,K,ce,me,J,oe;B--;)if(Z=H[B],!(!Z||!Z.prepare()))for(ce=Z.edges,me=ce.length,K=0;Kot||_(z-R)>ot)&&(ce.splice(K,0,new Rc(uO(Z.site,oe,_(D-v)ot?{x:v,y:_(C-v)ot?{x:_(R-M)ot?{x:y,y:_(C-y)ot?{x:_(R-T)=-Rt)){var ce=z*z+H*H,me=B*B+Z*Z,J=(Z*ce-H*me)/K,oe=(z*me-B*ce)/K,Z=oe+D,se=Fx.pop()||new iO;se.arc=f,se.site=M,se.x=J+R,se.y=Z+Math.sqrt(J*J+oe*oe),se.cy=Z,f.circle=se;for(var ve=null,pe=fu._;pe;)if(se.y0)){if(J/=ce,ce<0){if(J0){if(J>K)return;J>Z&&(Z=J)}if(J=y-D,!(!ce&&J<0)){if(J/=ce,ce<0){if(J>K)return;J>Z&&(Z=J)}else if(ce>0){if(J0)){if(J/=me,me<0){if(J0){if(J>K)return;J>Z&&(Z=J)}if(J=T-z,!(!me&&J<0)){if(J/=me,me<0){if(J>K)return;J>Z&&(Z=J)}else if(me>0){if(J0&&(M.a={x:D+Z*ce,y:z+Z*me}),K<1&&(M.b={x:D+K*ce,y:z+K*me}),M}}}}}}function sO(f){for(var v=Cs,y=oO(f[0][0],f[0][1],f[1][0],f[1][1]),T=v.length,M;T--;)M=v[T],(!lO(M,f)||!y(M)||_(M.a.x-M.b.x)=C)return;if(B>K){if(!T)T={x:me,y:R};else if(T.y>=D)return;y={x:me,y:D}}else{if(!T)T={x:me,y:D};else if(T.y1)if(B>K){if(!T)T={x:(R-se)/oe,y:R};else if(T.y>=D)return;y={x:(D-se)/oe,y:D}}else{if(!T)T={x:(D-se)/oe,y:D};else if(T.y=C)return;y={x:C,y:oe*C+se}}else{if(!T)T={x:C,y:oe*C+se};else if(T.x=B&&se.x<=K&&se.y>=Z&&se.y<=ce?[[B,ce],[K,ce],[K,Z],[B,Z]]:[];ve.point=z[J]}),H}function D(z){return z.map(function(H,B){return{x:Math.round(T(H,B)/ot)*ot,y:Math.round(M(H,B)/ot)*ot,i:B}})}return R.links=function(z){return Up(D(z)).edges.filter(function(H){return H.l&&H.r}).map(function(H){return{source:z[H.l.i],target:z[H.r.i]}})},R.triangles=function(z){var H=[];return Up(D(z)).cells.forEach(function(B,Z){for(var K=B.site,ce=B.edges.sort(Bx),me=-1,J=ce.length,oe,se,ve=ce[J-1].edge,pe=ve.l===K?ve.r:ve.l;++mepe&&(pe=B.x),B.y>fe&&(fe=B.y),ce.push(B.x),me.push(B.y);else for(J=0;Jpe&&(pe=Re),Qe>fe&&(fe=Qe),ce.push(Re),me.push(Qe)}var et=pe-se,Ke=fe-ve;et>Ke?fe=ve+et:pe=se+Ke;function nt(lt,gt,Bt,xr,Zt,Ze,xt,At){if(!(isNaN(Bt)||isNaN(xr)))if(lt.leaf){var Ut=lt.x,pr=lt.y;if(Ut!=null)if(_(Ut-Bt)+_(pr-xr)<.01)it(lt,gt,Bt,xr,Zt,Ze,xt,At);else{var Ir=lt.point;lt.x=lt.y=lt.point=null,it(lt,Ir,Ut,pr,Zt,Ze,xt,At),it(lt,gt,Bt,xr,Zt,Ze,xt,At)}else lt.x=Bt,lt.y=xr,lt.point=gt}else it(lt,gt,Bt,xr,Zt,Ze,xt,At)}function it(lt,gt,Bt,xr,Zt,Ze,xt,At){var Ut=(Zt+xt)*.5,pr=(Ze+At)*.5,Ir=Bt>=Ut,$r=xr>=pr,ca=$r<<1|Ir;lt.leaf=!1,lt=lt.nodes[ca]||(lt.nodes[ca]=Wx()),Ir?Zt=Ut:xt=Ut,$r?Ze=pr:At=pr,nt(lt,gt,Bt,xr,Zt,Ze,xt,At)}var bt=Wx();if(bt.add=function(lt){nt(bt,lt,+Z(lt,++J),+K(lt,J),se,ve,pe,fe)},bt.visit=function(lt){vu(lt,bt,se,ve,pe,fe)},bt.find=function(lt){return vO(bt,lt[0],lt[1],se,ve,pe,fe)},J=-1,v==null){for(;++JC||K>R||ce=Re,Ke=y>=Qe,nt=Ke<<1|et,it=nt+4;nty&&(C=v.slice(y,C),D[R]?D[R]+=C:D[++R]=C),(T=T[0])===(M=M[0])?D[R]?D[R]+=M:D[++R]=M:(D[++R]=null,z.push({i:R,x:di(T,M)})),y=Vp.lastIndex;return y=0&&!(T=e.interpolators[y](f,v)););return T}e.interpolators=[function(f,v){var y=typeof v;return(y==="string"?dt.has(v.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(v)?Gp:Yx:v instanceof Ya?Gp:Array.isArray(v)?zc:y==="object"&&isNaN(v)?Vx:di)(f,v)}],e.interpolateArray=zc;function zc(f,v){var y=[],T=[],M=f.length,C=v.length,R=Math.min(f.length,v.length),D;for(D=0;D=0?f.slice(0,v):f,T=v>=0?f.slice(v+1):"in";return y=pO.get(y)||Zx,T=mO.get(T)||V,gO(T(y.apply(null,t.call(arguments,1))))};function gO(f){return function(v){return v<=0?0:v>=1?1:f(v)}}function Xx(f){return function(v){return 1-f(1-v)}}function Qx(f){return function(v){return .5*(v<.5?f(2*v):2-f(2-2*v))}}function yO(f){return f*f}function bO(f){return f*f*f}function xO(f){if(f<=0)return 0;if(f>=1)return 1;var v=f*f,y=v*f;return 4*(f<.5?y:3*(f-v)+y-.75)}function _O(f){return function(v){return Math.pow(v,f)}}function wO(f){return 1-Math.cos(f*ne)}function TO(f){return Math.pow(2,10*(f-1))}function AO(f){return 1-Math.sqrt(1-f*f)}function kO(f,v){var y;return arguments.length<2&&(v=.45),arguments.length?y=v/Tt*Math.asin(1/f):(f=1,y=v/4),function(T){return 1+f*Math.pow(2,-10*T)*Math.sin((T-y)*Tt/v)}}function MO(f){return f||(f=1.70158),function(v){return v*v*((f+1)*v-f)}}function SO(f){return f<1/2.75?7.5625*f*f:f<2/2.75?7.5625*(f-=1.5/2.75)*f+.75:f<2.5/2.75?7.5625*(f-=2.25/2.75)*f+.9375:7.5625*(f-=2.625/2.75)*f+.984375}e.interpolateHcl=CO;function CO(f,v){f=e.hcl(f),v=e.hcl(v);var y=f.h,T=f.c,M=f.l,C=v.h-y,R=v.c-T,D=v.l-M;return isNaN(R)&&(R=0,T=isNaN(T)?v.c:T),isNaN(C)?(C=0,y=isNaN(y)?v.h:y):C>180?C-=360:C<-180&&(C+=360),function(z){return ci(y+C*z,T+R*z,M+D*z)+""}}e.interpolateHsl=LO;function LO(f,v){f=e.hsl(f),v=e.hsl(v);var y=f.h,T=f.s,M=f.l,C=v.h-y,R=v.s-T,D=v.l-M;return isNaN(R)&&(R=0,T=isNaN(T)?v.s:T),isNaN(C)?(C=0,y=isNaN(y)?v.h:y):C>180?C-=360:C<-180&&(C+=360),function(z){return Ta(y+C*z,T+R*z,M+D*z)+""}}e.interpolateLab=qO;function qO(f,v){f=e.lab(f),v=e.lab(v);var y=f.l,T=f.a,M=f.b,C=v.l-y,R=v.a-T,D=v.b-M;return function(z){return Ac(y+C*z,T+R*z,M+D*z)+""}}e.interpolateRound=$x;function $x(f,v){return v-=f,function(y){return Math.round(f+v*y)}}e.transform=function(f){var v=a.createElementNS(e.ns.prefix.svg,"g");return(e.transform=function(y){if(y!=null){v.setAttribute("transform",y);var T=v.transform.baseVal.consolidate()}return new Kx(T?T.matrix:PO)})(f)};function Kx(f){var v=[f.a,f.b],y=[f.c,f.d],T=e_(v),M=Jx(v,y),C=e_(DO(y,v,-M))||0;v[0]*y[1]180?v+=360:v-f>180&&(f+=360),T.push({i:y.push(Ps(y)+"rotate(",null,")")-2,x:di(f,v)})):v&&y.push(Ps(y)+"rotate("+v+")")}function EO(f,v,y,T){f!==v?T.push({i:y.push(Ps(y)+"skewX(",null,")")-2,x:di(f,v)}):v&&y.push(Ps(y)+"skewX("+v+")")}function zO(f,v,y,T){if(f[0]!==v[0]||f[1]!==v[1]){var M=y.push(Ps(y)+"scale(",null,",",null,")");T.push({i:M-4,x:di(f[0],v[0])},{i:M-2,x:di(f[1],v[1])})}else(v[0]!==1||v[1]!==1)&&y.push(Ps(y)+"scale("+v+")")}function t_(f,v){var y=[],T=[];return f=e.transform(f),v=e.transform(v),RO(f.translate,v.translate,y,T),IO(f.rotate,v.rotate,y,T),EO(f.skew,v.skew,y,T),zO(f.scale,v.scale,y,T),f=v=null,function(M){for(var C=-1,R=T.length,D;++C0?C=fe:(y.c=null,y.t=NaN,y=null,v.end({type:"end",alpha:C=0})):fe>0&&(v.start({type:"start",alpha:C=fe}),y=qc(f.tick)),f):C},f.start=function(){var fe,Re=ce.length,Qe=me.length,et=T[0],Ke=T[1],nt,it;for(fe=0;fe=0;)C.push(B=H[z]),B.parent=D,B.depth=D.depth+1;y&&(D.value=0),D.children=H}else y&&(D.value=+y.call(T,D,D.depth)||0),delete D.children;return Xn(M,function(Z){var K,ce;f&&(K=Z.children)&&K.sort(f),y&&(ce=Z.parent)&&(ce.value+=Z.value)}),R}return T.sort=function(M){return arguments.length?(f=M,T):f},T.children=function(M){return arguments.length?(v=M,T):v},T.value=function(M){return arguments.length?(y=M,T):y},T.revalue=function(M){return y&&(mu(M,function(C){C.children&&(C.value=0)}),Xn(M,function(C){var R;C.children||(C.value=+y.call(T,C,C.depth)||0),(R=C.parent)&&(R.value+=C.value)})),M},T};function pu(f,v){return e.rebind(f,v,"sort","children","value"),f.nodes=f,f.links=$O,f}function mu(f,v){for(var y=[f];(f=y.pop())!=null;)if(v(f),(M=f.children)&&(T=M.length))for(var T,M;--T>=0;)y.push(M[T])}function Xn(f,v){for(var y=[f],T=[];(f=y.pop())!=null;)if(T.push(f),(R=f.children)&&(C=R.length))for(var M=-1,C,R;++MM&&(M=D),T.push(D)}for(R=0;RT&&(y=v,T=M);return y}function nH(f){return f.reduce(iH,0)}function iH(f,v){return f+v[1]}e.layout.histogram=function(){var f=!0,v=Number,y=sH,T=oH;function M(C,R){for(var D=[],z=C.map(v,this),H=y.call(this,z,R),B=T.call(this,H,z,R),Z,R=-1,K=z.length,ce=B.length-1,me=f?1:1/K,J;++R0)for(R=-1;++R=H[0]&&J<=H[1]&&(Z=D[e.bisect(B,J,1,ce)-1],Z.y+=me,Z.push(C[R]));return D}return M.value=function(C){return arguments.length?(v=C,M):v},M.range=function(C){return arguments.length?(y=ct(C),M):y},M.bins=function(C){return arguments.length?(T=typeof C=="number"?function(R){return i_(R,C)}:ct(C),M):T},M.frequency=function(C){return arguments.length?(f=!!C,M):f},M};function oH(f,v){return i_(f,Math.ceil(Math.log(v.length)/Math.LN2+1))}function i_(f,v){for(var y=-1,T=+f[0],M=(f[1]-T)/v,C=[];++y<=v;)C[y]=M*y+T;return C}function sH(f){return[e.min(f),e.max(f)]}e.layout.pack=function(){var f=e.layout.hierarchy().sort(lH),v=0,y=[1,1],T;function M(C,R){var D=f.call(this,C,R),z=D[0],H=y[0],B=y[1],Z=T==null?Math.sqrt:typeof T=="function"?T:function(){return T};if(z.x=z.y=0,Xn(z,function(ce){ce.r=+Z(ce.value)}),Xn(z,l_),v){var K=v*(T?1:Math.max(2*z.r/H,2*z.r/B))/2;Xn(z,function(ce){ce.r+=K}),Xn(z,l_),Xn(z,function(ce){ce.r-=K})}return u_(z,H/2,B/2,T?1:1/Math.max(2*z.r/H,2*z.r/B)),D}return M.size=function(C){return arguments.length?(y=C,M):y},M.radius=function(C){return arguments.length?(T=C==null||typeof C=="function"?C:+C,M):T},M.padding=function(C){return arguments.length?(v=+C,M):v},pu(M,f)};function lH(f,v){return f.value-v.value}function Xp(f,v){var y=f._pack_next;f._pack_next=v,v._pack_prev=f,v._pack_next=y,y._pack_prev=v}function o_(f,v){f._pack_next=v,v._pack_prev=f}function s_(f,v){var y=v.x-f.x,T=v.y-f.y,M=f.r+v.r;return .999*M*M>y*y+T*T}function l_(f){if(!(v=f.children)||!(K=v.length))return;var v,y=1/0,T=-1/0,M=1/0,C=-1/0,R,D,z,H,B,Z,K;function ce(fe){y=Math.min(fe.x-fe.r,y),T=Math.max(fe.x+fe.r,T),M=Math.min(fe.y-fe.r,M),C=Math.max(fe.y+fe.r,C)}if(v.forEach(uH),R=v[0],R.x=-R.r,R.y=0,ce(R),K>1&&(D=v[1],D.x=D.r,D.y=0,ce(D),K>2))for(z=v[2],f_(R,D,z),ce(z),Xp(R,z),R._pack_prev=z,Xp(z,D),D=R._pack_next,H=3;Hoe.x&&(oe=Re),Re.depth>se.depth&&(se=Re)});var ve=v(J,oe)/2-J.x,pe=y[0]/(oe.x+v(oe,J)/2+ve),fe=y[1]/(se.depth||1);mu(ce,function(Re){Re.x=(Re.x+ve)*pe,Re.y=Re.depth*fe})}return K}function C(B){for(var Z={A:null,children:[B]},K=[Z],ce;(ce=K.pop())!=null;)for(var me=ce.children,J,oe=0,se=me.length;oe0&&(cH(hH(J,B,K),B,Re),se+=Re,ve+=Re),pe+=J.m,se+=ce.m,fe+=oe.m,ve+=me.m;J&&!$p(me)&&(me.t=J,me.m+=pe-ve),ce&&!Qp(oe)&&(oe.t=ce,oe.m+=se-fe,K=B)}return K}function H(B){B.x*=y[0],B.y=B.depth*y[1]}return M.separation=function(B){return arguments.length?(v=B,M):v},M.size=function(B){return arguments.length?(T=(y=B)==null?H:null,M):T?null:y},M.nodeSize=function(B){return arguments.length?(T=(y=B)==null?null:H,M):T?y:null},pu(M,f)};function c_(f,v){return f.parent==v.parent?1:2}function Qp(f){var v=f.children;return v.length?v[0]:f.t}function $p(f){var v=f.children,y;return(y=v.length)?v[y-1]:f.t}function cH(f,v,y){var T=y/(v.i-f.i);v.c-=T,v.s+=y,f.c+=T,v.z+=y,v.m+=y}function dH(f){for(var v=0,y=0,T=f.children,M=T.length,C;--M>=0;)C=T[M],C.z+=v,C.m+=v,v+=C.s+(y+=C.c)}function hH(f,v,y){return f.a.parent===v.parent?f.a:y}e.layout.cluster=function(){var f=e.layout.hierarchy().sort(null).value(null),v=c_,y=[1,1],T=!1;function M(C,R){var D=f.call(this,C,R),z=D[0],H,B=0;Xn(z,function(J){var oe=J.children;oe&&oe.length?(J.x=pH(oe),J.y=vH(oe)):(J.x=H?B+=v(J,H):0,J.y=0,H=J)});var Z=d_(z),K=h_(z),ce=Z.x-v(Z,K)/2,me=K.x+v(K,Z)/2;return Xn(z,T?function(J){J.x=(J.x-z.x)*y[0],J.y=(z.y-J.y)*y[1]}:function(J){J.x=(J.x-ce)/(me-ce)*y[0],J.y=(1-(z.y?J.y/z.y:1))*y[1]}),D}return M.separation=function(C){return arguments.length?(v=C,M):v},M.size=function(C){return arguments.length?(T=(y=C)==null,M):T?null:y},M.nodeSize=function(C){return arguments.length?(T=(y=C)!=null,M):T?y:null},pu(M,f)};function vH(f){return 1+e.max(f,function(v){return v.y})}function pH(f){return f.reduce(function(v,y){return v+y.x},0)/f.length}function d_(f){var v=f.children;return v&&v.length?d_(v[0]):f}function h_(f){var v=f.children,y;return v&&(y=v.length)?h_(v[y-1]):f}e.layout.treemap=function(){var f=e.layout.hierarchy(),v=Math.round,y=[1,1],T=null,M=Kp,C=!1,R,D="squarify",z=.5*(1+Math.sqrt(5));function H(J,oe){for(var se=-1,ve=J.length,pe,fe;++se0;)ve.push(fe=pe[Ke-1]),ve.area+=fe.area,D!=="squarify"||(Qe=K(ve,et))<=Re?(pe.pop(),Re=Qe):(ve.area-=ve.pop().area,ce(ve,et,se,!1),et=Math.min(se.dx,se.dy),ve.length=ve.area=0,Re=1/0);ve.length&&(ce(ve,et,se,!0),ve.length=ve.area=0),oe.forEach(B)}}function Z(J){var oe=J.children;if(oe&&oe.length){var se=M(J),ve=oe.slice(),pe,fe=[];for(H(ve,se.dx*se.dy/J.value),fe.area=0;pe=ve.pop();)fe.push(pe),fe.area+=pe.area,pe.z!=null&&(ce(fe,pe.z?se.dx:se.dy,se,!ve.length),fe.length=fe.area=0);oe.forEach(Z)}}function K(J,oe){for(var se=J.area,ve,pe=0,fe=1/0,Re=-1,Qe=J.length;++Repe&&(pe=ve));return se*=se,oe*=oe,se?Math.max(oe*pe*z/se,se/(oe*fe*z)):1/0}function ce(J,oe,se,ve){var pe=-1,fe=J.length,Re=se.x,Qe=se.y,et=oe?v(J.area/oe):0,Ke;if(oe==se.dx){for((ve||et>se.dy)&&(et=se.dy);++pese.dx)&&(et=se.dx);++pe1);return f+v*T*Math.sqrt(-2*Math.log(C)/C)}},logNormal:function(){var f=e.random.normal.apply(e,arguments);return function(){return Math.exp(f())}},bates:function(f){var v=e.random.irwinHall(f);return function(){return v()/f}},irwinHall:function(f){return function(){for(var v=0,y=0;y2?yH:mH,H=T?FO:NO;return M=z(f,v,H,y),C=z(v,f,H,ko),D}function D(z){return M(z)}return D.invert=function(z){return C(z)},D.domain=function(z){return arguments.length?(f=z.map(Number),R()):f},D.range=function(z){return arguments.length?(v=z,R()):v},D.rangeRound=function(z){return D.range(z).interpolate($x)},D.clamp=function(z){return arguments.length?(T=z,R()):T},D.interpolate=function(z){return arguments.length?(y=z,R()):y},D.ticks=function(z){return tm(f,z)},D.tickFormat=function(z,H){return d3_scale_linearTickFormat(f,z,H)},D.nice=function(z){return y_(f,z),R()},D.copy=function(){return m_(f,v,y,T)},R()}function g_(f,v){return e.rebind(f,v,"range","rangeRound","interpolate","clamp")}function y_(f,v){return Jp(f,p_(em(f,v)[2])),Jp(f,p_(em(f,v)[2])),f}function em(f,v){v==null&&(v=10);var y=Nc(f),T=y[1]-y[0],M=Math.pow(10,Math.floor(Math.log(T/v)/Math.LN10)),C=v/T*M;return C<=.15?M*=10:C<=.35?M*=5:C<=.75&&(M*=2),y[0]=Math.ceil(y[0]/M)*M,y[1]=Math.floor(y[1]/M)*M+M*.5,y[2]=M,y}function tm(f,v){return e.range.apply(e,em(f,v))}var bH={s:1,g:1,p:1,r:1,e:1};function b_(f){return-Math.floor(Math.log(f)/Math.LN10+.01)}function fme(f,v){var y=b_(v[2]);return f in bH?Math.abs(y-b_(Math.max(_(v[0]),_(v[1]))))+ +(f!=="e"):y-(f==="%")*2}e.scale.log=function(){return x_(e.scale.linear().domain([0,1]),10,!0,[1,10])};function x_(f,v,y,T){function M(D){return(y?Math.log(D<0?0:D):-Math.log(D>0?0:-D))/Math.log(v)}function C(D){return y?Math.pow(v,D):-Math.pow(v,-D)}function R(D){return f(M(D))}return R.invert=function(D){return C(f.invert(D))},R.domain=function(D){return arguments.length?(y=D[0]>=0,f.domain((T=D.map(Number)).map(M)),R):T},R.base=function(D){return arguments.length?(v=+D,f.domain(T.map(M)),R):v},R.nice=function(){var D=Jp(T.map(M),y?Math:xH);return f.domain(D),T=D.map(C),R},R.ticks=function(){var D=Nc(T),z=[],H=D[0],B=D[1],Z=Math.floor(M(H)),K=Math.ceil(M(B)),ce=v%1?2:v;if(isFinite(K-Z)){if(y){for(;Z0;me--)z.push(C(Z)*me);for(Z=0;z[Z]B;K--);z=z.slice(Z,K)}return z},R.copy=function(){return x_(f.copy(),v,y,T)},g_(R,f)}var xH={floor:function(f){return-Math.ceil(-f)},ceil:function(f){return-Math.floor(-f)}};e.scale.pow=function(){return __(e.scale.linear(),1,[0,1])};function __(f,v,y){var T=jc(v),M=jc(1/v);function C(R){return f(T(R))}return C.invert=function(R){return M(f.invert(R))},C.domain=function(R){return arguments.length?(f.domain((y=R.map(Number)).map(T)),C):y},C.ticks=function(R){return tm(y,R)},C.tickFormat=function(R,D){return d3_scale_linearTickFormat(y,R,D)},C.nice=function(R){return C.domain(y_(y,R))},C.exponent=function(R){return arguments.length?(T=jc(v=R),M=jc(1/v),f.domain(y.map(T)),C):v},C.copy=function(){return __(f.copy(),v,y)},g_(C,f)}function jc(f){return function(v){return v<0?-Math.pow(-v,f):Math.pow(v,f)}}e.scale.sqrt=function(){return e.scale.pow().exponent(.5)},e.scale.ordinal=function(){return w_([],{t:"range",a:[[]]})};function w_(f,v){var y,T,M;function C(D){return T[((y.get(D)||(v.t==="range"?y.set(D,f.push(D)):NaN))-1)%T.length]}function R(D,z){return e.range(f.length).map(function(H){return D+z*H})}return C.domain=function(D){if(!arguments.length)return f;f=[],y=new w;for(var z=-1,H=D.length,B;++z0?y[C-1]:f[0],CK?0:1;if(B=Ct)return z(B,me)+(H?z(H,1-me):"")+"Z";var J,oe,se,ve,pe=0,fe=0,Re,Qe,et,Ke,nt,it,bt,lt,gt=[];if((ve=(+R.apply(this,arguments)||0)/2)&&(se=T===Oc?Math.sqrt(H*H+B*B):+T.apply(this,arguments),me||(fe*=-1),B&&(fe=Ur(se/B*Math.sin(ve))),H&&(pe=Ur(se/H*Math.sin(ve)))),B){Re=B*Math.cos(Z+fe),Qe=B*Math.sin(Z+fe),et=B*Math.cos(K-fe),Ke=B*Math.sin(K-fe);var Bt=Math.abs(K-Z-2*fe)<=St?0:1;if(fe&&Hc(Re,Qe,et,Ke)===me^Bt){var xr=(Z+K)/2;Re=B*Math.cos(xr),Qe=B*Math.sin(xr),et=Ke=null}}else Re=Qe=0;if(H){nt=H*Math.cos(K-pe),it=H*Math.sin(K-pe),bt=H*Math.cos(Z+pe),lt=H*Math.sin(Z+pe);var Zt=Math.abs(Z-K+2*pe)<=St?0:1;if(pe&&Hc(nt,it,bt,lt)===1-me^Zt){var Ze=(Z+K)/2;nt=H*Math.cos(Ze),it=H*Math.sin(Ze),bt=lt=null}}else nt=it=0;if(ce>ot&&(J=Math.min(Math.abs(B-H)/2,+y.apply(this,arguments)))>.001){oe=H0?0:1}function Bc(f,v,y,T,M){var C=f[0]-v[0],R=f[1]-v[1],D=(M?T:-T)/Math.sqrt(C*C+R*R),z=D*R,H=-D*C,B=f[0]+z,Z=f[1]+H,K=v[0]+z,ce=v[1]+H,me=(B+K)/2,J=(Z+ce)/2,oe=K-B,se=ce-Z,ve=oe*oe+se*se,pe=y-T,fe=B*ce-K*Z,Re=(se<0?-1:1)*Math.sqrt(Math.max(0,pe*pe*ve-fe*fe)),Qe=(fe*se-oe*Re)/ve,et=(-fe*oe-se*Re)/ve,Ke=(fe*se+oe*Re)/ve,nt=(-fe*oe+se*Re)/ve,it=Qe-me,bt=et-J,lt=Ke-me,gt=nt-J;return it*it+bt*bt>lt*lt+gt*gt&&(Qe=Ke,et=nt),[[Qe-z,et-H],[Qe*y/pe,et*y/pe]]}function L_(){return!0}function q_(f){var v=Ss,y=uu,T=L_,M=Mn,C=M.key,R=.7;function D(z){var H=[],B=[],Z=-1,K=z.length,ce,me=ct(v),J=ct(y);function oe(){H.push("M",M(f(B),R))}for(;++Z1?f.join("L"):f+"Z"}function D_(f){return f.join("L")+"Z"}function LH(f){for(var v=0,y=f.length,T=f[0],M=[T[0],",",T[1]];++v1&&M.push("H",T[0]),M.join("")}function am(f){for(var v=0,y=f.length,T=f[0],M=[T[0],",",T[1]];++v1){D=v[1],C=f[z],z++,T+="C"+(M[0]+R[0])+","+(M[1]+R[1])+","+(C[0]-D[0])+","+(C[1]-D[1])+","+C[0]+","+C[1];for(var H=2;H9&&(C=y*3/Math.sqrt(C),R[D]=C*T,R[D+1]=C*M));for(D=-1;++D<=z;)C=(f[Math.min(z,D+1)][0]-f[Math.max(0,D-1)][0])/(6*(1+R[D]*R[D])),v.push([C||0,R[D]*C||0]);return v}function FH(f){return f.length<3?Mn(f):f[0]+Uc(f,NH(f))}e.svg.line.radial=function(){var f=q_(E_);return f.radius=f.x,delete f.x,f.angle=f.y,delete f.y,f};function E_(f){for(var v,y=-1,T=f.length,M,C;++ySt)+",1 "+Z}function H(B,Z,K,ce){return"Q 0,0 "+ce}return C.radius=function(B){return arguments.length?(y=ct(B),C):y},C.source=function(B){return arguments.length?(f=ct(B),C):f},C.target=function(B){return arguments.length?(v=ct(B),C):v},C.startAngle=function(B){return arguments.length?(T=ct(B),C):T},C.endAngle=function(B){return arguments.length?(M=ct(B),C):M},C};function jH(f){return f.radius}e.svg.diagonal=function(){var f=N_,v=F_,y=j_;function T(M,C){var R=f.call(this,M,C),D=v.call(this,M,C),z=(R.y+D.y)/2,H=[R,{x:R.x,y:z},{x:D.x,y:z},D];return H=H.map(y),"M"+H[0]+"C"+H[1]+" "+H[2]+" "+H[3]}return T.source=function(M){return arguments.length?(f=ct(M),T):f},T.target=function(M){return arguments.length?(v=ct(M),T):v},T.projection=function(M){return arguments.length?(y=M,T):y},T};function j_(f){return[f.x,f.y]}e.svg.diagonal.radial=function(){var f=e.svg.diagonal(),v=j_,y=f.projection;return f.projection=function(T){return arguments.length?y(OH(v=T)):v},f};function OH(f){return function(){var v=f.apply(this,arguments),y=v[0],T=v[1]-ne;return[y*Math.cos(T),y*Math.sin(T)]}}e.svg.symbol=function(){var f=BH,v=HH;function y(T,M){return(H_.get(f.call(this,T,M))||O_)(v.call(this,T,M))}return y.type=function(T){return arguments.length?(f=ct(T),y):f},y.size=function(T){return arguments.length?(v=ct(T),y):v},y};function HH(){return 64}function BH(){return"circle"}function O_(f){var v=Math.sqrt(f/St);return"M0,"+v+"A"+v+","+v+" 0 1,1 0,"+-v+"A"+v+","+v+" 0 1,1 0,"+v+"Z"}var H_=e.map({circle:O_,cross:function(f){var v=Math.sqrt(f/5)/2;return"M"+-3*v+","+-v+"H"+-v+"V"+-3*v+"H"+v+"V"+-v+"H"+3*v+"V"+v+"H"+v+"V"+3*v+"H"+-v+"V"+v+"H"+-3*v+"Z"},diamond:function(f){var v=Math.sqrt(f/(2*B_)),y=v*B_;return"M0,"+-v+"L"+y+",0 0,"+v+" "+-y+",0Z"},square:function(f){var v=Math.sqrt(f)/2;return"M"+-v+","+-v+"L"+v+","+-v+" "+v+","+v+" "+-v+","+v+"Z"},"triangle-down":function(f){var v=Math.sqrt(f/Gc),y=v*Gc/2;return"M0,"+y+"L"+v+","+-y+" "+-v+","+-y+"Z"},"triangle-up":function(f){var v=Math.sqrt(f/Gc),y=v*Gc/2;return"M0,"+-y+"L"+v+","+y+" "+-v+","+y+"Z"}});e.svg.symbolTypes=H_.keys();var Gc=Math.sqrt(3),B_=Math.tan(30*Ae);Ce.transition=function(f){for(var v=Mo||++G_,y=um(f),T=[],M,C,R=Vc||{time:Date.now(),ease:xO,delay:0,duration:250},D=-1,z=this.length;++D0;)Z[--ve].call(f,se);if(oe>=1)return R.event&&R.event.end.call(f,f.__data__,v),--C.count?delete C[T]:delete f[y],1}R||(D=M.time,z=qc(K,0,D),R=C[T]={tween:new w,time:D,timer:z,delay:M.delay,duration:M.duration,ease:M.ease,index:v},M=null,++C.count)}e.svg.axis=function(){var f=e.scale.linear(),v=W_,y=6,T=6,M=3,C=[10],R=null,D;function z(H){H.each(function(){var B=e.select(this),Z=this.__chart__||f,K=this.__chart__=f.copy(),ce=R??(K.ticks?K.ticks.apply(K,C):K.domain()),me=D??(K.tickFormat?K.tickFormat.apply(K,C):V),J=B.selectAll(".tick").data(ce,K),oe=J.enter().insert("g",".domain").attr("class","tick").style("opacity",ot),se=e.transition(J.exit()).style("opacity",ot).remove(),ve=e.transition(J.order()).style("opacity",1),pe=Math.max(y,0)+M,fe,Re=Fc(K),Qe=B.selectAll(".domain").data([0]),et=(Qe.enter().append("path").attr("class","domain"),e.transition(Qe));oe.append("line"),oe.append("text");var Ke=oe.select("line"),nt=ve.select("line"),it=J.select("text").text(me),bt=oe.select("text"),lt=ve.select("text"),gt=v==="top"||v==="left"?-1:1,Bt,xr,Zt,Ze;if(v==="bottom"||v==="top"?(fe=WH,Bt="x",Zt="y",xr="x2",Ze="y2",it.attr("dy",gt<0?"0em":".71em").style("text-anchor","middle"),et.attr("d","M"+Re[0]+","+gt*T+"V0H"+Re[1]+"V"+gt*T)):(fe=VH,Bt="y",Zt="x",xr="y2",Ze="x2",it.attr("dy",".32em").style("text-anchor",gt<0?"end":"start"),et.attr("d","M"+gt*T+","+Re[0]+"H0V"+Re[1]+"H"+gt*T)),Ke.attr(Ze,gt*y),bt.attr(Zt,gt*pe),nt.attr(xr,0).attr(Ze,gt*y),lt.attr(Bt,0).attr(Zt,gt*pe),K.rangeBand){var xt=K,At=xt.rangeBand()/2;Z=K=function(Ut){return xt(Ut)+At}}else Z.rangeBand?Z=K:se.call(fe,K,Z);oe.call(fe,Z,K),ve.call(fe,K,K)})}return z.scale=function(H){return arguments.length?(f=H,z):f},z.orient=function(H){return arguments.length?(v=H in GH?H+"":W_,z):v},z.ticks=function(){return arguments.length?(C=r(arguments),z):C},z.tickValues=function(H){return arguments.length?(R=H,z):R},z.tickFormat=function(H){return arguments.length?(D=H,z):D},z.tickSize=function(H){var B=arguments.length;return B?(y=+H,T=+arguments[B-1],z):y},z.innerTickSize=function(H){return arguments.length?(y=+H,z):y},z.outerTickSize=function(H){return arguments.length?(T=+H,z):T},z.tickPadding=function(H){return arguments.length?(M=+H,z):M},z.tickSubdivide=function(){return arguments.length&&z},z};var W_="bottom",GH={top:1,right:1,bottom:1,left:1};function WH(f,v,y){f.attr("transform",function(T){var M=v(T);return"translate("+(isFinite(M)?M:y(T))+",0)"})}function VH(f,v,y){f.attr("transform",function(T){var M=v(T);return"translate(0,"+(isFinite(M)?M:y(T))+")"})}e.svg.brush=function(){var f=re(B,"brushstart","brush","brushend"),v=null,y=null,T=[0,0],M=[0,0],C,R,D=!0,z=!0,H=fm[0];function B(J){J.each(function(){var oe=e.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",me).on("touchstart.brush",me),se=oe.selectAll(".background").data([0]);se.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),oe.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var ve=oe.selectAll(".resize").data(H,V);ve.exit().remove(),ve.enter().append("g").attr("class",function(Qe){return"resize "+Qe}).style("cursor",function(Qe){return YH[Qe]}).append("rect").attr("x",function(Qe){return/[ew]$/.test(Qe)?-3:null}).attr("y",function(Qe){return/^[ns]/.test(Qe)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),ve.style("display",B.empty()?"none":null);var pe=e.transition(oe),fe=e.transition(se),Re;v&&(Re=Fc(v),fe.attr("x",Re[0]).attr("width",Re[1]-Re[0]),K(pe)),y&&(Re=Fc(y),fe.attr("y",Re[0]).attr("height",Re[1]-Re[0]),ce(pe)),Z(pe)})}B.event=function(J){J.each(function(){var oe=f.of(this,arguments),se={x:T,y:M,i:C,j:R},ve=this.__chart__||se;this.__chart__=se,Mo?e.select(this).transition().each("start.brush",function(){C=ve.i,R=ve.j,T=ve.x,M=ve.y,oe({type:"brushstart"})}).tween("brush:brush",function(){var pe=zc(T,se.x),fe=zc(M,se.y);return C=R=null,function(Re){T=se.x=pe(Re),M=se.y=fe(Re),oe({type:"brush",mode:"resize"})}}).each("end.brush",function(){C=se.i,R=se.j,oe({type:"brush",mode:"resize"}),oe({type:"brushend"})}):(oe({type:"brushstart"}),oe({type:"brush",mode:"resize"}),oe({type:"brushend"}))})};function Z(J){J.selectAll(".resize").attr("transform",function(oe){return"translate("+T[+/e$/.test(oe)]+","+M[+/^s/.test(oe)]+")"})}function K(J){J.select(".extent").attr("x",T[0]),J.selectAll(".extent,.n>rect,.s>rect").attr("width",T[1]-T[0])}function ce(J){J.select(".extent").attr("y",M[0]),J.selectAll(".extent,.e>rect,.w>rect").attr("height",M[1]-M[0])}function me(){var J=this,oe=e.select(e.event.target),se=f.of(J,arguments),ve=e.select(J),pe=oe.datum(),fe=!/^(n|s)$/.test(pe)&&v,Re=!/^(e|w)$/.test(pe)&&y,Qe=oe.classed("extent"),et=yt(J),Ke,nt=e.mouse(J),it,bt=e.select(i(J)).on("keydown.brush",Bt).on("keyup.brush",xr);if(e.event.changedTouches?bt.on("touchmove.brush",Zt).on("touchend.brush",xt):bt.on("mousemove.brush",Zt).on("mouseup.brush",xt),ve.interrupt().selectAll("*").interrupt(),Qe)nt[0]=T[0]-nt[0],nt[1]=M[0]-nt[1];else if(pe){var lt=+/w$/.test(pe),gt=+/^n/.test(pe);it=[T[1-lt]-nt[0],M[1-gt]-nt[1]],nt[0]=T[lt],nt[1]=M[gt]}else e.event.altKey&&(Ke=nt.slice());ve.style("pointer-events","none").selectAll(".resize").style("display",null),e.select("body").style("cursor",oe.style("cursor")),se({type:"brushstart"}),Zt();function Bt(){e.event.keyCode==32&&(Qe||(Ke=null,nt[0]-=T[1],nt[1]-=M[1],Qe=2),le())}function xr(){e.event.keyCode==32&&Qe==2&&(nt[0]+=T[1],nt[1]+=M[1],Qe=0,le())}function Zt(){var At=e.mouse(J),Ut=!1;it&&(At[0]+=it[0],At[1]+=it[1]),Qe||(e.event.altKey?(Ke||(Ke=[(T[0]+T[1])/2,(M[0]+M[1])/2]),nt[0]=T[+(At[0]{(function(e,t){typeof vd=="object"&&typeof qM!="undefined"?t(vd):typeof define=="function"&&define.amd?define(["exports"],t):(e=e||self,t(e.d3=e.d3||{}))})(vd,function(e){"use strict";var t=new Date,r=new Date;function a(ue,he,Oe,Ue){function je(ye){return ue(ye=arguments.length===0?new Date:new Date(+ye)),ye}return je.floor=function(ye){return ue(ye=new Date(+ye)),ye},je.ceil=function(ye){return ue(ye=new Date(ye-1)),he(ye,1),ue(ye),ye},je.round=function(ye){var we=je(ye),Ee=je.ceil(ye);return ye-we0))return ze;do ze.push(Ne=new Date(+ye)),he(ye,Ee),ue(ye);while(Ne=we)for(;ue(we),!ye(we);)we.setTime(we-1)},function(we,Ee){if(we>=we)if(Ee<0)for(;++Ee<=0;)for(;he(we,-1),!ye(we););else for(;--Ee>=0;)for(;he(we,1),!ye(we););})},Oe&&(je.count=function(ye,we){return t.setTime(+ye),r.setTime(+we),ue(t),ue(r),Math.floor(Oe(t,r))},je.every=function(ye){return ye=Math.floor(ye),!isFinite(ye)||!(ye>0)?null:ye>1?je.filter(Ue?function(we){return Ue(we)%ye==0}:function(we){return je.count(0,we)%ye==0}):je}),je}var n=a(function(){},function(ue,he){ue.setTime(+ue+he)},function(ue,he){return he-ue});n.every=function(ue){return ue=Math.floor(ue),!isFinite(ue)||!(ue>0)?null:ue>1?a(function(he){he.setTime(Math.floor(he/ue)*ue)},function(he,Oe){he.setTime(+he+Oe*ue)},function(he,Oe){return(Oe-he)/ue}):n};var i=n.range,o=1e3,s=6e4,l=36e5,u=864e5,c=6048e5,d=a(function(ue){ue.setTime(ue-ue.getMilliseconds())},function(ue,he){ue.setTime(+ue+he*o)},function(ue,he){return(he-ue)/o},function(ue){return ue.getUTCSeconds()}),h=d.range,p=a(function(ue){ue.setTime(ue-ue.getMilliseconds()-ue.getSeconds()*o)},function(ue,he){ue.setTime(+ue+he*s)},function(ue,he){return(he-ue)/s},function(ue){return ue.getMinutes()}),g=p.range,m=a(function(ue){ue.setTime(ue-ue.getMilliseconds()-ue.getSeconds()*o-ue.getMinutes()*s)},function(ue,he){ue.setTime(+ue+he*l)},function(ue,he){return(he-ue)/l},function(ue){return ue.getHours()}),b=m.range,_=a(function(ue){ue.setHours(0,0,0,0)},function(ue,he){ue.setDate(ue.getDate()+he)},function(ue,he){return(he-ue-(he.getTimezoneOffset()-ue.getTimezoneOffset())*s)/u},function(ue){return ue.getDate()-1}),x=_.range;function A(ue){return a(function(he){he.setDate(he.getDate()-(he.getDay()+7-ue)%7),he.setHours(0,0,0,0)},function(he,Oe){he.setDate(he.getDate()+Oe*7)},function(he,Oe){return(Oe-he-(Oe.getTimezoneOffset()-he.getTimezoneOffset())*s)/c})}var w=A(0),k=A(1),L=A(2),S=A(3),q=A(4),P=A(5),I=A(6),F=w.range,N=k.range,j=L.range,G=S.range,V=q.range,W=P.range,Y=I.range,X=a(function(ue){ue.setDate(1),ue.setHours(0,0,0,0)},function(ue,he){ue.setMonth(ue.getMonth()+he)},function(ue,he){return he.getMonth()-ue.getMonth()+(he.getFullYear()-ue.getFullYear())*12},function(ue){return ue.getMonth()}),$=X.range,ae=a(function(ue){ue.setMonth(0,1),ue.setHours(0,0,0,0)},function(ue,he){ue.setFullYear(ue.getFullYear()+he)},function(ue,he){return he.getFullYear()-ue.getFullYear()},function(ue){return ue.getFullYear()});ae.every=function(ue){return!isFinite(ue=Math.floor(ue))||!(ue>0)?null:a(function(he){he.setFullYear(Math.floor(he.getFullYear()/ue)*ue),he.setMonth(0,1),he.setHours(0,0,0,0)},function(he,Oe){he.setFullYear(he.getFullYear()+Oe*ue)})};var te=ae.range,le=a(function(ue){ue.setUTCSeconds(0,0)},function(ue,he){ue.setTime(+ue+he*s)},function(ue,he){return(he-ue)/s},function(ue){return ue.getUTCMinutes()}),ge=le.range,re=a(function(ue){ue.setUTCMinutes(0,0,0)},function(ue,he){ue.setTime(+ue+he*l)},function(ue,he){return(he-ue)/l},function(ue){return ue.getUTCHours()}),_e=re.range,ee=a(function(ue){ue.setUTCHours(0,0,0,0)},function(ue,he){ue.setUTCDate(ue.getUTCDate()+he)},function(ue,he){return(he-ue)/u},function(ue){return ue.getUTCDate()-1}),ke=ee.range;function Me(ue){return a(function(he){he.setUTCDate(he.getUTCDate()-(he.getUTCDay()+7-ue)%7),he.setUTCHours(0,0,0,0)},function(he,Oe){he.setUTCDate(he.getUTCDate()+Oe*7)},function(he,Oe){return(Oe-he)/c})}var qe=Me(0),De=Me(1),Ce=Me(2),U=Me(3),Q=Me(4),O=Me(5),ie=Me(6),be=qe.range,xe=De.range,Le=Ce.range,Fe=U.range,Te=Q.range,at=O.range,Ve=ie.range,rt=a(function(ue){ue.setUTCDate(1),ue.setUTCHours(0,0,0,0)},function(ue,he){ue.setUTCMonth(ue.getUTCMonth()+he)},function(ue,he){return he.getUTCMonth()-ue.getUTCMonth()+(he.getUTCFullYear()-ue.getUTCFullYear())*12},function(ue){return ue.getUTCMonth()}),Je=rt.range,ut=a(function(ue){ue.setUTCMonth(0,1),ue.setUTCHours(0,0,0,0)},function(ue,he){ue.setUTCFullYear(ue.getUTCFullYear()+he)},function(ue,he){return he.getUTCFullYear()-ue.getUTCFullYear()},function(ue){return ue.getUTCFullYear()});ut.every=function(ue){return!isFinite(ue=Math.floor(ue))||!(ue>0)?null:a(function(he){he.setUTCFullYear(Math.floor(he.getUTCFullYear()/ue)*ue),he.setUTCMonth(0,1),he.setUTCHours(0,0,0,0)},function(he,Oe){he.setUTCFullYear(he.getUTCFullYear()+Oe*ue)})};var ht=ut.range;e.timeDay=_,e.timeDays=x,e.timeFriday=P,e.timeFridays=W,e.timeHour=m,e.timeHours=b,e.timeInterval=a,e.timeMillisecond=n,e.timeMilliseconds=i,e.timeMinute=p,e.timeMinutes=g,e.timeMonday=k,e.timeMondays=N,e.timeMonth=X,e.timeMonths=$,e.timeSaturday=I,e.timeSaturdays=Y,e.timeSecond=d,e.timeSeconds=h,e.timeSunday=w,e.timeSundays=F,e.timeThursday=q,e.timeThursdays=V,e.timeTuesday=L,e.timeTuesdays=j,e.timeWednesday=S,e.timeWednesdays=G,e.timeWeek=w,e.timeWeeks=F,e.timeYear=ae,e.timeYears=te,e.utcDay=ee,e.utcDays=ke,e.utcFriday=O,e.utcFridays=at,e.utcHour=re,e.utcHours=_e,e.utcMillisecond=n,e.utcMilliseconds=i,e.utcMinute=le,e.utcMinutes=ge,e.utcMonday=De,e.utcMondays=xe,e.utcMonth=rt,e.utcMonths=Je,e.utcSaturday=ie,e.utcSaturdays=Ve,e.utcSecond=d,e.utcSeconds=h,e.utcSunday=qe,e.utcSundays=be,e.utcThursday=Q,e.utcThursdays=Te,e.utcTuesday=Ce,e.utcTuesdays=Le,e.utcWednesday=U,e.utcWednesdays=Fe,e.utcWeek=qe,e.utcWeeks=be,e.utcYear=ut,e.utcYears=ht,Object.defineProperty(e,"__esModule",{value:!0})})});var Us=E((pd,DM)=>{(function(e,t){typeof pd=="object"&&typeof DM!="undefined"?t(pd,Hm()):typeof define=="function"&&define.amd?define(["exports","d3-time"],t):(e=e||self,t(e.d3=e.d3||{},e.d3))})(pd,function(e,t){"use strict";function r(ne){if(0<=ne.y&&ne.y<100){var Ae=new Date(-1,ne.m,ne.d,ne.H,ne.M,ne.S,ne.L);return Ae.setFullYear(ne.y),Ae}return new Date(ne.y,ne.m,ne.d,ne.H,ne.M,ne.S,ne.L)}function a(ne){if(0<=ne.y&&ne.y<100){var Ae=new Date(Date.UTC(-1,ne.m,ne.d,ne.H,ne.M,ne.S,ne.L));return Ae.setUTCFullYear(ne.y),Ae}return new Date(Date.UTC(ne.y,ne.m,ne.d,ne.H,ne.M,ne.S,ne.L))}function n(ne,Ae,Se){return{y:ne,m:Ae,d:Se,H:0,M:0,S:0,L:0}}function i(ne){var Ae=ne.dateTime,Se=ne.date,He=ne.time,Lt=ne.periods,hr=ne.days,Ur=ne.shortDays,Pr=ne.months,cr=ne.shortMonths,sa=h(Lt),Zn=p(Lt),ta=h(hr),Va=p(hr),kn=h(Ur),xa=p(Ur),fi=h(Pr),xo=p(Pr),Ya=h(cr),_a=p(cr),wa={a:iu,A:ou,b:ua,B:Mc,c:null,d:X,e:X,f:ge,g:O,G:be,H:$,I:ae,j:te,L:le,m:re,M:_e,p:ks,q:Ms,Q:yt,s:st,S:ee,u:ke,U:Me,V:De,w:Ce,W:U,x:null,X:null,y:Q,Y:ie,Z:xe,"%":ft},Ta={a:ji,A:Sc,b:Cc,B:Lc,c:null,d:Le,e:Le,f:rt,g:Ee,G:Ne,H:Fe,I:Te,j:at,L:Ve,m:Je,M:ut,p:su,q:lu,Q:yt,s:st,S:ht,u:ue,U:he,V:Ue,w:je,W:ye,x:null,X:null,y:we,Y:ze,Z:Ge,"%":ft},la={a:Zr,A:_o,b:wo,B:Fi,c:Ac,d:q,e:q,f:G,g:w,G:A,H:I,I,j:P,L:j,m:S,M:F,p:vr,q:L,Q:W,s:Y,S:N,u:m,U:b,V:_,w:g,W:x,x:kc,X:nu,y:w,Y:A,Z:k,"%":V};wa.x=Ia(Se,wa),wa.X=Ia(He,wa),wa.c=Ia(Ae,wa),Ta.x=Ia(Se,Ta),Ta.X=Ia(He,Ta),Ta.c=Ia(Ae,Ta);function Ia(dt,ct){return function(Gt){var $e=[],fa=-1,rr=0,Xr=dt.length,Qr,rn,To;for(Gt instanceof Date||(Gt=new Date(+Gt));++fa53)return null;"w"in $e||($e.w=1),"Z"in $e?(rr=a(n($e.y,0,1)),Xr=rr.getUTCDay(),rr=Xr>4||Xr===0?t.utcMonday.ceil(rr):t.utcMonday(rr),rr=t.utcDay.offset(rr,($e.V-1)*7),$e.y=rr.getUTCFullYear(),$e.m=rr.getUTCMonth(),$e.d=rr.getUTCDate()+($e.w+6)%7):(rr=r(n($e.y,0,1)),Xr=rr.getDay(),rr=Xr>4||Xr===0?t.timeMonday.ceil(rr):t.timeMonday(rr),rr=t.timeDay.offset(rr,($e.V-1)*7),$e.y=rr.getFullYear(),$e.m=rr.getMonth(),$e.d=rr.getDate()+($e.w+6)%7)}else("W"in $e||"U"in $e)&&("w"in $e||($e.w="u"in $e?$e.u%7:"W"in $e?1:0),Xr="Z"in $e?a(n($e.y,0,1)).getUTCDay():r(n($e.y,0,1)).getDay(),$e.m=0,$e.d="W"in $e?($e.w+6)%7+$e.W*7-(Xr+5)%7:$e.w+$e.U*7-(Xr+6)%7);return"Z"in $e?($e.H+=$e.Z/100|0,$e.M+=$e.Z%100,a($e)):r($e)}}function Gr(dt,ct,Gt,$e){for(var fa=0,rr=ct.length,Xr=Gt.length,Qr,rn;fa=Xr)return-1;if(Qr=ct.charCodeAt(fa++),Qr===37){if(Qr=ct.charAt(fa++),rn=la[Qr in o?ct.charAt(fa++):Qr],!rn||($e=rn(dt,Gt,$e))<0)return-1}else if(Qr!=Gt.charCodeAt($e++))return-1}return $e}function vr(dt,ct,Gt){var $e=sa.exec(ct.slice(Gt));return $e?(dt.p=Zn[$e[0].toLowerCase()],Gt+$e[0].length):-1}function Zr(dt,ct,Gt){var $e=kn.exec(ct.slice(Gt));return $e?(dt.w=xa[$e[0].toLowerCase()],Gt+$e[0].length):-1}function _o(dt,ct,Gt){var $e=ta.exec(ct.slice(Gt));return $e?(dt.w=Va[$e[0].toLowerCase()],Gt+$e[0].length):-1}function wo(dt,ct,Gt){var $e=Ya.exec(ct.slice(Gt));return $e?(dt.m=_a[$e[0].toLowerCase()],Gt+$e[0].length):-1}function Fi(dt,ct,Gt){var $e=fi.exec(ct.slice(Gt));return $e?(dt.m=xo[$e[0].toLowerCase()],Gt+$e[0].length):-1}function Ac(dt,ct,Gt){return Gr(dt,Ae,ct,Gt)}function kc(dt,ct,Gt){return Gr(dt,Se,ct,Gt)}function nu(dt,ct,Gt){return Gr(dt,He,ct,Gt)}function iu(dt){return Ur[dt.getDay()]}function ou(dt){return hr[dt.getDay()]}function ua(dt){return cr[dt.getMonth()]}function Mc(dt){return Pr[dt.getMonth()]}function ks(dt){return Lt[+(dt.getHours()>=12)]}function Ms(dt){return 1+~~(dt.getMonth()/3)}function ji(dt){return Ur[dt.getUTCDay()]}function Sc(dt){return hr[dt.getUTCDay()]}function Cc(dt){return cr[dt.getUTCMonth()]}function Lc(dt){return Pr[dt.getUTCMonth()]}function su(dt){return Lt[+(dt.getUTCHours()>=12)]}function lu(dt){return 1+~~(dt.getUTCMonth()/3)}return{format:function(dt){var ct=Ia(dt+="",wa);return ct.toString=function(){return dt},ct},parse:function(dt){var ct=ci(dt+="",!1);return ct.toString=function(){return dt},ct},utcFormat:function(dt){var ct=Ia(dt+="",Ta);return ct.toString=function(){return dt},ct},utcParse:function(dt){var ct=ci(dt+="",!0);return ct.toString=function(){return dt},ct}}}var o={"-":"",_:" ","0":"0"},s=/^\s*\d+/,l=/^%/,u=/[\\^$*+?|[\]().{}]/g;function c(ne,Ae,Se){var He=ne<0?"-":"",Lt=(He?-ne:ne)+"",hr=Lt.length;return He+(hr68?1900:2e3),Se+He[0].length):-1}function k(ne,Ae,Se){var He=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(Ae.slice(Se,Se+6));return He?(ne.Z=He[1]?0:-(He[2]+(He[3]||"00")),Se+He[0].length):-1}function L(ne,Ae,Se){var He=s.exec(Ae.slice(Se,Se+1));return He?(ne.q=He[0]*3-3,Se+He[0].length):-1}function S(ne,Ae,Se){var He=s.exec(Ae.slice(Se,Se+2));return He?(ne.m=He[0]-1,Se+He[0].length):-1}function q(ne,Ae,Se){var He=s.exec(Ae.slice(Se,Se+2));return He?(ne.d=+He[0],Se+He[0].length):-1}function P(ne,Ae,Se){var He=s.exec(Ae.slice(Se,Se+3));return He?(ne.m=0,ne.d=+He[0],Se+He[0].length):-1}function I(ne,Ae,Se){var He=s.exec(Ae.slice(Se,Se+2));return He?(ne.H=+He[0],Se+He[0].length):-1}function F(ne,Ae,Se){var He=s.exec(Ae.slice(Se,Se+2));return He?(ne.M=+He[0],Se+He[0].length):-1}function N(ne,Ae,Se){var He=s.exec(Ae.slice(Se,Se+2));return He?(ne.S=+He[0],Se+He[0].length):-1}function j(ne,Ae,Se){var He=s.exec(Ae.slice(Se,Se+3));return He?(ne.L=+He[0],Se+He[0].length):-1}function G(ne,Ae,Se){var He=s.exec(Ae.slice(Se,Se+6));return He?(ne.L=Math.floor(He[0]/1e3),Se+He[0].length):-1}function V(ne,Ae,Se){var He=l.exec(Ae.slice(Se,Se+1));return He?Se+He[0].length:-1}function W(ne,Ae,Se){var He=s.exec(Ae.slice(Se));return He?(ne.Q=+He[0],Se+He[0].length):-1}function Y(ne,Ae,Se){var He=s.exec(Ae.slice(Se));return He?(ne.s=+He[0],Se+He[0].length):-1}function X(ne,Ae){return c(ne.getDate(),Ae,2)}function $(ne,Ae){return c(ne.getHours(),Ae,2)}function ae(ne,Ae){return c(ne.getHours()%12||12,Ae,2)}function te(ne,Ae){return c(1+t.timeDay.count(t.timeYear(ne),ne),Ae,3)}function le(ne,Ae){return c(ne.getMilliseconds(),Ae,3)}function ge(ne,Ae){return le(ne,Ae)+"000"}function re(ne,Ae){return c(ne.getMonth()+1,Ae,2)}function _e(ne,Ae){return c(ne.getMinutes(),Ae,2)}function ee(ne,Ae){return c(ne.getSeconds(),Ae,2)}function ke(ne){var Ae=ne.getDay();return Ae===0?7:Ae}function Me(ne,Ae){return c(t.timeSunday.count(t.timeYear(ne)-1,ne),Ae,2)}function qe(ne){var Ae=ne.getDay();return Ae>=4||Ae===0?t.timeThursday(ne):t.timeThursday.ceil(ne)}function De(ne,Ae){return ne=qe(ne),c(t.timeThursday.count(t.timeYear(ne),ne)+(t.timeYear(ne).getDay()===4),Ae,2)}function Ce(ne){return ne.getDay()}function U(ne,Ae){return c(t.timeMonday.count(t.timeYear(ne)-1,ne),Ae,2)}function Q(ne,Ae){return c(ne.getFullYear()%100,Ae,2)}function O(ne,Ae){return ne=qe(ne),c(ne.getFullYear()%100,Ae,2)}function ie(ne,Ae){return c(ne.getFullYear()%1e4,Ae,4)}function be(ne,Ae){var Se=ne.getDay();return ne=Se>=4||Se===0?t.timeThursday(ne):t.timeThursday.ceil(ne),c(ne.getFullYear()%1e4,Ae,4)}function xe(ne){var Ae=ne.getTimezoneOffset();return(Ae>0?"-":(Ae*=-1,"+"))+c(Ae/60|0,"0",2)+c(Ae%60,"0",2)}function Le(ne,Ae){return c(ne.getUTCDate(),Ae,2)}function Fe(ne,Ae){return c(ne.getUTCHours(),Ae,2)}function Te(ne,Ae){return c(ne.getUTCHours()%12||12,Ae,2)}function at(ne,Ae){return c(1+t.utcDay.count(t.utcYear(ne),ne),Ae,3)}function Ve(ne,Ae){return c(ne.getUTCMilliseconds(),Ae,3)}function rt(ne,Ae){return Ve(ne,Ae)+"000"}function Je(ne,Ae){return c(ne.getUTCMonth()+1,Ae,2)}function ut(ne,Ae){return c(ne.getUTCMinutes(),Ae,2)}function ht(ne,Ae){return c(ne.getUTCSeconds(),Ae,2)}function ue(ne){var Ae=ne.getUTCDay();return Ae===0?7:Ae}function he(ne,Ae){return c(t.utcSunday.count(t.utcYear(ne)-1,ne),Ae,2)}function Oe(ne){var Ae=ne.getUTCDay();return Ae>=4||Ae===0?t.utcThursday(ne):t.utcThursday.ceil(ne)}function Ue(ne,Ae){return ne=Oe(ne),c(t.utcThursday.count(t.utcYear(ne),ne)+(t.utcYear(ne).getUTCDay()===4),Ae,2)}function je(ne){return ne.getUTCDay()}function ye(ne,Ae){return c(t.utcMonday.count(t.utcYear(ne)-1,ne),Ae,2)}function we(ne,Ae){return c(ne.getUTCFullYear()%100,Ae,2)}function Ee(ne,Ae){return ne=Oe(ne),c(ne.getUTCFullYear()%100,Ae,2)}function ze(ne,Ae){return c(ne.getUTCFullYear()%1e4,Ae,4)}function Ne(ne,Ae){var Se=ne.getUTCDay();return ne=Se>=4||Se===0?t.utcThursday(ne):t.utcThursday.ceil(ne),c(ne.getUTCFullYear()%1e4,Ae,4)}function Ge(){return"+0000"}function ft(){return"%"}function yt(ne){return+ne}function st(ne){return Math.floor(+ne/1e3)}var Pt;Mt({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Mt(ne){return Pt=i(ne),e.timeFormat=Pt.format,e.timeParse=Pt.parse,e.utcFormat=Pt.utcFormat,e.utcParse=Pt.utcParse,Pt}var ot="%Y-%m-%dT%H:%M:%S.%LZ";function Rt(ne){return ne.toISOString()}var St=Date.prototype.toISOString?Rt:e.utcFormat(ot);function Tt(ne){var Ae=new Date(ne);return isNaN(Ae)?null:Ae}var Ct=+new Date("2000-01-01T00:00:00.000Z")?Tt:e.utcParse(ot);e.isoFormat=St,e.isoParse=Ct,e.timeFormatDefaultLocale=Mt,e.timeFormatLocale=i,Object.defineProperty(e,"__esModule",{value:!0})})});var Bm=E((md,PM)=>{(function(e,t){typeof md=="object"&&typeof PM!="undefined"?t(md):typeof define=="function"&&define.amd?define(["exports"],t):(e=typeof globalThis!="undefined"?globalThis:e||self,t(e.d3=e.d3||{}))})(md,function(e){"use strict";function t(S){return Math.abs(S=Math.round(S))>=1e21?S.toLocaleString("en").replace(/,/g,""):S.toString(10)}function r(S,q){if((P=(S=q?S.toExponential(q-1):S.toExponential()).indexOf("e"))<0)return null;var P,I=S.slice(0,P);return[I.length>1?I[0]+I.slice(2):I,+S.slice(P+1)]}function a(S){return S=r(Math.abs(S)),S?S[1]:NaN}function n(S,q){return function(P,I){for(var F=P.length,N=[],j=0,G=S[0],V=0;F>0&&G>0&&(V+G+1>I&&(G=Math.max(1,I-V)),N.push(P.substring(F-=G,F+G)),!((V+=G+1)>I));)G=S[j=(j+1)%S.length];return N.reverse().join(q)}}function i(S){return function(q){return q.replace(/[0-9]/g,function(P){return S[+P]})}}var o=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function s(S){if(!(q=o.exec(S)))throw new Error("invalid format: "+S);var q;return new l({fill:q[1],align:q[2],sign:q[3],symbol:q[4],zero:q[5],width:q[6],comma:q[7],precision:q[8]&&q[8].slice(1),trim:q[9],type:q[10]})}s.prototype=l.prototype;function l(S){this.fill=S.fill===void 0?" ":S.fill+"",this.align=S.align===void 0?">":S.align+"",this.sign=S.sign===void 0?"-":S.sign+"",this.symbol=S.symbol===void 0?"":S.symbol+"",this.zero=!!S.zero,this.width=S.width===void 0?void 0:+S.width,this.comma=!!S.comma,this.precision=S.precision===void 0?void 0:+S.precision,this.trim=!!S.trim,this.type=S.type===void 0?"":S.type+""}l.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function u(S){e:for(var q=S.length,P=1,I=-1,F;P0&&(I=0);break}return I>0?S.slice(0,I)+S.slice(F+1):S}var c;function d(S,q){var P=r(S,q);if(!P)return S+"";var I=P[0],F=P[1],N=F-(c=Math.max(-8,Math.min(8,Math.floor(F/3)))*3)+1,j=I.length;return N===j?I:N>j?I+new Array(N-j+1).join("0"):N>0?I.slice(0,N)+"."+I.slice(N):"0."+new Array(1-N).join("0")+r(S,Math.max(0,q+N-1))[0]}function h(S,q){var P=r(S,q);if(!P)return S+"";var I=P[0],F=P[1];return F<0?"0."+new Array(-F).join("0")+I:I.length>F+1?I.slice(0,F+1)+"."+I.slice(F+1):I+new Array(F-I.length+2).join("0")}var p={"%":function(S,q){return(S*100).toFixed(q)},b:function(S){return Math.round(S).toString(2)},c:function(S){return S+""},d:t,e:function(S,q){return S.toExponential(q)},f:function(S,q){return S.toFixed(q)},g:function(S,q){return S.toPrecision(q)},o:function(S){return Math.round(S).toString(8)},p:function(S,q){return h(S*100,q)},r:h,s:d,X:function(S){return Math.round(S).toString(16).toUpperCase()},x:function(S){return Math.round(S).toString(16)}};function g(S){return S}var m=Array.prototype.map,b=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function _(S){var q=S.grouping===void 0||S.thousands===void 0?g:n(m.call(S.grouping,Number),S.thousands+""),P=S.currency===void 0?"":S.currency[0]+"",I=S.currency===void 0?"":S.currency[1]+"",F=S.decimal===void 0?".":S.decimal+"",N=S.numerals===void 0?g:i(m.call(S.numerals,String)),j=S.percent===void 0?"%":S.percent+"",G=S.minus===void 0?"-":S.minus+"",V=S.nan===void 0?"NaN":S.nan+"";function W(X){X=s(X);var $=X.fill,ae=X.align,te=X.sign,le=X.symbol,ge=X.zero,re=X.width,_e=X.comma,ee=X.precision,ke=X.trim,Me=X.type;Me==="n"?(_e=!0,Me="g"):p[Me]||(ee===void 0&&(ee=12),ke=!0,Me="g"),(ge||$==="0"&&ae==="=")&&(ge=!0,$="0",ae="=");var qe=le==="$"?P:le==="#"&&/[boxX]/.test(Me)?"0"+Me.toLowerCase():"",De=le==="$"?I:/[%p]/.test(Me)?j:"",Ce=p[Me],U=/[defgprs%]/.test(Me);ee=ee===void 0?6:/[gprs]/.test(Me)?Math.max(1,Math.min(21,ee)):Math.max(0,Math.min(20,ee));function Q(O){var ie=qe,be=De,xe,Le,Fe;if(Me==="c")be=Ce(O)+be,O="";else{O=+O;var Te=O<0||1/O<0;if(O=isNaN(O)?V:Ce(Math.abs(O),ee),ke&&(O=u(O)),Te&&+O==0&&te!=="+"&&(Te=!1),ie=(Te?te==="("?te:G:te==="-"||te==="("?"":te)+ie,be=(Me==="s"?b[8+c/3]:"")+be+(Te&&te==="("?")":""),U){for(xe=-1,Le=O.length;++xeFe||Fe>57){be=(Fe===46?F+O.slice(xe+1):O.slice(xe))+be,O=O.slice(0,xe);break}}}_e&&!ge&&(O=q(O,1/0));var at=ie.length+O.length+be.length,Ve=at>1)+ie+O+be+Ve.slice(at);break;default:O=Ve+ie+O+be;break}return N(O)}return Q.toString=function(){return X+""},Q}function Y(X,$){var ae=W((X=s(X),X.type="f",X)),te=Math.max(-8,Math.min(8,Math.floor(a($)/3)))*3,le=Math.pow(10,-te),ge=b[8+te/3];return function(re){return ae(le*re)+ge}}return{format:W,formatPrefix:Y}}var x;A({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"});function A(S){return x=_(S),e.format=x.format,e.formatPrefix=x.formatPrefix,x}function w(S){return Math.max(0,-a(Math.abs(S)))}function k(S,q){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(a(q)/3)))*3-a(Math.abs(S)))}function L(S,q){return S=Math.abs(S),q=Math.abs(q)-S,Math.max(0,a(q)-a(S))+1}e.FormatSpecifier=l,e.formatDefaultLocale=A,e.formatLocale=_,e.formatSpecifier=s,e.precisionFixed=w,e.precisionPrefix=k,e.precisionRound=L,Object.defineProperty(e,"__esModule",{value:!0})})});var IM=E((e0e,RM)=>{"use strict";RM.exports=function(e){for(var t=e.length,r,a=0;a13)&&r!==32&&r!==133&&r!==160&&r!==5760&&r!==6158&&(r<8192||r>8205)&&r!==8232&&r!==8233&&r!==8239&&r!==8287&&r!==8288&&r!==12288&&r!==65279)return!1;return!0}});var zt=E((t0e,EM)=>{"use strict";var d$=IM();EM.exports=function(e){var t=typeof e;if(t==="string"){var r=e;if(e=+e,e===0&&d$(r))return!1}else if(t!=="number")return!1;return e-e<1}});var _r=E((r0e,zM)=>{"use strict";zM.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE*1e-4,ONEMAXYEAR:316224e5,ONEAVGYEAR:315576e5,ONEMINYEAR:31536e6,ONEMAXQUARTER:79488e5,ONEAVGQUARTER:78894e5,ONEMINQUARTER:76896e5,ONEMAXMONTH:26784e5,ONEAVGMONTH:26298e5,ONEMINMONTH:24192e5,ONEWEEK:6048e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:24405875e-1,ALMOST_EQUAL:1-1e-6,LOG_CLIP:10,MINUS_SIGN:"\u2212"}});var Do=E(Gi=>{"use strict";var Um=Array.isArray,h$=ArrayBuffer,v$=DataView;function NM(e){return h$.isView(e)&&!(e instanceof v$)}Gi.isTypedArray=NM;function gd(e){return Um(e)||NM(e)}Gi.isArrayOrTypedArray=gd;function p$(e){return!gd(e[0])}Gi.isArray1D=p$;Gi.ensureArray=function(e,t){return Um(e)||(e=[]),e.length=t,e};Gi.concat=function(){var e=[],t=!0,r=0,a,n,i,o,s,l,u,c;for(i=0;i{"use strict";var jM=zt(),Gm=Do().isArrayOrTypedArray;UM.exports=function(t,r){if(jM(r))r=String(r);else if(typeof r!="string"||r.substr(r.length-4)==="[-1]")throw"bad property string";for(var a=0,n=r.split("."),i,o,s;a{"use strict";var Gs=yd(),x$=/^\w*$/,_$=0,GM=1,bd=2,WM=3,Po=4;VM.exports=function(t,r,a,n){a=a||"name",n=n||"value";var i,o,s,l={};r&&r.length?(s=Gs(t,r),o=s.get()):o=t,r=r||"";var u={};if(o)for(i=0;i2)return l[p]=l[p]|bd,d.set(h,null);if(c){for(i=p;i{"use strict";var w$=/^(.*)(\.[^\.\[\]]+|\[\d\])$/,T$=/^[^\.\[\]]+$/;ZM.exports=function(e,t){for(;t;){var r=e.match(w$);if(r)e=r[1];else if(e.match(T$))e="";else throw new Error("bad relativeAttr call:"+[e,t]);if(t.charAt(0)==="^")t=t.slice(1);else break}return e&&t.charAt(0)!=="["?e+"."+t:e+t}});var Ws=E((s0e,QM)=>{"use strict";QM.exports=function(t){return window&&window.process&&window.process.versions?Object.prototype.toString.call(t)==="[object Object]":Object.prototype.toString.call(t)==="[object Object]"&&Object.getPrototypeOf(t).hasOwnProperty("hasOwnProperty")}});var xd=E((l0e,$M)=>{"use strict";var A$=zt();$M.exports=function(t,r){if(t>0)return Math.log(t)/Math.LN10;var a=Math.log(Math.min(r[0],r[1]))/Math.LN10;return A$(a)||(a=Math.log(Math.max(r[0],r[1]))/Math.LN10-6),a}});var eS=E((u0e,JM)=>{"use strict";var KM=Do().isArrayOrTypedArray,Du=Ws();JM.exports=function e(t,r){for(var a in r){var n=r[a],i=t[a];if(i!==n)if(a.charAt(0)==="_"||typeof n=="function"){if(a in t)continue;t[a]=n}else if(KM(n)&&KM(i)&&Du(n[0])){if(a==="customdata"||a==="ids")continue;for(var o=Math.min(n.length,i.length),s=0;s{"use strict";function k$(e,t){var r=e%t;return r<0?r+t:r}function M$(e,t){return Math.abs(e)>t/2?e-Math.round(e/t)*t:e}tS.exports={mod:k$,modHalf:M$}});var Ln=E((c0e,_d)=>{(function(e){var t=/^\s+/,r=/\s+$/,a=0,n=e.round,i=e.min,o=e.max,s=e.random;function l(U,Q){if(U=U||"",Q=Q||{},U instanceof l)return U;if(!(this instanceof l))return new l(U,Q);var O=u(U);this._originalInput=U,this._r=O.r,this._g=O.g,this._b=O.b,this._a=O.a,this._roundA=n(100*this._a)/100,this._format=Q.format||O.format,this._gradientType=Q.gradientType,this._r<1&&(this._r=n(this._r)),this._g<1&&(this._g=n(this._g)),this._b<1&&(this._b=n(this._b)),this._ok=O.ok,this._tc_id=a++}l.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var U=this.toRgb();return(U.r*299+U.g*587+U.b*114)/1e3},getLuminance:function(){var U=this.toRgb(),Q,O,ie,be,xe,Le;return Q=U.r/255,O=U.g/255,ie=U.b/255,Q<=.03928?be=Q/12.92:be=e.pow((Q+.055)/1.055,2.4),O<=.03928?xe=O/12.92:xe=e.pow((O+.055)/1.055,2.4),ie<=.03928?Le=ie/12.92:Le=e.pow((ie+.055)/1.055,2.4),.2126*be+.7152*xe+.0722*Le},setAlpha:function(U){return this._a=X(U),this._roundA=n(100*this._a)/100,this},toHsv:function(){var U=p(this._r,this._g,this._b);return{h:U.h*360,s:U.s,v:U.v,a:this._a}},toHsvString:function(){var U=p(this._r,this._g,this._b),Q=n(U.h*360),O=n(U.s*100),ie=n(U.v*100);return this._a==1?"hsv("+Q+", "+O+"%, "+ie+"%)":"hsva("+Q+", "+O+"%, "+ie+"%, "+this._roundA+")"},toHsl:function(){var U=d(this._r,this._g,this._b);return{h:U.h*360,s:U.s,l:U.l,a:this._a}},toHslString:function(){var U=d(this._r,this._g,this._b),Q=n(U.h*360),O=n(U.s*100),ie=n(U.l*100);return this._a==1?"hsl("+Q+", "+O+"%, "+ie+"%)":"hsla("+Q+", "+O+"%, "+ie+"%, "+this._roundA+")"},toHex:function(U){return m(this._r,this._g,this._b,U)},toHexString:function(U){return"#"+this.toHex(U)},toHex8:function(U){return b(this._r,this._g,this._b,this._a,U)},toHex8String:function(U){return"#"+this.toHex8(U)},toRgb:function(){return{r:n(this._r),g:n(this._g),b:n(this._b),a:this._a}},toRgbString:function(){return this._a==1?"rgb("+n(this._r)+", "+n(this._g)+", "+n(this._b)+")":"rgba("+n(this._r)+", "+n(this._g)+", "+n(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:n($(this._r,255)*100)+"%",g:n($(this._g,255)*100)+"%",b:n($(this._b,255)*100)+"%",a:this._a}},toPercentageRgbString:function(){return this._a==1?"rgb("+n($(this._r,255)*100)+"%, "+n($(this._g,255)*100)+"%, "+n($(this._b,255)*100)+"%)":"rgba("+n($(this._r,255)*100)+"%, "+n($(this._g,255)*100)+"%, "+n($(this._b,255)*100)+"%, "+this._roundA+")"},toName:function(){return this._a===0?"transparent":this._a<1?!1:W[m(this._r,this._g,this._b,!0)]||!1},toFilter:function(U){var Q="#"+_(this._r,this._g,this._b,this._a),O=Q,ie=this._gradientType?"GradientType = 1, ":"";if(U){var be=l(U);O="#"+_(be._r,be._g,be._b,be._a)}return"progid:DXImageTransform.Microsoft.gradient("+ie+"startColorstr="+Q+",endColorstr="+O+")"},toString:function(U){var Q=!!U;U=U||this._format;var O=!1,ie=this._a<1&&this._a>=0,be=!Q&&ie&&(U==="hex"||U==="hex6"||U==="hex3"||U==="hex4"||U==="hex8"||U==="name");return be?U==="name"&&this._a===0?this.toName():this.toRgbString():(U==="rgb"&&(O=this.toRgbString()),U==="prgb"&&(O=this.toPercentageRgbString()),(U==="hex"||U==="hex6")&&(O=this.toHexString()),U==="hex3"&&(O=this.toHexString(!0)),U==="hex4"&&(O=this.toHex8String(!0)),U==="hex8"&&(O=this.toHex8String()),U==="name"&&(O=this.toName()),U==="hsl"&&(O=this.toHslString()),U==="hsv"&&(O=this.toHsvString()),O||this.toHexString())},clone:function(){return l(this.toString())},_applyModification:function(U,Q){var O=U.apply(null,[this].concat([].slice.call(Q)));return this._r=O._r,this._g=O._g,this._b=O._b,this.setAlpha(O._a),this},lighten:function(){return this._applyModification(k,arguments)},brighten:function(){return this._applyModification(L,arguments)},darken:function(){return this._applyModification(S,arguments)},desaturate:function(){return this._applyModification(x,arguments)},saturate:function(){return this._applyModification(A,arguments)},greyscale:function(){return this._applyModification(w,arguments)},spin:function(){return this._applyModification(q,arguments)},_applyCombination:function(U,Q){return U.apply(null,[this].concat([].slice.call(Q)))},analogous:function(){return this._applyCombination(j,arguments)},complement:function(){return this._applyCombination(P,arguments)},monochromatic:function(){return this._applyCombination(G,arguments)},splitcomplement:function(){return this._applyCombination(N,arguments)},triad:function(){return this._applyCombination(I,arguments)},tetrad:function(){return this._applyCombination(F,arguments)}},l.fromRatio=function(U,Q){if(typeof U=="object"){var O={};for(var ie in U)U.hasOwnProperty(ie)&&(ie==="a"?O[ie]=U[ie]:O[ie]=_e(U[ie]));U=O}return l(U,Q)};function u(U){var Q={r:0,g:0,b:0},O=1,ie=null,be=null,xe=null,Le=!1,Fe=!1;return typeof U=="string"&&(U=De(U)),typeof U=="object"&&(qe(U.r)&&qe(U.g)&&qe(U.b)?(Q=c(U.r,U.g,U.b),Le=!0,Fe=String(U.r).substr(-1)==="%"?"prgb":"rgb"):qe(U.h)&&qe(U.s)&&qe(U.v)?(ie=_e(U.s),be=_e(U.v),Q=g(U.h,ie,be),Le=!0,Fe="hsv"):qe(U.h)&&qe(U.s)&&qe(U.l)&&(ie=_e(U.s),xe=_e(U.l),Q=h(U.h,ie,xe),Le=!0,Fe="hsl"),U.hasOwnProperty("a")&&(O=U.a)),O=X(O),{ok:Le,format:U.format||Fe,r:i(255,o(Q.r,0)),g:i(255,o(Q.g,0)),b:i(255,o(Q.b,0)),a:O}}function c(U,Q,O){return{r:$(U,255)*255,g:$(Q,255)*255,b:$(O,255)*255}}function d(U,Q,O){U=$(U,255),Q=$(Q,255),O=$(O,255);var ie=o(U,Q,O),be=i(U,Q,O),xe,Le,Fe=(ie+be)/2;if(ie==be)xe=Le=0;else{var Te=ie-be;switch(Le=Fe>.5?Te/(2-ie-be):Te/(ie+be),ie){case U:xe=(Q-O)/Te+(Q1&&(rt-=1),rt<1/6?at+(Ve-at)*6*rt:rt<1/2?Ve:rt<2/3?at+(Ve-at)*(2/3-rt)*6:at}if(Q===0)ie=be=xe=O;else{var Fe=O<.5?O*(1+Q):O+Q-O*Q,Te=2*O-Fe;ie=Le(Te,Fe,U+1/3),be=Le(Te,Fe,U),xe=Le(Te,Fe,U-1/3)}return{r:ie*255,g:be*255,b:xe*255}}function p(U,Q,O){U=$(U,255),Q=$(Q,255),O=$(O,255);var ie=o(U,Q,O),be=i(U,Q,O),xe,Le,Fe=ie,Te=ie-be;if(Le=ie===0?0:Te/ie,ie==be)xe=0;else{switch(ie){case U:xe=(Q-O)/Te+(Q>1)+720)%360;--Q;)ie.h=(ie.h+be)%360,xe.push(l(ie));return xe}function G(U,Q){Q=Q||6;for(var O=l(U).toHsv(),ie=O.h,be=O.s,xe=O.v,Le=[],Fe=1/Q;Q--;)Le.push(l({h:ie,s:be,v:xe})),xe=(xe+Fe)%1;return Le}l.mix=function(U,Q,O){O=O===0?0:O||50;var ie=l(U).toRgb(),be=l(Q).toRgb(),xe=O/100,Le={r:(be.r-ie.r)*xe+ie.r,g:(be.g-ie.g)*xe+ie.g,b:(be.b-ie.b)*xe+ie.b,a:(be.a-ie.a)*xe+ie.a};return l(Le)},l.readability=function(U,Q){var O=l(U),ie=l(Q);return(e.max(O.getLuminance(),ie.getLuminance())+.05)/(e.min(O.getLuminance(),ie.getLuminance())+.05)},l.isReadable=function(U,Q,O){var ie=l.readability(U,Q),be,xe;switch(xe=!1,be=Ce(O),be.level+be.size){case"AAsmall":case"AAAlarge":xe=ie>=4.5;break;case"AAlarge":xe=ie>=3;break;case"AAAsmall":xe=ie>=7;break}return xe},l.mostReadable=function(U,Q,O){var ie=null,be=0,xe,Le,Fe,Te;O=O||{},Le=O.includeFallbackColors,Fe=O.level,Te=O.size;for(var at=0;atbe&&(be=xe,ie=l(Q[at]));return l.isReadable(U,ie,{level:Fe,size:Te})||!Le?ie:(O.includeFallbackColors=!1,l.mostReadable(U,["#fff","#000"],O))};var V=l.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},W=l.hexNames=Y(V);function Y(U){var Q={};for(var O in U)U.hasOwnProperty(O)&&(Q[U[O]]=O);return Q}function X(U){return U=parseFloat(U),(isNaN(U)||U<0||U>1)&&(U=1),U}function $(U,Q){le(U)&&(U="100%");var O=ge(U);return U=i(Q,o(0,parseFloat(U))),O&&(U=parseInt(U*Q,10)/100),e.abs(U-Q)<1e-6?1:U%Q/parseFloat(Q)}function ae(U){return i(1,o(0,U))}function te(U){return parseInt(U,16)}function le(U){return typeof U=="string"&&U.indexOf(".")!=-1&&parseFloat(U)===1}function ge(U){return typeof U=="string"&&U.indexOf("%")!=-1}function re(U){return U.length==1?"0"+U:""+U}function _e(U){return U<=1&&(U=U*100+"%"),U}function ee(U){return e.round(parseFloat(U)*255).toString(16)}function ke(U){return te(U)/255}var Me=function(){var U="[-\\+]?\\d+%?",Q="[-\\+]?\\d*\\.\\d+%?",O="(?:"+Q+")|(?:"+U+")",ie="[\\s|\\(]+("+O+")[,|\\s]+("+O+")[,|\\s]+("+O+")\\s*\\)?",be="[\\s|\\(]+("+O+")[,|\\s]+("+O+")[,|\\s]+("+O+")[,|\\s]+("+O+")\\s*\\)?";return{CSS_UNIT:new RegExp(O),rgb:new RegExp("rgb"+ie),rgba:new RegExp("rgba"+be),hsl:new RegExp("hsl"+ie),hsla:new RegExp("hsla"+be),hsv:new RegExp("hsv"+ie),hsva:new RegExp("hsva"+be),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function qe(U){return!!Me.CSS_UNIT.exec(U)}function De(U){U=U.replace(t,"").replace(r,"").toLowerCase();var Q=!1;if(V[U])U=V[U],Q=!0;else if(U=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var O;return(O=Me.rgb.exec(U))?{r:O[1],g:O[2],b:O[3]}:(O=Me.rgba.exec(U))?{r:O[1],g:O[2],b:O[3],a:O[4]}:(O=Me.hsl.exec(U))?{h:O[1],s:O[2],l:O[3]}:(O=Me.hsla.exec(U))?{h:O[1],s:O[2],l:O[3],a:O[4]}:(O=Me.hsv.exec(U))?{h:O[1],s:O[2],v:O[3]}:(O=Me.hsva.exec(U))?{h:O[1],s:O[2],v:O[3],a:O[4]}:(O=Me.hex8.exec(U))?{r:te(O[1]),g:te(O[2]),b:te(O[3]),a:ke(O[4]),format:Q?"name":"hex8"}:(O=Me.hex6.exec(U))?{r:te(O[1]),g:te(O[2]),b:te(O[3]),format:Q?"name":"hex"}:(O=Me.hex4.exec(U))?{r:te(O[1]+""+O[1]),g:te(O[2]+""+O[2]),b:te(O[3]+""+O[3]),a:ke(O[4]+""+O[4]),format:Q?"name":"hex8"}:(O=Me.hex3.exec(U))?{r:te(O[1]+""+O[1]),g:te(O[2]+""+O[2]),b:te(O[3]+""+O[3]),format:Q?"name":"hex"}:!1}function Ce(U){var Q,O;return U=U||{level:"AA",size:"small"},Q=(U.level||"AA").toUpperCase(),O=(U.size||"small").toLowerCase(),Q!=="AA"&&Q!=="AAA"&&(Q="AA"),O!=="small"&&O!=="large"&&(O="small"),{level:Q,size:O}}typeof _d!="undefined"&&_d.exports?_d.exports=l:typeof define=="function"&&define.amd?define(function(){return l}):window.tinycolor=l})(Math)});var ka=E((d0e,rS)=>{"use strict";rS.exports=function(e){var t=e.editType,r=e.colorEditType;r===void 0&&(r=t);var a={family:{valType:"string",noBlank:!0,strict:!0,editType:t,description:["HTML font family - the typeface that will be applied by the web browser.","The web browser will only be able to apply a font if it is available on the system","which it operates. Provide multiple font families, separated by commas, to indicate","the preference in which to apply fonts if they aren't available on the system.","The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server,","where only a select number of","fonts are installed and supported.","These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*,","*Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*,","*PT Sans Narrow*, *Raleway*, *Times New Roman*."].join(" ")},size:{valType:"number",min:1,editType:t},color:{valType:"color",editType:r},editType:t,description:""+(e.description||"")+""};return e.autoSize&&(a.size.dflt="auto"),e.autoColor&&(a.color.dflt="auto"),e.arrayOk&&(a.family.arrayOk=!0,a.size.arrayOk=!0,a.color.arrayOk=!0),a}});var Pu=E((h0e,aS)=>{"use strict";aS.exports={YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:"Arial, sans-serif",HOVERMINTIME:50,HOVERID:"-hover"}});var Ys=E((v0e,oS)=>{"use strict";var nS=Pu(),iS=ka(),Vm=iS({editType:"none",description:"Sets the default hover label font used by all traces on the graph."});Vm.family.dflt=nS.HOVERFONT;Vm.size.dflt=nS.HOVERFONTSIZE;oS.exports={clickmode:{valType:"flaglist",flags:["event","select"],dflt:"event",editType:"plot",extras:["none"],description:["Determines the mode of single click interactions.","*event* is the default value and emits the `plotly_click`","event. In addition this mode emits the `plotly_selected` event","in drag modes *lasso* and *select*, but with no event data attached","(kept for compatibility reasons).","The *select* flag enables selecting single","data points via click. This mode also supports persistent selections,","meaning that pressing Shift while clicking, adds to / subtracts from an","existing selection. *select* with `hovermode`: *x* can be confusing, consider","explicitly setting `hovermode`: *closest* when using this feature.","Selection events are sent accordingly as long as *event* flag is set as well.","When the *event* flag is missing, `plotly_click` and `plotly_selected`","events are not fired."].join(" ")},dragmode:{valType:"enumerated",values:["zoom","pan","select","lasso","drawclosedpath","drawopenpath","drawline","drawrect","drawcircle","orbit","turntable",!1],dflt:"zoom",editType:"modebar",description:["Determines the mode of drag interactions.","*select* and *lasso* apply only to scatter traces with","markers or text. *orbit* and *turntable* apply only to","3D scenes."].join(" ")},hovermode:{valType:"enumerated",values:["x","y","closest",!1,"x unified","y unified"],dflt:"closest",editType:"modebar",description:["Determines the mode of hover interactions.","If *closest*, a single hoverlabel will appear","for the *closest* point within the `hoverdistance`.","If *x* (or *y*), multiple hoverlabels will appear for multiple points","at the *closest* x- (or y-) coordinate within the `hoverdistance`,","with the caveat that no more than one hoverlabel will appear per trace.","If *x unified* (or *y unified*), a single hoverlabel will appear","multiple points at the closest x- (or y-) coordinate within the `hoverdistance`","with the caveat that no more than one hoverlabel will appear per trace.","In this mode, spikelines are enabled by default perpendicular to the specified axis.","If false, hover interactions are disabled."].join(" ")},hoverdistance:{valType:"integer",min:-1,dflt:20,editType:"none",description:["Sets the default distance (in pixels) to look for data","to add hover labels (-1 means no cutoff, 0 means no looking for data).","This is only a real distance for hovering on point-like objects,","like scatter points. For area-like objects (bars, scatter fills, etc)","hovering is on inside the area and off outside, but these objects","will not supersede hover on point-like objects in case of conflict."].join(" ")},spikedistance:{valType:"integer",min:-1,dflt:-1,editType:"none",description:["Sets the default distance (in pixels) to look for data to draw","spikelines to (-1 means no cutoff, 0 means no looking for data).","As with hoverdistance, distance does not apply to area-like objects.","In addition, some objects can be hovered on but will not generate","spikelines, such as scatter fills."].join(" ")},hoverlabel:{bgcolor:{valType:"color",editType:"none",description:["Sets the background color of all hover labels on graph"].join(" ")},bordercolor:{valType:"color",editType:"none",description:["Sets the border color of all hover labels on graph."].join(" ")},font:Vm,grouptitlefont:iS({editType:"none",description:["Sets the font for group titles in hover (unified modes).","Defaults to `hoverlabel.font`."].join(" ")}),align:{valType:"enumerated",values:["left","right","auto"],dflt:"auto",editType:"none",description:["Sets the horizontal alignment of the text content within hover label box.","Has an effect only if the hover label text spans more two or more lines"].join(" ")},namelength:{valType:"integer",min:-1,dflt:15,editType:"none",description:["Sets the default length (in number of characters) of the trace name in","the hover labels for all traces. -1 shows the whole name","regardless of length. 0-3 shows the first 0-3 characters, and","an integer >3 will show the whole name if it is less than that","many characters, but if it is longer, will truncate to","`namelength - 3` characters and add an ellipsis."].join(" ")},editType:"none"},selectdirection:{valType:"enumerated",values:["h","v","d","any"],dflt:"any",description:["When `dragmode` is set to *select*, this limits the selection of the drag to","horizontal, vertical or diagonal. *h* only allows horizontal selection,","*v* only vertical, *d* only diagonal and *any* sets no limit."].join(" "),editType:"none"}}});var Jr=E(Eu=>{"use strict";var sS=Ws(),Ru=Array.isArray;function S$(e,t){var r,a;for(r=0;r{"use strict";var C$=ka(),wd=Ys().hoverlabel,Td=Jr().extendFlat;lS.exports={hoverlabel:{bgcolor:Td({},wd.bgcolor,{arrayOk:!0,description:"Sets the background color of the hover labels for this trace"}),bordercolor:Td({},wd.bordercolor,{arrayOk:!0,description:"Sets the border color of the hover labels for this trace."}),font:C$({arrayOk:!0,editType:"none",description:"Sets the font used in hover labels."}),align:Td({},wd.align,{arrayOk:!0}),namelength:Td({},wd.namelength,{arrayOk:!0}),editType:"none"}}});var Wi=E((g0e,uS)=>{"use strict";var L$=ka(),q$=Ad();uS.exports={type:{valType:"enumerated",values:[],dflt:"scatter",editType:"calc+clearAxisTypes",_noTemplating:!0},visible:{valType:"enumerated",values:[!0,!1,"legendonly"],dflt:!0,editType:"calc",description:["Determines whether or not this trace is visible.","If *legendonly*, the trace is not drawn,","but can appear as a legend item","(provided that the legend itself is visible)."].join(" ")},showlegend:{valType:"boolean",dflt:!0,editType:"style",description:["Determines whether or not an item corresponding to this","trace is shown in the legend."].join(" ")},legendgroup:{valType:"string",dflt:"",editType:"style",description:["Sets the legend group for this trace.","Traces part of the same legend group hide/show at the same time","when toggling legend items."].join(" ")},legendgrouptitle:{text:{valType:"string",dflt:"",editType:"style",description:["Sets the title of the legend group."].join(" ")},font:L$({editType:"style",description:["Sets this legend group's title font."].join(" ")}),editType:"style"},legendrank:{valType:"number",dflt:1e3,editType:"style",description:["Sets the legend rank for this trace.","Items and groups with smaller ranks are presented on top/left side while","with `*reversed* `legend.traceorder` they are on bottom/right side.","The default legendrank is 1000,","so that you can use ranks less than 1000 to place certain items before all unranked items,","and ranks greater than 1000 to go after all unranked items."].join(" ")},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"style",description:"Sets the opacity of the trace."},name:{valType:"string",editType:"style",description:["Sets the trace name.","The trace name appear as the legend item and on hover."].join(" ")},uid:{valType:"string",editType:"plot",anim:!0,description:["Assign an id to this trace,","Use this to provide object constancy between traces during animations","and transitions."].join(" ")},ids:{valType:"data_array",editType:"calc",anim:!0,description:["Assigns id labels to each datum.","These ids for object constancy of data points during animation.","Should be an array of strings, not numbers or any other type."].join(" ")},customdata:{valType:"data_array",editType:"calc",description:["Assigns extra data each datum.","This may be useful when listening to hover, click and selection events.","Note that, *scatter* traces also appends customdata items in the markers","DOM elements"].join(" ")},meta:{valType:"any",arrayOk:!0,editType:"plot",description:["Assigns extra meta information associated with this trace","that can be used in various text attributes.","Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text`","`rangeselector`, `updatemenues` and `sliders` `label` text","all support `meta`.","To access the trace `meta` values in an attribute in the same trace, simply use","`%{meta[i]}` where `i` is the index or key of the `meta`","item in question.","To access trace `meta` in layout attributes, use","`%{data[n[.meta[i]}` where `i` is the index or key of the `meta`","and `n` is the trace index."].join(" ")},selectedpoints:{valType:"any",editType:"calc",description:["Array containing integer indices of selected points.","Has an effect only for traces that support selections.","Note that an empty array means an empty selection where the `unselected`","are turned on for all points, whereas, any other non-array values means no","selection all where the `selected` and `unselected` styles have no effect."].join(" ")},hoverinfo:{valType:"flaglist",flags:["x","y","z","text","name"],extras:["all","none","skip"],arrayOk:!0,dflt:"all",editType:"none",description:["Determines which trace information appear on hover.","If `none` or `skip` are set, no information is displayed upon hovering.","But, if `none` is set, click and hover events are still fired."].join(" ")},hoverlabel:q$.hoverlabel,stream:{token:{valType:"string",noBlank:!0,strict:!0,editType:"calc",description:["The stream id number links a data trace on a plot with a stream.","See https://chart-studio.plotly.com/settings for more details."].join(" ")},maxpoints:{valType:"number",min:0,max:1e4,dflt:500,editType:"calc",description:["Sets the maximum number of points to keep on the plots from an","incoming stream.","If `maxpoints` is set to *50*, only the newest 50 points will","be displayed on the plot."].join(" ")},editType:"calc"},transforms:{_isLinkedToArray:"transform",editType:"calc",description:["WARNING: All transforms are deprecated and may be removed from the API in next major version.","An array of operations that manipulate the trace data,","for example filtering or sorting the data arrays."].join(" ")},uirevision:{valType:"any",editType:"none",description:["Controls persistence of some user-driven changes to the trace:","`constraintrange` in `parcoords` traces, as well as some","`editable: true` modifications such as `name` and `colorbar.title`.","Defaults to `layout.uirevision`.","Note that other user-driven trace attribute changes are controlled","by `layout` attributes:","`trace.visible` is controlled by `layout.legend.uirevision`,","`selectedpoints` is controlled by `layout.selectionrevision`,","and `colorbar.(x|y)` (accessible with `config: {editable: true}`)","is controlled by `layout.editrevision`.","Trace changes are tracked by `uid`, which only falls back on trace","index if no `uid` is provided. So if your app can add/remove traces","before the end of the `data` array, such that the same trace has a","different index, you can still preserve user-driven changes if you","give each trace a `uid` that stays with it as it moves."].join(" ")}}});var Ro=E((y0e,dS)=>{"use strict";var D$=Ln(),kd={Greys:[[0,"rgb(0,0,0)"],[1,"rgb(255,255,255)"]],YlGnBu:[[0,"rgb(8,29,88)"],[.125,"rgb(37,52,148)"],[.25,"rgb(34,94,168)"],[.375,"rgb(29,145,192)"],[.5,"rgb(65,182,196)"],[.625,"rgb(127,205,187)"],[.75,"rgb(199,233,180)"],[.875,"rgb(237,248,217)"],[1,"rgb(255,255,217)"]],Greens:[[0,"rgb(0,68,27)"],[.125,"rgb(0,109,44)"],[.25,"rgb(35,139,69)"],[.375,"rgb(65,171,93)"],[.5,"rgb(116,196,118)"],[.625,"rgb(161,217,155)"],[.75,"rgb(199,233,192)"],[.875,"rgb(229,245,224)"],[1,"rgb(247,252,245)"]],YlOrRd:[[0,"rgb(128,0,38)"],[.125,"rgb(189,0,38)"],[.25,"rgb(227,26,28)"],[.375,"rgb(252,78,42)"],[.5,"rgb(253,141,60)"],[.625,"rgb(254,178,76)"],[.75,"rgb(254,217,118)"],[.875,"rgb(255,237,160)"],[1,"rgb(255,255,204)"]],Bluered:[[0,"rgb(0,0,255)"],[1,"rgb(255,0,0)"]],RdBu:[[0,"rgb(5,10,172)"],[.35,"rgb(106,137,247)"],[.5,"rgb(190,190,190)"],[.6,"rgb(220,170,132)"],[.7,"rgb(230,145,90)"],[1,"rgb(178,10,28)"]],Reds:[[0,"rgb(220,220,220)"],[.2,"rgb(245,195,157)"],[.4,"rgb(245,160,105)"],[1,"rgb(178,10,28)"]],Blues:[[0,"rgb(5,10,172)"],[.35,"rgb(40,60,190)"],[.5,"rgb(70,100,245)"],[.6,"rgb(90,120,245)"],[.7,"rgb(106,137,247)"],[1,"rgb(220,220,220)"]],Picnic:[[0,"rgb(0,0,255)"],[.1,"rgb(51,153,255)"],[.2,"rgb(102,204,255)"],[.3,"rgb(153,204,255)"],[.4,"rgb(204,204,255)"],[.5,"rgb(255,255,255)"],[.6,"rgb(255,204,255)"],[.7,"rgb(255,153,255)"],[.8,"rgb(255,102,204)"],[.9,"rgb(255,102,102)"],[1,"rgb(255,0,0)"]],Rainbow:[[0,"rgb(150,0,90)"],[.125,"rgb(0,0,200)"],[.25,"rgb(0,25,255)"],[.375,"rgb(0,152,255)"],[.5,"rgb(44,255,150)"],[.625,"rgb(151,255,0)"],[.75,"rgb(255,234,0)"],[.875,"rgb(255,111,0)"],[1,"rgb(255,0,0)"]],Portland:[[0,"rgb(12,51,131)"],[.25,"rgb(10,136,186)"],[.5,"rgb(242,211,56)"],[.75,"rgb(242,143,56)"],[1,"rgb(217,30,30)"]],Jet:[[0,"rgb(0,0,131)"],[.125,"rgb(0,60,170)"],[.375,"rgb(5,255,255)"],[.625,"rgb(255,255,0)"],[.875,"rgb(250,0,0)"],[1,"rgb(128,0,0)"]],Hot:[[0,"rgb(0,0,0)"],[.3,"rgb(230,0,0)"],[.6,"rgb(255,210,0)"],[1,"rgb(255,255,255)"]],Blackbody:[[0,"rgb(0,0,0)"],[.2,"rgb(230,0,0)"],[.4,"rgb(230,210,0)"],[.7,"rgb(255,255,255)"],[1,"rgb(160,200,255)"]],Earth:[[0,"rgb(0,0,130)"],[.1,"rgb(0,180,180)"],[.2,"rgb(40,210,40)"],[.4,"rgb(230,230,50)"],[.6,"rgb(120,70,20)"],[1,"rgb(255,255,255)"]],Electric:[[0,"rgb(0,0,0)"],[.15,"rgb(30,0,100)"],[.4,"rgb(120,0,100)"],[.6,"rgb(160,90,0)"],[.8,"rgb(230,200,0)"],[1,"rgb(255,250,220)"]],Viridis:[[0,"#440154"],[.06274509803921569,"#48186a"],[.12549019607843137,"#472d7b"],[.18823529411764706,"#424086"],[.25098039215686274,"#3b528b"],[.3137254901960784,"#33638d"],[.3764705882352941,"#2c728e"],[.4392156862745098,"#26828e"],[.5019607843137255,"#21918c"],[.5647058823529412,"#1fa088"],[.6274509803921569,"#28ae80"],[.6901960784313725,"#3fbc73"],[.7529411764705882,"#5ec962"],[.8156862745098039,"#84d44b"],[.8784313725490196,"#addc30"],[.9411764705882353,"#d8e219"],[1,"#fde725"]],Cividis:[[0,"rgb(0,32,76)"],[.058824,"rgb(0,42,102)"],[.117647,"rgb(0,52,110)"],[.176471,"rgb(39,63,108)"],[.235294,"rgb(60,74,107)"],[.294118,"rgb(76,85,107)"],[.352941,"rgb(91,95,109)"],[.411765,"rgb(104,106,112)"],[.470588,"rgb(117,117,117)"],[.529412,"rgb(131,129,120)"],[.588235,"rgb(146,140,120)"],[.647059,"rgb(161,152,118)"],[.705882,"rgb(176,165,114)"],[.764706,"rgb(192,177,109)"],[.823529,"rgb(209,191,102)"],[.882353,"rgb(225,204,92)"],[.941176,"rgb(243,219,79)"],[1,"rgb(255,233,69)"]]},fS=kd.RdBu;function P$(e,t){if(t||(t=fS),!e)return t;function r(){try{e=kd[e]||JSON.parse(e)}catch(a){e=t}}return typeof e=="string"&&(r(),typeof e=="string"&&r()),cS(e)?e:t}function cS(e){var t=0;if(!Array.isArray(e)||e.length<2||!e[0]||!e[e.length-1]||+e[0][0]!=0||+e[e.length-1][0]!=1)return!1;for(var r=0;r{"use strict";Io.defaults=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"];Io.defaultLine="#444";Io.lightLine="#eee";Io.background="#fff";Io.borderLine="#BEC8D9";Io.lightFraction=100*(14-4)/(15-4)});var qt=E((x0e,hS)=>{"use strict";var qn=Ln(),I$=zt(),E$=Do().isTypedArray,Wr=hS.exports={},Md=vi();Wr.defaults=Md.defaults;var z$=Wr.defaultLine=Md.defaultLine;Wr.lightLine=Md.lightLine;var Ym=Wr.background=Md.background;Wr.tinyRGB=function(e){var t=e.toRgb();return"rgb("+Math.round(t.r)+", "+Math.round(t.g)+", "+Math.round(t.b)+")"};Wr.rgb=function(e){return Wr.tinyRGB(qn(e))};Wr.opacity=function(e){return e?qn(e).getAlpha():0};Wr.addOpacity=function(e,t){var r=qn(e).toRgb();return"rgba("+Math.round(r.r)+", "+Math.round(r.g)+", "+Math.round(r.b)+", "+t+")"};Wr.combine=function(e,t){var r=qn(e).toRgb();if(r.a===1)return qn(e).toRgbString();var a=qn(t||Ym).toRgb(),n=a.a===1?a:{r:255*(1-a.a)+a.r*a.a,g:255*(1-a.a)+a.g*a.a,b:255*(1-a.a)+a.b*a.a},i={r:n.r*(1-r.a)+r.r*r.a,g:n.g*(1-r.a)+r.g*r.a,b:n.b*(1-r.a)+r.b*r.a};return qn(i).toRgbString()};Wr.contrast=function(e,t,r){var a=qn(e);a.getAlpha()!==1&&(a=qn(Wr.combine(e,Ym)));var n=a.isDark()?t?a.lighten(t):Ym:r?a.darken(r):z$;return n.toString()};Wr.stroke=function(e,t){var r=qn(t);e.style({stroke:Wr.tinyRGB(r),"stroke-opacity":r.getAlpha()})};Wr.fill=function(e,t){var r=qn(t);e.style({fill:Wr.tinyRGB(r),"fill-opacity":r.getAlpha()})};Wr.clean=function(e){if(!(!e||typeof e!="object")){var t=Object.keys(e),r,a,n,i;for(r=0;r=0)))return e;if(i===3)a[i]>1&&(a[i]=1);else if(a[i]>=1)return e}var o=Math.round(a[0]*255)+", "+Math.round(a[1]*255)+", "+Math.round(a[2]*255);return n?"rgba("+o+", "+a[3]+")":"rgb("+o+")"}});var Sd=E((_0e,vS)=>{"use strict";vS.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}});var Zs=E(pS=>{"use strict";pS.counter=function(e,t,r,a){var n=(t||"")+(r?"":"$"),i=a===!1?"":"^";return e==="xy"?new RegExp(i+"x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?"+n):new RegExp(i+e+"([2-9]|[1-9][0-9]+)?"+n)}});var bS=E(Na=>{"use strict";var Xm=zt(),mS=Ln(),N$=Wi(),gS=Ro(),F$=qt(),j$=Sd().DESELECTDIM,Xs=yd(),yS=Zs().counter,O$=Vs().modHalf,Cd=Do().isArrayOrTypedArray;Na.valObjectMeta={data_array:{description:["An {array} of data.","The value MUST be an {array}, or we ignore it.","Note that typed arrays (e.g. Float32Array) are supported."].join(" "),requiredOpts:[],otherOpts:["dflt"],coerceFunction:function(e,t,r){Cd(e)?t.set(e):r!==void 0&&t.set(r)}},enumerated:{description:["Enumerated value type. The available values are listed","in `values`."].join(" "),requiredOpts:["values"],otherOpts:["dflt","coerceNumber","arrayOk"],coerceFunction:function(e,t,r,a){a.coerceNumber&&(e=+e),a.values.indexOf(e)===-1?t.set(r):t.set(e)},validateFunction:function(e,t){t.coerceNumber&&(e=+e);for(var r=t.values,a=0;aa.max?t.set(r):t.set(+e)}},integer:{description:["An integer or an integer inside a string.","When applicable, values greater (less) than `max` (`min`)","are coerced to the `dflt`."].join(" "),requiredOpts:[],otherOpts:["dflt","min","max","arrayOk"],coerceFunction:function(e,t,r,a){e%1||!Xm(e)||a.min!==void 0&&ea.max?t.set(r):t.set(+e)}},string:{description:["A string value.","Numbers are converted to strings except for attributes with","`strict` set to true."].join(" "),requiredOpts:[],otherOpts:["dflt","noBlank","strict","arrayOk","values"],coerceFunction:function(e,t,r,a){if(typeof e!="string"){var n=typeof e=="number";a.strict===!0||!n?t.set(r):t.set(String(e))}else a.noBlank&&!e?t.set(r):t.set(e)}},color:{description:["A string describing color.","Supported formats:","- hex (e.g. '#d3d3d3')","- rgb (e.g. 'rgb(255, 0, 0)')","- rgba (e.g. 'rgb(255, 0, 0, 0.5)')","- hsl (e.g. 'hsl(0, 100%, 50%)')","- hsv (e.g. 'hsv(0, 100%, 100%)')","- named colors (full list: http://www.w3.org/TR/css3-color/#svg-color)"].join(" "),requiredOpts:[],otherOpts:["dflt","arrayOk"],coerceFunction:function(e,t,r){mS(e).isValid()?t.set(e):t.set(r)}},colorlist:{description:["A list of colors.","Must be an {array} containing valid colors."].join(" "),requiredOpts:[],otherOpts:["dflt"],coerceFunction:function(e,t,r){function a(n){return mS(n).isValid()}!Array.isArray(e)||!e.length?t.set(r):e.every(a)?t.set(e):t.set(r)}},colorscale:{description:["A Plotly colorscale either picked by a name:","(any of",Object.keys(gS.scales).join(", "),")","customized as an {array} of 2-element {arrays} where","the first element is the normalized color level value","(starting at *0* and ending at *1*),","and the second item is a valid color string."].join(" "),requiredOpts:[],otherOpts:["dflt"],coerceFunction:function(e,t,r){t.set(gS.get(e,r))}},angle:{description:["A number (in degree) between -180 and 180."].join(" "),requiredOpts:[],otherOpts:["dflt"],coerceFunction:function(e,t,r){e==="auto"?t.set("auto"):Xm(e)?t.set(O$(+e,360)):t.set(r)}},subplotid:{description:["An id string of a subplot type (given by dflt), optionally","followed by an integer >1. e.g. if dflt='geo', we can have","'geo', 'geo2', 'geo3', ..."].join(" "),requiredOpts:["dflt"],otherOpts:["regex"],coerceFunction:function(e,t,r,a){var n=a.regex||yS(r);if(typeof e=="string"&&n.test(e)){t.set(e);return}t.set(r)},validateFunction:function(e,t){var r=t.dflt;return e===r?!0:typeof e!="string"?!1:!!yS(r).test(e)}},flaglist:{description:["A string representing a combination of flags","(order does not matter here).","Combine any of the available `flags` with *+*.","(e.g. ('lines+markers')).","Values in `extras` cannot be combined."].join(" "),requiredOpts:["flags"],otherOpts:["dflt","extras","arrayOk"],coerceFunction:function(e,t,r,a){if((a.extras||[]).indexOf(e)!==-1){t.set(e);return}if(typeof e!="string"){t.set(r);return}for(var n=e.split("+"),i=0;i{"use strict";var xS={staticPlot:{valType:"boolean",dflt:!1,description:["Determines whether the graphs are interactive or not.","If *false*, no interactivity, for export or image generation."].join(" ")},typesetMath:{valType:"boolean",dflt:!0,description:["Determines whether math should be typeset or not,","when MathJax (either v2 or v3) is present on the page."].join(" ")},plotlyServerURL:{valType:"string",dflt:"",description:["When set it determines base URL for","the 'Edit in Chart Studio' `showEditInChartStudio`/`showSendToCloud` mode bar button","and the showLink/sendData on-graph link.","To enable sending your data to Chart Studio Cloud, you need to","set both `plotlyServerURL` to 'https://chart-studio.plotly.com' and","also set `showSendToCloud` to true."].join(" ")},editable:{valType:"boolean",dflt:!1,description:["Determines whether the graph is editable or not.","Sets all pieces of `edits`","unless a separate `edits` config item overrides individual parts."].join(" ")},edits:{annotationPosition:{valType:"boolean",dflt:!1,description:["Determines if the main anchor of the annotation is editable.","The main anchor corresponds to the","text (if no arrow) or the arrow (which drags the whole thing leaving","the arrow length & direction unchanged)."].join(" ")},annotationTail:{valType:"boolean",dflt:!1,description:["Has only an effect for annotations with arrows.","Enables changing the length and direction of the arrow."].join(" ")},annotationText:{valType:"boolean",dflt:!1,description:"Enables editing annotation text."},axisTitleText:{valType:"boolean",dflt:!1,description:"Enables editing axis title text."},colorbarPosition:{valType:"boolean",dflt:!1,description:"Enables moving colorbars."},colorbarTitleText:{valType:"boolean",dflt:!1,description:"Enables editing colorbar title text."},legendPosition:{valType:"boolean",dflt:!1,description:"Enables moving the legend."},legendText:{valType:"boolean",dflt:!1,description:"Enables editing the trace name fields from the legend"},shapePosition:{valType:"boolean",dflt:!1,description:"Enables moving shapes."},titleText:{valType:"boolean",dflt:!1,description:"Enables editing the global layout title."}},editSelection:{valType:"boolean",dflt:!0,description:"Enables moving selections."},autosizable:{valType:"boolean",dflt:!1,description:["Determines whether the graphs are plotted with respect to","layout.autosize:true and infer its container size."].join(" ")},responsive:{valType:"boolean",dflt:!1,description:["Determines whether to change the layout size when window is resized.","In v3, this option will be removed and will always be true."].join(" ")},fillFrame:{valType:"boolean",dflt:!1,description:["When `layout.autosize` is turned on, determines whether the graph","fills the container (the default) or the screen (if set to *true*)."].join(" ")},frameMargins:{valType:"number",dflt:0,min:0,max:.5,description:["When `layout.autosize` is turned on, set the frame margins","in fraction of the graph size."].join(" ")},scrollZoom:{valType:"flaglist",flags:["cartesian","gl3d","geo","mapbox"],extras:[!0,!1],dflt:"gl3d+geo+mapbox",description:["Determines whether mouse wheel or two-finger scroll zooms is enable.","Turned on by default for gl3d, geo and mapbox subplots","(as these subplot types do not have zoombox via pan),","but turned off by default for cartesian subplots.","Set `scrollZoom` to *false* to disable scrolling for all subplots."].join(" ")},doubleClick:{valType:"enumerated",values:[!1,"reset","autosize","reset+autosize"],dflt:"reset+autosize",description:["Sets the double click interaction mode.","Has an effect only in cartesian plots.","If *false*, double click is disable.","If *reset*, double click resets the axis ranges to their initial values.","If *autosize*, double click set the axis ranges to their autorange values.","If *reset+autosize*, the odd double clicks resets the axis ranges","to their initial values and even double clicks set the axis ranges","to their autorange values."].join(" ")},doubleClickDelay:{valType:"number",dflt:300,min:0,description:["Sets the delay for registering a double-click in ms.","This is the time interval (in ms) between first mousedown and","2nd mouseup to constitute a double-click.","This setting propagates to all on-subplot double clicks","(except for geo and mapbox) and on-legend double clicks."].join(" ")},showAxisDragHandles:{valType:"boolean",dflt:!0,description:["Set to *false* to omit cartesian axis pan/zoom drag handles."].join(" ")},showAxisRangeEntryBoxes:{valType:"boolean",dflt:!0,description:["Set to *false* to omit direct range entry at the pan/zoom drag points,","note that `showAxisDragHandles` must be enabled to have an effect."].join(" ")},showTips:{valType:"boolean",dflt:!0,description:["Determines whether or not tips are shown while interacting","with the resulting graphs."].join(" ")},showLink:{valType:"boolean",dflt:!1,description:["Determines whether a link to Chart Studio Cloud is displayed","at the bottom right corner of resulting graphs.","Use with `sendData` and `linkText`."].join(" ")},linkText:{valType:"string",dflt:"Edit chart",noBlank:!0,description:["Sets the text appearing in the `showLink` link."].join(" ")},sendData:{valType:"boolean",dflt:!0,description:["If *showLink* is true, does it contain data","just link to a Chart Studio Cloud file?"].join(" ")},showSources:{valType:"any",dflt:!1,description:["Adds a source-displaying function to show sources on","the resulting graphs."].join(" ")},displayModeBar:{valType:"enumerated",values:["hover",!0,!1],dflt:"hover",description:["Determines the mode bar display mode.","If *true*, the mode bar is always visible.","If *false*, the mode bar is always hidden.","If *hover*, the mode bar is visible while the mouse cursor","is on the graph container."].join(" ")},showSendToCloud:{valType:"boolean",dflt:!1,description:['Should we include a ModeBar button, labeled "Edit in Chart Studio",',"that sends this chart to chart-studio.plotly.com (formerly plot.ly) or another plotly server","as specified by `plotlyServerURL` for editing, export, etc? Prior to version 1.43.0","this button was included by default, now it is opt-in using this flag.","Note that this button can (depending on `plotlyServerURL` being set) send your data","to an external server. However that server does not persist your data",'until you arrive at the Chart Studio and explicitly click "Save".'].join(" ")},showEditInChartStudio:{valType:"boolean",dflt:!1,description:["Same as `showSendToCloud`, but use a pencil icon instead of a floppy-disk.","Note that if both `showSendToCloud` and `showEditInChartStudio` are turned,","only `showEditInChartStudio` will be honored."].join(" ")},modeBarButtonsToRemove:{valType:"any",dflt:[],description:["Remove mode bar buttons by name.","See ./components/modebar/buttons.js for the list of names."].join(" ")},modeBarButtonsToAdd:{valType:"any",dflt:[],description:["Add mode bar button using config objects","See ./components/modebar/buttons.js for list of arguments.","To enable predefined modebar buttons e.g. shape drawing, hover and spikelines,","simply provide their string name(s). This could include:","*v1hovermode*, *hoverclosest*, *hovercompare*, *togglehover*, *togglespikelines*,","*drawline*, *drawopenpath*, *drawclosedpath*, *drawcircle*, *drawrect* and *eraseshape*.","Please note that these predefined buttons will only be shown if they are compatible","with all trace types used in a graph."].join(" ")},modeBarButtons:{valType:"any",dflt:!1,description:["Define fully custom mode bar buttons as nested array,","where the outer arrays represents button groups, and","the inner arrays have buttons config objects or names of default buttons","See ./components/modebar/buttons.js for more info."].join(" ")},toImageButtonOptions:{valType:"any",dflt:{},description:["Statically override options for toImage modebar button","allowed keys are format, filename, width, height, scale","see ../components/modebar/buttons.js"].join(" ")},displaylogo:{valType:"boolean",dflt:!0,description:["Determines whether or not the plotly logo is displayed","on the end of the mode bar."].join(" ")},watermark:{valType:"boolean",dflt:!1,description:"watermark the images with the company's logo"},plotGlPixelRatio:{valType:"number",dflt:2,min:1,max:4,description:["Set the pixel ratio during WebGL image export.","This config option was formerly named `plot3dPixelRatio`","which is now deprecated."].join(" ")},setBackground:{valType:"any",dflt:"transparent",description:["Set function to add the background color (i.e. `layout.paper_color`)","to a different container.","This function take the graph div as first argument and the current background","color as second argument.","Alternatively, set to string *opaque* to ensure there is white behind it."].join(" ")},topojsonURL:{valType:"string",noBlank:!0,dflt:"https://cdn.plot.ly/",description:["Set the URL to topojson used in geo charts.","By default, the topojson files are fetched from cdn.plot.ly.","For example, set this option to:","/dist/topojson/","to render geographical feature using the topojson files","that ship with the plotly.js module."].join(" ")},mapboxAccessToken:{valType:"string",dflt:null,description:["Mapbox access token (required to plot mapbox trace types)","If using an Mapbox Atlas server, set this option to ''","so that plotly.js won't attempt to authenticate to the public Mapbox server."].join(" ")},logging:{valType:"integer",min:0,max:2,dflt:1,description:["Turn all console logging on or off (errors will be thrown)","This should ONLY be set via Plotly.setPlotConfig","Available levels:","0: no logs","1: warnings and errors, but not informational messages","2: verbose logs"].join(" ")},notifyOnLogging:{valType:"integer",min:0,max:2,dflt:0,description:["Set on-graph logging (notifier) level","This should ONLY be set via Plotly.setPlotConfig","Available levels:","0: no on-graph logs","1: warnings and errors, but not informational messages","2: verbose logs"].join(" ")},queueLength:{valType:"integer",min:0,dflt:0,description:"Sets the length of the undo/redo queue."},globalTransforms:{valType:"any",dflt:[],description:["Set global transform to be applied to all traces with no","specification needed"].join(" ")},locale:{valType:"string",dflt:"en-US",description:["Which localization should we use?","Should be a string like 'en' or 'en-US'."].join(" ")},locales:{valType:"any",dflt:{},description:["Localization definitions","Locales can be provided either here (specific to one chart) or globally","by registering them as modules.","Should be an object of objects {locale: {dictionary: {...}, format: {...}}}","{"," da: {"," dictionary: {'Reset axes': 'Nulstil aksler', ...},"," format: {months: [...], shortMonths: [...]}"," },"," ...","}","All parts are optional. When looking for translation or format fields, we","look first for an exact match in a config locale, then in a registered","module. If those fail, we strip off any regionalization ('en-US' -> 'en')","and try each (config, registry) again. The final fallback for translation","is untranslated (which is US English) and for formats is the base English","(the only consequence being the last fallback date format %x is DD/MM/YYYY","instead of MM/DD/YYYY). Currently `grouping` and `currency` are ignored","for our automatic number formatting, but can be used in custom formats."].join(" ")}},_S={};function wS(e,t){for(var r in e){var a=e[r];a.valType?t[r]=a.dflt:(t[r]||(t[r]={}),wS(a,t[r]))}}wS(xS,_S);TS.exports={configAttributes:xS,dfltConfig:_S}});var $m=E((k0e,AS)=>{"use strict";var Qm=Et(),H$=zt(),zu=[];AS.exports=function(e,t){if(zu.indexOf(e)!==-1)return;zu.push(e);var r=1e3;H$(t)?r=t:t==="long"&&(r=3e3);var a=Qm.select("body").selectAll(".plotly-notifier").data([0]);a.enter().append("div").classed("plotly-notifier",!0);var n=a.selectAll(".notifier-note").data(zu);function i(o){o.duration(700).style("opacity",0).each("end",function(s){var l=zu.indexOf(s);l!==-1&&zu.splice(l,1),Qm.select(this).remove()})}n.enter().append("div").classed("notifier-note",!0).style("opacity",0).each(function(o){var s=Qm.select(this);s.append("button").classed("notifier-close",!0).html("×").on("click",function(){s.transition().call(i)});for(var l=s.append("p"),u=o.split(//g),c=0;c{"use strict";var Qs=Eo().dfltConfig,Km=$m(),Jm=kS.exports={};Jm.log=function(){var e;if(Qs.logging>1){var t=["LOG:"];for(e=0;e1){var r=[];for(e=0;e"),"long")}};Jm.warn=function(){var e;if(Qs.logging>0){var t=["WARN:"];for(e=0;e0){var r=[];for(e=0;e"),"stick")}};Jm.error=function(){var e;if(Qs.logging>0){var t=["ERROR:"];for(e=0;e0){var r=[];for(e=0;e"),"stick")}}});var qd=E((S0e,MS)=>{"use strict";MS.exports=function(){}});var eg=E((C0e,SS)=>{"use strict";SS.exports=function(t,r){if(r instanceof RegExp){for(var a=r.toString(),n=0;n{CS.exports=B$;function B$(){var e=new Float32Array(16);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var DS=E((q0e,qS)=>{qS.exports=U$;function U$(e){var t=new Float32Array(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}});var RS=E((D0e,PS)=>{PS.exports=G$;function G$(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}});var tg=E((P0e,IS)=>{IS.exports=W$;function W$(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var zS=E((R0e,ES)=>{ES.exports=V$;function V$(e,t){if(e===t){var r=t[1],a=t[2],n=t[3],i=t[6],o=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=a,e[9]=i,e[11]=t[14],e[12]=n,e[13]=o,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}});var FS=E((I0e,NS)=>{NS.exports=Y$;function Y$(e,t){var r=t[0],a=t[1],n=t[2],i=t[3],o=t[4],s=t[5],l=t[6],u=t[7],c=t[8],d=t[9],h=t[10],p=t[11],g=t[12],m=t[13],b=t[14],_=t[15],x=r*s-a*o,A=r*l-n*o,w=r*u-i*o,k=a*l-n*s,L=a*u-i*s,S=n*u-i*l,q=c*m-d*g,P=c*b-h*g,I=c*_-p*g,F=d*b-h*m,N=d*_-p*m,j=h*_-p*b,G=x*j-A*N+w*F+k*I-L*P+S*q;return G?(G=1/G,e[0]=(s*j-l*N+u*F)*G,e[1]=(n*N-a*j-i*F)*G,e[2]=(m*S-b*L+_*k)*G,e[3]=(h*L-d*S-p*k)*G,e[4]=(l*I-o*j-u*P)*G,e[5]=(r*j-n*I+i*P)*G,e[6]=(b*w-g*S-_*A)*G,e[7]=(c*S-h*w+p*A)*G,e[8]=(o*N-s*I+u*q)*G,e[9]=(a*I-r*N-i*q)*G,e[10]=(g*L-m*w+_*x)*G,e[11]=(d*w-c*L-p*x)*G,e[12]=(s*P-o*F-l*q)*G,e[13]=(r*F-a*P+n*q)*G,e[14]=(m*A-g*k-b*x)*G,e[15]=(c*k-d*A+h*x)*G,e):null}});var OS=E((E0e,jS)=>{jS.exports=Z$;function Z$(e,t){var r=t[0],a=t[1],n=t[2],i=t[3],o=t[4],s=t[5],l=t[6],u=t[7],c=t[8],d=t[9],h=t[10],p=t[11],g=t[12],m=t[13],b=t[14],_=t[15];return e[0]=s*(h*_-p*b)-d*(l*_-u*b)+m*(l*p-u*h),e[1]=-(a*(h*_-p*b)-d*(n*_-i*b)+m*(n*p-i*h)),e[2]=a*(l*_-u*b)-s*(n*_-i*b)+m*(n*u-i*l),e[3]=-(a*(l*p-u*h)-s*(n*p-i*h)+d*(n*u-i*l)),e[4]=-(o*(h*_-p*b)-c*(l*_-u*b)+g*(l*p-u*h)),e[5]=r*(h*_-p*b)-c*(n*_-i*b)+g*(n*p-i*h),e[6]=-(r*(l*_-u*b)-o*(n*_-i*b)+g*(n*u-i*l)),e[7]=r*(l*p-u*h)-o*(n*p-i*h)+c*(n*u-i*l),e[8]=o*(d*_-p*m)-c*(s*_-u*m)+g*(s*p-u*d),e[9]=-(r*(d*_-p*m)-c*(a*_-i*m)+g*(a*p-i*d)),e[10]=r*(s*_-u*m)-o*(a*_-i*m)+g*(a*u-i*s),e[11]=-(r*(s*p-u*d)-o*(a*p-i*d)+c*(a*u-i*s)),e[12]=-(o*(d*b-h*m)-c*(s*b-l*m)+g*(s*h-l*d)),e[13]=r*(d*b-h*m)-c*(a*b-n*m)+g*(a*h-n*d),e[14]=-(r*(s*b-l*m)-o*(a*b-n*m)+g*(a*l-n*s)),e[15]=r*(s*h-l*d)-o*(a*h-n*d)+c*(a*l-n*s),e}});var BS=E((z0e,HS)=>{HS.exports=X$;function X$(e){var t=e[0],r=e[1],a=e[2],n=e[3],i=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=e[9],d=e[10],h=e[11],p=e[12],g=e[13],m=e[14],b=e[15],_=t*o-r*i,x=t*s-a*i,A=t*l-n*i,w=r*s-a*o,k=r*l-n*o,L=a*l-n*s,S=u*g-c*p,q=u*m-d*p,P=u*b-h*p,I=c*m-d*g,F=c*b-h*g,N=d*b-h*m;return _*N-x*F+A*I+w*P-k*q+L*S}});var GS=E((N0e,US)=>{US.exports=Q$;function Q$(e,t,r){var a=t[0],n=t[1],i=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],d=t[8],h=t[9],p=t[10],g=t[11],m=t[12],b=t[13],_=t[14],x=t[15],A=r[0],w=r[1],k=r[2],L=r[3];return e[0]=A*a+w*s+k*d+L*m,e[1]=A*n+w*l+k*h+L*b,e[2]=A*i+w*u+k*p+L*_,e[3]=A*o+w*c+k*g+L*x,A=r[4],w=r[5],k=r[6],L=r[7],e[4]=A*a+w*s+k*d+L*m,e[5]=A*n+w*l+k*h+L*b,e[6]=A*i+w*u+k*p+L*_,e[7]=A*o+w*c+k*g+L*x,A=r[8],w=r[9],k=r[10],L=r[11],e[8]=A*a+w*s+k*d+L*m,e[9]=A*n+w*l+k*h+L*b,e[10]=A*i+w*u+k*p+L*_,e[11]=A*o+w*c+k*g+L*x,A=r[12],w=r[13],k=r[14],L=r[15],e[12]=A*a+w*s+k*d+L*m,e[13]=A*n+w*l+k*h+L*b,e[14]=A*i+w*u+k*p+L*_,e[15]=A*o+w*c+k*g+L*x,e}});var VS=E((F0e,WS)=>{WS.exports=$$;function $$(e,t,r){var a=r[0],n=r[1],i=r[2],o,s,l,u,c,d,h,p,g,m,b,_;return t===e?(e[12]=t[0]*a+t[4]*n+t[8]*i+t[12],e[13]=t[1]*a+t[5]*n+t[9]*i+t[13],e[14]=t[2]*a+t[6]*n+t[10]*i+t[14],e[15]=t[3]*a+t[7]*n+t[11]*i+t[15]):(o=t[0],s=t[1],l=t[2],u=t[3],c=t[4],d=t[5],h=t[6],p=t[7],g=t[8],m=t[9],b=t[10],_=t[11],e[0]=o,e[1]=s,e[2]=l,e[3]=u,e[4]=c,e[5]=d,e[6]=h,e[7]=p,e[8]=g,e[9]=m,e[10]=b,e[11]=_,e[12]=o*a+c*n+g*i+t[12],e[13]=s*a+d*n+m*i+t[13],e[14]=l*a+h*n+b*i+t[14],e[15]=u*a+p*n+_*i+t[15]),e}});var ZS=E((j0e,YS)=>{YS.exports=K$;function K$(e,t,r){var a=r[0],n=r[1],i=r[2];return e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e[3]=t[3]*a,e[4]=t[4]*n,e[5]=t[5]*n,e[6]=t[6]*n,e[7]=t[7]*n,e[8]=t[8]*i,e[9]=t[9]*i,e[10]=t[10]*i,e[11]=t[11]*i,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}});var QS=E((O0e,XS)=>{XS.exports=J$;function J$(e,t,r,a){var n=a[0],i=a[1],o=a[2],s=Math.sqrt(n*n+i*i+o*o),l,u,c,d,h,p,g,m,b,_,x,A,w,k,L,S,q,P,I,F,N,j,G,V;return Math.abs(s)<1e-6?null:(s=1/s,n*=s,i*=s,o*=s,l=Math.sin(r),u=Math.cos(r),c=1-u,d=t[0],h=t[1],p=t[2],g=t[3],m=t[4],b=t[5],_=t[6],x=t[7],A=t[8],w=t[9],k=t[10],L=t[11],S=n*n*c+u,q=i*n*c+o*l,P=o*n*c-i*l,I=n*i*c-o*l,F=i*i*c+u,N=o*i*c+n*l,j=n*o*c+i*l,G=i*o*c-n*l,V=o*o*c+u,e[0]=d*S+m*q+A*P,e[1]=h*S+b*q+w*P,e[2]=p*S+_*q+k*P,e[3]=g*S+x*q+L*P,e[4]=d*I+m*F+A*N,e[5]=h*I+b*F+w*N,e[6]=p*I+_*F+k*N,e[7]=g*I+x*F+L*N,e[8]=d*j+m*G+A*V,e[9]=h*j+b*G+w*V,e[10]=p*j+_*G+k*V,e[11]=g*j+x*G+L*V,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}});var KS=E((H0e,$S)=>{$S.exports=eK;function eK(e,t,r){var a=Math.sin(r),n=Math.cos(r),i=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],d=t[10],h=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=i*n+u*a,e[5]=o*n+c*a,e[6]=s*n+d*a,e[7]=l*n+h*a,e[8]=u*n-i*a,e[9]=c*n-o*a,e[10]=d*n-s*a,e[11]=h*n-l*a,e}});var e3=E((B0e,JS)=>{JS.exports=tK;function tK(e,t,r){var a=Math.sin(r),n=Math.cos(r),i=t[0],o=t[1],s=t[2],l=t[3],u=t[8],c=t[9],d=t[10],h=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*n-u*a,e[1]=o*n-c*a,e[2]=s*n-d*a,e[3]=l*n-h*a,e[8]=i*a+u*n,e[9]=o*a+c*n,e[10]=s*a+d*n,e[11]=l*a+h*n,e}});var r3=E((U0e,t3)=>{t3.exports=rK;function rK(e,t,r){var a=Math.sin(r),n=Math.cos(r),i=t[0],o=t[1],s=t[2],l=t[3],u=t[4],c=t[5],d=t[6],h=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*n+u*a,e[1]=o*n+c*a,e[2]=s*n+d*a,e[3]=l*n+h*a,e[4]=u*n-i*a,e[5]=c*n-o*a,e[6]=d*n-s*a,e[7]=h*n-l*a,e}});var n3=E((G0e,a3)=>{a3.exports=aK;function aK(e,t,r){var a,n,i,o=r[0],s=r[1],l=r[2],u=Math.sqrt(o*o+s*s+l*l);return Math.abs(u)<1e-6?null:(u=1/u,o*=u,s*=u,l*=u,a=Math.sin(t),n=Math.cos(t),i=1-n,e[0]=o*o*i+n,e[1]=s*o*i+l*a,e[2]=l*o*i-s*a,e[3]=0,e[4]=o*s*i-l*a,e[5]=s*s*i+n,e[6]=l*s*i+o*a,e[7]=0,e[8]=o*l*i+s*a,e[9]=s*l*i-o*a,e[10]=l*l*i+n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}});var o3=E((W0e,i3)=>{i3.exports=nK;function nK(e,t,r){var a=t[0],n=t[1],i=t[2],o=t[3],s=a+a,l=n+n,u=i+i,c=a*s,d=a*l,h=a*u,p=n*l,g=n*u,m=i*u,b=o*s,_=o*l,x=o*u;return e[0]=1-(p+m),e[1]=d+x,e[2]=h-_,e[3]=0,e[4]=d-x,e[5]=1-(c+m),e[6]=g+b,e[7]=0,e[8]=h+_,e[9]=g-b,e[10]=1-(c+p),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}});var l3=E((V0e,s3)=>{s3.exports=iK;function iK(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var f3=E((Y0e,u3)=>{u3.exports=oK;function oK(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}});var d3=E((Z0e,c3)=>{c3.exports=sK;function sK(e,t){var r=Math.sin(t),a=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=a,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var v3=E((X0e,h3)=>{h3.exports=lK;function lK(e,t){var r=Math.sin(t),a=Math.cos(t);return e[0]=a,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=a,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var m3=E((Q0e,p3)=>{p3.exports=uK;function uK(e,t){var r=Math.sin(t),a=Math.cos(t);return e[0]=a,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var rg=E(($0e,g3)=>{g3.exports=fK;function fK(e,t){var r=t[0],a=t[1],n=t[2],i=t[3],o=r+r,s=a+a,l=n+n,u=r*o,c=a*o,d=a*s,h=n*o,p=n*s,g=n*l,m=i*o,b=i*s,_=i*l;return e[0]=1-d-g,e[1]=c+_,e[2]=h-b,e[3]=0,e[4]=c-_,e[5]=1-u-g,e[6]=p+m,e[7]=0,e[8]=h+b,e[9]=p-m,e[10]=1-u-d,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var b3=E((K0e,y3)=>{y3.exports=cK;function cK(e,t,r,a,n,i,o){var s=1/(r-t),l=1/(n-a),u=1/(i-o);return e[0]=i*2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=i*2*l,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(n+a)*l,e[10]=(o+i)*u,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*i*2*u,e[15]=0,e}});var _3=E((J0e,x3)=>{x3.exports=dK;function dK(e,t,r,a,n){var i=1/Math.tan(t/2),o=1/(a-n);return e[0]=i/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=i,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=(n+a)*o,e[11]=-1,e[12]=0,e[13]=0,e[14]=2*n*a*o,e[15]=0,e}});var T3=E((ebe,w3)=>{w3.exports=hK;function hK(e,t,r,a){var n=Math.tan(t.upDegrees*Math.PI/180),i=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),l=2/(o+s),u=2/(n+i);return e[0]=l,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=u,e[6]=0,e[7]=0,e[8]=-((o-s)*l*.5),e[9]=(n-i)*u*.5,e[10]=a/(r-a),e[11]=-1,e[12]=0,e[13]=0,e[14]=a*r/(r-a),e[15]=0,e}});var k3=E((tbe,A3)=>{A3.exports=vK;function vK(e,t,r,a,n,i,o){var s=1/(t-r),l=1/(a-n),u=1/(i-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*l,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*u,e[11]=0,e[12]=(t+r)*s,e[13]=(n+a)*l,e[14]=(o+i)*u,e[15]=1,e}});var S3=E((rbe,M3)=>{var pK=tg();M3.exports=mK;function mK(e,t,r,a){var n,i,o,s,l,u,c,d,h,p,g=t[0],m=t[1],b=t[2],_=a[0],x=a[1],A=a[2],w=r[0],k=r[1],L=r[2];return Math.abs(g-w)<1e-6&&Math.abs(m-k)<1e-6&&Math.abs(b-L)<1e-6?pK(e):(c=g-w,d=m-k,h=b-L,p=1/Math.sqrt(c*c+d*d+h*h),c*=p,d*=p,h*=p,n=x*h-A*d,i=A*c-_*h,o=_*d-x*c,p=Math.sqrt(n*n+i*i+o*o),p?(p=1/p,n*=p,i*=p,o*=p):(n=0,i=0,o=0),s=d*o-h*i,l=h*n-c*o,u=c*i-d*n,p=Math.sqrt(s*s+l*l+u*u),p?(p=1/p,s*=p,l*=p,u*=p):(s=0,l=0,u=0),e[0]=n,e[1]=s,e[2]=c,e[3]=0,e[4]=i,e[5]=l,e[6]=d,e[7]=0,e[8]=o,e[9]=u,e[10]=h,e[11]=0,e[12]=-(n*g+i*m+o*b),e[13]=-(s*g+l*m+u*b),e[14]=-(c*g+d*m+h*b),e[15]=1,e)}});var L3=E((abe,C3)=>{C3.exports=gK;function gK(e){return"mat4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"}});var ag=E((nbe,q3)=>{q3.exports={create:LS(),clone:DS(),copy:RS(),identity:tg(),transpose:zS(),invert:FS(),adjoint:OS(),determinant:BS(),multiply:GS(),translate:VS(),scale:ZS(),rotate:QS(),rotateX:KS(),rotateY:e3(),rotateZ:r3(),fromRotation:n3(),fromRotationTranslation:o3(),fromScaling:l3(),fromTranslation:f3(),fromXRotation:d3(),fromYRotation:v3(),fromZRotation:m3(),fromQuat:rg(),frustum:b3(),perspective:_3(),perspectiveFromFieldOfView:T3(),ortho:k3(),lookAt:S3(),str:L3()}});var Dd=E(wr=>{"use strict";var yK=ag();wr.init2dArray=function(e,t){for(var r=new Array(e),a=0;a{"use strict";var bK=Et(),xK=zo(),_K=Dd(),wK=ag();function TK(e){var t;if(typeof e=="string"){if(t=document.getElementById(e),t===null)throw new Error("No DOM element with id '"+e+"' exists on the page.");return t}else if(e==null)throw new Error("DOM element provided is null or undefined");return e}function AK(e){var t=bK.select(e);return t.node()instanceof HTMLElement&&t.size()&&t.classed("js-plotly-plot")}function D3(e){var t=e&&e.parentNode;t&&t.removeChild(e)}function kK(e,t){P3("global",e,t)}function P3(e,t,r){var a="plotly.js-style-"+e,n=document.getElementById(a);n||(n=document.createElement("style"),n.setAttribute("id",a),n.appendChild(document.createTextNode("")),document.head.appendChild(n));var i=n.sheet;i.insertRule?i.insertRule(t+"{"+r+"}",0):i.addRule?i.addRule(t,r,0):xK.warn("addStyleRule failed")}function MK(e){var t="plotly.js-style-"+e,r=document.getElementById(t);r&&D3(r)}function SK(e){var t=I3(e),r=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return t.forEach(function(a){var n=R3(a);if(n){var i=_K.convertCssMatrix(n);r=wK.multiply(r,r,i)}}),r}function R3(e){var t=window.getComputedStyle(e,null),r=t.getPropertyValue("-webkit-transform")||t.getPropertyValue("-moz-transform")||t.getPropertyValue("-ms-transform")||t.getPropertyValue("-o-transform")||t.getPropertyValue("transform");return r==="none"?null:r.replace("matrix","").replace("3d","").slice(1,-1).split(",").map(function(a){return+a})}function I3(e){for(var t=[];CK(e);)t.push(e),e=e.parentNode;return t}function CK(e){return e&&(e instanceof Element||e instanceof HTMLElement)}function LK(e,t){return e&&t&&e.x===t.x&&e.y===t.y&&e.top===t.top&&e.left===t.left&&e.right===t.right&&e.bottom===t.bottom}E3.exports={getGraphDiv:TK,isPlotDiv:AK,removeElement:D3,addStyleRule:kK,addRelatedStyleRule:P3,deleteRelatedStyleRule:MK,getFullTransformMatrix:SK,getElementTransformMatrix:R3,getElementAndAncestors:I3,equalDomRects:LK}});var Nu=E((sbe,z3)=>{"use strict";z3.exports={mode:{valType:"enumerated",dflt:"afterall",values:["immediate","next","afterall"],description:["Describes how a new animate call interacts with currently-running","animations. If `immediate`, current animations are interrupted and","the new animation is started. If `next`, the current frame is allowed","to complete, after which the new animation is started. If `afterall`","all existing frames are animated to completion before the new animation","is started."].join(" ")},direction:{valType:"enumerated",values:["forward","reverse"],dflt:"forward",description:["The direction in which to play the frames triggered by the animation call"].join(" ")},fromcurrent:{valType:"boolean",dflt:!1,description:["Play frames starting at the current frame instead of the beginning."].join(" ")},frame:{duration:{valType:"number",min:0,dflt:500,description:["The duration in milliseconds of each frame. If greater than the frame","duration, it will be limited to the frame duration."].join(" ")},redraw:{valType:"boolean",dflt:!0,description:["Redraw the plot at completion of the transition. This is desirable","for transitions that include properties that cannot be transitioned,","but may significantly slow down updates that do not require a full","redraw of the plot"].join(" ")}},transition:{duration:{valType:"number",min:0,dflt:500,editType:"none",description:["The duration of the transition, in milliseconds. If equal to zero,","updates are synchronous."].join(" ")},easing:{valType:"enumerated",dflt:"cubic-in-out",values:["linear","quad","cubic","sin","exp","circle","elastic","back","bounce","linear-in","quad-in","cubic-in","sin-in","exp-in","circle-in","elastic-in","back-in","bounce-in","linear-out","quad-out","cubic-out","sin-out","exp-out","circle-out","elastic-out","back-out","bounce-out","linear-in-out","quad-in-out","cubic-in-out","sin-in-out","exp-in-out","circle-in-out","elastic-in-out","back-in-out","bounce-in-out"],editType:"none",description:"The easing function used for the transition"},ordering:{valType:"enumerated",values:["layout first","traces first"],dflt:"layout first",editType:"none",description:["Determines whether the figure's layout or traces smoothly transitions","during updates that make both traces and layout change."].join(" ")}}}});var pi=E(ng=>{"use strict";ng.dash={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style",description:["Sets the dash style of lines. Set to a dash type string","(*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*)","or a dash length list in px (eg *5px,10px,2px,2px*)."].join(" ")};ng.pattern={shape:{valType:"enumerated",values:["","/","\\","x","-","|","+","."],dflt:"",arrayOk:!0,editType:"style",description:["Sets the shape of the pattern fill.","By default, no pattern is used for filling the area."].join(" ")},fillmode:{valType:"enumerated",values:["replace","overlay"],dflt:"replace",editType:"style",description:["Determines whether `marker.color` should be used","as a default to `bgcolor` or a `fgcolor`."].join(" ")},bgcolor:{valType:"color",arrayOk:!0,editType:"style",description:["When there is no colorscale sets the color of background pattern fill.","Defaults to a `marker.color` background when `fillmode` is *overlay*.","Otherwise, defaults to a transparent background."].join(" ")},fgcolor:{valType:"color",arrayOk:!0,editType:"style",description:["When there is no colorscale sets the color of foreground pattern fill.","Defaults to a `marker.color` background when `fillmode` is *replace*.","Otherwise, defaults to dark grey or white","to increase contrast with the `bgcolor`."].join(" ")},fgopacity:{valType:"number",editType:"style",min:0,max:1,description:["Sets the opacity of the foreground pattern fill.","Defaults to a 0.5 when `fillmode` is *overlay*.","Otherwise, defaults to 1."].join(" ")},size:{valType:"number",min:0,dflt:8,arrayOk:!0,editType:"style",description:["Sets the size of unit squares of the pattern fill in pixels,","which corresponds to the interval of repetition of the pattern."].join(" ")},solidity:{valType:"number",min:0,max:1,dflt:.3,arrayOk:!0,editType:"style",description:["Sets the solidity of the pattern fill.","Solidity is roughly the fraction of the area filled by the pattern.","Solidity of 0 shows only the background color without pattern","and solidty of 1 shows only the foreground color without pattern."].join(" ")},editType:"style",description:["Sets the pattern within the marker."].join(" ")}});var F3=E((ube,N3)=>{"use strict";var qK=pi().dash,DK=Jr().extendFlat;N3.exports={newshape:{line:{color:{valType:"color",editType:"none",description:["Sets the line color.","By default uses either dark grey or white","to increase contrast with background color."].join(" ")},width:{valType:"number",min:0,dflt:4,editType:"none",description:"Sets the line width (in px)."},dash:DK({},qK,{dflt:"solid",editType:"none"}),editType:"none"},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"none",description:["Sets the color filling new shapes' interior.","Please note that if using a fillcolor with alpha greater than half,","drag inside the active shape starts moving the shape underneath,","otherwise a new shape could be started over."].join(" ")},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd",editType:"none",description:["Determines the path's interior.","For more info please visit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule"].join(" ")},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"none",description:"Sets the opacity of new shapes."},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"none",description:"Specifies whether new shapes are drawn below or above traces."},drawdirection:{valType:"enumerated",values:["ortho","horizontal","vertical","diagonal"],dflt:"diagonal",editType:"none",description:["When `dragmode` is set to *drawrect*, *drawline* or *drawcircle*","this limits the drag to be horizontal, vertical or diagonal.","Using *diagonal* there is no limit e.g. in drawing lines in any direction.","*ortho* limits the draw to be either horizontal or vertical.","*horizontal* allows horizontal extend.","*vertical* allows vertical extend."].join(" ")},editType:"none"},activeshape:{fillcolor:{valType:"color",dflt:"rgb(255,0,255)",editType:"none",description:"Sets the color filling the active shape' interior."},opacity:{valType:"number",min:0,max:1,dflt:.5,editType:"none",description:"Sets the opacity of the active shape."},editType:"none"}}});var O3=E((fbe,j3)=>{"use strict";var PK=pi().dash,RK=Jr().extendFlat;j3.exports={newselection:{mode:{valType:"enumerated",values:["immediate","gradual"],dflt:"immediate",editType:"none",description:["Describes how a new selection is created.","If `immediate`, a new selection is created after first mouse up.","If `gradual`, a new selection is not created after first mouse.","By adding to and subtracting from the initial selection,","this option allows declaring extra outlines of the selection."].join(" ")},line:{color:{valType:"color",editType:"none",description:["Sets the line color.","By default uses either dark grey or white","to increase contrast with background color."].join(" ")},width:{valType:"number",min:1,dflt:1,editType:"none",description:"Sets the line width (in px)."},dash:RK({},PK,{dflt:"dot",editType:"none"}),editType:"none"},editType:"none"},activeselection:{fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"none",description:"Sets the color filling the active selection' interior."},opacity:{valType:"number",min:0,max:1,dflt:.5,editType:"none",description:"Sets the opacity of the active selection."},editType:"none"}}});var Rd=E((cbe,H3)=>{"use strict";H3.exports=function(e){var t=e.editType;return{t:{valType:"number",dflt:0,editType:t,description:"The amount of padding (in px) along the top of the component."},r:{valType:"number",dflt:0,editType:t,description:"The amount of padding (in px) on the right side of the component."},b:{valType:"number",dflt:0,editType:t,description:"The amount of padding (in px) along the bottom of the component."},l:{valType:"number",dflt:0,editType:t,description:"The amount of padding (in px) on the left side of the component."},editType:t}}});var $s=E((dbe,W3)=>{"use strict";var ig=ka(),IK=Nu(),Id=vi(),B3=F3(),U3=O3(),EK=Rd(),G3=Jr().extendFlat,Ed=ig({editType:"calc",description:["Sets the global font.","Note that fonts used in traces and other","layout components inherit from the global font."].join(" ")});Ed.family.dflt='"Open Sans", verdana, arial, sans-serif';Ed.size.dflt=12;Ed.color.dflt=Id.defaultLine;W3.exports={font:Ed,title:{text:{valType:"string",editType:"layoutstyle",description:["Sets the plot's title.","Note that before the existence of `title.text`, the title's","contents used to be defined as the `title` attribute itself.","This behavior has been deprecated."].join(" ")},font:ig({editType:"layoutstyle",description:["Sets the title font.","Note that the title's font used to be customized","by the now deprecated `titlefont` attribute."].join(" ")}),xref:{valType:"enumerated",dflt:"container",values:["container","paper"],editType:"layoutstyle",description:["Sets the container `x` refers to.","*container* spans the entire `width` of the plot.","*paper* refers to the width of the plotting area only."].join(" ")},yref:{valType:"enumerated",dflt:"container",values:["container","paper"],editType:"layoutstyle",description:["Sets the container `y` refers to.","*container* spans the entire `height` of the plot.","*paper* refers to the height of the plotting area only."].join(" ")},x:{valType:"number",min:0,max:1,dflt:.5,editType:"layoutstyle",description:["Sets the x position with respect to `xref` in normalized","coordinates from *0* (left) to *1* (right)."].join(" ")},y:{valType:"number",min:0,max:1,dflt:"auto",editType:"layoutstyle",description:["Sets the y position with respect to `yref` in normalized","coordinates from *0* (bottom) to *1* (top).","*auto* places the baseline of the title onto the","vertical center of the top margin."].join(" ")},xanchor:{valType:"enumerated",dflt:"auto",values:["auto","left","center","right"],editType:"layoutstyle",description:["Sets the title's horizontal alignment with respect to its x position.","*left* means that the title starts at x,","*right* means that the title ends at x","and *center* means that the title's center is at x.","*auto* divides `xref` by three and calculates the `xanchor`","value automatically based on the value of `x`."].join(" ")},yanchor:{valType:"enumerated",dflt:"auto",values:["auto","top","middle","bottom"],editType:"layoutstyle",description:["Sets the title's vertical alignment with respect to its y position.","*top* means that the title's cap line is at y,","*bottom* means that the title's baseline is at y","and *middle* means that the title's midline is at y.","*auto* divides `yref` by three and calculates the `yanchor`","value automatically based on the value of `y`."].join(" ")},pad:G3(EK({editType:"layoutstyle"}),{description:["Sets the padding of the title.","Each padding value only applies when the corresponding","`xanchor`/`yanchor` value is set accordingly. E.g. for left","padding to take effect, `xanchor` must be set to *left*.","The same rule applies if `xanchor`/`yanchor` is determined automatically.","Padding is muted if the respective anchor value is *middle*/*center*."].join(" ")}),editType:"layoutstyle"},uniformtext:{mode:{valType:"enumerated",values:[!1,"hide","show"],dflt:!1,editType:"plot",description:["Determines how the font size for various text","elements are uniformed between each trace type.","If the computed text sizes were smaller than","the minimum size defined by `uniformtext.minsize`","using *hide* option hides the text; and","using *show* option shows the text without further downscaling.","Please note that if the size defined by `minsize` is greater than","the font size defined by trace, then the `minsize` is used."].join(" ")},minsize:{valType:"number",min:0,dflt:0,editType:"plot",description:["Sets the minimum text size between traces of the same type."].join(" ")},editType:"plot"},autosize:{valType:"boolean",dflt:!1,editType:"none",description:["Determines whether or not a layout width or height","that has been left undefined by the user","is initialized on each relayout.","Note that, regardless of this attribute,","an undefined layout width or height","is always initialized on the first call to plot."].join(" ")},width:{valType:"number",min:10,dflt:700,editType:"plot",description:["Sets the plot's width (in px)."].join(" ")},height:{valType:"number",min:10,dflt:450,editType:"plot",description:["Sets the plot's height (in px)."].join(" ")},margin:{l:{valType:"number",min:0,dflt:80,editType:"plot",description:"Sets the left margin (in px)."},r:{valType:"number",min:0,dflt:80,editType:"plot",description:"Sets the right margin (in px)."},t:{valType:"number",min:0,dflt:100,editType:"plot",description:"Sets the top margin (in px)."},b:{valType:"number",min:0,dflt:80,editType:"plot",description:"Sets the bottom margin (in px)."},pad:{valType:"number",min:0,dflt:0,editType:"plot",description:["Sets the amount of padding (in px)","between the plotting area and the axis lines"].join(" ")},autoexpand:{valType:"boolean",dflt:!0,editType:"plot",description:["Turns on/off margin expansion computations.","Legends, colorbars, updatemenus, sliders, axis rangeselector and rangeslider","are allowed to push the margins by defaults."].join(" ")},editType:"plot"},computed:{valType:"any",editType:"none",description:["Placeholder for exporting automargin-impacting values namely","`margin.t`, `margin.b`, `margin.l` and `margin.r` in *full-json* mode."].join(" ")},paper_bgcolor:{valType:"color",dflt:Id.background,editType:"plot",description:"Sets the background color of the paper where the graph is drawn."},plot_bgcolor:{valType:"color",dflt:Id.background,editType:"layoutstyle",description:["Sets the background color of the plotting area in-between x and y axes."].join(" ")},autotypenumbers:{valType:"enumerated",values:["convert types","strict"],dflt:"convert types",editType:"calc",description:["Using *strict* a numeric string in trace data is not converted to a number.","Using *convert types* a numeric string in trace data may be","treated as a number during automatic axis `type` detection.","This is the default value; however it could be overridden for individual axes."].join(" ")},separators:{valType:"string",editType:"plot",description:["Sets the decimal and thousand separators.","For example, *. * puts a '.' before decimals and a space","between thousands. In English locales, dflt is *.,* but","other locales may alter this default."].join(" ")},hidesources:{valType:"boolean",dflt:!1,editType:"plot",description:["Determines whether or not a text link citing the data source is","placed at the bottom-right cored of the figure.","Has only an effect only on graphs that have been generated via","forked graphs from the Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise)."].join(" ")},showlegend:{valType:"boolean",editType:"legend",description:["Determines whether or not a legend is drawn.","Default is `true` if there is a trace to show and any of these:","a) Two or more traces would by default be shown in the legend.","b) One pie trace is shown in the legend.","c) One trace is explicitly given with `showlegend: true`."].join(" ")},colorway:{valType:"colorlist",dflt:Id.defaults,editType:"calc",description:"Sets the default trace colors."},datarevision:{valType:"any",editType:"calc",description:["If provided, a changed value tells `Plotly.react` that","one or more data arrays has changed. This way you can modify","arrays in-place rather than making a complete new copy for an","incremental change.","If NOT provided, `Plotly.react` assumes that data arrays are","being treated as immutable, thus any data array with a","different identity from its predecessor contains new data."].join(" ")},uirevision:{valType:"any",editType:"none",description:["Used to allow user interactions with the plot to persist after","`Plotly.react` calls that are unaware of these interactions.","If `uirevision` is omitted, or if it is given and it changed from","the previous `Plotly.react` call, the exact new figure is used.","If `uirevision` is truthy and did NOT change, any attribute","that has been affected by user interactions and did not receive a","different value in the new figure will keep the interaction value.","`layout.uirevision` attribute serves as the default for","`uirevision` attributes in various sub-containers. For finer","control you can set these sub-attributes directly. For example,","if your app separately controls the data on the x and y axes you","might set `xaxis.uirevision=*time*` and `yaxis.uirevision=*cost*`.","Then if only the y data is changed, you can update","`yaxis.uirevision=*quantity*` and the y axis range will reset but","the x axis range will retain any user-driven zoom."].join(" ")},editrevision:{valType:"any",editType:"none",description:["Controls persistence of user-driven changes in `editable: true`","configuration, other than trace names and axis titles.","Defaults to `layout.uirevision`."].join(" ")},selectionrevision:{valType:"any",editType:"none",description:["Controls persistence of user-driven changes in selected points","from all traces."].join(" ")},template:{valType:"any",editType:"calc",description:["Default attributes to be applied to the plot. Templates can be","created from existing plots using `Plotly.makeTemplate`, or","created manually. They should be objects with format:","`{layout: layoutTemplate, data: {[type]: [traceTemplate, ...]}, ...}`","`layoutTemplate` and `traceTemplate` are objects matching the","attribute structure of `layout` and a data trace. ","Trace templates are applied cyclically to traces of each type.","Container arrays (eg `annotations`) have special handling:","An object ending in `defaults` (eg `annotationdefaults`) is applied","to each array item. But if an item has a `templateitemname` key","we look in the template array for an item with matching `name` and","apply that instead. If no matching `name` is found we mark the item","invisible. Any named template item not referenced is appended to","the end of the array, so you can use this for a watermark annotation","or a logo image, for example. To omit one of these items on the plot,","make an item with matching `templateitemname` and `visible: false`."].join(" ")},newshape:B3.newshape,activeshape:B3.activeshape,newselection:U3.newselection,activeselection:U3.activeselection,meta:{valType:"any",arrayOk:!0,editType:"plot",description:["Assigns extra meta information that can be used in various `text` attributes.","Attributes such as the graph, axis and colorbar `title.text`, annotation `text`","`trace.name` in legend items, `rangeselector`, `updatemenus` and `sliders` `label` text","all support `meta`. One can access `meta` fields using template strings:","`%{meta[i]}` where `i` is the index of the `meta`","item in question.","`meta` can also be an object for example `{key: value}` which can be accessed","%{meta[key]}."].join(" ")},transition:G3({},IK.transition,{description:["Sets transition options used during Plotly.react updates."].join(" "),editType:"none"}),_deprecated:{title:{valType:"string",editType:"layoutstyle",description:["Value of `title` is no longer a simple *string* but a set of sub-attributes.","To set the contents of the title, please use `title.text` now."].join(" ")},titlefont:ig({editType:"layoutstyle",description:["Former `titlefont` is now the sub-attribute `font` of `title`.","To customize title font properties, please use `title.font` now."].join(" ")})}}});var vt=E(wt=>{"use strict";var Ks=zo(),V3=qd(),Y3=eg(),zK=Ws(),NK=Pd().addStyleRule,Z3=Jr(),FK=Wi(),jK=$s(),OK=Z3.extendFlat,zd=Z3.extendDeepAll;wt.modules={};wt.allCategories={};wt.allTypes=[];wt.subplotsRegistry={};wt.transformsRegistry={};wt.componentsRegistry={};wt.layoutArrayContainers=[];wt.layoutArrayRegexes=[];wt.traceLayoutAttributes={};wt.localeRegistry={};wt.apiMethodRegistry={};wt.collectableSubplotTypes=null;wt.register=function(t){if(wt.collectableSubplotTypes=null,t)t&&!Array.isArray(t)&&(t=[t]);else throw new Error("No argument passed to Plotly.register.");for(var r=0;r{"use strict";var VK=Us().timeFormat,eC=zt(),og=zo(),Vi=Vs().mod,Js=_r(),sn=Js.BADNUM,Fa=Js.ONEDAY,Fu=Js.ONEHOUR,Yi=Js.ONEMIN,el=Js.ONESEC,ju=Js.EPOCHJD,mi=vt(),tC=Us().utcFormat,YK=/^\s*(-?\d\d\d\d|\d\d)(-(\d?\d)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d(:?\d\d)?)?)?)?)?)?\s*$/m,ZK=/^\s*(-?\d\d\d\d|\d\d)(-(\d?\di?)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d(:?\d\d)?)?)?)?)?)?\s*$/m,rC=new Date().getFullYear()-70;function gi(e){return e&&mi.componentsRegistry.calendars&&typeof e=="string"&&e!=="gregorian"}Tr.dateTick0=function(e,t){var r=XK(e,!!t);if(t<2)return r;var a=Tr.dateTime2ms(r,e);return a+=Fa*(t-1),Tr.ms2DateTime(a,0,e)};function XK(e,t){return gi(e)?t?mi.getComponentMethod("calendars","CANONICAL_SUNDAY")[e]:mi.getComponentMethod("calendars","CANONICAL_TICK")[e]:t?"2000-01-02":"2000-01-01"}Tr.dfltRange=function(e){return gi(e)?mi.getComponentMethod("calendars","DFLTRANGE")[e]:["2000-01-01","2001-01-01"]};Tr.isJSDate=function(e){return typeof e=="object"&&e!==null&&typeof e.getTime=="function"};var Nd,Fd;Tr.dateTime2ms=function(e,t){if(Tr.isJSDate(e)){var r=e.getTimezoneOffset()*Yi,a=(e.getUTCMinutes()-e.getMinutes())*Yi+(e.getUTCSeconds()-e.getSeconds())*el+(e.getUTCMilliseconds()-e.getMilliseconds());if(a){var n=3*Yi;r=r-n/2+Vi(a-r+n/2,n)}return e=Number(e)-r,e>=Nd&&e<=Fd?e:sn}if(typeof e!="string"&&typeof e!="number")return sn;e=String(e);var i=gi(t),o=e.charAt(0);i&&(o==="G"||o==="g")&&(e=e.substr(1),t="");var s=i&&t.substr(0,7)==="chinese",l=e.match(s?ZK:YK);if(!l)return sn;var u=l[1],c=l[3]||"1",d=Number(l[5]||1),h=Number(l[7]||0),p=Number(l[9]||0),g=Number(l[11]||0);if(i){if(u.length===2)return sn;u=Number(u);var m;try{var b=mi.getComponentMethod("calendars","getCal")(t);if(s){var _=c.charAt(c.length-1)==="i";c=parseInt(c,10),m=b.newDate(u,b.toMonthIndex(u,c,_),d)}else m=b.newDate(u,Number(c),d)}catch(A){return sn}return m?(m.toJD()-ju)*Fa+h*Fu+p*Yi+g*el:sn}u.length===2?u=(Number(u)+2e3-rC)%100+rC:u=Number(u),c-=1;var x=new Date(Date.UTC(2e3,c,d,h,p));return x.setUTCFullYear(u),x.getUTCMonth()!==c||x.getUTCDate()!==d?sn:x.getTime()+g*el};Nd=Tr.MIN_MS=Tr.dateTime2ms("-9999");Fd=Tr.MAX_MS=Tr.dateTime2ms("9999-12-31 23:59:59.9999");Tr.isDateTime=function(e,t){return Tr.dateTime2ms(e,t)!==sn};function tl(e,t){return String(e+Math.pow(10,t)).substr(1)}var jd=90*Fa,aC=3*Fu,nC=5*Yi;Tr.ms2DateTime=function(e,t,r){if(typeof e!="number"||!(e>=Nd&&e<=Fd))return sn;t||(t=0);var a=Math.floor(Vi(e+.05,1)*10),n=Math.round(e-a/10),i,o,s,l,u,c;if(gi(r)){var d=Math.floor(n/Fa)+ju,h=Math.floor(Vi(e,Fa));try{i=mi.getComponentMethod("calendars","getCal")(r).fromJD(d).formatDate("yyyy-mm-dd")}catch(p){i=tC("G%Y-%m-%d")(new Date(n))}if(i.charAt(0)==="-")for(;i.length<11;)i="-0"+i.substr(1);else for(;i.length<10;)i="0"+i;o=t=Nd+Fa&&e<=Fd-Fa))return sn;var t=Math.floor(Vi(e+.05,1)*10),r=new Date(Math.round(e-t/10)),a=VK("%Y-%m-%d")(r),n=r.getHours(),i=r.getMinutes(),o=r.getSeconds(),s=r.getUTCMilliseconds()*10+t;return iC(a,n,i,o,s)};function iC(e,t,r,a,n){if((t||r||a||n)&&(e+=" "+tl(t,2)+":"+tl(r,2),(a||n)&&(e+=":"+tl(a,2),n))){for(var i=4;n%10==0;)i-=1,n/=10;e+="."+tl(n,i)}return e}Tr.cleanDate=function(e,t,r){if(e===sn)return t;if(Tr.isJSDate(e)||typeof e=="number"&&isFinite(e)){if(gi(r))return og.error("JS Dates and milliseconds are incompatible with world calendars",e),t;if(e=Tr.ms2DateTimeLocal(+e),!e&&t!==void 0)return t}else if(!Tr.isDateTime(e,r))return og.error("unrecognized date",e),t;return e};var QK=/%\d?f/g,$K=/%h/g,KK={"1":"1","2":"1","3":"2","4":"2"};function oC(e,t,r,a){e=e.replace(QK,function(i){var o=Math.min(+i.charAt(1)||6,6),s=(t/1e3%1+2).toFixed(o).substr(2).replace(/0+$/,"")||"0";return s});var n=new Date(Math.floor(t+.05));if(e=e.replace($K,function(){return KK[r("%q")(n)]}),gi(a))try{e=mi.getComponentMethod("calendars","worldCalFmt")(e,t,a)}catch(i){return"Invalid"}return r(e)(n)}var JK=[59,59.9,59.99,59.999,59.9999];function eJ(e,t){var r=Vi(e+.05,Fa),a=tl(Math.floor(r/Fu),2)+":"+tl(Vi(Math.floor(r/Yi),60),2);if(t!=="M"){eC(t)||(t=0);var n=Math.min(Vi(e/el,60),JK[t]),i=(100+n).toFixed(t).substr(1);t>0&&(i=i.replace(/0+$/,"").replace(/[\.]$/,"")),a+=":"+i}return a}Tr.formatDate=function(e,t,r,a,n,i){if(n=gi(n)&&n,!t)if(r==="y")t=i.year;else if(r==="m")t=i.month;else if(r==="d")t=i.dayMonth+` -`+i.year;else return eJ(e,r)+` -`+oC(i.dayMonthYear,e,a,n);return oC(t,e,a,n)};var sC=3*Fa;Tr.incrementMonth=function(e,t,r){r=gi(r)&&r;var a=Vi(e,Fa);if(e=Math.round(e-a),r)try{var n=Math.round(e/Fa)+ju,i=mi.getComponentMethod("calendars","getCal")(r),o=i.fromJD(n);return t%12?i.add(o,t,"m"):i.add(o,t/12,"y"),(o.toJD()-ju)*Fa+a}catch(l){og.error("invalid ms "+e+" in calendar "+r)}var s=new Date(e+sC);return s.setUTCMonth(s.getUTCMonth()+t)+a-sC};Tr.findExactDates=function(e,t){for(var r=0,a=0,n=0,i=0,o,s,l=gi(t)&&mi.getComponentMethod("calendars","getCal")(t),u=0;u{"use strict";uC.exports=function(t){return t}});var ug=E(yi=>{"use strict";var tJ=zt(),rJ=zo(),aJ=sg(),nJ=_r().BADNUM,lg=1e-9;yi.findBin=function(e,t,r){if(tJ(t.start))return r?Math.ceil((e-t.start)/t.size-lg)-1:Math.floor((e-t.start)/t.size+lg);var a=0,n=t.length,i=0,o=n>1?(t[n-1]-t[0])/(n-1):1,s,l;for(o>=0?l=r?iJ:oJ:l=r?lJ:sJ,e+=o*lg*(r?-1:1)*(o>=0?1:-1);a90&&rJ.log("Long binary search..."),a-1};function iJ(e,t){return et}function lJ(e,t){return e>=t}yi.sorterAsc=function(e,t){return e-t};yi.sorterDes=function(e,t){return t-e};yi.distinctVals=function(e){var t=e.slice();t.sort(yi.sorterAsc);var r;for(r=t.length-1;r>-1&&t[r]===nJ;r--);for(var a=t[r]-t[0]||1,n=a/(r||1)/1e4,i=[],o,s=0;s<=r;s++){var l=t[s],u=l-o;o===void 0?(i.push(l),o=l):u>n&&(a=Math.min(a,u),i.push(l),o=l)}return{vals:i,minDiff:a}};yi.roundUp=function(e,t,r){for(var a=0,n=t.length-1,i,o=0,s=r?0:1,l=r?1:0,u=r?Math.ceil:Math.floor;a0&&(a=1),r&&a)return e.sort(t)}return a?e:e.reverse()};yi.findIndexOfMin=function(e,t){t=t||aJ;for(var r=1/0,a,n=0;n{"use strict";fC.exports=function(t){return Object.keys(t).sort()}});var cC=E(Fr=>{"use strict";var Ou=zt(),uJ=Do().isArrayOrTypedArray;Fr.aggNums=function(e,t,r,a){var n,i;if((!a||a>r.length)&&(a=r.length),Ou(t)||(t=!1),uJ(r[0])){for(i=new Array(a),n=0;ne.length-1)return e[e.length-1];var r=t%1;return r*e[Math.ceil(t)]+(1-r)*e[Math.floor(t)]}});var mC=E((bbe,pC)=>{"use strict";var dC=Vs(),cg=dC.mod,fJ=dC.modHalf,Hu=Math.PI,Zi=2*Hu;function cJ(e){return e/180*Hu}function dJ(e){return e/Hu*180}function dg(e){return Math.abs(e[1]-e[0])>Zi-1e-14}function hC(e,t){return fJ(t-e,Zi)}function hJ(e,t){return Math.abs(hC(e,t))}function vC(e,t){if(dg(t))return!0;var r,a;t[0]a&&(a+=Zi);var n=cg(e,Zi),i=n+Zi;return n>=r&&n<=a||i>=r&&i<=a}function vJ(e,t,r,a){if(!vC(t,a))return!1;var n,i;return r[0]=n&&e<=i}function hg(e,t,r,a,n,i,o){n=n||0,i=i||0;var s=dg([r,a]),l,u,c,d,h;s?(l=0,u=Hu,c=Zi):r{"use strict";No.isLeftAnchor=function(t){return t.xanchor==="left"||t.xanchor==="auto"&&t.x<=1/3};No.isCenterAnchor=function(t){return t.xanchor==="center"||t.xanchor==="auto"&&t.x>1/3&&t.x<2/3};No.isRightAnchor=function(t){return t.xanchor==="right"||t.xanchor==="auto"&&t.x>=2/3};No.isTopAnchor=function(t){return t.yanchor==="top"||t.yanchor==="auto"&&t.y>=2/3};No.isMiddleAnchor=function(t){return t.yanchor==="middle"||t.yanchor==="auto"&&t.y>1/3&&t.y<2/3};No.isBottomAnchor=function(t){return t.yanchor==="bottom"||t.yanchor==="auto"&&t.y<=1/3}});var xC=E(Fo=>{"use strict";var vg=Vs().mod;Fo.segmentsIntersect=yC;function yC(e,t,r,a,n,i,o,s){var l=r-e,u=n-e,c=o-n,d=a-t,h=i-t,p=s-i,g=l*p-c*d;if(g===0)return null;var m=(u*p-c*h)/g,b=(u*d-l*h)/g;return b<0||b>1||m<0||m>1?null:{x:e+l*m,y:t+d*m}}Fo.segmentDistance=function(t,r,a,n,i,o,s,l){if(yC(t,r,a,n,i,o,s,l))return 0;var u=a-t,c=n-r,d=s-i,h=l-o,p=u*u+c*c,g=d*d+h*h,m=Math.min(Od(u,c,p,i-t,o-r),Od(u,c,p,s-t,l-r),Od(d,h,g,t-i,r-o),Od(d,h,g,a-i,n-o));return Math.sqrt(m)};function Od(e,t,r,a,n){var i=a*e+n*t;if(i<0)return a*a+n*n;if(i>r){var o=a-e,s=n-t;return o*o+s*s}else{var l=a*t-n*e;return l*l/r}}var Hd,pg,bC;Fo.getTextLocation=function(t,r,a,n){if((t!==pg||n!==bC)&&(Hd={},pg=t,bC=n),Hd[a])return Hd[a];var i=t.getPointAtLength(vg(a-n/2,r)),o=t.getPointAtLength(vg(a+n/2,r)),s=Math.atan((o.y-i.y)/(o.x-i.x)),l=t.getPointAtLength(vg(a,r)),u=(l.x*4+i.x+o.x)/6,c=(l.y*4+i.y+o.y)/6,d={x:u,y:c,theta:s};return Hd[a]=d,d};Fo.clearLocationCache=function(){pg=null};Fo.getVisibleSegment=function(t,r,a){var n=r.left,i=r.right,o=r.top,s=r.bottom,l=0,u=t.getTotalLength(),c=u,d,h;function p(m){var b=t.getPointAtLength(m);m===0?d=b:m===u&&(h=b);var _=b.xi?b.x-i:0,x=b.ys?b.y-s:0;return Math.sqrt(_*_+x*x)}for(var g=p(l);g;){if(l+=g+a,l>c)return;g=p(l)}for(g=p(c);g;){if(c-=g+a,l>c)return;g=p(c)}return{min:l,max:c,len:c-l,total:u,isClosed:l===0&&c===u&&Math.abs(d.x-h.x)<.1&&Math.abs(d.y-h.y)<.1}};Fo.findPointOnPath=function(t,r,a,n){n=n||{};for(var i=n.pathLength||t.getTotalLength(),o=n.tolerance||.001,s=n.iterationLimit||30,l=t.getPointAtLength(0)[a]>t.getPointAtLength(i)[a]?-1:1,u=0,c=0,d=i,h,p,g;u0?d=h:c=h,u++}return p}});var Bd=E(Bu=>{"use strict";var bi={};Bu.throttle=function(t,r,a){var n=bi[t],i=Date.now();if(!n){for(var o in bi)bi[o].tsn.ts+r){s();return}n.timer=setTimeout(function(){s(),n.timer=null},r)};Bu.done=function(e){var t=bi[e];return!t||!t.timer?Promise.resolve():new Promise(function(r){var a=t.onDone;t.onDone=function(){a&&a(),r(),t.onDone=null}})};Bu.clear=function(e){if(e)_C(bi[e]),delete bi[e];else for(var t in bi)Bu.clear(t)};function _C(e){e&&e.timer!==null&&(clearTimeout(e.timer),e.timer=null)}});var TC=E((Tbe,wC)=>{"use strict";wC.exports=function(t){t._responsiveChartHandler&&(window.removeEventListener("resize",t._responsiveChartHandler),delete t._responsiveChartHandler)}});var AC=E((Abe,Ud)=>{"use strict";Ud.exports=mg;Ud.exports.isMobile=mg;Ud.exports.default=mg;var yJ=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,bJ=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i;function mg(e){e||(e={});var t=e.ua;if(!t&&typeof navigator!="undefined"&&(t=navigator.userAgent),t&&t.headers&&typeof t.headers["user-agent"]=="string"&&(t=t.headers["user-agent"]),typeof t!="string")return!1;var r=e.tablet?bJ.test(t):yJ.test(t);return!r&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&t.indexOf("Macintosh")!==-1&&t.indexOf("Safari")!==-1&&(r=!0),r}});var MC=E((kbe,kC)=>{"use strict";var xJ=zt(),_J=AC();kC.exports=function(t){var r;if(t&&t.hasOwnProperty("userAgent")?r=t.userAgent:r=wJ(),typeof r!="string")return!0;var a=_J({ua:{headers:{"user-agent":r}},tablet:!0,featureDetect:!1});if(!a)for(var n=r.split(" "),i=1;i-1;s--){var l=n[s];if(l.substr(0,8)==="Version/"){var u=l.substr(8).split(".")[0];if(xJ(u)&&(u=+u),u>=13)return!0}}}return a};function wJ(){var e;return typeof navigator!="undefined"&&(e=navigator.userAgent),e&&e.headers&&typeof e.headers["user-agent"]=="string"&&(e=e.headers["user-agent"]),e}});var CC=E((Mbe,SC)=>{"use strict";var TJ=Et();SC.exports=function(t,r,a){var n=t.selectAll("g."+a.replace(/\s/g,".")).data(r,function(o){return o[0].trace.uid});n.exit().remove(),n.enter().append("g").attr("class",a),n.order();var i=t.classed("rangeplot")?"nodeRangePlot3":"node3";return n.each(function(o){o[0][i]=TJ.select(this)}),n}});var qC=E((Sbe,LC)=>{"use strict";var AJ=vt();LC.exports=function(t,r){for(var a=t._context.locale,n=0;n<2;n++){for(var i=t._context.locales,o=0;o<2;o++){var s=(i[a]||{}).dictionary;if(s){var l=s[r];if(l)return l}i=AJ.localeRegistry}var u=a.split("-")[0];if(u===a)break;a=u}return r}});var PC=E((Cbe,DC)=>{"use strict";DC.exports=function(t){for(var r={},a=[],n=0,i=0;i{"use strict";RC.exports=function(t){for(var r=SJ(t)?MJ:kJ,a=[],n=0;n{"use strict";EC.exports=function(t,r){if(!r)return t;var a=1/Math.abs(r),n=a>1?(a*t+a*r)/a:t+r,i=String(n).length;if(i>16){var o=String(r).length,s=String(t).length;if(i>=s+o){var l=parseFloat(n).toPrecision(12);l.indexOf("e+")===-1&&(n=+l)}}return n}});var FC=E((Dbe,NC)=>{"use strict";var CJ=zt(),LJ=_r().BADNUM,qJ=/^['"%,$#\s']+|[, ]|['"%,$#\s']+$/g;NC.exports=function(t){return typeof t=="string"&&(t=t.replace(qJ,"")),CJ(t)?Number(t):LJ}});var Pe=E((Pbe,$C)=>{"use strict";var Uu=Et(),DJ=Us().utcFormat,PJ=Bm().format,jC=zt(),OC=_r(),HC=OC.FP_SAFE,RJ=-HC,BC=OC.BADNUM,de=$C.exports={};de.adjustFormat=function(t){return!t||/^\d[.]\df/.test(t)||/[.]\d%/.test(t)?t:t==="0.f"?"~f":/^\d%/.test(t)?"~%":/^\ds/.test(t)?"~s":!/^[~,.0$]/.test(t)&&/[&fps]/.test(t)?"~"+t:t};var UC={};de.warnBadFormat=function(e){var t=String(e);UC[t]||(UC[t]=1,de.warn('encountered bad format: "'+t+'"'))};de.noFormat=function(e){return String(e)};de.numberFormat=function(e){var t;try{t=PJ(de.adjustFormat(e))}catch(r){return de.warnBadFormat(e),de.noFormat}return t};de.nestedProperty=yd();de.keyedContainer=YM();de.relativeAttr=XM();de.isPlainObject=Ws();de.toLogRange=xd();de.relinkPrivateKeys=eS();var jo=Do();de.isTypedArray=jo.isTypedArray;de.isArrayOrTypedArray=jo.isArrayOrTypedArray;de.isArray1D=jo.isArray1D;de.ensureArray=jo.ensureArray;de.concat=jo.concat;de.maxRowLength=jo.maxRowLength;de.minRowLength=jo.minRowLength;var GC=Vs();de.mod=GC.mod;de.modHalf=GC.modHalf;var Xi=bS();de.valObjectMeta=Xi.valObjectMeta;de.coerce=Xi.coerce;de.coerce2=Xi.coerce2;de.coerceFont=Xi.coerceFont;de.coercePattern=Xi.coercePattern;de.coerceHoverinfo=Xi.coerceHoverinfo;de.coerceSelectionMarkerOpacity=Xi.coerceSelectionMarkerOpacity;de.validate=Xi.validate;var Za=lC();de.dateTime2ms=Za.dateTime2ms;de.isDateTime=Za.isDateTime;de.ms2DateTime=Za.ms2DateTime;de.ms2DateTimeLocal=Za.ms2DateTimeLocal;de.cleanDate=Za.cleanDate;de.isJSDate=Za.isJSDate;de.formatDate=Za.formatDate;de.incrementMonth=Za.incrementMonth;de.dateTick0=Za.dateTick0;de.dfltRange=Za.dfltRange;de.findExactDates=Za.findExactDates;de.MIN_MS=Za.MIN_MS;de.MAX_MS=Za.MAX_MS;var Oo=ug();de.findBin=Oo.findBin;de.sorterAsc=Oo.sorterAsc;de.sorterDes=Oo.sorterDes;de.distinctVals=Oo.distinctVals;de.roundUp=Oo.roundUp;de.sort=Oo.sort;de.findIndexOfMin=Oo.findIndexOfMin;de.sortObjectKeys=fg();var Qi=cC();de.aggNums=Qi.aggNums;de.len=Qi.len;de.mean=Qi.mean;de.median=Qi.median;de.midRange=Qi.midRange;de.variance=Qi.variance;de.stdev=Qi.stdev;de.interp=Qi.interp;var Dn=Dd();de.init2dArray=Dn.init2dArray;de.transposeRagged=Dn.transposeRagged;de.dot=Dn.dot;de.translationMatrix=Dn.translationMatrix;de.rotationMatrix=Dn.rotationMatrix;de.rotationXYMatrix=Dn.rotationXYMatrix;de.apply3DTransform=Dn.apply3DTransform;de.apply2DTransform=Dn.apply2DTransform;de.apply2DTransform2=Dn.apply2DTransform2;de.convertCssMatrix=Dn.convertCssMatrix;de.inverseTransformMatrix=Dn.inverseTransformMatrix;var Kn=mC();de.deg2rad=Kn.deg2rad;de.rad2deg=Kn.rad2deg;de.angleDelta=Kn.angleDelta;de.angleDist=Kn.angleDist;de.isFullCircle=Kn.isFullCircle;de.isAngleInsideSector=Kn.isAngleInsideSector;de.isPtInsideSector=Kn.isPtInsideSector;de.pathArc=Kn.pathArc;de.pathSector=Kn.pathSector;de.pathAnnulus=Kn.pathAnnulus;var rl=gC();de.isLeftAnchor=rl.isLeftAnchor;de.isCenterAnchor=rl.isCenterAnchor;de.isRightAnchor=rl.isRightAnchor;de.isTopAnchor=rl.isTopAnchor;de.isMiddleAnchor=rl.isMiddleAnchor;de.isBottomAnchor=rl.isBottomAnchor;var al=xC();de.segmentsIntersect=al.segmentsIntersect;de.segmentDistance=al.segmentDistance;de.getTextLocation=al.getTextLocation;de.clearLocationCache=al.clearLocationCache;de.getVisibleSegment=al.getVisibleSegment;de.findPointOnPath=al.findPointOnPath;var Gd=Jr();de.extendFlat=Gd.extendFlat;de.extendDeep=Gd.extendDeep;de.extendDeepAll=Gd.extendDeepAll;de.extendDeepNoArrays=Gd.extendDeepNoArrays;var gg=zo();de.log=gg.log;de.warn=gg.warn;de.error=gg.error;var IJ=Zs();de.counterRegex=IJ.counter;var yg=Bd();de.throttle=yg.throttle;de.throttleDone=yg.done;de.clearThrottle=yg.clear;var Jn=Pd();de.getGraphDiv=Jn.getGraphDiv;de.isPlotDiv=Jn.isPlotDiv;de.removeElement=Jn.removeElement;de.addStyleRule=Jn.addStyleRule;de.addRelatedStyleRule=Jn.addRelatedStyleRule;de.deleteRelatedStyleRule=Jn.deleteRelatedStyleRule;de.getFullTransformMatrix=Jn.getFullTransformMatrix;de.getElementTransformMatrix=Jn.getElementTransformMatrix;de.getElementAndAncestors=Jn.getElementAndAncestors;de.equalDomRects=Jn.equalDomRects;de.clearResponsive=TC();de.preserveDrawingBuffer=MC();de.makeTraceGroups=CC();de._=qC();de.notifier=$m();de.filterUnique=PC();de.filterVisible=IC();de.pushUnique=eg();de.increment=zC();de.cleanNumber=FC();de.ensureNumber=function(t){return jC(t)?(t=Number(t),t>HC||t=t?!1:jC(e)&&e>=0&&e%1==0};de.noop=qd();de.identity=sg();de.repeat=function(e,t){for(var r=new Array(t),a=0;ar?Math.max(r,Math.min(t,e)):Math.max(t,Math.min(r,e))};de.bBoxIntersect=function(e,t,r){return r=r||0,e.left<=t.right+r&&t.left<=e.right+r&&e.top<=t.bottom+r&&t.top<=e.bottom+r};de.simpleMap=function(e,t,r,a,n){for(var i=e.length,o=new Array(i),s=0;s=Math.pow(2,r)?n>10?(de.warn("randstr failed uniqueness"),o):e(t,r,a,(n||0)+1):o};de.OptionControl=function(e,t){e||(e={}),t||(t="opt");var r={};return r.optionList=[],r._newoption=function(a){a[t]=e,r[a.name]=a,r.optionList.push(a)},r["_"+t]=e,r};de.smooth=function(e,t){if(t=Math.round(t)||0,t<2)return e;var r=e.length,a=2*r,n=2*t-1,i=new Array(n),o=new Array(r),s,l,u,c;for(s=0;s=a&&(u-=a*Math.floor(u/a)),u<0?u=-1-u:u>=r&&(u=a-1-u),c+=e[u]*i[l];o[s]=c}return o};de.syncOrAsync=function(e,t,r){var a,n;function i(){return de.syncOrAsync(e,t,r)}for(;e.length;)if(n=e.splice(0,1)[0],a=n(t),a&&a.then)return a.then(i);return r&&r(t)};de.stripTrailingSlash=function(e){return e.substr(-1)==="/"?e.substr(0,e.length-1):e};de.noneOrAll=function(e,t,r){if(!!e){var a=!1,n=!0,i,o;for(i=0;i0?n:0})};de.fillArray=function(e,t,r,a){if(a=a||de.identity,de.isArrayOrTypedArray(e))for(var n=0;n1?n+o[1]:"";if(i&&(o.length>1||s.length>4||r))for(;a.test(s);)s=s.replace(a,"$1"+i+"$2");return s+l};de.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var VC=/^\w*$/;de.templateString=function(e,t){var r={};return e.replace(de.TEMPLATE_STRING_REGEX,function(a,n){var i;return VC.test(n)?i=t[n]:(r[n]=r[n]||de.nestedProperty(t,n).get,i=r[n]()),de.isValidTextValue(i)?i:""})};var OJ={max:10,count:0,name:"hovertemplate"};de.hovertemplateString=function(){return ZC.apply(OJ,arguments)};var HJ={max:10,count:0,name:"texttemplate"};de.texttemplateString=function(){return ZC.apply(HJ,arguments)};var YC=/^[:|\|]/;function ZC(e,t,r){var a=this,n=arguments;t||(t={});var i={};return e.replace(de.TEMPLATE_STRING_REGEX,function(o,s,l){var u=s==="xother"||s==="yother",c=s==="_xother"||s==="_yother",d=s==="_xother_"||s==="_yother_",h=s==="xother_"||s==="yother_",p=u||c||h||d,g=s;(c||d)&&(g=g.substring(1)),(h||d)&&(g=g.substring(0,g.length-1));var m;if(p){if(m=t[g],m===void 0)return""}else{var b,_;for(_=3;_=Wd&&o<=XC,u=s>=Wd&&s<=XC;if(l&&(a=10*a+o-Wd),u&&(n=10*n+s-Wd),!l||!u){if(a!==n)return a-n;if(o!==s)return o-s}}return n-a};var nl=2e9;de.seedPseudoRandom=function(){nl=2e9};de.pseudoRandom=function(){var e=nl;return nl=(69069*nl+1)%4294967296,Math.abs(nl-e)<429496729?de.pseudoRandom():nl/4294967296};de.fillText=function(e,t,r){var a=Array.isArray(r)?function(o){r.push(o)}:function(o){r.text=o},n=de.extractOption(e,t,"htx","hovertext");if(de.isValidTextValue(n))return a(n);var i=de.extractOption(e,t,"tx","text");if(de.isValidTextValue(i))return a(i)};de.isValidTextValue=function(e){return e||e===0};de.formatPercent=function(e,t){t=t||0;for(var r=(Math.round(100*e*Math.pow(10,t))*Math.pow(.1,t)).toFixed(t)+"%",a=0;a1&&(u=1):u=0,de.strTranslate(n-u*(r+o),i-u*(a+s))+de.strScale(u)+(l?"rotate("+l+(t?"":" "+r+" "+a)+")":"")};de.ensureUniformFontSize=function(e,t){var r=de.extendFlat({},t);return r.size=Math.max(t.size,e._fullLayout.uniformtext.minsize||0),r};de.join2=function(e,t,r){var a=e.length;return a>1?e.slice(0,-1).join(t)+r+e[a-1]:e.join(t)};de.bigFont=function(e){return Math.round(1.2*e)};var QC=de.getFirefoxVersion(),BJ=QC!==null&&QC<86;de.getPositionFromD3Event=function(){return BJ?[Uu.event.layerX,Uu.event.layerY]:[Uu.event.offsetX,Uu.event.offsetY]}});var eL=E(()=>{"use strict";var UJ=Pe(),KC={"X,X div":'direction:ltr;font-family:"Open Sans",verdana,arial,sans-serif;margin:0;padding:0;',"X input,X button":'font-family:"Open Sans",verdana,arial,sans-serif;',"X input:focus,X button:focus":"outline:none;","X a":"text-decoration:none;","X a:hover":"text-decoration:none;","X .crisp":"shape-rendering:crispEdges;","X .user-select-none":"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;","X svg":"overflow:hidden;","X svg a":"fill:#447adb;","X svg a:hover":"fill:#3c6dc5;","X .main-svg":"position:absolute;top:0;left:0;pointer-events:none;","X .main-svg .draglayer":"pointer-events:all;","X .cursor-default":"cursor:default;","X .cursor-pointer":"cursor:pointer;","X .cursor-crosshair":"cursor:crosshair;","X .cursor-move":"cursor:move;","X .cursor-col-resize":"cursor:col-resize;","X .cursor-row-resize":"cursor:row-resize;","X .cursor-ns-resize":"cursor:ns-resize;","X .cursor-ew-resize":"cursor:ew-resize;","X .cursor-sw-resize":"cursor:sw-resize;","X .cursor-s-resize":"cursor:s-resize;","X .cursor-se-resize":"cursor:se-resize;","X .cursor-w-resize":"cursor:w-resize;","X .cursor-e-resize":"cursor:e-resize;","X .cursor-nw-resize":"cursor:nw-resize;","X .cursor-n-resize":"cursor:n-resize;","X .cursor-ne-resize":"cursor:ne-resize;","X .cursor-grab":"cursor:-webkit-grab;cursor:grab;","X .modebar":"position:absolute;top:2px;right:2px;","X .ease-bg":"-webkit-transition:background-color .3s ease 0s;-moz-transition:background-color .3s ease 0s;-ms-transition:background-color .3s ease 0s;-o-transition:background-color .3s ease 0s;transition:background-color .3s ease 0s;","X .modebar--hover>:not(.watermark)":"opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;","X:hover .modebar--hover .modebar-group":"opacity:1;","X .modebar-group":"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;","X .modebar-btn":"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;","X .modebar-btn svg":"position:relative;top:2px;","X .modebar.vertical":"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;","X .modebar.vertical svg":"top:-1px;","X .modebar.vertical .modebar-group":"display:block;float:none;padding-left:0px;padding-bottom:8px;","X .modebar.vertical .modebar-group .modebar-btn":"display:block;text-align:center;","X [data-title]:before,X [data-title]:after":"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;","X [data-title]:hover:before,X [data-title]:hover:after":"display:block;opacity:1;","X [data-title]:before":'content:"";position:absolute;background:rgba(0,0,0,0);border:6px solid rgba(0,0,0,0);z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;',"X [data-title]:after":"content:attr(data-title);background:#69738a;color:#fff;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;","X .vertical [data-title]:before,X .vertical [data-title]:after":"top:0%;right:200%;","X .vertical [data-title]:before":"border:6px solid rgba(0,0,0,0);border-left-color:#69738a;margin-top:8px;margin-right:-30px;",Y:'font-family:"Open Sans",verdana,arial,sans-serif;position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;',"Y p":"margin:0;","Y .notifier-note":"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;","Y .notifier-close":"color:#fff;opacity:.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;","Y .notifier-close:hover":"color:#444;text-decoration:none;cursor:pointer;"};for(bg in KC)JC=bg.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier"),UJ.addStyleRule(JC,KC[bg]);var JC,bg});var xg=E((Ebe,tL)=>{tL.exports=!0});var wg=E((zbe,rL)=>{"use strict";var GJ=xg(),_g;typeof global.matchMedia=="function"?_g=!global.matchMedia("(hover: none)").matches:_g=GJ;rL.exports=_g});var Zd=E((Nbe,Tg)=>{"use strict";var il=typeof Reflect=="object"?Reflect:null,aL=il&&typeof il.apply=="function"?il.apply:function(t,r,a){return Function.prototype.apply.call(t,r,a)},Vd;il&&typeof il.ownKeys=="function"?Vd=il.ownKeys:Object.getOwnPropertySymbols?Vd=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Vd=function(t){return Object.getOwnPropertyNames(t)};function WJ(e){console&&console.warn&&console.warn(e)}var nL=Number.isNaN||function(t){return t!==t};function ar(){ar.init.call(this)}Tg.exports=ar;Tg.exports.once=XJ;ar.EventEmitter=ar;ar.prototype._events=void 0;ar.prototype._eventsCount=0;ar.prototype._maxListeners=void 0;var iL=10;function Yd(e){if(typeof e!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(ar,"defaultMaxListeners",{enumerable:!0,get:function(){return iL},set:function(e){if(typeof e!="number"||e<0||nL(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");iL=e}});ar.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};ar.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||nL(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this};function oL(e){return e._maxListeners===void 0?ar.defaultMaxListeners:e._maxListeners}ar.prototype.getMaxListeners=function(){return oL(this)};ar.prototype.emit=function(t){for(var r=[],a=1;a0&&(o=r[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var l=i[t];if(l===void 0)return!1;if(typeof l=="function")aL(l,this,r);else for(var u=l.length,c=cL(l,u),a=0;a0&&o.length>n&&!o.warned){o.warned=!0;var s=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");s.name="MaxListenersExceededWarning",s.emitter=e,s.type=t,s.count=o.length,WJ(s)}return e}ar.prototype.addListener=function(t,r){return sL(this,t,r,!1)};ar.prototype.on=ar.prototype.addListener;ar.prototype.prependListener=function(t,r){return sL(this,t,r,!0)};function VJ(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function lL(e,t,r){var a={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},n=VJ.bind(a);return n.listener=r,a.wrapFn=n,n}ar.prototype.once=function(t,r){return Yd(r),this.on(t,lL(this,t,r)),this};ar.prototype.prependOnceListener=function(t,r){return Yd(r),this.prependListener(t,lL(this,t,r)),this};ar.prototype.removeListener=function(t,r){var a,n,i,o,s;if(Yd(r),n=this._events,n===void 0)return this;if(a=n[t],a===void 0)return this;if(a===r||a.listener===r)--this._eventsCount==0?this._events=Object.create(null):(delete n[t],n.removeListener&&this.emit("removeListener",t,a.listener||r));else if(typeof a!="function"){for(i=-1,o=a.length-1;o>=0;o--)if(a[o]===r||a[o].listener===r){s=a[o].listener,i=o;break}if(i<0)return this;i===0?a.shift():YJ(a,i),a.length===1&&(n[t]=a[0]),n.removeListener!==void 0&&this.emit("removeListener",t,s||r)}return this};ar.prototype.off=ar.prototype.removeListener;ar.prototype.removeAllListeners=function(t){var r,a,n;if(a=this._events,a===void 0)return this;if(a.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):a[t]!==void 0&&(--this._eventsCount==0?this._events=Object.create(null):delete a[t]),this;if(arguments.length===0){var i=Object.keys(a),o;for(n=0;n=0;n--)this.removeListener(t,r[n]);return this};function uL(e,t,r){var a=e._events;if(a===void 0)return[];var n=a[t];return n===void 0?[]:typeof n=="function"?r?[n.listener||n]:[n]:r?ZJ(n):cL(n,n.length)}ar.prototype.listeners=function(t){return uL(this,t,!0)};ar.prototype.rawListeners=function(t){return uL(this,t,!1)};ar.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):fL.call(e,t)};ar.prototype.listenerCount=fL;function fL(e){var t=this._events;if(t!==void 0){var r=t[e];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}ar.prototype.eventNames=function(){return this._eventsCount>0?Vd(this._events):[]};function cL(e,t){for(var r=new Array(t),a=0;a{"use strict";var Ag=Zd().EventEmitter,$J={init:function(e){if(e._ev instanceof Ag)return e;var t=new Ag,r=new Ag;return e._ev=t,e._internalEv=r,e.on=t.on.bind(t),e.once=t.once.bind(t),e.removeListener=t.removeListener.bind(t),e.removeAllListeners=t.removeAllListeners.bind(t),e._internalOn=r.on.bind(r),e._internalOnce=r.once.bind(r),e._removeInternalListener=r.removeListener.bind(r),e._removeAllInternalListeners=r.removeAllListeners.bind(r),e.emit=function(a,n){typeof jQuery!="undefined"&&jQuery(e).trigger(a,n),t.emit(a,n),r.emit(a,n)},e},triggerHandler:function(e,t,r){var a,n;typeof jQuery!="undefined"&&(a=jQuery(e).triggerHandler(t,r));var i=e._ev;if(!i)return a;var o=i._events[t];if(!o)return a;function s(u){if(u.listener){if(i.removeListener(t,u.listener),!u.fired)return u.fired=!0,u.listener.apply(i,[r])}else return u.apply(i,[r])}o=Array.isArray(o)?o:[o];var l;for(l=0;l{"use strict";var vL=Pe(),KJ=Eo().dfltConfig;function JJ(e,t){for(var r=[],a,n=0;nKJ.queueLength&&(e.undoQueue.queue.shift(),e.undoQueue.index--)};xi.startSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!0,e.undoQueue.beginSequence=!0};xi.stopSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!1,e.undoQueue.beginSequence=!1};xi.undo=function(t){var r,a;if(!(t.undoQueue===void 0||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,r=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,a=0;a=t.undoQueue.queue.length)){for(r=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,a=0;a{"use strict";gL.exports={_isLinkedToArray:"frames_entry",group:{valType:"string",description:["An identifier that specifies the group to which the frame belongs,","used by animate to select a subset of frames."].join(" ")},name:{valType:"string",description:"A label by which to identify the frame"},traces:{valType:"any",description:["A list of trace indices that identify the respective traces in the","data attribute"].join(" ")},baseframe:{valType:"string",description:["The name of the frame into which this frame's properties are merged","before applying. This is used to unify properties and avoid needing","to specify the same values for the same properties in multiple frames."].join(" ")},data:{valType:"any",description:["A list of traces this frame modifies. The format is identical to the","normal trace definition."].join(" ")},layout:{valType:"any",description:["Layout properties which this frame modifies. The format is identical","to the normal layout definition."].join(" ")}}});var _i=E((Hbe,kL)=>{"use strict";var yL=Pe(),bL=yL.extendFlat,eee=yL.isPlainObject,xL={valType:"flaglist",extras:["none"],flags:["calc","clearAxisTypes","plot","style","markerSize","colorbars"],description:["trace attributes should include an `editType` string matching this flaglist.","*calc* is the most extensive: a full (re)plot starting by clearing `gd.calcdata`","to force it to be regenerated","*clearAxisTypes* resets the types of the axes this trace is on, because new data could","cause the automatic axis type detection to change. Log type will not be cleared, as that","is never automatically chosen so must have been user-specified.","*plot* (re)plots but without first clearing `gd.calcdata`.","*style* only calls `module.style` (or module.editStyle) for all trace modules and redraws the legend.","*markerSize* is like *style*, but propagate axis-range changes due to scatter `marker.size`","*colorbars* only redraws colorbars."].join(" ")},_L={valType:"flaglist",extras:["none"],flags:["calc","plot","legend","ticks","axrange","layoutstyle","modebar","camera","arraydraw","colorbars"],description:["layout attributes should include an `editType` string matching this flaglist.","*calc* is the most extensive: a full (re)plot starting by clearing `gd.calcdata`","to force it to be regenerated","*plot* (re)plots but without first clearing `gd.calcdata`.","*legend* only redraws the legend.","*ticks* only redraws axis ticks, labels, and gridlines.","*axrange* minimal sequence when updating axis ranges.","*layoutstyle* reapplies global and SVG cartesian axis styles.","*modebar* just updates the modebar.","*camera* just updates the camera settings for gl3d scenes.","*arraydraw* allows component arrays to invoke the redraw routines just for the","component(s) that changed.","*colorbars* only redraws colorbars."].join(" ")},tee=xL.flags.slice().concat(["fullReplot"]),ree=_L.flags.slice().concat("layoutReplot");kL.exports={traces:xL,layout:_L,traceFlags:function(){return wL(tee)},layoutFlags:function(){return wL(ree)},update:function(e,t){var r=t.editType;if(r&&r!=="none")for(var a=r.split("+"),n=0;n{"use strict";var aa=vt(),Wu=Pe(),Vu=Wi(),Mg=$s(),aee=kg(),nee=Nu(),iee=Eo().configAttributes,ML=_i(),ln=Wu.extendDeepAll,ol=Wu.isPlainObject,oee=Wu.isArrayOrTypedArray,Xd=Wu.nestedProperty,see=Wu.valObjectMeta,Sg="_isSubplotObj",Qd="_isLinkedToArray",lee="_arrayAttrRegexps",SL="_deprecated",Cg=[Sg,Qd,lee,SL];Sr.IS_SUBPLOT_OBJ=Sg;Sr.IS_LINKED_TO_ARRAY=Qd;Sr.DEPRECATED=SL;Sr.UNDERSCORE_ATTRS=Cg;Sr.get=function(){var e={};aa.allTypes.forEach(function(r){e[r]=fee(r)});var t={};return Object.keys(aa.transformsRegistry).forEach(function(r){t[r]=dee(r)}),{defs:{valObjects:see,metaKeys:Cg.concat(["description","role","editType","impliedEdits"]),editType:{traces:ML.traces,layout:ML.layout},impliedEdits:{description:["Sometimes when an attribute is changed, other attributes","must be altered as well in order to achieve the intended","result. For example, when `range` is specified, it is","important to set `autorange` to `false` or the new `range`","value would be lost in the redraw. `impliedEdits` is the","mechanism to do this: `impliedEdits: {autorange: false}`.","Each key is a relative paths to the attribute string to","change, using *^* to ascend into the parent container,","for example `range[0]` has `impliedEdits: {*^autorange*: false}`.","A value of `undefined` means that the attribute will not be","changed, but its previous value should be recorded in case","we want to reverse this change later. For example, `autorange`","has `impliedEdits: {*range[0]*: undefined, *range[1]*:undefined}","because the range will likely be changed by redraw."].join(" ")}},traces:e,layout:cee(),transforms:t,frames:hee(),animation:Ho(nee),config:Ho(iee)}};Sr.crawl=function(e,t,r,a){var n=r||0;a=a||"",Object.keys(e).forEach(function(i){var o=e[i];if(Cg.indexOf(i)===-1){var s=(a?a+".":"")+i;t(o,i,e,n,s),!Sr.isValObject(o)&&ol(o)&&i!=="impliedEdits"&&Sr.crawl(o,t,n+1,s)}})};Sr.isValObject=function(e){return e&&e.valType!==void 0};Sr.findArrayAttributes=function(e){var t=[],r=[],a=[],n,i;function o(h,p,g,m){r=r.slice(0,m).concat([p]),a=a.slice(0,m).concat([h&&h._isLinkedToArray]);var b=h&&(h.valType==="data_array"||h.arrayOk===!0)&&!(r[m-1]==="colorbar"&&(p==="ticktext"||p==="tickvals"));!b||s(n,0,"")}function s(h,p,g){var m=h[r[p]],b=g+r[p];if(p===r.length-1)oee(m)&&t.push(i+b);else if(a[p]){if(Array.isArray(m))for(var _=0;_=o.length)return!1;n=(aa.transformsRegistry[o[s].type]||{}).attributes,i=n&&n[t[2]],a=3}else{var l=e._module;if(l||(l=(aa.modules[e.type||Vu.type.dflt]||{})._module),!l)return!1;if(n=l.attributes,i=n&&n[r],!i){var u=l.basePlotModule;u&&u.attributes&&(i=u.attributes[r])}i||(i=Vu[r])}return CL(i,t,a)};Sr.getLayoutValObject=function(e,t){var r=uee(e,t[0]);return CL(r,t,1)};function uee(e,t){var r,a,n,i,o=e._basePlotModules;if(o){var s;for(r=0;r=i.length)return!1;if(e.dimensions===2){if(r++,t.length===r)return e;var o=t[r];if(!Yu(o))return!1;e=i[n][o]}else e=i[n]}else e=i}}return e}function Yu(e){return e===Math.round(e)&&e>=0}function fee(e){var t,r;t=aa.modules[e]._module,r=t.basePlotModule;var a={};a.type=null;var n=ln({},Vu),i=ln({},t.attributes);Sr.crawl(i,function(l,u,c,d,h){Xd(n,h).set(void 0),l===void 0&&Xd(i,h).set(void 0)}),ln(a,n),aa.traceIs(e,"noOpacity")&&delete a.opacity,aa.traceIs(e,"showLegend")||(delete a.showlegend,delete a.legendgroup),aa.traceIs(e,"noHover")&&(delete a.hoverinfo,delete a.hoverlabel),t.selectPoints||delete a.selectedpoints,ln(a,i),r.attributes&&ln(a,r.attributes),a.type=e;var o={meta:t.meta||{},categories:t.categories||{},animatable:Boolean(t.animatable),type:e,attributes:Ho(a)};if(t.layoutAttributes){var s={};ln(s,t.layoutAttributes),o.layoutAttributes=Ho(s)}return t.animatable||Sr.crawl(o,function(l){Sr.isValObject(l)&&"anim"in l&&delete l.anim}),o}function cee(){var e={},t,r;ln(e,Mg);for(t in aa.subplotsRegistry)if(r=aa.subplotsRegistry[t],!!r.layoutAttributes)if(Array.isArray(r.attr))for(var a=0;a{"use strict";var sl=Pe(),gee=Wi(),Ki="templateitemname",Lg={name:{valType:"string",editType:"none",description:["When used in a template, named items are created in the output figure","in addition to any items the figure already has in this array.","You can modify these items in the output figure by making your own","item with `templateitemname` matching this `name`","alongside your modifications (including `visible: false` or","`enabled: false` to hide it).","Has no effect outside of a template."].join(" ")}};Lg[Ki]={valType:"string",editType:"calc",description:["Used to refer to a named item in this array in the template. Named","items from the template will be created even without a matching item","in the input figure, but you can modify one by making an item with","`templateitemname` matching its `name`, alongside your modifications","(including `visible: false` or `enabled: false` to hide it).","If there is no template or no matching item, this item will be","hidden unless you explicitly show it with `visible: true`."].join(" ")};Bo.templatedArray=function(e,t){return t._isLinkedToArray=e,t.name=Lg.name,t[Ki]=Lg[Ki],t};Bo.traceTemplater=function(e){var t={},r,a;for(r in e)a=e[r],Array.isArray(a)&&a.length&&(t[r]=0);function n(i){r=sl.coerce(i,{},gee,"type");var o={type:r,_template:null};if(r in t){a=e[r];var s=t[r]%a.length;t[r]++,o._template=a[s]}return o}return{newTrace:n}};Bo.newContainer=function(e,t,r){var a=e._template,n=a&&(a[t]||r&&a[r]);sl.isPlainObject(n)||(n=null);var i=e[t]={_template:n};return i};Bo.arrayTemplater=function(e,t,r){var a=e._template,n=a&&a[PL(t)],i=a&&a[t];(!Array.isArray(i)||!i.length)&&(i=[]);var o={};function s(u){var c={name:u.name,_input:u},d=c[Ki]=u[Ki];if(!DL(d))return c._template=n,c;for(var h=0;h=a&&(r._input||{})._templateitemname;i&&(n=a);var o=t+"["+n+"]",s;function l(){s={},i&&(s[o]={},s[o][Ki]=i)}l();function u(p,g){s[p]=g}function c(p,g){i?sl.nestedProperty(s[o],p).set(g):s[o+"."+p]=g}function d(){var p=s;return l(),p}function h(p,g){p&&c(p,g);var m=d();for(var b in m)sl.nestedProperty(e,b).set(m[b])}return{modifyBase:u,modifyItem:c,getUpdateObj:d,applyUpdate:h}}});var ha=E((Gbe,RL)=>{"use strict";var Zu=Zs().counter;RL.exports={idRegex:{x:Zu("x","( domain)?"),y:Zu("y","( domain)?")},attrRegex:Zu("[xy]axis"),xAxisMatch:Zu("xaxis"),yAxisMatch:Zu("yaxis"),AX_ID_PATTERN:/^[xyz][0-9]*( domain)?$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,HOUR_PATTERN:"hour",WEEKDAY_PATTERN:"day of week",MINDRAG:8,MINZOOM:20,DRAGGERSIZE:20,REDRAWDELAY:50,DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:["imagelayer","heatmaplayer","contourcarpetlayer","contourlayer","funnellayer","waterfalllayer","barlayer","carpetlayer","violinlayer","boxlayer","ohlclayer","scattercarpetlayer","scatterlayer"],clipOnAxisFalseQuery:[".scatterlayer",".barlayer",".funnellayer",".waterfalllayer"],layerValue2layerClass:{"above traces":"above","below traces":"below"}}});var jr=E(ja=>{"use strict";var yee=vt(),qg=ha();ja.id2name=function(t){if(!(typeof t!="string"||!t.match(qg.AX_ID_PATTERN))){var r=t.split(" ")[0].substr(1);return r==="1"&&(r=""),t.charAt(0)+"axis"+r}};ja.name2id=function(t){if(!!t.match(qg.AX_NAME_PATTERN)){var r=t.substr(5);return r==="1"&&(r=""),t.charAt(0)+r}};ja.cleanId=function(t,r,a){var n=/( domain)$/.test(t);if(!(typeof t!="string"||!t.match(qg.AX_ID_PATTERN))&&!(r&&t.charAt(0)!==r)&&!(n&&!a)){var i=t.split(" ")[0].substr(1).replace(/^0+/,"");return i==="1"&&(i=""),t.charAt(0)+i+(n&&a?" domain":"")}};ja.list=function(e,t,r){var a=e._fullLayout;if(!a)return[];var n=ja.listIds(e,t),i=new Array(n.length),o;for(o=0;oa?1:-1:+(e.substr(1)||1)-+(t.substr(1)||1)};ja.ref2id=function(e){return/^[xyz]/.test(e)?e.split(" ")[0]:!1};function IL(e,t){if(t&&t.length){for(var r=0;r{"use strict";function bee(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(".outline-controllers").remove()}function xee(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(".select-outline").remove(),e._fullLayout._outlining=!1}EL.exports={clearOutlineControllers:bee,clearOutline:xee}});var Dg=E($d=>{"use strict";var Xu=vt(),_ee=ha().SUBPLOT_PATTERN;$d.getSubplotCalcData=function(e,t,r){var a=Xu.subplotsRegistry[t];if(!a)return[];for(var n=a.attr,i=[],o=0;o{"use strict";var wee=vt(),ll=Pe();Uo.manageCommandObserver=function(e,t,r,a){var n={},i=!0;t&&t._commandObserver&&(n=t._commandObserver),n.cache||(n.cache={}),n.lookupTable={};var o=Uo.hasSimpleAPICommandBindings(e,r,n.lookupTable);if(t&&t._commandObserver){if(o)return n;if(t._commandObserver.remove)return t._commandObserver.remove(),t._commandObserver=null,n}if(o){zL(e,o,n.cache),n.check=function(){if(!!i){var c=zL(e,o,n.cache);return c.changed&&a&&n.lookupTable[c.value]!==void 0&&(n.disable(),Promise.resolve(a({value:c.value,type:o.type,prop:o.prop,traces:o.traces,index:n.lookupTable[c.value]})).then(n.enable,n.enable)),c.changed}};for(var s=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],l=0;l0?".":"")+n;ll.isPlainObject(i)?Pg(i,t,o,a+1):t(o,n,i)}})}});var Er=E((Xbe,tq)=>{"use strict";var OL=Et(),Aee=Us().timeFormatLocale,kee=Bm().formatLocale,Kd=zt(),jt=vt(),HL=$i(),Mee=tr(),tt=Pe(),BL=qt(),UL=_r().BADNUM,Xa=jr(),See=Ji().clearOutline,Rg=Nu(),Cee=kg(),Lee=Dg().getModuleCalcData,Ig=tt.relinkPrivateKeys,ul=tt._,We=tq.exports={};tt.extendFlat(We,jt);We.attributes=Wi();We.attributes.type.values=We.allTypes;We.fontAttrs=ka();We.layoutAttributes=$s();We.fontWeight="normal";var Jd=We.transformsRegistry,eh=jL();We.executeAPICommand=eh.executeAPICommand;We.computeAPICommandBindings=eh.computeAPICommandBindings;We.manageCommandObserver=eh.manageCommandObserver;We.hasSimpleAPICommandBindings=eh.hasSimpleAPICommandBindings;We.redrawText=function(e){return e=tt.getGraphDiv(e),new Promise(function(t){setTimeout(function(){!e._fullLayout||(jt.getComponentMethod("annotations","draw")(e),jt.getComponentMethod("legend","draw")(e),jt.getComponentMethod("colorbar","draw")(e),t(We.previousPromises(e)))},300)})};We.resize=function(e){e=tt.getGraphDiv(e);var t,r=new Promise(function(a,n){(!e||tt.isHidden(e))&&n(new Error("Resize must be passed a displayed plot div element.")),e._redrawTimer&&clearTimeout(e._redrawTimer),e._resolveResize&&(t=e._resolveResize),e._resolveResize=a,e._redrawTimer=setTimeout(function(){if(!e.layout||e.layout.width&&e.layout.height||tt.isHidden(e)){a(e);return}delete e.layout.width,delete e.layout.height;var i=e.changed;e.autoplay=!0,jt.call("relayout",e,{autosize:!0}).then(function(){e.changed=i,e._resolveResize===a&&(delete e._resolveResize,a(e))})},100)});return t&&t(r),r};We.previousPromises=function(e){if((e._promises||[]).length)return Promise.all(e._promises).then(function(){e._promises=[]})};We.addLinks=function(e){if(!(!e._context.showLink&&!e._context.showSources)){var t=e._fullLayout,r=tt.ensureSingle(t._paper,"text","js-plot-link-container",function(l){l.style({"font-family":'"Open Sans", Arial, sans-serif',"font-size":"12px",fill:BL.defaultLine,"pointer-events":"all"}).each(function(){var u=OL.select(this);u.append("tspan").classed("js-link-to-tool",!0),u.append("tspan").classed("js-link-spacer",!0),u.append("tspan").classed("js-sourcelinks",!0)})}),a=r.node(),n={y:t._paper.attr("height")-9};document.body.contains(a)&&a.getComputedTextLength()>=t.width-20?(n["text-anchor"]="start",n.x=5):(n["text-anchor"]="end",n.x=t._paper.attr("width")-7),r.attr(n);var i=r.select(".js-link-to-tool"),o=r.select(".js-link-spacer"),s=r.select(".js-sourcelinks");e._context.showSources&&e._context.showSources(e),e._context.showLink&&qee(e,i),o.text(i.text()&&s.text()?" - ":"")}};function qee(e,t){t.text("");var r=t.append("a").attr({"xlink:xlink:href":"#",class:"link--impt link--embedview","font-weight":"bold"}).text(e._context.linkText+" "+String.fromCharCode(187));if(e._context.sendData)r.on("click",function(){We.sendDataToCloud(e)});else{var a=window.location.pathname.split("/"),n=window.location.search;r.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+a[2].split(".")[0]+"/"+a[1]+n})}}We.sendDataToCloud=function(e){var t=(window.PLOTLYENV||{}).BASE_URL||e._context.plotlyServerURL;if(!!t){e.emit("plotly_beforeexport");var r=OL.select(e).append("div").attr("id","hiddenform").style("display","none"),a=r.append("form").attr({action:t+"/external",method:"post",target:"_blank"}),n=a.append("input").attr({type:"text",name:"data"});return n.node().value=We.graphJson(e,!1,"keepdata"),a.node().submit(),r.remove(),e.emit("plotly_afterexport"),!1}};var Dee=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],Pee=["year","month","dayMonth","dayMonthYear"];We.supplyDefaults=function(e,t){var r=t&&t.skipUpdateCalc,a=e._fullLayout||{};if(a._skipDefaults){delete a._skipDefaults;return}var n=e._fullLayout={},i=e.layout||{},o=e._fullData||[],s=e._fullData=[],l=e.data||[],u=e.calcdata||[],c=e._context||{},d;e._transitionData||We.createTransitionData(e),n._dfltTitle={plot:ul(e,"Click to enter Plot title"),x:ul(e,"Click to enter X axis title"),y:ul(e,"Click to enter Y axis title"),colorbar:ul(e,"Click to enter Colorscale title"),annotation:ul(e,"new text")},n._traceWord=ul(e,"trace");var h=GL(e,Dee);if(n._mapboxAccessToken=c.mapboxAccessToken,a._initialAutoSizeIsDone){var p=a.width,g=a.height;We.supplyLayoutGlobalDefaults(i,n,h),i.width||(n.width=p),i.height||(n.height=g),We.sanitizeMargins(n)}else{We.supplyLayoutGlobalDefaults(i,n,h);var m=!i.width||!i.height,b=n.autosize,_=c.autosizable,x=m&&(b||_);x?We.plotAutoSize(e,i,n):m&&We.sanitizeMargins(n),!b&&m&&(i.width=n.width,i.height=n.height)}n._d3locale=Eee(h,n.separators),n._extraFormat=GL(e,Pee),n._initialAutoSizeIsDone=!0,n._dataLength=l.length,n._modules=[],n._visibleModules=[],n._basePlotModules=[];var A=n._subplots=Iee(),w=n._splomAxes={x:{},y:{}},k=n._splomSubplots={};n._splomGridDflt={},n._scatterStackOpts={},n._firstScatter={},n._alignmentOpts={},n._colorAxes={},n._requestRangeslider={},n._traceUids=Ree(o,l),n._globalTransforms=(e._context||{}).globalTransforms,We.supplyDataDefaults(l,s,i,n);var L=Object.keys(w.x),S=Object.keys(w.y);if(L.length>1&&S.length>1){for(jt.getComponentMethod("grid","sizeDefaults")(i,n),d=0;d15&&S.length>15&&n.shapes.length===0&&n.images.length===0,We.linkSubplots(s,n,o,a),We.cleanPlot(s,n,o,a);var N=!!(a._has&&a._has("gl2d")),j=!!(n._has&&n._has("gl2d")),G=!!(a._has&&a._has("cartesian")),V=!!(n._has&&n._has("cartesian")),W=G||N,Y=V||j;W&&!Y?a._bgLayer.remove():Y&&!W&&(n._shouldCreateBgLayer=!0),a._zoomlayer&&!e._dragging&&See({_fullLayout:a}),zee(s,n),Ig(n,a),jt.getComponentMethod("colorscale","crossTraceDefaults")(s,n),n._preGUI||(n._preGUI={}),n._tracePreGUI||(n._tracePreGUI={});var X=n._tracePreGUI,$={},ae;for(ae in X)$[ae]="old";for(d=0;d0){var c=1-2*i;o=Math.round(c*o),s=Math.round(c*s)}}var d=We.layoutAttributes.width.min,h=We.layoutAttributes.height.min;o1,g=!r.height&&Math.abs(a.height-s)>1;(g||p)&&(p&&(a.width=o),g&&(a.height=s)),t._initialAutoSize||(t._initialAutoSize={width:o,height:s}),We.sanitizeMargins(a)};We.supplyLayoutModuleDefaults=function(e,t,r,a){var n=jt.componentsRegistry,i=t._basePlotModules,o,s,l,u=jt.subplotsRegistry.cartesian;for(o in n)l=n[o],l.includeBasePlot&&l.includeBasePlot(e,t);i.length||i.push(u),t._has("cartesian")&&(jt.getComponentMethod("grid","contentDefaults")(e,t),u.finalizeSubplots(e,t));for(var c in t._subplots)t._subplots[c].sort(tt.subplotSort);for(s=0;s1&&(r.l/=g,r.r/=g)}if(c){var m=(r.t+r.b)/c;m>1&&(r.t/=m,r.b/=m)}var b=r.xl!==void 0?r.xl:r.x,_=r.xr!==void 0?r.xr:r.x,x=r.yt!==void 0?r.yt:r.y,A=r.yb!==void 0?r.yb:r.y;d[t]={l:{val:b,size:r.l+p},r:{val:_,size:r.r+p},b:{val:A,size:r.b+p},t:{val:x,size:r.t+p}},h[t]=1}if(!a._replotting)return We.doAutoMargin(e)}};We.doAutoMargin=function(e){var t=e._fullLayout,r=t.width,a=t.height;t._size||(t._size={}),VL(t);var n=t._size,i=t.margin,o=tt.extendFlat({},n),s=i.l,l=i.r,u=i.t,c=i.b,d=t._pushmargin,h=t._pushmarginIds;if(t.margin.autoexpand!==!1){for(var p in d)h[p]||delete d[p];d.base={l:{val:0,size:s},r:{val:1,size:l},t:{val:1,size:u},b:{val:0,size:c}};for(var g in d){var m=d[g].l||{},b=d[g].b||{},_=m.val,x=m.size,A=b.val,w=b.size;for(var k in d){if(Kd(x)&&d[k].r){var L=d[k].r.val,S=d[k].r.size;if(L>_){var q=(x*L+(S-r)*_)/(L-_),P=(S*(1-_)+(x-r)*(1-L))/(L-_);q+P>s+l&&(s=q,l=P)}}if(Kd(w)&&d[k].t){var I=d[k].t.val,F=d[k].t.size;if(I>A){var N=(w*I+(F-a)*A)/(I-A),j=(F*(1-A)+(w-a)*(1-I))/(I-A);N+j>c+u&&(c=N,u=j)}}}}}var G=tt.constrain(r-i.l-i.r,YL,XL),V=tt.constrain(a-i.t-i.b,ZL,QL),W=Math.max(0,r-G),Y=Math.max(0,a-V);if(W){var X=(s+l)/W;X>1&&(s/=X,l/=X)}if(Y){var $=(c+u)/Y;$>1&&(c/=$,u/=$)}if(n.l=Math.round(s),n.r=Math.round(l),n.t=Math.round(u),n.b=Math.round(c),n.p=Math.round(i.pad),n.w=Math.round(r)-n.l-n.r,n.h=Math.round(a)-n.t-n.b,!t._replotting&&We.didMarginChange(o,n)){"_redrawFromAutoMarginCount"in t?t._redrawFromAutoMarginCount++:t._redrawFromAutoMarginCount=1;var ae=3*(1+Object.keys(h).length);if(t._redrawFromAutoMarginCount1)return!0}return!1};We.graphJson=function(e,t,r,a,n,i){(n&&t&&!e._fullData||n&&!t&&!e._fullLayout)&&We.supplyDefaults(e);var o=n?e._fullData:e.data,s=n?e._fullLayout:e.layout,l=(e._transitionData||{})._frames;function u(h,p){if(typeof h=="function")return p?"_function_":null;if(tt.isPlainObject(h)){var g={},m;return Object.keys(h).sort().forEach(function(b){if(["_","["].indexOf(b.charAt(0))===-1){if(typeof h[b]=="function"){p&&(g[b]="_function");return}if(r==="keepdata"){if(b.substr(b.length-3)==="src")return}else if(r==="keepstream"){if(m=h[b+"src"],typeof m=="string"&&m.indexOf(":")>0&&!tt.isPlainObject(h.stream))return}else if(r!=="keepall"&&(m=h[b+"src"],typeof m=="string"&&m.indexOf(":")>0))return;g[b]=u(h[b],p)}}),g}return Array.isArray(h)?h.map(function(b){return u(b,p)}):tt.isTypedArray(h)?tt.simpleMap(h,tt.identity):tt.isJSDate(h)?tt.ms2DateTimeLocal(+h):h}var c={data:(o||[]).map(function(h){var p=u(h);return t&&delete p.fit,p})};if(!t&&(c.layout=u(s),n)){var d=s._size;c.layout.computed={margin:{b:d.b,l:d.l,r:d.r,t:d.t}}}return l&&(c.frames=u(l)),i&&(c.config=u(e._context,!0)),a==="object"?c:JSON.stringify(c)};We.modifyFrames=function(e,t){var r,a,n,i=e._transitionData._frames,o=e._transitionData._frameHash;for(r=0;r0&&(e._transitioningWithDuration=!0),e._transitionData._interruptCallbacks.push(function(){a=!0}),r.redraw&&e._transitionData._interruptCallbacks.push(function(){return jt.call("redraw",e)}),e._transitionData._interruptCallbacks.push(function(){e.emit("plotly_transitioninterrupted",[])});var h=0,p=0;function g(){return h++,function(){p++,!a&&p===h&&s(d)}}r.runFn(g),setTimeout(g())})}function s(d){if(!!e._transitionData)return i(e._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(r.redraw)return jt.call("redraw",e)}).then(function(){e._transitioning=!1,e._transitioningWithDuration=!1,e.emit("plotly_transitioned",[])}).then(d)}function l(){if(!!e._transitionData)return e._transitioning=!1,n(e._transitionData._interruptCallbacks)}var u=[We.previousPromises,l,r.prepareFn,We.rehover,We.reselect,o],c=tt.syncOrAsync(u,e);return(!c||!c.then)&&(c=Promise.resolve()),c.then(function(){return e})}We.doCalcdata=function(e,t){var r=Xa.list(e),a=e._fullData,n=e._fullLayout,i,o,s,l,u=new Array(a.length),c=(e.calcdata||[]).slice();for(e.calcdata=u,n._numBoxes=0,n._numViolins=0,n._violinScaleGroupStats={},e._hmpixcount=0,e._hmlumcount=0,n._piecolormap={},n._sunburstcolormap={},n._treemapcolormap={},n._iciclecolormap={},n._funnelareacolormap={},s=0;s=0;l--)if(k[l].enabled){i._indexToPoints=k[l]._indexToPoints;break}o&&o.calc&&(w=o.calc(e,i))}(!Array.isArray(w)||!w[0])&&(w=[{x:UL,y:UL}]),w[0].t||(w[0].t={}),w[0].trace=i,u[x]=w}}for(JL(r,a,n),s=0;s{"use strict";Go.xmlns="http://www.w3.org/2000/xmlns/";Go.svg="http://www.w3.org/2000/svg";Go.xlink="http://www.w3.org/1999/xlink";Go.svgAttrs={xmlns:Go.svg,"xmlns:xlink":Go.xlink}});var Ma=E(($be,rq)=>{"use strict";rq.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:"right",right:"left",top:"bottom",bottom:"top"}}});var Oa=E(un=>{"use strict";var Cr=Et(),wi=Pe(),Bee=wi.strTranslate,Eg=Wo(),Uee=Ma().LINE_SPACING,Gee=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;un.convertToTspans=function(e,t,r){var a=e.text(),n=!e.attr("data-notex")&&t&&t._context.typesetMath&&typeof MathJax!="undefined"&&a.match(Gee),i=Cr.select(e.node().parentNode);if(i.empty())return;var o=e.attr("class")?e.attr("class").split(" ")[0]:"text";o+="-math",i.selectAll("svg."+o).remove(),i.selectAll("g."+o+"-group").remove(),e.style("display",null).attr({"data-unformatted":a,"data-math":"N"});function s(){i.empty()||(o=e.attr("class")+"-math",i.select("svg."+o).remove()),e.text("").style("white-space","pre");var l=ate(e.node(),a);l&&e.style("pointer-events","all"),un.positionText(e),r&&r.call(e)}return n?(t&&t._promises||[]).push(new Promise(function(l){e.style("display","none");var u=parseInt(e.node().style.fontSize,10),c={fontSize:u};Zee(n[2],c,function(d,h,p){i.selectAll("svg."+o).remove(),i.selectAll("g."+o+"-group").remove();var g=d&&d.select("svg");if(!g||!g.node()){s(),l();return}var m=i.append("g").classed(o+"-group",!0).attr({"pointer-events":"none","data-unformatted":a,"data-math":"Y"});m.node().appendChild(g.node()),h&&h.node()&&g.node().insertBefore(h.node().cloneNode(!0),g.node().firstChild);var b=p.width,_=p.height;g.attr({class:o,height:_,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var x=e.node().style.fill||"black",A=g.select("g");A.attr({fill:x,stroke:x});var w=A.node().getBoundingClientRect(),k=w.width,L=w.height;(k>b||L>_)&&(g.style("overflow","hidden"),w=g.node().getBoundingClientRect(),k=w.width,L=w.height);var S=+e.attr("x"),q=+e.attr("y"),P=u||e.node().getBoundingClientRect().height,I=-P/4;if(o[0]==="y")m.attr({transform:"rotate("+[-90,S,q]+")"+Bee(-k/2,I-L/2)});else if(o[0]==="l")q=I-L/2;else if(o[0]==="a"&&o.indexOf("atitle")!==0)S=0,q=I;else{var F=e.attr("text-anchor");S=S-k*(F==="middle"?.5:F==="end"?1:0),q=q+I-L/2}g.attr({x:S,y:q}),r&&r.call(e,m),l(m)})})):s(),e};var Wee=/(<|<|<)/g,Vee=/(>|>|>)/g;function Yee(e){return e.replace(Wee,"\\lt ").replace(Vee,"\\gt ")}var aq=[["$","$"],["\\(","\\)"]];function Zee(e,t,r){var a=parseInt((MathJax.version||"").split(".")[0]);if(a!==2&&a!==3){wi.warn("No MathJax version:",MathJax.version);return}var n,i,o,s,l=function(){return i=wi.extendDeepAll({},MathJax.Hub.config),o=MathJax.Hub.processSectionDelay,MathJax.Hub.processSectionDelay!==void 0&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:"none",tex2jax:{inlineMath:aq},displayAlign:"left"})},u=function(){i=wi.extendDeepAll({},MathJax.config),MathJax.config.tex||(MathJax.config.tex={}),MathJax.config.tex.inlineMath=aq},c=function(){if(n=MathJax.Hub.config.menuSettings.renderer,n!=="SVG")return MathJax.Hub.setRenderer("SVG")},d=function(){n=MathJax.config.startup.output,n!=="svg"&&(MathJax.config.startup.output="svg")},h=function(){var x="math-output-"+wi.randstr({},64);s=Cr.select("body").append("div").attr({id:x}).style({visibility:"hidden",position:"absolute","font-size":t.fontSize+"px"}).text(Yee(e));var A=s.node();return a===2?MathJax.Hub.Typeset(A):MathJax.typeset([A])},p=function(){var x=s.select(a===2?".MathJax_SVG":".MathJax"),A=!x.empty()&&s.select("svg").node();if(!A)wi.log("There was an error in the tex syntax.",e),r();else{var w=A.getBoundingClientRect(),k;a===2?k=Cr.select("body").select("#MathJax_SVG_glyphs"):k=x.select("defs"),r(x,k,w)}s.remove()},g=function(){if(n!=="SVG")return MathJax.Hub.setRenderer(n)},m=function(){n!=="svg"&&(MathJax.config.startup.output=n)},b=function(){return o!==void 0&&(MathJax.Hub.processSectionDelay=o),MathJax.Hub.Config(i)},_=function(){MathJax.config=i};a===2?MathJax.Hub.Queue(l,c,h,p,g,b):a===3&&(u(),d(),MathJax.startup.defaultReady(),MathJax.startup.promise.then(function(){h(),p(),m(),_()}))}var nq={sup:"font-size:70%",sub:"font-size:70%",b:"font-weight:bold",i:"font-style:italic",a:"cursor:pointer",span:"",em:"font-style:italic;font-weight:bold"},Xee={sub:"0.3em",sup:"-0.6em"},Qee={sub:"-0.21em",sup:"0.42em"},iq="\u200B",oq=["http:","https:","mailto:","",void 0,":"],sq=un.NEWLINES=/(\r\n?|\n)/g,zg=/(<[^<>]*>)/,Ng=/<(\/?)([^ >]*)(\s+(.*))?>/i,$ee=//i;un.BR_TAG_ALL=//gi;var lq=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,uq=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,fq=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,Kee=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function Vo(e,t){if(!e)return null;var r=e.match(t),a=r&&(r[3]||r[4]);return a&&rh(a)}var Jee=/(^|;)\s*color:/;un.plainText=function(e,t){t=t||{};for(var r=t.len!==void 0&&t.len!==-1?t.len:1/0,a=t.allowedTags!==void 0?t.allowedTags:["br"],n="...",i=n.length,o=e.split(zg),s=[],l="",u=0,c=0;ci?s.push(d.substr(0,m-i)+n):s.push(d.substr(0,m));break}l=""}}return s.join("")};var ete={mu:"\u03BC",amp:"&",lt:"<",gt:">",nbsp:"\xA0",times:"\xD7",plusmn:"\xB1",deg:"\xB0"},tte=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function rh(e){return e.replace(tte,function(t,r){var a;return r.charAt(0)==="#"?a=rte(r.charAt(1)==="x"?parseInt(r.substr(2),16):parseInt(r.substr(1),10)):a=ete[r],a||t})}un.convertEntities=rh;function rte(e){if(!(e>1114111)){var t=String.fromCodePoint;if(t)return t(e);var r=String.fromCharCode;return e<=65535?r(e):r((e>>10)+55232,e%1024+56320)}}function ate(e,t){t=t.replace(sq," ");var r=!1,a=[],n,i=-1;function o(){i++;var L=document.createElementNS(Eg.svg,"tspan");Cr.select(L).attr({class:"line",dy:i*Uee+"em"}),e.appendChild(L),n=L;var S=a;if(a=[{node:L}],S.length>1)for(var q=1;q.",t);return}var S=a.pop();L!==S.type&&wi.log("Start tag <"+S.type+"> doesnt match end tag <"+L+">. Pretending it did match.",t),n=a[a.length-1].node}var c=$ee.test(t);c?o():(n=e,a=[{node:e}]);for(var d=t.split(zg),h=0;h{"use strict";var nte=Et(),ah=Ln(),Qu=zt(),nh=Pe(),hq=qt(),ite=Ro().isValid;function ote(e,t,r){var a=t?nh.nestedProperty(e,t).get()||{}:e,n=a[r||"color"],i=!1;if(nh.isArrayOrTypedArray(n)){for(var o=0;o=0;a--,n++){var i=e[a];r[n]=[1-i[0],i[1]]}return r}function yq(e,t){t=t||{};for(var r=e.domain,a=e.range,n=a.length,i=new Array(n),o=0;o{"use strict";_q.exports={FORMAT_LINK:"https://github.com/d3/d3-format/tree/v1.4.5#d3-format",DATE_FORMAT_LINK:"https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format"}});var ih=E((t1e,Aq)=>{"use strict";var wq=jg(),lte=wq.FORMAT_LINK,ute=wq.DATE_FORMAT_LINK;function fte(e,t){return{valType:"string",dflt:"",editType:"none",description:(t?Og:Tq)("hover text",e)+["By default the values are formatted using "+(t?"generic number format":"`"+e+"axis.hoverformat`")+"."].join(" ")}}function Og(e,t){return["Sets the "+e+" formatting rule"+(t?"for `"+t+"` ":""),"using d3 formatting mini-languages","which are very similar to those in Python. For numbers, see: "+lte+"."].join(" ")}function Tq(e,t){return Og(e,t)+[" And for dates see: "+ute+".","We add two items to d3's date formatter:","*%h* for half of the year as a decimal number as well as","*%{n}f* for fractional seconds","with n digits. For example, *2016-10-13 09:15:23.456* with tickformat","*%H~%M~%S.%2f* would display *09~15~23.46*"].join(" ")}Aq.exports={axisHoverFormat:fte,descriptionOnlyNumbers:Og,descriptionWithDates:Tq}});var ti=E((r1e,Bq)=>{"use strict";var Hg=ka(),fl=vi(),kq=pi().dash,Mq=Jr().extendFlat,Sq=tr().templatedArray,Cq=ih().descriptionWithDates,cte=_r().ONEDAY,ei=ha(),Bg=ei.HOUR_PATTERN,Ug=ei.WEEKDAY_PATTERN,Lq={valType:"enumerated",values:["auto","linear","array"],editType:"ticks",impliedEdits:{tick0:void 0,dtick:void 0},description:["Sets the tick mode for this axis.","If *auto*, the number of ticks is set via `nticks`.","If *linear*, the placement of the ticks is determined by","a starting position `tick0` and a tick step `dtick`","(*linear* is the default value if `tick0` and `dtick` are provided).","If *array*, the placement of the ticks is set via `tickvals`","and the tick text is `ticktext`.","(*array* is the default value if `tickvals` is provided)."].join(" ")};function qq(e){return{valType:"integer",min:0,dflt:e?5:0,editType:"ticks",description:["Specifies the maximum number of ticks for the particular axis.","The actual number of ticks will be chosen automatically to be","less than or equal to `nticks`.","Has an effect only if `tickmode` is set to *auto*."].join(" ")}}var Dq={valType:"any",editType:"ticks",impliedEdits:{tickmode:"linear"},description:["Sets the placement of the first tick on this axis.","Use with `dtick`.","If the axis `type` is *log*, then you must take the log of your starting tick","(e.g. to set the starting tick to 100, set the `tick0` to 2)","except when `dtick`=*L* (see `dtick` for more info).","If the axis `type` is *date*, it should be a date string, like date data.","If the axis `type` is *category*, it should be a number, using the scale where","each category is assigned a serial number from zero in the order it appears."].join(" ")},Pq={valType:"any",editType:"ticks",impliedEdits:{tickmode:"linear"},description:["Sets the step in-between ticks on this axis. Use with `tick0`.","Must be a positive number, or special strings available to *log* and *date* axes.","If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n","is the tick number. For example,","to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1.","To set tick marks at 1, 100, 10000, ... set dtick to 2.","To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433.","*log* has several special values; *L*, where `f` is a positive number,","gives ticks linearly spaced in value (but not position).","For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc.","To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5).","`tick0` is ignored for *D1* and *D2*.","If the axis `type` is *date*, then you must convert the time to milliseconds.","For example, to set the interval between ticks to one day,","set `dtick` to 86400000.0.","*date* also has special values *M* gives ticks spaced by a number of months.","`n` must be a positive integer.","To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*.","To set ticks every 4 years, set `dtick` to *M48*"].join(" ")},Rq={valType:"data_array",editType:"ticks",description:["Sets the values at which ticks on this axis appear.","Only has an effect if `tickmode` is set to *array*.","Used with `ticktext`."].join(" ")},Iq={valType:"enumerated",values:["outside","inside",""],editType:"ticks",description:["Determines whether ticks are drawn or not.","If **, this axis' ticks are not drawn.","If *outside* (*inside*), this axis' are drawn outside (inside)","the axis lines."].join(" ")};function Eq(e){var t={valType:"number",min:0,editType:"ticks",description:"Sets the tick length (in px)."};return e||(t.dflt=5),t}function zq(e){var t={valType:"number",min:0,editType:"ticks",description:"Sets the tick width (in px)."};return e||(t.dflt=1),t}var Nq={valType:"color",dflt:fl.defaultLine,editType:"ticks",description:"Sets the tick color."},Fq={valType:"color",dflt:fl.lightLine,editType:"ticks",description:"Sets the color of the grid lines."};function jq(e){var t={valType:"number",min:0,editType:"ticks",description:"Sets the width (in px) of the grid lines."};return e||(t.dflt=1),t}var Oq=Mq({},kq,{editType:"ticks"}),Hq={valType:"boolean",editType:"ticks",description:["Determines whether or not grid lines are drawn.","If *true*, the grid lines are drawn at every tick mark."].join(" ")};Bq.exports={visible:{valType:"boolean",editType:"plot",description:["A single toggle to hide the axis while preserving interaction like dragging.","Default is true when a cheater plot is present on the axis, otherwise","false"].join(" ")},color:{valType:"color",dflt:fl.defaultLine,editType:"ticks",description:["Sets default for all colors associated with this axis","all at once: line, font, tick, and grid colors.","Grid color is lightened by blending this with the plot background","Individual pieces can override this."].join(" ")},title:{text:{valType:"string",editType:"ticks",description:["Sets the title of this axis.","Note that before the existence of `title.text`, the title's","contents used to be defined as the `title` attribute itself.","This behavior has been deprecated."].join(" ")},font:Hg({editType:"ticks",description:["Sets this axis' title font.","Note that the title's font used to be customized","by the now deprecated `titlefont` attribute."].join(" ")}),standoff:{valType:"number",min:0,editType:"ticks",description:["Sets the standoff distance (in px) between the axis labels and the title text","The default value is a function of the axis tick labels, the title `font.size`","and the axis `linewidth`.","Note that the axis title position is always constrained within the margins,","so the actual standoff distance is always less than the set or default value.","By setting `standoff` and turning on `automargin`, plotly.js will push the","margins to fit the axis title at given standoff distance."].join(" ")},editType:"ticks"},type:{valType:"enumerated",values:["-","linear","log","date","category","multicategory"],dflt:"-",editType:"calc",_noTemplating:!0,description:["Sets the axis type.","By default, plotly attempts to determined the axis type","by looking into the data of the traces that referenced","the axis in question."].join(" ")},autotypenumbers:{valType:"enumerated",values:["convert types","strict"],dflt:"convert types",editType:"calc",description:["Using *strict* a numeric string in trace data is not converted to a number.","Using *convert types* a numeric string in trace data may be","treated as a number during automatic axis `type` detection.","Defaults to layout.autotypenumbers."].join(" ")},autorange:{valType:"enumerated",values:[!0,!1,"reversed"],dflt:!0,editType:"axrange",impliedEdits:{"range[0]":void 0,"range[1]":void 0},description:["Determines whether or not the range of this axis is","computed in relation to the input data.","See `rangemode` for more info.","If `range` is provided, then `autorange` is set to *false*."].join(" ")},rangemode:{valType:"enumerated",values:["normal","tozero","nonnegative"],dflt:"normal",editType:"plot",description:["If *normal*, the range is computed in relation to the extrema","of the input data.","If *tozero*`, the range extends to 0,","regardless of the input data","If *nonnegative*, the range is non-negative,","regardless of the input data.","Applies only to linear axes."].join(" ")},range:{valType:"info_array",items:[{valType:"any",editType:"axrange",impliedEdits:{"^autorange":!1},anim:!0},{valType:"any",editType:"axrange",impliedEdits:{"^autorange":!1},anim:!0}],editType:"axrange",impliedEdits:{autorange:!1},anim:!0,description:["Sets the range of this axis.","If the axis `type` is *log*, then you must take the log of your","desired range (e.g. to set the range from 1 to 100,","set the range from 0 to 2).","If the axis `type` is *date*, it should be date strings,","like date data, though Date objects and unix milliseconds","will be accepted and converted to strings.","If the axis `type` is *category*, it should be numbers,","using the scale where each category is assigned a serial","number from zero in the order it appears."].join(" ")},fixedrange:{valType:"boolean",dflt:!1,editType:"calc",description:["Determines whether or not this axis is zoom-able.","If true, then zoom is disabled."].join(" ")},scaleanchor:{valType:"enumerated",values:[ei.idRegex.x.toString(),ei.idRegex.y.toString()],editType:"plot",description:["If set to another axis id (e.g. `x2`, `y`), the range of this axis","changes together with the range of the corresponding axis","such that the scale of pixels per unit is in a constant ratio.","Both axes are still zoomable, but when you zoom one, the other will","zoom the same amount, keeping a fixed midpoint.","`constrain` and `constraintoward` determine how we enforce the constraint.","You can chain these, ie `yaxis: {scaleanchor: *x*}, xaxis2: {scaleanchor: *y*}`","but you can only link axes of the same `type`.","The linked axis can have the opposite letter (to constrain the aspect ratio)","or the same letter (to match scales across subplots).","Loops (`yaxis: {scaleanchor: *x*}, xaxis: {scaleanchor: *y*}` or longer) are redundant","and the last constraint encountered will be ignored to avoid possible","inconsistent constraints via `scaleratio`.","Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint","is currently forbidden."].join(" ")},scaleratio:{valType:"number",min:0,dflt:1,editType:"plot",description:["If this axis is linked to another by `scaleanchor`, this determines the pixel","to unit scale ratio. For example, if this value is 10, then every unit on","this axis spans 10 times the number of pixels as a unit on the linked axis.","Use this for example to create an elevation profile where the vertical scale","is exaggerated a fixed amount with respect to the horizontal."].join(" ")},constrain:{valType:"enumerated",values:["range","domain"],editType:"plot",description:["If this axis needs to be compressed (either due to its own `scaleanchor` and","`scaleratio` or those of the other axis), determines how that happens:","by increasing the *range*, or by decreasing the *domain*.","Default is *domain* for axes containing image traces, *range* otherwise."].join(" ")},constraintoward:{valType:"enumerated",values:["left","center","right","top","middle","bottom"],editType:"plot",description:["If this axis needs to be compressed (either due to its own `scaleanchor` and","`scaleratio` or those of the other axis), determines which direction we push","the originally specified plot area. Options are *left*, *center* (default),","and *right* for x axes, and *top*, *middle* (default), and *bottom* for y axes."].join(" ")},matches:{valType:"enumerated",values:[ei.idRegex.x.toString(),ei.idRegex.y.toString()],editType:"calc",description:["If set to another axis id (e.g. `x2`, `y`), the range of this axis","will match the range of the corresponding axis in data-coordinates space.","Moreover, matching axes share auto-range values, category lists and","histogram auto-bins.","Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint","is currently forbidden.","Moreover, note that matching axes must have the same `type`."].join(" ")},rangebreaks:Sq("rangebreak",{enabled:{valType:"boolean",dflt:!0,editType:"calc",description:["Determines whether this axis rangebreak is enabled or disabled.","Please note that `rangebreaks` only work for *date* axis type."].join(" ")},bounds:{valType:"info_array",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}],editType:"calc",description:["Sets the lower and upper bounds of this axis rangebreak.","Can be used with `pattern`."].join(" ")},pattern:{valType:"enumerated",values:[Ug,Bg,""],editType:"calc",description:["Determines a pattern on the time line that generates breaks.","If *"+Ug+"* - days of the week in English e.g. 'Sunday' or `sun`","(matching is case-insensitive and considers only the first three characters),","as well as Sunday-based integers between 0 and 6.","If *"+Bg+"* - hour (24-hour clock) as decimal numbers between 0 and 24.","for more info.","Examples:","- { pattern: '"+Ug+"', bounds: [6, 1] }"," or simply { bounds: ['sat', 'mon'] }"," breaks from Saturday to Monday (i.e. skips the weekends).","- { pattern: '"+Bg+"', bounds: [17, 8] }"," breaks from 5pm to 8am (i.e. skips non-work hours)."].join(" ")},values:{valType:"info_array",freeLength:!0,editType:"calc",items:{valType:"any",editType:"calc"},description:["Sets the coordinate values corresponding to the rangebreaks.","An alternative to `bounds`.","Use `dvalue` to set the size of the values along the axis."].join(" ")},dvalue:{valType:"number",editType:"calc",min:0,dflt:cte,description:["Sets the size of each `values` item.","The default is one day in milliseconds."].join(" ")},editType:"calc"}),tickmode:Lq,nticks:qq(),tick0:Dq,dtick:Pq,ticklabelstep:{valType:"integer",min:1,dflt:1,editType:"ticks",description:["Sets the spacing between tick labels as compared to the spacing between ticks.","A value of 1 (default) means each tick gets a label.","A value of 2 means shows every 2nd label.","A larger value n means only every nth tick is labeled.","`tick0` determines which labels are shown.","Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*."].join(" ")},tickvals:Rq,ticktext:{valType:"data_array",editType:"ticks",description:["Sets the text displayed at the ticks position via `tickvals`.","Only has an effect if `tickmode` is set to *array*.","Used with `tickvals`."].join(" ")},ticks:Iq,tickson:{valType:"enumerated",values:["labels","boundaries"],dflt:"labels",editType:"ticks",description:["Determines where ticks and grid lines are drawn with respect to their","corresponding tick labels.","Only has an effect for axes of `type` *category* or *multicategory*.","When set to *boundaries*, ticks and grid lines are drawn half a category","to the left/bottom of labels."].join(" ")},ticklabelmode:{valType:"enumerated",values:["instant","period"],dflt:"instant",editType:"ticks",description:["Determines where tick labels are drawn with respect to their","corresponding ticks and grid lines.","Only has an effect for axes of `type` *date*","When set to *period*, tick labels are drawn in the middle of the period","between ticks."].join(" ")},ticklabelposition:{valType:"enumerated",values:["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"],dflt:"outside",editType:"calc",description:["Determines where tick labels are drawn with respect to the axis","Please note that","top or bottom has no effect on x axes or when `ticklabelmode` is set to *period*.","Similarly","left or right has no effect on y axes or when `ticklabelmode` is set to *period*.","Has no effect on *multicategory* axes or when `tickson` is set to *boundaries*.","When used on axes linked by `matches` or `scaleanchor`,","no extra padding for inside labels would be added by autorange,","so that the scales could match."].join(" ")},ticklabeloverflow:{valType:"enumerated",values:["allow","hide past div","hide past domain"],editType:"calc",description:["Determines how we handle tick labels that would overflow either the graph div or the domain of the axis.","The default value for inside tick labels is *hide past domain*.","Otherwise on *category* and *multicategory* axes the default is *allow*.","In other cases the default is *hide past div*."].join(" ")},mirror:{valType:"enumerated",values:[!0,"ticks",!1,"all","allticks"],dflt:!1,editType:"ticks+layoutstyle",description:["Determines if the axis lines or/and ticks are mirrored to","the opposite side of the plotting area.","If *true*, the axis lines are mirrored.","If *ticks*, the axis lines and ticks are mirrored.","If *false*, mirroring is disable.","If *all*, axis lines are mirrored on all shared-axes subplots.","If *allticks*, axis lines and ticks are mirrored","on all shared-axes subplots."].join(" ")},ticklen:Eq(),tickwidth:zq(),tickcolor:Nq,showticklabels:{valType:"boolean",dflt:!0,editType:"ticks",description:"Determines whether or not the tick labels are drawn."},automargin:{valType:"flaglist",flags:["height","width","left","right","top","bottom"],extras:[!0,!1],dflt:!1,editType:"ticks",description:["Determines whether long tick labels automatically grow the figure","margins."].join(" ")},showspikes:{valType:"boolean",dflt:!1,editType:"modebar",description:["Determines whether or not spikes (aka droplines) are drawn for this axis.","Note: This only takes affect when hovermode = closest"].join(" ")},spikecolor:{valType:"color",dflt:null,editType:"none",description:"Sets the spike color. If undefined, will use the series color"},spikethickness:{valType:"number",dflt:3,editType:"none",description:"Sets the width (in px) of the zero line."},spikedash:Mq({},kq,{dflt:"dash",editType:"none"}),spikemode:{valType:"flaglist",flags:["toaxis","across","marker"],dflt:"toaxis",editType:"none",description:["Determines the drawing mode for the spike line","If *toaxis*, the line is drawn from the data point to the axis the ","series is plotted on.","If *across*, the line is drawn across the entire plot area, and","supercedes *toaxis*.","If *marker*, then a marker dot is drawn on the axis the series is","plotted on"].join(" ")},spikesnap:{valType:"enumerated",values:["data","cursor","hovered data"],dflt:"hovered data",editType:"none",description:"Determines whether spikelines are stuck to the cursor or to the closest datapoints."},tickfont:Hg({editType:"ticks",description:"Sets the tick font."}),tickangle:{valType:"angle",dflt:"auto",editType:"ticks",description:["Sets the angle of the tick labels with respect to the horizontal.","For example, a `tickangle` of -90 draws the tick labels","vertically."].join(" ")},tickprefix:{valType:"string",dflt:"",editType:"ticks",description:"Sets a tick label prefix."},showtickprefix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks",description:["If *all*, all tick labels are displayed with a prefix.","If *first*, only the first tick is displayed with a prefix.","If *last*, only the last tick is displayed with a suffix.","If *none*, tick prefixes are hidden."].join(" ")},ticksuffix:{valType:"string",dflt:"",editType:"ticks",description:"Sets a tick label suffix."},showticksuffix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks",description:"Same as `showtickprefix` but for tick suffixes."},showexponent:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks",description:["If *all*, all exponents are shown besides their significands.","If *first*, only the exponent of the first tick is shown.","If *last*, only the exponent of the last tick is shown.","If *none*, no exponents appear."].join(" ")},exponentformat:{valType:"enumerated",values:["none","e","E","power","SI","B"],dflt:"B",editType:"ticks",description:["Determines a formatting rule for the tick exponents.","For example, consider the number 1,000,000,000.","If *none*, it appears as 1,000,000,000.","If *e*, 1e+9.","If *E*, 1E+9.","If *power*, 1x10^9 (with 9 in a super script).","If *SI*, 1G.","If *B*, 1B."].join(" ")},minexponent:{valType:"number",dflt:3,min:0,editType:"ticks",description:["Hide SI prefix for 10^n if |n| is below this number.","This only has an effect when `tickformat` is *SI* or *B*."].join(" ")},separatethousands:{valType:"boolean",dflt:!1,editType:"ticks",description:['If "true", even 4-digit integers are separated'].join(" ")},tickformat:{valType:"string",dflt:"",editType:"ticks",description:Cq("tick label")},tickformatstops:Sq("tickformatstop",{enabled:{valType:"boolean",dflt:!0,editType:"ticks",description:["Determines whether or not this stop is used.","If `false`, this stop is ignored even within its `dtickrange`."].join(" ")},dtickrange:{valType:"info_array",items:[{valType:"any",editType:"ticks"},{valType:"any",editType:"ticks"}],editType:"ticks",description:["range [*min*, *max*], where *min*, *max* - dtick values","which describe some zoom level, it is possible to omit *min*","or *max* value by passing *null*"].join(" ")},value:{valType:"string",dflt:"",editType:"ticks",description:["string - dtickformat for described zoom level, the same as *tickformat*"].join(" ")},editType:"ticks"}),hoverformat:{valType:"string",dflt:"",editType:"none",description:Cq("hover text")},showline:{valType:"boolean",dflt:!1,editType:"ticks+layoutstyle",description:["Determines whether or not a line bounding this axis is drawn."].join(" ")},linecolor:{valType:"color",dflt:fl.defaultLine,editType:"layoutstyle",description:"Sets the axis line color."},linewidth:{valType:"number",min:0,dflt:1,editType:"ticks+layoutstyle",description:"Sets the width (in px) of the axis line."},showgrid:Hq,gridcolor:Fq,gridwidth:jq(),griddash:Oq,zeroline:{valType:"boolean",editType:"ticks",description:["Determines whether or not a line is drawn at along the 0 value","of this axis.","If *true*, the zero line is drawn on top of the grid lines."].join(" ")},zerolinecolor:{valType:"color",dflt:fl.defaultLine,editType:"ticks",description:"Sets the line color of the zero line."},zerolinewidth:{valType:"number",dflt:1,editType:"ticks",description:"Sets the width (in px) of the zero line."},showdividers:{valType:"boolean",dflt:!0,editType:"ticks",description:["Determines whether or not a dividers are drawn","between the category levels of this axis.","Only has an effect on *multicategory* axes."].join(" ")},dividercolor:{valType:"color",dflt:fl.defaultLine,editType:"ticks",description:["Sets the color of the dividers","Only has an effect on *multicategory* axes."].join(" ")},dividerwidth:{valType:"number",dflt:1,editType:"ticks",description:["Sets the width (in px) of the dividers","Only has an effect on *multicategory* axes."].join(" ")},anchor:{valType:"enumerated",values:["free",ei.idRegex.x.toString(),ei.idRegex.y.toString()],editType:"plot",description:["If set to an opposite-letter axis id (e.g. `x2`, `y`), this axis is bound to","the corresponding opposite-letter axis.","If set to *free*, this axis' position is determined by `position`."].join(" ")},side:{valType:"enumerated",values:["top","bottom","left","right"],editType:"plot",description:["Determines whether a x (y) axis is positioned","at the *bottom* (*left*) or *top* (*right*)","of the plotting area."].join(" ")},overlaying:{valType:"enumerated",values:["free",ei.idRegex.x.toString(),ei.idRegex.y.toString()],editType:"plot",description:["If set a same-letter axis id, this axis is overlaid on top of","the corresponding same-letter axis, with traces and axes visible for both","axes.","If *false*, this axis does not overlay any same-letter axes.","In this case, for axes with overlapping domains only the highest-numbered","axis will be visible."].join(" ")},minor:{tickmode:Lq,nticks:qq("minor"),tick0:Dq,dtick:Pq,tickvals:Rq,ticks:Iq,ticklen:Eq("minor"),tickwidth:zq("minor"),tickcolor:Nq,gridcolor:Fq,gridwidth:jq("minor"),griddash:Oq,showgrid:Hq,editType:"ticks"},layer:{valType:"enumerated",values:["above traces","below traces"],dflt:"above traces",editType:"plot",description:["Sets the layer on which this axis is displayed.","If *above traces*, this axis is displayed above all the subplot's traces","If *below traces*, this axis is displayed below all the subplot's traces,","but above the grid lines.","Useful when used together with scatter-like traces with `cliponaxis`","set to *false* to show markers and/or text nodes above this axis."].join(" ")},domain:{valType:"info_array",items:[{valType:"number",min:0,max:1,editType:"plot"},{valType:"number",min:0,max:1,editType:"plot"}],dflt:[0,1],editType:"plot",description:["Sets the domain of this axis (in plot fraction)."].join(" ")},position:{valType:"number",min:0,max:1,dflt:0,editType:"plot",description:["Sets the position of this axis in the plotting space","(in normalized coordinates).","Only has an effect if `anchor` is set to *free*."].join(" ")},categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"],dflt:"trace",editType:"calc",description:["Specifies the ordering logic for the case of categorical variables.","By default, plotly uses *trace*, which specifies the order that is present in the data supplied.","Set `categoryorder` to *category ascending* or *category descending* if order should be determined by","the alphanumerical order of the category names.","Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category","is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to","the *trace* mode. The unspecified categories will follow the categories in `categoryarray`.","Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the","numerical order of the values.","Similarly, the order can be determined by the min, max, sum, mean or median of all the values."].join(" ")},categoryarray:{valType:"data_array",editType:"calc",description:["Sets the order in which categories on this axis appear.","Only has an effect if `categoryorder` is set to *array*.","Used with `categoryorder`."].join(" ")},uirevision:{valType:"any",editType:"none",description:["Controls persistence of user-driven changes in axis `range`,","`autorange`, and `title` if in `editable: true` configuration.","Defaults to `layout.uirevision`."].join(" ")},editType:"calc",_deprecated:{autotick:{valType:"boolean",editType:"ticks",description:["Obsolete.","Set `tickmode` to *auto* for old `autotick` *true* behavior.","Set `tickmode` to *linear* for `autotick` *false*."].join(" ")},title:{valType:"string",editType:"ticks",description:["Value of `title` is no longer a simple *string* but a set of sub-attributes.","To set the axis' title, please use `title.text` now."].join(" ")},titlefont:Hg({editType:"ticks",description:["Former `titlefont` is now the sub-attribute `font` of `title`.","To customize title font properties, please use `title.font` now."].join(" ")})}}});var oh=E((a1e,Gq)=>{"use strict";var lr=ti(),Gg=ka(),Uq=Jr().extendFlat,dte=_i().overrideAll;Gq.exports=dte({orientation:{valType:"enumerated",values:["h","v"],dflt:"v",description:"Sets the orientation of the colorbar."},thicknessmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"pixels",description:["Determines whether this color bar's thickness","(i.e. the measure in the constant color direction)","is set in units of plot *fraction* or in *pixels*.","Use `thickness` to set the value."].join(" ")},thickness:{valType:"number",min:0,dflt:30,description:["Sets the thickness of the color bar","This measure excludes the size of the padding, ticks and labels."].join(" ")},lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction",description:["Determines whether this color bar's length","(i.e. the measure in the color variation direction)","is set in units of plot *fraction* or in *pixels.","Use `len` to set the value."].join(" ")},len:{valType:"number",min:0,dflt:1,description:["Sets the length of the color bar","This measure excludes the padding of both ends.","That is, the color bar length is this length minus the","padding on both ends."].join(" ")},x:{valType:"number",min:-2,max:3,description:["Sets the x position of the color bar (in plot fraction).","Defaults to 1.02 when `orientation` is *v* and","0.5 when `orientation` is *h*."].join(" ")},xanchor:{valType:"enumerated",values:["left","center","right"],description:["Sets this color bar's horizontal position anchor.","This anchor binds the `x` position to the *left*, *center*","or *right* of the color bar.","Defaults to *left* when `orientation` is *v* and","*center* when `orientation` is *h*."].join(" ")},xpad:{valType:"number",min:0,dflt:10,description:"Sets the amount of padding (in px) along the x direction."},y:{valType:"number",min:-2,max:3,description:["Sets the y position of the color bar (in plot fraction).","Defaults to 0.5 when `orientation` is *v* and","1.02 when `orientation` is *h*."].join(" ")},yanchor:{valType:"enumerated",values:["top","middle","bottom"],description:["Sets this color bar's vertical position anchor","This anchor binds the `y` position to the *top*, *middle*","or *bottom* of the color bar.","Defaults to *middle* when `orientation` is *v* and","*bottom* when `orientation` is *h*."].join(" ")},ypad:{valType:"number",min:0,dflt:10,description:"Sets the amount of padding (in px) along the y direction."},outlinecolor:lr.linecolor,outlinewidth:lr.linewidth,bordercolor:lr.linecolor,borderwidth:{valType:"number",min:0,dflt:0,description:["Sets the width (in px) or the border enclosing this color bar."].join(" ")},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",description:"Sets the color of padded area."},tickmode:lr.tickmode,nticks:lr.nticks,tick0:lr.tick0,dtick:lr.dtick,tickvals:lr.tickvals,ticktext:lr.ticktext,ticks:Uq({},lr.ticks,{dflt:""}),ticklabeloverflow:Uq({},lr.ticklabeloverflow,{description:["Determines how we handle tick labels that would overflow either the graph div or the domain of the axis.","The default value for inside tick labels is *hide past domain*.","In other cases the default is *hide past div*."].join(" ")}),ticklabelposition:{valType:"enumerated",values:["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"],dflt:"outside",description:["Determines where tick labels are drawn relative to the ticks.","Left and right options are used when `orientation` is *h*,","top and bottom when `orientation` is *v*."].join(" ")},ticklen:lr.ticklen,tickwidth:lr.tickwidth,tickcolor:lr.tickcolor,ticklabelstep:lr.ticklabelstep,showticklabels:lr.showticklabels,tickfont:Gg({description:"Sets the color bar's tick label font"}),tickangle:lr.tickangle,tickformat:lr.tickformat,tickformatstops:lr.tickformatstops,tickprefix:lr.tickprefix,showtickprefix:lr.showtickprefix,ticksuffix:lr.ticksuffix,showticksuffix:lr.showticksuffix,separatethousands:lr.separatethousands,exponentformat:lr.exponentformat,minexponent:lr.minexponent,showexponent:lr.showexponent,title:{text:{valType:"string",description:["Sets the title of the color bar.","Note that before the existence of `title.text`, the title's","contents used to be defined as the `title` attribute itself.","This behavior has been deprecated."].join(" ")},font:Gg({description:["Sets this color bar's title font.","Note that the title's font used to be set","by the now deprecated `titlefont` attribute."].join(" ")}),side:{valType:"enumerated",values:["right","top","bottom"],description:["Determines the location of color bar's title","with respect to the color bar.","Defaults to *top* when `orientation` if *v* and ","defaults to *right* when `orientation` if *h*.","Note that the title's location used to be set","by the now deprecated `titleside` attribute."].join(" ")}},_deprecated:{title:{valType:"string",description:["Deprecated in favor of color bar's `title.text`.","Note that value of color bar's `title` is no longer a simple","*string* but a set of sub-attributes."].join(" ")},titlefont:Gg({description:"Deprecated in favor of color bar's `title.font`."}),titleside:{valType:"enumerated",values:["right","top","bottom"],dflt:"top",description:"Deprecated in favor of color bar's `title.side`."}}},"colorbars","from-root")});var Ju=E((n1e,Vq)=>{"use strict";var hte=oh(),vte=Zs().counter,pte=fg(),Wq=Ro().scales,mte=pte(Wq);function Ku(e){return"`"+e+"`"}Vq.exports=function(t,r){t=t||"",r=r||{};var a=r.cLetter||"c",n="onlyIfNumerical"in r?r.onlyIfNumerical:Boolean(t),i="noScale"in r?r.noScale:t==="marker.line",o="showScaleDflt"in r?r.showScaleDflt:a==="z",s=typeof r.colorscaleDflt=="string"?Wq[r.colorscaleDflt]:null,l=r.editTypeOverride||"",u=t?t+".":"",c,d;"colorAttr"in r?(c=r.colorAttr,d=r.colorAttr):(c={z:"z",c:"color"}[a],d="in "+Ku(u+c));var h=n?" Has an effect only if "+d+" is set to a numerical array.":"",p=a+"auto",g=a+"min",m=a+"max",b=a+"mid",_=Ku(u+p),x=Ku(u+g),A=Ku(u+m),w=x+" and "+A,k={};k[g]=k[m]=void 0;var L={};L[p]=!1;var S={};return c==="color"&&(S.color={valType:"color",arrayOk:!0,editType:l||"style",description:["Sets the",t,"color.","It accepts either a specific color","or an array of numbers that are mapped to the colorscale","relative to the max and min values of the array or relative to",w,"if set."].join(" ")},r.anim&&(S.color.anim=!0)),S[p]={valType:"boolean",dflt:!0,editType:"calc",impliedEdits:k,description:["Determines whether or not the color domain is computed","with respect to the input data (here "+d+") or the bounds set in",w+h,"Defaults to `false` when",w,"are set by the user."].join(" ")},S[g]={valType:"number",dflt:null,editType:l||"plot",impliedEdits:L,description:["Sets the lower bound of the color domain."+h,"Value should have the same units as",d,"and if set,",A,"must be set as well."].join(" ")},S[m]={valType:"number",dflt:null,editType:l||"plot",impliedEdits:L,description:["Sets the upper bound of the color domain."+h,"Value should have the same units as",d,"and if set,",x,"must be set as well."].join(" ")},S[b]={valType:"number",dflt:null,editType:"calc",impliedEdits:k,description:["Sets the mid-point of the color domain by scaling",x,"and/or",A,"to be equidistant to this point."+h,"Value should have the same units as",d+".","Has no effect when",_,"is `false`."].join(" ")},S.colorscale={valType:"colorscale",editType:"calc",dflt:s,impliedEdits:{autocolorscale:!1},description:["Sets the colorscale."+h,"The colorscale must be an array containing","arrays mapping a normalized value to an","rgb, rgba, hex, hsl, hsv, or named color string.","At minimum, a mapping for the lowest (0) and highest (1)","values are required. For example,","`[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`.","To control the bounds of the colorscale in color space,","use",w+".","Alternatively, `colorscale` may be a palette name string","of the following list: "+mte+"."].join(" ")},S.autocolorscale={valType:"boolean",dflt:r.autoColorDflt!==!1,editType:"calc",impliedEdits:{colorscale:void 0},description:["Determines whether the colorscale is a default palette (`autocolorscale: true`)","or the palette determined by",Ku(u+"colorscale")+"."+h,"In case `colorscale` is unspecified or `autocolorscale` is true, the default","palette will be chosen according to whether numbers in the `color` array are","all positive, all negative or mixed."].join(" ")},S.reversescale={valType:"boolean",dflt:!1,editType:"plot",description:["Reverses the color mapping if true."+h,"If true,",x,"will correspond to the last color","in the array and",A,"will correspond to the first color."].join(" ")},i||(S.showscale={valType:"boolean",dflt:o,editType:"calc",description:["Determines whether or not a colorbar is displayed for this trace."+h].join(" ")},S.colorbar=hte),r.noColorAxis||(S.coloraxis={valType:"subplotid",regex:vte("coloraxis"),dflt:null,editType:"calc",description:["Sets a reference to a shared color axis.","References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc.","Settings for these shared color axes are set in the layout, under","`layout.coloraxis`, `layout.coloraxis2`, etc.","Note that multiple color scales can be linked to the same color axis."].join(" ")}),S}});var Yg=E((i1e,Yq)=>{"use strict";var gte=Jr().extendFlat,yte=Ju(),Wg=Ro().scales,Vg="Note that `autocolorscale` must be true for this attribute to work.";Yq.exports={editType:"calc",colorscale:{editType:"calc",sequential:{valType:"colorscale",dflt:Wg.Reds,editType:"calc",description:["Sets the default sequential colorscale for positive values.",Vg].join(" ")},sequentialminus:{valType:"colorscale",dflt:Wg.Blues,editType:"calc",description:["Sets the default sequential colorscale for negative values.",Vg].join(" ")},diverging:{valType:"colorscale",dflt:Wg.RdBu,editType:"calc",description:["Sets the default diverging colorscale.",Vg].join(" ")}},coloraxis:gte({_isSubplotObj:!0,editType:"calc",description:[""].join(" ")},yte("",{colorAttr:"corresponding trace color array(s)",noColorAxis:!0,showScaleDflt:!0}))}});var Zg=E((o1e,Zq)=>{"use strict";var bte=Pe();Zq.exports=function(t){return bte.isPlainObject(t.colorbar)}});var $g=E(Qg=>{"use strict";var Xg=zt(),Xq=Pe(),Qq=_r(),xte=Qq.ONEDAY,_te=Qq.ONEWEEK;Qg.dtick=function(e,t){var r=t==="log",a=t==="date",n=t==="category",i=a?xte:1;if(!e)return i;if(Xg(e))return e=Number(e),e<=0?i:n?Math.max(1,Math.round(e)):a?Math.max(.1,e):e;if(typeof e!="string"||!(a||r))return i;var o=e.charAt(0),s=e.substr(1);return s=Xg(s)?Number(s):0,s<=0||!(a&&o==="M"&&s===Math.round(s)||r&&o==="L"||r&&o==="D"&&(s===1||s===2))?i:e};Qg.tick0=function(e,t,r,a){if(t==="date")return Xq.cleanDate(e,Xq.dateTick0(r,a%_te==0?1:0));if(!(a==="D1"||a==="D2"))return Xg(e)?Number(e):0}});var Kg=E((l1e,Kq)=>{"use strict";var $q=$g(),wte=Pe().isArrayOrTypedArray;Kq.exports=function(t,r,a,n,i){i||(i={});var o=i.isMinor,s=o?t.minor||{}:t,l=o?r.minor:r,u=o?"minor.":"";function c(x){var A=s[x];return A!==void 0?A:(l._template||{})[x]}var d=c("tick0"),h=c("dtick"),p=c("tickvals"),g=wte(p)?"array":h?"linear":"auto",m=a(u+"tickmode",g);if(m==="auto")a(u+"nticks");else if(m==="linear"){var b=l.dtick=$q.dtick(h,n);l.tick0=$q.tick0(d,n,r.calendar,b)}else if(n!=="multicategory"){var _=a(u+"tickvals");_===void 0?l.tickmode="auto":o||a("ticktext")}}});var ey=E((u1e,e5)=>{"use strict";var Jg=Pe(),Jq=ti();e5.exports=function(t,r,a,n){var i=n.isMinor,o=i?t.minor||{}:t,s=i?r.minor:r,l=i?Jq.minor:Jq,u=i?"minor.":"",c=Jg.coerce2(o,s,l,"ticklen",i?(r.ticklen||5)*.6:void 0),d=Jg.coerce2(o,s,l,"tickwidth",i?r.tickwidth||1:void 0),h=Jg.coerce2(o,s,l,"tickcolor",(i?r.tickcolor:void 0)||s.color),p=a(u+"ticks",!i&&n.outerTicks||c||d||h?"outside":"");p||(delete s.ticklen,delete s.tickwidth,delete s.tickcolor)}});var ty=E((f1e,t5)=>{"use strict";t5.exports=function(t){var r=["showexponent","showtickprefix","showticksuffix"],a=r.filter(function(i){return t[i]!==void 0}),n=function(i){return t[i]===t[a[0]]};if(a.every(n)||a.length===1)return t[a[0]]}});var Pn=E((c1e,r5)=>{"use strict";var sh=Pe(),Tte=tr();r5.exports=function(t,r,a){var n=a.name,i=a.inclusionAttr||"visible",o=r[n],s=sh.isArrayOrTypedArray(t[n])?t[n]:[],l=r[n]=[],u=Tte.arrayTemplater(r,n,i),c,d;for(c=0;c{"use strict";var a5=Pe(),Ate=qt().contrast,n5=ti(),kte=ty(),Mte=Pn();i5.exports=function(t,r,a,n,i){i||(i={});var o=kte(t),s=a("showticklabels");if(s){var l=i.font||{},u=r.color,c=r.ticklabelposition||"",d=c.indexOf("inside")!==-1?Ate(i.bgColor):u&&u!==n5.color.dflt?u:l.color;if(a5.coerceFont(a,"tickfont",{family:l.family,size:l.size,color:d}),!i.noTicklabelstep&&n!=="multicategory"&&n!=="log"&&a("ticklabelstep"),i.noAng||a("tickangle"),n!=="category"){var h=a("tickformat");Mte(t,r,{name:"tickformatstops",inclusionAttr:"enabled",handleItemDefaults:Ste}),r.tickformatstops.length||delete r.tickformatstops,!i.noExp&&!h&&n!=="date"&&(a("showexponent",o),a("exponentformat"),a("minexponent"),a("separatethousands"))}}};function Ste(e,t){function r(n,i){return a5.coerce(e,t,n5.tickformatstops,n,i)}var a=r("enabled");a&&(r("dtickrange"),r("value"))}});var ay=E((h1e,o5)=>{"use strict";var Cte=ty();o5.exports=function(t,r,a,n,i){i||(i={});var o=i.tickSuffixDflt,s=Cte(t),l=a("tickprefix");l&&a("showtickprefix",s);var u=a("ticksuffix",o);u&&a("showticksuffix",s)}});var ny=E((v1e,s5)=>{"use strict";var cl=Pe(),Lte=tr(),qte=Kg(),Dte=ey(),Pte=ry(),Rte=ay(),Ite=oh();s5.exports=function(t,r,a){var n=Lte.newContainer(r,"colorbar"),i=t.colorbar||{};function o(A,w){return cl.coerce(i,n,Ite,A,w)}var s=a.margin||{t:0,b:0,l:0,r:0},l=a.width-s.l-s.r,u=a.height-s.t-s.b,c=o("orientation"),d=c==="v",h=o("thicknessmode");o("thickness",h==="fraction"?30/(d?l:u):30);var p=o("lenmode");o("len",p==="fraction"?1:d?u:l),o("x",d?1.02:.5),o("xanchor",d?"left":"center"),o("xpad"),o("y",d?.5:1.02),o("yanchor",d?"middle":"bottom"),o("ypad"),cl.noneOrAll(i,n,["x","y"]),o("outlinecolor"),o("outlinewidth"),o("bordercolor"),o("borderwidth"),o("bgcolor");var g=cl.coerce(i,n,{ticklabelposition:{valType:"enumerated",dflt:"outside",values:d?["outside","inside","outside top","inside top","outside bottom","inside bottom"]:["outside","inside","outside left","inside left","outside right","inside right"]}},"ticklabelposition");o("ticklabeloverflow",g.indexOf("inside")!==-1?"hide past domain":"hide past div"),qte(i,n,o,"linear");var m=a.font,b={outerTicks:!1,font:m};g.indexOf("inside")!==-1&&(b.bgColor="black"),Rte(i,n,o,"linear",b),Pte(i,n,o,"linear",b),Dte(i,n,o,"linear",b),o("title.text",a._dfltTitle.colorbar);var _=n.tickfont,x=cl.extendFlat({},_,{color:m.color,size:cl.bigFont(_.size)});cl.coerceFont(o,"title.font",x),o("title.side",d?"top":"right")}});var dl=E((p1e,f5)=>{"use strict";var l5=zt(),iy=Pe(),Ete=Zg(),zte=ny(),u5=Ro().isValid,Nte=vt().traceIs;function oy(e,t){var r=t.slice(0,t.length-1);return t?iy.nestedProperty(e,r).get()||{}:e}f5.exports=function e(t,r,a,n,i){var o=i.prefix,s=i.cLetter,l="_module"in r,u=oy(t,o),c=oy(r,o),d=oy(r._template||{},o)||{},h=function(){return delete t.coloraxis,delete r.coloraxis,e(t,r,a,n,i)};if(l){var p=a._colorAxes||{},g=n(o+"coloraxis");if(g){var m=Nte(r,"contour")&&iy.nestedProperty(r,"contours.coloring").get()||"heatmap",b=p[g];b?(b[2].push(h),b[0]!==m&&(b[0]=!1,iy.warn(["Ignoring coloraxis:",g,"setting","as it is linked to incompatible colorscales."].join(" ")))):p[g]=[m,r,[h]];return}}var _=u[s+"min"],x=u[s+"max"],A=l5(_)&&l5(x)&&_{"use strict";var c5=Pe(),Fte=tr(),d5=Yg(),jte=dl();h5.exports=function(t,r){function a(d,h){return c5.coerce(t,r,d5,d,h)}a("colorscale.sequential"),a("colorscale.sequentialminus"),a("colorscale.diverging");var n=r._colorAxes,i,o;function s(d,h){return c5.coerce(i,o,d5.coloraxis,d,h)}for(var l in n){var u=n[l];if(u[0])i=t[l]||{},o=Fte.newContainer(r,l,"coloraxis"),o._name=l,jte(i,o,r,s,{prefix:"",cLetter:"c"});else{for(var c=0;c{"use strict";var Ote=Pe(),Hte=fn().hasColorscale,Bte=fn().extractOpts;p5.exports=function(t,r){function a(c,d){var h=c["_"+d];h!==void 0&&(c[d]=h)}function n(c,d){var h=d.container?Ote.nestedProperty(c,d.container).get():c;if(h)if(h.coloraxis)h._colorAx=r[h.coloraxis];else{var p=Bte(h),g=p.auto;(g||p.min===void 0)&&a(h,d.min),(g||p.max===void 0)&&a(h,d.max),p.autocolorscale&&a(h,"colorscale")}}for(var i=0;i{"use strict";var g5=zt(),sy=Pe(),Ute=fn().extractOpts;y5.exports=function(t,r,a){var n=t._fullLayout,i=a.vals,o=a.containerStr,s=o?sy.nestedProperty(r,o).get():r,l=Ute(s),u=l.auto!==!1,c=l.min,d=l.max,h=l.mid,p=function(){return sy.aggNums(Math.min,null,i)},g=function(){return sy.aggNums(Math.max,null,i)};if(c===void 0?c=p():u&&(s._colorAx&&g5(c)?c=Math.min(c,p()):c=p()),d===void 0?d=g():u&&(s._colorAx&&g5(d)?d=Math.max(d,g()):d=g()),u&&h!==void 0&&(d-h>h-c?c=h-(d-h):d-h=0?m=n.colorscale.sequential:m=n.colorscale.sequentialminus,l._sync("colorscale",m)}}});var ly=E((b1e,b5)=>{"use strict";var uh=Ro(),hl=fn();b5.exports={moduleType:"component",name:"colorscale",attributes:Ju(),layoutAttributes:Yg(),supplyLayoutDefaults:v5(),handleDefaults:dl(),crossTraceDefaults:m5(),calc:lh(),scales:uh.scales,defaultScale:uh.defaultScale,getScale:uh.get,isValidScale:uh.isValid,hasColorscale:hl.hasColorscale,extractOpts:hl.extractOpts,extractScale:hl.extractScale,flipScale:hl.flipScale,makeColorScaleFunc:hl.makeColorScaleFunc,makeColorScaleFuncFromTrace:hl.makeColorScaleFuncFromTrace}});var Qa=E((x1e,_5)=>{"use strict";var x5=Pe();_5.exports={hasLines:function(e){return e.visible&&e.mode&&e.mode.indexOf("lines")!==-1},hasMarkers:function(e){return e.visible&&(e.mode&&e.mode.indexOf("markers")!==-1||e.type==="splom")},hasText:function(e){return e.visible&&e.mode&&e.mode.indexOf("text")!==-1},isBubble:function(e){return x5.isPlainObject(e.marker)&&x5.isArrayOrTypedArray(e.marker.size)}}});var T5=E((_1e,w5)=>{"use strict";var Gte=zt();w5.exports=function(t,r){r||(r=2);var a=t.marker,n=a.sizeref||1,i=a.sizemin||0,o=a.sizemode==="area"?function(s){return Math.sqrt(s/n)}:function(s){return s/n};return function(s){var l=o(s/r);return Gte(l)&&l>0?Math.max(l,i):0}}});var Ti=E(na=>{"use strict";var A5=Pe();na.getSubplot=function(e){return e.subplot||e.xaxis+e.yaxis||e.geo};na.isTraceInSubplots=function(e,t){if(e.type==="splom"){for(var r=e.xaxes||[],a=e.yaxes||[],n=0;n=0&&r.index{"use strict";var Be=Et();S5.exports={circle:{n:0,f:function(e){var t=Be.round(e,2);return"M"+t+",0A"+t+","+t+" 0 1,1 0,-"+t+"A"+t+","+t+" 0 0,1 "+t+",0Z"}},square:{n:1,f:function(e){var t=Be.round(e,2);return"M"+t+","+t+"H-"+t+"V-"+t+"H"+t+"Z"}},diamond:{n:2,f:function(e){var t=Be.round(e*1.3,2);return"M"+t+",0L0,"+t+"L-"+t+",0L0,-"+t+"Z"}},cross:{n:3,f:function(e){var t=Be.round(e*.4,2),r=Be.round(e*1.2,2);return"M"+r+","+t+"H"+t+"V"+r+"H-"+t+"V"+t+"H-"+r+"V-"+t+"H-"+t+"V-"+r+"H"+t+"V-"+t+"H"+r+"Z"}},x:{n:4,f:function(e){var t=Be.round(e*.8/Math.sqrt(2),2),r="l"+t+","+t,a="l"+t+",-"+t,n="l-"+t+",-"+t,i="l-"+t+","+t;return"M0,"+t+r+a+n+a+n+i+n+i+r+i+r+"Z"}},"triangle-up":{n:5,f:function(e){var t=Be.round(e*2/Math.sqrt(3),2),r=Be.round(e/2,2),a=Be.round(e,2);return"M-"+t+","+r+"H"+t+"L0,-"+a+"Z"}},"triangle-down":{n:6,f:function(e){var t=Be.round(e*2/Math.sqrt(3),2),r=Be.round(e/2,2),a=Be.round(e,2);return"M-"+t+",-"+r+"H"+t+"L0,"+a+"Z"}},"triangle-left":{n:7,f:function(e){var t=Be.round(e*2/Math.sqrt(3),2),r=Be.round(e/2,2),a=Be.round(e,2);return"M"+r+",-"+t+"V"+t+"L-"+a+",0Z"}},"triangle-right":{n:8,f:function(e){var t=Be.round(e*2/Math.sqrt(3),2),r=Be.round(e/2,2),a=Be.round(e,2);return"M-"+r+",-"+t+"V"+t+"L"+a+",0Z"}},"triangle-ne":{n:9,f:function(e){var t=Be.round(e*.6,2),r=Be.round(e*1.2,2);return"M-"+r+",-"+t+"H"+t+"V"+r+"Z"}},"triangle-se":{n:10,f:function(e){var t=Be.round(e*.6,2),r=Be.round(e*1.2,2);return"M"+t+",-"+r+"V"+t+"H-"+r+"Z"}},"triangle-sw":{n:11,f:function(e){var t=Be.round(e*.6,2),r=Be.round(e*1.2,2);return"M"+r+","+t+"H-"+t+"V-"+r+"Z"}},"triangle-nw":{n:12,f:function(e){var t=Be.round(e*.6,2),r=Be.round(e*1.2,2);return"M-"+t+","+r+"V-"+t+"H"+r+"Z"}},pentagon:{n:13,f:function(e){var t=Be.round(e*.951,2),r=Be.round(e*.588,2),a=Be.round(-e,2),n=Be.round(e*-.309,2),i=Be.round(e*.809,2);return"M"+t+","+n+"L"+r+","+i+"H-"+r+"L-"+t+","+n+"L0,"+a+"Z"}},hexagon:{n:14,f:function(e){var t=Be.round(e,2),r=Be.round(e/2,2),a=Be.round(e*Math.sqrt(3)/2,2);return"M"+a+",-"+r+"V"+r+"L0,"+t+"L-"+a+","+r+"V-"+r+"L0,-"+t+"Z"}},hexagon2:{n:15,f:function(e){var t=Be.round(e,2),r=Be.round(e/2,2),a=Be.round(e*Math.sqrt(3)/2,2);return"M-"+r+","+a+"H"+r+"L"+t+",0L"+r+",-"+a+"H-"+r+"L-"+t+",0Z"}},octagon:{n:16,f:function(e){var t=Be.round(e*.924,2),r=Be.round(e*.383,2);return"M-"+r+",-"+t+"H"+r+"L"+t+",-"+r+"V"+r+"L"+r+","+t+"H-"+r+"L-"+t+","+r+"V-"+r+"Z"}},star:{n:17,f:function(e){var t=e*1.4,r=Be.round(t*.225,2),a=Be.round(t*.951,2),n=Be.round(t*.363,2),i=Be.round(t*.588,2),o=Be.round(-t,2),s=Be.round(t*-.309,2),l=Be.round(t*.118,2),u=Be.round(t*.809,2),c=Be.round(t*.382,2);return"M"+r+","+s+"H"+a+"L"+n+","+l+"L"+i+","+u+"L0,"+c+"L-"+i+","+u+"L-"+n+","+l+"L-"+a+","+s+"H-"+r+"L0,"+o+"Z"}},hexagram:{n:18,f:function(e){var t=Be.round(e*.66,2),r=Be.round(e*.38,2),a=Be.round(e*.76,2);return"M-"+a+",0l-"+r+",-"+t+"h"+a+"l"+r+",-"+t+"l"+r+","+t+"h"+a+"l-"+r+","+t+"l"+r+","+t+"h-"+a+"l-"+r+","+t+"l-"+r+",-"+t+"h-"+a+"Z"}},"star-triangle-up":{n:19,f:function(e){var t=Be.round(e*Math.sqrt(3)*.8,2),r=Be.round(e*.8,2),a=Be.round(e*1.6,2),n=Be.round(e*4,2),i="A "+n+","+n+" 0 0 1 ";return"M-"+t+","+r+i+t+","+r+i+"0,-"+a+i+"-"+t+","+r+"Z"}},"star-triangle-down":{n:20,f:function(e){var t=Be.round(e*Math.sqrt(3)*.8,2),r=Be.round(e*.8,2),a=Be.round(e*1.6,2),n=Be.round(e*4,2),i="A "+n+","+n+" 0 0 1 ";return"M"+t+",-"+r+i+"-"+t+",-"+r+i+"0,"+a+i+t+",-"+r+"Z"}},"star-square":{n:21,f:function(e){var t=Be.round(e*1.1,2),r=Be.round(e*2,2),a="A "+r+","+r+" 0 0 1 ";return"M-"+t+",-"+t+a+"-"+t+","+t+a+t+","+t+a+t+",-"+t+a+"-"+t+",-"+t+"Z"}},"star-diamond":{n:22,f:function(e){var t=Be.round(e*1.4,2),r=Be.round(e*1.9,2),a="A "+r+","+r+" 0 0 1 ";return"M-"+t+",0"+a+"0,"+t+a+t+",0"+a+"0,-"+t+a+"-"+t+",0Z"}},"diamond-tall":{n:23,f:function(e){var t=Be.round(e*.7,2),r=Be.round(e*1.4,2);return"M0,"+r+"L"+t+",0L0,-"+r+"L-"+t+",0Z"}},"diamond-wide":{n:24,f:function(e){var t=Be.round(e*1.4,2),r=Be.round(e*.7,2);return"M0,"+r+"L"+t+",0L0,-"+r+"L-"+t+",0Z"}},hourglass:{n:25,f:function(e){var t=Be.round(e,2);return"M"+t+","+t+"H-"+t+"L"+t+",-"+t+"H-"+t+"Z"},noDot:!0},bowtie:{n:26,f:function(e){var t=Be.round(e,2);return"M"+t+","+t+"V-"+t+"L-"+t+","+t+"V-"+t+"Z"},noDot:!0},"circle-cross":{n:27,f:function(e){var t=Be.round(e,2);return"M0,"+t+"V-"+t+"M"+t+",0H-"+t+"M"+t+",0A"+t+","+t+" 0 1,1 0,-"+t+"A"+t+","+t+" 0 0,1 "+t+",0Z"},needLine:!0,noDot:!0},"circle-x":{n:28,f:function(e){var t=Be.round(e,2),r=Be.round(e/Math.sqrt(2),2);return"M"+r+","+r+"L-"+r+",-"+r+"M"+r+",-"+r+"L-"+r+","+r+"M"+t+",0A"+t+","+t+" 0 1,1 0,-"+t+"A"+t+","+t+" 0 0,1 "+t+",0Z"},needLine:!0,noDot:!0},"square-cross":{n:29,f:function(e){var t=Be.round(e,2);return"M0,"+t+"V-"+t+"M"+t+",0H-"+t+"M"+t+","+t+"H-"+t+"V-"+t+"H"+t+"Z"},needLine:!0,noDot:!0},"square-x":{n:30,f:function(e){var t=Be.round(e,2);return"M"+t+","+t+"L-"+t+",-"+t+"M"+t+",-"+t+"L-"+t+","+t+"M"+t+","+t+"H-"+t+"V-"+t+"H"+t+"Z"},needLine:!0,noDot:!0},"diamond-cross":{n:31,f:function(e){var t=Be.round(e*1.3,2);return"M"+t+",0L0,"+t+"L-"+t+",0L0,-"+t+"ZM0,-"+t+"V"+t+"M-"+t+",0H"+t},needLine:!0,noDot:!0},"diamond-x":{n:32,f:function(e){var t=Be.round(e*1.3,2),r=Be.round(e*.65,2);return"M"+t+",0L0,"+t+"L-"+t+",0L0,-"+t+"ZM-"+r+",-"+r+"L"+r+","+r+"M-"+r+","+r+"L"+r+",-"+r},needLine:!0,noDot:!0},"cross-thin":{n:33,f:function(e){var t=Be.round(e*1.4,2);return"M0,"+t+"V-"+t+"M"+t+",0H-"+t},needLine:!0,noDot:!0,noFill:!0},"x-thin":{n:34,f:function(e){var t=Be.round(e,2);return"M"+t+","+t+"L-"+t+",-"+t+"M"+t+",-"+t+"L-"+t+","+t},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(e){var t=Be.round(e*1.2,2),r=Be.round(e*.85,2);return"M0,"+t+"V-"+t+"M"+t+",0H-"+t+"M"+r+","+r+"L-"+r+",-"+r+"M"+r+",-"+r+"L-"+r+","+r},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(e){var t=Be.round(e/2,2),r=Be.round(e,2);return"M"+t+","+r+"V-"+r+"m-"+r+",0V"+r+"M"+r+","+t+"H-"+r+"m0,-"+r+"H"+r},needLine:!0,noFill:!0},"y-up":{n:37,f:function(e){var t=Be.round(e*1.2,2),r=Be.round(e*1.6,2),a=Be.round(e*.8,2);return"M-"+t+","+a+"L0,0M"+t+","+a+"L0,0M0,-"+r+"L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-down":{n:38,f:function(e){var t=Be.round(e*1.2,2),r=Be.round(e*1.6,2),a=Be.round(e*.8,2);return"M-"+t+",-"+a+"L0,0M"+t+",-"+a+"L0,0M0,"+r+"L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-left":{n:39,f:function(e){var t=Be.round(e*1.2,2),r=Be.round(e*1.6,2),a=Be.round(e*.8,2);return"M"+a+","+t+"L0,0M"+a+",-"+t+"L0,0M-"+r+",0L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-right":{n:40,f:function(e){var t=Be.round(e*1.2,2),r=Be.round(e*1.6,2),a=Be.round(e*.8,2);return"M-"+a+","+t+"L0,0M-"+a+",-"+t+"L0,0M"+r+",0L0,0"},needLine:!0,noDot:!0,noFill:!0},"line-ew":{n:41,f:function(e){var t=Be.round(e*1.4,2);return"M"+t+",0H-"+t},needLine:!0,noDot:!0,noFill:!0},"line-ns":{n:42,f:function(e){var t=Be.round(e*1.4,2);return"M0,"+t+"V-"+t},needLine:!0,noDot:!0,noFill:!0},"line-ne":{n:43,f:function(e){var t=Be.round(e,2);return"M"+t+",-"+t+"L-"+t+","+t},needLine:!0,noDot:!0,noFill:!0},"line-nw":{n:44,f:function(e){var t=Be.round(e,2);return"M"+t+","+t+"L-"+t+",-"+t},needLine:!0,noDot:!0,noFill:!0},"arrow-up":{n:45,f:function(e){var t=Be.round(e,2),r=Be.round(e*2,2);return"M0,0L-"+t+","+r+"H"+t+"Z"},noDot:!0},"arrow-down":{n:46,f:function(e){var t=Be.round(e,2),r=Be.round(e*2,2);return"M0,0L-"+t+",-"+r+"H"+t+"Z"},noDot:!0},"arrow-left":{n:47,f:function(e){var t=Be.round(e*2,2),r=Be.round(e,2);return"M0,0L"+t+",-"+r+"V"+r+"Z"},noDot:!0},"arrow-right":{n:48,f:function(e){var t=Be.round(e*2,2),r=Be.round(e,2);return"M0,0L-"+t+",-"+r+"V"+r+"Z"},noDot:!0},"arrow-bar-up":{n:49,f:function(e){var t=Be.round(e,2),r=Be.round(e*2,2);return"M-"+t+",0H"+t+"M0,0L-"+t+","+r+"H"+t+"Z"},needLine:!0,noDot:!0},"arrow-bar-down":{n:50,f:function(e){var t=Be.round(e,2),r=Be.round(e*2,2);return"M-"+t+",0H"+t+"M0,0L-"+t+",-"+r+"H"+t+"Z"},needLine:!0,noDot:!0},"arrow-bar-left":{n:51,f:function(e){var t=Be.round(e*2,2),r=Be.round(e,2);return"M0,-"+r+"V"+r+"M0,0L"+t+",-"+r+"V"+r+"Z"},needLine:!0,noDot:!0},"arrow-bar-right":{n:52,f:function(e){var t=Be.round(e*2,2),r=Be.round(e,2);return"M0,-"+r+"V"+r+"M0,0L-"+t+",-"+r+"V"+r+"Z"},needLine:!0,noDot:!0}}});var Kt=E((A1e,H5)=>{"use strict";var Wt=Et(),nr=Pe(),Zte=nr.numberFormat,ef=zt(),Xte=Ln(),fh=vt(),Ha=qt(),Qte=ly(),tf=nr.strTranslate,uy=Oa(),$te=Wo(),Kte=Ma(),Jte=Kte.LINE_SPACING,L5=Sd().DESELECTDIM,ere=Qa(),tre=T5(),rre=Ti().appendArrayPointValue,Xe=H5.exports={};Xe.font=function(e,t,r,a){nr.isPlainObject(t)&&(a=t.color,r=t.size,t=t.family),t&&e.style("font-family",t),r+1&&e.style("font-size",r+"px"),a&&e.call(Ha.fill,a)};Xe.setPosition=function(e,t,r){e.attr("x",t).attr("y",r)};Xe.setSize=function(e,t,r){e.attr("width",t).attr("height",r)};Xe.setRect=function(e,t,r,a,n){e.call(Xe.setPosition,t,r).call(Xe.setSize,a,n)};Xe.translatePoint=function(e,t,r,a){var n=r.c2p(e.x),i=a.c2p(e.y);if(ef(n)&&ef(i)&&t.node())t.node().nodeName==="text"?t.attr("x",n).attr("y",i):t.attr("transform",tf(n,i));else return!1;return!0};Xe.translatePoints=function(e,t,r){e.each(function(a){var n=Wt.select(this);Xe.translatePoint(a,n,t,r)})};Xe.hideOutsideRangePoint=function(e,t,r,a,n,i){t.attr("display",r.isPtWithinRange(e,n)&&a.isPtWithinRange(e,i)?null:"none")};Xe.hideOutsideRangePoints=function(e,t){if(!!t._hasClipOnAxisFalse){var r=t.xaxis,a=t.yaxis;e.each(function(n){var i=n[0].trace,o=i.xcalendar,s=i.ycalendar,l=fh.traceIs(i,"bar-like")?".bartext":".point,.textpoint";e.selectAll(l).each(function(u){Xe.hideOutsideRangePoint(u,Wt.select(this),r,a,o,s)})})}};Xe.crispRound=function(e,t,r){return!t||!ef(t)?r||0:e._context.staticPlot?t:t<1?1:Math.round(t)};Xe.singleLineStyle=function(e,t,r,a,n){t.style("fill","none");var i=(((e||[])[0]||{}).trace||{}).line||{},o=r||i.width||0,s=n||i.dash||"";Ha.stroke(t,a||i.color),Xe.dashLine(t,s,o)};Xe.lineGroupStyle=function(e,t,r,a){e.style("fill","none").each(function(n){var i=(((n||[])[0]||{}).trace||{}).line||{},o=t||i.width||0,s=a||i.dash||"";Wt.select(this).call(Ha.stroke,r||i.color).call(Xe.dashLine,s,o)})};Xe.dashLine=function(e,t,r){r=+r||0,t=Xe.dashStyle(t,r),e.style({"stroke-dasharray":t,"stroke-width":r+"px"})};Xe.dashStyle=function(e,t){t=+t||1;var r=Math.max(t,3);return e==="solid"?e="":e==="dot"?e=r+"px,"+r+"px":e==="dash"?e=3*r+"px,"+3*r+"px":e==="longdash"?e=5*r+"px,"+5*r+"px":e==="dashdot"?e=3*r+"px,"+r+"px,"+r+"px,"+r+"px":e==="longdashdot"&&(e=5*r+"px,"+2*r+"px,"+r+"px,"+2*r+"px"),e};function q5(e,t,r){var a=t.fillpattern,n=a&&Xe.getPatternAttr(a.shape,0,"");if(n){var i=Xe.getPatternAttr(a.bgcolor,0,null),o=Xe.getPatternAttr(a.fgcolor,0,null),s=a.fgopacity,l=Xe.getPatternAttr(a.size,0,8),u=Xe.getPatternAttr(a.solidity,0,.3),c=t.uid;Xe.pattern(e,"point",r,c,n,l,u,void 0,a.fillmode,i,o,s)}else t.fillcolor&&e.call(Ha.fill,t.fillcolor)}Xe.singleFillStyle=function(e,t){var r=Wt.select(e.node()),a=r.data(),n=((a[0]||[])[0]||{}).trace||{};q5(e,n,t)};Xe.fillGroupStyle=function(e,t){e.style("stroke-width",0).each(function(r){var a=Wt.select(this);r[0].trace&&q5(a,r[0].trace,t)})};var D5=C5();Xe.symbolNames=[];Xe.symbolFuncs=[];Xe.symbolNeedLines={};Xe.symbolNoDot={};Xe.symbolNoFill={};Xe.symbolList=[];Object.keys(D5).forEach(function(e){var t=D5[e],r=t.n;Xe.symbolList.push(r,String(r),e,r+100,String(r+100),e+"-open"),Xe.symbolNames[r]=e,Xe.symbolFuncs[r]=t.f,t.needLine&&(Xe.symbolNeedLines[r]=!0),t.noDot?Xe.symbolNoDot[r]=!0:Xe.symbolList.push(r+200,String(r+200),e+"-dot",r+300,String(r+300),e+"-open-dot"),t.noFill&&(Xe.symbolNoFill[r]=!0)});var are=Xe.symbolNames.length,nre="M0,0.5L0.5,0L0,-0.5L-0.5,0Z";Xe.symbolNumber=function(e){if(ef(e))e=+e;else if(typeof e=="string"){var t=0;e.indexOf("-open")>0&&(t=100,e=e.replace("-open","")),e.indexOf("-dot")>0&&(t+=200,e=e.replace("-dot","")),e=Xe.symbolNames.indexOf(e),e>=0&&(e+=t)}return e%100>=are||e>=400?0:Math.floor(Math.max(e,0))};function P5(e,t){var r=e%100;return Xe.symbolFuncs[r](t)+(e>=200?nre:"")}var R5={x1:1,x2:0,y1:0,y2:0},I5={x1:0,x2:0,y1:1,y2:0},E5=Zte("~f"),z5={radial:{node:"radialGradient"},radialreversed:{node:"radialGradient",reversed:!0},horizontal:{node:"linearGradient",attrs:R5},horizontalreversed:{node:"linearGradient",attrs:R5,reversed:!0},vertical:{node:"linearGradient",attrs:I5},verticalreversed:{node:"linearGradient",attrs:I5,reversed:!0}};Xe.gradient=function(e,t,r,a,n,i){for(var o=n.length,s=z5[a],l=new Array(o),u=0;u=100,t.attr("d",P5(l,s))}var u=!1,c,d,h;if(e.so)h=o.outlierwidth,d=o.outliercolor,c=i.outliercolor;else{var p=(o||{}).width;h=(e.mlw+1||p+1||(e.trace?(e.trace.marker.line||{}).width:0)+1)-1||0,"mlc"in e?d=e.mlcc=a.lineScale(e.mlc):nr.isArrayOrTypedArray(o.color)?d=Ha.defaultLine:d=o.color,nr.isArrayOrTypedArray(i.color)&&(c=Ha.defaultLine,u=!0),"mc"in e?c=e.mcc=a.markerScale(e.mc):c=i.color||"rgba(0,0,0,0)",a.selectedColorFn&&(c=a.selectedColorFn(e))}if(e.om)t.call(Ha.stroke,c).style({"stroke-width":(h||1)+"px",fill:"none"});else{t.style("stroke-width",(e.isBlank?0:h)+"px");var g=i.gradient,m=e.mgt;m?u=!0:m=g&&g.type,nr.isArrayOrTypedArray(m)&&(m=m[0],z5[m]||(m=0));var b=i.pattern,_=b&&Xe.getPatternAttr(b.shape,e.i,"");if(m&&m!=="none"){var x=e.mgc;x?u=!0:x=g.color;var A=r.uid;u&&(A+="-"+e.i),Xe.gradient(t,n,A,m,[[0,x],[1,c]],"fill")}else if(_){var w=Xe.getPatternAttr(b.bgcolor,e.i,null),k=Xe.getPatternAttr(b.fgcolor,e.i,null),L=b.fgopacity,S=Xe.getPatternAttr(b.size,e.i,8),q=Xe.getPatternAttr(b.solidity,e.i,.3),P=e.mcc||nr.isArrayOrTypedArray(b.shape)||nr.isArrayOrTypedArray(b.bgcolor)||nr.isArrayOrTypedArray(b.size)||nr.isArrayOrTypedArray(b.solidity),I=r.uid;P&&(I+="-"+e.i),Xe.pattern(t,"point",n,I,_,S,q,e.mcc,b.fillmode,w,k,L)}else Ha.fill(t,c);h&&Ha.stroke(t,d)}};Xe.makePointStyleFns=function(e){var t={},r=e.marker;return t.markerScale=Xe.tryColorscale(r,""),t.lineScale=Xe.tryColorscale(r,"line"),fh.traceIs(e,"symbols")&&(t.ms2mrc=ere.isBubble(e)?tre(e):function(){return(r.size||6)/2}),e.selectedpoints&&nr.extendFlat(t,Xe.makeSelectedPointStyleFns(e)),t};Xe.makeSelectedPointStyleFns=function(e){var t={},r=e.selected||{},a=e.unselected||{},n=e.marker||{},i=r.marker||{},o=a.marker||{},s=n.opacity,l=i.opacity,u=o.opacity,c=l!==void 0,d=u!==void 0;(nr.isArrayOrTypedArray(s)||c||d)&&(t.selectedOpacityFn=function(w){var k=w.mo===void 0?n.opacity:w.mo;return w.selected?c?l:k:d?u:L5*k});var h=n.color,p=i.color,g=o.color;(p||g)&&(t.selectedColorFn=function(w){var k=w.mcc||h;return w.selected?p||k:g||k});var m=n.size,b=i.size,_=o.size,x=b!==void 0,A=_!==void 0;return fh.traceIs(e,"symbols")&&(x||A)&&(t.selectedSizeFn=function(w){var k=w.mrc||m/2;return w.selected?x?b/2:k:A?_/2:k}),t};Xe.makeSelectedTextStyleFns=function(e){var t={},r=e.selected||{},a=e.unselected||{},n=e.textfont||{},i=r.textfont||{},o=a.textfont||{},s=n.color,l=i.color,u=o.color;return t.selectedTextColorFn=function(c){var d=c.tc||s;return c.selected?l||d:u||(l?d:Ha.addOpacity(d,L5))},t};Xe.selectedPointStyle=function(e,t){if(!(!e.size()||!t.selectedpoints)){var r=Xe.makeSelectedPointStyleFns(t),a=t.marker||{},n=[];r.selectedOpacityFn&&n.push(function(i,o){i.style("opacity",r.selectedOpacityFn(o))}),r.selectedColorFn&&n.push(function(i,o){Ha.fill(i,r.selectedColorFn(o))}),r.selectedSizeFn&&n.push(function(i,o){var s=o.mx||a.symbol||0,l=r.selectedSizeFn(o);i.attr("d",P5(Xe.symbolNumber(s),l)),o.mrc2=l}),n.length&&e.each(function(i){for(var o=Wt.select(this),s=0;s0?r:0}Xe.textPointStyle=function(e,t,r){if(!!e.size()){var a;if(t.selectedpoints){var n=Xe.makeSelectedTextStyleFns(t);a=n.selectedTextColorFn}var i=t.texttemplate,o=r._fullLayout;e.each(function(s){var l=Wt.select(this),u=i?nr.extractOption(s,t,"txt","texttemplate"):nr.extractOption(s,t,"tx","text");if(!u&&u!==0){l.remove();return}if(i){var c=t._module.formatLabels,d=c?c(s,t,o):{},h={};rre(h,t,s.i);var p=t._meta||{};u=nr.texttemplateString(u,d,o._d3locale,h,s,p)}var g=s.tp||t.textposition,m=F5(s,t),b=a?a(s):s.tc||t.textfont.color;l.call(Xe.font,s.tf||t.textfont.family,m,b).text(u).call(uy.convertToTspans,r).call(N5,g,m,s.mrc)})}};Xe.selectedTextStyle=function(e,t){if(!(!e.size()||!t.selectedpoints)){var r=Xe.makeSelectedTextStyleFns(t);e.each(function(a){var n=Wt.select(this),i=r.selectedTextColorFn(a),o=a.tp||t.textposition,s=F5(a,t);Ha.fill(n,i);var l=fh.traceIs(t,"bar-like");N5(n,o,s,a.mrc2||a.mrc,l)})}};var j5=.5;Xe.smoothopen=function(e,t){if(e.length<3)return"M"+e.join("L");var r="M"+e[0],a=[],n;for(n=1;n=sre&&(Xe.savedBBoxes={},cy=0),r&&(Xe.savedBBoxes[r]=p),cy++,nr.extendFlat({},p)};function O5(e){var t=e.getAttribute("data-unformatted");if(t!==null)return t+e.getAttribute("data-math")+e.getAttribute("text-anchor")+e.getAttribute("style")}Xe.setClipUrl=function(e,t,r){e.attr("clip-path",dy(t,r))};function dy(e,t){if(!e)return null;var r=t._context,a=r._exportedPlot?"":r._baseUrl||"";return a?"url('"+a+"#"+e+"')":"url(#"+e+")"}Xe.getTranslate=function(e){var t=/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,r=e.attr?"attr":"getAttribute",a=e[r]("transform")||"",n=a.replace(t,function(i,o,s){return[o,s].join(" ")}).split(" ");return{x:+n[0]||0,y:+n[1]||0}};Xe.setTranslate=function(e,t,r){var a=/(\btranslate\(.*?\);?)/,n=e.attr?"attr":"getAttribute",i=e.attr?"attr":"setAttribute",o=e[n]("transform")||"";return t=t||0,r=r||0,o=o.replace(a,"").trim(),o+=tf(t,r),o=o.trim(),e[i]("transform",o),o};Xe.getScale=function(e){var t=/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,r=e.attr?"attr":"getAttribute",a=e[r]("transform")||"",n=a.replace(t,function(i,o,s){return[o,s].join(" ")}).split(" ");return{x:+n[0]||1,y:+n[1]||1}};Xe.setScale=function(e,t,r){var a=/(\bscale\(.*?\);?)/,n=e.attr?"attr":"getAttribute",i=e.attr?"attr":"setAttribute",o=e[n]("transform")||"";return t=t||1,r=r||1,o=o.replace(a,"").trim(),o+="scale("+t+","+r+")",o=o.trim(),e[i]("transform",o),o};var lre=/\s*sc.*/;Xe.setPointGroupScale=function(e,t,r){if(t=t||1,r=r||1,!!e){var a=t===1&&r===1?"":"scale("+t+","+r+")";e.each(function(){var n=(this.getAttribute("transform")||"").replace(lre,"");n+=a,n=n.trim(),this.setAttribute("transform",n)})}};var ure=/translate\([^)]*\)\s*$/;Xe.setTextPointsScale=function(e,t,r){!e||e.each(function(){var a,n=Wt.select(this),i=n.select("text");if(!!i.node()){var o=parseFloat(i.attr("x")||0),s=parseFloat(i.attr("y")||0),l=(n.attr("transform")||"").match(ure);t===1&&r===1?a=[]:a=[tf(o,s),"scale("+t+","+r+")",tf(-o,-s)],l&&a.push(l),n.attr("transform",a.join(""))}})}});var rf=E((k1e,X5)=>{"use strict";var dh=Et(),fre=zt(),B5=Er(),U5=vt(),vl=Pe(),G5=vl.strTranslate,W5=Kt(),V5=qt(),hy=Oa(),Y5=Sd(),cre=Ma().OPPOSITE_SIDE,Z5=/ [XY][0-9]* /;function dre(e,t,r){var a=r.propContainer,n=r.propName,i=r.placeholder,o=r.traceIndex,s=r.avoid||{},l=r.attributes,u=r.transform,c=r.containerGroup,d=e._fullLayout,h=1,p=!1,g=a.title,m=(g&&g.text?g.text:"").trim(),b=g&&g.font?g.font:{},_=b.family,x=b.size,A=b.color,w;n==="title.text"?w="titleText":n.indexOf("axis")!==-1?w="axisTitleText":n.indexOf("colorbar"!==-1)&&(w="colorbarTitleText");var k=e._context.edits[w];m===""?h=0:m.replace(Z5," % ")===i.replace(Z5," % ")&&(h=.2,p=!0,k||(m="")),r._meta?m=vl.templateString(m,r._meta):d._meta&&(m=vl.templateString(m,d._meta));var L=m||k,S;c||(c=vl.ensureSingle(d._infolayer,"g","g-"+t),S=d._hColorbarMoveTitle);var q=c.selectAll("text").data(L?[0]:[]);if(q.enter().append("text"),q.text(m).attr("class",t),q.exit().remove(),!L)return c;function P(j){vl.syncOrAsync([I,F],j)}function I(j){var G;return!u&&S&&(u={}),u?(G="",u.rotate&&(G+="rotate("+[u.rotate,l.x,l.y]+")"),(u.offset||S)&&(G+=G5(0,(u.offset||0)-(S||0)))):G=null,j.attr("transform",G),j.style({"font-family":_,"font-size":dh.round(x,2)+"px",fill:V5.rgb(A),opacity:h*V5.opacity(A),"font-weight":B5.fontWeight}).attr(l).call(hy.convertToTspans,e),B5.previousPromises(e)}function F(j){var G=dh.select(j.node().parentNode);if(s&&s.selection&&s.side&&m){G.attr("transform",null);var V=cre[s.side],W=s.side==="left"||s.side==="top"?-1:1,Y=fre(s.pad)?s.pad:2,X=W5.bBox(G.node()),$={left:0,top:0,right:d.width,bottom:d.height},ae=s.maxShift||W*($[s.side]-X[s.side]),te=0;if(ae<0)te=ae;else{var le=s.offsetLeft||0,ge=s.offsetTop||0;X.left-=le,X.right-=le,X.top-=ge,X.bottom-=ge,s.selection.each(function(){var _e=W5.bBox(this);vl.bBoxIntersect(X,_e,Y)&&(te=Math.max(te,W*(_e[s.side]-X[V])+Y))}),te=Math.min(ae,te)}if(te>0||ae<0){var re={left:[-te,0],right:[te,0],top:[0,-te],bottom:[0,te]}[s.side];G.attr("transform",G5(re[0],re[1]))}}}q.call(P);function N(){h=0,p=!0,q.text(i).on("mouseover.opacity",function(){dh.select(this).transition().duration(Y5.SHOW_PLACEHOLDER).style("opacity",1)}).on("mouseout.opacity",function(){dh.select(this).transition().duration(Y5.HIDE_PLACEHOLDER).style("opacity",0)})}return k&&(m?q.on(".opacity",null):N(),q.call(hy.makeEditable,{gd:e}).on("edit",function(j){o!==void 0?U5.call("_guiRestyle",e,n,j,o):U5.call("_guiRelayout",e,n,j)}).on("cancel",function(){this.text(this.attr("data-unformatted")).call(P)}).on("input",function(j){this.text(j||" ").call(hy.positionText,l.x,l.y)})),q.classed("js-placeholder",p),c}X5.exports={draw:dre}});var xh=E((M1e,eD)=>{"use strict";var hre=Et(),vre=Us().utcFormat,ir=Pe(),pre=ir.numberFormat,ri=zt(),eo=ir.cleanNumber,mre=ir.ms2DateTime,Q5=ir.dateTime2ms,ai=ir.ensureNumber,$5=ir.isArrayOrTypedArray,to=_r(),hh=to.FP_SAFE,Rn=to.BADNUM,gre=to.LOG_CLIP,yre=to.ONEWEEK,vh=to.ONEDAY,ph=to.ONEHOUR,K5=to.ONEMIN,J5=to.ONESEC,mh=jr(),gh=ha(),yh=gh.HOUR_PATTERN,bh=gh.WEEKDAY_PATTERN;function af(e){return Math.pow(10,e)}function vy(e){return e!=null}eD.exports=function(t,r){r=r||{};var a=t._id||"x",n=a.charAt(0);function i(w,k){if(w>0)return Math.log(w)/Math.LN10;if(w<=0&&k&&t.range&&t.range.length===2){var L=t.range[0],S=t.range[1];return .5*(L+S-2*gre*Math.abs(L-S))}else return Rn}function o(w,k,L,S){if((S||{}).msUTC&&ri(w))return+w;var q=Q5(w,L||t.calendar);if(q===Rn)if(ri(w)){w=+w;var P=Math.floor(ir.mod(w+.05,1)*10),I=Math.round(w-P/10);q=Q5(new Date(I))+P/10}else return Rn;return q}function s(w,k,L){return mre(w,k,L||t.calendar)}function l(w){return t._categories[Math.round(w)]}function u(w){if(vy(w)){if(t._categoriesMap===void 0&&(t._categoriesMap={}),t._categoriesMap[w]!==void 0)return t._categoriesMap[w];t._categories.push(typeof w=="number"?String(w):w);var k=t._categories.length-1;return t._categoriesMap[w]=k,k}return Rn}function c(w,k){for(var L=new Array(k),S=0;St.range[1]&&(L=!L);for(var S=L?-1:1,q=S*w,P=0,I=0;IN)P=I+1;else{P=q<(F+N)/2?I:I+1;break}}var j=t._B[P]||0;return isFinite(j)?g(w,t._m2,j):0},_=function(w){var k=t._rangebreaks.length;if(!k)return m(w,t._m,t._b);for(var L=0,S=0;St._rangebreaks[S].pmax&&(L=S+1);return m(w,t._m2,t._B[L])}}t.c2l=t.type==="log"?i:ai,t.l2c=t.type==="log"?af:ai,t.l2p=b,t.p2l=_,t.c2p=t.type==="log"?function(w,k){return b(i(w,k))}:b,t.p2c=t.type==="log"?function(w){return af(_(w))}:_,["linear","-"].indexOf(t.type)!==-1?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=eo,t.c2d=t.c2r=t.l2d=t.l2r=ai,t.d2p=t.r2p=function(w){return t.l2p(eo(w))},t.p2d=t.p2r=_,t.cleanPos=ai):t.type==="log"?(t.d2r=t.d2l=function(w,k){return i(eo(w),k)},t.r2d=t.r2c=function(w){return af(eo(w))},t.d2c=t.r2l=eo,t.c2d=t.l2r=ai,t.c2r=i,t.l2d=af,t.d2p=function(w,k){return t.l2p(t.d2r(w,k))},t.p2d=function(w){return af(_(w))},t.r2p=function(w){return t.l2p(eo(w))},t.p2r=_,t.cleanPos=ai):t.type==="date"?(t.d2r=t.r2d=ir.identity,t.d2c=t.r2c=t.d2l=t.r2l=o,t.c2d=t.c2r=t.l2d=t.l2r=s,t.d2p=t.r2p=function(w,k,L){return t.l2p(o(w,0,L))},t.p2d=t.p2r=function(w,k,L){return s(_(w),k,L)},t.cleanPos=function(w){return ir.cleanDate(w,Rn,t.calendar)}):t.type==="category"?(t.d2c=t.d2l=u,t.r2d=t.c2d=t.l2d=l,t.d2r=t.d2l_noadd=h,t.r2c=function(w){var k=p(w);return k!==void 0?k:t.fraction2r(.5)},t.l2r=t.c2r=ai,t.r2l=p,t.d2p=function(w){return t.l2p(t.r2c(w))},t.p2d=function(w){return l(_(w))},t.r2p=t.d2p,t.p2r=_,t.cleanPos=function(w){return typeof w=="string"&&w!==""?w:ai(w)}):t.type==="multicategory"&&(t.r2d=t.c2d=t.l2d=l,t.d2r=t.d2l_noadd=h,t.r2c=function(w){var k=h(w);return k!==void 0?k:t.fraction2r(.5)},t.r2c_just_indices=d,t.l2r=t.c2r=ai,t.r2l=h,t.d2p=function(w){return t.l2p(t.r2c(w))},t.p2d=function(w){return l(_(w))},t.r2p=t.d2p,t.p2r=_,t.cleanPos=function(w){return Array.isArray(w)||typeof w=="string"&&w!==""?w:ai(w)},t.setupMultiCategory=function(w){var k=t._traceIndices,L,S,q=t._matchGroup;if(q&&t._categories.length===0){for(var P in q)if(P!==a){var I=r[mh.id2name(P)];k=k.concat(I._traceIndices)}}var F=[[0,{}],[0,{}]],N=[];for(L=0;Lhh&&(L[S]=hh),L[0]===L[1]){var I=Math.max(1,Math.abs(L[0]*1e-6));L[0]-=I,L[1]+=I}}},t.setScale=function(w){var k=r._size;if(t.overlaying){var L=mh.getFromId({_fullLayout:r},t.overlaying);t.domain=L.domain}var S=w&&t._r?"_r":"range",q=t.calendar;t.cleanRange(S);var P=t.r2l(t[S][0],q),I=t.r2l(t[S][1],q),F=n==="y";if(F?(t._offset=k.t+(1-t.domain[1])*k.h,t._length=k.h*(t.domain[1]-t.domain[0]),t._m=t._length/(P-I),t._b=-t._m*I):(t._offset=k.l+t.domain[0]*k.w,t._length=k.w*(t.domain[1]-t.domain[0]),t._m=t._length/(I-P),t._b=-t._m*P),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks){var N,j;if(t._rangebreaks=t.locateBreaks(Math.min(P,I),Math.max(P,I)),t._rangebreaks.length){for(N=0;NI&&(G=!G),G&&t._rangebreaks.reverse();var V=G?-1:1;for(t._m2=V*t._length/(Math.abs(I-P)-t._lBreaks),t._B.push(-t._m2*(F?I:P)),N=0;Nq&&(q+=7,Pq&&(q+=24,P=S&&P=S&&w=ee.min&&(leee.max&&(ee.max=ge),re=!1)}re&&I.push({min:le,max:ge})}};for(L=0;L{"use strict";var tD=zt(),py=Pe(),bre=_r().BADNUM,_h=py.isArrayOrTypedArray,xre=py.isDateTime,_re=py.cleanNumber,rD=Math.round;nD.exports=function(t,r,a){var n=t,i=a.noMultiCategory;if(_h(n)&&!n.length)return"-";if(!i&&Mre(n))return"multicategory";if(i&&Array.isArray(n[0])){for(var o=[],s=0;si*2}function aD(e){return Math.max(1,(e-1)/1e3)}function kre(e,t){for(var r=e.length,a=aD(r),n=0,i=0,o={},s=0;sn*2}function Mre(e){return _h(e[0])&&_h(e[1])}});var nf=E((C1e,cD)=>{"use strict";var Sre=Et(),iD=zt(),Yo=Pe(),wh=_r().FP_SAFE,Cre=vt(),Lre=Kt(),oD=jr(),qre=oD.getFromId,Dre=oD.isLinked;cD.exports={getAutoRange:gy,makePadFn:yy,doAutoRange:Rre,findExtremes:Ire,concatExtremes:by};function gy(e,t){var r,a,n=[],i=e._fullLayout,o=yy(i,t,0),s=yy(i,t,1),l=by(e,t),u=l.min,c=l.max;if(u.length===0||c.length===0)return Yo.simpleMap(t.range,t.r2l);var d=u[0].val,h=c[0].val;for(r=1;r0&&(P=x-o(k)-s(L),P>A?I/P>w&&(S=k,q=L,w=I/P):I/x>w&&(S={val:k.val,nopad:1},q={val:L.val,nopad:1},w=I/x));function F(W,Y){return Math.max(W,s(Y))}if(d===h){var N=d-1,j=d+1;if(b)if(d===0)n=[0,1];else{var G=(d>0?c:u).reduce(F,0),V=d/(1-Math.min(.5,G/x));n=d>0?[0,V]:[V,0]}else _?n=[Math.max(0,N),Math.max(1,j)]:n=[N,j]}else b?(S.val>=0&&(S={val:0,nopad:1}),q.val<=0&&(q={val:0,nopad:1})):_&&(S.val-w*o(S)<0&&(S={val:0,nopad:1}),q.val<=0&&(q={val:1,nopad:1})),w=(q.val-S.val-sD(t,k.val,L.val))/(x-o(S)-s(q)),n=[S.val-w*o(S),q.val+w*s(q)];return p&&n.reverse(),Yo.simpleMap(n,t.l2r||Number)}function sD(e,t,r){var a=0;if(e.rangebreaks)for(var n=e.locateBreaks(t,r),i=0;i0?r.ppadplus:r.ppadminus)||r.ppad||0),L=w((e._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),S=w(r.vpadplus||r.vpad),q=w(r.vpadminus||r.vpad);if(!u){if(x=1/0,A=-1/0,l)for(d=0;d0&&(x=h),h>A&&h-wh&&(x=h),h>A&&h=F;d--)I(d);return{min:a,max:n,opts:r}}function xy(e,t,r,a){uD(e,t,r,a,Ere)}function _y(e,t,r,a){uD(e,t,r,a,zre)}function uD(e,t,r,a,n){for(var i=a.tozero,o=a.extrapad,s=!0,l=0;l=r&&(u.extrapad||!o)){s=!1;break}else n(t,u.val)&&u.pad<=r&&(o||!u.extrapad)&&(e.splice(l,1),l--)}if(s){var c=i&&t===0;e.push({val:t,pad:c?0:r,extrapad:c?!1:o})}}function fD(e){return iD(e)&&Math.abs(e)=t}});var Jt=E((L1e,DD)=>{"use strict";var cn=Et(),Ar=zt(),pl=Er(),of=vt(),_t=Pe(),ml=_t.strTranslate,sf=Oa(),Nre=rf(),lf=qt(),$a=Kt(),Fre=ti(),dD=$g(),va=_r(),jre=va.ONEMAXYEAR,Th=va.ONEAVGYEAR,wy=va.ONEMINYEAR,Ore=va.ONEMAXQUARTER,Ty=va.ONEAVGQUARTER,Ay=va.ONEMINQUARTER,Hre=va.ONEMAXMONTH,gl=va.ONEAVGMONTH,ky=va.ONEMINMONTH,dn=va.ONEWEEK,Sa=va.ONEDAY,Zo=Sa/2,Ai=va.ONEHOUR,Ah=va.ONEMIN,My=va.ONESEC,Xo=va.MINUS_SIGN,kh=va.BADNUM,Sy={K:"zeroline"},Cy={K:"gridline",L:"path"},Ly={K:"minor-gridline",L:"path"},hD={K:"tick",L:"path"},vD={K:"tick",L:"text"},pD={width:["x","r","l","xl","xr"],height:["y","t","b","yt","yb"],right:["r","xr"],left:["l","xl"],top:["t","yt"],bottom:["b","yb"]},Mh=Ma(),Sh=Mh.MID_SHIFT,Qo=Mh.CAP_SHIFT,Ch=Mh.LINE_SPACING,Bre=Mh.OPPOSITE_SIDE,qy=3,Ie=DD.exports={};Ie.setConvert=xh();var Ure=my(),ki=jr(),Gre=ki.idSort,Wre=ki.isLinked;Ie.id2name=ki.id2name;Ie.name2id=ki.name2id;Ie.cleanId=ki.cleanId;Ie.list=ki.list;Ie.listIds=ki.listIds;Ie.getFromId=ki.getFromId;Ie.getFromTrace=ki.getFromTrace;var mD=nf();Ie.getAutoRange=mD.getAutoRange;Ie.findExtremes=mD.findExtremes;var Vre=1e-4;function Dy(e){var t=(e[1]-e[0])*Vre;return[e[0]-t,e[1]+t]}Ie.coerceRef=function(e,t,r,a,n,i){var o=a.charAt(a.length-1),s=r._fullLayout._subplots[o+"axis"],l=a+"ref",u={};return n||(n=s[0]||(typeof i=="string"?i:i[0])),i||(i=n),s=s.concat(s.map(function(c){return c+" domain"})),u[l]={valType:"enumerated",values:s.concat(i?typeof i=="string"?[i]:i:[]),dflt:n},_t.coerce(e,t,u,l)};Ie.getRefType=function(e){return e===void 0?e:e==="paper"?"paper":e==="pixel"?"pixel":/( domain)$/.test(e)?"domain":"range"};Ie.coercePosition=function(e,t,r,a,n,i){var o,s,l=Ie.getRefType(a);if(l!=="range")o=_t.ensureNumber,s=r(n,i);else{var u=Ie.getFromId(t,a);i=u.fraction2r(i),s=r(n,i),o=u.cleanPos}e[n]=o(s)};Ie.cleanPosition=function(e,t,r){var a=r==="paper"||r==="pixel"?_t.ensureNumber:Ie.getFromId(t,r).cleanPos;return a(e)};Ie.redrawComponents=function(e,t){t=t||Ie.listIds(e);var r=e._fullLayout;function a(n,i,o,s){for(var l=of.getComponentMethod(n,i),u={},c=0;c2e-6||((r-e._forceTick0)/e._minDtick%1+1.000001)%1>2e-6)&&(e._minDtick=0))};Ie.saveRangeInitial=function(e,t){for(var r=Ie.list(e,"",!0),a=!1,n=0;nd*.3||u(a)||u(n))){var h=r.dtick/2;e+=e+ho){var s=Number(r.substr(1));i.exactYears>o&&s%12==0?e=Ie.tickIncrement(e,"M6","reverse")+Sa*1.5:i.exactMonths>o?e=Ie.tickIncrement(e,"M1","reverse")+Sa*15.5:e-=Zo;var l=Ie.tickIncrement(e,r);if(l<=a)return l}return e}Ie.prepMinorTicks=function(e,t,r){if(!t.minor.dtick){delete e.dtick;var a=t.dtick&&Ar(t._tmin),n;if(a){var i=Ie.tickIncrement(t._tmin,t.dtick,!0);n=[t._tmin,i*.99+t._tmin*.01]}else{var o=_t.simpleMap(t.range,t.r2l);n=[o[0],.8*o[0]+.2*o[1]]}if(e.range=_t.simpleMap(n,t.l2r),e._isMinor=!0,Ie.prepTicks(e,r),a){var s=Ar(t.dtick),l=Ar(e.dtick),u=s?t.dtick:+t.dtick.substring(1),c=l?e.dtick:+e.dtick.substring(1);s&&l?Py(u,c)?u===2*dn&&c===2*Sa&&(e.dtick=dn):u===2*dn&&c===3*Sa?e.dtick=dn:u===dn&&!(t._input.minor||{}).nticks?e.dtick=Sa:bD(u/c,2.5)?e.dtick=u/2:e.dtick=u:String(t.dtick).charAt(0)==="M"?l?e.dtick="M1":Py(u,c)?u>=12&&c===2&&(e.dtick="M3"):e.dtick=t.dtick:String(e.dtick).charAt(0)==="L"?String(t.dtick).charAt(0)==="L"?Py(u,c)||(e.dtick=bD(u/c,2.5)?t.dtick/2:t.dtick):e.dtick="D1":e.dtick==="D2"&&+t.dtick>1&&(e.dtick=1)}e.range=t.range}t.minor._tick0Init===void 0&&(e.tick0=t.tick0)};function Py(e,t){return Math.abs((e/t+.5)%1-.5)<.001}function bD(e,t){return Math.abs(e/t-1)<.001}Ie.prepTicks=function(e,t){var r=_t.simpleMap(e.range,e.r2l,void 0,void 0,t);if(e.tickmode==="auto"||!e.dtick){var a=e.nticks,n;a||(e.type==="category"||e.type==="multicategory"?(n=e.tickfont?_t.bigFont(e.tickfont.size||12):15,a=e._length/n):(n=e._id.charAt(0)==="y"?40:80,a=_t.constrain(e._length/n,4,9)+1),e._name==="radialaxis"&&(a*=2)),e.minor&&e.minor.tickmode!=="array"||e.tickmode==="array"&&(a*=100),e._roughDTick=Math.abs(r[1]-r[0])/a,Ie.autoTicks(e,e._roughDTick),e._minDtick>0&&e.dtick0?(i=a-1,o=a):(i=a,o=a);var s=e[i].value,l=e[o].value,u=Math.abs(l-s),c=r||u,d=0;c>=wy?u>=wy&&u<=jre?d=u:d=Th:r===Ty&&c>=Ay?u>=Ay&&u<=Ore?d=u:d=Ty:c>=ky?u>=ky&&u<=Hre?d=u:d=gl:r===dn&&c>=dn?d=dn:c>=Sa?d=Sa:r===Zo&&c>=Zo?d=Zo:r===Ai&&c>=Ai&&(d=Ai);var h;d>=u&&(d=u,h=!0);var p=n+d;if(t.rangebreaks&&d>0){for(var g=84,m=0,b=0;bdn&&(d=u)}(d>0||a===0)&&(e[a].periodX=n+d/2)}}Ie.calcTicks=function(t,r){for(var a=t.type,n=t.calendar,i=t.ticklabelstep,o=t.ticklabelmode==="period",s=_t.simpleMap(t.range,t.r2l,void 0,void 0,r),l=s[1]=(b?0:1);_--){var x=!_;_?(t._dtickInit=t.dtick,t._tick0Init=t.tick0):(t.minor._dtickInit=t.minor.dtick,t.minor._tick0Init=t.minor.tick0);var A=_?t:_t.extendFlat({},t,t.minor);if(x?Ie.prepMinorTicks(A,t,r):Ie.prepTicks(A,r),A.tickmode==="array"){_?(g=[],h=xD(t)):(m=[],p=xD(t));continue}var w=Dy(s),k=w[0],L=w[1],S=Ar(A.dtick),q=a==="log"&&!(S||A.dtick.charAt(0)==="L"),P=Ie.tickFirst(A,r);if(_){if(t._tmin=P,P=L:F<=L;F=Ie.tickIncrement(F,G,l,n)){if(_&&N++,A.rangebreaks&&!l){if(F=c)break}if(g.length>d||F===I)break;I=F;var V={value:F};_?(q&&F!==(F|0)&&(V.simpleLabel=!0),i>1&&N%i&&(V.skipLabel=!0),g.push(V)):(V.minor=!0,m.push(V))}}if(b){var W=t.minor.ticks==="inside"&&t.ticks==="outside"||t.minor.ticks==="outside"&&t.ticks==="inside";if(!W){for(var Y=g.map(function(ie){return ie.value}),X=[],$=0;$-1;re--){if(g[re].drop){g.splice(re,1);continue}g[re].value=Oy(g[re].value,t);var Me=t.c2p(g[re].value);(_e?ke>Me-ee:kec||Uc&&(Ce.periodX=c),Ua&&dTh)t/=Th,a=n(10),e.dtick="M"+12*ni(t,a,Lh);else if(i>gl)t/=gl,e.dtick="M"+ni(t,1,_D);else if(i>Sa){if(e.dtick=ni(t,Sa,e._hasDayOfWeekBreaks?[1,2,7,14]:Kre),!r){var o=Ie.getTickFormat(e),s=e.ticklabelmode==="period";s&&(e._rawTick0=e.tick0),/%[uVW]/.test(o)?e.tick0=_t.dateTick0(e.calendar,2):e.tick0=_t.dateTick0(e.calendar,1),s&&(e._dowTick0=e.tick0)}}else i>Ai?e.dtick=ni(t,Ai,_D):i>Ah?e.dtick=ni(t,Ah,wD):i>My?e.dtick=ni(t,My,wD):(a=n(10),e.dtick=ni(t,a,Lh))}else if(e.type==="log"){e.tick0=0;var l=_t.simpleMap(e.range,e.r2l);if(e._isMinor&&(t*=1.5),t>.7)e.dtick=Math.ceil(t);else if(Math.abs(l[1]-l[0])<1){var u=1.5*Math.abs((l[1]-l[0])/t);t=Math.abs(Math.pow(10,l[1])-Math.pow(10,l[0]))/u,a=n(10),e.dtick="L"+ni(t,a,Lh)}else e.dtick=t>.3?"D2":"D1"}else e.type==="category"||e.type==="multicategory"?(e.tick0=0,e.dtick=Math.ceil(Math.max(t,1))):jy(e)?(e.tick0=0,a=1,e.dtick=ni(t,a,Jre)):(e.tick0=0,a=n(10),e.dtick=ni(t,a,Lh));if(e.dtick===0&&(e.dtick=1),!Ar(e.dtick)&&typeof e.dtick!="string"){var c=e.dtick;throw e.dtick=1,"ax.dtick error: "+String(c)}};function kD(e){var t=e.dtick;if(e._tickexponent=0,!Ar(t)&&typeof t!="string"&&(t=1),(e.type==="category"||e.type==="multicategory")&&(e._tickround=null),e.type==="date"){var r=e.r2l(e.tick0),a=e.l2r(r).replace(/(^-|i)/g,""),n=a.length;if(String(t).charAt(0)==="M")n>10||a.substr(5)!=="01-01"?e._tickround="d":e._tickround=+t.substr(1)%12==0?"y":"m";else if(t>=Sa&&n<=10||t>=Sa*15)e._tickround="d";else if(t>=Ah&&n<=16||t>=Ai)e._tickround="M";else if(t>=My&&n<=19||t>=Ah)e._tickround="S";else{var i=e.l2r(r+t).replace(/^-/,"").length;e._tickround=Math.max(n,i)-20,e._tickround<0&&(e._tickround=4)}}else if(Ar(t)||t.charAt(0)==="L"){var o=e.range.map(e.r2d||Number);Ar(t)||(t=Number(t.substr(1))),e._tickround=2-Math.floor(Math.log(t)/Math.LN10+.01);var s=Math.max(Math.abs(o[0]),Math.abs(o[1])),l=Math.floor(Math.log(s)/Math.LN10+.01),u=e.minexponent===void 0?3:e.minexponent;Math.abs(l)>u&&(qh(e.exponentformat)&&!Ey(l)?e._tickexponent=3*Math.round((l-1)/3):e._tickexponent=l)}else e._tickround=null}Ie.tickIncrement=function(e,t,r,a){var n=r?-1:1;if(Ar(t))return _t.increment(e,n*t);var i=t.charAt(0),o=n*Number(t.substr(1));if(i==="M")return _t.incrementMonth(e,o,a);if(i==="L")return Math.log(Math.pow(10,e)+o)/Math.LN10;if(i==="D"){var s=t==="D2"?AD:TD,l=e+n*.01,u=_t.roundUp(_t.mod(l,1),s,r);return Math.floor(l)+Math.log(cn.round(Math.pow(10,u),1))/Math.LN10}throw"unrecognized dtick "+String(t)};Ie.tickFirst=function(e,t){var r=e.r2l||Number,a=_t.simpleMap(e.range,r,void 0,void 0,t),n=a[1]=0&&b<=e._length?m:null};n.xbnd=[g(n.x-.5),g(n.x+e.dtick-.5)]}return n};Ie.hoverLabelText=function(e,t,r){r&&(e=_t.extendFlat({},e,{hoverformat:r}));var a=Array.isArray(t)?t[0]:t,n=Array.isArray(t)?t[1]:void 0;if(n!==void 0&&n!==a)return Ie.hoverLabelText(e,a,r)+" - "+Ie.hoverLabelText(e,n,r);var i=e.type==="log"&&a<=0,o=Ie.tickText(e,e.c2l(i?-a:a),"hover").text;return i?a===0?"0":Xo+o:o};function Iy(e,t,r){var a=e.tickfont||{};return{x:t,dx:0,dy:0,text:r||"",fontSize:a.size,font:a.family,fontColor:a.color}}function eae(e,t,r,a){var n=e._tickround,i=r&&e.hoverformat||Ie.getTickFormat(e);a&&(Ar(n)?n=4:n={y:"m",m:"d",d:"M",M:"S",S:4}[n]);var o=_t.formatDate(t.x,i,n,e._dateFormat,e.calendar,e._extraFormat),s,l=o.indexOf(` -`);if(l!==-1&&(s=o.substr(l+1),o=o.substr(0,l)),a&&(o==="00:00:00"||o==="00:00"?(o=s,s=""):o.length===8&&(o=o.replace(/:00$/,""))),s)if(r)n==="d"?o+=", "+s:o=s+(o?", "+o:"");else if(!e._inCalcTicks||e._prevDateHead!==s)e._prevDateHead=s,o+="
"+s;else{var u=ff(e),c=e._trueSide||e.side;(!u&&c==="top"||u&&c==="bottom")&&(o+="
")}t.text=o}function tae(e,t,r,a,n){var i=e.dtick,o=t.x,s=e.tickformat,l=typeof i=="string"&&i.charAt(0);if(n==="never"&&(n=""),a&&l!=="L"&&(i="L3",l="L"),s||l==="L")t.text=uf(Math.pow(10,o),e,n,a);else if(Ar(i)||l==="D"&&_t.mod(o+.01,1)<.1){var u=Math.round(o),c=Math.abs(u),d=e.exponentformat;d==="power"||qh(d)&&Ey(u)?(u===0?t.text=1:u===1?t.text="10":t.text="10"+(u>1?"":Xo)+c+"",t.fontSize*=1.25):(d==="e"||d==="E")&&c>2?t.text="1"+d+(u>0?"+":Xo)+c:(t.text=uf(Math.pow(10,o),e,"","fakehover"),i==="D1"&&e._id.charAt(0)==="y"&&(t.dy-=t.fontSize/6))}else if(l==="D")t.text=String(Math.round(Math.pow(10,_t.mod(o,1)))),t.fontSize*=.75;else throw"unrecognized dtick "+String(i);if(e.dtick==="D1"){var h=String(t.text).charAt(0);(h==="0"||h==="1")&&(e._id.charAt(0)==="y"?t.dx-=t.fontSize/4:(t.dy+=t.fontSize/2,t.dx+=(e.range[1]>e.range[0]?1:-1)*t.fontSize*(o<0?.5:.25)))}}function rae(e,t){var r=e._categories[Math.round(t.x)];r===void 0&&(r=""),t.text=String(r)}function aae(e,t,r){var a=Math.round(t.x),n=e._categories[a]||[],i=n[1]===void 0?"":String(n[1]),o=n[0]===void 0?"":String(n[0]);r?t.text=o+" - "+i:(t.text=i,t.text2=o)}function nae(e,t,r,a,n){n==="never"?n="":e.showexponent==="all"&&Math.abs(t.x/e.dtick)<1e-6&&(n="hide"),t.text=uf(t.x,e,n,a)}function iae(e,t,r,a,n){if(e.thetaunit==="radians"&&!r){var i=t.x/180;if(i===0)t.text="0";else{var o=oae(i);if(o[1]>=100)t.text=uf(_t.deg2rad(t.x),e,n,a);else{var s=t.x<0;o[1]===1?o[0]===1?t.text="\u03C0":t.text=o[0]+"\u03C0":t.text=["",o[0],"","\u2044","",o[1],"","\u03C0"].join(""),s&&(t.text=Xo+t.text)}}}else t.text=uf(t.x,e,n,a)}function oae(e){function t(s,l){return Math.abs(s-l)<=1e-6}function r(s,l){return t(l,0)?s:r(l,s%l)}function a(s){for(var l=1;!t(Math.round(s*l)/l,s);)l*=10;return l}var n=a(e),i=e*n,o=Math.abs(r(i,n));return[Math.round(i/o),Math.round(n/o)]}var sae=["f","p","n","\u03BC","m","","k","M","G","T"];function qh(e){return e==="SI"||e==="B"}function Ey(e){return e>14||e<-15}function uf(e,t,r,a){var n=e<0,i=t._tickround,o=r||t.exponentformat||"B",s=t._tickexponent,l=Ie.getTickFormat(t),u=t.separatethousands;if(a){var c={exponentformat:o,minexponent:t.minexponent,dtick:t.showexponent==="none"?t.dtick:Ar(e)&&Math.abs(e)||1,range:t.showexponent==="none"?t.range.map(t.r2d):[0,e||1]};kD(c),i=(Number(c._tickround)||0)+4,s=c._tickexponent,t.hoverformat&&(l=t.hoverformat)}if(l)return t._numFormat(l)(e).replace(/-/g,Xo);var d=Math.pow(10,-i)/2;if(o==="none"&&(s=0),e=Math.abs(e),e"+g+"":o==="B"&&s===9?e+="B":qh(o)&&(e+=sae[s/3+5])}return n?Xo+e:e}Ie.getTickFormat=function(e){var t;function r(l){return typeof l!="string"?l:Number(l.replace("M",""))*gl}function a(l,u){var c=["L","D"];if(typeof l==typeof u){if(typeof l=="number")return l-u;var d=c.indexOf(l.charAt(0)),h=c.indexOf(u.charAt(0));return d===h?Number(l.replace(/(L|D)/g,""))-Number(u.replace(/(L|D)/g,"")):d-h}else return typeof l=="number"?1:-1}function n(l,u,c){var d=c||function(g){return g},h=u[0],p=u[1];return(!h&&typeof h!="number"||d(h)<=d(l))&&(!p&&typeof p!="number"||d(p)>=d(l))}function i(l,u){var c=u[0]===null,d=u[1]===null,h=a(l,u[0])>=0,p=a(l,u[1])<=0;return(c||h)&&(d||p)}var o,s;if(e.tickformatstops&&e.tickformatstops.length>0)switch(e.type){case"date":case"linear":{for(t=0;t0?Fe.bottom-xe:0,Le)))),t.automargin){Te={x:0,y:0,r:0,l:0,t:0,b:0};var rt=[0,1];if(l==="x"){if(ie==="b"?Te[ie]=t._depth:(Te[ie]=t._depth=Math.max(Fe.width>0?xe-Fe.top:0,Le),rt.reverse()),Fe.width>0){var Je=Fe.right-(t._offset+t._length);Je>0&&(Te.xr=1,Te.r=Je);var ut=t._offset-Fe.left;ut>0&&(Te.xl=0,Te.l=ut)}}else if(ie==="l"?Te[ie]=t._depth=Math.max(Fe.height>0?xe-Fe.left:0,Le):(Te[ie]=t._depth=Math.max(Fe.height>0?Fe.right-xe:0,Le),rt.reverse()),Fe.height>0){var ht=Fe.bottom-(t._offset+t._length);ht>0&&(Te.yb=0,Te.b=ht);var ue=t._offset-Fe.top;ue>0&&(Te.yt=1,Te.t=ue)}Te[u]=t.anchor==="free"?t.position:t._anchorAxis.domain[rt[0]],t.title.text!==o._dfltTitle[l]&&(Te[ie]+=SD(t)+(t.title.standoff||0)),t.mirror&&t.anchor!=="free"&&(at={x:0,y:0,r:0,l:0,t:0,b:0},at[be]=t.linewidth,t.mirror&&t.mirror!==!0&&(at[be]+=Le),t.mirror===!0||t.mirror==="ticks"?at[u]=t._anchorAxis.domain[rt[1]]:(t.mirror==="all"||t.mirror==="allticks")&&(at[u]=[t._counterDomainMin,t._counterDomainMax][rt[1]]))}O&&(Ve=of.getComponentMethod("rangeslider","autoMarginOpts")(e,t)),typeof t.automargin=="string"&&(MD(Te,t.automargin),MD(at,t.automargin)),pl.autoMargin(e,Fy(t),Te),pl.autoMargin(e,LD(t),at),pl.autoMargin(e,qD(t),Ve)}),!r.skipTitle&&!(O&&t.side==="bottom")&&U.push(function(){return vae(e,t)}),_t.syncOrAsync(U)}};function MD(e,t){if(!!e){var r=Object.keys(pD).reduce(function(a,n){return t.indexOf(n)!==-1&&pD[n].forEach(function(i){a[i]=1}),a},{});Object.keys(e).forEach(function(a){r[a]||(a.length===1?e[a]=0:delete e[a])})}}function lae(e,t){var r=[],a,n=function(i,o){var s=i.xbnd[o];s!==null&&r.push(_t.extendFlat({},i,{x:s}))};if(t.length){for(a=0;a60?-.5*G:e.side==="top"!==c?-G:0};else if(S==="y"){if(P=!c&&L==="left"||c&&L==="right",w=P?1:-1,c&&(w*=-1),_=h,x=p*w,A=0,!c&&Math.abs(q)===90&&(q===-90&&L==="left"||q===90&&L==="right"?A=Qo:A=.5),c){var I=Ar(q)?+q:0;if(I!==0){var F=_t.deg2rad(I);k=Math.abs(Math.sin(F))*Qo*w,A=0}}b.xFn=function(N){return N.dx+t-(_+N.fontSize*A)*w+k*N.fontSize},b.yFn=function(N){return N.dy+x+N.fontSize*Sh},b.anchorFn=function(N,j){return Ar(j)&&Math.abs(j)===90?"middle":P?"end":"start"},b.heightFn=function(N,j,G){return e.side==="right"&&(j*=-1),j<-30?-G:j<30?-.5*G:0}}return b};function Dh(e){return[e.text,e.x,e.axInfo,e.font,e.fontSize,e.fontColor].join("_")}Ie.drawTicks=function(e,t,r){r=r||{};var a=t._id+"tick",n=[].concat(t.minor&&t.minor.ticks?r.vals.filter(function(o){return o.minor&&!o.noTick}):[]).concat(t.ticks?r.vals.filter(function(o){return!o.minor&&!o.noTick}):[]),i=r.layer.selectAll("path."+a).data(n,Dh);i.exit().remove(),i.enter().append("path").classed(a,1).classed("ticks",1).classed("crisp",r.crisp!==!1).each(function(o){return lf.stroke(cn.select(this),o.minor?t.minor.tickcolor:t.tickcolor)}).style("stroke-width",function(o){return $a.crispRound(e,o.minor?t.minor.tickwidth:t.tickwidth,1)+"px"}).attr("d",r.path).style("display",null),Rh(t,[hD]),i.attr("transform",r.transFn)};Ie.drawGrid=function(e,t,r){r=r||{};var a=t._id+"grid",n=t.minor&&t.minor.showgrid,i=n?r.vals.filter(function(_){return _.minor}):[],o=t.showgrid?r.vals.filter(function(_){return!_.minor}):[],s=r.counterAxis;if(s&&Ie.shouldShowZeroLine(e,t,s))for(var l=t.tickmode==="array",u=0;u=0;g--){var m=g?h:p;if(!!m){var b=m.selectAll("path."+a).data(g?o:i,Dh);b.exit().remove(),b.enter().append("path").classed(a,1).classed("crisp",r.crisp!==!1),b.attr("transform",r.transFn).attr("d",r.path).each(function(_){return lf.stroke(cn.select(this),_.minor?t.minor.gridcolor:t.gridcolor||"#ddd")}).style("stroke-dasharray",function(_){return $a.dashStyle(_.minor?t.minor.griddash:t.griddash,_.minor?t.minor.gridwidth:t.gridwidth)}).style("stroke-width",function(_){return(_.minor?d:t._gw)+"px"}).style("display",null),typeof r.path=="function"&&b.attr("d",r.path)}}Rh(t,[Cy,Ly])};Ie.drawZeroLine=function(e,t,r){r=r||r;var a=t._id+"zl",n=Ie.shouldShowZeroLine(e,t,r.counterAxis),i=r.layer.selectAll("path."+a).data(n?[{x:0,id:t._id}]:[]);i.exit().remove(),i.enter().append("path").classed(a,1).classed("zl",1).classed("crisp",r.crisp!==!1).each(function(){r.layer.selectAll("path").sort(function(o,s){return Gre(o.id,s.id)})}),i.attr("transform",r.transFn).attr("d",r.path).call(lf.stroke,t.zerolinecolor||lf.defaultLine).style("stroke-width",$a.crispRound(e,t.zerolinewidth,t._gw||1)+"px").style("display",null),Rh(t,[Sy])};Ie.drawLabels=function(e,t,r){r=r||{};var a=e._fullLayout,n=t._id,i=n.charAt(0),o=r.cls||n+"tick",s=r.vals.filter(function(w){return w.text}),l=r.labelFns,u=r.secondary?0:t.tickangle,c=(t._prevTickAngles||{})[o],d=r.layer.selectAll("g."+o).data(t.showticklabels?s:[],Dh),h=[];d.enter().append("g").classed(o,1).append("text").attr("text-anchor","middle").each(function(w){var k=cn.select(this),L=e._promises.length;k.call(sf.positionText,l.xFn(w),l.yFn(w)).call($a.font,w.font,w.fontSize,w.fontColor).text(w.text).call(sf.convertToTspans,e),e._promises[L]?h.push(e._promises.pop().then(function(){p(k,u)})):p(k,u)}),Rh(t,[vD]),d.exit().remove(),r.repositionOnUpdate&&d.each(function(w){cn.select(this).select("text").call(sf.positionText,l.xFn(w),l.yFn(w))});function p(w,k){w.each(function(L){var S=cn.select(this),q=S.select(".text-math-group"),P=l.anchorFn(L,k),I=r.transFn.call(S.node(),L)+(Ar(k)&&+k!=0?" rotate("+k+","+l.xFn(L)+","+(l.yFn(L)-L.fontSize/2)+")":""),F=sf.lineCount(S),N=Ch*L.fontSize,j=l.heightFn(L,Ar(k)?+k:0,(F-1)*N);if(j&&(I+=ml(0,j)),q.empty()){var G=S.select("text");G.attr({transform:I,"text-anchor":P}),G.style("opacity",1),t._adjustTickLabelsOverflow&&t._adjustTickLabelsOverflow()}else{var V=$a.bBox(q.node()).width,W=V*{end:-.5,start:.5}[P];q.attr("transform",I+ml(W,0))}})}t._adjustTickLabelsOverflow=function(){var w=t.ticklabeloverflow;if(!(!w||w==="allow")){var k=w.indexOf("hide")!==-1,L=t._id.charAt(0)==="x",S=0,q=L?e._fullLayout.width:e._fullLayout.height;if(w.indexOf("domain")!==-1){var P=_t.simpleMap(t.range,t.r2l);S=t.l2p(P[0])+t._offset,q=t.l2p(P[1])+t._offset}var I=Math.min(S,q),F=Math.max(S,q),N=t.side,j=1/0,G=-1/0;d.each(function(X){var $=cn.select(this),ae=$.select(".text-math-group");if(ae.empty()){var te=$a.bBox($.node()),le=0;L?(te.right>F||te.leftF||te.top+(t.tickangle?0:X.fontSize/4)t["_visibleLabelMin_"+P._id]?X.style("display","none"):F.K==="tick"&&!I&&X.style("display",null)})})})})},p(d,c+1?c:u);function g(){return h.length&&Promise.all(h)}var m=null;function b(){if(p(d,u),s.length&&i==="x"&&!Ar(u)&&(t.type!=="log"||String(t.dtick).charAt(0)!=="D")){m=0;var w=0,k=[],L;if(d.each(function(te){w=Math.max(w,te.fontSize);var le=t.l2p(te.x),ge=Ny(this),re=$a.bBox(ge.node());k.push({top:0,bottom:10,height:10,left:le-re.width/2,right:le+re.width/2+2,width:re.width+2})}),(t.tickson==="boundaries"||t.showdividers)&&!r.secondary){var S=2;for(t.ticks&&(S+=t.tickwidth/2),L=0;L1&&r1)for(n=1;n=n.min&&e{var xae={left:0,top:0};PD.exports=_ae;function _ae(e,t,r){t=t||e.currentTarget||e.srcElement,Array.isArray(r)||(r=[0,0]);var a=e.clientX||0,n=e.clientY||0,i=wae(t);return r[0]=a-i.left,r[1]=n-i.top,r}function wae(e){return e===window||e===document||e===document.body?xae:e.getBoundingClientRect()}});var Hy=E((D1e,ID)=>{"use strict";var Tae=xg();function Aae(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch(r){e=!1}return e}ID.exports=Tae&&Aae()});var zD=E((P1e,ED)=>{"use strict";ED.exports=function(t,r,a,n,i){var o=(t-a)/(n-a),s=o+r/(n-a),l=(o+s)/2;return i==="left"||i==="bottom"?o:i==="center"||i==="middle"?l:i==="right"||i==="top"?s:o<2/3-l?o:s>4/3-l?s:l}});var jD=E((R1e,FD)=>{"use strict";var ND=Pe(),kae=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];FD.exports=function(t,r,a,n){return a==="left"?t=0:a==="center"?t=1:a==="right"?t=2:t=ND.constrain(Math.floor(t*3),0,2),n==="bottom"?r=0:n==="middle"?r=1:n==="top"?r=2:r=ND.constrain(Math.floor(r*3),0,2),kae[r][t]}});var HD=E((I1e,OD)=>{"use strict";var Mae=Gu(),Sae=Bd(),Cae=Pd().getGraphDiv,Lae=Pu(),By=OD.exports={};By.wrapped=function(e,t,r){e=Cae(e),e._fullLayout&&Sae.clear(e._fullLayout._uid+Lae.HOVERID),By.raw(e,t,r)};By.raw=function(t,r){var a=t._fullLayout,n=t._hoverdata;r||(r={}),!(r.target&&!t._dragged&&Mae.triggerHandler(t,"plotly_beforehover",r)===!1)&&(a._hoverlayer.selectAll("g").remove(),a._hoverlayer.selectAll("line").remove(),a._hoverlayer.selectAll("circle").remove(),t._hoverdata=void 0,r.target&&n&&t.emit("plotly_unhover",{event:r,points:n}))}});var In=E((E1e,GD)=>{"use strict";var qae=RD(),Uy=wg(),Dae=Hy(),Pae=Pe().removeElement,Rae=ha(),$o=GD.exports={};$o.align=zD();$o.getCursor=jD();var BD=HD();$o.unhover=BD.wrapped;$o.unhoverRaw=BD.raw;$o.init=function(t){var r=t.gd,a=1,n=r._context.doubleClickDelay,i=t.element,o,s,l,u,c,d,h,p;r._mouseDownTime||(r._mouseDownTime=0),i.style.pointerEvents="all",i.onmousedown=b,Dae?(i._ontouchstart&&i.removeEventListener("touchstart",i._ontouchstart),i._ontouchstart=b,i.addEventListener("touchstart",b,{passive:!1})):i.ontouchstart=b;function g(A,w,k){return Math.abs(A)n&&(a=Math.max(a-1,1)),r._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(a,d),!p){var w;try{w=new MouseEvent("click",A)}catch(L){var k=Gy(A);w=document.createEvent("MouseEvents"),w.initMouseEvent("click",A.bubbles,A.cancelable,A.view,A.detail,A.screenX,A.screenY,k[0],k[1],A.ctrlKey,A.altKey,A.shiftKey,A.metaKey,A.button,A.relatedTarget)}h.dispatchEvent(w)}r._dragging=!1,r._dragged=!1}};function UD(){var e=document.createElement("div");e.className="dragcover";var t=e.style;return t.position="fixed",t.left=0,t.right=0,t.top=0,t.bottom=0,t.zIndex=999999999,t.background="none",document.body.appendChild(e),e}$o.coverSlip=UD;function Gy(e){return qae(e.changedTouches?e.changedTouches[0]:e,document.body)}});var ro=E((z1e,WD)=>{"use strict";WD.exports=function(t,r){(t.attr("class")||"").split(" ").forEach(function(a){a.indexOf("cursor-")===0&&t.classed(a,!1)}),r&&t.classed("cursor-"+r,!0)}});var ZD=E((N1e,YD)=>{"use strict";var Wy=ro(),cf="data-savedcursor",VD="!!";YD.exports=function(t,r){var a=t.attr(cf);if(r){if(!a){for(var n=(t.attr("class")||"").split(" "),i=0;i{"use strict";var Vy=ka(),Iae=vi();XD.exports={bgcolor:{valType:"color",editType:"legend",description:["Sets the legend background color.","Defaults to `layout.paper_bgcolor`."].join(" ")},bordercolor:{valType:"color",dflt:Iae.defaultLine,editType:"legend",description:"Sets the color of the border enclosing the legend."},borderwidth:{valType:"number",min:0,dflt:0,editType:"legend",description:"Sets the width (in px) of the border enclosing the legend."},font:Vy({editType:"legend",description:"Sets the font used to text the legend items."}),grouptitlefont:Vy({editType:"legend",description:["Sets the font for group titles in legend.","Defaults to `legend.font` with its size increased about 10%."].join(" ")}),orientation:{valType:"enumerated",values:["v","h"],dflt:"v",editType:"legend",description:"Sets the orientation of the legend."},traceorder:{valType:"flaglist",flags:["reversed","grouped"],extras:["normal"],editType:"legend",description:["Determines the order at which the legend items are displayed.","If *normal*, the items are displayed top-to-bottom in the same","order as the input data.","If *reversed*, the items are displayed in the opposite order","as *normal*.","If *grouped*, the items are displayed in groups","(when a trace `legendgroup` is provided).","if *grouped+reversed*, the items are displayed in the opposite order","as *grouped*."].join(" ")},tracegroupgap:{valType:"number",min:0,dflt:10,editType:"legend",description:["Sets the amount of vertical space (in px) between legend groups."].join(" ")},itemsizing:{valType:"enumerated",values:["trace","constant"],dflt:"trace",editType:"legend",description:["Determines if the legend items symbols scale with their corresponding *trace* attributes","or remain *constant* independent of the symbol size on the graph."].join(" ")},itemwidth:{valType:"number",min:30,dflt:30,editType:"legend",description:"Sets the width (in px) of the legend item symbols (the part other than the title.text)."},itemclick:{valType:"enumerated",values:["toggle","toggleothers",!1],dflt:"toggle",editType:"legend",description:["Determines the behavior on legend item click.","*toggle* toggles the visibility of the item clicked on the graph.","*toggleothers* makes the clicked item the sole visible item on the graph.","*false* disables legend item click interactions."].join(" ")},itemdoubleclick:{valType:"enumerated",values:["toggle","toggleothers",!1],dflt:"toggleothers",editType:"legend",description:["Determines the behavior on legend item double-click.","*toggle* toggles the visibility of the item clicked on the graph.","*toggleothers* makes the clicked item the sole visible item on the graph.","*false* disables legend item double-click interactions."].join(" ")},groupclick:{valType:"enumerated",values:["toggleitem","togglegroup"],dflt:"togglegroup",editType:"legend",description:["Determines the behavior on legend group item click.","*toggleitem* toggles the visibility of the individual item clicked on the graph.","*togglegroup* toggles the visibility of all items in the same legendgroup as the item clicked on the graph."].join(" ")},x:{valType:"number",min:-2,max:3,editType:"legend",description:["Sets the x position (in normalized coordinates) of the legend.","Defaults to *1.02* for vertical legends and","defaults to *0* for horizontal legends."].join(" ")},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",editType:"legend",description:["Sets the legend's horizontal position anchor.","This anchor binds the `x` position to the *left*, *center*","or *right* of the legend.","Value *auto* anchors legends to the right for `x` values greater than or equal to 2/3,","anchors legends to the left for `x` values less than or equal to 1/3 and","anchors legends with respect to their center otherwise."].join(" ")},y:{valType:"number",min:-2,max:3,editType:"legend",description:["Sets the y position (in normalized coordinates) of the legend.","Defaults to *1* for vertical legends,","defaults to *-0.1* for horizontal legends on graphs w/o range sliders and","defaults to *1.1* for horizontal legends on graph with one or multiple range sliders."].join(" ")},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],editType:"legend",description:["Sets the legend's vertical position anchor","This anchor binds the `y` position to the *top*, *middle*","or *bottom* of the legend.","Value *auto* anchors legends at their bottom for `y` values less than or equal to 1/3,","anchors legends to at their top for `y` values greater than or equal to 2/3 and","anchors legends with respect to their middle otherwise."].join(" ")},uirevision:{valType:"any",editType:"none",description:["Controls persistence of legend-driven changes in trace and pie label","visibility. Defaults to `layout.uirevision`."].join(" ")},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"legend",description:["Sets the vertical alignment of the symbols with respect to their associated text."].join(" ")},title:{text:{valType:"string",dflt:"",editType:"legend",description:["Sets the title of the legend."].join(" ")},font:Vy({editType:"legend",description:["Sets this legend's title font.","Defaults to `legend.font` with its size increased about 20%."].join(" ")}),side:{valType:"enumerated",values:["top","left","top left"],editType:"legend",description:["Determines the location of legend's title","with respect to the legend items.","Defaulted to *top* with `orientation` is *h*.","Defaulted to *left* with `orientation` is *v*.","The *top left* options could be used to expand","legend area in both x and y sides."].join(" ")},editType:"legend"},editType:"legend"}});var Eh=E(Ih=>{"use strict";Ih.isGrouped=function(t){return(t.traceorder||"").indexOf("grouped")!==-1};Ih.isVertical=function(t){return t.orientation!=="h"};Ih.isReversed=function(t){return(t.traceorder||"").indexOf("reversed")!==-1}});var Qy=E((O1e,QD)=>{"use strict";var Zy=vt(),En=Pe(),Eae=tr(),zae=Wi(),Nae=Yy(),Fae=$s(),Xy=Eh();QD.exports=function(t,r,a){var n=t.legend||{},i=Eae.newContainer(r,"legend");function o(q,P){return En.coerce(n,i,Nae,q,P)}for(var s,l=function(q,P){var I=s._input,F=s;return En.coerce(I,F,zae,q,P)},u=r.font||{},c=En.coerceFont(o,"grouptitlefont",En.extendFlat({},u,{size:Math.round(u.size*1.1)})),d=0,h=!1,p="normal",g=0;g1);if(m===!1&&(r.legend=void 0),!(m===!1&&!n.uirevision)&&(o("uirevision",r.uirevision),m!==!1)){o("bgcolor",r.paper_bgcolor),o("bordercolor"),o("borderwidth");var b=En.coerceFont(o,"font",r.font),_=o("orientation"),x=_==="h",A,w,k;x?(A=0,Zy.getComponentMethod("rangeslider","isVisible")(t.xaxis)?(w=1.1,k="bottom"):(w=-.1,k="top")):(A=1.02,w=1,k="auto"),o("traceorder",p),Xy.isGrouped(r.legend)&&o("tracegroupgap"),o("itemsizing"),o("itemwidth"),o("itemclick"),o("itemdoubleclick"),o("groupclick"),o("x",A),o("xanchor"),o("y",w),o("yanchor",k),o("valign"),En.noneOrAll(n,i,["x","y"]);var L=o("title.text");if(L){o("title.side",x?"left":"top");var S=En.extendFlat({},b,{size:En.bigFont(b.size)});En.coerceFont(o,"title.font",S)}}}});var KD=E((H1e,$D)=>{"use strict";var $y=Pe(),Ko=vt(),Ky=!0;$D.exports=function(t,r,a){var n=r._fullLayout;if(r._dragged||r._editing)return;var i=n.legend.itemclick,o=n.legend.itemdoubleclick,s=n.legend.groupclick;a===1&&i==="toggle"&&o==="toggleothers"&&Ky&&r.data&&r._context.showTips&&$y.notifier($y._(r,"Double-click on legend to isolate one trace"),"long"),Ky=!1;var l;if(a===1?l=i:a===2&&(l=o),!l)return;var u=s==="togglegroup",c=n.hiddenlabels?n.hiddenlabels.slice():[],d=t.data()[0][0];if(d.groupTitle&&d.noClick)return;var h=r._fullData,p=d.trace,g=p.legendgroup,m,b,_,x,A,w,k={},L=[],S=[],q=[];function P(re,_e,ee){var ke=L.indexOf(re),Me=k[_e];return Me||(Me=k[_e]=[]),L.indexOf(re)===-1&&(L.push(re),ke=L.length-1),Me[ke]=ee,ke}function I(re,_e){if(!(d.groupTitle&&!u)){var ee=re._fullInput;if(Ko.hasTransform(ee,"groupby")){var ke=S[ee.index];if(!ke){var Me=Ko.getTransformIndices(ee,"groupby"),qe=Me[Me.length-1];ke=$y.keyedContainer(ee,"transforms["+qe+"].styles","target","value.visible"),S[ee.index]=ke}var De=ke.get(re._group);De===void 0&&(De=!0),De!==!1&&ke.set(re._group,_e),q[ee.index]=P(ee.index,"visible",ee.visible!==!1)}else{var Ce=ee.visible===!1?!1:_e;P(ee.index,"visible",Ce)}}}if(Ko.traceIs(p,"pie-like")){var F=d.label,N=c.indexOf(F);l==="toggle"?N===-1?c.push(F):c.splice(N,1):l==="toggleothers"&&(c=[],r.calcdata[0].forEach(function(re){F!==re.label&&c.push(re.label)}),r._fullLayout.hiddenlabels&&r._fullLayout.hiddenlabels.length===c.length&&N===-1&&(c=[])),Ko.call("_guiRelayout",r,"hiddenlabels",c)}else{var j=g&&g.length,G=[],V;if(j)for(m=0;m{"use strict";JD.exports={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:"#808BA4",scrollBarMargin:4,scrollBarEnterAttrs:{rx:20,ry:3,width:0,height:0},titlePad:2,itemGap:5}});var rP=E((U1e,tP)=>{"use strict";var eP=vt(),e0=Eh();tP.exports=function(t,r){var a=r._inHover,n=e0.isGrouped(r),i=e0.isReversed(r),o={},s=[],l=!1,u={},c=0,d=0,h,p;function g(V,W){if(V===""||!e0.isGrouped(r)){var Y="~~i"+c;s.push(Y),o[Y]=[W],c++}else s.indexOf(V)===-1?(s.push(V),l=!0,o[V]=[W]):o[V].push(W)}for(h=0;hq&&(S=q)}k[h][0]._groupMinRank=S,k[h][0]._preGroupSort=h}var P=function(V,W){return V[0]._groupMinRank-W[0]._groupMinRank||V[0]._preGroupSort-W[0]._preGroupSort},I=function(V,W){return V.trace.legendrank-W.trace.legendrank||V._preSort-W._preSort};for(k.forEach(function(V,W){V[0]._preGroupSort=W}),k.sort(P),h=0;h{"use strict";var aP=Pe();function nP(e){return e.indexOf("e")!==-1?e.replace(/[.]?0+e/,"e"):e.indexOf(".")!==-1?e.replace(/[.]?0+$/,""):e}Jo.formatPiePercent=function(t,r){var a=nP((t*100).toPrecision(3));return aP.numSeparate(a,r)+"%"};Jo.formatPieValue=function(t,r){var a=nP(t.toPrecision(10));return aP.numSeparate(a,r)};Jo.getFirstFilled=function(t,r){if(!!Array.isArray(t))for(var a=0;a{"use strict";var r0=qt(),iP=t0().castOption;oP.exports=function(t,r,a){var n=a.marker.line,i=iP(n.color,r.pts)||r0.defaultLine,o=iP(n.width,r.pts)||0;t.style("stroke-width",o).call(r0.fill,r.color).call(r0.stroke,i)}});var o0=E((V1e,hP)=>{"use strict";var pa=Et(),a0=vt(),ia=Pe(),lP=ia.strTranslate,Ca=Kt(),hn=qt(),n0=fn().extractOpts,zh=Qa(),jae=sP(),Oae=t0().castOption,Hae=Jy(),uP=12,fP=5,es=2,Bae=10,yl=5;hP.exports=function(t,r,a){var n=r._fullLayout;a||(a=n.legend);var i=a.itemsizing==="constant",o=a.itemwidth,s=(o+Hae.itemGap*2)/2,l=lP(s,0),u=function(S,q,P,I){var F;if(S+1)F=S;else if(q&&q.width>0)F=q.width;else return 0;return i?I:Math.min(F,P)};t.each(function(S){var q=pa.select(this),P=ia.ensureSingle(q,"g","layers");P.style("opacity",S[0].trace.opacity);var I=a.valign,F=S[0].lineHeight,N=S[0].height;if(I==="middle"||!F||!N)P.attr("transform",null);else{var j={top:1,bottom:-1}[I],G=j*(.5*(F-N+3));P.attr("transform",lP(0,G))}var V=P.selectAll("g.legendfill").data([S]);V.enter().append("g").classed("legendfill",!0);var W=P.selectAll("g.legendlines").data([S]);W.enter().append("g").classed("legendlines",!0);var Y=P.selectAll("g.legendsymbols").data([S]);Y.enter().append("g").classed("legendsymbols",!0),Y.selectAll("g.legendpoints").data([S]).enter().append("g").classed("legendpoints",!0)}).each(L).each(h).each(g).each(p).each(b).each(w).each(A).each(c).each(d).each(_).each(x);function c(S){var q=cP(S),P=q.showFill,I=q.showLine,F=q.showGradientLine,N=q.showGradientFill,j=q.anyFill,G=q.anyLine,V=S[0],W=V.trace,Y,X,$=n0(W),ae=$.colorscale,te=$.reversescale,le=function(qe){if(qe.size())if(P)Ca.fillGroupStyle(qe,r);else{var De="legendfill-"+W.uid;Ca.gradient(qe,r,De,i0(te),ae,"fill")}},ge=function(qe){if(qe.size()){var De="legendline-"+W.uid;Ca.lineGroupStyle(qe),Ca.gradient(qe,r,De,i0(te),ae,"stroke")}},re=zh.hasMarkers(W)||!j?"M5,0":G?"M5,-2":"M5,-3",_e=pa.select(this),ee=_e.select(".legendfill").selectAll("path").data(P||N?[S]:[]);if(ee.enter().append("path").classed("js-fill",!0),ee.exit().remove(),ee.attr("d",re+"h"+o+"v6h-"+o+"z").call(le),I||F){var ke=u(void 0,W.line,Bae,fP);X=ia.minExtend(W,{line:{width:ke}}),Y=[ia.minExtend(V,{trace:X})]}var Me=_e.select(".legendlines").selectAll("path").data(I||F?[Y]:[]);Me.enter().append("path").classed("js-line",!0),Me.exit().remove(),Me.attr("d",re+(F?"l"+o+",0.0001":"h"+o)).call(I?Ca.lineGroupStyle:ge)}function d(S){var q=cP(S),P=q.anyFill,I=q.anyLine,F=q.showLine,N=q.showMarker,j=S[0],G=j.trace,V=!N&&!I&&!P&&zh.hasText(G),W,Y;function X(ee,ke,Me,qe){var De=ia.nestedProperty(G,ee).get(),Ce=ia.isArrayOrTypedArray(De)&&ke?ke(De):De;if(i&&Ce&&qe!==void 0&&(Ce=qe),Me){if(CeMe[1])return Me[1]}return Ce}function $(ee){return j._distinct&&j.index&&ee[j.index]?ee[j.index]:ee[0]}if(N||V||F){var ae={},te={};if(N){ae.mc=X("marker.color",$),ae.mx=X("marker.symbol",$),ae.mo=X("marker.opacity",ia.mean,[.2,1]),ae.mlc=X("marker.line.color",$),ae.mlw=X("marker.line.width",ia.mean,[0,5],es),te.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var le=X("marker.size",ia.mean,[2,16],uP);ae.ms=le,te.marker.size=le}F&&(te.line={width:X("line.width",$,[0,10],fP)}),V&&(ae.tx="Aa",ae.tp=X("textposition",$),ae.ts=10,ae.tc=X("textfont.color",$),ae.tf=X("textfont.family",$)),W=[ia.minExtend(j,ae)],Y=ia.minExtend(G,te),Y.selectedpoints=null,Y.texttemplate=null}var ge=pa.select(this).select("g.legendpoints"),re=ge.selectAll("path.scatterpts").data(N?W:[]);re.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform",l),re.exit().remove(),re.call(Ca.pointStyle,Y,r),N&&(W[0].mrc=3);var _e=ge.selectAll("g.pointtext").data(V?W:[]);_e.enter().append("g").classed("pointtext",!0).append("text").attr("transform",l),_e.exit().remove(),_e.selectAll("text").call(Ca.textPointStyle,Y,r)}function h(S){var q=S[0].trace,P=q.type==="waterfall";if(S[0]._distinct&&P){var I=S[0].trace[S[0].dir].marker;return S[0].mc=I.color,S[0].mlw=I.line.width,S[0].mlc=I.line.color,m(S,this,"waterfall")}var F=[];q.visible&&P&&(F=S[0].hasTotals?[["increasing","M-6,-6V6H0Z"],["totals","M6,6H0L-6,-6H-0Z"],["decreasing","M6,6V-6H0Z"]]:[["increasing","M-6,-6V6H6Z"],["decreasing","M6,6V-6H-6Z"]]);var N=pa.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(F);N.enter().append("path").classed("legendwaterfall",!0).attr("transform",l).style("stroke-miterlimit",1),N.exit().remove(),N.each(function(j){var G=pa.select(this),V=q[j[0]].marker,W=u(void 0,V.line,yl,es);G.attr("d",j[1]).style("stroke-width",W+"px").call(hn.fill,V.color),W&&G.call(hn.stroke,V.line.color)})}function p(S){m(S,this)}function g(S){m(S,this,"funnel")}function m(S,q,P){var I=S[0].trace,F=I.marker||{},N=F.line||{},j=P?I.visible&&I.type===P:a0.traceIs(I,"bar"),G=pa.select(q).select("g.legendpoints").selectAll("path.legend"+P).data(j?[S]:[]);G.enter().append("path").classed("legend"+P,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",l),G.exit().remove(),G.each(function(V){var W=pa.select(this),Y=V[0],X=u(Y.mlw,F.line,yl,es);W.style("stroke-width",X+"px");var $=Y.mcc;if(!a._inHover&&"mc"in Y){var ae=n0(F),te=ae.mid;te===void 0&&(te=(ae.max+ae.min)/2),$=Ca.tryColorscale(F,"")(te)}var le=$||Y.mc||F.color,ge=F.pattern,re=ge&&Ca.getPatternAttr(ge.shape,0,"");if(re){var _e=Ca.getPatternAttr(ge.bgcolor,0,null),ee=Ca.getPatternAttr(ge.fgcolor,0,null),ke=ge.fgopacity,Me=dP(ge.size,8,10),qe=dP(ge.solidity,.5,1),De="legend-"+I.uid;W.call(Ca.pattern,"legend",r,De,re,Me,qe,$,ge.fillmode,_e,ee,ke)}else W.call(hn.fill,le);X&&hn.stroke(W,Y.mlc||N.color)})}function b(S){var q=S[0].trace,P=pa.select(this).select("g.legendpoints").selectAll("path.legendbox").data(q.visible&&a0.traceIs(q,"box-violin")?[S]:[]);P.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform",l),P.exit().remove(),P.each(function(){var I=pa.select(this);if((q.boxpoints==="all"||q.points==="all")&&hn.opacity(q.fillcolor)===0&&hn.opacity((q.line||{}).color)===0){var F=ia.minExtend(q,{marker:{size:i?uP:ia.constrain(q.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});P.call(Ca.pointStyle,F,r)}else{var N=u(void 0,q.line,yl,es);I.style("stroke-width",N+"px").call(hn.fill,q.fillcolor),N&&hn.stroke(I,q.line.color)}})}function _(S){var q=S[0].trace,P=pa.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(q.visible&&q.type==="candlestick"?[S,S]:[]);P.enter().append("path").classed("legendcandle",!0).attr("d",function(I,F){return F?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"}).attr("transform",l).style("stroke-miterlimit",1),P.exit().remove(),P.each(function(I,F){var N=pa.select(this),j=q[F?"increasing":"decreasing"],G=u(void 0,j.line,yl,es);N.style("stroke-width",G+"px").call(hn.fill,j.fillcolor),G&&hn.stroke(N,j.line.color)})}function x(S){var q=S[0].trace,P=pa.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(q.visible&&q.type==="ohlc"?[S,S]:[]);P.enter().append("path").classed("legendohlc",!0).attr("d",function(I,F){return F?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"}).attr("transform",l).style("stroke-miterlimit",1),P.exit().remove(),P.each(function(I,F){var N=pa.select(this),j=q[F?"increasing":"decreasing"],G=u(void 0,j.line,yl,es);N.style("fill","none").call(Ca.dashLine,j.line.dash,G),G&&hn.stroke(N,j.line.color)})}function A(S){k(S,this,"pie")}function w(S){k(S,this,"funnelarea")}function k(S,q,P){var I=S[0],F=I.trace,N=P?F.visible&&F.type===P:a0.traceIs(F,P),j=pa.select(q).select("g.legendpoints").selectAll("path.legend"+P).data(N?[S]:[]);if(j.enter().append("path").classed("legend"+P,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",l),j.exit().remove(),j.size()){var G=(F.marker||{}).line,V=u(Oae(G.width,I.pts),G,yl,es),W=ia.minExtend(F,{marker:{line:{width:V}}});W.marker.line.color=G.color;var Y=ia.minExtend(I,{trace:W});jae(j,Y,W)}}function L(S){var q=S[0].trace,P,I=[];if(q.visible)switch(q.type){case"histogram2d":case"heatmap":I=[["M-15,-2V4H15V-2Z"]],P=!0;break;case"choropleth":case"choroplethmapbox":I=[["M-6,-6V6H6V-6Z"]],P=!0;break;case"densitymapbox":I=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],P="radial";break;case"cone":I=[["M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z"],["M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z"],["M-6,-2 A2,2 0 0,0 -6,2 L6,0Z"]],P=!1;break;case"streamtube":I=[["M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z"],["M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z"],["M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z"]],P=!1;break;case"surface":I=[["M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z"],["M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z"]],P=!0;break;case"mesh3d":I=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],P=!1;break;case"volume":I=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],P=!0;break;case"isosurface":I=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]],P=!1;break}var F=pa.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(I);F.enter().append("path").classed("legend3dandfriends",!0).attr("transform",l).style("stroke-miterlimit",1),F.exit().remove(),F.each(function(N,j){var G=pa.select(this),V=n0(q),W=V.colorscale,Y=V.reversescale,X=function(le){if(le.size()){var ge="legendfill-"+q.uid;Ca.gradient(le,r,ge,i0(Y,P==="radial"),W,"fill")}},$;if(W){if(!P){var te=W.length;$=j===0?W[Y?te-1:0][1]:j===1?W[Y?0:te-1][1]:W[Math.floor((te-1)/2)][1]}}else{var ae=q.vertexcolor||q.facecolor||q.color;$=ia.isArrayOrTypedArray(ae)?ae[j]||ae[0]:ae}G.attr("d",N[0]),$?G.call(hn.fill,$):G.call(X)})}};function i0(e,t){var r=t?"radial":"horizontal";return r+(e?"":"reversed")}function cP(e){var t=e[0].trace,r=t.contours,a=zh.hasLines(t),n=zh.hasMarkers(t),i=t.visible&&t.fill&&t.fill!=="none",o=!1,s=!1;if(r){var l=r.coloring;l==="lines"?o=!0:a=l==="none"||l==="heatmap"||r.showlines,r.type==="constraint"?i=r._operation!=="=":(l==="fill"||l==="heatmap")&&(s=!0)}return{showMarker:n,showLine:a,showFill:i,showGradientLine:o,showGradientFill:s,anyLine:a||o,anyFill:i||s}}function dP(e,t,r){return e&&ia.isArrayOrTypedArray(e)?t:e>r?r:e}});var d0=E((Y1e,_P)=>{"use strict";var Ka=Et(),kr=Pe(),s0=Er(),ts=vt(),vP=Gu(),l0=In(),zr=Kt(),Nh=qt(),bl=Oa(),pP=KD(),ea=Jy(),u0=Ma(),Uae=u0.LINE_SPACING,Fh=u0.FROM_TL,mP=u0.FROM_BR,gP=rP(),Gae=o0(),yP=Eh(),xl=1;_P.exports=function(t,r){return r||(r=t._fullLayout.legend||{}),Wae(t,r)};function Wae(e,t){var r=e._fullLayout,a="legend"+r._uid,n,i=t._inHover;if(i?(n=t.layer,a+="-hover"):n=r._infolayer,!!n){e._legendMouseDownTime||(e._legendMouseDownTime=0);var o;if(i){if(!t.entries)return;o=gP(t.entries,t)}else{if(!e.calcdata)return;o=r.showlegend&&gP(e.calcdata,t)}var s=r.hiddenlabels||[];if(!i&&(!r.showlegend||!o.length))return n.selectAll(".legend").remove(),r._topdefs.select("#"+a).remove(),s0.autoMargin(e,"legend");var l=kr.ensureSingle(n,"g","legend",function(_){i||_.attr("pointer-events","all")}),u=kr.ensureSingleById(r._topdefs,"clipPath",a,function(_){_.append("rect")}),c=kr.ensureSingle(l,"rect","bg",function(_){_.attr("shape-rendering","crispEdges")});c.call(Nh.stroke,t.bordercolor).call(Nh.fill,t.bgcolor).style("stroke-width",t.borderwidth+"px");var d=kr.ensureSingle(l,"g","scrollbox"),h=t.title;if(t._titleWidth=0,t._titleHeight=0,h.text){var p=kr.ensureSingle(d,"text","legendtitletext");p.attr("text-anchor","start").call(zr.font,h.font).text(h.text),jh(p,d,e,t,xl)}else d.selectAll(".legendtitletext").remove();var g=kr.ensureSingle(l,"rect","scrollbar",function(_){_.attr(ea.scrollBarEnterAttrs).call(Nh.fill,ea.scrollBarColor)}),m=d.selectAll("g.groups").data(o);m.enter().append("g").attr("class","groups"),m.exit().remove();var b=m.selectAll("g.traces").data(kr.identity);b.enter().append("g").attr("class","traces"),b.exit().remove(),b.style("opacity",function(_){var x=_[0].trace;return ts.traceIs(x,"pie-like")?s.indexOf(_[0].label)!==-1?.5:1:x.visible==="legendonly"?.5:1}).each(function(){Ka.select(this).call(Vae,e,t)}).call(Gae,e,t).each(function(){i||Ka.select(this).call(Yae,e)}),kr.syncOrAsync([s0.previousPromises,function(){return Qae(e,m,b,t)},function(){var _=r._size,x=t.borderwidth;if(!i){var A=$ae(e);if(A)return;var w=_.l+_.w*t.x-Fh[f0(t)]*t._width,k=_.t+_.h*(1-t.y)-Fh[c0(t)]*t._effHeight;if(r.margin.autoexpand){var L=w,S=k;w=kr.constrain(w,0,r.width-t._width),k=kr.constrain(k,0,r.height-t._effHeight),w!==L&&kr.log("Constrain legend.x to make legend fit inside graph"),k!==S&&kr.log("Constrain legend.y to make legend fit inside graph")}zr.setTranslate(l,w,k)}if(g.on(".drag",null),l.on("wheel",null),i||t._height<=t._maxHeight||e._context.staticPlot){var q=t._effHeight;i&&(q=t._height),c.attr({width:t._width-x,height:q-x,x:x/2,y:x/2}),zr.setTranslate(d,0,0),u.select("rect").attr({width:t._width-2*x,height:q-2*x,x,y:x}),zr.setClipUrl(d,a,e),zr.setRect(g,0,0,0,0),delete t._scrollY}else{var P=Math.max(ea.scrollBarMinHeight,t._effHeight*t._effHeight/t._height),I=t._effHeight-P-2*ea.scrollBarMargin,F=t._height-t._effHeight,N=I/F,j=Math.min(t._scrollY||0,F);c.attr({width:t._width-2*x+ea.scrollBarWidth+ea.scrollBarMargin,height:t._effHeight-x,x:x/2,y:x/2}),u.select("rect").attr({width:t._width-2*x+ea.scrollBarWidth+ea.scrollBarMargin,height:t._effHeight-2*x,x,y:x+j}),zr.setClipUrl(d,a,e),te(j,P,N),l.on("wheel",function(){j=kr.constrain(t._scrollY+Ka.event.deltaY/I*F,0,F),te(j,P,N),j!==0&&j!==F&&Ka.event.preventDefault()});var G,V,W,Y=function(ee,ke,Me){var qe=(Me-ke)/N+ee;return kr.constrain(qe,0,F)},X=function(ee,ke,Me){var qe=(ke-Me)/N+ee;return kr.constrain(qe,0,F)},$=Ka.behavior.drag().on("dragstart",function(){var ee=Ka.event.sourceEvent;ee.type==="touchstart"?G=ee.changedTouches[0].clientY:G=ee.clientY,W=j}).on("drag",function(){var ee=Ka.event.sourceEvent;ee.buttons===2||ee.ctrlKey||(ee.type==="touchmove"?V=ee.changedTouches[0].clientY:V=ee.clientY,j=Y(W,G,V),te(j,P,N))});g.call($);var ae=Ka.behavior.drag().on("dragstart",function(){var ee=Ka.event.sourceEvent;ee.type==="touchstart"&&(G=ee.changedTouches[0].clientY,W=j)}).on("drag",function(){var ee=Ka.event.sourceEvent;ee.type==="touchmove"&&(V=ee.changedTouches[0].clientY,j=X(W,G,V),te(j,P,N))});d.call(ae)}function te(ee,ke,Me){t._scrollY=e._fullLayout.legend._scrollY=ee,zr.setTranslate(d,0,-ee),zr.setRect(g,t._width,ea.scrollBarMargin+ee*Me,ea.scrollBarWidth,ke),u.select("rect").attr("y",x+ee)}if(e._context.edits.legendPosition){var le,ge,re,_e;l.classed("cursor-move",!0),l0.init({element:l.node(),gd:e,prepFn:function(){var ee=zr.getTranslate(l);re=ee.x,_e=ee.y},moveFn:function(ee,ke){var Me=re+ee,qe=_e+ke;zr.setTranslate(l,Me,qe),le=l0.align(Me,0,_.l,_.l+_.w,t.xanchor),ge=l0.align(qe,0,_.t+_.h,_.t,t.yanchor)},doneFn:function(){le!==void 0&&ge!==void 0&&ts.call("_guiRelayout",e,{"legend.x":le,"legend.y":ge})},clickFn:function(ee,ke){var Me=n.selectAll("g.traces").filter(function(){var qe=this.getBoundingClientRect();return ke.clientX>=qe.left&&ke.clientX<=qe.right&&ke.clientY>=qe.top&&ke.clientY<=qe.bottom});Me.size()>0&&bP(e,l,Me,ee,ke)}})}}],e)}}function bP(e,t,r,a,n){var i=r.data()[0][0].trace,o={event:n,node:r.node(),curveNumber:i.index,expandedIndex:i._expandedIndex,data:e.data,layout:e.layout,frames:e._transitionData._frames,config:e._context,fullData:e._fullData,fullLayout:e._fullLayout};i._group&&(o.group=i._group),ts.traceIs(i,"pie-like")&&(o.label=r.datum()[0].label);var s=vP.triggerHandler(e,"plotly_legendclick",o);if(s!==!1){if(a===1)t._clickTimeout=setTimeout(function(){!e._fullLayout||pP(r,e,a)},e._context.doubleClickDelay);else if(a===2){t._clickTimeout&&clearTimeout(t._clickTimeout),e._legendMouseDownTime=0;var l=vP.triggerHandler(e,"plotly_legenddoubleclick",o);l!==!1&&pP(r,e,a)}}}function Vae(e,t,r){var a=e.data()[0][0],n=a.trace,i=ts.traceIs(n,"pie-like"),o=!r._inHover&&t._context.edits.legendText&&!i,s=r._maxNameLength,l,u;a.groupTitle?(l=a.groupTitle.text,u=a.groupTitle.font):(u=r.font,r.entries?l=a.text:(l=i?a.label:n.name,n._meta&&(l=kr.templateString(l,n._meta))));var c=kr.ensureSingle(e,"text","legendtext");c.attr("text-anchor","start").call(zr.font,u).text(o?xP(l,s):l);var d=r.itemwidth+ea.itemGap*2;bl.positionText(c,d,0),o?c.call(bl.makeEditable,{gd:t,text:l}).call(jh,e,t,r).on("edit",function(h){this.text(xP(h,s)).call(jh,e,t,r);var p=a.trace._fullInput||{},g={};if(ts.hasTransform(p,"groupby")){var m=ts.getTransformIndices(p,"groupby"),b=m[m.length-1],_=kr.keyedContainer(p,"transforms["+b+"].styles","target","value.name");_.set(a.trace._group,h),g=_.constructUpdate()}else g.name=h;return ts.call("_guiRestyle",t,g,n.index)}):jh(c,e,t,r)}function xP(e,t){var r=Math.max(4,t);if(e&&e.trim().length>=r/2)return e;e=e||"";for(var a=r-e.length;a>0;a--)e+=" ";return e}function Yae(e,t){var r=t._context.doubleClickDelay,a,n=1,i=kr.ensureSingle(e,"rect","legendtoggle",function(o){t._context.staticPlot||o.style("cursor","pointer").attr("pointer-events","all"),o.call(Nh.fill,"rgba(0,0,0,0)")});t._context.staticPlot||(i.on("mousedown",function(){a=new Date().getTime(),a-t._legendMouseDownTimer&&(n=Math.max(n-1,1)),bP(t,o,e,n,Ka.event)}}))}function jh(e,t,r,a,n){a._inHover&&e.attr("data-notex",!0),bl.convertToTspans(e,r,function(){Zae(t,r,a,n)})}function Zae(e,t,r,a){var n=e.data()[0][0];if(!r._inHover&&n&&!n.trace.showlegend){e.remove();return}var i=e.select("g[class*=math-group]"),o=i.node();r||(r=t._fullLayout.legend);var s=r.borderwidth,l;a===xl?l=r.title.font:n.groupTitle?l=n.groupTitle.font:l=r.font;var u=l.size*Uae,c,d;if(o){var h=zr.bBox(o);c=h.height,d=h.width,a===xl?zr.setTranslate(i,s,s+c*.75):zr.setTranslate(i,0,c*.25)}else{var p=e.select(a===xl?".legendtitletext":".legendtext"),g=bl.lineCount(p),m=p.node();if(c=u*g,d=m?zr.bBox(m).width:0,a===xl)r.title.side==="left"&&(d+=ea.itemGap*2),bl.positionText(p,s+ea.titlePad,s+u);else{var b=ea.itemGap*2+r.itemwidth;n.groupTitle&&(b=ea.itemGap,d-=r.itemwidth),bl.positionText(p,b,-u*((g-1)/2-.3))}}a===xl?(r._titleWidth=d,r._titleHeight=c):(n.lineHeight=u,n.height=Math.max(c,16)+3,n.width=d)}function Xae(e){var t=0,r=0,a=e.title.side;return a&&(a.indexOf("left")!==-1&&(t=e._titleWidth),a.indexOf("top")!==-1&&(r=e._titleHeight)),[t,r]}function Qae(e,t,r,a){var n=e._fullLayout;a||(a=n.legend);var i=n._size,o=yP.isVertical(a),s=yP.isGrouped(a),l=a.borderwidth,u=2*l,c=ea.itemGap,d=a.itemwidth+c*2,h=2*(l+c),p=c0(a),g=a.y<0||a.y===0&&p==="top",m=a.y>1||a.y===1&&p==="bottom",b=a.tracegroupgap;a._maxHeight=Math.max(g||m?n.height/2:i.h,30);var _=0;a._width=0,a._height=0;var x=Xae(a);if(o)r.each(function(le){var ge=le[0].height;zr.setTranslate(this,l+x[0],l+x[1]+a._height+ge/2+c),a._height+=ge,a._width=Math.max(a._width,le[0].width)}),_=d+a._width,a._width+=c+d+u,a._height+=h,s&&(t.each(function(le,ge){zr.setTranslate(this,0,ge*a.tracegroupgap)}),a._height+=(a._lgroupsLength-1)*a.tracegroupgap);else{var A=f0(a),w=a.x<0||a.x===0&&A==="right",k=a.x>1||a.x===1&&A==="left",L=m||g,S=n.width/2;a._maxWidth=Math.max(w?L&&A==="left"?i.l+i.w:S:k?L&&A==="right"?i.r+i.w:S:i.w,2*d);var q=0,P=0;r.each(function(le){var ge=le[0].width+d;q=Math.max(q,ge),P+=ge}),_=null;var I=0;if(s){var F=0,N=0,j=0;t.each(function(){var le=0,ge=0;Ka.select(this).selectAll("g.traces").each(function(_e){var ee=_e[0].width,ke=_e[0].height;zr.setTranslate(this,x[0],x[1]+l+c+ke/2+ge),ge+=ke,le=Math.max(le,d+ee)});var re=le+c;N>0&&re+l+N>a._maxWidth?(I=Math.max(I,N),N=0,j+=F+b,F=ge):F=Math.max(F,ge),zr.setTranslate(this,N,j),N+=re}),a._width=Math.max(I,N)+l,a._height=j+F+h}else{var G=r.size(),V=P+u+(G-1)*c=a._maxWidth&&(I=Math.max(I,$),Y=0,X+=W,a._height+=W,W=0),zr.setTranslate(this,x[0]+l+Y,x[1]+l+X+ge/2+c),$=Y+re+c,Y+=_e,W=Math.max(W,ge)}),V?(a._width=Y+u,a._height=W+h):(a._width=Math.max(I,$)+u,a._height+=W+h)}}a._width=Math.ceil(Math.max(a._width+x[0],a._titleWidth+2*(l+ea.titlePad))),a._height=Math.ceil(Math.max(a._height+x[1],a._titleHeight+2*(l+ea.itemGap))),a._effHeight=Math.min(a._height,a._maxHeight);var ae=e._context.edits,te=ae.legendText||ae.legendPosition;r.each(function(le){var ge=Ka.select(this).select(".legendtoggle"),re=le[0].height,_e=te?d:_||d+le[0].width;o||(_e+=c/2),zr.setRect(ge,0,-re/2,_e,re)})}function $ae(e){var t=e._fullLayout,r=t.legend,a=f0(r),n=c0(r);return s0.autoMargin(e,"legend",{x:r.x,y:r.y,l:r._width*Fh[a],r:r._width*mP[a],b:r._effHeight*mP[n],t:r._effHeight*Fh[n]})}function f0(e){return kr.isRightAnchor(e)?"right":kr.isCenterAnchor(e)?"center":"left"}function c0(e){return kr.isBottomAnchor(e)?"bottom":kr.isMiddleAnchor(e)?"middle":"top"}});var m0=E(p0=>{"use strict";var rs=Et(),Mi=zt(),wP=Ln(),Mr=Pe(),h0=Mr.strTranslate,Kae=Mr.strRotate,Jae=Gu(),vn=Oa(),ene=ZD(),ii=Kt(),Or=qt(),Oh=In(),ao=Jt(),_l=vt(),zn=Ti(),as=Pu(),tne=Qy(),rne=d0(),TP=as.YANGLE,v0=Math.PI*TP/180,ane=1/Math.sin(v0),nne=Math.cos(v0),ine=Math.sin(v0),or=as.HOVERARROWSIZE,Nt=as.HOVERTEXTPAD,AP={box:!0,ohlc:!0,violin:!0,candlestick:!0},one={scatter:!0,scattergl:!0,splom:!0};p0.hover=function(t,r,a,n){t=Mr.getGraphDiv(t);var i=r.target;Mr.throttle(t._fullLayout._uid+as.HOVERID,as.HOVERMINTIME,function(){sne(t,r,a,n,i)})};p0.loneHover=function(t,r){var a=!0;Array.isArray(t)||(a=!1,t=[t]);var n=r.gd,i=RP(n),o=IP(n),s=t.map(function(m){var b=m._x0||m.x0||m.x||0,_=m._x1||m.x1||m.x||0,x=m._y0||m.y0||m.y||0,A=m._y1||m.y1||m.y||0,w=m.eventData;if(w){var k=Math.min(b,_),L=Math.max(b,_),S=Math.min(x,A),q=Math.max(x,A),P=m.trace;if(_l.traceIs(P,"gl3d")){var I=n._fullLayout[P.scene]._scene.container,F=I.offsetLeft,N=I.offsetTop;k+=F,L+=F,S+=N,q+=N}w.bbox={x0:k+o,x1:L+o,y0:S+i,y1:q+i},r.inOut_bbox&&r.inOut_bbox.push(w.bbox)}else w=!1;return{color:m.color||Or.defaultLine,x0:m.x0||m.x||0,x1:m.x1||m.x||0,y0:m.y0||m.y||0,y1:m.y1||m.y||0,xLabel:m.xLabel,yLabel:m.yLabel,zLabel:m.zLabel,text:m.text,name:m.name,idealAlign:m.idealAlign,borderColor:m.borderColor,fontFamily:m.fontFamily,fontSize:m.fontSize,fontColor:m.fontColor,nameLength:m.nameLength,textAlign:m.textAlign,trace:m.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:m.hovertemplate||!1,hovertemplateLabels:m.hovertemplateLabels||!1,eventData:w}}),l=!1,u=MP(s,{gd:n,hovermode:"closest",rotateLabels:l,bgColor:r.bgColor||Or.background,container:rs.select(r.container),outerContainer:r.outerContainer||r.container}),c=5,d=0,h=0;u.sort(function(m,b){return m.y0-b.y0}).each(function(m,b){var _=m.y0-m.by/2;_-ch[0]._length||re<0||re>p[0]._length)return Oh.unhoverRaw(e,t)}if(t.pointerX=ge+h[0]._offset,t.pointerY=re+p[0]._offset,"xval"in t?S=zn.flat(i,t.xval):S=zn.p2c(h,ge),"yval"in t?q=zn.flat(i,t.yval):q=zn.p2c(p,re),!Mi(S[0])||!Mi(q[0]))return Mr.warn("Fx.hover failed",t,e),Oh.unhoverRaw(e,t)}var ke=1/0;function Me(Se,He){for(I=0;I$&&(k.splice(0,$),ke=k[0].distance),u&&w!==0&&k.length===0){X.distance=w,X.index=!1;var cr=N._module.hoverPoints(X,W,Y,"closest",{hoverLayer:o._hoverlayer});if(cr&&(cr=cr.filter(function(xa){return xa.spikeDistance<=w})),cr&&cr.length){var sa,Zn=cr.filter(function(xa){return xa.xa.showspikes&&xa.xa.spikesnap!=="hovered data"});if(Zn.length){var ta=Zn[0];Mi(ta.x0)&&Mi(ta.y0)&&(sa=De(ta),(!ae.vLinePoint||ae.vLinePoint.spikeDistance>sa.spikeDistance)&&(ae.vLinePoint=sa))}var Va=cr.filter(function(xa){return xa.ya.showspikes&&xa.ya.spikesnap!=="hovered data"});if(Va.length){var kn=Va[0];Mi(kn.x0)&&Mi(kn.y0)&&(sa=De(kn),(!ae.hLinePoint||ae.hLinePoint.spikeDistance>sa.spikeDistance)&&(ae.hLinePoint=sa))}}}}}Me();function qe(Se,He,Lt){for(var hr=null,Ur=1/0,Pr,cr=0;cr0&&Math.abs(Se.distance)rt-1;Ue--)Oe(k[Ue]);k=ht,O()}var je=e._hoverdata,ye=[],we=RP(e),Ee=IP(e);for(P=0;P1||k.length>1)||x==="closest"&&te&&k.length>1,Ct=Or.combine(o.plot_bgcolor||Or.background,o.paper_bgcolor),ne=MP(k,{gd:e,hovermode:x,rotateLabels:Tt,bgColor:Ct,container:o._hoverlayer,outerContainer:o._paper.node(),commonLabelOpts:o.hoverlabel,hoverdistance:o.hoverdistance});if(zn.isUnifiedHover(x)||(une(ne,Tt?"xa":"ya",o),CP(ne,Tt,o._invScaleX,o._invScaleY)),n&&n.tagName){var Ae=_l.getComponentMethod("annotations","hasClickToShow")(e,ye);ene(rs.select(n),Ae?"pointer":"")}!n||a||!cne(e,t,je)||(je&&e.emit("plotly_unhover",{event:t,points:je}),e.emit("plotly_hover",{event:t,points:e._hoverdata,xaxes:h,yaxes:p,xvals:S,yvals:q}))}function kP(e){return[e.trace.index,e.index,e.x0,e.y0,e.name,e.attr,e.xa?e.xa._id:"",e.ya?e.ya._id:""].join(",")}var lne=/([\s\S]*)<\/extra>/;function MP(e,t){var r=t.gd,a=r._fullLayout,n=t.hovermode,i=t.rotateLabels,o=t.bgColor,s=t.container,l=t.outerContainer,u=t.commonLabelOpts||{};if(e.length===0)return[[]];var c=t.fontFamily||as.HOVERFONT,d=t.fontSize||as.HOVERFONTSIZE,h=e[0],p=h.xa,g=h.ya,m=n.charAt(0),b=h[m+"Label"],_=wl(r,l),x=_.top,A=_.width,w=_.height,k=b!==void 0&&h.distance<=t.hoverdistance&&(n==="x"||n==="y");if(k){var L=!0,S,q;for(S=0;Sa.width-je?(he=a.width-je,at.attr("d","M"+(je-or)+",0L"+je+","+Ue+or+"v"+Ue+(Nt*2+ue.height)+"H-"+je+"V"+Ue+or+"H"+(je-or*2)+"Z")):at.attr("d","M0,0L"+or+","+Ue+or+"H"+(Nt+ue.width/2)+"v"+Ue+(Nt*2+ue.height)+"H-"+(Nt+ue.width/2)+"V"+Ue+or+"H-"+or+"Z")}else{var ye,we,Ee;g.side==="right"?(ye="start",we=1,Ee="",he=p._offset+p._length):(ye="end",we=-1,Ee="-",he=p._offset),Oe=g._offset+(h.y0+h.y1)/2,Ve.attr("text-anchor",ye),at.attr("d","M0,0L"+Ee+or+","+or+"V"+(Nt+ue.height/2)+"h"+Ee+(Nt*2+ue.width)+"V-"+(Nt+ue.height/2)+"H"+Ee+or+"V-"+or+"Z");var ze=ue.height/2,Ne=x-ue.top-ze,Ge="clip"+a._uid+"commonlabel"+g._id,ft;if(he=0?xe=Q:O+_e=0?xe=O:ie+_e=0?Le=Ce:U+ee=0?Le=U:be+ee=0,(Te.idealAlign==="top"||!ot)&&Rt?(Ne-=ft/2,Te.anchor="end"):ot?(Ne+=ft/2,Te.anchor="start"):Te.anchor="middle";else if(Te.pos=Ne,ot=ze+Ge/2+Mt<=A,Rt=ze-Ge/2-Mt>=0,(Te.idealAlign==="left"||!ot)&&Rt)ze-=Ge/2,Te.anchor="end";else if(ot)ze+=Ge/2,Te.anchor="start";else{Te.anchor="middle";var St=Mt/2,Tt=ze+St-A,Ct=ze-St;Tt>0&&(ze-=Tt),Ct<0&&(ze+=-Ct)}Ue.attr("text-anchor",Te.anchor),ye&&je.attr("text-anchor",Te.anchor),at.attr("transform",h0(ze,Ne)+(i?Kae(TP):""))}),Fe}function SP(e,t,r,a,n,i){var o="",s="";e.nameOverride!==void 0&&(e.name=e.nameOverride),e.name&&(e.trace._meta&&(e.name=Mr.templateString(e.name,e.trace._meta)),o=DP(e.name,e.nameLength));var l=r.charAt(0),u=l==="x"?"y":"x";e.zLabel!==void 0?(e.xLabel!==void 0&&(s+="x: "+e.xLabel+"
"),e.yLabel!==void 0&&(s+="y: "+e.yLabel+"
"),e.trace.type!=="choropleth"&&e.trace.type!=="choroplethmapbox"&&(s+=(s?"z: ":"")+e.zLabel)):t&&e[l+"Label"]===n?s=e[u+"Label"]||"":e.xLabel===void 0?e.yLabel!==void 0&&e.trace.type!=="scattercarpet"&&(s=e.yLabel):e.yLabel===void 0?s=e.xLabel:s="("+e.xLabel+", "+e.yLabel+")",(e.text||e.text===0)&&!Array.isArray(e.text)&&(s+=(s?"
":"")+e.text),e.extraText!==void 0&&(s+=(s?"
":"")+e.extraText),i&&s===""&&!e.hovertemplate&&(o===""&&i.remove(),s=o);var c=e.hovertemplate||!1;if(c){var d=e.hovertemplateLabels||e;e[l+"Label"]!==n&&(d[l+"other"]=d[l+"Val"],d[l+"otherLabel"]=d[l+"Label"]),s=Mr.hovertemplateString(c,d,a._d3locale,e.eventData[0]||{},e.trace._meta),s=s.replace(lne,function(h,p){return o=DP(p,e.nameLength),""})}return[s,o]}function une(e,t,r){var a=0,n=1,i=e.size(),o=new Array(i),s=0;e.each(function(S){var q=S[t],P=q._id.charAt(0)==="x",I=q.range;s===0&&I&&I[0]>I[1]!==P&&(n=-1),o[s++]=[{datum:S,traceIndex:S.trace.index,dp:0,pos:S.pos,posref:S.posref,size:S.by*(P?ane:1)/2,pmin:0,pmax:P?r.width:r.height}]}),o.sort(function(S,q){return S[0].posref-q[0].posref||n*(q[0].traceIndex-S[0].traceIndex)});var l,u,c,d,h,p,g;function m(S){var q=S[0],P=S[S.length-1];if(u=q.pmin-q.pos-q.dp+q.size,c=P.pos+P.dp+P.size-q.pmax,u>.01){for(h=S.length-1;h>=0;h--)S[h].dp+=u;l=!1}if(!(c<.01)){if(u<-.01){for(h=S.length-1;h>=0;h--)S[h].dp-=c;l=!1}if(!!l){var I=0;for(d=0;dq.pmax&&I++;for(d=S.length-1;d>=0&&!(I<=0);d--)p=S[d],p.pos>q.pmax-1&&(p.del=!0,I--);for(d=0;d=0;h--)S[h].dp-=c;for(d=S.length-1;d>=0&&!(I<=0);d--)p=S[d],p.pos+p.dp+p.size>q.pmax&&(p.del=!0,I--)}}}for(;!l&&a<=i;){for(a++,l=!0,d=0;d.01&&x.pmin===A.pmin&&x.pmax===A.pmax){for(h=_.length-1;h>=0;h--)_[h].dp+=u;for(b.push.apply(b,_),o.splice(d+1,1),g=0,h=b.length-1;h>=0;h--)g+=b[h].dp;for(c=g/b.length,h=b.length-1;h>=0;h--)b[h].dp-=c;l=!1}else d++}o.forEach(m)}for(d=o.length-1;d>=0;d--){var w=o[d];for(h=w.length-1;h>=0;h--){var k=w[h],L=k.datum;L.offset=k.dp,L.del=k.del}}}function CP(e,t,r,a){var n=function(o){return o*r},i=function(o){return o*a};e.each(function(o){var s=rs.select(this);if(o.del)return s.remove();var l=s.select("text.nums"),u=o.anchor,c=u==="end"?-1:1,d={start:1,end:-1,middle:0}[u],h=d*(or+Nt),p=h+d*(o.txwidth+Nt),g=0,m=o.offset,b=u==="middle";b&&(h-=o.tx2width/2,p+=o.txwidth/2+Nt),t&&(m*=-ine,g=o.offset*nne),s.select("path").attr("d",b?"M-"+n(o.bx/2+o.tx2width/2)+","+i(m-o.by/2)+"h"+n(o.bx)+"v"+i(o.by)+"h-"+n(o.bx)+"Z":"M0,0L"+n(c*or+g)+","+i(or+m)+"v"+i(o.by/2-or)+"h"+n(c*o.bx)+"v-"+i(o.by)+"H"+n(c*or+g)+"V"+i(m-or)+"Z");var _=g+h,x=m+o.ty0-o.by/2+Nt,A=o.textAlign||"auto";A!=="auto"&&(A==="left"&&u!=="start"?(l.attr("text-anchor","start"),_=b?-o.bx/2-o.tx2width/2+Nt:-o.bx-Nt):A==="right"&&u!=="end"&&(l.attr("text-anchor","end"),_=b?o.bx/2-o.tx2width/2-Nt:o.bx+Nt)),l.call(vn.positionText,n(_),i(x)),o.tx2width&&(s.select("text.name").call(vn.positionText,n(p+d*Nt+g),i(m+o.ty0-o.by/2+Nt)),s.select("rect").call(ii.setRect,n(p+(d-1)*o.tx2width/2+g),i(m-o.by/2-1),n(o.tx2width),i(o.by+2)))})}function fne(e,t){var r=e.index,a=e.trace||{},n=e.cd[0],i=e.cd[r]||{};function o(h){return h||Mi(h)&&h===0}var s=Array.isArray(r)?function(h,p){var g=Mr.castOption(n,r,h);return o(g)?g:Mr.extractOption({},a,"",p)}:function(h,p){return Mr.extractOption(i,a,h,p)};function l(h,p,g){var m=s(p,g);o(m)&&(e[h]=m)}if(l("hoverinfo","hi","hoverinfo"),l("bgcolor","hbg","hoverlabel.bgcolor"),l("borderColor","hbc","hoverlabel.bordercolor"),l("fontFamily","htf","hoverlabel.font.family"),l("fontSize","hts","hoverlabel.font.size"),l("fontColor","htc","hoverlabel.font.color"),l("nameLength","hnl","hoverlabel.namelength"),l("textAlign","hta","hoverlabel.align"),e.posref=t==="y"||t==="closest"&&a.orientation==="h"?e.xa._offset+(e.x0+e.x1)/2:e.ya._offset+(e.y0+e.y1)/2,e.x0=Mr.constrain(e.x0,0,e.xa._length),e.x1=Mr.constrain(e.x1,0,e.xa._length),e.y0=Mr.constrain(e.y0,0,e.ya._length),e.y1=Mr.constrain(e.y1,0,e.ya._length),e.xLabelVal!==void 0&&(e.xLabel="xLabel"in e?e.xLabel:ao.hoverLabelText(e.xa,e.xLabelVal,a.xhoverformat),e.xVal=e.xa.c2d(e.xLabelVal)),e.yLabelVal!==void 0&&(e.yLabel="yLabel"in e?e.yLabel:ao.hoverLabelText(e.ya,e.yLabelVal,a.yhoverformat),e.yVal=e.ya.c2d(e.yLabelVal)),e.zLabelVal!==void 0&&e.zLabel===void 0&&(e.zLabel=String(e.zLabelVal)),!isNaN(e.xerr)&&!(e.xa.type==="log"&&e.xerr<=0)){var u=ao.tickText(e.xa,e.xa.c2l(e.xerr),"hover").text;e.xerrneg!==void 0?e.xLabel+=" +"+u+" / -"+ao.tickText(e.xa,e.xa.c2l(e.xerrneg),"hover").text:e.xLabel+=" \xB1 "+u,t==="x"&&(e.distance+=1)}if(!isNaN(e.yerr)&&!(e.ya.type==="log"&&e.yerr<=0)){var c=ao.tickText(e.ya,e.ya.c2l(e.yerr),"hover").text;e.yerrneg!==void 0?e.yLabel+=" +"+c+" / -"+ao.tickText(e.ya,e.ya.c2l(e.yerrneg),"hover").text:e.yLabel+=" \xB1 "+c,t==="y"&&(e.distance+=1)}var d=e.hoverinfo||e.trace.hoverinfo;return d&&d!=="all"&&(d=Array.isArray(d)?d:d.split("+"),d.indexOf("x")===-1&&(e.xLabel=void 0),d.indexOf("y")===-1&&(e.yLabel=void 0),d.indexOf("z")===-1&&(e.zLabel=void 0),d.indexOf("text")===-1&&(e.text=void 0),d.indexOf("name")===-1&&(e.name=void 0)),e}function LP(e,t,r){var a=r.container,n=r.fullLayout,i=n._size,o=r.event,s=!!t.hLinePoint,l=!!t.vLinePoint,u,c;if(a.selectAll(".spikeline").remove(),!!(l||s)){var d=Or.combine(n.plot_bgcolor,n.paper_bgcolor);if(s){var h=t.hLinePoint,p,g;u=h&&h.xa,c=h&&h.ya;var m=c.spikesnap;m==="cursor"?(p=o.pointerX,g=o.pointerY):(p=u._offset+h.x,g=c._offset+h.y);var b=wP.readability(h.color,d)<1.5?Or.contrast(d):h.color,_=c.spikemode,x=c.spikethickness,A=c.spikecolor||b,w=ao.getPxPosition(e,c),k,L;if(_.indexOf("toaxis")!==-1||_.indexOf("across")!==-1){if(_.indexOf("toaxis")!==-1&&(k=w,L=p),_.indexOf("across")!==-1){var S=c._counterDomainMin,q=c._counterDomainMax;c.anchor==="free"&&(S=Math.min(S,c.position),q=Math.max(q,c.position)),k=i.l+S*i.w,L=i.l+q*i.w}a.insert("line",":first-child").attr({x1:k,x2:L,y1:g,y2:g,"stroke-width":x,stroke:A,"stroke-dasharray":ii.dashStyle(c.spikedash,x)}).classed("spikeline",!0).classed("crisp",!0),a.insert("line",":first-child").attr({x1:k,x2:L,y1:g,y2:g,"stroke-width":x+2,stroke:d}).classed("spikeline",!0).classed("crisp",!0)}_.indexOf("marker")!==-1&&a.insert("circle",":first-child").attr({cx:w+(c.side!=="right"?x:-x),cy:g,r:x,fill:A}).classed("spikeline",!0)}if(l){var P=t.vLinePoint,I,F;u=P&&P.xa,c=P&&P.ya;var N=u.spikesnap;N==="cursor"?(I=o.pointerX,F=o.pointerY):(I=u._offset+P.x,F=c._offset+P.y);var j=wP.readability(P.color,d)<1.5?Or.contrast(d):P.color,G=u.spikemode,V=u.spikethickness,W=u.spikecolor||j,Y=ao.getPxPosition(e,u),X,$;if(G.indexOf("toaxis")!==-1||G.indexOf("across")!==-1){if(G.indexOf("toaxis")!==-1&&(X=Y,$=F),G.indexOf("across")!==-1){var ae=u._counterDomainMin,te=u._counterDomainMax;u.anchor==="free"&&(ae=Math.min(ae,u.position),te=Math.max(te,u.position)),X=i.t+(1-te)*i.h,$=i.t+(1-ae)*i.h}a.insert("line",":first-child").attr({x1:I,x2:I,y1:X,y2:$,"stroke-width":V,stroke:W,"stroke-dasharray":ii.dashStyle(u.spikedash,V)}).classed("spikeline",!0).classed("crisp",!0),a.insert("line",":first-child").attr({x1:I,x2:I,y1:X,y2:$,"stroke-width":V+2,stroke:d}).classed("spikeline",!0).classed("crisp",!0)}G.indexOf("marker")!==-1&&a.insert("circle",":first-child").attr({cx:I,cy:Y-(u.side!=="top"?V:-V),r:V,fill:W}).classed("spikeline",!0)}}}function cne(e,t,r){if(!r||r.length!==e._hoverdata.length)return!0;for(var a=r.length-1;a>=0;a--){var n=r[a],i=e._hoverdata[a];if(n.curveNumber!==i.curveNumber||String(n.pointNumber)!==String(i.pointNumber)||String(n.pointNumbers)!==String(i.pointNumbers))return!0}return!1}function qP(e,t){return!t||t.vLinePoint!==e._spikepoints.vLinePoint||t.hLinePoint!==e._spikepoints.hLinePoint}function DP(e,t){return vn.plainText(e||"",{len:t,allowedTags:["br","sub","sup","b","i","em"]})}function dne(e,t){for(var r=t.charAt(0),a=[],n=[],i=[],o=0;o{"use strict";var hne=Pe(),vne=qt(),pne=Ti().isUnifiedHover;EP.exports=function(t,r,a,n){n=n||{};var i=r.legend;function o(s){n.font[s]||(n.font[s]=i?r.legend.font[s]:r.font[s])}r&&pne(r.hovermode)&&(n.font||(n.font={}),o("size"),o("family"),o("color"),i?(n.bgcolor||(n.bgcolor=vne.combine(r.legend.bgcolor,r.paper_bgcolor)),n.bordercolor||(n.bordercolor=r.legend.bordercolor)):n.bgcolor||(n.bgcolor=r.paper_bgcolor)),a("hoverlabel.bgcolor",n.bgcolor),a("hoverlabel.bordercolor",n.bordercolor),a("hoverlabel.namelength",n.namelength),hne.coerceFont(a,"hoverlabel.font",n.font),a("hoverlabel.align",n.align)}});var NP=E((Q1e,zP)=>{"use strict";var mne=Pe(),gne=Hh(),yne=Ys();zP.exports=function(t,r){function a(n,i){return mne.coerce(t,r,yne,n,i)}gne(t,r,a)}});var OP=E(($1e,jP)=>{"use strict";var FP=Pe(),bne=Ad(),xne=Hh();jP.exports=function(t,r,a,n){function i(s,l){return FP.coerce(t,r,bne,s,l)}var o=FP.extendFlat({},n.hoverlabel);r.hovertemplate&&(o.namelength=-1),xne(t,r,i,o)}});var g0=E((K1e,HP)=>{"use strict";var _ne=Pe(),wne=Ys();HP.exports=function(t,r){function a(n,i){return r[n]!==void 0?r[n]:_ne.coerce(t,r,wne,n,i)}return a("clickmode"),a("hovermode")}});var GP=E((J1e,UP)=>{"use strict";var BP=Pe(),Tne=Ys(),Ane=g0(),kne=Hh();UP.exports=function(t,r){function a(u,c){return BP.coerce(t,r,Tne,u,c)}var n=Ane(t,r);n&&(a("hoverdistance"),a("spikedistance"));var i=a("dragmode");i==="select"&&a("selectdirection");var o=r._has("mapbox"),s=r._has("geo"),l=r._basePlotModules.length;r.dragmode==="zoom"&&((o||s)&&l===1||o&&s&&l===2)&&(r.dragmode="pan"),kne(t,r,a),BP.coerceFont(a,"hoverlabel.grouptitlefont",r.hoverlabel.font)}});var YP=E((exe,VP)=>{"use strict";var y0=Pe(),WP=vt();VP.exports=function(t){var r=t.calcdata,a=t._fullLayout;function n(u){return function(c){return y0.coerceHoverinfo({hoverinfo:c},{_module:u._module},a)}}for(var i=0;i{"use strict";var Sne=vt(),Cne=m0().hover;ZP.exports=function(t,r,a){var n=Sne.getComponentMethod("annotations","onClick")(t,t._hoverdata);a!==void 0&&Cne(t,r,a,!0);function i(){t.emit("plotly_click",{points:t._hoverdata,event:r})}t._hoverdata&&r&&r.target&&(n&&n.then?n.then(i):i(),r.stopImmediatePropagation&&r.stopImmediatePropagation())}});var Si=E((rxe,KP)=>{"use strict";var Lne=Et(),Bh=Pe(),qne=In(),df=Ti(),QP=Ys(),$P=m0();KP.exports={moduleType:"component",name:"fx",constants:Pu(),schema:{layout:QP},attributes:Ad(),layoutAttributes:QP,supplyLayoutGlobalDefaults:NP(),supplyDefaults:OP(),supplyLayoutDefaults:GP(),calc:YP(),getDistanceFunction:df.getDistanceFunction,getClosest:df.getClosest,inbox:df.inbox,quadrature:df.quadrature,appendArrayPointValue:df.appendArrayPointValue,castHoverOption:Pne,castHoverinfo:Rne,hover:$P.hover,unhover:qne.unhover,loneHover:$P.loneHover,loneUnhover:Dne,click:XP()};function Dne(e){var t=Bh.isD3Selection(e)?e:Lne.select(e);t.selectAll("g.hovertext").remove(),t.selectAll(".spikeline").remove()}function Pne(e,t,r){return Bh.castOption(e,t,"hoverlabel."+r)}function Rne(e,t,r){function a(n){return Bh.coerceHoverinfo({hoverinfo:n},{_module:e._module},t)}return Bh.castOption(e,r,"hoverinfo",a)}});var Tl=E(Ci=>{"use strict";Ci.selectMode=function(e){return e==="lasso"||e==="select"};Ci.drawMode=function(e){return e==="drawclosedpath"||e==="drawopenpath"||e==="drawline"||e==="drawrect"||e==="drawcircle"};Ci.openMode=function(e){return e==="drawline"||e==="drawopenpath"};Ci.rectMode=function(e){return e==="select"||e==="drawline"||e==="drawrect"||e==="drawcircle"};Ci.freeMode=function(e){return e==="lasso"||e==="drawclosedpath"||e==="drawopenpath"};Ci.selectingOrDrawing=function(e){return Ci.freeMode(e)||Ci.rectMode(e)}});var Uh=E((nxe,JP)=>{"use strict";JP.exports=function(t){var r=t._fullLayout;r._glcanvas&&r._glcanvas.size()&&r._glcanvas.each(function(a){a.regl&&a.regl.clear({color:!0,depth:!0})})}});var Gh=E((ixe,eR)=>{"use strict";eR.exports={undo:{width:857.1,height:1e3,path:"m857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z",transform:"matrix(1 0 0 -1 0 850)"},home:{width:928.6,height:1e3,path:"m786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z",transform:"matrix(1 0 0 -1 0 850)"},"camera-retro":{width:1e3,height:1e3,path:"m518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z",transform:"matrix(1 0 0 -1 0 850)"},zoombox:{width:1e3,height:1e3,path:"m1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z",transform:"matrix(1 0 0 -1 0 850)"},pan:{width:1e3,height:1e3,path:"m1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z",transform:"matrix(1 0 0 -1 0 850)"},zoom_plus:{width:875,height:1e3,path:"m1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z",transform:"matrix(1 0 0 -1 0 850)"},zoom_minus:{width:875,height:1e3,path:"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z",transform:"matrix(1 0 0 -1 0 850)"},autoscale:{width:1e3,height:1e3,path:"m250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z",transform:"matrix(1 0 0 -1 0 850)"},tooltip_basic:{width:1500,height:1e3,path:"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z",transform:"matrix(1 0 0 -1 0 850)"},tooltip_compare:{width:1125,height:1e3,path:"m187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z",transform:"matrix(1 0 0 -1 0 850)"},plotlylogo:{width:1542,height:1e3,path:"m0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z",transform:"matrix(1 0 0 -1 0 850)"},"z-axis":{width:1e3,height:1e3,path:"m833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z",transform:"matrix(1 0 0 -1 0 850)"},"3d_rotate":{width:1e3,height:1e3,path:"m922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z",transform:"matrix(1 0 0 -1 0 850)"},camera:{width:1e3,height:1e3,path:"m500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z",transform:"matrix(1 0 0 -1 0 850)"},movie:{width:1e3,height:1e3,path:"m938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z",transform:"matrix(1 0 0 -1 0 850)"},question:{width:857.1,height:1e3,path:"m500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z",transform:"matrix(1 0 0 -1 0 850)"},disk:{width:857.1,height:1e3,path:"m214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z",transform:"matrix(1 0 0 -1 0 850)"},drawopenpath:{width:70,height:70,path:"M33.21,85.65a7.31,7.31,0,0,1-2.59-.48c-8.16-3.11-9.27-19.8-9.88-41.3-.1-3.58-.19-6.68-.35-9-.15-2.1-.67-3.48-1.43-3.79-2.13-.88-7.91,2.32-12,5.86L3,32.38c1.87-1.64,11.55-9.66,18.27-6.9,2.13.87,4.75,3.14,5.17,9,.17,2.43.26,5.59.36,9.25a224.17,224.17,0,0,0,1.5,23.4c1.54,10.76,4,12.22,4.48,12.4.84.32,2.79-.46,5.76-3.59L43,80.07C41.53,81.57,37.68,85.64,33.21,85.65ZM74.81,69a11.34,11.34,0,0,0,6.09-6.72L87.26,44.5,74.72,32,56.9,38.35c-2.37.86-5.57,3.42-6.61,6L38.65,72.14l8.42,8.43ZM55,46.27a7.91,7.91,0,0,1,3.64-3.17l14.8-5.3,8,8L76.11,60.6l-.06.19a6.37,6.37,0,0,1-3,3.43L48.25,74.59,44.62,71Zm16.57,7.82A6.9,6.9,0,1,0,64.64,61,6.91,6.91,0,0,0,71.54,54.09Zm-4.05,0a2.85,2.85,0,1,1-2.85-2.85A2.86,2.86,0,0,1,67.49,54.09Zm-4.13,5.22L60.5,56.45,44.26,72.7l2.86,2.86ZM97.83,35.67,84.14,22l-8.57,8.57L89.26,44.24Zm-13.69-8,8,8-2.85,2.85-8-8Z",transform:"matrix(1 0 0 1 -15 -15)"},drawclosedpath:{width:90,height:90,path:"M88.41,21.12a26.56,26.56,0,0,0-36.18,0l-2.07,2-2.07-2a26.57,26.57,0,0,0-36.18,0,23.74,23.74,0,0,0,0,34.8L48,90.12a3.22,3.22,0,0,0,4.42,0l36-34.21a23.73,23.73,0,0,0,0-34.79ZM84,51.24,50.16,83.35,16.35,51.25a17.28,17.28,0,0,1,0-25.47,20,20,0,0,1,27.3,0l4.29,4.07a3.23,3.23,0,0,0,4.44,0l4.29-4.07a20,20,0,0,1,27.3,0,17.27,17.27,0,0,1,0,25.46ZM66.76,47.68h-33v6.91h33ZM53.35,35H46.44V68h6.91Z",transform:"matrix(1 0 0 1 -5 -5)"},lasso:{width:1031,height:1e3,path:"m1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z",transform:"matrix(1 0 0 -1 0 850)"},selectbox:{width:1e3,height:1e3,path:"m0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z",transform:"matrix(1 0 0 -1 0 850)"},drawline:{width:70,height:70,path:"M60.64,62.3a11.29,11.29,0,0,0,6.09-6.72l6.35-17.72L60.54,25.31l-17.82,6.4c-2.36.86-5.57,3.41-6.6,6L24.48,65.5l8.42,8.42ZM40.79,39.63a7.89,7.89,0,0,1,3.65-3.17l14.79-5.31,8,8L61.94,54l-.06.19a6.44,6.44,0,0,1-3,3.43L34.07,68l-3.62-3.63Zm16.57,7.81a6.9,6.9,0,1,0-6.89,6.9A6.9,6.9,0,0,0,57.36,47.44Zm-4,0a2.86,2.86,0,1,1-2.85-2.85A2.86,2.86,0,0,1,53.32,47.44Zm-4.13,5.22L46.33,49.8,30.08,66.05l2.86,2.86ZM83.65,29,70,15.34,61.4,23.9,75.09,37.59ZM70,21.06l8,8-2.84,2.85-8-8ZM87,80.49H10.67V87H87Z",transform:"matrix(1 0 0 1 -15 -15)"},drawrect:{width:80,height:80,path:"M78,22V79H21V22H78m9-9H12V88H87V13ZM68,46.22H31V54H68ZM53,32H45.22V69H53Z",transform:"matrix(1 0 0 1 -10 -10)"},drawcircle:{width:80,height:80,path:"M50,84.72C26.84,84.72,8,69.28,8,50.3S26.84,15.87,50,15.87,92,31.31,92,50.3,73.16,84.72,50,84.72Zm0-60.59c-18.6,0-33.74,11.74-33.74,26.17S31.4,76.46,50,76.46,83.74,64.72,83.74,50.3,68.6,24.13,50,24.13Zm17.15,22h-34v7.11h34Zm-13.8-13H46.24v34h7.11Z",transform:"matrix(1 0 0 1 -10 -10)"},eraseshape:{width:80,height:80,path:"M82.77,78H31.85L6,49.57,31.85,21.14H82.77a8.72,8.72,0,0,1,8.65,8.77V69.24A8.72,8.72,0,0,1,82.77,78ZM35.46,69.84H82.77a.57.57,0,0,0,.49-.6V29.91a.57.57,0,0,0-.49-.61H35.46L17,49.57Zm32.68-34.7-24,24,5,5,24-24Zm-19,.53-5,5,24,24,5-5Z",transform:"matrix(1 0 0 1 -10 -10)"},spikeline:{width:1e3,height:1e3,path:"M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z",transform:"matrix(1.5 0 0 -1.5 0 850)"},pencil:{width:1792,height:1792,path:"M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z",transform:"matrix(1 0 0 1 0 1)"},newplotlylogo:{name:"newplotlylogo",svg:["",""," ",""," plotly-logomark"," "," "," "," "," "," "," "," "," "," "," "," "," ",""].join("")}}});var rR=E((oxe,tR)=>{tR.exports=Ene;var b0={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},Ine=/([astvzqmhlc])([^astvzqmhlc]*)/ig;function Ene(e){var t=[];return e.replace(Ine,function(r,a,n){var i=a.toLowerCase();for(n=Nne(n),i=="m"&&n.length>2&&(t.push([a].concat(n.splice(0,2))),i="l",a=a=="m"?"l":"L");;){if(n.length==b0[i])return n.unshift(a),t.push(n);if(n.length{"use strict";var Wh=32;aR.exports={CIRCLE_SIDES:Wh,i000:0,i090:Wh/4,i180:Wh/2,i270:Wh/4*3,cos45:Math.cos(Math.PI/4),sin45:Math.sin(Math.PI/4),SQRT2:Math.sqrt(2)}});var Yh=E((lxe,iR)=>{"use strict";var Fne=Pe().strTranslate;function nR(e,t){switch(e.type){case"log":return e.p2d(t);case"date":return e.p2r(t,0,e.calendar);default:return e.p2r(t)}}function jne(e,t){switch(e.type){case"log":return e.d2p(t);case"date":return e.r2p(t,0,e.calendar);default:return e.r2p(t)}}function One(e){var t=e._id.charAt(0)==="y"?1:0;return function(r){return nR(e,r[t])}}function Hne(e){return Fne(e.xaxis._offset,e.yaxis._offset)}iR.exports={p2r:nR,r2p:jne,axValue:One,getTransform:Hne}});var ns=E(Li=>{"use strict";var Bne=rR(),oR=Vh(),Al=oR.CIRCLE_SIDES,x0=oR.SQRT2,sR=Yh(),lR=sR.p2r,uR=sR.r2p,Une=[0,3,4,5,6,1,2],Gne=[0,3,4,1,2];Li.writePaths=function(e){var t=e.length;if(!t)return"M0,0Z";for(var r="",a=0;a0&&l{"use strict";var fR=Tl(),Wne=fR.drawMode,Vne=fR.openMode,kl=Vh(),cR=kl.i000,dR=kl.i090,hR=kl.i180,vR=kl.i270,Yne=kl.cos45,Zne=kl.sin45,pR=Yh(),Xh=pR.p2r,no=pR.r2p,Xne=Ji(),Qne=Xne.clearOutline,Qh=ns(),$ne=Qh.readPaths,Kne=Qh.writePaths,Jne=Qh.ellipseOver,eie=Qh.fixDatesForPaths;mR.exports=function(t,r){if(!!t.length){var a=t[0][0];if(!!a){var n=a.getAttribute("d"),i=r.gd,o=i._fullLayout.newshape,s=r.plotinfo,l=s.xaxis,u=s.yaxis,c=!!s.domain||!s.xaxis,d=!!s.domain||!s.yaxis,h=r.isActiveShape,p=r.dragmode,g=(i.layout||{}).shapes||[];if(!Wne(p)&&h!==void 0){var m=i._fullLayout._activeShapeIndex;if(m{"use strict";var tie=Tl(),rie=tie.selectMode,aie=Ji(),nie=aie.clearOutline,w0=ns(),iie=w0.readPaths,oie=w0.writePaths,sie=w0.fixDatesForPaths;gR.exports=function(t,r){if(!!t.length){var a=t[0][0];if(!!a){var n=a.getAttribute("d"),i=r.gd,o=i._fullLayout.newselection,s=r.plotinfo,l=s.xaxis,u=s.yaxis,c=r.isActiveSelection,d=r.dragmode,h=(i.layout||{}).selections||[];if(!rie(d)&&c!==void 0){var p=i._fullLayout._activeSelectionIndex;if(p{"use strict";var lie=Pe(),uie=lie.strTranslate,yR=In(),bR=Tl(),fie=bR.drawMode,xR=bR.selectMode,_R=vt(),wR=qt(),$h=Vh(),cie=$h.i000,die=$h.i090,hie=$h.i180,vie=$h.i270,pie=Ji(),TR=pie.clearOutlineControllers,A0=ns(),Kh=A0.pointsOnRectangle,k0=A0.pointsOnEllipse,mie=A0.writePaths,gie=_0(),yie=T0();kR.exports=function e(t,r,a,n){n||(n=0);var i=a.gd;function o(){e(t,r,a,n++),k0(t[0])&&s({redrawing:!0})}function s(V){var W={};a.isActiveShape!==void 0&&(a.isActiveShape=!1,W=gie(r,a)),a.isActiveSelection!==void 0&&(a.isActiveSelection=!1,W=yie(r,a),i._fullLayout._reselect=!0),Object.keys(W).length&&_R.call((V||{}).redrawing?"relayout":"_guiRelayout",i,W)}var l=i._fullLayout,u=l._zoomlayer,c=a.dragmode,d=fie(c),h=xR(c);(d||h)&&(i._fullLayout._outlining=!0),TR(i),r.attr("d",mie(t));var p,g,m,b,_;if(!n&&(a.isActiveShape||a.isActiveSelection)){_=bie([],t);var x=u.append("g").attr("class","outline-controllers");q(x),G()}function A(V){m=+V.srcElement.getAttribute("data-i"),b=+V.srcElement.getAttribute("data-j"),p[m][b].moveFn=w}function w(V,W){if(!!t.length){var Y=_[m][b][1],X=_[m][b][2],$=t[m],ae=$.length;if(Kh($)){var te=V,le=W;if(a.isActiveSelection){var ge=AR($,b);ge[1]===$[b][1]?le=0:te=0}for(var re=0;re1&&!(V.length===2&&V[1][0]==="Z")&&(b===0&&(V[0][0]="M"),t[m]=V,o(),s())}}function S(V,W){if(V===2){m=+W.srcElement.getAttribute("data-i"),b=+W.srcElement.getAttribute("data-j");var Y=t[m];!Kh(Y)&&!k0(Y)&&L()}}function q(V){p=[];for(var W=0;W{"use strict";MR.exports={segmentRE:/[MLHVQCTSZ][^MLHVQCTSZ]*/g,paramRE:/[^\s,]+/g,paramIsX:{M:{0:!0,drawn:0},L:{0:!0,drawn:0},H:{0:!0,drawn:0},V:{},Q:{0:!0,2:!0,drawn:2},C:{0:!0,2:!0,4:!0,drawn:4},T:{0:!0,drawn:0},S:{0:!0,2:!0,drawn:2},Z:{}},paramIsY:{M:{1:!0,drawn:1},L:{1:!0,drawn:1},H:{},V:{0:!0,drawn:0},Q:{1:!0,3:!0,drawn:3},C:{1:!0,3:!0,5:!0,drawn:5},T:{1:!0,drawn:1},S:{1:!0,3:!0,drawn:5},Z:{}},numParams:{M:2,L:2,H:1,V:1,Q:4,C:6,T:2,S:4,Z:0}}});var os=E(Vr=>{"use strict";var is=vf(),SR=Pe(),ev=Jt();Vr.rangeToShapePosition=function(e){return e.type==="log"?e.r2d:function(t){return t}};Vr.shapePositionToRange=function(e){return e.type==="log"?e.d2r:function(t){return t}};Vr.decodeDate=function(e){return function(t){return t.replace&&(t=t.replace("_"," ")),e(t)}};Vr.encodeDate=function(e){return function(t){return e(t).replace(" ","_")}};Vr.extractPathCoords=function(e,t,r){var a=[],n=e.match(is.segmentRE);return n.forEach(function(i){var o=t[i.charAt(0)].drawn;if(o!==void 0){var s=i.substr(1).match(is.paramRE);if(!(!s||s.lengthp&&(m="X"),m});return u>p&&(g=g.replace(/[\s,]*X.*/,""),SR.log("Ignoring extra params in segment "+l)),c+g})}});var q0=E((pxe,NR)=>{"use strict";var CR=vt(),LR=Pe(),Ml=Jt(),wie=ns().readPaths,Tie=Jh(),qR=Ji().clearOutlineControllers,M0=qt(),S0=Kt(),Aie=tr().arrayEditor,DR=In(),PR=ro(),ss=vf(),Ba=os(),C0=Ba.getPathString;NR.exports={draw:L0,drawOne:RR,eraseActiveShape:Sie};function L0(e){var t=e._fullLayout;t._shapeUpperLayer.selectAll("path").remove(),t._shapeLowerLayer.selectAll("path").remove();for(var r in t._plots){var a=t._plots[r].shapelayer;a&&a.selectAll("path").remove()}for(var n=0;no&&xe>s&&!O.shiftKey?DR.getCursor(Le/be,1-Fe/xe):"move";PR(t,Te),le=Te.split("-")[0]}}function ee(O){tv(e)||(l&&(_=W(r.xanchor)),u&&(x=Y(r.yanchor)),r.type==="path"?F=r.path:(p=l?r.x0:W(r.x0),g=u?r.y0:Y(r.y0),m=l?r.x1:W(r.x1),b=u?r.y1:Y(r.y1)),pb?(A=g,S="y0",w=b,q="y1"):(A=b,S="y1",w=g,q="y0"),_e(O),Ce(n,r),Q(t,r,e),te.moveFn=le==="move"?qe:De,te.altKey=O.altKey)}function ke(){tv(e)||(PR(t),U(n),IR(t,e,r),CR.call("_guiRelayout",e,i.getUpdateObj()))}function Me(){tv(e)||U(n)}function qe(O,ie){if(r.type==="path"){var be=function(Fe){return Fe},xe=be,Le=be;l?h("xanchor",r.xanchor=X(_+O)):(xe=function(Te){return X(W(Te)+O)},N&&N.type==="date"&&(xe=Ba.encodeDate(xe))),u?h("yanchor",r.yanchor=$(x+ie)):(Le=function(Te){return $(Y(Te)+ie)},G&&G.type==="date"&&(Le=Ba.encodeDate(Le))),h("path",r.path=ER(F,xe,Le))}else l?h("xanchor",r.xanchor=X(_+O)):(h("x0",r.x0=X(p+O)),h("x1",r.x1=X(m+O))),u?h("yanchor",r.yanchor=$(x+ie)):(h("y0",r.y0=$(g+ie)),h("y1",r.y1=$(b+ie)));t.attr("d",C0(e,r)),Ce(n,r)}function De(O,ie){if(d){var be=function(ye){return ye},xe=be,Le=be;l?h("xanchor",r.xanchor=X(_+O)):(xe=function(we){return X(W(we)+O)},N&&N.type==="date"&&(xe=Ba.encodeDate(xe))),u?h("yanchor",r.yanchor=$(x+ie)):(Le=function(we){return $(Y(we)+ie)},G&&G.type==="date"&&(Le=Ba.encodeDate(Le))),h("path",r.path=ER(F,xe,Le))}else if(c){if(le==="resize-over-start-point"){var Fe=p+O,Te=u?g-ie:g+ie;h("x0",r.x0=l?Fe:X(Fe)),h("y0",r.y0=u?Te:$(Te))}else if(le==="resize-over-end-point"){var at=m+O,Ve=u?b-ie:b+ie;h("x1",r.x1=l?at:X(at)),h("y1",r.y1=u?Ve:$(Ve))}}else{var rt=function(ye){return le.indexOf(ye)!==-1},Je=rt("n"),ut=rt("s"),ht=rt("w"),ue=rt("e"),he=Je?A+ie:A,Oe=ut?w+ie:w,Ue=ht?k+O:k,je=ue?L+O:L;u&&(Je&&(he=A-ie),ut&&(Oe=w-ie)),(!u&&Oe-he>s||u&&he-Oe>s)&&(h(S,r[S]=u?he:$(he)),h(q,r[q]=u?Oe:$(Oe))),je-Ue>o&&(h(P,r[P]=l?Ue:X(Ue)),h(I,r[I]=l?je:X(je)))}t.attr("d",C0(e,r)),Ce(n,r)}function Ce(O,ie){(l||u)&&be();function be(){var xe=ie.type!=="path",Le=O.selectAll(".visual-cue").data([0]),Fe=1;Le.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":Fe}).classed("visual-cue",!0);var Te=W(l?ie.xanchor:LR.midRange(xe?[ie.x0,ie.x1]:Ba.extractPathCoords(ie.path,ss.paramIsX))),at=Y(u?ie.yanchor:LR.midRange(xe?[ie.y0,ie.y1]:Ba.extractPathCoords(ie.path,ss.paramIsY)));if(Te=Ba.roundPositionForSharpStrokeRendering(Te,Fe),at=Ba.roundPositionForSharpStrokeRendering(at,Fe),l&&u){var Ve="M"+(Te-1-Fe)+","+(at-1-Fe)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";Le.attr("d",Ve)}else if(l){var rt="M"+(Te-1-Fe)+","+(at-9-Fe)+"v18 h2 v-18 Z";Le.attr("d",rt)}else{var Je="M"+(Te-9-Fe)+","+(at-1-Fe)+"h18 v2 h-18 Z";Le.attr("d",Je)}}}function U(O){O.selectAll(".visual-cue").remove()}function Q(O,ie,be){var xe=ie.xref,Le=ie.yref,Fe=Ml.getFromId(be,xe),Te=Ml.getFromId(be,Le),at="";xe!=="paper"&&!Fe.autorange&&(at+=xe),Le!=="paper"&&!Te.autorange&&(at+=Le),S0.setClipUrl(O,at?"clip"+be._fullLayout._uid+at:null,be)}}function ER(e,t,r){return e.replace(ss.segmentRE,function(a){var n=0,i=a.charAt(0),o=ss.paramIsX[i],s=ss.paramIsY[i],l=ss.numParams[i],u=a.substr(1).replace(ss.paramRE,function(c){return n>=l||(o[n]?c=t(c):s[n]&&(c=r(c)),n++),c});return i+u})}function Mie(e,t){if(!!rv(e)){var r=t.node(),a=+r.getAttribute("data-index");if(a>=0){if(a===e._fullLayout._activeShapeIndex){zR(e);return}e._fullLayout._activeShapeIndex=a,e._fullLayout._deactivateShape=zR,L0(e)}}}function zR(e){if(!!rv(e)){var t=e._fullLayout._activeShapeIndex;t>=0&&(qR(e),delete e._fullLayout._activeShapeIndex,L0(e))}}function Sie(e){if(!!rv(e)){qR(e);var t=e._fullLayout._activeShapeIndex,r=(e.layout||{}).shapes||[];if(t{"use strict";var pn=vt(),FR=Er(),jR=jr(),Ot=Gh(),Cie=q0().eraseActiveShape,Sl=Pe(),It=Sl._,Ht=UR.exports={};Ht.toImage={name:"toImage",title:function(e){var t=e._context.toImageButtonOptions||{},r=t.format||"png";return r==="png"?It(e,"Download plot as a png"):It(e,"Download plot")},icon:Ot.camera,click:function(e){var t=e._context.toImageButtonOptions,r={format:t.format||"png"};Sl.notifier(It(e,"Taking snapshot - this may take a few seconds"),"long"),r.format!=="svg"&&Sl.isIE()&&(Sl.notifier(It(e,"IE only supports svg. Changing format to svg."),"long"),r.format="svg"),["filename","width","height","scale"].forEach(function(a){a in t&&(r[a]=t[a])}),pn.call("downloadImage",e,r).then(function(a){Sl.notifier(It(e,"Snapshot succeeded")+" - "+a,"long")}).catch(function(){Sl.notifier(It(e,"Sorry, there was a problem downloading your snapshot!"),"long")})}};Ht.sendDataToCloud={name:"sendDataToCloud",title:function(e){return It(e,"Edit in Chart Studio")},icon:Ot.disk,click:function(e){FR.sendDataToCloud(e)}};Ht.editInChartStudio={name:"editInChartStudio",title:function(e){return It(e,"Edit in Chart Studio")},icon:Ot.pencil,click:function(e){FR.sendDataToCloud(e)}};Ht.zoom2d={name:"zoom2d",_cat:"zoom",title:function(e){return It(e,"Zoom")},attr:"dragmode",val:"zoom",icon:Ot.zoombox,click:ma};Ht.pan2d={name:"pan2d",_cat:"pan",title:function(e){return It(e,"Pan")},attr:"dragmode",val:"pan",icon:Ot.pan,click:ma};Ht.select2d={name:"select2d",_cat:"select",title:function(e){return It(e,"Box Select")},attr:"dragmode",val:"select",icon:Ot.selectbox,click:ma};Ht.lasso2d={name:"lasso2d",_cat:"lasso",title:function(e){return It(e,"Lasso Select")},attr:"dragmode",val:"lasso",icon:Ot.lasso,click:ma};Ht.drawclosedpath={name:"drawclosedpath",title:function(e){return It(e,"Draw closed freeform")},attr:"dragmode",val:"drawclosedpath",icon:Ot.drawclosedpath,click:ma};Ht.drawopenpath={name:"drawopenpath",title:function(e){return It(e,"Draw open freeform")},attr:"dragmode",val:"drawopenpath",icon:Ot.drawopenpath,click:ma};Ht.drawline={name:"drawline",title:function(e){return It(e,"Draw line")},attr:"dragmode",val:"drawline",icon:Ot.drawline,click:ma};Ht.drawrect={name:"drawrect",title:function(e){return It(e,"Draw rectangle")},attr:"dragmode",val:"drawrect",icon:Ot.drawrect,click:ma};Ht.drawcircle={name:"drawcircle",title:function(e){return It(e,"Draw circle")},attr:"dragmode",val:"drawcircle",icon:Ot.drawcircle,click:ma};Ht.eraseshape={name:"eraseshape",title:function(e){return It(e,"Erase active shape")},icon:Ot.eraseshape,click:Cie};Ht.zoomIn2d={name:"zoomIn2d",_cat:"zoomin",title:function(e){return It(e,"Zoom in")},attr:"zoom",val:"in",icon:Ot.zoom_plus,click:ma};Ht.zoomOut2d={name:"zoomOut2d",_cat:"zoomout",title:function(e){return It(e,"Zoom out")},attr:"zoom",val:"out",icon:Ot.zoom_minus,click:ma};Ht.autoScale2d={name:"autoScale2d",_cat:"autoscale",title:function(e){return It(e,"Autoscale")},attr:"zoom",val:"auto",icon:Ot.autoscale,click:ma};Ht.resetScale2d={name:"resetScale2d",_cat:"resetscale",title:function(e){return It(e,"Reset axes")},attr:"zoom",val:"reset",icon:Ot.home,click:ma};Ht.hoverClosestCartesian={name:"hoverClosestCartesian",_cat:"hoverclosest",title:function(e){return It(e,"Show closest data on hover")},attr:"hovermode",val:"closest",icon:Ot.tooltip_basic,gravity:"ne",click:ma};Ht.hoverCompareCartesian={name:"hoverCompareCartesian",_cat:"hoverCompare",title:function(e){return It(e,"Compare data on hover")},attr:"hovermode",val:function(e){return e._fullLayout._isHoriz?"y":"x"},icon:Ot.tooltip_compare,gravity:"ne",click:ma};function ma(e,t){var r=t.currentTarget,a=r.getAttribute("data-attr"),n=r.getAttribute("data-val")||!0,i=e._fullLayout,o={},s=jR.list(e,null,!0),l=i._cartesianSpikesEnabled,u,c;if(a==="zoom"){var d=n==="in"?.5:2,h=(1+d)/2,p=(1-d)/2,g;for(c=0;c{"use strict";var GR=I0(),Die=Object.keys(GR),WR=["drawline","drawopenpath","drawclosedpath","drawcircle","drawrect","eraseshape"],VR=["v1hovermode","hoverclosest","hovercompare","togglehover","togglespikelines"].concat(WR),Cl=[],Pie=function(e){if(VR.indexOf(e._cat||e.name)===-1){var t=e.name,r=(e._cat||e.name).toLowerCase();Cl.indexOf(t)===-1&&Cl.push(t),Cl.indexOf(r)===-1&&Cl.push(r)}};Die.forEach(function(e){Pie(GR[e])});Cl.sort();YR.exports={DRAW_MODES:WR,backButtons:VR,foreButtons:Cl}});var z0=E((yxe,XR)=>{"use strict";var ZR=E0();XR.exports={editType:"modebar",orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"modebar",description:"Sets the orientation of the modebar."},bgcolor:{valType:"color",editType:"modebar",description:"Sets the background color of the modebar."},color:{valType:"color",editType:"modebar",description:"Sets the color of the icons in the modebar."},activecolor:{valType:"color",editType:"modebar",description:"Sets the color of the active or hovered on icons in the modebar."},uirevision:{valType:"any",editType:"none",description:["Controls persistence of user-driven changes related to the modebar,","including `hovermode`, `dragmode`, and `showspikes` at both the","root level and inside subplots. Defaults to `layout.uirevision`."].join(" ")},add:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar",description:["Determines which predefined modebar buttons to add.","Please note that these buttons will only be shown if they are","compatible with all trace types used in a graph.","Similar to `config.modeBarButtonsToAdd` option.","This may include *"+ZR.backButtons.join("*, *")+"*."].join(" ")},remove:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar",description:["Determines which predefined modebar buttons to remove.","Similar to `config.modeBarButtonsToRemove` option.","This may include *"+ZR.foreButtons.join("*, *")+"*."].join(" ")}}});var $R=E((bxe,QR)=>{"use strict";var Rie=Pe(),pf=qt(),Iie=tr(),Eie=z0();QR.exports=function(t,r){var a=t.modebar||{},n=Iie.newContainer(r,"modebar");function i(s,l){return Rie.coerce(a,n,Eie,s,l)}i("orientation"),i("bgcolor",pf.addOpacity(r.paper_bgcolor,.5));var o=pf.contrast(pf.rgb(r.modebar.bgcolor));i("color",pf.addOpacity(o,.3)),i("activecolor",pf.addOpacity(o,.7)),i("uirevision",r.uirevision),i("add"),i("remove")}});var t6=E((xxe,e6)=>{"use strict";var N0=Et(),zie=zt(),qi=Pe(),KR=Gh(),Nie=cd().version,Fie=new DOMParser;function JR(e){this.container=e.container,this.element=document.createElement("div"),this.update(e.graphInfo,e.buttons),this.container.appendChild(this.element)}var oi=JR.prototype;oi.update=function(e,t){this.graphInfo=e;var r=this.graphInfo._context,a=this.graphInfo._fullLayout,n="modebar-"+a._uid;this.element.setAttribute("id",n),this._uid=n,this.element.className="modebar",r.displayModeBar==="hover"&&(this.element.className+=" modebar--hover ease-bg"),a.modebar.orientation==="v"&&(this.element.className+=" vertical",t=t.reverse());var i=a.modebar,o=r.displayModeBar==="hover"?".js-plotly-plot .plotly:hover ":"";qi.deleteRelatedStyleRule(n),qi.addRelatedStyleRule(n,o+"#"+n+" .modebar-group","background-color: "+i.bgcolor),qi.addRelatedStyleRule(n,"#"+n+" .modebar-btn .icon path","fill: "+i.color),qi.addRelatedStyleRule(n,"#"+n+" .modebar-btn:hover .icon path","fill: "+i.activecolor),qi.addRelatedStyleRule(n,"#"+n+" .modebar-btn.active .icon path","fill: "+i.activecolor);var s=!this.hasButtons(t),l=this.hasLogo!==r.displaylogo,u=this.locale!==r.locale;if(this.locale=r.locale,(s||l||u)&&(this.removeAllButtons(),this.updateButtons(t),r.watermark||r.displaylogo)){var c=this.getLogo();r.watermark&&(c.className=c.className+" watermark"),a.modebar.orientation==="v"?this.element.insertBefore(c,this.element.childNodes[0]):this.element.appendChild(c),this.hasLogo=!0}this.updateActiveButton()};oi.updateButtons=function(e){var t=this;this.buttons=e,this.buttonElements=[],this.buttonsNames=[],this.buttons.forEach(function(r){var a=t.createGroup();r.forEach(function(n){var i=n.name;if(!i)throw new Error("must provide button 'name' in button config");if(t.buttonsNames.indexOf(i)!==-1)throw new Error("button name '"+i+"' is taken");t.buttonsNames.push(i);var o=t.createButton(n);t.buttonElements.push(o),a.appendChild(o)}),t.element.appendChild(a)})};oi.createGroup=function(){var e=document.createElement("div");return e.className="modebar-group",e};oi.createButton=function(e){var t=this,r=document.createElement("a");r.setAttribute("rel","tooltip"),r.className="modebar-btn";var a=e.title;a===void 0?a=e.name:typeof a=="function"&&(a=a(this.graphInfo)),(a||a===0)&&r.setAttribute("data-title",a),e.attr!==void 0&&r.setAttribute("data-attr",e.attr);var n=e.val;n!==void 0&&(typeof n=="function"&&(n=n(this.graphInfo)),r.setAttribute("data-val",n));var i=e.click;if(typeof i!="function")throw new Error("must provide button 'click' function in button config");r.addEventListener("click",function(s){e.click(t.graphInfo,s),t.updateActiveButton(s.currentTarget)}),r.setAttribute("data-toggle",e.toggle||!1),e.toggle&&N0.select(r).classed("active",!0);var o=e.icon;return typeof o=="function"?r.appendChild(o()):r.appendChild(this.createIcon(o||KR.question)),r.setAttribute("data-gravity",e.gravity||"n"),r};oi.createIcon=function(e){var t=zie(e.height)?Number(e.height):e.ascent-e.descent,r="http://www.w3.org/2000/svg",a;if(e.path){a=document.createElementNS(r,"svg"),a.setAttribute("viewBox",[0,0,e.width,t].join(" ")),a.setAttribute("class","icon");var n=document.createElementNS(r,"path");n.setAttribute("d",e.path),e.transform?n.setAttribute("transform",e.transform):e.ascent!==void 0&&n.setAttribute("transform","matrix(1 0 0 -1 0 "+e.ascent+")"),a.appendChild(n)}if(e.svg){var i=Fie.parseFromString(e.svg,"application/xml");a=i.childNodes[0]}return a.setAttribute("height","1em"),a.setAttribute("width","1em"),a};oi.updateActiveButton=function(e){var t=this.graphInfo._fullLayout,r=e!==void 0?e.getAttribute("data-attr"):null;this.buttonElements.forEach(function(a){var n=a.getAttribute("data-val")||!0,i=a.getAttribute("data-attr"),o=a.getAttribute("data-toggle")==="true",s=N0.select(a);if(o)i===r&&s.classed("active",!s.classed("active"));else{var l=i===null?i:qi.nestedProperty(t,i).get();s.classed("active",l===n)}})};oi.hasButtons=function(e){var t=this.buttons;if(!t||e.length!==t.length)return!1;for(var r=0;r{"use strict";var Hie=jr(),r6=Qa(),F0=vt(),Bie=Ti().isUnifiedHover,Uie=t6(),iv=I0(),Gie=E0().DRAW_MODES,Wie=Pe().extendDeep;a6.exports=function(t){var r=t._fullLayout,a=t._context,n=r._modeBar;if(!a.displayModeBar&&!a.watermark){n&&(n.destroy(),delete r._modeBar);return}if(!Array.isArray(a.modeBarButtonsToRemove))throw new Error(["*modeBarButtonsToRemove* configuration options","must be an array."].join(" "));if(!Array.isArray(a.modeBarButtonsToAdd))throw new Error(["*modeBarButtonsToAdd* configuration options","must be an array."].join(" "));var i=a.modeBarButtons,o;Array.isArray(i)&&i.length?o=$ie(i):!a.displayModeBar&&a.watermark?o=[]:o=Vie(t),n?n.update(t,o):r._modeBar=Uie(t,o)};function Vie(e){var t=e._fullLayout,r=e._fullData,a=e._context;function n(X,$){if(typeof $=="string"){if($.toLowerCase()===X.toLowerCase())return!0}else{var ae=$.name,te=$._cat||$.name;if(ae===X||te===X.toLowerCase())return!0}return!1}var i=t.modebar.add;typeof i=="string"&&(i=[i]);var o=t.modebar.remove;typeof o=="string"&&(o=[o]);var s=a.modeBarButtonsToAdd.concat(i.filter(function(X){for(var $=0;$1?(I=["toggleHover"],F=["resetViews"]):d?(P=["zoomInGeo","zoomOutGeo"],I=["hoverClosestGeo"],F=["resetGeo"]):c?(I=["hoverClosest3d"],F=["resetCameraDefault3d","resetCameraLastSave3d"]):b?(P=["zoomInMapbox","zoomOutMapbox"],I=["toggleHover"],F=["resetViewMapbox"]):g?I=["hoverClosestGl2d"]:h?I=["hoverClosestPie"]:A?(I=["hoverClosestCartesian","hoverCompareCartesian"],F=["resetViewSankey"]):I=["toggleHover"],u&&(I=["toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"]),(Xie(r)||k)&&(I=[]),(u||g)&&!w&&(P=["zoomIn2d","zoomOut2d","autoScale2d"],F[0]!=="resetViews"&&(F=["resetScale2d"])),c?N=["zoom3d","pan3d","orbitRotation","tableRotation"]:(u||g)&&!w||m?N=["zoom2d","pan2d"]:b||d?N=["pan2d"]:_&&(N=["zoom2d"]),Zie(r)&&N.push("select2d","lasso2d");var j=[],G=function(X){j.indexOf(X)===-1&&I.indexOf(X)!==-1&&j.push(X)};if(Array.isArray(s)){for(var V=[],W=0;W{"use strict";i6.exports={moduleType:"component",name:"modebar",layoutAttributes:z0(),supplyLayoutDefaults:$R(),manage:n6()}});var O0=E((Txe,o6)=>{"use strict";var Kie=Ma().FROM_BL;o6.exports=function(t,r,a){a===void 0&&(a=Kie[t.constraintoward||"center"]);var n=[t.r2l(t.range[0]),t.r2l(t.range[1])],i=n[0]+(n[1]-n[0])*a;t.range=t._input.range=[t.l2r(i+(n[0]-i)*r),t.l2r(i+(n[1]-i)*r)],t.setScale()}});var gf=E(mf=>{"use strict";var ls=Pe(),H0=nf(),Nn=jr().id2name,Jie=ti(),s6=O0(),eoe=xh(),toe=_r().ALMOST_EQUAL,roe=Ma().FROM_BL;mf.handleDefaults=function(e,t,r){var a=r.axIds,n=r.axHasImage,i=t._axisConstraintGroups=[],o=t._axisMatchGroups=[],s,l,u,c,d,h,p,g;for(s=0;si?r.substr(i):a.substr(n))+o}function noe(e,t){for(var r=t._size,a=r.h/r.w,n={},i=Object.keys(e),o=0;otoe*g&&!x)){for(i=0;iN&&aeI&&(I=ae);var le=(I-P)/(2*F);d/=le,P=l.l2r(P),I=l.l2r(I),l.range=l._input.range=L{"use strict";var ioe=Et(),ga=vt(),Fn=Er(),Di=Pe(),G0=Uh(),yf=qt(),bf=Kt(),ooe=rf(),c6=j0(),xf=Jt(),_f=Ma(),d6=gf(),soe=d6.enforce,loe=d6.clean,h6=nf().doAutoRange,v6="start",uoe="middle",p6="end";Hr.layoutStyles=function(e){return Di.syncOrAsync([Fn.doAutoMargin,coe],e)};function foe(e,t,r){for(var a=0;a=e[1]||n[1]<=e[0])&&i[0]t[0])return!0}return!1}function coe(e){var t=e._fullLayout,r=t._size,a=r.p,n=xf.list(e,"",!0),i,o,s,l,u,c;if(t._paperdiv.style({width:e._context.responsive&&t.autosize&&!e._context._hasZeroWidth&&!e.layout.width?"100%":t.width+"px",height:e._context.responsive&&t.autosize&&!e._context._hasZeroHeight&&!e.layout.height?"100%":t.height+"px"}).selectAll(".main-svg").call(bf.setSize,t.width,t.height),e._context.setBackground(e,t.paper_bgcolor),Hr.drawMainTitle(e),c6.manage(e),!t._has("cartesian"))return Fn.previousPromises(e);function d(Ce,U,Q){var O=Ce._lw/2;if(Ce._id.charAt(0)==="x"){if(U){if(Q==="top")return U._offset-a-O}else return r.t+r.h*(1-(Ce.position||0))+O%1;return U._offset+U._length+a+O}if(U){if(Q==="right")return U._offset+U._length+a+O}else return r.l+r.w*(Ce.position||0)+O%1;return U._offset-a-O}for(i=0;i{"use strict";var moe=ns().readPaths,goe=Jh(),y6=Ji().clearOutlineControllers,W0=qt(),b6=Kt(),yoe=tr().arrayEditor,x6=os(),boe=x6.getPathString;w6.exports={draw:lv,drawOne:_6,activateLastSelection:woe};function lv(e){var t=e._fullLayout;y6(e),t._selectionLayer.selectAll("path").remove();for(var r in t._plots){var a=t._plots[r].selectionLayer;a&&a.selectAll("path").remove()}for(var n=0;n=0;b--){var _=o.append("path").attr(l).style("opacity",b?.1:u).call(W0.stroke,d).call(W0.fill,c).call(b6.dashLine,b?"solid":p,b?4+h:h);if(xoe(_,e,a),g){var x=yoe(e.layout,"selections",a);_.style({cursor:"move"});var A={element:_.node(),plotinfo:n,gd:e,editHelpers:x,isActiveSelection:!0},w=moe(s,e);goe(w,_,A)}else _.style("pointer-events",b?"all":"none");m[b]=_}var k=m[0],L=m[1];L.node().addEventListener("click",function(){return _oe(e,k)})}}function xoe(e,t,r){var a=r.xref+r.yref;b6.setClipUrl(e,"clip"+t._fullLayout._uid+a,t)}function _oe(e,t){if(!!uv(e)){var r=t.node(),a=+r.getAttribute("data-index");if(a>=0){if(a===e._fullLayout._activeSelectionIndex){V0(e);return}e._fullLayout._activeSelectionIndex=a,e._fullLayout._deactivateSelection=V0,lv(e)}}}function woe(e){if(!!uv(e)){var t=e._fullLayout.selections.length-1;e._fullLayout._activeSelectionIndex=t,e._fullLayout._deactivateSelection=V0,lv(e)}}function V0(e){if(!!uv(e)){var t=e._fullLayout._activeSelectionIndex;t>=0&&(y6(e),delete e._fullLayout._activeSelectionIndex,lv(e))}}});var A6=E((Sxe,T6)=>{function Toe(){var e,t=0,r=!1;function a(n,i){return e.list.push({type:n,data:i?JSON.parse(JSON.stringify(i)):void 0}),e}return e={list:[],segmentId:function(){return t++},checkIntersection:function(n,i){return a("check",{seg1:n,seg2:i})},segmentChop:function(n,i){return a("div_seg",{seg:n,pt:i}),a("chop",{seg:n,pt:i})},statusRemove:function(n){return a("pop_seg",{seg:n})},segmentUpdate:function(n){return a("seg_update",{seg:n})},segmentNew:function(n,i){return a("new_seg",{seg:n,primary:i})},segmentRemove:function(n){return a("rem_seg",{seg:n})},tempStatus:function(n,i,o){return a("temp_status",{seg:n,above:i,below:o})},rewind:function(n){return a("rewind",{seg:n})},status:function(n,i,o){return a("status",{seg:n,above:i,below:o})},vert:function(n){return n===r?e:(r=n,a("vert",{x:n}))},log:function(n){return typeof n!="string"&&(n=JSON.stringify(n,!1," ")),a("log",{txt:n})},reset:function(){return a("reset")},selected:function(n){return a("selected",{segs:n})},chainStart:function(n){return a("chain_start",{seg:n})},chainRemoveHead:function(n,i){return a("chain_rem_head",{index:n,pt:i})},chainRemoveTail:function(n,i){return a("chain_rem_tail",{index:n,pt:i})},chainNew:function(n,i){return a("chain_new",{pt1:n,pt2:i})},chainMatch:function(n){return a("chain_match",{index:n})},chainClose:function(n){return a("chain_close",{index:n})},chainAddHead:function(n,i){return a("chain_add_head",{index:n,pt:i})},chainAddTail:function(n,i){return a("chain_add_tail",{index:n,pt:i})},chainConnect:function(n,i){return a("chain_con",{index1:n,index2:i})},chainReverse:function(n){return a("chain_rev",{index:n})},chainJoin:function(n,i){return a("chain_join",{index1:n,index2:i})},done:function(){return a("done")}},e}T6.exports=Toe});var M6=E((Cxe,k6)=>{function Aoe(e){typeof e!="number"&&(e=1e-10);var t={epsilon:function(r){return typeof r=="number"&&(e=r),e},pointAboveOrOnLine:function(r,a,n){var i=a[0],o=a[1],s=n[0],l=n[1],u=r[0],c=r[1];return(s-i)*(c-o)-(l-o)*(u-i)>=-e},pointBetween:function(r,a,n){var i=r[1]-a[1],o=n[0]-a[0],s=r[0]-a[0],l=n[1]-a[1],u=s*o+i*l;if(u-e)},pointsSameX:function(r,a){return Math.abs(r[0]-a[0])e!=s-i>e&&(o-c)*(i-d)/(s-d)+c-n>e&&(l=!l),o=c,s=d}return l}};return t}k6.exports=Aoe});var C6=E((Lxe,S6)=>{var koe={create:function(){var e={root:{root:!0,next:null},exists:function(t){return!(t===null||t===e.root)},isEmpty:function(){return e.root.next===null},getHead:function(){return e.root.next},insertBefore:function(t,r){for(var a=e.root,n=e.root.next;n!==null;){if(r(n)){t.prev=n.prev,t.next=n,n.prev.next=t,n.prev=t;return}a=n,n=n.next}a.next=t,t.prev=a,t.next=null},findTransition:function(t){for(var r=e.root,a=e.root.next;a!==null&&!t(a);)r=a,a=a.next;return{before:r===e.root?null:r,after:a,insert:function(n){return n.prev=r,n.next=a,r.next=n,a!==null&&(a.prev=n),n}}}};return e},node:function(e){return e.prev=null,e.next=null,e.remove=function(){e.prev.next=e.next,e.next&&(e.next.prev=e.prev),e.prev=null,e.next=null},e}};S6.exports=koe});var q6=E((qxe,L6)=>{var wf=C6();function Moe(e,t,r){function a(g,m){return{id:r?r.segmentId():-1,start:g,end:m,myFill:{above:null,below:null},otherFill:null}}function n(g,m,b){return{id:r?r.segmentId():-1,start:g,end:m,myFill:{above:b.myFill.above,below:b.myFill.below},otherFill:null}}var i=wf.create();function o(g,m,b,_,x,A){var w=t.pointsCompare(m,x);return w!==0?w:t.pointsSame(b,A)?0:g!==_?g?1:-1:t.pointAboveOrOnLine(b,_?x:A,_?A:x)?1:-1}function s(g,m){i.insertBefore(g,function(b){var _=o(g.isStart,g.pt,m,b.isStart,b.pt,b.other.pt);return _<0})}function l(g,m){var b=wf.node({isStart:!0,pt:g.start,seg:g,primary:m,other:null,status:null});return s(b,g.end),b}function u(g,m,b){var _=wf.node({isStart:!1,pt:m.end,seg:m,primary:b,other:g,status:null});g.other=_,s(_,g.pt)}function c(g,m){var b=l(g,m);return u(b,g,m),b}function d(g,m){r&&r.segmentChop(g.seg,m),g.other.remove(),g.seg.end=m,g.other.pt=m,s(g.other,g.pt)}function h(g,m){var b=n(m,g.seg.end,g.seg);return d(g,m),c(b,g.primary)}function p(g,m){var b=wf.create();function _(V,W){var Y=V.seg.start,X=V.seg.end,$=W.seg.start,ae=W.seg.end;return t.pointsCollinear(Y,$,ae)?t.pointsCollinear(X,$,ae)||t.pointAboveOrOnLine(X,$,ae)?1:-1:t.pointAboveOrOnLine(Y,$,ae)?1:-1}function x(V){return b.findTransition(function(W){var Y=_(V,W.ev);return Y>0})}function A(V,W){var Y=V.seg,X=W.seg,$=Y.start,ae=Y.end,te=X.start,le=X.end;r&&r.checkIntersection(Y,X);var ge=t.linesIntersect($,ae,te,le);if(ge===!1){if(!t.pointsCollinear($,ae,te)||t.pointsSame($,le)||t.pointsSame(ae,te))return!1;var re=t.pointsSame($,te),_e=t.pointsSame(ae,le);if(re&&_e)return W;var ee=!re&&t.pointBetween($,te,le),ke=!_e&&t.pointBetween(ae,te,le);if(re)return ke?h(W,ae):h(V,le),W;ee&&(_e||(ke?h(W,ae):h(V,le)),h(W,$))}else ge.alongA===0&&(ge.alongB===-1?h(V,te):ge.alongB===0?h(V,ge.pt):ge.alongB===1&&h(V,le)),ge.alongB===0&&(ge.alongA===-1?h(W,$):ge.alongA===0?h(W,ge.pt):ge.alongA===1&&h(W,ae));return!1}for(var w=[];!i.isEmpty();){var k=i.getHead();if(r&&r.vert(k.pt[0]),k.isStart){let V=function(){if(S){var W=A(k,S);if(W)return W}return q?A(k,q):!1};var G=V;r&&r.segmentNew(k.seg,k.primary);var L=x(k),S=L.before?L.before.ev:null,q=L.after?L.after.ev:null;r&&r.tempStatus(k.seg,S?S.seg:!1,q?q.seg:!1);var P=V();if(P){if(e){var I;k.seg.myFill.below===null?I=!0:I=k.seg.myFill.above!==k.seg.myFill.below,I&&(P.seg.myFill.above=!P.seg.myFill.above)}else P.seg.otherFill=k.seg.myFill;r&&r.segmentUpdate(P.seg),k.other.remove(),k.remove()}if(i.getHead()!==k){r&&r.rewind(k.seg);continue}if(e){var I;k.seg.myFill.below===null?I=!0:I=k.seg.myFill.above!==k.seg.myFill.below,q?k.seg.myFill.below=q.seg.myFill.above:k.seg.myFill.below=g,I?k.seg.myFill.above=!k.seg.myFill.below:k.seg.myFill.above=k.seg.myFill.below}else if(k.seg.otherFill===null){var F;q?k.primary===q.primary?F=q.seg.otherFill.above:F=q.seg.myFill.above:F=k.primary?m:g,k.seg.otherFill={above:F,below:F}}r&&r.status(k.seg,S?S.seg:!1,q?q.seg:!1),k.other.status=L.insert(wf.node({ev:k}))}else{var N=k.status;if(N===null)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(b.exists(N.prev)&&b.exists(N.next)&&A(N.prev.ev,N.next.ev),r&&r.statusRemove(N.ev.seg),N.remove(),!k.primary){var j=k.seg.myFill;k.seg.myFill=k.seg.otherFill,k.seg.otherFill=j}w.push(k.seg)}i.getHead().remove()}return r&&r.done(),w}return e?{addRegion:function(g){for(var m,b=g[g.length-1],_=0;_{function Soe(e,t,r){var a=[],n=[];return e.forEach(function(i){var o=i.start,s=i.end;if(t.pointsSame(o,s)){console.warn("PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large");return}r&&r.chainStart(i);var l={index:0,matches_head:!1,matches_pt1:!1},u={index:0,matches_head:!1,matches_pt1:!1},c=l;function d(G,V,W){return c.index=G,c.matches_head=V,c.matches_pt1=W,c===l?(c=u,!1):(c=null,!0)}for(var h=0;h{function Tf(e,t,r){var a=[];return e.forEach(function(n){var i=(n.myFill.above?8:0)+(n.myFill.below?4:0)+(n.otherFill&&n.otherFill.above?2:0)+(n.otherFill&&n.otherFill.below?1:0);t[i]!==0&&a.push({id:r?r.segmentId():-1,start:n.start,end:n.end,myFill:{above:t[i]===1,below:t[i]===2},otherFill:null})}),r&&r.selected(a),a}var Coe={union:function(e,t){return Tf(e,[0,2,1,0,2,2,0,0,1,0,1,0,0,0,0,0],t)},intersect:function(e,t){return Tf(e,[0,0,0,0,0,2,0,2,0,0,1,1,0,2,1,0],t)},difference:function(e,t){return Tf(e,[0,0,0,0,2,0,2,0,1,1,0,0,0,1,2,0],t)},differenceRev:function(e,t){return Tf(e,[0,2,1,0,0,0,1,1,0,2,0,2,0,0,0,0],t)},xor:function(e,t){return Tf(e,[0,2,1,0,2,0,0,1,1,0,0,2,0,1,2,0],t)}};R6.exports=Coe});var z6=E((Rxe,E6)=>{var Loe={toPolygon:function(e,t){function r(i){if(i.length<=0)return e.segments({inverted:!1,regions:[]});function o(u){var c=u.slice(0,u.length-1);return e.segments({inverted:!1,regions:[c]})}for(var s=o(i[0]),l=1;l{var qoe=A6(),Doe=M6(),N6=q6(),Poe=P6(),Af=I6(),F6=z6(),mn=!1,kf=Doe(),Ua;Ua={buildLog:function(e){return e===!0?mn=qoe():e===!1&&(mn=!1),mn===!1?!1:mn.list},epsilon:function(e){return kf.epsilon(e)},segments:function(e){var t=N6(!0,kf,mn);return e.regions.forEach(t.addRegion),{segments:t.calculate(e.inverted),inverted:e.inverted}},combine:function(e,t){var r=N6(!1,kf,mn);return{combined:r.calculate(e.segments,e.inverted,t.segments,t.inverted),inverted1:e.inverted,inverted2:t.inverted}},selectUnion:function(e){return{segments:Af.union(e.combined,mn),inverted:e.inverted1||e.inverted2}},selectIntersect:function(e){return{segments:Af.intersect(e.combined,mn),inverted:e.inverted1&&e.inverted2}},selectDifference:function(e){return{segments:Af.difference(e.combined,mn),inverted:e.inverted1&&!e.inverted2}},selectDifferenceRev:function(e){return{segments:Af.differenceRev(e.combined,mn),inverted:!e.inverted1&&e.inverted2}},selectXor:function(e){return{segments:Af.xor(e.combined,mn),inverted:e.inverted1!==e.inverted2}},polygon:function(e){return{regions:Poe(e.segments,kf,mn),inverted:e.inverted}},polygonFromGeoJSON:function(e){return F6.toPolygon(Ua,e)},polygonToGeoJSON:function(e){return F6.fromPolygon(Ua,kf,e)},union:function(e,t){return Mf(e,t,Ua.selectUnion)},intersect:function(e,t){return Mf(e,t,Ua.selectIntersect)},difference:function(e,t){return Mf(e,t,Ua.selectDifference)},differenceRev:function(e,t){return Mf(e,t,Ua.selectDifferenceRev)},xor:function(e,t){return Mf(e,t,Ua.selectXor)}};function Mf(e,t,r){var a=Ua.segments(e),n=Ua.segments(t),i=Ua.combine(a,n),o=r(i);return Ua.polygon(o)}typeof window=="object"&&(window.PolyBool=Ua);j6.exports=Ua});var B6=E((Exe,H6)=>{H6.exports=function(t,r,a,n){var i=t[0],o=t[1],s=!1;a===void 0&&(a=0),n===void 0&&(n=r.length);for(var l=n-a,u=0,c=l-1;uo!=g>o&&i<(p-d)*(o-h)/(g-h)+d;m&&(s=!s)}return s}});var X0=E((zxe,U6)=>{"use strict";var Z0=Dd().dot,fv=_r().BADNUM,cv=U6.exports={};cv.tester=function(t){var r=t.slice(),a=r[0][0],n=a,i=r[0][1],o=i,s;for((r[r.length-1][0]!==r[0][0]||r[r.length-1][1]!==r[0][1])&&r.push(r[0]),s=1;sn||_===fv||_o||m&&u(g))}function d(g,m){var b=g[0],_=g[1];if(b===fv||bn||_===fv||_o)return!1;var x=r.length,A=r[0][0],w=r[0][1],k=0,L,S,q,P,I;for(L=1;LMath.max(S,A)||_>Math.max(q,w)))if(_s||Math.abs(Z0(d,u))>n)return!0;return!1};cv.filter=function(t,r){var a=[t[0]],n=0,i=0;function o(l){t.push(l);var u=a.length,c=n;a.splice(i+1);for(var d=c+1;d1){var s=t.pop();o(s)}return{addPt:o,raw:t,filtered:a}}});var W6=E((Nxe,G6)=>{"use strict";G6.exports={BENDPX:1.5,MINSELECT:12,SELECTDELAY:100,SELECTID:"-select"}});var hI=E((Fxe,dI)=>{"use strict";var V6=O6(),Roe=B6(),Sf=vt(),Ioe=Kt().dashStyle,Q0=qt(),Eoe=Si(),zoe=Ti().makeEventData,Cf=Tl(),Noe=Cf.freeMode,Foe=Cf.rectMode,Lf=Cf.drawMode,$0=Cf.openMode,K0=Cf.selectMode,Y6=os(),Z6=vf(),X6=Jh(),Q6=Ji().clearOutline,$6=ns(),J0=$6.handleEllipse,joe=$6.readPaths,Ooe=_0(),Hoe=T0(),Boe=Y0().activateLastSelection,dv=Pe(),Uoe=dv.sorterAsc,K6=X0(),qf=Bd(),gn=jr().getFromId,Goe=Uh(),Woe=sv().redrawReglTraces,hv=W6(),si=hv.MINSELECT,Voe=K6.filter,eb=K6.tester,tb=Yh(),J6=tb.p2r,Yoe=tb.axValue,Zoe=tb.getTransform;function rb(e){return e.subplot!==void 0}function Xoe(e,t,r,a,n){var i=!rb(a),o=Noe(n),s=Foe(n),l=$0(n),u=Lf(n),c=K0(n),d=n==="drawline",h=n==="drawcircle",p=d||h,g=a.gd,m=g._fullLayout,b=c&&m.newselection.mode==="immediate"&&i,_=m._zoomlayer,x=a.element.getBoundingClientRect(),A=a.plotinfo,w=Zoe(A),k=t-x.left,L=r-x.top;m._calcInverseTransform(g);var S=dv.apply3DTransform(m._invTransform)(k,L);k=S[0],L=S[1];var q=m._invScaleX,P=m._invScaleY,I=k,F=L,N="M"+k+","+L,j=a.xaxes[0],G=a.yaxes[0],V=j._length,W=G._length,Y=e.altKey&&!(Lf(n)&&l),X,$,ae,te,le,ge,re;tI(e,g,a),o&&(X=Voe([[k,L]],hv.BENDPX));var _e=_.selectAll("path.select-outline-"+A.id).data([1]),ee=u?m.newshape:m.newselection;_e.enter().append("path").attr("class","select-outline select-outline-"+A.id).style({opacity:u?ee.opacity/2:1,fill:u&&!l?ee.fillcolor:"none",stroke:ee.line.color||(i?Q0.contrast(g._fullLayout.plot_bgcolor):"#7f7f7f"),"stroke-dasharray":Ioe(ee.line.dash,ee.line.width),"stroke-width":ee.line.width+"px","shape-rendering":"crispEdges"}).attr("fill-rule","evenodd").classed("cursor-move",!!u).attr("transform",w).attr("d",N+"Z");var ke=_.append("path").attr("class","zoombox-corners").style({fill:Q0.background,stroke:Q0.defaultLine,"stroke-width":1}).attr("transform",w).attr("d","M0,0Z"),Me=m._uid+hv.SELECTID,qe=[],De=vv(g,a.xaxes,a.yaxes,a.subplot);b&&!e.shiftKey&&(a._clearSubplotSelections=function(){if(!!i){var U=j._id,Q=G._id;lI(g,U,Q,De);for(var O=(g.layout||{}).selections||[],ie=[],be=!1,xe=0;xe=0){g._fullLayout._deactivateShape(g);return}if(!u){var O=m.clickmode;qf.done(Me).then(function(){if(qf.clear(Me),U===2){for(_e.remove(),le=0;le-1&&eI(Q,g,a.xaxes,a.yaxes,a.subplot,a,_e),O==="event"&&Rf(g,void 0);Eoe.click(g,Q)}).catch(dv.error)}},a.doneFn=function(){ke.remove(),qf.done(Me).then(function(){qf.clear(Me),!b&&te&&a.selectionDefs&&(te.subtract=Y,a.selectionDefs.push(te),a.mergedPolygons.length=0,[].push.apply(a.mergedPolygons,ae)),(b||u)&&Df(a,b),a.doneFnCompleted&&a.doneFnCompleted(qe),c&&Rf(g,re)}).catch(dv.error)}}function eI(e,t,r,a,n,i,o){var s=t._hoverdata,l=t._fullLayout,u=l.clickmode,c=u.indexOf("event")>-1,d=[],h,p,g,m,b,_,x,A,w,k;if(ese(s)){tI(e,t,i),h=vv(t,r,a,n);var L=tse(s,h),S=L.pointNumbers.length>0;if(S?rse(h,L):ase(h)&&(x=aI(L))){for(o&&o.remove(),k=0;k=0}function Joe(e){return e._fullLayout._activeSelectionIndex>=0}function Df(e,t){var r=e.dragmode,a=e.plotinfo,n=e.gd;Koe(n)&&n._fullLayout._deactivateShape(n),Joe(n)&&n._fullLayout._deactivateSelection(n);var i=n._fullLayout,o=i._zoomlayer,s=Lf(r),l=K0(r);if(s||l){var u=o.selectAll(".select-outline-"+a.id);if(u&&n._fullLayout._outlining){var c;s&&(c=Ooe(u,e)),c&&Sf.call("_guiRelayout",n,{shapes:c});var d;l&&!rb(e)&&(d=Hoe(u,e)),d&&(n._fullLayout._noEmitSelectedAtStart=!0,Sf.call("_guiRelayout",n,{selections:d}).then(function(){t&&Boe(n)})),n._fullLayout._outlining=!1}}a.selection={},a.selection.selectionDefs=e.selectionDefs=[],a.selection.mergedPolygons=e.mergedPolygons=[]}function rI(e){return e._id}function vv(e,t,r,a){if(!e.calcdata)return[];var n=[],i=t.map(rI),o=r.map(rI),s,l,u;for(u=0;u0,i=n?a[0]:r;return t.selectedpoints?t.selectedpoints.indexOf(i)>-1:!1}function rse(e,t){var r=[],a,n,i,o;for(o=0;o0&&r.push(a);if(r.length===1&&(i=r[0]===t.searchInfo,i&&(n=t.searchInfo.cd[0].trace,n.selectedpoints.length===t.pointNumbers.length))){for(o=0;o1||(t+=a.selectedpoints.length,t>1)))return!1;return t===1}function Pf(e,t,r){var a;for(a=0;a-1&&t;if(!o&&t){var ie=uI(e,!0);if(ie.length){var be=ie[0].xref,xe=ie[0].yref;if(be&&xe){var Le=fI(ie),Fe=cI([gn(e,be,"x"),gn(e,xe,"y")]);Fe(U,Le)}}e._fullLayout._noEmitSelectedAtStart?e._fullLayout._noEmitSelectedAtStart=!1:O&&Rf(e,U),h._reselect=!1}if(!o&&h._deselect){var Te=h._deselect;s=Te.xref,l=Te.yref,ose(s,l,c)||lI(e,s,l,a),O&&(U.points.length?Rf(e,U):sb(e)),h._deselect=!1}return{eventData:U,selectionTesters:r}}function ise(e){var t=e.calcdata;if(!!t)for(var r=0;r{"use strict";vI.exports=[{path:"",backoff:0},{path:"M-2.4,-3V3L0.6,0Z",backoff:.6},{path:"M-3.7,-2.5V2.5L1.3,0Z",backoff:1.3},{path:"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z",backoff:1.55},{path:"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z",backoff:1.6},{path:"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z",backoff:2},{path:"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z",backoff:0,noRotate:!0},{path:"M2,2V-2H-2V2Z",backoff:0,noRotate:!0}]});var If=E((Oxe,pI)=>{"use strict";pI.exports={axisRefDescription:function(e,t,r){return["If set to a",e,"axis id (e.g. *"+e+"* or","*"+e+"2*), the `"+e+"` position refers to a",e,"coordinate. If set to *paper*, the `"+e+"`","position refers to the distance from the",t,"of the plotting","area in normalized coordinates where *0* (*1*) corresponds to the",t,"("+r+"). If set to a",e,"axis ID followed by","*domain* (separated by a space), the position behaves like for","*paper*, but refers to the distance in fractions of the domain","length from the",t,"of the domain of that axis: e.g.,","*"+e+"2 domain* refers to the domain of the second",e," axis and a",e,"position of 0.5 refers to the","point between the",t,"and the",r,"of the domain of the","second",e,"axis."].join(" ")}}});var Ll=E((Hxe,xI)=>{"use strict";var mI=lb(),gI=ka(),mv=ha(),cse=tr().templatedArray,gv=If();function yI(e){return["In order for absolute positioning of the arrow to work, *a"+e+"ref* must be exactly the same as *"+e+"ref*, otherwise *a"+e+"ref* will revert to *pixel* (explained next).","For relative positioning, *a"+e+"ref* can be set to *pixel*,","in which case the *a"+e+"* value is specified in pixels","relative to *"+e+"*.","Absolute positioning is useful","for trendline annotations which should continue to indicate","the correct trend when zoomed. Relative positioning is useful","for specifying the text offset for an annotated point."].join(" ")}function bI(e,t,r){return["Sets the",e,"component of the arrow tail about the arrow head.","If `a"+e+"ref` is `pixel`, a positive (negative)","component corresponds to an arrow pointing","from",r,"to",t,"("+t,"to",r+").","If `a"+e+"ref` is not `pixel` and is exactly the same as `"+e+"ref`,","this is an absolute value on that axis,","like `"+e+"`, specified in the same coordinates as `"+e+"ref`."].join(" ")}xI.exports=cse("annotation",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw",description:["Determines whether or not this annotation is visible."].join(" ")},text:{valType:"string",editType:"calc+arraydraw",description:["Sets the text associated with this annotation.","Plotly uses a subset of HTML tags to do things like","newline (
), bold (), italics (),","hyperlinks (). Tags , , "," are also supported."].join(" ")},textangle:{valType:"angle",dflt:0,editType:"calc+arraydraw",description:["Sets the angle at which the `text` is drawn","with respect to the horizontal."].join(" ")},font:gI({editType:"calc+arraydraw",colorEditType:"arraydraw",description:"Sets the annotation text font."}),width:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw",description:["Sets an explicit width for the text box. null (default) lets the","text set the box width. Wider text will be clipped.","There is no automatic wrapping; use
to start a new line."].join(" ")},height:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw",description:["Sets an explicit height for the text box. null (default) lets the","text set the box height. Taller text will be clipped."].join(" ")},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw",description:"Sets the opacity of the annotation (text + arrow)."},align:{valType:"enumerated",values:["left","center","right"],dflt:"center",editType:"arraydraw",description:["Sets the horizontal alignment of the `text` within the box.","Has an effect only if `text` spans two or more lines","(i.e. `text` contains one or more
HTML tags) or if an","explicit width is set to override the text width."].join(" ")},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"arraydraw",description:["Sets the vertical alignment of the `text` within the box.","Has an effect only if an explicit height is set to override","the text height."].join(" ")},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw",description:"Sets the background color of the annotation."},bordercolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw",description:["Sets the color of the border enclosing the annotation `text`."].join(" ")},borderpad:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw",description:["Sets the padding (in px) between the `text`","and the enclosing border."].join(" ")},borderwidth:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw",description:["Sets the width (in px) of the border enclosing","the annotation `text`."].join(" ")},showarrow:{valType:"boolean",dflt:!0,editType:"calc+arraydraw",description:["Determines whether or not the annotation is drawn with an arrow.","If *true*, `text` is placed near the arrow's tail.","If *false*, `text` lines up with the `x` and `y` provided."].join(" ")},arrowcolor:{valType:"color",editType:"arraydraw",description:"Sets the color of the annotation arrow."},arrowhead:{valType:"integer",min:0,max:mI.length,dflt:1,editType:"arraydraw",description:"Sets the end annotation arrow head style."},startarrowhead:{valType:"integer",min:0,max:mI.length,dflt:1,editType:"arraydraw",description:"Sets the start annotation arrow head style."},arrowside:{valType:"flaglist",flags:["end","start"],extras:["none"],dflt:"end",editType:"arraydraw",description:"Sets the annotation arrow head position."},arrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw",description:["Sets the size of the end annotation arrow head, relative to `arrowwidth`.","A value of 1 (default) gives a head about 3x as wide as the line."].join(" ")},startarrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw",description:["Sets the size of the start annotation arrow head, relative to `arrowwidth`.","A value of 1 (default) gives a head about 3x as wide as the line."].join(" ")},arrowwidth:{valType:"number",min:.1,editType:"calc+arraydraw",description:"Sets the width (in px) of annotation arrow line."},standoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw",description:["Sets a distance, in pixels, to move the end arrowhead away from the","position it is pointing at, for example to point at the edge of","a marker independent of zoom. Note that this shortens the arrow","from the `ax` / `ay` vector, in contrast to `xshift` / `yshift`","which moves everything by this amount."].join(" ")},startstandoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw",description:["Sets a distance, in pixels, to move the start arrowhead away from the","position it is pointing at, for example to point at the edge of","a marker independent of zoom. Note that this shortens the arrow","from the `ax` / `ay` vector, in contrast to `xshift` / `yshift`","which moves everything by this amount."].join(" ")},ax:{valType:"any",editType:"calc+arraydraw",description:[bI("x","left","right")].join(" ")},ay:{valType:"any",editType:"calc+arraydraw",description:[bI("y","top","bottom")].join(" ")},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",mv.idRegex.x.toString()],editType:"calc",description:["Indicates in what coordinates the tail of the","annotation (ax,ay) is specified.",gv.axisRefDescription("ax","left","right"),yI("x")].join(" ")},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",mv.idRegex.y.toString()],editType:"calc",description:["Indicates in what coordinates the tail of the","annotation (ax,ay) is specified.",gv.axisRefDescription("ay","bottom","top"),yI("y")].join(" ")},xref:{valType:"enumerated",values:["paper",mv.idRegex.x.toString()],editType:"calc",description:["Sets the annotation's x coordinate axis.",gv.axisRefDescription("x","left","right")].join(" ")},x:{valType:"any",editType:"calc+arraydraw",description:["Sets the annotation's x position.","If the axis `type` is *log*, then you must take the","log of your desired range.","If the axis `type` is *date*, it should be date strings,","like date data, though Date objects and unix milliseconds","will be accepted and converted to strings.","If the axis `type` is *category*, it should be numbers,","using the scale where each category is assigned a serial","number from zero in the order it appears."].join(" ")},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw",description:["Sets the text box's horizontal position anchor","This anchor binds the `x` position to the *left*, *center*","or *right* of the annotation.","For example, if `x` is set to 1, `xref` to *paper* and","`xanchor` to *right* then the right-most portion of the","annotation lines up with the right-most edge of the","plotting area.","If *auto*, the anchor is equivalent to *center* for","data-referenced annotations or if there is an arrow,","whereas for paper-referenced with no arrow, the anchor picked","corresponds to the closest side."].join(" ")},xshift:{valType:"number",dflt:0,editType:"calc+arraydraw",description:["Shifts the position of the whole annotation and arrow to the","right (positive) or left (negative) by this many pixels."].join(" ")},yref:{valType:"enumerated",values:["paper",mv.idRegex.y.toString()],editType:"calc",description:["Sets the annotation's y coordinate axis.",gv.axisRefDescription("y","bottom","top")].join(" ")},y:{valType:"any",editType:"calc+arraydraw",description:["Sets the annotation's y position.","If the axis `type` is *log*, then you must take the","log of your desired range.","If the axis `type` is *date*, it should be date strings,","like date data, though Date objects and unix milliseconds","will be accepted and converted to strings.","If the axis `type` is *category*, it should be numbers,","using the scale where each category is assigned a serial","number from zero in the order it appears."].join(" ")},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"calc+arraydraw",description:["Sets the text box's vertical position anchor","This anchor binds the `y` position to the *top*, *middle*","or *bottom* of the annotation.","For example, if `y` is set to 1, `yref` to *paper* and","`yanchor` to *top* then the top-most portion of the","annotation lines up with the top-most edge of the","plotting area.","If *auto*, the anchor is equivalent to *middle* for","data-referenced annotations or if there is an arrow,","whereas for paper-referenced with no arrow, the anchor picked","corresponds to the closest side."].join(" ")},yshift:{valType:"number",dflt:0,editType:"calc+arraydraw",description:["Shifts the position of the whole annotation and arrow up","(positive) or down (negative) by this many pixels."].join(" ")},clicktoshow:{valType:"enumerated",values:[!1,"onoff","onout"],dflt:!1,editType:"arraydraw",description:["Makes this annotation respond to clicks on the plot.","If you click a data point that exactly matches the `x` and `y`","values of this annotation, and it is hidden (visible: false),","it will appear. In *onoff* mode, you must click the same point","again to make it disappear, so if you click multiple points,","you can show multiple annotations. In *onout* mode, a click","anywhere else in the plot (on another data point or not) will","hide this annotation.","If you need to show/hide this annotation in response to different","`x` or `y` values, you can set `xclick` and/or `yclick`. This is","useful for example to label the side of a bar. To label markers","though, `standoff` is preferred over `xclick` and `yclick`."].join(" ")},xclick:{valType:"any",editType:"arraydraw",description:["Toggle this annotation when clicking a data point whose `x` value","is `xclick` rather than the annotation's `x` value."].join(" ")},yclick:{valType:"any",editType:"arraydraw",description:["Toggle this annotation when clicking a data point whose `y` value","is `yclick` rather than the annotation's `y` value."].join(" ")},hovertext:{valType:"string",editType:"arraydraw",description:["Sets text to appear when hovering over this annotation.","If omitted or blank, no hover label will appear."].join(" ")},hoverlabel:{bgcolor:{valType:"color",editType:"arraydraw",description:["Sets the background color of the hover label.","By default uses the annotation's `bgcolor` made opaque,","or white if it was transparent."].join(" ")},bordercolor:{valType:"color",editType:"arraydraw",description:["Sets the border color of the hover label.","By default uses either dark grey or white, for maximum","contrast with `hoverlabel.bgcolor`."].join(" ")},font:gI({editType:"arraydraw",description:["Sets the hover label text font.","By default uses the global hover font and size,","with color from `hoverlabel.bordercolor`."].join(" ")}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw",description:["Determines whether the annotation text box captures mouse move","and click events, or allows those events to pass through to data","points in the plot that may be behind the annotation. By default","`captureevents` is *false* unless `hovertext` is provided.","If you use the event `plotly_clickannotation` without `hovertext`","you must explicitly enable `captureevents`."].join(" ")},editType:"calc",_deprecated:{ref:{valType:"string",editType:"calc",description:["Obsolete. Set `xref` and `yref` separately instead."].join(" ")}}})});var Ef=E(ub=>{"use strict";var _I=jg(),dse=_I.FORMAT_LINK,hse=_I.DATE_FORMAT_LINK;function wI(e){var t=e&&e.supportOther;return["Variables are inserted using %{variable},",'for example "y: %{y}"'+(t?" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown.":"."),`Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}".`,dse,"for details on the formatting syntax.",`Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}".`,hse,"for details on the date formatting syntax."].join(" ")}function TI(e){var t=e.description?" "+e.description:"",r=e.keys||[];if(r.length>0){for(var a=[],n=0;n` is displayed in the secondary box, for example "{fullData.name}".',"To hide the secondary box completely, use an empty tag ``."].join(" ")};return e.arrayOk!==!1&&(a.arrayOk=!0),a};ub.texttemplateAttrs=function(e,t){e=e||{},t=t||{};var r=TI(t),a={valType:"string",dflt:"",editType:e.editType||"calc",description:["Template string used for rendering the information text that appear on points.","Note that this will override `textinfo`.",wI(),"Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.",r].join(" ")};return e.arrayOk!==!1&&(a.arrayOk=!0),a}});var yv=E((Uxe,AI)=>{"use strict";AI.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20,eventDataKeys:[]}});var ql=E((Gxe,DI)=>{"use strict";var kI=ih().axisHoverFormat,vse=Ef().texttemplateAttrs,pse=Ef().hovertemplateAttrs,MI=Ju(),mse=ka(),gse=pi().dash,yse=pi().pattern,bse=Kt(),SI=yv(),fb=Jr().extendFlat;function CI(e){return{valType:"any",dflt:0,editType:"calc",description:["Only relevant when the axis `type` is *date*.","Sets the period positioning in milliseconds or *M* on the "+e+" axis.","Special values in the form of *M* could be used to declare","the number of months. In this case `n` must be a positive integer."].join(" ")}}function LI(e){return{valType:"any",editType:"calc",description:["Only relevant when the axis `type` is *date*.","Sets the base for period positioning in milliseconds or date string on the "+e+" axis.","When `"+e+"period` is round number of weeks,","the `"+e+"period0` by default would be on a Sunday i.e. 2000-01-02,","otherwise it would be at 2000-01-01."].join(" ")}}function qI(e){return{valType:"enumerated",values:["start","middle","end"],dflt:"middle",editType:"calc",description:["Only relevant when the axis `type` is *date*.","Sets the alignment of data points on the "+e+" axis."].join(" ")}}DI.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0,description:"Sets the x coordinates."},x0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:!0,description:["Alternate to `x`.","Builds a linear space of x coordinates.","Use with `dx`","where `x0` is the starting coordinate and `dx` the step."].join(" ")},dx:{valType:"number",dflt:1,editType:"calc",anim:!0,description:["Sets the x coordinate step.","See `x0` for more info."].join(" ")},y:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0,description:"Sets the y coordinates."},y0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:!0,description:["Alternate to `y`.","Builds a linear space of y coordinates.","Use with `dy`","where `y0` is the starting coordinate and `dy` the step."].join(" ")},dy:{valType:"number",dflt:1,editType:"calc",anim:!0,description:["Sets the y coordinate step.","See `y0` for more info."].join(" ")},xperiod:CI("x"),yperiod:CI("y"),xperiod0:LI("x0"),yperiod0:LI("y0"),xperiodalignment:qI("x"),yperiodalignment:qI("y"),xhoverformat:kI("x"),yhoverformat:kI("y"),stackgroup:{valType:"string",dflt:"",editType:"calc",description:["Set several scatter traces (on the same subplot) to the same","stackgroup in order to add their y values (or their x values if","`orientation` is *h*). If blank or omitted this trace will not be","stacked. Stacking also turns `fill` on by default, using *tonexty*","(*tonextx*) if `orientation` is *h* (*v*) and sets the default","`mode` to *lines* irrespective of point count.","You can only stack on a numeric (linear or log) axis.","Traces in a `stackgroup` will only fill to (or be filled to) other","traces in the same group. With multiple `stackgroup`s or some","traces stacked and some not, if fill-linked traces are not already","consecutive, the later ones will be pushed down in the drawing order."].join(" ")},orientation:{valType:"enumerated",values:["v","h"],editType:"calc",description:["Only relevant when `stackgroup` is used, and only the first","`orientation` found in the `stackgroup` will be used - including","if `visible` is *legendonly* but not if it is `false`. Sets the","stacking direction. With *v* (*h*), the y (x) values of subsequent","traces are added. Also affects the default value of `fill`."].join(" ")},groupnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc",description:["Only relevant when `stackgroup` is used, and only the first","`groupnorm` found in the `stackgroup` will be used - including","if `visible` is *legendonly* but not if it is `false`.","Sets the normalization for the sum of this `stackgroup`.","With *fraction*, the value of each trace at each location is","divided by the sum of all trace values at that location.","*percent* is the same but multiplied by 100 to show percentages.","If there are multiple subplots, or multiple `stackgroup`s on one","subplot, each will be normalized within its own set."].join(" ")},stackgaps:{valType:"enumerated",values:["infer zero","interpolate"],dflt:"infer zero",editType:"calc",description:["Only relevant when `stackgroup` is used, and only the first","`stackgaps` found in the `stackgroup` will be used - including","if `visible` is *legendonly* but not if it is `false`.","Determines how we handle locations at which other traces in this","group have data but this one does not.","With *infer zero* we insert a zero at these locations.","With *interpolate* we linearly interpolate between existing","values, and extrapolate a constant beyond the existing values."].join(" ")},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc",description:["Sets text elements associated with each (x,y) pair.","If a single string, the same string appears over","all the data points.","If an array of string, the items are mapped in order to the","this trace's (x,y) coordinates.","If trace `hoverinfo` contains a *text* flag and *hovertext* is not set,","these elements will be seen in the hover labels."].join(" ")},texttemplate:vse({},{}),hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style",description:["Sets hover text elements associated with each (x,y) pair.","If a single string, the same string appears over","all the data points.","If an array of string, the items are mapped in order to the","this trace's (x,y) coordinates.","To be seen, trace `hoverinfo` must contain a *text* flag."].join(" ")},mode:{valType:"flaglist",flags:["lines","markers","text"],extras:["none"],editType:"calc",description:["Determines the drawing mode for this scatter trace.","If the provided `mode` includes *text* then the `text` elements","appear at the coordinates. Otherwise, the `text` elements","appear on hover.","If there are less than "+SI.PTS_LINESONLY+" points","and the trace is not stacked","then the default is *lines+markers*. Otherwise, *lines*."].join(" ")},hoveron:{valType:"flaglist",flags:["points","fills"],editType:"style",description:["Do the hover effects highlight individual points (markers or","line points) or do they highlight filled regions?","If the fill is *toself* or *tonext* and there are no markers","or text, then the default is *fills*, otherwise it is *points*."].join(" ")},hovertemplate:pse({},{keys:SI.eventDataKeys}),line:{color:{valType:"color",editType:"style",anim:!0,description:"Sets the line color."},width:{valType:"number",min:0,dflt:2,editType:"style",anim:!0,description:"Sets the line width (in px)."},shape:{valType:"enumerated",values:["linear","spline","hv","vh","hvh","vhv"],dflt:"linear",editType:"plot",description:["Determines the line shape.","With *spline* the lines are drawn using spline interpolation.","The other available values correspond to step-wise line shapes."].join(" ")},smoothing:{valType:"number",min:0,max:1.3,dflt:1,editType:"plot",description:["Has an effect only if `shape` is set to *spline*","Sets the amount of smoothing.","*0* corresponds to no smoothing (equivalent to a *linear* shape)."].join(" ")},dash:fb({},gse,{editType:"style"}),simplify:{valType:"boolean",dflt:!0,editType:"plot",description:["Simplifies lines by removing nearly-collinear points. When transitioning","lines, it may be desirable to disable this so that the number of points","along the resulting SVG path is unaffected."].join(" ")},editType:"plot"},connectgaps:{valType:"boolean",dflt:!1,editType:"calc",description:["Determines whether or not gaps","(i.e. {nan} or missing values)","in the provided data arrays are connected."].join(" ")},cliponaxis:{valType:"boolean",dflt:!0,editType:"plot",description:["Determines whether or not markers and text nodes","are clipped about the subplot axes.","To show markers and text nodes above axis lines and tick labels,","make sure to set `xaxis.layer` and `yaxis.layer` to *below traces*."].join(" ")},fill:{valType:"enumerated",values:["none","tozeroy","tozerox","tonexty","tonextx","toself","tonext"],editType:"calc",description:["Sets the area to fill with a solid color.","Defaults to *none* unless this trace is stacked, then it gets","*tonexty* (*tonextx*) if `orientation` is *v* (*h*)","Use with `fillcolor` if not *none*.","*tozerox* and *tozeroy* fill to x=0 and y=0 respectively.","*tonextx* and *tonexty* fill between the endpoints of this","trace and the endpoints of the trace before it, connecting those","endpoints with straight lines (to make a stacked area graph);","if there is no trace before it, they behave like *tozerox* and","*tozeroy*.","*toself* connects the endpoints of the trace (or each segment","of the trace if it has gaps) into a closed shape.","*tonext* fills the space between two traces if one completely","encloses the other (eg consecutive contour lines), and behaves like","*toself* if there is no trace before it. *tonext* should not be","used if one trace does not enclose the other.","Traces in a `stackgroup` will only fill to (or be filled to) other","traces in the same group. With multiple `stackgroup`s or some","traces stacked and some not, if fill-linked traces are not already","consecutive, the later ones will be pushed down in the drawing order."].join(" ")},fillcolor:{valType:"color",editType:"style",anim:!0,description:["Sets the fill color.","Defaults to a half-transparent variant of the line color,","marker color, or marker line color, whichever is available."].join(" ")},fillpattern:yse,marker:fb({symbol:{valType:"enumerated",values:bse.symbolList,dflt:"circle",arrayOk:!0,editType:"style",description:["Sets the marker symbol type.","Adding 100 is equivalent to appending *-open* to a symbol name.","Adding 200 is equivalent to appending *-dot* to a symbol name.","Adding 300 is equivalent to appending *-open-dot*","or *dot-open* to a symbol name."].join(" ")},opacity:{valType:"number",min:0,max:1,arrayOk:!0,editType:"style",anim:!0,description:"Sets the marker opacity."},size:{valType:"number",min:0,dflt:6,arrayOk:!0,editType:"calc",anim:!0,description:"Sets the marker size (in px)."},maxdisplayed:{valType:"number",min:0,dflt:0,editType:"plot",description:["Sets a maximum number of points to be drawn on the graph.","*0* corresponds to no limit."].join(" ")},sizeref:{valType:"number",dflt:1,editType:"calc",description:["Has an effect only if `marker.size` is set to a numerical array.","Sets the scale factor used to determine the rendered size of","marker points. Use with `sizemin` and `sizemode`."].join(" ")},sizemin:{valType:"number",min:0,dflt:0,editType:"calc",description:["Has an effect only if `marker.size` is set to a numerical array.","Sets the minimum size (in px) of the rendered marker points."].join(" ")},sizemode:{valType:"enumerated",values:["diameter","area"],dflt:"diameter",editType:"calc",description:["Has an effect only if `marker.size` is set to a numerical array.","Sets the rule for which the data in `size` is converted","to pixels."].join(" ")},line:fb({width:{valType:"number",min:0,arrayOk:!0,editType:"style",anim:!0,description:"Sets the width (in px) of the lines bounding the marker points."},editType:"calc"},MI("marker.line",{anim:!0})),gradient:{type:{valType:"enumerated",values:["radial","horizontal","vertical","none"],arrayOk:!0,dflt:"none",editType:"calc",description:["Sets the type of gradient used to fill the markers"].join(" ")},color:{valType:"color",arrayOk:!0,editType:"calc",description:["Sets the final color of the gradient fill:","the center color for radial, the right for horizontal,","or the bottom for vertical."].join(" ")},editType:"calc"},editType:"calc"},MI("marker",{anim:!0})),selected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style",description:"Sets the marker opacity of selected points."},color:{valType:"color",editType:"style",description:"Sets the marker color of selected points."},size:{valType:"number",min:0,editType:"style",description:"Sets the marker size of selected points."},editType:"style"},textfont:{color:{valType:"color",editType:"style",description:"Sets the text font color of selected points."},editType:"style"},editType:"style"},unselected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style",description:"Sets the marker opacity of unselected points, applied only when a selection exists."},color:{valType:"color",editType:"style",description:"Sets the marker color of unselected points, applied only when a selection exists."},size:{valType:"number",min:0,editType:"style",description:"Sets the marker size of unselected points, applied only when a selection exists."},editType:"style"},textfont:{color:{valType:"color",editType:"style",description:"Sets the text font color of unselected points, applied only when a selection exists."},editType:"style"},editType:"style"},textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"middle center",arrayOk:!0,editType:"calc",description:["Sets the positions of the `text` elements","with respects to the (x,y) coordinates."].join(" ")},textfont:mse({editType:"calc",colorEditType:"style",arrayOk:!0,description:"Sets the text font."})}});var cb=E((Wxe,EI)=>{"use strict";var PI=Ll(),RI=ql().line,xse=pi().dash,bv=Jr().extendFlat,_se=_i().overrideAll,wse=tr().templatedArray,II=If();EI.exports=_se(wse("selection",{type:{valType:"enumerated",values:["rect","path"],description:["Specifies the selection type to be drawn.","If *rect*, a rectangle is drawn linking","(`x0`,`y0`), (`x1`,`y0`), (`x1`,`y1`) and (`x0`,`y1`).","If *path*, draw a custom SVG path using `path`."].join(" ")},xref:bv({},PI.xref,{description:["Sets the selection's x coordinate axis.",II.axisRefDescription("x","left","right")].join(" ")}),yref:bv({},PI.yref,{description:["Sets the selection's x coordinate axis.",II.axisRefDescription("y","bottom","top")].join(" ")}),x0:{valType:"any",description:"Sets the selection's starting x position."},x1:{valType:"any",description:"Sets the selection's end x position."},y0:{valType:"any",description:"Sets the selection's starting y position."},y1:{valType:"any",description:"Sets the selection's end y position."},path:{valType:"string",editType:"arraydraw",description:["For `type` *path* - a valid SVG path similar to `shapes.path` in data coordinates.","Allowed segments are: M, L and Z."].join(" ")},opacity:{valType:"number",min:0,max:1,dflt:.7,editType:"arraydraw",description:"Sets the opacity of the selection."},line:{color:RI.color,width:bv({},RI.width,{min:1,dflt:1}),dash:bv({},xse,{dflt:"dot"})}}),"arraydraw","from-root")});var jI=E((Vxe,FI)=>{"use strict";var zI=Pe(),xv=Jt(),Tse=Pn(),Ase=cb(),NI=os();FI.exports=function(t,r){Tse(t,r,{name:"selections",handleItemDefaults:kse});for(var a=r.selections,n=0;n{"use strict";OI.exports=function(t,r,a){a("newselection.mode");var n=a("newselection.line.width");n&&(a("newselection.line.color"),a("newselection.line.dash")),a("activeselection.fillcolor"),a("activeselection.opacity")}});var zf=E((Zxe,GI)=>{"use strict";var Mse=vt(),BI=Pe(),UI=jr();GI.exports=function(t){return function(a,n){var i=a[t];if(!!Array.isArray(i))for(var o=Mse.subplotsRegistry.cartesian,s=o.idRegex,l=n._subplots,u=l.xaxis,c=l.yaxis,d=l.cartesian,h=n._has("cartesian")||n._has("gl2d"),p=0;p{"use strict";var WI=Y0(),Nf=hI();VI.exports={moduleType:"component",name:"selections",layoutAttributes:cb(),supplyLayoutDefaults:jI(),supplyDrawNewSelectionDefaults:HI(),includeBasePlot:zf()("selections"),draw:WI.draw,drawOne:WI.drawOne,reselect:Nf.reselect,prepSelect:Nf.prepSelect,clearOutline:Nf.clearOutline,clearSelectionsCache:Nf.clearSelectionsCache,selectOnClick:Nf.selectOnClick}});var h4=E((Qxe,d4)=>{"use strict";var db=Et(),yn=Pe(),YI=yn.numberFormat,Sse=Ln(),Cse=Hy(),_v=vt(),ZI=yn.strTranslate,Lse=Oa(),XI=qt(),oo=Kt(),qse=Si(),QI=Jt(),Dse=ro(),Pse=In(),$I=Tl(),wv=$I.selectingOrDrawing,Rse=$I.freeMode,Ise=Ma().FROM_TL,Ese=Uh(),zse=sv().redrawReglTraces,Nse=Er(),hb=jr().getFromId,Fse=Dl().prepSelect,jse=Dl().clearOutline,Ose=Dl().selectOnClick,vb=O0(),pb=ha(),KI=pb.MINDRAG,La=pb.MINZOOM,JI=!0;function Hse(e,t,r,a,n,i,o,s){var l=e._fullLayout._zoomlayer,u=o+s==="nsew",c=(o+s).length===1,d,h,p,g,m,b,_,x,A,w,k,L,S,q,P,I,F,N,j,G,V,W,Y;function X(){if(d=t.xaxis,h=t.yaxis,A=d._length,w=h._length,_=d._offset,x=h._offset,p={},p[d._id]=d,g={},g[h._id]=h,o&&s)for(var ye=t.overlays,we=0;we=0){Ee._fullLayout._deactivateShape(Ee);return}var ze=Ee._fullLayout.clickmode;if(gb(Ee),ye===2&&!c&&ht(),u)ze.indexOf("select")>-1&&Ose(we,Ee,m,b,t.id,te),ze.indexOf("event")>-1&&qse.click(Ee,we,t.id);else if(ye===1&&c){var Ne=o?h:d,Ge=o==="s"||s==="w"?0:1,ft=Ne._name+".range["+Ge+"]",yt=Bse(Ne,Ge),st="left",Pt="middle";if(Ne.fixedrange)return;o?(Pt=o==="n"?"top":"bottom",Ne.side==="right"&&(st="right")):s==="e"&&(st="right"),Ee._context.showAxisRangeEntryBoxes&&db.select(ae).call(Lse.makeEditable,{gd:Ee,immediate:!0,background:Ee._fullLayout.paper_bgcolor,text:String(yt),fill:Ne.tickfont?Ne.tickfont.color:"#444",horizontalAlign:st,verticalAlign:Pt}).on("edit",function(Mt){var ot=Ne.d2r(Mt);ot!==void 0&&_v.call("_guiRelayout",Ee,ft,ot)})}}Pse.init(te);var re,_e,ee,ke,Me,qe,De,Ce,U,Q;function O(ye,we,Ee){var ze=ae.getBoundingClientRect();re=we-ze.left,_e=Ee-ze.top,e._fullLayout._calcInverseTransform(e);var Ne=yn.apply3DTransform(e._fullLayout._invTransform)(re,_e);re=Ne[0],_e=Ne[1],ee={l:re,r:re,w:0,t:_e,b:_e,h:0},ke=e._hmpixcount?e._hmlumcount/e._hmpixcount:Sse(e._fullLayout.plot_bgcolor).getLuminance(),Me="M0,0H"+A+"V"+w+"H0V0",qe=!1,De="xy",Q=!1,Ce=n4(l,ke,_,x,Me),U=i4(l,_,x)}function ie(ye,we){if(e._transitioningWithDuration)return!1;var Ee=Math.max(0,Math.min(A,W*ye+re)),ze=Math.max(0,Math.min(w,Y*we+_e)),Ne=Math.abs(Ee-re),Ge=Math.abs(ze-_e);ee.l=Math.min(re,Ee),ee.r=Math.max(re,Ee),ee.t=Math.min(_e,ze),ee.b=Math.max(_e,ze);function ft(){De="",ee.r=ee.l,ee.t=ee.b,U.attr("d","M0,0Z")}if(k.isSubplotConstrained)Ne>La||Ge>La?(De="xy",Ne/A>Ge/w?(Ge=Ne*w/A,_e>ze?ee.t=_e-Ge:ee.b=_e+Ge):(Ne=Ge*A/w,re>Ee?ee.l=re-Ne:ee.r=re+Ne),U.attr("d",Tv(ee))):ft();else if(L.isSubplotConstrained)if(Ne>La||Ge>La){De="xy";var yt=Math.min(ee.l/A,(w-ee.b)/w),st=Math.max(ee.r/A,(w-ee.t)/w);ee.l=yt*A,ee.r=st*A,ee.b=(1-yt)*w,ee.t=(1-st)*w,U.attr("d",Tv(ee))}else ft();else!q||Ge0){var Mt;if(L.isSubplotConstrained||!S&&q.length===1){for(Mt=0;Mt=0?Math.min(e,.9):1/(1/Math.max(e,-.3)+3.222))}function Gse(e,t,r){return e?e==="nsew"?r?"":t==="pan"?"move":"crosshair":e.toLowerCase()+"-resize":"pointer"}function n4(e,t,r,a,n){return e.append("path").attr("class","zoombox").style({fill:t>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform",ZI(r,a)).attr("d",n+"Z")}function i4(e,t,r){return e.append("path").attr("class","zoombox-corners").style({fill:XI.background,stroke:XI.defaultLine,"stroke-width":1,opacity:0}).attr("transform",ZI(t,r)).attr("d","M0,0Z")}function o4(e,t,r,a,n,i){e.attr("d",a+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),s4(e,t,n,i)}function s4(e,t,r,a){r||(e.transition().style("fill",a>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),t.transition().style("opacity",1).duration(200))}function gb(e){db.select(e).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function l4(e){JI&&e.data&&e._context.showTips&&(yn.notifier(yn._(e,"Double-click to zoom back out"),"long"),JI=!1)}function Wse(e,t){return"M"+(e.l-.5)+","+(t-La-.5)+"h-3v"+(2*La+1)+"h3ZM"+(e.r+.5)+","+(t-La-.5)+"h3v"+(2*La+1)+"h-3Z"}function Vse(e,t){return"M"+(t-La-.5)+","+(e.t-.5)+"v-3h"+(2*La+1)+"v3ZM"+(t-La-.5)+","+(e.b+.5)+"v3h"+(2*La+1)+"v-3Z"}function Tv(e){var t=Math.floor(Math.min(e.b-e.t,e.r-e.l,La)/2);return"M"+(e.l-3.5)+","+(e.t-.5+t)+"h3v"+-t+"h"+t+"v-3h-"+(t+3)+"ZM"+(e.r+3.5)+","+(e.t-.5+t)+"h-3v"+-t+"h"+-t+"v-3h"+(t+3)+"ZM"+(e.r+3.5)+","+(e.b+.5-t)+"h-3v"+t+"h"+-t+"v3h"+(t+3)+"ZM"+(e.l-3.5)+","+(e.b+.5-t)+"h3v"+t+"h"+t+"v3h-"+(t+3)+"Z"}function u4(e,t,r,a,n){for(var i=!1,o={},s={},l,u,c,d,h=(n||{}).xaHash,p=(n||{}).yaHash,g=0;g{"use strict";var Yse=Et(),Av=Si(),Zse=In(),Xse=ro(),jn=h4().makeDragBox,Br=ha().DRAGGERSIZE;kv.initInteractions=function(t){var r=t._fullLayout;if(t._context.staticPlot){Yse.select(t).selectAll(".drag").remove();return}if(!(!r._has("cartesian")&&!r._has("splom"))){var a=Object.keys(r._plots||{}).sort(function(i,o){if((r._plots[i].mainplot&&!0)===(r._plots[o].mainplot&&!0)){var s=i.split("y"),l=o.split("y");return s[0]===l[0]?Number(s[1]||1)-Number(l[1]||1):Number(s[0]||1)-Number(l[0]||1)}return r._plots[i].mainplot?1:-1});a.forEach(function(i){var o=r._plots[i],s=o.xaxis,l=o.yaxis;if(!o.mainplot){var u=jn(t,o,s._offset,l._offset,s._length,l._length,"ns","ew");u.onmousemove=function(h){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===i&&t._fullLayout._plots[i]&&Av.hover(t,h,i)},Av.hover(t,h,i),t._fullLayout._lasthover=u,t._fullLayout._hoversubplot=i},u.onmouseout=function(h){t._dragging||(t._fullLayout._hoversubplot=null,Zse.unhover(t,h))},t._context.showAxisDragHandles&&(jn(t,o,s._offset-Br,l._offset-Br,Br,Br,"n","w"),jn(t,o,s._offset+s._length,l._offset-Br,Br,Br,"n","e"),jn(t,o,s._offset-Br,l._offset+l._length,Br,Br,"s","w"),jn(t,o,s._offset+s._length,l._offset+l._length,Br,Br,"s","e"))}if(t._context.showAxisDragHandles){if(i===s._mainSubplot){var c=s._mainLinePosition;s.side==="top"&&(c-=Br),jn(t,o,s._offset+s._length*.1,c,s._length*.8,Br,"","ew"),jn(t,o,s._offset,c,s._length*.1,Br,"","w"),jn(t,o,s._offset+s._length*.9,c,s._length*.1,Br,"","e")}if(i===l._mainSubplot){var d=l._mainLinePosition;l.side!=="right"&&(d-=Br),jn(t,o,d,l._offset+l._length*.1,Br,l._length*.8,"ns",""),jn(t,o,d,l._offset+l._length*.9,Br,l._length*.1,"s",""),jn(t,o,d,l._offset,Br,l._length*.1,"n","")}}});var n=r._hoverlayer.node();n.onmousemove=function(i){i.target=t._fullLayout._lasthover,Av.hover(t,i,r._hoversubplot)},n.onclick=function(i){i.target=t._fullLayout._lasthover,Av.click(t,i)},n.onmousedown=function(i){t._fullLayout._lasthover.onmousedown(i)},kv.updateFx(t)}};kv.updateFx=function(e){var t=e._fullLayout,r=t.dragmode==="pan"?"move":"crosshair";Xse(t._draggers,r)}});var m4=E((Kxe,p4)=>{"use strict";var v4=vt();p4.exports=function(t){for(var r=v4.layoutArrayContainers,a=v4.layoutArrayRegexes,n=t.split("[")[0],i,o,s=0;s{"use strict";var Qse=Ws(),bb=qd(),Ff=zo(),$se=ug().sorterAsc,xb=vt();jf.containerArrayMatch=m4();var Kse=jf.isAddVal=function(t){return t==="add"||Qse(t)},g4=jf.isRemoveVal=function(t){return t===null||t==="remove"};jf.applyContainerArrayChanges=function(t,r,a,n,i){var o=r.astr,s=xb.getComponentMethod(o,"supplyLayoutDefaults"),l=xb.getComponentMethod(o,"draw"),u=xb.getComponentMethod(o,"drawOne"),c=n.replot||n.recalc||s===bb||l===bb,d=t.layout,h=t._fullLayout;if(a[""]){Object.keys(a).length>1&&Ff.warn("Full array edits are incompatible with other edits",o);var p=a[""][""];if(g4(p))r.set(null);else if(Array.isArray(p))r.set(p);else return Ff.warn("Unrecognized full array edit value",o,p),!0;return c?!1:(s(d,h),l(t),!0)}var g=Object.keys(a).map(Number).sort($se),m=r.get(),b=m||[],_=i(h,o).get(),x=[],A=-1,w=b.length,k,L,S,q,P,I,F,N;for(k=0;kb.length-(F?0:1)){Ff.warn("index out of range",o,S);continue}if(I!==void 0)P.length>1&&Ff.warn("Insertion & removal are incompatible with edits to the same index.",o,S),g4(I)?x.push(S):F?(I==="add"&&(I={}),b.splice(S,0,I),_&&_.splice(S,0,{})):Ff.warn("Unrecognized full object edit value",o,S,I),A===-1&&(A=S);else for(L=0;L=0;k--)b.splice(x[k],1),_&&_.splice(x[k],1);if(b.length?m||r.set(b):r.set(null),c)return!1;if(s(d,h),u!==bb){var j;if(A===-1)j=g;else{for(w=Math.max(b.length,w),j=[],k=0;k=A));k++)j.push(S);for(k=A;k{"use strict";var b4=zt(),Jse=rg(),x4=vt(),qa=Pe(),Of=Er(),_4=jr(),us=qt(),Hf=_4.cleanId,ele=_4.getFromTrace,Bf=x4.traceIs;bn.clearPromiseQueue=function(e){Array.isArray(e._promises)&&e._promises.length>0&&qa.log("Clearing previous rejected promises from queue."),e._promises=[]};bn.cleanLayout=function(e){var t,r;e||(e={}),e.xaxis1&&(e.xaxis||(e.xaxis=e.xaxis1),delete e.xaxis1),e.yaxis1&&(e.yaxis||(e.yaxis=e.yaxis1),delete e.yaxis1),e.scene1&&(e.scene||(e.scene=e.scene1),delete e.scene1);var a=(Of.subplotsRegistry.cartesian||{}).attrRegex,n=(Of.subplotsRegistry.polar||{}).attrRegex,i=(Of.subplotsRegistry.ternary||{}).attrRegex,o=(Of.subplotsRegistry.gl3d||{}).attrRegex,s=Object.keys(e);for(t=0;t3?(P.x=1.02,P.xanchor="left"):P.x<-2&&(P.x=-.02,P.xanchor="right"),P.y>3?(P.y=1.02,P.yanchor="bottom"):P.y<-2&&(P.y=-.02,P.yanchor="top")),Da(e),e.dragmode==="rotate"&&(e.dragmode="orbit"),us.clean(e),e.template&&e.template.layout&&bn.cleanLayout(e.template.layout),e};function Pl(e,t){var r=e[t],a=t.charAt(0);r&&r!=="paper"&&(e[t]=Hf(r,a,!0))}function Da(e){e&&((typeof e.title=="string"||typeof e.title=="number")&&(e.title={text:e.title}),t("titlefont","font"),t("titleposition","position"),t("titleside","side"),t("titleoffset","offset"));function t(r,a){var n=e[r],i=e.title&&e.title[a];n&&!i&&(e.title||(e.title={}),e.title[a]=e[r],delete e[r])}}bn.cleanData=function(e){for(var t=0;t0)return e.substr(0,t)}bn.hasParent=function(e,t){for(var r=A4(t);r;){if(r in e)return!0;r=A4(r)}return!1};var ale=["x","y","z"];bn.clearAxisTypes=function(e,t,r){for(var a=0;a{"use strict";var Sv=Et(),nle=zt(),ile=wg(),Ye=Pe(),Qt=Ye.nestedProperty,_b=Gu(),Pa=mL(),xn=vt(),Cv=$i(),pt=Er(),ya=Jt(),wb=Kt(),ole=qt(),sle=yb().initInteractions,lle=Wo(),ule=Dl().clearOutline,M4=Eo().dfltConfig,Lv=y4(),Lr=k4(),Yt=sv(),so=_i(),fle=ha().AX_NAME_PATTERN,Tb=0,S4=5;function cle(e,t,r,a){var n;if(e=Ye.getGraphDiv(e),_b.init(e),Ye.isPlainObject(t)){var i=t;t=i.data,r=i.layout,a=i.config,n=i.frames}var o=_b.triggerHandler(e,"plotly_beforeplot",[t,r,a]);if(o===!1)return Promise.reject();!t&&!r&&!Ye.isPlotDiv(e)&&Ye.warn("Calling _doPlot as if redrawing but this container doesn't yet have a plot.",e);function s(){if(n)return Ft.addFrames(e,n)}L4(e,a),r||(r={}),Sv.select(e).classed("js-plotly-plot",!0),wb.makeTester(),Array.isArray(e._promises)||(e._promises=[]);var l=(e.data||[]).length===0&&Array.isArray(t);Array.isArray(t)&&(Lr.cleanData(t),l?e.data=t:e.data.push.apply(e.data,t),e.empty=!1),(!e.layout||l)&&(e.layout=Lr.cleanLayout(r)),pt.supplyDefaults(e);var u=e._fullLayout,c=u._has("cartesian");u._replotting=!0,(l||u._shouldCreateBgLayer)&&(Rle(e),u._shouldCreateBgLayer&&delete u._shouldCreateBgLayer),wb.initGradients(e),wb.initPatterns(e),l&&ya.saveShowSpikeInitial(e);var d=!e.calcdata||e.calcdata.length!==(e._fullData||[]).length;d&&pt.doCalcdata(e);for(var h=0;h=e.data.length||n<-e.data.length)throw new Error(r+" must be valid indices for gd.data.");if(t.indexOf(n,a+1)>-1||n>=0&&t.indexOf(-e.data.length+n)>-1||n<0&&t.indexOf(e.data.length+n)>-1)throw new Error("each index in "+r+" must be unique.")}}function q4(e,t,r){if(!Array.isArray(e.data))throw new Error("gd.data must be an array.");if(typeof t=="undefined")throw new Error("currentIndices is a required argument.");if(Array.isArray(t)||(t=[t]),Dv(e,t,"currentIndices"),typeof r!="undefined"&&!Array.isArray(r)&&(r=[r]),typeof r!="undefined"&&Dv(e,r,"newIndices"),typeof r!="undefined"&&t.length!==r.length)throw new Error("current and new indices must be of equal length.")}function mle(e,t,r){var a,n;if(!Array.isArray(e.data))throw new Error("gd.data must be an array.");if(typeof t=="undefined")throw new Error("traces must be defined.");for(Array.isArray(t)||(t=[t]),a=0;a=0&&c=0&&c-1&&i.indexOf("grouptitlefont")===-1?s(i,i.replace("titlefont","title.font")):i.indexOf("titleposition")>-1?s(i,i.replace("titleposition","title.position")):i.indexOf("titleside")>-1?s(i,i.replace("titleside","title.side")):i.indexOf("titleoffset")>-1&&s(i,i.replace("titleoffset","title.offset"));function s(l,u){e[u]=e[l],delete e[l]}}function Gf(e,t,r){e=Ye.getGraphDiv(e),Lr.clearPromiseQueue(e);var a={};if(typeof t=="string")a[t]=r;else if(Ye.isPlainObject(t))a=Ye.extendFlat({},t);else return Ye.warn("Relayout fail.",t,r),Promise.reject();Object.keys(a).length&&(e.changed=!0);var n=U4(e,a),i=n.flags;i.calc&&(e.calcdata=void 0);var o=[pt.previousPromises];i.layoutReplot?o.push(Yt.layoutReplot):Object.keys(a).length&&(j4(e,i,n)||pt.supplyDefaults(e),i.legend&&o.push(Yt.doLegend),i.layoutstyle&&o.push(Yt.layoutStyles),i.axrange&&Ev(o,n.rangesAltered),i.ticks&&o.push(Yt.doTicksRelayout),i.modebar&&o.push(Yt.doModeBar),i.camera&&o.push(Yt.doCamera),i.colorbars&&o.push(Yt.doColorBars),o.push(Uf)),o.push(pt.rehover,pt.redrag,pt.reselect),Pa.add(e,Gf,[e,n.undoit],Gf,[e,n.redoit]);var s=Ye.syncOrAsync(o,e);return(!s||!s.then)&&(s=Promise.resolve(e)),s.then(function(){return e.emit("plotly_relayout",n.eventData),e})}function j4(e,t,r){var a=e._fullLayout;if(!t.axrange)return!1;for(var n in t)if(n!=="axrange"&&t[n])return!1;for(var i in r.rangesAltered){var o=ya.id2name(i),s=e.layout[o],l=a[o];if(l.autorange=s.autorange,s.range&&(l.range=s.range.slice()),l.cleanRange(),l._matchGroup){for(var u in l._matchGroup)if(u!==i){var c=a[ya.id2name(u)];c.autorange=l.autorange,c.range=l.range.slice(),c._input.range=l.range.slice()}}}return!0}function Ev(e,t){var r=t?function(a){var n=[],i=!0;for(var o in t){var s=ya.getFromId(a,o);if(n.push(o),(s.ticklabelposition||"").indexOf("inside")!==-1&&s._anchorAxis&&n.push(s._anchorAxis._id),s._matchGroup)for(var l in s._matchGroup)t[l]||n.push(l);s.automargin&&(i=!1)}return ya.draw(a,n,{skipTitle:i})}:function(a){return ya.draw(a,"redraw")};e.push(ule,Yt.doAutoRangeAndConstraints,r,Yt.drawData,Yt.finalDraw)}var O4=/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/,H4=/^[xyz]axis[0-9]*\.autorange$/,B4=/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/;function U4(e,t){var r=e.layout,a=e._fullLayout,n=a._guiEditing,i=Rv(a._preGUI,n),o=Object.keys(t),s=ya.list(e),l=Ye.extendDeepAll({},t),u={},c,d,h;for(F4(t),o=Object.keys(t),d=0;d0&&typeof q.parts[F]!="string";)F--;var N=q.parts[F],j=q.parts[F-1]+"."+N,G=q.parts.slice(0,F).join("."),V=Qt(e.layout,G).get(),W=Qt(a,G).get(),Y=q.get();if(P!==void 0){_[S]=P,x[S]=N==="reverse"?P:Pi(Y);var X=Cv.getLayoutValObject(a,q.parts);if(X&&X.impliedEdits&&P!==null)for(var $ in X.impliedEdits)A(Ye.relativeAttr(S,$),X.impliedEdits[$]);if(["width","height"].indexOf(S)!==-1)if(P){A("autosize",null);var ae=S==="height"?"width":"height";A(ae,a[ae])}else a[S]=e._initialAutoSize[S];else if(S==="autosize")A("width",P?null:a.width),A("height",P?null:a.height);else if(j.match(O4))L(j),Qt(a,G+"._inputRange").set(null);else if(j.match(H4)){L(j),Qt(a,G+"._inputRange").set(null);var te=Qt(a,G).get();te._inputDomain&&(te._input.domain=te._inputDomain.slice())}else j.match(B4)&&Qt(a,G+"._inputDomain").set(null);if(N==="type"){k=V;var le=W.type==="linear"&&P==="log",ge=W.type==="log"&&P==="linear";if(le||ge){if(!k||!k.range)A(G+".autorange",!0);else if(W.autorange)le&&(k.range=k.range[1]>k.range[0]?[1,2]:[2,1]);else{var re=k.range[0],_e=k.range[1];le?(re<=0&&_e<=0&&A(G+".autorange",!0),re<=0?re=_e/1e6:_e<=0&&(_e=re/1e6),A(G+".range[0]",Math.log(re)/Math.LN10),A(G+".range[1]",Math.log(_e)/Math.LN10)):(A(G+".range[0]",Math.pow(10,re)),A(G+".range[1]",Math.pow(10,_e)))}Array.isArray(a._subplots.polar)&&a._subplots.polar.length&&a[q.parts[0]]&&q.parts[1]==="radialaxis"&&delete a[q.parts[0]]._subplot.viewInitial["radialaxis.range"],xn.getComponentMethod("annotations","convertCoords")(e,W,P,A),xn.getComponentMethod("images","convertCoords")(e,W,P,A)}else A(G+".autorange",!0),A(G+".range",null);Qt(a,G+"._inputRange").set(null)}else if(N.match(fle)){var ee=Qt(a,S).get(),ke=(P||{}).type;(!ke||ke==="-")&&(ke="linear"),xn.getComponentMethod("annotations","convertCoords")(e,ee,ke,A),xn.getComponentMethod("images","convertCoords")(e,ee,ke,A)}var Me=Lv.containerArrayMatch(S);if(Me){c=Me.array,d=Me.index;var qe=Me.property,De=X||{editType:"calc"};d!==""&&qe===""&&(Lv.isAddVal(P)?x[S]=null:Lv.isRemoveVal(P)?x[S]=(Qt(r,c).get()||[])[d]:Ye.warn("unrecognized full object value",t)),so.update(b,De),u[c]||(u[c]={});var Ce=u[c][d];Ce||(Ce=u[c][d]={}),Ce[qe]=P,delete t[S]}else N==="reverse"?(V.range?V.range.reverse():(A(G+".autorange",!0),V.range=[1,0]),W.autorange?b.calc=!0:b.plot=!0):(S==="dragmode"&&(P===!1&&Y!==!1||P!==!1&&Y===!1)||a._has("scatter-like")&&a._has("regl")&&S==="dragmode"&&(P==="lasso"||P==="select")&&!(Y==="lasso"||Y==="select")||a._has("gl2d")?b.plot=!0:X?so.update(b,X):b.calc=!0,q.set(P))}}for(c in u){var U=Lv.applyContainerArrayChanges(e,i(r,c),u[c],b,i);U||(b.plot=!0)}for(var Q in w){k=ya.getFromId(e,Q);var O=k&&k._constraintGroup;if(O){b.calc=!0;for(var ie in O)w[ie]||(ya.getFromId(e,ie)._constraintShrinkable=!0)}}return(G4(e)||t.height||t.width)&&(b.plot=!0),(b.plot||b.calc)&&(b.layoutReplot=!0),{flags:b,rangesAltered:w,undoit:x,redoit:_,eventData:l}}function G4(e){var t=e._fullLayout,r=t.width,a=t.height;return e.layout.autosize&&pt.plotAutoSize(e,e.layout,t),t.width!==r||t.height!==a}function zv(e,t,r,a){e=Ye.getGraphDiv(e),Lr.clearPromiseQueue(e),Ye.isPlainObject(t)||(t={}),Ye.isPlainObject(r)||(r={}),Object.keys(t).length&&(e.changed=!0),Object.keys(r).length&&(e.changed=!0);var n=Lr.coerceTraceIndices(e,a),i=N4(e,Ye.extendFlat({},t),n),o=i.flags,s=U4(e,Ye.extendFlat({},r)),l=s.flags;(o.calc||l.calc)&&(e.calcdata=void 0),o.clearAxisTypes&&Lr.clearAxisTypes(e,n,r);var u=[];l.layoutReplot?u.push(Yt.layoutReplot):o.fullReplot?u.push(Ft._doPlot):(u.push(pt.previousPromises),j4(e,l,s)||pt.supplyDefaults(e),o.style&&u.push(Yt.doTraceStyle),(o.colorbars||l.colorbars)&&u.push(Yt.doColorBars),l.legend&&u.push(Yt.doLegend),l.layoutstyle&&u.push(Yt.layoutStyles),l.axrange&&Ev(u,s.rangesAltered),l.ticks&&u.push(Yt.doTicksRelayout),l.modebar&&u.push(Yt.doModeBar),l.camera&&u.push(Yt.doCamera),u.push(Uf)),u.push(pt.rehover,pt.redrag,pt.reselect),Pa.add(e,zv,[e,i.undoit,s.undoit,i.traces],zv,[e,i.redoit,s.redoit,i.traces]);var c=Ye.syncOrAsync(u,e);return(!c||!c.then)&&(c=Promise.resolve(e)),c.then(function(){return e.emit("plotly_update",{data:i.eventData,layout:s.eventData}),e})}function kb(e){return function(r){r._fullLayout._guiEditing=!0;var a=e.apply(null,arguments);return r._fullLayout._guiEditing=!1,a}}var xle=[{pattern:/^hiddenlabels/,attr:"legend.uirevision"},{pattern:/^((x|y)axis\d*)\.((auto)?range|title\.text)/},{pattern:/axis\d*\.showspikes$/,attr:"modebar.uirevision"},{pattern:/(hover|drag)mode$/,attr:"modebar.uirevision"},{pattern:/^(scene\d*)\.camera/},{pattern:/^(geo\d*)\.(projection|center|fitbounds)/},{pattern:/^(ternary\d*\.[abc]axis)\.(min|title\.text)$/},{pattern:/^(polar\d*\.radialaxis)\.((auto)?range|angle|title\.text)/},{pattern:/^(polar\d*\.angularaxis)\.rotation/},{pattern:/^(mapbox\d*)\.(center|zoom|bearing|pitch)/},{pattern:/^legend\.(x|y)$/,attr:"editrevision"},{pattern:/^(shapes|annotations)/,attr:"editrevision"},{pattern:/^title\.text$/,attr:"editrevision"}],_le=[{pattern:/^selectedpoints$/,attr:"selectionrevision"},{pattern:/(^|value\.)visible$/,attr:"legend.uirevision"},{pattern:/^dimensions\[\d+\]\.constraintrange/},{pattern:/^node\.(x|y|groups)/},{pattern:/^level$/},{pattern:/(^|value\.)name$/},{pattern:/colorbar\.title\.text$/},{pattern:/colorbar\.(x|y)$/,attr:"editrevision"}];function W4(e,t){for(var r=0;r1;)if(a.pop(),r=Qt(t,a.join(".")+".uirevision").get(),r!==void 0)return r;return t.uirevision}function wle(e,t){for(var r=0;r=n.length?n[0]:n[u]:n}function s(u){return Array.isArray(i)?u>=i.length?i[0]:i[u]:i}function l(u,c){var d=0;return function(){if(u&&++d===c)return u()}}return new Promise(function(u,c){function d(){if(a._frameQueue.length!==0){for(;a._frameQueue.length;){var N=a._frameQueue.pop();N.onInterrupt&&N.onInterrupt()}e.emit("plotly_animationinterrupted",[])}}function h(N){if(N.length!==0){for(var j=0;ja._timeToNext&&g()};N()}var b=0;function _(N){return Array.isArray(n)?b>=n.length?N.transitionOpts=n[b]:N.transitionOpts=n[0]:N.transitionOpts=n,b++,N}var x,A,w=[],k=t==null,L=Array.isArray(t),S=!k&&!L&&Ye.isPlainObject(t);if(S)w.push({type:"object",data:_(Ye.extendFlat({},t))});else if(k||["string","number"].indexOf(typeof t)!==-1)for(x=0;x0&&II)&&F.push(A);w=F}}w.length>0?h(w):(e.emit("plotly_animated"),u())})}function Lle(e,t,r){if(e=Ye.getGraphDiv(e),t==null)return Promise.resolve();if(!Ye.isPlotDiv(e))throw new Error("This element is not a Plotly plot: "+e+". It's likely that you've failed to create a plot before adding frames. For more details, see https://plotly.com/javascript/animations/");var a,n,i,o,s=e._transitionData._frames,l=e._transitionData._frameHash;if(!Array.isArray(t))throw new Error("addFrames failure: frameList must be an Array of frame definitions"+t);var u=s.length+t.length*2,c=[],d={};for(a=t.length-1;a>=0;a--)if(!!Ye.isPlainObject(t[a])){var h=t[a].name,p=(l[h]||d[h]||{}).name,g=t[a].name,m=l[p]||d[p];p&&g&&typeof g=="number"&&m&&Tbq.index?-1:S.index=0;a--){if(n=c[a].frame,typeof n.name=="number"&&Ye.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!n.name)for(;l[n.name="frame "+e._transitionData._counter++];);if(l[n.name]){for(i=0;i=0;r--)a=t[r],i.push({type:"delete",index:a}),o.unshift({type:"insert",index:a,value:n[a]});var s=pt.modifyFrames,l=pt.modifyFrames,u=[e,o],c=[e,i];return Pa&&Pa.add(e,s,u,l,c),pt.modifyFrames(e,i)}function Dle(e){e=Ye.getGraphDiv(e);var t=e._fullLayout||{},r=e._fullData||[];return pt.cleanPlot([],{},r,t),pt.purge(e),_b.purge(e),t._container&&t._container.remove(),delete e._context,e}function Ple(e){var t=e._fullLayout,r=e.getBoundingClientRect();if(!Ye.equalDomRects(r,t._lastBBox)){var a=t._invTransform=Ye.inverseTransformMatrix(Ye.getFullTransformMatrix(e));t._invScaleX=Math.sqrt(a[0][0]*a[0][0]+a[0][1]*a[0][1]+a[0][2]*a[0][2]),t._invScaleY=Math.sqrt(a[1][0]*a[1][0]+a[1][1]*a[1][1]+a[1][2]*a[1][2]),t._lastBBox=r}}function Rle(e){var t=Sv.select(e),r=e._fullLayout;if(r._calcInverseTransform=Ple,r._calcInverseTransform(e),r._container=t.selectAll(".plot-container").data([0]),r._container.enter().insert("div",":first-child").classed("plot-container",!0).classed("plotly",!0),r._paperdiv=r._container.selectAll(".svg-container").data([0]),r._paperdiv.enter().append("div").classed("user-select-none",!0).classed("svg-container",!0).style("position","relative"),r._glcontainer=r._paperdiv.selectAll(".gl-container").data([{}]),r._glcontainer.enter().append("div").classed("gl-container",!0),r._paperdiv.selectAll(".main-svg").remove(),r._paperdiv.select(".modebar-container").remove(),r._paper=r._paperdiv.insert("svg",":first-child").classed("main-svg",!0),r._toppaper=r._paperdiv.append("svg").classed("main-svg",!0),r._modebardiv=r._paperdiv.append("div"),delete r._modeBar,r._hoverpaper=r._paperdiv.append("svg").classed("main-svg",!0),!r._uid){var a={};Sv.selectAll("defs").each(function(){this.id&&(a[this.id.split("-")[1]]=1)}),r._uid=Ye.randstr(a)}r._paperdiv.selectAll(".main-svg").attr(lle.svgAttrs),r._defs=r._paper.append("defs").attr("id","defs-"+r._uid),r._clips=r._defs.append("g").classed("clips",!0),r._topdefs=r._toppaper.append("defs").attr("id","topdefs-"+r._uid),r._topclips=r._topdefs.append("g").classed("clips",!0),r._bgLayer=r._paper.append("g").classed("bglayer",!0),r._draggers=r._paper.append("g").classed("draglayer",!0);var n=r._paper.append("g").classed("layer-below",!0);r._imageLowerLayer=n.append("g").classed("imagelayer",!0),r._shapeLowerLayer=n.append("g").classed("shapelayer",!0),r._cartesianlayer=r._paper.append("g").classed("cartesianlayer",!0),r._polarlayer=r._paper.append("g").classed("polarlayer",!0),r._smithlayer=r._paper.append("g").classed("smithlayer",!0),r._ternarylayer=r._paper.append("g").classed("ternarylayer",!0),r._geolayer=r._paper.append("g").classed("geolayer",!0),r._funnelarealayer=r._paper.append("g").classed("funnelarealayer",!0),r._pielayer=r._paper.append("g").classed("pielayer",!0),r._iciclelayer=r._paper.append("g").classed("iciclelayer",!0),r._treemaplayer=r._paper.append("g").classed("treemaplayer",!0),r._sunburstlayer=r._paper.append("g").classed("sunburstlayer",!0),r._indicatorlayer=r._toppaper.append("g").classed("indicatorlayer",!0),r._glimages=r._paper.append("g").classed("glimages",!0);var i=r._toppaper.append("g").classed("layer-above",!0);r._imageUpperLayer=i.append("g").classed("imagelayer",!0),r._shapeUpperLayer=i.append("g").classed("shapelayer",!0),r._selectionLayer=r._toppaper.append("g").classed("selectionlayer",!0),r._infolayer=r._toppaper.append("g").classed("infolayer",!0),r._menulayer=r._toppaper.append("g").classed("menulayer",!0),r._zoomlayer=r._toppaper.append("g").classed("zoomlayer",!0),r._hoverlayer=r._hoverpaper.append("g").classed("hoverlayer",!0),r._modebardiv.classed("modebar-container",!0).style("position","absolute").style("top","0px").style("right","0px"),e.emit("plotly_framework")}Ft.animate=Cle;Ft.addFrames=Lle;Ft.deleteFrames=qle;Ft.addTraces=E4;Ft.deleteTraces=z4;Ft.extendTraces=R4;Ft.moveTraces=Ab;Ft.prependTraces=I4;Ft.newPlot=ple;Ft._doPlot=cle;Ft.purge=Dle;Ft.react=kle;Ft.redraw=vle;Ft.relayout=Gf;Ft.restyle=Pv;Ft.setPlotConfig=dle;Ft.update=zv;Ft._guiRelayout=kb(Gf);Ft._guiRestyle=kb(Pv);Ft._guiUpdate=kb(zv);Ft._storeDirectGUIEdit=ble});var fs=E(On=>{"use strict";var Ile=vt();On.getDelay=function(e){return e._has&&(e._has("gl3d")||e._has("gl2d")||e._has("mapbox"))?500:0};On.getRedrawFunc=function(e){return function(){Ile.getComponentMethod("colorbar","draw")(e)}};On.encodeSVG=function(e){return"data:image/svg+xml,"+encodeURIComponent(e)};On.encodeJSON=function(e){return"data:application/json,"+encodeURIComponent(e)};var Z4=window.URL||window.webkitURL;On.createObjectURL=function(e){return Z4.createObjectURL(e)};On.revokeObjectURL=function(e){return Z4.revokeObjectURL(e)};On.createBlob=function(e,t){if(t==="svg")return new window.Blob([e],{type:"image/svg+xml;charset=utf-8"});if(t==="full-json")return new window.Blob([e],{type:"application/json;charset=utf-8"});var r=Ele(window.atob(e));return new window.Blob([r],{type:"image/"+t})};On.octetStream=function(e){document.location.href="data:application/octet-stream"+e};function Ele(e){for(var t=e.length,r=new ArrayBuffer(t),a=new Uint8Array(r),n=0;n{"use strict";var Cb=Et(),zle=Pe(),Nle=Kt(),Fle=qt(),Fv=Wo(),Lb=/"/g,Wf="TOBESTRIPPED",jle=new RegExp('("'+Wf+")|("+Wf+'")',"g");function Ole(e){var t=Cb.select("body").append("div").style({display:"none"}).html(""),r=e.replace(/(&[^;]*;)/gi,function(a){return a==="<"?"<":a==="&rt;"?">":a.indexOf("<")!==-1||a.indexOf(">")!==-1?"":t.html(a).text()});return t.remove(),r}function Hle(e){return e.replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")}X4.exports=function(t,r,a){var n=t._fullLayout,i=n._paper,o=n._toppaper,s=n.width,l=n.height,u;i.insert("rect",":first-child").call(Nle.setRect,0,0,s,l).call(Fle.fill,n.paper_bgcolor);var c=n._basePlotModules||[];for(u=0;u{"use strict";var Q4=Pe(),Ble=Zd().EventEmitter,Rl=fs();function Ule(e){var t=e.emitter||new Ble,r=new Promise(function(a,n){var i=window.Image,o=e.svg,s=e.format||"png";if(Q4.isIE()&&s!=="svg"){var l=new Error(Rl.MSG_IE_BAD_FORMAT);return n(l),e.promise?r:t.emit("error",l)}var u=e.canvas,c=e.scale||1,d=e.width||300,h=e.height||150,p=c*d,g=c*h,m=u.getContext("2d",{willReadFrequently:!0}),b=new i,_,x;s==="svg"||Q4.isSafari()?x=Rl.encodeSVG(o):(_=Rl.createBlob(o,"svg"),x=Rl.createObjectURL(_)),u.width=p,u.height=g,b.onload=function(){var A;switch(_=null,Rl.revokeObjectURL(x),s!=="svg"&&m.drawImage(b,0,0,p,g),s){case"jpeg":A=u.toDataURL("image/jpeg");break;case"png":A=u.toDataURL("image/png");break;case"webp":A=u.toDataURL("image/webp");break;case"svg":A=x;break;default:var w="Image format is not jpeg, png, svg or webp.";if(n(new Error(w)),!e.promise)return t.emit("error",w)}a(A),e.promise||t.emit("success",A)},b.onerror=function(A){if(_=null,Rl.revokeObjectURL(x),n(A),!e.promise)return t.emit("error",A)},b.src=x});return e.promise?r:t}$4.exports=Ule});var Db=E((i_e,eE)=>{"use strict";var K4=zt(),J4=Sb(),Gle=Er(),li=Pe(),Vf=fs(),Wle=jv(),Vle=Ov(),Yle=cd().version,qb={format:{valType:"enumerated",values:["png","jpeg","webp","svg","full-json"],dflt:"png",description:"Sets the format of exported image."},width:{valType:"number",min:1,description:["Sets the exported image width.","Defaults to the value found in `layout.width`","If set to *null*, the exported image width will match the current graph width."].join(" ")},height:{valType:"number",min:1,description:["Sets the exported image height.","Defaults to the value found in `layout.height`","If set to *null*, the exported image height will match the current graph height."].join(" ")},scale:{valType:"number",min:0,dflt:1,description:["Sets a scaling for the generated image.","If set, all features of a graphs (e.g. text, line width)","are scaled, unlike simply setting","a bigger *width* and *height*."].join(" ")},setBackground:{valType:"any",dflt:!1,description:["Sets the image background mode.","By default, the image background is determined by `layout.paper_bgcolor`,","the *transparent* mode.","One might consider setting `setBackground` to *opaque*","when exporting a *jpeg* image as JPEGs do not support opacity."].join(" ")},imageDataOnly:{valType:"boolean",dflt:!1,description:["Determines whether or not the return value is prefixed by","the image format's corresponding 'data:image;' spec."].join(" ")}};function Zle(e,t){t=t||{};var r,a,n,i;li.isPlainObject(e)?(r=e.data||[],a=e.layout||{},n=e.config||{},i={}):(e=li.getGraphDiv(e),r=li.extendDeep([],e.data),a=li.extendDeep({},e.layout),n=e._context,i=e._fullLayout||{});function o(L){return!(L in t)||li.validate(t[L],qb[L])}if(!o("width")&&t.width!==null||!o("height")&&t.height!==null)throw new Error("Height and width should be pixel values.");if(!o("format"))throw new Error("Export format is not "+li.join2(qb.format.values,", "," or ")+".");var s={};function l(L,S){return li.coerce(t,s,qb,L,S)}var u=l("format"),c=l("width"),d=l("height"),h=l("scale"),p=l("setBackground"),g=l("imageDataOnly"),m=document.createElement("div");m.style.position="absolute",m.style.left="-5000px",document.body.appendChild(m);var b=li.extendFlat({},a);c?b.width=c:t.width===null&&K4(i.width)&&(b.width=i.width),d?b.height=d:t.height===null&&K4(i.height)&&(b.height=i.height);var _=li.extendFlat({},n,{_exportedPlot:!0,staticPlot:!0,setBackground:p}),x=Vf.getRedrawFunc(m);function A(){return new Promise(function(L){setTimeout(L,Vf.getDelay(m._fullLayout))})}function w(){return new Promise(function(L,S){var q=Wle(m,u,h),P=m._fullLayout.width,I=m._fullLayout.height;function F(){J4.purge(m),document.body.removeChild(m)}if(u==="full-json"){var N=Gle.graphJson(m,!1,"keepdata","object",!0,!0);return N.version=Yle,N=JSON.stringify(N),F(),L(g?N:Vf.encodeJSON(N))}if(F(),u==="svg")return L(g?q:Vf.encodeSVG(q));var j=document.createElement("canvas");j.id=li.randstr(),Vle({format:u,width:P,height:I,scale:h,canvas:j,svg:q,promise:!0}).then(L).catch(S)})}function k(L){return g?L.replace(Vf.IMAGE_URL_PREFIX,""):L}return new Promise(function(L,S){J4.newPlot(m,r,b,_).then(x).then(A).then(w).then(function(q){L(k(q))}).catch(function(q){S(q)})})}eE.exports=Zle});var nE=E((o_e,aE)=>{"use strict";var _n=Pe(),Xle=Er(),Qle=$i(),$le=Eo().dfltConfig,wn=_n.isPlainObject,lo=Array.isArray,tE=_n.isArrayOrTypedArray;aE.exports=function(t,r){t===void 0&&(t=[]),r===void 0&&(r={});var a=Qle.get(),n=[],i={_context:_n.extendFlat({},$le)},o,s;lo(t)?(i.data=_n.extendDeep([],t),o=t):(i.data=[],o=[],n.push(qr("array","data"))),wn(r)?(i.layout=_n.extendDeep({},r),s=r):(i.layout={},s={},arguments.length>1&&n.push(qr("object","layout"))),Xle.supplyDefaults(i);for(var l=i._fullData,u=o.length,c=0;cd.length&&a.push(qr("unused",n,u.concat(d.length)));var _=d.length,x=Array.isArray(b);x&&(_=Math.min(_,b.length));var A,w,k,L,S;if(h.dimensions===2)for(w=0;w<_;w++)if(lo(c[w])){c[w].length>d[w].length&&a.push(qr("unused",n,u.concat(w,d[w].length)));var q=d[w].length;for(A=0;A<(x?Math.min(q,b[w].length):q);A++)k=x?b[w][A]:b,L=c[w][A],S=d[w][A],_n.validate(L,k)?S!==L&&S!==+L&&a.push(qr("dynamic",n,u.concat(w,A),L,S)):a.push(qr("value",n,u.concat(w,A),L))}else a.push(qr("array",n,u.concat(w),c[w]));else for(w=0;w<_;w++)k=x?b[w]:b,L=c[w],S=d[w],_n.validate(L,k)?S!==L&&S!==+L&&a.push(qr("dynamic",n,u.concat(w),L,S)):a.push(qr("value",n,u.concat(w),L))}else if(h.items&&!g&&lo(c)){var P=b[Object.keys(b)[0]],I=[],F,N;for(F=0;F{"use strict";var iE=Pe(),Zf=fs();function nue(e,t,r){var a=document.createElement("a"),n="download"in a,i=new Promise(function(o,s){var l,u;if(iE.isIE())return l=Zf.createBlob(e,"svg"),window.navigator.msSaveBlob(l,t),l=null,o(t);if(n)return l=Zf.createBlob(e,r),u=Zf.createObjectURL(l),a.href=u,a.download=t,document.body.appendChild(a),a.click(),document.body.removeChild(a),Zf.revokeObjectURL(u),l=null,o(t);if(iE.isSafari()){var c=r==="svg"?",":";base64,";return Zf.octetStream(c+encodeURIComponent(e)),o(t)}s(new Error("download error"))});return i}oE.exports=nue});var Rb=E((l_e,lE)=>{"use strict";var Pb=Pe(),iue=Db(),oue=sE(),sue=fs();function lue(e,t){var r;return Pb.isPlainObject(e)||(r=Pb.getGraphDiv(e)),t=t||{},t.format=t.format||"png",t.width=t.width||null,t.height=t.height||null,t.imageDataOnly=!0,new Promise(function(a,n){r&&r._snapshotInProgress&&n(new Error("Snapshotting already in progress.")),Pb.isIE()&&t.format!=="svg"&&n(new Error(sue.MSG_IE_BAD_FORMAT)),r&&(r._snapshotInProgress=!0);var i=iue(e,t),o=t.filename||e.fn||"newplot";o+="."+t.format.replace("-","."),i.then(function(s){return r&&(r._snapshotInProgress=!1),oue(s,o,t.format)}).then(function(s){a(s)}).catch(function(s){r&&(r._snapshotInProgress=!1),n(s)})})}lE.exports=lue});var hE=E(Ib=>{"use strict";var Ga=Pe(),Wa=Ga.isPlainObject,uE=$i(),fE=Er(),uue=Wi(),cE=tr(),dE=Eo().dfltConfig;Ib.makeTemplate=function(e){e=Ga.isPlainObject(e)?e:Ga.getGraphDiv(e),e=Ga.extendDeep({_context:dE},{data:e.data,layout:e.layout}),fE.supplyDefaults(e);var t=e.data||[],r=e.layout||{};r._basePlotModules=e._fullLayout._basePlotModules,r._modules=e._fullLayout._modules;var a={data:{},layout:{}};t.forEach(function(p){var g={};Xf(p,g,cue.bind(null,p));var m=Ga.coerce(p,{},uue,"type"),b=a.data[m];b||(b=a.data[m]=[]),b.push(g)}),Xf(r,a.layout,fue.bind(null,r)),delete a.layout.template;var n=r.template;if(Wa(n)){var i=n.layout,o,s,l,u,c,d;Wa(i)&&Hv(i,a.layout);var h=n.data;if(Wa(h)){for(s in a.data)if(l=h[s],Array.isArray(l)){for(c=a.data[s],d=c.length,u=l.length,o=0;o_?o.push({code:"unused",traceType:p,templateCount:b,dataCount:_}):_>b&&o.push({code:"reused",traceType:p,templateCount:b,dataCount:_})}}function x(A,w){for(var k in A)if(k.charAt(0)!=="_"){var L=A[k],S=Tn(A,k,w);Wa(L)?(Array.isArray(A)&&L._template===!1&&L.templateitemname&&o.push({code:"missing",path:S,templateitemname:L.templateitemname}),x(L,S)):Array.isArray(L)&&due(L)&&x(L,S)}}if(x({data:l,layout:s},""),o.length)return o.map(hue)};function due(e){for(var t=0;t{"use strict";var Nr=Sb();ur._doPlot=Nr._doPlot;ur.newPlot=Nr.newPlot;ur.restyle=Nr.restyle;ur.relayout=Nr.relayout;ur.redraw=Nr.redraw;ur.update=Nr.update;ur._guiRestyle=Nr._guiRestyle;ur._guiRelayout=Nr._guiRelayout;ur._guiUpdate=Nr._guiUpdate;ur._storeDirectGUIEdit=Nr._storeDirectGUIEdit;ur.react=Nr.react;ur.extendTraces=Nr.extendTraces;ur.prependTraces=Nr.prependTraces;ur.addTraces=Nr.addTraces;ur.deleteTraces=Nr.deleteTraces;ur.moveTraces=Nr.moveTraces;ur.purge=Nr.purge;ur.addFrames=Nr.addFrames;ur.deleteFrames=Nr.deleteFrames;ur.animate=Nr.animate;ur.setPlotConfig=Nr.setPlotConfig;ur.toImage=Db();ur.validate=nE();ur.downloadImage=Rb();var vE=hE();ur.makeTemplate=vE.makeTemplate;ur.validateTemplate=vE.validateTemplate});var zb=E((c_e,mE)=>{"use strict";var Eb=Pe(),vue=vt();mE.exports=function(t,r,a,n){var i=n("x"),o=n("y"),s,l=vue.getComponentMethod("calendars","handleTraceDefaults");if(l(t,r,["x","y"],a),i){var u=Eb.minRowLength(i);o?s=Math.min(u,Eb.minRowLength(o)):(s=u,n("y0"),n("dy"))}else{if(!o)return 0;s=Eb.minRowLength(o),n("x0"),n("dx")}return r._length=s,s}});var Nb=E((d_e,bE)=>{"use strict";var gE=Pe().dateTick0,pue=_r(),mue=pue.ONEWEEK;function yE(e,t){return e%mue==0?gE(t,1):gE(t,0)}bE.exports=function(t,r,a,n,i){if(i||(i={x:!0,y:!0}),i.x){var o=n("xperiod");o&&(n("xperiod0",yE(o,r.xcalendar)),n("xperiodalignment"))}if(i.y){var s=n("yperiod");s&&(n("yperiod0",yE(s,r.ycalendar)),n("yperiodalignment"))}}});var wE=E((h_e,_E)=>{"use strict";var xE=["orientation","groupnorm","stackgaps"];_E.exports=function(t,r,a,n){var i=a._scatterStackOpts,o=n("stackgroup");if(o){var s=r.xaxis+r.yaxis,l=i[s];l||(l=i[s]={});var u=l[o],c=!1;u?u.traces.push(r):(u=l[o]={traceIndices:[],traces:[r]},c=!0);for(var d={orientation:r.x&&!r.y?"h":"v"},h=0;h{"use strict";var TE=qt(),AE=fn().hasColorscale,kE=dl(),gue=Qa();ME.exports=function(t,r,a,n,i,o){var s=gue.isBubble(t),l=(t.line||{}).color,u;if(o=o||{},l&&(a=l),i("marker.symbol"),i("marker.opacity",s?.7:1),i("marker.size"),i("marker.color",a),AE(t,"marker")&&kE(t,r,n,i,{prefix:"marker.",cLetter:"c"}),o.noSelect||(i("selected.marker.color"),i("unselected.marker.color"),i("selected.marker.size"),i("unselected.marker.size")),o.noLine||(l&&!Array.isArray(l)&&r.marker.color!==l?u=l:s?u=TE.background:u=TE.defaultLine,i("marker.line.color",u),AE(t,"marker.line")&&kE(t,r,n,i,{prefix:"marker.line.",cLetter:"c"}),i("marker.line.width",s?1:0)),s&&(i("marker.sizeref"),i("marker.sizemin"),i("marker.sizemode")),o.gradient){var c=i("marker.gradient.type");c!=="none"&&i("marker.gradient.color")}}});var LE=E((p_e,CE)=>{"use strict";var yue=Pe().isArrayOrTypedArray,bue=fn().hasColorscale,xue=dl();CE.exports=function(t,r,a,n,i,o){var s=(t.marker||{}).color;if(i("line.color",a),bue(t,"line"))xue(t,r,n,i,{prefix:"line.",cLetter:"c"});else{var l=(yue(s)?!1:s)||a;i("line.color",l)}i("line.width"),(o||{}).noDash||i("line.dash")}});var DE=E((m_e,qE)=>{"use strict";qE.exports=function(t,r,a){var n=a("line.shape");n==="spline"&&a("line.smoothing")}});var RE=E((g_e,PE)=>{"use strict";var _ue=Pe();PE.exports=function(e,t,r,a,n){n=n||{},a("textposition"),_ue.coerceFont(a,"textfont",r.font),n.noSelect||(a("selected.textfont.color"),a("unselected.textfont.color"))}});var zE=E((y_e,EE)=>{"use strict";var wue=qt(),IE=Pe().isArrayOrTypedArray;EE.exports=function(t,r,a,n){var i=!1;if(r.marker){var o=r.marker.color,s=(r.marker.line||{}).color;o&&!IE(o)?i=o:s&&!IE(s)&&(i=s)}n("fillcolor",wue.addOpacity((r.line||{}).color||i||a,.5))}});var OE=E((b_e,jE)=>{"use strict";var NE=Pe(),Tue=vt(),Aue=ql(),kue=yv(),Il=Qa(),Mue=zb(),Sue=Nb(),Cue=wE(),Lue=SE(),que=LE(),FE=DE(),Due=RE(),Pue=zE(),Rue=Pe().coercePattern;jE.exports=function(t,r,a,n){function i(p,g){return NE.coerce(t,r,Aue,p,g)}var o=Mue(t,r,n,i);if(o||(r.visible=!1),!!r.visible){Sue(t,r,n,i),i("xhoverformat"),i("yhoverformat");var s=Cue(t,r,n,i),l=!s&&o{"use strict";HE.exports=function(t){for(var r=0;r=0;i--){var o=t[i];if(o.type==="scatter"&&o.xaxis===a.xaxis&&o.yaxis===a.yaxis){o.opacity=void 0;break}}}}}});var Fb=E((__e,GE)=>{"use strict";var Iue=zt(),UE=Pe(),Eue=UE.dateTime2ms,Uv=UE.incrementMonth,zue=_r(),Nue=zue.ONEAVGMONTH;GE.exports=function(t,r,a,n){if(r.type!=="date")return{vals:n};var i=t[a+"periodalignment"];if(!i)return{vals:n};var o=t[a+"period"],s;if(Iue(o)){if(o=+o,o<=0)return{vals:n}}else if(typeof o=="string"&&o.charAt(0)==="M"){var l=+o.substring(1);if(l>0&&Math.round(l)===l)s=l;else return{vals:n}}for(var u=r.calendar,c=i==="start",d=i==="end",h=t[a+"period0"],p=Eue(h,u)||0,g=[],m=[],b=[],_=n.length,x=0;x<_;x++){var A=n[x],w,k,L;if(s){for(w=Math.round((A-p)/(s*Nue)),L=Uv(p,s*w,u);L>A;)L=Uv(L,-s,u);for(;L<=A;)L=Uv(L,s,u);k=Uv(L,-s,u)}else{for(w=Math.round((A-p)/o),L=p+w*o;L>A;)L-=o;for(;L<=A;)L+=o;k=L-o}g[x]=c?k:d?L:(k+L)/2,m[x]=k,b[x]=L}return{vals:g,starts:m,ends:b}}});var YE=E((w_e,VE)=>{"use strict";var jb=fn().hasColorscale,Ob=lh(),WE=Qa();VE.exports=function(t,r){WE.hasLines(r)&&jb(r,"line")&&Ob(t,r,{vals:r.line.color,containerStr:"line",cLetter:"c"}),WE.hasMarkers(r)&&(jb(r,"marker")&&Ob(t,r,{vals:r.marker.color,containerStr:"marker",cLetter:"c"}),jb(r,"marker.line")&&Ob(t,r,{vals:r.marker.line.color,containerStr:"marker.line",cLetter:"c"}))}});var Hb=E((T_e,ZE)=>{"use strict";var ba=Pe();ZE.exports=function(t,r){for(var a=0;a{"use strict";var XE=Pe();QE.exports=function(t,r){XE.isArrayOrTypedArray(r.selectedpoints)&&XE.tagSelected(t,r)}});var Yb=E((k_e,az)=>{"use strict";var $E=zt(),Ub=Pe(),Qf=Jt(),KE=Fb(),Gb=_r().BADNUM,Wb=Qa(),Fue=YE(),jue=Hb(),Oue=Bb();function Hue(e,t){var r=e._fullLayout,a=Qf.getFromId(e,t.xaxis||"x"),n=Qf.getFromId(e,t.yaxis||"y"),i=a.makeCalcdata(t,"x"),o=n.makeCalcdata(t,"y"),s=KE(t,a,"x",i),l=KE(t,n,"y",o),u=s.vals,c=l.vals,d=t._length,h=new Array(d),p=t.ids,g=Vb(t,r,a,n),m=!1,b,_,x,A,w,k;tz(r,t);var L="x",S="y",q;if(g)Ub.pushUnique(g.traceIndices,t._expandedIndex),b=g.orientation==="v",b?(S="s",q="x"):(L="s",q="y"),w=g.stackgaps==="interpolate";else{var P=ez(t,d);JE(e,t,a,n,u,c,P)}var I=!!t.xperiodalignment,F=!!t.yperiodalignment;for(_=0;__&&h[A].gap;)A--;for(k=h[A].s,x=h.length-1;x>A;x--)h[x].s=k;for(;_{"use strict";var nz=Yb();iz.exports=function(t,r){var a=r.xaxis,n=r.yaxis,i=a._id+n._id,o=t._fullLayout._scatterStackOpts[i];if(!!o){var s=t.calcdata,l,u,c,d,h,p,g,m,b,_,x,A,w,k,L;for(var S in o){_=o[S];var q=_.traceIndices;if(!!q.length){for(x=_.stackgaps==="interpolate",A=_.groupnorm,_.orientation==="v"?(w="x",k="y"):(w="y",k="x"),L=new Array(q.length),l=0;lP[c]&&c{"use strict";var sz=_r(),$f=sz.BADNUM,lz=sz.LOG_CLIP,uz=lz+.5,fz=lz-.5,Xb=Pe(),Uue=Xb.segmentsIntersect,cz=Xb.constrain,Qb=yv();dz.exports=function(t,r){var a=r.xaxis,n=r.yaxis,i=a.type==="log",o=n.type==="log",s=a._length,l=n._length,u=r.connectGaps,c=r.baseTolerance,d=r.shape,h=d==="linear",p=r.fill&&r.fill!=="none",g=[],m=Qb.minTolerance,b=t.length,_=new Array(b),x=0,A,w,k,L,S,q,P,I,F,N,j,G,V,W,Y,X;function $(he){var Oe=t[he];if(!Oe)return!1;var Ue=r.linearized?a.l2p(Oe.x):a.c2p(Oe.x),je=r.linearized?n.l2p(Oe.y):n.c2p(Oe.y);if(Ue===$f){if(i&&(Ue=a.c2p(Oe.x,!0)),Ue===$f)return!1;o&&je===$f&&(Ue*=Math.abs(a._m*l*(a._m>0?uz:fz)/(n._m*s*(n._m>0?uz:fz)))),Ue*=1e3}if(je===$f){if(o&&(je=n.c2p(Oe.y,!0)),je===$f)return!1;je*=1e3}return[Ue,je]}function ae(he,Oe,Ue,je){var ye=Ue-he,we=je-Oe,Ee=.5-he,ze=.5-Oe,Ne=ye*ye+we*we,Ge=ye*Ee+we*ze;if(Ge>0&&Ge1||Math.abs(Ee.y-Ue[0][1])>1)&&(Ee=[Ee.x,Ee.y],je&&re(Ee,he)ke||he[1]qe)return[cz(he[0],ee,ke),cz(he[1],Me,qe)]}function Fe(he,Oe){if(he[0]===Oe[0]&&(he[0]===ee||he[0]===ke)||he[1]===Oe[1]&&(he[1]===Me||he[1]===qe))return!0}function Te(he,Oe){var Ue=[],je=Le(he),ye=Le(Oe);return je&&ye&&Fe(je,ye)||(je&&Ue.push(je),ye&&Ue.push(ye)),Ue}function at(he,Oe,Ue){return function(je,ye){var we=Le(je),Ee=Le(ye),ze=[];if(we&&Ee&&Fe(we,Ee))return ze;we&&ze.push(we),Ee&&ze.push(Ee);var Ne=2*Xb.constrain((je[he]+ye[he])/2,Oe,Ue)-((we||je)[he]+(Ee||ye)[he]);if(Ne){var Ge;we&&Ee?Ge=Ne>0==we[he]>Ee[he]?we:Ee:Ge=we||Ee,Ge[he]+=Ne}return ze}}var Ve;d==="linear"||d==="spline"?Ve=xe:d==="hv"||d==="vh"?Ve=Te:d==="hvh"?Ve=at(0,ee,ke):d==="vhv"&&(Ve=at(1,Me,qe));function rt(he,Oe){var Ue=Oe[0]-he[0],je=(Oe[1]-he[1])/Ue,ye=(he[1]*Oe[0]-Oe[1]*he[0])/Ue;return ye>0?[je>0?ee:ke,qe]:[je>0?ke:ee,Me]}function Je(he){var Oe=he[0],Ue=he[1],je=Oe===_[x-1][0],ye=Ue===_[x-1][1];if(!(je&&ye))if(x>1){var we=Oe===_[x-2][0],Ee=Ue===_[x-2][1];je&&(Oe===ee||Oe===ke)&&we?Ee?x--:_[x-1]=he:ye&&(Ue===Me||Ue===qe)&&Ee?we?x--:_[x-1]=he:_[x++]=he}else _[x++]=he}function ut(he){_[x-1][0]!==he[0]&&_[x-1][1]!==he[1]&&Je([Q,O]),Je(he),ie=null,Q=O=0}function ht(he){if(te=he[0]/s,le=he[1]/l,Ce=he[0]ke?ke:0,U=he[1]qe?qe:0,Ce||U){if(!x)_[x++]=[Ce||he[0],U||he[1]];else if(ie){var Oe=Ve(ie,he);Oe.length>1&&(ut(Oe[0]),_[x++]=Oe[1])}else be=Ve(_[x-1],he)[0],_[x++]=be;var Ue=_[x-1];Ce&&U&&(Ue[0]!==Ce||Ue[1]!==U)?(ie&&(Q!==Ce&&O!==U?Je(Q&&O?rt(ie,he):[Q||Ce,O||U]):Q&&O&&Je([Q,O])),Je([Ce,U])):Q-Ce&&O-U&&Je([Ce||Q,U||O]),ie=he,Q=Ce,O=U}else ie&&ut(Ve(ie,he)[0]),_[x++]=he}for(A=0;Age(q,ue))break;k=q,V=F[0]*I[0]+F[1]*I[1],V>j?(j=V,L=q,P=!1):V=t.length||!q)break;ht(q),w=q}}ie&&Je([Q||ie[0],O||ie[1]]),g.push(_.slice(0,x))}return g}});var mz=E((C_e,pz)=>{"use strict";var vz={tonextx:1,tonexty:1,tonext:1};pz.exports=function(t,r,a){var n,i,o,s,l,u={},c=!1,d=-1,h=0,p=-1;for(i=0;i=0?l=p:(l=p=h,h++),l{"use strict";var Hn=Et(),Gue=vt(),Kf=Pe(),El=Kf.ensureSingle,gz=Kf.identity,gr=Kt(),zl=Qa(),Wue=hz(),Vue=mz(),Yue=X0().tester;bz.exports=function(t,r,a,n,i,o){var s,l,u=!i,c=!!i&&i.duration>0,d=Vue(t,r,a);if(s=n.selectAll("g.trace").data(d,function(p){return p[0].trace.uid}),s.enter().append("g").attr("class",function(p){return"trace scatter trace"+p[0].trace.uid}).style("stroke-miterlimit",2),s.order(),Zue(t,s,r),c){o&&(l=o());var h=Hn.transition().duration(i.duration).ease(i.easing).each("end",function(){l&&l()}).each("interrupt",function(){l&&l()});h.each(function(){n.selectAll("g.trace").each(function(p,g){yz(t,g,r,p,d,this,i)})})}else s.each(function(p,g){yz(t,g,r,p,d,this,i)});u&&s.exit().remove(),n.selectAll("path:not([d])").remove()};function Zue(e,t,r){t.each(function(a){var n=El(Hn.select(this),"g","fills");gr.setClipUrl(n,r.layerClipId,e);var i=a[0].trace,o=[];i._ownfill&&o.push("_ownFill"),i._nexttrace&&o.push("_nextFill");var s=n.selectAll("g").data(o,gz);s.enter().append("g"),s.exit().each(function(l){i[l]=null}).remove(),s.order().each(function(l){i[l]=El(Hn.select(this),"path","js-fill")})})}function yz(e,t,r,a,n,i,o){var s;Xue(e,t,r,a,n);var l=!!o&&o.duration>0;function u(Q){return l?Q.transition():Q}var c=r.xaxis,d=r.yaxis,h=a[0].trace,p=h.line,g=Hn.select(i),m=El(g,"g","errorbars"),b=El(g,"g","lines"),_=El(g,"g","points"),x=El(g,"g","text");if(Gue.getComponentMethod("errorbars","plot")(e,m,r,o),h.visible!==!0)return;u(g).style("opacity",h.opacity);var A,w,k=h.fill.charAt(h.fill.length-1);k!=="x"&&k!=="y"&&(k=""),a[0][r.isRangePlot?"nodeRangePlot3":"node3"]=g;var L="",S=[],q=h._prevtrace;q&&(L=q._prevRevpath||"",w=q._nextFill,S=q._polygons);var P,I,F="",N="",j,G,V,W,Y,X,$,ae=[],te=Kf.noop;if(A=h._ownFill,zl.hasLines(h)||h.fill!=="none"){for(w&&w.datum(a),["hv","vh","hvh","vhv"].indexOf(p.shape)!==-1?(j=gr.steps(p.shape),G=gr.steps(p.shape.split("").reverse().join(""))):p.shape==="spline"?j=G=function(Q){var O=Q[Q.length-1];return Q.length>1&&Q[0][0]===O[0]&&Q[0][1]===O[1]?gr.smoothclosed(Q.slice(1),p.smoothing):gr.smoothopen(Q,p.smoothing)}:j=G=function(Q){return"M"+Q.join("L")},V=function(Q){return G(Q.reverse())},ae=Wue(a,{xaxis:c,yaxis:d,connectGaps:h.connectgaps,baseTolerance:Math.max(p.width||1,3)/4,shape:p.shape,simplify:p.simplify,fill:h.fill}),$=h._polygons=new Array(ae.length),s=0;s1){var ie=Hn.select(this);if(ie.datum(a),Q)u(ie.style("opacity",0).attr("d",P).call(gr.lineGroupStyle)).style("opacity",1);else{var be=u(ie);be.attr("d",P),gr.singleLineStyle(a,be)}}}}}var le=b.selectAll(".js-line").data(ae);u(le.exit()).style("opacity",0).remove(),le.each(te(!1)),le.enter().append("path").classed("js-line",!0).style("vector-effect","non-scaling-stroke").call(gr.lineGroupStyle).each(te(!0)),gr.setClipUrl(le,r.layerClipId,e);function ge(Q){u(Q).attr("d","M0,0Z")}ae.length?(A?(A.datum(a),W&&X&&(k?(k==="y"?W[1]=X[1]=d.c2p(0,!0):k==="x"&&(W[0]=X[0]=c.c2p(0,!0)),u(A).attr("d","M"+X+"L"+W+"L"+F.substr(1)).call(gr.singleFillStyle,e)):u(A).attr("d",F+"Z").call(gr.singleFillStyle,e))):w&&(h.fill.substr(0,6)==="tonext"&&F&&L?(h.fill==="tonext"?u(w).attr("d",F+"Z"+L+"Z").call(gr.singleFillStyle,e):u(w).attr("d",F+"L"+L.substr(1)+"Z").call(gr.singleFillStyle,e),h._polygons=h._polygons.concat(S)):(ge(w),h._polygons=null)),h._prevRevpath=N,h._prevPolygons=$):(A?ge(A):w&&ge(w),h._polygons=h._prevRevpath=h._prevPolygons=null);function re(Q){return Q.filter(function(O){return!O.gap&&O.vis})}function _e(Q){return Q.filter(function(O){return O.vis})}function ee(Q){return Q.filter(function(O){return!O.gap})}function ke(Q){return Q.id}function Me(Q){if(Q.ids)return ke}function qe(){return!1}function De(Q,O,ie){var be,xe,Le,Fe=ie[0].trace,Te=zl.hasMarkers(Fe),at=zl.hasText(Fe),Ve=Me(Fe),rt=qe,Je=qe;if(Te||at){var ut=gz,ht=Fe.stackgroup,ue=ht&&e._fullLayout._scatterStackOpts[c._id+d._id][ht].stackgaps==="infer zero";Fe.marker.maxdisplayed||Fe._needsCull?ut=ue?_e:re:ht&&!ue&&(ut=ee),Te&&(rt=ut),at&&(Je=ut)}xe=Q.selectAll("path.point"),be=xe.data(rt,Ve);var he=be.enter().append("path").classed("point",!0);l&&he.call(gr.pointStyle,Fe,e).call(gr.translatePoints,c,d).style("opacity",0).transition().style("opacity",1),be.order();var Oe;Te&&(Oe=gr.makePointStyleFns(Fe)),be.each(function(Ue){var je=Hn.select(this),ye=u(je);Le=gr.translatePoint(Ue,ye,c,d),Le?(gr.singlePointStyle(Ue,ye,Fe,Oe,e),r.layerClipId&&gr.hideOutsideRangePoint(Ue,ye,c,d,Fe.xcalendar,Fe.ycalendar),Fe.customdata&&je.classed("plotly-customdata",Ue.data!==null&&Ue.data!==void 0)):ye.remove()}),l?be.exit().transition().style("opacity",0).remove():be.exit().remove(),xe=O.selectAll("g"),be=xe.data(Je,Ve),be.enter().append("g").classed("textpoint",!0).append("text"),be.order(),be.each(function(Ue){var je=Hn.select(this),ye=u(je.select("text"));Le=gr.translatePoint(Ue,ye,c,d),Le?r.layerClipId&&gr.hideOutsideRangePoint(Ue,je,c,d,Fe.xcalendar,Fe.ycalendar):je.remove()}),be.selectAll("text").call(gr.textPointStyle,Fe,e).each(function(Ue){var je=c.c2p(Ue.x),ye=d.c2p(Ue.y);Hn.select(this).selectAll("tspan.line").each(function(){u(Hn.select(this)).attr({x:je,y:ye})})}),be.exit().remove()}_.datum(a),x.datum(a),De(_,x,a);var Ce=h.cliponaxis===!1,U=Ce?null:r.layerClipId;gr.setClipUrl(_,U,e),gr.setClipUrl(x,U,e)}function Xue(e,t,r,a,n){var i=r.xaxis,o=r.yaxis,s=Hn.extent(Kf.simpleMap(i.range,i.r2c)),l=Hn.extent(Kf.simpleMap(o.range,o.r2c)),u=a[0].trace;if(!!zl.hasMarkers(u)){var c=u.marker.maxdisplayed;if(c!==0){var d=a.filter(function(m){return m.x>=s[0]&&m.x<=s[1]&&m.y>=l[0]&&m.y<=l[1]}),h=Math.ceil(d.length/c),p=0;n.forEach(function(m,b){var _=m[0].trace;zl.hasMarkers(_)&&_.marker.maxdisplayed>0&&b{"use strict";_z.exports={container:"marker",min:"cmin",max:"cmax"}});var Tz=E((D_e,wz)=>{"use strict";var Gv=Jt();wz.exports=function(t,r,a){var n={},i={_fullLayout:a},o=Gv.getFromTrace(i,r,"x"),s=Gv.getFromTrace(i,r,"y");return n.xLabel=Gv.tickText(o,o.c2l(t.x),!0).text,n.yLabel=Gv.tickText(s,s.c2l(t.y),!0).text,n}});var t1=E((P_e,Az)=>{"use strict";var Kb=Et(),Nl=Kt(),Que=vt();function $ue(e){var t=Kb.select(e).selectAll("g.trace.scatter");t.style("opacity",function(r){return r[0].trace.opacity}),t.selectAll("g.points").each(function(r){var a=Kb.select(this),n=r.trace||r[0].trace;Jb(a,n,e)}),t.selectAll("g.text").each(function(r){var a=Kb.select(this),n=r.trace||r[0].trace;e1(a,n,e)}),t.selectAll("g.trace path.js-line").call(Nl.lineGroupStyle),t.selectAll("g.trace path.js-fill").call(Nl.fillGroupStyle,e),Que.getComponentMethod("errorbars","style")(t)}function Jb(e,t,r){Nl.pointStyle(e.selectAll("path.point"),t,r)}function e1(e,t,r){Nl.textPointStyle(e.selectAll("text"),t,r)}function Kue(e,t,r){var a=t[0].trace;a.selectedpoints?(Nl.selectedPointStyle(r.selectAll("path.point"),a),Nl.selectedTextStyle(r.selectAll("text"),a)):(Jb(r,a,e),e1(r,a,e))}Az.exports={style:$ue,stylePoints:Jb,styleText:e1,styleOnSelect:Kue}});var Mz=E((R_e,kz)=>{"use strict";var Fl=qt(),Jue=Qa();kz.exports=function(t,r){var a,n;if(t.mode==="lines")return a=t.line.color,a&&Fl.opacity(a)?a:t.fillcolor;if(t.mode==="none")return t.fill?t.fillcolor:"";var i=r.mcc||(t.marker||{}).color,o=r.mlcc||((t.marker||{}).line||{}).color;return n=i&&Fl.opacity(i)?i:o&&Fl.opacity(o)&&(r.mlw||((t.marker||{}).line||{}).width)?o:"",n?Fl.opacity(n)<.3?Fl.addOpacity(n,.3):n:(a=(t.line||{}).color,a&&Fl.opacity(a)&&Jue.hasLines(t)&&t.line.width?a:t.fillcolor)}});var Lz=E((I_e,Cz)=>{"use strict";var r1=Pe(),Sz=Si(),efe=vt(),tfe=Mz(),a1=qt(),rfe=r1.fillText;Cz.exports=function(t,r,a,n){var i=t.cd,o=i[0].trace,s=t.xa,l=t.ya,u=s.c2p(r),c=l.c2p(a),d=[u,c],h=o.hoveron||"",p=o.mode.indexOf("markers")!==-1?3:.5,g=!!o.xperiodalignment,m=!!o.yperiodalignment;if(h.indexOf("points")!==-1){var b=function(De){if(g){var Ce=s.c2p(De.xStart),U=s.c2p(De.xEnd);return u>=Math.min(Ce,U)&&u<=Math.max(Ce,U)?0:1/0}var Q=Math.max(3,De.mrc||0),O=1-1/Q,ie=Math.abs(s.c2p(De.x)-u);return ie=Math.min(Ce,U)&&c<=Math.max(Ce,U)?0:1/0}var Q=Math.max(3,De.mrc||0),O=1-1/Q,ie=Math.abs(l.c2p(De.y)-c);return ieMe!=ke>=Me&&(re=le[ae-1][0],_e=le[ae][0],ke-ee&&(ge=re+(_e-re)*(Me-ee)/(ke-ee),V=Math.min(V,ge),W=Math.max(W,ge)));V=Math.max(V,0),W=Math.min(W,s._length);var qe=a1.defaultLine;return a1.opacity(o.fillcolor)?qe=o.fillcolor:a1.opacity((o.line||{}).color)&&(qe=o.line.color),r1.extendFlat(t,{distance:t.maxHoverDistance,x0:V,x1:W,y0:Me,y1:Me,color:qe,hovertemplate:!1}),delete t.index,o.text&&!Array.isArray(o.text)?t.text=String(o.text):t.text=o.name,[t]}}}});var Pz=E((E_e,Dz)=>{"use strict";var qz=Qa();Dz.exports=function(t,r){var a=t.cd,n=t.xaxis,i=t.yaxis,o=[],s=a[0].trace,l,u,c,d,h=!qz.hasMarkers(s)&&!qz.hasText(s);if(h)return[];if(r===!1)for(l=0;l{"use strict";Rz.exports={xaxis:{valType:"subplotid",dflt:"x",editType:"calc+clearAxisTypes",description:["Sets a reference between this trace's x coordinates and","a 2D cartesian x axis.","If *x* (the default value), the x coordinates refer to","`layout.xaxis`.","If *x2*, the x coordinates refer to `layout.xaxis2`, and so on."].join(" ")},yaxis:{valType:"subplotid",dflt:"y",editType:"calc+clearAxisTypes",description:["Sets a reference between this trace's y coordinates and","a 2D cartesian y axis.","If *y* (the default value), the y coordinates refer to","`layout.yaxis`.","If *y2*, the y coordinates refer to `layout.yaxis2`, and so on."].join(" ")}}});var Fz=E((N_e,Nz)=>{"use strict";var Jf=vt().traceIs,n1=my();Nz.exports=function(t,r,a,n){a("autotypenumbers",n.autotypenumbersDflt);var i=a("type",(n.splomStash||{}).type);i==="-"&&(afe(r,n.data),r.type==="-"?r.type="linear":t.type=r.type)};function afe(e,t){if(e.type==="-"){var r=e._id,a=r.charAt(0),n;r.indexOf("scene")!==-1&&(r=a);var i=nfe(t,r,a);if(!!i){if(i.type==="histogram"&&a==={v:"y",h:"x"}[i.orientation||"v"]){e.type="linear";return}var o=a+"calendar",s=i[o],l={noMultiCategory:!Jf(i,"cartesian")||Jf(i,"noMultiCategory")};if(i.type==="box"&&i._hasPreCompStats&&a==={h:"x",v:"y"}[i.orientation||"v"]&&(l.noMultiCategory=!0),l.autotypenumbers=e.autotypenumbers,zz(i,a)){var u=Ez(i),c=[];for(n=0;n0&&(n["_"+r+"axes"]||{})[t])return n;if((n[r+"axis"]||r)===t){if(zz(n,r))return n;if((n[r]||[]).length||n[r+"0"])return n}}}function Ez(e){return{v:"x",h:"y"}[e.orientation||"v"]}function zz(e,t){var r=Ez(e),a=Jf(e,"box-violin"),n=Jf(e._fullInput||{},"candlestick");return a&&!n&&t===r&&e[r]===void 0&&e[r+"0"]===void 0}});var Oz=E((F_e,jz)=>{"use strict";function ife(e,t){var r=t.dataAttr||e._id.charAt(0),a={},n,i,o;if(t.axData)n=t.axData;else for(n=[],i=0;i0,s;o&&(s="array");var l=a("categoryorder",s),u;l==="array"&&(u=a("categoryarray")),!o&&l==="array"&&(l=r.categoryorder="trace"),l==="trace"?r._initialCategories=[]:l==="array"?r._initialCategories=u.slice():(u=ife(r,n).sort(),l==="category ascending"?r._initialCategories=u:l==="category descending"&&(r._initialCategories=u.reverse()))}}});var Uz=E((j_e,Bz)=>{"use strict";var Hz=Ln().mix,ofe=vi(),sfe=Pe();Bz.exports=function(t,r,a,n){n=n||{};var i=n.dfltColor;function o(S,q){return sfe.coerce2(t,r,n.attributes,S,q)}var s=o("linecolor",i),l=o("linewidth"),u=a("showline",n.showLine||!!s||!!l);u||(delete r.linecolor,delete r.linewidth);var c=Hz(i,n.bgColor,n.blend||ofe.lightFraction).toRgbString(),d=o("gridcolor",c),h=o("gridwidth"),p=o("griddash"),g=a("showgrid",n.showGrid||!!d||!!h||!!p);if(g||(delete r.gridcolor,delete r.gridwidth,delete r.griddash),n.hasMinor){var m=Hz(r.gridcolor,n.bgColor,67).toRgbString(),b=o("minor.gridcolor",m),_=o("minor.gridwidth",r.gridwidth||1),x=o("minor.griddash",r.griddash||"solid"),A=a("minor.showgrid",!!b||!!_||!!x);A||(delete r.minor.gridcolor,delete r.minor.gridwidth,delete r.minor.griddash)}if(!n.noZeroLine){var w=o("zerolinecolor",i),k=o("zerolinewidth"),L=a("zeroline",n.showGrid||!!w||!!k);L||(delete r.zerolinecolor,delete r.zerolinewidth)}}});var o1=E((O_e,Xz)=>{"use strict";var Gz=zt(),lfe=vt(),ec=Pe(),ufe=tr(),ffe=Pn(),i1=ti(),Wz=Kg(),Vz=ey(),cfe=ry(),dfe=ay(),hfe=Oz(),vfe=Uz(),Yz=xh(),Wv=ha().WEEKDAY_PATTERN,pfe=ha().HOUR_PATTERN;Xz.exports=function(t,r,a,n,i){var o=n.letter,s=n.font||{},l=n.splomStash||{},u=a("visible",!n.visibleDflt),c=r._template||{},d=r.type||c.type||"-",h;if(d==="date"){var p=lfe.getComponentMethod("calendars","handleDefaults");p(t,r,"calendar",n.calendar),n.noTicklabelmode||(h=a("ticklabelmode"))}var g="";(!n.noTicklabelposition||d==="multicategory")&&(g=ec.coerce(t,r,{ticklabelposition:{valType:"enumerated",dflt:"outside",values:h==="period"?["outside","inside"]:o==="x"?["outside","inside","outside left","inside left","outside right","inside right"]:["outside","inside","outside top","inside top","outside bottom","inside bottom"]}},"ticklabelposition")),n.noTicklabeloverflow||a("ticklabeloverflow",g.indexOf("inside")!==-1?"hide past domain":d==="category"||d==="multicategory"?"allow":"hide past div"),Yz(r,i);var m=!r.isValidRange(t.range);m&&n.reverseDflt&&(m="reversed");var b=a("autorange",m);b&&(d==="linear"||d==="-")&&a("rangemode"),a("range"),r.cleanRange(),hfe(t,r,a,n),d!=="category"&&!n.noHover&&a("hoverformat");var _=a("color"),x=_!==i1.color.dflt?_:s.color,A=l.label||i._dfltTitle[o];if(dfe(t,r,a,d,n),!u)return r;a("title.text",A),ec.coerceFont(a,"title.font",{family:s.family,size:ec.bigFont(s.size),color:x}),Wz(t,r,a,d);var w=n.hasMinor;if(w&&(ufe.newContainer(r,"minor"),Wz(t,r,a,d,{isMinor:!0})),cfe(t,r,a,d,n),Vz(t,r,a,n),w){var k=n.isMinor;n.isMinor=!0,Vz(t,r,a,n),n.isMinor=k}vfe(t,r,a,{dfltColor:_,bgColor:n.bgColor,showGrid:n.showGrid,hasMinor:w,attributes:i1}),w&&!r.minor.ticks&&!r.minor.showgrid&&delete r.minor,(r.showline||r.ticks)&&a("mirror"),n.automargin&&a("automargin");var L=d==="multicategory";if(!n.noTickson&&(d==="category"||L)&&(r.ticks||r.showgrid)){var S;L&&(S="boundaries");var q=a("tickson",S);q==="boundaries"&&delete r.ticklabelposition}if(L){var P=a("showdividers");P&&(a("dividercolor"),a("dividerwidth"))}if(d==="date")if(ffe(t,r,{name:"rangebreaks",inclusionAttr:"enabled",handleItemDefaults:mfe}),!r.rangebreaks.length)delete r.rangebreaks;else{for(var I=0;I=2){var o="",s,l;if(i.length===2){for(s=0;s<2;s++)if(l=Zz(i[s]),l){o=Wv;break}}var u=a("pattern",o);if(u===Wv)for(s=0;s<2;s++)l=Zz(i[s]),l&&(t.bounds[s]=i[s]=l-1);if(u)for(s=0;s<2;s++)switch(l=i[s],u){case Wv:if(!Gz(l)){t.enabled=!1;return}if(l=+l,l!==Math.floor(l)||l<0||l>=7){t.enabled=!1;return}t.bounds[s]=i[s]=l;break;case pfe:if(!Gz(l)){t.enabled=!1;return}if(l=+l,l<0||l>24){t.enabled=!1;return}t.bounds[s]=i[s]=l;break}if(r.autorange===!1){var c=r.range;if(c[0]c[1]){t.enabled=!1;return}}else if(i[0]>c[0]&&i[1]{"use strict";var yfe=zt(),Vv=Pe();Qz.exports=function(t,r,a,n){var i=n.counterAxes||[],o=n.overlayableAxes||[],s=n.letter,l=n.grid,u,c,d,h;l&&(c=l._domains[s][l._axisMap[r._id]],u=l._anchors[r._id],c&&(d=l[s+"side"].split(" ")[0],h=l.domain[s][d==="right"||d==="top"?1:0])),c=c||[0,1],u=u||(yfe(t.position)?"free":i[0]||"free"),d=d||(s==="x"?"bottom":"left"),h=h||0;var p=Vv.coerce(t,r,{anchor:{valType:"enumerated",values:["free"].concat(i),dflt:u}},"anchor");p==="free"&&a("position",h),Vv.coerce(t,r,{side:{valType:"enumerated",values:s==="x"?["bottom","top"]:["left","right"],dflt:d}},"side");var g=!1;if(o.length&&(g=Vv.coerce(t,r,{overlaying:{valType:"enumerated",values:[!1].concat(o),dflt:!1}},"overlaying")),!g){var m=a("domain",c);m[0]>m[1]-1/4096&&(r.domain=c),Vv.noneOrAll(t.domain,r.domain,c)}return a("layer"),r}});var i8=E((B_e,n8)=>{"use strict";var ds=Pe(),$z=qt(),bfe=Ti().isUnifiedHover,xfe=g0(),Kz=tr(),_fe=$s(),Jz=ti(),wfe=Fz(),e8=o1(),Tfe=gf(),t8=s1(),l1=jr(),uo=l1.id2name,r8=l1.name2id,Afe=ha().AX_ID_PATTERN,a8=vt(),tc=a8.traceIs,u1=a8.getComponentMethod;function Yv(e,t,r){Array.isArray(e[t])?e[t].push(r):e[t]=[r]}n8.exports=function(t,r,a){var n=r.autotypenumbers,i={},o={},s={},l={},u={},c={},d={},h={},p={},g={},m,b;for(m=0;m{"use strict";var kfe=Et(),o8=vt(),Zv=Pe(),Ja=Kt(),Xv=Jt();s8.exports=function(t,r,a,n){var i=t._fullLayout;if(r.length===0){Xv.redrawComponents(t);return}function o(b){var _=b.xaxis,x=b.yaxis;i._defs.select("#"+b.clipId+"> rect").call(Ja.setTranslate,0,0).call(Ja.setScale,1,1),b.plot.call(Ja.setTranslate,_._offset,x._offset).call(Ja.setScale,1,1);var A=b.plot.selectAll(".scatterlayer .trace");A.selectAll(".point").call(Ja.setPointGroupScale,1,1),A.selectAll(".textpoint").call(Ja.setTextPointsScale,1,1),A.call(Ja.hideOutsideRangePoints,b)}function s(b,_){var x=b.plotinfo,A=x.xaxis,w=x.yaxis,k=A._length,L=w._length,S=!!b.xr1,q=!!b.yr1,P=[];if(S){var I=Zv.simpleMap(b.xr0,A.r2l),F=Zv.simpleMap(b.xr1,A.r2l),N=I[1]-I[0],j=F[1]-F[0];P[0]=(I[0]*(1-_)+_*F[0]-I[0])/(I[1]-I[0])*k,P[2]=k*(1-_+_*j/N),A.range[0]=A.l2r(I[0]*(1-_)+_*F[0]),A.range[1]=A.l2r(I[1]*(1-_)+_*F[1])}else P[0]=0,P[2]=k;if(q){var G=Zv.simpleMap(b.yr0,w.r2l),V=Zv.simpleMap(b.yr1,w.r2l),W=G[1]-G[0],Y=V[1]-V[0];P[1]=(G[1]*(1-_)+_*V[1]-G[1])/(G[0]-G[1])*L,P[3]=L*(1-_+_*Y/W),w.range[0]=A.l2r(G[0]*(1-_)+_*V[0]),w.range[1]=w.l2r(G[1]*(1-_)+_*V[1])}else P[1]=0,P[3]=L;Xv.drawOne(t,A,{skipTitle:!0}),Xv.drawOne(t,w,{skipTitle:!0}),Xv.redrawComponents(t,[A._id,w._id]);var X=S?k/P[2]:1,$=q?L/P[3]:1,ae=S?P[0]:0,te=q?P[1]:0,le=S?P[0]/P[2]*k:0,ge=q?P[1]/P[3]*L:0,re=A._offset-le,_e=w._offset-ge;x.clipRect.call(Ja.setTranslate,ae,te).call(Ja.setScale,1/X,1/$),x.plot.call(Ja.setTranslate,re,_e).call(Ja.setScale,X,$),Ja.setPointGroupScale(x.zoomScalePts,1/X,1/$),Ja.setTextPointsScale(x.zoomScaleTxt,1/X,1/$)}var l;n&&(l=n());function u(){for(var b={},_=0;_a.duration?(u(),p=window.cancelAnimationFrame(m)):p=window.requestAnimationFrame(m)}return d=Date.now(),p=window.requestAnimationFrame(m),Promise.resolve()}});var Jv=E(oa=>{"use strict";var Qv=Et(),u8=vt(),$v=Pe(),Mfe=Er(),Sfe=Kt(),f8=Dg().getModuleCalcData,fo=jr(),ui=ha(),Cfe=Wo(),Xt=$v.ensureSingle;function Kv(e,t,r){return $v.ensureSingle(e,t,r,function(a){a.datum(r)})}oa.name="cartesian";oa.attr=["xaxis","yaxis"];oa.idRoot=["x","y"];oa.idRegex=ui.idRegex;oa.attrRegex=ui.attrRegex;oa.attributes=Iz();oa.layoutAttributes=ti();oa.supplyLayoutDefaults=i8();oa.transitionAxes=l8();oa.finalizeSubplots=function(e,t){var r=t._subplots,a=r.xaxis,n=r.yaxis,i=r.cartesian,o=i.concat(r.gl2d||[]),s={},l={},u,c,d;for(u=0;u{"use strict";var ep=Qa();p8.exports={hasLines:ep.hasLines,hasMarkers:ep.hasMarkers,hasText:ep.hasText,isBubble:ep.isBubble,attributes:ql(),supplyDefaults:OE(),crossTraceDefaults:BE(),calc:Yb().calc,crossTraceCalc:oz(),arraysToCalcdata:Hb(),plot:xz(),colorbar:$b(),formatLabels:Tz(),style:t1().style,styleOnSelect:t1().styleOnSelect,hoverPoints:Lz(),selectPoints:Pz(),animatable:!0,moduleType:"trace",name:"scatter",basePlotModule:Jv(),categories:["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],meta:{description:["The scatter trace type encompasses line charts, scatter charts, text charts, and bubble charts.","The data visualized as scatter point or lines is set in `x` and `y`.","Text (appearing either on the chart or on hover only) is via `text`.","Bubble charts are achieved by setting `marker.size` and/or `marker.color`","to numerical arrays."].join(" ")}}});var y8=E((V_e,g8)=>{"use strict";g8.exports={moduleType:"component",name:"legend",layoutAttributes:Yy(),supplyLayoutDefaults:Qy(),draw:d0(),style:o0()}});var _8=E((Y_e,x8)=>{"use strict";var qfe=Et(),Dfe=qt(),b8=lb(),f1=Pe(),Pfe=f1.strScale,Rfe=f1.strRotate,Ife=f1.strTranslate;x8.exports=function(t,r,a){var n=t.node(),i=b8[a.arrowhead||0],o=b8[a.startarrowhead||0],s=(a.arrowwidth||1)*(a.arrowsize||1),l=(a.arrowwidth||1)*(a.startarrowsize||1),u=r.indexOf("start")>=0,c=r.indexOf("end")>=0,d=i.backoff*s+a.standoff,h=o.backoff*l+a.startstandoff,p,g,m,b;if(n.nodeName==="line"){p={x:+t.attr("x1"),y:+t.attr("y1")},g={x:+t.attr("x2"),y:+t.attr("y2")};var _=p.x-g.x,x=p.y-g.y;if(m=Math.atan2(x,_),b=m+Math.PI,d&&h&&d+h>Math.sqrt(_*_+x*x)){G();return}if(d){if(d*d>_*_+x*x){G();return}var A=d*Math.cos(m),w=d*Math.sin(m);g.x+=A,g.y+=w,t.attr({x2:g.x,y2:g.y})}if(h){if(h*h>_*_+x*x){G();return}var k=h*Math.cos(m),L=h*Math.sin(m);p.x-=k,p.y-=L,t.attr({x1:p.x,y1:p.y})}}else if(n.nodeName==="path"){var S=n.getTotalLength(),q="";if(S{"use strict";var w8=Et(),c1=vt(),Efe=Er(),co=Pe(),d1=co.strTranslate,rc=Jt(),hs=qt(),Ri=Kt(),T8=Si(),h1=Oa(),v1=ro(),ac=In(),zfe=tr().arrayEditor,Nfe=_8();M8.exports={draw:Ffe,drawOne:A8,drawRaw:k8};function Ffe(e){var t=e._fullLayout;t._infolayer.selectAll(".annotation").remove();for(var r=0;r2/3?St="right":St="center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[St]}for(var Ce=!1,U=["x","y"],Q=0;Q1)&&(be===ie?(je=xe.r2fraction(t["a"+O]),(je<0||je>1)&&(Ce=!0)):Ce=!0),ut=xe._offset+xe.r2p(t[O]),he=.5}else{var ye=Ue==="domain";O==="x"?(ue=t[O],ut=ye?xe._offset+xe._length*ue:ut=s.l+s.w*ue):(ue=1-t[O],ut=ye?xe._offset+xe._length*ue:ut=s.t+s.h*ue),he=t.showarrow?.5:ue}if(t.showarrow){Je.head=ut;var we=t["a"+O];if(Oe=Fe*De(.5,t.xanchor)-Te*De(.5,t.yanchor),be===ie){var Ee=rc.getRefType(be);Ee==="domain"?(O==="y"&&(we=1-we),Je.tail=xe._offset+xe._length*we):Ee==="paper"?O==="y"?(we=1-we,Je.tail=s.t+s.h*we):Je.tail=s.l+s.w*we:Je.tail=xe._offset+xe.r2p(we),ht=Oe}else Je.tail=ut+we,ht=Oe+we;Je.text=Je.tail+Oe;var ze=o[O==="x"?"width":"height"];if(ie==="paper"&&(Je.head=co.constrain(Je.head,1,ze-1)),be==="pixel"){var Ne=-Math.max(Je.tail-3,Je.text),Ge=Math.min(Je.tail+3,Je.text)-ze;Ne>0?(Je.tail+=Ne,Je.text+=Ne):Ge>0&&(Je.tail-=Ge,Je.text-=Ge)}Je.tail+=rt,Je.head+=rt}else Oe=at*De(he,Ve),ht=Oe,Je.text=ut+Oe;Je.text+=rt,Oe+=rt,ht+=rt,t["_"+O+"padplus"]=at/2+ht,t["_"+O+"padminus"]=at/2-ht,t["_"+O+"size"]=at,t["_"+O+"shift"]=Oe}if(Ce){S.remove();return}var ft=0,yt=0;if(t.align!=="left"&&(ft=(ee-re)*(t.align==="center"?.5:1)),t.valign!=="top"&&(yt=(ke-_e)*(t.valign==="middle"?.5:1)),le)te.select("svg").attr({x:I+ft-1,y:I+yt}).call(Ri.setClipUrl,N?m:null,e);else{var st=I+yt-ge.top,Pt=I+ft-ge.left;W.call(h1.positionText,Pt,st).call(Ri.setClipUrl,N?m:null,e)}j.select("rect").call(Ri.setRect,I,I,ee,ke),F.call(Ri.setRect,q/2,q/2,Me-q,qe-q),S.call(Ri.setTranslate,Math.round(b.x.text-Me/2),Math.round(b.y.text-qe/2)),A.attr({transform:"rotate("+_+","+b.x.text+","+b.y.text+")"});var Mt=function(Rt,St){x.selectAll(".annotation-arrow-g").remove();var Tt=b.x.head,Ct=b.y.head,ne=b.x.tail+Rt,Ae=b.y.tail+St,Se=b.x.text+Rt,He=b.y.text+St,Lt=co.rotationXYMatrix(_,Se,He),hr=co.apply2DTransform(Lt),Ur=co.apply2DTransform2(Lt),Pr=+F.attr("width"),cr=+F.attr("height"),sa=Se-.5*Pr,Zn=sa+Pr,ta=He-.5*cr,Va=ta+cr,kn=[[sa,ta,sa,Va],[sa,Va,Zn,Va],[Zn,Va,Zn,ta],[Zn,ta,sa,ta]].map(Ur);if(!kn.reduce(function(vr,Zr){return vr^!!co.segmentsIntersect(Tt,Ct,Tt+1e6,Ct+1e6,Zr[0],Zr[1],Zr[2],Zr[3])},!1)){kn.forEach(function(vr){var Zr=co.segmentsIntersect(ne,Ae,Tt,Ct,vr[0],vr[1],vr[2],vr[3]);Zr&&(ne=Zr.x,Ae=Zr.y)});var xa=t.arrowwidth,fi=t.arrowcolor,xo=t.arrowside,Ya=x.append("g").style({opacity:hs.opacity(fi)}).classed("annotation-arrow-g",!0),_a=Ya.append("path").attr("d","M"+ne+","+Ae+"L"+Tt+","+Ct).style("stroke-width",xa+"px").call(hs.stroke,hs.rgb(fi));if(Nfe(_a,xo,t),l.annotationPosition&&_a.node().parentNode&&!a){var wa=Tt,Ta=Ct;if(t.standoff){var la=Math.sqrt(Math.pow(Tt-ne,2)+Math.pow(Ct-Ae,2));wa+=t.standoff*(ne-Tt)/la,Ta+=t.standoff*(Ae-Ct)/la}var Ia=Ya.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(ne-wa)+","+(Ae-Ta),transform:d1(wa,Ta)}).style("stroke-width",xa+6+"px").call(hs.stroke,"rgba(0,0,0,0)").call(hs.fill,"rgba(0,0,0,0)"),ci,Gr;ac.init({element:Ia.node(),gd:e,prepFn:function(){var vr=Ri.getTranslate(S);ci=vr.x,Gr=vr.y,n&&n.autorange&&h(n._name+".autorange",!0),i&&i.autorange&&h(i._name+".autorange",!0)},moveFn:function(vr,Zr){var _o=hr(ci,Gr),wo=_o[0]+vr,Fi=_o[1]+Zr;S.call(Ri.setTranslate,wo,Fi),p("x",ho(n,vr,"x",s,t)),p("y",ho(i,Zr,"y",s,t)),t.axref===t.xref&&p("ax",ho(n,vr,"ax",s,t)),t.ayref===t.yref&&p("ay",ho(i,Zr,"ay",s,t)),Ya.attr("transform",d1(vr,Zr)),A.attr({transform:"rotate("+_+","+wo+","+Fi+")"})},doneFn:function(){c1.call("_guiRelayout",e,g());var vr=document.querySelector(".js-notes-box-panel");vr&&vr.redraw(vr.selectedObj)}})}}};if(t.showarrow&&Mt(0,0),w){var ot;ac.init({element:S.node(),gd:e,prepFn:function(){ot=A.attr("transform")},moveFn:function(Rt,St){var Tt="pointer";if(t.showarrow)t.axref===t.xref?p("ax",ho(n,Rt,"ax",s,t)):p("ax",t.ax+Rt),t.ayref===t.yref?p("ay",ho(i,St,"ay",s.w,t)):p("ay",t.ay+St),Mt(Rt,St);else{if(a)return;var Ct,ne;if(n)Ct=ho(n,Rt,"x",s,t);else{var Ae=t._xsize/s.w,Se=t.x+(t._xshift-t.xshift)/s.w-Ae/2;Ct=ac.align(Se+Rt/s.w,Ae,0,1,t.xanchor)}if(i)ne=ho(i,St,"y",s,t);else{var He=t._ysize/s.h,Lt=t.y-(t._yshift+t.yshift)/s.h-He/2;ne=ac.align(Lt-St/s.h,He,0,1,t.yanchor)}p("x",Ct),p("y",ne),(!n||!i)&&(Tt=ac.getCursor(n?.5:Ct,i?.5:ne,t.xanchor,t.yanchor))}A.attr({transform:d1(Rt,St)+ot}),v1(S,Tt)},clickFn:function(Rt,St){t.captureevents&&e.emit("plotly_clickannotation",L(St))},doneFn:function(){v1(S),c1.call("_guiRelayout",e,g());var Rt=document.querySelector(".js-notes-box-panel");Rt&&Rt.redraw(Rt.selectedObj)}})}}l.annotationText?W.call(h1.makeEditable,{delegate:S,gd:e}).call(Y).on("edit",function($){t.text=$,this.call(Y),p("text",$),n&&n.autorange&&h(n._name+".autorange",!0),i&&i.autorange&&h(i._name+".autorange",!0),c1.call("_guiRelayout",e,g())}):W.call(Y)}});var P8=E((X_e,D8)=>{"use strict";var S8=Pe(),jfe=vt(),C8=tr().arrayEditor;D8.exports={hasClickToShow:Ofe,onClick:Hfe};function Ofe(e,t){var r=L8(e,t);return r.on.length>0||r.explicitOff.length>0}function Hfe(e,t){var r=L8(e,t),a=r.on,n=r.off.concat(r.explicitOff),i={},o=e._fullLayout.annotations,s,l;if(!!(a.length||n.length)){for(s=0;s{"use strict";var R8=Pe(),jl=qt();I8.exports=function(t,r,a,n){n("opacity");var i=n("bgcolor"),o=n("bordercolor"),s=jl.opacity(o);n("borderpad");var l=n("borderwidth"),u=n("showarrow");n("text",u?" ":a._dfltTitle.annotation),n("textangle"),R8.coerceFont(n,"font",a.font),n("width"),n("align");var c=n("height");if(c&&n("valign"),u){var d=n("arrowside"),h,p;d.indexOf("end")!==-1&&(h=n("arrowhead"),p=n("arrowsize")),d.indexOf("start")!==-1&&(n("startarrowhead",h),n("startarrowsize",p)),n("arrowcolor",s?r.bordercolor:jl.defaultLine),n("arrowwidth",(s&&l||1)*2),n("standoff"),n("startstandoff")}var g=n("hovertext"),m=a.hoverlabel||{};if(g){var b=n("hoverlabel.bgcolor",m.bgcolor||(jl.opacity(i)?jl.rgb(i):jl.defaultLine)),_=n("hoverlabel.bordercolor",m.bordercolor||jl.contrast(b));R8.coerceFont(n,"hoverlabel.font",{family:m.font.family,size:m.font.size,color:m.font.color||_})}n("captureevents",!!g)}});var z8=E(($_e,E8)=>{"use strict";var m1=Pe(),vs=Jt(),Bfe=Pn(),Ufe=p1(),Gfe=Ll();E8.exports=function(t,r){Bfe(t,r,{name:"annotations",handleItemDefaults:Wfe})};function Wfe(e,t,r){function a(A,w){return m1.coerce(e,t,Gfe,A,w)}var n=a("visible"),i=a("clicktoshow");if(!!(n||i)){Ufe(e,t,r,a);for(var o=t.showarrow,s=["x","y"],l=[-10,-30],u={_fullLayout:r},c=0;c<2;c++){var d=s[c],h=vs.coerceRef(e,t,u,d,"","paper");if(h!=="paper"){var p=vs.getFromId(u,h);p._annIndices.push(t._index)}if(vs.coercePosition(t,u,a,h,d,.5),o){var g="a"+d,m=vs.coerceRef(e,t,u,g,"pixel",["pixel","paper"]);m!=="pixel"&&m!==h&&(m=t[g]="pixel");var b=m==="pixel"?l[c]:.4;vs.coercePosition(t,u,a,m,g,b)}a(d+"anchor"),a(d+"shift")}if(m1.noneOrAll(e,t,["x","y"]),o&&m1.noneOrAll(e,t,["ax","ay"]),i){var _=a("xclick"),x=a("yclick");t._xclick=_===void 0?t.x:vs.cleanPosition(_,u,t.xref),t._yclick=x===void 0?t.y:vs.cleanPosition(x,u,t.yref)}}}});var j8=E((K_e,F8)=>{"use strict";var g1=Pe(),ps=Jt(),Vfe=tp().draw;F8.exports=function(t){var r=t._fullLayout,a=g1.filterVisible(r.annotations);if(a.length&&t._fullData.length)return g1.syncOrAsync([Vfe,Yfe],t)};function Yfe(e){var t=e._fullLayout;g1.filterVisible(t.annotations).forEach(function(r){var a=ps.getFromId(e,r.xref),n=ps.getFromId(e,r.yref),i=ps.getRefType(r.xref),o=ps.getRefType(r.yref);r._extremes={},i==="range"&&N8(r,a),o==="range"&&N8(r,n)})}function N8(e,t){var r=t._id,a=r.charAt(0),n=e[a],i=e["a"+a],o=e[a+"ref"],s=e["a"+a+"ref"],l=e["_"+a+"padplus"],u=e["_"+a+"padminus"],c={x:1,y:-1}[a]*e[a+"shift"],d=3*e.arrowsize*e.arrowwidth||0,h=d+c,p=d-c,g=3*e.startarrowsize*e.arrowwidth||0,m=g+c,b=g-c,_;if(s===o){var x=ps.findExtremes(t,[t.r2c(n)],{ppadplus:h,ppadminus:p}),A=ps.findExtremes(t,[t.r2c(i)],{ppadplus:Math.max(l,m),ppadminus:Math.max(u,b)});_={min:[x.min[0],A.min[0]],max:[x.max[0],A.max[0]]}}else m=i?m+i:m,b=i?b-i:b,_=ps.findExtremes(t,[t.r2c(n)],{ppadplus:Math.max(l,h,m),ppadminus:Math.max(u,p,b)});e._extremes[r]=_}});var H8=E((J_e,O8)=>{"use strict";var Zfe=zt(),Xfe=xd();O8.exports=function(t,r,a,n){r=r||{};var i=a==="log"&&r.type==="linear",o=a==="linear"&&r.type==="log";if(!(i||o))return;var s=t._fullLayout.annotations,l=r._id.charAt(0),u,c;function d(p){var g=u[p],m=null;i?m=Xfe(g,r.range):m=Math.pow(10,g),Zfe(m)||(m=null),n(c+p,m)}for(var h=0;h{"use strict";var y1=tp(),B8=P8();U8.exports={moduleType:"component",name:"annotations",layoutAttributes:Ll(),supplyLayoutDefaults:z8(),includeBasePlot:zf()("annotations"),calcAutorange:j8(),draw:y1.draw,drawOne:y1.drawOne,drawRaw:y1.drawRaw,hasClickToShow:B8.hasClickToShow,onClick:B8.onClick,convertCoords:H8()}});var rp=E((twe,W8)=>{"use strict";var er=Ll(),Qfe=_i().overrideAll,$fe=tr().templatedArray;W8.exports=Qfe($fe("annotation",{visible:er.visible,x:{valType:"any",description:["Sets the annotation's x position."].join(" ")},y:{valType:"any",description:["Sets the annotation's y position."].join(" ")},z:{valType:"any",description:["Sets the annotation's z position."].join(" ")},ax:{valType:"number",description:["Sets the x component of the arrow tail about the arrow head (in pixels)."].join(" ")},ay:{valType:"number",description:["Sets the y component of the arrow tail about the arrow head (in pixels)."].join(" ")},xanchor:er.xanchor,xshift:er.xshift,yanchor:er.yanchor,yshift:er.yshift,text:er.text,textangle:er.textangle,font:er.font,width:er.width,height:er.height,opacity:er.opacity,align:er.align,valign:er.valign,bgcolor:er.bgcolor,bordercolor:er.bordercolor,borderpad:er.borderpad,borderwidth:er.borderwidth,showarrow:er.showarrow,arrowcolor:er.arrowcolor,arrowhead:er.arrowhead,startarrowhead:er.startarrowhead,arrowside:er.arrowside,arrowsize:er.arrowsize,startarrowsize:er.startarrowsize,arrowwidth:er.arrowwidth,standoff:er.standoff,startstandoff:er.startstandoff,hovertext:er.hovertext,hoverlabel:er.hoverlabel,captureevents:er.captureevents}),"calc","from-root")});var Y8=E((rwe,V8)=>{"use strict";var b1=Pe(),Kfe=Jt(),Jfe=Pn(),ece=p1(),tce=rp();V8.exports=function(t,r,a){Jfe(t,r,{name:"annotations",handleItemDefaults:rce,fullLayout:a.fullLayout})};function rce(e,t,r,a){function n(s,l){return b1.coerce(e,t,tce,s,l)}function i(s){var l=s+"axis",u={_fullLayout:{}};return u._fullLayout[l]=r[l],Kfe.coercePosition(t,u,n,s,s,.5)}var o=n("visible");!o||(ece(e,t,a.fullLayout,n),i("x"),i("y"),i("z"),b1.noneOrAll(e,t,["x","y","z"]),t.xref="x",t.yref="y",t.zref="z",n("xanchor"),n("yanchor"),n("xshift"),n("yshift"),t.showarrow&&(t.axref="pixel",t.ayref="pixel",n("ax",-10),n("ay",-30),b1.noneOrAll(e,t,["ax","ay"])))}});var $8=E((awe,Q8)=>{"use strict";var Z8=Pe(),X8=Jt();Q8.exports=function(t){for(var r=t.fullSceneLayout,a=r.annotations,n=0;n{"use strict";function x1(e,t){var r=[0,0,0,0],a,n;for(a=0;a<4;++a)for(n=0;n<4;++n)r[n]+=e[4*a+n]*t[a];return r}function nce(e,t){var r=x1(e.projection,x1(e.view,x1(e.model,[t[0],t[1],t[2],1])));return r}K8.exports=nce});var tN=E((iwe,eN)=>{"use strict";var ice=tp().drawRaw,oce=J8(),sce=["x","y","z"];eN.exports=function(t){for(var r=t.fullSceneLayout,a=t.dataScale,n=r.annotations,i=0;i1){s=!0;break}}s?t.fullLayout._infolayer.select(".annotation-"+t.id+'[data-index="'+i+'"]').remove():(o._pdata=oce(t.glplot.cameraParams,[r.xaxis.r2l(o.x)*a[0],r.yaxis.r2l(o.y)*a[1],r.zaxis.r2l(o.z)*a[2]]),ice(t.graphDiv,o,i,t.id,o._xa,o._ya))}}});var nN=E((owe,aN)=>{"use strict";var lce=vt(),rN=Pe();aN.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:rp()}}},layoutAttributes:rp(),handleDefaults:Y8(),includeBasePlot:uce,convert:$8(),draw:tN()};function uce(e,t){var r=lce.subplotsRegistry.gl3d;if(!!r)for(var a=r.attrRegex,n=Object.keys(e),i=0;i{"use strict";var iN=Ll(),oN=ql().line,fce=pi().dash,nc=Jr().extendFlat,cce=tr().templatedArray,sN=If();lN.exports=cce("shape",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw",description:["Determines whether or not this shape is visible."].join(" ")},type:{valType:"enumerated",values:["circle","rect","path","line"],editType:"calc+arraydraw",description:["Specifies the shape type to be drawn.","If *line*, a line is drawn from (`x0`,`y0`) to (`x1`,`y1`)","with respect to the axes' sizing mode.","If *circle*, a circle is drawn from","((`x0`+`x1`)/2, (`y0`+`y1`)/2))","with radius","(|(`x0`+`x1`)/2 - `x0`|, |(`y0`+`y1`)/2 -`y0`)|)","with respect to the axes' sizing mode.","If *rect*, a rectangle is drawn linking","(`x0`,`y0`), (`x1`,`y0`), (`x1`,`y1`), (`x0`,`y1`), (`x0`,`y0`)","with respect to the axes' sizing mode.","If *path*, draw a custom SVG path using `path`.","with respect to the axes' sizing mode."].join(" ")},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"arraydraw",description:"Specifies whether shapes are drawn below or above traces."},xref:nc({},iN.xref,{description:["Sets the shape's x coordinate axis.",sN.axisRefDescription("x","left","right")].join(" ")}),xsizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw",description:["Sets the shapes's sizing mode along the x axis.","If set to *scaled*, `x0`, `x1` and x coordinates within `path` refer to","data values on the x axis or a fraction of the plot area's width","(`xref` set to *paper*).","If set to *pixel*, `xanchor` specifies the x position in terms","of data or plot fraction but `x0`, `x1` and x coordinates within `path`","are pixels relative to `xanchor`. This way, the shape can have","a fixed width while maintaining a position relative to data or","plot fraction."].join(" ")},xanchor:{valType:"any",editType:"calc+arraydraw",description:["Only relevant in conjunction with `xsizemode` set to *pixel*.","Specifies the anchor point on the x axis to which `x0`, `x1`","and x coordinates within `path` are relative to.","E.g. useful to attach a pixel sized shape to a certain data value.","No effect when `xsizemode` not set to *pixel*."].join(" ")},x0:{valType:"any",editType:"calc+arraydraw",description:["Sets the shape's starting x position.","See `type` and `xsizemode` for more info."].join(" ")},x1:{valType:"any",editType:"calc+arraydraw",description:["Sets the shape's end x position.","See `type` and `xsizemode` for more info."].join(" ")},yref:nc({},iN.yref,{description:["Sets the shape's y coordinate axis.",sN.axisRefDescription("y","bottom","top")].join(" ")}),ysizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw",description:["Sets the shapes's sizing mode along the y axis.","If set to *scaled*, `y0`, `y1` and y coordinates within `path` refer to","data values on the y axis or a fraction of the plot area's height","(`yref` set to *paper*).","If set to *pixel*, `yanchor` specifies the y position in terms","of data or plot fraction but `y0`, `y1` and y coordinates within `path`","are pixels relative to `yanchor`. This way, the shape can have","a fixed height while maintaining a position relative to data or","plot fraction."].join(" ")},yanchor:{valType:"any",editType:"calc+arraydraw",description:["Only relevant in conjunction with `ysizemode` set to *pixel*.","Specifies the anchor point on the y axis to which `y0`, `y1`","and y coordinates within `path` are relative to.","E.g. useful to attach a pixel sized shape to a certain data value.","No effect when `ysizemode` not set to *pixel*."].join(" ")},y0:{valType:"any",editType:"calc+arraydraw",description:["Sets the shape's starting y position.","See `type` and `ysizemode` for more info."].join(" ")},y1:{valType:"any",editType:"calc+arraydraw",description:["Sets the shape's end y position.","See `type` and `ysizemode` for more info."].join(" ")},path:{valType:"string",editType:"calc+arraydraw",description:["For `type` *path* - a valid SVG path with the pixel values","replaced by data values in `xsizemode`/`ysizemode` being *scaled*","and taken unmodified as pixels relative to `xanchor` and `yanchor`","in case of *pixel* size mode.","There are a few restrictions / quirks","only absolute instructions, not relative. So the allowed segments","are: M, L, H, V, Q, C, T, S, and Z","arcs (A) are not allowed because radius rx and ry are relative.","In the future we could consider supporting relative commands,","but we would have to decide on how to handle date and log axes.","Note that even as is, Q and C Bezier paths that are smooth on","linear axes may not be smooth on log, and vice versa.",'no chained "polybezier" commands - specify the segment type for',"each one.","On category axes, values are numbers scaled to the serial numbers","of categories because using the categories themselves there would","be no way to describe fractional positions","On data axes: because space and T are both normal components of path","strings, we can't use either to separate date from time parts.","Therefore we'll use underscore for this purpose:","2015-02-21_13:45:56.789"].join(" ")},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw",description:"Sets the opacity of the shape."},line:{color:nc({},oN.color,{editType:"arraydraw"}),width:nc({},oN.width,{editType:"calc+arraydraw"}),dash:nc({},fce,{editType:"arraydraw"}),editType:"calc+arraydraw"},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw",description:["Sets the color filling the shape's interior. Only applies to closed shapes."].join(" ")},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd",editType:"arraydraw",description:["Determines which regions of complex paths constitute the interior.","For more info please visit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule"].join(" ")},editable:{valType:"boolean",dflt:!1,editType:"calc+arraydraw",description:["Determines whether the shape could be activated for edit or not.","Has no effect when the older editable shapes mode is enabled via","`config.editable` or `config.edits.shapePosition`."].join(" ")},editType:"arraydraw"})});var cN=E((lwe,fN)=>{"use strict";var w1=Pe(),Ol=Jt(),dce=Pn(),hce=_1(),uN=os();fN.exports=function(t,r){dce(t,r,{name:"shapes",handleItemDefaults:vce})};function vce(e,t,r){function a(G,V){return w1.coerce(e,t,hce,G,V)}var n=a("visible");if(!!n){var i=a("path"),o=i?"path":"rect",s=a("type",o),l=s!=="path";l&&delete t.path,a("editable"),a("layer"),a("opacity"),a("fillcolor"),a("fillrule");var u=a("line.width");u&&(a("line.color"),a("line.dash"));for(var c=a("xsizemode"),d=a("ysizemode"),h=["x","y"],p=0;p<2;p++){var g=h[p],m=g+"anchor",b=g==="x"?c:d,_={_fullLayout:r},x,A,w,k=Ol.coerceRef(e,t,_,g,void 0,"paper"),L=Ol.getRefType(k);if(L==="range"?(x=Ol.getFromId(_,k),x._shapeIndices.push(t._index),w=uN.rangeToShapePosition(x),A=uN.shapePositionToRange(x)):A=w=w1.identity,l){var S=.25,q=.75,P=g+"0",I=g+"1",F=e[P],N=e[I];e[P]=A(e[P],!0),e[I]=A(e[I],!0),b==="pixel"?(a(P,0),a(I,10)):(Ol.coercePosition(t,_,a,k,P,S),Ol.coercePosition(t,_,a,k,I,q)),t[P]=w(t[P]),t[I]=w(t[I]),e[P]=F,e[I]=N}if(b==="pixel"){var j=e[m];e[m]=A(e[m],!0),Ol.coercePosition(t,_,a,k,m,.25),t[m]=w(t[m]),e[m]=j}}l&&w1.noneOrAll(e,t,["x0","x1","y0","y1"])}}});var hN=E((uwe,dN)=>{"use strict";var pce=qt();dN.exports=function(t,r,a){a("newshape.drawdirection"),a("newshape.layer"),a("newshape.fillcolor"),a("newshape.fillrule"),a("newshape.opacity");var n=a("newshape.line.width");if(n){var i=(t||{}).plot_bgcolor||"#FFF";a("newshape.line.color",pce.contrast(i)),a("newshape.line.dash")}a("activeshape.fillcolor"),a("activeshape.opacity")}});var yN=E((fwe,gN)=>{"use strict";var T1=Pe(),Hl=Jt(),Bl=vf(),vN=os();gN.exports=function(t){var r=t._fullLayout,a=T1.filterVisible(r.shapes);if(!(!a.length||!t._fullData.length))for(var n=0;n0?u+o:o;return{ppad:o,ppadplus:s?d:h,ppadminus:s?h:d}}else return{ppad:o}}function mN(e,t,r,a,n){var i=e.type==="category"||e.type==="multicategory"?e.r2c:e.d2c;if(t!==void 0)return[i(t),i(r)];if(!!a){var o=1/0,s=-1/0,l=a.match(Bl.segmentRE),u,c,d,h,p;for(e.type==="date"&&(i=vN.decodeDate(i)),u=0;us&&(s=p)));if(s>=o)return[o,s]}}});var _N=E((cwe,xN)=>{"use strict";var bN=q0();xN.exports={moduleType:"component",name:"shapes",layoutAttributes:_1(),supplyLayoutDefaults:cN(),supplyDrawNewShapeDefaults:hN(),includeBasePlot:zf()("shapes"),calcAutorange:yN(),draw:bN.draw,drawOne:bN.drawOne}});var A1=E((dwe,AN)=>{"use strict";var wN=ha(),yce=tr().templatedArray,TN=If();AN.exports=yce("image",{visible:{valType:"boolean",dflt:!0,editType:"arraydraw",description:["Determines whether or not this image is visible."].join(" ")},source:{valType:"string",editType:"arraydraw",description:["Specifies the URL of the image to be used.","The URL must be accessible from the domain where the","plot code is run, and can be either relative or absolute."].join(" ")},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"arraydraw",description:["Specifies whether images are drawn below or above traces.","When `xref` and `yref` are both set to `paper`,","image is drawn below the entire plot area."].join(" ")},sizex:{valType:"number",dflt:0,editType:"arraydraw",description:["Sets the image container size horizontally.","The image will be sized based on the `position` value.","When `xref` is set to `paper`, units are sized relative","to the plot width.","When `xref` ends with ` domain`, units are sized relative","to the axis width."].join(" ")},sizey:{valType:"number",dflt:0,editType:"arraydraw",description:["Sets the image container size vertically.","The image will be sized based on the `position` value.","When `yref` is set to `paper`, units are sized relative","to the plot height.","When `yref` ends with ` domain`, units are sized relative","to the axis height."].join(" ")},sizing:{valType:"enumerated",values:["fill","contain","stretch"],dflt:"contain",editType:"arraydraw",description:["Specifies which dimension of the image to constrain."].join(" ")},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw",description:"Sets the opacity of the image."},x:{valType:"any",dflt:0,editType:"arraydraw",description:["Sets the image's x position.","When `xref` is set to `paper`, units are sized relative","to the plot height.","See `xref` for more info"].join(" ")},y:{valType:"any",dflt:0,editType:"arraydraw",description:["Sets the image's y position.","When `yref` is set to `paper`, units are sized relative","to the plot height.","See `yref` for more info"].join(" ")},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left",editType:"arraydraw",description:"Sets the anchor for the x position"},yanchor:{valType:"enumerated",values:["top","middle","bottom"],dflt:"top",editType:"arraydraw",description:"Sets the anchor for the y position."},xref:{valType:"enumerated",values:["paper",wN.idRegex.x.toString()],dflt:"paper",editType:"arraydraw",description:["Sets the images's x coordinate axis.",TN.axisRefDescription("x","left","right")].join(" ")},yref:{valType:"enumerated",values:["paper",wN.idRegex.y.toString()],dflt:"paper",editType:"arraydraw",description:["Sets the images's y coordinate axis.",TN.axisRefDescription("y","bottom","top")].join(" ")},editType:"arraydraw"})});var MN=E((hwe,kN)=>{"use strict";var bce=Pe(),k1=Jt(),xce=Pn(),_ce=A1(),wce="images";kN.exports=function(t,r){var a={name:wce,handleItemDefaults:Tce};xce(t,r,a)};function Tce(e,t,r){function a(h,p){return bce.coerce(e,t,_ce,h,p)}var n=a("source"),i=a("visible",!!n);if(!i)return t;a("layer"),a("xanchor"),a("yanchor"),a("sizex"),a("sizey"),a("sizing"),a("opacity");for(var o={_fullLayout:r},s=["x","y"],l=0;l<2;l++){var u=s[l],c=k1.coerceRef(e,t,o,u,"paper",void 0);if(c!=="paper"){var d=k1.getFromId(o,c);d._imgIndices.push(t._index)}k1.coercePosition(t,o,a,c,u,0)}return t}});var qN=E((vwe,LN)=>{"use strict";var SN=Et(),Ace=Kt(),Ul=Jt(),CN=jr(),kce=Wo();LN.exports=function(t){var r=t._fullLayout,a=[],n={},i=[],o,s;for(s=0;s{"use strict";var DN=zt(),Mce=xd();PN.exports=function(t,r,a,n){r=r||{};var i=a==="log"&&r.type==="linear",o=a==="linear"&&r.type==="log";if(!!(i||o)){for(var s=t._fullLayout.images,l=r._id.charAt(0),u,c,d=0;d{"use strict";IN.exports={moduleType:"component",name:"images",layoutAttributes:A1(),supplyLayoutDefaults:MN(),includeBasePlot:zf()("images"),draw:qN(),convertCoords:RN()}});var ap=E((gwe,zN)=>{"use strict";zN.exports={name:"updatemenus",containerClassName:"updatemenu-container",headerGroupClassName:"updatemenu-header-group",headerClassName:"updatemenu-header",headerArrowClassName:"updatemenu-header-arrow",dropdownButtonGroupClassName:"updatemenu-dropdown-button-group",dropdownButtonClassName:"updatemenu-dropdown-button",buttonClassName:"updatemenu-button",itemRectClassName:"updatemenu-item-rect",itemTextClassName:"updatemenu-item-text",menuIndexAttrName:"updatemenu-active-index",autoMarginIdRoot:"updatemenu-",blankHeaderOpts:{label:" "},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:"#F4FAFF",hoverColor:"#F4FAFF",arrowSymbol:{left:"\u25C4",right:"\u25BA",up:"\u25B2",down:"\u25BC"}}});var M1=E((ywe,FN)=>{"use strict";var Sce=ka(),Cce=vi(),Lce=Jr().extendFlat,qce=_i().overrideAll,Dce=Rd(),NN=tr().templatedArray,Pce=NN("button",{visible:{valType:"boolean",description:"Determines whether or not this button is visible."},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle",description:["Sets the Plotly method to be called on click.","If the `skip` method is used, the API updatemenu will function as normal","but will perform no API calls and will not bind automatically to state","updates. This may be used to create a component interface and attach to","updatemenu events manually via JavaScript."].join(" ")},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}],description:["Sets the arguments values to be passed to the Plotly","method set in `method` on click."].join(" ")},args2:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}],description:["Sets a 2nd set of `args`,","these arguments values are passed to the Plotly","method set in `method` when clicking this button while in the active state.","Use this to create toggle buttons."].join(" ")},label:{valType:"string",dflt:"",description:"Sets the text label to appear on the button."},execute:{valType:"boolean",dflt:!0,description:["When true, the API method is executed. When false, all other behaviors are the same","and command execution is skipped. This may be useful when hooking into, for example,","the `plotly_buttonclicked` method and executing the API command manually without losing","the benefit of the updatemenu automatically binding to the state of the plot through the","specification of `method` and `args`."].join(" ")}});FN.exports=qce(NN("updatemenu",{_arrayAttrRegexps:[/^updatemenus\[(0|[1-9][0-9]+)\]\.buttons/],visible:{valType:"boolean",description:["Determines whether or not the update menu is visible."].join(" ")},type:{valType:"enumerated",values:["dropdown","buttons"],dflt:"dropdown",description:["Determines whether the buttons are accessible via a dropdown menu","or whether the buttons are stacked horizontally or vertically"].join(" ")},direction:{valType:"enumerated",values:["left","right","up","down"],dflt:"down",description:["Determines the direction in which the buttons are laid out, whether","in a dropdown menu or a row/column of buttons. For `left` and `up`,","the buttons will still appear in left-to-right or top-to-bottom order","respectively."].join(" ")},active:{valType:"integer",min:-1,dflt:0,description:["Determines which button (by index starting from 0) is","considered active."].join(" ")},showactive:{valType:"boolean",dflt:!0,description:"Highlights active dropdown item or active button if true."},buttons:Pce,x:{valType:"number",min:-2,max:3,dflt:-.05,description:"Sets the x position (in normalized coordinates) of the update menu."},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"right",description:["Sets the update menu's horizontal position anchor.","This anchor binds the `x` position to the *left*, *center*","or *right* of the range selector."].join(" ")},y:{valType:"number",min:-2,max:3,dflt:1,description:"Sets the y position (in normalized coordinates) of the update menu."},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top",description:["Sets the update menu's vertical position anchor","This anchor binds the `y` position to the *top*, *middle*","or *bottom* of the range selector."].join(" ")},pad:Lce(Dce({editType:"arraydraw"}),{description:"Sets the padding around the buttons or dropdown menu."}),font:Sce({description:"Sets the font of the update menu button text."}),bgcolor:{valType:"color",description:"Sets the background color of the update menu buttons."},bordercolor:{valType:"color",dflt:Cce.borderLine,description:"Sets the color of the border enclosing the update menu."},borderwidth:{valType:"number",min:0,dflt:1,editType:"arraydraw",description:"Sets the width (in px) of the border enclosing the update menu."}}),"arraydraw","from-root")});var BN=E((bwe,HN)=>{"use strict";var np=Pe(),jN=Pn(),ON=M1(),Rce=ap(),Ice=Rce.name,Ece=ON.buttons;HN.exports=function(t,r){var a={name:Ice,handleItemDefaults:zce};jN(t,r,a)};function zce(e,t,r){function a(o,s){return np.coerce(e,t,ON,o,s)}var n=jN(e,t,{name:"buttons",handleItemDefaults:Nce}),i=a("visible",n.length>0);!i||(a("active"),a("direction"),a("type"),a("showactive"),a("x"),a("y"),np.noneOrAll(e,t,["x","y"]),a("xanchor"),a("yanchor"),a("pad.t"),a("pad.r"),a("pad.b"),a("pad.l"),np.coerceFont(a,"font",r.font),a("bgcolor",r.paper_bgcolor),a("bordercolor"),a("borderwidth"))}function Nce(e,t){function r(n,i){return np.coerce(e,t,Ece,n,i)}var a=r("visible",e.method==="skip"||Array.isArray(e.args));a&&(r("method"),r("args"),r("args2"),r("label"),r("execute"))}});var WN=E((xwe,GN)=>{"use strict";GN.exports=dr;var Bn=Et(),UN=qt(),Gl=Kt(),ip=Pe();function dr(e,t,r){this.gd=e,this.container=t,this.id=r,this.position=null,this.translateX=null,this.translateY=null,this.hbar=null,this.vbar=null,this.bg=this.container.selectAll("rect.scrollbox-bg").data([0]),this.bg.exit().on(".drag",null).on("wheel",null).remove(),this.bg.enter().append("rect").classed("scrollbox-bg",!0).style("pointer-events","all").attr({opacity:0,x:0,y:0,width:0,height:0})}dr.barWidth=2;dr.barLength=20;dr.barRadius=2;dr.barPad=1;dr.barColor="#808BA4";dr.prototype.enable=function(t,r,a){var n=this.gd._fullLayout,i=n.width,o=n.height;this.position=t;var s=this.position.l,l=this.position.w,u=this.position.t,c=this.position.h,d=this.position.direction,h=d==="down",p=d==="left",g=d==="right",m=d==="up",b=l,_=c,x,A,w,k;!h&&!p&&!g&&!m&&(this.position.direction="down",h=!0);var L=h||m;L?(x=s,A=x+b,h?(w=u,k=Math.min(w+_,o),_=k-w):(k=u+_,w=Math.max(k-_,0),_=k-w)):(w=u,k=w+_,p?(A=s+b,x=Math.max(A-b,0),b=A-x):(x=s,A=Math.min(x+b,i),b=A-x)),this._box={l:x,t:w,w:b,h:_};var S=l>b,q=dr.barLength+2*dr.barPad,P=dr.barWidth+2*dr.barPad,I=s,F=u+c;F+P>o&&(F=o-P);var N=this.container.selectAll("rect.scrollbar-horizontal").data(S?[0]:[]);N.exit().on(".drag",null).remove(),N.enter().append("rect").classed("scrollbar-horizontal",!0).call(UN.fill,dr.barColor),S?(this.hbar=N.attr({rx:dr.barRadius,ry:dr.barRadius,x:I,y:F,width:q,height:P}),this._hbarXMin=I+q/2,this._hbarTranslateMax=b-q):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var j=c>_,G=dr.barWidth+2*dr.barPad,V=dr.barLength+2*dr.barPad,W=s+l,Y=u;W+G>i&&(W=i-G);var X=this.container.selectAll("rect.scrollbar-vertical").data(j?[0]:[]);X.exit().on(".drag",null).remove(),X.enter().append("rect").classed("scrollbar-vertical",!0).call(UN.fill,dr.barColor),j?(this.vbar=X.attr({rx:dr.barRadius,ry:dr.barRadius,x:W,y:Y,width:G,height:V}),this._vbarYMin=Y+V/2,this._vbarTranslateMax=_-V):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var $=this.id,ae=x-.5,te=j?A+G+.5:A+.5,le=w-.5,ge=S?k+P+.5:k+.5,re=n._topdefs.selectAll("#"+$).data(S||j?[0]:[]);if(re.exit().remove(),re.enter().append("clipPath").attr("id",$).append("rect"),S||j?(this._clipRect=re.select("rect").attr({x:Math.floor(ae),y:Math.floor(le),width:Math.ceil(te)-Math.floor(ae),height:Math.ceil(ge)-Math.floor(le)}),this.container.call(Gl.setClipUrl,$,this.gd),this.bg.attr({x:s,y:u,width:l,height:c})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(Gl.setClipUrl,null),delete this._clipRect),S||j){var _e=Bn.behavior.drag().on("dragstart",function(){Bn.event.sourceEvent.preventDefault()}).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(_e);var ee=Bn.behavior.drag().on("dragstart",function(){Bn.event.sourceEvent.preventDefault(),Bn.event.sourceEvent.stopPropagation()}).on("drag",this._onBarDrag.bind(this));S&&this.hbar.on(".drag",null).call(ee),j&&this.vbar.on(".drag",null).call(ee)}this.setTranslate(r,a)};dr.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(Gl.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(".drag",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(".drag",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)};dr.prototype._onBoxDrag=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t-=Bn.event.dx),this.vbar&&(r-=Bn.event.dy),this.setTranslate(t,r)};dr.prototype._onBoxWheel=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t+=Bn.event.deltaY),this.vbar&&(r+=Bn.event.deltaY),this.setTranslate(t,r)};dr.prototype._onBarDrag=function(){var t=this.translateX,r=this.translateY;if(this.hbar){var a=t+this._hbarXMin,n=a+this._hbarTranslateMax,i=ip.constrain(Bn.event.x,a,n),o=(i-a)/(n-a),s=this.position.w-this._box.w;t=o*s}if(this.vbar){var l=r+this._vbarYMin,u=l+this._vbarTranslateMax,c=ip.constrain(Bn.event.y,l,u),d=(c-l)/(u-l),h=this.position.h-this._box.h;r=d*h}this.setTranslate(t,r)};dr.prototype.setTranslate=function(t,r){var a=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=ip.constrain(t||0,0,a),r=ip.constrain(r||0,0,n),this.translateX=t,this.translateY=r,this.container.call(Gl.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-r),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+r-.5)}),this.hbar){var i=t/a;this.hbar.call(Gl.setTranslate,t+i*this._hbarTranslateMax,r)}if(this.vbar){var o=r/n;this.vbar.call(Gl.setTranslate,t,r+o*this._vbarTranslateMax)}}});var t7=E((_we,e7)=>{"use strict";var Wl=Et(),ic=Er(),oc=qt(),Vl=Kt(),en=Pe(),op=Oa(),Fce=tr().arrayEditor,VN=Ma().LINE_SPACING,mt=ap(),jce=WN();e7.exports=function(t){var r=t._fullLayout,a=en.filterVisible(r[mt.name]);function n(h){ic.autoMargin(t,KN(h))}var i=r._menulayer.selectAll("g."+mt.containerClassName).data(a.length>0?[0]:[]);if(i.enter().append("g").classed(mt.containerClassName,!0).style("cursor","pointer"),i.exit().each(function(){Wl.select(this).selectAll("g."+mt.headerGroupClassName).each(n)}).remove(),a.length!==0){var o=i.selectAll("g."+mt.headerGroupClassName).data(a,Oce);o.enter().append("g").classed(mt.headerGroupClassName,!0);for(var s=en.ensureSingle(i,"g",mt.dropdownButtonGroupClassName,function(h){h.style("pointer-events","all")}),l=0;l{"use strict";var Yce=ap();r7.exports={moduleType:"component",name:Yce.name,layoutAttributes:M1(),supplyLayoutDefaults:BN(),draw:t7()}});var lc=E((Twe,n7)=>{"use strict";n7.exports={name:"sliders",containerClassName:"slider-container",groupClassName:"slider-group",inputAreaClass:"slider-input-area",railRectClass:"slider-rail-rect",railTouchRectClass:"slider-rail-touch-rect",gripRectClass:"slider-grip-rect",tickRectClass:"slider-tick-rect",inputProxyClass:"slider-input-proxy",labelsClass:"slider-labels",labelGroupClass:"slider-label-group",labelClass:"slider-label",currentValueClass:"slider-current-value",railHeight:5,menuIndexAttrName:"slider-active-index",autoMarginIdRoot:"slider-",minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:"#bec8d9",railBgColor:"#f8fafc",railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:"#bec8d9",gripBgColor:"#f6f8fa",gripBgActiveColor:"#dbdde0",labelPadding:8,labelOffset:0,tickWidth:1,tickColor:"#333",tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:"#333",minorTickLength:4,currentValuePadding:8,currentValueInset:0}});var q1=E((Awe,s7)=>{"use strict";var i7=ka(),Zce=Rd(),Xce=Jr().extendDeepAll,Qce=_i().overrideAll,$ce=Nu(),o7=tr().templatedArray,ms=lc(),Kce=o7("step",{visible:{valType:"boolean",dflt:!0,description:["Determines whether or not this step is included in the slider."].join(" ")},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle",description:["Sets the Plotly method to be called when the slider value is changed.","If the `skip` method is used, the API slider will function as normal","but will perform no API calls and will not bind automatically to state","updates. This may be used to create a component interface and attach to","slider events manually via JavaScript."].join(" ")},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}],description:["Sets the arguments values to be passed to the Plotly","method set in `method` on slide."].join(" ")},label:{valType:"string",description:"Sets the text label to appear on the slider"},value:{valType:"string",description:["Sets the value of the slider step, used to refer to the step programatically.","Defaults to the slider label if not provided."].join(" ")},execute:{valType:"boolean",dflt:!0,description:["When true, the API method is executed. When false, all other behaviors are the same","and command execution is skipped. This may be useful when hooking into, for example,","the `plotly_sliderchange` method and executing the API command manually without losing","the benefit of the slider automatically binding to the state of the plot through the","specification of `method` and `args`."].join(" ")}});s7.exports=Qce(o7("slider",{visible:{valType:"boolean",dflt:!0,description:["Determines whether or not the slider is visible."].join(" ")},active:{valType:"number",min:0,dflt:0,description:["Determines which button (by index starting from 0) is","considered active."].join(" ")},steps:Kce,lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction",description:["Determines whether this slider length","is set in units of plot *fraction* or in *pixels.","Use `len` to set the value."].join(" ")},len:{valType:"number",min:0,dflt:1,description:["Sets the length of the slider","This measure excludes the padding of both ends.","That is, the slider's length is this length minus the","padding on both ends."].join(" ")},x:{valType:"number",min:-2,max:3,dflt:0,description:"Sets the x position (in normalized coordinates) of the slider."},pad:Xce(Zce({editType:"arraydraw"}),{description:"Set the padding of the slider component along each side."},{t:{dflt:20}}),xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",description:["Sets the slider's horizontal position anchor.","This anchor binds the `x` position to the *left*, *center*","or *right* of the range selector."].join(" ")},y:{valType:"number",min:-2,max:3,dflt:0,description:"Sets the y position (in normalized coordinates) of the slider."},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top",description:["Sets the slider's vertical position anchor","This anchor binds the `y` position to the *top*, *middle*","or *bottom* of the range selector."].join(" ")},transition:{duration:{valType:"number",min:0,dflt:150,description:"Sets the duration of the slider transition"},easing:{valType:"enumerated",values:$ce.transition.easing.values,dflt:"cubic-in-out",description:"Sets the easing function of the slider transition"}},currentvalue:{visible:{valType:"boolean",dflt:!0,description:["Shows the currently-selected value above the slider."].join(" ")},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left",description:["The alignment of the value readout relative to the length of the slider."].join(" ")},offset:{valType:"number",dflt:10,description:["The amount of space, in pixels, between the current value label","and the slider."].join(" ")},prefix:{valType:"string",description:"When currentvalue.visible is true, this sets the prefix of the label."},suffix:{valType:"string",description:"When currentvalue.visible is true, this sets the suffix of the label."},font:i7({description:"Sets the font of the current value label text."})},font:i7({description:"Sets the font of the slider step labels."}),activebgcolor:{valType:"color",dflt:ms.gripBgActiveColor,description:["Sets the background color of the slider grip","while dragging."].join(" ")},bgcolor:{valType:"color",dflt:ms.railBgColor,description:"Sets the background color of the slider."},bordercolor:{valType:"color",dflt:ms.railBorderColor,description:"Sets the color of the border enclosing the slider."},borderwidth:{valType:"number",min:0,dflt:ms.railBorderWidth,description:"Sets the width (in px) of the border enclosing the slider."},ticklen:{valType:"number",min:0,dflt:ms.tickLength,description:"Sets the length in pixels of step tick marks"},tickcolor:{valType:"color",dflt:ms.tickColor,description:"Sets the color of the border enclosing the slider."},tickwidth:{valType:"number",min:0,dflt:1,description:"Sets the tick width (in px)."},minorticklen:{valType:"number",min:0,dflt:ms.minorTickLength,description:"Sets the length in pixels of minor step tick marks"}}),"arraydraw","from-root")});var c7=E((kwe,f7)=>{"use strict";var Yl=Pe(),l7=Pn(),u7=q1(),Jce=lc(),ede=Jce.name,tde=u7.steps;f7.exports=function(t,r){l7(t,r,{name:ede,handleItemDefaults:rde})};function rde(e,t,r){function a(d,h){return Yl.coerce(e,t,u7,d,h)}for(var n=l7(e,t,{name:"steps",handleItemDefaults:ade}),i=0,o=0;o{"use strict";var Un=Et(),sp=Er(),vo=qt(),Gn=Kt(),tn=Pe(),nde=tn.strTranslate,uc=Oa(),ide=tr().arrayEditor,kt=lc(),D1=Ma(),d7=D1.LINE_SPACING,P1=D1.FROM_TL,R1=D1.FROM_BR;x7.exports=function(t){var r=t._fullLayout,a=ode(r,t),n=r._infolayer.selectAll("g."+kt.containerClassName).data(a.length>0?[0]:[]);n.enter().append("g").classed(kt.containerClassName,!0).style("cursor","ew-resize");function i(u){u._commandObserver&&(u._commandObserver.remove(),delete u._commandObserver),sp.autoMargin(t,h7(u))}if(n.exit().each(function(){Un.select(this).selectAll("g."+kt.groupClassName).each(i)}).remove(),a.length!==0){var o=n.selectAll("g."+kt.groupClassName).data(a,sde);o.enter().append("g").classed(kt.groupClassName,!0),o.exit().each(i).remove();for(var s=0;s0&&(s=s.transition().duration(t.transition.duration).ease(t.transition.easing)),s.attr("transform",nde(o-kt.gripWidth*.5,t._dims.currentValueTotalHeight))}}function I1(e,t){var r=e._dims;return r.inputAreaStart+kt.stepInset+(r.inputAreaLength-2*kt.stepInset)*Math.min(1,Math.max(0,t))}function b7(e,t){var r=e._dims;return Math.min(1,Math.max(0,(t-kt.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*kt.stepInset-2*r.inputAreaStart)))}function vde(e,t,r){var a=r._dims,n=tn.ensureSingle(e,"rect",kt.railTouchRectClass,function(i){i.call(g7,t,e,r).style("pointer-events","all")});n.attr({width:a.inputAreaLength,height:Math.max(a.inputAreaWidth,kt.tickOffset+r.ticklen+a.labelHeight)}).call(vo.fill,r.bgcolor).attr("opacity",0),Gn.setTranslate(n,0,a.currentValueTotalHeight)}function pde(e,t){var r=t._dims,a=r.inputAreaLength-kt.railInset*2,n=tn.ensureSingle(e,"rect",kt.railRectClass);n.attr({width:a,height:kt.railWidth,rx:kt.railRadius,ry:kt.railRadius,"shape-rendering":"crispEdges"}).call(vo.stroke,t.bordercolor).call(vo.fill,t.bgcolor).style("stroke-width",t.borderwidth+"px"),Gn.setTranslate(n,kt.railInset,(r.inputAreaWidth-kt.railWidth)*.5+r.currentValueTotalHeight)}});var T7=E((Swe,w7)=>{"use strict";var mde=lc();w7.exports={moduleType:"component",name:mde.name,layoutAttributes:q1(),supplyLayoutDefaults:c7(),draw:_7()}});var up=E((Cwe,k7)=>{"use strict";var A7=vi();k7.exports={bgcolor:{valType:"color",dflt:A7.background,editType:"plot",description:"Sets the background color of the range slider."},bordercolor:{valType:"color",dflt:A7.defaultLine,editType:"plot",description:"Sets the border color of the range slider."},borderwidth:{valType:"integer",dflt:0,min:0,editType:"plot",description:"Sets the border width of the range slider."},autorange:{valType:"boolean",dflt:!0,editType:"calc",impliedEdits:{"range[0]":void 0,"range[1]":void 0},description:["Determines whether or not the range slider range is","computed in relation to the input data.","If `range` is provided, then `autorange` is set to *false*."].join(" ")},range:{valType:"info_array",items:[{valType:"any",editType:"calc",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"calc",impliedEdits:{"^autorange":!1}}],editType:"calc",impliedEdits:{autorange:!1},description:["Sets the range of the range slider.","If not set, defaults to the full xaxis range.","If the axis `type` is *log*, then you must take the","log of your desired range.","If the axis `type` is *date*, it should be date strings,","like date data, though Date objects and unix milliseconds","will be accepted and converted to strings.","If the axis `type` is *category*, it should be numbers,","using the scale where each category is assigned a serial","number from zero in the order it appears."].join(" ")},thickness:{valType:"number",dflt:.15,min:0,max:1,editType:"plot",description:["The height of the range slider as a fraction of the","total plot area height."].join(" ")},visible:{valType:"boolean",dflt:!0,editType:"calc",description:["Determines whether or not the range slider will be visible.","If visible, perpendicular axes will be set to `fixedrange`"].join(" ")},editType:"calc"}});var E1=E((Lwe,M7)=>{"use strict";M7.exports={_isSubplotObj:!0,rangemode:{valType:"enumerated",values:["auto","fixed","match"],dflt:"match",editType:"calc",description:["Determines whether or not the range of this axis in","the rangeslider use the same value than in the main plot","when zooming in/out.","If *auto*, the autorange will be used.","If *fixed*, the `range` is used.","If *match*, the current range of the corresponding y-axis on the main subplot is used."].join(" ")},range:{valType:"info_array",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot",description:["Sets the range of this axis for the rangeslider."].join(" ")},editType:"calc"}});var fp=E((qwe,S7)=>{"use strict";S7.exports={name:"rangeslider",containerClassName:"rangeslider-container",bgClassName:"rangeslider-bg",rangePlotClassName:"rangeslider-rangeplot",maskMinClassName:"rangeslider-mask-min",maskMaxClassName:"rangeslider-mask-max",slideBoxClassName:"rangeslider-slidebox",grabberMinClassName:"rangeslider-grabber-min",grabAreaMinClassName:"rangeslider-grabarea-min",handleMinClassName:"rangeslider-handle-min",grabberMaxClassName:"rangeslider-grabber-max",grabAreaMaxClassName:"rangeslider-grabarea-max",handleMaxClassName:"rangeslider-handle-max",maskMinOppAxisClassName:"rangeslider-mask-min-opp-axis",maskMaxOppAxisClassName:"rangeslider-mask-max-opp-axis",maskColor:"rgba(0,0,0,0.4)",maskOppAxisColor:"rgba(0,0,0,0.2)",slideBoxFill:"transparent",slideBoxCursor:"ew-resize",grabAreaFill:"transparent",grabAreaCursor:"col-resize",grabAreaWidth:10,handleWidth:4,handleRadius:1,handleStrokeWidth:1,extraPad:15}});var q7=E(dp=>{"use strict";var gde=jr(),yde=Oa(),C7=fp(),bde=Ma().LINE_SPACING,cp=C7.name;function L7(e){var t=e&&e[cp];return t&&t.visible}dp.isVisible=L7;dp.makeData=function(e){var t=gde.list({_fullLayout:e},"x",!0),r=e.margin,a=[];if(!e._has("gl2d"))for(var n=0;n{"use strict";var hp=Pe(),D7=tr(),P7=jr(),xde=up(),_de=E1();R7.exports=function(t,r,a){var n=t[a],i=r[a];if(!(n.rangeslider||r._requestRangeslider[i._id]))return;hp.isPlainObject(n.rangeslider)||(n.rangeslider={});var o=n.rangeslider,s=D7.newContainer(i,"rangeslider");function l(k,L){return hp.coerce(o,s,xde,k,L)}var u,c;function d(k,L){return hp.coerce(u,c,_de,k,L)}var h=l("visible");if(!!h){l("bgcolor",r.plot_bgcolor),l("bordercolor"),l("borderwidth"),l("thickness"),l("autorange",!i.isValidRange(o.range)),l("range");var p=r._subplots;if(p)for(var g=p.cartesian.filter(function(k){return k.substr(0,k.indexOf("y"))===P7.name2id(a)}).map(function(k){return k.substr(k.indexOf("y"),k.length)}),m=hp.simpleMap(g,P7.id2name),b=0;b{"use strict";var wde=jr().list,Tde=nf().getAutoRange,Ade=fp();E7.exports=function(t){for(var r=wde(t,"x",!0),a=0;a{"use strict";var vp=Et(),kde=vt(),Mde=Er(),yr=Pe(),pp=yr.strTranslate,N7=Kt(),Zl=qt(),Sde=rf(),Cde=Jv(),z1=jr(),Lde=In(),qde=ro(),Dt=fp();F7.exports=function(e){for(var t=e._fullLayout,r=t._rangeSliderData,a=0;a=X.max)W=F[Y+1];else if(V=X.pmax)W=F[Y+1];else if(V{"use strict";var Hde=Pe(),Bde=up(),Ude=E1(),N1=q7();O7.exports={moduleType:"component",name:"rangeslider",schema:{subplots:{xaxis:{rangeslider:Hde.extendFlat({},Bde,{yaxis:Ude})}}},layoutAttributes:up(),handleDefaults:I7(),calcAutorange:z7(),draw:j7(),isVisible:N1.isVisible,makeData:N1.makeData,autoMarginOpts:N1.autoMarginOpts}});var mp=E((zwe,U7)=>{"use strict";var Gde=ka(),B7=vi(),Wde=tr().templatedArray,Vde=Wde("button",{visible:{valType:"boolean",dflt:!0,editType:"plot",description:"Determines whether or not this button is visible."},step:{valType:"enumerated",values:["month","year","day","hour","minute","second","all"],dflt:"month",editType:"plot",description:["The unit of measurement that the `count` value will set the range by."].join(" ")},stepmode:{valType:"enumerated",values:["backward","todate"],dflt:"backward",editType:"plot",description:["Sets the range update mode.","If *backward*, the range update shifts the start of range","back *count* times *step* milliseconds.","If *todate*, the range update shifts the start of range","back to the first timestamp from *count* times","*step* milliseconds back.","For example, with `step` set to *year* and `count` set to *1*","the range update shifts the start of the range back to","January 01 of the current year.","Month and year *todate* are currently available only","for the built-in (Gregorian) calendar."].join(" ")},count:{valType:"number",min:0,dflt:1,editType:"plot",description:["Sets the number of steps to take to update the range.","Use with `step` to specify the update interval."].join(" ")},label:{valType:"string",editType:"plot",description:"Sets the text label to appear on the button."},editType:"plot",description:["Sets the specifications for each buttons.","By default, a range selector comes with no buttons."].join(" ")});U7.exports={visible:{valType:"boolean",editType:"plot",description:["Determines whether or not this range selector is visible.","Note that range selectors are only available for x axes of","`type` set to or auto-typed to *date*."].join(" ")},buttons:Vde,x:{valType:"number",min:-2,max:3,editType:"plot",description:"Sets the x position (in normalized coordinates) of the range selector."},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",editType:"plot",description:["Sets the range selector's horizontal position anchor.","This anchor binds the `x` position to the *left*, *center*","or *right* of the range selector."].join(" ")},y:{valType:"number",min:-2,max:3,editType:"plot",description:"Sets the y position (in normalized coordinates) of the range selector."},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"bottom",editType:"plot",description:["Sets the range selector's vertical position anchor","This anchor binds the `y` position to the *top*, *middle*","or *bottom* of the range selector."].join(" ")},font:Gde({editType:"plot",description:"Sets the font of the range selector button text."}),bgcolor:{valType:"color",dflt:B7.lightLine,editType:"plot",description:"Sets the background color of the range selector buttons."},activecolor:{valType:"color",editType:"plot",description:"Sets the background color of the active range selector button."},bordercolor:{valType:"color",dflt:B7.defaultLine,editType:"plot",description:"Sets the color of the border enclosing the range selector."},borderwidth:{valType:"number",min:0,dflt:0,editType:"plot",description:"Sets the width (in px) of the border enclosing the range selector."},editType:"plot"}});var F1=E((Nwe,G7)=>{"use strict";G7.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}});var Y7=E((Fwe,V7)=>{"use strict";var gp=Pe(),Yde=qt(),Zde=tr(),Xde=Pn(),W7=mp(),j1=F1();V7.exports=function(t,r,a,n,i){var o=t.rangeselector||{},s=Zde.newContainer(r,"rangeselector");function l(p,g){return gp.coerce(o,s,W7,p,g)}var u=Xde(o,s,{name:"buttons",handleItemDefaults:Qde,calendar:i}),c=l("visible",u.length>0);if(c){var d=$de(r,a,n);l("x",d[0]),l("y",d[1]),gp.noneOrAll(t,r,["x","y"]),l("xanchor"),l("yanchor"),gp.coerceFont(l,"font",a.font);var h=l("bgcolor");l("activecolor",Yde.contrast(h,j1.lightAmount,j1.darkAmount)),l("bordercolor"),l("borderwidth")}};function Qde(e,t,r,a){var n=a.calendar;function i(l,u){return gp.coerce(e,t,W7.buttons,l,u)}var o=i("visible");if(o){var s=i("step");s!=="all"&&(n&&n!=="gregorian"&&(s==="month"||s==="year")?t.stepmode="backward":i("stepmode"),i("count")),i("label")}}function $de(e,t,r){for(var a=r.filter(function(s){return t[s].anchor===e._id}),n=0,i=0;i{"use strict";var Kde=Hm(),Jde=Pe().titleCase;Z7.exports=function(t,r){var a=t._name,n={};if(r.step==="all")n[a+".autorange"]=!0;else{var i=ehe(t,r);n[a+".range[0]"]=i[0],n[a+".range[1]"]=i[1]}return n};function ehe(e,t){var r=e.range,a=new Date(e.r2l(r[1])),n=t.step,i=Kde["utc"+Jde(n)],o=t.count,s;switch(t.stepmode){case"backward":s=e.l2r(+i.offset(a,-o));break;case"todate":var l=i.offset(a,-o);s=e.l2r(+i.ceil(l));break}var u=r[1];return[s,u]}});var aF=E((Owe,rF)=>{"use strict";var yp=Et(),the=vt(),rhe=Er(),Q7=qt(),$7=Kt(),Ii=Pe(),K7=Ii.strTranslate,bp=Oa(),ahe=jr(),O1=Ma(),J7=O1.LINE_SPACING,eF=O1.FROM_TL,tF=O1.FROM_BR,H1=F1(),nhe=X7();rF.exports=function(t){var r=t._fullLayout,a=r._infolayer.selectAll(".rangeselector").data(ihe(t),ohe);a.enter().append("g").classed("rangeselector",!0),a.exit().remove(),a.style({cursor:"pointer","pointer-events":"all"}),a.each(function(n){var i=yp.select(this),o=n,s=o.rangeselector,l=i.selectAll("g.button").data(Ii.filterVisible(s.buttons));l.enter().append("g").classed("button",!0),l.exit().remove(),l.each(function(u){var c=yp.select(this),d=nhe(o,u);u._isActive=she(o,u,d),c.call(B1,s,u),c.call(uhe,s,u,t),c.on("click",function(){t._dragged||the.call("_guiRelayout",t,d)}),c.on("mouseover",function(){u._isHovered=!0,c.call(B1,s,u)}),c.on("mouseout",function(){u._isHovered=!1,c.call(B1,s,u)})}),che(t,l,s,o._name,i)})};function ihe(e){for(var t=ahe.list(e,"x",!0),r=[],a=0;a{"use strict";nF.exports={moduleType:"component",name:"rangeselector",schema:{subplots:{xaxis:{rangeselector:mp()}}},layoutAttributes:mp(),handleDefaults:Y7(),draw:aF()}});var sF=E(U1=>{"use strict";var oF=Jr().extendFlat;U1.attributes=function(e,t){e=e||{},t=t||{};var r={valType:"info_array",editType:e.editType,items:[{valType:"number",min:0,max:1,editType:e.editType},{valType:"number",min:0,max:1,editType:e.editType}],dflt:[0,1]},a=e.name?e.name+" ":"",n=e.trace?"trace ":"subplot ",i=t.description?" "+t.description:"",o={x:oF({},r,{description:["Sets the horizontal domain of this ",a,n,"(in plot fraction).",i].join("")}),y:oF({},r,{description:["Sets the vertical domain of this ",a,n,"(in plot fraction).",i].join("")}),editType:e.editType};return e.noGridCell||(o.row={valType:"integer",min:0,dflt:0,editType:e.editType,description:["If there is a layout grid, use the domain ","for this row in the grid for this ",a,n,".",i].join("")},o.column={valType:"integer",min:0,dflt:0,editType:e.editType,description:["If there is a layout grid, use the domain ","for this column in the grid for this ",a,n,".",i].join("")}),o};U1.defaults=function(e,t,r,a){var n=a&&a.x||[0,1],i=a&&a.y||[0,1],o=t.grid;if(o){var s=r("domain.column");s!==void 0&&(s{"use strict";var dhe=Pe(),hhe=Zs().counter,vhe=sF().attributes,lF=ha().idRegex,phe=tr(),G1={rows:{valType:"integer",min:1,editType:"plot",description:["The number of rows in the grid. If you provide a 2D `subplots`","array or a `yaxes` array, its length is used as the default.","But it's also possible to have a different length, if you","want to leave a row at the end for non-cartesian subplots."].join(" ")},roworder:{valType:"enumerated",values:["top to bottom","bottom to top"],dflt:"top to bottom",editType:"plot",description:["Is the first row the top or the bottom? Note that columns","are always enumerated from left to right."].join(" ")},columns:{valType:"integer",min:1,editType:"plot",description:["The number of columns in the grid. If you provide a 2D `subplots`","array, the length of its longest row is used as the default.","If you give an `xaxes` array, its length is used as the default.","But it's also possible to have a different length, if you","want to leave a row at the end for non-cartesian subplots."].join(" ")},subplots:{valType:"info_array",freeLength:!0,dimensions:2,items:{valType:"enumerated",values:[hhe("xy").toString(),""],editType:"plot"},editType:"plot",description:["Used for freeform grids, where some axes may be shared across subplots","but others are not. Each entry should be a cartesian subplot id, like","*xy* or *x3y2*, or ** to leave that cell empty. You may reuse x axes","within the same column, and y axes within the same row.","Non-cartesian subplots and traces that support `domain` can place themselves","in this grid separately using the `gridcell` attribute."].join(" ")},xaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[lF.x.toString(),""],editType:"plot"},editType:"plot",description:["Used with `yaxes` when the x and y axes are shared across columns and rows.","Each entry should be an x axis id like *x*, *x2*, etc., or ** to","not put an x axis in that column. Entries other than ** must be unique.","Ignored if `subplots` is present. If missing but `yaxes` is present,","will generate consecutive IDs."].join(" ")},yaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[lF.y.toString(),""],editType:"plot"},editType:"plot",description:["Used with `yaxes` when the x and y axes are shared across columns and rows.","Each entry should be an y axis id like *y*, *y2*, etc., or ** to","not put a y axis in that row. Entries other than ** must be unique.","Ignored if `subplots` is present. If missing but `xaxes` is present,","will generate consecutive IDs."].join(" ")},pattern:{valType:"enumerated",values:["independent","coupled"],dflt:"coupled",editType:"plot",description:["If no `subplots`, `xaxes`, or `yaxes` are given but we do have `rows` and `columns`,","we can generate defaults using consecutive axis IDs, in two ways:","*coupled* gives one x axis per column and one y axis per row.","*independent* uses a new xy pair for each cell, left-to-right across each row","then iterating rows according to `roworder`."].join(" ")},xgap:{valType:"number",min:0,max:1,editType:"plot",description:["Horizontal space between grid cells, expressed as a fraction","of the total width available to one cell. Defaults to 0.1","for coupled-axes grids and 0.2 for independent grids."].join(" ")},ygap:{valType:"number",min:0,max:1,editType:"plot",description:["Vertical space between grid cells, expressed as a fraction","of the total height available to one cell. Defaults to 0.1","for coupled-axes grids and 0.3 for independent grids."].join(" ")},domain:vhe({name:"grid",editType:"plot",noGridCell:!0},{description:["The first and last cells end exactly at the domain","edges, with no grout around the edges."].join(" ")}),xside:{valType:"enumerated",values:["bottom","bottom plot","top plot","top"],dflt:"bottom plot",editType:"plot",description:["Sets where the x axis labels and titles go. *bottom* means","the very bottom of the grid. *bottom plot* is the lowest plot","that each x axis is used in. *top* and *top plot* are similar."].join(" ")},yside:{valType:"enumerated",values:["left","left plot","right plot","right"],dflt:"left plot",editType:"plot",description:["Sets where the y axis labels and titles go. *left* means","the very left edge of the grid. *left plot* is the leftmost plot","that each y axis is used in. *right* and *right plot* are similar."].join(" ")},editType:"plot"};function xp(e,t,r){var a=t[r+"axes"],n=Object.keys((e._splomAxes||{})[r]||{});if(Array.isArray(a))return a;if(n.length)return n}function mhe(e,t){var r=e.grid||{},a=xp(t,r,"x"),n=xp(t,r,"y");if(!e.grid&&!a&&!n)return;var i=Array.isArray(r.subplots)&&Array.isArray(r.subplots[0]),o=Array.isArray(a),s=Array.isArray(n),l=o&&a!==r.xaxes&&s&&n!==r.yaxes,u,c;i?(u=r.subplots.length,c=r.subplots[0].length):(s&&(u=n.length),o&&(c=a.length));var d=phe.newContainer(t,"grid");function h(L,S){return dhe.coerce(r,d,G1,L,S)}var p=h("rows",u),g=h("columns",c);if(!(p*g>1)){delete t.grid;return}if(!i&&!o&&!s){var m=h("pattern")==="independent";m&&(i=!0)}d._hasSubplotGrid=i;var b=h("roworder"),_=b==="top to bottom",x=i?.2:.1,A=i?.3:.1,w,k;l&&t._splomGridDflt&&(w=t._splomGridDflt.xside,k=t._splomGridDflt.yside),d._domains={x:uF("x",h,x,w,g),y:uF("y",h,A,k,p,_)}}function uF(e,t,r,a,n,i){var o=t(e+"gap",r),s=t("domain."+e);t(e+"side",a);for(var l=new Array(n),u=s[0],c=(s[1]-u)/(n-o),d=c*(1-o),h=0;h{"use strict";hF.exports={visible:{valType:"boolean",editType:"calc",description:["Determines whether or not this set of error bars is visible."].join(" ")},type:{valType:"enumerated",values:["percent","constant","sqrt","data"],editType:"calc",description:["Determines the rule used to generate the error bars.","If *constant`, the bar lengths are of a constant value.","Set this constant in `value`.","If *percent*, the bar lengths correspond to a percentage of","underlying data. Set this percentage in `value`.","If *sqrt*, the bar lengths correspond to the square of the","underlying data.","If *data*, the bar lengths are set with data set `array`."].join(" ")},symmetric:{valType:"boolean",editType:"calc",description:["Determines whether or not the error bars have the same length","in both direction","(top/bottom for vertical bars, left/right for horizontal bars."].join(" ")},array:{valType:"data_array",editType:"calc",description:["Sets the data corresponding the length of each error bar.","Values are plotted relative to the underlying data."].join(" ")},arrayminus:{valType:"data_array",editType:"calc",description:["Sets the data corresponding the length of each error bar in the","bottom (left) direction for vertical (horizontal) bars","Values are plotted relative to the underlying data."].join(" ")},value:{valType:"number",min:0,dflt:10,editType:"calc",description:["Sets the value of either the percentage","(if `type` is set to *percent*) or the constant","(if `type` is set to *constant*) corresponding to the lengths of","the error bars."].join(" ")},valueminus:{valType:"number",min:0,dflt:10,editType:"calc",description:["Sets the value of either the percentage","(if `type` is set to *percent*) or the constant","(if `type` is set to *constant*) corresponding to the lengths of","the error bars in the","bottom (left) direction for vertical (horizontal) bars"].join(" ")},traceref:{valType:"integer",min:0,dflt:0,editType:"style"},tracerefminus:{valType:"integer",min:0,dflt:0,editType:"style"},copy_ystyle:{valType:"boolean",editType:"plot"},copy_zstyle:{valType:"boolean",editType:"style"},color:{valType:"color",editType:"style",description:"Sets the stoke color of the error bars."},thickness:{valType:"number",min:0,dflt:2,editType:"style",description:"Sets the thickness (in px) of the error bars."},width:{valType:"number",min:0,editType:"plot",description:["Sets the width (in px) of the cross-bar at both ends","of the error bars."].join(" ")},editType:"calc",_deprecated:{opacity:{valType:"number",editType:"style",description:["Obsolete.","Use the alpha channel in error bar `color` to set the opacity."].join(" ")}}}});var mF=E((Wwe,pF)=>{"use strict";var vF=zt(),yhe=vt(),bhe=Pe(),xhe=tr(),_he=W1();pF.exports=function(e,t,r,a){var n="error_"+a.axis,i=xhe.newContainer(t,n),o=e[n]||{};function s(g,m){return bhe.coerce(o,i,_he,g,m)}var l=o.array!==void 0||o.value!==void 0||o.type==="sqrt",u=s("visible",l);if(u!==!1){var c=s("type","array"in o?"data":"percent"),d=!0;c!=="sqrt"&&(d=s("symmetric",!((c==="data"?"arrayminus":"valueminus")in o))),c==="data"?(s("array"),s("traceref"),d||(s("arrayminus"),s("tracerefminus"))):(c==="percent"||c==="constant")&&(s("value"),d||s("valueminus"));var h="copy_"+a.inherit+"style";if(a.inherit){var p=t["error_"+a.inherit];(p||{}).visible&&s(h,!(o.color||vF(o.thickness)||vF(o.width)))}(!a.inherit||!i[h])&&(s("color",r),s("thickness"),s("width",yhe.traceIs(t,"gl3d")?0:4))}}});var V1=E((Vwe,yF)=>{"use strict";yF.exports=function(t){var r=t.type,a=t.symmetric;if(r==="data"){var n=t.array||[];if(a)return function(u,c){var d=+n[c];return[d,d]};var i=t.arrayminus||[];return function(u,c){var d=+n[c],h=+i[c];return!isNaN(d)||!isNaN(h)?[h||0,d||0]:[NaN,NaN]}}else{var o=gF(r,t.value),s=gF(r,t.valueminus);return a||t.valueminus===void 0?function(u){var c=o(u);return[c,c]}:function(u){return[s(u),o(u)]}}};function gF(e,t){if(e==="percent")return function(r){return Math.abs(r*t/100)};if(e==="constant")return function(){return Math.abs(t)};if(e==="sqrt")return function(r){return Math.sqrt(Math.abs(r))}}});var _F=E((Ywe,xF)=>{"use strict";var Y1=zt(),whe=vt(),Z1=Jt(),The=Pe(),Ahe=V1();xF.exports=function(t){for(var r=t.calcdata,a=0;a{"use strict";var wF=Et(),po=zt(),khe=Kt(),Mhe=Qa();TF.exports=function(t,r,a,n){var i,o=a.xaxis,s=a.yaxis,l=n&&n.duration>0;r.each(function(u){var c=u[0].trace,d=c.error_x||{},h=c.error_y||{},p;c.ids&&(p=function(_){return _.id});var g=Mhe.hasMarkers(c)&&c.marker.maxdisplayed>0;!h.visible&&!d.visible&&(u=[]);var m=wF.select(this).selectAll("g.errorbar").data(u,p);if(m.exit().remove(),!!u.length){d.visible||m.selectAll("path.xerror").remove(),h.visible||m.selectAll("path.yerror").remove(),m.style("opacity",1);var b=m.enter().append("g").classed("errorbar",!0);l&&b.style("opacity",0).transition().duration(n.duration).style("opacity",1),khe.setClipUrl(m,a.layerClipId,t),m.each(function(_){var x=wF.select(this),A=She(_,o,s);if(!(g&&!_.vis)){var w,k=x.select("path.yerror");if(h.visible&&po(A.x)&&po(A.yh)&&po(A.ys)){var L=h.width;w="M"+(A.x-L)+","+A.yh+"h"+2*L+"m-"+L+",0V"+A.ys,A.noYS||(w+="m-"+L+",0h"+2*L),i=!k.size(),i?k=x.append("path").style("vector-effect","non-scaling-stroke").classed("yerror",!0):l&&(k=k.transition().duration(n.duration).ease(n.easing)),k.attr("d",w)}else k.remove();var S=x.select("path.xerror");if(d.visible&&po(A.y)&&po(A.xh)&&po(A.xs)){var q=(d.copy_ystyle?h:d).width;w="M"+A.xh+","+(A.y-q)+"v"+2*q+"m0,-"+q+"H"+A.xs,A.noXS||(w+="m0,-"+q+"v"+2*q),i=!S.size(),i?S=x.append("path").style("vector-effect","non-scaling-stroke").classed("xerror",!0):l&&(S=S.transition().duration(n.duration).ease(n.easing)),S.attr("d",w)}else S.remove()}})}})};function She(e,t,r){var a={x:t.c2p(e.x),y:r.c2p(e.y)};return e.yh!==void 0&&(a.yh=r.c2p(e.yh),a.ys=r.c2p(e.ys),po(a.ys)||(a.noYS=!0,a.ys=r.c2p(e.ys,!0))),e.xh!==void 0&&(a.xh=t.c2p(e.xh),a.xs=t.c2p(e.xs),po(a.xs)||(a.noXS=!0,a.xs=t.c2p(e.xs,!0))),a}});var SF=E((Xwe,MF)=>{"use strict";var Che=Et(),kF=qt();MF.exports=function(t){t.each(function(r){var a=r[0].trace,n=a.error_y||{},i=a.error_x||{},o=Che.select(this);o.selectAll("path.yerror").style("stroke-width",n.thickness+"px").call(kF.stroke,n.color),i.copy_ystyle&&(i=n),o.selectAll("path.xerror").style("stroke-width",i.thickness+"px").call(kF.stroke,i.color)})}});var qF=E((Qwe,LF)=>{"use strict";var fc=Pe(),CF=_i().overrideAll,cc=W1(),gs={error_x:fc.extendFlat({},cc),error_y:fc.extendFlat({},cc)};delete gs.error_x.copy_zstyle;delete gs.error_y.copy_zstyle;delete gs.error_y.copy_ystyle;var dc={error_x:fc.extendFlat({},cc),error_y:fc.extendFlat({},cc),error_z:fc.extendFlat({},cc)};delete dc.error_x.copy_ystyle;delete dc.error_y.copy_ystyle;delete dc.error_z.copy_ystyle;delete dc.error_z.copy_zstyle;LF.exports={moduleType:"component",name:"errorbars",schema:{traces:{scatter:gs,bar:gs,histogram:gs,scatter3d:CF(dc,"calc","nested"),scattergl:CF(gs,"calc","nested")}},supplyDefaults:mF(),calc:_F(),makeComputeError:V1(),plot:AF(),style:SF(),hoverInfo:Lhe};function Lhe(e,t,r){(t.error_y||{}).visible&&(r.yerr=e.yh-e.y,t.error_y.symmetric||(r.yerrneg=e.y-e.ys)),(t.error_x||{}).visible&&(r.xerr=e.xh-e.x,t.error_x.symmetric||(r.xerrneg=e.x-e.xs))}});var PF=E(($we,DF)=>{"use strict";DF.exports={cn:{colorbar:"colorbar",cbbg:"cbbg",cbfill:"cbfill",cbfills:"cbfills",cbline:"cbline",cblines:"cblines",cbaxis:"cbaxis",cbtitleunshift:"cbtitleunshift",cbtitle:"cbtitle",cboutline:"cboutline",crisp:"crisp",jsPlaceholder:"js-placeholder"}}});var jF=E((Kwe,FF)=>{"use strict";var mo=Et(),X1=Ln(),_p=Er(),RF=vt(),Ei=Jt(),wp=In(),An=Pe(),Wn=An.strTranslate,IF=Jr().extendFlat,Q1=ro(),Vn=Kt(),$1=qt(),qhe=rf(),Dhe=Oa(),Phe=fn().flipScale,Rhe=o1(),Ihe=s1(),Ehe=ti(),K1=Ma(),EF=K1.LINE_SPACING,zF=K1.FROM_TL,NF=K1.FROM_BR,fr=PF().cn;function zhe(e){var t=e._fullLayout,r=t._infolayer.selectAll("g."+fr.colorbar).data(Nhe(e),function(a){return a._id});r.enter().append("g").attr("class",function(a){return a._id}).classed(fr.colorbar,!0),r.each(function(a){var n=mo.select(this);An.ensureSingle(n,"rect",fr.cbbg),An.ensureSingle(n,"g",fr.cbfills),An.ensureSingle(n,"g",fr.cblines),An.ensureSingle(n,"g",fr.cbaxis,function(o){o.classed(fr.crisp,!0)}),An.ensureSingle(n,"g",fr.cbtitleunshift,function(o){o.append("g").classed(fr.cbtitle,!0)}),An.ensureSingle(n,"rect",fr.cboutline);var i=Fhe(n,a,e);i&&i.then&&(e._promises||[]).push(i),e._context.edits.colorbarPosition&&jhe(n,a,e)}),r.exit().each(function(a){_p.autoMargin(e,a._id)}).remove(),r.order()}function Nhe(e){var t=e._fullLayout,r=e.calcdata,a=[],n,i,o,s;function l(A){return IF(A,{_fillcolor:null,_line:{color:null,width:null,dash:null},_levels:{start:null,end:null,size:null},_filllevels:null,_fillgradient:null,_zrange:null})}function u(){typeof s.calc=="function"?s.calc(e,o,n):(n._fillgradient=i.reversescale?Phe(i.colorscale):i.colorscale,n._zrange=[i[s.min],i[s.max]])}for(var c=0;c1){var qe=Math.pow(10,Math.floor(Math.log(Me)/Math.LN10));ee*=qe*An.roundUp(Me/qe,[2,5,10]),(Math.abs(I.start)/I.size+1e-6)%1<2e-6&&(re.tick0=0)}re.dtick=ee}re.domain=a?[le+g/x.h,le+Y-g/x.h]:[le+p/x.w,le+Y-p/x.w],re.setScale(),e.attr("transform",Wn(Math.round(x.l),Math.round(x.t)));var De=e.select("."+fr.cbtitleunshift).attr("transform",Wn(-Math.round(x.l),-Math.round(x.t))),Ce=re.ticklabelposition,U=re.title.font.size,Q=e.select("."+fr.cbaxis),O,ie=0,be=0;function xe(Ve,rt){var Je={propContainer:re,propName:t._propPrefix+"title",traceIndex:t._traceIndex,_meta:t._meta,placeholder:_._dfltTitle.colorbar,containerGroup:e.select("."+fr.cbtitle)},ut=Ve.charAt(0)==="h"?Ve.substr(1):"h"+Ve;e.selectAll("."+ut+",."+ut+"-math-group").remove(),qhe.draw(r,Ve,IF(Je,rt||{}))}function Le(){if(a&&_e||!a&&!_e){var Ve,rt;L==="top"&&(Ve=p+x.l+x.w*m,rt=g+x.t+x.h*(1-le-Y)+3+U*.75),L==="bottom"&&(Ve=p+x.l+x.w*m,rt=g+x.t+x.h*(1-le)-3-U*.25),L==="right"&&(rt=g+x.t+x.h*b+3+U*.75,Ve=p+x.l+x.w*le),xe(re._id+"title",{attributes:{x:Ve,y:rt,"text-anchor":a?"start":"middle"}})}}function Fe(){if(a&&!_e||!a&&_e){var Ve=re.position||0,rt=re._offset+re._length/2,Je,ut;if(L==="right")ut=rt,Je=x.l+x.w*Ve+10+U*(re.showticklabels?1:.5);else if(Je=rt,L==="bottom"&&(ut=x.t+x.h*Ve+10+(Ce.indexOf("inside")===-1?re.tickfont.size:0)+(re.ticks!=="intside"&&t.ticklen||0)),L==="top"){var ht=k.text.split("
").length;ut=x.t+x.h*Ve+10-G-EF*U*ht}xe((a?"h":"v")+re._id+"title",{avoid:{selection:mo.select(r).selectAll("g."+re._id+"tick"),side:L,offsetTop:a?0:x.t,offsetLeft:a?x.l:0,maxShift:a?_.width:_.height},attributes:{x:Je,y:ut,"text-anchor":"middle"},transform:{rotate:a?-90:0,offset:0}})}}function Te(){if(!a&&!_e||a&&_e){var Ve=e.select("."+fr.cbtitle),rt=Ve.select("text"),Je=[-l/2,l/2],ut=Ve.select(".h"+re._id+"title-math-group").node(),ht=15.6;rt.node()&&(ht=parseInt(rt.node().style.fontSize,10)*EF);var ue;if(ut?(ue=Vn.bBox(ut),be=ue.width,ie=ue.height,ie>ht&&(Je[1]-=(ie-ht)/2)):rt.node()&&!rt.classed(fr.jsPlaceholder)&&(ue=Vn.bBox(rt.node()),be=ue.width,ie=ue.height),a){if(ie){if(ie+=5,L==="top")re.domain[1]-=ie/x.h,Je[1]*=-1;else{re.domain[0]+=ie/x.h;var he=Dhe.lineCount(rt);Je[1]+=(1-he)*ht}Ve.attr("transform",Wn(Je[0],Je[1])),re.setScale()}}else be&&(L==="right"&&(re.domain[0]+=(be+U/2)/x.w),Ve.attr("transform",Wn(Je[0],Je[1])),re.setScale())}e.selectAll("."+fr.cbfills+",."+fr.cblines).attr("transform",a?Wn(0,Math.round(x.h*(1-re.domain[1]))):Wn(Math.round(x.w*re.domain[0]),0)),Q.attr("transform",a?Wn(0,Math.round(-x.t)):Wn(Math.round(-x.l),0));var Oe=e.select("."+fr.cbfills).selectAll("rect."+fr.cbfill).attr("style","").data(N);Oe.enter().append("rect").classed(fr.cbfill,!0).style("stroke","none"),Oe.exit().remove();var Ue=S.map(re.c2p).map(Math.round).sort(function(ze,Ne){return ze-Ne});Oe.each(function(ze,Ne){var Ge=[Ne===0?S[0]:(N[Ne]+N[Ne-1])/2,Ne===N.length-1?S[1]:(N[Ne]+N[Ne+1])/2].map(re.c2p).map(Math.round);a&&(Ge[1]=An.constrain(Ge[1]+(Ge[1]>Ge[0])?1:-1,Ue[0],Ue[1]));var ft=mo.select(this).attr(a?"x":"y",X).attr(a?"y":"x",mo.min(Ge)).attr(a?"width":"height",Math.max(G,2)).attr(a?"height":"width",Math.max(mo.max(Ge)-mo.min(Ge),2));if(t._fillgradient)Vn.gradient(ft,r,t._id,a?"vertical":"horizontalreversed",t._fillgradient,"fill");else{var yt=P(ze).replace("e-","");ft.attr("fill",X1(yt).toHexString())}});var je=e.select("."+fr.cblines).selectAll("path."+fr.cbline).data(w.color&&w.width?j:[]);je.enter().append("path").classed(fr.cbline,!0),je.exit().remove(),je.each(function(ze){var Ne=X,Ge=Math.round(re.c2p(ze))+w.width/2%1;mo.select(this).attr("d","M"+(a?Ne+","+Ge:Ge+","+Ne)+(a?"h":"v")+G).call(Vn.lineGroupStyle,w.width,q(ze),w.dash)}),Q.selectAll("g."+re._id+"tick,path").remove();var ye=X+G+(l||0)/2-(t.ticks==="outside"?1:0),we=Ei.calcTicks(re),Ee=Ei.getTickSigns(re)[2];return Ei.drawTicks(r,re,{vals:re.ticks==="inside"?Ei.clipEnds(re,we):we,layer:Q,path:Ei.makeTickPath(re,ye,Ee),transFn:Ei.makeTransTickFn(re)}),Ei.drawLabels(r,re,{vals:we,layer:Q,transFn:Ei.makeTransTickLabelFn(re),labelFns:Ei.makeLabelFns(re,ye)})}function at(){var Ve,rt=G+l/2;Ce.indexOf("inside")===-1&&(Ve=Vn.bBox(Q.node()),rt+=a?Ve.width:Ve.height),O=De.select("text");var Je=0,ut=a&&L==="top",ht=!a&&L==="right",ue=0;if(O.node()&&!O.classed(fr.jsPlaceholder)){var he,Oe=De.select(".h"+re._id+"title-math-group").node();Oe&&(a&&_e||!a&&!_e)?(Ve=Vn.bBox(Oe),Je=Ve.width,he=Ve.height):(Ve=Vn.bBox(De.node()),Je=Ve.right-x.l-(a?X:ge),he=Ve.bottom-x.t-(a?ge:X),!a&&L==="top"&&(rt+=Ve.height,ue=Ve.height)),ht&&(O.attr("transform",Wn(Je/2+U/2,0)),Je*=2),rt=Math.max(rt,a?Je:he)}var Ue=(a?p:g)*2+rt+u+l/2,je=0;!a&&k.text&&h==="bottom"&&b<=0&&(je=Ue/2,Ue+=je,ue+=je),_._hColorbarMoveTitle=je,_._hColorbarMoveCBTitle=ue;var ye=u+l;e.select("."+fr.cbbg).attr("x",(a?X:ge)-ye/2-(a?p:0)).attr("y",(a?ge:X)-(a?W:g+ue-je)).attr(a?"width":"height",Math.max(Ue-je,2)).attr(a?"height":"width",Math.max(W+ye,2)).call($1.fill,c).call($1.stroke,t.bordercolor).style("stroke-width",u);var we=ht?Math.max(Je-10,0):0;if(e.selectAll("."+fr.cboutline).attr("x",(a?X:ge+p)+we).attr("y",(a?ge+g-W:X)+(ut?ie:0)).attr(a?"width":"height",Math.max(G,2)).attr(a?"height":"width",Math.max(W-(a?2*g+ie:2*p+we),2)).call($1.stroke,t.outlinecolor).style({fill:"none","stroke-width":l}),e.attr("transform",Wn(x.l-(a?$*Ue:0),x.t-(a?0:(1-ae)*Ue-ue))),!a&&(u||X1(c).getAlpha()&&!X1.equals(_.paper_bgcolor,c))){var Ee=Q.selectAll("text"),ze=Ee[0].length,Ne=e.select("."+fr.cbbg).node(),Ge=Vn.bBox(Ne),ft=Vn.getTranslate(e),yt=2;Ee.each(function(Tt,Ct){var ne=0,Ae=ze-1;if(Ct===ne||Ct===Ae){var Se=Vn.bBox(this),He=Vn.getTranslate(this),Lt;if(Ct===Ae){var hr=Se.right+He.x,Ur=Ge.right+ft.x+ge-u-yt+m;Lt=Ur-hr,Lt>0&&(Lt=0)}else if(Ct===ne){var Pr=Se.left+He.x,cr=Ge.left+ft.x+ge+u+yt;Lt=cr-Pr,Lt<0&&(Lt=0)}Lt&&(ze<3?this.setAttribute("transform","translate("+Lt+",0) "+this.getAttribute("transform")):this.setAttribute("visibility","hidden"))}})}var st={},Pt=zF[d],Mt=NF[d],ot=zF[h],Rt=NF[h],St=Ue-G;a?(i==="pixels"?(st.y=b,st.t=W*ot,st.b=W*Rt):(st.t=st.b=0,st.yt=b+n*ot,st.yb=b-n*Rt),s==="pixels"?(st.x=m,st.l=Ue*Pt,st.r=Ue*Mt):(st.l=St*Pt,st.r=St*Mt,st.xl=m-o*Pt,st.xr=m+o*Mt)):(i==="pixels"?(st.x=m,st.l=W*Pt,st.r=W*Mt):(st.l=st.r=0,st.xl=m+n*Pt,st.xr=m-n*Mt),s==="pixels"?(st.y=1-b,st.t=Ue*ot,st.b=Ue*Rt):(st.t=St*ot,st.b=St*Rt,st.yt=b-o*ot,st.yb=b+o*Rt)),_p.autoMargin(r,t._id,st)}return An.syncOrAsync([_p.previousPromises,Le,Te,Fe,_p.previousPromises,at],r)}function jhe(e,t,r){var a=t.orientation==="v",n=r._fullLayout,i=n._size,o,s,l;wp.init({element:e.node(),gd:r,prepFn:function(){o=e.attr("transform"),Q1(e)},moveFn:function(u,c){e.attr("transform",o+Wn(u,c)),s=wp.align((a?t._uFrac:t._vFrac)+u/i.w,a?t._thickFrac:t._lenFrac,0,1,t.xanchor),l=wp.align((a?t._vFrac:1-t._uFrac)-c/i.h,a?t._lenFrac:t._thickFrac,0,1,t.yanchor);var d=wp.getCursor(s,l,t.xanchor,t.yanchor);Q1(e,d)},doneFn:function(){if(Q1(e),s!==void 0&&l!==void 0){var u={};u[t._propPrefix+"x"]=s,u[t._propPrefix+"y"]=l,t._traceIndex!==void 0?RF.call("_guiRestyle",r,u,t._traceIndex):RF.call("_guiRelayout",r,u)}}})}function Ohe(e,t,r){var a=t._levels,n=[],i=[],o,s,l=a.end+a.size/100,u=a.size,c=1.001*r[0]-.001*r[1],d=1.001*r[1]-.001*r[0];for(s=0;s<1e5&&(o=a.start+s*u,!(u>0?o>=l:o<=l));s++)o>c&&o0?o>=l:o<=l));s++)o>r[0]&&o{"use strict";OF.exports={moduleType:"component",name:"colorbar",attributes:oh(),supplyDefaults:ny(),draw:jF().draw,hasColorbar:Zg()}});var UF=E((e2e,BF)=>{"use strict";BF.exports={moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],periods:["AM","PM"],dateTime:"%a %b %e %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",decimal:".",thousands:",",grouping:[3],currency:["$",""],year:"%Y",month:"%b %Y",dayMonth:"%b %-d",dayMonthYear:"%b %-d, %Y"}}});var WF=E((t2e,GF)=>{"use strict";GF.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}});var ex=E((r2e,XF)=>{"use strict";var Bhe=vt(),VF=Pe(),J1=VF.extendFlat,YF=VF.extendDeep;function ZF(e){var t;switch(e){case"themes__thumb":t={autosize:!0,width:150,height:150,title:{text:""},showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case"thumbnail":t={title:{text:""},hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:"",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:t={}}return t}function Uhe(e){var t=["xaxis","yaxis","zaxis"];return t.indexOf(e.slice(0,5))>-1}XF.exports=function(t,r){var a,n=t.data,i=t.layout,o=YF([],n),s=YF({},i,ZF(r.tileClass)),l=t._context||{};if(r.width&&(s.width=r.width),r.height&&(s.height=r.height),r.tileClass==="thumbnail"||r.tileClass==="themes__thumb"){s.annotations=[];var u=Object.keys(s);for(a=0;a{"use strict";var Ghe=Zd().EventEmitter,Whe=vt(),Vhe=Pe(),QF=fs(),Yhe=ex(),Zhe=jv(),Xhe=Ov();function Qhe(e,t){var r=new Ghe,a=Yhe(e,{format:"png"}),n=a.gd;n.style.position="absolute",n.style.left="-5000px",document.body.appendChild(n);function i(){var s=QF.getDelay(n._fullLayout);setTimeout(function(){var l=Zhe(n),u=document.createElement("canvas");u.id=Vhe.randstr(),r=Xhe({format:t.format,width:n._fullLayout.width,height:n._fullLayout.height,canvas:u,emitter:r,svg:l}),r.clean=function(){n&&document.body.removeChild(n)}},s)}var o=QF.getRedrawFunc(n);return Whe.call("_doPlot",n,a.data,a.layout,a.config).then(o).then(i).catch(function(s){r.emit("error",s)}),r}$F.exports=Qhe});var t9=E((n2e,e9)=>{"use strict";var JF=fs(),$he={getDelay:JF.getDelay,getRedrawFunc:JF.getRedrawFunc,clone:ex(),toSVG:jv(),svgToImg:Ov(),toImage:KF(),downloadImage:Rb()};e9.exports=$he});var a9=E(zi=>{"use strict";zi.version=cd().version;LM();eL();var Khe=vt(),hc=zi.register=Khe.register,tx=pE(),r9=Object.keys(tx);for(Tp=0;Tp{"use strict";n9.exports=a9()});var ax=E((s2e,o9)=>{"use strict";o9.exports={TEXTPAD:3,eventDataKeys:["value","label"]}});var vc=E((l2e,f9)=>{"use strict";var Dr=ql(),s9=ih().axisHoverFormat,Jhe=Ef().hovertemplateAttrs,eve=Ef().texttemplateAttrs,l9=Ju(),tve=ka(),u9=ax(),rve=pi().pattern,ys=Jr().extendFlat,nx=tve({editType:"calc",arrayOk:!0,colorEditType:"style",description:""}),ave=Dr.marker,nve=ave.line,ive=ys({},nve.width,{dflt:0}),ove=ys({width:ive,editType:"calc"},l9("marker.line")),sve=ys({line:ove,editType:"calc"},l9("marker"),{opacity:{valType:"number",arrayOk:!0,dflt:1,min:0,max:1,editType:"style",description:"Sets the opacity of the bars."},pattern:rve});f9.exports={x:Dr.x,x0:Dr.x0,dx:Dr.dx,y:Dr.y,y0:Dr.y0,dy:Dr.dy,xperiod:Dr.xperiod,yperiod:Dr.yperiod,xperiod0:Dr.xperiod0,yperiod0:Dr.yperiod0,xperiodalignment:Dr.xperiodalignment,yperiodalignment:Dr.yperiodalignment,xhoverformat:s9("x"),yhoverformat:s9("y"),text:Dr.text,texttemplate:eve({editType:"plot"},{keys:u9.eventDataKeys}),hovertext:Dr.hovertext,hovertemplate:Jhe({},{keys:u9.eventDataKeys}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"calc",description:["Specifies the location of the `text`.","*inside* positions `text` inside, next to the bar end","(rotated and scaled if needed).","*outside* positions `text` outside, next to the bar end","(scaled if needed), unless there is another bar stacked on","this one, then the text gets pushed inside.","*auto* tries to position `text` inside the bar, but if","the bar is too small and no bar is stacked on this one","the text is moved outside.","If *none*, no text appears."].join(" ")},insidetextanchor:{valType:"enumerated",values:["end","middle","start"],dflt:"end",editType:"plot",description:["Determines if texts are kept at center or start/end points in `textposition` *inside* mode."].join(" ")},textangle:{valType:"angle",dflt:"auto",editType:"plot",description:["Sets the angle of the tick labels with respect to the bar.","For example, a `tickangle` of -90 draws the tick labels","vertically. With *auto* the texts may automatically be","rotated to fit with the maximum size in bars."].join(" ")},textfont:ys({},nx,{description:"Sets the font used for `text`."}),insidetextfont:ys({},nx,{description:"Sets the font used for `text` lying inside the bar."}),outsidetextfont:ys({},nx,{description:"Sets the font used for `text` lying outside the bar."}),constraintext:{valType:"enumerated",values:["inside","outside","both","none"],dflt:"both",editType:"calc",description:["Constrain the size of text inside or outside a bar to be no","larger than the bar itself."].join(" ")},cliponaxis:ys({},Dr.cliponaxis,{description:["Determines whether the text nodes","are clipped about the subplot axes.","To show the text nodes above axis lines and tick labels,","make sure to set `xaxis.layer` and `yaxis.layer` to *below traces*."].join(" ")}),orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes",description:["Sets the orientation of the bars.","With *v* (*h*), the value of the each bar spans","along the vertical (horizontal)."].join(" ")},base:{valType:"any",dflt:null,arrayOk:!0,editType:"calc",description:["Sets where the bar base is drawn (in position axis units).","In *stack* or *relative* barmode,","traces that set *base* will be excluded","and drawn in *overlay* mode instead."].join(" ")},offset:{valType:"number",dflt:null,arrayOk:!0,editType:"calc",description:["Shifts the position where the bar is drawn","(in position axis units).","In *group* barmode,","traces that set *offset* will be excluded","and drawn in *overlay* mode instead."].join(" ")},width:{valType:"number",dflt:null,min:0,arrayOk:!0,editType:"calc",description:["Sets the bar width (in position axis units)."].join(" ")},marker:sve,offsetgroup:{valType:"string",dflt:"",editType:"calc",description:["Set several traces linked to the same position axis","or matching axes to the same","offsetgroup where bars of the same position coordinate will line up."].join(" ")},alignmentgroup:{valType:"string",dflt:"",editType:"calc",description:["Set several traces linked to the same position axis","or matching axes to the same","alignmentgroup. This controls whether bars compute their positional","range dependently or independently."].join(" ")},selected:{marker:{opacity:Dr.selected.marker.opacity,color:Dr.selected.marker.color,editType:"style"},textfont:Dr.selected.textfont,editType:"style"},unselected:{marker:{opacity:Dr.unselected.marker.opacity,color:Dr.unselected.marker.color,editType:"style"},textfont:Dr.unselected.textfont,editType:"style"},_deprecated:{bardir:{valType:"enumerated",editType:"calc",values:["v","h"],description:"Renamed to `orientation`."}}}});var ix=E((u2e,c9)=>{"use strict";c9.exports={barmode:{valType:"enumerated",values:["stack","group","overlay","relative"],dflt:"group",editType:"calc",description:["Determines how bars at the same location coordinate","are displayed on the graph.","With *stack*, the bars are stacked on top of one another","With *relative*, the bars are stacked on top of one another,","with negative values below the axis, positive values above","With *group*, the bars are plotted next to one another","centered around the shared location.","With *overlay*, the bars are plotted over one another,","you might need to an *opacity* to see multiple bars."].join(" ")},barnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc",description:["Sets the normalization for bar traces on the graph.","With *fraction*, the value of each bar is divided by the sum of all","values at that location coordinate.","*percent* is the same but multiplied by 100 to show percentages."].join(" ")},bargap:{valType:"number",min:0,max:1,editType:"calc",description:["Sets the gap (in plot fraction) between bars of","adjacent location coordinates."].join(" ")},bargroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc",description:["Sets the gap (in plot fraction) between bars of","the same location coordinate."].join(" ")}}});var p9=E((f2e,v9)=>{"use strict";var lve=qt(),d9=fn().hasColorscale,h9=dl(),uve=Pe().coercePattern;v9.exports=function(t,r,a,n,i){var o=a("marker.color",n),s=d9(t,"marker");s&&h9(t,r,i,a,{prefix:"marker.",cLetter:"c"}),a("marker.line.color",lve.defaultLine),d9(t,"marker.line")&&h9(t,r,i,a,{prefix:"marker.line.",cLetter:"c"}),a("marker.line.width"),a("marker.opacity"),uve(a,"marker.pattern",o,s),a("selected.marker.color"),a("unselected.marker.color")}});var ox=E((c2e,x9)=>{"use strict";var Ql=Pe(),m9=qt(),fve=vt(),cve=zb(),dve=Nb(),hve=p9(),vve=gf().getAxisGroup,g9=vc(),kp=Ql.coerceFont;function pve(e,t,r,a){function n(u,c){return Ql.coerce(e,t,g9,u,c)}var i=cve(e,t,a,n);if(!i){t.visible=!1;return}dve(e,t,a,n),n("xhoverformat"),n("yhoverformat"),n("orientation",t.x&&!t.y?"h":"v"),n("base"),n("offset"),n("width"),n("text"),n("hovertext"),n("hovertemplate");var o=n("textposition");b9(e,t,a,n,o,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),hve(e,t,n,r,a);var s=(t.marker.line||{}).color,l=fve.getComponentMethod("errorbars","supplyDefaults");l(e,t,s||m9.defaultLine,{axis:"y"}),l(e,t,s||m9.defaultLine,{axis:"x",inherit:"y"}),Ql.coerceSelectionMarkerOpacity(t,n)}function y9(e,t,r,a){var n=t.orientation,i=t[{v:"x",h:"y"}[n]+"axis"],o=vve(r,i)+n,s=r._alignmentOpts||{},l=a("alignmentgroup"),u=s[o];u||(u=s[o]={});var c=u[l];c?c.traces.push(t):c=u[l]={traces:[t],alignmentIndex:Object.keys(u).length,offsetGroups:{}};var d=a("offsetgroup"),h=c.offsetGroups,p=h[d];d&&(p||(p=h[d]={offsetIndex:Object.keys(h).length}),t._offsetIndex=p.offsetIndex)}function mve(e,t){var r,a;function n(o){return Ql.coerce(a._input,a,g9,o)}if(t.barmode==="group")for(var i=0;i{"use strict";var gve=vt(),yve=Jt(),bve=Pe(),xve=ix();_9.exports=function(e,t,r){function a(p,g){return bve.coerce(e,t,xve,p,g)}for(var n=!1,i=!1,o=!1,s={},l=a("barmode"),u=0;u{"use strict";var $l=Pe();T9.exports=function(t,r){for(var a=0;a{"use strict";var A9=Jt(),k9=Fb(),M9=fn().hasColorscale,S9=lh(),_ve=sx(),wve=Bb();C9.exports=function(t,r){var a=A9.getFromId(t,r.xaxis||"x"),n=A9.getFromId(t,r.yaxis||"y"),i,o,s,l,u,c,d={msUTC:!!(r.base||r.base===0)};r.orientation==="h"?(i=a.makeCalcdata(r,"x",d),s=n.makeCalcdata(r,"y"),l=k9(r,n,"y",s),u=!!r.yperiodalignment,c="y"):(i=n.makeCalcdata(r,"y",d),s=a.makeCalcdata(r,"x"),l=k9(r,a,"x",s),u=!!r.xperiodalignment,c="x"),o=l.vals;for(var h=Math.min(o.length,i.length),p=new Array(h),g=0;g{"use strict";q9.exports=Mp;var Tve=Pe().distinctVals,Ave=_r().BADNUM;function Mp(e,t){this.traces=e,this.sepNegVal=t.sepNegVal,this.overlapNoMerge=t.overlapNoMerge;for(var r=1/0,a=[],n=0;n{"use strict";var go=zt(),lx=Pe().isArrayOrTypedArray,Kl=_r().BADNUM,kve=vt(),pc=Jt(),Mve=gf().getAxisGroup,Sp=D9();function Sve(e,t){for(var r=t.xaxis,a=t.yaxis,n=e._fullLayout,i=e._fullData,o=e.calcdata,s=[],l=[],u=0;ul+o||!go(s))}for(var c=0;c{"use strict";var Eve=Et(),zve=Pe();function Nve(e,t,r){var a=e._fullLayout,n=a["_"+r+"Text_minsize"];if(n){var i=a.uniformtext.mode==="hide",o;switch(r){case"funnelarea":case"pie":case"sunburst":o="g.slice";break;case"treemap":case"icicle":o="g.slice, g.pathbar";break;default:o="g.points > g.point"}t.selectAll(o).each(function(s){var l=s.transform;if(l){l.scale=i&&l.hide?0:n/l.fontSize;var u=Eve.select(this).select("text");u.attr("transform",zve.getTextTransform(l))}})}}function Fve(e,t,r){if(r.uniformtext.mode){var a=O9(e),n=r.uniformtext.minsize,i=t.scale*t.fontSize;t.hide=i{"use strict";var Ove=zt(),Hve=Ln(),Bve=Pe().isArrayOrTypedArray;bs.coerceString=function(e,t,r){if(typeof t=="string"){if(t||!e.noBlank)return t}else if((typeof t=="number"||t===!0)&&!e.strict)return String(t);return r!==void 0?r:e.dflt};bs.coerceNumber=function(e,t,r){if(Ove(t)){t=+t;var a=e.min,n=e.max,i=a!==void 0&&tn;if(!i)return t}return r!==void 0?r:e.dflt};bs.coerceColor=function(e,t,r){return Hve(t).isValid()?t:r!==void 0?r:e.dflt};bs.coerceEnumerated=function(e,t,r){return e.coerceNumber&&(t=+t),e.values.indexOf(t)!==-1?t:r!==void 0?r:e.dflt};bs.getValue=function(e,t){var r;return Array.isArray(e)?t{"use strict";var gc=Et(),Uve=qt(),yc=Kt(),B9=Pe(),U9=vt(),G9=dx().resizeText,hx=vc(),Gve=hx.textfont,Wve=hx.insidetextfont,Vve=hx.outsidetextfont,Jl=Cp();function Yve(e){var t=gc.select(e).selectAll("g.barlayer").selectAll("g.trace");G9(e,t,"bar");var r=t.size(),a=e._fullLayout;t.style("opacity",function(n){return n[0].trace.opacity}).each(function(n){(a.barmode==="stack"&&r>1||a.bargap===0&&a.bargroupgap===0&&!n[0].trace.marker.line.width)&&gc.select(this).attr("shape-rendering","crispEdges")}),t.selectAll("g.points").each(function(n){var i=gc.select(this),o=n[0].trace;W9(i,o,e)}),U9.getComponentMethod("errorbars","style")(t)}function W9(e,t,r){yc.pointStyle(e.selectAll("path"),t,r),V9(e,t,r)}function V9(e,t,r){e.selectAll("text").each(function(a){var n=gc.select(this),i=B9.ensureUniformFontSize(r,Y9(n,a,t,r));yc.font(n,i)})}function Zve(e,t,r){var a=t[0].trace;a.selectedpoints?Xve(r,a,e):(W9(r,a,e),U9.getComponentMethod("errorbars","style")(r))}function Xve(e,t,r){yc.selectedPointStyle(e.selectAll("path"),t),Qve(e.selectAll("text"),t,r)}function Qve(e,t,r){e.each(function(a){var n=gc.select(this),i;if(a.selected){i=B9.ensureUniformFontSize(r,Y9(n,a,t,r));var o=t.selected.textfont&&t.selected.textfont.color;o&&(i.color=o),yc.font(n,i)}else yc.selectedTextStyle(n,t)})}function Y9(e,t,r,a){var n=a._fullLayout.font,i=r.textfont;if(e.classed("bartext-inside")){var o=$9(t,r);i=X9(r,t.i,n,o)}else e.classed("bartext-outside")&&(i=Q9(r,t.i,n));return i}function Z9(e,t,r){return vx(Gve,e.textfont,t,r)}function X9(e,t,r,a){var n=Z9(e,t,r),i=e._input.textfont===void 0||e._input.textfont.color===void 0||Array.isArray(e.textfont.color)&&e.textfont.color[t]===void 0;return i&&(n={color:Uve.contrast(a),family:n.family,size:n.size}),vx(Wve,e.insidetextfont,t,n)}function Q9(e,t,r){var a=Z9(e,t,r);return vx(Vve,e.outsidetextfont,t,a)}function vx(e,t,r,a){t=t||{};var n=Jl.getValue(t.family,r),i=Jl.getValue(t.size,r),o=Jl.getValue(t.color,r);return{family:Jl.coerceString(e.family,n,a.family),size:Jl.coerceNumber(e.size,i,a.size),color:Jl.coerceColor(e.color,o,a.color)}}function $9(e,t){return t.type==="waterfall"?t[e.dir].marker.color:e.mcc||e.mc||t.marker.color}K9.exports={style:Yve,styleTextPoints:V9,styleOnSelect:Zve,getInsideTextFont:X9,getOutsideTextFont:Q9,getBarColor:$9,resizeText:G9}});var sj=E((x2e,oj)=>{"use strict";var qp=Et(),Dp=zt(),Yr=Pe(),$ve=Oa(),Kve=qt(),yo=Kt(),Jve=vt(),Pp=Jt().tickText,J9=dx(),epe=J9.recordMinTextSize,tpe=J9.clearMinTextSize,px=Lp(),eu=Cp(),rpe=ax(),ej=vc(),ape=ej.text,npe=ej.textposition,ipe=Ti().appendArrayPointValue,Yn=rpe.TEXTPAD;function ope(e){return e.id}function spe(e){if(e.ids)return ope}function bo(e,t){return e0}function upe(e,t,r,a,n,i){var o=t.xaxis,s=t.yaxis,l=e._fullLayout;n||(n={mode:l.barmode,norm:l.barmode,gap:l.bargap,groupgap:l.bargroupgap},tpe("bar",l));var u=Yr.makeTraceGroups(a,r,"trace bars").each(function(c){var d=qp.select(this),h=c[0].trace,p=h.type==="waterfall",g=h.type==="funnel",m=h.type==="bar",b=m||g,_=0;p&&h.connector.visible&&h.connector.mode==="between"&&(_=h.connector.line.width/2);var x=h.orientation==="h",A=rj(n),w=Yr.ensureSingle(d,"g","points"),k=spe(h),L=w.selectAll("g.point").data(Yr.identity,k);L.enter().append("g").classed("point",!0),L.exit().remove(),L.each(function(q,P){var I=qp.select(this),F=lpe(q,o,s,x),N=F[0][0],j=F[0][1],G=F[1][0],V=F[1][1],W=(x?j-N:V-G)==0;W&&b&&eu.getLineWidth(h,q)&&(W=!1),W||(W=!Dp(N)||!Dp(j)||!Dp(G)||!Dp(V)),q.isBlank=W,W&&(x?j=N:V=G),_&&!W&&(x?(N-=bo(N,j)*_,j+=bo(N,j)*_):(G-=bo(G,V)*_,V+=bo(G,V)*_));var Y,X;if(h.type==="waterfall"){if(!W){var $=h[q.dir].marker;Y=$.line.width,X=$.color}}else Y=eu.getLineWidth(h,q),X=q.mc||h.marker.color;function ae(ee){var ke=qp.round(Y/2%1,2);return n.gap===0&&n.groupgap===0?qp.round(Math.round(ee)-ke,2):ee}function te(ee,ke,Me){return Me&&ee===ke?ee:Math.abs(ee-ke)>=2?ae(ee):ee>ke?Math.ceil(ee):Math.floor(ee)}if(!e._context.staticPlot){var le=Kve.opacity(X),ge=le<1||Y>.01?ae:te;N=ge(N,j,x),j=ge(j,N,x),G=ge(G,V,!x),V=ge(V,G,!x)}var re=tj(Yr.ensureSingle(I,"path"),l,n,i);if(re.style("vector-effect","non-scaling-stroke").attr("d",isNaN((j-N)*(V-G))||W&&e._context.staticPlot?"M0,0Z":"M"+N+","+G+"V"+V+"H"+j+"V"+G+"Z").call(yo.setClipUrl,t.layerClipId,e),!l.uniformtext.mode&&A){var _e=yo.makePointStyleFns(h);yo.singlePointStyle(q,re,h,_e,e)}fpe(e,t,I,c,P,N,j,G,V,n,i),t.layerClipId&&yo.hideOutsideRangePoint(q,I.select("text"),o,s,h.xcalendar,h.ycalendar)});var S=h.cliponaxis===!1;yo.setClipUrl(d,S?null:t.layerClipId,e)});Jve.getComponentMethod("errorbars","plot")(e,u,t,n)}function fpe(e,t,r,a,n,i,o,s,l,u,c){var d=t.xaxis,h=t.yaxis,p=e._fullLayout,g;function m(ee,ke,Me){var qe=Yr.ensureSingle(ee,"text").text(ke).attr({class:"bartext bartext-"+g,"text-anchor":"middle","data-notex":1}).call(yo.font,Me).call($ve.convertToTspans,e);return qe}var b=a[0].trace,_=b.orientation==="h",x=dpe(p,a,n,d,h);g=hpe(b,n);var A=u.mode==="stack"||u.mode==="relative",w=a[n],k=!A||w._outmost;if(!x||g==="none"||(w.isBlank||i===o||s===l)&&(g==="auto"||g==="inside")){r.select("text").remove();return}var L=p.font,S=px.getBarColor(a[n],b),q=px.getInsideTextFont(b,n,L,S),P=px.getOutsideTextFont(b,n,L),I=r.datum();_?d.type==="log"&&I.s0<=0&&(d.range[0]0&&W>0,$=V<=F&&W<=N,ae=V<=N&&W<=F,te=_?F>=V*(N/W):N>=W*(F/V);X&&($||ae||te)?g="inside":(g="outside",j.remove(),j=null)}else g="inside";if(!j){Y=Yr.ensureUniformFontSize(e,g==="outside"?P:q),j=m(r,x,Y);var le=j.attr("transform");if(j.attr("transform",""),G=yo.bBox(j.node()),V=G.width,W=G.height,j.attr("transform",le),V<=0||W<=0){j.remove();return}}var ge=b.textangle,re,_e;g==="outside"?(_e=b.constraintext==="both"||b.constraintext==="outside",re=cpe(i,o,s,l,G,{isHorizontal:_,constrained:_e,angle:ge})):(_e=b.constraintext==="both"||b.constraintext==="inside",re=ij(i,o,s,l,G,{isHorizontal:_,constrained:_e,angle:ge,anchor:b.insidetextanchor})),re.fontSize=Y.size,epe(b.type==="histogram"?"bar":b.type,re,p),w.transform=re,tj(j,p,u,c).attr("transform",Yr.getTextTransform(re))}function aj(e){return e==="auto"?0:e}function nj(e,t){var r=Math.PI/180*t,a=Math.abs(Math.sin(r)),n=Math.abs(Math.cos(r));return{x:e.width*n+e.height*a,y:e.width*a+e.height*n}}function ij(e,t,r,a,n,i){var o=!!i.isHorizontal,s=!!i.constrained,l=i.angle||0,u=i.anchor||"end",c=u==="end",d=u==="start",h=i.leftToRight||0,p=(h+1)/2,g=1-p,m=n.width,b=n.height,_=Math.abs(t-e),x=Math.abs(a-r),A=_>2*Yn&&x>2*Yn?Yn:0;_-=2*A,x-=2*A;var w=aj(l);l==="auto"&&!(m<=_&&b<=x)&&(m>_||b>x)&&(!(m>x||b>_)||m2*Yn?Yn:0:p=d>2*Yn?Yn:0;var g=1;s&&(g=o?Math.min(1,h/c):Math.min(1,d/u));var m=aj(l),b=nj(n,m),_=(o?b.x:b.y)/2,x=(n.left+n.right)/2,A=(n.top+n.bottom)/2,w=(e+t)/2,k=(r+a)/2,L=0,S=0,q=o?bo(t,e):bo(r,a);return o?(w=t-q*p,L=q*_):(k=a+q*p,S=-q*_),{textX:x,textY:A,targetX:w,targetY:k,anchorX:L,anchorY:S,scale:g,rotate:m}}function dpe(e,t,r,a,n){var i=t[0].trace,o=i.texttemplate,s;return o?s=vpe(e,t,r,a,n):i.textinfo?s=ppe(t,r,a,n):s=eu.getValue(i.text,r),eu.coerceString(ape,s)}function hpe(e,t){var r=eu.getValue(e.textposition,t);return eu.coerceEnumerated(npe,r)}function vpe(e,t,r,a,n){var i=t[0].trace,o=Yr.castOption(i,r,"texttemplate");if(!o)return"";var s=i.type==="histogram",l=i.type==="waterfall",u=i.type==="funnel",c=i.orientation==="h",d,h,p,g;c?(d="y",h=n,p="x",g=a):(d="x",h=a,p="y",g=n);function m(L){return Pp(h,h.c2l(L),!0).text}function b(L){return Pp(g,g.c2l(L),!0).text}var _=t[r],x={};x.label=_.p,x.labelLabel=x[d+"Label"]=m(_.p);var A=Yr.castOption(i,_.i,"text");(A===0||A)&&(x.text=A),x.value=_.s,x.valueLabel=x[p+"Label"]=b(_.s);var w={};ipe(w,i,_.i),(s||w.x===void 0)&&(w.x=c?x.value:x.label),(s||w.y===void 0)&&(w.y=c?x.label:x.value),(s||w.xLabel===void 0)&&(w.xLabel=c?x.valueLabel:x.labelLabel),(s||w.yLabel===void 0)&&(w.yLabel=c?x.labelLabel:x.valueLabel),l&&(x.delta=+_.rawS||_.s,x.deltaLabel=b(x.delta),x.final=_.v,x.finalLabel=b(x.final),x.initial=x.final-x.delta,x.initialLabel=b(x.initial)),u&&(x.value=_.s,x.valueLabel=b(x.value),x.percentInitial=_.begR,x.percentInitialLabel=Yr.formatPercent(_.begR),x.percentPrevious=_.difR,x.percentPreviousLabel=Yr.formatPercent(_.difR),x.percentTotal=_.sumR,x.percenTotalLabel=Yr.formatPercent(_.sumR));var k=Yr.castOption(i,_.i,"customdata");return k&&(x.customdata=k),Yr.texttemplateString(o,x,e._d3locale,w,x,i._meta||{})}function ppe(e,t,r,a){var n=e[0].trace,i=n.orientation==="h",o=n.type==="waterfall",s=n.type==="funnel";function l(k){var L=i?a:r;return Pp(L,k,!0).text}function u(k){var L=i?r:a;return Pp(L,+k,!0).text}var c=n.textinfo,d=e[t],h=c.split("+"),p=[],g,m=function(k){return h.indexOf(k)!==-1};if(m("label")&&p.push(l(e[t].p)),m("text")&&(g=Yr.castOption(n,d.i,"text"),(g===0||g)&&p.push(g)),o){var b=+d.rawS||d.s,_=d.v,x=_-b;m("initial")&&p.push(u(x)),m("delta")&&p.push(u(b)),m("final")&&p.push(u(_))}if(s){m("value")&&p.push(u(d.s));var A=0;m("percent initial")&&A++,m("percent previous")&&A++,m("percent total")&&A++;var w=A>1;m("percent initial")&&(g=Yr.formatPercent(d.begR),w&&(g+=" of initial"),p.push(g)),m("percent previous")&&(g=Yr.formatPercent(d.difR),w&&(g+=" of previous"),p.push(g)),m("percent total")&&(g=Yr.formatPercent(d.sumR),w&&(g+=" of total"),p.push(g))}return p.join("
")}oj.exports={plot:upe,toMoveInsideBar:ij}});var dj=E((_2e,cj)=>{"use strict";var bc=Si(),mpe=vt(),lj=qt(),gpe=Pe().fillText,ype=Cp().getLineWidth,mx=Jt().hoverLabelText,bpe=_r().BADNUM;function xpe(e,t,r,a,n){var i=uj(e,t,r,a,n);if(i){var o=i.cd,s=o[0].trace,l=o[i.index];return i.color=fj(s,l),mpe.getComponentMethod("errorbars","hoverInfo")(l,s,i),[i]}}function uj(e,t,r,a,n){var i=e.cd,o=i[0].trace,s=i[0].t,l=a==="closest",u=o.type==="waterfall",c=e.maxHoverDistance,d=e.maxSpikeDistance,h,p,g,m,b,_,x;o.orientation==="h"?(h=r,p=t,g="y",m="x",b=V,_=N):(h=t,p=r,g="x",m="y",_=V,b=N);var A=o[g+"period"],w=l||A;function k(ee){return S(ee,-1)}function L(ee){return S(ee,1)}function S(ee,ke){var Me=ee.w;return ee[g]+ke*Me/2}function q(ee){return ee[g+"End"]-ee[g+"Start"]}var P=l?k:A?function(ee){return ee.p-q(ee)/2}:function(ee){return Math.min(k(ee),ee.p-s.bardelta/2)},I=l?L:A?function(ee){return ee.p+q(ee)/2}:function(ee){return Math.max(L(ee),ee.p+s.bardelta/2)};function F(ee,ke,Me){return n.finiteRange&&(Me=0),bc.inbox(ee-h,ke-h,Me+Math.min(1,Math.abs(ke-ee)/x)-1)}function N(ee){return F(P(ee),I(ee),c)}function j(ee){return F(k(ee),L(ee),d)}function G(ee){var ke=ee[m];if(u){var Me=Math.abs(ee.rawS)||0;p>0?ke+=Me:p<0&&(ke-=Me)}return ke}function V(ee){var ke=p,Me=ee.b,qe=G(ee);return bc.inbox(Me-ke,qe-ke,c+(qe-ke)/(qe-Me)-1)}function W(ee){var ke=p,Me=ee.b,qe=G(ee);return bc.inbox(Me-ke,qe-ke,d+(qe-ke)/(qe-Me)-1)}var Y=e[g+"a"],X=e[m+"a"];x=Math.abs(Y.r2c(Y.range[1])-Y.r2c(Y.range[0]));function $(ee){return(b(ee)+_(ee))/2}var ae=bc.getDistanceFunction(a,b,_,$);if(bc.getClosest(i,ae,e),e.index!==!1&&i[e.index].p!==bpe){w||(P=function(ee){return Math.min(k(ee),ee.p-s.bargroupwidth/2)},I=function(ee){return Math.max(L(ee),ee.p+s.bargroupwidth/2)});var te=e.index,le=i[te],ge=o.base?le.b+le.s:le.s;e[m+"0"]=e[m+"1"]=X.c2p(le[m],!0),e[m+"LabelVal"]=ge;var re=s.extents[s.extents.round(le.p)];e[g+"0"]=Y.c2p(l?P(le):re[0],!0),e[g+"1"]=Y.c2p(l?I(le):re[1],!0);var _e=le.orig_p!==void 0;return e[g+"LabelVal"]=_e?le.orig_p:le.p,e.labelLabel=mx(Y,e[g+"LabelVal"],o[g+"hoverformat"]),e.valueLabel=mx(X,e[m+"LabelVal"],o[m+"hoverformat"]),e.baseLabel=mx(X,le.b,o[m+"hoverformat"]),e.spikeDistance=(W(le)+j(le))/2,e[g+"Spike"]=Y.c2p(le.p,!0),gpe(le,o,e),e.hovertemplate=o.hovertemplate,e}}function fj(e,t){var r=t.mcc||e.marker.color,a=t.mlcc||e.marker.line.color,n=ype(e,t);if(lj.opacity(r))return r;if(lj.opacity(a)&&n)return a}cj.exports={hoverPoints:xpe,hoverOnBars:uj,getTraceColor:fj}});var vj=E((w2e,hj)=>{"use strict";hj.exports=function(t,r,a){return t.x="xVal"in r?r.xVal:r.x,t.y="yVal"in r?r.yVal:r.y,r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),a.orientation==="h"?(t.label=t.y,t.value=t.x):(t.label=t.x,t.value=t.y),t}});var mj=E((T2e,pj)=>{"use strict";pj.exports=function(t,r){var a=t.cd,n=t.xaxis,i=t.yaxis,o=a[0].trace,s=o.type==="funnel",l=o.orientation==="h",u=[],c;if(r===!1)for(c=0;c{"use strict";gj.exports={attributes:vc(),layoutAttributes:ix(),supplyDefaults:ox().supplyDefaults,crossTraceDefaults:ox().crossTraceDefaults,supplyLayoutDefaults:w9(),calc:L9(),crossTraceCalc:j9().crossTraceCalc,colorbar:$b(),arraysToCalcdata:sx(),plot:sj().plot,style:Lp().style,styleOnSelect:Lp().styleOnSelect,hoverPoints:dj().hoverPoints,eventData:vj(),selectPoints:mj(),moduleType:"trace",name:"bar",basePlotModule:Jv(),categories:["bar-like","cartesian","svg","bar","oriented","errorBarsOK","showLegend","zoomScale"],animatable:!0,meta:{description:["The data visualized by the span of the bars is set in `y`","if `orientation` is set th *v* (the default)","and the labels are set in `x`.","By setting `orientation` to *h*, the roles are interchanged."].join(" ")}}});var xj=E((k2e,bj)=>{"use strict";bj.exports=yj()});var xc=E(_j=>{"use strict";_j.pointsAccessorFunction=function(e,t){for(var r,a,n=0;n{"use strict";var wpe=Jt(),tu=Pe(),Tpe=$i(),Ape=xc().pointsAccessorFunction,br=_r().BADNUM;ru.moduleType="transform";ru.name="aggregate";var wj=ru.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc",description:["Determines whether this aggregate transform is enabled or disabled."].join(" ")},groups:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc",description:["Sets the grouping target to which the aggregation is applied.","Data points with matching group values will be coalesced into","one point, using the supplied aggregation functions to reduce data","in other data arrays.","If a string, `groups` is assumed to be a reference to a data array","in the parent trace object.","To aggregate by nested variables, use *.* to access them.","For example, set `groups` to *marker.color* to aggregate","about the marker color array.","If an array, `groups` is itself the data array by which we aggregate."].join(" ")},aggregations:{_isLinkedToArray:"aggregation",target:{valType:"string",editType:"calc",description:["A reference to the data array in the parent trace to aggregate.","To aggregate by nested variables, use *.* to access them.","For example, set `groups` to *marker.color* to aggregate","over the marker color array.","The referenced array must already exist, unless `func` is *count*,","and each array may only be referenced once."].join(" ")},func:{valType:"enumerated",values:["count","sum","avg","median","mode","rms","stddev","min","max","first","last","change","range"],dflt:"first",editType:"calc",description:["Sets the aggregation function.","All values from the linked `target`, corresponding to the same value","in the `groups` array, are collected and reduced by this function.","*count* is simply the number of values in the `groups` array, so does","not even require the linked array to exist. *first* (*last*) is just","the first (last) linked value.","Invalid values are ignored, so for example in *avg* they do not","contribute to either the numerator or the denominator.","Any data type (numeric, date, category) may be aggregated with any","function, even though in certain cases it is unlikely to make sense,","for example a sum of dates or average of categories.","*median* will return the average of the two central values if there is","an even count. *mode* will return the first value to reach the maximum","count, in case of a tie.","*change* will return the difference between the first and last linked values.","*range* will return the difference between the min and max linked values."].join(" ")},funcmode:{valType:"enumerated",values:["sample","population"],dflt:"sample",editType:"calc",description:["*stddev* supports two formula variants: *sample* (normalize by N-1)","and *population* (normalize by N)."].join(" ")},enabled:{valType:"boolean",dflt:!0,editType:"calc",description:["Determines whether this aggregation function is enabled or disabled."].join(" ")},editType:"calc"},editType:"calc"},Tj=wj.aggregations;ru.supplyDefaults=function(e,t){var r={},a;function n(b,_){return tu.coerce(e,r,wj,b,_)}var i=n("enabled");if(!i)return r;var o=Tpe.findArrayAttributes(t),s={};for(a=0;al&&(l=h,u=d)}}return l?n(u):br};case"rms":return function(i,o){for(var s=0,l=0,u=0;u{"use strict";Mj.exports=kj()});var Lj=E((L2e,Cj)=>{"use strict";Cj.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}});var qj=E(_s=>{"use strict";var xs=Pe(),Lpe=vt(),qpe=Jt(),Dpe=xc().pointsAccessorFunction,gx=Lj(),yx=gx.COMPARISON_OPS,bx=gx.INTERVAL_OPS,xx=gx.SET_OPS;_s.moduleType="transform";_s.name="filter";_s.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc",description:["Determines whether this filter transform is enabled or disabled."].join(" ")},target:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc",description:["Sets the filter target by which the filter is applied.","If a string, `target` is assumed to be a reference to a data array","in the parent trace object.","To filter about nested variables, use *.* to access them.","For example, set `target` to *marker.color* to filter","about the marker color array.","If an array, `target` is then the data array by which the filter is applied."].join(" ")},operation:{valType:"enumerated",values:[].concat(yx).concat(bx).concat(xx),dflt:"=",editType:"calc",description:["Sets the filter operation.","*=* keeps items equal to `value`","*!=* keeps items not equal to `value`","*<* keeps items less than `value`","*<=* keeps items less than or equal to `value`","*>* keeps items greater than `value`","*>=* keeps items greater than or equal to `value`","*[]* keeps items inside `value[0]` to `value[1]` including both bounds","*()* keeps items inside `value[0]` to `value[1]` excluding both bounds","*[)* keeps items inside `value[0]` to `value[1]` including `value[0]` but excluding `value[1]","*(]* keeps items inside `value[0]` to `value[1]` excluding `value[0]` but including `value[1]","*][* keeps items outside `value[0]` to `value[1]` and equal to both bounds","*)(* keeps items outside `value[0]` to `value[1]`","*](* keeps items outside `value[0]` to `value[1]` and equal to `value[0]`","*)[* keeps items outside `value[0]` to `value[1]` and equal to `value[1]`","*{}* keeps items present in a set of values","*}{* keeps items not present in a set of values"].join(" ")},value:{valType:"any",dflt:0,editType:"calc",description:["Sets the value or values by which to filter.","Values are expected to be in the same type as the data linked","to `target`.","When `operation` is set to one of","the comparison values ("+yx+")","`value` is expected to be a number or a string.","When `operation` is set to one of the interval values","("+bx+")","`value` is expected to be 2-item array where the first item","is the lower bound and the second item is the upper bound.","When `operation`, is set to one of the set values","("+xx+")","`value` is expected to be an array with as many items as","the desired set elements."].join(" ")},preservegaps:{valType:"boolean",dflt:!1,editType:"calc",description:["Determines whether or not gaps in data arrays produced by the filter operation","are preserved.","Setting this to *true* might be useful when plotting a line chart","with `connectgaps` set to *false*."].join(" ")},editType:"calc"};_s.supplyDefaults=function(e){var t={};function r(o,s){return xs.coerce(e,t,_s.attributes,o,s)}var a=r("enabled");if(a){var n=r("target");if(xs.isArrayOrTypedArray(n)&&n.length===0)return t.enabled=!1,t;r("preservegaps"),r("operation"),r("value");var i=Lpe.getComponentMethod("calendars","handleDefaults");i(e,t,"valuecalendar",null),i(e,t,"targetcalendar",null)}return t};_s.calcTransform=function(e,t,r){if(!r.enabled)return;var a=xs.getTargetArray(t,r);if(!a)return;var n=r.target,i=a.length;t._length&&(i=Math.min(i,t._length));var o=r.targetcalendar,s=t._arrayAttrs,l=r.preservegaps;if(typeof n=="string"){var u=xs.nestedProperty(t,n+"calendar").get();u&&(o=u)}var c=qpe.getDataToCoordFunc(e,t,n,a),d=Ppe(r,c,o),h={},p={},g=0;function m(k,L){for(var S=0;S":return function(c){return l(c)>u};case">=":return function(c){return l(c)>=u};case"[]":return function(c){var d=l(c);return d>=u[0]&&d<=u[1]};case"()":return function(c){var d=l(c);return d>u[0]&&d=u[0]&&du[0]&&d<=u[1]};case"][":return function(c){var d=l(c);return d<=u[0]||d>=u[1]};case")(":return function(c){var d=l(c);return du[1]};case"](":return function(c){var d=l(c);return d<=u[0]||d>u[1]};case")[":return function(c){var d=l(c);return d=u[1]};case"{}":return function(c){return u.indexOf(l(c))!==-1};case"}{":return function(c){return u.indexOf(l(c))===-1}}}});var Pj=E((D2e,Dj)=>{"use strict";Dj.exports=qj()});var Rj=E(Ni=>{"use strict";var Ra=Pe(),Rpe=$i(),Ipe=Er(),Epe=xc().pointsAccessorFunction;Ni.moduleType="transform";Ni.name="groupby";Ni.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc",description:["Determines whether this group-by transform is enabled or disabled."].join(" ")},groups:{valType:"data_array",dflt:[],editType:"calc",description:["Sets the groups in which the trace data will be split.","For example, with `x` set to *[1, 2, 3, 4]* and","`groups` set to *['a', 'b', 'a', 'b']*,","the groupby transform with split in one trace","with `x` [1, 3] and one trace with `x` [2, 4]."].join(" ")},nameformat:{valType:"string",editType:"calc",description:["Pattern by which grouped traces are named. If only one trace is present,",'defaults to the group name (`"%{group}"`), otherwise defaults to the group name','with trace name (`"%{group} (%{trace})"`). Available escape sequences are `%{group}`, which',"inserts the group name, and `%{trace}`, which inserts the trace name. If grouping","GDP data by country when more than one trace is present, for example, the",'default "%{group} (%{trace})" would return "Monaco (GDP per capita)".'].join(" ")},styles:{_isLinkedToArray:"style",target:{valType:"string",editType:"calc",description:["The group value which receives these styles."].join(" ")},value:{valType:"any",dflt:{},editType:"calc",description:["Sets each group styles.","For example, with `groups` set to *['a', 'b', 'a', 'b']*","and `styles` set to *[{target: 'a', value: { marker: { color: 'red' } }}]","marker points in group *'a'* will be drawn in red."].join(" "),_compareAsJSON:!0},editType:"calc"},editType:"calc"};Ni.supplyDefaults=function(e,t,r){var a,n={};function i(d,h){return Ra.coerce(e,n,Ni.attributes,d,h)}var o=i("enabled");if(!o)return n;i("groups"),i("nameformat",r._dataLength>1?"%{group} (%{trace})":"%{group}");var s=e.styles,l=n.styles=[];if(s)for(a=0;a{"use strict";Ij.exports=Rj()});var zj=E(ws=>{"use strict";var _x=Pe(),Npe=Jt(),Fpe=xc().pointsAccessorFunction,Rp=_r().BADNUM;ws.moduleType="transform";ws.name="sort";ws.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc",description:["Determines whether this sort transform is enabled or disabled."].join(" ")},target:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc",description:["Sets the target by which the sort transform is applied.","If a string, *target* is assumed to be a reference to a data array","in the parent trace object.","To sort about nested variables, use *.* to access them.","For example, set `target` to *marker.size* to sort","about the marker size array.","If an array, *target* is then the data array by which","the sort transform is applied."].join(" ")},order:{valType:"enumerated",values:["ascending","descending"],dflt:"ascending",editType:"calc",description:["Sets the sort transform order."].join(" ")},editType:"calc"};ws.supplyDefaults=function(e){var t={};function r(n,i){return _x.coerce(e,t,ws.attributes,n,i)}var a=r("enabled");return a&&(r("target"),r("order")),t};ws.calcTransform=function(e,t,r){if(!!r.enabled){var a=_x.getTargetArray(t,r);if(!!a){var n=r.target,i=a.length;t._length&&(i=Math.min(i,t._length));var o=t._arrayAttrs,s=Npe.getDataToCoordFunc(e,t,n,a),l=jpe(r,a,s,i),u=Fpe(t.transforms,r),c={},d,h;for(d=0;d{"use strict";Nj.exports=zj()});var Vt=dm(Mm()),$j=dm(AM());var kM="1.5.3";function f$(e){return Boolean(e)}var c$=e=>{let t=Array.from(document.querySelectorAll('style[id^="plotly.js"]')).map(r=>r.sheet).filter(f$).flatMap(r=>Array.from(r.cssRules)).map(r=>r.cssText).join(` +(()=>{var LB=Object.create;var km=Object.defineProperty;var qB=Object.getOwnPropertyDescriptor;var DB=Object.getOwnPropertyNames;var PB=Object.getPrototypeOf,RB=Object.prototype.hasOwnProperty;var EB=e=>km(e,"__esModule",{value:!0});var I=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var IB=(e,t,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of DB(t))!RB.call(e,a)&&a!=="default"&&km(e,a,{get:()=>t[a],enumerable:!(r=qB(t,a))||r.enumerable});return e},Mm=e=>IB(EB(km(e!=null?LB(PB(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var mw=I((Vme,pw)=>{function zB(){this.__data__=[],this.size=0}pw.exports=zB});var Us=I((Yme,gw)=>{function NB(e,t){return e===t||e!==e&&t!==t}gw.exports=NB});var Cu=I((Zme,yw)=>{var FB=Us();function jB(e,t){for(var r=e.length;r--;)if(FB(e[r][0],t))return r;return-1}yw.exports=jB});var xw=I((Xme,bw)=>{var OB=Cu(),HB=Array.prototype,BB=HB.splice;function UB(e){var t=this.__data__,r=OB(t,e);if(r<0)return!1;var a=t.length-1;return r==a?t.pop():BB.call(t,r,1),--this.size,!0}bw.exports=UB});var ww=I(($me,_w)=>{var GB=Cu();function WB(e){var t=this.__data__,r=GB(t,e);return r<0?void 0:t[r][1]}_w.exports=WB});var Aw=I((Qme,Tw)=>{var VB=Cu();function YB(e){return VB(this.__data__,e)>-1}Tw.exports=YB});var Mw=I((Kme,kw)=>{var ZB=Cu();function XB(e,t){var r=this.__data__,a=ZB(r,e);return a<0?(++this.size,r.push([e,t])):r[a][1]=t,this}kw.exports=XB});var Lu=I((Jme,Sw)=>{var $B=mw(),QB=xw(),KB=ww(),JB=Aw(),eU=Mw();function Gs(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t{var tU=Lu();function rU(){this.__data__=new tU,this.size=0}Cw.exports=rU});var Dw=I((tge,qw)=>{function aU(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}qw.exports=aU});var Rw=I((rge,Pw)=>{function nU(e){return this.__data__.get(e)}Pw.exports=nU});var Iw=I((age,Ew)=>{function iU(e){return this.__data__.has(e)}Ew.exports=iU});var Sm=I((nge,zw)=>{var oU=typeof global=="object"&&global&&global.Object===Object&&global;zw.exports=oU});var Dn=I((ige,Nw)=>{var sU=Sm(),lU=typeof self=="object"&&self&&self.Object===Object&&self,uU=sU||lU||Function("return this")();Nw.exports=uU});var qu=I((oge,Fw)=>{var fU=Dn(),cU=fU.Symbol;Fw.exports=cU});var Bw=I((sge,Hw)=>{var jw=qu(),Ow=Object.prototype,dU=Ow.hasOwnProperty,hU=Ow.toString,Du=jw?jw.toStringTag:void 0;function vU(e){var t=dU.call(e,Du),r=e[Du];try{e[Du]=void 0;var a=!0}catch(i){}var n=hU.call(e);return a&&(t?e[Du]=r:delete e[Du]),n}Hw.exports=vU});var Gw=I((lge,Uw)=>{var pU=Object.prototype,mU=pU.toString;function gU(e){return mU.call(e)}Uw.exports=gU});var Eo=I((uge,Yw)=>{var Ww=qu(),yU=Bw(),bU=Gw(),xU="[object Null]",_U="[object Undefined]",Vw=Ww?Ww.toStringTag:void 0;function wU(e){return e==null?e===void 0?_U:xU:Vw&&Vw in Object(e)?yU(e):bU(e)}Yw.exports=wU});var mi=I((fge,Zw)=>{function TU(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}Zw.exports=TU});var od=I((cge,Xw)=>{var AU=Eo(),kU=mi(),MU="[object AsyncFunction]",SU="[object Function]",CU="[object GeneratorFunction]",LU="[object Proxy]";function qU(e){if(!kU(e))return!1;var t=AU(e);return t==SU||t==CU||t==MU||t==LU}Xw.exports=qU});var Qw=I((dge,$w)=>{var DU=Dn(),PU=DU["__core-js_shared__"];$w.exports=PU});var e2=I((hge,Jw)=>{var Cm=Qw(),Kw=function(){var e=/[^.]+$/.exec(Cm&&Cm.keys&&Cm.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function RU(e){return!!Kw&&Kw in e}Jw.exports=RU});var Lm=I((vge,t2)=>{var EU=Function.prototype,IU=EU.toString;function zU(e){if(e!=null){try{return IU.call(e)}catch(t){}try{return e+""}catch(t){}}return""}t2.exports=zU});var a2=I((pge,r2)=>{var NU=od(),FU=e2(),jU=mi(),OU=Lm(),HU=/[\\^$.*+?()[\]{}|]/g,BU=/^\[object .+?Constructor\]$/,UU=Function.prototype,GU=Object.prototype,WU=UU.toString,VU=GU.hasOwnProperty,YU=RegExp("^"+WU.call(VU).replace(HU,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ZU(e){if(!jU(e)||FU(e))return!1;var t=NU(e)?YU:BU;return t.test(OU(e))}r2.exports=ZU});var i2=I((mge,n2)=>{function XU(e,t){return e==null?void 0:e[t]}n2.exports=XU});var Wi=I((gge,o2)=>{var $U=a2(),QU=i2();function KU(e,t){var r=QU(e,t);return $U(r)?r:void 0}o2.exports=KU});var sd=I((yge,s2)=>{var JU=Wi(),eG=Dn(),tG=JU(eG,"Map");s2.exports=tG});var Pu=I((bge,l2)=>{var rG=Wi(),aG=rG(Object,"create");l2.exports=aG});var c2=I((xge,f2)=>{var u2=Pu();function nG(){this.__data__=u2?u2(null):{},this.size=0}f2.exports=nG});var h2=I((_ge,d2)=>{function iG(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}d2.exports=iG});var p2=I((wge,v2)=>{var oG=Pu(),sG="__lodash_hash_undefined__",lG=Object.prototype,uG=lG.hasOwnProperty;function fG(e){var t=this.__data__;if(oG){var r=t[e];return r===sG?void 0:r}return uG.call(t,e)?t[e]:void 0}v2.exports=fG});var g2=I((Tge,m2)=>{var cG=Pu(),dG=Object.prototype,hG=dG.hasOwnProperty;function vG(e){var t=this.__data__;return cG?t[e]!==void 0:hG.call(t,e)}m2.exports=vG});var b2=I((Age,y2)=>{var pG=Pu(),mG="__lodash_hash_undefined__";function gG(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=pG&&t===void 0?mG:t,this}y2.exports=gG});var _2=I((kge,x2)=>{var yG=c2(),bG=h2(),xG=p2(),_G=g2(),wG=b2();function Ws(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t{var w2=_2(),TG=Lu(),AG=sd();function kG(){this.size=0,this.__data__={hash:new w2,map:new(AG||TG),string:new w2}}T2.exports=kG});var M2=I((Sge,k2)=>{function MG(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}k2.exports=MG});var Ru=I((Cge,S2)=>{var SG=M2();function CG(e,t){var r=e.__data__;return SG(t)?r[typeof t=="string"?"string":"hash"]:r.map}S2.exports=CG});var L2=I((Lge,C2)=>{var LG=Ru();function qG(e){var t=LG(this,e).delete(e);return this.size-=t?1:0,t}C2.exports=qG});var D2=I((qge,q2)=>{var DG=Ru();function PG(e){return DG(this,e).get(e)}q2.exports=PG});var R2=I((Dge,P2)=>{var RG=Ru();function EG(e){return RG(this,e).has(e)}P2.exports=EG});var I2=I((Pge,E2)=>{var IG=Ru();function zG(e,t){var r=IG(this,e),a=r.size;return r.set(e,t),this.size+=r.size==a?0:1,this}E2.exports=zG});var ld=I((Rge,z2)=>{var NG=A2(),FG=L2(),jG=D2(),OG=R2(),HG=I2();function Vs(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t{var BG=Lu(),UG=sd(),GG=ld(),WG=200;function VG(e,t){var r=this.__data__;if(r instanceof BG){var a=r.__data__;if(!UG||a.length{var YG=Lu(),ZG=Lw(),XG=Dw(),$G=Rw(),QG=Iw(),KG=F2();function Ys(e){var t=this.__data__=new YG(e);this.size=t.size}Ys.prototype.clear=ZG;Ys.prototype.delete=XG;Ys.prototype.get=$G;Ys.prototype.has=QG;Ys.prototype.set=KG;j2.exports=Ys});var qm=I((zge,O2)=>{var JG=Wi(),eW=function(){try{var e=JG(Object,"defineProperty");return e({},"",{}),e}catch(t){}}();O2.exports=eW});var Eu=I((Nge,B2)=>{var H2=qm();function tW(e,t,r){t=="__proto__"&&H2?H2(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}B2.exports=tW});var Dm=I((Fge,U2)=>{var rW=Eu(),aW=Us();function nW(e,t,r){(r!==void 0&&!aW(e[t],r)||r===void 0&&!(t in e))&&rW(e,t,r)}U2.exports=nW});var W2=I((jge,G2)=>{function iW(e){return function(t,r,a){for(var n=-1,i=Object(t),o=a(t),s=o.length;s--;){var l=o[e?s:++n];if(r(i[l],l,i)===!1)break}return t}}G2.exports=iW});var Pm=I((Oge,V2)=>{var oW=W2(),sW=oW();V2.exports=sW});var Q2=I((Iu,Zs)=>{var lW=Dn(),Y2=typeof Iu=="object"&&Iu&&!Iu.nodeType&&Iu,Z2=Y2&&typeof Zs=="object"&&Zs&&!Zs.nodeType&&Zs,uW=Z2&&Z2.exports===Y2,X2=uW?lW.Buffer:void 0,$2=X2?X2.allocUnsafe:void 0;function fW(e,t){if(t)return e.slice();var r=e.length,a=$2?$2(r):new e.constructor(r);return e.copy(a),a}Zs.exports=fW});var Rm=I((Hge,K2)=>{var cW=Dn(),dW=cW.Uint8Array;K2.exports=dW});var tT=I((Bge,eT)=>{var J2=Rm();function hW(e){var t=new e.constructor(e.byteLength);return new J2(t).set(new J2(e)),t}eT.exports=hW});var aT=I((Uge,rT)=>{var vW=tT();function pW(e,t){var r=t?vW(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}rT.exports=pW});var iT=I((Gge,nT)=>{function mW(e,t){var r=-1,a=e.length;for(t||(t=Array(a));++r{var gW=mi(),oT=Object.create,yW=function(){function e(){}return function(t){if(!gW(t))return{};if(oT)return oT(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();sT.exports=yW});var Em=I((Vge,uT)=>{function bW(e,t){return function(r){return e(t(r))}}uT.exports=bW});var Im=I((Yge,fT)=>{var xW=Em(),_W=xW(Object.getPrototypeOf,Object);fT.exports=_W});var fd=I((Zge,cT)=>{var wW=Object.prototype;function TW(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||wW;return e===r}cT.exports=TW});var hT=I((Xge,dT)=>{var AW=lT(),kW=Im(),MW=fd();function SW(e){return typeof e.constructor=="function"&&!MW(e)?AW(kW(e)):{}}dT.exports=SW});var Vi=I(($ge,vT)=>{function CW(e){return e!=null&&typeof e=="object"}vT.exports=CW});var mT=I((Qge,pT)=>{var LW=Eo(),qW=Vi(),DW="[object Arguments]";function PW(e){return qW(e)&&LW(e)==DW}pT.exports=PW});var cd=I((Kge,bT)=>{var gT=mT(),RW=Vi(),yT=Object.prototype,EW=yT.hasOwnProperty,IW=yT.propertyIsEnumerable,zW=gT(function(){return arguments}())?gT:function(e){return RW(e)&&EW.call(e,"callee")&&!IW.call(e,"callee")};bT.exports=zW});var ei=I((Jge,xT)=>{var NW=Array.isArray;xT.exports=NW});var dd=I((eye,_T)=>{var FW=9007199254740991;function jW(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=FW}_T.exports=jW});var zu=I((tye,wT)=>{var OW=od(),HW=dd();function BW(e){return e!=null&&HW(e.length)&&!OW(e)}wT.exports=BW});var AT=I((rye,TT)=>{var UW=zu(),GW=Vi();function WW(e){return GW(e)&&UW(e)}TT.exports=WW});var MT=I((aye,kT)=>{function VW(){return!1}kT.exports=VW});var hd=I((Nu,Xs)=>{var YW=Dn(),ZW=MT(),ST=typeof Nu=="object"&&Nu&&!Nu.nodeType&&Nu,CT=ST&&typeof Xs=="object"&&Xs&&!Xs.nodeType&&Xs,XW=CT&&CT.exports===ST,LT=XW?YW.Buffer:void 0,$W=LT?LT.isBuffer:void 0,QW=$W||ZW;Xs.exports=QW});var PT=I((nye,DT)=>{var KW=Eo(),JW=Im(),eV=Vi(),tV="[object Object]",rV=Function.prototype,aV=Object.prototype,qT=rV.toString,nV=aV.hasOwnProperty,iV=qT.call(Object);function oV(e){if(!eV(e)||KW(e)!=tV)return!1;var t=JW(e);if(t===null)return!0;var r=nV.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&qT.call(r)==iV}DT.exports=oV});var ET=I((iye,RT)=>{var sV=Eo(),lV=dd(),uV=Vi(),fV="[object Arguments]",cV="[object Array]",dV="[object Boolean]",hV="[object Date]",vV="[object Error]",pV="[object Function]",mV="[object Map]",gV="[object Number]",yV="[object Object]",bV="[object RegExp]",xV="[object Set]",_V="[object String]",wV="[object WeakMap]",TV="[object ArrayBuffer]",AV="[object DataView]",kV="[object Float32Array]",MV="[object Float64Array]",SV="[object Int8Array]",CV="[object Int16Array]",LV="[object Int32Array]",qV="[object Uint8Array]",DV="[object Uint8ClampedArray]",PV="[object Uint16Array]",RV="[object Uint32Array]",yr={};yr[kV]=yr[MV]=yr[SV]=yr[CV]=yr[LV]=yr[qV]=yr[DV]=yr[PV]=yr[RV]=!0;yr[fV]=yr[cV]=yr[TV]=yr[dV]=yr[AV]=yr[hV]=yr[vV]=yr[pV]=yr[mV]=yr[gV]=yr[yV]=yr[bV]=yr[xV]=yr[_V]=yr[wV]=!1;function EV(e){return uV(e)&&lV(e.length)&&!!yr[sV(e)]}RT.exports=EV});var zT=I((oye,IT)=>{function IV(e){return function(t){return e(t)}}IT.exports=IV});var FT=I((ju,$s)=>{var zV=Sm(),NT=typeof ju=="object"&&ju&&!ju.nodeType&&ju,Fu=NT&&typeof $s=="object"&&$s&&!$s.nodeType&&$s,NV=Fu&&Fu.exports===NT,zm=NV&&zV.process,FV=function(){try{var e=Fu&&Fu.require&&Fu.require("util").types;return e||zm&&zm.binding&&zm.binding("util")}catch(t){}}();$s.exports=FV});var vd=I((sye,HT)=>{var jV=ET(),OV=zT(),jT=FT(),OT=jT&&jT.isTypedArray,HV=OT?OV(OT):jV;HT.exports=HV});var Nm=I((lye,BT)=>{function BV(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}BT.exports=BV});var GT=I((uye,UT)=>{var UV=Eu(),GV=Us(),WV=Object.prototype,VV=WV.hasOwnProperty;function YV(e,t,r){var a=e[t];(!(VV.call(e,t)&&GV(a,r))||r===void 0&&!(t in e))&&UV(e,t,r)}UT.exports=YV});var VT=I((fye,WT)=>{var ZV=GT(),XV=Eu();function $V(e,t,r,a){var n=!r;r||(r={});for(var i=-1,o=t.length;++i{function QV(e,t){for(var r=-1,a=Array(e);++r{var KV=9007199254740991,JV=/^(?:0|[1-9]\d*)$/;function eY(e,t){var r=typeof e;return t=t??KV,!!t&&(r=="number"||r!="symbol"&&JV.test(e))&&e>-1&&e%1==0&&e{var tY=ZT(),rY=cd(),aY=ei(),nY=hd(),iY=pd(),oY=vd(),sY=Object.prototype,lY=sY.hasOwnProperty;function uY(e,t){var r=aY(e),a=!r&&rY(e),n=!r&&!a&&nY(e),i=!r&&!a&&!n&&oY(e),o=r||a||n||i,s=o?tY(e.length,String):[],l=s.length;for(var u in e)(t||lY.call(e,u))&&!(o&&(u=="length"||n&&(u=="offset"||u=="parent")||i&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||iY(u,l)))&&s.push(u);return s}$T.exports=uY});var KT=I((vye,QT)=>{function fY(e){var t=[];if(e!=null)for(var r in Object(e))t.push(r);return t}QT.exports=fY});var eA=I((pye,JT)=>{var cY=mi(),dY=fd(),hY=KT(),vY=Object.prototype,pY=vY.hasOwnProperty;function mY(e){if(!cY(e))return hY(e);var t=dY(e),r=[];for(var a in e)a=="constructor"&&(t||!pY.call(e,a))||r.push(a);return r}JT.exports=mY});var jm=I((mye,tA)=>{var gY=Fm(),yY=eA(),bY=zu();function xY(e){return bY(e)?gY(e,!0):yY(e)}tA.exports=xY});var aA=I((gye,rA)=>{var _Y=VT(),wY=jm();function TY(e){return _Y(e,wY(e))}rA.exports=TY});var uA=I((yye,lA)=>{var nA=Dm(),AY=Q2(),kY=aT(),MY=iT(),SY=hT(),iA=cd(),oA=ei(),CY=AT(),LY=hd(),qY=od(),DY=mi(),PY=PT(),RY=vd(),sA=Nm(),EY=aA();function IY(e,t,r,a,n,i,o){var s=sA(e,r),l=sA(t,r),u=o.get(l);if(u){nA(e,r,u);return}var c=i?i(s,l,r+"",e,t,o):void 0,d=c===void 0;if(d){var h=oA(l),p=!h&&LY(l),g=!h&&!p&&RY(l);c=l,h||p||g?oA(s)?c=s:CY(s)?c=MY(s):p?(d=!1,c=AY(l,!0)):g?(d=!1,c=kY(l,!0)):c=[]:PY(l)||iA(l)?(c=s,iA(s)?c=EY(s):(!DY(s)||qY(s))&&(c=SY(l))):d=!1}d&&(o.set(l,c),n(c,l,a,i,o),o.delete(l)),nA(e,r,c)}lA.exports=IY});var dA=I((bye,cA)=>{var zY=ud(),NY=Dm(),FY=Pm(),jY=uA(),OY=mi(),HY=jm(),BY=Nm();function fA(e,t,r,a,n){e!==t&&FY(t,function(i,o){if(n||(n=new zY),OY(i))jY(e,t,o,r,fA,a,n);else{var s=a?a(BY(e,o),i,o+"",e,t,n):void 0;s===void 0&&(s=i),NY(e,o,s)}},HY)}cA.exports=fA});var md=I((xye,hA)=>{function UY(e){return e}hA.exports=UY});var pA=I((_ye,vA)=>{function GY(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}vA.exports=GY});var yA=I((wye,gA)=>{var WY=pA(),mA=Math.max;function VY(e,t,r){return t=mA(t===void 0?e.length-1:t,0),function(){for(var a=arguments,n=-1,i=mA(a.length-t,0),o=Array(i);++n{function YY(e){return function(){return e}}bA.exports=YY});var TA=I((Aye,wA)=>{var ZY=xA(),_A=qm(),XY=md(),$Y=_A?function(e,t){return _A(e,"toString",{configurable:!0,enumerable:!1,value:ZY(t),writable:!0})}:XY;wA.exports=$Y});var kA=I((kye,AA)=>{var QY=800,KY=16,JY=Date.now;function eZ(e){var t=0,r=0;return function(){var a=JY(),n=KY-(a-r);if(r=a,n>0){if(++t>=QY)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}AA.exports=eZ});var SA=I((Mye,MA)=>{var tZ=TA(),rZ=kA(),aZ=rZ(tZ);MA.exports=aZ});var LA=I((Sye,CA)=>{var nZ=md(),iZ=yA(),oZ=SA();function sZ(e,t){return oZ(iZ(e,t,nZ),e+"")}CA.exports=sZ});var DA=I((Cye,qA)=>{var lZ=Us(),uZ=zu(),fZ=pd(),cZ=mi();function dZ(e,t,r){if(!cZ(r))return!1;var a=typeof t;return(a=="number"?uZ(r)&&fZ(t,r.length):a=="string"&&t in r)?lZ(r[t],e):!1}qA.exports=dZ});var RA=I((Lye,PA)=>{var hZ=LA(),vZ=DA();function pZ(e){return hZ(function(t,r){var a=-1,n=r.length,i=n>1?r[n-1]:void 0,o=n>2?r[2]:void 0;for(i=e.length>3&&typeof i=="function"?(n--,i):void 0,o&&vZ(r[0],r[1],o)&&(i=n<3?void 0:i,n=1),t=Object(t);++a{var mZ=dA(),gZ=RA(),yZ=gZ(function(e,t,r){mZ(e,t,r)});EA.exports=yZ});var zA=I((Dye,IA)=>{var bZ=Em(),xZ=bZ(Object.keys,Object);IA.exports=xZ});var FA=I((Pye,NA)=>{var _Z=fd(),wZ=zA(),TZ=Object.prototype,AZ=TZ.hasOwnProperty;function kZ(e){if(!_Z(e))return wZ(e);var t=[];for(var r in Object(e))AZ.call(e,r)&&r!="constructor"&&t.push(r);return t}NA.exports=kZ});var gd=I((Rye,jA)=>{var MZ=Fm(),SZ=FA(),CZ=zu();function LZ(e){return CZ(e)?MZ(e):SZ(e)}jA.exports=LZ});var HA=I((Eye,OA)=>{var qZ=Pm(),DZ=gd();function PZ(e,t){return e&&qZ(e,t,DZ)}OA.exports=PZ});var UA=I((Iye,BA)=>{var RZ="__lodash_hash_undefined__";function EZ(e){return this.__data__.set(e,RZ),this}BA.exports=EZ});var WA=I((zye,GA)=>{function IZ(e){return this.__data__.has(e)}GA.exports=IZ});var YA=I((Nye,VA)=>{var zZ=ld(),NZ=UA(),FZ=WA();function yd(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new zZ;++t{function jZ(e,t){for(var r=-1,a=e==null?0:e.length;++r{function OZ(e,t){return e.has(t)}$A.exports=OZ});var Hm=I((Oye,KA)=>{var HZ=YA(),BZ=XA(),UZ=QA(),GZ=1,WZ=2;function VZ(e,t,r,a,n,i){var o=r&GZ,s=e.length,l=t.length;if(s!=l&&!(o&&l>s))return!1;var u=i.get(e),c=i.get(t);if(u&&c)return u==t&&c==e;var d=-1,h=!0,p=r&WZ?new HZ:void 0;for(i.set(e,t),i.set(t,e);++d{function YZ(e){var t=-1,r=Array(e.size);return e.forEach(function(a,n){r[++t]=[n,a]}),r}JA.exports=YZ});var rk=I((Bye,tk)=>{function ZZ(e){var t=-1,r=Array(e.size);return e.forEach(function(a){r[++t]=a}),r}tk.exports=ZZ});var sk=I((Uye,ok)=>{var ak=qu(),nk=Rm(),XZ=Us(),$Z=Hm(),QZ=ek(),KZ=rk(),JZ=1,eX=2,tX="[object Boolean]",rX="[object Date]",aX="[object Error]",nX="[object Map]",iX="[object Number]",oX="[object RegExp]",sX="[object Set]",lX="[object String]",uX="[object Symbol]",fX="[object ArrayBuffer]",cX="[object DataView]",ik=ak?ak.prototype:void 0,Bm=ik?ik.valueOf:void 0;function dX(e,t,r,a,n,i,o){switch(r){case cX:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case fX:return!(e.byteLength!=t.byteLength||!i(new nk(e),new nk(t)));case tX:case rX:case iX:return XZ(+e,+t);case aX:return e.name==t.name&&e.message==t.message;case oX:case lX:return e==t+"";case nX:var s=QZ;case sX:var l=a&JZ;if(s||(s=KZ),e.size!=t.size&&!l)return!1;var u=o.get(e);if(u)return u==t;a|=eX,o.set(e,t);var c=$Z(s(e),s(t),a,n,i,o);return o.delete(e),c;case uX:if(Bm)return Bm.call(e)==Bm.call(t)}return!1}ok.exports=dX});var uk=I((Gye,lk)=>{function hX(e,t){for(var r=-1,a=t.length,n=e.length;++r{var vX=uk(),pX=ei();function mX(e,t,r){var a=t(e);return pX(e)?a:vX(a,r(e))}fk.exports=mX});var hk=I((Vye,dk)=>{function gX(e,t){for(var r=-1,a=e==null?0:e.length,n=0,i=[];++r{function yX(){return[]}vk.exports=yX});var yk=I((Zye,gk)=>{var bX=hk(),xX=pk(),_X=Object.prototype,wX=_X.propertyIsEnumerable,mk=Object.getOwnPropertySymbols,TX=mk?function(e){return e==null?[]:(e=Object(e),bX(mk(e),function(t){return wX.call(e,t)}))}:xX;gk.exports=TX});var xk=I((Xye,bk)=>{var AX=ck(),kX=yk(),MX=gd();function SX(e){return AX(e,MX,kX)}bk.exports=SX});var Tk=I(($ye,wk)=>{var _k=xk(),CX=1,LX=Object.prototype,qX=LX.hasOwnProperty;function DX(e,t,r,a,n,i){var o=r&CX,s=_k(e),l=s.length,u=_k(t),c=u.length;if(l!=c&&!o)return!1;for(var d=l;d--;){var h=s[d];if(!(o?h in t:qX.call(t,h)))return!1}var p=i.get(e),g=i.get(t);if(p&&g)return p==t&&g==e;var m=!0;i.set(e,t),i.set(t,e);for(var b=o;++d{var PX=Wi(),RX=Dn(),EX=PX(RX,"DataView");Ak.exports=EX});var Sk=I((Kye,Mk)=>{var IX=Wi(),zX=Dn(),NX=IX(zX,"Promise");Mk.exports=NX});var Lk=I((Jye,Ck)=>{var FX=Wi(),jX=Dn(),OX=FX(jX,"Set");Ck.exports=OX});var Dk=I((e0e,qk)=>{var HX=Wi(),BX=Dn(),UX=HX(BX,"WeakMap");qk.exports=UX});var jk=I((t0e,Fk)=>{var Um=kk(),Gm=sd(),Wm=Sk(),Vm=Lk(),Ym=Dk(),Pk=Eo(),Qs=Lm(),Rk="[object Map]",GX="[object Object]",Ek="[object Promise]",Ik="[object Set]",zk="[object WeakMap]",Nk="[object DataView]",WX=Qs(Um),VX=Qs(Gm),YX=Qs(Wm),ZX=Qs(Vm),XX=Qs(Ym),Io=Pk;(Um&&Io(new Um(new ArrayBuffer(1)))!=Nk||Gm&&Io(new Gm)!=Rk||Wm&&Io(Wm.resolve())!=Ek||Vm&&Io(new Vm)!=Ik||Ym&&Io(new Ym)!=zk)&&(Io=function(e){var t=Pk(e),r=t==GX?e.constructor:void 0,a=r?Qs(r):"";if(a)switch(a){case WX:return Nk;case VX:return Rk;case YX:return Ek;case ZX:return Ik;case XX:return zk}return t});Fk.exports=Io});var Yk=I((r0e,Vk)=>{var Zm=ud(),$X=Hm(),QX=sk(),KX=Tk(),Ok=jk(),Hk=ei(),Bk=hd(),JX=vd(),e$=1,Uk="[object Arguments]",Gk="[object Array]",bd="[object Object]",t$=Object.prototype,Wk=t$.hasOwnProperty;function r$(e,t,r,a,n,i){var o=Hk(e),s=Hk(t),l=o?Gk:Ok(e),u=s?Gk:Ok(t);l=l==Uk?bd:l,u=u==Uk?bd:u;var c=l==bd,d=u==bd,h=l==u;if(h&&Bk(e)){if(!Bk(t))return!1;o=!0,c=!1}if(h&&!c)return i||(i=new Zm),o||JX(e)?$X(e,t,r,a,n,i):QX(e,t,l,r,a,n,i);if(!(r&e$)){var p=c&&Wk.call(e,"__wrapped__"),g=d&&Wk.call(t,"__wrapped__");if(p||g){var m=p?e.value():e,b=g?t.value():t;return i||(i=new Zm),n(m,b,r,a,i)}}return h?(i||(i=new Zm),KX(e,t,r,a,n,i)):!1}Vk.exports=r$});var Xm=I((a0e,$k)=>{var a$=Yk(),Zk=Vi();function Xk(e,t,r,a,n){return e===t?!0:e==null||t==null||!Zk(e)&&!Zk(t)?e!==e&&t!==t:a$(e,t,r,a,Xk,n)}$k.exports=Xk});var Kk=I((n0e,Qk)=>{var n$=ud(),i$=Xm(),o$=1,s$=2;function l$(e,t,r,a){var n=r.length,i=n,o=!a;if(e==null)return!i;for(e=Object(e);n--;){var s=r[n];if(o&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++n{var u$=mi();function f$(e){return e===e&&!u$(e)}Jk.exports=f$});var tM=I((o0e,eM)=>{var c$=$m(),d$=gd();function h$(e){for(var t=d$(e),r=t.length;r--;){var a=t[r],n=e[a];t[r]=[a,n,c$(n)]}return t}eM.exports=h$});var Qm=I((s0e,rM)=>{function v$(e,t){return function(r){return r==null?!1:r[e]===t&&(t!==void 0||e in Object(r))}}rM.exports=v$});var nM=I((l0e,aM)=>{var p$=Kk(),m$=tM(),g$=Qm();function y$(e){var t=m$(e);return t.length==1&&t[0][2]?g$(t[0][0],t[0][1]):function(r){return r===e||p$(r,e,t)}}aM.exports=y$});var xd=I((u0e,iM)=>{var b$=Eo(),x$=Vi(),_$="[object Symbol]";function w$(e){return typeof e=="symbol"||x$(e)&&b$(e)==_$}iM.exports=w$});var _d=I((f0e,oM)=>{var T$=ei(),A$=xd(),k$=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,M$=/^\w*$/;function S$(e,t){if(T$(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||A$(e)?!0:M$.test(e)||!k$.test(e)||t!=null&&e in Object(t)}oM.exports=S$});var uM=I((c0e,lM)=>{var sM=ld(),C$="Expected a function";function Km(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(C$);var r=function(){var a=arguments,n=t?t.apply(this,a):a[0],i=r.cache;if(i.has(n))return i.get(n);var o=e.apply(this,a);return r.cache=i.set(n,o)||i,o};return r.cache=new(Km.Cache||sM),r}Km.Cache=sM;lM.exports=Km});var cM=I((d0e,fM)=>{var L$=uM(),q$=500;function D$(e){var t=L$(e,function(a){return r.size===q$&&r.clear(),a}),r=t.cache;return t}fM.exports=D$});var hM=I((h0e,dM)=>{var P$=cM(),R$=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,E$=/\\(\\)?/g,I$=P$(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(R$,function(r,a,n,i){t.push(n?i.replace(E$,"$1"):a||r)}),t});dM.exports=I$});var pM=I((v0e,vM)=>{function z$(e,t){for(var r=-1,a=e==null?0:e.length,n=Array(a);++r{var mM=qu(),N$=pM(),F$=ei(),j$=xd(),O$=1/0,gM=mM?mM.prototype:void 0,yM=gM?gM.toString:void 0;function bM(e){if(typeof e=="string")return e;if(F$(e))return N$(e,bM)+"";if(j$(e))return yM?yM.call(e):"";var t=e+"";return t=="0"&&1/e==-O$?"-0":t}xM.exports=bM});var TM=I((m0e,wM)=>{var H$=_M();function B$(e){return e==null?"":H$(e)}wM.exports=B$});var Jm=I((g0e,AM)=>{var U$=ei(),G$=_d(),W$=hM(),V$=TM();function Y$(e,t){return U$(e)?e:G$(e,t)?[e]:W$(V$(e))}AM.exports=Y$});var Ou=I((y0e,kM)=>{var Z$=xd(),X$=1/0;function $$(e){if(typeof e=="string"||Z$(e))return e;var t=e+"";return t=="0"&&1/e==-X$?"-0":t}kM.exports=$$});var eg=I((b0e,MM)=>{var Q$=Jm(),K$=Ou();function J$(e,t){t=Q$(t,e);for(var r=0,a=t.length;e!=null&&r{var eQ=eg();function tQ(e,t,r){var a=e==null?void 0:eQ(e,t);return a===void 0?r:a}SM.exports=tQ});var qM=I((_0e,LM)=>{function rQ(e,t){return e!=null&&t in Object(e)}LM.exports=rQ});var PM=I((w0e,DM)=>{var aQ=Jm(),nQ=cd(),iQ=ei(),oQ=pd(),sQ=dd(),lQ=Ou();function uQ(e,t,r){t=aQ(t,e);for(var a=-1,n=t.length,i=!1;++a{var fQ=qM(),cQ=PM();function dQ(e,t){return e!=null&&cQ(e,t,fQ)}RM.exports=dQ});var zM=I((A0e,IM)=>{var hQ=Xm(),vQ=CM(),pQ=EM(),mQ=_d(),gQ=$m(),yQ=Qm(),bQ=Ou(),xQ=1,_Q=2;function wQ(e,t){return mQ(e)&&gQ(t)?yQ(bQ(e),t):function(r){var a=vQ(r,e);return a===void 0&&a===t?pQ(r,e):hQ(t,a,xQ|_Q)}}IM.exports=wQ});var FM=I((k0e,NM)=>{function TQ(e){return function(t){return t==null?void 0:t[e]}}NM.exports=TQ});var OM=I((M0e,jM)=>{var AQ=eg();function kQ(e){return function(t){return AQ(t,e)}}jM.exports=kQ});var BM=I((S0e,HM)=>{var MQ=FM(),SQ=OM(),CQ=_d(),LQ=Ou();function qQ(e){return CQ(e)?MQ(LQ(e)):SQ(e)}HM.exports=qQ});var GM=I((C0e,UM)=>{var DQ=nM(),PQ=zM(),RQ=md(),EQ=ei(),IQ=BM();function zQ(e){return typeof e=="function"?e:e==null?RQ:typeof e=="object"?EQ(e)?PQ(e[0],e[1]):DQ(e):IQ(e)}UM.exports=zQ});var VM=I((L0e,WM)=>{var NQ=Eu(),FQ=HA(),jQ=GM();function OQ(e,t){var r={};return t=jQ(t,3),FQ(e,function(a,n,i){NQ(r,n,t(a,n,i))}),r}WM.exports=OQ});var wd=I(XM=>{"use strict";XM.version="2.16.1"});var QM=I(($M,Td)=>{(function(t,r,a){r[t]=r[t]||a(),typeof Td!="undefined"&&Td.exports?Td.exports=r[t]:typeof define=="function"&&define.amd&&define(function(){return r[t]})})("Promise",typeof global!="undefined"?global:$M,function(){"use strict";var t,r,a,n=Object.prototype.toString,i=typeof setImmediate!="undefined"?function(_){return setImmediate(_)}:setTimeout;try{Object.defineProperty({},"x",{}),t=function(_,k,w,A){return Object.defineProperty(_,k,{value:w,writable:!0,configurable:A!==!1})}}catch(x){t=function(k,w,A){return k[w]=A,k}}a=function(){var _,k,w;function A(L,M){this.fn=L,this.self=M,this.next=void 0}return{add:function(M,q){w=new A(M,q),k?k.next=w:_=w,k=w,w=void 0},drain:function(){var M=_;for(_=k=r=void 0;M;)M.fn.call(M.self),M=M.next}}}();function o(x,_){a.add(x,_),r||(r=i(a.drain))}function s(x){var _,k=typeof x;return x!=null&&(k=="object"||k=="function")&&(_=x.then),typeof _=="function"?_:!1}function l(){for(var x=0;x0&&o(l,k))}catch(w){d.call(new p(k),w)}}}function d(x){var _=this;_.triggered||(_.triggered=!0,_.def&&(_=_.def),_.msg=x,_.state=2,_.chain.length>0&&o(l,_))}function h(x,_,k,w){for(var A=0;A<_.length;A++)(function(M){x.resolve(_[M]).then(function(P){k(M,P)},w)})(A)}function p(x){this.def=x,this.triggered=!1}function g(x){this.promise=x,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function m(x){if(typeof x!="function")throw TypeError("Not a function");if(this.__NPO__!==0)throw TypeError("Not a promise");this.__NPO__=1;var _=new g(this);this.then=function(w,A){var L={success:typeof w=="function"?w:!0,failure:typeof A=="function"?A:!1};return L.promise=new this.constructor(function(q,P){if(typeof q!="function"||typeof P!="function")throw TypeError("Not a function");L.resolve=q,L.reject=P}),_.chain.push(L),_.state!==0&&o(l,_),L.promise},this.catch=function(w){return this.then(void 0,w)};try{x.call(void 0,function(w){c.call(_,w)},function(w){d.call(_,w)})}catch(k){d.call(_,k)}}var b=t({},"constructor",m,!1);return m.prototype=b,t(b,"__NPO__",0,!1),t(m,"resolve",function(_){var k=this;return _&&typeof _=="object"&&_.__NPO__===1?_:new k(function(A,L){if(typeof A!="function"||typeof L!="function")throw TypeError("Not a function");A(_)})}),t(m,"reject",function(_){return new this(function(w,A){if(typeof w!="function"||typeof A!="function")throw TypeError("Not a function");A(_)})}),t(m,"all",function(_){var k=this;return n.call(_)!="[object Array]"?k.reject(TypeError("Not an array")):_.length===0?k.resolve([]):new k(function(A,L){if(typeof A!="function"||typeof L!="function")throw TypeError("Not a function");var M=_.length,q=Array(M),P=0;h(k,_,function(F,N){q[F]=N,++P===M&&A(q)},L)})}),t(m,"race",function(_){var k=this;return n.call(_)!="[object Array]"?k.reject(TypeError("Not an array")):new k(function(A,L){if(typeof A!="function"||typeof L!="function")throw TypeError("Not a function");h(k,_,function(q,P){A(P)},L)})}),m})});var Ft=I((R0e,Ad)=>{(function(){var e={version:"3.8.0"},t=[].slice,r=function(f){return t.call(f)},a=self.document;function n(f){return f&&(f.ownerDocument||f.document||f).documentElement}function i(f){return f&&(f.ownerDocument&&f.ownerDocument.defaultView||f.document&&f||f.defaultView)}if(a)try{r(a.documentElement.childNodes)[0].nodeType}catch(f){r=function(v){for(var y=v.length,T=new Array(y);y--;)T[y]=v[y];return T}}if(Date.now||(Date.now=function(){return+new Date}),a)try{a.createElement("DIV").style.setProperty("opacity",0,"")}catch(f){var o=this.Element.prototype,s=o.setAttribute,l=o.setAttributeNS,u=this.CSSStyleDeclaration.prototype,c=u.setProperty;o.setAttribute=function(v,y){s.call(this,v,y+"")},o.setAttributeNS=function(v,y,T){l.call(this,v,y,T+"")},u.setProperty=function(v,y,T){c.call(this,v,y+"",T)}}e.ascending=d;function d(f,v){return fv?1:f>=v?0:NaN}e.descending=function(f,v){return vf?1:v>=f?0:NaN},e.min=function(f,v){var y=-1,T=f.length,S,C;if(arguments.length===1){for(;++y=C){S=C;break}for(;++yC&&(S=C)}else{for(;++y=C){S=C;break}for(;++yC&&(S=C)}return S},e.max=function(f,v){var y=-1,T=f.length,S,C;if(arguments.length===1){for(;++y=C){S=C;break}for(;++yS&&(S=C)}else{for(;++y=C){S=C;break}for(;++yS&&(S=C)}return S},e.extent=function(f,v){var y=-1,T=f.length,S,C,R;if(arguments.length===1){for(;++y=C){S=R=C;break}for(;++yC&&(S=C),R=C){S=R=C;break}for(;++yC&&(S=C),R1)return R/(z-1)},e.deviation=function(){var f=e.variance.apply(this,arguments);return f&&Math.sqrt(f)};function g(f){return{left:function(v,y,T,S){for(arguments.length<3&&(T=0),arguments.length<4&&(S=v.length);T>>1;f(v[C],y)<0?T=C+1:S=C}return T},right:function(v,y,T,S){for(arguments.length<3&&(T=0),arguments.length<4&&(S=v.length);T>>1;f(v[C],y)>0?S=C:T=C+1}return T}}}var m=g(d);e.bisectLeft=m.left,e.bisect=e.bisectRight=m.right,e.bisector=function(f){return g(f.length===1?function(v,y){return d(f(v),y)}:f)},e.shuffle=function(f,v,y){(T=arguments.length)<3&&(y=f.length,T<2&&(v=0));for(var T=y-v,S,C;T;)C=Math.random()*T--|0,S=f[T+v],f[T+v]=f[C+v],f[C+v]=S;return f},e.permute=function(f,v){for(var y=v.length,T=new Array(y);y--;)T[y]=f[v[y]];return T},e.pairs=function(f){for(var v=0,y=f.length-1,T,S=f[0],C=new Array(y<0?0:y);v=0;)for(R=f[v],y=R.length;--y>=0;)C[--S]=R[y];return C};var x=Math.abs;e.range=function(f,v,y){if(arguments.length<3&&(y=1,arguments.length<2&&(v=f,f=0)),(v-f)/y==1/0)throw new Error("infinite range");var T=[],S=_(x(y)),C=-1,R;if(f*=S,v*=S,y*=S,y<0)for(;(R=f+y*++C)>v;)T.push(R/S);else for(;(R=f+y*++C)=v.length)return S?S.call(f,z):T?z.sort(T):z;for(var G=-1,X=z.length,Q=v[H++],ce,pe,K,ie=new w,le;++G=v.length)return D;var H=[],G=y[z++];return D.forEach(function(X,Q){H.push({key:X,values:R(Q,z)})}),G?H.sort(function(X,Q){return G(X.key,Q.key)}):H}return f.map=function(D,z){return C(z,D,0)},f.entries=function(D){return R(C(e.map,D,0),0)},f.key=function(D){return v.push(D),f},f.sortKeys=function(D){return y[v.length-1]=D,f},f.sortValues=function(D){return T=D,f},f.rollup=function(D){return S=D,f},f},e.set=function(f){var v=new B;if(f)for(var y=0,T=f.length;y=0&&(T=f.slice(y+1),f=f.slice(0,y)),f)return arguments.length<2?this[f].on(T):this[f].on(T,v);if(arguments.length===2){if(v==null)for(f in this)this.hasOwnProperty(f)&&this[f].on(T,null);return this}};function te(f){var v=[],y=new w;function T(){for(var S=v,C=-1,R=S.length,D;++C=0&&(y=f.slice(0,v))!=="xmlns"&&(f=f.slice(v+1)),oe.hasOwnProperty(y)?{space:oe[y],local:f}:f}},Se.attr=function(f,v){if(arguments.length<2){if(typeof f=="string"){var y=this.node();return f=e.ns.qualify(f),f.local?y.getAttributeNS(f.space,f.local):y.getAttribute(f)}for(v in f)this.each(me(v,f[v]));return this}return this.each(me(f,v))};function me(f,v){f=e.ns.qualify(f);function y(){this.removeAttribute(f)}function T(){this.removeAttributeNS(f.space,f.local)}function S(){this.setAttribute(f,v)}function C(){this.setAttributeNS(f.space,f.local,v)}function R(){var z=v.apply(this,arguments);z==null?this.removeAttribute(f):this.setAttribute(f,z)}function D(){var z=v.apply(this,arguments);z==null?this.removeAttributeNS(f.space,f.local):this.setAttributeNS(f.space,f.local,z)}return v==null?f.local?T:y:typeof v=="function"?f.local?D:R:f.local?C:S}function xe(f){return f.trim().replace(/\s+/g," ")}Se.classed=function(f,v){if(arguments.length<2){if(typeof f=="string"){var y=this.node(),T=(f=Pe(f)).length,S=-1;if(v=y.classList){for(;++S=0;)(C=y[T])&&(S&&S!==C.nextSibling&&S.parentNode.insertBefore(C,S),S=C);return this},Se.sort=function(f){f=Ce.apply(this,arguments);for(var v=-1,y=this.length;++v=v&&(v=S+1);!(z=R[v])&&++v0&&(f=f.slice(0,S));var R=Ye.get(f);R&&(f=R,C=ze);function D(){var G=this[T];G&&(this.removeEventListener(f,G,G.$),delete this[T])}function z(){var G=C(v,r(arguments));D.call(this),this.addEventListener(f,this[T]=G,G.$=y),G._=v}function H(){var G=new RegExp("^__on([^.]+)"+e.requote(f)+"$"),X;for(var Q in this)if(X=Q.match(G)){var ce=this[Q];this.removeEventListener(X[1],ce,ce.$),delete this[Q]}}return S?v?z:D:v?$:H}var Ye=e.map({mouseenter:"mouseover",mouseleave:"mouseout"});a&&Ye.forEach(function(f){"on"+f in a&&Ye.remove(f)});function je(f,v){return function(y){var T=e.event;e.event=y,v[0]=this.__data__;try{f.apply(this,v)}finally{e.event=T}}}function ze(f,v){var y=je(f,v);return function(T){var S=this,C=T.relatedTarget;(!C||C!==S&&!(C.compareDocumentPosition(S)&8))&&y.call(S,T)}}var Ge,mt=0;function Tt(f){var v=".dragsuppress-"+ ++mt,y="click"+v,T=e.select(i(f)).on("touchmove"+v,de).on("dragstart"+v,de).on("selectstart"+v,de);if(Ge==null&&(Ge="onselectstart"in f?!1:Y(f.style,"userSelect")),Ge){var S=n(f).style,C=S[Ge];S[Ge]="none"}return function(R){if(T.on(v,null),Ge&&(S[Ge]=C),R){var D=function(){T.on(y,null)};T.on(y,function(){de(),D()},!0),setTimeout(D,0)}}}e.mouse=function(f){return Ne(f,be())};var ot=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function Ne(f,v){v.changedTouches&&(v=v.changedTouches[0]);var y=f.ownerSVGElement||f;if(y.createSVGPoint){var T=y.createSVGPoint();if(ot<0){var S=i(f);if(S.scrollX||S.scrollY){y=e.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var C=y[0][0].getScreenCTM();ot=!(C.f||C.e),y.remove()}}return ot?(T.x=v.pageX,T.y=v.pageY):(T.x=v.clientX,T.y=v.clientY),T=T.matrixTransform(f.getScreenCTM().inverse()),[T.x,T.y]}var R=f.getBoundingClientRect();return[v.clientX-R.left-f.clientLeft,v.clientY-R.top-f.clientTop]}e.touch=function(f,v,y){if(arguments.length<3&&(y=v,v=be().changedTouches),v){for(var T=0,S=v.length,C;T0?1:f<0?-1:0}function Et(f,v,y){return(v[0]-f[0])*(y[1]-f[1])-(v[1]-f[1])*(y[0]-f[0])}function pr(f){return f>1?0:f<-1?dt:Math.acos(f)}function Vr(f){return f>1?ae:f<-1?-ae:Math.asin(f)}function Er(f){return((f=Math.exp(f))-1/f)/2}function hr(f){return((f=Math.exp(f))+1/f)/2}function ca(f){return((f=Math.exp(2*f))-1)/(f+1)}function Qn(f){return(f=Math.sin(f/2))*f}var ia=Math.SQRT2,Xa=2,Cn=4;e.interpolateZoom=function(f,v){var y=f[0],T=f[1],S=f[2],C=v[0],R=v[1],D=v[2],z=C-y,H=R-T,G=z*z+H*H,X,Q;if(G0&&(Ze=Ze.transition().duration(R)),Ze.call(ve.event)}function lt(){ie&&ie.domain(K.range().map(function(Ze){return(Ze-f.x)/f.k}).map(K.invert)),he&&he.domain(le.range().map(function(Ze){return(Ze-f.y)/f.k}).map(le.invert))}function ut(Ze){D++||Ze({type:"zoomstart"})}function Ct(Ze){lt(),Ze({type:"zoom",scale:f.k,translate:[f.x,f.y]})}function ht(Ze){--D||(Ze({type:"zoomend"}),y=null)}function At(){var Ze=this,Lt=pe.of(Ze,arguments),Pt=0,Vt=e.select(i(Ze)).on(H,ea).on(G,pa),gr=ue(e.mouse(Ze)),zr=Tt(Ze);rd.call(Ze),ut(Lt);function ea(){Pt=1,Ke(e.mouse(Ze),gr),Ct(Lt)}function pa(){Vt.on(H,null).on(G,null),zr(Pt),ht(Lt)}}function Wt(){var Ze=this,Lt=pe.of(Ze,arguments),Pt={},Vt=0,gr,zr=".zoom-"+e.event.changedTouches[0].identifier,ea="touchmove"+zr,pa="touchend"+zr,Ca=[],ma=e.select(Ze),ja=Tt(Ze);Oa(),ut(Lt),ma.on(z,null).on(Q,Oa);function oa(){var qn=e.touches(Ze);return gr=f.k,qn.forEach(function(ta){ta.identifier in Pt&&(Pt[ta.identifier]=ue(ta))}),qn}function Oa(){var qn=e.event.target;e.select(qn).on(ea,Po).on(pa,CB),Ca.push(qn);for(var ta=e.event.changedTouches,ln=0,Jn=ta.length;ln1){var Ro=un[0],Gi=un[1],id=Ro[0]-Gi[0],vw=Ro[1]-Gi[1];Vt=id*id+vw*vw}}function Po(){var qn=e.touches(Ze),ta,ln,Jn,un;rd.call(Ze);for(var Bs=0,Ro=qn.length;Bs1?1:v,y=y<0?0:y>1?1:y,S=y<=.5?y*(1+v):y+v-y*v,T=2*y-S;function C(D){return D>360?D-=360:D<0&&(D+=360),D<60?T+(S-T)*D/60:D<180?S:D<240?T+(S-T)*(240-D)/60:T}function R(D){return Math.round(C(D)*255)}return new ha(R(f+120),R(f),R(f-120))}e.hcl=da;function da(f,v,y){return this instanceof da?(this.h=+f,this.c=+v,void(this.l=+y)):arguments.length<2?f instanceof da?new da(f.h,f.c,f.l):f instanceof Yr?zc(f.l,f.a,f.b):zc((f=Oc((f=e.rgb(f)).r,f.g,f.b)).l,f.a,f.b):new da(f,v,y)}var Fa=da.prototype=new $a;Fa.brighter=function(f){return new da(this.h,this.c,Math.min(100,this.l+mr*(arguments.length?f:1)))},Fa.darker=function(f){return new da(this.h,this.c,Math.max(0,this.l-mr*(arguments.length?f:1)))},Fa.rgb=function(){return vi(this.h,this.c,this.l).rgb()};function vi(f,v,y){return isNaN(f)&&(f=0),isNaN(v)&&(v=0),new Yr(y,Math.cos(f*=_e)*v,Math.sin(f)*v)}e.lab=Yr;function Yr(f,v,y){return this instanceof Yr?(this.l=+f,this.a=+v,void(this.b=+y)):arguments.length<2?f instanceof Yr?new Yr(f.l,f.a,f.b):f instanceof da?vi(f.h,f.c,f.l):Oc((f=ha(f)).r,f.g,f.b):new Yr(f,v,y)}var mr=18,Qr=.95047,Mo=1,So=1.08883,Hi=Yr.prototype=new $a;Hi.brighter=function(f){return new Yr(Math.min(100,this.l+mr*(arguments.length?f:1)),this.a,this.b)},Hi.darker=function(f){return new Yr(Math.max(0,this.l-mr*(arguments.length?f:1)),this.a,this.b)},Hi.rgb=function(){return Ic(this.l,this.a,this.b)};function Ic(f,v,y){var T=(f+16)/116,S=T+v/500,C=T-y/200;return S=vu(S)*Qr,T=vu(T)*Mo,C=vu(C)*So,new ha(mu(3.2404542*S-1.5371385*T-.4985314*C),mu(-.969266*S+1.8760108*T+.041556*C),mu(.0556434*S-.2040259*T+1.0572252*C))}function zc(f,v,y){return f>0?new da(Math.atan2(y,v)*Te,Math.sqrt(v*v+y*y),f):new da(NaN,NaN,f)}function vu(f){return f>.206893034?f*f*f:(f-4/29)/7.787037}function pu(f){return f>.008856?Math.pow(f,1/3):7.787037*f+4/29}function mu(f){return Math.round(255*(f<=.00304?12.92*f:1.055*Math.pow(f,1/2.4)-.055))}e.rgb=ha;function ha(f,v,y){return this instanceof ha?(this.r=~~f,this.g=~~v,void(this.b=~~y)):arguments.length<2?f instanceof ha?new ha(f.r,f.g,f.b):Fc(""+f,ha,Sa):new ha(f,v,y)}function Nc(f){return new ha(f>>16,f>>8&255,f&255)}function Es(f){return Nc(f)+""}var Is=ha.prototype=new $a;Is.brighter=function(f){f=Math.pow(.7,arguments.length?f:1);var v=this.r,y=this.g,T=this.b,S=30;return!v&&!y&&!T?new ha(S,S,S):(v&&v>4,T=T>>4|T,S=z&240,S=S>>4|S,C=z&15,C=C<<4|C):f.length===7&&(T=(z&16711680)>>16,S=(z&65280)>>8,C=z&255)),v(T,S,C))}function jc(f,v,y){var T=Math.min(f/=255,v/=255,y/=255),S=Math.max(f,v,y),C=S-T,R,D,z=(S+T)/2;return C?(D=z<.5?C/(S+T):C/(2-S-T),f==S?R=(v-y)/C+(v0&&z<1?0:R),new ka(R,D,z)}function Oc(f,v,y){f=gu(f),v=gu(v),y=gu(y);var T=pu((.4124564*f+.3575761*v+.1804375*y)/Qr),S=pu((.2126729*f+.7151522*v+.072175*y)/Mo),C=pu((.0193339*f+.119192*v+.9503041*y)/So);return Yr(116*S-16,500*(T-S),200*(S-C))}function gu(f){return(f/=255)<=.04045?f/12.92:Math.pow((f+.055)/1.055,2.4)}function yu(f){var v=parseFloat(f);return f.charAt(f.length-1)==="%"?Math.round(v*2.55):v}var yt=e.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});yt.forEach(function(f,v){yt.set(f,Nc(v))});function gt(f){return typeof f=="function"?f:function(){return f}}e.functor=gt,e.xhr=Yt(W);function Yt(f){return function(v,y,T){return arguments.length===2&&typeof y=="function"&&(T=y,y=null),$e(v,y,f,T)}}function $e(f,v,y,T){var S={},C=e.dispatch("beforesend","progress","load","error"),R={},D=new XMLHttpRequest,z=null;self.XDomainRequest&&!("withCredentials"in D)&&/^(http(s)?:)?\/\//.test(f)&&(D=new XDomainRequest),"onload"in D?D.onload=D.onerror=H:D.onreadystatechange=function(){D.readyState>3&&H()};function H(){var G=D.status,X;if(!G&&ir(D)||G>=200&&G<300||G===304){try{X=y.call(S,D)}catch(Q){C.error.call(S,Q);return}C.load.call(S,X)}else C.error.call(S,D)}return D.onprogress=function(G){var X=e.event;e.event=G;try{C.progress.call(S,D)}finally{e.event=X}},S.header=function(G,X){return G=(G+"").toLowerCase(),arguments.length<2?R[G]:(X==null?delete R[G]:R[G]=X+"",S)},S.mimeType=function(G){return arguments.length?(v=G==null?null:G+"",S):v},S.responseType=function(G){return arguments.length?(z=G,S):z},S.response=function(G){return y=G,S},["get","post"].forEach(function(G){S[G]=function(){return S.send.apply(S,[G].concat(r(arguments)))}}),S.send=function(G,X,Q){if(arguments.length===2&&typeof X=="function"&&(Q=X,X=null),D.open(G,f,!0),v!=null&&!("accept"in R)&&(R.accept=v+",*/*"),D.setRequestHeader)for(var ce in R)D.setRequestHeader(ce,R[ce]);return v!=null&&D.overrideMimeType&&D.overrideMimeType(v),z!=null&&(D.responseType=z),Q!=null&&S.on("error",Q).on("load",function(pe){Q(null,pe)}),C.beforesend.call(S,D),D.send(X??null),S},S.abort=function(){return D.abort(),S},e.rebind(S,C,"on"),T==null?S:S.get(va(T))}function va(f){return f.length===1?function(v,y){f(v==null?y:null)}:f}function ir(f){var v=f.responseType;return v&&v!=="text"?f.response:f.responseText}e.dsv=function(f,v){var y=new RegExp('["'+f+` +]`),T=f.charCodeAt(0);function S(H,G,X){arguments.length<3&&(X=G,G=null);var Q=$e(H,v,G==null?C:R(G),X);return Q.row=function(ce){return arguments.length?Q.response((G=ce)==null?C:R(ce)):G},Q}function C(H){return S.parse(H.responseText)}function R(H){return function(G){return S.parse(G.responseText,H)}}S.parse=function(H,G){var X;return S.parseRows(H,function(Q,ce){if(X)return X(Q,ce-1);var pe=function(K){for(var ie={},le=Q.length,he=0;he=pe)return Q;if(he)return he=!1,X;var Ee=K;if(H.charCodeAt(Ee)===34){for(var Xe=Ee;Xe++24?(isFinite(v)&&(clearTimeout(Co),Co=setTimeout(Qp,v)),on=0):(on=1,e_(Qp))}e.timer.flush=function(){t_(),r_()};function t_(){for(var f=Date.now(),v=Kr;v;)f>=v.t&&v.c(f-v.t)&&(v.c=null),v=v.n;return f}function r_(){for(var f,v=Kr,y=1/0;v;)v.c?(v.t=0;--D)K.push(S[H[X[D]][2]]);for(D=+ce;D1&&Et(f[y[T-2]],f[y[T-1]],f[S])<=0;)--T;y[T++]=S}return y.slice(0,T)}function DO(f,v){return f[0]-v[0]||f[1]-v[1]}e.geom.polygon=function(f){return ee(f,Bc),f};var Bc=e.geom.polygon.prototype=[];Bc.area=function(){for(var f=-1,v=this.length,y,T=this[v-1],S=0;++fOe)D=D.L;else if(R=v-IO(D,y),R>Oe){if(!D.R){T=D;break}D=D.R}else{C>-Oe?(T=D.P,S=D):R>-Oe?(T=D,S=D.N):T=S=D;break}var z=s_(f);if(Fs.insert(T,z),!(!T&&!S)){if(T===S){Os(T),S=s_(T.site),Fs.insert(z,S),z.edge=S.edge=_u(T.site,z.site),js(T),js(S);return}if(!S){z.edge=_u(T.site,z.site);return}Os(T),Os(S);var H=T.site,G=H.x,X=H.y,Q=f.x-G,ce=f.y-X,pe=S.site,K=pe.x-G,ie=pe.y-X,le=2*(Q*ie-ce*K),he=Q*Q+ce*ce,ve=K*K+ie*ie,ue={x:(ie*he-ce*ve)/le+G,y:(Q*ve-K*he)/le+X};Uc(S.edge,H,pe,ue),z.edge=_u(H,f,null,ue),S.edge=_u(f,pe,null,ue),js(T),js(S)}}function l_(f,v){var y=f.site,T=y.x,S=y.y,C=S-v;if(!C)return T;var R=f.P;if(!R)return-1/0;y=R.site;var D=y.x,z=y.y,H=z-v;if(!H)return D;var G=D-T,X=1/C-1/H,Q=G/H;return X?(-Q+Math.sqrt(Q*Q-2*X*(G*G/(-2*H)-z+H/2+S-C/2)))/X+T:(T+D)/2}function IO(f,v){var y=f.N;if(y)return l_(y,v);var T=f.site;return T.y===v?T.x:1/0}function u_(f){this.site=f,this.edges=[]}u_.prototype.prepare=function(){for(var f=this.edges,v=f.length,y;v--;)y=f[v].edge,(!y.b||!y.a)&&f.splice(v,1);return f.sort(f_),f.length};function zO(f){for(var v=f[0][0],y=f[1][0],T=f[0][1],S=f[1][1],C,R,D,z,H=Lo,G=H.length,X,Q,ce,pe,K,ie;G--;)if(X=H[G],!(!X||!X.prepare()))for(ce=X.edges,pe=ce.length,Q=0;QOe||x(z-R)>Oe)&&(ce.splice(Q,0,new Gc(HO(X.site,ie,x(D-v)Oe?{x:v,y:x(C-v)Oe?{x:x(R-S)Oe?{x:y,y:x(C-y)Oe?{x:x(R-T)=-st)){var ce=z*z+H*H,pe=G*G+X*X,K=(X*ce-H*pe)/Q,ie=(z*pe-G*ce)/Q,X=ie+D,le=o_.pop()||new NO;le.arc=f,le.site=S,le.x=K+R,le.y=X+Math.sqrt(K*K+ie*ie),le.cy=X,f.circle=le;for(var he=null,ve=xu._;ve;)if(le.y0)){if(K/=ce,ce<0){if(K0){if(K>Q)return;K>X&&(X=K)}if(K=y-D,!(!ce&&K<0)){if(K/=ce,ce<0){if(K>Q)return;K>X&&(X=K)}else if(ce>0){if(K0)){if(K/=pe,pe<0){if(K0){if(K>Q)return;K>X&&(X=K)}if(K=T-z,!(!pe&&K<0)){if(K/=pe,pe<0){if(K>Q)return;K>X&&(X=K)}else if(pe>0){if(K0&&(S.a={x:D+X*ce,y:z+X*pe}),Q<1&&(S.b={x:D+Q*ce,y:z+Q*pe}),S}}}}}}function jO(f){for(var v=Ns,y=FO(f[0][0],f[0][1],f[1][0],f[1][1]),T=v.length,S;T--;)S=v[T],(!OO(S,f)||!y(S)||x(S.a.x-S.b.x)=C)return;if(G>Q){if(!T)T={x:pe,y:R};else if(T.y>=D)return;y={x:pe,y:D}}else{if(!T)T={x:pe,y:D};else if(T.y1)if(G>Q){if(!T)T={x:(R-le)/ie,y:R};else if(T.y>=D)return;y={x:(D-le)/ie,y:D}}else{if(!T)T={x:(D-le)/ie,y:D};else if(T.y=C)return;y={x:C,y:ie*C+le}}else{if(!T)T={x:C,y:ie*C+le};else if(T.x=G&&le.x<=Q&&le.y>=X&&le.y<=ce?[[G,ce],[Q,ce],[Q,X],[G,X]]:[];he.point=z[K]}),H}function D(z){return z.map(function(H,G){return{x:Math.round(T(H,G)/Oe)*Oe,y:Math.round(S(H,G)/Oe)*Oe,i:G}})}return R.links=function(z){return am(D(z)).edges.filter(function(H){return H.l&&H.r}).map(function(H){return{source:z[H.l.i],target:z[H.r.i]}})},R.triangles=function(z){var H=[];return am(D(z)).cells.forEach(function(G,X){for(var Q=G.site,ce=G.edges.sort(f_),pe=-1,K=ce.length,ie,le,he=ce[K-1].edge,ve=he.l===Q?he.r:he.l;++peve&&(ve=G.x),G.y>ue&&(ue=G.y),ce.push(G.x),pe.push(G.y);else for(K=0;Kve&&(ve=Ee),Xe>ue&&(ue=Xe),ce.push(Ee),pe.push(Xe)}var Ke=ve-le,Qe=ue-he;Ke>Qe?ue=he+Ke:ve=le+Qe;function lt(ht,At,Wt,wr,$t,Ze,Lt,Pt){if(!(isNaN(Wt)||isNaN(wr)))if(ht.leaf){var Vt=ht.x,gr=ht.y;if(Vt!=null)if(x(Vt-Wt)+x(gr-wr)<.01)ut(ht,At,Wt,wr,$t,Ze,Lt,Pt);else{var zr=ht.point;ht.x=ht.y=ht.point=null,ut(ht,zr,Vt,gr,$t,Ze,Lt,Pt),ut(ht,At,Wt,wr,$t,Ze,Lt,Pt)}else ht.x=Wt,ht.y=wr,ht.point=At}else ut(ht,At,Wt,wr,$t,Ze,Lt,Pt)}function ut(ht,At,Wt,wr,$t,Ze,Lt,Pt){var Vt=($t+Lt)*.5,gr=(Ze+Pt)*.5,zr=Wt>=Vt,ea=wr>=gr,pa=ea<<1|zr;ht.leaf=!1,ht=ht.nodes[pa]||(ht.nodes[pa]=h_()),zr?$t=Vt:Lt=Vt,ea?Ze=gr:Pt=gr,lt(ht,At,Wt,wr,$t,Ze,Lt,Pt)}var Ct=h_();if(Ct.add=function(ht){lt(Ct,ht,+X(ht,++K),+Q(ht,K),le,he,ve,ue)},Ct.visit=function(ht){Au(ht,Ct,le,he,ve,ue)},Ct.find=function(ht){return VO(Ct,ht[0],ht[1],le,he,ve,ue)},K=-1,v==null){for(;++KC||Q>R||ce=Ee,Qe=y>=Xe,lt=Qe<<1|Ke,ut=lt+4;lty&&(C=v.slice(y,C),D[R]?D[R]+=C:D[++R]=C),(T=T[0])===(S=S[0])?D[R]?D[R]+=S:D[++R]=S:(D[++R]=null,z.push({i:R,x:pi(T,S)})),y=om.lastIndex;return y=0&&!(T=e.interpolators[y](f,v)););return T}e.interpolators=[function(f,v){var y=typeof v;return(y==="string"?yt.has(v.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(v)?nm:p_:v instanceof $a?nm:Array.isArray(v)?Yc:y==="object"&&isNaN(v)?v_:pi)(f,v)}],e.interpolateArray=Yc;function Yc(f,v){var y=[],T=[],S=f.length,C=v.length,R=Math.min(f.length,v.length),D;for(D=0;D=0?f.slice(0,v):f,T=v>=0?f.slice(v+1):"in";return y=YO.get(y)||m_,T=ZO.get(T)||W,XO(T(y.apply(null,t.call(arguments,1))))};function XO(f){return function(v){return v<=0?0:v>=1?1:f(v)}}function g_(f){return function(v){return 1-f(1-v)}}function y_(f){return function(v){return .5*(v<.5?f(2*v):2-f(2-2*v))}}function $O(f){return f*f}function QO(f){return f*f*f}function KO(f){if(f<=0)return 0;if(f>=1)return 1;var v=f*f,y=v*f;return 4*(f<.5?y:3*(f-v)+y-.75)}function JO(f){return function(v){return Math.pow(v,f)}}function eH(f){return 1-Math.cos(f*ae)}function tH(f){return Math.pow(2,10*(f-1))}function rH(f){return 1-Math.sqrt(1-f*f)}function aH(f,v){var y;return arguments.length<2&&(v=.45),arguments.length?y=v/vt*Math.asin(1/f):(f=1,y=v/4),function(T){return 1+f*Math.pow(2,-10*T)*Math.sin((T-y)*vt/v)}}function nH(f){return f||(f=1.70158),function(v){return v*v*((f+1)*v-f)}}function iH(f){return f<1/2.75?7.5625*f*f:f<2/2.75?7.5625*(f-=1.5/2.75)*f+.75:f<2.5/2.75?7.5625*(f-=2.25/2.75)*f+.9375:7.5625*(f-=2.625/2.75)*f+.984375}e.interpolateHcl=oH;function oH(f,v){f=e.hcl(f),v=e.hcl(v);var y=f.h,T=f.c,S=f.l,C=v.h-y,R=v.c-T,D=v.l-S;return isNaN(R)&&(R=0,T=isNaN(T)?v.c:T),isNaN(C)?(C=0,y=isNaN(y)?v.h:y):C>180?C-=360:C<-180&&(C+=360),function(z){return vi(y+C*z,T+R*z,S+D*z)+""}}e.interpolateHsl=sH;function sH(f,v){f=e.hsl(f),v=e.hsl(v);var y=f.h,T=f.s,S=f.l,C=v.h-y,R=v.s-T,D=v.l-S;return isNaN(R)&&(R=0,T=isNaN(T)?v.s:T),isNaN(C)?(C=0,y=isNaN(y)?v.h:y):C>180?C-=360:C<-180&&(C+=360),function(z){return Sa(y+C*z,T+R*z,S+D*z)+""}}e.interpolateLab=lH;function lH(f,v){f=e.lab(f),v=e.lab(v);var y=f.l,T=f.a,S=f.b,C=v.l-y,R=v.a-T,D=v.b-S;return function(z){return Ic(y+C*z,T+R*z,S+D*z)+""}}e.interpolateRound=b_;function b_(f,v){return v-=f,function(y){return Math.round(f+v*y)}}e.transform=function(f){var v=a.createElementNS(e.ns.prefix.svg,"g");return(e.transform=function(y){if(y!=null){v.setAttribute("transform",y);var T=v.transform.baseVal.consolidate()}return new x_(T?T.matrix:fH)})(f)};function x_(f){var v=[f.a,f.b],y=[f.c,f.d],T=w_(v),S=__(v,y),C=w_(uH(y,v,-S))||0;v[0]*y[1]180?v+=360:v-f>180&&(f+=360),T.push({i:y.push(Hs(y)+"rotate(",null,")")-2,x:pi(f,v)})):v&&y.push(Hs(y)+"rotate("+v+")")}function hH(f,v,y,T){f!==v?T.push({i:y.push(Hs(y)+"skewX(",null,")")-2,x:pi(f,v)}):v&&y.push(Hs(y)+"skewX("+v+")")}function vH(f,v,y,T){if(f[0]!==v[0]||f[1]!==v[1]){var S=y.push(Hs(y)+"scale(",null,",",null,")");T.push({i:S-4,x:pi(f[0],v[0])},{i:S-2,x:pi(f[1],v[1])})}else(v[0]!==1||v[1]!==1)&&y.push(Hs(y)+"scale("+v+")")}function T_(f,v){var y=[],T=[];return f=e.transform(f),v=e.transform(v),cH(f.translate,v.translate,y,T),dH(f.rotate,v.rotate,y,T),hH(f.skew,v.skew,y,T),vH(f.scale,v.scale,y,T),f=v=null,function(S){for(var C=-1,R=T.length,D;++C0?C=ue:(y.c=null,y.t=NaN,y=null,v.end({type:"end",alpha:C=0})):ue>0&&(v.start({type:"start",alpha:C=ue}),y=Hc(f.tick)),f):C},f.start=function(){var ue,Ee=ce.length,Xe=pe.length,Ke=T[0],Qe=T[1],lt,ut;for(ue=0;ue=0;)C.push(G=H[z]),G.parent=D,G.depth=D.depth+1;y&&(D.value=0),D.children=H}else y&&(D.value=+y.call(T,D,D.depth)||0),delete D.children;return Kn(S,function(X){var Q,ce;f&&(Q=X.children)&&Q.sort(f),y&&(ce=X.parent)&&(ce.value+=X.value)}),R}return T.sort=function(S){return arguments.length?(f=S,T):f},T.children=function(S){return arguments.length?(v=S,T):v},T.value=function(S){return arguments.length?(y=S,T):y},T.revalue=function(S){return y&&(Mu(S,function(C){C.children&&(C.value=0)}),Kn(S,function(C){var R;C.children||(C.value=+y.call(T,C,C.depth)||0),(R=C.parent)&&(R.value+=C.value)})),S},T};function ku(f,v){return e.rebind(f,v,"sort","children","value"),f.nodes=f,f.links=LH,f}function Mu(f,v){for(var y=[f];(f=y.pop())!=null;)if(v(f),(S=f.children)&&(T=S.length))for(var T,S;--T>=0;)y.push(S[T])}function Kn(f,v){for(var y=[f],T=[];(f=y.pop())!=null;)if(T.push(f),(R=f.children)&&(C=R.length))for(var S=-1,C,R;++SS&&(S=D),T.push(D)}for(R=0;RT&&(y=v,T=S);return y}function zH(f){return f.reduce(NH,0)}function NH(f,v){return f+v[1]}e.layout.histogram=function(){var f=!0,v=Number,y=jH,T=FH;function S(C,R){for(var D=[],z=C.map(v,this),H=y.call(this,z,R),G=T.call(this,H,z,R),X,R=-1,Q=z.length,ce=G.length-1,pe=f?1:1/Q,K;++R0)for(R=-1;++R=H[0]&&K<=H[1]&&(X=D[e.bisect(G,K,1,ce)-1],X.y+=pe,X.push(C[R]));return D}return S.value=function(C){return arguments.length?(v=C,S):v},S.range=function(C){return arguments.length?(y=gt(C),S):y},S.bins=function(C){return arguments.length?(T=typeof C=="number"?function(R){return S_(R,C)}:gt(C),S):T},S.frequency=function(C){return arguments.length?(f=!!C,S):f},S};function FH(f,v){return S_(f,Math.ceil(Math.log(v.length)/Math.LN2+1))}function S_(f,v){for(var y=-1,T=+f[0],S=(f[1]-T)/v,C=[];++y<=v;)C[y]=S*y+T;return C}function jH(f){return[e.min(f),e.max(f)]}e.layout.pack=function(){var f=e.layout.hierarchy().sort(OH),v=0,y=[1,1],T;function S(C,R){var D=f.call(this,C,R),z=D[0],H=y[0],G=y[1],X=T==null?Math.sqrt:typeof T=="function"?T:function(){return T};if(z.x=z.y=0,Kn(z,function(ce){ce.r=+X(ce.value)}),Kn(z,q_),v){var Q=v*(T?1:Math.max(2*z.r/H,2*z.r/G))/2;Kn(z,function(ce){ce.r+=Q}),Kn(z,q_),Kn(z,function(ce){ce.r-=Q})}return D_(z,H/2,G/2,T?1:1/Math.max(2*z.r/H,2*z.r/G)),D}return S.size=function(C){return arguments.length?(y=C,S):y},S.radius=function(C){return arguments.length?(T=C==null||typeof C=="function"?C:+C,S):T},S.padding=function(C){return arguments.length?(v=+C,S):v},ku(S,f)};function OH(f,v){return f.value-v.value}function um(f,v){var y=f._pack_next;f._pack_next=v,v._pack_prev=f,v._pack_next=y,y._pack_prev=v}function C_(f,v){f._pack_next=v,v._pack_prev=f}function L_(f,v){var y=v.x-f.x,T=v.y-f.y,S=f.r+v.r;return .999*S*S>y*y+T*T}function q_(f){if(!(v=f.children)||!(Q=v.length))return;var v,y=1/0,T=-1/0,S=1/0,C=-1/0,R,D,z,H,G,X,Q;function ce(ue){y=Math.min(ue.x-ue.r,y),T=Math.max(ue.x+ue.r,T),S=Math.min(ue.y-ue.r,S),C=Math.max(ue.y+ue.r,C)}if(v.forEach(HH),R=v[0],R.x=-R.r,R.y=0,ce(R),Q>1&&(D=v[1],D.x=D.r,D.y=0,ce(D),Q>2))for(z=v[2],P_(R,D,z),ce(z),um(R,z),R._pack_prev=z,um(z,D),D=R._pack_next,H=3;Hie.x&&(ie=Ee),Ee.depth>le.depth&&(le=Ee)});var he=v(K,ie)/2-K.x,ve=y[0]/(ie.x+v(ie,K)/2+he),ue=y[1]/(le.depth||1);Mu(ce,function(Ee){Ee.x=(Ee.x+he)*ve,Ee.y=Ee.depth*ue})}return Q}function C(G){for(var X={A:null,children:[G]},Q=[X],ce;(ce=Q.pop())!=null;)for(var pe=ce.children,K,ie=0,le=pe.length;ie0&&(UH(WH(K,G,Q),G,Ee),le+=Ee,he+=Ee),ve+=K.m,le+=ce.m,ue+=ie.m,he+=pe.m;K&&!cm(pe)&&(pe.t=K,pe.m+=ve-he),ce&&!fm(ie)&&(ie.t=ce,ie.m+=le-ue,Q=G)}return Q}function H(G){G.x*=y[0],G.y=G.depth*y[1]}return S.separation=function(G){return arguments.length?(v=G,S):v},S.size=function(G){return arguments.length?(T=(y=G)==null?H:null,S):T?null:y},S.nodeSize=function(G){return arguments.length?(T=(y=G)==null?null:H,S):T?y:null},ku(S,f)};function R_(f,v){return f.parent==v.parent?1:2}function fm(f){var v=f.children;return v.length?v[0]:f.t}function cm(f){var v=f.children,y;return(y=v.length)?v[y-1]:f.t}function UH(f,v,y){var T=y/(v.i-f.i);v.c-=T,v.s+=y,f.c+=T,v.z+=y,v.m+=y}function GH(f){for(var v=0,y=0,T=f.children,S=T.length,C;--S>=0;)C=T[S],C.z+=v,C.m+=v,v+=C.s+(y+=C.c)}function WH(f,v,y){return f.a.parent===v.parent?f.a:y}e.layout.cluster=function(){var f=e.layout.hierarchy().sort(null).value(null),v=R_,y=[1,1],T=!1;function S(C,R){var D=f.call(this,C,R),z=D[0],H,G=0;Kn(z,function(K){var ie=K.children;ie&&ie.length?(K.x=YH(ie),K.y=VH(ie)):(K.x=H?G+=v(K,H):0,K.y=0,H=K)});var X=E_(z),Q=I_(z),ce=X.x-v(X,Q)/2,pe=Q.x+v(Q,X)/2;return Kn(z,T?function(K){K.x=(K.x-z.x)*y[0],K.y=(z.y-K.y)*y[1]}:function(K){K.x=(K.x-ce)/(pe-ce)*y[0],K.y=(1-(z.y?K.y/z.y:1))*y[1]}),D}return S.separation=function(C){return arguments.length?(v=C,S):v},S.size=function(C){return arguments.length?(T=(y=C)==null,S):T?null:y},S.nodeSize=function(C){return arguments.length?(T=(y=C)!=null,S):T?y:null},ku(S,f)};function VH(f){return 1+e.max(f,function(v){return v.y})}function YH(f){return f.reduce(function(v,y){return v+y.x},0)/f.length}function E_(f){var v=f.children;return v&&v.length?E_(v[0]):f}function I_(f){var v=f.children,y;return v&&(y=v.length)?I_(v[y-1]):f}e.layout.treemap=function(){var f=e.layout.hierarchy(),v=Math.round,y=[1,1],T=null,S=dm,C=!1,R,D="squarify",z=.5*(1+Math.sqrt(5));function H(K,ie){for(var le=-1,he=K.length,ve,ue;++le0;)he.push(ue=ve[Qe-1]),he.area+=ue.area,D!=="squarify"||(Xe=Q(he,Ke))<=Ee?(ve.pop(),Ee=Xe):(he.area-=he.pop().area,ce(he,Ke,le,!1),Ke=Math.min(le.dx,le.dy),he.length=he.area=0,Ee=1/0);he.length&&(ce(he,Ke,le,!0),he.length=he.area=0),ie.forEach(G)}}function X(K){var ie=K.children;if(ie&&ie.length){var le=S(K),he=ie.slice(),ve,ue=[];for(H(he,le.dx*le.dy/K.value),ue.area=0;ve=he.pop();)ue.push(ve),ue.area+=ve.area,ve.z!=null&&(ce(ue,ve.z?le.dx:le.dy,le,!he.length),ue.length=ue.area=0);ie.forEach(X)}}function Q(K,ie){for(var le=K.area,he,ve=0,ue=1/0,Ee=-1,Xe=K.length;++Eeve&&(ve=he));return le*=le,ie*=ie,le?Math.max(ie*ve*z/le,le/(ie*ue*z)):1/0}function ce(K,ie,le,he){var ve=-1,ue=K.length,Ee=le.x,Xe=le.y,Ke=ie?v(K.area/ie):0,Qe;if(ie==le.dx){for((he||Ke>le.dy)&&(Ke=le.dy);++vele.dx)&&(Ke=le.dx);++ve1);return f+v*T*Math.sqrt(-2*Math.log(C)/C)}},logNormal:function(){var f=e.random.normal.apply(e,arguments);return function(){return Math.exp(f())}},bates:function(f){var v=e.random.irwinHall(f);return function(){return v()/f}},irwinHall:function(f){return function(){for(var v=0,y=0;y2?$H:ZH,H=T?mH:pH;return S=z(f,v,H,y),C=z(v,f,H,qo),D}function D(z){return S(z)}return D.invert=function(z){return C(z)},D.domain=function(z){return arguments.length?(f=z.map(Number),R()):f},D.range=function(z){return arguments.length?(v=z,R()):v},D.rangeRound=function(z){return D.range(z).interpolate(b_)},D.clamp=function(z){return arguments.length?(T=z,R()):T},D.interpolate=function(z){return arguments.length?(y=z,R()):y},D.ticks=function(z){return pm(f,z)},D.tickFormat=function(z,H){return d3_scale_linearTickFormat(f,z,H)},D.nice=function(z){return O_(f,z),R()},D.copy=function(){return F_(f,v,y,T)},R()}function j_(f,v){return e.rebind(f,v,"range","rangeRound","interpolate","clamp")}function O_(f,v){return hm(f,N_(vm(f,v)[2])),hm(f,N_(vm(f,v)[2])),f}function vm(f,v){v==null&&(v=10);var y=Zc(f),T=y[1]-y[0],S=Math.pow(10,Math.floor(Math.log(T/v)/Math.LN10)),C=v/T*S;return C<=.15?S*=10:C<=.35?S*=5:C<=.75&&(S*=2),y[0]=Math.ceil(y[0]/S)*S,y[1]=Math.floor(y[1]/S)*S+S*.5,y[2]=S,y}function pm(f,v){return e.range.apply(e,vm(f,v))}var QH={s:1,g:1,p:1,r:1,e:1};function H_(f){return-Math.floor(Math.log(f)/Math.LN10+.01)}function Gme(f,v){var y=H_(v[2]);return f in QH?Math.abs(y-H_(Math.max(x(v[0]),x(v[1]))))+ +(f!=="e"):y-(f==="%")*2}e.scale.log=function(){return B_(e.scale.linear().domain([0,1]),10,!0,[1,10])};function B_(f,v,y,T){function S(D){return(y?Math.log(D<0?0:D):-Math.log(D>0?0:-D))/Math.log(v)}function C(D){return y?Math.pow(v,D):-Math.pow(v,-D)}function R(D){return f(S(D))}return R.invert=function(D){return C(f.invert(D))},R.domain=function(D){return arguments.length?(y=D[0]>=0,f.domain((T=D.map(Number)).map(S)),R):T},R.base=function(D){return arguments.length?(v=+D,f.domain(T.map(S)),R):v},R.nice=function(){var D=hm(T.map(S),y?Math:KH);return f.domain(D),T=D.map(C),R},R.ticks=function(){var D=Zc(T),z=[],H=D[0],G=D[1],X=Math.floor(S(H)),Q=Math.ceil(S(G)),ce=v%1?2:v;if(isFinite(Q-X)){if(y){for(;X0;pe--)z.push(C(X)*pe);for(X=0;z[X]G;Q--);z=z.slice(X,Q)}return z},R.copy=function(){return B_(f.copy(),v,y,T)},j_(R,f)}var KH={floor:function(f){return-Math.ceil(-f)},ceil:function(f){return-Math.floor(-f)}};e.scale.pow=function(){return U_(e.scale.linear(),1,[0,1])};function U_(f,v,y){var T=$c(v),S=$c(1/v);function C(R){return f(T(R))}return C.invert=function(R){return S(f.invert(R))},C.domain=function(R){return arguments.length?(f.domain((y=R.map(Number)).map(T)),C):y},C.ticks=function(R){return pm(y,R)},C.tickFormat=function(R,D){return d3_scale_linearTickFormat(y,R,D)},C.nice=function(R){return C.domain(O_(y,R))},C.exponent=function(R){return arguments.length?(T=$c(v=R),S=$c(1/v),f.domain(y.map(T)),C):v},C.copy=function(){return U_(f.copy(),v,y)},j_(C,f)}function $c(f){return function(v){return v<0?-Math.pow(-v,f):Math.pow(v,f)}}e.scale.sqrt=function(){return e.scale.pow().exponent(.5)},e.scale.ordinal=function(){return G_([],{t:"range",a:[[]]})};function G_(f,v){var y,T,S;function C(D){return T[((y.get(D)||(v.t==="range"?y.set(D,f.push(D)):NaN))-1)%T.length]}function R(D,z){return e.range(f.length).map(function(H){return D+z*H})}return C.domain=function(D){if(!arguments.length)return f;f=[],y=new w;for(var z=-1,H=D.length,G;++z0?y[C-1]:f[0],CQ?0:1;if(G=pt)return z(G,pe)+(H?z(H,1-pe):"")+"Z";var K,ie,le,he,ve=0,ue=0,Ee,Xe,Ke,Qe,lt,ut,Ct,ht,At=[];if((he=(+R.apply(this,arguments)||0)/2)&&(le=T===Qc?Math.sqrt(H*H+G*G):+T.apply(this,arguments),pe||(ue*=-1),G&&(ue=Vr(le/G*Math.sin(he))),H&&(ve=Vr(le/H*Math.sin(he)))),G){Ee=G*Math.cos(X+ue),Xe=G*Math.sin(X+ue),Ke=G*Math.cos(Q-ue),Qe=G*Math.sin(Q-ue);var Wt=Math.abs(Q-X-2*ue)<=dt?0:1;if(ue&&Kc(Ee,Xe,Ke,Qe)===pe^Wt){var wr=(X+Q)/2;Ee=G*Math.cos(wr),Xe=G*Math.sin(wr),Ke=Qe=null}}else Ee=Xe=0;if(H){lt=H*Math.cos(Q-ve),ut=H*Math.sin(Q-ve),Ct=H*Math.cos(X+ve),ht=H*Math.sin(X+ve);var $t=Math.abs(X-Q+2*ve)<=dt?0:1;if(ve&&Kc(lt,ut,Ct,ht)===1-pe^$t){var Ze=(X+Q)/2;lt=H*Math.cos(Ze),ut=H*Math.sin(Ze),Ct=ht=null}}else lt=ut=0;if(ce>Oe&&(K=Math.min(Math.abs(G-H)/2,+y.apply(this,arguments)))>.001){ie=H0?0:1}function Jc(f,v,y,T,S){var C=f[0]-v[0],R=f[1]-v[1],D=(S?T:-T)/Math.sqrt(C*C+R*R),z=D*R,H=-D*C,G=f[0]+z,X=f[1]+H,Q=v[0]+z,ce=v[1]+H,pe=(G+Q)/2,K=(X+ce)/2,ie=Q-G,le=ce-X,he=ie*ie+le*le,ve=y-T,ue=G*ce-Q*X,Ee=(le<0?-1:1)*Math.sqrt(Math.max(0,ve*ve*he-ue*ue)),Xe=(ue*le-ie*Ee)/he,Ke=(-ue*ie-le*Ee)/he,Qe=(ue*le+ie*Ee)/he,lt=(-ue*ie+le*Ee)/he,ut=Xe-pe,Ct=Ke-K,ht=Qe-pe,At=lt-K;return ut*ut+Ct*Ct>ht*ht+At*At&&(Xe=Qe,Ke=lt),[[Xe-z,Ke-H],[Xe*y/ve,Ke*y/ve]]}function Q_(){return!0}function K_(f){var v=zs,y=bu,T=Q_,S=Ln,C=S.key,R=.7;function D(z){var H=[],G=[],X=-1,Q=z.length,ce,pe=gt(v),K=gt(y);function ie(){H.push("M",S(f(G),R))}for(;++X1?f.join("L"):f+"Z"}function J_(f){return f.join("L")+"Z"}function sB(f){for(var v=0,y=f.length,T=f[0],S=[T[0],",",T[1]];++v1&&S.push("H",T[0]),S.join("")}function gm(f){for(var v=0,y=f.length,T=f[0],S=[T[0],",",T[1]];++v1){D=v[1],C=f[z],z++,T+="C"+(S[0]+R[0])+","+(S[1]+R[1])+","+(C[0]-D[0])+","+(C[1]-D[1])+","+C[0]+","+C[1];for(var H=2;H9&&(C=y*3/Math.sqrt(C),R[D]=C*T,R[D+1]=C*S));for(D=-1;++D<=z;)C=(f[Math.min(z,D+1)][0]-f[Math.max(0,D-1)][0])/(6*(1+R[D]*R[D])),v.push([C||0,R[D]*C||0]);return v}function mB(f){return f.length<3?Ln(f):f[0]+ed(f,pB(f))}e.svg.line.radial=function(){var f=K_(aw);return f.radius=f.x,delete f.x,f.angle=f.y,delete f.y,f};function aw(f){for(var v,y=-1,T=f.length,S,C;++ydt)+",1 "+X}function H(G,X,Q,ce){return"Q 0,0 "+ce}return C.radius=function(G){return arguments.length?(y=gt(G),C):y},C.source=function(G){return arguments.length?(f=gt(G),C):f},C.target=function(G){return arguments.length?(v=gt(G),C):v},C.startAngle=function(G){return arguments.length?(T=gt(G),C):T},C.endAngle=function(G){return arguments.length?(S=gt(G),C):S},C};function gB(f){return f.radius}e.svg.diagonal=function(){var f=iw,v=ow,y=sw;function T(S,C){var R=f.call(this,S,C),D=v.call(this,S,C),z=(R.y+D.y)/2,H=[R,{x:R.x,y:z},{x:D.x,y:z},D];return H=H.map(y),"M"+H[0]+"C"+H[1]+" "+H[2]+" "+H[3]}return T.source=function(S){return arguments.length?(f=gt(S),T):f},T.target=function(S){return arguments.length?(v=gt(S),T):v},T.projection=function(S){return arguments.length?(y=S,T):y},T};function sw(f){return[f.x,f.y]}e.svg.diagonal.radial=function(){var f=e.svg.diagonal(),v=sw,y=f.projection;return f.projection=function(T){return arguments.length?y(yB(v=T)):v},f};function yB(f){return function(){var v=f.apply(this,arguments),y=v[0],T=v[1]-ae;return[y*Math.cos(T),y*Math.sin(T)]}}e.svg.symbol=function(){var f=xB,v=bB;function y(T,S){return(uw.get(f.call(this,T,S))||lw)(v.call(this,T,S))}return y.type=function(T){return arguments.length?(f=gt(T),y):f},y.size=function(T){return arguments.length?(v=gt(T),y):v},y};function bB(){return 64}function xB(){return"circle"}function lw(f){var v=Math.sqrt(f/dt);return"M0,"+v+"A"+v+","+v+" 0 1,1 0,"+-v+"A"+v+","+v+" 0 1,1 0,"+v+"Z"}var uw=e.map({circle:lw,cross:function(f){var v=Math.sqrt(f/5)/2;return"M"+-3*v+","+-v+"H"+-v+"V"+-3*v+"H"+v+"V"+-v+"H"+3*v+"V"+v+"H"+v+"V"+3*v+"H"+-v+"V"+v+"H"+-3*v+"Z"},diamond:function(f){var v=Math.sqrt(f/(2*fw)),y=v*fw;return"M0,"+-v+"L"+y+",0 0,"+v+" "+-y+",0Z"},square:function(f){var v=Math.sqrt(f)/2;return"M"+-v+","+-v+"L"+v+","+-v+" "+v+","+v+" "+-v+","+v+"Z"},"triangle-down":function(f){var v=Math.sqrt(f/td),y=v*td/2;return"M0,"+y+"L"+v+","+-y+" "+-v+","+-y+"Z"},"triangle-up":function(f){var v=Math.sqrt(f/td),y=v*td/2;return"M0,"+-y+"L"+v+","+y+" "+-v+","+y+"Z"}});e.svg.symbolTypes=uw.keys();var td=Math.sqrt(3),fw=Math.tan(30*_e);Se.transition=function(f){for(var v=Do||++dw,y=Tm(f),T=[],S,C,R=ad||{time:Date.now(),ease:KO,delay:0,duration:250},D=-1,z=this.length;++D0;)X[--he].call(f,le);if(ie>=1)return R.event&&R.event.end.call(f,f.__data__,v),--C.count?delete C[T]:delete f[y],1}R||(D=S.time,z=Hc(Q,0,D),R=C[T]={tween:new w,time:D,timer:z,delay:S.delay,duration:S.duration,ease:S.ease,index:v},S=null,++C.count)}e.svg.axis=function(){var f=e.scale.linear(),v=hw,y=6,T=6,S=3,C=[10],R=null,D;function z(H){H.each(function(){var G=e.select(this),X=this.__chart__||f,Q=this.__chart__=f.copy(),ce=R??(Q.ticks?Q.ticks.apply(Q,C):Q.domain()),pe=D??(Q.tickFormat?Q.tickFormat.apply(Q,C):W),K=G.selectAll(".tick").data(ce,Q),ie=K.enter().insert("g",".domain").attr("class","tick").style("opacity",Oe),le=e.transition(K.exit()).style("opacity",Oe).remove(),he=e.transition(K.order()).style("opacity",1),ve=Math.max(y,0)+S,ue,Ee=Xc(Q),Xe=G.selectAll(".domain").data([0]),Ke=(Xe.enter().append("path").attr("class","domain"),e.transition(Xe));ie.append("line"),ie.append("text");var Qe=ie.select("line"),lt=he.select("line"),ut=K.select("text").text(pe),Ct=ie.select("text"),ht=he.select("text"),At=v==="top"||v==="left"?-1:1,Wt,wr,$t,Ze;if(v==="bottom"||v==="top"?(ue=TB,Wt="x",$t="y",wr="x2",Ze="y2",ut.attr("dy",At<0?"0em":".71em").style("text-anchor","middle"),Ke.attr("d","M"+Ee[0]+","+At*T+"V0H"+Ee[1]+"V"+At*T)):(ue=AB,Wt="y",$t="x",wr="y2",Ze="x2",ut.attr("dy",".32em").style("text-anchor",At<0?"end":"start"),Ke.attr("d","M"+At*T+","+Ee[0]+"H0V"+Ee[1]+"H"+At*T)),Qe.attr(Ze,At*y),Ct.attr($t,At*ve),lt.attr(wr,0).attr(Ze,At*y),ht.attr(Wt,0).attr($t,At*ve),Q.rangeBand){var Lt=Q,Pt=Lt.rangeBand()/2;X=Q=function(Vt){return Lt(Vt)+Pt}}else X.rangeBand?X=Q:le.call(ue,Q,X);ie.call(ue,X,Q),he.call(ue,Q,Q)})}return z.scale=function(H){return arguments.length?(f=H,z):f},z.orient=function(H){return arguments.length?(v=H in wB?H+"":hw,z):v},z.ticks=function(){return arguments.length?(C=r(arguments),z):C},z.tickValues=function(H){return arguments.length?(R=H,z):R},z.tickFormat=function(H){return arguments.length?(D=H,z):D},z.tickSize=function(H){var G=arguments.length;return G?(y=+H,T=+arguments[G-1],z):y},z.innerTickSize=function(H){return arguments.length?(y=+H,z):y},z.outerTickSize=function(H){return arguments.length?(T=+H,z):T},z.tickPadding=function(H){return arguments.length?(S=+H,z):S},z.tickSubdivide=function(){return arguments.length&&z},z};var hw="bottom",wB={top:1,right:1,bottom:1,left:1};function TB(f,v,y){f.attr("transform",function(T){var S=v(T);return"translate("+(isFinite(S)?S:y(T))+",0)"})}function AB(f,v,y){f.attr("transform",function(T){var S=v(T);return"translate(0,"+(isFinite(S)?S:y(T))+")"})}e.svg.brush=function(){var f=re(G,"brushstart","brush","brushend"),v=null,y=null,T=[0,0],S=[0,0],C,R,D=!0,z=!0,H=Am[0];function G(K){K.each(function(){var ie=e.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",pe).on("touchstart.brush",pe),le=ie.selectAll(".background").data([0]);le.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),ie.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var he=ie.selectAll(".resize").data(H,W);he.exit().remove(),he.enter().append("g").attr("class",function(Xe){return"resize "+Xe}).style("cursor",function(Xe){return kB[Xe]}).append("rect").attr("x",function(Xe){return/[ew]$/.test(Xe)?-3:null}).attr("y",function(Xe){return/^[ns]/.test(Xe)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),he.style("display",G.empty()?"none":null);var ve=e.transition(ie),ue=e.transition(le),Ee;v&&(Ee=Xc(v),ue.attr("x",Ee[0]).attr("width",Ee[1]-Ee[0]),Q(ve)),y&&(Ee=Xc(y),ue.attr("y",Ee[0]).attr("height",Ee[1]-Ee[0]),ce(ve)),X(ve)})}G.event=function(K){K.each(function(){var ie=f.of(this,arguments),le={x:T,y:S,i:C,j:R},he=this.__chart__||le;this.__chart__=le,Do?e.select(this).transition().each("start.brush",function(){C=he.i,R=he.j,T=he.x,S=he.y,ie({type:"brushstart"})}).tween("brush:brush",function(){var ve=Yc(T,le.x),ue=Yc(S,le.y);return C=R=null,function(Ee){T=le.x=ve(Ee),S=le.y=ue(Ee),ie({type:"brush",mode:"resize"})}}).each("end.brush",function(){C=le.i,R=le.j,ie({type:"brush",mode:"resize"}),ie({type:"brushend"})}):(ie({type:"brushstart"}),ie({type:"brush",mode:"resize"}),ie({type:"brushend"}))})};function X(K){K.selectAll(".resize").attr("transform",function(ie){return"translate("+T[+/e$/.test(ie)]+","+S[+/^s/.test(ie)]+")"})}function Q(K){K.select(".extent").attr("x",T[0]),K.selectAll(".extent,.n>rect,.s>rect").attr("width",T[1]-T[0])}function ce(K){K.select(".extent").attr("y",S[0]),K.selectAll(".extent,.e>rect,.w>rect").attr("height",S[1]-S[0])}function pe(){var K=this,ie=e.select(e.event.target),le=f.of(K,arguments),he=e.select(K),ve=ie.datum(),ue=!/^(n|s)$/.test(ve)&&v,Ee=!/^(e|w)$/.test(ve)&&y,Xe=ie.classed("extent"),Ke=Tt(K),Qe,lt=e.mouse(K),ut,Ct=e.select(i(K)).on("keydown.brush",Wt).on("keyup.brush",wr);if(e.event.changedTouches?Ct.on("touchmove.brush",$t).on("touchend.brush",Lt):Ct.on("mousemove.brush",$t).on("mouseup.brush",Lt),he.interrupt().selectAll("*").interrupt(),Xe)lt[0]=T[0]-lt[0],lt[1]=S[0]-lt[1];else if(ve){var ht=+/w$/.test(ve),At=+/^n/.test(ve);ut=[T[1-ht]-lt[0],S[1-At]-lt[1]],lt[0]=T[ht],lt[1]=S[At]}else e.event.altKey&&(Qe=lt.slice());he.style("pointer-events","none").selectAll(".resize").style("display",null),e.select("body").style("cursor",ie.style("cursor")),le({type:"brushstart"}),$t();function Wt(){e.event.keyCode==32&&(Xe||(Qe=null,lt[0]-=T[1],lt[1]-=S[1],Xe=2),de())}function wr(){e.event.keyCode==32&&Xe==2&&(lt[0]+=T[1],lt[1]+=S[1],Xe=0,de())}function $t(){var Pt=e.mouse(K),Vt=!1;ut&&(Pt[0]+=ut[0],Pt[1]+=ut[1]),Xe||(e.event.altKey?(Qe||(Qe=[(T[0]+T[1])/2,(S[0]+S[1])/2]),lt[0]=T[+(Pt[0]{(function(e,t){typeof kd=="object"&&typeof KM!="undefined"?t(kd):typeof define=="function"&&define.amd?define(["exports"],t):(e=e||self,t(e.d3=e.d3||{}))})(kd,function(e){"use strict";var t=new Date,r=new Date;function a(se,Ce,it,ct){function Je(we){return se(we=arguments.length===0?new Date:new Date(+we)),we}return Je.floor=function(we){return se(we=new Date(+we)),we},Je.ceil=function(we){return se(we=new Date(we-1)),Ce(we,1),se(we),we},Je.round=function(we){var Me=Je(we),Ye=Je.ceil(we);return we-Me0))return je;do je.push(ze=new Date(+we)),Ce(we,Ye),se(we);while(ze=Me)for(;se(Me),!we(Me);)Me.setTime(Me-1)},function(Me,Ye){if(Me>=Me)if(Ye<0)for(;++Ye<=0;)for(;Ce(Me,-1),!we(Me););else for(;--Ye>=0;)for(;Ce(Me,1),!we(Me););})},it&&(Je.count=function(we,Me){return t.setTime(+we),r.setTime(+Me),se(t),se(r),Math.floor(it(t,r))},Je.every=function(we){return we=Math.floor(we),!isFinite(we)||!(we>0)?null:we>1?Je.filter(ct?function(Me){return ct(Me)%we==0}:function(Me){return Je.count(0,Me)%we==0}):Je}),Je}var n=a(function(){},function(se,Ce){se.setTime(+se+Ce)},function(se,Ce){return Ce-se});n.every=function(se){return se=Math.floor(se),!isFinite(se)||!(se>0)?null:se>1?a(function(Ce){Ce.setTime(Math.floor(Ce/se)*se)},function(Ce,it){Ce.setTime(+Ce+it*se)},function(Ce,it){return(it-Ce)/se}):n};var i=n.range,o=1e3,s=6e4,l=36e5,u=864e5,c=6048e5,d=a(function(se){se.setTime(se-se.getMilliseconds())},function(se,Ce){se.setTime(+se+Ce*o)},function(se,Ce){return(Ce-se)/o},function(se){return se.getUTCSeconds()}),h=d.range,p=a(function(se){se.setTime(se-se.getMilliseconds()-se.getSeconds()*o)},function(se,Ce){se.setTime(+se+Ce*s)},function(se,Ce){return(Ce-se)/s},function(se){return se.getMinutes()}),g=p.range,m=a(function(se){se.setTime(se-se.getMilliseconds()-se.getSeconds()*o-se.getMinutes()*s)},function(se,Ce){se.setTime(+se+Ce*l)},function(se,Ce){return(Ce-se)/l},function(se){return se.getHours()}),b=m.range,x=a(function(se){se.setHours(0,0,0,0)},function(se,Ce){se.setDate(se.getDate()+Ce)},function(se,Ce){return(Ce-se-(Ce.getTimezoneOffset()-se.getTimezoneOffset())*s)/u},function(se){return se.getDate()-1}),_=x.range;function k(se){return a(function(Ce){Ce.setDate(Ce.getDate()-(Ce.getDay()+7-se)%7),Ce.setHours(0,0,0,0)},function(Ce,it){Ce.setDate(Ce.getDate()+it*7)},function(Ce,it){return(it-Ce-(it.getTimezoneOffset()-Ce.getTimezoneOffset())*s)/c})}var w=k(0),A=k(1),L=k(2),M=k(3),q=k(4),P=k(5),E=k(6),F=w.range,N=A.range,j=L.range,B=M.range,W=q.range,V=P.range,Y=E.range,Z=a(function(se){se.setDate(1),se.setHours(0,0,0,0)},function(se,Ce){se.setMonth(se.getMonth()+Ce)},function(se,Ce){return Ce.getMonth()-se.getMonth()+(Ce.getFullYear()-se.getFullYear())*12},function(se){return se.getMonth()}),$=Z.range,ne=a(function(se){se.setMonth(0,1),se.setHours(0,0,0,0)},function(se,Ce){se.setFullYear(se.getFullYear()+Ce)},function(se,Ce){return Ce.getFullYear()-se.getFullYear()},function(se){return se.getFullYear()});ne.every=function(se){return!isFinite(se=Math.floor(se))||!(se>0)?null:a(function(Ce){Ce.setFullYear(Math.floor(Ce.getFullYear()/se)*se),Ce.setMonth(0,1),Ce.setHours(0,0,0,0)},function(Ce,it){Ce.setFullYear(Ce.getFullYear()+it*se)})};var te=ne.range,de=a(function(se){se.setUTCSeconds(0,0)},function(se,Ce){se.setTime(+se+Ce*s)},function(se,Ce){return(Ce-se)/s},function(se){return se.getUTCMinutes()}),be=de.range,re=a(function(se){se.setUTCMinutes(0,0,0)},function(se,Ce){se.setTime(+se+Ce*l)},function(se,Ce){return(Ce-se)/l},function(se){return se.getUTCHours()}),ge=re.range,ee=a(function(se){se.setUTCHours(0,0,0,0)},function(se,Ce){se.setUTCDate(se.getUTCDate()+Ce)},function(se,Ce){return(Ce-se)/u},function(se){return se.getUTCDate()-1}),Ae=ee.range;function ke(se){return a(function(Ce){Ce.setUTCDate(Ce.getUTCDate()-(Ce.getUTCDay()+7-se)%7),Ce.setUTCHours(0,0,0,0)},function(Ce,it){Ce.setUTCDate(Ce.getUTCDate()+it*7)},function(Ce,it){return(it-Ce)/c})}var qe=ke(0),Le=ke(1),Se=ke(2),U=ke(3),J=ke(4),O=ke(5),oe=ke(6),me=qe.range,xe=Le.range,De=Se.range,Pe=U.range,ye=J.range,rt=O.range,Ue=oe.range,nt=a(function(se){se.setUTCDate(1),se.setUTCHours(0,0,0,0)},function(se,Ce){se.setUTCMonth(se.getUTCMonth()+Ce)},function(se,Ce){return Ce.getUTCMonth()-se.getUTCMonth()+(Ce.getUTCFullYear()-se.getUTCFullYear())*12},function(se){return se.getUTCMonth()}),at=nt.range,ft=a(function(se){se.setUTCMonth(0,1),se.setUTCHours(0,0,0,0)},function(se,Ce){se.setUTCFullYear(se.getUTCFullYear()+Ce)},function(se,Ce){return Ce.getUTCFullYear()-se.getUTCFullYear()},function(se){return se.getUTCFullYear()});ft.every=function(se){return!isFinite(se=Math.floor(se))||!(se>0)?null:a(function(Ce){Ce.setUTCFullYear(Math.floor(Ce.getUTCFullYear()/se)*se),Ce.setUTCMonth(0,1),Ce.setUTCHours(0,0,0,0)},function(Ce,it){Ce.setUTCFullYear(Ce.getUTCFullYear()+it*se)})};var wt=ft.range;e.timeDay=x,e.timeDays=_,e.timeFriday=P,e.timeFridays=V,e.timeHour=m,e.timeHours=b,e.timeInterval=a,e.timeMillisecond=n,e.timeMilliseconds=i,e.timeMinute=p,e.timeMinutes=g,e.timeMonday=A,e.timeMondays=N,e.timeMonth=Z,e.timeMonths=$,e.timeSaturday=E,e.timeSaturdays=Y,e.timeSecond=d,e.timeSeconds=h,e.timeSunday=w,e.timeSundays=F,e.timeThursday=q,e.timeThursdays=W,e.timeTuesday=L,e.timeTuesdays=j,e.timeWednesday=M,e.timeWednesdays=B,e.timeWeek=w,e.timeWeeks=F,e.timeYear=ne,e.timeYears=te,e.utcDay=ee,e.utcDays=Ae,e.utcFriday=O,e.utcFridays=rt,e.utcHour=re,e.utcHours=ge,e.utcMillisecond=n,e.utcMilliseconds=i,e.utcMinute=de,e.utcMinutes=be,e.utcMonday=Le,e.utcMondays=xe,e.utcMonth=nt,e.utcMonths=at,e.utcSaturday=oe,e.utcSaturdays=Ue,e.utcSecond=d,e.utcSeconds=h,e.utcSunday=qe,e.utcSundays=me,e.utcThursday=J,e.utcThursdays=ye,e.utcTuesday=Se,e.utcTuesdays=De,e.utcWednesday=U,e.utcWednesdays=Pe,e.utcWeek=qe,e.utcWeeks=me,e.utcYear=ft,e.utcYears=wt,Object.defineProperty(e,"__esModule",{value:!0})})});var Ks=I((Md,JM)=>{(function(e,t){typeof Md=="object"&&typeof JM!="undefined"?t(Md,tg()):typeof define=="function"&&define.amd?define(["exports","d3-time"],t):(e=e||self,t(e.d3=e.d3||{},e.d3))})(Md,function(e,t){"use strict";function r(ae){if(0<=ae.y&&ae.y<100){var _e=new Date(-1,ae.m,ae.d,ae.H,ae.M,ae.S,ae.L);return _e.setFullYear(ae.y),_e}return new Date(ae.y,ae.m,ae.d,ae.H,ae.M,ae.S,ae.L)}function a(ae){if(0<=ae.y&&ae.y<100){var _e=new Date(Date.UTC(-1,ae.m,ae.d,ae.H,ae.M,ae.S,ae.L));return _e.setUTCFullYear(ae.y),_e}return new Date(Date.UTC(ae.y,ae.m,ae.d,ae.H,ae.M,ae.S,ae.L))}function n(ae,_e,Te){return{y:ae,m:_e,d:Te,H:0,M:0,S:0,L:0}}function i(ae){var _e=ae.dateTime,Te=ae.date,Fe=ae.time,Et=ae.periods,pr=ae.days,Vr=ae.shortDays,Er=ae.months,hr=ae.shortMonths,ca=h(Et),Qn=p(Et),ia=h(pr),Xa=p(pr),Cn=h(Vr),Aa=p(Vr),hi=h(Er),ko=p(Er),$a=h(hr),ka=p(hr),Ma={a:pu,A:mu,b:ha,B:Nc,c:null,d:Z,e:Z,f:be,g:O,G:me,H:$,I:ne,j:te,L:de,m:re,M:ge,p:Es,q:Is,Q:Tt,s:ot,S:ee,u:Ae,U:ke,V:Le,w:Se,W:U,x:null,X:null,y:J,Y:oe,Z:xe,"%":mt},Sa={a:Bi,A:Fc,b:jc,B:Oc,c:null,d:De,e:De,f:nt,g:Ye,G:ze,H:Pe,I:ye,j:rt,L:Ue,m:at,M:ft,p:gu,q:yu,Q:Tt,s:ot,S:wt,u:se,U:Ce,V:ct,w:Je,W:we,x:null,X:null,y:Me,Y:je,Z:Ge,"%":mt},da={a:Qr,A:Mo,b:So,B:Hi,c:Ic,d:q,e:q,f:B,g:w,G:k,H:E,I:E,j:P,L:j,m:M,M:F,p:mr,q:L,Q:V,s:Y,S:N,u:m,U:b,V:x,w:g,W:_,x:zc,X:vu,y:w,Y:k,Z:A,"%":W};Ma.x=Fa(Te,Ma),Ma.X=Fa(Fe,Ma),Ma.c=Fa(_e,Ma),Sa.x=Fa(Te,Sa),Sa.X=Fa(Fe,Sa),Sa.c=Fa(_e,Sa);function Fa(yt,gt){return function(Yt){var $e=[],va=-1,ir=0,Kr=yt.length,Jr,on,Co;for(Yt instanceof Date||(Yt=new Date(+Yt));++va53)return null;"w"in $e||($e.w=1),"Z"in $e?(ir=a(n($e.y,0,1)),Kr=ir.getUTCDay(),ir=Kr>4||Kr===0?t.utcMonday.ceil(ir):t.utcMonday(ir),ir=t.utcDay.offset(ir,($e.V-1)*7),$e.y=ir.getUTCFullYear(),$e.m=ir.getUTCMonth(),$e.d=ir.getUTCDate()+($e.w+6)%7):(ir=r(n($e.y,0,1)),Kr=ir.getDay(),ir=Kr>4||Kr===0?t.timeMonday.ceil(ir):t.timeMonday(ir),ir=t.timeDay.offset(ir,($e.V-1)*7),$e.y=ir.getFullYear(),$e.m=ir.getMonth(),$e.d=ir.getDate()+($e.w+6)%7)}else("W"in $e||"U"in $e)&&("w"in $e||($e.w="u"in $e?$e.u%7:"W"in $e?1:0),Kr="Z"in $e?a(n($e.y,0,1)).getUTCDay():r(n($e.y,0,1)).getDay(),$e.m=0,$e.d="W"in $e?($e.w+6)%7+$e.W*7-(Kr+5)%7:$e.w+$e.U*7-(Kr+6)%7);return"Z"in $e?($e.H+=$e.Z/100|0,$e.M+=$e.Z%100,a($e)):r($e)}}function Yr(yt,gt,Yt,$e){for(var va=0,ir=gt.length,Kr=Yt.length,Jr,on;va=Kr)return-1;if(Jr=gt.charCodeAt(va++),Jr===37){if(Jr=gt.charAt(va++),on=da[Jr in o?gt.charAt(va++):Jr],!on||($e=on(yt,Yt,$e))<0)return-1}else if(Jr!=Yt.charCodeAt($e++))return-1}return $e}function mr(yt,gt,Yt){var $e=ca.exec(gt.slice(Yt));return $e?(yt.p=Qn[$e[0].toLowerCase()],Yt+$e[0].length):-1}function Qr(yt,gt,Yt){var $e=Cn.exec(gt.slice(Yt));return $e?(yt.w=Aa[$e[0].toLowerCase()],Yt+$e[0].length):-1}function Mo(yt,gt,Yt){var $e=ia.exec(gt.slice(Yt));return $e?(yt.w=Xa[$e[0].toLowerCase()],Yt+$e[0].length):-1}function So(yt,gt,Yt){var $e=$a.exec(gt.slice(Yt));return $e?(yt.m=ka[$e[0].toLowerCase()],Yt+$e[0].length):-1}function Hi(yt,gt,Yt){var $e=hi.exec(gt.slice(Yt));return $e?(yt.m=ko[$e[0].toLowerCase()],Yt+$e[0].length):-1}function Ic(yt,gt,Yt){return Yr(yt,_e,gt,Yt)}function zc(yt,gt,Yt){return Yr(yt,Te,gt,Yt)}function vu(yt,gt,Yt){return Yr(yt,Fe,gt,Yt)}function pu(yt){return Vr[yt.getDay()]}function mu(yt){return pr[yt.getDay()]}function ha(yt){return hr[yt.getMonth()]}function Nc(yt){return Er[yt.getMonth()]}function Es(yt){return Et[+(yt.getHours()>=12)]}function Is(yt){return 1+~~(yt.getMonth()/3)}function Bi(yt){return Vr[yt.getUTCDay()]}function Fc(yt){return pr[yt.getUTCDay()]}function jc(yt){return hr[yt.getUTCMonth()]}function Oc(yt){return Er[yt.getUTCMonth()]}function gu(yt){return Et[+(yt.getUTCHours()>=12)]}function yu(yt){return 1+~~(yt.getUTCMonth()/3)}return{format:function(yt){var gt=Fa(yt+="",Ma);return gt.toString=function(){return yt},gt},parse:function(yt){var gt=vi(yt+="",!1);return gt.toString=function(){return yt},gt},utcFormat:function(yt){var gt=Fa(yt+="",Sa);return gt.toString=function(){return yt},gt},utcParse:function(yt){var gt=vi(yt+="",!0);return gt.toString=function(){return yt},gt}}}var o={"-":"",_:" ","0":"0"},s=/^\s*\d+/,l=/^%/,u=/[\\^$*+?|[\]().{}]/g;function c(ae,_e,Te){var Fe=ae<0?"-":"",Et=(Fe?-ae:ae)+"",pr=Et.length;return Fe+(pr68?1900:2e3),Te+Fe[0].length):-1}function A(ae,_e,Te){var Fe=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(_e.slice(Te,Te+6));return Fe?(ae.Z=Fe[1]?0:-(Fe[2]+(Fe[3]||"00")),Te+Fe[0].length):-1}function L(ae,_e,Te){var Fe=s.exec(_e.slice(Te,Te+1));return Fe?(ae.q=Fe[0]*3-3,Te+Fe[0].length):-1}function M(ae,_e,Te){var Fe=s.exec(_e.slice(Te,Te+2));return Fe?(ae.m=Fe[0]-1,Te+Fe[0].length):-1}function q(ae,_e,Te){var Fe=s.exec(_e.slice(Te,Te+2));return Fe?(ae.d=+Fe[0],Te+Fe[0].length):-1}function P(ae,_e,Te){var Fe=s.exec(_e.slice(Te,Te+3));return Fe?(ae.m=0,ae.d=+Fe[0],Te+Fe[0].length):-1}function E(ae,_e,Te){var Fe=s.exec(_e.slice(Te,Te+2));return Fe?(ae.H=+Fe[0],Te+Fe[0].length):-1}function F(ae,_e,Te){var Fe=s.exec(_e.slice(Te,Te+2));return Fe?(ae.M=+Fe[0],Te+Fe[0].length):-1}function N(ae,_e,Te){var Fe=s.exec(_e.slice(Te,Te+2));return Fe?(ae.S=+Fe[0],Te+Fe[0].length):-1}function j(ae,_e,Te){var Fe=s.exec(_e.slice(Te,Te+3));return Fe?(ae.L=+Fe[0],Te+Fe[0].length):-1}function B(ae,_e,Te){var Fe=s.exec(_e.slice(Te,Te+6));return Fe?(ae.L=Math.floor(Fe[0]/1e3),Te+Fe[0].length):-1}function W(ae,_e,Te){var Fe=l.exec(_e.slice(Te,Te+1));return Fe?Te+Fe[0].length:-1}function V(ae,_e,Te){var Fe=s.exec(_e.slice(Te));return Fe?(ae.Q=+Fe[0],Te+Fe[0].length):-1}function Y(ae,_e,Te){var Fe=s.exec(_e.slice(Te));return Fe?(ae.s=+Fe[0],Te+Fe[0].length):-1}function Z(ae,_e){return c(ae.getDate(),_e,2)}function $(ae,_e){return c(ae.getHours(),_e,2)}function ne(ae,_e){return c(ae.getHours()%12||12,_e,2)}function te(ae,_e){return c(1+t.timeDay.count(t.timeYear(ae),ae),_e,3)}function de(ae,_e){return c(ae.getMilliseconds(),_e,3)}function be(ae,_e){return de(ae,_e)+"000"}function re(ae,_e){return c(ae.getMonth()+1,_e,2)}function ge(ae,_e){return c(ae.getMinutes(),_e,2)}function ee(ae,_e){return c(ae.getSeconds(),_e,2)}function Ae(ae){var _e=ae.getDay();return _e===0?7:_e}function ke(ae,_e){return c(t.timeSunday.count(t.timeYear(ae)-1,ae),_e,2)}function qe(ae){var _e=ae.getDay();return _e>=4||_e===0?t.timeThursday(ae):t.timeThursday.ceil(ae)}function Le(ae,_e){return ae=qe(ae),c(t.timeThursday.count(t.timeYear(ae),ae)+(t.timeYear(ae).getDay()===4),_e,2)}function Se(ae){return ae.getDay()}function U(ae,_e){return c(t.timeMonday.count(t.timeYear(ae)-1,ae),_e,2)}function J(ae,_e){return c(ae.getFullYear()%100,_e,2)}function O(ae,_e){return ae=qe(ae),c(ae.getFullYear()%100,_e,2)}function oe(ae,_e){return c(ae.getFullYear()%1e4,_e,4)}function me(ae,_e){var Te=ae.getDay();return ae=Te>=4||Te===0?t.timeThursday(ae):t.timeThursday.ceil(ae),c(ae.getFullYear()%1e4,_e,4)}function xe(ae){var _e=ae.getTimezoneOffset();return(_e>0?"-":(_e*=-1,"+"))+c(_e/60|0,"0",2)+c(_e%60,"0",2)}function De(ae,_e){return c(ae.getUTCDate(),_e,2)}function Pe(ae,_e){return c(ae.getUTCHours(),_e,2)}function ye(ae,_e){return c(ae.getUTCHours()%12||12,_e,2)}function rt(ae,_e){return c(1+t.utcDay.count(t.utcYear(ae),ae),_e,3)}function Ue(ae,_e){return c(ae.getUTCMilliseconds(),_e,3)}function nt(ae,_e){return Ue(ae,_e)+"000"}function at(ae,_e){return c(ae.getUTCMonth()+1,_e,2)}function ft(ae,_e){return c(ae.getUTCMinutes(),_e,2)}function wt(ae,_e){return c(ae.getUTCSeconds(),_e,2)}function se(ae){var _e=ae.getUTCDay();return _e===0?7:_e}function Ce(ae,_e){return c(t.utcSunday.count(t.utcYear(ae)-1,ae),_e,2)}function it(ae){var _e=ae.getUTCDay();return _e>=4||_e===0?t.utcThursday(ae):t.utcThursday.ceil(ae)}function ct(ae,_e){return ae=it(ae),c(t.utcThursday.count(t.utcYear(ae),ae)+(t.utcYear(ae).getUTCDay()===4),_e,2)}function Je(ae){return ae.getUTCDay()}function we(ae,_e){return c(t.utcMonday.count(t.utcYear(ae)-1,ae),_e,2)}function Me(ae,_e){return c(ae.getUTCFullYear()%100,_e,2)}function Ye(ae,_e){return ae=it(ae),c(ae.getUTCFullYear()%100,_e,2)}function je(ae,_e){return c(ae.getUTCFullYear()%1e4,_e,4)}function ze(ae,_e){var Te=ae.getUTCDay();return ae=Te>=4||Te===0?t.utcThursday(ae):t.utcThursday.ceil(ae),c(ae.getUTCFullYear()%1e4,_e,4)}function Ge(){return"+0000"}function mt(){return"%"}function Tt(ae){return+ae}function ot(ae){return Math.floor(+ae/1e3)}var Ne;et({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function et(ae){return Ne=i(ae),e.timeFormat=Ne.format,e.timeParse=Ne.parse,e.utcFormat=Ne.utcFormat,e.utcParse=Ne.utcParse,Ne}var Oe="%Y-%m-%dT%H:%M:%S.%LZ";function st(ae){return ae.toISOString()}var dt=Date.prototype.toISOString?st:e.utcFormat(Oe);function vt(ae){var _e=new Date(ae);return isNaN(_e)?null:_e}var pt=+new Date("2000-01-01T00:00:00.000Z")?vt:e.utcParse(Oe);e.isoFormat=dt,e.isoParse=pt,e.timeFormatDefaultLocale=et,e.timeFormatLocale=i,Object.defineProperty(e,"__esModule",{value:!0})})});var rg=I((Sd,eS)=>{(function(e,t){typeof Sd=="object"&&typeof eS!="undefined"?t(Sd):typeof define=="function"&&define.amd?define(["exports"],t):(e=typeof globalThis!="undefined"?globalThis:e||self,t(e.d3=e.d3||{}))})(Sd,function(e){"use strict";function t(M){return Math.abs(M=Math.round(M))>=1e21?M.toLocaleString("en").replace(/,/g,""):M.toString(10)}function r(M,q){if((P=(M=q?M.toExponential(q-1):M.toExponential()).indexOf("e"))<0)return null;var P,E=M.slice(0,P);return[E.length>1?E[0]+E.slice(2):E,+M.slice(P+1)]}function a(M){return M=r(Math.abs(M)),M?M[1]:NaN}function n(M,q){return function(P,E){for(var F=P.length,N=[],j=0,B=M[0],W=0;F>0&&B>0&&(W+B+1>E&&(B=Math.max(1,E-W)),N.push(P.substring(F-=B,F+B)),!((W+=B+1)>E));)B=M[j=(j+1)%M.length];return N.reverse().join(q)}}function i(M){return function(q){return q.replace(/[0-9]/g,function(P){return M[+P]})}}var o=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function s(M){if(!(q=o.exec(M)))throw new Error("invalid format: "+M);var q;return new l({fill:q[1],align:q[2],sign:q[3],symbol:q[4],zero:q[5],width:q[6],comma:q[7],precision:q[8]&&q[8].slice(1),trim:q[9],type:q[10]})}s.prototype=l.prototype;function l(M){this.fill=M.fill===void 0?" ":M.fill+"",this.align=M.align===void 0?">":M.align+"",this.sign=M.sign===void 0?"-":M.sign+"",this.symbol=M.symbol===void 0?"":M.symbol+"",this.zero=!!M.zero,this.width=M.width===void 0?void 0:+M.width,this.comma=!!M.comma,this.precision=M.precision===void 0?void 0:+M.precision,this.trim=!!M.trim,this.type=M.type===void 0?"":M.type+""}l.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function u(M){e:for(var q=M.length,P=1,E=-1,F;P0&&(E=0);break}return E>0?M.slice(0,E)+M.slice(F+1):M}var c;function d(M,q){var P=r(M,q);if(!P)return M+"";var E=P[0],F=P[1],N=F-(c=Math.max(-8,Math.min(8,Math.floor(F/3)))*3)+1,j=E.length;return N===j?E:N>j?E+new Array(N-j+1).join("0"):N>0?E.slice(0,N)+"."+E.slice(N):"0."+new Array(1-N).join("0")+r(M,Math.max(0,q+N-1))[0]}function h(M,q){var P=r(M,q);if(!P)return M+"";var E=P[0],F=P[1];return F<0?"0."+new Array(-F).join("0")+E:E.length>F+1?E.slice(0,F+1)+"."+E.slice(F+1):E+new Array(F-E.length+2).join("0")}var p={"%":function(M,q){return(M*100).toFixed(q)},b:function(M){return Math.round(M).toString(2)},c:function(M){return M+""},d:t,e:function(M,q){return M.toExponential(q)},f:function(M,q){return M.toFixed(q)},g:function(M,q){return M.toPrecision(q)},o:function(M){return Math.round(M).toString(8)},p:function(M,q){return h(M*100,q)},r:h,s:d,X:function(M){return Math.round(M).toString(16).toUpperCase()},x:function(M){return Math.round(M).toString(16)}};function g(M){return M}var m=Array.prototype.map,b=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function x(M){var q=M.grouping===void 0||M.thousands===void 0?g:n(m.call(M.grouping,Number),M.thousands+""),P=M.currency===void 0?"":M.currency[0]+"",E=M.currency===void 0?"":M.currency[1]+"",F=M.decimal===void 0?".":M.decimal+"",N=M.numerals===void 0?g:i(m.call(M.numerals,String)),j=M.percent===void 0?"%":M.percent+"",B=M.minus===void 0?"-":M.minus+"",W=M.nan===void 0?"NaN":M.nan+"";function V(Z){Z=s(Z);var $=Z.fill,ne=Z.align,te=Z.sign,de=Z.symbol,be=Z.zero,re=Z.width,ge=Z.comma,ee=Z.precision,Ae=Z.trim,ke=Z.type;ke==="n"?(ge=!0,ke="g"):p[ke]||(ee===void 0&&(ee=12),Ae=!0,ke="g"),(be||$==="0"&&ne==="=")&&(be=!0,$="0",ne="=");var qe=de==="$"?P:de==="#"&&/[boxX]/.test(ke)?"0"+ke.toLowerCase():"",Le=de==="$"?E:/[%p]/.test(ke)?j:"",Se=p[ke],U=/[defgprs%]/.test(ke);ee=ee===void 0?6:/[gprs]/.test(ke)?Math.max(1,Math.min(21,ee)):Math.max(0,Math.min(20,ee));function J(O){var oe=qe,me=Le,xe,De,Pe;if(ke==="c")me=Se(O)+me,O="";else{O=+O;var ye=O<0||1/O<0;if(O=isNaN(O)?W:Se(Math.abs(O),ee),Ae&&(O=u(O)),ye&&+O==0&&te!=="+"&&(ye=!1),oe=(ye?te==="("?te:B:te==="-"||te==="("?"":te)+oe,me=(ke==="s"?b[8+c/3]:"")+me+(ye&&te==="("?")":""),U){for(xe=-1,De=O.length;++xePe||Pe>57){me=(Pe===46?F+O.slice(xe+1):O.slice(xe))+me,O=O.slice(0,xe);break}}}ge&&!be&&(O=q(O,1/0));var rt=oe.length+O.length+me.length,Ue=rt>1)+oe+O+me+Ue.slice(rt);break;default:O=Ue+oe+O+me;break}return N(O)}return J.toString=function(){return Z+""},J}function Y(Z,$){var ne=V((Z=s(Z),Z.type="f",Z)),te=Math.max(-8,Math.min(8,Math.floor(a($)/3)))*3,de=Math.pow(10,-te),be=b[8+te/3];return function(re){return ne(de*re)+be}}return{format:V,formatPrefix:Y}}var _;k({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"});function k(M){return _=x(M),e.format=_.format,e.formatPrefix=_.formatPrefix,_}function w(M){return Math.max(0,-a(Math.abs(M)))}function A(M,q){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(a(q)/3)))*3-a(Math.abs(M)))}function L(M,q){return M=Math.abs(M),q=Math.abs(q)-M,Math.max(0,a(q)-a(M))+1}e.FormatSpecifier=l,e.formatDefaultLocale=k,e.formatLocale=x,e.formatSpecifier=s,e.precisionFixed=w,e.precisionPrefix=A,e.precisionRound=L,Object.defineProperty(e,"__esModule",{value:!0})})});var rS=I((E0e,tS)=>{"use strict";tS.exports=function(e){for(var t=e.length,r,a=0;a13)&&r!==32&&r!==133&&r!==160&&r!==5760&&r!==6158&&(r<8192||r>8205)&&r!==8232&&r!==8233&&r!==8239&&r!==8287&&r!==8288&&r!==12288&&r!==65279)return!1;return!0}});var jt=I((I0e,aS)=>{"use strict";var GQ=rS();aS.exports=function(e){var t=typeof e;if(t==="string"){var r=e;if(e=+e,e===0&&GQ(r))return!1}else if(t!=="number")return!1;return e-e<1}});var Tr=I((z0e,nS)=>{"use strict";nS.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE*1e-4,ONEMAXYEAR:316224e5,ONEAVGYEAR:315576e5,ONEMINYEAR:31536e6,ONEMAXQUARTER:79488e5,ONEAVGQUARTER:78894e5,ONEMINQUARTER:76896e5,ONEMAXMONTH:26784e5,ONEAVGMONTH:26298e5,ONEMINMONTH:24192e5,ONEWEEK:6048e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:24405875e-1,ALMOST_EQUAL:1-1e-6,LOG_CLIP:10,MINUS_SIGN:"\u2212"}});var zo=I(Yi=>{"use strict";var ag=Array.isArray,WQ=ArrayBuffer,VQ=DataView;function iS(e){return WQ.isView(e)&&!(e instanceof VQ)}Yi.isTypedArray=iS;function Cd(e){return ag(e)||iS(e)}Yi.isArrayOrTypedArray=Cd;function YQ(e){return!Cd(e[0])}Yi.isArray1D=YQ;Yi.ensureArray=function(e,t){return ag(e)||(e=[]),e.length=t,e};Yi.concat=function(){var e=[],t=!0,r=0,a,n,i,o,s,l,u,c;for(i=0;i{"use strict";var sS=jt(),ng=zo().isArrayOrTypedArray;cS.exports=function(t,r){if(sS(r))r=String(r);else if(typeof r!="string"||r.substr(r.length-4)==="[-1]")throw"bad property string";for(var a=0,n=r.split("."),i,o,s;a{"use strict";var Js=Ld(),KQ=/^\w*$/,JQ=0,dS=1,qd=2,hS=3,No=4;vS.exports=function(t,r,a,n){a=a||"name",n=n||"value";var i,o,s,l={};r&&r.length?(s=Js(t,r),o=s.get()):o=t,r=r||"";var u={};if(o)for(i=0;i2)return l[p]=l[p]|qd,d.set(h,null);if(c){for(i=p;i{"use strict";var eK=/^(.*)(\.[^\.\[\]]+|\[\d\])$/,tK=/^[^\.\[\]]+$/;mS.exports=function(e,t){for(;t;){var r=e.match(eK);if(r)e=r[1];else if(e.match(tK))e="";else throw new Error("bad relativeAttr call:"+[e,t]);if(t.charAt(0)==="^")t=t.slice(1);else break}return e&&t.charAt(0)!=="["?e+"."+t:e+t}});var el=I((H0e,yS)=>{"use strict";yS.exports=function(t){return window&&window.process&&window.process.versions?Object.prototype.toString.call(t)==="[object Object]":Object.prototype.toString.call(t)==="[object Object]"&&Object.getPrototypeOf(t).hasOwnProperty("hasOwnProperty")}});var Dd=I((B0e,bS)=>{"use strict";var rK=jt();bS.exports=function(t,r){if(t>0)return Math.log(t)/Math.LN10;var a=Math.log(Math.min(r[0],r[1]))/Math.LN10;return rK(a)||(a=Math.log(Math.max(r[0],r[1]))/Math.LN10-6),a}});var wS=I((U0e,_S)=>{"use strict";var xS=zo().isArrayOrTypedArray,Hu=el();_S.exports=function e(t,r){for(var a in r){var n=r[a],i=t[a];if(i!==n)if(a.charAt(0)==="_"||typeof n=="function"){if(a in t)continue;t[a]=n}else if(xS(n)&&xS(i)&&Hu(n[0])){if(a==="customdata"||a==="ids")continue;for(var o=Math.min(n.length,i.length),s=0;s{"use strict";function aK(e,t){var r=e%t;return r<0?r+t:r}function nK(e,t){return Math.abs(e)>t/2?e-Math.round(e/t)*t:e}TS.exports={mod:aK,modHalf:nK}});var Pn=I((W0e,Pd)=>{(function(e){var t=/^\s+/,r=/\s+$/,a=0,n=e.round,i=e.min,o=e.max,s=e.random;function l(U,J){if(U=U||"",J=J||{},U instanceof l)return U;if(!(this instanceof l))return new l(U,J);var O=u(U);this._originalInput=U,this._r=O.r,this._g=O.g,this._b=O.b,this._a=O.a,this._roundA=n(100*this._a)/100,this._format=J.format||O.format,this._gradientType=J.gradientType,this._r<1&&(this._r=n(this._r)),this._g<1&&(this._g=n(this._g)),this._b<1&&(this._b=n(this._b)),this._ok=O.ok,this._tc_id=a++}l.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var U=this.toRgb();return(U.r*299+U.g*587+U.b*114)/1e3},getLuminance:function(){var U=this.toRgb(),J,O,oe,me,xe,De;return J=U.r/255,O=U.g/255,oe=U.b/255,J<=.03928?me=J/12.92:me=e.pow((J+.055)/1.055,2.4),O<=.03928?xe=O/12.92:xe=e.pow((O+.055)/1.055,2.4),oe<=.03928?De=oe/12.92:De=e.pow((oe+.055)/1.055,2.4),.2126*me+.7152*xe+.0722*De},setAlpha:function(U){return this._a=Z(U),this._roundA=n(100*this._a)/100,this},toHsv:function(){var U=p(this._r,this._g,this._b);return{h:U.h*360,s:U.s,v:U.v,a:this._a}},toHsvString:function(){var U=p(this._r,this._g,this._b),J=n(U.h*360),O=n(U.s*100),oe=n(U.v*100);return this._a==1?"hsv("+J+", "+O+"%, "+oe+"%)":"hsva("+J+", "+O+"%, "+oe+"%, "+this._roundA+")"},toHsl:function(){var U=d(this._r,this._g,this._b);return{h:U.h*360,s:U.s,l:U.l,a:this._a}},toHslString:function(){var U=d(this._r,this._g,this._b),J=n(U.h*360),O=n(U.s*100),oe=n(U.l*100);return this._a==1?"hsl("+J+", "+O+"%, "+oe+"%)":"hsla("+J+", "+O+"%, "+oe+"%, "+this._roundA+")"},toHex:function(U){return m(this._r,this._g,this._b,U)},toHexString:function(U){return"#"+this.toHex(U)},toHex8:function(U){return b(this._r,this._g,this._b,this._a,U)},toHex8String:function(U){return"#"+this.toHex8(U)},toRgb:function(){return{r:n(this._r),g:n(this._g),b:n(this._b),a:this._a}},toRgbString:function(){return this._a==1?"rgb("+n(this._r)+", "+n(this._g)+", "+n(this._b)+")":"rgba("+n(this._r)+", "+n(this._g)+", "+n(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:n($(this._r,255)*100)+"%",g:n($(this._g,255)*100)+"%",b:n($(this._b,255)*100)+"%",a:this._a}},toPercentageRgbString:function(){return this._a==1?"rgb("+n($(this._r,255)*100)+"%, "+n($(this._g,255)*100)+"%, "+n($(this._b,255)*100)+"%)":"rgba("+n($(this._r,255)*100)+"%, "+n($(this._g,255)*100)+"%, "+n($(this._b,255)*100)+"%, "+this._roundA+")"},toName:function(){return this._a===0?"transparent":this._a<1?!1:V[m(this._r,this._g,this._b,!0)]||!1},toFilter:function(U){var J="#"+x(this._r,this._g,this._b,this._a),O=J,oe=this._gradientType?"GradientType = 1, ":"";if(U){var me=l(U);O="#"+x(me._r,me._g,me._b,me._a)}return"progid:DXImageTransform.Microsoft.gradient("+oe+"startColorstr="+J+",endColorstr="+O+")"},toString:function(U){var J=!!U;U=U||this._format;var O=!1,oe=this._a<1&&this._a>=0,me=!J&&oe&&(U==="hex"||U==="hex6"||U==="hex3"||U==="hex4"||U==="hex8"||U==="name");return me?U==="name"&&this._a===0?this.toName():this.toRgbString():(U==="rgb"&&(O=this.toRgbString()),U==="prgb"&&(O=this.toPercentageRgbString()),(U==="hex"||U==="hex6")&&(O=this.toHexString()),U==="hex3"&&(O=this.toHexString(!0)),U==="hex4"&&(O=this.toHex8String(!0)),U==="hex8"&&(O=this.toHex8String()),U==="name"&&(O=this.toName()),U==="hsl"&&(O=this.toHslString()),U==="hsv"&&(O=this.toHsvString()),O||this.toHexString())},clone:function(){return l(this.toString())},_applyModification:function(U,J){var O=U.apply(null,[this].concat([].slice.call(J)));return this._r=O._r,this._g=O._g,this._b=O._b,this.setAlpha(O._a),this},lighten:function(){return this._applyModification(A,arguments)},brighten:function(){return this._applyModification(L,arguments)},darken:function(){return this._applyModification(M,arguments)},desaturate:function(){return this._applyModification(_,arguments)},saturate:function(){return this._applyModification(k,arguments)},greyscale:function(){return this._applyModification(w,arguments)},spin:function(){return this._applyModification(q,arguments)},_applyCombination:function(U,J){return U.apply(null,[this].concat([].slice.call(J)))},analogous:function(){return this._applyCombination(j,arguments)},complement:function(){return this._applyCombination(P,arguments)},monochromatic:function(){return this._applyCombination(B,arguments)},splitcomplement:function(){return this._applyCombination(N,arguments)},triad:function(){return this._applyCombination(E,arguments)},tetrad:function(){return this._applyCombination(F,arguments)}},l.fromRatio=function(U,J){if(typeof U=="object"){var O={};for(var oe in U)U.hasOwnProperty(oe)&&(oe==="a"?O[oe]=U[oe]:O[oe]=ge(U[oe]));U=O}return l(U,J)};function u(U){var J={r:0,g:0,b:0},O=1,oe=null,me=null,xe=null,De=!1,Pe=!1;return typeof U=="string"&&(U=Le(U)),typeof U=="object"&&(qe(U.r)&&qe(U.g)&&qe(U.b)?(J=c(U.r,U.g,U.b),De=!0,Pe=String(U.r).substr(-1)==="%"?"prgb":"rgb"):qe(U.h)&&qe(U.s)&&qe(U.v)?(oe=ge(U.s),me=ge(U.v),J=g(U.h,oe,me),De=!0,Pe="hsv"):qe(U.h)&&qe(U.s)&&qe(U.l)&&(oe=ge(U.s),xe=ge(U.l),J=h(U.h,oe,xe),De=!0,Pe="hsl"),U.hasOwnProperty("a")&&(O=U.a)),O=Z(O),{ok:De,format:U.format||Pe,r:i(255,o(J.r,0)),g:i(255,o(J.g,0)),b:i(255,o(J.b,0)),a:O}}function c(U,J,O){return{r:$(U,255)*255,g:$(J,255)*255,b:$(O,255)*255}}function d(U,J,O){U=$(U,255),J=$(J,255),O=$(O,255);var oe=o(U,J,O),me=i(U,J,O),xe,De,Pe=(oe+me)/2;if(oe==me)xe=De=0;else{var ye=oe-me;switch(De=Pe>.5?ye/(2-oe-me):ye/(oe+me),oe){case U:xe=(J-O)/ye+(J1&&(nt-=1),nt<1/6?rt+(Ue-rt)*6*nt:nt<1/2?Ue:nt<2/3?rt+(Ue-rt)*(2/3-nt)*6:rt}if(J===0)oe=me=xe=O;else{var Pe=O<.5?O*(1+J):O+J-O*J,ye=2*O-Pe;oe=De(ye,Pe,U+1/3),me=De(ye,Pe,U),xe=De(ye,Pe,U-1/3)}return{r:oe*255,g:me*255,b:xe*255}}function p(U,J,O){U=$(U,255),J=$(J,255),O=$(O,255);var oe=o(U,J,O),me=i(U,J,O),xe,De,Pe=oe,ye=oe-me;if(De=oe===0?0:ye/oe,oe==me)xe=0;else{switch(oe){case U:xe=(J-O)/ye+(J>1)+720)%360;--J;)oe.h=(oe.h+me)%360,xe.push(l(oe));return xe}function B(U,J){J=J||6;for(var O=l(U).toHsv(),oe=O.h,me=O.s,xe=O.v,De=[],Pe=1/J;J--;)De.push(l({h:oe,s:me,v:xe})),xe=(xe+Pe)%1;return De}l.mix=function(U,J,O){O=O===0?0:O||50;var oe=l(U).toRgb(),me=l(J).toRgb(),xe=O/100,De={r:(me.r-oe.r)*xe+oe.r,g:(me.g-oe.g)*xe+oe.g,b:(me.b-oe.b)*xe+oe.b,a:(me.a-oe.a)*xe+oe.a};return l(De)},l.readability=function(U,J){var O=l(U),oe=l(J);return(e.max(O.getLuminance(),oe.getLuminance())+.05)/(e.min(O.getLuminance(),oe.getLuminance())+.05)},l.isReadable=function(U,J,O){var oe=l.readability(U,J),me,xe;switch(xe=!1,me=Se(O),me.level+me.size){case"AAsmall":case"AAAlarge":xe=oe>=4.5;break;case"AAlarge":xe=oe>=3;break;case"AAAsmall":xe=oe>=7;break}return xe},l.mostReadable=function(U,J,O){var oe=null,me=0,xe,De,Pe,ye;O=O||{},De=O.includeFallbackColors,Pe=O.level,ye=O.size;for(var rt=0;rtme&&(me=xe,oe=l(J[rt]));return l.isReadable(U,oe,{level:Pe,size:ye})||!De?oe:(O.includeFallbackColors=!1,l.mostReadable(U,["#fff","#000"],O))};var W=l.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},V=l.hexNames=Y(W);function Y(U){var J={};for(var O in U)U.hasOwnProperty(O)&&(J[U[O]]=O);return J}function Z(U){return U=parseFloat(U),(isNaN(U)||U<0||U>1)&&(U=1),U}function $(U,J){de(U)&&(U="100%");var O=be(U);return U=i(J,o(0,parseFloat(U))),O&&(U=parseInt(U*J,10)/100),e.abs(U-J)<1e-6?1:U%J/parseFloat(J)}function ne(U){return i(1,o(0,U))}function te(U){return parseInt(U,16)}function de(U){return typeof U=="string"&&U.indexOf(".")!=-1&&parseFloat(U)===1}function be(U){return typeof U=="string"&&U.indexOf("%")!=-1}function re(U){return U.length==1?"0"+U:""+U}function ge(U){return U<=1&&(U=U*100+"%"),U}function ee(U){return e.round(parseFloat(U)*255).toString(16)}function Ae(U){return te(U)/255}var ke=function(){var U="[-\\+]?\\d+%?",J="[-\\+]?\\d*\\.\\d+%?",O="(?:"+J+")|(?:"+U+")",oe="[\\s|\\(]+("+O+")[,|\\s]+("+O+")[,|\\s]+("+O+")\\s*\\)?",me="[\\s|\\(]+("+O+")[,|\\s]+("+O+")[,|\\s]+("+O+")[,|\\s]+("+O+")\\s*\\)?";return{CSS_UNIT:new RegExp(O),rgb:new RegExp("rgb"+oe),rgba:new RegExp("rgba"+me),hsl:new RegExp("hsl"+oe),hsla:new RegExp("hsla"+me),hsv:new RegExp("hsv"+oe),hsva:new RegExp("hsva"+me),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function qe(U){return!!ke.CSS_UNIT.exec(U)}function Le(U){U=U.replace(t,"").replace(r,"").toLowerCase();var J=!1;if(W[U])U=W[U],J=!0;else if(U=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var O;return(O=ke.rgb.exec(U))?{r:O[1],g:O[2],b:O[3]}:(O=ke.rgba.exec(U))?{r:O[1],g:O[2],b:O[3],a:O[4]}:(O=ke.hsl.exec(U))?{h:O[1],s:O[2],l:O[3]}:(O=ke.hsla.exec(U))?{h:O[1],s:O[2],l:O[3],a:O[4]}:(O=ke.hsv.exec(U))?{h:O[1],s:O[2],v:O[3]}:(O=ke.hsva.exec(U))?{h:O[1],s:O[2],v:O[3],a:O[4]}:(O=ke.hex8.exec(U))?{r:te(O[1]),g:te(O[2]),b:te(O[3]),a:Ae(O[4]),format:J?"name":"hex8"}:(O=ke.hex6.exec(U))?{r:te(O[1]),g:te(O[2]),b:te(O[3]),format:J?"name":"hex"}:(O=ke.hex4.exec(U))?{r:te(O[1]+""+O[1]),g:te(O[2]+""+O[2]),b:te(O[3]+""+O[3]),a:Ae(O[4]+""+O[4]),format:J?"name":"hex8"}:(O=ke.hex3.exec(U))?{r:te(O[1]+""+O[1]),g:te(O[2]+""+O[2]),b:te(O[3]+""+O[3]),format:J?"name":"hex"}:!1}function Se(U){var J,O;return U=U||{level:"AA",size:"small"},J=(U.level||"AA").toUpperCase(),O=(U.size||"small").toLowerCase(),J!=="AA"&&J!=="AAA"&&(J="AA"),O!=="small"&&O!=="large"&&(O="small"),{level:J,size:O}}typeof Pd!="undefined"&&Pd.exports?Pd.exports=l:typeof define=="function"&&define.amd?define(function(){return l}):window.tinycolor=l})(Math)});var La=I((V0e,AS)=>{"use strict";AS.exports=function(e){var t=e.editType,r=e.colorEditType;r===void 0&&(r=t);var a={family:{valType:"string",noBlank:!0,strict:!0,editType:t,description:["HTML font family - the typeface that will be applied by the web browser.","The web browser will only be able to apply a font if it is available on the system","which it operates. Provide multiple font families, separated by commas, to indicate","the preference in which to apply fonts if they aren't available on the system.","The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server,","where only a select number of","fonts are installed and supported.","These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*,","*Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*,","*PT Sans Narrow*, *Raleway*, *Times New Roman*."].join(" ")},size:{valType:"number",min:1,editType:t},color:{valType:"color",editType:r},editType:t,description:""+(e.description||"")+""};return e.autoSize&&(a.size.dflt="auto"),e.autoColor&&(a.color.dflt="auto"),e.arrayOk&&(a.family.arrayOk=!0,a.size.arrayOk=!0,a.color.arrayOk=!0),a}});var Bu=I((Y0e,kS)=>{"use strict";kS.exports={YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:"Arial, sans-serif",HOVERMINTIME:50,HOVERID:"-hover"}});var rl=I((Z0e,CS)=>{"use strict";var MS=Bu(),SS=La(),og=SS({editType:"none",description:"Sets the default hover label font used by all traces on the graph."});og.family.dflt=MS.HOVERFONT;og.size.dflt=MS.HOVERFONTSIZE;CS.exports={clickmode:{valType:"flaglist",flags:["event","select"],dflt:"event",editType:"plot",extras:["none"],description:["Determines the mode of single click interactions.","*event* is the default value and emits the `plotly_click`","event. In addition this mode emits the `plotly_selected` event","in drag modes *lasso* and *select*, but with no event data attached","(kept for compatibility reasons).","The *select* flag enables selecting single","data points via click. This mode also supports persistent selections,","meaning that pressing Shift while clicking, adds to / subtracts from an","existing selection. *select* with `hovermode`: *x* can be confusing, consider","explicitly setting `hovermode`: *closest* when using this feature.","Selection events are sent accordingly as long as *event* flag is set as well.","When the *event* flag is missing, `plotly_click` and `plotly_selected`","events are not fired."].join(" ")},dragmode:{valType:"enumerated",values:["zoom","pan","select","lasso","drawclosedpath","drawopenpath","drawline","drawrect","drawcircle","orbit","turntable",!1],dflt:"zoom",editType:"modebar",description:["Determines the mode of drag interactions.","*select* and *lasso* apply only to scatter traces with","markers or text. *orbit* and *turntable* apply only to","3D scenes."].join(" ")},hovermode:{valType:"enumerated",values:["x","y","closest",!1,"x unified","y unified"],dflt:"closest",editType:"modebar",description:["Determines the mode of hover interactions.","If *closest*, a single hoverlabel will appear","for the *closest* point within the `hoverdistance`.","If *x* (or *y*), multiple hoverlabels will appear for multiple points","at the *closest* x- (or y-) coordinate within the `hoverdistance`,","with the caveat that no more than one hoverlabel will appear per trace.","If *x unified* (or *y unified*), a single hoverlabel will appear","multiple points at the closest x- (or y-) coordinate within the `hoverdistance`","with the caveat that no more than one hoverlabel will appear per trace.","In this mode, spikelines are enabled by default perpendicular to the specified axis.","If false, hover interactions are disabled."].join(" ")},hoverdistance:{valType:"integer",min:-1,dflt:20,editType:"none",description:["Sets the default distance (in pixels) to look for data","to add hover labels (-1 means no cutoff, 0 means no looking for data).","This is only a real distance for hovering on point-like objects,","like scatter points. For area-like objects (bars, scatter fills, etc)","hovering is on inside the area and off outside, but these objects","will not supersede hover on point-like objects in case of conflict."].join(" ")},spikedistance:{valType:"integer",min:-1,dflt:-1,editType:"none",description:["Sets the default distance (in pixels) to look for data to draw","spikelines to (-1 means no cutoff, 0 means no looking for data).","As with hoverdistance, distance does not apply to area-like objects.","In addition, some objects can be hovered on but will not generate","spikelines, such as scatter fills."].join(" ")},hoverlabel:{bgcolor:{valType:"color",editType:"none",description:["Sets the background color of all hover labels on graph"].join(" ")},bordercolor:{valType:"color",editType:"none",description:["Sets the border color of all hover labels on graph."].join(" ")},font:og,grouptitlefont:SS({editType:"none",description:["Sets the font for group titles in hover (unified modes).","Defaults to `hoverlabel.font`."].join(" ")}),align:{valType:"enumerated",values:["left","right","auto"],dflt:"auto",editType:"none",description:["Sets the horizontal alignment of the text content within hover label box.","Has an effect only if the hover label text spans more two or more lines"].join(" ")},namelength:{valType:"integer",min:-1,dflt:15,editType:"none",description:["Sets the default length (in number of characters) of the trace name in","the hover labels for all traces. -1 shows the whole name","regardless of length. 0-3 shows the first 0-3 characters, and","an integer >3 will show the whole name if it is less than that","many characters, but if it is longer, will truncate to","`namelength - 3` characters and add an ellipsis."].join(" ")},editType:"none"},selectdirection:{valType:"enumerated",values:["h","v","d","any"],dflt:"any",description:["When `dragmode` is set to *select*, this limits the selection of the drag to","horizontal, vertical or diagonal. *h* only allows horizontal selection,","*v* only vertical, *d* only diagonal and *any* sets no limit."].join(" "),editType:"none"}}});var ra=I(Wu=>{"use strict";var LS=el(),Uu=Array.isArray;function iK(e,t){var r,a;for(r=0;r{"use strict";var oK=La(),Rd=rl().hoverlabel,Ed=ra().extendFlat;qS.exports={hoverlabel:{bgcolor:Ed({},Rd.bgcolor,{arrayOk:!0,description:"Sets the background color of the hover labels for this trace"}),bordercolor:Ed({},Rd.bordercolor,{arrayOk:!0,description:"Sets the border color of the hover labels for this trace."}),font:oK({arrayOk:!0,editType:"none",description:"Sets the font used in hover labels."}),align:Ed({},Rd.align,{arrayOk:!0}),namelength:Ed({},Rd.namelength,{arrayOk:!0}),editType:"none"}}});var Zi=I((Q0e,DS)=>{"use strict";var sK=La(),lK=Id();DS.exports={type:{valType:"enumerated",values:[],dflt:"scatter",editType:"calc+clearAxisTypes",_noTemplating:!0},visible:{valType:"enumerated",values:[!0,!1,"legendonly"],dflt:!0,editType:"calc",description:["Determines whether or not this trace is visible.","If *legendonly*, the trace is not drawn,","but can appear as a legend item","(provided that the legend itself is visible)."].join(" ")},showlegend:{valType:"boolean",dflt:!0,editType:"style",description:["Determines whether or not an item corresponding to this","trace is shown in the legend."].join(" ")},legendgroup:{valType:"string",dflt:"",editType:"style",description:["Sets the legend group for this trace.","Traces part of the same legend group hide/show at the same time","when toggling legend items."].join(" ")},legendgrouptitle:{text:{valType:"string",dflt:"",editType:"style",description:["Sets the title of the legend group."].join(" ")},font:sK({editType:"style",description:["Sets this legend group's title font."].join(" ")}),editType:"style"},legendrank:{valType:"number",dflt:1e3,editType:"style",description:["Sets the legend rank for this trace.","Items and groups with smaller ranks are presented on top/left side while","with `*reversed* `legend.traceorder` they are on bottom/right side.","The default legendrank is 1000,","so that you can use ranks less than 1000 to place certain items before all unranked items,","and ranks greater than 1000 to go after all unranked items."].join(" ")},legendwidth:{valType:"number",min:0,editType:"style",description:"Sets the width (in px or fraction) of the legend for this trace."},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"style",description:"Sets the opacity of the trace."},name:{valType:"string",editType:"style",description:["Sets the trace name.","The trace name appear as the legend item and on hover."].join(" ")},uid:{valType:"string",editType:"plot",anim:!0,description:["Assign an id to this trace,","Use this to provide object constancy between traces during animations","and transitions."].join(" ")},ids:{valType:"data_array",editType:"calc",anim:!0,description:["Assigns id labels to each datum.","These ids for object constancy of data points during animation.","Should be an array of strings, not numbers or any other type."].join(" ")},customdata:{valType:"data_array",editType:"calc",description:["Assigns extra data each datum.","This may be useful when listening to hover, click and selection events.","Note that, *scatter* traces also appends customdata items in the markers","DOM elements"].join(" ")},meta:{valType:"any",arrayOk:!0,editType:"plot",description:["Assigns extra meta information associated with this trace","that can be used in various text attributes.","Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text`","`rangeselector`, `updatemenues` and `sliders` `label` text","all support `meta`.","To access the trace `meta` values in an attribute in the same trace, simply use","`%{meta[i]}` where `i` is the index or key of the `meta`","item in question.","To access trace `meta` in layout attributes, use","`%{data[n[.meta[i]}` where `i` is the index or key of the `meta`","and `n` is the trace index."].join(" ")},selectedpoints:{valType:"any",editType:"calc",description:["Array containing integer indices of selected points.","Has an effect only for traces that support selections.","Note that an empty array means an empty selection where the `unselected`","are turned on for all points, whereas, any other non-array values means no","selection all where the `selected` and `unselected` styles have no effect."].join(" ")},hoverinfo:{valType:"flaglist",flags:["x","y","z","text","name"],extras:["all","none","skip"],arrayOk:!0,dflt:"all",editType:"none",description:["Determines which trace information appear on hover.","If `none` or `skip` are set, no information is displayed upon hovering.","But, if `none` is set, click and hover events are still fired."].join(" ")},hoverlabel:lK.hoverlabel,stream:{token:{valType:"string",noBlank:!0,strict:!0,editType:"calc",description:["The stream id number links a data trace on a plot with a stream.","See https://chart-studio.plotly.com/settings for more details."].join(" ")},maxpoints:{valType:"number",min:0,max:1e4,dflt:500,editType:"calc",description:["Sets the maximum number of points to keep on the plots from an","incoming stream.","If `maxpoints` is set to *50*, only the newest 50 points will","be displayed on the plot."].join(" ")},editType:"calc"},transforms:{_isLinkedToArray:"transform",editType:"calc",description:["WARNING: All transforms are deprecated and may be removed from the API in next major version.","An array of operations that manipulate the trace data,","for example filtering or sorting the data arrays."].join(" ")},uirevision:{valType:"any",editType:"none",description:["Controls persistence of some user-driven changes to the trace:","`constraintrange` in `parcoords` traces, as well as some","`editable: true` modifications such as `name` and `colorbar.title`.","Defaults to `layout.uirevision`.","Note that other user-driven trace attribute changes are controlled","by `layout` attributes:","`trace.visible` is controlled by `layout.legend.uirevision`,","`selectedpoints` is controlled by `layout.selectionrevision`,","and `colorbar.(x|y)` (accessible with `config: {editable: true}`)","is controlled by `layout.editrevision`.","Trace changes are tracked by `uid`, which only falls back on trace","index if no `uid` is provided. So if your app can add/remove traces","before the end of the `data` array, such that the same trace has a","different index, you can still preserve user-driven changes if you","give each trace a `uid` that stays with it as it moves."].join(" ")}}});var Fo=I((K0e,ES)=>{"use strict";var uK=Pn(),zd={Greys:[[0,"rgb(0,0,0)"],[1,"rgb(255,255,255)"]],YlGnBu:[[0,"rgb(8,29,88)"],[.125,"rgb(37,52,148)"],[.25,"rgb(34,94,168)"],[.375,"rgb(29,145,192)"],[.5,"rgb(65,182,196)"],[.625,"rgb(127,205,187)"],[.75,"rgb(199,233,180)"],[.875,"rgb(237,248,217)"],[1,"rgb(255,255,217)"]],Greens:[[0,"rgb(0,68,27)"],[.125,"rgb(0,109,44)"],[.25,"rgb(35,139,69)"],[.375,"rgb(65,171,93)"],[.5,"rgb(116,196,118)"],[.625,"rgb(161,217,155)"],[.75,"rgb(199,233,192)"],[.875,"rgb(229,245,224)"],[1,"rgb(247,252,245)"]],YlOrRd:[[0,"rgb(128,0,38)"],[.125,"rgb(189,0,38)"],[.25,"rgb(227,26,28)"],[.375,"rgb(252,78,42)"],[.5,"rgb(253,141,60)"],[.625,"rgb(254,178,76)"],[.75,"rgb(254,217,118)"],[.875,"rgb(255,237,160)"],[1,"rgb(255,255,204)"]],Bluered:[[0,"rgb(0,0,255)"],[1,"rgb(255,0,0)"]],RdBu:[[0,"rgb(5,10,172)"],[.35,"rgb(106,137,247)"],[.5,"rgb(190,190,190)"],[.6,"rgb(220,170,132)"],[.7,"rgb(230,145,90)"],[1,"rgb(178,10,28)"]],Reds:[[0,"rgb(220,220,220)"],[.2,"rgb(245,195,157)"],[.4,"rgb(245,160,105)"],[1,"rgb(178,10,28)"]],Blues:[[0,"rgb(5,10,172)"],[.35,"rgb(40,60,190)"],[.5,"rgb(70,100,245)"],[.6,"rgb(90,120,245)"],[.7,"rgb(106,137,247)"],[1,"rgb(220,220,220)"]],Picnic:[[0,"rgb(0,0,255)"],[.1,"rgb(51,153,255)"],[.2,"rgb(102,204,255)"],[.3,"rgb(153,204,255)"],[.4,"rgb(204,204,255)"],[.5,"rgb(255,255,255)"],[.6,"rgb(255,204,255)"],[.7,"rgb(255,153,255)"],[.8,"rgb(255,102,204)"],[.9,"rgb(255,102,102)"],[1,"rgb(255,0,0)"]],Rainbow:[[0,"rgb(150,0,90)"],[.125,"rgb(0,0,200)"],[.25,"rgb(0,25,255)"],[.375,"rgb(0,152,255)"],[.5,"rgb(44,255,150)"],[.625,"rgb(151,255,0)"],[.75,"rgb(255,234,0)"],[.875,"rgb(255,111,0)"],[1,"rgb(255,0,0)"]],Portland:[[0,"rgb(12,51,131)"],[.25,"rgb(10,136,186)"],[.5,"rgb(242,211,56)"],[.75,"rgb(242,143,56)"],[1,"rgb(217,30,30)"]],Jet:[[0,"rgb(0,0,131)"],[.125,"rgb(0,60,170)"],[.375,"rgb(5,255,255)"],[.625,"rgb(255,255,0)"],[.875,"rgb(250,0,0)"],[1,"rgb(128,0,0)"]],Hot:[[0,"rgb(0,0,0)"],[.3,"rgb(230,0,0)"],[.6,"rgb(255,210,0)"],[1,"rgb(255,255,255)"]],Blackbody:[[0,"rgb(0,0,0)"],[.2,"rgb(230,0,0)"],[.4,"rgb(230,210,0)"],[.7,"rgb(255,255,255)"],[1,"rgb(160,200,255)"]],Earth:[[0,"rgb(0,0,130)"],[.1,"rgb(0,180,180)"],[.2,"rgb(40,210,40)"],[.4,"rgb(230,230,50)"],[.6,"rgb(120,70,20)"],[1,"rgb(255,255,255)"]],Electric:[[0,"rgb(0,0,0)"],[.15,"rgb(30,0,100)"],[.4,"rgb(120,0,100)"],[.6,"rgb(160,90,0)"],[.8,"rgb(230,200,0)"],[1,"rgb(255,250,220)"]],Viridis:[[0,"#440154"],[.06274509803921569,"#48186a"],[.12549019607843137,"#472d7b"],[.18823529411764706,"#424086"],[.25098039215686274,"#3b528b"],[.3137254901960784,"#33638d"],[.3764705882352941,"#2c728e"],[.4392156862745098,"#26828e"],[.5019607843137255,"#21918c"],[.5647058823529412,"#1fa088"],[.6274509803921569,"#28ae80"],[.6901960784313725,"#3fbc73"],[.7529411764705882,"#5ec962"],[.8156862745098039,"#84d44b"],[.8784313725490196,"#addc30"],[.9411764705882353,"#d8e219"],[1,"#fde725"]],Cividis:[[0,"rgb(0,32,76)"],[.058824,"rgb(0,42,102)"],[.117647,"rgb(0,52,110)"],[.176471,"rgb(39,63,108)"],[.235294,"rgb(60,74,107)"],[.294118,"rgb(76,85,107)"],[.352941,"rgb(91,95,109)"],[.411765,"rgb(104,106,112)"],[.470588,"rgb(117,117,117)"],[.529412,"rgb(131,129,120)"],[.588235,"rgb(146,140,120)"],[.647059,"rgb(161,152,118)"],[.705882,"rgb(176,165,114)"],[.764706,"rgb(192,177,109)"],[.823529,"rgb(209,191,102)"],[.882353,"rgb(225,204,92)"],[.941176,"rgb(243,219,79)"],[1,"rgb(255,233,69)"]]},PS=zd.RdBu;function fK(e,t){if(t||(t=PS),!e)return t;function r(){try{e=zd[e]||JSON.parse(e)}catch(a){e=t}}return typeof e=="string"&&(r(),typeof e=="string"&&r()),RS(e)?e:t}function RS(e){var t=0;if(!Array.isArray(e)||e.length<2||!e[0]||!e[e.length-1]||+e[0][0]!=0||+e[e.length-1][0]!=1)return!1;for(var r=0;r{"use strict";jo.defaults=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"];jo.defaultLine="#444";jo.lightLine="#eee";jo.background="#fff";jo.borderLine="#BEC8D9";jo.lightFraction=100*(14-4)/(15-4)});var It=I((ebe,IS)=>{"use strict";var Rn=Pn(),dK=jt(),hK=zo().isTypedArray,Zr=IS.exports={},Nd=gi();Zr.defaults=Nd.defaults;var vK=Zr.defaultLine=Nd.defaultLine;Zr.lightLine=Nd.lightLine;var sg=Zr.background=Nd.background;Zr.tinyRGB=function(e){var t=e.toRgb();return"rgb("+Math.round(t.r)+", "+Math.round(t.g)+", "+Math.round(t.b)+")"};Zr.rgb=function(e){return Zr.tinyRGB(Rn(e))};Zr.opacity=function(e){return e?Rn(e).getAlpha():0};Zr.addOpacity=function(e,t){var r=Rn(e).toRgb();return"rgba("+Math.round(r.r)+", "+Math.round(r.g)+", "+Math.round(r.b)+", "+t+")"};Zr.combine=function(e,t){var r=Rn(e).toRgb();if(r.a===1)return Rn(e).toRgbString();var a=Rn(t||sg).toRgb(),n=a.a===1?a:{r:255*(1-a.a)+a.r*a.a,g:255*(1-a.a)+a.g*a.a,b:255*(1-a.a)+a.b*a.a},i={r:n.r*(1-r.a)+r.r*r.a,g:n.g*(1-r.a)+r.g*r.a,b:n.b*(1-r.a)+r.b*r.a};return Rn(i).toRgbString()};Zr.contrast=function(e,t,r){var a=Rn(e);a.getAlpha()!==1&&(a=Rn(Zr.combine(e,sg)));var n=a.isDark()?t?a.lighten(t):sg:r?a.darken(r):vK;return n.toString()};Zr.stroke=function(e,t){var r=Rn(t);e.style({stroke:Zr.tinyRGB(r),"stroke-opacity":r.getAlpha()})};Zr.fill=function(e,t){var r=Rn(t);e.style({fill:Zr.tinyRGB(r),"fill-opacity":r.getAlpha()})};Zr.clean=function(e){if(!(!e||typeof e!="object")){var t=Object.keys(e),r,a,n,i;for(r=0;r=0)))return e;if(i===3)a[i]>1&&(a[i]=1);else if(a[i]>=1)return e}var o=Math.round(a[0]*255)+", "+Math.round(a[1]*255)+", "+Math.round(a[2]*255);return n?"rgba("+o+", "+a[3]+")":"rgb("+o+")"}});var Fd=I((tbe,zS)=>{"use strict";zS.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}});var al=I(NS=>{"use strict";NS.counter=function(e,t,r,a){var n=(t||"")+(r?"":"$"),i=a===!1?"":"^";return e==="xy"?new RegExp(i+"x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?"+n):new RegExp(i+e+"([2-9]|[1-9][0-9]+)?"+n)}});var HS=I(Ha=>{"use strict";var ug=jt(),FS=Pn(),pK=Zi(),jS=Fo(),mK=It(),gK=Fd().DESELECTDIM,nl=Ld(),OS=al().counter,yK=tl().modHalf,jd=zo().isArrayOrTypedArray;Ha.valObjectMeta={data_array:{description:["An {array} of data.","The value MUST be an {array}, or we ignore it.","Note that typed arrays (e.g. Float32Array) are supported."].join(" "),requiredOpts:[],otherOpts:["dflt"],coerceFunction:function(e,t,r){jd(e)?t.set(e):r!==void 0&&t.set(r)}},enumerated:{description:["Enumerated value type. The available values are listed","in `values`."].join(" "),requiredOpts:["values"],otherOpts:["dflt","coerceNumber","arrayOk"],coerceFunction:function(e,t,r,a){a.coerceNumber&&(e=+e),a.values.indexOf(e)===-1?t.set(r):t.set(e)},validateFunction:function(e,t){t.coerceNumber&&(e=+e);for(var r=t.values,a=0;aa.max?t.set(r):t.set(+e)}},integer:{description:["An integer or an integer inside a string.","When applicable, values greater (less) than `max` (`min`)","are coerced to the `dflt`."].join(" "),requiredOpts:[],otherOpts:["dflt","min","max","arrayOk"],coerceFunction:function(e,t,r,a){e%1||!ug(e)||a.min!==void 0&&ea.max?t.set(r):t.set(+e)}},string:{description:["A string value.","Numbers are converted to strings except for attributes with","`strict` set to true."].join(" "),requiredOpts:[],otherOpts:["dflt","noBlank","strict","arrayOk","values"],coerceFunction:function(e,t,r,a){if(typeof e!="string"){var n=typeof e=="number";a.strict===!0||!n?t.set(r):t.set(String(e))}else a.noBlank&&!e?t.set(r):t.set(e)}},color:{description:["A string describing color.","Supported formats:","- hex (e.g. '#d3d3d3')","- rgb (e.g. 'rgb(255, 0, 0)')","- rgba (e.g. 'rgb(255, 0, 0, 0.5)')","- hsl (e.g. 'hsl(0, 100%, 50%)')","- hsv (e.g. 'hsv(0, 100%, 100%)')","- named colors (full list: http://www.w3.org/TR/css3-color/#svg-color)"].join(" "),requiredOpts:[],otherOpts:["dflt","arrayOk"],coerceFunction:function(e,t,r){FS(e).isValid()?t.set(e):t.set(r)}},colorlist:{description:["A list of colors.","Must be an {array} containing valid colors."].join(" "),requiredOpts:[],otherOpts:["dflt"],coerceFunction:function(e,t,r){function a(n){return FS(n).isValid()}!Array.isArray(e)||!e.length?t.set(r):e.every(a)?t.set(e):t.set(r)}},colorscale:{description:["A Plotly colorscale either picked by a name:","(any of",Object.keys(jS.scales).join(", "),")","customized as an {array} of 2-element {arrays} where","the first element is the normalized color level value","(starting at *0* and ending at *1*),","and the second item is a valid color string."].join(" "),requiredOpts:[],otherOpts:["dflt"],coerceFunction:function(e,t,r){t.set(jS.get(e,r))}},angle:{description:["A number (in degree) between -180 and 180."].join(" "),requiredOpts:[],otherOpts:["dflt","arrayOk"],coerceFunction:function(e,t,r){e==="auto"?t.set("auto"):ug(e)?t.set(yK(+e,360)):t.set(r)}},subplotid:{description:["An id string of a subplot type (given by dflt), optionally","followed by an integer >1. e.g. if dflt='geo', we can have","'geo', 'geo2', 'geo3', ..."].join(" "),requiredOpts:["dflt"],otherOpts:["regex"],coerceFunction:function(e,t,r,a){var n=a.regex||OS(r);if(typeof e=="string"&&n.test(e)){t.set(e);return}t.set(r)},validateFunction:function(e,t){var r=t.dflt;return e===r?!0:typeof e!="string"?!1:!!OS(r).test(e)}},flaglist:{description:["A string representing a combination of flags","(order does not matter here).","Combine any of the available `flags` with *+*.","(e.g. ('lines+markers')).","Values in `extras` cannot be combined."].join(" "),requiredOpts:["flags"],otherOpts:["dflt","extras","arrayOk"],coerceFunction:function(e,t,r,a){if((a.extras||[]).indexOf(e)!==-1){t.set(e);return}if(typeof e!="string"){t.set(r);return}for(var n=e.split("+"),i=0;i{"use strict";var BS={staticPlot:{valType:"boolean",dflt:!1,description:["Determines whether the graphs are interactive or not.","If *false*, no interactivity, for export or image generation."].join(" ")},typesetMath:{valType:"boolean",dflt:!0,description:["Determines whether math should be typeset or not,","when MathJax (either v2 or v3) is present on the page."].join(" ")},plotlyServerURL:{valType:"string",dflt:"",description:["When set it determines base URL for","the 'Edit in Chart Studio' `showEditInChartStudio`/`showSendToCloud` mode bar button","and the showLink/sendData on-graph link.","To enable sending your data to Chart Studio Cloud, you need to","set both `plotlyServerURL` to 'https://chart-studio.plotly.com' and","also set `showSendToCloud` to true."].join(" ")},editable:{valType:"boolean",dflt:!1,description:["Determines whether the graph is editable or not.","Sets all pieces of `edits`","unless a separate `edits` config item overrides individual parts."].join(" ")},edits:{annotationPosition:{valType:"boolean",dflt:!1,description:["Determines if the main anchor of the annotation is editable.","The main anchor corresponds to the","text (if no arrow) or the arrow (which drags the whole thing leaving","the arrow length & direction unchanged)."].join(" ")},annotationTail:{valType:"boolean",dflt:!1,description:["Has only an effect for annotations with arrows.","Enables changing the length and direction of the arrow."].join(" ")},annotationText:{valType:"boolean",dflt:!1,description:"Enables editing annotation text."},axisTitleText:{valType:"boolean",dflt:!1,description:"Enables editing axis title text."},colorbarPosition:{valType:"boolean",dflt:!1,description:"Enables moving colorbars."},colorbarTitleText:{valType:"boolean",dflt:!1,description:"Enables editing colorbar title text."},legendPosition:{valType:"boolean",dflt:!1,description:"Enables moving the legend."},legendText:{valType:"boolean",dflt:!1,description:"Enables editing the trace name fields from the legend"},shapePosition:{valType:"boolean",dflt:!1,description:"Enables moving shapes."},titleText:{valType:"boolean",dflt:!1,description:"Enables editing the global layout title."}},editSelection:{valType:"boolean",dflt:!0,description:"Enables moving selections."},autosizable:{valType:"boolean",dflt:!1,description:["Determines whether the graphs are plotted with respect to","layout.autosize:true and infer its container size."].join(" ")},responsive:{valType:"boolean",dflt:!1,description:["Determines whether to change the layout size when window is resized.","In v3, this option will be removed and will always be true."].join(" ")},fillFrame:{valType:"boolean",dflt:!1,description:["When `layout.autosize` is turned on, determines whether the graph","fills the container (the default) or the screen (if set to *true*)."].join(" ")},frameMargins:{valType:"number",dflt:0,min:0,max:.5,description:["When `layout.autosize` is turned on, set the frame margins","in fraction of the graph size."].join(" ")},scrollZoom:{valType:"flaglist",flags:["cartesian","gl3d","geo","mapbox"],extras:[!0,!1],dflt:"gl3d+geo+mapbox",description:["Determines whether mouse wheel or two-finger scroll zooms is enable.","Turned on by default for gl3d, geo and mapbox subplots","(as these subplot types do not have zoombox via pan),","but turned off by default for cartesian subplots.","Set `scrollZoom` to *false* to disable scrolling for all subplots."].join(" ")},doubleClick:{valType:"enumerated",values:[!1,"reset","autosize","reset+autosize"],dflt:"reset+autosize",description:["Sets the double click interaction mode.","Has an effect only in cartesian plots.","If *false*, double click is disable.","If *reset*, double click resets the axis ranges to their initial values.","If *autosize*, double click set the axis ranges to their autorange values.","If *reset+autosize*, the odd double clicks resets the axis ranges","to their initial values and even double clicks set the axis ranges","to their autorange values."].join(" ")},doubleClickDelay:{valType:"number",dflt:300,min:0,description:["Sets the delay for registering a double-click in ms.","This is the time interval (in ms) between first mousedown and","2nd mouseup to constitute a double-click.","This setting propagates to all on-subplot double clicks","(except for geo and mapbox) and on-legend double clicks."].join(" ")},showAxisDragHandles:{valType:"boolean",dflt:!0,description:["Set to *false* to omit cartesian axis pan/zoom drag handles."].join(" ")},showAxisRangeEntryBoxes:{valType:"boolean",dflt:!0,description:["Set to *false* to omit direct range entry at the pan/zoom drag points,","note that `showAxisDragHandles` must be enabled to have an effect."].join(" ")},showTips:{valType:"boolean",dflt:!0,description:["Determines whether or not tips are shown while interacting","with the resulting graphs."].join(" ")},showLink:{valType:"boolean",dflt:!1,description:["Determines whether a link to Chart Studio Cloud is displayed","at the bottom right corner of resulting graphs.","Use with `sendData` and `linkText`."].join(" ")},linkText:{valType:"string",dflt:"Edit chart",noBlank:!0,description:["Sets the text appearing in the `showLink` link."].join(" ")},sendData:{valType:"boolean",dflt:!0,description:["If *showLink* is true, does it contain data","just link to a Chart Studio Cloud file?"].join(" ")},showSources:{valType:"any",dflt:!1,description:["Adds a source-displaying function to show sources on","the resulting graphs."].join(" ")},displayModeBar:{valType:"enumerated",values:["hover",!0,!1],dflt:"hover",description:["Determines the mode bar display mode.","If *true*, the mode bar is always visible.","If *false*, the mode bar is always hidden.","If *hover*, the mode bar is visible while the mouse cursor","is on the graph container."].join(" ")},showSendToCloud:{valType:"boolean",dflt:!1,description:['Should we include a ModeBar button, labeled "Edit in Chart Studio",',"that sends this chart to chart-studio.plotly.com (formerly plot.ly) or another plotly server","as specified by `plotlyServerURL` for editing, export, etc? Prior to version 1.43.0","this button was included by default, now it is opt-in using this flag.","Note that this button can (depending on `plotlyServerURL` being set) send your data","to an external server. However that server does not persist your data",'until you arrive at the Chart Studio and explicitly click "Save".'].join(" ")},showEditInChartStudio:{valType:"boolean",dflt:!1,description:["Same as `showSendToCloud`, but use a pencil icon instead of a floppy-disk.","Note that if both `showSendToCloud` and `showEditInChartStudio` are turned,","only `showEditInChartStudio` will be honored."].join(" ")},modeBarButtonsToRemove:{valType:"any",dflt:[],description:["Remove mode bar buttons by name.","See ./components/modebar/buttons.js for the list of names."].join(" ")},modeBarButtonsToAdd:{valType:"any",dflt:[],description:["Add mode bar button using config objects","See ./components/modebar/buttons.js for list of arguments.","To enable predefined modebar buttons e.g. shape drawing, hover and spikelines,","simply provide their string name(s). This could include:","*v1hovermode*, *hoverclosest*, *hovercompare*, *togglehover*, *togglespikelines*,","*drawline*, *drawopenpath*, *drawclosedpath*, *drawcircle*, *drawrect* and *eraseshape*.","Please note that these predefined buttons will only be shown if they are compatible","with all trace types used in a graph."].join(" ")},modeBarButtons:{valType:"any",dflt:!1,description:["Define fully custom mode bar buttons as nested array,","where the outer arrays represents button groups, and","the inner arrays have buttons config objects or names of default buttons","See ./components/modebar/buttons.js for more info."].join(" ")},toImageButtonOptions:{valType:"any",dflt:{},description:["Statically override options for toImage modebar button","allowed keys are format, filename, width, height, scale","see ../components/modebar/buttons.js"].join(" ")},displaylogo:{valType:"boolean",dflt:!0,description:["Determines whether or not the plotly logo is displayed","on the end of the mode bar."].join(" ")},watermark:{valType:"boolean",dflt:!1,description:"watermark the images with the company's logo"},plotGlPixelRatio:{valType:"number",dflt:2,min:1,max:4,description:["Set the pixel ratio during WebGL image export.","This config option was formerly named `plot3dPixelRatio`","which is now deprecated."].join(" ")},setBackground:{valType:"any",dflt:"transparent",description:["Set function to add the background color (i.e. `layout.paper_color`)","to a different container.","This function take the graph div as first argument and the current background","color as second argument.","Alternatively, set to string *opaque* to ensure there is white behind it."].join(" ")},topojsonURL:{valType:"string",noBlank:!0,dflt:"https://cdn.plot.ly/",description:["Set the URL to topojson used in geo charts.","By default, the topojson files are fetched from cdn.plot.ly.","For example, set this option to:","/dist/topojson/","to render geographical feature using the topojson files","that ship with the plotly.js module."].join(" ")},mapboxAccessToken:{valType:"string",dflt:null,description:["Mapbox access token (required to plot mapbox trace types)","If using an Mapbox Atlas server, set this option to ''","so that plotly.js won't attempt to authenticate to the public Mapbox server."].join(" ")},logging:{valType:"integer",min:0,max:2,dflt:1,description:["Turn all console logging on or off (errors will be thrown)","This should ONLY be set via Plotly.setPlotConfig","Available levels:","0: no logs","1: warnings and errors, but not informational messages","2: verbose logs"].join(" ")},notifyOnLogging:{valType:"integer",min:0,max:2,dflt:0,description:["Set on-graph logging (notifier) level","This should ONLY be set via Plotly.setPlotConfig","Available levels:","0: no on-graph logs","1: warnings and errors, but not informational messages","2: verbose logs"].join(" ")},queueLength:{valType:"integer",min:0,dflt:0,description:"Sets the length of the undo/redo queue."},globalTransforms:{valType:"any",dflt:[],description:["Set global transform to be applied to all traces with no","specification needed"].join(" ")},locale:{valType:"string",dflt:"en-US",description:["Which localization should we use?","Should be a string like 'en' or 'en-US'."].join(" ")},locales:{valType:"any",dflt:{},description:["Localization definitions","Locales can be provided either here (specific to one chart) or globally","by registering them as modules.","Should be an object of objects {locale: {dictionary: {...}, format: {...}}}","{"," da: {"," dictionary: {'Reset axes': 'Nulstil aksler', ...},"," format: {months: [...], shortMonths: [...]}"," },"," ...","}","All parts are optional. When looking for translation or format fields, we","look first for an exact match in a config locale, then in a registered","module. If those fail, we strip off any regionalization ('en-US' -> 'en')","and try each (config, registry) again. The final fallback for translation","is untranslated (which is US English) and for formats is the base English","(the only consequence being the last fallback date format %x is DD/MM/YYYY","instead of MM/DD/YYYY). Currently `grouping` and `currency` are ignored","for our automatic number formatting, but can be used in custom formats."].join(" ")}},US={};function GS(e,t){for(var r in e){var a=e[r];a.valType?t[r]=a.dflt:(t[r]||(t[r]={}),GS(a,t[r]))}}GS(BS,US);WS.exports={configAttributes:BS,dfltConfig:US}});var cg=I((ibe,VS)=>{"use strict";var fg=Ft(),bK=jt(),Vu=[];VS.exports=function(e,t){if(Vu.indexOf(e)!==-1)return;Vu.push(e);var r=1e3;bK(t)?r=t:t==="long"&&(r=3e3);var a=fg.select("body").selectAll(".plotly-notifier").data([0]);a.enter().append("div").classed("plotly-notifier",!0);var n=a.selectAll(".notifier-note").data(Vu);function i(o){o.duration(700).style("opacity",0).each("end",function(s){var l=Vu.indexOf(s);l!==-1&&Vu.splice(l,1),fg.select(this).remove()})}n.enter().append("div").classed("notifier-note",!0).style("opacity",0).each(function(o){var s=fg.select(this);s.append("button").classed("notifier-close",!0).html("×").on("click",function(){s.transition().call(i)});for(var l=s.append("p"),u=o.split(//g),c=0;c{"use strict";var il=Oo().dfltConfig,dg=cg(),hg=YS.exports={};hg.log=function(){var e;if(il.logging>1){var t=["LOG:"];for(e=0;e1){var r=[];for(e=0;e"),"long")}};hg.warn=function(){var e;if(il.logging>0){var t=["WARN:"];for(e=0;e0){var r=[];for(e=0;e"),"stick")}};hg.error=function(){var e;if(il.logging>0){var t=["ERROR:"];for(e=0;e0){var r=[];for(e=0;e"),"stick")}}});var Hd=I((sbe,ZS)=>{"use strict";ZS.exports=function(){}});var vg=I((lbe,XS)=>{"use strict";XS.exports=function(t,r){if(r instanceof RegExp){for(var a=r.toString(),n=0;n{$S.exports=xK;function xK(){var e=new Float32Array(16);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var JS=I((fbe,KS)=>{KS.exports=_K;function _K(e){var t=new Float32Array(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}});var t3=I((cbe,e3)=>{e3.exports=wK;function wK(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}});var pg=I((dbe,r3)=>{r3.exports=TK;function TK(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var n3=I((hbe,a3)=>{a3.exports=AK;function AK(e,t){if(e===t){var r=t[1],a=t[2],n=t[3],i=t[6],o=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=a,e[9]=i,e[11]=t[14],e[12]=n,e[13]=o,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}});var o3=I((vbe,i3)=>{i3.exports=kK;function kK(e,t){var r=t[0],a=t[1],n=t[2],i=t[3],o=t[4],s=t[5],l=t[6],u=t[7],c=t[8],d=t[9],h=t[10],p=t[11],g=t[12],m=t[13],b=t[14],x=t[15],_=r*s-a*o,k=r*l-n*o,w=r*u-i*o,A=a*l-n*s,L=a*u-i*s,M=n*u-i*l,q=c*m-d*g,P=c*b-h*g,E=c*x-p*g,F=d*b-h*m,N=d*x-p*m,j=h*x-p*b,B=_*j-k*N+w*F+A*E-L*P+M*q;return B?(B=1/B,e[0]=(s*j-l*N+u*F)*B,e[1]=(n*N-a*j-i*F)*B,e[2]=(m*M-b*L+x*A)*B,e[3]=(h*L-d*M-p*A)*B,e[4]=(l*E-o*j-u*P)*B,e[5]=(r*j-n*E+i*P)*B,e[6]=(b*w-g*M-x*k)*B,e[7]=(c*M-h*w+p*k)*B,e[8]=(o*N-s*E+u*q)*B,e[9]=(a*E-r*N-i*q)*B,e[10]=(g*L-m*w+x*_)*B,e[11]=(d*w-c*L-p*_)*B,e[12]=(s*P-o*F-l*q)*B,e[13]=(r*F-a*P+n*q)*B,e[14]=(m*k-g*A-b*_)*B,e[15]=(c*A-d*k+h*_)*B,e):null}});var l3=I((pbe,s3)=>{s3.exports=MK;function MK(e,t){var r=t[0],a=t[1],n=t[2],i=t[3],o=t[4],s=t[5],l=t[6],u=t[7],c=t[8],d=t[9],h=t[10],p=t[11],g=t[12],m=t[13],b=t[14],x=t[15];return e[0]=s*(h*x-p*b)-d*(l*x-u*b)+m*(l*p-u*h),e[1]=-(a*(h*x-p*b)-d*(n*x-i*b)+m*(n*p-i*h)),e[2]=a*(l*x-u*b)-s*(n*x-i*b)+m*(n*u-i*l),e[3]=-(a*(l*p-u*h)-s*(n*p-i*h)+d*(n*u-i*l)),e[4]=-(o*(h*x-p*b)-c*(l*x-u*b)+g*(l*p-u*h)),e[5]=r*(h*x-p*b)-c*(n*x-i*b)+g*(n*p-i*h),e[6]=-(r*(l*x-u*b)-o*(n*x-i*b)+g*(n*u-i*l)),e[7]=r*(l*p-u*h)-o*(n*p-i*h)+c*(n*u-i*l),e[8]=o*(d*x-p*m)-c*(s*x-u*m)+g*(s*p-u*d),e[9]=-(r*(d*x-p*m)-c*(a*x-i*m)+g*(a*p-i*d)),e[10]=r*(s*x-u*m)-o*(a*x-i*m)+g*(a*u-i*s),e[11]=-(r*(s*p-u*d)-o*(a*p-i*d)+c*(a*u-i*s)),e[12]=-(o*(d*b-h*m)-c*(s*b-l*m)+g*(s*h-l*d)),e[13]=r*(d*b-h*m)-c*(a*b-n*m)+g*(a*h-n*d),e[14]=-(r*(s*b-l*m)-o*(a*b-n*m)+g*(a*l-n*s)),e[15]=r*(s*h-l*d)-o*(a*h-n*d)+c*(a*l-n*s),e}});var f3=I((mbe,u3)=>{u3.exports=SK;function SK(e){var t=e[0],r=e[1],a=e[2],n=e[3],i=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=e[9],d=e[10],h=e[11],p=e[12],g=e[13],m=e[14],b=e[15],x=t*o-r*i,_=t*s-a*i,k=t*l-n*i,w=r*s-a*o,A=r*l-n*o,L=a*l-n*s,M=u*g-c*p,q=u*m-d*p,P=u*b-h*p,E=c*m-d*g,F=c*b-h*g,N=d*b-h*m;return x*N-_*F+k*E+w*P-A*q+L*M}});var d3=I((gbe,c3)=>{c3.exports=CK;function CK(e,t,r){var a=t[0],n=t[1],i=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],d=t[8],h=t[9],p=t[10],g=t[11],m=t[12],b=t[13],x=t[14],_=t[15],k=r[0],w=r[1],A=r[2],L=r[3];return e[0]=k*a+w*s+A*d+L*m,e[1]=k*n+w*l+A*h+L*b,e[2]=k*i+w*u+A*p+L*x,e[3]=k*o+w*c+A*g+L*_,k=r[4],w=r[5],A=r[6],L=r[7],e[4]=k*a+w*s+A*d+L*m,e[5]=k*n+w*l+A*h+L*b,e[6]=k*i+w*u+A*p+L*x,e[7]=k*o+w*c+A*g+L*_,k=r[8],w=r[9],A=r[10],L=r[11],e[8]=k*a+w*s+A*d+L*m,e[9]=k*n+w*l+A*h+L*b,e[10]=k*i+w*u+A*p+L*x,e[11]=k*o+w*c+A*g+L*_,k=r[12],w=r[13],A=r[14],L=r[15],e[12]=k*a+w*s+A*d+L*m,e[13]=k*n+w*l+A*h+L*b,e[14]=k*i+w*u+A*p+L*x,e[15]=k*o+w*c+A*g+L*_,e}});var v3=I((ybe,h3)=>{h3.exports=LK;function LK(e,t,r){var a=r[0],n=r[1],i=r[2],o,s,l,u,c,d,h,p,g,m,b,x;return t===e?(e[12]=t[0]*a+t[4]*n+t[8]*i+t[12],e[13]=t[1]*a+t[5]*n+t[9]*i+t[13],e[14]=t[2]*a+t[6]*n+t[10]*i+t[14],e[15]=t[3]*a+t[7]*n+t[11]*i+t[15]):(o=t[0],s=t[1],l=t[2],u=t[3],c=t[4],d=t[5],h=t[6],p=t[7],g=t[8],m=t[9],b=t[10],x=t[11],e[0]=o,e[1]=s,e[2]=l,e[3]=u,e[4]=c,e[5]=d,e[6]=h,e[7]=p,e[8]=g,e[9]=m,e[10]=b,e[11]=x,e[12]=o*a+c*n+g*i+t[12],e[13]=s*a+d*n+m*i+t[13],e[14]=l*a+h*n+b*i+t[14],e[15]=u*a+p*n+x*i+t[15]),e}});var m3=I((bbe,p3)=>{p3.exports=qK;function qK(e,t,r){var a=r[0],n=r[1],i=r[2];return e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e[3]=t[3]*a,e[4]=t[4]*n,e[5]=t[5]*n,e[6]=t[6]*n,e[7]=t[7]*n,e[8]=t[8]*i,e[9]=t[9]*i,e[10]=t[10]*i,e[11]=t[11]*i,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}});var y3=I((xbe,g3)=>{g3.exports=DK;function DK(e,t,r,a){var n=a[0],i=a[1],o=a[2],s=Math.sqrt(n*n+i*i+o*o),l,u,c,d,h,p,g,m,b,x,_,k,w,A,L,M,q,P,E,F,N,j,B,W;return Math.abs(s)<1e-6?null:(s=1/s,n*=s,i*=s,o*=s,l=Math.sin(r),u=Math.cos(r),c=1-u,d=t[0],h=t[1],p=t[2],g=t[3],m=t[4],b=t[5],x=t[6],_=t[7],k=t[8],w=t[9],A=t[10],L=t[11],M=n*n*c+u,q=i*n*c+o*l,P=o*n*c-i*l,E=n*i*c-o*l,F=i*i*c+u,N=o*i*c+n*l,j=n*o*c+i*l,B=i*o*c-n*l,W=o*o*c+u,e[0]=d*M+m*q+k*P,e[1]=h*M+b*q+w*P,e[2]=p*M+x*q+A*P,e[3]=g*M+_*q+L*P,e[4]=d*E+m*F+k*N,e[5]=h*E+b*F+w*N,e[6]=p*E+x*F+A*N,e[7]=g*E+_*F+L*N,e[8]=d*j+m*B+k*W,e[9]=h*j+b*B+w*W,e[10]=p*j+x*B+A*W,e[11]=g*j+_*B+L*W,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}});var x3=I((_be,b3)=>{b3.exports=PK;function PK(e,t,r){var a=Math.sin(r),n=Math.cos(r),i=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],d=t[10],h=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=i*n+u*a,e[5]=o*n+c*a,e[6]=s*n+d*a,e[7]=l*n+h*a,e[8]=u*n-i*a,e[9]=c*n-o*a,e[10]=d*n-s*a,e[11]=h*n-l*a,e}});var w3=I((wbe,_3)=>{_3.exports=RK;function RK(e,t,r){var a=Math.sin(r),n=Math.cos(r),i=t[0],o=t[1],s=t[2],l=t[3],u=t[8],c=t[9],d=t[10],h=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*n-u*a,e[1]=o*n-c*a,e[2]=s*n-d*a,e[3]=l*n-h*a,e[8]=i*a+u*n,e[9]=o*a+c*n,e[10]=s*a+d*n,e[11]=l*a+h*n,e}});var A3=I((Tbe,T3)=>{T3.exports=EK;function EK(e,t,r){var a=Math.sin(r),n=Math.cos(r),i=t[0],o=t[1],s=t[2],l=t[3],u=t[4],c=t[5],d=t[6],h=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*n+u*a,e[1]=o*n+c*a,e[2]=s*n+d*a,e[3]=l*n+h*a,e[4]=u*n-i*a,e[5]=c*n-o*a,e[6]=d*n-s*a,e[7]=h*n-l*a,e}});var M3=I((Abe,k3)=>{k3.exports=IK;function IK(e,t,r){var a,n,i,o=r[0],s=r[1],l=r[2],u=Math.sqrt(o*o+s*s+l*l);return Math.abs(u)<1e-6?null:(u=1/u,o*=u,s*=u,l*=u,a=Math.sin(t),n=Math.cos(t),i=1-n,e[0]=o*o*i+n,e[1]=s*o*i+l*a,e[2]=l*o*i-s*a,e[3]=0,e[4]=o*s*i-l*a,e[5]=s*s*i+n,e[6]=l*s*i+o*a,e[7]=0,e[8]=o*l*i+s*a,e[9]=s*l*i-o*a,e[10]=l*l*i+n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}});var C3=I((kbe,S3)=>{S3.exports=zK;function zK(e,t,r){var a=t[0],n=t[1],i=t[2],o=t[3],s=a+a,l=n+n,u=i+i,c=a*s,d=a*l,h=a*u,p=n*l,g=n*u,m=i*u,b=o*s,x=o*l,_=o*u;return e[0]=1-(p+m),e[1]=d+_,e[2]=h-x,e[3]=0,e[4]=d-_,e[5]=1-(c+m),e[6]=g+b,e[7]=0,e[8]=h+x,e[9]=g-b,e[10]=1-(c+p),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}});var q3=I((Mbe,L3)=>{L3.exports=NK;function NK(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var P3=I((Sbe,D3)=>{D3.exports=FK;function FK(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}});var E3=I((Cbe,R3)=>{R3.exports=jK;function jK(e,t){var r=Math.sin(t),a=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=a,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var z3=I((Lbe,I3)=>{I3.exports=OK;function OK(e,t){var r=Math.sin(t),a=Math.cos(t);return e[0]=a,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=a,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var F3=I((qbe,N3)=>{N3.exports=HK;function HK(e,t){var r=Math.sin(t),a=Math.cos(t);return e[0]=a,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var mg=I((Dbe,j3)=>{j3.exports=BK;function BK(e,t){var r=t[0],a=t[1],n=t[2],i=t[3],o=r+r,s=a+a,l=n+n,u=r*o,c=a*o,d=a*s,h=n*o,p=n*s,g=n*l,m=i*o,b=i*s,x=i*l;return e[0]=1-d-g,e[1]=c+x,e[2]=h-b,e[3]=0,e[4]=c-x,e[5]=1-u-g,e[6]=p+m,e[7]=0,e[8]=h+b,e[9]=p-m,e[10]=1-u-d,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var H3=I((Pbe,O3)=>{O3.exports=UK;function UK(e,t,r,a,n,i,o){var s=1/(r-t),l=1/(n-a),u=1/(i-o);return e[0]=i*2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=i*2*l,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(n+a)*l,e[10]=(o+i)*u,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*i*2*u,e[15]=0,e}});var U3=I((Rbe,B3)=>{B3.exports=GK;function GK(e,t,r,a,n){var i=1/Math.tan(t/2),o=1/(a-n);return e[0]=i/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=i,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=(n+a)*o,e[11]=-1,e[12]=0,e[13]=0,e[14]=2*n*a*o,e[15]=0,e}});var W3=I((Ebe,G3)=>{G3.exports=WK;function WK(e,t,r,a){var n=Math.tan(t.upDegrees*Math.PI/180),i=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),l=2/(o+s),u=2/(n+i);return e[0]=l,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=u,e[6]=0,e[7]=0,e[8]=-((o-s)*l*.5),e[9]=(n-i)*u*.5,e[10]=a/(r-a),e[11]=-1,e[12]=0,e[13]=0,e[14]=a*r/(r-a),e[15]=0,e}});var Y3=I((Ibe,V3)=>{V3.exports=VK;function VK(e,t,r,a,n,i,o){var s=1/(t-r),l=1/(a-n),u=1/(i-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*l,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*u,e[11]=0,e[12]=(t+r)*s,e[13]=(n+a)*l,e[14]=(o+i)*u,e[15]=1,e}});var X3=I((zbe,Z3)=>{var YK=pg();Z3.exports=ZK;function ZK(e,t,r,a){var n,i,o,s,l,u,c,d,h,p,g=t[0],m=t[1],b=t[2],x=a[0],_=a[1],k=a[2],w=r[0],A=r[1],L=r[2];return Math.abs(g-w)<1e-6&&Math.abs(m-A)<1e-6&&Math.abs(b-L)<1e-6?YK(e):(c=g-w,d=m-A,h=b-L,p=1/Math.sqrt(c*c+d*d+h*h),c*=p,d*=p,h*=p,n=_*h-k*d,i=k*c-x*h,o=x*d-_*c,p=Math.sqrt(n*n+i*i+o*o),p?(p=1/p,n*=p,i*=p,o*=p):(n=0,i=0,o=0),s=d*o-h*i,l=h*n-c*o,u=c*i-d*n,p=Math.sqrt(s*s+l*l+u*u),p?(p=1/p,s*=p,l*=p,u*=p):(s=0,l=0,u=0),e[0]=n,e[1]=s,e[2]=c,e[3]=0,e[4]=i,e[5]=l,e[6]=d,e[7]=0,e[8]=o,e[9]=u,e[10]=h,e[11]=0,e[12]=-(n*g+i*m+o*b),e[13]=-(s*g+l*m+u*b),e[14]=-(c*g+d*m+h*b),e[15]=1,e)}});var Q3=I((Nbe,$3)=>{$3.exports=XK;function XK(e){return"mat4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"}});var gg=I((Fbe,K3)=>{K3.exports={create:QS(),clone:JS(),copy:t3(),identity:pg(),transpose:n3(),invert:o3(),adjoint:l3(),determinant:f3(),multiply:d3(),translate:v3(),scale:m3(),rotate:y3(),rotateX:x3(),rotateY:w3(),rotateZ:A3(),fromRotation:M3(),fromRotationTranslation:C3(),fromScaling:q3(),fromTranslation:P3(),fromXRotation:E3(),fromYRotation:z3(),fromZRotation:F3(),fromQuat:mg(),frustum:H3(),perspective:U3(),perspectiveFromFieldOfView:W3(),ortho:Y3(),lookAt:X3(),str:Q3()}});var Bd=I(Ar=>{"use strict";var $K=gg();Ar.init2dArray=function(e,t){for(var r=new Array(e),a=0;a{"use strict";var QK=Ft(),KK=Ho(),JK=Bd(),eJ=gg();function tJ(e){var t;if(typeof e=="string"){if(t=document.getElementById(e),t===null)throw new Error("No DOM element with id '"+e+"' exists on the page.");return t}else if(e==null)throw new Error("DOM element provided is null or undefined");return e}function rJ(e){var t=QK.select(e);return t.node()instanceof HTMLElement&&t.size()&&t.classed("js-plotly-plot")}function J3(e){var t=e&&e.parentNode;t&&t.removeChild(e)}function aJ(e,t){eC("global",e,t)}function eC(e,t,r){var a="plotly.js-style-"+e,n=document.getElementById(a);n||(n=document.createElement("style"),n.setAttribute("id",a),n.appendChild(document.createTextNode("")),document.head.appendChild(n));var i=n.sheet;i.insertRule?i.insertRule(t+"{"+r+"}",0):i.addRule?i.addRule(t,r,0):KK.warn("addStyleRule failed")}function nJ(e){var t="plotly.js-style-"+e,r=document.getElementById(t);r&&J3(r)}function iJ(e){var t=rC(e),r=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return t.forEach(function(a){var n=tC(a);if(n){var i=JK.convertCssMatrix(n);r=eJ.multiply(r,r,i)}}),r}function tC(e){var t=window.getComputedStyle(e,null),r=t.getPropertyValue("-webkit-transform")||t.getPropertyValue("-moz-transform")||t.getPropertyValue("-ms-transform")||t.getPropertyValue("-o-transform")||t.getPropertyValue("transform");return r==="none"?null:r.replace("matrix","").replace("3d","").slice(1,-1).split(",").map(function(a){return+a})}function rC(e){for(var t=[];oJ(e);)t.push(e),e=e.parentNode;return t}function oJ(e){return e&&(e instanceof Element||e instanceof HTMLElement)}function sJ(e,t){return e&&t&&e.x===t.x&&e.y===t.y&&e.top===t.top&&e.left===t.left&&e.right===t.right&&e.bottom===t.bottom}aC.exports={getGraphDiv:tJ,isPlotDiv:rJ,removeElement:J3,addStyleRule:aJ,addRelatedStyleRule:eC,deleteRelatedStyleRule:nJ,getFullTransformMatrix:iJ,getElementTransformMatrix:tC,getElementAndAncestors:rC,equalDomRects:sJ}});var Yu=I((Hbe,nC)=>{"use strict";nC.exports={mode:{valType:"enumerated",dflt:"afterall",values:["immediate","next","afterall"],description:["Describes how a new animate call interacts with currently-running","animations. If `immediate`, current animations are interrupted and","the new animation is started. If `next`, the current frame is allowed","to complete, after which the new animation is started. If `afterall`","all existing frames are animated to completion before the new animation","is started."].join(" ")},direction:{valType:"enumerated",values:["forward","reverse"],dflt:"forward",description:["The direction in which to play the frames triggered by the animation call"].join(" ")},fromcurrent:{valType:"boolean",dflt:!1,description:["Play frames starting at the current frame instead of the beginning."].join(" ")},frame:{duration:{valType:"number",min:0,dflt:500,description:["The duration in milliseconds of each frame. If greater than the frame","duration, it will be limited to the frame duration."].join(" ")},redraw:{valType:"boolean",dflt:!0,description:["Redraw the plot at completion of the transition. This is desirable","for transitions that include properties that cannot be transitioned,","but may significantly slow down updates that do not require a full","redraw of the plot"].join(" ")}},transition:{duration:{valType:"number",min:0,dflt:500,editType:"none",description:["The duration of the transition, in milliseconds. If equal to zero,","updates are synchronous."].join(" ")},easing:{valType:"enumerated",dflt:"cubic-in-out",values:["linear","quad","cubic","sin","exp","circle","elastic","back","bounce","linear-in","quad-in","cubic-in","sin-in","exp-in","circle-in","elastic-in","back-in","bounce-in","linear-out","quad-out","cubic-out","sin-out","exp-out","circle-out","elastic-out","back-out","bounce-out","linear-in-out","quad-in-out","cubic-in-out","sin-in-out","exp-in-out","circle-in-out","elastic-in-out","back-in-out","bounce-in-out"],editType:"none",description:"The easing function used for the transition"},ordering:{valType:"enumerated",values:["layout first","traces first"],dflt:"layout first",editType:"none",description:["Determines whether the figure's layout or traces smoothly transitions","during updates that make both traces and layout change."].join(" ")}}}});var yi=I(yg=>{"use strict";yg.dash={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style",description:["Sets the dash style of lines. Set to a dash type string","(*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*)","or a dash length list in px (eg *5px,10px,2px,2px*)."].join(" ")};yg.pattern={shape:{valType:"enumerated",values:["","/","\\","x","-","|","+","."],dflt:"",arrayOk:!0,editType:"style",description:["Sets the shape of the pattern fill.","By default, no pattern is used for filling the area."].join(" ")},fillmode:{valType:"enumerated",values:["replace","overlay"],dflt:"replace",editType:"style",description:["Determines whether `marker.color` should be used","as a default to `bgcolor` or a `fgcolor`."].join(" ")},bgcolor:{valType:"color",arrayOk:!0,editType:"style",description:["When there is no colorscale sets the color of background pattern fill.","Defaults to a `marker.color` background when `fillmode` is *overlay*.","Otherwise, defaults to a transparent background."].join(" ")},fgcolor:{valType:"color",arrayOk:!0,editType:"style",description:["When there is no colorscale sets the color of foreground pattern fill.","Defaults to a `marker.color` background when `fillmode` is *replace*.","Otherwise, defaults to dark grey or white","to increase contrast with the `bgcolor`."].join(" ")},fgopacity:{valType:"number",editType:"style",min:0,max:1,description:["Sets the opacity of the foreground pattern fill.","Defaults to a 0.5 when `fillmode` is *overlay*.","Otherwise, defaults to 1."].join(" ")},size:{valType:"number",min:0,dflt:8,arrayOk:!0,editType:"style",description:["Sets the size of unit squares of the pattern fill in pixels,","which corresponds to the interval of repetition of the pattern."].join(" ")},solidity:{valType:"number",min:0,max:1,dflt:.3,arrayOk:!0,editType:"style",description:["Sets the solidity of the pattern fill.","Solidity is roughly the fraction of the area filled by the pattern.","Solidity of 0 shows only the background color without pattern","and solidty of 1 shows only the foreground color without pattern."].join(" ")},editType:"style",description:["Sets the pattern within the marker."].join(" ")}});var oC=I((Ube,iC)=>{"use strict";var lJ=yi().dash,uJ=ra().extendFlat;iC.exports={newshape:{line:{color:{valType:"color",editType:"none",description:["Sets the line color.","By default uses either dark grey or white","to increase contrast with background color."].join(" ")},width:{valType:"number",min:0,dflt:4,editType:"none",description:"Sets the line width (in px)."},dash:uJ({},lJ,{dflt:"solid",editType:"none"}),editType:"none"},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"none",description:["Sets the color filling new shapes' interior.","Please note that if using a fillcolor with alpha greater than half,","drag inside the active shape starts moving the shape underneath,","otherwise a new shape could be started over."].join(" ")},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd",editType:"none",description:["Determines the path's interior.","For more info please visit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule"].join(" ")},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"none",description:"Sets the opacity of new shapes."},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"none",description:"Specifies whether new shapes are drawn below or above traces."},drawdirection:{valType:"enumerated",values:["ortho","horizontal","vertical","diagonal"],dflt:"diagonal",editType:"none",description:["When `dragmode` is set to *drawrect*, *drawline* or *drawcircle*","this limits the drag to be horizontal, vertical or diagonal.","Using *diagonal* there is no limit e.g. in drawing lines in any direction.","*ortho* limits the draw to be either horizontal or vertical.","*horizontal* allows horizontal extend.","*vertical* allows vertical extend."].join(" ")},editType:"none"},activeshape:{fillcolor:{valType:"color",dflt:"rgb(255,0,255)",editType:"none",description:"Sets the color filling the active shape' interior."},opacity:{valType:"number",min:0,max:1,dflt:.5,editType:"none",description:"Sets the opacity of the active shape."},editType:"none"}}});var lC=I((Gbe,sC)=>{"use strict";var fJ=yi().dash,cJ=ra().extendFlat;sC.exports={newselection:{mode:{valType:"enumerated",values:["immediate","gradual"],dflt:"immediate",editType:"none",description:["Describes how a new selection is created.","If `immediate`, a new selection is created after first mouse up.","If `gradual`, a new selection is not created after first mouse.","By adding to and subtracting from the initial selection,","this option allows declaring extra outlines of the selection."].join(" ")},line:{color:{valType:"color",editType:"none",description:["Sets the line color.","By default uses either dark grey or white","to increase contrast with background color."].join(" ")},width:{valType:"number",min:1,dflt:1,editType:"none",description:"Sets the line width (in px)."},dash:cJ({},fJ,{dflt:"dot",editType:"none"}),editType:"none"},editType:"none"},activeselection:{fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"none",description:"Sets the color filling the active selection' interior."},opacity:{valType:"number",min:0,max:1,dflt:.5,editType:"none",description:"Sets the opacity of the active selection."},editType:"none"}}});var Gd=I((Wbe,uC)=>{"use strict";uC.exports=function(e){var t=e.editType;return{t:{valType:"number",dflt:0,editType:t,description:"The amount of padding (in px) along the top of the component."},r:{valType:"number",dflt:0,editType:t,description:"The amount of padding (in px) on the right side of the component."},b:{valType:"number",dflt:0,editType:t,description:"The amount of padding (in px) along the bottom of the component."},l:{valType:"number",dflt:0,editType:t,description:"The amount of padding (in px) on the left side of the component."},editType:t}}});var ol=I((Vbe,hC)=>{"use strict";var bg=La(),dJ=Yu(),Wd=gi(),fC=oC(),cC=lC(),hJ=Gd(),dC=ra().extendFlat,Vd=bg({editType:"calc",description:["Sets the global font.","Note that fonts used in traces and other","layout components inherit from the global font."].join(" ")});Vd.family.dflt='"Open Sans", verdana, arial, sans-serif';Vd.size.dflt=12;Vd.color.dflt=Wd.defaultLine;hC.exports={font:Vd,title:{text:{valType:"string",editType:"layoutstyle",description:["Sets the plot's title.","Note that before the existence of `title.text`, the title's","contents used to be defined as the `title` attribute itself.","This behavior has been deprecated."].join(" ")},font:bg({editType:"layoutstyle",description:["Sets the title font.","Note that the title's font used to be customized","by the now deprecated `titlefont` attribute."].join(" ")}),xref:{valType:"enumerated",dflt:"container",values:["container","paper"],editType:"layoutstyle",description:["Sets the container `x` refers to.","*container* spans the entire `width` of the plot.","*paper* refers to the width of the plotting area only."].join(" ")},yref:{valType:"enumerated",dflt:"container",values:["container","paper"],editType:"layoutstyle",description:["Sets the container `y` refers to.","*container* spans the entire `height` of the plot.","*paper* refers to the height of the plotting area only."].join(" ")},x:{valType:"number",min:0,max:1,dflt:.5,editType:"layoutstyle",description:["Sets the x position with respect to `xref` in normalized","coordinates from *0* (left) to *1* (right)."].join(" ")},y:{valType:"number",min:0,max:1,dflt:"auto",editType:"layoutstyle",description:["Sets the y position with respect to `yref` in normalized","coordinates from *0* (bottom) to *1* (top).","*auto* places the baseline of the title onto the","vertical center of the top margin."].join(" ")},xanchor:{valType:"enumerated",dflt:"auto",values:["auto","left","center","right"],editType:"layoutstyle",description:["Sets the title's horizontal alignment with respect to its x position.","*left* means that the title starts at x,","*right* means that the title ends at x","and *center* means that the title's center is at x.","*auto* divides `xref` by three and calculates the `xanchor`","value automatically based on the value of `x`."].join(" ")},yanchor:{valType:"enumerated",dflt:"auto",values:["auto","top","middle","bottom"],editType:"layoutstyle",description:["Sets the title's vertical alignment with respect to its y position.","*top* means that the title's cap line is at y,","*bottom* means that the title's baseline is at y","and *middle* means that the title's midline is at y.","*auto* divides `yref` by three and calculates the `yanchor`","value automatically based on the value of `y`."].join(" ")},pad:dC(hJ({editType:"layoutstyle"}),{description:["Sets the padding of the title.","Each padding value only applies when the corresponding","`xanchor`/`yanchor` value is set accordingly. E.g. for left","padding to take effect, `xanchor` must be set to *left*.","The same rule applies if `xanchor`/`yanchor` is determined automatically.","Padding is muted if the respective anchor value is *middle*/*center*."].join(" ")}),editType:"layoutstyle"},uniformtext:{mode:{valType:"enumerated",values:[!1,"hide","show"],dflt:!1,editType:"plot",description:["Determines how the font size for various text","elements are uniformed between each trace type.","If the computed text sizes were smaller than","the minimum size defined by `uniformtext.minsize`","using *hide* option hides the text; and","using *show* option shows the text without further downscaling.","Please note that if the size defined by `minsize` is greater than","the font size defined by trace, then the `minsize` is used."].join(" ")},minsize:{valType:"number",min:0,dflt:0,editType:"plot",description:["Sets the minimum text size between traces of the same type."].join(" ")},editType:"plot"},autosize:{valType:"boolean",dflt:!1,editType:"none",description:["Determines whether or not a layout width or height","that has been left undefined by the user","is initialized on each relayout.","Note that, regardless of this attribute,","an undefined layout width or height","is always initialized on the first call to plot."].join(" ")},width:{valType:"number",min:10,dflt:700,editType:"plot",description:["Sets the plot's width (in px)."].join(" ")},height:{valType:"number",min:10,dflt:450,editType:"plot",description:["Sets the plot's height (in px)."].join(" ")},minreducedwidth:{valType:"number",min:2,dflt:64,editType:"plot",description:"Minimum width of the plot with margin.automargin applied (in px)"},minreducedheight:{valType:"number",min:2,dflt:64,editType:"plot",description:"Minimum height of the plot with margin.automargin applied (in px)"},margin:{l:{valType:"number",min:0,dflt:80,editType:"plot",description:"Sets the left margin (in px)."},r:{valType:"number",min:0,dflt:80,editType:"plot",description:"Sets the right margin (in px)."},t:{valType:"number",min:0,dflt:100,editType:"plot",description:"Sets the top margin (in px)."},b:{valType:"number",min:0,dflt:80,editType:"plot",description:"Sets the bottom margin (in px)."},pad:{valType:"number",min:0,dflt:0,editType:"plot",description:["Sets the amount of padding (in px)","between the plotting area and the axis lines"].join(" ")},autoexpand:{valType:"boolean",dflt:!0,editType:"plot",description:["Turns on/off margin expansion computations.","Legends, colorbars, updatemenus, sliders, axis rangeselector and rangeslider","are allowed to push the margins by defaults."].join(" ")},editType:"plot"},computed:{valType:"any",editType:"none",description:["Placeholder for exporting automargin-impacting values namely","`margin.t`, `margin.b`, `margin.l` and `margin.r` in *full-json* mode."].join(" ")},paper_bgcolor:{valType:"color",dflt:Wd.background,editType:"plot",description:"Sets the background color of the paper where the graph is drawn."},plot_bgcolor:{valType:"color",dflt:Wd.background,editType:"layoutstyle",description:["Sets the background color of the plotting area in-between x and y axes."].join(" ")},autotypenumbers:{valType:"enumerated",values:["convert types","strict"],dflt:"convert types",editType:"calc",description:["Using *strict* a numeric string in trace data is not converted to a number.","Using *convert types* a numeric string in trace data may be","treated as a number during automatic axis `type` detection.","This is the default value; however it could be overridden for individual axes."].join(" ")},separators:{valType:"string",editType:"plot",description:["Sets the decimal and thousand separators.","For example, *. * puts a '.' before decimals and a space","between thousands. In English locales, dflt is *.,* but","other locales may alter this default."].join(" ")},hidesources:{valType:"boolean",dflt:!1,editType:"plot",description:["Determines whether or not a text link citing the data source is","placed at the bottom-right cored of the figure.","Has only an effect only on graphs that have been generated via","forked graphs from the Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise)."].join(" ")},showlegend:{valType:"boolean",editType:"legend",description:["Determines whether or not a legend is drawn.","Default is `true` if there is a trace to show and any of these:","a) Two or more traces would by default be shown in the legend.","b) One pie trace is shown in the legend.","c) One trace is explicitly given with `showlegend: true`."].join(" ")},colorway:{valType:"colorlist",dflt:Wd.defaults,editType:"calc",description:"Sets the default trace colors."},datarevision:{valType:"any",editType:"calc",description:["If provided, a changed value tells `Plotly.react` that","one or more data arrays has changed. This way you can modify","arrays in-place rather than making a complete new copy for an","incremental change.","If NOT provided, `Plotly.react` assumes that data arrays are","being treated as immutable, thus any data array with a","different identity from its predecessor contains new data."].join(" ")},uirevision:{valType:"any",editType:"none",description:["Used to allow user interactions with the plot to persist after","`Plotly.react` calls that are unaware of these interactions.","If `uirevision` is omitted, or if it is given and it changed from","the previous `Plotly.react` call, the exact new figure is used.","If `uirevision` is truthy and did NOT change, any attribute","that has been affected by user interactions and did not receive a","different value in the new figure will keep the interaction value.","`layout.uirevision` attribute serves as the default for","`uirevision` attributes in various sub-containers. For finer","control you can set these sub-attributes directly. For example,","if your app separately controls the data on the x and y axes you","might set `xaxis.uirevision=*time*` and `yaxis.uirevision=*cost*`.","Then if only the y data is changed, you can update","`yaxis.uirevision=*quantity*` and the y axis range will reset but","the x axis range will retain any user-driven zoom."].join(" ")},editrevision:{valType:"any",editType:"none",description:["Controls persistence of user-driven changes in `editable: true`","configuration, other than trace names and axis titles.","Defaults to `layout.uirevision`."].join(" ")},selectionrevision:{valType:"any",editType:"none",description:["Controls persistence of user-driven changes in selected points","from all traces."].join(" ")},template:{valType:"any",editType:"calc",description:["Default attributes to be applied to the plot. Templates can be","created from existing plots using `Plotly.makeTemplate`, or","created manually. They should be objects with format:","`{layout: layoutTemplate, data: {[type]: [traceTemplate, ...]}, ...}`","`layoutTemplate` and `traceTemplate` are objects matching the","attribute structure of `layout` and a data trace. ","Trace templates are applied cyclically to traces of each type.","Container arrays (eg `annotations`) have special handling:","An object ending in `defaults` (eg `annotationdefaults`) is applied","to each array item. But if an item has a `templateitemname` key","we look in the template array for an item with matching `name` and","apply that instead. If no matching `name` is found we mark the item","invisible. Any named template item not referenced is appended to","the end of the array, so you can use this for a watermark annotation","or a logo image, for example. To omit one of these items on the plot,","make an item with matching `templateitemname` and `visible: false`."].join(" ")},newshape:fC.newshape,activeshape:fC.activeshape,newselection:cC.newselection,activeselection:cC.activeselection,meta:{valType:"any",arrayOk:!0,editType:"plot",description:["Assigns extra meta information that can be used in various `text` attributes.","Attributes such as the graph, axis and colorbar `title.text`, annotation `text`","`trace.name` in legend items, `rangeselector`, `updatemenus` and `sliders` `label` text","all support `meta`. One can access `meta` fields using template strings:","`%{meta[i]}` where `i` is the index of the `meta`","item in question.","`meta` can also be an object for example `{key: value}` which can be accessed","%{meta[key]}."].join(" ")},transition:dC({},dJ.transition,{description:["Sets transition options used during Plotly.react updates."].join(" "),editType:"none"}),_deprecated:{title:{valType:"string",editType:"layoutstyle",description:["Value of `title` is no longer a simple *string* but a set of sub-attributes.","To set the contents of the title, please use `title.text` now."].join(" ")},titlefont:bg({editType:"layoutstyle",description:["Former `titlefont` is now the sub-attribute `font` of `title`.","To customize title font properties, please use `title.font` now."].join(" ")})}}});var bt=I(Dt=>{"use strict";var sl=Ho(),vC=Hd(),pC=vg(),vJ=el(),pJ=Ud().addStyleRule,mC=ra(),mJ=Zi(),gJ=ol(),yJ=mC.extendFlat,Yd=mC.extendDeepAll;Dt.modules={};Dt.allCategories={};Dt.allTypes=[];Dt.subplotsRegistry={};Dt.transformsRegistry={};Dt.componentsRegistry={};Dt.layoutArrayContainers=[];Dt.layoutArrayRegexes=[];Dt.traceLayoutAttributes={};Dt.localeRegistry={};Dt.apiMethodRegistry={};Dt.collectableSubplotTypes=null;Dt.register=function(t){if(Dt.collectableSubplotTypes=null,t)t&&!Array.isArray(t)&&(t=[t]);else throw new Error("No argument passed to Plotly.register.");for(var r=0;r{"use strict";var AJ=Ks().timeFormat,wC=jt(),xg=Ho(),Xi=tl().mod,ll=Tr(),fn=ll.BADNUM,Ba=ll.ONEDAY,Zu=ll.ONEHOUR,$i=ll.ONEMIN,ul=ll.ONESEC,Xu=ll.EPOCHJD,bi=bt(),TC=Ks().utcFormat,kJ=/^\s*(-?\d\d\d\d|\d\d)(-(\d?\d)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d(:?\d\d)?)?)?)?)?)?\s*$/m,MJ=/^\s*(-?\d\d\d\d|\d\d)(-(\d?\di?)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d(:?\d\d)?)?)?)?)?)?\s*$/m,AC=new Date().getFullYear()-70;function xi(e){return e&&bi.componentsRegistry.calendars&&typeof e=="string"&&e!=="gregorian"}kr.dateTick0=function(e,t){var r=SJ(e,!!t);if(t<2)return r;var a=kr.dateTime2ms(r,e);return a+=Ba*(t-1),kr.ms2DateTime(a,0,e)};function SJ(e,t){return xi(e)?t?bi.getComponentMethod("calendars","CANONICAL_SUNDAY")[e]:bi.getComponentMethod("calendars","CANONICAL_TICK")[e]:t?"2000-01-02":"2000-01-01"}kr.dfltRange=function(e){return xi(e)?bi.getComponentMethod("calendars","DFLTRANGE")[e]:["2000-01-01","2001-01-01"]};kr.isJSDate=function(e){return typeof e=="object"&&e!==null&&typeof e.getTime=="function"};var Zd,Xd;kr.dateTime2ms=function(e,t){if(kr.isJSDate(e)){var r=e.getTimezoneOffset()*$i,a=(e.getUTCMinutes()-e.getMinutes())*$i+(e.getUTCSeconds()-e.getSeconds())*ul+(e.getUTCMilliseconds()-e.getMilliseconds());if(a){var n=3*$i;r=r-n/2+Xi(a-r+n/2,n)}return e=Number(e)-r,e>=Zd&&e<=Xd?e:fn}if(typeof e!="string"&&typeof e!="number")return fn;e=String(e);var i=xi(t),o=e.charAt(0);i&&(o==="G"||o==="g")&&(e=e.substr(1),t="");var s=i&&t.substr(0,7)==="chinese",l=e.match(s?MJ:kJ);if(!l)return fn;var u=l[1],c=l[3]||"1",d=Number(l[5]||1),h=Number(l[7]||0),p=Number(l[9]||0),g=Number(l[11]||0);if(i){if(u.length===2)return fn;u=Number(u);var m;try{var b=bi.getComponentMethod("calendars","getCal")(t);if(s){var x=c.charAt(c.length-1)==="i";c=parseInt(c,10),m=b.newDate(u,b.toMonthIndex(u,c,x),d)}else m=b.newDate(u,Number(c),d)}catch(k){return fn}return m?(m.toJD()-Xu)*Ba+h*Zu+p*$i+g*ul:fn}u.length===2?u=(Number(u)+2e3-AC)%100+AC:u=Number(u),c-=1;var _=new Date(Date.UTC(2e3,c,d,h,p));return _.setUTCFullYear(u),_.getUTCMonth()!==c||_.getUTCDate()!==d?fn:_.getTime()+g*ul};Zd=kr.MIN_MS=kr.dateTime2ms("-9999");Xd=kr.MAX_MS=kr.dateTime2ms("9999-12-31 23:59:59.9999");kr.isDateTime=function(e,t){return kr.dateTime2ms(e,t)!==fn};function fl(e,t){return String(e+Math.pow(10,t)).substr(1)}var $d=90*Ba,kC=3*Zu,MC=5*$i;kr.ms2DateTime=function(e,t,r){if(typeof e!="number"||!(e>=Zd&&e<=Xd))return fn;t||(t=0);var a=Math.floor(Xi(e+.05,1)*10),n=Math.round(e-a/10),i,o,s,l,u,c;if(xi(r)){var d=Math.floor(n/Ba)+Xu,h=Math.floor(Xi(e,Ba));try{i=bi.getComponentMethod("calendars","getCal")(r).fromJD(d).formatDate("yyyy-mm-dd")}catch(p){i=TC("G%Y-%m-%d")(new Date(n))}if(i.charAt(0)==="-")for(;i.length<11;)i="-0"+i.substr(1);else for(;i.length<10;)i="0"+i;o=t<$d?Math.floor(h/Zu):0,s=t<$d?Math.floor(h%Zu/$i):0,l=t=Zd+Ba&&e<=Xd-Ba))return fn;var t=Math.floor(Xi(e+.05,1)*10),r=new Date(Math.round(e-t/10)),a=AJ("%Y-%m-%d")(r),n=r.getHours(),i=r.getMinutes(),o=r.getSeconds(),s=r.getUTCMilliseconds()*10+t;return SC(a,n,i,o,s)};function SC(e,t,r,a,n){if((t||r||a||n)&&(e+=" "+fl(t,2)+":"+fl(r,2),(a||n)&&(e+=":"+fl(a,2),n))){for(var i=4;n%10==0;)i-=1,n/=10;e+="."+fl(n,i)}return e}kr.cleanDate=function(e,t,r){if(e===fn)return t;if(kr.isJSDate(e)||typeof e=="number"&&isFinite(e)){if(xi(r))return xg.error("JS Dates and milliseconds are incompatible with world calendars",e),t;if(e=kr.ms2DateTimeLocal(+e),!e&&t!==void 0)return t}else if(!kr.isDateTime(e,r))return xg.error("unrecognized date",e),t;return e};var CJ=/%\d?f/g,LJ=/%h/g,qJ={"1":"1","2":"1","3":"2","4":"2"};function CC(e,t,r,a){e=e.replace(CJ,function(i){var o=Math.min(+i.charAt(1)||6,6),s=(t/1e3%1+2).toFixed(o).substr(2).replace(/0+$/,"")||"0";return s});var n=new Date(Math.floor(t+.05));if(e=e.replace(LJ,function(){return qJ[r("%q")(n)]}),xi(a))try{e=bi.getComponentMethod("calendars","worldCalFmt")(e,t,a)}catch(i){return"Invalid"}return r(e)(n)}var DJ=[59,59.9,59.99,59.999,59.9999];function PJ(e,t){var r=Xi(e+.05,Ba),a=fl(Math.floor(r/Zu),2)+":"+fl(Xi(Math.floor(r/$i),60),2);if(t!=="M"){wC(t)||(t=0);var n=Math.min(Xi(e/ul,60),DJ[t]),i=(100+n).toFixed(t).substr(1);t>0&&(i=i.replace(/0+$/,"").replace(/[\.]$/,"")),a+=":"+i}return a}kr.formatDate=function(e,t,r,a,n,i){if(n=xi(n)&&n,!t)if(r==="y")t=i.year;else if(r==="m")t=i.month;else if(r==="d")t=i.dayMonth+` +`+i.year;else return PJ(e,r)+` +`+CC(i.dayMonthYear,e,a,n);return CC(t,e,a,n)};var LC=3*Ba;kr.incrementMonth=function(e,t,r){r=xi(r)&&r;var a=Xi(e,Ba);if(e=Math.round(e-a),r)try{var n=Math.round(e/Ba)+Xu,i=bi.getComponentMethod("calendars","getCal")(r),o=i.fromJD(n);return t%12?i.add(o,t,"m"):i.add(o,t/12,"y"),(o.toJD()-Xu)*Ba+a}catch(l){xg.error("invalid ms "+e+" in calendar "+r)}var s=new Date(e+LC);return s.setUTCMonth(s.getUTCMonth()+t)+a-LC};kr.findExactDates=function(e,t){for(var r=0,a=0,n=0,i=0,o,s,l=xi(t)&&bi.getComponentMethod("calendars","getCal")(t),u=0;u{"use strict";DC.exports=function(t){return t}});var Tg=I(_i=>{"use strict";var RJ=jt(),EJ=Ho(),IJ=_g(),zJ=Tr().BADNUM,wg=1e-9;_i.findBin=function(e,t,r){if(RJ(t.start))return r?Math.ceil((e-t.start)/t.size-wg)-1:Math.floor((e-t.start)/t.size+wg);var a=0,n=t.length,i=0,o=n>1?(t[n-1]-t[0])/(n-1):1,s,l;for(o>=0?l=r?NJ:FJ:l=r?OJ:jJ,e+=o*wg*(r?-1:1)*(o>=0?1:-1);a90&&EJ.log("Long binary search..."),a-1};function NJ(e,t){return et}function OJ(e,t){return e>=t}_i.sorterAsc=function(e,t){return e-t};_i.sorterDes=function(e,t){return t-e};_i.distinctVals=function(e){var t=e.slice();t.sort(_i.sorterAsc);var r;for(r=t.length-1;r>-1&&t[r]===zJ;r--);for(var a=t[r]-t[0]||1,n=a/(r||1)/1e4,i=[],o,s=0;s<=r;s++){var l=t[s],u=l-o;o===void 0?(i.push(l),o=l):u>n&&(a=Math.min(a,u),i.push(l),o=l)}return{vals:i,minDiff:a}};_i.roundUp=function(e,t,r){for(var a=0,n=t.length-1,i,o=0,s=r?0:1,l=r?1:0,u=r?Math.ceil:Math.floor;a0&&(a=1),r&&a)return e.sort(t)}return a?e:e.reverse()};_i.findIndexOfMin=function(e,t){t=t||IJ;for(var r=1/0,a,n=0;n{"use strict";PC.exports=function(t){return Object.keys(t).sort()}});var RC=I(Or=>{"use strict";var $u=jt(),HJ=zo().isArrayOrTypedArray;Or.aggNums=function(e,t,r,a){var n,i;if((!a||a>r.length)&&(a=r.length),$u(t)||(t=!1),HJ(r[0])){for(i=new Array(a),n=0;ne.length-1)return e[e.length-1];var r=t%1;return r*e[Math.ceil(t)]+(1-r)*e[Math.floor(t)]}});var FC=I((Jbe,NC)=>{"use strict";var EC=tl(),kg=EC.mod,BJ=EC.modHalf,Qu=Math.PI,Qi=2*Qu;function UJ(e){return e/180*Qu}function GJ(e){return e/Qu*180}function Mg(e){return Math.abs(e[1]-e[0])>Qi-1e-14}function IC(e,t){return BJ(t-e,Qi)}function WJ(e,t){return Math.abs(IC(e,t))}function zC(e,t){if(Mg(t))return!0;var r,a;t[0]a&&(a+=Qi);var n=kg(e,Qi),i=n+Qi;return n>=r&&n<=a||i>=r&&i<=a}function VJ(e,t,r,a){if(!zC(t,a))return!1;var n,i;return r[0]=n&&e<=i}function Sg(e,t,r,a,n,i,o){n=n||0,i=i||0;var s=Mg([r,a]),l,u,c,d,h;s?(l=0,u=Qu,c=Qi):r{"use strict";Bo.isLeftAnchor=function(t){return t.xanchor==="left"||t.xanchor==="auto"&&t.x<=1/3};Bo.isCenterAnchor=function(t){return t.xanchor==="center"||t.xanchor==="auto"&&t.x>1/3&&t.x<2/3};Bo.isRightAnchor=function(t){return t.xanchor==="right"||t.xanchor==="auto"&&t.x>=2/3};Bo.isTopAnchor=function(t){return t.yanchor==="top"||t.yanchor==="auto"&&t.y>=2/3};Bo.isMiddleAnchor=function(t){return t.yanchor==="middle"||t.yanchor==="auto"&&t.y>1/3&&t.y<2/3};Bo.isBottomAnchor=function(t){return t.yanchor==="bottom"||t.yanchor==="auto"&&t.y<=1/3}});var BC=I(Uo=>{"use strict";var Cg=tl().mod;Uo.segmentsIntersect=OC;function OC(e,t,r,a,n,i,o,s){var l=r-e,u=n-e,c=o-n,d=a-t,h=i-t,p=s-i,g=l*p-c*d;if(g===0)return null;var m=(u*p-c*h)/g,b=(u*d-l*h)/g;return b<0||b>1||m<0||m>1?null:{x:e+l*m,y:t+d*m}}Uo.segmentDistance=function(t,r,a,n,i,o,s,l){if(OC(t,r,a,n,i,o,s,l))return 0;var u=a-t,c=n-r,d=s-i,h=l-o,p=u*u+c*c,g=d*d+h*h,m=Math.min(Qd(u,c,p,i-t,o-r),Qd(u,c,p,s-t,l-r),Qd(d,h,g,t-i,r-o),Qd(d,h,g,a-i,n-o));return Math.sqrt(m)};function Qd(e,t,r,a,n){var i=a*e+n*t;if(i<0)return a*a+n*n;if(i>r){var o=a-e,s=n-t;return o*o+s*s}else{var l=a*t-n*e;return l*l/r}}var Kd,Lg,HC;Uo.getTextLocation=function(t,r,a,n){if((t!==Lg||n!==HC)&&(Kd={},Lg=t,HC=n),Kd[a])return Kd[a];var i=t.getPointAtLength(Cg(a-n/2,r)),o=t.getPointAtLength(Cg(a+n/2,r)),s=Math.atan((o.y-i.y)/(o.x-i.x)),l=t.getPointAtLength(Cg(a,r)),u=(l.x*4+i.x+o.x)/6,c=(l.y*4+i.y+o.y)/6,d={x:u,y:c,theta:s};return Kd[a]=d,d};Uo.clearLocationCache=function(){Lg=null};Uo.getVisibleSegment=function(t,r,a){var n=r.left,i=r.right,o=r.top,s=r.bottom,l=0,u=t.getTotalLength(),c=u,d,h;function p(m){var b=t.getPointAtLength(m);m===0?d=b:m===u&&(h=b);var x=b.xi?b.x-i:0,_=b.ys?b.y-s:0;return Math.sqrt(x*x+_*_)}for(var g=p(l);g;){if(l+=g+a,l>c)return;g=p(l)}for(g=p(c);g;){if(c-=g+a,l>c)return;g=p(c)}return{min:l,max:c,len:c-l,total:u,isClosed:l===0&&c===u&&Math.abs(d.x-h.x)<.1&&Math.abs(d.y-h.y)<.1}};Uo.findPointOnPath=function(t,r,a,n){n=n||{};for(var i=n.pathLength||t.getTotalLength(),o=n.tolerance||.001,s=n.iterationLimit||30,l=t.getPointAtLength(0)[a]>t.getPointAtLength(i)[a]?-1:1,u=0,c=0,d=i,h,p,g;u0?d=h:c=h,u++}return p}});var Jd=I(Ku=>{"use strict";var wi={};Ku.throttle=function(t,r,a){var n=wi[t],i=Date.now();if(!n){for(var o in wi)wi[o].tsn.ts+r){s();return}n.timer=setTimeout(function(){s(),n.timer=null},r)};Ku.done=function(e){var t=wi[e];return!t||!t.timer?Promise.resolve():new Promise(function(r){var a=t.onDone;t.onDone=function(){a&&a(),r(),t.onDone=null}})};Ku.clear=function(e){if(e)UC(wi[e]),delete wi[e];else for(var t in wi)Ku.clear(t)};function UC(e){e&&e.timer!==null&&(clearTimeout(e.timer),e.timer=null)}});var WC=I((a1e,GC)=>{"use strict";GC.exports=function(t){t._responsiveChartHandler&&(window.removeEventListener("resize",t._responsiveChartHandler),delete t._responsiveChartHandler)}});var VC=I((n1e,eh)=>{"use strict";eh.exports=qg;eh.exports.isMobile=qg;eh.exports.default=qg;var $J=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,QJ=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i;function qg(e){e||(e={});var t=e.ua;if(!t&&typeof navigator!="undefined"&&(t=navigator.userAgent),t&&t.headers&&typeof t.headers["user-agent"]=="string"&&(t=t.headers["user-agent"]),typeof t!="string")return!1;var r=e.tablet?QJ.test(t):$J.test(t);return!r&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&t.indexOf("Macintosh")!==-1&&t.indexOf("Safari")!==-1&&(r=!0),r}});var ZC=I((i1e,YC)=>{"use strict";var KJ=jt(),JJ=VC();YC.exports=function(t){var r;if(t&&t.hasOwnProperty("userAgent")?r=t.userAgent:r=eee(),typeof r!="string")return!0;var a=JJ({ua:{headers:{"user-agent":r}},tablet:!0,featureDetect:!1});if(!a)for(var n=r.split(" "),i=1;i-1;s--){var l=n[s];if(l.substr(0,8)==="Version/"){var u=l.substr(8).split(".")[0];if(KJ(u)&&(u=+u),u>=13)return!0}}}return a};function eee(){var e;return typeof navigator!="undefined"&&(e=navigator.userAgent),e&&e.headers&&typeof e.headers["user-agent"]=="string"&&(e=e.headers["user-agent"]),e}});var $C=I((o1e,XC)=>{"use strict";var tee=Ft();XC.exports=function(t,r,a){var n=t.selectAll("g."+a.replace(/\s/g,".")).data(r,function(o){return o[0].trace.uid});n.exit().remove(),n.enter().append("g").attr("class",a),n.order();var i=t.classed("rangeplot")?"nodeRangePlot3":"node3";return n.each(function(o){o[0][i]=tee.select(this)}),n}});var KC=I((s1e,QC)=>{"use strict";var ree=bt();QC.exports=function(t,r){for(var a=t._context.locale,n=0;n<2;n++){for(var i=t._context.locales,o=0;o<2;o++){var s=(i[a]||{}).dictionary;if(s){var l=s[r];if(l)return l}i=ree.localeRegistry}var u=a.split("-")[0];if(u===a)break;a=u}return r}});var eL=I((l1e,JC)=>{"use strict";JC.exports=function(t){for(var r={},a=[],n=0,i=0;i{"use strict";tL.exports=function(t){for(var r=iee(t)?nee:aee,a=[],n=0;n{"use strict";aL.exports=function(t,r){if(!r)return t;var a=1/Math.abs(r),n=a>1?(a*t+a*r)/a:t+r,i=String(n).length;if(i>16){var o=String(r).length,s=String(t).length;if(i>=s+o){var l=parseFloat(n).toPrecision(12);l.indexOf("e+")===-1&&(n=+l)}}return n}});var oL=I((c1e,iL)=>{"use strict";var oee=jt(),see=Tr().BADNUM,lee=/^['"%,$#\s']+|[, ]|['"%,$#\s']+$/g;iL.exports=function(t){return typeof t=="string"&&(t=t.replace(lee,"")),oee(t)?Number(t):see}});var Re=I((d1e,bL)=>{"use strict";var Ju=Ft(),uee=Ks().utcFormat,fee=rg().format,sL=jt(),lL=Tr(),uL=lL.FP_SAFE,cee=-uL,fL=lL.BADNUM,fe=bL.exports={};fe.adjustFormat=function(t){return!t||/^\d[.]\df/.test(t)||/[.]\d%/.test(t)?t:t==="0.f"?"~f":/^\d%/.test(t)?"~%":/^\ds/.test(t)?"~s":!/^[~,.0$]/.test(t)&&/[&fps]/.test(t)?"~"+t:t};var cL={};fe.warnBadFormat=function(e){var t=String(e);cL[t]||(cL[t]=1,fe.warn('encountered bad format: "'+t+'"'))};fe.noFormat=function(e){return String(e)};fe.numberFormat=function(e){var t;try{t=fee(fe.adjustFormat(e))}catch(r){return fe.warnBadFormat(e),fe.noFormat}return t};fe.nestedProperty=Ld();fe.keyedContainer=pS();fe.relativeAttr=gS();fe.isPlainObject=el();fe.toLogRange=Dd();fe.relinkPrivateKeys=wS();var Go=zo();fe.isTypedArray=Go.isTypedArray;fe.isArrayOrTypedArray=Go.isArrayOrTypedArray;fe.isArray1D=Go.isArray1D;fe.ensureArray=Go.ensureArray;fe.concat=Go.concat;fe.maxRowLength=Go.maxRowLength;fe.minRowLength=Go.minRowLength;var dL=tl();fe.mod=dL.mod;fe.modHalf=dL.modHalf;var Ki=HS();fe.valObjectMeta=Ki.valObjectMeta;fe.coerce=Ki.coerce;fe.coerce2=Ki.coerce2;fe.coerceFont=Ki.coerceFont;fe.coercePattern=Ki.coercePattern;fe.coerceHoverinfo=Ki.coerceHoverinfo;fe.coerceSelectionMarkerOpacity=Ki.coerceSelectionMarkerOpacity;fe.validate=Ki.validate;var Qa=qC();fe.dateTime2ms=Qa.dateTime2ms;fe.isDateTime=Qa.isDateTime;fe.ms2DateTime=Qa.ms2DateTime;fe.ms2DateTimeLocal=Qa.ms2DateTimeLocal;fe.cleanDate=Qa.cleanDate;fe.isJSDate=Qa.isJSDate;fe.formatDate=Qa.formatDate;fe.incrementMonth=Qa.incrementMonth;fe.dateTick0=Qa.dateTick0;fe.dfltRange=Qa.dfltRange;fe.findExactDates=Qa.findExactDates;fe.MIN_MS=Qa.MIN_MS;fe.MAX_MS=Qa.MAX_MS;var Wo=Tg();fe.findBin=Wo.findBin;fe.sorterAsc=Wo.sorterAsc;fe.sorterDes=Wo.sorterDes;fe.distinctVals=Wo.distinctVals;fe.roundUp=Wo.roundUp;fe.sort=Wo.sort;fe.findIndexOfMin=Wo.findIndexOfMin;fe.sortObjectKeys=Ag();var Ji=RC();fe.aggNums=Ji.aggNums;fe.len=Ji.len;fe.mean=Ji.mean;fe.median=Ji.median;fe.midRange=Ji.midRange;fe.variance=Ji.variance;fe.stdev=Ji.stdev;fe.interp=Ji.interp;var En=Bd();fe.init2dArray=En.init2dArray;fe.transposeRagged=En.transposeRagged;fe.dot=En.dot;fe.translationMatrix=En.translationMatrix;fe.rotationMatrix=En.rotationMatrix;fe.rotationXYMatrix=En.rotationXYMatrix;fe.apply3DTransform=En.apply3DTransform;fe.apply2DTransform=En.apply2DTransform;fe.apply2DTransform2=En.apply2DTransform2;fe.convertCssMatrix=En.convertCssMatrix;fe.inverseTransformMatrix=En.inverseTransformMatrix;var ti=FC();fe.deg2rad=ti.deg2rad;fe.rad2deg=ti.rad2deg;fe.angleDelta=ti.angleDelta;fe.angleDist=ti.angleDist;fe.isFullCircle=ti.isFullCircle;fe.isAngleInsideSector=ti.isAngleInsideSector;fe.isPtInsideSector=ti.isPtInsideSector;fe.pathArc=ti.pathArc;fe.pathSector=ti.pathSector;fe.pathAnnulus=ti.pathAnnulus;var cl=jC();fe.isLeftAnchor=cl.isLeftAnchor;fe.isCenterAnchor=cl.isCenterAnchor;fe.isRightAnchor=cl.isRightAnchor;fe.isTopAnchor=cl.isTopAnchor;fe.isMiddleAnchor=cl.isMiddleAnchor;fe.isBottomAnchor=cl.isBottomAnchor;var dl=BC();fe.segmentsIntersect=dl.segmentsIntersect;fe.segmentDistance=dl.segmentDistance;fe.getTextLocation=dl.getTextLocation;fe.clearLocationCache=dl.clearLocationCache;fe.getVisibleSegment=dl.getVisibleSegment;fe.findPointOnPath=dl.findPointOnPath;var th=ra();fe.extendFlat=th.extendFlat;fe.extendDeep=th.extendDeep;fe.extendDeepAll=th.extendDeepAll;fe.extendDeepNoArrays=th.extendDeepNoArrays;var Dg=Ho();fe.log=Dg.log;fe.warn=Dg.warn;fe.error=Dg.error;var dee=al();fe.counterRegex=dee.counter;var Pg=Jd();fe.throttle=Pg.throttle;fe.throttleDone=Pg.done;fe.clearThrottle=Pg.clear;var ri=Ud();fe.getGraphDiv=ri.getGraphDiv;fe.isPlotDiv=ri.isPlotDiv;fe.removeElement=ri.removeElement;fe.addStyleRule=ri.addStyleRule;fe.addRelatedStyleRule=ri.addRelatedStyleRule;fe.deleteRelatedStyleRule=ri.deleteRelatedStyleRule;fe.getFullTransformMatrix=ri.getFullTransformMatrix;fe.getElementTransformMatrix=ri.getElementTransformMatrix;fe.getElementAndAncestors=ri.getElementAndAncestors;fe.equalDomRects=ri.equalDomRects;fe.clearResponsive=WC();fe.preserveDrawingBuffer=ZC();fe.makeTraceGroups=$C();fe._=KC();fe.notifier=cg();fe.filterUnique=eL();fe.filterVisible=rL();fe.pushUnique=vg();fe.increment=nL();fe.cleanNumber=oL();fe.ensureNumber=function(t){return sL(t)?(t=Number(t),t>uL||t=t?!1:sL(e)&&e>=0&&e%1==0};fe.noop=Hd();fe.identity=_g();fe.repeat=function(e,t){for(var r=new Array(t),a=0;ar?Math.max(r,Math.min(t,e)):Math.max(t,Math.min(r,e))};fe.bBoxIntersect=function(e,t,r){return r=r||0,e.left<=t.right+r&&t.left<=e.right+r&&e.top<=t.bottom+r&&t.top<=e.bottom+r};fe.simpleMap=function(e,t,r,a,n){for(var i=e.length,o=new Array(i),s=0;s=Math.pow(2,r)?n>10?(fe.warn("randstr failed uniqueness"),o):e(t,r,a,(n||0)+1):o};fe.OptionControl=function(e,t){e||(e={}),t||(t="opt");var r={};return r.optionList=[],r._newoption=function(a){a[t]=e,r[a.name]=a,r.optionList.push(a)},r["_"+t]=e,r};fe.smooth=function(e,t){if(t=Math.round(t)||0,t<2)return e;var r=e.length,a=2*r,n=2*t-1,i=new Array(n),o=new Array(r),s,l,u,c;for(s=0;s=a&&(u-=a*Math.floor(u/a)),u<0?u=-1-u:u>=r&&(u=a-1-u),c+=e[u]*i[l];o[s]=c}return o};fe.syncOrAsync=function(e,t,r){var a,n;function i(){return fe.syncOrAsync(e,t,r)}for(;e.length;)if(n=e.splice(0,1)[0],a=n(t),a&&a.then)return a.then(i);return r&&r(t)};fe.stripTrailingSlash=function(e){return e.substr(-1)==="/"?e.substr(0,e.length-1):e};fe.noneOrAll=function(e,t,r){if(!!e){var a=!1,n=!0,i,o;for(i=0;i0?n:0})};fe.fillArray=function(e,t,r,a){if(a=a||fe.identity,fe.isArrayOrTypedArray(e))for(var n=0;n1?n+o[1]:"";if(i&&(o.length>1||s.length>4||r))for(;a.test(s);)s=s.replace(a,"$1"+i+"$2");return s+l};fe.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var vL=/^\w*$/;fe.templateString=function(e,t){var r={};return e.replace(fe.TEMPLATE_STRING_REGEX,function(a,n){var i;return vL.test(n)?i=t[n]:(r[n]=r[n]||fe.nestedProperty(t,n).get,i=r[n]()),fe.isValidTextValue(i)?i:""})};var yee={max:10,count:0,name:"hovertemplate"};fe.hovertemplateString=function(){return mL.apply(yee,arguments)};var bee={max:10,count:0,name:"texttemplate"};fe.texttemplateString=function(){return mL.apply(bee,arguments)};var pL=/^[:|\|]/;function mL(e,t,r){var a=this,n=arguments;t||(t={});var i={};return e.replace(fe.TEMPLATE_STRING_REGEX,function(o,s,l){var u=s==="xother"||s==="yother",c=s==="_xother"||s==="_yother",d=s==="_xother_"||s==="_yother_",h=s==="xother_"||s==="yother_",p=u||c||h||d,g=s;(c||d)&&(g=g.substring(1)),(h||d)&&(g=g.substring(0,g.length-1));var m;if(p){if(m=t[g],m===void 0)return""}else{var b,x;for(x=3;x=rh&&o<=gL,u=s>=rh&&s<=gL;if(l&&(a=10*a+o-rh),u&&(n=10*n+s-rh),!l||!u){if(a!==n)return a-n;if(o!==s)return o-s}}return n-a};var hl=2e9;fe.seedPseudoRandom=function(){hl=2e9};fe.pseudoRandom=function(){var e=hl;return hl=(69069*hl+1)%4294967296,Math.abs(hl-e)<429496729?fe.pseudoRandom():hl/4294967296};fe.fillText=function(e,t,r){var a=Array.isArray(r)?function(o){r.push(o)}:function(o){r.text=o},n=fe.extractOption(e,t,"htx","hovertext");if(fe.isValidTextValue(n))return a(n);var i=fe.extractOption(e,t,"tx","text");if(fe.isValidTextValue(i))return a(i)};fe.isValidTextValue=function(e){return e||e===0};fe.formatPercent=function(e,t){t=t||0;for(var r=(Math.round(100*e*Math.pow(10,t))*Math.pow(.1,t)).toFixed(t)+"%",a=0;a1&&(u=1):u=0,fe.strTranslate(n-u*(r+o),i-u*(a+s))+fe.strScale(u)+(l?"rotate("+l+(t?"":" "+r+" "+a)+")":"")};fe.setTransormAndDisplay=function(e,t){e.attr("transform",fe.getTextTransform(t)),e.style("display",t.scale?null:"none")};fe.ensureUniformFontSize=function(e,t){var r=fe.extendFlat({},t);return r.size=Math.max(t.size,e._fullLayout.uniformtext.minsize||0),r};fe.join2=function(e,t,r){var a=e.length;return a>1?e.slice(0,-1).join(t)+r+e[a-1]:e.join(t)};fe.bigFont=function(e){return Math.round(1.2*e)};var yL=fe.getFirefoxVersion(),xee=yL!==null&&yL<86;fe.getPositionFromD3Event=function(){return xee?[Ju.event.layerX,Ju.event.layerY]:[Ju.event.offsetX,Ju.event.offsetY]}});var wL=I(()=>{"use strict";var _ee=Re(),xL={"X,X div":'direction:ltr;font-family:"Open Sans",verdana,arial,sans-serif;margin:0;padding:0;',"X input,X button":'font-family:"Open Sans",verdana,arial,sans-serif;',"X input:focus,X button:focus":"outline:none;","X a":"text-decoration:none;","X a:hover":"text-decoration:none;","X .crisp":"shape-rendering:crispEdges;","X .user-select-none":"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;","X svg":"overflow:hidden;","X svg a":"fill:#447adb;","X svg a:hover":"fill:#3c6dc5;","X .main-svg":"position:absolute;top:0;left:0;pointer-events:none;","X .main-svg .draglayer":"pointer-events:all;","X .cursor-default":"cursor:default;","X .cursor-pointer":"cursor:pointer;","X .cursor-crosshair":"cursor:crosshair;","X .cursor-move":"cursor:move;","X .cursor-col-resize":"cursor:col-resize;","X .cursor-row-resize":"cursor:row-resize;","X .cursor-ns-resize":"cursor:ns-resize;","X .cursor-ew-resize":"cursor:ew-resize;","X .cursor-sw-resize":"cursor:sw-resize;","X .cursor-s-resize":"cursor:s-resize;","X .cursor-se-resize":"cursor:se-resize;","X .cursor-w-resize":"cursor:w-resize;","X .cursor-e-resize":"cursor:e-resize;","X .cursor-nw-resize":"cursor:nw-resize;","X .cursor-n-resize":"cursor:n-resize;","X .cursor-ne-resize":"cursor:ne-resize;","X .cursor-grab":"cursor:-webkit-grab;cursor:grab;","X .modebar":"position:absolute;top:2px;right:2px;","X .ease-bg":"-webkit-transition:background-color .3s ease 0s;-moz-transition:background-color .3s ease 0s;-ms-transition:background-color .3s ease 0s;-o-transition:background-color .3s ease 0s;transition:background-color .3s ease 0s;","X .modebar--hover>:not(.watermark)":"opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;","X:hover .modebar--hover .modebar-group":"opacity:1;","X .modebar-group":"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;","X .modebar-btn":"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;","X .modebar-btn svg":"position:relative;top:2px;","X .modebar.vertical":"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;","X .modebar.vertical svg":"top:-1px;","X .modebar.vertical .modebar-group":"display:block;float:none;padding-left:0px;padding-bottom:8px;","X .modebar.vertical .modebar-group .modebar-btn":"display:block;text-align:center;","X [data-title]:before,X [data-title]:after":"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;","X [data-title]:hover:before,X [data-title]:hover:after":"display:block;opacity:1;","X [data-title]:before":'content:"";position:absolute;background:rgba(0,0,0,0);border:6px solid rgba(0,0,0,0);z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;',"X [data-title]:after":"content:attr(data-title);background:#69738a;color:#fff;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;","X .vertical [data-title]:before,X .vertical [data-title]:after":"top:0%;right:200%;","X .vertical [data-title]:before":"border:6px solid rgba(0,0,0,0);border-left-color:#69738a;margin-top:8px;margin-right:-30px;",Y:'font-family:"Open Sans",verdana,arial,sans-serif;position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;',"Y p":"margin:0;","Y .notifier-note":"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;","Y .notifier-close":"color:#fff;opacity:.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;","Y .notifier-close:hover":"color:#444;text-decoration:none;cursor:pointer;"};for(Rg in xL)_L=Rg.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier"),_ee.addStyleRule(_L,xL[Rg]);var _L,Rg});var Eg=I((p1e,TL)=>{TL.exports=!0});var zg=I((m1e,AL)=>{"use strict";var wee=Eg(),Ig;typeof global.matchMedia=="function"?Ig=!global.matchMedia("(hover: none)").matches:Ig=wee;AL.exports=Ig});var ih=I((g1e,Ng)=>{"use strict";var vl=typeof Reflect=="object"?Reflect:null,kL=vl&&typeof vl.apply=="function"?vl.apply:function(t,r,a){return Function.prototype.apply.call(t,r,a)},ah;vl&&typeof vl.ownKeys=="function"?ah=vl.ownKeys:Object.getOwnPropertySymbols?ah=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:ah=function(t){return Object.getOwnPropertyNames(t)};function Tee(e){console&&console.warn&&console.warn(e)}var ML=Number.isNaN||function(t){return t!==t};function or(){or.init.call(this)}Ng.exports=or;Ng.exports.once=See;or.EventEmitter=or;or.prototype._events=void 0;or.prototype._eventsCount=0;or.prototype._maxListeners=void 0;var SL=10;function nh(e){if(typeof e!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(or,"defaultMaxListeners",{enumerable:!0,get:function(){return SL},set:function(e){if(typeof e!="number"||e<0||ML(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");SL=e}});or.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};or.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||ML(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this};function CL(e){return e._maxListeners===void 0?or.defaultMaxListeners:e._maxListeners}or.prototype.getMaxListeners=function(){return CL(this)};or.prototype.emit=function(t){for(var r=[],a=1;a0&&(o=r[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var l=i[t];if(l===void 0)return!1;if(typeof l=="function")kL(l,this,r);else for(var u=l.length,c=RL(l,u),a=0;a0&&o.length>n&&!o.warned){o.warned=!0;var s=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");s.name="MaxListenersExceededWarning",s.emitter=e,s.type=t,s.count=o.length,Tee(s)}return e}or.prototype.addListener=function(t,r){return LL(this,t,r,!1)};or.prototype.on=or.prototype.addListener;or.prototype.prependListener=function(t,r){return LL(this,t,r,!0)};function Aee(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function qL(e,t,r){var a={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},n=Aee.bind(a);return n.listener=r,a.wrapFn=n,n}or.prototype.once=function(t,r){return nh(r),this.on(t,qL(this,t,r)),this};or.prototype.prependOnceListener=function(t,r){return nh(r),this.prependListener(t,qL(this,t,r)),this};or.prototype.removeListener=function(t,r){var a,n,i,o,s;if(nh(r),n=this._events,n===void 0)return this;if(a=n[t],a===void 0)return this;if(a===r||a.listener===r)--this._eventsCount==0?this._events=Object.create(null):(delete n[t],n.removeListener&&this.emit("removeListener",t,a.listener||r));else if(typeof a!="function"){for(i=-1,o=a.length-1;o>=0;o--)if(a[o]===r||a[o].listener===r){s=a[o].listener,i=o;break}if(i<0)return this;i===0?a.shift():kee(a,i),a.length===1&&(n[t]=a[0]),n.removeListener!==void 0&&this.emit("removeListener",t,s||r)}return this};or.prototype.off=or.prototype.removeListener;or.prototype.removeAllListeners=function(t){var r,a,n;if(a=this._events,a===void 0)return this;if(a.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):a[t]!==void 0&&(--this._eventsCount==0?this._events=Object.create(null):delete a[t]),this;if(arguments.length===0){var i=Object.keys(a),o;for(n=0;n=0;n--)this.removeListener(t,r[n]);return this};function DL(e,t,r){var a=e._events;if(a===void 0)return[];var n=a[t];return n===void 0?[]:typeof n=="function"?r?[n.listener||n]:[n]:r?Mee(n):RL(n,n.length)}or.prototype.listeners=function(t){return DL(this,t,!0)};or.prototype.rawListeners=function(t){return DL(this,t,!1)};or.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):PL.call(e,t)};or.prototype.listenerCount=PL;function PL(e){var t=this._events;if(t!==void 0){var r=t[e];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}or.prototype.eventNames=function(){return this._eventsCount>0?ah(this._events):[]};function RL(e,t){for(var r=new Array(t),a=0;a{"use strict";var Fg=ih().EventEmitter,Lee={init:function(e){if(e._ev instanceof Fg)return e;var t=new Fg,r=new Fg;return e._ev=t,e._internalEv=r,e.on=t.on.bind(t),e.once=t.once.bind(t),e.removeListener=t.removeListener.bind(t),e.removeAllListeners=t.removeAllListeners.bind(t),e._internalOn=r.on.bind(r),e._internalOnce=r.once.bind(r),e._removeInternalListener=r.removeListener.bind(r),e._removeAllInternalListeners=r.removeAllListeners.bind(r),e.emit=function(a,n){typeof jQuery!="undefined"&&jQuery(e).trigger(a,n),t.emit(a,n),r.emit(a,n)},e},triggerHandler:function(e,t,r){var a,n;typeof jQuery!="undefined"&&(a=jQuery(e).triggerHandler(t,r));var i=e._ev;if(!i)return a;var o=i._events[t];if(!o)return a;function s(u){if(u.listener){if(i.removeListener(t,u.listener),!u.fired)return u.fired=!0,u.listener.apply(i,[r])}else return u.apply(i,[r])}o=Array.isArray(o)?o:[o];var l;for(l=0;l{"use strict";var zL=Re(),qee=Oo().dfltConfig;function Dee(e,t){for(var r=[],a,n=0;nqee.queueLength&&(e.undoQueue.queue.shift(),e.undoQueue.index--)};Ti.startSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!0,e.undoQueue.beginSequence=!0};Ti.stopSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!1,e.undoQueue.beginSequence=!1};Ti.undo=function(t){var r,a;if(!(t.undoQueue===void 0||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,r=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,a=0;a=t.undoQueue.queue.length)){for(r=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,a=0;a{"use strict";jL.exports={_isLinkedToArray:"frames_entry",group:{valType:"string",description:["An identifier that specifies the group to which the frame belongs,","used by animate to select a subset of frames."].join(" ")},name:{valType:"string",description:"A label by which to identify the frame"},traces:{valType:"any",description:["A list of trace indices that identify the respective traces in the","data attribute"].join(" ")},baseframe:{valType:"string",description:["The name of the frame into which this frame's properties are merged","before applying. This is used to unify properties and avoid needing","to specify the same values for the same properties in multiple frames."].join(" ")},data:{valType:"any",description:["A list of traces this frame modifies. The format is identical to the","normal trace definition."].join(" ")},layout:{valType:"any",description:["Layout properties which this frame modifies. The format is identical","to the normal layout definition."].join(" ")}}});var Ai=I((_1e,YL)=>{"use strict";var OL=Re(),HL=OL.extendFlat,Pee=OL.isPlainObject,BL={valType:"flaglist",extras:["none"],flags:["calc","clearAxisTypes","plot","style","markerSize","colorbars"],description:["trace attributes should include an `editType` string matching this flaglist.","*calc* is the most extensive: a full (re)plot starting by clearing `gd.calcdata`","to force it to be regenerated","*clearAxisTypes* resets the types of the axes this trace is on, because new data could","cause the automatic axis type detection to change. Log type will not be cleared, as that","is never automatically chosen so must have been user-specified.","*plot* (re)plots but without first clearing `gd.calcdata`.","*style* only calls `module.style` (or module.editStyle) for all trace modules and redraws the legend.","*markerSize* is like *style*, but propagate axis-range changes due to scatter `marker.size`","*colorbars* only redraws colorbars."].join(" ")},UL={valType:"flaglist",extras:["none"],flags:["calc","plot","legend","ticks","axrange","layoutstyle","modebar","camera","arraydraw","colorbars"],description:["layout attributes should include an `editType` string matching this flaglist.","*calc* is the most extensive: a full (re)plot starting by clearing `gd.calcdata`","to force it to be regenerated","*plot* (re)plots but without first clearing `gd.calcdata`.","*legend* only redraws the legend.","*ticks* only redraws axis ticks, labels, and gridlines.","*axrange* minimal sequence when updating axis ranges.","*layoutstyle* reapplies global and SVG cartesian axis styles.","*modebar* just updates the modebar.","*camera* just updates the camera settings for gl3d scenes.","*arraydraw* allows component arrays to invoke the redraw routines just for the","component(s) that changed.","*colorbars* only redraws colorbars."].join(" ")},Ree=BL.flags.slice().concat(["fullReplot"]),Eee=UL.flags.slice().concat("layoutReplot");YL.exports={traces:BL,layout:UL,traceFlags:function(){return GL(Ree)},layoutFlags:function(){return GL(Eee)},update:function(e,t){var r=t.editType;if(r&&r!=="none")for(var a=r.split("+"),n=0;n{"use strict";var sa=bt(),tf=Re(),rf=Zi(),Og=ol(),Iee=jg(),zee=Yu(),Nee=Oo().configAttributes,ZL=Ai(),cn=tf.extendDeepAll,pl=tf.isPlainObject,Fee=tf.isArrayOrTypedArray,oh=tf.nestedProperty,jee=tf.valObjectMeta,Hg="_isSubplotObj",sh="_isLinkedToArray",Oee="_arrayAttrRegexps",XL="_deprecated",Bg=[Hg,sh,Oee,XL];Lr.IS_SUBPLOT_OBJ=Hg;Lr.IS_LINKED_TO_ARRAY=sh;Lr.DEPRECATED=XL;Lr.UNDERSCORE_ATTRS=Bg;Lr.get=function(){var e={};sa.allTypes.forEach(function(r){e[r]=Bee(r)});var t={};return Object.keys(sa.transformsRegistry).forEach(function(r){t[r]=Gee(r)}),{defs:{valObjects:jee,metaKeys:Bg.concat(["description","role","editType","impliedEdits"]),editType:{traces:ZL.traces,layout:ZL.layout},impliedEdits:{description:["Sometimes when an attribute is changed, other attributes","must be altered as well in order to achieve the intended","result. For example, when `range` is specified, it is","important to set `autorange` to `false` or the new `range`","value would be lost in the redraw. `impliedEdits` is the","mechanism to do this: `impliedEdits: {autorange: false}`.","Each key is a relative paths to the attribute string to","change, using *^* to ascend into the parent container,","for example `range[0]` has `impliedEdits: {*^autorange*: false}`.","A value of `undefined` means that the attribute will not be","changed, but its previous value should be recorded in case","we want to reverse this change later. For example, `autorange`","has `impliedEdits: {*range[0]*: undefined, *range[1]*:undefined}","because the range will likely be changed by redraw."].join(" ")}},traces:e,layout:Uee(),transforms:t,frames:Wee(),animation:Vo(zee),config:Vo(Nee)}};Lr.crawl=function(e,t,r,a){var n=r||0;a=a||"",Object.keys(e).forEach(function(i){var o=e[i];if(Bg.indexOf(i)===-1){var s=(a?a+".":"")+i;t(o,i,e,n,s),!Lr.isValObject(o)&&pl(o)&&i!=="impliedEdits"&&Lr.crawl(o,t,n+1,s)}})};Lr.isValObject=function(e){return e&&e.valType!==void 0};Lr.findArrayAttributes=function(e){var t=[],r=[],a=[],n,i;function o(h,p,g,m){r=r.slice(0,m).concat([p]),a=a.slice(0,m).concat([h&&h._isLinkedToArray]);var b=h&&(h.valType==="data_array"||h.arrayOk===!0)&&!(r[m-1]==="colorbar"&&(p==="ticktext"||p==="tickvals"));!b||s(n,0,"")}function s(h,p,g){var m=h[r[p]],b=g+r[p];if(p===r.length-1)Fee(m)&&t.push(i+b);else if(a[p]){if(Array.isArray(m))for(var x=0;x=o.length)return!1;n=(sa.transformsRegistry[o[s].type]||{}).attributes,i=n&&n[t[2]],a=3}else{var l=e._module;if(l||(l=(sa.modules[e.type||rf.type.dflt]||{})._module),!l)return!1;if(n=l.attributes,i=n&&n[r],!i){var u=l.basePlotModule;u&&u.attributes&&(i=u.attributes[r])}i||(i=rf[r])}return $L(i,t,a)};Lr.getLayoutValObject=function(e,t){var r=Hee(e,t[0]);return $L(r,t,1)};function Hee(e,t){var r,a,n,i,o=e._basePlotModules;if(o){var s;for(r=0;r=i.length)return!1;if(e.dimensions===2){if(r++,t.length===r)return e;var o=t[r];if(!af(o))return!1;e=i[n][o]}else e=i[n]}else e=i}}return e}function af(e){return e===Math.round(e)&&e>=0}function Bee(e){var t,r;t=sa.modules[e]._module,r=t.basePlotModule;var a={};a.type=null;var n=cn({},rf),i=cn({},t.attributes);Lr.crawl(i,function(l,u,c,d,h){oh(n,h).set(void 0),l===void 0&&oh(i,h).set(void 0)}),cn(a,n),sa.traceIs(e,"noOpacity")&&delete a.opacity,sa.traceIs(e,"showLegend")||(delete a.showlegend,delete a.legendgroup),sa.traceIs(e,"noHover")&&(delete a.hoverinfo,delete a.hoverlabel),t.selectPoints||delete a.selectedpoints,cn(a,i),r.attributes&&cn(a,r.attributes),a.type=e;var o={meta:t.meta||{},categories:t.categories||{},animatable:Boolean(t.animatable),type:e,attributes:Vo(a)};if(t.layoutAttributes){var s={};cn(s,t.layoutAttributes),o.layoutAttributes=Vo(s)}return t.animatable||Lr.crawl(o,function(l){Lr.isValObject(l)&&"anim"in l&&delete l.anim}),o}function Uee(){var e={},t,r;cn(e,Og);for(t in sa.subplotsRegistry)if(r=sa.subplotsRegistry[t],!!r.layoutAttributes)if(Array.isArray(r.attr))for(var a=0;a{"use strict";var ml=Re(),Xee=Zi(),to="templateitemname",Ug={name:{valType:"string",editType:"none",description:["When used in a template, named items are created in the output figure","in addition to any items the figure already has in this array.","You can modify these items in the output figure by making your own","item with `templateitemname` matching this `name`","alongside your modifications (including `visible: false` or","`enabled: false` to hide it).","Has no effect outside of a template."].join(" ")}};Ug[to]={valType:"string",editType:"calc",description:["Used to refer to a named item in this array in the template. Named","items from the template will be created even without a matching item","in the input figure, but you can modify one by making an item with","`templateitemname` matching its `name`, alongside your modifications","(including `visible: false` or `enabled: false` to hide it).","If there is no template or no matching item, this item will be","hidden unless you explicitly show it with `visible: true`."].join(" ")};Yo.templatedArray=function(e,t){return t._isLinkedToArray=e,t.name=Ug.name,t[to]=Ug[to],t};Yo.traceTemplater=function(e){var t={},r,a;for(r in e)a=e[r],Array.isArray(a)&&a.length&&(t[r]=0);function n(i){r=ml.coerce(i,{},Xee,"type");var o={type:r,_template:null};if(r in t){a=e[r];var s=t[r]%a.length;t[r]++,o._template=a[s]}return o}return{newTrace:n}};Yo.newContainer=function(e,t,r){var a=e._template,n=a&&(a[t]||r&&a[r]);ml.isPlainObject(n)||(n=null);var i=e[t]={_template:n};return i};Yo.arrayTemplater=function(e,t,r){var a=e._template,n=a&&a[eq(t)],i=a&&a[t];(!Array.isArray(i)||!i.length)&&(i=[]);var o={};function s(u){var c={name:u.name,_input:u},d=c[to]=u[to];if(!JL(d))return c._template=n,c;for(var h=0;h=a&&(r._input||{})._templateitemname;i&&(n=a);var o=t+"["+n+"]",s;function l(){s={},i&&(s[o]={},s[o][to]=i)}l();function u(p,g){s[p]=g}function c(p,g){i?ml.nestedProperty(s[o],p).set(g):s[o+"."+p]=g}function d(){var p=s;return l(),p}function h(p,g){p&&c(p,g);var m=d();for(var b in m)ml.nestedProperty(e,b).set(m[b])}return{modifyBase:u,modifyItem:c,getUpdateObj:d,applyUpdate:h}}});var ga=I((A1e,tq)=>{"use strict";var nf=al().counter;tq.exports={idRegex:{x:nf("x","( domain)?"),y:nf("y","( domain)?")},attrRegex:nf("[xy]axis"),xAxisMatch:nf("xaxis"),yAxisMatch:nf("yaxis"),AX_ID_PATTERN:/^[xyz][0-9]*( domain)?$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,HOUR_PATTERN:"hour",WEEKDAY_PATTERN:"day of week",MINDRAG:8,MINZOOM:20,DRAGGERSIZE:20,REDRAWDELAY:50,DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:["imagelayer","heatmaplayer","contourcarpetlayer","contourlayer","funnellayer","waterfalllayer","barlayer","carpetlayer","violinlayer","boxlayer","ohlclayer","scattercarpetlayer","scatterlayer"],clipOnAxisFalseQuery:[".scatterlayer",".barlayer",".funnellayer",".waterfalllayer"],layerValue2layerClass:{"above traces":"above","below traces":"below"}}});var Hr=I(Ua=>{"use strict";var $ee=bt(),Gg=ga();Ua.id2name=function(t){if(!(typeof t!="string"||!t.match(Gg.AX_ID_PATTERN))){var r=t.split(" ")[0].substr(1);return r==="1"&&(r=""),t.charAt(0)+"axis"+r}};Ua.name2id=function(t){if(!!t.match(Gg.AX_NAME_PATTERN)){var r=t.substr(5);return r==="1"&&(r=""),t.charAt(0)+r}};Ua.cleanId=function(t,r,a){var n=/( domain)$/.test(t);if(!(typeof t!="string"||!t.match(Gg.AX_ID_PATTERN))&&!(r&&t.charAt(0)!==r)&&!(n&&!a)){var i=t.split(" ")[0].substr(1).replace(/^0+/,"");return i==="1"&&(i=""),t.charAt(0)+i+(n&&a?" domain":"")}};Ua.list=function(e,t,r){var a=e._fullLayout;if(!a)return[];var n=Ua.listIds(e,t),i=new Array(n.length),o;for(o=0;oa?1:-1:+(e.substr(1)||1)-+(t.substr(1)||1)};Ua.ref2id=function(e){return/^[xyz]/.test(e)?e.split(" ")[0]:!1};function rq(e,t){if(t&&t.length){for(var r=0;r{"use strict";function Qee(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(".outline-controllers").remove()}function Kee(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(".select-outline").remove(),e._fullLayout._outlining=!1}aq.exports={clearOutlineControllers:Qee,clearOutline:Kee}});var Wg=I(lh=>{"use strict";var of=bt(),Jee=ga().SUBPLOT_PATTERN;lh.getSubplotCalcData=function(e,t,r){var a=of.subplotsRegistry[t];if(!a)return[];for(var n=a.attr,i=[],o=0;o{"use strict";var ete=bt(),gl=Re();Zo.manageCommandObserver=function(e,t,r,a){var n={},i=!0;t&&t._commandObserver&&(n=t._commandObserver),n.cache||(n.cache={}),n.lookupTable={};var o=Zo.hasSimpleAPICommandBindings(e,r,n.lookupTable);if(t&&t._commandObserver){if(o)return n;if(t._commandObserver.remove)return t._commandObserver.remove(),t._commandObserver=null,n}if(o){nq(e,o,n.cache),n.check=function(){if(!!i){var c=nq(e,o,n.cache);return c.changed&&a&&n.lookupTable[c.value]!==void 0&&(n.disable(),Promise.resolve(a({value:c.value,type:o.type,prop:o.prop,traces:o.traces,index:n.lookupTable[c.value]})).then(n.enable,n.enable)),c.changed}};for(var s=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],l=0;l0?".":"")+n;gl.isPlainObject(i)?Vg(i,t,o,a+1):t(o,n,i)}})}});var Nr=I((L1e,_q)=>{"use strict";var lq=Ft(),rte=Ks().timeFormatLocale,ate=rg().formatLocale,uh=jt(),Bt=bt(),uq=eo(),nte=ar(),tt=Re(),fq=It(),cq=Tr().BADNUM,Ka=Hr(),ite=ro().clearOutline,Yg=Yu(),ote=jg(),ste=Wg().getModuleCalcData,Zg=tt.relinkPrivateKeys,yl=tt._,Be=_q.exports={};tt.extendFlat(Be,Bt);Be.attributes=Zi();Be.attributes.type.values=Be.allTypes;Be.fontAttrs=La();Be.layoutAttributes=ol();Be.fontWeight="normal";var fh=Be.transformsRegistry,ch=sq();Be.executeAPICommand=ch.executeAPICommand;Be.computeAPICommandBindings=ch.computeAPICommandBindings;Be.manageCommandObserver=ch.manageCommandObserver;Be.hasSimpleAPICommandBindings=ch.hasSimpleAPICommandBindings;Be.redrawText=function(e){return e=tt.getGraphDiv(e),new Promise(function(t){setTimeout(function(){!e._fullLayout||(Bt.getComponentMethod("annotations","draw")(e),Bt.getComponentMethod("legend","draw")(e),Bt.getComponentMethod("colorbar","draw")(e),t(Be.previousPromises(e)))},300)})};Be.resize=function(e){e=tt.getGraphDiv(e);var t,r=new Promise(function(a,n){(!e||tt.isHidden(e))&&n(new Error("Resize must be passed a displayed plot div element.")),e._redrawTimer&&clearTimeout(e._redrawTimer),e._resolveResize&&(t=e._resolveResize),e._resolveResize=a,e._redrawTimer=setTimeout(function(){if(!e.layout||e.layout.width&&e.layout.height||tt.isHidden(e)){a(e);return}delete e.layout.width,delete e.layout.height;var i=e.changed;e.autoplay=!0,Bt.call("relayout",e,{autosize:!0}).then(function(){e.changed=i,e._resolveResize===a&&(delete e._resolveResize,a(e))})},100)});return t&&t(r),r};Be.previousPromises=function(e){if((e._promises||[]).length)return Promise.all(e._promises).then(function(){e._promises=[]})};Be.addLinks=function(e){if(!(!e._context.showLink&&!e._context.showSources)){var t=e._fullLayout,r=tt.ensureSingle(t._paper,"text","js-plot-link-container",function(l){l.style({"font-family":'"Open Sans", Arial, sans-serif',"font-size":"12px",fill:fq.defaultLine,"pointer-events":"all"}).each(function(){var u=lq.select(this);u.append("tspan").classed("js-link-to-tool",!0),u.append("tspan").classed("js-link-spacer",!0),u.append("tspan").classed("js-sourcelinks",!0)})}),a=r.node(),n={y:t._paper.attr("height")-9};document.body.contains(a)&&a.getComputedTextLength()>=t.width-20?(n["text-anchor"]="start",n.x=5):(n["text-anchor"]="end",n.x=t._paper.attr("width")-7),r.attr(n);var i=r.select(".js-link-to-tool"),o=r.select(".js-link-spacer"),s=r.select(".js-sourcelinks");e._context.showSources&&e._context.showSources(e),e._context.showLink&<e(e,i),o.text(i.text()&&s.text()?" - ":"")}};function lte(e,t){t.text("");var r=t.append("a").attr({"xlink:xlink:href":"#",class:"link--impt link--embedview","font-weight":"bold"}).text(e._context.linkText+" "+String.fromCharCode(187));if(e._context.sendData)r.on("click",function(){Be.sendDataToCloud(e)});else{var a=window.location.pathname.split("/"),n=window.location.search;r.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+a[2].split(".")[0]+"/"+a[1]+n})}}Be.sendDataToCloud=function(e){var t=(window.PLOTLYENV||{}).BASE_URL||e._context.plotlyServerURL;if(!!t){e.emit("plotly_beforeexport");var r=lq.select(e).append("div").attr("id","hiddenform").style("display","none"),a=r.append("form").attr({action:t+"/external",method:"post",target:"_blank"}),n=a.append("input").attr({type:"text",name:"data"});return n.node().value=Be.graphJson(e,!1,"keepdata"),a.node().submit(),r.remove(),e.emit("plotly_afterexport"),!1}};var ute=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],fte=["year","month","dayMonth","dayMonthYear"];Be.supplyDefaults=function(e,t){var r=t&&t.skipUpdateCalc,a=e._fullLayout||{};if(a._skipDefaults){delete a._skipDefaults;return}var n=e._fullLayout={},i=e.layout||{},o=e._fullData||[],s=e._fullData=[],l=e.data||[],u=e.calcdata||[],c=e._context||{},d;e._transitionData||Be.createTransitionData(e),n._dfltTitle={plot:yl(e,"Click to enter Plot title"),x:yl(e,"Click to enter X axis title"),y:yl(e,"Click to enter Y axis title"),colorbar:yl(e,"Click to enter Colorscale title"),annotation:yl(e,"new text")},n._traceWord=yl(e,"trace");var h=dq(e,ute);if(n._mapboxAccessToken=c.mapboxAccessToken,a._initialAutoSizeIsDone){var p=a.width,g=a.height;Be.supplyLayoutGlobalDefaults(i,n,h),i.width||(n.width=p),i.height||(n.height=g),Be.sanitizeMargins(n)}else{Be.supplyLayoutGlobalDefaults(i,n,h);var m=!i.width||!i.height,b=n.autosize,x=c.autosizable,_=m&&(b||x);_?Be.plotAutoSize(e,i,n):m&&Be.sanitizeMargins(n),!b&&m&&(i.width=n.width,i.height=n.height)}n._d3locale=hte(h,n.separators),n._extraFormat=dq(e,fte),n._initialAutoSizeIsDone=!0,n._dataLength=l.length,n._modules=[],n._visibleModules=[],n._basePlotModules=[];var k=n._subplots=dte(),w=n._splomAxes={x:{},y:{}},A=n._splomSubplots={};n._splomGridDflt={},n._scatterStackOpts={},n._firstScatter={},n._alignmentOpts={},n._colorAxes={},n._requestRangeslider={},n._traceUids=cte(o,l),n._globalTransforms=(e._context||{}).globalTransforms,Be.supplyDataDefaults(l,s,i,n);var L=Object.keys(w.x),M=Object.keys(w.y);if(L.length>1&&M.length>1){for(Bt.getComponentMethod("grid","sizeDefaults")(i,n),d=0;d15&&M.length>15&&n.shapes.length===0&&n.images.length===0,Be.linkSubplots(s,n,o,a),Be.cleanPlot(s,n,o,a);var N=!!(a._has&&a._has("gl2d")),j=!!(n._has&&n._has("gl2d")),B=!!(a._has&&a._has("cartesian")),W=!!(n._has&&n._has("cartesian")),V=B||N,Y=W||j;V&&!Y?a._bgLayer.remove():Y&&!V&&(n._shouldCreateBgLayer=!0),a._zoomlayer&&!e._dragging&&ite({_fullLayout:a}),vte(s,n),Zg(n,a),Bt.getComponentMethod("colorscale","crossTraceDefaults")(s,n),n._preGUI||(n._preGUI={}),n._tracePreGUI||(n._tracePreGUI={});var Z=n._tracePreGUI,$={},ne;for(ne in Z)$[ne]="old";for(d=0;d0){var c=1-2*i;o=Math.round(c*o),s=Math.round(c*s)}}var d=Be.layoutAttributes.width.min,h=Be.layoutAttributes.height.min;o1,g=!r.height&&Math.abs(a.height-s)>1;(g||p)&&(p&&(a.width=o),g&&(a.height=s)),t._initialAutoSize||(t._initialAutoSize={width:o,height:s}),Be.sanitizeMargins(a)};Be.supplyLayoutModuleDefaults=function(e,t,r,a){var n=Bt.componentsRegistry,i=t._basePlotModules,o,s,l,u=Bt.subplotsRegistry.cartesian;for(o in n)l=n[o],l.includeBasePlot&&l.includeBasePlot(e,t);i.length||i.push(u),t._has("cartesian")&&(Bt.getComponentMethod("grid","contentDefaults")(e,t),u.finalizeSubplots(e,t));for(var c in t._subplots)t._subplots[c].sort(tt.subplotSort);for(s=0;s1&&(r.l/=b,r.r/=b)}if(h){var x=(r.t+r.b)/h;x>1&&(r.t/=x,r.b/=x)}var _=r.xl!==void 0?r.xl:r.x,k=r.xr!==void 0?r.xr:r.x,w=r.yt!==void 0?r.yt:r.y,A=r.yb!==void 0?r.yb:r.y;p[t]={l:{val:_,size:r.l+m},r:{val:k,size:r.r+m},b:{val:A,size:r.b+m},t:{val:w,size:r.t+m}},g[t]=1}if(!a._replotting)return Be.doAutoMargin(e)}};Be.doAutoMargin=function(e){var t=e._fullLayout,r=t.width,a=t.height;t._size||(t._size={}),vq(t);var n=t._size,i=t.margin,o=tt.extendFlat({},n),s=i.l,l=i.r,u=i.t,c=i.b,d=t._pushmargin,h=t._pushmarginIds,p=t.minreducedwidth,g=t.minreducedheight;if(t.margin.autoexpand!==!1){for(var m in d)h[m]||delete d[m];d.base={l:{val:0,size:s},r:{val:1,size:l},t:{val:1,size:u},b:{val:0,size:c}};for(var b in d){var x=d[b].l||{},_=d[b].b||{},k=x.val,w=x.size,A=_.val,L=_.size;for(var M in d){if(uh(w)&&d[M].r){var q=d[M].r.val,P=d[M].r.size;if(q>k){var E=(w*q+(P-r)*k)/(q-k),F=(P*(1-k)+(w-r)*(1-q))/(q-k);E+F>s+l&&(s=E,l=F)}}if(uh(L)&&d[M].t){var N=d[M].t.val,j=d[M].t.size;if(N>A){var B=(L*N+(j-a)*A)/(N-A),W=(j*(1-A)+(L-a)*(1-N))/(N-A);B+W>c+u&&(c=B,u=W)}}}}}var V=tt.constrain(r-i.l-i.r,pq,p),Y=tt.constrain(a-i.t-i.b,mq,g),Z=Math.max(0,r-V),$=Math.max(0,a-Y);if(Z){var ne=(s+l)/Z;ne>1&&(s/=ne,l/=ne)}if($){var te=(c+u)/$;te>1&&(c/=te,u/=te)}if(n.l=Math.round(s),n.r=Math.round(l),n.t=Math.round(u),n.b=Math.round(c),n.p=Math.round(i.pad),n.w=Math.round(r)-n.l-n.r,n.h=Math.round(a)-n.t-n.b,!t._replotting&&Be.didMarginChange(o,n)){"_redrawFromAutoMarginCount"in t?t._redrawFromAutoMarginCount++:t._redrawFromAutoMarginCount=1;var de=3*(1+Object.keys(h).length);if(t._redrawFromAutoMarginCount1)return!0}return!1};Be.graphJson=function(e,t,r,a,n,i){(n&&t&&!e._fullData||n&&!t&&!e._fullLayout)&&Be.supplyDefaults(e);var o=n?e._fullData:e.data,s=n?e._fullLayout:e.layout,l=(e._transitionData||{})._frames;function u(h,p){if(typeof h=="function")return p?"_function_":null;if(tt.isPlainObject(h)){var g={},m;return Object.keys(h).sort().forEach(function(b){if(["_","["].indexOf(b.charAt(0))===-1){if(typeof h[b]=="function"){p&&(g[b]="_function");return}if(r==="keepdata"){if(b.substr(b.length-3)==="src")return}else if(r==="keepstream"){if(m=h[b+"src"],typeof m=="string"&&m.indexOf(":")>0&&!tt.isPlainObject(h.stream))return}else if(r!=="keepall"&&(m=h[b+"src"],typeof m=="string"&&m.indexOf(":")>0))return;g[b]=u(h[b],p)}}),g}return Array.isArray(h)?h.map(function(b){return u(b,p)}):tt.isTypedArray(h)?tt.simpleMap(h,tt.identity):tt.isJSDate(h)?tt.ms2DateTimeLocal(+h):h}var c={data:(o||[]).map(function(h){var p=u(h);return t&&delete p.fit,p})};if(!t&&(c.layout=u(s),n)){var d=s._size;c.layout.computed={margin:{b:d.b,l:d.l,r:d.r,t:d.t}}}return l&&(c.frames=u(l)),i&&(c.config=u(e._context,!0)),a==="object"?c:JSON.stringify(c)};Be.modifyFrames=function(e,t){var r,a,n,i=e._transitionData._frames,o=e._transitionData._frameHash;for(r=0;r0&&(e._transitioningWithDuration=!0),e._transitionData._interruptCallbacks.push(function(){a=!0}),r.redraw&&e._transitionData._interruptCallbacks.push(function(){return Bt.call("redraw",e)}),e._transitionData._interruptCallbacks.push(function(){e.emit("plotly_transitioninterrupted",[])});var h=0,p=0;function g(){return h++,function(){p++,!a&&p===h&&s(d)}}r.runFn(g),setTimeout(g())})}function s(d){if(!!e._transitionData)return i(e._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(r.redraw)return Bt.call("redraw",e)}).then(function(){e._transitioning=!1,e._transitioningWithDuration=!1,e.emit("plotly_transitioned",[])}).then(d)}function l(){if(!!e._transitionData)return e._transitioning=!1,n(e._transitionData._interruptCallbacks)}var u=[Be.previousPromises,l,r.prepareFn,Be.rehover,Be.reselect,o],c=tt.syncOrAsync(u,e);return(!c||!c.then)&&(c=Promise.resolve()),c.then(function(){return e})}Be.doCalcdata=function(e,t){var r=Ka.list(e),a=e._fullData,n=e._fullLayout,i,o,s,l,u=new Array(a.length),c=(e.calcdata||[]).slice();for(e.calcdata=u,n._numBoxes=0,n._numViolins=0,n._violinScaleGroupStats={},e._hmpixcount=0,e._hmlumcount=0,n._piecolormap={},n._sunburstcolormap={},n._treemapcolormap={},n._iciclecolormap={},n._funnelareacolormap={},s=0;s=0;l--)if(A[l].enabled){i._indexToPoints=A[l]._indexToPoints;break}o&&o.calc&&(w=o.calc(e,i))}(!Array.isArray(w)||!w[0])&&(w=[{x:cq,y:cq}]),w[0].t||(w[0].t={}),w[0].trace=i,u[_]=w}}for(bq(r,a,n),s=0;s{"use strict";Xo.xmlns="http://www.w3.org/2000/xmlns/";Xo.svg="http://www.w3.org/2000/svg";Xo.xlink="http://www.w3.org/1999/xlink";Xo.svgAttrs={xmlns:Xo.svg,"xmlns:xlink":Xo.xlink}});var qa=I((D1e,wq)=>{"use strict";wq.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:"right",right:"left",top:"bottom",bottom:"top"}}});var Ga=I(dn=>{"use strict";var qr=Ft(),ki=Re(),xte=ki.strTranslate,Xg=$o(),_te=qa().LINE_SPACING,wte=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;dn.convertToTspans=function(e,t,r){var a=e.text(),n=!e.attr("data-notex")&&t&&t._context.typesetMath&&typeof MathJax!="undefined"&&a.match(wte),i=qr.select(e.node().parentNode);if(i.empty())return;var o=e.attr("class")?e.attr("class").split(" ")[0]:"text";o+="-math",i.selectAll("svg."+o).remove(),i.selectAll("g."+o+"-group").remove(),e.style("display",null).attr({"data-unformatted":a,"data-math":"N"});function s(){i.empty()||(o=e.attr("class")+"-math",i.select("svg."+o).remove()),e.text("").style("white-space","pre");var l=Ite(e.node(),a);l&&e.style("pointer-events","all"),dn.positionText(e),r&&r.call(e)}return n?(t&&t._promises||[]).push(new Promise(function(l){e.style("display","none");var u=parseInt(e.node().style.fontSize,10),c={fontSize:u};Mte(n[2],c,function(d,h,p){i.selectAll("svg."+o).remove(),i.selectAll("g."+o+"-group").remove();var g=d&&d.select("svg");if(!g||!g.node()){s(),l();return}var m=i.append("g").classed(o+"-group",!0).attr({"pointer-events":"none","data-unformatted":a,"data-math":"Y"});m.node().appendChild(g.node()),h&&h.node()&&g.node().insertBefore(h.node().cloneNode(!0),g.node().firstChild);var b=p.width,x=p.height;g.attr({class:o,height:x,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var _=e.node().style.fill||"black",k=g.select("g");k.attr({fill:_,stroke:_});var w=k.node().getBoundingClientRect(),A=w.width,L=w.height;(A>b||L>x)&&(g.style("overflow","hidden"),w=g.node().getBoundingClientRect(),A=w.width,L=w.height);var M=+e.attr("x"),q=+e.attr("y"),P=u||e.node().getBoundingClientRect().height,E=-P/4;if(o[0]==="y")m.attr({transform:"rotate("+[-90,M,q]+")"+xte(-A/2,E-L/2)});else if(o[0]==="l")q=E-L/2;else if(o[0]==="a"&&o.indexOf("atitle")!==0)M=0,q=E;else{var F=e.attr("text-anchor");M=M-A*(F==="middle"?.5:F==="end"?1:0),q=q+E-L/2}g.attr({x:M,y:q}),r&&r.call(e,m),l(m)})})):s(),e};var Tte=/(<|<|<)/g,Ate=/(>|>|>)/g;function kte(e){return e.replace(Tte,"\\lt ").replace(Ate,"\\gt ")}var Tq=[["$","$"],["\\(","\\)"]];function Mte(e,t,r){var a=parseInt((MathJax.version||"").split(".")[0]);if(a!==2&&a!==3){ki.warn("No MathJax version:",MathJax.version);return}var n,i,o,s,l=function(){return i=ki.extendDeepAll({},MathJax.Hub.config),o=MathJax.Hub.processSectionDelay,MathJax.Hub.processSectionDelay!==void 0&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:"none",tex2jax:{inlineMath:Tq},displayAlign:"left"})},u=function(){i=ki.extendDeepAll({},MathJax.config),MathJax.config.tex||(MathJax.config.tex={}),MathJax.config.tex.inlineMath=Tq},c=function(){if(n=MathJax.Hub.config.menuSettings.renderer,n!=="SVG")return MathJax.Hub.setRenderer("SVG")},d=function(){n=MathJax.config.startup.output,n!=="svg"&&(MathJax.config.startup.output="svg")},h=function(){var _="math-output-"+ki.randstr({},64);s=qr.select("body").append("div").attr({id:_}).style({visibility:"hidden",position:"absolute","font-size":t.fontSize+"px"}).text(kte(e));var k=s.node();return a===2?MathJax.Hub.Typeset(k):MathJax.typeset([k])},p=function(){var _=s.select(a===2?".MathJax_SVG":".MathJax"),k=!_.empty()&&s.select("svg").node();if(!k)ki.log("There was an error in the tex syntax.",e),r();else{var w=k.getBoundingClientRect(),A;a===2?A=qr.select("body").select("#MathJax_SVG_glyphs"):A=_.select("defs"),r(_,A,w)}s.remove()},g=function(){if(n!=="SVG")return MathJax.Hub.setRenderer(n)},m=function(){n!=="svg"&&(MathJax.config.startup.output=n)},b=function(){return o!==void 0&&(MathJax.Hub.processSectionDelay=o),MathJax.Hub.Config(i)},x=function(){MathJax.config=i};a===2?MathJax.Hub.Queue(l,c,h,p,g,b):a===3&&(u(),d(),MathJax.startup.defaultReady(),MathJax.startup.promise.then(function(){h(),p(),m(),x()}))}var Aq={sup:"font-size:70%",sub:"font-size:70%",b:"font-weight:bold",i:"font-style:italic",a:"cursor:pointer",span:"",em:"font-style:italic;font-weight:bold"},Ste={sub:"0.3em",sup:"-0.6em"},Cte={sub:"-0.21em",sup:"0.42em"},kq="\u200B",Mq=["http:","https:","mailto:","",void 0,":"],Sq=dn.NEWLINES=/(\r\n?|\n)/g,$g=/(<[^<>]*>)/,Qg=/<(\/?)([^ >]*)(\s+(.*))?>/i,Lte=//i;dn.BR_TAG_ALL=//gi;var Cq=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,Lq=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,qq=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,qte=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function Qo(e,t){if(!e)return null;var r=e.match(t),a=r&&(r[3]||r[4]);return a&&hh(a)}var Dte=/(^|;)\s*color:/;dn.plainText=function(e,t){t=t||{};for(var r=t.len!==void 0&&t.len!==-1?t.len:1/0,a=t.allowedTags!==void 0?t.allowedTags:["br"],n="...",i=n.length,o=e.split($g),s=[],l="",u=0,c=0;ci?s.push(d.substr(0,m-i)+n):s.push(d.substr(0,m));break}l=""}}return s.join("")};var Pte={mu:"\u03BC",amp:"&",lt:"<",gt:">",nbsp:"\xA0",times:"\xD7",plusmn:"\xB1",deg:"\xB0"},Rte=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function hh(e){return e.replace(Rte,function(t,r){var a;return r.charAt(0)==="#"?a=Ete(r.charAt(1)==="x"?parseInt(r.substr(2),16):parseInt(r.substr(1),10)):a=Pte[r],a||t})}dn.convertEntities=hh;function Ete(e){if(!(e>1114111)){var t=String.fromCodePoint;if(t)return t(e);var r=String.fromCharCode;return e<=65535?r(e):r((e>>10)+55232,e%1024+56320)}}function Ite(e,t){t=t.replace(Sq," ");var r=!1,a=[],n,i=-1;function o(){i++;var L=document.createElementNS(Xg.svg,"tspan");qr.select(L).attr({class:"line",dy:i*_te+"em"}),e.appendChild(L),n=L;var M=a;if(a=[{node:L}],M.length>1)for(var q=1;q.",t);return}var M=a.pop();L!==M.type&&ki.log("Start tag <"+M.type+"> doesnt match end tag <"+L+">. Pretending it did match.",t),n=a[a.length-1].node}var c=Lte.test(t);c?o():(n=e,a=[{node:e}]);for(var d=t.split($g),h=0;h{"use strict";var zte=Ft(),vh=Pn(),sf=jt(),ph=Re(),Rq=It(),Nte=Fo().isValid;function Fte(e,t,r){var a=t?ph.nestedProperty(e,t).get()||{}:e,n=a[r||"color"],i=!1;if(ph.isArrayOrTypedArray(n)){for(var o=0;o=0;a--,n++){var i=e[a];r[n]=[1-i[0],i[1]]}return r}function Fq(e,t){t=t||{};for(var r=e.domain,a=e.range,n=a.length,i=new Array(n),o=0;o{"use strict";Hq.exports={FORMAT_LINK:"https://github.com/d3/d3-format/tree/v1.4.5#d3-format",DATE_FORMAT_LINK:"https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format"}});var mh=I((I1e,Gq)=>{"use strict";var Bq=Jg(),Ote=Bq.FORMAT_LINK,Hte=Bq.DATE_FORMAT_LINK;function Bte(e,t){return{valType:"string",dflt:"",editType:"none",description:(t?ey:Uq)("hover text",e)+["By default the values are formatted using "+(t?"generic number format":"`"+e+"axis.hoverformat`")+"."].join(" ")}}function ey(e,t){return["Sets the "+e+" formatting rule"+(t?"for `"+t+"` ":""),"using d3 formatting mini-languages","which are very similar to those in Python. For numbers, see: "+Ote+"."].join(" ")}function Uq(e,t){return ey(e,t)+[" And for dates see: "+Hte+".","We add two items to d3's date formatter:","*%h* for half of the year as a decimal number as well as","*%{n}f* for fractional seconds","with n digits. For example, *2016-10-13 09:15:23.456* with tickformat","*%H~%M~%S.%2f* would display *09~15~23.46*"].join(" ")}Gq.exports={axisHoverFormat:Bte,descriptionOnlyNumbers:ey,descriptionWithDates:Uq}});var ni=I((z1e,l5)=>{"use strict";var ty=La(),bl=gi(),Wq=yi().dash,Vq=ra().extendFlat,Yq=ar().templatedArray,Zq=mh().descriptionWithDates,Ute=Tr().ONEDAY,ai=ga(),ry=ai.HOUR_PATTERN,ay=ai.WEEKDAY_PATTERN,Xq={valType:"enumerated",values:["auto","linear","array"],editType:"ticks",impliedEdits:{tick0:void 0,dtick:void 0},description:["Sets the tick mode for this axis.","If *auto*, the number of ticks is set via `nticks`.","If *linear*, the placement of the ticks is determined by","a starting position `tick0` and a tick step `dtick`","(*linear* is the default value if `tick0` and `dtick` are provided).","If *array*, the placement of the ticks is set via `tickvals`","and the tick text is `ticktext`.","(*array* is the default value if `tickvals` is provided)."].join(" ")};function $q(e){return{valType:"integer",min:0,dflt:e?5:0,editType:"ticks",description:["Specifies the maximum number of ticks for the particular axis.","The actual number of ticks will be chosen automatically to be","less than or equal to `nticks`.","Has an effect only if `tickmode` is set to *auto*."].join(" ")}}var Qq={valType:"any",editType:"ticks",impliedEdits:{tickmode:"linear"},description:["Sets the placement of the first tick on this axis.","Use with `dtick`.","If the axis `type` is *log*, then you must take the log of your starting tick","(e.g. to set the starting tick to 100, set the `tick0` to 2)","except when `dtick`=*L* (see `dtick` for more info).","If the axis `type` is *date*, it should be a date string, like date data.","If the axis `type` is *category*, it should be a number, using the scale where","each category is assigned a serial number from zero in the order it appears."].join(" ")},Kq={valType:"any",editType:"ticks",impliedEdits:{tickmode:"linear"},description:["Sets the step in-between ticks on this axis. Use with `tick0`.","Must be a positive number, or special strings available to *log* and *date* axes.","If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n","is the tick number. For example,","to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1.","To set tick marks at 1, 100, 10000, ... set dtick to 2.","To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433.","*log* has several special values; *L*, where `f` is a positive number,","gives ticks linearly spaced in value (but not position).","For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc.","To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5).","`tick0` is ignored for *D1* and *D2*.","If the axis `type` is *date*, then you must convert the time to milliseconds.","For example, to set the interval between ticks to one day,","set `dtick` to 86400000.0.","*date* also has special values *M* gives ticks spaced by a number of months.","`n` must be a positive integer.","To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*.","To set ticks every 4 years, set `dtick` to *M48*"].join(" ")},Jq={valType:"data_array",editType:"ticks",description:["Sets the values at which ticks on this axis appear.","Only has an effect if `tickmode` is set to *array*.","Used with `ticktext`."].join(" ")},e5={valType:"enumerated",values:["outside","inside",""],editType:"ticks",description:["Determines whether ticks are drawn or not.","If **, this axis' ticks are not drawn.","If *outside* (*inside*), this axis' are drawn outside (inside)","the axis lines."].join(" ")};function t5(e){var t={valType:"number",min:0,editType:"ticks",description:"Sets the tick length (in px)."};return e||(t.dflt=5),t}function r5(e){var t={valType:"number",min:0,editType:"ticks",description:"Sets the tick width (in px)."};return e||(t.dflt=1),t}var a5={valType:"color",dflt:bl.defaultLine,editType:"ticks",description:"Sets the tick color."},n5={valType:"color",dflt:bl.lightLine,editType:"ticks",description:"Sets the color of the grid lines."};function i5(e){var t={valType:"number",min:0,editType:"ticks",description:"Sets the width (in px) of the grid lines."};return e||(t.dflt=1),t}var o5=Vq({},Wq,{editType:"ticks"}),s5={valType:"boolean",editType:"ticks",description:["Determines whether or not grid lines are drawn.","If *true*, the grid lines are drawn at every tick mark."].join(" ")};l5.exports={visible:{valType:"boolean",editType:"plot",description:["A single toggle to hide the axis while preserving interaction like dragging.","Default is true when a cheater plot is present on the axis, otherwise","false"].join(" ")},color:{valType:"color",dflt:bl.defaultLine,editType:"ticks",description:["Sets default for all colors associated with this axis","all at once: line, font, tick, and grid colors.","Grid color is lightened by blending this with the plot background","Individual pieces can override this."].join(" ")},title:{text:{valType:"string",editType:"ticks",description:["Sets the title of this axis.","Note that before the existence of `title.text`, the title's","contents used to be defined as the `title` attribute itself.","This behavior has been deprecated."].join(" ")},font:ty({editType:"ticks",description:["Sets this axis' title font.","Note that the title's font used to be customized","by the now deprecated `titlefont` attribute."].join(" ")}),standoff:{valType:"number",min:0,editType:"ticks",description:["Sets the standoff distance (in px) between the axis labels and the title text","The default value is a function of the axis tick labels, the title `font.size`","and the axis `linewidth`.","Note that the axis title position is always constrained within the margins,","so the actual standoff distance is always less than the set or default value.","By setting `standoff` and turning on `automargin`, plotly.js will push the","margins to fit the axis title at given standoff distance."].join(" ")},editType:"ticks"},type:{valType:"enumerated",values:["-","linear","log","date","category","multicategory"],dflt:"-",editType:"calc",_noTemplating:!0,description:["Sets the axis type.","By default, plotly attempts to determined the axis type","by looking into the data of the traces that referenced","the axis in question."].join(" ")},autotypenumbers:{valType:"enumerated",values:["convert types","strict"],dflt:"convert types",editType:"calc",description:["Using *strict* a numeric string in trace data is not converted to a number.","Using *convert types* a numeric string in trace data may be","treated as a number during automatic axis `type` detection.","Defaults to layout.autotypenumbers."].join(" ")},autorange:{valType:"enumerated",values:[!0,!1,"reversed"],dflt:!0,editType:"axrange",impliedEdits:{"range[0]":void 0,"range[1]":void 0},description:["Determines whether or not the range of this axis is","computed in relation to the input data.","See `rangemode` for more info.","If `range` is provided, then `autorange` is set to *false*."].join(" ")},rangemode:{valType:"enumerated",values:["normal","tozero","nonnegative"],dflt:"normal",editType:"plot",description:["If *normal*, the range is computed in relation to the extrema","of the input data.","If *tozero*`, the range extends to 0,","regardless of the input data","If *nonnegative*, the range is non-negative,","regardless of the input data.","Applies only to linear axes."].join(" ")},range:{valType:"info_array",items:[{valType:"any",editType:"axrange",impliedEdits:{"^autorange":!1},anim:!0},{valType:"any",editType:"axrange",impliedEdits:{"^autorange":!1},anim:!0}],editType:"axrange",impliedEdits:{autorange:!1},anim:!0,description:["Sets the range of this axis.","If the axis `type` is *log*, then you must take the log of your","desired range (e.g. to set the range from 1 to 100,","set the range from 0 to 2).","If the axis `type` is *date*, it should be date strings,","like date data, though Date objects and unix milliseconds","will be accepted and converted to strings.","If the axis `type` is *category*, it should be numbers,","using the scale where each category is assigned a serial","number from zero in the order it appears."].join(" ")},fixedrange:{valType:"boolean",dflt:!1,editType:"calc",description:["Determines whether or not this axis is zoom-able.","If true, then zoom is disabled."].join(" ")},scaleanchor:{valType:"enumerated",values:[ai.idRegex.x.toString(),ai.idRegex.y.toString()],editType:"plot",description:["If set to another axis id (e.g. `x2`, `y`), the range of this axis","changes together with the range of the corresponding axis","such that the scale of pixels per unit is in a constant ratio.","Both axes are still zoomable, but when you zoom one, the other will","zoom the same amount, keeping a fixed midpoint.","`constrain` and `constraintoward` determine how we enforce the constraint.","You can chain these, ie `yaxis: {scaleanchor: *x*}, xaxis2: {scaleanchor: *y*}`","but you can only link axes of the same `type`.","The linked axis can have the opposite letter (to constrain the aspect ratio)","or the same letter (to match scales across subplots).","Loops (`yaxis: {scaleanchor: *x*}, xaxis: {scaleanchor: *y*}` or longer) are redundant","and the last constraint encountered will be ignored to avoid possible","inconsistent constraints via `scaleratio`.","Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint","is currently forbidden."].join(" ")},scaleratio:{valType:"number",min:0,dflt:1,editType:"plot",description:["If this axis is linked to another by `scaleanchor`, this determines the pixel","to unit scale ratio. For example, if this value is 10, then every unit on","this axis spans 10 times the number of pixels as a unit on the linked axis.","Use this for example to create an elevation profile where the vertical scale","is exaggerated a fixed amount with respect to the horizontal."].join(" ")},constrain:{valType:"enumerated",values:["range","domain"],editType:"plot",description:["If this axis needs to be compressed (either due to its own `scaleanchor` and","`scaleratio` or those of the other axis), determines how that happens:","by increasing the *range*, or by decreasing the *domain*.","Default is *domain* for axes containing image traces, *range* otherwise."].join(" ")},constraintoward:{valType:"enumerated",values:["left","center","right","top","middle","bottom"],editType:"plot",description:["If this axis needs to be compressed (either due to its own `scaleanchor` and","`scaleratio` or those of the other axis), determines which direction we push","the originally specified plot area. Options are *left*, *center* (default),","and *right* for x axes, and *top*, *middle* (default), and *bottom* for y axes."].join(" ")},matches:{valType:"enumerated",values:[ai.idRegex.x.toString(),ai.idRegex.y.toString()],editType:"calc",description:["If set to another axis id (e.g. `x2`, `y`), the range of this axis","will match the range of the corresponding axis in data-coordinates space.","Moreover, matching axes share auto-range values, category lists and","histogram auto-bins.","Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint","is currently forbidden.","Moreover, note that matching axes must have the same `type`."].join(" ")},rangebreaks:Yq("rangebreak",{enabled:{valType:"boolean",dflt:!0,editType:"calc",description:["Determines whether this axis rangebreak is enabled or disabled.","Please note that `rangebreaks` only work for *date* axis type."].join(" ")},bounds:{valType:"info_array",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}],editType:"calc",description:["Sets the lower and upper bounds of this axis rangebreak.","Can be used with `pattern`."].join(" ")},pattern:{valType:"enumerated",values:[ay,ry,""],editType:"calc",description:["Determines a pattern on the time line that generates breaks.","If *"+ay+"* - days of the week in English e.g. 'Sunday' or `sun`","(matching is case-insensitive and considers only the first three characters),","as well as Sunday-based integers between 0 and 6.","If *"+ry+"* - hour (24-hour clock) as decimal numbers between 0 and 24.","for more info.","Examples:","- { pattern: '"+ay+"', bounds: [6, 1] }"," or simply { bounds: ['sat', 'mon'] }"," breaks from Saturday to Monday (i.e. skips the weekends).","- { pattern: '"+ry+"', bounds: [17, 8] }"," breaks from 5pm to 8am (i.e. skips non-work hours)."].join(" ")},values:{valType:"info_array",freeLength:!0,editType:"calc",items:{valType:"any",editType:"calc"},description:["Sets the coordinate values corresponding to the rangebreaks.","An alternative to `bounds`.","Use `dvalue` to set the size of the values along the axis."].join(" ")},dvalue:{valType:"number",editType:"calc",min:0,dflt:Ute,description:["Sets the size of each `values` item.","The default is one day in milliseconds."].join(" ")},editType:"calc"}),tickmode:Xq,nticks:$q(),tick0:Qq,dtick:Kq,ticklabelstep:{valType:"integer",min:1,dflt:1,editType:"ticks",description:["Sets the spacing between tick labels as compared to the spacing between ticks.","A value of 1 (default) means each tick gets a label.","A value of 2 means shows every 2nd label.","A larger value n means only every nth tick is labeled.","`tick0` determines which labels are shown.","Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*."].join(" ")},tickvals:Jq,ticktext:{valType:"data_array",editType:"ticks",description:["Sets the text displayed at the ticks position via `tickvals`.","Only has an effect if `tickmode` is set to *array*.","Used with `tickvals`."].join(" ")},ticks:e5,tickson:{valType:"enumerated",values:["labels","boundaries"],dflt:"labels",editType:"ticks",description:["Determines where ticks and grid lines are drawn with respect to their","corresponding tick labels.","Only has an effect for axes of `type` *category* or *multicategory*.","When set to *boundaries*, ticks and grid lines are drawn half a category","to the left/bottom of labels."].join(" ")},ticklabelmode:{valType:"enumerated",values:["instant","period"],dflt:"instant",editType:"ticks",description:["Determines where tick labels are drawn with respect to their","corresponding ticks and grid lines.","Only has an effect for axes of `type` *date*","When set to *period*, tick labels are drawn in the middle of the period","between ticks."].join(" ")},ticklabelposition:{valType:"enumerated",values:["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"],dflt:"outside",editType:"calc",description:["Determines where tick labels are drawn with respect to the axis","Please note that","top or bottom has no effect on x axes or when `ticklabelmode` is set to *period*.","Similarly","left or right has no effect on y axes or when `ticklabelmode` is set to *period*.","Has no effect on *multicategory* axes or when `tickson` is set to *boundaries*.","When used on axes linked by `matches` or `scaleanchor`,","no extra padding for inside labels would be added by autorange,","so that the scales could match."].join(" ")},ticklabeloverflow:{valType:"enumerated",values:["allow","hide past div","hide past domain"],editType:"calc",description:["Determines how we handle tick labels that would overflow either the graph div or the domain of the axis.","The default value for inside tick labels is *hide past domain*.","Otherwise on *category* and *multicategory* axes the default is *allow*.","In other cases the default is *hide past div*."].join(" ")},mirror:{valType:"enumerated",values:[!0,"ticks",!1,"all","allticks"],dflt:!1,editType:"ticks+layoutstyle",description:["Determines if the axis lines or/and ticks are mirrored to","the opposite side of the plotting area.","If *true*, the axis lines are mirrored.","If *ticks*, the axis lines and ticks are mirrored.","If *false*, mirroring is disable.","If *all*, axis lines are mirrored on all shared-axes subplots.","If *allticks*, axis lines and ticks are mirrored","on all shared-axes subplots."].join(" ")},ticklen:t5(),tickwidth:r5(),tickcolor:a5,showticklabels:{valType:"boolean",dflt:!0,editType:"ticks",description:"Determines whether or not the tick labels are drawn."},automargin:{valType:"flaglist",flags:["height","width","left","right","top","bottom"],extras:[!0,!1],dflt:!1,editType:"ticks",description:["Determines whether long tick labels automatically grow the figure","margins."].join(" ")},showspikes:{valType:"boolean",dflt:!1,editType:"modebar",description:["Determines whether or not spikes (aka droplines) are drawn for this axis.","Note: This only takes affect when hovermode = closest"].join(" ")},spikecolor:{valType:"color",dflt:null,editType:"none",description:"Sets the spike color. If undefined, will use the series color"},spikethickness:{valType:"number",dflt:3,editType:"none",description:"Sets the width (in px) of the zero line."},spikedash:Vq({},Wq,{dflt:"dash",editType:"none"}),spikemode:{valType:"flaglist",flags:["toaxis","across","marker"],dflt:"toaxis",editType:"none",description:["Determines the drawing mode for the spike line","If *toaxis*, the line is drawn from the data point to the axis the ","series is plotted on.","If *across*, the line is drawn across the entire plot area, and","supercedes *toaxis*.","If *marker*, then a marker dot is drawn on the axis the series is","plotted on"].join(" ")},spikesnap:{valType:"enumerated",values:["data","cursor","hovered data"],dflt:"hovered data",editType:"none",description:"Determines whether spikelines are stuck to the cursor or to the closest datapoints."},tickfont:ty({editType:"ticks",description:"Sets the tick font."}),tickangle:{valType:"angle",dflt:"auto",editType:"ticks",description:["Sets the angle of the tick labels with respect to the horizontal.","For example, a `tickangle` of -90 draws the tick labels","vertically."].join(" ")},tickprefix:{valType:"string",dflt:"",editType:"ticks",description:"Sets a tick label prefix."},showtickprefix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks",description:["If *all*, all tick labels are displayed with a prefix.","If *first*, only the first tick is displayed with a prefix.","If *last*, only the last tick is displayed with a suffix.","If *none*, tick prefixes are hidden."].join(" ")},ticksuffix:{valType:"string",dflt:"",editType:"ticks",description:"Sets a tick label suffix."},showticksuffix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks",description:"Same as `showtickprefix` but for tick suffixes."},showexponent:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks",description:["If *all*, all exponents are shown besides their significands.","If *first*, only the exponent of the first tick is shown.","If *last*, only the exponent of the last tick is shown.","If *none*, no exponents appear."].join(" ")},exponentformat:{valType:"enumerated",values:["none","e","E","power","SI","B"],dflt:"B",editType:"ticks",description:["Determines a formatting rule for the tick exponents.","For example, consider the number 1,000,000,000.","If *none*, it appears as 1,000,000,000.","If *e*, 1e+9.","If *E*, 1E+9.","If *power*, 1x10^9 (with 9 in a super script).","If *SI*, 1G.","If *B*, 1B."].join(" ")},minexponent:{valType:"number",dflt:3,min:0,editType:"ticks",description:["Hide SI prefix for 10^n if |n| is below this number.","This only has an effect when `tickformat` is *SI* or *B*."].join(" ")},separatethousands:{valType:"boolean",dflt:!1,editType:"ticks",description:['If "true", even 4-digit integers are separated'].join(" ")},tickformat:{valType:"string",dflt:"",editType:"ticks",description:Zq("tick label")},tickformatstops:Yq("tickformatstop",{enabled:{valType:"boolean",dflt:!0,editType:"ticks",description:["Determines whether or not this stop is used.","If `false`, this stop is ignored even within its `dtickrange`."].join(" ")},dtickrange:{valType:"info_array",items:[{valType:"any",editType:"ticks"},{valType:"any",editType:"ticks"}],editType:"ticks",description:["range [*min*, *max*], where *min*, *max* - dtick values","which describe some zoom level, it is possible to omit *min*","or *max* value by passing *null*"].join(" ")},value:{valType:"string",dflt:"",editType:"ticks",description:["string - dtickformat for described zoom level, the same as *tickformat*"].join(" ")},editType:"ticks"}),hoverformat:{valType:"string",dflt:"",editType:"none",description:Zq("hover text")},showline:{valType:"boolean",dflt:!1,editType:"ticks+layoutstyle",description:["Determines whether or not a line bounding this axis is drawn."].join(" ")},linecolor:{valType:"color",dflt:bl.defaultLine,editType:"layoutstyle",description:"Sets the axis line color."},linewidth:{valType:"number",min:0,dflt:1,editType:"ticks+layoutstyle",description:"Sets the width (in px) of the axis line."},showgrid:s5,gridcolor:n5,gridwidth:i5(),griddash:o5,zeroline:{valType:"boolean",editType:"ticks",description:["Determines whether or not a line is drawn at along the 0 value","of this axis.","If *true*, the zero line is drawn on top of the grid lines."].join(" ")},zerolinecolor:{valType:"color",dflt:bl.defaultLine,editType:"ticks",description:"Sets the line color of the zero line."},zerolinewidth:{valType:"number",dflt:1,editType:"ticks",description:"Sets the width (in px) of the zero line."},showdividers:{valType:"boolean",dflt:!0,editType:"ticks",description:["Determines whether or not a dividers are drawn","between the category levels of this axis.","Only has an effect on *multicategory* axes."].join(" ")},dividercolor:{valType:"color",dflt:bl.defaultLine,editType:"ticks",description:["Sets the color of the dividers","Only has an effect on *multicategory* axes."].join(" ")},dividerwidth:{valType:"number",dflt:1,editType:"ticks",description:["Sets the width (in px) of the dividers","Only has an effect on *multicategory* axes."].join(" ")},anchor:{valType:"enumerated",values:["free",ai.idRegex.x.toString(),ai.idRegex.y.toString()],editType:"plot",description:["If set to an opposite-letter axis id (e.g. `x2`, `y`), this axis is bound to","the corresponding opposite-letter axis.","If set to *free*, this axis' position is determined by `position`."].join(" ")},side:{valType:"enumerated",values:["top","bottom","left","right"],editType:"plot",description:["Determines whether a x (y) axis is positioned","at the *bottom* (*left*) or *top* (*right*)","of the plotting area."].join(" ")},overlaying:{valType:"enumerated",values:["free",ai.idRegex.x.toString(),ai.idRegex.y.toString()],editType:"plot",description:["If set a same-letter axis id, this axis is overlaid on top of","the corresponding same-letter axis, with traces and axes visible for both","axes.","If *false*, this axis does not overlay any same-letter axes.","In this case, for axes with overlapping domains only the highest-numbered","axis will be visible."].join(" ")},minor:{tickmode:Xq,nticks:$q("minor"),tick0:Qq,dtick:Kq,tickvals:Jq,ticks:e5,ticklen:t5("minor"),tickwidth:r5("minor"),tickcolor:a5,gridcolor:n5,gridwidth:i5("minor"),griddash:o5,showgrid:s5,editType:"ticks"},layer:{valType:"enumerated",values:["above traces","below traces"],dflt:"above traces",editType:"plot",description:["Sets the layer on which this axis is displayed.","If *above traces*, this axis is displayed above all the subplot's traces","If *below traces*, this axis is displayed below all the subplot's traces,","but above the grid lines.","Useful when used together with scatter-like traces with `cliponaxis`","set to *false* to show markers and/or text nodes above this axis."].join(" ")},domain:{valType:"info_array",items:[{valType:"number",min:0,max:1,editType:"plot"},{valType:"number",min:0,max:1,editType:"plot"}],dflt:[0,1],editType:"plot",description:["Sets the domain of this axis (in plot fraction)."].join(" ")},position:{valType:"number",min:0,max:1,dflt:0,editType:"plot",description:["Sets the position of this axis in the plotting space","(in normalized coordinates).","Only has an effect if `anchor` is set to *free*."].join(" ")},categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"],dflt:"trace",editType:"calc",description:["Specifies the ordering logic for the case of categorical variables.","By default, plotly uses *trace*, which specifies the order that is present in the data supplied.","Set `categoryorder` to *category ascending* or *category descending* if order should be determined by","the alphanumerical order of the category names.","Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category","is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to","the *trace* mode. The unspecified categories will follow the categories in `categoryarray`.","Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the","numerical order of the values.","Similarly, the order can be determined by the min, max, sum, mean or median of all the values."].join(" ")},categoryarray:{valType:"data_array",editType:"calc",description:["Sets the order in which categories on this axis appear.","Only has an effect if `categoryorder` is set to *array*.","Used with `categoryorder`."].join(" ")},uirevision:{valType:"any",editType:"none",description:["Controls persistence of user-driven changes in axis `range`,","`autorange`, and `title` if in `editable: true` configuration.","Defaults to `layout.uirevision`."].join(" ")},editType:"calc",_deprecated:{autotick:{valType:"boolean",editType:"ticks",description:["Obsolete.","Set `tickmode` to *auto* for old `autotick` *true* behavior.","Set `tickmode` to *linear* for `autotick` *false*."].join(" ")},title:{valType:"string",editType:"ticks",description:["Value of `title` is no longer a simple *string* but a set of sub-attributes.","To set the axis' title, please use `title.text` now."].join(" ")},titlefont:ty({editType:"ticks",description:["Former `titlefont` is now the sub-attribute `font` of `title`.","To customize title font properties, please use `title.font` now."].join(" ")})}}});var gh=I((N1e,f5)=>{"use strict";var fr=ni(),ny=La(),u5=ra().extendFlat,Gte=Ai().overrideAll;f5.exports=Gte({orientation:{valType:"enumerated",values:["h","v"],dflt:"v",description:"Sets the orientation of the colorbar."},thicknessmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"pixels",description:["Determines whether this color bar's thickness","(i.e. the measure in the constant color direction)","is set in units of plot *fraction* or in *pixels*.","Use `thickness` to set the value."].join(" ")},thickness:{valType:"number",min:0,dflt:30,description:["Sets the thickness of the color bar","This measure excludes the size of the padding, ticks and labels."].join(" ")},lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction",description:["Determines whether this color bar's length","(i.e. the measure in the color variation direction)","is set in units of plot *fraction* or in *pixels.","Use `len` to set the value."].join(" ")},len:{valType:"number",min:0,dflt:1,description:["Sets the length of the color bar","This measure excludes the padding of both ends.","That is, the color bar length is this length minus the","padding on both ends."].join(" ")},x:{valType:"number",min:-2,max:3,description:["Sets the x position of the color bar (in plot fraction).","Defaults to 1.02 when `orientation` is *v* and","0.5 when `orientation` is *h*."].join(" ")},xanchor:{valType:"enumerated",values:["left","center","right"],description:["Sets this color bar's horizontal position anchor.","This anchor binds the `x` position to the *left*, *center*","or *right* of the color bar.","Defaults to *left* when `orientation` is *v* and","*center* when `orientation` is *h*."].join(" ")},xpad:{valType:"number",min:0,dflt:10,description:"Sets the amount of padding (in px) along the x direction."},y:{valType:"number",min:-2,max:3,description:["Sets the y position of the color bar (in plot fraction).","Defaults to 0.5 when `orientation` is *v* and","1.02 when `orientation` is *h*."].join(" ")},yanchor:{valType:"enumerated",values:["top","middle","bottom"],description:["Sets this color bar's vertical position anchor","This anchor binds the `y` position to the *top*, *middle*","or *bottom* of the color bar.","Defaults to *middle* when `orientation` is *v* and","*bottom* when `orientation` is *h*."].join(" ")},ypad:{valType:"number",min:0,dflt:10,description:"Sets the amount of padding (in px) along the y direction."},outlinecolor:fr.linecolor,outlinewidth:fr.linewidth,bordercolor:fr.linecolor,borderwidth:{valType:"number",min:0,dflt:0,description:["Sets the width (in px) or the border enclosing this color bar."].join(" ")},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",description:"Sets the color of padded area."},tickmode:fr.tickmode,nticks:fr.nticks,tick0:fr.tick0,dtick:fr.dtick,tickvals:fr.tickvals,ticktext:fr.ticktext,ticks:u5({},fr.ticks,{dflt:""}),ticklabeloverflow:u5({},fr.ticklabeloverflow,{description:["Determines how we handle tick labels that would overflow either the graph div or the domain of the axis.","The default value for inside tick labels is *hide past domain*.","In other cases the default is *hide past div*."].join(" ")}),ticklabelposition:{valType:"enumerated",values:["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"],dflt:"outside",description:["Determines where tick labels are drawn relative to the ticks.","Left and right options are used when `orientation` is *h*,","top and bottom when `orientation` is *v*."].join(" ")},ticklen:fr.ticklen,tickwidth:fr.tickwidth,tickcolor:fr.tickcolor,ticklabelstep:fr.ticklabelstep,showticklabels:fr.showticklabels,tickfont:ny({description:"Sets the color bar's tick label font"}),tickangle:fr.tickangle,tickformat:fr.tickformat,tickformatstops:fr.tickformatstops,tickprefix:fr.tickprefix,showtickprefix:fr.showtickprefix,ticksuffix:fr.ticksuffix,showticksuffix:fr.showticksuffix,separatethousands:fr.separatethousands,exponentformat:fr.exponentformat,minexponent:fr.minexponent,showexponent:fr.showexponent,title:{text:{valType:"string",description:["Sets the title of the color bar.","Note that before the existence of `title.text`, the title's","contents used to be defined as the `title` attribute itself.","This behavior has been deprecated."].join(" ")},font:ny({description:["Sets this color bar's title font.","Note that the title's font used to be set","by the now deprecated `titlefont` attribute."].join(" ")}),side:{valType:"enumerated",values:["right","top","bottom"],description:["Determines the location of color bar's title","with respect to the color bar.","Defaults to *top* when `orientation` if *v* and ","defaults to *right* when `orientation` if *h*.","Note that the title's location used to be set","by the now deprecated `titleside` attribute."].join(" ")}},_deprecated:{title:{valType:"string",description:["Deprecated in favor of color bar's `title.text`.","Note that value of color bar's `title` is no longer a simple","*string* but a set of sub-attributes."].join(" ")},titlefont:ny({description:"Deprecated in favor of color bar's `title.font`."}),titleside:{valType:"enumerated",values:["right","top","bottom"],dflt:"top",description:"Deprecated in favor of color bar's `title.side`."}}},"colorbars","from-root")});var ff=I((F1e,d5)=>{"use strict";var Wte=gh(),Vte=al().counter,Yte=Ag(),c5=Fo().scales,Zte=Yte(c5);function uf(e){return"`"+e+"`"}d5.exports=function(t,r){t=t||"",r=r||{};var a=r.cLetter||"c",n="onlyIfNumerical"in r?r.onlyIfNumerical:Boolean(t),i="noScale"in r?r.noScale:t==="marker.line",o="showScaleDflt"in r?r.showScaleDflt:a==="z",s=typeof r.colorscaleDflt=="string"?c5[r.colorscaleDflt]:null,l=r.editTypeOverride||"",u=t?t+".":"",c,d;"colorAttr"in r?(c=r.colorAttr,d=r.colorAttr):(c={z:"z",c:"color"}[a],d="in "+uf(u+c));var h=n?" Has an effect only if "+d+" is set to a numerical array.":"",p=a+"auto",g=a+"min",m=a+"max",b=a+"mid",x=uf(u+p),_=uf(u+g),k=uf(u+m),w=_+" and "+k,A={};A[g]=A[m]=void 0;var L={};L[p]=!1;var M={};return c==="color"&&(M.color={valType:"color",arrayOk:!0,editType:l||"style",description:["Sets the",t,"color.","It accepts either a specific color","or an array of numbers that are mapped to the colorscale","relative to the max and min values of the array or relative to",w,"if set."].join(" ")},r.anim&&(M.color.anim=!0)),M[p]={valType:"boolean",dflt:!0,editType:"calc",impliedEdits:A,description:["Determines whether or not the color domain is computed","with respect to the input data (here "+d+") or the bounds set in",w+h,"Defaults to `false` when",w,"are set by the user."].join(" ")},M[g]={valType:"number",dflt:null,editType:l||"plot",impliedEdits:L,description:["Sets the lower bound of the color domain."+h,"Value should have the same units as",d,"and if set,",k,"must be set as well."].join(" ")},M[m]={valType:"number",dflt:null,editType:l||"plot",impliedEdits:L,description:["Sets the upper bound of the color domain."+h,"Value should have the same units as",d,"and if set,",_,"must be set as well."].join(" ")},M[b]={valType:"number",dflt:null,editType:"calc",impliedEdits:A,description:["Sets the mid-point of the color domain by scaling",_,"and/or",k,"to be equidistant to this point."+h,"Value should have the same units as",d+".","Has no effect when",x,"is `false`."].join(" ")},M.colorscale={valType:"colorscale",editType:"calc",dflt:s,impliedEdits:{autocolorscale:!1},description:["Sets the colorscale."+h,"The colorscale must be an array containing","arrays mapping a normalized value to an","rgb, rgba, hex, hsl, hsv, or named color string.","At minimum, a mapping for the lowest (0) and highest (1)","values are required. For example,","`[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`.","To control the bounds of the colorscale in color space,","use",w+".","Alternatively, `colorscale` may be a palette name string","of the following list: "+Zte+"."].join(" ")},M.autocolorscale={valType:"boolean",dflt:r.autoColorDflt!==!1,editType:"calc",impliedEdits:{colorscale:void 0},description:["Determines whether the colorscale is a default palette (`autocolorscale: true`)","or the palette determined by",uf(u+"colorscale")+"."+h,"In case `colorscale` is unspecified or `autocolorscale` is true, the default","palette will be chosen according to whether numbers in the `color` array are","all positive, all negative or mixed."].join(" ")},M.reversescale={valType:"boolean",dflt:!1,editType:"plot",description:["Reverses the color mapping if true."+h,"If true,",_,"will correspond to the last color","in the array and",k,"will correspond to the first color."].join(" ")},i||(M.showscale={valType:"boolean",dflt:o,editType:"calc",description:["Determines whether or not a colorbar is displayed for this trace."+h].join(" ")},M.colorbar=Wte),r.noColorAxis||(M.coloraxis={valType:"subplotid",regex:Vte("coloraxis"),dflt:null,editType:"calc",description:["Sets a reference to a shared color axis.","References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc.","Settings for these shared color axes are set in the layout, under","`layout.coloraxis`, `layout.coloraxis2`, etc.","Note that multiple color scales can be linked to the same color axis."].join(" ")}),M}});var sy=I((j1e,h5)=>{"use strict";var Xte=ra().extendFlat,$te=ff(),iy=Fo().scales,oy="Note that `autocolorscale` must be true for this attribute to work.";h5.exports={editType:"calc",colorscale:{editType:"calc",sequential:{valType:"colorscale",dflt:iy.Reds,editType:"calc",description:["Sets the default sequential colorscale for positive values.",oy].join(" ")},sequentialminus:{valType:"colorscale",dflt:iy.Blues,editType:"calc",description:["Sets the default sequential colorscale for negative values.",oy].join(" ")},diverging:{valType:"colorscale",dflt:iy.RdBu,editType:"calc",description:["Sets the default diverging colorscale.",oy].join(" ")}},coloraxis:Xte({_isSubplotObj:!0,editType:"calc",description:[""].join(" ")},$te("",{colorAttr:"corresponding trace color array(s)",noColorAxis:!0,showScaleDflt:!0}))}});var ly=I((O1e,v5)=>{"use strict";var Qte=Re();v5.exports=function(t){return Qte.isPlainObject(t.colorbar)}});var cy=I(fy=>{"use strict";var uy=jt(),p5=Re(),m5=Tr(),Kte=m5.ONEDAY,Jte=m5.ONEWEEK;fy.dtick=function(e,t){var r=t==="log",a=t==="date",n=t==="category",i=a?Kte:1;if(!e)return i;if(uy(e))return e=Number(e),e<=0?i:n?Math.max(1,Math.round(e)):a?Math.max(.1,e):e;if(typeof e!="string"||!(a||r))return i;var o=e.charAt(0),s=e.substr(1);return s=uy(s)?Number(s):0,s<=0||!(a&&o==="M"&&s===Math.round(s)||r&&o==="L"||r&&o==="D"&&(s===1||s===2))?i:e};fy.tick0=function(e,t,r,a){if(t==="date")return p5.cleanDate(e,p5.dateTick0(r,a%Jte==0?1:0));if(!(a==="D1"||a==="D2"))return uy(e)?Number(e):0}});var dy=I((B1e,y5)=>{"use strict";var g5=cy(),ere=Re().isArrayOrTypedArray;y5.exports=function(t,r,a,n,i){i||(i={});var o=i.isMinor,s=o?t.minor||{}:t,l=o?r.minor:r,u=o?"minor.":"";function c(_){var k=s[_];return k!==void 0?k:(l._template||{})[_]}var d=c("tick0"),h=c("dtick"),p=c("tickvals"),g=ere(p)?"array":h?"linear":"auto",m=a(u+"tickmode",g);if(m==="auto")a(u+"nticks");else if(m==="linear"){var b=l.dtick=g5.dtick(h,n);l.tick0=g5.tick0(d,n,r.calendar,b)}else if(n!=="multicategory"){var x=a(u+"tickvals");x===void 0?l.tickmode="auto":o||a("ticktext")}}});var vy=I((U1e,x5)=>{"use strict";var hy=Re(),b5=ni();x5.exports=function(t,r,a,n){var i=n.isMinor,o=i?t.minor||{}:t,s=i?r.minor:r,l=i?b5.minor:b5,u=i?"minor.":"",c=hy.coerce2(o,s,l,"ticklen",i?(r.ticklen||5)*.6:void 0),d=hy.coerce2(o,s,l,"tickwidth",i?r.tickwidth||1:void 0),h=hy.coerce2(o,s,l,"tickcolor",(i?r.tickcolor:void 0)||s.color),p=a(u+"ticks",!i&&n.outerTicks||c||d||h?"outside":"");p||(delete s.ticklen,delete s.tickwidth,delete s.tickcolor)}});var py=I((G1e,_5)=>{"use strict";_5.exports=function(t){var r=["showexponent","showtickprefix","showticksuffix"],a=r.filter(function(i){return t[i]!==void 0}),n=function(i){return t[i]===t[a[0]]};if(a.every(n)||a.length===1)return t[a[0]]}});var In=I((W1e,w5)=>{"use strict";var yh=Re(),tre=ar();w5.exports=function(t,r,a){var n=a.name,i=a.inclusionAttr||"visible",o=r[n],s=yh.isArrayOrTypedArray(t[n])?t[n]:[],l=r[n]=[],u=tre.arrayTemplater(r,n,i),c,d;for(c=0;c{"use strict";var T5=Re(),rre=It().contrast,A5=ni(),are=py(),nre=In();k5.exports=function(t,r,a,n,i){i||(i={});var o=are(t),s=a("showticklabels");if(s){var l=i.font||{},u=r.color,c=r.ticklabelposition||"",d=c.indexOf("inside")!==-1?rre(i.bgColor):u&&u!==A5.color.dflt?u:l.color;if(T5.coerceFont(a,"tickfont",{family:l.family,size:l.size,color:d}),!i.noTicklabelstep&&n!=="multicategory"&&n!=="log"&&a("ticklabelstep"),i.noAng||a("tickangle"),n!=="category"){var h=a("tickformat");nre(t,r,{name:"tickformatstops",inclusionAttr:"enabled",handleItemDefaults:ire}),r.tickformatstops.length||delete r.tickformatstops,!i.noExp&&!h&&n!=="date"&&(a("showexponent",o),a("exponentformat"),a("minexponent"),a("separatethousands"))}}};function ire(e,t){function r(n,i){return T5.coerce(e,t,A5.tickformatstops,n,i)}var a=r("enabled");a&&(r("dtickrange"),r("value"))}});var gy=I((Y1e,M5)=>{"use strict";var ore=py();M5.exports=function(t,r,a,n,i){i||(i={});var o=i.tickSuffixDflt,s=ore(t),l=a("tickprefix");l&&a("showtickprefix",s);var u=a("ticksuffix",o);u&&a("showticksuffix",s)}});var yy=I((Z1e,S5)=>{"use strict";var xl=Re(),sre=ar(),lre=dy(),ure=vy(),fre=my(),cre=gy(),dre=gh();S5.exports=function(t,r,a){var n=sre.newContainer(r,"colorbar"),i=t.colorbar||{};function o(k,w){return xl.coerce(i,n,dre,k,w)}var s=a.margin||{t:0,b:0,l:0,r:0},l=a.width-s.l-s.r,u=a.height-s.t-s.b,c=o("orientation"),d=c==="v",h=o("thicknessmode");o("thickness",h==="fraction"?30/(d?l:u):30);var p=o("lenmode");o("len",p==="fraction"?1:d?u:l),o("x",d?1.02:.5),o("xanchor",d?"left":"center"),o("xpad"),o("y",d?.5:1.02),o("yanchor",d?"middle":"bottom"),o("ypad"),xl.noneOrAll(i,n,["x","y"]),o("outlinecolor"),o("outlinewidth"),o("bordercolor"),o("borderwidth"),o("bgcolor");var g=xl.coerce(i,n,{ticklabelposition:{valType:"enumerated",dflt:"outside",values:d?["outside","inside","outside top","inside top","outside bottom","inside bottom"]:["outside","inside","outside left","inside left","outside right","inside right"]}},"ticklabelposition");o("ticklabeloverflow",g.indexOf("inside")!==-1?"hide past domain":"hide past div"),lre(i,n,o,"linear");var m=a.font,b={outerTicks:!1,font:m};g.indexOf("inside")!==-1&&(b.bgColor="black"),cre(i,n,o,"linear",b),fre(i,n,o,"linear",b),ure(i,n,o,"linear",b),o("title.text",a._dfltTitle.colorbar);var x=n.tickfont,_=xl.extendFlat({},x,{color:m.color,size:xl.bigFont(x.size)});xl.coerceFont(o,"title.font",_),o("title.side",d?"top":"right")}});var _l=I((X1e,q5)=>{"use strict";var C5=jt(),by=Re(),hre=ly(),vre=yy(),L5=Fo().isValid,pre=bt().traceIs;function xy(e,t){var r=t.slice(0,t.length-1);return t?by.nestedProperty(e,r).get()||{}:e}q5.exports=function e(t,r,a,n,i){var o=i.prefix,s=i.cLetter,l="_module"in r,u=xy(t,o),c=xy(r,o),d=xy(r._template||{},o)||{},h=function(){return delete t.coloraxis,delete r.coloraxis,e(t,r,a,n,i)};if(l){var p=a._colorAxes||{},g=n(o+"coloraxis");if(g){var m=pre(r,"contour")&&by.nestedProperty(r,"contours.coloring").get()||"heatmap",b=p[g];b?(b[2].push(h),b[0]!==m&&(b[0]=!1,by.warn(["Ignoring coloraxis:",g,"setting","as it is linked to incompatible colorscales."].join(" ")))):p[g]=[m,r,[h]];return}}var x=u[s+"min"],_=u[s+"max"],k=C5(x)&&C5(_)&&x<_,w=n(o+s+"auto",!k);w?n(o+s+"mid"):(n(o+s+"min"),n(o+s+"max"));var A=u.colorscale,L=d.colorscale,M;if(A!==void 0&&(M=!L5(A)),L!==void 0&&(M=!L5(L)),n(o+"autocolorscale",M),n(o+"colorscale"),n(o+"reversescale"),o!=="marker.line."){var q;o&&l&&(q=hre(u));var P=n(o+"showscale",q);P&&(o&&d&&(c._template=d),vre(u,c,a))}}});var E5=I(($1e,R5)=>{"use strict";var D5=Re(),mre=ar(),P5=sy(),gre=_l();R5.exports=function(t,r){function a(d,h){return D5.coerce(t,r,P5,d,h)}a("colorscale.sequential"),a("colorscale.sequentialminus"),a("colorscale.diverging");var n=r._colorAxes,i,o;function s(d,h){return D5.coerce(i,o,P5.coloraxis,d,h)}for(var l in n){var u=n[l];if(u[0])i=t[l]||{},o=mre.newContainer(r,l,"coloraxis"),o._name=l,gre(i,o,r,s,{prefix:"",cLetter:"c"});else{for(var c=0;c{"use strict";var yre=Re(),bre=hn().hasColorscale,xre=hn().extractOpts;I5.exports=function(t,r){function a(c,d){var h=c["_"+d];h!==void 0&&(c[d]=h)}function n(c,d){var h=d.container?yre.nestedProperty(c,d.container).get():c;if(h)if(h.coloraxis)h._colorAx=r[h.coloraxis];else{var p=xre(h),g=p.auto;(g||p.min===void 0)&&a(h,d.min),(g||p.max===void 0)&&a(h,d.max),p.autocolorscale&&a(h,"colorscale")}}for(var i=0;i{"use strict";var N5=jt(),_y=Re(),_re=hn().extractOpts;F5.exports=function(t,r,a){var n=t._fullLayout,i=a.vals,o=a.containerStr,s=o?_y.nestedProperty(r,o).get():r,l=_re(s),u=l.auto!==!1,c=l.min,d=l.max,h=l.mid,p=function(){return _y.aggNums(Math.min,null,i)},g=function(){return _y.aggNums(Math.max,null,i)};if(c===void 0?c=p():u&&(s._colorAx&&N5(c)?c=Math.min(c,p()):c=p()),d===void 0?d=g():u&&(s._colorAx&&N5(d)?d=Math.max(d,g()):d=g()),u&&h!==void 0&&(d-h>h-c?c=h-(d-h):d-h=0?m=n.colorscale.sequential:m=n.colorscale.sequentialminus,l._sync("colorscale",m)}}});var wy=I((J1e,j5)=>{"use strict";var xh=Fo(),wl=hn();j5.exports={moduleType:"component",name:"colorscale",attributes:ff(),layoutAttributes:sy(),supplyLayoutDefaults:E5(),handleDefaults:_l(),crossTraceDefaults:z5(),calc:bh(),scales:xh.scales,defaultScale:xh.defaultScale,getScale:xh.get,isValidScale:xh.isValid,hasColorscale:wl.hasColorscale,extractOpts:wl.extractOpts,extractScale:wl.extractScale,flipScale:wl.flipScale,makeColorScaleFunc:wl.makeColorScaleFunc,makeColorScaleFuncFromTrace:wl.makeColorScaleFuncFromTrace}});var Ja=I((exe,H5)=>{"use strict";var O5=Re();H5.exports={hasLines:function(e){return e.visible&&e.mode&&e.mode.indexOf("lines")!==-1},hasMarkers:function(e){return e.visible&&(e.mode&&e.mode.indexOf("markers")!==-1||e.type==="splom")},hasText:function(e){return e.visible&&e.mode&&e.mode.indexOf("text")!==-1},isBubble:function(e){return O5.isPlainObject(e.marker)&&O5.isArrayOrTypedArray(e.marker.size)}}});var U5=I((txe,B5)=>{"use strict";var wre=jt();B5.exports=function(t,r){r||(r=2);var a=t.marker,n=a.sizeref||1,i=a.sizemin||0,o=a.sizemode==="area"?function(s){return Math.sqrt(s/n)}:function(s){return s/n};return function(s){var l=o(s/r);return wre(l)&&l>0?Math.max(l,i):0}}});var Mi=I(la=>{"use strict";var G5=Re();la.getSubplot=function(e){return e.subplot||e.xaxis+e.yaxis||e.geo};la.isTraceInSubplots=function(e,t){if(e.type==="splom"){for(var r=e.xaxes||[],a=e.yaxes||[],n=0;n=0&&r.index{Y5.exports=Sre;var Ty={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},Mre=/([astvzqmhlc])([^astvzqmhlc]*)/ig;function Sre(e){var t=[];return e.replace(Mre,function(r,a,n){var i=a.toLowerCase();for(n=Lre(n),i=="m"&&n.length>2&&(t.push([a].concat(n.splice(0,2))),i="l",a=a=="m"?"l":"L");;){if(n.length==Ty[i])return n.unshift(a),t.push(n);if(n.length{"use strict";var qre=Ay(),He=Ft().round,kt="M0,0Z",Z5=Math.sqrt(2),ao=Math.sqrt(3),ky=Math.PI,My=Math.cos,Sy=Math.sin;J5.exports={circle:{n:0,f:function(e,t,r){if(Mt(t))return kt;var a=He(e,2),n="M"+a+",0A"+a+","+a+" 0 1,1 0,-"+a+"A"+a+","+a+" 0 0,1 "+a+",0Z";return r?St(t,r,n):n}},square:{n:1,f:function(e,t,r){if(Mt(t))return kt;var a=He(e,2);return St(t,r,"M"+a+","+a+"H-"+a+"V-"+a+"H"+a+"Z")}},diamond:{n:2,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*1.3,2);return St(t,r,"M"+a+",0L0,"+a+"L-"+a+",0L0,-"+a+"Z")}},cross:{n:3,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*.4,2),n=He(e*1.2,2);return St(t,r,"M"+n+","+a+"H"+a+"V"+n+"H-"+a+"V"+a+"H-"+n+"V-"+a+"H-"+a+"V-"+n+"H"+a+"V-"+a+"H"+n+"Z")}},x:{n:4,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*.8/Z5,2),n="l"+a+","+a,i="l"+a+",-"+a,o="l-"+a+",-"+a,s="l-"+a+","+a;return St(t,r,"M0,"+a+n+i+o+i+o+s+o+s+n+s+n+"Z")}},"triangle-up":{n:5,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*2/ao,2),n=He(e/2,2),i=He(e,2);return St(t,r,"M-"+a+","+n+"H"+a+"L0,-"+i+"Z")}},"triangle-down":{n:6,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*2/ao,2),n=He(e/2,2),i=He(e,2);return St(t,r,"M-"+a+",-"+n+"H"+a+"L0,"+i+"Z")}},"triangle-left":{n:7,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*2/ao,2),n=He(e/2,2),i=He(e,2);return St(t,r,"M"+n+",-"+a+"V"+a+"L-"+i+",0Z")}},"triangle-right":{n:8,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*2/ao,2),n=He(e/2,2),i=He(e,2);return St(t,r,"M-"+n+",-"+a+"V"+a+"L"+i+",0Z")}},"triangle-ne":{n:9,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*.6,2),n=He(e*1.2,2);return St(t,r,"M-"+n+",-"+a+"H"+a+"V"+n+"Z")}},"triangle-se":{n:10,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*.6,2),n=He(e*1.2,2);return St(t,r,"M"+a+",-"+n+"V"+a+"H-"+n+"Z")}},"triangle-sw":{n:11,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*.6,2),n=He(e*1.2,2);return St(t,r,"M"+n+","+a+"H-"+a+"V-"+n+"Z")}},"triangle-nw":{n:12,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*.6,2),n=He(e*1.2,2);return St(t,r,"M-"+a+","+n+"V-"+a+"H"+n+"Z")}},pentagon:{n:13,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*.951,2),n=He(e*.588,2),i=He(-e,2),o=He(e*-.309,2),s=He(e*.809,2);return St(t,r,"M"+a+","+o+"L"+n+","+s+"H-"+n+"L-"+a+","+o+"L0,"+i+"Z")}},hexagon:{n:14,f:function(e,t,r){if(Mt(t))return kt;var a=He(e,2),n=He(e/2,2),i=He(e*ao/2,2);return St(t,r,"M"+i+",-"+n+"V"+n+"L0,"+a+"L-"+i+","+n+"V-"+n+"L0,-"+a+"Z")}},hexagon2:{n:15,f:function(e,t,r){if(Mt(t))return kt;var a=He(e,2),n=He(e/2,2),i=He(e*ao/2,2);return St(t,r,"M-"+n+","+i+"H"+n+"L"+a+",0L"+n+",-"+i+"H-"+n+"L-"+a+",0Z")}},octagon:{n:16,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*.924,2),n=He(e*.383,2);return St(t,r,"M-"+n+",-"+a+"H"+n+"L"+a+",-"+n+"V"+n+"L"+n+","+a+"H-"+n+"L-"+a+","+n+"V-"+n+"Z")}},star:{n:17,f:function(e,t,r){if(Mt(t))return kt;var a=e*1.4,n=He(a*.225,2),i=He(a*.951,2),o=He(a*.363,2),s=He(a*.588,2),l=He(-a,2),u=He(a*-.309,2),c=He(a*.118,2),d=He(a*.809,2),h=He(a*.382,2);return St(t,r,"M"+n+","+u+"H"+i+"L"+o+","+c+"L"+s+","+d+"L0,"+h+"L-"+s+","+d+"L-"+o+","+c+"L-"+i+","+u+"H-"+n+"L0,"+l+"Z")}},hexagram:{n:18,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*.66,2),n=He(e*.38,2),i=He(e*.76,2);return St(t,r,"M-"+i+",0l-"+n+",-"+a+"h"+i+"l"+n+",-"+a+"l"+n+","+a+"h"+i+"l-"+n+","+a+"l"+n+","+a+"h-"+i+"l-"+n+","+a+"l-"+n+",-"+a+"h-"+i+"Z")}},"star-triangle-up":{n:19,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*ao*.8,2),n=He(e*.8,2),i=He(e*1.6,2),o=He(e*4,2),s="A "+o+","+o+" 0 0 1 ";return St(t,r,"M-"+a+","+n+s+a+","+n+s+"0,-"+i+s+"-"+a+","+n+"Z")}},"star-triangle-down":{n:20,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*ao*.8,2),n=He(e*.8,2),i=He(e*1.6,2),o=He(e*4,2),s="A "+o+","+o+" 0 0 1 ";return St(t,r,"M"+a+",-"+n+s+"-"+a+",-"+n+s+"0,"+i+s+a+",-"+n+"Z")}},"star-square":{n:21,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*1.1,2),n=He(e*2,2),i="A "+n+","+n+" 0 0 1 ";return St(t,r,"M-"+a+",-"+a+i+"-"+a+","+a+i+a+","+a+i+a+",-"+a+i+"-"+a+",-"+a+"Z")}},"star-diamond":{n:22,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*1.4,2),n=He(e*1.9,2),i="A "+n+","+n+" 0 0 1 ";return St(t,r,"M-"+a+",0"+i+"0,"+a+i+a+",0"+i+"0,-"+a+i+"-"+a+",0Z")}},"diamond-tall":{n:23,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*.7,2),n=He(e*1.4,2);return St(t,r,"M0,"+n+"L"+a+",0L0,-"+n+"L-"+a+",0Z")}},"diamond-wide":{n:24,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*1.4,2),n=He(e*.7,2);return St(t,r,"M0,"+n+"L"+a+",0L0,-"+n+"L-"+a+",0Z")}},hourglass:{n:25,f:function(e,t,r){if(Mt(t))return kt;var a=He(e,2);return St(t,r,"M"+a+","+a+"H-"+a+"L"+a+",-"+a+"H-"+a+"Z")},noDot:!0},bowtie:{n:26,f:function(e,t,r){if(Mt(t))return kt;var a=He(e,2);return St(t,r,"M"+a+","+a+"V-"+a+"L-"+a+","+a+"V-"+a+"Z")},noDot:!0},"circle-cross":{n:27,f:function(e,t,r){if(Mt(t))return kt;var a=He(e,2);return St(t,r,"M0,"+a+"V-"+a+"M"+a+",0H-"+a+"M"+a+",0A"+a+","+a+" 0 1,1 0,-"+a+"A"+a+","+a+" 0 0,1 "+a+",0Z")},needLine:!0,noDot:!0},"circle-x":{n:28,f:function(e,t,r){if(Mt(t))return kt;var a=He(e,2),n=He(e/Z5,2);return St(t,r,"M"+n+","+n+"L-"+n+",-"+n+"M"+n+",-"+n+"L-"+n+","+n+"M"+a+",0A"+a+","+a+" 0 1,1 0,-"+a+"A"+a+","+a+" 0 0,1 "+a+",0Z")},needLine:!0,noDot:!0},"square-cross":{n:29,f:function(e,t,r){if(Mt(t))return kt;var a=He(e,2);return St(t,r,"M0,"+a+"V-"+a+"M"+a+",0H-"+a+"M"+a+","+a+"H-"+a+"V-"+a+"H"+a+"Z")},needLine:!0,noDot:!0},"square-x":{n:30,f:function(e,t,r){if(Mt(t))return kt;var a=He(e,2);return St(t,r,"M"+a+","+a+"L-"+a+",-"+a+"M"+a+",-"+a+"L-"+a+","+a+"M"+a+","+a+"H-"+a+"V-"+a+"H"+a+"Z")},needLine:!0,noDot:!0},"diamond-cross":{n:31,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*1.3,2);return St(t,r,"M"+a+",0L0,"+a+"L-"+a+",0L0,-"+a+"ZM0,-"+a+"V"+a+"M-"+a+",0H"+a)},needLine:!0,noDot:!0},"diamond-x":{n:32,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*1.3,2),n=He(e*.65,2);return St(t,r,"M"+a+",0L0,"+a+"L-"+a+",0L0,-"+a+"ZM-"+n+",-"+n+"L"+n+","+n+"M-"+n+","+n+"L"+n+",-"+n)},needLine:!0,noDot:!0},"cross-thin":{n:33,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*1.4,2);return St(t,r,"M0,"+a+"V-"+a+"M"+a+",0H-"+a)},needLine:!0,noDot:!0,noFill:!0},"x-thin":{n:34,f:function(e,t,r){if(Mt(t))return kt;var a=He(e,2);return St(t,r,"M"+a+","+a+"L-"+a+",-"+a+"M"+a+",-"+a+"L-"+a+","+a)},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*1.2,2),n=He(e*.85,2);return St(t,r,"M0,"+a+"V-"+a+"M"+a+",0H-"+a+"M"+n+","+n+"L-"+n+",-"+n+"M"+n+",-"+n+"L-"+n+","+n)},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(e,t,r){if(Mt(t))return kt;var a=He(e/2,2),n=He(e,2);return St(t,r,"M"+a+","+n+"V-"+n+"M"+(a-n)+",-"+n+"V"+n+"M"+n+","+a+"H-"+n+"M-"+n+","+(a-n)+"H"+n)},needLine:!0,noFill:!0},"y-up":{n:37,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*1.2,2),n=He(e*1.6,2),i=He(e*.8,2);return St(t,r,"M-"+a+","+i+"L0,0M"+a+","+i+"L0,0M0,-"+n+"L0,0")},needLine:!0,noDot:!0,noFill:!0},"y-down":{n:38,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*1.2,2),n=He(e*1.6,2),i=He(e*.8,2);return St(t,r,"M-"+a+",-"+i+"L0,0M"+a+",-"+i+"L0,0M0,"+n+"L0,0")},needLine:!0,noDot:!0,noFill:!0},"y-left":{n:39,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*1.2,2),n=He(e*1.6,2),i=He(e*.8,2);return St(t,r,"M"+i+","+a+"L0,0M"+i+",-"+a+"L0,0M-"+n+",0L0,0")},needLine:!0,noDot:!0,noFill:!0},"y-right":{n:40,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*1.2,2),n=He(e*1.6,2),i=He(e*.8,2);return St(t,r,"M-"+i+","+a+"L0,0M-"+i+",-"+a+"L0,0M"+n+",0L0,0")},needLine:!0,noDot:!0,noFill:!0},"line-ew":{n:41,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*1.4,2);return St(t,r,"M"+a+",0H-"+a)},needLine:!0,noDot:!0,noFill:!0},"line-ns":{n:42,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*1.4,2);return St(t,r,"M0,"+a+"V-"+a)},needLine:!0,noDot:!0,noFill:!0},"line-ne":{n:43,f:function(e,t,r){if(Mt(t))return kt;var a=He(e,2);return St(t,r,"M"+a+",-"+a+"L-"+a+","+a)},needLine:!0,noDot:!0,noFill:!0},"line-nw":{n:44,f:function(e,t,r){if(Mt(t))return kt;var a=He(e,2);return St(t,r,"M"+a+","+a+"L-"+a+",-"+a)},needLine:!0,noDot:!0,noFill:!0},"arrow-up":{n:45,f:function(e,t,r){if(Mt(t))return kt;var a=He(e,2),n=He(e*2,2);return St(t,r,"M0,0L-"+a+","+n+"H"+a+"Z")},backoff:1,noDot:!0},"arrow-down":{n:46,f:function(e,t,r){if(Mt(t))return kt;var a=He(e,2),n=He(e*2,2);return St(t,r,"M0,0L-"+a+",-"+n+"H"+a+"Z")},noDot:!0},"arrow-left":{n:47,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*2,2),n=He(e,2);return St(t,r,"M0,0L"+a+",-"+n+"V"+n+"Z")},noDot:!0},"arrow-right":{n:48,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*2,2),n=He(e,2);return St(t,r,"M0,0L-"+a+",-"+n+"V"+n+"Z")},noDot:!0},"arrow-bar-up":{n:49,f:function(e,t,r){if(Mt(t))return kt;var a=He(e,2),n=He(e*2,2);return St(t,r,"M-"+a+",0H"+a+"M0,0L-"+a+","+n+"H"+a+"Z")},backoff:1,needLine:!0,noDot:!0},"arrow-bar-down":{n:50,f:function(e,t,r){if(Mt(t))return kt;var a=He(e,2),n=He(e*2,2);return St(t,r,"M-"+a+",0H"+a+"M0,0L-"+a+",-"+n+"H"+a+"Z")},needLine:!0,noDot:!0},"arrow-bar-left":{n:51,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*2,2),n=He(e,2);return St(t,r,"M0,-"+n+"V"+n+"M0,0L"+a+",-"+n+"V"+n+"Z")},needLine:!0,noDot:!0},"arrow-bar-right":{n:52,f:function(e,t,r){if(Mt(t))return kt;var a=He(e*2,2),n=He(e,2);return St(t,r,"M0,-"+n+"V"+n+"M0,0L-"+a+",-"+n+"V"+n+"Z")},needLine:!0,noDot:!0},arrow:{n:53,f:function(e,t,r){if(Mt(t))return kt;var a=ky/2.5,n=2*e*My(a),i=2*e*Sy(a);return St(t,r,"M0,0L"+-n+","+i+"L"+n+","+i+"Z")},backoff:.9,noDot:!0},"arrow-wide":{n:54,f:function(e,t,r){if(Mt(t))return kt;var a=ky/4,n=2*e*My(a),i=2*e*Sy(a);return St(t,r,"M0,0L"+-n+","+i+"A "+2*e+","+2*e+" 0 0 1 "+n+","+i+"Z")},backoff:.4,noDot:!0}};function Mt(e){return e===null}var X5,$5,Q5,K5;function St(e,t,r){if((!e||e%360==0)&&!t)return r;if(Q5===e&&K5===t&&X5===r)return $5;Q5=e,K5=t,X5=r;function a(b,x){var _=My(b),k=Sy(b),w=x[0],A=x[1]+(t||0);return[w*_-A*k,w*k+A*_]}for(var n=e/180*ky,i=0,o=0,s=qre(r),l="",u=0;u{"use strict";var Br=Ft(),nr=Re(),Dre=nr.numberFormat,Ko=jt(),Cy=Pn(),_h=bt(),ya=It(),Pre=wy(),cf=nr.strTranslate,Ly=Ga(),Rre=$o(),Ere=qa(),Ire=Ere.LINE_SPACING,tD=Fd().DESELECTDIM,zre=Ja(),Nre=U5(),Fre=Mi().appendArrayPointValue,We=_D.exports={};We.font=function(e,t,r,a){nr.isPlainObject(t)&&(a=t.color,r=t.size,t=t.family),t&&e.style("font-family",t),r+1&&e.style("font-size",r+"px"),a&&e.call(ya.fill,a)};We.setPosition=function(e,t,r){e.attr("x",t).attr("y",r)};We.setSize=function(e,t,r){e.attr("width",t).attr("height",r)};We.setRect=function(e,t,r,a,n){e.call(We.setPosition,t,r).call(We.setSize,a,n)};We.translatePoint=function(e,t,r,a){var n=r.c2p(e.x),i=a.c2p(e.y);if(Ko(n)&&Ko(i)&&t.node())t.node().nodeName==="text"?t.attr("x",n).attr("y",i):t.attr("transform",cf(n,i));else return!1;return!0};We.translatePoints=function(e,t,r){e.each(function(a){var n=Br.select(this);We.translatePoint(a,n,t,r)})};We.hideOutsideRangePoint=function(e,t,r,a,n,i){t.attr("display",r.isPtWithinRange(e,n)&&a.isPtWithinRange(e,i)?null:"none")};We.hideOutsideRangePoints=function(e,t){if(!!t._hasClipOnAxisFalse){var r=t.xaxis,a=t.yaxis;e.each(function(n){var i=n[0].trace,o=i.xcalendar,s=i.ycalendar,l=_h.traceIs(i,"bar-like")?".bartext":".point,.textpoint";e.selectAll(l).each(function(u){We.hideOutsideRangePoint(u,Br.select(this),r,a,o,s)})})}};We.crispRound=function(e,t,r){return!t||!Ko(t)?r||0:e._context.staticPlot?t:t<1?1:Math.round(t)};We.singleLineStyle=function(e,t,r,a,n){t.style("fill","none");var i=(((e||[])[0]||{}).trace||{}).line||{},o=r||i.width||0,s=n||i.dash||"";ya.stroke(t,a||i.color),We.dashLine(t,s,o)};We.lineGroupStyle=function(e,t,r,a){e.style("fill","none").each(function(n){var i=(((n||[])[0]||{}).trace||{}).line||{},o=t||i.width||0,s=a||i.dash||"";Br.select(this).call(ya.stroke,r||i.color).call(We.dashLine,s,o)})};We.dashLine=function(e,t,r){r=+r||0,t=We.dashStyle(t,r),e.style({"stroke-dasharray":t,"stroke-width":r+"px"})};We.dashStyle=function(e,t){t=+t||1;var r=Math.max(t,3);return e==="solid"?e="":e==="dot"?e=r+"px,"+r+"px":e==="dash"?e=3*r+"px,"+3*r+"px":e==="longdash"?e=5*r+"px,"+5*r+"px":e==="dashdot"?e=3*r+"px,"+r+"px,"+r+"px,"+r+"px":e==="longdashdot"&&(e=5*r+"px,"+2*r+"px,"+r+"px,"+2*r+"px"),e};function rD(e,t,r){var a=t.fillpattern,n=a&&We.getPatternAttr(a.shape,0,"");if(n){var i=We.getPatternAttr(a.bgcolor,0,null),o=We.getPatternAttr(a.fgcolor,0,null),s=a.fgopacity,l=We.getPatternAttr(a.size,0,8),u=We.getPatternAttr(a.solidity,0,.3),c=t.uid;We.pattern(e,"point",r,c,n,l,u,void 0,a.fillmode,i,o,s)}else t.fillcolor&&e.call(ya.fill,t.fillcolor)}We.singleFillStyle=function(e,t){var r=Br.select(e.node()),a=r.data(),n=((a[0]||[])[0]||{}).trace||{};rD(e,n,t)};We.fillGroupStyle=function(e,t){e.style("stroke-width",0).each(function(r){var a=Br.select(this);r[0].trace&&rD(a,r[0].trace,t)})};var aD=eD();We.symbolNames=[];We.symbolFuncs=[];We.symbolBackOffs=[];We.symbolNeedLines={};We.symbolNoDot={};We.symbolNoFill={};We.symbolList=[];Object.keys(aD).forEach(function(e){var t=aD[e],r=t.n;We.symbolList.push(r,String(r),e,r+100,String(r+100),e+"-open"),We.symbolNames[r]=e,We.symbolFuncs[r]=t.f,We.symbolBackOffs[r]=t.backoff||0,t.needLine&&(We.symbolNeedLines[r]=!0),t.noDot?We.symbolNoDot[r]=!0:We.symbolList.push(r+200,String(r+200),e+"-dot",r+300,String(r+300),e+"-open-dot"),t.noFill&&(We.symbolNoFill[r]=!0)});var jre=We.symbolNames.length,Ore="M0,0.5L0.5,0L0,-0.5L-0.5,0Z";We.symbolNumber=function(e){if(Ko(e))e=+e;else if(typeof e=="string"){var t=0;e.indexOf("-open")>0&&(t=100,e=e.replace("-open","")),e.indexOf("-dot")>0&&(t+=200,e=e.replace("-dot","")),e=We.symbolNames.indexOf(e),e>=0&&(e+=t)}return e%100>=jre||e>=400?0:Math.floor(Math.max(e,0))};function nD(e,t,r,a){var n=e%100;return We.symbolFuncs[n](t,r,a)+(e>=200?Ore:"")}var iD={x1:1,x2:0,y1:0,y2:0},oD={x1:0,x2:0,y1:1,y2:0},sD=Dre("~f"),lD={radial:{node:"radialGradient"},radialreversed:{node:"radialGradient",reversed:!0},horizontal:{node:"linearGradient",attrs:iD},horizontalreversed:{node:"linearGradient",attrs:iD,reversed:!0},vertical:{node:"linearGradient",attrs:oD},verticalreversed:{node:"linearGradient",attrs:oD,reversed:!0}};We.gradient=function(e,t,r,a,n,i){for(var o=n.length,s=lD[a],l=new Array(o),u=0;u=100;var u=zy(e,r),c=Ry(e,r);t.attr("d",nD(l,s,u,c))}var d=!1,h,p,g;if(e.so)g=o.outlierwidth,p=o.outliercolor,h=i.outliercolor;else{var m=(o||{}).width;g=(e.mlw+1||m+1||(e.trace?(e.trace.marker.line||{}).width:0)+1)-1||0,"mlc"in e?p=e.mlcc=a.lineScale(e.mlc):nr.isArrayOrTypedArray(o.color)?p=ya.defaultLine:p=o.color,nr.isArrayOrTypedArray(i.color)&&(h=ya.defaultLine,d=!0),"mc"in e?h=e.mcc=a.markerScale(e.mc):h=i.color||"rgba(0,0,0,0)",a.selectedColorFn&&(h=a.selectedColorFn(e))}if(e.om)t.call(ya.stroke,h).style({"stroke-width":(g||1)+"px",fill:"none"});else{t.style("stroke-width",(e.isBlank?0:g)+"px");var b=i.gradient,x=e.mgt;x?d=!0:x=b&&b.type,nr.isArrayOrTypedArray(x)&&(x=x[0],lD[x]||(x=0));var _=i.pattern,k=_&&We.getPatternAttr(_.shape,e.i,"");if(x&&x!=="none"){var w=e.mgc;w?d=!0:w=b.color;var A=r.uid;d&&(A+="-"+e.i),We.gradient(t,n,A,x,[[0,w],[1,h]],"fill")}else if(k){var L=We.getPatternAttr(_.bgcolor,e.i,null),M=We.getPatternAttr(_.fgcolor,e.i,null),q=_.fgopacity,P=We.getPatternAttr(_.size,e.i,8),E=We.getPatternAttr(_.solidity,e.i,.3),F=e.mcc||nr.isArrayOrTypedArray(_.shape)||nr.isArrayOrTypedArray(_.bgcolor)||nr.isArrayOrTypedArray(_.size)||nr.isArrayOrTypedArray(_.solidity),N=r.uid;F&&(N+="-"+e.i),We.pattern(t,"point",n,N,k,P,E,e.mcc,_.fillmode,L,M,q)}else ya.fill(t,h);g&&ya.stroke(t,p)}};We.makePointStyleFns=function(e){var t={},r=e.marker;return t.markerScale=We.tryColorscale(r,""),t.lineScale=We.tryColorscale(r,"line"),_h.traceIs(e,"symbols")&&(t.ms2mrc=zre.isBubble(e)?Nre(e):function(){return(r.size||6)/2}),e.selectedpoints&&nr.extendFlat(t,We.makeSelectedPointStyleFns(e)),t};We.makeSelectedPointStyleFns=function(e){var t={},r=e.selected||{},a=e.unselected||{},n=e.marker||{},i=r.marker||{},o=a.marker||{},s=n.opacity,l=i.opacity,u=o.opacity,c=l!==void 0,d=u!==void 0;(nr.isArrayOrTypedArray(s)||c||d)&&(t.selectedOpacityFn=function(w){var A=w.mo===void 0?n.opacity:w.mo;return w.selected?c?l:A:d?u:tD*A});var h=n.color,p=i.color,g=o.color;(p||g)&&(t.selectedColorFn=function(w){var A=w.mcc||h;return w.selected?p||A:g||A});var m=n.size,b=i.size,x=o.size,_=b!==void 0,k=x!==void 0;return _h.traceIs(e,"symbols")&&(_||k)&&(t.selectedSizeFn=function(w){var A=w.mrc||m/2;return w.selected?_?b/2:A:k?x/2:A}),t};We.makeSelectedTextStyleFns=function(e){var t={},r=e.selected||{},a=e.unselected||{},n=e.textfont||{},i=r.textfont||{},o=a.textfont||{},s=n.color,l=i.color,u=o.color;return t.selectedTextColorFn=function(c){var d=c.tc||s;return c.selected?l||d:u||(l?d:ya.addOpacity(d,tD))},t};We.selectedPointStyle=function(e,t){if(!(!e.size()||!t.selectedpoints)){var r=We.makeSelectedPointStyleFns(t),a=t.marker||{},n=[];r.selectedOpacityFn&&n.push(function(i,o){i.style("opacity",r.selectedOpacityFn(o))}),r.selectedColorFn&&n.push(function(i,o){ya.fill(i,r.selectedColorFn(o))}),r.selectedSizeFn&&n.push(function(i,o){var s=o.mx||a.symbol||0,l=r.selectedSizeFn(o);i.attr("d",nD(We.symbolNumber(s),l,zy(o,t),Ry(o,t))),o.mrc2=l}),n.length&&e.each(function(i){for(var o=Br.select(this),s=0;s0?r:0}We.textPointStyle=function(e,t,r){if(!!e.size()){var a;if(t.selectedpoints){var n=We.makeSelectedTextStyleFns(t);a=n.selectedTextColorFn}var i=t.texttemplate,o=r._fullLayout;e.each(function(s){var l=Br.select(this),u=i?nr.extractOption(s,t,"txt","texttemplate"):nr.extractOption(s,t,"tx","text");if(!u&&u!==0){l.remove();return}if(i){var c=t._module.formatLabels,d=c?c(s,t,o):{},h={};Fre(h,t,s.i);var p=t._meta||{};u=nr.texttemplateString(u,d,o._d3locale,h,s,p)}var g=s.tp||t.textposition,m=fD(s,t),b=a?a(s):s.tc||t.textfont.color;l.call(We.font,s.tf||t.textfont.family,m,b).text(u).call(Ly.convertToTspans,r).call(uD,g,m,s.mrc)})}};We.selectedTextStyle=function(e,t){if(!(!e.size()||!t.selectedpoints)){var r=We.makeSelectedTextStyleFns(t);e.each(function(a){var n=Br.select(this),i=r.selectedTextColorFn(a),o=a.tp||t.textposition,s=fD(a,t);ya.fill(n,i);var l=_h.traceIs(t,"bar-like");uD(n,o,s,a.mrc2||a.mrc,l)})}};var cD=.5;We.smoothopen=function(e,t){if(e.length<3)return"M"+e.join("L");var r="M"+e[0],a=[],n;for(n=1;n=l||_>=c&&_<=l)&&(k<=d&&k>=u||k>=d&&k<=u)&&(e=[_,k])}return e}We.applyBackoff=vD;We.makeTester=function(){var e=nr.ensureSingleById(Br.select("body"),"svg","js-plotly-tester",function(r){r.attr(Rre.svgAttrs).style({position:"absolute",left:"-10000px",top:"-10000px",width:"9000px",height:"9000px","z-index":"1"})}),t=nr.ensureSingle(e,"path","js-reference-point",function(r){r.attr("d","M0,0H1V1H0Z").style({"stroke-width":0,fill:"black"})});We.tester=e,We.testref=t};We.savedBBoxes={};var Dy=0,Ure=1e4;We.bBox=function(e,t,r){r||(r=pD(e));var a;if(r){if(a=We.savedBBoxes[r],a)return nr.extendFlat({},a)}else if(e.childNodes.length===1){var n=e.childNodes[0];if(r=pD(n),r){var i=+n.getAttribute("x")||0,o=+n.getAttribute("y")||0,s=n.getAttribute("transform");if(!s){var l=We.bBox(n,!1,r);return i&&(l.left+=i,l.right+=i),o&&(l.top+=o,l.bottom+=o),l}if(r+="~"+i+"~"+o+"~"+s,a=We.savedBBoxes[r],a)return nr.extendFlat({},a)}}var u,c;t?u=e:(c=We.tester.node(),u=e.cloneNode(!0),c.appendChild(u)),Br.select(u).attr("transform",null).call(Ly.positionText,0,0);var d=u.getBoundingClientRect(),h=We.testref.node().getBoundingClientRect();t||c.removeChild(u);var p={height:d.height,width:d.width,left:d.left-h.left,top:d.top-h.top,right:d.right-h.left,bottom:d.bottom-h.top};return Dy>=Ure&&(We.savedBBoxes={},Dy=0),r&&(We.savedBBoxes[r]=p),Dy++,nr.extendFlat({},p)};function pD(e){var t=e.getAttribute("data-unformatted");if(t!==null)return t+e.getAttribute("data-math")+e.getAttribute("text-anchor")+e.getAttribute("style")}We.setClipUrl=function(e,t,r){e.attr("clip-path",Py(t,r))};function Py(e,t){if(!e)return null;var r=t._context,a=r._exportedPlot?"":r._baseUrl||"";return a?"url('"+a+"#"+e+"')":"url(#"+e+")"}We.getTranslate=function(e){var t=/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,r=e.attr?"attr":"getAttribute",a=e[r]("transform")||"",n=a.replace(t,function(i,o,s){return[o,s].join(" ")}).split(" ");return{x:+n[0]||0,y:+n[1]||0}};We.setTranslate=function(e,t,r){var a=/(\btranslate\(.*?\);?)/,n=e.attr?"attr":"getAttribute",i=e.attr?"attr":"setAttribute",o=e[n]("transform")||"";return t=t||0,r=r||0,o=o.replace(a,"").trim(),o+=cf(t,r),o=o.trim(),e[i]("transform",o),o};We.getScale=function(e){var t=/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,r=e.attr?"attr":"getAttribute",a=e[r]("transform")||"",n=a.replace(t,function(i,o,s){return[o,s].join(" ")}).split(" ");return{x:+n[0]||1,y:+n[1]||1}};We.setScale=function(e,t,r){var a=/(\bscale\(.*?\);?)/,n=e.attr?"attr":"getAttribute",i=e.attr?"attr":"setAttribute",o=e[n]("transform")||"";return t=t||1,r=r||1,o=o.replace(a,"").trim(),o+="scale("+t+","+r+")",o=o.trim(),e[i]("transform",o),o};var Gre=/\s*sc.*/;We.setPointGroupScale=function(e,t,r){if(t=t||1,r=r||1,!!e){var a=t===1&&r===1?"":"scale("+t+","+r+")";e.each(function(){var n=(this.getAttribute("transform")||"").replace(Gre,"");n+=a,n=n.trim(),this.setAttribute("transform",n)})}};var Wre=/translate\([^)]*\)\s*$/;We.setTextPointsScale=function(e,t,r){!e||e.each(function(){var a,n=Br.select(this),i=n.select("text");if(!!i.node()){var o=parseFloat(i.attr("x")||0),s=parseFloat(i.attr("y")||0),l=(n.attr("transform")||"").match(Wre);t===1&&r===1?a=[]:a=[cf(o,s),"scale("+t+","+r+")",cf(-o,-s)],l&&a.push(l),n.attr("transform",a.join(""))}})};function Ry(e,t){var r;return e&&(r=e.mf),r===void 0&&(r=t.marker&&t.marker.standoff||0),!t._geo&&!t._xA?-r:r}We.getMarkerStandoff=Ry;var df=Math.atan2,ts=Math.cos,Al=Math.sin;function mD(e,t){var r=t[0],a=t[1];return[r*ts(e)-a*Al(e),r*Al(e)+a*ts(e)]}var gD,yD,bD,xD,Ey,Iy;function zy(e,t){var r=e.ma;r===void 0&&(r=t.marker.angle||0);var a,n,i=t.marker.angleref;if(i==="previous"||i==="north"){if(t._geo){var o=t._geo.project(e.lonlat);a=o[0],n=o[1]}else{var s=t._xA,l=t._yA;if(s&&l)a=s.c2p(e.x),n=l.c2p(e.y);else return 90}if(t._geo){var u=e.lonlat[0],c=e.lonlat[1],d=t._geo.project([u,c+1e-5]),h=t._geo.project([u+1e-5,c]),p=df(h[1]-n,h[0]-a),g=df(d[1]-n,d[0]-a),m;if(i==="north")m=r/180*Math.PI;else if(i==="previous"){var b=u/180*Math.PI,x=c/180*Math.PI,_=gD/180*Math.PI,k=yD/180*Math.PI,w=_-b,A=ts(k)*Al(w),L=Al(k)*ts(x)-ts(k)*Al(x)*ts(w);m=-df(A,L)-Math.PI,gD=u,yD=c}var M=mD(p,[ts(m),0]),q=mD(g,[Al(m),0]);r=df(M[1]+q[1],M[0]+q[0])/Math.PI*180,i==="previous"&&!(Iy===t.uid&&e.i===Ey+1)&&(r=null)}if(i==="previous"&&!t._geo)if(Iy===t.uid&&e.i===Ey+1&&Ko(a)&&Ko(n)){var P=a-bD,E=n-xD,F=t.line&&t.line.shape||"",N=F.slice(F.length-1);N==="h"&&(E=0),N==="v"&&(P=0),r+=df(E,P)/Math.PI*180+90}else r=null}return bD=a,xD=n,Ey=e.i,Iy=t.uid,r}We.getMarkerAngle=zy});var hf=I((oxe,LD)=>{"use strict";var Th=Ft(),Vre=jt(),wD=Nr(),TD=bt(),kl=Re(),AD=kl.strTranslate,kD=Kt(),MD=It(),Ny=Ga(),SD=Fd(),Yre=qa().OPPOSITE_SIDE,CD=/ [XY][0-9]* /;function Zre(e,t,r){var a=r.propContainer,n=r.propName,i=r.placeholder,o=r.traceIndex,s=r.avoid||{},l=r.attributes,u=r.transform,c=r.containerGroup,d=e._fullLayout,h=1,p=!1,g=a.title,m=(g&&g.text?g.text:"").trim(),b=g&&g.font?g.font:{},x=b.family,_=b.size,k=b.color,w;n==="title.text"?w="titleText":n.indexOf("axis")!==-1?w="axisTitleText":n.indexOf("colorbar"!==-1)&&(w="colorbarTitleText");var A=e._context.edits[w];m===""?h=0:m.replace(CD," % ")===i.replace(CD," % ")&&(h=.2,p=!0,A||(m="")),r._meta?m=kl.templateString(m,r._meta):d._meta&&(m=kl.templateString(m,d._meta));var L=m||A,M;c||(c=kl.ensureSingle(d._infolayer,"g","g-"+t),M=d._hColorbarMoveTitle);var q=c.selectAll("text").data(L?[0]:[]);if(q.enter().append("text"),q.text(m).attr("class",t),q.exit().remove(),!L)return c;function P(j){kl.syncOrAsync([E,F],j)}function E(j){var B;return!u&&M&&(u={}),u?(B="",u.rotate&&(B+="rotate("+[u.rotate,l.x,l.y]+")"),(u.offset||M)&&(B+=AD(0,(u.offset||0)-(M||0)))):B=null,j.attr("transform",B),j.style({"font-family":x,"font-size":Th.round(_,2)+"px",fill:MD.rgb(k),opacity:h*MD.opacity(k),"font-weight":wD.fontWeight}).attr(l).call(Ny.convertToTspans,e),wD.previousPromises(e)}function F(j){var B=Th.select(j.node().parentNode);if(s&&s.selection&&s.side&&m){B.attr("transform",null);var W=Yre[s.side],V=s.side==="left"||s.side==="top"?-1:1,Y=Vre(s.pad)?s.pad:2,Z=kD.bBox(B.node()),$={left:0,top:0,right:d.width,bottom:d.height},ne=s.maxShift||V*($[s.side]-Z[s.side]),te=0;if(ne<0)te=ne;else{var de=s.offsetLeft||0,be=s.offsetTop||0;Z.left-=de,Z.right-=de,Z.top-=be,Z.bottom-=be,s.selection.each(function(){var ge=kD.bBox(this);kl.bBoxIntersect(Z,ge,Y)&&(te=Math.max(te,V*(ge[s.side]-Z[W])+Y))}),te=Math.min(ne,te)}if(te>0||ne<0){var re={left:[-te,0],right:[te,0],top:[0,-te],bottom:[0,te]}[s.side];B.attr("transform",AD(re[0],re[1]))}}}q.call(P);function N(){h=0,p=!0,q.text(i).on("mouseover.opacity",function(){Th.select(this).transition().duration(SD.SHOW_PLACEHOLDER).style("opacity",1)}).on("mouseout.opacity",function(){Th.select(this).transition().duration(SD.HIDE_PLACEHOLDER).style("opacity",0)})}return A&&(m?q.on(".opacity",null):N(),q.call(Ny.makeEditable,{gd:e}).on("edit",function(j){o!==void 0?TD.call("_guiRestyle",e,n,j,o):TD.call("_guiRelayout",e,n,j)}).on("cancel",function(){this.text(this.attr("data-unformatted")).call(P)}).on("input",function(j){this.text(j||" ").call(Ny.positionText,l.x,l.y)})),q.classed("js-placeholder",p),c}LD.exports={draw:Zre}});var Dh=I((sxe,ED)=>{"use strict";var Xre=Ft(),$re=Ks().utcFormat,sr=Re(),Qre=sr.numberFormat,ii=jt(),no=sr.cleanNumber,Kre=sr.ms2DateTime,qD=sr.dateTime2ms,oi=sr.ensureNumber,DD=sr.isArrayOrTypedArray,io=Tr(),Ah=io.FP_SAFE,zn=io.BADNUM,Jre=io.LOG_CLIP,eae=io.ONEWEEK,kh=io.ONEDAY,Mh=io.ONEHOUR,PD=io.ONEMIN,RD=io.ONESEC,Sh=Hr(),Ch=ga(),Lh=Ch.HOUR_PATTERN,qh=Ch.WEEKDAY_PATTERN;function vf(e){return Math.pow(10,e)}function Fy(e){return e!=null}ED.exports=function(t,r){r=r||{};var a=t._id||"x",n=a.charAt(0);function i(w,A){if(w>0)return Math.log(w)/Math.LN10;if(w<=0&&A&&t.range&&t.range.length===2){var L=t.range[0],M=t.range[1];return .5*(L+M-2*Jre*Math.abs(L-M))}else return zn}function o(w,A,L,M){if((M||{}).msUTC&&ii(w))return+w;var q=qD(w,L||t.calendar);if(q===zn)if(ii(w)){w=+w;var P=Math.floor(sr.mod(w+.05,1)*10),E=Math.round(w-P/10);q=qD(new Date(E))+P/10}else return zn;return q}function s(w,A,L){return Kre(w,A,L||t.calendar)}function l(w){return t._categories[Math.round(w)]}function u(w){if(Fy(w)){if(t._categoriesMap===void 0&&(t._categoriesMap={}),t._categoriesMap[w]!==void 0)return t._categoriesMap[w];t._categories.push(typeof w=="number"?String(w):w);var A=t._categories.length-1;return t._categoriesMap[w]=A,A}return zn}function c(w,A){for(var L=new Array(A),M=0;Mt.range[1]&&(L=!L);for(var M=L?-1:1,q=M*w,P=0,E=0;EN)P=E+1;else{P=q<(F+N)/2?E:E+1;break}}var j=t._B[P]||0;return isFinite(j)?g(w,t._m2,j):0},x=function(w){var A=t._rangebreaks.length;if(!A)return m(w,t._m,t._b);for(var L=0,M=0;Mt._rangebreaks[M].pmax&&(L=M+1);return m(w,t._m2,t._B[L])}}t.c2l=t.type==="log"?i:oi,t.l2c=t.type==="log"?vf:oi,t.l2p=b,t.p2l=x,t.c2p=t.type==="log"?function(w,A){return b(i(w,A))}:b,t.p2c=t.type==="log"?function(w){return vf(x(w))}:x,["linear","-"].indexOf(t.type)!==-1?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=no,t.c2d=t.c2r=t.l2d=t.l2r=oi,t.d2p=t.r2p=function(w){return t.l2p(no(w))},t.p2d=t.p2r=x,t.cleanPos=oi):t.type==="log"?(t.d2r=t.d2l=function(w,A){return i(no(w),A)},t.r2d=t.r2c=function(w){return vf(no(w))},t.d2c=t.r2l=no,t.c2d=t.l2r=oi,t.c2r=i,t.l2d=vf,t.d2p=function(w,A){return t.l2p(t.d2r(w,A))},t.p2d=function(w){return vf(x(w))},t.r2p=function(w){return t.l2p(no(w))},t.p2r=x,t.cleanPos=oi):t.type==="date"?(t.d2r=t.r2d=sr.identity,t.d2c=t.r2c=t.d2l=t.r2l=o,t.c2d=t.c2r=t.l2d=t.l2r=s,t.d2p=t.r2p=function(w,A,L){return t.l2p(o(w,0,L))},t.p2d=t.p2r=function(w,A,L){return s(x(w),A,L)},t.cleanPos=function(w){return sr.cleanDate(w,zn,t.calendar)}):t.type==="category"?(t.d2c=t.d2l=u,t.r2d=t.c2d=t.l2d=l,t.d2r=t.d2l_noadd=h,t.r2c=function(w){var A=p(w);return A!==void 0?A:t.fraction2r(.5)},t.l2r=t.c2r=oi,t.r2l=p,t.d2p=function(w){return t.l2p(t.r2c(w))},t.p2d=function(w){return l(x(w))},t.r2p=t.d2p,t.p2r=x,t.cleanPos=function(w){return typeof w=="string"&&w!==""?w:oi(w)}):t.type==="multicategory"&&(t.r2d=t.c2d=t.l2d=l,t.d2r=t.d2l_noadd=h,t.r2c=function(w){var A=h(w);return A!==void 0?A:t.fraction2r(.5)},t.r2c_just_indices=d,t.l2r=t.c2r=oi,t.r2l=h,t.d2p=function(w){return t.l2p(t.r2c(w))},t.p2d=function(w){return l(x(w))},t.r2p=t.d2p,t.p2r=x,t.cleanPos=function(w){return Array.isArray(w)||typeof w=="string"&&w!==""?w:oi(w)},t.setupMultiCategory=function(w){var A=t._traceIndices,L,M,q=t._matchGroup;if(q&&t._categories.length===0){for(var P in q)if(P!==a){var E=r[Sh.id2name(P)];A=A.concat(E._traceIndices)}}var F=[[0,{}],[0,{}]],N=[];for(L=0;LAh&&(L[M]=Ah),L[0]===L[1]){var E=Math.max(1,Math.abs(L[0]*1e-6));L[0]-=E,L[1]+=E}}},t.setScale=function(w){var A=r._size;if(t.overlaying){var L=Sh.getFromId({_fullLayout:r},t.overlaying);t.domain=L.domain}var M=w&&t._r?"_r":"range",q=t.calendar;t.cleanRange(M);var P=t.r2l(t[M][0],q),E=t.r2l(t[M][1],q),F=n==="y";if(F?(t._offset=A.t+(1-t.domain[1])*A.h,t._length=A.h*(t.domain[1]-t.domain[0]),t._m=t._length/(P-E),t._b=-t._m*E):(t._offset=A.l+t.domain[0]*A.w,t._length=A.w*(t.domain[1]-t.domain[0]),t._m=t._length/(E-P),t._b=-t._m*P),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks){var N,j;if(t._rangebreaks=t.locateBreaks(Math.min(P,E),Math.max(P,E)),t._rangebreaks.length){for(N=0;NE&&(B=!B),B&&t._rangebreaks.reverse();var W=B?-1:1;for(t._m2=W*t._length/(Math.abs(E-P)-t._lBreaks),t._B.push(-t._m2*(F?E:P)),N=0;Nq&&(q+=7,Pq&&(q+=24,P=M&&P=M&&w=ee.min&&(deee.max&&(ee.max=be),re=!1)}re&&E.push({min:de,max:be})}};for(L=0;L{"use strict";var ID=jt(),jy=Re(),tae=Tr().BADNUM,Ph=jy.isArrayOrTypedArray,rae=jy.isDateTime,aae=jy.cleanNumber,zD=Math.round;FD.exports=function(t,r,a){var n=t,i=a.noMultiCategory;if(Ph(n)&&!n.length)return"-";if(!i&&lae(n))return"multicategory";if(i&&Array.isArray(n[0])){for(var o=[],s=0;si*2}function ND(e){return Math.max(1,(e-1)/1e3)}function sae(e,t){for(var r=e.length,a=ND(r),n=0,i=0,o={},s=0;sn*2}function lae(e){return Ph(e[0])&&Ph(e[1])}});var pf=I((uxe,WD)=>{"use strict";var uae=Ft(),jD=jt(),rs=Re(),Rh=Tr().FP_SAFE,fae=bt(),cae=Kt(),OD=Hr(),dae=OD.getFromId,hae=OD.isLinked;WD.exports={getAutoRange:Hy,makePadFn:By,doAutoRange:pae,findExtremes:mae,concatExtremes:Uy};function Hy(e,t){var r,a,n=[],i=e._fullLayout,o=By(i,t,0),s=By(i,t,1),l=Uy(e,t),u=l.min,c=l.max;if(u.length===0||c.length===0)return rs.simpleMap(t.range,t.r2l);var d=u[0].val,h=c[0].val;for(r=1;r0&&(P=_-o(A)-s(L),P>k?E/P>w&&(M=A,q=L,w=E/P):E/_>w&&(M={val:A.val,nopad:1},q={val:L.val,nopad:1},w=E/_));function F(V,Y){return Math.max(V,s(Y))}if(d===h){var N=d-1,j=d+1;if(b)if(d===0)n=[0,1];else{var B=(d>0?c:u).reduce(F,0),W=d/(1-Math.min(.5,B/_));n=d>0?[0,W]:[W,0]}else x?n=[Math.max(0,N),Math.max(1,j)]:n=[N,j]}else b?(M.val>=0&&(M={val:0,nopad:1}),q.val<=0&&(q={val:0,nopad:1})):x&&(M.val-w*o(M)<0&&(M={val:0,nopad:1}),q.val<=0&&(q={val:1,nopad:1})),w=(q.val-M.val-HD(t,A.val,L.val))/(_-o(M)-s(q)),n=[M.val-w*o(M),q.val+w*s(q)];return p&&n.reverse(),rs.simpleMap(n,t.l2r||Number)}function HD(e,t,r){var a=0;if(e.rangebreaks)for(var n=e.locateBreaks(t,r),i=0;i0?r.ppadplus:r.ppadminus)||r.ppad||0),L=w((e._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),M=w(r.vpadplus||r.vpad),q=w(r.vpadminus||r.vpad);if(!u){if(_=1/0,k=-1/0,l)for(d=0;d0&&(_=h),h>k&&h-Rh&&(_=h),h>k&&h=F;d--)E(d);return{min:a,max:n,opts:r}}function Gy(e,t,r,a){UD(e,t,r,a,gae)}function Wy(e,t,r,a){UD(e,t,r,a,yae)}function UD(e,t,r,a,n){for(var i=a.tozero,o=a.extrapad,s=!0,l=0;l=r&&(u.extrapad||!o)){s=!1;break}else n(t,u.val)&&u.pad<=r&&(o||!u.extrapad)&&(e.splice(l,1),l--)}if(s){var c=i&&t===0;e.push({val:t,pad:c?0:r,extrapad:c?!1:o})}}function GD(e){return jD(e)&&Math.abs(e)=t}});var tr=I((fxe,cP)=>{"use strict";var vn=Ft(),Mr=jt(),Ml=Nr(),mf=bt(),qt=Re(),Sl=qt.strTranslate,gf=Ga(),bae=hf(),yf=It(),en=Kt(),xae=ni(),VD=cy(),ba=Tr(),_ae=ba.ONEMAXYEAR,Eh=ba.ONEAVGYEAR,Vy=ba.ONEMINYEAR,wae=ba.ONEMAXQUARTER,Yy=ba.ONEAVGQUARTER,Zy=ba.ONEMINQUARTER,Tae=ba.ONEMAXMONTH,Cl=ba.ONEAVGMONTH,Xy=ba.ONEMINMONTH,pn=ba.ONEWEEK,Da=ba.ONEDAY,as=Da/2,Si=ba.ONEHOUR,Ih=ba.ONEMIN,$y=ba.ONESEC,ns=ba.MINUS_SIGN,zh=ba.BADNUM,Qy={K:"zeroline"},Ky={K:"gridline",L:"path"},Jy={K:"minor-gridline",L:"path"},YD={K:"tick",L:"path"},ZD={K:"tick",L:"text"},XD={width:["x","r","l","xl","xr"],height:["y","t","b","yt","yb"],right:["r","xr"],left:["l","xl"],top:["t","yt"],bottom:["b","yb"]},Nh=qa(),Fh=Nh.MID_SHIFT,is=Nh.CAP_SHIFT,jh=Nh.LINE_SPACING,Aae=Nh.OPPOSITE_SIDE,e0=3,Ie=cP.exports={};Ie.setConvert=Dh();var kae=Oy(),Ci=Hr(),Mae=Ci.idSort,Sae=Ci.isLinked;Ie.id2name=Ci.id2name;Ie.name2id=Ci.name2id;Ie.cleanId=Ci.cleanId;Ie.list=Ci.list;Ie.listIds=Ci.listIds;Ie.getFromId=Ci.getFromId;Ie.getFromTrace=Ci.getFromTrace;var $D=pf();Ie.getAutoRange=$D.getAutoRange;Ie.findExtremes=$D.findExtremes;var Cae=1e-4;function t0(e){var t=(e[1]-e[0])*Cae;return[e[0]-t,e[1]+t]}Ie.coerceRef=function(e,t,r,a,n,i){var o=a.charAt(a.length-1),s=r._fullLayout._subplots[o+"axis"],l=a+"ref",u={};return n||(n=s[0]||(typeof i=="string"?i:i[0])),i||(i=n),s=s.concat(s.map(function(c){return c+" domain"})),u[l]={valType:"enumerated",values:s.concat(i?typeof i=="string"?[i]:i:[]),dflt:n},qt.coerce(e,t,u,l)};Ie.getRefType=function(e){return e===void 0?e:e==="paper"?"paper":e==="pixel"?"pixel":/( domain)$/.test(e)?"domain":"range"};Ie.coercePosition=function(e,t,r,a,n,i){var o,s,l=Ie.getRefType(a);if(l!=="range")o=qt.ensureNumber,s=r(n,i);else{var u=Ie.getFromId(t,a);i=u.fraction2r(i),s=r(n,i),o=u.cleanPos}e[n]=o(s)};Ie.cleanPosition=function(e,t,r){var a=r==="paper"||r==="pixel"?qt.ensureNumber:Ie.getFromId(t,r).cleanPos;return a(e)};Ie.redrawComponents=function(e,t){t=t||Ie.listIds(e);var r=e._fullLayout;function a(n,i,o,s){for(var l=mf.getComponentMethod(n,i),u={},c=0;c2e-6||((r-e._forceTick0)/e._minDtick%1+1.000001)%1>2e-6)&&(e._minDtick=0))};Ie.saveRangeInitial=function(e,t){for(var r=Ie.list(e,"",!0),a=!1,n=0;nd*.3||u(a)||u(n))){var h=r.dtick/2;e+=e+ho){var s=Number(r.substr(1));i.exactYears>o&&s%12==0?e=Ie.tickIncrement(e,"M6","reverse")+Da*1.5:i.exactMonths>o?e=Ie.tickIncrement(e,"M1","reverse")+Da*15.5:e-=as;var l=Ie.tickIncrement(e,r);if(l<=a)return l}return e}Ie.prepMinorTicks=function(e,t,r){if(!t.minor.dtick){delete e.dtick;var a=t.dtick&&Mr(t._tmin),n;if(a){var i=Ie.tickIncrement(t._tmin,t.dtick,!0);n=[t._tmin,i*.99+t._tmin*.01]}else{var o=qt.simpleMap(t.range,t.r2l);n=[o[0],.8*o[0]+.2*o[1]]}if(e.range=qt.simpleMap(n,t.l2r),e._isMinor=!0,Ie.prepTicks(e,r),a){var s=Mr(t.dtick),l=Mr(e.dtick),u=s?t.dtick:+t.dtick.substring(1),c=l?e.dtick:+e.dtick.substring(1);s&&l?r0(u,c)?u===2*pn&&c===2*Da&&(e.dtick=pn):u===2*pn&&c===3*Da?e.dtick=pn:u===pn&&!(t._input.minor||{}).nticks?e.dtick=Da:JD(u/c,2.5)?e.dtick=u/2:e.dtick=u:String(t.dtick).charAt(0)==="M"?l?e.dtick="M1":r0(u,c)?u>=12&&c===2&&(e.dtick="M3"):e.dtick=t.dtick:String(e.dtick).charAt(0)==="L"?String(t.dtick).charAt(0)==="L"?r0(u,c)||(e.dtick=JD(u/c,2.5)?t.dtick/2:t.dtick):e.dtick="D1":e.dtick==="D2"&&+t.dtick>1&&(e.dtick=1)}e.range=t.range}t.minor._tick0Init===void 0&&(e.tick0=t.tick0)};function r0(e,t){return Math.abs((e/t+.5)%1-.5)<.001}function JD(e,t){return Math.abs(e/t-1)<.001}Ie.prepTicks=function(e,t){var r=qt.simpleMap(e.range,e.r2l,void 0,void 0,t);if(e.tickmode==="auto"||!e.dtick){var a=e.nticks,n;a||(e.type==="category"||e.type==="multicategory"?(n=e.tickfont?qt.bigFont(e.tickfont.size||12):15,a=e._length/n):(n=e._id.charAt(0)==="y"?40:80,a=qt.constrain(e._length/n,4,9)+1),e._name==="radialaxis"&&(a*=2)),e.minor&&e.minor.tickmode!=="array"||e.tickmode==="array"&&(a*=100),e._roughDTick=Math.abs(r[1]-r[0])/a,Ie.autoTicks(e,e._roughDTick),e._minDtick>0&&e.dtick0?(i=a-1,o=a):(i=a,o=a);var s=e[i].value,l=e[o].value,u=Math.abs(l-s),c=r||u,d=0;c>=Vy?u>=Vy&&u<=_ae?d=u:d=Eh:r===Yy&&c>=Zy?u>=Zy&&u<=wae?d=u:d=Yy:c>=Xy?u>=Xy&&u<=Tae?d=u:d=Cl:r===pn&&c>=pn?d=pn:c>=Da?d=Da:r===as&&c>=as?d=as:r===Si&&c>=Si&&(d=Si);var h;d>=u&&(d=u,h=!0);var p=n+d;if(t.rangebreaks&&d>0){for(var g=84,m=0,b=0;bpn&&(d=u)}(d>0||a===0)&&(e[a].periodX=n+d/2)}}Ie.calcTicks=function(t,r){for(var a=t.type,n=t.calendar,i=t.ticklabelstep,o=t.ticklabelmode==="period",s=qt.simpleMap(t.range,t.r2l,void 0,void 0,r),l=s[1]=(b?0:1);x--){var _=!x;x?(t._dtickInit=t.dtick,t._tick0Init=t.tick0):(t.minor._dtickInit=t.minor.dtick,t.minor._tick0Init=t.minor.tick0);var k=x?t:qt.extendFlat({},t,t.minor);if(_?Ie.prepMinorTicks(k,t,r):Ie.prepTicks(k,r),k.tickmode==="array"){x?(g=[],h=eP(t)):(m=[],p=eP(t));continue}var w=t0(s),A=w[0],L=w[1],M=Mr(k.dtick),q=a==="log"&&!(M||k.dtick.charAt(0)==="L"),P=Ie.tickFirst(k,r);if(x){if(t._tmin=P,P=L:F<=L;F=Ie.tickIncrement(F,B,l,n)){if(x&&N++,k.rangebreaks&&!l){if(F=c)break}if(g.length>d||F===E)break;E=F;var W={value:F};x?(q&&F!==(F|0)&&(W.simpleLabel=!0),i>1&&N%i&&(W.skipLabel=!0),g.push(W)):(W.minor=!0,m.push(W))}}if(b){var V=t.minor.ticks==="inside"&&t.ticks==="outside"||t.minor.ticks==="outside"&&t.ticks==="inside";if(!V){for(var Y=g.map(function(oe){return oe.value}),Z=[],$=0;$-1;re--){if(g[re].drop){g.splice(re,1);continue}g[re].value=f0(g[re].value,t);var ke=t.c2p(g[re].value);(ge?Ae>ke-ee:Aec||Uc&&(Se.periodX=c),Ua&&dEh)t/=Eh,a=n(10),e.dtick="M"+12*si(t,a,Oh);else if(i>Cl)t/=Cl,e.dtick="M"+si(t,1,tP);else if(i>Da){if(e.dtick=si(t,Da,e._hasDayOfWeekBreaks?[1,2,7,14]:Eae),!r){var o=Ie.getTickFormat(e),s=e.ticklabelmode==="period";s&&(e._rawTick0=e.tick0),/%[uVW]/.test(o)?e.tick0=qt.dateTick0(e.calendar,2):e.tick0=qt.dateTick0(e.calendar,1),s&&(e._dowTick0=e.tick0)}}else i>Si?e.dtick=si(t,Si,tP):i>Ih?e.dtick=si(t,Ih,rP):i>$y?e.dtick=si(t,$y,rP):(a=n(10),e.dtick=si(t,a,Oh))}else if(e.type==="log"){e.tick0=0;var l=qt.simpleMap(e.range,e.r2l);if(e._isMinor&&(t*=1.5),t>.7)e.dtick=Math.ceil(t);else if(Math.abs(l[1]-l[0])<1){var u=1.5*Math.abs((l[1]-l[0])/t);t=Math.abs(Math.pow(10,l[1])-Math.pow(10,l[0]))/u,a=n(10),e.dtick="L"+si(t,a,Oh)}else e.dtick=t>.3?"D2":"D1"}else e.type==="category"||e.type==="multicategory"?(e.tick0=0,e.dtick=Math.ceil(Math.max(t,1))):u0(e)?(e.tick0=0,a=1,e.dtick=si(t,a,Iae)):(e.tick0=0,a=n(10),e.dtick=si(t,a,Oh));if(e.dtick===0&&(e.dtick=1),!Mr(e.dtick)&&typeof e.dtick!="string"){var c=e.dtick;throw e.dtick=1,"ax.dtick error: "+String(c)}};function iP(e){var t=e.dtick;if(e._tickexponent=0,!Mr(t)&&typeof t!="string"&&(t=1),(e.type==="category"||e.type==="multicategory")&&(e._tickround=null),e.type==="date"){var r=e.r2l(e.tick0),a=e.l2r(r).replace(/(^-|i)/g,""),n=a.length;if(String(t).charAt(0)==="M")n>10||a.substr(5)!=="01-01"?e._tickround="d":e._tickround=+t.substr(1)%12==0?"y":"m";else if(t>=Da&&n<=10||t>=Da*15)e._tickround="d";else if(t>=Ih&&n<=16||t>=Si)e._tickround="M";else if(t>=$y&&n<=19||t>=Ih)e._tickround="S";else{var i=e.l2r(r+t).replace(/^-/,"").length;e._tickround=Math.max(n,i)-20,e._tickround<0&&(e._tickround=4)}}else if(Mr(t)||t.charAt(0)==="L"){var o=e.range.map(e.r2d||Number);Mr(t)||(t=Number(t.substr(1))),e._tickround=2-Math.floor(Math.log(t)/Math.LN10+.01);var s=Math.max(Math.abs(o[0]),Math.abs(o[1])),l=Math.floor(Math.log(s)/Math.LN10+.01),u=e.minexponent===void 0?3:e.minexponent;Math.abs(l)>u&&(Hh(e.exponentformat)&&!i0(l)?e._tickexponent=3*Math.round((l-1)/3):e._tickexponent=l)}else e._tickround=null}Ie.tickIncrement=function(e,t,r,a){var n=r?-1:1;if(Mr(t))return qt.increment(e,n*t);var i=t.charAt(0),o=n*Number(t.substr(1));if(i==="M")return qt.incrementMonth(e,o,a);if(i==="L")return Math.log(Math.pow(10,e)+o)/Math.LN10;if(i==="D"){var s=t==="D2"?nP:aP,l=e+n*.01,u=qt.roundUp(qt.mod(l,1),s,r);return Math.floor(l)+Math.log(vn.round(Math.pow(10,u),1))/Math.LN10}throw"unrecognized dtick "+String(t)};Ie.tickFirst=function(e,t){var r=e.r2l||Number,a=qt.simpleMap(e.range,r,void 0,void 0,t),n=a[1]=0&&b<=e._length?m:null};n.xbnd=[g(n.x-.5),g(n.x+e.dtick-.5)]}return n};Ie.hoverLabelText=function(e,t,r){r&&(e=qt.extendFlat({},e,{hoverformat:r}));var a=Array.isArray(t)?t[0]:t,n=Array.isArray(t)?t[1]:void 0;if(n!==void 0&&n!==a)return Ie.hoverLabelText(e,a,r)+" - "+Ie.hoverLabelText(e,n,r);var i=e.type==="log"&&a<=0,o=Ie.tickText(e,e.c2l(i?-a:a),"hover").text;return i?a===0?"0":ns+o:o};function n0(e,t,r){var a=e.tickfont||{};return{x:t,dx:0,dy:0,text:r||"",fontSize:a.size,font:a.family,fontColor:a.color}}function zae(e,t,r,a){var n=e._tickround,i=r&&e.hoverformat||Ie.getTickFormat(e);a&&(Mr(n)?n=4:n={y:"m",m:"d",d:"M",M:"S",S:4}[n]);var o=qt.formatDate(t.x,i,n,e._dateFormat,e.calendar,e._extraFormat),s,l=o.indexOf(` +`);if(l!==-1&&(s=o.substr(l+1),o=o.substr(0,l)),a&&(o==="00:00:00"||o==="00:00"?(o=s,s=""):o.length===8&&(o=o.replace(/:00$/,""))),s)if(r)n==="d"?o+=", "+s:o=s+(o?", "+o:"");else if(!e._inCalcTicks||e._prevDateHead!==s)e._prevDateHead=s,o+="
"+s;else{var u=xf(e),c=e._trueSide||e.side;(!u&&c==="top"||u&&c==="bottom")&&(o+="
")}t.text=o}function Nae(e,t,r,a,n){var i=e.dtick,o=t.x,s=e.tickformat,l=typeof i=="string"&&i.charAt(0);if(n==="never"&&(n=""),a&&l!=="L"&&(i="L3",l="L"),s||l==="L")t.text=bf(Math.pow(10,o),e,n,a);else if(Mr(i)||l==="D"&&qt.mod(o+.01,1)<.1){var u=Math.round(o),c=Math.abs(u),d=e.exponentformat;d==="power"||Hh(d)&&i0(u)?(u===0?t.text=1:u===1?t.text="10":t.text="10"+(u>1?"":ns)+c+"",t.fontSize*=1.25):(d==="e"||d==="E")&&c>2?t.text="1"+d+(u>0?"+":ns)+c:(t.text=bf(Math.pow(10,o),e,"","fakehover"),i==="D1"&&e._id.charAt(0)==="y"&&(t.dy-=t.fontSize/6))}else if(l==="D")t.text=String(Math.round(Math.pow(10,qt.mod(o,1)))),t.fontSize*=.75;else throw"unrecognized dtick "+String(i);if(e.dtick==="D1"){var h=String(t.text).charAt(0);(h==="0"||h==="1")&&(e._id.charAt(0)==="y"?t.dx-=t.fontSize/4:(t.dy+=t.fontSize/2,t.dx+=(e.range[1]>e.range[0]?1:-1)*t.fontSize*(o<0?.5:.25)))}}function Fae(e,t){var r=e._categories[Math.round(t.x)];r===void 0&&(r=""),t.text=String(r)}function jae(e,t,r){var a=Math.round(t.x),n=e._categories[a]||[],i=n[1]===void 0?"":String(n[1]),o=n[0]===void 0?"":String(n[0]);r?t.text=o+" - "+i:(t.text=i,t.text2=o)}function Oae(e,t,r,a,n){n==="never"?n="":e.showexponent==="all"&&Math.abs(t.x/e.dtick)<1e-6&&(n="hide"),t.text=bf(t.x,e,n,a)}function Hae(e,t,r,a,n){if(e.thetaunit==="radians"&&!r){var i=t.x/180;if(i===0)t.text="0";else{var o=Bae(i);if(o[1]>=100)t.text=bf(qt.deg2rad(t.x),e,n,a);else{var s=t.x<0;o[1]===1?o[0]===1?t.text="\u03C0":t.text=o[0]+"\u03C0":t.text=["",o[0],"","\u2044","",o[1],"","\u03C0"].join(""),s&&(t.text=ns+t.text)}}}else t.text=bf(t.x,e,n,a)}function Bae(e){function t(s,l){return Math.abs(s-l)<=1e-6}function r(s,l){return t(l,0)?s:r(l,s%l)}function a(s){for(var l=1;!t(Math.round(s*l)/l,s);)l*=10;return l}var n=a(e),i=e*n,o=Math.abs(r(i,n));return[Math.round(i/o),Math.round(n/o)]}var Uae=["f","p","n","\u03BC","m","","k","M","G","T"];function Hh(e){return e==="SI"||e==="B"}function i0(e){return e>14||e<-15}function bf(e,t,r,a){var n=e<0,i=t._tickround,o=r||t.exponentformat||"B",s=t._tickexponent,l=Ie.getTickFormat(t),u=t.separatethousands;if(a){var c={exponentformat:o,minexponent:t.minexponent,dtick:t.showexponent==="none"?t.dtick:Mr(e)&&Math.abs(e)||1,range:t.showexponent==="none"?t.range.map(t.r2d):[0,e||1]};iP(c),i=(Number(c._tickround)||0)+4,s=c._tickexponent,t.hoverformat&&(l=t.hoverformat)}if(l)return t._numFormat(l)(e).replace(/-/g,ns);var d=Math.pow(10,-i)/2;if(o==="none"&&(s=0),e=Math.abs(e),e"+g+"
":o==="B"&&s===9?e+="B":Hh(o)&&(e+=Uae[s/3+5])}return n?ns+e:e}Ie.getTickFormat=function(e){var t;function r(l){return typeof l!="string"?l:Number(l.replace("M",""))*Cl}function a(l,u){var c=["L","D"];if(typeof l==typeof u){if(typeof l=="number")return l-u;var d=c.indexOf(l.charAt(0)),h=c.indexOf(u.charAt(0));return d===h?Number(l.replace(/(L|D)/g,""))-Number(u.replace(/(L|D)/g,"")):d-h}else return typeof l=="number"?1:-1}function n(l,u,c){var d=c||function(g){return g},h=u[0],p=u[1];return(!h&&typeof h!="number"||d(h)<=d(l))&&(!p&&typeof p!="number"||d(p)>=d(l))}function i(l,u){var c=u[0]===null,d=u[1]===null,h=a(l,u[0])>=0,p=a(l,u[1])<=0;return(c||h)&&(d||p)}var o,s;if(e.tickformatstops&&e.tickformatstops.length>0)switch(e.type){case"date":case"linear":{for(t=0;t0?Pe.bottom-xe:0,De)))),t.automargin){ye={x:0,y:0,r:0,l:0,t:0,b:0};var nt=[0,1];if(l==="x"){if(oe==="b"?ye[oe]=t._depth:(ye[oe]=t._depth=Math.max(Pe.width>0?xe-Pe.top:0,De),nt.reverse()),Pe.width>0){var at=Pe.right-(t._offset+t._length);at>0&&(ye.xr=1,ye.r=at);var ft=t._offset-Pe.left;ft>0&&(ye.xl=0,ye.l=ft)}}else if(oe==="l"?ye[oe]=t._depth=Math.max(Pe.height>0?xe-Pe.left:0,De):(ye[oe]=t._depth=Math.max(Pe.height>0?Pe.right-xe:0,De),nt.reverse()),Pe.height>0){var wt=Pe.bottom-(t._offset+t._length);wt>0&&(ye.yb=0,ye.b=wt);var se=t._offset-Pe.top;se>0&&(ye.yt=1,ye.t=se)}ye[u]=t.anchor==="free"?t.position:t._anchorAxis.domain[nt[0]],t.title.text!==o._dfltTitle[l]&&(ye[oe]+=sP(t)+(t.title.standoff||0)),t.mirror&&t.anchor!=="free"&&(rt={x:0,y:0,r:0,l:0,t:0,b:0},rt[me]=t.linewidth,t.mirror&&t.mirror!==!0&&(rt[me]+=De),t.mirror===!0||t.mirror==="ticks"?rt[u]=t._anchorAxis.domain[nt[1]]:(t.mirror==="all"||t.mirror==="allticks")&&(rt[u]=[t._counterDomainMin,t._counterDomainMax][nt[1]]))}O&&(Ue=mf.getComponentMethod("rangeslider","autoMarginOpts")(e,t)),typeof t.automargin=="string"&&(oP(ye,t.automargin),oP(rt,t.automargin)),Ml.autoMargin(e,l0(t),ye),Ml.autoMargin(e,uP(t),rt),Ml.autoMargin(e,fP(t),Ue)}),!r.skipTitle&&!(O&&t.side==="bottom")&&U.push(function(){return $ae(e,t)}),qt.syncOrAsync(U)}};function oP(e,t){if(!!e){var r=Object.keys(XD).reduce(function(a,n){return t.indexOf(n)!==-1&&XD[n].forEach(function(i){a[i]=1}),a},{});Object.keys(e).forEach(function(a){r[a]||(a.length===1?e[a]=0:delete e[a])})}}function Gae(e,t){var r=[],a,n=function(i,o){var s=i.xbnd[o];s!==null&&r.push(qt.extendFlat({},i,{x:s}))};if(t.length){for(a=0;a60?-.5*B:e.side==="top"!==c?-B:0};else if(M==="y"){if(P=!c&&L==="left"||c&&L==="right",w=P?1:-1,c&&(w*=-1),x=h,_=p*w,k=0,!c&&Math.abs(q)===90&&(q===-90&&L==="left"||q===90&&L==="right"?k=is:k=.5),c){var E=Mr(q)?+q:0;if(E!==0){var F=qt.deg2rad(E);A=Math.abs(Math.sin(F))*is*w,k=0}}b.xFn=function(N){return N.dx+t-(x+N.fontSize*k)*w+A*N.fontSize},b.yFn=function(N){return N.dy+_+N.fontSize*Fh},b.anchorFn=function(N,j){return Mr(j)&&Math.abs(j)===90?"middle":P?"end":"start"},b.heightFn=function(N,j,B){return e.side==="right"&&(j*=-1),j<-30?-B:j<30?-.5*B:0}}return b};function Bh(e){return[e.text,e.x,e.axInfo,e.font,e.fontSize,e.fontColor].join("_")}Ie.drawTicks=function(e,t,r){r=r||{};var a=t._id+"tick",n=[].concat(t.minor&&t.minor.ticks?r.vals.filter(function(o){return o.minor&&!o.noTick}):[]).concat(t.ticks?r.vals.filter(function(o){return!o.minor&&!o.noTick}):[]),i=r.layer.selectAll("path."+a).data(n,Bh);i.exit().remove(),i.enter().append("path").classed(a,1).classed("ticks",1).classed("crisp",r.crisp!==!1).each(function(o){return yf.stroke(vn.select(this),o.minor?t.minor.tickcolor:t.tickcolor)}).style("stroke-width",function(o){return en.crispRound(e,o.minor?t.minor.tickwidth:t.tickwidth,1)+"px"}).attr("d",r.path).style("display",null),Gh(t,[YD]),i.attr("transform",r.transFn)};Ie.drawGrid=function(e,t,r){r=r||{};var a=t._id+"grid",n=t.minor&&t.minor.showgrid,i=n?r.vals.filter(function(x){return x.minor}):[],o=t.showgrid?r.vals.filter(function(x){return!x.minor}):[],s=r.counterAxis;if(s&&Ie.shouldShowZeroLine(e,t,s))for(var l=t.tickmode==="array",u=0;u=0;g--){var m=g?h:p;if(!!m){var b=m.selectAll("path."+a).data(g?o:i,Bh);b.exit().remove(),b.enter().append("path").classed(a,1).classed("crisp",r.crisp!==!1),b.attr("transform",r.transFn).attr("d",r.path).each(function(x){return yf.stroke(vn.select(this),x.minor?t.minor.gridcolor:t.gridcolor||"#ddd")}).style("stroke-dasharray",function(x){return en.dashStyle(x.minor?t.minor.griddash:t.griddash,x.minor?t.minor.gridwidth:t.gridwidth)}).style("stroke-width",function(x){return(x.minor?d:t._gw)+"px"}).style("display",null),typeof r.path=="function"&&b.attr("d",r.path)}}Gh(t,[Ky,Jy])};Ie.drawZeroLine=function(e,t,r){r=r||r;var a=t._id+"zl",n=Ie.shouldShowZeroLine(e,t,r.counterAxis),i=r.layer.selectAll("path."+a).data(n?[{x:0,id:t._id}]:[]);i.exit().remove(),i.enter().append("path").classed(a,1).classed("zl",1).classed("crisp",r.crisp!==!1).each(function(){r.layer.selectAll("path").sort(function(o,s){return Mae(o.id,s.id)})}),i.attr("transform",r.transFn).attr("d",r.path).call(yf.stroke,t.zerolinecolor||yf.defaultLine).style("stroke-width",en.crispRound(e,t.zerolinewidth,t._gw||1)+"px").style("display",null),Gh(t,[Qy])};Ie.drawLabels=function(e,t,r){r=r||{};var a=e._fullLayout,n=t._id,i=n.charAt(0),o=r.cls||n+"tick",s=r.vals.filter(function(w){return w.text}),l=r.labelFns,u=r.secondary?0:t.tickangle,c=(t._prevTickAngles||{})[o],d=r.layer.selectAll("g."+o).data(t.showticklabels?s:[],Bh),h=[];d.enter().append("g").classed(o,1).append("text").attr("text-anchor","middle").each(function(w){var A=vn.select(this),L=e._promises.length;A.call(gf.positionText,l.xFn(w),l.yFn(w)).call(en.font,w.font,w.fontSize,w.fontColor).text(w.text).call(gf.convertToTspans,e),e._promises[L]?h.push(e._promises.pop().then(function(){p(A,u)})):p(A,u)}),Gh(t,[ZD]),d.exit().remove(),r.repositionOnUpdate&&d.each(function(w){vn.select(this).select("text").call(gf.positionText,l.xFn(w),l.yFn(w))});function p(w,A){w.each(function(L){var M=vn.select(this),q=M.select(".text-math-group"),P=l.anchorFn(L,A),E=r.transFn.call(M.node(),L)+(Mr(A)&&+A!=0?" rotate("+A+","+l.xFn(L)+","+(l.yFn(L)-L.fontSize/2)+")":""),F=gf.lineCount(M),N=jh*L.fontSize,j=l.heightFn(L,Mr(A)?+A:0,(F-1)*N);if(j&&(E+=Sl(0,j)),q.empty()){var B=M.select("text");B.attr({transform:E,"text-anchor":P}),B.style("opacity",1),t._adjustTickLabelsOverflow&&t._adjustTickLabelsOverflow()}else{var W=en.bBox(q.node()).width,V=W*{end:-.5,start:.5}[P];q.attr("transform",E+Sl(V,0))}})}t._adjustTickLabelsOverflow=function(){var w=t.ticklabeloverflow;if(!(!w||w==="allow")){var A=w.indexOf("hide")!==-1,L=t._id.charAt(0)==="x",M=0,q=L?e._fullLayout.width:e._fullLayout.height;if(w.indexOf("domain")!==-1){var P=qt.simpleMap(t.range,t.r2l);M=t.l2p(P[0])+t._offset,q=t.l2p(P[1])+t._offset}var E=Math.min(M,q),F=Math.max(M,q),N=t.side,j=1/0,B=-1/0;d.each(function(Z){var $=vn.select(this),ne=$.select(".text-math-group");if(ne.empty()){var te=en.bBox($.node()),de=0;L?(te.right>F||te.leftF||te.top+(t.tickangle?0:Z.fontSize/4)t["_visibleLabelMin_"+P._id]?Z.style("display","none"):F.K==="tick"&&!E&&Z.style("display",null)})})})})},p(d,c+1?c:u);function g(){return h.length&&Promise.all(h)}var m=null;function b(){if(p(d,u),s.length&&i==="x"&&!Mr(u)&&(t.type!=="log"||String(t.dtick).charAt(0)!=="D")){m=0;var w=0,A=[],L;if(d.each(function(te){w=Math.max(w,te.fontSize);var de=t.l2p(te.x),be=s0(this),re=en.bBox(be.node());A.push({top:0,bottom:10,height:10,left:de-re.width/2,right:de+re.width/2+2,width:re.width+2})}),(t.tickson==="boundaries"||t.showdividers)&&!r.secondary){var M=2;for(t.ticks&&(M+=t.tickwidth/2),L=0;L1&&r1)for(n=1;n=n.min&&e{var rne={left:0,top:0};dP.exports=ane;function ane(e,t,r){t=t||e.currentTarget||e.srcElement,Array.isArray(r)||(r=[0,0]);var a=e.clientX||0,n=e.clientY||0,i=nne(t);return r[0]=a-i.left,r[1]=n-i.top,r}function nne(e){return e===window||e===document||e===document.body?rne:e.getBoundingClientRect()}});var c0=I((dxe,vP)=>{"use strict";var ine=Eg();function one(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch(r){e=!1}return e}vP.exports=ine&&one()});var mP=I((hxe,pP)=>{"use strict";pP.exports=function(t,r,a,n,i){var o=(t-a)/(n-a),s=o+r/(n-a),l=(o+s)/2;return i==="left"||i==="bottom"?o:i==="center"||i==="middle"?l:i==="right"||i==="top"?s:o<2/3-l?o:s>4/3-l?s:l}});var bP=I((vxe,yP)=>{"use strict";var gP=Re(),sne=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];yP.exports=function(t,r,a,n){return a==="left"?t=0:a==="center"?t=1:a==="right"?t=2:t=gP.constrain(Math.floor(t*3),0,2),n==="bottom"?r=0:n==="middle"?r=1:n==="top"?r=2:r=gP.constrain(Math.floor(r*3),0,2),sne[r][t]}});var _P=I((pxe,xP)=>{"use strict";var lne=ef(),une=Jd(),fne=Ud().getGraphDiv,cne=Bu(),d0=xP.exports={};d0.wrapped=function(e,t,r){e=fne(e),e._fullLayout&&une.clear(e._fullLayout._uid+cne.HOVERID),d0.raw(e,t,r)};d0.raw=function(t,r){var a=t._fullLayout,n=t._hoverdata;r||(r={}),!(r.target&&!t._dragged&&lne.triggerHandler(t,"plotly_beforehover",r)===!1)&&(a._hoverlayer.selectAll("g").remove(),a._hoverlayer.selectAll("line").remove(),a._hoverlayer.selectAll("circle").remove(),t._hoverdata=void 0,r.target&&n&&t.emit("plotly_unhover",{event:r,points:n}))}});var Nn=I((mxe,AP)=>{"use strict";var dne=hP(),h0=zg(),hne=c0(),vne=Re().removeElement,pne=ga(),os=AP.exports={};os.align=mP();os.getCursor=bP();var wP=_P();os.unhover=wP.wrapped;os.unhoverRaw=wP.raw;os.init=function(t){var r=t.gd,a=1,n=r._context.doubleClickDelay,i=t.element,o,s,l,u,c,d,h,p;r._mouseDownTime||(r._mouseDownTime=0),i.style.pointerEvents="all",i.onmousedown=b,hne?(i._ontouchstart&&i.removeEventListener("touchstart",i._ontouchstart),i._ontouchstart=b,i.addEventListener("touchstart",b,{passive:!1})):i.ontouchstart=b;function g(k,w,A){return Math.abs(k)n&&(a=Math.max(a-1,1)),r._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(a,d),!p){var w;try{w=new MouseEvent("click",k)}catch(L){var A=v0(k);w=document.createEvent("MouseEvents"),w.initMouseEvent("click",k.bubbles,k.cancelable,k.view,k.detail,k.screenX,k.screenY,A[0],A[1],k.ctrlKey,k.altKey,k.shiftKey,k.metaKey,k.button,k.relatedTarget)}h.dispatchEvent(w)}r._dragging=!1,r._dragged=!1}};function TP(){var e=document.createElement("div");e.className="dragcover";var t=e.style;return t.position="fixed",t.left=0,t.right=0,t.top=0,t.bottom=0,t.zIndex=999999999,t.background="none",document.body.appendChild(e),e}os.coverSlip=TP;function v0(e){return dne(e.changedTouches?e.changedTouches[0]:e,document.body)}});var oo=I((gxe,kP)=>{"use strict";kP.exports=function(t,r){(t.attr("class")||"").split(" ").forEach(function(a){a.indexOf("cursor-")===0&&t.classed(a,!1)}),r&&t.classed("cursor-"+r,!0)}});var CP=I((yxe,SP)=>{"use strict";var p0=oo(),_f="data-savedcursor",MP="!!";SP.exports=function(t,r){var a=t.attr(_f);if(r){if(!a){for(var n=(t.attr("class")||"").split(" "),i=0;i{"use strict";var m0=La(),mne=gi();LP.exports={bgcolor:{valType:"color",editType:"legend",description:["Sets the legend background color.","Defaults to `layout.paper_bgcolor`."].join(" ")},bordercolor:{valType:"color",dflt:mne.defaultLine,editType:"legend",description:"Sets the color of the border enclosing the legend."},borderwidth:{valType:"number",min:0,dflt:0,editType:"legend",description:"Sets the width (in px) of the border enclosing the legend."},font:m0({editType:"legend",description:"Sets the font used to text the legend items."}),grouptitlefont:m0({editType:"legend",description:["Sets the font for group titles in legend.","Defaults to `legend.font` with its size increased about 10%."].join(" ")}),orientation:{valType:"enumerated",values:["v","h"],dflt:"v",editType:"legend",description:"Sets the orientation of the legend."},traceorder:{valType:"flaglist",flags:["reversed","grouped"],extras:["normal"],editType:"legend",description:["Determines the order at which the legend items are displayed.","If *normal*, the items are displayed top-to-bottom in the same","order as the input data.","If *reversed*, the items are displayed in the opposite order","as *normal*.","If *grouped*, the items are displayed in groups","(when a trace `legendgroup` is provided).","if *grouped+reversed*, the items are displayed in the opposite order","as *grouped*."].join(" ")},tracegroupgap:{valType:"number",min:0,dflt:10,editType:"legend",description:["Sets the amount of vertical space (in px) between legend groups."].join(" ")},entrywidth:{valType:"number",min:0,editType:"legend",description:["Sets the width (in px or fraction) of the legend.","Use 0 to size the entry based on the text width,","when `entrywidthmode` is set to *pixels*."].join(" ")},entrywidthmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"pixels",editType:"legend",description:"Determines what entrywidth means."},itemsizing:{valType:"enumerated",values:["trace","constant"],dflt:"trace",editType:"legend",description:["Determines if the legend items symbols scale with their corresponding *trace* attributes","or remain *constant* independent of the symbol size on the graph."].join(" ")},itemwidth:{valType:"number",min:30,dflt:30,editType:"legend",description:"Sets the width (in px) of the legend item symbols (the part other than the title.text)."},itemclick:{valType:"enumerated",values:["toggle","toggleothers",!1],dflt:"toggle",editType:"legend",description:["Determines the behavior on legend item click.","*toggle* toggles the visibility of the item clicked on the graph.","*toggleothers* makes the clicked item the sole visible item on the graph.","*false* disables legend item click interactions."].join(" ")},itemdoubleclick:{valType:"enumerated",values:["toggle","toggleothers",!1],dflt:"toggleothers",editType:"legend",description:["Determines the behavior on legend item double-click.","*toggle* toggles the visibility of the item clicked on the graph.","*toggleothers* makes the clicked item the sole visible item on the graph.","*false* disables legend item double-click interactions."].join(" ")},groupclick:{valType:"enumerated",values:["toggleitem","togglegroup"],dflt:"togglegroup",editType:"legend",description:["Determines the behavior on legend group item click.","*toggleitem* toggles the visibility of the individual item clicked on the graph.","*togglegroup* toggles the visibility of all items in the same legendgroup as the item clicked on the graph."].join(" ")},x:{valType:"number",min:-2,max:3,editType:"legend",description:["Sets the x position (in normalized coordinates) of the legend.","Defaults to *1.02* for vertical legends and","defaults to *0* for horizontal legends."].join(" ")},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",editType:"legend",description:["Sets the legend's horizontal position anchor.","This anchor binds the `x` position to the *left*, *center*","or *right* of the legend.","Value *auto* anchors legends to the right for `x` values greater than or equal to 2/3,","anchors legends to the left for `x` values less than or equal to 1/3 and","anchors legends with respect to their center otherwise."].join(" ")},y:{valType:"number",min:-2,max:3,editType:"legend",description:["Sets the y position (in normalized coordinates) of the legend.","Defaults to *1* for vertical legends,","defaults to *-0.1* for horizontal legends on graphs w/o range sliders and","defaults to *1.1* for horizontal legends on graph with one or multiple range sliders."].join(" ")},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],editType:"legend",description:["Sets the legend's vertical position anchor","This anchor binds the `y` position to the *top*, *middle*","or *bottom* of the legend.","Value *auto* anchors legends at their bottom for `y` values less than or equal to 1/3,","anchors legends to at their top for `y` values greater than or equal to 2/3 and","anchors legends with respect to their middle otherwise."].join(" ")},uirevision:{valType:"any",editType:"none",description:["Controls persistence of legend-driven changes in trace and pie label","visibility. Defaults to `layout.uirevision`."].join(" ")},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"legend",description:["Sets the vertical alignment of the symbols with respect to their associated text."].join(" ")},title:{text:{valType:"string",dflt:"",editType:"legend",description:["Sets the title of the legend."].join(" ")},font:m0({editType:"legend",description:["Sets this legend's title font.","Defaults to `legend.font` with its size increased about 20%."].join(" ")}),side:{valType:"enumerated",values:["top","left","top left"],editType:"legend",description:["Determines the location of legend's title","with respect to the legend items.","Defaulted to *top* with `orientation` is *h*.","Defaulted to *left* with `orientation` is *v*.","The *top left* options could be used to expand","legend area in both x and y sides."].join(" ")},editType:"legend"},editType:"legend"}});var Vh=I(Wh=>{"use strict";Wh.isGrouped=function(t){return(t.traceorder||"").indexOf("grouped")!==-1};Wh.isVertical=function(t){return t.orientation!=="h"};Wh.isReversed=function(t){return(t.traceorder||"").indexOf("reversed")!==-1}});var x0=I((_xe,qP)=>{"use strict";var y0=bt(),Fn=Re(),gne=ar(),yne=Zi(),bne=g0(),xne=ol(),b0=Vh();qP.exports=function(t,r,a){var n=t.legend||{},i=gne.newContainer(r,"legend");function o(q,P){return Fn.coerce(n,i,bne,q,P)}for(var s,l=function(q,P){var E=s._input,F=s;return Fn.coerce(E,F,yne,q,P)},u=r.font||{},c=Fn.coerceFont(o,"grouptitlefont",Fn.extendFlat({},u,{size:Math.round(u.size*1.1)})),d=0,h=!1,p="normal",g=0;g1);if(m===!1&&(r.legend=void 0),!(m===!1&&!n.uirevision)&&(o("uirevision",r.uirevision),m!==!1)){o("bgcolor",r.paper_bgcolor),o("bordercolor"),o("borderwidth");var b=Fn.coerceFont(o,"font",r.font),x=o("orientation"),_=x==="h",k,w,A;_?(k=0,y0.getComponentMethod("rangeslider","isVisible")(t.xaxis)?(w=1.1,A="bottom"):(w=-.1,A="top")):(k=1.02,w=1,A="auto"),o("traceorder",p),b0.isGrouped(r.legend)&&o("tracegroupgap"),o("entrywidth"),o("entrywidthmode"),o("itemsizing"),o("itemwidth"),o("itemclick"),o("itemdoubleclick"),o("groupclick"),o("x",k),o("xanchor"),o("y",w),o("yanchor",A),o("valign"),Fn.noneOrAll(n,i,["x","y"]);var L=o("title.text");if(L){o("title.side",_?"left":"top");var M=Fn.extendFlat({},b,{size:Fn.bigFont(b.size)});Fn.coerceFont(o,"title.font",M)}}}});var PP=I((wxe,DP)=>{"use strict";var _0=Re(),ss=bt(),w0=!0;DP.exports=function(t,r,a){var n=r._fullLayout;if(r._dragged||r._editing)return;var i=n.legend.itemclick,o=n.legend.itemdoubleclick,s=n.legend.groupclick;a===1&&i==="toggle"&&o==="toggleothers"&&w0&&r.data&&r._context.showTips&&_0.notifier(_0._(r,"Double-click on legend to isolate one trace"),"long"),w0=!1;var l;if(a===1?l=i:a===2&&(l=o),!l)return;var u=s==="togglegroup",c=n.hiddenlabels?n.hiddenlabels.slice():[],d=t.data()[0][0];if(d.groupTitle&&d.noClick)return;var h=r._fullData,p=d.trace,g=p.legendgroup,m,b,x,_,k,w,A={},L=[],M=[],q=[];function P(re,ge,ee){var Ae=L.indexOf(re),ke=A[ge];return ke||(ke=A[ge]=[]),L.indexOf(re)===-1&&(L.push(re),Ae=L.length-1),ke[Ae]=ee,Ae}function E(re,ge){if(!(d.groupTitle&&!u)){var ee=re._fullInput;if(ss.hasTransform(ee,"groupby")){var Ae=M[ee.index];if(!Ae){var ke=ss.getTransformIndices(ee,"groupby"),qe=ke[ke.length-1];Ae=_0.keyedContainer(ee,"transforms["+qe+"].styles","target","value.visible"),M[ee.index]=Ae}var Le=Ae.get(re._group);Le===void 0&&(Le=!0),Le!==!1&&Ae.set(re._group,ge),q[ee.index]=P(ee.index,"visible",ee.visible!==!1)}else{var Se=ee.visible===!1?!1:ge;P(ee.index,"visible",Se)}}}if(ss.traceIs(p,"pie-like")){var F=d.label,N=c.indexOf(F);l==="toggle"?N===-1?c.push(F):c.splice(N,1):l==="toggleothers"&&(c=[],r.calcdata[0].forEach(function(re){F!==re.label&&c.push(re.label)}),r._fullLayout.hiddenlabels&&r._fullLayout.hiddenlabels.length===c.length&&N===-1&&(c=[])),ss.call("_guiRelayout",r,"hiddenlabels",c)}else{var j=g&&g.length,B=[],W;if(j)for(m=0;m{"use strict";RP.exports={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:"#808BA4",scrollBarMargin:4,scrollBarEnterAttrs:{rx:20,ry:3,width:0,height:0},titlePad:2,itemGap:5}});var zP=I((Axe,IP)=>{"use strict";var EP=bt(),A0=Vh();IP.exports=function(t,r){var a=r._inHover,n=A0.isGrouped(r),i=A0.isReversed(r),o={},s=[],l=!1,u={},c=0,d=0,h,p;function g(W,V){if(W===""||!A0.isGrouped(r)){var Y="~~i"+c;s.push(Y),o[Y]=[V],c++}else s.indexOf(W)===-1?(s.push(W),l=!0,o[W]=[V]):o[W].push(V)}for(h=0;hq&&(M=q)}A[h][0]._groupMinRank=M,A[h][0]._preGroupSort=h}var P=function(W,V){return W[0]._groupMinRank-V[0]._groupMinRank||W[0]._preGroupSort-V[0]._preGroupSort},E=function(W,V){return W.trace.legendrank-V.trace.legendrank||W._preSort-V._preSort};for(A.forEach(function(W,V){W[0]._preGroupSort=V}),A.sort(P),h=0;h{"use strict";var NP=Re();function FP(e){return e.indexOf("e")!==-1?e.replace(/[.]?0+e/,"e"):e.indexOf(".")!==-1?e.replace(/[.]?0+$/,""):e}ls.formatPiePercent=function(t,r){var a=FP((t*100).toPrecision(3));return NP.numSeparate(a,r)+"%"};ls.formatPieValue=function(t,r){var a=FP(t.toPrecision(10));return NP.numSeparate(a,r)};ls.getFirstFilled=function(t,r){if(!!Array.isArray(t))for(var a=0;a{"use strict";var M0=It(),jP=k0().castOption;OP.exports=function(t,r,a){var n=a.marker.line,i=jP(n.color,r.pts)||M0.defaultLine,o=jP(n.width,r.pts)||0;t.style("stroke-width",o).call(M0.fill,r.color).call(M0.stroke,i)}});var q0=I((Sxe,YP)=>{"use strict";var xa=Ft(),S0=bt(),ua=Re(),BP=ua.strTranslate,Pa=Kt(),mn=It(),C0=hn().extractOpts,Yh=Ja(),_ne=HP(),wne=k0().castOption,Tne=T0(),UP=12,GP=5,us=2,Ane=10,Ll=5;YP.exports=function(t,r,a){var n=r._fullLayout;a||(a=n.legend);var i=a.itemsizing==="constant",o=a.itemwidth,s=(o+Tne.itemGap*2)/2,l=BP(s,0),u=function(M,q,P,E){var F;if(M+1)F=M;else if(q&&q.width>0)F=q.width;else return 0;return i?E:Math.min(F,P)};t.each(function(M){var q=xa.select(this),P=ua.ensureSingle(q,"g","layers");P.style("opacity",M[0].trace.opacity);var E=a.valign,F=M[0].lineHeight,N=M[0].height;if(E==="middle"||!F||!N)P.attr("transform",null);else{var j={top:1,bottom:-1}[E],B=j*(.5*(F-N+3));P.attr("transform",BP(0,B))}var W=P.selectAll("g.legendfill").data([M]);W.enter().append("g").classed("legendfill",!0);var V=P.selectAll("g.legendlines").data([M]);V.enter().append("g").classed("legendlines",!0);var Y=P.selectAll("g.legendsymbols").data([M]);Y.enter().append("g").classed("legendsymbols",!0),Y.selectAll("g.legendpoints").data([M]).enter().append("g").classed("legendpoints",!0)}).each(L).each(h).each(g).each(p).each(b).each(w).each(k).each(c).each(d).each(x).each(_);function c(M){var q=WP(M),P=q.showFill,E=q.showLine,F=q.showGradientLine,N=q.showGradientFill,j=q.anyFill,B=q.anyLine,W=M[0],V=W.trace,Y,Z,$=C0(V),ne=$.colorscale,te=$.reversescale,de=function(qe){if(qe.size())if(P)Pa.fillGroupStyle(qe,r);else{var Le="legendfill-"+V.uid;Pa.gradient(qe,r,Le,L0(te),ne,"fill")}},be=function(qe){if(qe.size()){var Le="legendline-"+V.uid;Pa.lineGroupStyle(qe),Pa.gradient(qe,r,Le,L0(te),ne,"stroke")}},re=Yh.hasMarkers(V)||!j?"M5,0":B?"M5,-2":"M5,-3",ge=xa.select(this),ee=ge.select(".legendfill").selectAll("path").data(P||N?[M]:[]);if(ee.enter().append("path").classed("js-fill",!0),ee.exit().remove(),ee.attr("d",re+"h"+o+"v6h-"+o+"z").call(de),E||F){var Ae=u(void 0,V.line,Ane,GP);Z=ua.minExtend(V,{line:{width:Ae}}),Y=[ua.minExtend(W,{trace:Z})]}var ke=ge.select(".legendlines").selectAll("path").data(E||F?[Y]:[]);ke.enter().append("path").classed("js-line",!0),ke.exit().remove(),ke.attr("d",re+(F?"l"+o+",0.0001":"h"+o)).call(E?Pa.lineGroupStyle:be)}function d(M){var q=WP(M),P=q.anyFill,E=q.anyLine,F=q.showLine,N=q.showMarker,j=M[0],B=j.trace,W=!N&&!E&&!P&&Yh.hasText(B),V,Y;function Z(ee,Ae,ke,qe){var Le=ua.nestedProperty(B,ee).get(),Se=ua.isArrayOrTypedArray(Le)&&Ae?Ae(Le):Le;if(i&&Se&&qe!==void 0&&(Se=qe),ke){if(Seke[1])return ke[1]}return Se}function $(ee){return j._distinct&&j.index&&ee[j.index]?ee[j.index]:ee[0]}if(N||W||F){var ne={},te={};if(N){ne.mc=Z("marker.color",$),ne.mx=Z("marker.symbol",$),ne.mo=Z("marker.opacity",ua.mean,[.2,1]),ne.mlc=Z("marker.line.color",$),ne.mlw=Z("marker.line.width",ua.mean,[0,5],us),te.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var de=Z("marker.size",ua.mean,[2,16],UP);ne.ms=de,te.marker.size=de}F&&(te.line={width:Z("line.width",$,[0,10],GP)}),W&&(ne.tx="Aa",ne.tp=Z("textposition",$),ne.ts=10,ne.tc=Z("textfont.color",$),ne.tf=Z("textfont.family",$)),V=[ua.minExtend(j,ne)],Y=ua.minExtend(B,te),Y.selectedpoints=null,Y.texttemplate=null}var be=xa.select(this).select("g.legendpoints"),re=be.selectAll("path.scatterpts").data(N?V:[]);re.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform",l),re.exit().remove(),re.call(Pa.pointStyle,Y,r),N&&(V[0].mrc=3);var ge=be.selectAll("g.pointtext").data(W?V:[]);ge.enter().append("g").classed("pointtext",!0).append("text").attr("transform",l),ge.exit().remove(),ge.selectAll("text").call(Pa.textPointStyle,Y,r)}function h(M){var q=M[0].trace,P=q.type==="waterfall";if(M[0]._distinct&&P){var E=M[0].trace[M[0].dir].marker;return M[0].mc=E.color,M[0].mlw=E.line.width,M[0].mlc=E.line.color,m(M,this,"waterfall")}var F=[];q.visible&&P&&(F=M[0].hasTotals?[["increasing","M-6,-6V6H0Z"],["totals","M6,6H0L-6,-6H-0Z"],["decreasing","M6,6V-6H0Z"]]:[["increasing","M-6,-6V6H6Z"],["decreasing","M6,6V-6H-6Z"]]);var N=xa.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(F);N.enter().append("path").classed("legendwaterfall",!0).attr("transform",l).style("stroke-miterlimit",1),N.exit().remove(),N.each(function(j){var B=xa.select(this),W=q[j[0]].marker,V=u(void 0,W.line,Ll,us);B.attr("d",j[1]).style("stroke-width",V+"px").call(mn.fill,W.color),V&&B.call(mn.stroke,W.line.color)})}function p(M){m(M,this)}function g(M){m(M,this,"funnel")}function m(M,q,P){var E=M[0].trace,F=E.marker||{},N=F.line||{},j=P?E.visible&&E.type===P:S0.traceIs(E,"bar"),B=xa.select(q).select("g.legendpoints").selectAll("path.legend"+P).data(j?[M]:[]);B.enter().append("path").classed("legend"+P,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",l),B.exit().remove(),B.each(function(W){var V=xa.select(this),Y=W[0],Z=u(Y.mlw,F.line,Ll,us);V.style("stroke-width",Z+"px");var $=Y.mcc;if(!a._inHover&&"mc"in Y){var ne=C0(F),te=ne.mid;te===void 0&&(te=(ne.max+ne.min)/2),$=Pa.tryColorscale(F,"")(te)}var de=$||Y.mc||F.color,be=F.pattern,re=be&&Pa.getPatternAttr(be.shape,0,"");if(re){var ge=Pa.getPatternAttr(be.bgcolor,0,null),ee=Pa.getPatternAttr(be.fgcolor,0,null),Ae=be.fgopacity,ke=VP(be.size,8,10),qe=VP(be.solidity,.5,1),Le="legend-"+E.uid;V.call(Pa.pattern,"legend",r,Le,re,ke,qe,$,be.fillmode,ge,ee,Ae)}else V.call(mn.fill,de);Z&&mn.stroke(V,Y.mlc||N.color)})}function b(M){var q=M[0].trace,P=xa.select(this).select("g.legendpoints").selectAll("path.legendbox").data(q.visible&&S0.traceIs(q,"box-violin")?[M]:[]);P.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform",l),P.exit().remove(),P.each(function(){var E=xa.select(this);if((q.boxpoints==="all"||q.points==="all")&&mn.opacity(q.fillcolor)===0&&mn.opacity((q.line||{}).color)===0){var F=ua.minExtend(q,{marker:{size:i?UP:ua.constrain(q.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});P.call(Pa.pointStyle,F,r)}else{var N=u(void 0,q.line,Ll,us);E.style("stroke-width",N+"px").call(mn.fill,q.fillcolor),N&&mn.stroke(E,q.line.color)}})}function x(M){var q=M[0].trace,P=xa.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(q.visible&&q.type==="candlestick"?[M,M]:[]);P.enter().append("path").classed("legendcandle",!0).attr("d",function(E,F){return F?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"}).attr("transform",l).style("stroke-miterlimit",1),P.exit().remove(),P.each(function(E,F){var N=xa.select(this),j=q[F?"increasing":"decreasing"],B=u(void 0,j.line,Ll,us);N.style("stroke-width",B+"px").call(mn.fill,j.fillcolor),B&&mn.stroke(N,j.line.color)})}function _(M){var q=M[0].trace,P=xa.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(q.visible&&q.type==="ohlc"?[M,M]:[]);P.enter().append("path").classed("legendohlc",!0).attr("d",function(E,F){return F?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"}).attr("transform",l).style("stroke-miterlimit",1),P.exit().remove(),P.each(function(E,F){var N=xa.select(this),j=q[F?"increasing":"decreasing"],B=u(void 0,j.line,Ll,us);N.style("fill","none").call(Pa.dashLine,j.line.dash,B),B&&mn.stroke(N,j.line.color)})}function k(M){A(M,this,"pie")}function w(M){A(M,this,"funnelarea")}function A(M,q,P){var E=M[0],F=E.trace,N=P?F.visible&&F.type===P:S0.traceIs(F,P),j=xa.select(q).select("g.legendpoints").selectAll("path.legend"+P).data(N?[M]:[]);if(j.enter().append("path").classed("legend"+P,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",l),j.exit().remove(),j.size()){var B=(F.marker||{}).line,W=u(wne(B.width,E.pts),B,Ll,us),V=ua.minExtend(F,{marker:{line:{width:W}}});V.marker.line.color=B.color;var Y=ua.minExtend(E,{trace:V});_ne(j,Y,V)}}function L(M){var q=M[0].trace,P,E=[];if(q.visible)switch(q.type){case"histogram2d":case"heatmap":E=[["M-15,-2V4H15V-2Z"]],P=!0;break;case"choropleth":case"choroplethmapbox":E=[["M-6,-6V6H6V-6Z"]],P=!0;break;case"densitymapbox":E=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],P="radial";break;case"cone":E=[["M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z"],["M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z"],["M-6,-2 A2,2 0 0,0 -6,2 L6,0Z"]],P=!1;break;case"streamtube":E=[["M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z"],["M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z"],["M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z"]],P=!1;break;case"surface":E=[["M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z"],["M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z"]],P=!0;break;case"mesh3d":E=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],P=!1;break;case"volume":E=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],P=!0;break;case"isosurface":E=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]],P=!1;break}var F=xa.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(E);F.enter().append("path").classed("legend3dandfriends",!0).attr("transform",l).style("stroke-miterlimit",1),F.exit().remove(),F.each(function(N,j){var B=xa.select(this),W=C0(q),V=W.colorscale,Y=W.reversescale,Z=function(de){if(de.size()){var be="legendfill-"+q.uid;Pa.gradient(de,r,be,L0(Y,P==="radial"),V,"fill")}},$;if(V){if(!P){var te=V.length;$=j===0?V[Y?te-1:0][1]:j===1?V[Y?0:te-1][1]:V[Math.floor((te-1)/2)][1]}}else{var ne=q.vertexcolor||q.facecolor||q.color;$=ua.isArrayOrTypedArray(ne)?ne[j]||ne[0]:ne}B.attr("d",N[0]),$?B.call(mn.fill,$):B.call(Z)})}};function L0(e,t){var r=t?"radial":"horizontal";return r+(e?"":"reversed")}function WP(e){var t=e[0].trace,r=t.contours,a=Yh.hasLines(t),n=Yh.hasMarkers(t),i=t.visible&&t.fill&&t.fill!=="none",o=!1,s=!1;if(r){var l=r.coloring;l==="lines"?o=!0:a=l==="none"||l==="heatmap"||r.showlines,r.type==="constraint"?i=r._operation!=="=":(l==="fill"||l==="heatmap")&&(s=!0)}return{showMarker:n,showLine:a,showFill:i,showGradientLine:o,showGradientFill:s,anyLine:a||o,anyFill:i||s}}function VP(e,t,r){return e&&ua.isArrayOrTypedArray(e)?t:e>r?r:e}});var z0=I((Cxe,tR)=>{"use strict";var tn=Ft(),Sr=Re(),D0=Nr(),fs=bt(),ZP=ef(),P0=Nn(),Fr=Kt(),Zh=It(),ql=Ga(),XP=PP(),aa=T0(),R0=qa(),kne=R0.LINE_SPACING,Xh=R0.FROM_TL,$P=R0.FROM_BR,QP=zP(),Mne=q0(),KP=Vh(),Dl=1;tR.exports=function(t,r){return r||(r=t._fullLayout.legend||{}),Sne(t,r)};function Sne(e,t){var r=e._fullLayout,a="legend"+r._uid,n,i=t._inHover;if(i?(n=t.layer,a+="-hover"):n=r._infolayer,!!n){e._legendMouseDownTime||(e._legendMouseDownTime=0);var o;if(i){if(!t.entries)return;o=QP(t.entries,t)}else{if(!e.calcdata)return;o=r.showlegend&&QP(e.calcdata,t)}var s=r.hiddenlabels||[];if(!i&&(!r.showlegend||!o.length))return n.selectAll(".legend").remove(),r._topdefs.select("#"+a).remove(),D0.autoMargin(e,"legend");var l=Sr.ensureSingle(n,"g","legend",function(x){i||x.attr("pointer-events","all")}),u=Sr.ensureSingleById(r._topdefs,"clipPath",a,function(x){x.append("rect")}),c=Sr.ensureSingle(l,"rect","bg",function(x){x.attr("shape-rendering","crispEdges")});c.call(Zh.stroke,t.bordercolor).call(Zh.fill,t.bgcolor).style("stroke-width",t.borderwidth+"px");var d=Sr.ensureSingle(l,"g","scrollbox"),h=t.title;if(t._titleWidth=0,t._titleHeight=0,h.text){var p=Sr.ensureSingle(d,"text","legendtitletext");p.attr("text-anchor","start").call(Fr.font,h.font).text(h.text),Qh(p,d,e,t,Dl)}else d.selectAll(".legendtitletext").remove();var g=Sr.ensureSingle(l,"rect","scrollbar",function(x){x.attr(aa.scrollBarEnterAttrs).call(Zh.fill,aa.scrollBarColor)}),m=d.selectAll("g.groups").data(o);m.enter().append("g").attr("class","groups"),m.exit().remove();var b=m.selectAll("g.traces").data(Sr.identity);b.enter().append("g").attr("class","traces"),b.exit().remove(),b.style("opacity",function(x){var _=x[0].trace;return fs.traceIs(_,"pie-like")?s.indexOf(x[0].label)!==-1?.5:1:_.visible==="legendonly"?.5:1}).each(function(){tn.select(this).call(Cne,e,t)}).call(Mne,e,t).each(function(){i||tn.select(this).call(Lne,e)}),Sr.syncOrAsync([D0.previousPromises,function(){return Pne(e,m,b,t)},function(){var x=r._size,_=t.borderwidth;if(!i){var k=Rne(e);if(k)return;var w=x.l+x.w*t.x-Xh[E0(t)]*t._width,A=x.t+x.h*(1-t.y)-Xh[I0(t)]*t._effHeight;if(r.margin.autoexpand){var L=w,M=A;w=Sr.constrain(w,0,r.width-t._width),A=Sr.constrain(A,0,r.height-t._effHeight),w!==L&&Sr.log("Constrain legend.x to make legend fit inside graph"),A!==M&&Sr.log("Constrain legend.y to make legend fit inside graph")}Fr.setTranslate(l,w,A)}if(g.on(".drag",null),l.on("wheel",null),i||t._height<=t._maxHeight||e._context.staticPlot){var q=t._effHeight;i&&(q=t._height),c.attr({width:t._width-_,height:q-_,x:_/2,y:_/2}),Fr.setTranslate(d,0,0),u.select("rect").attr({width:t._width-2*_,height:q-2*_,x:_,y:_}),Fr.setClipUrl(d,a,e),Fr.setRect(g,0,0,0,0),delete t._scrollY}else{var P=Math.max(aa.scrollBarMinHeight,t._effHeight*t._effHeight/t._height),E=t._effHeight-P-2*aa.scrollBarMargin,F=t._height-t._effHeight,N=E/F,j=Math.min(t._scrollY||0,F);c.attr({width:t._width-2*_+aa.scrollBarWidth+aa.scrollBarMargin,height:t._effHeight-_,x:_/2,y:_/2}),u.select("rect").attr({width:t._width-2*_+aa.scrollBarWidth+aa.scrollBarMargin,height:t._effHeight-2*_,x:_,y:_+j}),Fr.setClipUrl(d,a,e),te(j,P,N),l.on("wheel",function(){j=Sr.constrain(t._scrollY+tn.event.deltaY/E*F,0,F),te(j,P,N),j!==0&&j!==F&&tn.event.preventDefault()});var B,W,V,Y=function(ee,Ae,ke){var qe=(ke-Ae)/N+ee;return Sr.constrain(qe,0,F)},Z=function(ee,Ae,ke){var qe=(Ae-ke)/N+ee;return Sr.constrain(qe,0,F)},$=tn.behavior.drag().on("dragstart",function(){var ee=tn.event.sourceEvent;ee.type==="touchstart"?B=ee.changedTouches[0].clientY:B=ee.clientY,V=j}).on("drag",function(){var ee=tn.event.sourceEvent;ee.buttons===2||ee.ctrlKey||(ee.type==="touchmove"?W=ee.changedTouches[0].clientY:W=ee.clientY,j=Y(V,B,W),te(j,P,N))});g.call($);var ne=tn.behavior.drag().on("dragstart",function(){var ee=tn.event.sourceEvent;ee.type==="touchstart"&&(B=ee.changedTouches[0].clientY,V=j)}).on("drag",function(){var ee=tn.event.sourceEvent;ee.type==="touchmove"&&(W=ee.changedTouches[0].clientY,j=Z(V,B,W),te(j,P,N))});d.call(ne)}function te(ee,Ae,ke){t._scrollY=e._fullLayout.legend._scrollY=ee,Fr.setTranslate(d,0,-ee),Fr.setRect(g,t._width,aa.scrollBarMargin+ee*ke,aa.scrollBarWidth,Ae),u.select("rect").attr("y",_+ee)}if(e._context.edits.legendPosition){var de,be,re,ge;l.classed("cursor-move",!0),P0.init({element:l.node(),gd:e,prepFn:function(){var ee=Fr.getTranslate(l);re=ee.x,ge=ee.y},moveFn:function(ee,Ae){var ke=re+ee,qe=ge+Ae;Fr.setTranslate(l,ke,qe),de=P0.align(ke,0,x.l,x.l+x.w,t.xanchor),be=P0.align(qe,0,x.t+x.h,x.t,t.yanchor)},doneFn:function(){de!==void 0&&be!==void 0&&fs.call("_guiRelayout",e,{"legend.x":de,"legend.y":be})},clickFn:function(ee,Ae){var ke=n.selectAll("g.traces").filter(function(){var qe=this.getBoundingClientRect();return Ae.clientX>=qe.left&&Ae.clientX<=qe.right&&Ae.clientY>=qe.top&&Ae.clientY<=qe.bottom});ke.size()>0&&JP(e,l,ke,ee,Ae)}})}}],e)}}function $h(e,t,r){var a=e[0],n=a.width,i=t.entrywidthmode,o=a.trace.legendwidth||t.entrywidth;return i==="fraction"?t._maxWidth*o:r+(o||n)}function JP(e,t,r,a,n){var i=r.data()[0][0].trace,o={event:n,node:r.node(),curveNumber:i.index,expandedIndex:i._expandedIndex,data:e.data,layout:e.layout,frames:e._transitionData._frames,config:e._context,fullData:e._fullData,fullLayout:e._fullLayout};i._group&&(o.group=i._group),fs.traceIs(i,"pie-like")&&(o.label=r.datum()[0].label);var s=ZP.triggerHandler(e,"plotly_legendclick",o);if(s!==!1){if(a===1)t._clickTimeout=setTimeout(function(){!e._fullLayout||XP(r,e,a)},e._context.doubleClickDelay);else if(a===2){t._clickTimeout&&clearTimeout(t._clickTimeout),e._legendMouseDownTime=0;var l=ZP.triggerHandler(e,"plotly_legenddoubleclick",o);l!==!1&&XP(r,e,a)}}}function Cne(e,t,r){var a=e.data()[0][0],n=a.trace,i=fs.traceIs(n,"pie-like"),o=!r._inHover&&t._context.edits.legendText&&!i,s=r._maxNameLength,l,u;a.groupTitle?(l=a.groupTitle.text,u=a.groupTitle.font):(u=r.font,r.entries?l=a.text:(l=i?a.label:n.name,n._meta&&(l=Sr.templateString(l,n._meta))));var c=Sr.ensureSingle(e,"text","legendtext");c.attr("text-anchor","start").call(Fr.font,u).text(o?eR(l,s):l);var d=r.itemwidth+aa.itemGap*2;ql.positionText(c,d,0),o?c.call(ql.makeEditable,{gd:t,text:l}).call(Qh,e,t,r).on("edit",function(h){this.text(eR(h,s)).call(Qh,e,t,r);var p=a.trace._fullInput||{},g={};if(fs.hasTransform(p,"groupby")){var m=fs.getTransformIndices(p,"groupby"),b=m[m.length-1],x=Sr.keyedContainer(p,"transforms["+b+"].styles","target","value.name");x.set(a.trace._group,h),g=x.constructUpdate()}else g.name=h;return fs.call("_guiRestyle",t,g,n.index)}):Qh(c,e,t,r)}function eR(e,t){var r=Math.max(4,t);if(e&&e.trim().length>=r/2)return e;e=e||"";for(var a=r-e.length;a>0;a--)e+=" ";return e}function Lne(e,t){var r=t._context.doubleClickDelay,a,n=1,i=Sr.ensureSingle(e,"rect","legendtoggle",function(o){t._context.staticPlot||o.style("cursor","pointer").attr("pointer-events","all"),o.call(Zh.fill,"rgba(0,0,0,0)")});t._context.staticPlot||(i.on("mousedown",function(){a=new Date().getTime(),a-t._legendMouseDownTimer&&(n=Math.max(n-1,1)),JP(t,o,e,n,tn.event)}}))}function Qh(e,t,r,a,n){a._inHover&&e.attr("data-notex",!0),ql.convertToTspans(e,r,function(){qne(t,r,a,n)})}function qne(e,t,r,a){var n=e.data()[0][0];if(!r._inHover&&n&&!n.trace.showlegend){e.remove();return}var i=e.select("g[class*=math-group]"),o=i.node();r||(r=t._fullLayout.legend);var s=r.borderwidth,l;a===Dl?l=r.title.font:n.groupTitle?l=n.groupTitle.font:l=r.font;var u=l.size*kne,c,d;if(o){var h=Fr.bBox(o);c=h.height,d=h.width,a===Dl?Fr.setTranslate(i,s,s+c*.75):Fr.setTranslate(i,0,c*.25)}else{var p=e.select(a===Dl?".legendtitletext":".legendtext"),g=ql.lineCount(p),m=p.node();if(c=u*g,d=m?Fr.bBox(m).width:0,a===Dl)r.title.side==="left"&&(d+=aa.itemGap*2),ql.positionText(p,s+aa.titlePad,s+u);else{var b=aa.itemGap*2+r.itemwidth;n.groupTitle&&(b=aa.itemGap,d-=r.itemwidth),ql.positionText(p,b,-u*((g-1)/2-.3))}}a===Dl?(r._titleWidth=d,r._titleHeight=c):(n.lineHeight=u,n.height=Math.max(c,16)+3,n.width=d)}function Dne(e){var t=0,r=0,a=e.title.side;return a&&(a.indexOf("left")!==-1&&(t=e._titleWidth),a.indexOf("top")!==-1&&(r=e._titleHeight)),[t,r]}function Pne(e,t,r,a){var n=e._fullLayout;a||(a=n.legend);var i=n._size,o=KP.isVertical(a),s=KP.isGrouped(a),l=a.entrywidthmode==="fraction",u=a.borderwidth,c=2*u,d=aa.itemGap,h=a.itemwidth+d*2,p=2*(u+d),g=I0(a),m=a.y<0||a.y===0&&g==="top",b=a.y>1||a.y===1&&g==="bottom",x=a.tracegroupgap,_={};a._maxHeight=Math.max(m||b?n.height/2:i.h,30);var k=0;a._width=0,a._height=0;var w=Dne(a);if(o)r.each(function(re){var ge=re[0].height;Fr.setTranslate(this,u+w[0],u+w[1]+a._height+ge/2+d),a._height+=ge,a._width=Math.max(a._width,re[0].width)}),k=h+a._width,a._width+=d+h+c,a._height+=p,s&&(t.each(function(re,ge){Fr.setTranslate(this,0,ge*a.tracegroupgap)}),a._height+=(a._lgroupsLength-1)*a.tracegroupgap);else{var A=E0(a),L=a.x<0||a.x===0&&A==="right",M=a.x>1||a.x===1&&A==="left",q=b||m,P=n.width/2;a._maxWidth=Math.max(L?q&&A==="left"?i.l+i.w:P:M?q&&A==="right"?i.r+i.w:P:i.w,2*h);var E=0,F=0;r.each(function(re){var ge=$h(re,a,h);E=Math.max(E,ge),F+=ge}),k=null;var N=0;if(s){var j=0,B=0,W=0;t.each(function(){var re=0,ge=0;tn.select(this).selectAll("g.traces").each(function(Ae){var ke=$h(Ae,a,h),qe=Ae[0].height;Fr.setTranslate(this,w[0],w[1]+u+d+qe/2+ge),ge+=qe,re=Math.max(re,ke),_[Ae[0].trace.legendgroup]=re});var ee=re+d;B>0&&ee+u+B>a._maxWidth?(N=Math.max(N,B),B=0,W+=j+x,j=ge):j=Math.max(j,ge),Fr.setTranslate(this,B,W),B+=ee}),a._width=Math.max(N,B)+u,a._height=W+j+p}else{var V=r.size(),Y=F+c+(V-1)*d=a._maxWidth&&(N=Math.max(N,te),$=0,ne+=Z,a._height+=Z,Z=0),Fr.setTranslate(this,w[0]+u+$,w[1]+u+ne+ge/2+d),te=$+ee+d,$+=Ae,Z=Math.max(Z,ge)}),Y?(a._width=$+c,a._height=Z+p):(a._width=Math.max(N,te)+c,a._height+=Z+p)}}a._width=Math.ceil(Math.max(a._width+w[0],a._titleWidth+2*(u+aa.titlePad))),a._height=Math.ceil(Math.max(a._height+w[1],a._titleHeight+2*(u+aa.itemGap))),a._effHeight=Math.min(a._height,a._maxHeight);var de=e._context.edits,be=de.legendText||de.legendPosition;r.each(function(re){var ge=tn.select(this).select(".legendtoggle"),ee=re[0].height,Ae=re[0].trace.legendgroup,ke=$h(re,a,h);s&&Ae!==""&&(ke=_[Ae]);var qe=be?h:k||ke;!o&&!l&&(qe+=d/2),Fr.setRect(ge,0,-ee/2,qe,ee)})}function Rne(e){var t=e._fullLayout,r=t.legend,a=E0(r),n=I0(r);return D0.autoMargin(e,"legend",{x:r.x,y:r.y,l:r._width*Xh[a],r:r._width*$P[a],b:r._effHeight*$P[n],t:r._effHeight*Xh[n]})}function E0(e){return Sr.isRightAnchor(e)?"right":Sr.isCenterAnchor(e)?"center":"left"}function I0(e){return Sr.isBottomAnchor(e)?"bottom":Sr.isMiddleAnchor(e)?"middle":"top"}});var O0=I(j0=>{"use strict";var cs=Ft(),Li=jt(),rR=Pn(),Cr=Re(),N0=Cr.strTranslate,Ene=Cr.strRotate,Ine=ef(),gn=Ga(),zne=CP(),li=Kt(),Ur=It(),Kh=Nn(),so=tr(),Pl=bt(),jn=Mi(),ds=Bu(),Nne=x0(),Fne=z0(),aR=ds.YANGLE,F0=Math.PI*aR/180,jne=1/Math.sin(F0),One=Math.cos(F0),Hne=Math.sin(F0),lr=ds.HOVERARROWSIZE,Ot=ds.HOVERTEXTPAD,nR={box:!0,ohlc:!0,violin:!0,candlestick:!0},Bne={scatter:!0,scattergl:!0,splom:!0};j0.hover=function(t,r,a,n){t=Cr.getGraphDiv(t);var i=r.target;Cr.throttle(t._fullLayout._uid+ds.HOVERID,ds.HOVERMINTIME,function(){Une(t,r,a,n,i)})};j0.loneHover=function(t,r){var a=!0;Array.isArray(t)||(a=!1,t=[t]);var n=r.gd,i=hR(n),o=vR(n),s=t.map(function(m){var b=m._x0||m.x0||m.x||0,x=m._x1||m.x1||m.x||0,_=m._y0||m.y0||m.y||0,k=m._y1||m.y1||m.y||0,w=m.eventData;if(w){var A=Math.min(b,x),L=Math.max(b,x),M=Math.min(_,k),q=Math.max(_,k),P=m.trace;if(Pl.traceIs(P,"gl3d")){var E=n._fullLayout[P.scene]._scene.container,F=E.offsetLeft,N=E.offsetTop;A+=F,L+=F,M+=N,q+=N}w.bbox={x0:A+o,x1:L+o,y0:M+i,y1:q+i},r.inOut_bbox&&r.inOut_bbox.push(w.bbox)}else w=!1;return{color:m.color||Ur.defaultLine,x0:m.x0||m.x||0,x1:m.x1||m.x||0,y0:m.y0||m.y||0,y1:m.y1||m.y||0,xLabel:m.xLabel,yLabel:m.yLabel,zLabel:m.zLabel,text:m.text,name:m.name,idealAlign:m.idealAlign,borderColor:m.borderColor,fontFamily:m.fontFamily,fontSize:m.fontSize,fontColor:m.fontColor,nameLength:m.nameLength,textAlign:m.textAlign,trace:m.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:m.hovertemplate||!1,hovertemplateLabels:m.hovertemplateLabels||!1,eventData:w}}),l=!1,u=oR(s,{gd:n,hovermode:"closest",rotateLabels:l,bgColor:r.bgColor||Ur.background,container:cs.select(r.container),outerContainer:r.outerContainer||r.container}),c=5,d=0,h=0;u.sort(function(m,b){return m.y0-b.y0}).each(function(m,b){var x=m.y0-m.by/2;x-ch[0]._length||re<0||re>p[0]._length)return Kh.unhoverRaw(e,t)}if(t.pointerX=be+h[0]._offset,t.pointerY=re+p[0]._offset,"xval"in t?M=jn.flat(i,t.xval):M=jn.p2c(h,be),"yval"in t?q=jn.flat(i,t.yval):q=jn.p2c(p,re),!Li(M[0])||!Li(q[0]))return Cr.warn("Fx.hover failed",t,e),Kh.unhoverRaw(e,t)}var Ae=1/0;function ke(Te,Fe){for(E=0;E$&&(A.splice(0,$),Ae=A[0].distance),u&&w!==0&&A.length===0){Z.distance=w,Z.index=!1;var hr=N._module.hoverPoints(Z,V,Y,"closest",{hoverLayer:o._hoverlayer});if(hr&&(hr=hr.filter(function(Aa){return Aa.spikeDistance<=w})),hr&&hr.length){var ca,Qn=hr.filter(function(Aa){return Aa.xa.showspikes&&Aa.xa.spikesnap!=="hovered data"});if(Qn.length){var ia=Qn[0];Li(ia.x0)&&Li(ia.y0)&&(ca=Le(ia),(!ne.vLinePoint||ne.vLinePoint.spikeDistance>ca.spikeDistance)&&(ne.vLinePoint=ca))}var Xa=hr.filter(function(Aa){return Aa.ya.showspikes&&Aa.ya.spikesnap!=="hovered data"});if(Xa.length){var Cn=Xa[0];Li(Cn.x0)&&Li(Cn.y0)&&(ca=Le(Cn),(!ne.hLinePoint||ne.hLinePoint.spikeDistance>ca.spikeDistance)&&(ne.hLinePoint=ca))}}}}}ke();function qe(Te,Fe,Et){for(var pr=null,Vr=1/0,Er,hr=0;hr0&&Math.abs(Te.distance)nt-1;ct--)it(A[ct]);A=wt,O()}var Je=e._hoverdata,we=[],Me=hR(e),Ye=vR(e);for(P=0;P1||A.length>1)||_==="closest"&&te&&A.length>1,pt=Ur.combine(o.plot_bgcolor||Ur.background,o.paper_bgcolor),ae=oR(A,{gd:e,hovermode:_,rotateLabels:vt,bgColor:pt,container:o._hoverlayer,outerContainer:o._paper.node(),commonLabelOpts:o.hoverlabel,hoverdistance:o.hoverdistance});if(jn.isUnifiedHover(_)||(Wne(ae,vt?"xa":"ya",o),lR(ae,vt,o._invScaleX,o._invScaleY)),n&&n.tagName){var _e=Pl.getComponentMethod("annotations","hasClickToShow")(e,we);zne(cs.select(n),_e?"pointer":"")}!n||a||!Yne(e,t,Je)||(Je&&e.emit("plotly_unhover",{event:t,points:Je}),e.emit("plotly_hover",{event:t,points:e._hoverdata,xaxes:h,yaxes:p,xvals:M,yvals:q}))}function iR(e){return[e.trace.index,e.index,e.x0,e.y0,e.name,e.attr,e.xa?e.xa._id:"",e.ya?e.ya._id:""].join(",")}var Gne=/([\s\S]*)<\/extra>/;function oR(e,t){var r=t.gd,a=r._fullLayout,n=t.hovermode,i=t.rotateLabels,o=t.bgColor,s=t.container,l=t.outerContainer,u=t.commonLabelOpts||{};if(e.length===0)return[[]];var c=t.fontFamily||ds.HOVERFONT,d=t.fontSize||ds.HOVERFONTSIZE,h=e[0],p=h.xa,g=h.ya,m=n.charAt(0),b=h[m+"Label"],x=Rl(r,l),_=x.top,k=x.width,w=x.height,A=b!==void 0&&h.distance<=t.hoverdistance&&(n==="x"||n==="y");if(A){var L=!0,M,q;for(M=0;Ma.width-Je?(Ce=a.width-Je,rt.attr("d","M"+(Je-lr)+",0L"+Je+","+ct+lr+"v"+ct+(Ot*2+se.height)+"H-"+Je+"V"+ct+lr+"H"+(Je-lr*2)+"Z")):rt.attr("d","M0,0L"+lr+","+ct+lr+"H"+(Ot+se.width/2)+"v"+ct+(Ot*2+se.height)+"H-"+(Ot+se.width/2)+"V"+ct+lr+"H-"+lr+"Z")}else{var we,Me,Ye;g.side==="right"?(we="start",Me=1,Ye="",Ce=p._offset+p._length):(we="end",Me=-1,Ye="-",Ce=p._offset),it=g._offset+(h.y0+h.y1)/2,Ue.attr("text-anchor",we),rt.attr("d","M0,0L"+Ye+lr+","+lr+"V"+(Ot+se.height/2)+"h"+Ye+(Ot*2+se.width)+"V-"+(Ot+se.height/2)+"H"+Ye+lr+"V-"+lr+"Z");var je=se.height/2,ze=_-se.top-je,Ge="clip"+a._uid+"commonlabel"+g._id,mt;if(Ce=0?xe=J:O+ge=0?xe=O:oe+ge=0?De=Se:U+ee=0?De=U:me+ee=0,(ye.idealAlign==="top"||!Oe)&&st?(ze-=mt/2,ye.anchor="end"):Oe?(ze+=mt/2,ye.anchor="start"):ye.anchor="middle";else if(ye.pos=ze,Oe=je+Ge/2+et<=k,st=je-Ge/2-et>=0,(ye.idealAlign==="left"||!Oe)&&st)je-=Ge/2,ye.anchor="end";else if(Oe)je+=Ge/2,ye.anchor="start";else{ye.anchor="middle";var dt=et/2,vt=je+dt-k,pt=je-dt;vt>0&&(je-=vt),pt<0&&(je+=-pt)}ct.attr("text-anchor",ye.anchor),we&&Je.attr("text-anchor",ye.anchor),rt.attr("transform",N0(je,ze)+(i?Ene(aR):""))}),Pe}function sR(e,t,r,a,n,i){var o="",s="";e.nameOverride!==void 0&&(e.name=e.nameOverride),e.name&&(e.trace._meta&&(e.name=Cr.templateString(e.name,e.trace._meta)),o=cR(e.name,e.nameLength));var l=r.charAt(0),u=l==="x"?"y":"x";e.zLabel!==void 0?(e.xLabel!==void 0&&(s+="x: "+e.xLabel+"
"),e.yLabel!==void 0&&(s+="y: "+e.yLabel+"
"),e.trace.type!=="choropleth"&&e.trace.type!=="choroplethmapbox"&&(s+=(s?"z: ":"")+e.zLabel)):t&&e[l+"Label"]===n?s=e[u+"Label"]||"":e.xLabel===void 0?e.yLabel!==void 0&&e.trace.type!=="scattercarpet"&&(s=e.yLabel):e.yLabel===void 0?s=e.xLabel:s="("+e.xLabel+", "+e.yLabel+")",(e.text||e.text===0)&&!Array.isArray(e.text)&&(s+=(s?"
":"")+e.text),e.extraText!==void 0&&(s+=(s?"
":"")+e.extraText),i&&s===""&&!e.hovertemplate&&(o===""&&i.remove(),s=o);var c=e.hovertemplate||!1;if(c){var d=e.hovertemplateLabels||e;e[l+"Label"]!==n&&(d[l+"other"]=d[l+"Val"],d[l+"otherLabel"]=d[l+"Label"]),s=Cr.hovertemplateString(c,d,a._d3locale,e.eventData[0]||{},e.trace._meta),s=s.replace(Gne,function(h,p){return o=cR(p,e.nameLength),""})}return[s,o]}function Wne(e,t,r){var a=0,n=1,i=e.size(),o=new Array(i),s=0;e.each(function(M){var q=M[t],P=q._id.charAt(0)==="x",E=q.range;s===0&&E&&E[0]>E[1]!==P&&(n=-1),o[s++]=[{datum:M,traceIndex:M.trace.index,dp:0,pos:M.pos,posref:M.posref,size:M.by*(P?jne:1)/2,pmin:0,pmax:P?r.width:r.height}]}),o.sort(function(M,q){return M[0].posref-q[0].posref||n*(q[0].traceIndex-M[0].traceIndex)});var l,u,c,d,h,p,g;function m(M){var q=M[0],P=M[M.length-1];if(u=q.pmin-q.pos-q.dp+q.size,c=P.pos+P.dp+P.size-q.pmax,u>.01){for(h=M.length-1;h>=0;h--)M[h].dp+=u;l=!1}if(!(c<.01)){if(u<-.01){for(h=M.length-1;h>=0;h--)M[h].dp-=c;l=!1}if(!!l){var E=0;for(d=0;dq.pmax&&E++;for(d=M.length-1;d>=0&&!(E<=0);d--)p=M[d],p.pos>q.pmax-1&&(p.del=!0,E--);for(d=0;d=0;h--)M[h].dp-=c;for(d=M.length-1;d>=0&&!(E<=0);d--)p=M[d],p.pos+p.dp+p.size>q.pmax&&(p.del=!0,E--)}}}for(;!l&&a<=i;){for(a++,l=!0,d=0;d.01&&_.pmin===k.pmin&&_.pmax===k.pmax){for(h=x.length-1;h>=0;h--)x[h].dp+=u;for(b.push.apply(b,x),o.splice(d+1,1),g=0,h=b.length-1;h>=0;h--)g+=b[h].dp;for(c=g/b.length,h=b.length-1;h>=0;h--)b[h].dp-=c;l=!1}else d++}o.forEach(m)}for(d=o.length-1;d>=0;d--){var w=o[d];for(h=w.length-1;h>=0;h--){var A=w[h],L=A.datum;L.offset=A.dp,L.del=A.del}}}function lR(e,t,r,a){var n=function(o){return o*r},i=function(o){return o*a};e.each(function(o){var s=cs.select(this);if(o.del)return s.remove();var l=s.select("text.nums"),u=o.anchor,c=u==="end"?-1:1,d={start:1,end:-1,middle:0}[u],h=d*(lr+Ot),p=h+d*(o.txwidth+Ot),g=0,m=o.offset,b=u==="middle";b&&(h-=o.tx2width/2,p+=o.txwidth/2+Ot),t&&(m*=-Hne,g=o.offset*One),s.select("path").attr("d",b?"M-"+n(o.bx/2+o.tx2width/2)+","+i(m-o.by/2)+"h"+n(o.bx)+"v"+i(o.by)+"h-"+n(o.bx)+"Z":"M0,0L"+n(c*lr+g)+","+i(lr+m)+"v"+i(o.by/2-lr)+"h"+n(c*o.bx)+"v-"+i(o.by)+"H"+n(c*lr+g)+"V"+i(m-lr)+"Z");var x=g+h,_=m+o.ty0-o.by/2+Ot,k=o.textAlign||"auto";k!=="auto"&&(k==="left"&&u!=="start"?(l.attr("text-anchor","start"),x=b?-o.bx/2-o.tx2width/2+Ot:-o.bx-Ot):k==="right"&&u!=="end"&&(l.attr("text-anchor","end"),x=b?o.bx/2-o.tx2width/2-Ot:o.bx+Ot)),l.call(gn.positionText,n(x),i(_)),o.tx2width&&(s.select("text.name").call(gn.positionText,n(p+d*Ot+g),i(m+o.ty0-o.by/2+Ot)),s.select("rect").call(li.setRect,n(p+(d-1)*o.tx2width/2+g),i(m-o.by/2-1),n(o.tx2width),i(o.by+2)))})}function Vne(e,t){var r=e.index,a=e.trace||{},n=e.cd[0],i=e.cd[r]||{};function o(h){return h||Li(h)&&h===0}var s=Array.isArray(r)?function(h,p){var g=Cr.castOption(n,r,h);return o(g)?g:Cr.extractOption({},a,"",p)}:function(h,p){return Cr.extractOption(i,a,h,p)};function l(h,p,g){var m=s(p,g);o(m)&&(e[h]=m)}if(l("hoverinfo","hi","hoverinfo"),l("bgcolor","hbg","hoverlabel.bgcolor"),l("borderColor","hbc","hoverlabel.bordercolor"),l("fontFamily","htf","hoverlabel.font.family"),l("fontSize","hts","hoverlabel.font.size"),l("fontColor","htc","hoverlabel.font.color"),l("nameLength","hnl","hoverlabel.namelength"),l("textAlign","hta","hoverlabel.align"),e.posref=t==="y"||t==="closest"&&a.orientation==="h"?e.xa._offset+(e.x0+e.x1)/2:e.ya._offset+(e.y0+e.y1)/2,e.x0=Cr.constrain(e.x0,0,e.xa._length),e.x1=Cr.constrain(e.x1,0,e.xa._length),e.y0=Cr.constrain(e.y0,0,e.ya._length),e.y1=Cr.constrain(e.y1,0,e.ya._length),e.xLabelVal!==void 0&&(e.xLabel="xLabel"in e?e.xLabel:so.hoverLabelText(e.xa,e.xLabelVal,a.xhoverformat),e.xVal=e.xa.c2d(e.xLabelVal)),e.yLabelVal!==void 0&&(e.yLabel="yLabel"in e?e.yLabel:so.hoverLabelText(e.ya,e.yLabelVal,a.yhoverformat),e.yVal=e.ya.c2d(e.yLabelVal)),e.zLabelVal!==void 0&&e.zLabel===void 0&&(e.zLabel=String(e.zLabelVal)),!isNaN(e.xerr)&&!(e.xa.type==="log"&&e.xerr<=0)){var u=so.tickText(e.xa,e.xa.c2l(e.xerr),"hover").text;e.xerrneg!==void 0?e.xLabel+=" +"+u+" / -"+so.tickText(e.xa,e.xa.c2l(e.xerrneg),"hover").text:e.xLabel+=" \xB1 "+u,t==="x"&&(e.distance+=1)}if(!isNaN(e.yerr)&&!(e.ya.type==="log"&&e.yerr<=0)){var c=so.tickText(e.ya,e.ya.c2l(e.yerr),"hover").text;e.yerrneg!==void 0?e.yLabel+=" +"+c+" / -"+so.tickText(e.ya,e.ya.c2l(e.yerrneg),"hover").text:e.yLabel+=" \xB1 "+c,t==="y"&&(e.distance+=1)}var d=e.hoverinfo||e.trace.hoverinfo;return d&&d!=="all"&&(d=Array.isArray(d)?d:d.split("+"),d.indexOf("x")===-1&&(e.xLabel=void 0),d.indexOf("y")===-1&&(e.yLabel=void 0),d.indexOf("z")===-1&&(e.zLabel=void 0),d.indexOf("text")===-1&&(e.text=void 0),d.indexOf("name")===-1&&(e.name=void 0)),e}function uR(e,t,r){var a=r.container,n=r.fullLayout,i=n._size,o=r.event,s=!!t.hLinePoint,l=!!t.vLinePoint,u,c;if(a.selectAll(".spikeline").remove(),!!(l||s)){var d=Ur.combine(n.plot_bgcolor,n.paper_bgcolor);if(s){var h=t.hLinePoint,p,g;u=h&&h.xa,c=h&&h.ya;var m=c.spikesnap;m==="cursor"?(p=o.pointerX,g=o.pointerY):(p=u._offset+h.x,g=c._offset+h.y);var b=rR.readability(h.color,d)<1.5?Ur.contrast(d):h.color,x=c.spikemode,_=c.spikethickness,k=c.spikecolor||b,w=so.getPxPosition(e,c),A,L;if(x.indexOf("toaxis")!==-1||x.indexOf("across")!==-1){if(x.indexOf("toaxis")!==-1&&(A=w,L=p),x.indexOf("across")!==-1){var M=c._counterDomainMin,q=c._counterDomainMax;c.anchor==="free"&&(M=Math.min(M,c.position),q=Math.max(q,c.position)),A=i.l+M*i.w,L=i.l+q*i.w}a.insert("line",":first-child").attr({x1:A,x2:L,y1:g,y2:g,"stroke-width":_,stroke:k,"stroke-dasharray":li.dashStyle(c.spikedash,_)}).classed("spikeline",!0).classed("crisp",!0),a.insert("line",":first-child").attr({x1:A,x2:L,y1:g,y2:g,"stroke-width":_+2,stroke:d}).classed("spikeline",!0).classed("crisp",!0)}x.indexOf("marker")!==-1&&a.insert("circle",":first-child").attr({cx:w+(c.side!=="right"?_:-_),cy:g,r:_,fill:k}).classed("spikeline",!0)}if(l){var P=t.vLinePoint,E,F;u=P&&P.xa,c=P&&P.ya;var N=u.spikesnap;N==="cursor"?(E=o.pointerX,F=o.pointerY):(E=u._offset+P.x,F=c._offset+P.y);var j=rR.readability(P.color,d)<1.5?Ur.contrast(d):P.color,B=u.spikemode,W=u.spikethickness,V=u.spikecolor||j,Y=so.getPxPosition(e,u),Z,$;if(B.indexOf("toaxis")!==-1||B.indexOf("across")!==-1){if(B.indexOf("toaxis")!==-1&&(Z=Y,$=F),B.indexOf("across")!==-1){var ne=u._counterDomainMin,te=u._counterDomainMax;u.anchor==="free"&&(ne=Math.min(ne,u.position),te=Math.max(te,u.position)),Z=i.t+(1-te)*i.h,$=i.t+(1-ne)*i.h}a.insert("line",":first-child").attr({x1:E,x2:E,y1:Z,y2:$,"stroke-width":W,stroke:V,"stroke-dasharray":li.dashStyle(u.spikedash,W)}).classed("spikeline",!0).classed("crisp",!0),a.insert("line",":first-child").attr({x1:E,x2:E,y1:Z,y2:$,"stroke-width":W+2,stroke:d}).classed("spikeline",!0).classed("crisp",!0)}B.indexOf("marker")!==-1&&a.insert("circle",":first-child").attr({cx:E,cy:Y-(u.side!=="top"?W:-W),r:W,fill:V}).classed("spikeline",!0)}}}function Yne(e,t,r){if(!r||r.length!==e._hoverdata.length)return!0;for(var a=r.length-1;a>=0;a--){var n=r[a],i=e._hoverdata[a];if(n.curveNumber!==i.curveNumber||String(n.pointNumber)!==String(i.pointNumber)||String(n.pointNumbers)!==String(i.pointNumbers))return!0}return!1}function fR(e,t){return!t||t.vLinePoint!==e._spikepoints.vLinePoint||t.hLinePoint!==e._spikepoints.hLinePoint}function cR(e,t){return gn.plainText(e||"",{len:t,allowedTags:["br","sub","sup","b","i","em"]})}function Zne(e,t){for(var r=t.charAt(0),a=[],n=[],i=[],o=0;o{"use strict";var Xne=Re(),$ne=It(),Qne=Mi().isUnifiedHover;pR.exports=function(t,r,a,n){n=n||{};var i=r.legend;function o(s){n.font[s]||(n.font[s]=i?r.legend.font[s]:r.font[s])}r&&Qne(r.hovermode)&&(n.font||(n.font={}),o("size"),o("family"),o("color"),i?(n.bgcolor||(n.bgcolor=$ne.combine(r.legend.bgcolor,r.paper_bgcolor)),n.bordercolor||(n.bordercolor=r.legend.bordercolor)):n.bgcolor||(n.bgcolor=r.paper_bgcolor)),a("hoverlabel.bgcolor",n.bgcolor),a("hoverlabel.bordercolor",n.bordercolor),a("hoverlabel.namelength",n.namelength),Xne.coerceFont(a,"hoverlabel.font",n.font),a("hoverlabel.align",n.align)}});var gR=I((Dxe,mR)=>{"use strict";var Kne=Re(),Jne=Jh(),eie=rl();mR.exports=function(t,r){function a(n,i){return Kne.coerce(t,r,eie,n,i)}Jne(t,r,a)}});var xR=I((Pxe,bR)=>{"use strict";var yR=Re(),tie=Id(),rie=Jh();bR.exports=function(t,r,a,n){function i(s,l){return yR.coerce(t,r,tie,s,l)}var o=yR.extendFlat({},n.hoverlabel);r.hovertemplate&&(o.namelength=-1),rie(t,r,i,o)}});var H0=I((Rxe,_R)=>{"use strict";var aie=Re(),nie=rl();_R.exports=function(t,r){function a(n,i){return r[n]!==void 0?r[n]:aie.coerce(t,r,nie,n,i)}return a("clickmode"),a("hovermode")}});var AR=I((Exe,TR)=>{"use strict";var wR=Re(),iie=rl(),oie=H0(),sie=Jh();TR.exports=function(t,r){function a(u,c){return wR.coerce(t,r,iie,u,c)}var n=oie(t,r);n&&(a("hoverdistance"),a("spikedistance"));var i=a("dragmode");i==="select"&&a("selectdirection");var o=r._has("mapbox"),s=r._has("geo"),l=r._basePlotModules.length;r.dragmode==="zoom"&&((o||s)&&l===1||o&&s&&l===2)&&(r.dragmode="pan"),sie(t,r,a),wR.coerceFont(a,"hoverlabel.grouptitlefont",r.hoverlabel.font)}});var SR=I((Ixe,MR)=>{"use strict";var B0=Re(),kR=bt();MR.exports=function(t){var r=t.calcdata,a=t._fullLayout;function n(u){return function(c){return B0.coerceHoverinfo({hoverinfo:c},{_module:u._module},a)}}for(var i=0;i{"use strict";var uie=bt(),fie=O0().hover;CR.exports=function(t,r,a){var n=uie.getComponentMethod("annotations","onClick")(t,t._hoverdata);a!==void 0&&fie(t,r,a,!0);function i(){t.emit("plotly_click",{points:t._hoverdata,event:r})}t._hoverdata&&r&&r.target&&(n&&n.then?n.then(i):i(),r.stopImmediatePropagation&&r.stopImmediatePropagation())}});var qi=I((Nxe,PR)=>{"use strict";var cie=Ft(),ev=Re(),die=Nn(),wf=Mi(),qR=rl(),DR=O0();PR.exports={moduleType:"component",name:"fx",constants:Bu(),schema:{layout:qR},attributes:Id(),layoutAttributes:qR,supplyLayoutGlobalDefaults:gR(),supplyDefaults:xR(),supplyLayoutDefaults:AR(),calc:SR(),getDistanceFunction:wf.getDistanceFunction,getClosest:wf.getClosest,inbox:wf.inbox,quadrature:wf.quadrature,appendArrayPointValue:wf.appendArrayPointValue,castHoverOption:vie,castHoverinfo:pie,hover:DR.hover,unhover:die.unhover,loneHover:DR.loneHover,loneUnhover:hie,click:LR()};function hie(e){var t=ev.isD3Selection(e)?e:cie.select(e);t.selectAll("g.hovertext").remove(),t.selectAll(".spikeline").remove()}function vie(e,t,r){return ev.castOption(e,t,"hoverlabel."+r)}function pie(e,t,r){function a(n){return ev.coerceHoverinfo({hoverinfo:n},{_module:e._module},t)}return ev.castOption(e,r,"hoverinfo",a)}});var El=I(Di=>{"use strict";Di.selectMode=function(e){return e==="lasso"||e==="select"};Di.drawMode=function(e){return e==="drawclosedpath"||e==="drawopenpath"||e==="drawline"||e==="drawrect"||e==="drawcircle"};Di.openMode=function(e){return e==="drawline"||e==="drawopenpath"};Di.rectMode=function(e){return e==="select"||e==="drawline"||e==="drawrect"||e==="drawcircle"};Di.freeMode=function(e){return e==="lasso"||e==="drawclosedpath"||e==="drawopenpath"};Di.selectingOrDrawing=function(e){return Di.freeMode(e)||Di.rectMode(e)}});var tv=I((jxe,RR)=>{"use strict";RR.exports=function(t){var r=t._fullLayout;r._glcanvas&&r._glcanvas.size()&&r._glcanvas.each(function(a){a.regl&&a.regl.clear({color:!0,depth:!0})})}});var rv=I((Oxe,ER)=>{"use strict";ER.exports={undo:{width:857.1,height:1e3,path:"m857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z",transform:"matrix(1 0 0 -1 0 850)"},home:{width:928.6,height:1e3,path:"m786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z",transform:"matrix(1 0 0 -1 0 850)"},"camera-retro":{width:1e3,height:1e3,path:"m518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z",transform:"matrix(1 0 0 -1 0 850)"},zoombox:{width:1e3,height:1e3,path:"m1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z",transform:"matrix(1 0 0 -1 0 850)"},pan:{width:1e3,height:1e3,path:"m1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z",transform:"matrix(1 0 0 -1 0 850)"},zoom_plus:{width:875,height:1e3,path:"m1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z",transform:"matrix(1 0 0 -1 0 850)"},zoom_minus:{width:875,height:1e3,path:"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z",transform:"matrix(1 0 0 -1 0 850)"},autoscale:{width:1e3,height:1e3,path:"m250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z",transform:"matrix(1 0 0 -1 0 850)"},tooltip_basic:{width:1500,height:1e3,path:"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z",transform:"matrix(1 0 0 -1 0 850)"},tooltip_compare:{width:1125,height:1e3,path:"m187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z",transform:"matrix(1 0 0 -1 0 850)"},plotlylogo:{width:1542,height:1e3,path:"m0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z",transform:"matrix(1 0 0 -1 0 850)"},"z-axis":{width:1e3,height:1e3,path:"m833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z",transform:"matrix(1 0 0 -1 0 850)"},"3d_rotate":{width:1e3,height:1e3,path:"m922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z",transform:"matrix(1 0 0 -1 0 850)"},camera:{width:1e3,height:1e3,path:"m500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z",transform:"matrix(1 0 0 -1 0 850)"},movie:{width:1e3,height:1e3,path:"m938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z",transform:"matrix(1 0 0 -1 0 850)"},question:{width:857.1,height:1e3,path:"m500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z",transform:"matrix(1 0 0 -1 0 850)"},disk:{width:857.1,height:1e3,path:"m214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z",transform:"matrix(1 0 0 -1 0 850)"},drawopenpath:{width:70,height:70,path:"M33.21,85.65a7.31,7.31,0,0,1-2.59-.48c-8.16-3.11-9.27-19.8-9.88-41.3-.1-3.58-.19-6.68-.35-9-.15-2.1-.67-3.48-1.43-3.79-2.13-.88-7.91,2.32-12,5.86L3,32.38c1.87-1.64,11.55-9.66,18.27-6.9,2.13.87,4.75,3.14,5.17,9,.17,2.43.26,5.59.36,9.25a224.17,224.17,0,0,0,1.5,23.4c1.54,10.76,4,12.22,4.48,12.4.84.32,2.79-.46,5.76-3.59L43,80.07C41.53,81.57,37.68,85.64,33.21,85.65ZM74.81,69a11.34,11.34,0,0,0,6.09-6.72L87.26,44.5,74.72,32,56.9,38.35c-2.37.86-5.57,3.42-6.61,6L38.65,72.14l8.42,8.43ZM55,46.27a7.91,7.91,0,0,1,3.64-3.17l14.8-5.3,8,8L76.11,60.6l-.06.19a6.37,6.37,0,0,1-3,3.43L48.25,74.59,44.62,71Zm16.57,7.82A6.9,6.9,0,1,0,64.64,61,6.91,6.91,0,0,0,71.54,54.09Zm-4.05,0a2.85,2.85,0,1,1-2.85-2.85A2.86,2.86,0,0,1,67.49,54.09Zm-4.13,5.22L60.5,56.45,44.26,72.7l2.86,2.86ZM97.83,35.67,84.14,22l-8.57,8.57L89.26,44.24Zm-13.69-8,8,8-2.85,2.85-8-8Z",transform:"matrix(1 0 0 1 -15 -15)"},drawclosedpath:{width:90,height:90,path:"M88.41,21.12a26.56,26.56,0,0,0-36.18,0l-2.07,2-2.07-2a26.57,26.57,0,0,0-36.18,0,23.74,23.74,0,0,0,0,34.8L48,90.12a3.22,3.22,0,0,0,4.42,0l36-34.21a23.73,23.73,0,0,0,0-34.79ZM84,51.24,50.16,83.35,16.35,51.25a17.28,17.28,0,0,1,0-25.47,20,20,0,0,1,27.3,0l4.29,4.07a3.23,3.23,0,0,0,4.44,0l4.29-4.07a20,20,0,0,1,27.3,0,17.27,17.27,0,0,1,0,25.46ZM66.76,47.68h-33v6.91h33ZM53.35,35H46.44V68h6.91Z",transform:"matrix(1 0 0 1 -5 -5)"},lasso:{width:1031,height:1e3,path:"m1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z",transform:"matrix(1 0 0 -1 0 850)"},selectbox:{width:1e3,height:1e3,path:"m0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z",transform:"matrix(1 0 0 -1 0 850)"},drawline:{width:70,height:70,path:"M60.64,62.3a11.29,11.29,0,0,0,6.09-6.72l6.35-17.72L60.54,25.31l-17.82,6.4c-2.36.86-5.57,3.41-6.6,6L24.48,65.5l8.42,8.42ZM40.79,39.63a7.89,7.89,0,0,1,3.65-3.17l14.79-5.31,8,8L61.94,54l-.06.19a6.44,6.44,0,0,1-3,3.43L34.07,68l-3.62-3.63Zm16.57,7.81a6.9,6.9,0,1,0-6.89,6.9A6.9,6.9,0,0,0,57.36,47.44Zm-4,0a2.86,2.86,0,1,1-2.85-2.85A2.86,2.86,0,0,1,53.32,47.44Zm-4.13,5.22L46.33,49.8,30.08,66.05l2.86,2.86ZM83.65,29,70,15.34,61.4,23.9,75.09,37.59ZM70,21.06l8,8-2.84,2.85-8-8ZM87,80.49H10.67V87H87Z",transform:"matrix(1 0 0 1 -15 -15)"},drawrect:{width:80,height:80,path:"M78,22V79H21V22H78m9-9H12V88H87V13ZM68,46.22H31V54H68ZM53,32H45.22V69H53Z",transform:"matrix(1 0 0 1 -10 -10)"},drawcircle:{width:80,height:80,path:"M50,84.72C26.84,84.72,8,69.28,8,50.3S26.84,15.87,50,15.87,92,31.31,92,50.3,73.16,84.72,50,84.72Zm0-60.59c-18.6,0-33.74,11.74-33.74,26.17S31.4,76.46,50,76.46,83.74,64.72,83.74,50.3,68.6,24.13,50,24.13Zm17.15,22h-34v7.11h34Zm-13.8-13H46.24v34h7.11Z",transform:"matrix(1 0 0 1 -10 -10)"},eraseshape:{width:80,height:80,path:"M82.77,78H31.85L6,49.57,31.85,21.14H82.77a8.72,8.72,0,0,1,8.65,8.77V69.24A8.72,8.72,0,0,1,82.77,78ZM35.46,69.84H82.77a.57.57,0,0,0,.49-.6V29.91a.57.57,0,0,0-.49-.61H35.46L17,49.57Zm32.68-34.7-24,24,5,5,24-24Zm-19,.53-5,5,24,24,5-5Z",transform:"matrix(1 0 0 1 -10 -10)"},spikeline:{width:1e3,height:1e3,path:"M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z",transform:"matrix(1.5 0 0 -1.5 0 850)"},pencil:{width:1792,height:1792,path:"M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z",transform:"matrix(1 0 0 1 0 1)"},newplotlylogo:{name:"newplotlylogo",svg:["",""," ",""," plotly-logomark"," "," "," "," "," "," "," "," "," "," "," "," "," ",""].join("")}}});var nv=I((Hxe,IR)=>{"use strict";var av=32;IR.exports={CIRCLE_SIDES:av,i000:0,i090:av/4,i180:av/2,i270:av/4*3,cos45:Math.cos(Math.PI/4),sin45:Math.sin(Math.PI/4),SQRT2:Math.sqrt(2)}});var iv=I((Bxe,NR)=>{"use strict";var mie=Re().strTranslate;function zR(e,t){switch(e.type){case"log":return e.p2d(t);case"date":return e.p2r(t,0,e.calendar);default:return e.p2r(t)}}function gie(e,t){switch(e.type){case"log":return e.d2p(t);case"date":return e.r2p(t,0,e.calendar);default:return e.r2p(t)}}function yie(e){var t=e._id.charAt(0)==="y"?1:0;return function(r){return zR(e,r[t])}}function bie(e){return mie(e.xaxis._offset,e.yaxis._offset)}NR.exports={p2r:zR,r2p:gie,axValue:yie,getTransform:bie}});var hs=I(Pi=>{"use strict";var xie=Ay(),FR=nv(),Il=FR.CIRCLE_SIDES,U0=FR.SQRT2,jR=iv(),OR=jR.p2r,HR=jR.r2p,_ie=[0,3,4,5,6,1,2],wie=[0,3,4,1,2];Pi.writePaths=function(e){var t=e.length;if(!t)return"M0,0Z";for(var r="",a=0;a0&&l{"use strict";var BR=El(),Tie=BR.drawMode,Aie=BR.openMode,zl=nv(),UR=zl.i000,GR=zl.i090,WR=zl.i180,VR=zl.i270,kie=zl.cos45,Mie=zl.sin45,YR=iv(),sv=YR.p2r,lo=YR.r2p,Sie=ro(),Cie=Sie.clearOutline,lv=hs(),Lie=lv.readPaths,qie=lv.writePaths,Die=lv.ellipseOver,Pie=lv.fixDatesForPaths;ZR.exports=function(t,r){if(!!t.length){var a=t[0][0];if(!!a){var n=a.getAttribute("d"),i=r.gd,o=i._fullLayout.newshape,s=r.plotinfo,l=s.xaxis,u=s.yaxis,c=!!s.domain||!s.xaxis,d=!!s.domain||!s.yaxis,h=r.isActiveShape,p=r.dragmode,g=(i.layout||{}).shapes||[];if(!Tie(p)&&h!==void 0){var m=i._fullLayout._activeShapeIndex;if(m{"use strict";var Rie=El(),Eie=Rie.selectMode,Iie=ro(),zie=Iie.clearOutline,W0=hs(),Nie=W0.readPaths,Fie=W0.writePaths,jie=W0.fixDatesForPaths;XR.exports=function(t,r){if(!!t.length){var a=t[0][0];if(!!a){var n=a.getAttribute("d"),i=r.gd,o=i._fullLayout.newselection,s=r.plotinfo,l=s.xaxis,u=s.yaxis,c=r.isActiveSelection,d=r.dragmode,h=(i.layout||{}).selections||[];if(!Eie(d)&&c!==void 0){var p=i._fullLayout._activeSelectionIndex;if(p{"use strict";var Oie=Re(),Hie=Oie.strTranslate,$R=Nn(),QR=El(),Bie=QR.drawMode,KR=QR.selectMode,JR=bt(),e6=It(),uv=nv(),Uie=uv.i000,Gie=uv.i090,Wie=uv.i180,Vie=uv.i270,Yie=ro(),t6=Yie.clearOutlineControllers,Y0=hs(),fv=Y0.pointsOnRectangle,Z0=Y0.pointsOnEllipse,Zie=Y0.writePaths,Xie=G0(),$ie=V0();a6.exports=function e(t,r,a,n){n||(n=0);var i=a.gd;function o(){e(t,r,a,n++),Z0(t[0])&&s({redrawing:!0})}function s(W){var V={};a.isActiveShape!==void 0&&(a.isActiveShape=!1,V=Xie(r,a)),a.isActiveSelection!==void 0&&(a.isActiveSelection=!1,V=$ie(r,a),i._fullLayout._reselect=!0),Object.keys(V).length&&JR.call((W||{}).redrawing?"relayout":"_guiRelayout",i,V)}var l=i._fullLayout,u=l._zoomlayer,c=a.dragmode,d=Bie(c),h=KR(c);(d||h)&&(i._fullLayout._outlining=!0),t6(i),r.attr("d",Zie(t));var p,g,m,b,x;if(!n&&(a.isActiveShape||a.isActiveSelection)){x=Qie([],t);var _=u.append("g").attr("class","outline-controllers");q(_),B()}function k(W){m=+W.srcElement.getAttribute("data-i"),b=+W.srcElement.getAttribute("data-j"),p[m][b].moveFn=w}function w(W,V){if(!!t.length){var Y=x[m][b][1],Z=x[m][b][2],$=t[m],ne=$.length;if(fv($)){var te=W,de=V;if(a.isActiveSelection){var be=r6($,b);be[1]===$[b][1]?de=0:te=0}for(var re=0;re1&&!(W.length===2&&W[1][0]==="Z")&&(b===0&&(W[0][0]="M"),t[m]=W,o(),s())}}function M(W,V){if(W===2){m=+V.srcElement.getAttribute("data-i"),b=+V.srcElement.getAttribute("data-j");var Y=t[m];!fv(Y)&&!Z0(Y)&&L()}}function q(W){p=[];for(var V=0;V{"use strict";n6.exports={segmentRE:/[MLHVQCTSZ][^MLHVQCTSZ]*/g,paramRE:/[^\s,]+/g,paramIsX:{M:{0:!0,drawn:0},L:{0:!0,drawn:0},H:{0:!0,drawn:0},V:{},Q:{0:!0,2:!0,drawn:2},C:{0:!0,2:!0,4:!0,drawn:4},T:{0:!0,drawn:0},S:{0:!0,2:!0,drawn:2},Z:{}},paramIsY:{M:{1:!0,drawn:1},L:{1:!0,drawn:1},H:{},V:{0:!0,drawn:0},Q:{1:!0,3:!0,drawn:3},C:{1:!0,3:!0,5:!0,drawn:5},T:{1:!0,drawn:1},S:{1:!0,3:!0,drawn:5},Z:{}},numParams:{M:2,L:2,H:1,V:1,Q:4,C:6,T:2,S:4,Z:0}}});var ps=I(Xr=>{"use strict";var vs=Af(),i6=Re(),dv=tr();Xr.rangeToShapePosition=function(e){return e.type==="log"?e.r2d:function(t){return t}};Xr.shapePositionToRange=function(e){return e.type==="log"?e.d2r:function(t){return t}};Xr.decodeDate=function(e){return function(t){return t.replace&&(t=t.replace("_"," ")),e(t)}};Xr.encodeDate=function(e){return function(t){return e(t).replace(" ","_")}};Xr.extractPathCoords=function(e,t,r){var a=[],n=e.match(vs.segmentRE);return n.forEach(function(i){var o=t[i.charAt(0)].drawn;if(o!==void 0){var s=i.substr(1).match(vs.paramRE);if(!(!s||s.lengthp&&(m="X"),m});return u>p&&(g=g.replace(/[\s,]*X.*/,""),i6.log("Ignoring extra params in segment "+l)),c+g})}});var J0=I((Xxe,p6)=>{"use strict";var o6=bt(),s6=Re(),Nl=tr(),eoe=hs().readPaths,toe=cv(),l6=ro().clearOutlineControllers,X0=It(),$0=Kt(),roe=ar().arrayEditor,u6=Nn(),f6=oo(),ms=Af(),Wa=ps(),Q0=Wa.getPathString;p6.exports={draw:K0,drawOne:c6,eraseActiveShape:ioe};function K0(e){var t=e._fullLayout;t._shapeUpperLayer.selectAll("path").remove(),t._shapeLowerLayer.selectAll("path").remove();for(var r in t._plots){var a=t._plots[r].shapelayer;a&&a.selectAll("path").remove()}for(var n=0;no&&xe>s&&!O.shiftKey?u6.getCursor(De/me,1-Pe/xe):"move";f6(t,ye),de=ye.split("-")[0]}}function ee(O){hv(e)||(l&&(x=V(r.xanchor)),u&&(_=Y(r.yanchor)),r.type==="path"?F=r.path:(p=l?r.x0:V(r.x0),g=u?r.y0:Y(r.y0),m=l?r.x1:V(r.x1),b=u?r.y1:Y(r.y1)),pb?(k=g,M="y0",w=b,q="y1"):(k=b,M="y1",w=g,q="y0"),ge(O),Se(n,r),J(t,r,e),te.moveFn=de==="move"?qe:Le,te.altKey=O.altKey)}function Ae(){hv(e)||(f6(t),U(n),d6(t,e,r),o6.call("_guiRelayout",e,i.getUpdateObj()))}function ke(){hv(e)||U(n)}function qe(O,oe){if(r.type==="path"){var me=function(Pe){return Pe},xe=me,De=me;l?h("xanchor",r.xanchor=Z(x+O)):(xe=function(ye){return Z(V(ye)+O)},N&&N.type==="date"&&(xe=Wa.encodeDate(xe))),u?h("yanchor",r.yanchor=$(_+oe)):(De=function(ye){return $(Y(ye)+oe)},B&&B.type==="date"&&(De=Wa.encodeDate(De))),h("path",r.path=h6(F,xe,De))}else l?h("xanchor",r.xanchor=Z(x+O)):(h("x0",r.x0=Z(p+O)),h("x1",r.x1=Z(m+O))),u?h("yanchor",r.yanchor=$(_+oe)):(h("y0",r.y0=$(g+oe)),h("y1",r.y1=$(b+oe)));t.attr("d",Q0(e,r)),Se(n,r)}function Le(O,oe){if(d){var me=function(we){return we},xe=me,De=me;l?h("xanchor",r.xanchor=Z(x+O)):(xe=function(Me){return Z(V(Me)+O)},N&&N.type==="date"&&(xe=Wa.encodeDate(xe))),u?h("yanchor",r.yanchor=$(_+oe)):(De=function(Me){return $(Y(Me)+oe)},B&&B.type==="date"&&(De=Wa.encodeDate(De))),h("path",r.path=h6(F,xe,De))}else if(c){if(de==="resize-over-start-point"){var Pe=p+O,ye=u?g-oe:g+oe;h("x0",r.x0=l?Pe:Z(Pe)),h("y0",r.y0=u?ye:$(ye))}else if(de==="resize-over-end-point"){var rt=m+O,Ue=u?b-oe:b+oe;h("x1",r.x1=l?rt:Z(rt)),h("y1",r.y1=u?Ue:$(Ue))}}else{var nt=function(we){return de.indexOf(we)!==-1},at=nt("n"),ft=nt("s"),wt=nt("w"),se=nt("e"),Ce=at?k+oe:k,it=ft?w+oe:w,ct=wt?A+O:A,Je=se?L+O:L;u&&(at&&(Ce=k-oe),ft&&(it=w-oe)),(!u&&it-Ce>s||u&&Ce-it>s)&&(h(M,r[M]=u?Ce:$(Ce)),h(q,r[q]=u?it:$(it))),Je-ct>o&&(h(P,r[P]=l?ct:Z(ct)),h(E,r[E]=l?Je:Z(Je)))}t.attr("d",Q0(e,r)),Se(n,r)}function Se(O,oe){(l||u)&&me();function me(){var xe=oe.type!=="path",De=O.selectAll(".visual-cue").data([0]),Pe=1;De.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":Pe}).classed("visual-cue",!0);var ye=V(l?oe.xanchor:s6.midRange(xe?[oe.x0,oe.x1]:Wa.extractPathCoords(oe.path,ms.paramIsX))),rt=Y(u?oe.yanchor:s6.midRange(xe?[oe.y0,oe.y1]:Wa.extractPathCoords(oe.path,ms.paramIsY)));if(ye=Wa.roundPositionForSharpStrokeRendering(ye,Pe),rt=Wa.roundPositionForSharpStrokeRendering(rt,Pe),l&&u){var Ue="M"+(ye-1-Pe)+","+(rt-1-Pe)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";De.attr("d",Ue)}else if(l){var nt="M"+(ye-1-Pe)+","+(rt-9-Pe)+"v18 h2 v-18 Z";De.attr("d",nt)}else{var at="M"+(ye-9-Pe)+","+(rt-1-Pe)+"h18 v2 h-18 Z";De.attr("d",at)}}}function U(O){O.selectAll(".visual-cue").remove()}function J(O,oe,me){var xe=oe.xref,De=oe.yref,Pe=Nl.getFromId(me,xe),ye=Nl.getFromId(me,De),rt="";xe!=="paper"&&!Pe.autorange&&(rt+=xe),De!=="paper"&&!ye.autorange&&(rt+=De),$0.setClipUrl(O,rt?"clip"+me._fullLayout._uid+rt:null,me)}}function h6(e,t,r){return e.replace(ms.segmentRE,function(a){var n=0,i=a.charAt(0),o=ms.paramIsX[i],s=ms.paramIsY[i],l=ms.numParams[i],u=a.substr(1).replace(ms.paramRE,function(c){return n>=l||(o[n]?c=t(c):s[n]&&(c=r(c)),n++),c});return i+u})}function noe(e,t){if(!!vv(e)){var r=t.node(),a=+r.getAttribute("data-index");if(a>=0){if(a===e._fullLayout._activeShapeIndex){v6(e);return}e._fullLayout._activeShapeIndex=a,e._fullLayout._deactivateShape=v6,K0(e)}}}function v6(e){if(!!vv(e)){var t=e._fullLayout._activeShapeIndex;t>=0&&(l6(e),delete e._fullLayout._activeShapeIndex,K0(e))}}function ioe(e){if(!!vv(e)){l6(e);var t=e._fullLayout._activeShapeIndex,r=(e.layout||{}).shapes||[];if(t{"use strict";var yn=bt(),m6=Nr(),g6=Hr(),Ut=rv(),ooe=J0().eraseActiveShape,Fl=Re(),Nt=Fl._,Gt=_6.exports={};Gt.toImage={name:"toImage",title:function(e){var t=e._context.toImageButtonOptions||{},r=t.format||"png";return r==="png"?Nt(e,"Download plot as a png"):Nt(e,"Download plot")},icon:Ut.camera,click:function(e){var t=e._context.toImageButtonOptions,r={format:t.format||"png"};Fl.notifier(Nt(e,"Taking snapshot - this may take a few seconds"),"long"),r.format!=="svg"&&Fl.isIE()&&(Fl.notifier(Nt(e,"IE only supports svg. Changing format to svg."),"long"),r.format="svg"),["filename","width","height","scale"].forEach(function(a){a in t&&(r[a]=t[a])}),yn.call("downloadImage",e,r).then(function(a){Fl.notifier(Nt(e,"Snapshot succeeded")+" - "+a,"long")}).catch(function(){Fl.notifier(Nt(e,"Sorry, there was a problem downloading your snapshot!"),"long")})}};Gt.sendDataToCloud={name:"sendDataToCloud",title:function(e){return Nt(e,"Edit in Chart Studio")},icon:Ut.disk,click:function(e){m6.sendDataToCloud(e)}};Gt.editInChartStudio={name:"editInChartStudio",title:function(e){return Nt(e,"Edit in Chart Studio")},icon:Ut.pencil,click:function(e){m6.sendDataToCloud(e)}};Gt.zoom2d={name:"zoom2d",_cat:"zoom",title:function(e){return Nt(e,"Zoom")},attr:"dragmode",val:"zoom",icon:Ut.zoombox,click:_a};Gt.pan2d={name:"pan2d",_cat:"pan",title:function(e){return Nt(e,"Pan")},attr:"dragmode",val:"pan",icon:Ut.pan,click:_a};Gt.select2d={name:"select2d",_cat:"select",title:function(e){return Nt(e,"Box Select")},attr:"dragmode",val:"select",icon:Ut.selectbox,click:_a};Gt.lasso2d={name:"lasso2d",_cat:"lasso",title:function(e){return Nt(e,"Lasso Select")},attr:"dragmode",val:"lasso",icon:Ut.lasso,click:_a};Gt.drawclosedpath={name:"drawclosedpath",title:function(e){return Nt(e,"Draw closed freeform")},attr:"dragmode",val:"drawclosedpath",icon:Ut.drawclosedpath,click:_a};Gt.drawopenpath={name:"drawopenpath",title:function(e){return Nt(e,"Draw open freeform")},attr:"dragmode",val:"drawopenpath",icon:Ut.drawopenpath,click:_a};Gt.drawline={name:"drawline",title:function(e){return Nt(e,"Draw line")},attr:"dragmode",val:"drawline",icon:Ut.drawline,click:_a};Gt.drawrect={name:"drawrect",title:function(e){return Nt(e,"Draw rectangle")},attr:"dragmode",val:"drawrect",icon:Ut.drawrect,click:_a};Gt.drawcircle={name:"drawcircle",title:function(e){return Nt(e,"Draw circle")},attr:"dragmode",val:"drawcircle",icon:Ut.drawcircle,click:_a};Gt.eraseshape={name:"eraseshape",title:function(e){return Nt(e,"Erase active shape")},icon:Ut.eraseshape,click:ooe};Gt.zoomIn2d={name:"zoomIn2d",_cat:"zoomin",title:function(e){return Nt(e,"Zoom in")},attr:"zoom",val:"in",icon:Ut.zoom_plus,click:_a};Gt.zoomOut2d={name:"zoomOut2d",_cat:"zoomout",title:function(e){return Nt(e,"Zoom out")},attr:"zoom",val:"out",icon:Ut.zoom_minus,click:_a};Gt.autoScale2d={name:"autoScale2d",_cat:"autoscale",title:function(e){return Nt(e,"Autoscale")},attr:"zoom",val:"auto",icon:Ut.autoscale,click:_a};Gt.resetScale2d={name:"resetScale2d",_cat:"resetscale",title:function(e){return Nt(e,"Reset axes")},attr:"zoom",val:"reset",icon:Ut.home,click:_a};Gt.hoverClosestCartesian={name:"hoverClosestCartesian",_cat:"hoverclosest",title:function(e){return Nt(e,"Show closest data on hover")},attr:"hovermode",val:"closest",icon:Ut.tooltip_basic,gravity:"ne",click:_a};Gt.hoverCompareCartesian={name:"hoverCompareCartesian",_cat:"hoverCompare",title:function(e){return Nt(e,"Compare data on hover")},attr:"hovermode",val:function(e){return e._fullLayout._isHoriz?"y":"x"},icon:Ut.tooltip_compare,gravity:"ne",click:_a};function _a(e,t){var r=t.currentTarget,a=r.getAttribute("data-attr"),n=r.getAttribute("data-val")||!0,i=e._fullLayout,o={},s=g6.list(e,null,!0),l=i._cartesianSpikesEnabled,u,c;if(a==="zoom"){var d=n==="in"?.5:2,h=(1+d)/2,p=(1-d)/2,g;for(c=0;c{"use strict";var w6=ab(),uoe=Object.keys(w6),T6=["drawline","drawopenpath","drawclosedpath","drawcircle","drawrect","eraseshape"],A6=["v1hovermode","hoverclosest","hovercompare","togglehover","togglespikelines"].concat(T6),jl=[],foe=function(e){if(A6.indexOf(e._cat||e.name)===-1){var t=e.name,r=(e._cat||e.name).toLowerCase();jl.indexOf(t)===-1&&jl.push(t),jl.indexOf(r)===-1&&jl.push(r)}};uoe.forEach(function(e){foe(w6[e])});jl.sort();k6.exports={DRAW_MODES:T6,backButtons:A6,foreButtons:jl}});var ib=I((Kxe,S6)=>{"use strict";var M6=nb();S6.exports={editType:"modebar",orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"modebar",description:"Sets the orientation of the modebar."},bgcolor:{valType:"color",editType:"modebar",description:"Sets the background color of the modebar."},color:{valType:"color",editType:"modebar",description:"Sets the color of the icons in the modebar."},activecolor:{valType:"color",editType:"modebar",description:"Sets the color of the active or hovered on icons in the modebar."},uirevision:{valType:"any",editType:"none",description:["Controls persistence of user-driven changes related to the modebar,","including `hovermode`, `dragmode`, and `showspikes` at both the","root level and inside subplots. Defaults to `layout.uirevision`."].join(" ")},add:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar",description:["Determines which predefined modebar buttons to add.","Please note that these buttons will only be shown if they are","compatible with all trace types used in a graph.","Similar to `config.modeBarButtonsToAdd` option.","This may include *"+M6.backButtons.join("*, *")+"*."].join(" ")},remove:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar",description:["Determines which predefined modebar buttons to remove.","Similar to `config.modeBarButtonsToRemove` option.","This may include *"+M6.foreButtons.join("*, *")+"*."].join(" ")}}});var L6=I((Jxe,C6)=>{"use strict";var coe=Re(),kf=It(),doe=ar(),hoe=ib();C6.exports=function(t,r){var a=t.modebar||{},n=doe.newContainer(r,"modebar");function i(s,l){return coe.coerce(a,n,hoe,s,l)}i("orientation"),i("bgcolor",kf.addOpacity(r.paper_bgcolor,.5));var o=kf.contrast(kf.rgb(r.modebar.bgcolor));i("color",kf.addOpacity(o,.3)),i("activecolor",kf.addOpacity(o,.7)),i("uirevision",r.uirevision),i("add"),i("remove")}});var R6=I((e_e,P6)=>{"use strict";var ob=Ft(),voe=jt(),Ri=Re(),q6=rv(),poe=wd().version,moe=new DOMParser;function D6(e){this.container=e.container,this.element=document.createElement("div"),this.update(e.graphInfo,e.buttons),this.container.appendChild(this.element)}var ui=D6.prototype;ui.update=function(e,t){this.graphInfo=e;var r=this.graphInfo._context,a=this.graphInfo._fullLayout,n="modebar-"+a._uid;this.element.setAttribute("id",n),this._uid=n,this.element.className="modebar",r.displayModeBar==="hover"&&(this.element.className+=" modebar--hover ease-bg"),a.modebar.orientation==="v"&&(this.element.className+=" vertical",t=t.reverse());var i=a.modebar,o=r.displayModeBar==="hover"?".js-plotly-plot .plotly:hover ":"";Ri.deleteRelatedStyleRule(n),Ri.addRelatedStyleRule(n,o+"#"+n+" .modebar-group","background-color: "+i.bgcolor),Ri.addRelatedStyleRule(n,"#"+n+" .modebar-btn .icon path","fill: "+i.color),Ri.addRelatedStyleRule(n,"#"+n+" .modebar-btn:hover .icon path","fill: "+i.activecolor),Ri.addRelatedStyleRule(n,"#"+n+" .modebar-btn.active .icon path","fill: "+i.activecolor);var s=!this.hasButtons(t),l=this.hasLogo!==r.displaylogo,u=this.locale!==r.locale;if(this.locale=r.locale,(s||l||u)&&(this.removeAllButtons(),this.updateButtons(t),r.watermark||r.displaylogo)){var c=this.getLogo();r.watermark&&(c.className=c.className+" watermark"),a.modebar.orientation==="v"?this.element.insertBefore(c,this.element.childNodes[0]):this.element.appendChild(c),this.hasLogo=!0}this.updateActiveButton()};ui.updateButtons=function(e){var t=this;this.buttons=e,this.buttonElements=[],this.buttonsNames=[],this.buttons.forEach(function(r){var a=t.createGroup();r.forEach(function(n){var i=n.name;if(!i)throw new Error("must provide button 'name' in button config");if(t.buttonsNames.indexOf(i)!==-1)throw new Error("button name '"+i+"' is taken");t.buttonsNames.push(i);var o=t.createButton(n);t.buttonElements.push(o),a.appendChild(o)}),t.element.appendChild(a)})};ui.createGroup=function(){var e=document.createElement("div");return e.className="modebar-group",e};ui.createButton=function(e){var t=this,r=document.createElement("a");r.setAttribute("rel","tooltip"),r.className="modebar-btn";var a=e.title;a===void 0?a=e.name:typeof a=="function"&&(a=a(this.graphInfo)),(a||a===0)&&r.setAttribute("data-title",a),e.attr!==void 0&&r.setAttribute("data-attr",e.attr);var n=e.val;n!==void 0&&(typeof n=="function"&&(n=n(this.graphInfo)),r.setAttribute("data-val",n));var i=e.click;if(typeof i!="function")throw new Error("must provide button 'click' function in button config");r.addEventListener("click",function(s){e.click(t.graphInfo,s),t.updateActiveButton(s.currentTarget)}),r.setAttribute("data-toggle",e.toggle||!1),e.toggle&&ob.select(r).classed("active",!0);var o=e.icon;return typeof o=="function"?r.appendChild(o()):r.appendChild(this.createIcon(o||q6.question)),r.setAttribute("data-gravity",e.gravity||"n"),r};ui.createIcon=function(e){var t=voe(e.height)?Number(e.height):e.ascent-e.descent,r="http://www.w3.org/2000/svg",a;if(e.path){a=document.createElementNS(r,"svg"),a.setAttribute("viewBox",[0,0,e.width,t].join(" ")),a.setAttribute("class","icon");var n=document.createElementNS(r,"path");n.setAttribute("d",e.path),e.transform?n.setAttribute("transform",e.transform):e.ascent!==void 0&&n.setAttribute("transform","matrix(1 0 0 -1 0 "+e.ascent+")"),a.appendChild(n)}if(e.svg){var i=moe.parseFromString(e.svg,"application/xml");a=i.childNodes[0]}return a.setAttribute("height","1em"),a.setAttribute("width","1em"),a};ui.updateActiveButton=function(e){var t=this.graphInfo._fullLayout,r=e!==void 0?e.getAttribute("data-attr"):null;this.buttonElements.forEach(function(a){var n=a.getAttribute("data-val")||!0,i=a.getAttribute("data-attr"),o=a.getAttribute("data-toggle")==="true",s=ob.select(a);if(o)i===r&&s.classed("active",!s.classed("active"));else{var l=i===null?i:Ri.nestedProperty(t,i).get();s.classed("active",l===n)}})};ui.hasButtons=function(e){var t=this.buttons;if(!t||e.length!==t.length)return!1;for(var r=0;r{"use strict";var boe=Hr(),E6=Ja(),sb=bt(),xoe=Mi().isUnifiedHover,_oe=R6(),gv=ab(),woe=nb().DRAW_MODES,Toe=Re().extendDeep;I6.exports=function(t){var r=t._fullLayout,a=t._context,n=r._modeBar;if(!a.displayModeBar&&!a.watermark){n&&(n.destroy(),delete r._modeBar);return}if(!Array.isArray(a.modeBarButtonsToRemove))throw new Error(["*modeBarButtonsToRemove* configuration options","must be an array."].join(" "));if(!Array.isArray(a.modeBarButtonsToAdd))throw new Error(["*modeBarButtonsToAdd* configuration options","must be an array."].join(" "));var i=a.modeBarButtons,o;Array.isArray(i)&&i.length?o=Loe(i):!a.displayModeBar&&a.watermark?o=[]:o=Aoe(t),n?n.update(t,o):r._modeBar=_oe(t,o)};function Aoe(e){var t=e._fullLayout,r=e._fullData,a=e._context;function n(Z,$){if(typeof $=="string"){if($.toLowerCase()===Z.toLowerCase())return!0}else{var ne=$.name,te=$._cat||$.name;if(ne===Z||te===Z.toLowerCase())return!0}return!1}var i=t.modebar.add;typeof i=="string"&&(i=[i]);var o=t.modebar.remove;typeof o=="string"&&(o=[o]);var s=a.modeBarButtonsToAdd.concat(i.filter(function(Z){for(var $=0;$1?(E=["toggleHover"],F=["resetViews"]):d?(P=["zoomInGeo","zoomOutGeo"],E=["hoverClosestGeo"],F=["resetGeo"]):c?(E=["hoverClosest3d"],F=["resetCameraDefault3d","resetCameraLastSave3d"]):b?(P=["zoomInMapbox","zoomOutMapbox"],E=["toggleHover"],F=["resetViewMapbox"]):g?E=["hoverClosestGl2d"]:h?E=["hoverClosestPie"]:k?(E=["hoverClosestCartesian","hoverCompareCartesian"],F=["resetViewSankey"]):E=["toggleHover"],u&&(E=["toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"]),(Soe(r)||A)&&(E=[]),(u||g)&&!w&&(P=["zoomIn2d","zoomOut2d","autoScale2d"],F[0]!=="resetViews"&&(F=["resetScale2d"])),c?N=["zoom3d","pan3d","orbitRotation","tableRotation"]:(u||g)&&!w||m?N=["zoom2d","pan2d"]:b||d?N=["pan2d"]:x&&(N=["zoom2d"]),Moe(r)&&N.push("select2d","lasso2d");var j=[],B=function(Z){j.indexOf(Z)===-1&&E.indexOf(Z)!==-1&&j.push(Z)};if(Array.isArray(s)){for(var W=[],V=0;V{"use strict";N6.exports={moduleType:"component",name:"modebar",layoutAttributes:ib(),supplyLayoutDefaults:L6(),manage:z6()}});var ub=I((a_e,F6)=>{"use strict";var qoe=qa().FROM_BL;F6.exports=function(t,r,a){a===void 0&&(a=qoe[t.constraintoward||"center"]);var n=[t.r2l(t.range[0]),t.r2l(t.range[1])],i=n[0]+(n[1]-n[0])*a;t.range=t._input.range=[t.l2r(i+(n[0]-i)*r),t.l2r(i+(n[1]-i)*r)],t.setScale()}});var Sf=I(Mf=>{"use strict";var gs=Re(),fb=pf(),On=Hr().id2name,Doe=ni(),j6=ub(),Poe=Dh(),Roe=Tr().ALMOST_EQUAL,Eoe=qa().FROM_BL;Mf.handleDefaults=function(e,t,r){var a=r.axIds,n=r.axHasImage,i=t._axisConstraintGroups=[],o=t._axisMatchGroups=[],s,l,u,c,d,h,p,g;for(s=0;si?r.substr(i):a.substr(n))+o}function zoe(e,t){for(var r=t._size,a=r.h/r.w,n={},i=Object.keys(e),o=0;oRoe*g&&!_)){for(i=0;iN&&neE&&(E=ne);var de=(E-P)/(2*F);d/=de,P=l.l2r(P),E=l.l2r(E),l.range=l._input.range=L{"use strict";var Noe=Ft(),wa=bt(),Hn=Nr(),Ei=Re(),hb=tv(),Cf=It(),Lf=Kt(),Foe=hf(),U6=lb(),qf=tr(),Df=qa(),G6=Sf(),joe=G6.enforce,Ooe=G6.clean,W6=pf().doAutoRange,V6="start",Hoe="middle",Y6="end";Gr.layoutStyles=function(e){return Ei.syncOrAsync([Hn.doAutoMargin,Uoe],e)};function Boe(e,t,r){for(var a=0;a=e[1]||n[1]<=e[0])&&i[0]t[0])return!0}return!1}function Uoe(e){var t=e._fullLayout,r=t._size,a=r.p,n=qf.list(e,"",!0),i,o,s,l,u,c;if(t._paperdiv.style({width:e._context.responsive&&t.autosize&&!e._context._hasZeroWidth&&!e.layout.width?"100%":t.width+"px",height:e._context.responsive&&t.autosize&&!e._context._hasZeroHeight&&!e.layout.height?"100%":t.height+"px"}).selectAll(".main-svg").call(Lf.setSize,t.width,t.height),e._context.setBackground(e,t.paper_bgcolor),Gr.drawMainTitle(e),U6.manage(e),!t._has("cartesian"))return Hn.previousPromises(e);function d(Se,U,J){var O=Se._lw/2;if(Se._id.charAt(0)==="x"){if(U){if(J==="top")return U._offset-a-O}else return r.t+r.h*(1-(Se.position||0))+O%1;return U._offset+U._length+a+O}if(U){if(J==="right")return U._offset+U._length+a+O}else return r.l+r.w*(Se.position||0)+O%1;return U._offset-a-O}for(i=0;i{"use strict";var Zoe=hs().readPaths,Xoe=cv(),$6=ro().clearOutlineControllers,vb=It(),Q6=Kt(),$oe=ar().arrayEditor,K6=ps(),Qoe=K6.getPathString;e4.exports={draw:xv,drawOne:J6,activateLastSelection:ese};function xv(e){var t=e._fullLayout;$6(e),t._selectionLayer.selectAll("path").remove();for(var r in t._plots){var a=t._plots[r].selectionLayer;a&&a.selectAll("path").remove()}for(var n=0;n=0;b--){var x=o.append("path").attr(l).style("opacity",b?.1:u).call(vb.stroke,d).call(vb.fill,c).call(Q6.dashLine,b?"solid":p,b?4+h:h);if(Koe(x,e,a),g){var _=$oe(e.layout,"selections",a);x.style({cursor:"move"});var k={element:x.node(),plotinfo:n,gd:e,editHelpers:_,isActiveSelection:!0},w=Zoe(s,e);Xoe(w,x,k)}else x.style("pointer-events",b?"all":"none");m[b]=x}var A=m[0],L=m[1];L.node().addEventListener("click",function(){return Joe(e,A)})}}function Koe(e,t,r){var a=r.xref+r.yref;Q6.setClipUrl(e,"clip"+t._fullLayout._uid+a,t)}function Joe(e,t){if(!!_v(e)){var r=t.node(),a=+r.getAttribute("data-index");if(a>=0){if(a===e._fullLayout._activeSelectionIndex){pb(e);return}e._fullLayout._activeSelectionIndex=a,e._fullLayout._deactivateSelection=pb,xv(e)}}}function ese(e){if(!!_v(e)){var t=e._fullLayout.selections.length-1;e._fullLayout._activeSelectionIndex=t,e._fullLayout._deactivateSelection=pb,xv(e)}}function pb(e){if(!!_v(e)){var t=e._fullLayout._activeSelectionIndex;t>=0&&($6(e),delete e._fullLayout._activeSelectionIndex,xv(e))}}});var r4=I((s_e,t4)=>{function tse(){var e,t=0,r=!1;function a(n,i){return e.list.push({type:n,data:i?JSON.parse(JSON.stringify(i)):void 0}),e}return e={list:[],segmentId:function(){return t++},checkIntersection:function(n,i){return a("check",{seg1:n,seg2:i})},segmentChop:function(n,i){return a("div_seg",{seg:n,pt:i}),a("chop",{seg:n,pt:i})},statusRemove:function(n){return a("pop_seg",{seg:n})},segmentUpdate:function(n){return a("seg_update",{seg:n})},segmentNew:function(n,i){return a("new_seg",{seg:n,primary:i})},segmentRemove:function(n){return a("rem_seg",{seg:n})},tempStatus:function(n,i,o){return a("temp_status",{seg:n,above:i,below:o})},rewind:function(n){return a("rewind",{seg:n})},status:function(n,i,o){return a("status",{seg:n,above:i,below:o})},vert:function(n){return n===r?e:(r=n,a("vert",{x:n}))},log:function(n){return typeof n!="string"&&(n=JSON.stringify(n,!1," ")),a("log",{txt:n})},reset:function(){return a("reset")},selected:function(n){return a("selected",{segs:n})},chainStart:function(n){return a("chain_start",{seg:n})},chainRemoveHead:function(n,i){return a("chain_rem_head",{index:n,pt:i})},chainRemoveTail:function(n,i){return a("chain_rem_tail",{index:n,pt:i})},chainNew:function(n,i){return a("chain_new",{pt1:n,pt2:i})},chainMatch:function(n){return a("chain_match",{index:n})},chainClose:function(n){return a("chain_close",{index:n})},chainAddHead:function(n,i){return a("chain_add_head",{index:n,pt:i})},chainAddTail:function(n,i){return a("chain_add_tail",{index:n,pt:i})},chainConnect:function(n,i){return a("chain_con",{index1:n,index2:i})},chainReverse:function(n){return a("chain_rev",{index:n})},chainJoin:function(n,i){return a("chain_join",{index1:n,index2:i})},done:function(){return a("done")}},e}t4.exports=tse});var n4=I((l_e,a4)=>{function rse(e){typeof e!="number"&&(e=1e-10);var t={epsilon:function(r){return typeof r=="number"&&(e=r),e},pointAboveOrOnLine:function(r,a,n){var i=a[0],o=a[1],s=n[0],l=n[1],u=r[0],c=r[1];return(s-i)*(c-o)-(l-o)*(u-i)>=-e},pointBetween:function(r,a,n){var i=r[1]-a[1],o=n[0]-a[0],s=r[0]-a[0],l=n[1]-a[1],u=s*o+i*l;if(u-e)},pointsSameX:function(r,a){return Math.abs(r[0]-a[0])e!=s-i>e&&(o-c)*(i-d)/(s-d)+c-n>e&&(l=!l),o=c,s=d}return l}};return t}a4.exports=rse});var o4=I((u_e,i4)=>{var ase={create:function(){var e={root:{root:!0,next:null},exists:function(t){return!(t===null||t===e.root)},isEmpty:function(){return e.root.next===null},getHead:function(){return e.root.next},insertBefore:function(t,r){for(var a=e.root,n=e.root.next;n!==null;){if(r(n)){t.prev=n.prev,t.next=n,n.prev.next=t,n.prev=t;return}a=n,n=n.next}a.next=t,t.prev=a,t.next=null},findTransition:function(t){for(var r=e.root,a=e.root.next;a!==null&&!t(a);)r=a,a=a.next;return{before:r===e.root?null:r,after:a,insert:function(n){return n.prev=r,n.next=a,r.next=n,a!==null&&(a.prev=n),n}}}};return e},node:function(e){return e.prev=null,e.next=null,e.remove=function(){e.prev.next=e.next,e.next&&(e.next.prev=e.prev),e.prev=null,e.next=null},e}};i4.exports=ase});var l4=I((f_e,s4)=>{var Pf=o4();function nse(e,t,r){function a(g,m){return{id:r?r.segmentId():-1,start:g,end:m,myFill:{above:null,below:null},otherFill:null}}function n(g,m,b){return{id:r?r.segmentId():-1,start:g,end:m,myFill:{above:b.myFill.above,below:b.myFill.below},otherFill:null}}var i=Pf.create();function o(g,m,b,x,_,k){var w=t.pointsCompare(m,_);return w!==0?w:t.pointsSame(b,k)?0:g!==x?g?1:-1:t.pointAboveOrOnLine(b,x?_:k,x?k:_)?1:-1}function s(g,m){i.insertBefore(g,function(b){var x=o(g.isStart,g.pt,m,b.isStart,b.pt,b.other.pt);return x<0})}function l(g,m){var b=Pf.node({isStart:!0,pt:g.start,seg:g,primary:m,other:null,status:null});return s(b,g.end),b}function u(g,m,b){var x=Pf.node({isStart:!1,pt:m.end,seg:m,primary:b,other:g,status:null});g.other=x,s(x,g.pt)}function c(g,m){var b=l(g,m);return u(b,g,m),b}function d(g,m){r&&r.segmentChop(g.seg,m),g.other.remove(),g.seg.end=m,g.other.pt=m,s(g.other,g.pt)}function h(g,m){var b=n(m,g.seg.end,g.seg);return d(g,m),c(b,g.primary)}function p(g,m){var b=Pf.create();function x(W,V){var Y=W.seg.start,Z=W.seg.end,$=V.seg.start,ne=V.seg.end;return t.pointsCollinear(Y,$,ne)?t.pointsCollinear(Z,$,ne)||t.pointAboveOrOnLine(Z,$,ne)?1:-1:t.pointAboveOrOnLine(Y,$,ne)?1:-1}function _(W){return b.findTransition(function(V){var Y=x(W,V.ev);return Y>0})}function k(W,V){var Y=W.seg,Z=V.seg,$=Y.start,ne=Y.end,te=Z.start,de=Z.end;r&&r.checkIntersection(Y,Z);var be=t.linesIntersect($,ne,te,de);if(be===!1){if(!t.pointsCollinear($,ne,te)||t.pointsSame($,de)||t.pointsSame(ne,te))return!1;var re=t.pointsSame($,te),ge=t.pointsSame(ne,de);if(re&&ge)return V;var ee=!re&&t.pointBetween($,te,de),Ae=!ge&&t.pointBetween(ne,te,de);if(re)return Ae?h(V,ne):h(W,de),V;ee&&(ge||(Ae?h(V,ne):h(W,de)),h(V,$))}else be.alongA===0&&(be.alongB===-1?h(W,te):be.alongB===0?h(W,be.pt):be.alongB===1&&h(W,de)),be.alongB===0&&(be.alongA===-1?h(V,$):be.alongA===0?h(V,be.pt):be.alongA===1&&h(V,ne));return!1}for(var w=[];!i.isEmpty();){var A=i.getHead();if(r&&r.vert(A.pt[0]),A.isStart){let W=function(){if(M){var V=k(A,M);if(V)return V}return q?k(A,q):!1};var B=W;r&&r.segmentNew(A.seg,A.primary);var L=_(A),M=L.before?L.before.ev:null,q=L.after?L.after.ev:null;r&&r.tempStatus(A.seg,M?M.seg:!1,q?q.seg:!1);var P=W();if(P){if(e){var E;A.seg.myFill.below===null?E=!0:E=A.seg.myFill.above!==A.seg.myFill.below,E&&(P.seg.myFill.above=!P.seg.myFill.above)}else P.seg.otherFill=A.seg.myFill;r&&r.segmentUpdate(P.seg),A.other.remove(),A.remove()}if(i.getHead()!==A){r&&r.rewind(A.seg);continue}if(e){var E;A.seg.myFill.below===null?E=!0:E=A.seg.myFill.above!==A.seg.myFill.below,q?A.seg.myFill.below=q.seg.myFill.above:A.seg.myFill.below=g,E?A.seg.myFill.above=!A.seg.myFill.below:A.seg.myFill.above=A.seg.myFill.below}else if(A.seg.otherFill===null){var F;q?A.primary===q.primary?F=q.seg.otherFill.above:F=q.seg.myFill.above:F=A.primary?m:g,A.seg.otherFill={above:F,below:F}}r&&r.status(A.seg,M?M.seg:!1,q?q.seg:!1),A.other.status=L.insert(Pf.node({ev:A}))}else{var N=A.status;if(N===null)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(b.exists(N.prev)&&b.exists(N.next)&&k(N.prev.ev,N.next.ev),r&&r.statusRemove(N.ev.seg),N.remove(),!A.primary){var j=A.seg.myFill;A.seg.myFill=A.seg.otherFill,A.seg.otherFill=j}w.push(A.seg)}i.getHead().remove()}return r&&r.done(),w}return e?{addRegion:function(g){for(var m,b=g[g.length-1],x=0;x{function ise(e,t,r){var a=[],n=[];return e.forEach(function(i){var o=i.start,s=i.end;if(t.pointsSame(o,s)){console.warn("PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large");return}r&&r.chainStart(i);var l={index:0,matches_head:!1,matches_pt1:!1},u={index:0,matches_head:!1,matches_pt1:!1},c=l;function d(B,W,V){return c.index=B,c.matches_head=W,c.matches_pt1=V,c===l?(c=u,!1):(c=null,!0)}for(var h=0;h{function Rf(e,t,r){var a=[];return e.forEach(function(n){var i=(n.myFill.above?8:0)+(n.myFill.below?4:0)+(n.otherFill&&n.otherFill.above?2:0)+(n.otherFill&&n.otherFill.below?1:0);t[i]!==0&&a.push({id:r?r.segmentId():-1,start:n.start,end:n.end,myFill:{above:t[i]===1,below:t[i]===2},otherFill:null})}),r&&r.selected(a),a}var ose={union:function(e,t){return Rf(e,[0,2,1,0,2,2,0,0,1,0,1,0,0,0,0,0],t)},intersect:function(e,t){return Rf(e,[0,0,0,0,0,2,0,2,0,0,1,1,0,2,1,0],t)},difference:function(e,t){return Rf(e,[0,0,0,0,2,0,2,0,1,1,0,0,0,1,2,0],t)},differenceRev:function(e,t){return Rf(e,[0,2,1,0,0,0,1,1,0,2,0,2,0,0,0,0],t)},xor:function(e,t){return Rf(e,[0,2,1,0,2,0,0,1,1,0,0,2,0,1,2,0],t)}};c4.exports=ose});var v4=I((h_e,h4)=>{var sse={toPolygon:function(e,t){function r(i){if(i.length<=0)return e.segments({inverted:!1,regions:[]});function o(u){var c=u.slice(0,u.length-1);return e.segments({inverted:!1,regions:[c]})}for(var s=o(i[0]),l=1;l{var lse=r4(),use=n4(),p4=l4(),fse=f4(),Ef=d4(),m4=v4(),bn=!1,If=use(),Va;Va={buildLog:function(e){return e===!0?bn=lse():e===!1&&(bn=!1),bn===!1?!1:bn.list},epsilon:function(e){return If.epsilon(e)},segments:function(e){var t=p4(!0,If,bn);return e.regions.forEach(t.addRegion),{segments:t.calculate(e.inverted),inverted:e.inverted}},combine:function(e,t){var r=p4(!1,If,bn);return{combined:r.calculate(e.segments,e.inverted,t.segments,t.inverted),inverted1:e.inverted,inverted2:t.inverted}},selectUnion:function(e){return{segments:Ef.union(e.combined,bn),inverted:e.inverted1||e.inverted2}},selectIntersect:function(e){return{segments:Ef.intersect(e.combined,bn),inverted:e.inverted1&&e.inverted2}},selectDifference:function(e){return{segments:Ef.difference(e.combined,bn),inverted:e.inverted1&&!e.inverted2}},selectDifferenceRev:function(e){return{segments:Ef.differenceRev(e.combined,bn),inverted:!e.inverted1&&e.inverted2}},selectXor:function(e){return{segments:Ef.xor(e.combined,bn),inverted:e.inverted1!==e.inverted2}},polygon:function(e){return{regions:fse(e.segments,If,bn),inverted:e.inverted}},polygonFromGeoJSON:function(e){return m4.toPolygon(Va,e)},polygonToGeoJSON:function(e){return m4.fromPolygon(Va,If,e)},union:function(e,t){return zf(e,t,Va.selectUnion)},intersect:function(e,t){return zf(e,t,Va.selectIntersect)},difference:function(e,t){return zf(e,t,Va.selectDifference)},differenceRev:function(e,t){return zf(e,t,Va.selectDifferenceRev)},xor:function(e,t){return zf(e,t,Va.selectXor)}};function zf(e,t,r){var a=Va.segments(e),n=Va.segments(t),i=Va.combine(a,n),o=r(i);return Va.polygon(o)}typeof window=="object"&&(window.PolyBool=Va);g4.exports=Va});var x4=I((p_e,b4)=>{b4.exports=function(t,r,a,n){var i=t[0],o=t[1],s=!1;a===void 0&&(a=0),n===void 0&&(n=r.length);for(var l=n-a,u=0,c=l-1;uo!=g>o&&i<(p-d)*(o-h)/(g-h)+d;m&&(s=!s)}return s}});var yb=I((m_e,_4)=>{"use strict";var gb=Bd().dot,wv=Tr().BADNUM,Tv=_4.exports={};Tv.tester=function(t){var r=t.slice(),a=r[0][0],n=a,i=r[0][1],o=i,s;for((r[r.length-1][0]!==r[0][0]||r[r.length-1][1]!==r[0][1])&&r.push(r[0]),s=1;sn||x===wv||xo||m&&u(g))}function d(g,m){var b=g[0],x=g[1];if(b===wv||bn||x===wv||xo)return!1;var _=r.length,k=r[0][0],w=r[0][1],A=0,L,M,q,P,E;for(L=1;L<_;L++)if(M=k,q=w,k=r[L][0],w=r[L][1],P=Math.min(M,k),!(bMath.max(M,k)||x>Math.max(q,w)))if(xs||Math.abs(gb(d,u))>n)return!0;return!1};Tv.filter=function(t,r){var a=[t[0]],n=0,i=0;function o(l){t.push(l);var u=a.length,c=n;a.splice(i+1);for(var d=c+1;d1){var s=t.pop();o(s)}return{addPt:o,raw:t,filtered:a}}});var T4=I((g_e,w4)=>{"use strict";w4.exports={BENDPX:1.5,MINSELECT:12,SELECTDELAY:100,SELECTID:"-select"}});var W4=I((y_e,G4)=>{"use strict";var A4=y4(),cse=x4(),Nf=bt(),dse=Kt().dashStyle,Ff=It(),hse=qi(),vse=Mi().makeEventData,jf=El(),pse=jf.freeMode,mse=jf.rectMode,Of=jf.drawMode,bb=jf.openMode,xb=jf.selectMode,k4=ps(),M4=Af(),S4=cv(),C4=ro().clearOutline,L4=hs(),_b=L4.handleEllipse,gse=L4.readPaths,yse=G0(),bse=V0(),xse=mb().activateLastSelection,Av=Re(),_se=Av.sorterAsc,q4=yb(),Hf=Jd(),xn=Hr().getFromId,wse=tv(),Tse=bv().redrawReglTraces,kv=T4(),fi=kv.MINSELECT,Ase=q4.filter,wb=q4.tester,Tb=iv(),D4=Tb.p2r,kse=Tb.axValue,Mse=Tb.getTransform;function Ab(e){return e.subplot!==void 0}function Sse(e,t,r,a,n){var i=!Ab(a),o=pse(n),s=mse(n),l=bb(n),u=Of(n),c=xb(n),d=n==="drawline",h=n==="drawcircle",p=d||h,g=a.gd,m=g._fullLayout,b=c&&m.newselection.mode==="immediate"&&i,x=m._zoomlayer,_=a.element.getBoundingClientRect(),k=a.plotinfo,w=Mse(k),A=t-_.left,L=r-_.top;m._calcInverseTransform(g);var M=Av.apply3DTransform(m._invTransform)(A,L);A=M[0],L=M[1];var q=m._invScaleX,P=m._invScaleY,E=A,F=L,N="M"+A+","+L,j=a.xaxes[0],B=a.yaxes[0],W=j._length,V=B._length,Y=e.altKey&&!(Of(n)&&l),Z,$,ne,te,de,be,re;R4(e,g,a),o&&(Z=Ase([[A,L]],kv.BENDPX));var ge=x.selectAll("path.select-outline-"+k.id).data([1]),ee=u?m.newshape:m.newselection,Ae=u&&!l?ee.fillcolor:"rgba(0,0,0,0)",ke=ee.line.color||(i?Ff.contrast(g._fullLayout.plot_bgcolor):"#7f7f7f");ge.enter().append("path").attr("class","select-outline select-outline-"+k.id).style({opacity:u?ee.opacity/2:1,"stroke-dasharray":dse(ee.line.dash,ee.line.width),"stroke-width":ee.line.width+"px","shape-rendering":"crispEdges"}).call(Ff.stroke,ke).call(Ff.fill,Ae).attr("fill-rule","evenodd").classed("cursor-move",!!u).attr("transform",w).attr("d",N+"Z");var qe=x.append("path").attr("class","zoombox-corners").style({fill:Ff.background,stroke:Ff.defaultLine,"stroke-width":1}).attr("transform",w).attr("d","M0,0Z"),Le=m._uid+kv.SELECTID,Se=[],U=Mv(g,a.xaxes,a.yaxes,a.subplot);b&&!e.shiftKey&&(a._clearSubplotSelections=function(){if(!!i){var O=j._id,oe=B._id;O4(g,O,oe,U);for(var me=(g.layout||{}).selections||[],xe=[],De=!1,Pe=0;Pe=0){g._fullLayout._deactivateShape(g);return}if(!u){var me=m.clickmode;Hf.done(Le).then(function(){if(Hf.clear(Le),O===2){for(ge.remove(),de=0;de-1&&P4(oe,g,a.xaxes,a.yaxes,a.subplot,a,ge),me==="event"&&Gf(g,void 0);hse.click(g,oe)}).catch(Av.error)}},a.doneFn=function(){qe.remove(),Hf.done(Le).then(function(){Hf.clear(Le),!b&&te&&a.selectionDefs&&(te.subtract=Y,a.selectionDefs.push(te),a.mergedPolygons.length=0,[].push.apply(a.mergedPolygons,ne)),(b||u)&&Bf(a,b),a.doneFnCompleted&&a.doneFnCompleted(Se),c&&Gf(g,re)}).catch(Av.error)}}function P4(e,t,r,a,n,i,o){var s=t._hoverdata,l=t._fullLayout,u=l.clickmode,c=u.indexOf("event")>-1,d=[],h,p,g,m,b,x,_,k,w,A;if(Pse(s)){R4(e,t,i),h=Mv(t,r,a,n);var L=Rse(s,h),M=L.pointNumbers.length>0;if(M?Ese(h,L):Ise(h)&&(_=I4(L))){for(o&&o.remove(),A=0;A=0}function Dse(e){return e._fullLayout._activeSelectionIndex>=0}function Bf(e,t){var r=e.dragmode,a=e.plotinfo,n=e.gd;qse(n)&&n._fullLayout._deactivateShape(n),Dse(n)&&n._fullLayout._deactivateSelection(n);var i=n._fullLayout,o=i._zoomlayer,s=Of(r),l=xb(r);if(s||l){var u=o.selectAll(".select-outline-"+a.id);if(u&&n._fullLayout._outlining){var c;s&&(c=yse(u,e)),c&&Nf.call("_guiRelayout",n,{shapes:c});var d;l&&!Ab(e)&&(d=bse(u,e)),d&&(n._fullLayout._noEmitSelectedAtStart=!0,Nf.call("_guiRelayout",n,{selections:d}).then(function(){t&&xse(n)})),n._fullLayout._outlining=!1}}a.selection={},a.selection.selectionDefs=e.selectionDefs=[],a.selection.mergedPolygons=e.mergedPolygons=[]}function E4(e){return e._id}function Mv(e,t,r,a){if(!e.calcdata)return[];var n=[],i=t.map(E4),o=r.map(E4),s,l,u;for(u=0;u0,i=n?a[0]:r;return t.selectedpoints?t.selectedpoints.indexOf(i)>-1:!1}function Ese(e,t){var r=[],a,n,i,o;for(o=0;o0&&r.push(a);if(r.length===1&&(i=r[0]===t.searchInfo,i&&(n=t.searchInfo.cd[0].trace,n.selectedpoints.length===t.pointNumbers.length))){for(o=0;o1||(t+=a.selectedpoints.length,t>1)))return!1;return t===1}function Uf(e,t,r){var a;for(a=0;a-1&&t;if(!o&&t){var oe=H4(e,!0);if(oe.length){var me=oe[0].xref,xe=oe[0].yref;if(me&&xe){var De=B4(oe),Pe=U4([xn(e,me,"x"),xn(e,xe,"y")]);Pe(U,De)}}e._fullLayout._noEmitSelectedAtStart?e._fullLayout._noEmitSelectedAtStart=!1:O&&Gf(e,U),h._reselect=!1}if(!o&&h._deselect){var ye=h._deselect;s=ye.xref,l=ye.yref,Fse(s,l,c)||O4(e,s,l,a),O&&(U.points.length?Gf(e,U):Lb(e)),h._deselect=!1}return{eventData:U,selectionTesters:r}}function Nse(e){var t=e.calcdata;if(!!t)for(var r=0;r{"use strict";V4.exports=[{path:"",backoff:0},{path:"M-2.4,-3V3L0.6,0Z",backoff:.6},{path:"M-3.7,-2.5V2.5L1.3,0Z",backoff:1.3},{path:"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z",backoff:1.55},{path:"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z",backoff:1.6},{path:"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z",backoff:2},{path:"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z",backoff:0,noRotate:!0},{path:"M2,2V-2H-2V2Z",backoff:0,noRotate:!0}]});var Wf=I((x_e,Y4)=>{"use strict";Y4.exports={axisRefDescription:function(e,t,r){return["If set to a",e,"axis id (e.g. *"+e+"* or","*"+e+"2*), the `"+e+"` position refers to a",e,"coordinate. If set to *paper*, the `"+e+"`","position refers to the distance from the",t,"of the plotting","area in normalized coordinates where *0* (*1*) corresponds to the",t,"("+r+"). If set to a",e,"axis ID followed by","*domain* (separated by a space), the position behaves like for","*paper*, but refers to the distance in fractions of the domain","length from the",t,"of the domain of that axis: e.g.,","*"+e+"2 domain* refers to the domain of the second",e," axis and a",e,"position of 0.5 refers to the","point between the",t,"and the",r,"of the domain of the","second",e,"axis."].join(" ")}}});var Ol=I((__e,K4)=>{"use strict";var Z4=qb(),X4=La(),Cv=ga(),Use=ar().templatedArray,Lv=Wf();function $4(e){return["In order for absolute positioning of the arrow to work, *a"+e+"ref* must be exactly the same as *"+e+"ref*, otherwise *a"+e+"ref* will revert to *pixel* (explained next).","For relative positioning, *a"+e+"ref* can be set to *pixel*,","in which case the *a"+e+"* value is specified in pixels","relative to *"+e+"*.","Absolute positioning is useful","for trendline annotations which should continue to indicate","the correct trend when zoomed. Relative positioning is useful","for specifying the text offset for an annotated point."].join(" ")}function Q4(e,t,r){return["Sets the",e,"component of the arrow tail about the arrow head.","If `a"+e+"ref` is `pixel`, a positive (negative)","component corresponds to an arrow pointing","from",r,"to",t,"("+t,"to",r+").","If `a"+e+"ref` is not `pixel` and is exactly the same as `"+e+"ref`,","this is an absolute value on that axis,","like `"+e+"`, specified in the same coordinates as `"+e+"ref`."].join(" ")}K4.exports=Use("annotation",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw",description:["Determines whether or not this annotation is visible."].join(" ")},text:{valType:"string",editType:"calc+arraydraw",description:["Sets the text associated with this annotation.","Plotly uses a subset of HTML tags to do things like","newline (
), bold (), italics (),","hyperlinks (). Tags , , "," are also supported."].join(" ")},textangle:{valType:"angle",dflt:0,editType:"calc+arraydraw",description:["Sets the angle at which the `text` is drawn","with respect to the horizontal."].join(" ")},font:X4({editType:"calc+arraydraw",colorEditType:"arraydraw",description:"Sets the annotation text font."}),width:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw",description:["Sets an explicit width for the text box. null (default) lets the","text set the box width. Wider text will be clipped.","There is no automatic wrapping; use
to start a new line."].join(" ")},height:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw",description:["Sets an explicit height for the text box. null (default) lets the","text set the box height. Taller text will be clipped."].join(" ")},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw",description:"Sets the opacity of the annotation (text + arrow)."},align:{valType:"enumerated",values:["left","center","right"],dflt:"center",editType:"arraydraw",description:["Sets the horizontal alignment of the `text` within the box.","Has an effect only if `text` spans two or more lines","(i.e. `text` contains one or more
HTML tags) or if an","explicit width is set to override the text width."].join(" ")},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"arraydraw",description:["Sets the vertical alignment of the `text` within the box.","Has an effect only if an explicit height is set to override","the text height."].join(" ")},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw",description:"Sets the background color of the annotation."},bordercolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw",description:["Sets the color of the border enclosing the annotation `text`."].join(" ")},borderpad:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw",description:["Sets the padding (in px) between the `text`","and the enclosing border."].join(" ")},borderwidth:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw",description:["Sets the width (in px) of the border enclosing","the annotation `text`."].join(" ")},showarrow:{valType:"boolean",dflt:!0,editType:"calc+arraydraw",description:["Determines whether or not the annotation is drawn with an arrow.","If *true*, `text` is placed near the arrow's tail.","If *false*, `text` lines up with the `x` and `y` provided."].join(" ")},arrowcolor:{valType:"color",editType:"arraydraw",description:"Sets the color of the annotation arrow."},arrowhead:{valType:"integer",min:0,max:Z4.length,dflt:1,editType:"arraydraw",description:"Sets the end annotation arrow head style."},startarrowhead:{valType:"integer",min:0,max:Z4.length,dflt:1,editType:"arraydraw",description:"Sets the start annotation arrow head style."},arrowside:{valType:"flaglist",flags:["end","start"],extras:["none"],dflt:"end",editType:"arraydraw",description:"Sets the annotation arrow head position."},arrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw",description:["Sets the size of the end annotation arrow head, relative to `arrowwidth`.","A value of 1 (default) gives a head about 3x as wide as the line."].join(" ")},startarrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw",description:["Sets the size of the start annotation arrow head, relative to `arrowwidth`.","A value of 1 (default) gives a head about 3x as wide as the line."].join(" ")},arrowwidth:{valType:"number",min:.1,editType:"calc+arraydraw",description:"Sets the width (in px) of annotation arrow line."},standoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw",description:["Sets a distance, in pixels, to move the end arrowhead away from the","position it is pointing at, for example to point at the edge of","a marker independent of zoom. Note that this shortens the arrow","from the `ax` / `ay` vector, in contrast to `xshift` / `yshift`","which moves everything by this amount."].join(" ")},startstandoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw",description:["Sets a distance, in pixels, to move the start arrowhead away from the","position it is pointing at, for example to point at the edge of","a marker independent of zoom. Note that this shortens the arrow","from the `ax` / `ay` vector, in contrast to `xshift` / `yshift`","which moves everything by this amount."].join(" ")},ax:{valType:"any",editType:"calc+arraydraw",description:[Q4("x","left","right")].join(" ")},ay:{valType:"any",editType:"calc+arraydraw",description:[Q4("y","top","bottom")].join(" ")},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",Cv.idRegex.x.toString()],editType:"calc",description:["Indicates in what coordinates the tail of the","annotation (ax,ay) is specified.",Lv.axisRefDescription("x","left","right"),$4("x")].join(" ")},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",Cv.idRegex.y.toString()],editType:"calc",description:["Indicates in what coordinates the tail of the","annotation (ax,ay) is specified.",Lv.axisRefDescription("y","bottom","top"),$4("y")].join(" ")},xref:{valType:"enumerated",values:["paper",Cv.idRegex.x.toString()],editType:"calc",description:["Sets the annotation's x coordinate axis.",Lv.axisRefDescription("x","left","right")].join(" ")},x:{valType:"any",editType:"calc+arraydraw",description:["Sets the annotation's x position.","If the axis `type` is *log*, then you must take the","log of your desired range.","If the axis `type` is *date*, it should be date strings,","like date data, though Date objects and unix milliseconds","will be accepted and converted to strings.","If the axis `type` is *category*, it should be numbers,","using the scale where each category is assigned a serial","number from zero in the order it appears."].join(" ")},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw",description:["Sets the text box's horizontal position anchor","This anchor binds the `x` position to the *left*, *center*","or *right* of the annotation.","For example, if `x` is set to 1, `xref` to *paper* and","`xanchor` to *right* then the right-most portion of the","annotation lines up with the right-most edge of the","plotting area.","If *auto*, the anchor is equivalent to *center* for","data-referenced annotations or if there is an arrow,","whereas for paper-referenced with no arrow, the anchor picked","corresponds to the closest side."].join(" ")},xshift:{valType:"number",dflt:0,editType:"calc+arraydraw",description:["Shifts the position of the whole annotation and arrow to the","right (positive) or left (negative) by this many pixels."].join(" ")},yref:{valType:"enumerated",values:["paper",Cv.idRegex.y.toString()],editType:"calc",description:["Sets the annotation's y coordinate axis.",Lv.axisRefDescription("y","bottom","top")].join(" ")},y:{valType:"any",editType:"calc+arraydraw",description:["Sets the annotation's y position.","If the axis `type` is *log*, then you must take the","log of your desired range.","If the axis `type` is *date*, it should be date strings,","like date data, though Date objects and unix milliseconds","will be accepted and converted to strings.","If the axis `type` is *category*, it should be numbers,","using the scale where each category is assigned a serial","number from zero in the order it appears."].join(" ")},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"calc+arraydraw",description:["Sets the text box's vertical position anchor","This anchor binds the `y` position to the *top*, *middle*","or *bottom* of the annotation.","For example, if `y` is set to 1, `yref` to *paper* and","`yanchor` to *top* then the top-most portion of the","annotation lines up with the top-most edge of the","plotting area.","If *auto*, the anchor is equivalent to *middle* for","data-referenced annotations or if there is an arrow,","whereas for paper-referenced with no arrow, the anchor picked","corresponds to the closest side."].join(" ")},yshift:{valType:"number",dflt:0,editType:"calc+arraydraw",description:["Shifts the position of the whole annotation and arrow up","(positive) or down (negative) by this many pixels."].join(" ")},clicktoshow:{valType:"enumerated",values:[!1,"onoff","onout"],dflt:!1,editType:"arraydraw",description:["Makes this annotation respond to clicks on the plot.","If you click a data point that exactly matches the `x` and `y`","values of this annotation, and it is hidden (visible: false),","it will appear. In *onoff* mode, you must click the same point","again to make it disappear, so if you click multiple points,","you can show multiple annotations. In *onout* mode, a click","anywhere else in the plot (on another data point or not) will","hide this annotation.","If you need to show/hide this annotation in response to different","`x` or `y` values, you can set `xclick` and/or `yclick`. This is","useful for example to label the side of a bar. To label markers","though, `standoff` is preferred over `xclick` and `yclick`."].join(" ")},xclick:{valType:"any",editType:"arraydraw",description:["Toggle this annotation when clicking a data point whose `x` value","is `xclick` rather than the annotation's `x` value."].join(" ")},yclick:{valType:"any",editType:"arraydraw",description:["Toggle this annotation when clicking a data point whose `y` value","is `yclick` rather than the annotation's `y` value."].join(" ")},hovertext:{valType:"string",editType:"arraydraw",description:["Sets text to appear when hovering over this annotation.","If omitted or blank, no hover label will appear."].join(" ")},hoverlabel:{bgcolor:{valType:"color",editType:"arraydraw",description:["Sets the background color of the hover label.","By default uses the annotation's `bgcolor` made opaque,","or white if it was transparent."].join(" ")},bordercolor:{valType:"color",editType:"arraydraw",description:["Sets the border color of the hover label.","By default uses either dark grey or white, for maximum","contrast with `hoverlabel.bgcolor`."].join(" ")},font:X4({editType:"arraydraw",description:["Sets the hover label text font.","By default uses the global hover font and size,","with color from `hoverlabel.bordercolor`."].join(" ")}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw",description:["Determines whether the annotation text box captures mouse move","and click events, or allows those events to pass through to data","points in the plot that may be behind the annotation. By default","`captureevents` is *false* unless `hovertext` is provided.","If you use the event `plotly_clickannotation` without `hovertext`","you must explicitly enable `captureevents`."].join(" ")},editType:"calc",_deprecated:{ref:{valType:"string",editType:"calc",description:["Obsolete. Set `xref` and `yref` separately instead."].join(" ")}}})});var Vf=I(Db=>{"use strict";var J4=Jg(),Gse=J4.FORMAT_LINK,Wse=J4.DATE_FORMAT_LINK;function eE(e){var t=e&&e.supportOther;return["Variables are inserted using %{variable},",'for example "y: %{y}"'+(t?" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown.":"."),`Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}".`,Gse,"for details on the formatting syntax.",`Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}".`,Wse,"for details on the date formatting syntax."].join(" ")}function tE(e){var t=e.description?" "+e.description:"",r=e.keys||[];if(r.length>0){for(var a=[],n=0;n` is displayed in the secondary box, for example "{fullData.name}".',"To hide the secondary box completely, use an empty tag ``."].join(" ")};return e.arrayOk!==!1&&(a.arrayOk=!0),a};Db.texttemplateAttrs=function(e,t){e=e||{},t=t||{};var r=tE(t),a={valType:"string",dflt:"",editType:e.editType||"calc",description:["Template string used for rendering the information text that appear on points.","Note that this will override `textinfo`.",eE(),"Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.",r].join(" ")};return e.arrayOk!==!1&&(a.arrayOk=!0),a}});var qv=I((T_e,rE)=>{"use strict";rE.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20,eventDataKeys:[]}});var Hl=I((A_e,uE)=>{"use strict";var aE=mh().axisHoverFormat,Vse=Vf().texttemplateAttrs,Yse=Vf().hovertemplateAttrs,nE=ff(),Zse=La(),Xse=yi().dash,$se=yi().pattern,Qse=Kt(),iE=qv(),Pb=ra().extendFlat;function oE(e){return{valType:"any",dflt:0,editType:"calc",description:["Only relevant when the axis `type` is *date*.","Sets the period positioning in milliseconds or *M* on the "+e+" axis.","Special values in the form of *M* could be used to declare","the number of months. In this case `n` must be a positive integer."].join(" ")}}function sE(e){return{valType:"any",editType:"calc",description:["Only relevant when the axis `type` is *date*.","Sets the base for period positioning in milliseconds or date string on the "+e+" axis.","When `"+e+"period` is round number of weeks,","the `"+e+"period0` by default would be on a Sunday i.e. 2000-01-02,","otherwise it would be at 2000-01-01."].join(" ")}}function lE(e){return{valType:"enumerated",values:["start","middle","end"],dflt:"middle",editType:"calc",description:["Only relevant when the axis `type` is *date*.","Sets the alignment of data points on the "+e+" axis."].join(" ")}}uE.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0,description:"Sets the x coordinates."},x0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:!0,description:["Alternate to `x`.","Builds a linear space of x coordinates.","Use with `dx`","where `x0` is the starting coordinate and `dx` the step."].join(" ")},dx:{valType:"number",dflt:1,editType:"calc",anim:!0,description:["Sets the x coordinate step.","See `x0` for more info."].join(" ")},y:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0,description:"Sets the y coordinates."},y0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:!0,description:["Alternate to `y`.","Builds a linear space of y coordinates.","Use with `dy`","where `y0` is the starting coordinate and `dy` the step."].join(" ")},dy:{valType:"number",dflt:1,editType:"calc",anim:!0,description:["Sets the y coordinate step.","See `y0` for more info."].join(" ")},xperiod:oE("x"),yperiod:oE("y"),xperiod0:sE("x0"),yperiod0:sE("y0"),xperiodalignment:lE("x"),yperiodalignment:lE("y"),xhoverformat:aE("x"),yhoverformat:aE("y"),stackgroup:{valType:"string",dflt:"",editType:"calc",description:["Set several scatter traces (on the same subplot) to the same","stackgroup in order to add their y values (or their x values if","`orientation` is *h*). If blank or omitted this trace will not be","stacked. Stacking also turns `fill` on by default, using *tonexty*","(*tonextx*) if `orientation` is *h* (*v*) and sets the default","`mode` to *lines* irrespective of point count.","You can only stack on a numeric (linear or log) axis.","Traces in a `stackgroup` will only fill to (or be filled to) other","traces in the same group. With multiple `stackgroup`s or some","traces stacked and some not, if fill-linked traces are not already","consecutive, the later ones will be pushed down in the drawing order."].join(" ")},orientation:{valType:"enumerated",values:["v","h"],editType:"calc",description:["Only relevant when `stackgroup` is used, and only the first","`orientation` found in the `stackgroup` will be used - including","if `visible` is *legendonly* but not if it is `false`. Sets the","stacking direction. With *v* (*h*), the y (x) values of subsequent","traces are added. Also affects the default value of `fill`."].join(" ")},groupnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc",description:["Only relevant when `stackgroup` is used, and only the first","`groupnorm` found in the `stackgroup` will be used - including","if `visible` is *legendonly* but not if it is `false`.","Sets the normalization for the sum of this `stackgroup`.","With *fraction*, the value of each trace at each location is","divided by the sum of all trace values at that location.","*percent* is the same but multiplied by 100 to show percentages.","If there are multiple subplots, or multiple `stackgroup`s on one","subplot, each will be normalized within its own set."].join(" ")},stackgaps:{valType:"enumerated",values:["infer zero","interpolate"],dflt:"infer zero",editType:"calc",description:["Only relevant when `stackgroup` is used, and only the first","`stackgaps` found in the `stackgroup` will be used - including","if `visible` is *legendonly* but not if it is `false`.","Determines how we handle locations at which other traces in this","group have data but this one does not.","With *infer zero* we insert a zero at these locations.","With *interpolate* we linearly interpolate between existing","values, and extrapolate a constant beyond the existing values."].join(" ")},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc",description:["Sets text elements associated with each (x,y) pair.","If a single string, the same string appears over","all the data points.","If an array of string, the items are mapped in order to the","this trace's (x,y) coordinates.","If trace `hoverinfo` contains a *text* flag and *hovertext* is not set,","these elements will be seen in the hover labels."].join(" ")},texttemplate:Vse({},{}),hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style",description:["Sets hover text elements associated with each (x,y) pair.","If a single string, the same string appears over","all the data points.","If an array of string, the items are mapped in order to the","this trace's (x,y) coordinates.","To be seen, trace `hoverinfo` must contain a *text* flag."].join(" ")},mode:{valType:"flaglist",flags:["lines","markers","text"],extras:["none"],editType:"calc",description:["Determines the drawing mode for this scatter trace.","If the provided `mode` includes *text* then the `text` elements","appear at the coordinates. Otherwise, the `text` elements","appear on hover.","If there are less than "+iE.PTS_LINESONLY+" points","and the trace is not stacked","then the default is *lines+markers*. Otherwise, *lines*."].join(" ")},hoveron:{valType:"flaglist",flags:["points","fills"],editType:"style",description:["Do the hover effects highlight individual points (markers or","line points) or do they highlight filled regions?","If the fill is *toself* or *tonext* and there are no markers","or text, then the default is *fills*, otherwise it is *points*."].join(" ")},hovertemplate:Yse({},{keys:iE.eventDataKeys}),line:{color:{valType:"color",editType:"style",anim:!0,description:"Sets the line color."},width:{valType:"number",min:0,dflt:2,editType:"style",anim:!0,description:"Sets the line width (in px)."},shape:{valType:"enumerated",values:["linear","spline","hv","vh","hvh","vhv"],dflt:"linear",editType:"plot",description:["Determines the line shape.","With *spline* the lines are drawn using spline interpolation.","The other available values correspond to step-wise line shapes."].join(" ")},smoothing:{valType:"number",min:0,max:1.3,dflt:1,editType:"plot",description:["Has an effect only if `shape` is set to *spline*","Sets the amount of smoothing.","*0* corresponds to no smoothing (equivalent to a *linear* shape)."].join(" ")},dash:Pb({},Xse,{editType:"style"}),backoff:{valType:"number",min:0,dflt:"auto",arrayOk:!0,editType:"plot",description:["Sets the line back off from the end point of the nth line segment (in px).","This option is useful e.g. to avoid overlap with arrowhead markers.","With *auto* the lines would trim before markers if `marker.angleref` is set to *previous*."].join(" ")},simplify:{valType:"boolean",dflt:!0,editType:"plot",description:["Simplifies lines by removing nearly-collinear points. When transitioning","lines, it may be desirable to disable this so that the number of points","along the resulting SVG path is unaffected."].join(" ")},editType:"plot"},connectgaps:{valType:"boolean",dflt:!1,editType:"calc",description:["Determines whether or not gaps","(i.e. {nan} or missing values)","in the provided data arrays are connected."].join(" ")},cliponaxis:{valType:"boolean",dflt:!0,editType:"plot",description:["Determines whether or not markers and text nodes","are clipped about the subplot axes.","To show markers and text nodes above axis lines and tick labels,","make sure to set `xaxis.layer` and `yaxis.layer` to *below traces*."].join(" ")},fill:{valType:"enumerated",values:["none","tozeroy","tozerox","tonexty","tonextx","toself","tonext"],editType:"calc",description:["Sets the area to fill with a solid color.","Defaults to *none* unless this trace is stacked, then it gets","*tonexty* (*tonextx*) if `orientation` is *v* (*h*)","Use with `fillcolor` if not *none*.","*tozerox* and *tozeroy* fill to x=0 and y=0 respectively.","*tonextx* and *tonexty* fill between the endpoints of this","trace and the endpoints of the trace before it, connecting those","endpoints with straight lines (to make a stacked area graph);","if there is no trace before it, they behave like *tozerox* and","*tozeroy*.","*toself* connects the endpoints of the trace (or each segment","of the trace if it has gaps) into a closed shape.","*tonext* fills the space between two traces if one completely","encloses the other (eg consecutive contour lines), and behaves like","*toself* if there is no trace before it. *tonext* should not be","used if one trace does not enclose the other.","Traces in a `stackgroup` will only fill to (or be filled to) other","traces in the same group. With multiple `stackgroup`s or some","traces stacked and some not, if fill-linked traces are not already","consecutive, the later ones will be pushed down in the drawing order."].join(" ")},fillcolor:{valType:"color",editType:"style",anim:!0,description:["Sets the fill color.","Defaults to a half-transparent variant of the line color,","marker color, or marker line color, whichever is available."].join(" ")},fillpattern:$se,marker:Pb({symbol:{valType:"enumerated",values:Qse.symbolList,dflt:"circle",arrayOk:!0,editType:"style",description:["Sets the marker symbol type.","Adding 100 is equivalent to appending *-open* to a symbol name.","Adding 200 is equivalent to appending *-dot* to a symbol name.","Adding 300 is equivalent to appending *-open-dot*","or *dot-open* to a symbol name."].join(" ")},opacity:{valType:"number",min:0,max:1,arrayOk:!0,editType:"style",anim:!0,description:"Sets the marker opacity."},angle:{valType:"angle",dflt:0,arrayOk:!0,editType:"plot",anim:!1,description:["Sets the marker angle in respect to `angleref`."].join(" ")},angleref:{valType:"enumerated",values:["previous","up"],dflt:"up",editType:"plot",anim:!1,description:["Sets the reference for marker angle.","With *previous*, angle 0 points along the line from the previous point to this one.","With *up*, angle 0 points toward the top of the screen."].join(" ")},standoff:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"plot",anim:!0,description:["Moves the marker away from the data point in the direction of `angle` (in px).","This can be useful for example if you have another marker at this","location and you want to point an arrowhead marker at it."].join(" ")},size:{valType:"number",min:0,dflt:6,arrayOk:!0,editType:"calc",anim:!0,description:"Sets the marker size (in px)."},maxdisplayed:{valType:"number",min:0,dflt:0,editType:"plot",description:["Sets a maximum number of points to be drawn on the graph.","*0* corresponds to no limit."].join(" ")},sizeref:{valType:"number",dflt:1,editType:"calc",description:["Has an effect only if `marker.size` is set to a numerical array.","Sets the scale factor used to determine the rendered size of","marker points. Use with `sizemin` and `sizemode`."].join(" ")},sizemin:{valType:"number",min:0,dflt:0,editType:"calc",description:["Has an effect only if `marker.size` is set to a numerical array.","Sets the minimum size (in px) of the rendered marker points."].join(" ")},sizemode:{valType:"enumerated",values:["diameter","area"],dflt:"diameter",editType:"calc",description:["Has an effect only if `marker.size` is set to a numerical array.","Sets the rule for which the data in `size` is converted","to pixels."].join(" ")},line:Pb({width:{valType:"number",min:0,arrayOk:!0,editType:"style",anim:!0,description:"Sets the width (in px) of the lines bounding the marker points."},editType:"calc"},nE("marker.line",{anim:!0})),gradient:{type:{valType:"enumerated",values:["radial","horizontal","vertical","none"],arrayOk:!0,dflt:"none",editType:"calc",description:["Sets the type of gradient used to fill the markers"].join(" ")},color:{valType:"color",arrayOk:!0,editType:"calc",description:["Sets the final color of the gradient fill:","the center color for radial, the right for horizontal,","or the bottom for vertical."].join(" ")},editType:"calc"},editType:"calc"},nE("marker",{anim:!0})),selected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style",description:"Sets the marker opacity of selected points."},color:{valType:"color",editType:"style",description:"Sets the marker color of selected points."},size:{valType:"number",min:0,editType:"style",description:"Sets the marker size of selected points."},editType:"style"},textfont:{color:{valType:"color",editType:"style",description:"Sets the text font color of selected points."},editType:"style"},editType:"style"},unselected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style",description:"Sets the marker opacity of unselected points, applied only when a selection exists."},color:{valType:"color",editType:"style",description:"Sets the marker color of unselected points, applied only when a selection exists."},size:{valType:"number",min:0,editType:"style",description:"Sets the marker size of unselected points, applied only when a selection exists."},editType:"style"},textfont:{color:{valType:"color",editType:"style",description:"Sets the text font color of unselected points, applied only when a selection exists."},editType:"style"},editType:"style"},textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"middle center",arrayOk:!0,editType:"calc",description:["Sets the positions of the `text` elements","with respects to the (x,y) coordinates."].join(" ")},textfont:Zse({editType:"calc",colorEditType:"style",arrayOk:!0,description:"Sets the text font."})}});var Rb=I((k_e,hE)=>{"use strict";var fE=Ol(),cE=Hl().line,Kse=yi().dash,Dv=ra().extendFlat,Jse=Ai().overrideAll,ele=ar().templatedArray,dE=Wf();hE.exports=Jse(ele("selection",{type:{valType:"enumerated",values:["rect","path"],description:["Specifies the selection type to be drawn.","If *rect*, a rectangle is drawn linking","(`x0`,`y0`), (`x1`,`y0`), (`x1`,`y1`) and (`x0`,`y1`).","If *path*, draw a custom SVG path using `path`."].join(" ")},xref:Dv({},fE.xref,{description:["Sets the selection's x coordinate axis.",dE.axisRefDescription("x","left","right")].join(" ")}),yref:Dv({},fE.yref,{description:["Sets the selection's x coordinate axis.",dE.axisRefDescription("y","bottom","top")].join(" ")}),x0:{valType:"any",description:"Sets the selection's starting x position."},x1:{valType:"any",description:"Sets the selection's end x position."},y0:{valType:"any",description:"Sets the selection's starting y position."},y1:{valType:"any",description:"Sets the selection's end y position."},path:{valType:"string",editType:"arraydraw",description:["For `type` *path* - a valid SVG path similar to `shapes.path` in data coordinates.","Allowed segments are: M, L and Z."].join(" ")},opacity:{valType:"number",min:0,max:1,dflt:.7,editType:"arraydraw",description:"Sets the opacity of the selection."},line:{color:cE.color,width:Dv({},cE.width,{min:1,dflt:1}),dash:Dv({},Kse,{dflt:"dot"})}}),"arraydraw","from-root")});var gE=I((M_e,mE)=>{"use strict";var vE=Re(),Pv=tr(),tle=In(),rle=Rb(),pE=ps();mE.exports=function(t,r){tle(t,r,{name:"selections",handleItemDefaults:ale});for(var a=r.selections,n=0;n{"use strict";yE.exports=function(t,r,a){a("newselection.mode");var n=a("newselection.line.width");n&&(a("newselection.line.color"),a("newselection.line.dash")),a("activeselection.fillcolor"),a("activeselection.opacity")}});var Yf=I((C_e,wE)=>{"use strict";var nle=bt(),xE=Re(),_E=Hr();wE.exports=function(t){return function(a,n){var i=a[t];if(!!Array.isArray(i))for(var o=nle.subplotsRegistry.cartesian,s=o.idRegex,l=n._subplots,u=l.xaxis,c=l.yaxis,d=l.cartesian,h=n._has("cartesian")||n._has("gl2d"),p=0;p{"use strict";var TE=mb(),Zf=W4();AE.exports={moduleType:"component",name:"selections",layoutAttributes:Rb(),supplyLayoutDefaults:gE(),supplyDrawNewSelectionDefaults:bE(),includeBasePlot:Yf()("selections"),draw:TE.draw,drawOne:TE.drawOne,reselect:Zf.reselect,prepSelect:Zf.prepSelect,clearOutline:Zf.clearOutline,clearSelectionsCache:Zf.clearSelectionsCache,selectOnClick:Zf.selectOnClick}});var WE=I((q_e,GE)=>{"use strict";var Eb=Ft(),_n=Re(),kE=_n.numberFormat,ile=Pn(),ole=c0(),Rv=bt(),ME=_n.strTranslate,sle=Ga(),SE=It(),fo=Kt(),lle=qi(),CE=tr(),ule=oo(),fle=Nn(),LE=El(),Ev=LE.selectingOrDrawing,cle=LE.freeMode,dle=qa().FROM_TL,hle=tv(),vle=bv().redrawReglTraces,ple=Nr(),Ib=Hr().getFromId,mle=Bl().prepSelect,gle=Bl().clearOutline,yle=Bl().selectOnClick,zb=ub(),Nb=ga(),qE=Nb.MINDRAG,Ra=Nb.MINZOOM,DE=!0;function ble(e,t,r,a,n,i,o,s){var l=e._fullLayout._zoomlayer,u=o+s==="nsew",c=(o+s).length===1,d,h,p,g,m,b,x,_,k,w,A,L,M,q,P,E,F,N,j,B,W,V,Y;function Z(){if(d=t.xaxis,h=t.yaxis,k=d._length,w=h._length,x=d._offset,_=h._offset,p={},p[d._id]=d,g={},g[h._id]=h,o&&s)for(var we=t.overlays,Me=0;Me=0){Ye._fullLayout._deactivateShape(Ye);return}var je=Ye._fullLayout.clickmode;if(jb(Ye),we===2&&!c&&wt(),u)je.indexOf("select")>-1&&yle(Me,Ye,m,b,t.id,te),je.indexOf("event")>-1&&lle.click(Ye,Me,t.id);else if(we===1&&c){var ze=o?h:d,Ge=o==="s"||s==="w"?0:1,mt=ze._name+".range["+Ge+"]",Tt=xle(ze,Ge),ot="left",Ne="middle";if(ze.fixedrange)return;o?(Ne=o==="n"?"top":"bottom",ze.side==="right"&&(ot="right")):s==="e"&&(ot="right"),Ye._context.showAxisRangeEntryBoxes&&Eb.select(ne).call(sle.makeEditable,{gd:Ye,immediate:!0,background:Ye._fullLayout.paper_bgcolor,text:String(Tt),fill:ze.tickfont?ze.tickfont.color:"#444",horizontalAlign:ot,verticalAlign:Ne}).on("edit",function(et){var Oe=ze.d2r(et);Oe!==void 0&&Rv.call("_guiRelayout",Ye,mt,Oe)})}}fle.init(te);var re,ge,ee,Ae,ke,qe,Le,Se,U,J;function O(we,Me,Ye){var je=ne.getBoundingClientRect();re=Me-je.left,ge=Ye-je.top,e._fullLayout._calcInverseTransform(e);var ze=_n.apply3DTransform(e._fullLayout._invTransform)(re,ge);re=ze[0],ge=ze[1],ee={l:re,r:re,w:0,t:ge,b:ge,h:0},Ae=e._hmpixcount?e._hmlumcount/e._hmpixcount:ile(e._fullLayout.plot_bgcolor).getLuminance(),ke="M0,0H"+k+"V"+w+"H0V0",qe=!1,Le="xy",J=!1,Se=zE(l,Ae,x,_,ke),U=NE(l,x,_)}function oe(we,Me){if(e._transitioningWithDuration)return!1;var Ye=Math.max(0,Math.min(k,V*we+re)),je=Math.max(0,Math.min(w,Y*Me+ge)),ze=Math.abs(Ye-re),Ge=Math.abs(je-ge);ee.l=Math.min(re,Ye),ee.r=Math.max(re,Ye),ee.t=Math.min(ge,je),ee.b=Math.max(ge,je);function mt(){Le="",ee.r=ee.l,ee.t=ee.b,U.attr("d","M0,0Z")}if(A.isSubplotConstrained)ze>Ra||Ge>Ra?(Le="xy",ze/k>Ge/w?(Ge=ze*w/k,ge>je?ee.t=ge-Ge:ee.b=ge+Ge):(ze=Ge*k/w,re>Ye?ee.l=re-ze:ee.r=re+ze),U.attr("d",Iv(ee))):mt();else if(L.isSubplotConstrained)if(ze>Ra||Ge>Ra){Le="xy";var Tt=Math.min(ee.l/k,(w-ee.b)/w),ot=Math.max(ee.r/k,(w-ee.t)/w);ee.l=Tt*k,ee.r=ot*k,ee.b=(1-Tt)*w,ee.t=(1-ot)*w,U.attr("d",Iv(ee))}else mt();else!q||Ge0){var et;if(L.isSubplotConstrained||!M&&q.length===1){for(et=0;et=0?Math.min(e,.9):1/(1/Math.max(e,-.3)+3.222))}function wle(e,t,r){return e?e==="nsew"?r?"":t==="pan"?"move":"crosshair":e.toLowerCase()+"-resize":"pointer"}function zE(e,t,r,a,n){return e.append("path").attr("class","zoombox").style({fill:t>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform",ME(r,a)).attr("d",n+"Z")}function NE(e,t,r){return e.append("path").attr("class","zoombox-corners").style({fill:SE.background,stroke:SE.defaultLine,"stroke-width":1,opacity:0}).attr("transform",ME(t,r)).attr("d","M0,0Z")}function FE(e,t,r,a,n,i){e.attr("d",a+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),jE(e,t,n,i)}function jE(e,t,r,a){r||(e.transition().style("fill",a>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),t.transition().style("opacity",1).duration(200))}function jb(e){Eb.select(e).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function OE(e){DE&&e.data&&e._context.showTips&&(_n.notifier(_n._(e,"Double-click to zoom back out"),"long"),DE=!1)}function Tle(e,t){return"M"+(e.l-.5)+","+(t-Ra-.5)+"h-3v"+(2*Ra+1)+"h3ZM"+(e.r+.5)+","+(t-Ra-.5)+"h3v"+(2*Ra+1)+"h-3Z"}function Ale(e,t){return"M"+(t-Ra-.5)+","+(e.t-.5)+"v-3h"+(2*Ra+1)+"v3ZM"+(t-Ra-.5)+","+(e.b+.5)+"v3h"+(2*Ra+1)+"v-3Z"}function Iv(e){var t=Math.floor(Math.min(e.b-e.t,e.r-e.l,Ra)/2);return"M"+(e.l-3.5)+","+(e.t-.5+t)+"h3v"+-t+"h"+t+"v-3h-"+(t+3)+"ZM"+(e.r+3.5)+","+(e.t-.5+t)+"h-3v"+-t+"h"+-t+"v-3h"+(t+3)+"ZM"+(e.r+3.5)+","+(e.b+.5-t)+"h-3v"+t+"h"+-t+"v3h"+(t+3)+"ZM"+(e.l-3.5)+","+(e.b+.5-t)+"h3v"+t+"h"+t+"v3h-"+(t+3)+"Z"}function HE(e,t,r,a,n){for(var i=!1,o={},s={},l,u,c,d,h=(n||{}).xaHash,p=(n||{}).yaHash,g=0;g{"use strict";var kle=Ft(),zv=qi(),Mle=Nn(),Sle=oo(),Bn=WE().makeDragBox,Wr=ga().DRAGGERSIZE;Nv.initInteractions=function(t){var r=t._fullLayout;if(t._context.staticPlot){kle.select(t).selectAll(".drag").remove();return}if(!(!r._has("cartesian")&&!r._has("splom"))){var a=Object.keys(r._plots||{}).sort(function(i,o){if((r._plots[i].mainplot&&!0)===(r._plots[o].mainplot&&!0)){var s=i.split("y"),l=o.split("y");return s[0]===l[0]?Number(s[1]||1)-Number(l[1]||1):Number(s[0]||1)-Number(l[0]||1)}return r._plots[i].mainplot?1:-1});a.forEach(function(i){var o=r._plots[i],s=o.xaxis,l=o.yaxis;if(!o.mainplot){var u=Bn(t,o,s._offset,l._offset,s._length,l._length,"ns","ew");u.onmousemove=function(h){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===i&&t._fullLayout._plots[i]&&zv.hover(t,h,i)},zv.hover(t,h,i),t._fullLayout._lasthover=u,t._fullLayout._hoversubplot=i},u.onmouseout=function(h){t._dragging||(t._fullLayout._hoversubplot=null,Mle.unhover(t,h))},t._context.showAxisDragHandles&&(Bn(t,o,s._offset-Wr,l._offset-Wr,Wr,Wr,"n","w"),Bn(t,o,s._offset+s._length,l._offset-Wr,Wr,Wr,"n","e"),Bn(t,o,s._offset-Wr,l._offset+l._length,Wr,Wr,"s","w"),Bn(t,o,s._offset+s._length,l._offset+l._length,Wr,Wr,"s","e"))}if(t._context.showAxisDragHandles){if(i===s._mainSubplot){var c=s._mainLinePosition;s.side==="top"&&(c-=Wr),Bn(t,o,s._offset+s._length*.1,c,s._length*.8,Wr,"","ew"),Bn(t,o,s._offset,c,s._length*.1,Wr,"","w"),Bn(t,o,s._offset+s._length*.9,c,s._length*.1,Wr,"","e")}if(i===l._mainSubplot){var d=l._mainLinePosition;l.side!=="right"&&(d-=Wr),Bn(t,o,d,l._offset+l._length*.1,Wr,l._length*.8,"ns",""),Bn(t,o,d,l._offset+l._length*.9,Wr,l._length*.1,"s",""),Bn(t,o,d,l._offset,Wr,l._length*.1,"n","")}}});var n=r._hoverlayer.node();n.onmousemove=function(i){i.target=t._fullLayout._lasthover,zv.hover(t,i,r._hoversubplot)},n.onclick=function(i){i.target=t._fullLayout._lasthover,zv.click(t,i)},n.onmousedown=function(i){t._fullLayout._lasthover.onmousedown(i)},Nv.updateFx(t)}};Nv.updateFx=function(e){var t=e._fullLayout,r=t.dragmode==="pan"?"move":"crosshair";Sle(t._draggers,r)}});var ZE=I((P_e,YE)=>{"use strict";var VE=bt();YE.exports=function(t){for(var r=VE.layoutArrayContainers,a=VE.layoutArrayRegexes,n=t.split("[")[0],i,o,s=0;s{"use strict";var Cle=el(),Hb=Hd(),Xf=Ho(),Lle=Tg().sorterAsc,Bb=bt();$f.containerArrayMatch=ZE();var qle=$f.isAddVal=function(t){return t==="add"||Cle(t)},XE=$f.isRemoveVal=function(t){return t===null||t==="remove"};$f.applyContainerArrayChanges=function(t,r,a,n,i){var o=r.astr,s=Bb.getComponentMethod(o,"supplyLayoutDefaults"),l=Bb.getComponentMethod(o,"draw"),u=Bb.getComponentMethod(o,"drawOne"),c=n.replot||n.recalc||s===Hb||l===Hb,d=t.layout,h=t._fullLayout;if(a[""]){Object.keys(a).length>1&&Xf.warn("Full array edits are incompatible with other edits",o);var p=a[""][""];if(XE(p))r.set(null);else if(Array.isArray(p))r.set(p);else return Xf.warn("Unrecognized full array edit value",o,p),!0;return c?!1:(s(d,h),l(t),!0)}var g=Object.keys(a).map(Number).sort(Lle),m=r.get(),b=m||[],x=i(h,o).get(),_=[],k=-1,w=b.length,A,L,M,q,P,E,F,N;for(A=0;Ab.length-(F?0:1)){Xf.warn("index out of range",o,M);continue}if(E!==void 0)P.length>1&&Xf.warn("Insertion & removal are incompatible with edits to the same index.",o,M),XE(E)?_.push(M):F?(E==="add"&&(E={}),b.splice(M,0,E),x&&x.splice(M,0,{})):Xf.warn("Unrecognized full object edit value",o,M,E),k===-1&&(k=M);else for(L=0;L=0;A--)b.splice(_[A],1),x&&x.splice(_[A],1);if(b.length?m||r.set(b):r.set(null),c)return!1;if(s(d,h),u!==Hb){var j;if(k===-1)j=g;else{for(w=Math.max(b.length,w),j=[],A=0;A=k));A++)j.push(M);for(A=k;A{"use strict";var QE=jt(),Dle=mg(),KE=bt(),Ea=Re(),Qf=Nr(),JE=Hr(),ys=It(),Kf=JE.cleanId,Ple=JE.getFromTrace,Jf=KE.traceIs;wn.clearPromiseQueue=function(e){Array.isArray(e._promises)&&e._promises.length>0&&Ea.log("Clearing previous rejected promises from queue."),e._promises=[]};wn.cleanLayout=function(e){var t,r;e||(e={}),e.xaxis1&&(e.xaxis||(e.xaxis=e.xaxis1),delete e.xaxis1),e.yaxis1&&(e.yaxis||(e.yaxis=e.yaxis1),delete e.yaxis1),e.scene1&&(e.scene||(e.scene=e.scene1),delete e.scene1);var a=(Qf.subplotsRegistry.cartesian||{}).attrRegex,n=(Qf.subplotsRegistry.polar||{}).attrRegex,i=(Qf.subplotsRegistry.ternary||{}).attrRegex,o=(Qf.subplotsRegistry.gl3d||{}).attrRegex,s=Object.keys(e);for(t=0;t3?(P.x=1.02,P.xanchor="left"):P.x<-2&&(P.x=-.02,P.xanchor="right"),P.y>3?(P.y=1.02,P.yanchor="bottom"):P.y<-2&&(P.y=-.02,P.yanchor="top")),Ia(e),e.dragmode==="rotate"&&(e.dragmode="orbit"),ys.clean(e),e.template&&e.template.layout&&wn.cleanLayout(e.template.layout),e};function Ul(e,t){var r=e[t],a=t.charAt(0);r&&r!=="paper"&&(e[t]=Kf(r,a,!0))}function Ia(e){e&&((typeof e.title=="string"||typeof e.title=="number")&&(e.title={text:e.title}),t("titlefont","font"),t("titleposition","position"),t("titleside","side"),t("titleoffset","offset"));function t(r,a){var n=e[r],i=e.title&&e.title[a];n&&!i&&(e.title||(e.title={}),e.title[a]=e[r],delete e[r])}}wn.cleanData=function(e){for(var t=0;t0)return e.substr(0,t)}wn.hasParent=function(e,t){for(var r=rI(t);r;){if(r in e)return!0;r=rI(r)}return!1};var Ile=["x","y","z"];wn.clearAxisTypes=function(e,t,r){for(var a=0;a{"use strict";var jv=Ft(),zle=jt(),Nle=zg(),Ve=Re(),Jt=Ve.nestedProperty,Ub=ef(),za=FL(),Tn=bt(),Ov=eo(),xt=Nr(),Ta=tr(),Gb=Kt(),Fle=It(),jle=Ob().initInteractions,Ole=$o(),Hle=Bl().clearOutline,nI=Oo().dfltConfig,Hv=$E(),Dr=aI(),Xt=bv(),co=Ai(),Ble=ga().AX_NAME_PATTERN,Wb=0,iI=5;function Ule(e,t,r,a){var n;if(e=Ve.getGraphDiv(e),Ub.init(e),Ve.isPlainObject(t)){var i=t;t=i.data,r=i.layout,a=i.config,n=i.frames}var o=Ub.triggerHandler(e,"plotly_beforeplot",[t,r,a]);if(o===!1)return Promise.reject();!t&&!r&&!Ve.isPlotDiv(e)&&Ve.warn("Calling _doPlot as if redrawing but this container doesn't yet have a plot.",e);function s(){if(n)return Ht.addFrames(e,n)}sI(e,a),r||(r={}),jv.select(e).classed("js-plotly-plot",!0),Gb.makeTester(),Array.isArray(e._promises)||(e._promises=[]);var l=(e.data||[]).length===0&&Array.isArray(t);Array.isArray(t)&&(Dr.cleanData(t),l?e.data=t:e.data.push.apply(e.data,t),e.empty=!1),(!e.layout||l)&&(e.layout=Dr.cleanLayout(r)),xt.supplyDefaults(e);var u=e._fullLayout,c=u._has("cartesian");u._replotting=!0,(l||u._shouldCreateBgLayer)&&(cue(e),u._shouldCreateBgLayer&&delete u._shouldCreateBgLayer),Gb.initGradients(e),Gb.initPatterns(e),l&&Ta.saveShowSpikeInitial(e);var d=!e.calcdata||e.calcdata.length!==(e._fullData||[]).length;d&&xt.doCalcdata(e);for(var h=0;h=e.data.length||n<-e.data.length)throw new Error(r+" must be valid indices for gd.data.");if(t.indexOf(n,a+1)>-1||n>=0&&t.indexOf(-e.data.length+n)>-1||n<0&&t.indexOf(e.data.length+n)>-1)throw new Error("each index in "+r+" must be unique.")}}function lI(e,t,r){if(!Array.isArray(e.data))throw new Error("gd.data must be an array.");if(typeof t=="undefined")throw new Error("currentIndices is a required argument.");if(Array.isArray(t)||(t=[t]),Uv(e,t,"currentIndices"),typeof r!="undefined"&&!Array.isArray(r)&&(r=[r]),typeof r!="undefined"&&Uv(e,r,"newIndices"),typeof r!="undefined"&&t.length!==r.length)throw new Error("current and new indices must be of equal length.")}function Zle(e,t,r){var a,n;if(!Array.isArray(e.data))throw new Error("gd.data must be an array.");if(typeof t=="undefined")throw new Error("traces must be defined.");for(Array.isArray(t)||(t=[t]),a=0;a=0&&c=0&&c-1&&i.indexOf("grouptitlefont")===-1?s(i,i.replace("titlefont","title.font")):i.indexOf("titleposition")>-1?s(i,i.replace("titleposition","title.position")):i.indexOf("titleside")>-1?s(i,i.replace("titleside","title.side")):i.indexOf("titleoffset")>-1&&s(i,i.replace("titleoffset","title.offset"));function s(l,u){e[u]=e[l],delete e[l]}}function tc(e,t,r){e=Ve.getGraphDiv(e),Dr.clearPromiseQueue(e);var a={};if(typeof t=="string")a[t]=r;else if(Ve.isPlainObject(t))a=Ve.extendFlat({},t);else return Ve.warn("Relayout fail.",t,r),Promise.reject();Object.keys(a).length&&(e.changed=!0);var n=_I(e,a),i=n.flags;i.calc&&(e.calcdata=void 0);var o=[xt.previousPromises];i.layoutReplot?o.push(Xt.layoutReplot):Object.keys(a).length&&(gI(e,i,n)||xt.supplyDefaults(e),i.legend&&o.push(Xt.doLegend),i.layoutstyle&&o.push(Xt.layoutStyles),i.axrange&&Yv(o,n.rangesAltered),i.ticks&&o.push(Xt.doTicksRelayout),i.modebar&&o.push(Xt.doModeBar),i.camera&&o.push(Xt.doCamera),i.colorbars&&o.push(Xt.doColorBars),o.push(ec)),o.push(xt.rehover,xt.redrag,xt.reselect),za.add(e,tc,[e,n.undoit],tc,[e,n.redoit]);var s=Ve.syncOrAsync(o,e);return(!s||!s.then)&&(s=Promise.resolve(e)),s.then(function(){return e.emit("plotly_relayout",n.eventData),e})}function gI(e,t,r){var a=e._fullLayout;if(!t.axrange)return!1;for(var n in t)if(n!=="axrange"&&t[n])return!1;for(var i in r.rangesAltered){var o=Ta.id2name(i),s=e.layout[o],l=a[o];if(l.autorange=s.autorange,s.range&&(l.range=s.range.slice()),l.cleanRange(),l._matchGroup){for(var u in l._matchGroup)if(u!==i){var c=a[Ta.id2name(u)];c.autorange=l.autorange,c.range=l.range.slice(),c._input.range=l.range.slice()}}}return!0}function Yv(e,t){var r=t?function(a){var n=[],i=!0;for(var o in t){var s=Ta.getFromId(a,o);if(n.push(o),(s.ticklabelposition||"").indexOf("inside")!==-1&&s._anchorAxis&&n.push(s._anchorAxis._id),s._matchGroup)for(var l in s._matchGroup)t[l]||n.push(l)}return Ta.draw(a,n,{skipTitle:i})}:function(a){return Ta.draw(a,"redraw")};e.push(Hle,Xt.doAutoRangeAndConstraints,r,Xt.drawData,Xt.finalDraw)}var yI=/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/,bI=/^[xyz]axis[0-9]*\.autorange$/,xI=/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/;function _I(e,t){var r=e.layout,a=e._fullLayout,n=a._guiEditing,i=Wv(a._preGUI,n),o=Object.keys(t),s=Ta.list(e),l=Ve.extendDeepAll({},t),u={},c,d,h;for(mI(t),o=Object.keys(t),d=0;d0&&typeof q.parts[F]!="string";)F--;var N=q.parts[F],j=q.parts[F-1]+"."+N,B=q.parts.slice(0,F).join("."),W=Jt(e.layout,B).get(),V=Jt(a,B).get(),Y=q.get();if(P!==void 0){x[M]=P,_[M]=N==="reverse"?P:Ii(Y);var Z=Ov.getLayoutValObject(a,q.parts);if(Z&&Z.impliedEdits&&P!==null)for(var $ in Z.impliedEdits)k(Ve.relativeAttr(M,$),Z.impliedEdits[$]);if(["width","height"].indexOf(M)!==-1)if(P){k("autosize",null);var ne=M==="height"?"width":"height";k(ne,a[ne])}else a[M]=e._initialAutoSize[M];else if(M==="autosize")k("width",P?null:a.width),k("height",P?null:a.height);else if(j.match(yI))L(j),Jt(a,B+"._inputRange").set(null);else if(j.match(bI)){L(j),Jt(a,B+"._inputRange").set(null);var te=Jt(a,B).get();te._inputDomain&&(te._input.domain=te._inputDomain.slice())}else j.match(xI)&&Jt(a,B+"._inputDomain").set(null);if(N==="type"){A=W;var de=V.type==="linear"&&P==="log",be=V.type==="log"&&P==="linear";if(de||be){if(!A||!A.range)k(B+".autorange",!0);else if(V.autorange)de&&(A.range=A.range[1]>A.range[0]?[1,2]:[2,1]);else{var re=A.range[0],ge=A.range[1];de?(re<=0&&ge<=0&&k(B+".autorange",!0),re<=0?re=ge/1e6:ge<=0&&(ge=re/1e6),k(B+".range[0]",Math.log(re)/Math.LN10),k(B+".range[1]",Math.log(ge)/Math.LN10)):(k(B+".range[0]",Math.pow(10,re)),k(B+".range[1]",Math.pow(10,ge)))}Array.isArray(a._subplots.polar)&&a._subplots.polar.length&&a[q.parts[0]]&&q.parts[1]==="radialaxis"&&delete a[q.parts[0]]._subplot.viewInitial["radialaxis.range"],Tn.getComponentMethod("annotations","convertCoords")(e,V,P,k),Tn.getComponentMethod("images","convertCoords")(e,V,P,k)}else k(B+".autorange",!0),k(B+".range",null);Jt(a,B+"._inputRange").set(null)}else if(N.match(Ble)){var ee=Jt(a,M).get(),Ae=(P||{}).type;(!Ae||Ae==="-")&&(Ae="linear"),Tn.getComponentMethod("annotations","convertCoords")(e,ee,Ae,k),Tn.getComponentMethod("images","convertCoords")(e,ee,Ae,k)}var ke=Hv.containerArrayMatch(M);if(ke){c=ke.array,d=ke.index;var qe=ke.property,Le=Z||{editType:"calc"};d!==""&&qe===""&&(Hv.isAddVal(P)?_[M]=null:Hv.isRemoveVal(P)?_[M]=(Jt(r,c).get()||[])[d]:Ve.warn("unrecognized full object value",t)),co.update(b,Le),u[c]||(u[c]={});var Se=u[c][d];Se||(Se=u[c][d]={}),Se[qe]=P,delete t[M]}else N==="reverse"?(W.range?W.range.reverse():(k(B+".autorange",!0),W.range=[1,0]),V.autorange?b.calc=!0:b.plot=!0):(M==="dragmode"&&(P===!1&&Y!==!1||P!==!1&&Y===!1)||a._has("scatter-like")&&a._has("regl")&&M==="dragmode"&&(P==="lasso"||P==="select")&&!(Y==="lasso"||Y==="select")||a._has("gl2d")?b.plot=!0:Z?co.update(b,Z):b.calc=!0,q.set(P))}}for(c in u){var U=Hv.applyContainerArrayChanges(e,i(r,c),u[c],b,i);U||(b.plot=!0)}for(var J in w){A=Ta.getFromId(e,J);var O=A&&A._constraintGroup;if(O){b.calc=!0;for(var oe in O)w[oe]||(Ta.getFromId(e,oe)._constraintShrinkable=!0)}}return(wI(e)||t.height||t.width)&&(b.plot=!0),(b.plot||b.calc)&&(b.layoutReplot=!0),{flags:b,rangesAltered:w,undoit:_,redoit:x,eventData:l}}function wI(e){var t=e._fullLayout,r=t.width,a=t.height;return e.layout.autosize&&xt.plotAutoSize(e,e.layout,t),t.width!==r||t.height!==a}function Zv(e,t,r,a){e=Ve.getGraphDiv(e),Dr.clearPromiseQueue(e),Ve.isPlainObject(t)||(t={}),Ve.isPlainObject(r)||(r={}),Object.keys(t).length&&(e.changed=!0),Object.keys(r).length&&(e.changed=!0);var n=Dr.coerceTraceIndices(e,a),i=pI(e,Ve.extendFlat({},t),n),o=i.flags,s=_I(e,Ve.extendFlat({},r)),l=s.flags;(o.calc||l.calc)&&(e.calcdata=void 0),o.clearAxisTypes&&Dr.clearAxisTypes(e,n,r);var u=[];l.layoutReplot?u.push(Xt.layoutReplot):o.fullReplot?u.push(Ht._doPlot):(u.push(xt.previousPromises),gI(e,l,s)||xt.supplyDefaults(e),o.style&&u.push(Xt.doTraceStyle),(o.colorbars||l.colorbars)&&u.push(Xt.doColorBars),l.legend&&u.push(Xt.doLegend),l.layoutstyle&&u.push(Xt.layoutStyles),l.axrange&&Yv(u,s.rangesAltered),l.ticks&&u.push(Xt.doTicksRelayout),l.modebar&&u.push(Xt.doModeBar),l.camera&&u.push(Xt.doCamera),u.push(ec)),u.push(xt.rehover,xt.redrag,xt.reselect),za.add(e,Zv,[e,i.undoit,s.undoit,i.traces],Zv,[e,i.redoit,s.redoit,i.traces]);var c=Ve.syncOrAsync(u,e);return(!c||!c.then)&&(c=Promise.resolve(e)),c.then(function(){return e.emit("plotly_update",{data:i.eventData,layout:s.eventData}),e})}function Yb(e){return function(r){r._fullLayout._guiEditing=!0;var a=e.apply(null,arguments);return r._fullLayout._guiEditing=!1,a}}var Kle=[{pattern:/^hiddenlabels/,attr:"legend.uirevision"},{pattern:/^((x|y)axis\d*)\.((auto)?range|title\.text)/},{pattern:/axis\d*\.showspikes$/,attr:"modebar.uirevision"},{pattern:/(hover|drag)mode$/,attr:"modebar.uirevision"},{pattern:/^(scene\d*)\.camera/},{pattern:/^(geo\d*)\.(projection|center|fitbounds)/},{pattern:/^(ternary\d*\.[abc]axis)\.(min|title\.text)$/},{pattern:/^(polar\d*\.radialaxis)\.((auto)?range|angle|title\.text)/},{pattern:/^(polar\d*\.angularaxis)\.rotation/},{pattern:/^(mapbox\d*)\.(center|zoom|bearing|pitch)/},{pattern:/^legend\.(x|y)$/,attr:"editrevision"},{pattern:/^(shapes|annotations)/,attr:"editrevision"},{pattern:/^title\.text$/,attr:"editrevision"}],Jle=[{pattern:/^selectedpoints$/,attr:"selectionrevision"},{pattern:/(^|value\.)visible$/,attr:"legend.uirevision"},{pattern:/^dimensions\[\d+\]\.constraintrange/},{pattern:/^node\.(x|y|groups)/},{pattern:/^level$/},{pattern:/(^|value\.)name$/},{pattern:/colorbar\.title\.text$/},{pattern:/colorbar\.(x|y)$/,attr:"editrevision"}];function TI(e,t){for(var r=0;r1;)if(a.pop(),r=Jt(t,a.join(".")+".uirevision").get(),r!==void 0)return r;return t.uirevision}function eue(e,t){for(var r=0;r=n.length?n[0]:n[u]:n}function s(u){return Array.isArray(i)?u>=i.length?i[0]:i[u]:i}function l(u,c){var d=0;return function(){if(u&&++d===c)return u()}}return new Promise(function(u,c){function d(){if(a._frameQueue.length!==0){for(;a._frameQueue.length;){var N=a._frameQueue.pop();N.onInterrupt&&N.onInterrupt()}e.emit("plotly_animationinterrupted",[])}}function h(N){if(N.length!==0){for(var j=0;ja._timeToNext&&g()};N()}var b=0;function x(N){return Array.isArray(n)?b>=n.length?N.transitionOpts=n[b]:N.transitionOpts=n[0]:N.transitionOpts=n,b++,N}var _,k,w=[],A=t==null,L=Array.isArray(t),M=!A&&!L&&Ve.isPlainObject(t);if(M)w.push({type:"object",data:x(Ve.extendFlat({},t))});else if(A||["string","number"].indexOf(typeof t)!==-1)for(_=0;_0&&EE)&&F.push(k);w=F}}w.length>0?h(w):(e.emit("plotly_animated"),u())})}function sue(e,t,r){if(e=Ve.getGraphDiv(e),t==null)return Promise.resolve();if(!Ve.isPlotDiv(e))throw new Error("This element is not a Plotly plot: "+e+". It's likely that you've failed to create a plot before adding frames. For more details, see https://plotly.com/javascript/animations/");var a,n,i,o,s=e._transitionData._frames,l=e._transitionData._frameHash;if(!Array.isArray(t))throw new Error("addFrames failure: frameList must be an Array of frame definitions"+t);var u=s.length+t.length*2,c=[],d={};for(a=t.length-1;a>=0;a--)if(!!Ve.isPlainObject(t[a])){var h=t[a].name,p=(l[h]||d[h]||{}).name,g=t[a].name,m=l[p]||d[p];p&&g&&typeof g=="number"&&m&&Wbq.index?-1:M.index=0;a--){if(n=c[a].frame,typeof n.name=="number"&&Ve.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!n.name)for(;l[n.name="frame "+e._transitionData._counter++];);if(l[n.name]){for(i=0;i=0;r--)a=t[r],i.push({type:"delete",index:a}),o.unshift({type:"insert",index:a,value:n[a]});var s=xt.modifyFrames,l=xt.modifyFrames,u=[e,o],c=[e,i];return za&&za.add(e,s,u,l,c),xt.modifyFrames(e,i)}function uue(e){e=Ve.getGraphDiv(e);var t=e._fullLayout||{},r=e._fullData||[];return xt.cleanPlot([],{},r,t),xt.purge(e),Ub.purge(e),t._container&&t._container.remove(),delete e._context,e}function fue(e){var t=e._fullLayout,r=e.getBoundingClientRect();if(!Ve.equalDomRects(r,t._lastBBox)){var a=t._invTransform=Ve.inverseTransformMatrix(Ve.getFullTransformMatrix(e));t._invScaleX=Math.sqrt(a[0][0]*a[0][0]+a[0][1]*a[0][1]+a[0][2]*a[0][2]),t._invScaleY=Math.sqrt(a[1][0]*a[1][0]+a[1][1]*a[1][1]+a[1][2]*a[1][2]),t._lastBBox=r}}function cue(e){var t=jv.select(e),r=e._fullLayout;if(r._calcInverseTransform=fue,r._calcInverseTransform(e),r._container=t.selectAll(".plot-container").data([0]),r._container.enter().insert("div",":first-child").classed("plot-container",!0).classed("plotly",!0),r._paperdiv=r._container.selectAll(".svg-container").data([0]),r._paperdiv.enter().append("div").classed("user-select-none",!0).classed("svg-container",!0).style("position","relative"),r._glcontainer=r._paperdiv.selectAll(".gl-container").data([{}]),r._glcontainer.enter().append("div").classed("gl-container",!0),r._paperdiv.selectAll(".main-svg").remove(),r._paperdiv.select(".modebar-container").remove(),r._paper=r._paperdiv.insert("svg",":first-child").classed("main-svg",!0),r._toppaper=r._paperdiv.append("svg").classed("main-svg",!0),r._modebardiv=r._paperdiv.append("div"),delete r._modeBar,r._hoverpaper=r._paperdiv.append("svg").classed("main-svg",!0),!r._uid){var a={};jv.selectAll("defs").each(function(){this.id&&(a[this.id.split("-")[1]]=1)}),r._uid=Ve.randstr(a)}r._paperdiv.selectAll(".main-svg").attr(Ole.svgAttrs),r._defs=r._paper.append("defs").attr("id","defs-"+r._uid),r._clips=r._defs.append("g").classed("clips",!0),r._topdefs=r._toppaper.append("defs").attr("id","topdefs-"+r._uid),r._topclips=r._topdefs.append("g").classed("clips",!0),r._bgLayer=r._paper.append("g").classed("bglayer",!0),r._draggers=r._paper.append("g").classed("draglayer",!0);var n=r._paper.append("g").classed("layer-below",!0);r._imageLowerLayer=n.append("g").classed("imagelayer",!0),r._shapeLowerLayer=n.append("g").classed("shapelayer",!0),r._cartesianlayer=r._paper.append("g").classed("cartesianlayer",!0),r._polarlayer=r._paper.append("g").classed("polarlayer",!0),r._smithlayer=r._paper.append("g").classed("smithlayer",!0),r._ternarylayer=r._paper.append("g").classed("ternarylayer",!0),r._geolayer=r._paper.append("g").classed("geolayer",!0),r._funnelarealayer=r._paper.append("g").classed("funnelarealayer",!0),r._pielayer=r._paper.append("g").classed("pielayer",!0),r._iciclelayer=r._paper.append("g").classed("iciclelayer",!0),r._treemaplayer=r._paper.append("g").classed("treemaplayer",!0),r._sunburstlayer=r._paper.append("g").classed("sunburstlayer",!0),r._indicatorlayer=r._toppaper.append("g").classed("indicatorlayer",!0),r._glimages=r._paper.append("g").classed("glimages",!0);var i=r._toppaper.append("g").classed("layer-above",!0);r._imageUpperLayer=i.append("g").classed("imagelayer",!0),r._shapeUpperLayer=i.append("g").classed("shapelayer",!0),r._selectionLayer=r._toppaper.append("g").classed("selectionlayer",!0),r._infolayer=r._toppaper.append("g").classed("infolayer",!0),r._menulayer=r._toppaper.append("g").classed("menulayer",!0),r._zoomlayer=r._toppaper.append("g").classed("zoomlayer",!0),r._hoverlayer=r._hoverpaper.append("g").classed("hoverlayer",!0),r._modebardiv.classed("modebar-container",!0).style("position","absolute").style("top","0px").style("right","0px"),e.emit("plotly_framework")}Ht.animate=oue;Ht.addFrames=sue;Ht.deleteFrames=lue;Ht.addTraces=hI;Ht.deleteTraces=vI;Ht.extendTraces=cI;Ht.moveTraces=Vb;Ht.prependTraces=dI;Ht.newPlot=Yle;Ht._doPlot=Ule;Ht.purge=uue;Ht.react=aue;Ht.redraw=Vle;Ht.relayout=tc;Ht.restyle=Gv;Ht.setPlotConfig=Gle;Ht.update=Zv;Ht._guiRelayout=Yb(tc);Ht._guiRestyle=Yb(Gv);Ht._guiUpdate=Yb(Zv);Ht._storeDirectGUIEdit=Qle});var bs=I(Un=>{"use strict";var due=bt();Un.getDelay=function(e){return e._has&&(e._has("gl3d")||e._has("gl2d")||e._has("mapbox"))?500:0};Un.getRedrawFunc=function(e){return function(){due.getComponentMethod("colorbar","draw")(e)}};Un.encodeSVG=function(e){return"data:image/svg+xml,"+encodeURIComponent(e)};Un.encodeJSON=function(e){return"data:application/json,"+encodeURIComponent(e)};var MI=window.URL||window.webkitURL;Un.createObjectURL=function(e){return MI.createObjectURL(e)};Un.revokeObjectURL=function(e){return MI.revokeObjectURL(e)};Un.createBlob=function(e,t){if(t==="svg")return new window.Blob([e],{type:"image/svg+xml;charset=utf-8"});if(t==="full-json")return new window.Blob([e],{type:"application/json;charset=utf-8"});var r=hue(window.atob(e));return new window.Blob([r],{type:"image/"+t})};Un.octetStream=function(e){document.location.href="data:application/octet-stream"+e};function hue(e){for(var t=e.length,r=new ArrayBuffer(t),a=new Uint8Array(r),n=0;n{"use strict";var $b=Ft(),vue=Re(),pue=Kt(),mue=It(),$v=$o(),Qb=/"/g,rc="TOBESTRIPPED",gue=new RegExp('("'+rc+")|("+rc+'")',"g");function yue(e){var t=$b.select("body").append("div").style({display:"none"}).html(""),r=e.replace(/(&[^;]*;)/gi,function(a){return a==="<"?"<":a==="&rt;"?">":a.indexOf("<")!==-1||a.indexOf(">")!==-1?"":t.html(a).text()});return t.remove(),r}function bue(e){return e.replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")}SI.exports=function(t,r,a){var n=t._fullLayout,i=n._paper,o=n._toppaper,s=n.width,l=n.height,u;i.insert("rect",":first-child").call(pue.setRect,0,0,s,l).call(mue.fill,n.paper_bgcolor);var c=n._basePlotModules||[];for(u=0;u{"use strict";var CI=Re(),xue=ih().EventEmitter,Gl=bs();function _ue(e){var t=e.emitter||new xue,r=new Promise(function(a,n){var i=window.Image,o=e.svg,s=e.format||"png";if(CI.isIE()&&s!=="svg"){var l=new Error(Gl.MSG_IE_BAD_FORMAT);return n(l),e.promise?r:t.emit("error",l)}var u=e.canvas,c=e.scale||1,d=e.width||300,h=e.height||150,p=c*d,g=c*h,m=u.getContext("2d",{willReadFrequently:!0}),b=new i,x,_;s==="svg"||CI.isSafari()?_=Gl.encodeSVG(o):(x=Gl.createBlob(o,"svg"),_=Gl.createObjectURL(x)),u.width=p,u.height=g,b.onload=function(){var k;switch(x=null,Gl.revokeObjectURL(_),s!=="svg"&&m.drawImage(b,0,0,p,g),s){case"jpeg":k=u.toDataURL("image/jpeg");break;case"png":k=u.toDataURL("image/png");break;case"webp":k=u.toDataURL("image/webp");break;case"svg":k=_;break;default:var w="Image format is not jpeg, png, svg or webp.";if(n(new Error(w)),!e.promise)return t.emit("error",w)}a(k),e.promise||t.emit("success",k)},b.onerror=function(k){if(x=null,Gl.revokeObjectURL(_),n(k),!e.promise)return t.emit("error",k)},b.src=_});return e.promise?r:t}LI.exports=_ue});var Jb=I((j_e,PI)=>{"use strict";var qI=jt(),DI=Xb(),wue=Nr(),ci=Re(),ac=bs(),Tue=Qv(),Aue=Kv(),kue=wd().version,Kb={format:{valType:"enumerated",values:["png","jpeg","webp","svg","full-json"],dflt:"png",description:"Sets the format of exported image."},width:{valType:"number",min:1,description:["Sets the exported image width.","Defaults to the value found in `layout.width`","If set to *null*, the exported image width will match the current graph width."].join(" ")},height:{valType:"number",min:1,description:["Sets the exported image height.","Defaults to the value found in `layout.height`","If set to *null*, the exported image height will match the current graph height."].join(" ")},scale:{valType:"number",min:0,dflt:1,description:["Sets a scaling for the generated image.","If set, all features of a graphs (e.g. text, line width)","are scaled, unlike simply setting","a bigger *width* and *height*."].join(" ")},setBackground:{valType:"any",dflt:!1,description:["Sets the image background mode.","By default, the image background is determined by `layout.paper_bgcolor`,","the *transparent* mode.","One might consider setting `setBackground` to *opaque*","when exporting a *jpeg* image as JPEGs do not support opacity."].join(" ")},imageDataOnly:{valType:"boolean",dflt:!1,description:["Determines whether or not the return value is prefixed by","the image format's corresponding 'data:image;' spec."].join(" ")}};function Mue(e,t){t=t||{};var r,a,n,i;ci.isPlainObject(e)?(r=e.data||[],a=e.layout||{},n=e.config||{},i={}):(e=ci.getGraphDiv(e),r=ci.extendDeep([],e.data),a=ci.extendDeep({},e.layout),n=e._context,i=e._fullLayout||{});function o(L){return!(L in t)||ci.validate(t[L],Kb[L])}if(!o("width")&&t.width!==null||!o("height")&&t.height!==null)throw new Error("Height and width should be pixel values.");if(!o("format"))throw new Error("Export format is not "+ci.join2(Kb.format.values,", "," or ")+".");var s={};function l(L,M){return ci.coerce(t,s,Kb,L,M)}var u=l("format"),c=l("width"),d=l("height"),h=l("scale"),p=l("setBackground"),g=l("imageDataOnly"),m=document.createElement("div");m.style.position="absolute",m.style.left="-5000px",document.body.appendChild(m);var b=ci.extendFlat({},a);c?b.width=c:t.width===null&&qI(i.width)&&(b.width=i.width),d?b.height=d:t.height===null&&qI(i.height)&&(b.height=i.height);var x=ci.extendFlat({},n,{_exportedPlot:!0,staticPlot:!0,setBackground:p}),_=ac.getRedrawFunc(m);function k(){return new Promise(function(L){setTimeout(L,ac.getDelay(m._fullLayout))})}function w(){return new Promise(function(L,M){var q=Tue(m,u,h),P=m._fullLayout.width,E=m._fullLayout.height;function F(){DI.purge(m),document.body.removeChild(m)}if(u==="full-json"){var N=wue.graphJson(m,!1,"keepdata","object",!0,!0);return N.version=kue,N=JSON.stringify(N),F(),L(g?N:ac.encodeJSON(N))}if(F(),u==="svg")return L(g?q:ac.encodeSVG(q));var j=document.createElement("canvas");j.id=ci.randstr(),Aue({format:u,width:P,height:E,scale:h,canvas:j,svg:q,promise:!0}).then(L).catch(M)})}function A(L){return g?L.replace(ac.IMAGE_URL_PREFIX,""):L}return new Promise(function(L,M){DI.newPlot(m,r,b,x).then(_).then(k).then(w).then(function(q){L(A(q))}).catch(function(q){M(q)})})}PI.exports=Mue});var zI=I((O_e,II)=>{"use strict";var An=Re(),Sue=Nr(),Cue=eo(),Lue=Oo().dfltConfig,kn=An.isPlainObject,ho=Array.isArray,RI=An.isArrayOrTypedArray;II.exports=function(t,r){t===void 0&&(t=[]),r===void 0&&(r={});var a=Cue.get(),n=[],i={_context:An.extendFlat({},Lue)},o,s;ho(t)?(i.data=An.extendDeep([],t),o=t):(i.data=[],o=[],n.push(Pr("array","data"))),kn(r)?(i.layout=An.extendDeep({},r),s=r):(i.layout={},s={},arguments.length>1&&n.push(Pr("object","layout"))),Sue.supplyDefaults(i);for(var l=i._fullData,u=o.length,c=0;cd.length&&a.push(Pr("unused",n,u.concat(d.length)));var x=d.length,_=Array.isArray(b);_&&(x=Math.min(x,b.length));var k,w,A,L,M;if(h.dimensions===2)for(w=0;wd[w].length&&a.push(Pr("unused",n,u.concat(w,d[w].length)));var q=d[w].length;for(k=0;k<(_?Math.min(q,b[w].length):q);k++)A=_?b[w][k]:b,L=c[w][k],M=d[w][k],An.validate(L,A)?M!==L&&M!==+L&&a.push(Pr("dynamic",n,u.concat(w,k),L,M)):a.push(Pr("value",n,u.concat(w,k),L))}else a.push(Pr("array",n,u.concat(w),c[w]));else for(w=0;w{"use strict";var NI=Re(),ic=bs();function zue(e,t,r){var a=document.createElement("a"),n="download"in a,i=new Promise(function(o,s){var l,u;if(NI.isIE())return l=ic.createBlob(e,"svg"),window.navigator.msSaveBlob(l,t),l=null,o(t);if(n)return l=ic.createBlob(e,r),u=ic.createObjectURL(l),a.href=u,a.download=t,document.body.appendChild(a),a.click(),document.body.removeChild(a),ic.revokeObjectURL(u),l=null,o(t);if(NI.isSafari()){var c=r==="svg"?",":";base64,";return ic.octetStream(c+encodeURIComponent(e)),o(t)}s(new Error("download error"))});return i}FI.exports=zue});var t1=I((B_e,OI)=>{"use strict";var e1=Re(),Nue=Jb(),Fue=jI(),jue=bs();function Oue(e,t){var r;return e1.isPlainObject(e)||(r=e1.getGraphDiv(e)),t=t||{},t.format=t.format||"png",t.width=t.width||null,t.height=t.height||null,t.imageDataOnly=!0,new Promise(function(a,n){r&&r._snapshotInProgress&&n(new Error("Snapshotting already in progress.")),e1.isIE()&&t.format!=="svg"&&n(new Error(jue.MSG_IE_BAD_FORMAT)),r&&(r._snapshotInProgress=!0);var i=Nue(e,t),o=t.filename||e.fn||"newplot";o+="."+t.format.replace("-","."),i.then(function(s){return r&&(r._snapshotInProgress=!1),Fue(s,o,t.format)}).then(function(s){a(s)}).catch(function(s){r&&(r._snapshotInProgress=!1),n(s)})})}OI.exports=Oue});var WI=I(r1=>{"use strict";var Ya=Re(),Za=Ya.isPlainObject,HI=eo(),BI=Nr(),Hue=Zi(),UI=ar(),GI=Oo().dfltConfig;r1.makeTemplate=function(e){e=Ya.isPlainObject(e)?e:Ya.getGraphDiv(e),e=Ya.extendDeep({_context:GI},{data:e.data,layout:e.layout}),BI.supplyDefaults(e);var t=e.data||[],r=e.layout||{};r._basePlotModules=e._fullLayout._basePlotModules,r._modules=e._fullLayout._modules;var a={data:{},layout:{}};t.forEach(function(p){var g={};oc(p,g,Uue.bind(null,p));var m=Ya.coerce(p,{},Hue,"type"),b=a.data[m];b||(b=a.data[m]=[]),b.push(g)}),oc(r,a.layout,Bue.bind(null,r)),delete a.layout.template;var n=r.template;if(Za(n)){var i=n.layout,o,s,l,u,c,d;Za(i)&&Jv(i,a.layout);var h=n.data;if(Za(h)){for(s in a.data)if(l=h[s],Array.isArray(l)){for(c=a.data[s],d=c.length,u=l.length,o=0;ox?o.push({code:"unused",traceType:p,templateCount:b,dataCount:x}):x>b&&o.push({code:"reused",traceType:p,templateCount:b,dataCount:x})}}function _(k,w){for(var A in k)if(A.charAt(0)!=="_"){var L=k[A],M=Mn(k,A,w);Za(L)?(Array.isArray(k)&&L._template===!1&&L.templateitemname&&o.push({code:"missing",path:M,templateitemname:L.templateitemname}),_(L,M)):Array.isArray(L)&&Gue(L)&&_(L,M)}}if(_({data:l,layout:s},""),o.length)return o.map(Wue)};function Gue(e){for(var t=0;t{"use strict";var jr=Xb();cr._doPlot=jr._doPlot;cr.newPlot=jr.newPlot;cr.restyle=jr.restyle;cr.relayout=jr.relayout;cr.redraw=jr.redraw;cr.update=jr.update;cr._guiRestyle=jr._guiRestyle;cr._guiRelayout=jr._guiRelayout;cr._guiUpdate=jr._guiUpdate;cr._storeDirectGUIEdit=jr._storeDirectGUIEdit;cr.react=jr.react;cr.extendTraces=jr.extendTraces;cr.prependTraces=jr.prependTraces;cr.addTraces=jr.addTraces;cr.deleteTraces=jr.deleteTraces;cr.moveTraces=jr.moveTraces;cr.purge=jr.purge;cr.addFrames=jr.addFrames;cr.deleteFrames=jr.deleteFrames;cr.animate=jr.animate;cr.setPlotConfig=jr.setPlotConfig;cr.toImage=Jb();cr.validate=zI();cr.downloadImage=t1();var VI=WI();cr.makeTemplate=VI.makeTemplate;cr.validateTemplate=VI.validateTemplate});var n1=I((W_e,ZI)=>{"use strict";var a1=Re(),Vue=bt();ZI.exports=function(t,r,a,n){var i=n("x"),o=n("y"),s,l=Vue.getComponentMethod("calendars","handleTraceDefaults");if(l(t,r,["x","y"],a),i){var u=a1.minRowLength(i);o?s=Math.min(u,a1.minRowLength(o)):(s=u,n("y0"),n("dy"))}else{if(!o)return 0;s=a1.minRowLength(o),n("x0"),n("dx")}return r._length=s,s}});var i1=I((V_e,QI)=>{"use strict";var XI=Re().dateTick0,Yue=Tr(),Zue=Yue.ONEWEEK;function $I(e,t){return e%Zue==0?XI(t,1):XI(t,0)}QI.exports=function(t,r,a,n,i){if(i||(i={x:!0,y:!0}),i.x){var o=n("xperiod");o&&(n("xperiod0",$I(o,r.xcalendar)),n("xperiodalignment"))}if(i.y){var s=n("yperiod");s&&(n("yperiod0",$I(s,r.ycalendar)),n("yperiodalignment"))}}});var ez=I((Y_e,JI)=>{"use strict";var KI=["orientation","groupnorm","stackgaps"];JI.exports=function(t,r,a,n){var i=a._scatterStackOpts,o=n("stackgroup");if(o){var s=r.xaxis+r.yaxis,l=i[s];l||(l=i[s]={});var u=l[o],c=!1;u?u.traces.push(r):(u=l[o]={traceIndices:[],traces:[r]},c=!0);for(var d={orientation:r.x&&!r.y?"h":"v"},h=0;h{"use strict";var tz=It(),rz=hn().hasColorscale,az=_l(),Xue=Ja();nz.exports=function(t,r,a,n,i,o){var s=Xue.isBubble(t),l=(t.line||{}).color,u;if(o=o||{},l&&(a=l),i("marker.symbol"),i("marker.opacity",s?.7:1),i("marker.size"),o.noAngle||(i("marker.angle"),o.noAngleRef||i("marker.angleref"),o.noStandOff||i("marker.standoff")),i("marker.color",a),rz(t,"marker")&&az(t,r,n,i,{prefix:"marker.",cLetter:"c"}),o.noSelect||(i("selected.marker.color"),i("unselected.marker.color"),i("selected.marker.size"),i("unselected.marker.size")),o.noLine||(l&&!Array.isArray(l)&&r.marker.color!==l?u=l:s?u=tz.background:u=tz.defaultLine,i("marker.line.color",u),rz(t,"marker.line")&&az(t,r,n,i,{prefix:"marker.line.",cLetter:"c"}),i("marker.line.width",s?1:0)),s&&(i("marker.sizeref"),i("marker.sizemin"),i("marker.sizemode")),o.gradient){var c=i("marker.gradient.type");c!=="none"&&i("marker.gradient.color")}}});var sz=I((X_e,oz)=>{"use strict";var $ue=Re().isArrayOrTypedArray,Que=hn().hasColorscale,Kue=_l();oz.exports=function(t,r,a,n,i,o){o||(o={});var s=(t.marker||{}).color;if(i("line.color",a),Que(t,"line"))Kue(t,r,n,i,{prefix:"line.",cLetter:"c"});else{var l=($ue(s)?!1:s)||a;i("line.color",l)}i("line.width"),o.noDash||i("line.dash"),o.backoff&&i("line.backoff")}});var uz=I(($_e,lz)=>{"use strict";lz.exports=function(t,r,a){var n=a("line.shape");n==="spline"&&a("line.smoothing")}});var cz=I((Q_e,fz)=>{"use strict";var Jue=Re();fz.exports=function(e,t,r,a,n){n=n||{},a("textposition"),Jue.coerceFont(a,"textfont",r.font),n.noSelect||(a("selected.textfont.color"),a("unselected.textfont.color"))}});var vz=I((K_e,hz)=>{"use strict";var efe=It(),dz=Re().isArrayOrTypedArray;hz.exports=function(t,r,a,n){var i=!1;if(r.marker){var o=r.marker.color,s=(r.marker.line||{}).color;o&&!dz(o)?i=o:s&&!dz(s)&&(i=s)}n("fillcolor",efe.addOpacity((r.line||{}).color||i||a,.5))}});var yz=I((J_e,gz)=>{"use strict";var pz=Re(),tfe=bt(),rfe=Hl(),afe=qv(),Wl=Ja(),nfe=n1(),ife=i1(),ofe=ez(),sfe=iz(),lfe=sz(),mz=uz(),ufe=cz(),ffe=vz(),cfe=Re().coercePattern;gz.exports=function(t,r,a,n){function i(p,g){return pz.coerce(t,r,rfe,p,g)}var o=nfe(t,r,n,i);if(o||(r.visible=!1),!!r.visible){ife(t,r,n,i),i("xhoverformat"),i("yhoverformat");var s=ofe(t,r,n,i),l=!s&&o{"use strict";bz.exports=function(t){for(var r=0;r=0;i--){var o=t[i];if(o.type==="scatter"&&o.xaxis===a.xaxis&&o.yaxis===a.yaxis){o.opacity=void 0;break}}}}}});var o1=I((twe,wz)=>{"use strict";var dfe=jt(),_z=Re(),hfe=_z.dateTime2ms,tp=_z.incrementMonth,vfe=Tr(),pfe=vfe.ONEAVGMONTH;wz.exports=function(t,r,a,n){if(r.type!=="date")return{vals:n};var i=t[a+"periodalignment"];if(!i)return{vals:n};var o=t[a+"period"],s;if(dfe(o)){if(o=+o,o<=0)return{vals:n}}else if(typeof o=="string"&&o.charAt(0)==="M"){var l=+o.substring(1);if(l>0&&Math.round(l)===l)s=l;else return{vals:n}}for(var u=r.calendar,c=i==="start",d=i==="end",h=t[a+"period0"],p=hfe(h,u)||0,g=[],m=[],b=[],x=n.length,_=0;_k;)L=tp(L,-s,u);for(;L<=k;)L=tp(L,s,u);A=tp(L,-s,u)}else{for(w=Math.round((k-p)/o),L=p+w*o;L>k;)L-=o;for(;L<=k;)L+=o;A=L-o}g[_]=c?A:d?L:(A+L)/2,m[_]=A,b[_]=L}return{vals:g,starts:m,ends:b}}});var kz=I((rwe,Az)=>{"use strict";var s1=hn().hasColorscale,l1=bh(),Tz=Ja();Az.exports=function(t,r){Tz.hasLines(r)&&s1(r,"line")&&l1(t,r,{vals:r.line.color,containerStr:"line",cLetter:"c"}),Tz.hasMarkers(r)&&(s1(r,"marker")&&l1(t,r,{vals:r.marker.color,containerStr:"marker",cLetter:"c"}),s1(r,"marker.line")&&l1(t,r,{vals:r.marker.line.color,containerStr:"marker.line",cLetter:"c"}))}});var u1=I((awe,Mz)=>{"use strict";var na=Re();Mz.exports=function(t,r){for(var a=0;a{"use strict";var Sz=Re();Cz.exports=function(t,r){Sz.isArrayOrTypedArray(r.selectedpoints)&&Sz.tagSelected(t,r)}});var p1=I((iwe,Iz)=>{"use strict";var Lz=jt(),c1=Re(),sc=tr(),qz=o1(),d1=Tr().BADNUM,h1=Ja(),mfe=kz(),gfe=u1(),yfe=f1();function bfe(e,t){var r=e._fullLayout,a=t._xA=sc.getFromId(e,t.xaxis||"x","x"),n=t._yA=sc.getFromId(e,t.yaxis||"y","y"),i=a.makeCalcdata(t,"x"),o=n.makeCalcdata(t,"y"),s=qz(t,a,"x",i),l=qz(t,n,"y",o),u=s.vals,c=l.vals,d=t._length,h=new Array(d),p=t.ids,g=v1(t,r,a,n),m=!1,b,x,_,k,w,A;Rz(r,t);var L="x",M="y",q;if(g)c1.pushUnique(g.traceIndices,t._expandedIndex),b=g.orientation==="v",b?(M="s",q="x"):(L="s",q="y"),w=g.stackgaps==="interpolate";else{var P=Pz(t,d);Dz(e,t,a,n,u,c,P)}var E=!!t.xperiodalignment,F=!!t.yperiodalignment;for(x=0;xx&&h[k].gap;)k--;for(A=h[k].s,_=h.length-1;_>k;_--)h[_].s=A;for(;x{"use strict";var zz=p1();Nz.exports=function(t,r){var a=r.xaxis,n=r.yaxis,i=a._id+n._id,o=t._fullLayout._scatterStackOpts[i];if(!!o){var s=t.calcdata,l,u,c,d,h,p,g,m,b,x,_,k,w,A,L;for(var M in o){x=o[M];var q=x.traceIndices;if(!!q.length){for(_=x.stackgaps==="interpolate",k=x.groupnorm,x.orientation==="v"?(w="x",A="y"):(w="y",A="x"),L=new Array(q.length),l=0;lP[c]&&c{"use strict";var _fe=Kt(),jz=Tr(),lc=jz.BADNUM,Oz=jz.LOG_CLIP,Hz=Oz+.5,Bz=Oz-.5,rp=Re(),wfe=rp.segmentsIntersect,Uz=rp.constrain,g1=qv();Gz.exports=function(t,r){var a=r.trace||{},n=r.xaxis,i=r.yaxis,o=n.type==="log",s=i.type==="log",l=n._length,u=i._length,c=r.backoff,d=a.marker,h=r.connectGaps,p=r.baseTolerance,g=r.shape,m=g==="linear",b=a.fill&&a.fill!=="none",x=[],_=g1.minTolerance,k=t.length,w=new Array(k),A=0,L,M,q,P,E,F,N,j,B,W,V,Y,Z,$,ne,te;function de(Ne){var et=t[Ne];if(!et)return!1;var Oe=r.linearized?n.l2p(et.x):n.c2p(et.x),st=r.linearized?i.l2p(et.y):i.c2p(et.y);if(Oe===lc){if(o&&(Oe=n.c2p(et.x,!0)),Oe===lc)return!1;s&&st===lc&&(Oe*=Math.abs(n._m*u*(n._m>0?Hz:Bz)/(i._m*l*(i._m>0?Hz:Bz)))),Oe*=1e3}if(st===lc){if(s&&(st=i.c2p(et.y,!0)),st===lc)return!1;st*=1e3}return[Oe,st]}function be(Ne,et,Oe,st){var dt=Oe-Ne,vt=st-et,pt=.5-Ne,ae=.5-et,_e=dt*dt+vt*vt,Te=dt*pt+vt*ae;if(Te>0&&Te<_e){var Fe=pt*vt-ae*dt;if(Fe*Fe<_e)return!0}}var re,ge;function ee(Ne,et){var Oe=Ne[0]/l,st=Ne[1]/u,dt=Math.max(0,-Oe,Oe-1,-st,st-1);return dt&&re!==void 0&&be(Oe,st,re,ge)&&(dt=0),dt&&et&&be(Oe,st,et[0]/l,et[1]/u)&&(dt=0),(1+g1.toleranceGrowth*dt)*p}function Ae(Ne,et){var Oe=Ne[0]-et[0],st=Ne[1]-et[1];return Math.sqrt(Oe*Oe+st*st)}var ke=g1.maxScreensAway,qe=-l*ke,Le=l*(1+ke),Se=-u*ke,U=u*(1+ke),J=[[qe,Se,Le,Se],[Le,Se,Le,U],[Le,U,qe,U],[qe,U,qe,Se]],O,oe,me,xe,De,Pe;function ye(Ne,et){for(var Oe=[],st=0,dt=0;dt<4;dt++){var vt=J[dt],pt=wfe(Ne[0],Ne[1],et[0],et[1],vt[0],vt[1],vt[2],vt[3]);pt&&(!st||Math.abs(pt.x-Oe[0][0])>1||Math.abs(pt.y-Oe[0][1])>1)&&(pt=[pt.x,pt.y],st&&Ae(pt,Ne)Le||Ne[1]U)return[Uz(Ne[0],qe,Le),Uz(Ne[1],Se,U)]}function Ue(Ne,et){if(Ne[0]===et[0]&&(Ne[0]===qe||Ne[0]===Le)||Ne[1]===et[1]&&(Ne[1]===Se||Ne[1]===U))return!0}function nt(Ne,et){var Oe=[],st=rt(Ne),dt=rt(et);return st&&dt&&Ue(st,dt)||(st&&Oe.push(st),dt&&Oe.push(dt)),Oe}function at(Ne,et,Oe){return function(st,dt){var vt=rt(st),pt=rt(dt),ae=[];if(vt&&pt&&Ue(vt,pt))return ae;vt&&ae.push(vt),pt&&ae.push(pt);var _e=2*rp.constrain((st[Ne]+dt[Ne])/2,et,Oe)-((vt||st)[Ne]+(pt||dt)[Ne]);if(_e){var Te;vt&&pt?Te=_e>0==vt[Ne]>pt[Ne]?vt:pt:Te=vt||pt,Te[Ne]+=_e}return ae}}var ft;g==="linear"||g==="spline"?ft=ye:g==="hv"||g==="vh"?ft=nt:g==="hvh"?ft=at(0,qe,Le):g==="vhv"&&(ft=at(1,Se,U));function wt(Ne,et){var Oe=et[0]-Ne[0],st=(et[1]-Ne[1])/Oe,dt=(Ne[1]*et[0]-et[1]*Ne[0])/Oe;return dt>0?[st>0?qe:Le,U]:[st>0?Le:qe,Se]}function se(Ne){var et=Ne[0],Oe=Ne[1],st=et===w[A-1][0],dt=Oe===w[A-1][1];if(!(st&&dt))if(A>1){var vt=et===w[A-2][0],pt=Oe===w[A-2][1];st&&(et===qe||et===Le)&&vt?pt?A--:w[A-1]=Ne:dt&&(Oe===Se||Oe===U)&&pt?vt?A--:w[A-1]=Ne:w[A++]=Ne}else w[A++]=Ne}function Ce(Ne){w[A-1][0]!==Ne[0]&&w[A-1][1]!==Ne[1]&&se([me,xe]),se(Ne),De=null,me=xe=0}var it=rp.isArrayOrTypedArray(d);function ct(Ne){if(Ne&&c&&(Ne.i=L,Ne.d=t,Ne.trace=a,Ne.marker=it?d[Ne.i]:d,Ne.backoff=c),re=Ne[0]/l,ge=Ne[1]/u,O=Ne[0]Le?Le:0,oe=Ne[1]U?U:0,O||oe){if(!A)w[A++]=[O||Ne[0],oe||Ne[1]];else if(De){var et=ft(De,Ne);et.length>1&&(Ce(et[0]),w[A++]=et[1])}else Pe=ft(w[A-1],Ne)[0],w[A++]=Pe;var Oe=w[A-1];O&&oe&&(Oe[0]!==O||Oe[1]!==oe)?(De&&(me!==O&&xe!==oe?se(me&&xe?wt(De,Ne):[me||O,xe||oe]):me&&xe&&se([me,xe])),se([O,oe])):me-O&&xe-oe&&se([O||me,oe||xe]),De=Ne,me=O,xe=oe}else De&&Ce(ft(De,Ne)[0]),w[A++]=Ne}for(L=0;Lee(F,Je))break;q=F,Z=B[0]*j[0]+B[1]*j[1],Z>V?(V=Z,P=F,N=!1):Z=t.length||!F)break;ct(F),M=F}}De&&se([me||De[0],xe||De[1]]),x.push(w.slice(0,A))}var we=g.slice(g.length-1);if(c&&we!=="h"&&we!=="v"){for(var Me=!1,Ye=-1,je=[],ze=0;ze{"use strict";var Vz={tonextx:1,tonexty:1,tonext:1};Yz.exports=function(t,r,a){var n,i,o,s,l,u={},c=!1,d=-1,h=0,p=-1;for(i=0;i=0?l=p:(l=p=h,h++),l{"use strict";var Gn=Ft(),Tfe=bt(),uc=Re(),Vl=uc.ensureSingle,Xz=uc.identity,br=Kt(),Yl=Ja(),Afe=Wz(),kfe=Zz(),Mfe=yb().tester;Qz.exports=function(t,r,a,n,i,o){var s,l,u=!i,c=!!i&&i.duration>0,d=kfe(t,r,a);if(s=n.selectAll("g.trace").data(d,function(p){return p[0].trace.uid}),s.enter().append("g").attr("class",function(p){return"trace scatter trace"+p[0].trace.uid}).style("stroke-miterlimit",2),s.order(),Sfe(t,s,r),c){o&&(l=o());var h=Gn.transition().duration(i.duration).ease(i.easing).each("end",function(){l&&l()}).each("interrupt",function(){l&&l()});h.each(function(){n.selectAll("g.trace").each(function(p,g){$z(t,g,r,p,d,this,i)})})}else s.each(function(p,g){$z(t,g,r,p,d,this,i)});u&&s.exit().remove(),n.selectAll("path:not([d])").remove()};function Sfe(e,t,r){t.each(function(a){var n=Vl(Gn.select(this),"g","fills");br.setClipUrl(n,r.layerClipId,e);var i=a[0].trace,o=[];i._ownfill&&o.push("_ownFill"),i._nexttrace&&o.push("_nextFill");var s=n.selectAll("g").data(o,Xz);s.enter().append("g"),s.exit().each(function(l){i[l]=null}).remove(),s.order().each(function(l){i[l]=Vl(Gn.select(this),"path","js-fill")})})}function $z(e,t,r,a,n,i,o){var s;Cfe(e,t,r,a,n);var l=!!o&&o.duration>0;function u(J){return l?J.transition():J}var c=r.xaxis,d=r.yaxis,h=a[0].trace,p=h.line,g=Gn.select(i),m=Vl(g,"g","errorbars"),b=Vl(g,"g","lines"),x=Vl(g,"g","points"),_=Vl(g,"g","text");if(Tfe.getComponentMethod("errorbars","plot")(e,m,r,o),h.visible!==!0)return;u(g).style("opacity",h.opacity);var k,w,A=h.fill.charAt(h.fill.length-1);A!=="x"&&A!=="y"&&(A=""),a[0][r.isRangePlot?"nodeRangePlot3":"node3"]=g;var L="",M=[],q=h._prevtrace;q&&(L=q._prevRevpath||"",w=q._nextFill,M=q._polygons);var P,E,F="",N="",j,B,W,V,Y,Z,$,ne=[],te=uc.noop;if(k=h._ownFill,Yl.hasLines(h)||h.fill!=="none"){for(w&&w.datum(a),["hv","vh","hvh","vhv"].indexOf(p.shape)!==-1?(j=br.steps(p.shape),B=br.steps(p.shape.split("").reverse().join(""))):p.shape==="spline"?j=B=function(J){var O=J[J.length-1];return J.length>1&&J[0][0]===O[0]&&J[0][1]===O[1]?br.smoothclosed(J.slice(1),p.smoothing):br.smoothopen(J,p.smoothing)}:j=B=function(J){return"M"+J.join("L")},W=function(J){return B(J.reverse())},ne=Afe(a,{xaxis:c,yaxis:d,trace:h,connectGaps:h.connectgaps,baseTolerance:Math.max(p.width||1,3)/4,shape:p.shape,backoff:p.backoff,simplify:p.simplify,fill:h.fill}),$=h._polygons=new Array(ne.length),s=0;s1){var oe=Gn.select(this);if(oe.datum(a),J)u(oe.style("opacity",0).attr("d",P).call(br.lineGroupStyle)).style("opacity",1);else{var me=u(oe);me.attr("d",P),br.singleLineStyle(a,me)}}}}}var de=b.selectAll(".js-line").data(ne);u(de.exit()).style("opacity",0).remove(),de.each(te(!1)),de.enter().append("path").classed("js-line",!0).style("vector-effect","non-scaling-stroke").call(br.lineGroupStyle).each(te(!0)),br.setClipUrl(de,r.layerClipId,e);function be(J){u(J).attr("d","M0,0Z")}ne.length?(k?(k.datum(a),V&&Z&&(A?(A==="y"?V[1]=Z[1]=d.c2p(0,!0):A==="x"&&(V[0]=Z[0]=c.c2p(0,!0)),u(k).attr("d","M"+Z+"L"+V+"L"+F.substr(1)).call(br.singleFillStyle,e)):u(k).attr("d",F+"Z").call(br.singleFillStyle,e))):w&&(h.fill.substr(0,6)==="tonext"&&F&&L?(h.fill==="tonext"?u(w).attr("d",F+"Z"+L+"Z").call(br.singleFillStyle,e):u(w).attr("d",F+"L"+L.substr(1)+"Z").call(br.singleFillStyle,e),h._polygons=h._polygons.concat(M)):(be(w),h._polygons=null)),h._prevRevpath=N,h._prevPolygons=$):(k?be(k):w&&be(w),h._polygons=h._prevRevpath=h._prevPolygons=null);function re(J){return J.filter(function(O){return!O.gap&&O.vis})}function ge(J){return J.filter(function(O){return O.vis})}function ee(J){return J.filter(function(O){return!O.gap})}function Ae(J){return J.id}function ke(J){if(J.ids)return Ae}function qe(){return!1}function Le(J,O,oe){var me,xe,De,Pe=oe[0].trace,ye=Yl.hasMarkers(Pe),rt=Yl.hasText(Pe),Ue=ke(Pe),nt=qe,at=qe;if(ye||rt){var ft=Xz,wt=Pe.stackgroup,se=wt&&e._fullLayout._scatterStackOpts[c._id+d._id][wt].stackgaps==="infer zero";Pe.marker.maxdisplayed||Pe._needsCull?ft=se?ge:re:wt&&!se&&(ft=ee),ye&&(nt=ft),rt&&(at=ft)}xe=J.selectAll("path.point"),me=xe.data(nt,Ue);var Ce=me.enter().append("path").classed("point",!0);l&&Ce.call(br.pointStyle,Pe,e).call(br.translatePoints,c,d).style("opacity",0).transition().style("opacity",1),me.order();var it;ye&&(it=br.makePointStyleFns(Pe)),me.each(function(ct){var Je=Gn.select(this),we=u(Je);De=br.translatePoint(ct,we,c,d),De?(br.singlePointStyle(ct,we,Pe,it,e),r.layerClipId&&br.hideOutsideRangePoint(ct,we,c,d,Pe.xcalendar,Pe.ycalendar),Pe.customdata&&Je.classed("plotly-customdata",ct.data!==null&&ct.data!==void 0)):we.remove()}),l?me.exit().transition().style("opacity",0).remove():me.exit().remove(),xe=O.selectAll("g"),me=xe.data(at,Ue),me.enter().append("g").classed("textpoint",!0).append("text"),me.order(),me.each(function(ct){var Je=Gn.select(this),we=u(Je.select("text"));De=br.translatePoint(ct,we,c,d),De?r.layerClipId&&br.hideOutsideRangePoint(ct,Je,c,d,Pe.xcalendar,Pe.ycalendar):Je.remove()}),me.selectAll("text").call(br.textPointStyle,Pe,e).each(function(ct){var Je=c.c2p(ct.x),we=d.c2p(ct.y);Gn.select(this).selectAll("tspan.line").each(function(){u(Gn.select(this)).attr({x:Je,y:we})})}),me.exit().remove()}x.datum(a),_.datum(a),Le(x,_,a);var Se=h.cliponaxis===!1,U=Se?null:r.layerClipId;br.setClipUrl(x,U,e),br.setClipUrl(_,U,e)}function Cfe(e,t,r,a,n){var i=r.xaxis,o=r.yaxis,s=Gn.extent(uc.simpleMap(i.range,i.r2c)),l=Gn.extent(uc.simpleMap(o.range,o.r2c)),u=a[0].trace;if(!!Yl.hasMarkers(u)){var c=u.marker.maxdisplayed;if(c!==0){var d=a.filter(function(m){return m.x>=s[0]&&m.x<=s[1]&&m.y>=l[0]&&m.y<=l[1]}),h=Math.ceil(d.length/c),p=0;n.forEach(function(m,b){var x=m[0].trace;Yl.hasMarkers(x)&&x.marker.maxdisplayed>0&&b{"use strict";Jz.exports={container:"marker",min:"cmin",max:"cmax"}});var t8=I((cwe,e8)=>{"use strict";var ap=tr();e8.exports=function(t,r,a){var n={},i={_fullLayout:a},o=ap.getFromTrace(i,r,"x"),s=ap.getFromTrace(i,r,"y");return n.xLabel=ap.tickText(o,o.c2l(t.x),!0).text,n.yLabel=ap.tickText(s,s.c2l(t.y),!0).text,n}});var w1=I((dwe,r8)=>{"use strict";var b1=Ft(),Zl=Kt(),Lfe=bt();function qfe(e){var t=b1.select(e).selectAll("g.trace.scatter");t.style("opacity",function(r){return r[0].trace.opacity}),t.selectAll("g.points").each(function(r){var a=b1.select(this),n=r.trace||r[0].trace;x1(a,n,e)}),t.selectAll("g.text").each(function(r){var a=b1.select(this),n=r.trace||r[0].trace;_1(a,n,e)}),t.selectAll("g.trace path.js-line").call(Zl.lineGroupStyle),t.selectAll("g.trace path.js-fill").call(Zl.fillGroupStyle,e),Lfe.getComponentMethod("errorbars","style")(t)}function x1(e,t,r){Zl.pointStyle(e.selectAll("path.point"),t,r)}function _1(e,t,r){Zl.textPointStyle(e.selectAll("text"),t,r)}function Dfe(e,t,r){var a=t[0].trace;a.selectedpoints?(Zl.selectedPointStyle(r.selectAll("path.point"),a),Zl.selectedTextStyle(r.selectAll("text"),a)):(x1(r,a,e),_1(r,a,e))}r8.exports={style:qfe,stylePoints:x1,styleText:_1,styleOnSelect:Dfe}});var n8=I((hwe,a8)=>{"use strict";var Xl=It(),Pfe=Ja();a8.exports=function(t,r){var a,n;if(t.mode==="lines")return a=t.line.color,a&&Xl.opacity(a)?a:t.fillcolor;if(t.mode==="none")return t.fill?t.fillcolor:"";var i=r.mcc||(t.marker||{}).color,o=r.mlcc||((t.marker||{}).line||{}).color;return n=i&&Xl.opacity(i)?i:o&&Xl.opacity(o)&&(r.mlw||((t.marker||{}).line||{}).width)?o:"",n?Xl.opacity(n)<.3?Xl.addOpacity(n,.3):n:(a=(t.line||{}).color,a&&Xl.opacity(a)&&Pfe.hasLines(t)&&t.line.width?a:t.fillcolor)}});var s8=I((vwe,o8)=>{"use strict";var T1=Re(),i8=qi(),Rfe=bt(),Efe=n8(),A1=It(),Ife=T1.fillText;o8.exports=function(t,r,a,n){var i=t.cd,o=i[0].trace,s=t.xa,l=t.ya,u=s.c2p(r),c=l.c2p(a),d=[u,c],h=o.hoveron||"",p=o.mode.indexOf("markers")!==-1?3:.5,g=!!o.xperiodalignment,m=!!o.yperiodalignment;if(h.indexOf("points")!==-1){var b=function(Le){if(g){var Se=s.c2p(Le.xStart),U=s.c2p(Le.xEnd);return u>=Math.min(Se,U)&&u<=Math.max(Se,U)?0:1/0}var J=Math.max(3,Le.mrc||0),O=1-1/J,oe=Math.abs(s.c2p(Le.x)-u);return oe=Math.min(Se,U)&&c<=Math.max(Se,U)?0:1/0}var J=Math.max(3,Le.mrc||0),O=1-1/J,oe=Math.abs(l.c2p(Le.y)-c);return oeke!=Ae>=ke&&(re=de[ne-1][0],ge=de[ne][0],Ae-ee&&(be=re+(ge-re)*(ke-ee)/(Ae-ee),W=Math.min(W,be),V=Math.max(V,be)));W=Math.max(W,0),V=Math.min(V,s._length);var qe=A1.defaultLine;return A1.opacity(o.fillcolor)?qe=o.fillcolor:A1.opacity((o.line||{}).color)&&(qe=o.line.color),T1.extendFlat(t,{distance:t.maxHoverDistance,x0:W,x1:V,y0:ke,y1:ke,color:qe,hovertemplate:!1}),delete t.index,o.text&&!Array.isArray(o.text)?t.text=String(o.text):t.text=o.name,[t]}}}});var f8=I((pwe,u8)=>{"use strict";var l8=Ja();u8.exports=function(t,r){var a=t.cd,n=t.xaxis,i=t.yaxis,o=[],s=a[0].trace,l,u,c,d,h=!l8.hasMarkers(s)&&!l8.hasText(s);if(h)return[];if(r===!1)for(l=0;l{"use strict";c8.exports={xaxis:{valType:"subplotid",dflt:"x",editType:"calc+clearAxisTypes",description:["Sets a reference between this trace's x coordinates and","a 2D cartesian x axis.","If *x* (the default value), the x coordinates refer to","`layout.xaxis`.","If *x2*, the x coordinates refer to `layout.xaxis2`, and so on."].join(" ")},yaxis:{valType:"subplotid",dflt:"y",editType:"calc+clearAxisTypes",description:["Sets a reference between this trace's y coordinates and","a 2D cartesian y axis.","If *y* (the default value), the y coordinates refer to","`layout.yaxis`.","If *y2*, the y coordinates refer to `layout.yaxis2`, and so on."].join(" ")}}});var m8=I((gwe,p8)=>{"use strict";var fc=bt().traceIs,k1=Oy();p8.exports=function(t,r,a,n){a("autotypenumbers",n.autotypenumbersDflt);var i=a("type",(n.splomStash||{}).type);i==="-"&&(zfe(r,n.data),r.type==="-"?r.type="linear":t.type=r.type)};function zfe(e,t){if(e.type==="-"){var r=e._id,a=r.charAt(0),n;r.indexOf("scene")!==-1&&(r=a);var i=Nfe(t,r,a);if(!!i){if(i.type==="histogram"&&a==={v:"y",h:"x"}[i.orientation||"v"]){e.type="linear";return}var o=a+"calendar",s=i[o],l={noMultiCategory:!fc(i,"cartesian")||fc(i,"noMultiCategory")};if(i.type==="box"&&i._hasPreCompStats&&a==={h:"x",v:"y"}[i.orientation||"v"]&&(l.noMultiCategory=!0),l.autotypenumbers=e.autotypenumbers,v8(i,a)){var u=h8(i),c=[];for(n=0;n0&&(n["_"+r+"axes"]||{})[t])return n;if((n[r+"axis"]||r)===t){if(v8(n,r))return n;if((n[r]||[]).length||n[r+"0"])return n}}}function h8(e){return{v:"x",h:"y"}[e.orientation||"v"]}function v8(e,t){var r=h8(e),a=fc(e,"box-violin"),n=fc(e._fullInput||{},"candlestick");return a&&!n&&t===r&&e[r]===void 0&&e[r+"0"]===void 0}});var y8=I((ywe,g8)=>{"use strict";function Ffe(e,t){var r=t.dataAttr||e._id.charAt(0),a={},n,i,o;if(t.axData)n=t.axData;else for(n=[],i=0;i0,s;o&&(s="array");var l=a("categoryorder",s),u;l==="array"&&(u=a("categoryarray")),!o&&l==="array"&&(l=r.categoryorder="trace"),l==="trace"?r._initialCategories=[]:l==="array"?r._initialCategories=u.slice():(u=Ffe(r,n).sort(),l==="category ascending"?r._initialCategories=u:l==="category descending"&&(r._initialCategories=u.reverse()))}}});var _8=I((bwe,x8)=>{"use strict";var b8=Pn().mix,jfe=gi(),Ofe=Re();x8.exports=function(t,r,a,n){n=n||{};var i=n.dfltColor;function o(M,q){return Ofe.coerce2(t,r,n.attributes,M,q)}var s=o("linecolor",i),l=o("linewidth"),u=a("showline",n.showLine||!!s||!!l);u||(delete r.linecolor,delete r.linewidth);var c=b8(i,n.bgColor,n.blend||jfe.lightFraction).toRgbString(),d=o("gridcolor",c),h=o("gridwidth"),p=o("griddash"),g=a("showgrid",n.showGrid||!!d||!!h||!!p);if(g||(delete r.gridcolor,delete r.gridwidth,delete r.griddash),n.hasMinor){var m=b8(r.gridcolor,n.bgColor,67).toRgbString(),b=o("minor.gridcolor",m),x=o("minor.gridwidth",r.gridwidth||1),_=o("minor.griddash",r.griddash||"solid"),k=a("minor.showgrid",!!b||!!x||!!_);k||(delete r.minor.gridcolor,delete r.minor.gridwidth,delete r.minor.griddash)}if(!n.noZeroLine){var w=o("zerolinecolor",i),A=o("zerolinewidth"),L=a("zeroline",n.showGrid||!!w||!!A);L||(delete r.zerolinecolor,delete r.zerolinewidth)}}});var S1=I((xwe,S8)=>{"use strict";var w8=jt(),Hfe=bt(),cc=Re(),Bfe=ar(),Ufe=In(),M1=ni(),T8=dy(),A8=vy(),Gfe=my(),Wfe=gy(),Vfe=y8(),Yfe=_8(),k8=Dh(),np=ga().WEEKDAY_PATTERN,Zfe=ga().HOUR_PATTERN;S8.exports=function(t,r,a,n,i){var o=n.letter,s=n.font||{},l=n.splomStash||{},u=a("visible",!n.visibleDflt),c=r._template||{},d=r.type||c.type||"-",h;if(d==="date"){var p=Hfe.getComponentMethod("calendars","handleDefaults");p(t,r,"calendar",n.calendar),n.noTicklabelmode||(h=a("ticklabelmode"))}var g="";(!n.noTicklabelposition||d==="multicategory")&&(g=cc.coerce(t,r,{ticklabelposition:{valType:"enumerated",dflt:"outside",values:h==="period"?["outside","inside"]:o==="x"?["outside","inside","outside left","inside left","outside right","inside right"]:["outside","inside","outside top","inside top","outside bottom","inside bottom"]}},"ticklabelposition")),n.noTicklabeloverflow||a("ticklabeloverflow",g.indexOf("inside")!==-1?"hide past domain":d==="category"||d==="multicategory"?"allow":"hide past div"),k8(r,i);var m=!r.isValidRange(t.range);m&&n.reverseDflt&&(m="reversed");var b=a("autorange",m);b&&(d==="linear"||d==="-")&&a("rangemode"),a("range"),r.cleanRange(),Vfe(t,r,a,n),d!=="category"&&!n.noHover&&a("hoverformat");var x=a("color"),_=x!==M1.color.dflt?x:s.color,k=l.label||i._dfltTitle[o];if(Wfe(t,r,a,d,n),!u)return r;a("title.text",k),cc.coerceFont(a,"title.font",{family:s.family,size:cc.bigFont(s.size),color:_}),T8(t,r,a,d);var w=n.hasMinor;if(w&&(Bfe.newContainer(r,"minor"),T8(t,r,a,d,{isMinor:!0})),Gfe(t,r,a,d,n),A8(t,r,a,n),w){var A=n.isMinor;n.isMinor=!0,A8(t,r,a,n),n.isMinor=A}Yfe(t,r,a,{dfltColor:x,bgColor:n.bgColor,showGrid:n.showGrid,hasMinor:w,attributes:M1}),w&&!r.minor.ticks&&!r.minor.showgrid&&delete r.minor,(r.showline||r.ticks)&&a("mirror"),n.automargin&&a("automargin");var L=d==="multicategory";if(!n.noTickson&&(d==="category"||L)&&(r.ticks||r.showgrid)){var M;L&&(M="boundaries");var q=a("tickson",M);q==="boundaries"&&delete r.ticklabelposition}if(L){var P=a("showdividers");P&&(a("dividercolor"),a("dividerwidth"))}if(d==="date")if(Ufe(t,r,{name:"rangebreaks",inclusionAttr:"enabled",handleItemDefaults:Xfe}),!r.rangebreaks.length)delete r.rangebreaks;else{for(var E=0;E=2){var o="",s,l;if(i.length===2){for(s=0;s<2;s++)if(l=M8(i[s]),l){o=np;break}}var u=a("pattern",o);if(u===np)for(s=0;s<2;s++)l=M8(i[s]),l&&(t.bounds[s]=i[s]=l-1);if(u)for(s=0;s<2;s++)switch(l=i[s],u){case np:if(!w8(l)){t.enabled=!1;return}if(l=+l,l!==Math.floor(l)||l<0||l>=7){t.enabled=!1;return}t.bounds[s]=i[s]=l;break;case Zfe:if(!w8(l)){t.enabled=!1;return}if(l=+l,l<0||l>24){t.enabled=!1;return}t.bounds[s]=i[s]=l;break}if(r.autorange===!1){var c=r.range;if(c[0]c[1]){t.enabled=!1;return}}else if(i[0]>c[0]&&i[1]{"use strict";var Qfe=jt(),ip=Re();C8.exports=function(t,r,a,n){var i=n.counterAxes||[],o=n.overlayableAxes||[],s=n.letter,l=n.grid,u,c,d,h;l&&(c=l._domains[s][l._axisMap[r._id]],u=l._anchors[r._id],c&&(d=l[s+"side"].split(" ")[0],h=l.domain[s][d==="right"||d==="top"?1:0])),c=c||[0,1],u=u||(Qfe(t.position)?"free":i[0]||"free"),d=d||(s==="x"?"bottom":"left"),h=h||0;var p=ip.coerce(t,r,{anchor:{valType:"enumerated",values:["free"].concat(i),dflt:u}},"anchor");p==="free"&&a("position",h),ip.coerce(t,r,{side:{valType:"enumerated",values:s==="x"?["bottom","top"]:["left","right"],dflt:d}},"side");var g=!1;if(o.length&&(g=ip.coerce(t,r,{overlaying:{valType:"enumerated",values:[!1].concat(o),dflt:!1}},"overlaying")),!g){var m=a("domain",c);m[0]>m[1]-1/4096&&(r.domain=c),ip.noneOrAll(t.domain,r.domain,c)}return a("layer"),r}});var N8=I((wwe,z8)=>{"use strict";var _s=Re(),L8=It(),Kfe=Mi().isUnifiedHover,Jfe=H0(),q8=ar(),ece=ol(),D8=ni(),tce=m8(),P8=S1(),rce=Sf(),R8=C1(),L1=Hr(),vo=L1.id2name,E8=L1.name2id,ace=ga().AX_ID_PATTERN,I8=bt(),dc=I8.traceIs,q1=I8.getComponentMethod;function op(e,t,r){Array.isArray(e[t])?e[t].push(r):e[t]=[r]}z8.exports=function(t,r,a){var n=r.autotypenumbers,i={},o={},s={},l={},u={},c={},d={},h={},p={},g={},m,b;for(m=0;m{"use strict";var nce=Ft(),F8=bt(),sp=Re(),rn=Kt(),lp=tr();j8.exports=function(t,r,a,n){var i=t._fullLayout;if(r.length===0){lp.redrawComponents(t);return}function o(b){var x=b.xaxis,_=b.yaxis;i._defs.select("#"+b.clipId+"> rect").call(rn.setTranslate,0,0).call(rn.setScale,1,1),b.plot.call(rn.setTranslate,x._offset,_._offset).call(rn.setScale,1,1);var k=b.plot.selectAll(".scatterlayer .trace");k.selectAll(".point").call(rn.setPointGroupScale,1,1),k.selectAll(".textpoint").call(rn.setTextPointsScale,1,1),k.call(rn.hideOutsideRangePoints,b)}function s(b,x){var _=b.plotinfo,k=_.xaxis,w=_.yaxis,A=k._length,L=w._length,M=!!b.xr1,q=!!b.yr1,P=[];if(M){var E=sp.simpleMap(b.xr0,k.r2l),F=sp.simpleMap(b.xr1,k.r2l),N=E[1]-E[0],j=F[1]-F[0];P[0]=(E[0]*(1-x)+x*F[0]-E[0])/(E[1]-E[0])*A,P[2]=A*(1-x+x*j/N),k.range[0]=k.l2r(E[0]*(1-x)+x*F[0]),k.range[1]=k.l2r(E[1]*(1-x)+x*F[1])}else P[0]=0,P[2]=A;if(q){var B=sp.simpleMap(b.yr0,w.r2l),W=sp.simpleMap(b.yr1,w.r2l),V=B[1]-B[0],Y=W[1]-W[0];P[1]=(B[1]*(1-x)+x*W[1]-B[1])/(B[0]-B[1])*L,P[3]=L*(1-x+x*Y/V),w.range[0]=k.l2r(B[0]*(1-x)+x*W[0]),w.range[1]=w.l2r(B[1]*(1-x)+x*W[1])}else P[1]=0,P[3]=L;lp.drawOne(t,k,{skipTitle:!0}),lp.drawOne(t,w,{skipTitle:!0}),lp.redrawComponents(t,[k._id,w._id]);var Z=M?A/P[2]:1,$=q?L/P[3]:1,ne=M?P[0]:0,te=q?P[1]:0,de=M?P[0]/P[2]*A:0,be=q?P[1]/P[3]*L:0,re=k._offset-de,ge=w._offset-be;_.clipRect.call(rn.setTranslate,ne,te).call(rn.setScale,1/Z,1/$),_.plot.call(rn.setTranslate,re,ge).call(rn.setScale,Z,$),rn.setPointGroupScale(_.zoomScalePts,1/Z,1/$),rn.setTextPointsScale(_.zoomScaleTxt,1/Z,1/$)}var l;n&&(l=n());function u(){for(var b={},x=0;xa.duration?(u(),p=window.cancelAnimationFrame(m)):p=window.requestAnimationFrame(m)}return d=Date.now(),p=window.requestAnimationFrame(m),Promise.resolve()}});var dp=I(fa=>{"use strict";var up=Ft(),H8=bt(),fp=Re(),ice=Nr(),oce=Kt(),B8=Wg().getModuleCalcData,po=Hr(),di=ga(),sce=$o(),Qt=fp.ensureSingle;function cp(e,t,r){return fp.ensureSingle(e,t,r,function(a){a.datum(r)})}fa.name="cartesian";fa.attr=["xaxis","yaxis"];fa.idRoot=["x","y"];fa.idRegex=di.idRegex;fa.attrRegex=di.attrRegex;fa.attributes=d8();fa.layoutAttributes=ni();fa.supplyLayoutDefaults=N8();fa.transitionAxes=O8();fa.finalizeSubplots=function(e,t){var r=t._subplots,a=r.xaxis,n=r.yaxis,i=r.cartesian,o=i.concat(r.gl2d||[]),s={},l={},u,c,d;for(u=0;u{"use strict";var hp=Ja();Y8.exports={hasLines:hp.hasLines,hasMarkers:hp.hasMarkers,hasText:hp.hasText,isBubble:hp.isBubble,attributes:Hl(),supplyDefaults:yz(),crossTraceDefaults:xz(),calc:p1().calc,crossTraceCalc:Fz(),arraysToCalcdata:u1(),plot:Kz(),colorbar:y1(),formatLabels:t8(),style:w1().style,styleOnSelect:w1().styleOnSelect,hoverPoints:s8(),selectPoints:f8(),animatable:!0,moduleType:"trace",name:"scatter",basePlotModule:dp(),categories:["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],meta:{description:["The scatter trace type encompasses line charts, scatter charts, text charts, and bubble charts.","The data visualized as scatter point or lines is set in `x` and `y`.","Text (appearing either on the chart or on hover only) is via `text`.","Bubble charts are achieved by setting `marker.size` and/or `marker.color`","to numerical arrays."].join(" ")}}});var $8=I((Mwe,X8)=>{"use strict";X8.exports={moduleType:"component",name:"legend",layoutAttributes:g0(),supplyLayoutDefaults:x0(),draw:z0(),style:q0()}});var J8=I((Swe,K8)=>{"use strict";var uce=Ft(),fce=It(),Q8=qb(),D1=Re(),cce=D1.strScale,dce=D1.strRotate,hce=D1.strTranslate;K8.exports=function(t,r,a){var n=t.node(),i=Q8[a.arrowhead||0],o=Q8[a.startarrowhead||0],s=(a.arrowwidth||1)*(a.arrowsize||1),l=(a.arrowwidth||1)*(a.startarrowsize||1),u=r.indexOf("start")>=0,c=r.indexOf("end")>=0,d=i.backoff*s+a.standoff,h=o.backoff*l+a.startstandoff,p,g,m,b;if(n.nodeName==="line"){p={x:+t.attr("x1"),y:+t.attr("y1")},g={x:+t.attr("x2"),y:+t.attr("y2")};var x=p.x-g.x,_=p.y-g.y;if(m=Math.atan2(_,x),b=m+Math.PI,d&&h&&d+h>Math.sqrt(x*x+_*_)){B();return}if(d){if(d*d>x*x+_*_){B();return}var k=d*Math.cos(m),w=d*Math.sin(m);g.x+=k,g.y+=w,t.attr({x2:g.x,y2:g.y})}if(h){if(h*h>x*x+_*_){B();return}var A=h*Math.cos(m),L=h*Math.sin(m);p.x-=A,p.y-=L,t.attr({x1:p.x,y1:p.y})}}else if(n.nodeName==="path"){var M=n.getTotalLength(),q="";if(M{"use strict";var eN=Ft(),P1=bt(),vce=Nr(),mo=Re(),R1=mo.strTranslate,hc=tr(),ws=It(),zi=Kt(),tN=qi(),E1=Ga(),I1=oo(),vc=Nn(),pce=ar().arrayEditor,mce=J8();nN.exports={draw:gce,drawOne:rN,drawRaw:aN};function gce(e){var t=e._fullLayout;t._infolayer.selectAll(".annotation").remove();for(var r=0;r2/3?dt="right":dt="center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[dt]}for(var Se=!1,U=["x","y"],J=0;J1)&&(me===oe?(Je=xe.r2fraction(t["a"+O]),(Je<0||Je>1)&&(Se=!0)):Se=!0),ft=xe._offset+xe.r2p(t[O]),Ce=.5}else{var we=ct==="domain";O==="x"?(se=t[O],ft=we?xe._offset+xe._length*se:ft=s.l+s.w*se):(se=1-t[O],ft=we?xe._offset+xe._length*se:ft=s.t+s.h*se),Ce=t.showarrow?.5:se}if(t.showarrow){at.head=ft;var Me=t["a"+O];if(it=Pe*Le(.5,t.xanchor)-ye*Le(.5,t.yanchor),me===oe){var Ye=hc.getRefType(me);Ye==="domain"?(O==="y"&&(Me=1-Me),at.tail=xe._offset+xe._length*Me):Ye==="paper"?O==="y"?(Me=1-Me,at.tail=s.t+s.h*Me):at.tail=s.l+s.w*Me:at.tail=xe._offset+xe.r2p(Me),wt=it}else at.tail=ft+Me,wt=it+Me;at.text=at.tail+it;var je=o[O==="x"?"width":"height"];if(oe==="paper"&&(at.head=mo.constrain(at.head,1,je-1)),me==="pixel"){var ze=-Math.max(at.tail-3,at.text),Ge=Math.min(at.tail+3,at.text)-je;ze>0?(at.tail+=ze,at.text+=ze):Ge>0&&(at.tail-=Ge,at.text-=Ge)}at.tail+=nt,at.head+=nt}else it=rt*Le(Ce,Ue),wt=it,at.text=ft+it;at.text+=nt,it+=nt,wt+=nt,t["_"+O+"padplus"]=rt/2+wt,t["_"+O+"padminus"]=rt/2-wt,t["_"+O+"size"]=rt,t["_"+O+"shift"]=it}if(Se){M.remove();return}var mt=0,Tt=0;if(t.align!=="left"&&(mt=(ee-re)*(t.align==="center"?.5:1)),t.valign!=="top"&&(Tt=(Ae-ge)*(t.valign==="middle"?.5:1)),de)te.select("svg").attr({x:E+mt-1,y:E+Tt}).call(zi.setClipUrl,N?m:null,e);else{var ot=E+Tt-be.top,Ne=E+mt-be.left;V.call(E1.positionText,Ne,ot).call(zi.setClipUrl,N?m:null,e)}j.select("rect").call(zi.setRect,E,E,ee,Ae),F.call(zi.setRect,q/2,q/2,ke-q,qe-q),M.call(zi.setTranslate,Math.round(b.x.text-ke/2),Math.round(b.y.text-qe/2)),k.attr({transform:"rotate("+x+","+b.x.text+","+b.y.text+")"});var et=function(st,dt){_.selectAll(".annotation-arrow-g").remove();var vt=b.x.head,pt=b.y.head,ae=b.x.tail+st,_e=b.y.tail+dt,Te=b.x.text+st,Fe=b.y.text+dt,Et=mo.rotationXYMatrix(x,Te,Fe),pr=mo.apply2DTransform(Et),Vr=mo.apply2DTransform2(Et),Er=+F.attr("width"),hr=+F.attr("height"),ca=Te-.5*Er,Qn=ca+Er,ia=Fe-.5*hr,Xa=ia+hr,Cn=[[ca,ia,ca,Xa],[ca,Xa,Qn,Xa],[Qn,Xa,Qn,ia],[Qn,ia,ca,ia]].map(Vr);if(!Cn.reduce(function(mr,Qr){return mr^!!mo.segmentsIntersect(vt,pt,vt+1e6,pt+1e6,Qr[0],Qr[1],Qr[2],Qr[3])},!1)){Cn.forEach(function(mr){var Qr=mo.segmentsIntersect(ae,_e,vt,pt,mr[0],mr[1],mr[2],mr[3]);Qr&&(ae=Qr.x,_e=Qr.y)});var Aa=t.arrowwidth,hi=t.arrowcolor,ko=t.arrowside,$a=_.append("g").style({opacity:ws.opacity(hi)}).classed("annotation-arrow-g",!0),ka=$a.append("path").attr("d","M"+ae+","+_e+"L"+vt+","+pt).style("stroke-width",Aa+"px").call(ws.stroke,ws.rgb(hi));if(mce(ka,ko,t),l.annotationPosition&&ka.node().parentNode&&!a){var Ma=vt,Sa=pt;if(t.standoff){var da=Math.sqrt(Math.pow(vt-ae,2)+Math.pow(pt-_e,2));Ma+=t.standoff*(ae-vt)/da,Sa+=t.standoff*(_e-pt)/da}var Fa=$a.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(ae-Ma)+","+(_e-Sa),transform:R1(Ma,Sa)}).style("stroke-width",Aa+6+"px").call(ws.stroke,"rgba(0,0,0,0)").call(ws.fill,"rgba(0,0,0,0)"),vi,Yr;vc.init({element:Fa.node(),gd:e,prepFn:function(){var mr=zi.getTranslate(M);vi=mr.x,Yr=mr.y,n&&n.autorange&&h(n._name+".autorange",!0),i&&i.autorange&&h(i._name+".autorange",!0)},moveFn:function(mr,Qr){var Mo=pr(vi,Yr),So=Mo[0]+mr,Hi=Mo[1]+Qr;M.call(zi.setTranslate,So,Hi),p("x",go(n,mr,"x",s,t)),p("y",go(i,Qr,"y",s,t)),t.axref===t.xref&&p("ax",go(n,mr,"ax",s,t)),t.ayref===t.yref&&p("ay",go(i,Qr,"ay",s,t)),$a.attr("transform",R1(mr,Qr)),k.attr({transform:"rotate("+x+","+So+","+Hi+")"})},doneFn:function(){P1.call("_guiRelayout",e,g());var mr=document.querySelector(".js-notes-box-panel");mr&&mr.redraw(mr.selectedObj)}})}}};if(t.showarrow&&et(0,0),w){var Oe;vc.init({element:M.node(),gd:e,prepFn:function(){Oe=k.attr("transform")},moveFn:function(st,dt){var vt="pointer";if(t.showarrow)t.axref===t.xref?p("ax",go(n,st,"ax",s,t)):p("ax",t.ax+st),t.ayref===t.yref?p("ay",go(i,dt,"ay",s.w,t)):p("ay",t.ay+dt),et(st,dt);else{if(a)return;var pt,ae;if(n)pt=go(n,st,"x",s,t);else{var _e=t._xsize/s.w,Te=t.x+(t._xshift-t.xshift)/s.w-_e/2;pt=vc.align(Te+st/s.w,_e,0,1,t.xanchor)}if(i)ae=go(i,dt,"y",s,t);else{var Fe=t._ysize/s.h,Et=t.y-(t._yshift+t.yshift)/s.h-Fe/2;ae=vc.align(Et-dt/s.h,Fe,0,1,t.yanchor)}p("x",pt),p("y",ae),(!n||!i)&&(vt=vc.getCursor(n?.5:pt,i?.5:ae,t.xanchor,t.yanchor))}k.attr({transform:R1(st,dt)+Oe}),I1(M,vt)},clickFn:function(st,dt){t.captureevents&&e.emit("plotly_clickannotation",L(dt))},doneFn:function(){I1(M),P1.call("_guiRelayout",e,g());var st=document.querySelector(".js-notes-box-panel");st&&st.redraw(st.selectedObj)}})}}l.annotationText?V.call(E1.makeEditable,{delegate:M,gd:e}).call(Y).on("edit",function($){t.text=$,this.call(Y),p("text",$),n&&n.autorange&&h(n._name+".autorange",!0),i&&i.autorange&&h(i._name+".autorange",!0),P1.call("_guiRelayout",e,g())}):V.call(Y)}});var fN=I((Lwe,uN)=>{"use strict";var iN=Re(),yce=bt(),oN=ar().arrayEditor;uN.exports={hasClickToShow:bce,onClick:xce};function bce(e,t){var r=sN(e,t);return r.on.length>0||r.explicitOff.length>0}function xce(e,t){var r=sN(e,t),a=r.on,n=r.off.concat(r.explicitOff),i={},o=e._fullLayout.annotations,s,l;if(!!(a.length||n.length)){for(s=0;s{"use strict";var cN=Re(),$l=It();dN.exports=function(t,r,a,n){n("opacity");var i=n("bgcolor"),o=n("bordercolor"),s=$l.opacity(o);n("borderpad");var l=n("borderwidth"),u=n("showarrow");n("text",u?" ":a._dfltTitle.annotation),n("textangle"),cN.coerceFont(n,"font",a.font),n("width"),n("align");var c=n("height");if(c&&n("valign"),u){var d=n("arrowside"),h,p;d.indexOf("end")!==-1&&(h=n("arrowhead"),p=n("arrowsize")),d.indexOf("start")!==-1&&(n("startarrowhead",h),n("startarrowsize",p)),n("arrowcolor",s?r.bordercolor:$l.defaultLine),n("arrowwidth",(s&&l||1)*2),n("standoff"),n("startstandoff")}var g=n("hovertext"),m=a.hoverlabel||{};if(g){var b=n("hoverlabel.bgcolor",m.bgcolor||($l.opacity(i)?$l.rgb(i):$l.defaultLine)),x=n("hoverlabel.bordercolor",m.bordercolor||$l.contrast(b));cN.coerceFont(n,"hoverlabel.font",{family:m.font.family,size:m.font.size,color:m.font.color||x})}n("captureevents",!!g)}});var vN=I((Dwe,hN)=>{"use strict";var N1=Re(),Ts=tr(),_ce=In(),wce=z1(),Tce=Ol();hN.exports=function(t,r){_ce(t,r,{name:"annotations",handleItemDefaults:Ace})};function Ace(e,t,r){function a(k,w){return N1.coerce(e,t,Tce,k,w)}var n=a("visible"),i=a("clicktoshow");if(!!(n||i)){wce(e,t,r,a);for(var o=t.showarrow,s=["x","y"],l=[-10,-30],u={_fullLayout:r},c=0;c<2;c++){var d=s[c],h=Ts.coerceRef(e,t,u,d,"","paper");if(h!=="paper"){var p=Ts.getFromId(u,h);p._annIndices.push(t._index)}if(Ts.coercePosition(t,u,a,h,d,.5),o){var g="a"+d,m=Ts.coerceRef(e,t,u,g,"pixel",["pixel","paper"]);m!=="pixel"&&m!==h&&(m=t[g]="pixel");var b=m==="pixel"?l[c]:.4;Ts.coercePosition(t,u,a,m,g,b)}a(d+"anchor"),a(d+"shift")}if(N1.noneOrAll(e,t,["x","y"]),o&&N1.noneOrAll(e,t,["ax","ay"]),i){var x=a("xclick"),_=a("yclick");t._xclick=x===void 0?t.x:Ts.cleanPosition(x,u,t.xref),t._yclick=_===void 0?t.y:Ts.cleanPosition(_,u,t.yref)}}}});var gN=I((Pwe,mN)=>{"use strict";var F1=Re(),As=tr(),kce=vp().draw;mN.exports=function(t){var r=t._fullLayout,a=F1.filterVisible(r.annotations);if(a.length&&t._fullData.length)return F1.syncOrAsync([kce,Mce],t)};function Mce(e){var t=e._fullLayout;F1.filterVisible(t.annotations).forEach(function(r){var a=As.getFromId(e,r.xref),n=As.getFromId(e,r.yref),i=As.getRefType(r.xref),o=As.getRefType(r.yref);r._extremes={},i==="range"&&pN(r,a),o==="range"&&pN(r,n)})}function pN(e,t){var r=t._id,a=r.charAt(0),n=e[a],i=e["a"+a],o=e[a+"ref"],s=e["a"+a+"ref"],l=e["_"+a+"padplus"],u=e["_"+a+"padminus"],c={x:1,y:-1}[a]*e[a+"shift"],d=3*e.arrowsize*e.arrowwidth||0,h=d+c,p=d-c,g=3*e.startarrowsize*e.arrowwidth||0,m=g+c,b=g-c,x;if(s===o){var _=As.findExtremes(t,[t.r2c(n)],{ppadplus:h,ppadminus:p}),k=As.findExtremes(t,[t.r2c(i)],{ppadplus:Math.max(l,m),ppadminus:Math.max(u,b)});x={min:[_.min[0],k.min[0]],max:[_.max[0],k.max[0]]}}else m=i?m+i:m,b=i?b-i:b,x=As.findExtremes(t,[t.r2c(n)],{ppadplus:Math.max(l,h,m),ppadminus:Math.max(u,p,b)});e._extremes[r]=x}});var bN=I((Rwe,yN)=>{"use strict";var Sce=jt(),Cce=Dd();yN.exports=function(t,r,a,n){r=r||{};var i=a==="log"&&r.type==="linear",o=a==="linear"&&r.type==="log";if(!(i||o))return;var s=t._fullLayout.annotations,l=r._id.charAt(0),u,c;function d(p){var g=u[p],m=null;i?m=Cce(g,r.range):m=Math.pow(10,g),Sce(m)||(m=null),n(c+p,m)}for(var h=0;h{"use strict";var j1=vp(),xN=fN();_N.exports={moduleType:"component",name:"annotations",layoutAttributes:Ol(),supplyLayoutDefaults:vN(),includeBasePlot:Yf()("annotations"),calcAutorange:gN(),draw:j1.draw,drawOne:j1.drawOne,drawRaw:j1.drawRaw,hasClickToShow:xN.hasClickToShow,onClick:xN.onClick,convertCoords:bN()}});var pp=I((Iwe,TN)=>{"use strict";var rr=Ol(),Lce=Ai().overrideAll,qce=ar().templatedArray;TN.exports=Lce(qce("annotation",{visible:rr.visible,x:{valType:"any",description:["Sets the annotation's x position."].join(" ")},y:{valType:"any",description:["Sets the annotation's y position."].join(" ")},z:{valType:"any",description:["Sets the annotation's z position."].join(" ")},ax:{valType:"number",description:["Sets the x component of the arrow tail about the arrow head (in pixels)."].join(" ")},ay:{valType:"number",description:["Sets the y component of the arrow tail about the arrow head (in pixels)."].join(" ")},xanchor:rr.xanchor,xshift:rr.xshift,yanchor:rr.yanchor,yshift:rr.yshift,text:rr.text,textangle:rr.textangle,font:rr.font,width:rr.width,height:rr.height,opacity:rr.opacity,align:rr.align,valign:rr.valign,bgcolor:rr.bgcolor,bordercolor:rr.bordercolor,borderpad:rr.borderpad,borderwidth:rr.borderwidth,showarrow:rr.showarrow,arrowcolor:rr.arrowcolor,arrowhead:rr.arrowhead,startarrowhead:rr.startarrowhead,arrowside:rr.arrowside,arrowsize:rr.arrowsize,startarrowsize:rr.startarrowsize,arrowwidth:rr.arrowwidth,standoff:rr.standoff,startstandoff:rr.startstandoff,hovertext:rr.hovertext,hoverlabel:rr.hoverlabel,captureevents:rr.captureevents}),"calc","from-root")});var kN=I((zwe,AN)=>{"use strict";var O1=Re(),Dce=tr(),Pce=In(),Rce=z1(),Ece=pp();AN.exports=function(t,r,a){Pce(t,r,{name:"annotations",handleItemDefaults:Ice,fullLayout:a.fullLayout})};function Ice(e,t,r,a){function n(s,l){return O1.coerce(e,t,Ece,s,l)}function i(s){var l=s+"axis",u={_fullLayout:{}};return u._fullLayout[l]=r[l],Dce.coercePosition(t,u,n,s,s,.5)}var o=n("visible");!o||(Rce(e,t,a.fullLayout,n),i("x"),i("y"),i("z"),O1.noneOrAll(e,t,["x","y","z"]),t.xref="x",t.yref="y",t.zref="z",n("xanchor"),n("yanchor"),n("xshift"),n("yshift"),t.showarrow&&(t.axref="pixel",t.ayref="pixel",n("ax",-10),n("ay",-30),O1.noneOrAll(e,t,["ax","ay"])))}});var LN=I((Nwe,CN)=>{"use strict";var MN=Re(),SN=tr();CN.exports=function(t){for(var r=t.fullSceneLayout,a=r.annotations,n=0;n{"use strict";function H1(e,t){var r=[0,0,0,0],a,n;for(a=0;a<4;++a)for(n=0;n<4;++n)r[n]+=e[4*a+n]*t[a];return r}function Nce(e,t){var r=H1(e.projection,H1(e.view,H1(e.model,[t[0],t[1],t[2],1])));return r}qN.exports=Nce});var RN=I((jwe,PN)=>{"use strict";var Fce=vp().drawRaw,jce=DN(),Oce=["x","y","z"];PN.exports=function(t){for(var r=t.fullSceneLayout,a=t.dataScale,n=r.annotations,i=0;i1){s=!0;break}}s?t.fullLayout._infolayer.select(".annotation-"+t.id+'[data-index="'+i+'"]').remove():(o._pdata=jce(t.glplot.cameraParams,[r.xaxis.r2l(o.x)*a[0],r.yaxis.r2l(o.y)*a[1],r.zaxis.r2l(o.z)*a[2]]),Fce(t.graphDiv,o,i,t.id,o._xa,o._ya))}}});var zN=I((Owe,IN)=>{"use strict";var Hce=bt(),EN=Re();IN.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:pp()}}},layoutAttributes:pp(),handleDefaults:kN(),includeBasePlot:Bce,convert:LN(),draw:RN()};function Bce(e,t){var r=Hce.subplotsRegistry.gl3d;if(!!r)for(var a=r.attrRegex,n=Object.keys(e),i=0;i{"use strict";var NN=Ol(),FN=Hl().line,Uce=yi().dash,pc=ra().extendFlat,Gce=ar().templatedArray,jN=Wf();ON.exports=Gce("shape",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw",description:["Determines whether or not this shape is visible."].join(" ")},type:{valType:"enumerated",values:["circle","rect","path","line"],editType:"calc+arraydraw",description:["Specifies the shape type to be drawn.","If *line*, a line is drawn from (`x0`,`y0`) to (`x1`,`y1`)","with respect to the axes' sizing mode.","If *circle*, a circle is drawn from","((`x0`+`x1`)/2, (`y0`+`y1`)/2))","with radius","(|(`x0`+`x1`)/2 - `x0`|, |(`y0`+`y1`)/2 -`y0`)|)","with respect to the axes' sizing mode.","If *rect*, a rectangle is drawn linking","(`x0`,`y0`), (`x1`,`y0`), (`x1`,`y1`), (`x0`,`y1`), (`x0`,`y0`)","with respect to the axes' sizing mode.","If *path*, draw a custom SVG path using `path`.","with respect to the axes' sizing mode."].join(" ")},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"arraydraw",description:"Specifies whether shapes are drawn below or above traces."},xref:pc({},NN.xref,{description:["Sets the shape's x coordinate axis.",jN.axisRefDescription("x","left","right")].join(" ")}),xsizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw",description:["Sets the shapes's sizing mode along the x axis.","If set to *scaled*, `x0`, `x1` and x coordinates within `path` refer to","data values on the x axis or a fraction of the plot area's width","(`xref` set to *paper*).","If set to *pixel*, `xanchor` specifies the x position in terms","of data or plot fraction but `x0`, `x1` and x coordinates within `path`","are pixels relative to `xanchor`. This way, the shape can have","a fixed width while maintaining a position relative to data or","plot fraction."].join(" ")},xanchor:{valType:"any",editType:"calc+arraydraw",description:["Only relevant in conjunction with `xsizemode` set to *pixel*.","Specifies the anchor point on the x axis to which `x0`, `x1`","and x coordinates within `path` are relative to.","E.g. useful to attach a pixel sized shape to a certain data value.","No effect when `xsizemode` not set to *pixel*."].join(" ")},x0:{valType:"any",editType:"calc+arraydraw",description:["Sets the shape's starting x position.","See `type` and `xsizemode` for more info."].join(" ")},x1:{valType:"any",editType:"calc+arraydraw",description:["Sets the shape's end x position.","See `type` and `xsizemode` for more info."].join(" ")},yref:pc({},NN.yref,{description:["Sets the shape's y coordinate axis.",jN.axisRefDescription("y","bottom","top")].join(" ")}),ysizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw",description:["Sets the shapes's sizing mode along the y axis.","If set to *scaled*, `y0`, `y1` and y coordinates within `path` refer to","data values on the y axis or a fraction of the plot area's height","(`yref` set to *paper*).","If set to *pixel*, `yanchor` specifies the y position in terms","of data or plot fraction but `y0`, `y1` and y coordinates within `path`","are pixels relative to `yanchor`. This way, the shape can have","a fixed height while maintaining a position relative to data or","plot fraction."].join(" ")},yanchor:{valType:"any",editType:"calc+arraydraw",description:["Only relevant in conjunction with `ysizemode` set to *pixel*.","Specifies the anchor point on the y axis to which `y0`, `y1`","and y coordinates within `path` are relative to.","E.g. useful to attach a pixel sized shape to a certain data value.","No effect when `ysizemode` not set to *pixel*."].join(" ")},y0:{valType:"any",editType:"calc+arraydraw",description:["Sets the shape's starting y position.","See `type` and `ysizemode` for more info."].join(" ")},y1:{valType:"any",editType:"calc+arraydraw",description:["Sets the shape's end y position.","See `type` and `ysizemode` for more info."].join(" ")},path:{valType:"string",editType:"calc+arraydraw",description:["For `type` *path* - a valid SVG path with the pixel values","replaced by data values in `xsizemode`/`ysizemode` being *scaled*","and taken unmodified as pixels relative to `xanchor` and `yanchor`","in case of *pixel* size mode.","There are a few restrictions / quirks","only absolute instructions, not relative. So the allowed segments","are: M, L, H, V, Q, C, T, S, and Z","arcs (A) are not allowed because radius rx and ry are relative.","In the future we could consider supporting relative commands,","but we would have to decide on how to handle date and log axes.","Note that even as is, Q and C Bezier paths that are smooth on","linear axes may not be smooth on log, and vice versa.",'no chained "polybezier" commands - specify the segment type for',"each one.","On category axes, values are numbers scaled to the serial numbers","of categories because using the categories themselves there would","be no way to describe fractional positions","On data axes: because space and T are both normal components of path","strings, we can't use either to separate date from time parts.","Therefore we'll use underscore for this purpose:","2015-02-21_13:45:56.789"].join(" ")},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw",description:"Sets the opacity of the shape."},line:{color:pc({},FN.color,{editType:"arraydraw"}),width:pc({},FN.width,{editType:"calc+arraydraw"}),dash:pc({},Uce,{editType:"arraydraw"}),editType:"calc+arraydraw"},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw",description:["Sets the color filling the shape's interior. Only applies to closed shapes."].join(" ")},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd",editType:"arraydraw",description:["Determines which regions of complex paths constitute the interior.","For more info please visit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule"].join(" ")},editable:{valType:"boolean",dflt:!1,editType:"calc+arraydraw",description:["Determines whether the shape could be activated for edit or not.","Has no effect when the older editable shapes mode is enabled via","`config.editable` or `config.edits.shapePosition`."].join(" ")},editType:"arraydraw"})});var UN=I((Bwe,BN)=>{"use strict";var U1=Re(),Ql=tr(),Wce=In(),Vce=B1(),HN=ps();BN.exports=function(t,r){Wce(t,r,{name:"shapes",handleItemDefaults:Yce})};function Yce(e,t,r){function a(B,W){return U1.coerce(e,t,Vce,B,W)}var n=a("visible");if(!!n){var i=a("path"),o=i?"path":"rect",s=a("type",o),l=s!=="path";l&&delete t.path,a("editable"),a("layer"),a("opacity"),a("fillcolor"),a("fillrule");var u=a("line.width");u&&(a("line.color"),a("line.dash"));for(var c=a("xsizemode"),d=a("ysizemode"),h=["x","y"],p=0;p<2;p++){var g=h[p],m=g+"anchor",b=g==="x"?c:d,x={_fullLayout:r},_,k,w,A=Ql.coerceRef(e,t,x,g,void 0,"paper"),L=Ql.getRefType(A);if(L==="range"?(_=Ql.getFromId(x,A),_._shapeIndices.push(t._index),w=HN.rangeToShapePosition(_),k=HN.shapePositionToRange(_)):k=w=U1.identity,l){var M=.25,q=.75,P=g+"0",E=g+"1",F=e[P],N=e[E];e[P]=k(e[P],!0),e[E]=k(e[E],!0),b==="pixel"?(a(P,0),a(E,10)):(Ql.coercePosition(t,x,a,A,P,M),Ql.coercePosition(t,x,a,A,E,q)),t[P]=w(t[P]),t[E]=w(t[E]),e[P]=F,e[E]=N}if(b==="pixel"){var j=e[m];e[m]=k(e[m],!0),Ql.coercePosition(t,x,a,A,m,.25),t[m]=w(t[m]),e[m]=j}}l&&U1.noneOrAll(e,t,["x0","x1","y0","y1"])}}});var WN=I((Uwe,GN)=>{"use strict";var Zce=It();GN.exports=function(t,r,a){a("newshape.drawdirection"),a("newshape.layer"),a("newshape.fillcolor"),a("newshape.fillrule"),a("newshape.opacity");var n=a("newshape.line.width");if(n){var i=(t||{}).plot_bgcolor||"#FFF";a("newshape.line.color",Zce.contrast(i)),a("newshape.line.dash")}a("activeshape.fillcolor"),a("activeshape.opacity")}});var $N=I((Gwe,XN)=>{"use strict";var G1=Re(),Kl=tr(),Jl=Af(),VN=ps();XN.exports=function(t){var r=t._fullLayout,a=G1.filterVisible(r.shapes);if(!(!a.length||!t._fullData.length))for(var n=0;n0?u+o:o;return{ppad:o,ppadplus:s?d:h,ppadminus:s?h:d}}else return{ppad:o}}function ZN(e,t,r,a,n){var i=e.type==="category"||e.type==="multicategory"?e.r2c:e.d2c;if(t!==void 0)return[i(t),i(r)];if(!!a){var o=1/0,s=-1/0,l=a.match(Jl.segmentRE),u,c,d,h,p;for(e.type==="date"&&(i=VN.decodeDate(i)),u=0;us&&(s=p)));if(s>=o)return[o,s]}}});var JN=I((Wwe,KN)=>{"use strict";var QN=J0();KN.exports={moduleType:"component",name:"shapes",layoutAttributes:B1(),supplyLayoutDefaults:UN(),supplyDrawNewShapeDefaults:WN(),includeBasePlot:Yf()("shapes"),calcAutorange:$N(),draw:QN.draw,drawOne:QN.drawOne}});var W1=I((Vwe,r7)=>{"use strict";var e7=ga(),Qce=ar().templatedArray,t7=Wf();r7.exports=Qce("image",{visible:{valType:"boolean",dflt:!0,editType:"arraydraw",description:["Determines whether or not this image is visible."].join(" ")},source:{valType:"string",editType:"arraydraw",description:["Specifies the URL of the image to be used.","The URL must be accessible from the domain where the","plot code is run, and can be either relative or absolute."].join(" ")},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"arraydraw",description:["Specifies whether images are drawn below or above traces.","When `xref` and `yref` are both set to `paper`,","image is drawn below the entire plot area."].join(" ")},sizex:{valType:"number",dflt:0,editType:"arraydraw",description:["Sets the image container size horizontally.","The image will be sized based on the `position` value.","When `xref` is set to `paper`, units are sized relative","to the plot width.","When `xref` ends with ` domain`, units are sized relative","to the axis width."].join(" ")},sizey:{valType:"number",dflt:0,editType:"arraydraw",description:["Sets the image container size vertically.","The image will be sized based on the `position` value.","When `yref` is set to `paper`, units are sized relative","to the plot height.","When `yref` ends with ` domain`, units are sized relative","to the axis height."].join(" ")},sizing:{valType:"enumerated",values:["fill","contain","stretch"],dflt:"contain",editType:"arraydraw",description:["Specifies which dimension of the image to constrain."].join(" ")},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw",description:"Sets the opacity of the image."},x:{valType:"any",dflt:0,editType:"arraydraw",description:["Sets the image's x position.","When `xref` is set to `paper`, units are sized relative","to the plot height.","See `xref` for more info"].join(" ")},y:{valType:"any",dflt:0,editType:"arraydraw",description:["Sets the image's y position.","When `yref` is set to `paper`, units are sized relative","to the plot height.","See `yref` for more info"].join(" ")},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left",editType:"arraydraw",description:"Sets the anchor for the x position"},yanchor:{valType:"enumerated",values:["top","middle","bottom"],dflt:"top",editType:"arraydraw",description:"Sets the anchor for the y position."},xref:{valType:"enumerated",values:["paper",e7.idRegex.x.toString()],dflt:"paper",editType:"arraydraw",description:["Sets the images's x coordinate axis.",t7.axisRefDescription("x","left","right")].join(" ")},yref:{valType:"enumerated",values:["paper",e7.idRegex.y.toString()],dflt:"paper",editType:"arraydraw",description:["Sets the images's y coordinate axis.",t7.axisRefDescription("y","bottom","top")].join(" ")},editType:"arraydraw"})});var n7=I((Ywe,a7)=>{"use strict";var Kce=Re(),V1=tr(),Jce=In(),ede=W1(),tde="images";a7.exports=function(t,r){var a={name:tde,handleItemDefaults:rde};Jce(t,r,a)};function rde(e,t,r){function a(h,p){return Kce.coerce(e,t,ede,h,p)}var n=a("source"),i=a("visible",!!n);if(!i)return t;a("layer"),a("xanchor"),a("yanchor"),a("sizex"),a("sizey"),a("sizing"),a("opacity");for(var o={_fullLayout:r},s=["x","y"],l=0;l<2;l++){var u=s[l],c=V1.coerceRef(e,t,o,u,"paper",void 0);if(c!=="paper"){var d=V1.getFromId(o,c);d._imgIndices.push(t._index)}V1.coercePosition(t,o,a,c,u,0)}return t}});var l7=I((Zwe,s7)=>{"use strict";var i7=Ft(),ade=Kt(),eu=tr(),o7=Hr(),nde=$o();s7.exports=function(t){var r=t._fullLayout,a=[],n={},i=[],o,s;for(s=0;s{"use strict";var u7=jt(),ide=Dd();f7.exports=function(t,r,a,n){r=r||{};var i=a==="log"&&r.type==="linear",o=a==="linear"&&r.type==="log";if(!!(i||o)){for(var s=t._fullLayout.images,l=r._id.charAt(0),u,c,d=0;d{"use strict";d7.exports={moduleType:"component",name:"images",layoutAttributes:W1(),supplyLayoutDefaults:n7(),includeBasePlot:Yf()("images"),draw:l7(),convertCoords:c7()}});var mp=I((Qwe,v7)=>{"use strict";v7.exports={name:"updatemenus",containerClassName:"updatemenu-container",headerGroupClassName:"updatemenu-header-group",headerClassName:"updatemenu-header",headerArrowClassName:"updatemenu-header-arrow",dropdownButtonGroupClassName:"updatemenu-dropdown-button-group",dropdownButtonClassName:"updatemenu-dropdown-button",buttonClassName:"updatemenu-button",itemRectClassName:"updatemenu-item-rect",itemTextClassName:"updatemenu-item-text",menuIndexAttrName:"updatemenu-active-index",autoMarginIdRoot:"updatemenu-",blankHeaderOpts:{label:" "},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:"#F4FAFF",hoverColor:"#F4FAFF",arrowSymbol:{left:"\u25C4",right:"\u25BA",up:"\u25B2",down:"\u25BC"}}});var Y1=I((Kwe,m7)=>{"use strict";var ode=La(),sde=gi(),lde=ra().extendFlat,ude=Ai().overrideAll,fde=Gd(),p7=ar().templatedArray,cde=p7("button",{visible:{valType:"boolean",description:"Determines whether or not this button is visible."},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle",description:["Sets the Plotly method to be called on click.","If the `skip` method is used, the API updatemenu will function as normal","but will perform no API calls and will not bind automatically to state","updates. This may be used to create a component interface and attach to","updatemenu events manually via JavaScript."].join(" ")},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}],description:["Sets the arguments values to be passed to the Plotly","method set in `method` on click."].join(" ")},args2:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}],description:["Sets a 2nd set of `args`,","these arguments values are passed to the Plotly","method set in `method` when clicking this button while in the active state.","Use this to create toggle buttons."].join(" ")},label:{valType:"string",dflt:"",description:"Sets the text label to appear on the button."},execute:{valType:"boolean",dflt:!0,description:["When true, the API method is executed. When false, all other behaviors are the same","and command execution is skipped. This may be useful when hooking into, for example,","the `plotly_buttonclicked` method and executing the API command manually without losing","the benefit of the updatemenu automatically binding to the state of the plot through the","specification of `method` and `args`."].join(" ")}});m7.exports=ude(p7("updatemenu",{_arrayAttrRegexps:[/^updatemenus\[(0|[1-9][0-9]+)\]\.buttons/],visible:{valType:"boolean",description:["Determines whether or not the update menu is visible."].join(" ")},type:{valType:"enumerated",values:["dropdown","buttons"],dflt:"dropdown",description:["Determines whether the buttons are accessible via a dropdown menu","or whether the buttons are stacked horizontally or vertically"].join(" ")},direction:{valType:"enumerated",values:["left","right","up","down"],dflt:"down",description:["Determines the direction in which the buttons are laid out, whether","in a dropdown menu or a row/column of buttons. For `left` and `up`,","the buttons will still appear in left-to-right or top-to-bottom order","respectively."].join(" ")},active:{valType:"integer",min:-1,dflt:0,description:["Determines which button (by index starting from 0) is","considered active."].join(" ")},showactive:{valType:"boolean",dflt:!0,description:"Highlights active dropdown item or active button if true."},buttons:cde,x:{valType:"number",min:-2,max:3,dflt:-.05,description:"Sets the x position (in normalized coordinates) of the update menu."},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"right",description:["Sets the update menu's horizontal position anchor.","This anchor binds the `x` position to the *left*, *center*","or *right* of the range selector."].join(" ")},y:{valType:"number",min:-2,max:3,dflt:1,description:"Sets the y position (in normalized coordinates) of the update menu."},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top",description:["Sets the update menu's vertical position anchor","This anchor binds the `y` position to the *top*, *middle*","or *bottom* of the range selector."].join(" ")},pad:lde(fde({editType:"arraydraw"}),{description:"Sets the padding around the buttons or dropdown menu."}),font:ode({description:"Sets the font of the update menu button text."}),bgcolor:{valType:"color",description:"Sets the background color of the update menu buttons."},bordercolor:{valType:"color",dflt:sde.borderLine,description:"Sets the color of the border enclosing the update menu."},borderwidth:{valType:"number",min:0,dflt:1,editType:"arraydraw",description:"Sets the width (in px) of the border enclosing the update menu."}}),"arraydraw","from-root")});var x7=I((Jwe,b7)=>{"use strict";var gp=Re(),g7=In(),y7=Y1(),dde=mp(),hde=dde.name,vde=y7.buttons;b7.exports=function(t,r){var a={name:hde,handleItemDefaults:pde};g7(t,r,a)};function pde(e,t,r){function a(o,s){return gp.coerce(e,t,y7,o,s)}var n=g7(e,t,{name:"buttons",handleItemDefaults:mde}),i=a("visible",n.length>0);!i||(a("active"),a("direction"),a("type"),a("showactive"),a("x"),a("y"),gp.noneOrAll(e,t,["x","y"]),a("xanchor"),a("yanchor"),a("pad.t"),a("pad.r"),a("pad.b"),a("pad.l"),gp.coerceFont(a,"font",r.font),a("bgcolor",r.paper_bgcolor),a("bordercolor"),a("borderwidth"))}function mde(e,t){function r(n,i){return gp.coerce(e,t,vde,n,i)}var a=r("visible",e.method==="skip"||Array.isArray(e.args));a&&(r("method"),r("args"),r("args2"),r("label"),r("execute"))}});var T7=I((e2e,w7)=>{"use strict";w7.exports=vr;var Wn=Ft(),_7=It(),tu=Kt(),yp=Re();function vr(e,t,r){this.gd=e,this.container=t,this.id=r,this.position=null,this.translateX=null,this.translateY=null,this.hbar=null,this.vbar=null,this.bg=this.container.selectAll("rect.scrollbox-bg").data([0]),this.bg.exit().on(".drag",null).on("wheel",null).remove(),this.bg.enter().append("rect").classed("scrollbox-bg",!0).style("pointer-events","all").attr({opacity:0,x:0,y:0,width:0,height:0})}vr.barWidth=2;vr.barLength=20;vr.barRadius=2;vr.barPad=1;vr.barColor="#808BA4";vr.prototype.enable=function(t,r,a){var n=this.gd._fullLayout,i=n.width,o=n.height;this.position=t;var s=this.position.l,l=this.position.w,u=this.position.t,c=this.position.h,d=this.position.direction,h=d==="down",p=d==="left",g=d==="right",m=d==="up",b=l,x=c,_,k,w,A;!h&&!p&&!g&&!m&&(this.position.direction="down",h=!0);var L=h||m;L?(_=s,k=_+b,h?(w=u,A=Math.min(w+x,o),x=A-w):(A=u+x,w=Math.max(A-x,0),x=A-w)):(w=u,A=w+x,p?(k=s+b,_=Math.max(k-b,0),b=k-_):(_=s,k=Math.min(_+b,i),b=k-_)),this._box={l:_,t:w,w:b,h:x};var M=l>b,q=vr.barLength+2*vr.barPad,P=vr.barWidth+2*vr.barPad,E=s,F=u+c;F+P>o&&(F=o-P);var N=this.container.selectAll("rect.scrollbar-horizontal").data(M?[0]:[]);N.exit().on(".drag",null).remove(),N.enter().append("rect").classed("scrollbar-horizontal",!0).call(_7.fill,vr.barColor),M?(this.hbar=N.attr({rx:vr.barRadius,ry:vr.barRadius,x:E,y:F,width:q,height:P}),this._hbarXMin=E+q/2,this._hbarTranslateMax=b-q):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var j=c>x,B=vr.barWidth+2*vr.barPad,W=vr.barLength+2*vr.barPad,V=s+l,Y=u;V+B>i&&(V=i-B);var Z=this.container.selectAll("rect.scrollbar-vertical").data(j?[0]:[]);Z.exit().on(".drag",null).remove(),Z.enter().append("rect").classed("scrollbar-vertical",!0).call(_7.fill,vr.barColor),j?(this.vbar=Z.attr({rx:vr.barRadius,ry:vr.barRadius,x:V,y:Y,width:B,height:W}),this._vbarYMin=Y+W/2,this._vbarTranslateMax=x-W):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var $=this.id,ne=_-.5,te=j?k+B+.5:k+.5,de=w-.5,be=M?A+P+.5:A+.5,re=n._topdefs.selectAll("#"+$).data(M||j?[0]:[]);if(re.exit().remove(),re.enter().append("clipPath").attr("id",$).append("rect"),M||j?(this._clipRect=re.select("rect").attr({x:Math.floor(ne),y:Math.floor(de),width:Math.ceil(te)-Math.floor(ne),height:Math.ceil(be)-Math.floor(de)}),this.container.call(tu.setClipUrl,$,this.gd),this.bg.attr({x:s,y:u,width:l,height:c})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(tu.setClipUrl,null),delete this._clipRect),M||j){var ge=Wn.behavior.drag().on("dragstart",function(){Wn.event.sourceEvent.preventDefault()}).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(ge);var ee=Wn.behavior.drag().on("dragstart",function(){Wn.event.sourceEvent.preventDefault(),Wn.event.sourceEvent.stopPropagation()}).on("drag",this._onBarDrag.bind(this));M&&this.hbar.on(".drag",null).call(ee),j&&this.vbar.on(".drag",null).call(ee)}this.setTranslate(r,a)};vr.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(tu.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(".drag",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(".drag",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)};vr.prototype._onBoxDrag=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t-=Wn.event.dx),this.vbar&&(r-=Wn.event.dy),this.setTranslate(t,r)};vr.prototype._onBoxWheel=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t+=Wn.event.deltaY),this.vbar&&(r+=Wn.event.deltaY),this.setTranslate(t,r)};vr.prototype._onBarDrag=function(){var t=this.translateX,r=this.translateY;if(this.hbar){var a=t+this._hbarXMin,n=a+this._hbarTranslateMax,i=yp.constrain(Wn.event.x,a,n),o=(i-a)/(n-a),s=this.position.w-this._box.w;t=o*s}if(this.vbar){var l=r+this._vbarYMin,u=l+this._vbarTranslateMax,c=yp.constrain(Wn.event.y,l,u),d=(c-l)/(u-l),h=this.position.h-this._box.h;r=d*h}this.setTranslate(t,r)};vr.prototype.setTranslate=function(t,r){var a=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=yp.constrain(t||0,0,a),r=yp.constrain(r||0,0,n),this.translateX=t,this.translateY=r,this.container.call(tu.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-r),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+r-.5)}),this.hbar){var i=t/a;this.hbar.call(tu.setTranslate,t+i*this._hbarTranslateMax,r)}if(this.vbar){var o=r/n;this.vbar.call(tu.setTranslate,t,r+o*this._vbarTranslateMax)}}});var R7=I((t2e,P7)=>{"use strict";var ru=Ft(),mc=Nr(),gc=It(),au=Kt(),an=Re(),bp=Ga(),gde=ar().arrayEditor,A7=qa().LINE_SPACING,_t=mp(),yde=T7();P7.exports=function(t){var r=t._fullLayout,a=an.filterVisible(r[_t.name]);function n(h){mc.autoMargin(t,q7(h))}var i=r._menulayer.selectAll("g."+_t.containerClassName).data(a.length>0?[0]:[]);if(i.enter().append("g").classed(_t.containerClassName,!0).style("cursor","pointer"),i.exit().each(function(){ru.select(this).selectAll("g."+_t.headerGroupClassName).each(n)}).remove(),a.length!==0){var o=i.selectAll("g."+_t.headerGroupClassName).data(a,bde);o.enter().append("g").classed(_t.headerGroupClassName,!0);for(var s=an.ensureSingle(i,"g",_t.dropdownButtonGroupClassName,function(h){h.style("pointer-events","all")}),l=0;l{"use strict";var Mde=mp();E7.exports={moduleType:"component",name:Mde.name,layoutAttributes:Y1(),supplyLayoutDefaults:x7(),draw:R7()}});var bc=I((a2e,z7)=>{"use strict";z7.exports={name:"sliders",containerClassName:"slider-container",groupClassName:"slider-group",inputAreaClass:"slider-input-area",railRectClass:"slider-rail-rect",railTouchRectClass:"slider-rail-touch-rect",gripRectClass:"slider-grip-rect",tickRectClass:"slider-tick-rect",inputProxyClass:"slider-input-proxy",labelsClass:"slider-labels",labelGroupClass:"slider-label-group",labelClass:"slider-label",currentValueClass:"slider-current-value",railHeight:5,menuIndexAttrName:"slider-active-index",autoMarginIdRoot:"slider-",minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:"#bec8d9",railBgColor:"#f8fafc",railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:"#bec8d9",gripBgColor:"#f6f8fa",gripBgActiveColor:"#dbdde0",labelPadding:8,labelOffset:0,tickWidth:1,tickColor:"#333",tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:"#333",minorTickLength:4,currentValuePadding:8,currentValueInset:0}});var Q1=I((n2e,j7)=>{"use strict";var N7=La(),Sde=Gd(),Cde=ra().extendDeepAll,Lde=Ai().overrideAll,qde=Yu(),F7=ar().templatedArray,ks=bc(),Dde=F7("step",{visible:{valType:"boolean",dflt:!0,description:["Determines whether or not this step is included in the slider."].join(" ")},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle",description:["Sets the Plotly method to be called when the slider value is changed.","If the `skip` method is used, the API slider will function as normal","but will perform no API calls and will not bind automatically to state","updates. This may be used to create a component interface and attach to","slider events manually via JavaScript."].join(" ")},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}],description:["Sets the arguments values to be passed to the Plotly","method set in `method` on slide."].join(" ")},label:{valType:"string",description:"Sets the text label to appear on the slider"},value:{valType:"string",description:["Sets the value of the slider step, used to refer to the step programatically.","Defaults to the slider label if not provided."].join(" ")},execute:{valType:"boolean",dflt:!0,description:["When true, the API method is executed. When false, all other behaviors are the same","and command execution is skipped. This may be useful when hooking into, for example,","the `plotly_sliderchange` method and executing the API command manually without losing","the benefit of the slider automatically binding to the state of the plot through the","specification of `method` and `args`."].join(" ")}});j7.exports=Lde(F7("slider",{visible:{valType:"boolean",dflt:!0,description:["Determines whether or not the slider is visible."].join(" ")},active:{valType:"number",min:0,dflt:0,description:["Determines which button (by index starting from 0) is","considered active."].join(" ")},steps:Dde,lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction",description:["Determines whether this slider length","is set in units of plot *fraction* or in *pixels.","Use `len` to set the value."].join(" ")},len:{valType:"number",min:0,dflt:1,description:["Sets the length of the slider","This measure excludes the padding of both ends.","That is, the slider's length is this length minus the","padding on both ends."].join(" ")},x:{valType:"number",min:-2,max:3,dflt:0,description:"Sets the x position (in normalized coordinates) of the slider."},pad:Cde(Sde({editType:"arraydraw"}),{description:"Set the padding of the slider component along each side."},{t:{dflt:20}}),xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",description:["Sets the slider's horizontal position anchor.","This anchor binds the `x` position to the *left*, *center*","or *right* of the range selector."].join(" ")},y:{valType:"number",min:-2,max:3,dflt:0,description:"Sets the y position (in normalized coordinates) of the slider."},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top",description:["Sets the slider's vertical position anchor","This anchor binds the `y` position to the *top*, *middle*","or *bottom* of the range selector."].join(" ")},transition:{duration:{valType:"number",min:0,dflt:150,description:"Sets the duration of the slider transition"},easing:{valType:"enumerated",values:qde.transition.easing.values,dflt:"cubic-in-out",description:"Sets the easing function of the slider transition"}},currentvalue:{visible:{valType:"boolean",dflt:!0,description:["Shows the currently-selected value above the slider."].join(" ")},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left",description:["The alignment of the value readout relative to the length of the slider."].join(" ")},offset:{valType:"number",dflt:10,description:["The amount of space, in pixels, between the current value label","and the slider."].join(" ")},prefix:{valType:"string",description:"When currentvalue.visible is true, this sets the prefix of the label."},suffix:{valType:"string",description:"When currentvalue.visible is true, this sets the suffix of the label."},font:N7({description:"Sets the font of the current value label text."})},font:N7({description:"Sets the font of the slider step labels."}),activebgcolor:{valType:"color",dflt:ks.gripBgActiveColor,description:["Sets the background color of the slider grip","while dragging."].join(" ")},bgcolor:{valType:"color",dflt:ks.railBgColor,description:"Sets the background color of the slider."},bordercolor:{valType:"color",dflt:ks.railBorderColor,description:"Sets the color of the border enclosing the slider."},borderwidth:{valType:"number",min:0,dflt:ks.railBorderWidth,description:"Sets the width (in px) of the border enclosing the slider."},ticklen:{valType:"number",min:0,dflt:ks.tickLength,description:"Sets the length in pixels of step tick marks"},tickcolor:{valType:"color",dflt:ks.tickColor,description:"Sets the color of the border enclosing the slider."},tickwidth:{valType:"number",min:0,dflt:1,description:"Sets the tick width (in px)."},minorticklen:{valType:"number",min:0,dflt:ks.minorTickLength,description:"Sets the length in pixels of minor step tick marks"}}),"arraydraw","from-root")});var U7=I((i2e,B7)=>{"use strict";var nu=Re(),O7=In(),H7=Q1(),Pde=bc(),Rde=Pde.name,Ede=H7.steps;B7.exports=function(t,r){O7(t,r,{name:Rde,handleItemDefaults:Ide})};function Ide(e,t,r){function a(d,h){return nu.coerce(e,t,H7,d,h)}for(var n=O7(e,t,{name:"steps",handleItemDefaults:zde}),i=0,o=0;o{"use strict";var Vn=Ft(),xp=Nr(),yo=It(),Yn=Kt(),nn=Re(),Nde=nn.strTranslate,xc=Ga(),Fde=ar().arrayEditor,Rt=bc(),K1=qa(),G7=K1.LINE_SPACING,J1=K1.FROM_TL,ex=K1.FROM_BR;K7.exports=function(t){var r=t._fullLayout,a=jde(r,t),n=r._infolayer.selectAll("g."+Rt.containerClassName).data(a.length>0?[0]:[]);n.enter().append("g").classed(Rt.containerClassName,!0).style("cursor","ew-resize");function i(u){u._commandObserver&&(u._commandObserver.remove(),delete u._commandObserver),xp.autoMargin(t,W7(u))}if(n.exit().each(function(){Vn.select(this).selectAll("g."+Rt.groupClassName).each(i)}).remove(),a.length!==0){var o=n.selectAll("g."+Rt.groupClassName).data(a,Ode);o.enter().append("g").classed(Rt.groupClassName,!0),o.exit().each(i).remove();for(var s=0;s0&&(s=s.transition().duration(t.transition.duration).ease(t.transition.easing)),s.attr("transform",Nde(o-Rt.gripWidth*.5,t._dims.currentValueTotalHeight))}}function tx(e,t){var r=e._dims;return r.inputAreaStart+Rt.stepInset+(r.inputAreaLength-2*Rt.stepInset)*Math.min(1,Math.max(0,t))}function Q7(e,t){var r=e._dims;return Math.min(1,Math.max(0,(t-Rt.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*Rt.stepInset-2*r.inputAreaStart)))}function Yde(e,t,r){var a=r._dims,n=nn.ensureSingle(e,"rect",Rt.railTouchRectClass,function(i){i.call(X7,t,e,r).style("pointer-events","all")});n.attr({width:a.inputAreaLength,height:Math.max(a.inputAreaWidth,Rt.tickOffset+r.ticklen+a.labelHeight)}).call(yo.fill,r.bgcolor).attr("opacity",0),Yn.setTranslate(n,0,a.currentValueTotalHeight)}function Zde(e,t){var r=t._dims,a=r.inputAreaLength-Rt.railInset*2,n=nn.ensureSingle(e,"rect",Rt.railRectClass);n.attr({width:a,height:Rt.railWidth,rx:Rt.railRadius,ry:Rt.railRadius,"shape-rendering":"crispEdges"}).call(yo.stroke,t.bordercolor).call(yo.fill,t.bgcolor).style("stroke-width",t.borderwidth+"px"),Yn.setTranslate(n,Rt.railInset,(r.inputAreaWidth-Rt.railWidth)*.5+r.currentValueTotalHeight)}});var tF=I((s2e,eF)=>{"use strict";var Xde=bc();eF.exports={moduleType:"component",name:Xde.name,layoutAttributes:Q1(),supplyLayoutDefaults:U7(),draw:J7()}});var wp=I((l2e,aF)=>{"use strict";var rF=gi();aF.exports={bgcolor:{valType:"color",dflt:rF.background,editType:"plot",description:"Sets the background color of the range slider."},bordercolor:{valType:"color",dflt:rF.defaultLine,editType:"plot",description:"Sets the border color of the range slider."},borderwidth:{valType:"integer",dflt:0,min:0,editType:"plot",description:"Sets the border width of the range slider."},autorange:{valType:"boolean",dflt:!0,editType:"calc",impliedEdits:{"range[0]":void 0,"range[1]":void 0},description:["Determines whether or not the range slider range is","computed in relation to the input data.","If `range` is provided, then `autorange` is set to *false*."].join(" ")},range:{valType:"info_array",items:[{valType:"any",editType:"calc",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"calc",impliedEdits:{"^autorange":!1}}],editType:"calc",impliedEdits:{autorange:!1},description:["Sets the range of the range slider.","If not set, defaults to the full xaxis range.","If the axis `type` is *log*, then you must take the","log of your desired range.","If the axis `type` is *date*, it should be date strings,","like date data, though Date objects and unix milliseconds","will be accepted and converted to strings.","If the axis `type` is *category*, it should be numbers,","using the scale where each category is assigned a serial","number from zero in the order it appears."].join(" ")},thickness:{valType:"number",dflt:.15,min:0,max:1,editType:"plot",description:["The height of the range slider as a fraction of the","total plot area height."].join(" ")},visible:{valType:"boolean",dflt:!0,editType:"calc",description:["Determines whether or not the range slider will be visible.","If visible, perpendicular axes will be set to `fixedrange`"].join(" ")},editType:"calc"}});var rx=I((u2e,nF)=>{"use strict";nF.exports={_isSubplotObj:!0,rangemode:{valType:"enumerated",values:["auto","fixed","match"],dflt:"match",editType:"calc",description:["Determines whether or not the range of this axis in","the rangeslider use the same value than in the main plot","when zooming in/out.","If *auto*, the autorange will be used.","If *fixed*, the `range` is used.","If *match*, the current range of the corresponding y-axis on the main subplot is used."].join(" ")},range:{valType:"info_array",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot",description:["Sets the range of this axis for the rangeslider."].join(" ")},editType:"calc"}});var Tp=I((f2e,iF)=>{"use strict";iF.exports={name:"rangeslider",containerClassName:"rangeslider-container",bgClassName:"rangeslider-bg",rangePlotClassName:"rangeslider-rangeplot",maskMinClassName:"rangeslider-mask-min",maskMaxClassName:"rangeslider-mask-max",slideBoxClassName:"rangeslider-slidebox",grabberMinClassName:"rangeslider-grabber-min",grabAreaMinClassName:"rangeslider-grabarea-min",handleMinClassName:"rangeslider-handle-min",grabberMaxClassName:"rangeslider-grabber-max",grabAreaMaxClassName:"rangeslider-grabarea-max",handleMaxClassName:"rangeslider-handle-max",maskMinOppAxisClassName:"rangeslider-mask-min-opp-axis",maskMaxOppAxisClassName:"rangeslider-mask-max-opp-axis",maskColor:"rgba(0,0,0,0.4)",maskOppAxisColor:"rgba(0,0,0,0.2)",slideBoxFill:"transparent",slideBoxCursor:"ew-resize",grabAreaFill:"transparent",grabAreaCursor:"col-resize",grabAreaWidth:10,handleWidth:4,handleRadius:1,handleStrokeWidth:1,extraPad:15}});var lF=I(kp=>{"use strict";var $de=Hr(),Qde=Ga(),oF=Tp(),Kde=qa().LINE_SPACING,Ap=oF.name;function sF(e){var t=e&&e[Ap];return t&&t.visible}kp.isVisible=sF;kp.makeData=function(e){var t=$de.list({_fullLayout:e},"x",!0),r=e.margin,a=[];if(!e._has("gl2d"))for(var n=0;n{"use strict";var Mp=Re(),uF=ar(),fF=Hr(),Jde=wp(),ehe=rx();cF.exports=function(t,r,a){var n=t[a],i=r[a];if(!(n.rangeslider||r._requestRangeslider[i._id]))return;Mp.isPlainObject(n.rangeslider)||(n.rangeslider={});var o=n.rangeslider,s=uF.newContainer(i,"rangeslider");function l(A,L){return Mp.coerce(o,s,Jde,A,L)}var u,c;function d(A,L){return Mp.coerce(u,c,ehe,A,L)}var h=l("visible");if(!!h){l("bgcolor",r.plot_bgcolor),l("bordercolor"),l("borderwidth"),l("thickness"),l("autorange",!i.isValidRange(o.range)),l("range");var p=r._subplots;if(p)for(var g=p.cartesian.filter(function(A){return A.substr(0,A.indexOf("y"))===fF.name2id(a)}).map(function(A){return A.substr(A.indexOf("y"),A.length)}),m=Mp.simpleMap(g,fF.id2name),b=0;b{"use strict";var the=Hr().list,rhe=pf().getAutoRange,ahe=Tp();hF.exports=function(t){for(var r=the(t,"x",!0),a=0;a{"use strict";var Sp=Ft(),nhe=bt(),ihe=Nr(),xr=Re(),Cp=xr.strTranslate,pF=Kt(),bo=It(),ohe=hf(),she=dp(),ax=Hr(),lhe=Nn(),uhe=oo(),zt=Tp();mF.exports=function(e){for(var t=e._fullLayout,r=t._rangeSliderData,a=0;a=Z.max)V=F[Y+1];else if(W=Z.pmax)V=F[Y+1];else if(W{"use strict";var xhe=Re(),_he=wp(),whe=rx(),nx=lF();yF.exports={moduleType:"component",name:"rangeslider",schema:{subplots:{xaxis:{rangeslider:xhe.extendFlat({},_he,{yaxis:whe})}}},layoutAttributes:wp(),handleDefaults:dF(),calcAutorange:vF(),draw:gF(),isVisible:nx.isVisible,makeData:nx.makeData,autoMarginOpts:nx.autoMarginOpts}});var Lp=I((m2e,_F)=>{"use strict";var The=La(),xF=gi(),Ahe=ar().templatedArray,khe=Ahe("button",{visible:{valType:"boolean",dflt:!0,editType:"plot",description:"Determines whether or not this button is visible."},step:{valType:"enumerated",values:["month","year","day","hour","minute","second","all"],dflt:"month",editType:"plot",description:["The unit of measurement that the `count` value will set the range by."].join(" ")},stepmode:{valType:"enumerated",values:["backward","todate"],dflt:"backward",editType:"plot",description:["Sets the range update mode.","If *backward*, the range update shifts the start of range","back *count* times *step* milliseconds.","If *todate*, the range update shifts the start of range","back to the first timestamp from *count* times","*step* milliseconds back.","For example, with `step` set to *year* and `count` set to *1*","the range update shifts the start of the range back to","January 01 of the current year.","Month and year *todate* are currently available only","for the built-in (Gregorian) calendar."].join(" ")},count:{valType:"number",min:0,dflt:1,editType:"plot",description:["Sets the number of steps to take to update the range.","Use with `step` to specify the update interval."].join(" ")},label:{valType:"string",editType:"plot",description:"Sets the text label to appear on the button."},editType:"plot",description:["Sets the specifications for each buttons.","By default, a range selector comes with no buttons."].join(" ")});_F.exports={visible:{valType:"boolean",editType:"plot",description:["Determines whether or not this range selector is visible.","Note that range selectors are only available for x axes of","`type` set to or auto-typed to *date*."].join(" ")},buttons:khe,x:{valType:"number",min:-2,max:3,editType:"plot",description:"Sets the x position (in normalized coordinates) of the range selector."},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",editType:"plot",description:["Sets the range selector's horizontal position anchor.","This anchor binds the `x` position to the *left*, *center*","or *right* of the range selector."].join(" ")},y:{valType:"number",min:-2,max:3,editType:"plot",description:"Sets the y position (in normalized coordinates) of the range selector."},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"bottom",editType:"plot",description:["Sets the range selector's vertical position anchor","This anchor binds the `y` position to the *top*, *middle*","or *bottom* of the range selector."].join(" ")},font:The({editType:"plot",description:"Sets the font of the range selector button text."}),bgcolor:{valType:"color",dflt:xF.lightLine,editType:"plot",description:"Sets the background color of the range selector buttons."},activecolor:{valType:"color",editType:"plot",description:"Sets the background color of the active range selector button."},bordercolor:{valType:"color",dflt:xF.defaultLine,editType:"plot",description:"Sets the color of the border enclosing the range selector."},borderwidth:{valType:"number",min:0,dflt:0,editType:"plot",description:"Sets the width (in px) of the border enclosing the range selector."},editType:"plot"}});var ix=I((g2e,wF)=>{"use strict";wF.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}});var kF=I((y2e,AF)=>{"use strict";var qp=Re(),Mhe=It(),She=ar(),Che=In(),TF=Lp(),ox=ix();AF.exports=function(t,r,a,n,i){var o=t.rangeselector||{},s=She.newContainer(r,"rangeselector");function l(p,g){return qp.coerce(o,s,TF,p,g)}var u=Che(o,s,{name:"buttons",handleItemDefaults:Lhe,calendar:i}),c=l("visible",u.length>0);if(c){var d=qhe(r,a,n);l("x",d[0]),l("y",d[1]),qp.noneOrAll(t,r,["x","y"]),l("xanchor"),l("yanchor"),qp.coerceFont(l,"font",a.font);var h=l("bgcolor");l("activecolor",Mhe.contrast(h,ox.lightAmount,ox.darkAmount)),l("bordercolor"),l("borderwidth")}};function Lhe(e,t,r,a){var n=a.calendar;function i(l,u){return qp.coerce(e,t,TF.buttons,l,u)}var o=i("visible");if(o){var s=i("step");s!=="all"&&(n&&n!=="gregorian"&&(s==="month"||s==="year")?t.stepmode="backward":i("stepmode"),i("count")),i("label")}}function qhe(e,t,r){for(var a=r.filter(function(s){return t[s].anchor===e._id}),n=0,i=0;i{"use strict";var Dhe=tg(),Phe=Re().titleCase;MF.exports=function(t,r){var a=t._name,n={};if(r.step==="all")n[a+".autorange"]=!0;else{var i=Rhe(t,r);n[a+".range[0]"]=i[0],n[a+".range[1]"]=i[1]}return n};function Rhe(e,t){var r=e.range,a=new Date(e.r2l(r[1])),n=t.step,i=Dhe["utc"+Phe(n)],o=t.count,s;switch(t.stepmode){case"backward":s=e.l2r(+i.offset(a,-o));break;case"todate":var l=i.offset(a,-o);s=e.l2r(+i.ceil(l));break}var u=r[1];return[s,u]}});var IF=I((x2e,EF)=>{"use strict";var Dp=Ft(),Ehe=bt(),Ihe=Nr(),CF=It(),LF=Kt(),Ni=Re(),qF=Ni.strTranslate,Pp=Ga(),zhe=Hr(),sx=qa(),DF=sx.LINE_SPACING,PF=sx.FROM_TL,RF=sx.FROM_BR,lx=ix(),Nhe=SF();EF.exports=function(t){var r=t._fullLayout,a=r._infolayer.selectAll(".rangeselector").data(Fhe(t),jhe);a.enter().append("g").classed("rangeselector",!0),a.exit().remove(),a.style({cursor:"pointer","pointer-events":"all"}),a.each(function(n){var i=Dp.select(this),o=n,s=o.rangeselector,l=i.selectAll("g.button").data(Ni.filterVisible(s.buttons));l.enter().append("g").classed("button",!0),l.exit().remove(),l.each(function(u){var c=Dp.select(this),d=Nhe(o,u);u._isActive=Ohe(o,u,d),c.call(ux,s,u),c.call(Bhe,s,u,t),c.on("click",function(){t._dragged||Ehe.call("_guiRelayout",t,d)}),c.on("mouseover",function(){u._isHovered=!0,c.call(ux,s,u)}),c.on("mouseout",function(){u._isHovered=!1,c.call(ux,s,u)})}),Ghe(t,l,s,o._name,i)})};function Fhe(e){for(var t=zhe.list(e,"x",!0),r=[],a=0;a{"use strict";zF.exports={moduleType:"component",name:"rangeselector",schema:{subplots:{xaxis:{rangeselector:Lp()}}},layoutAttributes:Lp(),handleDefaults:kF(),draw:IF()}});var jF=I(fx=>{"use strict";var FF=ra().extendFlat;fx.attributes=function(e,t){e=e||{},t=t||{};var r={valType:"info_array",editType:e.editType,items:[{valType:"number",min:0,max:1,editType:e.editType},{valType:"number",min:0,max:1,editType:e.editType}],dflt:[0,1]},a=e.name?e.name+" ":"",n=e.trace?"trace ":"subplot ",i=t.description?" "+t.description:"",o={x:FF({},r,{description:["Sets the horizontal domain of this ",a,n,"(in plot fraction).",i].join("")}),y:FF({},r,{description:["Sets the vertical domain of this ",a,n,"(in plot fraction).",i].join("")}),editType:e.editType};return e.noGridCell||(o.row={valType:"integer",min:0,dflt:0,editType:e.editType,description:["If there is a layout grid, use the domain ","for this row in the grid for this ",a,n,".",i].join("")},o.column={valType:"integer",min:0,dflt:0,editType:e.editType,description:["If there is a layout grid, use the domain ","for this column in the grid for this ",a,n,".",i].join("")}),o};fx.defaults=function(e,t,r,a){var n=a&&a.x||[0,1],i=a&&a.y||[0,1],o=t.grid;if(o){var s=r("domain.column");s!==void 0&&(s{"use strict";var Whe=Re(),Vhe=al().counter,Yhe=jF().attributes,OF=ga().idRegex,Zhe=ar(),cx={rows:{valType:"integer",min:1,editType:"plot",description:["The number of rows in the grid. If you provide a 2D `subplots`","array or a `yaxes` array, its length is used as the default.","But it's also possible to have a different length, if you","want to leave a row at the end for non-cartesian subplots."].join(" ")},roworder:{valType:"enumerated",values:["top to bottom","bottom to top"],dflt:"top to bottom",editType:"plot",description:["Is the first row the top or the bottom? Note that columns","are always enumerated from left to right."].join(" ")},columns:{valType:"integer",min:1,editType:"plot",description:["The number of columns in the grid. If you provide a 2D `subplots`","array, the length of its longest row is used as the default.","If you give an `xaxes` array, its length is used as the default.","But it's also possible to have a different length, if you","want to leave a row at the end for non-cartesian subplots."].join(" ")},subplots:{valType:"info_array",freeLength:!0,dimensions:2,items:{valType:"enumerated",values:[Vhe("xy").toString(),""],editType:"plot"},editType:"plot",description:["Used for freeform grids, where some axes may be shared across subplots","but others are not. Each entry should be a cartesian subplot id, like","*xy* or *x3y2*, or ** to leave that cell empty. You may reuse x axes","within the same column, and y axes within the same row.","Non-cartesian subplots and traces that support `domain` can place themselves","in this grid separately using the `gridcell` attribute."].join(" ")},xaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[OF.x.toString(),""],editType:"plot"},editType:"plot",description:["Used with `yaxes` when the x and y axes are shared across columns and rows.","Each entry should be an x axis id like *x*, *x2*, etc., or ** to","not put an x axis in that column. Entries other than ** must be unique.","Ignored if `subplots` is present. If missing but `yaxes` is present,","will generate consecutive IDs."].join(" ")},yaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[OF.y.toString(),""],editType:"plot"},editType:"plot",description:["Used with `yaxes` when the x and y axes are shared across columns and rows.","Each entry should be an y axis id like *y*, *y2*, etc., or ** to","not put a y axis in that row. Entries other than ** must be unique.","Ignored if `subplots` is present. If missing but `xaxes` is present,","will generate consecutive IDs."].join(" ")},pattern:{valType:"enumerated",values:["independent","coupled"],dflt:"coupled",editType:"plot",description:["If no `subplots`, `xaxes`, or `yaxes` are given but we do have `rows` and `columns`,","we can generate defaults using consecutive axis IDs, in two ways:","*coupled* gives one x axis per column and one y axis per row.","*independent* uses a new xy pair for each cell, left-to-right across each row","then iterating rows according to `roworder`."].join(" ")},xgap:{valType:"number",min:0,max:1,editType:"plot",description:["Horizontal space between grid cells, expressed as a fraction","of the total width available to one cell. Defaults to 0.1","for coupled-axes grids and 0.2 for independent grids."].join(" ")},ygap:{valType:"number",min:0,max:1,editType:"plot",description:["Vertical space between grid cells, expressed as a fraction","of the total height available to one cell. Defaults to 0.1","for coupled-axes grids and 0.3 for independent grids."].join(" ")},domain:Yhe({name:"grid",editType:"plot",noGridCell:!0},{description:["The first and last cells end exactly at the domain","edges, with no grout around the edges."].join(" ")}),xside:{valType:"enumerated",values:["bottom","bottom plot","top plot","top"],dflt:"bottom plot",editType:"plot",description:["Sets where the x axis labels and titles go. *bottom* means","the very bottom of the grid. *bottom plot* is the lowest plot","that each x axis is used in. *top* and *top plot* are similar."].join(" ")},yside:{valType:"enumerated",values:["left","left plot","right plot","right"],dflt:"left plot",editType:"plot",description:["Sets where the y axis labels and titles go. *left* means","the very left edge of the grid. *left plot* is the leftmost plot","that each y axis is used in. *right* and *right plot* are similar."].join(" ")},editType:"plot"};function Rp(e,t,r){var a=t[r+"axes"],n=Object.keys((e._splomAxes||{})[r]||{});if(Array.isArray(a))return a;if(n.length)return n}function Xhe(e,t){var r=e.grid||{},a=Rp(t,r,"x"),n=Rp(t,r,"y");if(!e.grid&&!a&&!n)return;var i=Array.isArray(r.subplots)&&Array.isArray(r.subplots[0]),o=Array.isArray(a),s=Array.isArray(n),l=o&&a!==r.xaxes&&s&&n!==r.yaxes,u,c;i?(u=r.subplots.length,c=r.subplots[0].length):(s&&(u=n.length),o&&(c=a.length));var d=Zhe.newContainer(t,"grid");function h(L,M){return Whe.coerce(r,d,cx,L,M)}var p=h("rows",u),g=h("columns",c);if(!(p*g>1)){delete t.grid;return}if(!i&&!o&&!s){var m=h("pattern")==="independent";m&&(i=!0)}d._hasSubplotGrid=i;var b=h("roworder"),x=b==="top to bottom",_=i?.2:.1,k=i?.3:.1,w,A;l&&t._splomGridDflt&&(w=t._splomGridDflt.xside,A=t._splomGridDflt.yside),d._domains={x:HF("x",h,_,w,g),y:HF("y",h,k,A,p,x)}}function HF(e,t,r,a,n,i){var o=t(e+"gap",r),s=t("domain."+e);t(e+"side",a);for(var l=new Array(n),u=s[0],c=(s[1]-u)/(n-o),d=c*(1-o),h=0;h{"use strict";WF.exports={visible:{valType:"boolean",editType:"calc",description:["Determines whether or not this set of error bars is visible."].join(" ")},type:{valType:"enumerated",values:["percent","constant","sqrt","data"],editType:"calc",description:["Determines the rule used to generate the error bars.","If *constant`, the bar lengths are of a constant value.","Set this constant in `value`.","If *percent*, the bar lengths correspond to a percentage of","underlying data. Set this percentage in `value`.","If *sqrt*, the bar lengths correspond to the square of the","underlying data.","If *data*, the bar lengths are set with data set `array`."].join(" ")},symmetric:{valType:"boolean",editType:"calc",description:["Determines whether or not the error bars have the same length","in both direction","(top/bottom for vertical bars, left/right for horizontal bars."].join(" ")},array:{valType:"data_array",editType:"calc",description:["Sets the data corresponding the length of each error bar.","Values are plotted relative to the underlying data."].join(" ")},arrayminus:{valType:"data_array",editType:"calc",description:["Sets the data corresponding the length of each error bar in the","bottom (left) direction for vertical (horizontal) bars","Values are plotted relative to the underlying data."].join(" ")},value:{valType:"number",min:0,dflt:10,editType:"calc",description:["Sets the value of either the percentage","(if `type` is set to *percent*) or the constant","(if `type` is set to *constant*) corresponding to the lengths of","the error bars."].join(" ")},valueminus:{valType:"number",min:0,dflt:10,editType:"calc",description:["Sets the value of either the percentage","(if `type` is set to *percent*) or the constant","(if `type` is set to *constant*) corresponding to the lengths of","the error bars in the","bottom (left) direction for vertical (horizontal) bars"].join(" ")},traceref:{valType:"integer",min:0,dflt:0,editType:"style"},tracerefminus:{valType:"integer",min:0,dflt:0,editType:"style"},copy_ystyle:{valType:"boolean",editType:"plot"},copy_zstyle:{valType:"boolean",editType:"style"},color:{valType:"color",editType:"style",description:"Sets the stoke color of the error bars."},thickness:{valType:"number",min:0,dflt:2,editType:"style",description:"Sets the thickness (in px) of the error bars."},width:{valType:"number",min:0,editType:"plot",description:["Sets the width (in px) of the cross-bar at both ends","of the error bars."].join(" ")},editType:"calc",_deprecated:{opacity:{valType:"number",editType:"style",description:["Obsolete.","Use the alpha channel in error bar `color` to set the opacity."].join(" ")}}}});var ZF=I((k2e,YF)=>{"use strict";var VF=jt(),Qhe=bt(),Khe=Re(),Jhe=ar(),eve=dx();YF.exports=function(e,t,r,a){var n="error_"+a.axis,i=Jhe.newContainer(t,n),o=e[n]||{};function s(g,m){return Khe.coerce(o,i,eve,g,m)}var l=o.array!==void 0||o.value!==void 0||o.type==="sqrt",u=s("visible",l);if(u!==!1){var c=s("type","array"in o?"data":"percent"),d=!0;c!=="sqrt"&&(d=s("symmetric",!((c==="data"?"arrayminus":"valueminus")in o))),c==="data"?(s("array"),s("traceref"),d||(s("arrayminus"),s("tracerefminus"))):(c==="percent"||c==="constant")&&(s("value"),d||s("valueminus"));var h="copy_"+a.inherit+"style";if(a.inherit){var p=t["error_"+a.inherit];(p||{}).visible&&s(h,!(o.color||VF(o.thickness)||VF(o.width)))}(!a.inherit||!i[h])&&(s("color",r),s("thickness"),s("width",Qhe.traceIs(t,"gl3d")?0:4))}}});var hx=I((M2e,$F)=>{"use strict";$F.exports=function(t){var r=t.type,a=t.symmetric;if(r==="data"){var n=t.array||[];if(a)return function(u,c){var d=+n[c];return[d,d]};var i=t.arrayminus||[];return function(u,c){var d=+n[c],h=+i[c];return!isNaN(d)||!isNaN(h)?[h||0,d||0]:[NaN,NaN]}}else{var o=XF(r,t.value),s=XF(r,t.valueminus);return a||t.valueminus===void 0?function(u){var c=o(u);return[c,c]}:function(u){return[s(u),o(u)]}}};function XF(e,t){if(e==="percent")return function(r){return Math.abs(r*t/100)};if(e==="constant")return function(){return Math.abs(t)};if(e==="sqrt")return function(r){return Math.sqrt(Math.abs(r))}}});var JF=I((S2e,KF)=>{"use strict";var vx=jt(),tve=bt(),px=tr(),rve=Re(),ave=hx();KF.exports=function(t){for(var r=t.calcdata,a=0;a{"use strict";var e9=Ft(),xo=jt(),nve=Kt(),ive=Ja();t9.exports=function(t,r,a,n){var i,o=a.xaxis,s=a.yaxis,l=n&&n.duration>0;r.each(function(u){var c=u[0].trace,d=c.error_x||{},h=c.error_y||{},p;c.ids&&(p=function(x){return x.id});var g=ive.hasMarkers(c)&&c.marker.maxdisplayed>0;!h.visible&&!d.visible&&(u=[]);var m=e9.select(this).selectAll("g.errorbar").data(u,p);if(m.exit().remove(),!!u.length){d.visible||m.selectAll("path.xerror").remove(),h.visible||m.selectAll("path.yerror").remove(),m.style("opacity",1);var b=m.enter().append("g").classed("errorbar",!0);l&&b.style("opacity",0).transition().duration(n.duration).style("opacity",1),nve.setClipUrl(m,a.layerClipId,t),m.each(function(x){var _=e9.select(this),k=ove(x,o,s);if(!(g&&!x.vis)){var w,A=_.select("path.yerror");if(h.visible&&xo(k.x)&&xo(k.yh)&&xo(k.ys)){var L=h.width;w="M"+(k.x-L)+","+k.yh+"h"+2*L+"m-"+L+",0V"+k.ys,k.noYS||(w+="m-"+L+",0h"+2*L),i=!A.size(),i?A=_.append("path").style("vector-effect","non-scaling-stroke").classed("yerror",!0):l&&(A=A.transition().duration(n.duration).ease(n.easing)),A.attr("d",w)}else A.remove();var M=_.select("path.xerror");if(d.visible&&xo(k.y)&&xo(k.xh)&&xo(k.xs)){var q=(d.copy_ystyle?h:d).width;w="M"+k.xh+","+(k.y-q)+"v"+2*q+"m0,-"+q+"H"+k.xs,k.noXS||(w+="m0,-"+q+"v"+2*q),i=!M.size(),i?M=_.append("path").style("vector-effect","non-scaling-stroke").classed("xerror",!0):l&&(M=M.transition().duration(n.duration).ease(n.easing)),M.attr("d",w)}else M.remove()}})}})};function ove(e,t,r){var a={x:t.c2p(e.x),y:r.c2p(e.y)};return e.yh!==void 0&&(a.yh=r.c2p(e.yh),a.ys=r.c2p(e.ys),xo(a.ys)||(a.noYS=!0,a.ys=r.c2p(e.ys,!0))),e.xh!==void 0&&(a.xh=t.c2p(e.xh),a.xs=t.c2p(e.xs),xo(a.xs)||(a.noXS=!0,a.xs=t.c2p(e.xs,!0))),a}});var i9=I((L2e,n9)=>{"use strict";var sve=Ft(),a9=It();n9.exports=function(t){t.each(function(r){var a=r[0].trace,n=a.error_y||{},i=a.error_x||{},o=sve.select(this);o.selectAll("path.yerror").style("stroke-width",n.thickness+"px").call(a9.stroke,n.color),i.copy_ystyle&&(i=n),o.selectAll("path.xerror").style("stroke-width",i.thickness+"px").call(a9.stroke,i.color)})}});var l9=I((q2e,s9)=>{"use strict";var _c=Re(),o9=Ai().overrideAll,wc=dx(),Ms={error_x:_c.extendFlat({},wc),error_y:_c.extendFlat({},wc)};delete Ms.error_x.copy_zstyle;delete Ms.error_y.copy_zstyle;delete Ms.error_y.copy_ystyle;var Tc={error_x:_c.extendFlat({},wc),error_y:_c.extendFlat({},wc),error_z:_c.extendFlat({},wc)};delete Tc.error_x.copy_ystyle;delete Tc.error_y.copy_ystyle;delete Tc.error_z.copy_ystyle;delete Tc.error_z.copy_zstyle;s9.exports={moduleType:"component",name:"errorbars",schema:{traces:{scatter:Ms,bar:Ms,histogram:Ms,scatter3d:o9(Tc,"calc","nested"),scattergl:o9(Ms,"calc","nested")}},supplyDefaults:ZF(),calc:JF(),makeComputeError:hx(),plot:r9(),style:i9(),hoverInfo:lve};function lve(e,t,r){(t.error_y||{}).visible&&(r.yerr=e.yh-e.y,t.error_y.symmetric||(r.yerrneg=e.y-e.ys)),(t.error_x||{}).visible&&(r.xerr=e.xh-e.x,t.error_x.symmetric||(r.xerrneg=e.x-e.xs))}});var f9=I((D2e,u9)=>{"use strict";u9.exports={cn:{colorbar:"colorbar",cbbg:"cbbg",cbfill:"cbfill",cbfills:"cbfills",cbline:"cbline",cblines:"cblines",cbaxis:"cbaxis",cbtitleunshift:"cbtitleunshift",cbtitle:"cbtitle",cboutline:"cboutline",crisp:"crisp",jsPlaceholder:"js-placeholder"}}});var g9=I((P2e,m9)=>{"use strict";var _o=Ft(),mx=Pn(),Ep=Nr(),c9=bt(),Fi=tr(),Ip=Nn(),Sn=Re(),Zn=Sn.strTranslate,d9=ra().extendFlat,gx=oo(),Xn=Kt(),yx=It(),uve=hf(),fve=Ga(),cve=hn().flipScale,dve=S1(),hve=C1(),vve=ni(),bx=qa(),h9=bx.LINE_SPACING,v9=bx.FROM_TL,p9=bx.FROM_BR,dr=f9().cn;function pve(e){var t=e._fullLayout,r=t._infolayer.selectAll("g."+dr.colorbar).data(mve(e),function(a){return a._id});r.enter().append("g").attr("class",function(a){return a._id}).classed(dr.colorbar,!0),r.each(function(a){var n=_o.select(this);Sn.ensureSingle(n,"rect",dr.cbbg),Sn.ensureSingle(n,"g",dr.cbfills),Sn.ensureSingle(n,"g",dr.cblines),Sn.ensureSingle(n,"g",dr.cbaxis,function(o){o.classed(dr.crisp,!0)}),Sn.ensureSingle(n,"g",dr.cbtitleunshift,function(o){o.append("g").classed(dr.cbtitle,!0)}),Sn.ensureSingle(n,"rect",dr.cboutline);var i=gve(n,a,e);i&&i.then&&(e._promises||[]).push(i),e._context.edits.colorbarPosition&&yve(n,a,e)}),r.exit().each(function(a){Ep.autoMargin(e,a._id)}).remove(),r.order()}function mve(e){var t=e._fullLayout,r=e.calcdata,a=[],n,i,o,s;function l(k){return d9(k,{_fillcolor:null,_line:{color:null,width:null,dash:null},_levels:{start:null,end:null,size:null},_filllevels:null,_fillgradient:null,_zrange:null})}function u(){typeof s.calc=="function"?s.calc(e,o,n):(n._fillgradient=i.reversescale?cve(i.colorscale):i.colorscale,n._zrange=[i[s.min],i[s.max]])}for(var c=0;c1){var qe=Math.pow(10,Math.floor(Math.log(ke)/Math.LN10));ee*=qe*Sn.roundUp(ke/qe,[2,5,10]),(Math.abs(E.start)/E.size+1e-6)%1<2e-6&&(re.tick0=0)}re.dtick=ee}re.domain=a?[de+g/_.h,de+Y-g/_.h]:[de+p/_.w,de+Y-p/_.w],re.setScale(),e.attr("transform",Zn(Math.round(_.l),Math.round(_.t)));var Le=e.select("."+dr.cbtitleunshift).attr("transform",Zn(-Math.round(_.l),-Math.round(_.t))),Se=re.ticklabelposition,U=re.title.font.size,J=e.select("."+dr.cbaxis),O,oe=0,me=0;function xe(Ue,nt){var at={propContainer:re,propName:t._propPrefix+"title",traceIndex:t._traceIndex,_meta:t._meta,placeholder:x._dfltTitle.colorbar,containerGroup:e.select("."+dr.cbtitle)},ft=Ue.charAt(0)==="h"?Ue.substr(1):"h"+Ue;e.selectAll("."+ft+",."+ft+"-math-group").remove(),uve.draw(r,Ue,d9(at,nt||{}))}function De(){if(a&&ge||!a&&!ge){var Ue,nt;L==="top"&&(Ue=p+_.l+_.w*m,nt=g+_.t+_.h*(1-de-Y)+3+U*.75),L==="bottom"&&(Ue=p+_.l+_.w*m,nt=g+_.t+_.h*(1-de)-3-U*.25),L==="right"&&(nt=g+_.t+_.h*b+3+U*.75,Ue=p+_.l+_.w*de),xe(re._id+"title",{attributes:{x:Ue,y:nt,"text-anchor":a?"start":"middle"}})}}function Pe(){if(a&&!ge||!a&&ge){var Ue=re.position||0,nt=re._offset+re._length/2,at,ft;if(L==="right")ft=nt,at=_.l+_.w*Ue+10+U*(re.showticklabels?1:.5);else if(at=nt,L==="bottom"&&(ft=_.t+_.h*Ue+10+(Se.indexOf("inside")===-1?re.tickfont.size:0)+(re.ticks!=="intside"&&t.ticklen||0)),L==="top"){var wt=A.text.split("
").length;ft=_.t+_.h*Ue+10-B-h9*U*wt}xe((a?"h":"v")+re._id+"title",{avoid:{selection:_o.select(r).selectAll("g."+re._id+"tick"),side:L,offsetTop:a?0:_.t,offsetLeft:a?_.l:0,maxShift:a?x.width:x.height},attributes:{x:at,y:ft,"text-anchor":"middle"},transform:{rotate:a?-90:0,offset:0}})}}function ye(){if(!a&&!ge||a&&ge){var Ue=e.select("."+dr.cbtitle),nt=Ue.select("text"),at=[-l/2,l/2],ft=Ue.select(".h"+re._id+"title-math-group").node(),wt=15.6;nt.node()&&(wt=parseInt(nt.node().style.fontSize,10)*h9);var se;if(ft?(se=Xn.bBox(ft),me=se.width,oe=se.height,oe>wt&&(at[1]-=(oe-wt)/2)):nt.node()&&!nt.classed(dr.jsPlaceholder)&&(se=Xn.bBox(nt.node()),me=se.width,oe=se.height),a){if(oe){if(oe+=5,L==="top")re.domain[1]-=oe/_.h,at[1]*=-1;else{re.domain[0]+=oe/_.h;var Ce=fve.lineCount(nt);at[1]+=(1-Ce)*wt}Ue.attr("transform",Zn(at[0],at[1])),re.setScale()}}else me&&(L==="right"&&(re.domain[0]+=(me+U/2)/_.w),Ue.attr("transform",Zn(at[0],at[1])),re.setScale())}e.selectAll("."+dr.cbfills+",."+dr.cblines).attr("transform",a?Zn(0,Math.round(_.h*(1-re.domain[1]))):Zn(Math.round(_.w*re.domain[0]),0)),J.attr("transform",a?Zn(0,Math.round(-_.t)):Zn(Math.round(-_.l),0));var it=e.select("."+dr.cbfills).selectAll("rect."+dr.cbfill).attr("style","").data(N);it.enter().append("rect").classed(dr.cbfill,!0).style("stroke","none"),it.exit().remove();var ct=M.map(re.c2p).map(Math.round).sort(function(je,ze){return je-ze});it.each(function(je,ze){var Ge=[ze===0?M[0]:(N[ze]+N[ze-1])/2,ze===N.length-1?M[1]:(N[ze]+N[ze+1])/2].map(re.c2p).map(Math.round);a&&(Ge[1]=Sn.constrain(Ge[1]+(Ge[1]>Ge[0])?1:-1,ct[0],ct[1]));var mt=_o.select(this).attr(a?"x":"y",Z).attr(a?"y":"x",_o.min(Ge)).attr(a?"width":"height",Math.max(B,2)).attr(a?"height":"width",Math.max(_o.max(Ge)-_o.min(Ge),2));if(t._fillgradient)Xn.gradient(mt,r,t._id,a?"vertical":"horizontalreversed",t._fillgradient,"fill");else{var Tt=P(je).replace("e-","");mt.attr("fill",mx(Tt).toHexString())}});var Je=e.select("."+dr.cblines).selectAll("path."+dr.cbline).data(w.color&&w.width?j:[]);Je.enter().append("path").classed(dr.cbline,!0),Je.exit().remove(),Je.each(function(je){var ze=Z,Ge=Math.round(re.c2p(je))+w.width/2%1;_o.select(this).attr("d","M"+(a?ze+","+Ge:Ge+","+ze)+(a?"h":"v")+B).call(Xn.lineGroupStyle,w.width,q(je),w.dash)}),J.selectAll("g."+re._id+"tick,path").remove();var we=Z+B+(l||0)/2-(t.ticks==="outside"?1:0),Me=Fi.calcTicks(re),Ye=Fi.getTickSigns(re)[2];return Fi.drawTicks(r,re,{vals:re.ticks==="inside"?Fi.clipEnds(re,Me):Me,layer:J,path:Fi.makeTickPath(re,we,Ye),transFn:Fi.makeTransTickFn(re)}),Fi.drawLabels(r,re,{vals:Me,layer:J,transFn:Fi.makeTransTickLabelFn(re),labelFns:Fi.makeLabelFns(re,we)})}function rt(){var Ue,nt=B+l/2;Se.indexOf("inside")===-1&&(Ue=Xn.bBox(J.node()),nt+=a?Ue.width:Ue.height),O=Le.select("text");var at=0,ft=a&&L==="top",wt=!a&&L==="right",se=0;if(O.node()&&!O.classed(dr.jsPlaceholder)){var Ce,it=Le.select(".h"+re._id+"title-math-group").node();it&&(a&&ge||!a&&!ge)?(Ue=Xn.bBox(it),at=Ue.width,Ce=Ue.height):(Ue=Xn.bBox(Le.node()),at=Ue.right-_.l-(a?Z:be),Ce=Ue.bottom-_.t-(a?be:Z),!a&&L==="top"&&(nt+=Ue.height,se=Ue.height)),wt&&(O.attr("transform",Zn(at/2+U/2,0)),at*=2),nt=Math.max(nt,a?at:Ce)}var ct=(a?p:g)*2+nt+u+l/2,Je=0;!a&&A.text&&h==="bottom"&&b<=0&&(Je=ct/2,ct+=Je,se+=Je),x._hColorbarMoveTitle=Je,x._hColorbarMoveCBTitle=se;var we=u+l;e.select("."+dr.cbbg).attr("x",(a?Z:be)-we/2-(a?p:0)).attr("y",(a?be:Z)-(a?V:g+se-Je)).attr(a?"width":"height",Math.max(ct-Je,2)).attr(a?"height":"width",Math.max(V+we,2)).call(yx.fill,c).call(yx.stroke,t.bordercolor).style("stroke-width",u);var Me=wt?Math.max(at-10,0):0;if(e.selectAll("."+dr.cboutline).attr("x",(a?Z:be+p)+Me).attr("y",(a?be+g-V:Z)+(ft?oe:0)).attr(a?"width":"height",Math.max(B,2)).attr(a?"height":"width",Math.max(V-(a?2*g+oe:2*p+Me),2)).call(yx.stroke,t.outlinecolor).style({fill:"none","stroke-width":l}),e.attr("transform",Zn(_.l-(a?$*ct:0),_.t-(a?0:(1-ne)*ct-se))),!a&&(u||mx(c).getAlpha()&&!mx.equals(x.paper_bgcolor,c))){var Ye=J.selectAll("text"),je=Ye[0].length,ze=e.select("."+dr.cbbg).node(),Ge=Xn.bBox(ze),mt=Xn.getTranslate(e),Tt=2;Ye.each(function(vt,pt){var ae=0,_e=je-1;if(pt===ae||pt===_e){var Te=Xn.bBox(this),Fe=Xn.getTranslate(this),Et;if(pt===_e){var pr=Te.right+Fe.x,Vr=Ge.right+mt.x+be-u-Tt+m;Et=Vr-pr,Et>0&&(Et=0)}else if(pt===ae){var Er=Te.left+Fe.x,hr=Ge.left+mt.x+be+u+Tt;Et=hr-Er,Et<0&&(Et=0)}Et&&(je<3?this.setAttribute("transform","translate("+Et+",0) "+this.getAttribute("transform")):this.setAttribute("visibility","hidden"))}})}var ot={},Ne=v9[d],et=p9[d],Oe=v9[h],st=p9[h],dt=ct-B;a?(i==="pixels"?(ot.y=b,ot.t=V*Oe,ot.b=V*st):(ot.t=ot.b=0,ot.yt=b+n*Oe,ot.yb=b-n*st),s==="pixels"?(ot.x=m,ot.l=ct*Ne,ot.r=ct*et):(ot.l=dt*Ne,ot.r=dt*et,ot.xl=m-o*Ne,ot.xr=m+o*et)):(i==="pixels"?(ot.x=m,ot.l=V*Ne,ot.r=V*et):(ot.l=ot.r=0,ot.xl=m+n*Ne,ot.xr=m-n*et),s==="pixels"?(ot.y=1-b,ot.t=ct*Oe,ot.b=ct*st):(ot.t=dt*Oe,ot.b=dt*st,ot.yt=b-o*Oe,ot.yb=b+o*st)),Ep.autoMargin(r,t._id,ot)}return Sn.syncOrAsync([Ep.previousPromises,De,ye,Pe,Ep.previousPromises,rt],r)}function yve(e,t,r){var a=t.orientation==="v",n=r._fullLayout,i=n._size,o,s,l;Ip.init({element:e.node(),gd:r,prepFn:function(){o=e.attr("transform"),gx(e)},moveFn:function(u,c){e.attr("transform",o+Zn(u,c)),s=Ip.align((a?t._uFrac:t._vFrac)+u/i.w,a?t._thickFrac:t._lenFrac,0,1,t.xanchor),l=Ip.align((a?t._vFrac:1-t._uFrac)-c/i.h,a?t._lenFrac:t._thickFrac,0,1,t.yanchor);var d=Ip.getCursor(s,l,t.xanchor,t.yanchor);gx(e,d)},doneFn:function(){if(gx(e),s!==void 0&&l!==void 0){var u={};u[t._propPrefix+"x"]=s,u[t._propPrefix+"y"]=l,t._traceIndex!==void 0?c9.call("_guiRestyle",r,u,t._traceIndex):c9.call("_guiRelayout",r,u)}}})}function bve(e,t,r){var a=t._levels,n=[],i=[],o,s,l=a.end+a.size/100,u=a.size,c=1.001*r[0]-.001*r[1],d=1.001*r[1]-.001*r[0];for(s=0;s<1e5&&(o=a.start+s*u,!(u>0?o>=l:o<=l));s++)o>c&&o0?o>=l:o<=l));s++)o>r[0]&&o{"use strict";y9.exports={moduleType:"component",name:"colorbar",attributes:gh(),supplyDefaults:yy(),draw:g9().draw,hasColorbar:ly()}});var _9=I((E2e,x9)=>{"use strict";x9.exports={moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],periods:["AM","PM"],dateTime:"%a %b %e %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",decimal:".",thousands:",",grouping:[3],currency:["$",""],year:"%Y",month:"%b %Y",dayMonth:"%b %-d",dayMonthYear:"%b %-d, %Y"}}});var T9=I((I2e,w9)=>{"use strict";w9.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}});var _x=I((z2e,S9)=>{"use strict";var _ve=bt(),A9=Re(),xx=A9.extendFlat,k9=A9.extendDeep;function M9(e){var t;switch(e){case"themes__thumb":t={autosize:!0,width:150,height:150,title:{text:""},showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case"thumbnail":t={title:{text:""},hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:"",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:t={}}return t}function wve(e){var t=["xaxis","yaxis","zaxis"];return t.indexOf(e.slice(0,5))>-1}S9.exports=function(t,r){var a,n=t.data,i=t.layout,o=k9([],n),s=k9({},i,M9(r.tileClass)),l=t._context||{};if(r.width&&(s.width=r.width),r.height&&(s.height=r.height),r.tileClass==="thumbnail"||r.tileClass==="themes__thumb"){s.annotations=[];var u=Object.keys(s);for(a=0;a{"use strict";var Tve=ih().EventEmitter,Ave=bt(),kve=Re(),C9=bs(),Mve=_x(),Sve=Qv(),Cve=Kv();function Lve(e,t){var r=new Tve,a=Mve(e,{format:"png"}),n=a.gd;n.style.position="absolute",n.style.left="-5000px",document.body.appendChild(n);function i(){var s=C9.getDelay(n._fullLayout);setTimeout(function(){var l=Sve(n),u=document.createElement("canvas");u.id=kve.randstr(),r=Cve({format:t.format,width:n._fullLayout.width,height:n._fullLayout.height,canvas:u,emitter:r,svg:l}),r.clean=function(){n&&document.body.removeChild(n)}},s)}var o=C9.getRedrawFunc(n);return Ave.call("_doPlot",n,a.data,a.layout,a.config).then(o).then(i).catch(function(s){r.emit("error",s)}),r}L9.exports=Lve});var R9=I((F2e,P9)=>{"use strict";var D9=bs(),qve={getDelay:D9.getDelay,getRedrawFunc:D9.getRedrawFunc,clone:_x(),toSVG:Qv(),svgToImg:Kv(),toImage:q9(),downloadImage:t1()};P9.exports=qve});var I9=I(ji=>{"use strict";ji.version=wd().version;QM();wL();var Dve=bt(),Ac=ji.register=Dve.register,wx=YI(),E9=Object.keys(wx);for(zp=0;zp{"use strict";z9.exports=I9()});var Ax=I((H2e,F9)=>{"use strict";F9.exports={TEXTPAD:3,eventDataKeys:["value","label"]}});var kc=I((B2e,B9)=>{"use strict";var Rr=Hl(),j9=mh().axisHoverFormat,Pve=Vf().hovertemplateAttrs,Rve=Vf().texttemplateAttrs,O9=ff(),Eve=La(),H9=Ax(),Ive=yi().pattern,Ss=ra().extendFlat,kx=Eve({editType:"calc",arrayOk:!0,colorEditType:"style",description:""}),zve=Rr.marker,Nve=zve.line,Fve=Ss({},Nve.width,{dflt:0}),jve=Ss({width:Fve,editType:"calc"},O9("marker.line")),Ove=Ss({line:jve,editType:"calc"},O9("marker"),{opacity:{valType:"number",arrayOk:!0,dflt:1,min:0,max:1,editType:"style",description:"Sets the opacity of the bars."},pattern:Ive});B9.exports={x:Rr.x,x0:Rr.x0,dx:Rr.dx,y:Rr.y,y0:Rr.y0,dy:Rr.dy,xperiod:Rr.xperiod,yperiod:Rr.yperiod,xperiod0:Rr.xperiod0,yperiod0:Rr.yperiod0,xperiodalignment:Rr.xperiodalignment,yperiodalignment:Rr.yperiodalignment,xhoverformat:j9("x"),yhoverformat:j9("y"),text:Rr.text,texttemplate:Rve({editType:"plot"},{keys:H9.eventDataKeys}),hovertext:Rr.hovertext,hovertemplate:Pve({},{keys:H9.eventDataKeys}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"calc",description:["Specifies the location of the `text`.","*inside* positions `text` inside, next to the bar end","(rotated and scaled if needed).","*outside* positions `text` outside, next to the bar end","(scaled if needed), unless there is another bar stacked on","this one, then the text gets pushed inside.","*auto* tries to position `text` inside the bar, but if","the bar is too small and no bar is stacked on this one","the text is moved outside.","If *none*, no text appears."].join(" ")},insidetextanchor:{valType:"enumerated",values:["end","middle","start"],dflt:"end",editType:"plot",description:["Determines if texts are kept at center or start/end points in `textposition` *inside* mode."].join(" ")},textangle:{valType:"angle",dflt:"auto",editType:"plot",description:["Sets the angle of the tick labels with respect to the bar.","For example, a `tickangle` of -90 draws the tick labels","vertically. With *auto* the texts may automatically be","rotated to fit with the maximum size in bars."].join(" ")},textfont:Ss({},kx,{description:"Sets the font used for `text`."}),insidetextfont:Ss({},kx,{description:"Sets the font used for `text` lying inside the bar."}),outsidetextfont:Ss({},kx,{description:"Sets the font used for `text` lying outside the bar."}),constraintext:{valType:"enumerated",values:["inside","outside","both","none"],dflt:"both",editType:"calc",description:["Constrain the size of text inside or outside a bar to be no","larger than the bar itself."].join(" ")},cliponaxis:Ss({},Rr.cliponaxis,{description:["Determines whether the text nodes","are clipped about the subplot axes.","To show the text nodes above axis lines and tick labels,","make sure to set `xaxis.layer` and `yaxis.layer` to *below traces*."].join(" ")}),orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes",description:["Sets the orientation of the bars.","With *v* (*h*), the value of the each bar spans","along the vertical (horizontal)."].join(" ")},base:{valType:"any",dflt:null,arrayOk:!0,editType:"calc",description:["Sets where the bar base is drawn (in position axis units).","In *stack* or *relative* barmode,","traces that set *base* will be excluded","and drawn in *overlay* mode instead."].join(" ")},offset:{valType:"number",dflt:null,arrayOk:!0,editType:"calc",description:["Shifts the position where the bar is drawn","(in position axis units).","In *group* barmode,","traces that set *offset* will be excluded","and drawn in *overlay* mode instead."].join(" ")},width:{valType:"number",dflt:null,min:0,arrayOk:!0,editType:"calc",description:["Sets the bar width (in position axis units)."].join(" ")},marker:Ove,offsetgroup:{valType:"string",dflt:"",editType:"calc",description:["Set several traces linked to the same position axis","or matching axes to the same","offsetgroup where bars of the same position coordinate will line up."].join(" ")},alignmentgroup:{valType:"string",dflt:"",editType:"calc",description:["Set several traces linked to the same position axis","or matching axes to the same","alignmentgroup. This controls whether bars compute their positional","range dependently or independently."].join(" ")},selected:{marker:{opacity:Rr.selected.marker.opacity,color:Rr.selected.marker.color,editType:"style"},textfont:Rr.selected.textfont,editType:"style"},unselected:{marker:{opacity:Rr.unselected.marker.opacity,color:Rr.unselected.marker.color,editType:"style"},textfont:Rr.unselected.textfont,editType:"style"},_deprecated:{bardir:{valType:"enumerated",editType:"calc",values:["v","h"],description:"Renamed to `orientation`."}}}});var Mx=I((U2e,U9)=>{"use strict";U9.exports={barmode:{valType:"enumerated",values:["stack","group","overlay","relative"],dflt:"group",editType:"calc",description:["Determines how bars at the same location coordinate","are displayed on the graph.","With *stack*, the bars are stacked on top of one another","With *relative*, the bars are stacked on top of one another,","with negative values below the axis, positive values above","With *group*, the bars are plotted next to one another","centered around the shared location.","With *overlay*, the bars are plotted over one another,","you might need to reduce *opacity* to see multiple bars."].join(" ")},barnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc",description:["Sets the normalization for bar traces on the graph.","With *fraction*, the value of each bar is divided by the sum of all","values at that location coordinate.","*percent* is the same but multiplied by 100 to show percentages."].join(" ")},bargap:{valType:"number",min:0,max:1,editType:"calc",description:["Sets the gap (in plot fraction) between bars of","adjacent location coordinates."].join(" ")},bargroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc",description:["Sets the gap (in plot fraction) between bars of","the same location coordinate."].join(" ")}}});var Y9=I((G2e,V9)=>{"use strict";var Hve=It(),G9=hn().hasColorscale,W9=_l(),Bve=Re().coercePattern;V9.exports=function(t,r,a,n,i){var o=a("marker.color",n),s=G9(t,"marker");s&&W9(t,r,i,a,{prefix:"marker.",cLetter:"c"}),a("marker.line.color",Hve.defaultLine),G9(t,"marker.line")&&W9(t,r,i,a,{prefix:"marker.line.",cLetter:"c"}),a("marker.line.width"),a("marker.opacity"),Bve(a,"marker.pattern",o,s),a("selected.marker.color"),a("unselected.marker.color")}});var Sx=I((W2e,K9)=>{"use strict";var ou=Re(),Z9=It(),Uve=bt(),Gve=n1(),Wve=i1(),Vve=Y9(),Yve=Sf().getAxisGroup,X9=kc(),Fp=ou.coerceFont;function Zve(e,t,r,a){function n(u,c){return ou.coerce(e,t,X9,u,c)}var i=Gve(e,t,a,n);if(!i){t.visible=!1;return}Wve(e,t,a,n),n("xhoverformat"),n("yhoverformat"),n("orientation",t.x&&!t.y?"h":"v"),n("base"),n("offset"),n("width"),n("text"),n("hovertext"),n("hovertemplate");var o=n("textposition");Q9(e,t,a,n,o,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),Vve(e,t,n,r,a);var s=(t.marker.line||{}).color,l=Uve.getComponentMethod("errorbars","supplyDefaults");l(e,t,s||Z9.defaultLine,{axis:"y"}),l(e,t,s||Z9.defaultLine,{axis:"x",inherit:"y"}),ou.coerceSelectionMarkerOpacity(t,n)}function $9(e,t,r,a){var n=t.orientation,i=t[{v:"x",h:"y"}[n]+"axis"],o=Yve(r,i)+n,s=r._alignmentOpts||{},l=a("alignmentgroup"),u=s[o];u||(u=s[o]={});var c=u[l];c?c.traces.push(t):c=u[l]={traces:[t],alignmentIndex:Object.keys(u).length,offsetGroups:{}};var d=a("offsetgroup"),h=c.offsetGroups,p=h[d];d&&(p||(p=h[d]={offsetIndex:Object.keys(h).length}),t._offsetIndex=p.offsetIndex)}function Xve(e,t){var r,a;function n(o){return ou.coerce(a._input,a,X9,o)}if(t.barmode==="group")for(var i=0;i{"use strict";var $ve=bt(),Qve=tr(),Kve=Re(),Jve=Mx();J9.exports=function(e,t,r){function a(p,g){return Kve.coerce(e,t,Jve,p,g)}for(var n=!1,i=!1,o=!1,s={},l=a("barmode"),u=0;u{"use strict";var su=Re();tj.exports=function(t,r){for(var a=0;a{"use strict";var rj=tr(),aj=o1(),nj=hn().hasColorscale,ij=bh(),epe=Cx(),tpe=f1();oj.exports=function(t,r){var a=rj.getFromId(t,r.xaxis||"x"),n=rj.getFromId(t,r.yaxis||"y"),i,o,s,l,u,c,d={msUTC:!!(r.base||r.base===0)};r.orientation==="h"?(i=a.makeCalcdata(r,"x",d),s=n.makeCalcdata(r,"y"),l=aj(r,n,"y",s),u=!!r.yperiodalignment,c="y"):(i=n.makeCalcdata(r,"y",d),s=a.makeCalcdata(r,"x"),l=aj(r,a,"x",s),u=!!r.xperiodalignment,c="x"),o=l.vals;for(var h=Math.min(o.length,i.length),p=new Array(h),g=0;g{"use strict";lj.exports=jp;var rpe=Re().distinctVals,ape=Tr().BADNUM;function jp(e,t){this.traces=e,this.sepNegVal=t.sepNegVal,this.overlapNoMerge=t.overlapNoMerge;for(var r=1/0,a=[],n=0;n{"use strict";var wo=jt(),Lx=Re().isArrayOrTypedArray,lu=Tr().BADNUM,npe=bt(),Mc=tr(),ipe=Sf().getAxisGroup,Op=uj();function ope(e,t){for(var r=t.xaxis,a=t.yaxis,n=e._fullLayout,i=e._fullData,o=e.calcdata,s=[],l=[],u=0;ul+o||!wo(s))}for(var c=0;c{"use strict";var vpe=Ft(),ppe=Re();function mpe(e,t,r){var a=e._fullLayout,n=a["_"+r+"Text_minsize"];if(n){var i=a.uniformtext.mode==="hide",o;switch(r){case"funnelarea":case"pie":case"sunburst":o="g.slice";break;case"treemap":case"icicle":o="g.slice, g.pathbar";break;default:o="g.points > g.point"}t.selectAll(o).each(function(s){var l=s.transform;if(l){l.scale=i&&l.hide?0:n/l.fontSize;var u=vpe.select(this).select("text");ppe.setTransormAndDisplay(u,l)}})}}function gpe(e,t,r){if(r.uniformtext.mode){var a=yj(e),n=r.uniformtext.minsize,i=t.scale*t.fontSize;t.hide=i{"use strict";var bpe=jt(),xpe=Pn(),_pe=Re().isArrayOrTypedArray;Cs.coerceString=function(e,t,r){if(typeof t=="string"){if(t||!e.noBlank)return t}else if((typeof t=="number"||t===!0)&&!e.strict)return String(t);return r!==void 0?r:e.dflt};Cs.coerceNumber=function(e,t,r){if(bpe(t)){t=+t;var a=e.min,n=e.max,i=a!==void 0&&tn;if(!i)return t}return r!==void 0?r:e.dflt};Cs.coerceColor=function(e,t,r){return xpe(t).isValid()?t:r!==void 0?r:e.dflt};Cs.coerceEnumerated=function(e,t,r){return e.coerceNumber&&(t=+t),e.values.indexOf(t)!==-1?t:r!==void 0?r:e.dflt};Cs.getValue=function(e,t){var r;return Array.isArray(e)?t{"use strict";var Cc=Ft(),wpe=It(),Lc=Kt(),xj=Re(),_j=bt(),wj=Rx().resizeText,Ex=kc(),Tpe=Ex.textfont,Ape=Ex.insidetextfont,kpe=Ex.outsidetextfont,uu=Hp();function Mpe(e){var t=Cc.select(e).selectAll("g.barlayer").selectAll("g.trace");wj(e,t,"bar");var r=t.size(),a=e._fullLayout;t.style("opacity",function(n){return n[0].trace.opacity}).each(function(n){(a.barmode==="stack"&&r>1||a.bargap===0&&a.bargroupgap===0&&!n[0].trace.marker.line.width)&&Cc.select(this).attr("shape-rendering","crispEdges")}),t.selectAll("g.points").each(function(n){var i=Cc.select(this),o=n[0].trace;Tj(i,o,e)}),_j.getComponentMethod("errorbars","style")(t)}function Tj(e,t,r){Lc.pointStyle(e.selectAll("path"),t,r),Aj(e,t,r)}function Aj(e,t,r){e.selectAll("text").each(function(a){var n=Cc.select(this),i=xj.ensureUniformFontSize(r,kj(n,a,t,r));Lc.font(n,i)})}function Spe(e,t,r){var a=t[0].trace;a.selectedpoints?Cpe(r,a,e):(Tj(r,a,e),_j.getComponentMethod("errorbars","style")(r))}function Cpe(e,t,r){Lc.selectedPointStyle(e.selectAll("path"),t),Lpe(e.selectAll("text"),t,r)}function Lpe(e,t,r){e.each(function(a){var n=Cc.select(this),i;if(a.selected){i=xj.ensureUniformFontSize(r,kj(n,a,t,r));var o=t.selected.textfont&&t.selected.textfont.color;o&&(i.color=o),Lc.font(n,i)}else Lc.selectedTextStyle(n,t)})}function kj(e,t,r,a){var n=a._fullLayout.font,i=r.textfont;if(e.classed("bartext-inside")){var o=Lj(t,r);i=Sj(r,t.i,n,o)}else e.classed("bartext-outside")&&(i=Cj(r,t.i,n));return i}function Mj(e,t,r){return Ix(Tpe,e.textfont,t,r)}function Sj(e,t,r,a){var n=Mj(e,t,r),i=e._input.textfont===void 0||e._input.textfont.color===void 0||Array.isArray(e.textfont.color)&&e.textfont.color[t]===void 0;return i&&(n={color:wpe.contrast(a),family:n.family,size:n.size}),Ix(Ape,e.insidetextfont,t,n)}function Cj(e,t,r){var a=Mj(e,t,r);return Ix(kpe,e.outsidetextfont,t,a)}function Ix(e,t,r,a){t=t||{};var n=uu.getValue(t.family,r),i=uu.getValue(t.size,r),o=uu.getValue(t.color,r);return{family:uu.coerceString(e.family,n,a.family),size:uu.coerceNumber(e.size,i,a.size),color:uu.coerceColor(e.color,o,a.color)}}function Lj(e,t){return t.type==="waterfall"?t[e.dir].marker.color:e.mcc||e.mc||t.marker.color}qj.exports={style:Mpe,styleTextPoints:Aj,styleOnSelect:Spe,getInsideTextFont:Sj,getOutsideTextFont:Cj,getBarColor:Lj,resizeText:wj}});var jj=I((eTe,Fj)=>{"use strict";var Up=Ft(),Gp=jt(),$r=Re(),qpe=Ga(),Dpe=It(),To=Kt(),Ppe=bt(),Wp=tr().tickText,Dj=Rx(),Rpe=Dj.recordMinTextSize,Epe=Dj.clearMinTextSize,zx=Bp(),fu=Hp(),Ipe=Ax(),Pj=kc(),zpe=Pj.text,Npe=Pj.textposition,Fpe=Mi().appendArrayPointValue,$n=Ipe.TEXTPAD;function jpe(e){return e.id}function Ope(e){if(e.ids)return jpe}function Ao(e,t){return e0}function Bpe(e,t,r,a,n,i){var o=t.xaxis,s=t.yaxis,l=e._fullLayout;n||(n={mode:l.barmode,norm:l.barmode,gap:l.bargap,groupgap:l.bargroupgap},Epe("bar",l));var u=$r.makeTraceGroups(a,r,"trace bars").each(function(c){var d=Up.select(this),h=c[0].trace,p=h.type==="waterfall",g=h.type==="funnel",m=h.type==="bar",b=m||g,x=0;p&&h.connector.visible&&h.connector.mode==="between"&&(x=h.connector.line.width/2);var _=h.orientation==="h",k=Ej(n),w=$r.ensureSingle(d,"g","points"),A=Ope(h),L=w.selectAll("g.point").data($r.identity,A);L.enter().append("g").classed("point",!0),L.exit().remove(),L.each(function(q,P){var E=Up.select(this),F=Hpe(q,o,s,_),N=F[0][0],j=F[0][1],B=F[1][0],W=F[1][1],V=(_?j-N:W-B)==0;V&&b&&fu.getLineWidth(h,q)&&(V=!1),V||(V=!Gp(N)||!Gp(j)||!Gp(B)||!Gp(W)),q.isBlank=V,V&&(_?j=N:W=B),x&&!V&&(_?(N-=Ao(N,j)*x,j+=Ao(N,j)*x):(B-=Ao(B,W)*x,W+=Ao(B,W)*x));var Y,Z;if(h.type==="waterfall"){if(!V){var $=h[q.dir].marker;Y=$.line.width,Z=$.color}}else Y=fu.getLineWidth(h,q),Z=q.mc||h.marker.color;function ne(ee){var Ae=Up.round(Y/2%1,2);return n.gap===0&&n.groupgap===0?Up.round(Math.round(ee)-Ae,2):ee}function te(ee,Ae,ke){return ke&&ee===Ae?ee:Math.abs(ee-Ae)>=2?ne(ee):ee>Ae?Math.ceil(ee):Math.floor(ee)}if(!e._context.staticPlot){var de=Dpe.opacity(Z),be=de<1||Y>.01?ne:te;N=be(N,j,_),j=be(j,N,_),B=be(B,W,!_),W=be(W,B,!_)}var re=Rj($r.ensureSingle(E,"path"),l,n,i);if(re.style("vector-effect","non-scaling-stroke").attr("d",isNaN((j-N)*(W-B))||V&&e._context.staticPlot?"M0,0Z":"M"+N+","+B+"V"+W+"H"+j+"V"+B+"Z").call(To.setClipUrl,t.layerClipId,e),!l.uniformtext.mode&&k){var ge=To.makePointStyleFns(h);To.singlePointStyle(q,re,h,ge,e)}Upe(e,t,E,c,P,N,j,B,W,n,i),t.layerClipId&&To.hideOutsideRangePoint(q,E.select("text"),o,s,h.xcalendar,h.ycalendar)});var M=h.cliponaxis===!1;To.setClipUrl(d,M?null:t.layerClipId,e)});Ppe.getComponentMethod("errorbars","plot")(e,u,t,n)}function Upe(e,t,r,a,n,i,o,s,l,u,c){var d=t.xaxis,h=t.yaxis,p=e._fullLayout,g;function m(Ae,ke,qe){var Le=$r.ensureSingle(Ae,"text").text(ke).attr({class:"bartext bartext-"+g,"text-anchor":"middle","data-notex":1}).call(To.font,qe).call(qpe.convertToTspans,e);return Le}var b=a[0].trace,x=b.orientation==="h",_=Wpe(p,a,n,d,h);g=Vpe(b,n);var k=u.mode==="stack"||u.mode==="relative",w=a[n],A=!k||w._outmost;if(!_||g==="none"||(w.isBlank||i===o||s===l)&&(g==="auto"||g==="inside")){r.select("text").remove();return}var L=p.font,M=zx.getBarColor(a[n],b),q=zx.getInsideTextFont(b,n,L,M),P=zx.getOutsideTextFont(b,n,L),E=r.datum();x?d.type==="log"&&E.s0<=0&&(d.range[0]0&&V>0,$=W<=F&&V<=N,ne=W<=N&&V<=F,te=x?F>=W*(N/V):N>=V*(F/W);Z&&($||ne||te)?g="inside":(g="outside",j.remove(),j=null)}else g="inside";if(!j){Y=$r.ensureUniformFontSize(e,g==="outside"?P:q),j=m(r,_,Y);var de=j.attr("transform");if(j.attr("transform",""),B=To.bBox(j.node()),W=B.width,V=B.height,j.attr("transform",de),W<=0||V<=0){j.remove();return}}var be=b.textangle,re,ge;g==="outside"?(ge=b.constraintext==="both"||b.constraintext==="outside",re=Gpe(i,o,s,l,B,{isHorizontal:x,constrained:ge,angle:be})):(ge=b.constraintext==="both"||b.constraintext==="inside",re=Nj(i,o,s,l,B,{isHorizontal:x,constrained:ge,angle:be,anchor:b.insidetextanchor})),re.fontSize=Y.size,Rpe(b.type==="histogram"?"bar":b.type,re,p),w.transform=re;var ee=Rj(j,p,u,c);$r.setTransormAndDisplay(ee,re)}function Ij(e){return e==="auto"?0:e}function zj(e,t){var r=Math.PI/180*t,a=Math.abs(Math.sin(r)),n=Math.abs(Math.cos(r));return{x:e.width*n+e.height*a,y:e.width*a+e.height*n}}function Nj(e,t,r,a,n,i){var o=!!i.isHorizontal,s=!!i.constrained,l=i.angle||0,u=i.anchor||"end",c=u==="end",d=u==="start",h=i.leftToRight||0,p=(h+1)/2,g=1-p,m=n.width,b=n.height,x=Math.abs(t-e),_=Math.abs(a-r),k=x>2*$n&&_>2*$n?$n:0;x-=2*k,_-=2*k;var w=Ij(l);l==="auto"&&!(m<=x&&b<=_)&&(m>x||b>_)&&(!(m>_||b>x)||m2*$n?$n:0:p=d>2*$n?$n:0;var g=1;s&&(g=o?Math.min(1,h/c):Math.min(1,d/u));var m=Ij(l),b=zj(n,m),x=(o?b.x:b.y)/2,_=(n.left+n.right)/2,k=(n.top+n.bottom)/2,w=(e+t)/2,A=(r+a)/2,L=0,M=0,q=o?Ao(t,e):Ao(r,a);return o?(w=t-q*p,L=q*x):(A=a+q*p,M=-q*x),{textX:_,textY:k,targetX:w,targetY:A,anchorX:L,anchorY:M,scale:g,rotate:m}}function Wpe(e,t,r,a,n){var i=t[0].trace,o=i.texttemplate,s;return o?s=Ype(e,t,r,a,n):i.textinfo?s=Zpe(t,r,a,n):s=fu.getValue(i.text,r),fu.coerceString(zpe,s)}function Vpe(e,t){var r=fu.getValue(e.textposition,t);return fu.coerceEnumerated(Npe,r)}function Ype(e,t,r,a,n){var i=t[0].trace,o=$r.castOption(i,r,"texttemplate");if(!o)return"";var s=i.type==="histogram",l=i.type==="waterfall",u=i.type==="funnel",c=i.orientation==="h",d,h,p,g;c?(d="y",h=n,p="x",g=a):(d="x",h=a,p="y",g=n);function m(L){return Wp(h,h.c2l(L),!0).text}function b(L){return Wp(g,g.c2l(L),!0).text}var x=t[r],_={};_.label=x.p,_.labelLabel=_[d+"Label"]=m(x.p);var k=$r.castOption(i,x.i,"text");(k===0||k)&&(_.text=k),_.value=x.s,_.valueLabel=_[p+"Label"]=b(x.s);var w={};Fpe(w,i,x.i),(s||w.x===void 0)&&(w.x=c?_.value:_.label),(s||w.y===void 0)&&(w.y=c?_.label:_.value),(s||w.xLabel===void 0)&&(w.xLabel=c?_.valueLabel:_.labelLabel),(s||w.yLabel===void 0)&&(w.yLabel=c?_.labelLabel:_.valueLabel),l&&(_.delta=+x.rawS||x.s,_.deltaLabel=b(_.delta),_.final=x.v,_.finalLabel=b(_.final),_.initial=_.final-_.delta,_.initialLabel=b(_.initial)),u&&(_.value=x.s,_.valueLabel=b(_.value),_.percentInitial=x.begR,_.percentInitialLabel=$r.formatPercent(x.begR),_.percentPrevious=x.difR,_.percentPreviousLabel=$r.formatPercent(x.difR),_.percentTotal=x.sumR,_.percenTotalLabel=$r.formatPercent(x.sumR));var A=$r.castOption(i,x.i,"customdata");return A&&(_.customdata=A),$r.texttemplateString(o,_,e._d3locale,w,_,i._meta||{})}function Zpe(e,t,r,a){var n=e[0].trace,i=n.orientation==="h",o=n.type==="waterfall",s=n.type==="funnel";function l(A){var L=i?a:r;return Wp(L,A,!0).text}function u(A){var L=i?r:a;return Wp(L,+A,!0).text}var c=n.textinfo,d=e[t],h=c.split("+"),p=[],g,m=function(A){return h.indexOf(A)!==-1};if(m("label")&&p.push(l(e[t].p)),m("text")&&(g=$r.castOption(n,d.i,"text"),(g===0||g)&&p.push(g)),o){var b=+d.rawS||d.s,x=d.v,_=x-b;m("initial")&&p.push(u(_)),m("delta")&&p.push(u(b)),m("final")&&p.push(u(x))}if(s){m("value")&&p.push(u(d.s));var k=0;m("percent initial")&&k++,m("percent previous")&&k++,m("percent total")&&k++;var w=k>1;m("percent initial")&&(g=$r.formatPercent(d.begR),w&&(g+=" of initial"),p.push(g)),m("percent previous")&&(g=$r.formatPercent(d.difR),w&&(g+=" of previous"),p.push(g)),m("percent total")&&(g=$r.formatPercent(d.sumR),w&&(g+=" of total"),p.push(g))}return p.join("
")}Fj.exports={plot:Bpe,toMoveInsideBar:Nj}});var Gj=I((tTe,Uj)=>{"use strict";var qc=qi(),Xpe=bt(),Oj=It(),$pe=Re().fillText,Qpe=Hp().getLineWidth,Nx=tr().hoverLabelText,Kpe=Tr().BADNUM;function Jpe(e,t,r,a,n){var i=Hj(e,t,r,a,n);if(i){var o=i.cd,s=o[0].trace,l=o[i.index];return i.color=Bj(s,l),Xpe.getComponentMethod("errorbars","hoverInfo")(l,s,i),[i]}}function Hj(e,t,r,a,n){var i=e.cd,o=i[0].trace,s=i[0].t,l=a==="closest",u=o.type==="waterfall",c=e.maxHoverDistance,d=e.maxSpikeDistance,h,p,g,m,b,x,_;o.orientation==="h"?(h=r,p=t,g="y",m="x",b=W,x=N):(h=t,p=r,g="x",m="y",x=W,b=N);var k=o[g+"period"],w=l||k;function A(ee){return M(ee,-1)}function L(ee){return M(ee,1)}function M(ee,Ae){var ke=ee.w;return ee[g]+Ae*ke/2}function q(ee){return ee[g+"End"]-ee[g+"Start"]}var P=l?A:k?function(ee){return ee.p-q(ee)/2}:function(ee){return Math.min(A(ee),ee.p-s.bardelta/2)},E=l?L:k?function(ee){return ee.p+q(ee)/2}:function(ee){return Math.max(L(ee),ee.p+s.bardelta/2)};function F(ee,Ae,ke){return n.finiteRange&&(ke=0),qc.inbox(ee-h,Ae-h,ke+Math.min(1,Math.abs(Ae-ee)/_)-1)}function N(ee){return F(P(ee),E(ee),c)}function j(ee){return F(A(ee),L(ee),d)}function B(ee){var Ae=ee[m];if(u){var ke=Math.abs(ee.rawS)||0;p>0?Ae+=ke:p<0&&(Ae-=ke)}return Ae}function W(ee){var Ae=p,ke=ee.b,qe=B(ee);return qc.inbox(ke-Ae,qe-Ae,c+(qe-Ae)/(qe-ke)-1)}function V(ee){var Ae=p,ke=ee.b,qe=B(ee);return qc.inbox(ke-Ae,qe-Ae,d+(qe-Ae)/(qe-ke)-1)}var Y=e[g+"a"],Z=e[m+"a"];_=Math.abs(Y.r2c(Y.range[1])-Y.r2c(Y.range[0]));function $(ee){return(b(ee)+x(ee))/2}var ne=qc.getDistanceFunction(a,b,x,$);if(qc.getClosest(i,ne,e),e.index!==!1&&i[e.index].p!==Kpe){w||(P=function(ee){return Math.min(A(ee),ee.p-s.bargroupwidth/2)},E=function(ee){return Math.max(L(ee),ee.p+s.bargroupwidth/2)});var te=e.index,de=i[te],be=o.base?de.b+de.s:de.s;e[m+"0"]=e[m+"1"]=Z.c2p(de[m],!0),e[m+"LabelVal"]=be;var re=s.extents[s.extents.round(de.p)];e[g+"0"]=Y.c2p(l?P(de):re[0],!0),e[g+"1"]=Y.c2p(l?E(de):re[1],!0);var ge=de.orig_p!==void 0;return e[g+"LabelVal"]=ge?de.orig_p:de.p,e.labelLabel=Nx(Y,e[g+"LabelVal"],o[g+"hoverformat"]),e.valueLabel=Nx(Z,e[m+"LabelVal"],o[m+"hoverformat"]),e.baseLabel=Nx(Z,de.b,o[m+"hoverformat"]),e.spikeDistance=(V(de)+j(de))/2,e[g+"Spike"]=Y.c2p(de.p,!0),$pe(de,o,e),e.hovertemplate=o.hovertemplate,e}}function Bj(e,t){var r=t.mcc||e.marker.color,a=t.mlcc||e.marker.line.color,n=Qpe(e,t);if(Oj.opacity(r))return r;if(Oj.opacity(a)&&n)return a}Uj.exports={hoverPoints:Jpe,hoverOnBars:Hj,getTraceColor:Bj}});var Vj=I((rTe,Wj)=>{"use strict";Wj.exports=function(t,r,a){return t.x="xVal"in r?r.xVal:r.x,t.y="yVal"in r?r.yVal:r.y,r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),a.orientation==="h"?(t.label=t.y,t.value=t.x):(t.label=t.x,t.value=t.y),t}});var Zj=I((aTe,Yj)=>{"use strict";Yj.exports=function(t,r){var a=t.cd,n=t.xaxis,i=t.yaxis,o=a[0].trace,s=o.type==="funnel",l=o.orientation==="h",u=[],c;if(r===!1)for(c=0;c{"use strict";Xj.exports={attributes:kc(),layoutAttributes:Mx(),supplyDefaults:Sx().supplyDefaults,crossTraceDefaults:Sx().crossTraceDefaults,supplyLayoutDefaults:ej(),calc:sj(),crossTraceCalc:gj().crossTraceCalc,colorbar:y1(),arraysToCalcdata:Cx(),plot:jj().plot,style:Bp().style,styleOnSelect:Bp().styleOnSelect,hoverPoints:Gj().hoverPoints,eventData:Vj(),selectPoints:Zj(),moduleType:"trace",name:"bar",basePlotModule:dp(),categories:["bar-like","cartesian","svg","bar","oriented","errorBarsOK","showLegend","zoomScale"],animatable:!0,meta:{description:["The data visualized by the span of the bars is set in `y`","if `orientation` is set th *v* (the default)","and the labels are set in `x`.","By setting `orientation` to *h*, the roles are interchanged."].join(" ")}}});var Kj=I((iTe,Qj)=>{"use strict";Qj.exports=$j()});var Dc=I(Jj=>{"use strict";Jj.pointsAccessorFunction=function(e,t){for(var r,a,n=0;n{"use strict";var tme=tr(),cu=Re(),rme=eo(),ame=Dc().pointsAccessorFunction,_r=Tr().BADNUM;du.moduleType="transform";du.name="aggregate";var eO=du.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc",description:["Determines whether this aggregate transform is enabled or disabled."].join(" ")},groups:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc",description:["Sets the grouping target to which the aggregation is applied.","Data points with matching group values will be coalesced into","one point, using the supplied aggregation functions to reduce data","in other data arrays.","If a string, `groups` is assumed to be a reference to a data array","in the parent trace object.","To aggregate by nested variables, use *.* to access them.","For example, set `groups` to *marker.color* to aggregate","about the marker color array.","If an array, `groups` is itself the data array by which we aggregate."].join(" ")},aggregations:{_isLinkedToArray:"aggregation",target:{valType:"string",editType:"calc",description:["A reference to the data array in the parent trace to aggregate.","To aggregate by nested variables, use *.* to access them.","For example, set `groups` to *marker.color* to aggregate","over the marker color array.","The referenced array must already exist, unless `func` is *count*,","and each array may only be referenced once."].join(" ")},func:{valType:"enumerated",values:["count","sum","avg","median","mode","rms","stddev","min","max","first","last","change","range"],dflt:"first",editType:"calc",description:["Sets the aggregation function.","All values from the linked `target`, corresponding to the same value","in the `groups` array, are collected and reduced by this function.","*count* is simply the number of values in the `groups` array, so does","not even require the linked array to exist. *first* (*last*) is just","the first (last) linked value.","Invalid values are ignored, so for example in *avg* they do not","contribute to either the numerator or the denominator.","Any data type (numeric, date, category) may be aggregated with any","function, even though in certain cases it is unlikely to make sense,","for example a sum of dates or average of categories.","*median* will return the average of the two central values if there is","an even count. *mode* will return the first value to reach the maximum","count, in case of a tie.","*change* will return the difference between the first and last linked values.","*range* will return the difference between the min and max linked values."].join(" ")},funcmode:{valType:"enumerated",values:["sample","population"],dflt:"sample",editType:"calc",description:["*stddev* supports two formula variants: *sample* (normalize by N-1)","and *population* (normalize by N)."].join(" ")},enabled:{valType:"boolean",dflt:!0,editType:"calc",description:["Determines whether this aggregation function is enabled or disabled."].join(" ")},editType:"calc"},editType:"calc"},tO=eO.aggregations;du.supplyDefaults=function(e,t){var r={},a;function n(b,x){return cu.coerce(e,r,eO,b,x)}var i=n("enabled");if(!i)return r;var o=rme.findArrayAttributes(t),s={};for(a=0;al&&(l=h,u=d)}}return l?n(u):_r};case"rms":return function(i,o){for(var s=0,l=0,u=0;u{"use strict";nO.exports=aO()});var sO=I((uTe,oO)=>{"use strict";oO.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}});var lO=I(qs=>{"use strict";var Ls=Re(),lme=bt(),ume=tr(),fme=Dc().pointsAccessorFunction,Fx=sO(),jx=Fx.COMPARISON_OPS,Ox=Fx.INTERVAL_OPS,Hx=Fx.SET_OPS;qs.moduleType="transform";qs.name="filter";qs.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc",description:["Determines whether this filter transform is enabled or disabled."].join(" ")},target:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc",description:["Sets the filter target by which the filter is applied.","If a string, `target` is assumed to be a reference to a data array","in the parent trace object.","To filter about nested variables, use *.* to access them.","For example, set `target` to *marker.color* to filter","about the marker color array.","If an array, `target` is then the data array by which the filter is applied."].join(" ")},operation:{valType:"enumerated",values:[].concat(jx).concat(Ox).concat(Hx),dflt:"=",editType:"calc",description:["Sets the filter operation.","*=* keeps items equal to `value`","*!=* keeps items not equal to `value`","*<* keeps items less than `value`","*<=* keeps items less than or equal to `value`","*>* keeps items greater than `value`","*>=* keeps items greater than or equal to `value`","*[]* keeps items inside `value[0]` to `value[1]` including both bounds","*()* keeps items inside `value[0]` to `value[1]` excluding both bounds","*[)* keeps items inside `value[0]` to `value[1]` including `value[0]` but excluding `value[1]","*(]* keeps items inside `value[0]` to `value[1]` excluding `value[0]` but including `value[1]","*][* keeps items outside `value[0]` to `value[1]` and equal to both bounds","*)(* keeps items outside `value[0]` to `value[1]`","*](* keeps items outside `value[0]` to `value[1]` and equal to `value[0]`","*)[* keeps items outside `value[0]` to `value[1]` and equal to `value[1]`","*{}* keeps items present in a set of values","*}{* keeps items not present in a set of values"].join(" ")},value:{valType:"any",dflt:0,editType:"calc",description:["Sets the value or values by which to filter.","Values are expected to be in the same type as the data linked","to `target`.","When `operation` is set to one of","the comparison values ("+jx+")","`value` is expected to be a number or a string.","When `operation` is set to one of the interval values","("+Ox+")","`value` is expected to be 2-item array where the first item","is the lower bound and the second item is the upper bound.","When `operation`, is set to one of the set values","("+Hx+")","`value` is expected to be an array with as many items as","the desired set elements."].join(" ")},preservegaps:{valType:"boolean",dflt:!1,editType:"calc",description:["Determines whether or not gaps in data arrays produced by the filter operation","are preserved.","Setting this to *true* might be useful when plotting a line chart","with `connectgaps` set to *false*."].join(" ")},editType:"calc"};qs.supplyDefaults=function(e){var t={};function r(o,s){return Ls.coerce(e,t,qs.attributes,o,s)}var a=r("enabled");if(a){var n=r("target");if(Ls.isArrayOrTypedArray(n)&&n.length===0)return t.enabled=!1,t;r("preservegaps"),r("operation"),r("value");var i=lme.getComponentMethod("calendars","handleDefaults");i(e,t,"valuecalendar",null),i(e,t,"targetcalendar",null)}return t};qs.calcTransform=function(e,t,r){if(!r.enabled)return;var a=Ls.getTargetArray(t,r);if(!a)return;var n=r.target,i=a.length;t._length&&(i=Math.min(i,t._length));var o=r.targetcalendar,s=t._arrayAttrs,l=r.preservegaps;if(typeof n=="string"){var u=Ls.nestedProperty(t,n+"calendar").get();u&&(o=u)}var c=ume.getDataToCoordFunc(e,t,n,a),d=cme(r,c,o),h={},p={},g=0;function m(A,L){for(var M=0;M":return function(c){return l(c)>u};case">=":return function(c){return l(c)>=u};case"[]":return function(c){var d=l(c);return d>=u[0]&&d<=u[1]};case"()":return function(c){var d=l(c);return d>u[0]&&d=u[0]&&du[0]&&d<=u[1]};case"][":return function(c){var d=l(c);return d<=u[0]||d>=u[1]};case")(":return function(c){var d=l(c);return du[1]};case"](":return function(c){var d=l(c);return d<=u[0]||d>u[1]};case")[":return function(c){var d=l(c);return d=u[1]};case"{}":return function(c){return u.indexOf(l(c))!==-1};case"}{":return function(c){return u.indexOf(l(c))===-1}}}});var fO=I((cTe,uO)=>{"use strict";uO.exports=lO()});var cO=I(Oi=>{"use strict";var Na=Re(),dme=eo(),hme=Nr(),vme=Dc().pointsAccessorFunction;Oi.moduleType="transform";Oi.name="groupby";Oi.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc",description:["Determines whether this group-by transform is enabled or disabled."].join(" ")},groups:{valType:"data_array",dflt:[],editType:"calc",description:["Sets the groups in which the trace data will be split.","For example, with `x` set to *[1, 2, 3, 4]* and","`groups` set to *['a', 'b', 'a', 'b']*,","the groupby transform with split in one trace","with `x` [1, 3] and one trace with `x` [2, 4]."].join(" ")},nameformat:{valType:"string",editType:"calc",description:["Pattern by which grouped traces are named. If only one trace is present,",'defaults to the group name (`"%{group}"`), otherwise defaults to the group name','with trace name (`"%{group} (%{trace})"`). Available escape sequences are `%{group}`, which',"inserts the group name, and `%{trace}`, which inserts the trace name. If grouping","GDP data by country when more than one trace is present, for example, the",'default "%{group} (%{trace})" would return "Monaco (GDP per capita)".'].join(" ")},styles:{_isLinkedToArray:"style",target:{valType:"string",editType:"calc",description:["The group value which receives these styles."].join(" ")},value:{valType:"any",dflt:{},editType:"calc",description:["Sets each group styles.","For example, with `groups` set to *['a', 'b', 'a', 'b']*","and `styles` set to *[{target: 'a', value: { marker: { color: 'red' } }}]","marker points in group *'a'* will be drawn in red."].join(" "),_compareAsJSON:!0},editType:"calc"},editType:"calc"};Oi.supplyDefaults=function(e,t,r){var a,n={};function i(d,h){return Na.coerce(e,n,Oi.attributes,d,h)}var o=i("enabled");if(!o)return n;i("groups"),i("nameformat",r._dataLength>1?"%{group} (%{trace})":"%{group}");var s=e.styles,l=n.styles=[];if(s)for(a=0;a{"use strict";dO.exports=cO()});var vO=I(Ds=>{"use strict";var Bx=Re(),mme=tr(),gme=Dc().pointsAccessorFunction,Vp=Tr().BADNUM;Ds.moduleType="transform";Ds.name="sort";Ds.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc",description:["Determines whether this sort transform is enabled or disabled."].join(" ")},target:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc",description:["Sets the target by which the sort transform is applied.","If a string, *target* is assumed to be a reference to a data array","in the parent trace object.","To sort about nested variables, use *.* to access them.","For example, set `target` to *marker.size* to sort","about the marker size array.","If an array, *target* is then the data array by which","the sort transform is applied."].join(" ")},order:{valType:"enumerated",values:["ascending","descending"],dflt:"ascending",editType:"calc",description:["Sets the sort transform order."].join(" ")},editType:"calc"};Ds.supplyDefaults=function(e){var t={};function r(n,i){return Bx.coerce(e,t,Ds.attributes,n,i)}var a=r("enabled");return a&&(r("target"),r("order")),t};Ds.calcTransform=function(e,t,r){if(!!r.enabled){var a=Bx.getTargetArray(t,r);if(!!a){var n=r.target,i=a.length;t._length&&(i=Math.min(i,t._length));var o=t._arrayAttrs,s=mme.getDataToCoordFunc(e,t,n,a),l=yme(r,a,s,i),u=gme(t.transforms,r),c={},d,h;for(d=0;d{"use strict";pO.exports=vO()});var Zt=Mm(Om()),LO=Mm(VM());var YM="1.5.3";function BQ(e){return Boolean(e)}var UQ=e=>{let t=Array.from(document.querySelectorAll('style[id^="plotly.js"]')).map(r=>r.sheet).filter(BQ).flatMap(r=>Array.from(r.cssRules)).map(r=>r.cssText).join(` `);e.innerHTML+=` .js-plotly-plot .plotly .modebar-btn { fill: rgb(136,136,136); } - ${t}`},MM=c$;window.global=window;var jj=i9();jj.register([xj(),Sj(),Pj(),Ej(),Fj()]);var au=jj;function _c(e){return!(Ts(e)||As(e))}function Ts(e){return"attribute"in e}function As(e){return"period"in e}var Hpe=([e,t],[r,a])=>{if(te.flatMap(r=>Hpe(r,t)),wx=(e,t)=>t.reduce((r,a)=>Bpe(r,a),e),Oj=e=>e.slice().sort((t,r)=>t[0]-r[0]).reduce((t,r)=>{if(t.length===0)return[r];let a=t[t.length-1];if(a[1]+1>=r[0]){let n=[a[0],r[1]];return[...t.slice(0,-1),n]}return[...t,r]},[]);async function Upe(e,t,[r,a]){let n=null;try{n=(await e.callWS({type:"recorder/statistics_during_period",start_time:r.toISOString(),end_time:a.toISOString(),statistic_ids:[t.entity],period:t.period}))[t.entity]}catch(i){throw console.error(i),new Error(`Error fetching statistics of ${t.entity}: ${JSON.stringify(i.message||"")}`)}return n||(n=[]),{range:[+r,+a],history:n.map(i=>{var o;return{entity_id:i.statistic_id,last_updated:+new Date(i.start),last_changed:+new Date(i.start),state:(o=i[t.statistic])!=null?o:"",statistics:i,attributes:{}}})}}var Hj=Upe;async function Gpe(e,t,[r,a],n,i){let o=i&&_c(t)?"minimal_response&":"",s=n&&_c(t)?"1":"0",l=`history/period/${r.toISOString()}?filter_entity_id=${t.entity}&significant_changes_only=${s}&`+o+`end_time=${a.toISOString()}`,u;try{u=(await e.callApi("GET",l)||[])[0]}catch(c){throw console.error(c),new Error(`Error fetching states of ${t.entity}: ${JSON.stringify(c.message||"")}`)}return u||(u=[]),{range:[+r,+a],history:u.map(c=>({...c,state:Ts(t)?c.attributes[t.attribute]:c.state,last_updated:+new Date(c.last_updated||c.last_changed)})).filter(({last_updated:c})=>c)}}var Bj=Gpe;function Uj(e,t){return Object.fromEntries(Object.entries(e).map(([r,a])=>[r,t(a,r)]))}async function Wpe(e,t,[r,a],n,i){let o=new Date(r),s=new Date(a),l;As(t)?l=await Hj(e,t,[o,s]):l=await Bj(e,t,[o,s],n,i);let{history:u,range:c}=l;if(u.length){let d=u[u.length-1],h=JSON.parse(JSON.stringify(d));u[0].duplicate_datapoint=!0,h.duplicate_datapoint=!0,h.last_updated=Math.min(+s,Date.now()),u.push(h)}return Math.min(+s,Date.now()),{range:[c[0],Math.min(c[1],Date.now())],history:u}}function Gj(e){if(Ts(e))return`${e.entity}::${e.attribute}`;if(As(e))return`${e.entity}::statistics::${e.statistic}::${e.period}`;if(_c(e))return e.entity;throw new Error(`Entity malformed:${JSON.stringify(e)}`)}var Ip=class{constructor(){this.ranges={};this.histories={};this.busy=Promise.resolve()}clearCache(){this.ranges={},this.histories={}}getHistory(t){let r=Gj(t);return this.histories[r]||[]}async update(t,r,a,n,i,o){return this.busy=this.busy.catch(()=>{}).then(async()=>{r&&this.removeOutsideRange(t);let s=a.flatMap(async l=>{var d,h,p,g;let u=Gj(l);(h=(d=this.ranges)[u])!=null||(d[u]=[]);let c=wx([t],this.ranges[u]);for(let m of c){let b=await Wpe(n,l,m,i,o);if(b===null)continue;let _=(g=(p=this.histories)[u])!=null?g:p[u]=[];_.push(...b.history),_.sort((x,A)=>x.last_updated-A.last_updated),_=_.filter((x,A)=>A==0||A==_.length-1||!x.duplicate_datapoint),_=_.filter((x,A)=>{var w;return _[A].last_updated!==((w=_[A+1])==null?void 0:w.last_updated)}),this.histories[u]=_,this.ranges[u].push(b.range),this.ranges[u]=Oj(this.ranges[u])}});await Promise.all(s)})}removeOutsideRange(t){this.ranges=Uj(this.ranges,n=>wx(n,[[Number.NEGATIVE_INFINITY,t[0]-1],[t[1]+1,Number.POSITIVE_INFINITY]]));let r,a;this.histories=Uj(this.histories,n=>{let i=n.filter(o=>{if(o.last_updated<=t[0])r=o;else if(!a&&o.last_updated>=t[1])a=o;else return!0;return!1});return r&&(r.last_updated=t[0],i.unshift(r)),a&&(a.last_updated=t[1],i.push(a)),i})}};var Wj=dm(Mm()),sr={side:"right",overlaying:"y",showgrid:!1,visible:!1},Vpe={height:285,dragmode:"pan",xaxis:{},yaxis:{},yaxis2:{side:"right",showgrid:!1,overlaying:"y"},yaxis3:{...sr},yaxis4:{...sr},yaxis5:{...sr},yaxis6:{...sr},yaxis7:{...sr},yaxis8:{...sr},yaxis9:{...sr},yaxis10:{...sr},yaxis11:{...sr},yaxis12:{...sr},yaxis13:{...sr},yaxis14:{...sr},yaxis15:{...sr},yaxis16:{...sr},yaxis17:{...sr},yaxis18:{...sr},yaxis19:{...sr},yaxis20:{...sr},yaxis21:{...sr},yaxis22:{...sr},yaxis23:{...sr},yaxis24:{...sr},yaxis25:{...sr},yaxis26:{...sr},yaxis27:{...sr},yaxis28:{...sr},yaxis29:{...sr},yaxis30:{...sr},margin:{b:50,t:0,l:60,r:60},legend:{orientation:"h",bgcolor:"transparent",x:0,y:1,yanchor:"bottom"},title:{y:1,pad:{t:15}},modebar:{orientation:"v"}},$t={tickcolor:"rgba(127,127,127,.3)",gridcolor:"rgba(127,127,127,.3)",linecolor:"rgba(127,127,127,.3)",zerolinecolor:"rgba(127,127,127,.3)"};function Tx(e,t,r){let a={paper_bgcolor:e["--card-background-color"],plot_bgcolor:e["--card-background-color"],font:{color:e["--secondary-text-color"],size:11},xaxis:{...$t},yaxis:{...$t},yaxis2:{...$t},yaxis3:{...$t},yaxis4:{...$t},yaxis5:{...$t},yaxis6:{...$t},yaxis7:{...$t},yaxis8:{...$t},yaxis9:{...$t},yaxis10:{...$t},yaxis11:{...$t},yaxis12:{...$t},yaxis13:{...$t},yaxis14:{...$t},yaxis15:{...$t},yaxis16:{...$t},yaxis17:{...$t},yaxis18:{...$t},yaxis19:{...$t},yaxis20:{...$t},yaxis21:{...$t},yaxis22:{...$t},yaxis23:{...$t},yaxis24:{...$t},yaxis25:{...$t},yaxis26:{...$t},yaxis27:{...$t},yaxis28:{...$t},yaxis29:{...$t},yaxis30:{...$t}};return(0,Wj.default)({legend:{traceorder:"normal"}},t?{}:a,r?{}:Vpe)}var Vj=!0;var Ax=e=>new Promise(t=>setTimeout(t,e));var Ype={accent:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"],category10:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],category20:["#1f77b4","#aec7e8","#ff7f0e","#ffbb78","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5","#8c564b","#c49c94","#e377c2","#f7b6d2","#7f7f7f","#c7c7c7","#bcbd22","#dbdb8d","#17becf","#9edae5"],category20b:["#393b79","#5254a3","#6b6ecf","#9c9ede","#637939","#8ca252","#b5cf6b","#cedb9c","#8c6d31","#bd9e39","#e7ba52","#e7cb94","#843c39","#ad494a","#d6616b","#e7969c","#7b4173","#a55194","#ce6dbd","#de9ed6"],category20c:["#3182bd","#6baed6","#9ecae1","#c6dbef","#e6550d","#fd8d3c","#fdae6b","#fdd0a2","#31a354","#74c476","#a1d99b","#c7e9c0","#756bb1","#9e9ac8","#bcbddc","#dadaeb","#636363","#969696","#bdbdbd","#d9d9d9"],dark2:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"],paired:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99","#b15928"],pastel1:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec","#f2f2f2"],pastel2:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"],set1:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf","#999999"],set2:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"],set3:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"],tableau10:["#4c78a8","#f58518","#e45756","#72b7b2","#54a24b","#eeca3b","#b279a2","#ff9da6","#9d755d","#bab0ac"],tableau20:["#4c78a8","#9ecae9","#f58518","#ffbf79","#54a24b","#88d27a","#b79a20","#f2cf5b","#439894","#83bcb6","#e45756","#ff9d98","#79706e","#bab0ac","#d67195","#fcbfd2","#b279a2","#d6a5c9","#9e765f","#d8b5a5"],retro_metro:["#ea5545","#f46a9b","#ef9b20","#edbf33","#ede15b","#bdcf32","#87bc45","#27aeef","#b33dc6"],dutch_field:["#e60049","#0bb4ff","#50e991","#e6d800","#9b19f5","#ffa300","#dc0ab4","#b3d4ff","#00bfa0"],river_nights:["#b30000","#7c1158","#4421af","#1a53ff","#0d88e6","#00b7c7","#5ad45a","#8be04e","#ebdc78"],spring_pastels:["#fd7f6f","#7eb0d5","#b2e061","#bd7ebe","#ffb55a","#ffee65","#beb9db","#fdcce5","#8bd3c7"],blue_to_yellow:["#115f9a","#1984c5","#22a7f0","#48b5c4","#76c68f","#a6d75b","#c9e52f","#d0ee11","#d0f400"],grey_to_red:["#d7e1ee","#cbd6e4","#bfcbdb","#b3bfd1","#a4a2a8","#df8879","#c86558","#b04238","#991f17"],black_to_pink:["#2e2b28","#3b3734","#474440","#54504c","#6b506b","#ab3da9","#de25da","#eb44e8","#ff80ff"],blue_to_red:["#1984c5","#22a7f0","#63bff0","#a7d5ed","#e2e2e2","#e1a692","#de6e56","#e14b31","#c23728"],orange_to_purple:["#ffb400","#d2980d","#a57c1b","#786028","#363445","#48446e","#5e569b","#776bcd","#9080ff"],pink_foam:["#54bebe","#76c8c8","#98d1d1","#badbdb","#dedad2","#e4bcad","#df979e","#d7658b","#c80064"],salmon_to_aqua:["#e27c7c","#a86464","#6d4b4b","#503f3f","#333333","#3c4e4b","#466964","#599e94","#6cd4c5"]};function Yj(e){return Array.isArray(e)}var wc=Ype;function kx(e){if(e===null||e===!0||e===!1)return NaN;var t=Number(e);return isNaN(t)?t:t<0?Math.ceil(t):Math.floor(t)}function Mx(e,t){if(t.length1?"s":"")+" required, but only "+t.length+" present")}var Zpe=Math.pow(10,8)*24*60*60*1e3,Sx=6e4,Cx=36e5;var sTe=-Zpe;function Ep(e,t){Mx(1,arguments);var r=t||{},a=r.additionalDigits==null?2:kx(r.additionalDigits);if(a!==2&&a!==1&&a!==0)throw new RangeError("additionalDigits must be 0, 1 or 2");if(!(typeof e=="string"||Object.prototype.toString.call(e)==="[object String]"))return new Date(NaN);var n=Kpe(e),i;if(n.date){var o=Jpe(n.date,a);i=eme(o.restDateString,o.year)}if(!i||isNaN(i.getTime()))return new Date(NaN);var s=i.getTime(),l=0,u;if(n.time&&(l=tme(n.time),isNaN(l)))return new Date(NaN);if(n.timezone){if(u=rme(n.timezone),isNaN(u))return new Date(NaN)}else{var c=new Date(s+l),d=new Date(0);return d.setFullYear(c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate()),d.setHours(c.getUTCHours(),c.getUTCMinutes(),c.getUTCSeconds(),c.getUTCMilliseconds()),d}return new Date(s+l+u)}var zp={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},Xpe=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,Qpe=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,$pe=/^([+-])(\d{2})(?::?(\d{2}))?$/;function Kpe(e){var t={},r=e.split(zp.dateTimeDelimiter),a;if(r.length>2)return t;if(/:/.test(r[0])?a=r[0]:(t.date=r[0],a=r[1],zp.timeZoneDelimiter.test(t.date)&&(t.date=e.split(zp.timeZoneDelimiter)[0],a=e.substr(t.date.length,e.length))),a){var n=zp.timezone.exec(a);n?(t.time=a.replace(n[1],""),t.timezone=n[1]):t.time=a}return t}function Jpe(e,t){var r=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+t)+"})|(\\d{2}|[+-]\\d{"+(2+t)+"})$)"),a=e.match(r);if(!a)return{year:NaN,restDateString:""};var n=a[1]?parseInt(a[1]):null,i=a[2]?parseInt(a[2]):null;return{year:i===null?n:i*100,restDateString:e.slice((a[1]||a[2]).length)}}function eme(e,t){if(t===null)return new Date(NaN);var r=e.match(Xpe);if(!r)return new Date(NaN);var a=!!r[4],n=Tc(r[1]),i=Tc(r[2])-1,o=Tc(r[3]),s=Tc(r[4]),l=Tc(r[5])-1;if(a)return sme(t,s,l)?ame(t,s,l):new Date(NaN);var u=new Date(0);return!ime(t,i,o)||!ome(t,n)?new Date(NaN):(u.setUTCFullYear(t,i,Math.max(n,o)),u)}function Tc(e){return e?parseInt(e):1}function tme(e){var t=e.match(Qpe);if(!t)return NaN;var r=Lx(t[1]),a=Lx(t[2]),n=Lx(t[3]);return lme(r,a,n)?r*Cx+a*Sx+n*1e3:NaN}function Lx(e){return e&&parseFloat(e.replace(",","."))||0}function rme(e){if(e==="Z")return 0;var t=e.match($pe);if(!t)return 0;var r=t[1]==="+"?-1:1,a=parseInt(t[2]),n=t[3]&&parseInt(t[3])||0;return ume(a,n)?r*(a*Cx+n*Sx):NaN}function ame(e,t,r){var a=new Date(0);a.setUTCFullYear(e,0,4);var n=a.getUTCDay()||7,i=(t-1)*7+r+1-n;return a.setUTCDate(a.getUTCDate()+i),a}var nme=[31,null,31,30,31,30,31,31,30,31,30,31];function Zj(e){return e%400==0||e%4==0&&e%100!=0}function ime(e,t,r){return t>=0&&t<=11&&r>=1&&r<=(nme[t]||(Zj(e)?29:28))}function ome(e,t){return t>=1&&t<=(Zj(e)?366:365)}function sme(e,t,r){return t>=1&&t<=53&&r>=0&&r<=6}function lme(e,t,r){return e===24?t===0&&r===0:r>=0&&r<60&&t>=0&&t<60&&e>=0&&e<25}function ume(e,t){return t>=0&&t<=59}var Xj=["state","sum","min","max","mean"],Qj=["5minute","hour","day","week","month"];var qx=Vj?"plotly-graph":"plotly-graph-dev";console.info(`%c ${qx.toUpperCase()} %c ${kM} production`,"color: orange; font-weight: bold; background: black","color: white; font-weight: bold; background: dimgray");var Dx=1,Kj=class extends HTMLElement{constructor(){super(...arguments);this.cache=new Ip;this.size={};this.isBrowsing=!1;this.isInternalRelayout=0;this.handles={};this.exitBrowsingMode=async()=>{this.isBrowsing=!1,this.buttonEl.classList.add("hidden"),this.withoutRelayout(async()=>{await au.relayout(this.contentEl,{uirevision:Math.random()}),await au.restyle(this.contentEl,{visible:!0})}),await this.fetch(this.getAutoFetchRange())};this.onRestyle=async()=>{this.isInternalRelayout||(this.enterBrowsingMode(),await this.fetch(this.getVisibleRange()))};this.onRelayout=async()=>{this.isInternalRelayout||(this.enterBrowsingMode(),await this.fetch(this.getVisibleRange()))};this.fetch=async t=>{for(let a of this.config.entities)if(a.autoPeriod&&As(a)&&a.autoPeriod){let n=(t[1]-t[0])/1e3/60,i=100,o="5minute",s=[["hour",60],["day",60*24],["month",60*24*30]];for(let[l,u]of s)n/u>i&&(o=l);a.period=o,this.config.layout=(0,Vt.default)(this.config.layout,{xaxis:{title:`Period: ${o}`}})}let r=this.config.entities.filter((a,n)=>{var i;return((i=this.contentEl.data[n])==null?void 0:i.visible)!=="legendonly"});for(;!this.hass;)await Ax(100);try{await this.cache.update(t,!this.isBrowsing,r,this.hass,this.config.minimal_response,this.config.significant_changes_only),this.msgEl.innerText=""}catch(a){console.error(a),this.msgEl.innerText=JSON.stringify(a.message||"")}await this.plot()}}disconnectedCallback(){this.handles.resizeObserver.disconnect(),this.handles.relayoutListener.off("plotly_relayout",this.onRelayout),this.handles.restyleListener.off("plotly_restyle",this.onRestyle),clearTimeout(this.handles.refreshTimeout)}connectedCallback(){if(!this.contentEl){let t=this.attachShadow({mode:"open"});t.innerHTML=` + ${t}`},ZM=UQ;window.global=window;var gO=N9();gO.register([Kj(),iO(),fO(),hO(),mO()]);var hu=gO;function Pc(e){return!(Ps(e)||Rs(e))}function Ps(e){return"attribute"in e}function Rs(e){return"period"in e}var xme=([e,t],[r,a])=>{if(te.flatMap(r=>xme(r,t)),Ux=(e,t)=>t.reduce((r,a)=>_me(r,a),e),yO=e=>e.slice().sort((t,r)=>t[0]-r[0]).reduce((t,r)=>{if(t.length===0)return[r];let a=t[t.length-1];if(a[1]+1>=r[0]){let n=[a[0],r[1]];return[...t.slice(0,-1),n]}return[...t,r]},[]);async function wme(e,t,[r,a]){let n=null;try{n=(await e.callWS({type:"recorder/statistics_during_period",start_time:r.toISOString(),end_time:a.toISOString(),statistic_ids:[t.entity],period:t.period}))[t.entity]}catch(i){throw console.error(i),new Error(`Error fetching statistics of ${t.entity}: ${JSON.stringify(i.message||"")}`)}return n||(n=[]),{range:[+r,+a],history:n.map(i=>{var o;return{entity_id:i.statistic_id,last_updated:+new Date(i.start),last_changed:+new Date(i.start),state:(o=i[t.statistic])!=null?o:"",statistics:i,attributes:{}}})}}var bO=wme;async function Tme(e,t,[r,a],n,i){let o=i&&Pc(t)?"minimal_response&":"",s=n&&Pc(t)?"1":"0",l=`history/period/${r.toISOString()}?filter_entity_id=${t.entity}&significant_changes_only=${s}&`+o+`end_time=${a.toISOString()}`,u;try{u=(await e.callApi("GET",l)||[])[0]}catch(c){throw console.error(c),new Error(`Error fetching states of ${t.entity}: ${JSON.stringify(c.message||"")}`)}return u||(u=[]),{range:[+r,+a],history:u.map(c=>({...c,state:Ps(t)?c.attributes[t.attribute]:c.state,last_updated:+new Date(c.last_updated||c.last_changed)})).filter(({last_updated:c})=>c)}}var xO=Tme;function _O(e,t){return Object.fromEntries(Object.entries(e).map(([r,a])=>[r,t(a,r)]))}async function Ame(e,t,[r,a],n,i){let o=new Date(r),s=new Date(a),l;Rs(t)?l=await bO(e,t,[o,s]):l=await xO(e,t,[o,s],n,i);let{history:u,range:c}=l;if(u.length){let d=u[u.length-1],h=JSON.parse(JSON.stringify(d));u[0].duplicate_datapoint=!0,h.duplicate_datapoint=!0,h.last_updated=Math.min(+s,Date.now()),u.push(h)}return Math.min(+s,Date.now()),{range:[c[0],Math.min(c[1],Date.now())],history:u}}function wO(e){if(Ps(e))return`${e.entity}::${e.attribute}`;if(Rs(e))return`${e.entity}::statistics::${e.statistic}::${e.period}`;if(Pc(e))return e.entity;throw new Error(`Entity malformed:${JSON.stringify(e)}`)}var Yp=class{constructor(){this.ranges={};this.histories={};this.busy=Promise.resolve()}clearCache(){this.ranges={},this.histories={}}getHistory(t){let r=wO(t);return this.histories[r]||[]}async update(t,r,a,n,i,o){return this.busy=this.busy.catch(()=>{}).then(async()=>{r&&this.removeOutsideRange(t);let s=a.flatMap(async l=>{var d,h,p,g;let u=wO(l);(h=(d=this.ranges)[u])!=null||(d[u]=[]);let c=Ux([t],this.ranges[u]);for(let m of c){let b=await Ame(n,l,m,i,o);if(b===null)continue;let x=(g=(p=this.histories)[u])!=null?g:p[u]=[];x.push(...b.history),x.sort((_,k)=>_.last_updated-k.last_updated),x=x.filter((_,k)=>k==0||k==x.length-1||!_.duplicate_datapoint),x=x.filter((_,k)=>{var w;return x[k].last_updated!==((w=x[k+1])==null?void 0:w.last_updated)}),this.histories[u]=x,this.ranges[u].push(b.range),this.ranges[u]=yO(this.ranges[u])}});await Promise.all(s)})}removeOutsideRange(t){this.ranges=_O(this.ranges,n=>Ux(n,[[Number.NEGATIVE_INFINITY,t[0]-1],[t[1]+1,Number.POSITIVE_INFINITY]]));let r,a;this.histories=_O(this.histories,n=>{let i=n.filter(o=>{if(o.last_updated<=t[0])r=o;else if(!a&&o.last_updated>=t[1])a=o;else return!0;return!1});return r&&(r.last_updated=t[0],i.unshift(r)),a&&(a.last_updated=t[1],i.push(a)),i})}};var TO=Mm(Om()),ur={side:"right",overlaying:"y",showgrid:!1,visible:!1},kme={height:285,dragmode:"pan",xaxis:{},yaxis:{},yaxis2:{side:"right",showgrid:!1,overlaying:"y"},yaxis3:{...ur},yaxis4:{...ur},yaxis5:{...ur},yaxis6:{...ur},yaxis7:{...ur},yaxis8:{...ur},yaxis9:{...ur},yaxis10:{...ur},yaxis11:{...ur},yaxis12:{...ur},yaxis13:{...ur},yaxis14:{...ur},yaxis15:{...ur},yaxis16:{...ur},yaxis17:{...ur},yaxis18:{...ur},yaxis19:{...ur},yaxis20:{...ur},yaxis21:{...ur},yaxis22:{...ur},yaxis23:{...ur},yaxis24:{...ur},yaxis25:{...ur},yaxis26:{...ur},yaxis27:{...ur},yaxis28:{...ur},yaxis29:{...ur},yaxis30:{...ur},margin:{b:50,t:0,l:60,r:60},legend:{orientation:"h",bgcolor:"transparent",x:0,y:1,yanchor:"bottom"},title:{y:1,pad:{t:15}},modebar:{orientation:"v"}},er={tickcolor:"rgba(127,127,127,.3)",gridcolor:"rgba(127,127,127,.3)",linecolor:"rgba(127,127,127,.3)",zerolinecolor:"rgba(127,127,127,.3)"};function Gx(e,t,r){let a={paper_bgcolor:e["--card-background-color"],plot_bgcolor:e["--card-background-color"],font:{color:e["--secondary-text-color"],size:11},xaxis:{...er},yaxis:{...er},yaxis2:{...er},yaxis3:{...er},yaxis4:{...er},yaxis5:{...er},yaxis6:{...er},yaxis7:{...er},yaxis8:{...er},yaxis9:{...er},yaxis10:{...er},yaxis11:{...er},yaxis12:{...er},yaxis13:{...er},yaxis14:{...er},yaxis15:{...er},yaxis16:{...er},yaxis17:{...er},yaxis18:{...er},yaxis19:{...er},yaxis20:{...er},yaxis21:{...er},yaxis22:{...er},yaxis23:{...er},yaxis24:{...er},yaxis25:{...er},yaxis26:{...er},yaxis27:{...er},yaxis28:{...er},yaxis29:{...er},yaxis30:{...er}};return(0,TO.default)({legend:{traceorder:"normal"}},t?{}:a,r?{}:kme)}var AO=!0;var Wx=e=>new Promise(t=>setTimeout(t,e));var Mme={accent:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"],category10:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],category20:["#1f77b4","#aec7e8","#ff7f0e","#ffbb78","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5","#8c564b","#c49c94","#e377c2","#f7b6d2","#7f7f7f","#c7c7c7","#bcbd22","#dbdb8d","#17becf","#9edae5"],category20b:["#393b79","#5254a3","#6b6ecf","#9c9ede","#637939","#8ca252","#b5cf6b","#cedb9c","#8c6d31","#bd9e39","#e7ba52","#e7cb94","#843c39","#ad494a","#d6616b","#e7969c","#7b4173","#a55194","#ce6dbd","#de9ed6"],category20c:["#3182bd","#6baed6","#9ecae1","#c6dbef","#e6550d","#fd8d3c","#fdae6b","#fdd0a2","#31a354","#74c476","#a1d99b","#c7e9c0","#756bb1","#9e9ac8","#bcbddc","#dadaeb","#636363","#969696","#bdbdbd","#d9d9d9"],dark2:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"],paired:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99","#b15928"],pastel1:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec","#f2f2f2"],pastel2:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"],set1:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf","#999999"],set2:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"],set3:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"],tableau10:["#4c78a8","#f58518","#e45756","#72b7b2","#54a24b","#eeca3b","#b279a2","#ff9da6","#9d755d","#bab0ac"],tableau20:["#4c78a8","#9ecae9","#f58518","#ffbf79","#54a24b","#88d27a","#b79a20","#f2cf5b","#439894","#83bcb6","#e45756","#ff9d98","#79706e","#bab0ac","#d67195","#fcbfd2","#b279a2","#d6a5c9","#9e765f","#d8b5a5"],retro_metro:["#ea5545","#f46a9b","#ef9b20","#edbf33","#ede15b","#bdcf32","#87bc45","#27aeef","#b33dc6"],dutch_field:["#e60049","#0bb4ff","#50e991","#e6d800","#9b19f5","#ffa300","#dc0ab4","#b3d4ff","#00bfa0"],river_nights:["#b30000","#7c1158","#4421af","#1a53ff","#0d88e6","#00b7c7","#5ad45a","#8be04e","#ebdc78"],spring_pastels:["#fd7f6f","#7eb0d5","#b2e061","#bd7ebe","#ffb55a","#ffee65","#beb9db","#fdcce5","#8bd3c7"],blue_to_yellow:["#115f9a","#1984c5","#22a7f0","#48b5c4","#76c68f","#a6d75b","#c9e52f","#d0ee11","#d0f400"],grey_to_red:["#d7e1ee","#cbd6e4","#bfcbdb","#b3bfd1","#a4a2a8","#df8879","#c86558","#b04238","#991f17"],black_to_pink:["#2e2b28","#3b3734","#474440","#54504c","#6b506b","#ab3da9","#de25da","#eb44e8","#ff80ff"],blue_to_red:["#1984c5","#22a7f0","#63bff0","#a7d5ed","#e2e2e2","#e1a692","#de6e56","#e14b31","#c23728"],orange_to_purple:["#ffb400","#d2980d","#a57c1b","#786028","#363445","#48446e","#5e569b","#776bcd","#9080ff"],pink_foam:["#54bebe","#76c8c8","#98d1d1","#badbdb","#dedad2","#e4bcad","#df979e","#d7658b","#c80064"],salmon_to_aqua:["#e27c7c","#a86464","#6d4b4b","#503f3f","#333333","#3c4e4b","#466964","#599e94","#6cd4c5"]};function kO(e){return Array.isArray(e)}var Rc=Mme;function Vx(e){if(e===null||e===!0||e===!1)return NaN;var t=Number(e);return isNaN(t)?t:t<0?Math.ceil(t):Math.floor(t)}function Yx(e,t){if(t.length1?"s":"")+" required, but only "+t.length+" present")}var Sme=Math.pow(10,8)*24*60*60*1e3,Zx=6e4,Xx=36e5;var HTe=-Sme;function Zp(e,t){Yx(1,arguments);var r=t||{},a=r.additionalDigits==null?2:Vx(r.additionalDigits);if(a!==2&&a!==1&&a!==0)throw new RangeError("additionalDigits must be 0, 1 or 2");if(!(typeof e=="string"||Object.prototype.toString.call(e)==="[object String]"))return new Date(NaN);var n=Dme(e),i;if(n.date){var o=Pme(n.date,a);i=Rme(o.restDateString,o.year)}if(!i||isNaN(i.getTime()))return new Date(NaN);var s=i.getTime(),l=0,u;if(n.time&&(l=Eme(n.time),isNaN(l)))return new Date(NaN);if(n.timezone){if(u=Ime(n.timezone),isNaN(u))return new Date(NaN)}else{var c=new Date(s+l),d=new Date(0);return d.setFullYear(c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate()),d.setHours(c.getUTCHours(),c.getUTCMinutes(),c.getUTCSeconds(),c.getUTCMilliseconds()),d}return new Date(s+l+u)}var Xp={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},Cme=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,Lme=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,qme=/^([+-])(\d{2})(?::?(\d{2}))?$/;function Dme(e){var t={},r=e.split(Xp.dateTimeDelimiter),a;if(r.length>2)return t;if(/:/.test(r[0])?a=r[0]:(t.date=r[0],a=r[1],Xp.timeZoneDelimiter.test(t.date)&&(t.date=e.split(Xp.timeZoneDelimiter)[0],a=e.substr(t.date.length,e.length))),a){var n=Xp.timezone.exec(a);n?(t.time=a.replace(n[1],""),t.timezone=n[1]):t.time=a}return t}function Pme(e,t){var r=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+t)+"})|(\\d{2}|[+-]\\d{"+(2+t)+"})$)"),a=e.match(r);if(!a)return{year:NaN,restDateString:""};var n=a[1]?parseInt(a[1]):null,i=a[2]?parseInt(a[2]):null;return{year:i===null?n:i*100,restDateString:e.slice((a[1]||a[2]).length)}}function Rme(e,t){if(t===null)return new Date(NaN);var r=e.match(Cme);if(!r)return new Date(NaN);var a=!!r[4],n=Ec(r[1]),i=Ec(r[2])-1,o=Ec(r[3]),s=Ec(r[4]),l=Ec(r[5])-1;if(a)return Ome(t,s,l)?zme(t,s,l):new Date(NaN);var u=new Date(0);return!Fme(t,i,o)||!jme(t,n)?new Date(NaN):(u.setUTCFullYear(t,i,Math.max(n,o)),u)}function Ec(e){return e?parseInt(e):1}function Eme(e){var t=e.match(Lme);if(!t)return NaN;var r=$x(t[1]),a=$x(t[2]),n=$x(t[3]);return Hme(r,a,n)?r*Xx+a*Zx+n*1e3:NaN}function $x(e){return e&&parseFloat(e.replace(",","."))||0}function Ime(e){if(e==="Z")return 0;var t=e.match(qme);if(!t)return 0;var r=t[1]==="+"?-1:1,a=parseInt(t[2]),n=t[3]&&parseInt(t[3])||0;return Bme(a,n)?r*(a*Xx+n*Zx):NaN}function zme(e,t,r){var a=new Date(0);a.setUTCFullYear(e,0,4);var n=a.getUTCDay()||7,i=(t-1)*7+r+1-n;return a.setUTCDate(a.getUTCDate()+i),a}var Nme=[31,null,31,30,31,30,31,31,30,31,30,31];function MO(e){return e%400==0||e%4==0&&e%100!=0}function Fme(e,t,r){return t>=0&&t<=11&&r>=1&&r<=(Nme[t]||(MO(e)?29:28))}function jme(e,t){return t>=1&&t<=(MO(e)?366:365)}function Ome(e,t,r){return t>=1&&t<=53&&r>=0&&r<=6}function Hme(e,t,r){return e===24?t===0&&r===0:r>=0&&r<60&&t>=0&&t<60&&e>=0&&e<25}function Bme(e,t){return t>=0&&t<=59}var Ume={ms:1,s:1e3,m:1e3*60,h:1e3*60*60,d:1e3*60*60*24,w:1e3*60*60*24*7,M:1e3*60*60*24*30,y:1e3*60*60*24*365},$p=e=>{if(!e||e==="0"||!e.match)return 0;let t=e.match(/^(?[+-])?(?\d*(\.\d)?)(?(ms|s|m|h|d|w|M|y))$/);if(!t||!t.groups)throw new Error(`Cannot parse "${e}" as a duration`);let r=t.groups,a=r.sign==="-"?-1:1,n=parseFloat(r.number);if(Number.isNaN(n))throw new Error(`Cannot parse "${e}" as a duration`);let i=Ume[r.unit];if(i===void 0)throw new Error(`Cannot parse "${e}" as a duration`);return a*n*i};var SO=["state","sum","min","max","mean"],Qx=["5minute","hour","day","week","month"];function CO(e){if(!(typeof e=="object"&&e!==null&&!Array.isArray(e)))return!1;let r=Object.entries(e);return r.length===0?!1:r.every(([a,n])=>{if(!Qx.includes(n))return!1;try{$p(a)}catch(i){return!1}return!0})}var Kx=AO?"plotly-graph":"plotly-graph-dev";console.info(`%c ${Kx.toUpperCase()} %c ${YM} production`,"color: orange; font-weight: bold; background: black","color: white; font-weight: bold; background: dimgray");var Jx=1,qO=class extends HTMLElement{constructor(){super(...arguments);this.cache=new Yp;this.size={};this.isBrowsing=!1;this.isInternalRelayout=0;this.handles={};this.exitBrowsingMode=async()=>{this.isBrowsing=!1,this.buttonEl.classList.add("hidden"),this.withoutRelayout(async()=>{await hu.relayout(this.contentEl,{uirevision:Math.random()}),await hu.restyle(this.contentEl,{visible:!0})}),await this.fetch(this.getAutoFetchRange())};this.onRestyle=async()=>{this.isInternalRelayout||(this.enterBrowsingMode(),await this.fetch(this.getVisibleRange()))};this.onRelayout=async()=>{this.isInternalRelayout||(this.enterBrowsingMode(),await this.fetch(this.getVisibleRange()))};this.fetch=async t=>{for(let a of this.config.entities)if(a.autoPeriod&&Rs(a)&&a.autoPeriod){a.period="5minute";let n=t[1]-t[0],i=Object.entries(a.autoPeriod).map(([o,s])=>[$p(o),s]).sort(([o],[s])=>o-s);for(let[o,s]of i)n>o&&(a.period=s);this.config.layout=(0,Zt.default)(this.config.layout,{xaxis:{title:`Period: ${a.period}`}})}let r=this.config.entities.filter((a,n)=>{var i;return((i=this.contentEl.data[n])==null?void 0:i.visible)!=="legendonly"});for(;!this.hass;)await Wx(100);try{await this.cache.update(t,!this.isBrowsing,r,this.hass,this.config.minimal_response,this.config.significant_changes_only),this.msgEl.innerText=""}catch(a){console.error(a),this.msgEl.innerText=JSON.stringify(a.message||"")}await this.plot()}}disconnectedCallback(){this.handles.resizeObserver.disconnect(),this.handles.relayoutListener.off("plotly_relayout",this.onRelayout),this.handles.restyleListener.off("plotly_restyle",this.onRestyle),clearTimeout(this.handles.refreshTimeout)}connectedCallback(){if(!this.contentEl){let t=this.attachShadow({mode:"open"});t.innerHTML=`