2 lines
50 KiB
JavaScript
2 lines
50 KiB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).spacetime=t()}(this,function(){"use strict";const e=(e,t,n)=>{const[r,a]=e.split("/"),[o,s]=a.split(":");return Date.UTC(n,r-1,o,s)-36e5*t},t=(t,n,r,a,o)=>{const s=new Date(t).getUTCFullYear(),i=e(n,o,s),u=e(r,a,s);return t>=i&&t<u};var n={"9|s":"2/dili,2/jayapura","9|n":"2/chita,2/khandyga,2/pyongyang,2/seoul,2/tokyo,2/yakutsk,11/palau,japan,rok","9.5|s|04/05:03->10/04:02":"4/adelaide,4/broken_hill,4/south,4/yancowinna","9.5|s":"4/darwin,4/north","8|s|03/13:01->10/02:00":"12/casey","8|s":"2/kuala_lumpur,2/makassar,2/singapore,4/perth,2/ujung_pandang,4/west,singapore","8|n":"2/brunei,2/hong_kong,2/irkutsk,2/kuching,2/macau,2/manila,2/shanghai,2/taipei,2/ulaanbaatar,2/chongqing,2/chungking,2/harbin,2/macao,2/ulan_bator,2/choibalsan,hongkong,prc,roc","8.75|s":"4/eucla","7|s":"12/davis,2/jakarta,9/christmas","7|n":"2/bangkok,2/barnaul,2/hovd,2/krasnoyarsk,2/novokuznetsk,2/novosibirsk,2/phnom_penh,2/pontianak,2/ho_chi_minh,2/tomsk,2/vientiane,2/saigon","6|s":"12/vostok","6|n":"2/bishkek,2/dhaka,2/omsk,2/thimphu,2/urumqi,9/chagos,2/dacca,2/kashgar,2/thimbu","6.5|n":"2/yangon,9/cocos,2/rangoon","5|s":"12/mawson,9/kerguelen","5|n":"2/almaty,2/aqtau,2/aqtobe,2/ashgabat,2/atyrau,2/dushanbe,2/karachi,2/oral,2/qyzylorda,2/qostanay,2/samarkand,2/tashkent,2/yekaterinburg,9/maldives,2/ashkhabad","5.75|n":"2/kathmandu,2/katmandu","5.5|n":"2/kolkata,2/colombo,2/calcutta","4|s":"9/reunion","4|n":"2/baku,2/dubai,2/muscat,2/tbilisi,2/yerevan,8/astrakhan,8/samara,8/saratov,8/ulyanovsk,8/volgograd,9/mahe,9/mauritius,2/volgograd","4.5|n":"2/kabul","3|s":"12/syowa,9/antananarivo","3|n|04/24:00->10/29:24":"0/cairo,egypt","3|n|03/29:03->10/25:04":"2/famagusta,2/nicosia,8/athens,8/bucharest,8/chisinau,8/helsinki,8/kyiv,8/mariehamn,8/riga,8/sofia,8/tallinn,8/uzhgorod,8/vilnius,8/zaporozhye,8/nicosia,8/tiraspol,8/kiev,eet","3|n|03/29:00->10/24:24":"2/beirut","3|n|03/28:02->10/24:02":"2/gaza,2/hebron","3|n|03/27:02->10/25:02":"2/jerusalem,2/tel_aviv,israel","3|n":"0/addis_ababa,0/asmara,0/asmera,0/dar_es_salaam,0/djibouti,0/juba,0/kampala,0/mogadishu,0/nairobi,2/aden,2/amman,2/baghdad,2/bahrain,2/damascus,2/kuwait,2/qatar,2/riyadh,8/istanbul,8/kirov,8/minsk,8/moscow,8/simferopol,9/comoro,9/mayotte,2/istanbul,turkey,w-su","3.5|n":"2/tehran,iran","2|s|03/29:02->10/25:02":"12/troll","2|s":"0/gaborone,0/harare,0/johannesburg,0/lubumbashi,0/lusaka,0/maputo,0/maseru,0/mbabane","2|n|03/29:02->10/25:03":"0/ceuta,arctic/longyearbyen,8/amsterdam,8/andorra,8/belgrade,8/berlin,8/bratislava,8/brussels,8/budapest,8/busingen,8/copenhagen,8/gibraltar,8/ljubljana,8/luxembourg,8/madrid,8/malta,8/monaco,8/oslo,8/paris,8/podgorica,8/prague,8/rome,8/san_marino,8/sarajevo,8/skopje,8/stockholm,8/tirane,8/vaduz,8/vatican,8/vienna,8/warsaw,8/zagreb,8/zurich,3/jan_mayen,poland,cet,met","2|n":"0/blantyre,0/bujumbura,0/khartoum,0/kigali,0/tripoli,8/kaliningrad,libya","1|s":"0/brazzaville,0/kinshasa,0/luanda,0/windhoek","1|n|03/29:01->10/25:02":"3/canary,3/faroe,3/madeira,8/dublin,8/guernsey,8/isle_of_man,8/jersey,8/lisbon,8/london,3/faeroe,eire,8/belfast,gb-eire,gb,portugal,wet","1|n":"0/algiers,0/bangui,0/douala,0/lagos,0/libreville,0/malabo,0/ndjamena,0/niamey,0/porto-novo,0/tunis","14|n":"11/kiritimati","13|s":"11/apia,11/tongatapu","13|n":"11/enderbury,11/kanton,11/fakaofo","12|s|04/05:03->09/27:02":"12/mcmurdo,11/auckland,12/south_pole,nz","12|s":"11/fiji","12|n":"2/anadyr,2/kamchatka,2/srednekolymsk,11/funafuti,11/kwajalein,11/majuro,11/nauru,11/tarawa,11/wake,11/wallis,kwajalein","12.75|s|04/05:03->04/05:02":"11/chatham,nz-chat","11|s|04/05:03->10/04:02":"12/macquarie","11|s":"11/bougainville","11|n":"2/magadan,2/sakhalin,11/efate,11/guadalcanal,11/kosrae,11/noumea,11/pohnpei,11/ponape","11.5|n|04/05:03->10/04:02":"11/norfolk","10|s|04/05:03->10/04:02":"4/currie,4/hobart,4/melbourne,4/sydney,4/act,4/canberra,4/nsw,4/tasmania,4/victoria","10|s":"12/dumontdurville,4/brisbane,4/lindeman,11/port_moresby,4/queensland","10|n":"2/ust-nera,2/vladivostok,11/guam,11/saipan,11/chuuk,11/truk,11/yap","10.5|s|04/05:01->10/04:02":"4/lord_howe,4/lhi","0|s|02/15:03->03/22:02":"0/casablanca,0/el_aaiun","0|n|03/29:00->10/25:01":"3/azores","0|n|03/29:00->10/24:24":"1/scoresbysund","0|n":"0/abidjan,0/accra,0/bamako,0/banjul,0/bissau,0/conakry,0/dakar,0/freetown,0/lome,0/monrovia,0/nouakchott,0/ouagadougou,0/sao_tome,1/danmarkshavn,3/reykjavik,3/st_helena,13/gmt,13/utc,0/timbuktu,13/greenwich,13/uct,13/universal,13/zulu,gmt-0,gmt+0,gmt0,greenwich,iceland,uct,universal,utc,zulu,13/unknown,factory","-9|n|03/08:02->11/01:02":"1/adak,1/atka,us/aleutian","-9|n":"11/gambier","-9.5|n":"11/marquesas","-8|n|03/08:02->11/01:02":"1/anchorage,1/juneau,1/metlakatla,1/nome,1/sitka,1/yakutat,us/alaska","-8|n":"11/pitcairn","-7|n|03/08:02->11/01:03":"1/vancouver,6/pacific","-7|n|03/08:02->11/01:02":"1/los_angeles,1/santa_isabel,1/tijuana,1/ensenada,10/bajanorte,us/pacific-new,us/pacific","-7|n":"1/creston,1/dawson,1/dawson_creek,1/fort_nelson,1/hermosillo,1/mazatlan,1/phoenix,1/whitehorse,6/yukon,10/bajasur,us/arizona,mst","-6|s|04/04:22->09/05:22":"11/easter,7/easterisland","-6|n|04/07:02->10/27:02":"1/merida","-6|n|03/08:02->11/01:02":"1/boise,1/cambridge_bay,1/denver,1/edmonton,1/inuvik,1/north_dakota,1/ojinaga,1/ciudad_juarez,1/yellowknife,1/shiprock,6/mountain,navajo,us/mountain","-6|n":"1/bahia_banderas,1/belize,1/chihuahua,1/costa_rica,1/el_salvador,1/guatemala,1/managua,1/mexico_city,1/monterrey,1/regina,1/swift_current,1/tegucigalpa,11/galapagos,6/east-saskatchewan,6/saskatchewan,10/general","-5|s":"1/lima,1/rio_branco,1/porto_acre,5/acre","-5|n|03/08:02->11/01:02":"1/chicago,1/matamoros,1/menominee,1/rainy_river,1/rankin_inlet,1/resolute,1/winnipeg,1/indiana/knox,1/indiana/tell_city,1/north_dakota/beulah,1/north_dakota/center,1/north_dakota/new_salem,1/knox_in,6/central,us/central,us/indiana-starke","-5|n":"1/bogota,1/cancun,1/cayman,1/coral_harbour,1/eirunepe,1/guayaquil,1/jamaica,1/panama,1/atikokan,jamaica,est","-4|s|04/04:24->09/06:00":"1/santiago,7/continental","-4|s|03/22:24->10/05:00":"1/asuncion","-4|s":"1/campo_grande,1/cuiaba,1/la_paz,1/manaus,5/west","-4|n|03/08:02->11/01:02":"1/detroit,1/grand_turk,1/indiana,1/indianapolis,1/iqaluit,1/kentucky,1/louisville,1/montreal,1/nassau,1/new_york,1/nipigon,1/pangnirtung,1/port-au-prince,1/thunder_bay,1/toronto,1/indiana/marengo,1/indiana/petersburg,1/indiana/vevay,1/indiana/vincennes,1/indiana/winamac,1/kentucky/monticello,1/fort_wayne,1/indiana/indianapolis,1/kentucky/louisville,6/eastern,us/east-indiana,us/eastern,us/michigan","-4|n|03/08:00->11/01:01":"1/havana,cuba","-4|n":"1/anguilla,1/antigua,1/aruba,1/barbados,1/blanc-sablon,1/boa_vista,1/caracas,1/curacao,1/dominica,1/grenada,1/guadeloupe,1/guyana,1/kralendijk,1/lower_princes,1/marigot,1/martinique,1/montserrat,1/port_of_spain,1/porto_velho,1/puerto_rico,1/santo_domingo,1/st_barthelemy,1/st_kitts,1/st_lucia,1/st_thomas,1/st_vincent,1/tortola,1/virgin","-3|s":"1/argentina,1/buenos_aires,1/catamarca,1/cordoba,1/coyhaique,1/fortaleza,1/jujuy,1/mendoza,1/montevideo,1/punta_arenas,1/sao_paulo,12/palmer,12/rothera,3/stanley,1/argentina/la_rioja,1/argentina/rio_gallegos,1/argentina/salta,1/argentina/san_juan,1/argentina/san_luis,1/argentina/tucuman,1/argentina/ushuaia,1/argentina/comodrivadavia,1/argentina/buenos_aires,1/argentina/catamarca,1/argentina/cordoba,1/argentina/jujuy,1/argentina/mendoza,1/argentina/rosario,1/rosario,5/east","-3|n|03/08:02->11/01:02":"1/glace_bay,1/goose_bay,1/halifax,1/moncton,1/thule,3/bermuda,6/atlantic","-3|n":"1/araguaina,1/bahia,1/belem,1/cayenne,1/maceio,1/paramaribo,1/recife,1/santarem","-2|n|03/08:02->11/01:02":"1/miquelon","-2|n":"1/noronha,3/south_georgia,5/denoronha","-2.5|n|03/08:02->11/01:02":"1/st_johns,6/newfoundland","-1|n|03/29:00->10/24:24":"1/nuuk,1/godthab","-1|n":"3/cape_verde","-11|n":"11/midway,11/niue,11/pago_pago,11/samoa,us/samoa","-10|n":"11/honolulu,11/johnston,11/rarotonga,11/tahiti,us/hawaii,hst"},r=["africa","america","asia","atlantic","australia","brazil","canada","chile","europe","indian","mexico","pacific","antarctica","etc"];const a={};Object.keys(n).forEach(e=>{const t=e.split("|"),o={offset:Number(t[0]),hem:t[1]};t[2]&&(o.dst=t[2]);n[e].split(",").forEach(e=>{e=e.replace(/(^[0-9]+)\//,(e,t)=>(t=Number(t),r[t]+"/")),a[e]=o})}),a.utc={offset:0,hem:"n"};for(let e=-14;e<=14;e+=.5){let t=e;t>0&&(t="+"+t);let n="etc/gmt"+t;a[n]={offset:-1*e,hem:"n"},n="utc/gmt"+t,a[n]={offset:-1*e,hem:"n"}}const o=/(-?[0-9]+)h(rs)?/i,s=/(-?[0-9]+)/,i=/utc([\-+]?[0-9]+)/i,u=/gmt([\-+]?[0-9]+)/i,c=function(e){return(e=Number(e))>=-13&&e<=13?"etc/gmt"+(e=((e*=-1)>0?"+":"")+e):null};let h=(()=>{const e=(()=>{if("undefined"==typeof Intl||void 0===Intl.DateTimeFormat)return null;const e=Intl.DateTimeFormat();if(void 0===e||void 0===e.resolvedOptions)return null;const t=e.resolvedOptions().timeZone;return t?t.toLowerCase():null})();return null===e?"utc":e})();const l=Object.keys(a).reduce((e,t)=>{let n=t.split("/")[1]||"";return n=n.replace(/_/g," "),e[n]=t,e},{}),m=(e,t)=>{if(!e)return t.hasOwnProperty(h)||(console.warn(`Unrecognized IANA id '${h}'. Setting fallback tz to UTC.`),h="utc"),h;"string"!=typeof e&&console.error("Timezone must be a string - recieved: '",e,"'\n");let n=e.trim();if(n=n.toLowerCase(),!0===t.hasOwnProperty(n))return n;if(n=(e=>(e=(e=(e=(e=(e=e.replace(/ time/g,"")).replace(/ (standard|daylight|summer)/g,"")).replace(/\b(east|west|north|south)ern/g,"$1")).replace(/\b(africa|america|australia)n/g,"$1")).replace(/\beuropean/g,"europe")).replace(/islands/g,"island"))(n),!0===t.hasOwnProperty(n))return n;if(!0===l.hasOwnProperty(n))return l[n];if(!0===/[0-9]/.test(n)){const e=function(e){let t=e.match(o);if(null!==t)return c(t[1]);if(t=e.match(i),null!==t)return c(t[1]);if(t=e.match(u),null!==t){const e=-1*Number(t[1]);return c(e)}return t=e.match(s),null!==t?c(t[1]):null}(n);if(e)return e}throw new Error("Spacetime: Cannot find timezone named: '"+e+"'. Please enter an IANA timezone id.")};function d(e){return e%4==0&&e%100!=0||e%400==0}function f(e){return"[object Date]"===Object.prototype.toString.call(e)&&!isNaN(e.valueOf())}function p(e){return"[object Object]"===Object.prototype.toString.call(e)}function y(e,t=2){return(e+="").length>=t?e:new Array(t-e.length+1).join("0")+e}function g(e){const t=e%10,n=e%100;return 1===t&&11!==n?e+"st":2===t&&12!==n?e+"nd":3===t&&13!==n?e+"rd":e+"th"}function b(e){return e=(e=String(e)).replace(/([0-9])(st|nd|rd|th)$/i,"$1"),parseInt(e,10)}function k(e=""){return"day"===(e=(e=(e=(e=e.toLowerCase().trim()).replace(/ies$/,"y")).replace(/s$/,"")).replace(/-/g,""))||"days"===e?"date":"min"===e||"mins"===e?"minute":e}function w(e){return"number"==typeof e?e:f(e)?e.getTime():e.epoch||0===e.epoch?e.epoch:null}function v(e,t){return!1===p(e)?t.clone().set(e):e}function z(e,t=""){const n=e>0?"+":"-",r=Math.abs(e);return`${n}${y(parseInt(""+r,10))}${t}${y(r%1*60)}`}const _={year:(new Date).getFullYear(),month:0,date:1},$=["year","month","date","hour","minute","second","millisecond"];var j={parseArray:(e,t,n)=>{if(0===t.length)return e;for(let r=0;r<$.length;r++){const a=t[r]||n[$[r]]||_[$[r]]||0;e=e[$[r]](a)}return e},parseObject:(e,t)=>{if(0===Object.keys(t).length)return e;(t=Object.assign({},_,t)).timezone&&(e.tz=t.timezone);for(let n=0;n<$.length;n++){const r=$[n];void 0!==t[r]&&(e=e[r](t[r]))}return e},parseNumber:function(e,t){return t>0&&t<25e8&&!1===e.silent&&(console.warn(" - Warning: You are setting the date to January 1970."),console.warn(" - did input seconds instead of milliseconds?")),e.epoch=t,e}};const O=function(e){return e.epoch=Date.now(),Object.keys(e._today||{}).forEach(t=>{"function"==typeof e[t]&&(e=e[t](e._today[t]))}),e},D={now:e=>O(e),today:e=>O(e),tonight:e=>e=(e=O(e)).hour(18),tomorrow:e=>e=(e=(e=O(e)).add(1,"day")).startOf("day"),yesterday:e=>e=(e=(e=O(e)).subtract(1,"day")).startOf("day"),christmas:e=>{const t=O(e).year();return e=e.set([t,11,25,18,0,0])},"new years":e=>{const t=O(e).year();return e=e.set([t,11,31,18,0,0])}};D["new years eve"]=D["new years"];const M={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5};M.date=M.day,M.month=25488e5,M.week=6048e5,M.year=3154e7,Object.keys(M).forEach(e=>{M[e+"s"]=M[e]});const S=(e,t,n,r,a)=>{const o=e.d[n]();if(o===t)return;const s=null===a?null:e.d[a](),i=e.epoch,u=t-o;e.epoch+=M[r]*u,"day"===r&&Math.abs(u)>28&&t<28&&(e.epoch+=M.hour),null!==a&&s!==e.d[a]()&&(e.epoch=i);const c=M[r]/2;for(;e.d[n]()<t;)e.epoch+=c;for(;e.d[n]()>t;)e.epoch-=c;null!==a&&s!==e.d[a]()&&(e.epoch=i)},q={year:{valid:e=>e>-4e3&&e<4e3,walkTo:(e,t)=>S(e,t,"getFullYear","year",null)},month:{valid:e=>e>=0&&e<=11,walkTo:(e,t)=>{const n=e.d,r=n.getMonth(),a=e.epoch,o=n.getFullYear();if(r===t)return;const s=t-r;for(e.epoch+=M.day*(28*s),o!==e.d.getFullYear()&&(e.epoch=a);e.d.getMonth()<t;)e.epoch+=M.day;for(;e.d.getMonth()>t;)e.epoch-=M.day}},date:{valid:e=>e>0&&e<=31,walkTo:(e,t)=>S(e,t,"getDate","day","getMonth")},hour:{valid:e=>e>=0&&e<24,walkTo:(e,t)=>S(e,t,"getHours","hour","getDate")},minute:{valid:e=>e>=0&&e<60,walkTo:(e,t)=>S(e,t,"getMinutes","minute","getHours")},second:{valid:e=>e>=0&&e<60,walkTo:(e,t)=>{e.epoch=e.seconds(t).epoch}},millisecond:{valid:e=>e>=0&&e<1e3,walkTo:(e,t)=>{e.epoch=e.milliseconds(t).epoch}}},N=(e,t)=>{const n=Object.keys(q),r=e.clone();for(let a=0;a<n.length;a++){const o=n[a];let s=t[o];if(void 0===s&&(s=r[o]()),"string"==typeof s&&(s=parseInt(s,10)),!q[o].valid(s))return e.epoch=null,void(!1===e.silent&&console.warn("invalid "+o+": "+s));q[o].walkTo(e,s)}},I=[31,28,31,30,31,30,31,31,30,31,30,31];let T=["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"],C=["january","february","march","april","may","june","july","august","september","october","november","december"];function E(){return T}function x(){return function(){const e={sep:8};for(let t=0;t<T.length;t++)e[T[t]]=t;for(let t=0;t<C.length;t++)e[C[t]]=t;return e}()}const A=(e,t)=>{if(!t)return e;t=t.trim().toLowerCase();let n=0;if(/^[+-]?[0-9]{2}:[0-9]{2}$/.test(t)&&(!0===/:00/.test(t)&&(t=t.replace(/:00/,"")),!0===/:30/.test(t)&&(t=t.replace(/:30/,".5"))),/^[+-]?[0-9]{4}$/.test(t)&&(t=t.replace(/30$/,".5")),n=parseFloat(t),Math.abs(n)>100&&(n/=100),0===n||"Z"===t||"z"===t)return e.tz="etc/gmt",e;n*=-1,n>=0&&(n="+"+n);const r="etc/gmt"+n;return e.timezones[r]&&(e.tz=r),e},Y=(e,t="")=>{let n=(t=t.replace(/^\s+/,"").toLowerCase()).match(/([0-9]{1,2}):([0-9]{1,2}):?([0-9]{1,2})?[:.]?([0-9]{1,4})?/);if(null!==n){let[,r,a,o,s]=n;if(r=Number(r),r<0||r>24)return e.startOf("day");if(a=Number(a),n[2].length<2||a<0||a>59)return e.startOf("day");e=(e=(e=(e=e.hour(r)).minute(a)).seconds(o||0)).millisecond(function(e=""){return(e=String(e)).length>3?e=e.substring(0,3):1===e.length?e+="00":2===e.length&&(e+="0"),Number(e)||0}(s));const i=t.match(/[0-9] ?(am|pm)\b/);return null!==i&&i[1]&&(e=e.ampm(i[1])),e}if(n=t.match(/([0-9]+) ?(am|pm)/),null!==n&&n[1]){const t=Number(n[1]);return t>12||t<1?e.startOf("day"):e=(e=(e=e.hour(n[1]||0)).ampm(n[2])).startOf("hour")}return e=e.startOf("day")},F=x(),P=e=>{if(!0!==I.hasOwnProperty(e.month))return!1;if(1===e.month)return!!(d(e.year)&&e.date<=29)||e.date<=28;const t=I[e.month]||0;return e.date<=t},L=(e="",t)=>{if(e=e.trim(),!0===/^'[0-9][0-9]$/.test(e)){const t=Number(e.replace(/'/,""));return t>50?1900+t:2e3+t}let n=parseInt(e,10);return!n&&t&&(n=t.year),n=n||(new Date).getFullYear(),n},U=function(e){return"sept"===(e=e.toLowerCase().trim())?F.sep:F[e]};var B=[{reg:/^([0-9]{1,2})[-/.]([0-9]{1,2})[\-/.]?([0-9]{4})?( [0-9]{1,2}:[0-9]{2}:?[0-9]{0,2} ?(am|pm|gmt))?$/i,parse:(e,t)=>{let n=parseInt(t[1],10)-1,r=parseInt(t[2],10);(e.british||n>=12)&&(r=parseInt(t[1],10),n=parseInt(t[2],10)-1);const a={date:r,month:n,year:L(t[3],e._today)||(new Date).getFullYear()};return!1===P(a)?(e.epoch=null,e):(N(e,a),e=Y(e,t[4]))}},{reg:/^([a-z]+)[\-/. ]([0-9]{1,2})[\-/. ]?([0-9]{4}|'[0-9]{2})?( [0-9]{1,2}(:[0-9]{0,2})?(:[0-9]{0,3})? ?(am|pm)?)?$/i,parse:(e,t)=>{const n={year:L(t[3],e._today),month:U(t[1]),date:b(t[2]||"")};return!1===P(n)?(e.epoch=null,e):(N(e,n),e=Y(e,t[4]))}},{reg:/^([a-z]+) ([0-9]{1,2})( [0-9]{4})?( ([0-9:]+( ?am| ?pm| ?gmt)?))?$/i,parse:(e,t)=>{const n={year:L(t[3],e._today),month:U(t[1]),date:b(t[2]||"")};return!1===P(n)?(e.epoch=null,e):(N(e,n),e=Y(e,t[4]))}},{reg:/^([a-z]+) ([0-9]{1,2}) ([0-9]{1,2}:[0-9]{2}:?[0-9]{0,2})( \+[0-9]{4})?( [0-9]{4})?$/i,parse:(e,t)=>{const[,n,r,a,o,s]=t,i={year:L(s,e._today),month:U(n),date:b(r||"")};return!1===P(i)?(e.epoch=null,e):(N(e,i),e=A(e,o),e=Y(e,a))}}],H=[{reg:/^([0-9]{4})[\-/]([0-9]{2})$/,parse:(e,t)=>{const n={year:t[1],month:parseInt(t[2],10)-1,date:1};return!1===P(n)?(e.epoch=null,e):(N(e,n),e=Y(e,t[4]))}},{reg:/^([a-z]+) ([0-9]{4})$/i,parse:(e,t)=>{const n={year:L(t[2],e._today),month:U(t[1]),date:e._today.date||1};return!1===P(n)?(e.epoch=null,e):(N(e,n),e=Y(e,t[4]))}},{reg:/^(q[0-9])( of)?( [0-9]{4})?/i,parse:(e,t)=>{const n=t[1]||"";e=e.quarter(n);let r=t[3]||"";return r&&(r=r.trim(),e=e.year(r)),e}},{reg:/^(spring|summer|winter|fall|autumn)( of)?( [0-9]{4})?/i,parse:(e,t)=>{const n=t[1]||"";e=e.season(n);let r=t[3]||"";return r&&(r=r.trim(),e=e.year(r)),e}},{reg:/^[0-9,]+ ?b\.?c\.?$/i,parse:(e,t)=>{let n=t[0]||"";n=n.replace(/^([0-9,]+) ?b\.?c\.?$/i,"-$1");const r=new Date,a={year:parseInt(n.trim(),10),month:r.getMonth(),date:r.getDate()};return!1===P(a)?(e.epoch=null,e):(N(e,a),e=Y(e))}},{reg:/^[0-9,]+ ?(a\.?d\.?|c\.?e\.?)$/i,parse:(e,t)=>{let n=t[0]||"";n=n.replace(/,/g,"");const r=new Date,a={year:parseInt(n.trim(),10),month:r.getMonth(),date:r.getDate()};return!1===P(a)?(e.epoch=null,e):(N(e,a),e=Y(e))}},{reg:/^[0-9]{4}( ?a\.?d\.?)?$/i,parse:(e,t)=>{const n=e._today;n.month&&!n.date&&(n.date=1);const r=new Date,a={year:L(t[0],n),month:n.month||r.getMonth(),date:n.date||r.getDate()};return!1===P(a)?(e.epoch=null,e):(N(e,a),e=Y(e))}}],Z=[].concat([{reg:/^(-?0{0,2}[0-9]{3,4})-([0-9]{1,2})-([0-9]{1,2})[T| ]([0-9.:]+)(Z|[0-9-+:]+)?(\[.*?\])?(\[.*?\])?$/i,parse:(e,t)=>{const n={year:t[1],month:parseInt(t[2],10)-1,date:t[3]};if(!1===P(n))return e.epoch=null,e;if(t[6]){const n=t[6].trim().replace(/[[\]]/g,"");n&&(e=e.timezone(n))}else A(e,t[5]);return N(e,n),e=Y(e,t[4])}},{reg:/^([0-9]{4})[\-/. ]([0-9]{1,2})[\-/. ]([0-9]{1,2})( [0-9]{1,2}(:[0-9]{0,2})?(:[0-9]{0,3})? ?(am|pm)?)?$/i,parse:(e,t)=>{const n={year:t[1],month:parseInt(t[2],10)-1,date:parseInt(t[3],10)};return n.month>=12&&(n.date=parseInt(t[2],10),n.month=parseInt(t[3],10)-1),!1===P(n)?(e.epoch=null,e):(N(e,n),e=Y(e,t[4]))}},{reg:/^([0-9]{4})[\-/. ]([a-z]+)[\-/. ]([0-9]{1,2})( [0-9]{1,2}(:[0-9]{0,2})?(:[0-9]{0,3})? ?(am|pm)?)?$/i,parse:(e,t)=>{const n={year:L(t[1],e._today),month:U(t[2]),date:b(t[3]||"")};return!1===P(n)?(e.epoch=null,e):(N(e,n),e=Y(e,t[4]))}}],B,[{reg:/^([0-9]{1,2})[-/]([a-z]+)[\-/]?([0-9]{4})?$/i,parse:(e,t)=>{const n={year:L(t[3],e._today),month:U(t[2]),date:b(t[1]||"")};return!1===P(n)?(e.epoch=null,e):(N(e,n),e=Y(e,t[4]))}},{reg:/^([0-9]{1,2})( [a-z]+)( [0-9]{4}| '[0-9]{2})? ?([0-9]{1,2}:[0-9]{2}:?[0-9]{0,2} ?(am|pm|gmt))?$/i,parse:(e,t)=>{const n={year:L(t[3],e._today),month:U(t[2]),date:b(t[1])};return n.month&&!1!==P(n)?(N(e,n),e=Y(e,t[4])):(e.epoch=null,e)}},{reg:/^([0-9]{1,2})[. \-/]([a-z]+)[. \-/]([0-9]{4})?( [0-9]{1,2}(:[0-9]{0,2})?(:[0-9]{0,3})? ?(am|pm)?)?$/i,parse:(e,t)=>{const n={date:Number(t[1]),month:U(t[2]),year:Number(t[3])};return!1===P(n)?(e.epoch=null,e):(N(e,n),e=e.startOf("day"),e=Y(e,t[4]))}}],H);const{parseArray:Q,parseObject:G,parseNumber:V}=j,W={year:(new Date).getFullYear(),month:0,date:1},J=(e,t)=>{const n=e._today||W;if("number"==typeof t)return V(e,t);if(e.epoch=Date.now(),e._today&&p(e._today)&&Object.keys(e._today).length>0){const t=G(e,n);t.isValid()&&(e.epoch=t.epoch)}if(null==t||""===t)return e;if(!0===f(t))return e.epoch=t.getTime(),e;if(!0===function(e){return"[object Array]"===Object.prototype.toString.call(e)}(t))return e=Q(e,t,n);if(!0===p(t)){if(t.epoch)return e.epoch=t.epoch,e.tz=t.tz,e;const r=Object.assign({},n,t);return e=G(e,r)}return"string"!=typeof t?e:(t=t.replace(/\b(mon|tues?|wed|wednes|thur?s?|fri|sat|satur|sun)(day)?\b/i,"").replace(/([0-9])(th|rd|st|nd)/,"$1").replace(/,/g,"").replace(/ +/g," ").trim(),!0===D.hasOwnProperty(t)?e=D[t](e):function(e,t,n){for(let r=0;r<Z.length;r++){const a=t.match(Z[r].reg);if(a){const t=Z[r].parse(e,a,n);if(null!==t&&t.isValid())return t}}return!1===e.silent&&console.warn("Warning: couldn't parse date-string: '"+t+"'"),e.epoch=null,e}(e,t))};let K=["sun","mon","tue","wed","thu","fri","sat"],R=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"];function X(){return K}function ee(){return R}const te={mo:1,tu:2,we:3,th:4,fr:5,sa:6,su:7,tues:2,weds:3,wedn:3,thur:4,thurs:4};let ne=!0;const re=e=>{const t=e.timezone().current.offset;return t?z(t,":"):"Z"},ae=e=>ne?function(e){return e?e[0].toUpperCase()+e.substr(1):""}(e):e,oe={day:e=>ae(e.dayName()),"day-short":e=>ae(X()[e.day()]),"day-number":e=>e.day(),"day-ordinal":e=>g(e.day()),"day-pad":e=>y(e.day()),date:e=>e.date(),"date-ordinal":e=>g(e.date()),"date-pad":e=>y(e.date()),month:e=>ae(e.monthName()),"month-short":e=>ae(E()[e.month()]),"month-number":e=>e.month(),"month-ordinal":e=>g(e.month()),"month-pad":e=>y(e.month()),"iso-month":e=>y(e.month()+1),year:e=>{let t=e.year();return t>0?t:(t=Math.abs(t),t+" BC")},"year-short":e=>{let t=e.year();return t>0?`'${String(e.year()).substr(2,4)}`:(t=Math.abs(t),t+" BC")},"iso-year":e=>{const t=e.year(),n=t<0;let r=y(Math.abs(t),4);return n&&(r=y(r,6),r="-"+r),r},time:e=>e.time(),"time-24":e=>`${e.hour24()}:${y(e.minute())}`,hour:e=>e.hour12(),"hour-pad":e=>y(e.hour12()),"hour-24":e=>e.hour24(),"hour-24-pad":e=>y(e.hour24()),minute:e=>e.minute(),"minute-pad":e=>y(e.minute()),second:e=>e.second(),"second-pad":e=>y(e.second()),millisecond:e=>e.millisecond(),"millisecond-pad":e=>y(e.millisecond(),3),ampm:e=>e.ampm(),AMPM:e=>e.ampm().toUpperCase(),quarter:e=>"Q"+e.quarter(),season:e=>e.season(),era:e=>e.era(),json:e=>e.json(),timezone:e=>e.timezone().name,offset:e=>re(e),numeric:e=>`${e.year()}/${y(e.month()+1)}/${y(e.date())}`,"numeric-us":e=>`${y(e.month()+1)}/${y(e.date())}/${e.year()}`,"numeric-uk":e=>`${y(e.date())}/${y(e.month()+1)}/${e.year()}`,"mm/dd":e=>`${y(e.month()+1)}/${y(e.date())}`,iso:e=>`${e.format("iso-year")}-${y(e.month()+1)}-${y(e.date())}T${y(e.h24())}:${y(e.minute())}:${y(e.second())}.${y(e.millisecond(),3)}${re(e)}`,"iso-short":e=>{const t=y(e.month()+1),n=y(e.date());var r;return`${(r=e.year())>=0?y(r,4):"-"+y(r=Math.abs(r),4)}-${t}-${n}`},"iso-utc":e=>new Date(e.epoch).toISOString(),"iso-full":e=>{let t=e.format("iso");const n=e.timezone().name;return n&&(t+=`[${n}]`),t},sql:e=>`${e.format("iso-year")}-${y(e.month()+1)}-${y(e.date())} ${y(e.h24())}:${y(e.minute())}:${y(e.second())}`,nice:e=>`${E()[e.month()]} ${g(e.date())}, ${e.time()}`,"nice-24":e=>`${E()[e.month()]} ${g(e.date())}, ${e.hour24()}:${y(e.minute())}`,"nice-year":e=>`${E()[e.month()]} ${g(e.date())}, ${e.year()}`,"nice-day":e=>`${X()[e.day()]} ${ae(E()[e.month()])} ${g(e.date())}`,"nice-full":e=>`${e.dayName()} ${ae(e.monthName())} ${g(e.date())}, ${e.time()}`,"nice-full-24":e=>`${e.dayName()} ${ae(e.monthName())} ${g(e.date())}, ${e.hour24()}:${y(e.minute())}`},se={"day-name":"day","month-name":"month","iso 8601":"iso","iso 9075":"sql","time-h24":"time-24","time-12":"time","time-h12":"time",tz:"timezone",iana:"timezone","day-num":"day-number","month-num":"month-number","month-iso":"iso-month","year-iso":"iso-year","nice-short":"nice","nice-short-24":"nice-24",mdy:"numeric-us",dmy:"numeric-uk",ymd:"numeric","yyyy/mm/dd":"numeric","mm/dd/yyyy":"numeric-us","dd/mm/yyyy":"numeric-us","little-endian":"numeric-uk","big-endian":"numeric","day-nice":"nice-day"};Object.keys(se).forEach(e=>oe[e]=oe[se[e]]);const ie=(e,t="")=>{if(!0!==e.isValid())return"";if(oe.hasOwnProperty(t)){let n=oe[t](e)||"";return"json"!==t&&(n=String(n),"ampm"!==t.toLowerCase()&&(n=ae(n))),n}if(-1!==t.indexOf("{")){const n=/\{(.+?)\}/g;return t=t.replace(n,(t,n)=>{if("AMPM"!==(n=n.trim())&&(n=n.toLowerCase()),oe.hasOwnProperty(n)){const t=String(oe[n](e));return"ampm"!==n.toLowerCase()?ae(t):t}return""}),t}return e.format("iso-short")},ue={G:e=>e.era(),GG:e=>e.era(),GGG:e=>e.era(),GGGG:e=>"AD"===e.era()?"Anno Domini":"Before Christ",y:e=>e.year(),yy:e=>y(Number(String(e.year()).substr(2,4))),yyy:e=>e.year(),yyyy:e=>e.year(),yyyyy:e=>"0"+e.year(),Q:e=>e.quarter(),QQ:e=>e.quarter(),QQQ:e=>e.quarter(),QQQQ:e=>e.quarter(),M:e=>e.month()+1,MM:e=>y(e.month()+1),MMM:e=>e.format("month-short"),MMMM:e=>e.format("month"),w:e=>e.week(),ww:e=>y(e.week()),d:e=>e.date(),dd:e=>y(e.date()),D:e=>e.dayOfYear(),DD:e=>y(e.dayOfYear()),DDD:e=>y(e.dayOfYear(),3),E:e=>e.format("day-short"),EE:e=>e.format("day-short"),EEE:e=>e.format("day-short"),EEEE:e=>e.format("day"),EEEEE:e=>e.format("day")[0],e:e=>e.day(),ee:e=>e.day(),eee:e=>e.format("day-short"),eeee:e=>e.format("day"),eeeee:e=>e.format("day")[0],a:e=>e.ampm().toUpperCase(),aa:e=>e.ampm().toUpperCase(),aaa:e=>e.ampm().toUpperCase(),aaaa:e=>e.ampm().toUpperCase(),h:e=>e.h12(),hh:e=>y(e.h12()),H:e=>e.hour(),HH:e=>y(e.hour()),m:e=>e.minute(),mm:e=>y(e.minute()),s:e=>e.second(),ss:e=>y(e.second()),SSS:e=>y(e.millisecond(),3),A:e=>e.epoch-e.startOf("day").epoch,z:e=>e.timezone().name,zz:e=>e.timezone().name,zzz:e=>e.timezone().name,zzzz:e=>e.timezone().name,Z:e=>z(e.timezone().current.offset),ZZ:e=>z(e.timezone().current.offset),ZZZ:e=>z(e.timezone().current.offset),ZZZZ:e=>z(e.timezone().current.offset,":")},ce=(e,t,n)=>{let r=e,a=t;for(let o=0;o<n;o+=1)ue[r]=ue[a],r+=e,a+=t};ce("q","Q",4),ce("L","M",4),ce("Y","y",4),ce("c","e",4),ce("k","H",2),ce("K","h",2),ce("S","s",2),ce("v","z",4),ce("V","Z",4);const he=["year","season","quarter","month","week","day","quarterHour","hour","minute"],le=function(e,t){const n=e.clone().startOf(t),r=e.clone().endOf(t).epoch-n.epoch,a=(e.epoch-n.epoch)/r;return parseFloat(a.toFixed(2))},me=(e,t,n)=>{let r=0;for(e=e.clone();e.isBefore(t);)e=e.add(1,n),r+=1;return e.isAfter(t,n)&&(r-=1),r},de=(e,t,n)=>e.isBefore(t)?me(e,t,n):-1*me(t,e,n),fe=function(e,t,n){t=v(t,e);let r=!1;if(e.isAfter(t)){const n=e;e=t,t=n,r=!0}let a=function(e,t){const n=t.epoch-e.epoch,r={milliseconds:n,seconds:parseInt(n/1e3,10)};r.minutes=parseInt(r.seconds/60,10),r.hours=parseInt(r.minutes/60,10);let a=e.clone();return r.years=((e,t)=>{let n=t.year()-e.year();return(e=e.year(t.year())).isAfter(t)&&(n-=1),n})(a,t),a=e.add(r.years,"year"),r.months=12*r.years,a=e.add(r.months,"month"),r.months+=de(a,t,"month"),r.quarters=4*r.years,r.quarters+=parseInt(r.months%12/3,10),r.weeks=52*r.years,a=e.add(r.weeks,"week"),r.weeks+=de(a,t,"week"),r.days=7*r.weeks,a=e.add(r.days,"day"),r.days+=de(a,t,"day"),r}(e,t);return r&&(a=function(e){return Object.keys(e).forEach(t=>{e[t]*=-1}),e}(a)),n?(n=k(n),!0!==/s$/.test(n)&&(n+="s"),"dates"===n&&(n="days"),a[n]):a},pe=e=>Math.abs(e)||0;let ye={second:"second",seconds:"seconds",minute:"minute",minutes:"minutes",hour:"hour",hours:"hours",day:"day",days:"days",month:"month",months:"months",year:"year",years:"years"};function ge(e){return ye[e]||""}let be="past",ke="future",we="present",ve="now",ze="almost",_e="over",$e=e=>`${e} ago`,je=e=>`in ${e}`;function Oe(e){return $e(e)}function De(e){return je(e)}function Me(){return ve}const Se={months:{almost:10,over:4},days:{almost:25,over:10},hours:{almost:20,over:8},minutes:{almost:50,over:20},seconds:{almost:50,over:20}};function qe(e,t){return 1===e?e+" "+ge(t.slice(0,-1)):e+" "+ge(t)}const Ne=function(e){let t=null,n=null;const r=[],a=[];return Object.keys(e).forEach((o,s,i)=>{const u=Math.abs(e[o]);if(0===u)return;r.push(u+o[0]);const c=qe(u,o);if(a.push(c),!t){if(t=c,n=c,s>4)return;const r=i[s+1],a=Math.abs(e[r]);a>Se[r].almost?(t=qe(u+1,o),n=ze+" "+t):a>Se[r].over&&(n=_e+" "+c)}}),{qualified:n,rounded:t,abbreviated:r,englishValues:a}},Ie=(e,t)=>{const n=function(e,t){const n=e.isBefore(t),r=n?t:e;let a=n?e:t;a=a.clone();const o={years:0,months:0,days:0,hours:0,minutes:0,seconds:0};return Object.keys(o).forEach(e=>{if(a.isSame(r,e))return;const t=a.diff(r,e);a=a.add(t,e),o[e]=t}),n&&Object.keys(o).forEach(e=>{0!==o[e]&&(o[e]*=-1)}),o}(e,t=v(t,e));if(!0===Object.keys(n).every(e=>!n[e]))return{diff:n,rounded:Me(),qualified:Me(),precise:Me(),abbreviated:[],iso:"P0Y0M0DT0H0M0S",direction:we};let r,a=ke,{rounded:o,qualified:s}=Ne(n);const{englishValues:i,abbreviated:u}=Ne(n);r=i.splice(0,2).join(", "),!0===e.isAfter(t)?(o=Oe(o),s=Oe(s),r=Oe(r),a=be):(o=De(o),s=De(s),r=De(r));const c=function(e){let t="P";return t+=pe(e.years)+"Y",t+=pe(e.months)+"M",t+=pe(e.days)+"DT",t+=pe(e.hours)+"H",t+=pe(e.minutes)+"M",t+=pe(e.seconds)+"S",t}(n);return{diff:n,rounded:o,qualified:s,precise:r,abbreviated:u,iso:c,direction:a}};var Te={north:[["spring",2,1],["summer",5,1],["fall",8,1],["autumn",8,1],["winter",11,1]],south:[["fall",2,1],["autumn",2,1],["winter",5,1],["spring",8,1],["summer",11,1]]},Ce=[null,[0,1],[3,1],[6,1],[9,1]];const Ee={second:e=>(N(e,{millisecond:0}),e),minute:e=>(N(e,{second:0,millisecond:0}),e),quarterhour:e=>{const t=e.minutes();return e=t>=45?e.minutes(45):t>=30?e.minutes(30):t>=15?e.minutes(15):e.minutes(0),N(e,{second:0,millisecond:0}),e},hour:e=>(N(e,{minute:0,second:0,millisecond:0}),e),day:e=>(N(e,{hour:0,minute:0,second:0,millisecond:0}),e),week:e=>{const t=e.clone();return(e=e.day(e._weekStart)).isAfter(t)&&(e=e.subtract(1,"week")),N(e,{hour:0,minute:0,second:0,millisecond:0}),e},month:e=>(N(e,{date:1,hour:0,minute:0,second:0,millisecond:0}),e),quarter:e=>{const t=e.quarter();return Ce[t]&&N(e,{month:Ce[t][0],date:Ce[t][1],hour:0,minute:0,second:0,millisecond:0}),e},season:e=>{const t=e.season();let n="north";"South"===e.hemisphere()&&(n="south");for(let r=0;r<Te[n].length;r++)if(Te[n][r][0]===t){let a=e.year();return"winter"===t&&e.month()<3&&(a-=1),N(e,{year:a,month:Te[n][r][1],date:Te[n][r][2],hour:0,minute:0,second:0,millisecond:0}),e}return e},year:e=>(N(e,{month:0,date:1,hour:0,minute:0,second:0,millisecond:0}),e),decade:e=>{const t=(e=e.startOf("year")).year(),n=10*parseInt(t/10,10);return e=e.year(n)},century:e=>{const t=(e=e.startOf("year")).year(),n=100*parseInt(t/100,10);return e=e.year(n)}};Ee.date=Ee.day;const xe=function(e,t,n,r=1){if(!t||!n)return[];if(t=k(t),n=e.clone().set(n),e.isAfter(n)){const t=e;e=n,n=t}if(e.diff(n,t)<r)return[];let a=e.clone();if(function(e){return!!X().find(t=>t===e)||!!ee().find(t=>t===e)}(t))a=a.next(t),t="week";else{a.startOf(t).isBefore(e)&&(a=a.next(t))}const o=[];for(;a.isBefore(n);)o.push(a),a=a.add(r,t);return o},Ae=e=>{const n=e.timezones;let r=e.tz;if(!1===n.hasOwnProperty(r)&&(r=m(e.tz,n)),null===r)return!1===e.silent&&console.warn("Warn: could not find given or local timezone - '"+e.tz+"'"),{current:{epochShift:0}};const a=n[r],o={name:(s=r,"Utc"===(s=(s=(s=(s=(s=(s=(s=(s=s[0].toUpperCase()+s.substr(1)).replace(/[/_-]([a-z])/gi,e=>e.toUpperCase())).replace(/_(of|es)_/i,e=>e.toLowerCase())).replace(/\/gmt/i,"/GMT")).replace(/\/utc/i,"/UTC")).replace(/\/Dumontdurville$/i,"/DumontDUrville")).replace(/\/Mcmurdo$/i,"/McMurdo")).replace(/\/Port-au-prince$/i,"/Port-au-Prince"))&&(s="UTC"),s),hasDst:Boolean(a.dst),default_offset:a.offset,hemisphere:"s"===a.hem?"South":"North",current:{}};var s,i;if(o.hasDst){const e=(i=a.dst)?i.split("->"):[];o.change={start:e[0],back:e[1]}}const u=a.offset;let c=u;return!0===o.hasDst&&(c="North"===o.hemisphere?u-1:a.offset+1),!1===o.hasDst?(o.current.offset=u,o.current.isDST=!1):!0===t(e.epoch,o.change.start,o.change.back,u,c)?(o.current.offset=u,o.current.isDST="North"===o.hemisphere):(o.current.offset=c,o.current.isDST="South"===o.hemisphere),o},Ye=["century","decade","year","month","date","day","hour","minute","second","millisecond"],Fe={set:function(e,t){let n=this.clone();return n=J(n,e),t&&(n.tz=m(t,n.timezones)),n},timezone:function(e){if(void 0!==e){const t=this.json();return t.timezone=e,this.set(t,e)}return Ae(this)},isDST:function(){return Ae(this).current.isDST},hasDST:function(){return Ae(this).hasDst},offset:function(){return 60*Ae(this).current.offset},hemisphere:function(){return Ae(this).hemisphere},format:function(e){return ie(this,e)},unixFmt:function(e){return((e,t)=>{let n=t.split("");return n=function(e){for(let t=0;t<e.length;t+=1)if("'"===e[t])for(let n=t+1;n<e.length;n+=1){if(e[n]&&(e[t]+=e[n]),"'"===e[n]){e[n]=null;break}e[n]=null}return e.filter(e=>e)}(n),n=function(e){for(let t=0;t<e.length;t+=1){const n=e[t];for(let r=t+1;r<e.length&&e[r]===n;r+=1)e[t]+=e[r],e[r]=null}return(e=e.filter(e=>e)).map(e=>("''"===e&&(e="'"),e))}(n),n.reduce((t,n)=>(void 0!==ue[n]?t+=ue[n](e)||"":(/^'.+'$/.test(n)&&(n=n.replace(/'/g,"")),t+=n),t),"")})(this,e)},startOf:function(e){return((e,t)=>{let n=e.clone();return t=k(t),Ee[t]?Ee[t](n):"summer"===t||"winter"===t?(n=n.season(t),Ee.season(n)):n})(this,e)},endOf:function(e){return((e,t)=>{let n=e.clone();return t=k(t),Ee[t]?(n=Ee[t](n),n=n.add(1,t),n=n.subtract(1,"millisecond"),n):n})(this,e)},leapYear:function(){return d(this.year())},progress:function(e){return((e,t)=>{if(t)return t=k(t),le(e,t);const n={};return he.forEach(t=>{n[t]=le(e,t)}),n})(this,e)},nearest:function(e){return((e,t)=>{const n=e.progress();return"quarterhour"===(t=k(t))&&(t="quarterHour"),void 0!==n[t]?(n[t]>.5&&(e=e.add(1,t)),e=e.startOf(t)):!1===e.silent&&console.warn("no known unit '"+t+"'"),e})(this,e)},diff:function(e,t){return fe(this,e,t)},since:function(e){return e||(e=this.clone().set()),Ie(this,e)},next:function(e){return this.add(1,e).startOf(e)},last:function(e){return this.subtract(1,e).startOf(e)},isValid:function(){return!(!this.epoch&&0!==this.epoch)&&!isNaN(this.d.getTime())},goto:function(e){const t=this.clone();return t.tz=m(e,t.timezones),t},every:function(e,t,n){if("object"==typeof e&&"string"==typeof t){const n=t;t=e,e=n}return xe(this,e,t,n)},isAwake:function(){const e=this.hour();return!(e<8||e>22)},isAsleep:function(){return!this.isAwake()},daysInMonth:function(){switch(this.month()){case 0:case 2:case 4:case 6:case 7:case 9:case 11:return 31;case 1:return this.leapYear()?29:28;case 3:case 5:case 8:case 10:return 30;default:throw new Error("Invalid Month state.")}},log:function(){return console.log(""),console.log(ie(this,"nice-short")),this},logYear:function(){return console.log(""),console.log(ie(this,"full-short")),this},json:function(e){if(void 0!==e){let t=this.clone();e.timezone&&(t.tz=e.timezone);for(let n=0;n<Ye.length;n++){const r=Ye[n];void 0!==e[r]&&(t=t[r](e[r]))}return t}const t=Ye.reduce((e,t)=>(e[t]=this[t](),e),{});return t.offset=this.timezone().current.offset,t.timezone=this.tz,t},debug:function(){const e=this.timezone();let t=this.format("MM")+" "+this.format("date-ordinal")+" "+this.year();return t+="\n - "+this.format("time"),console.log("\n\n",t+"\n - "+e.name+" ("+e.current.offset+")"),this},from:function(e){return(e=this.clone().set(e)).since(this)},fromNow:function(){return this.clone().set(Date.now()).since(this)},weekStart:function(e){if("number"==typeof e)return this._weekStart=e,this;if("string"==typeof e){e=e.toLowerCase().trim();let t=X().indexOf(e);-1===t&&(t=ee().indexOf(e)),-1===t&&(t=1),this._weekStart=t}else console.warn("Spacetime Error: Cannot understand .weekStart() input:",e);return this}};Fe.inDST=Fe.isDST,Fe.round=Fe.nearest,Fe.each=Fe.every;const Pe=e=>("string"==typeof e&&(e=parseInt(e,10)),e),Le=["year","month","date","hour","minute","second","millisecond"],Ue=(e,t,n)=>{const r=Le.indexOf(n),a=Le.slice(r,Le.length);for(let n=0;n<a.length;n++){const r=t[a[n]]();e[a[n]](r)}return e},Be=function(e,t,n,r){return!0===n&&e.isBefore(t)?e=e.add(1,r):!1===n&&e.isAfter(t)&&(e=e.minus(1,r)),e},He=function(e,t,n){t=Pe(t);const r=e.clone(),a=(e.minute()-t)*M.minute;return e.epoch-=a,Ue(e,r,"second"),(e=Be(e,r,n,"hour")).epoch},Ze=function(e,t,n){(t=Pe(t))>=24?t=24:t<0&&(t=0);const r=e.clone();let a=e.hour()-t,o=a*M.hour;return e.epoch-=o,e.date()!==r.date()&&(e=r.clone(),a>1&&(a-=1),a<1&&(a+=1),o=a*M.hour,e.epoch-=o),N(e,{hour:t}),Ue(e,r,"minute"),(e=Be(e,r,n,"day")).epoch},Qe=function(e,t){return"string"==typeof t&&/^'[0-9]{2}$/.test(t)&&(t=t.replace(/'/,"").trim(),t=(t=Number(t))>30?1900+t:2e3+t),t=Pe(t),N(e,{year:t}),e.epoch},Ge=function(e,t,n){const r=e.clone();return 1===(t=Pe(t))&&"december"===e.monthName()&&e.date()>=29&&1===e.week()?e:("december"===(e=(e=(e=e.month(0)).date(1)).day("monday",!1)).monthName()&&e.date()<29&&(e=e.add(1,"week")),t-=1,e=e.add(t,"weeks"),e=Be(e,r,n,"year"))};let Ve="am",We="pm";const Je={millisecond:function(e){if(void 0!==e){const t=this.clone();return t.epoch=function(e,t){t=Pe(t);const n=e.millisecond()-t;return e.epoch-n}(t,e),t}return this.d.getMilliseconds()},second:function(e,t){if(void 0!==e){const n=this.clone();return n.epoch=function(e,t,n){t=Pe(t);const r=e.clone(),a=(e.second()-t)*M.second;return e.epoch=e.epoch-a,(e=Be(e,r,n,"minute")).epoch}(n,e,t),n}return this.d.getSeconds()},minute:function(e,t){if(void 0!==e){const n=this.clone();return n.epoch=He(n,e,t),n}return this.d.getMinutes()},hour:function(e,t){const n=this.d;if(void 0!==e){const n=this.clone();return n.epoch=Ze(n,e,t),n}return n.getHours()},hourFloat:function(e,t){if(void 0!==e){const n=this.clone();let r=e%1;r*=60;const a=parseInt(e,10);return n.epoch=Ze(n,a,t),n.epoch=He(n,r,t),n}const n=this.d,r=n.getHours();let a=n.getMinutes();return a/=60,r+a},hour12:function(e,t){const n=this.d;if(void 0!==e){const n=this.clone(),r=(e=""+e).match(/^([0-9]+)(am|pm)$/);if(r){let e=parseInt(r[1],10);"pm"===r[2]&&(e+=12),n.epoch=Ze(n,e,t)}return n}let r=n.getHours();return r>12&&(r-=12),0===r&&(r=12),r},time:function(e,t){if(void 0!==e){const n=this.clone();return e=e.toLowerCase().trim(),n.epoch=function(e,t,n){let r=t.match(/([0-9]{1,2})[:h]([0-9]{1,2})(:[0-9]{1,2})? ?(am|pm)?/);if(!r){if(r=t.match(/([0-9]{1,2}) ?(am|pm)/),!r)return null;r.splice(2,0,"0"),r.splice(3,0,"")}let a=!1,o=parseInt(r[1],10),s=parseInt(r[2],10);s>=60&&(s=59),o>12&&(a=!0),!1===a&&("am"===r[4]&&12===o&&(o=0),"pm"===r[4]&&o<12&&(o+=12)),r[3]=r[3]||"",r[3]=r[3].replace(/:/,"");const i=parseInt(r[3],10)||0,u=e.clone();return e=(e=(e=(e=e.hour(o)).minute(s)).second(i)).millisecond(0),(e=Be(e,u,n,"day")).epoch}(n,e,t),n}return`${this.h12()}:${y(this.minute())}${this.ampm()}`},ampm:function(e,t){let n=Ve,r=this.hour();if(r>=12&&(n=We),"string"!=typeof e)return n;const a=this.clone();return e=e.toLowerCase().trim(),r>=12&&"am"===e?(r-=12,a.hour(r,t)):r<12&&"pm"===e?(r+=12,a.hour(r,t)):a},dayTime:function(e,t){if(void 0!==e){const n={morning:"7:00",breakfast:"7:00",noon:"12:00",lunch:"12:00",afternoon:"14:00",evening:"18:00",dinner:"18:00",night:"23:00",midnight:"00:00"};let r=this.clone();return e=(e=e||"").toLowerCase(),!0===n.hasOwnProperty(e)&&(r=r.time(n[e],t)),r}const n=this.hour();return n<6?"night":n<12?"morning":n<17?"afternoon":n<22?"evening":"night"},iso:function(e){return void 0!==e?this.set(e):this.format("iso")},isoFull:function(e){return void 0!==e?this.set(e):this.format("iso-full")},epochSeconds:function(e){return void 0!==e?(this.epoch=1e3*e,this):Math.floor(this.epoch/1e3)}},Ke={date:function(e,t){if(void 0!==e){const n=this.clone();return(e=parseInt(e,10))&&(n.epoch=function(e,t,n){if((t=Pe(t))>28){const n=e.month();let r=I[n];1===n&&29===t&&d(e.year())&&(r=29),t>r&&(t=r)}t<=0&&(t=1);const r=e.clone();return N(e,{date:t}),(e=Be(e,r,n,"month")).epoch}(n,e,t)),n}return this.d.getDate()},day:function(e,t){if(void 0===e)return this.d.getDay();const n=this.clone();let r=e;"string"==typeof e&&(e=e.toLowerCase(),te.hasOwnProperty(e)?r=te[e]:(r=X().indexOf(e),-1===r&&(r=ee().indexOf(e))));let a=this.d.getDay()-r;!0===t&&a>0&&(a-=7),!1===t&&a<0&&(a+=7);const o=this.subtract(a,"days");return N(o,{hour:n.hour(),minute:n.minute(),second:n.second()}),o},dayName:function(e,t){if(void 0===e)return ee()[this.day()];let n=this.clone();return n=n.day(e,t),n}},Re=e=>e=(e=(e=e.minute(0)).second(0)).millisecond(1),Xe=function(e){if(void 0!==e){if("string"==typeof e&&(e=e.replace(/([0-9])(th|rd|st|nd)/,"$1"),e=Number(e),isNaN(e)))return console.warn("Spacetime: Invalid millennium input"),this;e>0&&(e-=1);let t=1e3*e;return 0===t&&(t=1),this.year(t)}let t=Math.floor(this.year()/1e3);return t>=0&&(t+=1),t},et={dayOfYear:function(e,t){if(void 0!==e){const n=this.clone();return n.epoch=function(e,t,n){t=Pe(t);const r=e.clone();return(t-=1)<=0?t=0:t>=365&&(t=d(e.year())?365:364),e=(e=e.startOf("year")).add(t,"day"),Ue(e,r,"hour"),(e=Be(e,r,n,"year")).epoch}(n,e,t),n}let n=0;const r=this.d.getMonth();let a;for(let e=1;e<=r;e++)a=new Date,a.setDate(1),a.setFullYear(this.d.getFullYear()),a.setHours(1),a.setMinutes(1),a.setMonth(e),a.setHours(-2),n+=a.getDate();return n+this.d.getDate()},week:function(e,t){if(void 0!==e){let n=this.clone();return n=Ge(n,e,t),n=Re(n),n}const n=this.epoch;let r=this.clone();if("december"===r.monthName()&&r.date()>=29){if(Ge(r.add(15,"days"),1,!1).epoch<=r.epoch)return 1}if(r=r.month(0),r=r.date(1),r=Re(r),r=r.day("monday",!1),"december"===r.monthName()&&r.date()<29&&(r=r.add(1,"week")),r=r.minus(2,"hours"),r.epoch>n)return 1;let a=0;const o=4*this.month();for(r.epoch+=M.week*o,a+=o;a<=52;a++){if(r.epoch>n)return a;r=r.add(1,"week")}return 52},month:function(e,t){if(void 0!==e){const n=this.clone();return n.epoch=function(e,t,n){"string"==typeof t&&("sept"===t&&(t="sep"),t=x()[t.toLowerCase()]),(t=Pe(t))>=12&&(t=11),t<=0&&(t=0);let r=e.date();r>I[t]&&(r=I[t]);const a=e.clone();return N(e,{month:t,d:r}),(e=Be(e,a,n,"year")).epoch}(n,e,t),n}return this.d.getMonth()},monthName:function(e,t){if(void 0!==e){let n=this.clone();return n=n.month(e,t),n}return C[this.month()]},quarter:function(e,t){if(void 0!==e&&("string"==typeof e&&(e=e.replace(/^q/i,""),e=parseInt(e,10)),Ce[e])){let n=this.clone();const r=Ce[e][0];return n=n.month(r,t),n=n.date(1,t),n=n.startOf("day"),n}const n=this.d.getMonth();for(let e=1;e<Ce.length;e++)if(n<Ce[e][0])return e-1;return 4},season:function(e,t){let n="north";if("South"===this.hemisphere()&&(n="south"),void 0!==e){let r=this.clone();for(let a=0;a<Te[n].length;a++)e===Te[n][a][0]&&(r=r.month(Te[n][a][1],t),r=r.date(1),r=r.startOf("day"));return r}const r=this.d.getMonth();for(let e=0;e<Te[n].length-1;e++)if(r>=Te[n][e][1]&&r<Te[n][e+1][1])return Te[n][e][0];return"north"===n?"winter":"summer"},year:function(e){if(void 0!==e){const t=this.clone();return t.epoch=Qe(t,e),t}return this.d.getFullYear()},era:function(e){if(void 0!==e){const t=this.clone();e=e.toLowerCase();const n=t.d.getFullYear();return"bc"===e&&n>0&&(t.epoch=Qe(t,-1*n)),"ad"===e&&n<0&&(t.epoch=Qe(t,-1*n)),t}return this.d.getFullYear()<0?"BC":"AD"},decade:function(e){if(void 0!==e){if(!(e=(e=(e=String(e)).replace(/([0-9])'?s$/,"$1")).replace(/([0-9])(th|rd|st|nd)/,"$1")))return console.warn("Spacetime: Invalid decade input"),this;2===e.length&&/[0-9][0-9]/.test(e)&&(e="19"+e);let t=Number(e);return isNaN(t)?this:(t=10*Math.floor(t/10),this.year(t))}return this.startOf("decade").year()},century:function(e){if(void 0!==e){"string"==typeof e&&(e=(e=(e=e.replace(/([0-9])(th|rd|st|nd)/,"$1")).replace(/([0-9]+) ?(b\.?c\.?|a\.?d\.?)/i,(e,t,n)=>(n.match(/b\.?c\.?/i)&&(t="-"+t),t))).replace(/c$/,""));let t=Number(e);return isNaN(e)?(console.warn("Spacetime: Invalid century input"),this):(0===t&&(t=1),t=t>=0?100*(t-1):100*(t+1),this.year(t))}let t=this.startOf("century").year();return t=Math.floor(t/100),t<0?t-1:t+1},millenium:Xe,millennium:Xe},tt=Object.assign({},Je,Ke,et);tt.milliseconds=tt.millisecond,tt.seconds=tt.second,tt.minutes=tt.minute,tt.hours=tt.hour,tt.hour24=tt.hour,tt.h12=tt.hour12,tt.h24=tt.hour24,tt.days=tt.day;const nt=function(e,t){return 1===e&&d(t)?29:I[e]},rt=(e,t)=>{if(e.month>0){const n=parseInt(e.month/12,10);e.year=t.year()+n,e.month=e.month%12}else if(e.month<0){const n=Math.abs(e.month);let r=parseInt(n/12,10);n%12!=0&&(r+=1),e.year=t.year()-r,e.month=e.month%12,e.month=e.month+12,12===e.month&&(e.month=0)}return e},at=(e,t,n)=>{let r=t.year(),a=t.month(),o=nt(a,r);for(;n>o;)n-=o,a+=1,a>=12&&(a-=12,r+=1),o=nt(a,r);return e.month=a,e.date=n,e},ot=(e,t,n)=>{e.year=t.year(),e.month=t.month();const r=t.date();for(e.date=r-Math.abs(n);e.date<1;){e.month-=1,e.month<0&&(e.month=11,e.year-=1);const t=nt(e.month,e.year);e.date+=t}return e},st=["millisecond","second","minute","hour","date","month"],it={second:st.slice(0,1),minute:st.slice(0,2),quarterhour:st.slice(0,2),hour:st.slice(0,3),date:st.slice(0,4),month:st.slice(0,4),quarter:st.slice(0,4),season:st.slice(0,4),year:st,decade:st,century:st};it.week=it.hour,it.season=it.date,it.quarter=it.date;const ut={year:!0,quarter:!0,season:!0,month:!0,week:!0,date:!0},ct={month:!0,quarter:!0,season:!0,year:!0},ht={millisecond:e=>e.epoch,second:e=>[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second()].join("-"),minute:e=>[e.year(),e.month(),e.date(),e.hour(),e.minute()].join("-"),hour:e=>[e.year(),e.month(),e.date(),e.hour()].join("-"),day:e=>[e.year(),e.month(),e.date()].join("-"),week:e=>[e.year(),e.week()].join("-"),month:e=>[e.year(),e.month()].join("-"),quarter:e=>[e.year(),e.quarter()].join("-"),year:e=>e.year()};ht.date=ht.day;let lt=a;const mt=function(e,n,r={}){this.epoch=null,this.tz=m(n,lt),this.silent=void 0===r.silent||r.silent,this.british=r.dmy||r.british,this._weekStart=1,void 0!==r.weekStart&&(this._weekStart=r.weekStart),this._today={},void 0!==r.today&&(this._today=r.today),Object.defineProperty(this,"d",{get:function(){const e=(e=>{const n=e.timezones[e.tz];if(void 0===n)return console.warn("Warning: couldn't find timezone "+e.tz),0;if(void 0===n.dst)return n.offset;const r=n.offset;let a=n.offset+1;"n"===n.hem&&(a=r-1);const o=n.dst.split("->");return!0===t(e.epoch,o[0],o[1],r,a)?r:a})(this);let n=(new Date(this.epoch).getTimezoneOffset()||0)+60*e;n=60*n*1e3;const r=this.epoch+n;return new Date(r)}}),Object.defineProperty(this,"timezones",{get:()=>lt,set:e=>(lt=e,e)});const a=J(this,e);this.epoch=a.epoch,a.tz&&(this.tz=a.tz)};var dt;Object.keys(Fe).forEach(e=>{mt.prototype[e]=Fe[e]}),mt.prototype.clone=function(){return new mt(this.epoch,this.tz,{silent:this.silent,weekStart:this._weekStart,today:this._today,parsers:this.parsers})},mt.prototype.toLocalDate=function(){return this.toNativeDate()},mt.prototype.toNativeDate=function(){return new Date(this.epoch)},dt=mt,Object.keys(tt).forEach(e=>{dt.prototype[e]=tt[e]}),(e=>{e.prototype.add=function(e,t){let n=this.clone();if(!t||0===e)return n;const r=this.clone();if("millisecond"===(t=k(t)))return n.epoch+=e,n;"fortnight"===t&&(e*=2,t="week"),M[t]?n.epoch+=M[t]*e:"week"===t||"weekend"===t?n.epoch+=M.day*(7*e):"quarter"===t||"season"===t?n.epoch+=M.month*(3*e):"quarterhour"===t&&(n.epoch+=15*M.minute*e);let a={};if(it[t]&&it[t].forEach(e=>{a[e]=r[e]()}),ut[t]){const e=r.timezone().current.offset-n.timezone().current.offset;n.epoch+=3600*e*1e3}if("month"===t&&(a.month=r.month()+e,a=rt(a,r)),"week"===t){const t=r.date()+7*e;t<=28&&t>1&&(a.date=t)}if("weekend"===t&&"saturday"!==n.dayName())n=n.day("saturday",!0);else if("date"===t){if(e<0)a=ot(a,r,e);else{const t=r.date()+e;a=at(a,r,t)}0!==e&&r.isSame(n,"day")&&(a.date=r.date()+e)}else if("quarter"===t){if(a.month=r.month()+3*e,a.year=r.year(),a.month<0){const e=Math.floor(a.month/12),t=a.month+12*Math.abs(e);a.month=t,a.year+=e}else if(a.month>=12){const e=Math.floor(a.month/12);a.month=a.month%12,a.year+=e}a.date=r.date()}else if("year"===t){const t=r.year()+e,a=n.year();if(a<t){const t=Math.floor(e/4)||1;n.epoch+=Math.abs(M.day*t)}else if(a>t){const t=Math.floor(e/4)||1;n.epoch+=M.day*t}}else"decade"===t?a.year=n.year()+10:"century"===t&&(a.year=n.year()+100);if(ct[t]){const e=void 0!==a.year?a.year:r.year(),t=nt(a.month,e);a.date=r.date(),a.date>t&&(a.date=t)}return Object.keys(a).length>1&&N(n,a),n},e.prototype.subtract=function(e,t){return this.clone().add(-1*e,t)},e.prototype.minus=e.prototype.subtract,e.prototype.plus=e.prototype.add})(mt),(e=>{e.prototype.isSame=function(t,n,r=!0){const a=this;if(!n)return null;if("string"==typeof t&&"object"==typeof n){const e=t;t=n,n=e}return"string"!=typeof t&&"number"!=typeof t||(t=new e(t,this.timezone.name)),n=n.replace(/s$/,""),!0===r&&a.tz!==t.tz&&((t=t.clone()).tz=a.tz),ht[n]?ht[n](a)===ht[n](t):null}})(mt),(e=>{const t={isAfter:function(e){const t=w(e=v(e,this));return null===t?null:this.epoch>t},isBefore:function(e){const t=w(e=v(e,this));return null===t?null:this.epoch<t},isEqual:function(e){const t=w(e=v(e,this));return null===t?null:this.epoch===t},isBetween:function(e,t,n=!1){e=v(e,this),t=v(t,this);const r=w(e);if(null===r)return null;const a=w(t);return null===a?null:n?this.isBetween(e,t)||this.isEqual(e)||this.isEqual(t):r<this.epoch&&this.epoch<a}};Object.keys(t).forEach(n=>{e.prototype[n]=t[n]})})(mt),(e=>{const t={i18n:function(e){var t,n,r;return p(e.days)&&(t=e.days,K=t.short||K,R=t.long||R),p(e.months)&&function(e){T=e.short||T,C=e.long||C}(e.months),r=e.useTitleCase,"[object Boolean]"===Object.prototype.toString.call(r)&&(n=e.useTitleCase,ne=n),p(e.ampm)&&function(e){Ve=e.am||Ve,We=e.pm||We}(e.ampm),p(e.distance)&&function(e){$e=e.pastDistance||$e,je=e.futureDistance||je,be=e.past||be,ke=e.future||ke,we=e.present||we,ve=e.now||ve,ze=e.almost||ze,_e=e.over||_e}(e.distance),p(e.units)&&function(e={}){ye={second:e.second||ye.second,seconds:e.seconds||ye.seconds,minute:e.minute||ye.minute,minutes:e.minutes||ye.minutes,hour:e.hour||ye.hour,hours:e.hours||ye.hours,day:e.day||ye.day,days:e.days||ye.days,month:e.month||ye.month,months:e.months||ye.months,year:e.year||ye.year,years:e.years||ye.years}}(e.units),this}};Object.keys(t).forEach(n=>{e.prototype[n]=t[n]})})(mt);const ft=(e,t,n)=>new mt(e,t,n),pt=function(e){const t=e._today||{};return Object.keys(t).forEach(n=>{e=e[n](t[n])}),e};return ft.now=(e,t)=>{let n=new mt((new Date).getTime(),e,t);return n=pt(n),n},ft.today=(e,t)=>{let n=new mt((new Date).getTime(),e,t);return n=pt(n),n.startOf("day")},ft.tomorrow=(e,t)=>{let n=new mt((new Date).getTime(),e,t);return n=pt(n),n.add(1,"day").startOf("day")},ft.yesterday=(e,t)=>{let n=new mt((new Date).getTime(),e,t);return n=pt(n),n.subtract(1,"day").startOf("day")},ft.fromUnixSeconds=(e,t,n)=>new mt(1e3*e,t,n),ft.extend=function(e={}){return Object.keys(e).forEach(t=>{mt.prototype[t]=e[t]}),this},ft.timezones=function(){return(new mt).timezones},ft.max=function(e,t){const n=new mt(null,e,t);return n.epoch=864e13,n},ft.min=function(e,t){const n=new mt(null,e,t);return n.epoch=-864e13,n},ft.whereIts=(e,t)=>{let n=new mt(null),r=new mt(null);n=n.time(e),r=t?r.time(t):n.add(59,"minutes");const a=n.hour(),o=r.hour();return Object.keys(n.timezones).filter(e=>{if(-1===e.indexOf("/"))return!1;const t=new mt(null,e),s=t.hour();return s>=a&&s<=o&&(!(s===a&&t.minute()<n.minute())&&!(s===o&&t.minute()>r.minute()))})},ft.version="7.13.0",ft.plugin=ft.extend,ft});
|