@gisce/react-ooui 1.1.28-rc.0 → 1.1.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -126,6 +126,6 @@ var hookCallback;function hooks(){return hookCallback.apply(null,arguments)}func
126
126
  Arguments: `+Array.prototype.slice.call(n).join("")+`
127
127
  `+new Error().stack),r=!1}return t.apply(this,arguments)},t)}var deprecations={};function deprecateSimple(e,t){hooks.deprecationHandler!=null&&hooks.deprecationHandler(e,t),deprecations[e]||(warn(t),deprecations[e]=!0)}hooks.suppressDeprecationWarnings=!1,hooks.deprecationHandler=null;function isFunction(e){return typeof Function<"u"&&e instanceof Function||Object.prototype.toString.call(e)==="[object Function]"}function set(e){var t,r;for(r in e)hasOwnProp(e,r)&&(t=e[r],isFunction(t)?this[r]=t:this["_"+r]=t);this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)}function mergeConfigs(e,t){var r=extend({},e),n;for(n in t)hasOwnProp(t,n)&&(isObject(e[n])&&isObject(t[n])?(r[n]={},extend(r[n],e[n]),extend(r[n],t[n])):t[n]!=null?r[n]=t[n]:delete r[n]);for(n in e)hasOwnProp(e,n)&&!hasOwnProp(t,n)&&isObject(e[n])&&(r[n]=extend({},r[n]));return r}function Locale(e){e!=null&&this.set(e)}var keys;Object.keys?keys=Object.keys:keys=function(e){var t,r=[];for(t in e)hasOwnProp(e,t)&&r.push(t);return r};var defaultCalendar={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"};function calendar(e,t,r){var n=this._calendar[e]||this._calendar.sameElse;return isFunction(n)?n.call(t,r):n}function zeroFill(e,t,r){var n=""+Math.abs(e),a=t-n.length,o=e>=0;return(o?r?"+":"":"-")+Math.pow(10,Math.max(0,a)).toString().substr(1)+n}var formattingTokens=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,localFormattingTokens=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,formatFunctions={},formatTokenFunctions={};function addFormatToken(e,t,r,n){var a=n;typeof n=="string"&&(a=function(){return this[n]()}),e&&(formatTokenFunctions[e]=a),t&&(formatTokenFunctions[t[0]]=function(){return zeroFill(a.apply(this,arguments),t[1],t[2])}),r&&(formatTokenFunctions[r]=function(){return this.localeData().ordinal(a.apply(this,arguments),e)})}function removeFormattingTokens(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function makeFormatFunction(e){var t=e.match(formattingTokens),r,n;for(r=0,n=t.length;r<n;r++)formatTokenFunctions[t[r]]?t[r]=formatTokenFunctions[t[r]]:t[r]=removeFormattingTokens(t[r]);return function(a){var o="",s;for(s=0;s<n;s++)o+=isFunction(t[s])?t[s].call(a,e):t[s];return o}}function formatMoment(e,t){return e.isValid()?(t=expandFormat(t,e.localeData()),formatFunctions[t]=formatFunctions[t]||makeFormatFunction(t),formatFunctions[t](e)):e.localeData().invalidDate()}function expandFormat(e,t){var r=5;function n(a){return t.longDateFormat(a)||a}for(localFormattingTokens.lastIndex=0;r>=0&&localFormattingTokens.test(e);)e=e.replace(localFormattingTokens,n),localFormattingTokens.lastIndex=0,r-=1;return e}var defaultLongDateFormat={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function longDateFormat(e){var t=this._longDateFormat[e],r=this._longDateFormat[e.toUpperCase()];return t||!r?t:(this._longDateFormat[e]=r.match(formattingTokens).map(function(n){return n==="MMMM"||n==="MM"||n==="DD"||n==="dddd"?n.slice(1):n}).join(""),this._longDateFormat[e])}var defaultInvalidDate="Invalid date";function invalidDate(){return this._invalidDate}var defaultOrdinal="%d",defaultDayOfMonthOrdinalParse=/\d{1,2}/;function ordinal(e){return this._ordinal.replace("%d",e)}var defaultRelativeTime={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function relativeTime(e,t,r,n){var a=this._relativeTime[r];return isFunction(a)?a(e,t,r,n):a.replace(/%d/i,e)}function pastFuture(e,t){var r=this._relativeTime[e>0?"future":"past"];return isFunction(r)?r(t):r.replace(/%s/i,t)}var aliases={};function addUnitAlias(e,t){var r=e.toLowerCase();aliases[r]=aliases[r+"s"]=aliases[t]=e}function normalizeUnits(e){return typeof e=="string"?aliases[e]||aliases[e.toLowerCase()]:void 0}function normalizeObjectUnits(e){var t={},r,n;for(n in e)hasOwnProp(e,n)&&(r=normalizeUnits(n),r&&(t[r]=e[n]));return t}var priorities={};function addUnitPriority(e,t){priorities[e]=t}function getPrioritizedUnits(e){var t=[],r;for(r in e)hasOwnProp(e,r)&&t.push({unit:r,priority:priorities[r]});return t.sort(function(n,a){return n.priority-a.priority}),t}function isLeapYear(e){return e%4===0&&e%100!==0||e%400===0}function absFloor(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function toInt(e){var t=+e,r=0;return t!==0&&isFinite(t)&&(r=absFloor(t)),r}function makeGetSet(e,t){return function(r){return r!=null?(set$1(this,e,r),hooks.updateOffset(this,t),this):get(this,e)}}function get(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function set$1(e,t,r){e.isValid()&&!isNaN(r)&&(t==="FullYear"&&isLeapYear(e.year())&&e.month()===1&&e.date()===29?(r=toInt(r),e._d["set"+(e._isUTC?"UTC":"")+t](r,e.month(),daysInMonth(r,e.month()))):e._d["set"+(e._isUTC?"UTC":"")+t](r))}function stringGet(e){return e=normalizeUnits(e),isFunction(this[e])?this[e]():this}function stringSet(e,t){if(typeof e=="object"){e=normalizeObjectUnits(e);var r=getPrioritizedUnits(e),n,a=r.length;for(n=0;n<a;n++)this[r[n].unit](e[r[n].unit])}else if(e=normalizeUnits(e),isFunction(this[e]))return this[e](t);return this}var match1=/\d/,match2=/\d\d/,match3=/\d{3}/,match4=/\d{4}/,match6=/[+-]?\d{6}/,match1to2=/\d\d?/,match3to4=/\d\d\d\d?/,match5to6=/\d\d\d\d\d\d?/,match1to3=/\d{1,3}/,match1to4=/\d{1,4}/,match1to6=/[+-]?\d{1,6}/,matchUnsigned=/\d+/,matchSigned=/[+-]?\d+/,matchOffset=/Z|[+-]\d\d:?\d\d/gi,matchShortOffset=/Z|[+-]\d\d(?::?\d\d)?/gi,matchTimestamp=/[+-]?\d+(\.\d{1,3})?/,matchWord=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,regexes;regexes={};function addRegexToken(e,t,r){regexes[e]=isFunction(t)?t:function(n,a){return n&&r?r:t}}function getParseRegexForToken(e,t){return hasOwnProp(regexes,e)?regexes[e](t._strict,t._locale):new RegExp(unescapeFormat(e))}function unescapeFormat(e){return regexEscape(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,r,n,a,o){return r||n||a||o}))}function regexEscape(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var tokens={};function addParseToken(e,t){var r,n=t,a;for(typeof e=="string"&&(e=[e]),isNumber(t)&&(n=function(o,s){s[t]=toInt(o)}),a=e.length,r=0;r<a;r++)tokens[e[r]]=n}function addWeekParseToken(e,t){addParseToken(e,function(r,n,a,o){a._w=a._w||{},t(r,a._w,a,o)})}function addTimeToArrayFromToken(e,t,r){t!=null&&hasOwnProp(tokens,e)&&tokens[e](t,r._a,r,e)}var YEAR=0,MONTH=1,DATE=2,HOUR=3,MINUTE=4,SECOND=5,MILLISECOND=6,WEEK=7,WEEKDAY=8;function mod(e,t){return(e%t+t)%t}var indexOf;Array.prototype.indexOf?indexOf=Array.prototype.indexOf:indexOf=function(e){var t;for(t=0;t<this.length;++t)if(this[t]===e)return t;return-1};function daysInMonth(e,t){if(isNaN(e)||isNaN(t))return NaN;var r=mod(t,12);return e+=(t-r)/12,r===1?isLeapYear(e)?29:28:31-r%7%2}addFormatToken("M",["MM",2],"Mo",function(){return this.month()+1}),addFormatToken("MMM",0,0,function(e){return this.localeData().monthsShort(this,e)}),addFormatToken("MMMM",0,0,function(e){return this.localeData().months(this,e)}),addUnitAlias("month","M"),addUnitPriority("month",8),addRegexToken("M",match1to2),addRegexToken("MM",match1to2,match2),addRegexToken("MMM",function(e,t){return t.monthsShortRegex(e)}),addRegexToken("MMMM",function(e,t){return t.monthsRegex(e)}),addParseToken(["M","MM"],function(e,t){t[MONTH]=toInt(e)-1}),addParseToken(["MMM","MMMM"],function(e,t,r,n){var a=r._locale.monthsParse(e,n,r._strict);a!=null?t[MONTH]=a:getParsingFlags(r).invalidMonth=e});var defaultLocaleMonths="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),defaultLocaleMonthsShort="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),MONTHS_IN_FORMAT=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,defaultMonthsShortRegex=matchWord,defaultMonthsRegex=matchWord;function localeMonths(e,t){return e?isArray(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||MONTHS_IN_FORMAT).test(t)?"format":"standalone"][e.month()]:isArray(this._months)?this._months:this._months.standalone}function localeMonthsShort(e,t){return e?isArray(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[MONTHS_IN_FORMAT.test(t)?"format":"standalone"][e.month()]:isArray(this._monthsShort)?this._monthsShort:this._monthsShort.standalone}function handleStrictParse(e,t,r){var n,a,o,s=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],n=0;n<12;++n)o=createUTC([2e3,n]),this._shortMonthsParse[n]=this.monthsShort(o,"").toLocaleLowerCase(),this._longMonthsParse[n]=this.months(o,"").toLocaleLowerCase();return r?t==="MMM"?(a=indexOf.call(this._shortMonthsParse,s),a!==-1?a:null):(a=indexOf.call(this._longMonthsParse,s),a!==-1?a:null):t==="MMM"?(a=indexOf.call(this._shortMonthsParse,s),a!==-1?a:(a=indexOf.call(this._longMonthsParse,s),a!==-1?a:null)):(a=indexOf.call(this._longMonthsParse,s),a!==-1?a:(a=indexOf.call(this._shortMonthsParse,s),a!==-1?a:null))}function localeMonthsParse(e,t,r){var n,a,o;if(this._monthsParseExact)return handleStrictParse.call(this,e,t,r);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),n=0;n<12;n++){if(a=createUTC([2e3,n]),r&&!this._longMonthsParse[n]&&(this._longMonthsParse[n]=new RegExp("^"+this.months(a,"").replace(".","")+"$","i"),this._shortMonthsParse[n]=new RegExp("^"+this.monthsShort(a,"").replace(".","")+"$","i")),!r&&!this._monthsParse[n]&&(o="^"+this.months(a,"")+"|^"+this.monthsShort(a,""),this._monthsParse[n]=new RegExp(o.replace(".",""),"i")),r&&t==="MMMM"&&this._longMonthsParse[n].test(e))return n;if(r&&t==="MMM"&&this._shortMonthsParse[n].test(e))return n;if(!r&&this._monthsParse[n].test(e))return n}}function setMonth(e,t){var r;if(!e.isValid())return e;if(typeof t=="string"){if(/^\d+$/.test(t))t=toInt(t);else if(t=e.localeData().monthsParse(t),!isNumber(t))return e}return r=Math.min(e.date(),daysInMonth(e.year(),t)),e._d["set"+(e._isUTC?"UTC":"")+"Month"](t,r),e}function getSetMonth(e){return e!=null?(setMonth(this,e),hooks.updateOffset(this,!0),this):get(this,"Month")}function getDaysInMonth(){return daysInMonth(this.year(),this.month())}function monthsShortRegex(e){return this._monthsParseExact?(hasOwnProp(this,"_monthsRegex")||computeMonthsParse.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(hasOwnProp(this,"_monthsShortRegex")||(this._monthsShortRegex=defaultMonthsShortRegex),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)}function monthsRegex(e){return this._monthsParseExact?(hasOwnProp(this,"_monthsRegex")||computeMonthsParse.call(this),e?this._monthsStrictRegex:this._monthsRegex):(hasOwnProp(this,"_monthsRegex")||(this._monthsRegex=defaultMonthsRegex),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)}function computeMonthsParse(){function e(s,u){return u.length-s.length}var t=[],r=[],n=[],a,o;for(a=0;a<12;a++)o=createUTC([2e3,a]),t.push(this.monthsShort(o,"")),r.push(this.months(o,"")),n.push(this.months(o,"")),n.push(this.monthsShort(o,""));for(t.sort(e),r.sort(e),n.sort(e),a=0;a<12;a++)t[a]=regexEscape(t[a]),r[a]=regexEscape(r[a]);for(a=0;a<24;a++)n[a]=regexEscape(n[a]);this._monthsRegex=new RegExp("^("+n.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+r.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+t.join("|")+")","i")}addFormatToken("Y",0,0,function(){var e=this.year();return e<=9999?zeroFill(e,4):"+"+e}),addFormatToken(0,["YY",2],0,function(){return this.year()%100}),addFormatToken(0,["YYYY",4],0,"year"),addFormatToken(0,["YYYYY",5],0,"year"),addFormatToken(0,["YYYYYY",6,!0],0,"year"),addUnitAlias("year","y"),addUnitPriority("year",1),addRegexToken("Y",matchSigned),addRegexToken("YY",match1to2,match2),addRegexToken("YYYY",match1to4,match4),addRegexToken("YYYYY",match1to6,match6),addRegexToken("YYYYYY",match1to6,match6),addParseToken(["YYYYY","YYYYYY"],YEAR),addParseToken("YYYY",function(e,t){t[YEAR]=e.length===2?hooks.parseTwoDigitYear(e):toInt(e)}),addParseToken("YY",function(e,t){t[YEAR]=hooks.parseTwoDigitYear(e)}),addParseToken("Y",function(e,t){t[YEAR]=parseInt(e,10)});function daysInYear(e){return isLeapYear(e)?366:365}hooks.parseTwoDigitYear=function(e){return toInt(e)+(toInt(e)>68?1900:2e3)};var getSetYear=makeGetSet("FullYear",!0);function getIsLeapYear(){return isLeapYear(this.year())}function createDate(e,t,r,n,a,o,s){var u;return e<100&&e>=0?(u=new Date(e+400,t,r,n,a,o,s),isFinite(u.getFullYear())&&u.setFullYear(e)):u=new Date(e,t,r,n,a,o,s),u}function createUTCDate(e){var t,r;return e<100&&e>=0?(r=Array.prototype.slice.call(arguments),r[0]=e+400,t=new Date(Date.UTC.apply(null,r)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)):t=new Date(Date.UTC.apply(null,arguments)),t}function firstWeekOffset(e,t,r){var n=7+t-r,a=(7+createUTCDate(e,0,n).getUTCDay()-t)%7;return-a+n-1}function dayOfYearFromWeeks(e,t,r,n,a){var o=(7+r-n)%7,s=firstWeekOffset(e,n,a),u=1+7*(t-1)+o+s,l,c;return u<=0?(l=e-1,c=daysInYear(l)+u):u>daysInYear(e)?(l=e+1,c=u-daysInYear(e)):(l=e,c=u),{year:l,dayOfYear:c}}function weekOfYear(e,t,r){var n=firstWeekOffset(e.year(),t,r),a=Math.floor((e.dayOfYear()-n-1)/7)+1,o,s;return a<1?(s=e.year()-1,o=a+weeksInYear(s,t,r)):a>weeksInYear(e.year(),t,r)?(o=a-weeksInYear(e.year(),t,r),s=e.year()+1):(s=e.year(),o=a),{week:o,year:s}}function weeksInYear(e,t,r){var n=firstWeekOffset(e,t,r),a=firstWeekOffset(e+1,t,r);return(daysInYear(e)-n+a)/7}addFormatToken("w",["ww",2],"wo","week"),addFormatToken("W",["WW",2],"Wo","isoWeek"),addUnitAlias("week","w"),addUnitAlias("isoWeek","W"),addUnitPriority("week",5),addUnitPriority("isoWeek",5),addRegexToken("w",match1to2),addRegexToken("ww",match1to2,match2),addRegexToken("W",match1to2),addRegexToken("WW",match1to2,match2),addWeekParseToken(["w","ww","W","WW"],function(e,t,r,n){t[n.substr(0,1)]=toInt(e)});function localeWeek(e){return weekOfYear(e,this._week.dow,this._week.doy).week}var defaultLocaleWeek={dow:0,doy:6};function localeFirstDayOfWeek(){return this._week.dow}function localeFirstDayOfYear(){return this._week.doy}function getSetWeek(e){var t=this.localeData().week(this);return e==null?t:this.add((e-t)*7,"d")}function getSetISOWeek(e){var t=weekOfYear(this,1,4).week;return e==null?t:this.add((e-t)*7,"d")}addFormatToken("d",0,"do","day"),addFormatToken("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),addFormatToken("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),addFormatToken("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),addFormatToken("e",0,0,"weekday"),addFormatToken("E",0,0,"isoWeekday"),addUnitAlias("day","d"),addUnitAlias("weekday","e"),addUnitAlias("isoWeekday","E"),addUnitPriority("day",11),addUnitPriority("weekday",11),addUnitPriority("isoWeekday",11),addRegexToken("d",match1to2),addRegexToken("e",match1to2),addRegexToken("E",match1to2),addRegexToken("dd",function(e,t){return t.weekdaysMinRegex(e)}),addRegexToken("ddd",function(e,t){return t.weekdaysShortRegex(e)}),addRegexToken("dddd",function(e,t){return t.weekdaysRegex(e)}),addWeekParseToken(["dd","ddd","dddd"],function(e,t,r,n){var a=r._locale.weekdaysParse(e,n,r._strict);a!=null?t.d=a:getParsingFlags(r).invalidWeekday=e}),addWeekParseToken(["d","e","E"],function(e,t,r,n){t[n]=toInt(e)});function parseWeekday(e,t){return typeof e!="string"?e:isNaN(e)?(e=t.weekdaysParse(e),typeof e=="number"?e:null):parseInt(e,10)}function parseIsoWeekday(e,t){return typeof e=="string"?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}function shiftWeekdays(e,t){return e.slice(t,7).concat(e.slice(0,t))}var defaultLocaleWeekdays="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),defaultLocaleWeekdaysShort="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),defaultLocaleWeekdaysMin="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),defaultWeekdaysRegex=matchWord,defaultWeekdaysShortRegex=matchWord,defaultWeekdaysMinRegex=matchWord;function localeWeekdays(e,t){var r=isArray(this._weekdays)?this._weekdays:this._weekdays[e&&e!==!0&&this._weekdays.isFormat.test(t)?"format":"standalone"];return e===!0?shiftWeekdays(r,this._week.dow):e?r[e.day()]:r}function localeWeekdaysShort(e){return e===!0?shiftWeekdays(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort}function localeWeekdaysMin(e){return e===!0?shiftWeekdays(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin}function handleStrictParse$1(e,t,r){var n,a,o,s=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],n=0;n<7;++n)o=createUTC([2e3,1]).day(n),this._minWeekdaysParse[n]=this.weekdaysMin(o,"").toLocaleLowerCase(),this._shortWeekdaysParse[n]=this.weekdaysShort(o,"").toLocaleLowerCase(),this._weekdaysParse[n]=this.weekdays(o,"").toLocaleLowerCase();return r?t==="dddd"?(a=indexOf.call(this._weekdaysParse,s),a!==-1?a:null):t==="ddd"?(a=indexOf.call(this._shortWeekdaysParse,s),a!==-1?a:null):(a=indexOf.call(this._minWeekdaysParse,s),a!==-1?a:null):t==="dddd"?(a=indexOf.call(this._weekdaysParse,s),a!==-1||(a=indexOf.call(this._shortWeekdaysParse,s),a!==-1)?a:(a=indexOf.call(this._minWeekdaysParse,s),a!==-1?a:null)):t==="ddd"?(a=indexOf.call(this._shortWeekdaysParse,s),a!==-1||(a=indexOf.call(this._weekdaysParse,s),a!==-1)?a:(a=indexOf.call(this._minWeekdaysParse,s),a!==-1?a:null)):(a=indexOf.call(this._minWeekdaysParse,s),a!==-1||(a=indexOf.call(this._weekdaysParse,s),a!==-1)?a:(a=indexOf.call(this._shortWeekdaysParse,s),a!==-1?a:null))}function localeWeekdaysParse(e,t,r){var n,a,o;if(this._weekdaysParseExact)return handleStrictParse$1.call(this,e,t,r);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),n=0;n<7;n++){if(a=createUTC([2e3,1]).day(n),r&&!this._fullWeekdaysParse[n]&&(this._fullWeekdaysParse[n]=new RegExp("^"+this.weekdays(a,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[n]=new RegExp("^"+this.weekdaysShort(a,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[n]=new RegExp("^"+this.weekdaysMin(a,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[n]||(o="^"+this.weekdays(a,"")+"|^"+this.weekdaysShort(a,"")+"|^"+this.weekdaysMin(a,""),this._weekdaysParse[n]=new RegExp(o.replace(".",""),"i")),r&&t==="dddd"&&this._fullWeekdaysParse[n].test(e))return n;if(r&&t==="ddd"&&this._shortWeekdaysParse[n].test(e))return n;if(r&&t==="dd"&&this._minWeekdaysParse[n].test(e))return n;if(!r&&this._weekdaysParse[n].test(e))return n}}function getSetDayOfWeek(e){if(!this.isValid())return e!=null?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return e!=null?(e=parseWeekday(e,this.localeData()),this.add(e-t,"d")):t}function getSetLocaleDayOfWeek(e){if(!this.isValid())return e!=null?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return e==null?t:this.add(e-t,"d")}function getSetISODayOfWeek(e){if(!this.isValid())return e!=null?this:NaN;if(e!=null){var t=parseIsoWeekday(e,this.localeData());return this.day(this.day()%7?t:t-7)}else return this.day()||7}function weekdaysRegex(e){return this._weekdaysParseExact?(hasOwnProp(this,"_weekdaysRegex")||computeWeekdaysParse.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(hasOwnProp(this,"_weekdaysRegex")||(this._weekdaysRegex=defaultWeekdaysRegex),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)}function weekdaysShortRegex(e){return this._weekdaysParseExact?(hasOwnProp(this,"_weekdaysRegex")||computeWeekdaysParse.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(hasOwnProp(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=defaultWeekdaysShortRegex),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function weekdaysMinRegex(e){return this._weekdaysParseExact?(hasOwnProp(this,"_weekdaysRegex")||computeWeekdaysParse.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(hasOwnProp(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=defaultWeekdaysMinRegex),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function computeWeekdaysParse(){function e(d,f){return f.length-d.length}var t=[],r=[],n=[],a=[],o,s,u,l,c;for(o=0;o<7;o++)s=createUTC([2e3,1]).day(o),u=regexEscape(this.weekdaysMin(s,"")),l=regexEscape(this.weekdaysShort(s,"")),c=regexEscape(this.weekdays(s,"")),t.push(u),r.push(l),n.push(c),a.push(u),a.push(l),a.push(c);t.sort(e),r.sort(e),n.sort(e),a.sort(e),this._weekdaysRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+n.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+r.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+t.join("|")+")","i")}function hFormat(){return this.hours()%12||12}function kFormat(){return this.hours()||24}addFormatToken("H",["HH",2],0,"hour"),addFormatToken("h",["hh",2],0,hFormat),addFormatToken("k",["kk",2],0,kFormat),addFormatToken("hmm",0,0,function(){return""+hFormat.apply(this)+zeroFill(this.minutes(),2)}),addFormatToken("hmmss",0,0,function(){return""+hFormat.apply(this)+zeroFill(this.minutes(),2)+zeroFill(this.seconds(),2)}),addFormatToken("Hmm",0,0,function(){return""+this.hours()+zeroFill(this.minutes(),2)}),addFormatToken("Hmmss",0,0,function(){return""+this.hours()+zeroFill(this.minutes(),2)+zeroFill(this.seconds(),2)});function meridiem(e,t){addFormatToken(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}meridiem("a",!0),meridiem("A",!1),addUnitAlias("hour","h"),addUnitPriority("hour",13);function matchMeridiem(e,t){return t._meridiemParse}addRegexToken("a",matchMeridiem),addRegexToken("A",matchMeridiem),addRegexToken("H",match1to2),addRegexToken("h",match1to2),addRegexToken("k",match1to2),addRegexToken("HH",match1to2,match2),addRegexToken("hh",match1to2,match2),addRegexToken("kk",match1to2,match2),addRegexToken("hmm",match3to4),addRegexToken("hmmss",match5to6),addRegexToken("Hmm",match3to4),addRegexToken("Hmmss",match5to6),addParseToken(["H","HH"],HOUR),addParseToken(["k","kk"],function(e,t,r){var n=toInt(e);t[HOUR]=n===24?0:n}),addParseToken(["a","A"],function(e,t,r){r._isPm=r._locale.isPM(e),r._meridiem=e}),addParseToken(["h","hh"],function(e,t,r){t[HOUR]=toInt(e),getParsingFlags(r).bigHour=!0}),addParseToken("hmm",function(e,t,r){var n=e.length-2;t[HOUR]=toInt(e.substr(0,n)),t[MINUTE]=toInt(e.substr(n)),getParsingFlags(r).bigHour=!0}),addParseToken("hmmss",function(e,t,r){var n=e.length-4,a=e.length-2;t[HOUR]=toInt(e.substr(0,n)),t[MINUTE]=toInt(e.substr(n,2)),t[SECOND]=toInt(e.substr(a)),getParsingFlags(r).bigHour=!0}),addParseToken("Hmm",function(e,t,r){var n=e.length-2;t[HOUR]=toInt(e.substr(0,n)),t[MINUTE]=toInt(e.substr(n))}),addParseToken("Hmmss",function(e,t,r){var n=e.length-4,a=e.length-2;t[HOUR]=toInt(e.substr(0,n)),t[MINUTE]=toInt(e.substr(n,2)),t[SECOND]=toInt(e.substr(a))});function localeIsPM(e){return(e+"").toLowerCase().charAt(0)==="p"}var defaultLocaleMeridiemParse=/[ap]\.?m?\.?/i,getSetHour=makeGetSet("Hours",!0);function localeMeridiem(e,t,r){return e>11?r?"pm":"PM":r?"am":"AM"}var baseConfig={calendar:defaultCalendar,longDateFormat:defaultLongDateFormat,invalidDate:defaultInvalidDate,ordinal:defaultOrdinal,dayOfMonthOrdinalParse:defaultDayOfMonthOrdinalParse,relativeTime:defaultRelativeTime,months:defaultLocaleMonths,monthsShort:defaultLocaleMonthsShort,week:defaultLocaleWeek,weekdays:defaultLocaleWeekdays,weekdaysMin:defaultLocaleWeekdaysMin,weekdaysShort:defaultLocaleWeekdaysShort,meridiemParse:defaultLocaleMeridiemParse},locales={},localeFamilies={},globalLocale;function commonPrefix(e,t){var r,n=Math.min(e.length,t.length);for(r=0;r<n;r+=1)if(e[r]!==t[r])return r;return n}function normalizeLocale(e){return e&&e.toLowerCase().replace("_","-")}function chooseLocale(e){for(var t=0,r,n,a,o;t<e.length;){for(o=normalizeLocale(e[t]).split("-"),r=o.length,n=normalizeLocale(e[t+1]),n=n?n.split("-"):null;r>0;){if(a=loadLocale(o.slice(0,r).join("-")),a)return a;if(n&&n.length>=r&&commonPrefix(o,n)>=r-1)break;r--}t++}return globalLocale}function isLocaleNameSane(e){return e.match("^[^/\\\\]*$")!=null}function loadLocale(e){var t=null,r;if(locales[e]===void 0&&typeof module<"u"&&module&&module.exports&&isLocaleNameSane(e))try{t=globalLocale._abbr,r=require,r("./locale/"+e),getSetGlobalLocale(t)}catch{locales[e]=null}return locales[e]}function getSetGlobalLocale(e,t){var r;return e&&(isUndefined(t)?r=getLocale(e):r=defineLocale(e,t),r?globalLocale=r:typeof console<"u"&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),globalLocale._abbr}function defineLocale(e,t){if(t!==null){var r,n=baseConfig;if(t.abbr=e,locales[e]!=null)deprecateSimple("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),n=locales[e]._config;else if(t.parentLocale!=null)if(locales[t.parentLocale]!=null)n=locales[t.parentLocale]._config;else if(r=loadLocale(t.parentLocale),r!=null)n=r._config;else return localeFamilies[t.parentLocale]||(localeFamilies[t.parentLocale]=[]),localeFamilies[t.parentLocale].push({name:e,config:t}),null;return locales[e]=new Locale(mergeConfigs(n,t)),localeFamilies[e]&&localeFamilies[e].forEach(function(a){defineLocale(a.name,a.config)}),getSetGlobalLocale(e),locales[e]}else return delete locales[e],null}function updateLocale(e,t){if(t!=null){var r,n,a=baseConfig;locales[e]!=null&&locales[e].parentLocale!=null?locales[e].set(mergeConfigs(locales[e]._config,t)):(n=loadLocale(e),n!=null&&(a=n._config),t=mergeConfigs(a,t),n==null&&(t.abbr=e),r=new Locale(t),r.parentLocale=locales[e],locales[e]=r),getSetGlobalLocale(e)}else locales[e]!=null&&(locales[e].parentLocale!=null?(locales[e]=locales[e].parentLocale,e===getSetGlobalLocale()&&getSetGlobalLocale(e)):locales[e]!=null&&delete locales[e]);return locales[e]}function getLocale(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return globalLocale;if(!isArray(e)){if(t=loadLocale(e),t)return t;e=[e]}return chooseLocale(e)}function listLocales(){return keys(locales)}function checkOverflow(e){var t,r=e._a;return r&&getParsingFlags(e).overflow===-2&&(t=r[MONTH]<0||r[MONTH]>11?MONTH:r[DATE]<1||r[DATE]>daysInMonth(r[YEAR],r[MONTH])?DATE:r[HOUR]<0||r[HOUR]>24||r[HOUR]===24&&(r[MINUTE]!==0||r[SECOND]!==0||r[MILLISECOND]!==0)?HOUR:r[MINUTE]<0||r[MINUTE]>59?MINUTE:r[SECOND]<0||r[SECOND]>59?SECOND:r[MILLISECOND]<0||r[MILLISECOND]>999?MILLISECOND:-1,getParsingFlags(e)._overflowDayOfYear&&(t<YEAR||t>DATE)&&(t=DATE),getParsingFlags(e)._overflowWeeks&&t===-1&&(t=WEEK),getParsingFlags(e)._overflowWeekday&&t===-1&&(t=WEEKDAY),getParsingFlags(e).overflow=t),e}var extendedIsoRegex=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,basicIsoRegex=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,tzRegex=/Z|[+-]\d\d(?::?\d\d)?/,isoDates=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],isoTimes=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],aspNetJsonRegex=/^\/?Date\((-?\d+)/i,rfc2822=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,obsOffsets={UT:0,GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function configFromISO(e){var t,r,n=e._i,a=extendedIsoRegex.exec(n)||basicIsoRegex.exec(n),o,s,u,l,c=isoDates.length,d=isoTimes.length;if(a){for(getParsingFlags(e).iso=!0,t=0,r=c;t<r;t++)if(isoDates[t][1].exec(a[1])){s=isoDates[t][0],o=isoDates[t][2]!==!1;break}if(s==null){e._isValid=!1;return}if(a[3]){for(t=0,r=d;t<r;t++)if(isoTimes[t][1].exec(a[3])){u=(a[2]||" ")+isoTimes[t][0];break}if(u==null){e._isValid=!1;return}}if(!o&&u!=null){e._isValid=!1;return}if(a[4])if(tzRegex.exec(a[4]))l="Z";else{e._isValid=!1;return}e._f=s+(u||"")+(l||""),configFromStringAndFormat(e)}else e._isValid=!1}function extractFromRFC2822Strings(e,t,r,n,a,o){var s=[untruncateYear(e),defaultLocaleMonthsShort.indexOf(t),parseInt(r,10),parseInt(n,10),parseInt(a,10)];return o&&s.push(parseInt(o,10)),s}function untruncateYear(e){var t=parseInt(e,10);return t<=49?2e3+t:t<=999?1900+t:t}function preprocessRFC2822(e){return e.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function checkWeekday(e,t,r){if(e){var n=defaultLocaleWeekdaysShort.indexOf(e),a=new Date(t[0],t[1],t[2]).getDay();if(n!==a)return getParsingFlags(r).weekdayMismatch=!0,r._isValid=!1,!1}return!0}function calculateOffset(e,t,r){if(e)return obsOffsets[e];if(t)return 0;var n=parseInt(r,10),a=n%100,o=(n-a)/100;return o*60+a}function configFromRFC2822(e){var t=rfc2822.exec(preprocessRFC2822(e._i)),r;if(t){if(r=extractFromRFC2822Strings(t[4],t[3],t[2],t[5],t[6],t[7]),!checkWeekday(t[1],r,e))return;e._a=r,e._tzm=calculateOffset(t[8],t[9],t[10]),e._d=createUTCDate.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),getParsingFlags(e).rfc2822=!0}else e._isValid=!1}function configFromString(e){var t=aspNetJsonRegex.exec(e._i);if(t!==null){e._d=new Date(+t[1]);return}if(configFromISO(e),e._isValid===!1)delete e._isValid;else return;if(configFromRFC2822(e),e._isValid===!1)delete e._isValid;else return;e._strict?e._isValid=!1:hooks.createFromInputFallback(e)}hooks.createFromInputFallback=deprecate("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))});function defaults(e,t,r){return e!=null?e:t!=null?t:r}function currentDateArray(e){var t=new Date(hooks.now());return e._useUTC?[t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()]:[t.getFullYear(),t.getMonth(),t.getDate()]}function configFromArray(e){var t,r,n=[],a,o,s;if(!e._d){for(a=currentDateArray(e),e._w&&e._a[DATE]==null&&e._a[MONTH]==null&&dayOfYearFromWeekInfo(e),e._dayOfYear!=null&&(s=defaults(e._a[YEAR],a[YEAR]),(e._dayOfYear>daysInYear(s)||e._dayOfYear===0)&&(getParsingFlags(e)._overflowDayOfYear=!0),r=createUTCDate(s,0,e._dayOfYear),e._a[MONTH]=r.getUTCMonth(),e._a[DATE]=r.getUTCDate()),t=0;t<3&&e._a[t]==null;++t)e._a[t]=n[t]=a[t];for(;t<7;t++)e._a[t]=n[t]=e._a[t]==null?t===2?1:0:e._a[t];e._a[HOUR]===24&&e._a[MINUTE]===0&&e._a[SECOND]===0&&e._a[MILLISECOND]===0&&(e._nextDay=!0,e._a[HOUR]=0),e._d=(e._useUTC?createUTCDate:createDate).apply(null,n),o=e._useUTC?e._d.getUTCDay():e._d.getDay(),e._tzm!=null&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[HOUR]=24),e._w&&typeof e._w.d<"u"&&e._w.d!==o&&(getParsingFlags(e).weekdayMismatch=!0)}}function dayOfYearFromWeekInfo(e){var t,r,n,a,o,s,u,l,c;t=e._w,t.GG!=null||t.W!=null||t.E!=null?(o=1,s=4,r=defaults(t.GG,e._a[YEAR],weekOfYear(createLocal(),1,4).year),n=defaults(t.W,1),a=defaults(t.E,1),(a<1||a>7)&&(l=!0)):(o=e._locale._week.dow,s=e._locale._week.doy,c=weekOfYear(createLocal(),o,s),r=defaults(t.gg,e._a[YEAR],c.year),n=defaults(t.w,c.week),t.d!=null?(a=t.d,(a<0||a>6)&&(l=!0)):t.e!=null?(a=t.e+o,(t.e<0||t.e>6)&&(l=!0)):a=o),n<1||n>weeksInYear(r,o,s)?getParsingFlags(e)._overflowWeeks=!0:l!=null?getParsingFlags(e)._overflowWeekday=!0:(u=dayOfYearFromWeeks(r,n,a,o,s),e._a[YEAR]=u.year,e._dayOfYear=u.dayOfYear)}hooks.ISO_8601=function(){},hooks.RFC_2822=function(){};function configFromStringAndFormat(e){if(e._f===hooks.ISO_8601){configFromISO(e);return}if(e._f===hooks.RFC_2822){configFromRFC2822(e);return}e._a=[],getParsingFlags(e).empty=!0;var t=""+e._i,r,n,a,o,s,u=t.length,l=0,c,d;for(a=expandFormat(e._f,e._locale).match(formattingTokens)||[],d=a.length,r=0;r<d;r++)o=a[r],n=(t.match(getParseRegexForToken(o,e))||[])[0],n&&(s=t.substr(0,t.indexOf(n)),s.length>0&&getParsingFlags(e).unusedInput.push(s),t=t.slice(t.indexOf(n)+n.length),l+=n.length),formatTokenFunctions[o]?(n?getParsingFlags(e).empty=!1:getParsingFlags(e).unusedTokens.push(o),addTimeToArrayFromToken(o,n,e)):e._strict&&!n&&getParsingFlags(e).unusedTokens.push(o);getParsingFlags(e).charsLeftOver=u-l,t.length>0&&getParsingFlags(e).unusedInput.push(t),e._a[HOUR]<=12&&getParsingFlags(e).bigHour===!0&&e._a[HOUR]>0&&(getParsingFlags(e).bigHour=void 0),getParsingFlags(e).parsedDateParts=e._a.slice(0),getParsingFlags(e).meridiem=e._meridiem,e._a[HOUR]=meridiemFixWrap(e._locale,e._a[HOUR],e._meridiem),c=getParsingFlags(e).era,c!==null&&(e._a[YEAR]=e._locale.erasConvertYear(c,e._a[YEAR])),configFromArray(e),checkOverflow(e)}function meridiemFixWrap(e,t,r){var n;return r==null?t:e.meridiemHour!=null?e.meridiemHour(t,r):(e.isPM!=null&&(n=e.isPM(r),n&&t<12&&(t+=12),!n&&t===12&&(t=0)),t)}function configFromStringAndArray(e){var t,r,n,a,o,s,u=!1,l=e._f.length;if(l===0){getParsingFlags(e).invalidFormat=!0,e._d=new Date(NaN);return}for(a=0;a<l;a++)o=0,s=!1,t=copyConfig({},e),e._useUTC!=null&&(t._useUTC=e._useUTC),t._f=e._f[a],configFromStringAndFormat(t),isValid(t)&&(s=!0),o+=getParsingFlags(t).charsLeftOver,o+=getParsingFlags(t).unusedTokens.length*10,getParsingFlags(t).score=o,u?o<n&&(n=o,r=t):(n==null||o<n||s)&&(n=o,r=t,s&&(u=!0));extend(e,r||t)}function configFromObject(e){if(!e._d){var t=normalizeObjectUnits(e._i),r=t.day===void 0?t.date:t.day;e._a=map([t.year,t.month,r,t.hour,t.minute,t.second,t.millisecond],function(n){return n&&parseInt(n,10)}),configFromArray(e)}}function createFromConfig(e){var t=new Moment(checkOverflow(prepareConfig(e)));return t._nextDay&&(t.add(1,"d"),t._nextDay=void 0),t}function prepareConfig(e){var t=e._i,r=e._f;return e._locale=e._locale||getLocale(e._l),t===null||r===void 0&&t===""?createInvalid({nullInput:!0}):(typeof t=="string"&&(e._i=t=e._locale.preparse(t)),isMoment(t)?new Moment(checkOverflow(t)):(isDate(t)?e._d=t:isArray(r)?configFromStringAndArray(e):r?configFromStringAndFormat(e):configFromInput(e),isValid(e)||(e._d=null),e))}function configFromInput(e){var t=e._i;isUndefined(t)?e._d=new Date(hooks.now()):isDate(t)?e._d=new Date(t.valueOf()):typeof t=="string"?configFromString(e):isArray(t)?(e._a=map(t.slice(0),function(r){return parseInt(r,10)}),configFromArray(e)):isObject(t)?configFromObject(e):isNumber(t)?e._d=new Date(t):hooks.createFromInputFallback(e)}function createLocalOrUTC(e,t,r,n,a){var o={};return(t===!0||t===!1)&&(n=t,t=void 0),(r===!0||r===!1)&&(n=r,r=void 0),(isObject(e)&&isObjectEmpty(e)||isArray(e)&&e.length===0)&&(e=void 0),o._isAMomentObject=!0,o._useUTC=o._isUTC=a,o._l=r,o._i=e,o._f=t,o._strict=n,createFromConfig(o)}function createLocal(e,t,r,n){return createLocalOrUTC(e,t,r,n,!1)}var prototypeMin=deprecate("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=createLocal.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:createInvalid()}),prototypeMax=deprecate("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=createLocal.apply(null,arguments);return this.isValid()&&e.isValid()?e>this?this:e:createInvalid()});function pickBy(e,t){var r,n;if(t.length===1&&isArray(t[0])&&(t=t[0]),!t.length)return createLocal();for(r=t[0],n=1;n<t.length;++n)(!t[n].isValid()||t[n][e](r))&&(r=t[n]);return r}function min(){var e=[].slice.call(arguments,0);return pickBy("isBefore",e)}function max(){var e=[].slice.call(arguments,0);return pickBy("isAfter",e)}var now=function(){return Date.now?Date.now():+new Date},ordering=["year","quarter","month","week","day","hour","minute","second","millisecond"];function isDurationValid(e){var t,r=!1,n,a=ordering.length;for(t in e)if(hasOwnProp(e,t)&&!(indexOf.call(ordering,t)!==-1&&(e[t]==null||!isNaN(e[t]))))return!1;for(n=0;n<a;++n)if(e[ordering[n]]){if(r)return!1;parseFloat(e[ordering[n]])!==toInt(e[ordering[n]])&&(r=!0)}return!0}function isValid$1(){return this._isValid}function createInvalid$1(){return createDuration(NaN)}function Duration(e){var t=normalizeObjectUnits(e),r=t.year||0,n=t.quarter||0,a=t.month||0,o=t.week||t.isoWeek||0,s=t.day||0,u=t.hour||0,l=t.minute||0,c=t.second||0,d=t.millisecond||0;this._isValid=isDurationValid(t),this._milliseconds=+d+c*1e3+l*6e4+u*1e3*60*60,this._days=+s+o*7,this._months=+a+n*3+r*12,this._data={},this._locale=getLocale(),this._bubble()}function isDuration(e){return e instanceof Duration}function absRound(e){return e<0?Math.round(-1*e)*-1:Math.round(e)}function compareArrays(e,t,r){var n=Math.min(e.length,t.length),a=Math.abs(e.length-t.length),o=0,s;for(s=0;s<n;s++)(r&&e[s]!==t[s]||!r&&toInt(e[s])!==toInt(t[s]))&&o++;return o+a}function offset(e,t){addFormatToken(e,0,0,function(){var r=this.utcOffset(),n="+";return r<0&&(r=-r,n="-"),n+zeroFill(~~(r/60),2)+t+zeroFill(~~r%60,2)})}offset("Z",":"),offset("ZZ",""),addRegexToken("Z",matchShortOffset),addRegexToken("ZZ",matchShortOffset),addParseToken(["Z","ZZ"],function(e,t,r){r._useUTC=!0,r._tzm=offsetFromString(matchShortOffset,e)});var chunkOffset=/([\+\-]|\d\d)/gi;function offsetFromString(e,t){var r=(t||"").match(e),n,a,o;return r===null?null:(n=r[r.length-1]||[],a=(n+"").match(chunkOffset)||["-",0,0],o=+(a[1]*60)+toInt(a[2]),o===0?0:a[0]==="+"?o:-o)}function cloneWithOffset(e,t){var r,n;return t._isUTC?(r=t.clone(),n=(isMoment(e)||isDate(e)?e.valueOf():createLocal(e).valueOf())-r.valueOf(),r._d.setTime(r._d.valueOf()+n),hooks.updateOffset(r,!1),r):createLocal(e).local()}function getDateOffset(e){return-Math.round(e._d.getTimezoneOffset())}hooks.updateOffset=function(){};function getSetOffset(e,t,r){var n=this._offset||0,a;if(!this.isValid())return e!=null?this:NaN;if(e!=null){if(typeof e=="string"){if(e=offsetFromString(matchShortOffset,e),e===null)return this}else Math.abs(e)<16&&!r&&(e=e*60);return!this._isUTC&&t&&(a=getDateOffset(this)),this._offset=e,this._isUTC=!0,a!=null&&this.add(a,"m"),n!==e&&(!t||this._changeInProgress?addSubtract(this,createDuration(e-n,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,hooks.updateOffset(this,!0),this._changeInProgress=null)),this}else return this._isUTC?n:getDateOffset(this)}function getSetZone(e,t){return e!=null?(typeof e!="string"&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}function setOffsetToUTC(e){return this.utcOffset(0,e)}function setOffsetToLocal(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(getDateOffset(this),"m")),this}function setOffsetToParsedOffset(){if(this._tzm!=null)this.utcOffset(this._tzm,!1,!0);else if(typeof this._i=="string"){var e=offsetFromString(matchOffset,this._i);e!=null?this.utcOffset(e):this.utcOffset(0,!0)}return this}function hasAlignedHourOffset(e){return this.isValid()?(e=e?createLocal(e).utcOffset():0,(this.utcOffset()-e)%60===0):!1}function isDaylightSavingTime(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function isDaylightSavingTimeShifted(){if(!isUndefined(this._isDSTShifted))return this._isDSTShifted;var e={},t;return copyConfig(e,this),e=prepareConfig(e),e._a?(t=e._isUTC?createUTC(e._a):createLocal(e._a),this._isDSTShifted=this.isValid()&&compareArrays(e._a,t.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}function isLocal(){return this.isValid()?!this._isUTC:!1}function isUtcOffset(){return this.isValid()?this._isUTC:!1}function isUtc(){return this.isValid()?this._isUTC&&this._offset===0:!1}var aspNetRegex=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,isoRegex=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function createDuration(e,t){var r=e,n=null,a,o,s;return isDuration(e)?r={ms:e._milliseconds,d:e._days,M:e._months}:isNumber(e)||!isNaN(+e)?(r={},t?r[t]=+e:r.milliseconds=+e):(n=aspNetRegex.exec(e))?(a=n[1]==="-"?-1:1,r={y:0,d:toInt(n[DATE])*a,h:toInt(n[HOUR])*a,m:toInt(n[MINUTE])*a,s:toInt(n[SECOND])*a,ms:toInt(absRound(n[MILLISECOND]*1e3))*a}):(n=isoRegex.exec(e))?(a=n[1]==="-"?-1:1,r={y:parseIso(n[2],a),M:parseIso(n[3],a),w:parseIso(n[4],a),d:parseIso(n[5],a),h:parseIso(n[6],a),m:parseIso(n[7],a),s:parseIso(n[8],a)}):r==null?r={}:typeof r=="object"&&("from"in r||"to"in r)&&(s=momentsDifference(createLocal(r.from),createLocal(r.to)),r={},r.ms=s.milliseconds,r.M=s.months),o=new Duration(r),isDuration(e)&&hasOwnProp(e,"_locale")&&(o._locale=e._locale),isDuration(e)&&hasOwnProp(e,"_isValid")&&(o._isValid=e._isValid),o}createDuration.fn=Duration.prototype,createDuration.invalid=createInvalid$1;function parseIso(e,t){var r=e&&parseFloat(e.replace(",","."));return(isNaN(r)?0:r)*t}function positiveMomentsDifference(e,t){var r={};return r.months=t.month()-e.month()+(t.year()-e.year())*12,e.clone().add(r.months,"M").isAfter(t)&&--r.months,r.milliseconds=+t-+e.clone().add(r.months,"M"),r}function momentsDifference(e,t){var r;return e.isValid()&&t.isValid()?(t=cloneWithOffset(t,e),e.isBefore(t)?r=positiveMomentsDifference(e,t):(r=positiveMomentsDifference(t,e),r.milliseconds=-r.milliseconds,r.months=-r.months),r):{milliseconds:0,months:0}}function createAdder(e,t){return function(r,n){var a,o;return n!==null&&!isNaN(+n)&&(deprecateSimple(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),o=r,r=n,n=o),a=createDuration(r,n),addSubtract(this,a,e),this}}function addSubtract(e,t,r,n){var a=t._milliseconds,o=absRound(t._days),s=absRound(t._months);!e.isValid()||(n=n==null?!0:n,s&&setMonth(e,get(e,"Month")+s*r),o&&set$1(e,"Date",get(e,"Date")+o*r),a&&e._d.setTime(e._d.valueOf()+a*r),n&&hooks.updateOffset(e,o||s))}var add=createAdder(1,"add"),subtract=createAdder(-1,"subtract");function isString(e){return typeof e=="string"||e instanceof String}function isMomentInput(e){return isMoment(e)||isDate(e)||isString(e)||isNumber(e)||isNumberOrStringArray(e)||isMomentInputObject(e)||e===null||e===void 0}function isMomentInputObject(e){var t=isObject(e)&&!isObjectEmpty(e),r=!1,n=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],a,o,s=n.length;for(a=0;a<s;a+=1)o=n[a],r=r||hasOwnProp(e,o);return t&&r}function isNumberOrStringArray(e){var t=isArray(e),r=!1;return t&&(r=e.filter(function(n){return!isNumber(n)&&isString(e)}).length===0),t&&r}function isCalendarSpec(e){var t=isObject(e)&&!isObjectEmpty(e),r=!1,n=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"],a,o;for(a=0;a<n.length;a+=1)o=n[a],r=r||hasOwnProp(e,o);return t&&r}function getCalendarFormat(e,t){var r=e.diff(t,"days",!0);return r<-6?"sameElse":r<-1?"lastWeek":r<0?"lastDay":r<1?"sameDay":r<2?"nextDay":r<7?"nextWeek":"sameElse"}function calendar$1(e,t){arguments.length===1&&(arguments[0]?isMomentInput(arguments[0])?(e=arguments[0],t=void 0):isCalendarSpec(arguments[0])&&(t=arguments[0],e=void 0):(e=void 0,t=void 0));var r=e||createLocal(),n=cloneWithOffset(r,this).startOf("day"),a=hooks.calendarFormat(this,n)||"sameElse",o=t&&(isFunction(t[a])?t[a].call(this,r):t[a]);return this.format(o||this.localeData().calendar(a,this,createLocal(r)))}function clone(){return new Moment(this)}function isAfter(e,t){var r=isMoment(e)?e:createLocal(e);return this.isValid()&&r.isValid()?(t=normalizeUnits(t)||"millisecond",t==="millisecond"?this.valueOf()>r.valueOf():r.valueOf()<this.clone().startOf(t).valueOf()):!1}function isBefore(e,t){var r=isMoment(e)?e:createLocal(e);return this.isValid()&&r.isValid()?(t=normalizeUnits(t)||"millisecond",t==="millisecond"?this.valueOf()<r.valueOf():this.clone().endOf(t).valueOf()<r.valueOf()):!1}function isBetween(e,t,r,n){var a=isMoment(e)?e:createLocal(e),o=isMoment(t)?t:createLocal(t);return this.isValid()&&a.isValid()&&o.isValid()?(n=n||"()",(n[0]==="("?this.isAfter(a,r):!this.isBefore(a,r))&&(n[1]===")"?this.isBefore(o,r):!this.isAfter(o,r))):!1}function isSame(e,t){var r=isMoment(e)?e:createLocal(e),n;return this.isValid()&&r.isValid()?(t=normalizeUnits(t)||"millisecond",t==="millisecond"?this.valueOf()===r.valueOf():(n=r.valueOf(),this.clone().startOf(t).valueOf()<=n&&n<=this.clone().endOf(t).valueOf())):!1}function isSameOrAfter(e,t){return this.isSame(e,t)||this.isAfter(e,t)}function isSameOrBefore(e,t){return this.isSame(e,t)||this.isBefore(e,t)}function diff(e,t,r){var n,a,o;if(!this.isValid())return NaN;if(n=cloneWithOffset(e,this),!n.isValid())return NaN;switch(a=(n.utcOffset()-this.utcOffset())*6e4,t=normalizeUnits(t),t){case"year":o=monthDiff(this,n)/12;break;case"month":o=monthDiff(this,n);break;case"quarter":o=monthDiff(this,n)/3;break;case"second":o=(this-n)/1e3;break;case"minute":o=(this-n)/6e4;break;case"hour":o=(this-n)/36e5;break;case"day":o=(this-n-a)/864e5;break;case"week":o=(this-n-a)/6048e5;break;default:o=this-n}return r?o:absFloor(o)}function monthDiff(e,t){if(e.date()<t.date())return-monthDiff(t,e);var r=(t.year()-e.year())*12+(t.month()-e.month()),n=e.clone().add(r,"months"),a,o;return t-n<0?(a=e.clone().add(r-1,"months"),o=(t-n)/(n-a)):(a=e.clone().add(r+1,"months"),o=(t-n)/(a-n)),-(r+o)||0}hooks.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",hooks.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";function toString(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function toISOString(e){if(!this.isValid())return null;var t=e!==!0,r=t?this.clone().utc():this;return r.year()<0||r.year()>9999?formatMoment(r,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):isFunction(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+this.utcOffset()*60*1e3).toISOString().replace("Z",formatMoment(r,"Z")):formatMoment(r,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function inspect(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="",r,n,a,o;return this.isLocal()||(e=this.utcOffset()===0?"moment.utc":"moment.parseZone",t="Z"),r="["+e+'("]',n=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",a="-MM-DD[T]HH:mm:ss.SSS",o=t+'[")]',this.format(r+n+a+o)}function format(e){e||(e=this.isUtc()?hooks.defaultFormatUtc:hooks.defaultFormat);var t=formatMoment(this,e);return this.localeData().postformat(t)}function from(e,t){return this.isValid()&&(isMoment(e)&&e.isValid()||createLocal(e).isValid())?createDuration({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function fromNow(e){return this.from(createLocal(),e)}function to(e,t){return this.isValid()&&(isMoment(e)&&e.isValid()||createLocal(e).isValid())?createDuration({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function toNow(e){return this.to(createLocal(),e)}function locale(e){var t;return e===void 0?this._locale._abbr:(t=getLocale(e),t!=null&&(this._locale=t),this)}var lang=deprecate("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return e===void 0?this.localeData():this.locale(e)});function localeData(){return this._locale}var MS_PER_SECOND=1e3,MS_PER_MINUTE=60*MS_PER_SECOND,MS_PER_HOUR=60*MS_PER_MINUTE,MS_PER_400_YEARS=(365*400+97)*24*MS_PER_HOUR;function mod$1(e,t){return(e%t+t)%t}function localStartOfDate(e,t,r){return e<100&&e>=0?new Date(e+400,t,r)-MS_PER_400_YEARS:new Date(e,t,r).valueOf()}function utcStartOfDate(e,t,r){return e<100&&e>=0?Date.UTC(e+400,t,r)-MS_PER_400_YEARS:Date.UTC(e,t,r)}function startOf(e){var t,r;if(e=normalizeUnits(e),e===void 0||e==="millisecond"||!this.isValid())return this;switch(r=this._isUTC?utcStartOfDate:localStartOfDate,e){case"year":t=r(this.year(),0,1);break;case"quarter":t=r(this.year(),this.month()-this.month()%3,1);break;case"month":t=r(this.year(),this.month(),1);break;case"week":t=r(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":t=r(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":t=r(this.year(),this.month(),this.date());break;case"hour":t=this._d.valueOf(),t-=mod$1(t+(this._isUTC?0:this.utcOffset()*MS_PER_MINUTE),MS_PER_HOUR);break;case"minute":t=this._d.valueOf(),t-=mod$1(t,MS_PER_MINUTE);break;case"second":t=this._d.valueOf(),t-=mod$1(t,MS_PER_SECOND);break}return this._d.setTime(t),hooks.updateOffset(this,!0),this}function endOf(e){var t,r;if(e=normalizeUnits(e),e===void 0||e==="millisecond"||!this.isValid())return this;switch(r=this._isUTC?utcStartOfDate:localStartOfDate,e){case"year":t=r(this.year()+1,0,1)-1;break;case"quarter":t=r(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":t=r(this.year(),this.month()+1,1)-1;break;case"week":t=r(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":t=r(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":t=r(this.year(),this.month(),this.date()+1)-1;break;case"hour":t=this._d.valueOf(),t+=MS_PER_HOUR-mod$1(t+(this._isUTC?0:this.utcOffset()*MS_PER_MINUTE),MS_PER_HOUR)-1;break;case"minute":t=this._d.valueOf(),t+=MS_PER_MINUTE-mod$1(t,MS_PER_MINUTE)-1;break;case"second":t=this._d.valueOf(),t+=MS_PER_SECOND-mod$1(t,MS_PER_SECOND)-1;break}return this._d.setTime(t),hooks.updateOffset(this,!0),this}function valueOf(){return this._d.valueOf()-(this._offset||0)*6e4}function unix(){return Math.floor(this.valueOf()/1e3)}function toDate(){return new Date(this.valueOf())}function toArray(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]}function toObject(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}}function toJSON(){return this.isValid()?this.toISOString():null}function isValid$2(){return isValid(this)}function parsingFlags(){return extend({},getParsingFlags(this))}function invalidAt(){return getParsingFlags(this).overflow}function creationData(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}addFormatToken("N",0,0,"eraAbbr"),addFormatToken("NN",0,0,"eraAbbr"),addFormatToken("NNN",0,0,"eraAbbr"),addFormatToken("NNNN",0,0,"eraName"),addFormatToken("NNNNN",0,0,"eraNarrow"),addFormatToken("y",["y",1],"yo","eraYear"),addFormatToken("y",["yy",2],0,"eraYear"),addFormatToken("y",["yyy",3],0,"eraYear"),addFormatToken("y",["yyyy",4],0,"eraYear"),addRegexToken("N",matchEraAbbr),addRegexToken("NN",matchEraAbbr),addRegexToken("NNN",matchEraAbbr),addRegexToken("NNNN",matchEraName),addRegexToken("NNNNN",matchEraNarrow),addParseToken(["N","NN","NNN","NNNN","NNNNN"],function(e,t,r,n){var a=r._locale.erasParse(e,n,r._strict);a?getParsingFlags(r).era=a:getParsingFlags(r).invalidEra=e}),addRegexToken("y",matchUnsigned),addRegexToken("yy",matchUnsigned),addRegexToken("yyy",matchUnsigned),addRegexToken("yyyy",matchUnsigned),addRegexToken("yo",matchEraYearOrdinal),addParseToken(["y","yy","yyy","yyyy"],YEAR),addParseToken(["yo"],function(e,t,r,n){var a;r._locale._eraYearOrdinalRegex&&(a=e.match(r._locale._eraYearOrdinalRegex)),r._locale.eraYearOrdinalParse?t[YEAR]=r._locale.eraYearOrdinalParse(e,a):t[YEAR]=parseInt(e,10)});function localeEras(e,t){var r,n,a,o=this._eras||getLocale("en")._eras;for(r=0,n=o.length;r<n;++r){switch(typeof o[r].since){case"string":a=hooks(o[r].since).startOf("day"),o[r].since=a.valueOf();break}switch(typeof o[r].until){case"undefined":o[r].until=1/0;break;case"string":a=hooks(o[r].until).startOf("day").valueOf(),o[r].until=a.valueOf();break}}return o}function localeErasParse(e,t,r){var n,a,o=this.eras(),s,u,l;for(e=e.toUpperCase(),n=0,a=o.length;n<a;++n)if(s=o[n].name.toUpperCase(),u=o[n].abbr.toUpperCase(),l=o[n].narrow.toUpperCase(),r)switch(t){case"N":case"NN":case"NNN":if(u===e)return o[n];break;case"NNNN":if(s===e)return o[n];break;case"NNNNN":if(l===e)return o[n];break}else if([s,u,l].indexOf(e)>=0)return o[n]}function localeErasConvertYear(e,t){var r=e.since<=e.until?1:-1;return t===void 0?hooks(e.since).year():hooks(e.since).year()+(t-e.offset)*r}function getEraName(){var e,t,r,n=this.localeData().eras();for(e=0,t=n.length;e<t;++e)if(r=this.clone().startOf("day").valueOf(),n[e].since<=r&&r<=n[e].until||n[e].until<=r&&r<=n[e].since)return n[e].name;return""}function getEraNarrow(){var e,t,r,n=this.localeData().eras();for(e=0,t=n.length;e<t;++e)if(r=this.clone().startOf("day").valueOf(),n[e].since<=r&&r<=n[e].until||n[e].until<=r&&r<=n[e].since)return n[e].narrow;return""}function getEraAbbr(){var e,t,r,n=this.localeData().eras();for(e=0,t=n.length;e<t;++e)if(r=this.clone().startOf("day").valueOf(),n[e].since<=r&&r<=n[e].until||n[e].until<=r&&r<=n[e].since)return n[e].abbr;return""}function getEraYear(){var e,t,r,n,a=this.localeData().eras();for(e=0,t=a.length;e<t;++e)if(r=a[e].since<=a[e].until?1:-1,n=this.clone().startOf("day").valueOf(),a[e].since<=n&&n<=a[e].until||a[e].until<=n&&n<=a[e].since)return(this.year()-hooks(a[e].since).year())*r+a[e].offset;return this.year()}function erasNameRegex(e){return hasOwnProp(this,"_erasNameRegex")||computeErasParse.call(this),e?this._erasNameRegex:this._erasRegex}function erasAbbrRegex(e){return hasOwnProp(this,"_erasAbbrRegex")||computeErasParse.call(this),e?this._erasAbbrRegex:this._erasRegex}function erasNarrowRegex(e){return hasOwnProp(this,"_erasNarrowRegex")||computeErasParse.call(this),e?this._erasNarrowRegex:this._erasRegex}function matchEraAbbr(e,t){return t.erasAbbrRegex(e)}function matchEraName(e,t){return t.erasNameRegex(e)}function matchEraNarrow(e,t){return t.erasNarrowRegex(e)}function matchEraYearOrdinal(e,t){return t._eraYearOrdinalRegex||matchUnsigned}function computeErasParse(){var e=[],t=[],r=[],n=[],a,o,s=this.eras();for(a=0,o=s.length;a<o;++a)t.push(regexEscape(s[a].name)),e.push(regexEscape(s[a].abbr)),r.push(regexEscape(s[a].narrow)),n.push(regexEscape(s[a].name)),n.push(regexEscape(s[a].abbr)),n.push(regexEscape(s[a].narrow));this._erasRegex=new RegExp("^("+n.join("|")+")","i"),this._erasNameRegex=new RegExp("^("+t.join("|")+")","i"),this._erasAbbrRegex=new RegExp("^("+e.join("|")+")","i"),this._erasNarrowRegex=new RegExp("^("+r.join("|")+")","i")}addFormatToken(0,["gg",2],0,function(){return this.weekYear()%100}),addFormatToken(0,["GG",2],0,function(){return this.isoWeekYear()%100});function addWeekYearFormatToken(e,t){addFormatToken(0,[e,e.length],0,t)}addWeekYearFormatToken("gggg","weekYear"),addWeekYearFormatToken("ggggg","weekYear"),addWeekYearFormatToken("GGGG","isoWeekYear"),addWeekYearFormatToken("GGGGG","isoWeekYear"),addUnitAlias("weekYear","gg"),addUnitAlias("isoWeekYear","GG"),addUnitPriority("weekYear",1),addUnitPriority("isoWeekYear",1),addRegexToken("G",matchSigned),addRegexToken("g",matchSigned),addRegexToken("GG",match1to2,match2),addRegexToken("gg",match1to2,match2),addRegexToken("GGGG",match1to4,match4),addRegexToken("gggg",match1to4,match4),addRegexToken("GGGGG",match1to6,match6),addRegexToken("ggggg",match1to6,match6),addWeekParseToken(["gggg","ggggg","GGGG","GGGGG"],function(e,t,r,n){t[n.substr(0,2)]=toInt(e)}),addWeekParseToken(["gg","GG"],function(e,t,r,n){t[n]=hooks.parseTwoDigitYear(e)});function getSetWeekYear(e){return getSetWeekYearHelper.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function getSetISOWeekYear(e){return getSetWeekYearHelper.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)}function getISOWeeksInYear(){return weeksInYear(this.year(),1,4)}function getISOWeeksInISOWeekYear(){return weeksInYear(this.isoWeekYear(),1,4)}function getWeeksInYear(){var e=this.localeData()._week;return weeksInYear(this.year(),e.dow,e.doy)}function getWeeksInWeekYear(){var e=this.localeData()._week;return weeksInYear(this.weekYear(),e.dow,e.doy)}function getSetWeekYearHelper(e,t,r,n,a){var o;return e==null?weekOfYear(this,n,a).year:(o=weeksInYear(e,n,a),t>o&&(t=o),setWeekAll.call(this,e,t,r,n,a))}function setWeekAll(e,t,r,n,a){var o=dayOfYearFromWeeks(e,t,r,n,a),s=createUTCDate(o.year,0,o.dayOfYear);return this.year(s.getUTCFullYear()),this.month(s.getUTCMonth()),this.date(s.getUTCDate()),this}addFormatToken("Q",0,"Qo","quarter"),addUnitAlias("quarter","Q"),addUnitPriority("quarter",7),addRegexToken("Q",match1),addParseToken("Q",function(e,t){t[MONTH]=(toInt(e)-1)*3});function getSetQuarter(e){return e==null?Math.ceil((this.month()+1)/3):this.month((e-1)*3+this.month()%3)}addFormatToken("D",["DD",2],"Do","date"),addUnitAlias("date","D"),addUnitPriority("date",9),addRegexToken("D",match1to2),addRegexToken("DD",match1to2,match2),addRegexToken("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),addParseToken(["D","DD"],DATE),addParseToken("Do",function(e,t){t[DATE]=toInt(e.match(match1to2)[0])});var getSetDayOfMonth=makeGetSet("Date",!0);addFormatToken("DDD",["DDDD",3],"DDDo","dayOfYear"),addUnitAlias("dayOfYear","DDD"),addUnitPriority("dayOfYear",4),addRegexToken("DDD",match1to3),addRegexToken("DDDD",match3),addParseToken(["DDD","DDDD"],function(e,t,r){r._dayOfYear=toInt(e)});function getSetDayOfYear(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return e==null?t:this.add(e-t,"d")}addFormatToken("m",["mm",2],0,"minute"),addUnitAlias("minute","m"),addUnitPriority("minute",14),addRegexToken("m",match1to2),addRegexToken("mm",match1to2,match2),addParseToken(["m","mm"],MINUTE);var getSetMinute=makeGetSet("Minutes",!1);addFormatToken("s",["ss",2],0,"second"),addUnitAlias("second","s"),addUnitPriority("second",15),addRegexToken("s",match1to2),addRegexToken("ss",match1to2,match2),addParseToken(["s","ss"],SECOND);var getSetSecond=makeGetSet("Seconds",!1);addFormatToken("S",0,0,function(){return~~(this.millisecond()/100)}),addFormatToken(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),addFormatToken(0,["SSS",3],0,"millisecond"),addFormatToken(0,["SSSS",4],0,function(){return this.millisecond()*10}),addFormatToken(0,["SSSSS",5],0,function(){return this.millisecond()*100}),addFormatToken(0,["SSSSSS",6],0,function(){return this.millisecond()*1e3}),addFormatToken(0,["SSSSSSS",7],0,function(){return this.millisecond()*1e4}),addFormatToken(0,["SSSSSSSS",8],0,function(){return this.millisecond()*1e5}),addFormatToken(0,["SSSSSSSSS",9],0,function(){return this.millisecond()*1e6}),addUnitAlias("millisecond","ms"),addUnitPriority("millisecond",16),addRegexToken("S",match1to3,match1),addRegexToken("SS",match1to3,match2),addRegexToken("SSS",match1to3,match3);var token,getSetMillisecond;for(token="SSSS";token.length<=9;token+="S")addRegexToken(token,matchUnsigned);function parseMs(e,t){t[MILLISECOND]=toInt(("0."+e)*1e3)}for(token="S";token.length<=9;token+="S")addParseToken(token,parseMs);getSetMillisecond=makeGetSet("Milliseconds",!1),addFormatToken("z",0,0,"zoneAbbr"),addFormatToken("zz",0,0,"zoneName");function getZoneAbbr(){return this._isUTC?"UTC":""}function getZoneName(){return this._isUTC?"Coordinated Universal Time":""}var proto=Moment.prototype;proto.add=add,proto.calendar=calendar$1,proto.clone=clone,proto.diff=diff,proto.endOf=endOf,proto.format=format,proto.from=from,proto.fromNow=fromNow,proto.to=to,proto.toNow=toNow,proto.get=stringGet,proto.invalidAt=invalidAt,proto.isAfter=isAfter,proto.isBefore=isBefore,proto.isBetween=isBetween,proto.isSame=isSame,proto.isSameOrAfter=isSameOrAfter,proto.isSameOrBefore=isSameOrBefore,proto.isValid=isValid$2,proto.lang=lang,proto.locale=locale,proto.localeData=localeData,proto.max=prototypeMax,proto.min=prototypeMin,proto.parsingFlags=parsingFlags,proto.set=stringSet,proto.startOf=startOf,proto.subtract=subtract,proto.toArray=toArray,proto.toObject=toObject,proto.toDate=toDate,proto.toISOString=toISOString,proto.inspect=inspect,typeof Symbol<"u"&&Symbol.for!=null&&(proto[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),proto.toJSON=toJSON,proto.toString=toString,proto.unix=unix,proto.valueOf=valueOf,proto.creationData=creationData,proto.eraName=getEraName,proto.eraNarrow=getEraNarrow,proto.eraAbbr=getEraAbbr,proto.eraYear=getEraYear,proto.year=getSetYear,proto.isLeapYear=getIsLeapYear,proto.weekYear=getSetWeekYear,proto.isoWeekYear=getSetISOWeekYear,proto.quarter=proto.quarters=getSetQuarter,proto.month=getSetMonth,proto.daysInMonth=getDaysInMonth,proto.week=proto.weeks=getSetWeek,proto.isoWeek=proto.isoWeeks=getSetISOWeek,proto.weeksInYear=getWeeksInYear,proto.weeksInWeekYear=getWeeksInWeekYear,proto.isoWeeksInYear=getISOWeeksInYear,proto.isoWeeksInISOWeekYear=getISOWeeksInISOWeekYear,proto.date=getSetDayOfMonth,proto.day=proto.days=getSetDayOfWeek,proto.weekday=getSetLocaleDayOfWeek,proto.isoWeekday=getSetISODayOfWeek,proto.dayOfYear=getSetDayOfYear,proto.hour=proto.hours=getSetHour,proto.minute=proto.minutes=getSetMinute,proto.second=proto.seconds=getSetSecond,proto.millisecond=proto.milliseconds=getSetMillisecond,proto.utcOffset=getSetOffset,proto.utc=setOffsetToUTC,proto.local=setOffsetToLocal,proto.parseZone=setOffsetToParsedOffset,proto.hasAlignedHourOffset=hasAlignedHourOffset,proto.isDST=isDaylightSavingTime,proto.isLocal=isLocal,proto.isUtcOffset=isUtcOffset,proto.isUtc=isUtc,proto.isUTC=isUtc,proto.zoneAbbr=getZoneAbbr,proto.zoneName=getZoneName,proto.dates=deprecate("dates accessor is deprecated. Use date instead.",getSetDayOfMonth),proto.months=deprecate("months accessor is deprecated. Use month instead",getSetMonth),proto.years=deprecate("years accessor is deprecated. Use year instead",getSetYear),proto.zone=deprecate("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",getSetZone),proto.isDSTShifted=deprecate("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",isDaylightSavingTimeShifted);function createUnix(e){return createLocal(e*1e3)}function createInZone(){return createLocal.apply(null,arguments).parseZone()}function preParsePostFormat(e){return e}var proto$1=Locale.prototype;proto$1.calendar=calendar,proto$1.longDateFormat=longDateFormat,proto$1.invalidDate=invalidDate,proto$1.ordinal=ordinal,proto$1.preparse=preParsePostFormat,proto$1.postformat=preParsePostFormat,proto$1.relativeTime=relativeTime,proto$1.pastFuture=pastFuture,proto$1.set=set,proto$1.eras=localeEras,proto$1.erasParse=localeErasParse,proto$1.erasConvertYear=localeErasConvertYear,proto$1.erasAbbrRegex=erasAbbrRegex,proto$1.erasNameRegex=erasNameRegex,proto$1.erasNarrowRegex=erasNarrowRegex,proto$1.months=localeMonths,proto$1.monthsShort=localeMonthsShort,proto$1.monthsParse=localeMonthsParse,proto$1.monthsRegex=monthsRegex,proto$1.monthsShortRegex=monthsShortRegex,proto$1.week=localeWeek,proto$1.firstDayOfYear=localeFirstDayOfYear,proto$1.firstDayOfWeek=localeFirstDayOfWeek,proto$1.weekdays=localeWeekdays,proto$1.weekdaysMin=localeWeekdaysMin,proto$1.weekdaysShort=localeWeekdaysShort,proto$1.weekdaysParse=localeWeekdaysParse,proto$1.weekdaysRegex=weekdaysRegex,proto$1.weekdaysShortRegex=weekdaysShortRegex,proto$1.weekdaysMinRegex=weekdaysMinRegex,proto$1.isPM=localeIsPM,proto$1.meridiem=localeMeridiem;function get$1(e,t,r,n){var a=getLocale(),o=createUTC().set(n,t);return a[r](o,e)}function listMonthsImpl(e,t,r){if(isNumber(e)&&(t=e,e=void 0),e=e||"",t!=null)return get$1(e,t,r,"month");var n,a=[];for(n=0;n<12;n++)a[n]=get$1(e,n,r,"month");return a}function listWeekdaysImpl(e,t,r,n){typeof e=="boolean"?(isNumber(t)&&(r=t,t=void 0),t=t||""):(t=e,r=t,e=!1,isNumber(t)&&(r=t,t=void 0),t=t||"");var a=getLocale(),o=e?a._week.dow:0,s,u=[];if(r!=null)return get$1(t,(r+o)%7,n,"day");for(s=0;s<7;s++)u[s]=get$1(t,(s+o)%7,n,"day");return u}function listMonths(e,t){return listMonthsImpl(e,t,"months")}function listMonthsShort(e,t){return listMonthsImpl(e,t,"monthsShort")}function listWeekdays(e,t,r){return listWeekdaysImpl(e,t,r,"weekdays")}function listWeekdaysShort(e,t,r){return listWeekdaysImpl(e,t,r,"weekdaysShort")}function listWeekdaysMin(e,t,r){return listWeekdaysImpl(e,t,r,"weekdaysMin")}getSetGlobalLocale("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,r=toInt(e%100/10)===1?"th":t===1?"st":t===2?"nd":t===3?"rd":"th";return e+r}}),hooks.lang=deprecate("moment.lang is deprecated. Use moment.locale instead.",getSetGlobalLocale),hooks.langData=deprecate("moment.langData is deprecated. Use moment.localeData instead.",getLocale);var mathAbs=Math.abs;function abs(){var e=this._data;return this._milliseconds=mathAbs(this._milliseconds),this._days=mathAbs(this._days),this._months=mathAbs(this._months),e.milliseconds=mathAbs(e.milliseconds),e.seconds=mathAbs(e.seconds),e.minutes=mathAbs(e.minutes),e.hours=mathAbs(e.hours),e.months=mathAbs(e.months),e.years=mathAbs(e.years),this}function addSubtract$1(e,t,r,n){var a=createDuration(t,r);return e._milliseconds+=n*a._milliseconds,e._days+=n*a._days,e._months+=n*a._months,e._bubble()}function add$1(e,t){return addSubtract$1(this,e,t,1)}function subtract$1(e,t){return addSubtract$1(this,e,t,-1)}function absCeil(e){return e<0?Math.floor(e):Math.ceil(e)}function bubble(){var e=this._milliseconds,t=this._days,r=this._months,n=this._data,a,o,s,u,l;return e>=0&&t>=0&&r>=0||e<=0&&t<=0&&r<=0||(e+=absCeil(monthsToDays(r)+t)*864e5,t=0,r=0),n.milliseconds=e%1e3,a=absFloor(e/1e3),n.seconds=a%60,o=absFloor(a/60),n.minutes=o%60,s=absFloor(o/60),n.hours=s%24,t+=absFloor(s/24),l=absFloor(daysToMonths(t)),r+=l,t-=absCeil(monthsToDays(l)),u=absFloor(r/12),r%=12,n.days=t,n.months=r,n.years=u,this}function daysToMonths(e){return e*4800/146097}function monthsToDays(e){return e*146097/4800}function as(e){if(!this.isValid())return NaN;var t,r,n=this._milliseconds;if(e=normalizeUnits(e),e==="month"||e==="quarter"||e==="year")switch(t=this._days+n/864e5,r=this._months+daysToMonths(t),e){case"month":return r;case"quarter":return r/3;case"year":return r/12}else switch(t=this._days+Math.round(monthsToDays(this._months)),e){case"week":return t/7+n/6048e5;case"day":return t+n/864e5;case"hour":return t*24+n/36e5;case"minute":return t*1440+n/6e4;case"second":return t*86400+n/1e3;case"millisecond":return Math.floor(t*864e5)+n;default:throw new Error("Unknown unit "+e)}}function valueOf$1(){return this.isValid()?this._milliseconds+this._days*864e5+this._months%12*2592e6+toInt(this._months/12)*31536e6:NaN}function makeAs(e){return function(){return this.as(e)}}var asMilliseconds=makeAs("ms"),asSeconds=makeAs("s"),asMinutes=makeAs("m"),asHours=makeAs("h"),asDays=makeAs("d"),asWeeks=makeAs("w"),asMonths=makeAs("M"),asQuarters=makeAs("Q"),asYears=makeAs("y");function clone$1(){return createDuration(this)}function get$2(e){return e=normalizeUnits(e),this.isValid()?this[e+"s"]():NaN}function makeGetter(e){return function(){return this.isValid()?this._data[e]:NaN}}var milliseconds=makeGetter("milliseconds"),seconds=makeGetter("seconds"),minutes=makeGetter("minutes"),hours=makeGetter("hours"),days=makeGetter("days"),months=makeGetter("months"),years=makeGetter("years");function weeks(){return absFloor(this.days()/7)}var round=Math.round,thresholds={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function substituteTimeAgo(e,t,r,n,a){return a.relativeTime(t||1,!!r,e,n)}function relativeTime$1(e,t,r,n){var a=createDuration(e).abs(),o=round(a.as("s")),s=round(a.as("m")),u=round(a.as("h")),l=round(a.as("d")),c=round(a.as("M")),d=round(a.as("w")),f=round(a.as("y")),p=o<=r.ss&&["s",o]||o<r.s&&["ss",o]||s<=1&&["m"]||s<r.m&&["mm",s]||u<=1&&["h"]||u<r.h&&["hh",u]||l<=1&&["d"]||l<r.d&&["dd",l];return r.w!=null&&(p=p||d<=1&&["w"]||d<r.w&&["ww",d]),p=p||c<=1&&["M"]||c<r.M&&["MM",c]||f<=1&&["y"]||["yy",f],p[2]=t,p[3]=+e>0,p[4]=n,substituteTimeAgo.apply(null,p)}function getSetRelativeTimeRounding(e){return e===void 0?round:typeof e=="function"?(round=e,!0):!1}function getSetRelativeTimeThreshold(e,t){return thresholds[e]===void 0?!1:t===void 0?thresholds[e]:(thresholds[e]=t,e==="s"&&(thresholds.ss=t-1),!0)}function humanize(e,t){if(!this.isValid())return this.localeData().invalidDate();var r=!1,n=thresholds,a,o;return typeof e=="object"&&(t=e,e=!1),typeof e=="boolean"&&(r=e),typeof t=="object"&&(n=Object.assign({},thresholds,t),t.s!=null&&t.ss==null&&(n.ss=t.s-1)),a=this.localeData(),o=relativeTime$1(this,!r,n,a),r&&(o=a.pastFuture(+this,o)),a.postformat(o)}var abs$1=Math.abs;function sign(e){return(e>0)-(e<0)||+e}function toISOString$1(){if(!this.isValid())return this.localeData().invalidDate();var e=abs$1(this._milliseconds)/1e3,t=abs$1(this._days),r=abs$1(this._months),n,a,o,s,u=this.asSeconds(),l,c,d,f;return u?(n=absFloor(e/60),a=absFloor(n/60),e%=60,n%=60,o=absFloor(r/12),r%=12,s=e?e.toFixed(3).replace(/\.?0+$/,""):"",l=u<0?"-":"",c=sign(this._months)!==sign(u)?"-":"",d=sign(this._days)!==sign(u)?"-":"",f=sign(this._milliseconds)!==sign(u)?"-":"",l+"P"+(o?c+o+"Y":"")+(r?c+r+"M":"")+(t?d+t+"D":"")+(a||n||e?"T":"")+(a?f+a+"H":"")+(n?f+n+"M":"")+(e?f+s+"S":"")):"P0D"}var proto$2=Duration.prototype;proto$2.isValid=isValid$1,proto$2.abs=abs,proto$2.add=add$1,proto$2.subtract=subtract$1,proto$2.as=as,proto$2.asMilliseconds=asMilliseconds,proto$2.asSeconds=asSeconds,proto$2.asMinutes=asMinutes,proto$2.asHours=asHours,proto$2.asDays=asDays,proto$2.asWeeks=asWeeks,proto$2.asMonths=asMonths,proto$2.asQuarters=asQuarters,proto$2.asYears=asYears,proto$2.valueOf=valueOf$1,proto$2._bubble=bubble,proto$2.clone=clone$1,proto$2.get=get$2,proto$2.milliseconds=milliseconds,proto$2.seconds=seconds,proto$2.minutes=minutes,proto$2.hours=hours,proto$2.days=days,proto$2.weeks=weeks,proto$2.months=months,proto$2.years=years,proto$2.humanize=humanize,proto$2.toISOString=toISOString$1,proto$2.toString=toISOString$1,proto$2.toJSON=toISOString$1,proto$2.locale=locale,proto$2.localeData=localeData,proto$2.toIsoString=deprecate("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",toISOString$1),proto$2.lang=lang,addFormatToken("X",0,0,"unix"),addFormatToken("x",0,0,"valueOf"),addRegexToken("x",matchSigned),addRegexToken("X",matchTimestamp),addParseToken("X",function(e,t,r){r._d=new Date(parseFloat(e)*1e3)}),addParseToken("x",function(e,t,r){r._d=new Date(toInt(e))});//! moment.js
128
128
  hooks.version="2.29.4",setHookCallback(createLocal),hooks.fn=proto,hooks.min=min,hooks.max=max,hooks.now=now,hooks.utc=createUTC,hooks.unix=createUnix,hooks.months=listMonths,hooks.isDate=isDate,hooks.locale=getSetGlobalLocale,hooks.invalid=createInvalid,hooks.duration=createDuration,hooks.isMoment=isMoment,hooks.weekdays=listWeekdays,hooks.parseZone=createInZone,hooks.localeData=getLocale,hooks.isDuration=isDuration,hooks.monthsShort=listMonthsShort,hooks.weekdaysMin=listWeekdaysMin,hooks.defineLocale=defineLocale,hooks.updateLocale=updateLocale,hooks.locales=listLocales,hooks.weekdaysShort=listWeekdaysShort,hooks.normalizeUnits=normalizeUnits,hooks.relativeTimeRounding=getSetRelativeTimeRounding,hooks.relativeTimeThreshold=getSetRelativeTimeThreshold,hooks.calendarFormat=getCalendarFormat,hooks.prototype=proto,hooks.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"};const DatePickerConfig={date:{placeholder:"__/__/____",dateDisplayFormat:"YYYY-MM-DD",dateInternalFormat:"YYYY-MM-DD"},time:{placeholder:"__/__/____ __:__:__",dateDisplayFormat:"YYYY-MM-DD HH:mm:ss",dateInternalFormat:"YYYY-MM-DD HH:mm:ss"}},DatePicker=e=>{const{ooui:t,showTime:r=!1}=e,{required:n}=t;return jsxRuntime.jsx(Field$1,{required:n,...e,children:jsxRuntime.jsx(DatePickerInput,{ooui:t,showTime:r})})},DatePickerInput=e=>{const{value:t,onChange:r,ooui:n,showTime:a}=e,{id:o,readOnly:s,required:u}=n,l=u&&!s?Config.requiredClass:void 0,c=a?"time":"date",d=h=>{r==null||r(h)},f=h=>{if(h===null){d(void 0);return}d(h.format(DatePickerConfig[c].dateInternalFormat))},p=a?{defaultValue:hooks("00:00:00","HH:mm:ss")}:void 0,m=t?hooks(t,DatePickerConfig[c].dateInternalFormat):void 0;return jsxRuntime.jsx(antd.DatePicker,{style:{width:"100%"},placeholder:a?DatePickerConfig.time.placeholder:DatePickerConfig.date.placeholder,disabled:s,id:o,showTime:p,className:l,format:DatePickerConfig[c].dateDisplayFormat,value:m,onChange:f})},Date$1=e=>{const{ooui:t}=e;return jsxRuntime.jsx(DatePicker,{ooui:t})},DateTime=e=>{const{ooui:t}=e;return jsxRuntime.jsx(DatePicker,{ooui:t,showTime:!0})},Reference=e=>{const{ooui:t}=e,{required:r}=t;return jsxRuntime.jsx(Field$1,{required:r,...e,children:jsxRuntime.jsx(ReferenceInput,{ooui:t})})},ReferenceInput=e=>{const{value:t,onChange:r,ooui:n}=e,{required:a,selectionValues:o,readOnly:s}=n,u=t==null?void 0:t.split(","),[l,c]=React.useState([]),[d,f]=React.useState();return React.useEffect(()=>{if(!t)return;const p=t&&u&&u[0],m=t&&u&&u[1]&&parseInt(u[1]);c([m,void 0]),f(p)},[t]),jsxRuntime.jsxs(antd.Row,{gutter:8,wrap:!1,children:[jsxRuntime.jsx(antd.Col,{flex:"1",children:jsxRuntime.jsx(SelectionInput$1,{ooui:new ooui.Selection({name:"model_selection",selection:o,readOnly:s,required:a}),onChange:p=>{f(p),c([]),r==null||r(void 0)},value:d})}),jsxRuntime.jsx(antd.Col,{flex:"3",children:jsxRuntime.jsx(Many2oneInput,{ooui:new ooui.Many2one({name:"object_value",relation:d,readOnly:s,required:a}),value:l,onChange:p=>{c(p);const m=`${d},${p[0]}`;m!==t&&(r==null||r(m))}})})]})},Binary=e=>{const{ooui:t}=e,{required:r}=t;return jsxRuntime.jsx(Field$1,{required:r,...e,children:jsxRuntime.jsx(BinaryInput,{ooui:t})})},BinaryInput=e=>{const{ooui:t,value:r,onChange:n}=e,{readOnly:a,required:o,filenameField:s}=t,u=o&&!a?Config.requiredClass:void 0,l=React.useRef(null),{setFieldValue:c,getFieldValue:d}=React.useContext(FormContext$1)||{},{t:f}=React.useContext(LocaleContext),p=r?getFilesize(r):"",m=v=>{n==null||n(v)};async function h(){const v=await getMimeType(r),y=`data:${v==null?void 0:v.mime};base64,${r}`,_=document.createElement("a"),C=d(s),E=d("name");_.href=y,_.download=C||E,_.click()}async function x(){const v=await getMimeType(r);openBase64InNewTab(r,v.mime)}async function b(v){v.stopPropagation(),v.preventDefault();const y=v.target.files[0],_=await toBase64(y);m(_),s&&c(s,y.name)}function g(){c(s,void 0),m(void 0)}return jsxRuntime.jsxs(antd.Row,{gutter:8,children:[jsxRuntime.jsxs(antd.Col,{style:{paddingBottom:5},children:[jsxRuntime.jsx("input",{type:"file",id:"file",ref:l,style:{display:"none"},onChange:b}),jsxRuntime.jsx(antd.Input,{type:"text",disabled:!0,className:u,value:p})]}),jsxRuntime.jsx(antd.Col,{children:jsxRuntime.jsxs(antd.Space,{children:[jsxRuntime.jsx(antd.Button,{icon:jsxRuntime.jsx(AntIcons.FolderOpenOutlined,{}),disabled:a,onClick:()=>{l.current.click()},children:"Select"}),jsxRuntime.jsx(antd.Button,{icon:jsxRuntime.jsx(AntIcons.EyeOutlined,{}),disabled:!r,onClick:x,children:f("open")}),jsxRuntime.jsx(ButtonWithTooltip,{tooltip:f("download"),disabled:!r,onClick:h,icon:jsxRuntime.jsx(AntIcons.DownloadOutlined,{})}),jsxRuntime.jsx(ButtonWithTooltip,{tooltip:f("clear"),disabled:a||!r,onClick:g,icon:jsxRuntime.jsx(AntIcons.ClearOutlined,{})})]})})]})},iconsForViewTypes={tree:jsxRuntime.jsx(AntIcons.TableOutlined,{}),form:jsxRuntime.jsx(AntIcons.FormOutlined,{}),graph:jsxRuntime.jsx(AntIcons.AreaChartOutlined,{}),calendar:jsxRuntime.jsx(AntIcons.CalendarOutlined,{})};function getIconForView(e){return e?(iconsForViewTypes==null?void 0:iconsForViewTypes[e.type])||jsxRuntime.jsx(AntIcons.FormOutlined,{}):jsxRuntime.jsx(AntIcons.FormOutlined,{})}function ChangeViewButton(e){const{currentView:t,availableViews:r,onChangeView:n,disabled:a=!1,formHasChanges:o=!1,previousView:s}=e,{t:u,lang:l}=React.useContext(LocaleContext);function c(){const p=r.map((m,h)=>jsxRuntime.jsx(antd.Menu.Item,{children:jsxRuntime.jsxs(antd.Row,{wrap:!1,children:[jsxRuntime.jsx(antd.Col,{flex:"none",style:{paddingRight:20},children:getIconForView(m)}),jsxRuntime.jsx(antd.Col,{flex:"auto",style:{paddingRight:20},children:m.type==="graph"?m.name:m.type.charAt(0).toUpperCase()+m.type.slice(1)}),jsxRuntime.jsx(antd.Col,{flex:"none",children:jsxRuntime.jsx(AntIcons.CheckOutlined,{style:{opacity:t.view_id===m.view_id?1:0}})})]})},m.view_id||h));return jsxRuntime.jsx(antd.Menu,{onClick:f,children:jsxRuntime.jsx(antd.Menu.ItemGroup,{title:u("viewAs"),children:p})})}function d(p){if(o){showDialog$6({lang:l,onOk:()=>{p()}});return}p()}function f(p){d(()=>{const m=r.find(h=>h.view_id===parseInt(p.key));n(m)})}return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ButtonWithTooltip,{tooltip:s?u("viewAs")+" "+u(s.type):"",icon:getIconForView(s),style:{width:50},onClick:()=>{f({key:s==null?void 0:s.view_id})},disabled:a||r.length===1}),jsxRuntime.jsx(antd.Dropdown,{overlay:c(),disabled:a||r.length===1,children:jsxRuntime.jsx(antd.Button,{style:{width:25},icon:jsxRuntime.jsx(AntIcons.DownOutlined,{style:{fontSize:"0.5em"}}),onClick:p=>p.preventDefault()})})]})}function DropdownButton(e){const{icon:t,tooltip:r,items:n=[],onItemClick:a,label:o,disabled:s=!1}=e;function u(){const c=n==null?void 0:n.map((d,f)=>d.name==="divider"?jsxRuntime.jsx(antd.Menu.Divider,{},"divider"+f):jsxRuntime.jsx(antd.Menu.Item,{children:d.name},d.id));return jsxRuntime.jsx(antd.Menu,{onClick:l,children:jsxRuntime.jsx(antd.Menu.ItemGroup,{title:r,children:c})})}function l(c){const d=n.find(f=>isNaN(c.key)?f.id===c.key:f.id===parseInt(c.key));a(d)}return jsxRuntime.jsx(antd.Dropdown,{overlay:u(),disabled:s||!n||n.length===0,children:jsxRuntime.jsxs(antd.Button,{children:[t," ",o," ",jsxRuntime.jsx(AntIcons.DownOutlined,{})]})})}function ActionButton(e){const{onClick:t,disabled:r=!1,loading:n=!1,tooltip:a,icon:o,label:s,type:u="default"}=e,l=n?jsxRuntime.jsx(AntIcons.LoadingOutlined,{}):o;return jsxRuntime.jsxs(ButtonWithTooltip,{type:u,tooltip:a,onClick:t,disabled:r,children:[l,s]})}function NewButton(e){const{disabled:t=!1}=e,{formHasChanges:r,onNewClicked:n}=React.useContext(ActionViewContext),{t:a,lang:o}=React.useContext(LocaleContext),s=()=>{if(r){showDialog$6({lang:o,onOk:()=>{n()}});return}n()};return jsxRuntime.jsx(ActionButton,{icon:jsxRuntime.jsx(AntIcons.FileAddOutlined,{}),tooltip:a("new"),onClick:s,disabled:t})}const{confirm}=antd.Modal,showDialog=({onOk:e,onCancel:t,lang:r})=>{confirm({title:tForLang("unsavedChanges",r),icon:jsxRuntime.jsx(AntIcons.ExclamationCircleOutlined,{}),centered:!0,content:tForLang("confirmRefreshWithoutSave",r),okText:tForLang("discardAndRefresh",r),cancelText:tForLang("cancel",r),onOk:e,onCancel:t})};async function showLogInfo(e,t,r){const n=(await ConnectionProvider.getHandler().getLogInfo({model:e,ids:[t]}))[0],{create_date:a,create_uid:o,id:s,write_date:u,write_uid:l}=n;showDialog$7(jsxRuntime.jsxs("div",{children:["ID: "+s," ",jsxRuntime.jsx("br",{}),r("createdBy")+": "+o[1]," ",jsxRuntime.jsx("br",{}),r("creationDate")+": "+a," ",jsxRuntime.jsx("br",{}),r("lastUpdatedBy")+": "+l[1]," ",jsxRuntime.jsx("br",{}),r("lastUpdatedDate")+": "+u]}))}const AttachmentsButtonWrapper=e=>{const{numberOfAttachments:t,disabled:r}=e,{t:n}=React.useContext(LocaleContext),[a,o]=React.useState(!1),s=jsxRuntime.jsxs(antd.Button,{disabled:r,children:[jsxRuntime.jsx(AntIcons.LinkOutlined,{}),`(${t})`,jsxRuntime.jsx(AntIcons.DownOutlined,{style:{fontSize:12}})]});return r?s:jsxRuntime.jsx(antd.Popover,{onVisibleChange:u=>o(u),visible:a,placement:"bottom",content:Content$1(e,o),title:n("attachments"),arrowContent:null,children:s})},Content$1=(e,t)=>{const{attachments:r=[],loading:n,onAddNewAttachment:a,onopenAttachmentLink:o,onOpenAttachmentDetail:s,onListAllAttachments:u}=e,{t:l}=React.useContext(LocaleContext);return n?jsxRuntime.jsx(antd.Spin,{style:{padding:20}}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("a",{style:{display:"block",paddingBottom:5},href:"#",onClick:()=>{t(!1),u()},children:[jsxRuntime.jsx(AntIcons.TableOutlined,{})," ",l("listAllAttachments")]}),jsxRuntime.jsxs("a",{style:{display:"block"},href:"#",onClick:()=>{t(!1),a()},children:[jsxRuntime.jsx(AntIcons.FileAddOutlined,{})," ",l("addNewAttachment")]}),r.length>0&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("li",{className:" ant-dropdown-menu-item-divider"}),r.map(c=>{const d=c.link?AntIcons.LinkOutlined:AntIcons.DownloadOutlined;return jsxRuntime.jsxs(antd.Row,{style:{paddingTop:4,paddingBottom:4},wrap:!1,align:"middle",children:[jsxRuntime.jsx(antd.Col,{flex:"auto",children:c.name}),jsxRuntime.jsx(antd.Col,{flex:"25px",style:{textAlign:"center"},children:(c.datas_fname||c.link)&&jsxRuntime.jsx(antd.Tooltip,{title:c.link?l("openAttachmentLink"):l("download"),children:jsxRuntime.jsx(d,{style:{cursor:"pointer"},onClick:()=>{t(!1),o(c)}})})}),jsxRuntime.jsx(antd.Col,{flex:"25px",style:{textAlign:"center"},children:jsxRuntime.jsx(antd.Tooltip,{title:l("openAttachment"),children:jsxRuntime.jsx(AntIcons.FormOutlined,{style:{cursor:"pointer"},onClick:()=>{t(!1),s(c)}})})})]},c.id)})]})]})};function AttachmentsButton(e){const{attachments:t,disabled:r=!1,onAddNewAttachment:n,onListAllAttachments:a,onViewAttachmentDetails:o}=e,{formRef:s}=React.useContext(ActionViewContext),[u,l]=React.useState(!1),[c,d]=React.useState([]),[f,p]=React.useState(!1),{t:m}=React.useContext(LocaleContext),h=React.useCallback(async()=>{l(!0);try{const g=await ConnectionProvider.getHandler().readObjects({model:"ir.attachment",ids:t.map(v=>v.id),fieldsToRetrieve:["name","datas_fname","link"],context:s.current.getContext()});d(g.map(v=>({id:v.id,name:v.name,datas_fname:v.datas_fname,link:v.link})))}catch(g){showDialog$8(g)}l(!1)},t),x=React.useCallback(async g=>{if(g.link){window.open(g.link);return}p(!0);let v;try{v=(await ConnectionProvider.getHandler().readObjects({model:"ir.attachment",ids:[g.id],context:s.current.getContext()}))[0]}catch(y){showDialog$8(y)}if(p(!1),!!v)if(v.datas){const y=await getMimeType(v.datas);openBase64InNewTab(v.datas,y.mime)}else o(v)},[]),b=React.useCallback(async g=>{o(g)},[]);return React.useEffect(()=>{h()},[h]),jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(AttachmentsButtonWrapper,{numberOfAttachments:t.length,attachments:c,disabled:r,loading:u,onAddNewAttachment:n,onListAllAttachments:a,onopenAttachmentLink:x,onOpenAttachmentDetail:b}),jsxRuntime.jsx(antd.Modal,{title:m("downloadingAttachment"),visible:f,footer:null,closable:!1,centered:!0,maskClosable:!1,children:jsxRuntime.jsx(antd.Spin,{})})]})}function FormActionBar({toolbar:e}){const{availableViews:t,currentView:r,setCurrentView:n,onFormSave:a,formHasChanges:o,formIsSaving:s,currentId:u,results:l,setCurrentItemIndex:c,currentItemIndex:d,setCurrentId:f,currentModel:p,setRemovingItem:m,removingItem:h,duplicatingItem:x,setDuplicatingItem:b,setResults:g,formIsLoading:v,attachments:y,formRef:_,setFormHasChanges:C,previousView:E,setPreviousView:P,goToResourceId:w}=React.useContext(ActionViewContext),{t:S,lang:O}=React.useContext(LocaleContext),I=React.useContext(ContentRootContext),{processAction:q}=I||{},k=React.useContext(TabManagerContext),{openRelate:$,openDefaultActionForModel:D}=k||{},N=React.useRef(!1);React.useEffect(()=>{!s&&N.current&&antd.message.success(S("savedRegisters")),N.current=s||!1},[s]);function V(F){if(o){showDialog({lang:O,onOk:()=>{F()}});return}F()}function M(F){if(o){showDialog$6({lang:O,onOk:()=>{F()}});return}F()}function W(){l&&l.length>d+1?(c==null||c(d+1),f==null||f(l[d+1].id)):l&&d+1===l.length&&(c==null||c(0),f==null||f(l[0].id))}function Y(){l&&d>0?(c==null||c(d-1),f==null||f(l[d-1].id)):l&&d===0&&(c==null||c(l.length-1),f==null||f(l[l.length-1].id))}function z(){showDialog$9({confirmMessage:S("confirmRemoveItem"),lang:O,onOk:()=>{H()}})}async function H(){try{m==null||m(!0),await ConnectionProvider.getHandler().delete({model:p,ids:[u]});const F=l==null?void 0:l.filter(L=>L.id!==u);g==null||g(F);let A=0;d>0&&d<=l.length-1&&(A=d-1),F!=null&&F[A]?(f==null||f(F==null?void 0:F[A].id),c==null||c(A)):(f==null||f(void 0),c==null||c(void 0))}catch(F){showDialog$3(JSON.stringify(F))}finally{m==null||m(!1)}}async function K(){try{b==null||b(!0);const F=await ConnectionProvider.getHandler().duplicate({id:u,model:p,context:_.current.getContext()});F&&await(w==null?void 0:w(F))}catch(F){showDialog$3(JSON.stringify(F))}finally{b==null||b(!1)}}const U=s||h||v||x;function B(F){q==null||q({actionData:F,values:_.current.getValues(),fields:_.current.getFields(),context:_.current.getContext(),onRefreshParentValues:()=>{_.current.fetchValues()}})}return r?jsxRuntime.jsxs(antd.Space,{wrap:!0,children:[v&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(antd.Spin,{}),separator$2(),separator$2()]}),jsxRuntime.jsx(NewButton,{disabled:s||v||h||x}),jsxRuntime.jsx(ActionButton,{icon:jsxRuntime.jsx(AntIcons.SaveOutlined,{}),tooltip:S("save"),disabled:!o||U,loading:s,onClick:a}),jsxRuntime.jsx(ActionButton,{icon:jsxRuntime.jsx(AntIcons.CopyOutlined,{}),tooltip:S("duplicate"),disabled:o||s||u===void 0||x||v,loading:x,onClick:K}),jsxRuntime.jsx(ActionButton,{icon:jsxRuntime.jsx(AntIcons.DeleteOutlined,{}),tooltip:S("delete"),disabled:s||u===void 0||h||x||v,loading:h,onClick:z}),separator$2(),jsxRuntime.jsx(ActionButton,{icon:jsxRuntime.jsx(AntIcons.InfoCircleOutlined,{}),tooltip:S("showLogs"),disabled:s||u===void 0||h||x||v,loading:!1,onClick:()=>{showLogInfo(p,u,S)}}),jsxRuntime.jsx(ActionButton,{icon:jsxRuntime.jsx(AntIcons.ReloadOutlined,{}),tooltip:S("refresh"),disabled:s||u===void 0||h||x||v,loading:!1,onClick:()=>{V(()=>{_.current.fetchValues()})}}),separator$2(),jsxRuntime.jsx(ChangeViewButton,{currentView:r,previousView:E,availableViews:t,onChangeView:F=>{P==null||P(r),C==null||C(!1),n==null||n(F)},disabled:U,formHasChanges:o}),separator$2(),jsxRuntime.jsxs(antd.Space,{children:[jsxRuntime.jsx(ActionButton,{icon:jsxRuntime.jsx(AntIcons.LeftOutlined,{}),tooltip:S("previous"),disabled:U,loading:!1,onClick:()=>{M(Y)}}),jsxRuntime.jsx(ActionButton,{icon:jsxRuntime.jsx(AntIcons.RightOutlined,{}),tooltip:S("next"),disabled:U,loading:!1,onClick:()=>{M(W)}})]}),separator$2(),jsxRuntime.jsx(DropdownButton,{icon:jsxRuntime.jsx(AntIcons.ThunderboltOutlined,{}),disabled:U,tooltip:S("actions"),items:e==null?void 0:e.action,onItemClick:F=>{!F||B(F)}}),jsxRuntime.jsx(DropdownButton,{icon:jsxRuntime.jsx(AntIcons.PrinterOutlined,{}),disabled:U,tooltip:S("reports"),items:e==null?void 0:e.print,onItemClick:F=>{!F||B({...F,datas:{...F.datas||{},ids:[u]}})}}),jsxRuntime.jsx(DropdownButton,{icon:jsxRuntime.jsx(AntIcons.EnterOutlined,{}),disabled:U,tooltip:S("related"),items:e==null?void 0:e.relate,onItemClick:async F=>{!F||$({relateData:F,values:_.current.getValues(),fields:_.current.getFields(),action_id:F.id,action_type:F.type})}}),jsxRuntime.jsx(AttachmentsButton,{disabled:U,attachments:y,onAddNewAttachment:()=>{const F=u,A=p;D({model:"ir.attachment",values:{selection_associated_object:`${A},${F}`},forced_values:{res_model:A,res_id:F},initialViewType:"form"})},onListAllAttachments:()=>{const F=u;D({model:"ir.attachment",domain:[["res_model","=",`${p}`],["res_id","=",`${F}`]],initialViewType:"tree"})},onViewAttachmentDetails:F=>{D({model:"ir.attachment",res_id:F.id,initialViewType:"form"})}})]}):null}function separator$2(){return jsxRuntime.jsx("div",{className:"inline-block w-2"})}var isURL$1={exports:{}},assertString={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=n;function r(a){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?r=function(s){return typeof s}:r=function(s){return s&&typeof Symbol=="function"&&s.constructor===Symbol&&s!==Symbol.prototype?"symbol":typeof s},r(a)}function n(a){var o=typeof a=="string"||a instanceof String;if(!o){var s=r(a);throw a===null?s="null":s==="object"&&(s=a.constructor.name),new TypeError("Expected a string but received a ".concat(s))}}e.exports=t.default,e.exports.default=t.default})(assertString,assertString.exports);var isFQDN={exports:{}},merge={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=r;function r(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=arguments.length>1?arguments[1]:void 0;for(var o in a)typeof n[o]>"u"&&(n[o]=a[o]);return n}e.exports=t.default,e.exports.default=t.default})(merge,merge.exports),function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=s;var r=a(assertString.exports),n=a(merge.exports);function a(u){return u&&u.__esModule?u:{default:u}}var o={require_tld:!0,allow_underscores:!1,allow_trailing_dot:!1,allow_numeric_tld:!1,allow_wildcard:!1};function s(u,l){(0,r.default)(u),l=(0,n.default)(l,o),l.allow_trailing_dot&&u[u.length-1]==="."&&(u=u.substring(0,u.length-1)),l.allow_wildcard===!0&&u.indexOf("*.")===0&&(u=u.substring(2));var c=u.split("."),d=c[c.length-1];return l.require_tld&&(c.length<2||!/^([a-z\u00A1-\u00A8\u00AA-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}|xn[a-z0-9-]{2,})$/i.test(d)||/\s/.test(d))||!l.allow_numeric_tld&&/^\d+$/.test(d)?!1:c.every(function(f){return!(f.length>63||!/^[a-z_\u00a1-\uffff0-9-]+$/i.test(f)||/[\uff01-\uff5e]/.test(f)||/^-|-$/.test(f)||!l.allow_underscores&&/_/.test(f))})}e.exports=t.default,e.exports.default=t.default}(isFQDN,isFQDN.exports);var isIP={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=c;var r=n(assertString.exports);function n(d){return d&&d.__esModule?d:{default:d}}var a="(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])",o="(".concat(a,"[.]){3}").concat(a),s=new RegExp("^".concat(o,"$")),u="(?:[0-9a-fA-F]{1,4})",l=new RegExp("^("+"(?:".concat(u,":){7}(?:").concat(u,"|:)|")+"(?:".concat(u,":){6}(?:").concat(o,"|:").concat(u,"|:)|")+"(?:".concat(u,":){5}(?::").concat(o,"|(:").concat(u,"){1,2}|:)|")+"(?:".concat(u,":){4}(?:(:").concat(u,"){0,1}:").concat(o,"|(:").concat(u,"){1,3}|:)|")+"(?:".concat(u,":){3}(?:(:").concat(u,"){0,2}:").concat(o,"|(:").concat(u,"){1,4}|:)|")+"(?:".concat(u,":){2}(?:(:").concat(u,"){0,3}:").concat(o,"|(:").concat(u,"){1,5}|:)|")+"(?:".concat(u,":){1}(?:(:").concat(u,"){0,4}:").concat(o,"|(:").concat(u,"){1,6}|:)|")+"(?::((?::".concat(u,"){0,5}:").concat(o,"|(?::").concat(u,"){1,7}|:))")+")(%[0-9a-zA-Z-.:]{1,})?$");function c(d){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";if((0,r.default)(d),f=String(f),!f)return c(d,4)||c(d,6);if(f==="4"){if(!s.test(d))return!1;var p=d.split(".").sort(function(m,h){return m-h});return p[3]<=255}return f==="6"?!!l.test(d):!1}e.exports=t.default,e.exports.default=t.default})(isIP,isIP.exports),function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=g;var r=s(assertString.exports),n=s(isFQDN.exports),a=s(isIP.exports),o=s(merge.exports);function s(v){return v&&v.__esModule?v:{default:v}}function u(v,y){return p(v)||f(v,y)||c(v,y)||l()}function l(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
129
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function c(v,y){if(!!v){if(typeof v=="string")return d(v,y);var _=Object.prototype.toString.call(v).slice(8,-1);if(_==="Object"&&v.constructor&&(_=v.constructor.name),_==="Map"||_==="Set")return Array.from(v);if(_==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_))return d(v,y)}}function d(v,y){(y==null||y>v.length)&&(y=v.length);for(var _=0,C=new Array(y);_<y;_++)C[_]=v[_];return C}function f(v,y){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(v)))){var _=[],C=!0,E=!1,P=void 0;try{for(var w=v[Symbol.iterator](),S;!(C=(S=w.next()).done)&&(_.push(S.value),!(y&&_.length===y));C=!0);}catch(O){E=!0,P=O}finally{try{!C&&w.return!=null&&w.return()}finally{if(E)throw P}}return _}}function p(v){if(Array.isArray(v))return v}var m={protocols:["http","https","ftp"],require_tld:!0,require_protocol:!1,require_host:!0,require_port:!1,require_valid_protocol:!0,allow_underscores:!1,allow_trailing_dot:!1,allow_protocol_relative_urls:!1,allow_fragments:!0,allow_query_components:!0,validate_length:!0},h=/^\[([^\]]+)\](?::([0-9]+))?$/;function x(v){return Object.prototype.toString.call(v)==="[object RegExp]"}function b(v,y){for(var _=0;_<y.length;_++){var C=y[_];if(v===C||x(C)&&C.test(v))return!0}return!1}function g(v,y){if((0,r.default)(v),!v||/[\s<>]/.test(v)||v.indexOf("mailto:")===0||(y=(0,o.default)(y,m),y.validate_length&&v.length>=2083)||!y.allow_fragments&&v.includes("#")||!y.allow_query_components&&(v.includes("?")||v.includes("&")))return!1;var _,C,E,P,w,S,O,I;if(O=v.split("#"),v=O.shift(),O=v.split("?"),v=O.shift(),O=v.split("://"),O.length>1){if(_=O.shift().toLowerCase(),y.require_valid_protocol&&y.protocols.indexOf(_)===-1)return!1}else{if(y.require_protocol)return!1;if(v.substr(0,2)==="//"){if(!y.allow_protocol_relative_urls)return!1;O[0]=v.substr(2)}}if(v=O.join("://"),v==="")return!1;if(O=v.split("/"),v=O.shift(),v===""&&!y.require_host)return!0;if(O=v.split("@"),O.length>1){if(y.disallow_auth||O[0]===""||(C=O.shift(),C.indexOf(":")>=0&&C.split(":").length>2))return!1;var q=C.split(":"),k=u(q,2),$=k[0],D=k[1];if($===""&&D==="")return!1}P=O.join("@"),S=null,I=null;var N=P.match(h);if(N?(E="",I=N[1],S=N[2]||null):(O=P.split(":"),E=O.shift(),O.length&&(S=O.join(":"))),S!==null&&S.length>0){if(w=parseInt(S,10),!/^[0-9]+$/.test(S)||w<=0||w>65535)return!1}else if(y.require_port)return!1;return y.host_whitelist?b(E,y.host_whitelist):!(!(0,a.default)(E)&&!(0,n.default)(E,y)&&(!I||!(0,a.default)(I,6))||(E=E||I,y.host_blacklist&&b(E,y.host_blacklist)))}e.exports=t.default,e.exports.default=t.default}(isURL$1,isURL$1.exports);const isURL=getDefaultExportFromCjs(isURL$1.exports),LinkInput=e=>{const{ooui:t,value:r,onChange:n,valueValidator:a,linkPrefix:o=""}=e,{id:s,readOnly:u,required:l}=t,c=l&&!u?Config.requiredClass:void 0,d=React.useContext(FormContext$1),{elementHasLostFocus:f}=d||{},[p,m]=React.useState(!1),[h,x]=React.useState(!1);React.useEffect(()=>{u&&!p&&x(!1),!r&&!u&&(m(!0),x(!0))},[p,u]);const b=g=>{n==null||n(g.target.value)};return jsxRuntime.jsxs(antd.Row,{gutter:8,wrap:!1,align:"middle",children:[u?null:jsxRuntime.jsx(antd.Col,{flex:"32px",children:p?jsxRuntime.jsx(antd.Button,{icon:jsxRuntime.jsx(AntIcons.CheckOutlined,{}),onClick:()=>{a(r)&&(m(!1),x(!1))},tabIndex:-1}):jsxRuntime.jsx(antd.Button,{icon:jsxRuntime.jsx(AntIcons.EditOutlined,{}),onClick:()=>{m(!0),x(!0)},tabIndex:-1})}),jsxRuntime.jsx(antd.Col,{flex:"auto",children:h?jsxRuntime.jsx(antd.Input,{id:s,onChange:b,className:c,value:r,onBlur:()=>{a(r)&&(m(!1),x(!1),f==null||f())}}):jsxRuntime.jsx("a",{href:`${o}${r}`,style:{color:"#1890ff",paddingRight:15},target:"_blank",children:r})})]})},Url=e=>{const{ooui:t}=e,{required:r}=t;return jsxRuntime.jsx(Field$1,{required:r,...e,children:jsxRuntime.jsx(LinkInput,{ooui:t,valueValidator:n=>n?isURL(n):!1})})};var isEmail$1={exports:{}},isByteLength={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=o;var r=n(assertString.exports);function n(s){return s&&s.__esModule?s:{default:s}}function a(s){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?a=function(l){return typeof l}:a=function(l){return l&&typeof Symbol=="function"&&l.constructor===Symbol&&l!==Symbol.prototype?"symbol":typeof l},a(s)}function o(s,u){(0,r.default)(s);var l,c;a(u)==="object"?(l=u.min||0,c=u.max):(l=arguments[1],c=arguments[2]);var d=encodeURI(s).split(/%..|./).length-1;return d>=l&&(typeof c>"u"||d<=c)}e.exports=t.default,e.exports.default=t.default})(isByteLength,isByteLength.exports),function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=g;var r=u(assertString.exports),n=u(merge.exports),a=u(isByteLength.exports),o=u(isFQDN.exports),s=u(isIP.exports);function u(v){return v&&v.__esModule?v:{default:v}}var l={allow_display_name:!1,require_display_name:!1,allow_utf8_local_part:!0,require_tld:!0,blacklisted_chars:"",ignore_max_length:!1,host_blacklist:[]},c=/^([^\x00-\x1F\x7F-\x9F\cX]+)</i,d=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~]+$/i,f=/^[a-z\d]+$/,p=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f]))*$/i,m=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/i,h=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*$/i,x=254;function b(v){var y=v.replace(/^"(.+)"$/,"$1");if(!y.trim())return!1;var _=/[\.";<>]/.test(y);if(_){if(y===v)return!1;var C=y.split('"').length===y.split('\\"').length;if(!C)return!1}return!0}function g(v,y){if((0,r.default)(v),y=(0,n.default)(y,l),y.require_display_name||y.allow_display_name){var _=v.match(c);if(_){var C=_[1];if(v=v.replace(C,"").replace(/(^<|>$)/g,""),C.endsWith(" ")&&(C=C.substr(0,C.length-1)),!b(C))return!1}else if(y.require_display_name)return!1}if(!y.ignore_max_length&&v.length>x)return!1;var E=v.split("@"),P=E.pop(),w=P.toLowerCase();if(y.host_blacklist.includes(w))return!1;var S=E.join("@");if(y.domain_specific_validation&&(w==="gmail.com"||w==="googlemail.com")){S=S.toLowerCase();var O=S.split("+")[0];if(!(0,a.default)(O.replace(/\./g,""),{min:6,max:30}))return!1;for(var I=O.split("."),q=0;q<I.length;q++)if(!f.test(I[q]))return!1}if(y.ignore_max_length===!1&&(!(0,a.default)(S,{max:64})||!(0,a.default)(P,{max:254})))return!1;if(!(0,o.default)(P,{require_tld:y.require_tld})){if(!y.allow_ip_domain)return!1;if(!(0,s.default)(P)){if(!P.startsWith("[")||!P.endsWith("]"))return!1;var k=P.substr(1,P.length-2);if(k.length===0||!(0,s.default)(k))return!1}}if(S[0]==='"')return S=S.slice(1,S.length-1),y.allow_utf8_local_part?h.test(S):p.test(S);for(var $=y.allow_utf8_local_part?m:d,D=S.split("."),N=0;N<D.length;N++)if(!$.test(D[N]))return!1;return!(y.blacklisted_chars&&S.search(new RegExp("[".concat(y.blacklisted_chars,"]+"),"g"))!==-1)}e.exports=t.default,e.exports.default=t.default}(isEmail$1,isEmail$1.exports);const isEmail=getDefaultExportFromCjs(isEmail$1.exports),Email=e=>{const{ooui:t}=e,{required:r}=t;return jsxRuntime.jsx(Field$1,{required:r,...e,children:jsxRuntime.jsx(LinkInput,{ooui:t,linkPrefix:"mailto:",valueValidator:n=>n?isEmail(n):!1})})},GoToResourceModal=e=>{const{visible:t,onIdSubmitted:r,onCancel:n,isSearching:a}=e,{t:o}=React.useContext(LocaleContext);function s(u){r(u.id)}return jsxRuntime.jsx(antd.Modal,{title:o("goToResourceId"),centered:!0,visible:t,footer:null,destroyOnClose:!0,onCancel:n,maskClosable:!1,children:jsxRuntime.jsxs(antd.Form,{layout:"vertical",onFinish:s,autoComplete:"off",children:[jsxRuntime.jsx(antd.Form.Item,{name:"id",label:o("searchId"),rules:[{required:!0,type:"number"}],children:jsxRuntime.jsx(antd.InputNumber,{style:{width:"100%"},autoFocus:!0})}),jsxRuntime.jsx(antd.Row,{align:"middle",justify:"end",children:jsxRuntime.jsx(antd.Col,{children:jsxRuntime.jsxs(antd.Space,{children:[jsxRuntime.jsx(antd.Button,{icon:jsxRuntime.jsx(AntIcons.CloseOutlined,{}),htmlType:"button",onClick:n,disabled:a,children:o("cancel")}),jsxRuntime.jsx(antd.Button,{loading:a,style:{marginLeft:15},icon:jsxRuntime.jsx(AntIcons.CheckOutlined,{}),htmlType:"submit",type:"primary",disabled:a,children:o("ok")})]})})})]})})};function ButtonWithBadge(e){const{badgeNumber:t=0,...r}=e;return jsxRuntime.jsxs("div",{style:{position:"relative"},children:[t>0&&jsxRuntime.jsx("div",{style:{position:"absolute",left:-10,top:-10,zIndex:2},children:jsxRuntime.jsx("span",{style:{display:"inline-block",minWidth:"22px",padding:"2px",borderRadius:"50%",fontSize:"12px",textAlign:"center",background:"#1890FF",color:"#fefefe"},children:t})}),jsxRuntime.jsx(ButtonWithTooltip,{...r,style:{width:46,zIndex:0}})]})}function GraphActionBar({refreshGraph:e}){const{t}=React.useContext(LocaleContext),{availableViews:r,currentView:n,setCurrentView:a,searchParams:o,searchVisible:s,setSearchVisible:u,graphIsLoading:l,previousView:c,setPreviousView:d}=React.useContext(ActionViewContext);return jsxRuntime.jsxs(antd.Space,{wrap:!0,children:[jsxRuntime.jsx(ButtonWithBadge,{icon:jsxRuntime.jsx(AntIcons.FilterOutlined,{style:{color:s?"white":void 0}}),tooltip:t("advanced_search"),type:s?"primary":"default",onClick:()=>{u==null||u(!s)},disabled:l,badgeNumber:o==null?void 0:o.length}),jsxRuntime.jsx(ActionButton,{icon:jsxRuntime.jsx(AntIcons.ReloadOutlined,{}),tooltip:t("refresh"),disabled:l,loading:!1,onClick:()=>{e()}}),jsxRuntime.jsx(ChangeViewButton,{currentView:n,availableViews:r,onChangeView:f=>{d==null||d(n),a==null||a(f)},disabled:!1,previousView:c})]})}const{Title:Title$1,Text:Text$1}=antd.Typography;function TitleHeader(e){const{title:t,children:r}=e,{title:n,currentView:a,currentId:o,currentItemIndex:s,results:u,totalItems:l,selectedRowItems:c}=React.useContext(ActionViewContext),{t:d}=React.useContext(LocaleContext);function f(){if((a==null?void 0:a.type)==="form")return o?l===0?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[d("editingDocument")," (id: ",jsxRuntime.jsx(Text$1,{copyable:!0,children:o}),")"]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[d("register")," ",s===void 0?1:s+1," /"," ",u.length," ",d("of")," ",l," - ",d("editingDocument")," (id:"," ",jsxRuntime.jsx(Text$1,{copyable:!0,children:o}),")"]}):"";if((a==null?void 0:a.type)==="tree"&&c){if(c.length===1)return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:["1 ",d("selectedRegisters")," - (id:"," ",jsxRuntime.jsx(Text$1,{copyable:!0,children:c[0].id}),")"]});if(c.length>1)return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[c.length," ",d("selectedRegisters"),jsxRuntime.jsx(Text$1,{copyable:{text:c.map(p=>p.id).join(", ")}})]})}return null}return jsxRuntime.jsxs("div",{style:{position:"sticky",top:80,zIndex:3},children:[jsxRuntime.jsxs(antd.Row,{className:"rounded shadow-md bg-blueGray-100",style:{padding:"1em"},align:"middle",children:[jsxRuntime.jsxs(antd.Col,{flex:2,children:[jsxRuntime.jsx(Title$1,{level:3,style:{marginBottom:0},children:t||n}),f()]}),jsxRuntime.jsx(antd.Col,{flex:3,children:jsxRuntime.jsx(antd.Row,{justify:"end",children:r})})]}),jsxRuntime.jsx("div",{className:"pb-5"})]})}const GraphActionView=e=>{const{viewData:t,visible:r,model:n,context:a,domain:o,formView:s,treeView:u}=e,l=React.useRef(),c=React.useContext(ActionViewContext),{setResults:d=void 0,setCurrentItemIndex:f=void 0,currentId:p=void 0,results:m=void 0,setSelectedRowItems:h=void 0,setSearchParams:x=void 0,searchVisible:b=!0,setSearchVisible:g=void 0,sorter:v=void 0,setSorter:y=void 0,setTotalItems:_=void 0,setSearchTreeNameSearch:C=void 0,setTreeIsLoading:E=void 0,limit:P,setLimit:w,searchParams:S,searchValues:O,setSearchValues:I,currentView:q}=c||{},[k,$]=React.useState(!0);React.useEffect(()=>{var Y;(Y=l.current)==null||Y.refresh()},[S]),React.useEffect(()=>{t.view_id!==q.view_id&&$(!0)},[q]);const{clear:D,searchFilterLoading:N,searchError:V,offset:M,tableRefreshing:W}=useSearch({model:n,setSearchTreeNameSearch:C,setSelectedRowItems:h,searchParams:S,setSearchValues:I,setSearchParams:x,setSearchVisible:g,setTreeIsLoading:E,context:a,formView:s,treeView:u,sorter:v,setSorter:y,setCurrentItemIndex:f,setResultsActionView:d,resultsActionView:m,domain:o,currentId:p,setActionViewTotalItems:_,limit:P,setLimit:w});return!r||!t?null:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(TitleHeader,{title:t.name,children:jsxRuntime.jsx(GraphActionBar,{refreshGraph:()=>{l.current.refresh()}})}),jsxRuntime.jsx(SearchFilter,{fields:{...u.fields,...s.fields},searchFields:mergeSearchFields([s.search_fields,u.search_fields]),limit:P,onClear:D,offset:M,isSearching:N,onSubmit:Y=>{$(!1),x==null||x(Y.params),g==null||g(!1)},searchError:V,searchVisible:b,searchValues:O,showLimitOptions:!1}),W?jsxRuntime.jsx(antd.Spin,{}):jsxRuntime.jsx(Graph,{ref:l,view_id:t.view_id,model:n,context:a,domain:mergeParams(S||[],o),limit:k?P:void 0,manualIds:k?m==null?void 0:m.map(Y=>Y.id):void 0})]})},FormActionView=e=>{const{visible:t,formRef:r,model:n,currentId:a,domain:o,formView:s,context:u,defaultValues:l,forcedValues:c,results:d,setResults:f,setCurrentItemIndex:p}=e;return t?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(TitleHeader,{children:jsxRuntime.jsx(FormActionBar,{toolbar:s==null?void 0:s.toolbar})}),jsxRuntime.jsx(Form$1,{rootForm:!0,ref:r,model:n,defaultValues:l,forcedValues:c,formView:s,actionDomain:o,id:a,parentContext:u,onSubmitSucceed:(m,h)=>{d.findIndex(b=>b.id===m)===-1&&(d.push(h),f(d),p(d.length-1))}})]}):null};function SearchBar(e){const{onSearch:t,disabled:r=!1,searchText:n}=e,{t:a}=React.useContext(LocaleContext),[o]=antd.Form.useForm(),[s,u]=React.useState(!1);function l(d){t(d.search)}React.useEffect(()=>{o.setFieldsValue({search:n})},[n]);function c(){u(!1),o.setFieldsValue({search:void 0}),t(void 0)}return jsxRuntime.jsx(antd.Form,{form:o,onFinish:l,autoComplete:"off",children:jsxRuntime.jsxs(antd.Row,{align:"middle",justify:"end",children:[jsxRuntime.jsx(antd.Col,{children:jsxRuntime.jsx(antd.Form.Item,{name:"search",noStyle:!0,children:jsxRuntime.jsx(antd.Input,{autoFocus:!0,disabled:r,onChange:d=>{u(d.target.value.length>0)},suffix:(s||n&&n.length>0)&&jsxRuntime.jsx(antd.Tooltip,{title:a("clear"),children:jsxRuntime.jsx(AntIcons.CloseCircleFilled,{style:{color:"rgba(0,0,0,.45)"},onClick:c})})})})}),jsxRuntime.jsx(antd.Col,{children:jsxRuntime.jsx(antd.Button,{htmlType:"submit",disabled:r,children:a("search")})})]})})}function TreeActionBar(e){const{availableViews:t,currentView:r,setCurrentView:n,selectedRowItems:a,setRemovingItem:o,removingItem:s,duplicatingItem:u,setDuplicatingItem:l,currentModel:c,searchTreeRef:d,setCurrentId:f,setCurrentItemIndex:p,searchParams:m,searchVisible:h,setSearchVisible:x,setSearchTreeNameSearch:b,searchTreeNameSearch:g,treeIsLoading:v,setPreviousView:y,previousView:_}=React.useContext(ActionViewContext),{parentContext:C={},treeExpandable:E,toolbar:P}=e,{t:w,lang:S}=React.useContext(LocaleContext),O=React.useContext(ContentRootContext),{processAction:I}=O||{};function q(){showDialog$9({confirmMessage:w("confirmRemove"),lang:S,onOk:()=>{k()}})}async function k(){var N;try{o==null||o(!0),await ConnectionProvider.getHandler().delete({model:c,ids:a.map(V=>V.id)}),f==null||f(void 0),p==null||p(void 0),(N=d==null?void 0:d.current)==null||N.refreshResults()}catch(V){showDialog$8(V)}finally{o==null||o(!1)}}async function $(){var N;try{l==null||l(!0);const V=a[0].id;await ConnectionProvider.getHandler().duplicate({id:V,model:c,context:{...C}})&&((N=d==null?void 0:d.current)==null||N.refreshResults())}catch(V){showDialog$8(V)}finally{l==null||l(!1)}}function D(N){I==null||I({actionData:N,values:{active_id:a==null?void 0:a.map(V=>V.id)[0],active_ids:a==null?void 0:a.map(V=>V.id)},fields:{},context:{...C,active_id:a==null?void 0:a.map(V=>V.id)[0],active_ids:a==null?void 0:a.map(V=>V.id)},onRefreshParentValues:()=>{var V;(V=d==null?void 0:d.current)==null||V.refreshResults()}})}return jsxRuntime.jsxs(antd.Space,{wrap:!0,children:[E?null:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(SearchBar,{disabled:u||s||v,searchText:g,onSearch:N=>{N&&N.trim().length>0?b==null||b(N):b==null||b(void 0)}}),separator$1(),jsxRuntime.jsx(NewButton,{disabled:v}),separator$1(),jsxRuntime.jsx(ActionButton,{icon:jsxRuntime.jsx(AntIcons.CopyOutlined,{}),tooltip:w("duplicate"),disabled:!a||(a==null?void 0:a.length)!==1||u||v,loading:u,onClick:$}),jsxRuntime.jsx(ActionButton,{icon:jsxRuntime.jsx(AntIcons.DeleteOutlined,{}),tooltip:w("delete"),disabled:!(a&&(a==null?void 0:a.length)>0)||v,loading:s,onClick:q}),separator$1()]}),!E&&jsxRuntime.jsx(ButtonWithBadge,{icon:jsxRuntime.jsx(AntIcons.FilterOutlined,{style:{color:h?"white":void 0}}),tooltip:w("advanced_search"),type:h?"primary":"default",onClick:()=>{x==null||x(!h)},disabled:u||s||v,badgeNumber:m==null?void 0:m.length}),jsxRuntime.jsx(ActionButton,{icon:jsxRuntime.jsx(AntIcons.InfoCircleOutlined,{}),tooltip:w("showLogs"),disabled:!(a&&(a==null?void 0:a.length)>0)||v,loading:!1,onClick:()=>{showLogInfo(c,a[0].id,w)}}),jsxRuntime.jsx(ActionButton,{icon:jsxRuntime.jsx(AntIcons.ReloadOutlined,{}),tooltip:w("refresh"),disabled:u||s||v,loading:!1,onClick:()=>{var N;(N=d==null?void 0:d.current)==null||N.refreshResults()}}),!E&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[separator$1(),jsxRuntime.jsx(ChangeViewButton,{currentView:r,availableViews:t,onChangeView:N=>{y==null||y(r),n==null||n(N)},previousView:_,disabled:v})]}),separator$1(),jsxRuntime.jsx(DropdownButton,{icon:jsxRuntime.jsx(AntIcons.ThunderboltOutlined,{}),disabled:!(a&&(a==null?void 0:a.length)>0)||v,tooltip:w("actions"),items:P==null?void 0:P.action,onItemClick:N=>{!N||D(N)}}),jsxRuntime.jsx(DropdownButton,{icon:jsxRuntime.jsx(AntIcons.PrinterOutlined,{}),disabled:!(a&&(a==null?void 0:a.length)>0)||v,tooltip:w("reports"),items:P==null?void 0:P.print,onItemClick:N=>{!N||D({...N,datas:{...N.datas||{},ids:a.map(V=>V.id)}})}})]})}function separator$1(){return jsxRuntime.jsx("div",{className:"inline-block w-2"})}const TreeActionView=e=>{const{visible:t,searchTreeRef:r,model:n,context:a,formView:o,treeView:s,domain:u,setCurrentItemIndex:l,results:c,setCurrentId:d,setCurrentView:f,availableViews:p,searchTreeNameSearch:m}=e,{currentView:h,setPreviousView:x}=React.useContext(ActionViewContext);return t?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(TitleHeader,{children:jsxRuntime.jsx(TreeActionBar,{toolbar:s==null?void 0:s.toolbar,parentContext:a,treeExpandable:(s==null?void 0:s.isExpandable)||!1})}),jsxRuntime.jsx(SearchTree$1,{ref:r,rootTree:!0,model:n,parentContext:a,nameSearch:m,formView:o,treeView:s,domain:u,onRowClicked:b=>{const{id:g}=b;d(g);const v=c.findIndex(_=>_.id===g);x==null||x(h),l(v);const y=p.find(_=>_.type==="form");f(y)}})]}):null},DashboardActionContext=React__default.default.createContext(null),DashboardActionProvider=e=>{const[t,r]=React.useState(!1),[n,a]=React.useState(!1),{children:o,dashboardRef:s,openAction:u}=e;return jsxRuntime.jsx(DashboardActionContext.Provider,{value:{isLoading:t,setIsLoading:r,dashboardRef:s,openAction:u,moveItemsEnabled:n,setMoveItemsEnabled:a},children:o})};function DashboardActionBar(){const{isLoading:e,dashboardRef:t,moveItemsEnabled:r,setMoveItemsEnabled:n}=React.useContext(DashboardActionContext),{t:a}=React.useContext(LocaleContext);return jsxRuntime.jsxs(antd.Space,{wrap:!0,children:[jsxRuntime.jsx(ActionButton,{icon:jsxRuntime.jsx(AntIcons.BorderOuterOutlined,{style:{color:r?"white":void 0}}),type:r?"primary":"default",tooltip:a("moveDashboard"),disabled:e,loading:!1,onClick:()=>{n(!r)}}),separator(),jsxRuntime.jsx(ActionButton,{icon:jsxRuntime.jsx(AntIcons.SettingOutlined,{}),tooltip:a("configDashboard"),disabled:e,loading:!1,onClick:()=>{t==null||t.current.configDashboard()}}),jsxRuntime.jsx(ActionButton,{icon:jsxRuntime.jsx(AntIcons.ReloadOutlined,{}),tooltip:a("refresh"),disabled:e,loading:!1,onClick:()=>{t==null||t.current.refresh()}})]})}function separator(){return jsxRuntime.jsx("div",{className:"inline-block w-2"})}const DashboardActionView=e=>{const{dashboardData:t}=e,r=React.useRef(),n=React.useContext(TabManagerContext),{openShortcut:a}=n||{};return t?jsxRuntime.jsxs(DashboardActionProvider,{dashboardRef:r,openAction:o=>{a(o)},children:[jsxRuntime.jsx(TitleHeader,{children:jsxRuntime.jsx(DashboardActionBar,{})}),jsxRuntime.jsx(Dashboard$1,{ref:r,model:t.model,id:t.id,context:t==null?void 0:t.context,configAction:t==null?void 0:t.configAction})]}):null};function ActionView(e,t){const{domain:r,model:n,context:a,views:o,title:s,setCanWeClose:u,tabKey:l,initialView:c,formDefaultValues:d,formForcedValues:f={},res_id:p=!1,action_id:m,action_type:h,treeExpandable:x=!1,limit:b}=e,[g,v]=React.useState(),[y,_]=React.useState([]),[C,E]=React.useState(!0),P=p||void 0,[w,S]=React.useState(P),[O,I]=React.useState([]),[q,k]=React.useState(),[$,D]=React.useState([]),[N,V]=React.useState(),[M,W]=React.useState(0),[Y,z]=React.useState(!1),[H,K]=React.useState(!1),[U,B]=React.useState(),{t:F}=React.useContext(LocaleContext),A=React.useRef(),L=React.useRef(),G=React.useContext(TabManagerContext),{setCurrentView:Z,setCurrentId:j,tabs:T,activeKey:X,openAction:J}=G||{};reactHotkeysHook.useHotkeys("ctrl+g,command+g",ae=>{ae.preventDefault(),oe()},[X,T,g,q,$]);function ee(ae){S(ae),j==null||j(ae)}function Q(ae){v(ae),Z==null||Z(ae)}React.useImperativeHandle(t,()=>({canWeClose:te}));const ie=async()=>{E(!0);const ae=[];for(const fe of o){const[me,ge]=fe;let pe;try{ge!=="dashboard"&&(pe=await ConnectionProvider.getHandler().getView({model:n,type:ge,id:me,context:a}))}catch(Oe){console.error(`${n} - ${ge}\xA0- ${JSON.stringify(Oe,null,2)}`);continue}switch(ge){case"dashboard":{const Oe=o.find(le=>{const[,ue]=le;return ue==="form"});let Re;Oe&&(Re={action_id:m,action_type:h,name:s,res_id:a.active_id,res_model:n,view_id:Oe[0],view_type:Oe[1]}),ae.push({type:"dashboard",id:a.active_id,model:n,context:a,configAction:Re});break}case"form":{ae.push({...pe,type:ge});break}case"tree":{ae.push({...pe,isExpandable:x,type:ge});break}case"graph":{ae.push({...pe,type:ge});break}}}let he;!c&&ae.find(fe=>fe.type==="tree")?he=ae.find(me=>me.type==="tree"):c?he=ae.find(me=>c.id?me.type===c.type&&me.view_id===c.id:me.type===c.type):he=ae.find(me=>me.type==="form"),he||showDialog$8(`Error determining the first view to show.
129
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function c(v,y){if(!!v){if(typeof v=="string")return d(v,y);var _=Object.prototype.toString.call(v).slice(8,-1);if(_==="Object"&&v.constructor&&(_=v.constructor.name),_==="Map"||_==="Set")return Array.from(v);if(_==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_))return d(v,y)}}function d(v,y){(y==null||y>v.length)&&(y=v.length);for(var _=0,C=new Array(y);_<y;_++)C[_]=v[_];return C}function f(v,y){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(v)))){var _=[],C=!0,E=!1,P=void 0;try{for(var w=v[Symbol.iterator](),S;!(C=(S=w.next()).done)&&(_.push(S.value),!(y&&_.length===y));C=!0);}catch(O){E=!0,P=O}finally{try{!C&&w.return!=null&&w.return()}finally{if(E)throw P}}return _}}function p(v){if(Array.isArray(v))return v}var m={protocols:["http","https","ftp"],require_tld:!0,require_protocol:!1,require_host:!0,require_port:!1,require_valid_protocol:!0,allow_underscores:!1,allow_trailing_dot:!1,allow_protocol_relative_urls:!1,allow_fragments:!0,allow_query_components:!0,validate_length:!0},h=/^\[([^\]]+)\](?::([0-9]+))?$/;function x(v){return Object.prototype.toString.call(v)==="[object RegExp]"}function b(v,y){for(var _=0;_<y.length;_++){var C=y[_];if(v===C||x(C)&&C.test(v))return!0}return!1}function g(v,y){if((0,r.default)(v),!v||/[\s<>]/.test(v)||v.indexOf("mailto:")===0||(y=(0,o.default)(y,m),y.validate_length&&v.length>=2083)||!y.allow_fragments&&v.includes("#")||!y.allow_query_components&&(v.includes("?")||v.includes("&")))return!1;var _,C,E,P,w,S,O,I;if(O=v.split("#"),v=O.shift(),O=v.split("?"),v=O.shift(),O=v.split("://"),O.length>1){if(_=O.shift().toLowerCase(),y.require_valid_protocol&&y.protocols.indexOf(_)===-1)return!1}else{if(y.require_protocol)return!1;if(v.substr(0,2)==="//"){if(!y.allow_protocol_relative_urls)return!1;O[0]=v.substr(2)}}if(v=O.join("://"),v==="")return!1;if(O=v.split("/"),v=O.shift(),v===""&&!y.require_host)return!0;if(O=v.split("@"),O.length>1){if(y.disallow_auth||O[0]===""||(C=O.shift(),C.indexOf(":")>=0&&C.split(":").length>2))return!1;var q=C.split(":"),k=u(q,2),$=k[0],D=k[1];if($===""&&D==="")return!1}P=O.join("@"),S=null,I=null;var N=P.match(h);if(N?(E="",I=N[1],S=N[2]||null):(O=P.split(":"),E=O.shift(),O.length&&(S=O.join(":"))),S!==null&&S.length>0){if(w=parseInt(S,10),!/^[0-9]+$/.test(S)||w<=0||w>65535)return!1}else if(y.require_port)return!1;return y.host_whitelist?b(E,y.host_whitelist):!(!(0,a.default)(E)&&!(0,n.default)(E,y)&&(!I||!(0,a.default)(I,6))||(E=E||I,y.host_blacklist&&b(E,y.host_blacklist)))}e.exports=t.default,e.exports.default=t.default}(isURL$1,isURL$1.exports);const isURL=getDefaultExportFromCjs(isURL$1.exports),LinkInput=e=>{const{ooui:t,value:r,onChange:n,valueValidator:a,linkPrefix:o=""}=e,{id:s,readOnly:u,required:l}=t,c=l&&!u?Config.requiredClass:void 0,d=React.useContext(FormContext$1),{elementHasLostFocus:f}=d||{},[p,m]=React.useState(!1),[h,x]=React.useState(!1);React.useEffect(()=>{u&&!p&&x(!1),!r&&!u&&(m(!0),x(!0))},[p,u]);const b=g=>{n==null||n(g.target.value)};return jsxRuntime.jsxs(antd.Row,{gutter:8,wrap:!1,align:"middle",children:[u?null:jsxRuntime.jsx(antd.Col,{flex:"32px",children:p?jsxRuntime.jsx(antd.Button,{icon:jsxRuntime.jsx(AntIcons.CheckOutlined,{}),onClick:()=>{a(r)&&(m(!1),x(!1))},tabIndex:-1}):jsxRuntime.jsx(antd.Button,{icon:jsxRuntime.jsx(AntIcons.EditOutlined,{}),onClick:()=>{m(!0),x(!0)},tabIndex:-1})}),jsxRuntime.jsx(antd.Col,{flex:"auto",children:h?jsxRuntime.jsx(antd.Input,{id:s,onChange:b,className:c,value:r,onBlur:()=>{a(r)&&(m(!1),x(!1),f==null||f())}}):jsxRuntime.jsx("a",{href:`${o}${r}`,style:{color:"#1890ff",paddingRight:15},target:"_blank",children:r})})]})},Url=e=>{const{ooui:t}=e,{required:r}=t;return jsxRuntime.jsx(Field$1,{required:r,...e,children:jsxRuntime.jsx(LinkInput,{ooui:t,valueValidator:n=>n?isURL(n):!1})})};var isEmail$1={exports:{}},isByteLength={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=o;var r=n(assertString.exports);function n(s){return s&&s.__esModule?s:{default:s}}function a(s){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?a=function(l){return typeof l}:a=function(l){return l&&typeof Symbol=="function"&&l.constructor===Symbol&&l!==Symbol.prototype?"symbol":typeof l},a(s)}function o(s,u){(0,r.default)(s);var l,c;a(u)==="object"?(l=u.min||0,c=u.max):(l=arguments[1],c=arguments[2]);var d=encodeURI(s).split(/%..|./).length-1;return d>=l&&(typeof c>"u"||d<=c)}e.exports=t.default,e.exports.default=t.default})(isByteLength,isByteLength.exports),function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=g;var r=u(assertString.exports),n=u(merge.exports),a=u(isByteLength.exports),o=u(isFQDN.exports),s=u(isIP.exports);function u(v){return v&&v.__esModule?v:{default:v}}var l={allow_display_name:!1,require_display_name:!1,allow_utf8_local_part:!0,require_tld:!0,blacklisted_chars:"",ignore_max_length:!1,host_blacklist:[]},c=/^([^\x00-\x1F\x7F-\x9F\cX]+)</i,d=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~]+$/i,f=/^[a-z\d]+$/,p=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f]))*$/i,m=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/i,h=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*$/i,x=254;function b(v){var y=v.replace(/^"(.+)"$/,"$1");if(!y.trim())return!1;var _=/[\.";<>]/.test(y);if(_){if(y===v)return!1;var C=y.split('"').length===y.split('\\"').length;if(!C)return!1}return!0}function g(v,y){if((0,r.default)(v),y=(0,n.default)(y,l),y.require_display_name||y.allow_display_name){var _=v.match(c);if(_){var C=_[1];if(v=v.replace(C,"").replace(/(^<|>$)/g,""),C.endsWith(" ")&&(C=C.substr(0,C.length-1)),!b(C))return!1}else if(y.require_display_name)return!1}if(!y.ignore_max_length&&v.length>x)return!1;var E=v.split("@"),P=E.pop(),w=P.toLowerCase();if(y.host_blacklist.includes(w))return!1;var S=E.join("@");if(y.domain_specific_validation&&(w==="gmail.com"||w==="googlemail.com")){S=S.toLowerCase();var O=S.split("+")[0];if(!(0,a.default)(O.replace(/\./g,""),{min:6,max:30}))return!1;for(var I=O.split("."),q=0;q<I.length;q++)if(!f.test(I[q]))return!1}if(y.ignore_max_length===!1&&(!(0,a.default)(S,{max:64})||!(0,a.default)(P,{max:254})))return!1;if(!(0,o.default)(P,{require_tld:y.require_tld})){if(!y.allow_ip_domain)return!1;if(!(0,s.default)(P)){if(!P.startsWith("[")||!P.endsWith("]"))return!1;var k=P.substr(1,P.length-2);if(k.length===0||!(0,s.default)(k))return!1}}if(S[0]==='"')return S=S.slice(1,S.length-1),y.allow_utf8_local_part?h.test(S):p.test(S);for(var $=y.allow_utf8_local_part?m:d,D=S.split("."),N=0;N<D.length;N++)if(!$.test(D[N]))return!1;return!(y.blacklisted_chars&&S.search(new RegExp("[".concat(y.blacklisted_chars,"]+"),"g"))!==-1)}e.exports=t.default,e.exports.default=t.default}(isEmail$1,isEmail$1.exports);const isEmail=getDefaultExportFromCjs(isEmail$1.exports),Email=e=>{const{ooui:t}=e,{required:r}=t;return jsxRuntime.jsx(Field$1,{required:r,...e,children:jsxRuntime.jsx(LinkInput,{ooui:t,linkPrefix:"mailto:",valueValidator:n=>n?isEmail(n):!1})})},GoToResourceModal=e=>{const{visible:t,onIdSubmitted:r,onCancel:n,isSearching:a}=e,{t:o}=React.useContext(LocaleContext);function s(u){r(u.id)}return jsxRuntime.jsx(antd.Modal,{title:o("goToResourceId"),centered:!0,visible:t,footer:null,destroyOnClose:!0,onCancel:n,maskClosable:!1,children:jsxRuntime.jsxs(antd.Form,{layout:"vertical",onFinish:s,autoComplete:"off",children:[jsxRuntime.jsx(antd.Form.Item,{name:"id",label:o("searchId"),rules:[{required:!0,type:"number"}],children:jsxRuntime.jsx(antd.InputNumber,{style:{width:"100%"},autoFocus:!0})}),jsxRuntime.jsx(antd.Row,{align:"middle",justify:"end",children:jsxRuntime.jsx(antd.Col,{children:jsxRuntime.jsxs(antd.Space,{children:[jsxRuntime.jsx(antd.Button,{icon:jsxRuntime.jsx(AntIcons.CloseOutlined,{}),htmlType:"button",onClick:n,disabled:a,children:o("cancel")}),jsxRuntime.jsx(antd.Button,{loading:a,style:{marginLeft:15},icon:jsxRuntime.jsx(AntIcons.CheckOutlined,{}),htmlType:"submit",type:"primary",disabled:a,children:o("ok")})]})})})]})})};function ButtonWithBadge(e){const{badgeNumber:t=0,...r}=e;return jsxRuntime.jsxs("div",{style:{position:"relative"},children:[t>0&&jsxRuntime.jsx("div",{style:{position:"absolute",left:-10,top:-10,zIndex:2},children:jsxRuntime.jsx("span",{style:{display:"inline-block",minWidth:"22px",padding:"2px",borderRadius:"50%",fontSize:"12px",textAlign:"center",background:"#1890FF",color:"#fefefe"},children:t})}),jsxRuntime.jsx(ButtonWithTooltip,{...r,style:{width:46,zIndex:0}})]})}function GraphActionBar({refreshGraph:e}){const{t}=React.useContext(LocaleContext),{availableViews:r,currentView:n,setCurrentView:a,searchParams:o,searchVisible:s,setSearchVisible:u,graphIsLoading:l,previousView:c,setPreviousView:d}=React.useContext(ActionViewContext);return jsxRuntime.jsxs(antd.Space,{wrap:!0,children:[jsxRuntime.jsx(ButtonWithBadge,{icon:jsxRuntime.jsx(AntIcons.FilterOutlined,{style:{color:s?"white":void 0}}),tooltip:t("advanced_search"),type:s?"primary":"default",onClick:()=>{u==null||u(!s)},disabled:l,badgeNumber:o==null?void 0:o.length}),jsxRuntime.jsx(ActionButton,{icon:jsxRuntime.jsx(AntIcons.ReloadOutlined,{}),tooltip:t("refresh"),disabled:l,loading:!1,onClick:()=>{e()}}),jsxRuntime.jsx(ChangeViewButton,{currentView:n,availableViews:r,onChangeView:f=>{d==null||d(n),a==null||a(f)},disabled:!1,previousView:c})]})}const{Title:Title$1,Text:Text$1}=antd.Typography;function TitleHeader(e){const{title:t,children:r}=e,{title:n,currentView:a,currentId:o,currentItemIndex:s,results:u,totalItems:l,selectedRowItems:c}=React.useContext(ActionViewContext),{t:d}=React.useContext(LocaleContext);function f(){if((a==null?void 0:a.type)==="form")return o?l===0?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[d("editingDocument")," (id: ",jsxRuntime.jsx(Text$1,{copyable:!0,children:o}),")"]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[d("register")," ",s===void 0?1:s+1," /"," ",u.length," ",d("of")," ",l," - ",d("editingDocument")," (id:"," ",jsxRuntime.jsx(Text$1,{copyable:!0,children:o}),")"]}):"";if((a==null?void 0:a.type)==="tree"&&c){if(c.length===1)return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:["1 ",d("selectedRegisters")," - (id:"," ",jsxRuntime.jsx(Text$1,{copyable:!0,children:c[0].id}),")"]});if(c.length>1)return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[c.length," ",d("selectedRegisters"),jsxRuntime.jsx(Text$1,{copyable:{text:c.map(p=>p.id).join(", ")}})]})}return null}return jsxRuntime.jsxs("div",{style:{position:"sticky",top:80,zIndex:3},children:[jsxRuntime.jsxs(antd.Row,{className:"rounded shadow-md bg-blueGray-100",style:{padding:"1em"},align:"middle",children:[jsxRuntime.jsxs(antd.Col,{flex:2,children:[jsxRuntime.jsx(Title$1,{level:3,style:{marginBottom:0},children:t||n}),f()]}),jsxRuntime.jsx(antd.Col,{flex:3,children:jsxRuntime.jsx(antd.Row,{justify:"end",children:r})})]}),jsxRuntime.jsx("div",{className:"pb-5"})]})}const GraphActionView=e=>{const{viewData:t,visible:r,model:n,context:a,domain:o,formView:s,treeView:u}=e,l=React.useRef(),c=React.useContext(ActionViewContext),{setResults:d=void 0,setCurrentItemIndex:f=void 0,currentId:p=void 0,results:m=void 0,setSelectedRowItems:h=void 0,setSearchParams:x=void 0,searchVisible:b=!0,setSearchVisible:g=void 0,sorter:v=void 0,setSorter:y=void 0,setTotalItems:_=void 0,setSearchTreeNameSearch:C=void 0,setTreeIsLoading:E=void 0,limit:P,setLimit:w,searchParams:S,searchValues:O,setSearchValues:I,currentView:q}=c||{},[k,$]=React.useState(!0);React.useEffect(()=>{var Y;(Y=l.current)==null||Y.refresh()},[S]),React.useEffect(()=>{t.view_id!==q.view_id&&$(!0)},[q]);const{clear:D,searchFilterLoading:N,searchError:V,offset:M,tableRefreshing:W}=useSearch({model:n,setSearchTreeNameSearch:C,setSelectedRowItems:h,searchParams:S,setSearchValues:I,setSearchParams:x,setSearchVisible:g,setTreeIsLoading:E,context:a,formView:s,treeView:u,sorter:v,setSorter:y,setCurrentItemIndex:f,setResultsActionView:d,resultsActionView:m,domain:o,currentId:p,setActionViewTotalItems:_,limit:P,setLimit:w});return!r||!t?null:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(TitleHeader,{title:t.name,children:jsxRuntime.jsx(GraphActionBar,{refreshGraph:()=>{l.current.refresh()}})}),jsxRuntime.jsx(SearchFilter,{fields:{...u.fields,...s.fields},searchFields:mergeSearchFields([s.search_fields,u.search_fields]),limit:P,onClear:D,offset:M,isSearching:N,onSubmit:Y=>{$(!1),x==null||x(Y.params),g==null||g(!1)},searchError:V,searchVisible:b,searchValues:O,showLimitOptions:!1}),W?jsxRuntime.jsx(antd.Spin,{}):jsxRuntime.jsx(Graph,{ref:l,view_id:t.view_id,model:n,context:a,domain:mergeParams(S||[],o),limit:k?P:void 0,manualIds:k?m==null?void 0:m.map(Y=>Y.id):void 0})]})},FormActionView=e=>{const{visible:t,formRef:r,model:n,currentId:a,domain:o,formView:s,context:u,defaultValues:l,forcedValues:c,results:d,setResults:f,setCurrentItemIndex:p}=e;return t?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(TitleHeader,{children:jsxRuntime.jsx(FormActionBar,{toolbar:s==null?void 0:s.toolbar})}),jsxRuntime.jsx(Form$1,{rootForm:!0,ref:r,model:n,defaultValues:l,forcedValues:c,formView:s,actionDomain:o,id:a,parentContext:u,onSubmitSucceed:(m,h)=>{d.findIndex(b=>b.id===m)===-1&&(d.push(h),f(d),p(d.length-1))}})]}):null};function SearchBar(e){const{onSearch:t,disabled:r=!1,searchText:n}=e,{t:a}=React.useContext(LocaleContext),[o]=antd.Form.useForm(),[s,u]=React.useState(!1);function l(d){t(d.search)}React.useEffect(()=>{o.setFieldsValue({search:n})},[n]);function c(){u(!1),o.setFieldsValue({search:void 0}),t(void 0)}return jsxRuntime.jsx(antd.Form,{form:o,onFinish:l,autoComplete:"off",children:jsxRuntime.jsxs(antd.Row,{align:"middle",justify:"end",children:[jsxRuntime.jsx(antd.Col,{children:jsxRuntime.jsx(antd.Form.Item,{name:"search",noStyle:!0,children:jsxRuntime.jsx(antd.Input,{autoFocus:!0,disabled:r,onChange:d=>{u(d.target.value.length>0)},suffix:(s||n&&n.length>0)&&jsxRuntime.jsx(antd.Tooltip,{title:a("clear"),children:jsxRuntime.jsx(AntIcons.CloseCircleFilled,{style:{color:"rgba(0,0,0,.45)"},onClick:c})})})})}),jsxRuntime.jsx(antd.Col,{children:jsxRuntime.jsx(antd.Button,{htmlType:"submit",disabled:r,children:a("search")})})]})})}function TreeActionBar(e){const{availableViews:t,currentView:r,setCurrentView:n,selectedRowItems:a,setRemovingItem:o,removingItem:s,duplicatingItem:u,setDuplicatingItem:l,currentModel:c,searchTreeRef:d,setCurrentId:f,setCurrentItemIndex:p,searchParams:m,searchVisible:h,setSearchVisible:x,setSearchTreeNameSearch:b,searchTreeNameSearch:g,treeIsLoading:v,setPreviousView:y,previousView:_}=React.useContext(ActionViewContext),{parentContext:C={},treeExpandable:E,toolbar:P}=e,{t:w,lang:S}=React.useContext(LocaleContext),O=React.useContext(ContentRootContext),{processAction:I}=O||{};function q(){showDialog$9({confirmMessage:w("confirmRemove"),lang:S,onOk:()=>{k()}})}async function k(){var N;try{o==null||o(!0),await ConnectionProvider.getHandler().delete({model:c,ids:a.map(V=>V.id)}),f==null||f(void 0),p==null||p(void 0),(N=d==null?void 0:d.current)==null||N.refreshResults()}catch(V){showDialog$8(V)}finally{o==null||o(!1)}}async function $(){var N;try{l==null||l(!0);const V=a[0].id;await ConnectionProvider.getHandler().duplicate({id:V,model:c,context:{...C}})&&((N=d==null?void 0:d.current)==null||N.refreshResults())}catch(V){showDialog$8(V)}finally{l==null||l(!1)}}function D(N){I==null||I({actionData:N,values:{active_id:a==null?void 0:a.map(V=>V.id)[0],active_ids:a==null?void 0:a.map(V=>V.id)},fields:{},context:{...C,active_id:a==null?void 0:a.map(V=>V.id)[0],active_ids:a==null?void 0:a.map(V=>V.id)},onRefreshParentValues:()=>{var V;(V=d==null?void 0:d.current)==null||V.refreshResults()}})}return jsxRuntime.jsxs(antd.Space,{wrap:!0,children:[E?null:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(SearchBar,{disabled:u||s||v,searchText:g,onSearch:N=>{N&&N.trim().length>0?b==null||b(N):b==null||b(void 0)}}),!E&&jsxRuntime.jsx(ButtonWithBadge,{icon:jsxRuntime.jsx(AntIcons.FilterOutlined,{style:{color:h?"white":void 0}}),tooltip:w("advanced_search"),type:h?"primary":"default",onClick:()=>{x==null||x(!h)},disabled:u||s||v,badgeNumber:m==null?void 0:m.length}),separator$1(),jsxRuntime.jsx(NewButton,{disabled:v}),jsxRuntime.jsx(ActionButton,{icon:jsxRuntime.jsx(AntIcons.CopyOutlined,{}),tooltip:w("duplicate"),disabled:!a||(a==null?void 0:a.length)!==1||u||v,loading:u,onClick:$}),jsxRuntime.jsx(ActionButton,{icon:jsxRuntime.jsx(AntIcons.DeleteOutlined,{}),tooltip:w("delete"),disabled:!(a&&(a==null?void 0:a.length)>0)||v,loading:s,onClick:q}),separator$1()]}),jsxRuntime.jsx(ActionButton,{icon:jsxRuntime.jsx(AntIcons.InfoCircleOutlined,{}),tooltip:w("showLogs"),disabled:!(a&&(a==null?void 0:a.length)>0)||v,loading:!1,onClick:()=>{showLogInfo(c,a[0].id,w)}}),jsxRuntime.jsx(ActionButton,{icon:jsxRuntime.jsx(AntIcons.ReloadOutlined,{}),tooltip:w("refresh"),disabled:u||s||v,loading:!1,onClick:()=>{var N;(N=d==null?void 0:d.current)==null||N.refreshResults()}}),!E&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[separator$1(),jsxRuntime.jsx(ChangeViewButton,{currentView:r,availableViews:t,onChangeView:N=>{y==null||y(r),n==null||n(N)},previousView:_,disabled:v})]}),separator$1(),jsxRuntime.jsx(DropdownButton,{icon:jsxRuntime.jsx(AntIcons.ThunderboltOutlined,{}),disabled:!(a&&(a==null?void 0:a.length)>0)||v,tooltip:w("actions"),items:P==null?void 0:P.action,onItemClick:N=>{!N||D(N)}}),jsxRuntime.jsx(DropdownButton,{icon:jsxRuntime.jsx(AntIcons.PrinterOutlined,{}),disabled:!(a&&(a==null?void 0:a.length)>0)||v,tooltip:w("reports"),items:P==null?void 0:P.print,onItemClick:N=>{!N||D({...N,datas:{...N.datas||{},ids:a.map(V=>V.id)}})}})]})}function separator$1(){return jsxRuntime.jsx("div",{className:"inline-block w-2"})}const TreeActionView=e=>{const{visible:t,searchTreeRef:r,model:n,context:a,formView:o,treeView:s,domain:u,setCurrentItemIndex:l,results:c,setCurrentId:d,setCurrentView:f,availableViews:p,searchTreeNameSearch:m}=e,{currentView:h,setPreviousView:x}=React.useContext(ActionViewContext);return t?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(TitleHeader,{children:jsxRuntime.jsx(TreeActionBar,{toolbar:s==null?void 0:s.toolbar,parentContext:a,treeExpandable:(s==null?void 0:s.isExpandable)||!1})}),jsxRuntime.jsx(SearchTree$1,{ref:r,rootTree:!0,model:n,parentContext:a,nameSearch:m,formView:o,treeView:s,domain:u,onRowClicked:b=>{const{id:g}=b;d(g);const v=c.findIndex(_=>_.id===g);x==null||x(h),l(v);const y=p.find(_=>_.type==="form");f(y)}})]}):null},DashboardActionContext=React__default.default.createContext(null),DashboardActionProvider=e=>{const[t,r]=React.useState(!1),[n,a]=React.useState(!1),{children:o,dashboardRef:s,openAction:u}=e;return jsxRuntime.jsx(DashboardActionContext.Provider,{value:{isLoading:t,setIsLoading:r,dashboardRef:s,openAction:u,moveItemsEnabled:n,setMoveItemsEnabled:a},children:o})};function DashboardActionBar(){const{isLoading:e,dashboardRef:t,moveItemsEnabled:r,setMoveItemsEnabled:n}=React.useContext(DashboardActionContext),{t:a}=React.useContext(LocaleContext);return jsxRuntime.jsxs(antd.Space,{wrap:!0,children:[jsxRuntime.jsx(ActionButton,{icon:jsxRuntime.jsx(AntIcons.BorderOuterOutlined,{style:{color:r?"white":void 0}}),type:r?"primary":"default",tooltip:a("moveDashboard"),disabled:e,loading:!1,onClick:()=>{n(!r)}}),separator(),jsxRuntime.jsx(ActionButton,{icon:jsxRuntime.jsx(AntIcons.SettingOutlined,{}),tooltip:a("configDashboard"),disabled:e,loading:!1,onClick:()=>{t==null||t.current.configDashboard()}}),jsxRuntime.jsx(ActionButton,{icon:jsxRuntime.jsx(AntIcons.ReloadOutlined,{}),tooltip:a("refresh"),disabled:e,loading:!1,onClick:()=>{t==null||t.current.refresh()}})]})}function separator(){return jsxRuntime.jsx("div",{className:"inline-block w-2"})}const DashboardActionView=e=>{const{dashboardData:t}=e,r=React.useRef(),n=React.useContext(TabManagerContext),{openShortcut:a}=n||{};return t?jsxRuntime.jsxs(DashboardActionProvider,{dashboardRef:r,openAction:o=>{a(o)},children:[jsxRuntime.jsx(TitleHeader,{children:jsxRuntime.jsx(DashboardActionBar,{})}),jsxRuntime.jsx(Dashboard$1,{ref:r,model:t.model,id:t.id,context:t==null?void 0:t.context,configAction:t==null?void 0:t.configAction})]}):null};function ActionView(e,t){const{domain:r,model:n,context:a,views:o,title:s,setCanWeClose:u,tabKey:l,initialView:c,formDefaultValues:d,formForcedValues:f={},res_id:p=!1,action_id:m,action_type:h,treeExpandable:x=!1,limit:b}=e,[g,v]=React.useState(),[y,_]=React.useState([]),[C,E]=React.useState(!0),P=p||void 0,[w,S]=React.useState(P),[O,I]=React.useState([]),[q,k]=React.useState(),[$,D]=React.useState([]),[N,V]=React.useState(),[M,W]=React.useState(0),[Y,z]=React.useState(!1),[H,K]=React.useState(!1),[U,B]=React.useState(),{t:F}=React.useContext(LocaleContext),A=React.useRef(),L=React.useRef(),G=React.useContext(TabManagerContext),{setCurrentView:Z,setCurrentId:j,tabs:T,activeKey:X,openAction:J}=G||{};reactHotkeysHook.useHotkeys("ctrl+g,command+g",ae=>{ae.preventDefault(),oe()},[X,T,g,q,$]);function ee(ae){S(ae),j==null||j(ae)}function Q(ae){v(ae),Z==null||Z(ae)}React.useImperativeHandle(t,()=>({canWeClose:te}));const ie=async()=>{E(!0);const ae=[];for(const fe of o){const[me,ge]=fe;let pe;try{ge!=="dashboard"&&(pe=await ConnectionProvider.getHandler().getView({model:n,type:ge,id:me,context:a}))}catch(Oe){console.error(`${n} - ${ge}\xA0- ${JSON.stringify(Oe,null,2)}`);continue}switch(ge){case"dashboard":{const Oe=o.find(le=>{const[,ue]=le;return ue==="form"});let Re;Oe&&(Re={action_id:m,action_type:h,name:s,res_id:a.active_id,res_model:n,view_id:Oe[0],view_type:Oe[1]}),ae.push({type:"dashboard",id:a.active_id,model:n,context:a,configAction:Re});break}case"form":{ae.push({...pe,type:ge});break}case"tree":{ae.push({...pe,isExpandable:x,type:ge});break}case"graph":{ae.push({...pe,type:ge});break}}}let he;!c&&ae.find(fe=>fe.type==="tree")?he=ae.find(me=>me.type==="tree"):c?he=ae.find(me=>c.id?me.type===c.type&&me.view_id===c.id:me.type===c.type):he=ae.find(me=>me.type==="form"),he||showDialog$8(`Error determining the first view to show.
130
130
  Please, make sure the view ids on the fields_view_get responses are the same as the ones defined in the action`),Q(he),_(ae),E(!1)};u({tabKey:l,canWeClose:te}),React.useEffect(()=>{const ae=y.find(fe=>fe.type==="tree"),he=y.find(fe=>c.id?fe.type===c.type&&fe.view_id===c.id:fe.type===c.type);Q(he||ae),p?j==null||j(P):(ee(void 0),k(void 0)),ie()},[n,o,p]),React.useEffect(()=>{X===l&&(j==null||j(w),Z==null||Z(g))},[T,X]);async function te(){return g.type==="form"?await A.current.cancelUnsavedChanges():!0}async function oe(){X===l&&(g.type==="form"&&!await A.current.cancelUnsavedChanges()||z(!0))}async function se(ae){var ge;K(!0);const he=$.findIndex(pe=>pe.id===ae);let fe;if(he===-1){try{fe=(ge=await ConnectionProvider.getHandler().readObjects({model:n,ids:[ae],context:a}))==null?void 0:ge[0]}catch{}if(!fe){K(!1),z(!1),showDialog$7(F("idNotFound"));return}}else fe=$[he];K(!1),z(!1);const me=o.find(pe=>pe[1]==="form");J({domain:[],context:a,model:n,views:o,title:s,target:"current",initialView:{id:me==null?void 0:me[0],type:"form"},action_id:m,action_type:h,res_id:ae})}function _e(){return y.map(ae=>{switch(ae.type){case"form":return jsxRuntime.jsx(FormActionView,{formRef:A,currentId:w,visible:g.type===ae.type&&g.view_id===ae.view_id,formView:ae,model:n,context:a,domain:r,defaultValues:d,forcedValues:f,results:$,setResults:D,setCurrentItemIndex:k},`${ae.type}-${ae.view_id}`);case"tree":return jsxRuntime.jsx(TreeActionView,{visible:g.type===ae.type&&g.view_id===ae.view_id,limit:b,model:n,context:a,domain:r,formView:y.find(he=>he.type==="form"),treeView:ae,searchTreeRef:L,searchTreeNameSearch:U,availableViews:y,results:$,setCurrentItemIndex:k,setCurrentId:ee,setCurrentView:Q},`${ae.type}-${ae.view_id}`);case"graph":return jsxRuntime.jsx(GraphActionView,{visible:g.type===ae.type&&g.view_id===ae.view_id,viewData:ae,model:n,context:a,domain:r,treeView:y.find(he=>he.type==="tree"),formView:y.find(he=>he.type==="form")},`${ae.type}-${ae.view_id}`);case"dashboard":return jsxRuntime.jsx(DashboardActionView,{dashboardData:ae},`${ae.type}-${ae.view_id}`)}})}function be(){if(w===void 0&&g.type==="form")A.current.clearAndReload();else{ee(void 0);const ae=y.find(he=>he.type==="form");Q(ae)}}return C?jsxRuntime.jsx(antd.Spin,{}):g?jsxRuntime.jsxs(ActionViewProvider,{title:s,currentView:g,setCurrentView:Q,availableViews:y,formRef:A,searchTreeRef:L,onNewClicked:be,currentId:w,setCurrentId:ee,setCurrentItemIndex:k,currentItemIndex:q,results:$,setResults:D,currentModel:n,sorter:N,setSorter:V,totalItems:M,setTotalItems:W,selectedRowItems:O,setSelectedRowItems:I,setSearchTreeNameSearch:B,searchTreeNameSearch:U,goToResourceId:se,limit:b,children:[_e(),jsxRuntime.jsx(GoToResourceModal,{visible:Y,onIdSubmitted:se,isSearching:H,onCancel:()=>{z(!1)}})]}):null}const ActionView$1=React.forwardRef(ActionView);var getRandomValues,rnds8=new Uint8Array(16);function rng(){if(!getRandomValues&&(getRandomValues=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto<"u"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto),!getRandomValues))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return getRandomValues(rnds8)}const REGEX=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function validate(e){return typeof e=="string"&&REGEX.test(e)}for(var byteToHex=[],i=0;i<256;++i)byteToHex.push((i+256).toString(16).substr(1));function stringify(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=(byteToHex[e[t+0]]+byteToHex[e[t+1]]+byteToHex[e[t+2]]+byteToHex[e[t+3]]+"-"+byteToHex[e[t+4]]+byteToHex[e[t+5]]+"-"+byteToHex[e[t+6]]+byteToHex[e[t+7]]+"-"+byteToHex[e[t+8]]+byteToHex[e[t+9]]+"-"+byteToHex[e[t+10]]+byteToHex[e[t+11]]+byteToHex[e[t+12]]+byteToHex[e[t+13]]+byteToHex[e[t+14]]+byteToHex[e[t+15]]).toLowerCase();if(!validate(r))throw TypeError("Stringified UUID is invalid");return r}function v4(e,t,r){e=e||{};var n=e.random||(e.rng||rng)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){r=r||0;for(var a=0;a<16;++a)t[r+a]=n[a];return t}return stringify(n)}async function fetchAction({actionId:e,rootContext:t={},globalValues:r={}}){const n="ir.actions.act_window",a=`${n},${e}`,o=await ConnectionProvider.getHandler().getActionData({action:a,context:t}),s=ooui.parseContext({context:o.context,values:r,fields:{}}),u=o.domain?await ConnectionProvider.getHandler().evalDomain({domain:o.domain,values:r,context:{...t,...s}}):[],{res_model:l,views:c,name:d,limit:f,view_type:p}=o,m=p==="tree",h=[];for(const v of c){const[y,_]=v;if(y)h.push(v);else{const{view_id:C}=await ConnectionProvider.getHandler().getView({model:l,type:_,id:y,context:{...t,...s}});h.push([C,_])}}const[x,b]=h[0],g={id:x,type:b};return{title:d,actionId:e,actionType:n,key:v4(),views:c,model:l,context:{...t,...s},domain:u,initialView:g,limit:f,treeExpandable:m}}const styles$1="",styles="",ResponsiveReactGridLayout=reactGridLayout.WidthProvider(reactGridLayout.Responsive),DashboardGrid=e=>{const{children:t=[],onPositionItemsChanged:r}=e,n=React__default.default.Children.map(t,a=>{const{parms:o,id:s}=a.props;return jsxRuntime.jsx("div",{"data-grid":o,children:a},s)});return jsxRuntime.jsx(ResponsiveReactGridLayout,{className:"layout",cols:{lg:12,md:10,sm:6,xs:4,xxs:2},draggableHandle:".draggable-head",rowHeight:30,onLayoutChange:a=>{r==null||r(a.map(o=>({id:parseInt(o.i.replace(".$",""),10),x:o.x,y:o.y,w:o.w,h:o.h})))},children:n})},{Text}=antd.Typography,DashboardGridItem=e=>{const{id:t,title:r,children:n,action:a,openAction:o}=e;return jsxRuntime.jsxs("div",{className:"shadow-md rounded",style:{height:"100%",display:"flex",flexDirection:"column",overflow:"hidden",border:"1px solid #eee",backgroundColor:"white"},children:[jsxRuntime.jsxs(antd.Row,{className:"bg-blueGray-100",align:"middle",style:{borderBottom:"1px solid #ddd"},wrap:!1,children:[jsxRuntime.jsx(antd.Col,{flex:"auto",className:"draggable-head",style:{fontWeight:"bold",padding:"0.5rem",cursor:"grab",overflow:"hidden"},children:jsxRuntime.jsx(Text,{ellipsis:!0,children:r})}),a&&jsxRuntime.jsx(antd.Col,{flex:"25px",style:{padding:"0.5rem"},children:jsxRuntime.jsx(antd.Row,{justify:"end",align:"middle",children:jsxRuntime.jsx(AntIcons.ExportOutlined,{style:{cursor:"pointer"},onClick:()=>{o==null||o(a)}})})})]}),n]})},DEFAULT_SEARCH_LIMIT=80;function DashboardTree(e){const{action:t,model:r,view_id:n,onRowClicked:a,domain:o=[],visible:s=!0,parentContext:u={}}=e,[l,c]=React.useState(!1),[d,f]=React.useState(!1),[p,m]=React.useState(),[h,x]=React.useState(),[b,g]=React.useState(),[v,y]=React.useState(1),[_,C]=React.useState(0),E=React.useRef(DEFAULT_SEARCH_LIMIT),P=React.useRef([]),[w,S]=React.useState(0),[O,I]=React.useState([]),[q,k]=React.useState(void 0),[$,D]=React.useState(),[N,V]=React.useState(),[M,W]=React.useState(),[Y,z]=React.useState(!1),H=React.useRef([]),K=j=>{z(!0),y(j),C((j-1)*E.current)},U=async()=>{const j=H.current.length>0?H.current:o,T=mergeParams(P.current,j),{colors:X}=getTree(h),{totalItems:J,results:ee,attrsEvaluated:Q}=await ConnectionProvider.getHandler().searchForTree({params:T,limit:E.current,offset:_,model:p,fields:h.fields,context:u,attrs:X&&{colors:X}}),ie=await J;S(ie),k(getColorMap(Q));const te=sortResults({resultsToSort:ee,sorter:$,fields:{...h.fields,...b.fields}});I(te)},B=async()=>{try{z(!0),await U()}catch(j){V(JSON.stringify(j))}finally{z(!1)}};React.useEffect(()=>{!d||s&&B()},[v,_,d,s]);const F=async j=>{f(!1),c(!0),W(void 0);try{j==="action"?await A():await L(),f(!0)}catch(T){W(T)}finally{c(!1)}},A=async()=>{const j=await ConnectionProvider.getHandler().getViewsForAction({action:t,context:u});H.current=j.domain,g(j.views.get("form")),x(j.views.get("tree")),m(j.model),E.current=j.limit},L=async()=>{m(r);const j=await ConnectionProvider.getHandler().getView({model:r,type:"form",context:u});g(j);const T=await ConnectionProvider.getHandler().getView({model:r,type:"tree",id:n,context:u});x(T)};React.useEffect(()=>{t?F("action"):r&&F("model")},[t,r]);const G=j=>{const{id:T}=j;a({id:T,model:p,treeView:h})},Z=()=>!h||!b?null:jsxRuntime.jsxs("div",{style:{overflowY:"scroll"},children:[N&&jsxRuntime.jsx(antd.Alert,{className:"mt-10",message:N,type:"error",banner:!0}),jsxRuntime.jsx(Tree,{showPagination:!1,total:w,limit:E.current,page:v,treeView:h,results:O,onRequestPageChange:K,loading:Y,onRowClicked:G,colorsForResults:q,sorter:$,onChangeSort:j=>{D==null||D(j);const T=sortResults({resultsToSort:O,sorter:j,fields:{...h.fields,...b.fields}});I(T)},context:u})]});return M?jsxRuntime.jsx(antd.Alert,{className:"mt-10",message:M,type:"error",banner:!0}):l?jsxRuntime.jsx(antd.Spin,{style:{padding:"2rem"}}):Z()}const DashboardForm=e=>{const{model:t}=e,[r,n]=React.useState();React.useEffect(()=>{a()},[t]);async function a(){const o=await ConnectionProvider.getHandler().search({params:[],model:t,limit:1});o.length>0&&n(o[0].id)}return jsxRuntime.jsx("div",{style:{padding:"0.5rem",overflowY:"scroll"},children:jsxRuntime.jsx(Form$1,{...e,model:t,id:r,readOnly:!0})})},itemsField="line_ids";function Dashboard(e,t){const{model:r,context:n={},id:a,configAction:o}=e,[s,u]=React.useState([]),[l,c]=React.useState(!1),[d,f]=React.useState(),{setIsLoading:p,openAction:m,moveItemsEnabled:h}=React.useContext(DashboardActionContext),x=React.useRef(),b=React.useRef();React.useEffect(()=>{g()},[r,a,n]),React.useImperativeHandle(t,()=>({refresh:()=>{g()},configDashboard:P}));async function g(){c(!0),p(!0),f(void 0);try{const w=await v(),S=await _(w),O=w.fields[itemsField].relation,I=S[itemsField].items;b.current=w.fields;const q=await y({items:I,model:O,context:n}),k=await C(q);u(k),c(!1),p(!1)}catch(w){f(JSON.stringify(w))}}async function v(){return await ConnectionProvider.getHandler().getView({model:r,type:"form",context:n})}async function y({items:w,model:S,context:O}){return x.current=(await ConnectionProvider.getHandler().getView({model:S,type:"form",context:O})).fields,await readObjectValues({treeFields:x.current,formFields:x.current,model:S,items:w,context:O})}async function _(w){return(await ConnectionProvider.getHandler().readObjects({model:r,ids:[a],fields:w.fields,context:n}))[0]}async function C(w){const S=[];for(const O of w){const{values:I}=O;if(I.action_id&&I.action_id.length>0){const q=parseInt(I.action_id[0],10),k=await fetchAction({actionId:q,rootContext:n});S.push({...O,actionData:k})}}return S}async function E(w){if(!h)return;const S=w.filter(k=>{const $=s.find(N=>N.id===k.id);if(!$)return!1;if(!$.position)return!0;const D={...JSON.parse($.position.replace(/'/g,'"')),id:$.id};return JSON.stringify(k)!==JSON.stringify(D)});if(S.length===0)return;const I=s.filter(k=>S.map($=>$.id).includes(k.id)).map(k=>{const $={...S.find(D=>D.id===k.id)};return delete $.id,{...k},{...k,operation:"pendingUpdate",values:{...k.values,position:JSON.stringify($).replace(/"/g,"'")}}}),q={fields:x.current,items:I};await ConnectionProvider.getHandler().update({model:r,id:a,values:{[itemsField]:q},fields:b.current,context:n})}async function P(){m(o)}return d?jsxRuntime.jsx(antd.Alert,{className:"mt-10 mb-20",message:d,type:"error",banner:!0}):l?jsxRuntime.jsx(AntIcons.LoadingOutlined,{}):jsxRuntime.jsx(DashboardGrid,{onPositionItemsChanged:E,children:s.map((w,S)=>{const{actionData:O,values:I}=w,{position:q,id:k}=I,{actionId:$,actionType:D,key:N,title:V,views:M,model:W,context:Y,domain:z,initialView:H,limit:K}=O;let U={};try{U=JSON.parse(q.replace(/'/g,'"'))}catch{U={x:S*2,y:0,w:2,h:3}}let B=null;if((H==null?void 0:H.type)==="graph")B=jsxRuntime.jsx(Graph,{view_id:M.filter(L=>L[1]==="graph")[0][0],model:W,context:Y,domain:z,limit:K});else if((H==null?void 0:H.type)==="form")B=jsxRuntime.jsx(DashboardForm,{model:W,actionDomain:z});else if((H==null?void 0:H.type)==="tree")B=jsxRuntime.jsx(DashboardTree,{model:W,domain:z,view_id:M.filter(L=>L[1]==="tree")[0][0],onRowClicked:L=>{const G=M.find(Z=>{const[,j]=Z;return j==="form"});if(G){const[Z,j]=G,{actionId:T,actionType:X,title:J,model:ee}=O,Q={action_id:T,action_type:X,name:J,res_id:L.id,res_model:ee,view_id:Z,view_type:j};m(Q)}}});else if(H!==void 0){const L=H&&Array.isArray(H.id)?{...H,id:H.id[0]}:H;B=jsxRuntime.jsx(ActionView$1,{action_id:$,action_type:D,tabKey:N,title:V,views:M,model:W,context:Y,domain:z,setCanWeClose:()=>{},initialView:L,limit:K})}let F;const A=M.find(L=>{const[,G]=L;return G==="tree"});if(A){const[L,G]=A,{actionId:Z,actionType:j,title:T,model:X}=O;F={action_id:Z,action_type:j,name:T,res_id:!1,res_model:X,view_id:L,view_type:G}}return jsxRuntime.jsx(DashboardGridItem,{id:k,title:V,parms:U,action:F,openAction:m,children:B},k)})})}const Dashboard$1=React.forwardRef(Dashboard),MultiCheckbox=e=>{const{ooui:t}=e;return jsxRuntime.jsx(Field$1,{type:"array",...e,children:jsxRuntime.jsx(MultiCheckboxInput,{ooui:t})})},MultiCheckboxInput=e=>{const{value:t,ooui:r,onChange:n}=e,{items:a=[]}=t||{},o=a.filter(w=>w.operation!=="pendingRemove").map(w=>w.id),[s,u]=React.useState([]),[l,c]=React.useState(),[d,f]=React.useState(!1),{relation:p,context:m,readOnly:h,field:x,columns:b}=r,g=React.useContext(FormContext$1),{getContext:v}=g||{};useDeepCompareEffect__default.default(()=>{_()},[a]);const y=w=>{n==null||n({items:w})};async function _(){f(!0);let w=[];if(r.domain){const S=await ConnectionProvider.getHandler().evalDomain({domain:r.domain,values:transformPlainMany2Ones({fields:g==null?void 0:g.getFields(),values:g.getPlainValues()}),fields:g==null?void 0:g.getFields(),context:g.getContext()});w=[...w,...S]}try{const O=(await ConnectionProvider.getHandler().search({model:p,params:w,fields:[x],context:{...v==null?void 0:v(),...m}})).map(I=>{const q=I[x];let k=q;return Array.isArray(q)&&(k=q[1]),{label:k,value:I.id}});u(O)}catch(S){c(S)}finally{f(!1)}if(l)return jsxRuntime.jsx(antd.Alert,{className:"mt-10",message:l,type:"error",banner:!0})}const C=()=>{P(s.map(w=>w.value))},E=()=>{P([])},P=w=>{const S=a.map(I=>w.includes(I.id)?I.operation=="pendingRemove"?{...I,operation:"original"}:I:{id:I.id,operation:"pendingRemove"}),O=S.map(I=>I.id);w.filter(I=>!O.includes(I)).map(I=>{S.push({id:I,operation:"pendingLink"})}),y(S)};return d&&s.length===0?jsxRuntime.jsx(antd.Spin,{}):jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsxs("div",{className:"flex flex-row",children:[jsxRuntime.jsx(antd.Checkbox.Group,{value:s.length?o:[],disabled:h,onChange:P,style:{width:"100%"},children:jsxRuntime.jsx(antd.Row,{children:s.map(w=>jsxRuntime.jsx(antd.Col,{span:Math.floor(24/b),children:jsxRuntime.jsx(antd.Checkbox,{value:w.value,children:w.label})}))})}),!h&&jsxRuntime.jsxs(antd.Space,{children:[jsxRuntime.jsx(antd.Button,{onClick:C,disabled:o.length==s.length,children:"Check all"}),jsxRuntime.jsx(antd.Button,{onClick:E,disabled:o.length===0,children:"Uncheck all"})]})]})})},Radio=e=>{const{ooui:t}=e,{required:r}=t;return jsxRuntime.jsx(Field$1,{required:r,type:"any",...e,children:jsxRuntime.jsx(SelectionInput,{...e})})},SelectionInput=e=>{const{ooui:t,onChange:r,value:n}=e,{selectionValues:a,readOnly:o,direction:s}=t,u=Array.from(a.entries()),l=u&&u.length&&u.map(c=>{const[d,f]=c;return jsxRuntime.jsx(antd.Radio,{value:d,children:f},d)});return jsxRuntime.jsx(antd.Radio.Group,{disabled:o,onChange:r,value:n,children:jsxRuntime.jsx(antd.Space,{direction:s,children:l})})},Switch=e=>{const{ooui:t}=e,{id:r,readOnly:n,required:a}=t;return jsxRuntime.jsx(Field$1,{...e,valuePropName:"checked",children:jsxRuntime.jsx(SwitchInput,{id:r,readOnly:n,required:a})})},SwitchInput=e=>{const{required:t,readOnly:r,...n}=e;return jsxRuntime.jsx("div",{className:"flex flex-row",children:jsxRuntime.jsx(antd.Switch,{disabled:r,...n})})},Steps=e=>{const{ooui:t}=e,{required:r}=t;return jsxRuntime.jsx(Field$1,{required:r,type:"any",...e,children:jsxRuntime.jsx(StepsInput,{...e})})},StepsInput=e=>{const{ooui:t,value:r}=e,{selectionValues:n,errorField:a}=t,o=React.useContext(FormContext$1),s=Array.from(n.entries()),u=s.map(d=>d[0]).indexOf(r);let l="process",c="";return a&&(c=o.getFieldValue(a),c&&(l="error")),jsxRuntime.jsx(antd.Steps,{current:u,status:l,children:s.map((d,f)=>jsxRuntime.jsx(antd.Steps.Step,{title:d[1],description:f===u&&l==="error"?c:null}))})},CodeEditor=e=>{const{ooui:t}=e,{lang:r,height:n}=t,a=React.useContext(FormContext$1),{elementHasLostFocus:o}=a||{},s=u=>{u.onDidBlurEditorWidget(o)};return jsxRuntime.jsx(Field$1,{...e,children:jsxRuntime.jsx(Editor__default.default,{defaultLanguage:r||"",height:n||300,onMount:s})})},{Content}=antd.Layout,{Title}=antd.Typography;function Welcome(){const{t:e}=React.useContext(LocaleContext);return jsxRuntime.jsx(Content,{className:"m-5 select-none",children:jsxRuntime.jsx(Title,{level:5,children:e("welcome")})})}function RootView(e,t){const{children:r,globalValues:n={},rootContext:a={},lang:o}=e,[s,u]=React.useState("welcome"),[l,c]=React.useState([{title:tForLang("welcome",o),key:"welcome",closable:!0,content:jsxRuntime.jsx(Welcome,{})}]),d=React.useRef(new Map),f=React.useRef();React.useImperativeHandle(t,()=>({retrieveAndOpenAction:h,openShortcut:g}));function p(_){if(_===s){const C=l.findIndex(E=>E.key===_);l[C-1]&&u(l[C-1].key),l[C+1]&&u(l[C+1].key)}c(l.filter(C=>C.key!==_)),d.current.delete(_)}function m({tabKey:_,canWeClose:C}){d.current.set(_,C)}async function h({action:_,values:C,forced_values:E,initialViewType:P,res_id:w,domain:S=[]}){const O=await ConnectionProvider.getHandler().getActionData({action:_,context:a});if(O.type==="ir.actions.wizard"){showDialog$8("Action type not supported");return}const[I,q]=_.split(","),k=parseInt(q),$=ooui.parseContext({context:O.context,values:n,fields:{}}),D=O.domain?await ConnectionProvider.getHandler().evalDomain({domain:O.domain,values:n,context:{...a,...$}}):[],{res_model:N,views:V,name:M,target:W,view_type:Y,limit:z}=O,H=Y==="tree",K=[];for(const B of V){const[F,A]=B;if(F)K.push(B);else if(A==="dashboard")K.push([void 0,"dashboard"]);else{const{view_id:L}=await ConnectionProvider.getHandler().getView({model:N,type:A,id:F,context:{...a,...$}});K.push([L,A])}}let U;if(P){const[B,F]=K.find(([A,L])=>L===P);U={id:B,type:F}}else{const[B,F]=K[0];U={id:B,type:F}}y({domain:[...D,...S],context:{...a,...$},model:N,views:K,title:M,target:W,initialView:U,action_type:I,action_id:k,values:C,forced_values:E,res_id:w,treeExpandable:H,limit:z})}function x({title:_,content:C,key:E,action:P}){let w=[...l];l.length===1&&l[0].key==="welcome"&&(w=[...l.filter(S=>S.key!=="welcome")]),c([...w,{title:_,key:E,closable:!0,content:C,action:P}]),u(E)}async function b({relateData:_,fields:C,values:E,action_id:P,action_type:w}){const{res_model:S,context:O,domain:I,views:q,target:k,string:$,limit:D}=_,[N,V]=q[0],M={id:N,type:V},W=ooui.parseContext({context:O,values:{...E,...n},fields:C}),Y=I?await ConnectionProvider.getHandler().evalDomain({domain:I,values:transformPlainMany2Ones({fields:C,values:{...E,...n}}),fields:C,context:{...a,...W}}):[];y({model:S,target:k,views:q,context:{...a,...W},domain:Y,title:$,initialView:M,action_id:P,action_type:w,limit:D})}async function g(_){const{action_id:C,action_type:E,res_id:P,view_id:w}=_,S=`${E},${C}`,O=await ConnectionProvider.getHandler().getActionData({action:S,context:a}),I=ooui.parseContext({context:O.context,values:n,fields:{}}),q=O.domain?await ConnectionProvider.getHandler().evalDomain({domain:O.domain,values:n,context:{...a,...I}}):[],{res_model:k,views:$,name:D,target:N,view_type:V,limit:M}=O,W=V==="tree",Y=[];for(const U of $){const[B,F]=U;if(B)Y.push(U);else if(F==="dashboard")Y.push([void 0,"dashboard"]);else{const{view_id:A}=await ConnectionProvider.getHandler().getView({model:k,type:F,id:B,context:{...a,...I}});Y.push([A,F])}}let z,H;if(w==null){const U=Y.find(B=>B[0]===void 0);z=void 0,H=U[1]}else[z,H]=Y.find(U=>U[0]===void 0?!1:U[0]===w);const K={id:z,type:H};y({domain:q,context:{...a,...I},model:k,views:Y,title:D,target:N,initialView:K,action_id:C,action_type:E,res_id:P,treeExpandable:W,limit:M})}async function v({model:_,values:C,forced_values:E,initialViewType:P,res_id:w,domain:S}){const O=await ConnectionProvider.getHandler().getActionStringForModel(_);await h({action:O,values:C,forced_values:E,initialViewType:P,res_id:w,domain:S})}async function y({domain:_,context:C,model:E,views:P,title:w,target:S,initialView:O,action_id:I,action_type:q,res_id:k,values:$,forced_values:D,treeExpandable:N=!1,limit:V}){const M=v4();if(S!=="current"){const W=await ConnectionProvider.getHandler().getView({model:E,type:"form",id:O.type==="form"?O.id:void 0,context:{...a,...C}});f.current.openActionModal({domain:_,model:E,formView:W,context:{...a,...C},actionData:{action_id:I,action_type:q,res_id:k,view_id:W.view_id}})}else{const W=O&&Array.isArray(O.id)?{...O,id:O.id[0]}:O;x({title:w,action:{id:I,type:q},content:jsxRuntime.jsx(ActionView$1,{action_id:I,action_type:q,tabKey:M,title:w,views:P,model:E,context:{...a,...C},domain:_,setCanWeClose:m,initialView:W,res_id:k,formDefaultValues:$,formForcedValues:D,treeExpandable:N,limit:V}),key:M})}}return jsxRuntime.jsx(LocaleContextProvider,{lang:o,children:jsxRuntime.jsx(TabManagerProvider,{openShortcut:g,openAction:y,openRelate:b,openDefaultActionForModel:v,tabs:l,activeKey:s,onRemoveTab:async _=>{const C=d.current.get(_);(await(C==null?void 0:C())||s==="welcome")&&p(_)},onChangeTab:_=>{u(_)},children:jsxRuntime.jsx(ContentRootProvider$1,{ref:f,globalValues:n,children:r})})})}const RootView$1=React.forwardRef(RootView);function Tab(e){const{label:t,onClose:r,tabKey:n,isActive:a,onSelected:o}=e,s=a?"#ffffff":"#F1F5F9";return jsxRuntime.jsxs("div",{onClick:()=>{!a&&o(n)},style:{cursor:"pointer",height:40,paddingTop:7,paddingBottom:5,paddingLeft:10,paddingRight:10,backgroundColor:s,display:"inline-flex",flex:1,flexDirection:"row",alignItems:"center",justifyContent:"center",borderTopLeftRadius:8,borderTopRightRadius:8,marginLeft:2},children:[jsxRuntime.jsx("div",{style:{color:a?"#001529":"#ADB0B3",userSelect:"none",height:40,display:"flex",justifyContent:"center",alignItems:"center",paddingLeft:5,paddingRight:5,marginBottom:2},children:t}),jsxRuntime.jsx("div",{style:{paddingLeft:5,height:40,display:"flex",justifyContent:"center",alignItems:"center"},children:jsxRuntime.jsx(AntIcons.CloseOutlined,{style:{color:a?"#001529":"#ADB0B3"},onClick:u=>{u.stopPropagation(),r(n)}})})]})}function TabSelector(){const e=React.useContext(TabManagerContext),{activeKey:t,tabs:r,onRemoveTab:n,onChangeTab:a}=e||{};return jsxRuntime.jsx(jsxRuntime.Fragment,{children:r.map(o=>jsxRuntime.jsx(Tab,{tabKey:o.key,label:o.title,onClose:n,isActive:t===o.key,onSelected:a},o.key))})}function TabContent(e){const{tab:t}=e,r=React.useContext(TabManagerContext),{activeKey:n}=r||{},a={display:"none"};return jsxRuntime.jsx("div",{style:t.key!==n?a:void 0,children:t.content})}const TabContent$1=React__default.default.memo(TabContent,()=>!0);function CurrentTabContent(){const e=React.useContext(TabManagerContext),{tabs:t}=e||{},r=(t==null?void 0:t.map(n=>jsxRuntime.jsx(TabContent$1,{tab:n},n.key)))||null;return jsxRuntime.jsx(jsxRuntime.Fragment,{children:r})}const FavouriteButton=e=>{const{onRetrieveShortcuts:t,onCheckIsFavourite:r,onAddFavourite:n,onRemoveFavourite:a}=e,[o,s]=React.useState(!1),[u,l]=React.useState(!1),[c,d]=React.useState([]),[f,p]=React.useState(!0),[m,h]=React.useState(),{t:x}=React.useContext(LocaleContext),b=React.useContext(TabManagerContext),{openShortcut:g,tabs:v,activeKey:y,currentView:_,currentId:C,openDefaultActionForModel:E}=b||{};React.useEffect(()=>{P()},[]),React.useEffect(()=>{O()},[v,y,_,C]);async function P(){try{p(!0);const D=await t();d(D)}catch(D){showDialog$8(D)}finally{p(!1)}}function w(D){const{key:N}=D,V=c.find(M=>M.id===Number(N));(V==null?void 0:V.action_type)!=="ir.actions.wizard"&&(V&&g(V),l(!1))}function S(D){D&&P(),l(D)}async function O(){if(!_)return;const D=v.find(z=>z.key===y),{id:N,type:V}=(D==null?void 0:D.action)||{};if(!N||!V){s(!1);return}const M=_.view_id;let W=!1;_.type==="form"&&(W=C||!1);const Y=await r({action_id:N,action_type:V,view_id:M,res_id:W});Y!==!1&&h(Y),s(Y!==!1)}async function I(){l(!1),E==null||E({model:"ir.ui.view_sc"})}const q=jsxRuntime.jsxs(antd.Menu,{onClick:w,children:[jsxRuntime.jsxs("div",{style:{width:300,padding:5,display:"flex"},children:[jsxRuntime.jsx("div",{style:{paddingLeft:15,color:"#ccc"},children:x("favorites").toUpperCase()}),jsxRuntime.jsx("div",{style:{flexGrow:1,paddingLeft:10},children:jsxRuntime.jsx(antd.Tooltip,{title:x("edit_favorites"),children:jsxRuntime.jsx(AntIcons.EditOutlined,{style:{color:"#1890FF",cursor:"pointer"},onClick:I})})})]}),jsxRuntime.jsx(antd.Menu.Divider,{}),f?jsxRuntime.jsx(antd.Spin,{style:{padding:"1rem"}}):c.length>0?jsxRuntime.jsx(jsxRuntime.Fragment,{children:c.map(D=>jsxRuntime.jsx(antd.Menu.Item,{children:jsxRuntime.jsx(k,{title:D.name,type:D.view_type})},D.id))}):jsxRuntime.jsx("div",{style:{width:300,padding:5,paddingLeft:15},children:x("no_favorites")})]});function k({title:D,type:N}){const V=N==="tree"?jsxRuntime.jsx(AntIcons.TableOutlined,{}):jsxRuntime.jsx(AntIcons.FormOutlined,{});return jsxRuntime.jsxs(antd.Row,{wrap:!1,children:[jsxRuntime.jsx(antd.Col,{flex:"none",style:{paddingRight:20},children:V}),jsxRuntime.jsx(antd.Col,{flex:"auto",children:D})]})}async function $(){if(o&&m)await a(m);else{if(!_)return;const D=v.find(Y=>Y.key===y),{id:N,type:V}=(D==null?void 0:D.action)||{},M=_.view_id;let W=!1;if(!N||!V){s(!1);return}_.type==="form"&&(W=C||!1),await n({action_id:N,action_type:V,view_id:M,res_id:W})}await P(),s(!o)}return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(antd.Button,{type:o?"primary":"default",icon:o?jsxRuntime.jsx(AntIcons.StarFilled,{style:{color:"white"}}):jsxRuntime.jsx(AntIcons.StarOutlined,{}),style:{width:50},onClick:$}),jsxRuntime.jsx(antd.Dropdown,{overlay:q,onVisibleChange:S,visible:u,children:jsxRuntime.jsx(antd.Button,{style:{width:25},icon:jsxRuntime.jsx(AntIcons.DownOutlined,{style:{fontSize:"0.5em"}}),onClick:D=>D.preventDefault()})})]})};exports.ActionBar=FormActionBar,exports.Binary=Binary,exports.Boolean=Boolean$1,exports.Button=Button,exports.ButtonGroup=ButtonGroup,exports.Char=Char,exports.CodeEditor=CodeEditor,exports.ConnectionProvider=ConnectionProvider,exports.ContentRootProvider=ContentRootProvider$1,exports.CurrentTabContent=CurrentTabContent,exports.Dashboard=Dashboard$1,exports.DashboardGrid=DashboardGrid,exports.DashboardGridItem=DashboardGridItem,exports.Date=Date$1,exports.DateTime=DateTime,exports.Email=Email,exports.FavouriteButton=FavouriteButton,exports.Float=Float,exports.FloatTime=FloatTime,exports.Form=Form$1,exports.FormModal=FormModal,exports.GraphIndicator=GraphIndicator,exports.Group=Group,exports.Image=Image,exports.Integer=Integer,exports.Label=Label,exports.Many2one=Many2one,exports.MultiCheckbox=MultiCheckbox,exports.Notebook=Notebook,exports.One2many=One2many,exports.ProgressBar=ProgressBar,exports.Radio=Radio,exports.Reference=Reference,exports.RootView=RootView$1,exports.SearchFilter=SearchFilter,exports.SearchModal=SearchModal,exports.SearchTree=SearchTree$1,exports.Selection=Selection,exports.Separator=Separator,exports.Steps=Steps,exports.Switch=Switch,exports.TabSelector=TabSelector,exports.Tags=Tags,exports.Text=Text$2,exports.Tree=Tree,exports.Url=Url,exports.iconMapper=iconMapper,exports.showConfirmDialog=showDialog$9,Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
131
131
  //# sourceMappingURL=react-ooui.umd.js.map