"use strict";var CALENDAR={jalali:{months:{1:"فروردین",2:"اردیبهشت",3:"خرداد",4:"تیر",5:"مرداد",6:"شهریور",7:"مهر",8:"آبان",9:"آذر",10:"دی",11:"بهمن",12:"اسفند"},days:{label:{6:"شنبه",0:"یکشنبه",1:"دوشنبه",2:"سه‌شنبه",3:"چهارشنبه",4:"پنجشنبه",5:"جمعه"},weekNumber:{6:0,0:1,1:2,2:3,3:4,4:5,5:6}},ordinalNumbers:function(t,r){var e={1:"یک",2:"دو",3:"سو",4:"چهار",5:"پنج",6:"شش",7:"هفت",8:"هشت",9:"نه",10:"ده",11:"یازده",12:"دوازده",13:"سیزده",14:"چهارده",15:"پانزده",16:"شانزده",17:"هفده",18:"هجده",19:"نوزده",20:"بیست",30:"سی‌",40:"چهل",50:"پنجاه",60:"شصت",70:"هفتاد",80:"هشتاد",90:"نود",100:"صد",200:"دویست",300:"سیصد"},i="";if(1==t)i="اول";else if(e[t])i=e[t]+(30==t?"ام":"م");else{var a=t%100;(e[a]||(a=t%10))&&(i=e[a]+"م"),(a=(t-a)%100)&&(i=e[a]+(i?" و "+i:30==a?"ام ":"م")),(a=100*Math.floor(t/100))&&(i=e[a]+(i?" و "+i:"م"))}return 2==r&&(i+="ین"),i}},gregorian:{months:{1:"January",2:"February",3:"March",4:"April",5:"May",6:"June",7:"July",8:"August",9:"September",10:"October",11:"November",12:"December"},days:{label:{0:"Sunday",1:"Monday",2:"Tuesday",3:"Wednesday",4:"Thursday",5:"Friday",6:"Saturday"},weekNumber:{0:0,1:1,2:2,3:3,4:4,5:5,6:6}},ordinalNumbers:function(t){return 1==t||t%10==1&&11!=t?t+"st":2==t||t%10==2&&12!=t?t+"nd":3==t||t%10==3&&13!=t?t+"rd":t+"th"}}},REGEX={format:/j*(YYYY|YY|y|Qo|QO|Q|MMMM|MMM|MM|Mo|MO|M|DDDD|DDDo|DDDO|DDD|DD|Do|DO|D|dddd|ddd|dd|do|dO|de|d|ww|WW|wo|Wo|wO|WO|w|W|HH|hh|H|h|kk|k|mm|m|ss|s|CCCC|CCC|c|t|aa|a|A)/g,isNumeric:/^\d+$/,separators:"\\/| |-|\\.|,|:",betweenBacktick:/`(.*?)`/g},TIMETYPE=function(t,r){return t>=0&&t<12?"a"==r?"am":"aa"==r?"A.M.":"A"==r?"AM":"ja"==r?"ق ظ":"jaa"==r?"ق.ظ":"jA"==r?"قبل از ظهر":"ق.ظ":t>=12&&t<24?"a"==r?"pm":"aa"==r?"P.M.":"A"==r?"PM":"ja"==r?"ب ظ":"jaa"==r?"ب.ظ":"jA"==r?"بعد از ظهر":"ب.ظ":void 0},isDate=function(t){return t instanceof Date},jalali$4=function(t){return(t>1342?[1,5,9,13,17,22,26,30]:[1,5,9,13,17,21,26,30]).includes(t%33)},gregorian$4=function(t){return t%4==0&&t%100!=0||t%400==0},isLeapYear=function(t,r){switch(t[0]){case"j":return jalali$4(r);default:return gregorian$4(r)}},isPersianDate=function(t){return t instanceof PersianDate},isValid=function(t,r,e,i,a,n,s,o){return isValidDate(t,r,e,i)&&isValidTime(a,n,s,o)},jalali$3=function(t,r,e){return!(r>=7&&r<=11&&31==e)&&((12!=r||31!=e)&&!(12==r&&30==e&&!isLeapYear("j",t)))},gregorian$3=function(t,r,e){return(![2,4,6,9,11].includes(r)||31!=e)&&!(2==r&&(30==e||29==e&&!isLeapYear("g",t)))},isValidDate=function(t,r,e,i){if([r,e,i].some((function(t){return-1!=String(t).search(/null|NaN/)})))return!1;if(r<0||e>12||e<1||i>31||i<1)return!1;switch(t[0]){case"j":return jalali$3(r,e,i);default:return gregorian$3(r,e,i)}},isValidTime=function(t,r,e,i){return![t,r,e,i].some((function(t){return-1!=String(t).search(/null|NaN/)}))&&(!(t<0||t>23)&&(!(r<0||r>59)&&(!(e<0||e>59)&&!(i<0||i>999))))};function isSame(){var t=typesToArray.apply(void 0,[this.c].concat(Array.prototype.slice.call(arguments)));return t=this.toArray().map((function(r,e){return REGEX.isNumeric.test(t[e])?t[e]:r})),compare.call(this,t,"==")}function _setPrototypeOf(t,r){return(_setPrototypeOf=Object.setPrototypeOf||function(t,r){return t.__proto__=r,t})(t,r)}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}function _construct(t,r,e){return(_construct=_isNativeReflectConstruct()?Reflect.construct:function(t,r,e){var i=[null];i.push.apply(i,r);var a=new(Function.bind.apply(t,i));return e&&_setPrototypeOf(a,e.prototype),a}).apply(null,arguments)}function _slicedToArray(t,r){return _arrayWithHoles(t)||_iterableToArrayLimit(t,r)||_unsupportedIterableToArray(t,r)||_nonIterableRest()}function _toConsumableArray(t){return _arrayWithoutHoles(t)||_iterableToArray(t)||_unsupportedIterableToArray(t)||_nonIterableSpread()}function _arrayWithoutHoles(t){if(Array.isArray(t))return _arrayLikeToArray(t)}function _arrayWithHoles(t){if(Array.isArray(t))return t}function _iterableToArray(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}function _iterableToArrayLimit(t,r){var e=t&&("undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"]);if(null!=e){var i,a,n=[],s=!0,o=!1;try{for(e=e.call(t);!(s=(i=e.next()).done)&&(n.push(i.value),!r||n.length!==r);s=!0);}catch(t){o=!0,a=t}finally{try{s||null==e.return||e.return()}finally{if(o)throw a}}return n}}function _unsupportedIterableToArray(t,r){if(t){if("string"==typeof t)return _arrayLikeToArray(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?_arrayLikeToArray(t,r):void 0}}function _arrayLikeToArray(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,i=new Array(r);e<r;e++)i[e]=t[e];return i}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _createForOfIteratorHelper(t,r){var e="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!e){if(Array.isArray(t)||(e=_unsupportedIterableToArray(t))||r&&t&&"number"==typeof t.length){e&&(t=e);var i=0,a=function(){};return{s:a,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n,s=!0,o=!1;return{s:function(){e=e.call(t)},n:function(){var t=e.next();return s=t.done,t},e:function(t){o=!0,n=t},f:function(){try{s||null==e.return||e.return()}finally{if(o)throw n}}}}var matchingDate=function(t,r){return r.year(t[0]||r.year()),r.month(t[1]||r.month()),r.date(t[2]||r.date()),r.hour(t[3]||r.hour()),r.minute(t[4]||r.minute()),r.second(t[5]||r.second()),r.millisecond(t[6]||r.millisecond()),r.toArray()};function isBetween(t,r,e){return t=typesToArray(this.c,t),t=matchingDate(t,this.clone()),r=typesToArray(this.c,r),r=matchingDate(r,this.clone()),!(!this.isValid.apply(this,_toConsumableArray(t))||!this.isValid.apply(this,_toConsumableArray(r)))&&(compare.call(this,t,"["===e[0]?">=":">")&&compare.call(this,r,"]"===e[1]?"<=":"<"))}function isInArray(t){var r=this;return t.some((function(t){return isSame.call(r,t)}))}var gtj=function(t,r,e,i,a,n,s){var o,h;e=(o=t?isDate(t)?t:new Date(REGEX.isNumeric.test(t)?t:0,REGEX.isNumeric.test(r)?r:0,REGEX.isNumeric.test(e)?e:1,REGEX.isNumeric.test(i)?i:0,REGEX.isNumeric.test(a)?a:0,REGEX.isNumeric.test(n)?n:0,REGEX.isNumeric.test(s)?s:0):new Date).getDate(),r=o.getMonth()+1,t=o.getFullYear(),i=o.getHours(),a=o.getMinutes(),n=o.getSeconds(),s=o.getMilliseconds();t>1600?(h=979,t-=1600):(h=0,t-=621);var u=r>2?t+1:t,l=365*t+parseInt((u+3)/4)-parseInt((u+99)/100)+parseInt((u+399)/400)-80+e+[0,31,59,90,120,151,181,212,243,273,304,334][r-1];return h+=33*parseInt(l/12053),l%=12053,h+=4*parseInt(l/1461),(l%=1461)>365&&(h+=parseInt((l-1)/365),l=(l-1)%365),[h,l<186?1+parseInt(l/31):7+parseInt((l-186)/30),1+(l<186?l%31:(l-186)%30),i,a,n,s]},jtg=function(t,r,e,i,a,n,s){var o,h,u;t=REGEX.isNumeric.test(t)?+t:1,r=REGEX.isNumeric.test(r)?+r:1,e=REGEX.isNumeric.test(e)?+e:1,i=REGEX.isNumeric.test(i)?+i:0,a=REGEX.isNumeric.test(a)?+a:0,n=REGEX.isNumeric.test(n)?+n:0,s=REGEX.isNumeric.test(s)?+s:0,t>979?(o=1600,t-=979):o=621;var l=365*t+8*parseInt(t/33)+parseInt((t%33+3)/4)+78+e+(r<7?31*(r-1):30*(r-7)+186);o+=400*parseInt(l/146097),(l%=146097)>36524&&(o+=100*parseInt(--l/36524),(l%=36524)>=365&&l++),o+=4*parseInt(l/1461),(l%=1461)>365&&(o+=parseInt((l-1)/365),l=(l-1)%365),u=l+1;var d=[0,31,isLeapYear("gregorian",o)?29:28,31,30,31,30,31,31,30,31,30,31];for(h=0;h<13;h++){var c=d[h];if(u<=c)break;u-=c}return new Date(o,h-1,u,i,a,n,s)},warn=function(t){console.warn(t)},error=function(t){console.error(t)},invalid=function(t){return delete this.d,this.error=t,this},typesToArray=function(t,r,e,i,a,n,s,o){return r||(r=new Date),"string"==typeof r&&-1!=r.search(REGEX.separators)?r.split(/[/ -.,:\\]/):Array.isArray(r)?r:PersianDate.isPersianDate(r)?r.clone().calendar(t).toArray():PersianDate.isDate(r)?new PersianDate(r).calendar(t).toArray():"[object Object]"===Object.prototype.toString.call(r)?[r.y||r.year||r.years,r.M||r.month||r.months||1,r.d||r.day||r.days||r.date||1,r.h||r.hour||r.hours||0,r.m||r.minute||r.minutes||0,r.s||r.second||r.seconds||0,r.ms||r.millisecond||r.milliseconds||0]:[r,e,i,a,n,s,o]},ordinalNumber=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"jalali",e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return CALENDAR[r].ordinalNumbers(t,e)},addPrefix=function(t,r){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"0";return e.repeat(r-String(t).length)+t},setJalaliDate=function(t){var r=_slicedToArray(gtj(t),7);this.d.year=r[0],this.d.month=r[1],this.d.date=r[2],this.d.hour=r[3],this.d.minute=r[4],this.d.second=r[5],this.d.millisecond=r[6]},setGregorianDate=function(t){this.d={year:t.getFullYear(),month:t.getMonth()+1,date:t.getDate(),hour:t.getHours(),minute:t.getMinutes(),second:t.getSeconds(),millisecond:t.getMilliseconds()}},getDayLabel=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Date,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"jalali";return isDate(t)?CALENDAR[r].days.label[t.getDay()]:error("the first param must be instance of Date.")},getDayOfWeek=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Date,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"jalali",e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"standard";return isDate(t)?CALENDAR[r].days.weekNumber[t.getDay()]+("standard"!=e?0:1):error("the first param must be instance of Date.")},getDefaultFormat$4=function(t){switch(t[0]){case"j":return"jy";default:return"y"}};function year(t){if(t=String(t).trim(),REGEX.isNumeric.test(t))return this.d.year=+t,this.isValidDate()?this:this.subDay(1,!1);t||(t=getDefaultFormat$4(this.c));var r="jalali"==this.c?this.d.year:gtj(this.toDate())[0];if("jy"==t||"jYYYY"==t)return r;if("jYY"==t)return String(r).slice(-2);var e="gregorian"==this.c?this.d.year:this.toDate().getFullYear();return"y"==t||"YYYY"==t?e:"YY"==t?String(e).slice(-2):r}var getDefaultFormat$3=function(t){switch(t[0]){case"j":return"jQ";default:return"Q"}};function quarter(t){if(t=String(t).trim(),REGEX.isNumeric.test(t)){for(t<1?(this.d.month=1,this.subQuarter(t-1,!1)):t>4?(this.d.month=12,this.addQuarter(t-4,!1)):this.d.month=3*+t-2;!this.isValidDate();)this.subDay(1,!1);return this}t||(t=getDefaultFormat$3(this.c));var r=Math.ceil(("jalali"==this.c?this.d.month:gtj(this.toDate())[1])/3);if("jQ"==t)return r;if("jQo"==t)return ordinalNumber(r);if("jQO"==t)return ordinalNumber(r,"jalali",2);var e=Math.ceil(("gregorian"==this.c?this.d.month:this.toDate().getMonth()+1)/3);return"Q"==t?e:"Qo"==t||"QO"==t?ordinalNumber(e,"gregorian"):r}var getDefaultFormat$2=function(t){switch(t[0]){case"j":return"jM";default:return"M"}};function month(t){if(t=String(t).trim(),REGEX.isNumeric.test(t)){for(t<1?(this.d.month=1,this.subMonth(t-1,!1)):t>12?(this.d.month=12,this.addMonth(t-12,!1)):this.d.month=+t;!this.isValidDate();)this.subDay(1,!1);return this}t||(t=getDefaultFormat$2(this.c));var r="jalali"==this.c?this.d.month:gtj(this.toDate())[1];if("jMM"==t)return addPrefix(r,2);if("jM"==t)return r;if("jMMMM"==t||"jMMM"==t)return CALENDAR.jalali.months[r];if("jMo"==t)return ordinalNumber(r);if("jMO"==t)return ordinalNumber(r,"jalali",2);var e="gregorian"==this.c?this.d.month:this.toDate().getMonth()+1;return"M"==t?e:"MM"==t?addPrefix(e,2):"MMMM"==t?CALENDAR.gregorian.months[e]:"Mo"==t||"MO"==t?ordinalNumber(e,"gregorian"):"MMM"==t?CALENDAR.gregorian.months[e].slice(0,3):r}var getDefaultFormat$1=function(t){switch(t[0]){case"j":return"jw";default:return"w"}};function week(t){if(t=String(t).trim(),REGEX.isNumeric.test(t)){var r=this.getWeeksInYear();if(t<1)this.week(1),this.subWeek(t-1,!1);else if(t>r)this.week(r),this.addWeek(t-r,!1);else{var e=getWeekOfYear.call(this,this.d.year,this.d.month,this.d.date,this.c);this.addWeek(+t-e)}for(;!this.isValidDate();)this.subDay(1,!1);return this}t||(t=getDefaultFormat$1(this.c));var i=getWeekOfYear.call(this,this.year("jy"),this.month("jM"),this.date("jD"),this.c);if("jw"==t||"jW"==t)return i;if("jww"==t||"jWW"==t)return addPrefix(i,2);if("jwo"==t||"jWo"==t)return ordinalNumber(i);if("jwO"==t||"jWO"==t)return ordinalNumber(i,"jalali",2);var a=getWeekOfYear.call(this,this.year("y"),this.month("M"),this.date("D"),"gregorian");return"w"==t||"W"==t?a:"ww"==t||"WW"==t?addPrefix(a,2):"wo"==t||"Wo"==t||"wO"==t||"WO"==t?ordinalNumber(a,"gregorian"):i}var getDefaultFormat=function(t){switch(t[0]){case"j":return"jD";default:return"D"}};function date(t){if(t=String(t).trim(),REGEX.isNumeric.test(t)){var r=this.getDaysInMonth();return t<1?(this.d.date=1,this.subDay(t-1)):t>r?(this.d.date=r,this.addDay(t-r)):this.d.date=+t,this}t||(t=getDefaultFormat(this.c));var e="jalali"==this.c?this.d.date:gtj(this.toDate())[2];if("jDD"==t)return addPrefix(e,2);if("jD"==t)return e;if("jDo"==t)return ordinalNumber(e);if("jDO"==t)return ordinalNumber(e,"jalali",2);var i=this.toDate();if("jdddd"==t||"jddd"==t)return getDayLabel(i);if("jdd"==t)return getDayLabel(i).slice(0,1);var a=getDayOfWeek(i);if("jdo"==t)return ordinalNumber(a);if("jdO"==t)return ordinalNumber(a,"jalali",2);if("jd"==t)return getDayOfWeek(i,"jalali","array");if("jde"==t)return a;var n=getDayOfYear(this.year("jy"),this.month("jM"),e,"j");return"jDDDD"==t?addPrefix(n,3):"jDDD"==t?n:"jDDDo"==t?ordinalNumber(n):"jDDDO"==t?ordinalNumber(n,"jalali",2):"DD"==t?addPrefix(i.getDate(),2):"D"==t?i.getDate():"Do"==t||"DO"==t?ordinalNumber(i.getDate(),"gregorian"):"dddd"==t?getDayLabel(i,"gregorian"):"ddd"==t?getDayLabel(i,"gregorian").slice(0,3):"dd"==t?getDayLabel(i,"gregorian").slice(0,2):(a=getDayOfWeek(i,"gregorian"),"do"==t||"dO"==t?ordinalNumber(a,"gregorian"):"d"==t?a-1:"de"==t?a:(n=getDayOfYear(i.getFullYear(),i.getMonth()+1,i.getDate(),"g"),"DDDD"==t?addPrefix(n,3):"DDD"==t?n:"DDDo"==t||"DDDO"==t?ordinalNumber(n,"gregorian"):e))}function hour(t){if(t=String(t).trim(),REGEX.isNumeric.test(t))return t<0?(this.d.hour=0,this.subHour(t)):t>23?(this.d.hour=23,this.addHour(t-23)):this.d.hour=+t,this;var r=this.d.hour;return"H"==t?r:"HH"==t?addPrefix(r,2):"k"==t?r||24:"kk"==t?addPrefix(r||24,2):(r=r>12?r-12:r,"h"==t?r:"hh"==t?addPrefix(r,2):r)}function minute(t){return t=String(t).trim(),REGEX.isNumeric.test(t)?(t<0?(this.d.minute=0,this.subMinute(t)):t>23?(this.d.minute=23,this.addMinute(t-23)):this.d.minute=+t,this):"m"==t?this.d.minute:"mm"==t?addPrefix(this.d.minute,2):this.d.minute}function second(t){return t=String(t).trim(),REGEX.isNumeric.test(t)?(t<0?(this.d.second=0,this.subSecond(t)):t>23?(this.d.second=23,this.addSecond(t-23)):this.d.second=+t,this):"s"==t?this.d.second:"ss"==t?addPrefix(this.d.second,2):this.d.second}function millisecond(t){return t=String(t).trim(),REGEX.isNumeric.test(t)?(t<0?(this.d.millisecond=0,this.subMillisecond(t)):t>23?(this.d.millisecond=23,this.addMillisecond(t-23)):this.d.millisecond=+t,this):"CCC"==t||"c"==t?this.d.millisecond:"CCCC"==t?addPrefix(this.d.millisecond,3):this.d.millisecond}function timestamp(t){return t?this.fromGregorian(+String(t).trim()):this.toDate().getTime()}var jalali$2=function(t,r,e){return e>=1&&e<=6?31:e>6&&e<=11||isLeapYear(t,r)?30:29},gregorian$2=function(t,r,e){return[1,3,5,7,8,10,12].includes(e)?31:2!=e?30:isLeapYear(t,r)?29:28},getDaysInMonth=function(t,r,e){switch(t[0]){case"j":return jalali$2(t,r,e);default:return gregorian$2(t,r,e)}},getDayOfYearFormat=function(t){switch(t[0]){case"j":return"jd";default:return"d"}};function getWeeksInYear(t){var r=getDayOfYearFormat(this.c),e=this.clone().parse(t),i=e.date(r),a=e.clone().endOf("year").startOf("day"),n=a.date(r);return i>3?e.addDay(7-i):e.subDay(i),n>3?a.addDay(7-n):a.subDay(n),Math.ceil(a.diff(e,"date")/7)}function startOf(t){return this.d.millisecond=0,"s"==t[0]?this:(this.d.second=0,"m"==t||"minute"==t?this:(this.d.minute=0,"h"==t[0]?this:(this.d.hour=0,"d"==t[0]?this:"w"==t[0]?this.subDay(getDayOfWeek(this.toDate(),this.c,"array")):(this.d.date=1,"q"==t[0]?this.quarter(this.quarter()):"M"==t||"month"==t?this:(this.d.month=1,"y"==t[0]?this:void 0)))))}function endOf(t){return this.d.millisecond=999,"s"==t[0]?this:(this.d.second=59,"m"==t||"minute"==t?this:(this.d.minute=59,"h"==t[0]?this:(this.d.hour=23,"d"==t[0]?this:"w"==t[0]?this.addDay(7-getDayOfWeek(this.toDate(),this.c)):"q"==t[0]?(this.quarter(this.quarter()).addMonth(2),this.d.date=this.getDaysInMonth(),this):(this.d.date=this.getDaysInMonth(),"M"==t||"month"==t?this:(this.d.month=12,this.d.date=this.getDaysInMonth(),"y"==t[0]?this:void 0)))))}function time(){for(var t=arguments.length,r=new Array(t),e=0;e<t;e++)r[e]=arguments[e];if(!r.length)return this.toArray().slice(3);var i=[];return i=isPersianDate(r[0])?r[0].time():isDate(r[0])?[r[0].getHours(),r[0].getMinutes(),r[0].getSeconds(),r[0].getMilliseconds()]:"[object Object]"===Object.prototype.toString.call(r[0])?[r[0].h||r[0].hour||r[0].hours||0,r[0].m||r[0].minute||r[0].minutes||0,r[0].s||r[0].second||r[0].seconds||0,r[0].ms||r[0].millisecond||r[0].milliseconds||0]:typesToArray.apply(void 0,[this.c].concat(r)),this.isValidTime.apply(this,_toConsumableArray(i))?this.hour(i[0]||0).minute(i[1]||0).second(i[2]||0).millisecond(i[3]||0):"زمان نامعتبر"}var getDayOfYear=function(t,r,e,i){for(r=+r,e=+e;0!=--r;)e+=getDaysInMonth(i,t,r);return e},dayOfYearFormat=function(t){switch(t[0]){case"j":return"jd";default:return"d"}},getWeekOfYear=function(t,r,e,i){var a=this.clone().calendar(i).parse(t),n=a.date(dayOfYearFormat(i)),s=a.clone().parse(t,r,e);n>3&&a.addDay(7-n);var o=Math.ceil(s.diff(a,"date",!0)/7),h=s.clone().getWeeksInYear();return o>h?h:o},compare=function compare(date,operator){return date=typesToArray.apply(void 0,[this.c].concat(_toConsumableArray(date))),!!this.isValid.apply(this,_toConsumableArray(date))&&eval("this.timestamp()"+operator+"this.clone().parse(...date).timestamp()")},mathOperation=function(t,r){var e=this;if(!t.length)return!1;var i=_toConsumableArray(t),a=i.map((function(t){var r;return t=typesToArray(e.c,t),!!e.isValid.apply(e,_toConsumableArray(t))&&(r=e.clone()).parse.apply(r,_toConsumableArray(t)).timestamp()}));return!a.includes(!1)&&i[a.indexOf(Math[r].apply(Math,_toConsumableArray(a)))]},isTimestamp=function(t){return!isNaN(t)&&Math.floor(t/1e4)>0};function now(){var t=new Date;return"jalali"==this.c?setJalaliDate.call(this,t):setGregorianDate.call(this,t),this}function parse(){return"jalali"==this.c?this.fromJalali.apply(this,arguments):this.fromGregorian.apply(this,arguments)}function clone(){return Object.assign(Object.create(Object.getPrototypeOf(this)),JSON.parse(JSON.stringify(this)))}function fromJalali(){for(var t=arguments.length,r=new Array(t),e=0;e<t;e++)r[e]=arguments[e];return r=r.length?typesToArray.apply(void 0,["jalali"].concat(_toConsumableArray(r))):gtj(),"jalali"==this.c?(this.d.year=+r[0],this.d.month=+r[1]||1,this.d.date=+r[2]||1,this.d.hour=+r[3]||0,this.d.minute=+r[4]||0,this.d.second=+r[5]||0,this.d.millisecond=+r[6]||0):setGregorianDate.call(this,jtg.apply(void 0,_toConsumableArray(r))),this.isValid()?this:invalid.call(this,"تاریخ نامعتبر")}function fromGregorian(){for(var t=arguments.length,r=new Array(t),e=0;e<t;e++)r[e]=arguments[e];if(r.length?this.isPersianDate(r[0])?r=r[0].clone().calendar("g").toArray():isTimestamp(r[0])||((r=typesToArray.apply(void 0,["gregorian"].concat(_toConsumableArray(r))))[6]=+r[6]||0,r[5]=+r[5]||0,r[4]=+r[4]||0,r[3]=+r[3]||0,r[2]=+r[2]||1,r[1]=+r[1]||1,r[0]=+r[0]):r[0]=(new Date).getTime(),r.length>1){if(!isValid.apply(void 0,["gregorian"].concat(_toConsumableArray(r))))return invalid.call(this,"تاریخ نامعتبر");--r[1]}return"Invalid Date"==(r=_construct(Date,_toConsumableArray(r)))?invalid.call(this,"تاریخ نامعتبر"):("jalali"==this.c?setJalaliDate.call(this,r):setGregorianDate.call(this,r),this)}function calendar(t){return t?("j"==t[0]&&"j"!=this.c[0]?(this.error||setJalaliDate.call(this,this.toDate()),this.c="jalali"):"g"==t[0]&&"g"!=this.c[0]&&(this.error||setGregorianDate.call(this,this.toDate()),this.c="gregorian"),this):this.c}function addYear(t,r){if(t<0)return this.subYear(Math.abs(t));for(this.d.year+=+t;r&&!this.isValidDate();)this.subDay(1,!1);return this}function addQuarter(t,r){return t<0?this.subQuarter(Math.abs(t)):this.addMonth(3*+t,r)}function addMonth(t,r){if(t<0)return this.subMonth(Math.abs(t));t=+t;var e=12-this.d.month+1;if(e>t)this.d.month+=t;else{for(this.addYear(1,!1),this.d.month=1,t-=e;t>=12;)t-=12,this.addYear(1,!1);0!=t&&(this.d.month+=t)}for(;r&&!this.isValidDate();)this.subDay(1,!1);return this}function addWeek(t,r){return t<0?this.subWeek(Math.abs(t)):this.addDay(7*+t,r)}function addDay(t){if(t<0)return this.subDay(Math.abs(t));t=+t;var r=this.getDaysInMonth()-this.d.date+1;if(r>t)this.d.date+=t;else{this.addMonth(1,!1),this.d.date=1,t-=r;for(var e=this.getDaysInMonth();t>=e;)t-=e,this.addMonth(1,!1),e=this.getDaysInMonth();0!=t&&(this.d.date+=t)}return this}function addHour(t){if(t<0)return this.subHour(Math.abs(t));for(t=+t;t>=24;)t-=24,this.addDay(1,!1);var r=24-this.d.hour;return t>=r?(this.addDay(1,!1),t-=r,this.d.hour=t):this.d.hour+=t,this}function addMinute(t){if(t<0)return this.subMinute(Math.abs(t));for(t=+t;t>=60;)this.addHour(1,!1),t-=60;var r=60-this.d.minute;return t>=r?(this.addHour(1,!1),t-=r,this.d.minute=t):this.d.minute+=t,this}function addSecond(t){if(t<0)return this.subSecond(Math.abs(t));for(t=+t;t>=60;)this.addMinute(1,!1),t-=60;var r=60-this.d.second;return t>=r?(this.addMinute(1,!1),t-=r,this.d.second=t):this.d.second+=t,this}function addMillisecond(t){if(t<0)return this.subMillisecond(Math.abs(t));for(t=+t;t>=1e3;)this.addSecond(1,!1),t-=1e3;var r=1e3-this.d.millisecond;return t>=r?(this.addSecond(1,!1),t-=r,this.d.millisecond=t):this.d.millisecond+=t,this}function subYear(t,r){for(this.d.year-=Math.abs(t);r&&!this.isValidDate();)this.subDay(1,!1);return this}function subQuarter(t,r){return t=Math.abs(t),this.subMonth(3*t,r)}function subMonth(t,r){t=Math.abs(t);var e=this.d.month;if(e>t)this.d.month-=t;else{for(this.subYear(1,!1),this.d.month=12,t-=e;t>=12;)this.subYear(1,!1),t-=12;0!=t&&(this.d.month-=t)}for(;r&&!this.isValidDate();)this.subDay(1,!1);return this}function subWeek(t,r){return t=Math.abs(t),this.subDay(7*t,r)}function subDay(t){t=Math.abs(t);var r=this.d.date;if(r>t)this.d.date-=t;else{this.subMonth(1,!1);var e=this.getDaysInMonth();for(this.d.date=e,t-=r;t>=e;)t-=e,this.subMonth(1,!1),e=this.getDaysInMonth();this.d.date=e-t}return this}function subHour(t){for(t=Math.abs(t);t>=24;)t-=24,this.subDay(1,!1);var r=this.d.hour;return t>r?(this.subDay(1,!1),t-=r,this.d.hour=24-t):this.d.hour-=t,this}function subMinute(t){for(t=Math.abs(t);t>=60;)t-=60,this.subHour(1,!1);var r=this.d.minute;return t>r?(this.subHour(1,!1),t-=r,this.d.minute=60-t):this.d.minute-=t,this}function subSecond(t){for(t=Math.abs(t);t>=60;)t-=60,this.subMinute(1,!1);var r=this.d.second;return t>r?(this.subMinute(1,!1),t-=r,this.d.second=60-t):this.d.second-=t,this}function subMillisecond(t){for(t=Math.abs(t);t>=1e3;)t-=1e3,this.subSecond(1,!1);var r=this.d.millisecond;return t>r?(this.subSecond(1,!1),t-=r,this.d.millisecond=1e3-t):this.d.millisecond-=t,this}var jalali$1=function(t){return t.replace(/\?/g,"j").replace(/datetime/gi,"jYYYY/jMM/jDD HH:mm").replace(/date/gi,"jYYYY/jMM/jDD").replace(/time/gi,"HH:mm")},gregorian$1=function(t){return t.replace(/\?/g,"").replace(/datetime/gi,"YYYY-MM-DD HH:mm").replace(/date/gi,"YYYY-MM-DD").replace(/time/gi,"HH:mm")};function toString(t){var r=[];switch(t=t.replace(REGEX.betweenBacktick,(function(t,e){return r.push(e),"###"})),this.c[0]){case"j":t=jalali$1(t);break;default:t=gregorian$1(t)}var e,i="",a=_createForOfIteratorHelper(t.match(REGEX.format));try{for(a.s();!(e=a.n()).done;){var n=e.value;i+=t.substring(0,t.indexOf(n)),-1!=n.search(/Y|y/)?i+=this.year(n):-1!=n.search(/M/)?i+=this.month(n):-1!=n.search(/Q/)?i+=this.quarter(n):-1!=n.search(/D|d/)?i+=this.date(n):-1!=n.search(/W|w/)?i+=this.week(n):-1!=n.search(/H|h|k/)?i+=this.hour(n):-1!=n.search(/m/)?i+=this.minute(n):-1!=n.search(/s/)?i+=this.second(n):-1!=n.search(/c|C/)?i+=this.millisecond(n):-1!=n.search(/t/)?i+=this.timestamp():-1!=n.search(/a|A/)&&(i+=TIMETYPE(this.d.hour,n)),t=t.substr(t.indexOf(n)+n.length)}}catch(t){a.e(t)}finally{a.f()}i+=t;for(var s=0;s<r.length;s++)i=i.replace("###",r[s]);return String(i)}function toArray(){if(!arguments.length)return Object.values(this.d);var t=typesToArray.apply(void 0,[this.c].concat(Array.prototype.slice.call(arguments)));return[this.year(t[0]),this.month(t[1]),this.date(t[2]),this.hour(t[3]),this.minute(t[4]),this.second(t[5]),this.millisecond(t[6])]}function toObject(){if(!arguments.length)return this.d;var t=typesToArray.apply(void 0,[this.c].concat(Array.prototype.slice.call(arguments)));return{year:this.year(t[0]),month:this.month(t[1]),date:this.date(t[2]),hour:this.hour(t[3]),minute:this.minute(t[4]),second:this.second(t[5]),millisecond:this.millisecond(t[6])}}var jalali=function(t){return jtg.apply(void 0,_toConsumableArray(t))},gregorian=function(t){return--t[1],_construct(Date,_toConsumableArray(t))};function toDate(){switch(this.c[0]){case"j":return jalali(this.toArray());default:return gregorian(this.toArray())}}function diff(t,r,e){var i;if(t=typesToArray(this.c,t),!this.isValid.apply(this,_toConsumableArray(t)))return"تاریخ نامعتبر";var a=this.timestamp()-(i=this.clone()).parse.apply(i,_toConsumableArray(t)).timestamp();switch(r){case"y":case"year":case"years":a=this.d.year-t[0];break;case"M":case"month":case"months":a=12*this.d.year+this.d.month-(12*+t[0]+ +t[1]);break;case"d":case"date":case"day":case"days":a=Math.ceil(a/1e3/60/60/24);break;case"h":case"hour":case"hours":a=Math.ceil(a/1e3/60/60);break;case"m":case"minute":case"minutes":a=Math.ceil(a/1e3/60);break;case"s":case"second":case"seconds":a=Math.ceil(a/1e3)}return e?a+(a>=0?1:-1):a}function diffForHumans(t,r){var e=this.diff(t,"s");if("string"==typeof e)return"تاریخ نامعتبر";var i=r&&(e>0?"آینده":"پیش");return 0==(e=Math.abs(e))?"هم اکنون":(e=e<45?"لحظات":(e/=60)<45?Math.round(e)+" دقیقه":(e/=60)<23.5?Math.round(e)+" ساعت":(e/=24)<26?Math.round(e)+" روز":e<320?Math.round(e/30)+" ماه":Math.round(e/365)+" سال")+(r?" "+i:"")}var PersianDate=function t(r,e){this.d={},this.c="jalali",t.prototype.now=function(){return this.error&&(delete this.error,this.d={}),now.call(this)},t.prototype.setDate=function(){return warn('"setDate" function is deprecated! use "fromGregorian" function instead.\nhttps://alireza-ab.ir/persian-date/create-and-parse#from-gregorian-date'),this.fromGregorian.apply(this,arguments)},t.prototype.parse=function(){return parse.call.apply(parse,[this].concat(Array.prototype.slice.call(arguments)))},t.prototype.clone=function(){return clone.call(this)},t.prototype.fromJalali=function(){return this.error&&(delete this.error,this.d={}),fromJalali.call.apply(fromJalali,[this].concat(Array.prototype.slice.call(arguments)))},t.prototype.fromGregorian=function(){return this.error&&(delete this.error,this.d={}),fromGregorian.call.apply(fromGregorian,[this].concat(Array.prototype.slice.call(arguments)))},t.prototype.calendar=function(t){return calendar.call(this,t)},t.prototype.year=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this.error?this.error:year.call(this,t)},t.prototype.month=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this.error?this.error:month.call(this,t)},t.prototype.date=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this.error?this.error:date.call(this,t)},t.prototype.quarter=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this.error?this.error:quarter.call(this,t)},t.prototype.week=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this.error?this.error:week.call(this,t)},t.prototype.hour=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"H";return this.error?this.error:hour.call(this,t)},t.prototype.minute=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"m";return this.error?this.error:minute.call(this,t)},t.prototype.second=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"s";return this.error?this.error:second.call(this,t)},t.prototype.millisecond=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"c";return this.error?this.error:millisecond.call(this,t)},t.prototype.timestamp=function(t){return this.error?this.error:timestamp.call(this,t)},t.prototype.valueOf=function(){return this.timestamp()},t.prototype.getDaysInMonth=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.d.year,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.d.month;return this.error?this.error:getDaysInMonth(this.c,t,r)},t.prototype.getWeeksInYear=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.d.year;return this.error?this.error:getWeeksInYear.call(this,t)},t.prototype.startOf=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"year";return startOf.call(this,t)},t.prototype.endOf=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"year";return endOf.call(this,t)},t.prototype.time=function(){return this.error?this.error:time.call.apply(time,[this].concat(Array.prototype.slice.call(arguments)))},t.prototype.addYear=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.error?this.error:t?addYear.call(this,t,r):this},t.prototype.addMonth=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.error?this.error:t?addMonth.call(this,t,r):this},t.prototype.addDay=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.error?this.error:t?addDay.call(this,t,r):this},t.prototype.addQuarter=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.error?this.error:t?addQuarter.call(this,t,r):this},t.prototype.addWeek=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.error?this.error:t?addWeek.call(this,t,r):this},t.prototype.addHour=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.error?this.error:t?addHour.call(this,t,r):this},t.prototype.addMinute=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.error?this.error:t?addMinute.call(this,t,r):this},t.prototype.addSecond=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.error?this.error:t?addSecond.call(this,t,r):this},t.prototype.addMillisecond=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.error?this.error:t?addMillisecond.call(this,t,r):this},t.prototype.subYear=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.error?this.error:t?subYear.call(this,t,r):this},t.prototype.subMonth=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.error?this.error:t?subMonth.call(this,t,r):this},t.prototype.subDay=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.error?this.error:t?subDay.call(this,t,r):this},t.prototype.subQuarter=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.error?this.error:t?subQuarter.call(this,t,r):this},t.prototype.subWeek=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.error?this.error:t?subWeek.call(this,t,r):this},t.prototype.subHour=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.error?this.error:t?subHour.call(this,t,r):this},t.prototype.subMinute=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.error?this.error:t?subMinute.call(this,t,r):this},t.prototype.subSecond=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.error?this.error:t?subSecond.call(this,t,r):this},t.prototype.subMillisecond=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.error?this.error:t?subMillisecond.call(this,t,r):this},t.prototype.toString=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"date";return this.error?this.error:toString.call(this,t)},t.prototype.toArray=function(){return this.error?this.error:toArray.call.apply(toArray,[this].concat(Array.prototype.slice.call(arguments)))},t.prototype.toObject=function(){return this.error?this.error:toObject.call.apply(toObject,[this].concat(Array.prototype.slice.call(arguments)))},t.prototype.toDate=function(){return this.error?this.error:toDate.call(this)},t.prototype.diff=function(t,r){var e=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return this.error?this.error:diff.call(this,t,r,e)},t.prototype.diffForHumans=function(t){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.error?this.error:diffForHumans.call(this,t,r)},t.prototype.min=function(){return mathOperation.call(this,arguments,"min")},t.prototype.max=function(){return mathOperation.call(this,arguments,"max")},t.prototype.isLeapYear=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.d.year;return!this.error&&isLeapYear(this.c,t)},t.prototype.isValid=function(t,r,e,i,a,n,s){return!this.error&&(this.isValidDate(t,r,e)&&this.isValidTime(i,a,n,s))},t.prototype.isValidDate=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.d.year,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.d.month,e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.d.date;return!this.error&&isValidDate(this.c,t,r,e)},t.prototype.isValidTime=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.d.hour,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.d.minute,e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.d.second,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:this.d.millisecond;return!this.error&&isValidTime(t,r,e,i)},t.prototype.isSame=function(){return!this.error&&isSame.call.apply(isSame,[this].concat(Array.prototype.slice.call(arguments)))},t.prototype.isBefore=function(){return!this.error&&compare.call(this,arguments,"<")},t.prototype.isAfter=function(){return!this.error&&compare.call(this,arguments,">")},t.prototype.isSameOrBefore=function(){return!this.error&&compare.call(this,arguments,"<=")},t.prototype.isSameOrAfter=function(){return!this.error&&compare.call(this,arguments,">=")},t.prototype.isBetween=function(t,r){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"()";return!this.error&&isBetween.call(this,t,r,e)},t.prototype.isInArray=function(t){return!this.error&&isInArray.call(this,t)},t.prototype.isDate=isDate,t.prototype.isPersianDate=isPersianDate,e&&this.calendar(e),r?e&&"j"==e[0]?this.fromJalali(r):this.fromGregorian(r):this.now()};PersianDate.isLeapYear=isLeapYear,PersianDate.isDate=isDate,PersianDate.isPersianDate=isPersianDate,PersianDate.isValid=isValid,PersianDate.isValidDate=isValidDate,PersianDate.isValidTime=isValidTime,PersianDate.getDaysInMonth=getDaysInMonth,module.exports=PersianDate;
