reslib 2.3.2 → 2.3.3

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.
@@ -2,4 +2,4 @@
2
2
  %{failedRulesErrors}`,oneOf:`The field %{fieldName} must match at least one of the following validation rules:
3
3
  %{failedRulesErrors}`,allOf:`The field %{fieldName} must match all of the following validation rules:
4
4
  %{failedRulesErrors}`,validateNested:`The field %{fieldName} must be a valid nested object. Errors:
5
- %{nestedErrors}`,validateNestedInvalidType:"The field %{fieldName} must be an object, but received %{receivedType}",dateAfter:"This field must be after %{date}",dateBefore:"This field must be before %{date}",dateBetween:"This field must be between %{startDate} and %{endDate}",dateEquals:"This field must be equal to %{date}",futureDate:"This field must be a date in the future",pastDate:"This field must be a date in the past",file:"This field must be a valid file",fileSize:"This field must not exceed %{maxSize} bytes",fileType:"This field must be one of the following types: %{allowedTypes}",image:"This field must be a valid image file",fileExtension:"This field must have one of the following extensions: %{allowedExtensions}",minFileSize:"This field must be at least %{minSize} bytes",uuid:"This field must be a valid UUID",json:"This field must be valid JSON",base64:"This field must be valid Base64 encoded data",hexColor:"This field must be a valid hexadecimal color code",creditCard:"This field must be a valid credit card number",ip:"This field must be a valid IP address (version %{version})",macAddress:"This field must be a valid MAC address",matches:"This field must match the pattern %{pattern}",mongoId:"This field must be a valid MongoDB ObjectId",hexadecimal:"This field must be a valid hexadecimal value",object:"This field must be an object",isObject:"This field must be an object",invalidBulkData:"Invalid bulk data: an array is required",bulkValidationFailed:{one:"Bulk validation failed: 1 of %{totalCount} items failed",other:"Bulk validation failed: %{failureCount} of %{totalCount} items failed"},bulkValidationAllFailed:{one:"Validation failed for the single item",other:"All %{totalCount} items failed validation"},bulkValidationPartialFailure:"%{failureCount} items failed validation",separators:{multiple:", ",single:", "},nestedErrors:{separator:"; ",prefix:"",suffix:""},tests:{entity:{name:"Name",id:"Id",email:"Email",aString:"A String",url:"Url",note:"Note",createdAt:"Created At",updatedAt:"Updated At"}}};var yt={auth:Be,currencies:Ke,countries:Fe,dates:He,resources:Ge,validator:Ue};function gt(t){return typeof t=="boolean"||!t||typeof t=="number"||typeof t=="string"||typeof t=="symbol"?false:Object(t).constructor===Promise||t.constructor&&(t.constructor.name==="Promise"||t.constructor.name==="AsyncFunction")||t instanceof Promise||typeof(t==null?void 0:t.then)=="function"&&typeof(t==null?void 0:t.catch)=="function"&&typeof(t==null?void 0:t.finally)=="function"?true:t&&typeof t.constructor=="function"&&Function.prototype.toString.call(t.constructor).replace(/\(.*\)/,"()")===Function.prototype.toString.call(Function).replace("Function","Promise").replace(/\(.*\)/,"()")}function Ne(t){return t&&Object.prototype.toString.call(t)==="[object Promise]"?true:gt(t)}function $e(){return typeof window!="undefined"&&(window==null?void 0:window.document)!==void 0&&typeof document!="undefined"&&typeof navigator!="undefined"}var fe=()=>{var t;try{if(typeof process!="undefined"&&(process!=null&&process.versions)&&((t=process==null?void 0:process.versions)!=null&&t.node)||typeof global=="object"&&(global==null?void 0:global.toString.call(global))==="[object global]")return !0}catch(e){}return false},pt=()=>{var t,e;return !!(typeof window!="undefined"&&window&&typeof(window==null?void 0:window.process)=="object"&&((t=window==null?void 0:window.process)==null?void 0:t.type)==="renderer"||typeof process!="undefined"&&typeof(process==null?void 0:process.versions)=="object"&&((e=process.versions)!=null&&e.electron)||typeof navigator=="object"&&typeof navigator.userAgent=="string"&&String(navigator==null?void 0:navigator.userAgent).toLowerCase().indexOf("electron")>=0)},bt=()=>{if(typeof document!="undefined"&&document)try{return document.createEvent("TouchEvent"),!0}catch(t){try{return "ontouchstart"in window||"onmsgesturechange"in window}catch(e){}}return false},ht=()=>typeof window=="undefined"&&typeof process!="undefined",je=()=>!!(typeof window!="undefined"&&typeof window=="object"&&window),Ct=()=>{if(!$e()||typeof navigator!="object"||!navigator||typeof navigator.userAgent!="string")return false;let t=navigator.userAgent.toLowerCase();return /android/i.test(t)},Dt=()=>{var t;return !je()||!(window!=null&&window.ReactNativeWebView)?false:typeof((t=window==null?void 0:window.ReactNativeWebView)==null?void 0:t.postMessage)=="function"},Rt=()=>fe()&&process.platform==="darwin",Tt=()=>fe()&&process.platform==="win32",St=()=>fe()&&process.platform==="linux",ze={isWeb:$e,isLinux:St,isDarwin:Rt,isWin32:Tt,isNode:fe,isElectron:pt,isTouchDevice:bt,isServerSide:ht,isClientSide:je,isAndroidMobileBrowser:Ct,isReactNativeWebview:Dt};var te=class t{static decycle(e,r=[]){if(typeof e=="function")return;if(!e||typeof e!="object")return e;if(r.includes(e))return null;let n=r.concat([e]);return Array.isArray(e)?e.map(a=>t.decycle(a,n)):Object.fromEntries(Object.entries(e).map(([a,i])=>[a,t.decycle(i,n)]))}static stringify(e,r=false,n,a){return typeof e=="string"?e:JSON.stringify(r!==false?t.decycle(e):e,n,a)}static isJSON(e){if(typeof e!="string")return false;let r=e.trim();if(r.length===0)return false;let n=r[0];if(n!=="{"&&n!=="[")return false;try{let a=JSON.parse(r);return a!==null&&typeof a=="object"}catch(a){return false}}static parse(e,r){if(typeof e=="string")try{e=JSON.parse(e,r);}catch(n){return e}if(e&&typeof e=="object")for(let n in e){let a=e[n];t.isJSON(a)&&(e[n]=t.parse(a,r));}return e}};var W=class W{static get storage(){var r;let e=Reflect.getMetadata(W.sessionStorageMetaData,W);if(xe(e)&&(this._storage=e),this._storage)return this._storage;if(ze.isClientSide()&&typeof window!="undefined"&&window.localStorage&&((r=window.localStorage)!=null&&r.getItem))this._storage={get:n=>window.localStorage.getItem(n),set:(n,a)=>window.localStorage.setItem(n,a),remove:n=>window.localStorage.removeItem(n),removeAll:()=>window.localStorage.clear()};else {let n={};this._storage={get:a=>n[a],set:(a,i)=>n[a]=i,remove:a=>{delete n[a];},removeAll:()=>n={}};}return this._storage}static set storage(e){xe(e)&&Reflect.defineMetadata(W.sessionStorageMetaData,e,W);}static get keyNamespace(){return m(this._keyNamespace)?this._keyNamespace:""}static set keyNamespace(e){m(e)&&(this._keyNamespace=e.trim().replace(/\s+/g,"-"));}static sanitizeKey(e){if(!e||!m(e))return "";e=e.trim().replace(/\s+/g,"-");let r=this.keyNamespace;return r?`${r}-${e}`:e}};W.sessionStorageMetaData=Symbol("sessionStorage"),W._keyNamespace=void 0;var K=W;function ye(t){return K.sanitizeKey(t)}var We=(t,e)=>(t=t&&te.stringify(t,e),t==null&&(t=""),t),Ze=t=>{if(Ne(t))return new Promise((e,r)=>{t.then(n=>{e(te.parse(n));}).catch(n=>{r(n);});});if(t!=null)return te.parse(t)},Mt=t=>{if(t=ye(t),K.storage&&t&&typeof t=="string"){let e=K.storage.get(t);return Ze(e)}},Nt=t=>{if(t=ye(t),K.storage&&t&&typeof t=="string")return K.storage.remove(t)},xt=()=>{if(K.storage)return K.storage.removeAll()},xe=t=>{if(!t)return false;try{return ["get","set","remove","removeAll"].every(e=>typeof t[e]=="function")}catch(e){return false}},U={get:Mt,set:(t,e,r=true)=>(t=ye(t),K.storage.set(t,We(e,r))),remove:Nt,handleGetValue:Ze,sanitizeKey:ye,handleSetValue:We,isValidStorage:xe,Manager:K,removeAll:xt};function re(t){return t==null||typeof t=="string"||typeof t=="number"||typeof t=="boolean"}function ne(t){if(t instanceof RegExp)return true;if(!t||typeof t!="object"||!Object.prototype.toString.call(t).includes("RegExp"))return false;try{return new RegExp(t),!0}catch(e){return false}}function le(t){return !t||typeof t!="object"?false:t instanceof Date?true:typeof t.getTime!="function"?false:!(Object.prototype.toString.call(t)!=="[object Date]"||isNaN(t.getTime()))}function Pe(t){return typeof window!="object"||!window||typeof document=="undefined"||typeof HTMLElement=="undefined"||!HTMLElement?false:t===document?true:"HTMLElement"in window?!!t&&t instanceof HTMLElement:!!t&&typeof t=="object"&&t.nodeType===1&&!!t.nodeName}function P(t){if(t===null||typeof t!="object"||Pe(t)||le(t)||ne(t)||re(t))return false;let e=Object.getPrototypeOf(t);if(e===null)return true;let r=e.constructor;if(typeof r!="function")return false;if(r===Object)return true;let n=r.prototype;return typeof n!="object"?false:n===Object.prototype?true:typeof e.hasOwnProperty=="function"&&Object.prototype.hasOwnProperty.call(e,"isPrototypeOf")&&typeof e.isPrototypeOf=="function"}function ve(t){if(Array.isArray(t)){let n=[];for(var e=0;e<t.length;e++)n[e]=ve(t[e]);return n}else if(P(t)&&t){let n={};for(var r in t)t.hasOwnProperty(r)&&(n[r]=ve(t[r]));return n}else return t}Object.getSize=function(t,e=false){if(!t||typeof t!="object")return 0;if(Array.isArray(t))return t.length;typeof e!="boolean"&&(e=false);let r=0;for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)&&(r++,e===true))return r;return r};function ae(t,...e){let r=Array.isArray(t),n=P(t);(t==null||!r&&!n)&&(t={});for(let a=0;a<e.length;a++){let i=e[a];if(i==null)continue;let o=P(i),l=Array.isArray(i);if(!(!o&&!l)){if(r){l&&Qe(t,i);continue}else if(l)continue;for(let s in i){let u=i[s];if(u==null)continue;if(u===i){t[s]=t;continue}let c=t[s],y=Array.isArray(c),f=Array.isArray(u);if(y){f?Qe(t[s],u):t[s]=u;continue}else if(!P(c)){t[s]=u;continue}if(f||!P(u)){t[s]=u;continue}t[s]=ae({},c,u);}}}return t}var Qe=(t,e)=>{let r=e.length,n=0;for(let a=0;a<t.length;a++){let i=t[a],o=e[a];if(a<r){let l=Array.isArray(i),s=Array.isArray(o),u=P(i),c=P(o);l&&s||u&&c?(t[n]=ae(l?[]:{},i,o),n++):o!=null?(t[n]=o,n++):i!=null&&(t[n]=i,n++);}}for(let a=t.length;a<r;a++)e[a]!==void 0&&e[a]!==null&&t.push(e[a]);return t};function pe(t,e){return ge(t,"",{},e)}function ge(t,e="",r={},n){if(r=P(r)?r:{},re(t)||le(t)||ne(t)||Array.isArray(t)&&(n!=null&&n.skipArrays))return e&&(r[e]=t),r;if(typeof t=="function"||typeof t=="object"&&!P(t)&&!Pt(t))return r;if(t instanceof Map||t instanceof WeakMap)return Array.from(t.entries()).forEach(([a,i])=>{let o=e?`${e}[${String(a)}]`:String(a);ge(i,o,r,n);}),r;if(Array.isArray(t)||t instanceof Set||t instanceof WeakSet)return (Array.isArray(t)?t:Array.from(t)).forEach((i,o)=>{let l=e?`${e}[${o}]`:String(o);ge(i,l,r,n);}),r;if(P(t))for(let a in t){if(!Object.prototype.hasOwnProperty.call(t,a))continue;let i=t[a],o=e?e.endsWith("]")?`${e}.${a}`:`${e}.${a}`:a;ge(i,o,r,n);}return r}function Pt(t){return Array.isArray(t)||t instanceof Set||t instanceof Map||t instanceof WeakMap||t instanceof WeakSet}function vt(t){return Object.entries(t)}Object.typedEntries=vt;Object.flatten=pe;Object.clone=ve;function ue(t,e){if(t==null)return "";if(typeof t=="string")return t;if((typeof t=="number"||typeof t=="object"&&t instanceof Number)&&typeof t.formatNumber=="function")return t.formatNumber();if(t instanceof Date||typeof t=="object"&&t!==null&&t.constructor===Date)return typeof t.toFormat=="function"?t.toFormat():t.toISOString();if(t instanceof Error)return `Error: ${t.message}`;if(ne(t))return t.toString();if(re(t))return String(t);if(Array.isArray(t))return JSON.stringify(t);if(typeof t=="object"&&t!==null){if(typeof t.toString=="function"&&t.toString!==Object.prototype.toString)return t.toString();if(typeof t.toString=="function"){let r=t.toString();if(r!=="[object Object]")return r}return JSON.stringify(t)}return typeof(t==null?void 0:t.toString)=="function"?t.toString():String(t)}function Je(t,e,r){let n=(r==null?void 0:r.valueFormatter)||ue,a=g(t);if(!P(e)||!e)return a;let i=(r==null?void 0:r.tagRegex)||/%\{([^}]+)\}/g,o=new Set,l,s=g(t);for(;(l=i.exec(s))!==null;){let u=l[1];u!==void 0&&o.add(u);}return o.forEach(u=>{if(r!=null&&r.tagRegex){let C=new RegExp(r.tagRegex.source,r.tagRegex.flags);[...s.matchAll(C)].forEach(N=>{let O=N[0];if(!N[1])return;let x=N[1],D=Object.prototype.hasOwnProperty.call(e,x)?e[x]:void 0,v=D===void 0?"":(()=>{try{return n(D,x,ue)}catch(I){return ue(D)}})(),V=O.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");a=a.replace(new RegExp(V,"g"),v);});return}let c=`%{${u}}`,y=Object.prototype.hasOwnProperty.call(e,u)?e[u]:void 0,f=y===void 0?"":(()=>{try{return n(y,u,ue)}catch(C){return ue(y)}})(),h=c.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");a=a.replace(new RegExp(h,"g"),f);}),a}var k=class k{constructor(e={},r={}){this.locale="en";this._locales=["en"];this._fallbackLocale="en";this._translations={};this.namespaceResolvers={};this._namespacesLoaded={};this._hasDefaultTranslations=false;m(r.locale)&&(this.locale=r.locale),m(r.fallbackLocale)&&(this._fallbackLocale=r.fallbackLocale),typeof r.interpolate=="function"&&(this.interpolateFunc=r.interpolate),this._hasDefaultTranslations||(this.registerTranslations(Me),this._hasDefaultTranslations=true),e&&this.registerTranslations(e),this.loadNamespaces();}static[Symbol.hasInstance](e){return this.isI18nInstance(e)}static isI18nInstance(e){return !e||typeof e!="object"?false:e.constructor&&e.constructor.name==="I18n"?true:typeof e.getLocale=="function"&&typeof e.translate=="function"&&typeof e.translateClass=="function"&&typeof e.registerTranslations=="function"&&typeof e.loadNamespace=="function"&&typeof e.registerNamespaceResolver=="function"}static getInstance(e){if(!k.instance){let r=k.getLocaleFromSession(),n=Object.assign({locale:r||"en"},e);k.instance=new k({},n);}return k.instance}static createInstance(e={},r={}){return new k(e,r)}static flattenObject(e){return P(e)?pe(e):e}static getLocaleFromSession(){let e=U.get("i18n.locale");return m(e)?e:void 0}static registerMomentLocale(e,r){return m(e)&&P(r)&&Array.isArray(r.months)&&(this.momentLocales[e]=ae({},this.momentLocales[e],r)),this.momentLocales}static getClassTanslationKeys(e){return me(e,qe)}translate(e,r){var o;r=r||{};let n=g(r==null?void 0:r.locale,this.getLocale()),a=Array.isArray(e)?e:[e],i;for(let l of a){if(!m(l))continue;let s=this.lookup(l,n);if(s===void 0&&n!==this._fallbackLocale&&(s=this.lookup(l,this._fallbackLocale)),s!==void 0){i=s;break}}if(i===void 0)return r.defaultValue!==void 0?r.defaultValue:this.missingTranslation(e,r);if(typeof r.count=="number"&&P(i)){let l=r.count,s="other";l===0&&i.zero!==void 0?s="zero":l===1&&i.one!==void 0&&(s="one"),i[s]!==void 0?i=i[s]:i.other&&(i=i.other);}return typeof i=="string"&&(M(r.count)&&!r.countStr&&(r.countStr=typeof((o=r.count)==null?void 0:o.formatNumber)=="function"?r.count.formatNumber():r.count.toString()),i=this.performInterpolation(i,r)),i}t(e,r){return this.translate(e,r)}has(e,r){let n=r||this.getLocale(),a=Array.isArray(e)?e:[e];for(let i of a)if(this.lookup(i,n)!==void 0)return true;return false}getLocale(){return this.locale}setLocale(e,r=false){return Y(this,null,function*(){return this.locale===e&&r!==true&&this._namespacesLoaded[e]?this.locale:(yield this.loadNamespaces(e),this.locale=e,this.isDefaultInstance()&&k.setLocaleToSession(e),this.setMomentLocale(e),this.locale)})}setLocales(e){return this._locales=Array.isArray(e)?e:["en"],this._locales.includes("en")||this._locales.push("en"),this.getLocales()}getLocales(){let e=Object.keys(this._translations),r=Array.isArray(this._locales)?this._locales:["en"],n=[...e,...r.filter(a=>!e.includes(a))];return Array.from(new Set(n))}hasLocale(e){return m(e)&&this.getLocales().includes(e)}isDefaultInstance(){return this===k.instance}registerTranslations(e){return this._translations=ae({},this._translations,e),this._translations}getTranslations(e){return m(e)?this._translations[e]||{}:this._translations}registerNamespaceResolver(e,r){if(!m(e)||typeof r!="function"){console.warn("Invalid arguments for registerNamespaceResolver.");return}this.namespaceResolvers[e]=r;}loadNamespace(e,r,n=true){return !m(e)||!this.namespaceResolvers[e]?Promise.reject(new Error(`Invalid namespace or resolver for namespace "${e}".`)):(r=g(r,this.getLocale()),m(r)?this.namespaceResolvers[e](r).then(a=>{let i={};return i[r]=Object.assign({},a),P(a)&&n!==false&&this.registerTranslations(i),i}):Promise.reject(new Error(`Locale is not set. Cannot load namespace "${e}".`)))}loadNamespaces(e,r=true){return Y(this,null,function*(){e=g(e,this.getLocale());let n=[],a={};for(let o in this.namespaceResolvers)Object.prototype.hasOwnProperty.call(this.namespaceResolvers,o)&&n.push(this.namespaceResolvers[o](e).then(l=>{ae(a,l);}));yield Promise.all(n);let i={};return i[e]=a,r!==false&&this.registerTranslations(i),this._namespacesLoaded[e]=true,i})}get(e,r){r=g(r,this.getLocale());let n=(m(e)?e.trim().split("."):Array.isArray(e)?e:[]).filter(m);if(!n.length)return;let a=this.getTranslations(r);for(let i of n)if(P(a))a=a[i];else return;return a}translateClass(e,r){let n=k.getClassTanslationKeys(e);for(let a in n)m(n[a])&&(n[a]=this.translate(n[a],r));return n}translateObject(e,r){if(!P(e))return {};let n={};for(let a in e){let i=e[a];m(i)&&(n[a]=this.translate(i,r));}return n}applyTranslations(e){try{let r=Object.getOwnPropertyNames(e);for(let n of r){let a=Reflect.getMetadata(qe,e,n);if(a)try{e[n]=this.translate(a);}catch(i){q.error(i," resolving translation for key : ",a," on object : ",e);}}}catch(r){q.error(r," resolving translations for object : ",e);}}missingTranslation(e,r){let n=g(Array.isArray(e)?e.filter(m)[0]:g(e));return typeof this.missingPlaceholder=="function"?this.missingPlaceholder(this,n,g(r==null?void 0:r.defaultValue),r):n}lookup(e,r){let n=this._translations[r];if(!n)return;if(Object.prototype.hasOwnProperty.call(n,e))return n[e];let a=e.split("."),i=n;for(let o of a)if(P(i)&&Object.prototype.hasOwnProperty.call(i,o))i=i[o];else return;return i}performInterpolation(e,r){let n=pe(r);return this.interpolateFunc?this.interpolateFunc(this,e,r):this.defaultInterpolator(e,n)}defaultInterpolator(e,r){return Je(e,r,{tagRegex:/%\{([^}]+)\}/g})}static setLocaleToSession(e){U.set("i18n.locale",e);}getMomentLocale(e){return k.momentLocales[e]}setMomentLocale(e){try{return X__default.default.updateLocale(e,this.getMomentLocale(e)),!0}catch(r){console.error(r," setting moment locale : ",e);}return false}};k.momentLocales={};var Z=k,be=Z.getInstance();var qe=Symbol("TRANSLATION_KEY");function Q(t){return !!(t==null||typeof t=="undefined"||typeof t=="string"&&t===""||Array.isArray(t)&&!t.length)}var T=class T{static parseString(e,r){if(m(e)&&m(r))try{let n=X__default.default(e,r,!0);if(n.isValid())return {date:n.toDate(),matchedFormat:r,isValid:!0}}catch(n){}try{if(Array.isArray(r)&&(r!=null&&r.length))for(let n of r){let a=Xe(e,n);if(a)return a}for(let n of T.DATE_FORMATS){let a=Xe(e,n);if(a)return a}return {date:null,matchedFormat:null,isValid:!1,error:"Unable to parse date string with any known format"}}catch(n){return {date:null,matchedFormat:null,isValid:false,error:n instanceof Error?n.message:"Unknown error occurred while parsing date"}}}static toIsoString(e){let r=e?T.parseDate(e):new Date;return r?r.toISOString():""}static isoStringToDate(e){return new Date(e)}static parseDate(e,r){if(T.isDateObj(e))return e;if(!m(r)){let n=T.parseString(e);return n!=null&&n.isValid?n.date:null}if(Q(e))return null;try{let n=X__default.default(e,r,!0);if(n!=null&&n.isValid())return n.toDate()}catch(n){console.error(n," parsing date with moment : ",e," format is : ",r);}return null}static toSQLDateTimeFormat(e){if(!T.isDateObj(e))return "";let r=e.getFullYear(),n=String(e.getMonth()+1).padStart(2,"0"),a=String(e.getDate()).padStart(2,"0"),i=String(e.getHours()).padStart(2,"0"),o=String(e.getMinutes()).padStart(2,"0"),l=String(e.getSeconds()).padStart(2,"0");return `${r}-${n}-${a} ${i}:${o}:${l}`}static getI18n(e){return Z.isI18nInstance(e)?e:Z.getInstance()}static getDefaultDateTimeFormat(e){return g(this.getI18n(e).get("dates.defaultDateTimeFormat"),"YYYY-MM-DD HH:mm")}static getDefaultDateFormat(e){return g(this.getI18n(e).get("dates.defaultDateFormat"),"YYYY-MM-DD")}static toSQLDateFormat(e){if(!T.isDateObj(e))return "";let r=e.getFullYear(),n=String(e.getMonth()+1).padStart(2,"0"),a=String(e.getDate()).padStart(2,"0");return `${r}-${n}-${a}`}static toSQLTimeFormat(e){if(!T.isDateObj(e))return "";let r=String(e.getHours()).padStart(2,"0"),n=String(e.getMinutes()).padStart(2,"0"),a=String(e.getSeconds()).padStart(2,"0");return `${r}:${n}:${a}`}static getDefaultTimeFormat(e){return g(this.getI18n(e).get("dates.defaultTimeFormat"),"HH:mm")}static isValidDate(e,r){if(e==null||typeof e=="boolean")return false;if(T.isDateObj(e))return true;if(M(e)){let a=new Date(e);return a&&!isNaN(a.getTime())}if(m(e))return !!T.parseDate(e,r);if(e!=null&&e.toString&&(e==null?void 0:e.toString())==parseInt(e).toString())return false;let n=new Date(e);return T.isDateObj(n)}static addToDate(e,r,n){if(M(e)||(e=0),Q(r)&&(r=new Date),T.isValidDate(r)&&m(r)&&(r=new Date(r)),T.isValidDate(r)||(r=m(r)?new Date(r):new Date),m(n)&&typeof r["set"+n]=="function"&&typeof r["get"+n]=="function"){let a="set"+n,i="get"+n;r=new Date(r[a](r[i]()+e));}return r}static addDays(e,r){return T.addToDate(e,r,"Date")}static addMilliseconds(e,r){return M(e)||(e=0),T.isDateObj(r)||(r=new Date),r=r||new Date,new Date(r.getTime()+e)}static addSeconds(e,r){return M(e)||(e=0),T.addMilliseconds(e*1e3,r)}static addMinutes(e,r){return M(e)||(e=0),T.addMilliseconds(e*6e4,r)}static addHours(e,r){return M(e)||(e=0),T.addMilliseconds(e*36e5,r)}static addMonths(e,r,n){return T.addToDate(e,r,"Month")}static addWeeks(e,r){return e=(M(e)?e:0)*7,T.addToDate(e,r,"Date")}static addYears(e,r){M(e)||(e=0);let n=new Date(T.addToDate(0,r)),a=n.getFullYear();return a+e<0?e=0:e+=a,n.setFullYear(e),new Date(n)}static formatDate(e,r){try{let n=X__default.default(e);if(n.isValid())return n.format(g(r,T.getDefaultDateTimeFormat()))}catch(n){}return g(T.isValidDate(e)?e==null?void 0:e.toString():"")}static getUTCDateTimeDetails(e){let r=e?X__default.default.utc(e):X__default.default.utc();return {year:r.year(),day:r.day(),month:r.month(),monthString:r.format("MM"),hours:r.hours(),date:r.date(),minutes:r.minutes(),seconds:r.seconds(),monthName:r.format("MMMM"),dayName:r.format("dddd"),dayNameShort:r.format("ddd")}}};T.DATE_FORMATS=["YYYY-MM-DD","YYYY-MM-DDTHH:mm:ss","YYYY-MM-DDTHH:mm:ssZ","YYYY-MM-DDTHH:mm:ss.SSSZ","YYYY-MM-DDTHH:mm:ss[Z]","YYYY-MM-DDTHH:mm:ss.SSS[Z]","YYYY-MM-DDTHH:mm:ss.SSSZ ","YYYY-MM-DDTHH:mm:ss.SSS","YYYY-MM-DD HH:mm:ss","YYYY-MM-DD HH:mm:ss.SSSZ","YYYY-MM-DDTHH:mm:ss.SSS[Z]","YYYY-MM-DD HH:mm:ssZ","YYYY-MM-DD HH:mmZ","MM/DD/YYYY","MM-DD-YYYY","MM.DD.YYYY","MM/DD/YY","MMMM DD, YYYY","MMM DD, YYYY","DD/MM/YYYY","DD-MM-YYYY","DD.MM.YYYY","DD/MM/YY","DD MMMM YYYY","DD MMM YYYY","HH:mm:ss.SSSZ","HH:mm:ssZ","HH:mmZ","YYYYMMDD","YYYYMMDDTHHMM","YYYYMMDDTHHMMSS","HH:mm:ss","HH:mm","hh:mm A","h:mm A","HH:mm:ss.SSS","YYYY-DDD","YYYY-Www","YYYY-Www-D","YYYY/MM/DD","YYYY.MM.DD","MMM D, YYYY","MMMM D, YYYY","D MMM YYYY","D MMMM YYYY","MMM D YYYY","ddd, DD MMM YYYY HH:mm:ss ZZ","ddd, DD MMM YYYY HH:mm:ss","dddd, MMMM D, YYYY","dddd, D MMMM YYYY","hh:mm:ss A","H:mm:ss","YYYY-[W]WW","YYYY-[W]WW-E","YYYY-MM-DDTHH:mm:ss.SSS","DD-MM-YYYY HH:mm:ss","YYYY/MM/DD HH:mm:ss","YYYY.MM.DD HH:mm:ss","DD/MM/YYYY HH:mm:ss","MMM D YYYY, h:mm a","MMMM D YYYY, h:mm a","h:mm A MMM D, YYYY","MMMM D, YYYY","YY-MM-DD","DD-MM-YY","MM/DD/YY","MMM DD, YY","D MMM YY","D MMMM YY","YYYY MMM D","YYYY-MM-DD HH:mm","YYYY-MM-DD HH:mm:ss.SSS"],T.SQL_DATE_FORMAT="YYYY-MM-DD",T.SQL_DATE_TIME_FORMAT="YYYY-MM-DD HH:mm:ss",T.SQL_TIME_FORMAT="HH:mm:ss",T.getCurrentMonthDaysRange=e=>{let r=T.isValidDate(e)?new Date(e):new Date().resetHours2Minutes2Seconds(),n=new Date(r.getFullYear(),r.getMonth(),1),a=new Date(r.getFullYear(),r.getMonth()+1,0);return {first:n,last:a}},T.getPreviousWeekDaysRange=e=>{let r=T.isValidDate(e)?new Date(e):new Date().resetHours2Minutes2Seconds(),n=new Date(r.getTime()-3600*24*7*1e3),a=new Date(n),i=n.getDay(),o=n.getDate()-i+(i===0?-6:1),l=new Date(n.setDate(o)),s=new Date(a.setDate(o+6));return {first:l,last:s}},T.getCurrentWeekDaysRange=e=>{let r=T.isValidDate(e)?new Date(e):new Date().resetHours2Minutes2Seconds(),n=r.getDay(),a=r.getDate()-n+(n==0?-6:1),i=new Date(r),o=new Date(r.setDate(a));return i.setDate(i.getDate()+6),{first:o,last:i}},T.isDateObj=le;var w=T,Xe=(t,e)=>{let r=X__default.default(t,e,true);try{if(r.isValid()&&r.format(e)===t||X__default.default.utc(r,!0).format(e)===t)return {date:r.toDate(),matchedFormat:e,isValid:!0}}catch(n){}return null};Date.prototype.toSQLDateTimeFormat=function(){return w.toSQLDateTimeFormat(this)};Date.prototype.toSQLDateFormat=function(){return w.toSQLDateFormat(this)};Date.prototype.toSQLTimeFormat=function(){return w.toSQLTimeFormat(this)};Date.prototype.resetHours=function(){return this.setHours(0),this};Date.prototype.resetMinutes=function(){return this.setMinutes(0),this};Date.prototype.resetSeconds=function(){return this.setSeconds(0),this};Date.prototype.resetMilliseconds=function(){return this.setMilliseconds(0),this};Date.prototype.resetHours2Minutes2Seconds=function(){return this.setHours(0),this.setMinutes(0),this.setSeconds(0),this.setMilliseconds(0),this};Date.prototype.toFormat=function(t){return w.formatDate(this,t)};Date.prototype.addYears=function(t){return w.addYears(t,this)};Date.prototype.addMonths=function(t){return w.addMonths(t,this)};Date.prototype.addMinutes=function(t){return w.addMinutes(t,this)};Date.prototype.addSeconds=function(t){return w.addSeconds(t,this)};Date.prototype.addDays=function(t){return w.addDays(t,this)};Date.prototype.addWeeks=function(t){return w.addWeeks(t,this)};Date.prototype.addHours=function(t){return w.addHours(t,this)};var $=class ${static get logger(){let e=Reflect.getMetadata($.loggerMetaData,$);return _e(e)&&(this._logger=e),this._logger?this._logger:console}static set logger(e){_e(e)&&Reflect.defineMetadata($.loggerMetaData,e,$);}static _log(e,...r){let n=$.logger;e=g(e),e&&typeof n[e]=="function"?n[e]($.getDateTimeString(),...r):console.log("Logger level not found : [",e,"]",...r);}static getDateTimeString(){let{day:e,year:r,hours:n,minutes:a,seconds:i,dayNameShort:o,monthName:l}=w.getUTCDateTimeDetails(),s=e<10?"0"+e:e,u=n<10?"0"+n:n,c=a<10?"0"+a:a,y=i<10?"0"+i:i;return "["+[o,s,l,r].join(" ")+" "+[u,c,y].join(":")+"]"}static log(...e){this._log("log",...e);}static info(...e){this._log("info",...e);}static debug(...e){this._log("debug",...e);}static warn(...e){this._log("warn",...e);}static error(...e){this._log("error",...e);}};$.loggerMetaData=Symbol("logger-meta-data");var q=$,_e=t=>{if(!t)return false;try{return ["warn","info","error"].every(e=>typeof t[e]=="function")}catch(e){return false}};var et=function(t,e=""){if(!t||typeof t!="string")return "";if(!e||typeof e!="string")return t.trim();let r=t.length;for(;t.startsWith(e)&&r>=0;)t=t.slice(e.length),--r;return t.toString()},tt=function(t,e=""){if(!t||typeof t!="string")return "";if(!e||typeof e!="string")return t.trim();let r=t.length;for(;t.endsWith(e)&&r>=0;)t=t.slice(0,-e.length),--r;return t.toString()},Vt=(t,e=true)=>typeof t!="string"?false:e!==false?/^\d*\.?\d+$/.test(t):/^\d+$/.test(t);String.prototype.ltrim=function(t){return et(this.toString(),t)};String.prototype.rtrim=function(t){return tt(this.toString(),t)};String.prototype.isNumber=function(t=true){return Vt(this.toString(),t)};String.prototype.replaceAll=function(t,e){return !m(t)||!m(e)?this.toString():this.toString().split(t).join(e)};var Ot=t=>m(t)?(t=t.trim(),t.replace(/(.)([A-Z][a-z]+)/,"$1_$2").replace(/([a-z0-9])([A-Z])/,"$1_$2").toUpperCase()):"";String.prototype.toSnakeCase=function(){return Ot(this.toString())};var wt=t=>m(t)?(t=t.trim(),t.charAt(0)+t.replace(/(_\w)/g,e=>e[1].toUpperCase()).substring(1)):"";String.prototype.toCamelCase=function(){return wt(this.toString())};var Et=function(t){return !t||typeof t!="string"?"":(t=t.trim(),t.charAt(0).toUpperCase()+t.slice(1))};String.prototype.upperFirst=function(){return Et(this.toString())};var Ae=function(t){return !t||typeof t!="string"?"":(t=t.trim(),t.charAt(0).toLowerCase()+t.slice(1))};String.prototype.lowerFirst=function(){return Ae(this.toString())};var G={USD:{symbol:"$",name:"US Dollar",symbolNative:"$",decimalDigits:2,rounding:0,code:"USD",namePlural:"US dollars"},CAD:{symbol:"CA$",name:"Canadian Dollar",symbolNative:"$",decimalDigits:2,format:"%s %v",rounding:0,code:"CAD",namePlural:"Canadian dollars"},EUR:{symbol:"\u20AC",name:"Euro",symbolNative:"\u20AC",decimalDigits:2,rounding:0,code:"EUR",namePlural:"euros"},AED:{symbol:"AED",name:"United Arab Emirates Dirham",symbolNative:"\u062F.\u0625.\u200F",decimalDigits:2,rounding:0,code:"AED",namePlural:"UAE dirhams"},AFN:{symbol:"Af",name:"Afghan Afghani",symbolNative:"\u060B",decimalDigits:0,rounding:0,code:"AFN",namePlural:"Afghan Afghanis"},ALL:{symbol:"ALL",name:"Albanian Lek",symbolNative:"Lek",decimalDigits:0,rounding:0,code:"ALL",namePlural:"Albanian lek\xEB"},AMD:{symbol:"AMD",name:"Armenian Dram",symbolNative:"\u0564\u0580.",decimalDigits:0,rounding:0,code:"AMD",namePlural:"Armenian drams"},ARS:{symbol:"AR$",name:"Argentine Peso",symbolNative:"$",decimalDigits:2,rounding:0,code:"ARS",namePlural:"Argentine pesos"},AUD:{symbol:"AU$",name:"Australian Dollar",symbolNative:"$",decimalDigits:2,rounding:0,code:"AUD",namePlural:"Australian dollars"},AZN:{symbol:"man.",name:"Azerbaijani Manat",symbolNative:"\u043C\u0430\u043D.",decimalDigits:2,rounding:0,code:"AZN",namePlural:"Azerbaijani manats"},BAM:{symbol:"KM",name:"Bosnia-Herzegovina Convertible Mark",symbolNative:"KM",decimalDigits:2,rounding:0,code:"BAM",namePlural:"Bosnia-Herzegovina convertible marks"},BDT:{symbol:"Tk",name:"Bangladeshi Taka",symbolNative:"\u09F3",decimalDigits:2,rounding:0,code:"BDT",namePlural:"Bangladeshi takas"},BGN:{symbol:"BGN",name:"Bulgarian Lev",symbolNative:"\u043B\u0432.",decimalDigits:2,rounding:0,code:"BGN",namePlural:"Bulgarian leva"},BHD:{symbol:"BD",name:"Bahraini Dinar",symbolNative:"\u062F.\u0628.\u200F",decimalDigits:2,rounding:0,code:"BHD",namePlural:"Bahraini dinars"},BIF:{symbol:"FBu",name:"Burundian Franc",symbolNative:"FBu",decimalDigits:0,rounding:0,code:"BIF",namePlural:"Burundian francs"},BND:{symbol:"BN$",name:"Brunei Dollar",symbolNative:"$",decimalDigits:2,rounding:0,code:"BND",namePlural:"Brunei dollars"},BOB:{symbol:"Bs",name:"Bolivian Boliviano",symbolNative:"Bs",decimalDigits:2,rounding:0,code:"BOB",namePlural:"Bolivian bolivianos"},BRL:{symbol:"R$",name:"Brazilian Real",symbolNative:"R$",decimalDigits:2,rounding:0,code:"BRL",namePlural:"Brazilian reals"},BWP:{symbol:"BWP",name:"Botswanan Pula",symbolNative:"P",decimalDigits:2,rounding:0,code:"BWP",namePlural:"Botswanan pulas"},BYR:{symbol:"BYR",name:"Belarusian Ruble",symbolNative:"BYR",decimalDigits:0,rounding:0,code:"BYR",namePlural:"Belarusian rubles"},BZD:{symbol:"BZ$",name:"Belize Dollar",symbolNative:"$",decimalDigits:2,rounding:0,code:"BZD",namePlural:"Belize dollars"},CDF:{symbol:"CDF",name:"Congolese Franc",symbolNative:"FrCD",decimalDigits:2,rounding:0,code:"CDF",namePlural:"Congolese francs"},CHF:{symbol:"CHF",name:"Swiss Franc",symbolNative:"CHF",decimalDigits:2,rounding:.05,code:"CHF",namePlural:"Swiss francs"},CLP:{symbol:"CL$",name:"Chilean Peso",symbolNative:"$",decimalDigits:0,rounding:0,code:"CLP",namePlural:"Chilean pesos"},CNY:{symbol:"CN\xA5",name:"Chinese Yuan",symbolNative:"CN\xA5",decimalDigits:2,rounding:0,code:"CNY",namePlural:"Chinese yuan"},COP:{symbol:"CO$",name:"Colombian Peso",symbolNative:"$",decimalDigits:0,rounding:0,code:"COP",namePlural:"Colombian pesos"},CRC:{symbol:"\u20A1",name:"Costa Rican Col\xF3n",symbolNative:"\u20A1",decimalDigits:0,rounding:0,code:"CRC",namePlural:"Costa Rican col\xF3ns"},CVE:{symbol:"CV$",name:"Cape Verdean Escudo",symbolNative:"CV$",decimalDigits:2,rounding:0,code:"CVE",namePlural:"Cape Verdean escudos"},CZK:{symbol:"K\u010D",name:"Czech Republic Koruna",symbolNative:"K\u010D",decimalDigits:2,rounding:0,code:"CZK",namePlural:"Czech Republic korunas"},DJF:{symbol:"Fdj",name:"Djiboutian Franc",symbolNative:"Fdj",decimalDigits:0,rounding:0,code:"DJF",namePlural:"Djiboutian francs"},DKK:{symbol:"Dkr",name:"Danish Krone",symbolNative:"kr",decimalDigits:2,rounding:0,code:"DKK",namePlural:"Danish kroner"},DOP:{symbol:"RD$",name:"Dominican Peso",symbolNative:"RD$",decimalDigits:2,rounding:0,code:"DOP",namePlural:"Dominican pesos"},DZD:{symbol:"DA",name:"Algerian Dinar",symbolNative:"\u062F.\u062C.\u200F",decimalDigits:2,rounding:0,code:"DZD",namePlural:"Algerian dinars"},EEK:{symbol:"Ekr",name:"Estonian Kroon",symbolNative:"kr",decimalDigits:2,rounding:0,code:"EEK",namePlural:"Estonian kroons"},EGP:{symbol:"EGP",name:"Egyptian Pound",symbolNative:"\u062C.\u0645.\u200F",decimalDigits:2,rounding:0,code:"EGP",namePlural:"Egyptian pounds"},ERN:{symbol:"Nfk",name:"Eritrean Nakfa",symbolNative:"Nfk",decimalDigits:2,rounding:0,code:"ERN",namePlural:"Eritrean nakfas"},ETB:{symbol:"Br",name:"Ethiopian Birr",symbolNative:"Br",decimalDigits:2,rounding:0,code:"ETB",namePlural:"Ethiopian birrs"},GBP:{symbol:"\xA3",name:"British Pound Sterling",symbolNative:"\xA3",decimalDigits:2,rounding:0,code:"GBP",namePlural:"British pounds sterling"},GEL:{symbol:"GEL",name:"Georgian Lari",symbolNative:"GEL",decimalDigits:2,rounding:0,code:"GEL",namePlural:"Georgian laris"},GHS:{symbol:"GH\u20B5",name:"Ghanaian Cedi",symbolNative:"GH\u20B5",decimalDigits:2,rounding:0,code:"GHS",namePlural:"Ghanaian cedis"},GNF:{symbol:"FG",name:"Guinean Franc",symbolNative:"FG",decimalDigits:0,rounding:0,code:"GNF",namePlural:"Guinean francs"},GTQ:{symbol:"GTQ",name:"Guatemalan Quetzal",symbolNative:"Q",decimalDigits:2,rounding:0,code:"GTQ",namePlural:"Guatemalan quetzals"},HKD:{symbol:"HK$",name:"Hong Kong Dollar",symbolNative:"$",decimalDigits:2,rounding:0,code:"HKD",namePlural:"Hong Kong dollars"},HNL:{symbol:"HNL",name:"Honduran Lempira",symbolNative:"L",decimalDigits:2,rounding:0,code:"HNL",namePlural:"Honduran lempiras"},HRK:{symbol:"kn",name:"Croatian Kuna",symbolNative:"kn",decimalDigits:2,rounding:0,code:"HRK",namePlural:"Croatian kunas"},HUF:{symbol:"Ft",name:"Hungarian Forint",symbolNative:"Ft",decimalDigits:0,rounding:0,code:"HUF",namePlural:"Hungarian forints"},IDR:{symbol:"Rp",name:"Indonesian Rupiah",symbolNative:"Rp",decimalDigits:0,rounding:0,code:"IDR",namePlural:"Indonesian rupiahs"},ILS:{symbol:"\u20AA",name:"Israeli New Sheqel",symbolNative:"\u20AA",decimalDigits:2,rounding:0,code:"ILS",namePlural:"Israeli new sheqels"},INR:{symbol:"Rs",name:"Indian Rupee",symbolNative:"\u099F\u0995\u09BE",decimalDigits:2,rounding:0,code:"INR",namePlural:"Indian rupees"},IQD:{symbol:"IQD",name:"Iraqi Dinar",symbolNative:"\u062F.\u0639.\u200F",decimalDigits:0,rounding:0,code:"IQD",namePlural:"Iraqi dinars"},IRR:{symbol:"IRR",name:"Iranian Rial",symbolNative:"\uFDFC",decimalDigits:0,rounding:0,code:"IRR",namePlural:"Iranian rials"},ISK:{symbol:"Ikr",name:"Icelandic Kr\xF3na",symbolNative:"kr",decimalDigits:0,rounding:0,code:"ISK",namePlural:"Icelandic kr\xF3nur"},JMD:{symbol:"J$",name:"Jamaican Dollar",symbolNative:"$",decimalDigits:2,rounding:0,code:"JMD",namePlural:"Jamaican dollars"},JOD:{symbol:"JD",name:"Jordanian Dinar",symbolNative:"\u062F.\u0623.\u200F",decimalDigits:2,rounding:0,code:"JOD",namePlural:"Jordanian dinars"},JPY:{symbol:"\xA5",name:"Japanese Yen",symbolNative:"\uFFE5",decimalDigits:0,rounding:0,code:"JPY",namePlural:"Japanese yen"},KES:{symbol:"Ksh",name:"Kenyan Shilling",symbolNative:"Ksh",decimalDigits:2,rounding:0,code:"KES",namePlural:"Kenyan shillings"},KHR:{symbol:"KHR",name:"Cambodian Riel",symbolNative:"\u17DB",decimalDigits:2,rounding:0,code:"KHR",namePlural:"Cambodian riels"},KMF:{symbol:"CF",name:"Comorian Franc",symbolNative:"FC",decimalDigits:0,rounding:0,code:"KMF",namePlural:"Comorian francs"},KRW:{symbol:"\u20A9",name:"South Korean Won",symbolNative:"\u20A9",decimalDigits:0,rounding:0,code:"KRW",namePlural:"South Korean won"},KWD:{symbol:"KD",name:"Kuwaiti Dinar",symbolNative:"\u062F.\u0643.\u200F",decimalDigits:2,rounding:0,code:"KWD",namePlural:"Kuwaiti dinars"},KZT:{symbol:"KZT",name:"Kazakhstani Tenge",symbolNative:"\u0442\u04A3\u0433.",decimalDigits:2,rounding:0,code:"KZT",namePlural:"Kazakhstani tenges"},LBP:{symbol:"LB\xA3",name:"Lebanese Pound",symbolNative:"\u0644.\u0644.\u200F",decimalDigits:0,rounding:0,code:"LBP",namePlural:"Lebanese pounds"},LKR:{symbol:"SLRs",name:"Sri Lankan Rupee",symbolNative:"SL Re",decimalDigits:2,rounding:0,code:"LKR",namePlural:"Sri Lankan rupees"},LTL:{symbol:"Lt",name:"Lithuanian Litas",symbolNative:"Lt",decimalDigits:2,rounding:0,code:"LTL",namePlural:"Lithuanian litai"},LVL:{symbol:"Ls",name:"Latvian Lats",symbolNative:"Ls",decimalDigits:2,rounding:0,code:"LVL",namePlural:"Latvian lati"},LYD:{symbol:"LD",name:"Libyan Dinar",symbolNative:"\u062F.\u0644.\u200F",decimalDigits:2,rounding:0,code:"LYD",namePlural:"Libyan dinars"},MAD:{symbol:"MAD",name:"Moroccan Dirham",symbolNative:"\u062F.\u0645.\u200F",decimalDigits:2,rounding:0,code:"MAD",namePlural:"Moroccan dirhams"},MDL:{symbol:"MDL",name:"Moldovan Leu",symbolNative:"MDL",decimalDigits:2,rounding:0,code:"MDL",namePlural:"Moldovan lei"},MGA:{symbol:"MGA",name:"Malagasy Ariary",symbolNative:"MGA",decimalDigits:0,rounding:0,code:"MGA",namePlural:"Malagasy Ariaries"},MKD:{symbol:"MKD",name:"Macedonian Denar",symbolNative:"MKD",decimalDigits:2,rounding:0,code:"MKD",namePlural:"Macedonian denari"},MMK:{symbol:"MMK",name:"Myanma Kyat",symbolNative:"K",decimalDigits:0,rounding:0,code:"MMK",namePlural:"Myanma kyats"},MOP:{symbol:"MOP$",name:"Macanese Pataca",symbolNative:"MOP$",decimalDigits:2,rounding:0,code:"MOP",namePlural:"Macanese patacas"},MUR:{symbol:"MURs",name:"Mauritian Rupee",symbolNative:"MURs",decimalDigits:0,rounding:0,code:"MUR",namePlural:"Mauritian rupees"},MXN:{symbol:"MX$",name:"Mexican Peso",symbolNative:"$",decimalDigits:2,rounding:0,code:"MXN",namePlural:"Mexican pesos"},MYR:{symbol:"RM",name:"Malaysian Ringgit",symbolNative:"RM",decimalDigits:2,rounding:0,code:"MYR",namePlural:"Malaysian ringgits"},MZN:{symbol:"MTn",name:"Mozambican Metical",symbolNative:"MTn",decimalDigits:2,rounding:0,code:"MZN",namePlural:"Mozambican meticals"},NAD:{symbol:"N$",name:"Namibian Dollar",symbolNative:"N$",decimalDigits:2,rounding:0,code:"NAD",namePlural:"Namibian dollars"},NGN:{symbol:"\u20A6",name:"Nigerian Naira",symbolNative:"\u20A6",decimalDigits:2,rounding:0,code:"NGN",namePlural:"Nigerian nairas"},NIO:{symbol:"C$",name:"Nicaraguan C\xF3rdoba",symbolNative:"C$",decimalDigits:2,rounding:0,code:"NIO",namePlural:"Nicaraguan c\xF3rdobas"},NOK:{symbol:"Nkr",name:"Norwegian Krone",symbolNative:"kr",decimalDigits:2,rounding:0,code:"NOK",namePlural:"Norwegian kroner"},NPR:{symbol:"NPRs",name:"Nepalese Rupee",symbolNative:"\u0928\u0947\u0930\u0942",decimalDigits:2,rounding:0,code:"NPR",namePlural:"Nepalese rupees"},NZD:{symbol:"NZ$",name:"New Zealand Dollar",symbolNative:"$",decimalDigits:2,rounding:0,code:"NZD",namePlural:"New Zealand dollars"},OMR:{symbol:"OMR",name:"Omani Rial",symbolNative:"\u0631.\u0639.\u200F",decimalDigits:2,rounding:0,code:"OMR",namePlural:"Omani rials"},PAB:{symbol:"B/.",name:"Panamanian Balboa",symbolNative:"B/.",decimalDigits:2,rounding:0,code:"PAB",namePlural:"Panamanian balboas"},PEN:{symbol:"S/.",name:"Peruvian Nuevo Sol",symbolNative:"S/.",decimalDigits:2,rounding:0,code:"PEN",namePlural:"Peruvian nuevos soles"},PHP:{symbol:"\u20B1",name:"Philippine Peso",symbolNative:"\u20B1",decimalDigits:2,rounding:0,code:"PHP",namePlural:"Philippine pesos"},PKR:{symbol:"PKRs",name:"Pakistani Rupee",symbolNative:"\u20A8",decimalDigits:0,rounding:0,code:"PKR",namePlural:"Pakistani rupees"},PLN:{symbol:"z\u0142",name:"Polish Zloty",symbolNative:"z\u0142",decimalDigits:2,rounding:0,code:"PLN",namePlural:"Polish zlotys"},PYG:{symbol:"\u20B2",name:"Paraguayan Guarani",symbolNative:"\u20B2",decimalDigits:0,rounding:0,code:"PYG",namePlural:"Paraguayan guaranis"},QAR:{symbol:"QR",name:"Qatari Rial",symbolNative:"\u0631.\u0642.\u200F",decimalDigits:2,rounding:0,code:"QAR",namePlural:"Qatari rials"},RON:{symbol:"RON",name:"Romanian Leu",symbolNative:"RON",decimalDigits:2,rounding:0,code:"RON",namePlural:"Romanian lei"},RSD:{symbol:"din.",name:"Serbian Dinar",symbolNative:"\u0434\u0438\u043D.",decimalDigits:0,rounding:0,code:"RSD",namePlural:"Serbian dinars"},RUB:{symbol:"RUB",name:"Russian Ruble",symbolNative:"\u0440\u0443\u0431.",decimalDigits:2,rounding:0,code:"RUB",namePlural:"Russian rubles"},RWF:{symbol:"RWF",name:"Rwandan Franc",symbolNative:"FR",decimalDigits:0,rounding:0,code:"RWF",namePlural:"Rwandan francs"},SAR:{symbol:"SR",name:"Saudi Riyal",symbolNative:"\u0631.\u0633.\u200F",decimalDigits:2,rounding:0,code:"SAR",namePlural:"Saudi riyals"},SDG:{symbol:"SDG",name:"Sudanese Pound",symbolNative:"SDG",decimalDigits:2,rounding:0,code:"SDG",namePlural:"Sudanese pounds"},SEK:{symbol:"Skr",name:"Swedish Krona",symbolNative:"kr",decimalDigits:2,rounding:0,code:"SEK",namePlural:"Swedish kronor"},SGD:{symbol:"S$",name:"Singapore Dollar",symbolNative:"$",decimalDigits:2,rounding:0,code:"SGD",namePlural:"Singapore dollars"},SOS:{symbol:"Ssh",name:"Somali Shilling",symbolNative:"Ssh",decimalDigits:0,rounding:0,code:"SOS",namePlural:"Somali shillings"},SYP:{symbol:"SY\xA3",name:"Syrian Pound",symbolNative:"\u0644.\u0633.\u200F",decimalDigits:0,rounding:0,code:"SYP",namePlural:"Syrian pounds"},THB:{symbol:"\u0E3F",name:"Thai Baht",symbolNative:"\u0E3F",decimalDigits:2,rounding:0,code:"THB",namePlural:"Thai baht"},TND:{symbol:"DT",name:"Tunisian Dinar",symbolNative:"\u062F.\u062A.\u200F",decimalDigits:2,rounding:0,code:"TND",namePlural:"Tunisian dinars"},TOP:{symbol:"T$",name:"Tongan Pa\u02BBanga",symbolNative:"T$",decimalDigits:2,rounding:0,code:"TOP",namePlural:"Tongan pa\u02BBanga"},TRY:{symbol:"TL",name:"Turkish Lira",symbolNative:"TL",decimalDigits:2,rounding:0,code:"TRY",namePlural:"Turkish Lira"},TTD:{symbol:"TT$",name:"Trinidad and Tobago Dollar",symbolNative:"$",decimalDigits:2,rounding:0,code:"TTD",namePlural:"Trinidad and Tobago dollars"},TWD:{symbol:"NT$",name:"New Taiwan Dollar",symbolNative:"NT$",decimalDigits:2,rounding:0,code:"TWD",namePlural:"New Taiwan dollars"},TZS:{symbol:"TSh",name:"Tanzanian Shilling",symbolNative:"TSh",decimalDigits:0,rounding:0,code:"TZS",namePlural:"Tanzanian shillings"},UAH:{symbol:"\u20B4",name:"Ukrainian Hryvnia",symbolNative:"\u20B4",decimalDigits:2,rounding:0,code:"UAH",namePlural:"Ukrainian hryvnias"},UGX:{symbol:"USh",name:"Ugandan Shilling",symbolNative:"USh",decimalDigits:0,rounding:0,code:"UGX",namePlural:"Ugandan shillings"},UYU:{symbol:"$U",name:"Uruguayan Peso",symbolNative:"$",decimalDigits:2,rounding:0,code:"UYU",namePlural:"Uruguayan pesos"},UZS:{symbol:"UZS",name:"Uzbekistan Som",symbolNative:"UZS",decimalDigits:0,rounding:0,code:"UZS",namePlural:"Uzbekistan som"},VEF:{symbol:"Bs.F.",name:"Venezuelan Bol\xEDvar",symbolNative:"Bs.F.",decimalDigits:2,rounding:0,code:"VEF",namePlural:"Venezuelan bol\xEDvars"},VND:{symbol:"\u20AB",name:"Vietnamese Dong",symbolNative:"\u20AB",decimalDigits:0,rounding:0,code:"VND",namePlural:"Vietnamese dong"},XAF:{symbol:"FCFA",name:"CFA Franc BEAC",symbolNative:"FCFA",decimalDigits:0,rounding:0,code:"XAF",namePlural:"francs CFA"},XOF:{symbol:"CFA",name:"CFA Franc BCEAO",symbolNative:"CFA",decimalDigits:0,rounding:0,code:"XOF",namePlural:"francs CFA"},YER:{symbol:"YR",name:"Yemeni Rial",symbolNative:"\u0631.\u064A.\u200F",decimalDigits:0,rounding:0,code:"YER",namePlural:"Yemeni rials"},ZAR:{symbol:"R",name:"South African Rand",symbolNative:"R",decimalDigits:2,rounding:0,code:"ZAR",namePlural:"South African rand"},ZMK:{symbol:"ZK",name:"Zambian Kwacha",symbolNative:"ZK",decimalDigits:0,rounding:0,code:"ZMK",namePlural:"Zambian kwachas"}};var j=t=>t&&typeof t=="object"&&!Array.isArray(t)&&t.name&&typeof t.name=="string"&&t.symbol&&typeof t.symbol=="string";var rt="%v %s",Ve=t=>{let e=U.get("currencyFormat");return e&&typeof e=="string"&&e.includes("%v")?e:t!==false?rt:""};function nt(t){return t=t&&typeof t=="string"?t.trim():"",U.set("currencyFormat",t)}var It=t=>{if(!j(t)){let r=typeof t=="object"&&t&&!Array.isArray(t)?g(t.code,t.name):typeof t=="string"?t:void 0;r&&(r=r.trim().toUpperCase()),r&&j(G[r])?t=G[r]:typeof t=="string"&&(r=t.trim().toUpperCase(),j(G[r])&&(t=G[r]));}let e=Object.assign({},t);if(!e.format){let r=Ve();r&&(e.format=r);}return e.format&&nt(e.format),U.set("appConfigCurrency",e),e},Yt=()=>{var a,i,o,l;let t=Object.assign({},U.get("appConfigCurrency")),e=U.get("currencyCode");if(m(e)&&j(G[e.trim().toUpperCase()])&&(t=d(d({},G[e.trim().toUpperCase()]),t)),!m(t==null?void 0:t.format)){let s=Ve(false);m(s)&&s.includes("%v")&&(t.format=s);}let n=G["USD"];return d(d({symbol:n.symbol,format:(a=n.format)!=null?a:"%v %s",decimalSeparator:(i=n.decimalSeparator)!=null?i:".",thousandSeparator:(o=n.thousandSeparator)!=null?o:",",decimalDigits:(l=n.decimalDigits)!=null?l:0},Object.assign({},be.get("currencies"))),t)},J={getFormat:Ve,setFormat:nt,setCurrency:It,getCurrency:Yt,defaultCurrencyFormat:rt};var Lt=t=>t&&typeof t=="object";function we(t){let e=Object.assign({},J.getCurrency());if(t&&Lt(t))for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&t[r]!==void 0&&(e[r]=t[r]);if(m(e.format)){let r=ot(e.format);r.format&&(e.format=r.format),typeof r.decimalDigits=="number"&&(e.decimalDigits=r.decimalDigits);}return e}function Ee(t,e){return t=typeof t=="number"?t:0,e=typeof e=="number"?e:0,t=Math.round(Math.abs(t)),isNaN(t)?e:t}function kt(t){let e=J.getCurrency(),r=(e==null?void 0:e.format).toLowerCase();return typeof t=="string"&&(t=t.toLowerCase()),(typeof t!="string"||!t.match("%v"))&&(t=r),{pos:t,neg:t.replace("-","").replace("%v","-%v"),zero:t}}var he=(t,e)=>{let r=J.getCurrency();if(t=t||0,typeof t=="number")return t;e=e||r.decimalSeparator;let n=new RegExp("[^0-9-"+e+"]","g"),a=parseFloat((""+t).replace(/\((?=\d+)(.*)\)/,"-$1").replace(n,"").replace(e,"."));return isNaN(a)?0:a},Oe=(t,e)=>{let r=J.getCurrency();e=Ee(e,r.decimalDigits);let a=String(t).replace(/[^\d.-]/g,"");if(a.length>15&&!a.includes("."))return a+"."+"0".repeat(e);try{let i=Number(a);if(isNaN(i))return "NaN";let o=+(i+"e"+e);return (+(Math.round(o)+"e-"+e)).toFixed(e)}catch(i){return "NaN"}},at=(t,e,r,n)=>{var y;t=he(t);let a=j(e)?e:J.getCurrency();typeof e=="number"&&(a.decimalDigits=e),typeof a.decimalDigits!="number"&&(a.decimalDigits=(y=String(t).split(".")[1])==null?void 0:y.length),r!==void 0&&(a.thousandSeparator=r),n!==void 0&&(a.decimalSeparator=n);let i=we(a),o=Ee(i.decimalDigits),l=t<0?"-":"",s=parseInt(Oe(Math.abs(t||0),o),10)+"",u=s.length>3?s.length%3:0,c="";if(o){let f=String(parseFloat(Oe(Math.abs(t),o))||0);f.includes(".")&&(c=g(f.split(".")[1]).trim());}return l+(u?s.substring(0,u)+i.thousandSeparator:"")+s.substring(u).replace(/(\d{3})(?=\d)/g,"$1"+i.thousandSeparator)+(o&&c?i.decimalSeparator+c:"")},it=(t,e,r,n,a,i)=>{t=he(t);let o=j(e)?e:J.getCurrency();e!==void 0&&typeof e=="string"&&(o.symbol=e),r!==void 0&&(o.decimalDigits=r),n!==void 0&&(o.thousandSeparator=n),a!==void 0&&(o.decimalSeparator=a),m(i)&&(o.format=i);let l=we(o),s=kt(l.format),u=g(t>0?s.pos:t<0?s.neg:s.zero),c=g(l.symbol),y=u.replace(c&&"%s",c),f=at(Math.abs(t),Ee(l.decimalDigits),l.thousandSeparator,l.decimalSeparator),h=y.replace("%v",f);return p(d({},l),{formattedValue:y,formattedNumber:f,symbol:l.symbol,usedFormat:u,result:h})},Ft=(t,e,r,n,a,i)=>it(t,e,r,n,a,i).result,ot=t=>{t=g(t).trim();let e={};if(t){let r=/(\.)(\#{0,9}\s*$)/,n=t.match(r);Array.isArray(n)&&n.length===3&&(e.decimalDigits=g(n[2]).trim().length),t=t.replace(r,"");}return e.format=t,e},ie={parse:he,session:J,formatMoney:Ft,currencies:G,isCurrency:j,formatNumber:at,formatMoneyAsObject:it,unformat:he,toFixed:Oe,prepareOptions:we,parseFormat:ot};var{currencies:st}=ie;Number.prototype.countDecimals=function(){let t=String(this.toString()).match(/\.(\d+)/);return t?t[1].length:0};Number.prototype.formatNumber=function(t,e,r){return ie.formatNumber(this.valueOf(),t,e,r)};Number.prototype.formatMoney=function(t,e,r,n,a){return ie.formatMoney(this.valueOf(),t,e,r,n,a)};var Bt=(t,e,r,n)=>{var N;if(t===null||typeof t!="number"||isNaN(t))return {result:"",format:"",suffix:"",formattedValue:"",minAbreviationDecimalDigits:0,value:NaN};if(!isFinite(t)){let O=t>0?"\u221E":"-\u221E";return {result:O,value:t,format:"",suffix:"",formattedValue:O,minAbreviationDecimalDigits:0}}let a=Math.abs(t)<1e3,i=[{value:1e12,suffix:"T"},{value:1e9,suffix:"B"},{value:1e6,suffix:"M"},{value:1e3,suffix:"K"},{value:1,suffix:""}],o=t.countDecimals?t.countDecimals():Math.floor(t)===t?0:((N=t.toString().split(".")[1])==null?void 0:N.length)||0,l=i.find(O=>Math.abs(t)>=O.value)||i[i.length-1],s=a?t:t/(l.value===1?1:l.value),u=l.suffix,c=Kt(s,5);if(t===0)return {result:"0",value:0,format:"",suffix:"",formattedValue:"0",minAbreviationDecimalDigits:0};let f=M(e)&&e>0?e:l.value===1?Math.min(o,5):Math.max(c,0),h=s.toFixed(f);r=g(r),n=g(n,".");let C=h.toString().split(".");return C[0]=C[0].replace(/\B(?=(\d{3})+(?!\d))/g,r),f>0&&C.length===1?C.push("0".repeat(f)):f>0&&C.length>1&&C[1].length<f&&(C[1]=C[1].padEnd(f,"0")),h=C.join(n),{result:h+u,value:t,format:u,suffix:u,formattedValue:h,minAbreviationDecimalDigits:c}};function Kt(t,e){let r=Math.abs(t);if(Number.isInteger(r))return 0;let n=r.toString().split(".")[1]||"",a=0;for(;a<n.length&&n[a]==="0";)a++;return r<1&&a>0?Math.min(a+e,n.length):Math.min(e,n.length)}var lt=(t,e,r,n)=>Bt(t,e,r,n).result;Number.prototype.abreviate2FormatNumber=function(t,e,r){return lt(this.valueOf(),t,e,r)};var ut=(t,e,r,n,a,i)=>{if(!M(t))return "";let s=ie.formatMoneyAsObject(t,e,r,n,a,i),{formattedValue:o}=s,l=A(s,["formattedValue"]);return o.replace("%v",lt(t,l.decimalDigits,l.thousandSeparator,l.decimalSeparator))};Number.prototype.abreviate2FormatMoney=function(t,e,r,n,a){return ut(this.valueOf(),t,e,r,n,a)};Object.keys(st).forEach(t=>{let e=t,r=st[e],n=`format${e}`,a=`abreviate2Format${e}`;Number.prototype[n]=function(i,o,l,s){return ie.formatMoney(this.valueOf(),r,i,o,l,s)},Number.prototype[a]=function(i,o,l,s){return ut(this.valueOf(),r,i,o,l,s)};});function Ht(t){return g(t).replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/[\b]/g,"\\b").replace(/\f/g,"\\f")}function Ce(t,e){var r=Object.prototype.toString.call(t);return r==="[object "+e+"]"}function _(t,e){if(["boolean","undefined"].includes(typeof t)||t===null)return String(t);if(M(t))return t.formatNumber();if(t instanceof Date)return t.toFormat();if(t instanceof Error)return t==null?void 0:t.toString();e=Object.assign({},e);let{parenthesis:r}=e,n=r?"(":"",a=r?")":"";if(typeof t=="string")return e!=null&&e.escapeString?"'"+Ht(t)+"'":t;if(Ce(t,"RegExp")||Ce(t,"Number")||Ce(t,"Boolean"))return t.toString();if(Ce(t,"Date"))return "new Date("+t.getTime()+")";if(Array.isArray(t))return "["+t.map(i=>_(i,e)).join(",")+"]";if(typeof t=="object"){try{return JSON.stringify(t,null,2)}catch(i){}return n+"{"+Object.keys(t).map(i=>{var o=t[i];return _(i,e)+":"+_(o,e)}).join(",")+"}"+a}return t&&typeof(t==null?void 0:t.toString)=="function"?t==null?void 0:t.toString():String(t)}var oe={optional:Symbol.for("validatorOptionalRuleMarker"),empty:Symbol.for("validatorEmptyRuleMarker"),nullable:Symbol.for("validatorNullableRuleMarker"),ruleName:Symbol.for("validatorRuleNameMarker")};var b=class b{static registerRule(e,r){if(!m(e))throw new Error("Rule name must be a non-empty string");if(typeof r!="function")throw new Error("Rule handler must be a function");let n=b.getRules(),a=p(d({},n),{[e]:r});Reflect.defineMetadata(b.RULES_METADATA_KEY,a,b);}static getRules(){let e=Reflect.getMetadata(b.RULES_METADATA_KEY,b);return P(e)?d({},e):{}}static getRule(e){return this.getRules()[e]}static hasRule(e){return m(e)?!!this.getRule(e):false}static getI18n(e){return Z.isI18nInstance(e==null?void 0:e.i18n)?e.i18n:be}static getErrorMessageSeparators(e){let r=this.getI18n({i18n:e}),n=Object.assign({},r.get("validator.separators"));return {multiple:g(n.multiple,", "),single:g(n.single,", ")}}static parseAndValidateRules(e){let r=[],n=this.getRules(),a=[],i=Array.isArray(e)?e:[];for(let o of i)if(typeof o=="function")r.push(o);else if(m(o)){let l=this.parseStringRule(o,n);l?r.push(l):a.push(o);}else if(P(o)&&typeof o=="object"){let l=this.parseObjectRule(o,n);l.length&&r.push(...l);}return {sanitizedRules:r,invalidRules:a}}static parseStringRule(e,r){let n=String(e).trim(),a=[],i=r[n];return typeof i=="function"?{ruleName:n,params:a,ruleFunction:i}:null}static parseFunctionRule(e){var n;let r=(n=zt(e))!=null?n:e.name;return {ruleFunction:e,ruleName:r,params:[]}}static parseObjectRule(e,r){let n=[];if(!P(e))return n;if(this.isSanitizedRuleObject(e))return n.push(e),n;for(let a in e)if(Object.hasOwnProperty.call(e,a)){let i=a;if(typeof r[i]!="function")continue;let o=r[i],l=e[i];Array.isArray(l)?n.push({ruleName:i,ruleFunction:o,params:l}):P(l)&&(l!=null&&l.params)&&Array.isArray(l.params)&&n.push(p(d({},l),{ruleName:i,ruleFunction:o}));}return n}static isSanitizedRuleObject(e){if(!P(e))return false;let r=e;return typeof r.ruleFunction=="function"&&typeof r.ruleName=="string"&&Array.isArray(r.params)}static translateRuleConfigMessage({message:e,i18n:r,validateOptions:n}){if(!e)return "";if(m(e))return r.has(e)?r.t(e,n):e;if(typeof e=="function")try{return e(n)}catch(a){return q.log(b.name," Error generated when running custom translate rule message ",n.ruleName,n.ruleParams,a),""}return ""}static validate(n){return Y(this,null,function*(){var a=n,{rules:e}=a,r=A(a,["rules"]);let i=this.getI18n(r),o=Date.now(),{sanitizedRules:l,invalidRules:s}=b.parseAndValidateRules(e),u=b.getErrorMessageSeparators(i),{value:c,context:y,data:f}=r,h=this.getI18nTranslateOptions(r),C=p(d({},h),{context:y,value:c,data:f});if(s.length){let S=s.map(N=>i.t("validator.invalidRule",p(d({},h),{rule:m(N)?N:"unnamed rule"}))).join(u.multiple);return b.createError(S,{value:c,startTime:o,fieldName:r.fieldName,propertyName:r.propertyName,translatedPropertyName:r.translatedPropertyName,ruleParams:[],ruleName:"N/A"})}return !l.length||this.shouldSkipValidation({value:c,rules:l})?De(C,o):(r.fieldName=r.propertyName=g(r.fieldName,r.propertyName),new Promise(S=>{let N=-1,O=l.length,x=function(){return Y(this,null,function*(){if(N++,N>=O)return S(De(C,o));let D=l[N],v,V=[],I,L=typeof D=="function"?D:void 0;if(b.isSanitizedRuleObject(D))L=D.ruleFunction,V=Array.isArray(D.params)?D.params:[],v=D.ruleName,I=D.message;else if(typeof D=="function"){let R=b.parseFunctionRule(D);R?v=R.ruleName:v=D.name;}let B=p(d({value:c,rules:e},h),{rule:g(v),ruleName:v,ruleParams:V}),H={value:c,startTime:o,fieldName:r.fieldName,propertyName:r.propertyName,translatedPropertyName:r.translatedPropertyName,ruleParams:V,ruleName:g(v)},F=p(d(p(d({},r),{data:f!=null?f:Object.assign({},f),startTime:o}),B),{ruleName:g(v),value:c,i18n:i}),ee=R=>{if(b.isError(R))return S(R);let Re="";if(R!==true&&I&&(Re=b.translateRuleConfigMessage({message:I,i18n:i,validateOptions:F})),m(Re))return S(b.createError(Re,H));if(R=typeof R=="string"?m(R)?R:i.t("validator.invalidMessage",B):R,R===false){let Te=i.t("validator.invalidMessage",B);return S(b.createError(Te,H))}else {if(m(R))return S(b.createError(R,H));if(R instanceof Error||m(R==null?void 0:R.message)||m(R)){let Te=_(R,{escapeString:false});return S(b.createError(Te,H))}}return x()};if(typeof L!="function"){let R=i.t("validator.invalidRule",B);return S(b.createError(R,H))}try{let R=yield L(F);return ee(R)}catch(R){return ee(typeof R=="string"?R:(R==null?void 0:R.message)||(R==null?void 0:R.toString())||_(R,{escapeString:false}))}})};return x()}))})}static shouldSkipValidation({value:e,rules:r}){if(Q(e)){let n={IsEmpty:{validate:a=>a==="",symbol:oe.empty},Nullable:{validate:a=>a==null,symbol:oe.nullable},Optional:{validate:a=>a===void 0,symbol:oe.optional}};for(let a of r){let i=typeof a=="object"&&a?a.ruleFunction:typeof a=="function"?a:void 0;if(typeof i=="function")for(let o in n){let l=n[o];if($t(i,l.symbol)&&l.validate(e))return true}}}return false}static validateOneOfRule(e){return this.validateMultiRule("OneOf",e)}static validateAllOfRule(e){return this.validateMultiRule("AllOf",e)}static validateArrayOfRule(e){return Y(this,null,function*(){let x=e,{value:r,ruleParams:n,startTime:a,message:i}=x,o=A(x,["value","ruleParams","startTime","message"]);a=M(a)?a:Date.now();let l=Array.isArray(n)?n:[],s=this.getI18n(o);if(!Array.isArray(r))return s.t("validator.array",p(d({field:o.translatedPropertyName||o.fieldName,value:r},o),{context:void 0}));if(l.length===0||r.length===0)return true;let{multiple:u,single:c}=this.getErrorMessageSeparators(s),y=[];for(let D=0;D<r.length;D++){let v=r[D],V=yield b.validateMultiRule("AllOf",d({value:v,ruleParams:l,startTime:a},o));V!==true&&y.push({index:D,message:String(V)});}if(y.length===0)return true;let f=y.map(D=>D.index),h=y.length,C,S=s.t("validator.separators.multiple");if(h<=3)C=f.join(S);else {let D=f.slice(0,3),v=h-3,V=s.t("validator.itemListOverflow",{count:v});C=`${D.join(S)}${S}${V}`;}if(i){let D=this.getI18nTranslateOptions(o),v=b.translateRuleConfigMessage({message:i,i18n:s,validateOptions:p(d(d({},o),D),{context:o.context,value:r,ruleName:"ArrayOf",ruleParams:n!=null?n:[],i18n:s,failures:y,failedIndices:f,itemCount:h,itemList:C,totalCount:r.length})});if(m(v))return v}let N=s.t("validator.arrayValidationFailed",{count:y.length,itemCount:h,items:C,totalCount:r.length}),O=y.map(D=>s.t("validator.arrayItemError",{index:D.index,message:D.message})).join(u);return `${N}${c}${O}`})}static validateIfRule(e){return Y(this,null,function*(){var x;let O=e,{resolver:r,startTime:n,message:a}=O,i=A(O,["resolver","startTime","message"]),{value:o,data:l,context:s,fieldName:u,propertyName:c,translatedPropertyName:y}=i,f=this.getI18n(i),h=yield r({value:o,data:l,context:s,fieldName:u,propertyName:c,translatedPropertyName:y,i18n:f});if(!h)return true;let C,S;if(Array.isArray(h)){if(h.length===0)return true;C=h,S=a;}else {if(C=h.rules,!C||C.length===0)return true;S=(x=h.message)!=null?x:a;}let N=yield b.validate(p(d({},i),{value:o,rules:C,i18n:f}));if(N.success)return true;if(S){let D=this.getI18nTranslateOptions(i),v=b.translateRuleConfigMessage({message:S,i18n:f,validateOptions:p(d(d({},i),D),{value:o,ruleName:"If",ruleParams:[],i18n:f})});if(m(v))return v}return N.message})}static getI18nTranslateOptions(l){var s=l,{fieldName:e,propertyName:r,fieldLabel:n,translatedPropertyName:a,context:i}=s,o=A(s,["fieldName","propertyName","fieldLabel","translatedPropertyName","context"]);e=g(e,r),n=g(n,a,e);let u={fieldLabel:n,translatedPropertyName:g(a,n),propertyName:g(r,e),fieldName:e};return "value"in o&&(u.value=o.value),u}static validateNestedRule(n){return Y(this,null,function*(){var a=n,{ruleParams:e}=a,r=A(a,["ruleParams"]);let C=r,{startTime:i,value:o}=C,l=A(C,["startTime","value"]);i=M(i)?i:Date.now();let s=this.getI18n(l),c=(Array.isArray(e)?e:[])[0],y=p(d({rule:"ValidateNested"},this.getI18nTranslateOptions(l)),{startTime:i,value:o});if(!c)return s.t("validator.invalidRule",y);if(typeof o!="object"||o===null||Array.isArray(o)){let S=Array.isArray(o)?"array":o===void 0?"undefined":o===null?"null":typeof o;return s.t("validator.validateNestedInvalidType",p(d({},y),{receivedType:S}))}let f=yield this.validateClass(c,p(d({},r),{data:o,parentData:l.data,startTime:i}));if(f.success)return true;let h=this.translateNestedErrorResult(f,s);if(r.message){let S=b.translateRuleConfigMessage({message:r.message,i18n:s,validateOptions:p(d(d({},l),y),{value:o,ruleName:"ValidateNested",ruleParams:e!=null?e:[],i18n:s,nestedErrors:h})});if(m(S))return S}return s.t("validator.validateNested",d({nestedErrors:h},y))})}static translateNestedErrorResult(e,r){let n=e.errors||[],a=this.getI18n({i18n:r}),i=Object.assign({separator:"; ",prefix:"",suffix:""},a.get("validator.nestedErrors")),o=g(i.separator,"; "),l=g(i.prefix,""),s=g(i.suffix,"");return `${l}${n.map(u=>{var c;return `[${(c=u.translatedPropertyName)!=null?c:u.propertyName}]: ${u.message}`}).join(o)}${s}`}static validateMultiRule(e,l){return Y(this,null,function*(){var s=l,{value:r,ruleParams:n,startTime:a,message:i}=s,o=A(s,["value","ruleParams","startTime","message"]);a=M(a)?a:Date.now();let u=Array.isArray(n)?n:[],c=this.getI18n(o),y=e==="AllOf";if(u.length===0)return true;let f=[],h=[],C=null;for(let S of u){let N=yield b.validate(p(d({value:r},o),{rules:[S],i18n:c}));if(N.success){if(!y)return true;C!=null||(C=N);}else h.push(N),m(N.message)&&f.push(N.message);}if(!y&&C||h.length===0)return true;if(i){let S=this.getI18nTranslateOptions(o),N=b.translateRuleConfigMessage({message:i,i18n:c,validateOptions:p(d(d({},o),S),{value:r,ruleName:e,ruleParams:n!=null?n:[],i18n:c})});if(m(N))return N}return c.t(`validator.${Ae(e)}`,p(d({},this.getI18nTranslateOptions(o)),{value:r,ruleName:e,rules:[e],rule:e,ruleParams:[],failedRulesErrors:f.join("; ")}))})}static oneOf(e){return function(n){return b.validateOneOfRule(p(d({},n),{ruleParams:e}))}}static allOf(e){return function(n){return b.validateAllOfRule(p(d({},n),{ruleParams:e}))}}static arrayOf(e){return function(n){return b.validateArrayOfRule(p(d({},n),{ruleParams:e}))}}static if(e){return function(n){return b.validateIfRule(p(d({},n),{resolver:e}))}}static validateNested(e){return function(n){return b.validateNestedRule(p(d({},n),{ruleParams:[e]}))}}static validateClass(e,r){return Y(this,null,function*(){let n=Date.now(),a=b.getClassRules(e),O=Object.assign({},b.getValidatorClassOptions(e),r),{context:i,errorMessageBuilder:o}=O,l=A(O,["context","errorMessageBuilder"]),s=Object.assign({},r.data),u=this.getI18n(r),c=b.getErrorMessageSeparators(u),y=typeof o=="function"?o:(x,D)=>`[${String(x)}] : ${D}`,f=[],h={},C=[],N=u.translateClass(e,{data:s});for(let x in a){let D=a[x],{sanitizedRules:v}=this.parseAndValidateRules(D),V=Object.prototype.hasOwnProperty.call(s,x)?s[x]:void 0;if(this.shouldSkipValidation({value:V,rules:v}))continue;let I=g(N[x],x);C.push(b.validate(p(d({context:i},l),{i18n:u,value:V,data:s,translatedPropertyName:I,fieldName:x,propertyName:x,rules:v,fieldLabel:I})).then(L=>{if(L.success);else {let B=g(L.message),H=b.createError(B,{propertyName:x,translatedPropertyName:I,ruleParams:[],ruleName:"validateClass",startTime:n,value:V}),F=y(I,B,p(d({},H),{propertyName:String(x),separators:c,data:s,translatedPropertyName:I,i18n:u,cause:L}));h[x]=F,f.push(p(d({},H),{cause:L}));}return L}));}return new Promise(x=>Promise.all(C).then(()=>{if(!f.length)x(p(d({},De({data:s,value:void 0,context:i},n)),{message:void 0,status:"success",data:s}));else {let v=new Map;f.forEach(F=>{let ee=F.translatedPropertyName||F.fieldName||F.propertyName||"unknown";v.set(F.propertyName||F.fieldName||"unknown",ee);});let V=Array.from(v.values()),I=V.length,L,B=u.t("validator.separators.multiple");if(I<=3)L=V.join(B);else {let F=V.slice(0,3),ee=I-3,R=u.t("validator.fieldListOverflow",{count:ee});L=`${F.join(B)}${B}${R}`;}let H=u.translate("validator.classValidationFailed",{count:f.length,fieldCount:I,fields:L});x(b.createClassError(H,{startTime:n,errors:f,fieldErrors:h,failureCount:f.length,duration:Date.now()-n,data:s}));}}))})}static validateObject(e,r,n){return Y(this,null,function*(){let a={};Reflect.defineMetadata(de,r,a);let i=yield this.validateClass(a,p(d({},n),{data:e}));return p(d({},i),{data:e})})}static object(e){let r={};return Reflect.defineMetadata(de,e,r),{schema:r,validate:(n,a)=>this.validateObject(n,e,a)}}static validateBulk(e,i){return Y(this,null,function*(){var o=i,{data:r,startTime:n}=o,a=A(o,["data","startTime"]);let l=this.getI18n(a);n=M(n)?n:Date.now();let s=[];if(!Array.isArray(r))return this.createBulkError(l.t("validator.invalidBulkData"),{startTime:n,failures:s,totalCount:0});let u=r.map((c,y)=>Y(this,null,function*(){let f=yield b.validateClass(e,p(d({},a),{data:c,startTime:n}));return f.success!==true&&s.push(p(d({},f),{index:y+1})),f}));if(yield Promise.all(u),s.length>0){let c=s.length,y=r.length,f=c===y?"validator.bulkValidationAllFailed":"validator.bulkValidationFailed";return b.createBulkError(l.t(f,{count:c,failureCount:c,totalCount:y}),{failures:s,startTime:n,totalCount:y})}return {name:"ValidatorSuccessResult",duration:Date.now()-n,validatedAt:new Date,data:r,status:"success",success:true}})}static getClassRules(e){return typeof e=="function"?me(e,de):Object.assign({},Reflect.getMetadata(de,e))}static getValidatorClassOptions(e){return Object.assign({},Reflect.getMetadata(Ut,e)||{})}static buildRuleDecorator(e,r,n){return r&&this._prepareRuleDecorator(e,r,n),(...a)=>this.createPropertyDecoratorFromRule(a,e,r,n)}static buildRuleArrayDecorator(e,r,n){return r&&this._prepareRuleDecorator(e,r,n),a=>this.createPropertyDecoratorFromRule(a,e,r,n)}static isSuccess(e){return P(e)&&e.success===true&&e.status=="success"&&e.name=="ValidatorSuccessResult"}static getBaseError({startTime:e}){return {__validatorBaseName:"ValidatorBaseError",failedAt:new Date,startTime:e,duration:Date.now()-e,success:false,status:"error",statusCode:400,errorCode:"ERR_VALIDATION_FAILED"}}static isBaseError(e){return P(e)?e.__validatorBaseName==="ValidatorBaseError"&&e.success===false&&e.failedAt&&e.statusCode===400&&e.errorCode==="ERR_VALIDATION_FAILED":false}static createError(e,r){return p(d(d({},this.getBaseError(r)),r),{failedAt:new Date,message:e,name:"ValidatorError"})}static createClassError(e,r){return p(d(d({},this.getBaseError(r)),r),{message:e,name:"ValidatorClassError",failedAt:new Date})}static createBulkError(e,r){let n=Array.isArray(r.failures)?r.failures:[];return p(d(d({},this.getBaseError(r)),r),{failures:n,failureCount:n.length,message:e,name:"ValidatorBulkError",failedAt:new Date})}static isError(e){return this.isBaseError(e)&&e.name=="ValidatorError"}static isClassError(e){return this.isBaseError(e)&&e.name=="ValidatorClassError"}static isBulkError(e){return this.isBaseError(e)&&e.name=="ValidatorBulkError"}static isAnyError(e){return this.isError(e)||this.isClassError(e)||this.isBulkError(e)}static _prepareRuleDecorator(e,r,n){return m(r)&&(b.registerRule(r,e),dt(e,r)),n&&Wt(e,n,{ruleName:r}),e}static createPropertyDecoratorFromRule(e,r,n,a){var i;return this._prepareRuleDecorator(r,n,a),n=g(n,a==null?void 0:a.toString(),r.name,(i=r.constructor)==null?void 0:i.name),dt(r,n),b.buildPropertyDecorator({ruleName:n,ruleFunction:r,params:e})}static buildClassRuleDecorator(e,r){return this.buildRuleDecorator(e,void 0,r)}static buildMultiRuleDecorator(e,r){return n=>this.createPropertyDecoratorFromRule(n,e,void 0,r)}static buildIfRuleDecorator(e,r){return n=>this.createPropertyDecoratorFromRule([n],e,void 0,r)}static buildPropertyDecorator(e){return Se(de,r=>[...Array.isArray(r)?r:[],...Array.isArray(e)?e:[e]])}};b.RULES_METADATA_KEY=Symbol.for("validationRules");var E=b;function De(t,e){return p(d({},t),{status:"success",name:"ValidatorSuccessResult",success:true,validatedAt:new Date,duration:Date.now()-e})}var de=Symbol.for("validatorClassRules"),Ut=Symbol.for("validatorClassOptions");function $t(t,e){if(typeof t!="function")return false;let r=jt(t,e);return !!(r!=null&&r.validatorRuleFuncMarked)}function jt(t,e){return typeof t!="function"?null:Object.assign({},t[e])}function dt(t,e){typeof t=="function"&&(t[oe.ruleName]=e);}function zt(t){if(typeof t=="function"){let e=t[oe.ruleName];return m(e)?e:void 0}}function Wt(t,e,r){var n;typeof t=="function"&&(t[e]=p(d({},r),{validatorRuleFuncMarked:true,ruleName:(n=r==null?void 0:r.ruleName)!=null?n:e}));}var z=t=>{if(Q(t))return NaN;if(typeof t=="number")return t;try{let e=Number(t);return isNaN(e)?NaN:e}catch(e){}return NaN};function se(t,e,l,o){var s=l,{value:r,ruleParams:n,i18n:a}=s,i=A(s,["value","ruleParams","i18n"]);n=Array.isArray(n)?n:[];let u=n||[];e=g(e);let c=a.t(e,p(d({},i),{value:r,ruleParams:n})),y=z(r);r=typeof r=="number"?r:isNaN(y)?NaN:y;let f=z(u[0]);return M(f)?isNaN(r)||u[0]===void 0||isNaN(f)?c:t(r,f)?true:c:a.t("validator.invalidRuleParams",p(d({value:r},i),{rule:o,ruleParams:n}))}var Di=E.buildRuleDecorator(function(e){return se((r,n)=>r<=n,"validator.numberLTE",e,"NumberLTE")},"NumberLTE"),Ri=E.buildRuleDecorator(function(e){return se((r,n)=>r<n,"validator.numberLT",e,"NumberLT")},"NumberLT"),Ti=E.buildRuleDecorator(function(e){return se((r,n)=>r>=n,"validator.numberGTE",e,"NumberGTE")},"NumberGTE"),Si=E.buildRuleDecorator(function(e){return se((r,n)=>r>n,"validator.numberGT",e,"NumberGT")},"NumberGT"),Mi=E.buildRuleDecorator(function(e){return se((r,n)=>r===n,"validator.numberEquals",e,"NumberEQ")},"NumberEQ"),Ni=E.buildRuleDecorator(function(e){return se((r,n)=>r!==n,"validator.numberIsDifferentFrom",e,"NumberNE")},"NumberNE"),xi=E.buildRuleDecorator(function(e){let{value:r,i18n:n}=e;return M(r)||n.t("validator.isNumber",e)},"Number"),Pi=E.buildRuleDecorator(function(l){var s=l,{value:e,ruleParams:r,fieldName:n,translatedPropertyName:a,i18n:i}=s,o=A(s,["value","ruleParams","fieldName","translatedPropertyName","i18n"]);if(!r||r.length<2)return i.t("validator.invalidRuleParams",d({rule:"NumberBetween",field:a||n,ruleParams:r},o));if(!M(e))return i.t("validator.numeric",d({field:a||n,value:e},o));let u=z(r[0]),c=z(r[1]);return isNaN(u)||isNaN(c)||u>c?i.t("validator.invalidRuleParams",d({rule:"NumberBetween",field:a||n,ruleParams:r},o)):e>=u&&e<=c?true:i.t("validator.numberBetween",d({field:a||n,value:e,min:u,max:c},o))},"NumberBetween"),vi=E.buildRuleDecorator(function(l){var s=l,{value:e,ruleParams:r,fieldName:n,translatedPropertyName:a,i18n:i}=s,o=A(s,["value","ruleParams","fieldName","translatedPropertyName","i18n"]);if(!Array.isArray(r)||!r.length)return i.t("validator.invalidRuleParams",d({rule:"DecimalPlaces",field:a||n,ruleParams:r},o));if(!M(e))return i.t("validator.number",d({rule:"DecimalPlaces",field:a||n,value:e,ruleParams:r},o));let u=String(e),c=u.indexOf("."),y=c===-1?0:u.length-c-1,f=false;if(r.length===1){let h=z(r[0]);f=y===h;}else if(r.length===2){let h=z(r[0]),C=z(r[1]);f=!isNaN(h)&&!isNaN(C)&&y>=h&&y<=C;}return f?true:i.t("validator.decimalPlaces",d({field:a||n,value:e,places:r.join("-"),actualPlaces:y},o))},"DecimalPlaces"),Ai=E.buildRuleDecorator(function(o){var l=o,{value:e,fieldName:r,translatedPropertyName:n,i18n:a}=l,i=A(l,["value","fieldName","translatedPropertyName","i18n"]);return !M(e)||!Number.isInteger(e)?a.t("validator.integer",d({field:n||r,value:e},i)):true},"Integer"),Vi=E.buildRuleDecorator(function(o){var l=o,{value:e,fieldName:r,translatedPropertyName:n,i18n:a}=l,i=A(l,["value","fieldName","translatedPropertyName","i18n"]);return M(e)?Number.isInteger(e)?e%2===0?true:a.t("validator.evenNumber",d({field:n||r,value:e},i)):a.t("validator.integer",d({field:n||r,value:e},i)):a.t("validator.number",d({field:n||r,value:e},i))},"EvenNumber"),Oi=E.buildRuleDecorator(function(o){var l=o,{value:e,fieldName:r,translatedPropertyName:n,i18n:a}=l,i=A(l,["value","fieldName","translatedPropertyName","i18n"]);return M(e)?Number.isInteger(e)?e%2!==0?true:a.t("validator.oddNumber",d({field:n||r,value:e},i)):a.t("validator.integer",d({field:n||r,value:e},i)):a.t("validator.number",d({field:n||r,value:e},i))},"OddNumber"),wi=E.buildRuleDecorator(function(l){var s=l,{value:e,ruleParams:r,fieldName:n,translatedPropertyName:a,i18n:i}=s,o=A(s,["value","ruleParams","fieldName","translatedPropertyName","i18n"]);if(!r||!r.length)return i.t("validator.invalidRuleParams",p(d({rule:"MultipleOf",field:a||n},o),{ruleParams:r}));if(!M(e))return i.t("validator.number",d({field:a||n,value:e,ruleParams:r},o));let u=z(r[0]);if(isNaN(u)||u===0)return i.t("validator.invalidRuleParams",d({rule:"MultipleOf",ruleParams:r,field:a||n},o));let c=e%u;return Math.abs(c)<Number.EPSILON?true:i.t("validator.multipleOf",d({field:a||n,value:e,multipleOf:u,ruleParams:r},o))},"MultipleOf");exports.HasDecimalPlaces=vi;exports.IsEvenNumber=Vi;exports.IsInteger=Ai;exports.IsMultipleOf=wi;exports.IsNumber=xi;exports.IsNumberBetween=Pi;exports.IsNumberEQ=Mi;exports.IsNumberGT=Si;exports.IsNumberGTE=Ti;exports.IsNumberLT=Ri;exports.IsNumberLTE=Di;exports.IsNumberNE=Ni;exports.IsOddNumber=Oi;
5
+ %{nestedErrors}`,validateNestedInvalidType:"The field %{fieldName} must be an object, but received %{receivedType}",dateAfter:"This field must be after %{date}",dateBefore:"This field must be before %{date}",dateBetween:"This field must be between %{startDate} and %{endDate}",dateEquals:"This field must be equal to %{date}",futureDate:"This field must be a date in the future",pastDate:"This field must be a date in the past",file:"This field must be a valid file",fileSize:"This field must not exceed %{maxSize} bytes",fileType:"This field must be one of the following types: %{allowedTypes}",image:"This field must be a valid image file",fileExtension:"This field must have one of the following extensions: %{allowedExtensions}",minFileSize:"This field must be at least %{minSize} bytes",uuid:"This field must be a valid UUID",json:"This field must be valid JSON",base64:"This field must be valid Base64 encoded data",hexColor:"This field must be a valid hexadecimal color code",creditCard:"This field must be a valid credit card number",ip:"This field must be a valid IP address (version %{version})",macAddress:"This field must be a valid MAC address",matches:"This field must match the pattern %{pattern}",mongoId:"This field must be a valid MongoDB ObjectId",hexadecimal:"This field must be a valid hexadecimal value",object:"This field must be an object",isObject:"This field must be an object",invalidBulkData:"Invalid bulk data: an array is required",bulkValidationFailed:{one:"Bulk validation failed: 1 of %{totalCount} items failed",other:"Bulk validation failed: %{failureCount} of %{totalCount} items failed"},bulkValidationAllFailed:{one:"Validation failed for the single item",other:"All %{totalCount} items failed validation"},bulkValidationPartialFailure:"%{failureCount} items failed validation",separators:{multiple:", ",single:", "},nestedErrors:{separator:"; ",prefix:"",suffix:""},tests:{entity:{name:"Name",id:"Id",email:"Email",aString:"A String",url:"Url",note:"Note",createdAt:"Created At",updatedAt:"Updated At"}}};var yt={auth:Be,currencies:Ke,countries:Fe,dates:He,resources:Ge,validator:Ue};function gt(t){return typeof t=="boolean"||!t||typeof t=="number"||typeof t=="string"||typeof t=="symbol"?false:Object(t).constructor===Promise||t.constructor&&(t.constructor.name==="Promise"||t.constructor.name==="AsyncFunction")||t instanceof Promise||typeof(t==null?void 0:t.then)=="function"&&typeof(t==null?void 0:t.catch)=="function"&&typeof(t==null?void 0:t.finally)=="function"?true:t&&typeof t.constructor=="function"&&Function.prototype.toString.call(t.constructor).replace(/\(.*\)/,"()")===Function.prototype.toString.call(Function).replace("Function","Promise").replace(/\(.*\)/,"()")}function Ne(t){return t&&Object.prototype.toString.call(t)==="[object Promise]"?true:gt(t)}function $e(){return typeof window!="undefined"&&(window==null?void 0:window.document)!==void 0&&typeof document!="undefined"&&typeof navigator!="undefined"}var fe=()=>{var t;try{if(typeof process!="undefined"&&(process!=null&&process.versions)&&((t=process==null?void 0:process.versions)!=null&&t.node)||typeof global=="object"&&(global==null?void 0:global.toString.call(global))==="[object global]")return !0}catch(e){}return false},pt=()=>{var t,e;return !!(typeof window!="undefined"&&window&&typeof(window==null?void 0:window.process)=="object"&&((t=window==null?void 0:window.process)==null?void 0:t.type)==="renderer"||typeof process!="undefined"&&typeof(process==null?void 0:process.versions)=="object"&&((e=process.versions)!=null&&e.electron)||typeof navigator=="object"&&typeof navigator.userAgent=="string"&&String(navigator==null?void 0:navigator.userAgent).toLowerCase().indexOf("electron")>=0)},bt=()=>{if(typeof document!="undefined"&&document)try{return document.createEvent("TouchEvent"),!0}catch(t){try{return "ontouchstart"in window||"onmsgesturechange"in window}catch(e){}}return false},ht=()=>typeof window=="undefined"&&typeof process!="undefined",je=()=>!!(typeof window!="undefined"&&typeof window=="object"&&window),Ct=()=>{if(!$e()||typeof navigator!="object"||!navigator||typeof navigator.userAgent!="string")return false;let t=navigator.userAgent.toLowerCase();return /android/i.test(t)},Dt=()=>{var t;return !je()||!(window!=null&&window.ReactNativeWebView)?false:typeof((t=window==null?void 0:window.ReactNativeWebView)==null?void 0:t.postMessage)=="function"},Rt=()=>fe()&&process.platform==="darwin",Tt=()=>fe()&&process.platform==="win32",St=()=>fe()&&process.platform==="linux",ze={isWeb:$e,isLinux:St,isDarwin:Rt,isWin32:Tt,isNode:fe,isElectron:pt,isTouchDevice:bt,isServerSide:ht,isClientSide:je,isAndroidMobileBrowser:Ct,isReactNativeWebview:Dt};var te=class t{static decycle(e,r=[]){if(typeof e=="function")return;if(!e||typeof e!="object")return e;if(r.includes(e))return null;let n=r.concat([e]);return Array.isArray(e)?e.map(a=>t.decycle(a,n)):Object.fromEntries(Object.entries(e).map(([a,i])=>[a,t.decycle(i,n)]))}static stringify(e,r=false,n,a){return typeof e=="string"?e:JSON.stringify(r!==false?t.decycle(e):e,n,a)}static isJSON(e){if(typeof e!="string")return false;let r=e.trim();if(r.length===0)return false;try{let n=JSON.parse(r);return n!==null&&typeof n=="object"}catch(n){return false}}static parse(e,r){if(typeof e=="string")try{e=JSON.parse(e,r);}catch(n){return e}if(e&&typeof e=="object")for(let n in e){let a=e[n];t.isJSON(a)&&(e[n]=t.parse(a,r));}return e}};var W=class W{static get storage(){var r;let e=Reflect.getMetadata(W.sessionStorageMetaData,W);if(xe(e)&&(this._storage=e),this._storage)return this._storage;if(ze.isClientSide()&&typeof window!="undefined"&&window.localStorage&&((r=window.localStorage)!=null&&r.getItem))this._storage={get:n=>window.localStorage.getItem(n),set:(n,a)=>window.localStorage.setItem(n,a),remove:n=>window.localStorage.removeItem(n),removeAll:()=>window.localStorage.clear()};else {let n={};this._storage={get:a=>n[a],set:(a,i)=>n[a]=i,remove:a=>{delete n[a];},removeAll:()=>n={}};}return this._storage}static set storage(e){xe(e)&&Reflect.defineMetadata(W.sessionStorageMetaData,e,W);}static get keyNamespace(){return m(this._keyNamespace)?this._keyNamespace:""}static set keyNamespace(e){m(e)&&(this._keyNamespace=e.trim().replace(/\s+/g,"-"));}static sanitizeKey(e){if(!e||!m(e))return "";e=e.trim().replace(/\s+/g,"-");let r=this.keyNamespace;return r?`${r}-${e}`:e}};W.sessionStorageMetaData=Symbol("sessionStorage"),W._keyNamespace=void 0;var K=W;function ye(t){return K.sanitizeKey(t)}var We=(t,e)=>(t=t&&te.stringify(t,e),t==null&&(t=""),t),Ze=t=>{if(Ne(t))return new Promise((e,r)=>{t.then(n=>{e(te.parse(n));}).catch(n=>{r(n);});});if(t!=null)return te.parse(t)},Mt=t=>{if(t=ye(t),K.storage&&t&&typeof t=="string"){let e=K.storage.get(t);return Ze(e)}},Nt=t=>{if(t=ye(t),K.storage&&t&&typeof t=="string")return K.storage.remove(t)},xt=()=>{if(K.storage)return K.storage.removeAll()},xe=t=>{if(!t)return false;try{return ["get","set","remove","removeAll"].every(e=>typeof t[e]=="function")}catch(e){return false}},U={get:Mt,set:(t,e,r=true)=>(t=ye(t),K.storage.set(t,We(e,r))),remove:Nt,handleGetValue:Ze,sanitizeKey:ye,handleSetValue:We,isValidStorage:xe,Manager:K,removeAll:xt};function re(t){return t==null||typeof t=="string"||typeof t=="number"||typeof t=="boolean"}function ne(t){if(t instanceof RegExp)return true;if(!t||typeof t!="object"||!Object.prototype.toString.call(t).includes("RegExp"))return false;try{return new RegExp(t),!0}catch(e){return false}}function le(t){return !t||typeof t!="object"?false:t instanceof Date?true:typeof t.getTime!="function"?false:!(Object.prototype.toString.call(t)!=="[object Date]"||isNaN(t.getTime()))}function Pe(t){return typeof window!="object"||!window||typeof document=="undefined"||typeof HTMLElement=="undefined"||!HTMLElement?false:t===document?true:"HTMLElement"in window?!!t&&t instanceof HTMLElement:!!t&&typeof t=="object"&&t.nodeType===1&&!!t.nodeName}function P(t){if(t===null||typeof t!="object"||Pe(t)||le(t)||ne(t)||re(t))return false;let e=Object.getPrototypeOf(t);if(e===null)return true;let r=e.constructor;if(typeof r!="function")return false;if(r===Object)return true;let n=r.prototype;return typeof n!="object"?false:n===Object.prototype?true:typeof e.hasOwnProperty=="function"&&Object.prototype.hasOwnProperty.call(e,"isPrototypeOf")&&typeof e.isPrototypeOf=="function"}function ve(t){if(Array.isArray(t)){let n=[];for(var e=0;e<t.length;e++)n[e]=ve(t[e]);return n}else if(P(t)&&t){let n={};for(var r in t)t.hasOwnProperty(r)&&(n[r]=ve(t[r]));return n}else return t}Object.getSize=function(t,e=false){if(!t||typeof t!="object")return 0;if(Array.isArray(t))return t.length;typeof e!="boolean"&&(e=false);let r=0;for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)&&(r++,e===true))return r;return r};function ae(t,...e){let r=Array.isArray(t),n=P(t);(t==null||!r&&!n)&&(t={});for(let a=0;a<e.length;a++){let i=e[a];if(i==null)continue;let o=P(i),l=Array.isArray(i);if(!(!o&&!l)){if(r){l&&Qe(t,i);continue}else if(l)continue;for(let s in i){let u=i[s];if(u==null)continue;if(u===i){t[s]=t;continue}let c=t[s],y=Array.isArray(c),f=Array.isArray(u);if(y){f?Qe(t[s],u):t[s]=u;continue}else if(!P(c)){t[s]=u;continue}if(f||!P(u)){t[s]=u;continue}t[s]=ae({},c,u);}}}return t}var Qe=(t,e)=>{let r=e.length,n=0;for(let a=0;a<t.length;a++){let i=t[a],o=e[a];if(a<r){let l=Array.isArray(i),s=Array.isArray(o),u=P(i),c=P(o);l&&s||u&&c?(t[n]=ae(l?[]:{},i,o),n++):o!=null?(t[n]=o,n++):i!=null&&(t[n]=i,n++);}}for(let a=t.length;a<r;a++)e[a]!==void 0&&e[a]!==null&&t.push(e[a]);return t};function pe(t,e){return ge(t,"",{},e)}function ge(t,e="",r={},n){if(r=P(r)?r:{},re(t)||le(t)||ne(t)||Array.isArray(t)&&(n!=null&&n.skipArrays))return e&&(r[e]=t),r;if(typeof t=="function"||typeof t=="object"&&!P(t)&&!Pt(t))return r;if(t instanceof Map||t instanceof WeakMap)return Array.from(t.entries()).forEach(([a,i])=>{let o=e?`${e}[${String(a)}]`:String(a);ge(i,o,r,n);}),r;if(Array.isArray(t)||t instanceof Set||t instanceof WeakSet)return (Array.isArray(t)?t:Array.from(t)).forEach((i,o)=>{let l=e?`${e}[${o}]`:String(o);ge(i,l,r,n);}),r;if(P(t))for(let a in t){if(!Object.prototype.hasOwnProperty.call(t,a))continue;let i=t[a],o=e?e.endsWith("]")?`${e}.${a}`:`${e}.${a}`:a;ge(i,o,r,n);}return r}function Pt(t){return Array.isArray(t)||t instanceof Set||t instanceof Map||t instanceof WeakMap||t instanceof WeakSet}function vt(t){return Object.entries(t)}Object.typedEntries=vt;Object.flatten=pe;Object.clone=ve;function ue(t,e){if(t==null)return "";if(typeof t=="string")return t;if((typeof t=="number"||typeof t=="object"&&t instanceof Number)&&typeof t.formatNumber=="function")return t.formatNumber();if(t instanceof Date||typeof t=="object"&&t!==null&&t.constructor===Date)return typeof t.toFormat=="function"?t.toFormat():t.toISOString();if(t instanceof Error)return `Error: ${t.message}`;if(ne(t))return t.toString();if(re(t))return String(t);if(Array.isArray(t))return JSON.stringify(t);if(typeof t=="object"&&t!==null){if(typeof t.toString=="function"&&t.toString!==Object.prototype.toString)return t.toString();if(typeof t.toString=="function"){let r=t.toString();if(r!=="[object Object]")return r}return JSON.stringify(t)}return typeof(t==null?void 0:t.toString)=="function"?t.toString():String(t)}function Je(t,e,r){let n=(r==null?void 0:r.valueFormatter)||ue,a=g(t);if(!P(e)||!e)return a;let i=(r==null?void 0:r.tagRegex)||/%\{([^}]+)\}/g,o=new Set,l,s=g(t);for(;(l=i.exec(s))!==null;){let u=l[1];u!==void 0&&o.add(u);}return o.forEach(u=>{if(r!=null&&r.tagRegex){let C=new RegExp(r.tagRegex.source,r.tagRegex.flags);[...s.matchAll(C)].forEach(N=>{let O=N[0];if(!N[1])return;let x=N[1],D=Object.prototype.hasOwnProperty.call(e,x)?e[x]:void 0,v=D===void 0?"":(()=>{try{return n(D,x,ue)}catch(I){return ue(D)}})(),V=O.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");a=a.replace(new RegExp(V,"g"),v);});return}let c=`%{${u}}`,y=Object.prototype.hasOwnProperty.call(e,u)?e[u]:void 0,f=y===void 0?"":(()=>{try{return n(y,u,ue)}catch(C){return ue(y)}})(),h=c.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");a=a.replace(new RegExp(h,"g"),f);}),a}var k=class k{constructor(e={},r={}){this.locale="en";this._locales=["en"];this._fallbackLocale="en";this._translations={};this.namespaceResolvers={};this._namespacesLoaded={};this._hasDefaultTranslations=false;m(r.locale)&&(this.locale=r.locale),m(r.fallbackLocale)&&(this._fallbackLocale=r.fallbackLocale),typeof r.interpolate=="function"&&(this.interpolateFunc=r.interpolate),this._hasDefaultTranslations||(this.registerTranslations(Me),this._hasDefaultTranslations=true),e&&this.registerTranslations(e),this.loadNamespaces();}static[Symbol.hasInstance](e){return this.isI18nInstance(e)}static isI18nInstance(e){return !e||typeof e!="object"?false:e.constructor&&e.constructor.name==="I18n"?true:typeof e.getLocale=="function"&&typeof e.translate=="function"&&typeof e.translateClass=="function"&&typeof e.registerTranslations=="function"&&typeof e.loadNamespace=="function"&&typeof e.registerNamespaceResolver=="function"}static getInstance(e){if(!k.instance){let r=k.getLocaleFromSession(),n=Object.assign({locale:r||"en"},e);k.instance=new k({},n);}return k.instance}static createInstance(e={},r={}){return new k(e,r)}static flattenObject(e){return P(e)?pe(e):e}static getLocaleFromSession(){let e=U.get("i18n.locale");return m(e)?e:void 0}static registerMomentLocale(e,r){return m(e)&&P(r)&&Array.isArray(r.months)&&(this.momentLocales[e]=ae({},this.momentLocales[e],r)),this.momentLocales}static getClassTanslationKeys(e){return me(e,qe)}translate(e,r){var o;r=r||{};let n=g(r==null?void 0:r.locale,this.getLocale()),a=Array.isArray(e)?e:[e],i;for(let l of a){if(!m(l))continue;let s=this.lookup(l,n);if(s===void 0&&n!==this._fallbackLocale&&(s=this.lookup(l,this._fallbackLocale)),s!==void 0){i=s;break}}if(i===void 0)return r.defaultValue!==void 0?r.defaultValue:this.missingTranslation(e,r);if(typeof r.count=="number"&&P(i)){let l=r.count,s="other";l===0&&i.zero!==void 0?s="zero":l===1&&i.one!==void 0&&(s="one"),i[s]!==void 0?i=i[s]:i.other&&(i=i.other);}return typeof i=="string"&&(M(r.count)&&!r.countStr&&(r.countStr=typeof((o=r.count)==null?void 0:o.formatNumber)=="function"?r.count.formatNumber():r.count.toString()),i=this.performInterpolation(i,r)),i}t(e,r){return this.translate(e,r)}has(e,r){let n=r||this.getLocale(),a=Array.isArray(e)?e:[e];for(let i of a)if(this.lookup(i,n)!==void 0)return true;return false}getLocale(){return this.locale}setLocale(e,r=false){return Y(this,null,function*(){return this.locale===e&&r!==true&&this._namespacesLoaded[e]?this.locale:(yield this.loadNamespaces(e),this.locale=e,this.isDefaultInstance()&&k.setLocaleToSession(e),this.setMomentLocale(e),this.locale)})}setLocales(e){return this._locales=Array.isArray(e)?e:["en"],this._locales.includes("en")||this._locales.push("en"),this.getLocales()}getLocales(){let e=Object.keys(this._translations),r=Array.isArray(this._locales)?this._locales:["en"],n=[...e,...r.filter(a=>!e.includes(a))];return Array.from(new Set(n))}hasLocale(e){return m(e)&&this.getLocales().includes(e)}isDefaultInstance(){return this===k.instance}registerTranslations(e){return this._translations=ae({},this._translations,e),this._translations}getTranslations(e){return m(e)?this._translations[e]||{}:this._translations}registerNamespaceResolver(e,r){if(!m(e)||typeof r!="function"){console.warn("Invalid arguments for registerNamespaceResolver.");return}this.namespaceResolvers[e]=r;}loadNamespace(e,r,n=true){return !m(e)||!this.namespaceResolvers[e]?Promise.reject(new Error(`Invalid namespace or resolver for namespace "${e}".`)):(r=g(r,this.getLocale()),m(r)?this.namespaceResolvers[e](r).then(a=>{let i={};return i[r]=Object.assign({},a),P(a)&&n!==false&&this.registerTranslations(i),i}):Promise.reject(new Error(`Locale is not set. Cannot load namespace "${e}".`)))}loadNamespaces(e,r=true){return Y(this,null,function*(){e=g(e,this.getLocale());let n=[],a={};for(let o in this.namespaceResolvers)Object.prototype.hasOwnProperty.call(this.namespaceResolvers,o)&&n.push(this.namespaceResolvers[o](e).then(l=>{ae(a,l);}));yield Promise.all(n);let i={};return i[e]=a,r!==false&&this.registerTranslations(i),this._namespacesLoaded[e]=true,i})}get(e,r){r=g(r,this.getLocale());let n=(m(e)?e.trim().split("."):Array.isArray(e)?e:[]).filter(m);if(!n.length)return;let a=this.getTranslations(r);for(let i of n)if(P(a))a=a[i];else return;return a}translateClass(e,r){let n=k.getClassTanslationKeys(e);for(let a in n)m(n[a])&&(n[a]=this.translate(n[a],r));return n}translateObject(e,r){if(!P(e))return {};let n={};for(let a in e){let i=e[a];m(i)&&(n[a]=this.translate(i,r));}return n}applyTranslations(e){try{let r=Object.getOwnPropertyNames(e);for(let n of r){let a=Reflect.getMetadata(qe,e,n);if(a)try{e[n]=this.translate(a);}catch(i){q.error(i," resolving translation for key : ",a," on object : ",e);}}}catch(r){q.error(r," resolving translations for object : ",e);}}missingTranslation(e,r){let n=g(Array.isArray(e)?e.filter(m)[0]:g(e));return typeof this.missingPlaceholder=="function"?this.missingPlaceholder(this,n,g(r==null?void 0:r.defaultValue),r):n}lookup(e,r){let n=this._translations[r];if(!n)return;if(Object.prototype.hasOwnProperty.call(n,e))return n[e];let a=e.split("."),i=n;for(let o of a)if(P(i)&&Object.prototype.hasOwnProperty.call(i,o))i=i[o];else return;return i}performInterpolation(e,r){let n=pe(r);return this.interpolateFunc?this.interpolateFunc(this,e,r):this.defaultInterpolator(e,n)}defaultInterpolator(e,r){return Je(e,r,{tagRegex:/%\{([^}]+)\}/g})}static setLocaleToSession(e){U.set("i18n.locale",e);}getMomentLocale(e){return k.momentLocales[e]}setMomentLocale(e){try{return X__default.default.updateLocale(e,this.getMomentLocale(e)),!0}catch(r){console.error(r," setting moment locale : ",e);}return false}};k.momentLocales={};var Z=k,be=Z.getInstance();var qe=Symbol("TRANSLATION_KEY");function Q(t){return !!(t==null||typeof t=="undefined"||typeof t=="string"&&t===""||Array.isArray(t)&&!t.length)}var T=class T{static parseString(e,r){if(m(e)&&m(r))try{let n=X__default.default(e,r,!0);if(n.isValid())return {date:n.toDate(),matchedFormat:r,isValid:!0}}catch(n){}try{if(Array.isArray(r)&&(r!=null&&r.length))for(let n of r){let a=Xe(e,n);if(a)return a}for(let n of T.DATE_FORMATS){let a=Xe(e,n);if(a)return a}return {date:null,matchedFormat:null,isValid:!1,error:"Unable to parse date string with any known format"}}catch(n){return {date:null,matchedFormat:null,isValid:false,error:n instanceof Error?n.message:"Unknown error occurred while parsing date"}}}static toIsoString(e){let r=e?T.parseDate(e):new Date;return r?r.toISOString():""}static isoStringToDate(e){return new Date(e)}static parseDate(e,r){if(T.isDateObj(e))return e;if(!m(r)){let n=T.parseString(e);return n!=null&&n.isValid?n.date:null}if(Q(e))return null;try{let n=X__default.default(e,r,!0);if(n!=null&&n.isValid())return n.toDate()}catch(n){console.error(n," parsing date with moment : ",e," format is : ",r);}return null}static toSQLDateTimeFormat(e){if(!T.isDateObj(e))return "";let r=e.getFullYear(),n=String(e.getMonth()+1).padStart(2,"0"),a=String(e.getDate()).padStart(2,"0"),i=String(e.getHours()).padStart(2,"0"),o=String(e.getMinutes()).padStart(2,"0"),l=String(e.getSeconds()).padStart(2,"0");return `${r}-${n}-${a} ${i}:${o}:${l}`}static getI18n(e){return Z.isI18nInstance(e)?e:Z.getInstance()}static getDefaultDateTimeFormat(e){return g(this.getI18n(e).get("dates.defaultDateTimeFormat"),"YYYY-MM-DD HH:mm")}static getDefaultDateFormat(e){return g(this.getI18n(e).get("dates.defaultDateFormat"),"YYYY-MM-DD")}static toSQLDateFormat(e){if(!T.isDateObj(e))return "";let r=e.getFullYear(),n=String(e.getMonth()+1).padStart(2,"0"),a=String(e.getDate()).padStart(2,"0");return `${r}-${n}-${a}`}static toSQLTimeFormat(e){if(!T.isDateObj(e))return "";let r=String(e.getHours()).padStart(2,"0"),n=String(e.getMinutes()).padStart(2,"0"),a=String(e.getSeconds()).padStart(2,"0");return `${r}:${n}:${a}`}static getDefaultTimeFormat(e){return g(this.getI18n(e).get("dates.defaultTimeFormat"),"HH:mm")}static isValidDate(e,r){if(e==null||typeof e=="boolean")return false;if(T.isDateObj(e))return true;if(M(e)){let a=new Date(e);return a&&!isNaN(a.getTime())}if(m(e))return !!T.parseDate(e,r);if(e!=null&&e.toString&&(e==null?void 0:e.toString())==parseInt(e).toString())return false;let n=new Date(e);return T.isDateObj(n)}static addToDate(e,r,n){if(M(e)||(e=0),Q(r)&&(r=new Date),T.isValidDate(r)&&m(r)&&(r=new Date(r)),T.isValidDate(r)||(r=m(r)?new Date(r):new Date),m(n)&&typeof r["set"+n]=="function"&&typeof r["get"+n]=="function"){let a="set"+n,i="get"+n;r=new Date(r[a](r[i]()+e));}return r}static addDays(e,r){return T.addToDate(e,r,"Date")}static addMilliseconds(e,r){return M(e)||(e=0),T.isDateObj(r)||(r=new Date),r=r||new Date,new Date(r.getTime()+e)}static addSeconds(e,r){return M(e)||(e=0),T.addMilliseconds(e*1e3,r)}static addMinutes(e,r){return M(e)||(e=0),T.addMilliseconds(e*6e4,r)}static addHours(e,r){return M(e)||(e=0),T.addMilliseconds(e*36e5,r)}static addMonths(e,r,n){return T.addToDate(e,r,"Month")}static addWeeks(e,r){return e=(M(e)?e:0)*7,T.addToDate(e,r,"Date")}static addYears(e,r){M(e)||(e=0);let n=new Date(T.addToDate(0,r)),a=n.getFullYear();return a+e<0?e=0:e+=a,n.setFullYear(e),new Date(n)}static formatDate(e,r){try{let n=X__default.default(e);if(n.isValid())return n.format(g(r,T.getDefaultDateTimeFormat()))}catch(n){}return g(T.isValidDate(e)?e==null?void 0:e.toString():"")}static getUTCDateTimeDetails(e){let r=e?X__default.default.utc(e):X__default.default.utc();return {year:r.year(),day:r.day(),month:r.month(),monthString:r.format("MM"),hours:r.hours(),date:r.date(),minutes:r.minutes(),seconds:r.seconds(),monthName:r.format("MMMM"),dayName:r.format("dddd"),dayNameShort:r.format("ddd")}}};T.DATE_FORMATS=["YYYY-MM-DD","YYYY-MM-DDTHH:mm:ss","YYYY-MM-DDTHH:mm:ssZ","YYYY-MM-DDTHH:mm:ss.SSSZ","YYYY-MM-DDTHH:mm:ss[Z]","YYYY-MM-DDTHH:mm:ss.SSS[Z]","YYYY-MM-DDTHH:mm:ss.SSSZ ","YYYY-MM-DDTHH:mm:ss.SSS","YYYY-MM-DD HH:mm:ss","YYYY-MM-DD HH:mm:ss.SSSZ","YYYY-MM-DDTHH:mm:ss.SSS[Z]","YYYY-MM-DD HH:mm:ssZ","YYYY-MM-DD HH:mmZ","MM/DD/YYYY","MM-DD-YYYY","MM.DD.YYYY","MM/DD/YY","MMMM DD, YYYY","MMM DD, YYYY","DD/MM/YYYY","DD-MM-YYYY","DD.MM.YYYY","DD/MM/YY","DD MMMM YYYY","DD MMM YYYY","HH:mm:ss.SSSZ","HH:mm:ssZ","HH:mmZ","YYYYMMDD","YYYYMMDDTHHMM","YYYYMMDDTHHMMSS","HH:mm:ss","HH:mm","hh:mm A","h:mm A","HH:mm:ss.SSS","YYYY-DDD","YYYY-Www","YYYY-Www-D","YYYY/MM/DD","YYYY.MM.DD","MMM D, YYYY","MMMM D, YYYY","D MMM YYYY","D MMMM YYYY","MMM D YYYY","ddd, DD MMM YYYY HH:mm:ss ZZ","ddd, DD MMM YYYY HH:mm:ss","dddd, MMMM D, YYYY","dddd, D MMMM YYYY","hh:mm:ss A","H:mm:ss","YYYY-[W]WW","YYYY-[W]WW-E","YYYY-MM-DDTHH:mm:ss.SSS","DD-MM-YYYY HH:mm:ss","YYYY/MM/DD HH:mm:ss","YYYY.MM.DD HH:mm:ss","DD/MM/YYYY HH:mm:ss","MMM D YYYY, h:mm a","MMMM D YYYY, h:mm a","h:mm A MMM D, YYYY","MMMM D, YYYY","YY-MM-DD","DD-MM-YY","MM/DD/YY","MMM DD, YY","D MMM YY","D MMMM YY","YYYY MMM D","YYYY-MM-DD HH:mm","YYYY-MM-DD HH:mm:ss.SSS"],T.SQL_DATE_FORMAT="YYYY-MM-DD",T.SQL_DATE_TIME_FORMAT="YYYY-MM-DD HH:mm:ss",T.SQL_TIME_FORMAT="HH:mm:ss",T.getCurrentMonthDaysRange=e=>{let r=T.isValidDate(e)?new Date(e):new Date().resetHours2Minutes2Seconds(),n=new Date(r.getFullYear(),r.getMonth(),1),a=new Date(r.getFullYear(),r.getMonth()+1,0);return {first:n,last:a}},T.getPreviousWeekDaysRange=e=>{let r=T.isValidDate(e)?new Date(e):new Date().resetHours2Minutes2Seconds(),n=new Date(r.getTime()-3600*24*7*1e3),a=new Date(n),i=n.getDay(),o=n.getDate()-i+(i===0?-6:1),l=new Date(n.setDate(o)),s=new Date(a.setDate(o+6));return {first:l,last:s}},T.getCurrentWeekDaysRange=e=>{let r=T.isValidDate(e)?new Date(e):new Date().resetHours2Minutes2Seconds(),n=r.getDay(),a=r.getDate()-n+(n==0?-6:1),i=new Date(r),o=new Date(r.setDate(a));return i.setDate(i.getDate()+6),{first:o,last:i}},T.isDateObj=le;var w=T,Xe=(t,e)=>{let r=X__default.default(t,e,true);try{if(r.isValid()&&r.format(e)===t||X__default.default.utc(r,!0).format(e)===t)return {date:r.toDate(),matchedFormat:e,isValid:!0}}catch(n){}return null};Date.prototype.toSQLDateTimeFormat=function(){return w.toSQLDateTimeFormat(this)};Date.prototype.toSQLDateFormat=function(){return w.toSQLDateFormat(this)};Date.prototype.toSQLTimeFormat=function(){return w.toSQLTimeFormat(this)};Date.prototype.resetHours=function(){return this.setHours(0),this};Date.prototype.resetMinutes=function(){return this.setMinutes(0),this};Date.prototype.resetSeconds=function(){return this.setSeconds(0),this};Date.prototype.resetMilliseconds=function(){return this.setMilliseconds(0),this};Date.prototype.resetHours2Minutes2Seconds=function(){return this.setHours(0),this.setMinutes(0),this.setSeconds(0),this.setMilliseconds(0),this};Date.prototype.toFormat=function(t){return w.formatDate(this,t)};Date.prototype.addYears=function(t){return w.addYears(t,this)};Date.prototype.addMonths=function(t){return w.addMonths(t,this)};Date.prototype.addMinutes=function(t){return w.addMinutes(t,this)};Date.prototype.addSeconds=function(t){return w.addSeconds(t,this)};Date.prototype.addDays=function(t){return w.addDays(t,this)};Date.prototype.addWeeks=function(t){return w.addWeeks(t,this)};Date.prototype.addHours=function(t){return w.addHours(t,this)};var $=class ${static get logger(){let e=Reflect.getMetadata($.loggerMetaData,$);return _e(e)&&(this._logger=e),this._logger?this._logger:console}static set logger(e){_e(e)&&Reflect.defineMetadata($.loggerMetaData,e,$);}static _log(e,...r){let n=$.logger;e=g(e),e&&typeof n[e]=="function"?n[e]($.getDateTimeString(),...r):console.log("Logger level not found : [",e,"]",...r);}static getDateTimeString(){let{day:e,year:r,hours:n,minutes:a,seconds:i,dayNameShort:o,monthName:l}=w.getUTCDateTimeDetails(),s=e<10?"0"+e:e,u=n<10?"0"+n:n,c=a<10?"0"+a:a,y=i<10?"0"+i:i;return "["+[o,s,l,r].join(" ")+" "+[u,c,y].join(":")+"]"}static log(...e){this._log("log",...e);}static info(...e){this._log("info",...e);}static debug(...e){this._log("debug",...e);}static warn(...e){this._log("warn",...e);}static error(...e){this._log("error",...e);}};$.loggerMetaData=Symbol("logger-meta-data");var q=$,_e=t=>{if(!t)return false;try{return ["warn","info","error"].every(e=>typeof t[e]=="function")}catch(e){return false}};var et=function(t,e=""){if(!t||typeof t!="string")return "";if(!e||typeof e!="string")return t.trim();let r=t.length;for(;t.startsWith(e)&&r>=0;)t=t.slice(e.length),--r;return t.toString()},tt=function(t,e=""){if(!t||typeof t!="string")return "";if(!e||typeof e!="string")return t.trim();let r=t.length;for(;t.endsWith(e)&&r>=0;)t=t.slice(0,-e.length),--r;return t.toString()},Vt=(t,e=true)=>typeof t!="string"?false:e!==false?/^\d*\.?\d+$/.test(t):/^\d+$/.test(t);String.prototype.ltrim=function(t){return et(this.toString(),t)};String.prototype.rtrim=function(t){return tt(this.toString(),t)};String.prototype.isNumber=function(t=true){return Vt(this.toString(),t)};String.prototype.replaceAll=function(t,e){return !m(t)||!m(e)?this.toString():this.toString().split(t).join(e)};var Ot=t=>m(t)?(t=t.trim(),t.replace(/(.)([A-Z][a-z]+)/,"$1_$2").replace(/([a-z0-9])([A-Z])/,"$1_$2").toUpperCase()):"";String.prototype.toSnakeCase=function(){return Ot(this.toString())};var wt=t=>m(t)?(t=t.trim(),t.charAt(0)+t.replace(/(_\w)/g,e=>e[1].toUpperCase()).substring(1)):"";String.prototype.toCamelCase=function(){return wt(this.toString())};var Et=function(t){return !t||typeof t!="string"?"":(t=t.trim(),t.charAt(0).toUpperCase()+t.slice(1))};String.prototype.upperFirst=function(){return Et(this.toString())};var Ae=function(t){return !t||typeof t!="string"?"":(t=t.trim(),t.charAt(0).toLowerCase()+t.slice(1))};String.prototype.lowerFirst=function(){return Ae(this.toString())};var G={USD:{symbol:"$",name:"US Dollar",symbolNative:"$",decimalDigits:2,rounding:0,code:"USD",namePlural:"US dollars"},CAD:{symbol:"CA$",name:"Canadian Dollar",symbolNative:"$",decimalDigits:2,format:"%s %v",rounding:0,code:"CAD",namePlural:"Canadian dollars"},EUR:{symbol:"\u20AC",name:"Euro",symbolNative:"\u20AC",decimalDigits:2,rounding:0,code:"EUR",namePlural:"euros"},AED:{symbol:"AED",name:"United Arab Emirates Dirham",symbolNative:"\u062F.\u0625.\u200F",decimalDigits:2,rounding:0,code:"AED",namePlural:"UAE dirhams"},AFN:{symbol:"Af",name:"Afghan Afghani",symbolNative:"\u060B",decimalDigits:0,rounding:0,code:"AFN",namePlural:"Afghan Afghanis"},ALL:{symbol:"ALL",name:"Albanian Lek",symbolNative:"Lek",decimalDigits:0,rounding:0,code:"ALL",namePlural:"Albanian lek\xEB"},AMD:{symbol:"AMD",name:"Armenian Dram",symbolNative:"\u0564\u0580.",decimalDigits:0,rounding:0,code:"AMD",namePlural:"Armenian drams"},ARS:{symbol:"AR$",name:"Argentine Peso",symbolNative:"$",decimalDigits:2,rounding:0,code:"ARS",namePlural:"Argentine pesos"},AUD:{symbol:"AU$",name:"Australian Dollar",symbolNative:"$",decimalDigits:2,rounding:0,code:"AUD",namePlural:"Australian dollars"},AZN:{symbol:"man.",name:"Azerbaijani Manat",symbolNative:"\u043C\u0430\u043D.",decimalDigits:2,rounding:0,code:"AZN",namePlural:"Azerbaijani manats"},BAM:{symbol:"KM",name:"Bosnia-Herzegovina Convertible Mark",symbolNative:"KM",decimalDigits:2,rounding:0,code:"BAM",namePlural:"Bosnia-Herzegovina convertible marks"},BDT:{symbol:"Tk",name:"Bangladeshi Taka",symbolNative:"\u09F3",decimalDigits:2,rounding:0,code:"BDT",namePlural:"Bangladeshi takas"},BGN:{symbol:"BGN",name:"Bulgarian Lev",symbolNative:"\u043B\u0432.",decimalDigits:2,rounding:0,code:"BGN",namePlural:"Bulgarian leva"},BHD:{symbol:"BD",name:"Bahraini Dinar",symbolNative:"\u062F.\u0628.\u200F",decimalDigits:2,rounding:0,code:"BHD",namePlural:"Bahraini dinars"},BIF:{symbol:"FBu",name:"Burundian Franc",symbolNative:"FBu",decimalDigits:0,rounding:0,code:"BIF",namePlural:"Burundian francs"},BND:{symbol:"BN$",name:"Brunei Dollar",symbolNative:"$",decimalDigits:2,rounding:0,code:"BND",namePlural:"Brunei dollars"},BOB:{symbol:"Bs",name:"Bolivian Boliviano",symbolNative:"Bs",decimalDigits:2,rounding:0,code:"BOB",namePlural:"Bolivian bolivianos"},BRL:{symbol:"R$",name:"Brazilian Real",symbolNative:"R$",decimalDigits:2,rounding:0,code:"BRL",namePlural:"Brazilian reals"},BWP:{symbol:"BWP",name:"Botswanan Pula",symbolNative:"P",decimalDigits:2,rounding:0,code:"BWP",namePlural:"Botswanan pulas"},BYR:{symbol:"BYR",name:"Belarusian Ruble",symbolNative:"BYR",decimalDigits:0,rounding:0,code:"BYR",namePlural:"Belarusian rubles"},BZD:{symbol:"BZ$",name:"Belize Dollar",symbolNative:"$",decimalDigits:2,rounding:0,code:"BZD",namePlural:"Belize dollars"},CDF:{symbol:"CDF",name:"Congolese Franc",symbolNative:"FrCD",decimalDigits:2,rounding:0,code:"CDF",namePlural:"Congolese francs"},CHF:{symbol:"CHF",name:"Swiss Franc",symbolNative:"CHF",decimalDigits:2,rounding:.05,code:"CHF",namePlural:"Swiss francs"},CLP:{symbol:"CL$",name:"Chilean Peso",symbolNative:"$",decimalDigits:0,rounding:0,code:"CLP",namePlural:"Chilean pesos"},CNY:{symbol:"CN\xA5",name:"Chinese Yuan",symbolNative:"CN\xA5",decimalDigits:2,rounding:0,code:"CNY",namePlural:"Chinese yuan"},COP:{symbol:"CO$",name:"Colombian Peso",symbolNative:"$",decimalDigits:0,rounding:0,code:"COP",namePlural:"Colombian pesos"},CRC:{symbol:"\u20A1",name:"Costa Rican Col\xF3n",symbolNative:"\u20A1",decimalDigits:0,rounding:0,code:"CRC",namePlural:"Costa Rican col\xF3ns"},CVE:{symbol:"CV$",name:"Cape Verdean Escudo",symbolNative:"CV$",decimalDigits:2,rounding:0,code:"CVE",namePlural:"Cape Verdean escudos"},CZK:{symbol:"K\u010D",name:"Czech Republic Koruna",symbolNative:"K\u010D",decimalDigits:2,rounding:0,code:"CZK",namePlural:"Czech Republic korunas"},DJF:{symbol:"Fdj",name:"Djiboutian Franc",symbolNative:"Fdj",decimalDigits:0,rounding:0,code:"DJF",namePlural:"Djiboutian francs"},DKK:{symbol:"Dkr",name:"Danish Krone",symbolNative:"kr",decimalDigits:2,rounding:0,code:"DKK",namePlural:"Danish kroner"},DOP:{symbol:"RD$",name:"Dominican Peso",symbolNative:"RD$",decimalDigits:2,rounding:0,code:"DOP",namePlural:"Dominican pesos"},DZD:{symbol:"DA",name:"Algerian Dinar",symbolNative:"\u062F.\u062C.\u200F",decimalDigits:2,rounding:0,code:"DZD",namePlural:"Algerian dinars"},EEK:{symbol:"Ekr",name:"Estonian Kroon",symbolNative:"kr",decimalDigits:2,rounding:0,code:"EEK",namePlural:"Estonian kroons"},EGP:{symbol:"EGP",name:"Egyptian Pound",symbolNative:"\u062C.\u0645.\u200F",decimalDigits:2,rounding:0,code:"EGP",namePlural:"Egyptian pounds"},ERN:{symbol:"Nfk",name:"Eritrean Nakfa",symbolNative:"Nfk",decimalDigits:2,rounding:0,code:"ERN",namePlural:"Eritrean nakfas"},ETB:{symbol:"Br",name:"Ethiopian Birr",symbolNative:"Br",decimalDigits:2,rounding:0,code:"ETB",namePlural:"Ethiopian birrs"},GBP:{symbol:"\xA3",name:"British Pound Sterling",symbolNative:"\xA3",decimalDigits:2,rounding:0,code:"GBP",namePlural:"British pounds sterling"},GEL:{symbol:"GEL",name:"Georgian Lari",symbolNative:"GEL",decimalDigits:2,rounding:0,code:"GEL",namePlural:"Georgian laris"},GHS:{symbol:"GH\u20B5",name:"Ghanaian Cedi",symbolNative:"GH\u20B5",decimalDigits:2,rounding:0,code:"GHS",namePlural:"Ghanaian cedis"},GNF:{symbol:"FG",name:"Guinean Franc",symbolNative:"FG",decimalDigits:0,rounding:0,code:"GNF",namePlural:"Guinean francs"},GTQ:{symbol:"GTQ",name:"Guatemalan Quetzal",symbolNative:"Q",decimalDigits:2,rounding:0,code:"GTQ",namePlural:"Guatemalan quetzals"},HKD:{symbol:"HK$",name:"Hong Kong Dollar",symbolNative:"$",decimalDigits:2,rounding:0,code:"HKD",namePlural:"Hong Kong dollars"},HNL:{symbol:"HNL",name:"Honduran Lempira",symbolNative:"L",decimalDigits:2,rounding:0,code:"HNL",namePlural:"Honduran lempiras"},HRK:{symbol:"kn",name:"Croatian Kuna",symbolNative:"kn",decimalDigits:2,rounding:0,code:"HRK",namePlural:"Croatian kunas"},HUF:{symbol:"Ft",name:"Hungarian Forint",symbolNative:"Ft",decimalDigits:0,rounding:0,code:"HUF",namePlural:"Hungarian forints"},IDR:{symbol:"Rp",name:"Indonesian Rupiah",symbolNative:"Rp",decimalDigits:0,rounding:0,code:"IDR",namePlural:"Indonesian rupiahs"},ILS:{symbol:"\u20AA",name:"Israeli New Sheqel",symbolNative:"\u20AA",decimalDigits:2,rounding:0,code:"ILS",namePlural:"Israeli new sheqels"},INR:{symbol:"Rs",name:"Indian Rupee",symbolNative:"\u099F\u0995\u09BE",decimalDigits:2,rounding:0,code:"INR",namePlural:"Indian rupees"},IQD:{symbol:"IQD",name:"Iraqi Dinar",symbolNative:"\u062F.\u0639.\u200F",decimalDigits:0,rounding:0,code:"IQD",namePlural:"Iraqi dinars"},IRR:{symbol:"IRR",name:"Iranian Rial",symbolNative:"\uFDFC",decimalDigits:0,rounding:0,code:"IRR",namePlural:"Iranian rials"},ISK:{symbol:"Ikr",name:"Icelandic Kr\xF3na",symbolNative:"kr",decimalDigits:0,rounding:0,code:"ISK",namePlural:"Icelandic kr\xF3nur"},JMD:{symbol:"J$",name:"Jamaican Dollar",symbolNative:"$",decimalDigits:2,rounding:0,code:"JMD",namePlural:"Jamaican dollars"},JOD:{symbol:"JD",name:"Jordanian Dinar",symbolNative:"\u062F.\u0623.\u200F",decimalDigits:2,rounding:0,code:"JOD",namePlural:"Jordanian dinars"},JPY:{symbol:"\xA5",name:"Japanese Yen",symbolNative:"\uFFE5",decimalDigits:0,rounding:0,code:"JPY",namePlural:"Japanese yen"},KES:{symbol:"Ksh",name:"Kenyan Shilling",symbolNative:"Ksh",decimalDigits:2,rounding:0,code:"KES",namePlural:"Kenyan shillings"},KHR:{symbol:"KHR",name:"Cambodian Riel",symbolNative:"\u17DB",decimalDigits:2,rounding:0,code:"KHR",namePlural:"Cambodian riels"},KMF:{symbol:"CF",name:"Comorian Franc",symbolNative:"FC",decimalDigits:0,rounding:0,code:"KMF",namePlural:"Comorian francs"},KRW:{symbol:"\u20A9",name:"South Korean Won",symbolNative:"\u20A9",decimalDigits:0,rounding:0,code:"KRW",namePlural:"South Korean won"},KWD:{symbol:"KD",name:"Kuwaiti Dinar",symbolNative:"\u062F.\u0643.\u200F",decimalDigits:2,rounding:0,code:"KWD",namePlural:"Kuwaiti dinars"},KZT:{symbol:"KZT",name:"Kazakhstani Tenge",symbolNative:"\u0442\u04A3\u0433.",decimalDigits:2,rounding:0,code:"KZT",namePlural:"Kazakhstani tenges"},LBP:{symbol:"LB\xA3",name:"Lebanese Pound",symbolNative:"\u0644.\u0644.\u200F",decimalDigits:0,rounding:0,code:"LBP",namePlural:"Lebanese pounds"},LKR:{symbol:"SLRs",name:"Sri Lankan Rupee",symbolNative:"SL Re",decimalDigits:2,rounding:0,code:"LKR",namePlural:"Sri Lankan rupees"},LTL:{symbol:"Lt",name:"Lithuanian Litas",symbolNative:"Lt",decimalDigits:2,rounding:0,code:"LTL",namePlural:"Lithuanian litai"},LVL:{symbol:"Ls",name:"Latvian Lats",symbolNative:"Ls",decimalDigits:2,rounding:0,code:"LVL",namePlural:"Latvian lati"},LYD:{symbol:"LD",name:"Libyan Dinar",symbolNative:"\u062F.\u0644.\u200F",decimalDigits:2,rounding:0,code:"LYD",namePlural:"Libyan dinars"},MAD:{symbol:"MAD",name:"Moroccan Dirham",symbolNative:"\u062F.\u0645.\u200F",decimalDigits:2,rounding:0,code:"MAD",namePlural:"Moroccan dirhams"},MDL:{symbol:"MDL",name:"Moldovan Leu",symbolNative:"MDL",decimalDigits:2,rounding:0,code:"MDL",namePlural:"Moldovan lei"},MGA:{symbol:"MGA",name:"Malagasy Ariary",symbolNative:"MGA",decimalDigits:0,rounding:0,code:"MGA",namePlural:"Malagasy Ariaries"},MKD:{symbol:"MKD",name:"Macedonian Denar",symbolNative:"MKD",decimalDigits:2,rounding:0,code:"MKD",namePlural:"Macedonian denari"},MMK:{symbol:"MMK",name:"Myanma Kyat",symbolNative:"K",decimalDigits:0,rounding:0,code:"MMK",namePlural:"Myanma kyats"},MOP:{symbol:"MOP$",name:"Macanese Pataca",symbolNative:"MOP$",decimalDigits:2,rounding:0,code:"MOP",namePlural:"Macanese patacas"},MUR:{symbol:"MURs",name:"Mauritian Rupee",symbolNative:"MURs",decimalDigits:0,rounding:0,code:"MUR",namePlural:"Mauritian rupees"},MXN:{symbol:"MX$",name:"Mexican Peso",symbolNative:"$",decimalDigits:2,rounding:0,code:"MXN",namePlural:"Mexican pesos"},MYR:{symbol:"RM",name:"Malaysian Ringgit",symbolNative:"RM",decimalDigits:2,rounding:0,code:"MYR",namePlural:"Malaysian ringgits"},MZN:{symbol:"MTn",name:"Mozambican Metical",symbolNative:"MTn",decimalDigits:2,rounding:0,code:"MZN",namePlural:"Mozambican meticals"},NAD:{symbol:"N$",name:"Namibian Dollar",symbolNative:"N$",decimalDigits:2,rounding:0,code:"NAD",namePlural:"Namibian dollars"},NGN:{symbol:"\u20A6",name:"Nigerian Naira",symbolNative:"\u20A6",decimalDigits:2,rounding:0,code:"NGN",namePlural:"Nigerian nairas"},NIO:{symbol:"C$",name:"Nicaraguan C\xF3rdoba",symbolNative:"C$",decimalDigits:2,rounding:0,code:"NIO",namePlural:"Nicaraguan c\xF3rdobas"},NOK:{symbol:"Nkr",name:"Norwegian Krone",symbolNative:"kr",decimalDigits:2,rounding:0,code:"NOK",namePlural:"Norwegian kroner"},NPR:{symbol:"NPRs",name:"Nepalese Rupee",symbolNative:"\u0928\u0947\u0930\u0942",decimalDigits:2,rounding:0,code:"NPR",namePlural:"Nepalese rupees"},NZD:{symbol:"NZ$",name:"New Zealand Dollar",symbolNative:"$",decimalDigits:2,rounding:0,code:"NZD",namePlural:"New Zealand dollars"},OMR:{symbol:"OMR",name:"Omani Rial",symbolNative:"\u0631.\u0639.\u200F",decimalDigits:2,rounding:0,code:"OMR",namePlural:"Omani rials"},PAB:{symbol:"B/.",name:"Panamanian Balboa",symbolNative:"B/.",decimalDigits:2,rounding:0,code:"PAB",namePlural:"Panamanian balboas"},PEN:{symbol:"S/.",name:"Peruvian Nuevo Sol",symbolNative:"S/.",decimalDigits:2,rounding:0,code:"PEN",namePlural:"Peruvian nuevos soles"},PHP:{symbol:"\u20B1",name:"Philippine Peso",symbolNative:"\u20B1",decimalDigits:2,rounding:0,code:"PHP",namePlural:"Philippine pesos"},PKR:{symbol:"PKRs",name:"Pakistani Rupee",symbolNative:"\u20A8",decimalDigits:0,rounding:0,code:"PKR",namePlural:"Pakistani rupees"},PLN:{symbol:"z\u0142",name:"Polish Zloty",symbolNative:"z\u0142",decimalDigits:2,rounding:0,code:"PLN",namePlural:"Polish zlotys"},PYG:{symbol:"\u20B2",name:"Paraguayan Guarani",symbolNative:"\u20B2",decimalDigits:0,rounding:0,code:"PYG",namePlural:"Paraguayan guaranis"},QAR:{symbol:"QR",name:"Qatari Rial",symbolNative:"\u0631.\u0642.\u200F",decimalDigits:2,rounding:0,code:"QAR",namePlural:"Qatari rials"},RON:{symbol:"RON",name:"Romanian Leu",symbolNative:"RON",decimalDigits:2,rounding:0,code:"RON",namePlural:"Romanian lei"},RSD:{symbol:"din.",name:"Serbian Dinar",symbolNative:"\u0434\u0438\u043D.",decimalDigits:0,rounding:0,code:"RSD",namePlural:"Serbian dinars"},RUB:{symbol:"RUB",name:"Russian Ruble",symbolNative:"\u0440\u0443\u0431.",decimalDigits:2,rounding:0,code:"RUB",namePlural:"Russian rubles"},RWF:{symbol:"RWF",name:"Rwandan Franc",symbolNative:"FR",decimalDigits:0,rounding:0,code:"RWF",namePlural:"Rwandan francs"},SAR:{symbol:"SR",name:"Saudi Riyal",symbolNative:"\u0631.\u0633.\u200F",decimalDigits:2,rounding:0,code:"SAR",namePlural:"Saudi riyals"},SDG:{symbol:"SDG",name:"Sudanese Pound",symbolNative:"SDG",decimalDigits:2,rounding:0,code:"SDG",namePlural:"Sudanese pounds"},SEK:{symbol:"Skr",name:"Swedish Krona",symbolNative:"kr",decimalDigits:2,rounding:0,code:"SEK",namePlural:"Swedish kronor"},SGD:{symbol:"S$",name:"Singapore Dollar",symbolNative:"$",decimalDigits:2,rounding:0,code:"SGD",namePlural:"Singapore dollars"},SOS:{symbol:"Ssh",name:"Somali Shilling",symbolNative:"Ssh",decimalDigits:0,rounding:0,code:"SOS",namePlural:"Somali shillings"},SYP:{symbol:"SY\xA3",name:"Syrian Pound",symbolNative:"\u0644.\u0633.\u200F",decimalDigits:0,rounding:0,code:"SYP",namePlural:"Syrian pounds"},THB:{symbol:"\u0E3F",name:"Thai Baht",symbolNative:"\u0E3F",decimalDigits:2,rounding:0,code:"THB",namePlural:"Thai baht"},TND:{symbol:"DT",name:"Tunisian Dinar",symbolNative:"\u062F.\u062A.\u200F",decimalDigits:2,rounding:0,code:"TND",namePlural:"Tunisian dinars"},TOP:{symbol:"T$",name:"Tongan Pa\u02BBanga",symbolNative:"T$",decimalDigits:2,rounding:0,code:"TOP",namePlural:"Tongan pa\u02BBanga"},TRY:{symbol:"TL",name:"Turkish Lira",symbolNative:"TL",decimalDigits:2,rounding:0,code:"TRY",namePlural:"Turkish Lira"},TTD:{symbol:"TT$",name:"Trinidad and Tobago Dollar",symbolNative:"$",decimalDigits:2,rounding:0,code:"TTD",namePlural:"Trinidad and Tobago dollars"},TWD:{symbol:"NT$",name:"New Taiwan Dollar",symbolNative:"NT$",decimalDigits:2,rounding:0,code:"TWD",namePlural:"New Taiwan dollars"},TZS:{symbol:"TSh",name:"Tanzanian Shilling",symbolNative:"TSh",decimalDigits:0,rounding:0,code:"TZS",namePlural:"Tanzanian shillings"},UAH:{symbol:"\u20B4",name:"Ukrainian Hryvnia",symbolNative:"\u20B4",decimalDigits:2,rounding:0,code:"UAH",namePlural:"Ukrainian hryvnias"},UGX:{symbol:"USh",name:"Ugandan Shilling",symbolNative:"USh",decimalDigits:0,rounding:0,code:"UGX",namePlural:"Ugandan shillings"},UYU:{symbol:"$U",name:"Uruguayan Peso",symbolNative:"$",decimalDigits:2,rounding:0,code:"UYU",namePlural:"Uruguayan pesos"},UZS:{symbol:"UZS",name:"Uzbekistan Som",symbolNative:"UZS",decimalDigits:0,rounding:0,code:"UZS",namePlural:"Uzbekistan som"},VEF:{symbol:"Bs.F.",name:"Venezuelan Bol\xEDvar",symbolNative:"Bs.F.",decimalDigits:2,rounding:0,code:"VEF",namePlural:"Venezuelan bol\xEDvars"},VND:{symbol:"\u20AB",name:"Vietnamese Dong",symbolNative:"\u20AB",decimalDigits:0,rounding:0,code:"VND",namePlural:"Vietnamese dong"},XAF:{symbol:"FCFA",name:"CFA Franc BEAC",symbolNative:"FCFA",decimalDigits:0,rounding:0,code:"XAF",namePlural:"francs CFA"},XOF:{symbol:"CFA",name:"CFA Franc BCEAO",symbolNative:"CFA",decimalDigits:0,rounding:0,code:"XOF",namePlural:"francs CFA"},YER:{symbol:"YR",name:"Yemeni Rial",symbolNative:"\u0631.\u064A.\u200F",decimalDigits:0,rounding:0,code:"YER",namePlural:"Yemeni rials"},ZAR:{symbol:"R",name:"South African Rand",symbolNative:"R",decimalDigits:2,rounding:0,code:"ZAR",namePlural:"South African rand"},ZMK:{symbol:"ZK",name:"Zambian Kwacha",symbolNative:"ZK",decimalDigits:0,rounding:0,code:"ZMK",namePlural:"Zambian kwachas"}};var j=t=>t&&typeof t=="object"&&!Array.isArray(t)&&t.name&&typeof t.name=="string"&&t.symbol&&typeof t.symbol=="string";var rt="%v %s",Ve=t=>{let e=U.get("currencyFormat");return e&&typeof e=="string"&&e.includes("%v")?e:t!==false?rt:""};function nt(t){return t=t&&typeof t=="string"?t.trim():"",U.set("currencyFormat",t)}var It=t=>{if(!j(t)){let r=typeof t=="object"&&t&&!Array.isArray(t)?g(t.code,t.name):typeof t=="string"?t:void 0;r&&(r=r.trim().toUpperCase()),r&&j(G[r])?t=G[r]:typeof t=="string"&&(r=t.trim().toUpperCase(),j(G[r])&&(t=G[r]));}let e=Object.assign({},t);if(!e.format){let r=Ve();r&&(e.format=r);}return e.format&&nt(e.format),U.set("appConfigCurrency",e),e},Yt=()=>{var a,i,o,l;let t=Object.assign({},U.get("appConfigCurrency")),e=U.get("currencyCode");if(m(e)&&j(G[e.trim().toUpperCase()])&&(t=d(d({},G[e.trim().toUpperCase()]),t)),!m(t==null?void 0:t.format)){let s=Ve(false);m(s)&&s.includes("%v")&&(t.format=s);}let n=G["USD"];return d(d({symbol:n.symbol,format:(a=n.format)!=null?a:"%v %s",decimalSeparator:(i=n.decimalSeparator)!=null?i:".",thousandSeparator:(o=n.thousandSeparator)!=null?o:",",decimalDigits:(l=n.decimalDigits)!=null?l:0},Object.assign({},be.get("currencies"))),t)},J={getFormat:Ve,setFormat:nt,setCurrency:It,getCurrency:Yt,defaultCurrencyFormat:rt};var Lt=t=>t&&typeof t=="object";function we(t){let e=Object.assign({},J.getCurrency());if(t&&Lt(t))for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&t[r]!==void 0&&(e[r]=t[r]);if(m(e.format)){let r=ot(e.format);r.format&&(e.format=r.format),typeof r.decimalDigits=="number"&&(e.decimalDigits=r.decimalDigits);}return e}function Ee(t,e){return t=typeof t=="number"?t:0,e=typeof e=="number"?e:0,t=Math.round(Math.abs(t)),isNaN(t)?e:t}function kt(t){let e=J.getCurrency(),r=(e==null?void 0:e.format).toLowerCase();return typeof t=="string"&&(t=t.toLowerCase()),(typeof t!="string"||!t.match("%v"))&&(t=r),{pos:t,neg:t.replace("-","").replace("%v","-%v"),zero:t}}var he=(t,e)=>{let r=J.getCurrency();if(t=t||0,typeof t=="number")return t;e=e||r.decimalSeparator;let n=new RegExp("[^0-9-"+e+"]","g"),a=parseFloat((""+t).replace(/\((?=\d+)(.*)\)/,"-$1").replace(n,"").replace(e,"."));return isNaN(a)?0:a},Oe=(t,e)=>{let r=J.getCurrency();e=Ee(e,r.decimalDigits);let a=String(t).replace(/[^\d.-]/g,"");if(a.length>15&&!a.includes("."))return a+"."+"0".repeat(e);try{let i=Number(a);if(isNaN(i))return "NaN";let o=+(i+"e"+e);return (+(Math.round(o)+"e-"+e)).toFixed(e)}catch(i){return "NaN"}},at=(t,e,r,n)=>{var y;t=he(t);let a=j(e)?e:J.getCurrency();typeof e=="number"&&(a.decimalDigits=e),typeof a.decimalDigits!="number"&&(a.decimalDigits=(y=String(t).split(".")[1])==null?void 0:y.length),r!==void 0&&(a.thousandSeparator=r),n!==void 0&&(a.decimalSeparator=n);let i=we(a),o=Ee(i.decimalDigits),l=t<0?"-":"",s=parseInt(Oe(Math.abs(t||0),o),10)+"",u=s.length>3?s.length%3:0,c="";if(o){let f=String(parseFloat(Oe(Math.abs(t),o))||0);f.includes(".")&&(c=g(f.split(".")[1]).trim());}return l+(u?s.substring(0,u)+i.thousandSeparator:"")+s.substring(u).replace(/(\d{3})(?=\d)/g,"$1"+i.thousandSeparator)+(o&&c?i.decimalSeparator+c:"")},it=(t,e,r,n,a,i)=>{t=he(t);let o=j(e)?e:J.getCurrency();e!==void 0&&typeof e=="string"&&(o.symbol=e),r!==void 0&&(o.decimalDigits=r),n!==void 0&&(o.thousandSeparator=n),a!==void 0&&(o.decimalSeparator=a),m(i)&&(o.format=i);let l=we(o),s=kt(l.format),u=g(t>0?s.pos:t<0?s.neg:s.zero),c=g(l.symbol),y=u.replace(c&&"%s",c),f=at(Math.abs(t),Ee(l.decimalDigits),l.thousandSeparator,l.decimalSeparator),h=y.replace("%v",f);return p(d({},l),{formattedValue:y,formattedNumber:f,symbol:l.symbol,usedFormat:u,result:h})},Ft=(t,e,r,n,a,i)=>it(t,e,r,n,a,i).result,ot=t=>{t=g(t).trim();let e={};if(t){let r=/(\.)(\#{0,9}\s*$)/,n=t.match(r);Array.isArray(n)&&n.length===3&&(e.decimalDigits=g(n[2]).trim().length),t=t.replace(r,"");}return e.format=t,e},ie={parse:he,session:J,formatMoney:Ft,currencies:G,isCurrency:j,formatNumber:at,formatMoneyAsObject:it,unformat:he,toFixed:Oe,prepareOptions:we,parseFormat:ot};var{currencies:st}=ie;Number.prototype.countDecimals=function(){let t=String(this.toString()).match(/\.(\d+)/);return t?t[1].length:0};Number.prototype.formatNumber=function(t,e,r){return ie.formatNumber(this.valueOf(),t,e,r)};Number.prototype.formatMoney=function(t,e,r,n,a){return ie.formatMoney(this.valueOf(),t,e,r,n,a)};var Bt=(t,e,r,n)=>{var N;if(t===null||typeof t!="number"||isNaN(t))return {result:"",format:"",suffix:"",formattedValue:"",minAbreviationDecimalDigits:0,value:NaN};if(!isFinite(t)){let O=t>0?"\u221E":"-\u221E";return {result:O,value:t,format:"",suffix:"",formattedValue:O,minAbreviationDecimalDigits:0}}let a=Math.abs(t)<1e3,i=[{value:1e12,suffix:"T"},{value:1e9,suffix:"B"},{value:1e6,suffix:"M"},{value:1e3,suffix:"K"},{value:1,suffix:""}],o=t.countDecimals?t.countDecimals():Math.floor(t)===t?0:((N=t.toString().split(".")[1])==null?void 0:N.length)||0,l=i.find(O=>Math.abs(t)>=O.value)||i[i.length-1],s=a?t:t/(l.value===1?1:l.value),u=l.suffix,c=Kt(s,5);if(t===0)return {result:"0",value:0,format:"",suffix:"",formattedValue:"0",minAbreviationDecimalDigits:0};let f=M(e)&&e>0?e:l.value===1?Math.min(o,5):Math.max(c,0),h=s.toFixed(f);r=g(r),n=g(n,".");let C=h.toString().split(".");return C[0]=C[0].replace(/\B(?=(\d{3})+(?!\d))/g,r),f>0&&C.length===1?C.push("0".repeat(f)):f>0&&C.length>1&&C[1].length<f&&(C[1]=C[1].padEnd(f,"0")),h=C.join(n),{result:h+u,value:t,format:u,suffix:u,formattedValue:h,minAbreviationDecimalDigits:c}};function Kt(t,e){let r=Math.abs(t);if(Number.isInteger(r))return 0;let n=r.toString().split(".")[1]||"",a=0;for(;a<n.length&&n[a]==="0";)a++;return r<1&&a>0?Math.min(a+e,n.length):Math.min(e,n.length)}var lt=(t,e,r,n)=>Bt(t,e,r,n).result;Number.prototype.abreviate2FormatNumber=function(t,e,r){return lt(this.valueOf(),t,e,r)};var ut=(t,e,r,n,a,i)=>{if(!M(t))return "";let s=ie.formatMoneyAsObject(t,e,r,n,a,i),{formattedValue:o}=s,l=A(s,["formattedValue"]);return o.replace("%v",lt(t,l.decimalDigits,l.thousandSeparator,l.decimalSeparator))};Number.prototype.abreviate2FormatMoney=function(t,e,r,n,a){return ut(this.valueOf(),t,e,r,n,a)};Object.keys(st).forEach(t=>{let e=t,r=st[e],n=`format${e}`,a=`abreviate2Format${e}`;Number.prototype[n]=function(i,o,l,s){return ie.formatMoney(this.valueOf(),r,i,o,l,s)},Number.prototype[a]=function(i,o,l,s){return ut(this.valueOf(),r,i,o,l,s)};});function Ht(t){return g(t).replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/[\b]/g,"\\b").replace(/\f/g,"\\f")}function Ce(t,e){var r=Object.prototype.toString.call(t);return r==="[object "+e+"]"}function _(t,e){if(["boolean","undefined"].includes(typeof t)||t===null)return String(t);if(M(t))return t.formatNumber();if(t instanceof Date)return t.toFormat();if(t instanceof Error)return t==null?void 0:t.toString();e=Object.assign({},e);let{parenthesis:r}=e,n=r?"(":"",a=r?")":"";if(typeof t=="string")return e!=null&&e.escapeString?"'"+Ht(t)+"'":t;if(Ce(t,"RegExp")||Ce(t,"Number")||Ce(t,"Boolean"))return t.toString();if(Ce(t,"Date"))return "new Date("+t.getTime()+")";if(Array.isArray(t))return "["+t.map(i=>_(i,e)).join(",")+"]";if(typeof t=="object"){try{return JSON.stringify(t,null,2)}catch(i){}return n+"{"+Object.keys(t).map(i=>{var o=t[i];return _(i,e)+":"+_(o,e)}).join(",")+"}"+a}return t&&typeof(t==null?void 0:t.toString)=="function"?t==null?void 0:t.toString():String(t)}var oe={optional:Symbol.for("validatorOptionalRuleMarker"),empty:Symbol.for("validatorEmptyRuleMarker"),nullable:Symbol.for("validatorNullableRuleMarker"),ruleName:Symbol.for("validatorRuleNameMarker")};var b=class b{static registerRule(e,r){if(!m(e))throw new Error("Rule name must be a non-empty string");if(typeof r!="function")throw new Error("Rule handler must be a function");let n=b.getRules(),a=p(d({},n),{[e]:r});Reflect.defineMetadata(b.RULES_METADATA_KEY,a,b);}static getRules(){let e=Reflect.getMetadata(b.RULES_METADATA_KEY,b);return P(e)?d({},e):{}}static getRule(e){return this.getRules()[e]}static hasRule(e){return m(e)?!!this.getRule(e):false}static getI18n(e){return Z.isI18nInstance(e==null?void 0:e.i18n)?e.i18n:be}static getErrorMessageSeparators(e){let r=this.getI18n({i18n:e}),n=Object.assign({},r.get("validator.separators"));return {multiple:g(n.multiple,", "),single:g(n.single,", ")}}static parseAndValidateRules(e){let r=[],n=this.getRules(),a=[],i=Array.isArray(e)?e:[];for(let o of i)if(typeof o=="function")r.push(o);else if(m(o)){let l=this.parseStringRule(o,n);l?r.push(l):a.push(o);}else if(P(o)&&typeof o=="object"){let l=this.parseObjectRule(o,n);l.length&&r.push(...l);}return {sanitizedRules:r,invalidRules:a}}static parseStringRule(e,r){let n=String(e).trim(),a=[],i=r[n];return typeof i=="function"?{ruleName:n,params:a,ruleFunction:i}:null}static parseFunctionRule(e){var n;let r=(n=zt(e))!=null?n:e.name;return {ruleFunction:e,ruleName:r,params:[]}}static parseObjectRule(e,r){let n=[];if(!P(e))return n;if(this.isSanitizedRuleObject(e))return n.push(e),n;for(let a in e)if(Object.hasOwnProperty.call(e,a)){let i=a;if(typeof r[i]!="function")continue;let o=r[i],l=e[i];Array.isArray(l)?n.push({ruleName:i,ruleFunction:o,params:l}):P(l)&&(l!=null&&l.params)&&Array.isArray(l.params)&&n.push(p(d({},l),{ruleName:i,ruleFunction:o}));}return n}static isSanitizedRuleObject(e){if(!P(e))return false;let r=e;return typeof r.ruleFunction=="function"&&typeof r.ruleName=="string"&&Array.isArray(r.params)}static translateRuleConfigMessage({message:e,i18n:r,validateOptions:n}){if(!e)return "";if(m(e))return r.has(e)?r.t(e,n):e;if(typeof e=="function")try{return e(n)}catch(a){return q.log(b.name," Error generated when running custom translate rule message ",n.ruleName,n.ruleParams,a),""}return ""}static validate(n){return Y(this,null,function*(){var a=n,{rules:e}=a,r=A(a,["rules"]);let i=this.getI18n(r),o=Date.now(),{sanitizedRules:l,invalidRules:s}=b.parseAndValidateRules(e),u=b.getErrorMessageSeparators(i),{value:c,context:y,data:f}=r,h=this.getI18nTranslateOptions(r),C=p(d({},h),{context:y,value:c,data:f});if(s.length){let S=s.map(N=>i.t("validator.invalidRule",p(d({},h),{rule:m(N)?N:"unnamed rule"}))).join(u.multiple);return b.createError(S,{value:c,startTime:o,fieldName:r.fieldName,propertyName:r.propertyName,translatedPropertyName:r.translatedPropertyName,ruleParams:[],ruleName:"N/A"})}return !l.length||this.shouldSkipValidation({value:c,rules:l})?De(C,o):(r.fieldName=r.propertyName=g(r.fieldName,r.propertyName),new Promise(S=>{let N=-1,O=l.length,x=function(){return Y(this,null,function*(){if(N++,N>=O)return S(De(C,o));let D=l[N],v,V=[],I,L=typeof D=="function"?D:void 0;if(b.isSanitizedRuleObject(D))L=D.ruleFunction,V=Array.isArray(D.params)?D.params:[],v=D.ruleName,I=D.message;else if(typeof D=="function"){let R=b.parseFunctionRule(D);R?v=R.ruleName:v=D.name;}let B=p(d({value:c,rules:e},h),{rule:g(v),ruleName:v,ruleParams:V}),H={value:c,startTime:o,fieldName:r.fieldName,propertyName:r.propertyName,translatedPropertyName:r.translatedPropertyName,ruleParams:V,ruleName:g(v)},F=p(d(p(d({},r),{data:f!=null?f:Object.assign({},f),startTime:o}),B),{ruleName:g(v),value:c,i18n:i}),ee=R=>{if(b.isError(R))return S(R);let Re="";if(R!==true&&I&&(Re=b.translateRuleConfigMessage({message:I,i18n:i,validateOptions:F})),m(Re))return S(b.createError(Re,H));if(R=typeof R=="string"?m(R)?R:i.t("validator.invalidMessage",B):R,R===false){let Te=i.t("validator.invalidMessage",B);return S(b.createError(Te,H))}else {if(m(R))return S(b.createError(R,H));if(R instanceof Error||m(R==null?void 0:R.message)||m(R)){let Te=_(R,{escapeString:false});return S(b.createError(Te,H))}}return x()};if(typeof L!="function"){let R=i.t("validator.invalidRule",B);return S(b.createError(R,H))}try{let R=yield L(F);return ee(R)}catch(R){return ee(typeof R=="string"?R:(R==null?void 0:R.message)||(R==null?void 0:R.toString())||_(R,{escapeString:false}))}})};return x()}))})}static shouldSkipValidation({value:e,rules:r}){if(Q(e)){let n={IsEmpty:{validate:a=>a==="",symbol:oe.empty},Nullable:{validate:a=>a==null,symbol:oe.nullable},Optional:{validate:a=>a===void 0,symbol:oe.optional}};for(let a of r){let i=typeof a=="object"&&a?a.ruleFunction:typeof a=="function"?a:void 0;if(typeof i=="function")for(let o in n){let l=n[o];if($t(i,l.symbol)&&l.validate(e))return true}}}return false}static validateOneOfRule(e){return this.validateMultiRule("OneOf",e)}static validateAllOfRule(e){return this.validateMultiRule("AllOf",e)}static validateArrayOfRule(e){return Y(this,null,function*(){let x=e,{value:r,ruleParams:n,startTime:a,message:i}=x,o=A(x,["value","ruleParams","startTime","message"]);a=M(a)?a:Date.now();let l=Array.isArray(n)?n:[],s=this.getI18n(o);if(!Array.isArray(r))return s.t("validator.array",p(d({field:o.translatedPropertyName||o.fieldName,value:r},o),{context:void 0}));if(l.length===0||r.length===0)return true;let{multiple:u,single:c}=this.getErrorMessageSeparators(s),y=[];for(let D=0;D<r.length;D++){let v=r[D],V=yield b.validateMultiRule("AllOf",d({value:v,ruleParams:l,startTime:a},o));V!==true&&y.push({index:D,message:String(V)});}if(y.length===0)return true;let f=y.map(D=>D.index),h=y.length,C,S=s.t("validator.separators.multiple");if(h<=3)C=f.join(S);else {let D=f.slice(0,3),v=h-3,V=s.t("validator.itemListOverflow",{count:v});C=`${D.join(S)}${S}${V}`;}if(i){let D=this.getI18nTranslateOptions(o),v=b.translateRuleConfigMessage({message:i,i18n:s,validateOptions:p(d(d({},o),D),{context:o.context,value:r,ruleName:"ArrayOf",ruleParams:n!=null?n:[],i18n:s,failures:y,failedIndices:f,itemCount:h,itemList:C,totalCount:r.length})});if(m(v))return v}let N=s.t("validator.arrayValidationFailed",{count:y.length,itemCount:h,items:C,totalCount:r.length}),O=y.map(D=>s.t("validator.arrayItemError",{index:D.index,message:D.message})).join(u);return `${N}${c}${O}`})}static validateIfRule(e){return Y(this,null,function*(){var x;let O=e,{resolver:r,startTime:n,message:a}=O,i=A(O,["resolver","startTime","message"]),{value:o,data:l,context:s,fieldName:u,propertyName:c,translatedPropertyName:y}=i,f=this.getI18n(i),h=yield r({value:o,data:l,context:s,fieldName:u,propertyName:c,translatedPropertyName:y,i18n:f});if(!h)return true;let C,S;if(Array.isArray(h)){if(h.length===0)return true;C=h,S=a;}else {if(C=h.rules,!C||C.length===0)return true;S=(x=h.message)!=null?x:a;}let N=yield b.validate(p(d({},i),{value:o,rules:C,i18n:f}));if(N.success)return true;if(S){let D=this.getI18nTranslateOptions(i),v=b.translateRuleConfigMessage({message:S,i18n:f,validateOptions:p(d(d({},i),D),{value:o,ruleName:"If",ruleParams:[],i18n:f})});if(m(v))return v}return N.message})}static getI18nTranslateOptions(l){var s=l,{fieldName:e,propertyName:r,fieldLabel:n,translatedPropertyName:a,context:i}=s,o=A(s,["fieldName","propertyName","fieldLabel","translatedPropertyName","context"]);e=g(e,r),n=g(n,a,e);let u={fieldLabel:n,translatedPropertyName:g(a,n),propertyName:g(r,e),fieldName:e};return "value"in o&&(u.value=o.value),u}static validateNestedRule(n){return Y(this,null,function*(){var a=n,{ruleParams:e}=a,r=A(a,["ruleParams"]);let C=r,{startTime:i,value:o}=C,l=A(C,["startTime","value"]);i=M(i)?i:Date.now();let s=this.getI18n(l),c=(Array.isArray(e)?e:[])[0],y=p(d({rule:"ValidateNested"},this.getI18nTranslateOptions(l)),{startTime:i,value:o});if(!c)return s.t("validator.invalidRule",y);if(typeof o!="object"||o===null||Array.isArray(o)){let S=Array.isArray(o)?"array":o===void 0?"undefined":o===null?"null":typeof o;return s.t("validator.validateNestedInvalidType",p(d({},y),{receivedType:S}))}let f=yield this.validateClass(c,p(d({},r),{data:o,parentData:l.data,startTime:i}));if(f.success)return true;let h=this.translateNestedErrorResult(f,s);if(r.message){let S=b.translateRuleConfigMessage({message:r.message,i18n:s,validateOptions:p(d(d({},l),y),{value:o,ruleName:"ValidateNested",ruleParams:e!=null?e:[],i18n:s,nestedErrors:h})});if(m(S))return S}return s.t("validator.validateNested",d({nestedErrors:h},y))})}static translateNestedErrorResult(e,r){let n=e.errors||[],a=this.getI18n({i18n:r}),i=Object.assign({separator:"; ",prefix:"",suffix:""},a.get("validator.nestedErrors")),o=g(i.separator,"; "),l=g(i.prefix,""),s=g(i.suffix,"");return `${l}${n.map(u=>{var c;return `[${(c=u.translatedPropertyName)!=null?c:u.propertyName}]: ${u.message}`}).join(o)}${s}`}static validateMultiRule(e,l){return Y(this,null,function*(){var s=l,{value:r,ruleParams:n,startTime:a,message:i}=s,o=A(s,["value","ruleParams","startTime","message"]);a=M(a)?a:Date.now();let u=Array.isArray(n)?n:[],c=this.getI18n(o),y=e==="AllOf";if(u.length===0)return true;let f=[],h=[],C=null;for(let S of u){let N=yield b.validate(p(d({value:r},o),{rules:[S],i18n:c}));if(N.success){if(!y)return true;C!=null||(C=N);}else h.push(N),m(N.message)&&f.push(N.message);}if(!y&&C||h.length===0)return true;if(i){let S=this.getI18nTranslateOptions(o),N=b.translateRuleConfigMessage({message:i,i18n:c,validateOptions:p(d(d({},o),S),{value:r,ruleName:e,ruleParams:n!=null?n:[],i18n:c})});if(m(N))return N}return c.t(`validator.${Ae(e)}`,p(d({},this.getI18nTranslateOptions(o)),{value:r,ruleName:e,rules:[e],rule:e,ruleParams:[],failedRulesErrors:f.join("; ")}))})}static oneOf(e){return function(n){return b.validateOneOfRule(p(d({},n),{ruleParams:e}))}}static allOf(e){return function(n){return b.validateAllOfRule(p(d({},n),{ruleParams:e}))}}static arrayOf(e){return function(n){return b.validateArrayOfRule(p(d({},n),{ruleParams:e}))}}static if(e){return function(n){return b.validateIfRule(p(d({},n),{resolver:e}))}}static validateNested(e){return function(n){return b.validateNestedRule(p(d({},n),{ruleParams:[e]}))}}static validateClass(e,r){return Y(this,null,function*(){let n=Date.now(),a=b.getClassRules(e),O=Object.assign({},b.getValidatorClassOptions(e),r),{context:i,errorMessageBuilder:o}=O,l=A(O,["context","errorMessageBuilder"]),s=Object.assign({},r.data),u=this.getI18n(r),c=b.getErrorMessageSeparators(u),y=typeof o=="function"?o:(x,D)=>`[${String(x)}] : ${D}`,f=[],h={},C=[],N=u.translateClass(e,{data:s});for(let x in a){let D=a[x],{sanitizedRules:v}=this.parseAndValidateRules(D),V=Object.prototype.hasOwnProperty.call(s,x)?s[x]:void 0;if(this.shouldSkipValidation({value:V,rules:v}))continue;let I=g(N[x],x);C.push(b.validate(p(d({context:i},l),{i18n:u,value:V,data:s,translatedPropertyName:I,fieldName:x,propertyName:x,rules:v,fieldLabel:I})).then(L=>{if(L.success);else {let B=g(L.message),H=b.createError(B,{propertyName:x,translatedPropertyName:I,ruleParams:[],ruleName:"validateClass",startTime:n,value:V}),F=y(I,B,p(d({},H),{propertyName:String(x),separators:c,data:s,translatedPropertyName:I,i18n:u,cause:L}));h[x]=F,f.push(p(d({},H),{cause:L}));}return L}));}return new Promise(x=>Promise.all(C).then(()=>{if(!f.length)x(p(d({},De({data:s,value:void 0,context:i},n)),{message:void 0,status:"success",data:s}));else {let v=new Map;f.forEach(F=>{let ee=F.translatedPropertyName||F.fieldName||F.propertyName||"unknown";v.set(F.propertyName||F.fieldName||"unknown",ee);});let V=Array.from(v.values()),I=V.length,L,B=u.t("validator.separators.multiple");if(I<=3)L=V.join(B);else {let F=V.slice(0,3),ee=I-3,R=u.t("validator.fieldListOverflow",{count:ee});L=`${F.join(B)}${B}${R}`;}let H=u.translate("validator.classValidationFailed",{count:f.length,fieldCount:I,fields:L});x(b.createClassError(H,{startTime:n,errors:f,fieldErrors:h,failureCount:f.length,duration:Date.now()-n,data:s}));}}))})}static validateObject(e,r,n){return Y(this,null,function*(){let a={};Reflect.defineMetadata(de,r,a);let i=yield this.validateClass(a,p(d({},n),{data:e}));return p(d({},i),{data:e})})}static object(e){let r={};return Reflect.defineMetadata(de,e,r),{schema:r,validate:(n,a)=>this.validateObject(n,e,a)}}static validateBulk(e,i){return Y(this,null,function*(){var o=i,{data:r,startTime:n}=o,a=A(o,["data","startTime"]);let l=this.getI18n(a);n=M(n)?n:Date.now();let s=[];if(!Array.isArray(r))return this.createBulkError(l.t("validator.invalidBulkData"),{startTime:n,failures:s,totalCount:0});let u=r.map((c,y)=>Y(this,null,function*(){let f=yield b.validateClass(e,p(d({},a),{data:c,startTime:n}));return f.success!==true&&s.push(p(d({},f),{index:y+1})),f}));if(yield Promise.all(u),s.length>0){let c=s.length,y=r.length,f=c===y?"validator.bulkValidationAllFailed":"validator.bulkValidationFailed";return b.createBulkError(l.t(f,{count:c,failureCount:c,totalCount:y}),{failures:s,startTime:n,totalCount:y})}return {name:"ValidatorSuccessResult",duration:Date.now()-n,validatedAt:new Date,data:r,status:"success",success:true}})}static getClassRules(e){return typeof e=="function"?me(e,de):Object.assign({},Reflect.getMetadata(de,e))}static getValidatorClassOptions(e){return Object.assign({},Reflect.getMetadata(Ut,e)||{})}static buildRuleDecorator(e,r,n){return r&&this._prepareRuleDecorator(e,r,n),(...a)=>this.createPropertyDecoratorFromRule(a,e,r,n)}static buildRuleArrayDecorator(e,r,n){return r&&this._prepareRuleDecorator(e,r,n),a=>this.createPropertyDecoratorFromRule(a,e,r,n)}static isSuccess(e){return P(e)&&e.success===true&&e.status=="success"&&e.name=="ValidatorSuccessResult"}static getBaseError({startTime:e}){return {__validatorBaseName:"ValidatorBaseError",failedAt:new Date,startTime:e,duration:Date.now()-e,success:false,status:"error",statusCode:400,errorCode:"ERR_VALIDATION_FAILED"}}static isBaseError(e){return P(e)?e.__validatorBaseName==="ValidatorBaseError"&&e.success===false&&e.failedAt&&e.statusCode===400&&e.errorCode==="ERR_VALIDATION_FAILED":false}static createError(e,r){return p(d(d({},this.getBaseError(r)),r),{failedAt:new Date,message:e,name:"ValidatorError"})}static createClassError(e,r){return p(d(d({},this.getBaseError(r)),r),{message:e,name:"ValidatorClassError",failedAt:new Date})}static createBulkError(e,r){let n=Array.isArray(r.failures)?r.failures:[];return p(d(d({},this.getBaseError(r)),r),{failures:n,failureCount:n.length,message:e,name:"ValidatorBulkError",failedAt:new Date})}static isError(e){return this.isBaseError(e)&&e.name=="ValidatorError"}static isClassError(e){return this.isBaseError(e)&&e.name=="ValidatorClassError"}static isBulkError(e){return this.isBaseError(e)&&e.name=="ValidatorBulkError"}static isAnyError(e){return this.isError(e)||this.isClassError(e)||this.isBulkError(e)}static _prepareRuleDecorator(e,r,n){return m(r)&&(b.registerRule(r,e),dt(e,r)),n&&Wt(e,n,{ruleName:r}),e}static createPropertyDecoratorFromRule(e,r,n,a){var i;return this._prepareRuleDecorator(r,n,a),n=g(n,a==null?void 0:a.toString(),r.name,(i=r.constructor)==null?void 0:i.name),dt(r,n),b.buildPropertyDecorator({ruleName:n,ruleFunction:r,params:e})}static buildClassRuleDecorator(e,r){return this.buildRuleDecorator(e,void 0,r)}static buildMultiRuleDecorator(e,r){return n=>this.createPropertyDecoratorFromRule(n,e,void 0,r)}static buildIfRuleDecorator(e,r){return n=>this.createPropertyDecoratorFromRule([n],e,void 0,r)}static buildPropertyDecorator(e){return Se(de,r=>[...Array.isArray(r)?r:[],...Array.isArray(e)?e:[e]])}};b.RULES_METADATA_KEY=Symbol.for("validationRules");var E=b;function De(t,e){return p(d({},t),{status:"success",name:"ValidatorSuccessResult",success:true,validatedAt:new Date,duration:Date.now()-e})}var de=Symbol.for("validatorClassRules"),Ut=Symbol.for("validatorClassOptions");function $t(t,e){if(typeof t!="function")return false;let r=jt(t,e);return !!(r!=null&&r.validatorRuleFuncMarked)}function jt(t,e){return typeof t!="function"?null:Object.assign({},t[e])}function dt(t,e){typeof t=="function"&&(t[oe.ruleName]=e);}function zt(t){if(typeof t=="function"){let e=t[oe.ruleName];return m(e)?e:void 0}}function Wt(t,e,r){var n;typeof t=="function"&&(t[e]=p(d({},r),{validatorRuleFuncMarked:true,ruleName:(n=r==null?void 0:r.ruleName)!=null?n:e}));}var z=t=>{if(Q(t))return NaN;if(typeof t=="number")return t;try{let e=Number(t);return isNaN(e)?NaN:e}catch(e){}return NaN};function se(t,e,l,o){var s=l,{value:r,ruleParams:n,i18n:a}=s,i=A(s,["value","ruleParams","i18n"]);n=Array.isArray(n)?n:[];let u=n||[];e=g(e);let c=a.t(e,p(d({},i),{value:r,ruleParams:n})),y=z(r);r=typeof r=="number"?r:isNaN(y)?NaN:y;let f=z(u[0]);return M(f)?isNaN(r)||u[0]===void 0||isNaN(f)?c:t(r,f)?true:c:a.t("validator.invalidRuleParams",p(d({value:r},i),{rule:o,ruleParams:n}))}var Di=E.buildRuleDecorator(function(e){return se((r,n)=>r<=n,"validator.numberLTE",e,"NumberLTE")},"NumberLTE"),Ri=E.buildRuleDecorator(function(e){return se((r,n)=>r<n,"validator.numberLT",e,"NumberLT")},"NumberLT"),Ti=E.buildRuleDecorator(function(e){return se((r,n)=>r>=n,"validator.numberGTE",e,"NumberGTE")},"NumberGTE"),Si=E.buildRuleDecorator(function(e){return se((r,n)=>r>n,"validator.numberGT",e,"NumberGT")},"NumberGT"),Mi=E.buildRuleDecorator(function(e){return se((r,n)=>r===n,"validator.numberEquals",e,"NumberEQ")},"NumberEQ"),Ni=E.buildRuleDecorator(function(e){return se((r,n)=>r!==n,"validator.numberIsDifferentFrom",e,"NumberNE")},"NumberNE"),xi=E.buildRuleDecorator(function(e){let{value:r,i18n:n}=e;return M(r)||n.t("validator.isNumber",e)},"Number"),Pi=E.buildRuleDecorator(function(l){var s=l,{value:e,ruleParams:r,fieldName:n,translatedPropertyName:a,i18n:i}=s,o=A(s,["value","ruleParams","fieldName","translatedPropertyName","i18n"]);if(!r||r.length<2)return i.t("validator.invalidRuleParams",d({rule:"NumberBetween",field:a||n,ruleParams:r},o));if(!M(e))return i.t("validator.numeric",d({field:a||n,value:e},o));let u=z(r[0]),c=z(r[1]);return isNaN(u)||isNaN(c)||u>c?i.t("validator.invalidRuleParams",d({rule:"NumberBetween",field:a||n,ruleParams:r},o)):e>=u&&e<=c?true:i.t("validator.numberBetween",d({field:a||n,value:e,min:u,max:c},o))},"NumberBetween"),vi=E.buildRuleDecorator(function(l){var s=l,{value:e,ruleParams:r,fieldName:n,translatedPropertyName:a,i18n:i}=s,o=A(s,["value","ruleParams","fieldName","translatedPropertyName","i18n"]);if(!Array.isArray(r)||!r.length)return i.t("validator.invalidRuleParams",d({rule:"DecimalPlaces",field:a||n,ruleParams:r},o));if(!M(e))return i.t("validator.number",d({rule:"DecimalPlaces",field:a||n,value:e,ruleParams:r},o));let u=String(e),c=u.indexOf("."),y=c===-1?0:u.length-c-1,f=false;if(r.length===1){let h=z(r[0]);f=y===h;}else if(r.length===2){let h=z(r[0]),C=z(r[1]);f=!isNaN(h)&&!isNaN(C)&&y>=h&&y<=C;}return f?true:i.t("validator.decimalPlaces",d({field:a||n,value:e,places:r.join("-"),actualPlaces:y},o))},"DecimalPlaces"),Ai=E.buildRuleDecorator(function(o){var l=o,{value:e,fieldName:r,translatedPropertyName:n,i18n:a}=l,i=A(l,["value","fieldName","translatedPropertyName","i18n"]);return !M(e)||!Number.isInteger(e)?a.t("validator.integer",d({field:n||r,value:e},i)):true},"Integer"),Vi=E.buildRuleDecorator(function(o){var l=o,{value:e,fieldName:r,translatedPropertyName:n,i18n:a}=l,i=A(l,["value","fieldName","translatedPropertyName","i18n"]);return M(e)?Number.isInteger(e)?e%2===0?true:a.t("validator.evenNumber",d({field:n||r,value:e},i)):a.t("validator.integer",d({field:n||r,value:e},i)):a.t("validator.number",d({field:n||r,value:e},i))},"EvenNumber"),Oi=E.buildRuleDecorator(function(o){var l=o,{value:e,fieldName:r,translatedPropertyName:n,i18n:a}=l,i=A(l,["value","fieldName","translatedPropertyName","i18n"]);return M(e)?Number.isInteger(e)?e%2!==0?true:a.t("validator.oddNumber",d({field:n||r,value:e},i)):a.t("validator.integer",d({field:n||r,value:e},i)):a.t("validator.number",d({field:n||r,value:e},i))},"OddNumber"),wi=E.buildRuleDecorator(function(l){var s=l,{value:e,ruleParams:r,fieldName:n,translatedPropertyName:a,i18n:i}=s,o=A(s,["value","ruleParams","fieldName","translatedPropertyName","i18n"]);if(!r||!r.length)return i.t("validator.invalidRuleParams",p(d({rule:"MultipleOf",field:a||n},o),{ruleParams:r}));if(!M(e))return i.t("validator.number",d({field:a||n,value:e,ruleParams:r},o));let u=z(r[0]);if(isNaN(u)||u===0)return i.t("validator.invalidRuleParams",d({rule:"MultipleOf",ruleParams:r,field:a||n},o));let c=e%u;return Math.abs(c)<Number.EPSILON?true:i.t("validator.multipleOf",d({field:a||n,value:e,multipleOf:u,ruleParams:r},o))},"MultipleOf");exports.HasDecimalPlaces=vi;exports.IsEvenNumber=Vi;exports.IsInteger=Ai;exports.IsMultipleOf=wi;exports.IsNumber=xi;exports.IsNumberBetween=Pi;exports.IsNumberEQ=Mi;exports.IsNumberGT=Si;exports.IsNumberGTE=Ti;exports.IsNumberLT=Ri;exports.IsNumberLTE=Di;exports.IsNumberNE=Ni;exports.IsOddNumber=Oi;