1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2196],{23148:function(t,e,i){i.d(e,{De:function(){return t0},jI:function(){return M},kL:function(){return tU},qi:function(){return tX}});var s=i(95411),a=new /*! 2 * Chart.js v4.5.1 3 * https://www.chartjs.org 4 * (c) 2025 Chart.js Contributors 5 * Released under the MIT License 6 */ class{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,e,i,s){let a=e.listeners[s],n=e.duration;a.forEach(s=>s({chart:t,initial:e.initial,numSteps:n,currentStep:Math.min(i-e.start,n)}))}_refresh(){!this._request&&(this._running=!0,this._request=s.r.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let e=0;this._charts.forEach((i,s)=>{if(!i.running||!i.items.length)return;let a=i.items,n=a.length-1,r=!1,o;for(;n>=0;--n)(o=a[n])._active?(o._total>i.duration&&(i.duration=o._total),o.tick(t),r=!0):(a[n]=a[a.length-1],a.pop());r&&(s.draw(),this._notify(s,i,t,"progress")),a.length||(i.running=!1,this._notify(s,i,t,"complete"),i.initial=!1),e+=a.length}),this._lastDate=t,0===e&&(this._running=!1)}_getAnims(t){let e=this._charts,i=e.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,i)),i}listen(t,e,i){this._getAnims(t).listeners[e].push(i)}add(t,e){e&&e.length&&this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){let e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce((t,e)=>Math.max(t,e._duration),0),this._refresh())}running(t){if(!this._running)return!1;let e=this._charts.get(t);return!!e&&!!e.running&&!!e.items.length}stop(t){let e=this._charts.get(t);if(!e||!e.items.length)return;let i=e.items,s=i.length-1;for(;s>=0;--s)i[s].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}};let n="transparent",r={boolean:(t,e,i)=>i>.5?e:t,color(t,e,i){let a=(0,s.c)(t||n),r=a.valid&&(0,s.c)(e||n);return r&&r.valid?r.mix(a,i).hexString():e},number:(t,e,i)=>t+(e-t)*i};class o{constructor(t,e,i,a){let n=e[i];a=(0,s.a)([t.to,a,n,t.from]);let o=(0,s.a)([t.from,n,a]);this._active=!0,this._fn=t.fn||r[t.type||typeof o],this._easing=s.e[t.easing]||s.e.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=i,this._from=o,this._to=a,this._promises=void 0}active(){return this._active}update(t,e,i){if(this._active){this._notify(!1);let a=this._target[this._prop],n=i-this._start,r=this._duration-n;this._start=i,this._duration=Math.floor(Math.max(r,t.duration)),this._total+=n,this._loop=!!t.loop,this._to=(0,s.a)([t.to,e,a,t.from]),this._from=(0,s.a)([t.from,a,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){let e=t-this._start,i=this._duration,s=this._prop,a=this._from,n=this._loop,r=this._to,o;if(this._active=a!==r&&(n||e<i),!this._active){this._target[s]=r,this._notify(!0);return}if(e<0){this._target[s]=a;return}o=e/i%2,o=n&&o>1?2-o:o,o=this._easing(Math.min(1,Math.max(0,o))),this._target[s]=this._fn(a,r,o)}wait(){let t=this._promises||(this._promises=[]);return new Promise((e,i)=>{t.push({res:e,rej:i})})}_notify(t){let e=t?"res":"rej",i=this._promises||[];for(let s=0;s<i.length;s++)i[s][e]()}}class h{constructor(t,e){this._chart=t,this._properties=new Map,this.configure(e)}configure(t){if(!(0,s.i)(t))return;let e=Object.keys(s.d.animation),i=this._properties;Object.getOwnPropertyNames(t).forEach(a=>{let n=t[a];if(!(0,s.i)(n))return;let r={};for(let o of e)r[o]=n[o];((0,s.b)(n.properties)&&n.properties||[a]).forEach(t=>{t!==a&&i.has(t)||i.set(t,r)})})}_animateOptions(t,e){let i=e.options,s=function(t,e){if(!e)return;let i=t.options;if(!i){t.options=e;return}return i.$shared&&(t.options=i=Object.assign({},i,{$shared:!1,$animations:{}})),i}(t,i);if(!s)return[];let a=this._createAnimations(s,i);return i.$shared&&(function(t,e){let i=[],s=Object.keys(e);for(let a=0;a<s.length;a++){let n=t[s[a]];n&&n.active()&&i.push(n.wait())}return Promise.all(i)})(t.options.$animations,i).then(()=>{t.options=i},()=>{}),a}_createAnimations(t,e){let i=this._properties,s=[],a=t.$animations||(t.$animations={}),n=Object.keys(e),r=Date.now(),h;for(h=n.length-1;h>=0;--h){let l=n[h];if("$"===l.charAt(0))continue;if("options"===l){s.push(...this._animateOptions(t,e));continue}let d=e[l],c=a[l],u=i.get(l);if(c){if(u&&c.active()){c.update(u,d,r);continue}c.cancel()}if(!u||!u.duration){t[l]=d;continue}a[l]=c=new o(u,t,l,d),s.push(c)}return s}update(t,e){if(0===this._properties.size){Object.assign(t,e);return}let i=this._createAnimations(t,e);if(i.length)return a.add(this._chart,i),!0}}function l(t,e){let i=t&&t.options||{},s=i.reverse,a=void 0===i.min?e:0,n=void 0===i.max?e:0;return{start:s?n:a,end:s?a:n}}function d(t,e){let i=[],s=t._getSortedDatasetMetas(e),a,n;for(a=0,n=s.length;a<n;++a)i.push(s[a].index);return i}function c(t,e,i,a={}){let n=t.keys,r="single"===a.mode,o,h,l,d;if(null===e)return;let c=!1;for(o=0,h=n.length;o<h;++o){if((l=+n[o])===i){if(c=!0,a.all)continue;break}d=t.values[l],(0,s.g)(d)&&(r||0===e||(0,s.s)(e)===(0,s.s)(d))&&(e+=d)}return c||a.all?e:0}function u(t,e){let i=t&&t.options.stacked;return i||void 0===i&&void 0!==e.stack}function g(t,e,i){let s=t[e]||(t[e]={});return s[i]||(s[i]={})}function f(t,e,i,s){for(let a of e.getMatchingVisibleMetas(s).reverse()){let n=t[a.index];if(i&&n>0||!i&&n<0)return a.index}return null}function p(t,e){var i,s,a;let{chart:n,_cachedMeta:r}=t,o=n._stacks||(n._stacks={}),{iScale:h,vScale:l,index:d}=r,c=h.axis,u=l.axis,p=`${h.id}.${l.id}.${r.stack||r.type}`,m=e.length,_;for(let x=0;x<m;++x){let b=e[x],{[c]:v,[u]:y}=b,M=b._stacks||(b._stacks={});(_=M[u]=g(o,p,v))[d]=y,_._top=f(_,l,!0,r.type),_._bottom=f(_,l,!1,r.type);let w=_._visualValues||(_._visualValues={});w[d]=y}}function m(t,e){let i=t.scales;return Object.keys(i).filter(t=>i[t].axis===e).shift()}function _(t,e){let i=t.controller.index,s=t.vScale&&t.vScale.axis;
6if(s)for(let a of e=e||t._parsed){let n=a._stacks;if(!n||void 0===n[s]||void 0===n[s][i])return;delete n[s][i],void 0!==n[s]._visualValues&&void 0!==n[s]._visualValues[i]&&delete n[s]._visualValues[i]}}let x=t=>"reset"===t||"none"===t,b=(t,e)=>e?t:Object.assign({},t),v=(t,e,i)=>t&&!e.hidden&&e._stacked&&{keys:d(i,!0),values:null};class y{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,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(){let t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=u(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&&_(this._cachedMeta),this.index=t}linkScales(){let t=this.chart,e=this._cachedMeta,i=this.getDataset(),a=(t,e,i,s)=>"x"===t?e:"r"===t?s:i,n=e.xAxisID=(0,s.v)(i.xAxisID,m(t,"x")),r=e.yAxisID=(0,s.v)(i.yAxisID,m(t,"y")),o=e.rAxisID=(0,s.v)(i.rAxisID,m(t,"r")),h=e.indexAxis,l=e.iAxisID=a(h,n,r,o),d=e.vAxisID=a(h,r,n,o);e.xScale=this.getScaleForId(n),e.yScale=this.getScaleForId(r),e.rScale=this.getScaleForId(o),e.iScale=this.getScaleForId(l),e.vScale=this.getScaleForId(d)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){let e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){let t=this._cachedMeta;this._data&&(0,s.u)(this._data,this),t._stacked&&_(t)}_dataCheck(){let t=this.getDataset(),e=t.data||(t.data=[]),i=this._data;if((0,s.i)(e)){let a=this._cachedMeta;this._data=function(t,e){let{iScale:i,vScale:s}=e,a="x"===i.axis?"x":"y",n="x"===s.axis?"x":"y",r=Object.keys(t),o=Array(r.length),h,l,d;for(h=0,l=r.length;h<l;++h)d=r[h],o[h]={[a]:d,[n]:t[d]};return o}(e,a)}else if(i!==e){if(i){(0,s.u)(i,this);let n=this._cachedMeta;_(n),n._parsed=[]}e&&Object.isExtensible(e)&&(0,s.l)(e,this),this._syncList=[],this._data=e}}addElements(){let t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){let e=this._cachedMeta,i=this.getDataset(),s=!1;this._dataCheck();let a=e._stacked;e._stacked=u(e.vScale,e),e.stack!==i.stack&&(s=!0,_(e),e.stack=i.stack),this._resyncElements(t),(s||a!==e._stacked)&&(p(this,e._parsed),e._stacked=u(e.vScale,e))}configure(){let t=this.chart.config,e=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){let{_cachedMeta:i,_data:a}=this,{iScale:n,_stacked:r}=i,o=n.axis,h=0===t&&e===a.length||i._sorted,l=t>0&&i._parsed[t-1],d,c,u;if(!1===this._parsing)i._parsed=a,i._sorted=!0,u=a;else{u=(0,s.b)(a[t])?this.parseArrayData(i,a,t,e):(0,s.i)(a[t])?this.parseObjectData(i,a,t,e):this.parsePrimitiveData(i,a,t,e);let g=()=>null===c[o]||l&&c[o]<l[o];for(d=0;d<e;++d)i._parsed[d+t]=c=u[d],h&&(g()&&(h=!1),l=c);i._sorted=h}r&&p(this,u)}parsePrimitiveData(t,e,i,s){let{iScale:a,vScale:n}=t,r=a.axis,o=n.axis,h=a.getLabels(),l=a===n,d=Array(s),c,u;for(c=0;c<s;++c)u=c+i,d[c]={[r]:l||a.parse(h[u],u),[o]:n.parse(e[u],u)};return d}parseArrayData(t,e,i,s){let{xScale:a,yScale:n}=t,r=Array(s),o,h,l;for(o=0;o<s;++o)l=e[h=o+i],r[o]={x:a.parse(l[0],h),y:n.parse(l[1],h)};return r}parseObjectData(t,e,i,a){let{xScale:n,yScale:r}=t,{xAxisKey:o="x",yAxisKey:h="y"}=this._parsing,l=Array(a),d,c,u;for(d=0;d<a;++d)u=e[c=d+i],l[d]={x:n.parse((0,s.f)(u,o),c),y:r.parse((0,s.f)(u,h),c)};return l}getParsed(t){return this._cachedMeta._parsed[t]}getDataElement(t){return this._cachedMeta.data[t]}applyStack(t,e,i){let s=this.chart,a=this._cachedMeta,n=e[t.axis],r={keys:d(s,!0),values:e._stacks[t.axis]._visualValues};return c(r,n,a.index,{mode:i})}updateRangeFromParsed(t,e,i,s){let a=i[e.axis],n=null===a?NaN:a,r=s&&i._stacks[e.axis];s&&r&&(s.values=r,n=c(s,a,this._cachedMeta.index)),t.min=Math.min(t.min,n),t.max=Math.max(t.max,n)}getMinMax(t,e){let i=this._cachedMeta,a=i._parsed,n=i._sorted&&t===i.iScale,r=a.length,o=this._getOtherScale(t),h=v(e,i,this.chart),l={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:d,max:c}
6=function(t){let{min:e,max:i,minDefined:s,maxDefined:a}=t.getUserBounds();return{min:s?e:Number.NEGATIVE_INFINITY,max:a?i:Number.POSITIVE_INFINITY}}(o),u,g;function f(){g=a[u];let e=g[o.axis];return!(0,s.g)(g[t.axis])||d>e||c<e}for(u=0;u<r&&(f()||(this.updateRangeFromParsed(l,t,g,h),!n));++u);if(n){for(u=r-1;u>=0;--u)if(!f()){this.updateRangeFromParsed(l,t,g,h);break}}return l}getAllParsedValues(t){let e=this._cachedMeta._parsed,i=[],a,n,r;for(a=0,n=e.length;a<n;++a)r=e[a][t.axis],(0,s.g)(r)&&i.push(r);return i}getMaxOverflow(){return!1}getLabelAndValue(t){let e=this._cachedMeta,i=e.iScale,s=e.vScale,a=this.getParsed(t);return{label:i?""+i.getLabelForValue(a[i.axis]):"",value:s?""+s.getLabelForValue(a[s.axis]):""}}_update(t){var e;let i=this._cachedMeta;this.update(t||"default");let a,n,r,o;i._clip=(e=(0,s.v)(this.options.clip,function(t,e,i){if(!1===i)return!1;let s=l(t,i),a=l(e,i);return{top:a.end,right:s.end,bottom:a.start,left:s.start}}(i.xScale,i.yScale,this.getMaxOverflow())),(0,s.i)(e)?(a=e.top,n=e.right,r=e.bottom,o=e.left):a=n=r=o=e,{top:a,right:n,bottom:r,left:o,disabled:!1===e})}update(t){}draw(){let t=this._ctx,e=this.chart,i=this._cachedMeta,s=i.data||[],a=e.chartArea,n=[],r=this._drawStart||0,o=this._drawCount||s.length-r,h=this.options.drawActiveElementsOnTop,l;for(i.dataset&&i.dataset.draw(t,a,r,o),l=r;l<r+o;++l){let d=s[l];!d.hidden&&(d.active&&h?n.push(d):d.draw(t,a))}for(l=0;l<n.length;++l)n[l].draw(t,a)}getStyle(t,e){let i=e?"active":"default";return void 0===t&&this._cachedMeta.dataset?this.resolveDatasetElementOptions(i):this.resolveDataElementOptions(t||0,i)}getContext(t,e,i){var a,n,r,o,h;let l=this.getDataset(),d;if(t>=0&&t<this._cachedMeta.data.length){let c=this._cachedMeta.data[t];(d=c.$context||(c.$context=(a=this.getContext(),n=t,r=c,(0,s.j)(a,{active:!1,dataIndex:n,parsed:void 0,raw:void 0,element:r,index:n,mode:"default",type:"data"})))).parsed=this.getParsed(t),d.raw=l.data[t],d.index=d.dataIndex=t}else(d=this.$context||(this.$context=(o=this.chart.getContext(),h=this.index,(0,s.j)(o,{active:!1,dataset:void 0,datasetIndex:h,index:h,mode:"default",type:"dataset"})))).dataset=l,d.index=d.datasetIndex=this.index;return d.active=!!e,d.mode=i,d}resolveDatasetElementOptions(t){return this._resolveElementOptions(this.datasetElementType.id,t)}resolveDataElementOptions(t,e){return this._resolveElementOptions(this.dataElementType.id,e,t)}_resolveElementOptions(t,e="default",i){let a="active"===e,n=this._cachedDataOpts,r=t+"-"+e,o=n[r],h=this.enableOptionSharing&&(0,s.h)(i);if(o)return b(o,h);let l=this.chart.config,d=l.datasetElementScopeKeys(this._type,t),c=a?[`${t}Hover`,"hover",t,""]:[t,""],u=l.getOptionScopes(this.getDataset(),d),g=Object.keys(s.d.elements[t]),f=()=>this.getContext(i,a,e),p=l.resolveNamedOptions(u,g,f,c);return p.$shared&&(p.$shared=h,n[r]=Object.freeze(b(p,h))),p}_resolveAnimations(t,e,i){let s=this.chart,a=this._cachedDataOpts,n=`animation-${e}`,r=a[n];if(r)return r;let o;if(!1!==s.options.animation){let l=this.chart.config,d=l.datasetAnimationScopeKeys(this._type,e),c=l.getOptionScopes(this.getDataset(),d);o=l.createResolver(c,this.getContext(t,i,e))}let u=new h(s,o&&o.animations);return o&&o._cacheable&&(a[n]=Object.freeze(u)),u}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||x(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){let i=this.resolveDataElementOptions(t,e),s=this._sharedOptions,a=this.getSharedOptions(i),n=this.includeOptions(e,a)||a!==s;return this.updateSharedOptions(a,e,i),{sharedOptions:a,includeOptions:n}}updateElement(t,e,i,s){x(s)?Object.assign(t,i):this._resolveAnimations(e,s).update(t,i)}updateSharedOptions(t,e,i){t&&!x(e)&&this._resolveAnimations(void 0,e).update(t,i)}_setStyle(t,e,i,s){t.active=s;let a=this.getStyle(e,s);this._resolveAnimations(e,i,s).update(t,{options:!s&&this.getSharedOptions(a)||a})}removeHoverStyle(t,e,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,e,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){let t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){let t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){let e=this._data,i=this._cachedMeta.data;for(let[s,a,n]of this._syncList)this[s](a,n);this._syncList=[];let r=i.length,o=e.length,h=Math.min(o,r);h&&this.parse(0,h),o>r?this._insertElements(r,o-r,t):o<r&&this._removeElements(o,r-o)}
6_insertElements(t,e,i=!0){let s=this._cachedMeta,a=s.data,n=t+e,r,o=t=>{for(t.length+=e,r=t.length-1;r>=n;r--)t[r]=t[r-e]};for(o(a),r=t;r<n;++r)a[r]=new this.dataElementType;this._parsing&&o(s._parsed),this.parse(t,e),i&&this.updateElements(a,t,e,"reset")}updateElements(t,e,i,s){}_removeElements(t,e){let i=this._cachedMeta;if(this._parsing){let s=i._parsed.splice(t,e);i._stacked&&_(i,s)}i.data.splice(t,e)}_sync(t){if(this._parsing)this._syncList.push(t);else{let[e,i,s]=t;this[e](i,s)}this.chart._dataChanges.push([this.index,...t])}_onDataPush(){let t=arguments.length;this._sync(["_insertElements",this.getDataset().data.length-t,t])}_onDataPop(){this._sync(["_removeElements",this._cachedMeta.data.length-1,1])}_onDataShift(){this._sync(["_removeElements",0,1])}_onDataSplice(t,e){e&&this._sync(["_removeElements",t,e]);let i=arguments.length-2;i&&this._sync(["_insertElements",t,i])}_onDataUnshift(){this._sync(["_insertElements",0,arguments.length])}}class M extends y{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=>"spacing"!==t,_indexable:t=>"spacing"!==t&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){let e=t.data,{labels:{pointStyle:i,textAlign:s,color:a,useBorderRadius:n,borderRadius:r}}=t.legend.options;return e.labels.length&&e.datasets.length?e.labels.map((e,o)=>{let h=t.getDatasetMeta(0),l=h.controller.getStyle(o);return{text:e,fillStyle:l.backgroundColor,fontColor:a,hidden:!t.getDataVisibility(o),lineDash:l.borderDash,lineDashOffset:l.borderDashOffset,lineJoin:l.borderJoinStyle,lineWidth:l.borderWidth,strokeStyle:l.borderColor,textAlign:s,pointStyle:i,borderRadius:n&&(r||l.borderRadius),index:o}}):[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}}};constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){let i=this.getDataset().data,a=this._cachedMeta;if(!1===this._parsing)a._parsed=i;else{let n=t=>+i[t];if((0,s.i)(i[t])){let{key:r="value"}=this._parsing;n=t=>+(0,s.f)(i[t],r)}let o,h;for(o=t,h=t+e;o<h;++o)a._parsed[o]=n(o)}}_getRotation(){return(0,s.t)(this.options.rotation-90)}_getCircumference(){return(0,s.t)(this.options.circumference)}_getRotationExtents(){let t=s.T,e=-s.T;for(let i=0;i<this.chart.data.datasets.length;++i)if(this.chart.isDatasetVisible(i)&&this.chart.getDatasetMeta(i).type===this._type){let a=this.chart.getDatasetMeta(i).controller,n=a._getRotation(),r=a._getCircumference();t=Math.min(t,n),e=Math.max(e,n+r)}return{rotation:t,circumference:e-t}}update(t){let e=this.chart,{chartArea:i}=e,a=this._cachedMeta,n=a.data,r=this.getMaxBorderWidth()+this.getMaxOffset(n)+this.options.spacing,o=Math.max((Math.min(i.width,i.height)-r)/2,0),h=Math.min((0,s.m)(this.options.cutout,o),1),l=this._getRingWeight(this.index),{circumference:d,rotation:c}=this._getRotationExtents(),{ratioX:u,ratioY:g,offsetX:f,offsetY:p}=function(t,e,i){let a=1,n=1,r=0,o=0;if(e<s.T){let h=t+e,l=Math.cos(t),d=Math.sin(t),c=Math.cos(h),u=Math.sin(h),g=(e,a,n)=>(0,s.p)(e,t,h,!0)?1:Math.max(a,a*i,n,n*i),f=(e,a,n)=>(0,s.p)(e,t,h,!0)?-1:Math.min(a,a*i,n,n*i),p=g(0,l,c),m=g(s.H,d,u),_=f(s.P,l,c),x=f(s.P+s.H,d,u);a=(p-_)/2,n=(m-x)/2,r=-(p+_)/2,o=-(m+x)/2}return{ratioX:a,ratioY:n,offsetX:r,offsetY:o}}(c,d,h),m=(i.width-r)/u,_=(i.height-r)/g,x=(0,s.n)(this.options.radius,Math.max(Math.min(m,_)/2,0)),b=(x-Math.max(x*h,0))/this._getVisibleDatasetWeightTotal();this.offsetX=f*x,this.offsetY=p*x,a.total=this.calculateTotal(),this.outerRadius=x-b*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-b*l,0),this.updateElements(n,0,n.length,t)}_circumference(t,e){let i=this.options,a=this._cachedMeta,n=this._getCircumference();return e&&i.animation.animateRotate||!this.chart.getDataVisibility(t)||null===a._parsed[t]||a.data[t].hidden?0:this.calculateCircumference(a._parsed[t]*n/s.T)}updateElements(t,e,i,s){let a="reset"===s,n=this.chart,r=n.chartArea,o=n.options,h=o.animation,l=(r.left+r.right)/2,d=(r.top+r.bottom)/2,c=a&&h.animateScale,u=c?0:this.innerRadius,g=c?0:this.outerRadius,{sharedOptions:f,includeOptions:p}=this._getSharedOptions(e,s),m=this._getRotation(),_;for(_=0;_<e;++_)m+=this._circumference(_,a);for(_=e;_<e+i;++_){let x=this._circumference(_,a),b=t[_],v={x:l+this.offsetX,y:d+this.offsetY,startAngle:m,endAngle:m+x,circumference:x,outerRadius:g,innerRadius:u};p&&(v.options=f||this.resolveDataElementOptions(_,b.active?"active":s)),m+=x,this.updateElement(b,_,v,s)}}calculateTotal(){let t=this._cachedMeta,e=t.data,i=0,s;for(s=0;s<e.length;s++){let a=t._parsed[s];null!==a&&!isNaN(a)&&this.chart.getDataVisibility(s)&&!e[s].hidden&&(i+=Math.abs(a)
6)}return i}calculateCircumference(t){let e=this._cachedMeta.total;return e>0&&!isNaN(t)?s.T*(Math.abs(t)/e):0}getLabelAndValue(t){let e=this._cachedMeta,i=this.chart,a=i.data.labels||[],n=(0,s.o)(e._parsed[t],i.options.locale);return{label:a[t]||"",value:n}}getMaxBorderWidth(t){let e=0,i=this.chart,s,a,n,r,o;if(!t){for(s=0,a=i.data.datasets.length;s<a;++s)if(i.isDatasetVisible(s)){t=(n=i.getDatasetMeta(s)).data,r=n.controller;break}}if(!t)return 0;for(s=0,a=t.length;s<a;++s)"inner"!==(o=r.resolveDataElementOptions(s)).borderAlign&&(e=Math.max(e,o.borderWidth||0,o.hoverBorderWidth||0));return e}getMaxOffset(t){let e=0;for(let i=0,s=t.length;i<s;++i){let a=this.resolveDataElementOptions(i);e=Math.max(e,a.offset||0,a.hoverOffset||0)}return e}_getRingWeightOffset(t){let e=0;for(let i=0;i<t;++i)this.chart.isDatasetVisible(i)&&(e+=this._getRingWeight(i));return e}_getRingWeight(t){return Math.max((0,s.v)(this.chart.data.datasets[t].weight,1),0)}_getVisibleDatasetWeightTotal(){return this._getRingWeightOffset(this.chart.data.datasets.length)||1}}function w(){throw Error("This method is not implemented: Check that a complete date adapter is provided.")}class k{static override(t){Object.assign(k.prototype,t)}options;constructor(t){this.options=t||{}}init(){}formats(){return w()}parse(){return w()}format(){return w()}add(){return w()}diff(){return w()}startOf(){return w()}endOf(){return w()}}var D={_date:k};function S(t,e,i,a){let{controller:n,data:r,_sorted:o}=t,h=n._cachedMeta.iScale,l=t.dataset&&t.dataset.options?t.dataset.options.spanGaps:null;if(h&&e===h.axis&&"r"!==e&&o&&r.length){let d=h._reversePixels?s.A:s.B;if(a){if(n._sharedOptions){let c=r[0],u="function"==typeof c.getRange&&c.getRange(e);if(u){let g=d(r,e,i-u),f=d(r,e,i+u);return{lo:g.lo,hi:f.hi}}}}else{let p=d(r,e,i);if(l){let{vScale:m}=n._cachedMeta,{_parsed:_}=t,x=_.slice(0,p.lo+1).reverse().findIndex(t=>!(0,s.k)(t[m.axis]));p.lo-=Math.max(0,x);let b=_.slice(p.hi).findIndex(t=>!(0,s.k)(t[m.axis]));p.hi+=Math.max(0,b)}return p}}return{lo:0,hi:r.length-1}}function O(t,e,i,s,a){let n=t.getSortedVisibleDatasetMetas(),r=i[e];for(let o=0,h=n.length;o<h;++o){let{index:l,data:d}=n[o],{lo:c,hi:u}=S(n[o],e,r,a);for(let g=c;g<=u;++g){let f=d[g];f.skip||s(f,l,g)}}}function E(t,e,i,a,n){let r=[];if(!n&&!t.isPointInArea(e))return r;let o=function(i,o,h){(n||(0,s.C)(i,t.chartArea,0))&&i.inRange(e.x,e.y,a)&&r.push({element:i,datasetIndex:o,index:h})};return O(t,i,e,o,!0),r}function P(t,e,i,a,n,r){var o,h,l,d;if(!r&&!t.isPointInArea(e))return[];let c;return"r"!==i||a?function(t,e,i,s,a,n){let r=[],o=function(t){let e=-1!==t.indexOf("x"),i=-1!==t.indexOf("y");return function(t,s){let a=e?Math.abs(t.x-s.x):0,n=i?Math.abs(t.y-s.y):0;return Math.sqrt(Math.pow(a,2)+Math.pow(n,2))}}(i),h=Number.POSITIVE_INFINITY;return O(t,i,e,function(i,l,d){let c=i.inRange(e.x,e.y,a);if(s&&!c)return;let u=i.getCenterPoint(a),g=!!n||t.isPointInArea(u);if(!g&&!c)return;let f=o(e,u);f<h?(r=[{element:i,datasetIndex:l,index:d}],h=f):f===h&&r.push({element:i,datasetIndex:l,index:d})}),r}(t,e,i,a,n,r):(c=[],O(t,i,e,function(t,i,a){let{startAngle:r,endAngle:o}=t.getProps(["startAngle","endAngle"],n),{angle:h}=(0,s.D)(t,{x:e.x,y:e.y});(0,s.p)(h,r,o)&&c.push({element:t,datasetIndex:i,index:a})}),c)}function A(t,e,i,s,a){let n=[],r="x"===i?"inXRange":"inYRange",o=!1;return(O(t,i,e,(t,s,h)=>{t[r]&&t[r](e[i],a)&&(n.push({element:t,datasetIndex:s,index:h}),o=o||t.inRange(e.x,e.y,a))}),s&&!o)?[]:n}var L={evaluateInteractionItems:O,modes:{index(t,e,i,a){let n=(0,s.z)(e,t),r=i.axis||"x",o=i.includeInvisible||!1,h=i.intersect?E(t,n,r,a,o):P(t,n,r,!1,a,o),l=[];return h.length?(t.getSortedVisibleDatasetMetas().forEach(t=>{let e=h[0].index,i=t.data[e];i&&!i.skip&&l.push({element:i,datasetIndex:t.index,index:e})}),l):[]},dataset(t,e,i,a){let n=(0,s.z)(e,t),r=i.axis||"xy",o=i.includeInvisible||!1,h=i.intersect?E(t,n,r,a,o):P(t,n,r,!1,a,o);if(h.length>0){let l=h[0].datasetIndex,d=t.getDatasetMeta(l).data;h=[];for(let c=0;c<d.length;++c)h.push({element:d[c],datasetIndex:l,index:c})}return h},point(t,e,i,a){let n=(0,s.z)(e,t),r=i.axis||"xy",o=i.includeInvisible||!1;return E(t,n,r,a,o)},nearest(t,e,i,a){let n=(0,s.z)(e,t),r=i.axis||"xy",o=i.includeInvisible||!1;return P(t,n,r,i.intersect,a,o)}
6,x(t,e,i,a){let n=(0,s.z)(e,t);return A(t,n,"x",i.intersect,a)},y(t,e,i,a){let n=(0,s.z)(e,t);return A(t,n,"y",i.intersect,a)}}};let z=["left","top","right","bottom"];function T(t,e){return t.filter(t=>t.pos===e)}function C(t,e){return t.filter(t=>-1===z.indexOf(t.pos)&&t.box.axis===e)}function I(t,e){return t.sort((t,i)=>{let s=e?i:t,a=e?t:i;return s.weight===a.weight?s.index-a.index:s.weight-a.weight})}function R(t,e,i,s){return Math.max(t[i],e[i])+Math.max(t[s],e[s])}function F(t,e){t.top=Math.max(t.top,e.top),t.left=Math.max(t.left,e.left),t.bottom=Math.max(t.bottom,e.bottom),t.right=Math.max(t.right,e.right)}function H(t,e,i,a){let{pos:n,box:r}=i,o=t.maxPadding;if(!(0,s.i)(n)){i.size&&(t[n]-=i.size);let h=a[i.stack]||{size:0,count:1};h.size=Math.max(h.size,i.horizontal?r.height:r.width),i.size=h.size/h.count,t[n]+=i.size}r.getPadding&&F(o,r.getPadding());let l=Math.max(0,e.outerWidth-R(o,t,"left","right")),d=Math.max(0,e.outerHeight-R(o,t,"top","bottom")),c=l!==t.w,u=d!==t.h;return t.w=l,t.h=d,i.horizontal?{same:c,other:u}:{same:u,other:c}}function V(t,e){let i=e.maxPadding;return function t(s){let a={left:0,top:0,right:0,bottom:0};return s.forEach(t=>{a[t]=Math.max(e[t],i[t])}),a}(t?["left","right"]:["top","bottom"])}function j(t,e,i,s){let a=[],n,r,o,h,l,d;for(n=0,r=t.length,l=0;n<r;++n){(h=(o=t[n]).box).update(o.width||e.w,o.height||e.h,V(o.horizontal,e));let{same:c,other:u}=H(e,i,o,s);l|=c&&a.length,d=d||u,h.fullSize||a.push(o)}return l&&j(a,e,i,s)||d}function N(t,e,i,s,a){t.top=i,t.left=e,t.right=e+s,t.bottom=i+a,t.width=s,t.height=a}function W(t,e,i,a){let n=i.padding,{x:r,y:o}=e;for(let h of t){let l=h.box,d=a[h.stack]||{count:1,placed:0,weight:1},c=h.stackWeight/d.weight||1;if(h.horizontal){let u=e.w*c,g=d.size||l.height;(0,s.h)(d.start)&&(o=d.start),l.fullSize?N(l,n.left,o,i.outerWidth-n.right-n.left,g):N(l,e.left+d.placed,o,u,g),d.start=o,d.placed+=u,o=l.bottom}else{let f=e.h*c,p=d.size||l.width;(0,s.h)(d.start)&&(r=d.start),l.fullSize?N(l,r,n.top,p,i.outerHeight-n.bottom-n.top):N(l,r,e.top+d.placed,p,f),d.start=r,d.placed+=f,r=l.right}}e.x=r,e.y=o}var B={addBox(t,e){t.boxes||(t.boxes=[]),e.fullSize=e.fullSize||!1,e.position=e.position||"top",e.weight=e.weight||0,e._layers=e._layers||function(){return[{z:0,draw(t){e.draw(t)}}]},t.boxes.push(e)},removeBox(t,e){let i=t.boxes?t.boxes.indexOf(e):-1;-1!==i&&t.boxes.splice(i,1)},configure(t,e,i){e.fullSize=i.fullSize,e.position=i.position,e.weight=i.weight},update(t,e,i,a){if(!t)return;let n=(0,s.E)(t.options.layout.padding),r=Math.max(e-n.width,0),o=Math.max(i-n.height,0),h=function(t){let e=function(t){let e=[],i,s,a,n,r,o;for(i=0,s=(t||[]).length;i<s;++i)a=t[i],({position:n,options:{stack:r,stackWeight:o=1}}=a),e.push({index:i,box:a,pos:n,horizontal:a.isHorizontal(),weight:a.weight,stack:r&&n+r,stackWeight:o});return e}(t),i=I(e.filter(t=>t.box.fullSize),!0),s=I(T(e,"left"),!0),a=I(T(e,"right")),n=I(T(e,"top"),!0),r=I(T(e,"bottom")),o=C(e,"x"),h=C(e,"y");return{fullSize:i,leftAndTop:s.concat(n),rightAndBottom:a.concat(h).concat(r).concat(o),chartArea:T(e,"chartArea"),vertical:s.concat(a).concat(h),horizontal:n.concat(r).concat(o)}}(t.boxes),l=h.vertical,d=h.horizontal;(0,s.F)(t.boxes,t=>{"function"==typeof t.beforeLayout&&t.beforeLayout()});let c=l.reduce((t,e)=>e.box.options&&!1===e.box.options.display?t:t+1,0)||1,u=Object.freeze({outerWidth:e,outerHeight:i,padding:n,availableWidth:r,availableHeight:o,vBoxMaxWidth:r/2/c,hBoxMaxHeight:o/2}),g=Object.assign({},n);F(g,(0,s.E)(a));let f=Object.assign({maxPadding:g,w:r,h:o,x:n.left,y:n.top},n),p=function(t,e){let i=function(t){let e={};for(let i of t){let{stack:s,pos:a,stackWeight:n}=i;if(!s||!z.includes(a))continue;let r=e[s]||(e[s]={count:0,placed:0,weight:0,size:0});r.count++,r.weight+=n}return e}(t),{vBoxMaxWidth:s,hBoxMaxHeight:a}=e,n,r,o;for(n=0,r=t.length;n<r;++n){o=t[n];let{fullSize:h}=o.box,l=i[o.stack],d=l&&o.stackWeight/l.weight;o.horizontal?(o.width=d?d*s:h&&e.availableWidth,o.height=a):(o.width=s,o.height=d?d*a:h&&e.availableHeight)}return i}(l.concat(d),u);j(h.fullSize,f,u,p),j(l,f,u,p),j(d,f,u,p)&&j(l,f,u,p),function(t){let e=t.maxPadding;function i(i){let s=Math.max(e[i]-t[i],0);return t[i]+=s,s}t.y+=i("top"),t.x+=i("left"),i("right"),i("bottom")}(f),W(h.leftAndTop,f,u,p),f.x+=f.w,f.y+=f.h,W(h.rightAndBottom,f,u,p),t.chartArea={left:f.left,top:f.top,right:f.left+f.w,bottom:f.top+f.h,height:f.h,width:f.w},(0,s.F)(h.chartArea,e=>{let i=e.box;Object.assign(i,t.chartArea),i.update(f.w,f.h,{left:0,top:0,right:0,bottom:0})})}};class ${acquireContext(t,e){}releaseContext(t){return!1}
6addEventListener(t,e,i){}removeEventListener(t,e,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,i,s){return e=Math.max(0,e||t.width),i=i||t.height,{width:e,height:Math.max(0,s?Math.floor(e/s):i)}}isAttached(t){return!0}updateConfig(t){}}class U extends ${acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}let Q="$chartjs",Y={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},G=t=>null===t||""===t,X=!!s.K&&{passive:!0};function J(t,e,i){t&&t.canvas&&t.canvas.removeEventListener(e,i,X)}function q(t,e){for(let i of t)if(i===e||i.contains(e))return!0}function K(t,e,i){let s=t.canvas,a=new MutationObserver(t=>{let e=!1;for(let a of t)e=(e=e||q(a.addedNodes,s))&&!q(a.removedNodes,s);e&&i()});return a.observe(document,{childList:!0,subtree:!0}),a}function Z(t,e,i){let s=t.canvas,a=new MutationObserver(t=>{let e=!1;for(let a of t)e=(e=e||q(a.removedNodes,s))&&!q(a.addedNodes,s);e&&i()});return a.observe(document,{childList:!0,subtree:!0}),a}let tt=new Map,te=0;function ti(){let t=window.devicePixelRatio;t!==te&&(te=t,tt.forEach((e,i)=>{i.currentDevicePixelRatio!==t&&e()}))}function ts(t,e,i){var a,n;let r=t.canvas,o=r&&(0,s.I)(r);if(!o)return;let h=(0,s.L)((t,e)=>{let s=o.clientWidth;i(t,e),s<o.clientWidth&&i()},window),l=new ResizeObserver(t=>{let e=t[0],i=e.contentRect.width,s=e.contentRect.height;(0!==i||0!==s)&&h(i,s)});return l.observe(o),tt.size||window.addEventListener("resize",ti),tt.set(t,h),l}function ta(t,e,i){if(i&&i.disconnect(),"resize"===e){var s;tt.delete(t),tt.size||window.removeEventListener("resize",ti)}}function tn(t,e,i){var a,n,r;let o=t.canvas,h=(0,s.L)(e=>{null!==t.ctx&&i(function(t,e){let i=Y[t.type]||t.type,{x:a,y:n}=(0,s.z)(t,e);return{type:i,chart:e,native:t,x:void 0!==a?a:null,y:void 0!==n?n:null}}(e,t))},t);return o&&o.addEventListener(e,h,X),h}class tr extends ${acquireContext(t,e){let i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(!function(t,e){let i=t.style,a=t.getAttribute("height"),n=t.getAttribute("width");if(t[Q]={initial:{height:a,width:n,style:{display:i.display,height:i.height,width:i.width}}},i.display=i.display||"block",i.boxSizing=i.boxSizing||"border-box",G(n)){let r=(0,s.J)(t,"width");void 0!==r&&(t.width=r)}if(G(a)){if(""===t.style.height)t.height=t.width/(e||2);else{let o=(0,s.J)(t,"height");void 0!==o&&(t.height=o)}}return t}(t,e),i):null}releaseContext(t){let e=t.canvas;if(!e[Q])return!1;let i=e[Q].initial;["height","width"].forEach(t=>{let a=i[t];(0,s.k)(a)?e.removeAttribute(t):e.setAttribute(t,a)});let a=i.style||{};return Object.keys(a).forEach(t=>{e.style[t]=a[t]}),e.width=e.width,delete e[Q],!0}addEventListener(t,e,i){this.removeEventListener(t,e);let s=t.$proxies||(t.$proxies={});s[e]=(({attach:K,detach:Z,resize:ts})[e]||tn)(t,e,i)}removeEventListener(t,e){let i=t.$proxies||(t.$proxies={}),s=i[e];s&&((({attach:ta,detach:ta,resize:ta})[e]||J)(t,e,s),i[e]=void 0)}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,i,a){return(0,s.G)(t,e,i,a)}isAttached(t){let e=t&&(0,s.I)(t);return!!(e&&e.isConnected)}}class to{static defaults={};static defaultRoutes=void 0;x;y;active=!1;options;$animations;tooltipPosition(t){let{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}hasValue(){return(0,s.x)(this.x)&&(0,s.x)(this.y)}getProps(t,e){let i=this.$animations;if(!e||!i)return this;let s={};return t.forEach(t=>{s[t]=i[t]&&i[t].active()?i[t]._to:this[t]}),s}}function th(t,e,i,a,n){let r=(0,s.v)(a,0),o=Math.min((0,s.v)(n,t.length),t.length),h=0,l,d,c;for(i=Math.ceil(i),n&&(i=(l=n-a)/Math.floor(l/i)),c=r;c<0;)c=Math.round(r+ ++h*i);for(d=Math.max(r,0);d<o;d++)d===c&&(e.push(t[d]),c=Math.round(r+ ++h*i))}let tl=t=>"left"===t?"right":"right"===t?"left":t,td=(t,e,i)=>"top"===e||"left"===e?t[e]+i:t[e]-i,tc=(t,e)=>Math.min(e||t,t);function tu(t,e){let i=[],s=t.length/e,a=t.length,n=0;for(;n<a;n+=s)i.push(t[Math.floor(n)]);return i}function tg(t,e,i){let s=t.ticks.length,a=Math.min(e,s-1),n=t._startPixel,r=t._endPixel,o=t.getPixelForTick(a),h;if(!i||(h=1===s?Math.max(o-n,r-o):0===e?(t.getPixelForTick(1)-o)/2:(o-t.getPixelForTick(a-1))/2,!((o+=a<e?h:-h)<n-1e-6)&&!(o>r+1e-6)))return o}function tf(t){return t.drawTicks?t.tickLength:0}function tp(t,e){if(!t.display)return 0;let i=(0,s.a0)(t.font,e),a=(0,s.E)(t.padding),n=(0,s.b)(t.text)?t.text.length:1;return n*i.lineHeight+a.height}class tm extends to{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,e){return t}getUserBounds(){let{_userMin:t,_userMax:e,_suggestedMin:i,_suggestedMax:a}=this;return t=(0,s.O)(t,Number.POSITIVE_INFINITY),e=(0,s.O)(e,Number.NEGATIVE_INFINITY),i=(0,s.O)(i,Number.POSITIVE_INFINITY),a=(0,s.O)(a,Number.NEGATIVE_INFINITY),{min:(0,s.O)(t,i),max:(0,s.O)(e,a),minDefined:(0,s.g)(t),maxDefined:(0,s.g)(e)}}getMinMax(t){let{min:e,max:i,minDefined:a,maxDefined:n}=this.getUserBounds(),r;if(a&&n)return{min:e,max:i};let o=this.getMatchingVisibleMetas();for(let h=0,l=o.length;h<l;++h)r=o[h].controller.getMinMax(this,t),a||(e=Math.min(e,r.min)),n||(i=Math.max(i,r.max));return e=n&&e>i?i:e,i=a&&e>i?e:i,{min:(0,s.O)(e,(0,s.O)(i,e)),max:(0,s.O)(i,(0,s.O)(e,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){let t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}
6getLabelItems(t=this.chart.chartArea){let e=this._labelItems||(this._labelItems=this._computeLabelItems(t));return e}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){(0,s.Q)(this.options.beforeUpdate,[this])}update(t,e,i){let{beginAtZero:a,grace:n,ticks:r}=this.options,o=r.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=(0,s.R)(this,n,a),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();let h=o<this.ticks.length;this._convertTicksToLabels(h?tu(this.ticks,o):this.ticks),this.configure(),this.beforeCalculateLabelRotation(),this.calculateLabelRotation(),this.afterCalculateLabelRotation(),r.display&&(r.autoSkip||"auto"===r.source)&&(this.ticks=function(t,e){let i=t.options.ticks,a=function(t){let e=t.options.offset,i=t._tickSize(),s=t._length/i+(e?0:1),a=t._maxLength/i;return Math.floor(Math.min(s,a))}(t),n=Math.min(i.maxTicksLimit||a,a),r=i.major.enabled?function(t){let e=[],i,s;for(i=0,s=t.length;i<s;i++)t[i].major&&e.push(i);return e}(e):[],o=r.length,h=r[0],l=r[o-1],d=[];if(o>n)return function(t,e,i,s){let a=0,n=i[0],r;for(r=0,s=Math.ceil(s);r<t.length;r++)r===n&&(e.push(t[r]),n=i[++a*s])}(e,d,r,o/n),d;let c=function(t,e,i){let a=function(t){let e=t.length,i,s;if(e<2)return!1;for(s=t[0],i=1;i<e;++i)if(t[i]-t[i-1]!==s)return!1;return s}(t),n=e.length/i;if(!a)return Math.max(n,1);let r=(0,s.N)(a);for(let o=0,h=r.length-1;o<h;o++){let l=r[o];if(l>n)return l}return Math.max(n,1)}(r,e,n);if(o>0){let u,g,f=o>1?Math.round((l-h)/(o-1)):null;for(th(e,d,c,(0,s.k)(f)?0:h-f,h),u=0,g=o-1;u<g;u++)th(e,d,c,r[u],r[u+1]);return th(e,d,c,l,(0,s.k)(f)?e.length:l+f),d}return th(e,d,c),d}(this,this.ticks),this._labelSizes=null,this.afterAutoSkip()),h&&this._convertTicksToLabels(this.ticks),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate()}configure(){let t=this.options.reverse,e,i;this.isHorizontal()?(e=this.left,i=this.right):(e=this.top,i=this.bottom,t=!t),this._startPixel=e,this._endPixel=i,this._reversePixels=t,this._length=i-e,this._alignToPixels=this.options.alignToPixels}afterUpdate(){(0,s.Q)(this.options.afterUpdate,[this])}beforeSetDimensions(){(0,s.Q)(this.options.beforeSetDimensions,[this])}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=0,this.right=this.width):(this.height=this.maxHeight,this.top=0,this.bottom=this.height),this.paddingLeft=0,this.paddingTop=0,this.paddingRight=0,this.paddingBottom=0}afterSetDimensions(){(0,s.Q)(this.options.afterSetDimensions,[this])}_callHooks(t){this.chart.notifyPlugins(t,this.getContext()),(0,s.Q)(this.options[t],[this])}beforeDataLimits(){this._callHooks("beforeDataLimits")}determineDataLimits(){}afterDataLimits(){this._callHooks("afterDataLimits")}beforeBuildTicks(){this._callHooks("beforeBuildTicks")}buildTicks(){return[]}afterBuildTicks(){this._callHooks("afterBuildTicks")}beforeTickToLabelConversion(){(0,s.Q)(this.options.beforeTickToLabelConversion,[this])}generateTickLabels(t){let e=this.options.ticks,i,a,n;for(i=0,a=t.length;i<a;i++)(n=t[i]).label=(0,s.Q)(e.callback,[n.value,i,t],this)}afterTickToLabelConversion(){(0,s.Q)(this.options.afterTickToLabelConversion,[this])}beforeCalculateLabelRotation(){(0,s.Q)(this.options.beforeCalculateLabelRotation,[this])}calculateLabelRotation(){let t=this.options,e=t.ticks,i=tc(this.ticks.length,t.ticks.maxTicksLimit),a=e.minRotation||0,n=e.maxRotation,r=a,o,h,l;if(!this._isVisible()||!e.display||a>=n||i<=1||!this.isHorizontal()){this.labelRotation=a;return}let d=this._getLabelSizes(),c=d.widest.width,u=d.highest.height,g=(0,s.S)(this.chart.width-c,0,this.maxWidth);c+6>(o=t.offset?this.maxWidth/i:g/(i-1))&&(o=g/(i-(t.offset?.5:1)),h=this.maxHeight-tf(t.grid)-e.padding-tp(t.t
6itle,this.chart.options.font),l=Math.sqrt(c*c+u*u),r=Math.max(a,Math.min(n,r=(0,s.U)(Math.min(Math.asin((0,s.S)((d.highest.height+6)/o,-1,1)),Math.asin((0,s.S)(h/l,-1,1))-Math.asin((0,s.S)(u/l,-1,1))))))),this.labelRotation=r}afterCalculateLabelRotation(){(0,s.Q)(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){(0,s.Q)(this.options.beforeFit,[this])}fit(){let t={width:0,height:0},{chart:e,options:{ticks:i,title:a,grid:n}}=this,r=this._isVisible(),o=this.isHorizontal();if(r){let h=tp(a,e.options.font);if(o?(t.width=this.maxWidth,t.height=tf(n)+h):(t.height=this.maxHeight,t.width=tf(n)+h),i.display&&this.ticks.length){let{first:l,last:d,widest:c,highest:u}=this._getLabelSizes(),g=2*i.padding,f=(0,s.t)(this.labelRotation),p=Math.cos(f),m=Math.sin(f);if(o){let _=i.mirror?0:m*c.width+p*u.height;t.height=Math.min(this.maxHeight,t.height+_+g)}else{let x=i.mirror?0:p*c.width+m*u.height;t.width=Math.min(this.maxWidth,t.width+x+g)}this._calculatePadding(l,d,m,p)}}this._handleMargins(),o?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,i,s){let{ticks:{align:a,padding:n},position:r}=this.options,o=0!==this.labelRotation,h="top"!==r&&"x"===this.axis;if(this.isHorizontal()){let l=this.getPixelForTick(0)-this.left,d=this.right-this.getPixelForTick(this.ticks.length-1),c=0,u=0;o?h?(c=s*t.width,u=i*e.height):(c=i*t.height,u=s*e.width):"start"===a?u=e.width:"end"===a?c=t.width:"inner"!==a&&(c=t.width/2,u=e.width/2),this.paddingLeft=Math.max((c-l+n)*this.width/(this.width-l),0),this.paddingRight=Math.max((u-d+n)*this.width/(this.width-d),0)}else{let g=e.height/2,f=t.height/2;"start"===a?(g=0,f=t.height):"end"===a&&(g=e.height,f=0),this.paddingTop=g+n,this.paddingBottom=f+n}}_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(){(0,s.Q)(this.options.afterFit,[this])}isHorizontal(){let{axis:t,position:e}=this.options;return"top"===e||"bottom"===e||"x"===t}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let e,i;for(e=0,i=t.length;e<i;e++)(0,s.k)(t[e].label)&&(t.splice(e,1),i--,e--);this.afterTickToLabelConversion()}_getLabelSizes(){let t=this._labelSizes;if(!t){let e=this.options.ticks.sampleSize,i=this.ticks;e<i.length&&(i=tu(i,e)),this._labelSizes=t=this._computeLabelSizes(i,i.length,this.options.ticks.maxTicksLimit)}return t}_computeLabelSizes(t,e,i){var a,n;let{ctx:r,_longestTextCache:o}=this,h=[],l=[],d=Math.floor(e/tc(e,i)),c=0,u=0,g,f,p,m,_,x,b,v,y,M,w;for(g=0;g<e;g+=d){if(m=t[g].label,_=this._resolveTickFontOptions(g),r.font=x=_.string,b=o[x]=o[x]||{data:{},gc:[]},v=_.lineHeight,y=M=0,(0,s.k)(m)||(0,s.b)(m)){if((0,s.b)(m))for(f=0,p=m.length;f<p;++f)w=m[f],(0,s.k)(w)||(0,s.b)(w)||(y=(0,s.V)(r,b.data,b.gc,y,w),M+=v)}else y=(0,s.V)(r,b.data,b.gc,y,m),M=v;h.push(y),l.push(M),c=Math.max(y,c),u=Math.max(M,u)}(0,s.F)(o,t=>{let i=t.gc,s=i.length/2,a;if(s>e){for(a=0;a<s;++a)delete t.data[i[a]];i.splice(0,s)}});let k=h.indexOf(c),D=l.indexOf(u),S=t=>({width:h[t]||0,height:l[t]||0});return{first:S(0),last:S(e-1),widest:S(k),highest:S(D),widths:h,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){let e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);let e=this._startPixel+t*this._length;return(0,s.W)(this._alignToPixels?(0,s.X)(this.chart,e,0):e)}getDecimalForPixel(t){let e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){let{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){var e,i,a,n,r;let o=this.ticks||[];if(t>=0&&t<o.length){let h=o[t];return h.$context||(h.$context=(e=this.getContext(),i=t,a=h,(0,s.j)(e,{tick:a,index:i,type:"tick"})))}return this.$context||(this.$context=(n=this.chart.getContext(),(0,s.j)(n,{scale:this,type:"scale"})))}_tickSize(){let t=this.options.ticks,e=(0,s.t)(this.labelRotation),i=Math.abs(Math.cos(e)),a=Math.abs(Math.sin(e)),n=this._getLabelSizes(),r=t.autoSkipPadding||0,o=n?n.widest.width+r:0,h=n?n.highe
6st.height+r:0;return this.isHorizontal()?h*i>o*a?o/i:h/a:h*a<o*i?h/i:o/a}_isVisible(){let t=this.options.display;return"auto"!==t?!!t:this.getMatchingVisibleMetas().length>0}_computeGridLineItems(t){let e=this.axis,i=this.chart,a=this.options,{grid:n,position:r,border:o}=a,h=n.offset,l=this.isHorizontal(),d=this.ticks,c=d.length+(h?1:0),u=tf(n),g=[],f=o.setContext(this.getContext()),p=f.display?f.width:0,m=p/2,_=function(t){return(0,s.X)(i,t,p)},x,b,v,y,M,w,k,D,S,O,E,P;if("top"===r)x=_(this.bottom),w=this.bottom-u,D=x-m,O=_(t.top)+m,P=t.bottom;else if("bottom"===r)x=_(this.top),O=t.top,P=_(t.bottom)-m,w=x+m,D=this.top+u;else if("left"===r)x=_(this.right),M=this.right-u,k=x-m,S=_(t.left)+m,E=t.right;else if("right"===r)x=_(this.left),S=t.left,E=_(t.right)-m,M=x+m,k=this.left+u;else if("x"===e){if("center"===r)x=_((t.top+t.bottom)/2+.5);else if((0,s.i)(r)){let A=Object.keys(r)[0],L=r[A];x=_(this.chart.scales[A].getPixelForValue(L))}O=t.top,P=t.bottom,D=(w=x+m)+u}else if("y"===e){if("center"===r)x=_((t.left+t.right)/2);else if((0,s.i)(r)){let z=Object.keys(r)[0],T=r[z];x=_(this.chart.scales[z].getPixelForValue(T))}k=(M=x-m)-u,S=t.left,E=t.right}let C=(0,s.v)(a.ticks.maxTicksLimit,c),I=Math.max(1,Math.ceil(c/C));for(b=0;b<c;b+=I){let R=this.getContext(b),F=n.setContext(R),H=o.setContext(R),V=F.lineWidth,j=F.color,N=H.dash||[],W=H.dashOffset,B=F.tickWidth,$=F.tickColor,U=F.tickBorderDash||[],Q=F.tickBorderDashOffset;void 0!==(v=tg(this,b,h))&&(y=(0,s.X)(i,v,V),l?M=k=S=E=y:w=D=O=P=y,g.push({tx1:M,ty1:w,tx2:k,ty2:D,x1:S,y1:O,x2:E,y2:P,width:V,color:j,borderDash:N,borderDashOffset:W,tickWidth:B,tickColor:$,tickBorderDash:U,tickBorderDashOffset:Q}))}return this._ticksLength=c,this._borderValue=x,g}_computeLabelItems(t){let e=this.axis,i=this.options,{position:a,ticks:n}=i,r=this.isHorizontal(),o=this.ticks,{align:h,crossAlign:l,padding:d,mirror:c}=n,u=tf(i.grid),g=u+d,f=c?-d:g,p=-(0,s.t)(this.labelRotation),m=[],_,x,b,v,y,M,w,k,D,S,O,E,P="middle";if("top"===a)M=this.bottom-f,w=this._getXAxisLabelAlignment();else if("bottom"===a)M=this.top+f,w=this._getXAxisLabelAlignment();else if("left"===a){let A=this._getYAxisLabelAlignment(u);w=A.textAlign,y=A.x}else if("right"===a){let L=this._getYAxisLabelAlignment(u);w=L.textAlign,y=L.x}else if("x"===e){if("center"===a)M=(t.top+t.bottom)/2+g;else if((0,s.i)(a)){let z=Object.keys(a)[0],T=a[z];M=this.chart.scales[z].getPixelForValue(T)+g}w=this._getXAxisLabelAlignment()}else if("y"===e){if("center"===a)y=(t.left+t.right)/2-g;else if((0,s.i)(a)){let C=Object.keys(a)[0],I=a[C];y=this.chart.scales[C].getPixelForValue(I)}w=this._getYAxisLabelAlignment(u).textAlign}"y"===e&&("start"===h?P="top":"end"===h&&(P="bottom"));let R=this._getLabelSizes();for(_=0,x=o.length;_<x;++_){v=o[_].label;let F=n.setContext(this.getContext(_));k=this.getPixelForTick(_)+n.labelOffset,S=(D=this._resolveTickFontOptions(_)).lineHeight,O=(0,s.b)(v)?v.length:1;let H=O/2,V=F.color,j=F.textStrokeColor,N=F.textStrokeWidth,W=w;r?(y=k,"inner"===w&&(W=_===x-1?this.options.reverse?"left":"right":0===_?this.options.reverse?"right":"left":"center"),E="top"===a?"near"===l||0!==p?-O*S+S/2:"center"===l?-R.highest.height/2-H*S+S:-R.highest.height+S/2:"near"===l||0!==p?S/2:"center"===l?R.highest.height/2-H*S:R.highest.height-O*S,c&&(E*=-1),0===p||F.showLabelBackdrop||(y+=S/2*Math.sin(p))):(M=k,E=(1-O)*S/2);let B;if(F.showLabelBackdrop){let $=(0,s.E)(F.backdropPadding),U=R.heights[_],Q=R.widths[_],Y=E-$.top,G=0-$.left;switch(P){case"middle":Y-=U/2;break;case"bottom":Y-=U}switch(w){case"center":G-=Q/2;break;case"right":G-=Q;break;case"inner":_===x-1?G-=Q:_>0&&(G-=Q/2)}B={left:G,top:Y,width:Q+$.width,height:U+$.height,color:F.backdropColor}}m.push({label:v,font:D,textOffset:E,options:{rotation:p,color:V,strokeColor:j,strokeWidth:N,textAlign:W,textBaseline:P,translation:[y,M],backdrop:B}})}return m}_getXAxisLabelAlignment(){let{position:t,ticks:e}=this.options,i=-(0,s.t)(this.labelRotation);if(i)return"top"===t?"left":"right";let a="center";return"start"===e.align?a="left":"end"===e.align?a="right":"inner"===e.align&&(a="inner"),a}_getYAxisLabelAlignment(t){let{position:e,ticks:{crossAlign:i,mirror:s,padding:a}}=this.options,n=this._getLabelSizes(),r=t+a,o=n.widest.width,h,l;return"left"===e?s?(l=this.right+a,"near"===i?h="left":"center"===i?(h="center",l+=o/2):(h="right",l+=o)):(l=this.right-r,"near"===i?h="right":"center"===i?(h="center",l-=o/2):(h="left",l=this.left)):"right"===e?s?(l=this.left+a,"near"===i?h="right":"center"===i?(h="center",l-=o/2):(h="left",l-=o)):(l=this.left+r,"near"===i?h="left":"center"===i?(h="center",l+=o/2):(h="right",l=this.right)):h="right",{textAlign:h,x:l}}_computeLabelArea(){if(this.options.ticks.mirror)return;let t=this.chart,e=this.options.position;return"left"===e||"right"===e?{top:0,left:this.left,bottom:t.height,right:this.right}
6:"top"===e||"bottom"===e?{top:this.top,left:0,bottom:this.bottom,right:t.width}:void 0}drawBackground(){let{ctx:t,options:{backgroundColor:e},left:i,top:s,width:a,height:n}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(i,s,a,n),t.restore())}getLineWidthForValue(t){let e=this.options.grid;if(!this._isVisible()||!e.display)return 0;let i=this.ticks,s=i.findIndex(e=>e.value===t);if(s>=0){let a=e.setContext(this.getContext(s));return a.lineWidth}return 0}drawGrid(t){let e=this.options.grid,i=this.ctx,s=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t)),a,n,r=(t,e,s)=>{s.width&&s.color&&(i.save(),i.lineWidth=s.width,i.strokeStyle=s.color,i.setLineDash(s.borderDash||[]),i.lineDashOffset=s.borderDashOffset,i.beginPath(),i.moveTo(t.x,t.y),i.lineTo(e.x,e.y),i.stroke(),i.restore())};if(e.display)for(a=0,n=s.length;a<n;++a){let o=s[a];e.drawOnChartArea&&r({x:o.x1,y:o.y1},{x:o.x2,y:o.y2},o),e.drawTicks&&r({x:o.tx1,y:o.ty1},{x:o.tx2,y:o.ty2},{color:o.tickColor,width:o.tickWidth,borderDash:o.tickBorderDash,borderDashOffset:o.tickBorderDashOffset})}}drawBorder(){let{chart:t,ctx:e,options:{border:i,grid:a}}=this,n=i.setContext(this.getContext()),r=i.display?n.width:0;if(!r)return;let o=a.setContext(this.getContext(0)).lineWidth,h=this._borderValue,l,d,c,u;this.isHorizontal()?(l=(0,s.X)(t,this.left,r)-r/2,d=(0,s.X)(t,this.right,o)+o/2,c=u=h):(c=(0,s.X)(t,this.top,r)-r/2,u=(0,s.X)(t,this.bottom,o)+o/2,l=d=h),e.save(),e.lineWidth=n.width,e.strokeStyle=n.color,e.beginPath(),e.moveTo(l,c),e.lineTo(d,u),e.stroke(),e.restore()}drawLabels(t){let e=this.options.ticks;if(!e.display)return;let i=this.ctx,a=this._computeLabelArea();a&&(0,s.Y)(i,a);let n=this.getLabelItems(t);for(let r of n){let o=r.options,h=r.font,l=r.label,d=r.textOffset;(0,s.Z)(i,l,0,d,h,o)}a&&(0,s.$)(i)}drawTitle(){var t,e,i;let{ctx:a,options:{position:n,title:r,reverse:o}}=this;if(!r.display)return;let h=(0,s.a0)(r.font),l=(0,s.E)(r.padding),d=r.align,c=h.lineHeight/2;"bottom"===n||"center"===n||(0,s.i)(n)?(c+=l.bottom,(0,s.b)(r.text)&&(c+=h.lineHeight*(r.text.length-1))):c+=l.top;let{titleX:u,titleY:g,maxWidth:f,rotation:p}=function(t,e,i,a){let{top:n,left:r,bottom:o,right:h,chart:l}=t,{chartArea:d,scales:c}=l,u=0,g,f,p,m=o-n,_=h-r;if(t.isHorizontal()){if(f=(0,s.a2)(a,r,h),(0,s.i)(i)){let x=Object.keys(i)[0],b=i[x];p=c[x].getPixelForValue(b)+m-e}else p="center"===i?(d.bottom+d.top)/2+m-e:td(t,i,e);g=h-r}else{if((0,s.i)(i)){let v=Object.keys(i)[0],y=i[v];f=c[v].getPixelForValue(y)-_+e}else f="center"===i?(d.left+d.right)/2-_+e:td(t,i,e);p=(0,s.a2)(a,o,n),u="left"===i?-s.H:s.H}return{titleX:f,titleY:p,maxWidth:g,rotation:u}}(this,c,n,d),m;(0,s.Z)(a,r.text,0,0,h,{color:r.color,maxWidth:f,rotation:p,textAlign:(m=(0,s.a1)(d),(o&&"right"!==n||!o&&"right"===n)&&(m=tl(m)),m),textBaseline:"middle",translation:[u,g]})}draw(t){this._isVisible()&&(this.drawBackground(),this.drawGrid(t),this.drawBorder(),this.drawTitle(),this.drawLabels(t))}_layers(){let t=this.options,e=t.ticks&&t.ticks.z||0,i=(0,s.v)(t.grid&&t.grid.z,-1),a=(0,s.v)(t.border&&t.border.z,0);return this._isVisible()&&this.draw===tm.prototype.draw?[{z:i,draw:t=>{this.drawBackground(),this.drawGrid(t),this.drawTitle()}},{z:a,draw:()=>{this.drawBorder()}},{z:e,draw:t=>{this.drawLabels(t)}}]:[{z:e,draw:t=>{this.draw(t)}}]}getMatchingVisibleMetas(t){let e=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",s=[],a,n;for(a=0,n=e.length;a<n;++a){let r=e[a];r[i]!==this.id||t&&r.type!==t||s.push(r)}return s}_resolveTickFontOptions(t){let e=this.options.ticks.setContext(this.getContext(t));return(0,s.a0)(e.font)}_maxDigits(){let t=this._resolveTickFontOptions(0).lineHeight;return(this.isHorizontal()?this.width:this.height)/t}}class t_{constructor(t,e,i){this.type=t,this.scope=e,this.override=i,this.items=Object.create(null)}isForType(t){return Object.prototype.isPrototypeOf.call(this.type.prototype,t.prototype)}register(t){var e;let i=Object.getPrototypeOf(t),a;e=i,"id"in e&&"defaults"in e&&(a=this.register(i));let n=this.items,r=t.id,o=this.scope+"."+r;if(!r)throw Error("class does not have id: "+t);
6return r in n||(n[r]=t,function(t,e,i){let a=(0,s.a4)(Object.create(null),[i?s.d.get(i):{},s.d.get(e),t.defaults]);s.d.set(e,a),t.defaultRoutes&&function(t,e){Object.keys(e).forEach(i=>{let a=i.split("."),n=a.pop(),r=[t].concat(a).join("."),o=e[i].split("."),h=o.pop(),l=o.join(".");s.d.route(r,n,l,h)})}(e,t.defaultRoutes),t.descriptors&&s.d.describe(e,t.descriptors)}(t,o,a),this.override&&s.d.override(t.id,t.overrides)),o}get(t){return this.items[t]}unregister(t){let e=this.items,i=t.id,a=this.scope;i in e&&delete e[i],a&&i in s.d[a]&&(delete s.d[a][i],this.override&&delete s.a3[i])}}var tx=new class{constructor(){this.controllers=new t_(y,"datasets",!0),this.elements=new t_(to,"elements"),this.plugins=new t_(Object,"plugins"),this.scales=new t_(tm,"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,e,i){[...e].forEach(e=>{let a=i||this._getRegistryForType(e);i||a.isForType(e)||a===this.plugins&&e.id?this._exec(t,a,e):(0,s.F)(e,e=>{let s=i||this._getRegistryForType(e);this._exec(t,s,e)})})}_exec(t,e,i){let a=(0,s.a5)(t);(0,s.Q)(i["before"+a],[],i),e[t](i),(0,s.Q)(i["after"+a],[],i)}_getRegistryForType(t){for(let e=0;e<this._typedRegistries.length;e++){let i=this._typedRegistries[e];if(i.isForType(t))return i}return this.plugins}_get(t,e,i){let s=e.get(t);if(void 0===s)throw Error('"'+t+'" is not a registered '+i+".");return s}};class tb{constructor(){this._init=void 0}notify(t,e,i,s){if("beforeInit"===e&&(this._init=this._createDescriptors(t,!0),this._notify(this._init,t,"install")),void 0===this._init)return;let a=s?this._descriptors(t).filter(s):this._descriptors(t),n=this._notify(a,t,e,i);return"afterDestroy"===e&&(this._notify(a,t,"stop"),this._notify(this._init,t,"uninstall"),this._init=void 0),n}_notify(t,e,i,a){for(let n of(a=a||{},t)){let r=n.plugin,o=r[i],h=[e,a,n.options];if(!1===(0,s.Q)(o,h,r)&&a.cancelable)return!1}return!0}invalidate(){(0,s.k)(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(t){if(this._cache)return this._cache;let e=this._cache=this._createDescriptors(t);return this._notifyStateChanges(t),e}_createDescriptors(t,e){let i=t&&t.config,a=(0,s.v)(i.options&&i.options.plugins,{}),n=function(t){let e={},i=[],s=Object.keys(tx.plugins.items);for(let a=0;a<s.length;a++)i.push(tx.getPlugin(s[a]));let n=t.plugins||[];for(let r=0;r<n.length;r++){let o=n[r];-1===i.indexOf(o)&&(i.push(o),e[o.id]=!0)}return{plugins:i,localIds:e}}(i);return!1!==a||e?function(t,{plugins:e,localIds:i},s,a){let n=[],r=t.getContext();for(let o of e){let h=o.id,l=tv(s[h],a);null!==l&&n.push({plugin:o,options:ty(t.config,{plugin:o,local:i[h]},l,r)})}return n}(t,n,a,e):[]}_notifyStateChanges(t){let e=this._oldCache||[],i=this._cache,s=(t,e)=>t.filter(t=>!e.some(e=>t.plugin.id===e.plugin.id));this._notify(s(e,i),t,"stop"),this._notify(s(i,e),t,"start")}}function tv(t,e){return e||!1!==t?!0===t?{}:t:null}function ty(t,{plugin:e,local:i},s,a){let n=t.pluginScopeKeys(e),r=t.getOptionScopes(s,n);return i&&e.defaults&&r.push(e.defaults),t.createResolver(r,a,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function tM(t,e){let i=s.d.datasets[t]||{},a=(e.datasets||{})[t]||{};return a.indexAxis||e.indexAxis||i.indexAxis||"x"}function tw(t){if("x"===t||"y"===t||"r"===t)return t}
6function tk(t){return"top"===t||"bottom"===t?"x":"left"===t||"right"===t?"y":void 0}function tD(t,...e){if(tw(t))return t;for(let i of e){let s=i.axis||tk(i.position)||t.length>1&&tw(t[0].toLowerCase());if(s)return s}throw Error(`Cannot determine type of '${t}' axis. Please provide 'axis' or 'position' option.`)}function tS(t,e,i){if(i[e+"AxisID"]===t)return{axis:e}}function tO(t){let e=t.options||(t.options={});e.plugins=(0,s.v)(e.plugins,{}),e.scales=function(t,e){let i=s.a3[t.type]||{scales:{}},a=e.scales||{},n=tM(t.type,e),r=Object.create(null);return Object.keys(a).forEach(e=>{var o,h;let l=a[e];if(!(0,s.i)(l))return console.error(`Invalid scale configuration for scale: ${e}`);if(l._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${e}`);let d=tD(e,l,function(t,e){if(e.data&&e.data.datasets){let i=e.data.datasets.filter(e=>e.xAxisID===t||e.yAxisID===t);if(i.length)return tS(t,"x",i[0])||tS(t,"y",i[0])}return{}}(e,t),s.d.scales[l.type]),c=i.scales||{};r[e]=(0,s.ab)(Object.create(null),[{axis:d},l,c[d],c[d===n?"_index_":"_value_"]])}),t.data.datasets.forEach(i=>{let n=i.type||t.type,o=i.indexAxis||tM(n,e),h=s.a3[n]||{},l=h.scales||{};Object.keys(l).forEach(t=>{var e,n;let h,d=(h=t,"_index_"===t?h=o:"_value_"===t&&(h="x"===o?"y":"x"),h),c=i[d+"AxisID"]||d;r[c]=r[c]||Object.create(null),(0,s.ab)(r[c],[{axis:d},a[c],l[t]])})}),Object.keys(r).forEach(t=>{let e=r[t];(0,s.ab)(e,[s.d.scales[e.type],s.d.scale])}),r}(t,e)}function tE(t){return(t=t||{}).datasets=t.datasets||[],t.labels=t.labels||[],t}let tP=new Map,tA=new Set;function tL(t,e){let i=tP.get(t);return i||(i=e(),tP.set(t,i),tA.add(i)),i}let tz=(t,e,i)=>{let a=(0,s.f)(e,i);void 0!==a&&t.add(a)};class tT{constructor(t){var e;this._config=((e=(e=t)||{}).data=tE(e.data),tO(e),e),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=tE(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){let t=this._config;this.clearCache(),tO(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return tL(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,e){return tL(`${t}.transition.${e}`,()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,e){return tL(`${t}-${e}`,()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]])}pluginScopeKeys(t){let e=t.id,i=this.type;return tL(`${i}-plugin-${e}`,()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,e){let i=this._scopeCache,s=i.get(t);return(!s||e)&&(s=new Map,i.set(t,s)),s}getOptionScopes(t,e,i){let{options:a,type:n}=this,r=this._cachedScopes(t,i),o=r.get(e);if(o)return o;let h=new Set;e.forEach(e=>{t&&(h.add(t),e.forEach(e=>tz(h,t,e))),e.forEach(t=>tz(h,a,t)),e.forEach(t=>tz(h,s.a3[n]||{},t)),e.forEach(t=>tz(h,s.d,t)),e.forEach(t=>tz(h,s.a6,t))});let l=Array.from(h);return 0===l.length&&l.push(Object.create(null)),tA.has(e)&&r.set(e,l),l}chartOptionScopes(){let{options:t,type:e}=this;return[t,s.a3[e]||{},s.d.datasets[e]||{},{type:e},s.d,s.a6]}resolveNamedOptions(t,e,i,a=[""]){let n={$shared:!0},{resolver:r,subPrefixes:o}=tC(this._resolverCache,t,a),h=r;if(function(t,e){let{isScriptable:i,isIndexable:a}=(0,s.aa)(t);for(let n of e){let r=i(n),o=a(n),h=(o||r)&&t[n];if(r&&((0,s.a7)(h)||tI(h))||o&&(0,s.b)(h))return!0}return!1}(r,e)){n.$shared=!1,i=(0,s.a7)(i)?i():i;let l=this.createResolver(t,i,o);h=(0,s.a8)(r,i,l)}for(let d of e)n[d]=h[d];return n}createResolver(t,e,i=[""],a){let{resolver:n}=tC(this._resolverCache,t,i);return(0,s.i)(e)?(0,s.a8)(n,e,void 0,a):n}}function tC(t,e,i){let a=t.get(e);a||(a=new Map,t.set(e,a));let n=i.join(),r=a.get(n);if(!r){let o=(0,s.a9)(e,i);r={resolver:o,subPrefixes:i.filter(t=>!t.toLowerCase().includes("hover"))},a.set(n,r)}return r}let tI=t=>(0,s.i)(t)&&Object.getOwnPropertyNames(t).some(e=>(0,s.a7)(t[e])),tR=["top","bottom","left","right","chartArea"];function tF(t,e){return"top"===t||"bottom"===t||-1===tR.indexOf(t)&&"x"===e}function tH(t,e){return function(i,s){return i[t]===s[t]?i[e]-s[e]:i[t]-s[t]}}function tV(t){let e=t.chart,i=e.options.animation;e.notifyPlugins("afterRender"),(0,s.Q)(i&&i.onComplete,[t],e)}function tj(t){let e=t.chart,i=e.options.animation;(0,s.Q)(i&&i.onProgress,[t],e)}function tN(t){return(0,s.M)()&&"string"==typeof t?t=document.getElementById(t):t&&t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas),t}let tW={},tB=t=>{let e=tN(t);return Object.values(tW).filter(t=>t.canvas===e).pop()};function t$(t,e,i){let s=Object.keys(t);for(let a of s){let n=+a;if(n>=e){let r=t[a];delete t[a],(i>0||n>e)&&(t[n+i]=r)}}}class tU{static defaults=s.d;static instances=tW;static overrides=s.a3;static registry=tx;static version="4.5.1";static getChart=tB;static register(...t){tx.add(...t),tQ()}static unregister(...t){tx.remove(...t),tQ()}constructor(t,e){var i;let n=this.config=new tT(e),r=tN(t),o=tB(r);if(o)throw Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");let h=n.createResolver(n.chartOptionScopes(),this.getContext());this.platform=new(n.platform||(!(0,s.M)()||"undefined"!=typeof OffscreenCanvas&&r instanceof OffscreenCanvas?U:tr)),this.platform.updateConfig(n);let l=this.platform.acquireContext(r,h.aspectRatio),d=l&&l.canvas,c=d&&d.height,u=d&&d.width;if(this.id=(0,s.ac)(),this.ctx=l,this.canvas=d,this.width=u,this.height=c,this._options=h,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 tb,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=(0,s.ad)(t=>this.update(t),h.resizeDelay||0),this._dataChanges=[],tW[this.id]=this,!l||!d){console.error("Failed to create chart: can't acquire context from the given item");return}a.listen(this,"complete",tV),a.listen(this,"progress",tj),this._initialize(),this.attached&&this.update()}get aspectRatio(){let{options:{aspectRatio:t,maintainAspectRatio:e},width:i,height:a,_aspectRatio:n}=this;return(0,s.k)(t)?e&&n?n:a?i/a:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return tx}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():(0,s.ae)(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return(0,s.af)(this.canvas,this.ctx),this}stop(){return a.stop(this),this}resize(t,e){a.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){let i=this.options,a=this.canvas,n=i.maintainAspectRatio&&this.aspectRatio,r=this.platform.getMaximumSize(a,t,e,n),o=i.devicePixelRatio||this.platform.getDevicePixelRatio(),h=this.width?"resize":"attach";this.width=r.width,this.height=r.height,this._aspectRatio=this.aspectRatio,(0,s.ae)(this,o,!0)&&(this.notifyPlugins("resize",{size:r}),(0,s.Q)(i.onResize,[this,r],this),this.attached&&this._doResize(h)&&this.render())}ensureScalesHaveIDs(){let t=this.options,e=t.scales||{};(0,s.F)(e,(t,e)=>{t.id=e})}buildOrUpdateScales(){let t=this.options,e=t.scales,i=this.scales,a=Object.keys(i).reduce((t,e)=>(t[e]=!1,t),{}),n=[];e&&(n=n.concat(Object.keys(e).map(t=>{let i=e[t],s=tD(t,i),a="r"===s,n="x"===s;return{options:i,dposition:a?"chartArea":n?"bottom":"left",dtype:a?"radialLinear":n?"category":"linear"}}))),(0,s.F)(n,e=>{let n=e.options,r=n.id,o=tD(r,n),h=(0,s.v)(n.type,e.dtype);(void 0===n.position||tF(n.position,o)!==tF(e.dposition))&&(n.position=e.dposition),a[r]=!0;let l=null;if(r in i&&i[r].type===h)l=i[r];else{let d=tx.getScale(h);
6i[(l=new d({id:r,type:h,ctx:this.ctx,chart:this})).id]=l}l.init(n,t)}),(0,s.F)(a,(t,e)=>{t||delete i[e]}),(0,s.F)(i,t=>{B.configure(this,t,t.options),B.addBox(this,t)})}_updateMetasets(){let t=this._metasets,e=this.data.datasets.length,i=t.length;if(t.sort((t,e)=>t.index-e.index),i>e){for(let s=e;s<i;++s)this._destroyDatasetMeta(s);t.splice(e,i-e)}this._sortedMetasets=t.slice(0).sort(tH("order","index"))}_removeUnreferencedMetasets(){let{_metasets:t,data:{datasets:e}}=this;t.length>e.length&&delete this._stacks,t.forEach((t,i)=>{0===e.filter(e=>e===t._dataset).length&&this._destroyDatasetMeta(i)})}buildOrUpdateControllers(){let t=[],e=this.data.datasets,i,a;for(this._removeUnreferencedMetasets(),i=0,a=e.length;i<a;i++){let n=e[i],r=this.getDatasetMeta(i),o=n.type||this.config.type;if(r.type&&r.type!==o&&(this._destroyDatasetMeta(i),r=this.getDatasetMeta(i)),r.type=o,r.indexAxis=n.indexAxis||tM(o,this.options),r.order=n.order||0,r.index=i,r.label=""+n.label,r.visible=this.isDatasetVisible(i),r.controller)r.controller.updateIndex(i),r.controller.linkScales();else{let h=tx.getController(o),{datasetElementType:l,dataElementType:d}=s.d.datasets[o];Object.assign(h,{dataElementType:tx.getElement(d),datasetElementType:l&&tx.getElement(l)}),r.controller=new h(this,i),t.push(r.controller)}}return this._updateMetasets(),t}_resetElements(){(0,s.F)(this.data.datasets,(t,e)=>{this.getDatasetMeta(e).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){let e=this.config;e.update();let i=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),a=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0}))return;let n=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let r=0;for(let o=0,h=this.data.datasets.length;o<h;o++){let{controller:l}=this.getDatasetMeta(o),d=!a&&-1===n.indexOf(l);l.buildOrUpdateElements(d),r=Math.max(+l.getMaxOverflow(),r)}r=this._minPadding=i.layout.autoPadding?r:0,this._updateLayout(r),a||(0,s.F)(n,t=>{t.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(tH("z","_idx"));let{_active:c,_lastEvent:u}=this;u?this._eventHandler(u,!0):c.length&&this._updateHoverStyles(c,c,!0),this.render()}_updateScales(){(0,s.F)(this.scales,t=>{B.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){let t=this.options,e=new Set(Object.keys(this._listeners)),i=new Set(t.events);(0,s.ag)(e,i)&&!!this._responsiveListeners===t.responsive||(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){let{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(let{method:i,start:s,count:a}of e){let n="_removeElements"===i?-a:a;t$(t,s,n)}}_getUniformDataChanges(){let t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];let e=this.data.datasets.length,i=e=>new Set(t.filter(t=>t[0]===e).map((t,e)=>e+","+t.splice(1).join(","))),a=i(0);for(let n=1;n<e;n++)if(!(0,s.ag)(a,i(n)))return;return Array.from(a).map(t=>t.split(",")).map(t=>({method:t[1],start:+t[2],count:+t[3]}))}_updateLayout(t){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;B.update(this,this.width,this.height,t);let e=this.chartArea,i=e.width<=0||e.height<=0;this._layers=[],(0,s.F)(this.boxes,t=>{(!i||"chartArea"!==t.position)&&(t.configure&&t.configure(),this._layers.push(...t._layers()))},this),this._layers.forEach((t,e)=>{t._idx=e}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})){for(let e=0,i=this.data.datasets.length;e<i;++e)this.getDatasetMeta(e).controller.configure();for(let a=0,n=this.data.datasets.length;a<n;++a)this._updateDataset(a,(0,s.a7)(t)?t({datasetIndex:a}):t);this.notifyPlugins("afterDatasetsUpdate",{mode:t})}}_updateDataset(t,e){let i=this.getDatasetMeta(t),s={meta:i,index:t,mode:e,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetUpdate",s)&&(i.controller._update(e),s.cancelable=!1,this.notifyPlugins("afterDatasetUpdate",s))}render(){!1!==this.notifyPlugins("beforeRender",{cancelable:!0})&&(a.has(this)?this.attached&&!a.running(this)&&a.start(this):(this.draw(),tV({chart:this})))}draw(){let t;if(this._resizeBeforeDraw){let{width:e,height:i}=this._resizeBeforeDraw;this._resizeBeforeDraw=null,this._resize(e,i)}if(this.clear(),this.width<=0||this.height<=0||!1===this.notifyPlugins("beforeDraw",{cancelable:!0}))return;let s=this._layers;for(t=0;t<s.length&&s[t].z<=0;++t)s[t].draw(this.chartArea);for(this._drawDatasets();t<s.length;++t)s[t].draw(this.chartArea);this.notifyPlugins("afterDraw")}_getSortedDatasetMetas(t){let e=this._sortedMetasets,i=[],s,a;for(s=0,a=e.length;s<a;++s){let n=e[s];(!t||n.visible)&&i.push(n)}return i}getSortedVisibleDatasetMetas(){return this._getSortedDatasetMetas(!0)}_drawDatasets(){if(!1===this.notifyPlugins("beforeDatasetsDraw",{cancelable:!0}))return;let t=this.getSortedVisibleDatasetMetas();for(let e=t.length-1;e>=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){let e=this.ctx,i={meta:t,index:t.index,cancelable:!0},a=(0,s.ah)(this,t);
6!1!==this.notifyPlugins("beforeDatasetDraw",i)&&(a&&(0,s.Y)(e,a),t.controller.draw(),a&&(0,s.$)(e),i.cancelable=!1,this.notifyPlugins("afterDatasetDraw",i))}isPointInArea(t){return(0,s.C)(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,i,s){let a=L.modes[e];return"function"==typeof a?a(this,t,i,s):[]}getDatasetMeta(t){let e=this.data.datasets[t],i=this._metasets,s=i.filter(t=>t&&t._dataset===e).pop();return s||(s={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},i.push(s)),s}getContext(){return this.$context||(this.$context=(0,s.j)(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){let e=this.data.datasets[t];if(!e)return!1;let i=this.getDatasetMeta(t);return"boolean"==typeof i.hidden?!i.hidden:!e.hidden}setDatasetVisibility(t,e){let i=this.getDatasetMeta(t);i.hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,i){let a=i?"show":"hide",n=this.getDatasetMeta(t),r=n.controller._resolveAnimations(void 0,a);(0,s.h)(e)?(n.data[e].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),r.update(n,{visible:i}),this.update(e=>e.datasetIndex===t?a:void 0))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){let e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),a.remove(this),t=0,e=this.data.datasets.length;t<e;++t)this._destroyDatasetMeta(t)}destroy(){this.notifyPlugins("beforeDestroy");let{canvas:t,ctx:e}=this;this._stop(),this.config.clearCache(),t&&(this.unbindEvents(),(0,s.af)(t,e),this.platform.releaseContext(e),this.canvas=null,this.ctx=null),delete tW[this.id],this.notifyPlugins("afterDestroy")}toBase64Image(...t){return this.canvas.toDataURL(...t)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){let t=this._listeners,e=this.platform,i=(i,s)=>{e.addEventListener(this,i,s),t[i]=s},a=(t,e,i)=>{t.offsetX=e,t.offsetY=i,this._eventHandler(t)};(0,s.F)(this.options.events,t=>i(t,a))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});let t=this._responsiveListeners,e=this.platform,i=(i,s)=>{e.addEventListener(this,i,s),t[i]=s},s=(i,s)=>{t[i]&&(e.removeEventListener(this,i,s),delete t[i])},a=(t,e)=>{this.canvas&&this.resize(t,e)},n,r=()=>{s("attach",r),this.attached=!0,this.resize(),i("resize",a),i("detach",n)};n=()=>{this.attached=!1,s("resize",a),this._stop(),this._resize(0,0),i("attach",r)},e.isAttached(this.canvas)?r():n()}unbindEvents(){(0,s.F)(this._listeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._listeners={},(0,s.F)(this._responsiveListeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,e,i){let s=i?"set":"remove",a,n,r,o;for("dataset"===e&&this.getDatasetMeta(t[0].datasetIndex).controller["_"+s+"DatasetHoverStyle"](),r=0,o=t.length;r<o;++r){n=t[r];let h=n&&this.getDatasetMeta(n.datasetIndex).controller;h&&h[s+"HoverStyle"](n.element,n.datasetIndex,n.index)}}getActiveElements(){return this._active||[]}setActiveElements(t){let e=this._active||[],i=t.map(({datasetIndex:t,index:e})=>{let i=this.getDatasetMeta(t);if(!i)throw Error("No dataset found at index "+t);return{datasetIndex:t,element:i.data[e],index:e}}),a=!(0,s.ai)(i,e);a&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,e))}notifyPlugins(t,e,i){return this._plugins.notify(this,t,e,i)}isPluginEnabled(t){return 1===this._plugins._cache.filter(e=>e.plugin.id===t).length}_updateHoverStyles(t,e,i){let s=this.options.hover,a=(t,e)=>t.filter(t=>!e.some(e=>t.datasetIndex===e.datasetIndex&&t.index===e.index)),n=a(e,t),r=i?t:a(t,e);n.length&&this.updateHoverStyle(n,s.mode,!1),r.length&&s.mode&&this.updateHoverStyle(r,s.mode,!0)}_eventHandler(t,e){let i={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},s=e=>(e.options.events||this.options.events).includes(t.native.type);if(!1===this.notifyPlugins("beforeEvent",i,s))return;let a=this._handleEvent(t,e,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,s),(a||i.changed)&&this.render(),this}_handleEvent(t,e,i){var a,n,r,o;let{_active:h=[],options:l}=this,d=this._getActiveElements(t,h,i,e),c=(0,s.aj)(t),u=(n=this._lastEvent,i&&"mouseout"!==t.type?c?n:t:null);i&&(this._lastEvent=null,(0,s.Q)(l.onHover,[t,d,this],this),c&&(0,s.Q)(l.onClick,[t,d,this],this));let g=!(0,s.ai)(d,h);return(g||e)&&(this._active=d,this._updateHoverStyles(d,h,e)),this._lastEvent=u,g}_getActiveElements(t,e,i,s){if("mouseout"===t.type)return[];if(!i)return e;let a=this.options.hover;return this.getElementsAtEventForMode(t,a.mode,a,s)}}function tQ(){return(0,s.F)(tU.instances,t=>t._plugins.invalidate())}function tY(t,e,i,s){return{x:i+t*Math.cos(e),y:s+t*Math.sin(e)}}function tG(t,e,i,a,n,r){let{x:o,y:h,startAngle:l,pixelMargin:d,innerRadius:c}=e,u=Math.max(e.outerRadius+a+i-d,0),g=c>0?c+a+i+d:0,f=0,p=n-l;if(a){let m=((c>0?c-a:0)+(u>0?u-a:0))/2;f=(p-(0!==m?p*m/(m+a):p))/2}let _=Math.max(.001,p*u-i/s.P)/u,x=(p-_)/2,b=l+x+f,v=n-x-f,{outerStart:y,outerEnd:M,innerStart:w,innerEnd:k}
6=function(t,e,i,a){var n;let r=(n=t.options.borderRadius,(0,s.am)(n,["outerStart","outerEnd","innerStart","innerEnd"])),o=(i-e)/2,h=Math.min(o,a*e/2),l=t=>(0,s.S)(t,0,Math.min(o,(i-Math.min(o,t))*a/2));return{outerStart:l(r.outerStart),outerEnd:l(r.outerEnd),innerStart:(0,s.S)(r.innerStart,0,h),innerEnd:(0,s.S)(r.innerEnd,0,h)}}(e,g,u,v-b),D=u-y,S=u-M,O=b+y/D,E=v-M/S,P=g+w,A=g+k,L=b+w/P,z=v-k/A;if(t.beginPath(),r){let T=(O+E)/2;if(t.arc(o,h,u,O,T),t.arc(o,h,u,T,E),M>0){let C=tY(S,E,o,h);t.arc(C.x,C.y,M,E,v+s.H)}let I=tY(A,v,o,h);if(t.lineTo(I.x,I.y),k>0){let R=tY(A,z,o,h);t.arc(R.x,R.y,k,v+s.H,z+Math.PI)}let F=(v-k/g+(b+w/g))/2;if(t.arc(o,h,g,v-k/g,F,!0),t.arc(o,h,g,F,b+w/g,!0),w>0){let H=tY(P,L,o,h);t.arc(H.x,H.y,w,L+Math.PI,b-s.H)}let V=tY(D,b,o,h);if(t.lineTo(V.x,V.y),y>0){let j=tY(D,O,o,h);t.arc(j.x,j.y,y,b-s.H,O)}}else t.moveTo(o,h),t.lineTo(Math.cos(O)*u+o,Math.sin(O)*u+h),t.lineTo(Math.cos(E)*u+o,Math.sin(E)*u+h);t.closePath()}class tX extends to{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=>"borderDash"!==t};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,e,i){let a=this.getProps(["x","y"],i),{angle:n,distance:r}=(0,s.D)(a,{x:t,y:e}),{startAngle:o,endAngle:h,innerRadius:l,outerRadius:d,circumference:c}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],i),u=(this.options.spacing+this.options.borderWidth)/2,g=(0,s.v)(c,h-o),f=(0,s.p)(n,o,h)&&o!==h,p=g>=s.T||f,m=(0,s.ak)(r,l+u,d+u);return p&&m}getCenterPoint(t){let{x:e,y:i,startAngle:s,endAngle:a,innerRadius:n,outerRadius:r}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],t),{offset:o,spacing:h}=this.options,l=(s+a)/2,d=(n+r+h+o)/2;return{x:e+Math.cos(l)*d,y:i+Math.sin(l)*d}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){let{options:e,circumference:i}=this,a=(e.offset||0)/4,n=(e.spacing||0)/2,r=e.circular;if(this.pixelMargin="inner"===e.borderAlign?.33:0,this.fullCircles=i>s.T?Math.floor(i/s.T):0,0===i||this.innerRadius<0||this.outerRadius<0)return;t.save();let o=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(o)*a,Math.sin(o)*a);let h=1-Math.sin(Math.min(s.P,i||0)),l=a*h;t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor,function(t,e,i,a,n){let{fullCircles:r,startAngle:o,circumference:h}=e,l=e.endAngle;if(r){tG(t,e,i,a,l,n);for(let d=0;d<r;++d)t.fill();isNaN(h)||(l=o+(h%s.T||s.T))}tG(t,e,i,a,l,n),t.fill()}(t,this,l,n,r),function(t,e,i,a,n){let{fullCircles:r,startAngle:o,circumference:h,options:l}=e,{borderWidth:d,borderJoinStyle:c,borderDash:u,borderDashOffset:g,borderRadius:f}=l,p="inner"===l.borderAlign;if(!d)return;t.setLineDash(u||[]),t.lineDashOffset=g,p?(t.lineWidth=2*d,t.lineJoin=c||"round"):(t.lineWidth=d,t.lineJoin=c||"bevel");let m=e.endAngle;if(r){tG(t,e,i,a,m,n);for(let _=0;_<r;++_)t.stroke();isNaN(h)||(m=o+(h%s.T||s.T))}p&&function(t,e,i){let{startAngle:a,pixelMargin:n,x:r,y:o,outerRadius:h,innerRadius:l}=e,d=n/h;t.beginPath(),t.arc(r,o,h,a-d,i+d),l>n?(d=n/l,t.arc(r,o,l,i+d,a-d,!0)):t.arc(r,o,n,i+s.H,a-s.H),t.closePath(),t.clip()}(t,e,m),l.selfJoin&&m-o>=s.P&&0===f&&"miter"!==c&&function(t,e,i){let{startAngle:a,x:n,y:r,outerRadius:o,innerRadius:h,options:l}=e,{borderWidth:d,borderJoinStyle:c}=l,u=Math.min(d/o,(0,s.al)(a-i));if(t.beginPath(),t.arc(n,r,o-d/2,a+u/2,i-u/2),h>0){let g=Math.min(d/h,(0,s.al)(a-i));t.arc(n,r,h+d/2,i-g/2,a+g/2,!0)}else{let f=Math.min(d/2,o*(0,s.al)(a-i));if("round"===c)t.arc(n,r,f,i-s.P/2,a+s.P/2,!0);else if("bevel"===c){let p=2*f*f,m=-p*Math.cos(i+s.P/2)+n,_=-p*Math.sin(i+s.P/2)+r,x=p*Math.cos(a+s.P/2)+n,b=p*Math.sin(a+s.P/2)+r;t.lineTo(m,_),t.lineTo(x,b)}}t.closePath(),t.moveTo(0,0),t.rect(0,0,t.canvas.width,t.canvas.height),t.clip("evenodd")}(t,e,m),r||(tG(t,e,i,a,m,n),t.stroke())}
6(t,this,l,n,r),t.restore()}}["rgb(54, 162, 235)","rgb(255, 99, 132)","rgb(255, 159, 64)","rgb(255, 205, 86)","rgb(75, 192, 192)","rgb(153, 102, 255)","rgb(201, 203, 207)"].map(t=>t.replace("rgb(","rgba(").replace(")",", 0.5)"));let tJ=(t,e)=>{let{boxHeight:i=e,boxWidth:s=e}=t;return t.usePointStyle&&(i=Math.min(i,e),s=t.pointStyleWidth||Math.min(s,e)),{boxWidth:s,boxHeight:i,itemHeight:Math.max(e,i)}},tq=(t,e)=>null!==t&&null!==e&&t.datasetIndex===e.datasetIndex&&t.index===e.index;class tK extends to{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,e,i){this.maxWidth=t,this.maxHeight=e,this._margins=i,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(){let t=this.options.labels||{},e=(0,s.Q)(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter(e=>t.filter(e,this.chart.data))),t.sort&&(e=e.sort((e,i)=>t.sort(e,i,this.chart.data))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){let{options:t,ctx:e}=this;if(!t.display){this.width=this.height=0;return}let i=t.labels,a=(0,s.a0)(i.font),n=a.size,r=this._computeTitleHeight(),{boxWidth:o,itemHeight:h}=tJ(i,n),l,d;e.font=a.string,this.isHorizontal()?(l=this.maxWidth,d=this._fitRows(r,n,o,h)+10):(d=this.maxHeight,l=this._fitCols(r,a,o,h)+10),this.width=Math.min(l,t.maxWidth||this.maxWidth),this.height=Math.min(d,t.maxHeight||this.maxHeight)}_fitRows(t,e,i,s){let{ctx:a,maxWidth:n,options:{labels:{padding:r}}}=this,o=this.legendHitBoxes=[],h=this.lineWidths=[0],l=s+r,d=t;a.textAlign="left",a.textBaseline="middle";let c=-1,u=-l;return this.legendItems.forEach((t,g)=>{let f=i+e/2+a.measureText(t.text).width;(0===g||h[h.length-1]+f+2*r>n)&&(d+=l,h[h.length-(g>0?0:1)]=0,u+=l,c++),o[g]={left:0,top:u,row:c,width:f,height:s},h[h.length-1]+=f+r}),d}_fitCols(t,e,i,s){let{ctx:a,maxHeight:n,options:{labels:{padding:r}}}=this,o=this.legendHitBoxes=[],h=this.columnSizes=[],l=n-t,d=r,c=0,u=0,g=0,f=0;return this.legendItems.forEach((t,n)=>{let{itemWidth:p,itemHeight:m}=function(t,e,i,s,a){var n,r,o,h,l,d,c;let u,g,f=(n=s,r=t,o=e,h=i,u=n.text,u&&"string"!=typeof u&&(u=u.reduce((t,e)=>t.length>e.length?t:e)),r+o.size/2+h.measureText(u).width),p=(l=a,d=s,c=e.lineHeight,g=l,"string"!=typeof d.text&&(g=tZ(d,c)),g);return{itemWidth:f,itemHeight:p}}(i,e,a,t,s);n>0&&u+m+2*r>l&&(d+=c+r,h.push({width:c,height:u}),g+=c+r,f++,c=u=0),o[n]={left:g,top:u,col:f,width:p,height:m},c=Math.max(c,p),u+=m+r}),d+=c,h.push({width:c,height:u}),d}adjustHitBoxes(){if(!this.options.display)return;let t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:i,labels:{padding:a},rtl:n}}=this,r=(0,s.aA)(n,this.left,this.width);if(this.isHorizontal()){let o=0,h=(0,s.a2)(i,this.left+a,this.right-this.lineWidths[o]);for(let l of e)o!==l.row&&(o=l.row,h=(0,s.a2)(i,this.left+a,this.right-this.lineWidths[o])),l.top+=this.top+t+a,l.left=r.leftForLtr(r.x(h),l.width),h+=l.width+a}else{let d=0,c=(0,s.a2)(i,this.top+t+a,this.bottom-this.columnSizes[d].height);for(let u of e)u.col!==d&&(d=u.col,c=(0,s.a2)(i,this.top+t+a,this.bottom-this.columnSizes[d].height)),u.top=c,u.left+=this.left+a,u.left=r.leftForLtr(r.x(u.left),u.width),c+=u.height+a}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){let t=this.ctx;(0,s.Y)(t,this),this._draw(),(0,s.$)(t)}}_draw(){let{options:t,columnSizes:e,lineWidths:i,ctx:a}=this,{align:n,labels:r}=t,o=s.d.color,h=(0,s.aA)(t.rtl,this.left,this.width),l=(0,s.a0)(r.font),{padding:d}=r,c=l.size,u=c/2,g;this.drawTitle(),a.textAlign=h.textAlign("left"),a.textBaseline="middle",a.lineWidth=.5,a.font=l.string;let{boxWidth:f,boxHeight:p,itemHeight:m}
6=tJ(r,c),_=function(t,e,i){if(isNaN(f)||f<=0||isNaN(p)||p<0)return;a.save();let n=(0,s.v)(i.lineWidth,1);if(a.fillStyle=(0,s.v)(i.fillStyle,o),a.lineCap=(0,s.v)(i.lineCap,"butt"),a.lineDashOffset=(0,s.v)(i.lineDashOffset,0),a.lineJoin=(0,s.v)(i.lineJoin,"miter"),a.lineWidth=n,a.strokeStyle=(0,s.v)(i.strokeStyle,o),a.setLineDash((0,s.v)(i.lineDash,[])),r.usePointStyle){let l={radius:p*Math.SQRT2/2,pointStyle:i.pointStyle,rotation:i.rotation,borderWidth:n},d=h.xPlus(t,f/2);(0,s.aE)(a,l,d,e+u,r.pointStyleWidth&&f)}else{let g=e+Math.max((c-p)/2,0),m=h.leftForLtr(t,f),_=(0,s.ay)(i.borderRadius);a.beginPath(),Object.values(_).some(t=>0!==t)?(0,s.aw)(a,{x:m,y:g,w:f,h:p,radius:_}):a.rect(m,g,f,p),a.fill(),0!==n&&a.stroke()}a.restore()},x=function(t,e,i){(0,s.Z)(a,i.text,t,e+m/2,l,{strikethrough:i.hidden,textAlign:h.textAlign(i.textAlign)})},b=this.isHorizontal(),v=this._computeTitleHeight();g=b?{x:(0,s.a2)(n,this.left+d,this.right-i[0]),y:this.top+d+v,line:0}:{x:this.left+d,y:(0,s.a2)(n,this.top+v+d,this.bottom-e[0].height),line:0},(0,s.aB)(this.ctx,t.textDirection);let y=m+d;this.legendItems.forEach((o,c)=>{a.strokeStyle=o.fontColor,a.fillStyle=o.fontColor;let p=a.measureText(o.text).width,m=h.textAlign(o.textAlign||(o.textAlign=r.textAlign)),M=f+u+p,w=g.x,k=g.y;h.setWidth(this.width),b?c>0&&w+M+d>this.right&&(k=g.y+=y,g.line++,w=g.x=(0,s.a2)(n,this.left+d,this.right-i[g.line])):c>0&&k+y>this.bottom&&(w=g.x=w+e[g.line].width+d,g.line++,k=g.y=(0,s.a2)(n,this.top+v+d,this.bottom-e[g.line].height));let D=h.x(w);if(_(D,k,o),w=(0,s.aC)(m,w+f+u,b?w+M:this.right,t.rtl),x(h.x(w),k,o),b)g.x+=M+d;else if("string"!=typeof o.text){let S=l.lineHeight;g.y+=tZ(o,S)+d}else g.y+=y}),(0,s.aD)(this.ctx,t.textDirection)}drawTitle(){let t=this.options,e=t.title,i=(0,s.a0)(e.font),a=(0,s.E)(e.padding);if(!e.display)return;let n=(0,s.aA)(t.rtl,this.left,this.width),r=this.ctx,o=e.position,h=i.size/2,l=a.top+h,d,c=this.left,u=this.width;if(this.isHorizontal())u=Math.max(...this.lineWidths),d=this.top+l,c=(0,s.a2)(t.align,c,this.right-u);else{let g=this.columnSizes.reduce((t,e)=>Math.max(t,e.height),0);d=l+(0,s.a2)(t.align,this.top,this.bottom-g-t.labels.padding-this._computeTitleHeight())}let f=(0,s.a2)(o,c,c+u);r.textAlign=n.textAlign((0,s.a1)(o)),r.textBaseline="middle",r.strokeStyle=e.color,r.fillStyle=e.color,r.font=i.string,(0,s.Z)(r,e.text,f,d,i)}_computeTitleHeight(){let t=this.options.title,e=(0,s.a0)(t.font),i=(0,s.E)(t.padding);return t.display?e.lineHeight+i.height:0}_getLegendItemAt(t,e){let i,a,n;if((0,s.ak)(t,this.left,this.right)&&(0,s.ak)(e,this.top,this.bottom)){for(i=0,n=this.legendHitBoxes;i<n.length;++i)if(a=n[i],(0,s.ak)(t,a.left,a.left+a.width)&&(0,s.ak)(e,a.top,a.top+a.height))return this.legendItems[i]}return null}handleEvent(t){var e,i;let a=this.options;if(e=t.type,i=a,("mousemove"!==e&&"mouseout"!==e||!i.onHover&&!i.onLeave)&&(!i.onClick||"click"!==e&&"mouseup"!==e))return;let n=this._getLegendItemAt(t.x,t.y);if("mousemove"===t.type||"mouseout"===t.type){let r=this._hoveredItem,o=tq(r,n);r&&!o&&(0,s.Q)(a.onLeave,[t,r,this],this),this._hoveredItem=n,n&&!o&&(0,s.Q)(a.onHover,[t,n,this],this)}else n&&(0,s.Q)(a.onClick,[t,n,this],this)}}function tZ(t,e){let i=t.text?t.text.length:0;return e*i}var t0={id:"legend",_element:tK,start(t,e,i){let s=t.legend=new tK({ctx:t.ctx,options:i,chart:t});B.configure(t,s,i),B.addBox(t,s)},stop(t){B.removeBox(t,t.legend),delete t.legend},beforeUpdate(t,e,i){let s=t.legend;B.configure(t,s,i),s.options=i},afterUpdate(t){let e=t.legend;e.buildLabels(),e.adjustHitBoxes()},afterEvent(t,e){e.replay||t.legend.handleEvent(e.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(t,e,i){let s=e.datasetIndex,a=i.chart;a.isDatasetVisible(s)?(a.hide(s),e.hidden=!0):(a.show(s),e.hidden=!1)},onHover:null,onLeave:null,labels:{color:t=>t.chart.options.color,boxWidth:40,padding:10,generateLabels(t){let e=t.data.datasets,{labels:{usePointStyle:i,pointStyle:a,textAlign:n,color:r,useBorderRadius:o,borderRadius:h}}=t.legend.options;return t._getSortedDatasetMetas().map(t=>{let l=t.controller.getStyle(i?0:void 0),d=(0,s.E)(l.borderWidth);return{text:e[t.index].label,fillStyle:l.backgroundColor,fontColor:r,hidden:!t.visible,lineCap:l.borderCapStyle,lineDash:l.borderDash,lineDashOffset:l.borderDashOffset,lineJoin:l.borderJoinStyle,lineWidth:(d.width+d.height)/4,strokeStyle:l.borderColor,pointStyle:a||l.pointStyle,rotation:l.rotation,textAlign:n||l.textAlign,borderRadius:o&&(h||l.borderRadius),datasetIndex:t.index}},this)}},title:{color:t=>t.chart.options.color,display:!1,position:"center",text:""}}
6,descriptors:{_scriptable:t=>!t.startsWith("on"),labels:{_scriptable:t=>!["generateLabels","filter","sort"].includes(t)}}};new WeakMap,s.aG,s.aG,s.aG,s.aG,s.aG,s.aG,s.aG,s.aG,s.aG;function t1(t,e,{horizontal:i,minRotation:a}){let n=(0,s.t)(a),r=.75*e*(""+t).length;return Math.min(e/((i?Math.sin(n):Math.cos(n))||.001),r)}class t2 extends tm{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,e){return(0,s.k)(t)||("number"==typeof t||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){let{beginAtZero:t}=this.options,{minDefined:e,maxDefined:i}=this.getUserBounds(),{min:a,max:n}=this,r=t=>a=e?a:t,o=t=>n=i?n:t;if(t){let h=(0,s.s)(a),l=(0,s.s)(n);h<0&&l<0?o(0):h>0&&l>0&&r(0)}if(a===n){let d=0===n?1:Math.abs(.05*n);o(n+d),t||r(a-d)}this.min=a,this.max=n}getTickLimit(){let t=this.options.ticks,{maxTicksLimit:e,stepSize:i}=t,s;return i?(s=Math.ceil(this.max/i)-Math.floor(this.min/i)+1)>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${s} ticks. Limiting to 1000.`),s=1e3):(s=this.computeTickLimit(),e=e||11),e&&(s=Math.min(e,s)),s}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){let t=this.options,e=t.ticks,i=this.getTickLimit();i=Math.max(2,i);let a={maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:!1!==e.includeBounds},n=this._range||this,r=function(t,e){let i=[],{bounds:a,step:n,min:r,max:o,precision:h,count:l,maxTicks:d,maxDigits:c,includeBounds:u}=t,g=n||1,f=d-1,{min:p,max:m}=e,_=!(0,s.k)(r),x=!(0,s.k)(o),b=!(0,s.k)(l),v=(m-p)/(c+1),y=(0,s.aI)((m-p)/f/g)*g,M,w,k,D;if(y<1e-14&&!_&&!x)return[{value:p},{value:m}];(D=Math.ceil(m/y)-Math.floor(p/y))>f&&(y=(0,s.aI)(D*y/f/g)*g),(0,s.k)(h)||(y=Math.ceil(y*(M=Math.pow(10,h)))/M),"ticks"===a?(w=Math.floor(p/y)*y,k=Math.ceil(m/y)*y):(w=p,k=m),_&&x&&n&&(0,s.aJ)((o-r)/n,y/1e3)?(D=Math.round(Math.min((o-r)/y,d)),y=(o-r)/D,w=r,k=o):b?(w=_?r:w,y=((k=x?o:k)-w)/(D=l-1)):(D=(k-w)/y,D=(0,s.aK)(D,Math.round(D),y/1e3)?Math.round(D):Math.ceil(D));let S=Math.max((0,s.aL)(y),(0,s.aL)(w));w=Math.round(w*M)/(M=Math.pow(10,(0,s.k)(h)?S:h)),k=Math.round(k*M)/M;let O=0;for(_&&(u&&w!==r?(i.push({value:r}),w<r&&O++,(0,s.aK)(Math.round((w+O*y)*M)/M,r,t1(r,v,t))&&O++):w<r&&O++);O<D;++O){let E=Math.round((w+O*y)*M)/M;if(x&&E>o)break;i.push({value:E})}return x&&u&&k!==o?i.length&&(0,s.aK)(i[i.length-1].value,o,t1(o,v,t))?i[i.length-1].value=o:i.push({value:o}):x&&k!==o||i.push({value:k}),i}(a,n);return"ticks"===t.bounds&&(0,s.aH)(r,this,"value"),t.reverse?(r.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),r}configure(){let t=this.ticks,e=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){let s=(i-e)/Math.max(t.length-1,1)/2;e-=s,i+=s}this._startValue=e,this._endValue=i,this._valueRange=i-e}getLabelForValue(t){return(0,s.o)(t,this.chart.options.locale,this.options.ticks.format)}}s.aM.formatters.numeric;let t5=t=>Math.floor((0,s.aN)(t)),t3=(t,e)=>Math.pow(10,t5(t)+e);function t6(t){let e=t/Math.pow(10,t5(t));return 1===e}function t4(t,e,i){let s=Math.pow(10,i);return Math.ceil(e/s)-Math.floor(t/s)}function t7(t){let e=t.ticks;if(e.display&&t.display){let i=(0,s.E)(e.backdropPadding);return(0,s.v)(e.font&&e.font.size,s.d.font.size)+i.height}return 0}function t8(t,e,i){return i=(0,s.b)(i)?i:[i],{w:(0,s.aO)(t,e.string,i),h:i.length*e.lineHeight}}function t9(t,e,i,s,a){return t===s||t===a?{start:e-i/2,end:e+i/2}:t<s||t>a?{start:e-i,end:e}:{start:e,end:e+i}}function et(t,e,i,s,a){let n=Math.abs(Math.sin(i)),r=Math.abs(Math.cos(i)),o=0,h=0;s.start<e.l?(o=(e.l-s.start)/n,t.l=Math.min(t.l,e.l-o)):s.end>e.r&&(o=(s.end-e.r)/n,t.r=Math.max(t.r,e.r+o)),a.start<e.t?(h=(e.t-a.start)/r,t.t=Math.min(t.t,e.t-h)):a.end>e.b&&(h=(a.end-e.b)/r,t.b=Math.max(t.b,e.b+h))}function ee(t,e,i){var a,n,r,o,h,l,d;let c=t.drawingArea,{extra:u,additionalAngle:g,padding:f,size:p}=i,m=t.getPointPosition(e,c+u+f,g),_=Math.round((0,s.U)((0,s.al)(m.angle+s.H))),x=(a=m.y,n=p.h,r=_,90===r||270===r?a-=n/2:(r>270||r<90)&&(a-=n),a),b=(o=_,0===o||180===o?"center":o<180?"left":"right"),v=(h=m.x,l=p.w,d=b,"right"===d?h-=l:"center"===d&&(h-=l/2),h);return{visible:!0,x:m.x,y:x,textAlign:b,left:v,top:x,right:v+p.w,bottom:x+p.h}}function ei(t,e){if(!e)return!0;let{left:i,top:a,right:n,bottom:r}=t,o=(0,s.C)({x:i,y:a},e)||(0,s.C)({x:i,y:r},e)||(0,s.C)({x:n,y:a},e)||(0,s.C)({x:n,y:r},e);return!o}
6function es(t,e,i){let{left:a,top:n,right:r,bottom:o}=i,{backdropColor:h}=e;if(!(0,s.k)(h)){let l=(0,s.ay)(e.borderRadius),d=(0,s.E)(e.backdropPadding);t.fillStyle=h;let c=a-d.left,u=n-d.top,g=r-a+d.width,f=o-n+d.height;Object.values(l).some(t=>0!==t)?(t.beginPath(),(0,s.aw)(t,{x:c,y:u,w:g,h:f,radius:l}),t.fill()):t.fillRect(c,u,g,f)}}function ea(t,e,i,a){let{ctx:n}=t;if(i)n.arc(t.xCenter,t.yCenter,e,0,s.T);else{let r=t.getPointPosition(0,e);n.moveTo(r.x,r.y);for(let o=1;o<a;o++)r=t.getPointPosition(o,e),n.lineTo(r.x,r.y)}}s.aM.formatters.logarithmic,s.aM.formatters.numeric;let en={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},er=Object.keys(en);function eo(t,e){return t-e}function eh(t,e){if((0,s.k)(e))return null;let i=t._adapter,{parser:a,round:n,isoWeekday:r}=t._parseOpts,o=e;return("function"==typeof a&&(o=a(o)),(0,s.g)(o)||(o="string"==typeof a?i.parse(o,a):i.parse(o)),null===o)?null:(n&&(o="week"===n&&((0,s.x)(r)||!0===r)?i.startOf(o,"isoWeek",r):i.startOf(o,n)),+o)}function el(t,e,i,s){let a=er.length;for(let n=er.indexOf(t);n<a-1;++n){let r=en[er[n]],o=r.steps?r.steps:Number.MAX_SAFE_INTEGER;if(r.common&&Math.ceil((i-e)/(o*r.size))<=s)return er[n]}return er[a-1]}function ed(t,e,i){if(i){if(i.length){let{lo:a,hi:n}=(0,s.aQ)(i,e),r=i[a]>=e?i[a]:i[n];t[r]=!0}}else t[e]=!0}function ec(t,e,i){let s=[],a={},n=e.length,r,o;for(r=0;r<n;++r)a[o=e[r]]=r,s.push({value:o,major:!1});return 0!==n&&i?function(t,e,i,s){let a=t._adapter,n=+a.startOf(e[0].value,s),r=e[e.length-1].value,o,h;for(o=n;o<=r;o=+a.add(o,1,s))(h=i[o])>=0&&(e[h].major=!0);return e}(t,s,a,i):s}class eu extends tm{static id="time";static defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",callback:!1,major:{enabled:!1}}};constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,e={}){let i=t.time||(t.time={}),a=this._adapter=new D._date(t.adapters.date);a.init(e),(0,s.ab)(i.displayFormats,a.formats()),this._parseOpts={parser:i.parser,round:i.round,isoWeekday:i.isoWeekday},super.init(t),this._normalized=e.normalized}parse(t,e){return void 0===t?null:eh(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){let t=this.options,e=this._adapter,i=t.time.unit||"day",{min:a,max:n,minDefined:r,maxDefined:o}=this.getUserBounds();function h(t){r||isNaN(t.min)||(a=Math.min(a,t.min)),o||isNaN(t.max)||(n=Math.max(n,t.max))}r&&o||(h(this._getLabelBounds()),("ticks"!==t.bounds||"labels"!==t.ticks.source)&&h(this.getMinMax(!1))),a=(0,s.g)(a)&&!isNaN(a)?a:+e.startOf(Date.now(),i),n=(0,s.g)(n)&&!isNaN(n)?n:+e.endOf(Date.now(),i)+1,this.min=Math.min(a,n-1),this.max=Math.max(a+1,n)}_getLabelBounds(){let t=this.getLabelTimestamps(),e=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;return t.length&&(e=t[0],i=t[t.length-1]),{min:e,max:i}}buildTicks(){let t=this.options,e=t.time,i=t.ticks,a="labels"===i.source?this.getLabelTimestamps():this._generate();"ticks"===t.bounds&&a.length&&(this.min=this._userMin||a[0],this.max=this._userMax||a[a.length-1]);let n=this.min,r=this.max,o=(0,s.aP)(a,n,r);return this._unit=e.unit||(i.autoSkip?el(e.minUnit,this.min,this.max,this._getLabelCapacity(n)):function(t,e,i,s,a){for(let n=er.length-1;n>=er.indexOf(i);n--){let r=er[n];if(en[r].common&&t._adapter.diff(a,s,r)>=e-1)return r}return er[i?er.indexOf(i):0]}(this,o.length,e.minUnit,this.min,this.max)),this._majorUnit=i.major.enabled&&"year"!==this._unit?function(t){for(let e=er.indexOf(t)+1,i=er.length;e<i;++e)if(en[er[e]].common)return er[e]}(this._unit):void 0,this.initOffsets(a),t.reverse&&o.reverse(),ec(this,o,this._majorUnit)}afterAutoSkip(){this.options.offsetAfterAutoskip&&this.initOffsets(this.ticks.map(t=>+t.value))}initOffsets(t=[]){let e=0,i=0,a,n;this.options.offset&&t.length&&(a=this.getDecimalForValue(t[0]),e=1===t.length?1-a:(this.getDecimalForValue(t[1])-a)/2,n=this.getDecimalForValue(t[t.length-1]),i=1===t.length?n:(n-this.getDecimalForValue(t[t.length-2]))/2);let r=t.length<3?.5:.25;e=(0,s.S)(e,0,r),i=(0,s.S)(i,0,r),this._offsets={start:e,end:i,factor:1/(e+1+i)}}_generate(){let t=this._adapter,e=this.min,i=this.max,a=this.options,n=a.time,r=n.unit||el(n.minUnit,e,i,this._getLabelCapacity(e)),o=(0,s.v)(a.ticks.stepSize,1),h="week"===r&&n.isoWeekday,l=(0,s.x)(h)||!0===h,d={},c=e,u,g;if(l&&(c=+t.startOf(c,"isoWeek",h)),c=+t.startOf(c,l?"day":r),t.diff(i,e,r)>1e5*o)throw Error(e+" and "+i+" are too far apart with stepSize of "+o+" "+r);let f="data"===a.ticks.source&&this.getDataTimestamps();for(u=c,g=0;u<i;u=+t.add(u,o,r),g++)ed(d,u,f);return(u===i||"ticks"===a.bounds||1===g)&&ed(d,u,f),Object.keys(d).sort(eo).map(t=>+t)}
vendor: 2,312 bytes, line 6
6getLabelForValue(t){let e=this._adapter,i=this.options.time;return i.tooltipFormat?e.format(t,i.tooltipFormat):e.format(t,i.displayFormats.datetime)}format(t,e){let i=this.options,s=i.time.displayFormats,a=this._unit,n=e||s[a];return this._adapter.format(t,n)}_tickFormatFunction(t,e,i,a){let n=this.options,r=n.ticks.callback;if(r)return(0,s.Q)(r,[t,e,i],this);let o=n.time.displayFormats,h=this._unit,l=this._majorUnit,d=h&&o[h],c=l&&o[l],u=i[e],g=l&&c&&u&&u.major;return this._adapter.format(t,a||(g?c:d))}generateTickLabels(t){let e,i,s;for(e=0,i=t.length;e<i;++e)(s=t[e]).label=this._tickFormatFunction(s.value,e,t)}getDecimalForValue(t){return null===t?NaN:(t-this.min)/(this.max-this.min)}getPixelForValue(t){let e=this._offsets,i=this.getDecimalForValue(t);return this.getPixelForDecimal((e.start+i)*e.factor)}getValueForPixel(t){let e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return this.min+i*(this.max-this.min)}_getLabelSize(t){let e=this.options.ticks,i=this.ctx.measureText(t).width,a=(0,s.t)(this.isHorizontal()?e.maxRotation:e.minRotation),n=Math.cos(a),r=Math.sin(a),o=this._resolveTickFontOptions(0).size;return{w:i*n+o*r,h:i*r+o*n}}_getLabelCapacity(t){let e=this.options.time,i=e.displayFormats,s=i[e.unit]||i.millisecond,a=this._tickFormatFunction(t,0,ec(this,[t],this._majorUnit),s),n=this._getLabelSize(a),r=Math.floor(this.isHorizontal()?this.width/n.w:this.height/n.h)-1;return r>0?r:1}getDataTimestamps(){let t=this._cache.data||[],e,i;if(t.length)return t;let s=this.getMatchingVisibleMetas();if(this._normalized&&s.length)return this._cache.data=s[0].controller.getAllParsedValues(this);for(e=0,i=s.length;e<i;++e)t=t.concat(s[e].controller.getAllParsedValues(this));return this._cache.data=this.normalize(t)}getLabelTimestamps(){let t=this._cache.labels||[],e,i;if(t.length)return t;let s=this.getLabels();for(e=0,i=s.length;e<i;++e)t.push(eh(this,s[e]));return this._cache.labels=this._normalized?t:this.normalize(t)}normalize(t){return(0,s._)(t.sort(eo))}}function eg(t,e,i){let a=0,n=t.length-1,r,o,h,l;i?(e>=t[a].pos&&e<=t[n].pos&&({lo:a,hi:n}=(0,s.B)(t,"pos",e)),{pos:r,time:h}=t[a],{pos:o,time:l}=t[n]):(e>=t[a].time&&e<=t[n].time&&({lo:a,hi:n}=(0,s.B)(t,"time",e)),{time:r,pos:h}=t[a],{time:o,pos:l}=t[n]);let d=o-r;return d?h+(l-h)*(e-r)/d:h}eu.defaults}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.