UNPKG

@tubular/time

Version:

Date/time, IANA timezones, leap seconds, TAI/UTC conversions, calendar with settable Julian/Gregorian switchover

110 lines 188 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).tbTime={})}(this,function(e){"use strict";const t=Math.abs;function i(e,t){const i=e/t;return i>=0?Math.floor(i):Math.ceil(i)}function a(e,t){return Math.floor(e/t)}function s(e,t=1){return 1===t?Math.floor(e):e-o(e,t)}const n=Math.max,r=Math.min;function o(e,t){const i=e%t;return i<0&&t>0||i>0&&t<0?t+i:i} function l(e,t){let i=e-Math.floor(e/t)*t;return i>=t/2&&(i-=t),i}const c=Math.pow;function u(e,t=1){return 1===t?Math.round(e):e+t/2-o(e+t/2,t)}var m,h,d,f;"function"==typeof SuppressedError&&SuppressedError,function(e){e[e.RADIANS=0]="RADIANS",e[e.DEGREES=1]="DEGREES",e[e.ARC_MINUTES=2]="ARC_MINUTES",e[e.ARC_SECONDS=3]="ARC_SECONDS",e[e.HOURS=4]="HOURS",e[e.HOUR_ANGLE_MINUTES=5]="HOUR_ANGLE_MINUTES",e[e.HOUR_ANGLE_SECONDS=6]="HOUR_ANGLE_SECONDS",e[e.ROTATIONS=7]="ROTATIONS",e[e.GRADS=8]="GRADS" }(d||(d={})),function(e){e[e.RANGE_LIMIT_SIGNED=0]="RANGE_LIMIT_SIGNED",e[e.RANGE_LIMIT_NONNEGATIVE=1]="RANGE_LIMIT_NONNEGATIVE",e[e.RANGE_UNLIMITED=2]="RANGE_UNLIMITED"}(f||(f={}));const A=Math.PI,T=A/2,g=2*A;function M(e,t){switch(t){case d.RADIANS:return e;case d.DEGREES:return e/180*A;case d.ARC_MINUTES:return e/10800*A;case d.ARC_SECONDS:return e/648e3*A;case d.HOURS:return e/12*A;case d.HOUR_ANGLE_MINUTES:return e/720*A;case d.HOUR_ANGLE_SECONDS:return e/43200*A;case d.ROTATIONS:return e*g ;case d.GRADS:return e/200*A}return NaN}function p(e,t){switch(t){case d.RADIANS:return e;case d.DEGREES:return 180*e/A;case d.ARC_MINUTES:return 10800*e/A;case d.ARC_SECONDS:return 648e3*e/A;case d.HOURS:return 12*e/A;case d.HOUR_ANGLE_MINUTES:return 720*e/A;case d.HOUR_ANGLE_SECONDS:return 43200*e/A;case d.ROTATIONS:return e/g;case d.GRADS:return 200*e/A}return NaN}let E,y,D,S,b=class{static asin(e){return new m(Math.asin(e))}static asin_nonneg(e){ return new m(Math.asin(e),d.RADIANS,f.RANGE_LIMIT_NONNEGATIVE)}static acos(e){return new m(Math.acos(e))}static atan(e){return new m(Math.atan(e))}static atan_nonneg(e){return new m(Math.atan(e),d.RADIANS,f.RANGE_LIMIT_NONNEGATIVE)}static atan2(e,t){return new m(Math.atan2(e,t))}static atan2_nonneg(e,t){return new m(Math.atan2(e,t),d.RADIANS,f.RANGE_LIMIT_NONNEGATIVE)}static parse(e,t=!1){const i=function(e,t,i,a){ if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return a}(m,m,0,h).call(m,e);if(null==i&&t)throw new Error("Invalid angle: "+e);return i}constructor(e=0,t,i=f.RANGE_LIMIT_SIGNED){return this.cached_sin=2,this.cached_cos=2,this.cached_tan=0,void 0===t&&(t=d.RADIANS),0===e&&m.ZERO?m.ZERO:(i===f.RANGE_LIMIT_SIGNED?this.angle=l(M(e,t),g):i===f.RANGE_LIMIT_NONNEGATIVE?this.angle=o(M(e,t),g):this.angle=M(e,t), m.RIGHT&&this.angle===m.RIGHT.angle?m.RIGHT:m.STRAIGHT&&this.angle===m.STRAIGHT.angle?m.STRAIGHT:void 0)}get radians(){return this.angle}get degrees(){return p(this.angle,d.DEGREES)}get arcMinutes(){return p(this.angle,d.ARC_MINUTES)}get arcSeconds(){return p(this.angle,d.ARC_SECONDS)}get hours(){return p(this.angle,d.HOURS)}get rotations(){return p(this.angle,d.ROTATIONS)}get grads(){return p(this.angle,d.GRADS)}getAngle(e=d.RADIANS){return p(this.angle,e)}get sin(){ return this.cached_sin>1&&(this.cached_sin=Math.sin(this.angle)),this.cached_sin}get cos(){return this.cached_cos>1&&(this.cached_cos=Math.cos(this.angle)),this.cached_cos}get tan(){return 0===this.angle?0:(0===this.cached_tan&&(this.cached_tan=Math.tan(this.angle)),this.cached_tan)}add(e,t=f.RANGE_LIMIT_SIGNED){return new m(this.angle+e.angle,d.RADIANS,t)}add_nonneg(e){return new m(this.angle+e.angle,d.RADIANS,f.RANGE_LIMIT_NONNEGATIVE)}subtract(e,t=f.RANGE_LIMIT_SIGNED){ return new m(this.angle-e.angle,d.RADIANS,t)}subtract_nonneg(e){return new m(this.angle-e.angle,d.RADIANS,f.RANGE_LIMIT_NONNEGATIVE)}complement(e=f.RANGE_LIMIT_SIGNED){return new m(T-this.angle,d.RADIANS,e)}complement_nonneg(){return new m(T-this.angle,d.RADIANS,f.RANGE_LIMIT_NONNEGATIVE)}supplement(e=f.RANGE_LIMIT_SIGNED){return new m(A-this.angle,d.RADIANS,e)}supplement_nonneg(){return new m(A-this.angle,d.RADIANS,f.RANGE_LIMIT_NONNEGATIVE)}opposite(e=f.RANGE_LIMIT_SIGNED){ return new m(this.angle+A,d.RADIANS,e)}opposite_nonneg(){return new m(this.angle+A,d.RADIANS,f.RANGE_LIMIT_NONNEGATIVE)}negate(e=f.RANGE_LIMIT_SIGNED){return new m(-this.angle,d.RADIANS,e)}negate_nonneg(){return new m(-this.angle,d.RADIANS,f.RANGE_LIMIT_NONNEGATIVE)}multiply(e,t=f.RANGE_LIMIT_SIGNED){return new m(this.angle*e,d.RADIANS,t)}multiply_nonneg(e){return new m(this.angle*e,d.RADIANS,f.RANGE_LIMIT_NONNEGATIVE)}divide(e,t=f.RANGE_LIMIT_SIGNED){return new m(this.angle/e,d.RADIANS,t)} divide_nonneg(e){return new m(this.angle/e,d.RADIANS,f.RANGE_LIMIT_NONNEGATIVE)}toString(e,t){return m.toStringAux(this.degrees,"°","'",'"',e,t)}toSuffixedString(e,i,a,s){return a=-17&(a||0),m.toStringAux(t(this.degrees),"°","'",'"',a,s)+(this.degrees<0?i:e)}toHourString(e,t){return e=-3&(e||0),m.toStringAux(this.hours,"h","m","s",e,t)}toTimeString(e,t){return 8&(e=-3&(e||0))||(e|=4),m.toStringAux(this.hours,":",4===e?"":":","",e,t,2)}static toStringAux(e,i,a,n,r,o,l=0){const m=!!(12&(r=r||0)) ;1&r?l=2:2&r&&(l=3),null==o&&(o=null!=r&&m?0:3);const h=Math.sign(e);let d;if(e=t(e),m){const t=c(10,o);if(4&r){let n=u(60*e*t)/t;e=s(n/60),n%=60,d=e+i+(n<10?"0":"")+n.toFixed(o)+a}else{let r=u(3600*e*t)/t,l=s(r/60);r%=60,e=s(l/60),l%=60,d=e+i+(l<10?"0":"")+l+a+(r<10?"0":"")+r.toFixed(o)+n}}else d=e.toFixed(o)+i;if(l){const e=l-/^(\d+)\D/.exec(d)[1].length;for(let t=0;t<e;++t)d="0"+d}return h<0?d="-"+d:16&r&&(d="+"+d),d}};m=b,h=function(e){const t=(e||"").split(/([-+hms'"’”°:new])/i);let i=1,a=d.DEGREES ;t[0]||"+"!==t[1]&&"-"!==t[1]||("-"===t[1]&&(i=-1),t.splice(0,2));const s=t.filter((e,t)=>t%2==0).map(e=>parseFloat(e.trim())),n=t.filter((e,t)=>t%2==1).map(e=>e.trim().toLowerCase());return s.length>1&&isNaN(s.at(-1))&&s.splice(s.length-1,1),s.findIndex(e=>isNaN(e))>=0?null:(n.find(e=>"h"===e||"m"===e||":"===e)?a=d.HOURS:"s"===n.at(-1)&&(i*=-1),new m(i*(s[0]+(s[1]||0)/60+(s[2]||0)/3600),a,f.RANGE_UNLIMITED))},b.ZERO=new m(0),b.RIGHT=new m(T),b.STRAIGHT=new m(A);try{const e=String.fromCharCode(117) ;"m&m".split(new RegExp("(?<!4)[^\\p{L}]+",e)),E=new RegExp("\\P{L}","g"+e),S=new RegExp("^\\p{Nd}$",e),y=new RegExp("^\\p{Lu}+$",e),D=new RegExp(String.raw`(?<=^|[^\p{L}])['’ʼ]?[`+"\\"+String.raw`p{L}'’ʼ\u0300-\u036F]+['’ʼ]?(?=[^\p{L}]|$)`,"g"+e)}catch{E=/[A-ZÀ-ÖØ-ÿ]/gi,S=/^\d$/,y=/^[A-ZÀ-ÖØ-Þ]+$/,D=/['’ʼ]?\b[A-Za-zÀ-ÖØ-ÿ'’ʼ\u0300-\u036F]+\b['’ʼ]?/g}const _=new Map;function k(e,t,i=" "){let a="";!/^\s$/.test(i)&&"number"==typeof e&&e<0&&"0"===i&&(a="-",e=-e,--t);let s=String(e);for(;s.length<t;)s=i+s ;return a+s}["eBay","FedEx","iCloud","iMac","iOS","iPad","iPhone","MacBook","macOS","PepsiCo","watchOS"].forEach(e=>_.set(function(e){return e.toLowerCase().replace(/['’ʼ]/g,"'")}(e),e)) ;const w=[[1632,"Arabic"],[1776,"Extended Arabic"],[1984,"N'Ko"],[2406,"Devanagari"],[2534,"Bengali"],[2662,"Gurmukhi"],[2790,"Gujarati"],[2918,"Oriya"],[3046,"Tamil"],[3174,"Telugu"],[3302,"Kannada"],[3430,"Malayalam"],[3558,"Sinhala Lith"],[3664,"Thai"],[3792,"Lao"],[3872,"Tibetan"],[4160,"Myanmar"],[4240,"Myanmar Shan"],[6112,"Khmer"],[6160,"Mongolian"],[6470,"Limbu"],[6608,"New Tai Lue"],[6784,"Tai Tham Hora"],[6800,"Tai Tham Tham"],[6992,"Balinese"],[7088,"Sundanese"],[7232,"Lepcha"],[7248,"Ol Chiki"],[42528,"Vai"],[43216,"Saurashtra"],[43264,"Kayah Li"],[43472,"Javanese"],[43504,"Myanmar Tai Laing"],[43600,"Cham"],[44016,"Meetei Mayek"]],O={},N={},z={} ;for(const[e,t]of w){const i=String.fromCodePoint(e);for(let a=0;a<=9;++a){const s=String.fromCodePoint(e+a);O[s]=String.fromCodePoint(48+a),N[s]=i,z[s]=t}}function I(e,t){return e.replace(/./g,e=>O[e]?(N[e],z[e],O[e]):e)}var L;!function(e){e[e.DATE_ONLY=0]="DATE_ONLY",e[e.NO_SECONDS=1]="NO_SECONDS",e[e.NO_ZONE=2]="NO_ZONE",e[e.TIME_ONLY=3]="TIME_ONLY",e[e.UTC=4]="UTC",e[e.USE_T=5]="USE_T",e[e.USE_Z=6]="USE_Z",e[e.WITH_MILLIS=7]="WITH_MILLIS"}(L||(L={}));const C=[] ;for(let e=2;e<=36;++e)C[e]=e<=10?new RegExp("^[-+]?[0-"+(e-1)+"]+$"):new RegExp("^[-+]?[0-9A-"+String.fromCharCode(54+e)+"]+$","i");function F(e,t=0){if("number"==typeof e)return e;if("string"==typeof e){const i=parseFloat(e);return isNaN(i)||!isFinite(i)?t:i}if("bigint"==typeof e){const i=Number(e);return isFinite(i)?i:t}return t}function R(e,t){return function(e){ return Array.isArray(e)||e instanceof Array||j(e)&&Y(e.length)&&e.length>=0&&e.length<=Number.MAX_SAFE_INTEGER&&e.length===Math.floor(e.length)}(e)&&e.length>0?e[e.length-1]:t}function W(e,t){Object.keys(j(e)?e:{}).forEach(i=>t(i,e[i]))}function G(e){return Array.isArray(e)}function P(e){return"boolean"==typeof e}function U(e){return"function"==typeof e}function Y(e){return"number"==typeof e}function j(e){return!!e&&("function"==typeof e||"object"==typeof e)}function v(e){return"string"==typeof e} function B(e,t=!1){return x(e,t,0,new WeakMap)}function x(e,t,i,a){if(U(e)||!j(e)||!0===t&&i>0)return e;if(a.has(e))return a.get(e);if(t&&i>0)if(t instanceof Set){for(const i of t.values())if(e instanceof i)return e}else if(U(t)&&t(e,i))return e;let s;if(e instanceof Date)s=new Date(e);else if(e instanceof RegExp)s=new RegExp(e);else{if(e instanceof Map)return s=new Map,a.set(e,s),Array.from(e.entries()).forEach(e=>s.set(e[0],x(e[1],t,i+1,a))),s;if(e instanceof Set)return s=new Set,a.set(e,s), e.forEach(e=>s.add(x(e,t,i+1,a))),s ;"undefined"!=typeof BigInt64Array&&e instanceof BigInt64Array?s=new BigInt64Array(e):"undefined"!=typeof BigUint64Array&&e instanceof BigUint64Array?s=new BigUint64Array(e):e instanceof Float32Array?s=new Float32Array(e):e instanceof Float64Array?s=new Float64Array(e):e instanceof Int8Array?s=new Int8Array(e):e instanceof Int16Array?s=new Int16Array(e):e instanceof Int32Array?s=new Int32Array(e):e instanceof Uint8Array?s=new Uint8Array(e):e instanceof Uint16Array?s=new Uint16Array(e):e instanceof Uint32Array?s=new Uint32Array(e):e instanceof Uint8ClampedArray&&(s=new Uint8ClampedArray(e)) }if(s)return a.set(e,s),s;const n=function(e,t=!1){return j(e)?e.constructor.name:t?"no-class:"+typeof e:null}(e);null!=n&&"Array"!==n&&"Object"!==n?(s=Object.create(Object.getPrototypeOf(e)),G(e)&&(s.length=e.length)):G(e)?(s=[],s.length=e.length):s={},a.set(e,s);const r=Reflect.ownKeys(e);for(const n of r)s[n]=x(e[n],t,i+1,a);return s}function Z(e,t,i=!1,a){let s;if(P(i)&&(i={mustBeSameClass:i}),G(i?.keysToIgnore)&&(i.keysToIgnore=new Set(i.keysToIgnore)),i.compare&&void 0!==(s=i.compare(e,t,a)))return s ;if(a&&i.keysToIgnore&&i.keysToIgnore.has(a))return!0;if(e===t||Object.is(e,t))return!0;if(typeof e!=typeof t||G(e)!==G(t)||G(e)&&e.length!==t.length)return!1;if(i.mustBeSameClass&&(!e.constructor!=!t.constructor||e.constructor!==t.constructor))return!1;if(!j(e)||!j(t))return!1;{const a=Reflect.ownKeys(e),s=new Set(Reflect.ownKeys(t));for(const n of a)if(s.delete(n),!(i?.keysToIgnore&&i.keysToIgnore.has(n)||t.hasOwnProperty(n)&&Z(e[n],t[n],i,n)))return!1 ;if(s.size>0&&i?.keysToIgnore&&i.keysToIgnore.forEach(e=>s.delete(e)),s.size>0)return!1}return!0}function K(e,t,i){for(const a of t)0!==i&&G(a)?K(e,a,i-1):e.push(a);return e}function H(e){return K([],e,1)}const{ceil:V,floor:q,max:J,min:$}=Math;let X,Q={appVersion:"?",maxTouchPoints:0,platform:"?",userAgent:"?",vendor:"?"};try{"undefined"!=typeof navigator&&(Q=navigator)}catch{}try{"undefined"!=typeof window&&(X=window)}catch{}async function ee(e=440,t=.025,i=100){if(X)return new Promise(a=>{ const s=new X.AudioContext,n=s.createOscillator(),r=s.createGain();n.type="square",n.frequency.value=e,n.connect(r),r.gain.value=t,r.connect(s.destination),n.start(),setTimeout(()=>{n.stop(),n.disconnect(),r.disconnect(),s.close(),a()},i)})}function te(e,t){return document.defaultView.getComputedStyle(e,null).getPropertyValue(t)}function ie(e,t){const i=[];function a(t){Array.from(t??[]).forEach(t=>{ if(t instanceof CSSMediaRule&&X?.matchMedia(t.conditionText).matches)a(t.cssRules);else if(t instanceof CSSSupportsRule)try{CSS.supports(t.conditionText)&&a(t.cssRules)}catch{}else if(t instanceof CSSStyleRule)try{e.matches(t.selectorText)&&i.push(t.style)}catch{}})}Array.from(document.styleSheets??[]).forEach(e=>a(e.rules||e.cssRules));let s,n=t.map(e=>{});for(;s=i.pop();){const e=t.map(e=>s[e]);n=n.map((t,i)=>t||e[i])}return n}const ae={"50%":"ultra-condensed","62.5%":"extra-condensed","75%":"condensed", "87.5%":"semi-condensed","100%":"normal","112.5%":"semi-expanded","125%":"expanded","150%":"extra-expanded","200%":"ultra-expanded"};function se(e){const t=document.defaultView.getComputedStyle(e,null);let i=t.getPropertyValue("font");if(!i){const e=t.getPropertyValue("font-style"),a=t.getPropertyValue("font-variant"),s=t.getPropertyValue("font-weight"),n=ae[t.getPropertyValue("font-stretch")]||"",r=t.getPropertyValue("font-size"),o=t.getPropertyValue("line-height") ;i=(e+" "+a+" "+s+" "+n+" "+r+(o?" / "+o:"")+" "+t.getPropertyValue("font-family")).replace(/ +/g," ").trim()}return i}const ne={};function re(e,t){let i;i="string"==typeof e?e:se(e);let a=!t&&ne[i];if(a)return a;let s=i,n=12,r=12;const o=/(.*?\b)((?:\d|\.)+)(px\b.*)/.exec(i);o&&(n=parseFloat(o[2]),r=2*n,s=o[1]+r+o[3]);let l=1.2*n;const c=$(50,1.5*l),u=document.createElement("div");u.style.position="absolute",u.style.opacity="0",u.style.font=i,u.innerHTML="Eg<br>Eg",document.body.appendChild(u) ;const m=parseFloat(te(u,"height").replace("px",""));m>=2*n&&(l=m/2),document.body.removeChild(u);const h=re.canvas||(re.canvas=document.createElement("canvas"));h.width=2*r+c,h.height=3*r,h.style.opacity="1";const d=h.getContext("2d",{willReadFrequently:!0}),f=h.width,A=4*f,T=h.height,g=T/2;d.fillStyle="white",d.fillRect(-1,-1,f+2,T+2),d.fillStyle="black",d.font=s,d.fillText("Eg",c/2,g);let M=d.getImageData(0,0,f,T).data,p=0;const E=M.length;for(;++p<E&&M[p]>192;);let y=g-q(p/A) ;for(p=E-1;--p>0&&M[p]>192;);let D=q(p/A)-g;for(d.fillStyle="white",d.fillRect(-1,-1,f+2,T+2),d.fillStyle="black",d.fillText("ÅÊ",c/2,g),M=d.getImageData(0,0,f,T).data,p=0;++p<E&&M[p]>192;);let S=g-q(p/A),b=S,_=D;if(t){for(d.fillStyle="white",d.fillRect(-1,-1,f+2,T+2),d.fillStyle="black",d.fillText(t,c/2,g),M=d.getImageData(0,0,f,T).data,p=0;++p<E&&M[p]>192;);for(b=J(q(p/A)-g,S),p=E-1;--p>0&&M[p]>192;);_=J(q(p/A)-g,D)}return r>n&&(y=V(y/2),S=V(S/2),D=V(D/2),b=V(b/2),_=V(_/2)),a={font:i,lineHeight:l, ascent:y,fullAscent:S,descent:D,leading:l-S-D},t?(a.extraAscent=b,a.extraDescent=_,a.extraLineHeight=J(b+_,l)):ne[i]=a,a}function oe(e){return/\b(italic|oblique)\b/.test(e)?e.replace(/\b(italic|oblique)\b/,""):"italic "+e}function le(e,t,i){const a=(le.canvas||(le.canvas=document.createElement("canvas"))).getContext("2d",{willReadFrequently:!0});let s,n=0;"string"==typeof t?s=t:"object"==typeof t&&(s=se(t)),a.font=s||i||"normal 12px sans-serif",Array.isArray(e)||(e=[e]);for(const t of e){ const e=a.measureText(t).width;n=J(n,e)}return n}const ce={"<":"&lt;",">":"&gt;","&":"&amp;",'"':"&quot;","'":"&apos;"},ue={};let me,he,de,fe,Ae,Te,ge,Me,pe,Ee,ye,De,Se,be,_e,ke,we,Oe,Ne,ze;function Ie(e=Q,t,i){t=t??X,i=i??!!X?.matchMedia("only screen and (max-width: 760px)").matches,me=e.platform||e.userAgentData?.platform||"?",he=me.startsWith("Mac")||/\b(Mac OS X|macOS)\b/i.test(e.userAgent),de=he&&!/\bmobile\b/i.test(e.userAgent),fe=/\bSamsungBrowser\b|(\bAndroid\b[^)]+\bSM-)/i.test(e.userAgent), Ae=e.appVersion?.includes("Windows")||me.startsWith("Win"),Te=me.startsWith("Linux")||/\bLinux\b/i.test(e.userAgent),ge=/\bedge\b/i.test(e.userAgent)&&Ae,Me=!!t?.chrome,pe=Me&&ge,Ee=e.userAgent.includes("Android")||fe,ye=void 0!==t?.opr||/\bOPR\/\d+\b/.test(e.userAgent),De="Google Inc."===e.vendor&&(/\bChrome\b/i.test(e.userAgent)&&!ge&&!fe&&!ye&&!pe||/\bCriOS\b/.test(e.userAgent)),Se="Google Inc."===e.vendor&&/\bCrOS\b/i.test(e.userAgent),be=e.userAgent.includes("Raspbian")||me.includes("Linux armv"), _e=/firefox/i.test(e.userAgent)&&!/seamonkey/i.test(e.userAgent),ke=/^((?!chrome|android).)*safari/i.test(e.userAgent)&&!ge,we=/i(Pad|Pod|Phone)/i.test(me)||he&&ke&&e.maxTouchPoints>1,Oe=F(((we?/(((iPhone|iPad).+?OS\s+)|(Version\/))(\d+)/i.exec(e.userAgent):null)??[])[5]),Ne=we&&Oe<=14,ze=we||/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini|\bmobile\b/i.test(e.userAgent)||i}function Le(){return _e}function Ce(e,t=!1){return e!==Re()?Fe(t):Promise.resolve()}function Fe(e=!1){const t=document ;try{if(Re()){if(t.exitFullscreen)return t.exitFullscreen();t.msExitFullscreen?t.msExitFullscreen():t.mozCancelFullScreen?t.mozCancelFullScreen():t.webkitExitFullscreen&&t.webkitExitFullscreen()}else{const e=document.documentElement;if(e.requestFullscreen)return e.requestFullscreen();e.msRequestFullscreen?e.msRequestFullscreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.webkitRequestFullscreen&&e.webkitRequestFullscreen()}}catch(t){if(e)throw t ;return Promise.reject(t instanceof Error?t:new Error(t))}return Promise.resolve()}function Re(){const e=document;return!!(e.fullscreenElement||e.mozFullScreenElement||e.webkitFullscreenElement||e.msFullscreenElement)}function We(e,t=!1){return e=encodeURIComponent(e).replace(/[!'()*]/g,e=>"%"+e.charCodeAt(0).toString(16).toUpperCase()),t?e.replace(/%20/g,"+"):e}Object.keys(ce).forEach(e=>ue[ce[e]]=e),Ie();var Ge=Object.freeze({__proto__:null,beep:function(e=440,t=.025,i=100){ee(e,t,i).finally()}, beepPromise:ee,doesCharacterGlyphExist:function e(t,i){Y(i)&&(i=String.fromCodePoint(i));const a=e,s=Le(),n=re(t),r=n.lineHeight+8,o=[a.canvas0||(a.canvas0=document.createElement("canvas")),a.canvas1||(a.canvas1=document.createElement("canvas")),a.canvas2||(a.canvas2=s&&document.createElement("canvas"))],l=[];for(let e=0;e<(s?3:2);++e){const t=o[e];t.width=r,t.height=r,t.style.opacity="1";const a=t.getContext("2d",{willReadFrequently:!0});a.fillStyle="white",a.fillRect(-1,-1,r+2,r+2),a.fillStyle="black", a.font=1===e&&s?oe(n.font):n.font,a.fillText(0===e||s&&2!==e?i:"￾",0,n.fullAscent),l[e]=a.getImageData(0,0,r,r).data}for(let e=0;e<l[0].length;e+=4)if(l[0][e]!==l[1][e])return!0;if(s)for(let e=0;e<l[0].length;e+=4){const t=q(e/4/r),i=q(e/4)%r;if((t<2||t===n.fullAscent-1||i<2)&&l[0][e]!==l[2][e])return!0}return!1},encodeForUri:We,eventToKey:function(e){let t=e.key;if(void 0===t){const i=e.charCode;if(0!==i&&null!=i)t=String.fromCodePoint(i);else{const i=e.keyCode||e.which;switch(i){case 3:case 13:t="Enter" ;break;case 8:t="Backspace";break;case 9:t="Tab";break;case 12:t="Clear";break;case 16:t="Shift";break;case 17:t="Control";break;case 18:t="Alt";break;case 19:t="Pause";break;case 20:t="CapsLock";break;case 27:t="Escape";break;case 33:t="PageUp";break;case 34:t="PageDown";break;case 35:t="End";break;case 36:t="Home";break;case 37:t="ArrowLeft";break;case 38:t="ArrowUp";break;case 39:t="ArrowRight";break;case 40:t="ArrowDown";break;case 43:case 107:t="+";break;case 44:t="PrintScreen";break;case 45: t="Insert";break;case 46:t="Delete";break;case 91:t="OS";break;case 93:t="ContextMenu";break;case 109:case 189:t="-";break;case 110:t=".";break;case 111:case 191:t="/";break;case 144:t="NumLock";break;case 145:t="ScrollLock";break;case 173:case 181:t="AudioVolumeMute";break;case 174:case 182:t="AudioVolumeDown";break;case 175:case 183:t="AudioVolumeUp";break;case 179:t="MediaPlayPause";break;case 186:t=";";break;case 187:t="=";break;case 188:t=",";break;case 192:t="~";break;case 219:t="[";break;case 220: t="\\";break;case 221:t="]";break;case 222:t="'";break;case 224:t="Meta";break;default:112<=i&&i<=135?t="F"+(i-111):48<=i&&i<=90?t=String.fromCharCode(i):96<=i&&i<=105&&(t=String.fromCharCode(i-48))}}}else switch(t){case"Left":case"UIKeyInputLeftArrow":t="ArrowLeft";break;case"Up":case"UIKeyInputUpArrow":t="ArrowUp";break;case"Right":case"UIKeyInputRightArrow":t="ArrowRight";break;case"Down":case"UIKeyInputDownArrow":t="ArrowDown";break;case"Add":t="+";break;case"Subtract":t="-";break;case"Multiply":t="*" ;break;case"Divide":t="/";break;case"Decimal":t=".";break;case"Apps":t="ContextMenu";break;case"Del ":t="Delete";break;case"Esc":t="Escape";break;case"Scroll":t="ScrollLock";break;case"Spacebar":t=" ";break;case"Win":t="Meta"}return t},getCssRuleValue:function(e,t){return ie(e,[t])[0]||void 0},getCssRuleValues:ie,getCssValue:te,getCssValues:function(e,t){const i=document.defaultView.getComputedStyle(e,null);return t.map(e=>i.getPropertyValue(e))},getCssVariable:function(e){ return document.querySelector(":root").style.getPropertyValue(e)},getFont:se,getFontMetrics:re,getTextWidth:le,htmlEscape:function(e,t=!1){return e.replace(t?/[<>&"']/g:/[<>&]/g,e=>ce[e[0]])},htmlUnescape:function(e){return e.replace(/&(?:#[xX]?)?[a-zA-Z0-9]+(?:;|$|(?=[^a-fA-F0-9]))/g,e=>{let t=ue[e];if(!t){let i,a=10;if(/^&#x/i.test(e)?(a=16,i=/^([a-fA-F0-9]+);?/.exec(e.substr(3))):e.startsWith("&#")&&(i=/^([0-9]+);?/.exec(e.substr(2))),i){const e=function(e,t=0,i=10){ if("number"==typeof e)return isNaN(e)||!isFinite(e)?t:Math.floor(e);if("string"==typeof e){const a=C[i];if(!a||!a.test(e))return t;const s=parseInt(e,i);return isNaN(s)||!isFinite(s)?t:s}if("bigint"==typeof e){const i=Number(e);return isNaN(i)||!isFinite(i)?t:i}return t}(i[1],-1,a);0<=e&&e<=1114111&&(t=String.fromCodePoint(e))}}return t??e})},initPlatformDetection:Ie,iosVersion:function(){return Oe},isAndroid:function(){return Ee},isChrome:function(){return De},isChromeOS:function(){return Se}, isChromium:function(){return Me},isChromiumEdge:function(){return pe},isEdge:function(){return ge},isEffectivelyFullScreen:function(){return Re()||!!X&&X.innerWidth===X.screen?.width&&X.innerHeight===X.screen?.height},isFirefox:Le,isFullScreen:Re,isIE:function(){return!1},isIOS:function(){return we},isIOS14OrEarlier:function(){return Ne},isLikelyMobile:function(){return ze},isLinux:function(){return Te},isMacOS:function(){return de},isOpera:function(){return ye},isRaspbian:function(){return be}, isSafari:function(){return ke},isSamsung:function(){return fe},isWindows:function(){return Ae},restrictPixelWidth:function(e,t,i,a="…"){let s=le(e,t),n=1;for(;s>i;)e=e.substring(0,e.length-n)+a,n=1+a.length,s=le(e,t);return e},setCssVariable:function(e,t){document.querySelector(":root").style.setProperty(e,t)},setFullScreen:function(e){Ce(e,!0)},setFullScreenAsync:Ce,toggleFullScreen:function(){Fe()},toggleFullScreenAsync:Fe,urlEncodeParams:function(e,t=!1){const i=[];return W(e,(e,a)=>{ null!=a&&i.push(We(e)+"="+We(a.toString(),t))}),i.join("&")}});const{initPlatformDetection:Pe,...Ue}=Ge;null==String.prototype.substr&&(String.prototype.substr=function(e,t){return this.substring(e,e+t)}) ;const Ye=-271820,je=275759,ve=6e4,Be=36e5,xe=864e5,Ze=86400,Ke=2440587.5,He=32.184/Ze,Ve=2400000.5,qe=["BC","AD","Before Christ","Anno Domini"],Je=["January","February","March","April","May","June","July","August","September","October","November","December"],$e=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Xe=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],Qe=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],et=["Su","Mo","Tu","We","Th","Fr","Sa"];let tt ;let it ;const at=[["y","year"],["q","quarter"],["m","month"],["d","day"],["dow","dayOfWeek"],["dowmi","dayOfWeekMonthIndex"],["dy","dayOfYear"],["n","epochDay"],["j","isJulian"],["yw","yearByWeek"],["w","week"],["dw","dayByWeek"],["ywl","yearByWeekLocale"],["wl","weekLocale"],["dwl","dayByWeekLocale"],["hrs","hour"],["min","minute"],["sec","second"]],st=["y","q","m","d","dow","dowmi","dy","n","j","year","quarter","month","day","dayOfWeek","dayOfWeekMonthIndex","dayOfYear","epochDay","isJulian","yw","w","dw","yearByWeek","week","dayByWeek","ywl","wl","dwl","yearByWeekLocale","weekLocale","dayByWeekLocale","hrs","min","sec","hour","minute","second","millis","utcOffset","dstOffset","occurrence","deltaTai","jde","mjde","jdu","mjdu","error"] ;function nt(e){for(const[t,i]of at)e.hasOwnProperty(t)?e[i]=e[t]:e.hasOwnProperty(i)&&(e[t]=e[i]);return e}function rt(e,t=!1){for(const[i,a]of at)delete e[t?i:a];return e}const ot=new Set(["y","year","m","month","d","day","hrs","hour","min","minute","sec","second","millis"]);const lt=new Error("Invalid ISO date/time");function ct(e,t=!1){let i;e=e.trim();let a=/^([-+]?\d+)-(\d{1,2}(?=\D|$))(?:-(\d{1,2}))?/.exec(e) ;if(a||(a=/^([-+]?\d{1,5}(?=[^-+:.Ww\d]|$))/.exec(e))||(a=/^([-+]?\d{4,})(\d\d)(\d\d)/.exec(e))?i={y:F(a[1]),m:Number(a[2]??1),d:Number(a[3]??1)}:(a=/^([-+]?\d+)-(W)(\d+)(?:-(\d))?/i.exec(e))||(a=/^([-+]?\d{4,})(W)(\d\d)(\d)?/i.exec(e))?i="W"===a[2]?{yw:F(a[1]),w:Number(a[3]),dw:Number(a[4]??1)}:{ywl:F(a[1]),wl:Number(a[3]),dwl:Number(a[4]??1)}:(a=/^(\d+)-(\d+)/.exec(e))||(a=/^(\d{4})(\d{3})/.exec(e))?i={y:F(a[1]),dy:Number(a[2])}:(a=[""],i={}), (e=e.substr(a[0].length).trim().replace(/^T\s*/i,""))?((a=/^(\d{1,2})(?::(\d{1,2}))(?::(?:(\d{1,2})(?:[.,](\d+))?))?(?=\D|$)/.exec(e))||(a=/^(\d\d)(?:(\d\d)(?:(\d\d)(?:[.,](\d+))?)?)?(?=\D|$)/.exec(e)))&&(Object.assign(i,{hrs:Number(a[1]),min:Number(a[2]??0),sec:Number(a[3]??0),millis:Number((a[4]??"0").padEnd(3,"0").substr(0,3))}),null==a[4]&&0===i.millis&&delete i.millis,e=e.substr(a[0].length).trim()):Object.assign(i,{hrs:0,min:0,sec:0}),a=/^([-+]\d\d(\d{4}|\d\d|:\d\d(:\d\d)?)?)$/i.exec(e), a)i.utcOffset=ut(a[1]);else if(e)throw lt;const n=i.y??i.yw??i.ywl??0,r=i.m??1,o=i.w??i.wl??1,l=i.d??1;if(n<Ye||n>je)throw new Error(`Invalid year: ${n}`);if(r>13)throw new Error(`Invalid month: ${r}`);if(o>53)throw new Error(`Invalid week: ${o}`);if(l>32)throw new Error(`Invalid day of month: ${l}`);if(i.hrs>23)throw new Error(`Invalid hour: ${i.hrs}`);if(i.min>59)throw new Error(`Invalid minute: ${i.min}`);if(i.sec>+t+59)throw new Error(`Invalid second: ${i.sec}`) ;if(i.utcOffset&&(i.utcOffset<-57600||i.utcOffset>57600))throw new Error(`Invalid UTC offset: ${a[1]}`);return null!=i.m&&(i.q=s((i.m-1)/3)+1),nt(i)}function ut(e,t=!1){let i=1;e.startsWith("-")?(i=-1,e=e.substr(1)):e.startsWith("+")&&(e=e.substr(1));const a=e.includes(":")?e.split(":"):e.match(/../g)??["0"];let s=60*(60*Number(a[0])+Number(a[1]??0));if(a[2]){const e=Number(a[2]);s+=t?e<30?0:60:e}return i*s}function mt(e,t,i){const a=e instanceof Intl.DateTimeFormat?e.formatToParts(t):e;i=i??t ;const s=a.find(e=>e.type===i);return s?s.value:"???"}function ht(e,t,i){return F(I(mt(e,t,i)))}var dt;e.CalendarType=void 0,(dt=e.CalendarType||(e.CalendarType={}))[dt.PURE_GREGORIAN=0]="PURE_GREGORIAN",dt[dt.PURE_JULIAN=1]="PURE_JULIAN";const ft=3900;var At,Tt;e.DayOfWeek=void 0,(At=e.DayOfWeek||(e.DayOfWeek={}))[At.SUNDAY=0]="SUNDAY",At[At.MONDAY=1]="MONDAY",At[At.TUESDAY=2]="TUESDAY",At[At.WEDNESDAY=3]="WEDNESDAY",At[At.THURSDAY=4]="THURSDAY",At[At.FRIDAY=5]="FRIDAY",At[At.SATURDAY=6]="SATURDAY", e.Month=void 0,(Tt=e.Month||(e.Month={}))[Tt.JANUARY=1]="JANUARY",Tt[Tt.FEBRUARY=2]="FEBRUARY",Tt[Tt.MARCH=3]="MARCH",Tt[Tt.APRIL=4]="APRIL",Tt[Tt.MAY=5]="MAY",Tt[Tt.JUNE=6]="JUNE",Tt[Tt.JULY=7]="JULY",Tt[Tt.AUGUST=8]="AUGUST",Tt[Tt.SEPTEMBER=9]="SEPTEMBER",Tt[Tt.OCTOBER=10]="OCTOBER",Tt[Tt.NOVEMBER=11]="NOVEMBER",Tt[Tt.DECEMBER=12]="DECEMBER";const gt=-9999999,Mt=9999999,pt=-141427;const Et=new Error("This DateTime instance is locked and immutable");function yt(e,t,i,a,s=!1){let n,r,o,l;if(Y(e))o=e;else{ if(G(e)&&e.length>=3&&Y(e[0]))return e;G(e)?(o=e[0],t=e[1]):j(e)&&(nt(e),n=e.n,r=s?void 0:e.j,o=e.y,l=e.dy,t=e.m,i=e.d)}if(null==o){if(null!=n){if("g"===a||!1===r)return yt(Ct(n));if("j"===a||!0===r)return yt(Ft(n));if(a){++a.computeWeekValues;const e=yt(a.getDateFromDayNumber(n));return--a.computeWeekValues,e}return yt(Lt(n))}throw new Error("Calendar: Invalid date arguments")} return null==t&&null==i&&null!=l?yt("g"===a||!1===r?Ct(bt(o,1,0)+l):"j"===a||!0===r?Ft(_t(o,1,0)+l):Lt(St(o,1,0)+l)):[o,t=t??1,i=i??1,null==r?-1:+r]}function Dt(e,t,i){let a,s;return[a,t,i,s]=yt(e,t,i),1===s||a<1582||1582===a&&(t<10||10===t&&i<15)}function St(e,t,i){let a,s;for([a,t,i,s]=yt(e,t,i);t<1;)t+=12,--a;for(;t>12;)t-=12,++a;return 1===s||0!==s&&Dt(a,t,i)?_t(a,t,i):bt(a,t,i)}function bt(e,t,s){let n;for([n,t,s]=yt(e,t,s,"g");t<1;)t+=12,--n;for(;t>12;)t-=12,++n ;return 367*n-a(7*(n+i(t+9,12)),4)-i(3*(i(n+i(t-9,7),100)+1),4)+i(275*t,9)+s-719559}function _t(e,t,s){let n;for([n,t,s]=yt(e,t,s,"j");t<1;)t+=12,--n;for(;t>12;)t-=12,++n;return 367*n-a(7*(n+i(t+9,12)),4)+i(275*t,9)+s-719561}function kt(e,t){return 9===t||4===t||6===t||11===t?30:2!==t?31:e%4==0&&(e<1583||e%100!=0||e%400==0)?29:28}function wt(e,t){return 9===t||4===t||6===t||11===t?30:2!==t?31:e%4!=0||e%100==0&&e%400!=0?28:29}function Ot(e,t){return 9===t||4===t||6===t||11===t?30:2!==t?31:e%4==0?29:28} function Nt(e){return o(e+4,7)}function zt(e,t,i,a){const s=a>=6;let n=St(e,t,1);const r=Nt(n);let l,c=0;if(r===i&&1===a)return 1;for(n+=o(i-r,7),l=Lt(n);l.m===t;){if(c=l.d,0===--a)return c;n+=7,l=Lt(n)}return s?c:0}function It(e,t,i,a){const s=St(e,t,a),n=o(i-Nt(s),7);if(1582===e&&10===t){const i=Lt(s+n);a=i.y!==e||i.m!==t?0:i.d}else(a+=n)>kt(e,t)&&(a=0);return a}function Lt(e){return e>=pt?Ct(e):Ft(e)}function Ct(e){let t,i,a,s,n;for(t=Math.floor((e+719528)/365.2425);e<bt(t,1,1);)--t ;for(;e>=bt(t+1,1,1);)++t;for(a=s=e-bt(t,1,1)+1,i=1;a>(n=wt(t,i));++i)a-=n;return nt({y:t,m:i,d:a,dy:s,n:e,j:!1})}for(let e=-207084;e<=205084;++e)Ft(e);function Ft(e){let t,i,a,s;for(t=Math.floor((e+719530)/365.25),a=e-_t(t,1,1)+1,i=1;a>(s=Ot(t,i));++i)a-=s;return nt({y:t,m:i,d:a,n:e,j:!0})}function Rt(e,t,i,a,s,n,r){return(r=r||0)+1e3*(n=n||0)+s*ve+a*Be+St(e,t,i)*xe}function Wt(e){const t=Lt(a(e,xe));return t.millis=o(e,1e3),e=a(e,1e3),t.sec=o(e,60),e=a(e,60),t.min=o(e,60),e=a(e,60),t.hrs=o(e,24), t.utcOffset=0,t.dstOffset=0,t.occurrence=1,nt(t)}function Gt(e,t,i){let a;[a,t,i]=yt(e,t,i,"g");const s=Ct(bt(a,t,i));return a===s.y&&t===s.m&&i===s.d}function Pt(e,t,i){let a;[a,t,i]=yt(e,t,i);return(a<0?"-":"")+k(Math.abs(a),4,"0")+"-"+k(t,2,"0")+"-"+k(i,2,"0")}function Ut(e){let t=1;(e=e.trim()).startsWith("-")&&(t=-1,e=e.substring(1).trim());let i=/^(\d+)-(\d{1,2}(?=\D))(?:-(\d+))?$/.exec(e);if(i||(i=/^(\d{1,5})$/.exec(e)),i||(i=/^(\d{4,})(\d\d)(\d\d)$/.exec(e)),!i)throw new Error("Invalid ISO date") ;return nt({y:Number(i[1])*t,m:Number(i[2]??1),d:Number(i[3]??1)})}class Yt{constructor(t,i,a){this.gcYear=1582,this.gcMonth=10,this.gcDate=15,this.firstGregorianDay=pt,this.firstDateInGCChangeMonth=1,this.lengthOfGCChangeMonth=21,this.lastJulianYear=Number.MIN_SAFE_INTEGER,this.lastJulianMonth=Number.MIN_SAFE_INTEGER,this.lastJulianDate=4,this._locked=!1,this.lock=()=>this._lock(),this.computeWeekValues=0, t===e.CalendarType.PURE_GREGORIAN?this.setGregorianChange(gt,0,0):t===e.CalendarType.PURE_JULIAN?this.setGregorianChange(Mt,0,0):0===arguments.length||null==t?this.setGregorianChange(1582,10,15):this.setGregorianChange(t,i,a)}_lock(e=!0){return this._locked=this._locked||e,this}get locked(){return this._locked}setPureGregorian(e){if(this.locked)throw Et;return e?this.setGregorianChange(gt,0,0):this.setGregorianChange(1582,10,15),this}isPureGregorian(){return this.gcYear<=gt}setPureJulian(e){ if(this.locked)throw Et;return e?this.setGregorianChange(Mt,0,0):this.setGregorianChange(1582,10,15),this}isPureJulian(){return this.gcYear>=Mt}setGregorianChange(e,t,i){if(this.locked)throw Et;if("g"===e||"G"===e)return this.setPureGregorian(!0),this;if("j"===e||"J"===e)return this.setPureJulian(!0),this;if(v(e))e=Ut(e);else if(j(e)&&!G(e)&&(null==e.y||null==e.m||null==e.d||e.j))throw new Error("Gregorian change date must be an explicit non-Julian y-m-d date");let a;if([a,t,i]=yt(e,t,i,this),a<300){ if((0!==t||0!==i)&&a>gt)throw new Error("Calendar: Gregorian change year cannot be less than 300");this.firstGregorianDay=Number.MIN_SAFE_INTEGER,this.gcYear=gt}else if(a>ft){if((0!==t||0!==i)&&a<Mt)throw new Error("Calendar: Gregorian change year cannot be greater than "+ft);this.firstGregorianDay=Number.MAX_SAFE_INTEGER,this.gcYear=Mt}else if(!Gt(a,t,i))throw new Error("Calendar: Invalid Gregorian date: "+Pt(a,t,i));this.gcYear=a,this.gcMonth=t,this.gcDate=i,this.firstGregorianDay=bt(a,t,i) ;const s=Ft(this.firstGregorianDay-1);return this.lastJulianDate=s.d,this.lengthOfGCChangeMonth=wt(a,t),s.y===a&&s.m===t?(this.lastJulianYear=Number.MIN_SAFE_INTEGER,this.lastJulianMonth=Number.MIN_SAFE_INTEGER,this.firstDateInGCChangeMonth=1,this.lengthOfGCChangeMonth-=i-this.lastJulianDate-1):(this.lastJulianYear=s.y,this.lastJulianMonth=s.m,this.firstDateInGCChangeMonth=i,this.lengthOfGCChangeMonth-=i-1),this}getGregorianChange(){return nt({y:this.gcYear,m:this.gcMonth,d:this.gcDate, n:this.firstGregorianDay,j:!1})}isJulianCalendarDate(e,t,i){let a,s;return[a,t,i,s]=yt(e,t,i,this),1===s||a<this.gcYear||a===this.gcYear&&(t<this.gcMonth||t===this.gcMonth&&i<this.gcDate)}getDayNumber(e,t,i){if(j(e)&&!G(e))if(nt(e),null!=e.y||null==e.yw&&null==e.ywl)null!=e.y&&null==e.m&&null!=e.dy&&(e=this.addDaysToDate(e.dy-1,{y:e.y,m:1,d:1}));else{const a=null!=e.ywl,s=e.ywl??e.yw,n=a&&null!=t?t:1,r=a&&null!=i?i:4,o=(a?e.wl:e.w)??1,l=(a?e.dwl:e.dw)??1;++this.computeWeekValues ;const c=this.getStartDateOfFirstWeekOfYear(s,n,r).n+7*(o-1)+l-1;e=this.getDateFromDayNumber(c),--this.computeWeekValues}let a,s;for([a,t,i,s]=yt(e,t,i,this);t<1;)t+=12,--a;for(;t>12;)t-=12,++a;return s<0&&(a===this.lastJulianYear&&t===this.lastJulianMonth?i>this.lastJulianDate&&(i=this.lastJulianDate+1):a===this.gcYear&&t===this.gcMonth&&(i>this.lastJulianDate||this.lastJulianMonth!==this.gcMonth&&this.lastJulianMonth>0)&&i<this.gcDate&&(i=this.gcDate)), 1===s||0!==s&&this.isJulianCalendarDate(a,t,i)?_t(a,t,i):bt(a,t,i)}getDateFromDayNumber(e,t,i){let a;return a=e>=this.firstGregorianDay?Ct(e):Ft(e),0===this.computeWeekValues&&([a.yw,a.w,a.dw]=this.getYearWeekAndWeekday(a,t,i)),nt(a)}getFirstDateInMonth(e,t){return e===this.gcYear&&t===this.gcMonth?this.firstDateInGCChangeMonth:1}getLastDateInMonth(e,t){return 0===t?(t=12,--e):13===t&&(t=1,++e), e===this.lastJulianYear&&t===this.lastJulianMonth?this.lastJulianDate:9===t||4===t||6===t||11===t?30:2!==t?31:e%4==0&&(e<this.gcYear||e===this.gcYear&&this.gcMonth>2||e%100!=0||e%400==0)?29:28}getDaysInMonth(e,t){return 0===t?(t=12,--e):13===t&&(t=1,++e),e===this.gcYear&&t===this.gcMonth?this.lengthOfGCChangeMonth:e===this.lastJulianYear&&t===this.lastJulianMonth?this.lastJulianDate:9===t||4===t||6===t||11===t?30:2!==t?31:this.getDayNumber(e,3,1)-this.getDayNumber(e,2,1)}getDaysInYear(e){ return this.getDayNumber(e+1,1,1)-this.getDayNumber(e,1,1)}getDayOfWeek(e,t,i){return Y(e)&&null==t?Nt(e):Nt(this.getDayNumber(e,t,i))}getDateOfNthWeekdayOfMonth(e,t,i,a){const s=a>=6;let n=this.getDayNumber(e,t,1);const r=Nt(n);let l,c=0;if(r===i&&1===a)return 1;for(n+=o(i-r,7),l=this.getDateFromDayNumber(n);l.m===t;){if(c=l.d,0===--a)return c;n+=7,l=this.getDateFromDayNumber(n)}return s?c:0}getDayOfWeekInMonthCount(e,t,a){const s=this.getDayNumber(e,t,this.getDateOfNthWeekdayOfMonth(e,t,a,1)) ;return i(this.getDayNumber(e,t+1,1)-s-1,7)+1}getDayOfWeekInMonthIndex(e,t,i){let s;[s,t,i]=yt(e,t,i,this);const n=this.getDayNumber(s,t,1);return a(this.getDayNumber(s,t,i)-n,7)+1}getDayOnOrAfter(e,t,i,a){const s=this.getDayNumber(e,t,a),n=o(i-Nt(s),7);if(e===this.gcYear&&t===this.gcMonth){const i=this.getDateFromDayNumber(s+n);a=i.y!==e||i.m!==t?0:i.d}else(a+=n)>this.getLastDateInMonth(e,t)&&(a=0);return a}getDayOnOrBefore(e,t,i,a){const s=this.getDayNumber(e,t,a),n=o(Nt(s)-i,7) ;if(e===this.gcYear&&t===this.gcMonth){const i=this.getDateFromDayNumber(s-n);a=i.y!==e||i.m!==t?0:i.d}else(a-=n)<0&&(a=0);return a}addDaysToDate(e,t,i,a){return this.getDateFromDayNumber(this.getDayNumber(t,i,a)+e)}getCalendarMonth(e,t,i=0){const a=[];let s,n,r,l=this.getDayNumber(e,t,this.getFirstDateInMonth(e,t));s=o(i-Nt(l),-7),l+=s,n=this.getDateFromDayNumber(l,i);do{a.push(n),++l,++s,n=this.getDateFromDayNumber(l),r=n.m}while(s<1||r===t||Nt(l)!==i);return a}isValidDate(e,t,i){let a ;[a,t,i]=yt(e,t,i,this,!0);const s=this.getDateFromDayNumber(this.getDayNumber(a,t,i));return a===s.y&&t===s.m&&i===s.d}normalizeDate(e,t,i){let a;if([a,t,i]=yt(e,t,i,this,!0),t<1?(t+=12,a-=1):t>12&&(t-=12,a+=1),!this.isValidDate(a,t,i)){let e;if(i<(e=this.getFirstDateInMonth(a,t)))i=e;else if(i>(e=this.getLastDateInMonth(a,t)))i=e;else{const e=this.getMissingDateRange(a,t);null!=e&&(i=e[1]+1)}}return nt({y:a,m:t,d:i})}getMissingDateRange(e,t){if(e===this.lastJulianYear&&t===this.lastJulianMonth){ const i=Ot(e,t);if(i>this.lastJulianDate)return[this.lastJulianDate+1,i]}else if(e===this.gcYear&&t===this.gcMonth&&this.gcDate>1&&this.gcDate>this.lastJulianDate+1)return[this.lastJulianDate+1,this.gcDate-1];return null}getStartDateOfFirstWeekOfYear(e,t=1,i=4){let a=1;7===i&&(++a,--i);const s=o(this.getDayOfWeek(e,1,a)-t,7);return this.addDaysToDate((s>7-i?7:0)-s,e,1,a)}getWeeksInYear(e,t=1,i=4){const a=this.getStartDateOfFirstWeekOfYear(e,t,i);return(this.getStartDateOfFirstWeekOfYear(e+1,t,i).n-a.n)/7} getYearWeekAndWeekday(e,t,i,a,n){const[r,l,c]=yt(e,t,i,this,!0);j(e)&&(a=t,n=i),a=a??1,n=n??4,++this.computeWeekValues;let u=r,m=this.getStartDateOfFirstWeekOfYear(r,a,n);const h=this.getStartDateOfFirstWeekOfYear(r+1,a,n),d=this.getDayNumber(r,l,c);return m.n>d?(m=this.getStartDateOfFirstWeekOfYear(r-1,a,n),--u):h.n<=d&&(m=h,++u),--this.computeWeekValues,[u,s((d-m.n)/7)+1,o(d-m.n,7)+1]}}var jt=Intl.DateTimeFormat;let vt=!1,Bt=!0,xt="en";try{if(vt="undefined"!=typeof Intl&&!!Intl?.DateTimeFormat,vt){ const e=new jt("en-us",{dateStyle:"full"}).format(0);Bt=e!==new jt("en-us",{dateStyle:"short"}).format(0),Bt||console.warn("Intl.DateTimeFormatOptions dateStyle and timeStyle not available")}else console.warn("Intl.DateTimeFormat not available")}catch(E){vt=!1,console.warn("Intl.DateTimeFormat not available: %s",E.message||E.toString())}try{ vt?xt=(new Intl.DateTimeFormat).resolvedOptions().locale:"object"==typeof process&&process.env?.LANG?xt=process.env.LANG.replace(/\..*$/,"").replace(/_/g,"-"):"object"==typeof navigator&&navigator.language&&(xt=navigator.language)}catch{xt="en"}const Zt=vt,Kt=Bt,Ht=xt,Vt={full:{year:"numeric",month:"long",day:"numeric",weekday:"long"},long:{year:"numeric",month:"long",day:"numeric"},medium:{year:"numeric",month:"short",day:"numeric"},short:{year:"2-digit",month:"numeric",day:"numeric"}},qt={full:{ hour:"numeric",minute:"2-digit",second:"2-digit",timeZoneName:"long"},long:{hour:"numeric",minute:"2-digit",second:"2-digit",timeZoneName:"short"},medium:{hour:"numeric",minute:"2-digit",second:"2-digit"},short:{hour:"numeric",minute:"2-digit"}};function Jt(e,t){Object.keys(t).forEach(i=>e[i]=e[i]??t[i])}function $t(e){return Zt&&e?(v(e)&&e.includes(",")&&(e=e.split(",").map(e=>e.trim().replace(/-u-.*$/,""))), G(e)?0===e.length?"en":1===e.length?$t(e[0]):e.map(e=>$t(e)):e.replace(/_/g,"-").toLowerCase()):"en-us"}function Xt(e){return e.replace(/-[^-]*?$/i,"")}function Qt(e,t){let i;G(e=$t(e))||(e=[e]);for(let a of e){let e;do{i=t[a],e=Xt(a)}while(!i&&a.includes("-")&&(a=e));if(i)break}return i}const ei={af:[["vm","VM"],["nm","NM"]],ar:[["ص"],["م"]], az:[["gecə"],["gecə"],["gecə"],["gecə"],["səhər"],["səhər"],["səhər"],["səhər"],["səhər"],["səhər"],["səhər"],["səhər"],["gündüz"],["gündüz"],["gündüz"],["gündüz"],["gündüz"],["axşam"],["axşam"],["axşam"],["axşam"],["axşam"],["axşam"],["axşam"]],be:[["ночы"],["ночы"],["ночы"],["ночы"],["раніцы"],["раніцы"],["раніцы"],["раніцы"],["раніцы"],["раніцы"],["раніцы"],["раніцы"],["дня"],["дня"],["дня"],["дня"],["дня"],["вечара"],["вечара"],["вечара"],["вечара"],["вечара"],["вечара"],["вечара"]], bn:[["রাত"],["রাত"],["রাত"],["রাত"],["সকাল"],["সকাল"],["সকাল"],["সকাল"],["সকাল"],["সকাল"],["দুপুর"],["দুপুর"],["দুপুর"],["দুপুর"],["দুপুর"],["দুপুর"],["দুপুর"],["বিকাল"],["বিকাল"],["বিকাল"],["রাত"],["রাত"],["রাত"],["রাত"]],"bn-bd":[["রাত"],["রাত"],["রাত"],["রাত"],["ভোর"],["ভোর"],["সকাল"],["সকাল"],["সকাল"],["সকাল"],["সকাল"],["সকাল"],["দুপুর"],["দুপুর"],["দুপুর"],["বিকাল"],["বিকাল"],["বিকাল"],["সন্ধ্যা"],["সন্ধ্যা"],["রাত"],["রাত"],["রাত"],["রাত"]], bo:[["སྔ་དྲོ","མཚན་མོ"],["སྔ་དྲོ","མཚན་མོ"],["སྔ་དྲོ","མཚན་མོ"],["སྔ་དྲོ","མཚན་མོ"],["སྔ་དྲོ","ཞོགས་ཀས"],["སྔ་དྲོ","ཞོགས་ཀས"],["སྔ་དྲོ","ཞོགས་ཀས"],["སྔ་དྲོ","ཞོགས་ཀས"],["སྔ་དྲོ","ཞོགས་ཀས"],["སྔ་དྲོ","ཞོགས་ཀས"],["སྔ་དྲོ","ཉིན་གུང"],["སྔ་དྲོ","ཉིན་གུང"],["ཕྱི་དྲོ","ཉིན་གུང"],["ཕྱི་དྲོ","ཉིན་གུང"],["ཕྱི་དྲོ","ཉིན་གུང"],["ཕྱི་དྲོ","ཉིན་གུང"],["ཕྱི་དྲོ","ཉིན་གུང"],["ཕྱི་དྲོ","དགོང་དག"],["ཕྱི་དྲོ","དགོང་དག"],["ཕྱི་དྲོ","དགོང་དག"],["ཕྱི་དྲོ","མཚན་མོ"],["ཕྱི་དྲོ","མཚན་མོ"],["ཕྱི་དྲོ","མཚན་མོ"],["ཕྱི་དྲོ","མཚན་མོ"]], br:[["a.m.","A.M."],["g.m.","G.M."]],el:[["πμ","ΠΜ","π.μ."],["μμ","ΜΜ","μ.μ."]],eo:[["atm","ATM","a.t.m.","A.T.M."],["ptm","PTM","p.t.m.","P.T.M."]],fa:[["قبل از ظهر"],["بعد از ظهر"]],gu:[["રાત"],["રાત"],["રાત"],["રાત"],["સવાર"],["સવાર"],["સવાર"],["સવાર"],["સવાર"],["સવાર"],["બપોર"],["બપોર"],["બપોર"],["બપોર"],["બપોર"],["બપોર"],["બપોર"],["સાંજ"],["સાંજ"],["સાંજ"],["રાત"],["રાત"],["રાત"],["રાત"]],he:[["לפ׳","לפ׳","לפנה״צ"],["אח׳","אח׳","אחה״צ"]], hi:[["पू","रात"],["पू","रात"],["पू","रात"],["पू","रात"],["पू","सुबह"],["पू","सुबह"],["पू","सुबह"],["पू","सुबह"],["पू","सुबह"],["पू","सुबह"],["पू","दोपहर"],["पू","दोपहर"],["अ","दोपहर"],["अ","दोपहर"],["अ","दोपहर"],["अ","दोपहर"],["अ","दोपहर"],["अ","शाम"],["अ","शाम"],["अ","शाम"],["अ","रात"],["अ","रात"],["अ","रात"],["अ","रात"]],hu:[["de","DE","de."],["du","DU","du."]], hy:[["գիշերվա"],["գիշերվա"],["գիշերվա"],["գիշերվա"],["առավոտվա"],["առավոտվա"],["առավոտվա"],["առավոտվա"],["առավոտվա"],["առավոտվա"],["առավոտվա"],["առավոտվա"],["ցերեկվա"],["ցերեկվա"],["ցերեկվա"],["ցերեկվա"],["ցերեկվա"],["երեկոյան"],["երեկոյան"],["երեկոյան"],["երեկոյան"],["երեկոյան"],["երեկոյան"],["երեկոյան"]],ja:[["午前"],["午後"]], jv:[["isuk","Isuk","enjing"],["isuk","Isuk","enjing"],["isuk","Isuk","enjing"],["isuk","Isuk","enjing"],["isuk","Isuk","enjing"],["isuk","Isuk","enjing"],["isuk","Isuk","enjing"],["isuk","Isuk","enjing"],["isuk","Isuk","enjing"],["isuk","Isuk","enjing"],["isuk","Isuk","enjing"],["isuk","Isuk","siyang"],["wengi","Wengi","siyang"],["wengi","Wengi","siyang"],["wengi","Wengi","siyang"],["wengi","Wengi","sonten"],["wengi","Wengi","sonten"],["wengi","Wengi","sonten"],["wengi","Wengi","sonten"],["wengi","Wengi","ndalu"],["wengi","Wengi","ndalu"],["wengi","Wengi","ndalu"],["wengi","Wengi","ndalu"],["wengi","Wengi","ndalu"]], km:[["ព្រឹក"],["ល្ងាច"]], kn:[["ರಾತ್ರಿ","ಪೂರ್ವಾಹ್ನ"],["ರಾತ್ರಿ","ಪೂರ್ವಾಹ್ನ"],["ರಾತ್ರಿ","ಪೂರ್ವಾಹ್ನ"],["ರಾತ್ರಿ","ಪೂರ್ವಾಹ್ನ"],["ಬೆಳಿಗ್ಗೆ","ಪೂರ್ವಾಹ್ನ"],["ಬೆಳಿಗ್ಗೆ","ಪೂರ್ವಾಹ್ನ"],["ಬೆಳಿಗ್ಗೆ","ಪೂರ್ವಾಹ್ನ"],["ಬೆಳಿಗ್ಗೆ","ಪೂರ್ವಾಹ್ನ"],["ಬೆಳಿಗ್ಗೆ","ಪೂರ್ವಾಹ್ನ"],["ಬೆಳಿಗ್ಗೆ","ಪೂರ್ವಾಹ್ನ"],["ಮಧ್ಯಾಹ್ನ","ಪೂರ್ವಾಹ್ನ"],["ಮಧ್ಯಾಹ್ನ","ಪೂರ್ವಾಹ್ನ"],["ಮಧ್ಯಾಹ್ನ","ಅಪರಾಹ"],["ಮಧ್ಯಾಹ್ನ","ಅಪರಾಹ"],["ಮಧ್ಯಾಹ್ನ","ಅಪರಾಹ"],["ಮಧ್ಯಾಹ್ನ","ಅಪರಾಹ"],["ಮಧ್ಯಾಹ್ನ","ಅಪರಾಹ"],["ಸಂಜೆ","ಅಪರಾಹ"],["ಸಂಜೆ","ಅಪರಾಹ"],["ಸಂಜೆ","ಅಪರಾಹ"],["ರಾತ್ರಿ","ಅಪರಾಹ"],["ರಾತ್ರಿ","ಅಪರಾಹ"],["ರಾತ್ರಿ","ಅಪರಾಹ"],["ರಾತ್ರಿ","ಅಪರಾಹ"]], ko:[["오전"],["오후"]],ku:[["BN","به‌یانی"],["PN","ئێواره‌"]],lo:[["ຕອນເຊົ້າ"],["ຕອນແລງ"]],ml:[["രാത്രി"],["രാത്രി"],["രാത്രി"],["രാത്രി"],["രാവിലെ"],["രാവിലെ"],["രാവിലെ"],["രാവിലെ"],["രാവിലെ"],["രാവിലെ"],["രാവിലെ"],["രാവിലെ"],["ഉച്ച കഴിഞ്ഞ്"],["ഉച്ച കഴിഞ്ഞ്"],["ഉച്ച കഴിഞ്ഞ്"],["ഉച്ച കഴിഞ്ഞ്"],["ഉച്ച കഴിഞ്ഞ്"],["വൈകുന്നേരം"],["വൈകുന്നേരം"],["വൈകുന്നേരം"],["രാത്രി"],["രാത്രി"],["രാത്രി"],["രാത്രി"]],mn:[["ү.ө.","ҮӨ"],["ү.х.","ҮХ"]], mr:[["म.पू.","पहाटे"],["म.पू.","पहाटे"],["म.पू.","पहाटे"],["म.पू.","पहाटे"],["म.पू.","पहाटे"],["म.पू.","पहाटे"],["म.पू.","सकाळी"],["म.पू.","सकाळी"],["म.पू.","सकाळी"],["म.पू.","सकाळी"],["म.पू.","सकाळी"],["म.पू.","सकाळी"],["म.उ.","दुपारी"],["म.उ.","दुपारी"],["म.उ.","दुपारी"],["म.उ.","दुपारी"],["म.उ.","दुपारी"],["म.उ.","सायंकाळी"],["म.उ.","सायंकाळी"],["म.उ.","सायंकाळी"],["म.उ.","रात्री"],["म.उ.","रात्री"],["म.उ.","रात्री"],["म.उ.","रात्री"]], ms:[["pagi","PG"],["pagi","PG"],["pagi","PG"],["pagi","PG"],["pagi","PG"],["pagi","PG"],["pagi","PG"],["pagi","PG"],["pagi","PG"],["pagi","PG"],["pagi","PG"],["tengahari","PG"],["tengahari","PTG"],["tengahari","PTG"],["tengahari","PTG"],["petang","PTG"],["petang","PTG"],["petang","PTG"],["petang","PTG"],["malam","PTG"],["malam","PTG"],["malam","PTG"],["malam","PTG"],["malam","PTG"]], my:[["နံနက်","နံနက်"],["နံနက်","နံနက်"],["နံနက်","နံနက်"],["နံနက်","နံနက်"],["နံနက်","နံနက်"],["နံနက်","နံနက်"],["နံနက်","နံနက်"],["နံနက်","နံနက်"],["နံနက်","နံနက်"],["နံနက်","နံနက်"],["နံနက်","နံနက်"],["နံနက်","နံနက်"],["ညနေ","မွန်းတည့်"],["ညနေ","နေ့လယ်"],["ညနေ","နေ့လယ်"],["ညနေ","နေ့လယ်"],["ညနေ","ညနေ"],["ညနေ","ညနေ"],["ညနေ","ညနေ"],["ညနေ","ည"],["ညနေ","ည"],["ညနေ","ည"],["ညနေ","ည"],["ညနေ","ည"]], ne:[["पूर्वाह्न","राति"],["पूर्वाह्न","राति"],["पूर्वाह्न","राति"],["पूर्वाह्न","बिहान"],["पूर्वाह्न","बिहान"],["पूर्वाह्न","बिहान"],["पूर्वाह्न","बिहान"],["पूर्वाह्न","बिहान"],["पूर्वाह्न","बिहान"],["पूर्वाह्न","बिहान"],["पूर्वाह्न","बिहान"],["पूर्वाह्न","बिहान"],["अपराह्न","दिउँसो"],["अपराह्न","दिउँसो"],["अपराह्न","दिउँसो"],["अपराह्न","दिउँसो"],["अपराह्न","साँझ"],["अपराह्न","साँझ"],["अपराह्न","साँझ"],["अपराह्न","साँझ"],["अपराह्न","राति"],["अपराह्न","राति"],["अपराह्न","राति"],["अपराह्न","राति"]], ru:[["ночи"],["ночи"],["ночи"],["ночи"],["утра"],["утра"],["утра"],["утра"],["утра"],["утра"],["утра"],["утра"],["дня"],["дня"],["дня"],["дня"],["дня"],["вечера"],["вечера"],["вечера"],["вечера"],["вечера"],["вечера"],["вечера"]],sd:[["صبح"],["شام","منجهند"]],si:[["පෙ.ව.","පෙර වරු"],["ප.ව.","පස් වරු"]],sq:[["pd","PD","e paradites"],["md","MD","e pasdites"]], ta:[["யாமம்","முற்பகல்"],["யாமம்","முற்பகல்"],["வைகறை","முற்பகல்"],["வைகறை","முற்பகல்"],["வைகறை","முற்பகல்"],["வைகறை","முற்பகல்"],["காலை","முற்பகல்"],["காலை","முற்பகல்"],["காலை","முற்பகல்"],["காலை","முற்பகல்"],["நண்பகல்","முற்பகல்"],["நண்பகல்","முற்பகல்"],["நண்பகல்","பிற்பகல்"],["நண்பகல்","பிற்பகல்"],["எற்பாடு","பிற்பகல்"],["எற்பாடு","பிற்பகல்"],["எற்பாடு","பிற்பகல்"],["எற்பாடு","பிற்பகல்"],["மாலை","பிற்பகல்"],["மாலை","பிற்பகல்"],["மாலை","பிற்பகல்"],["மாலை","பிற்பகல்"],["யாமம்","பிற்பகல்"],["யாமம்","பிற்பகல்"]], te:[["రాత్రి"],["రాత్రి"],["రాత్రి"],["రాత్రి"],["ఉదయం"],["ఉదయం"],["ఉదయం"],["ఉదయం"],["ఉదయం"],["ఉదయం"],["మధ్యాహ్నం"],["మధ్యాహ్నం"],["మధ్యాహ్నం"],["మధ్యాహ్నం"],["మధ్యాహ్నం"],["మధ్యాహ్నం"],["మధ్యాహ్నం"],["సాయంత్రం"],["సాయంత్రం"],["సాయంత్రం"],["రాత్రి"],["రాత్రి"],["రాత్రి"],["రాత్రి"]],tg:[["шаб"],["шаб"],["шаб"],["шаб"],["субҳ"],["субҳ"],["субҳ"],["субҳ"],["субҳ"],["субҳ"],["субҳ"],["рӯз"],["рӯз"],["рӯз"],["рӯз"],["рӯз"],["бегоҳ"],["бегоҳ"],["бегоҳ"],["шаб"],["шаб"],["шаб"],["шаб"],["шаб"]], th:[["ก่อนเที่ยง"],["หลังเที่ยง"]],tr:[["öö","ÖÖ"],["ös","ÖS"]], ug:[["چۈشتىن بۇرۇن","يېرىم كېچە"],["چۈشتىن بۇرۇن","يېرىم كېچە"],["چۈشتىن بۇرۇن","يېرىم كېچە"],["چۈشتىن بۇرۇن","يېرىم كېچە"],["چۈشتىن بۇرۇن","يېرىم كېچە"],["چۈشتىن بۇرۇن","يېرىم كېچە"],["چۈشتىن بۇرۇن","سەھەر"],["چۈشتىن بۇرۇن","سەھەر"],["چۈشتىن بۇرۇن","سەھەر"],["چۈشتىن بۇرۇن","چۈشتىن بۇرۇن"],["چۈشتىن بۇرۇن","چۈشتىن بۇرۇن"],["چۈشتىن بۇرۇن","چۈشتىن بۇرۇن"],["چۈشتىن كېيىن","چۈش"],["چۈشتىن كېيىن","چۈشتىن كېيىن"],["چۈشتىن كېيىن","چۈشتىن كېيىن"],["چۈشتىن كېيىن","چۈشتىن كېيىن"],["چۈشتىن كېيىن","چۈشتىن كېيىن"],["چۈشتىن كېيىن","چۈشتىن كېيىن"],["چۈشتىن كېيىن","كەچ"],["چۈشتىن كېيىن","كەچ"],["چۈشتىن كېيىن","كەچ"],["چۈشتىن كېيىن","كەچ"],["چۈشتىن كېيىن","كەچ"],["چۈشتىن كېيىن","كەچ"]], uk:[["дп"],["пп"]],ur:[["ق.د.","صبح"],["ب.د.","شام"]],vi:[["sa","SA"],["ch","CH"]],zh:[["上午"],["下午"]]},ti={};["af","bo","br","el","eo","he","hi","hu","jv","ku","lo","mn","my","mr","ne","sd","sq","si","th","ug","ur","zh"].forEach(e=>ti[e]=!0);const ii=[["am","AM"],["pm","PM"]];const ai={};"ag as au bd br bs bt bw bz ca cn co dm do et gt\n gu hk hn id il in jm jp ke kh kr la mh mm mo mt\n mx mz ni np pa pe ph pk pr pt py sa sg sv th tt\n tw um us ve vi ws ye za zw".split(/s+/).forEach(e=>ai[e]=0), "ad ai al am an ar at ax az ba be bg bm bn by ch\n cl cm cr cy cz de dk ec ee es fi fj fo fr gb ge\n gf gp gr hr hu ie is it kg kz lb li lk lt lu lv\n mc md me mk mn mq my nl no nz pl re ro rs ru se\n si sk sm tj tm tr ua uy uz va vn xk".split(/s+/).forEach(e=>ai[e]=1),ai.mv=5,"ae af bh dj dz eg iq ir jo kw ly om qa sd sy".split(/s+/).forEach(e=>ai[e]=6);const si={af:[1,4,5],ar:[6,1,5,6],"ar-dz":[0,3,5,6],"ar-sa":[0,1,4,5],az:[1,1,6,0],be:[1,1,6,0],bg:[1,1,6,0],bn:[0,1,6,0],"bn-bd":[0,1,6,0],bo:[0,1,6,0], bs:[1,1,6,0],en:[1,1,6,0],"en-au":[0,3,6,0],"en-ca":[0,1,6,0],"en-il":[0,1,5,6],"en-us":[0,1,6,0],eo:[1,1,6,0],"es-mx":[0,3,6,0],"es-us":[0,1,6,0],eu:[1,1,6,0],fa:[6,1,6,0],fr:[1,1,6,0],"fr-ca":[0,1,6,0],gu:[0,1,6,0],hi:[0,1,6,0],hr:[1,1,6,0],"hy-am":[1,1,6,0],ja:[0,1,6,0],jv:[1,1,6,0],ka:[1,1,6,0],kk:[1,1,6,0],kn:[0,1,6,0],ko:[0,1,6,0],ku:[6,1,6,0],ky:[1,1,6,0],lo:[0,1,6,0],mk:[1,1,6,0],ml:[0,1,6,0],mn:[0,1,6,0],mr:[0,1,5,6],ms:[1,1,6,0],ne:[0,1,6,0],pt:[1,1,6,0],"pt-br":[0,1,6,0],ro:[1,1,6,0],sd:[1,4,5], si:[0,1,6,0],sl:[1,1,6,0],sr:[1,1,6,0],sw:[1,1,6,0],ta:[0,1,6,0],te:[0,1,6,0],tg:[1,1,6,0],th:[0,1,6,0],tk:[1,1,6,0],tr:[1,1,6,0],tzm:[6,1,6,0],"ug-cn":[1,1,6,0],uk:[1,1,6,0],uz:[1,1,6,0],zh:[0,1,6,0]};function ni(e){let t,i=Qt(e,si);null==i&&(i=si.en),G(e=$t(e))||(e=[e]);for(const i of e){const e=i.split("-")[1];if(e){if(null!=si[i])break;if(t=ai[e],null!=t)break}}return null!=t&&(i[0]=t),i}function ri(e){return ni(e)[0]}function oi(e){return ni(e)[1]}function li(e){return ni(e).slice(2)}const ci={ af:["0de","1ste","2de","3de","4de","5de","6de","7de","8ste","9de","10de","11de","12de","13de","14de","15de","16de","17de","18de","19de","20ste","21ste","22ste","23ste","24ste","25ste","26ste","27ste","28ste","29ste","30ste","31ste"],ar:1, az:["0-ıncı","1-inci","2-nci","3-üncü","4-üncü","5-inci","6-ncı","7-nci","8-inci","9-uncu","10-uncu","11-inci","12-nci","13-üncü","14-üncü","15-inci","16-ncı","17-nci","18-inci","19-uncu","20-nci","21-inci","22-nci","23-üncü","24-üncü","25-inci","26-ncı","27-nci","28-inci","29-uncu","30-uncu","31-inci"],be:1, bg:["0-ев","1-ви","2-ри","3-ти","4-ти","5-ти","6-ти","7-ми","8-ми","9-ти","10-ти","11-ти","12-ти","13-ти","14-ти","15-ти","16-ти","17-ти","18-ти","19-ти","20-ти","21-ви","22-ри","23-ти","24-ти","25-ти","26-ти","27-ми","28-ми","29-ти","30-ти","31-ви"],bm:1,bn:1,bo:1, br:["0vet","1añ","2vet","3vet","4vet","5vet","6vet","7vet","8vet","9vet","10vet","11vet","1