diff --git a/.github/workflows/build_docs_on_pr.yml b/.github/workflows/build_docs_on_pr.yml index 51bfa56094b..816573ff75e 100644 --- a/.github/workflows/build_docs_on_pr.yml +++ b/.github/workflows/build_docs_on_pr.yml @@ -3,7 +3,14 @@ name: Build docs artifact for PR on: pull_request: paths: + # We generate documentation for boefje, bytes, keiko, mula and octopoes + # from code so the workflow should also depend on it. + - "boefje/**" + - "bytes/**" - "docs/**" + - "keiko/**" + - "mula/**" + - "octopoes/**" - "requirements.txt" - ".github/workflows/build_docs_on_pr.yml" diff --git a/.gitignore b/.gitignore index bce85366c2c..c68e0e25309 100644 --- a/.gitignore +++ b/.gitignore @@ -437,7 +437,14 @@ nl-kat-* /_version.py # Automatically generated markdown files for the environment variables -/docs/source/technical_design/environment_settings/*.md +docs/source/installation-and-deployment/environment-settings/boefjes.md +docs/source/installation-and-deployment/environment-settings/bytes.md +docs/source/installation-and-deployment/environment-settings/keiko.md +docs/source/installation-and-deployment/environment-settings/mula.md +docs/source/installation-and-deployment/environment-settings/octopoes.md + +docs/source/_static/d3.min.js +docs/source/_static/mermaid.min.js # rpki cache /boefjes/boefjes/plugins/kat_rpki/rpki.json diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 99f38a8cfc6..2219fd8b2a8 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -188,5 +188,6 @@ repos: \.json$ | \.min\.js$ | ^rocky/assets/css/themes/soft/fonts | - ^rocky/assets/vendors + ^rocky/assets/vendors | + ^docs/source/_static ) diff --git a/Makefile b/Makefile index 0168a82eb78..0b88bd45209 100644 --- a/Makefile +++ b/Makefile @@ -12,12 +12,14 @@ UNAME := $(shell uname) export DOCKER_BUILDKIT=1 export COMPOSE_DOCKER_CLI_BUILD=1 +# We can't really return an error here, so if settings-doc fails we delete the +# file which will result in sphinx-build returning an error later on define build-settings-doc - echo "# $(4)" > docs/source/installation_and_deployment/environment_settings/$(3).md + echo "# $(4)" > docs/source/installation-and-deployment/environment-settings/$(3).md DOCS=True PYTHONPATH=./$(1) settings-doc generate \ -f markdown -m $(2) \ --templates docs/settings-doc-templates \ - >> docs/source/installation_and_deployment/environment_settings/$(3).md + >> docs/source/installation-and-deployment/environment-settings/$(3).md || exit 1 endef @@ -114,7 +116,12 @@ docs: $(call build-settings-doc,bytes,bytes.config,bytes,Bytes) $(call build-settings-doc,mula/scheduler,config.settings,mula,Mula) - PYTHONPATH=$(PYTHONPATH):boefjes/:bytes/:keiko/:mula/:octopoes/ sphinx-build -b html docs/source docs/_build + curl -sL -o - https://registry.npmjs.org/d3/-/d3-7.9.0.tgz | tar -Oxzf - package/dist/d3.min.js > docs/source/_static/d3.min.js + curl -sL -o - https://registry.npmjs.org/mermaid/-/mermaid-11.3.0.tgz | tar -Oxzf - package/dist/mermaid.min.js > docs/source/_static/mermaid.min.js + echo "f2094bbf6141b359722c4fe454eb6c4b0f0e42cc10cc7af921fc158fceb86539 docs/source/_static/d3.min.js" | sha256sum --quiet --check || exit 1 + echo "0d2b6f2361e7e0ce466a6ed458e03daa5584b42ef6926c3beb62eb64670ca261 docs/source/_static/mermaid.min.js" | sha256sum --quiet --check || exit 1 + + PYTHONPATH=$(PYTHONPATH):boefjes/:bytes/:keiko/:mula/:octopoes/ sphinx-build -b html --fail-on-warning docs/source docs/_build poetry-dependencies: diff --git a/docs/source/_static/mermaid-9.4.3.min.js b/docs/source/_static/mermaid-9.4.3.min.js deleted file mode 100644 index 38613fea664..00000000000 --- a/docs/source/_static/mermaid-9.4.3.min.js +++ /dev/null @@ -1,1580 +0,0 @@ -(function(tA,g0){typeof exports=="object"&&typeof module<"u"?module.exports=g0():typeof define=="function"&&define.amd?define(g0):(tA=typeof globalThis<"u"?globalThis:tA||self,tA.mermaid=g0())})(this,function(){"use strict";function tA(s){for(var o=[],f=1;f=X?De:""+Array(X+1-pe.length).join(Re)+De},xe={s:be,z:function(De){var X=-De.utcOffset(),Re=Math.abs(X),pe=Math.floor(Re/60),Ge=Re%60;return(X<=0?"+":"-")+be(pe,2,"0")+":"+be(Ge,2,"0")},m:function De(X,Re){if(X.date()1)return De(ct[0])}else{var bt=X.name;Me[bt]=X,Ge=bt}return!pe&&Ge&&(Ee=Ge),Ge||!pe&&Ee},re=function(De,X){if(fe(De))return De.clone();var Re=typeof X=="object"?X:{};return Re.date=De,Re.args=arguments,new ke(Re)},we=xe;we.l=ye,we.i=fe,we.w=function(De,X){return re(De,{locale:X.$L,utc:X.$u,x:X.$x,$offset:X.$offset})};var ke=function(){function De(Re){this.$L=ye(Re.locale,null,!0),this.parse(Re)}var X=De.prototype;return X.parse=function(Re){this.$d=function(pe){var Ge=pe.date,de=pe.utc;if(Ge===null)return new Date(NaN);if(we.u(Ge))return new Date;if(Ge instanceof Date)return new Date(Ge);if(typeof Ge=="string"&&!/Z$/i.test(Ge)){var ct=Ge.match(ae);if(ct){var bt=ct[2]-1||0,St=(ct[7]||"0").substring(0,3);return de?new Date(Date.UTC(ct[1],bt,ct[3]||1,ct[4]||0,ct[5]||0,ct[6]||0,St)):new Date(ct[1],bt,ct[3]||1,ct[4]||0,ct[5]||0,ct[6]||0,St)}}return new Date(Ge)}(Re),this.$x=Re.x||{},this.init()},X.init=function(){var Re=this.$d;this.$y=Re.getFullYear(),this.$M=Re.getMonth(),this.$D=Re.getDate(),this.$W=Re.getDay(),this.$H=Re.getHours(),this.$m=Re.getMinutes(),this.$s=Re.getSeconds(),this.$ms=Re.getMilliseconds()},X.$utils=function(){return we},X.isValid=function(){return this.$d.toString()!==Z},X.isSame=function(Re,pe){var Ge=re(Re);return this.startOf(pe)<=Ge&&Ge<=this.endOf(pe)},X.isAfter=function(Re,pe){return re(Re){},debug:(...s)=>{},info:(...s)=>{},warn:(...s)=>{},error:(...s)=>{},fatal:(...s)=>{}},ffe=function(s="fatal"){let o=s5.fatal;typeof s=="string"?(s=s.toLowerCase(),s in s5&&(o=s5[s])):typeof s=="number"&&(o=s),je.trace=()=>{},je.debug=()=>{},je.info=()=>{},je.warn=()=>{},je.error=()=>{},je.fatal=()=>{},o<=s5.fatal&&(je.fatal=console.error?console.error.bind(console,$b("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",$b("FATAL"))),o<=s5.error&&(je.error=console.error?console.error.bind(console,$b("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",$b("ERROR"))),o<=s5.warn&&(je.warn=console.warn?console.warn.bind(console,$b("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",$b("WARN"))),o<=s5.info&&(je.info=console.info?console.info.bind(console,$b("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",$b("INFO"))),o<=s5.debug&&(je.debug=console.debug?console.debug.bind(console,$b("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",$b("DEBUG"))),o<=s5.trace&&(je.trace=console.debug?console.debug.bind(console,$b("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",$b("TRACE")))},$b=s=>`%c${Qg().format("ss.SSS")} : ${s} : `;var dfe={};Object.defineProperty(dfe,"__esModule",{value:!0});var a5=dfe.sanitizeUrl=void 0,r4t=/^([^\w]*)(javascript|data|vbscript)/im,i4t=/&#(\w+)(^\w|;)?/g,s4t=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,a4t=/^([^:]+):/gm,o4t=[".","/"];function c4t(s){return o4t.indexOf(s[0])>-1}function u4t(s){return s.replace(i4t,function(o,f){return String.fromCharCode(f)})}function l4t(s){var o=u4t(s||"").replace(s4t,"").trim();if(!o)return"about:blank";if(c4t(o))return o;var f=o.match(a4t);if(!f)return o;var p=f[0];return r4t.test(p)?"about:blank":o}a5=dfe.sanitizeUrl=l4t;function HV(s,o){return s==null||o==null?NaN:so?1:s>=o?0:NaN}function h4t(s,o){return s==null||o==null?NaN:os?1:o>=s?0:NaN}function gfe(s){let o,f,p;s.length!==2?(o=HV,f=(_,A)=>HV(s(_),A),p=(_,A)=>s(_)-A):(o=s===HV||s===h4t?s:f4t,f=s,p=s);function w(_,A,N=0,B=_.length){if(N>>1;f(_[F],A)<0?N=F+1:B=F}while(N>>1;f(_[F],A)<=0?N=F+1:B=F}while(NN&&p(_[F-1],A)>-p(_[F],A)?F-1:F}return{left:w,center:b,right:k}}function f4t(){return 0}function d4t(s){return s===null?NaN:+s}const g4t=gfe(HV).right;gfe(d4t).center;const p4t=g4t;class qAe extends Map{constructor(o,f=w4t){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:f}}),o!=null)for(const[p,w]of o)this.set(p,w)}get(o){return super.get(VAe(this,o))}has(o){return super.has(VAe(this,o))}set(o,f){return super.set(b4t(this,o),f)}delete(o){return super.delete(v4t(this,o))}}function VAe({_intern:s,_key:o},f){const p=o(f);return s.has(p)?s.get(p):f}function b4t({_intern:s,_key:o},f){const p=o(f);return s.has(p)?s.get(p):(s.set(p,f),f)}function v4t({_intern:s,_key:o},f){const p=o(f);return s.has(p)&&(f=s.get(p),s.delete(p)),f}function w4t(s){return s!==null&&typeof s=="object"?s.valueOf():s}var pfe=Math.sqrt(50),bfe=Math.sqrt(10),vfe=Math.sqrt(2);function m4t(s,o,f){var p,w=-1,k,b,_;if(o=+o,s=+s,f=+f,s===o&&f>0)return[s];if((p=o0){let A=Math.round(s/_),N=Math.round(o/_);for(A*_o&&--N,b=new Array(k=N-A+1);++wo&&--N,b=new Array(k=N-A+1);++w=0?(k>=pfe?10:k>=bfe?5:k>=vfe?2:1)*Math.pow(10,w):-Math.pow(10,-w)/(k>=pfe?10:k>=bfe?5:k>=vfe?2:1)}function wfe(s,o,f){var p=Math.abs(o-s)/Math.max(0,f),w=Math.pow(10,Math.floor(Math.log(p)/Math.LN10)),k=p/w;return k>=pfe?w*=10:k>=bfe?w*=5:k>=vfe&&(w*=2),o=p)&&(f=p);else{let p=-1;for(let w of s)(w=o(w,++p,s))!=null&&(f=w)&&(f=w)}return f}function k4t(s,o){let f;if(o===void 0)for(const p of s)p!=null&&(f>p||f===void 0&&p>=p)&&(f=p);else{let p=-1;for(let w of s)(w=o(w,++p,s))!=null&&(f>w||f===void 0&&w>=w)&&(f=w)}return f}function x4t(s){return s}var zV=1,mfe=2,yfe=3,GV=4,KAe=1e-6;function E4t(s){return"translate("+s+",0)"}function T4t(s){return"translate(0,"+s+")"}function _4t(s){return o=>+s(o)}function C4t(s,o){return o=Math.max(0,s.bandwidth()-o*2)/2,s.round()&&(o=Math.round(o)),f=>+s(f)+o}function S4t(){return!this.__axis}function WAe(s,o){var f=[],p=null,w=null,k=6,b=6,_=3,A=typeof window<"u"&&window.devicePixelRatio>1?0:.5,N=s===zV||s===GV?-1:1,B=s===GV||s===mfe?"x":"y",F=s===zV||s===yfe?E4t:T4t;function H(j){var V=p??(o.ticks?o.ticks.apply(o,f):o.domain()),Z=w??(o.tickFormat?o.tickFormat.apply(o,f):x4t),ae=Math.max(k,0)+_,le=o.range(),ce=+le[0]+A,be=+le[le.length-1]+A,xe=(o.bandwidth?C4t:_4t)(o.copy(),A),Ee=j.selection?j.selection():j,Me=Ee.selectAll(".domain").data([null]),fe=Ee.selectAll(".tick").data(V,o).order(),ye=fe.exit(),re=fe.enter().append("g").attr("class","tick"),we=fe.select("line"),ke=fe.select("text");Me=Me.merge(Me.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),fe=fe.merge(re),we=we.merge(re.append("line").attr("stroke","currentColor").attr(B+"2",N*k)),ke=ke.merge(re.append("text").attr("fill","currentColor").attr(B,N*ae).attr("dy",s===zV?"0em":s===yfe?"0.71em":"0.32em")),j!==Ee&&(Me=Me.transition(j),fe=fe.transition(j),we=we.transition(j),ke=ke.transition(j),ye=ye.transition(j).attr("opacity",KAe).attr("transform",function(he){return isFinite(he=xe(he))?F(he+A):this.getAttribute("transform")}),re.attr("opacity",KAe).attr("transform",function(he){var De=this.parentNode.__axis;return F((De&&isFinite(De=De(he))?De:xe(he))+A)})),ye.remove(),Me.attr("d",s===GV||s===mfe?b?"M"+N*b+","+ce+"H"+A+"V"+be+"H"+N*b:"M"+A+","+ce+"V"+be:b?"M"+ce+","+N*b+"V"+A+"H"+be+"V"+N*b:"M"+ce+","+A+"H"+be),fe.attr("opacity",1).attr("transform",function(he){return F(xe(he)+A)}),we.attr(B+"2",N*k),ke.attr(B,N*ae).text(Z),Ee.filter(S4t).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",s===mfe?"start":s===GV?"end":"middle"),Ee.each(function(){this.__axis=xe})}return H.scale=function(j){return arguments.length?(o=j,H):o},H.ticks=function(){return f=Array.from(arguments),H},H.tickArguments=function(j){return arguments.length?(f=j==null?[]:Array.from(j),H):f.slice()},H.tickValues=function(j){return arguments.length?(p=j==null?null:Array.from(j),H):p&&p.slice()},H.tickFormat=function(j){return arguments.length?(w=j,H):w},H.tickSize=function(j){return arguments.length?(k=b=+j,H):k},H.tickSizeInner=function(j){return arguments.length?(k=+j,H):k},H.tickSizeOuter=function(j){return arguments.length?(b=+j,H):b},H.tickPadding=function(j){return arguments.length?(_=+j,H):_},H.offset=function(j){return arguments.length?(A=+j,H):A},H}function A4t(s){return WAe(zV,s)}function L4t(s){return WAe(yfe,s)}var M4t={value:()=>{}};function YAe(){for(var s=0,o=arguments.length,f={},p;s=0&&(p=f.slice(w+1),f=f.slice(0,w)),f&&!o.hasOwnProperty(f))throw new Error("unknown type: "+f);return{type:f,name:p}})}qV.prototype=YAe.prototype={constructor:qV,on:function(s,o){var f=this._,p=D4t(s+"",f),w,k=-1,b=p.length;if(arguments.length<2){for(;++k0)for(var f=new Array(w),p=0,w,k;p=0&&(o=s.slice(0,f))!=="xmlns"&&(s=s.slice(f+1)),QAe.hasOwnProperty(o)?{space:QAe[o],local:s}:s}function O4t(s){return function(){var o=this.ownerDocument,f=this.namespaceURI;return f===kfe&&o.documentElement.namespaceURI===kfe?o.createElement(s):o.createElementNS(f,s)}}function N4t(s){return function(){return this.ownerDocument.createElementNS(s.space,s.local)}}function ZAe(s){var o=VV(s);return(o.local?N4t:O4t)(o)}function P4t(){}function xfe(s){return s==null?P4t:function(){return this.querySelector(s)}}function B4t(s){typeof s!="function"&&(s=xfe(s));for(var o=this._groups,f=o.length,p=new Array(f),w=0;w=be&&(be=ce+1);!(Ee=ae[be])&&++be=0;)(b=p[w])&&(k&&b.compareDocumentPosition(k)^4&&k.parentNode.insertBefore(b,k),k=b);return this}function a5t(s){s||(s=o5t);function o(F,H){return F&&H?s(F.__data__,H.__data__):!F-!H}for(var f=this._groups,p=f.length,w=new Array(p),k=0;ko?1:s>=o?0:NaN}function c5t(){var s=arguments[0];return arguments[0]=this,s.apply(null,arguments),this}function u5t(){return Array.from(this)}function l5t(){for(var s=this._groups,o=0,f=s.length;o1?this.each((o==null?k5t:typeof o=="function"?E5t:x5t)(s,o,f??"")):nA(this.node(),s)}function nA(s,o){return s.style.getPropertyValue(o)||iLe(s).getComputedStyle(s,null).getPropertyValue(o)}function _5t(s){return function(){delete this[s]}}function C5t(s,o){return function(){this[s]=o}}function S5t(s,o){return function(){var f=o.apply(this,arguments);f==null?delete this[s]:this[s]=f}}function A5t(s,o){return arguments.length>1?this.each((o==null?_5t:typeof o=="function"?S5t:C5t)(s,o)):this.node()[s]}function sLe(s){return s.trim().split(/^|\s+/)}function Efe(s){return s.classList||new aLe(s)}function aLe(s){this._node=s,this._names=sLe(s.getAttribute("class")||"")}aLe.prototype={add:function(s){var o=this._names.indexOf(s);o<0&&(this._names.push(s),this._node.setAttribute("class",this._names.join(" ")))},remove:function(s){var o=this._names.indexOf(s);o>=0&&(this._names.splice(o,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(s){return this._names.indexOf(s)>=0}};function oLe(s,o){for(var f=Efe(s),p=-1,w=o.length;++p=0&&(f=o.slice(p+1),o=o.slice(0,p)),{type:o,name:f}})}function n6t(s){return function(){var o=this.__on;if(o){for(var f=0,p=-1,w=o.length,k;f>8&15|o>>4&240,o>>4&15|o&240,(o&15)<<4|o&15,1):f===8?YV(o>>24&255,o>>16&255,o>>8&255,(o&255)/255):f===4?YV(o>>12&15|o>>8&240,o>>8&15|o>>4&240,o>>4&15|o&240,((o&15)<<4|o&15)/255):null):(o=h6t.exec(s))?new p0(o[1],o[2],o[3],1):(o=f6t.exec(s))?new p0(o[1]*255/100,o[2]*255/100,o[3]*255/100,1):(o=d6t.exec(s))?YV(o[1],o[2],o[3],o[4]):(o=g6t.exec(s))?YV(o[1]*255/100,o[2]*255/100,o[3]*255/100,o[4]):(o=p6t.exec(s))?vLe(o[1],o[2]/100,o[3]/100,1):(o=b6t.exec(s))?vLe(o[1],o[2]/100,o[3]/100,o[4]):lLe.hasOwnProperty(s)?dLe(lLe[s]):s==="transparent"?new p0(NaN,NaN,NaN,0):null}function dLe(s){return new p0(s>>16&255,s>>8&255,s&255,1)}function YV(s,o,f,p){return p<=0&&(s=o=f=NaN),new p0(s,o,f,p)}function gLe(s){return s instanceof SE||(s=AE(s)),s?(s=s.rgb(),new p0(s.r,s.g,s.b,s.opacity)):new p0}function Cfe(s,o,f,p){return arguments.length===1?gLe(s):new p0(s,o,f,p??1)}function p0(s,o,f,p){this.r=+s,this.g=+o,this.b=+f,this.opacity=+p}tN(p0,Cfe,KV(SE,{brighter(s){return s=s==null?WV:Math.pow(WV,s),new p0(this.r*s,this.g*s,this.b*s,this.opacity)},darker(s){return s=s==null?nN:Math.pow(nN,s),new p0(this.r*s,this.g*s,this.b*s,this.opacity)},rgb(){return this},clamp(){return new p0(LE(this.r),LE(this.g),LE(this.b),XV(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:pLe,formatHex:pLe,formatHex8:m6t,formatRgb:bLe,toString:bLe}));function pLe(){return`#${ME(this.r)}${ME(this.g)}${ME(this.b)}`}function m6t(){return`#${ME(this.r)}${ME(this.g)}${ME(this.b)}${ME((isNaN(this.opacity)?1:this.opacity)*255)}`}function bLe(){const s=XV(this.opacity);return`${s===1?"rgb(":"rgba("}${LE(this.r)}, ${LE(this.g)}, ${LE(this.b)}${s===1?")":`, ${s})`}`}function XV(s){return isNaN(s)?1:Math.max(0,Math.min(1,s))}function LE(s){return Math.max(0,Math.min(255,Math.round(s)||0))}function ME(s){return s=LE(s),(s<16?"0":"")+s.toString(16)}function vLe(s,o,f,p){return p<=0?s=o=f=NaN:f<=0||f>=1?s=o=NaN:o<=0&&(s=NaN),new Fw(s,o,f,p)}function wLe(s){if(s instanceof Fw)return new Fw(s.h,s.s,s.l,s.opacity);if(s instanceof SE||(s=AE(s)),!s)return new Fw;if(s instanceof Fw)return s;s=s.rgb();var o=s.r/255,f=s.g/255,p=s.b/255,w=Math.min(o,f,p),k=Math.max(o,f,p),b=NaN,_=k-w,A=(k+w)/2;return _?(o===k?b=(f-p)/_+(f0&&A<1?0:b,new Fw(b,_,A,s.opacity)}function y6t(s,o,f,p){return arguments.length===1?wLe(s):new Fw(s,o,f,p??1)}function Fw(s,o,f,p){this.h=+s,this.s=+o,this.l=+f,this.opacity=+p}tN(Fw,y6t,KV(SE,{brighter(s){return s=s==null?WV:Math.pow(WV,s),new Fw(this.h,this.s,this.l*s,this.opacity)},darker(s){return s=s==null?nN:Math.pow(nN,s),new Fw(this.h,this.s,this.l*s,this.opacity)},rgb(){var s=this.h%360+(this.h<0)*360,o=isNaN(s)||isNaN(this.s)?0:this.s,f=this.l,p=f+(f<.5?f:1-f)*o,w=2*f-p;return new p0(Sfe(s>=240?s-240:s+120,w,p),Sfe(s,w,p),Sfe(s<120?s+240:s-120,w,p),this.opacity)},clamp(){return new Fw(mLe(this.h),QV(this.s),QV(this.l),XV(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const s=XV(this.opacity);return`${s===1?"hsl(":"hsla("}${mLe(this.h)}, ${QV(this.s)*100}%, ${QV(this.l)*100}%${s===1?")":`, ${s})`}`}}));function mLe(s){return s=(s||0)%360,s<0?s+360:s}function QV(s){return Math.max(0,Math.min(1,s||0))}function Sfe(s,o,f){return(s<60?o+(f-o)*s/60:s<180?f:s<240?o+(f-o)*(240-s)/60:o)*255}const k6t=Math.PI/180,x6t=180/Math.PI,ZV=18,yLe=.96422,kLe=1,xLe=.82521,ELe=4/29,iA=6/29,TLe=3*iA*iA,E6t=iA*iA*iA;function _Le(s){if(s instanceof Qy)return new Qy(s.l,s.a,s.b,s.opacity);if(s instanceof o5)return CLe(s);s instanceof p0||(s=gLe(s));var o=Dfe(s.r),f=Dfe(s.g),p=Dfe(s.b),w=Afe((.2225045*o+.7168786*f+.0606169*p)/kLe),k,b;return o===f&&f===p?k=b=w:(k=Afe((.4360747*o+.3850649*f+.1430804*p)/yLe),b=Afe((.0139322*o+.0971045*f+.7141733*p)/xLe)),new Qy(116*w-16,500*(k-w),200*(w-b),s.opacity)}function T6t(s,o,f,p){return arguments.length===1?_Le(s):new Qy(s,o,f,p??1)}function Qy(s,o,f,p){this.l=+s,this.a=+o,this.b=+f,this.opacity=+p}tN(Qy,T6t,KV(SE,{brighter(s){return new Qy(this.l+ZV*(s??1),this.a,this.b,this.opacity)},darker(s){return new Qy(this.l-ZV*(s??1),this.a,this.b,this.opacity)},rgb(){var s=(this.l+16)/116,o=isNaN(this.a)?s:s+this.a/500,f=isNaN(this.b)?s:s-this.b/200;return o=yLe*Lfe(o),s=kLe*Lfe(s),f=xLe*Lfe(f),new p0(Mfe(3.1338561*o-1.6168667*s-.4906146*f),Mfe(-.9787684*o+1.9161415*s+.033454*f),Mfe(.0719453*o-.2289914*s+1.4052427*f),this.opacity)}}));function Afe(s){return s>E6t?Math.pow(s,1/3):s/TLe+ELe}function Lfe(s){return s>iA?s*s*s:TLe*(s-ELe)}function Mfe(s){return 255*(s<=.0031308?12.92*s:1.055*Math.pow(s,1/2.4)-.055)}function Dfe(s){return(s/=255)<=.04045?s/12.92:Math.pow((s+.055)/1.055,2.4)}function _6t(s){if(s instanceof o5)return new o5(s.h,s.c,s.l,s.opacity);if(s instanceof Qy||(s=_Le(s)),s.a===0&&s.b===0)return new o5(NaN,0()=>s;function SLe(s,o){return function(f){return s+f*o}}function C6t(s,o,f){return s=Math.pow(s,f),o=Math.pow(o,f)-s,f=1/f,function(p){return Math.pow(s+p*o,f)}}function S6t(s,o){var f=o-s;return f?SLe(s,f>180||f<-180?f-360*Math.round(f/360):f):JV(isNaN(s)?o:s)}function A6t(s){return(s=+s)==1?iN:function(o,f){return f-o?C6t(o,f,s):JV(isNaN(o)?f:o)}}function iN(s,o){var f=o-s;return f?SLe(s,f):JV(isNaN(s)?o:s)}const eU=function s(o){var f=A6t(o);function p(w,k){var b=f((w=Cfe(w)).r,(k=Cfe(k)).r),_=f(w.g,k.g),A=f(w.b,k.b),N=iN(w.opacity,k.opacity);return function(B){return w.r=b(B),w.g=_(B),w.b=A(B),w.opacity=N(B),w+""}}return p.gamma=s,p}(1);function L6t(s,o){o||(o=[]);var f=s?Math.min(o.length,s.length):0,p=o.slice(),w;return function(k){for(w=0;wf&&(k=o.slice(f,k),_[b]?_[b]+=k:_[++b]=k),(p=p[0])===(w=w[0])?_[b]?_[b]+=w:_[++b]=w:(_[++b]=null,A.push({i:b,x:Rw(p,w)})),f=Nfe.lastIndex;return f180?B+=360:B-N>180&&(N+=360),H.push({i:F.push(w(F)+"rotate(",null,p)-2,x:Rw(N,B)})):B&&F.push(w(F)+"rotate("+B+p)}function _(N,B,F,H){N!==B?H.push({i:F.push(w(F)+"skewX(",null,p)-2,x:Rw(N,B)}):B&&F.push(w(F)+"skewX("+B+p)}function A(N,B,F,H,j,V){if(N!==F||B!==H){var Z=j.push(w(j)+"scale(",null,",",null,")");V.push({i:Z-4,x:Rw(N,F)},{i:Z-2,x:Rw(B,H)})}else(F!==1||H!==1)&&j.push(w(j)+"scale("+F+","+H+")")}return function(N,B){var F=[],H=[];return N=s(N),B=s(B),k(N.translateX,N.translateY,B.translateX,B.translateY,F,H),b(N.rotate,B.rotate,F,H),_(N.skewX,B.skewX,F,H),A(N.scaleX,N.scaleY,B.scaleX,B.scaleY,F,H),N=B=null,function(j){for(var V=-1,Z=H.length,ae;++V=0&&s._call.call(void 0,o),s=s._next;--sA}function PLe(){DE=(rU=cN.now())+iU,sA=sN=0;try{q6t()}finally{sA=0,U6t(),DE=0}}function V6t(){var s=cN.now(),o=s-rU;o>ILe&&(iU-=o,rU=s)}function U6t(){for(var s,o=nU,f,p=1/0;o;)o._call?(p>o._time&&(p=o._time),s=o,o=o._next):(f=o._next,o._next=null,o=s?s._next=f:nU=f);oN=s,Rfe(p)}function Rfe(s){if(!sA){sN&&(sN=clearTimeout(sN));var o=s-DE;o>24?(s<1/0&&(sN=setTimeout(PLe,s-cN.now()-iU)),aN&&(aN=clearInterval(aN))):(aN||(rU=cN.now(),aN=setInterval(V6t,ILe)),sA=1,OLe(PLe))}}function BLe(s,o,f){var p=new sU;return o=o==null?0:+o,p.restart(w=>{p.stop(),s(w+o)},o,f),p}var K6t=YAe("start","end","cancel","interrupt"),W6t=[],FLe=0,RLe=1,jfe=2,aU=3,jLe=4,$fe=5,oU=6;function cU(s,o,f,p,w,k){var b=s.__transition;if(!b)s.__transition={};else if(f in b)return;Y6t(s,f,{name:o,index:p,group:w,on:K6t,tween:W6t,time:k.time,delay:k.delay,duration:k.duration,ease:k.ease,timer:null,state:FLe})}function Hfe(s,o){var f=jw(s,o);if(f.state>FLe)throw new Error("too late; already scheduled");return f}function Zy(s,o){var f=jw(s,o);if(f.state>aU)throw new Error("too late; already running");return f}function jw(s,o){var f=s.__transition;if(!f||!(f=f[o]))throw new Error("transition not found");return f}function Y6t(s,o,f){var p=s.__transition,w;p[o]=f,f.timer=NLe(k,0,f.time);function k(N){f.state=RLe,f.timer.restart(b,f.delay,f.time),f.delay<=N&&b(N-f.delay)}function b(N){var B,F,H,j;if(f.state!==RLe)return A();for(B in p)if(j=p[B],j.name===f.name){if(j.state===aU)return BLe(b);j.state===jLe?(j.state=oU,j.timer.stop(),j.on.call("interrupt",s,s.__data__,j.index,j.group),delete p[B]):+Bjfe&&p.state<$fe,p.state=oU,p.timer.stop(),p.on.call(w?"interrupt":"cancel",s,s.__data__,p.index,p.group),delete f[b]}k&&delete s.__transition}}function Q6t(s){return this.each(function(){X6t(this,s)})}function Z6t(s,o){var f,p;return function(){var w=Zy(this,s),k=w.tween;if(k!==f){p=f=k;for(var b=0,_=p.length;b<_;++b)if(p[b].name===o){p=p.slice(),p.splice(b,1);break}}w.tween=p}}function J6t(s,o,f){var p,w;if(typeof f!="function")throw new Error;return function(){var k=Zy(this,s),b=k.tween;if(b!==p){w=(p=b).slice();for(var _={name:o,value:f},A=0,N=w.length;A=0&&(o=o.slice(0,f)),!o||o==="start"})}function Ckt(s,o,f){var p,w,k=_kt(o)?Hfe:Zy;return function(){var b=k(this,s),_=b.on;_!==p&&(w=(p=_).copy()).on(o,f),b.on=w}}function Skt(s,o){var f=this._id;return arguments.length<2?jw(this.node(),f).on.on(s):this.each(Ckt(f,s,o))}function Akt(s){return function(){var o=this.parentNode;for(var f in this.__transition)if(+f!==s)return;o&&o.removeChild(this)}}function Lkt(){return this.on("end.remove",Akt(this._id))}function Mkt(s){var o=this._name,f=this._id;typeof s!="function"&&(s=xfe(s));for(var p=this._groups,w=p.length,k=new Array(w),b=0;bIE)if(!(Math.abs(B*_-A*N)>IE)||!w)this._+="L"+(this._x1=s)+","+(this._y1=o);else{var H=f-k,j=p-b,V=_*_+A*A,Z=H*H+j*j,ae=Math.sqrt(V),le=Math.sqrt(F),ce=w*Math.tan((Gfe-Math.acos((V+F-Z)/(2*ae*le)))/2),be=ce/le,xe=ce/ae;Math.abs(be-1)>IE&&(this._+="L"+(s+be*N)+","+(o+be*B)),this._+="A"+w+","+w+",0,0,"+ +(B*H>N*j)+","+(this._x1=s+xe*_)+","+(this._y1=o+xe*A)}},arc:function(s,o,f,p,w,k){s=+s,o=+o,f=+f,k=!!k;var b=f*Math.cos(p),_=f*Math.sin(p),A=s+b,N=o+_,B=1^k,F=k?p-w:w-p;if(f<0)throw new Error("negative radius: "+f);this._x1===null?this._+="M"+A+","+N:(Math.abs(this._x1-A)>IE||Math.abs(this._y1-N)>IE)&&(this._+="L"+A+","+N),f&&(F<0&&(F=F%qfe+qfe),F>t8t?this._+="A"+f+","+f+",0,1,"+B+","+(s-b)+","+(o-_)+"A"+f+","+f+",0,1,"+B+","+(this._x1=A)+","+(this._y1=N):F>IE&&(this._+="A"+f+","+f+",0,"+ +(F>=Gfe)+","+B+","+(this._x1=s+f*Math.cos(w))+","+(this._y1=o+f*Math.sin(w))))},rect:function(s,o,f,p){this._+="M"+(this._x0=this._x1=+s)+","+(this._y0=this._y1=+o)+"h"+ +f+"v"+ +p+"h"+-f+"Z"},toString:function(){return this._}};function n8t(s){if(!s.ok)throw new Error(s.status+" "+s.statusText);return s.text()}function r8t(s,o){return fetch(s,o).then(n8t)}function i8t(s){return(o,f)=>r8t(o,f).then(p=>new DOMParser().parseFromString(p,s))}var s8t=i8t("image/svg+xml");function a8t(s){return Math.abs(s=Math.round(s))>=1e21?s.toLocaleString("en").replace(/,/g,""):s.toString(10)}function uU(s,o){if((f=(s=o?s.toExponential(o-1):s.toExponential()).indexOf("e"))<0)return null;var f,p=s.slice(0,f);return[p.length>1?p[0]+p.slice(2):p,+s.slice(f+1)]}function aA(s){return s=uU(Math.abs(s)),s?s[1]:NaN}function o8t(s,o){return function(f,p){for(var w=f.length,k=[],b=0,_=s[0],A=0;w>0&&_>0&&(A+_+1>p&&(_=Math.max(1,p-A)),k.push(f.substring(w-=_,w+_)),!((A+=_+1)>p));)_=s[b=(b+1)%s.length];return k.reverse().join(o)}}function c8t(s){return function(o){return o.replace(/[0-9]/g,function(f){return s[+f]})}}var u8t=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function lU(s){if(!(o=u8t.exec(s)))throw new Error("invalid format: "+s);var o;return new Kfe({fill:o[1],align:o[2],sign:o[3],symbol:o[4],zero:o[5],width:o[6],comma:o[7],precision:o[8]&&o[8].slice(1),trim:o[9],type:o[10]})}lU.prototype=Kfe.prototype;function Kfe(s){this.fill=s.fill===void 0?" ":s.fill+"",this.align=s.align===void 0?">":s.align+"",this.sign=s.sign===void 0?"-":s.sign+"",this.symbol=s.symbol===void 0?"":s.symbol+"",this.zero=!!s.zero,this.width=s.width===void 0?void 0:+s.width,this.comma=!!s.comma,this.precision=s.precision===void 0?void 0:+s.precision,this.trim=!!s.trim,this.type=s.type===void 0?"":s.type+""}Kfe.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function l8t(s){e:for(var o=s.length,f=1,p=-1,w;f0&&(p=0);break}return p>0?s.slice(0,p)+s.slice(w+1):s}var GLe;function h8t(s,o){var f=uU(s,o);if(!f)return s+"";var p=f[0],w=f[1],k=w-(GLe=Math.max(-8,Math.min(8,Math.floor(w/3)))*3)+1,b=p.length;return k===b?p:k>b?p+new Array(k-b+1).join("0"):k>0?p.slice(0,k)+"."+p.slice(k):"0."+new Array(1-k).join("0")+uU(s,Math.max(0,o+k-1))[0]}function qLe(s,o){var f=uU(s,o);if(!f)return s+"";var p=f[0],w=f[1];return w<0?"0."+new Array(-w).join("0")+p:p.length>w+1?p.slice(0,w+1)+"."+p.slice(w+1):p+new Array(w-p.length+2).join("0")}const VLe={"%":(s,o)=>(s*100).toFixed(o),b:s=>Math.round(s).toString(2),c:s=>s+"",d:a8t,e:(s,o)=>s.toExponential(o),f:(s,o)=>s.toFixed(o),g:(s,o)=>s.toPrecision(o),o:s=>Math.round(s).toString(8),p:(s,o)=>qLe(s*100,o),r:qLe,s:h8t,X:s=>Math.round(s).toString(16).toUpperCase(),x:s=>Math.round(s).toString(16)};function ULe(s){return s}var KLe=Array.prototype.map,WLe=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function f8t(s){var o=s.grouping===void 0||s.thousands===void 0?ULe:o8t(KLe.call(s.grouping,Number),s.thousands+""),f=s.currency===void 0?"":s.currency[0]+"",p=s.currency===void 0?"":s.currency[1]+"",w=s.decimal===void 0?".":s.decimal+"",k=s.numerals===void 0?ULe:c8t(KLe.call(s.numerals,String)),b=s.percent===void 0?"%":s.percent+"",_=s.minus===void 0?"−":s.minus+"",A=s.nan===void 0?"NaN":s.nan+"";function N(F){F=lU(F);var H=F.fill,j=F.align,V=F.sign,Z=F.symbol,ae=F.zero,le=F.width,ce=F.comma,be=F.precision,xe=F.trim,Ee=F.type;Ee==="n"?(ce=!0,Ee="g"):VLe[Ee]||(be===void 0&&(be=12),xe=!0,Ee="g"),(ae||H==="0"&&j==="=")&&(ae=!0,H="0",j="=");var Me=Z==="$"?f:Z==="#"&&/[boxX]/.test(Ee)?"0"+Ee.toLowerCase():"",fe=Z==="$"?p:/[%p]/.test(Ee)?b:"",ye=VLe[Ee],re=/[defgprs%]/.test(Ee);be=be===void 0?6:/[gprs]/.test(Ee)?Math.max(1,Math.min(21,be)):Math.max(0,Math.min(20,be));function we(ke){var he=Me,De=fe,X,Re,pe;if(Ee==="c")De=ye(ke)+De,ke="";else{ke=+ke;var Ge=ke<0||1/ke<0;if(ke=isNaN(ke)?A:ye(Math.abs(ke),be),xe&&(ke=l8t(ke)),Ge&&+ke==0&&V!=="+"&&(Ge=!1),he=(Ge?V==="("?V:_:V==="-"||V==="("?"":V)+he,De=(Ee==="s"?WLe[8+GLe/3]:"")+De+(Ge&&V==="("?")":""),re){for(X=-1,Re=ke.length;++Xpe||pe>57){De=(pe===46?w+ke.slice(X+1):ke.slice(X))+De,ke=ke.slice(0,X);break}}}ce&&!ae&&(ke=o(ke,1/0));var de=he.length+ke.length+De.length,ct=de>1)+he+ke+De+ct.slice(de);break;default:ke=ct+he+ke+De;break}return k(ke)}return we.toString=function(){return F+""},we}function B(F,H){var j=N((F=lU(F),F.type="f",F)),V=Math.max(-8,Math.min(8,Math.floor(aA(H)/3)))*3,Z=Math.pow(10,-V),ae=WLe[8+V/3];return function(le){return j(Z*le)+ae}}return{format:N,formatPrefix:B}}var hU,YLe,XLe;d8t({thousands:",",grouping:[3],currency:["$",""]});function d8t(s){return hU=f8t(s),YLe=hU.format,XLe=hU.formatPrefix,hU}function g8t(s){return Math.max(0,-aA(Math.abs(s)))}function p8t(s,o){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(aA(o)/3)))*3-aA(Math.abs(s)))}function b8t(s,o){return s=Math.abs(s),o=Math.abs(o)-s,Math.max(0,aA(o)-aA(s))+1}function Wfe(s,o){switch(arguments.length){case 0:break;case 1:this.range(s);break;default:this.range(o).domain(s);break}return this}const QLe=Symbol("implicit");function ZLe(){var s=new qAe,o=[],f=[],p=QLe;function w(k){let b=s.get(k);if(b===void 0){if(p!==QLe)return p;s.set(k,b=o.push(k)-1)}return f[b%f.length]}return w.domain=function(k){if(!arguments.length)return o.slice();o=[],s=new qAe;for(const b of k)s.has(b)||s.set(b,o.push(b)-1);return w},w.range=function(k){return arguments.length?(f=Array.from(k),w):f.slice()},w.unknown=function(k){return arguments.length?(p=k,w):p},w.copy=function(){return ZLe(o,f).unknown(p)},Wfe.apply(w,arguments),w}function v8t(s){return function(){return s}}function w8t(s){return+s}var JLe=[0,1];function oA(s){return s}function Yfe(s,o){return(o-=s=+s)?function(f){return(f-s)/o}:v8t(isNaN(o)?NaN:.5)}function m8t(s,o){var f;return s>o&&(f=s,s=o,o=f),function(p){return Math.max(s,Math.min(o,p))}}function y8t(s,o,f){var p=s[0],w=s[1],k=o[0],b=o[1];return w2?k8t:y8t,A=N=null,F}function F(H){return H==null||isNaN(H=+H)?k:(A||(A=_(s.map(p),o,f)))(p(b(H)))}return F.invert=function(H){return b(w((N||(N=_(o,s.map(p),Rw)))(H)))},F.domain=function(H){return arguments.length?(s=Array.from(H,w8t),B()):s.slice()},F.range=function(H){return arguments.length?(o=Array.from(H),B()):o.slice()},F.rangeRound=function(H){return o=Array.from(H),f=B6t,B()},F.clamp=function(H){return arguments.length?(b=H?!0:oA,B()):b!==oA},F.interpolate=function(H){return arguments.length?(f=H,B()):f},F.unknown=function(H){return arguments.length?(k=H,F):k},function(H,j){return p=H,w=j,B()}}function tMe(){return x8t()(oA,oA)}function E8t(s,o,f,p){var w=wfe(s,o,f),k;switch(p=lU(p??",f"),p.type){case"s":{var b=Math.max(Math.abs(s),Math.abs(o));return p.precision==null&&!isNaN(k=p8t(w,b))&&(p.precision=k),XLe(p,b)}case"":case"e":case"g":case"p":case"r":{p.precision==null&&!isNaN(k=b8t(w,Math.max(Math.abs(s),Math.abs(o))))&&(p.precision=k-(p.type==="e"));break}case"f":case"%":{p.precision==null&&!isNaN(k=g8t(w))&&(p.precision=k-(p.type==="%")*2);break}}return YLe(p)}function T8t(s){var o=s.domain;return s.ticks=function(f){var p=o();return m4t(p[0],p[p.length-1],f??10)},s.tickFormat=function(f,p){var w=o();return E8t(w[0],w[w.length-1],f??10,p)},s.nice=function(f){f==null&&(f=10);var p=o(),w=0,k=p.length-1,b=p[w],_=p[k],A,N,B=10;for(_0;){if(N=UAe(b,_,f),N===A)return p[w]=b,p[k]=_,o(p);if(N>0)b=Math.floor(b/N)*N,_=Math.ceil(_/N)*N;else if(N<0)b=Math.ceil(b*N)/N,_=Math.floor(_*N)/N;else break;A=N}return s},s}function nMe(){var s=tMe();return s.copy=function(){return eMe(s,nMe())},Wfe.apply(s,arguments),T8t(s)}function _8t(s,o){s=s.slice();var f=0,p=s.length-1,w=s[f],k=s[p],b;return k0))return A;do A.push(N=new Date(+k)),o(k,_),s(k);while(N=b)for(;s(b),!k(b);)b.setTime(b-1)},function(b,_){if(b>=b)if(_<0)for(;++_<=0;)for(;o(b,-1),!k(b););else for(;--_>=0;)for(;o(b,1),!k(b););})},f&&(w.count=function(k,b){return Xfe.setTime(+k),Qfe.setTime(+b),s(Xfe),s(Qfe),Math.floor(f(Xfe,Qfe))},w.every=function(k){return k=Math.floor(k),!isFinite(k)||!(k>0)?null:k>1?w.filter(p?function(b){return p(b)%k===0}:function(b){return w.count(0,b)%k===0}):w}),w}var fU=ed(function(){},function(s,o){s.setTime(+s+o)},function(s,o){return o-s});fU.every=function(s){return s=Math.floor(s),!isFinite(s)||!(s>0)?null:s>1?ed(function(o){o.setTime(Math.floor(o/s)*s)},function(o,f){o.setTime(+o+f*s)},function(o,f){return(f-o)/s}):fU};const C8t=fU;fU.range;const l5=1e3,Hb=l5*60,h5=Hb*60,OE=h5*24,Zfe=OE*7,rMe=OE*30,Jfe=OE*365;var iMe=ed(function(s){s.setTime(s-s.getMilliseconds())},function(s,o){s.setTime(+s+o*l5)},function(s,o){return(o-s)/l5},function(s){return s.getUTCSeconds()});const uN=iMe;iMe.range;var sMe=ed(function(s){s.setTime(s-s.getMilliseconds()-s.getSeconds()*l5)},function(s,o){s.setTime(+s+o*Hb)},function(s,o){return(o-s)/Hb},function(s){return s.getMinutes()});const dU=sMe;sMe.range;var aMe=ed(function(s){s.setTime(s-s.getMilliseconds()-s.getSeconds()*l5-s.getMinutes()*Hb)},function(s,o){s.setTime(+s+o*h5)},function(s,o){return(o-s)/h5},function(s){return s.getHours()});const gU=aMe;aMe.range;var oMe=ed(s=>s.setHours(0,0,0,0),(s,o)=>s.setDate(s.getDate()+o),(s,o)=>(o-s-(o.getTimezoneOffset()-s.getTimezoneOffset())*Hb)/OE,s=>s.getDate()-1);const cA=oMe;oMe.range;function NE(s){return ed(function(o){o.setDate(o.getDate()-(o.getDay()+7-s)%7),o.setHours(0,0,0,0)},function(o,f){o.setDate(o.getDate()+f*7)},function(o,f){return(f-o-(f.getTimezoneOffset()-o.getTimezoneOffset())*Hb)/Zfe})}var uA=NE(0),pU=NE(1),S8t=NE(2),A8t=NE(3),lA=NE(4),L8t=NE(5),M8t=NE(6);uA.range,pU.range,S8t.range,A8t.range,lA.range,L8t.range,M8t.range;var cMe=ed(function(s){s.setDate(1),s.setHours(0,0,0,0)},function(s,o){s.setMonth(s.getMonth()+o)},function(s,o){return o.getMonth()-s.getMonth()+(o.getFullYear()-s.getFullYear())*12},function(s){return s.getMonth()});const bU=cMe;cMe.range;var e1e=ed(function(s){s.setMonth(0,1),s.setHours(0,0,0,0)},function(s,o){s.setFullYear(s.getFullYear()+o)},function(s,o){return o.getFullYear()-s.getFullYear()},function(s){return s.getFullYear()});e1e.every=function(s){return!isFinite(s=Math.floor(s))||!(s>0)?null:ed(function(o){o.setFullYear(Math.floor(o.getFullYear()/s)*s),o.setMonth(0,1),o.setHours(0,0,0,0)},function(o,f){o.setFullYear(o.getFullYear()+f*s)})};const PE=e1e;e1e.range;var uMe=ed(function(s){s.setUTCSeconds(0,0)},function(s,o){s.setTime(+s+o*Hb)},function(s,o){return(o-s)/Hb},function(s){return s.getUTCMinutes()});const D8t=uMe;uMe.range;var lMe=ed(function(s){s.setUTCMinutes(0,0,0)},function(s,o){s.setTime(+s+o*h5)},function(s,o){return(o-s)/h5},function(s){return s.getUTCHours()});const I8t=lMe;lMe.range;var hMe=ed(function(s){s.setUTCHours(0,0,0,0)},function(s,o){s.setUTCDate(s.getUTCDate()+o)},function(s,o){return(o-s)/OE},function(s){return s.getUTCDate()-1});const t1e=hMe;hMe.range;function BE(s){return ed(function(o){o.setUTCDate(o.getUTCDate()-(o.getUTCDay()+7-s)%7),o.setUTCHours(0,0,0,0)},function(o,f){o.setUTCDate(o.getUTCDate()+f*7)},function(o,f){return(f-o)/Zfe})}var n1e=BE(0),vU=BE(1),O8t=BE(2),N8t=BE(3),hA=BE(4),P8t=BE(5),B8t=BE(6);n1e.range,vU.range,O8t.range,N8t.range,hA.range,P8t.range,B8t.range;var fMe=ed(function(s){s.setUTCDate(1),s.setUTCHours(0,0,0,0)},function(s,o){s.setUTCMonth(s.getUTCMonth()+o)},function(s,o){return o.getUTCMonth()-s.getUTCMonth()+(o.getUTCFullYear()-s.getUTCFullYear())*12},function(s){return s.getUTCMonth()});const F8t=fMe;fMe.range;var r1e=ed(function(s){s.setUTCMonth(0,1),s.setUTCHours(0,0,0,0)},function(s,o){s.setUTCFullYear(s.getUTCFullYear()+o)},function(s,o){return o.getUTCFullYear()-s.getUTCFullYear()},function(s){return s.getUTCFullYear()});r1e.every=function(s){return!isFinite(s=Math.floor(s))||!(s>0)?null:ed(function(o){o.setUTCFullYear(Math.floor(o.getUTCFullYear()/s)*s),o.setUTCMonth(0,1),o.setUTCHours(0,0,0,0)},function(o,f){o.setUTCFullYear(o.getUTCFullYear()+f*s)})};const fA=r1e;r1e.range;function dMe(s,o,f,p,w,k){const b=[[uN,1,l5],[uN,5,5*l5],[uN,15,15*l5],[uN,30,30*l5],[k,1,Hb],[k,5,5*Hb],[k,15,15*Hb],[k,30,30*Hb],[w,1,h5],[w,3,3*h5],[w,6,6*h5],[w,12,12*h5],[p,1,OE],[p,2,2*OE],[f,1,Zfe],[o,1,rMe],[o,3,3*rMe],[s,1,Jfe]];function _(N,B,F){const H=Bae).right(b,H);if(j===b.length)return s.every(wfe(N/Jfe,B/Jfe,F));if(j===0)return C8t.every(Math.max(wfe(N,B,F),1));const[V,Z]=b[H/b[j-1][2]53)return null;"w"in He||(He.w=1),"Z"in He?(Lt=s1e(lN(He.y,0,1)),Ve=Lt.getUTCDay(),Lt=Ve>4||Ve===0?vU.ceil(Lt):vU(Lt),Lt=t1e.offset(Lt,(He.V-1)*7),He.y=Lt.getUTCFullYear(),He.m=Lt.getUTCMonth(),He.d=Lt.getUTCDate()+(He.w+6)%7):(Lt=i1e(lN(He.y,0,1)),Ve=Lt.getDay(),Lt=Ve>4||Ve===0?pU.ceil(Lt):pU(Lt),Lt=cA.offset(Lt,(He.V-1)*7),He.y=Lt.getFullYear(),He.m=Lt.getMonth(),He.d=Lt.getDate()+(He.w+6)%7)}else("W"in He||"U"in He)&&("w"in He||(He.w="u"in He?He.u%7:"W"in He?1:0),Ve="Z"in He?s1e(lN(He.y,0,1)).getUTCDay():i1e(lN(He.y,0,1)).getDay(),He.m=0,He.d="W"in He?(He.w+6)%7+He.W*7-(Ve+5)%7:He.w+He.U*7-(Ve+6)%7);return"Z"in He?(He.H+=He.Z/100|0,He.M+=He.Z%100,s1e(He)):i1e(He)}}function ye(Tt,wt,At,He){for(var Ze=0,Lt=wt.length,Ve=At.length,Mn,Oe;Ze=Ve)return-1;if(Mn=wt.charCodeAt(Ze++),Mn===37){if(Mn=wt.charAt(Ze++),Oe=Ee[Mn in gMe?wt.charAt(Ze++):Mn],!Oe||(He=Oe(Tt,At,He))<0)return-1}else if(Mn!=At.charCodeAt(He++))return-1}return He}function re(Tt,wt,At){var He=N.exec(wt.slice(At));return He?(Tt.p=B.get(He[0].toLowerCase()),At+He[0].length):-1}function we(Tt,wt,At){var He=j.exec(wt.slice(At));return He?(Tt.w=V.get(He[0].toLowerCase()),At+He[0].length):-1}function ke(Tt,wt,At){var He=F.exec(wt.slice(At));return He?(Tt.w=H.get(He[0].toLowerCase()),At+He[0].length):-1}function he(Tt,wt,At){var He=le.exec(wt.slice(At));return He?(Tt.m=ce.get(He[0].toLowerCase()),At+He[0].length):-1}function De(Tt,wt,At){var He=Z.exec(wt.slice(At));return He?(Tt.m=ae.get(He[0].toLowerCase()),At+He[0].length):-1}function X(Tt,wt,At){return ye(Tt,o,wt,At)}function Re(Tt,wt,At){return ye(Tt,f,wt,At)}function pe(Tt,wt,At){return ye(Tt,p,wt,At)}function Ge(Tt){return b[Tt.getDay()]}function de(Tt){return k[Tt.getDay()]}function ct(Tt){return A[Tt.getMonth()]}function bt(Tt){return _[Tt.getMonth()]}function St(Tt){return w[+(Tt.getHours()>=12)]}function yt(Tt){return 1+~~(Tt.getMonth()/3)}function Mt(Tt){return b[Tt.getUTCDay()]}function nn(Tt){return k[Tt.getUTCDay()]}function dn(Tt){return A[Tt.getUTCMonth()]}function vt(Tt){return _[Tt.getUTCMonth()]}function Lr(Tt){return w[+(Tt.getUTCHours()>=12)]}function xt(Tt){return 1+~~(Tt.getUTCMonth()/3)}return{format:function(Tt){var wt=Me(Tt+="",be);return wt.toString=function(){return Tt},wt},parse:function(Tt){var wt=fe(Tt+="",!1);return wt.toString=function(){return Tt},wt},utcFormat:function(Tt){var wt=Me(Tt+="",xe);return wt.toString=function(){return Tt},wt},utcParse:function(Tt){var wt=fe(Tt+="",!0);return wt.toString=function(){return Tt},wt}}}var gMe={"-":"",_:" ",0:"0"},td=/^\s*\d+/,H8t=/^%/,z8t=/[\\^$*+?|[\]().{}]/g;function jc(s,o,f){var p=s<0?"-":"",w=(p?-s:s)+"",k=w.length;return p+(k[o.toLowerCase(),f]))}function q8t(s,o,f){var p=td.exec(o.slice(f,f+1));return p?(s.w=+p[0],f+p[0].length):-1}function V8t(s,o,f){var p=td.exec(o.slice(f,f+1));return p?(s.u=+p[0],f+p[0].length):-1}function U8t(s,o,f){var p=td.exec(o.slice(f,f+2));return p?(s.U=+p[0],f+p[0].length):-1}function K8t(s,o,f){var p=td.exec(o.slice(f,f+2));return p?(s.V=+p[0],f+p[0].length):-1}function W8t(s,o,f){var p=td.exec(o.slice(f,f+2));return p?(s.W=+p[0],f+p[0].length):-1}function pMe(s,o,f){var p=td.exec(o.slice(f,f+4));return p?(s.y=+p[0],f+p[0].length):-1}function bMe(s,o,f){var p=td.exec(o.slice(f,f+2));return p?(s.y=+p[0]+(+p[0]>68?1900:2e3),f+p[0].length):-1}function Y8t(s,o,f){var p=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(o.slice(f,f+6));return p?(s.Z=p[1]?0:-(p[2]+(p[3]||"00")),f+p[0].length):-1}function X8t(s,o,f){var p=td.exec(o.slice(f,f+1));return p?(s.q=p[0]*3-3,f+p[0].length):-1}function Q8t(s,o,f){var p=td.exec(o.slice(f,f+2));return p?(s.m=p[0]-1,f+p[0].length):-1}function vMe(s,o,f){var p=td.exec(o.slice(f,f+2));return p?(s.d=+p[0],f+p[0].length):-1}function Z8t(s,o,f){var p=td.exec(o.slice(f,f+3));return p?(s.m=0,s.d=+p[0],f+p[0].length):-1}function wMe(s,o,f){var p=td.exec(o.slice(f,f+2));return p?(s.H=+p[0],f+p[0].length):-1}function J8t(s,o,f){var p=td.exec(o.slice(f,f+2));return p?(s.M=+p[0],f+p[0].length):-1}function ext(s,o,f){var p=td.exec(o.slice(f,f+2));return p?(s.S=+p[0],f+p[0].length):-1}function txt(s,o,f){var p=td.exec(o.slice(f,f+3));return p?(s.L=+p[0],f+p[0].length):-1}function nxt(s,o,f){var p=td.exec(o.slice(f,f+6));return p?(s.L=Math.floor(p[0]/1e3),f+p[0].length):-1}function rxt(s,o,f){var p=H8t.exec(o.slice(f,f+1));return p?f+p[0].length:-1}function ixt(s,o,f){var p=td.exec(o.slice(f));return p?(s.Q=+p[0],f+p[0].length):-1}function sxt(s,o,f){var p=td.exec(o.slice(f));return p?(s.s=+p[0],f+p[0].length):-1}function mMe(s,o){return jc(s.getDate(),o,2)}function axt(s,o){return jc(s.getHours(),o,2)}function oxt(s,o){return jc(s.getHours()%12||12,o,2)}function cxt(s,o){return jc(1+cA.count(PE(s),s),o,3)}function yMe(s,o){return jc(s.getMilliseconds(),o,3)}function uxt(s,o){return yMe(s,o)+"000"}function lxt(s,o){return jc(s.getMonth()+1,o,2)}function hxt(s,o){return jc(s.getMinutes(),o,2)}function fxt(s,o){return jc(s.getSeconds(),o,2)}function dxt(s){var o=s.getDay();return o===0?7:o}function gxt(s,o){return jc(uA.count(PE(s)-1,s),o,2)}function kMe(s){var o=s.getDay();return o>=4||o===0?lA(s):lA.ceil(s)}function pxt(s,o){return s=kMe(s),jc(lA.count(PE(s),s)+(PE(s).getDay()===4),o,2)}function bxt(s){return s.getDay()}function vxt(s,o){return jc(pU.count(PE(s)-1,s),o,2)}function wxt(s,o){return jc(s.getFullYear()%100,o,2)}function mxt(s,o){return s=kMe(s),jc(s.getFullYear()%100,o,2)}function yxt(s,o){return jc(s.getFullYear()%1e4,o,4)}function kxt(s,o){var f=s.getDay();return s=f>=4||f===0?lA(s):lA.ceil(s),jc(s.getFullYear()%1e4,o,4)}function xxt(s){var o=s.getTimezoneOffset();return(o>0?"-":(o*=-1,"+"))+jc(o/60|0,"0",2)+jc(o%60,"0",2)}function xMe(s,o){return jc(s.getUTCDate(),o,2)}function Ext(s,o){return jc(s.getUTCHours(),o,2)}function Txt(s,o){return jc(s.getUTCHours()%12||12,o,2)}function _xt(s,o){return jc(1+t1e.count(fA(s),s),o,3)}function EMe(s,o){return jc(s.getUTCMilliseconds(),o,3)}function Cxt(s,o){return EMe(s,o)+"000"}function Sxt(s,o){return jc(s.getUTCMonth()+1,o,2)}function Axt(s,o){return jc(s.getUTCMinutes(),o,2)}function Lxt(s,o){return jc(s.getUTCSeconds(),o,2)}function Mxt(s){var o=s.getUTCDay();return o===0?7:o}function Dxt(s,o){return jc(n1e.count(fA(s)-1,s),o,2)}function TMe(s){var o=s.getUTCDay();return o>=4||o===0?hA(s):hA.ceil(s)}function Ixt(s,o){return s=TMe(s),jc(hA.count(fA(s),s)+(fA(s).getUTCDay()===4),o,2)}function Oxt(s){return s.getUTCDay()}function Nxt(s,o){return jc(vU.count(fA(s)-1,s),o,2)}function Pxt(s,o){return jc(s.getUTCFullYear()%100,o,2)}function Bxt(s,o){return s=TMe(s),jc(s.getUTCFullYear()%100,o,2)}function Fxt(s,o){return jc(s.getUTCFullYear()%1e4,o,4)}function Rxt(s,o){var f=s.getUTCDay();return s=f>=4||f===0?hA(s):hA.ceil(s),jc(s.getUTCFullYear()%1e4,o,4)}function jxt(){return"+0000"}function _Me(){return"%"}function CMe(s){return+s}function SMe(s){return Math.floor(+s/1e3)}var dA,wU;$xt({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function $xt(s){return dA=$8t(s),wU=dA.format,dA.parse,dA.utcFormat,dA.utcParse,dA}function Hxt(s){return new Date(s)}function zxt(s){return s instanceof Date?+s:+new Date(+s)}function AMe(s,o,f,p,w,k,b,_,A,N){var B=tMe(),F=B.invert,H=B.domain,j=N(".%L"),V=N(":%S"),Z=N("%I:%M"),ae=N("%I %p"),le=N("%a %d"),ce=N("%b %d"),be=N("%B"),xe=N("%Y");function Ee(Me){return(A(Me)1?0:s<-1?dN:Math.acos(s)}function MMe(s){return s>=1?mU:s<=-1?-mU:Math.asin(s)}function Uxt(s){return s.innerRadius}function Kxt(s){return s.outerRadius}function Wxt(s){return s.startAngle}function Yxt(s){return s.endAngle}function Xxt(s){return s&&s.padAngle}function Qxt(s,o,f,p,w,k,b,_){var A=f-s,N=p-o,B=b-w,F=_-k,H=F*A-B*N;if(!(H*HX*X+Re*Re&&(ye=we,re=ke),{cx:ye,cy:re,x01:-B,y01:-F,x11:ye*(w/Ee-1),y11:re*(w/Ee-1)}}function gN(){var s=Uxt,o=Kxt,f=sf(0),p=null,w=Wxt,k=Yxt,b=Xxt,_=null;function A(){var N,B,F=+s.apply(this,arguments),H=+o.apply(this,arguments),j=w.apply(this,arguments)-mU,V=k.apply(this,arguments)-mU,Z=LMe(V-j),ae=V>j;if(_||(_=N=Ufe()),Hv0))_.moveTo(0,0);else if(Z>yU-v0)_.moveTo(H*FE(j),H*Jy(j)),_.arc(0,0,H,j,V,!ae),F>v0&&(_.moveTo(F*FE(V),F*Jy(V)),_.arc(0,0,F,V,j,ae));else{var le=j,ce=V,be=j,xe=V,Ee=Z,Me=Z,fe=b.apply(this,arguments)/2,ye=fe>v0&&(p?+p.apply(this,arguments):gA(F*F+H*H)),re=a1e(LMe(H-F)/2,+f.apply(this,arguments)),we=re,ke=re,he,De;if(ye>v0){var X=MMe(ye/F*Jy(fe)),Re=MMe(ye/H*Jy(fe));(Ee-=X*2)>v0?(X*=ae?1:-1,be+=X,xe-=X):(Ee=0,be=xe=(j+V)/2),(Me-=Re*2)>v0?(Re*=ae?1:-1,le+=Re,ce-=Re):(Me=0,le=ce=(j+V)/2)}var pe=H*FE(le),Ge=H*Jy(le),de=F*FE(xe),ct=F*Jy(xe);if(re>v0){var bt=H*FE(ce),St=H*Jy(ce),yt=F*FE(be),Mt=F*Jy(be),nn;if(Zv0?ke>v0?(he=kU(yt,Mt,pe,Ge,H,ke,ae),De=kU(bt,St,de,ct,H,ke,ae),_.moveTo(he.cx+he.x01,he.cy+he.y01),kev0)||!(Ee>v0)?_.lineTo(de,ct):we>v0?(he=kU(de,ct,bt,St,F,-we,ae),De=kU(pe,Ge,yt,Mt,F,-we,ae),_.lineTo(he.cx+he.x01,he.cy+he.y01),wes?1:o>=s?0:NaN}function t7t(s){return s}function n7t(){var s=t7t,o=e7t,f=null,p=sf(0),w=sf(yU),k=sf(0);function b(_){var A,N=(_=DMe(_)).length,B,F,H=0,j=new Array(N),V=new Array(N),Z=+p.apply(this,arguments),ae=Math.min(yU,Math.max(-yU,w.apply(this,arguments)-Z)),le,ce=Math.min(Math.abs(ae)/N,k.apply(this,arguments)),be=ce*(ae<0?-1:1),xe;for(A=0;A0&&(H+=xe);for(o!=null?j.sort(function(Ee,Me){return o(V[Ee],V[Me])}):f!=null&&j.sort(function(Ee,Me){return f(_[Ee],_[Me])}),A=0,F=H?(ae-N*be)/H:0;A0?xe*F:0)+be,V[B]={data:_[B],index:A,value:xe,startAngle:Z,endAngle:le,padAngle:ce};return V}return b.value=function(_){return arguments.length?(s=typeof _=="function"?_:sf(+_),b):s},b.sortValues=function(_){return arguments.length?(o=_,f=null,b):o},b.sort=function(_){return arguments.length?(f=_,o=null,b):f},b.startAngle=function(_){return arguments.length?(p=typeof _=="function"?_:sf(+_),b):p},b.endAngle=function(_){return arguments.length?(w=typeof _=="function"?_:sf(+_),b):w},b.padAngle=function(_){return arguments.length?(k=typeof _=="function"?_:sf(+_),b):k},b}class OMe{constructor(o,f){this._context=o,this._x=f}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(o,f){switch(o=+o,f=+f,this._point){case 0:{this._point=1,this._line?this._context.lineTo(o,f):this._context.moveTo(o,f);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+o)/2,this._y0,this._x0,f,o,f):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+f)/2,o,this._y0,o,f);break}}this._x0=o,this._y0=f}}function r7t(s){return new OMe(s,!0)}function i7t(s){return new OMe(s,!1)}function qk(){}function xU(s,o,f){s._context.bezierCurveTo((2*s._x0+s._x1)/3,(2*s._y0+s._y1)/3,(s._x0+2*s._x1)/3,(s._y0+2*s._y1)/3,(s._x0+4*s._x1+o)/6,(s._y0+4*s._y1+f)/6)}function EU(s){this._context=s}EU.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:xU(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(s,o){switch(s=+s,o=+o,this._point){case 0:this._point=1,this._line?this._context.lineTo(s,o):this._context.moveTo(s,o);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:xU(this,s,o);break}this._x0=this._x1,this._x1=s,this._y0=this._y1,this._y1=o}};function pA(s){return new EU(s)}function NMe(s){this._context=s}NMe.prototype={areaStart:qk,areaEnd:qk,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(s,o){switch(s=+s,o=+o,this._point){case 0:this._point=1,this._x2=s,this._y2=o;break;case 1:this._point=2,this._x3=s,this._y3=o;break;case 2:this._point=3,this._x4=s,this._y4=o,this._context.moveTo((this._x0+4*this._x1+s)/6,(this._y0+4*this._y1+o)/6);break;default:xU(this,s,o);break}this._x0=this._x1,this._x1=s,this._y0=this._y1,this._y1=o}};function s7t(s){return new NMe(s)}function PMe(s){this._context=s}PMe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(s,o){switch(s=+s,o=+o,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var f=(this._x0+4*this._x1+s)/6,p=(this._y0+4*this._y1+o)/6;this._line?this._context.lineTo(f,p):this._context.moveTo(f,p);break;case 3:this._point=4;default:xU(this,s,o);break}this._x0=this._x1,this._x1=s,this._y0=this._y1,this._y1=o}};function a7t(s){return new PMe(s)}function BMe(s,o){this._basis=new EU(s),this._beta=o}BMe.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var s=this._x,o=this._y,f=s.length-1;if(f>0)for(var p=s[0],w=o[0],k=s[f]-p,b=o[f]-w,_=-1,A;++_<=f;)A=_/f,this._basis.point(this._beta*s[_]+(1-this._beta)*(p+A*k),this._beta*o[_]+(1-this._beta)*(w+A*b));this._x=this._y=null,this._basis.lineEnd()},point:function(s,o){this._x.push(+s),this._y.push(+o)}};const o7t=function s(o){function f(p){return o===1?new EU(p):new BMe(p,o)}return f.beta=function(p){return s(+p)},f}(.85);function TU(s,o,f){s._context.bezierCurveTo(s._x1+s._k*(s._x2-s._x0),s._y1+s._k*(s._y2-s._y0),s._x2+s._k*(s._x1-o),s._y2+s._k*(s._y1-f),s._x2,s._y2)}function o1e(s,o){this._context=s,this._k=(1-o)/6}o1e.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:TU(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(s,o){switch(s=+s,o=+o,this._point){case 0:this._point=1,this._line?this._context.lineTo(s,o):this._context.moveTo(s,o);break;case 1:this._point=2,this._x1=s,this._y1=o;break;case 2:this._point=3;default:TU(this,s,o);break}this._x0=this._x1,this._x1=this._x2,this._x2=s,this._y0=this._y1,this._y1=this._y2,this._y2=o}};const c7t=function s(o){function f(p){return new o1e(p,o)}return f.tension=function(p){return s(+p)},f}(0);function c1e(s,o){this._context=s,this._k=(1-o)/6}c1e.prototype={areaStart:qk,areaEnd:qk,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(s,o){switch(s=+s,o=+o,this._point){case 0:this._point=1,this._x3=s,this._y3=o;break;case 1:this._point=2,this._context.moveTo(this._x4=s,this._y4=o);break;case 2:this._point=3,this._x5=s,this._y5=o;break;default:TU(this,s,o);break}this._x0=this._x1,this._x1=this._x2,this._x2=s,this._y0=this._y1,this._y1=this._y2,this._y2=o}};const u7t=function s(o){function f(p){return new c1e(p,o)}return f.tension=function(p){return s(+p)},f}(0);function u1e(s,o){this._context=s,this._k=(1-o)/6}u1e.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(s,o){switch(s=+s,o=+o,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:TU(this,s,o);break}this._x0=this._x1,this._x1=this._x2,this._x2=s,this._y0=this._y1,this._y1=this._y2,this._y2=o}};const l7t=function s(o){function f(p){return new u1e(p,o)}return f.tension=function(p){return s(+p)},f}(0);function l1e(s,o,f){var p=s._x1,w=s._y1,k=s._x2,b=s._y2;if(s._l01_a>v0){var _=2*s._l01_2a+3*s._l01_a*s._l12_a+s._l12_2a,A=3*s._l01_a*(s._l01_a+s._l12_a);p=(p*_-s._x0*s._l12_2a+s._x2*s._l01_2a)/A,w=(w*_-s._y0*s._l12_2a+s._y2*s._l01_2a)/A}if(s._l23_a>v0){var N=2*s._l23_2a+3*s._l23_a*s._l12_a+s._l12_2a,B=3*s._l23_a*(s._l23_a+s._l12_a);k=(k*N+s._x1*s._l23_2a-o*s._l12_2a)/B,b=(b*N+s._y1*s._l23_2a-f*s._l12_2a)/B}s._context.bezierCurveTo(p,w,k,b,s._x2,s._y2)}function FMe(s,o){this._context=s,this._alpha=o}FMe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(s,o){if(s=+s,o=+o,this._point){var f=this._x2-s,p=this._y2-o;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(f*f+p*p,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(s,o):this._context.moveTo(s,o);break;case 1:this._point=2;break;case 2:this._point=3;default:l1e(this,s,o);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=s,this._y0=this._y1,this._y1=this._y2,this._y2=o}};const h7t=function s(o){function f(p){return o?new FMe(p,o):new o1e(p,0)}return f.alpha=function(p){return s(+p)},f}(.5);function RMe(s,o){this._context=s,this._alpha=o}RMe.prototype={areaStart:qk,areaEnd:qk,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(s,o){if(s=+s,o=+o,this._point){var f=this._x2-s,p=this._y2-o;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(f*f+p*p,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=s,this._y3=o;break;case 1:this._point=2,this._context.moveTo(this._x4=s,this._y4=o);break;case 2:this._point=3,this._x5=s,this._y5=o;break;default:l1e(this,s,o);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=s,this._y0=this._y1,this._y1=this._y2,this._y2=o}};const f7t=function s(o){function f(p){return o?new RMe(p,o):new c1e(p,0)}return f.alpha=function(p){return s(+p)},f}(.5);function jMe(s,o){this._context=s,this._alpha=o}jMe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(s,o){if(s=+s,o=+o,this._point){var f=this._x2-s,p=this._y2-o;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(f*f+p*p,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:l1e(this,s,o);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=s,this._y0=this._y1,this._y1=this._y2,this._y2=o}};const d7t=function s(o){function f(p){return o?new jMe(p,o):new u1e(p,0)}return f.alpha=function(p){return s(+p)},f}(.5);function $Me(s){this._context=s}$Me.prototype={areaStart:qk,areaEnd:qk,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(s,o){s=+s,o=+o,this._point?this._context.lineTo(s,o):(this._point=1,this._context.moveTo(s,o))}};function g7t(s){return new $Me(s)}function HMe(s){return s<0?-1:1}function zMe(s,o,f){var p=s._x1-s._x0,w=o-s._x1,k=(s._y1-s._y0)/(p||w<0&&-0),b=(f-s._y1)/(w||p<0&&-0),_=(k*w+b*p)/(p+w);return(HMe(k)+HMe(b))*Math.min(Math.abs(k),Math.abs(b),.5*Math.abs(_))||0}function GMe(s,o){var f=s._x1-s._x0;return f?(3*(s._y1-s._y0)/f-o)/2:o}function h1e(s,o,f){var p=s._x0,w=s._y0,k=s._x1,b=s._y1,_=(k-p)/3;s._context.bezierCurveTo(p+_,w+_*o,k-_,b-_*f,k,b)}function _U(s){this._context=s}_U.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:h1e(this,this._t0,GMe(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(s,o){var f=NaN;if(s=+s,o=+o,!(s===this._x1&&o===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(s,o):this._context.moveTo(s,o);break;case 1:this._point=2;break;case 2:this._point=3,h1e(this,GMe(this,f=zMe(this,s,o)),f);break;default:h1e(this,this._t0,f=zMe(this,s,o));break}this._x0=this._x1,this._x1=s,this._y0=this._y1,this._y1=o,this._t0=f}}};function qMe(s){this._context=new VMe(s)}(qMe.prototype=Object.create(_U.prototype)).point=function(s,o){_U.prototype.point.call(this,o,s)};function VMe(s){this._context=s}VMe.prototype={moveTo:function(s,o){this._context.moveTo(o,s)},closePath:function(){this._context.closePath()},lineTo:function(s,o){this._context.lineTo(o,s)},bezierCurveTo:function(s,o,f,p,w,k){this._context.bezierCurveTo(o,s,p,f,k,w)}};function p7t(s){return new _U(s)}function b7t(s){return new qMe(s)}function UMe(s){this._context=s}UMe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var s=this._x,o=this._y,f=s.length;if(f)if(this._line?this._context.lineTo(s[0],o[0]):this._context.moveTo(s[0],o[0]),f===2)this._context.lineTo(s[1],o[1]);else for(var p=KMe(s),w=KMe(o),k=0,b=1;b=0;--o)w[o]=(b[o]-w[o+1])/k[o];for(k[f-1]=(s[f]+w[f-1])/2,o=0;o=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(s,o){switch(s=+s,o=+o,this._point){case 0:this._point=1,this._line?this._context.lineTo(s,o):this._context.moveTo(s,o);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,o),this._context.lineTo(s,o);else{var f=this._x*(1-this._t)+s*this._t;this._context.lineTo(f,this._y),this._context.lineTo(f,o)}break}}this._x=s,this._y=o}};function w7t(s){return new CU(s,.5)}function m7t(s){return new CU(s,0)}function y7t(s){return new CU(s,1)}function pN(s,o,f){this.k=s,this.x=o,this.y=f}pN.prototype={constructor:pN,scale:function(s){return s===1?this:new pN(this.k*s,this.x,this.y)},translate:function(s,o){return s===0&o===0?this:new pN(this.k,this.x+this.k*s,this.y+this.k*o)},apply:function(s){return[s[0]*this.k+this.x,s[1]*this.k+this.y]},applyX:function(s){return s*this.k+this.x},applyY:function(s){return s*this.k+this.y},invert:function(s){return[(s[0]-this.x)/this.k,(s[1]-this.y)/this.k]},invertX:function(s){return(s-this.x)/this.k},invertY:function(s){return(s-this.y)/this.k},rescaleX:function(s){return s.copy().domain(s.range().map(this.invertX,this).map(s.invert,s))},rescaleY:function(s){return s.copy().domain(s.range().map(this.invertY,this).map(s.invert,s))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},pN.prototype;/*! @license DOMPurify 2.4.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.4.3/LICENSE */function Vk(s){return Vk=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o){return typeof o}:function(o){return o&&typeof Symbol=="function"&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},Vk(s)}function f1e(s,o){return f1e=Object.setPrototypeOf||function(p,w){return p.__proto__=w,p},f1e(s,o)}function k7t(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function SU(s,o,f){return k7t()?SU=Reflect.construct:SU=function(w,k,b){var _=[null];_.push.apply(_,k);var A=Function.bind.apply(w,_),N=new A;return b&&f1e(N,b.prototype),N},SU.apply(null,arguments)}function $w(s){return x7t(s)||E7t(s)||T7t(s)||_7t()}function x7t(s){if(Array.isArray(s))return d1e(s)}function E7t(s){if(typeof Symbol<"u"&&s[Symbol.iterator]!=null||s["@@iterator"]!=null)return Array.from(s)}function T7t(s,o){if(s){if(typeof s=="string")return d1e(s,o);var f=Object.prototype.toString.call(s).slice(8,-1);if(f==="Object"&&s.constructor&&(f=s.constructor.name),f==="Map"||f==="Set")return Array.from(s);if(f==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(f))return d1e(s,o)}}function d1e(s,o){(o==null||o>s.length)&&(o=s.length);for(var f=0,p=new Array(o);f1?f-1:0),w=1;w/gm),$7t=Hw(/\${[\w\W]*}/gm),H7t=Hw(/^data-[\-\w.\u00B7-\uFFFF]/),z7t=Hw(/^aria-[\-\w]+$/),G7t=Hw(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),q7t=Hw(/^(?:\w+script|data):/i),V7t=Hw(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),U7t=Hw(/^html$/i),K7t=function(){return typeof window>"u"?null:window},W7t=function(o,f){if(Vk(o)!=="object"||typeof o.createPolicy!="function")return null;var p=null,w="data-tt-policy-suffix";f.currentScript&&f.currentScript.hasAttribute(w)&&(p=f.currentScript.getAttribute(w));var k="dompurify"+(p?"#"+p:"");try{return o.createPolicy(k,{createHTML:function(_){return _},createScriptURL:function(_){return _}})}catch{return console.warn("TrustedTypes policy "+k+" could not be created."),null}};function tDe(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:K7t(),o=function($t){return tDe($t)};if(o.version="2.4.3",o.removed=[],!s||!s.document||s.document.nodeType!==9)return o.isSupported=!1,o;var f=s.document,p=s.document,w=s.DocumentFragment,k=s.HTMLTemplateElement,b=s.Node,_=s.Element,A=s.NodeFilter,N=s.NamedNodeMap,B=N===void 0?s.NamedNodeMap||s.MozNamedAttrMap:N,F=s.HTMLFormElement,H=s.DOMParser,j=s.trustedTypes,V=_.prototype,Z=MU(V,"cloneNode"),ae=MU(V,"nextSibling"),le=MU(V,"childNodes"),ce=MU(V,"parentNode");if(typeof k=="function"){var be=p.createElement("template");be.content&&be.content.ownerDocument&&(p=be.content.ownerDocument)}var xe=W7t(j,f),Ee=xe?xe.createHTML(""):"",Me=p,fe=Me.implementation,ye=Me.createNodeIterator,re=Me.createDocumentFragment,we=Me.getElementsByTagName,ke=f.importNode,he={};try{he=jE(p).documentMode?p.documentMode:{}}catch{}var De={};o.isSupported=typeof ce=="function"&&fe&&typeof fe.createHTMLDocument<"u"&&he!==9;var X=R7t,Re=j7t,pe=$7t,Ge=H7t,de=z7t,ct=q7t,bt=V7t,St=G7t,yt=null,Mt=Lo({},[].concat($w(QMe),$w(v1e),$w(w1e),$w(m1e),$w(ZMe))),nn=null,dn=Lo({},[].concat($w(JMe),$w(y1e),$w(eDe),$w(DU))),vt=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Lr=null,xt=null,Tt=!0,wt=!0,At=!1,He=!1,Ze=!1,Lt=!1,Ve=!1,Mn=!1,Oe=!1,Di=!1,rn=!0,pi=!1,Fr="user-content-",tr=!0,Wn=!1,er={},Fn=null,nr=Lo({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),ha=null,fa=Lo({},["audio","video","img","source","image","track"]),is=null,Xi=Lo({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),da="http://www.w3.org/1998/Math/MathML",Cc="http://www.w3.org/2000/svg",na="http://www.w3.org/1999/xhtml",Ji=na,Fi=!1,vr=null,wr=Lo({},[da,Cc,na],p1e),ni,Yn=["application/xhtml+xml","text/html"],Gi="text/html",un,Ks=null,Hn=p.createElement("form"),Ms=function($t){return $t instanceof RegExp||$t instanceof Function},Ea=function($t){Ks&&Ks===$t||((!$t||Vk($t)!=="object")&&($t={}),$t=jE($t),ni=Yn.indexOf($t.PARSER_MEDIA_TYPE)===-1?ni=Gi:ni=$t.PARSER_MEDIA_TYPE,un=ni==="application/xhtml+xml"?p1e:LU,yt="ALLOWED_TAGS"in $t?Lo({},$t.ALLOWED_TAGS,un):Mt,nn="ALLOWED_ATTR"in $t?Lo({},$t.ALLOWED_ATTR,un):dn,vr="ALLOWED_NAMESPACES"in $t?Lo({},$t.ALLOWED_NAMESPACES,p1e):wr,is="ADD_URI_SAFE_ATTR"in $t?Lo(jE(Xi),$t.ADD_URI_SAFE_ATTR,un):Xi,ha="ADD_DATA_URI_TAGS"in $t?Lo(jE(fa),$t.ADD_DATA_URI_TAGS,un):fa,Fn="FORBID_CONTENTS"in $t?Lo({},$t.FORBID_CONTENTS,un):nr,Lr="FORBID_TAGS"in $t?Lo({},$t.FORBID_TAGS,un):{},xt="FORBID_ATTR"in $t?Lo({},$t.FORBID_ATTR,un):{},er="USE_PROFILES"in $t?$t.USE_PROFILES:!1,Tt=$t.ALLOW_ARIA_ATTR!==!1,wt=$t.ALLOW_DATA_ATTR!==!1,At=$t.ALLOW_UNKNOWN_PROTOCOLS||!1,He=$t.SAFE_FOR_TEMPLATES||!1,Ze=$t.WHOLE_DOCUMENT||!1,Mn=$t.RETURN_DOM||!1,Oe=$t.RETURN_DOM_FRAGMENT||!1,Di=$t.RETURN_TRUSTED_TYPE||!1,Ve=$t.FORCE_BODY||!1,rn=$t.SANITIZE_DOM!==!1,pi=$t.SANITIZE_NAMED_PROPS||!1,tr=$t.KEEP_CONTENT!==!1,Wn=$t.IN_PLACE||!1,St=$t.ALLOWED_URI_REGEXP||St,Ji=$t.NAMESPACE||na,$t.CUSTOM_ELEMENT_HANDLING&&Ms($t.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(vt.tagNameCheck=$t.CUSTOM_ELEMENT_HANDLING.tagNameCheck),$t.CUSTOM_ELEMENT_HANDLING&&Ms($t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(vt.attributeNameCheck=$t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),$t.CUSTOM_ELEMENT_HANDLING&&typeof $t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(vt.allowCustomizedBuiltInElements=$t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),He&&(wt=!1),Oe&&(Mn=!0),er&&(yt=Lo({},$w(ZMe)),nn=[],er.html===!0&&(Lo(yt,QMe),Lo(nn,JMe)),er.svg===!0&&(Lo(yt,v1e),Lo(nn,y1e),Lo(nn,DU)),er.svgFilters===!0&&(Lo(yt,w1e),Lo(nn,y1e),Lo(nn,DU)),er.mathMl===!0&&(Lo(yt,m1e),Lo(nn,eDe),Lo(nn,DU))),$t.ADD_TAGS&&(yt===Mt&&(yt=jE(yt)),Lo(yt,$t.ADD_TAGS,un)),$t.ADD_ATTR&&(nn===dn&&(nn=jE(nn)),Lo(nn,$t.ADD_ATTR,un)),$t.ADD_URI_SAFE_ATTR&&Lo(is,$t.ADD_URI_SAFE_ATTR,un),$t.FORBID_CONTENTS&&(Fn===nr&&(Fn=jE(Fn)),Lo(Fn,$t.FORBID_CONTENTS,un)),tr&&(yt["#text"]=!0),Ze&&Lo(yt,["html","head","body"]),yt.table&&(Lo(yt,["tbody"]),delete Lr.tbody),tg&&tg($t),Ks=$t)},Va=Lo({},["mi","mo","mn","ms","mtext"]),Ba=Lo({},["foreignobject","desc","title","annotation-xml"]),Ta=Lo({},["title","style","font","a","script"]),ss=Lo({},v1e);Lo(ss,w1e),Lo(ss,B7t);var Zs=Lo({},m1e);Lo(Zs,F7t);var Fa=function($t){var Mr=ce($t);(!Mr||!Mr.tagName)&&(Mr={namespaceURI:Ji,tagName:"template"});var bi=LU($t.tagName),Aa=LU(Mr.tagName);return vr[$t.namespaceURI]?$t.namespaceURI===Cc?Mr.namespaceURI===na?bi==="svg":Mr.namespaceURI===da?bi==="svg"&&(Aa==="annotation-xml"||Va[Aa]):Boolean(ss[bi]):$t.namespaceURI===da?Mr.namespaceURI===na?bi==="math":Mr.namespaceURI===Cc?bi==="math"&&Ba[Aa]:Boolean(Zs[bi]):$t.namespaceURI===na?Mr.namespaceURI===Cc&&!Ba[Aa]||Mr.namespaceURI===da&&!Va[Aa]?!1:!Zs[bi]&&(Ta[bi]||!ss[bi]):!!(ni==="application/xhtml+xml"&&vr[$t.namespaceURI]):!1},$s=function($t){bN(o.removed,{element:$t});try{$t.parentNode.removeChild($t)}catch{try{$t.outerHTML=Ee}catch{$t.remove()}}},ap=function($t,Mr){try{bN(o.removed,{attribute:Mr.getAttributeNode($t),from:Mr})}catch{bN(o.removed,{attribute:null,from:Mr})}if(Mr.removeAttribute($t),$t==="is"&&!nn[$t])if(Mn||Oe)try{$s(Mr)}catch{}else try{Mr.setAttribute($t,"")}catch{}},Xb=function($t){var Mr,bi;if(Ve)$t=""+$t;else{var Aa=I7t($t,/^[\r\n\t ]+/);bi=Aa&&Aa[0]}ni==="application/xhtml+xml"&&Ji===na&&($t=''+$t+"");var Nc=xe?xe.createHTML($t):$t;if(Ji===na)try{Mr=new H().parseFromString(Nc,ni)}catch{}if(!Mr||!Mr.documentElement){Mr=fe.createDocument(Ji,"template",null);try{Mr.documentElement.innerHTML=Fi?Ee:Nc}catch{}}var $c=Mr.body||Mr.documentElement;return $t&&bi&&$c.insertBefore(p.createTextNode(bi),$c.childNodes[0]||null),Ji===na?we.call(Mr,Ze?"html":"body")[0]:Ze?Mr.documentElement:$c},bu=function($t){return ye.call($t.ownerDocument||$t,$t,A.SHOW_ELEMENT|A.SHOW_COMMENT|A.SHOW_TEXT,null,!1)},ra=function($t){return $t instanceof F&&(typeof $t.nodeName!="string"||typeof $t.textContent!="string"||typeof $t.removeChild!="function"||!($t.attributes instanceof B)||typeof $t.removeAttribute!="function"||typeof $t.setAttribute!="function"||typeof $t.namespaceURI!="string"||typeof $t.insertBefore!="function"||typeof $t.hasChildNodes!="function")},Ju=function($t){return Vk(b)==="object"?$t instanceof b:$t&&Vk($t)==="object"&&typeof $t.nodeType=="number"&&typeof $t.nodeName=="string"},lf=function($t,Mr,bi){De[$t]&&D7t(De[$t],function(Aa){Aa.call(o,Mr,bi,Ks)})},el=function($t){var Mr;if(lf("beforeSanitizeElements",$t,null),ra($t)||ng(/[\u0080-\uFFFF]/,$t.nodeName))return $s($t),!0;var bi=un($t.nodeName);if(lf("uponSanitizeElement",$t,{tagName:bi,allowedTags:yt}),$t.hasChildNodes()&&!Ju($t.firstElementChild)&&(!Ju($t.content)||!Ju($t.content.firstElementChild))&&ng(/<[/\w]/g,$t.innerHTML)&&ng(/<[/\w]/g,$t.textContent)||bi==="select"&&ng(/