!u.skip)),t.cubicInterpolationMode==="monotone")E8(e,i);else{let u=s?e[e.length-1]:e[0];for(o=0,r=e.length;oe.ownerDocument.defaultView.getComputedStyle(e,null);function A8(e,t){return Lu(e).getPropertyValue(t)}const T8=["top","right","bottom","left"];function Zi(e,t,n){const s={};n=n?"-"+n:"";for(let i=0;i<4;i++){const o=T8[i];s[o]=parseFloat(e[t+"-"+o+n])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}const D8=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function $8(e,t){const n=e.touches,s=n&&n.length?n[0]:e,{offsetX:i,offsetY:o}=s;let r=!1,a,l;if(D8(i,o,e.target))a=i,l=o;else{const u=t.getBoundingClientRect();a=s.clientX-u.left,l=s.clientY-u.top,r=!0}return{x:a,y:l,box:r}}function $i(e,t){if("native"in e)return e;const{canvas:n,currentDevicePixelRatio:s}=t,i=Lu(n),o=i.boxSizing==="border-box",r=Zi(i,"padding"),a=Zi(i,"border","width"),{x:l,y:u,box:c}=$8(e,n),d=r.left+(c&&a.left),h=r.top+(c&&a.top);let{width:p,height:y}=t;return o&&(p-=r.width+a.width,y-=r.height+a.height),{x:Math.round((l-d)/p*n.width/s),y:Math.round((u-h)/y*n.height/s)}}function B8(e,t,n){let s,i;if(t===void 0||n===void 0){const o=e&&Gh(e);if(!o)t=e.clientWidth,n=e.clientHeight;else{const r=o.getBoundingClientRect(),a=Lu(o),l=Zi(a,"border","width"),u=Zi(a,"padding");t=r.width-u.width-l.width,n=r.height-u.height-l.height,s=tu(a.maxWidth,o,"clientWidth"),i=tu(a.maxHeight,o,"clientHeight")}}return{width:t,height:n,maxWidth:s||Ml,maxHeight:i||Ml}}const Xs=e=>Math.round(e*10)/10;function P8(e,t,n,s){const i=Lu(e),o=Zi(i,"margin"),r=tu(i.maxWidth,e,"clientWidth")||Ml,a=tu(i.maxHeight,e,"clientHeight")||Ml,l=B8(e,t,n);let{width:u,height:c}=l;if(i.boxSizing==="content-box"){const d=Zi(i,"border","width"),h=Zi(i,"padding");u-=h.width+d.width,c-=h.height+d.height}return u=Math.max(0,u-o.width),c=Math.max(0,s?u/s:c-o.height),u=Xs(Math.min(u,r,l.maxWidth)),c=Xs(Math.min(c,a,l.maxHeight)),u&&!c&&(c=Xs(u/2)),(t!==void 0||n!==void 0)&&s&&l.height&&c>l.height&&(c=l.height,u=Xs(Math.floor(c*s))),{width:u,height:c}}function lg(e,t,n){const s=t||1,i=Xs(e.height*s),o=Xs(e.width*s);e.height=Xs(e.height),e.width=Xs(e.width);const r=e.canvas;return r.style&&(n||!r.style.height&&!r.style.width)&&(r.style.height=`${e.height}px`,r.style.width=`${e.width}px`),e.currentDevicePixelRatio!==s||r.height!==i||r.width!==o?(e.currentDevicePixelRatio=s,r.height=i,r.width=o,e.ctx.setTransform(s,0,0,s,0,0),!0):!1}const L8=(function(){let e=!1;try{const t={get passive(){return e=!0,!1}};qh()&&(window.addEventListener("test",null,t),window.removeEventListener("test",null,t))}catch{}return e})();function ug(e,t){const n=A8(e,t),s=n&&n.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function Bi(e,t,n,s){return{x:e.x+n*(t.x-e.x),y:e.y+n*(t.y-e.y)}}function I8(e,t,n,s){return{x:e.x+n*(t.x-e.x),y:s==="middle"?n<.5?e.y:t.y:s==="after"?n<1?e.y:t.y:n>0?t.y:e.y}}function O8(e,t,n,s){const i={x:e.cp2x,y:e.cp2y},o={x:t.cp1x,y:t.cp1y},r=Bi(e,i,n),a=Bi(i,o,n),l=Bi(o,t,n),u=Bi(r,a,n),c=Bi(a,l,n);return Bi(u,c,n)}const F8=function(e,t){return{x(n){return e+e+t-n},setWidth(n){t=n},textAlign(n){return n==="center"?n:n==="right"?"left":"right"},xPlus(n,s){return n-s},leftForLtr(n,s){return n-s}}},R8=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function Lo(e,t,n){return e?F8(t,n):R8()}function nb(e,t){let n,s;(t==="ltr"||t==="rtl")&&(n=e.canvas.style,s=[n.getPropertyValue("direction"),n.getPropertyPriority("direction")],n.setProperty("direction",t,"important"),e.prevTextDirection=s)}function sb(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",t[0],t[1]))}function ib(e){return e==="angle"?{between:sa,compare:I5,normalize:dn}:{between:Hi,compare:(t,n)=>t-n,normalize:t=>t}}function cg({start:e,end:t,count:n,loop:s,style:i}){return{start:e%n,end:t%n,loop:s&&(t-e+1)%n===0,style:i}}function V8(e,t,n){const{property:s,start:i,end:o}=n,{between:r,normalize:a}=ib(s),l=t.length;let{start:u,end:c,loop:d}=e,h,p;if(d){for(u+=l,c+=l,h=0,p=l;hl(i,A,x)&&a(i,A)!==0,I=()=>a(o,x)===0||l(o,A,x),B=()=>m||S(),R=()=>!m||I();for(let j=c,G=c;j<=d;++j)k=t[j%r],!k.skip&&(x=u(k[s]),x!==A&&(m=l(x,i,o),b===null&&B()&&(b=a(x,i)===0?j:G),b!==null&&R()&&(y.push(cg({start:b,end:j,loop:h,count:r,style:p})),b=null),G=j,A=x));return b!==null&&y.push(cg({start:b,end:d,loop:h,count:r,style:p})),y}function rb(e,t){const n=[],s=e.segments;for(let i=0;ii&&e[o%t].skip;)o--;return o%=t,{start:i,end:o}}function U8(e,t,n,s){const i=e.length,o=[];let r=t,a=e[t],l;for(l=t+1;l<=n;++l){const u=e[l%i];u.skip||u.stop?a.skip||(s=!1,o.push({start:t%i,end:(l-1)%i,loop:s}),t=r=u.stop?l:null):(r=l,a.skip&&(t=l)),a=u}return r!==null&&o.push({start:t%i,end:r%i,loop:s}),o}function z8(e,t){const n=e.points,s=e.options.spanGaps,i=n.length;if(!i)return[];const o=!!e._loop,{start:r,end:a}=j8(n,i,o,s);if(s===!0)return dg(e,[{start:r,end:a,loop:o}],n,t);const l=aa({chart:t,initial:n.initial,numSteps:r,currentStep:Math.min(s-n.start,r)}))}_refresh(){this._request||(this._running=!0,this._request=qy.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let n=0;this._charts.forEach((s,i)=>{if(!s.running||!s.items.length)return;const o=s.items;let r=o.length-1,a=!1,l;for(;r>=0;--r)l=o[r],l._active?(l._total>s.duration&&(s.duration=l._total),l.tick(t),a=!0):(o[r]=o[o.length-1],o.pop());a&&(i.draw(),this._notify(i,s,t,"progress")),o.length||(s.running=!1,this._notify(i,s,t,"complete"),s.initial=!1),n+=o.length}),this._lastDate=t,n===0&&(this._running=!1)}_getAnims(t){const n=this._charts;let s=n.get(t);return s||(s={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},n.set(t,s)),s}listen(t,n,s){this._getAnims(t).listeners[n].push(s)}add(t,n){!n||!n.length||this._getAnims(t).items.push(...n)}has(t){return this._getAnims(t).items.length>0}start(t){const n=this._charts.get(t);n&&(n.running=!0,n.start=Date.now(),n.duration=n.items.reduce((s,i)=>Math.max(s,i._duration),0),this._refresh())}running(t){if(!this._running)return!1;const n=this._charts.get(t);return!(!n||!n.running||!n.items.length)}stop(t){const n=this._charts.get(t);if(!n||!n.items.length)return;const s=n.items;let i=s.length-1;for(;i>=0;--i)s[i].cancel();n.items=[],this._notify(t,n,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var _s=new J8;const pg="transparent",q8={boolean(e,t,n){return n>.5?t:e},color(e,t,n){const s=ng(e||pg),i=s.valid&&ng(t||pg);return i&&i.valid?i.mix(s,n).hexString():t},number(e,t,n){return e+(t-e)*n}};class G8{constructor(t,n,s,i){const o=n[s];i=Ha([t.to,i,o,t.from]);const r=Ha([t.from,o,i]);this._active=!0,this._fn=t.fn||q8[t.type||typeof r],this._easing=Ir[t.easing]||Ir.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=n,this._prop=s,this._from=r,this._to=i,this._promises=void 0}active(){return this._active}update(t,n,s){if(this._active){this._notify(!1);const i=this._target[this._prop],o=s-this._start,r=this._duration-o;this._start=s,this._duration=Math.floor(Math.max(r,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=Ha([t.to,n,i,t.from]),this._from=Ha([t.from,i,n])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const n=t-this._start,s=this._duration,i=this._prop,o=this._from,r=this._loop,a=this._to;let l;if(this._active=o!==a&&(r||n1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[i]=this._fn(o,a,l)}wait(){const t=this._promises||(this._promises=[]);return new Promise((n,s)=>{t.push({res:n,rej:s})})}_notify(t){const n=t?"res":"rej",s=this._promises||[];for(let i=0;i{const o=t[i];if(!Oe(o))return;const r={};for(const a of n)r[a]=o[a];(At(o.properties)&&o.properties||[i]).forEach(a=>{(a===i||!s.has(a))&&s.set(a,r)})})}_animateOptions(t,n){const s=n.options,i=Z8(t,s);if(!i)return[];const o=this._createAnimations(i,s);return s.$shared&&K8(t.options.$animations,s).then(()=>{t.options=s},()=>{}),o}_createAnimations(t,n){const s=this._properties,i=[],o=t.$animations||(t.$animations={}),r=Object.keys(n),a=Date.now();let l;for(l=r.length-1;l>=0;--l){const u=r[l];if(u.charAt(0)==="$")continue;if(u==="options"){i.push(...this._animateOptions(t,n));continue}const c=n[u];let d=o[u];const h=s.get(u);if(d)if(h&&d.active()){d.update(h,c,a);continue}else d.cancel();if(!h||!h.duration){t[u]=c;continue}o[u]=d=new G8(h,t,u,c),i.push(d)}return i}update(t,n){if(this._properties.size===0){Object.assign(t,n);return}const s=this._createAnimations(t,n);if(s.length)return _s.add(this._chart,s),!0}}function K8(e,t){const n=[],s=Object.keys(t);for(let i=0;i0||!n&&o<0)return i.index}return null}function vg(e,t){const{chart:n,_cachedMeta:s}=e,i=n._stacks||(n._stacks={}),{iScale:o,vScale:r,index:a}=s,l=o.axis,u=r.axis,c=M8(o,r,s),d=t.length;let h;for(let p=0;pn[s].axis===t).shift()}function nT(e,t){return uo(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function sT(e,t,n){return uo(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:"default",type:"data"})}function dr(e,t){const n=e.controller.index,s=e.vScale&&e.vScale.axis;if(s){t=t||e._parsed;for(const i of t){const o=i._stacks;if(!o||o[s]===void 0||o[s][n]===void 0)return;delete o[s][n],o[s]._visualValues!==void 0&&o[s]._visualValues[n]!==void 0&&delete o[s]._visualValues[n]}}}const Qc=e=>e==="reset"||e==="none",yg=(e,t)=>t?e:Object.assign({},e),iT=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:ub(n,!0),values:null};class Kh{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(t,n){this.chart=t,this._ctx=t.ctx,this.index=n,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Yc(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&dr(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,n=this._cachedMeta,s=this.getDataset(),i=(d,h,p,y)=>d==="x"?h:d==="r"?y:p,o=n.xAxisID=Pe(s.xAxisID,Xc(t,"x")),r=n.yAxisID=Pe(s.yAxisID,Xc(t,"y")),a=n.rAxisID=Pe(s.rAxisID,Xc(t,"r")),l=n.indexAxis,u=n.iAxisID=i(l,o,r,a),c=n.vAxisID=i(l,r,o,a);n.xScale=this.getScaleForId(o),n.yScale=this.getScaleForId(r),n.rScale=this.getScaleForId(a),n.iScale=this.getScaleForId(u),n.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const n=this._cachedMeta;return t===n.iScale?n.vScale:n.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Mf(this._data,this),t._stacked&&dr(t)}_dataCheck(){const t=this.getDataset(),n=t.data||(t.data=[]),s=this._data;if(Oe(n)){const i=this._cachedMeta;this._data=Q8(n,i)}else if(s!==n){if(s){Mf(s,this);const i=this._cachedMeta;dr(i),i._parsed=[]}n&&Object.isExtensible(n)&&V5(n,this),this._syncList=[],this._data=n}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const n=this._cachedMeta,s=this.getDataset();let i=!1;this._dataCheck();const o=n._stacked;n._stacked=Yc(n.vScale,n),n.stack!==s.stack&&(i=!0,dr(n),n.stack=s.stack),this._resyncElements(t),(i||o!==n._stacked)&&(vg(this,n._parsed),n._stacked=Yc(n.vScale,n))}configure(){const t=this.chart.config,n=t.datasetScopeKeys(this._type),s=t.getOptionScopes(this.getDataset(),n,!0);this.options=t.createResolver(s,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,n){const{_cachedMeta:s,_data:i}=this,{iScale:o,_stacked:r}=s,a=o.axis;let l=t===0&&n===i.length?!0:s._sorted,u=t>0&&s._parsed[t-1],c,d,h;if(this._parsing===!1)s._parsed=i,s._sorted=!0,h=i;else{At(i[t])?h=this.parseArrayData(s,i,t,n):Oe(i[t])?h=this.parseObjectData(s,i,t,n):h=this.parsePrimitiveData(s,i,t,n);const p=()=>d[a]===null||u&&d[a]m||d=0;--h)if(!y()){this.updateRangeFromParsed(u,t,p,l);break}}return u}getAllParsedValues(t){const n=this._cachedMeta._parsed,s=[];let i,o,r;for(i=0,o=n.length;i=0&&tthis.getContext(s,i,n),m=u.resolveNamedOptions(h,p,y,d);return m.$shared&&(m.$shared=l,o[r]=Object.freeze(yg(m,l))),m}_resolveAnimations(t,n,s){const i=this.chart,o=this._cachedDataOpts,r=`animation-${n}`,a=o[r];if(a)return a;let l;if(i.options.animation!==!1){const c=this.chart.config,d=c.datasetAnimationScopeKeys(this._type,n),h=c.getOptionScopes(this.getDataset(),d);l=c.createResolver(h,this.getContext(t,s,n))}const u=new lb(i,l&&l.animations);return l&&l._cacheable&&(o[r]=Object.freeze(u)),u}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,n){return!n||Qc(t)||this.chart._animationsDisabled}_getSharedOptions(t,n){const s=this.resolveDataElementOptions(t,n),i=this._sharedOptions,o=this.getSharedOptions(s),r=this.includeOptions(n,o)||o!==i;return this.updateSharedOptions(o,n,s),{sharedOptions:o,includeOptions:r}}updateElement(t,n,s,i){Qc(i)?Object.assign(t,s):this._resolveAnimations(n,i).update(t,s)}updateSharedOptions(t,n,s){t&&!Qc(n)&&this._resolveAnimations(void 0,n).update(t,s)}_setStyle(t,n,s,i){t.active=i;const o=this.getStyle(n,i);this._resolveAnimations(n,s,i).update(t,{options:!i&&this.getSharedOptions(o)||o})}removeHoverStyle(t,n,s){this._setStyle(t,s,"active",!1)}setHoverStyle(t,n,s){this._setStyle(t,s,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const n=this._data,s=this._cachedMeta.data;for(const[a,l,u]of this._syncList)this[a](l,u);this._syncList=[];const i=s.length,o=n.length,r=Math.min(o,i);r&&this.parse(0,r),o>i?this._insertElements(i,o-i,t):o{for(u.length+=n,a=u.length-1;a>=r;a--)u[a]=u[a-n]};for(l(o),a=t;asa(A,a,l,!0)?1:Math.max(S,S*n,I,I*n),y=(A,S,I)=>sa(A,a,l,!0)?-1:Math.min(S,S*n,I,I*n),m=p(0,u,d),b=p(wt,c,h),x=y(Ke,u,d),k=y(Ke+wt,c,h);s=(m-x)/2,i=(b-k)/2,o=-(m+x)/2,r=-(b+k)/2}return{ratioX:s,ratioY:i,offsetX:o,offsetY:r}}class rT extends Kh{static id="doughnut";static defaults={datasetElementType:!1,dataElementType:"arc",animation:{animateRotate:!0,animateScale:!1},animations:{numbers:{type:"number",properties:["circumference","endAngle","innerRadius","outerRadius","startAngle","x","y","offset","borderWidth","spacing"]}},cutout:"50%",rotation:0,circumference:360,radius:"100%",spacing:0,indexAxis:"r"};static descriptors={_scriptable:t=>t!=="spacing",_indexable:t=>t!=="spacing"&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const n=t.data,{labels:{pointStyle:s,textAlign:i,color:o,useBorderRadius:r,borderRadius:a}}=t.legend.options;return n.labels.length&&n.datasets.length?n.labels.map((l,u)=>{const c=t.getDatasetMeta(0).controller.getStyle(u);return{text:l,fillStyle:c.backgroundColor,fontColor:o,hidden:!t.getDataVisibility(u),lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:c.borderWidth,strokeStyle:c.borderColor,textAlign:i,pointStyle:s,borderRadius:r&&(a||c.borderRadius),index:u}}):[]}},onClick(t,n,s){s.chart.toggleDataVisibility(n.index),s.chart.update()}}}};constructor(t,n){super(t,n),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,n){const s=this.getDataset().data,i=this._cachedMeta;if(this._parsing===!1)i._parsed=s;else{let o=l=>+s[l];if(Oe(s[t])){const{key:l="value"}=this._parsing;o=u=>+ta(s[u],l)}let r,a;for(r=t,a=t+n;r0&&!isNaN(t)?it*(Math.abs(t)/n):0}getLabelAndValue(t){const n=this._cachedMeta,s=this.chart,i=s.data.labels||[],o=zh(n._parsed[t],s.options.locale);return{label:i[t]||"",value:o}}getMaxBorderWidth(t){let n=0;const s=this.chart;let i,o,r,a,l;if(!t){for(i=0,o=s.data.datasets.length;i0&&this.getParsed(n-1);for(let I=0;I=k){R.skip=!0;continue}const j=this.getParsed(I),G=Xe(j[p]),Z=R[h]=r.getPixelForValue(j[h],I),J=R[p]=o||G?a.getBasePixel():a.getPixelForValue(l?this.applyStack(a,j,l):j[p],I);R.skip=isNaN(Z)||isNaN(J)||G,R.stop=I>0&&Math.abs(j[h]-S[h])>b,m&&(R.parsed=j,R.raw=u.data[I]),d&&(R.options=c||this.resolveDataElementOptions(I,B.active?"active":i)),x||this.updateElement(B,I,R,i),S=j}}getMaxOverflow(){const t=this._cachedMeta,n=t.dataset,s=n.options&&n.options.borderWidth||0,i=t.data||[];if(!i.length)return s;const o=i[0].size(this.resolveDataElementOptions(0)),r=i[i.length-1].size(this.resolveDataElementOptions(i.length-1));return Math.max(s,o,r)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}function Ei(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class Zh{static override(t){Object.assign(Zh.prototype,t)}options;constructor(t){this.options=t||{}}init(){}formats(){return Ei()}parse(){return Ei()}format(){return Ei()}add(){return Ei()}diff(){return Ei()}startOf(){return Ei()}endOf(){return Ei()}}var aT={_date:Zh};function lT(e,t,n,s){const{controller:i,data:o,_sorted:r}=e,a=i._cachedMeta.iScale,l=e.dataset&&e.dataset.options?e.dataset.options.spanGaps:null;if(a&&t===a.axis&&t!=="r"&&r&&o.length){const u=a._reversePixels?F5:Ni;if(s){if(i._sharedOptions){const c=o[0],d=typeof c.getRange=="function"&&c.getRange(t);if(d){const h=u(o,t,n-d),p=u(o,t,n+d);return{lo:h.lo,hi:p.hi}}}}else{const c=u(o,t,n);if(l){const{vScale:d}=i._cachedMeta,{_parsed:h}=e,p=h.slice(0,c.lo+1).reverse().findIndex(m=>!Xe(m[d.axis]));c.lo-=Math.max(0,p);const y=h.slice(c.hi).findIndex(m=>!Xe(m[d.axis]));c.hi+=Math.max(0,y)}return c}}return{lo:0,hi:o.length-1}}function Ou(e,t,n,s,i){const o=e.getSortedVisibleDatasetMetas(),r=n[t];for(let a=0,l=o.length;a{l[r]&&l[r](t[n],i)&&(o.push({element:l,datasetIndex:u,index:c}),a=a||l.inRange(t.x,t.y,i))}),s&&!a?[]:o}var hT={modes:{index(e,t,n,s){const i=$i(t,e),o=n.axis||"x",r=n.includeInvisible||!1,a=n.intersect?Mc(e,i,o,s,r):ed(e,i,o,!1,s,r),l=[];return a.length?(e.getSortedVisibleDatasetMetas().forEach(u=>{const c=a[0].index,d=u.data[c];d&&!d.skip&&l.push({element:d,datasetIndex:u.index,index:c})}),l):[]},dataset(e,t,n,s){const i=$i(t,e),o=n.axis||"xy",r=n.includeInvisible||!1;let a=n.intersect?Mc(e,i,o,s,r):ed(e,i,o,!1,s,r);if(a.length>0){const l=a[0].datasetIndex,u=e.getDatasetMeta(l).data;a=[];for(let c=0;cn.pos===t)}function _g(e,t){return e.filter(n=>cb.indexOf(n.pos)===-1&&n.box.axis===t)}function pr(e,t){return e.sort((n,s)=>{const i=t?s:n,o=t?n:s;return i.weight===o.weight?i.index-o.index:i.weight-o.weight})}function pT(e){const t=[];let n,s,i,o,r,a;for(n=0,s=(e||[]).length;nu.box.fullSize),!0),s=pr(hr(t,"left"),!0),i=pr(hr(t,"right")),o=pr(hr(t,"top"),!0),r=pr(hr(t,"bottom")),a=_g(t,"x"),l=_g(t,"y");return{fullSize:n,leftAndTop:s.concat(o),rightAndBottom:i.concat(l).concat(r).concat(a),chartArea:hr(t,"chartArea"),vertical:s.concat(i).concat(l),horizontal:o.concat(r).concat(a)}}function wg(e,t,n,s){return Math.max(e[n],t[n])+Math.max(e[s],t[s])}function db(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function vT(e,t,n,s){const{pos:i,box:o}=n,r=e.maxPadding;if(!Oe(i)){n.size&&(e[i]-=n.size);const d=s[n.stack]||{size:0,count:1};d.size=Math.max(d.size,n.horizontal?o.height:o.width),n.size=d.size/d.count,e[i]+=n.size}o.getPadding&&db(r,o.getPadding());const a=Math.max(0,t.outerWidth-wg(r,e,"left","right")),l=Math.max(0,t.outerHeight-wg(r,e,"top","bottom")),u=a!==e.w,c=l!==e.h;return e.w=a,e.h=l,n.horizontal?{same:u,other:c}:{same:c,other:u}}function yT(e){const t=e.maxPadding;function n(s){const i=Math.max(t[s]-e[s],0);return e[s]+=i,i}e.y+=n("top"),e.x+=n("left"),n("right"),n("bottom")}function bT(e,t){const n=t.maxPadding;function s(i){const o={left:0,top:0,right:0,bottom:0};return i.forEach(r=>{o[r]=Math.max(t[r],n[r])}),o}return s(e?["left","right"]:["top","bottom"])}function _r(e,t,n,s){const i=[];let o,r,a,l,u,c;for(o=0,r=e.length,u=0;o{typeof m.beforeLayout=="function"&&m.beforeLayout()});const c=l.reduce((m,b)=>b.box.options&&b.box.options.display===!1?m:m+1,0)||1,d=Object.freeze({outerWidth:t,outerHeight:n,padding:i,availableWidth:o,availableHeight:r,vBoxMaxWidth:o/2/c,hBoxMaxHeight:r/2}),h=Object.assign({},i);db(h,zn(s));const p=Object.assign({maxPadding:h,w:o,h:r,x:i.left,y:i.top},i),y=gT(l.concat(u),d);_r(a.fullSize,p,d,y),_r(l,p,d,y),_r(u,p,d,y)&&_r(l,p,d,y),yT(p),xg(a.leftAndTop,p,d,y),p.x+=p.w,p.y+=p.h,xg(a.rightAndBottom,p,d,y),e.chartArea={left:p.left,top:p.top,right:p.left+p.w,bottom:p.top+p.h,height:p.h,width:p.w},Je(a.chartArea,m=>{const b=m.box;Object.assign(b,e.chartArea),b.update(p.w,p.h,{left:0,top:0,right:0,bottom:0})})}};class hb{acquireContext(t,n){}releaseContext(t){return!1}addEventListener(t,n,s){}removeEventListener(t,n,s){}getDevicePixelRatio(){return 1}getMaximumSize(t,n,s,i){return n=Math.max(0,n||t.width),s=s||t.height,{width:n,height:Math.max(0,i?Math.floor(n/i):s)}}isAttached(t){return!0}updateConfig(t){}}class _T extends hb{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const pl="$chartjs",wT={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},Cg=e=>e===null||e==="";function xT(e,t){const n=e.style,s=e.getAttribute("height"),i=e.getAttribute("width");if(e[pl]={initial:{height:s,width:i,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",Cg(i)){const o=ug(e,"width");o!==void 0&&(e.width=o)}if(Cg(s))if(e.style.height==="")e.height=e.width/(t||2);else{const o=ug(e,"height");o!==void 0&&(e.height=o)}return e}const pb=L8?{passive:!0}:!1;function CT(e,t,n){e&&e.addEventListener(t,n,pb)}function ET(e,t,n){e&&e.canvas&&e.canvas.removeEventListener(t,n,pb)}function kT(e,t){const n=wT[e.type]||e.type,{x:s,y:i}=$i(e,t);return{type:n,chart:t,native:e,x:s!==void 0?s:null,y:i!==void 0?i:null}}function nu(e,t){for(const n of e)if(n===t||n.contains(t))return!0}function ST(e,t,n){const s=e.canvas,i=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||nu(a.addedNodes,s),r=r&&!nu(a.removedNodes,s);r&&n()});return i.observe(document,{childList:!0,subtree:!0}),i}function AT(e,t,n){const s=e.canvas,i=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||nu(a.removedNodes,s),r=r&&!nu(a.addedNodes,s);r&&n()});return i.observe(document,{childList:!0,subtree:!0}),i}const oa=new Map;let Eg=0;function fb(){const e=window.devicePixelRatio;e!==Eg&&(Eg=e,oa.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function TT(e,t){oa.size||window.addEventListener("resize",fb),oa.set(e,t)}function DT(e){oa.delete(e),oa.size||window.removeEventListener("resize",fb)}function $T(e,t,n){const s=e.canvas,i=s&&Gh(s);if(!i)return;const o=Gy((a,l)=>{const u=i.clientWidth;n(a,l),u{const l=a[0],u=l.contentRect.width,c=l.contentRect.height;u===0&&c===0||o(u,c)});return r.observe(i),TT(e,o),r}function td(e,t,n){n&&n.disconnect(),t==="resize"&&DT(e)}function BT(e,t,n){const s=e.canvas,i=Gy(o=>{e.ctx!==null&&n(kT(o,e))},e);return CT(s,t,i),i}class PT extends hb{acquireContext(t,n){const s=t&&t.getContext&&t.getContext("2d");return s&&s.canvas===t?(xT(t,n),s):null}releaseContext(t){const n=t.canvas;if(!n[pl])return!1;const s=n[pl].initial;["height","width"].forEach(o=>{const r=s[o];Xe(r)?n.removeAttribute(o):n.setAttribute(o,r)});const i=s.style||{};return Object.keys(i).forEach(o=>{n.style[o]=i[o]}),n.width=n.width,delete n[pl],!0}addEventListener(t,n,s){this.removeEventListener(t,n);const i=t.$proxies||(t.$proxies={}),o={attach:ST,detach:AT,resize:$T}[n]||BT;i[n]=o(t,n,s)}removeEventListener(t,n){const s=t.$proxies||(t.$proxies={}),i=s[n];i&&(({attach:td,detach:td,resize:td}[n]||ET)(t,n,i),s[n]=void 0)}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,n,s,i){return P8(t,n,s,i)}isAttached(t){const n=t&&Gh(t);return!!(n&&n.isConnected)}}function LT(e){return!qh()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?_T:PT}let co=class{static defaults={};static defaultRoutes=void 0;x;y;active=!1;options;$animations;tooltipPosition(e){const{x:t,y:n}=this.getProps(["x","y"],e);return{x:t,y:n}}hasValue(){return na(this.x)&&na(this.y)}getProps(e,t){const n=this.$animations;if(!t||!n)return this;const s={};return e.forEach(i=>{s[i]=n[i]&&n[i].active()?n[i]._to:this[i]}),s}};function IT(e,t){const n=e.options.ticks,s=OT(e),i=Math.min(n.maxTicksLimit||s,s),o=n.major.enabled?RT(t):[],r=o.length,a=o[0],l=o[r-1],u=[];if(r>i)return VT(t,u,o,r/i),u;const c=FT(o,t,i);if(r>0){let d,h;const p=r>1?Math.round((l-a)/(r-1)):null;for(qa(t,u,c,Xe(p)?0:a-p,a),d=0,h=r-1;di)return l}return Math.max(i,1)}function RT(e){const t=[];let n,s;for(n=0,s=e.length;ne==="left"?"right":e==="right"?"left":e,kg=(e,t,n)=>t==="top"||t==="left"?e[t]+n:e[t]-n,Sg=(e,t)=>Math.min(t||e,e);function Ag(e,t){const n=[],s=e.length/t,i=e.length;let o=0;for(;or+a)))return l}function HT(e,t){Je(e,n=>{const s=n.gc,i=s.length/2;let o;if(i>t){for(o=0;os?s:n,s=i&&n>s?n:s,{min:qn(n,qn(s,n)),max:qn(s,qn(n,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){Me(this.options.beforeUpdate,[this])}update(t,n,s){const{beginAtZero:i,grace:o,ticks:r}=this.options,a=r.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=n,this._margins=s=Object.assign({left:0,right:0,top:0,bottom:0},s),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+s.left+s.right:this.height+s.top+s.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=c8(this,o,i),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const l=a=o||s<=1||!this.isHorizontal()){this.labelRotation=i;return}const c=this._getLabelSizes(),d=c.widest.width,h=c.highest.height,p=Yt(this.chart.width-d,0,this.maxWidth);a=t.offset?this.maxWidth/s:p/(s-1),d+6>a&&(a=p/(s-(t.offset?.5:1)),l=this.maxHeight-fr(t.grid)-n.padding-Tg(t.title,this.chart.options.font),u=Math.sqrt(d*d+h*h),r=L5(Math.min(Math.asin(Yt((c.highest.height+6)/a,-1,1)),Math.asin(Yt(l/u,-1,1))-Math.asin(Yt(h/u,-1,1)))),r=Math.max(i,Math.min(o,r))),this.labelRotation=r}afterCalculateLabelRotation(){Me(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){Me(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:n,options:{ticks:s,title:i,grid:o}}=this,r=this._isVisible(),a=this.isHorizontal();if(r){const l=Tg(i,n.options.font);if(a?(t.width=this.maxWidth,t.height=fr(o)+l):(t.height=this.maxHeight,t.width=fr(o)+l),s.display&&this.ticks.length){const{first:u,last:c,widest:d,highest:h}=this._getLabelSizes(),p=s.padding*2,y=$s(this.labelRotation),m=Math.cos(y),b=Math.sin(y);if(a){const x=s.mirror?0:b*d.width+m*h.height;t.height=Math.min(this.maxHeight,t.height+x+p)}else{const x=s.mirror?0:m*d.width+b*h.height;t.width=Math.min(this.maxWidth,t.width+x+p)}this._calculatePadding(u,c,b,m)}}this._handleMargins(),a?(this.width=this._length=n.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=n.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,n,s,i){const{ticks:{align:o,padding:r},position:a}=this.options,l=this.labelRotation!==0,u=a!=="top"&&this.axis==="x";if(this.isHorizontal()){const c=this.getPixelForTick(0)-this.left,d=this.right-this.getPixelForTick(this.ticks.length-1);let h=0,p=0;l?u?(h=i*t.width,p=s*n.height):(h=s*t.height,p=i*n.width):o==="start"?p=n.width:o==="end"?h=t.width:o!=="inner"&&(h=t.width/2,p=n.width/2),this.paddingLeft=Math.max((h-c+r)*this.width/(this.width-c),0),this.paddingRight=Math.max((p-d+r)*this.width/(this.width-d),0)}else{let c=n.height/2,d=t.height/2;o==="start"?(c=0,d=t.height):o==="end"&&(c=n.height,d=0),this.paddingTop=c+r,this.paddingBottom=d+r}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){Me(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:n}=this.options;return n==="top"||n==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let n,s;for(n=0,s=t.length;n({width:r[G]||0,height:a[G]||0});return{first:j(0),last:j(n-1),widest:j(B),highest:j(R),widths:r,heights:a}}getLabelForValue(t){return t}getPixelForValue(t,n){return NaN}getValueForPixel(t){}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const n=this._startPixel+t*this._length;return O5(this._alignToPixels?Ci(this.chart,n,0):n)}getDecimalForPixel(t){const n=(t-this._startPixel)/this._length;return this._reversePixels?1-n:n}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:n}=this;return t<0&&n<0?n:t>0&&n>0?t:0}getContext(t){const n=this.ticks||[];if(t>=0&&ta*i?a/s:l/i:l*i0}_computeGridLineItems(t){const n=this.axis,s=this.chart,i=this.options,{grid:o,position:r,border:a}=i,l=o.offset,u=this.isHorizontal(),c=this.ticks.length+(l?1:0),d=fr(o),h=[],p=a.setContext(this.getContext()),y=p.display?p.width:0,m=y/2,b=function(X){return Ci(s,X,y)};let x,k,A,S,I,B,R,j,G,Z,J,D;if(r==="top")x=b(this.bottom),B=this.bottom-d,j=x-m,Z=b(t.top)+m,D=t.bottom;else if(r==="bottom")x=b(this.top),Z=t.top,D=b(t.bottom)-m,B=x+m,j=this.top+d;else if(r==="left")x=b(this.right),I=this.right-d,R=x-m,G=b(t.left)+m,J=t.right;else if(r==="right")x=b(this.left),G=t.left,J=b(t.right)-m,I=x+m,R=this.left+d;else if(n==="x"){if(r==="center")x=b((t.top+t.bottom)/2+.5);else if(Oe(r)){const X=Object.keys(r)[0],ie=r[X];x=b(this.chart.scales[X].getPixelForValue(ie))}Z=t.top,D=t.bottom,B=x+m,j=B+d}else if(n==="y"){if(r==="center")x=b((t.left+t.right)/2);else if(Oe(r)){const X=Object.keys(r)[0],ie=r[X];x=b(this.chart.scales[X].getPixelForValue(ie))}I=x-m,R=I-d,G=t.left,J=t.right}const V=Pe(i.ticks.maxTicksLimit,c),M=Math.max(1,Math.ceil(c/V));for(k=0;k0&&(Ae-=rt/2);break}De={left:Ae,top:et,width:rt+Ee.width,height:Ue+Ee.height,color:X.backdropColor}}b.push({label:S,font:G,textOffset:D,options:{rotation:m,color:re,strokeColor:ue,strokeWidth:fe,textAlign:ve,textBaseline:V,translation:[I,B],backdrop:De}})}return b}_getXAxisLabelAlignment(){const{position:t,ticks:n}=this.options;if(-$s(this.labelRotation))return t==="top"?"left":"right";let s="center";return n.align==="start"?s="left":n.align==="end"?s="right":n.align==="inner"&&(s="inner"),s}_getYAxisLabelAlignment(t){const{position:n,ticks:{crossAlign:s,mirror:i,padding:o}}=this.options,r=this._getLabelSizes(),a=t+o,l=r.widest.width;let u,c;return n==="left"?i?(c=this.right+o,s==="near"?u="left":s==="center"?(u="center",c+=l/2):(u="right",c+=l)):(c=this.right-a,s==="near"?u="right":s==="center"?(u="center",c-=l/2):(u="left",c=this.left)):n==="right"?i?(c=this.left+o,s==="near"?u="right":s==="center"?(u="center",c-=l/2):(u="left",c-=l)):(c=this.left+a,s==="near"?u="left":s==="center"?(u="center",c+=l/2):(u="right",c=this.right)):u="right",{textAlign:u,x:c}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,n=this.options.position;if(n==="left"||n==="right")return{top:0,left:this.left,bottom:t.height,right:this.right};if(n==="top"||n==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:t.width}}drawBackground(){const{ctx:t,options:{backgroundColor:n},left:s,top:i,width:o,height:r}=this;n&&(t.save(),t.fillStyle=n,t.fillRect(s,i,o,r),t.restore())}getLineWidthForValue(t){const n=this.options.grid;if(!this._isVisible()||!n.display)return 0;const s=this.ticks.findIndex(i=>i.value===t);return s>=0?n.setContext(this.getContext(s)).lineWidth:0}drawGrid(t){const n=this.options.grid,s=this.ctx,i=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let o,r;const a=(l,u,c)=>{!c.width||!c.color||(s.save(),s.lineWidth=c.width,s.strokeStyle=c.color,s.setLineDash(c.borderDash||[]),s.lineDashOffset=c.borderDashOffset,s.beginPath(),s.moveTo(l.x,l.y),s.lineTo(u.x,u.y),s.stroke(),s.restore())};if(n.display)for(o=0,r=i.length;o{this.draw(o)}}]:[{z:s,draw:o=>{this.drawBackground(),this.drawGrid(o),this.drawTitle()}},{z:i,draw:()=>{this.drawBorder()}},{z:n,draw:o=>{this.drawLabels(o)}}]}getMatchingVisibleMetas(t){const n=this.chart.getSortedVisibleDatasetMetas(),s=this.axis+"AxisID",i=[];let o,r;for(o=0,r=n.length;o{const s=n.split("."),i=s.pop(),o=[e].concat(s).join("."),r=t[n].split("."),a=r.pop(),l=r.join(".");ht.route(o,i,l,a)})}function ZT(e){return"id"in e&&"defaults"in e}class YT{constructor(){this.controllers=new Ga(Kh,"datasets",!0),this.elements=new Ga(co,"elements"),this.plugins=new Ga(Object,"plugins"),this.scales=new Ga(qo,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,n,s){[...n].forEach(i=>{const o=s||this._getRegistryForType(i);s||o.isForType(i)||o===this.plugins&&i.id?this._exec(t,o,i):Je(i,r=>{const a=s||this._getRegistryForType(r);this._exec(t,a,r)})})}_exec(t,n,s){const i=Vh(t);Me(s["before"+i],[],s),n[t](s),Me(s["after"+i],[],s)}_getRegistryForType(t){for(let n=0;no.filter(a=>!r.some(l=>a.plugin.id===l.plugin.id));this._notify(i(n,s),t,"stop"),this._notify(i(s,n),t,"start")}}function QT(e){const t={},n=[],s=Object.keys(Kn.plugins.items);for(let o=0;o1&&Dg(e[0].toLowerCase());if(s)return s}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function $g(e,t,n){if(n[t+"AxisID"]===e)return{axis:t}}function oD(e,t){if(t.data&&t.data.datasets){const n=t.data.datasets.filter(s=>s.xAxisID===e||s.yAxisID===e);if(n.length)return $g(e,"x",n[0])||$g(e,"y",n[0])}return{}}function rD(e,t){const n=io[e.type]||{scales:{}},s=t.scales||{},i=Yd(e.type,t),o=Object.create(null);return Object.keys(s).forEach(r=>{const a=s[r];if(!Oe(a))return console.error(`Invalid scale configuration for scale: ${r}`);if(a._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${r}`);const l=Xd(r,a,oD(r,e),ht.scales[a.type]),u=sD(l,i),c=n.scales||{};o[r]=Pr(Object.create(null),[{axis:l},a,c[l],c[u]])}),e.data.datasets.forEach(r=>{const a=r.type||e.type,l=r.indexAxis||Yd(a,t),u=(io[a]||{}).scales||{};Object.keys(u).forEach(c=>{const d=nD(c,l),h=r[d+"AxisID"]||d;o[h]=o[h]||Object.create(null),Pr(o[h],[{axis:d},s[h],u[c]])})}),Object.keys(o).forEach(r=>{const a=o[r];Pr(a,[ht.scales[a.type],ht.scale])}),o}function gb(e){const t=e.options||(e.options={});t.plugins=Pe(t.plugins,{}),t.scales=rD(e,t)}function mb(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function aD(e){return e=e||{},e.data=mb(e.data),gb(e),e}const Bg=new Map,vb=new Set;function Ka(e,t){let n=Bg.get(e);return n||(n=t(),Bg.set(e,n),vb.add(n)),n}const gr=(e,t,n)=>{const s=ta(t,n);s!==void 0&&e.add(s)};class lD{constructor(t){this._config=aD(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=mb(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),gb(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Ka(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,n){return Ka(`${t}.transition.${n}`,()=>[[`datasets.${t}.transitions.${n}`,`transitions.${n}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,n){return Ka(`${t}-${n}`,()=>[[`datasets.${t}.elements.${n}`,`datasets.${t}`,`elements.${n}`,""]])}pluginScopeKeys(t){const n=t.id,s=this.type;return Ka(`${s}-plugin-${n}`,()=>[[`plugins.${n}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,n){const s=this._scopeCache;let i=s.get(t);return(!i||n)&&(i=new Map,s.set(t,i)),i}getOptionScopes(t,n,s){const{options:i,type:o}=this,r=this._cachedScopes(t,s),a=r.get(n);if(a)return a;const l=new Set;n.forEach(c=>{t&&(l.add(t),c.forEach(d=>gr(l,t,d))),c.forEach(d=>gr(l,i,d)),c.forEach(d=>gr(l,io[o]||{},d)),c.forEach(d=>gr(l,ht,d)),c.forEach(d=>gr(l,Gd,d))});const u=Array.from(l);return u.length===0&&u.push(Object.create(null)),vb.has(n)&&r.set(n,u),u}chartOptionScopes(){const{options:t,type:n}=this;return[t,io[n]||{},ht.datasets[n]||{},{type:n},ht,Gd]}resolveNamedOptions(t,n,s,i=[""]){const o={$shared:!0},{resolver:r,subPrefixes:a}=Pg(this._resolverCache,t,i);let l=r;if(cD(r,n)){o.$shared=!1,s=ui(s)?s():s;const u=this.createResolver(t,s,a);l=Uo(r,s,u)}for(const u of n)o[u]=l[u];return o}createResolver(t,n,s=[""],i){const{resolver:o}=Pg(this._resolverCache,t,s);return Oe(n)?Uo(o,n,void 0,i):o}}function Pg(e,t,n){let s=e.get(t);s||(s=new Map,e.set(t,s));const i=n.join();let o=s.get(i);return o||(o={resolver:Nh(t,n),subPrefixes:n.filter(r=>!r.toLowerCase().includes("hover"))},s.set(i,o)),o}const uD=e=>Oe(e)&&Object.getOwnPropertyNames(e).some(t=>ui(e[t]));function cD(e,t){const{isScriptable:n,isIndexable:s}=Xy(e);for(const i of t){const o=n(i),r=s(i),a=(r||o)&&e[i];if(o&&(ui(a)||uD(a))||r&&At(a))return!0}return!1}var dD="4.5.1";const hD=["top","bottom","left","right","chartArea"];function Lg(e,t){return e==="top"||e==="bottom"||hD.indexOf(e)===-1&&t==="x"}function Ig(e,t){return function(n,s){return n[e]===s[e]?n[t]-s[t]:n[e]-s[e]}}function Og(e){const t=e.chart,n=t.options.animation;t.notifyPlugins("afterRender"),Me(n&&n.onComplete,[e],t)}function pD(e){const t=e.chart,n=t.options.animation;Me(n&&n.onProgress,[e],t)}function yb(e){return qh()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const fl={},Fg=e=>{const t=yb(e);return Object.values(fl).filter(n=>n.canvas===t).pop()};function fD(e,t,n){const s=Object.keys(e);for(const i of s){const o=+i;if(o>=t){const r=e[i];delete e[i],(n>0||o>t)&&(e[o+n]=r)}}}function gD(e,t,n,s){return!n||e.type==="mouseout"?null:s?t:e}let ci=class{static defaults=ht;static instances=fl;static overrides=io;static registry=Kn;static version=dD;static getChart=Fg;static register(...e){Kn.add(...e),Rg()}static unregister(...e){Kn.remove(...e),Rg()}constructor(e,t){const n=this.config=new lD(t),s=yb(e),i=Fg(s);if(i)throw new Error("Canvas is already in use. Chart with ID '"+i.id+"' must be destroyed before the canvas with ID '"+i.canvas.id+"' can be reused.");const o=n.createResolver(n.chartOptionScopes(),this.getContext());this.platform=new(n.platform||LT(s)),this.platform.updateConfig(n);const r=this.platform.acquireContext(s,o.aspectRatio),a=r&&r.canvas,l=a&&a.height,u=a&&a.width;if(this.id=_5(),this.ctx=r,this.canvas=a,this.width=u,this.height=l,this._options=o,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new XT,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=U5(c=>this.update(c),o.resizeDelay||0),this._dataChanges=[],fl[this.id]=this,!r||!a){console.error("Failed to create chart: can't acquire context from the given item");return}_s.listen(this,"complete",Og),_s.listen(this,"progress",pD),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:e,maintainAspectRatio:t},width:n,height:s,_aspectRatio:i}=this;return Xe(e)?t&&i?i:s?n/s:null:e}get data(){return this.config.data}set data(e){this.config.data=e}get options(){return this._options}set options(e){this.config.options=e}get registry(){return Kn}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():lg(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return og(this.canvas,this.ctx),this}stop(){return _s.stop(this),this}resize(e,t){_s.running(this)?this._resizeBeforeDraw={width:e,height:t}:this._resize(e,t)}_resize(e,t){const n=this.options,s=this.canvas,i=n.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(s,e,t,i),r=n.devicePixelRatio||this.platform.getDevicePixelRatio(),a=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,lg(this,r,!0)&&(this.notifyPlugins("resize",{size:o}),Me(n.onResize,[this,o],this),this.attached&&this._doResize(a)&&this.render())}ensureScalesHaveIDs(){const e=this.options.scales||{};Je(e,(t,n)=>{t.id=n})}buildOrUpdateScales(){const e=this.options,t=e.scales,n=this.scales,s=Object.keys(n).reduce((o,r)=>(o[r]=!1,o),{});let i=[];t&&(i=i.concat(Object.keys(t).map(o=>{const r=t[o],a=Xd(o,r),l=a==="r",u=a==="x";return{options:r,dposition:l?"chartArea":u?"bottom":"left",dtype:l?"radialLinear":u?"category":"linear"}}))),Je(i,o=>{const r=o.options,a=r.id,l=Xd(a,r),u=Pe(r.type,o.dtype);(r.position===void 0||Lg(r.position,l)!==Lg(o.dposition))&&(r.position=o.dposition),s[a]=!0;let c=null;if(a in n&&n[a].type===u)c=n[a];else{const d=Kn.getScale(u);c=new d({id:a,type:u,ctx:this.ctx,chart:this}),n[c.id]=c}c.init(r,e)}),Je(s,(o,r)=>{o||delete n[r]}),Je(n,o=>{Qs.configure(this,o,o.options),Qs.addBox(this,o)})}_updateMetasets(){const e=this._metasets,t=this.data.datasets.length,n=e.length;if(e.sort((s,i)=>s.index-i.index),n>t){for(let s=t;st.length&&delete this._stacks,e.forEach((n,s)=>{t.filter(i=>i===n._dataset).length===0&&this._destroyDatasetMeta(s)})}buildOrUpdateControllers(){const e=[],t=this.data.datasets;let n,s;for(this._removeUnreferencedMetasets(),n=0,s=t.length;n{this.getDatasetMeta(t).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(e){const t=this.config;t.update();const n=this._options=t.createResolver(t.chartOptionScopes(),this.getContext()),s=this._animationsDisabled=!n.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:e,cancelable:!0})===!1)return;const i=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let l=0,u=this.data.datasets.length;l{l.reset()}),this._updateDatasets(e),this.notifyPlugins("afterUpdate",{mode:e}),this._layers.sort(Ig("z","_idx"));const{_active:r,_lastEvent:a}=this;a?this._eventHandler(a,!0):r.length&&this._updateHoverStyles(r,r,!0),this.render()}_updateScales(){Je(this.scales,e=>{Qs.removeBox(this,e)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const e=this.options,t=new Set(Object.keys(this._listeners)),n=new Set(e.events);(!Zf(t,n)||!!this._responsiveListeners!==e.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:e}=this,t=this._getUniformDataChanges()||[];for(const{method:n,start:s,count:i}of t){const o=n==="_removeElements"?-i:i;fD(e,s,o)}}_getUniformDataChanges(){const e=this._dataChanges;if(!e||!e.length)return;this._dataChanges=[];const t=this.data.datasets.length,n=i=>new Set(e.filter(o=>o[0]===i).map((o,r)=>r+","+o.splice(1).join(","))),s=n(0);for(let i=1;ii.split(",")).map(i=>({method:i[1],start:+i[2],count:+i[3]}))}_updateLayout(e){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;Qs.update(this,this.width,this.height,e);const t=this.chartArea,n=t.width<=0||t.height<=0;this._layers=[],Je(this.boxes,s=>{n&&s.position==="chartArea"||(s.configure&&s.configure(),this._layers.push(...s._layers()))},this),this._layers.forEach((s,i)=>{s._idx=i}),this.notifyPlugins("afterLayout")}_updateDatasets(e){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:e,cancelable:!0})!==!1){for(let t=0,n=this.data.datasets.length;t=0;--t)this._drawDataset(e[t]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(e){const t=this.ctx,n={meta:e,index:e.index,cancelable:!0},s=ab(this,e);this.notifyPlugins("beforeDatasetDraw",n)!==!1&&(s&&Bu(t,s),e.controller.draw(),s&&Pu(t),n.cancelable=!1,this.notifyPlugins("afterDatasetDraw",n))}isPointInArea(e){return ia(e,this.chartArea,this._minPadding)}getElementsAtEventForMode(e,t,n,s){const i=hT.modes[t];return typeof i=="function"?i(this,e,n,s):[]}getDatasetMeta(e){const t=this.data.datasets[e],n=this._metasets;let s=n.filter(i=>i&&i._dataset===t).pop();return s||(s={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:t&&t.order||0,index:e,_dataset:t,_parsed:[],_sorted:!1},n.push(s)),s}getContext(){return this.$context||(this.$context=uo(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(e){const t=this.data.datasets[e];if(!t)return!1;const n=this.getDatasetMeta(e);return typeof n.hidden=="boolean"?!n.hidden:!t.hidden}setDatasetVisibility(e,t){const n=this.getDatasetMeta(e);n.hidden=!t}toggleDataVisibility(e){this._hiddenIndices[e]=!this._hiddenIndices[e]}getDataVisibility(e){return!this._hiddenIndices[e]}_updateVisibility(e,t,n){const s=n?"show":"hide",i=this.getDatasetMeta(e),o=i.controller._resolveAnimations(void 0,s);Ql(t)?(i.data[t].hidden=!n,this.update()):(this.setDatasetVisibility(e,n),o.update(i,{visible:n}),this.update(r=>r.datasetIndex===e?s:void 0))}hide(e,t){this._updateVisibility(e,t,!1)}show(e,t){this._updateVisibility(e,t,!0)}_destroyDatasetMeta(e){const t=this._metasets[e];t&&t.controller&&t.controller._destroy(),delete this._metasets[e]}_stop(){let e,t;for(this.stop(),_s.remove(this),e=0,t=this.data.datasets.length;e{t.addEventListener(this,i,o),e[i]=o},s=(i,o,r)=>{i.offsetX=o,i.offsetY=r,this._eventHandler(i)};Je(this.options.events,i=>n(i,s))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const e=this._responsiveListeners,t=this.platform,n=(a,l)=>{t.addEventListener(this,a,l),e[a]=l},s=(a,l)=>{e[a]&&(t.removeEventListener(this,a,l),delete e[a])},i=(a,l)=>{this.canvas&&this.resize(a,l)};let o;const r=()=>{s("attach",r),this.attached=!0,this.resize(),n("resize",i),n("detach",o)};o=()=>{this.attached=!1,s("resize",i),this._stop(),this._resize(0,0),n("attach",r)},t.isAttached(this.canvas)?r():o()}unbindEvents(){Je(this._listeners,(e,t)=>{this.platform.removeEventListener(this,t,e)}),this._listeners={},Je(this._responsiveListeners,(e,t)=>{this.platform.removeEventListener(this,t,e)}),this._responsiveListeners=void 0}updateHoverStyle(e,t,n){const s=n?"set":"remove";let i,o,r,a;for(t==="dataset"&&(i=this.getDatasetMeta(e[0].datasetIndex),i.controller["_"+s+"DatasetHoverStyle"]()),r=0,a=e.length;r{const o=this.getDatasetMeta(s);if(!o)throw new Error("No dataset found at index "+s);return{datasetIndex:s,element:o.data[i],index:i}});!Yl(n,t)&&(this._active=n,this._lastEvent=null,this._updateHoverStyles(n,t))}notifyPlugins(e,t,n){return this._plugins.notify(this,e,t,n)}isPluginEnabled(e){return this._plugins._cache.filter(t=>t.plugin.id===e).length===1}_updateHoverStyles(e,t,n){const s=this.options.hover,i=(a,l)=>a.filter(u=>!l.some(c=>u.datasetIndex===c.datasetIndex&&u.index===c.index)),o=i(t,e),r=n?e:i(e,t);o.length&&this.updateHoverStyle(o,s.mode,!1),r.length&&s.mode&&this.updateHoverStyle(r,s.mode,!0)}_eventHandler(e,t){const n={event:e,replay:t,cancelable:!0,inChartArea:this.isPointInArea(e)},s=o=>(o.options.events||this.options.events).includes(e.native.type);if(this.notifyPlugins("beforeEvent",n,s)===!1)return;const i=this._handleEvent(e,t,n.inChartArea);return n.cancelable=!1,this.notifyPlugins("afterEvent",n,s),(i||n.changed)&&this.render(),this}_handleEvent(e,t,n){const{_active:s=[],options:i}=this,o=t,r=this._getActiveElements(e,s,n,o),a=S5(e),l=gD(e,this._lastEvent,n,a);n&&(this._lastEvent=null,Me(i.onHover,[e,r,this],this),a&&Me(i.onClick,[e,r,this],this));const u=!Yl(r,s);return(u||t)&&(this._active=r,this._updateHoverStyles(r,s,t)),this._lastEvent=l,u}_getActiveElements(e,t,n,s){if(e.type==="mouseout")return[];if(!n)return t;const i=this.options.hover;return this.getElementsAtEventForMode(e,i.mode,i,s)}};function Rg(){return Je(ci.instances,e=>e._plugins.invalidate())}function mD(e,t,n){const{startAngle:s,x:i,y:o,outerRadius:r,innerRadius:a,options:l}=t,{borderWidth:u,borderJoinStyle:c}=l,d=Math.min(u/r,dn(s-n));if(e.beginPath(),e.arc(i,o,r-u/2,s+d/2,n-d/2),a>0){const h=Math.min(u/a,dn(s-n));e.arc(i,o,a+u/2,n-h/2,s+h/2,!0)}else{const h=Math.min(u/2,r*dn(s-n));if(c==="round")e.arc(i,o,h,n-Ke/2,s+Ke/2,!0);else if(c==="bevel"){const p=2*h*h,y=-p*Math.cos(n+Ke/2)+i,m=-p*Math.sin(n+Ke/2)+o,b=p*Math.cos(s+Ke/2)+i,x=p*Math.sin(s+Ke/2)+o;e.lineTo(y,m),e.lineTo(b,x)}}e.closePath(),e.moveTo(0,0),e.rect(0,0,e.canvas.width,e.canvas.height),e.clip("evenodd")}function vD(e,t,n){const{startAngle:s,pixelMargin:i,x:o,y:r,outerRadius:a,innerRadius:l}=t;let u=i/a;e.beginPath(),e.arc(o,r,a,s-u,n+u),l>i?(u=i/l,e.arc(o,r,l,n+u,s-u,!0)):e.arc(o,r,i,n+wt,s-wt),e.closePath(),e.clip()}function yD(e){return Hh(e,["outerStart","outerEnd","innerStart","innerEnd"])}function bD(e,t,n,s){const i=yD(e.options.borderRadius),o=(n-t)/2,r=Math.min(o,s*t/2),a=l=>{const u=(n-Math.min(o,l))*s/2;return Yt(l,0,Math.min(o,u))};return{outerStart:a(i.outerStart),outerEnd:a(i.outerEnd),innerStart:Yt(i.innerStart,0,r),innerEnd:Yt(i.innerEnd,0,r)}}function xo(e,t,n,s){return{x:n+e*Math.cos(t),y:s+e*Math.sin(t)}}function su(e,t,n,s,i,o){const{x:r,y:a,startAngle:l,pixelMargin:u,innerRadius:c}=t,d=Math.max(t.outerRadius+s+n-u,0),h=c>0?c+s+n+u:0;let p=0;const y=i-l;if(s){const X=c>0?c-s:0,ie=d>0?d-s:0,re=(X+ie)/2,ue=re!==0?y*re/(re+s):y;p=(y-ue)/2}const m=Math.max(.001,y*d-n/Ke)/d,b=(y-m)/2,x=l+b+p,k=i-b-p,{outerStart:A,outerEnd:S,innerStart:I,innerEnd:B}=bD(t,h,d,k-x),R=d-A,j=d-S,G=x+A/R,Z=k-S/j,J=h+I,D=h+B,V=x+I/J,M=k-B/D;if(e.beginPath(),o){const X=(G+Z)/2;if(e.arc(r,a,d,G,X),e.arc(r,a,d,X,Z),S>0){const fe=xo(j,Z,r,a);e.arc(fe.x,fe.y,S,Z,k+wt)}const ie=xo(D,k,r,a);if(e.lineTo(ie.x,ie.y),B>0){const fe=xo(D,M,r,a);e.arc(fe.x,fe.y,B,k+wt,M+Math.PI)}const re=(k-B/h+(x+I/h))/2;if(e.arc(r,a,h,k-B/h,re,!0),e.arc(r,a,h,re,x+I/h,!0),I>0){const fe=xo(J,V,r,a);e.arc(fe.x,fe.y,I,V+Math.PI,x-wt)}const ue=xo(R,x,r,a);if(e.lineTo(ue.x,ue.y),A>0){const fe=xo(R,G,r,a);e.arc(fe.x,fe.y,A,x-wt,G)}}else{e.moveTo(r,a);const X=Math.cos(G)*d+r,ie=Math.sin(G)*d+a;e.lineTo(X,ie);const re=Math.cos(Z)*d+r,ue=Math.sin(Z)*d+a;e.lineTo(re,ue)}e.closePath()}function _D(e,t,n,s,i){const{fullCircles:o,startAngle:r,circumference:a}=t;let l=t.endAngle;if(o){su(e,t,n,s,l,i);for(let u=0;u=Ke&&p===0&&c!=="miter"&&mD(e,t,m),o||(su(e,t,n,s,m,i),e.stroke())}class xD extends co{static id="arc";static defaults={borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0,selfJoin:!1};static defaultRoutes={backgroundColor:"backgroundColor"};static descriptors={_scriptable:!0,_indexable:t=>t!=="borderDash"};circumference;endAngle;fullCircles;innerRadius;outerRadius;pixelMargin;startAngle;constructor(t){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,t&&Object.assign(this,t)}inRange(t,n,s){const i=this.getProps(["x","y"],s),{angle:o,distance:r}=Wy(i,{x:t,y:n}),{startAngle:a,endAngle:l,innerRadius:u,outerRadius:c,circumference:d}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],s),h=(this.options.spacing+this.options.borderWidth)/2,p=Pe(d,l-a),y=sa(o,a,l)&&a!==l,m=p>=it||y,b=Hi(r,u+h,c+h);return m&&b}getCenterPoint(t){const{x:n,y:s,startAngle:i,endAngle:o,innerRadius:r,outerRadius:a}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],t),{offset:l,spacing:u}=this.options,c=(i+o)/2,d=(r+a+u+l)/2;return{x:n+Math.cos(c)*d,y:s+Math.sin(c)*d}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:n,circumference:s}=this,i=(n.offset||0)/4,o=(n.spacing||0)/2,r=n.circular;if(this.pixelMargin=n.borderAlign==="inner"?.33:0,this.fullCircles=s>it?Math.floor(s/it):0,s===0||this.innerRadius<0||this.outerRadius<0)return;t.save();const a=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(a)*i,Math.sin(a)*i);const l=1-Math.sin(Math.min(Ke,s||0)),u=i*l;t.fillStyle=n.backgroundColor,t.strokeStyle=n.borderColor,_D(t,this,u,o,r),wD(t,this,u,o,r),t.restore()}}function bb(e,t,n=t){e.lineCap=Pe(n.borderCapStyle,t.borderCapStyle),e.setLineDash(Pe(n.borderDash,t.borderDash)),e.lineDashOffset=Pe(n.borderDashOffset,t.borderDashOffset),e.lineJoin=Pe(n.borderJoinStyle,t.borderJoinStyle),e.lineWidth=Pe(n.borderWidth,t.borderWidth),e.strokeStyle=Pe(n.borderColor,t.borderColor)}function CD(e,t,n){e.lineTo(n.x,n.y)}function ED(e){return e.stepped?e8:e.tension||e.cubicInterpolationMode==="monotone"?t8:CD}function _b(e,t,n={}){const s=e.length,{start:i=0,end:o=s-1}=n,{start:r,end:a}=t,l=Math.max(i,r),u=Math.min(o,a),c=ia&&o>a;return{count:s,start:l,loop:t.loop,ilen:u(r+(u?a-S:S))%o,A=()=>{m!==b&&(e.lineTo(c,b),e.lineTo(c,m),e.lineTo(c,x))};for(l&&(p=i[k(0)],e.moveTo(p.x,p.y)),h=0;h<=a;++h){if(p=i[k(h)],p.skip)continue;const S=p.x,I=p.y,B=S|0;B===y?(Ib&&(b=I),c=(d*c+S)/++d):(A(),e.lineTo(S,I),y=B,d=0,m=b=I),x=I}A()}function Qd(e){const t=e.options,n=t.borderDash&&t.borderDash.length;return!e._decimated&&!e._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!n?SD:kD}function AD(e){return e.stepped?I8:e.tension||e.cubicInterpolationMode==="monotone"?O8:Bi}function TD(e,t,n,s){let i=t._path;i||(i=t._path=new Path2D,t.path(i,n,s)&&i.closePath()),bb(e,t.options),e.stroke(i)}function DD(e,t,n,s){const{segments:i,options:o}=t,r=Qd(t);for(const a of i)bb(e,o,a.style),e.beginPath(),r(e,t,a,{start:n,end:n+s-1})&&e.closePath(),e.stroke()}const $D=typeof Path2D=="function";function BD(e,t,n,s){$D&&!t.options.segment?TD(e,t,n,s):DD(e,t,n,s)}class Go extends co{static id="line";static defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};static descriptors={_scriptable:!0,_indexable:t=>t!=="borderDash"&&t!=="fill"};constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,n){const s=this.options;if((s.tension||s.cubicInterpolationMode==="monotone")&&!s.stepped&&!this._pointsUpdated){const i=s.spanGaps?this._loop:this._fullLoop;S8(this._points,s,t,i,n),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=z8(this,this.options.segment))}first(){const t=this.segments,n=this.points;return t.length&&n[t[0].start]}last(){const t=this.segments,n=this.points,s=t.length;return s&&n[t[s-1].end]}interpolate(t,n){const s=this.options,i=t[n],o=this.points,r=rb(this,{property:n,start:i,end:i});if(!r.length)return;const a=[],l=AD(s);let u,c;for(u=0,c=r.length;u{a=Fu(r,a,i);const l=i[r],u=i[a];s!==null?(o.push({x:l.x,y:s}),o.push({x:u.x,y:s})):n!==null&&(o.push({x:n,y:l.y}),o.push({x:n,y:u.y}))}),o}function Fu(e,t,n){for(;t>e;t--){const s=n[t];if(!isNaN(s.x)&&!isNaN(s.y))break}return t}function jg(e,t,n,s){return e&&t?s(e[n],t[n]):e?e[n]:t?t[n]:0}function wb(e,t){let n=[],s=!1;return At(e)?(s=!0,n=e):n=LD(e,t),n.length?new Go({points:n,options:{tension:0},_loop:s,_fullLoop:s}):null}function Ug(e){return e&&e.fill!==!1}function ID(e,t,n){let s=e[t].fill;const i=[t];let o;if(!n)return s;for(;s!==!1&&i.indexOf(s)===-1;){if(!Jt(s))return s;if(o=e[s],!o)return!1;if(o.visible)return s;i.push(s),s=o.fill}return!1}function OD(e,t,n){const s=jD(e);if(Oe(s))return isNaN(s.value)?!1:s;let i=parseFloat(s);return Jt(i)&&Math.floor(i)===i?FD(s[0],t,i,n):["origin","start","end","stack","shape"].indexOf(s)>=0&&s}function FD(e,t,n,s){return(e==="-"||e==="+")&&(n=t+n),n===t||n<0||n>=s?!1:n}function RD(e,t){let n=null;return e==="start"?n=t.bottom:e==="end"?n=t.top:Oe(e)?n=t.getPixelForValue(e.value):t.getBasePixel&&(n=t.getBasePixel()),n}function VD(e,t,n){let s;return e==="start"?s=n:e==="end"?s=t.options.reverse?t.min:t.max:Oe(e)?s=e.value:s=t.getBaseValue(),s}function jD(e){const t=e.options,n=t.fill;let s=Pe(n&&n.target,n);return s===void 0&&(s=!!t.backgroundColor),s===!1||s===null?!1:s===!0?"origin":s}function UD(e){const{scale:t,index:n,line:s}=e,i=[],o=s.segments,r=s.points,a=zD(t,n);a.push(wb({x:null,y:t.bottom},s));for(let l=0;l=0;--r){const a=i[r].$filler;a&&(a.line.updateControlPoints(o,a.axis),s&&a.fill&&nd(e.ctx,a,o))}},beforeDatasetsDraw(e,t,n){if(n.drawTime!=="beforeDatasetsDraw")return;const s=e.getSortedVisibleDatasetMetas();for(let i=s.length-1;i>=0;--i){const o=s[i].$filler;Ug(o)&&nd(e.ctx,o,e.chartArea)}},beforeDatasetDraw(e,t,n){const s=t.meta.$filler;!Ug(s)||n.drawTime!=="beforeDatasetDraw"||nd(e.ctx,s,e.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const Wg=(e,t)=>{let{boxHeight:n=t,boxWidth:s=t}=e;return e.usePointStyle&&(n=Math.min(n,t),s=e.pointStyleWidth||Math.min(s,t)),{boxWidth:s,boxHeight:n,itemHeight:Math.max(t,n)}},XD=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index;class Jg extends co{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n,s){this.maxWidth=t,this.maxHeight=n,this._margins=s,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let n=Me(t.generateLabels,[this.chart],this)||[];t.filter&&(n=n.filter(s=>t.filter(s,this.chart.data))),t.sort&&(n=n.sort((s,i)=>t.sort(s,i,this.chart.data))),this.options.reverse&&n.reverse(),this.legendItems=n}fit(){const{options:t,ctx:n}=this;if(!t.display){this.width=this.height=0;return}const s=t.labels,i=sn(s.font),o=i.size,r=this._computeTitleHeight(),{boxWidth:a,itemHeight:l}=Wg(s,o);let u,c;n.font=i.string,this.isHorizontal()?(u=this.maxWidth,c=this._fitRows(r,o,a,l)+10):(c=this.maxHeight,u=this._fitCols(r,i,a,l)+10),this.width=Math.min(u,t.maxWidth||this.maxWidth),this.height=Math.min(c,t.maxHeight||this.maxHeight)}_fitRows(t,n,s,i){const{ctx:o,maxWidth:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],u=this.lineWidths=[0],c=i+a;let d=t;o.textAlign="left",o.textBaseline="middle";let h=-1,p=-c;return this.legendItems.forEach((y,m)=>{const b=s+n/2+o.measureText(y.text).width;(m===0||u[u.length-1]+b+2*a>r)&&(d+=c,u[u.length-(m>0?0:1)]=0,p+=c,h++),l[m]={left:0,top:p,row:h,width:b,height:i},u[u.length-1]+=b+a}),d}_fitCols(t,n,s,i){const{ctx:o,maxHeight:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],u=this.columnSizes=[],c=r-t;let d=a,h=0,p=0,y=0,m=0;return this.legendItems.forEach((b,x)=>{const{itemWidth:k,itemHeight:A}=QD(s,n,o,b,i);x>0&&p+A+2*a>c&&(d+=h+a,u.push({width:h,height:p}),y+=h+a,m++,h=p=0),l[x]={left:y,top:p,col:m,width:k,height:A},h=Math.max(h,k),p+=A+a}),d+=h,u.push({width:h,height:p}),d}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:n,options:{align:s,labels:{padding:i},rtl:o}}=this,r=Lo(o,this.left,this.width);if(this.isHorizontal()){let a=0,l=un(s,this.left+i,this.right-this.lineWidths[a]);for(const u of n)a!==u.row&&(a=u.row,l=un(s,this.left+i,this.right-this.lineWidths[a])),u.top+=this.top+t+i,u.left=r.leftForLtr(r.x(l),u.width),l+=u.width+i}else{let a=0,l=un(s,this.top+t+i,this.bottom-this.columnSizes[a].height);for(const u of n)u.col!==a&&(a=u.col,l=un(s,this.top+t+i,this.bottom-this.columnSizes[a].height)),u.top=l,u.left+=this.left+i,u.left=r.leftForLtr(r.x(u.left),u.width),l+=u.height+i}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;Bu(t,this),this._draw(),Pu(t)}}_draw(){const{options:t,columnSizes:n,lineWidths:s,ctx:i}=this,{align:o,labels:r}=t,a=ht.color,l=Lo(t.rtl,this.left,this.width),u=sn(r.font),{padding:c}=r,d=u.size,h=d/2;let p;this.drawTitle(),i.textAlign=l.textAlign("left"),i.textBaseline="middle",i.lineWidth=.5,i.font=u.string;const{boxWidth:y,boxHeight:m,itemHeight:b}=Wg(r,d),x=function(B,R,j){if(isNaN(y)||y<=0||isNaN(m)||m<0)return;i.save();const G=Pe(j.lineWidth,1);if(i.fillStyle=Pe(j.fillStyle,a),i.lineCap=Pe(j.lineCap,"butt"),i.lineDashOffset=Pe(j.lineDashOffset,0),i.lineJoin=Pe(j.lineJoin,"miter"),i.lineWidth=G,i.strokeStyle=Pe(j.strokeStyle,a),i.setLineDash(Pe(j.lineDash,[])),r.usePointStyle){const Z={radius:m*Math.SQRT2/2,pointStyle:j.pointStyle,rotation:j.rotation,borderWidth:G},J=l.xPlus(B,y/2),D=R+h;Yy(i,Z,J,D,r.pointStyleWidth&&y)}else{const Z=R+Math.max((d-m)/2,0),J=l.leftForLtr(B,y),D=Fr(j.borderRadius);i.beginPath(),Object.values(D).some(V=>V!==0)?Zd(i,{x:J,y:Z,w:y,h:m,radius:D}):i.rect(J,Z,y,m),i.fill(),G!==0&&i.stroke()}i.restore()},k=function(B,R,j){eu(i,j.text,B,R+b/2,u,{strikethrough:j.hidden,textAlign:l.textAlign(j.textAlign)})},A=this.isHorizontal(),S=this._computeTitleHeight();A?p={x:un(o,this.left+c,this.right-s[0]),y:this.top+c+S,line:0}:p={x:this.left+c,y:un(o,this.top+S+c,this.bottom-n[0].height),line:0},nb(this.ctx,t.textDirection);const I=b+c;this.legendItems.forEach((B,R)=>{i.strokeStyle=B.fontColor,i.fillStyle=B.fontColor;const j=i.measureText(B.text).width,G=l.textAlign(B.textAlign||(B.textAlign=r.textAlign)),Z=y+h+j;let J=p.x,D=p.y;l.setWidth(this.width),A?R>0&&J+Z+c>this.right&&(D=p.y+=I,p.line++,J=p.x=un(o,this.left+c,this.right-s[p.line])):R>0&&D+I>this.bottom&&(J=p.x=J+n[p.line].width+c,p.line++,D=p.y=un(o,this.top+S+c,this.bottom-n[p.line].height));const V=l.x(J);if(x(V,D,B),J=z5(G,J+y+h,A?J+Z:this.right,t.rtl),k(l.x(J),D,B),A)p.x+=Z+c;else if(typeof B.text!="string"){const M=u.lineHeight;p.y+=Cb(B,M)+c}else p.y+=I}),sb(this.ctx,t.textDirection)}drawTitle(){const t=this.options,n=t.title,s=sn(n.font),i=zn(n.padding);if(!n.display)return;const o=Lo(t.rtl,this.left,this.width),r=this.ctx,a=n.position,l=s.size/2,u=i.top+l;let c,d=this.left,h=this.width;if(this.isHorizontal())h=Math.max(...this.lineWidths),c=this.top+u,d=un(t.align,d,this.right-h);else{const y=this.columnSizes.reduce((m,b)=>Math.max(m,b.height),0);c=u+un(t.align,this.top,this.bottom-y-t.labels.padding-this._computeTitleHeight())}const p=un(a,d,d+h);r.textAlign=o.textAlign(Ky(a)),r.textBaseline="middle",r.strokeStyle=n.color,r.fillStyle=n.color,r.font=s.string,eu(r,n.text,p,c,s)}_computeTitleHeight(){const t=this.options.title,n=sn(t.font),s=zn(t.padding);return t.display?n.lineHeight+s.height:0}_getLegendItemAt(t,n){let s,i,o;if(Hi(t,this.left,this.right)&&Hi(n,this.top,this.bottom)){for(o=this.legendHitBoxes,s=0;so.length>r.length?o:r)),t+n.size/2+s.measureText(i).width}function e$(e,t,n){let s=e;return typeof t.text!="string"&&(s=Cb(t,n)),s}function Cb(e,t){const n=e.text?e.text.length:0;return t*n}function t$(e,t){return!!((e==="mousemove"||e==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(e==="click"||e==="mouseup"))}var n$={id:"legend",_element:Jg,start(e,t,n){const s=e.legend=new Jg({ctx:e.ctx,options:n,chart:e});Qs.configure(e,s,n),Qs.addBox(e,s)},stop(e){Qs.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){const s=e.legend;Qs.configure(e,s,n),s.options=n},afterUpdate(e){const t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,n){const s=t.datasetIndex,i=n.chart;i.isDatasetVisible(s)?(i.hide(s),t.hidden=!0):(i.show(s),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:s,textAlign:i,color:o,useBorderRadius:r,borderRadius:a}}=e.legend.options;return e._getSortedDatasetMetas().map(l=>{const u=l.controller.getStyle(n?0:void 0),c=zn(u.borderWidth);return{text:t[l.index].label,fillStyle:u.backgroundColor,fontColor:o,hidden:!l.visible,lineCap:u.borderCapStyle,lineDash:u.borderDash,lineDashOffset:u.borderDashOffset,lineJoin:u.borderJoinStyle,lineWidth:(c.width+c.height)/4,strokeStyle:u.borderColor,pointStyle:s||u.pointStyle,rotation:u.rotation,textAlign:i||u.textAlign,borderRadius:r&&(a||u.borderRadius),datasetIndex:l.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};const wr={average(e){if(!e.length)return!1;let t,n,s=new Set,i=0,o=0;for(t=0,n=e.length;tr+a)/s.size,y:i/o}},nearest(e,t){if(!e.length)return!1;let n=t.x,s=t.y,i=Number.POSITIVE_INFINITY,o,r,a;for(o=0,r=e.length;o{delete i[p]}),t.headers=Jt.concat(o,i);const r=[];let a=!0;this.interceptors.request.forEach(function(p){if(typeof p.runWhen=="function"&&p.runWhen(t)===!1)return;a=a&&p.synchronous;const y=t.transitional||Uh;y&&y.legacyInterceptorReqResOrdering?r.unshift(p.fulfilled,p.rejected):r.push(p.fulfilled,p.rejected)});const l=[];this.interceptors.response.forEach(function(p){l.push(p.fulfilled,p.rejected)});let u,c=0,d;if(!a){const p=[td.bind(this),void 0];for(p.unshift(...r),p.push(...l),d=p.length,u=Promise.resolve(t);ctd.call(this,h)))}catch(b){u=Promise.reject(b)}break}}if(!u)try{u=td.call(this,h)}catch(p){u=Promise.reject(p)}for(c=0,d=l.length;c{if(!s._listeners)return;let o=s._listeners.length;for(;o-- >0;)s._listeners[o](i);s._listeners=null}),this.promise.then=i=>{let o;const r=new Promise(a=>{s.subscribe(a),o=a}).then(i);return r.cancel=function(){s.unsubscribe(o)},r},t(function(i,o,r){s.reason||(s.reason=new xa(i,o,r),n(s.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=s=>{t.abort(s)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new Hy(function(n){t=n}),cancel:t}}};function XS(e){return function(t){return e.apply(null,t)}}function QS(e){return $.isObject(e)&&e.isAxiosError===!0}const yl={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,ContentTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,UnprocessableContent:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerReturnsAnUnknownError:520,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(yl).forEach(([e,t])=>{yl[t]===void 0&&(yl[t]=e)});function Ny(e){const t=new Zi(e),n=fy(Zi.prototype.request,t);return $.extend(n,Zi.prototype,t,{allOwnKeys:!0}),$.extend(n,t,null,{allOwnKeys:!0}),n.create=function(s){return Ny(io(e,s))},n}const it=Ny(wa);it.Axios=Zi,it.CanceledError=xa,it.CancelToken=YS,it.isCancel=Iy,it.VERSION=Hh,it.toFormData=Lu,it.AxiosError=he,it.Cancel=it.CanceledError,it.all=function(e){return Promise.all(e)},it.spread=XS,it.isAxiosError=QS,it.mergeConfig=io,it.AxiosHeaders=Jt,it.formToJSON=e=>Oy($.isHTMLForm(e)?new FormData(e):e),it.getAdapter=zy.getAdapter,it.HttpStatusCode=yl,it.default=it;const{Axios:DH,AxiosError:$H,CanceledError:BH,isCancel:OH,CancelToken:PH,VERSION:IH,all:LH,Cancel:FH,isAxiosError:Fu,spread:RH,toFormData:VH,AxiosHeaders:jH,HttpStatusCode:UH,formToJSON:zH,getAdapter:HH,mergeConfig:NH,create:WH}=it;function MS(){const e=it.create({headers:{requesttoken:Kk()??"","X-Requested-With":"XMLHttpRequest"}});return Yk(t=>{e.defaults.headers.requesttoken=t}),Object.assign(e,{CancelToken:it.CancelToken,isCancel:it.isCancel})}const Zf="_nextcloudCsrfTokenReloaded";function e5(e){return async t=>{if(!Fu(t))throw t;const{config:n,response:s,request:i}=t,o=i?.responseURL;if(n&&!(Zf in n)&&s?.status===412&&s?.data?.message==="CSRF check failed"){console.warn(`Request to ${o} failed because of a CSRF mismatch. Fetching a new token.`);const r=await Zk();return e.defaults.headers.requesttoken=r,e({...n,[Zf]:!0,headers:{...n.headers,requesttoken:r}})}throw t}}const Yf="_nextcloudMaintenanceModeRetryDelay";function t5(e){return async t=>{if(!Fu(t))throw t;const{config:n,response:s,request:i}=t,o=i?.responseURL,r=s?.status,a=s?.headers;let l=n?.[Yf]??1;if(r===503&&a?.["x-nextcloud-maintenance-mode"]==="1"&&n?.retryIfMaintenanceMode){if(l*=2,l>32)throw console.error("Retry delay exceeded one minute, giving up.",{responseURL:o}),t;return console.warn(`Request to ${o} failed because of maintenance mode. Retrying in ${l}s`),await new Promise(u=>{setTimeout(u,l*1e3)}),e({...n,[Yf]:l})}throw t}}async function n5(e){if(Fu(e)){const{config:t,response:n,request:s}=e,i=s?.responseURL;n?.status===401&&n?.data?.message==="Current user is not logged in"&&t?.reloadExpiredSession&&globalThis.location?.reload&&(console.error(`Request to ${i} failed because the user session expired. Reloading the page …`),globalThis.OC?.reload?globalThis.OC.reload():globalThis.location.reload())}throw e}const vt=MS();vt.interceptors.response.use(e=>e,e5(vt)),vt.interceptors.response.use(e=>e,t5(vt)),vt.interceptors.response.use(e=>e,n5);const s5={name:"CogIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},i5=["aria-hidden","aria-label"],o5=["fill","width","height"],r5={key:0};function a5(e,t,n,s,i,o){return v(),x("span",ge(e.$attrs,{"aria-hidden":n.title?null:"true","aria-label":n.title,class:"material-design-icon cog-icon",role:"img",onClick:t[0]||(t[0]=r=>e.$emit("click",r))}),[(v(),x("svg",{fill:n.fillColor,class:"material-design-icon__svg",width:n.size,height:n.size,viewBox:"0 0 24 24"},[n.title?(v(),x("title",r5,w(n.title),1)):L("",!0),t[1]||(t[1]=m("path",{d:"M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z"},null,-1))],8,o5))],16,i5)}const Wy=de(s5,[["render",a5]]);function Ca(e){return e+.5|0}const Xs=(e,t,n)=>Math.max(Math.min(e,n),t);function xr(e){return Xs(Ca(e*2.55),0,255)}function ri(e){return Xs(Ca(e*255),0,255)}function As(e){return Xs(Ca(e/2.55)/100,0,1)}function Xf(e){return Xs(Ca(e*100),0,100)}const wn={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},th=[..."0123456789ABCDEF"],l5=e=>th[e&15],u5=e=>th[(e&240)>>4]+th[e&15],Wa=e=>(e&240)>>4===(e&15),c5=e=>Wa(e.r)&&Wa(e.g)&&Wa(e.b)&&Wa(e.a);function d5(e){var t=e.length,n;return e[0]==="#"&&(t===4||t===5?n={r:255&wn[e[1]]*17,g:255&wn[e[2]]*17,b:255&wn[e[3]]*17,a:t===5?wn[e[4]]*17:255}:(t===7||t===9)&&(n={r:wn[e[1]]<<4|wn[e[2]],g:wn[e[3]]<<4|wn[e[4]],b:wn[e[5]]<<4|wn[e[6]],a:t===9?wn[e[7]]<<4|wn[e[8]]:255})),n}const h5=(e,t)=>e<255?t(e):"";function p5(e){var t=c5(e)?l5:u5;return e?"#"+t(e.r)+t(e.g)+t(e.b)+h5(e.a,t):void 0}const f5=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Jy(e,t,n){const s=t*Math.min(n,1-n),i=(o,r=(o+e/30)%12)=>n-s*Math.max(Math.min(r-3,9-r,1),-1);return[i(0),i(8),i(4)]}function g5(e,t,n){const s=(i,o=(i+e/60)%6)=>n-n*t*Math.max(Math.min(o,4-o,1),0);return[s(5),s(3),s(1)]}function m5(e,t,n){const s=Jy(e,1,.5);let i;for(t+n>1&&(i=1/(t+n),t*=i,n*=i),i=0;i<3;i++)s[i]*=1-t-n,s[i]+=t;return s}function v5(e,t,n,s,i){return e===i?(t-n)/s+(t.5?u/(2-i-o):u/(i+o),a=v5(t,n,s,u,i),a=a*60+.5),[a|0,l||0,r]}function Jh(e,t,n,s){return(Array.isArray(t)?e(t[0],t[1],t[2]):e(t,n,s)).map(ri)}function qh(e,t,n){return Jh(Jy,e,t,n)}function y5(e,t,n){return Jh(m5,e,t,n)}function b5(e,t,n){return Jh(g5,e,t,n)}function qy(e){return(e%360+360)%360}function _5(e){const t=f5.exec(e);let n=255,s;if(!t)return;t[5]!==s&&(n=t[6]?xr(+t[5]):ri(+t[5]));const i=qy(+t[2]),o=+t[3]/100,r=+t[4]/100;return t[1]==="hwb"?s=y5(i,o,r):t[1]==="hsv"?s=b5(i,o,r):s=qh(i,o,r),{r:s[0],g:s[1],b:s[2],a:n}}function w5(e,t){var n=Wh(e);n[0]=qy(n[0]+t),n=qh(n),e.r=n[0],e.g=n[1],e.b=n[2]}function x5(e){if(!e)return;const t=Wh(e),n=t[0],s=Xf(t[1]),i=Xf(t[2]);return e.a<255?`hsla(${n}, ${s}%, ${i}%, ${As(e.a)})`:`hsl(${n}, ${s}%, ${i}%)`}const Qf={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Mf={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function C5(){const e={},t=Object.keys(Mf),n=Object.keys(Qf);let s,i,o,r,a;for(s=0;s>16&255,o>>8&255,o&255]}return e}let Ja;function k5(e){Ja||(Ja=C5(),Ja.transparent=[0,0,0,0]);const t=Ja[e.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const A5=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function E5(e){const t=A5.exec(e);let n=255,s,i,o;if(t){if(t[7]!==s){const r=+t[7];n=t[8]?xr(r):Xs(r*255,0,255)}return s=+t[1],i=+t[3],o=+t[5],s=255&(t[2]?xr(s):Xs(s,0,255)),i=255&(t[4]?xr(i):Xs(i,0,255)),o=255&(t[6]?xr(o):Xs(o,0,255)),{r:s,g:i,b:o,a:n}}}function S5(e){return e&&(e.a<255?`rgba(${e.r}, ${e.g}, ${e.b}, ${As(e.a)})`:`rgb(${e.r}, ${e.g}, ${e.b})`)}const nd=e=>e<=.0031308?e*12.92:Math.pow(e,1/2.4)*1.055-.055,Co=e=>e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4);function T5(e,t,n){const s=Co(As(e.r)),i=Co(As(e.g)),o=Co(As(e.b));return{r:ri(nd(s+n*(Co(As(t.r))-s))),g:ri(nd(i+n*(Co(As(t.g))-i))),b:ri(nd(o+n*(Co(As(t.b))-o))),a:e.a+n*(t.a-e.a)}}function qa(e,t,n){if(e){let s=Wh(e);s[t]=Math.max(0,Math.min(s[t]+s[t]*n,t===0?360:1)),s=qh(s),e.r=s[0],e.g=s[1],e.b=s[2]}}function Gy(e,t){return e&&Object.assign(t||{},e)}function eg(e){var t={r:0,g:0,b:0,a:255};return Array.isArray(e)?e.length>=3&&(t={r:e[0],g:e[1],b:e[2],a:255},e.length>3&&(t.a=ri(e[3]))):(t=Gy(e,{r:0,g:0,b:0,a:1}),t.a=ri(t.a)),t}function D5(e){return e.charAt(0)==="r"?E5(e):_5(e)}class sa{constructor(t){if(t instanceof sa)return t;const n=typeof t;let s;n==="object"?s=eg(t):n==="string"&&(s=d5(t)||k5(t)||D5(t)),this._rgb=s,this._valid=!!s}get valid(){return this._valid}get rgb(){var t=Gy(this._rgb);return t&&(t.a=As(t.a)),t}set rgb(t){this._rgb=eg(t)}rgbString(){return this._valid?S5(this._rgb):void 0}hexString(){return this._valid?p5(this._rgb):void 0}hslString(){return this._valid?x5(this._rgb):void 0}mix(t,n){if(t){const s=this.rgb,i=t.rgb;let o;const r=n===o?.5:n,a=2*r-1,l=s.a-i.a,u=((a*l===-1?a:(a+l)/(1+a*l))+1)/2;o=1-u,s.r=255&u*s.r+o*i.r+.5,s.g=255&u*s.g+o*i.g+.5,s.b=255&u*s.b+o*i.b+.5,s.a=r*s.a+(1-r)*i.a,this.rgb=s}return this}interpolate(t,n){return t&&(this._rgb=T5(this._rgb,t._rgb,n)),this}clone(){return new sa(this.rgb)}alpha(t){return this._rgb.a=ri(t),this}clearer(t){const n=this._rgb;return n.a*=1-t,this}greyscale(){const t=this._rgb,n=Ca(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=n,this}opaquer(t){const n=this._rgb;return n.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return qa(this._rgb,2,t),this}darken(t){return qa(this._rgb,2,-t),this}saturate(t){return qa(this._rgb,1,t),this}desaturate(t){return qa(this._rgb,1,-t),this}rotate(t){return w5(this._rgb,t),this}}function bs(){}const $5=(()=>{let e=0;return()=>e++})();function Xe(e){return e==null}function St(e){if(Array.isArray&&Array.isArray(e))return!0;const t=Object.prototype.toString.call(e);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function Le(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function qt(e){return(typeof e=="number"||e instanceof Number)&&isFinite(+e)}function qn(e,t){return qt(e)?e:t}function Oe(e,t){return typeof e>"u"?t:e}const B5=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100:+e/t,Ky=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100*t:+e;function Me(e,t,n){if(e&&typeof e.call=="function")return e.apply(n,t)}function Je(e,t,n,s){let i,o,r;if(St(e))for(o=e.length,i=0;i