UNPKG

@tubular/astronomy

Version:

Astronomical calculations for planetary positions, moon phases, eclipses, rise, transit, and set times, and more.

104 lines 891 kB
!function(e,c){"object"==typeof exports&&"undefined"!=typeof module?c(exports):"function"==typeof define&&define.amd?define(["exports"],c):c((e="undefined"!=typeof globalThis?globalThis:e||self).tbAstro={})}(this,function(e){"use strict";const c=Math.abs,M=Math.acos;function o(e){return Math.acos(e)/Math.PI*180}const A=Math.asin;function z(e){return Math.asin(e)/Math.PI*180}const t=Math.atan,a=Math.atan2;function b(e){return Math.atan(e)/Math.PI*180}function i(e,c){return Math.atan2(e,c)/Math.PI*180} const n=Math.cos,p=Math.cosh;function s(e){return Math.cos(e/180*Math.PI)}function r(e,c){const M=e/c;return M>=0?Math.floor(M):Math.ceil(M)}function O(e,c){return Math.floor(e/c)}const l=Math.exp;function d(e,c=1){return 1===c?Math.floor(e):e-m(e,c)}function u(e,c,M,o,A){return e===M?o:o+(c-e)*(A-o)/(M-e)}function q(e,c,M,o,A,z,t=!1){const a=z/2;for((o<0||o>=z)&&(o=m(o,z));A<o-a;)A+=z;for(;A>=o+a;)A-=z;let b=u(e,c,M,o,A);return t&&(b<a||b>=a)?b=R(b,z):(b<0||b>=z)&&(b=m(b,z)),b}function B(e,c,M,o,A){ let z=0;for(let t=o;t<=A;++t){let a=1;for(let c=o;c<=A;++c)c!==t&&(a*=(M-e[c])/(e[t]-e[c]));z+=a*c[t]}return z}function L(e,c,M,o,A){const z=Math.min(e.length,c.length);let t=-1,a=z-1;for(let c=0;c<z;++c){const M=e[c];if(t<0&&M>=A-o&&(t=c),M>=A+o){a=c;break}}return B(e,c,M,Math.max(t,0),a)}const f=function(e,c=.01){return e<-1-c?-1:e>1+c?1:e<-1?-1:e>1?1:e},W=Math.PI/2,N=Math.log,C=Math.log10,h=Math.max,T=Math.min;function m(e,c){const M=e%c;return M<0&&c>0||M>0&&c<0?c+M:M}function R(e,c){ let M=e-Math.floor(e/c)*c;return M>=c/2&&(M-=c),M}const g=Math.PI,X=Math.pow;function E(e,c=1){return 1===c?Math.round(e):e+c/2-m(e+c/2,c)}const S=Math.sign;function D(e){return e<0?-1:1}const y=Math.sin,I=Math.sinh;function P(e){return Math.sin(e/180*Math.PI)}const w=Math.sqrt;function _(e){return e*e}const k=Math.tan;function U(e){return Math.tan(e/180*Math.PI)}function G(e){return 180*e/Math.PI}function F(e){return e*Math.PI/180}const v=2*Math.PI;var H,j,x,K ;"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"}(x||(x={})),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"}(K||(K={}));const V=Math.PI,Y=V/2,J=2*V;function Z(e,c){switch(c){case x.RADIANS:return e;case x.DEGREES:return e/180*V;case x.ARC_MINUTES:return e/10800*V;case x.ARC_SECONDS:return e/648e3*V;case x.HOURS:return e/12*V;case x.HOUR_ANGLE_MINUTES:return e/720*V;case x.HOUR_ANGLE_SECONDS:return e/43200*V;case x.ROTATIONS:return e*J;case x.GRADS:return e/200*V}return NaN}function Q(e,c){switch(c){case x.RADIANS:return e;case x.DEGREES:return 180*e/V;case x.ARC_MINUTES: return 10800*e/V;case x.ARC_SECONDS:return 648e3*e/V;case x.HOURS:return 12*e/V;case x.HOUR_ANGLE_MINUTES:return 720*e/V;case x.HOUR_ANGLE_SECONDS:return 43200*e/V;case x.ROTATIONS:return e/J;case x.GRADS:return 200*e/V}return NaN}let $=class{static asin(e){return new H(Math.asin(e))}static asin_nonneg(e){return new H(Math.asin(e),x.RADIANS,K.RANGE_LIMIT_NONNEGATIVE)}static acos(e){return new H(Math.acos(e))}static atan(e){return new H(Math.atan(e))}static atan_nonneg(e){ return new H(Math.atan(e),x.RADIANS,K.RANGE_LIMIT_NONNEGATIVE)}static atan2(e,c){return new H(Math.atan2(e,c))}static atan2_nonneg(e,c){return new H(Math.atan2(e,c),x.RADIANS,K.RANGE_LIMIT_NONNEGATIVE)}static parse(e,c=!1){const M=function(e,c,M,o){if("function"==typeof c?e!==c||!o:!c.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return o}(H,H,0,j).call(H,e);if(null==M&&c)throw new Error("Invalid angle: "+e);return M} constructor(e=0,c,M=K.RANGE_LIMIT_SIGNED){return this.cached_sin=2,this.cached_cos=2,this.cached_tan=0,void 0===c&&(c=x.RADIANS),0===e&&H.ZERO?H.ZERO:(M===K.RANGE_LIMIT_SIGNED?this.angle=R(Z(e,c),J):M===K.RANGE_LIMIT_NONNEGATIVE?this.angle=m(Z(e,c),J):this.angle=Z(e,c),H.RIGHT&&this.angle===H.RIGHT.angle?H.RIGHT:H.STRAIGHT&&this.angle===H.STRAIGHT.angle?H.STRAIGHT:void 0)}get radians(){return this.angle}get degrees(){return Q(this.angle,x.DEGREES)}get arcMinutes(){return Q(this.angle,x.ARC_MINUTES)} get arcSeconds(){return Q(this.angle,x.ARC_SECONDS)}get hours(){return Q(this.angle,x.HOURS)}get rotations(){return Q(this.angle,x.ROTATIONS)}get grads(){return Q(this.angle,x.GRADS)}getAngle(e=x.RADIANS){return Q(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,c=K.RANGE_LIMIT_SIGNED){return new H(this.angle+e.angle,x.RADIANS,c)}add_nonneg(e){return new H(this.angle+e.angle,x.RADIANS,K.RANGE_LIMIT_NONNEGATIVE)}subtract(e,c=K.RANGE_LIMIT_SIGNED){return new H(this.angle-e.angle,x.RADIANS,c)}subtract_nonneg(e){return new H(this.angle-e.angle,x.RADIANS,K.RANGE_LIMIT_NONNEGATIVE)}complement(e=K.RANGE_LIMIT_SIGNED){return new H(Y-this.angle,x.RADIANS,e)}complement_nonneg(){return new H(Y-this.angle,x.RADIANS,K.RANGE_LIMIT_NONNEGATIVE)} supplement(e=K.RANGE_LIMIT_SIGNED){return new H(V-this.angle,x.RADIANS,e)}supplement_nonneg(){return new H(V-this.angle,x.RADIANS,K.RANGE_LIMIT_NONNEGATIVE)}opposite(e=K.RANGE_LIMIT_SIGNED){return new H(this.angle+V,x.RADIANS,e)}opposite_nonneg(){return new H(this.angle+V,x.RADIANS,K.RANGE_LIMIT_NONNEGATIVE)}negate(e=K.RANGE_LIMIT_SIGNED){return new H(-this.angle,x.RADIANS,e)}negate_nonneg(){return new H(-this.angle,x.RADIANS,K.RANGE_LIMIT_NONNEGATIVE)}multiply(e,c=K.RANGE_LIMIT_SIGNED){ return new H(this.angle*e,x.RADIANS,c)}multiply_nonneg(e){return new H(this.angle*e,x.RADIANS,K.RANGE_LIMIT_NONNEGATIVE)}divide(e,c=K.RANGE_LIMIT_SIGNED){return new H(this.angle/e,x.RADIANS,c)}divide_nonneg(e){return new H(this.angle/e,x.RADIANS,K.RANGE_LIMIT_NONNEGATIVE)}toString(e,c){return H.toStringAux(this.degrees,"°","'",'"',e,c)}toSuffixedString(e,M,o,A){return o=-17&(o||0),H.toStringAux(c(this.degrees),"°","'",'"',o,A)+(this.degrees<0?M:e)}toHourString(e,c){return e=-3&(e||0), H.toStringAux(this.hours,"h","m","s",e,c)}toTimeString(e,c){return 8&(e=-3&(e||0))||(e|=4),H.toStringAux(this.hours,":",4===e?"":":","",e,c,2)}static toStringAux(e,M,o,A,z,t,a=0){const b=!!(12&(z=z||0));1&z?a=2:2&z&&(a=3),null==t&&(t=null!=z&&b?0:3);const i=Math.sign(e);let n;if(e=c(e),b){const c=X(10,t);if(4&z){let A=E(60*e*c)/c;e=d(A/60),A%=60,n=e+M+(A<10?"0":"")+A.toFixed(t)+o}else{let z=E(3600*e*c)/c,a=d(z/60);z%=60,e=d(a/60),a%=60,n=e+M+(a<10?"0":"")+a+o+(z<10?"0":"")+z.toFixed(t)+A} }else n=e.toFixed(t)+M;if(a){const e=a-/^(\d+)\D/.exec(n)[1].length;for(let c=0;c<e;++c)n="0"+n}return i<0?n="-"+n:16&z&&(n="+"+n),n}};H=$,j=function(e){const c=(e||"").split(/([-+hms'"’”°:new])/i);let M=1,o=x.DEGREES;c[0]||"+"!==c[1]&&"-"!==c[1]||("-"===c[1]&&(M=-1),c.splice(0,2));const A=c.filter((e,c)=>c%2==0).map(e=>parseFloat(e.trim())),z=c.filter((e,c)=>c%2==1).map(e=>e.trim().toLowerCase());return A.length>1&&isNaN(A.at(-1))&&A.splice(A.length-1,1), A.findIndex(e=>isNaN(e))>=0?null:(z.find(e=>"h"===e||"m"===e||":"===e)?o=x.HOURS:"s"===z.at(-1)&&(M*=-1),new H(M*(A[0]+(A[1]||0)/60+(A[2]||0)/3600),o,K.RANGE_UNLIMITED))},$.ZERO=new H(0),$.RIGHT=new H(Y),$.STRAIGHT=new H(V);const ee=.381966011250105;let ce,Me,oe,Ae,ze=class{constructor(e,c,M,o,A,z){this.minMaxSeekingFunction=e,this.tolerance=c,this.maxIterations=M,this.xa=o,this.xb=A,this.xc=z,this._iterationCount=0,this.isMin=!0,this._resolved=!1}getXAtMinMax(){if(null!=this._x)return this._x ;let e,M,o,A,z,t,a,b,i,n,p,s,r,O,l,d,u=0,q=0,B=1;for(e=Math.min(this.xa,this.xc),M=Math.max(this.xa,this.xc),l=O=r=this.xb,this.fx=this.minMaxSeekingFunction(l),this.fx>this.minMaxSeekingFunction(this.xa)?(this.isMin=!1,this.fx*=-1,B=-1):this.isMin=!0,t=z=this.fx,this._iterationCount=0;++this._iterationCount<=this.maxIterations;){if(d=.5*(e+M),n=this.tolerance*c(l)+1e-20,p=2*n,c(l-d)<=p-.5*(M-e))return this.fx*=B,this._resolved=!0,this._x=l,l;c(q)>n?(i=(l-O)*(this.fx-z),b=(l-r)*(this.fx-t), a=(l-r)*b-(l-O)*i,b=2*(b-i),b>0&&(a=-a),b=c(b),o=q,q=u,c(a)>=c(.5*b*o)||a<=b*(e-l)||a>=b*(M-l)?(q=l>=d?e-l:M-l,u=ee*q):(u=a/b,s=l+u,(s-e<p||M-s<p)&&(u=Math.sign(d-l)*n))):(q=l>=d?e-l:M-l,u=ee*q),s=c(u)>=n?l+u:l+Math.sign(u)*n,A=B*this.minMaxSeekingFunction(s),A<=this.fx?(s>=l?e=l:M=l,r=O,O=l,l=s,z=t,t=this.fx,this.fx=A):(s<l?e=s:M=s,A<=t||O===l?(r=O,O=s,z=t,t=A):(A<=z||r===l||r===O)&&(r=s,z=A))}return this.fx*=B,this._x=l,l}get foundMaximum(){return null==this._x&&this.getXAtMinMax(),!this.isMin} get foundMinimum(){return null==this._x&&this.getXAtMinMax(),this.isMin}get lastY(){return null==this._x&&this.getXAtMinMax(),this.fx}get iterationCount(){return null==this._x&&this.getXAtMinMax(),this._iterationCount}get resolved(){return null==this._x&&this.getXAtMinMax(),this._resolved&&isFinite(this.fx)&&!isNaN(this.fx)}},te=class{constructor(e=0,c=0,M=x.RADIANS,o){null==o&&(o=M),this._longitude="number"==typeof e?new $(e,M,K.RANGE_LIMIT_NONNEGATIVE):e,this._latitude="number"==typeof c?new $(c,o):c} get longitude(){return this._longitude}get rightAscension(){return this._longitude}get altitude(){return this._latitude}get azimuth(){return this._longitude}get latitude(){return this._latitude}get declination(){return this._latitude}distanceFrom(e){let o=M(f(this._latitude.sin*e._latitude.sin+this._latitude.cos*e._latitude.cos*this._longitude.subtract(e._longitude).cos));return o=c(R(o,v)),new $(o)}toString(){return`lon: ${this.longitude}, lat: ${this.latitude}`}},ae=class e extends te{ static convertRectangular(c,M,o){let A;if("number"==typeof c){if(A=c,void 0===M||void 0===o)throw new Error("Invalid arguments")}else A=c.x,M=c.y,o=c.z;return new e($.atan2_nonneg(M,A),$.atan2(o,Math.sqrt(A*A+M*M)),Math.sqrt(A*A+M*M+o*o))}static from2D(c,M){return new e(c.longitude,c.latitude,M)}constructor(e,c,M=0,o,A){super(e,c,o,A),this._radius=M}get radius(){return this._radius}get xyz(){return this._xyz||(this._xyz=Object.freeze({x:this._radius*this._latitude.cos*this._longitude.cos, y:this._radius*this._latitude.cos*this._longitude.sin,z:this._radius*this._latitude.sin})),this._xyz}translate(c){const M=c.longitude,o=c.latitude,A=c.radius,z=this.longitude,t=this.latitude,a=this.radius,b=a*t.cos*z.cos-A*o.cos*M.cos,i=a*t.cos*z.sin-A*o.cos*M.sin,n=a*t.sin-A*o.sin;return e.convertRectangular(b,i,n)}toString(){return super.toString()+", rad: "+this.radius.toFixed(5)}},be=class{constructor(e,c,M,o,A,z,t,a){this.zeroSeekingFunction=e,this.tolerance=c,this.maxIterations=M,this.x1=o,this.y1=A, this._iterationCount=0,this._resolved=!1,this.maxError=0,null==t?(this.x2=A,this.y1=e(o),this.y2=e(A),null!=z&&(this.maxError=z)):(this.x2=z,this.y2=t,this.maxError=a||0)}getXAtZero(){if(null!=this._x)return this._x;let e,c=0,M=this.maxIterations/2,o=!0,A=0;this._iterationCount=1;e:for(;!this._resolved;){for(--this._iterationCount;++this._iterationCount<=M&&!this._resolved;){const M=(this.y2-this.y1)/(this.x2-this.x1);if(e=M?this.x1-this.y1/M:(this.x1+this.x2)/2,this.y=this.zeroSeekingFunction(e), this.y===c){if(++A>=3){o=!1;break}}else A=0;if(c=this.y,Math.abs(this.y)<=this.tolerance){this._resolved=Math.abs(this.x2-this.x1)<=this.tolerance,this.xForY=this._x=e;break}this.y1<this.y2&&this.y<0||this.y1>this.y2&&this.y>0?(this.x1=e,this.y1=this.y):(this.x2=e,this.y2=this.y)}if(this._resolved||!o)break;{let c=this.x1,A=this.x2;for(--this._iterationCount,o=!1,M=this.maxIterations;++this._iterationCount<=M;){const o=(A-c)/10;let z=1,t=e=c,a=this.zeroSeekingFunction(e),b=Math.abs(a),i=Math.sign(a);do{ if(Math.abs(a)<=this.tolerance&&o<=this.tolerance){this._resolved=!0,this.y=a,this.xForY=e;break e}if(e+=o,a=this.zeroSeekingFunction(e),Math.abs(a)<b&&(t=e,b=Math.abs(a)),Math.sign(a)!==i){c=e-o,A=e,e-=o/2;break}}while(++z<=10);if(z>10){if(!(this.maxError&&b<this.maxError)){M=this._iterationCount;break}c=t-o,A=b+o,M===this.maxIterations&&(M=Math.min(this._iterationCount+2,this.maxIterations))}}this.xForY!==e&&(this.y=this.zeroSeekingFunction(e))}} return this.maxError&&Math.abs(this.y)>this.maxError&&(e=NaN,this.y=NaN),this._x=e,e}get lastY(){return null==this._x&&this.getXAtZero(),this.y}get iterationCount(){return null==this._x&&this.getXAtZero(),this._iterationCount}get resolved(){return null==this._x&&this.getXAtZero(),this._resolved&&isFinite(this.y)&&!isNaN(this.y)}};try{const e=String.fromCharCode(117);"m&m".split(new RegExp("(?<!4)[^\\p{L}]+",e)),ce=new RegExp("\\P{L}","g"+e),Ae=new RegExp("^\\p{Nd}$",e),Me=new RegExp("^\\p{Lu}+$",e), oe=new RegExp(String.raw`(?<=^|[^\p{L}])['’ʼ]?[`+"\\"+String.raw`p{L}'’ʼ\u0300-\u036F]+['’ʼ]?(?=[^\p{L}]|$)`,"g"+e)}catch{ce=/[A-ZÀ-ÖØ-ÿ]/gi,Ae=/^\d$/,Me=/^[A-ZÀ-ÖØ-Þ]+$/,oe=/['’ʼ]?\b[A-Za-zÀ-ÖØ-ÿ'’ʼ\u0300-\u036F]+\b['’ʼ]?/g}function ie(e,c){return e<c?-1:e>c?1:0}function ne(e,c,M=", "){return e?e+M+c:c}const pe=new Map;function se(e,c,M=" "){let o="";!/^\s$/.test(M)&&"number"==typeof e&&e<0&&"0"===M&&(o="-",e=-e,--c);let A=String(e);for(;A.length<c;)A=M+A;return o+A}function re(e,c,M,o=!1){ return c=function(e){return e.replace(Oe,"\\$&")}(c),e.replace(new RegExp(c,"g"+(o?"i":"")),M)}["eBay","FedEx","iCloud","iMac","iOS","iPad","iPhone","MacBook","macOS","PepsiCo","watchOS"].forEach(e=>pe.set(function(e){return e.toLowerCase().replace(/['’ʼ]/g,"'")}(e),e));const Oe=/[-\[\]/{}()*+?.\\^$|]/g ;const le=[[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"]],de={},ue={},qe={} ;for(const[e,c]of le){const M=String.fromCodePoint(e);for(let o=0;o<=9;++o){const A=String.fromCodePoint(e+o);de[A]=String.fromCodePoint(48+o),ue[A]=M,qe[A]=c}}function Be(e,c){return e.replace(/./g,e=>de[e]?(ue[e],qe[e],de[e]):e)}function Le(){if("undefined"!=typeof performance)return performance.now();if("undefined"!=typeof process){if(process.hrtime.bigint)return Number(process.hrtime.bigint())/1e6;{const e=process.hrtime();return 1e3*e[0]+e[1]/1e6}}return Date.now()}var fe;!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"}(fe||(fe={}));const We=[];for(let e=2;e<=36;++e)We[e]=e<=10?new RegExp("^[-+]?[0-"+(e-1)+"]+$"):new RegExp("^[-+]?[0-9A-"+String.fromCharCode(54+e)+"]+$","i");function Ne(e,c=0){if("number"==typeof e)return e;if("string"==typeof e){const M=parseFloat(e);return isNaN(M)||!isFinite(M)?c:M} if("bigint"==typeof e){const M=Number(e);return isFinite(M)?M:c}return c}function Ce(e,c){return function(e){return Array.isArray(e)||e instanceof Array||Xe(e)&&ge(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]:c}function he(e,c){Object.keys(Xe(e)?e:{}).forEach(M=>c(M,e[M]))}function Te(e){return Array.isArray(e)}function me(e){return"boolean"==typeof e}function Re(e){return"function"==typeof e}function ge(e){return"number"==typeof e }function Xe(e){return!!e&&("function"==typeof e||"object"==typeof e)}function Ee(e){return"string"==typeof e}function Se(e,c=!1){return De(e,c,0,new WeakMap)}function De(e,c,M,o){if(Re(e)||!Xe(e)||!0===c&&M>0)return e;if(o.has(e))return o.get(e);if(c&&M>0)if(c instanceof Set){for(const M of c.values())if(e instanceof M)return e}else if(Re(c)&&c(e,M))return e;let A;if(e instanceof Date)A=new Date(e);else if(e instanceof RegExp)A=new RegExp(e);else{if(e instanceof Map)return A=new Map,o.set(e,A), Array.from(e.entries()).forEach(e=>A.set(e[0],De(e[1],c,M+1,o))),A;if(e instanceof Set)return A=new Set,o.set(e,A),e.forEach(e=>A.add(De(e,c,M+1,o))),A ;"undefined"!=typeof BigInt64Array&&e instanceof BigInt64Array?A=new BigInt64Array(e):"undefined"!=typeof BigUint64Array&&e instanceof BigUint64Array?A=new BigUint64Array(e):e instanceof Float32Array?A=new Float32Array(e):e instanceof Float64Array?A=new Float64Array(e):e instanceof Int8Array?A=new Int8Array(e):e instanceof Int16Array?A=new Int16Array(e):e instanceof Int32Array?A=new Int32Array(e):e instanceof Uint8Array?A=new Uint8Array(e):e instanceof Uint16Array?A=new Uint16Array(e):e instanceof Uint32Array?A=new Uint32Array(e):e instanceof Uint8ClampedArray&&(A=new Uint8ClampedArray(e)) }if(A)return o.set(e,A),A;const z=function(e,c=!1){return Xe(e)?e.constructor.name:c?"no-class:"+typeof e:null}(e);null!=z&&"Array"!==z&&"Object"!==z?(A=Object.create(Object.getPrototypeOf(e)),Te(e)&&(A.length=e.length)):Te(e)?(A=[],A.length=e.length):A={},o.set(e,A);const t=Reflect.ownKeys(e);for(const z of t)A[z]=De(e[z],c,M+1,o);return A}function ye(e,c,M=!1,o){let A;if(me(M)&&(M={mustBeSameClass:M}),Te(M?.keysToIgnore)&&(M.keysToIgnore=new Set(M.keysToIgnore)), M.compare&&void 0!==(A=M.compare(e,c,o)))return A;if(o&&M.keysToIgnore&&M.keysToIgnore.has(o))return!0;if(e===c||Object.is(e,c))return!0;if(typeof e!=typeof c||Te(e)!==Te(c)||Te(e)&&e.length!==c.length)return!1;if(M.mustBeSameClass&&(!e.constructor!=!c.constructor||e.constructor!==c.constructor))return!1;if(!Xe(e)||!Xe(c))return!1;{const o=Reflect.ownKeys(e),A=new Set(Reflect.ownKeys(c));for(const z of o)if(A.delete(z), !(M?.keysToIgnore&&M.keysToIgnore.has(z)||c.hasOwnProperty(z)&&ye(e[z],c[z],M,z)))return!1;if(A.size>0&&M?.keysToIgnore&&M.keysToIgnore.forEach(e=>A.delete(e)),A.size>0)return!1}return!0}function Ie(e,c,M){for(const o of c)0!==M&&Te(o)?Ie(e,o,M-1):e.push(o);return e}function Pe(e){return Ie([],e,1)}const{ceil:we,floor:_e,max:ke,min:Ue}=Math;let Ge,Fe={appVersion:"?",maxTouchPoints:0,platform:"?",userAgent:"?",vendor:"?"};try{"undefined"!=typeof navigator&&(Fe=navigator)}catch{}try{ "undefined"!=typeof window&&(Ge=window)}catch{}async function ve(e=440,c=.025,M=100){if(Ge)return new Promise(o=>{const A=new Ge.AudioContext,z=A.createOscillator(),t=A.createGain();z.type="square",z.frequency.value=e,z.connect(t),t.gain.value=c,t.connect(A.destination),z.start(),setTimeout(()=>{z.stop(),z.disconnect(),t.disconnect(),A.close(),o()},M)})}function He(e,c){return document.defaultView.getComputedStyle(e,null).getPropertyValue(c)}function je(e,c){const M=[];function o(c){ Array.from(c??[]).forEach(c=>{if(c instanceof CSSMediaRule&&Ge?.matchMedia(c.conditionText).matches)o(c.cssRules);else if(c instanceof CSSSupportsRule)try{CSS.supports(c.conditionText)&&o(c.cssRules)}catch{}else if(c instanceof CSSStyleRule)try{e.matches(c.selectorText)&&M.push(c.style)}catch{}})}Array.from(document.styleSheets??[]).forEach(e=>o(e.rules||e.cssRules));let A,z=c.map(e=>{});for(;A=M.pop();){const e=c.map(e=>A[e]);z=z.map((c,M)=>c||e[M])}return z}const xe={"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 Ke(e){const c=document.defaultView.getComputedStyle(e,null);let M=c.getPropertyValue("font");if(!M){ const e=c.getPropertyValue("font-style"),o=c.getPropertyValue("font-variant"),A=c.getPropertyValue("font-weight"),z=xe[c.getPropertyValue("font-stretch")]||"",t=c.getPropertyValue("font-size"),a=c.getPropertyValue("line-height");M=(e+" "+o+" "+A+" "+z+" "+t+(a?" / "+a:"")+" "+c.getPropertyValue("font-family")).replace(/ +/g," ").trim()}return M}const Ve={};function Ye(e,c){let M;M="string"==typeof e?e:Ke(e);let o=!c&&Ve[M];if(o)return o;let A=M,z=12,t=12;const a=/(.*?\b)((?:\d|\.)+)(px\b.*)/.exec(M) ;a&&(z=parseFloat(a[2]),t=2*z,A=a[1]+t+a[3]);let b=1.2*z;const i=Ue(50,1.5*b),n=document.createElement("div");n.style.position="absolute",n.style.opacity="0",n.style.font=M,n.innerHTML="Eg<br>Eg",document.body.appendChild(n);const p=parseFloat(He(n,"height").replace("px",""));p>=2*z&&(b=p/2),document.body.removeChild(n);const s=Ye.canvas||(Ye.canvas=document.createElement("canvas"));s.width=2*t+i,s.height=3*t,s.style.opacity="1";const r=s.getContext("2d",{willReadFrequently:!0 }),O=s.width,l=4*O,d=s.height,u=d/2;r.fillStyle="white",r.fillRect(-1,-1,O+2,d+2),r.fillStyle="black",r.font=A,r.fillText("Eg",i/2,u);let q=r.getImageData(0,0,O,d).data,B=0;const L=q.length;for(;++B<L&&q[B]>192;);let f=u-_e(B/l);for(B=L-1;--B>0&&q[B]>192;);let W=_e(B/l)-u;for(r.fillStyle="white",r.fillRect(-1,-1,O+2,d+2),r.fillStyle="black",r.fillText("ÅÊ",i/2,u),q=r.getImageData(0,0,O,d).data,B=0;++B<L&&q[B]>192;);let N=u-_e(B/l),C=N,h=W;if(c){for(r.fillStyle="white",r.fillRect(-1,-1,O+2,d+2), r.fillStyle="black",r.fillText(c,i/2,u),q=r.getImageData(0,0,O,d).data,B=0;++B<L&&q[B]>192;);for(C=ke(_e(B/l)-u,N),B=L-1;--B>0&&q[B]>192;);h=ke(_e(B/l)-u,W)}return t>z&&(f=we(f/2),N=we(N/2),W=we(W/2),C=we(C/2),h=we(h/2)),o={font:M,lineHeight:b,ascent:f,fullAscent:N,descent:W,leading:b-N-W},c?(o.extraAscent=C,o.extraDescent=h,o.extraLineHeight=ke(C+h,b)):Ve[M]=o,o}function Je(e){return/\b(italic|oblique)\b/.test(e)?e.replace(/\b(italic|oblique)\b/,""):"italic "+e}function Ze(e,c,M){ const o=(Ze.canvas||(Ze.canvas=document.createElement("canvas"))).getContext("2d",{willReadFrequently:!0});let A,z=0;"string"==typeof c?A=c:"object"==typeof c&&(A=Ke(c)),o.font=A||M||"normal 12px sans-serif",Array.isArray(e)||(e=[e]);for(const c of e){const e=o.measureText(c).width;z=ke(z,e)}return z}const Qe={"<":"&lt;",">":"&gt;","&":"&amp;",'"':"&quot;","'":"&apos;"},$e={};function ec(e,c=!1){return e.replace(c?/[<>&"']/g:/[<>&]/g,e=>Qe[e[0]])} let cc,Mc,oc,Ac,zc,tc,ac,bc,ic,nc,pc,sc,rc,Oc,lc,dc,uc,qc,Bc,Lc;function fc(e=Fe,c,M){c=c??Ge,M=M??!!Ge?.matchMedia("only screen and (max-width: 760px)").matches,cc=e.platform||e.userAgentData?.platform||"?",Mc=cc.startsWith("Mac")||/\b(Mac OS X|macOS)\b/i.test(e.userAgent),oc=Mc&&!/\bmobile\b/i.test(e.userAgent),Ac=/\bSamsungBrowser\b|(\bAndroid\b[^)]+\bSM-)/i.test(e.userAgent),zc=e.appVersion?.includes("Windows")||cc.startsWith("Win"),tc=cc.startsWith("Linux")||/\bLinux\b/i.test(e.userAgent), ac=/\bedge\b/i.test(e.userAgent)&&zc,bc=!!c?.chrome,ic=bc&&ac,nc=e.userAgent.includes("Android")||Ac,pc=void 0!==c?.opr||/\bOPR\/\d+\b/.test(e.userAgent),sc="Google Inc."===e.vendor&&(/\bChrome\b/i.test(e.userAgent)&&!ac&&!Ac&&!pc&&!ic||/\bCriOS\b/.test(e.userAgent)),rc="Google Inc."===e.vendor&&/\bCrOS\b/i.test(e.userAgent),Oc=e.userAgent.includes("Raspbian")||cc.includes("Linux armv"),lc=/firefox/i.test(e.userAgent)&&!/seamonkey/i.test(e.userAgent), dc=/^((?!chrome|android).)*safari/i.test(e.userAgent)&&!ac,uc=/i(Pad|Pod|Phone)/i.test(cc)||Mc&&dc&&e.maxTouchPoints>1,qc=Ne(((uc?/(((iPhone|iPad).+?OS\s+)|(Version\/))(\d+)/i.exec(e.userAgent):null)??[])[5]),Bc=uc&&qc<=14,Lc=uc||/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini|\bmobile\b/i.test(e.userAgent)||M}function Wc(){return lc}function Nc(e,c=!1){return e!==hc()?Cc(c):Promise.resolve()}function Cc(e=!1){const c=document;try{if(hc()){if(c.exitFullscreen)return c.exitFullscreen() ;c.msExitFullscreen?c.msExitFullscreen():c.mozCancelFullScreen?c.mozCancelFullScreen():c.webkitExitFullscreen&&c.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(c){if(e)throw c;return Promise.reject(c instanceof Error?c:new Error(c))}return Promise.resolve()}function hc(){const e=document ;return!!(e.fullscreenElement||e.mozFullScreenElement||e.webkitFullscreenElement||e.msFullscreenElement)}function Tc(e,c=!1){return e=encodeURIComponent(e).replace(/[!'()*]/g,e=>"%"+e.charCodeAt(0).toString(16).toUpperCase()),c?e.replace(/%20/g,"+"):e}Object.keys(Qe).forEach(e=>$e[Qe[e]]=e),fc();var mc=Object.freeze({__proto__:null,beep:function(e=440,c=.025,M=100){ve(e,c,M).finally()},beepPromise:ve,doesCharacterGlyphExist:function e(c,M){ge(M)&&(M=String.fromCodePoint(M)) ;const o=e,A=Wc(),z=Ye(c),t=z.lineHeight+8,a=[o.canvas0||(o.canvas0=document.createElement("canvas")),o.canvas1||(o.canvas1=document.createElement("canvas")),o.canvas2||(o.canvas2=A&&document.createElement("canvas"))],b=[];for(let e=0;e<(A?3:2);++e){const c=a[e];c.width=t,c.height=t,c.style.opacity="1";const o=c.getContext("2d",{willReadFrequently:!0});o.fillStyle="white",o.fillRect(-1,-1,t+2,t+2),o.fillStyle="black",o.font=1===e&&A?Je(z.font):z.font,o.fillText(0===e||A&&2!==e?M:"￾",0,z.fullAscent), b[e]=o.getImageData(0,0,t,t).data}for(let e=0;e<b[0].length;e+=4)if(b[0][e]!==b[1][e])return!0;if(A)for(let e=0;e<b[0].length;e+=4){const c=_e(e/4/t),M=_e(e/4)%t;if((c<2||c===z.fullAscent-1||M<2)&&b[0][e]!==b[2][e])return!0}return!1},encodeForUri:Tc,eventToKey:function(e){let c=e.key;if(void 0===c){const M=e.charCode;if(0!==M&&null!=M)c=String.fromCodePoint(M);else{const M=e.keyCode||e.which;switch(M){case 3:case 13:c="Enter";break;case 8:c="Backspace";break;case 9:c="Tab";break;case 12:c="Clear";break ;case 16:c="Shift";break;case 17:c="Control";break;case 18:c="Alt";break;case 19:c="Pause";break;case 20:c="CapsLock";break;case 27:c="Escape";break;case 33:c="PageUp";break;case 34:c="PageDown";break;case 35:c="End";break;case 36:c="Home";break;case 37:c="ArrowLeft";break;case 38:c="ArrowUp";break;case 39:c="ArrowRight";break;case 40:c="ArrowDown";break;case 43:case 107:c="+";break;case 44:c="PrintScreen";break;case 45:c="Insert";break;case 46:c="Delete";break;case 91:c="OS";break;case 93:c="ContextMenu" ;break;case 109:case 189:c="-";break;case 110:c=".";break;case 111:case 191:c="/";break;case 144:c="NumLock";break;case 145:c="ScrollLock";break;case 173:case 181:c="AudioVolumeMute";break;case 174:case 182:c="AudioVolumeDown";break;case 175:case 183:c="AudioVolumeUp";break;case 179:c="MediaPlayPause";break;case 186:c=";";break;case 187:c="=";break;case 188:c=",";break;case 192:c="~";break;case 219:c="[";break;case 220:c="\\";break;case 221:c="]";break;case 222:c="'";break;case 224:c="Meta";break;default: 112<=M&&M<=135?c="F"+(M-111):48<=M&&M<=90?c=String.fromCharCode(M):96<=M&&M<=105&&(c=String.fromCharCode(M-48))}}}else switch(c){case"Left":case"UIKeyInputLeftArrow":c="ArrowLeft";break;case"Up":case"UIKeyInputUpArrow":c="ArrowUp";break;case"Right":case"UIKeyInputRightArrow":c="ArrowRight";break;case"Down":case"UIKeyInputDownArrow":c="ArrowDown";break;case"Add":c="+";break;case"Subtract":c="-";break;case"Multiply":c="*";break;case"Divide":c="/";break;case"Decimal":c=".";break;case"Apps":c="ContextMenu" ;break;case"Del ":c="Delete";break;case"Esc":c="Escape";break;case"Scroll":c="ScrollLock";break;case"Spacebar":c=" ";break;case"Win":c="Meta"}return c},getCssRuleValue:function(e,c){return je(e,[c])[0]||void 0},getCssRuleValues:je,getCssValue:He,getCssValues:function(e,c){const M=document.defaultView.getComputedStyle(e,null);return c.map(e=>M.getPropertyValue(e))},getCssVariable:function(e){return document.querySelector(":root").style.getPropertyValue(e)},getFont:Ke,getFontMetrics:Ye,getTextWidth:Ze, htmlEscape:ec,htmlUnescape:function(e){return e.replace(/&(?:#[xX]?)?[a-zA-Z0-9]+(?:;|$|(?=[^a-fA-F0-9]))/g,e=>{let c=$e[e];if(!c){let M,o=10;if(/^&#x/i.test(e)?(o=16,M=/^([a-fA-F0-9]+);?/.exec(e.substr(3))):e.startsWith("&#")&&(M=/^([0-9]+);?/.exec(e.substr(2))),M){const e=function(e,c=0,M=10){if("number"==typeof e)return isNaN(e)||!isFinite(e)?c:Math.floor(e);if("string"==typeof e){const o=We[M];if(!o||!o.test(e))return c;const A=parseInt(e,M);return isNaN(A)||!isFinite(A)?c:A}if("bigint"==typeof e){ const M=Number(e);return isNaN(M)||!isFinite(M)?c:M}return c}(M[1],-1,o);0<=e&&e<=1114111&&(c=String.fromCodePoint(e))}}return c??e})},initPlatformDetection:fc,iosVersion:function(){return qc},isAndroid:function(){return nc},isChrome:function(){return sc},isChromeOS:function(){return rc},isChromium:function(){return bc},isChromiumEdge:function(){return ic},isEdge:function(){return ac},isEffectivelyFullScreen:function(){return hc()||!!Ge&&Ge.innerWidth===Ge.screen?.width&&Ge.innerHeight===Ge.screen?.height },isFirefox:Wc,isFullScreen:hc,isIE:function(){return!1},isIOS:function(){return uc},isIOS14OrEarlier:function(){return Bc},isLikelyMobile:function(){return Lc},isLinux:function(){return tc},isMacOS:function(){return oc},isOpera:function(){return pc},isRaspbian:function(){return Oc},isSafari:function(){return dc},isSamsung:function(){return Ac},isWindows:function(){return zc},restrictPixelWidth:function(e,c,M,o="…"){let A=Ze(e,c),z=1;for(;A>M;)e=e.substring(0,e.length-z)+o,z=1+o.length,A=Ze(e,c);return e}, setCssVariable:function(e,c){document.querySelector(":root").style.setProperty(e,c)},setFullScreen:function(e){Nc(e,!0)},setFullScreenAsync:Nc,toggleFullScreen:function(){Cc()},toggleFullScreenAsync:Cc,urlEncodeParams:function(e,c=!1){const M=[];return he(e,(e,o)=>{null!=o&&M.push(Tc(e)+"="+Tc(o.toString(),c))}),M.join("&")}});const{max:Rc,min:gc,round:Xc}=Math,Ec=/^[a-z]+$/i,Sc=/^rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([0-9.]+)\s*\)$/,Dc=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/;let yc ;function Ic(e,c,M=.5){const o=Pc(e),A=Pc(c),z=o.r,t=o.g,a=o.b,b=o.alpha,i=1-M;return function(e,c,M,o=1){e=gc(Rc(Xc(e),0),255),c=gc(Rc(Xc(c),0),255),M=gc(Rc(Xc(M),0),255);const A=gc(Rc(o,0),1).toFixed(4).replace(/([01]).0000/,"$1").replace(/([^0])0+$/,"$1");return"1"===A?("#"+e.toString(16).padStart(2,"0")+c.toString(16).padStart(2,"0")+M.toString(16).padStart(2,"0")).toUpperCase():`rgba(${e}, ${c}, ${M}, ${A})`}(z*M+A.r*i,t*M+A.g*i,a*M+A.b*i,b*M+A.alpha*i)}function Pc(e){let c=Ec.exec(e=e.trim());if(c){ if(!yc){const e=document.createElement("canvas");yc=e.getContext("2d",{willReadFrequently:!0})}yc.fillStyle=e,e=String(yc.fillStyle)}if(e.startsWith("#"))switch(e.length){case 4:case 5:return{r:parseInt(e.substr(1,1)+e.substr(1,1),16),g:parseInt(e.substr(2,1)+e.substr(2,1),16),b:parseInt(e.substr(3,1)+e.substr(3,1),16),alpha:4===e.length?1:parseInt(e.substr(4,1)+e.substr(4,1),16)/255};case 7:case 9:return{r:parseInt(e.substr(1,2),16),g:parseInt(e.substr(3,2),16),b:parseInt(e.substr(5,2),16), alpha:7===e.length?1:parseInt(e.substr(7,2),16)/255}}return c=Dc.exec(e),c?{r:Number(c[1]),g:Number(c[2]),b:Number(c[3]),alpha:1}:(c=Sc.exec(e),c?{r:Number(c[1]),g:Number(c[2]),b:Number(c[3]),alpha:Number(c[4])}:{r:0,g:0,b:0,alpha:0})}const{initPlatformDetection:wc,..._c}=mc;null==String.prototype.substr&&(String.prototype.substr=function(e,c){return this.substring(e,e+c)}) ;const kc=-271820,Uc=275759,Gc=6e4,Fc=36e5,vc=864e5,Hc=86400,jc=2440587.5,xc=32.184/Hc,Kc=2400000.5,Vc=["BC","AD","Before Christ","Anno Domini"],Yc=["January","February","March","April","May","June","July","August","September","October","November","December"],Jc=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Zc=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],Qc=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],$c=["Su","Mo","Tu","We","Th","Fr","Sa"];let eM,cM ;const MM=[["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"]],oM=["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 AM(e){for(const[c,M]of MM)e.hasOwnProperty(c)?e[M]=e[c]:e.hasOwnProperty(M)&&(e[c]=e[M]);return e}function zM(e,c=!1){for(const[M,o]of MM)delete e[c?M:o];return e}const tM=new Set(["y","year","m","month","d","day","hrs","hour","min","minute","sec","second","millis"]),aM=new Error("Invalid ISO date/time");function bM(e,c=!1){let M=1;e.startsWith("-")?(M=-1,e=e.substr(1)):e.startsWith("+")&&(e=e.substr(1));const o=e.includes(":")?e.split(":"):e.match(/../g)??["0"] ;let A=60*(60*Number(o[0])+Number(o[1]??0));if(o[2]){const e=Number(o[2]);A+=c?e<30?0:60:e}return M*A}function iM(e,c,M){const o=e instanceof Intl.DateTimeFormat?e.formatToParts(c):e;M=M??c;const A=o.find(e=>e.type===M);return A?A.value:"???"}function nM(e,c,M){return Ne(Be(iM(e,c,M)))}var pM,sM;(sM=pM||(pM={}))[sM.PURE_GREGORIAN=0]="PURE_GREGORIAN",sM[sM.PURE_JULIAN=1]="PURE_JULIAN";var rM,OM;!function(e){e[e.SUNDAY=0]="SUNDAY",e[e.MONDAY=1]="MONDAY",e[e.TUESDAY=2]="TUESDAY",e[e.WEDNESDAY=3]="WEDNESDAY", e[e.THURSDAY=4]="THURSDAY",e[e.FRIDAY=5]="FRIDAY",e[e.SATURDAY=6]="SATURDAY"}(rM||(rM={})),function(e){e[e.JANUARY=1]="JANUARY",e[e.FEBRUARY=2]="FEBRUARY",e[e.MARCH=3]="MARCH",e[e.APRIL=4]="APRIL",e[e.MAY=5]="MAY",e[e.JUNE=6]="JUNE",e[e.JULY=7]="JULY",e[e.AUGUST=8]="AUGUST",e[e.SEPTEMBER=9]="SEPTEMBER",e[e.OCTOBER=10]="OCTOBER",e[e.NOVEMBER=11]="NOVEMBER",e[e.DECEMBER=12]="DECEMBER"}(OM||(OM={}));const lM=-9999999,dM=9999999,uM=-141427,qM=new Error("This DateTime instance is locked and immutable") ;function BM(e,c,M,o,A=!1){let z,t,a,b;if(ge(e))a=e;else{if(Te(e)&&e.length>=3&&ge(e[0]))return e;Te(e)?(a=e[0],c=e[1]):Xe(e)&&(AM(e),z=e.n,t=A?void 0:e.j,a=e.y,b=e.dy,c=e.m,M=e.d)}if(null==a){if(null!=z){if("g"===o||!1===t)return BM(RM(z));if("j"===o||!0===t)return BM(gM(z));if(o){++o.computeWeekValues;const e=BM(o.getDateFromDayNumber(z));return--o.computeWeekValues,e}return BM(mM(z))}throw new Error("Calendar: Invalid date arguments")} return null==c&&null==M&&null!=b?BM("g"===o||!1===t?RM(fM(a,1,0)+b):"j"===o||!0===t?gM(WM(a,1,0)+b):mM(LM(a,1,0)+b)):[a,c=c??1,M=M??1,null==t?-1:+t]}function LM(e,c,M){let o,A;for([o,c,M,A]=BM(e,c,M);c<1;)c+=12,--o;for(;c>12;)c-=12,++o;return 1===A||0!==A&&function(e,c,M){let o,A;return[o,c,M,A]=BM(e,c,M),1===A||o<1582||1582===o&&(c<10||10===c&&M<15)}(o,c,M)?WM(o,c,M):fM(o,c,M)}function fM(e,c,M){let o;for([o,c,M]=BM(e,c,M,"g");c<1;)c+=12,--o;for(;c>12;)c-=12,++o ;return 367*o-O(7*(o+r(c+9,12)),4)-r(3*(r(o+r(c-9,7),100)+1),4)+r(275*c,9)+M-719559}function WM(e,c,M){let o;for([o,c,M]=BM(e,c,M,"j");c<1;)c+=12,--o;for(;c>12;)c-=12,++o;return 367*o-O(7*(o+r(c+9,12)),4)+r(275*c,9)+M-719561}function NM(e,c){return 9===c||4===c||6===c||11===c?30:2!==c?31:e%4!=0||e%100==0&&e%400!=0?28:29}function CM(e,c){return 9===c||4===c||6===c||11===c?30:2!==c?31:e%4==0?29:28}function hM(e){return m(e+4,7)}function TM(e,c,M,o){const A=LM(e,c,o),z=m(M-hM(A),7);if(1582===e&&10===c){ const M=mM(A+z);o=M.y!==e||M.m!==c?0:M.d}else(o+=z)>function(e,c){return 9===c||4===c||6===c||11===c?30:2!==c?31:e%4==0&&(e<1583||e%100!=0||e%400==0)?29:28}(e,c)&&(o=0);return o}function mM(e){return e>=uM?RM(e):gM(e)}function RM(e){let c,M,o,A,z;for(c=Math.floor((e+719528)/365.2425);e<fM(c,1,1);)--c;for(;e>=fM(c+1,1,1);)++c;for(o=A=e-fM(c,1,1)+1,M=1;o>(z=NM(c,M));++M)o-=z;return AM({y:c,m:M,d:o,dy:A,n:e,j:!1})}for(let e=-207084;e<=205084;++e)gM(e);function gM(e){let c,M,o,A ;for(c=Math.floor((e+719530)/365.25),o=e-WM(c,1,1)+1,M=1;o>(A=CM(c,M));++M)o-=A;return AM({y:c,m:M,d:o,n:e,j:!0})}function XM(e,c,M,o,A,z,t){return(t=t||0)+1e3*(z=z||0)+A*Gc+o*Fc+LM(e,c,M)*vc}function EM(e){const c=mM(O(e,vc));return c.millis=m(e,1e3),e=O(e,1e3),c.sec=m(e,60),e=O(e,60),c.min=m(e,60),e=O(e,60),c.hrs=m(e,24),c.utcOffset=0,c.dstOffset=0,c.occurrence=1,AM(c)}function SM(e,c,M){let o;return[o,c,M]=BM(e,c,M),(o<0?"-":"")+se(Math.abs(o),4,"0")+"-"+se(c,2,"0")+"-"+se(M,2,"0")}function DM(e){ let c=1;(e=e.trim()).startsWith("-")&&(c=-1,e=e.substring(1).trim());let M=/^(\d+)-(\d{1,2}(?=\D))(?:-(\d+))?$/.exec(e);if(M||(M=/^(\d{1,5})$/.exec(e)),M||(M=/^(\d{4,})(\d\d)(\d\d)$/.exec(e)),!M)throw new Error("Invalid ISO date");return AM({y:Number(M[1])*c,m:Number(M[2]??1),d:Number(M[3]??1)})}class yM{constructor(e,c,M){this.gcYear=1582,this.gcMonth=10,this.gcDate=15,this.firstGregorianDay=uM,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,e===pM.PURE_GREGORIAN?this.setGregorianChange(lM,0,0):e===pM.PURE_JULIAN?this.setGregorianChange(dM,0,0):0===arguments.length||null==e?this.setGregorianChange(1582,10,15):this.setGregorianChange(e,c,M)}_lock(e=!0){return this._locked=this._locked||e,this}get locked(){return this._locked}setPureGregorian(e){if(this.locked)throw qM ;return e?this.setGregorianChange(lM,0,0):this.setGregorianChange(1582,10,15),this}isPureGregorian(){return this.gcYear<=lM}setPureJulian(e){if(this.locked)throw qM;return e?this.setGregorianChange(dM,0,0):this.setGregorianChange(1582,10,15),this}isPureJulian(){return this.gcYear>=dM}setGregorianChange(e,c,M){if(this.locked)throw qM;if("g"===e||"G"===e)return this.setPureGregorian(!0),this;if("j"===e||"J"===e)return this.setPureJulian(!0),this ;if(Ee(e))e=DM(e);else if(Xe(e)&&!Te(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 o;if([o,c,M]=BM(e,c,M,this),o<300){if((0!==c||0!==M)&&o>lM)throw new Error("Calendar: Gregorian change year cannot be less than 300");this.firstGregorianDay=Number.MIN_SAFE_INTEGER,this.gcYear=lM}else if(o>3900){if((0!==c||0!==M)&&o<dM)throw new Error("Calendar: Gregorian change year cannot be greater than 3900") ;this.firstGregorianDay=Number.MAX_SAFE_INTEGER,this.gcYear=dM}else if(!function(e,c,M){let o;[o,c,M]=BM(e,c,M,"g");const A=RM(fM(o,c,M));return o===A.y&&c===A.m&&M===A.d}(o,c,M))throw new Error("Calendar: Invalid Gregorian date: "+SM(o,c,M));this.gcYear=o,this.gcMonth=c,this.gcDate=M,this.firstGregorianDay=fM(o,c,M);const A=gM(this.firstGregorianDay-1);return this.lastJulianDate=A.d,this.lengthOfGCChangeMonth=NM(o,c),A.y===o&&A.m===c?(this.lastJulianYear=Number.MIN_SAFE_INTEGER, this.lastJulianMonth=Number.MIN_SAFE_INTEGER,this.firstDateInGCChangeMonth=1,this.lengthOfGCChangeMonth-=M-this.lastJulianDate-1):(this.lastJulianYear=A.y,this.lastJulianMonth=A.m,this.firstDateInGCChangeMonth=M,this.lengthOfGCChangeMonth-=M-1),this}getGregorianChange(){return AM({y:this.gcYear,m:this.gcMonth,d:this.gcDate,n:this.firstGregorianDay,j:!1})}isJulianCalendarDate(e,c,M){let o,A;return[o,c,M,A]=BM(e,c,M,this), 1===A||o<this.gcYear||o===this.gcYear&&(c<this.gcMonth||c===this.gcMonth&&M<this.gcDate)}getDayNumber(e,c,M){if(Xe(e)&&!Te(e))if(AM(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 o=null!=e.ywl,A=e.ywl??e.yw,z=o&&null!=c?c:1,t=o&&null!=M?M:4,a=(o?e.wl:e.w)??1,b=(o?e.dwl:e.dw)??1;++this.computeWeekValues;const i=this.getStartDateOfFirstWeekOfYear(A,z,t).n+7*(a-1)+b-1;e=this.getDateFromDayNumber(i),--this.computeWeekValues} let o,A;for([o,c,M,A]=BM(e,c,M,this);c<1;)c+=12,--o;for(;c>12;)c-=12,++o;return A<0&&(o===this.lastJulianYear&&c===this.lastJulianMonth?M>this.lastJulianDate&&(M=this.lastJulianDate+1):o===this.gcYear&&c===this.gcMonth&&(M>this.lastJulianDate||this.lastJulianMonth!==this.gcMonth&&this.lastJulianMonth>0)&&M<this.gcDate&&(M=this.gcDate)),1===A||0!==A&&this.isJulianCalendarDate(o,c,M)?WM(o,c,M):fM(o,c,M)}getDateFromDayNumber(e,c,M){let o;return o=e>=this.firstGregorianDay?RM(e):gM(e), 0===this.computeWeekValues&&([o.yw,o.w,o.dw]=this.getYearWeekAndWeekday(o,c,M)),AM(o)}getFirstDateInMonth(e,c){return e===this.gcYear&&c===this.gcMonth?this.firstDateInGCChangeMonth:1}getLastDateInMonth(e,c){return 0===c?(c=12,--e):13===c&&(c=1,++e),e===this.lastJulianYear&&c===this.lastJulianMonth?this.lastJulianDate:9===c||4===c||6===c||11===c?30:2!==c?31:e%4==0&&(e<this.gcYear||e===this.gcYear&&this.gcMonth>2||e%100!=0||e%400==0)?29:28}getDaysInMonth(e,c){return 0===c?(c=12,--e):13===c&&(c=1,++e), e===this.gcYear&&c===this.gcMonth?this.lengthOfGCChangeMonth:e===this.lastJulianYear&&c===this.lastJulianMonth?this.lastJulianDate:9===c||4===c||6===c||11===c?30:2!==c?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,c,M){return ge(e)&&null==c?hM(e):hM(this.getDayNumber(e,c,M))}getDateOfNthWeekdayOfMonth(e,c,M,o){const A=o>=6;let z=this.getDayNumber(e,c,1);const t=hM(z);let a,b=0;if(t===M&&1===o)return 1 ;for(z+=m(M-t,7),a=this.getDateFromDayNumber(z);a.m===c;){if(b=a.d,0===--o)return b;z+=7,a=this.getDateFromDayNumber(z)}return A?b:0}getDayOfWeekInMonthCount(e,c,M){const o=this.getDayNumber(e,c,this.getDateOfNthWeekdayOfMonth(e,c,M,1));return r(this.getDayNumber(e,c+1,1)-o-1,7)+1}getDayOfWeekInMonthIndex(e,c,M){let o;[o,c,M]=BM(e,c,M,this);const A=this.getDayNumber(o,c,1);return O(this.getDayNumber(o,c,M)-A,7)+1}getDayOnOrAfter(e,c,M,o){const A=this.getDayNumber(e,c,o),z=m(M-hM(A),7) ;if(e===this.gcYear&&c===this.gcMonth){const M=this.getDateFromDayNumber(A+z);o=M.y!==e||M.m!==c?0:M.d}else(o+=z)>this.getLastDateInMonth(e,c)&&(o=0);return o}getDayOnOrBefore(e,c,M,o){const A=this.getDayNumber(e,c,o),z=m(hM(A)-M,7);if(e===this.gcYear&&c===this.gcMonth){const M=this.getDateFromDayNumber(A-z);o=M.y!==e||M.m!==c?0:M.d}else(o-=z)<0&&(o=0);return o}addDaysToDate(e,c,M,o){return this.getDateFromDayNumber(this.getDayNumber(c,M,o)+e)}getCalendarMonth(e,c,M=0){const o=[] ;let A,z,t,a=this.getDayNumber(e,c,this.getFirstDateInMonth(e,c));A=m(M-hM(a),-7),a+=A,z=this.getDateFromDayNumber(a,M);do{o.push(z),++a,++A,z=this.getDateFromDayNumber(a),t=z.m}while(A<1||t===c||hM(a)!==M);return o}isValidDate(e,c,M){let o;[o,c,M]=BM(e,c,M,this,!0);const A=this.getDateFromDayNumber(this.getDayNumber(o,c,M));return o===A.y&&c===A.m&&M===A.d}normalizeDate(e,c,M){let o;if([o,c,M]=BM(e,c,M,this,!0),c<1?(c+=12,o-=1):c>12&&(c-=12,o+=1),!this.isValidDate(o,c,M)){let e ;if(M<(e=this.getFirstDateInMonth(o,c)))M=e;else if(M>(e=this.getLastDateInMonth(o,c)))M=e;else{const e=this.getMissingDateRange(o,c);null!=e&&(M=e[1]+1)}}return AM({y:o,m:c,d:M})}getMissingDateRange(e,c){if(e===this.lastJulianYear&&c===this.lastJulianMonth){const M=CM(e,c);if(M>this.lastJulianDate)return[this.lastJulianDate+1,M]}else if(e===this.gcYear&&c===this.gcMonth&&this.gcDate>1&&this.gcDate>this.lastJulianDate+1)return[this.lastJulianDate+1,this.gcDate-1];return null} getStartDateOfFirstWeekOfYear(e,c=1,M=4){let o=1;7===M&&(++o,--M);const A=m(this.getDayOfWeek(e,1,o)-c,7);return this.addDaysToDate((A>7-M?7:0)-A,e,1,o)}getWeeksInYear(e,c=1,M=4){const o=this.getStartDateOfFirstWeekOfYear(e,c,M);return(this.getStartDateOfFirstWeekOfYear(e+1,c,M).n-o.n)/7}getYearWeekAndWeekday(e,c,M,o,A){const[z,t,a]=BM(e,c,M,this,!0);Xe(e)&&(o=c,A=M),o=o??1,A=A??4,++this.computeWeekValues;let b=z,i=this.getStartDateOfFirstWeekOfYear(z,o,A) ;const n=this.getStartDateOfFirstWeekOfYear(z+1,o,A),p=this.getDayNumber(z,t,a);return i.n>p?(i=this.getStartDateOfFirstWeekOfYear(z-1,o,A),--b):n.n<=p&&(i=n,++b),--this.computeWeekValues,[b,d((p-i.n)/7)+1,m(p-i.n,7)+1]}}var IM=Intl.DateTimeFormat;let PM=!1,wM=!0,_M="en";try{if(PM="undefined"!=typeof Intl&&!!Intl?.DateTimeFormat,PM){wM=new IM("en-us",{dateStyle:"full"}).format(0)!==new IM("en-us",{dateStyle:"short"}).format(0), wM||console.warn("Intl.DateTimeFormatOptions dateStyle and timeStyle not available")}else console.warn("Intl.DateTimeFormat not available")}catch(sM){PM=!1,console.warn("Intl.DateTimeFormat not available: %s",sM.message||sM.toString())}try{PM?_M=(new Intl.DateTimeFormat).resolvedOptions().locale:"object"==typeof process&&process.env?.LANG?_M=process.env.LANG.replace(/\..*$/,"").replace(/_/g,"-"):"object"==typeof navigator&&navigator.language&&(_M=navigator.language)}catch{_M="en"} const kM=PM,UM=wM,GM=_M,FM={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"}},vM={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 HM(e,c){Object.keys(c).forEach(M=>e[M]=e[M]??c[M])}function jM(e){return kM&&e?(Ee(e)&&e.includes(",")&&(e=e.split(",").map(e=>e.trim().replace(/-u-.*$/,""))),Te(e)?0===e.length?"en":1===e.length?jM(e[0]):e.map(e=>jM(e)):e.replace(/_/g,"-").toLowerCase()):"en-us"}function xM(e){return e.replace(/-[^-]*?$/i,"")}function KM(e,c){let M;Te(e=jM(e))||(e=[e]);for(let o of e){let e;do{M=c[o],e=xM(o)}while(!M&&o.includes("-")&&(o=e));if(M)break}return M}const VM={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:[["म.पू.","पहाटे"],["म.पू.","पहाटे"],["म.पू.","पहाटे"],["म.पू.","पहाटे"],["म.पू.","पहाटे"],["म.पू.","पहाटे"],["म.पू.","सकाळी"],["म.पू.","सकाळी"],["म.पू.","सकाळी"],["म.पू.","सकाळी"],["म.पू.","सकाळी"],["म.पू.","सकाळी"],["म.उ.","दुपारी"],["म.उ.","दुपारी"],["म.उ.","दुपारी"],["म.उ.","दुपारी"],["म.उ.","दुपारी"],["म.उ.","सायंकाळी"],["म.उ.","सायंकाळी"],["म.उ.","सायंकाळी"],["म.उ.","रात्री"],["म.उ.","रात्री"],["म.उ.","रात्